]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
commit bash-20110930 snapshot
authorChet Ramey <chet.ramey@case.edu>
Mon, 9 Jan 2012 13:29:19 +0000 (08:29 -0500)
committerChet Ramey <chet.ramey@case.edu>
Mon, 9 Jan 2012 13:29:19 +0000 (08:29 -0500)
42 files changed:
CWRU/CWRU.chlog
CWRU/CWRU.chlog~
bashhist.c
bashhist.c~ [new file with mode: 0644]
bashline.c
bashline.c~
doc/bash.0
doc/bash.html
doc/bash.pdf
doc/bash.ps
doc/bashref.aux
doc/bashref.bt
doc/bashref.bts
doc/bashref.cp
doc/bashref.cps
doc/bashref.dvi
doc/bashref.html
doc/bashref.info
doc/bashref.log
doc/bashref.pdf
doc/bashref.ps
doc/bashref.toc
doc/bashref.vr
doc/bashref.vrs
doc/builtins.0
doc/builtins.ps
doc/rbash.0
doc/rbash.ps
execute_cmd.c
execute_cmd.c~
lib/readline/complete.c
lib/readline/complete.c~
lib/readline/doc/rltech.texi
lib/readline/doc/rltech.texi~ [new file with mode: 0644]
lib/readline/doc/version.texi
lib/readline/doc/version.texi~ [new file with mode: 0644]
lib/readline/readline.h
parse.y~ [new file with mode: 0644]
pcomplete.c
pcomplete.c~ [new file with mode: 0644]
po/LINGUAS
po/gl.po [new file with mode: 0644]

index db9cea044285f2875fcd5cc9eefe0411928d2f58..8a25a5116b0e64f66c7dec3a4aed1ab5e309dc43 100644 (file)
@@ -12227,3 +12227,63 @@ doc/{bash.1,bashref.texi}
        - formatting and some content changes from Benno Schulenberg
          <bensberg@justemail.net>
        - document new posix-mode behavior from interp 383 change of 9/22
+
+                                  9/30
+                                  ----
+execute_cmd.c
+       - shell_execve: add strerror to error message about executable file
+         that shell can't execute as a shell script.  From suggestion by
+         daysleeper <daysleeper@centrum.cz>
+
+                                  10/1
+                                  ----
+bashhist.c
+       - maybe_add_history: act as if literal_history is set when parser_state
+         includes PST_HEREDOC, so we save the bodies of here-documents just
+         as they were entered.  Fixes bug reported by Jonathan Wakely
+         <bugs@kayari.org>
+       - bash_add_history: make sure that the second and subsequent lines of
+         a here document don't have extra newlines or other delimiting
+         chars added, since they have the trailing newline preserved, when
+         `lithist' is set and history_delimiting_chars isn't called
+
+execute_cmd.c
+       - execute_command_internal: avoid fd exhaustion caused by using
+         process substitution in loops inside shell functions by using
+         copy_fifo_list and close_new_fifos ().  Fixes debian bash bug
+         642504
+
+lib/readline/complete.c
+       - new variable, rl_filename_stat_hook, used by append_to_match.  If
+         filename completion is desired, and rl_filename_stat_hook points
+         to a function, call that function to expand the filename in an
+         application-specific way before calling stat.
+
+bashline.c
+       - bash_default_completion: if variable completion returns a single
+         match, use bash_filename_stat_hook and file_isdir to determine
+         whether or not the variable name expands to a directory.  If it
+         does, set the filename_append_character to `/'.  This is not
+         perfect, so we will see how it works out.  Adds functionality
+         requested by Peter Toft <pto@linuxbog.dk> and Patrick Pfeifer
+         <patrick@pfeifer.de>
+       - rl_filename_stat_hook: assigned bash_filename_stat_hook, so things
+         like $HOME/Downloads (after completion) have a slash appended.
+         In general, this causes the stat hook to be called whenever
+         filename completion is appended.  Adds functionality requested by
+         Patrick Pfeifer <patrick@pfeifer.de>
+
+lib/readline/readline.h
+       - new extern declaration for rl_filename_stat_hook
+
+lib/readline/doc/rltech.texi
+       - rl_directory_rewrite_hook: now documented
+       - rl_filename_stat_hook: document
+
+pcomplete.c
+       - gen_action_completions: in the CA_DIRECTORY case, turn off
+         rl_filename_completion_desired if it was off before we called
+         rl_filename_completion_function and we didn't get any matches.
+         Having it on causes readline to quote the matches as if they
+         were filenames.  Adds functionality requested by many,
+         including Clark Wang <dearvoid@gmail.com>
index 535d56495a544c66cc86e08846128c07deae3224..340794454428875c313ea08c8233b11e7c5523f7 100644 (file)
@@ -12226,3 +12226,63 @@ execute_command.c
 doc/{bash.1,bashref.texi}
        - formatting and some content changes from Benno Schulenberg
          <bensberg@justemail.net>
+       - document new posix-mode behavior from interp 383 change of 9/22
+
+                                  9/30
+                                  ----
+execute_cmd.c
+       - shell_execve: add strerror to error message about executable file
+         that shell can't execute as a shell script.  From suggestion by
+         daysleeper <daysleeper@centrum.cz>
+
+                                  10/1
+                                  ----
+bashhist.c
+       - maybe_add_history: act as if literal_history is set when parser_state
+         includes PST_HEREDOC, so we save the bodies of here-documents just
+         as they were entered.  Fixes bug reported by Jonathan Wakely
+         <bugs@kayari.org>
+       - bash_add_history: make sure that the second and subsequent lines of
+         a here document don't have extra newlines or other delimiting
+         chars added, since they have the trailing newline preserved, when
+         `lithist' is set and history_delimiting_chars isn't called
+
+execute_cmd.c
+       - execute_command_internal: avoid fd exhaustion caused by using
+         process substitution in loops inside shell functions by using
+         copy_fifo_list and close_new_fifos ().  Fixes debian bash bug
+         642504
+
+lib/readline/complete.c
+       - new variable, rl_filename_stat_hook, used by append_to_match.  If
+         filename completion is desired, and rl_filename_stat_hook points
+         to a function, call that function to expand the filename in an
+         application-specific way before calling stat.
+
+bashline.c
+       - bash_default_completion: if variable completion returns a single
+         match, use bash_filename_stat_hook and file_isdir to determine
+         whether or not the variable name expands to a directory.  If it
+         does, set the filename_append_character to `/'.  This is not
+         perfect, so we will see how it works out.  Adds functionality
+         requested by Peter Toft <pto@linuxbog.dk> and Patrick Pfeifer
+         <patrick@pfeifer.de>
+       - rl_filename_stat_hook: assigned bash_filename_stat_hook, so things
+         like $HOME/Downloads (after completion) have a slash appended.
+         In general, this causes the stat hook to be called whenever
+         filename completion is appended.  Adds functionality requested by
+         Patrick Pfeifer <patrick@pfeifer.de>
+
+lib/readline/readline.h
+       - new extern declaration for rl_filename_stat_hook
+
+lib/readline/doc/rltech.texi
+       - rl_directory_rewrite_hook: now documented
+       - rl_filename_stat_hook: document
+
+pcomplete.c
+       - gen_action_completions: in the CA_DIRECTORY case, turn off
+         rl_filename_completion_desired if it was off before we called
+         rl_filename_completion_function and we didn't get any matches.
+         Having it on causes readline to quote the matches as if they
+         were filenames.
index bf4c66340d48065a8ccc9eaec6ed9bc5921ce385..a8376f4ce3696f2bd062a2415363a2146b335de4 100644 (file)
@@ -1,6 +1,6 @@
 /* bashhist.c -- bash interface to the GNU history library. */
 
-/* Copyright (C) 1993-2010 Free Software Foundation, Inc.
+/* Copyright (C) 1993-2011 Free Software Foundation, Inc.
 
    This file is part of GNU Bash, the Bourne Again SHell.
 
@@ -24,7 +24,7 @@
 
 #if defined (HAVE_UNISTD_H)
 #  ifdef _MINIX
-#    include <sys/types.h>
+ #    include <sys/types.h>
 #  endif
 #  include <unistd.h>
 #endif
@@ -649,8 +649,11 @@ hc_erasedups (line)
    commenting out the rest of the command when the entire command is saved as
    a single history entry (when COMMAND_ORIENTED_HISTORY is enabled).  If
    LITERAL_HISTORY is set, we're saving lines in the history with embedded
-   newlines, so it's OK to save comment lines.  We also make sure to save
-   multiple-line quoted strings or other constructs. */
+   newlines, so it's OK to save comment lines.  If we're collecting the body
+   of a here-document, we should act as if literal_history is enabled, because
+   we want to save the entire contents of the here-document as it was
+   entered.  We also make sure to save multiple-line quoted strings or other
+   constructs. */
 void
 maybe_add_history (line)
      char *line;
@@ -663,7 +666,7 @@ maybe_add_history (line)
   if (current_command_line_count > 1)
     {
       if (current_command_first_line_saved &&
-         (literal_history || dstack.delimiter_depth != 0 || shell_comment (line) == 0))
+         ((parser_state & PST_HEREDOC) || literal_history || dstack.delimiter_depth != 0 || shell_comment (line) == 0))
        bash_add_history (line);
       return;
     }
@@ -736,7 +739,17 @@ bash_add_history (line)
   add_it = 1;
   if (command_oriented_history && current_command_line_count > 1)
     {
-      chars_to_add = literal_history ? "\n" : history_delimiting_chars (line);
+      /* The second and subsequent lines of a here document have the trailing
+        newline preserved.  We don't want to add extra newlines here, but we
+        do want to add one after the first line (which is the command that
+        contains the here-doc specifier).  parse.y:history_delimiting_chars()
+        does the right thing to take care of this for us.  We don't want to
+        add extra newlines if the user chooses to enable literal_history,
+        so we have to duplicate some of what that function does here. */
+      if ((parser_state & PST_HEREDOC) && literal_history && current_command_line_count > 2 && line[strlen (line) - 1] == '\n')
+       chars_to_add = "";
+      else
+       chars_to_add = literal_history ? "\n" : history_delimiting_chars (line);
 
       using_history ();
       current = previous_history ();
diff --git a/bashhist.c~ b/bashhist.c~
new file mode 100644 (file)
index 0000000..ca42c7c
--- /dev/null
@@ -0,0 +1,923 @@
+/* bashhist.c -- bash interface to the GNU history library. */
+
+/* Copyright (C) 1993-2011 Free Software Foundation, Inc.
+
+   This file is part of GNU Bash, the Bourne Again SHell.
+
+   Bash is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   Bash is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with Bash.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "config.h"
+
+#if defined (HISTORY)
+
+#if defined (HAVE_UNISTD_H)
+#  ifdef _MINIX
+ #    include <sys/types.h>
+#  endif
+#  include <unistd.h>
+#endif
+
+#include "bashtypes.h"
+#include <stdio.h>
+#include <errno.h>
+#include "bashansi.h"
+#include "posixstat.h"
+#include "filecntl.h"
+
+#include "bashintl.h"
+
+#if defined (SYSLOG_HISTORY)
+#  include <syslog.h>
+#endif
+
+#include "shell.h"
+#include "flags.h"
+#include "input.h"
+#include "parser.h"    /* for the struct dstack stuff. */
+#include "pathexp.h"   /* for the struct ignorevar stuff */
+#include "bashhist.h"  /* matching prototypes and declarations */
+#include "builtins/common.h"
+
+#include <readline/history.h>
+#include <glob/glob.h>
+#include <glob/strmatch.h>
+
+#if defined (READLINE)
+#  include "bashline.h"
+extern int rl_done, rl_dispatching;    /* should really include readline.h */
+#endif
+
+#if !defined (errno)
+extern int errno;
+#endif
+
+static int histignore_item_func __P((struct ign *));
+static int check_history_control __P((char *));
+static void hc_erasedups __P((char *));
+static void really_add_history __P((char *));
+
+static struct ignorevar histignore =
+{
+  "HISTIGNORE",
+  (struct ign *)0,
+  0,
+  (char *)0,
+  (sh_iv_item_func_t *)histignore_item_func,
+};
+
+#define HIGN_EXPAND 0x01
+
+/* Declarations of bash history variables. */
+/* Non-zero means to remember lines typed to the shell on the history
+   list.  This is different than the user-controlled behaviour; this
+   becomes zero when we read lines from a file, for example. */
+int remember_on_history = 1;
+int enable_history_list = 1;   /* value for `set -o history' */
+
+/* The number of lines that Bash has added to this history session.  The
+   difference between the number of the top element in the history list
+   (offset from history_base) and the number of lines in the history file.
+   Appending this session's history to the history file resets this to 0. */
+int history_lines_this_session;
+
+/* The number of lines that Bash has read from the history file. */
+int history_lines_in_file;
+
+#if defined (BANG_HISTORY)
+/* Non-zero means do no history expansion on this line, regardless
+   of what history_expansion says. */
+int history_expansion_inhibited;
+#endif
+
+/* With the old default, every line was saved in the history individually.
+   I.e., if the user enters:
+       bash$ for i in a b c
+       > do
+       > echo $i
+       > done
+   Each line will be individually saved in the history.
+       bash$ history
+       10  for i in a b c
+       11  do
+       12  echo $i
+       13  done
+       14  history
+   If the variable command_oriented_history is set, multiple lines
+   which form one command will be saved as one history entry.
+       bash$ for i in a b c
+       > do
+       > echo $i
+       > done
+       bash$ history
+       10  for i in a b c
+    do
+    echo $i
+    done
+       11  history
+   The user can then recall the whole command all at once instead
+   of just being able to recall one line at a time.
+
+   This is now enabled by default.
+   */
+int command_oriented_history = 1;
+
+/* Set to 1 if the first line of a possibly-multi-line command was saved
+   in the history list.  Managed by maybe_add_history(), but global so
+   the history-manipluating builtins can see it. */
+int current_command_first_line_saved = 0;
+
+/* Non-zero means to store newlines in the history list when using
+   command_oriented_history rather than trying to use semicolons. */
+int literal_history;
+
+/* Non-zero means to append the history to the history file at shell
+   exit, even if the history has been stifled. */
+int force_append_history;
+
+/* A nit for picking at history saving.  Flags have the following values:
+
+   Value == 0 means save all lines parsed by the shell on the history.
+   Value & HC_IGNSPACE means save all lines that do not start with a space.
+   Value & HC_IGNDUPS means save all lines that do not match the last
+   line saved.
+   Value & HC_ERASEDUPS means to remove all other matching lines from the
+   history list before saving the latest line. */
+int history_control;
+
+/* Set to 1 if the last command was added to the history list successfully
+   as a separate history entry; set to 0 if the line was ignored or added
+   to a previous entry as part of command-oriented-history processing. */
+int hist_last_line_added;
+
+/* Set to 1 if builtins/history.def:push_history added the last history
+   entry. */
+int hist_last_line_pushed;
+
+#if defined (READLINE)
+/* If non-zero, and readline is being used, the user is offered the
+   chance to re-edit a failed history expansion. */
+int history_reediting;
+
+/* If non-zero, and readline is being used, don't directly execute a
+   line with history substitution.  Reload it into the editing buffer
+   instead and let the user further edit and confirm with a newline. */
+int hist_verify;
+
+#endif /* READLINE */
+
+/* Non-zero means to not save function definitions in the history list. */
+int dont_save_function_defs;
+
+/* Variables declared in other files used here. */
+extern int current_command_line_count;
+
+extern struct dstack dstack;
+extern int parser_state;
+
+static int bash_history_inhibit_expansion __P((char *, int));
+#if defined (READLINE)
+static void re_edit __P((char *));
+#endif
+static int history_expansion_p __P((char *));
+static int shell_comment __P((char *));
+static int should_expand __P((char *));
+static HIST_ENTRY *last_history_entry __P((void));
+static char *expand_histignore_pattern __P((char *));
+static int history_should_ignore __P((char *));
+
+/* Is the history expansion starting at string[i] one that should not
+   be expanded? */
+static int
+bash_history_inhibit_expansion (string, i)
+     char *string;
+     int i;
+{
+  /* The shell uses ! as a pattern negation character in globbing [...]
+     expressions, so let those pass without expansion. */
+  if (i > 0 && (string[i - 1] == '[') && member (']', string + i + 1))
+    return (1);
+  /* The shell uses ! as the indirect expansion character, so let those
+     expansions pass as well. */
+  else if (i > 1 && string[i - 1] == '{' && string[i - 2] == '$' &&
+            member ('}', string + i + 1))
+    return (1);
+  /* The shell uses $! as a defined parameter expansion. */
+  else if (i > 1 && string[i - 1] == '$' && string[i] == '!')
+    return (1);
+#if defined (EXTENDED_GLOB)
+  else if (extended_glob && i > 1 && string[i+1] == '(' && member (')', string + i + 2))
+    return (1);
+#endif
+  else
+    return (0);
+}
+
+void
+bash_initialize_history ()
+{
+  history_quotes_inhibit_expansion = 1;
+  history_search_delimiter_chars = ";&()|<>";
+  history_inhibit_expansion_function = bash_history_inhibit_expansion;
+#if defined (BANG_HISTORY)
+  sv_histchars ("histchars");
+#endif
+}
+
+void
+bash_history_reinit (interact)
+     int interact;
+{
+#if defined (BANG_HISTORY)
+  history_expansion = interact != 0;
+  history_expansion_inhibited = 1;
+#endif
+  remember_on_history = enable_history_list = interact != 0;
+  history_inhibit_expansion_function = bash_history_inhibit_expansion;
+}
+
+void
+bash_history_disable ()
+{
+  remember_on_history = 0;
+#if defined (BANG_HISTORY)
+  history_expansion_inhibited = 1;
+#endif
+}
+
+void
+bash_history_enable ()
+{
+  remember_on_history = 1;
+#if defined (BANG_HISTORY)
+  history_expansion_inhibited = 0;
+#endif
+  history_inhibit_expansion_function = bash_history_inhibit_expansion;
+  sv_history_control ("HISTCONTROL");
+  sv_histignore ("HISTIGNORE");
+}
+
+/* Load the history list from the history file. */
+void
+load_history ()
+{
+  char *hf;
+
+  /* Truncate history file for interactive shells which desire it.
+     Note that the history file is automatically truncated to the
+     size of HISTSIZE if the user does not explicitly set the size
+     differently. */
+  set_if_not ("HISTSIZE", "500");
+  sv_histsize ("HISTSIZE");
+
+  set_if_not ("HISTFILESIZE", get_string_value ("HISTSIZE"));
+  sv_histsize ("HISTFILESIZE");
+
+  /* Read the history in HISTFILE into the history list. */
+  hf = get_string_value ("HISTFILE");
+
+  if (hf && *hf && file_exists (hf))
+    {
+      read_history (hf);
+      using_history ();
+      history_lines_in_file = where_history ();
+    }
+}
+
+void
+bash_clear_history ()
+{
+  clear_history ();
+  history_lines_this_session = 0;
+}
+
+/* Delete and free the history list entry at offset I. */
+int
+bash_delete_histent (i)
+     int i;
+{
+  HIST_ENTRY *discard;
+
+  discard = remove_history (i);
+  if (discard)
+    free_history_entry (discard);
+  history_lines_this_session--;
+
+  return 1;
+}
+
+int
+bash_delete_last_history ()
+{
+  register int i;
+  HIST_ENTRY **hlist, *histent;
+  int r;
+
+  hlist = history_list ();
+  if (hlist == NULL)
+    return 0;
+
+  for (i = 0; hlist[i]; i++)
+    ;
+  i--;
+
+  /* History_get () takes a parameter that must be offset by history_base. */
+  histent = history_get (history_base + i);    /* Don't free this */
+  if (histent == NULL)
+    return 0;
+
+  r = bash_delete_histent (i);
+
+  if (where_history () > history_length)
+    history_set_pos (history_length);
+
+  return r;
+}
+
+#ifdef INCLUDE_UNUSED
+/* Write the existing history out to the history file. */
+void
+save_history ()
+{
+  char *hf;
+  int r;
+
+  hf = get_string_value ("HISTFILE");
+  if (hf && *hf && file_exists (hf))
+    {
+      /* Append only the lines that occurred this session to
+        the history file. */
+      using_history ();
+
+      if (history_lines_this_session <= where_history () || force_append_history)
+       r = append_history (history_lines_this_session, hf);
+      else
+       r = write_history (hf);
+      sv_histsize ("HISTFILESIZE");
+    }
+}
+#endif
+
+int
+maybe_append_history (filename)
+     char *filename;
+{
+  int fd, result;
+  struct stat buf;
+
+  result = EXECUTION_SUCCESS;
+  if (history_lines_this_session && (history_lines_this_session <= where_history ()))
+    {
+      /* If the filename was supplied, then create it if necessary. */
+      if (stat (filename, &buf) == -1 && errno == ENOENT)
+       {
+         fd = open (filename, O_WRONLY|O_CREAT, 0600);
+         if (fd < 0)
+           {
+             builtin_error (_("%s: cannot create: %s"), filename, strerror (errno));
+             return (EXECUTION_FAILURE);
+           }
+         close (fd);
+       }
+      result = append_history (history_lines_this_session, filename);
+      history_lines_in_file += history_lines_this_session;
+      history_lines_this_session = 0;
+    }
+  return (result);
+}
+
+/* If this is an interactive shell, then append the lines executed
+   this session to the history file. */
+int
+maybe_save_shell_history ()
+{
+  int result;
+  char *hf;
+
+  result = 0;
+  if (history_lines_this_session)
+    {
+      hf = get_string_value ("HISTFILE");
+
+      if (hf && *hf)
+       {
+         /* If the file doesn't exist, then create it. */
+         if (file_exists (hf) == 0)
+           {
+             int file;
+             file = open (hf, O_CREAT | O_TRUNC | O_WRONLY, 0600);
+             if (file != -1)
+               close (file);
+           }
+
+         /* Now actually append the lines if the history hasn't been
+            stifled.  If the history has been stifled, rewrite the
+            history file. */
+         using_history ();
+         if (history_lines_this_session <= where_history () || force_append_history)
+           {
+             result = append_history (history_lines_this_session, hf);
+             history_lines_in_file += history_lines_this_session;
+           }
+         else
+           {
+             result = write_history (hf);
+             history_lines_in_file = history_lines_this_session;
+           }
+         history_lines_this_session = 0;
+
+         sv_histsize ("HISTFILESIZE");
+       }
+    }
+  return (result);
+}
+
+#if defined (READLINE)
+/* Tell readline () that we have some text for it to edit. */
+static void
+re_edit (text)
+     char *text;
+{
+  if (bash_input.type == st_stdin)
+    bash_re_edit (text);
+}
+#endif /* READLINE */
+
+/* Return 1 if this line needs history expansion. */
+static int
+history_expansion_p (line)
+     char *line;
+{
+  register char *s;
+
+  for (s = line; *s; s++)
+    if (*s == history_expansion_char || *s == history_subst_char)
+      return 1;
+  return 0;
+}
+
+/* Do pre-processing on LINE.  If PRINT_CHANGES is non-zero, then
+   print the results of expanding the line if there were any changes.
+   If there is an error, return NULL, otherwise the expanded line is
+   returned.  If ADDIT is non-zero the line is added to the history
+   list after history expansion.  ADDIT is just a suggestion;
+   REMEMBER_ON_HISTORY can veto, and does.
+   Right now this does history expansion. */
+char *
+pre_process_line (line, print_changes, addit)
+     char *line;
+     int print_changes, addit;
+{
+  char *history_value;
+  char *return_value;
+  int expanded;
+
+  return_value = line;
+  expanded = 0;
+
+#  if defined (BANG_HISTORY)
+  /* History expand the line.  If this results in no errors, then
+     add that line to the history if ADDIT is non-zero. */
+  if (!history_expansion_inhibited && history_expansion && history_expansion_p (line))
+    {
+      expanded = history_expand (line, &history_value);
+
+      if (expanded)
+       {
+         if (print_changes)
+           {
+             if (expanded < 0)
+               internal_error ("%s", history_value);
+#if defined (READLINE)
+             else if (hist_verify == 0 || expanded == 2)
+#else
+             else
+#endif
+               fprintf (stderr, "%s\n", history_value);
+           }
+
+         /* If there was an error, return NULL. */
+         if (expanded < 0 || expanded == 2)    /* 2 == print only */
+           {
+#    if defined (READLINE)
+             if (expanded == 2 && rl_dispatching == 0 && *history_value)
+#    else            
+             if (expanded == 2 && *history_value)
+#    endif /* !READLINE */
+               maybe_add_history (history_value);
+
+             free (history_value);
+
+#    if defined (READLINE)
+             /* New hack.  We can allow the user to edit the
+                failed history expansion. */
+             if (history_reediting && expanded < 0 && rl_done)
+               re_edit (line);
+#    endif /* READLINE */
+             return ((char *)NULL);
+           }
+
+#    if defined (READLINE)
+         if (hist_verify && expanded == 1)
+           {
+             re_edit (history_value);
+             return ((char *)NULL);
+           }
+#    endif
+       }
+
+      /* Let other expansions know that return_value can be free'ed,
+        and that a line has been added to the history list.  Note
+        that we only add lines that have something in them. */
+      expanded = 1;
+      return_value = history_value;
+    }
+#  endif /* BANG_HISTORY */
+
+  if (addit && remember_on_history && *return_value)
+    maybe_add_history (return_value);
+
+#if 0
+  if (expanded == 0)
+    return_value = savestring (line);
+#endif
+
+  return (return_value);
+}
+
+/* Return 1 if the first non-whitespace character in LINE is a `#', indicating
+ * that the line is a shell comment. */
+static int
+shell_comment (line)
+     char *line;
+{
+  char *p;
+
+  for (p = line; p && *p && whitespace (*p); p++)
+    ;
+  return (p && *p == '#');
+}
+
+#ifdef INCLUDE_UNUSED
+/* Remove shell comments from LINE.  A `#' and anything after it is a comment.
+   This isn't really useful yet, since it doesn't handle quoting. */
+static char *
+filter_comments (line)
+     char *line;
+{
+  char *p;
+
+  for (p = line; p && *p && *p != '#'; p++)
+    ;
+  if (p && *p == '#')
+    *p = '\0';
+  return (line);
+}
+#endif
+
+/* Check LINE against what HISTCONTROL says to do.  Returns 1 if the line
+   should be saved; 0 if it should be discarded. */
+static int
+check_history_control (line)
+     char *line;
+{
+  HIST_ENTRY *temp;
+  int r;
+
+  if (history_control == 0)
+    return 1;
+
+  /* ignorespace or ignoreboth */
+  if ((history_control & HC_IGNSPACE) && *line == ' ')
+    return 0;
+
+  /* ignoredups or ignoreboth */
+  if (history_control & HC_IGNDUPS)
+    {
+      using_history ();
+      temp = previous_history ();
+
+      r = (temp == 0 || STREQ (temp->line, line) == 0);
+
+      using_history ();
+
+      if (r == 0)
+       return r;
+    }
+
+  return 1;
+}
+
+/* Remove all entries matching LINE from the history list.  Triggered when
+   HISTCONTROL includes `erasedups'. */
+static void
+hc_erasedups (line)
+     char *line;
+{
+  HIST_ENTRY *temp;
+  int r;
+
+  using_history ();
+  while (temp = previous_history ())
+    {
+      if (STREQ (temp->line, line))
+       {
+         r = where_history ();
+         remove_history (r);
+       }
+    }
+  using_history ();
+}
+
+/* Add LINE to the history list, handling possibly multi-line compound
+   commands.  We note whether or not we save the first line of each command
+   (which is usually the entire command and history entry), and don't add
+   the second and subsequent lines of a multi-line compound command if we
+   didn't save the first line.  We don't usually save shell comment lines in
+   compound commands in the history, because they could have the effect of
+   commenting out the rest of the command when the entire command is saved as
+   a single history entry (when COMMAND_ORIENTED_HISTORY is enabled).  If
+   LITERAL_HISTORY is set, we're saving lines in the history with embedded
+   newlines, so it's OK to save comment lines.  If we're collecting the body
+   of a here-document, we should act as if literal_history is enabled, because
+   we want to save the entire contents of the here-document as it was
+   entered.  We also make sure to save multiple-line quoted strings or other
+   constructs. */
+void
+maybe_add_history (line)
+     char *line;
+{
+  hist_last_line_added = 0;
+
+  /* Don't use the value of history_control to affect the second
+     and subsequent lines of a multi-line command (old code did
+     this only when command_oriented_history is enabled). */
+  if (current_command_line_count > 1)
+    {
+      if (current_command_first_line_saved &&
+         ((parser_state & PST_HEREDOC) || literal_history || dstack.delimiter_depth != 0 || shell_comment (line) == 0))
+       bash_add_history (line);
+      return;
+    }
+
+  /* This is the first line of a (possible multi-line) command.  Note whether
+     or not we should save the first line and remember it. */
+  current_command_first_line_saved = check_add_history (line, 0);
+}
+
+/* Just check LINE against HISTCONTROL and HISTIGNORE and add it to the
+   history if it's OK.  Used by `history -s' as well as maybe_add_history().
+   Returns 1 if the line was saved in the history, 0 otherwise. */
+int
+check_add_history (line, force)
+     char *line;
+     int force;
+{
+  if (check_history_control (line) && history_should_ignore (line) == 0)
+    {
+      /* We're committed to saving the line.  If the user has requested it,
+        remove other matching lines from the history. */
+      if (history_control & HC_ERASEDUPS)
+       hc_erasedups (line);
+        
+      if (force)
+       {
+         really_add_history (line);
+         using_history ();
+       }
+      else
+       bash_add_history (line);
+      return 1;
+    }
+  return 0;
+}
+
+#if defined (SYSLOG_HISTORY)
+#define SYSLOG_MAXLEN 600
+
+void
+bash_syslog_history (line)
+     const char *line;
+{
+  char trunc[SYSLOG_MAXLEN];
+
+  if (strlen(line) < SYSLOG_MAXLEN)
+    syslog (SYSLOG_FACILITY|SYSLOG_LEVEL, "HISTORY: PID=%d UID=%d %s", getpid(), current_user.uid, line);
+  else
+    {
+      strncpy (trunc, line, SYSLOG_MAXLEN);
+      trunc[SYSLOG_MAXLEN - 1] = '\0';
+      syslog (SYSLOG_FACILITY|SYSLOG_LEVEL, "HISTORY (TRUNCATED): PID=%d UID=%d %s", getpid(), current_user.uid, trunc);
+    }
+}
+#endif
+       
+/* Add a line to the history list.
+   The variable COMMAND_ORIENTED_HISTORY controls the style of history
+   remembering;  when non-zero, and LINE is not the first line of a
+   complete parser construct, append LINE to the last history line instead
+   of adding it as a new line. */
+void
+bash_add_history (line)
+     char *line;
+{
+  int add_it, offset, curlen;
+  HIST_ENTRY *current, *old;
+  char *chars_to_add, *new_line;
+
+  add_it = 1;
+  if (command_oriented_history && current_command_line_count > 1)
+    {
+      /* The second and subsequent lines of a here document have the trailing
+        newline preserved.  We don't want to add extra newlines here, but we
+        do want to add one after the first line (which is the command that
+        contains the here-doc specifier).  parse.y:history_delimiting_chars()
+        does the right thing to take care of this for us.  We don't want to
+        add extra newlines if the user chooses literal_history, so we have to
+        duplicate some of what that function does here. */
+      if ((parser_state & PST_HEREDOC) && literal_history && current_command_line_count > 2 && line[strlen (line) - 1] == '\n')
+       chars_to_add = "";
+      else
+       chars_to_add = literal_history ? "\n" : history_delimiting_chars (line);
+
+      using_history ();
+      current = previous_history ();
+
+      if (current)
+       {
+         /* If the previous line ended with an escaped newline (escaped
+            with backslash, but otherwise unquoted), then remove the quoted
+            newline, since that is what happens when the line is parsed. */
+         curlen = strlen (current->line);
+
+         if (dstack.delimiter_depth == 0 && current->line[curlen - 1] == '\\' &&
+             current->line[curlen - 2] != '\\')
+           {
+             current->line[curlen - 1] = '\0';
+             curlen--;
+             chars_to_add = "";
+           }
+
+         /* If we're not in some kind of quoted construct, the current history
+            entry ends with a newline, and we're going to add a semicolon,
+            don't.  In some cases, it results in a syntax error (e.g., before
+            a close brace), and it should not be needed. */
+         if (dstack.delimiter_depth == 0 && current->line[curlen - 1] == '\n' && *chars_to_add == ';')
+           chars_to_add++;
+
+         new_line = (char *)xmalloc (1
+                                     + curlen
+                                     + strlen (line)
+                                     + strlen (chars_to_add));
+         sprintf (new_line, "%s%s%s", current->line, chars_to_add, line);
+         offset = where_history ();
+         old = replace_history_entry (offset, new_line, current->data);
+         free (new_line);
+
+         if (old)
+           free_history_entry (old);
+
+         add_it = 0;
+       }
+    }
+
+  if (add_it)
+    really_add_history (line);
+
+#if defined (SYSLOG_HISTORY)
+  bash_syslog_history (line);
+#endif
+
+  using_history ();
+}
+
+static void
+really_add_history (line)
+     char *line;
+{
+  hist_last_line_added = 1;
+  hist_last_line_pushed = 0;
+  add_history (line);
+  history_lines_this_session++;
+}
+
+int
+history_number ()
+{
+  using_history ();
+  return (remember_on_history ? history_base + where_history () : 1);
+}
+
+static int
+should_expand (s)
+     char *s;
+{
+  char *p;
+
+  for (p = s; p && *p; p++)
+    {
+      if (*p == '\\')
+       p++;
+      else if (*p == '&')
+       return 1;
+    }
+  return 0;
+}
+
+static int
+histignore_item_func (ign)
+     struct ign *ign;
+{
+  if (should_expand (ign->val))
+    ign->flags |= HIGN_EXPAND;
+  return (0);
+}
+
+void
+setup_history_ignore (varname)
+     char *varname;
+{
+  setup_ignore_patterns (&histignore);
+}
+
+static HIST_ENTRY *
+last_history_entry ()
+{
+  HIST_ENTRY *he;
+
+  using_history ();
+  he = previous_history ();
+  using_history ();
+  return he;
+}
+
+char *
+last_history_line ()
+{
+  HIST_ENTRY *he;
+
+  he = last_history_entry ();
+  if (he == 0)
+    return ((char *)NULL);
+  return he->line;
+}
+
+static char *
+expand_histignore_pattern (pat)
+     char *pat;
+{
+  HIST_ENTRY *phe;
+  char *ret;
+
+  phe = last_history_entry ();
+
+  if (phe == (HIST_ENTRY *)0)
+    return (savestring (pat));
+
+  ret = strcreplace (pat, '&', phe->line, 1);
+
+  return ret;
+}
+
+/* Return 1 if we should not put LINE into the history according to the
+   patterns in HISTIGNORE. */
+static int
+history_should_ignore (line)
+     char *line;
+{
+  register int i, match;
+  char *npat;
+
+  if (histignore.num_ignores == 0)
+    return 0;
+
+  for (i = match = 0; i < histignore.num_ignores; i++)
+    {
+      if (histignore.ignores[i].flags & HIGN_EXPAND)
+       npat = expand_histignore_pattern (histignore.ignores[i].val);
+      else
+       npat = histignore.ignores[i].val;
+
+      match = strmatch (npat, line, FNMATCH_EXTFLAG) != FNM_NOMATCH;
+
+      if (histignore.ignores[i].flags & HIGN_EXPAND)
+       free (npat);
+
+      if (match)
+       break;
+    }
+
+  return match;
+}
+#endif /* HISTORY */
index a9d56be5a1692e3353f165fd694f1862ab81dc6a..b8b3033138abd05e95d2b0ad85db41ff644edbec 100644 (file)
@@ -527,6 +527,8 @@ initialize_readline ()
 
   rl_filename_rewrite_hook = bash_filename_rewrite_hook;
 
+  rl_filename_stat_hook = bash_filename_stat_hook;
+
   /* Tell the filename completer we want a chance to ignore some names. */
   rl_ignore_some_completions_function = filename_completion_ignore;
 
@@ -1464,7 +1466,7 @@ bash_default_completion (text, start, end, qc, compflags)
      const char *text;
      int start, end, qc, compflags;
 {
-  char **matches;
+  char **matches, *t;
 
   matches = (char **)NULL;
 
@@ -1474,7 +1476,19 @@ bash_default_completion (text, start, end, qc, compflags)
       if (qc != '\'' && text[1] == '(') /* ) */
        matches = rl_completion_matches (text, command_subst_completion_function);
       else
-       matches = rl_completion_matches (text, variable_completion_function);
+       {
+         matches = rl_completion_matches (text, variable_completion_function);
+         if (matches && matches[0] && matches[1] == 0)
+           {
+             t = savestring (matches[0]);
+             bash_filename_stat_hook (&t);
+             /* doesn't use test_for_directory because that performs tilde
+                expansion */
+             if (file_isdir (t))
+               rl_completion_append_character = '/';
+             free (t);
+           }
+       }
     }
 
   /* If the word starts in `~', and there is no slash in the word, then
@@ -2825,6 +2839,8 @@ restore_directory_hook (hookf)
     rl_directory_rewrite_hook = hookf;
 }
 
+/* Expand a filename before the readline completion code passes it to stat(2).
+   The filename will already have had tilde expansion performed. */
 static int
 bash_filename_stat_hook (dirname)
      char **dirname;
@@ -2864,8 +2880,9 @@ bash_filename_stat_hook (dirname)
              *dirname = new_dirname;
              return_value = STREQ (local_dirname, *dirname) == 0;
            }
+         else
+           free (new_dirname);
          free (local_dirname);
-         free (new_dirname);
          dispose_words (wl);
        }
       else
index 4ea319ae1492a91d09fc6886b722c5bb17b4f4b2..bec1b655dcc8ad6bbd45ab6833f39938992b11d8 100644 (file)
@@ -116,13 +116,15 @@ static int bash_backward_kill_shellword __P((int, int));
 static char *restore_tilde __P((char *, char *));
 
 static char *bash_filename_rewrite_hook __P((char *, int));
+
 static void bash_directory_expansion __P((char **));
+static int bash_filename_stat_hook __P((char **));
 static int bash_directory_completion_hook __P((char **));
 static int filename_completion_ignore __P((char **));
 static int bash_push_line __P((void));
 
 static rl_icppfunc_t *save_directory_hook __P((void));
-static void reset_directory_hook __P((rl_icppfunc_t *));
+static void restore_directory_hook __P((rl_icppfunc_t));
 
 static void cleanup_expansion_error __P((void));
 static void maybe_make_readline_line __P((char *));
@@ -524,6 +526,9 @@ initialize_readline ()
   set_directory_hook ();
 
   rl_filename_rewrite_hook = bash_filename_rewrite_hook;
+#if 0
+  rl_filename_stat_hook = bash_filename_stat_hook;
+#endif
 
   /* Tell the filename completer we want a chance to ignore some names. */
   rl_ignore_some_completions_function = filename_completion_ignore;
@@ -847,12 +852,25 @@ hostnames_matching (text)
 /* The equivalent of the Korn shell C-o operate-and-get-next-history-line
    editing command. */
 static int saved_history_line_to_use = -1;
+static int last_saved_history_line = -1;
+
+#define HISTORY_FULL() (history_is_stifled () && history_length >= history_max_entries)
 
 static int
 set_saved_history ()
 {
+  /* XXX - compensate for assumption that history was `shuffled' if it was
+     actually not. */
+  if (HISTORY_FULL () &&
+      hist_last_line_added == 0 &&
+      saved_history_line_to_use < history_length - 1)
+    saved_history_line_to_use++;
+
   if (saved_history_line_to_use >= 0)
-    rl_get_previous_history (history_length - saved_history_line_to_use, 0);
+    {
+     rl_get_previous_history (history_length - saved_history_line_to_use, 0);
+     last_saved_history_line = saved_history_line_to_use;
+    }
   saved_history_line_to_use = -1;
   rl_startup_hook = old_rl_startup_hook;
   return (0);
@@ -870,8 +888,7 @@ operate_and_get_next (count, c)
   /* Find the current line, and find the next line to use. */
   where = where_history ();
 
-  if ((history_is_stifled () && (history_length >= history_max_entries)) ||
-      (where >= history_length - 1))
+  if (HISTORY_FULL () || (where >= history_length - 1))
     saved_history_line_to_use = where;
   else
     saved_history_line_to_use = where + 1;
@@ -1450,7 +1467,7 @@ bash_default_completion (text, start, end, qc, compflags)
      const char *text;
      int start, end, qc, compflags;
 {
-  char **matches;
+  char **matches, *t;
 
   matches = (char **)NULL;
 
@@ -1460,7 +1477,19 @@ bash_default_completion (text, start, end, qc, compflags)
       if (qc != '\'' && text[1] == '(') /* ) */
        matches = rl_completion_matches (text, command_subst_completion_function);
       else
-       matches = rl_completion_matches (text, variable_completion_function);
+       {
+         matches = rl_completion_matches (text, variable_completion_function);
+         if (matches && matches[0] && matches[1] == 0)
+           {
+             t = savestring (matches[0]);
+             bash_filename_stat_hook (&t);
+             /* doesn't use test_for_directory because that performs tilde
+                expansion */
+             if (file_isdir (t))
+               rl_completion_append_character = '/';
+             free (t);
+           }
+       }
     }
 
   /* If the word starts in `~', and there is no slash in the word, then
@@ -2811,8 +2840,10 @@ restore_directory_hook (hookf)
     rl_directory_rewrite_hook = hookf;
 }
 
+/* Expand a filename before the readline completion code passes it to stat(2).
+   The filename will already have had tilde expansion performed. */
 static int
-bash_directory_stat_hook (dirname)
+bash_filename_stat_hook (dirname)
      char **dirname;
 {
   char *local_dirname, *new_dirname, *t;
@@ -2850,8 +2881,9 @@ bash_directory_stat_hook (dirname)
              *dirname = new_dirname;
              return_value = STREQ (local_dirname, *dirname) == 0;
            }
+         else
+           free (new_dirname);
          free (local_dirname);
-         free (new_dirname);
          dispose_words (wl);
        }
       else
@@ -3654,9 +3686,17 @@ bash_quote_filename (s, rtype, qcp)
 
   /* Leave the opening quote intact.  The readline completion code takes
      care of avoiding doubled opening quotes. */
-  rlen = strlen (rtext);
-  ret = (char *)xmalloc (rlen + 1);
-  strcpy (ret, rtext);
+  if (rtext)
+    {
+      rlen = strlen (rtext);
+      ret = (char *)xmalloc (rlen + 1);
+      strcpy (ret, rtext);
+    }
+  else
+    {
+      ret = (char *)xmalloc (rlen = 1);
+      ret[0] = '\0';
+    }
 
   /* If there are multiple matches, cut off the closing quote. */
   if (rtype == MULT_MATCH && cs != COMPLETE_BSQUOTE)
index 70e21eb01be3aaa3e454e83282c4be4b63ef4d09..7aa7f0bd9bf8814c9de747211d77771388fd9333 100644 (file)
@@ -132,7 +132,7 @@ I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN
 
        The  following paragraphs describe how b\bba\bas\bsh\bh executes its startup files.
        If any of the files exist but cannot be read, b\bba\bas\bsh\bh  reports  an  error.
-       Tildes are expanded in file names as described below under T\bTi\bil\bld\bde\be E\bEx\bxp\bpa\ban\bn-\b-
+       Tildes  are expanded in filenames as described below under T\bTi\bil\bld\bde\be E\bEx\bxp\bpa\ban\bn-\b-
        s\bsi\bio\bon\bn in the E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN section.
 
        When b\bba\bas\bsh\bh is invoked as an interactive login shell, or as a  non-inter-
@@ -158,7 +158,7 @@ I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN
        of a file to read and execute.  B\bBa\bas\bsh\bh behaves as if the  following  com-
        mand were executed:
               if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
-       but  the  value of the P\bPA\bAT\bTH\bH variable is not used to search for the file
+       but  the value of the P\bPA\bAT\bTH\bH variable is not used to search for the file-
        name.
 
        If b\bba\bas\bsh\bh is invoked with the name s\bsh\bh, it  tries  to  mimic  the  startup
@@ -248,10 +248,10 @@ S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
        The standard output of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is connected via a pipe to the  standard
        input  of  _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b2.   This connection is performed before any redirec-
        tions specified by the command (see R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN below).  If |\b|&\b& is used,
-       the standard error of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is connected to _\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b2's standard input
-       through the pipe; it is shorthand for 2\b2>\b>&\b&1\b1 |\b|.  This implicit  redirect-
-       ion of the standard error is performed after any redirections specified
-       by the command.
+       _\bc_\bo_\bm_\bm_\ba_\bn_\bd's  standard  output  and  standard  error are connected to _\bc_\bo_\bm_\b-
+       _\bm_\ba_\bn_\bd_\b2's standard input through the pipe; it is shorthand  for  2\b2>\b>&\b&1\b1  |\b|.
+       This  implicit redirection of the standard error is performed after any
+       redirections specified by the command.
 
        The return status of a pipeline is the exit status of the last command,
        unless  the  p\bpi\bip\bpe\bef\bfa\bai\bil\bl  option  is enabled.  If p\bpi\bip\bpe\bef\bfa\bai\bil\bl is enabled, the
@@ -491,9 +491,9 @@ S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
        This creates a coprocess named _\bN_\bA_\bM_\bE.  If  _\bN_\bA_\bM_\bE  is  not  supplied,  the
        default name is C\bCO\bOP\bPR\bRO\bOC\bC.  _\bN_\bA_\bM_\bE must not be supplied if _\bc_\bo_\bm_\bm_\ba_\bn_\bd is a _\bs_\bi_\bm_\b-
        _\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd (see above); otherwise, it is interpreted as the first word
-       of  the simple command.  When the coproc is executed, the shell creates
-       an array variable (see A\bAr\brr\bra\bay\bys\bs below) named _\bN_\bA_\bM_\bE in the context  of  the
-       executing  shell.   The  standard  output of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is connected via a
+       of  the simple command.  When the coprocess is executed, the shell cre-
+       ates an array variable (see A\bAr\brr\bra\bay\bys\bs below) named _\bN_\bA_\bM_\bE in the context  of
+       the executing shell.  The standard output of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is connected via a
        pipe to a file  descriptor  in  the  executing  shell,  and  that  file
        descriptor  is  assigned  to _\bN_\bA_\bM_\bE[0].  The standard input of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is
        connected via a pipe to a file descriptor in the executing  shell,  and
@@ -521,65 +521,66 @@ S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
               That  command is usually a _\bl_\bi_\bs_\bt of commands between { and }, but
               may be any command listed under C\bCo\bom\bmp\bpo\bou\bun\bnd\bd C\bCo\bom\bmm\bma\ban\bnd\bds\bs  above.   _\bc_\bo_\bm_\b-
               _\bp_\bo_\bu_\bn_\bd_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed whenever _\bn_\ba_\bm_\be is specified as the name
-              of a simple command.  Any redirections (see  R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN  below)
-              specified  when  a  function  is  defined are performed when the
-              function is executed.  The exit status of a function  definition
-              is zero unless a syntax error occurs or a readonly function with
-              the same name already exists.  When executed, the exit status of
-              a  function  is  the exit status of the last command executed in
-              the body.  (See F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS below.)
+              of a simple command.  When in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, _\bn_\ba_\bm_\be may  not  be  the
+              name  of  one  of  the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl _\bb_\bu_\bi_\bl_\bt_\bi_\bn_\bs.  Any redirections
+              (see R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN below) specified when a function is defined are
+              performed  when  the function is executed.  The exit status of a
+              function definition is zero unless a syntax error  occurs  or  a
+              readonly  function with the same name already exists.  When exe-
+              cuted, the exit status of a function is the exit status  of  the
+              last command executed in the body.  (See F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS below.)
 
 C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS
        In a non-interactive shell, or an interactive shell in which the i\bin\bnt\bte\ber\br-\b-
-       a\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\b option  to  the  s\bsh\bho\bop\bpt\bt  builtin  is enabled (see S\bSH\bHE\bEL\bLL\bL
-       B\bBU\bUI\bIL\bLT\bTI\bIN\bC\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), a word beginning with #\b# causes that  word  and
-       all  remaining  characters  on that line to be ignored.  An interactive
-       shell without the i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs option enabled  does  not  allow
+       a\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\boption to the  s\bsh\bho\bop\bpt\bt  builtin  is  enabled  (see  S\bSH\bHE\bEL\bLL\bL
+       B\bBU\bUI\bIL\bLT\bTI\bIN\b C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS  below), a word beginning with #\b# causes that word and
+       all remaining characters on that line to be  ignored.   An  interactive
+       shell  without  the  i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs option enabled does not allow
        comments.  The i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs option is on by default in interac-
        tive shells.
 
 Q\bQU\bUO\bOT\bTI\bIN\bNG\bG
-       _\bQ_\bu_\bo_\bt_\bi_\bn_\bis used to remove the special meaning of certain characters  or
-       words  to  the shell.  Quoting can be used to disable special treatment
+       _\bQ_\bu_\bo_\bt_\bi_\bn_\b is used to remove the special meaning of certain 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.
 
-       Each  of  the _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs listed above under D\bDE\bEF\bFI\bIN\bNI\bIT\bTI\bIO\bON\bNS\bS has special
+       Each of the _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs listed above under D\bDE\bEF\bFI\bIN\bNI\bIT\bTI\bIO\bON\bNS\bS  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 (see  H\bHI\bIS\bS-\b-
+       When  the command history expansion facilities are being used (see H\bHI\bIS\bS-\b-
        T\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below), the _\bh_\bi_\bs_\bt_\bo_\br_\by _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn character, usually !\b!, must
        be quoted to prevent history expansion.
 
-       There are  three  quoting  mechanisms:  the  _\be_\bs_\bc_\ba_\bp_\be  _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br,  single
+       There  are  three  quoting  mechanisms:  the  _\be_\bs_\bc_\ba_\bp_\be  _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br, single
        quotes, and double quotes.
 
-       A  non-quoted  backslash (\\b\) is the _\be_\bs_\bc_\ba_\bp_\be _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br.  It preserves the
+       A non-quoted backslash (\\b\) is the _\be_\bs_\bc_\ba_\bp_\be _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br.  It  preserves  the
        literal value of the next character that follows, with the exception of
-       <newline>.   If  a  \\b\<newline>  pair  appears, and the backslash is not
-       itself quoted, the \\b\<newline> is treated as a line  continuation  (that
+       <newline>.  If a \\b\<newline> pair appears,  and  the  backslash  is  not
+       itself  quoted,  the \\b\<newline> is treated as a line continuation (that
        is, it is removed from the input stream and effectively ignored).
 
-       Enclosing  characters  in  single quotes preserves the literal value of
+       Enclosing characters in single quotes preserves the  literal  value  of
        each character within the quotes.  A single quote may not occur between
        single quotes, even when preceded by a backslash.
 
-       Enclosing  characters  in  double quotes preserves the literal value of
-       all characters within the quotes, with the exception of $\b$, `\b`,  \\b\,  and,
-       when  history  expansion  is enabled, !\b!.  The characters $\b$ and `\b` retain
-       their special meaning within double quotes.  The backslash retains  its
-       special  meaning only when followed by one of the following characters:
-       $\b$, `\b`, "\b", \\b\, or <\b<n\bne\bew\bwl\bli\bin\bne\be>\b>.  A double quote may be quoted  within  double
+       Enclosing characters in double quotes preserves the  literal  value  of
+       all  characters  within the quotes, with the exception of $\b$, `\b`, \\b\, and,
+       when history expansion is enabled, !\b!.  The characters $\b$  and  `\b retain
+       their  special meaning within double quotes.  The backslash retains its
+       special meaning only when followed by one of the following  characters:
+       $\b$,  `\b`,  "\b", \\b\, or <\b<n\bne\bew\bwl\bli\bin\bne\be>\b>.  A double quote may be quoted within double
        quotes by preceding it with a backslash.  If enabled, history expansion
-       will be performed unless an !\b!  appearing in double  quotes  is  escaped
+       will  be  performed  unless an !\b!  appearing in double quotes is escaped
        using a backslash.  The backslash preceding the !\b!  is not removed.
 
-       The  special  parameters  *\b*  and  @\b@ have special meaning when in double
+       The special parameters *\b* and @\b@ have  special  meaning  when  in  double
        quotes (see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS below).
 
        Words of the form $\b$'_\bs_\bt_\br_\bi_\bn_\bg' are treated specially.  The word expands to
-       _\bs_\bt_\br_\bi_\bn_\bg,  with backslash-escaped characters replaced as specified by the
-       ANSI C standard.  Backslash escape sequences, if present,  are  decoded
+       _\bs_\bt_\br_\bi_\bn_\bg, with backslash-escaped characters replaced as specified by  the
+       ANSI  C  standard.  Backslash escape sequences, if present, are decoded
        as follows:
               \\b\a\ba     alert (bell)
               \\b\b\bb     backspace
@@ -593,333 +594,335 @@ Q\bQU\bUO\bOT\bTI\bIN\bNG\bG
               \\b\\\b\     backslash
               \\b\'\b'     single quote
               \\b\"\b"     double quote
-              \\b\_\bn_\bn_\bn   the  eight-bit  character  whose value is the octal value
+              \\b\_\bn_\bn_\bn   the eight-bit character whose value is  the  octal  value
                      _\bn_\bn_\bn (one to three digits)
-              \\b\x\bx_\bH_\bH   the eight-bit character whose value  is  the  hexadecimal
+              \\b\x\bx_\bH_\bH   the  eight-bit  character  whose value is the hexadecimal
                      value _\bH_\bH (one or two hex digits)
-              \\b\u\bu_\bH_\bH_\bH_\bH the  Unicode (ISO/IEC 10646) character whose value is the
+              \\b\u\bu_\bH_\bH_\bH_\bH the Unicode (ISO/IEC 10646) character whose value is  the
                      hexadecimal value _\bH_\bH_\bH_\bH (one to four hex digits)
               \\b\U\bU_\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH
-                     the Unicode (ISO/IEC 10646) character whose value is  the
+                     the  Unicode (ISO/IEC 10646) character whose value is the
                      hexadecimal value _\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH (one to eight hex digits)
               \\b\c\bc_\bx    a control-_\bx character
 
-       The  expanded  result  is  single-quoted, as if the dollar sign had not
+       The expanded result is single-quoted, as if the  dollar  sign  had  not
        been present.
 
        A double-quoted string preceded by a dollar sign ($\b$"_\bs_\bt_\br_\bi_\bn_\bg") will cause
-       the  string  to  be translated according to the current locale.  If the
-       current locale is C\bC or P\bPO\bOS\bSI\bIX\bX, the  dollar  sign  is  ignored.   If  the
+       the string to be translated according to the current  locale.   If  the
+       current  locale  is  C\bC  or  P\bPO\bOS\bSI\bIX\bX,  the dollar sign is ignored.  If the
        string is translated and replaced, the replacement is double-quoted.
 
 P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
-       A  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an entity that stores values.  It can be a _\bn_\ba_\bm_\be, a num-
+       A _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an entity that stores values.  It can be a _\bn_\ba_\bm_\be, a  num-
        ber, or one of the special characters listed below under S\bSp\bpe\bec\bci\bia\bal\bl P\bPa\bar\bra\bam\bm-\b-
-       e\bet\bte\ber\brs\bs.   A _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be is a parameter denoted by a _\bn_\ba_\bm_\be.  A variable has a
-       _\bv_\ba_\bl_\bu_\band zero or more _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs.  Attributes are assigned  using  the
-       d\bde\bec\bcl\bla\bar\bre\b builtin command (see d\bde\bec\bcl\bla\bar\bre\be below in S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS).
+       e\bet\bte\ber\brs\bs.  A _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be is a parameter denoted by a _\bn_\ba_\bm_\be.  A variable has  a
+       _\bv_\ba_\bl_\bu_\b and  zero or more _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\bs.  Attributes are assigned using the
+       d\bde\bec\bcl\bla\bar\bre\bbuiltin command (see d\bde\bec\bcl\bla\bar\bre\be below in S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\b C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS).
 
        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
+       a valid value.  Once a variable is set, it may be unset only  by  using
        the u\bun\bns\bse\bet\bt builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
        A _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be may be assigned to by a statement of the form
 
               _\bn_\ba_\bm_\be=[_\bv_\ba_\bl_\bu_\be]
 
-       If _\bv_\ba_\bl_\bu_\be is not given, the variable is assigned the null  string.   All
-       _\bv_\ba_\bl_\bu_\be_\b undergo tilde expansion, parameter and variable expansion, com-
-       mand substitution, arithmetic expansion, and quote removal (see  E\bEX\bXP\bPA\bAN\bN-\b-
+       If  _\bv_\ba_\bl_\bu_\be  is not given, the variable is assigned the null string.  All
+       _\bv_\ba_\bl_\bu_\be_\bundergo tilde expansion, parameter and variable expansion,  com-
+       mand  substitution, arithmetic expansion, and quote removal (see E\bEX\bXP\bPA\bAN\bN-\b-
        S\bSI\bIO\bON\bN below).  If the variable has its i\bin\bnt\bte\beg\bge\ber\br attribute set, then _\bv_\ba_\bl_\bu_\be
        is evaluated as an arithmetic expression even if the $((...)) expansion
-       is  not  used  (see A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn below).  Word splitting is not
-       performed, with the exception of "\b"$\b$@\b@"\b" as explained below under  S\bSp\bpe\bec\bci\bia\bal\bl
-       P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs.   Pathname  expansion  is not performed.  Assignment state-
-       ments may also appear as arguments  to  the  a\bal\bli\bia\bas\bs,  d\bde\bec\bcl\bla\bar\bre\be,  t\bty\byp\bpe\bes\bse\bet\bt,
-       e\bex\bxp\bpo\bor\brt\bt, r\bre\bea\bad\bdo\bon\bnl\bly\by, and l\blo\boc\bca\bal\bl builtin commands.
-
-       In  the context where an assignment statement is assigning a value to a
+       is not used (see A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn below).  Word  splitting  is  not
+       performed,  with the exception of "\b"$\b$@\b@"\b" as explained below under S\bSp\bpe\bec\bci\bia\bal\bl
+       P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs.  Pathname expansion is not  performed.   Assignment  state-
+       ments  may  also  appear  as  arguments to the a\bal\bli\bia\bas\bs, d\bde\bec\bcl\bla\bar\bre\be, t\bty\byp\bpe\bes\bse\bet\bt,
+       e\bex\bxp\bpo\bor\brt\bt, r\bre\bea\bad\bdo\bon\bnl\bly\by, and l\blo\boc\bca\bal\bl builtin  commands.   When  in  _\bp_\bo_\bs_\bi_\bx  _\bm_\bo_\bd_\be,
+       these  builtins  may appear in a command after one or more instances of
+       the c\bco\bom\bmm\bma\ban\bnd\bd builtin and retain these assignment statement properties.
+
+       In the context where an assignment statement is assigning a value to  a
        shell variable or array index, the += operator can be used to append to
        or add to the variable's previous value.  When += is applied to a vari-
-       able for which the _\bi_\bn_\bt_\be_\bg_\be_\br attribute has been set, _\bv_\ba_\bl_\bu_\be  is  evaluated
-       as  an arithmetic expression and added to the variable's current value,
+       able  for  which the _\bi_\bn_\bt_\be_\bg_\be_\br attribute has been set, _\bv_\ba_\bl_\bu_\be is evaluated
+       as an arithmetic expression and added to the variable's current  value,
        which is also evaluated.  When += is applied to an array variable using
-       compound  assignment  (see  A\bAr\brr\bra\bay\bys\bs  below), the variable's value is not
+       compound assignment (see A\bAr\brr\bra\bay\bys\bs below), the  variable's  value  is  not
        unset (as it is when using =), and new values are appended to the array
-       beginning  at  one  greater than the array's maximum index (for indexed
+       beginning at one greater than the array's maximum  index  (for  indexed
        arrays) or added as additional key-value pairs in an associative array.
-       When  applied  to  a  string-valued  variable,  _\bv_\ba_\bl_\bu_\be  is  expanded and
+       When applied  to  a  string-valued  variable,  _\bv_\ba_\bl_\bu_\be  is  expanded  and
        appended to the variable's value.
 
    P\bPo\bos\bsi\bit\bti\bio\bon\bna\bal\bl P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs
-       A _\bp_\bo_\bs_\bi_\bt_\bi_\bo_\bn_\ba_\bl _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a parameter denoted by one  or  more  digits,
+       A  _\bp_\bo_\bs_\bi_\bt_\bi_\bo_\bn_\ba_\bl  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is a parameter denoted by one or more digits,
        other than the single digit 0.  Positional parameters are assigned from
-       the shell's arguments when it is invoked, and may be  reassigned  using
-       the  s\bse\bet\bt builtin command.  Positional parameters may not be assigned to
-       with assignment statements.  The positional parameters are  temporarily
+       the  shell's  arguments when it is invoked, and may be reassigned using
+       the s\bse\bet\bt builtin command.  Positional parameters may not be assigned  to
+       with  assignment statements.  The positional parameters are temporarily
        replaced when a shell function is executed (see F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS below).
 
-       When  a  positional parameter consisting of more than a single digit is
+       When a positional parameter consisting of more than a single  digit  is
        expanded, it must be enclosed in braces (see E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below).
 
    S\bSp\bpe\bec\bci\bia\bal\bl P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs
-       The shell treats several parameters specially.   These  parameters  may
+       The  shell  treats  several parameters specially.  These parameters may
        only be referenced; assignment to them is not allowed.
-       *\b*      Expands  to  the positional parameters, starting from one.  When
-              the expansion occurs within double quotes, it expands to a  sin-
+       *\b*      Expands to the positional parameters, starting from  one.   When
+              the  expansion occurs within double quotes, it expands to a sin-
               gle word with the value of each parameter separated by the first
               character of the I\bIF\bFS\bS special variable.  That is, "$\b$*\b*" is equiva-
               lent to "$\b$1\b1_\bc$\b$2\b2_\bc.\b..\b..\b.", where _\bc is the first character of the value
-              of the I\bIF\bFS\bS variable.  If I\bIF\bFS\bS is unset, the parameters are  sepa-
-              rated  by  spaces.   If  I\bIF\bFS\bS  is null, the parameters are joined
+              of  the I\bIF\bFS\bS variable.  If I\bIF\bFS\bS is unset, the parameters are sepa-
+              rated by spaces.  If I\bIF\bFS\bS is  null,  the  parameters  are  joined
               without intervening separators.
-       @\b@      Expands to the positional parameters, starting from  one.   When
+       @\b@      Expands  to  the positional parameters, starting from one.  When
               the  expansion  occurs  within  double  quotes,  each  parameter
               expands to a separate word.  That is, "$\b$@\b@" is equivalent to "$\b$1\b1"
-              "$\b$2\b2"  ...   If the double-quoted expansion occurs within a word,
-              the expansion of the first parameter is joined with  the  begin-
-              ning  part  of  the original word, and the expansion of the last
-              parameter is joined with the last part  of  the  original  word.
-              When  there  are no positional parameters, "$\b$@\b@" and $\b$@\b@ expand to
+              "$\b$2\b2" ...  If the double-quoted expansion occurs within  a  word,
+              the  expansion  of the first parameter is joined with the begin-
+              ning part of the original word, and the expansion  of  the  last
+              parameter  is  joined  with  the last part of the original word.
+              When there are no positional parameters, "$\b$@\b@" and $\b$@\b@  expand  to
               nothing (i.e., they are removed).
        #\b#      Expands to the number of positional parameters in decimal.
-       ?\b?      Expands to the exit status of the most recently  executed  fore-
+       ?\b?      Expands  to  the exit status of the most recently executed fore-
               ground pipeline.
-       -\b-      Expands  to  the  current option flags as specified upon invoca-
-              tion, by the s\bse\bet\bt builtin command, or  those  set  by  the  shell
+       -\b-      Expands to the current option flags as  specified  upon  invoca-
+              tion,  by  the  s\bse\bet\bt  builtin  command, or those set by the shell
               itself (such as the -\b-i\bi option).
-       $\b$      Expands  to  the  process ID of the shell.  In a () subshell, it
-              expands to the process ID of the current  shell,  not  the  sub-
+       $\b$      Expands to the process ID of the shell.  In a  ()  subshell,  it
+              expands  to  the  process  ID of the current shell, not the sub-
               shell.
-       !\b!      Expands  to  the  process ID of the most recently executed back-
+       !\b!      Expands to the process ID of the most  recently  executed  back-
               ground (asynchronous) command.
-       0\b0      Expands to the name of the shell or shell script.  This  is  set
+       0\b0      Expands  to  the name of the shell or shell script.  This is set
               at shell initialization.  If b\bba\bas\bsh\bh is invoked with a file of com-
-              mands, $\b$0\b0 is set to the name of that file.  If b\bba\bas\bsh\bh  is  started
-              with  the  -\b-c\bc option, then $\b$0\b0 is set to the first argument after
-              the string to be executed, if one is present.  Otherwise, it  is
-              set  to  the file name used to invoke b\bba\bas\bsh\bh, as given by argument
+              mands,  $\b$0\b0  is set to the name of that file.  If b\bba\bas\bsh\bh is started
+              with the -\b-c\bc option, then $\b$0\b0 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 b\bba\bas\bsh\bh, as  given  by  argument
               zero.
-       _\b_      At shell startup, set to the absolute pathname  used  to  invoke
-              the  shell or shell script being executed as passed in the envi-
-              ronment or argument list.  Subsequently,  expands  to  the  last
-              argument  to the previous command, after expansion.  Also set to
-              the full pathname used  to  invoke  each  command  executed  and
+       _\b_      At  shell  startup,  set to the absolute pathname used to invoke
+              the shell or shell script being executed as passed in the  envi-
+              ronment  or  argument  list.   Subsequently, expands to the last
+              argument to the previous command, after expansion.  Also set  to
+              the  full  pathname  used  to  invoke  each command executed and
               placed in the environment exported to that command.  When check-
-              ing mail, this parameter holds the name of the  mail  file  cur-
+              ing  mail,  this  parameter holds the name of the mail file cur-
               rently being checked.
 
    S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs
        The following variables are set by the shell:
 
-       B\bBA\bAS\bSH\bH   Expands  to  the  full file name used to invoke this instance of
+       B\bBA\bAS\bSH\bH   Expands to the full filename used to  invoke  this  instance  of
               b\bba\bas\bsh\bh.
        B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS
-              A colon-separated list of enabled shell options.  Each  word  in
-              the  list  is  a  valid  argument for the -\b-s\bs option to the s\bsh\bho\bop\bpt\bt
+              A  colon-separated  list of enabled shell options.  Each word in
+              the list is a valid argument for the  -\b-s\bs  option  to  the  s\bsh\bho\bop\bpt\bt
               builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  The options
-              appearing  in  B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS  are  those reported as _\bo_\bn by s\bsh\bho\bop\bpt\bt.  If
-              this variable is in the environment when b\bba\bas\bsh\bh  starts  up,  each
-              shell  option  in  the  list  will be enabled before reading any
+              appearing in B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS are those reported as  _\bo_\bn  by  s\bsh\bho\bop\bpt\bt.   If
+              this  variable  is  in the environment when b\bba\bas\bsh\bh starts up, each
+              shell option in the list will  be  enabled  before  reading  any
               startup files.  This variable is read-only.
        B\bBA\bAS\bSH\bHP\bPI\bID\bD
-              Expands to the process ID of the  current  b\bba\bas\bsh\bh  process.   This
-              differs  from  $\b$$\b$ under certain circumstances, such as subshells
+              Expands  to  the  process  ID of the current b\bba\bas\bsh\bh process.  This
+              differs from $\b$$\b$ under certain circumstances, such  as  subshells
               that do not require b\bba\bas\bsh\bh to be re-initialized.
        B\bBA\bAS\bSH\bH_\b_A\bAL\bLI\bIA\bAS\bSE\bES\bS
-              An associative array variable whose members  correspond  to  the
-              internal  list  of  aliases  as maintained by the a\bal\bli\bia\bas\bs builtin.
+              An  associative  array  variable whose members correspond to the
+              internal list of aliases as maintained  by  the  a\bal\bli\bia\bas\b builtin.
               Elements added to this array appear in the alias list; unsetting
-              array  elements cause aliases to be removed from the alias list.
+              array elements cause aliases to be removed from the alias  list.
        B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC
-              An array variable whose values are the number of  parameters  in
+              An  array  variable whose values are the number of parameters in
               each frame of the current b\bba\bas\bsh\bh execution call stack.  The number
-              of parameters to  the  current  subroutine  (shell  function  or
-              script  executed  with  .\b. or s\bso\bou\bur\brc\bce\be) is at the top of the stack.
-              When a subroutine is executed, the number of  parameters  passed
+              of  parameters  to  the  current  subroutine  (shell function or
+              script executed with .\b. or s\bso\bou\bur\brc\bce\be) is at the top  of  the  stack.
+              When  a  subroutine is executed, the number of parameters passed
               is pushed onto B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC.  The shell sets B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC only when in
-              extended debugging mode (see the  description  of  the  e\bex\bxt\btd\bde\beb\bbu\bug\bg
+              extended  debugging  mode  (see  the description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg
               option to the s\bsh\bho\bop\bpt\bt builtin below)
        B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV
-              An  array  variable containing all of the parameters in the cur-
+              An array variable containing all of the parameters in  the  cur-
               rent b\bba\bas\bsh\bh execution call stack.  The final parameter of the last
-              subroutine  call is at the top of the stack; the first parameter
+              subroutine call is at the top of the stack; the first  parameter
               of the initial call is at the bottom.  When a subroutine is exe-
-              cuted,  the  parameters supplied are pushed onto B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV.  The
-              shell sets B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV only when in extended debugging  mode  (see
-              the  description  of  the  e\bex\bxt\btd\bde\beb\bbu\bug\bg  option to the s\bsh\bho\bop\bpt\bt builtin
+              cuted, the parameters supplied are pushed onto  B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV.   The
+              shell  sets  B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV only when in extended debugging mode (see
+              the description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg  option  to  the  s\bsh\bho\bop\bpt\b builtin
               below)
        B\bBA\bAS\bSH\bH_\b_C\bCM\bMD\bDS\bS
-              An associative array variable whose members  correspond  to  the
-              internal  hash  table  of  commands  as  maintained  by the h\bha\bas\bsh\bh
+              An  associative  array  variable whose members correspond to the
+              internal hash table  of  commands  as  maintained  by  the  h\bha\bas\bsh\bh
               builtin.  Elements added to this array appear in the hash table;
-              unsetting  array  elements cause commands to be removed from the
+              unsetting array elements cause commands to be removed  from  the
               hash table.
        B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD
-              The command currently being executed or about  to  be  executed,
+              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
+              in  which  case  it  is the command executing at the time of the
               trap.
        B\bBA\bAS\bSH\bH_\b_E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN_\b_S\bST\bTR\bRI\bIN\bNG\bG
               The command argument to the -\b-c\bc invocation option.
        B\bBA\bAS\bSH\bH_\b_L\bLI\bIN\bNE\bEN\bNO\bO
-              An  array  variable whose members are the line numbers in source
-              files where each corresponding member of F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE  was  invoked.
+              An array variable whose members are the line numbers  in  source
+              files  where  each corresponding member of F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE was invoked.
               $\b${\b{B\bBA\bAS\bSH\bH_\b_L\bLI\bIN\bNE\bEN\bNO\bO[\b[_\b$_\bi]\b]}\b}  is  the  line  number  in  the  source  file
               ($\b${\b{B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE[\b[_\b$_\bi_\b+_\b1]\b]}\b})  where  $\b${\b{F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE[\b[_\b$_\bi]\b]}\b}  was  called  (or
-              $\b${\b{B\bBA\bAS\bSH\bH_\b_L\bLI\bIN\bNE\bEN\bNO\bO[\b[_\b$_\bi_\b-_\b1]\b]}\b if  referenced  within another shell func-
+              $\b${\b{B\bBA\bAS\bSH\bH_\b_L\bLI\bIN\bNE\bEN\bNO\bO[\b[_\b$_\bi_\b-_\b1]\b]}\bif referenced within  another  shell  func-
               tion).  Use L\bLI\bIN\bNE\bEN\bNO\bO to obtain the current line number.
        B\bBA\bAS\bSH\bH_\b_R\bRE\bEM\bMA\bAT\bTC\bCH\bH
-              An array variable whose members are assigned by  the  =\b=~\b binary
-              operator  to the [\b[[\b[ conditional command.  The element with index
-              0 is the portion of  the  string  matching  the  entire  regular
-              expression.   The  element  with  index  _\bn is the portion of the
+              An  array  variable  whose members are assigned by the =\b=~\b~ binary
+              operator to the [\b[[\b[ conditional command.  The element with  index
+              0  is  the  portion  of  the  string matching the entire regular
+              expression.  The element with index _\bn  is  the  portion  of  the
               string matching the _\bnth parenthesized subexpression.  This vari-
               able is read-only.
        B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE
-              An  array  variable whose members are the source filenames where
-              the corresponding shell function names  in  the  F\bFU\bUN\bNC\bCN\bNA\bAM\bME\b array
-              variable  are  defined.   The  shell function $\b${\b{F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE[\b[_\b$_\bi]\b]}\b} is
-              defined  in  the  file  $\b${\b{B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE[\b[_\b$_\bi]\b]}\b}   and   called   from
+              An array variable whose members are the source  filenames  where
+              the  corresponding  shell  function  names in the F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE array
+              variable are defined.  The  shell  function  $\b${\b{F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE[\b[_\b$_\bi]\b]}\b is
+              defined   in   the   file  $\b${\b{B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE[\b[_\b$_\bi]\b]}\b}  and  called  from
               $\b${\b{B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE[\b[_\b$_\bi_\b+_\b1]\b]}\b}.
        B\bBA\bAS\bSH\bH_\b_S\bSU\bUB\bBS\bSH\bHE\bEL\bLL\bL
-              Incremented  by one within each subshell or subshell environment
-              when the shell begins executing in that environment.   The  ini-
+              Incremented by one within each subshell or subshell  environment
+              when  the  shell begins executing in that environment.  The ini-
               tial value is 0.
        B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIN\bNF\bFO\bO
               A readonly array variable whose members hold version information
-              for this instance of b\bba\bas\bsh\bh.  The values  assigned  to  the  array
+              for  this  instance  of  b\bba\bas\bsh\bh.  The values assigned to the array
               members are as follows:
-              B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIN\bNF\bFO\bO[\b[0]\b]        The  major version number (the _\br_\be_\bl_\be_\ba_\bs_\be).
-              B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIN\bNF\bFO\bO[\b[1]\b]        The minor version number (the  _\bv_\be_\br_\bs_\bi_\bo_\bn).
+              B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIN\bNF\bFO\bO[\b[0]\b]        The major version number (the  _\br_\be_\bl_\be_\ba_\bs_\be).
+              B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIN\bNF\bFO\bO[\b[1]\b]        The  minor version number (the _\bv_\be_\br_\bs_\bi_\bo_\bn).
               B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIN\bNF\bFO\bO[\b[2]\b]        The patch level.
               B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIN\bNF\bFO\bO[\b[3]\b]        The build version.
               B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIN\bNF\bFO\bO[\b[4]\b]        The release status (e.g., _\bb_\be_\bt_\ba_\b1).
               B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIN\bNF\bFO\bO[\b[5]\b]        The value of M\bMA\bAC\bCH\bHT\bTY\bYP\bPE\bE.
        B\bBA\bAS\bSH\bH_\b_V\bVE\bER\bRS\bSI\bIO\bON\bN
-              Expands  to  a string describing the version of this instance of
+              Expands to a string describing the version of this  instance  of
               b\bba\bas\bsh\bh.
        C\bCO\bOM\bMP\bP_\b_C\bCW\bWO\bOR\bRD\bD
-              An index into $\b${\b{C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDS\bS}\b} of the word containing  the  current
+              An  index  into $\b${\b{C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDS\bS}\b} of the word containing the current
               cursor position.  This variable is available only in shell func-
-              tions invoked by the  programmable  completion  facilities  (see
+              tions  invoked  by  the  programmable completion facilities (see
               P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn below).
        C\bCO\bOM\bMP\bP_\b_K\bKE\bEY\bY
               The key (or final key of a key sequence) used to invoke the cur-
               rent completion function.
        C\bCO\bOM\bMP\bP_\b_L\bLI\bIN\bNE\bE
-              The current command line.  This variable is  available  only  in
-              shell  functions  and  external  commands  invoked  by  the pro-
-              grammable completion  facilities  (see  P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\b C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
+              The  current  command  line.  This variable is available only in
+              shell functions  and  external  commands  invoked  by  the  pro-
+              grammable  completion  facilities  (see  P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
               below).
        C\bCO\bOM\bMP\bP_\b_P\bPO\bOI\bIN\bNT\bT
-              The  index of the current cursor position relative to the begin-
-              ning of the current command.  If the current cursor position  is
+              The index of the current cursor position relative to the  begin-
+              ning  of the current command.  If the current cursor position is
               at the end of the current command, the value of this variable is
-              equal to $\b${\b{#\b#C\bCO\bOM\bMP\bP_\b_L\bLI\bIN\bNE\bE}\b}.  This  variable  is  available  only  in
-              shell  functions  and  external  commands  invoked  by  the pro-
-              grammable completion  facilities  (see  P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\b C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
+              equal  to  $\b${\b{#\b#C\bCO\bOM\bMP\bP_\b_L\bLI\bIN\bNE\bE}\b}.   This  variable  is available only in
+              shell functions  and  external  commands  invoked  by  the  pro-
+              grammable  completion  facilities  (see  P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
               below).
        C\bCO\bOM\bMP\bP_\b_T\bTY\bYP\bPE\bE
-              Set  to an integer value corresponding to the type of completion
-              attempted that caused a completion function to be  called:  _\bT_\bA_\bB,
-              for  normal completion, _\b?, for listing completions after succes-
-              sive tabs, _\b!, for listing alternatives on partial  word  comple-
-              tion,  _\b@,  to list completions if the word is not unmodified, or
-              _\b%, for menu completion.  This  variable  is  available  only  in
-              shell  functions  and  external  commands  invoked  by  the pro-
-              grammable completion  facilities  (see  P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\b C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
+              Set to an integer value corresponding to the type of  completion
+              attempted  that  caused a completion function to be called: _\bT_\bA_\bB,
+              for normal completion, _\b?, for listing completions after  succes-
+              sive  tabs,  _\b!, for listing alternatives on partial word comple-
+              tion, _\b@, to list completions if the word is not  unmodified,  or
+              _\b%,  for  menu  completion.   This  variable is available only in
+              shell functions  and  external  commands  invoked  by  the  pro-
+              grammable  completion  facilities  (see  P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
               below).
        C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS
-              The  set  of characters that the r\bre\bea\bad\bdl\bli\bin\bne\be library treats as word
-              separators when performing word completion.  If  C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS
-              is  unset, it loses its special properties, even if it is subse-
+              The set of characters that the r\bre\bea\bad\bdl\bli\bin\bne\be library treats  as  word
+              separators  when performing word completion.  If C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS
+              is unset, it loses its special properties, even if it is  subse-
               quently reset.
        C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDS\bS
-              An array variable (see A\bAr\brr\bra\bay\bys\bs below) consisting of the  individ-
-              ual  words  in the current command line.  The line is split into
-              words as r\bre\bea\bad\bdl\bli\bin\bne\be  would  split  it,  using  C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\b as
+              An  array variable (see A\bAr\brr\bra\bay\bys\bs below) consisting of the individ-
+              ual words in the current command line.  The line is  split  into
+              words  as  r\bre\bea\bad\bdl\bli\bin\bne\be  would  split  it,  using C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS as
               described above.  This variable is available only in shell func-
-              tions invoked by the  programmable  completion  facilities  (see
+              tions  invoked  by  the  programmable completion facilities (see
               P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn below).
-       C\bCO\bOP\bPR\bRO\bOC\bC An  array  variable  (see A\bAr\brr\bra\bay\bys\bs below) created to hold the file
-              descriptors for output from and input to  an  unnamed  coprocess
+       C\bCO\bOP\bPR\bRO\bOC\bC An array variable (see A\bAr\brr\bra\bay\bys\bs below) created to  hold  the  file
+              descriptors  for  output  from and input to an unnamed coprocess
               (see C\bCo\bop\bpr\bro\boc\bce\bes\bss\bse\bes\bs above).
        D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK
               An array variable (see A\bAr\brr\bra\bay\bys\bs below) containing the current con-
-              tents of the directory stack.  Directories appear in  the  stack
-              in  the order they are displayed by the d\bdi\bir\brs\bs builtin.  Assigning
+              tents  of  the directory stack.  Directories appear in the stack
+              in the order they are displayed by the d\bdi\bir\brs\bs builtin.   Assigning
               to members of this array variable may be used to modify directo-
-              ries  already in the stack, but the p\bpu\bus\bsh\bhd\bd and p\bpo\bop\bpd\bd builtins must
+              ries already in the stack, but the p\bpu\bus\bsh\bhd\bd and p\bpo\bop\bpd\bd builtins  must
               be used to add and remove directories.  Assignment to this vari-
-              able  will  not  change  the  current directory.  If D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK is
-              unset, it loses its special properties, even  if  it  is  subse-
+              able will not change the  current  directory.   If  D\bDI\bIR\bRS\bST\bTA\bAC\bCK\b is
+              unset,  it  loses  its  special properties, even if it is subse-
               quently reset.
-       E\bEU\bUI\bID\bD   Expands  to  the effective user ID of the current user, initial-
+       E\bEU\bUI\bID\bD   Expands to the effective user ID of the current  user,  initial-
               ized at shell startup.  This variable is readonly.
        F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE
-              An array variable containing the names of  all  shell  functions
+              An  array  variable  containing the names of all shell functions
               currently in the execution call stack.  The element with index 0
               is the name of any currently-executing shell function.  The bot-
-              tom-most  element  (the  one  with the highest index) is "main".
-              This variable exists only when a shell  function  is  executing.
-              Assignments  to F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE have no effect and return an error sta-
-              tus.  If F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE is unset, it  loses  its  special  properties,
+              tom-most element (the one with the  highest  index)  is  "main".
+              This  variable  exists  only when a shell function is executing.
+              Assignments to F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE have no effect and return an error  sta-
+              tus.   If  F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE  is  unset, it loses its special properties,
               even if it is subsequently reset.
 
-              This  variable  can  be  used  with B\bBA\bAS\bSH\bH_\b_L\bLI\bIN\bNE\bEN\bNO\bO and B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE.
-              Each  element  of  F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE  has   corresponding   elements   in
-              B\bBA\bAS\bSH\bH_\b_L\bLI\bIN\bNE\bEN\bNO\b and  B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE  to  describe the call stack.  For
-              instance,   $\b${\b{F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE[\b[_\b$_\bi]\b]}\b}   was   called   from    the    file
-              $\b${\b{B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE[\b[_\b$_\bi_\b+_\b1]\b]}\b at  line  number  $\b${\b{B\bBA\bAS\bSH\bH_\b_L\bLI\bIN\bNE\bEN\bNO\bO[\b[_\b$_\bi]\b]}\b}.  The
+              This variable can be  used  with  B\bBA\bAS\bSH\bH_\b_L\bLI\bIN\bNE\bEN\bNO\bO  and  B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE.
+              Each   element   of   F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE  has  corresponding  elements  in
+              B\bBA\bAS\bSH\bH_\b_L\bLI\bIN\bNE\bEN\bNO\band B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE to describe  the  call  stack.   For
+              instance,    $\b${\b{F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE[\b[_\b$_\bi]\b]}\b}    was   called   from   the   file
+              $\b${\b{B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE[\b[_\b$_\bi_\b+_\b1]\b]}\bat  line  number  $\b${\b{B\bBA\bAS\bSH\bH_\b_L\bLI\bIN\bNE\bEN\bNO\bO[\b[_\b$_\bi]\b]}\b}.   The
               c\bca\bal\bll\ble\ber\br builtin displays the current call stack using this infor-
               mation.
-       G\bGR\bRO\bOU\bUP\bPS\bS An  array  variable  containing  the list of groups of which the
-              current user is a member.  Assignments to G\bGR\bRO\bOU\bUP\bPS\bS have no  effect
-              and  return  an  error status.  If G\bGR\bRO\bOU\bUP\bPS\bS is unset, it loses its
+       G\bGR\bRO\bOU\bUP\bPS\bS An array variable containing the list of  groups  of  which  the
+              current  user is a member.  Assignments to G\bGR\bRO\bOU\bUP\bPS\bS have no effect
+              and return an error status.  If G\bGR\bRO\bOU\bUP\bPS\bS is unset,  it  loses  its
               special properties, even if it is subsequently reset.
        H\bHI\bIS\bST\bTC\bCM\bMD\bD
               The history number, or index in the history list, of the current
-              command.   If H\bHI\bIS\bST\bTC\bCM\bMD\bD is unset, it loses its special properties,
+              command.  If H\bHI\bIS\bST\bTC\bCM\bMD\bD is unset, it loses its special  properties,
               even if it is subsequently reset.
        H\bHO\bOS\bST\bTN\bNA\bAM\bME\bE
               Automatically set to the name of the current host.
        H\bHO\bOS\bST\bTT\bTY\bYP\bPE\bE
-              Automatically set to a string that uniquely describes  the  type
-              of  machine  on which b\bba\bas\bsh\bh is executing.  The default is system-
+              Automatically  set  to a string that uniquely describes the type
+              of machine on which b\bba\bas\bsh\bh is executing.  The default  is  system-
               dependent.
-       L\bLI\bIN\bNE\bEN\bNO\bO Each time this parameter is referenced, the shell substitutes  a
-              decimal  number  representing the current sequential line number
-              (starting with 1) within a script or function.  When  not  in  a
-              script  or  function, the value substituted is not guaranteed to
+       L\bLI\bIN\bNE\bEN\bNO\bO Each  time this parameter is referenced, the shell substitutes a
+              decimal number representing the current sequential  line  number
+              (starting  with  1)  within a script or function.  When not in a
+              script or function, the value substituted is not  guaranteed  to
               be meaningful.  If L\bLI\bIN\bNE\bEN\bNO\bO is unset, it loses its special proper-
               ties, even if it is subsequently reset.
        M\bMA\bAC\bCH\bHT\bTY\bYP\bPE\bE
-              Automatically  set  to  a string that fully describes the system
-              type on which b\bba\bas\bsh\bh is executing, in the  standard  GNU  _\bc_\bp_\bu_\b-_\bc_\bo_\bm_\b-
+              Automatically set to a string that fully  describes  the  system
+              type  on  which  b\bba\bas\bsh\bh is executing, in the standard GNU _\bc_\bp_\bu_\b-_\bc_\bo_\bm_\b-
               _\bp_\ba_\bn_\by_\b-_\bs_\by_\bs_\bt_\be_\bm format.  The default is system-dependent.
        M\bMA\bAP\bPF\bFI\bIL\bLE\bE
-              An  array  variable  (see A\bAr\brr\bra\bay\bys\bs below) created to hold the text
+              An array variable (see A\bAr\brr\bra\bay\bys\bs below) created to  hold  the  text
               read by the m\bma\bap\bpf\bfi\bil\ble\be builtin when no variable name is supplied.
        O\bOL\bLD\bDP\bPW\bWD\bD The previous working directory as set by the c\bcd\bd command.
-       O\bOP\bPT\bTA\bAR\bRG\bG The value of the last option argument processed by  the  g\bge\bet\bto\bop\bpt\bts\bs
+       O\bOP\bPT\bTA\bAR\bRG\bG The  value  of the last option argument processed by the g\bge\bet\bto\bop\bpt\bts\bs
               builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
-       O\bOP\bPT\bTI\bIN\bND\bD The  index  of  the next argument to be processed by the g\bge\bet\bto\bop\bpt\bts\bs
+       O\bOP\bPT\bTI\bIN\bND\bD The index of the next argument to be processed  by  the  g\bge\bet\bto\bop\bpt\bts\bs
               builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
-       O\bOS\bST\bTY\bYP\bPE\bE Automatically set to a string that describes the operating  sys-
-              tem  on  which  b\bba\bas\bsh\bh is executing.  The default is system-depen-
+       O\bOS\bST\bTY\bYP\bPE\bE Automatically  set to a string that describes the operating sys-
+              tem on which b\bba\bas\bsh\bh is executing.  The  default  is  system-depen-
               dent.
        P\bPI\bIP\bPE\bES\bST\bTA\bAT\bTU\bUS\bS
-              An array variable (see A\bAr\brr\bra\bay\bys\bs below) containing a list  of  exit
-              status  values  from the processes in the most-recently-executed
+              An  array  variable (see A\bAr\brr\bra\bay\bys\bs below) containing a list of exit
+              status values from the processes in  the  most-recently-executed
               foreground pipeline (which may contain only a single command).
-       P\bPP\bPI\bID\bD   The process ID of the shell's parent.  This  variable  is  read-
+       P\bPP\bPI\bID\bD   The  process  ID  of the shell's parent.  This variable is read-
               only.
        P\bPW\bWD\bD    The current working directory as set by the c\bcd\bd command.
        R\bRA\bAN\bND\bDO\bOM\bM Each time this parameter is referenced, a random integer between
               0 and 32767 is generated.  The sequence of random numbers may be
               initialized by assigning a value to R\bRA\bAN\bND\bDO\bOM\bM.  If R\bRA\bAN\bND\bDO\bOM\bM is unset,
-              it loses its special properties,  even  if  it  is  subsequently
+              it  loses  its  special  properties,  even if it is subsequently
               reset.
        R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE
               The contents of the r\bre\bea\bad\bdl\bli\bin\bne\be line buffer, for use with "bind -x"
@@ -927,246 +930,246 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
        R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT
               The position of the insertion point in the r\bre\bea\bad\bdl\bli\bin\bne\be line buffer,
               for use with "bind -x" (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
-       R\bRE\bEP\bPL\bLY\bY  Set  to  the line of input read by the r\bre\bea\bad\bd builtin command when
+       R\bRE\bEP\bPL\bLY\bY  Set to the line of input read by the r\bre\bea\bad\bd builtin  command  when
               no arguments are supplied.
        S\bSE\bEC\bCO\bON\bND\bDS\bS
-              Each time this parameter is referenced, the  number  of  seconds
-              since  shell  invocation is returned.  If a value is assigned to
-              S\bSE\bEC\bCO\bON\bND\bDS\bS, the value returned upon subsequent  references  is  the
-              number  of seconds since the assignment plus the value assigned.
+              Each  time  this  parameter is referenced, the number of seconds
+              since shell invocation is returned.  If a value is  assigned  to
+              S\bSE\bEC\bCO\bON\bND\bDS\bS,  the  value  returned upon subsequent references is the
+              number of seconds since the assignment plus the value  assigned.
               If S\bSE\bEC\bCO\bON\bND\bDS\bS is unset, it loses its special properties, even if it
               is subsequently reset.
        S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS
-              A  colon-separated  list of enabled shell options.  Each word in
-              the list is a valid argument  for  the  -\b-o\bo  option  to  the  s\bse\bet\bt
+              A colon-separated list of enabled shell options.  Each  word  in
+              the  list  is  a  valid  argument  for  the -\b-o\bo option to the s\bse\bet\bt
               builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).  The options
-              appearing in S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS are those reported as _\bo_\bn by s\bse\bet\bt  -\b-o\bo.   If
-              this  variable  is  in the environment when b\bba\bas\bsh\bh starts up, each
-              shell option in the list will  be  enabled  before  reading  any
+              appearing  in  S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS are those reported as _\bo_\bn by s\bse\bet\bt -\b-o\bo.  If
+              this variable is in the environment when b\bba\bas\bsh\bh  starts  up,  each
+              shell  option  in  the  list  will be enabled before reading any
               startup files.  This variable is read-only.
        S\bSH\bHL\bLV\bVL\bL  Incremented by one each time an instance of b\bba\bas\bsh\bh is started.
        U\bUI\bID\bD    Expands to the user ID of the current user, initialized at shell
               startup.  This variable is readonly.
 
-       The following variables are used by the shell.   In  some  cases,  b\bba\bas\bsh\bh
+       The  following  variables  are  used by the shell.  In some cases, b\bba\bas\bsh\bh
        assigns a default value to a variable; these cases are noted below.
 
        B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV
-              If  this parameter is set when b\bba\bas\bsh\bh is executing a shell script,
-              its value is interpreted as a filename  containing  commands  to
+              If this parameter is set when b\bba\bas\bsh\bh is executing a shell  script,
+              its  value  is  interpreted as a filename containing commands to
               initialize the shell, as in _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc.  The value of B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV is
-              subjected to  parameter  expansion,  command  substitution,  and
-              arithmetic  expansion  before  being interpreted as a file name.
-              P\bPA\bAT\bTH\bH is not used to search for the resultant file name.
+              subjected  to  parameter  expansion,  command  substitution, and
+              arithmetic expansion before being  interpreted  as  a  filename.
+              P\bPA\bAT\bTH\bH is not used to search for the resultant filename.
        B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD
-              If set to an integer corresponding to a valid  file  descriptor,
-              b\bba\bas\bsh\b will  write  the  trace  output  generated  when _\bs_\be_\bt _\b-_\bx is
-              enabled to that file descriptor.  The file descriptor is  closed
-              when  B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD is unset or assigned a new value.  Unsetting
-              B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bor assigning it the empty string causes the  trace
-              output  to  be  sent  to  the standard error.  Note that setting
+              If  set  to an integer corresponding to a valid file descriptor,
+              b\bba\bas\bsh\bwill write the  trace  output  generated  when  _\bs_\be_\bt  _\b-_\b is
+              enabled  to that file descriptor.  The file descriptor is closed
+              when B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD is unset or assigned a new value.   Unsetting
+              B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\b or assigning it the empty string causes the trace
+              output to be sent to the  standard  error.   Note  that  setting
               B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD to 2 (the standard error file descriptor) and then
               unsetting it will result in the standard error being closed.
-       C\bCD\bDP\bPA\bAT\bTH\bH The  search  path for the c\bcd\bd command.  This is a colon-separated
-              list of directories in which the  shell  looks  for  destination
-              directories  specified  by  the  c\bcd\bd  command.  A sample value is
+       C\bCD\bDP\bPA\bAT\bTH\bH The search path for the c\bcd\bd command.  This is  a  colon-separated
+              list  of  directories  in  which the shell looks for destination
+              directories specified by the c\bcd\bd  command.   A  sample  value  is
               ".:~:/usr".
        C\bCO\bOL\bLU\bUM\bMN\bNS\bS
-              Used by the s\bse\bel\ble\bec\bct\bt compound command to  determine  the  terminal
-              width  when  printing  selection lists.  Automatically set in an
+              Used  by  the  s\bse\bel\ble\bec\bct\bt compound command to determine the terminal
+              width when printing selection lists.  Automatically  set  in  an
               interactive shell upon receipt of a S\bSI\bIG\bGW\bWI\bIN\bNC\bCH\bH.
        C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
               An array variable from which b\bba\bas\bsh\bh reads the possible completions
-              generated  by  a shell function invoked by the programmable com-
+              generated by a shell function invoked by the  programmable  com-
               pletion facility (see P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn below).
-       E\bEM\bMA\bAC\bCS\bS  If b\bba\bas\bsh\bh finds this variable in the environment  when  the  shell
-              starts  with  value "t", it assumes that the shell is running in
+       E\bEM\bMA\bAC\bCS\bS  If  b\bba\bas\bsh\bh  finds  this variable in the environment when the shell
+              starts with value "t", it assumes that the shell is  running  in
               an Emacs shell buffer and disables line editing.
-       E\bEN\bNV\bV    Similar to B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV; used when the shell  is  invoked  in  POSIX
+       E\bEN\bNV\bV    Similar  to  B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV;  used  when the shell is invoked in POSIX
               mode.
        F\bFC\bCE\bED\bDI\bIT\bT The default editor for the f\bfc\bc builtin command.
        F\bFI\bIG\bGN\bNO\bOR\bRE\bE
-              A  colon-separated  list  of  suffixes to ignore when performing
+              A colon-separated list of suffixes  to  ignore  when  performing
               filename completion (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE below).  A filename whose suf-
-              fix  matches  one of the entries in F\bFI\bIG\bGN\bNO\bOR\bRE\bE is excluded from the
+              fix matches one of the entries in F\bFI\bIG\bGN\bNO\bOR\bRE\bE is excluded  from  the
               list of matched filenames.  A sample value is ".o:~".
        F\bFU\bUN\bNC\bCN\bNE\bES\bST\bT
-              If set to a numeric value greater  than  0,  defines  a  maximum
-              function  nesting  level.  Function invocations that exceed this
+              If  set  to  a  numeric  value greater than 0, defines a maximum
+              function nesting level.  Function invocations that  exceed  this
               nesting level will cause the current command to abort.
        G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE
               A colon-separated list of patterns defining the set of filenames
               to be ignored by pathname expansion.  If a filename matched by a
-              pathname expansion pattern also matches one of the  patterns  in
+              pathname  expansion  pattern also matches one of the patterns in
               G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE, it is removed from the list of matches.
        H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL
-              A  colon-separated  list  of values controlling how commands are
-              saved on the history list.   If  the  list  of  values  includes
-              _\bi_\bg_\bn_\bo_\br_\be_\bs_\bp_\ba_\bc_\be,  lines  which  begin with a s\bsp\bpa\bac\bce\be character are not
-              saved in the history list.  A value of _\bi_\bg_\bn_\bo_\br_\be_\bd_\bu_\bp_\bs  causes  lines
+              A colon-separated list of values controlling  how  commands  are
+              saved  on  the  history  list.   If  the list of values includes
+              _\bi_\bg_\bn_\bo_\br_\be_\bs_\bp_\ba_\bc_\be, lines which begin with a s\bsp\bpa\bac\bce\be  character  are  not
+              saved  in  the history list.  A value of _\bi_\bg_\bn_\bo_\br_\be_\bd_\bu_\bp_\bs causes lines
               matching the previous history entry to not be saved.  A value of
               _\bi_\bg_\bn_\bo_\br_\be_\bb_\bo_\bt_\bh is shorthand for _\bi_\bg_\bn_\bo_\br_\be_\bs_\bp_\ba_\bc_\be and _\bi_\bg_\bn_\bo_\br_\be_\bd_\bu_\bp_\bs.  A value
               of _\be_\br_\ba_\bs_\be_\bd_\bu_\bp_\bs causes all previous lines matching the current line
-              to be removed from the history list before that line  is  saved.
-              Any  value  not in the above list is ignored.  If H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL is
-              unset, or does not include a valid value, all lines read by  the
+              to  be  removed from the history list before that line is saved.
+              Any value not in the above list is ignored.  If  H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\b is
+              unset,  or does not include a valid value, all lines read by the
               shell parser are saved on the history list, subject to the value
-              of H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE.  The second and subsequent lines of a  multi-line
-              compound  command  are  not tested, and are added to the history
+              of  H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE.  The second and subsequent lines of a multi-line
+              compound command are not tested, and are added  to  the  history
               regardless of the value of H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL.
        H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE
               The name of the file in which command history is saved (see H\bHI\bIS\bS-\b-
-              T\bTO\bOR\bRY\b below).   The default value is _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by.  If unset,
-              the command history is  not  saved  when  an  interactive  shell
+              T\bTO\bOR\bRY\bbelow).  The default value is _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by.   If  unset,
+              the  command  history  is  not  saved  when an interactive shell
               exits.
        H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE
               The maximum number of lines contained in the history file.  When
-              this variable is assigned a value, the  history  file  is  trun-
-              cated,  if necessary, by removing the oldest entries, to contain
-              no more than that number of lines.  The default  value  is  500.
+              this  variable  is  assigned  a value, the history file is trun-
+              cated, if necessary, by removing the oldest entries, to  contain
+              no  more  than  that number of lines.  The default value is 500.
               The history file is also truncated to this size after writing it
               when an interactive shell exits.
        H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE
-              A colon-separated list of patterns used to decide which  command
-              lines  should  be  saved  on  the history list.  Each pattern is
-              anchored at the beginning of the line and must  match  the  com-
-              plete  line  (no  implicit  `*\b*'  is  appended).  Each pattern is
-              tested against the line after the checks specified  by  H\bHI\bIS\bST\bTC\bCO\bON\bN-\b-
-              T\bTR\bRO\bOL\b are  applied.   In  addition  to  the normal shell pattern
+              A  colon-separated list of patterns used to decide which command
+              lines should be saved on the  history  list.   Each  pattern  is
+              anchored  at  the  beginning of the line and must match the com-
+              plete line (no implicit  `*\b*'  is  appended).   Each  pattern  is
+              tested  against  the line after the checks specified by H\bHI\bIS\bST\bTC\bCO\bON\bN-\b-
+              T\bTR\bRO\bOL\bare applied.  In  addition  to  the  normal  shell  pattern
               matching characters, `&\b&' matches the previous history line.  `&\b&'
-              may  be  escaped  using  a  backslash;  the backslash is removed
+              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 H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE.
        H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE
-              The number of commands to remember in the command  history  (see
+              The  number  of commands to remember in the command history (see
               H\bHI\bIS\bST\bTO\bOR\bRY\bY below).  The default value is 500.
        H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT
-              If  this  variable  is  set and not null, its value is used as a
+              If this variable is set and not null, its value  is  used  as  a
               format string for _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) to print the time stamp associated
-              with  each  history  entry displayed by the h\bhi\bis\bst\bto\bor\bry\by builtin.  If
-              this variable is set, time stamps are  written  to  the  history
-              file  so they may be preserved across shell sessions.  This uses
-              the history comment character  to  distinguish  timestamps  from
+              with each history entry displayed by the  h\bhi\bis\bst\bto\bor\bry\by  builtin.   If
+              this  variable  is  set,  time stamps are written 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.
        H\bHO\bOM\bME\bE   The home directory of the current user; the default argument for
               the c\bcd\bd builtin command.  The value of this variable is also used
               when performing tilde expansion.
        H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE
-              Contains  the  name  of  a file in the same format as _\b/_\be_\bt_\bc_\b/_\bh_\bo_\bs_\bt_\bs
+              Contains the name of a file in the  same  format  as  _\b/_\be_\bt_\bc_\b/_\bh_\bo_\bs_\bt_\bs
               that should be read when the shell needs to complete a hostname.
-              The  list  of possible hostname completions may be changed while
-              the shell is running;  the  next  time  hostname  completion  is
-              attempted  after the value is changed, b\bba\bas\bsh\bh adds the contents of
-              the new file to the existing list.  If H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE is set, but  has
-              no  value,  or  does  not name a readable file, b\bba\bas\bsh\bh attempts to
-              read _\b/_\be_\bt_\bc_\b/_\bh_\bo_\bs_\bt_\bs to obtain the list of possible hostname  comple-
+              The list of possible hostname completions may be  changed  while
+              the  shell  is  running;  the  next  time hostname completion is
+              attempted after the value is changed, b\bba\bas\bsh\bh adds the contents  of
+              the  new file to the existing list.  If H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE is set, but has
+              no value, or does not name a readable  file,  b\bba\bas\bsh\bh  attempts  to
+              read  _\b/_\be_\bt_\bc_\b/_\bh_\bo_\bs_\bt_\bs to obtain the list of possible hostname comple-
               tions.  When H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE is unset, the hostname list is cleared.
-       I\bIF\bFS\bS    The  _\bI_\bn_\bt_\be_\br_\bn_\ba_\bl  _\bF_\bi_\be_\bl_\bd  _\bS_\be_\bp_\ba_\br_\ba_\bt_\bo_\br  that is used for word splitting
-              after expansion and to split lines  into  words  with  the  r\bre\bea\bad\bd
+       I\bIF\bFS\bS    The _\bI_\bn_\bt_\be_\br_\bn_\ba_\bl _\bF_\bi_\be_\bl_\bd _\bS_\be_\bp_\ba_\br_\ba_\bt_\bo_\br that is  used  for  word  splitting
+              after  expansion  and  to  split  lines into words with the r\bre\bea\bad\bd
               builtin  command.   The  default  value  is  ``<space><tab><new-
               line>''.
        I\bIG\bGN\bNO\bOR\bRE\bEE\bEO\bOF\bF
               Controls the action of an interactive shell on receipt of an E\bEO\bOF\bF
               character as the sole input.  If set, the value is the number of
-              consecutive E\bEO\bOF\bF characters which must  be  typed  as  the  first
-              characters  on an input line before b\bba\bas\bsh\bh exits.  If the variable
-              exists but does not have a numeric value, or has no  value,  the
-              default  value  is  10.  If it does not exist, E\bEO\bOF\bF signifies the
+              consecutive  E\bEO\bOF\bF  characters  which  must  be typed as the first
+              characters on an input line before b\bba\bas\bsh\bh exits.  If the  variable
+              exists  but  does not have a numeric value, or has no value, the
+              default value is 10.  If it does not exist,  E\bEO\bOF\bF  signifies  the
               end of input to the shell.
        I\bIN\bNP\bPU\bUT\bTR\bRC\bC
-              The filename for  the  r\bre\bea\bad\bdl\bli\bin\bne\be  startup  file,  overriding  the
+              The  filename  for  the  r\bre\bea\bad\bdl\bli\bin\bne\be  startup  file, overriding the
               default of _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE below).
-       L\bLA\bAN\bNG\bG   Used  to  determine  the  locale  category  for any category not
+       L\bLA\bAN\bNG\bG   Used to determine the  locale  category  for  any  category  not
               specifically selected with a variable starting with L\bLC\bC_\b_.
-       L\bLC\bC_\b_A\bAL\bLL\bL This variable overrides the value of  L\bLA\bAN\bNG\bG  and  any  other  L\bLC\bC_\b_
+       L\bLC\bC_\b_A\bAL\bLL\bL This  variable  overrides  the  value  of L\bLA\bAN\bNG\bG and any other L\bLC\bC_\b_
               variable specifying a locale category.
        L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE
-              This  variable  determines the collation order used when sorting
-              the results of pathname expansion, and determines  the  behavior
-              of   range   expressions,  equivalence  classes,  and  collating
+              This variable determines the collation order used  when  sorting
+              the  results  of pathname expansion, and determines the behavior
+              of  range  expressions,  equivalence  classes,   and   collating
               sequences within pathname expansion and pattern matching.
        L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE
-              This variable determines the interpretation  of  characters  and
-              the  behavior of character classes within pathname expansion and
+              This  variable  determines  the interpretation of characters and
+              the behavior of character classes within pathname expansion  and
               pattern matching.
        L\bLC\bC_\b_M\bME\bES\bSS\bSA\bAG\bGE\bES\bS
-              This variable determines the locale used  to  translate  double-
+              This  variable  determines  the locale used to translate double-
               quoted strings preceded by a $\b$.
        L\bLC\bC_\b_N\bNU\bUM\bME\bER\bRI\bIC\bC
-              This  variable  determines  the  locale category used for number
+              This variable determines the locale  category  used  for  number
               formatting.
-       L\bLI\bIN\bNE\bES\bS  Used by the s\bse\bel\ble\bec\bct\bt compound  command  to  determine  the  column
-              length  for  printing  selection lists.  Automatically set by an
+       L\bLI\bIN\bNE\bES\bS  Used  by  the  s\bse\bel\ble\bec\bct\bt  compound  command to determine the column
+              length for printing selection lists.  Automatically  set  by  an
               interactive shell upon receipt of a S\bSI\bIG\bGW\bWI\bIN\bNC\bCH\bH.
-       M\bMA\bAI\bIL\bL   If this parameter is set to a file or  directory  name  and  the
-              M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\b variable  is  not  set,  b\bba\bas\bsh\bh  informs the user of the
-              arrival of mail in the specified file or  Maildir-format  direc-
+       M\bMA\bAI\bIL\bL   If  this  parameter  is  set to a file or directory name and the
+              M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bvariable is not set,  b\bba\bas\bsh\bh  informs  the  user  of  the
+              arrival  of  mail in the specified file or Maildir-format direc-
               tory.
        M\bMA\bAI\bIL\bLC\bCH\bHE\bEC\bCK\bK
-              Specifies  how  often  (in  seconds)  b\bba\bas\bsh\bh checks for mail.  The
-              default is 60 seconds.  When it is time to check for  mail,  the
-              shell  does  so  before  displaying the primary prompt.  If this
-              variable is unset, or set to  a  value  that  is  not  a  number
+              Specifies how often (in seconds)  b\bba\bas\bsh\bh  checks  for  mail.   The
+              default  is  60 seconds.  When it is time to check for mail, the
+              shell does so before displaying the  primary  prompt.   If  this
+              variable  is  unset,  or  set  to  a  value that is not a number
               greater than or equal to zero, the shell disables mail checking.
        M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH
-              A colon-separated list of file names to  be  checked  for  mail.
-              The message to be printed when mail arrives in a particular file
-              may be specified by separating the file name  from  the  message
-              with a `?'.  When used in the text of the message, $\b$_\b_ expands to
-              the name of the current mailfile.  Example:
+              A colon-separated list of filenames to be checked for mail.  The
+              message to be printed when mail arrives in a particular file may
+              be  specified by separating the filename from the message with a
+              `?'.  When used in the text of the message, $\b$_\b_  expands  to  the
+              name of the current mailfile.  Example:
               M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH='/var/mail/bfox?"You  have  mail":~/shell-mail?"$_  has
               mail!"'
-              B\bBa\bas\bsh\b supplies  a default value for this variable, but the loca-
-              tion of the user mail files that it  uses  is  system  dependent
+              B\bBa\bas\bsh\bsupplies a default value for this variable, but  the  loca-
+              tion  of  the  user  mail files that it uses is system dependent
               (e.g., /var/mail/$\b$U\bUS\bSE\bER\bR).
        O\bOP\bPT\bTE\bER\bRR\bR If set to the value 1, b\bba\bas\bsh\bh displays error messages generated by
-              the g\bge\bet\bto\bop\bpt\bts\bs builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\b below).
-              O\bOP\bPT\bTE\bER\bRR\b is  initialized to 1 each time the shell is invoked or a
+              the  g\bge\bet\bto\bop\bpt\bts\bs builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
+              O\bOP\bPT\bTE\bER\bRR\bis initialized to 1 each time the shell is invoked  or  a
               shell script is executed.
-       P\bPA\bAT\bTH\bH   The search path for commands.  It is a colon-separated  list  of
-              directories  in  which the shell looks for commands (see C\bCO\bOM\bMM\bMA\bAN\bND\bD
-              E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bbelow).  A zero-length (null) directory  name  in  the
+       P\bPA\bAT\bTH\bH   The  search  path for commands.  It is a colon-separated list of
+              directories in which the shell looks for commands  (see  C\bCO\bOM\bMM\bMA\bAN\bND\bD
+              E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\b below).   A  zero-length (null) directory name in the
               value of P\bPA\bAT\bTH\bH indicates the current directory.  A null directory
-              name may appear as two adjacent colons,  or  as  an  initial  or
-              trailing  colon.   The  default path is system-dependent, and is
-              set by the administrator who installs b\bba\bas\bsh\bh.  A common  value  is
+              name  may  appear  as  two  adjacent colons, or as an initial or
+              trailing colon.  The default path is  system-dependent,  and  is
+              set  by  the administrator who installs b\bba\bas\bsh\bh.  A common value is
               ``/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin''.
        P\bPO\bOS\bSI\bIX\bXL\bLY\bY_\b_C\bCO\bOR\bRR\bRE\bEC\bCT\bT
-              If this variable is in the environment  when  b\bba\bas\bsh\bh  starts,  the
-              shell  enters _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be before reading the startup files, as if
-              the -\b--\b-p\bpo\bos\bsi\bix\bx invocation option had been supplied.  If it  is  set
-              while  the  shell is running, b\bba\bas\bsh\bh enables _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, as if the
+              If  this  variable  is  in the environment when b\bba\bas\bsh\bh starts, the
+              shell enters _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be before reading the startup files, as  if
+              the  -\b--\b-p\bpo\bos\bsi\bix\bx  invocation option had been supplied.  If it is set
+              while the shell is running, b\bba\bas\bsh\bh enables _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, as  if  the
               command _\bs_\be_\bt _\b-_\bo _\bp_\bo_\bs_\bi_\bx had been executed.
        P\bPR\bRO\bOM\bMP\bPT\bT_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD
               If set, the value is executed as a command prior to issuing each
               primary prompt.
        P\bPR\bRO\bOM\bMP\bPT\bT_\b_D\bDI\bIR\bRT\bTR\bRI\bIM\bM
-              If  set  to a number greater than zero, the value is used as the
+              If set to a number greater than zero, the value is used  as  the
               number of trailing directory components to retain when expanding
-              the  \\b\w\bw  and  \\b\W\bW  prompt  string  escapes (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below).
+              the \\b\w\bw and \\b\W\bW  prompt  string  escapes  (see  P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\b below).
               Characters removed are replaced with an ellipsis.
-       P\bPS\bS1\b1    The value of this parameter is expanded  (see  P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\b below)
-              and  used  as  the  primary prompt string.  The default value is
+       P\bPS\bS1\b1    The  value  of  this parameter is expanded (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below)
+              and used as the primary prompt string.   The  default  value  is
               ``\\b\s\bs-\b-\\b\v\bv\\b\$\b$ ''.
-       P\bPS\bS2\b2    The value of this parameter is expanded as with P\bPS\bS1\b1 and used  as
+       P\bPS\bS2\b2    The  value of this parameter is expanded as with P\bPS\bS1\b1 and used as
               the secondary prompt string.  The default is ``>\b> ''.
        P\bPS\bS3\b3    The value of this parameter is used as the prompt for the s\bse\bel\ble\bec\bct\bt
               command (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above).
-       P\bPS\bS4\b4    The value of this parameter is expanded  as  with  P\bPS\bS1\b1  and  the
-              value  is  printed  before  each command b\bba\bas\bsh\bh displays during an
-              execution trace.  The first character of P\bPS\bS4\b4 is replicated  mul-
-              tiple  times, as necessary, to indicate multiple levels of indi-
+       P\bPS\bS4\b4    The  value  of  this  parameter  is expanded as with P\bPS\bS1\b1 and the
+              value is printed before each command  b\bba\bas\bsh\bh  displays  during  an
+              execution  trace.  The first character of P\bPS\bS4\b4 is replicated mul-
+              tiple times, as necessary, to indicate multiple levels of  indi-
               rection.  The default is ``+\b+ ''.
        S\bSH\bHE\bEL\bLL\bL  The full pathname to the shell is kept in this environment vari-
-              able.   If  it is not set when the shell starts, b\bba\bas\bsh\bh assigns to
+              able.  If it is not set when the shell starts, b\bba\bas\bsh\bh  assigns  to
               it the full pathname of the current user's login shell.
        T\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT
-              The value of this parameter is used as a format string  specify-
-              ing  how  the timing information for pipelines prefixed with the
-              t\bti\bim\bme\breserved word should be displayed.  The %\b% character  intro-
-              duces  an  escape  sequence  that is expanded to a time value or
-              other information.  The escape sequences and their meanings  are
+              The  value of this parameter is used as a format string specify-
+              ing how the timing information for pipelines prefixed  with  the
+              t\bti\bim\bme\b reserved word should be displayed.  The %\b% character intro-
+              duces an escape sequence that is expanded to  a  time  value  or
+              other  information.  The escape sequences and their meanings are
               as follows; the braces denote optional portions.
               %\b%%\b%        A literal %\b%.
               %\b%[\b[_\bp]\b][\b[l\bl]\b]R\bR  The elapsed time in seconds.
@@ -1174,189 +1177,189 @@ P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS
               %\b%[\b[_\bp]\b][\b[l\bl]\b]S\bS  The number of CPU seconds spent in system mode.
               %\b%P\bP        The CPU percentage, computed as (%U + %S) / %R.
 
-              The  optional  _\bp is a digit specifying the _\bp_\br_\be_\bc_\bi_\bs_\bi_\bo_\bn, the number
+              The optional _\bp is a digit specifying the _\bp_\br_\be_\bc_\bi_\bs_\bi_\bo_\bn,  the  number
               of fractional digits after a decimal point.  A value of 0 causes
               no decimal point or fraction to be output.  At most three places
-              after the decimal point may be specified; values  of  _\b greater
-              than  3 are changed to 3.  If _\bp is not specified, the value 3 is
+              after  the  decimal  point may be specified; values of _\bp greater
+              than 3 are changed to 3.  If _\bp is not specified, the value 3  is
               used.
 
-              The optional l\bl specifies a longer format, including minutes,  of
-              the  form  _\bM_\bMm_\bS_\bS._\bF_\bFs.   The value of _\bp determines whether or not
+              The  optional l\bl specifies a longer format, including minutes, of
+              the form _\bM_\bMm_\bS_\bS._\bF_\bFs.  The value of _\bp determines  whether  or  not
               the fraction is included.
 
-              If this variable is not set, b\bba\bas\bsh\bh acts as if it  had  the  value
-              $\b$'\b'\\b\n\bnr\bre\bea\bal\bl\\b\t\bt%\b%3\b3l\blR\bR\\b\n\bnu\bus\bse\ber\br\\b\t\bt%\b%3\b3l\blU\bU\\b\n\bns\bsy\bys\bs%\b%3\b3l\blS\bS'\b'.   If the value is null, no
-              timing information is displayed.  A trailing  newline  is  added
+              If  this  variable  is not set, b\bba\bas\bsh\bh acts as if it had the value
+              $\b$'\b'\\b\n\bnr\bre\bea\bal\bl\\b\t\bt%\b%3\b3l\blR\bR\\b\n\bnu\bus\bse\ber\br\\b\t\bt%\b%3\b3l\blU\bU\\b\n\bns\bsy\bys\bs%\b%3\b3l\blS\bS'\b'.  If the value is null,  no
+              timing  information  is  displayed.  A trailing newline is added
               when the format string is displayed.
-       T\bTM\bMO\bOU\bUT\bT  If  set  to  a  value greater than zero, T\bTM\bMO\bOU\bUT\bT is treated as the
+       T\bTM\bMO\bOU\bUT\bT  If set to a value greater than zero, T\bTM\bMO\bOU\bUT\bT  is  treated  as  the
               default timeout for the r\bre\bea\bad\bd builtin.  The s\bse\bel\ble\bec\bct\bt command termi-
               nates if input does not arrive after T\bTM\bMO\bOU\bUT\bT seconds when input is
-              coming from a terminal.  In an interactive shell, the  value  is
-              interpreted  as  the  number  of seconds to wait for input after
-              issuing the primary prompt.  B\bBa\bas\bsh\bh terminates after  waiting  for
+              coming  from  a terminal.  In an interactive shell, the value is
+              interpreted as the number of seconds to  wait  for  input  after
+              issuing  the  primary prompt.  B\bBa\bas\bsh\bh terminates after waiting for
               that number of seconds if input does not arrive.
-       T\bTM\bMP\bPD\bDI\bIR\bR If  set, b\bba\bas\bsh\bh uses its value as the name of a directory in which
+       T\bTM\bMP\bPD\bDI\bIR\bR If set, b\bba\bas\bsh\bh uses its value as the name of a directory in  which
               b\bba\bas\bsh\bh creates temporary files for the shell's use.
        a\bau\but\bto\bo_\b_r\bre\bes\bsu\bum\bme\be
               This variable controls how the shell interacts with the user and
-              job  control.   If this variable is set, single word simple com-
+              job control.  If this variable is set, single word  simple  com-
               mands without redirections are treated as candidates for resump-
               tion of an existing stopped job.  There is no ambiguity allowed;
-              if there is more than one job beginning with the  string  typed,
-              the  job  most  recently  accessed  is  selected.  The _\bn_\ba_\bm_\be of a
-              stopped job, in this context, is the command line used to  start
-              it.   If  set to the value _\be_\bx_\ba_\bc_\bt, the string supplied must match
-              the name of a stopped job exactly;  if  set  to  _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg,  the
-              string  supplied  needs  to  match  a substring of the name of a
-              stopped job.  The _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg value provides functionality  analo-
-              gous  to the %\b%?\b?  job identifier (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL below).  If set
-              to any other value, the supplied string must be a  prefix  of  a
+              if  there  is more than one job beginning with the string typed,
+              the job most recently accessed  is  selected.   The  _\bn_\ba_\bm_\be  of  a
+              stopped  job, in this context, is the command line used to start
+              it.  If set to the value _\be_\bx_\ba_\bc_\bt, the string supplied  must  match
+              the  name  of  a  stopped  job exactly; if set to _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg, the
+              string supplied needs to match a substring  of  the  name  of  a
+              stopped  job.  The _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg value provides functionality analo-
+              gous to the %\b%?\b?  job identifier (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL below).  If  set
+              to  any  other  value, the supplied string must be a prefix of a
               stopped job's name; this provides functionality analogous to the
               %\b%_\bs_\bt_\br_\bi_\bn_\bg job identifier.
        h\bhi\bis\bst\btc\bch\bha\bar\brs\bs
-              The two or three characters which control history expansion  and
+              The  two or three characters which control history expansion and
               tokenization (see H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below).  The first character
-              is the _\bh_\bi_\bs_\bt_\bo_\br_\by _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn character, the character which  signals
-              the  start  of  a  history  expansion, normally `!\b!'.  The second
-              character is the _\bq_\bu_\bi_\bc_\bk _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn character, which is used  as
-              shorthand  for  re-running the previous command entered, substi-
-              tuting one string for another in the command.   The  default  is
-              `^\b^'.   The optional third character is the character which indi-
-              cates that the remainder of the line is a comment when found  as
-              the  first  character of a word, normally `#\b#'.  The history com-
+              is  the _\bh_\bi_\bs_\bt_\bo_\br_\by _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn character, the character which signals
+              the start of a history  expansion,  normally  `!\b!'.   The  second
+              character  is the _\bq_\bu_\bi_\bc_\bk _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn character, which is used as
+              shorthand for re-running the previous command  entered,  substi-
+              tuting  one  string  for another in the command.  The default is
+              `^\b^'.  The optional third character is the character which  indi-
+              cates  that the remainder of the line is a comment when found as
+              the first character of a word, normally `#\b#'.  The  history  com-
               ment character causes history substitution to be skipped for the
-              remaining  words on the line.  It does not necessarily cause the
+              remaining words on the line.  It does not necessarily cause  the
               shell parser to treat the rest of the line as a comment.
 
    A\bAr\brr\bra\bay\bys\bs
-       B\bBa\bas\bsh\bprovides one-dimensional indexed and associative array  variables.
-       Any  variable may be used as an indexed array; the d\bde\bec\bcl\bla\bar\bre\be builtin will
-       explicitly declare an array.  There is no maximum limit on the size  of
-       an  array, nor any requirement that members be indexed or assigned con-
-       tiguously.  Indexed arrays are  referenced  using  integers  (including
-       arithmetic  expressions)   and  are  zero-based; associative arrays are
+       B\bBa\bas\bsh\b provides one-dimensional indexed and associative array variables.
+       Any variable may be used as an indexed array; the d\bde\bec\bcl\bla\bar\bre\be builtin  will
+       explicitly  declare an array.  There is no maximum limit on the size of
+       an array, nor any requirement that members be indexed or assigned  con-
+       tiguously.   Indexed  arrays  are  referenced using integers (including
+       arithmetic expressions)  and are  zero-based;  associative  arrays  are
        referenced using arbitrary strings.
 
-       An indexed array is created automatically if any variable  is  assigned
+       An  indexed  array is created automatically if any variable is assigned
        to using the syntax _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bv_\ba_\bl_\bu_\be.  The _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is treated as
        an arithmetic expression that must evaluate to a number.  To explicitly
-       declare  an  indexed array, use d\bde\bec\bcl\bla\bar\bre\be -\b-a\ba _\bn_\ba_\bm_\be (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bM-\b-
-       M\bMA\bAN\bND\bDS\bbelow).  d\bde\bec\bcl\bla\bar\bre\be -\b-a\ba _\bn_\ba_\bm_\be[\b[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]\b] is also  accepted;  the  _\bs_\bu_\bb_\b-
+       declare an indexed array, use d\bde\bec\bcl\bla\bar\bre\be -\b-a\ba _\bn_\ba_\bm_\be (see S\bSH\bHE\bEL\bLL\bL  B\bBU\bUI\bIL\bLT\bTI\bIN\b C\bCO\bOM\bM-\b-
+       M\bMA\bAN\bND\bDS\b below).   d\bde\bec\bcl\bla\bar\bre\be  -\b-a\ba _\bn_\ba_\bm_\be[\b[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]\b] is also accepted; the _\bs_\bu_\bb_\b-
        _\bs_\bc_\br_\bi_\bp_\bt is ignored.
 
        Associative arrays are created using d\bde\bec\bcl\bla\bar\bre\be -\b-A\bA _\bn_\ba_\bm_\be.
 
        Attributes may be specified for an array variable using the d\bde\bec\bcl\bla\bar\bre\be and
-       r\bre\bea\bad\bdo\bon\bnl\bly\bbuiltins.  Each attribute applies to all members of an  array.
+       r\bre\bea\bad\bdo\bon\bnl\bly\b builtins.  Each attribute applies to all members of an array.
 
-       Arrays   are  assigned  to  using  compound  assignments  of  the  form
-       _\bn_\ba_\bm_\be=(\b(value_\b... value_\bn)\b),  where  each  _\bv_\ba_\bl_\bu_\be  is  of  the  form  [_\bs_\bu_\bb_\b-
-       _\bs_\bc_\br_\bi_\bp_\bt]=_\bs_\bt_\br_\bi_\bn_\bg.   Indexed  array assignments do not require the bracket
-       and subscript.  When assigning  to  indexed  arrays,  if  the  optional
-       brackets  and subscript are supplied, that index is assigned to; other-
-       wise the index of the element assigned is the last index assigned to by
-       the statement plus one.  Indexing starts at zero.
+       Arrays  are  assigned  to  using  compound  assignments  of  the   form
+       _\bn_\ba_\bm_\be=(\b(value_\b ...  value_\bn)\b),  where  each  _\bv_\ba_\bl_\bu_\be  is  of  the form [_\bs_\bu_\bb_\b-
+       _\bs_\bc_\br_\bi_\bp_\bt]=_\bs_\bt_\br_\bi_\bn_\bg.  Indexed array assignments do not require anything  but
+       _\bs_\bt_\br_\bi_\bn_\bg.  When assigning to indexed arrays, if the optional brackets and
+       subscript are supplied, that index is assigned to; otherwise the  index
+       of  the element assigned is the last index assigned to by the statement
+       plus one.  Indexing starts at zero.
 
        When assigning to an associative array, the subscript is required.
 
-       This  syntax is also accepted by the d\bde\bec\bcl\bla\bar\bre\be builtin.  Individual array
-       elements may be assigned  to  using  the  _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bv_\ba_\bl_\bu_\b syntax
+       This syntax is also accepted by the d\bde\bec\bcl\bla\bar\bre\be builtin.  Individual  array
+       elements  may  be  assigned  to  using the _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bv_\ba_\bl_\bu_\be syntax
        introduced above.
 
-       Any  element  of  an  array may be referenced using ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}.
+       Any element of an array may  be  referenced  using  ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}.
        The braces are required to avoid conflicts with pathname expansion.  If
-       _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\b is  @\b@  or *\b*, the word expands to all members of _\bn_\ba_\bm_\be.  These
-       subscripts differ only when the word appears within double quotes.   If
+       _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bis @\b@ or *\b*, the word expands to all members  of  _\bn_\ba_\bm_\be.   These
+       subscripts  differ only when the word appears within double quotes.  If
        the word is double-quoted, ${_\bn_\ba_\bm_\be[*]} expands to a single word with the
-       value of each array member separated by the first character of the  I\bIF\bFS\bS
+       value  of each array member separated by the first character of the I\bIF\bFS\bS
        special variable, and ${_\bn_\ba_\bm_\be[@]} expands each element of _\bn_\ba_\bm_\be to a sep-
-       arate word.  When there are no array  members,  ${_\bn_\ba_\bm_\be[@]}  expands  to
-       nothing.   If  the  double-quoted  expansion  occurs within a word, the
-       expansion of the first parameter is joined with the beginning  part  of
-       the  original  word,  and the expansion of the last parameter is joined
-       with the last part of the original word.   This  is  analogous  to  the
-       expansion  of  the  special  parameters *\b* and @\b@ (see S\bSp\bpe\bec\bci\bia\bal\bl P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs
-       above).  ${#_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}  expands  to  the  length  of  ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\b-
-       _\bs_\bc_\br_\bi_\bp_\bt]}.   If _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is *\b* or @\b@, the expansion is the number of ele-
-       ments in the array.  Referencing an array variable without a  subscript
-       is  equivalent  to referencing the array with a subscript of 0.  If the
+       arate  word.   When  there  are no array members, ${_\bn_\ba_\bm_\be[@]} expands to
+       nothing.  If the double-quoted expansion  occurs  within  a  word,  the
+       expansion  of  the first parameter is joined with the beginning part of
+       the original word, and the expansion of the last  parameter  is  joined
+       with  the  last  part  of  the original word.  This is analogous to the
+       expansion of the special parameters *\b* and  @\b@  (see  S\bSp\bpe\bec\bci\bia\bal\b P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs
+       above).   ${#_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}  expands  to  the  length  of ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\b-
+       _\bs_\bc_\br_\bi_\bp_\bt]}.  If _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is *\b* or @\b@, the expansion is the number of  ele-
+       ments  in the array.  Referencing an array variable without a subscript
+       is equivalent to referencing the array with a subscript of 0.   If  the
        _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt used to reference an element of an indexed array evaluates to
-       a  number less than zero, it is used as an offset from one greater than
-       the array's maximum index (so a subcript of -1 refers to the last  ele-
+       a number less than zero, it is used as an offset from one greater  than
+       the  array's maximum index (so a subcript of -1 refers to the last ele-
        ment of the array).
 
-       An  array variable is considered set if a subscript has been assigned a
+       An array variable is considered set if a subscript has been assigned  a
        value.  The null string is a valid value.
 
-       The u\bun\bns\bse\bet\bt builtin is used to  destroy  arrays.   u\bun\bns\bse\bet\b _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]
-       destroys  the  array element at index _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt.  Care must be taken to
-       avoid unwanted side effects caused by pathname expansion.  u\bun\bns\bse\bet\b _\bn_\ba_\bm_\be,
-       where  _\bn_\ba_\bm_\be is an array, or u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt], where _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is *\b*
+       The  u\bun\bns\bse\bet\bt  builtin  is  used to destroy arrays.  u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]
+       destroys the array element at index _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt.  Care must be  taken  to
+       avoid  unwanted side effects caused by pathname expansion.  u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be,
+       where _\bn_\ba_\bm_\be is an array, or u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt], where _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is  *\b*
        or @\b@, removes the entire array.
 
-       The d\bde\bec\bcl\bla\bar\bre\be, l\blo\boc\bca\bal\bl, and r\bre\bea\bad\bdo\bon\bnl\bly\by builtins each accept a  -\b-a\ba  option  to
-       specify  an  indexed  array  and  a -\b-A\bA option to specify an associative
-       array.  If both options are supplied, -\b-A\bA takes  precedence.   The  r\bre\bea\bad\bd
-       builtin  accepts  a  -\b-a\ba  option to assign a list of words read from the
+       The  d\bde\bec\bcl\bla\bar\bre\be,  l\blo\boc\bca\bal\bl,  and r\bre\bea\bad\bdo\bon\bnl\bly\by builtins each accept a -\b-a\ba option to
+       specify an indexed array and a -\b-A\bA  option  to  specify  an  associative
+       array.   If  both  options are supplied, -\b-A\bA takes precedence.  The r\bre\bea\bad\bd
+       builtin accepts a -\b-a\ba option to assign a list of  words  read  from  the
        standard input to an array.  The s\bse\bet\bt and d\bde\bec\bcl\bla\bar\bre\be builtins display array
        values in a way that allows them to be reused as assignments.
 
 E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        Expansion is performed on the command line after it has been split into
-       words.  There are seven kinds of expansion performed: _\bb_\br_\ba_\bc_\b _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn,
-       _\bt_\bi_\bl_\bd_\b _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn,  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  _\ba_\bn_\bd _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, _\bc_\bo_\bm_\bm_\ba_\bn_\bd _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\b-
+       words.   There are seven kinds of expansion performed: _\bb_\br_\ba_\bc_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn,
+       _\bt_\bi_\bl_\bd_\b_\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br _\ba_\bn_\bd _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be  _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn,  _\bc_\bo_\bm_\bm_\ba_\bn_\b _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\b-
        _\bt_\bi_\bo_\bn, _\ba_\br_\bi_\bt_\bh_\bm_\be_\bt_\bi_\bc _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, _\bw_\bo_\br_\bd _\bs_\bp_\bl_\bi_\bt_\bt_\bi_\bn_\bg, and _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn.
 
-       The order of expansions is: brace expansion, tilde  expansion,  parame-
-       ter,  variable  and arithmetic expansion and command substitution (done
+       The  order  of expansions is: brace expansion, tilde expansion, parame-
+       ter, variable and arithmetic expansion and command  substitution  (done
        in a left-to-right fashion), word splitting, and pathname expansion.
 
        On systems that can support it, there is an additional expansion avail-
        able: _\bp_\br_\bo_\bc_\be_\bs_\bs _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn.
 
        Only brace expansion, word splitting, and pathname expansion can change
-       the number of words of the expansion; other expansions expand a  single
-       word  to a single word.  The only exceptions to this are the expansions
+       the  number of words of the expansion; other expansions expand a single
+       word to a single word.  The only exceptions to this are the  expansions
        of "$\b$@\b@" and "$\b${\b{_\bn_\ba_\bm_\be[\b[@\b@]\b]}\b}" as explained above (see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS).
 
    B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
        _\bB_\br_\ba_\bc_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn is a mechanism by which arbitrary strings may be gener-
-       ated.   This  mechanism is similar to _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, but the file-
+       ated.  This mechanism is similar to _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, but  the  file-
        names generated need not exist.  Patterns to be brace expanded take the
        form of an optional _\bp_\br_\be_\ba_\bm_\bb_\bl_\be, followed by either a series of comma-sep-
-       arated strings or a sequence expression between a pair of braces,  fol-
-       lowed  by  an  optional  _\bp_\bo_\bs_\bt_\bs_\bc_\br_\bi_\bp_\bt.   The preamble is prefixed to each
+       arated  strings or a sequence expression between a pair of braces, fol-
+       lowed by an optional _\bp_\bo_\bs_\bt_\bs_\bc_\br_\bi_\bp_\bt.  The  preamble  is  prefixed  to  each
        string contained within the braces, and the postscript is then appended
        to each resulting string, expanding left to right.
 
-       Brace  expansions  may  be nested.  The results of each expanded string
-       are not sorted;  left  to  right  order  is  preserved.   For  example,
+       Brace expansions may be nested.  The results of  each  expanded  string
+       are  not  sorted;  left  to  right  order  is  preserved.  For example,
        a{\b{d,c,b}\b}e expands into `ade ace abe'.
 
-       A  sequence expression takes the form {\b{_\bx.\b..\b._\by[\b[.\b..\b._\bi_\bn_\bc_\br]\b]}\b}, where _\bx and _\by are
-       either integers or single characters, and _\bi_\bn_\bc_\br, an optional  increment,
-       is  an  integer.  When integers are supplied, the expression expands to
-       each number between _\bx and _\by, inclusive.  Supplied integers may be  pre-
-       fixed  with _\b0 to force each term to have the same width.  When either _\bx
-       or _\by begins with a zero, the shell  attempts  to  force  all  generated
-       terms  to  contain the same number of digits, zero-padding where neces-
-       sary.  When characters are supplied, the  expression  expands  to  each
+       A sequence expression takes the form {\b{_\bx.\b..\b._\by[\b[.\b..\b._\bi_\bn_\bc_\br]\b]}\b}, where _\bx and _\b are
+       either  integers or single characters, and _\bi_\bn_\bc_\br, an optional increment,
+       is an integer.  When integers are supplied, the expression  expands  to
+       each  number between _\bx and _\by, inclusive.  Supplied integers may be pre-
+       fixed with _\b0 to force each term to have the same width.  When either  _\bx
+       or  _\by  begins  with  a  zero, the shell attempts to force all generated
+       terms to contain the same number of digits, zero-padding  where  neces-
+       sary.   When  characters  are  supplied, the expression expands to each
        character lexicographically between _\bx and _\by, inclusive.  Note that both
-       _\band _\by must be of the same type.  When the increment is  supplied,  it
-       is  used as the difference between each term.  The default increment is
+       _\b and  _\by must be of the same type.  When the increment is supplied, it
+       is used as the difference between each term.  The default increment  is
        1 or -1 as appropriate.
 
        Brace expansion is performed before any other expansions, and any char-
-       acters  special to other expansions are preserved in the result.  It is
-       strictly textual.  B\bBa\bas\bsh\bh does not apply any syntactic interpretation  to
+       acters special to other expansions are preserved in the result.  It  is
+       strictly  textual.  B\bBa\bas\bsh\bh does not apply any syntactic interpretation to
        the context of the expansion or the text between the braces.
 
-       A  correctly-formed  brace  expansion must contain unquoted opening and
-       closing braces, and at least one unquoted comma  or  a  valid  sequence
-       expression.   Any incorrectly formed brace expansion is left unchanged.
+       A correctly-formed brace expansion must contain  unquoted  opening  and
+       closing  braces,  and  at  least one unquoted comma or a valid sequence
+       expression.  Any incorrectly formed brace expansion is left  unchanged.
        A {\b{ or ,\b, may be quoted with a backslash to prevent its being considered
-       part  of  a brace expression.  To avoid conflicts with parameter expan-
+       part of a brace expression.  To avoid conflicts with  parameter  expan-
        sion, the string $\b${\b{ is not considered eligible for brace expansion.
 
        This construct is typically used as shorthand when the common prefix of
@@ -1366,36 +1369,36 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        or
               chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}
 
-       Brace  expansion  introduces  a  slight incompatibility with historical
-       versions of s\bsh\bh.  s\bsh\bh does not treat opening or closing braces  specially
-       when  they  appear as part of a word, and preserves them in the output.
-       B\bBa\bas\bsh\bremoves braces from words as a  consequence  of  brace  expansion.
-       For  example,  a word entered to s\bsh\bh as _\bf_\bi_\bl_\be_\b{_\b1_\b,_\b2_\b} appears identically in
-       the output.  The same word is output as _\bf_\bi_\bl_\be_\b1 _\bf_\bi_\bl_\be_\b2 after expansion  by
-       b\bba\bas\bsh\bh.   If strict compatibility with s\bsh\bh is desired, start b\bba\bas\bsh\bh with the
+       Brace expansion introduces a  slight  incompatibility  with  historical
+       versions  of s\bsh\bh.  s\bsh\bh does not treat opening or closing braces specially
+       when they appear as part of a word, and preserves them in  the  output.
+       B\bBa\bas\bsh\b removes  braces  from  words as a consequence of brace expansion.
+       For example, a word entered to s\bsh\bh as _\bf_\bi_\bl_\be_\b{_\b1_\b,_\b2_\b} appears  identically  in
+       the  output.  The same word is output as _\bf_\bi_\bl_\be_\b1 _\bf_\bi_\bl_\be_\b2 after expansion by
+       b\bba\bas\bsh\bh.  If strict compatibility with s\bsh\bh is desired, start b\bba\bas\bsh\bh with  the
        +\b+B\bB option or disable brace expansion with the +\b+B\bB option to the s\bse\bet\bt com-
        mand (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
 
    T\bTi\bil\bld\bde\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
-       If  a  word  begins  with an unquoted tilde character (`~\b~'), all of the
-       characters preceding the first unquoted slash (or  all  characters,  if
-       there  is no unquoted slash) are considered a _\bt_\bi_\bl_\bd_\be_\b-_\bp_\br_\be_\bf_\bi_\bx.  If none of
-       the characters in the tilde-prefix are quoted, the  characters  in  the
-       tilde-prefix  following the tilde are treated as a possible _\bl_\bo_\bg_\bi_\bn _\bn_\ba_\bm_\be.
-       If this login name is the null string, the tilde is replaced  with  the
-       value  of  the shell parameter H\bHO\bOM\bME\bE.  If H\bHO\bOM\bME\bE is unset, the home direc-
-       tory of the user executing the shell is  substituted  instead.   Other-
-       wise,  the  tilde-prefix is replaced with the home directory associated
+       If a word begins with an unquoted tilde character  (`~\b~'),  all  of  the
+       characters  preceding  the  first unquoted slash (or all characters, if
+       there is no unquoted slash) are considered a _\bt_\bi_\bl_\bd_\be_\b-_\bp_\br_\be_\bf_\bi_\bx.  If none  of
+       the  characters  in  the tilde-prefix are quoted, the characters in the
+       tilde-prefix following the tilde are treated as a possible _\bl_\bo_\bg_\bi_\b _\bn_\ba_\bm_\be.
+       If  this  login name is the null string, the tilde is replaced with the
+       value of the shell parameter H\bHO\bOM\bME\bE.  If H\bHO\bOM\bME\bE is unset, the  home  direc-
+       tory  of  the  user executing the shell is substituted instead.  Other-
+       wise, the tilde-prefix is replaced with the home  directory  associated
        with the specified login name.
 
-       If the tilde-prefix is a `~+', the value  of  the  shell  variable  P\bPW\bWD\bD
+       If  the  tilde-prefix  is  a  `~+', the value of the shell variable P\bPW\bWD\bD
        replaces the tilde-prefix.  If the tilde-prefix is a `~-', the value of
-       the shell variable O\bOL\bLD\bDP\bPW\bWD\bD, if it is set, is substituted.  If the  char-
-       acters  following  the tilde in the tilde-prefix consist of a number _\bN,
-       optionally prefixed by a `+' or a `-',  the  tilde-prefix  is  replaced
+       the  shell variable O\bOL\bLD\bDP\bPW\bWD\bD, if it is set, is substituted.  If the char-
+       acters following the tilde in the tilde-prefix consist of a  number  _\bN,
+       optionally  prefixed  by  a  `+' or a `-', the tilde-prefix is replaced
        with the corresponding element from the directory stack, as it would be
        displayed by the d\bdi\bir\brs\bs builtin invoked with the tilde-prefix as an argu-
-       ment.   If  the characters following the tilde in the tilde-prefix con-
+       ment.  If the characters following the tilde in the  tilde-prefix  con-
        sist of a number without a leading `+' or `-', `+' is assumed.
 
        If the login name is invalid, or the tilde expansion fails, the word is
@@ -1403,176 +1406,176 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
 
        Each variable assignment is checked for unquoted tilde-prefixes immedi-
        ately following a :\b: or the first =\b=.  In these cases, tilde expansion is
-       also  performed.   Consequently,  one may use file names with tildes in
-       assignments to P\bPA\bAT\bTH\bH, M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH, and C\bCD\bDP\bPA\bAT\bTH\bH, and the  shell  assigns  the
+       also performed.  Consequently, one may use  filenames  with  tildes  in
+       assignments  to  P\bPA\bAT\bTH\bH,  M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH, and C\bCD\bDP\bPA\bAT\bTH\bH, and the shell assigns the
        expanded value.
 
    P\bPa\bar\bra\bam\bme\bet\bte\ber\br E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
        The `$\b$' character introduces parameter expansion, command substitution,
-       or arithmetic expansion.  The parameter name or symbol to  be  expanded
-       may  be enclosed in braces, which are optional but serve to protect the
-       variable to be expanded from characters immediately following it  which
+       or  arithmetic  expansion.  The parameter name or symbol to be expanded
+       may be enclosed in braces, which are optional but serve to protect  the
+       variable  to be expanded from characters immediately following it which
        could be interpreted as part of the name.
 
-       When  braces  are  used, the matching ending brace is the first `}\b}' not
-       escaped by a backslash or within a quoted string,  and  not  within  an
+       When braces are used, the matching ending brace is the  first  `}\b}'  not
+       escaped  by  a  backslash  or within a quoted string, and not within an
        embedded  arithmetic  expansion,  command  substitution,  or  parameter
        expansion.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}
-              The value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is substituted.  The braces are  required
-              when  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is  a  positional  parameter with more than one
+              The  value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is substituted.  The braces are required
+              when _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a positional  parameter  with  more  than  one
               digit, or when _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is followed by a character which is not
               to be interpreted as part of its name.
 
-       If  the  first  character  of  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an exclamation point (!\b!), a
-       level of variable indirection is introduced.  B\bBa\bas\bsh\bh uses  the  value  of
+       If the first character of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is  an  exclamation  point  (!\b!),  a
+       level  of  variable  indirection is introduced.  B\bBa\bas\bsh\bh uses the value of
        the variable formed from the rest of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br as the name of the vari-
        able; this variable is then expanded and that value is used in the rest
-       of  the  substitution, rather than the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br itself.  This
-       is known as _\bi_\bn_\bd_\bi_\br_\be_\bc_\bt _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn.  The exceptions to this are the  expan-
-       sions  of ${!\b!_\bp_\br_\be_\bf_\bi_\bx*\b*} and ${!\b!_\bn_\ba_\bm_\be[_\b@]} described below.  The exclamation
-       point must immediately follow the left  brace  in  order  to  introduce
+       of the substitution, rather than the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  itself.   This
+       is  known as _\bi_\bn_\bd_\bi_\br_\be_\bc_\bt _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn.  The exceptions to this are the expan-
+       sions of ${!\b!_\bp_\br_\be_\bf_\bi_\bx*\b*} and ${!\b!_\bn_\ba_\bm_\be[_\b@]} described below.  The  exclamation
+       point  must  immediately  follow  the  left brace in order to introduce
        indirection.
 
        In each of the cases below, _\bw_\bo_\br_\bd is subject to tilde expansion, parame-
        ter expansion, command substitution, and arithmetic expansion.
 
-       When not performing substring expansion,  using  the  forms  documented
-       below,  b\bba\bas\bsh\bh tests for a parameter that is unset or null.  Omitting the
+       When  not  performing  substring  expansion, using the forms documented
+       below, b\bba\bas\bsh\bh tests for a parameter that is unset or null.  Omitting  the
        colon results in a test only for a parameter that is unset.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:-\b-_\bw_\bo_\br_\bd}
-              U\bUs\bse\bD\bDe\bef\bfa\bau\bul\blt\bt V\bVa\bal\blu\bue\bes\bs.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is unset or null,  the  expan-
-              sion  of _\bw_\bo_\br_\bd is substituted.  Otherwise, the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+              U\bUs\bse\b D\bDe\bef\bfa\bau\bul\blt\bt  V\bVa\bal\blu\bue\bes\bs.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is unset or null, the expan-
+              sion of _\bw_\bo_\br_\bd is substituted.  Otherwise, the value of  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
               is substituted.
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:=\b=_\bw_\bo_\br_\bd}
-              A\bAs\bss\bsi\big\bgn\bD\bDe\bef\bfa\bau\bul\blt\bt V\bVa\bal\blu\bue\bes\bs.  If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is  unset  or  null,  the
+              A\bAs\bss\bsi\big\bgn\b D\bDe\bef\bfa\bau\bul\blt\bt  V\bVa\bal\blu\bue\bes\bs.   If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is  unset or null, the
               expansion of _\bw_\bo_\br_\bd is assigned to _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  The value of _\bp_\ba_\br_\ba_\bm_\b-
-              _\be_\bt_\be_\bis then substituted.   Positional  parameters  and  special
+              _\be_\bt_\be_\b is  then  substituted.   Positional parameters and special
               parameters may not be assigned to in this way.
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:?\b?_\bw_\bo_\br_\bd}
-              D\bDi\bis\bsp\bpl\bla\bay\b E\bEr\brr\bro\bor\br i\bif\bf N\bNu\bul\bll\bl o\bor\br U\bUn\bns\bse\bet\bt.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or unset,
-              the expansion of _\bw_\bo_\br_\bd (or a message to that effect  if  _\bw_\bo_\br_\b is
-              not  present) is written to the standard error and the shell, if
+              D\bDi\bis\bsp\bpl\bla\bay\bE\bEr\brr\bro\bor\br i\bif\bf N\bNu\bul\bll\bl o\bor\br U\bUn\bns\bse\bet\bt.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or  unset,
+              the  expansion  of  _\bw_\bo_\br_\bd (or a message to that effect if _\bw_\bo_\br_\bd is
+              not present) is written to the standard error and the shell,  if
               it is not interactive, exits.  Otherwise, the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
               is substituted.
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:+\b+_\bw_\bo_\br_\bd}
-              U\bUs\bse\b A\bAl\blt\bte\ber\brn\bna\bat\bte\be V\bVa\bal\blu\bue\be.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or unset, nothing is
+              U\bUs\bse\bA\bAl\blt\bte\ber\brn\bna\bat\bte\be V\bVa\bal\blu\bue\be.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or unset, nothing  is
               substituted, otherwise the expansion of _\bw_\bo_\br_\bd is substituted.
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:_\bo_\bf_\bf_\bs_\be_\bt}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:_\bo_\bf_\bf_\bs_\be_\bt:\b:_\bl_\be_\bn_\bg_\bt_\bh}
-              S\bSu\bub\bbs\bst\btr\bri\bin\bng\bE\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn.  Expands to  up  to  _\bl_\be_\bn_\bg_\bt_\bh  characters  of
-              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\b starting  at  the  character specified by _\bo_\bf_\bf_\bs_\be_\bt.  If
-              _\bl_\be_\bn_\bg_\bt_\bis omitted, expands to the substring of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\b start-
+              S\bSu\bub\bbs\bst\btr\bri\bin\bng\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn.   Expands  to  up  to _\bl_\be_\bn_\bg_\bt_\bh characters of
+              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\bstarting at the character  specified  by  _\bo_\bf_\bf_\bs_\be_\bt.   If
+              _\bl_\be_\bn_\bg_\bt_\b is omitted, expands to the substring of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br start-
               ing at the character specified by _\bo_\bf_\bf_\bs_\be_\bt.  _\bl_\be_\bn_\bg_\bt_\bh and _\bo_\bf_\bf_\bs_\be_\bt are
-              arithmetic expressions (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC  E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN  below).   If
-              _\bo_\bf_\bf_\bs_\be_\b evaluates  to a number less than zero, the value is used
-              as an offset from the end of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  If  _\bl_\be_\bn_\bg_\bt_\bh
+              arithmetic  expressions  (see  A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN below).  If
+              _\bo_\bf_\bf_\bs_\be_\bevaluates to a number less than zero, the value  is  used
+              as  an offset from the end of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  If _\bl_\be_\bn_\bg_\bt_\bh
               evaluates to a number less than zero, and _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is not @\b@ and
-              not an indexed or associative array, it  is  interpreted  as  an
+              not  an  indexed  or  associative array, it is interpreted as an
               offset from the end of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br rather than a num-
-              ber of characters, and the expansion is the  characters  between
-              the  two offsets.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@, the result is _\bl_\be_\bn_\bg_\bt_\bh posi-
-              tional parameters beginning  at  _\bo_\bf_\bf_\bs_\be_\bt.   If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is  an
-              indexed  array  name  subscripted  by  @ or *, the result is the
+              ber  of  characters, and the expansion is the characters between
+              the two offsets.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@, the result is _\bl_\be_\bn_\bg_\bt_\b posi-
+              tional  parameters  beginning  at  _\bo_\bf_\bf_\bs_\be_\bt.   If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an
+              indexed array name subscripted by @ or  *,  the  result  is  the
               _\bl_\be_\bn_\bg_\bt_\bh members of the array beginning with ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br[_\bo_\bf_\bf_\bs_\be_\bt]}.
               A negative _\bo_\bf_\bf_\bs_\be_\bt is taken relative to one greater than the max-
-              imum index of the specified array.  Substring expansion  applied
+              imum  index of the specified array.  Substring expansion applied
               to an associative array produces undefined results.  Note that a
               negative offset must be separated from the colon by at least one
-              space  to avoid being confused with the :- expansion.  Substring
-              indexing is zero-based  unless  the  positional  parameters  are
-              used,  in  which  case  the indexing starts at 1 by default.  If
-              _\bo_\bf_\bf_\bs_\be_\bis 0, and the positional parameters are used, $\b$0\b0 is  pre-
+              space to avoid being confused with the :- expansion.   Substring
+              indexing  is  zero-based  unless  the  positional parameters are
+              used, in which case the indexing starts at  1  by  default.   If
+              _\bo_\bf_\bf_\bs_\be_\b is 0, and the positional parameters are used, $\b$0\b0 is pre-
               fixed to the list.
 
        ${!\b!_\bp_\br_\be_\bf_\bi_\bx*\b*}
        ${!\b!_\bp_\br_\be_\bf_\bi_\bx@\b@}
-              N\bNa\bam\bme\bes\b m\bma\bat\btc\bch\bhi\bin\bng\bg p\bpr\bre\bef\bfi\bix\bx.  Expands to the names of variables whose
+              N\bNa\bam\bme\bes\bm\bma\bat\btc\bch\bhi\bin\bng\bg p\bpr\bre\bef\bfi\bix\bx.  Expands to the names of variables  whose
               names begin with _\bp_\br_\be_\bf_\bi_\bx, separated by the first character of the
-              I\bIF\bFS\b special variable.  When _\b@ is used and the expansion appears
-              within double quotes, each variable name expands to  a  separate
+              I\bIF\bFS\bspecial variable.  When _\b@ is used and the expansion  appears
+              within  double  quotes, each variable name expands to a separate
               word.
 
        ${!\b!_\bn_\ba_\bm_\be[_\b@]}
        ${!\b!_\bn_\ba_\bm_\be[_\b*]}
-              L\bLi\bis\bst\b o\bof\bf  a\bar\brr\bra\bay\by  k\bke\bey\bys\bs.  If _\bn_\ba_\bm_\be is an array variable, expands to
-              the list of array indices (keys) assigned in _\bn_\ba_\bm_\be.  If  _\bn_\ba_\bm_\b is
-              not  an  array,  expands to 0 if _\bn_\ba_\bm_\be is set and null otherwise.
-              When _\b@ is used and the expansion appears within  double  quotes,
+              L\bLi\bis\bst\bo\bof\bf a\bar\brr\bra\bay\by k\bke\bey\bys\bs.  If _\bn_\ba_\bm_\be is an array  variable,  expands  to
+              the  list  of array indices (keys) assigned in _\bn_\ba_\bm_\be.  If _\bn_\ba_\bm_\be is
+              not an array, expands to 0 if _\bn_\ba_\bm_\be is set  and  null  otherwise.
+              When  _\b@  is used and the expansion appears within double quotes,
               each key expands to a separate word.
 
        ${#\b#_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}
-              P\bPa\bar\bra\bam\bme\bet\bte\ber\b l\ble\ben\bng\bgt\bth\bh.   The  length  in  characters of the value of
-              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\bis substituted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is *\b*  or  @\b@,  the  value
-              substituted  is the number of positional parameters.  If _\bp_\ba_\br_\ba_\bm_\be_\b-
-              _\bt_\be_\bis an array name subscripted by *\b* or @\b@,  the  value  substi-
+              P\bPa\bar\bra\bam\bme\bet\bte\ber\bl\ble\ben\bng\bgt\bth\bh.  The length in  characters  of  the  value  of
+              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\b is  substituted.   If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is *\b* or @\b@, the value
+              substituted is the number of positional parameters.  If  _\bp_\ba_\br_\ba_\bm_\be_\b-
+              _\bt_\be_\b is  an  array name subscripted by *\b* or @\b@, the value substi-
               tuted is the number of elements in the array.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br#\b#_\bw_\bo_\br_\bd}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br#\b##\b#_\bw_\bo_\br_\bd}
               R\bRe\bem\bmo\bov\bve\be m\bma\bat\btc\bch\bhi\bin\bng\bg p\bpr\bre\bef\bfi\bix\bx p\bpa\bat\btt\bte\ber\brn\bn.  The _\bw_\bo_\br_\bd is expanded to produce
               a pattern just as in pathname expansion.  If the pattern matches
-              the  beginning of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the result of the
-              expansion is the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with  the  shortest
-              matching  pattern  (the ``#\b#'' case) or the longest matching pat-
-              tern (the ``#\b##\b#'' case) deleted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is  @\b@  or  *\b*,  the
-              pattern  removal operation is applied to each positional parame-
+              the beginning of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the result of  the
+              expansion  is  the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with the shortest
+              matching pattern (the ``#\b#'' case) or the longest  matching  pat-
+              tern  (the  ``#\b##\b#''  case)  deleted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the
+              pattern removal operation is applied to each positional  parame-
               ter in turn, and the expansion is the resultant list.  If _\bp_\ba_\br_\ba_\bm_\b-
-              _\be_\bt_\be_\b is  an array variable subscripted with @\b@ or *\b*, the pattern
-              removal operation is applied to each  member  of  the  array  in
+              _\be_\bt_\be_\bis an array variable subscripted with @\b@ or *\b*,  the  pattern
+              removal  operation  is  applied  to  each member of the array in
               turn, and the expansion is the resultant list.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br%\b%_\bw_\bo_\br_\bd}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br%\b%%\b%_\bw_\bo_\br_\bd}
               R\bRe\bem\bmo\bov\bve\be m\bma\bat\btc\bch\bhi\bin\bng\bg s\bsu\buf\bff\bfi\bix\bx p\bpa\bat\btt\bte\ber\brn\bn.  The _\bw_\bo_\br_\bd is expanded to produce
               a pattern just as in pathname expansion.  If the pattern matches
-              a  trailing portion of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the
-              result of the expansion is the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\b with
-              the  shortest  matching  pattern (the ``%\b%'' case) or the longest
-              matching pattern (the ``%\b%%\b%'' case) deleted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br  is  @\b@
-              or  *\b*,  the  pattern  removal operation is applied to each posi-
-              tional parameter in turn, and the  expansion  is  the  resultant
-              list.   If  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted with @\b@ or
-              *\b*, the pattern removal operation is applied to  each  member  of
+              a trailing portion of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then  the
+              result  of the expansion is the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with
+              the shortest matching pattern (the ``%\b%'' case)  or  the  longest
+              matching  pattern  (the ``%\b%%\b%'' case) deleted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@
+              or *\b*, the pattern removal operation is  applied  to  each  posi-
+              tional  parameter  in  turn,  and the expansion is the resultant
+              list.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted with  @\b or
+              *\b*,  the  pattern  removal operation is applied to each member of
               the array in turn, and the expansion is the resultant list.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br/\b/_\bp_\ba_\bt_\bt_\be_\br_\bn/\b/_\bs_\bt_\br_\bi_\bn_\bg}
               P\bPa\bat\btt\bte\ber\brn\bn s\bsu\bub\bbs\bst\bti\bit\btu\but\bti\bio\bon\bn.  The _\bp_\ba_\bt_\bt_\be_\br_\bn is expanded to produce a pat-
-              tern just as in pathname expansion.  _\bP_\ba_\br_\ba_\bm_\be_\bt_\be_\br is  expanded  and
-              the  longest match of _\bp_\ba_\bt_\bt_\be_\br_\bn against its value is replaced with
-              _\bs_\bt_\br_\bi_\bn_\bg.  If _\bp_\ba_\bt_\bt_\be_\br_\bn begins with /\b/, all matches  of  _\bp_\ba_\bt_\bt_\be_\br_\b are
-              replaced   with  _\bs_\bt_\br_\bi_\bn_\bg.   Normally  only  the  first  match  is
+              tern  just  as in pathname expansion.  _\bP_\ba_\br_\ba_\bm_\be_\bt_\be_\br is expanded and
+              the longest match of _\bp_\ba_\bt_\bt_\be_\br_\bn against its value is replaced  with
+              _\bs_\bt_\br_\bi_\bn_\bg.   If  _\bp_\ba_\bt_\bt_\be_\br_\bn  begins with /\b/, all matches of _\bp_\ba_\bt_\bt_\be_\br_\bn are
+              replaced  with  _\bs_\bt_\br_\bi_\bn_\bg.   Normally  only  the  first  match   is
               replaced.  If _\bp_\ba_\bt_\bt_\be_\br_\bn begins with #\b#, it must match at the begin-
               ning of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  If _\bp_\ba_\bt_\bt_\be_\br_\bn begins with
-              %\b%, it must match at the end of the expanded value of  _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.
+              %\b%,  it must match at the end of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.
               If _\bs_\bt_\br_\bi_\bn_\bg is null, matches of _\bp_\ba_\bt_\bt_\be_\br_\bn are deleted and the /\b/ fol-
               lowing _\bp_\ba_\bt_\bt_\be_\br_\bn may be omitted.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the sub-
-              stitution  operation  is applied to each positional parameter in
-              turn, and the expansion is the resultant list.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\b is
-              an  array  variable  subscripted  with  @\b@ or *\b*, the substitution
-              operation is applied to each member of the array  in  turn,  and
+              stitution operation is applied to each positional  parameter  in
+              turn,  and the expansion is the resultant list.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is
+              an array variable subscripted with  @\b@  or  *\b*,  the  substitution
+              operation  is  applied  to each member of the array in turn, and
               the expansion is the resultant list.
 
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br^\b^_\bp_\ba_\bt_\bt_\be_\br_\bn}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br^\b^^\b^_\bp_\ba_\bt_\bt_\be_\br_\bn}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br,\b,_\bp_\ba_\bt_\bt_\be_\br_\bn}
        ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br,\b,,\b,_\bp_\ba_\bt_\bt_\be_\br_\bn}
-              C\bCa\bas\bse\b m\bmo\bod\bdi\bif\bfi\bic\bca\bat\bti\bio\bon\bn.   This expansion modifies the case of alpha-
-              betic characters in _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  The _\bp_\ba_\bt_\bt_\be_\br_\bn is expanded to  pro-
-              duce  a  pattern  just as in pathname expansion.  The ^\b^ operator
-              converts lowercase letters matching _\bp_\ba_\bt_\bt_\be_\br_\bn to uppercase; the  ,\b,
-              operator  converts matching uppercase letters to lowercase.  The
-              ^\b^^\band ,\b,,\b, expansions  convert  each  matched  character  in  the
-              expanded  value;  the  ^\b^ and ,\b, expansions match and convert only
-              the first character in the expanded value.  If _\bp_\ba_\bt_\bt_\be_\br_\bn is  omit-
-              ted,  it is treated like a ?\b?, which matches every character.  If
-              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\bis @\b@ or *\b*, the case modification operation is  applied
-              to  each  positional parameter in turn, and the expansion is the
-              resultant list.  If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array  variable  subscripted
-              with  @\b@ or *\b*, the case modification operation is applied to each
-              member of the array in turn, and the expansion is the  resultant
+              C\bCa\bas\bse\bm\bmo\bod\bdi\bif\bfi\bic\bca\bat\bti\bio\bon\bn.  This expansion modifies the case  of  alpha-
+              betic  characters in _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.  The _\bp_\ba_\bt_\bt_\be_\br_\bn is expanded to pro-
+              duce a pattern just as in pathname expansion.   The  ^\b operator
+              converts  lowercase letters matching _\bp_\ba_\bt_\bt_\be_\br_\bn to uppercase; the ,\b,
+              operator converts matching uppercase letters to lowercase.   The
+              ^\b^^\b and  ,\b,,\b,  expansions  convert  each  matched character in the
+              expanded value; the ^\b^ and ,\b, expansions match  and  convert  only
+              the  first character in the expanded value.  If _\bp_\ba_\bt_\bt_\be_\br_\bn is omit-
+              ted, it is treated like a ?\b?, which matches every character.   If
+              _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\b is @\b@ or *\b*, the case modification operation is applied
+              to each positional parameter in turn, and the expansion  is  the
+              resultant  list.   If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted
+              with @\b@ or *\b*, the case modification operation is applied to  each
+              member  of the array in turn, and the expansion is the resultant
               list.
 
    C\bCo\bom\bmm\bma\ban\bnd\bd S\bSu\bub\bbs\bst\bti\bit\btu\but\bti\bio\bon\bn
@@ -1584,166 +1587,166 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
               `\b`_\bc_\bo_\bm_\bm_\ba_\bn_\bd`\b`
 
        B\bBa\bas\bsh\bh performs the expansion by executing _\bc_\bo_\bm_\bm_\ba_\bn_\bd and replacing the com-
-       mand  substitution  with  the  standard output of the command, with any
+       mand substitution with the standard output of  the  command,  with  any
        trailing newlines deleted.  Embedded newlines are not deleted, but they
-       may  be  removed during word splitting.  The command substitution $\b$(\b(c\bca\bat\bt
+       may be removed during word splitting.  The command  substitution  $\b$(\b(c\bca\bat\bt
        _\bf_\bi_\bl_\be)\b) can be replaced by the equivalent but faster $\b$(\b(<\b< _\bf_\bi_\bl_\be)\b).
 
-       When the old-style backquote form of substitution  is  used,  backslash
-       retains  its  literal  meaning except when followed by $\b$, `\b`, or \\b\.  The
+       When  the  old-style  backquote form of substitution is used, backslash
+       retains its literal meaning except when followed by $\b$, `\b`,  or  \\b\.   The
        first backquote not preceded by a backslash terminates the command sub-
-       stitution.   When using the $(_\bc_\bo_\bm_\bm_\ba_\bn_\bd) form, all characters between the
+       stitution.  When using the $(_\bc_\bo_\bm_\bm_\ba_\bn_\bd) form, all characters between  the
        parentheses make up the command; none are treated specially.
 
        Command substitutions may be nested.  To nest when using the backquoted
        form, escape the inner backquotes with backslashes.
 
-       If  the  substitution  appears within double quotes, word splitting and
+       If the substitution appears within double quotes,  word  splitting  and
        pathname expansion are not performed on the results.
 
    A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
-       Arithmetic expansion allows the evaluation of an arithmetic  expression
-       and  the  substitution of the result.  The format for arithmetic expan-
+       Arithmetic  expansion allows the evaluation of an arithmetic expression
+       and the substitution of the result.  The format for  arithmetic  expan-
        sion is:
 
               $\b$(\b((\b(_\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn)\b))\b)
 
-       The _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn is treated as if it were within  double  quotes,  but  a
-       double  quote  inside  the  parentheses  is not treated specially.  All
+       The  _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn  is  treated  as if it were within double quotes, but a
+       double quote inside the parentheses  is  not  treated  specially.   All
        tokens in the expression undergo parameter expansion, string expansion,
-       command  substitution, and quote removal.  Arithmetic expansions may be
+       command substitution, and quote removal.  Arithmetic expansions may  be
        nested.
 
-       The evaluation is performed according to the rules listed  below  under
+       The  evaluation  is performed according to the rules listed below under
        A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN.  If _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn is invalid, b\bba\bas\bsh\bh prints a message
        indicating failure and no substitution occurs.
 
    P\bPr\bro\boc\bce\bes\bss\bs S\bSu\bub\bbs\bst\bti\bit\btu\but\bti\bio\bon\bn
-       _\bP_\br_\bo_\bc_\be_\bs_\b_\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn is supported on systems that support  named  pipes
-       (_\bF_\bI_\bF_\bO_\bs)  or the /\b/d\bde\bev\bv/\b/f\bfd\bd method of naming open files.  It takes the form
-       of <\b<(\b(_\bl_\bi_\bs_\bt)\b) or >\b>(\b(_\bl_\bi_\bs_\bt)\b).  The process _\bl_\bi_\bs_\bt is run with its input or  out-
+       _\bP_\br_\bo_\bc_\be_\bs_\b _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn  is supported on systems that support named pipes
+       (_\bF_\bI_\bF_\bO_\bs) or the /\b/d\bde\bev\bv/\b/f\bfd\bd method of naming open files.  It takes the  form
+       of  <\b<(\b(_\bl_\bi_\bs_\bt)\b) or >\b>(\b(_\bl_\bi_\bs_\bt)\b).  The process _\bl_\bi_\bs_\bt is run with its input or out-
        put connected to a _\bF_\bI_\bF_\bO or some file in /\b/d\bde\bev\bv/\b/f\bfd\bd.  The name of this file
-       is passed as an argument to the current command as the  result  of  the
-       expansion.   If the >\b>(\b(_\bl_\bi_\bs_\bt)\b) form is used, writing to the file will pro-
-       vide input for _\bl_\bi_\bs_\bt.  If the <\b<(\b(_\bl_\bi_\bs_\bt)\b) form is used, the file  passed  as
+       is  passed  as  an argument to the current command as the result of the
+       expansion.  If the >\b>(\b(_\bl_\bi_\bs_\bt)\b) form is used, writing to the file will  pro-
+       vide  input  for _\bl_\bi_\bs_\bt.  If the <\b<(\b(_\bl_\bi_\bs_\bt)\b) form is used, the file passed as
        an argument should be read to obtain the output of _\bl_\bi_\bs_\bt.
 
-       When  available,  process substitution is performed simultaneously with
-       parameter and variable expansion, command substitution, and  arithmetic
+       When available, process substitution is performed  simultaneously  with
+       parameter  and variable expansion, command substitution, and arithmetic
        expansion.
 
    W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg
-       The  shell  scans the results of parameter expansion, command substitu-
-       tion, and arithmetic expansion that did not occur within double  quotes
+       The shell scans the results of parameter expansion,  command  substitu-
+       tion,  and arithmetic expansion that did not occur within double quotes
        for _\bw_\bo_\br_\bd _\bs_\bp_\bl_\bi_\bt_\bt_\bi_\bn_\bg.
 
-       The  shell  treats each character of I\bIF\bFS\bS as a delimiter, and splits the
+       The shell treats each character of I\bIF\bFS\bS as a delimiter, and  splits  the
        results of the other expansions into words on these characters.  If I\bIF\bFS\bS
-       is  unset,  or its value is exactly <\b<s\bsp\bpa\bac\bce\be>\b><\b<t\bta\bab\bb>\b><\b<n\bne\bew\bwl\bli\bin\bne\be>\b>, the default,
-       then sequences of <\b<s\bsp\bpa\bac\bce\be>\b>, <\b<t\bta\bab\bb>\b>, and <\b<n\bne\bew\bwl\bli\bin\bne\be>\b> at  the  beginning  and
-       end  of  the  results  of  the previous expansions are ignored, and any
-       sequence of I\bIF\bFS\bS characters not  at  the  beginning  or  end  serves  to
-       delimit  words.   If  I\bIF\bFS\bS  has  a  value  other  than the default, then
+       is unset, or its value is exactly <\b<s\bsp\bpa\bac\bce\be>\b><\b<t\bta\bab\bb>\b><\b<n\bne\bew\bwl\bli\bin\bne\be>\b>,  the  default,
+       then  sequences  of  <\b<s\bsp\bpa\bac\bce\be>\b>, <\b<t\bta\bab\bb>\b>, and <\b<n\bne\bew\bwl\bli\bin\bne\be>\b> at the beginning and
+       end of the results of the previous  expansions  are  ignored,  and  any
+       sequence  of  I\bIF\bFS\bS  characters  not  at  the  beginning or end serves to
+       delimit words.  If I\bIF\bFS\bS  has  a  value  other  than  the  default,  then
        sequences of the whitespace characters s\bsp\bpa\bac\bce\be and t\bta\bab\bb are ignored at the
-       beginning  and  end of the word, as long as the whitespace character is
-       in the value of I\bIF\bFS\bS (an I\bIF\bFS\bS whitespace character).   Any  character  in
-       I\bIF\bFS\b that is not I\bIF\bFS\bS whitespace, along with any adjacent I\bIF\bFS\bS whitespace
-       characters, delimits a field.  A sequence of I\bIF\bFS\bS whitespace  characters
-       is  also  treated as a delimiter.  If the value of I\bIF\bFS\bS is null, no word
+       beginning and end of the word, as long as the whitespace  character  is
+       in  the  value  of I\bIF\bFS\bS (an I\bIF\bFS\bS whitespace character).  Any character in
+       I\bIF\bFS\bthat is not I\bIF\bFS\bS whitespace, along with any adjacent I\bIF\bFS\b whitespace
+       characters,  delimits a field.  A sequence of I\bIF\bFS\bS whitespace characters
+       is also treated as a delimiter.  If the value of I\bIF\bFS\bS is null,  no  word
        splitting occurs.
 
-       Explicit null arguments ("\b""\b" or '\b''\b')  are  retained.   Unquoted  implicit
+       Explicit  null  arguments  ("\b""\b"  or '\b''\b') are retained.  Unquoted implicit
        null arguments, resulting from the expansion of parameters that have no
-       values, are removed.  If a parameter with no value is  expanded  within
+       values,  are  removed.  If a parameter with no value is expanded within
        double quotes, a null argument results and is retained.
 
        Note that if no expansion occurs, no splitting is performed.
 
    P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
-       After  word  splitting,  unless  the -\b-f\bf option has been set, b\bba\bas\bsh\bh scans
-       each word for the characters *\b*, ?\b?, and [\b[.  If one of  these  characters
-       appears,  then  the word is regarded as a _\bp_\ba_\bt_\bt_\be_\br_\bn, and replaced with an
-       alphabetically sorted list of file names matching the pattern (see P\bPa\bat\bt-\b-
-       t\bte\ber\brn\b M\bMa\bat\btc\bch\bhi\bin\bng\bg  below).   If  no matching file names are found, and the
-       shell option n\bnu\bul\bll\blg\bgl\blo\bob\bb is not enabled, the word is left  unchanged.   If
-       the  n\bnu\bul\bll\blg\bgl\blo\bob\bb  option  is  set,  and  no matches are found, the word is
-       removed.  If the f\bfa\bai\bil\blg\bgl\blo\bob\bb shell option  is  set,  and  no  matches  are
+       After word splitting, unless the -\b-f\bf option has  been  set,  b\bba\bas\bsh\b scans
+       each  word  for the characters *\b*, ?\b?, and [\b[.  If one of these characters
+       appears, then the word is regarded as a _\bp_\ba_\bt_\bt_\be_\br_\bn, and replaced  with  an
+       alphabetically  sorted list of filenames matching the pattern (see P\bPa\bat\bt-\b-
+       t\bte\ber\brn\bM\bMa\bat\btc\bch\bhi\bin\bng\bg below).  If no matching  filenames  are  found,  and  the
+       shell  option  n\bnu\bul\bll\blg\bgl\blo\bob\bb is not enabled, the word is left unchanged.  If
+       the n\bnu\bul\bll\blg\bgl\blo\bob\bb option is set, and no  matches  are  found,  the  word  is
+       removed.   If  the  f\bfa\bai\bil\blg\bgl\blo\bob\bb  shell  option  is set, and no matches are
        found, an error message is printed and the command is not executed.  If
-       the shell option n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb is enabled, the match is performed  without
-       regard  to  the  case of alphabetic characters.  When a pattern is used
-       for pathname expansion, the character `\b``\b`.\b.'\b''\b'  at the start of a name  or
-       immediately  following  a  slash must be matched explicitly, unless the
+       the  shell option n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb is enabled, the match is performed without
+       regard to the case of alphabetic characters.  When a  pattern  is  used
+       for  pathname expansion, the character `\b``\b`.\b.'\b''\b'  at the start of a name or
+       immediately following a slash must be matched  explicitly,  unless  the
        shell option d\bdo\bot\btg\bgl\blo\bob\bb is set.  When matching a pathname, the slash char-
-       acter  must  always  be  matched explicitly.  In other cases, the `\b``\b`.\b.'\b''\b'
+       acter must always be matched explicitly.  In  other  cases,  the  `\b``\b`.\b.'\b''\b'
        character is not treated specially.  See the description of s\bsh\bho\bop\bpt\bt below
        under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS for a description of the n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb, n\bnu\bul\bll\bl-\b-
        g\bgl\blo\bob\bb, f\bfa\bai\bil\blg\bgl\blo\bob\bb, and d\bdo\bot\btg\bgl\blo\bob\bb shell options.
 
-       The G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable may be used to restrict the set  of  file
-       names  matching  a  _\bp_\ba_\bt_\bt_\be_\br_\bn.   If G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is set, each matching file
-       name that also matches one of the patterns  in  G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE  is  removed
-       from the list of matches.  The file names `\b``\b`.\b.'\b''\b'  and `\b``\b`.\b..\b.'\b''\b'  are always
-       ignored when G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is set and not null.  However, setting  G\bGL\bLO\bOB\bBI\bIG\bG-\b-
-       N\bNO\bOR\bRE\bE  to  a non-null value has the effect of enabling the d\bdo\bot\btg\bgl\blo\bob\bb shell
-       option, so all other file names beginning with a `\b``\b`.\b.'\b''\b'  will match.  To
-       get  the  old  behavior  of ignoring file names beginning with a `\b``\b`.\b.'\b''\b',
-       make `\b``\b`.\b.*\b*'\b''\b'  one of the patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE.  The d\bdo\bot\btg\bgl\blo\bob\bb option  is
-       disabled when G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is unset.
+       The  G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable may be used to restrict the set of file-
+       names matching a _\bp_\ba_\bt_\bt_\be_\br_\bn.  If G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is set, each matching filename
+       that also matches one of the patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is removed from the
+       list of matches.  The filenames `\b``\b`.\b.'\b''\b'  and `\b``\b`.\b..\b.'\b''\b'  are  always  ignored
+       when  G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is set and not null.  However, setting G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE to a
+       non-null value has the effect of enabling the d\bdo\bot\btg\bgl\blo\bob\bb shell option,  so
+       all other filenames beginning with a `\b``\b`.\b.'\b''\b'  will match.  To get the old
+       behavior of ignoring filenames beginning with a `\b``\b`.\b.'\b''\b', make `\b``\b`.\b.*\b*'\b''\b'  one
+       of  the  patterns  in  G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE.  The d\bdo\bot\btg\bgl\blo\bob\bb option is disabled when
+       G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is unset.
 
        P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg
 
        Any character that appears in a pattern, other than the special pattern
-       characters described below, matches itself.  The NUL character may  not
-       occur  in  a pattern.  A backslash escapes the following character; the
-       escaping backslash is discarded when  matching.   The  special  pattern
+       characters  described below, matches itself.  The NUL character may not
+       occur in a pattern.  A backslash escapes the following  character;  the
+       escaping  backslash  is  discarded  when matching.  The special pattern
        characters must be quoted if they are to be matched literally.
 
        The special pattern characters have the following meanings:
 
-              *\b*      Matches  any string, including the null string.  When the
-                     g\bgl\blo\bob\bbs\bst\bta\bar\bshell option is enabled, and  *\b*  is  used  in  a
-                     pathname  expansion  context,  two  adjacent *\b*s used as a
-                     single pattern will match all  files  and  zero  or  more
-                     directories  and subdirectories.  If followed by a /\b/, two
-                     adjacent *\b*s will match only directories  and  subdirecto-
+              *\b*      Matches any string, including the null string.  When  the
+                     g\bgl\blo\bob\bbs\bst\bta\bar\b shell  option  is  enabled,  and *\b* is used in a
+                     pathname expansion context, two adjacent  *\b*s  used  as  a
+                     single  pattern  will  match  all  files and zero or more
+                     directories and subdirectories.  If followed by a /\b/,  two
+                     adjacent  *\b*s  will match only directories and subdirecto-
                      ries.
               ?\b?      Matches any single character.
-              [\b[.\b..\b..\b.]\b]  Matches  any  one  of the enclosed characters.  A pair of
-                     characters separated by a hyphen denotes a _\br_\ba_\bn_\bg_\b _\be_\bx_\bp_\br_\be_\bs_\b-
-                     _\bs_\bi_\bo_\bn;  any character that sorts between those two charac-
-                     ters, inclusive, using  the  current  locale's  collating
-                     sequence  and  character  set,  is matched.  If the first
+              [\b[.\b..\b..\b.]\b]  Matches any one of the enclosed characters.   A  pair  of
+                     characters  separated by a hyphen denotes a _\br_\ba_\bn_\bg_\be _\be_\bx_\bp_\br_\be_\bs_\b-
+                     _\bs_\bi_\bo_\bn; any character that sorts between those two  charac-
+                     ters,  inclusive,  using  the  current locale's collating
+                     sequence and character set, is  matched.   If  the  first
                      character following the [\b[ is a !\b!  or a ^\b^ then any charac-
-                     ter  not enclosed is matched.  The sorting order of char-
-                     acters in range expressions is determined by the  current
-                     locale  and  the values of the L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE or L\bLC\bC_\b_A\bAL\bLL\bL shell
+                     ter not enclosed is matched.  The sorting order of  char-
+                     acters  in range expressions is determined by the current
+                     locale and the values of the L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE or  L\bLC\bC_\b_A\bAL\bLL\b shell
                      variables, if set.  To obtain the traditional interpreta-
-                     tion  of  range expressions, where [\b[a\ba-\b-d\bd]\b] is equivalent to
-                     [\b[a\bab\bbc\bcd\bd]\b], set value of the L\bLC\bC_\b_A\bAL\bLL\bL shell variable to  C\bC,  or
-                     enable  the  g\bgl\blo\bob\bba\bas\bsc\bci\bii\bir\bra\ban\bng\bge\bes\bs  shell  option.   A -\b- may be
+                     tion of range expressions, where [\b[a\ba-\b-d\bd]\b] is  equivalent  to
+                     [\b[a\bab\bbc\bcd\bd]\b],  set  value of the L\bLC\bC_\b_A\bAL\bLL\bL shell variable to C\bC, or
+                     enable the g\bgl\blo\bob\bba\bas\bsc\bci\bii\bir\bra\ban\bng\bge\bes\bs shell  option.   A  -\b-  may  be
                      matched by including it as the first or last character in
                      the set.  A ]\b] may be matched by including it as the first
                      character in the set.
 
-                     Within [\b[ and ]\b], _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br _\bc_\bl_\ba_\bs_\bs_\be_\bs can be specified  using
+                     Within  [\b[ and ]\b], _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br _\bc_\bl_\ba_\bs_\bs_\be_\bs can be specified using
                      the syntax [\b[:\b:_\bc_\bl_\ba_\bs_\bs:\b:]\b], where _\bc_\bl_\ba_\bs_\bs is one of the following
                      classes defined in the POSIX standard:
-                     a\bal\bln\bnu\bum\ba\bal\blp\bph\bha\ba a\bas\bsc\bci\bii\bi b\bbl\bla\ban\bnk\bk c\bcn\bnt\btr\brl\bl  d\bdi\big\bgi\bit\bt  g\bgr\bra\bap\bph\bh  l\blo\bow\bwe\ber\b p\bpr\bri\bin\bnt\bt
+                     a\bal\bln\bnu\bum\b a\bal\blp\bph\bha\ba  a\bas\bsc\bci\bii\bi  b\bbl\bla\ban\bnk\bk  c\bcn\bnt\btr\brl\bl d\bdi\big\bgi\bit\bt g\bgr\bra\bap\bph\bh l\blo\bow\bwe\ber\br p\bpr\bri\bin\bnt\bt
                      p\bpu\bun\bnc\bct\bt s\bsp\bpa\bac\bce\be u\bup\bpp\bpe\ber\br w\bwo\bor\brd\bd x\bxd\bdi\big\bgi\bit\bt
                      A character class matches any character belonging to that
                      class.  The w\bwo\bor\brd\bd character class matches letters, digits,
                      and the character _.
 
-                     Within  [\b[  and  ]\b],  an _\be_\bq_\bu_\bi_\bv_\ba_\bl_\be_\bn_\bc_\be _\bc_\bl_\ba_\bs_\bs can be specified
+                     Within [\b[ and ]\b], an _\be_\bq_\bu_\bi_\bv_\ba_\bl_\be_\bn_\bc_\be  _\bc_\bl_\ba_\bs_\bs  can  be  specified
                      using the syntax [\b[=\b=_\bc=\b=]\b], which matches all characters with
-                     the  same  collation  weight  (as  defined by the current
+                     the same collation weight  (as  defined  by  the  current
                      locale) as the character _\bc.
 
                      Within [\b[ and ]\b], the syntax [\b[.\b._\bs_\by_\bm_\bb_\bo_\bl.\b.]\b] matches the collat-
                      ing symbol _\bs_\by_\bm_\bb_\bo_\bl.
 
        If the e\bex\bxt\btg\bgl\blo\bob\bb shell option is enabled using the s\bsh\bho\bop\bpt\bt builtin, several
-       extended pattern matching operators are recognized.  In  the  following
+       extended  pattern  matching operators are recognized.  In the following
        description, a _\bp_\ba_\bt_\bt_\be_\br_\bn_\b-_\bl_\bi_\bs_\bt is a list of one or more patterns separated
        by a |\b|.  Composite patterns may be formed using one or more of the fol-
        lowing sub-patterns:
@@ -1761,35 +1764,35 @@ E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
 
    Q\bQu\buo\bot\bte\be R\bRe\bem\bmo\bov\bva\bal\bl
        After the preceding expansions, all unquoted occurrences of the charac-
-       ters \\b\, '\b', and "\b" that did not result from one of the  above  expansions
+       ters  \\b\,  '\b', and "\b" that did not result from one of the above expansions
        are removed.
 
 R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
-       Before  a  command  is executed, its input and output may be _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\be_\bd
-       using a special notation interpreted by  the  shell.   Redirection  may
-       also  be  used  to open and close files for the current shell execution
+       Before a command is executed, its input and output  may  be  _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\be_\bd
+       using  a  special  notation  interpreted by the shell.  Redirection may
+       also be used to open and close files for the  current  shell  execution
        environment.  The following redirection operators may precede or appear
        anywhere within a _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd or may follow a _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  Redirections
        are processed in the order they appear, from left to right.
 
-       Each redirection that may be preceded by a file descriptor  number  may
+       Each  redirection  that may be preceded by a file descriptor number may
        instead be preceded by a word of the form {_\bv_\ba_\br_\bn_\ba_\bm_\be}.  In this case, for
        each redirection operator except >&- and <&-, the shell will allocate a
-       file  descriptor  greater  than 10 and assign it to _\bv_\ba_\br_\bn_\ba_\bm_\be.  If >&- or
-       <&- is preceded by {_\bv_\ba_\br_\bn_\ba_\bm_\be}, the value of  _\bv_\ba_\br_\bn_\ba_\bm_\be  defines  the  file
-       descriptor to close.
-
-       In  the  following descriptions, if the file descriptor number is omit-
-       ted, and the first character of the redirection operator is <\b<, the  re-
-       direction  refers  to  the  standard input (file descriptor 0).  If the
-       first character of the  redirection  operator  is  >\b>,  the  redirection
+       file descriptor greater than or equal to 10 and assign it  to  _\bv_\ba_\br_\bn_\ba_\bm_\be.
+       If  >&-  or  <&- is preceded by {_\bv_\ba_\br_\bn_\ba_\bm_\be}, the value of _\bv_\ba_\br_\bn_\ba_\bm_\be defines
+       the file descriptor to close.
+
+       In the following descriptions, if the file descriptor number  is  omit-
+       ted,  and the first character of the redirection operator is <\b<, the re-
+       direction refers to the standard input (file  descriptor  0).   If  the
+       first  character  of  the  redirection  operator  is >\b>, the redirection
        refers to the standard output (file descriptor 1).
 
-       The  word  following the redirection operator in the following descrip-
-       tions, unless otherwise noted, is subjected to brace  expansion,  tilde
-       expansion, parameter expansion, command substitution, arithmetic expan-
-       sion, quote removal, pathname expansion, and  word  splitting.   If  it
-       expands to more than one word, b\bba\bas\bsh\bh reports an error.
+       The word following the redirection operator in the  following  descrip-
+       tions,  unless  otherwise noted, is subjected to brace expansion, tilde
+       expansion, parameter  and  variable  expansion,  command  substitution,
+       arithmetic  expansion,  quote  removal,  pathname  expansion,  and word
+       splitting.  If it expands to more than one word, b\bba\bas\bsh\bh reports an error.
 
        Note  that  the order of redirections is significant.  For example, the
        command
@@ -1916,14 +1919,14 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
                       _\bh_\be_\br_\be_\b-_\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt
               _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br
 
-       No parameter expansion, command substitution, arithmetic expansion,  or
-       pathname expansion is performed on _\bw_\bo_\br_\bd.  If any characters in _\bw_\bo_\br_\bd are
-       quoted, the _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br is the result of quote removal on _\bw_\bo_\br_\bd,  and  the
-       lines  in the here-document are not expanded.  If _\bw_\bo_\br_\bd is unquoted, all
-       lines of the here-document are subjected to parameter  expansion,  com-
-       mand  substitution,  and arithmetic expansion.  In the latter case, the
-       character sequence \\b\<\b<n\bne\bew\bwl\bli\bin\bne\be>\b> is ignored, and \\b\ must be used  to  quote
-       the characters \\b\, $\b$, and `\b`.
+       No parameter and variable expansion, command  substitution,  arithmetic
+       expansion,  or pathname expansion is performed on _\bw_\bo_\br_\bd.  If any charac-
+       ters in _\bw_\bo_\br_\bd are quoted, the _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br is the result of  quote  removal
+       on  _\bw_\bo_\br_\bd, and the lines in the here-document are not expanded.  If _\bw_\bo_\br_\bd
+       is unquoted, all lines of the here-document are subjected to  parameter
+       expansion, command substitution, and arithmetic expansion.  In the lat-
+       ter case, the character sequence \\b\<\b<n\bne\bew\bwl\bli\bin\bne\be>\b> is ignored, and \\b\  must  be
+       used to quote the characters \\b\, $\b$, and `\b`.
 
        If the redirection operator is <\b<<\b<-\b-, then all leading tab characters are
        stripped from input lines and  the  line  containing  _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br.   This
@@ -1935,9 +1938,11 @@ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
 
               <\b<<\b<<\b<_\bw_\bo_\br_\bd
 
-       The _\bw_\bo_\br_\bd is expanded as described above, with the exception that  path-
-       name  expansion  is not applied, and supplied as a single string to the
-       command on its standard input.
+       The _\bw_\bo_\br_\bd undergoes brace  expansion,  tilde  expansion,  parameter  and
+       variable  expansion,  command  substitution,  arithmetic expansion, and
+       quote removal.  Pathname expansion word splitting  are  not  performed.
+       The  result  is supplied as a single string to the command on its stan-
+       dard input.
 
    D\bDu\bup\bpl\bli\bic\bca\bat\bti\bin\bng\bg F\bFi\bil\ble\be D\bDe\bes\bsc\bcr\bri\bip\bpt\bto\bor\brs\bs
        The redirection operator
@@ -2428,8 +2433,8 @@ E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
        just those that precede the command name.
 
        When  b\bba\bas\bsh\bh  invokes  an  external command, the variable _\b_ is set to the
-       full file name of the command and passed to that command in  its  envi-
-       ronment.
+       full filename of the command and passed to that command in its environ-
+       ment.
 
 E\bEX\bXI\bIT\bT S\bST\bTA\bAT\bTU\bUS\bS
        The  exit  status  of  an executed command is the value returned by the
@@ -3384,11 +3389,11 @@ R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
        g\bgl\blo\bob\bb-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-g\bg)\b)
               The word before point is  treated  as  a  pattern  for  pathname
               expansion,  with  an asterisk implicitly appended.  This pattern
-              is used to generate a list of matching file names  for  possible
+              is used to generate a list of matching  filenames  for  possible
               completions.
        g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\bd (\b(C\bC-\b-x\bx *\b*)\b)
               The  word  before  point  is  treated  as a pattern for pathname
-              expansion, and the list of  matching  file  names  is  inserted,
+              expansion, and the  list  of  matching  filenames  is  inserted,
               replacing  the  word.   If  a  numeric  argument is supplied, an
               asterisk is appended before pathname expansion.
        g\bgl\blo\bob\bb-\b-l\bli\bis\bst\bt-\b-e\bex\bxp\bpa\ban\bns\bsi\bio\bon\bns\bs (\b(C\bC-\b-x\bx g\bg)\b)
@@ -3690,8 +3695,8 @@ H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
        After the optional word designator, there may appear a sequence of  one
        or more of the following modifiers, each preceded by a `:'.
 
-       h\bh      Remove a trailing file name component, leaving only the head.
-       t\bt      Remove all leading file name components, leaving the tail.
+       h\bh      Remove a trailing filename component, leaving only the head.
+       t\bt      Remove all leading filename components, leaving the tail.
        r\br      Remove a trailing suffix of the form _\b._\bx_\bx_\bx, leaving the basename.
        e\be      Remove all but the trailing suffix.
        p\bp      Print the new command but do not execute it.
@@ -3734,9 +3739,9 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
        s\bso\bou\bur\brc\bce\be _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
               Read and execute commands from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be  in  the  current  shell
               environment  and return the exit status of the last command exe-
-              cuted from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.  If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\bdoes not contain a slash, file
-              names  in  P\bPA\bAT\bTH\bH  are used to find the directory containing _\bf_\bi_\bl_\be_\b-
-              _\bn_\ba_\bm_\be.  The file searched for in P\bPA\bAT\bTH\bH  need  not  be  executable.
+              cuted from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.  If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\b does  not  contain  a  slash,
+              filenames  in  P\bPA\bAT\bTH\bH  are  used  to find the directory containing
+              _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.  The file searched for in P\bPA\bAT\bTH\bH need not be executable.
               When  b\bba\bas\bsh\bh  is  not  in  _\bp_\bo_\bs_\bi_\bx  _\bm_\bo_\bd_\be,  the  current directory is
               searched if no file is found in P\bPA\bAT\bTH\bH.  If the s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh  option
               to  the  s\bsh\bho\bop\bpt\bt  builtin  command  is turned off, the P\bPA\bAT\bTH\bH is not
@@ -3858,104 +3863,104 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               lowed.  If the -\b-e\be option is supplied with -\b-P\bP,  and  the  current
               working directory cannot be successfully determined after a suc-
               cessful directory change, c\bcd\bd will return an unsuccessful status.
-              An  argument  of  -\b is  equivalent  to $\b$O\bOL\bLD\bDP\bPW\bWD\bD.  If a non-empty
-              directory name from C\bCD\bDP\bPA\bAT\bTH\bH is used, or if -\b- is the  first  argu-
-              ment, and the directory change is successful, the absolute path-
-              name of the new working directory is  written  to  the  standard
-              output.   The return value is true if the directory was success-
-              fully changed; false otherwise.
+              An  argument  of  -\bis converted to $\b$O\bOL\bLD\bDP\bPW\bWD\bD before the directory
+              change is attempted.  If a non-empty directory name from  C\bCD\bDP\bPA\bAT\bTH\bH
+              is used, or if -\b- is the first argument, and the directory change
+              is successful, the absolute pathname of the new  working  direc-
+              tory  is  written  to  the standard output.  The return value is
+              true if the directory was successfully changed; false otherwise.
 
        c\bco\bom\bmm\bma\ban\bnd\bd [-\b-p\bpV\bVv\bv] _\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg ...]
-              Run _\bc_\bo_\bm_\bm_\ba_\bn_\bd with _\ba_\br_\bg_\bs  suppressing  the  normal  shell  function
-              lookup.  Only builtin commands or commands found in the P\bPA\bAT\bTH\bH are
-              executed.  If the -\b-p\bp option is given, the search for _\bc_\bo_\bm_\bm_\ba_\bn_\b is
-              performed  using  a default value for P\bPA\bAT\bTH\bH that is guaranteed to
-              find all of the standard utilities.  If  either  the  -\b-V\bV  or  -\b-v\bv
+              Run  _\bc_\bo_\bm_\bm_\ba_\bn_\bd  with  _\ba_\br_\bg_\bs  suppressing  the normal shell function
+              lookup. Only builtin commands or commands found in the P\bPA\bAT\bTH\b are
+              executed.   If the -\b-p\bp option is given, the search for _\bc_\bo_\bm_\bm_\ba_\bn_\bd is
+              performed using a default value for P\bPA\bAT\bTH\bH that is  guaranteed  to
+              find  all  of  the  standard  utilities.  If either the -\b-V\bV or -\b-v\bv
               option is supplied, a description of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is printed.  The -\b-v\bv
-              option causes a single word indicating the command or file  name
+              option  causes  a single word indicating the command or filename
               used to invoke _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be displayed; the -\b-V\bV option produces a
-              more verbose description.  If the -\b-V\bV or -\b-v\bv option  is  supplied,
-              the  exit  status  is  0 if _\bc_\bo_\bm_\bm_\ba_\bn_\bd was found, and 1 if not.  If
+              more  verbose  description.  If the -\b-V\bV or -\b-v\bv option is supplied,
+              the exit status is 0 if _\bc_\bo_\bm_\bm_\ba_\bn_\bd was found, and  1  if  not.   If
               neither option is supplied and an error occurred or _\bc_\bo_\bm_\bm_\ba_\bn_\bd can-
-              not  be found, the exit status is 127.  Otherwise, the exit sta-
+              not be found, the exit status is 127.  Otherwise, the exit  sta-
               tus of the c\bco\bom\bmm\bma\ban\bnd\bd builtin is the exit status of _\bc_\bo_\bm_\bm_\ba_\bn_\bd.
 
        c\bco\bom\bmp\bpg\bge\ben\bn [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bw_\bo_\br_\bd]
-              Generate possible completion matches for _\bw_\bo_\br_\bd according  to  the
-              _\bo_\bp_\bt_\bi_\bo_\bns,  which  may  be  any  option  accepted  by the c\bco\bom\bmp\bpl\ble\bet\bte\be
-              builtin with the exception of -\b-p\bp and -\b-r\br, and write  the  matches
-              to  the  standard  output.  When using the -\b-F\bF or -\b-C\bC options, the
-              various shell  variables  set  by  the  programmable  completion
+              Generate  possible  completion matches for _\bw_\bo_\br_\bd according to the
+              _\bo_\bp_\bt_\bi_\bo_\bns, which may  be  any  option  accepted  by  the  c\bco\bom\bmp\bpl\ble\bet\bte\be
+              builtin  with  the exception of -\b-p\bp and -\b-r\br, and write the matches
+              to the standard output.  When using the -\b-F\bF or  -\b-C\bC  options,  the
+              various  shell  variables  set  by  the  programmable completion
               facilities, while available, will not have useful values.
 
-              The  matches  will  be  generated in the same way as if the pro-
-              grammable completion code had generated  them  directly  from  a
+              The matches will be generated in the same way  as  if  the  pro-
+              grammable  completion  code  had  generated them directly from a
               completion specification with the same flags.  If _\bw_\bo_\br_\bd is speci-
               fied, only those completions matching _\bw_\bo_\br_\bd will be displayed.
 
-              The return value is true unless an invalid option  is  supplied,
+              The  return  value is true unless an invalid option is supplied,
               or no matches were generated.
 
-       c\bco\bom\bmp\bpl\ble\bet\bte\b [-\b-a\bab\bbc\bcd\bde\bef\bfg\bgj\bjk\bks\bsu\buv\bv]  [-\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bE] [-\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn] [-\b-G\bG _\bg_\bl_\bo_\bb_\b-
+       c\bco\bom\bmp\bpl\ble\bet\bte\b[-\b-a\bab\bbc\bcd\bde\bef\bfg\bgj\bjk\bks\bsu\buv\bv] [-\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bE] [-\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn]  [-\b-G\b _\bg_\bl_\bo_\bb_\b-
        _\bp_\ba_\bt] [-\b-W\bW _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt] [-\b-F\bF _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn] [-\b-C\bC _\bc_\bo_\bm_\bm_\ba_\bn_\bd]
               [-\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt] [-\b-P\bP _\bp_\br_\be_\bf_\bi_\bx] [-\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx] _\bn_\ba_\bm_\be [_\bn_\ba_\bm_\be _\b._\b._\b.]
        c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-p\bpr\br [-\b-D\bDE\bE] [_\bn_\ba_\bm_\be ...]
-              Specify  how arguments to each _\bn_\ba_\bm_\be should be completed.  If the
-              -\b-p\boption is supplied, or if no options are  supplied,  existing
-              completion  specifications are printed in a way that allows them
+              Specify how arguments to each _\bn_\ba_\bm_\be should be completed.  If  the
+              -\b-p\b option  is supplied, or if no options are supplied, existing
+              completion specifications are printed in a way that allows  them
               to be reused as input.  The -\b-r\br option removes a completion spec-
-              ification  for each _\bn_\ba_\bm_\be, or, if no _\bn_\ba_\bm_\bes are supplied, all com-
+              ification for each _\bn_\ba_\bm_\be, or, if no _\bn_\ba_\bm_\bes are supplied, all  com-
               pletion  specifications.   The  -\b-D\bD  option  indicates  that  the
-              remaining  options  and  actions should apply to the ``default''
-              command completion; that is, completion attempted on  a  command
-              for  which  no  completion  has previously been defined.  The -\b-E\bE
-              option indicates that the remaining options and  actions  should
-              apply  to  ``empty''  command  completion;  that  is, completion
+              remaining options and actions should apply  to  the  ``default''
+              command  completion;  that is, completion attempted on a command
+              for which no completion has previously  been  defined.   The  -\b-E\bE
+              option  indicates  that the remaining options and actions should
+              apply to  ``empty''  command  completion;  that  is,  completion
               attempted on a blank line.
 
-              The process of applying  these  completion  specifications  when
-              word  completion  is  attempted  is  described  above under P\bPr\bro\bo-\b-
+              The  process  of  applying  these completion specifications when
+              word completion is  attempted  is  described  above  under  P\bPr\bro\bo-\b-
               g\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn.
 
-              Other options, if specified, have the following  meanings.   The
-              arguments  to the -\b-G\bG, -\b-W\bW, and -\b-X\bX options (and, if necessary, the
-              -\b-P\band -\b-S\bS options) should be quoted to protect them from  expan-
+              Other  options,  if specified, have the following meanings.  The
+              arguments to the -\b-G\bG, -\b-W\bW, and -\b-X\bX options (and, if necessary,  the
+              -\b-P\b and -\b-S\bS options) should be quoted to protect them from expan-
               sion before the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin is invoked.
               -\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn
-                      The  _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn  controls  several aspects of the comp-
-                      spec's behavior beyond the simple generation of  comple-
+                      The _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn controls several aspects  of  the  comp-
+                      spec's  behavior beyond the simple generation of comple-
                       tions.  _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn may be one of:
                       b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt
                               Perform the rest of the default b\bba\bas\bsh\bh completions
                               if the compspec generates no matches.
-                      d\bde\bef\bfa\bau\bul\blt\bt Use readline's default  filename  completion  if
+                      d\bde\bef\bfa\bau\bul\blt\bt Use  readline's  default  filename completion if
                               the compspec generates no matches.
                       d\bdi\bir\brn\bna\bam\bme\bes\bs
-                              Perform  directory  name completion if the comp-
+                              Perform directory name completion if  the  comp-
                               spec generates no matches.
                       f\bfi\bil\ble\ben\bna\bam\bme\bes\bs
-                              Tell readline that the compspec generates  file-
-                              names,  so  it can perform any filename-specific
-                              processing (like adding  a  slash  to  directory
-                              names,  quoting special characters, or suppress-
-                              ing trailing spaces).  Intended to be used  with
+                              Tell  readline that the compspec generates file-
+                              names, so it can perform  any  filename-specific
+                              processing  (like  adding  a  slash to directory
+                              names, quoting special characters, or  suppress-
+                              ing  trailing spaces).  Intended to be used with
                               shell functions.
-                      n\bno\bos\bsp\bpa\bac\bce\be Tell   readline  not  to  append  a  space  (the
-                              default) to words completed at the  end  of  the
+                      n\bno\bos\bsp\bpa\bac\bce\be Tell  readline  not  to  append  a  space   (the
+                              default)  to  words  completed at the end of the
                               line.
                       p\bpl\blu\bus\bsd\bdi\bir\brs\bs
-                              After  any  matches  defined by the compspec are
-                              generated,   directory   name   completion    is
-                              attempted  and  any  matches  are  added  to the
+                              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.
               -\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn
-                      The _\ba_\bc_\bt_\bi_\bo_\bn may be one of the  following  to  generate  a
+                      The  _\ba_\bc_\bt_\bi_\bo_\bn  may  be  one of the following to generate a
                       list of possible completions:
                       a\bal\bli\bia\bas\bs   Alias names.  May also be specified as -\b-a\ba.
                       a\bar\brr\bra\bay\byv\bva\bar\br
                               Array variable names.
                       b\bbi\bin\bnd\bdi\bin\bng\bg R\bRe\bea\bad\bdl\bli\bin\bne\be key binding names.
-                      b\bbu\bui\bil\blt\bti\bin\bn Names  of  shell  builtin commands.  May also be
+                      b\bbu\bui\bil\blt\bti\bin\bn Names of shell builtin commands.   May  also  be
                               specified as -\b-b\bb.
                       c\bco\bom\bmm\bma\ban\bnd\bd Command names.  May also be specified as -\b-c\bc.
                       d\bdi\bir\bre\bec\bct\bto\bor\bry\by
@@ -3963,7 +3968,7 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       d\bdi\bis\bsa\bab\bbl\ble\bed\bd
                               Names of disabled shell builtins.
                       e\ben\bna\bab\bbl\ble\bed\bd Names of enabled shell builtins.
-                      e\bex\bxp\bpo\bor\brt\bt  Names of exported shell variables.  May also  be
+                      e\bex\bxp\bpo\bor\brt\bt  Names  of exported shell variables.  May also be
                               specified as -\b-e\be.
                       f\bfi\bil\ble\be    File names.  May also be specified as -\b-f\bf.
                       f\bfu\bun\bnc\bct\bti\bio\bon\bn
@@ -3972,17 +3977,17 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       h\bhe\bel\blp\bpt\bto\bop\bpi\bic\bc
                               Help topics as accepted by the h\bhe\bel\blp\bp builtin.
                       h\bho\bos\bst\btn\bna\bam\bme\be
-                              Hostnames,  as  taken from the file specified by
+                              Hostnames, as taken from the file  specified  by
                               the H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE shell variable.
-                      j\bjo\bob\bb     Job names, if job control is active.   May  also
+                      j\bjo\bob\bb     Job  names,  if job control is active.  May also
                               be specified as -\b-j\bj.
-                      k\bke\bey\byw\bwo\bor\brd\bd Shell  reserved words.  May also be specified as
+                      k\bke\bey\byw\bwo\bor\brd\bd Shell reserved words.  May also be specified  as
                               -\b-k\bk.
                       r\bru\bun\bnn\bni\bin\bng\bg Names of running jobs, if job control is active.
                       s\bse\ber\brv\bvi\bic\bce\be Service names.  May also be specified as -\b-s\bs.
-                      s\bse\bet\bto\bop\bpt\bt  Valid  arguments  for  the  -\b-o\bo option to the s\bse\bet\bt
+                      s\bse\bet\bto\bop\bpt\bt  Valid arguments for the -\b-o\bo  option  to  the  s\bse\bet\bt
                               builtin.
-                      s\bsh\bho\bop\bpt\bt   Shell option names  as  accepted  by  the  s\bsh\bho\bop\bpt\bt
+                      s\bsh\bho\bop\bpt\bt   Shell  option  names  as  accepted  by the s\bsh\bho\bop\bpt\bt
                               builtin.
                       s\bsi\big\bgn\bna\bal\bl  Signal names.
                       s\bst\bto\bop\bpp\bpe\bed\bd Names of stopped jobs, if job control is active.
@@ -3991,174 +3996,175 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               Names of all shell variables.  May also be spec-
                               ified as -\b-v\bv.
               -\b-C\bC _\bc_\bo_\bm_\bm_\ba_\bn_\bd
-                      _\bc_\bo_\bm_\bm_\ba_\bn_\b is  executed in a subshell environment, and its
+                      _\bc_\bo_\bm_\bm_\ba_\bn_\bis executed in a subshell environment,  and  its
                       output is used as the possible completions.
               -\b-F\bF _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn
-                      The shell function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in  the  current
-                      shell  environment.  When it finishes, the possible com-
-                      pletions are retrieved from the value of  the  C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
+                      The  shell  function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in the current
+                      shell environment.  When it finishes, the possible  com-
+                      pletions  are  retrieved from the value of the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
                       array variable.
               -\b-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt
-                      The  pathname  expansion  pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt is expanded to
+                      The pathname expansion pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt  is  expanded  to
                       generate the possible completions.
               -\b-P\bP _\bp_\br_\be_\bf_\bi_\bx
-                      _\bp_\br_\be_\bf_\bi_\bis added at the beginning of each  possible  com-
+                      _\bp_\br_\be_\bf_\bi_\b is  added at the beginning of each possible com-
                       pletion after all other options have been applied.
               -\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx
                       _\bs_\bu_\bf_\bf_\bi_\bx is appended to each possible completion after all
                       other options have been applied.
               -\b-W\bW _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
-                      The _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt is split using the characters  in  the  I\bIF\bFS\bS
-                      special  variable as delimiters, and each resultant word
-                      is expanded.  The possible completions are  the  members
-                      of  the  resultant  list which match the word being com-
+                      The  _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt  is  split using the characters in the I\bIF\bFS\bS
+                      special variable as delimiters, and each resultant  word
+                      is  expanded.   The possible completions are the members
+                      of the resultant list which match the  word  being  com-
                       pleted.
               -\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt
-                      _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bis a pattern as used for  pathname  expansion.
+                      _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\b is  a pattern as used for pathname expansion.
                       It is applied to the list of possible completions gener-
-                      ated by the preceding options and  arguments,  and  each
-                      completion  matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the list.
-                      A leading !\b! in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the  pattern;  in  this
-                      case,  any completion not matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed.
-
-              The return value is true unless an invalid option  is  supplied,
-              an  option  other than -\b-p\bp or -\b-r\br is supplied without a _\bn_\ba_\bm_\be argu-
-              ment, an attempt is made to remove  a  completion  specification
+                      ated  by  the  preceding options and arguments, and each
+                      completion matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the  list.
+                      A  leading  !\b!  in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the pattern; in this
+                      case, any completion not matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is  removed.
+
+              The  return  value is true unless an invalid option is supplied,
+              an option other than -\b-p\bp or -\b-r\br is supplied without a  _\bn_\ba_\bm_\b argu-
+              ment,  an  attempt  is made to remove a completion specification
               for a _\bn_\ba_\bm_\be for which no specification exists, or an error occurs
               adding a completion specification.
 
        c\bco\bom\bmp\bpo\bop\bpt\bt [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bE] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be]
               Modify  completion  options  for  each  _\bn_\ba_\bm_\be  according  to  the
-              _\bo_\bp_\bt_\bi_\bo_\bns,  or  for the currently-executing completion if no _\bn_\ba_\bm_\bes
-              are supplied.  If no _\bo_\bp_\bt_\bi_\bo_\bns are given, display  the  completion
-              options  for  each _\bn_\ba_\bm_\be or the current completion.  The possible
-              values of _\bo_\bp_\bt_\bi_\bo_\bn  are  those  valid  for  the  c\bco\bom\bmp\bpl\ble\bet\bte\b builtin
-              described  above.   The  -\b-D\bD  option indicates that the remaining
+              _\bo_\bp_\bt_\bi_\bo_\bns, or for the currently-executing completion if  no  _\bn_\ba_\bm_\bes
+              are  supplied.   If no _\bo_\bp_\bt_\bi_\bo_\bns are given, display the completion
+              options for each _\bn_\ba_\bm_\be or the current completion.   The  possible
+              values  of  _\bo_\bp_\bt_\bi_\bo_\bn  are  those  valid  for  the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin
+              described above.  The -\b-D\bD option  indicates  that  the  remaining
               options should apply to the ``default'' command completion; that
-              is,  completion  attempted  on a command for which no completion
-              has previously been defined.  The -\b-E\bE option indicates  that  the
-              remaining  options should apply to ``empty'' command completion;
+              is, completion attempted on a command for  which  no  completion
+              has  previously  been defined.  The -\b-E\bE option indicates that the
+              remaining options should apply to ``empty'' command  completion;
               that is, completion attempted on a blank line.
 
-              The return value is true unless an invalid option  is  supplied,
+              The  return  value is true unless an invalid option is supplied,
               an attempt is made to modify the options for a _\bn_\ba_\bm_\be for which no
               completion specification exists, or an output error occurs.
 
        c\bco\bon\bnt\bti\bin\bnu\bue\be [_\bn]
               Resume the next iteration of the enclosing f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or
-              s\bse\bel\ble\bec\bct\b loop.   If  _\bn  is specified, resume at the _\bnth enclosing
-              loop.  _\bn must be >= 1.  If _\bn  is  greater  than  the  number  of
-              enclosing  loops,  the  last  enclosing  loop (the ``top-level''
+              s\bse\bel\ble\bec\bct\bloop.  If _\bn is specified, resume  at  the  _\bnth  enclosing
+              loop.   _\bn  must  be  >=  1.   If _\bn is greater than the number of
+              enclosing loops, the  last  enclosing  loop  (the  ``top-level''
               loop) is resumed.  The return value is 0 unless _\bn is not greater
               than or equal to 1.
 
        d\bde\bec\bcl\bla\bar\bre\be [-\b-a\baA\bAf\bfF\bFg\bgi\bil\blr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
        t\bty\byp\bpe\bes\bse\bet\bt [-\b-a\baA\bAf\bfF\bFg\bgi\bil\blr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
-              Declare  variables and/or give them attributes.  If no _\bn_\ba_\bm_\bes are
-              given then display the values of variables.  The -\b-p\bp option  will
+              Declare variables and/or give them attributes.  If no _\bn_\ba_\bm_\bes  are
+              given  then display the values of variables.  The -\b-p\bp option will
               display the attributes and values of each _\bn_\ba_\bm_\be.  When -\b-p\bp is used
               with _\bn_\ba_\bm_\be arguments, additional options are ignored.  When -\b-p\bp is
-              supplied  without _\bn_\ba_\bm_\be arguments, it will display the attributes
-              and values of all variables having the attributes  specified  by
-              the  additional  options.  If no other options are supplied with
-              -\b-p\bp, d\bde\bec\bcl\bla\bar\bre\be will display the attributes and values of all  shell
-              variables.   The  -\b-f\bf  option  will restrict the display to shell
+              supplied without _\bn_\ba_\bm_\be arguments, it will display the  attributes
+              and  values  of all variables having the attributes specified by
+              the additional options.  If no other options are  supplied  with
+              -\b-p\bp,  d\bde\bec\bcl\bla\bar\bre\be will display the attributes and values of all shell
+              variables.  The -\b-f\bf option will restrict  the  display  to  shell
               functions.  The -\b-F\bF option inhibits the display of function defi-
-              nitions;  only the function name and attributes are printed.  If
-              the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is enabled  using  s\bsh\bho\bop\bpt\bt,  the  source
+              nitions; only the function name and attributes are printed.   If
+              the  e\bex\bxt\btd\bde\beb\bbu\bug\bg  shell  option  is enabled using s\bsh\bho\bop\bpt\bt, the source
               file name and line number where the function is defined are dis-
               played as well.  The -\b-F\bF option implies -\b-f\bf.  The -\b-g\bg option forces
-              variables  to  be  created or modified at the global scope, even
-              when d\bde\bec\bcl\bla\bar\bre\be is executed in a shell function.  It is ignored  in
-              all  other cases.  The following options can be used to restrict
-              output to variables with the  specified  attribute  or  to  give
+              variables to be created or modified at the  global  scope,  even
+              when  d\bde\bec\bcl\bla\bar\bre\be is executed in a shell function.  It is ignored in
+              all other cases.  The following options can be used to  restrict
+              output  to  variables  with  the  specified attribute or to give
               variables attributes:
-              -\b-a\ba     Each  _\bn_\ba_\bm_\be  is  an  indexed  array  variable  (see A\bAr\brr\bra\bay\bys\bs
+              -\b-a\ba     Each _\bn_\ba_\bm_\be  is  an  indexed  array  variable  (see  A\bAr\brr\bra\bay\bys\bs
                      above).
-              -\b-A\bA     Each _\bn_\ba_\bm_\be is an associative array  variable  (see  A\bAr\brr\bra\bay\bys\bs
+              -\b-A\bA     Each  _\bn_\ba_\bm_\be  is  an associative array variable (see A\bAr\brr\bra\bay\bys\bs
                      above).
               -\b-f\bf     Use function names only.
               -\b-i\bi     The variable is treated as an integer; arithmetic evalua-
-                     tion (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above) is performed  when
+                     tion  (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above) is performed when
                      the variable is assigned a value.
-              -\b-l\bl     When  the  variable  is  assigned a value, all upper-case
-                     characters are converted to lower-case.   The  upper-case
+              -\b-l\bl     When the variable is assigned  a  value,  all  upper-case
+                     characters  are  converted to lower-case.  The upper-case
                      attribute is disabled.
               -\b-r\br     Make _\bn_\ba_\bm_\bes readonly.  These names cannot then be assigned
                      values by subsequent assignment statements or unset.
-              -\b-t\bt     Give each _\bn_\ba_\bm_\be the  _\bt_\br_\ba_\bc_\be  attribute.   Traced  functions
-                     inherit  the  D\bDE\bEB\bBU\bUG\bG  and  R\bRE\bET\bTU\bUR\bRN\bN  traps  from the calling
-                     shell.  The trace attribute has no  special  meaning  for
+              -\b-t\bt     Give  each  _\bn_\ba_\bm_\be  the  _\bt_\br_\ba_\bc_\be attribute.  Traced functions
+                     inherit the D\bDE\bEB\bBU\bUG\bG  and  R\bRE\bET\bTU\bUR\bRN\bN  traps  from  the  calling
+                     shell.   The  trace  attribute has no special meaning for
                      variables.
-              -\b-u\bu     When  the  variable  is  assigned a value, all lower-case
-                     characters are converted to upper-case.   The  lower-case
+              -\b-u\bu     When the variable is assigned  a  value,  all  lower-case
+                     characters  are  converted to upper-case.  The lower-case
                      attribute is disabled.
-              -\b-x\bx     Mark  _\bn_\ba_\bm_\bes  for  export  to  subsequent commands via the
+              -\b-x\bx     Mark _\bn_\ba_\bm_\bes for export  to  subsequent  commands  via  the
                      environment.
 
-              Using `+' instead of `-' turns off the attribute  instead,  with
+              Using  `+'  instead of `-' turns off the attribute instead, with
               the exceptions that +\b+a\ba may not be used to destroy an array vari-
-              able and +\b+r\br will not remove the readonly attribute.   When  used
-              in a function, makes each _\bn_\ba_\bm_\be local, as with the l\blo\boc\bca\bal\bl command,
-              unless the -\b-g\bg option is supplied, If a variable name is followed
-              by  =_\bv_\ba_\bl_\bu_\be,  the  value  of  the  variable is set to _\bv_\ba_\bl_\bu_\be.  The
-              return value is 0 unless an invalid option  is  encountered,  an
-              attempt  is  made  to define a function using ``-f foo=bar'', an
-              attempt is made to assign a value to  a  readonly  variable,  an
-              attempt  is  made to assign a value to an array variable without
-              using the compound assignment syntax (see A\bAr\brr\bra\bay\bys\bs above), one  of
-              the _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, an attempt is made
-              to turn off readonly status for a readonly variable, an  attempt
-              is  made  to  turn off array status for an array variable, or an
-              attempt is made to display a non-existent function with -\b-f\bf.
-
-       d\bdi\bir\brs\bs [\b[+\b+_\bn]\b] [\b[-\b-_\bn]\b] [\b[-\b-c\bcl\blp\bpv\bv]\b]
+              able  and  +\b+r\br will not remove the readonly attribute.  When used
+              in a function, d\bde\bec\bcl\bla\bar\bre\be and t\bty\byp\bpe\bes\bse\bet\bt make each _\bn_\ba_\bm_\be local, as with
+              the l\blo\boc\bca\bal\bl command, unless the -\b-g\bg option is supplied.  If a vari-
+              able name is followed by =_\bv_\ba_\bl_\bu_\be, the value of  the  variable  is
+              set to _\bv_\ba_\bl_\bu_\be.  The return value is 0 unless an invalid option is
+              encountered, an attempt is made to define a function using  ``-f
+              foo=bar'',  an  attempt  is made to assign a value to a readonly
+              variable, an attempt is made to assign a value to an array vari-
+              able  without  using  the compound assignment syntax (see A\bAr\brr\bra\bay\bys\bs
+              above), one of the _\bn_\ba_\bm_\be_\bs is not a valid shell variable name,  an
+              attempt is made to turn off readonly status for a readonly vari-
+              able, an attempt is made to turn off array status for  an  array
+              variable,  or an attempt is made to display a non-existent func-
+              tion with -\b-f\bf.
+
+       d\bdi\bir\brs\bs [\b[-\b-c\bcl\blp\bpv\bv]\b] [\b[+\b+_\bn]\b] [\b[-\b-_\bn]\b]
               Without options,  displays  the  list  of  currently  remembered
               directories.   The  default  display  is  on  a single line with
               directory names separated by spaces.  Directories are  added  to
               the  list  with  the  p\bpu\bus\bsh\bhd\bd  command;  the  p\bpo\bop\bpd\bd command removes
               entries from the list.
+              -\b-c\bc     Clears  the  directory  stack  by  deleting  all  of  the
+                     entries.
+              -\b-l\bl     Produces  a  listing  using  full  pathnames; the default
+                     listing format uses a tilde to denote the home directory.
+              -\b-p\bp     Print the directory stack with one entry per line.
+              -\b-v\bv     Print  the  directory stack with one entry per line, pre-
+                     fixing each entry with its index in the stack.
               +\b+_\bn     Displays the _\bnth entry counting from the left of the list
                      shown by d\bdi\bir\brs\bs when invoked without options, starting with
                      zero.
               -\b-_\bn     Displays the _\bnth entry counting from  the  right  of  the
                      list shown by d\bdi\bir\brs\bs when invoked without options, starting
                      with zero.
-              -\b-c\bc     Clears  the  directory  stack  by  deleting  all  of  the
-                     entries.
-              -\b-l\bl     Produces  a  longer  listing;  the default listing format
-                     uses a tilde to denote the home directory.
-              -\b-p\bp     Print the directory stack with one entry per line.
-              -\b-v\bv     Print the directory stack with one entry per  line,  pre-
-                     fixing each entry with its index in the stack.
 
-              The  return value is 0 unless an invalid option is supplied or _\bn
+              The return value is 0 unless an invalid option is supplied or  _\bn
               indexes beyond the end of the directory stack.
 
        d\bdi\bis\bso\bow\bwn\bn [-\b-a\bar\br] [-\b-h\bh] [_\bj_\bo_\bb_\bs_\bp_\be_\bc ...]
-              Without options, each _\bj_\bo_\bb_\bs_\bp_\be_\bc  is  removed  from  the  table  of
-              active  jobs.   If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, and neither -\b-a\ba nor -\b-r\br
-              is supplied, the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.   If
-              the -\b-h\bh option is given, each _\bj_\bo_\bb_\bs_\bp_\be_\bc is not removed from the ta-
-              ble, but is marked so that S\bSI\bIG\bGH\bHU\bUP\bP is not sent to the job if  the
-              shell  receives a S\bSI\bIG\bGH\bHU\bUP\bP.  If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is present, and neither
-              the -\b-a\ba nor the -\b-r\br option is supplied, the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb  is  used.
-              If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied, the -\b-a\ba option means to remove or mark
-              all jobs; the -\b-r\br option without  a  _\bj_\bo_\bb_\bs_\bp_\be_\bc  argument  restricts
-              operation  to running jobs.  The return value is 0 unless a _\bj_\bo_\bb_\b-
-              _\bs_\bp_\be_\bdoes not specify a valid job.
+              Without  options,  remove  each _\bj_\bo_\bb_\bs_\bp_\be_\bc from the table of active
+              jobs.  If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, and neither -\b-a\ba nor -\b-r\br is  sup-
+              plied, the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  If the -\b-h\bh
+              option is given, each _\bj_\bo_\bb_\bs_\bp_\be_\bc is not removed from the table, but
+              is  marked  so  that  S\bSI\bIG\bGH\bHU\bUP\bP is not sent to the job if the shell
+              receives a S\bSI\bIG\bGH\bHU\bUP\bP.  If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is present, and neither the -\b-a\ba
+              nor  the  -\b-r\br option is supplied, the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  If no
+              _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied, the -\b-a\ba option means to remove or  mark  all
+              jobs;  the -\b-r\br option without a _\bj_\bo_\bb_\bs_\bp_\be_\bc argument restricts opera-
+              tion to running jobs.  The return value is 0  unless  a  _\bj_\bo_\bb_\bs_\bp_\be_\bc
+              does not specify a valid job.
 
        e\bec\bch\bho\bo [-\b-n\bne\beE\bE] [_\ba_\br_\bg ...]
-              Output the _\ba_\br_\bgs, separated by spaces,  followed  by  a  newline.
-              The  return  status  is 0 unless a write error occurs.  If -\b-n\bn is
+              Output  the  _\ba_\br_\bgs,  separated  by spaces, followed by a newline.
+              The return status is 0 unless a write error occurs.   If  -\b-n\b is
               specified, the trailing newline is suppressed.  If the -\b-e\be option
-              is  given,  interpretation  of  the  following backslash-escaped
-              characters is enabled.  The -\b-E\bE option disables  the  interpreta-
-              tion  of these escape characters, even on systems where they are
-              interpreted by default.  The x\bxp\bpg\bg_\b_e\bec\bch\bho\bo shell option may  be  used
-              to  dynamically  determine  whether  or  not  e\bec\bch\bho\bo expands these
-              escape characters by default.  e\bec\bch\bho\bo does  not  interpret  -\b--\b to
-              mean  the  end of options.  e\bec\bch\bho\bo interprets the following escape
+              is given,  interpretation  of  the  following  backslash-escaped
+              characters  is  enabled.  The -\b-E\bE option disables the interpreta-
+              tion of these escape characters, even on systems where they  are
+              interpreted  by  default.  The x\bxp\bpg\bg_\b_e\bec\bch\bho\bo shell option may be used
+              to dynamically determine  whether  or  not  e\bec\bch\bho\bo  expands  these
+              escape  characters  by  default.   e\bec\bch\bho\bo does not interpret -\b--\b- to
+              mean the end of options.  e\bec\bch\bho\bo interprets the  following  escape
               sequences:
               \\b\a\ba     alert (bell)
               \\b\b\bb     backspace
@@ -4171,89 +4177,88 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               \\b\t\bt     horizontal tab
               \\b\v\bv     vertical tab
               \\b\\\b\     backslash
-              \\b\0\b0_\bn_\bn_\bn  the eight-bit character whose value is  the  octal  value
+              \\b\0\b0_\bn_\bn_\bn  the  eight-bit  character  whose value is the octal value
                      _\bn_\bn_\bn (zero to three octal digits)
-              \\b\x\bx_\bH_\bH   the  eight-bit  character  whose value is the hexadecimal
+              \\b\x\bx_\bH_\bH   the eight-bit character whose value  is  the  hexadecimal
                      value _\bH_\bH (one or two hex digits)
-              \\b\u\bu_\bH_\bH_\bH_\bH the Unicode (ISO/IEC 10646) character whose value is  the
+              \\b\u\bu_\bH_\bH_\bH_\bH the  Unicode (ISO/IEC 10646) character whose value is the
                      hexadecimal value _\bH_\bH_\bH_\bH (one to four hex digits)
               \\b\U\bU_\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH
-                     the  Unicode (ISO/IEC 10646) character whose value is the
+                     the Unicode (ISO/IEC 10646) character whose value is  the
                      hexadecimal value _\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH (one to eight hex digits)
 
        e\ben\bna\bab\bbl\ble\be [-\b-a\ba] [-\b-d\bdn\bnp\bps\bs] [-\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [_\bn_\ba_\bm_\be ...]
-              Enable and disable builtin shell commands.  Disabling a  builtin
+              Enable  and disable builtin shell commands.  Disabling a builtin
               allows a disk command which has the same name as a shell builtin
-              to be executed without specifying a full pathname,  even  though
-              the  shell  normally searches for builtins before disk commands.
-              If -\b-n\bn is used, each  _\bn_\ba_\bm_\be  is  disabled;  otherwise,  _\bn_\ba_\bm_\be_\b are
+              to  be  executed without specifying a full pathname, even though
+              the shell normally searches for builtins before  disk  commands.
+              If  -\b-n\bn  is  used,  each  _\bn_\ba_\bm_\be  is disabled; otherwise, _\bn_\ba_\bm_\be_\bs are
               enabled.  For example, to use the t\bte\bes\bst\bt binary found via the P\bPA\bAT\bTH\bH
-              instead of the shell builtin version, run  ``enable  -n  test''.
-              The  -\b-f\bf  option  means to load the new builtin command _\bn_\ba_\bm_\be from
+              instead  of  the  shell builtin version, run ``enable -n test''.
+              The -\b-f\bf option means to load the new builtin  command  _\bn_\ba_\bm_\b from
               shared object _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be, on systems that support dynamic loading.
-              The  -\b-d\bd  option will delete a builtin previously loaded with -\b-f\bf.
+              The -\b-d\bd option will delete a builtin previously loaded  with  -\b-f\bf.
               If no _\bn_\ba_\bm_\be arguments are given, or if the -\b-p\bp option is supplied,
               a list of shell builtins is printed.  With no other option argu-
-              ments, the list consists of all enabled shell builtins.   If  -\b-n\bn
-              is  supplied, only disabled builtins are printed.  If -\b-a\ba is sup-
-              plied, the list printed includes all builtins, with  an  indica-
-              tion  of whether or not each is enabled.  If -\b-s\bs is supplied, the
-              output is restricted to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins.  The  return
-              value  is  0 unless a _\bn_\ba_\bm_\be is not a shell builtin or there is an
+              ments,  the  list consists of all enabled shell builtins.  If -\b-n\bn
+              is supplied, only disabled builtins are printed.  If -\b-a\ba is  sup-
+              plied,  the  list printed includes all builtins, with an indica-
+              tion of whether or not each is enabled.  If -\b-s\bs is supplied,  the
+              output  is restricted to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins.  The return
+              value is 0 unless a _\bn_\ba_\bm_\be is not a shell builtin or there  is  an
               error loading a new builtin from a shared object.
 
        e\bev\bva\bal\bl [_\ba_\br_\bg ...]
-              The _\ba_\br_\bgs are read and concatenated together into a  single  com-
-              mand.   This command is then read and executed by the shell, and
-              its exit status is returned as the value of e\bev\bva\bal\bl.  If there  are
+              The  _\ba_\br_\bgs  are read and concatenated together into a single com-
+              mand.  This command is then read and executed by the shell,  and
+              its  exit status is returned as the value of e\bev\bva\bal\bl.  If there are
               no _\ba_\br_\bg_\bs, or only null arguments, e\bev\bva\bal\bl returns 0.
 
        e\bex\bxe\bec\bc [-\b-c\bcl\bl] [-\b-a\ba _\bn_\ba_\bm_\be] [_\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]]
-              If  _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell.  No new process
-              is created.  The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.   If
+              If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell.  No new  process
+              is  created.  The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  If
               the -\b-l\bl option is supplied, the shell places a dash at the begin-
-              ning of the zeroth argument passed to  _\bc_\bo_\bm_\bm_\ba_\bn_\bd.   This  is  what
+              ning  of  the  zeroth  argument passed to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  This is what
               _\bl_\bo_\bg_\bi_\bn(1) does.  The -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed with
-              an empty environment.  If -\b-a\ba is supplied, the shell passes  _\bn_\ba_\bm_\be
+              an  empty environment.  If -\b-a\ba is supplied, the shell passes _\bn_\ba_\bm_\be
               as the zeroth argument to the executed command.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd can-
-              not be executed for some reason, a non-interactive shell  exits,
-              unless  the  shell  option e\bex\bxe\bec\bcf\bfa\bai\bil\bl is enabled, in which case it
-              returns failure.  An interactive shell returns  failure  if  the
+              not  be executed for some reason, a non-interactive shell exits,
+              unless the e\bex\bxe\bec\bcf\bfa\bai\bil\bl shell option is enabled.  In that  case,  it
+              returns  failure.   An  interactive shell returns failure if the
               file cannot be executed.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is not specified, any redi-
               rections take effect in the current shell, and the return status
-              is  0.  If there is a redirection error, the return status is 1.
+              is 0.  If there is a redirection error, the return status is  1.
 
        e\bex\bxi\bit\bt [_\bn]
-              Cause the shell to exit with a status of _\bn.  If  _\bn  is  omitted,
+              Cause  the  shell  to exit with a status of _\bn.  If _\bn is omitted,
               the exit status is that of the last command executed.  A trap on
               E\bEX\bXI\bIT\bT is executed before the shell terminates.
 
        e\bex\bxp\bpo\bor\brt\bt [-\b-f\bfn\bn] [_\bn_\ba_\bm_\be[=_\bw_\bo_\br_\bd]] ...
        e\bex\bxp\bpo\bor\brt\bt -\b-p\bp
-              The supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the  envi-
-              ronment  of subsequently executed commands.  If the -\b-f\bf option is
-              given, the _\bn_\ba_\bm_\be_\bs refer to functions.  If no _\bn_\ba_\bm_\be_\bs are given,  or
-              if  the  -\b-p\bp  option  is  supplied,  a list of all names that are
-              exported in this shell is printed.  The  -\b-n\bn  option  causes  the
-              export  property  to  be  removed from each _\bn_\ba_\bm_\be.  If a variable
-              name is followed by =_\bw_\bo_\br_\bd, the value of the variable is  set  to
-              _\bw_\bo_\br_\bd.   e\bex\bxp\bpo\bor\brt\bt  returns  an  exit  status of 0 unless an invalid
-              option is encountered, one of the _\bn_\ba_\bm_\be_\bs is  not  a  valid  shell
-              variable name, or -\b-f\bf is supplied with a _\bn_\ba_\bm_\be that is not a func-
-              tion.
+              The  supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the envi-
+              ronment of subsequently executed commands.  If the -\b-f\bf option  is
+              given,  the _\bn_\ba_\bm_\be_\bs refer to functions.  If no _\bn_\ba_\bm_\be_\bs are given, or
+              if the -\b-p\bp option is supplied, a list of names  of  all  exported
+              variables  is printed.  The -\b-n\bn option causes the export property
+              to be removed from each _\bn_\ba_\bm_\be.  If a variable name is followed by
+              =_\bw_\bo_\br_\bd, the value of the variable is set to _\bw_\bo_\br_\bd.  e\bex\bxp\bpo\bor\brt\bt returns
+              an exit status of 0 unless an invalid option is encountered, one
+              of  the  _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, or -\b-f\bf is sup-
+              plied with a _\bn_\ba_\bm_\be that is not a function.
 
        f\bfc\bc [-\b-e\be _\be_\bn_\ba_\bm_\be] [-\b-l\bln\bnr\br] [_\bf_\bi_\br_\bs_\bt] [_\bl_\ba_\bs_\bt]
        f\bfc\bc -\b-s\bs [_\bp_\ba_\bt=_\br_\be_\bp] [_\bc_\bm_\bd]
-              Fix Command.  In the first form, a range of commands from  _\bf_\bi_\br_\bs_\bt
-              to  _\bl_\ba_\bs_\bt  is selected from the history list.  _\bF_\bi_\br_\bs_\bt and _\bl_\ba_\bs_\bt may
-              be specified as a string (to locate the last  command  beginning
-              with  that  string)  or  as  a number (an index into the history
-              list, where a negative number is used as an offset from the cur-
-              rent command number).  If _\bl_\ba_\bs_\bt is not specified it is set to the
-              current command for listing (so that ``fc -l  -10''  prints  the
-              last 10 commands) and to _\bf_\bi_\br_\bs_\bt otherwise.  If _\bf_\bi_\br_\bs_\bt is not spec-
-              ified it is set to the previous command for editing and -16  for
-              listing.
+              The first form selects a range of commands from  _\bf_\bi_\br_\bs_\bt  to  _\bl_\ba_\bs_\bt
+              from  the  history  list  and  displays or edits and re-executes
+              them.  _\bF_\bi_\br_\bs_\bt and _\bl_\ba_\bs_\bt may be specified as a  string  (to  locate
+              the  last command beginning with that string) or as a number (an
+              index into the history list, where a negative number is used  as
+              an  offset  from  the  current  command number).  If _\bl_\ba_\bs_\bt is not
+              specified it is set to the current command for listing (so  that
+              ``fc  -l  -10'' prints the last 10 commands) and to _\bf_\bi_\br_\bs_\bt other-
+              wise.  If _\bf_\bi_\br_\bs_\bt is not specified it is set to the previous  com-
+              mand for editing and -16 for listing.
 
               The  -\b-n\bn option suppresses the command numbers when listing.  The
               -\b-r\br option reverses the order of the commands.  If the -\b-l\bl  option
@@ -4265,10 +4270,10 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               plete, the edited commands are echoed and executed.
 
               In the second form, _\bc_\bo_\bm_\bm_\ba_\bn_\bd is re-executed after  each  instance
-              of  _\bp_\ba_\bt  is replaced by _\br_\be_\bp.  A useful alias to use with this is
-              ``r="fc -s"'', so that typing ``r cc''  runs  the  last  command
-              beginning with ``cc'' and typing ``r'' re-executes the last com-
-              mand.
+              of  _\bp_\ba_\bt  is  replaced by _\br_\be_\bp.  _\bC_\bo_\bm_\bm_\ba_\bn_\bd is intepreted the same as
+              _\bf_\bi_\br_\bs_\bt above.  A useful alias to use with this is ``r="fc  -s"'',
+              so  that  typing  ``r  cc'' runs the last command beginning with
+              ``cc'' and typing ``r'' re-executes the last command.
 
               If the first form is used, the  return  value  is  0  unless  an
               invalid  option  is encountered or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt specify history
@@ -4314,7 +4319,7 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
 
               g\bge\bet\bto\bop\bpt\bts\bs can report errors in two ways.  If the  first  character
               of  _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg  is  a  colon, _\bs_\bi_\bl_\be_\bn_\bt error reporting is used.  In
-              normal operation diagnostic messages are  printed  when  invalid
+              normal operation, diagnostic messages are printed  when  invalid
               options  or  missing  option  arguments are encountered.  If the
               variable O\bOP\bPT\bTE\bER\bRR\bR is set to 0, no  error  messages  will  be  dis-
               played, even if the first character of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is not a colon.
@@ -4339,7 +4344,7 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               is determined by searching the directories in $\b$P\bPA\bAT\bTH\bH  and  remem-
               bered.  Any previously-remembered pathname is discarded.  If the
               -\b-p\bp option is supplied, no path search is performed, and _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
-              is  used  as  the  full file name of the command.  The -\b-r\br option
+              is  used  as  the  full  filename of the command.  The -\b-r\br option
               causes the shell to forget all  remembered  locations.   The  -\b-d\bd
               option  causes  the  shell  to forget the remembered location of
               each _\bn_\ba_\bm_\be.  If the -\b-t\bt option is supplied, the full  pathname  to
@@ -4389,10 +4394,10 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      file  into  the  current  history  list.  These are lines
                      appended to the history file since the beginning  of  the
                      current b\bba\bas\bsh\bh session.
-              -\b-r\br     Read the contents of the history file and use them as the
-                     current history.
-              -\b-w\bw     Write the current history to the history file,  overwrit-
-                     ing the history file's contents.
+              -\b-r\br     Read  the contents of the history file and append them to
+                     the current history list.
+              -\b-w\bw     Write the current history list to the history file, over-
+                     writing the history file's contents.
               -\b-p\bp     Perform  history  substitution  on the following _\ba_\br_\bg_\bs and
                      display the result on  the  standard  output.   Does  not
                      store  the results in the history list.  Each _\ba_\br_\bg must be
@@ -4421,8 +4426,8 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      status  since the user was last notified of their status.
               -\b-p\bp     List only the process  ID  of  the  job's  process  group
                      leader.
-              -\b-r\br     Restrict output to running jobs.
-              -\b-s\bs     Restrict output to stopped jobs.
+              -\b-r\br     Display only running jobs.
+              -\b-s\bs     Display only stopped jobs.
 
               If  _\bj_\bo_\bb_\bs_\bp_\be_\bc  is given, output is restricted to information about
               that job.  The return status is 0 unless an  invalid  option  is
@@ -4576,36 +4581,37 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      from  the  right of the list shown by d\bdi\bir\brs\bs, starting with
                      zero) is at the top.
               _\bd_\bi_\br    Adds _\bd_\bi_\br to the directory stack at the top, making it the
-                     new current working directory.
+                     new  current working directory as if it had been supplied
+                     as the argument to the c\bcd\bd builtin.
 
               If the p\bpu\bus\bsh\bhd\bd command is successful, a d\bdi\bir\brs\bs is performed as well.
-              If the first form is used, p\bpu\bus\bsh\bhd\bd returns 0 unless the cd to  _\bd_\bi_\br
-              fails.   With the second form, p\bpu\bus\bsh\bhd\bd returns 0 unless the direc-
-              tory stack is empty, a non-existent directory stack  element  is
-              specified,  or the directory change to the specified new current
+              If  the first form is used, p\bpu\bus\bsh\bhd\bd returns 0 unless the cd to _\bd_\bi_\br
+              fails.  With the second form, p\bpu\bus\bsh\bhd\bd returns 0 unless the  direc-
+              tory  stack  is empty, a non-existent directory stack element is
+              specified, or the directory change to the specified new  current
               directory fails.
 
        p\bpw\bwd\bd [-\b-L\bLP\bP]
-              Print the absolute pathname of the  current  working  directory.
+              Print  the  absolute  pathname of the current working directory.
               The pathname printed contains no symbolic links if the -\b-P\bP option
               is supplied or the -\b-o\bo p\bph\bhy\bys\bsi\bic\bca\bal\bl option to the s\bse\bet\bt builtin command
-              is  enabled.  If the -\b-L\bL option is used, the pathname printed may
-              contain symbolic links.  The return status is 0 unless an  error
-              occurs  while  reading  the  name of the current directory or an
+              is enabled.  If the -\b-L\bL option is used, the pathname printed  may
+              contain  symbolic links.  The return status is 0 unless an error
+              occurs while reading the name of the  current  directory  or  an
               invalid option is supplied.
 
        r\bre\bea\bad\bd [-\b-e\ber\brs\bs] [-\b-a\ba _\ba_\bn_\ba_\bm_\be] [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-i\bi _\bt_\be_\bx_\bt] [-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs] [-\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs] [-\b-p\bp
        _\bp_\br_\bo_\bm_\bp_\bt] [-\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt] [-\b-u\bu _\bf_\bd] [_\bn_\ba_\bm_\be ...]
-              One line is read from the  standard  input,  or  from  the  file
-              descriptor  _\bf_\bd supplied as an argument to the -\b-u\bu option, and the
+              One  line  is  read  from  the  standard input, or from the file
+              descriptor _\bf_\bd supplied as an argument to the -\b-u\bu option, and  the
               first word is assigned to the first _\bn_\ba_\bm_\be, the second word to the
-              second  _\bn_\ba_\bm_\be, and so on, with leftover words and their interven-
-              ing separators assigned to the last _\bn_\ba_\bm_\be.  If  there  are  fewer
+              second _\bn_\ba_\bm_\be, and so on, with leftover words and their  interven-
+              ing  separators  assigned  to the last _\bn_\ba_\bm_\be.  If there are fewer
               words read from the input stream than names, the remaining names
-              are assigned empty values.  The characters in I\bIF\bFS\bS  are  used  to
-              split  the  line into words.  The backslash character (\\b\) may be
-              used to remove any special meaning for the next  character  read
-              and  for line continuation.  Options, if supplied, have the fol-
+              are  assigned  empty  values.  The characters in I\bIF\bFS\bS are used to
+              split the line into words.  The backslash character (\\b\)  may  be
+              used  to  remove any special meaning for the next character read
+              and for line continuation.  Options, if supplied, have the  fol-
               lowing meanings:
               -\b-a\ba _\ba_\bn_\ba_\bm_\be
                      The words are assigned to sequential indices of the array
@@ -4613,48 +4619,49 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      new  values  are  assigned.   Other  _\bn_\ba_\bm_\be  arguments  are
                      ignored.
               -\b-d\bd _\bd_\be_\bl_\bi_\bm
-                     The  first  character  of  _\bd_\be_\bl_\bi_\bm is used to terminate the
+                     The first character of _\bd_\be_\bl_\bi_\bm is  used  to  terminate  the
                      input line, rather than newline.
               -\b-e\be     If the standard input is coming from a terminal, r\bre\bea\bad\bdl\bli\bin\bne\be
-                     (see  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE  above) is used to obtain the line.  Read-
-                     line uses the current (or default, if  line  editing  was
+                     (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE above) is used to obtain the  line.   Read-
+                     line  uses  the  current (or default, if line editing was
                      not previously active) editing settings.
               -\b-i\bi _\bt_\be_\bx_\bt
-                     If  r\bre\bea\bad\bdl\bli\bin\bne\be  is  being  used  to  read the line, _\bt_\be_\bx_\bt is
+                     If r\bre\bea\bad\bdl\bli\bin\bne\be is being used  to  read  the  line,  _\bt_\be_\bx_\b is
                      placed into the editing buffer before editing begins.
               -\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs
-                     r\bre\bea\bad\breturns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather  than
-                     waiting  for a complete line of input, but honor a delim-
-                     iter if fewer than _\bn_\bc_\bh_\ba_\br_\bs characters are read before  the
+                     r\bre\bea\bad\b returns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather than
+                     waiting for a complete line of input, but honor a  delim-
+                     iter  if fewer than _\bn_\bc_\bh_\ba_\br_\bs characters are read before the
                      delimiter.
               -\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs
-                     r\bre\bea\bad\b returns  after  reading  exactly  _\bn_\bc_\bh_\ba_\br_\bs characters
-                     rather than waiting for a complete line of input,  unless
-                     EOF  is encountered or r\bre\bea\bad\bd times out.  Delimiter charac-
-                     ters encountered in the input are not  treated  specially
-                     and  do  not cause r\bre\bea\bad\bd to return until _\bn_\bc_\bh_\ba_\br_\bs characters
+                     r\bre\bea\bad\breturns  after  reading  exactly  _\bn_\bc_\bh_\ba_\br_\b characters
+                     rather  than waiting for a complete line of input, unless
+                     EOF is encountered or r\bre\bea\bad\bd times out.  Delimiter  charac-
+                     ters  encountered  in the input are not treated specially
+                     and do not cause r\bre\bea\bad\bd to return until  _\bn_\bc_\bh_\ba_\br_\b characters
                      are read.
               -\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt
                      Display _\bp_\br_\bo_\bm_\bp_\bt on standard error, without a trailing new-
                      line, before attempting to read any input.  The prompt is
                      displayed only if input is coming from a terminal.
               -\b-r\br     Backslash does not act as an escape character.  The back-
-                     slash  is considered to be part of the line.  In particu-
-                     lar, a backslash-newline pair may not be used as  a  line
+                     slash is considered to be part of the line.  In  particu-
+                     lar,  a  backslash-newline pair may not be used as a line
                      continuation.
               -\b-s\bs     Silent mode.  If input is coming from a terminal, charac-
                      ters are not echoed.
               -\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt
-                     Cause r\bre\bea\bad\bd to time out and return failure if  a  complete
-                     line  of input is not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.  _\bt_\bi_\bm_\be_\b-
-                     _\bo_\bu_\bt may be a decimal number  with  a  fractional  portion
-                     following  the decimal point.  This option is only effec-
-                     tive if r\bre\bea\bad\bd is reading input from a terminal,  pipe,  or
-                     other  special  file;  it has no effect when reading from
-                     regular files.  If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0, r\bre\bea\bad\bd returns success  if
-                     input  is  available  on  the  specified file descriptor,
-                     failure otherwise.  The exit status is greater  than  128
-                     if the timeout is exceeded.
+                     Cause  r\bre\bea\bad\bd  to time out and return failure if a complete
+                     line of input is not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.   _\bt_\bi_\bm_\be_\b-
+                     _\bo_\bu_\bt  may  be  a  decimal number with a fractional portion
+                     following the decimal point.  This option is only  effec-
+                     tive  if  r\bre\bea\bad\bd is reading input from a terminal, pipe, or
+                     other special file; it has no effect  when  reading  from
+                     regular  files.   If  _\bt_\bi_\bm_\be_\bo_\bu_\bt  is 0, r\bre\bea\bad\bd returns immedi-
+                     ately, without trying to read any data.  The exit  statis
+                     is 0 if input is available on the specified file descrip-
+                     tor, non-zero otherwise.  The exit status is greater than
+                     128 if the timeout is exceeded.
               -\b-u\bu _\bf_\bd  Read input from file descriptor _\bf_\bd.
 
               If no _\bn_\ba_\bm_\be_\bs are supplied, the line read is assigned to the vari-
@@ -4681,16 +4688,17 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               a _\bn_\ba_\bm_\be that is not a function.
 
        r\bre\bet\btu\bur\brn\bn [_\bn]
-              Causes  a function to exit with the return value specified by _\bn.
-              If _\bn is omitted, the return status is that of the  last  command
-              executed  in the function body.  If used outside a function, but
-              during execution of a script by  the  .\b.   (s\bso\bou\bur\brc\bce\be)  command,  it
-              causes the shell to stop executing that script and return either
-              _\bn or the exit status of the last  command  executed  within  the
-              script  as  the  exit  status  of the script.  If used outside a
-              function and not during execution of a script by .\b.,  the  return
-              status is false.  Any command associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is
-              executed before execution resumes after the function or  script.
+              Causes  a function to stop executing and return the value speci-
+              fied by _\bn to its caller.  If _\bn is omitted, the return status  is
+              that  of  the  last  command  executed in the function body.  If
+              r\bre\bet\btu\bur\brn\bn is used outside a function, but  during  execution  of  a
+              script  by  the .\b.  (s\bso\bou\bur\brc\bce\be) command, it causes the shell to stop
+              executing that script and return either _\bn or the exit status  of
+              the  last  command executed within the script as the exit status
+              of the script.  The return status is non-zero if r\bre\bet\btu\bur\brn\bn is  used
+              outside  a function and not during execution of a script by .\b. or
+              s\bso\bou\bur\brc\bce\be.  Any command associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed
+              before execution resumes after the function or script.
 
        s\bse\bet\bt [-\b--\b-a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [_\ba_\br_\bg ...]
        s\bse\bet\bt [+\b+a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [_\ba_\br_\bg ...]
@@ -4711,36 +4719,37 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       ately, rather than before the next primary prompt.  This
                       is effective only when job control is enabled.
               -\b-e\be      Exit immediately if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist  of  a
-                      single  _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd),  a _\bs_\bu_\bb_\bs_\bh_\be_\bl_\bl command enclosed in
-                      parentheses, or one of the commands executed as part  of
-                      a  command  list  enclosed  by braces (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
-                      above) exits with a non-zero status.  The shell does not
-                      exit  if  the  command that fails is part of the command
-                      list immediately following a  w\bwh\bhi\bil\ble\be  or  u\bun\bnt\bti\bil\bl  keyword,
-                      part  of  the  test  following  the  i\bif\bf or e\bel\bli\bif\bf reserved
-                      words, part of any command executed in a &\b&&\b& or  |\b||\b|  list
-                      except  the  command  following  the final &\b&&\b& or |\b||\b|, any
-                      command in a pipeline but the last, or if the  command's
-                      return  value  is being inverted with !\b!.  A trap on E\bER\bRR\bR,
+                      single  _\bs_\bi_\bm_\bp_\bl_\be  _\bc_\bo_\bm_\bm_\ba_\bn_\bd),  a _\bl_\bi_\bs_\bt, or a _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd _\bc_\bo_\bm_\bm_\ba_\bn_\bd
+                      (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above),  exits with a  non-zero  sta-
+                      tus.   The shell does not exit if the command that fails
+                      is part of the  command  list  immediately  following  a
+                      w\bwh\bhi\bil\ble\be  or  u\bun\bnt\bti\bil\bl keyword, part of the test following the
+                      i\bif\bf or e\bel\bli\bif\bf reserved words, part of any command  executed
+                      in  a  &\b&&\b&  or  |\b||\b|  list except the command following the
+                      final &\b&&\b& or |\b||\b|, any command in a pipeline but the  last,
+                      or  if the command's return value is being inverted with
+                      !\b!.  If a compound command other than a subshell  returns
+                      a  non-zero status because a command failed while -\b-e\be was
+                      being ignored, the shell does not exit.  A trap on  E\bER\bRR\bR,
                       if set, is executed before the shell exits.  This option
                       applies to the shell environment and each subshell envi-
-                      ronment separately (see  C\bCO\bOM\bMM\bMA\bAN\bND\bD  E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\b E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
+                      ronment  separately  (see  C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
                       above), and may cause subshells to exit before executing
                       all the commands in the subshell.
               -\b-f\bf      Disable pathname expansion.
-              -\b-h\bh      Remember the location of commands as they are looked  up
+              -\b-h\bh      Remember  the location of commands as they are looked up
                       for execution.  This is enabled by default.
-              -\b-k\bk      All  arguments  in the form of assignment statements are
-                      placed in the environment for a command, not just  those
+              -\b-k\bk      All arguments in the form of assignment  statements  are
+                      placed  in the environment for a command, not just those
                       that precede the command name.
-              -\b-m\bm      Monitor  mode.   Job control is enabled.  This option is
-                      on by default for interactive  shells  on  systems  that
-                      support  it  (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above).  All processes run
+              -\b-m\bm      Monitor mode.  Job control is enabled.  This  option  is
+                      on  by  default  for  interactive shells on systems that
+                      support it (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above).  All  processes  run
                       in a separate process group.  When a background job com-
                       pletes, the shell prints a line containing its exit sta-
                       tus.
               -\b-n\bn      Read commands but do not execute them.  This may be used
-                      to  check  a  shell  script  for syntax errors.  This is
+                      to check a shell script  for  syntax  errors.   This  is
                       ignored by interactive shells.
               -\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be
                       The _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be can be one of the following:
@@ -4748,10 +4757,10 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               Same as -\b-a\ba.
                       b\bbr\bra\bac\bce\bee\bex\bxp\bpa\ban\bnd\bd
                               Same as -\b-B\bB.
-                      e\bem\bma\bac\bcs\bs   Use an emacs-style command line  editing  inter-
+                      e\bem\bma\bac\bcs\bs   Use  an  emacs-style command line editing inter-
                               face.  This is enabled by default when the shell
                               is interactive, unless the shell is started with
-                              the  -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg  option.  This also affects the
+                              the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option.  This also  affects  the
                               editing interface used for r\bre\bea\bad\bd -\b-e\be.
                       e\ber\brr\bre\bex\bxi\bit\bt Same as -\b-e\be.
                       e\ber\brr\brt\btr\bra\bac\bce\be
@@ -4765,8 +4774,8 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               H\bHI\bIS\bST\bTO\bOR\bRY\bY.  This option is on by default in inter-
                               active shells.
                       i\big\bgn\bno\bor\bre\bee\beo\bof\bf
-                              The  effect  is  as   if   the   shell   command
-                              ``IGNOREEOF=10''  had  been  executed (see S\bSh\bhe\bel\bll\bl
+                              The   effect   is   as   if  the  shell  command
+                              ``IGNOREEOF=10'' had been  executed  (see  S\bSh\bhe\bel\bll\bl
                               V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs above).
                       k\bke\bey\byw\bwo\bor\brd\bd Same as -\b-k\bk.
                       m\bmo\bon\bni\bit\bto\bor\br Same as -\b-m\bm.
@@ -4781,316 +4790,330 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       p\bph\bhy\bys\bsi\bic\bca\bal\bl
                               Same as -\b-P\bP.
                       p\bpi\bip\bpe\bef\bfa\bai\bil\bl
-                              If set, the return value of a  pipeline  is  the
-                              value  of  the  last (rightmost) command to exit
-                              with a non-zero status, or zero if all  commands
-                              in  the pipeline exit successfully.  This option
+                              If  set,  the  return value of a pipeline is the
+                              value of the last (rightmost)  command  to  exit
+                              with  a non-zero status, or zero if all commands
+                              in the pipeline exit successfully.  This  option
                               is disabled by default.
-                      p\bpo\bos\bsi\bix\bx   Change the behavior of b\bba\bas\bsh\bh  where  the  default
-                              operation  differs  from  the  POSIX standard to
+                      p\bpo\bos\bsi\bix\bx   Change  the  behavior  of b\bba\bas\bsh\bh where the default
+                              operation differs from  the  POSIX  standard  to
                               match the standard (_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be).
                       p\bpr\bri\biv\bvi\bil\ble\beg\bge\bed\bd
                               Same as -\b-p\bp.
                       v\bve\ber\brb\bbo\bos\bse\be Same as -\b-v\bv.
-                      v\bvi\bi      Use a vi-style command line  editing  interface.
+                      v\bvi\bi      Use  a  vi-style command line editing interface.
                               This also affects the editing interface used for
                               r\bre\bea\bad\bd -\b-e\be.
                       x\bxt\btr\bra\bac\bce\be  Same as -\b-x\bx.
                       If -\b-o\bo is supplied with no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, the values of the
-                      current  options are printed.  If +\b+o\bo is supplied with no
-                      _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, a series of s\bse\bet\bt commands  to  recreate  the
-                      current  option  settings  is  displayed on the standard
+                      current options are printed.  If +\b+o\bo is supplied with  no
+                      _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be,  a  series  of s\bse\bet\bt commands to recreate the
+                      current option settings is  displayed  on  the  standard
                       output.
-              -\b-p\bp      Turn on _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd mode.  In this  mode,  the  $\b$E\bEN\bNV\b and
-                      $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\b files  are not processed, shell functions are
-                      not inherited from the environment, and  the  S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS,
-                      B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS,  C\bCD\bDP\bPA\bAT\bTH\bH,  and  G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE  variables,  if they
+              -\b-p\bp      Turn  on  _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd  mode.   In this mode, the $\b$E\bEN\bNV\bV and
+                      $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bfiles are not processed, shell  functions  are
+                      not  inherited  from the environment, and the S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS,
+                      B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS, C\bCD\bDP\bPA\bAT\bTH\bH,  and  G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE  variables,  if  they
                       appear in the environment, are ignored.  If the shell is
-                      started  with the effective user (group) id not equal to
-                      the real user (group) id, and the -\b-p\bp option is not  sup-
+                      started with the effective user (group) id not equal  to
+                      the  real user (group) id, and the -\b-p\bp option is not sup-
                       plied, these actions are taken and the effective user id
-                      is set to the real user id.  If the -\b-p\bp  option  is  sup-
-                      plied  at  startup,  the effective user id is not reset.
-                      Turning this option off causes the  effective  user  and
+                      is  set  to  the real user id.  If the -\b-p\bp option is sup-
+                      plied at startup, the effective user id  is  not  reset.
+                      Turning  this  option  off causes the effective user and
                       group ids to be set to the real user and group ids.
               -\b-t\bt      Exit after reading and executing one command.
               -\b-u\bu      Treat unset variables and parameters other than the spe-
-                      cial parameters "@" and "*" as an error when  performing
-                      parameter  expansion.   If  expansion is attempted on an
-                      unset variable or parameter, the shell prints  an  error
-                      message,  and, if not interactive, exits with a non-zero
+                      cial  parameters "@" and "*" as an error when performing
+                      parameter expansion.  If expansion is  attempted  on  an
+                      unset  variable  or parameter, the shell prints an error
+                      message, and, if not interactive, exits with a  non-zero
                       status.
               -\b-v\bv      Print shell input lines as they are read.
-              -\b-x\bx      After expanding each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br  command,  c\bca\bas\bse\be
+              -\b-x\bx      After  expanding  each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br command, c\bca\bas\bse\be
                       command, s\bse\bel\ble\bec\bct\bt command, or arithmetic f\bfo\bor\br command, dis-
-                      play the expanded value of P\bPS\bS4\b4, followed by the  command
+                      play  the expanded value of P\bPS\bS4\b4, followed by the command
                       and its expanded arguments or associated word list.
-              -\b-B\bB      The  shell performs brace expansion (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
+              -\b-B\bB      The shell performs brace expansion (see B\bBr\bra\bac\bce\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
                       above).  This is on by default.
-              -\b-C\bC      If set, b\bba\bas\bsh\bh does not overwrite an  existing  file  with
-                      the  >\b>,  >\b>&\b&,  and <\b<>\b> redirection operators.  This may be
+              -\b-C\bC      If  set,  b\bba\bas\bsh\bh  does not overwrite an existing file with
+                      the >\b>, >\b>&\b&, and <\b<>\b> redirection operators.   This  may  be
                       overridden when creating output files by using the redi-
                       rection operator >\b>|\b| instead of >\b>.
               -\b-E\bE      If set, any trap on E\bER\bRR\bR is inherited by shell functions,
-                      command substitutions, and commands executed in  a  sub-
-                      shell  environment.  The E\bER\bRR\bR trap is normally not inher-
+                      command  substitutions,  and commands executed in a sub-
+                      shell environment.  The E\bER\bRR\bR trap is normally not  inher-
                       ited in such cases.
               -\b-H\bH      Enable !\b!  style history substitution.  This option is on
                       by default when the shell is interactive.
-              -\b-P\bP      If  set,  the  shell does not follow symbolic links when
-                      executing commands such as c\bcd\bd that  change  the  current
+              -\b-P\bP      If set, the shell does not follow  symbolic  links  when
+                      executing  commands  such  as c\bcd\bd that change the current
                       working  directory.   It  uses  the  physical  directory
                       structure instead.  By default, b\bba\bas\bsh\bh follows the logical
-                      chain  of  directories  when  performing  commands which
+                      chain of  directories  when  performing  commands  which
                       change the current directory.
-              -\b-T\bT      If set, any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are  inherited  by
-                      shell  functions,  command  substitutions,  and commands
-                      executed in  a  subshell  environment.   The  D\bDE\bEB\bBU\bUG\b and
+              -\b-T\bT      If  set,  any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are inherited by
+                      shell functions,  command  substitutions,  and  commands
+                      executed  in  a  subshell  environment.   The  D\bDE\bEB\bBU\bUG\bG and
                       R\bRE\bET\bTU\bUR\bRN\bN traps are normally not inherited in such cases.
-              -\b--\b-      If  no arguments follow this option, then the positional
+              -\b--\b-      If no arguments follow this option, then the  positional
                       parameters are unset.  Otherwise, the positional parame-
-                      ters  are  set  to  the _\ba_\br_\bgs, even if some of them begin
+                      ters are set to the _\ba_\br_\bgs, even if  some  of  them  begin
                       with a -\b-.
-              -\b-       Signal the end of options, cause all remaining  _\ba_\br_\bgs  to
+              -\b-       Signal  the  end of options, cause all remaining _\ba_\br_\bgs to
                       be assigned to the positional parameters.  The -\b-x\bx and -\b-v\bv
                       options are turned off.  If there are no _\ba_\br_\bgs, the posi-
                       tional parameters remain unchanged.
 
-              The  options are off by default unless otherwise noted.  Using +
-              rather than - causes  these  options  to  be  turned  off.   The
-              options  can  also be specified as arguments to an invocation of
-              the shell.  The current set of options may be found in $\b$-\b-.   The
+              The options are off by default unless otherwise noted.  Using  +
+              rather  than  -  causes  these  options  to  be turned off.  The
+              options can also be specified as arguments to an  invocation  of
+              the  shell.  The current set of options may be found in $\b$-\b-.  The
               return status is always true unless an invalid option is encoun-
               tered.
 
        s\bsh\bhi\bif\bft\bt [_\bn]
-              The positional parameters from _\bn+1 ... are renamed  to  $\b$1\b .\b..\b..\b..\b.
-              Parameters  represented  by  the  numbers  $\b$#\b# down to $\b$#\b#-_\bn+1 are
-              unset.  _\bn must be a non-negative number less than  or  equal  to
-              $\b$#\b#.   If  _\bn is 0, no parameters are changed.  If _\bn is not given,
-              it is assumed to be 1.  If _\bn is greater than $\b$#\b#, the  positional
-              parameters  are  not changed.  The return status is greater than
+              The  positional  parameters  from _\bn+1 ... are renamed to $\b$1\b1 .\b..\b..\b..\b.
+              Parameters represented by the numbers  $\b$#\b#  down  to  $\b$#\b#-_\bn+1  are
+              unset.   _\bn  must  be a non-negative number less than or equal to
+              $\b$#\b#.  If _\bn is 0, no parameters are changed.  If _\bn is  not  given,
+              it  is assumed to be 1.  If _\bn is greater than $\b$#\b#, the positional
+              parameters are not changed.  The return status is  greater  than
               zero if _\bn is greater than $\b$#\b# or less than zero; otherwise 0.
 
        s\bsh\bho\bop\bpt\bt [-\b-p\bpq\bqs\bsu\bu] [-\b-o\bo] [_\bo_\bp_\bt_\bn_\ba_\bm_\be ...]
               Toggle the values of variables controlling optional shell behav-
               ior.  With no options, or with the -\b-p\bp option, a list of all set-
               table options is displayed, with an indication of whether or not
-              each  is  set.  The -\b-p\bp option causes output to be displayed in a
-              form that may be reused as input.  Other options have  the  fol-
+              each is set.  The -\b-p\bp option causes output to be displayed  in  a
+              form  that  may be reused as input.  Other options have the fol-
               lowing meanings:
               -\b-s\bs     Enable (set) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
               -\b-u\bu     Disable (unset) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
-              -\b-q\bq     Suppresses  normal output (quiet mode); the return status
+              -\b-q\bq     Suppresses normal output (quiet mode); the return  status
                      indicates whether the _\bo_\bp_\bt_\bn_\ba_\bm_\be is set or unset.  If multi-
-                     ple  _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are given with -\b-q\bq, the return sta-
-                     tus is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero  other-
+                     ple _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are given with -\b-q\bq, the return  sta-
+                     tus  is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero other-
                      wise.
-              -\b-o\bo     Restricts  the  values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those defined for
+              -\b-o\bo     Restricts the values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those  defined  for
                      the -\b-o\bo option to the s\bse\bet\bt builtin.
 
-              If either -\b-s\bs or -\b-u\bu is used with no _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments,  the  dis-
-              play is limited to those options which are set or unset, respec-
-              tively.  Unless otherwise noted, the s\bsh\bho\bop\bpt\bt options are  disabled
-              (unset) by default.
+              If  either  -\b-s\bs  or  -\b-u\bu  is used with no _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments, s\bsh\bho\bop\bpt\bt
+              shows only those options which are set or  unset,  respectively.
+              Unless  otherwise  noted, the s\bsh\bho\bop\bpt\bt options are disabled (unset)
+              by default.
 
-              The  return  status when listing options is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs
-              are enabled, non-zero  otherwise.   When  setting  or  unsetting
-              options,  the  return  status is zero unless an _\bo_\bp_\bt_\bn_\ba_\bm_\be is not a
+              The return status when listing options is zero if  all  _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs
+              are  enabled,  non-zero  otherwise.   When  setting or unsetting
+              options, the return status is zero unless an _\bo_\bp_\bt_\bn_\ba_\bm_\be  is  not  a
               valid shell option.
 
               The list of s\bsh\bho\bop\bpt\bt options is:
 
-              a\bau\but\bto\boc\bcd\bd  If set, a command name that is the name of  a  directory
-                      is  executed  as  if it were the argument to the c\bcd\bd com-
+              a\bau\but\bto\boc\bcd\bd  If  set,  a command name that is the name of a directory
+                      is executed as if it were the argument to  the  c\bcd\b com-
                       mand.  This option is only used by interactive shells.
               c\bcd\bda\bab\bbl\ble\be_\b_v\bva\bar\brs\bs
-                      If set, an argument to the c\bcd\bd builtin  command  that  is
-                      not  a directory is assumed to be the name of a variable
+                      If  set,  an  argument to the c\bcd\bd builtin command that is
+                      not a directory is assumed to be the name of a  variable
                       whose value is the directory to change to.
               c\bcd\bds\bsp\bpe\bel\bll\bl If set, minor errors in the spelling of a directory com-
-                      ponent  in  a  c\bcd\bd command will be corrected.  The errors
+                      ponent in a c\bcd\bd command will be  corrected.   The  errors
                       checked for are transposed characters, a missing charac-
-                      ter,  and  one  character  too many.  If a correction is
-                      found, the corrected file name is printed, and the  com-
-                      mand  proceeds.  This option is only used by interactive
+                      ter, and one character too many.   If  a  correction  is
+                      found,  the  corrected filename is printed, and the com-
+                      mand proceeds.  This option is only used by  interactive
                       shells.
               c\bch\bhe\bec\bck\bkh\bha\bas\bsh\bh
                       If set, b\bba\bas\bsh\bh checks that a command found in the hash ta-
-                      ble  exists  before  trying  to execute it.  If a hashed
-                      command no longer exists, a normal path search  is  per-
+                      ble exists before trying to execute  it.   If  a  hashed
+                      command  no  longer exists, a normal path search is per-
                       formed.
               c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs
                       If set, b\bba\bas\bsh\bh lists the status of any stopped and running
-                      jobs before exiting an interactive shell.  If  any  jobs
+                      jobs  before  exiting an interactive shell.  If any jobs
                       are running, this causes the exit to be deferred until a
-                      second exit is attempted without an intervening  command
-                      (see  J\bJO\bOB\bB  C\bCO\bON\bNT\bTR\bRO\bOL\bL  above).   The shell always postpones
+                      second  exit is attempted without an intervening command
+                      (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above).   The  shell  always  postpones
                       exiting if any jobs are stopped.
               c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be
-                      If set, b\bba\bas\bsh\bh checks the window size after  each  command
-                      and,  if necessary, updates the values of L\bLI\bIN\bNE\bES\bS and C\bCO\bOL\bL-\b-
+                      If  set,  b\bba\bas\bsh\bh checks the window size after each command
+                      and, if necessary, updates the values of L\bLI\bIN\bNE\bES\bS and  C\bCO\bOL\bL-\b-
                       U\bUM\bMN\bNS\bS.
-              c\bcm\bmd\bdh\bhi\bis\bst\bt If set, b\bba\bas\bsh\bh attempts to save all lines of  a  multiple-
-                      line  command  in  the  same history entry.  This allows
+              c\bcm\bmd\bdh\bhi\bis\bst\bt If  set,  b\bba\bas\bsh\bh attempts to save all lines of a multiple-
+                      line command in the same  history  entry.   This  allows
                       easy re-editing of multi-line commands.
               c\bco\bom\bmp\bpa\bat\bt3\b31\b1
                       If set, b\bba\bas\bsh\bh changes its behavior to that of version 3.1
-                      with  respect  to quoted arguments to the [\b[[\b[ conditional
+                      with respect to quoted arguments to the  [\b[[\b conditional
                       command's =\b=~\b~ operator.
               c\bco\bom\bmp\bpa\bat\bt3\b32\b2
                       If set, b\bba\bas\bsh\bh changes its behavior to that of version 3.2
-                      with  respect  to locale-specific string comparison when
-                      using the [\b[[\b[ conditional command's <\b<  and  >\b operators.
-                      Bash  versions prior to bash-4.1 use ASCII collation and
-                      _\bs_\bt_\br_\bc_\bm_\bp(3); bash-4.1 and later use the  current  locale's
+                      with respect to locale-specific string  comparison  when
+                      using  the  [\b[[\b[  conditional command's <\b< and >\b> operators.
+                      Bash versions prior to bash-4.1 use ASCII collation  and
+                      _\bs_\bt_\br_\bc_\bm_\bp(3);  bash-4.1  and later use the current locale's
                       collation sequence and _\bs_\bt_\br_\bc_\bo_\bl_\bl(3).
               c\bco\bom\bmp\bpa\bat\bt4\b40\b0
                       If set, b\bba\bas\bsh\bh changes its behavior to that of version 4.0
-                      with respect to locale-specific string  comparison  when
-                      using  the  [\b[[\b[  conditional  command's <\b< and >\b> operators
-                      (see previous item) and the  effect  of  interrupting  a
+                      with  respect  to locale-specific string comparison when
+                      using the [\b[[\b[ conditional command's  <\b<  and  >\b operators
+                      (see  previous  item)  and  the effect of interrupting a
                       command list.
               c\bco\bom\bmp\bpa\bat\bt4\b41\b1
-                      If  set, b\bba\bas\bsh\bh, when in posix mode, treats a single quote
-                      in a double-quoted  parameter  expansion  as  a  special
-                      character.   The  single quotes must match (an even num-
-                      ber) and the characters between the  single  quotes  are
-                      considered  quoted.   This is the behavior of posix mode
-                      through version 4.1.  The default bash behavior  remains
+                      If set, b\bba\bas\bsh\bh, when in posix mode, treats a single  quote
+                      in  a  double-quoted  parameter  expansion  as a special
+                      character.  The single quotes must match (an  even  num-
+                      ber)  and  the  characters between the single quotes are
+                      considered quoted.  This is the behavior of  posix  mode
+                      through  version 4.1.  The default bash behavior remains
                       as in previous versions.
+              c\bco\bom\bmp\bpl\ble\bet\bte\be_\b_f\bfu\bul\bll\blq\bqu\buo\bot\bte\be
+                      If set, b\bba\bas\bsh\bh quotes all shell  metacharacters  in  file-
+                      names  and  directory  names when performing completion.
+                      If not set, b\bba\bas\bsh\bh removes metacharacters such as the dol-
+                      lar  sign from the set of characters that will be quoted
+                      in completed filenames when these metacharacters  appear
+                      in  shell  variable references in words to be completed.
+                      This means that dollar  signs  in  variable  names  that
+                      expand  to  directories will not be quoted; however, any
+                      dollar signs appearing in filenames will not be  quoted,
+                      either.   This  is  active only when bash is using back-
+                      slashes to quote completed filenames.  This variable  is
+                      set  by  default,  which is the default bash behavior in
+                      versions through 4.2.
               d\bdi\bir\bre\bex\bxp\bpa\ban\bnd\bd
-                      If  set,  b\bba\bas\bsh\bh replaces directory names with the results
-                      of word expansion when performing  filename  completion.
+                      If set, b\bba\bas\bsh\bh replaces directory names with  the  results
+                      of  word  expansion when performing filename completion.
                       This  changes  the  contents  of  the  readline  editing
-                      buffer.  If not set, b\bba\bas\bsh\bh attempts to preserve what  the
+                      buffer.   If not set, b\bba\bas\bsh\bh attempts to preserve what the
                       user typed.
               d\bdi\bir\brs\bsp\bpe\bel\bll\bl
-                      If  set,  b\bba\bas\bsh\bh attempts spelling correction on directory
-                      names during word completion if the directory name  ini-
+                      If set, b\bba\bas\bsh\bh attempts spelling correction  on  directory
+                      names  during word completion if the directory name ini-
                       tially supplied does not exist.
-              d\bdo\bot\btg\bgl\blo\bob\bb If  set, b\bba\bas\bsh\bh includes filenames beginning with a `.' in
+              d\bdo\bot\btg\bgl\blo\bob\bb If set, b\bba\bas\bsh\bh includes filenames beginning with a `.'  in
                       the results of pathname expansion.
               e\bex\bxe\bec\bcf\bfa\bai\bil\bl
                       If set, a non-interactive shell will not exit if it can-
-                      not  execute  the  file  specified as an argument to the
-                      e\bex\bxe\bec\bbuiltin command.  An  interactive  shell  does  not
+                      not execute the file specified as  an  argument  to  the
+                      e\bex\bxe\bec\b builtin  command.   An  interactive shell does not
                       exit if e\bex\bxe\bec\bc fails.
               e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bs
-                      If  set,  aliases  are expanded as described above under
+                      If set, aliases are expanded as  described  above  under
                       A\bAL\bLI\bIA\bAS\bSE\bES\bS.  This option is enabled by default for interac-
                       tive shells.
               e\bex\bxt\btd\bde\beb\bbu\bug\bg
-                      If  set,  behavior  intended  for  use  by  debuggers is
+                      If set,  behavior  intended  for  use  by  debuggers  is
                       enabled:
                       1\b1.\b.     The -\b-F\bF option to the d\bde\bec\bcl\bla\bar\bre\be builtin displays the
                              source file name and line number corresponding to
                              each function name supplied as an argument.
-                      2\b2.\b.     If the command run by the D\bDE\bEB\bBU\bUG\bG  trap  returns  a
-                             non-zero  value,  the next command is skipped and
+                      2\b2.\b.     If  the  command  run by the D\bDE\bEB\bBU\bUG\bG trap returns a
+                             non-zero value, the next command is  skipped  and
                              not executed.
-                      3\b3.\b.     If the command run by the D\bDE\bEB\bBU\bUG\bG  trap  returns  a
-                             value  of 2, and the shell is executing in a sub-
-                             routine (a shell function or a shell script  exe-
-                             cuted  by  the  .\b.  or s\bso\bou\bur\brc\bce\be builtins), a call to
+                      3\b3.\b.     If  the  command  run by the D\bDE\bEB\bBU\bUG\bG trap returns a
+                             value of 2, and the shell is executing in a  sub-
+                             routine  (a shell function or a shell script exe-
+                             cuted by the .\b. or s\bso\bou\bur\brc\bce\be  builtins),  a  call  to
                              r\bre\bet\btu\bur\brn\bn is simulated.
-                      4\b4.\b.     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\band B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as  described
+                      4\b4.\b.     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\b and B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as described
                              in their descriptions above.
-                      5\b5.\b.     Function  tracing  is enabled:  command substitu-
+                      5\b5.\b.     Function tracing is enabled:   command  substitu-
                              tion, shell functions, and subshells invoked with
                              (\b( _\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps.
-                      6\b6.\b.     Error  tracing is enabled:  command substitution,
-                             shell functions, and  subshells  invoked  with  (\b(
+                      6\b6.\b.     Error tracing is enabled:  command  substitution,
+                             shell  functions,  and  subshells  invoked with (\b(
                              _\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the E\bER\bRR\bR trap.
               e\bex\bxt\btg\bgl\blo\bob\bb If set, the extended pattern matching features described
                       above under P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn are enabled.
               e\bex\bxt\btq\bqu\buo\bot\bte\be
-                      If set, $\b$'_\bs_\bt_\br_\bi_\bn_\bg' and  $\b$"_\bs_\bt_\br_\bi_\bn_\bg"  quoting  is  performed
-                      within   $\b${\b{_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}\b}   expansions  enclosed  in  double
+                      If  set,  $\b$'_\bs_\bt_\br_\bi_\bn_\bg'  and  $\b$"_\bs_\bt_\br_\bi_\bn_\bg" quoting is performed
+                      within  $\b${\b{_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}\b}  expansions  enclosed   in   double
                       quotes.  This option is enabled by default.
               f\bfa\bai\bil\blg\bgl\blo\bob\bb
-                      If set, patterns which fail to  match  filenames  during
+                      If  set,  patterns  which fail to match filenames during
                       pathname expansion result in an expansion error.
               f\bfo\bor\brc\bce\be_\b_f\bfi\big\bgn\bno\bor\bre\be
-                      If  set,  the  suffixes  specified  by the F\bFI\bIG\bGN\bNO\bOR\bRE\bE shell
-                      variable cause words to be ignored when performing  word
+                      If set, the suffixes  specified  by  the  F\bFI\bIG\bGN\bNO\bOR\bRE\b shell
+                      variable  cause words to be ignored when performing word
                       completion even if the ignored words are the only possi-
                       ble  completions.   See  S\bSH\bHE\bEL\bLL\bL  V\bVA\bAR\bRI\bIA\bAB\bBL\bLE\bES\bS  above  for  a
-                      description  of  F\bFI\bIG\bGN\bNO\bOR\bRE\bE.   This  option  is  enabled by
+                      description of  F\bFI\bIG\bGN\bNO\bOR\bRE\bE.   This  option  is  enabled  by
                       default.
               g\bgl\blo\bob\bba\bas\bsc\bci\bii\bir\bra\ban\bng\bge\bes\bs
-                      If set, range expressions used in pattern matching  (see
-                      P\bPa\bat\btt\bte\ber\brn\b M\bMa\bat\btc\bch\bhi\bin\bng\bg above) behave as if in the traditional
+                      If  set, range expressions used in pattern matching (see
+                      P\bPa\bat\btt\bte\ber\brn\bM\bMa\bat\btc\bch\bhi\bin\bng\bg above) behave as if in the  traditional
                       C locale when performing comparisons.  That is, the cur-
-                      rent  locale's  collating  sequence  is  not  taken into
-                      account, so b\bb will not collate  between  A\bA  and  B\bB,  and
-                      upper-case  and lower-case ASCII characters will collate
+                      rent locale's  collating  sequence  is  not  taken  into
+                      account,  so  b\bb  will  not  collate between A\bA and B\bB, and
+                      upper-case and lower-case ASCII characters will  collate
                       together.
               g\bgl\blo\bob\bbs\bst\bta\bar\br
                       If set, the pattern *\b**\b* used in a pathname expansion con-
-                      text  will  match all files and zero or more directories
-                      and subdirectories.  If the pattern is followed by a  /\b/,
+                      text will match all files and zero or  more  directories
+                      and  subdirectories.  If the pattern is followed by a /\b/,
                       only directories and subdirectories match.
               g\bgn\bnu\bu_\b_e\ber\brr\brf\bfm\bmt\bt
                       If set, shell error messages are written in the standard
                       GNU error message format.
               h\bhi\bis\bst\bta\bap\bpp\bpe\ben\bnd\bd
-                      If set, the history list is appended to the  file  named
-                      by  the  value  of  the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE variable when the shell
+                      If  set,  the history list is appended to the file named
+                      by the value of the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE  variable  when  the  shell
                       exits, rather than overwriting the file.
               h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt
-                      If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, a user is given  the
+                      If  set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, a user is given the
                       opportunity to re-edit a failed history substitution.
               h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by
-                      If  set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of his-
-                      tory substitution are  not  immediately  passed  to  the
-                      shell  parser.   Instead,  the  resulting line is loaded
+                      If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of  his-
+                      tory  substitution  are  not  immediately  passed to the
+                      shell parser.  Instead, the  resulting  line  is  loaded
                       into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer, allowing further modi-
                       fication.
               h\bho\bos\bst\btc\bco\bom\bmp\bpl\ble\bet\bte\be
                       If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh will attempt to
-                      perform hostname completion when a word containing  a  @\b@
-                      is   being  completed  (see  C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg  under  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
+                      perform  hostname  completion when a word containing a @\b@
+                      is  being  completed  (see  C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg  under   R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
                       above).  This is enabled by default.
               h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt
                       If set, b\bba\bas\bsh\bh will send S\bSI\bIG\bGH\bHU\bUP\bP to all jobs when an inter-
                       active login shell exits.
               i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs
                       If set, allow a word beginning with #\b# to cause that word
-                      and all remaining characters on that line to be  ignored
-                      in  an  interactive  shell  (see  C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS above).  This
+                      and  all remaining characters on that line to be ignored
+                      in an interactive  shell  (see  C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS  above).   This
                       option is enabled by default.
               l\bla\bas\bst\btp\bpi\bip\bpe\be
-                      If set, and job control is not active,  the  shell  runs
+                      If  set,  and  job control is not active, the shell runs
                       the last command of a pipeline not executed in the back-
                       ground in the current shell environment.
-              l\bli\bit\bth\bhi\bis\bst\bt If set, and the c\bcm\bmd\bdh\bhi\bis\bst\bt option  is  enabled,  multi-line
+              l\bli\bit\bth\bhi\bis\bst\bt If  set,  and  the c\bcm\bmd\bdh\bhi\bis\bst\bt option is enabled, multi-line
                       commands are saved to the history with embedded newlines
                       rather than using semicolon separators where possible.
               l\blo\bog\bgi\bin\bn_\b_s\bsh\bhe\bel\bll\bl
-                      The shell sets this option if it is started as  a  login
-                      shell  (see  I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN  above).   The  value may not be
+                      The  shell  sets this option if it is started as a login
+                      shell (see I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN above).   The  value  may  not  be
                       changed.
               m\bma\bai\bil\blw\bwa\bar\brn\bn
-                      If set, and a file that b\bba\bas\bsh\bh is checking  for  mail  has
-                      been  accessed  since  the last time it was checked, the
-                      message ``The mail in _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be has been read''  is  dis-
+                      If  set,  and  a file that b\bba\bas\bsh\bh is checking for mail has
+                      been accessed since the last time it  was  checked,  the
+                      message  ``The  mail in _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be has been read'' is dis-
                       played.
               n\bno\bo_\b_e\bem\bmp\bpt\bty\by_\b_c\bcm\bmd\bd_\b_c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
-                      If  set,  and  r\bre\bea\bad\bdl\bli\bin\bne\be  is  being  used,  b\bba\bas\bsh\bh will not
+                      If set, and  r\bre\bea\bad\bdl\bli\bin\bne\be  is  being  used,  b\bba\bas\bsh\bh  will  not
                       attempt to search the P\bPA\bAT\bTH\bH for possible completions when
                       completion is attempted on an empty line.
               n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb
-                      If  set,  b\bba\bas\bsh\bh  matches  filenames in a case-insensitive
+                      If set, b\bba\bas\bsh\bh matches  filenames  in  a  case-insensitive
                       fashion when performing pathname expansion (see P\bPa\bat\bth\bhn\bna\bam\bme\be
                       E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above).
               n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh
-                      If  set,  b\bba\bas\bsh\bh  matches  patterns  in a case-insensitive
+                      If set, b\bba\bas\bsh\bh  matches  patterns  in  a  case-insensitive
                       fashion when performing matching while executing c\bca\bas\bse\be or
                       [\b[[\b[ conditional commands.
               n\bnu\bul\bll\blg\bgl\blo\bob\bb
-                      If  set,  b\bba\bas\bsh\bh allows patterns which match no files (see
-                      P\bPa\bat\bth\bhn\bna\bam\bme\bE\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above) to expand to  a  null  string,
+                      If set, b\bba\bas\bsh\bh allows patterns which match no  files  (see
+                      P\bPa\bat\bth\bhn\bna\bam\bme\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn  above)  to expand to a null string,
                       rather than themselves.
               p\bpr\bro\bog\bgc\bco\bom\bmp\bp
                       If set, the programmable completion facilities (see P\bPr\bro\bo-\b-
@@ -5098,50 +5121,50 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       enabled by default.
               p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs
                       If set, prompt strings undergo parameter expansion, com-
-                      mand  substitution,  arithmetic  expansion,  and   quote
-                      removal  after  being expanded as described in P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
+                      mand   substitution,  arithmetic  expansion,  and  quote
+                      removal after being expanded as described  in  P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
                       above.  This option is enabled by default.
               r\bre\bes\bst\btr\bri\bic\bct\bte\bed\bd_\b_s\bsh\bhe\bel\bll\bl
-                      The  shell  sets  this  option  if  it  is  started   in
+                      The   shell  sets  this  option  if  it  is  started  in
                       restricted mode (see R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL below).  The value
-                      may not be changed.  This is not reset when the  startup
-                      files  are  executed, allowing the startup files to dis-
+                      may  not be changed.  This is not reset when the startup
+                      files are executed, allowing the startup files  to  dis-
                       cover whether or not a shell is restricted.
               s\bsh\bhi\bif\bft\bt_\b_v\bve\ber\brb\bbo\bos\bse\be
-                      If set, the s\bsh\bhi\bif\bft\bt builtin prints an error  message  when
+                      If  set,  the s\bsh\bhi\bif\bft\bt builtin prints an error message when
                       the shift count exceeds the number of positional parame-
                       ters.
               s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh
                       If set, the s\bso\bou\bur\brc\bce\be (.\b.) builtin uses the value of P\bPA\bAT\bTH\bH to
-                      find  the  directory  containing the file supplied as an
+                      find the directory containing the file  supplied  as  an
                       argument.  This option is enabled by default.
               x\bxp\bpg\bg_\b_e\bec\bch\bho\bo
-                      If  set,  the  e\bec\bch\bho\bo  builtin  expands   backslash-escape
+                      If   set,  the  e\bec\bch\bho\bo  builtin  expands  backslash-escape
                       sequences by default.
 
        s\bsu\bus\bsp\bpe\ben\bnd\bd [-\b-f\bf]
-              Suspend  the execution of this shell until it receives a S\bSI\bIG\bGC\bCO\bON\bNT\bT
+              Suspend the execution of this shell until it receives a  S\bSI\bIG\bGC\bCO\bON\bNT\bT
               signal.  A login shell cannot be suspended; the -\b-f\bf option can be
               used to override this and force the suspension.  The return sta-
-              tus is 0 unless the shell is a login shell and -\b-f\bf  is  not  sup-
+              tus  is  0  unless the shell is a login shell and -\b-f\bf is not sup-
               plied, or if job control is not enabled.
 
        t\bte\bes\bst\bt _\be_\bx_\bp_\br
        [\b[ _\be_\bx_\bp_\br ]\b]
-              Return  a  status  of  0 or 1 depending on the evaluation of the
-              conditional expression _\be_\bx_\bp_\br.  Each operator and operand must  be
-              a  separate argument.  Expressions are composed of the primaries
-              described above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.   t\bte\bes\bst\bt  does  not
-              accept any options, nor does it accept and ignore an argument of
-              -\b--\b- as signifying the end of options.
-
-              Expressions may  be  combined  using  the  following  operators,
+              Return a status of 0 (true) or 1 (false) depending on the evalu-
+              ation of the conditional expression _\be_\bx_\bp_\br.  Each operator and op-
+              erand must be a separate argument.  Expressions are composed  of
+              the  primaries  described  above  under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.
+              t\bte\bes\bst\bt does not accept any options, nor does it accept and  ignore
+              an argument of -\b--\b- as signifying the end of options.
+
+              Expressions  may  be  combined  using  the  following operators,
               listed  in  decreasing  order  of  precedence.   The  evaluation
-              depends on the number of arguments; see below.  Operator  prece-
+              depends  on the number of arguments; see below.  Operator prece-
               dence is used when there are five or more arguments.
               !\b! _\be_\bx_\bp_\br True if _\be_\bx_\bp_\br is false.
               (\b( _\be_\bx_\bp_\br )\b)
-                     Returns  the value of _\be_\bx_\bp_\br.  This may be used to override
+                     Returns the value of _\be_\bx_\bp_\br.  This may be used to  override
                      the normal precedence of operators.
               _\be_\bx_\bp_\br_\b1 -a\ba _\be_\bx_\bp_\br_\b2
                      True if both _\be_\bx_\bp_\br_\b1 and _\be_\bx_\bp_\br_\b2 are true.
@@ -5158,63 +5181,63 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      null.
               2 arguments
                      If the first argument is !\b!, the expression is true if and
-                     only  if the second argument is null.  If the first argu-
-                     ment is one of the  unary  conditional  operators  listed
-                     above  under  C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL  E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS, the expression is
+                     only if the second argument is null.  If the first  argu-
+                     ment  is  one  of  the unary conditional operators listed
+                     above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS,  the  expression  is
                      true if the unary test is true.  If the first argument is
                      not a valid unary conditional operator, the expression is
                      false.
               3 arguments
                      The following conditions are applied in the order listed.
-                     If  the  second argument is one of the binary conditional
+                     If the second argument is one of the  binary  conditional
                      operators listed above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS, the
                      result of the expression is the result of the binary test
-                     using the first and third arguments as operands.  The  -\b-a\ba
-                     and  -\b-o\bo  operators  are  considered binary operators when
-                     there are three arguments.  If the first argument  is  !\b!,
-                     the  value is the negation of the two-argument test using
+                     using  the first and third arguments as operands.  The -\b-a\ba
+                     and -\b-o\bo operators are  considered  binary  operators  when
+                     there  are  three arguments.  If the first argument is !\b!,
+                     the value is the negation of the two-argument test  using
                      the second and third arguments.  If the first argument is
                      exactly (\b( and the third argument is exactly )\b), the result
-                     is the one-argument test of the second argument.   Other-
+                     is  the one-argument test of the second argument.  Other-
                      wise, the expression is false.
               4 arguments
                      If the first argument is !\b!, the result is the negation of
-                     the three-argument expression composed of  the  remaining
+                     the  three-argument  expression composed of the remaining
                      arguments.  Otherwise, the expression is parsed and eval-
-                     uated according to  precedence  using  the  rules  listed
+                     uated  according  to  precedence  using  the rules listed
                      above.
               5 or more arguments
-                     The  expression  is  parsed  and  evaluated  according to
+                     The expression  is  parsed  and  evaluated  according  to
                      precedence using the rules listed above.
 
-              When used with t\bte\bes\bst\bt or [\b[, the <\b< and  >\b>  operators  sort  lexico-
+              When  used  with  t\bte\bes\bst\bt  or [\b[, the <\b< and >\b> operators sort lexico-
               graphically using ASCII ordering.
 
-       t\bti\bim\bme\bes\bs  Print  the  accumulated  user and system times for the shell and
+       t\bti\bim\bme\bes\bs  Print the accumulated user and system times for  the  shell  and
               for processes run from the shell.  The return status is 0.
 
        t\btr\bra\bap\bp [-\b-l\blp\bp] [[_\ba_\br_\bg] _\bs_\bi_\bg_\bs_\bp_\be_\bc ...]
-              The command _\ba_\br_\bg is to  be  read  and  executed  when  the  shell
-              receives  signal(s)  _\bs_\bi_\bg_\bs_\bp_\be_\bc.   If _\ba_\br_\bg is absent (and there is a
-              single _\bs_\bi_\bg_\bs_\bp_\be_\bc) or -\b-, each specified  signal  is  reset  to  its
-              original  disposition  (the  value  it  had upon entrance to the
-              shell).  If _\ba_\br_\bg is the null string the signal specified by  each
-              _\bs_\bi_\bg_\bs_\bp_\be_\b is ignored by the shell and by the commands it invokes.
-              If _\ba_\br_\bg is not present and -\b-p\bp has been supplied,  then  the  trap
-              commands  associated  with  each  _\bs_\bi_\bg_\bs_\bp_\be_\bc  are displayed.  If no
-              arguments are supplied or if only -\b-p\bp is given, t\btr\bra\bap\bp  prints  the
-              list  of  commands  associated  with each signal.  The -\b-l\bl option
-              causes the shell to print a list of signal names and their  cor-
-              responding  numbers.   Each  _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  either  a  signal name
-              defined in <_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh>, or a signal  number.   Signal  names  are
+              The  command  _\ba_\br_\bg  is  to  be  read  and executed when the shell
+              receives signal(s) _\bs_\bi_\bg_\bs_\bp_\be_\bc.  If _\ba_\br_\bg is absent (and  there  is  a
+              single  _\bs_\bi_\bg_\bs_\bp_\be_\bc)  or  -\b-,  each  specified signal is reset to its
+              original disposition (the value it  had  upon  entrance  to  the
+              shell).   If _\ba_\br_\bg is the null string the signal specified by each
+              _\bs_\bi_\bg_\bs_\bp_\be_\bis ignored by the shell and by the commands it  invokes.
+              If  _\ba_\br_\bg  is  not present and -\b-p\bp has been supplied, then the trap
+              commands associated with each  _\bs_\bi_\bg_\bs_\bp_\be_\bc  are  displayed.   If  no
+              arguments  are  supplied or if only -\b-p\bp is given, t\btr\bra\bap\bp prints the
+              list of commands associated with each  signal.   The  -\b-l\b option
+              causes  the shell to print a list of signal names and their cor-
+              responding numbers.   Each  _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  either  a  signal  name
+              defined  in  <_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh>,  or  a signal number.  Signal names are
               case insensitive and the S\bSI\bIG\bG prefix is optional.
 
-              If  a  _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  E\bEX\bXI\bIT\bT (0) the command _\ba_\br_\bg is executed on exit
-              from the shell.  If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\br_\bg is  exe-
-              cuted  before  every  _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br command, _\bc_\ba_\bs_\be command,
-              _\bs_\be_\bl_\be_\bc_\bcommand, every arithmetic _\bf_\bo_\br  command,  and  before  the
-              first  command  executes  in a shell function (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
-              above).  Refer to the description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to  the
+              If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0) the command _\ba_\br_\bg  is  executed  on  exit
+              from  the shell.  If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\br_\bg is exe-
+              cuted before every _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br  command,  _\bc_\ba_\bs_\b command,
+              _\bs_\be_\bl_\be_\bc_\b command,  every  arithmetic  _\bf_\bo_\br command, and before the
+              first command executes in a shell function  (see  S\bSH\bHE\bEL\bLL\b G\bGR\bRA\bAM\bMM\bMA\bAR\bR
+              above).   Refer to the description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to the
               s\bsh\bho\bop\bpt\bt builtin for details of its effect on the D\bDE\bEB\bBU\bUG\bG trap.  If a
               _\bs_\bi_\bg_\bs_\bp_\be_\bc is R\bRE\bET\bTU\bUR\bRN\bN, the command _\ba_\br_\bg is executed each time a shell
               function or a script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins fin-
@@ -5222,53 +5245,53 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
 
               If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR, the command _\ba_\br_\bg is executed whenever a sim-
               ple command has a non-zero exit status, subject to the following
-              conditions.  The E\bER\bRR\bR trap is not executed if the failed  command
-              is  part  of  the  command list immediately following a w\bwh\bhi\bil\ble\be or
-              u\bun\bnt\bti\bil\bkeyword, part of the test in an _\bi_\bf statement,  part  of  a
-              command  executed in a &\b&&\b& or |\b||\b| list, or if the command's return
-              value is being inverted via !\b!.  These are  the  same  conditions
+              conditions.   The E\bER\bRR\bR trap is not executed if the failed command
+              is part of the command list immediately  following  a  w\bwh\bhi\bil\ble\b or
+              u\bun\bnt\bti\bil\b keyword,  part  of the test in an _\bi_\bf statement, part of a
+              command executed in a &\b&&\b& or |\b||\b| list, or if the command's  return
+              value  is  being  inverted via !\b!.  These are the same conditions
               obeyed by the e\ber\brr\bre\bex\bxi\bit\bt option.
 
-              Signals  ignored  upon  entry  to the shell cannot be trapped or
-              reset.  Trapped signals that are not being ignored are reset  to
+              Signals ignored upon entry to the shell  cannot  be  trapped  or
+              reset.   Trapped signals that are not being ignored are reset to
               their original values in a subshell or subshell environment when
-              one is created.  The return status is false if  any  _\bs_\bi_\bg_\bs_\bp_\be_\b is
+              one  is  created.   The return status is false if any _\bs_\bi_\bg_\bs_\bp_\be_\bc is
               invalid; otherwise t\btr\bra\bap\bp returns true.
 
        t\bty\byp\bpe\be [-\b-a\baf\bft\btp\bpP\bP] _\bn_\ba_\bm_\be [_\bn_\ba_\bm_\be ...]
-              With  no options, indicate how each _\bn_\ba_\bm_\be would be interpreted if
+              With no options, indicate how each _\bn_\ba_\bm_\be would be interpreted  if
               used as a command name.  If the -\b-t\bt option is used, t\bty\byp\bpe\be prints a
-              string  which  is  one  of _\ba_\bl_\bi_\ba_\bs, _\bk_\be_\by_\bw_\bo_\br_\bd, _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn, _\bb_\bu_\bi_\bl_\bt_\bi_\bn, or
-              _\bf_\bi_\bl_\bif  _\bn_\ba_\bm_\be  is  an  alias,  shell  reserved  word,  function,
-              builtin,  or disk file, respectively.  If the _\bn_\ba_\bm_\be is not found,
-              then nothing  is  printed,  and  an  exit  status  of  false  is
-              returned.   If  the  -\b-p\bp  option is used, t\bty\byp\bpe\be either returns the
+              string which is one of _\ba_\bl_\bi_\ba_\bs,  _\bk_\be_\by_\bw_\bo_\br_\bd,  _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn,  _\bb_\bu_\bi_\bl_\bt_\bi_\bn,  or
+              _\bf_\bi_\bl_\b if  _\bn_\ba_\bm_\be  is  an  alias,  shell  reserved  word, function,
+              builtin, or disk file, respectively.  If the _\bn_\ba_\bm_\be is not  found,
+              then  nothing  is  printed,  and  an  exit  status  of  false is
+              returned.  If the -\b-p\bp option is used,  t\bty\byp\bpe\be  either  returns  the
               name of the disk file that would be executed if _\bn_\ba_\bm_\be were speci-
               fied as a command name, or nothing if ``type -t name'' would not
-              return _\bf_\bi_\bl_\be.  The -\b-P\bP option forces a P\bPA\bAT\bTH\bH search for each  _\bn_\ba_\bm_\be,
+              return  _\bf_\bi_\bl_\be.  The -\b-P\bP option forces a P\bPA\bAT\bTH\bH search for each _\bn_\ba_\bm_\be,
               even if ``type -t name'' would not return _\bf_\bi_\bl_\be.  If a command is
-              hashed, -\b-p\bp and -\b-P\bP print the hashed value,  not  necessarily  the
-              file that appears first in P\bPA\bAT\bTH\bH.  If the -\b-a\ba option is used, t\bty\byp\bpe\be
-              prints all of the places that contain an executable named  _\bn_\ba_\bm_\be.
-              This  includes  aliases  and  functions,  if  and only if the -\b-p\bp
-              option is not also used.  The table of hashed  commands  is  not
-              consulted  when  using -\b-a\ba.  The -\b-f\bf option suppresses shell func-
-              tion lookup, as with the c\bco\bom\bmm\bma\ban\bnd\bd builtin.  t\bty\byp\bpe\be returns true  if
-              all of the arguments are found, false if any are not found.
+              hashed, -\b-p\bp and -\b-P\bP print the hashed value, which is not necessar-
+              ily the file that appears first in P\bPA\bAT\bTH\bH.  If the  -\b-a\ba  option  is
+              used,  t\bty\byp\bpe\be  prints all of the places that contain an executable
+              named _\bn_\ba_\bm_\be.  This includes aliases and functions, if and only if
+              the -\b-p\bp option is not also used.  The table of hashed commands is
+              not consulted when using -\b-a\ba.  The  -\b-f\bf  option  suppresses  shell
+              function lookup, as with the c\bco\bom\bmm\bma\ban\bnd\bd builtin.  t\bty\byp\bpe\be returns true
+              if all of the arguments are found, false if any are not found.
 
        u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bST\bTa\bab\bbc\bcd\bde\bef\bfi\bil\blm\bmn\bnp\bpq\bqr\brs\bst\btu\buv\bvx\bx [_\bl_\bi_\bm_\bi_\bt]]
-              Provides  control  over the resources available to the shell and
-              to processes started by it, on systems that allow such  control.
+              Provides control over the resources available to the  shell  and
+              to  processes started by it, on systems that allow such control.
               The -\b-H\bH and -\b-S\bS options specify that the hard or soft limit is set
-              for the given resource.  A hard limit cannot be increased  by  a
-              non-root  user  once it is set; a soft limit may be increased up
-              to the value of the hard limit.  If neither -\b-H\bH nor -\b-S\bS is  speci-
+              for  the  given resource.  A hard limit cannot be increased by a
+              non-root user once it is set; a soft limit may be  increased  up
+              to  the value of the hard limit.  If neither -\b-H\bH nor -\b-S\bS is speci-
               fied, both the soft and hard limits are set.  The value of _\bl_\bi_\bm_\bi_\bt
               can be a number in the unit specified for the resource or one of
               the special values h\bha\bar\brd\bd, s\bso\bof\bft\bt, or u\bun\bnl\bli\bim\bmi\bit\bte\bed\bd, which stand for the
-              current hard limit,  the  current  soft  limit,  and  no  limit,
-              respectively.   If  _\bl_\bi_\bm_\bi_\bt  is  omitted, the current value of the
-              soft limit of the resource is printed, unless the -\b-H\bH  option  is
+              current  hard  limit,  the  current  soft  limit,  and no limit,
+              respectively.  If _\bl_\bi_\bm_\bi_\bt is omitted, the  current  value  of  the
+              soft  limit  of the resource is printed, unless the -\b-H\bH option is
               given.  When more than one resource is specified, the limit name
               and unit are printed before the value.  Other options are inter-
               preted as follows:
@@ -5277,11 +5300,11 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               -\b-c\bc     The maximum size of core files created
               -\b-d\bd     The maximum size of a process's data segment
               -\b-e\be     The maximum scheduling priority ("nice")
-              -\b-f\bf     The  maximum  size  of files written by the shell and its
+              -\b-f\bf     The maximum size of files written by the  shell  and  its
                      children
               -\b-i\bi     The maximum number of pending signals
               -\b-l\bl     The maximum size that may be locked into memory
-              -\b-m\bm     The maximum resident set size (many systems do not  honor
+              -\b-m\bm     The  maximum resident set size (many systems do not honor
                      this limit)
               -\b-n\bn     The maximum number of open file descriptors (most systems
                      do not allow this value to be set)
@@ -5290,68 +5313,68 @@ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               -\b-r\br     The maximum real-time scheduling priority
               -\b-s\bs     The maximum stack size
               -\b-t\bt     The maximum amount of cpu time in seconds
-              -\b-u\bu     The maximum number of processes  available  to  a  single
+              -\b-u\bu     The  maximum  number  of  processes available to a single
                      user
-              -\b-v\bv     The  maximum  amount  of  virtual memory available to the
+              -\b-v\bv     The maximum amount of virtual  memory  available  to  the
                      shell and, on some systems, to its children
               -\b-x\bx     The maximum number of file locks
               -\b-T\bT     The maximum number of threads
 
-              If _\bl_\bi_\bm_\bi_\bt is given, it is the new value of the specified resource
-              (the -\b-a\ba option is display only).  If no option is given, then -\b-f\bf
-              is assumed.  Values are in 1024-byte increments, except for  -\b-t\bt,
-              which  is  in seconds, -\b-p\bp, which is in units of 512-byte blocks,
-              and -\b-T\bT, -\b-b\bb, -\b-n\bn, and -\b-u\bu, which are unscaled values.   The  return
-              status is 0 unless an invalid option or argument is supplied, or
-              an error occurs while setting a new limit.
+              If  _\bl_\bi_\bm_\bi_\bt  is given, and the -\b-a\ba option is not used, _\bl_\bi_\bm_\bi_\bt is the
+              new value of the specified resource.  If  no  option  is  given,
+              then  -\b-f\bf is assumed.  Values are in 1024-byte increments, except
+              for -\b-t\bt, which is in seconds; -\b-p\bp, which is in units  of  512-byte
+              blocks;  and -\b-T\bT, -\b-b\bb, -\b-n\bn, and -\b-u\bu, which are unscaled values.  The
+              return status is 0 unless an invalid option or argument is  sup-
+              plied, or an error occurs while setting a new limit.
 
        u\bum\bma\bas\bsk\bk [-\b-p\bp] [-\b-S\bS] [_\bm_\bo_\bd_\be]
               The user file-creation mask is set to _\bm_\bo_\bd_\be.  If _\bm_\bo_\bd_\be begins with
-              a  digit,  it is interpreted as an octal number; otherwise it is
-              interpreted as a symbolic mode mask similar to that accepted  by
-              _\bc_\bh_\bm_\bo_\bd(1).   If _\bm_\bo_\bd_\be is omitted, the current value of the mask is
-              printed.  The -\b-S\bS option causes the mask to be  printed  in  sym-
-              bolic  form;  the  default output is an octal number.  If the -\b-p\bp
+              a digit, it is interpreted as an octal number; otherwise  it  is
+              interpreted  as a symbolic mode mask similar to that accepted by
+              _\bc_\bh_\bm_\bo_\bd(1).  If _\bm_\bo_\bd_\be is omitted, the current value of the mask  is
+              printed.   The  -\b-S\bS  option causes the mask to be printed in sym-
+              bolic form; the default output is an octal number.   If  the  -\b-p\bp
               option is supplied, and _\bm_\bo_\bd_\be is omitted, the output is in a form
               that may be reused as input.  The return status is 0 if the mode
-              was successfully changed or if no _\bm_\bo_\bd_\be  argument  was  supplied,
+              was  successfully  changed  or if no _\bm_\bo_\bd_\be argument was supplied,
               and false otherwise.
 
        u\bun\bna\bal\bli\bia\bas\bs [-a\ba] [_\bn_\ba_\bm_\be ...]
-              Remove  each  _\bn_\ba_\bm_\be  from  the list of defined aliases.  If -\b-a\ba is
-              supplied, all alias definitions are removed.  The  return  value
+              Remove each _\bn_\ba_\bm_\be from the list of defined  aliases.   If  -\b-a\b is
+              supplied,  all  alias definitions are removed.  The return value
               is true unless a supplied _\bn_\ba_\bm_\be is not a defined alias.
 
        u\bun\bns\bse\bet\bt [-f\bfv\bv] [_\bn_\ba_\bm_\be ...]
-              For  each  _\bn_\ba_\bm_\be,  remove the corresponding variable or function.
+              For each _\bn_\ba_\bm_\be, remove the corresponding  variable  or  function.
               If the -\b-v\bv option is given, each _\bn_\ba_\bm_\be refers to a shell variable,
-              and  that  variable  is removed.  Read-only variables may not be
-              unset.  If -\b-f\bf is specified, each _\bn_\ba_\bm_\be refers to  a  shell  func-
+              and that variable is removed.  Read-only variables  may  not  be
+              unset.   If  -\b-f\bf  is specified, each _\bn_\ba_\bm_\be refers to a shell func-
               tion, and the function definition is removed.  If no options are
-              supplied, each _\bn_\ba_\bm_\be refers to a variable; if there is  no  vari-
-              able  by  that name, any function with that name is unset.  Each
-              unset variable or  function  is  removed  from  the  environment
-              passed  to subsequent commands.  If any of C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS, R\bRA\bAN\bN-\b-
+              supplied,  each  _\bn_\ba_\bm_\be refers to a variable; if there is no vari-
+              able by that name, any function with that name is  unset.   Each
+              unset  variable  or  function  is  removed  from the environment
+              passed to subsequent commands.  If any of C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS,  R\bRA\bAN\bN-\b-
               D\bDO\bOM\bM, S\bSE\bEC\bCO\bON\bND\bDS\bS, L\bLI\bIN\bNE\bEN\bNO\bO, H\bHI\bIS\bST\bTC\bCM\bMD\bD, F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE, G\bGR\bRO\bOU\bUP\bPS\bS, or D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK are
               unset, they lose their special properties, even if they are sub-
               sequently reset.  The exit status is true unless a _\bn_\ba_\bm_\be is read-
               only.
 
        w\bwa\bai\bit\bt [_\bn _\b._\b._\b.]
-              Wait  for each specified process and return its termination sta-
-              tus.  Each _\bn may be a process ID or a job  specification;  if  a
-              job  spec  is  given,  all  processes in that job's pipeline are
-              waited for.  If _\bn is not given, all currently active child  pro-
-              cesses  are  waited  for,  and  the return status is zero.  If _\bn
-              specifies a non-existent process or job, the  return  status  is
-              127.   Otherwise,  the  return  status is the exit status of the
+              Wait for each specified process and return its termination  sta-
+              tus.   Each  _\bn  may be a process ID or a job specification; if a
+              job spec is given, all processes  in  that  job's  pipeline  are
+              waited  for.  If _\bn is not given, all currently active child pro-
+              cesses are waited for, and the return  status  is  zero.   If  _\bn
+              specifies  a  non-existent  process or job, the return status is
+              127.  Otherwise, the return status is the  exit  status  of  the
               last process or job waited for.
 
 R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
        If b\bba\bas\bsh\bh is started with the name r\brb\bba\bas\bsh\bh, or the -\b-r\br option is supplied at
-       invocation,  the  shell becomes restricted.  A restricted shell is used
-       to set up an environment more controlled than the standard  shell.   It
-       behaves  identically  to b\bba\bas\bsh\bh with the exception that the following are
+       invocation, the shell becomes restricted.  A restricted shell  is  used
+       to  set  up an environment more controlled than the standard shell.  It
+       behaves identically to b\bba\bas\bsh\bh with the exception that the  following  are
        disallowed or not performed:
 
        +\bo      changing directories with c\bcd\bd
@@ -5360,16 +5383,16 @@ R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
 
        +\bo      specifying command names containing /\b/
 
-       +\bo      specifying  a  file  name containing a /\b/ as an argument to the .\b.
+       +\bo      specifying a filename containing a /\b/ as an  argument  to  the  .\b.
               builtin command
 
-       +\bo      specifying a filename containing a slash as an argument  to  the
+       +\bo      specifying  a  filename containing a slash as an argument to the
               -\b-p\bp option to the h\bha\bas\bsh\bh builtin command
 
-       +\bo      importing  function  definitions  from  the shell environment at
+       +\bo      importing function definitions from  the  shell  environment  at
               startup
 
-       +\bo      parsing the value of S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS from  the  shell  environment  at
+       +\bo      parsing  the  value  of  S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS from the shell environment at
               startup
 
        +\bo      redirecting output using the >, >|, <>, >&, &>, and >> redirect-
@@ -5378,10 +5401,10 @@ R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
        +\bo      using the e\bex\bxe\bec\bc builtin command to replace the shell with another
               command
 
-       +\bo      adding  or  deleting builtin commands with the -\b-f\bf and -\b-d\bd options
+       +\bo      adding or deleting builtin commands with the -\b-f\bf and  -\b-d\b options
               to the e\ben\bna\bab\bbl\ble\be builtin command
 
-       +\bo      using the  e\ben\bna\bab\bbl\ble\be  builtin  command  to  enable  disabled  shell
+       +\bo      using  the  e\ben\bna\bab\bbl\ble\be  builtin  command  to  enable  disabled shell
               builtins
 
        +\bo      specifying the -\b-p\bp option to the c\bco\bom\bmm\bma\ban\bnd\bd builtin command
@@ -5391,14 +5414,14 @@ R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
        These restrictions are enforced after any startup files are read.
 
        When a command that is found to be a shell script is executed (see C\bCO\bOM\bM-\b-
-       M\bMA\bAN\bND\bE\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN above), r\brb\bba\bas\bsh\bh turns off any restrictions  in  the  shell
+       M\bMA\bAN\bND\b E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN  above),  r\brb\bba\bas\bsh\bh turns off any restrictions in the shell
        spawned to execute the script.
 
 S\bSE\bEE\bE A\bAL\bLS\bSO\bO
        _\bB_\ba_\bs_\bh _\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be _\bM_\ba_\bn_\bu_\ba_\bl, Brian Fox and Chet Ramey
        _\bT_\bh_\be _\bG_\bn_\bu _\bR_\be_\ba_\bd_\bl_\bi_\bn_\be _\bL_\bi_\bb_\br_\ba_\br_\by, Brian Fox and Chet Ramey
        _\bT_\bh_\be _\bG_\bn_\bu _\bH_\bi_\bs_\bt_\bo_\br_\by _\bL_\bi_\bb_\br_\ba_\br_\by, Brian Fox and Chet Ramey
-       _\bP_\bo_\br_\bt_\ba_\bb_\bl_\b _\bO_\bp_\be_\br_\ba_\bt_\bi_\bn_\bg  _\bS_\by_\bs_\bt_\be_\bm  _\bI_\bn_\bt_\be_\br_\bf_\ba_\bc_\be _\b(_\bP_\bO_\bS_\bI_\bX_\b) _\bP_\ba_\br_\bt _\b2_\b: _\bS_\bh_\be_\bl_\bl _\ba_\bn_\bd _\bU_\bt_\bi_\bl_\bi_\b-
+       _\bP_\bo_\br_\bt_\ba_\bb_\bl_\b_\bO_\bp_\be_\br_\ba_\bt_\bi_\bn_\bg _\bS_\by_\bs_\bt_\be_\bm _\bI_\bn_\bt_\be_\br_\bf_\ba_\bc_\be _\b(_\bP_\bO_\bS_\bI_\bX_\b) _\bP_\ba_\br_\bt _\b2_\b:  _\bS_\bh_\be_\bl_\bl  _\ba_\bn_\b _\bU_\bt_\bi_\bl_\bi_\b-
        _\bt_\bi_\be_\bs, IEEE
        _\bs_\bh(1), _\bk_\bs_\bh(1), _\bc_\bs_\bh(1)
        _\be_\bm_\ba_\bc_\bs(1), _\bv_\bi(1)
@@ -5414,7 +5437,7 @@ F\bFI\bIL\bLE\bES\bS
        _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc
               The individual per-interactive-shell startup file
        _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bl_\bo_\bg_\bo_\bu_\bt
-              The  individual  login shell cleanup file, executed when a login
+              The individual login shell cleanup file, executed when  a  login
               shell exits
        _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc
               Individual _\br_\be_\ba_\bd_\bl_\bi_\bn_\be initialization file
@@ -5428,14 +5451,14 @@ A\bAU\bUT\bTH\bHO\bOR\bRS\bS
 
 B\bBU\bUG\bG R\bRE\bEP\bPO\bOR\bRT\bTS\bS
        If you find a bug in b\bba\bas\bsh\bh,\b, you should report it.  But first, you should
-       make  sure  that  it really is a bug, and that it appears in the latest
-       version  of  b\bba\bas\bsh\bh.   The  latest  version  is  always  available   from
+       make sure that it really is a bug, and that it appears  in  the  latest
+       version   of  b\bba\bas\bsh\bh.   The  latest  version  is  always  available  from
        _\bf_\bt_\bp_\b:_\b/_\b/_\bf_\bt_\bp_\b._\bg_\bn_\bu_\b._\bo_\br_\bg_\b/_\bp_\bu_\bb_\b/_\bg_\bn_\bu_\b/_\bb_\ba_\bs_\bh_\b/.
 
-       Once  you  have  determined that a bug actually exists, use the _\bb_\ba_\bs_\bh_\bb_\bu_\bg
-       command to submit a bug report.  If you have a fix, you are  encouraged
-       to  mail that as well!  Suggestions and `philosophical' bug reports may
-       be mailed  to  _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg  or  posted  to  the  Usenet  newsgroup
+       Once you have determined that a bug actually exists,  use  the  _\bb_\ba_\bs_\bh_\bb_\bu_\bg
+       command  to submit a bug report.  If you have a fix, you are encouraged
+       to mail that as well!  Suggestions and `philosophical' bug reports  may
+       be  mailed  to  _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg  or  posted  to  the  Usenet newsgroup
        g\bgn\bnu\bu.\b.b\bba\bas\bsh\bh.\b.b\bbu\bug\bg.
 
        ALL bug reports should include:
@@ -5446,7 +5469,7 @@ B\bBU\bUG\bG R\bRE\bEP\bPO\bOR\bRT\bTS\bS
        A description of the bug behaviour
        A short script or `recipe' which exercises the bug
 
-       _\bb_\ba_\bs_\bh_\bb_\bu_\b inserts  the first three items automatically into the template
+       _\bb_\ba_\bs_\bh_\bb_\bu_\binserts the first three items automatically into  the  template
        it provides for filing a bug report.
 
        Comments and bug reports concerning this manual page should be directed
@@ -5463,10 +5486,10 @@ B\bBU\bUG\bGS\bS
        Shell builtin commands and functions are not stoppable/restartable.
 
        Compound commands and command sequences of the form `a ; b ; c' are not
-       handled  gracefully  when  process  suspension  is  attempted.   When a
-       process is stopped, the shell immediately executes the next command  in
-       the  sequence.   It  suffices to place the sequence of commands between
-       parentheses to force it into a subshell, which  may  be  stopped  as  a
+       handled gracefully  when  process  suspension  is  attempted.   When  a
+       process  is stopped, the shell immediately executes the next command in
+       the sequence.  It suffices to place the sequence  of  commands  between
+       parentheses  to  force  it  into  a subshell, which may be stopped as a
        unit.
 
        Array variables may not (yet) be exported.
@@ -5475,4 +5498,4 @@ B\bBU\bUG\bGS\bS
 
 
 
-GNU Bash 4.2                      2011 July 7                          BASH(1)
+GNU Bash 4.2                   2011 September 25                       BASH(1)
index af90dc2bd0e75b7a33510c537cb2fa239bc04947..a3036c9c50137dabbc1a0cb22467c98d806497e5 100644 (file)
@@ -3,7 +3,7 @@
 </HEAD>
 <BODY><TABLE WIDTH=100%>
 <TR>
-<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2011 July 7<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2011 September 25<TH ALIGN=RIGHT width=33%>BASH(1)
 </TR>
 </TABLE>
 <BR><A HREF="#index">Index</A>
@@ -376,7 +376,7 @@ If any of the files exist but cannot be read,
 <B>bash</B>
 
 reports an error.
-Tildes are expanded in file names as described below under
+Tildes are expanded in filenames as described below under
 <B>Tilde Expansion</B>
 
 in the
@@ -447,7 +447,7 @@ but the value of the
 <FONT SIZE=-1><B>PATH</B>
 
 </FONT>
-variable is not used to search for the file name.
+variable is not used to search for the filename.
 <P>
 
 If
@@ -708,11 +708,12 @@ command (see
 
 </FONT>
 below).
-If <B>|&amp;</B> is used, the standard error of <I>command</I> is connected to
-<I>command2</I>'s standard input through the pipe; it is shorthand for
-<B>2&gt;&amp;1 |</B>.
-This implicit redirection of the standard error is performed after any
-redirections specified by the command.
+If <B>|&amp;</B> is used, <I>command</I>'s standard output and standard error
+are connected to
+<I>command2</I>'s standard input through the pipe;
+it is shorthand for <B>2&gt;&amp;1 |</B>.
+This implicit redirection of the standard error is
+performed after any redirections specified by the command.
 <P>
 
 The return status of a pipeline is the exit status of the last
@@ -910,8 +911,9 @@ Expressions are composed of the primaries described below under
 
 </FONT>
 Word splitting and pathname expansion are not performed on the words
-between the <B>[[</B> and <B>]]</B>; tilde expansion, parameter and
-variable expansion, arithmetic expansion, command substitution, process
+between the <B>[[</B> and <B>]]</B>; tilde expansion,
+parameter and variable expansion,
+arithmetic expansion, command substitution, process
 substitution, and quote removal are performed.
 Conditional operators such as <B>-f</B> must be unquoted to be recognized
 as primaries.
@@ -1174,7 +1176,7 @@ If <I>NAME</I> is not supplied, the default name is <B>COPROC</B>.
 <I>NAME</I> must not be supplied if <I>command</I> is a <I>simple
 command</I> (see above); otherwise, it is interpreted as the first word
 of the simple command.
-When the coproc is executed, the shell creates an array variable (see
+When the coprocess is executed, the shell creates an array variable (see
 <B>Arrays</B>
 
 below) named <I>NAME</I> in the context of the executing shell.
@@ -1227,6 +1229,8 @@ That command is usually a <I>list</I> of commands between { and }, but
 may be any command listed under <B>Compound Commands</B> above.
 <I>compound-command</I> is executed whenever <I>name</I> is specified as the
 name of a simple command.
+When in <I>posix mode</I>, <I>name</I> may not be the name of one of the
+POSIX <I>special builtins</I>.
 Any redirections (see
 <FONT SIZE=-1><B>REDIRECTION</B>
 
@@ -1563,6 +1567,9 @@ and
 <B>local</B>
 
 builtin commands.
+When in <I>posix mode</I>, these builtins may appear in a command after
+one or more instances of the <B>command</B> builtin and retain these
+assignment statement properties.
 <P>
 
 In the context where an assignment statement is assigning a value
@@ -1715,7 +1722,7 @@ option, then
 
 is set to the first argument after the string to be
 executed, if one is present.  Otherwise, it is set
-to the file name used to invoke
+to the filename used to invoke
 <B>bash</B>,
 
 as given by argument zero.
@@ -1746,7 +1753,7 @@ The following variables are set by the shell:
 <DT><B>BASH</B>
 
 <DD>
-Expands to the full file name used to invoke this instance of
+Expands to the full filename used to invoke this instance of
 <B>bash</B>.
 
 <DT><B>BASHOPTS</B>
@@ -2349,11 +2356,11 @@ The value of
 
 </FONT>
 is subjected to parameter expansion, command substitution, and arithmetic
-expansion before being interpreted as a file name.
+expansion before being interpreted as a filename.
 <FONT SIZE=-1><B>PATH</B>
 
 </FONT>
-is not used to search for the resultant file name.
+is not used to search for the resultant filename.
 <DT><B>BASH_XTRACEFD</B>
 
 <DD>
@@ -2724,9 +2731,9 @@ greater than or equal to zero, the shell disables mail checking.
 <DT><B>MAILPATH</B>
 
 <DD>
-A colon-separated list of file names to be checked for mail. 
+A colon-separated list of filenames to be checked for mail. 
 The message to be printed when mail arrives in a particular file
-may be specified by separating the file name from the message with a `?'.
+may be specified by separating the filename from the message with a `?'.
 When used in the text of the message, <B>$_</B> expands to the name of
 the current mailfile. 
 Example:
@@ -3059,7 +3066,7 @@ builtins.  Each attribute applies to all members of an array.
 Arrays are assigned to using compound assignments of the form
 <I>name</I>=<B>(</B>value<I>1</I> ... value<I>n</I><B>)</B>, where each
 <I>value</I> is of the form [<I>subscript</I>]=<I>string</I>.
-Indexed array assignments do not require the bracket and subscript.
+Indexed array assignments do not require anything but <I>string</I>.
 When assigning to indexed arrays, if the optional brackets and subscript
 are supplied, that index is assigned to;
 otherwise the index of the element assigned is the last index assigned
@@ -3387,7 +3394,7 @@ or the first
 <B>=</B>.
 
 In these cases, tilde expansion is also performed.
-Consequently, one may use file names with tildes in assignments to
+Consequently, one may use filenames with tildes in assignments to
 <FONT SIZE=-1><B>PATH</B>,
 
 </FONT>
@@ -3981,13 +3988,13 @@ regarded as a
 <I>pattern</I>,
 
 and replaced with an alphabetically sorted list of
-file names matching the pattern
+filenames matching the pattern
 (see
 <FONT SIZE=-1><B>Pattern Matching</B>
 
 </FONT>
 below).
-If no matching file names are found,
+If no matching filenames are found,
 and the shell option
 <B>nullglob</B>
 
@@ -4046,19 +4053,19 @@ The
 <FONT SIZE=-1><B>GLOBIGNORE</B>
 
 </FONT>
-shell variable may be used to restrict the set of file names matching a
+shell variable may be used to restrict the set of filenames matching a
 <I>pattern</I>.
 
 If
 <FONT SIZE=-1><B>GLOBIGNORE</B>
 
 </FONT>
-is set, each matching file name that also matches one of the patterns in
+is set, each matching filename that also matches one of the patterns in
 <FONT SIZE=-1><B>GLOBIGNORE</B>
 
 </FONT>
 is removed from the list of matches.
-The file names
+The filenames
 <B>``.''</B>
 
 and
@@ -4075,11 +4082,11 @@ is set and not null.  However, setting
 to a non-null value has the effect of enabling the
 <B>dotglob</B>
 
-shell option, so all other file names beginning with a
+shell option, so all other filenames beginning with a
 <B>``.''</B>
 
 will match.
-To get the old behavior of ignoring file names beginning with a
+To get the old behavior of ignoring filenames beginning with a
 <B>``.''</B>,
 
 make
@@ -4305,7 +4312,8 @@ Each redirection that may be preceded by a file descriptor number
 may instead be preceded by a word of the form {<I>varname</I>}.
 In this case, for each redirection operator except
 &gt;&amp;- and &lt;&amp;-, the shell will allocate a file descriptor greater
-than 10 and assign it to <I>varname</I>.  If &gt;&amp;- or &lt;&amp;- is preceded
+than or equal to 10 and assign it to <I>varname</I>.
+If &gt;&amp;- or &lt;&amp;- is preceded
 by {<I>varname</I>}, the value of <I>varname</I> defines the file
 descriptor to close.
 <P>
@@ -4323,9 +4331,10 @@ the redirection refers to the standard output (file descriptor
 <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, pathname expansion, and word splitting.
+descriptions, unless otherwise noted, is subjected to
+brace expansion, tilde expansion, parameter and variable expansion,
+command substitution, arithmetic expansion, quote removal,
+pathname expansion, and word splitting.
 If it expands to more than one word,
 <B>bash</B>
 
@@ -4618,8 +4627,8 @@ The format of here-documents is:
 
 <P>
 
-No parameter expansion, command substitution, arithmetic expansion,
-or pathname expansion is performed on
+No parameter and variable expansion, command substitution,
+arithmetic expansion, or pathname expansion is performed on
 <I>word</I>.
 
 If any characters in
@@ -4676,10 +4685,12 @@ A variant of here documents, the format is:
 
 <P>
 
-The <I>word</I>
-is expanded as described above, with the exception that
-pathname expansion is not applied, and supplied as a single string
-to the command on its standard input.
+The <I>word</I> undergoes
+brace expansion, tilde expansion, parameter and variable expansion,
+command substitution, arithmetic expansion, and quote removal.
+Pathname expansion word splitting are not performed.
+The result is supplied as a single string to the command on its
+standard input.
 <A NAME="lbBQ">&nbsp;</A>
 <H4>Duplicating File Descriptors</H4>
 
@@ -5648,7 +5659,7 @@ When
 invokes an external command, the variable
 <B>_</B>
 
-is set to the full file name of the command and passed to that
+is set to the full filename of the command and passed to that
 command in its environment.
 <A NAME="lbCB">&nbsp;</A>
 <H3>EXIT STATUS</H3>
@@ -7695,12 +7706,12 @@ will be executed by the shell.
 <DD>
 The word before point is treated as a pattern for pathname expansion,
 with an asterisk implicitly appended.  This pattern is used to
-generate a list of matching file names for possible completions.
+generate a list of matching filenames for possible completions.
 <DT><B>glob-expand-word (C-x *)</B>
 
 <DD>
 The word before point is treated as a pattern for pathname expansion,
-and the list of matching file names is inserted, replacing the word.
+and the list of matching filenames is inserted, replacing the word.
 If a numeric argument is supplied, an asterisk is appended before
 pathname expansion.
 <DT><B>glob-list-expansions (C-x g)</B>
@@ -8404,11 +8415,11 @@ one or more of the following modifiers, each preceded by a `:'.
 <DT><B>h</B>
 
 <DD>
-Remove a trailing file name component, leaving only the head.
+Remove a trailing filename component, leaving only the head.
 <DT><B>t</B>
 
 <DD>
-Remove all leading file name components, leaving the tail.
+Remove all leading filename components, leaving the tail.
 <DT><B>r</B>
 
 <DD>
@@ -8541,7 +8552,7 @@ executed from
 If
 <I>filename</I>
 
-does not contain a slash, file names in
+does not contain a slash, filenames in
 <FONT SIZE=-1><B>PATH</B>
 
 </FONT>
@@ -8834,10 +8845,11 @@ status.
 An argument of
 <B>-</B>
 
-is equivalent to
-<FONT SIZE=-1><B>$OLDPWD</B>.
+is converted to
+<FONT SIZE=-1><B>$OLDPWD</B>
 
 </FONT>
+before the directory change is attempted.
 If a non-empty directory name from
 <FONT SIZE=-1><B>CDPATH</B>
 
@@ -8883,7 +8895,7 @@ option is supplied, a description of
 is printed.  The
 <B>-v</B>
 
-option causes a single word indicating the command or file name
+option causes a single word indicating the command or filename
 used to invoke
 <I>command</I>
 
@@ -9312,12 +9324,18 @@ turns off the attribute instead,
 with the exceptions that <B>+a</B>
 may not be used to destroy an array variable and <B>+r</B> will not
 remove the readonly attribute.
-When used in a function, makes each
+When used in a function,
+<B>declare</B>
+
+and
+<B>typeset</B>
+
+make each
 <I>name</I> local, as with the
 <B>local</B>
 
 command,
-unless the <B>-g</B> option is supplied,
+unless the <B>-g</B> option is supplied.
 If a variable name is followed by =<I>value</I>, the value of
 the variable is set to <I>value</I>.
 The return value is 0 unless an invalid option is encountered,
@@ -9335,7 +9353,7 @@ an attempt is made to turn off array status for an array variable,
 or an attempt is made to display a non-existent function with <B>-f</B>.
 </DL>
 
-<DT><B>dirs [+</B><I>n</I>] [-<I>n</I>] [<B>-clpv</B>]
+<DT><B>dirs [-clpv</B>] [+<I>n</I>] [-<I>n</I>]
 
 <DD>
 Without options, displays the list of currently remembered directories.
@@ -9351,18 +9369,6 @@ command removes entries from the list.
 <DL COMPACT><DT><DD>
 
 <DL COMPACT>
-<DT><B>+</B><I>n</I><DD>
-Displays the <I>n</I>th entry counting from the left of the list
-shown by
-<B>dirs</B>
-
-when invoked without options, starting with zero.
-<DT><B>-</B><I>n</I><DD>
-Displays the <I>n</I>th entry counting from the right of the list
-shown by
-<B>dirs</B>
-
-when invoked without options, starting with zero.
 <DT><B>-c</B>
 
 <DD>
@@ -9370,8 +9376,8 @@ Clears the directory stack by deleting all of the entries.
 <DT><B>-l</B>
 
 <DD>
-Produces a longer listing; the default listing format uses a 
-tilde to denote the home directory.
+Produces a listing using full pathnames;
+the default listing format uses a tilde to denote the home directory.
 <DT><B>-p</B>
 
 <DD>
@@ -9381,6 +9387,18 @@ Print the directory stack with one entry per line.
 <DD>
 Print the directory stack with one entry per line,
 prefixing each entry with its index in the stack.
+<DT><B>+</B><I>n</I><DD>
+Displays the <I>n</I>th entry counting from the left of the list
+shown by
+<B>dirs</B>
+
+when invoked without options, starting with zero.
+<DT><B>-</B><I>n</I><DD>
+Displays the <I>n</I>th entry counting from the right of the list
+shown by
+<B>dirs</B>
+
+when invoked without options, starting with zero.
 
 </DL>
 <P>
@@ -9391,10 +9409,10 @@ of the directory stack.
 </DL>
 
 <DT><B>disown</B> [<B>-ar</B>] [<B>-h</B>] [<I>jobspec</I> ...]<DD>
-Without options, each
+Without options, remove each
 <I>jobspec</I>
 
-is removed from the table of active jobs.
+from the table of active jobs.
 If
 <I>jobspec</I>
 
@@ -9618,14 +9636,16 @@ to be executed with an empty environment.  If
 is supplied, the shell passes
 <I>name</I>
 
-as the zeroth argument to the executed command.  If
+as the zeroth argument to the executed command.
+If
 <I>command</I>
 
 cannot be executed for some reason, a non-interactive shell exits,
-unless the shell option
+unless the
 <B>execfail</B>
 
-is enabled, in which case it returns failure.
+shell option
+is enabled.  In that case, it returns failure.
 An interactive shell returns failure if the file cannot be executed.
 If
 <I>command</I>
@@ -9670,7 +9690,7 @@ are given, or if the
 <B>-p</B>
 
 option is supplied, a list
-of all names that are exported in this shell is printed.
+of names of all exported variables is printed.
 The
 <B>-n</B>
 
@@ -9693,13 +9713,13 @@ that is not a function.
 
 <DT><B>fc</B> <B>-s</B> [<I>pat</I>=<I>rep</I>] [<I>cmd</I>]<DD>
 
-Fix Command.  In the first form, a range of commands from
+The first form selects a range of commands from
 <I>first</I>
 
 to
 <I>last</I>
 
-is selected from the history list.
+from the history list and displays or edits and re-executes them.
 <I>First</I>
 
 and
@@ -9768,6 +9788,7 @@ echoed and executed.
 <P>
 In the second form, <I>command</I> is re-executed after each instance
 of <I>pat</I> is replaced by <I>rep</I>.
+<I>Command</I> is intepreted the same as <I>first</I> above.
 A useful alias to use with this is
 
 <TT>r='fc -s'</TT>,
@@ -9895,7 +9916,7 @@ can report errors in two ways.  If the first character of
 is a colon,
 <I>silent</I>
 
-error reporting is used.  In normal operation diagnostic messages
+error reporting is used.  In normal operation, diagnostic messages
 are printed when invalid options or missing option arguments are
 encountered.
 If the variable
@@ -9973,7 +9994,7 @@ If the
 option is supplied, no path search is performed, and
 <I>filename</I>
 
-is used as the full file name of the command.
+is used as the full filename of the command.
 The
 <B>-r</B>
 
@@ -10095,11 +10116,11 @@ current <B>bash</B> session.
 
 <DD>
 Read the contents of the history file
-and use them as the current history.
+and append them to the current history list.
 <DT><B>-w</B>
 
 <DD>
-Write the current history to the history file, overwriting the
+Write the current history list to the history file, overwriting the
 history file's contents.
 <DT><B>-p</B>
 
@@ -10166,11 +10187,11 @@ leader.
 <DT><B>-r</B>
 
 <DD>
-Restrict output to running jobs.
+Display only running jobs.
 <DT><B>-s</B>
 
 <DD>
-Restrict output to stopped jobs.
+Display only stopped jobs.
 
 </DL>
 <P>
@@ -10558,7 +10579,8 @@ Adds
 <I>dir</I>
 
 to the directory stack at the top, making it the
-new current working directory.
+new current working directory as if it had been supplied as the argument
+to the <B>cd</B> builtin.
 
 </DL>
 <P>
@@ -10712,8 +10734,9 @@ the decimal point.
 This option is only effective if <B>read</B> is reading input from a
 terminal, pipe, or other special file; it has no effect when reading
 from regular files.
-If <I>timeout</I> is 0, <B>read</B> returns success if input is available on
-the specified file descriptor, failure otherwise.
+If <I>timeout</I> is 0, <B>read</B> returns immediately, without trying to
+read any data.  The exit statis is 0 if input is available on
+the specified file descriptor, non-zero otherwise.
 The exit status is greater than 128 if the timeout is exceeded.
 <DT><B>-u </B><I>fd</I>
 
@@ -10787,14 +10810,18 @@ is supplied with a
 
 that is not a function.
 <DT><B>return</B> [<I>n</I>]<DD>
-Causes a function to exit with the return value specified by
-<I>n</I>.
+Causes a function to stop executing and return the value specified by
+<I>n</I>
 
+to its caller.
 If 
 <I>n</I>
 
 is omitted, the return status is that of the last command
-executed in the function body.  If used outside a function,
+executed in the function body.  If
+<B>return</B>
+
+is used outside a function,
 but during execution of a script by the 
 <B>.</B>
 
@@ -10803,9 +10830,12 @@ that script and return either
 <I>n</I>
 
 or the exit status of the last command executed within the
-script as the exit status of the script.  If used outside a
-function and not during execution of a script by <B>.</B>,
-the return status is false.
+script as the exit status of the script.
+The return status is non-zero if
+<B>return</B>
+
+is used outside a
+function and not during execution of a script by <B>.</B> or <B>source</B>.
 Any command associated with the <B>RETURN</B> trap is executed
 before execution resumes after the function or script.
 <DT><B>set</B> [<B>--abefhkmnptuvxBCEHPT</B>] [<B>-o</B> <I>option-name</I>] [<I>arg</I> ...]<DD>
@@ -10847,14 +10877,15 @@ effective only when job control is enabled.
 <DT><B>-e</B>
 
 <DD>
-Exit immediately if a <I>pipeline</I> (which may consist of a single
-<I>simple command</I>),  a <I>subshell</I> command enclosed in parentheses,
-or one of the commands executed as part of a command list enclosed
-by braces (see
+Exit immediately if a
+<I>pipeline</I> (which may consist of a single <I>simple command</I>),
+a <I>list</I>,
+or a <I>compound command</I>
+(see
 <FONT SIZE=-1><B>SHELL GRAMMAR</B>
 
 </FONT>
-above) exits with a non-zero status.
+above) exits with a non-zero status.
 The shell does not exit if the
 command that fails is part of the command list immediately following a
 <B>while</B>
@@ -10881,6 +10912,9 @@ or if the command's return value is
 being inverted with
 <B>!</B>.
 
+If a compound command other than a subshell
+returns a non-zero status because a command failed
+while <B>-e</B> was being ignored, the shell does not exit.
 A trap on <B>ERR</B>, if set, is executed before the shell exits.
 This option applies to the shell environment and each subshell environment
 separately (see
@@ -11358,8 +11392,10 @@ If either
 or
 <B>-u</B>
 
-is used with no <I>optname</I> arguments, the display is limited to
-those options which are set or unset, respectively.
+is used with no <I>optname</I> arguments,
+<B>shopt</B>
+
+shows only those options which are set or unset, respectively.
 Unless otherwise noted, the <B>shopt</B> options are disabled (unset)
 by default.
 <P>
@@ -11400,7 +11436,7 @@ If set, minor errors in the spelling of a directory component in a
 command will be corrected.
 The errors checked for are transposed characters,
 a missing character, and one character too many.
-If a correction is found, the corrected file name is printed,
+If a correction is found, the corrected filename is printed,
 and the command proceeds.
 This option is only used by interactive shells.
 <DT><B>checkhash</B>
@@ -11487,6 +11523,28 @@ parameter expansion as a special character.  The single quotes must match
 (an even number) and the characters between the single quotes are considered
 quoted.  This is the behavior of posix mode through version 4.1.
 The default bash behavior remains as in previous versions.
+<DT><B>complete_fullquote</B>
+
+<DD>
+If set,
+<B>bash</B>
+
+quotes all shell metacharacters in filenames and directory names when
+performing completion.
+If not set,
+<B>bash</B>
+
+removes metacharacters such as the dollar sign from the set of
+characters that will be quoted in completed filenames
+when these metacharacters appear in shell variable references in words to be
+completed.
+This means that dollar signs in variable names that expand to directories
+will not be quoted;
+however, any dollar signs appearing in filenames will not be quoted, either.
+This is active only when bash is using backslashes to quote completed
+filenames.
+This variable is set by default, which is the default bash behavior in
+versions through 4.2.
 <DT><B>direxpand</B>
 
 <DD>
@@ -11853,7 +11911,7 @@ is not supplied, or if job control is not enabled.
 <DT><B>test</B> <I>expr</I><DD>
 
 <DT><B>[</B> <I>expr</I> <B>]</B><DD>
-Return a status of 0 or 1 depending on
+Return a status of 0 (true) or 1 (false) depending on
 the evaluation of the conditional expression
 <I>expr</I>.
 
@@ -12194,7 +12252,7 @@ If a command is hashed,
 and
 <B>-P</B>
 
-print the hashed value, not necessarily the file that appears
+print the hashed value, which is not necessarily the file that appears
 first in 
 <FONT SIZE=-1><B>PATH</B>.
 
@@ -12344,20 +12402,21 @@ The maximum number of threads
 If
 <I>limit</I>
 
-is given, it is the new value of the specified resource (the
+is given, and the
 <B>-a</B>
 
-option is display only).
+option is not used,
+<I>limit</I> is the new value of the specified resource.
 If no option is given, then
 <B>-f</B>
 
 is assumed.  Values are in 1024-byte increments, except for
 <B>-t</B>,
 
-which is in seconds,
+which is in seconds;
 <B>-p</B>,
 
-which is in units of 512-byte blocks,
+which is in units of 512-byte blocks;
 and
 <B>-T</B>,
 
@@ -12537,7 +12596,7 @@ specifying command names containing
 <B>/</B>
 
 <DT>*<DD>
-specifying a file name containing a
+specifying a filename containing a
 <B>/</B>
 
 as an argument to the
@@ -12773,7 +12832,7 @@ There may be only one active coprocess at a time.
 <HR>
 <TABLE WIDTH=100%>
 <TR>
-<TH ALIGN=LEFT width=33%>GNU Bash 4.2<TH ALIGN=CENTER width=33%>2011 July 7<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>GNU Bash 4.2<TH ALIGN=CENTER width=33%>2011 September 25<TH ALIGN=RIGHT width=33%>BASH(1)
 </TR>
 </TABLE>
 <HR>
@@ -12879,6 +12938,6 @@ There may be only one active coprocess at a time.
 </DL>
 <HR>
 This document was created by man2html from bash.1.<BR>
-Time: 08 July 2011 17:23:53 EDT
+Time: 26 September 2011 10:56:19 EDT
 </BODY>
 </HTML>
index a3082137d8ad8be7f1ffb57415f93adaa7d36eda..2690e14b3c5c560868a60e0303f8ce6723187d02 100644 (file)
Binary files a/doc/bash.pdf and b/doc/bash.pdf differ
index d0db3437d90d5a23a9c22b6db646179ff58d7fd2..eb8fc6390edeefb49e9b1bbf33967aa2a3d064d6 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-3.0
 %%Creator: groff version 1.19.2
-%%CreationDate: Fri Jul  8 17:23:37 2011
+%%CreationDate: Mon Sep 26 10:56:08 2011
 %%DocumentNeededResources: font Times-Roman
 %%+ font Times-Bold
 %%+ font Times-Italic
@@ -330,7 +330,7 @@ F .475(xtended deb)-.15 F(ug-)-.2 E
 144 686.4 Q .3 -.15(ve \()-.25 H(see).15 E F4(INV)2.5 E(OCA)-.405 E
 (TION)-.855 E F0(belo)2.25 E(w\).)-.25 E F2(\255\255login)108 703.2 Q F0
 (Equi)144 715.2 Q -.25(va)-.25 G(lent to).25 E F2<ad6c>2.5 E F0(.)A
-(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(1)205.665 E 0 Cg EP
+(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(1)190.115 E 0 Cg EP
 %%Page: 2 2
 %%BeginPageSetup
 BP
@@ -404,10 +404,10 @@ F F1<24ad>2.789 E F0(includes)2.789 E F1(i)2.789 E F0(if)2.789 E F1
 (wing paragraphs describe ho)-.25 F(w)-.25 E F1(bash)2.532 E F0 -.15
 (exe)2.532 G .032(cutes its startup \214les.).15 F .032(If an)5.032 F
 2.532(yo)-.15 G 2.532(ft)-2.532 G .032(he \214les e)-2.532 F .032
-(xist b)-.15 F .032(ut cannot be)-.2 F(read,)108 516 Q F1(bash)3.085 E
-F0 .585(reports an error)3.085 F 5.585(.T)-.55 G .585(ildes are e)-5.935
-F .586(xpanded in \214le names as described belo)-.15 F 3.086(wu)-.25 G
-(nder)-3.086 E F1 -.18(Ti)3.086 G .586(lde Expansion).18 F F0(in the)108
+(xist b)-.15 F .032(ut cannot be)-.2 F(read,)108 516 Q F1(bash)2.599 E
+F0 .099(reports an error)2.599 F 5.099(.T)-.55 G .099(ildes are e)-5.449
+F .099(xpanded in \214lenames as described belo)-.15 F 2.6(wu)-.25 G
+(nder)-2.6 E F1 -.18(Ti)2.6 G .1(lde Expansion).18 F F0(in)2.6 E(the)108
 528 Q F3(EXP)2.5 E(ANSION)-.666 E F0(section.)2.25 E(When)108 544.8 Q F1
 (bash)2.896 E F0 .396(is in)2.896 F -.2(vo)-.4 G -.1(ke).2 G 2.896(da).1
 G 2.896(sa)-2.896 G 2.896(ni)-2.896 G(nteracti)-2.896 E .696 -.15(ve l)
@@ -451,8 +451,8 @@ F(ariable)-.25 E F3 -.27(BA)108 679.2 S(SH_ENV).27 E F0 1.01(in the en)
 (if [ \255n "$BASH_ENV" ]; then . "$BASH_ENV"; fi)144 709.2 Q F0 -.2(bu)
 108 727.2 S 2.5(tt).2 G(he v)-2.5 E(alue of the)-.25 E F3 -.666(PA)2.5 G
 (TH)-.189 E F0 -.25(va)2.25 G
-(riable is not used to search for the \214le name.).25 E(GNU Bash 4.2)72
-768 Q(2011 July 7)151.505 E(2)205.665 E 0 Cg EP
+(riable is not used to search for the \214lename.).25 E(GNU Bash 4.2)72
+768 Q(2011 September 25)135.955 E(2)190.115 E 0 Cg EP
 %%Page: 3 3
 %%BeginPageSetup
 BP
@@ -581,7 +581,7 @@ F1(Pipelines)87 691.2 Q F0(A)108 703.2 Q F2(pipeline)2.996 E F0 .496(is\
  a sequence of one or more commands separated by one of the control ope\
 rators)2.996 F F1(|)2.996 E F0(or)2.996 E F1(|&)2.996 E F0 5.496(.T)C
 (he)-5.496 E(format for a pipeline is:)108 715.2 Q(GNU Bash 4.2)72 768 Q
-(2011 July 7)151.505 E(3)205.665 E 0 Cg EP
+(2011 September 25)135.955 E(3)190.115 E 0 Cg EP
 %%Page: 4 4
 %%BeginPageSetup
 BP
@@ -596,14 +596,14 @@ BP
 (tion is performed before an)108 112.8 R 3.143(yr)-.15 G .642
 (edirections speci\214ed by the command \(see)-3.143 F/F4 9/Times-Bold@0
 SF(REDIRECTION)3.142 E F0(belo)2.892 E 3.142(w\). If)-.25 F F1(|&)3.142
-E F0(is)3.142 E 1.43(used, the standard error of)108 124.8 R F2(command)
-3.93 E F0 1.431(is connected to)3.93 F F2(command2)3.931 E F0 2.531 -.55
-('s s)D 1.431(tandard input through the pipe; it is).55 F 1.197
-(shorthand for)108 136.8 R F1 1.197(2>&1 |)3.697 F F0 6.197(.T)C 1.197
+E F0(is)3.142 E(used,)108 124.8 Q F2(command)3.215 E F0 1.815 -.55('s s)
+D .715(tandard output and standard error are connected to).55 F F2
+(command2)3.216 E F0 1.816 -.55('s s)D .716(tandard input through).55 F
+.734(the pipe; it is shorthand for)108 136.8 R F1 .734(2>&1 |)3.234 F F0
+5.734(.T)C .734
 (his implicit redirection of the standard error is performed after an)
--6.197 F 3.696(yr)-.15 G(edirections)-3.696 E
-(speci\214ed by the command.)108 148.8 Q .48
-(The return status of a pipeline is the e)108 165.6 R .48
+-5.734 F(y)-.15 E(redirections speci\214ed by the command.)108 148.8 Q
+.48(The return status of a pipeline is the e)108 165.6 R .48
 (xit status of the last command, unless the)-.15 F F1(pipefail)2.98 E F0
 .48(option is enabled.)2.98 F(If)108 177.6 Q F1(pipefail)2.687 E F0 .187
 (is enabled, the pipeline')2.687 F 2.687(sr)-.55 G .186
@@ -694,7 +694,7 @@ E -1.11(Va)144 698.4 S 1.064(riable assignments and b)1.11 F 1.064
 -.55 G -.4(nv)-3.564 G 1.064(ironment do not remain in).4 F(ef)144 710.4
 Q(fect after the command completes.)-.25 E(The return status is the e)5
 E(xit status of)-.15 E F2(list)2.5 E F0(.)A(GNU Bash 4.2)72 768 Q
-(2011 July 7)151.505 E(4)205.665 E 0 Cg EP
+(2011 September 25)135.955 E(4)190.115 E 0 Cg EP
 %%Page: 5 5
 %%BeginPageSetup
 BP
@@ -821,7 +821,7 @@ E F0 .423(is e)2.924 F .423(xpanded, generating a list of items.)-.15 F
 3.153 E F0 .653(is e)3.153 F -.15(xe)-.15 G .653(cuted each time.).15 F
 .653(If the)5.653 F F2(in)3.153 E F1(wor)3.153 E(d)-.37 E F0 .653
 (is omitted, the)3.153 F F2 -.25(fo)3.153 G(r).25 E F0(GNU Bash 4.2)72
-768 Q(2011 July 7)151.505 E(5)205.665 E 0 Cg EP
+768 Q(2011 September 25)135.955 E(5)190.115 E 0 Cg EP
 %%Page: 6 6
 %%BeginPageSetup
 BP
@@ -973,7 +973,8 @@ onously in a subshell, as if the command had been terminated with the)
 (cuting shell and the coprocess.).15 E(The format for a coprocess is:)
 108 705.6 Q F3(copr)144 722.4 Q(oc)-.18 E F0([)2.5 E F1 -.27(NA)C(ME).27
 E F0(])A F1(command)2.5 E F0([)2.5 E F1 -.37(re)C(dir).37 E(ections)-.37
-E F0(])A(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(6)205.665 E 0 Cg EP
+E F0(])A(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(6)190.115 E 0
+Cg EP
 %%Page: 7 7
 %%BeginPageSetup
 BP
@@ -986,34 +987,33 @@ F/F2 10/Times-Bold@0 SF(COPR)3.209 E(OC)-.3 E F0(.)A F1 -.27(NA)5.709 G
 (ME).27 E F0 .64(must not be supplied if)108 96 R F1(command)3.14 E F0
 .64(is a)3.14 F F1 .64(simple command)3.14 F F0 .64(\(see abo)3.14 F
 -.15(ve)-.15 G .64(\); otherwise, it is interpreted as the \214rst).15 F
--.1(wo)108 108 S .163(rd of the simple command.).1 F .163
-(When the coproc is e)5.163 F -.15(xe)-.15 G .163
-(cuted, the shell creates an array v).15 F .163(ariable \(see)-.25 F F2
-(Arrays)2.663 E F0(belo)108 120 Q .512(w\) named)-.25 F F1 -.27(NA)3.012
-G(ME).27 E F0 .512(in the conte)3.012 F .511(xt of the e)-.15 F -.15(xe)
--.15 G .511(cuting shell.).15 F .511(The standard output of)5.511 F F1
-(command)3.211 E F0 .511(is connected)3.781 F .81
-(via a pipe to a \214le descriptor in the e)108 132 R -.15(xe)-.15 G
-.811(cuting shell, and that \214le descriptor is assigned to).15 F F1
--.27(NA)3.311 G(ME).27 E F0 3.311([0]. The)B .717(standard input of)108
-144 R F1(command)3.417 E F0 .716
-(is connected via a pipe to a \214le descriptor in the e)3.987 F -.15
-(xe)-.15 G .716(cuting shell, and that \214le).15 F .702
-(descriptor is assigned to)108 156 R F1 -.27(NA)3.202 G(ME).27 E F0
-3.202([1]. This)B .703(pipe is established before an)3.203 F 3.203(yr)
--.15 G .703(edirections speci\214ed by the com-)-3.203 F 1.184
-(mand \(see)108 168 R/F3 9/Times-Bold@0 SF(REDIRECTION)3.684 E F0(belo)
-3.434 E 3.684(w\). The)-.25 F 1.183
-(\214le descriptors can be utilized as ar)3.684 F 1.183
-(guments to shell commands)-.18 F 1.796
-(and redirections using standard w)108 180 R 1.796(ord e)-.1 F 4.297
-(xpansions. The)-.15 F 1.797(process ID of the shell spa)4.297 F 1.797
-(wned to e)-.15 F -.15(xe)-.15 G 1.797(cute the).15 F .483
-(coprocess is a)108 192 R -.25(va)-.2 G .483(ilable as the v).25 F .483
-(alue of the v)-.25 F(ariable)-.25 E F1 -.27(NA)2.983 G(ME).27 E F0
-2.983(_PID. The)B F2(wait)2.983 E F0 -.2(bu)2.983 G .483
-(iltin command may be used to).2 F -.1(wa)108 204 S
-(it for the coprocess to terminate.).1 E
+-.1(wo)108 108 S 1.44(rd of the simple command.).1 F 1.44
+(When the coprocess is e)6.44 F -.15(xe)-.15 G 1.44
+(cuted, the shell creates an array v).15 F 1.44(ariable \(see)-.25 F F2
+(Arrays)108 120 Q F0(belo)3.671 E 1.171(w\) named)-.25 F F1 -.27(NA)
+3.671 G(ME).27 E F0 1.171(in the conte)3.671 F 1.171(xt of the e)-.15 F
+-.15(xe)-.15 G 1.171(cuting shell.).15 F 1.17(The standard output of)
+6.17 F F1(command)3.87 E F0(is)4.44 E 2.029
+(connected via a pipe to a \214le descriptor in the e)108 132 R -.15(xe)
+-.15 G 2.029(cuting shell, and that \214le descriptor is assigned to).15
+F F1 -.27(NA)108 144 S(ME).27 E F0 3.857([0]. The)B 1.357
+(standard input of)3.857 F F1(command)4.057 E F0 1.356
+(is connected via a pipe to a \214le descriptor in the e)4.627 F -.15
+(xe)-.15 G(cuting).15 E .103
+(shell, and that \214le descriptor is assigned to)108 156 R F1 -.27(NA)
+2.603 G(ME).27 E F0 2.603([1]. This)B .103
+(pipe is established before an)2.603 F 2.604(yr)-.15 G .104
+(edirections spec-)-2.604 F 1.272(i\214ed by the command \(see)108 168 R
+/F3 9/Times-Bold@0 SF(REDIRECTION)3.771 E F0(belo)3.521 E 3.771
+(w\). The)-.25 F 1.271(\214le descriptors can be utilized as ar)3.771 F
+1.271(guments to)-.18 F .479
+(shell commands and redirections using standard w)108 180 R .479(ord e)
+-.1 F 2.979(xpansions. The)-.15 F .48(process ID of the shell spa)2.979
+F .48(wned to)-.15 F -.15(exe)108 192 S .238(cute the coprocess is a).15
+F -.25(va)-.2 G .238(ilable as the v).25 F .237(alue of the v)-.25 F
+(ariable)-.25 E F1 -.27(NA)2.737 G(ME).27 E F0 2.737(_PID. The)B F2
+(wait)2.737 E F0 -.2(bu)2.737 G .237(iltin command may).2 F
+(be used to w)108 204 Q(ait for the coprocess to terminate.)-.1 E
 (The return status of a coprocess is the e)108 220.8 Q(xit status of)
 -.15 E F1(command)2.5 E F0(.)A F2(Shell Function De\214nitions)87 237.6
 Q F0 2.697(As)108 249.6 S .198
@@ -1039,1502 +1039,1507 @@ Q F0 .044(of commands between { and }, b)2.544 F .044(ut may be an)-.2 F
 (Compound Commands)2.544 F F0(abo)144 350.4 Q -.15(ve)-.15 G(.).15 E F1
 (compound\255command)6.671 E F0 1.671(is e)4.171 F -.15(xe)-.15 G 1.671
 (cuted whene).15 F -.15(ve)-.25 G(r).15 E F1(name)4.171 E F0 1.671
-(is speci\214ed as the name of a simple)4.171 F 3.008(command. An)144
-362.4 R 3.009(yr)-.15 G .509(edirections \(see)-3.009 F F3(REDIRECTION)
-3.009 E F0(belo)2.759 E .509
-(w\) speci\214ed when a function is de\214ned are)-.25 F .581
-(performed when the function is e)144 374.4 R -.15(xe)-.15 G 3.081
-(cuted. The).15 F -.15(ex)3.081 G .58
-(it status of a function de\214nition is zero unless a).15 F .177(synta\
-x error occurs or a readonly function with the same name already e)144
-386.4 R 2.678(xists. When)-.15 F -.15(exe)2.678 G .178(cuted, the).15 F
--.15(ex)144 398.4 S .64(it status of a function is the e).15 F .64
-(xit status of the last command e)-.15 F -.15(xe)-.15 G .64
-(cuted in the body).15 F 5.64(.\()-.65 G(See)-5.64 E F3(FUNC-)3.14 E
-(TIONS)144 410.4 Q F0(belo)2.25 E -.65(w.)-.25 G(\)).65 E/F4 10.95
-/Times-Bold@0 SF(COMMENTS)72 427.2 Q F0 .982(In a non-interacti)108
-439.2 R 1.282 -.15(ve s)-.25 H .982(hell, or an interacti).15 F 1.282
+(is speci\214ed as the name of a simple)4.171 F 2.752(command. When)144
+362.4 R(in)2.753 E F1 .253(posix mode)2.753 F F0(,)A F1(name)2.753 E F0
+.253(may not be the name of one of the POSIX)2.753 F F1 .253(special b)
+2.753 F(uiltins)-.2 E F0(.)A(An)144 374.4 Q 3.242(yr)-.15 G .742
+(edirections \(see)-3.242 F F3(REDIRECTION)3.242 E F0(belo)2.992 E .741
+(w\) speci\214ed when a function is de\214ned are performed)-.25 F .17
+(when the function is e)144 386.4 R -.15(xe)-.15 G 2.67(cuted. The).15 F
+-.15(ex)2.67 G .171
+(it status of a function de\214nition is zero unless a syntax error).15
+F .705(occurs or a readonly function with the same name already e)144
+398.4 R 3.204(xists. When)-.15 F -.15(exe)3.204 G .704(cuted, the e).15
+F .704(xit status)-.15 F 1.821(of a function is the e)144 410.4 R 1.821
+(xit status of the last command e)-.15 F -.15(xe)-.15 G 1.821
+(cuted in the body).15 F 6.822(.\()-.65 G(See)-6.822 E F3(FUNCTIONS)
+4.322 E F0(belo)144 422.4 Q -.65(w.)-.25 G(\)).65 E/F4 10.95
+/Times-Bold@0 SF(COMMENTS)72 439.2 Q F0 .982(In a non-interacti)108
+451.2 R 1.282 -.15(ve s)-.25 H .982(hell, or an interacti).15 F 1.282
 -.15(ve s)-.25 H .982(hell in which the).15 F F2(interacti)3.482 E -.1
 (ve)-.1 G(_comments).1 E F0 .982(option to the)3.482 F F2(shopt)3.482 E
-F0 -.2(bu)108 451.2 S .952(iltin is enabled \(see).2 F F3 .952(SHELL B)
-3.452 F(UIL)-.09 E .952(TIN COMMANDS)-.828 F F0(belo)3.202 E .952
-(w\), a w)-.25 F .952(ord be)-.1 F .952(ginning with)-.15 F F2(#)3.451 E
-F0 .951(causes that w)3.451 F(ord)-.1 E .604
-(and all remaining characters on that line to be ignored.)108 463.2 R
-.605(An interacti)5.605 F .905 -.15(ve s)-.25 H .605(hell without the)
-.15 F F2(interacti)3.105 E -.1(ve)-.1 G(_com-).1 E(ments)108 475.2 Q F0
-1.337(option enabled does not allo)3.837 F 3.837(wc)-.25 G 3.836
-(omments. The)-3.837 F F2(interacti)3.836 E -.1(ve)-.1 G(_comments).1 E
-F0 1.336(option is on by def)3.836 F 1.336(ault in)-.1 F(interacti)108
-487.2 Q .3 -.15(ve s)-.25 H(hells.).15 E F4 -.11(QU)72 504 S -.438(OT)
-.11 G(ING).438 E F1(Quoting)108 516 Q F0 .477(is used to remo)2.977 F
+F0 -.2(bu)108 463.2 S .951(iltin is enabled \(see).2 F F3 .952(SHELL B)
+3.451 F(UIL)-.09 E .952(TIN COMMANDS)-.828 F F0(belo)3.202 E .952
+(w\), a w)-.25 F .952(ord be)-.1 F .952(ginning with)-.15 F F2(#)3.452 E
+F0 .952(causes that w)3.452 F(ord)-.1 E .605
+(and all remaining characters on that line to be ignored.)108 475.2 R
+.604(An interacti)5.605 F .904 -.15(ve s)-.25 H .604(hell without the)
+.15 F F2(interacti)3.104 E -.1(ve)-.1 G(_com-).1 E(ments)108 487.2 Q F0
+1.336(option enabled does not allo)3.836 F 3.836(wc)-.25 G 3.836
+(omments. The)-3.836 F F2(interacti)3.836 E -.1(ve)-.1 G(_comments).1 E
+F0 1.337(option is on by def)3.837 F 1.337(ault in)-.1 F(interacti)108
+499.2 Q .3 -.15(ve s)-.25 H(hells.).15 E F4 -.11(QU)72 516 S -.438(OT)
+.11 G(ING).438 E F1(Quoting)108 528 Q F0 .478(is used to remo)2.978 F
 .777 -.15(ve t)-.15 H .477
 (he special meaning of certain characters or w).15 F .477
-(ords to the shell.)-.1 F .478(Quoting can be)5.478 F .185
+(ords to the shell.)-.1 F .477(Quoting can be)5.477 F .184
 (used to disable special treatment for special characters, to pre)108
-528 R -.15(ve)-.25 G .185(nt reserv).15 F .184(ed w)-.15 F .184
-(ords from being recognized as)-.1 F(such, and to pre)108 540 Q -.15(ve)
--.25 G(nt parameter e).15 E(xpansion.)-.15 E .288(Each of the)108 556.8
-R F1(metac)2.788 E(har)-.15 E(acter)-.15 E(s)-.1 E F0 .288(listed abo)
-2.788 F .588 -.15(ve u)-.15 H(nder).15 E F3(DEFINITIONS)2.788 E F0 .288
+540 R -.15(ve)-.25 G .185(nt reserv).15 F .185(ed w)-.15 F .185
+(ords from being recognized as)-.1 F(such, and to pre)108 552 Q -.15(ve)
+-.25 G(nt parameter e).15 E(xpansion.)-.15 E .289(Each of the)108 568.8
+R F1(metac)2.789 E(har)-.15 E(acter)-.15 E(s)-.1 E F0 .288(listed abo)
+2.789 F .588 -.15(ve u)-.15 H(nder).15 E F3(DEFINITIONS)2.788 E F0 .288
 (has special meaning to the shell and must be)2.538 F
-(quoted if it is to represent itself.)108 568.8 Q 1.345
-(When the command history e)108 585.6 R 1.344(xpansion f)-.15 F 1.344
+(quoted if it is to represent itself.)108 580.8 Q 1.344
+(When the command history e)108 597.6 R 1.344(xpansion f)-.15 F 1.344
 (acilities are being used \(see)-.1 F F3(HIST)3.844 E(OR)-.162 E 3.594
-(YE)-.315 G(XP)-3.594 E(ANSION)-.666 E F0(belo)3.594 E 1.344(w\), the)
--.25 F F1(history e)108 597.6 Q(xpansion)-.2 E F0(character)2.5 E 2.5
+(YE)-.315 G(XP)-3.594 E(ANSION)-.666 E F0(belo)3.595 E 1.345(w\), the)
+-.25 F F1(history e)108 609.6 Q(xpansion)-.2 E F0(character)2.5 E 2.5
 (,u)-.4 G(sually)-2.5 E F2(!)2.5 E F0 2.5(,m)C(ust be quoted to pre)-2.5
 E -.15(ve)-.25 G(nt history e).15 E(xpansion.)-.15 E
-(There are three quoting mechanisms: the)108 614.4 Q F1(escape c)2.5 E
+(There are three quoting mechanisms: the)108 626.4 Q F1(escape c)2.5 E
 (har)-.15 E(acter)-.15 E F0 2.5(,s).73 G
-(ingle quotes, and double quotes.)-2.5 E 2.974(An)108 631.2 S .474
-(on-quoted backslash \()-2.974 F F2(\\)A F0 2.974(\)i)C 2.974(st)-2.974
+(ingle quotes, and double quotes.)-2.5 E 2.975(An)108 643.2 S .475
+(on-quoted backslash \()-2.975 F F2(\\)A F0 2.974(\)i)C 2.974(st)-2.974
 G(he)-2.974 E F1 .474(escape c)2.974 F(har)-.15 E(acter)-.15 E F0 5.474
 (.I).73 G 2.974(tp)-5.474 G(reserv)-2.974 E .474(es the literal v)-.15 F
-.474(alue of the ne)-.25 F .475(xt character that)-.15 F(follo)108 643.2
-Q 1.554(ws, with the e)-.25 F 1.553(xception of <ne)-.15 F 4.053
+.474(alue of the ne)-.25 F .474(xt character that)-.15 F(follo)108 655.2
+Q 1.553(ws, with the e)-.25 F 1.553(xception of <ne)-.15 F 4.053
 (wline>. If)-.25 F(a)4.053 E F2(\\)4.053 E F0(<ne)A 1.553
-(wline> pair appears, and the backslash is not itself)-.25 F 1.122
-(quoted, the)108 655.2 R F2(\\)3.622 E F0(<ne)A 1.122
+(wline> pair appears, and the backslash is not itself)-.25 F 1.123
+(quoted, the)108 667.2 R F2(\\)3.623 E F0(<ne)A 1.122
 (wline> is treated as a line continuation \(that is, it is remo)-.25 F
--.15(ve)-.15 G 3.622(df).15 G 1.123(rom the input stream and)-3.622 F
-(ef)108 667.2 Q(fecti)-.25 E -.15(ve)-.25 G(ly ignored\).).15 E .295
-(Enclosing characters in single quotes preserv)108 684 R .295
+-.15(ve)-.15 G 3.622(df).15 G 1.122(rom the input stream and)-3.622 F
+(ef)108 679.2 Q(fecti)-.25 E -.15(ve)-.25 G(ly ignored\).).15 E .295
+(Enclosing characters in single quotes preserv)108 696 R .295
 (es the literal v)-.15 F .295(alue of each character within the quotes.)
 -.25 F 2.795(As)5.295 G(in-)-2.795 E
-(gle quote may not occur between single quotes, e)108 696 Q -.15(ve)-.25
-G 2.5(nw).15 G(hen preceded by a backslash.)-2.5 E .033
-(Enclosing characters in double quotes preserv)108 712.8 R .034
+(gle quote may not occur between single quotes, e)108 708 Q -.15(ve)-.25
+G 2.5(nw).15 G(hen preceded by a backslash.)-2.5 E .034
+(Enclosing characters in double quotes preserv)108 724.8 R .034
 (es the literal v)-.15 F .034
-(alue of all characters within the quotes, with the)-.25 F -.15(ex)108
-724.8 S .828(ception of).15 F F2($)3.328 E F0(,)A F2<92>3.328 E F0(,)A
-F2(\\)3.328 E F0 3.328(,a)C .828(nd, when history e)-3.328 F .828
-(xpansion is enabled,)-.15 F F2(!)3.328 E F0 5.828(.T)C .828
-(he characters)-5.828 F F2($)3.328 E F0(and)3.328 E F2<92>3.328 E F0
-.827(retain their special)3.328 F(GNU Bash 4.2)72 768 Q(2011 July 7)
-151.505 E(7)205.665 E 0 Cg EP
+(alue of all characters within the quotes, with the)-.25 F(GNU Bash 4.2)
+72 768 Q(2011 September 25)135.955 E(7)190.115 E 0 Cg EP
 %%Page: 8 8
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .074(meaning within double quotes.)108 84 R .074
-(The backslash retains its special meaning only when follo)5.074 F .075
-(wed by one of the)-.25 F(follo)108 96 Q .205(wing characters:)-.25 F/F1
-10/Times-Bold@0 SF($)2.705 E F0(,)A F1<92>2.705 E F0(,)A F1(")3.538 E F0
-(,).833 E F1(\\)2.705 E F0 2.705(,o)C(r)-2.705 E F1(<newline>)2.705 E F0
-5.205(.A)C .204(double quote may be quoted within double quotes by pre-)
--2.5 F .081(ceding it with a backslash.)108 108 R .082
-(If enabled, history e)5.082 F .082
-(xpansion will be performed unless an)-.15 F F1(!)2.582 E F0 .082
-(appearing in double)5.082 F(quotes is escaped using a backslash.)108
-120 Q(The backslash preceding the)5 E F1(!)2.5 E F0(is not remo)5 E -.15
-(ve)-.15 G(d.).15 E(The special parameters)108 136.8 Q F1(*)2.5 E F0
+-.35 E -.15(ex)108 84 S .827(ception of).15 F/F1 10/Times-Bold@0 SF($)
+3.327 E F0(,)A F1<92>3.328 E F0(,)A F1(\\)3.328 E F0 3.328(,a)C .828
+(nd, when history e)-3.328 F .828(xpansion is enabled,)-.15 F F1(!)3.328
+E F0 5.828(.T)C .828(he characters)-5.828 F F1($)3.328 E F0(and)3.328 E
+F1<92>3.328 E F0 .828(retain their special)3.328 F .075
+(meaning within double quotes.)108 96 R .074
+(The backslash retains its special meaning only when follo)5.075 F .074
+(wed by one of the)-.25 F(follo)108 108 Q .204(wing characters:)-.25 F
+F1($)2.704 E F0(,)A F1<92>2.704 E F0(,)A F1(")3.537 E F0(,).833 E F1(\\)
+2.704 E F0 2.704(,o)C(r)-2.704 E F1(<newline>)2.705 E F0 5.205(.A)C .205
+(double quote may be quoted within double quotes by pre-)-2.5 F .082
+(ceding it with a backslash.)108 120 R .082(If enabled, history e)5.082
+F .082(xpansion will be performed unless an)-.15 F F1(!)2.581 E F0 .081
+(appearing in double)5.081 F(quotes is escaped using a backslash.)108
+132 Q(The backslash preceding the)5 E F1(!)2.5 E F0(is not remo)5 E -.15
+(ve)-.15 G(d.).15 E(The special parameters)108 148.8 Q F1(*)2.5 E F0
 (and)2.5 E F1(@)2.5 E F0(ha)2.5 E .3 -.15(ve s)-.2 H
 (pecial meaning when in double quotes \(see).15 E/F2 9/Times-Bold@0 SF
 -.666(PA)2.5 G(RAMETERS).666 E F0(belo)2.25 E(w\).)-.25 E -.8(Wo)108
-153.6 S .212(rds of the form).8 F F1($)2.712 E F0<08>A/F3 10
-/Times-Italic@0 SF(string)A F0 2.712<0861>C .211(re treated specially)
--2.712 F 5.211(.T)-.65 G .211(he w)-5.211 F .211(ord e)-.1 F .211
-(xpands to)-.15 F F3(string)2.711 E F0 2.711(,w)C .211
-(ith backslash-escaped char)-2.711 F(-)-.2 E .604
-(acters replaced as speci\214ed by the ANSI C standard.)108 165.6 R .605
+165.6 S .211(rds of the form).8 F F1($)2.711 E F0<08>A/F3 10
+/Times-Italic@0 SF(string)A F0 2.711<0861>C .211(re treated specially)
+-2.711 F 5.211(.T)-.65 G .211(he w)-5.211 F .211(ord e)-.1 F .212
+(xpands to)-.15 F F3(string)2.712 E F0 2.712(,w)C .212
+(ith backslash-escaped char)-2.712 F(-)-.2 E .605
+(acters replaced as speci\214ed by the ANSI C standard.)108 177.6 R .604
 (Backslash escape sequences, if present, are decoded)5.605 F(as follo)
-108 177.6 Q(ws:)-.25 E F1(\\a)144 189.6 Q F0(alert \(bell\))28.22 E F1
-(\\b)144 201.6 Q F0(backspace)27.66 E F1(\\e)144 213.6 Q(\\E)144 225.6 Q
-F0(an escape character)26.55 E F1(\\f)144 237.6 Q F0(form feed)29.89 E
-F1(\\n)144 249.6 Q F0(ne)27.66 E 2.5(wl)-.25 G(ine)-2.5 E F1(\\r)144
-261.6 Q F0(carriage return)28.78 E F1(\\t)144 273.6 Q F0(horizontal tab)
-29.89 E F1(\\v)144 285.6 Q F0 -.15(ve)28.22 G(rtical tab).15 E F1(\\\\)
-144 297.6 Q F0(backslash)30.44 E F1<5c08>144 309.6 Q F0(single quote)
-30.44 E F1(\\")144 321.6 Q F0(double quote)27.67 E F1(\\)144 333.6 Q F3
+108 189.6 Q(ws:)-.25 E F1(\\a)144 201.6 Q F0(alert \(bell\))28.22 E F1
+(\\b)144 213.6 Q F0(backspace)27.66 E F1(\\e)144 225.6 Q(\\E)144 237.6 Q
+F0(an escape character)26.55 E F1(\\f)144 249.6 Q F0(form feed)29.89 E
+F1(\\n)144 261.6 Q F0(ne)27.66 E 2.5(wl)-.25 G(ine)-2.5 E F1(\\r)144
+273.6 Q F0(carriage return)28.78 E F1(\\t)144 285.6 Q F0(horizontal tab)
+29.89 E F1(\\v)144 297.6 Q F0 -.15(ve)28.22 G(rtical tab).15 E F1(\\\\)
+144 309.6 Q F0(backslash)30.44 E F1<5c08>144 321.6 Q F0(single quote)
+30.44 E F1(\\")144 333.6 Q F0(double quote)27.67 E F1(\\)144 345.6 Q F3
 (nnn)A F0(the eight-bit character whose v)18.22 E(alue is the octal v)
 -.25 E(alue)-.25 E F3(nnn)2.5 E F0(\(one to three digits\))2.5 E F1(\\x)
-144 345.6 Q F3(HH)A F0(the eight-bit character whose v)13.78 E
+144 357.6 Q F3(HH)A F0(the eight-bit character whose v)13.78 E
 (alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F3(HH)2.5 E F0
 (\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1
-(\\u)144 357.6 Q F3(HHHH)A F0 1.507
-(the Unicode \(ISO/IEC 10646\) character whose v)180 369.6 R 1.506
-(alue is the he)-.25 F 1.506(xadecimal v)-.15 F(alue)-.25 E F3(HHHH)
-4.006 E F0(\(one to four he)180 381.6 Q 2.5(xd)-.15 G(igits\))-2.5 E F1
-(\\U)144 393.6 Q F3(HHHHHHHH)A F0 .547
-(the Unicode \(ISO/IEC 10646\) character whose v)180 405.6 R .547
-(alue is the he)-.25 F .548(xadecimal v)-.15 F(alue)-.25 E F3(HHHHH-)
-3.048 E(HHH)180 417.6 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G
-(igits\))-2.5 E F1(\\c)144 429.6 Q F3(x)A F0 2.5(ac)24.34 G(ontrol-)-2.5
-E F3(x)A F0(character)2.5 E(The e)108 446.4 Q(xpanded result is single-\
+(\\u)144 369.6 Q F3(HHHH)A F0 1.506
+(the Unicode \(ISO/IEC 10646\) character whose v)180 381.6 R 1.507
+(alue is the he)-.25 F 1.507(xadecimal v)-.15 F(alue)-.25 E F3(HHHH)
+4.007 E F0(\(one to four he)180 393.6 Q 2.5(xd)-.15 G(igits\))-2.5 E F1
+(\\U)144 405.6 Q F3(HHHHHHHH)A F0 .548
+(the Unicode \(ISO/IEC 10646\) character whose v)180 417.6 R .547
+(alue is the he)-.25 F .547(xadecimal v)-.15 F(alue)-.25 E F3(HHHHH-)
+3.047 E(HHH)180 429.6 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G
+(igits\))-2.5 E F1(\\c)144 441.6 Q F3(x)A F0 2.5(ac)24.34 G(ontrol-)-2.5
+E F3(x)A F0(character)2.5 E(The e)108 458.4 Q(xpanded result is single-\
 quoted, as if the dollar sign had not been present.)-.15 E 2.64(Ad)108
-463.2 S .14(ouble-quoted string preceded by a dollar sign \()-2.64 F F1
+475.2 S .14(ouble-quoted string preceded by a dollar sign \()-2.64 F F1
 ($)A F0(")A F3(string)A F0 .14
-("\) will cause the string to be translated according)B .495
-(to the current locale.)108 475.2 R .495(If the current locale is)5.495
+("\) will cause the string to be translated according)B .496
+(to the current locale.)108 487.2 R .495(If the current locale is)5.496
 F F1(C)2.995 E F0(or)2.995 E F1(POSIX)2.995 E F0 2.995(,t)C .495
-(he dollar sign is ignored.)-2.995 F .496(If the string is trans-)5.496
-F(lated and replaced, the replacement is double-quoted.)108 487.2 Q/F4
-10.95/Times-Bold@0 SF -.81(PA)72 504 S(RAMETERS).81 E F0(A)108 516 Q F3
-(par)4.593 E(ameter)-.15 E F0 .843(is an entity that stores v)4.073 F
-3.343(alues. It)-.25 F .843(can be a)3.343 F F3(name)3.342 E F0 3.342
-(,an).18 G(umber)-3.342 E 3.342(,o)-.4 G 3.342(ro)-3.342 G .842
-(ne of the special characters)-3.342 F .822(listed belo)108 528 R 3.323
+(he dollar sign is ignored.)-2.995 F .495(If the string is trans-)5.495
+F(lated and replaced, the replacement is double-quoted.)108 499.2 Q/F4
+10.95/Times-Bold@0 SF -.81(PA)72 516 S(RAMETERS).81 E F0(A)108 528 Q F3
+(par)4.592 E(ameter)-.15 E F0 .842(is an entity that stores v)4.072 F
+3.342(alues. It)-.25 F .842(can be a)3.342 F F3(name)3.343 E F0 3.343
+(,an).18 G(umber)-3.343 E 3.343(,o)-.4 G 3.343(ro)-3.343 G .843
+(ne of the special characters)-3.343 F .823(listed belo)108 540 R 3.323
 (wu)-.25 G(nder)-3.323 E F1 .823(Special P)3.323 F(arameters)-.1 E F0
 5.823(.A)C F3(variable)-2.21 E F0 .823(is a parameter denoted by a)3.503
 F F3(name)3.323 E F0 5.823(.A).18 G -.25(va)-2.5 G .823(riable has a).25
-F F3(value)108 540 Q F0 .369(and zero or more)2.869 F F3(attrib)2.869 E
+F F3(value)108 552 Q F0 .368(and zero or more)2.868 F F3(attrib)2.868 E
 (utes)-.2 E F0 5.369(.A)C(ttrib)-5.369 E .369
-(utes are assigned using the)-.2 F F1(declar)2.868 E(e)-.18 E F0 -.2(bu)
-2.868 G .368(iltin command \(see).2 F F1(declar)2.868 E(e)-.18 E F0
-(belo)108 552 Q 2.5(wi)-.25 G(n)-2.5 E F2(SHELL B)2.5 E(UIL)-.09 E
-(TIN COMMANDS)-.828 E/F5 9/Times-Roman@0 SF(\).)A F0 2.754(Ap)108 568.8
-S .254(arameter is set if it has been assigned a v)-2.754 F 2.754
-(alue. The)-.25 F .254(null string is a v)2.754 F .255(alid v)-.25 F
-2.755(alue. Once)-.25 F 2.755(av)2.755 G .255(ariable is set, it)-3.005
-F(may be unset only by using the)108 580.8 Q F1(unset)2.5 E F0 -.2(bu)
+(utes are assigned using the)-.2 F F1(declar)2.869 E(e)-.18 E F0 -.2(bu)
+2.869 G .369(iltin command \(see).2 F F1(declar)2.869 E(e)-.18 E F0
+(belo)108 564 Q 2.5(wi)-.25 G(n)-2.5 E F2(SHELL B)2.5 E(UIL)-.09 E
+(TIN COMMANDS)-.828 E/F5 9/Times-Roman@0 SF(\).)A F0 2.755(Ap)108 580.8
+S .255(arameter is set if it has been assigned a v)-2.755 F 2.754
+(alue. The)-.25 F .254(null string is a v)2.754 F .254(alid v)-.25 F
+2.754(alue. Once)-.25 F 2.754(av)2.754 G .254(ariable is set, it)-3.004
+F(may be unset only by using the)108 592.8 Q F1(unset)2.5 E F0 -.2(bu)
 2.5 G(iltin command \(see).2 E F2(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)
--.828 E F0(belo)2.25 E(w\).)-.25 E(A)108 597.6 Q F3(variable)2.79 E F0
-(may be assigned to by a statement of the form)2.68 E F3(name)144 614.4
-Q F0(=[)A F3(value)A F0(])A(If)108 631.2 Q F3(value)3.023 E F0 .233
-(is not gi)2.913 F -.15(ve)-.25 G .233(n, the v).15 F .232
-(ariable is assigned the null string.)-.25 F(All)5.232 E F3(values)3.022
-E F0(under)3.002 E .232(go tilde e)-.18 F .232(xpansion, parameter)-.15
-F .515(and v)108 643.2 R .515(ariable e)-.25 F .515
+-.828 E F0(belo)2.25 E(w\).)-.25 E(A)108 609.6 Q F3(variable)2.79 E F0
+(may be assigned to by a statement of the form)2.68 E F3(name)144 626.4
+Q F0(=[)A F3(value)A F0(])A(If)108 643.2 Q F3(value)3.022 E F0 .232
+(is not gi)2.912 F -.15(ve)-.25 G .232(n, the v).15 F .232
+(ariable is assigned the null string.)-.25 F(All)5.233 E F3(values)3.023
+E F0(under)3.003 E .233(go tilde e)-.18 F .233(xpansion, parameter)-.15
+F .515(and v)108 655.2 R .515(ariable e)-.25 F .515
 (xpansion, command substitution, arithmetic e)-.15 F .515
 (xpansion, and quote remo)-.15 F -.25(va)-.15 G 3.015(l\().25 G(see)
--3.015 E F2(EXP)3.015 E(ANSION)-.666 E F0(belo)108 655.2 Q 2.699
-(w\). If)-.25 F .199(the v)2.699 F .199(ariable has its)-.25 F F1
+-3.015 E F2(EXP)3.015 E(ANSION)-.666 E F0(belo)108 667.2 Q 2.698
+(w\). If)-.25 F .198(the v)2.698 F .198(ariable has its)-.25 F F1
 (integer)2.698 E F0(attrib)2.698 E .198(ute set, then)-.2 F F3(value)
-2.988 E F0 .198(is e)2.878 F -.25(va)-.25 G .198
-(luated as an arithmetic e).25 F .198(xpression e)-.15 F -.15(ve)-.25 G
-(n).15 E .901(if the $\(\(...\)\) e)108 667.2 R .901
+2.988 E F0 .198(is e)2.878 F -.25(va)-.25 G .199
+(luated as an arithmetic e).25 F .199(xpression e)-.15 F -.15(ve)-.25 G
+(n).15 E .902(if the $\(\(...\)\) e)108 679.2 R .902
 (xpansion is not used \(see)-.15 F F1 .901(Arithmetic Expansion)3.401 F
-F0(belo)3.401 E 3.402(w\). W)-.25 F .902
-(ord splitting is not performed,)-.8 F 1.179(with the e)108 679.2 R
-1.179(xception of)-.15 F F1("$@")3.679 E F0 1.179(as e)3.679 F 1.179
-(xplained belo)-.15 F 3.679(wu)-.25 G(nder)-3.679 E F1 1.178(Special P)
-3.678 F(arameters)-.1 E F0 6.178(.P)C 1.178(athname e)-6.328 F 1.178
-(xpansion is not)-.15 F 3.648(performed. Assignment)108 691.2 R 1.148
-(statements may also appear as ar)3.648 F 1.149(guments to the)-.18 F F1
-(alias)3.649 E F0(,)A F1(declar)3.649 E(e)-.18 E F0(,)A F1(typeset)3.649
-E F0(,)A F1(export)3.649 E F0(,)A F1 -.18(re)108 703.2 S(adonly).18 E F0
-2.5(,a)C(nd)-2.5 E F1(local)2.5 E F0 -.2(bu)2.5 G(iltin commands.).2 E
-.377(In the conte)108 720 R .377
-(xt where an assignment statement is assigning a v)-.15 F .376
-(alue to a shell v)-.25 F .376(ariable or array inde)-.25 F .376
-(x, the +=)-.15 F(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(8)205.665
-E 0 Cg EP
+F0(belo)3.401 E 3.401(w\). W)-.25 F .901
+(ord splitting is not performed,)-.8 F 1.178(with the e)108 691.2 R
+1.178(xception of)-.15 F F1("$@")3.678 E F0 1.178(as e)3.678 F 1.179
+(xplained belo)-.15 F 3.679(wu)-.25 G(nder)-3.679 E F1 1.179(Special P)
+3.679 F(arameters)-.1 E F0 6.179(.P)C 1.179(athname e)-6.329 F 1.179
+(xpansion is not)-.15 F 3.649(performed. Assignment)108 703.2 R 1.149
+(statements may also appear as ar)3.649 F 1.148(guments to the)-.18 F F1
+(alias)3.648 E F0(,)A F1(declar)3.648 E(e)-.18 E F0(,)A F1(typeset)3.648
+E F0(,)A F1(export)3.648 E F0(,)A F1 -.18(re)108 715.2 S(adonly).18 E F0
+2.629(,a)C(nd)-2.629 E F1(local)2.629 E F0 -.2(bu)2.629 G .129
+(iltin commands.).2 F .129(When in)5.129 F F3 .129(posix mode)2.629 F F0
+2.629(,t)C .129(hese b)-2.629 F .13
+(uiltins may appear in a command after)-.2 F
+(one or more instances of the)108 727.2 Q F1(command)2.5 E F0 -.2(bu)2.5
+G(iltin and retain these assignment statement properties.).2 E
+(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(8)190.115 E 0 Cg EP
 %%Page: 9 9
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .257(operator can be used to append to or add to the v)108 84 R
-(ariable')-.25 E 2.757(sp)-.55 G(re)-2.757 E .257(vious v)-.25 F 2.757
-(alue. When)-.25 F .257(+= is applied to a v)2.757 F(ariable)-.25 E .361
-(for which the)108 96 R/F1 10/Times-Italic@0 SF(inte)2.861 E -.1(ge)-.4
+-.35 E .377(In the conte)108 84 R .377
+(xt where an assignment statement is assigning a v)-.15 F .376
+(alue to a shell v)-.25 F .376(ariable or array inde)-.25 F .376
+(x, the +=)-.15 F .257
+(operator can be used to append to or add to the v)108 96 R(ariable')
+-.25 E 2.757(sp)-.55 G(re)-2.757 E .257(vious v)-.25 F 2.757(alue. When)
+-.25 F .257(+= is applied to a v)2.757 F(ariable)-.25 E .361
+(for which the)108 108 R/F1 10/Times-Italic@0 SF(inte)2.861 E -.1(ge)-.4
 G(r).1 E F0(attrib)2.861 E .361(ute has been set,)-.2 F F1(value)2.861 E
 F0 .361(is e)2.861 F -.25(va)-.25 G .36(luated as an arithmetic e).25 F
-.36(xpression and added to the)-.15 F -.25(va)108 108 S(riable').25 E
+.36(xpression and added to the)-.15 F -.25(va)108 120 S(riable').25 E
 2.888(sc)-.55 G .388(urrent v)-2.888 F .388(alue, which is also e)-.25 F
 -.25(va)-.25 G 2.889(luated. When).25 F .389
 (+= is applied to an array v)2.889 F .389(ariable using compound)-.25 F
-.186(assignment \(see)108 120 R/F2 10/Times-Bold@0 SF(Arrays)2.686 E F0
+.186(assignment \(see)108 132 R/F2 10/Times-Bold@0 SF(Arrays)2.686 E F0
 (belo)2.686 E .186(w\), the v)-.25 F(ariable')-.25 E 2.685(sv)-.55 G
 .185(alue is not unset \(as it is when using =\), and ne)-2.935 F 2.685
 (wv)-.25 G .185(alues are)-2.935 F 1.384(appended to the array be)108
-132 R 1.384(ginning at one greater than the array')-.15 F 3.885(sm)-.55
+144 R 1.384(ginning at one greater than the array')-.15 F 3.885(sm)-.55
 G 1.385(aximum inde)-3.885 F 3.885(x\()-.15 G 1.385(for inde)-3.885 F
 -.15(xe)-.15 G 3.885(da).15 G 1.385(rrays\) or)-3.885 F .123
-(added as additional k)108 144 R -.15(ey)-.1 G<ad76>.15 E .123
+(added as additional k)108 156 R -.15(ey)-.1 G<ad76>.15 E .123
 (alue pairs in an associati)-.25 F .423 -.15(ve a)-.25 H(rray).15 E
 5.123(.W)-.65 G .122(hen applied to a string-v)-5.123 F .122(alued v)
--.25 F(ariable,)-.25 E F1(value)2.622 E F0(is e)108 156 Q
+-.25 F(ariable,)-.25 E F1(value)2.622 E F0(is e)108 168 Q
 (xpanded and appended to the v)-.15 E(ariable')-.25 E 2.5(sv)-.55 G
-(alue.)-2.75 E F2 -.2(Po)87 172.8 S(sitional P).2 E(arameters)-.1 E F0
-(A)108 184.8 Q F1 .705(positional par)4.455 F(ameter)-.15 E F0 .706(is \
+(alue.)-2.75 E F2 -.2(Po)87 184.8 S(sitional P).2 E(arameters)-.1 E F0
+(A)108 196.8 Q F1 .705(positional par)4.455 F(ameter)-.15 E F0 .706(is \
 a parameter denoted by one or more digits, other than the single digit \
 0.)3.935 F(Posi-)5.706 E .445
-(tional parameters are assigned from the shell')108 196.8 R 2.944(sa)
+(tional parameters are assigned from the shell')108 208.8 R 2.944(sa)
 -.55 G -.18(rg)-2.944 G .444(uments when it is in).18 F -.2(vo)-.4 G -.1
-(ke).2 G .444(d, and may be reassigned using).1 F(the)108 208.8 Q F2
+(ke).2 G .444(d, and may be reassigned using).1 F(the)108 220.8 Q F2
 (set)3.333 E F0 -.2(bu)3.333 G .833(iltin command.).2 F .834(Positional\
  parameters may not be assigned to with assignment statements.)5.833 F
 (The)5.834 E .334(positional parameters are temporarily replaced when a\
- shell function is e)108 220.8 R -.15(xe)-.15 G .333(cuted \(see).15 F
+ shell function is e)108 232.8 R -.15(xe)-.15 G .333(cuted \(see).15 F
 /F3 9/Times-Bold@0 SF(FUNCTIONS)2.833 E F0(belo)2.583 E(w\).)-.25 E
 1.403(When a positional parameter consisting of more than a single digi\
-t is e)108 237.6 R 1.404(xpanded, it must be enclosed in)-.15 F
-(braces \(see)108 249.6 Q F3(EXP)2.5 E(ANSION)-.666 E F0(belo)2.25 E
-(w\).)-.25 E F2(Special P)87 266.4 Q(arameters)-.1 E F0 1.675
-(The shell treats se)108 278.4 R -.15(ve)-.25 G 1.675
+t is e)108 249.6 R 1.404(xpanded, it must be enclosed in)-.15 F
+(braces \(see)108 261.6 Q F3(EXP)2.5 E(ANSION)-.666 E F0(belo)2.25 E
+(w\).)-.25 E F2(Special P)87 278.4 Q(arameters)-.1 E F0 1.675
+(The shell treats se)108 290.4 R -.15(ve)-.25 G 1.675
 (ral parameters specially).15 F 6.675(.T)-.65 G 1.674
 (hese parameters may only be referenced; assignment to)-6.675 F
-(them is not allo)108 290.4 Q(wed.)-.25 E F2(*)108 302.4 Q F0 .605
+(them is not allo)108 302.4 Q(wed.)-.25 E F2(*)108 314.4 Q F0 .605
 (Expands to the positional parameters, starting from one.)31 F .606
 (When the e)5.605 F .606(xpansion occurs within dou-)-.15 F .084
-(ble quotes, it e)144 314.4 R .084(xpands to a single w)-.15 F .084
+(ble quotes, it e)144 326.4 R .084(xpands to a single w)-.15 F .084
 (ord with the v)-.1 F .084
 (alue of each parameter separated by the \214rst char)-.25 F(-)-.2 E
-.003(acter of the)144 326.4 R F3(IFS)2.503 E F0 .003(special v)2.253 F
+.003(acter of the)144 338.4 R F3(IFS)2.503 E F0 .003(special v)2.253 F
 2.503(ariable. That)-.25 F .003(is, ")2.503 F F2($*)A F0 2.503("i)C
 2.503(se)-2.503 G(qui)-2.503 E -.25(va)-.25 G .003(lent to ").25 F F2
 ($1)A F1(c)A F2($2)A F1(c)A F2(...)A F0 .003(", where)B F1(c)2.703 E F0
-.004(is the \214rst char)2.813 F(-)-.2 E .769(acter of the v)144 338.4 R
+.004(is the \214rst char)2.813 F(-)-.2 E .769(acter of the v)144 350.4 R
 .769(alue of the)-.25 F F3(IFS)3.269 E F0 -.25(va)3.019 G 3.269
 (riable. If).25 F F3(IFS)3.268 E F0 .768
 (is unset, the parameters are separated by spaces.)3.018 F(If)5.768 E F3
-(IFS)144 350.4 Q F0(is null, the parameters are joined without interv)
-2.25 E(ening separators.)-.15 E F2(@)108 362.4 Q F0 .605
+(IFS)144 362.4 Q F0(is null, the parameters are joined without interv)
+2.25 E(ening separators.)-.15 E F2(@)108 374.4 Q F0 .605
 (Expands to the positional parameters, starting from one.)26.7 F .606
 (When the e)5.605 F .606(xpansion occurs within dou-)-.15 F .114
-(ble quotes, each parameter e)144 374.4 R .114(xpands to a separate w)
+(ble quotes, each parameter e)144 386.4 R .114(xpands to a separate w)
 -.15 F 2.614(ord. That)-.1 F .113(is, ")2.613 F F2($@)A F0 2.613("i)C
 2.613(se)-2.613 G(qui)-2.613 E -.25(va)-.25 G .113(lent to ").25 F F2
 ($1)A F0 2.613("")C F2($2)-2.613 E F0 2.613(".)C(..)-2.613 E .134
-(If the double-quoted e)144 386.4 R .134(xpansion occurs within a w)-.15
+(If the double-quoted e)144 398.4 R .134(xpansion occurs within a w)-.15
 F .135(ord, the e)-.1 F .135
 (xpansion of the \214rst parameter is joined)-.15 F .151(with the be)144
-398.4 R .151(ginning part of the original w)-.15 F .151(ord, and the e)
+410.4 R .151(ginning part of the original w)-.15 F .151(ord, and the e)
 -.1 F .15(xpansion of the last parameter is joined with)-.15 F .337
-(the last part of the original w)144 410.4 R 2.837(ord. When)-.1 F .338
+(the last part of the original w)144 422.4 R 2.837(ord. When)-.1 F .338
 (there are no positional parameters, ")2.837 F F2($@)A F0 2.838("a)C(nd)
 -2.838 E F2($@)2.838 E F0 -.15(ex)2.838 G(pand).15 E
-(to nothing \(i.e., the)144 422.4 Q 2.5(ya)-.15 G(re remo)-2.5 E -.15
-(ve)-.15 G(d\).).15 E F2(#)108 434.4 Q F0
+(to nothing \(i.e., the)144 434.4 Q 2.5(ya)-.15 G(re remo)-2.5 E -.15
+(ve)-.15 G(d\).).15 E F2(#)108 446.4 Q F0
 (Expands to the number of positional parameters in decimal.)31 E F2(?)
-108 446.4 Q F0(Expands to the e)31 E(xit status of the most recently e)
+108 458.4 Q F0(Expands to the e)31 E(xit status of the most recently e)
 -.15 E -.15(xe)-.15 G(cuted fore).15 E(ground pipeline.)-.15 E F2<ad>108
-458.4 Q F0 .882
+470.4 Q F0 .882
 (Expands to the current option \215ags as speci\214ed upon in)30.3 F -.2
 (vo)-.4 G .881(cation, by the).2 F F2(set)3.381 E F0 -.2(bu)3.381 G .881
 (iltin command, or).2 F(those set by the shell itself \(such as the)144
-470.4 Q F2<ad69>2.5 E F0(option\).)2.5 E F2($)108 482.4 Q F0 .214
+482.4 Q F2<ad69>2.5 E F0(option\).)2.5 E F2($)108 494.4 Q F0 .214
 (Expands to the process ID of the shell.)31 F .214
 (In a \(\) subshell, it e)5.214 F .214
 (xpands to the process ID of the current)-.15 F
-(shell, not the subshell.)144 494.4 Q F2(!)108 506.4 Q F0
+(shell, not the subshell.)144 506.4 Q F2(!)108 518.4 Q F0
 (Expands to the process ID of the most recently e)32.67 E -.15(xe)-.15 G
-(cuted background \(asynchronous\) command.).15 E F2(0)108 518.4 Q F0
+(cuted background \(asynchronous\) command.).15 E F2(0)108 530.4 Q F0
 1.692(Expands to the name of the shell or shell script.)31 F 1.691
 (This is set at shell initialization.)6.692 F(If)6.691 E F2(bash)4.191 E
-F0(is)4.191 E(in)144 530.4 Q -.2(vo)-.4 G -.1(ke).2 G 3.077(dw).1 G .577
+F0(is)4.191 E(in)144 542.4 Q -.2(vo)-.4 G -.1(ke).2 G 3.077(dw).1 G .577
 (ith a \214le of commands,)-3.077 F F2($0)3.077 E F0 .578
 (is set to the name of that \214le.)3.077 F(If)5.578 E F2(bash)3.078 E
 F0 .578(is started with the)3.078 F F2<ad63>3.078 E F0 .369
-(option, then)144 542.4 R F2($0)2.869 E F0 .369
+(option, then)144 554.4 R F2($0)2.869 E F0 .369
 (is set to the \214rst ar)2.869 F .369(gument after the string to be e)
 -.18 F -.15(xe)-.15 G .369(cuted, if one is present.).15 F(Other)5.368 E
-(-)-.2 E(wise, it is set to the \214le name used to in)144 554.4 Q -.2
+(-)-.2 E(wise, it is set to the \214lename used to in)144 566.4 Q -.2
 (vo)-.4 G -.1(ke).2 G F2(bash)2.6 E F0 2.5(,a)C 2.5(sg)-2.5 G -2.15 -.25
 (iv e)-2.5 H 2.5(nb).25 G 2.5(ya)-2.5 G -.18(rg)-2.5 G(ument zero.).18 E
-F2(_)108 566.4 Q F0 .054
+F2(_)108 578.4 Q F0 .054
 (At shell startup, set to the absolute pathname used to in)31 F -.2(vo)
 -.4 G .255 -.1(ke t).2 H .055(he shell or shell script being e).1 F -.15
-(xe)-.15 G(cuted).15 E .692(as passed in the en)144 578.4 R .692
+(xe)-.15 G(cuted).15 E .692(as passed in the en)144 590.4 R .692
 (vironment or ar)-.4 F .691(gument list.)-.18 F(Subsequently)5.691 E
 3.191(,e)-.65 G .691(xpands to the last ar)-3.341 F .691(gument to the)
--.18 F(pre)144 590.4 Q .57(vious command, after e)-.25 F 3.07
+-.18 F(pre)144 602.4 Q .57(vious command, after e)-.25 F 3.07
 (xpansion. Also)-.15 F .571(set to the full pathname used to in)3.071 F
--.2(vo)-.4 G .771 -.1(ke e).2 H .571(ach command).1 F -.15(exe)144 602.4
+-.2(vo)-.4 G .771 -.1(ke e).2 H .571(ach command).1 F -.15(exe)144 614.4
 S 1.6(cuted and placed in the en).15 F 1.6(vironment e)-.4 F 1.6
 (xported to that command.)-.15 F 1.6(When checking mail, this)6.6 F
 (parameter holds the name of the mail \214le currently being check)144
-614.4 Q(ed.)-.1 E F2(Shell V)87 631.2 Q(ariables)-.92 E F0(The follo)108
-643.2 Q(wing v)-.25 E(ariables are set by the shell:)-.25 E F2 -.3(BA)
-108 660 S(SH).3 E F0(Expands to the full \214le name used to in)9.07 E
+626.4 Q(ed.)-.1 E F2(Shell V)87 643.2 Q(ariables)-.92 E F0(The follo)108
+655.2 Q(wing v)-.25 E(ariables are set by the shell:)-.25 E F2 -.3(BA)
+108 672 S(SH).3 E F0(Expands to the full \214lename used to in)9.07 E
 -.2(vo)-.4 G .2 -.1(ke t).2 H(his instance of).1 E F2(bash)2.5 E F0(.)A
-F2 -.3(BA)108 672 S(SHOPTS).3 E F0 2.548(Ac)144 684 S .049
+F2 -.3(BA)108 684 S(SHOPTS).3 E F0 2.548(Ac)144 696 S .049
 (olon-separated list of enabled shell options.)-2.548 F .049(Each w)
 5.049 F .049(ord in the list is a v)-.1 F .049(alid ar)-.25 F .049
-(gument for the)-.18 F F2<ad73>2.549 E F0 1.398(option to the)144 696 R
+(gument for the)-.18 F F2<ad73>2.549 E F0 1.398(option to the)144 708 R
 F2(shopt)3.898 E F0 -.2(bu)3.898 G 1.398(iltin command \(see).2 F F3
 1.398(SHELL B)3.898 F(UIL)-.09 E 1.398(TIN COMMANDS)-.828 F F0(belo)
-3.648 E 3.898(w\). The)-.25 F(options)3.898 E .476(appearing in)144 708
+3.648 E 3.898(w\). The)-.25 F(options)3.898 E .476(appearing in)144 720
 R F3 -.27(BA)2.976 G(SHOPTS).27 E F0 .476(are those reported as)2.726 F
 F1(on)3.206 E F0(by)3.217 E F2(shopt)2.977 E F0 5.477(.I)C 2.977(ft)
 -5.477 G .477(his v)-2.977 F .477(ariable is in the en)-.25 F(vironment)
--.4 E(when)144 720 Q F2(bash)3.142 E F0 .642(starts up, each shell opti\
-on in the list will be enabled before reading an)3.142 F 3.141(ys)-.15 G
-.641(tartup \214les.)-3.141 F(GNU Bash 4.2)72 768 Q(2011 July 7)151.505
-E(9)205.665 E 0 Cg EP
+-.4 E(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(9)190.115 E 0 Cg
+EP
 %%Page: 10 10
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(This v)144 84 Q(ariable is read-only)-.25 E(.)-.65 E/F1 10
-/Times-Bold@0 SF -.3(BA)108 96 S(SHPID).3 E F0 .187
-(Expands to the process ID of the current)144 108 R F1(bash)2.687 E F0
-2.688(process. This)2.688 F(dif)2.688 E .188(fers from)-.25 F F1($$)
+-.35 E(when)144 84 Q/F1 10/Times-Bold@0 SF(bash)3.142 E F0 .642(starts \
+up, each shell option in the list will be enabled before reading an)
+3.142 F 3.141(ys)-.15 G .641(tartup \214les.)-3.141 F(This v)144 96 Q
+(ariable is read-only)-.25 E(.)-.65 E F1 -.3(BA)108 108 S(SHPID).3 E F0
+.187(Expands to the process ID of the current)144 120 R F1(bash)2.687 E
+F0 2.688(process. This)2.688 F(dif)2.688 E .188(fers from)-.25 F F1($$)
 2.688 E F0 .188(under certain circum-)2.688 F
-(stances, such as subshells that do not require)144 120 Q F1(bash)2.5 E
-F0(to be re-initialized.)2.5 E F1 -.3(BA)108 132 S(SH_ALIASES).3 E F0
-1.195(An associati)144 144 R 1.495 -.15(ve a)-.25 H 1.195(rray v).15 F
+(stances, such as subshells that do not require)144 132 Q F1(bash)2.5 E
+F0(to be re-initialized.)2.5 E F1 -.3(BA)108 144 S(SH_ALIASES).3 E F0
+1.195(An associati)144 156 R 1.495 -.15(ve a)-.25 H 1.195(rray v).15 F
 1.195(ariable whose members correspond to the internal list of aliases \
-as main-)-.25 F .024(tained by the)144 156 R F1(alias)2.524 E F0 -.2(bu)
+as main-)-.25 F .024(tained by the)144 168 R F1(alias)2.524 E F0 -.2(bu)
 2.524 G 2.524(iltin. Elements).2 F .024
 (added to this array appear in the alias list; unsetting array ele-)
-2.524 F(ments cause aliases to be remo)144 168 Q -.15(ve)-.15 G 2.5(df)
-.15 G(rom the alias list.)-2.5 E F1 -.3(BA)108 180 S(SH_ARGC).3 E F0
-.935(An array v)144 192 R .935(ariable whose v)-.25 F .934
+2.524 F(ments cause aliases to be remo)144 180 Q -.15(ve)-.15 G 2.5(df)
+.15 G(rom the alias list.)-2.5 E F1 -.3(BA)108 192 S(SH_ARGC).3 E F0
+.935(An array v)144 204 R .935(ariable whose v)-.25 F .934
 (alues are the number of parameters in each frame of the current)-.25 F
-F1(bash)3.434 E F0 -.15(exe)144 204 S .535(cution call stack.).15 F .535
+F1(bash)3.434 E F0 -.15(exe)144 216 S .535(cution call stack.).15 F .535
 (The number of parameters to the current subroutine \(shell function or\
- script)5.535 F -.15(exe)144 216 S .142(cuted with).15 F F1(.)2.642 E F0
+ script)5.535 F -.15(exe)144 228 S .142(cuted with).15 F F1(.)2.642 E F0
 (or)2.642 E F1(sour)2.642 E(ce)-.18 E F0 2.642(\)i)C 2.642(sa)-2.642 G
 2.642(tt)-2.642 G .142(he top of the stack.)-2.642 F .141
 (When a subroutine is e)5.141 F -.15(xe)-.15 G .141
 (cuted, the number of).15 F 2.63(parameters passed is pushed onto)144
-228 R/F2 9/Times-Bold@0 SF -.27(BA)5.13 G(SH_ARGC).27 E/F3 9
+240 R/F2 9/Times-Bold@0 SF -.27(BA)5.13 G(SH_ARGC).27 E/F3 9
 /Times-Roman@0 SF(.)A F0 2.63(The shell sets)7.13 F F2 -.27(BA)5.131 G
-(SH_ARGC).27 E F0 2.631(only when in)4.881 F -.15(ex)144 240 S
+(SH_ARGC).27 E F0 2.631(only when in)4.881 F -.15(ex)144 252 S
 (tended deb).15 E(ugging mode \(see the description of the)-.2 E F1
 (extdeb)2.5 E(ug)-.2 E F0(option to the)2.5 E F1(shopt)2.5 E F0 -.2(bu)
-2.5 G(iltin belo).2 E(w\))-.25 E F1 -.3(BA)108 252 S(SH_ARGV).3 E F0 .98
-(An array v)144 264 R .979
+2.5 G(iltin belo).2 E(w\))-.25 E F1 -.3(BA)108 264 S(SH_ARGV).3 E F0 .98
+(An array v)144 276 R .979
 (ariable containing all of the parameters in the current)-.25 F F1(bash)
 3.479 E F0 -.15(exe)3.479 G .979(cution call stack.).15 F(The)5.979 E
 .275(\214nal parameter of the last subroutine call is at the top of the\
- stack; the \214rst parameter of the initial)144 276 R 1.424
-(call is at the bottom.)144 288 R 1.424(When a subroutine is e)6.424 F
+ stack; the \214rst parameter of the initial)144 288 R 1.424
+(call is at the bottom.)144 300 R 1.424(When a subroutine is e)6.424 F
 -.15(xe)-.15 G 1.424(cuted, the parameters supplied are pushed onto).15
-F F2 -.27(BA)144 300 S(SH_ARGV).27 E F3(.)A F0 2.197(The shell sets)
+F F2 -.27(BA)144 312 S(SH_ARGV).27 E F3(.)A F0 2.197(The shell sets)
 6.697 F F2 -.27(BA)4.697 G(SH_ARGV).27 E F0 2.197(only when in e)4.447 F
 2.197(xtended deb)-.15 F 2.197(ugging mode \(see the)-.2 F
-(description of the)144 312 Q F1(extdeb)2.5 E(ug)-.2 E F0(option to the)
+(description of the)144 324 Q F1(extdeb)2.5 E(ug)-.2 E F0(option to the)
 2.5 E F1(shopt)2.5 E F0 -.2(bu)2.5 G(iltin belo).2 E(w\))-.25 E F1 -.3
-(BA)108 324 S(SH_CMDS).3 E F0 .668(An associati)144 336 R .968 -.15
+(BA)108 336 S(SH_CMDS).3 E F0 .668(An associati)144 348 R .968 -.15
 (ve a)-.25 H .668(rray v).15 F .668(ariable whose members correspond to\
  the internal hash table of commands)-.25 F .146(as maintained by the)
-144 348 R F1(hash)2.646 E F0 -.2(bu)2.646 G 2.646(iltin. Elements).2 F
+144 360 R F1(hash)2.646 E F0 -.2(bu)2.646 G 2.646(iltin. Elements).2 F
 .146(added to this array appear in the hash table; unsetting)2.646 F
-(array elements cause commands to be remo)144 360 Q -.15(ve)-.15 G 2.5
-(df).15 G(rom the hash table.)-2.5 E F1 -.3(BA)108 372 S(SH_COMMAND).3 E
-F0 1.243(The command currently being e)144 384 R -.15(xe)-.15 G 1.243
+(array elements cause commands to be remo)144 372 Q -.15(ve)-.15 G 2.5
+(df).15 G(rom the hash table.)-2.5 E F1 -.3(BA)108 384 S(SH_COMMAND).3 E
+F0 1.243(The command currently being e)144 396 R -.15(xe)-.15 G 1.243
 (cuted or about to be e).15 F -.15(xe)-.15 G 1.242
 (cuted, unless the shell is e).15 F -.15(xe)-.15 G 1.242(cuting a).15 F
 (command as the result of a trap, in which case it is the command e)144
-396 Q -.15(xe)-.15 G(cuting at the time of the trap.).15 E F1 -.3(BA)108
-408 S(SH_EXECUTION_STRING).3 E F0(The command ar)144 420 Q
+408 Q -.15(xe)-.15 G(cuting at the time of the trap.).15 E F1 -.3(BA)108
+420 S(SH_EXECUTION_STRING).3 E F0(The command ar)144 432 Q
 (gument to the)-.18 E F1<ad63>2.5 E F0(in)2.5 E -.2(vo)-.4 G
-(cation option.).2 E F1 -.3(BA)108 432 S(SH_LINENO).3 E F0 .692
-(An array v)144 444 R .692(ariable whose members are the line numbers i\
-n source \214les where each corresponding)-.25 F .97(member of)144 456 R
+(cation option.).2 E F1 -.3(BA)108 444 S(SH_LINENO).3 E F0 .692
+(An array v)144 456 R .692(ariable whose members are the line numbers i\
+n source \214les where each corresponding)-.25 F .97(member of)144 468 R
 F2(FUNCN)3.47 E(AME)-.18 E F0 -.1(wa)3.22 G 3.47(si).1 G -1.9 -.4(nv o)
 -3.47 H -.1(ke).4 G(d.).1 E F1(${B)5.969 E(ASH_LINENO[)-.3 E/F4 10
 /Times-Italic@0 SF($i)A F1(]})A F0 .969
-(is the line number in the source)3.469 F 14.671(\214le \()144 468 R F1
+(is the line number in the source)3.469 F 14.671(\214le \()144 480 R F1
 (${B)A(ASH_SOURCE[)-.3 E F4($i+1)A F1(]})A F0 17.171(\)w)C(here)-17.171
 E F1(${FUNCN)17.172 E(AME[)-.2 E F4($i)A F1(]})A F0 -.1(wa)17.172 G
-17.172(sc).1 G 14.672(alled \(or)-17.172 F F1(${B)144 480 Q(ASH_LINENO[)
+17.172(sc).1 G 14.672(alled \(or)-17.172 F F1(${B)144 492 Q(ASH_LINENO[)
 -.3 E F4($i-1)A F1(]})A F0 .115
 (if referenced within another shell function\).)2.615 F(Use)5.115 E F2
 (LINENO)2.615 E F0 .115(to obtain the)2.365 F(current line number)144
-492 Q(.)-.55 E F1 -.3(BA)108 504 S(SH_REMA).3 E(TCH)-.95 E F0 .005
-(An array v)144 516 R .005(ariable whose members are assigned by the)
+504 Q(.)-.55 E F1 -.3(BA)108 516 S(SH_REMA).3 E(TCH)-.95 E F0 .005
+(An array v)144 528 R .005(ariable whose members are assigned by the)
 -.25 F F1(=~)2.506 E F0 .006(binary operator to the)2.506 F F1([[)2.506
-E F0 .006(conditional com-)2.506 F 2.507(mand. The)144 528 R .007
+E F0 .006(conditional com-)2.506 F 2.507(mand. The)144 540 R .007
 (element with inde)2.507 F 2.507(x0i)-.15 G 2.507(st)-2.507 G .007
 (he portion of the string matching the entire re)-2.507 F .006(gular e)
--.15 F(xpression.)-.15 E .997(The element with inde)144 540 R(x)-.15 E
+-.15 F(xpression.)-.15 E .997(The element with inde)144 552 R(x)-.15 E
 F4(n)3.497 E F0 .997(is the portion of the string matching the)3.497 F
 F4(n)3.498 E F0 .998(th parenthesized sube)B(xpres-)-.15 E 2.5
-(sion. This)144 552 R -.25(va)2.5 G(riable is read-only).25 E(.)-.65 E
-F1 -.3(BA)108 564 S(SH_SOURCE).3 E F0 .126(An array v)144 576 R .125(ar\
+(sion. This)144 564 R -.25(va)2.5 G(riable is read-only).25 E(.)-.65 E
+F1 -.3(BA)108 576 S(SH_SOURCE).3 E F0 .126(An array v)144 588 R .125(ar\
 iable whose members are the source \214lenames where the corresponding \
-shell function)-.25 F .78(names in the)144 588 R F2(FUNCN)3.28 E(AME)
+shell function)-.25 F .78(names in the)144 600 R F2(FUNCN)3.28 E(AME)
 -.18 E F0 .78(array v)3.03 F .78(ariable are de\214ned.)-.25 F .78
 (The shell function)5.78 F F1(${FUNCN)3.281 E(AME[)-.2 E F4($i)A F1(]})A
-F0(is)3.281 E(de\214ned in the \214le)144 600 Q F1(${B)2.5 E
+F0(is)3.281 E(de\214ned in the \214le)144 612 Q F1(${B)2.5 E
 (ASH_SOURCE[)-.3 E F4($i)A F1(]})A F0(and called from)2.5 E F1(${B)2.5 E
-(ASH_SOURCE[)-.3 E F4($i+1)A F1(]})A F0(.)A F1 -.3(BA)108 612 S
+(ASH_SOURCE[)-.3 E F4($i+1)A F1(]})A F0(.)A F1 -.3(BA)108 624 S
 (SH_SUBSHELL).3 E F0 .296
-(Incremented by one within each subshell or subshell en)144 624 R .296
+(Incremented by one within each subshell or subshell en)144 636 R .296
 (vironment when the shell be)-.4 F .296(gins e)-.15 F -.15(xe)-.15 G
-(cuting).15 E(in that en)144 636 Q 2.5(vironment. The)-.4 F(initial v)
-2.5 E(alue is 0.)-.25 E F1 -.3(BA)108 648 S(SH_VERSINFO).3 E F0 2.644
-(Ar)144 660 S .144(eadonly array v)-2.644 F .144
+(cuting).15 E(in that en)144 648 Q 2.5(vironment. The)-.4 F(initial v)
+2.5 E(alue is 0.)-.25 E F1 -.3(BA)108 660 S(SH_VERSINFO).3 E F0 2.644
+(Ar)144 672 S .144(eadonly array v)-2.644 F .144
 (ariable whose members hold v)-.25 F .144
 (ersion information for this instance of)-.15 F F1(bash)2.645 E F0 5.145
-(.T)C(he)-5.145 E -.25(va)144 672 S
+(.T)C(he)-5.145 E -.25(va)144 684 S
 (lues assigned to the array members are as follo).25 E(ws:)-.25 E F1 -.3
-(BA)144 690 S(SH_VERSINFO[).3 E F0(0)A F1(])A F0(The major v)24.74 E
+(BA)144 702 S(SH_VERSINFO[).3 E F0(0)A F1(])A F0(The major v)24.74 E
 (ersion number \(the)-.15 E F4 -.37(re)2.5 G(lease).37 E F0(\).)A F1 -.3
-(BA)144 702 S(SH_VERSINFO[).3 E F0(1)A F1(])A F0(The minor v)24.74 E
-(ersion number \(the)-.15 E F4(ver)2.5 E(sion)-.1 E F0(\).)A F1 -.3(BA)
-144 714 S(SH_VERSINFO[).3 E F0(2)A F1(])A F0(The patch le)24.74 E -.15
-(ve)-.25 G(l.).15 E(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(10)
-200.665 E 0 Cg EP
+(BA)144 714 S(SH_VERSINFO[).3 E F0(1)A F1(])A F0(The minor v)24.74 E
+(ersion number \(the)-.15 E F4(ver)2.5 E(sion)-.1 E F0(\).)A
+(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(10)185.115 E 0 Cg EP
 %%Page: 11 11
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF -.3(BA)144 84 S(SH_VERSINFO[).3 E F0(3)A F1
-(])A F0(The b)24.74 E(uild v)-.2 E(ersion.)-.15 E F1 -.3(BA)144 96 S
-(SH_VERSINFO[).3 E F0(4)A F1(])A F0(The release status \(e.g.,)24.74 E
-/F2 10/Times-Italic@0 SF(beta1)2.5 E F0(\).)A F1 -.3(BA)144 108 S
-(SH_VERSINFO[).3 E F0(5)A F1(])A F0(The v)24.74 E(alue of)-.25 E/F3 9
-/Times-Bold@0 SF(MA)2.5 E(CHTYPE)-.495 E/F4 9/Times-Roman@0 SF(.)A F1
--.3(BA)108 120 S(SH_VERSION).3 E F0
-(Expands to a string describing the v)144 132 Q
+-.35 E/F1 10/Times-Bold@0 SF -.3(BA)144 84 S(SH_VERSINFO[).3 E F0(2)A F1
+(])A F0(The patch le)24.74 E -.15(ve)-.25 G(l.).15 E F1 -.3(BA)144 96 S
+(SH_VERSINFO[).3 E F0(3)A F1(])A F0(The b)24.74 E(uild v)-.2 E(ersion.)
+-.15 E F1 -.3(BA)144 108 S(SH_VERSINFO[).3 E F0(4)A F1(])A F0
+(The release status \(e.g.,)24.74 E/F2 10/Times-Italic@0 SF(beta1)2.5 E
+F0(\).)A F1 -.3(BA)144 120 S(SH_VERSINFO[).3 E F0(5)A F1(])A F0(The v)
+24.74 E(alue of)-.25 E/F3 9/Times-Bold@0 SF(MA)2.5 E(CHTYPE)-.495 E/F4 9
+/Times-Roman@0 SF(.)A F1 -.3(BA)108 132 S(SH_VERSION).3 E F0
+(Expands to a string describing the v)144 144 Q
 (ersion of this instance of)-.15 E F1(bash)2.5 E F0(.)A F1(COMP_CW)108
-144 Q(ORD)-.1 E F0 .397(An inde)144 156 R 2.897(xi)-.15 G(nto)-2.897 E
+156 Q(ORD)-.1 E F0 .397(An inde)144 168 R 2.897(xi)-.15 G(nto)-2.897 E
 F1(${COMP_W)2.896 E(ORDS})-.1 E F0 .396(of the w)2.896 F .396
 (ord containing the current cursor position.)-.1 F .396(This v)5.396 F
-(ari-)-.25 E 1.18(able is a)144 168 R -.25(va)-.2 G 1.181
+(ari-)-.25 E 1.18(able is a)144 180 R -.25(va)-.2 G 1.181
 (ilable only in shell functions in).25 F -.2(vo)-.4 G -.1(ke).2 G 3.681
 (db).1 G 3.681(yt)-3.681 G 1.181(he programmable completion f)-3.681 F
-1.181(acilities \(see)-.1 F F1(Pr)144 180 Q(ogrammable Completion)-.18 E
-F0(belo)2.5 E(w\).)-.25 E F1(COMP_KEY)108 192 Q F0(The k)144 204 Q .3
+1.181(acilities \(see)-.1 F F1(Pr)144 192 Q(ogrammable Completion)-.18 E
+F0(belo)2.5 E(w\).)-.25 E F1(COMP_KEY)108 204 Q F0(The k)144 216 Q .3
 -.15(ey \()-.1 H(or \214nal k).15 E .3 -.15(ey o)-.1 H 2.5(fak).15 G .3
 -.15(ey s)-2.6 H(equence\) used to in).15 E -.2(vo)-.4 G .2 -.1(ke t).2
-H(he current completion function.).1 E F1(COMP_LINE)108 216 Q F0 1.208
-(The current command line.)144 228 R 1.208(This v)6.208 F 1.208
+H(he current completion function.).1 E F1(COMP_LINE)108 228 Q F0 1.208
+(The current command line.)144 240 R 1.208(This v)6.208 F 1.208
 (ariable is a)-.25 F -.25(va)-.2 G 1.208
 (ilable only in shell functions and e).25 F 1.207(xternal com-)-.15 F
-2.848(mands in)144 240 R -.2(vo)-.4 G -.1(ke).2 G 5.349(db).1 G 5.349
+2.848(mands in)144 252 R -.2(vo)-.4 G -.1(ke).2 G 5.349(db).1 G 5.349
 (yt)-5.349 G 2.849(he programmable completion f)-5.349 F 2.849
 (acilities \(see)-.1 F F1(Pr)5.349 E 2.849(ogrammable Completion)-.18 F
-F0(belo)144 252 Q(w\).)-.25 E F1(COMP_POINT)108 264 Q F0 .667(The inde)
-144 276 R 3.167(xo)-.15 G 3.167(ft)-3.167 G .666
+F0(belo)144 264 Q(w\).)-.25 E F1(COMP_POINT)108 276 Q F0 .667(The inde)
+144 288 R 3.167(xo)-.15 G 3.167(ft)-3.167 G .666
 (he current cursor position relati)-3.167 F .966 -.15(ve t)-.25 H 3.166
 (ot).15 G .666(he be)-3.166 F .666(ginning of the current command.)-.15
 F .666(If the)5.666 F .534
 (current cursor position is at the end of the current command, the v)144
-288 R .535(alue of this v)-.25 F .535(ariable is equal to)-.25 F F1
-(${#COMP_LINE})144 300 Q F0 7.006(.T)C 2.006(his v)-7.006 F 2.006
+300 R .535(alue of this v)-.25 F .535(ariable is equal to)-.25 F F1
+(${#COMP_LINE})144 312 Q F0 7.006(.T)C 2.006(his v)-7.006 F 2.006
 (ariable is a)-.25 F -.25(va)-.2 G 2.005
 (ilable only in shell functions and e).25 F 2.005(xternal commands)-.15
-F(in)144 312 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G
+F(in)144 324 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G
 (he programmable completion f)-2.5 E(acilities \(see)-.1 E F1(Pr)2.5 E
 (ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E F1(COMP_TYPE)108
-324 Q F0 .041(Set to an inte)144 336 R .041(ger v)-.15 F .041(alue corr\
+336 Q F0 .041(Set to an inte)144 348 R .041(ger v)-.15 F .041(alue corr\
 esponding to the type of completion attempted that caused a completion)
--.25 F .338(function to be called:)144 348 R F2 -.5(TA)2.837 G(B).5 E F0
+-.25 F .338(function to be called:)144 360 R F2 -.5(TA)2.837 G(B).5 E F0
 2.837(,f)C .337(or normal completion,)-2.837 F F2(?)2.837 E F0 2.837(,f)
 C .337(or listing completions after successi)-2.837 F .637 -.15(ve t)
--.25 H(abs,).15 E F2(!)144 360 Q F0 4.091(,f)C 1.591
+-.25 H(abs,).15 E F2(!)144 372 Q F0 4.091(,f)C 1.591
 (or listing alternati)-4.091 F -.15(ve)-.25 G 4.092(so).15 G 4.092(np)
 -4.092 G 1.592(artial w)-4.092 F 1.592(ord completion,)-.1 F F2(@)4.092
 E F0 4.092(,t)C 4.092(ol)-4.092 G 1.592(ist completions if the w)-4.092
-F 1.592(ord is not)-.1 F 1.553(unmodi\214ed, or)144 372 R F2(%)4.053 E
+F 1.592(ord is not)-.1 F 1.553(unmodi\214ed, or)144 384 R F2(%)4.053 E
 F0 4.052(,f)C 1.552(or menu completion.)-4.052 F 1.552(This v)6.552 F
 1.552(ariable is a)-.25 F -.25(va)-.2 G 1.552
-(ilable only in shell functions and).25 F -.15(ex)144 384 S 2.928
+(ilable only in shell functions and).25 F -.15(ex)144 396 S 2.928
 (ternal commands in).15 F -.2(vo)-.4 G -.1(ke).2 G 5.429(db).1 G 5.429
 (yt)-5.429 G 2.929(he programmable completion f)-5.429 F 2.929
 (acilities \(see)-.1 F F1(Pr)5.429 E(ogrammable)-.18 E(Completion)144
-396 Q F0(belo)2.5 E(w\).)-.25 E F1(COMP_W)108 408 Q(ORDBREAKS)-.1 E F0
-1.336(The set of characters that the)144 420 R F1 -.18(re)3.836 G
+408 Q F0(belo)2.5 E(w\).)-.25 E F1(COMP_W)108 420 Q(ORDBREAKS)-.1 E F0
+1.336(The set of characters that the)144 432 R F1 -.18(re)3.836 G
 (adline).18 E F0 1.336(library treats as w)3.836 F 1.335
 (ord separators when performing w)-.1 F(ord)-.1 E 3.125(completion. If)
-144 432 R F3(COMP_W)3.125 E(ORDBREAKS)-.09 E F0 .626
+144 444 R F3(COMP_W)3.125 E(ORDBREAKS)-.09 E F0 .626
 (is unset, it loses its special properties, e)2.875 F -.15(ve)-.25 G
 3.126(ni).15 G 3.126(fi)-3.126 G 3.126(ti)-3.126 G 3.126(ss)-3.126 G
-(ubse-)-3.126 E(quently reset.)144 444 Q F1(COMP_W)108 456 Q(ORDS)-.1 E
-F0 .654(An array v)144 468 R .654(ariable \(see)-.25 F F1(Arrays)3.154 E
+(ubse-)-3.126 E(quently reset.)144 456 Q F1(COMP_W)108 468 Q(ORDS)-.1 E
+F0 .654(An array v)144 480 R .654(ariable \(see)-.25 F F1(Arrays)3.154 E
 F0(belo)3.154 E .654(w\) consisting of the indi)-.25 F .653(vidual w)
--.25 F .653(ords in the current command)-.1 F 4.332(line. The)144 480 R
+-.25 F .653(ords in the current command)-.1 F 4.332(line. The)144 492 R
 1.832(line is split into w)4.332 F 1.832(ords as)-.1 F F1 -.18(re)4.332
 G(adline).18 E F0 -.1(wo)4.332 G 1.832(uld split it, using).1 F F3
 (COMP_W)4.332 E(ORDBREAKS)-.09 E F0(as)4.083 E .832(described abo)144
-492 R -.15(ve)-.15 G 5.832(.T).15 G .832(his v)-5.832 F .832
+504 R -.15(ve)-.15 G 5.832(.T).15 G .832(his v)-5.832 F .832
 (ariable is a)-.25 F -.25(va)-.2 G .831
 (ilable only in shell functions in).25 F -.2(vo)-.4 G -.1(ke).2 G 3.331
 (db).1 G 3.331(yt)-3.331 G .831(he programmable)-3.331 F(completion f)
-144 504 Q(acilities \(see)-.1 E F1(Pr)2.5 E(ogrammable Completion)-.18 E
-F0(belo)2.5 E(w\).)-.25 E F1(COPR)108 516 Q(OC)-.3 E F0 .168(An array v)
-144 528 R .168(ariable \(see)-.25 F F1(Arrays)2.668 E F0(belo)2.669 E
+144 516 Q(acilities \(see)-.1 E F1(Pr)2.5 E(ogrammable Completion)-.18 E
+F0(belo)2.5 E(w\).)-.25 E F1(COPR)108 528 Q(OC)-.3 E F0 .168(An array v)
+144 540 R .168(ariable \(see)-.25 F F1(Arrays)2.668 E F0(belo)2.669 E
 .169
 (w\) created to hold the \214le descriptors for output from and input)
--.25 F(to an unnamed coprocess \(see)144 540 Q F1(Copr)2.5 E(ocesses)
--.18 E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1(DIRST)108 552 Q -.55(AC)
--.9 G(K).55 E F0 2.26(An array v)144 564 R 2.26(ariable \(see)-.25 F F1
+-.25 F(to an unnamed coprocess \(see)144 552 Q F1(Copr)2.5 E(ocesses)
+-.18 E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1(DIRST)108 564 Q -.55(AC)
+-.9 G(K).55 E F0 2.26(An array v)144 576 R 2.26(ariable \(see)-.25 F F1
 (Arrays)4.76 E F0(belo)4.76 E 2.26
 (w\) containing the current contents of the directory stack.)-.25 F
-1.094(Directories appear in the stack in the order the)144 576 R 3.594
+1.094(Directories appear in the stack in the order the)144 588 R 3.594
 (ya)-.15 G 1.095(re displayed by the)-3.594 F F1(dirs)3.595 E F0 -.2(bu)
 3.595 G 3.595(iltin. Assigning).2 F(to)3.595 E 1.432
-(members of this array v)144 588 R 1.432
+(members of this array v)144 600 R 1.432
 (ariable may be used to modify directories already in the stack, b)-.25
-F 1.431(ut the)-.2 F F1(pushd)144 600 Q F0(and)2.746 E F1(popd)2.746 E
+F 1.431(ut the)-.2 F F1(pushd)144 612 Q F0(and)2.746 E F1(popd)2.746 E
 F0 -.2(bu)2.746 G .246(iltins must be used to add and remo).2 F .546
 -.15(ve d)-.15 H 2.746(irectories. Assignment).15 F .246(to this v)2.746
-F(ariable)-.25 E .351(will not change the current directory)144 612 R
+F(ariable)-.25 E .351(will not change the current directory)144 624 R
 5.35(.I)-.65 G(f)-5.35 E F3(DIRST)2.85 E -.495(AC)-.81 G(K).495 E F0 .35
 (is unset, it loses its special properties, e)2.6 F -.15(ve)-.25 G 2.85
-(ni).15 G(f)-2.85 E(it is subsequently reset.)144 624 Q F1(EUID)108 636
+(ni).15 G(f)-2.85 E(it is subsequently reset.)144 636 Q F1(EUID)108 648
 Q F0 1.103(Expands to the ef)11 F(fecti)-.25 E 1.403 -.15(ve u)-.25 H
 1.103(ser ID of the current user).15 F 3.603(,i)-.4 G 1.103
 (nitialized at shell startup.)-3.603 F 1.104(This v)6.103 F 1.104
-(ariable is)-.25 F(readonly)144 648 Q(.)-.65 E F1(FUNCN)108 660 Q(AME)
--.2 E F0 .479(An array v)144 672 R .479
+(ariable is)-.25 F(readonly)144 660 Q(.)-.65 E F1(FUNCN)108 672 Q(AME)
+-.2 E F0 .479(An array v)144 684 R .479
 (ariable containing the names of all shell functions currently in the e)
 -.25 F -.15(xe)-.15 G .478(cution call stack.).15 F .276
-(The element with inde)144 684 R 2.776(x0i)-.15 G 2.776(st)-2.776 G .276
+(The element with inde)144 696 R 2.776(x0i)-.15 G 2.776(st)-2.776 G .276
 (he name of an)-2.776 F 2.777(yc)-.15 G(urrently-e)-2.777 E -.15(xe)-.15
 G .277(cuting shell function.).15 F .277(The bottom-most)5.277 F .385
-(element \(the one with the highest inde)144 696 R .384(x\) is)-.15 F/F5
+(element \(the one with the highest inde)144 708 R .384(x\) is)-.15 F/F5
 10/Courier@0 SF("main")2.884 E F0 5.384(.T)C .384(his v)-5.384 F .384
-(ariable e)-.25 F .384(xists only when a shell func-)-.15 F .034
-(tion is e)144 708 R -.15(xe)-.15 G 2.534(cuting. Assignments).15 F(to)
-2.535 E F3(FUNCN)2.535 E(AME)-.18 E F0(ha)2.285 E .335 -.15(ve n)-.2 H
-2.535(oe).15 G -.25(ff)-2.535 G .035(ect and return an error status.).25
-F(If)5.035 E F3(FUNC-)2.535 E -.18(NA)144 720 S(ME).18 E F0
-(is unset, it loses its special properties, e)2.25 E -.15(ve)-.25 G 2.5
-(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)
--2.5 E(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(11)200.665 E 0 Cg EP
+(ariable e)-.25 F .384(xists only when a shell func-)-.15 F 2.215
+(tion is e)144 720 R -.15(xe)-.15 G 4.715(cuting. Assignments).15 F(to)
+4.715 E F3(FUNCN)4.715 E(AME)-.18 E F0(ha)4.465 E 2.515 -.15(ve n)-.2 H
+4.715(oe).15 G -.25(ff)-4.715 G 2.215(ect and return an error status.)
+.25 F(If)7.216 E(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(11)
+185.115 E 0 Cg EP
 %%Page: 12 12
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .111(This v)144 84 R .111(ariable can be used with)-.25 F/F1 10
-/Times-Bold@0 SF -.3(BA)2.611 G(SH_LINENO).3 E F0(and)2.611 E F1 -.3(BA)
-2.611 G(SH_SOURCE).3 E F0 5.111(.E)C .111(ach element of)-5.111 F F1
-(FUNC-)2.61 E -.2(NA)144 96 S(ME).2 E F0 1.404
-(has corresponding elements in)3.904 F F1 -.3(BA)3.904 G(SH_LINENO).3 E
-F0(and)3.904 E F1 -.3(BA)3.904 G(SH_SOURCE).3 E F0 1.404
-(to describe the)3.904 F .012(call stack.)144 108 R -.15(Fo)5.012 G
-2.512(ri).15 G(nstance,)-2.512 E F1(${FUNCN)2.512 E(AME[)-.2 E/F2 10
-/Times-Italic@0 SF($i)A F1(]})A F0 -.1(wa)2.512 G 2.512(sc).1 G .012
-(alled from the \214le)-2.512 F F1(${B)2.512 E(ASH_SOURCE[)-.3 E F2
-($i+1)A F1(]})A F0 1.183(at line number)144 120 R F1(${B)3.683 E
-(ASH_LINENO[)-.3 E F2($i)A F1(]})A F0 6.183(.T)C(he)-6.183 E F1(caller)
+-.35 E/F1 9/Times-Bold@0 SF(FUNCN)144 84 Q(AME)-.18 E F0
+(is unset, it loses its special properties, e)2.25 E -.15(ve)-.25 G 2.5
+(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)
+-2.5 E .111(This v)144 102 R .111(ariable can be used with)-.25 F/F2 10
+/Times-Bold@0 SF -.3(BA)2.611 G(SH_LINENO).3 E F0(and)2.611 E F2 -.3(BA)
+2.611 G(SH_SOURCE).3 E F0 5.111(.E)C .111(ach element of)-5.111 F F2
+(FUNC-)2.61 E -.2(NA)144 114 S(ME).2 E F0 1.404
+(has corresponding elements in)3.904 F F2 -.3(BA)3.904 G(SH_LINENO).3 E
+F0(and)3.904 E F2 -.3(BA)3.904 G(SH_SOURCE).3 E F0 1.404
+(to describe the)3.904 F .012(call stack.)144 126 R -.15(Fo)5.012 G
+2.512(ri).15 G(nstance,)-2.512 E F2(${FUNCN)2.512 E(AME[)-.2 E/F3 10
+/Times-Italic@0 SF($i)A F2(]})A F0 -.1(wa)2.512 G 2.512(sc).1 G .012
+(alled from the \214le)-2.512 F F2(${B)2.512 E(ASH_SOURCE[)-.3 E F3
+($i+1)A F2(]})A F0 1.183(at line number)144 138 R F2(${B)3.683 E
+(ASH_LINENO[)-.3 E F3($i)A F2(]})A F0 6.183(.T)C(he)-6.183 E F2(caller)
 3.683 E F0 -.2(bu)3.683 G 1.184
 (iltin displays the current call stack using).2 F(this information.)144
-132 Q F1(GR)108 144 Q(OUPS)-.3 E F0 1.229(An array v)144 156 R 1.228(ar\
+150 Q F2(GR)108 162 Q(OUPS)-.3 E F0 1.229(An array v)144 174 R 1.228(ar\
 iable containing the list of groups of which the current user is a memb\
-er)-.25 F 6.228(.A)-.55 G(ssign-)-6.228 E .596(ments to)144 168 R/F3 9
-/Times-Bold@0 SF(GR)3.096 E(OUPS)-.27 E F0(ha)2.847 E .897 -.15(ve n)-.2
-H 3.097(oe).15 G -.25(ff)-3.097 G .597(ect and return an error status.)
-.25 F(If)5.597 E F3(GR)3.097 E(OUPS)-.27 E F0 .597
-(is unset, it loses its spe-)2.847 F(cial properties, e)144 180 Q -.15
-(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G
-(ubsequently reset.)-2.5 E F1(HISTCMD)108 192 Q F0 .356
-(The history number)144 204 R 2.856(,o)-.4 G 2.856(ri)-2.856 G(nde)
--2.856 E 2.856(xi)-.15 G 2.856(nt)-2.856 G .356
-(he history list, of the current command.)-2.856 F(If)5.356 E F3
+er)-.25 F 6.228(.A)-.55 G(ssign-)-6.228 E .596(ments to)144 186 R F1(GR)
+3.096 E(OUPS)-.27 E F0(ha)2.847 E .897 -.15(ve n)-.2 H 3.097(oe).15 G
+-.25(ff)-3.097 G .597(ect and return an error status.).25 F(If)5.597 E
+F1(GR)3.097 E(OUPS)-.27 E F0 .597(is unset, it loses its spe-)2.847 F
+(cial properties, e)144 198 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G
+2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F2(HISTCMD)108 210
+Q F0 .356(The history number)144 222 R 2.856(,o)-.4 G 2.856(ri)-2.856 G
+(nde)-2.856 E 2.856(xi)-.15 G 2.856(nt)-2.856 G .356
+(he history list, of the current command.)-2.856 F(If)5.356 E F1
 (HISTCMD)2.855 E F0 .355(is unset, it)2.605 F
-(loses its special properties, e)144 216 Q -.15(ve)-.25 G 2.5(ni).15 G
-2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F1
-(HOSTN)108 228 Q(AME)-.2 E F0
-(Automatically set to the name of the current host.)144 240 Q F1
-(HOSTTYPE)108 252 Q F0 .222(Automatically set to a string that uniquely\
- describes the type of machine on which)144 264 R F1(bash)2.723 E F0
-.223(is e)2.723 F -.15(xe)-.15 G(cut-).15 E 2.5(ing. The)144 276 R(def)
-2.5 E(ault is system-dependent.)-.1 E F1(LINENO)108 288 Q F0 1.408(Each\
+(loses its special properties, e)144 234 Q -.15(ve)-.25 G 2.5(ni).15 G
+2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F2
+(HOSTN)108 246 Q(AME)-.2 E F0
+(Automatically set to the name of the current host.)144 258 Q F2
+(HOSTTYPE)108 270 Q F0 .222(Automatically set to a string that uniquely\
+ describes the type of machine on which)144 282 R F2(bash)2.723 E F0
+.223(is e)2.723 F -.15(xe)-.15 G(cut-).15 E 2.5(ing. The)144 294 R(def)
+2.5 E(ault is system-dependent.)-.1 E F2(LINENO)108 306 Q F0 1.408(Each\
  time this parameter is referenced, the shell substitutes a decimal num\
-ber representing the)144 300 R .078(current sequential line number \(st\
-arting with 1\) within a script or function.)144 312 R .079
-(When not in a script or)5.078 F .307(function, the v)144 324 R .307
+ber representing the)144 318 R .078(current sequential line number \(st\
+arting with 1\) within a script or function.)144 330 R .079
+(When not in a script or)5.078 F .307(function, the v)144 342 R .307
 (alue substituted is not guaranteed to be meaningful.)-.25 F(If)5.306 E
-F3(LINENO)2.806 E F0 .306(is unset, it loses its)2.556 F
-(special properties, e)144 336 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5
-G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F1(MA)108 348 Q
+F1(LINENO)2.806 E F0 .306(is unset, it loses its)2.556 F
+(special properties, e)144 354 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5
+G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F2(MA)108 366 Q
 (CHTYPE)-.55 E F0 .898(Automatically set to a string that fully describ\
-es the system type on which)144 360 R F1(bash)3.398 E F0 .899(is e)3.398
-F -.15(xe)-.15 G .899(cuting, in).15 F(the standard GNU)144 372 Q F2
+es the system type on which)144 378 R F2(bash)3.398 E F0 .899(is e)3.398
+F -.15(xe)-.15 G .899(cuting, in).15 F(the standard GNU)144 390 Q F3
 (cpu-company-system)2.5 E F0 2.5(format. The)2.5 F(def)2.5 E
-(ault is system-dependent.)-.1 E F1(MAPFILE)108 384 Q F0 .294
-(An array v)144 396 R .294(ariable \(see)-.25 F F1(Arrays)2.794 E F0
+(ault is system-dependent.)-.1 E F2(MAPFILE)108 402 Q F0 .294
+(An array v)144 414 R .294(ariable \(see)-.25 F F2(Arrays)2.794 E F0
 (belo)2.794 E .294(w\) created to hold the te)-.25 F .293
-(xt read by the)-.15 F F1(map\214le)2.793 E F0 -.2(bu)2.793 G .293
-(iltin when no).2 F -.25(va)144 408 S(riable name is supplied.).25 E F1
-(OLDPWD)108 420 Q F0(The pre)144 432 Q(vious w)-.25 E
-(orking directory as set by the)-.1 E F1(cd)2.5 E F0(command.)2.5 E F1
-(OPT)108 444 Q(ARG)-.9 E F0 1.626(The v)144 456 R 1.627
+(xt read by the)-.15 F F2(map\214le)2.793 E F0 -.2(bu)2.793 G .293
+(iltin when no).2 F -.25(va)144 426 S(riable name is supplied.).25 E F2
+(OLDPWD)108 438 Q F0(The pre)144 450 Q(vious w)-.25 E
+(orking directory as set by the)-.1 E F2(cd)2.5 E F0(command.)2.5 E F2
+(OPT)108 462 Q(ARG)-.9 E F0 1.626(The v)144 474 R 1.627
 (alue of the last option ar)-.25 F 1.627(gument processed by the)-.18 F
-F1(getopts)4.127 E F0 -.2(bu)4.127 G 1.627(iltin command \(see).2 F F3
-(SHELL)4.127 E -.09(BU)144 468 S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)
-2.25 E(w\).)-.25 E F1(OPTIND)108 480 Q F0 1.652(The inde)144 492 R 4.152
+F2(getopts)4.127 E F0 -.2(bu)4.127 G 1.627(iltin command \(see).2 F F1
+(SHELL)4.127 E -.09(BU)144 486 S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)
+2.25 E(w\).)-.25 E F2(OPTIND)108 498 Q F0 1.652(The inde)144 510 R 4.152
 (xo)-.15 G 4.152(ft)-4.152 G 1.652(he ne)-4.152 F 1.652(xt ar)-.15 F
-1.652(gument to be processed by the)-.18 F F1(getopts)4.151 E F0 -.2(bu)
-4.151 G 1.651(iltin command \(see).2 F F3(SHELL)4.151 E -.09(BU)144 504
-S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1(OSTYPE)108
-516 Q F0 .329(Automatically set to a string that describes the operatin\
-g system on which)144 528 R F1(bash)2.83 E F0 .33(is e)2.83 F -.15(xe)
--.15 G 2.83(cuting. The).15 F(def)144 540 Q(ault is system-dependent.)
--.1 E F1(PIPEST)108 552 Q -.95(AT)-.9 G(US).95 E F0 .61(An array v)144
-564 R .61(ariable \(see)-.25 F F1(Arrays)3.11 E F0(belo)3.11 E .61
+1.652(gument to be processed by the)-.18 F F2(getopts)4.151 E F0 -.2(bu)
+4.151 G 1.651(iltin command \(see).2 F F1(SHELL)4.151 E -.09(BU)144 522
+S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F2(OSTYPE)108
+534 Q F0 .329(Automatically set to a string that describes the operatin\
+g system on which)144 546 R F2(bash)2.83 E F0 .33(is e)2.83 F -.15(xe)
+-.15 G 2.83(cuting. The).15 F(def)144 558 Q(ault is system-dependent.)
+-.1 E F2(PIPEST)108 570 Q -.95(AT)-.9 G(US).95 E F0 .61(An array v)144
+582 R .61(ariable \(see)-.25 F F2(Arrays)3.11 E F0(belo)3.11 E .61
 (w\) containing a list of e)-.25 F .61(xit status v)-.15 F .61
-(alues from the processes in)-.25 F(the most-recently-e)144 576 Q -.15
+(alues from the processes in)-.25 F(the most-recently-e)144 594 Q -.15
 (xe)-.15 G(cuted fore).15 E
-(ground pipeline \(which may contain only a single command\).)-.15 E F1
-(PPID)108 588 Q F0(The process ID of the shell')12.67 E 2.5(sp)-.55 G
+(ground pipeline \(which may contain only a single command\).)-.15 E F2
+(PPID)108 606 Q F0(The process ID of the shell')12.67 E 2.5(sp)-.55 G
 2.5(arent. This)-2.5 F -.25(va)2.5 G(riable is readonly).25 E(.)-.65 E
-F1(PWD)108 600 Q F0(The current w)12.67 E
-(orking directory as set by the)-.1 E F1(cd)2.5 E F0(command.)2.5 E F1
-(RANDOM)108 612 Q F0 .565
-(Each time this parameter is referenced, a random inte)144 624 R .566
+F2(PWD)108 618 Q F0(The current w)12.67 E
+(orking directory as set by the)-.1 E F2(cd)2.5 E F0(command.)2.5 E F2
+(RANDOM)108 630 Q F0 .565
+(Each time this parameter is referenced, a random inte)144 642 R .566
 (ger between 0 and 32767 is generated.)-.15 F(The)5.566 E .01
-(sequence of random numbers may be initialized by assigning a v)144 636
-R .01(alue to)-.25 F F3(RANDOM)2.51 E/F4 9/Times-Roman@0 SF(.)A F0(If)
-4.51 E F3(RANDOM)2.51 E F0(is)2.26 E
-(unset, it loses its special properties, e)144 648 Q -.15(ve)-.25 G 2.5
+(sequence of random numbers may be initialized by assigning a v)144 654
+R .01(alue to)-.25 F F1(RANDOM)2.51 E/F4 9/Times-Roman@0 SF(.)A F0(If)
+4.51 E F1(RANDOM)2.51 E F0(is)2.26 E
+(unset, it loses its special properties, e)144 666 Q -.15(ve)-.25 G 2.5
 (ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)
--2.5 E F1(READLINE_LINE)108 660 Q F0 1.546(The contents of the)144 672 R
-F1 -.18(re)4.047 G(adline).18 E F0 1.547(line b)4.047 F(uf)-.2 E(fer)
+-2.5 E F2(READLINE_LINE)108 678 Q F0 1.546(The contents of the)144 690 R
+F2 -.18(re)4.047 G(adline).18 E F0 1.547(line b)4.047 F(uf)-.2 E(fer)
 -.25 E 4.047(,f)-.4 G 1.547(or use with)-4.047 F/F5 10/Courier@0 SF
-1.547(bind -x)4.047 F F0(\(see)4.047 E F3 1.547(SHELL B)4.047 F(UIL)-.09
-E 1.547(TIN COM-)-.828 F(MANDS)144 684 Q F0(belo)2.25 E(w\).)-.25 E F1
-(READLINE_POINT)108 696 Q F0 .314
-(The position of the insertion point in the)144 708 R F1 -.18(re)2.813 G
-(adline).18 E F0 .313(line b)2.813 F(uf)-.2 E(fer)-.25 E 2.813(,f)-.4 G
-.313(or use with)-2.813 F F5 .313(bind -x)2.813 F F0(\(see)2.813 E F3
-(SHELL)2.813 E -.09(BU)144 720 S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)
-2.25 E(w\).)-.25 E(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(12)
-200.665 E 0 Cg EP
+1.547(bind -x)4.047 F F0(\(see)4.047 E F1 1.547(SHELL B)4.047 F(UIL)-.09
+E 1.547(TIN COM-)-.828 F(MANDS)144 702 Q F0(belo)2.25 E(w\).)-.25 E
+(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(12)185.115 E 0 Cg EP
 %%Page: 13 13
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(REPL)108 84 Q(Y)-.92 E F0
-(Set to the line of input read by the)144 96 Q F1 -.18(re)2.5 G(ad).18 E
-F0 -.2(bu)2.5 G(iltin command when no ar).2 E(guments are supplied.)-.18
-E F1(SECONDS)108 108 Q F0 .795(Each time this parameter is referenced, \
-the number of seconds since shell in)144 120 R -.2(vo)-.4 G .795
-(cation is returned.).2 F .713(If a v)144 132 R .712
-(alue is assigned to)-.25 F/F2 9/Times-Bold@0 SF(SECONDS)3.212 E/F3 9
-/Times-Roman@0 SF(,)A F0 .712(the v)2.962 F .712
+-.35 E/F1 10/Times-Bold@0 SF(READLINE_POINT)108 84 Q F0 .314
+(The position of the insertion point in the)144 96 R F1 -.18(re)2.813 G
+(adline).18 E F0 .313(line b)2.813 F(uf)-.2 E(fer)-.25 E 2.813(,f)-.4 G
+.313(or use with)-2.813 F/F2 10/Courier@0 SF .313(bind -x)2.813 F F0
+(\(see)2.813 E/F3 9/Times-Bold@0 SF(SHELL)2.813 E -.09(BU)144 108 S(IL)
+.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1(REPL)108 120 Q
+(Y)-.92 E F0(Set to the line of input read by the)144 132 Q F1 -.18(re)
+2.5 G(ad).18 E F0 -.2(bu)2.5 G(iltin command when no ar).2 E
+(guments are supplied.)-.18 E F1(SECONDS)108 144 Q F0 .795(Each time th\
+is parameter is referenced, the number of seconds since shell in)144 156
+R -.2(vo)-.4 G .795(cation is returned.).2 F .713(If a v)144 168 R .712
+(alue is assigned to)-.25 F F3(SECONDS)3.212 E/F4 9/Times-Roman@0 SF(,)A
+F0 .712(the v)2.962 F .712
 (alue returned upon subsequent references is the number)-.25 F .407
-(of seconds since the assignment plus the v)144 144 R .408
-(alue assigned.)-.25 F(If)5.408 E F2(SECONDS)2.908 E F0 .408
-(is unset, it loses its special)2.658 F(properties, e)144 156 Q -.15(ve)
+(of seconds since the assignment plus the v)144 180 R .408
+(alue assigned.)-.25 F(If)5.408 E F3(SECONDS)2.908 E F0 .408
+(is unset, it loses its special)2.658 F(properties, e)144 192 Q -.15(ve)
 -.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G
-(ubsequently reset.)-2.5 E F1(SHELLOPTS)108 168 Q F0 3.263(Ac)144 180 S
+(ubsequently reset.)-2.5 E F1(SHELLOPTS)108 204 Q F0 3.263(Ac)144 216 S
 .763(olon-separated list of enabled shell options.)-3.263 F .763(Each w)
 5.763 F .763(ord in the list is a v)-.1 F .763(alid ar)-.25 F .763
-(gument for the)-.18 F F1<ad6f>144 192 Q F0 1.173(option to the)3.673 F
-F1(set)3.673 E F0 -.2(bu)3.673 G 1.173(iltin command \(see).2 F F2 1.174
+(gument for the)-.18 F F1<ad6f>144 228 Q F0 1.173(option to the)3.673 F
+F1(set)3.673 E F0 -.2(bu)3.673 G 1.173(iltin command \(see).2 F F3 1.174
 (SHELL B)3.674 F(UIL)-.09 E 1.174(TIN COMMANDS)-.828 F F0(belo)3.424 E
-3.674(w\). The)-.25 F(options)3.674 E .02(appearing in)144 204 R F2
-(SHELLOPTS)2.52 E F0 .019(are those reported as)2.27 F/F4 10
+3.674(w\). The)-.25 F(options)3.674 E .02(appearing in)144 240 R F3
+(SHELLOPTS)2.52 E F0 .019(are those reported as)2.27 F/F5 10
 /Times-Italic@0 SF(on)2.749 E F0(by)2.759 E F1 .019(set \255o)2.519 F F0
 5.019(.I)C 2.519(ft)-5.019 G .019(his v)-2.519 F .019
-(ariable is in the en)-.25 F(vironment)-.4 E(when)144 216 Q F1(bash)
+(ariable is in the en)-.25 F(vironment)-.4 E(when)144 252 Q F1(bash)
 3.141 E F0 .642(starts up, each shell option in the list will be enable\
 d before reading an)3.141 F 3.142(ys)-.15 G .642(tartup \214les.)-3.142
-F(This v)144 228 Q(ariable is read-only)-.25 E(.)-.65 E F1(SHL)108 240 Q
-(VL)-.92 E F0(Incremented by one each time an instance of)144 252 Q F1
-(bash)2.5 E F0(is started.)2.5 E F1(UID)108 264 Q F0
+F(This v)144 264 Q(ariable is read-only)-.25 E(.)-.65 E F1(SHL)108 276 Q
+(VL)-.92 E F0(Incremented by one each time an instance of)144 288 Q F1
+(bash)2.5 E F0(is started.)2.5 E F1(UID)108 300 Q F0
 (Expands to the user ID of the current user)17.67 E 2.5(,i)-.4 G
 (nitialized at shell startup.)-2.5 E(This v)5 E(ariable is readonly)-.25
-E(.)-.65 E .994(The follo)108 280.8 R .994(wing v)-.25 F .994
+E(.)-.65 E .994(The follo)108 316.8 R .994(wing v)-.25 F .994
 (ariables are used by the shell.)-.25 F .994(In some cases,)5.994 F F1
 (bash)3.494 E F0 .994(assigns a def)3.494 F .994(ault v)-.1 F .993
-(alue to a v)-.25 F(ariable;)-.25 E(these cases are noted belo)108 292.8
-Q -.65(w.)-.25 G F1 -.3(BA)108 309.6 S(SH_ENV).3 E F0 .505
-(If this parameter is set when)144 321.6 R F1(bash)3.005 E F0 .505(is e)
+(alue to a v)-.25 F(ariable;)-.25 E(these cases are noted belo)108 328.8
+Q -.65(w.)-.25 G F1 -.3(BA)108 345.6 S(SH_ENV).3 E F0 .505
+(If this parameter is set when)144 357.6 R F1(bash)3.005 E F0 .505(is e)
 3.005 F -.15(xe)-.15 G .506(cuting a shell script, its v).15 F .506
 (alue is interpreted as a \214lename)-.25 F .355
-(containing commands to initialize the shell, as in)144 333.6 R F4
+(containing commands to initialize the shell, as in)144 369.6 R F5
 (~/.bashr)2.855 E(c)-.37 E F0 5.354(.T).31 G .354(he v)-5.354 F .354
-(alue of)-.25 F F2 -.27(BA)2.854 G(SH_ENV).27 E F0 .354(is subjected)
-2.604 F .525(to parameter e)144 345.6 R .525
+(alue of)-.25 F F3 -.27(BA)2.854 G(SH_ENV).27 E F0 .354(is subjected)
+2.604 F .525(to parameter e)144 381.6 R .525
 (xpansion, command substitution, and arithmetic e)-.15 F .525
-(xpansion before being interpreted)-.15 F(as a \214le name.)144 357.6 Q
-F2 -.666(PA)5 G(TH)-.189 E F0
-(is not used to search for the resultant \214le name.)2.25 E F1 -.3(BA)
-108 369.6 S(SH_XTRA).3 E(CEFD)-.55 E F0 .481(If set to an inte)144 381.6
+(xpansion before being interpreted)-.15 F(as a \214lename.)144 393.6 Q
+F3 -.666(PA)5 G(TH)-.189 E F0
+(is not used to search for the resultant \214lename.)2.25 E F1 -.3(BA)
+108 405.6 S(SH_XTRA).3 E(CEFD)-.55 E F0 .481(If set to an inte)144 417.6
 R .481(ger corresponding to a v)-.15 F .481(alid \214le descriptor)-.25
 F(,)-.4 E F1(bash)2.98 E F0 .48(will write the trace output gener)2.98 F
-(-)-.2 E 3.114(ated when)144 393.6 R/F5 10/Courier@0 SF 3.114(set -x)
-5.614 F F0 3.114(is enabled to that \214le descriptor)5.614 F 8.114(.T)
--.55 G 3.114(he \214le descriptor is closed when)-8.114 F F2 -.27(BA)144
-405.6 S(SH_XTRA).27 E(CEFD)-.495 E F0 .138(is unset or assigned a ne)
-2.388 F 2.638(wv)-.25 G 2.638(alue. Unsetting)-2.888 F F2 -.27(BA)2.638
-G(SH_XTRA).27 E(CEFD)-.495 E F0 .138(or assigning it)2.388 F 2.531(the \
-empty string causes the trace output to be sent to the standard error)
-144 417.6 R 7.531(.N)-.55 G 2.531(ote that setting)-7.531 F F2 -.27(BA)
-144 429.6 S(SH_XTRA).27 E(CEFD)-.495 E F0 .74(to 2 \(the standard error\
- \214le descriptor\) and then unsetting it will result in the)2.991 F
-(standard error being closed.)144 441.6 Q F1(CDP)108 453.6 Q -.95(AT)
--.74 G(H).95 E F0 1.247(The search path for the)144 465.6 R F1(cd)3.747
+(-)-.2 E 3.114(ated when)144 429.6 R F2 3.114(set -x)5.614 F F0 3.114
+(is enabled to that \214le descriptor)5.614 F 8.114(.T)-.55 G 3.114
+(he \214le descriptor is closed when)-8.114 F F3 -.27(BA)144 441.6 S
+(SH_XTRA).27 E(CEFD)-.495 E F0 .138(is unset or assigned a ne)2.388 F
+2.638(wv)-.25 G 2.638(alue. Unsetting)-2.888 F F3 -.27(BA)2.638 G
+(SH_XTRA).27 E(CEFD)-.495 E F0 .138(or assigning it)2.388 F 2.531(the e\
+mpty string causes the trace output to be sent to the standard error)144
+453.6 R 7.531(.N)-.55 G 2.531(ote that setting)-7.531 F F3 -.27(BA)144
+465.6 S(SH_XTRA).27 E(CEFD)-.495 E F0 .74(to 2 \(the standard error \
+\214le descriptor\) and then unsetting it will result in the)2.991 F
+(standard error being closed.)144 477.6 Q F1(CDP)108 489.6 Q -.95(AT)
+-.74 G(H).95 E F0 1.247(The search path for the)144 501.6 R F1(cd)3.747
 E F0 3.747(command. This)3.747 F 1.248
 (is a colon-separated list of directories in which the)3.747 F 3.796
-(shell looks for destination directories speci\214ed by the)144 477.6 R
+(shell looks for destination directories speci\214ed by the)144 513.6 R
 F1(cd)6.295 E F0 6.295(command. A)6.295 F 3.795(sample v)6.295 F 3.795
-(alue is)-.25 F F5(".:~:/usr")144 489.6 Q F0(.)A F1(COLUMNS)108 501.6 Q
-F0 .828(Used by the)144 513.6 R F1(select)3.328 E F0 .829(compound comm\
+(alue is)-.25 F F2(".:~:/usr")144 525.6 Q F0(.)A F1(COLUMNS)108 537.6 Q
+F0 .828(Used by the)144 549.6 R F1(select)3.328 E F0 .829(compound comm\
 and to determine the terminal width when printing selection)3.328 F 2.5
-(lists. Automatically)144 525.6 R(set in an interacti)2.5 E .3 -.15
-(ve s)-.25 H(hell upon receipt of a).15 E F2(SIGWINCH)2.5 E F3(.)A F1
-(COMPREPL)108 537.6 Q(Y)-.92 E F0 .848(An array v)144 549.6 R .848
+(lists. Automatically)144 561.6 R(set in an interacti)2.5 E .3 -.15
+(ve s)-.25 H(hell upon receipt of a).15 E F3(SIGWINCH)2.5 E F4(.)A F1
+(COMPREPL)108 573.6 Q(Y)-.92 E F0 .848(An array v)144 585.6 R .848
 (ariable from which)-.25 F F1(bash)3.348 E F0 .848
 (reads the possible completions generated by a shell function)3.348 F
-(in)144 561.6 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G
+(in)144 597.6 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G
 (he programmable completion f)-2.5 E(acility \(see)-.1 E F1(Pr)2.5 E
-(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E F1(EMA)108 573.6
-Q(CS)-.55 E F0(If)144 585.6 Q F1(bash)2.535 E F0 .035(\214nds this v)
+(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E F1(EMA)108 609.6
+Q(CS)-.55 E F0(If)144 621.6 Q F1(bash)2.535 E F0 .035(\214nds this v)
 2.535 F .035(ariable in the en)-.25 F .036
-(vironment when the shell starts with v)-.4 F(alue)-.25 E F5(t)2.536 E
+(vironment when the shell starts with v)-.4 F(alue)-.25 E F2(t)2.536 E
 F0 2.536(,i)C 2.536(ta)-2.536 G .036(ssumes that the)-2.536 F
-(shell is running in an Emacs shell b)144 597.6 Q(uf)-.2 E
-(fer and disables line editing.)-.25 E F1(ENV)108 609.6 Q F0(Similar to)
-14.89 E F2 -.27(BA)2.5 G(SH_ENV).27 E F3(;)A F0
+(shell is running in an Emacs shell b)144 633.6 Q(uf)-.2 E
+(fer and disables line editing.)-.25 E F1(ENV)108 645.6 Q F0(Similar to)
+14.89 E F3 -.27(BA)2.5 G(SH_ENV).27 E F4(;)A F0
 (used when the shell is in)2.25 E -.2(vo)-.4 G -.1(ke).2 G 2.5(di).1 G
-2.5(nP)-2.5 G(OSIX mode.)-2.5 E F1(FCEDIT)108 621.6 Q F0(The def)144
-633.6 Q(ault editor for the)-.1 E F1(fc)2.5 E F0 -.2(bu)2.5 G
-(iltin command.).2 E F1(FIGNORE)108 645.6 Q F0 2.599(Ac)144 657.6 S .098
+2.5(nP)-2.5 G(OSIX mode.)-2.5 E F1(FCEDIT)108 657.6 Q F0(The def)144
+669.6 Q(ault editor for the)-.1 E F1(fc)2.5 E F0 -.2(bu)2.5 G
+(iltin command.).2 E F1(FIGNORE)108 681.6 Q F0 2.599(Ac)144 693.6 S .098
 (olon-separated list of suf)-2.599 F<8c78>-.25 E .098
-(es to ignore when performing \214lename completion \(see)-.15 F F2
-(READLINE)2.598 E F0(belo)144 669.6 Q 2.704(w\). A)-.25 F .204
+(es to ignore when performing \214lename completion \(see)-.15 F F3
+(READLINE)2.598 E F0(belo)144 705.6 Q 2.704(w\). A)-.25 F .204
 (\214lename whose suf)2.704 F .205(\214x matches one of the entries in)
--.25 F F2(FIGNORE)2.705 E F0 .205(is e)2.455 F .205
-(xcluded from the list)-.15 F(of matched \214lenames.)144 681.6 Q 2.5
-(As)5 G(ample v)-2.5 E(alue is)-.25 E F5(".o:~")2.5 E F0(.)A F1
-(FUNCNEST)108 693.6 Q F0 1.78(If set to a numeric v)144 705.6 R 1.78
-(alue greater than 0, de\214nes a maximum function nesting le)-.25 F
--.15(ve)-.25 G 4.28(l. Function).15 F(in)144 717.6 Q -.2(vo)-.4 G
-(cations that e).2 E(xceed this nesting le)-.15 E -.15(ve)-.25 G 2.5(lw)
-.15 G(ill cause the current command to abort.)-2.5 E(GNU Bash 4.2)72 768
-Q(2011 July 7)151.505 E(13)200.665 E 0 Cg EP
+-.25 F F3(FIGNORE)2.705 E F0 .205(is e)2.455 F .205
+(xcluded from the list)-.15 F(of matched \214lenames.)144 717.6 Q 2.5
+(As)5 G(ample v)-2.5 E(alue is)-.25 E F2(".o:~")2.5 E F0(.)A
+(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(13)185.115 E 0 Cg EP
 %%Page: 14 14
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(GLOBIGNORE)108 84 Q F0 3.118(Ac)144 96 S
-.618(olon-separated list of patterns de\214ning the set of \214lenames \
-to be ignored by pathname e)-3.118 F(xpan-)-.15 E 3.132(sion. If)144 108
-R 3.132<618c>3.132 G .632(lename matched by a pathname e)-3.132 F .632
+-.35 E/F1 10/Times-Bold@0 SF(FUNCNEST)108 84 Q F0 1.78
+(If set to a numeric v)144 96 R 1.78
+(alue greater than 0, de\214nes a maximum function nesting le)-.25 F
+-.15(ve)-.25 G 4.28(l. Function).15 F(in)144 108 Q -.2(vo)-.4 G
+(cations that e).2 E(xceed this nesting le)-.15 E -.15(ve)-.25 G 2.5(lw)
+.15 G(ill cause the current command to abort.)-2.5 E F1(GLOBIGNORE)108
+120 Q F0 3.118(Ac)144 132 S .618(olon-separated list of patterns de\214\
+ning the set of \214lenames to be ignored by pathname e)-3.118 F(xpan-)
+-.15 E 3.132(sion. If)144 144 R 3.132<618c>3.132 G .632
+(lename matched by a pathname e)-3.132 F .632
 (xpansion pattern also matches one of the patterns in)-.15 F/F2 9
-/Times-Bold@0 SF(GLOBIGNORE)144 120 Q/F3 9/Times-Roman@0 SF(,)A F0
+/Times-Bold@0 SF(GLOBIGNORE)144 156 Q/F3 9/Times-Roman@0 SF(,)A F0
 (it is remo)2.25 E -.15(ve)-.15 G 2.5(df).15 G(rom the list of matches.)
--2.5 E F1(HISTCONTR)108 132 Q(OL)-.3 E F0 2.653(Ac)144 144 S .153
+-2.5 E F1(HISTCONTR)108 168 Q(OL)-.3 E F0 2.653(Ac)144 180 S .153
 (olon-separated list of v)-2.653 F .153(alues controlling ho)-.25 F
 2.653(wc)-.25 G .153(ommands are sa)-2.653 F -.15(ve)-.2 G 2.653(do).15
 G 2.653(nt)-2.653 G .153(he history list.)-2.653 F .154(If the list)
-5.153 F .491(of v)144 156 R .491(alues includes)-.25 F/F4 10
+5.153 F .491(of v)144 192 R .491(alues includes)-.25 F/F4 10
 /Times-Italic@0 SF(ignor)2.991 E(espace)-.37 E F0 2.991(,l).18 G .491
 (ines which be)-2.991 F .491(gin with a)-.15 F F1(space)2.991 E F0 .49
 (character are not sa)2.991 F -.15(ve)-.2 G 2.99(di).15 G 2.99(nt)-2.99
-G .49(he his-)-2.99 F .557(tory list.)144 168 R 3.057(Av)5.557 G .557
+G .49(he his-)-2.99 F .557(tory list.)144 204 R 3.057(Av)5.557 G .557
 (alue of)-3.307 F F4(ignor)3.067 E(edups)-.37 E F0 .557
 (causes lines matching the pre)3.327 F .558
 (vious history entry to not be sa)-.25 F -.15(ve)-.2 G(d.).15 E 2.959
-(Av)144 180 S .459(alue of)-3.209 F F4(ignor)2.969 E(eboth)-.37 E F0
+(Av)144 216 S .459(alue of)-3.209 F F4(ignor)2.969 E(eboth)-.37 E F0
 .459(is shorthand for)3.239 F F4(ignor)2.959 E(espace)-.37 E F0(and)
 2.959 E F4(ignor)2.958 E(edups)-.37 E F0 5.458(.A)C -.25(va)-2.5 G .458
 (lue of).25 F F4(er)2.958 E(asedups)-.15 E F0(causes)2.958 E .698
-(all pre)144 192 R .698
+(all pre)144 228 R .698
 (vious lines matching the current line to be remo)-.25 F -.15(ve)-.15 G
 3.198(df).15 G .699(rom the history list before that line is)-3.198 F
-(sa)144 204 Q -.15(ve)-.2 G 2.764(d. An).15 F 2.764(yv)-.15 G .264
+(sa)144 240 Q -.15(ve)-.2 G 2.764(d. An).15 F 2.764(yv)-.15 G .264
 (alue not in the abo)-3.014 F .563 -.15(ve l)-.15 H .263
 (ist is ignored.).15 F(If)5.263 E F2(HISTCONTR)2.763 E(OL)-.27 E F0 .263
-(is unset, or does not include)2.513 F 2.941(av)144 216 S .441(alid v)
+(is unset, or does not include)2.513 F 2.941(av)144 252 S .441(alid v)
 -3.191 F .441(alue, all lines read by the shell parser are sa)-.25 F
 -.15(ve)-.2 G 2.942(do).15 G 2.942(nt)-2.942 G .442
 (he history list, subject to the v)-2.942 F .442(alue of)-.25 F F2
-(HISTIGNORE)144 228 Q F3(.)A F0 1.981(The second and subsequent lines o\
+(HISTIGNORE)144 264 Q F3(.)A F0 1.981(The second and subsequent lines o\
 f a multi-line compound command are not)6.482 F
-(tested, and are added to the history re)144 240 Q -.05(ga)-.15 G
+(tested, and are added to the history re)144 276 Q -.05(ga)-.15 G
 (rdless of the v).05 E(alue of)-.25 E F2(HISTCONTR)2.5 E(OL)-.27 E F3(.)
-A F1(HISTFILE)108 252 Q F0 .181
-(The name of the \214le in which command history is sa)144 264 R -.15
+A F1(HISTFILE)108 288 Q F0 .181
+(The name of the \214le in which command history is sa)144 300 R -.15
 (ve)-.2 G 2.681(d\().15 G(see)-2.681 E F2(HIST)2.681 E(OR)-.162 E(Y)
 -.315 E F0(belo)2.431 E 2.682(w\). The)-.25 F(def)2.682 E .182(ault v)
--.1 F(alue)-.25 E(is)144 276 Q F4(~/.bash_history)2.5 E F0 5(.I)C 2.5
+-.1 F(alue)-.25 E(is)144 312 Q F4(~/.bash_history)2.5 E F0 5(.I)C 2.5
 (fu)-5 G(nset, the command history is not sa)-2.5 E -.15(ve)-.2 G 2.5
 (dw).15 G(hen an interacti)-2.5 E .3 -.15(ve s)-.25 H(hell e).15 E
-(xits.)-.15 E F1(HISTFILESIZE)108 288 Q F0 1.623
-(The maximum number of lines contained in the history \214le.)144 300 R
+(xits.)-.15 E F1(HISTFILESIZE)108 324 Q F0 1.623
+(The maximum number of lines contained in the history \214le.)144 336 R
 1.622(When this v)6.623 F 1.622(ariable is assigned a)-.25 F -.25(va)144
-312 S .305(lue, the history \214le is truncated, if necessary).25 F
+348 S .305(lue, the history \214le is truncated, if necessary).25 F
 2.805(,b)-.65 G 2.805(yr)-2.805 G(emo)-2.805 E .305
 (ving the oldest entries, to contain no more)-.15 F .602
-(than that number of lines.)144 324 R .602(The def)5.602 F .602(ault v)
+(than that number of lines.)144 360 R .602(The def)5.602 F .602(ault v)
 -.1 F .602(alue is 500.)-.25 F .601
 (The history \214le is also truncated to this size)5.602 F
-(after writing it when an interacti)144 336 Q .3 -.15(ve s)-.25 H
-(hell e).15 E(xits.)-.15 E F1(HISTIGNORE)108 348 Q F0 2.657(Ac)144 360 S
+(after writing it when an interacti)144 372 Q .3 -.15(ve s)-.25 H
+(hell e).15 E(xits.)-.15 E F1(HISTIGNORE)108 384 Q F0 2.657(Ac)144 396 S
 .157(olon-separated list of patterns used to decide which command lines\
  should be sa)-2.657 F -.15(ve)-.2 G 2.658(do).15 G 2.658(nt)-2.658 G
-.158(he his-)-2.658 F .708(tory list.)144 372 R .708
+.158(he his-)-2.658 F .708(tory list.)144 408 R .708
 (Each pattern is anchored at the be)5.708 F .707
 (ginning of the line and must match the complete line)-.15 F .625
-(\(no implicit `)144 384 R F1(*)A F0 3.125('i)C 3.125(sa)-3.125 G 3.125
+(\(no implicit `)144 420 R F1(*)A F0 3.125('i)C 3.125(sa)-3.125 G 3.125
 (ppended\). Each)-3.125 F .626(pattern is tested ag)3.125 F .626
 (ainst the line after the checks speci\214ed by)-.05 F F2(HISTCONTR)144
-396 Q(OL)-.27 E F0 1.793(are applied.)4.043 F 1.793
+432 Q(OL)-.27 E F0 1.793(are applied.)4.043 F 1.793
 (In addition to the normal shell pattern matching characters, `)6.793 F
-F1(&)A F0(')A 2.514(matches the pre)144 408 R 2.514(vious history line.)
+F1(&)A F0(')A 2.514(matches the pre)144 444 R 2.514(vious history line.)
 -.25 F(`)7.514 E F1(&)A F0 5.014('m)C 2.514
-(ay be escaped using a backslash; the backslash is)-5.014 F(remo)144 420
+(ay be escaped using a backslash; the backslash is)-5.014 F(remo)144 456
 Q -.15(ve)-.15 G 3.353(db).15 G .853(efore attempting a match.)-3.353 F
 .852(The second and subsequent lines of a multi-line compound)5.852 F
-(command are not tested, and are added to the history re)144 432 Q -.05
+(command are not tested, and are added to the history re)144 468 Q -.05
 (ga)-.15 G(rdless of the v).05 E(alue of)-.25 E F2(HISTIGNORE)2.5 E F3
-(.)A F1(HISTSIZE)108 444 Q F0 1.942
-(The number of commands to remember in the command history \(see)144 456
+(.)A F1(HISTSIZE)108 480 Q F0 1.942
+(The number of commands to remember in the command history \(see)144 492
 R F2(HIST)4.443 E(OR)-.162 E(Y)-.315 E F0(belo)4.193 E 4.443(w\). The)
--.25 F(def)144 468 Q(ault v)-.1 E(alue is 500.)-.25 E F1(HISTTIMEFORMA)
-108 480 Q(T)-.95 E F0 .952(If this v)144 492 R .952
+-.25 F(def)144 504 Q(ault v)-.1 E(alue is 500.)-.25 E F1(HISTTIMEFORMA)
+108 516 Q(T)-.95 E F0 .952(If this v)144 528 R .952
 (ariable is set and not null, its v)-.25 F .951
 (alue is used as a format string for)-.25 F F4(strftime)3.451 E F0 .951
 (\(3\) to print the)B .672
-(time stamp associated with each history entry displayed by the)144 504
+(time stamp associated with each history entry displayed by the)144 540
 R F1(history)3.173 E F0 -.2(bu)3.173 G 3.173(iltin. If).2 F .673(this v)
 3.173 F .673(ariable is)-.25 F .144
-(set, time stamps are written to the history \214le so the)144 516 R
+(set, time stamps are written to the history \214le so the)144 552 R
 2.644(ym)-.15 G .144(ay be preserv)-2.644 F .144
 (ed across shell sessions.)-.15 F(This)5.144 E(uses the history comment\
- character to distinguish timestamps from other history lines.)144 528 Q
-F1(HOME)108 540 Q F0 1.27
-(The home directory of the current user; the def)144 552 R 1.27(ault ar)
+ character to distinguish timestamps from other history lines.)144 564 Q
+F1(HOME)108 576 Q F0 1.27
+(The home directory of the current user; the def)144 588 R 1.27(ault ar)
 -.1 F 1.27(gument for the)-.18 F F1(cd)3.77 E F0 -.2(bu)3.77 G 1.27
-(iltin command.).2 F(The)6.27 E -.25(va)144 564 S(lue of this v).25 E
+(iltin command.).2 F(The)6.27 E -.25(va)144 600 S(lue of this v).25 E
 (ariable is also used when performing tilde e)-.25 E(xpansion.)-.15 E F1
-(HOSTFILE)108 576 Q F0 1.015
-(Contains the name of a \214le in the same format as)144 588 R F4
+(HOSTFILE)108 612 Q F0 1.015
+(Contains the name of a \214le in the same format as)144 624 R F4
 (/etc/hosts)5.181 E F0 1.015(that should be read when the shell)5.181 F
-.55(needs to complete a hostname.)144 600 R .551
+.55(needs to complete a hostname.)144 636 R .551
 (The list of possible hostname completions may be changed while)5.551 F
-1.059(the shell is running; the ne)144 612 R 1.059
+1.059(the shell is running; the ne)144 648 R 1.059
 (xt time hostname completion is attempted after the v)-.15 F 1.058
-(alue is changed,)-.25 F F1(bash)144 624 Q F0 .138
+(alue is changed,)-.25 F F1(bash)144 660 Q F0 .138
 (adds the contents of the ne)2.638 F 2.638<778c>-.25 G .138(le to the e)
 -2.638 F .138(xisting list.)-.15 F(If)5.138 E F2(HOSTFILE)2.638 E F0
 .138(is set, b)2.388 F .139(ut has no v)-.2 F .139(alue, or)-.25 F .518
-(does not name a readable \214le,)144 636 R F1(bash)3.018 E F0 .518
+(does not name a readable \214le,)144 672 R F1(bash)3.018 E F0 .518
 (attempts to read)3.018 F F4(/etc/hosts)4.683 E F0 .517
-(to obtain the list of possible host-)4.683 F(name completions.)144 648
+(to obtain the list of possible host-)4.683 F(name completions.)144 684
 Q(When)5 E F2(HOSTFILE)2.5 E F0(is unset, the hostname list is cleared.)
-2.25 E F1(IFS)108 660 Q F0(The)20.44 E F4 .555(Internal F)3.635 F .555
+2.25 E F1(IFS)108 696 Q F0(The)20.44 E F4 .555(Internal F)3.635 F .555
 (ield Separ)-.45 F(ator)-.15 E F0 .555(that is used for w)3.785 F .556
 (ord splitting after e)-.1 F .556(xpansion and to split lines into)-.15
-F -.1(wo)144 672 S(rds with the).1 E F1 -.18(re)2.5 G(ad).18 E F0 -.2
+F -.1(wo)144 708 S(rds with the).1 E F1 -.18(re)2.5 G(ad).18 E F0 -.2
 (bu)2.5 G(iltin command.).2 E(The def)5 E(ault v)-.1 E(alue is `)-.25 E
-(`<space><tab><ne)-.74 E(wline>')-.25 E('.)-.74 E F1(IGNOREEOF)108 684 Q
-F0 .503(Controls the action of an interacti)144 696 R .803 -.15(ve s)
--.25 H .503(hell on receipt of an).15 F F2(EOF)3.003 E F0 .503
-(character as the sole input.)2.753 F .503(If set,)5.503 F .426(the v)
-144 708 R .426(alue is the number of consecuti)-.25 F -.15(ve)-.25 G F2
-(EOF)3.076 E F0 .426
-(characters which must be typed as the \214rst characters)2.676 F .303
-(on an input line before)144 720 R F1(bash)2.802 E F0 -.15(ex)2.802 G
-2.802(its. If).15 F .302(the v)2.802 F .302(ariable e)-.25 F .302
-(xists b)-.15 F .302(ut does not ha)-.2 F .602 -.15(ve a n)-.2 H .302
-(umeric v).15 F .302(alue, or has)-.25 F(GNU Bash 4.2)72 768 Q
-(2011 July 7)151.505 E(14)200.665 E 0 Cg EP
+(`<space><tab><ne)-.74 E(wline>')-.25 E('.)-.74 E(GNU Bash 4.2)72 768 Q
+(2011 September 25)135.955 E(14)185.115 E 0 Cg EP
 %%Page: 15 15
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(no v)144 84 Q(alue, the def)-.25 E(ault v)-.1 E(alue is 10.)-.25
-E(If it does not e)5 E(xist,)-.15 E/F1 9/Times-Bold@0 SF(EOF)2.5 E F0
-(signi\214es the end of input to the shell.)2.25 E/F2 10/Times-Bold@0 SF
-(INPUTRC)108 96 Q F0 1.435(The \214lename for the)144 108 R F2 -.18(re)
+-.35 E/F1 10/Times-Bold@0 SF(IGNOREEOF)108 84 Q F0 .503
+(Controls the action of an interacti)144 96 R .803 -.15(ve s)-.25 H .503
+(hell on receipt of an).15 F/F2 9/Times-Bold@0 SF(EOF)3.003 E F0 .503
+(character as the sole input.)2.753 F .503(If set,)5.503 F .426(the v)
+144 108 R .426(alue is the number of consecuti)-.25 F -.15(ve)-.25 G F2
+(EOF)3.076 E F0 .426
+(characters which must be typed as the \214rst characters)2.676 F .303
+(on an input line before)144 120 R F1(bash)2.802 E F0 -.15(ex)2.802 G
+2.802(its. If).15 F .302(the v)2.802 F .302(ariable e)-.25 F .302
+(xists b)-.15 F .302(ut does not ha)-.2 F .602 -.15(ve a n)-.2 H .302
+(umeric v).15 F .302(alue, or has)-.25 F(no v)144 132 Q(alue, the def)
+-.25 E(ault v)-.1 E(alue is 10.)-.25 E(If it does not e)5 E(xist,)-.15 E
+F2(EOF)2.5 E F0(signi\214es the end of input to the shell.)2.25 E F1
+(INPUTRC)108 144 Q F0 1.435(The \214lename for the)144 156 R F1 -.18(re)
 3.936 G(adline).18 E F0 1.436(startup \214le, o)3.936 F -.15(ve)-.15 G
 1.436(rriding the def).15 F 1.436(ault of)-.1 F/F3 10/Times-Italic@0 SF
-(~/.inputr)5.602 E(c)-.37 E F0(\(see)5.602 E F1(READLINE)3.936 E F0
-(belo)144 120 Q(w\).)-.25 E F2(LANG)108 132 Q F0 1.24
+(~/.inputr)5.602 E(c)-.37 E F0(\(see)5.602 E F2(READLINE)3.936 E F0
+(belo)144 168 Q(w\).)-.25 E F1(LANG)108 180 Q F0 1.24
 (Used to determine the locale cate)7.11 F 1.239(gory for an)-.15 F 3.739
 (yc)-.15 G(ate)-3.739 E 1.239(gory not speci\214cally selected with a v)
--.15 F(ariable)-.25 E(starting with)144 144 Q F2(LC_)2.5 E F0(.)A F2
-(LC_ALL)108 156 Q F0 .973(This v)144 168 R .973(ariable o)-.25 F -.15
-(ve)-.15 G .973(rrides the v).15 F .973(alue of)-.25 F F1(LANG)3.473 E
-F0 .973(and an)3.223 F 3.473(yo)-.15 G(ther)-3.473 E F2(LC_)3.473 E F0
--.25(va)3.473 G .974(riable specifying a locale cate-).25 F(gory)144 180
-Q(.)-.65 E F2(LC_COLLA)108 192 Q(TE)-.95 E F0 .412(This v)144 204 R .412
+-.15 F(ariable)-.25 E(starting with)144 192 Q F1(LC_)2.5 E F0(.)A F1
+(LC_ALL)108 204 Q F0 .973(This v)144 216 R .973(ariable o)-.25 F -.15
+(ve)-.15 G .973(rrides the v).15 F .973(alue of)-.25 F F2(LANG)3.473 E
+F0 .973(and an)3.223 F 3.473(yo)-.15 G(ther)-3.473 E F1(LC_)3.473 E F0
+-.25(va)3.473 G .974(riable specifying a locale cate-).25 F(gory)144 228
+Q(.)-.65 E F1(LC_COLLA)108 240 Q(TE)-.95 E F0 .412(This v)144 252 R .412
 (ariable determines the collation order used when sorting the results o\
 f pathname e)-.25 F(xpansion,)-.15 E 1.464(and determines the beha)144
-216 R 1.464(vior of range e)-.2 F 1.465(xpressions, equi)-.15 F -.25(va)
+264 R 1.464(vior of range e)-.2 F 1.465(xpressions, equi)-.15 F -.25(va)
 -.25 G 1.465(lence classes, and collating sequences).25 F
-(within pathname e)144 228 Q(xpansion and pattern matching.)-.15 E F2
-(LC_CTYPE)108 240 Q F0 1.936(This v)144 252 R 1.936
+(within pathname e)144 276 Q(xpansion and pattern matching.)-.15 E F1
+(LC_CTYPE)108 288 Q F0 1.936(This v)144 300 R 1.936
 (ariable determines the interpretation of characters and the beha)-.25 F
-1.935(vior of character classes)-.2 F(within pathname e)144 264 Q
-(xpansion and pattern matching.)-.15 E F2(LC_MESSA)108 276 Q(GES)-.55 E
-F0(This v)144 288 Q(ariable determines the locale used to translate dou\
-ble-quoted strings preceded by a)-.25 E F2($)2.5 E F0(.)A F2(LC_NUMERIC)
-108 300 Q F0(This v)144 312 Q(ariable determines the locale cate)-.25 E
-(gory used for number formatting.)-.15 E F2(LINES)108 324 Q F0 .054
-(Used by the)5.99 F F2(select)2.554 E F0 .054(compound command to deter\
+1.935(vior of character classes)-.2 F(within pathname e)144 312 Q
+(xpansion and pattern matching.)-.15 E F1(LC_MESSA)108 324 Q(GES)-.55 E
+F0(This v)144 336 Q(ariable determines the locale used to translate dou\
+ble-quoted strings preceded by a)-.25 E F1($)2.5 E F0(.)A F1(LC_NUMERIC)
+108 348 Q F0(This v)144 360 Q(ariable determines the locale cate)-.25 E
+(gory used for number formatting.)-.15 E F1(LINES)108 372 Q F0 .054
+(Used by the)5.99 F F1(select)2.554 E F0 .054(compound command to deter\
 mine the column length for printing selection lists.)2.554 F
-(Automatically set by an interacti)144 336 Q .3 -.15(ve s)-.25 H
-(hell upon receipt of a).15 E F1(SIGWINCH)2.5 E/F4 9/Times-Roman@0 SF(.)
-A F2(MAIL)108 348 Q F0 1.201
+(Automatically set by an interacti)144 384 Q .3 -.15(ve s)-.25 H
+(hell upon receipt of a).15 E F2(SIGWINCH)2.5 E/F4 9/Times-Roman@0 SF(.)
+A F1(MAIL)108 396 Q F0 1.201
 (If this parameter is set to a \214le or directory name and the)8.78 F
-F1(MAILP)3.701 E -.855(AT)-.666 G(H).855 E F0 -.25(va)3.451 G 1.201
-(riable is not set,).25 F F2(bash)3.701 E F0
-(informs the user of the arri)144 360 Q -.25(va)-.25 G 2.5(lo).25 G 2.5
+F2(MAILP)3.701 E -.855(AT)-.666 G(H).855 E F0 -.25(va)3.451 G 1.201
+(riable is not set,).25 F F1(bash)3.701 E F0
+(informs the user of the arri)144 408 Q -.25(va)-.25 G 2.5(lo).25 G 2.5
 (fm)-2.5 G(ail in the speci\214ed \214le or Maildir)-2.5 E
-(-format directory)-.2 E(.)-.65 E F2(MAILCHECK)108 372 Q F0 .098
-(Speci\214es ho)144 384 R 2.598(wo)-.25 G .098(ften \(in seconds\))
--2.598 F F2(bash)2.598 E F0 .098(checks for mail.)2.598 F .098(The def)
+(-format directory)-.2 E(.)-.65 E F1(MAILCHECK)108 420 Q F0 .098
+(Speci\214es ho)144 432 R 2.598(wo)-.25 G .098(ften \(in seconds\))
+-2.598 F F1(bash)2.598 E F0 .098(checks for mail.)2.598 F .098(The def)
 5.098 F .098(ault is 60 seconds.)-.1 F .099(When it is time)5.099 F .224
 (to check for mail, the shell does so before displaying the primary pro\
-mpt.)144 396 R .223(If this v)5.223 F .223(ariable is unset,)-.25 F .066
-(or set to a v)144 408 R .066(alue that is not a number greater than or\
- equal to zero, the shell disables mail checking.)-.25 F F2(MAILP)108
-420 Q -.95(AT)-.74 G(H).95 E F0 2.815(Ac)144 432 S .314
-(olon-separated list of \214le names to be check)-2.815 F .314
-(ed for mail.)-.1 F .314(The message to be printed when mail)5.314 F
-(arri)144 444 Q -.15(ve)-.25 G 3.42(si).15 G 3.42(nap)-3.42 G .92(artic\
-ular \214le may be speci\214ed by separating the \214le name from the m\
-essage with a)-3.42 F 2.808(`?'. When)144 456 R .308(used in the te)
-2.808 F .308(xt of the message,)-.15 F F2($_)2.808 E F0 -.15(ex)2.808 G
-.308(pands to the name of the current mail\214le.).15 F(Exam-)5.307 E
-(ple:)144 468 Q F2(MAILP)144 480 Q -.95(AT)-.74 G(H).95 E F0(=\010/v)A
-(ar/mail/bfox?"Y)-.25 E(ou ha)-1.1 E .3 -.15(ve m)-.2 H
-(ail":~/shell\255mail?"$_ has mail!"\010).15 E F2(Bash)144 492 Q F0 .388
-(supplies a def)2.888 F .388(ault v)-.1 F .388(alue for this v)-.25 F
-.388(ariable, b)-.25 F .389
+mpt.)144 444 R .223(If this v)5.223 F .223(ariable is unset,)-.25 F .066
+(or set to a v)144 456 R .066(alue that is not a number greater than or\
+ equal to zero, the shell disables mail checking.)-.25 F F1(MAILP)108
+468 Q -.95(AT)-.74 G(H).95 E F0 2.99(Ac)144 480 S .49
+(olon-separated list of \214lenames to be check)-2.99 F .49
+(ed for mail.)-.1 F .49(The message to be printed when mail)5.49 F(arri)
+144 492 Q -.15(ve)-.25 G 2.62(si).15 G 2.62(nap)-2.62 G .12(articular \
+\214le may be speci\214ed by separating the \214lename from the message\
+ with a `?'.)-2.62 F(When used in the te)144 504 Q(xt of the message,)
+-.15 E F1($_)2.5 E F0 -.15(ex)2.5 G
+(pands to the name of the current mail\214le.).15 E(Example:)5 E F1
+(MAILP)144 516 Q -.95(AT)-.74 G(H).95 E F0(=\010/v)A(ar/mail/bfox?"Y)
+-.25 E(ou ha)-1.1 E .3 -.15(ve m)-.2 H
+(ail":~/shell\255mail?"$_ has mail!"\010).15 E F1(Bash)144 528 Q F0 .389
+(supplies a def)2.889 F .389(ault v)-.1 F .389(alue for this v)-.25 F
+.389(ariable, b)-.25 F .388
 (ut the location of the user mail \214les that it uses is)-.2 F
-(system dependent \(e.g., /v)144 504 Q(ar/mail/)-.25 E F2($USER)A F0
-(\).)A F2(OPTERR)108 516 Q F0 .39(If set to the v)144 528 R .39(alue 1,)
--.25 F F2(bash)2.89 E F0 .389(displays error messages generated by the)
-2.889 F F2(getopts)2.889 E F0 -.2(bu)2.889 G .389(iltin command \(see).2
-F F1 .359(SHELL B)144 540 R(UIL)-.09 E .359(TIN COMMANDS)-.828 F F0
-(belo)2.609 E(w\).)-.25 E F1(OPTERR)5.359 E F0 .36
-(is initialized to 1 each time the shell is in)2.609 F -.2(vo)-.4 G -.1
-(ke).2 G(d).1 E(or a shell script is e)144 552 Q -.15(xe)-.15 G(cuted.)
-.15 E F2 -.74(PA)108 564 S(TH)-.21 E F0 .588
-(The search path for commands.)9.91 F .587
+(system dependent \(e.g., /v)144 540 Q(ar/mail/)-.25 E F1($USER)A F0
+(\).)A F1(OPTERR)108 552 Q F0 .389(If set to the v)144 564 R .389
+(alue 1,)-.25 F F1(bash)2.889 E F0 .389
+(displays error messages generated by the)2.889 F F1(getopts)2.89 E F0
+-.2(bu)2.89 G .39(iltin command \(see).2 F F2 .36(SHELL B)144 576 R(UIL)
+-.09 E .36(TIN COMMANDS)-.828 F F0(belo)2.61 E(w\).)-.25 E F2(OPTERR)
+5.36 E F0 .359(is initialized to 1 each time the shell is in)2.61 F -.2
+(vo)-.4 G -.1(ke).2 G(d).1 E(or a shell script is e)144 588 Q -.15(xe)
+-.15 G(cuted.).15 E F1 -.74(PA)108 600 S(TH)-.21 E F0 .587
+(The search path for commands.)9.91 F .588
 (It is a colon-separated list of directories in which the shell looks)
-5.588 F .471(for commands \(see)144 576 R F1 .471(COMMAND EXECUTION)
-2.971 F F0(belo)2.722 E 2.972(w\). A)-.25 F .472
-(zero-length \(null\) directory name in the)2.972 F -.25(va)144 588 S
-.536(lue of).25 F F1 -.666(PA)3.036 G(TH)-.189 E F0 .535
-(indicates the current directory)2.786 F 5.535(.A)-.65 G .535
-(null directory name may appear as tw)-2.5 F 3.035(oa)-.1 G(djacent)
--3.035 E .867(colons, or as an initial or trailing colon.)144 600 R .868
-(The def)5.868 F .868(ault path is system-dependent, and is set by the)
--.1 F 26.329(administrator who installs)144 612 R F2(bash)28.829 E F0
-31.329(.A)C 26.328(common v)-2.501 F 26.328(alue is)-.25 F/F5 10
-/Courier@0 SF
-(/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)144 624 Q
-F0(.)A F2(POSIXL)108 636 Q(Y_CORRECT)-.92 E F0 .471(If this v)144 648 R
-.471(ariable is in the en)-.25 F .471(vironment when)-.4 F F2(bash)2.971
-E F0 .471(starts, the shell enters)2.971 F F3 .472(posix mode)2.972 F F0
-.472(before reading)2.972 F .011(the startup \214les, as if the)144 660
-R F2(\255\255posix)2.511 E F0(in)2.511 E -.2(vo)-.4 G .011
-(cation option had been supplied.).2 F .011
-(If it is set while the shell is)5.011 F(running,)144 672 Q F2(bash)2.5
+5.587 F .472(for commands \(see)144 612 R F2 .472(COMMAND EXECUTION)
+2.972 F F0(belo)2.722 E 2.972(w\). A)-.25 F .471
+(zero-length \(null\) directory name in the)2.972 F -.25(va)144 624 S
+.535(lue of).25 F F2 -.666(PA)3.035 G(TH)-.189 E F0 .535
+(indicates the current directory)2.785 F 5.535(.A)-.65 G .535
+(null directory name may appear as tw)-2.5 F 3.036(oa)-.1 G(djacent)
+-3.036 E .868(colons, or as an initial or trailing colon.)144 636 R .868
+(The def)5.868 F .867(ault path is system-dependent, and is set by the)
+-.1 F 26.328(administrator who installs)144 648 R F1(bash)28.828 E F0
+31.329(.A)C 26.329(common v)-2.5 F 26.329(alue is)-.25 F/F5 10/Courier@0
+SF(/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)144 660
+Q F0(.)A F1(POSIXL)108 672 Q(Y_CORRECT)-.92 E F0 .472(If this v)144 684
+R .472(ariable is in the en)-.25 F .471(vironment when)-.4 F F1(bash)
+2.971 E F0 .471(starts, the shell enters)2.971 F F3 .471(posix mode)
+2.971 F F0 .471(before reading)2.971 F .011
+(the startup \214les, as if the)144 696 R F1(\255\255posix)2.511 E F0
+(in)2.511 E -.2(vo)-.4 G .011(cation option had been supplied.).2 F .011
+(If it is set while the shell is)5.011 F(running,)144 708 Q F1(bash)2.5
 E F0(enables)2.5 E F3(posix mode)2.5 E F0 2.5(,a)C 2.5(si)-2.5 G 2.5(ft)
 -2.5 G(he command)-2.5 E F5(set -o posix)2.5 E F0(had been e)2.5 E -.15
-(xe)-.15 G(cuted.).15 E F2(PR)108 684 Q(OMPT_COMMAND)-.3 E F0
-(If set, the v)144 696 Q(alue is e)-.25 E -.15(xe)-.15 G
-(cuted as a command prior to issuing each primary prompt.).15 E
-(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(15)200.665 E 0 Cg EP
+(xe)-.15 G(cuted.).15 E(GNU Bash 4.2)72 768 Q(2011 September 25)135.955
+E(15)185.115 E 0 Cg EP
 %%Page: 16 16
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(PR)108 84 Q(OMPT_DIR)-.3 E(TRIM)-.4 E F0
-.676(If set to a number greater than zero, the v)144 96 R .676
+-.35 E/F1 10/Times-Bold@0 SF(PR)108 84 Q(OMPT_COMMAND)-.3 E F0
+(If set, the v)144 96 Q(alue is e)-.25 E -.15(xe)-.15 G
+(cuted as a command prior to issuing each primary prompt.).15 E F1(PR)
+108 108 Q(OMPT_DIR)-.3 E(TRIM)-.4 E F0 .676
+(If set to a number greater than zero, the v)144 120 R .676
 (alue is used as the number of trailing directory compo-)-.25 F .923
-(nents to retain when e)144 108 R .923(xpanding the)-.15 F F1(\\w)3.423
+(nents to retain when e)144 132 R .923(xpanding the)-.15 F F1(\\w)3.423
 E F0(and)3.423 E F1(\\W)3.423 E F0 .923(prompt string escapes \(see)
 3.423 F/F2 9/Times-Bold@0 SF(PR)3.423 E(OMPTING)-.27 E F0(belo)3.173 E
-(w\).)-.25 E(Characters remo)144 120 Q -.15(ve)-.15 G 2.5(da).15 G
-(re replaced with an ellipsis.)-2.5 E F1(PS1)108 132 Q F0 .064(The v)
+(w\).)-.25 E(Characters remo)144 144 Q -.15(ve)-.15 G 2.5(da).15 G
+(re replaced with an ellipsis.)-2.5 E F1(PS1)108 156 Q F0 .065(The v)
 19.33 F .065(alue of this parameter is e)-.25 F .065(xpanded \(see)-.15
 F F2(PR)2.565 E(OMPTING)-.27 E F0(belo)2.315 E .065
-(w\) and used as the primary prompt)-.25 F 2.5(string. The)144 144 R
+(w\) and used as the primary prompt)-.25 F 2.5(string. The)144 168 R
 (def)2.5 E(ault v)-.1 E(alue is `)-.25 E(`)-.74 E F1(\\s\255\\v\\$)A F0
--.74('')2.5 G(.).74 E F1(PS2)108 156 Q F0 .118(The v)19.33 F .118
-(alue of this parameter is e)-.25 F .118(xpanded as with)-.15 F F2(PS1)
-2.617 E F0 .117(and used as the secondary prompt string.)2.367 F(The)
-5.117 E(def)144 168 Q(ault is `)-.1 E(`)-.74 E F1(>)A F0 -.74('')2.5 G
-(.).74 E F1(PS3)108 180 Q F0 1.115(The v)19.33 F 1.115
+-.74('')2.5 G(.).74 E F1(PS2)108 180 Q F0 .117(The v)19.33 F .117
+(alue of this parameter is e)-.25 F .117(xpanded as with)-.15 F F2(PS1)
+2.617 E F0 .118(and used as the secondary prompt string.)2.368 F(The)
+5.118 E(def)144 192 Q(ault is `)-.1 E(`)-.74 E F1(>)A F0 -.74('')2.5 G
+(.).74 E F1(PS3)108 204 Q F0 1.116(The v)19.33 F 1.115
 (alue of this parameter is used as the prompt for the)-.25 F F1(select)
-3.615 E F0 1.116(command \(see)3.616 F F2 1.116(SHELL GRAM-)3.616 F(MAR)
-144 192 Q F0(abo)2.25 E -.15(ve)-.15 G(\).).15 E F1(PS4)108 204 Q F0
-.101(The v)19.33 F .101(alue of this parameter is e)-.25 F .101
-(xpanded as with)-.15 F F2(PS1)2.6 E F0 .1(and the v)2.35 F .1
-(alue is printed before each command)-.25 F F1(bash)144 216 Q F0 .291
-(displays during an e)2.791 F -.15(xe)-.15 G .292(cution trace.).15 F
-.292(The \214rst character of)5.292 F F2(PS4)2.792 E F0 .292
-(is replicated multiple times, as)2.542 F(necessary)144 228 Q 2.5(,t)
+3.615 E F0 1.115(command \(see)3.615 F F2 1.115(SHELL GRAM-)3.615 F(MAR)
+144 216 Q F0(abo)2.25 E -.15(ve)-.15 G(\).).15 E F1(PS4)108 228 Q F0 .1
+(The v)19.33 F .1(alue of this parameter is e)-.25 F .1(xpanded as with)
+-.15 F F2(PS1)2.6 E F0 .101(and the v)2.35 F .101
+(alue is printed before each command)-.25 F F1(bash)144 240 Q F0 .292
+(displays during an e)2.792 F -.15(xe)-.15 G .292(cution trace.).15 F
+.292(The \214rst character of)5.292 F F2(PS4)2.792 E F0 .291
+(is replicated multiple times, as)2.542 F(necessary)144 252 Q 2.5(,t)
 -.65 G 2.5(oi)-2.5 G(ndicate multiple le)-2.5 E -.15(ve)-.25 G
 (ls of indirection.).15 E(The def)5 E(ault is `)-.1 E(`)-.74 E F1(+)A F0
--.74('')2.5 G(.).74 E F1(SHELL)108 240 Q F0 .664
-(The full pathname to the shell is k)144 252 R .664(ept in this en)-.1 F
-.664(vironment v)-.4 F 3.164(ariable. If)-.25 F .663
-(it is not set when the shell)3.164 F(starts,)144 264 Q F1(bash)2.5 E F0
+-.74('')2.5 G(.).74 E F1(SHELL)108 264 Q F0 .663
+(The full pathname to the shell is k)144 276 R .664(ept in this en)-.1 F
+.664(vironment v)-.4 F 3.164(ariable. If)-.25 F .664
+(it is not set when the shell)3.164 F(starts,)144 288 Q F1(bash)2.5 E F0
 (assigns to it the full pathname of the current user')2.5 E 2.5(sl)-.55
-G(ogin shell.)-2.5 E F1(TIMEFORMA)108 276 Q(T)-.95 E F0 .826(The v)144
-288 R .826
+G(ogin shell.)-2.5 E F1(TIMEFORMA)108 300 Q(T)-.95 E F0 .827(The v)144
+312 R .826
 (alue of this parameter is used as a format string specifying ho)-.25 F
-3.327(wt)-.25 G .827(he timing information for)-3.327 F .649
-(pipelines pre\214x)144 300 R .649(ed with the)-.15 F F1(time)3.149 E F0
-(reserv)3.149 E .649(ed w)-.15 F .648(ord should be displayed.)-.1 F
-(The)5.648 E F1(%)3.148 E F0 .648(character introduces)3.148 F .711
-(an escape sequence that is e)144 312 R .711(xpanded to a time v)-.15 F
-.712(alue or other information.)-.25 F .712(The escape sequences)5.712 F
-(and their meanings are as follo)144 324 Q
-(ws; the braces denote optional portions.)-.25 E F1(%%)144 342 Q F0 2.5
-(Al)30 G(iteral)-2.5 E F1(%)2.5 E F0(.)A F1(%[)144 354 Q/F3 10
+3.326(wt)-.25 G .826(he timing information for)-3.326 F .648
+(pipelines pre\214x)144 324 R .648(ed with the)-.15 F F1(time)3.148 E F0
+(reserv)3.148 E .648(ed w)-.15 F .649(ord should be displayed.)-.1 F
+(The)5.649 E F1(%)3.149 E F0 .649(character introduces)3.149 F .712
+(an escape sequence that is e)144 336 R .711(xpanded to a time v)-.15 F
+.711(alue or other information.)-.25 F .711(The escape sequences)5.711 F
+(and their meanings are as follo)144 348 Q
+(ws; the braces denote optional portions.)-.25 E F1(%%)144 366 Q F0 2.5
+(Al)30 G(iteral)-2.5 E F1(%)2.5 E F0(.)A F1(%[)144 378 Q/F3 10
 /Times-Italic@0 SF(p)A F1(][l]R)A F0(The elapsed time in seconds.)11.68
-E F1(%[)144 366 Q F3(p)A F1(][l]U)A F0
-(The number of CPU seconds spent in user mode.)11.68 E F1(%[)144 378 Q
+E F1(%[)144 390 Q F3(p)A F1(][l]U)A F0
+(The number of CPU seconds spent in user mode.)11.68 E F1(%[)144 402 Q
 F3(p)A F1(][l]S)A F0(The number of CPU seconds spent in system mode.)
-13.34 E F1(%P)144 390 Q F0
+13.34 E F1(%P)144 414 Q F0
 (The CPU percentage, computed as \(%U + %S\) / %R.)33.89 E .87
-(The optional)144 406.8 R F3(p)3.37 E F0 .87(is a digit specifying the)
+(The optional)144 430.8 R F3(p)3.37 E F0 .87(is a digit specifying the)
 3.37 F F3(pr)3.37 E(ecision)-.37 E F0 3.37(,t)C .87
-(he number of fractional digits after a decimal)-3.37 F 2.525(point. A)
-144 418.8 R -.25(va)2.525 G .025
-(lue of 0 causes no decimal point or fraction to be output.).25 F .026
-(At most three places after the)5.025 F .538
-(decimal point may be speci\214ed; v)144 430.8 R .538(alues of)-.25 F F3
-(p)3.038 E F0 .537(greater than 3 are changed to 3.)3.037 F(If)5.537 E
-F3(p)3.037 E F0 .537(is not speci\214ed,)3.037 F(the v)144 442.8 Q
-(alue 3 is used.)-.25 E .667(The optional)144 459.6 R F1(l)3.167 E F0
+(he number of fractional digits after a decimal)-3.37 F 2.526(point. A)
+144 442.8 R -.25(va)2.526 G .025
+(lue of 0 causes no decimal point or fraction to be output.).25 F .025
+(At most three places after the)5.025 F .537
+(decimal point may be speci\214ed; v)144 454.8 R .537(alues of)-.25 F F3
+(p)3.037 E F0 .537(greater than 3 are changed to 3.)3.037 F(If)5.538 E
+F3(p)3.038 E F0 .538(is not speci\214ed,)3.038 F(the v)144 466.8 Q
+(alue 3 is used.)-.25 E .668(The optional)144 483.6 R F1(l)3.168 E F0
 .668(speci\214es a longer format, including minutes, of the form)3.168 F
-F3(MM)3.168 E F0(m)A F3(SS)A F0(.)A F3(FF)A F0 3.168(s. The)B -.25(va)
-3.168 G(lue).25 E(of)144 471.6 Q F3(p)2.5 E F0
-(determines whether or not the fraction is included.)2.5 E .001
-(If this v)144 488.4 R .001(ariable is not set,)-.25 F F1(bash)2.501 E
-F0 .001(acts as if it had the v)2.501 F(alue)-.25 E F1($\010\\nr)2.5 E
-(eal\\t%3lR\\nuser\\t%3lU\\nsys%3lS\010)-.18 E F0(.)A .494(If the v)144
-500.4 R .494(alue is null, no timing information is displayed.)-.25 F
+F3(MM)3.168 E F0(m)A F3(SS)A F0(.)A F3(FF)A F0 3.167(s. The)B -.25(va)
+3.167 G(lue).25 E(of)144 495.6 Q F3(p)2.5 E F0
+(determines whether or not the fraction is included.)2.5 E(If this v)144
+512.4 Q(ariable is not set,)-.25 E F1(bash)2.501 E F0 .001
+(acts as if it had the v)2.501 F(alue)-.25 E F1($\010\\nr)2.501 E
+(eal\\t%3lR\\nuser\\t%3lU\\nsys%3lS\010)-.18 E F0(.)A .495(If the v)144
+524.4 R .494(alue is null, no timing information is displayed.)-.25 F
 2.994(At)5.494 G .494(railing ne)-2.994 F .494
 (wline is added when the for)-.25 F(-)-.2 E(mat string is displayed.)144
-512.4 Q F1(TMOUT)108 524.4 Q F0 .941(If set to a v)144 536.4 R .941
+536.4 Q F1(TMOUT)108 548.4 Q F0 .941(If set to a v)144 560.4 R .941
 (alue greater than zero,)-.25 F F2(TMOUT)3.441 E F0 .941
 (is treated as the def)3.191 F .941(ault timeout for the)-.1 F F1 -.18
-(re)3.441 G(ad).18 E F0 -.2(bu)3.441 G(iltin.).2 E(The)144 548.4 Q F1
-(select)2.81 E F0 .31(command terminates if input does not arri)2.81 F
-.611 -.15(ve a)-.25 H(fter).15 E F2(TMOUT)2.811 E F0 .311
-(seconds when input is com-)2.561 F .886(ing from a terminal.)144 560.4
-R .886(In an interacti)5.886 F 1.185 -.15(ve s)-.25 H .885(hell, the v)
-.15 F .885(alue is interpreted as the number of seconds to)-.25 F -.1
-(wa)144 572.4 S .546(it for input after issuing the primary prompt.).1 F
-F1(Bash)5.546 E F0 .546(terminates after w)3.046 F .546
+(re)3.441 G(ad).18 E F0 -.2(bu)3.441 G(iltin.).2 E(The)144 572.4 Q F1
+(select)2.811 E F0 .311(command terminates if input does not arri)2.811
+F .61 -.15(ve a)-.25 H(fter).15 E F2(TMOUT)2.81 E F0 .31
+(seconds when input is com-)2.56 F .885(ing from a terminal.)144 584.4 R
+.885(In an interacti)5.885 F 1.185 -.15(ve s)-.25 H .885(hell, the v).15
+F .886(alue is interpreted as the number of seconds to)-.25 F -.1(wa)144
+596.4 S .546(it for input after issuing the primary prompt.).1 F F1
+(Bash)5.546 E F0 .546(terminates after w)3.046 F .546
 (aiting for that number of)-.1 F(seconds if input does not arri)144
-584.4 Q -.15(ve)-.25 G(.).15 E F1(TMPDIR)108 596.4 Q F0 .391(If set,)144
-608.4 R F1(bash)2.891 E F0 .391(uses its v)2.891 F .391
-(alue as the name of a directory in which)-.25 F F1(bash)2.89 E F0 .39
-(creates temporary \214les for the)2.89 F(shell')144 620.4 Q 2.5(su)-.55
-G(se.)-2.5 E F1(auto_r)108 632.4 Q(esume)-.18 E F0 .53(This v)144 644.4
-R .53(ariable controls ho)-.25 F 3.03(wt)-.25 G .531
-(he shell interacts with the user and job control.)-3.03 F .531
-(If this v)5.531 F .531(ariable is set,)-.25 F .539(single w)144 656.4 R
+608.4 Q -.15(ve)-.25 G(.).15 E F1(TMPDIR)108 620.4 Q F0 .39(If set,)144
+632.4 R F1(bash)2.89 E F0 .39(uses its v)2.89 F .39
+(alue as the name of a directory in which)-.25 F F1(bash)2.891 E F0 .391
+(creates temporary \214les for the)2.891 F(shell')144 644.4 Q 2.5(su)
+-.55 G(se.)-2.5 E F1(auto_r)108 656.4 Q(esume)-.18 E F0 .531(This v)144
+668.4 R .531(ariable controls ho)-.25 F 3.031(wt)-.25 G .531
+(he shell interacts with the user and job control.)-3.031 F .53
+(If this v)5.53 F .53(ariable is set,)-.25 F .538(single w)144 680.4 R
 .538(ord simple commands without redirections are treated as candidates\
- for resumption of an)-.1 F -.15(ex)144 668.4 S .366(isting stopped job)
-.15 F 5.366(.T)-.4 G .366(here is no ambiguity allo)-5.366 F .366
-(wed; if there is more than one job be)-.25 F .367(ginning with)-.15 F
-1.125(the string typed, the job most recently accessed is selected.)144
-680.4 R(The)6.125 E F3(name)3.985 E F0 1.124(of a stopped job, in this)
-3.805 F(conte)144 692.4 Q 1.132
+ for resumption of an)-.1 F -.15(ex)144 692.4 S .367(isting stopped job)
+.15 F 5.367(.T)-.4 G .366(here is no ambiguity allo)-5.367 F .366
+(wed; if there is more than one job be)-.25 F .366(ginning with)-.15 F
+1.124(the string typed, the job most recently accessed is selected.)144
+704.4 R(The)6.125 E F3(name)3.985 E F0 1.125(of a stopped job, in this)
+3.805 F(conte)144 716.4 Q 1.133
 (xt, is the command line used to start it.)-.15 F 1.133(If set to the v)
-6.133 F(alue)-.25 E F3 -.2(ex)3.633 G(act).2 E F0 3.633(,t).68 G 1.133
-(he string supplied must)-3.633 F .625
-(match the name of a stopped job e)144 704.4 R .624(xactly; if set to)
--.15 F F3(substring)3.124 E F0 3.124(,t).22 G .624
-(he string supplied needs to match a)-3.124 F .884
-(substring of the name of a stopped job)144 716.4 R 5.884(.T)-.4 G(he)
--5.884 E F3(substring)3.724 E F0 -.25(va)3.604 G .885(lue pro).25 F .885
-(vides functionality analogous to)-.15 F(the)144 728.4 Q F1(%?)3.334 E
-F0 .834(job identi\214er \(see)5.834 F F2 .834(JOB CONTR)3.334 F(OL)-.27
-E F0(belo)3.084 E 3.334(w\). If)-.25 F .834(set to an)3.334 F 3.334(yo)
--.15 G .834(ther v)-3.334 F .833(alue, the supplied string)-.25 F
-(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(16)200.665 E 0 Cg EP
+6.133 F(alue)-.25 E F3 -.2(ex)3.633 G(act).2 E F0 3.632(,t).68 G 1.132
+(he string supplied must)-3.632 F .624
+(match the name of a stopped job e)144 728.4 R .624(xactly; if set to)
+-.15 F F3(substring)3.125 E F0 3.125(,t).22 G .625
+(he string supplied needs to match a)-3.125 F(GNU Bash 4.2)72 768 Q
+(2011 September 25)135.955 E(16)185.115 E 0 Cg EP
 %%Page: 17 17
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .315(must be a pre\214x of a stopped job')144 84 R 2.816(sn)-.55
-G .316(ame; this pro)-2.816 F .316(vides functionality analogous to the)
--.15 F/F1 10/Times-Bold@0 SF(%)2.816 E/F2 10/Times-Italic@0 SF(string)A
-F0(job)2.816 E(identi\214er)144 96 Q(.)-.55 E F1(histchars)108 108 Q F0
-2.07(The tw)144 120 R 4.57(oo)-.1 G 4.57(rt)-4.57 G 2.07
-(hree characters which control history e)-4.57 F 2.07(xpansion and tok)
--.15 F 2.07(enization \(see)-.1 F/F3 9/Times-Bold@0 SF(HIST)4.569 E(OR)
--.162 E(Y)-.315 E(EXP)144 132 Q(ANSION)-.666 E F0(belo)3.465 E 3.715
-(w\). The)-.25 F 1.215(\214rst character is the)3.715 F F2 1.216
-(history e)3.715 F(xpansion)-.2 E F0(character)3.716 E 3.716(,t)-.4 G
-1.216(he character which)-3.716 F .798(signals the start of a history e)
-144 144 R .798(xpansion, normally `)-.15 F F1(!)A F0 3.298('. The)B .798
-(second character is the)3.298 F F2(quic)3.298 E 3.298(ks)-.2 G
-(ubstitu-)-3.298 E(tion)144 156 Q F0(character)2.739 E 2.739(,w)-.4 G
-.239(hich is used as shorthand for re-running the pre)-2.739 F .24
-(vious command entered, substitut-)-.25 F .576
-(ing one string for another in the command.)144 168 R .575(The def)5.575
-F .575(ault is `)-.1 F F1(^)A F0 3.075('. The)B .575
-(optional third character is the)3.075 F .223(character which indicates\
+-.35 E .885(substring of the name of a stopped job)144 84 R 5.884(.T)-.4
+G(he)-5.884 E/F1 10/Times-Italic@0 SF(substring)3.724 E F0 -.25(va)3.604
+G .884(lue pro).25 F .884(vides functionality analogous to)-.15 F(the)
+144 96 Q/F2 10/Times-Bold@0 SF(%?)3.333 E F0 .833
+(job identi\214er \(see)5.833 F/F3 9/Times-Bold@0 SF .834(JOB CONTR)
+3.334 F(OL)-.27 E F0(belo)3.084 E 3.334(w\). If)-.25 F .834(set to an)
+3.334 F 3.334(yo)-.15 G .834(ther v)-3.334 F .834
+(alue, the supplied string)-.25 F .316
+(must be a pre\214x of a stopped job')144 108 R 2.816(sn)-.55 G .316
+(ame; this pro)-2.816 F .315(vides functionality analogous to the)-.15 F
+F2(%)2.815 E F1(string)A F0(job)2.815 E(identi\214er)144 120 Q(.)-.55 E
+F2(histchars)108 132 Q F0 2.069(The tw)144 144 R 4.57(oo)-.1 G 4.57(rt)
+-4.57 G 2.07(hree characters which control history e)-4.57 F 2.07
+(xpansion and tok)-.15 F 2.07(enization \(see)-.1 F F3(HIST)4.57 E(OR)
+-.162 E(Y)-.315 E(EXP)144 156 Q(ANSION)-.666 E F0(belo)3.466 E 3.716
+(w\). The)-.25 F 1.216(\214rst character is the)3.716 F F1 1.215
+(history e)3.715 F(xpansion)-.2 E F0(character)3.715 E 3.715(,t)-.4 G
+1.215(he character which)-3.715 F .798(signals the start of a history e)
+144 168 R .798(xpansion, normally `)-.15 F F2(!)A F0 3.298('. The)B .798
+(second character is the)3.298 F F1(quic)3.298 E 3.298(ks)-.2 G
+(ubstitu-)-3.298 E(tion)144 180 Q F0(character)2.74 E 2.74(,w)-.4 G .239
+(hich is used as shorthand for re-running the pre)-2.74 F .239
+(vious command entered, substitut-)-.25 F .575
+(ing one string for another in the command.)144 192 R .575(The def)5.575
+F .575(ault is `)-.1 F F2(^)A F0 3.075('. The)B .576
+(optional third character is the)3.076 F .223(character which indicates\
  that the remainder of the line is a comment when found as the \214rst \
-char)144 180 R(-)-.2 E 1.294(acter of a w)144 192 R 1.294
-(ord, normally `)-.1 F F1(#)A F0 3.794('. The)B 1.293
-(history comment character causes history substitution to be)3.794 F
-.379(skipped for the remaining w)144 204 R .379(ords on the line.)-.1 F
-.38(It does not necessarily cause the shell parser to treat)5.379 F
-(the rest of the line as a comment.)144 216 Q F1(Arrays)87 232.8 Q(Bash)
-108 244.8 Q F0(pro)3.391 E .891(vides one-dimensional inde)-.15 F -.15
-(xe)-.15 G 3.391(da).15 G .891(nd associati)-3.391 F 1.191 -.15(ve a)
--.25 H .891(rray v).15 F 3.391(ariables. An)-.25 F 3.391(yv)-.15 G .89
-(ariable may be used as an)-3.641 F(inde)108 256.8 Q -.15(xe)-.15 G
-2.573(da).15 G .073(rray; the)-2.573 F F1(declar)2.573 E(e)-.18 E F0 -.2
-(bu)2.573 G .073(iltin will e).2 F .073(xplicitly declare an array)-.15
-F 5.073(.T)-.65 G .074(here is no maximum limit on the size of)-5.073 F
-.329(an array)108 268.8 R 2.829(,n)-.65 G .329(or an)-2.829 F 2.829(yr)
--.15 G .329(equirement that members be inde)-2.829 F -.15(xe)-.15 G
-2.829(do).15 G 2.829(ra)-2.829 G .328(ssigned contiguously)-2.829 F
-5.328(.I)-.65 G(nde)-5.328 E -.15(xe)-.15 G 2.828(da).15 G .328
-(rrays are refer)-2.828 F(-)-.2 E 1.386(enced using inte)108 280.8 R
-1.386(gers \(including arithmetic e)-.15 F 3.887(xpressions\) and)-.15 F
-1.387(are zero-based; associati)3.887 F 1.687 -.15(ve a)-.25 H 1.387
-(rrays are refer).15 F(-)-.2 E(enced using arbitrary strings.)108 292.8
-Q 2.463(An inde)108 309.6 R -.15(xe)-.15 G 4.963(da).15 G 2.463
-(rray is created automatically if an)-4.963 F 4.963(yv)-.15 G 2.462
-(ariable is assigned to using the syntax)-5.213 F F2(name)4.962 E F0([)A
-F2(sub-)A(script)108 321.6 Q F0(]=)A F2(value)A F0 6.548(.T)C(he)-6.548
-E F2(subscript)4.388 E F0 1.549(is treated as an arithmetic e)4.728 F
-1.549(xpression that must e)-.15 F -.25(va)-.25 G 1.549
-(luate to a number).25 F 6.549(.T)-.55 G(o)-7.349 E -.15(ex)108 333.6 S
-1.98(plicitly declare an inde).15 F -.15(xe)-.15 G 4.48(da).15 G(rray)
--4.48 E 4.48(,u)-.65 G(se)-4.48 E F1(declar)4.48 E 4.48<65ad>-.18 G(a)
--4.48 E F2(name)4.48 E F0(\(see)4.48 E F3 1.979(SHELL B)4.479 F(UIL)-.09
-E 1.979(TIN COMMANDS)-.828 F F0(belo)4.229 E(w\).)-.25 E F1(declar)108
-345.6 Q 2.5<65ad>-.18 G(a)-2.5 E F2(name)2.5 E F1([)A F2(subscript)A F1
-(])A F0(is also accepted; the)2.5 E F2(subscript)2.5 E F0(is ignored.)
-2.5 E(Associati)108 362.4 Q .3 -.15(ve a)-.25 H(rrays are created using)
-.15 E F1(declar)2.5 E 2.5<65ad>-.18 G(A)-2.5 E F2(name)2.5 E F0(.)A
-(Attrib)108 379.2 Q .94(utes may be speci\214ed for an array v)-.2 F
-.941(ariable using the)-.25 F F1(declar)3.441 E(e)-.18 E F0(and)3.441 E
-F1 -.18(re)3.441 G(adonly).18 E F0 -.2(bu)3.441 G 3.441(iltins. Each).2
-F(attrib)3.441 E(ute)-.2 E(applies to all members of an array)108 391.2
-Q(.)-.65 E 1.647
-(Arrays are assigned to using compound assignments of the form)108 408 R
-F2(name)4.147 E F0(=)A F1(\()A F0 -.25(va)C(lue).25 E F2(1)A F0 1.647
-(... v)4.147 F(alue)-.25 E F2(n)A F1(\))A F0 4.147(,w)C 1.647(here each)
--4.147 F F2(value)108 420 Q F0 .122(is of the form [)2.622 F F2
-(subscript)A F0(]=)A F2(string)A F0 5.122(.I)C(nde)-5.122 E -.15(xe)-.15
-G 2.622(da).15 G .122(rray assignments do not require the brack)-2.622 F
-.122(et and subscript.)-.1 F .164(When assigning to inde)108 432 R -.15
-(xe)-.15 G 2.663(da).15 G .163(rrays, if the optional brack)-2.663 F
-.163(ets and subscript are supplied, that inde)-.1 F 2.663(xi)-.15 G
-2.663(sa)-2.663 G(ssigned)-2.663 E 1.41(to; otherwise the inde)108 444 R
-3.91(xo)-.15 G 3.91(ft)-3.91 G 1.41
-(he element assigned is the last inde)-3.91 F 3.911(xa)-.15 G 1.411
-(ssigned to by the statement plus one.)-3.911 F(Inde)108 456 Q
-(xing starts at zero.)-.15 E(When assigning to an associati)108 472.8 Q
+char)144 204 R(-)-.2 E 1.293(acter of a w)144 216 R 1.293
+(ord, normally `)-.1 F F2(#)A F0 3.793('. The)B 1.294
+(history comment character causes history substitution to be)3.794 F .38
+(skipped for the remaining w)144 228 R .38(ords on the line.)-.1 F .379
+(It does not necessarily cause the shell parser to treat)5.379 F
+(the rest of the line as a comment.)144 240 Q F2(Arrays)87 256.8 Q(Bash)
+108 268.8 Q F0(pro)3.39 E .89(vides one-dimensional inde)-.15 F -.15(xe)
+-.15 G 3.39(da).15 G .891(nd associati)-3.39 F 1.191 -.15(ve a)-.25 H
+.891(rray v).15 F 3.391(ariables. An)-.25 F 3.391(yv)-.15 G .891
+(ariable may be used as an)-3.641 F(inde)108 280.8 Q -.15(xe)-.15 G
+2.574(da).15 G .074(rray; the)-2.574 F F2(declar)2.574 E(e)-.18 E F0 -.2
+(bu)2.574 G .074(iltin will e).2 F .073(xplicitly declare an array)-.15
+F 5.073(.T)-.65 G .073(here is no maximum limit on the size of)-5.073 F
+.328(an array)108 292.8 R 2.828(,n)-.65 G .328(or an)-2.828 F 2.828(yr)
+-.15 G .329(equirement that members be inde)-2.828 F -.15(xe)-.15 G
+2.829(do).15 G 2.829(ra)-2.829 G .329(ssigned contiguously)-2.829 F
+5.329(.I)-.65 G(nde)-5.329 E -.15(xe)-.15 G 2.829(da).15 G .329
+(rrays are refer)-2.829 F(-)-.2 E 1.387(enced using inte)108 304.8 R
+1.387(gers \(including arithmetic e)-.15 F 3.887(xpressions\) and)-.15 F
+1.387(are zero-based; associati)3.887 F 1.686 -.15(ve a)-.25 H 1.386
+(rrays are refer).15 F(-)-.2 E(enced using arbitrary strings.)108 316.8
+Q 2.462(An inde)108 333.6 R -.15(xe)-.15 G 4.962(da).15 G 2.462
+(rray is created automatically if an)-4.962 F 4.963(yv)-.15 G 2.463
+(ariable is assigned to using the syntax)-5.213 F F1(name)4.963 E F0([)A
+F1(sub-)A(script)108 345.6 Q F0(]=)A F1(value)A F0 6.549(.T)C(he)-6.549
+E F1(subscript)4.389 E F0 1.549(is treated as an arithmetic e)4.729 F
+1.549(xpression that must e)-.15 F -.25(va)-.25 G 1.548
+(luate to a number).25 F 6.548(.T)-.55 G(o)-7.348 E -.15(ex)108 357.6 S
+1.979(plicitly declare an inde).15 F -.15(xe)-.15 G 4.479(da).15 G(rray)
+-4.479 E 4.48(,u)-.65 G(se)-4.48 E F2(declar)4.48 E 4.48<65ad>-.18 G(a)
+-4.48 E F1(name)4.48 E F0(\(see)4.48 E F3 1.98(SHELL B)4.48 F(UIL)-.09 E
+1.98(TIN COMMANDS)-.828 F F0(belo)4.23 E(w\).)-.25 E F2(declar)108 369.6
+Q 2.5<65ad>-.18 G(a)-2.5 E F1(name)2.5 E F2([)A F1(subscript)A F2(])A F0
+(is also accepted; the)2.5 E F1(subscript)2.5 E F0(is ignored.)2.5 E
+(Associati)108 386.4 Q .3 -.15(ve a)-.25 H(rrays are created using).15 E
+F2(declar)2.5 E 2.5<65ad>-.18 G(A)-2.5 E F1(name)2.5 E F0(.)A(Attrib)108
+403.2 Q .941(utes may be speci\214ed for an array v)-.2 F .941
+(ariable using the)-.25 F F2(declar)3.441 E(e)-.18 E F0(and)3.44 E F2
+-.18(re)3.44 G(adonly).18 E F0 -.2(bu)3.44 G 3.44(iltins. Each).2 F
+(attrib)3.44 E(ute)-.2 E(applies to all members of an array)108 415.2 Q
+(.)-.65 E 1.647
+(Arrays are assigned to using compound assignments of the form)108 432 R
+F1(name)4.147 E F0(=)A F2(\()A F0 -.25(va)C(lue).25 E F1(1)A F0 1.647
+(... v)4.147 F(alue)-.25 E F1(n)A F2(\))A F0 4.148(,w)C 1.648(here each)
+-4.148 F F1(value)108 444 Q F0 1.833(is of the form [)4.333 F F1
+(subscript)A F0(]=)A F1(string)A F0 6.833(.I)C(nde)-6.833 E -.15(xe)-.15
+G 4.333(da).15 G 1.833(rray assignments do not require an)-4.333 F 1.832
+(ything b)-.15 F(ut)-.2 E F1(string)4.332 E F0(.)A .163
+(When assigning to inde)108 456 R -.15(xe)-.15 G 2.663(da).15 G .163
+(rrays, if the optional brack)-2.663 F .163
+(ets and subscript are supplied, that inde)-.1 F 2.664(xi)-.15 G 2.664
+(sa)-2.664 G(ssigned)-2.664 E 1.411(to; otherwise the inde)108 468 R
+3.911(xo)-.15 G 3.911(ft)-3.911 G 1.411
+(he element assigned is the last inde)-3.911 F 3.91(xa)-.15 G 1.41
+(ssigned to by the statement plus one.)-3.91 F(Inde)108 480 Q
+(xing starts at zero.)-.15 E(When assigning to an associati)108 496.8 Q
 .3 -.15(ve a)-.25 H(rray).15 E 2.5(,t)-.65 G(he subscript is required.)
--2.5 E .24(This syntax is also accepted by the)108 489.6 R F1(declar)
-2.74 E(e)-.18 E F0 -.2(bu)2.739 G 2.739(iltin. Indi).2 F .239
-(vidual array elements may be assigned to using the)-.25 F F2(name)108
-501.6 Q F0([)A F2(subscript)A F0(]=)A F2(value)A F0
-(syntax introduced abo)2.5 E -.15(ve)-.15 G(.).15 E(An)108 518.4 Q 3.575
-(ye)-.15 G 1.075(lement of an array may be referenced using ${)-3.575 F
-F2(name)A F0([)A F2(subscript)A F0 3.575(]}. The)B 1.076
-(braces are required to a)3.576 F -.2(vo)-.2 G(id).2 E 1.542
-(con\215icts with pathname e)108 530.4 R 4.041(xpansion. If)-.15 F F2
-(subscript)4.041 E F0(is)4.041 E F1(@)4.041 E F0(or)4.041 E F1(*)4.041 E
+-2.5 E .239(This syntax is also accepted by the)108 513.6 R F2(declar)
+2.739 E(e)-.18 E F0 -.2(bu)2.739 G 2.739(iltin. Indi).2 F .24
+(vidual array elements may be assigned to using the)-.25 F F1(name)108
+525.6 Q F0([)A F1(subscript)A F0(]=)A F1(value)A F0
+(syntax introduced abo)2.5 E -.15(ve)-.15 G(.).15 E(An)108 542.4 Q 3.576
+(ye)-.15 G 1.076(lement of an array may be referenced using ${)-3.576 F
+F1(name)A F0([)A F1(subscript)A F0 3.575(]}. The)B 1.075
+(braces are required to a)3.575 F -.2(vo)-.2 G(id).2 E 1.541
+(con\215icts with pathname e)108 554.4 R 4.041(xpansion. If)-.15 F F1
+(subscript)4.041 E F0(is)4.041 E F2(@)4.041 E F0(or)4.041 E F2(*)4.041 E
 F0 4.041(,t)C 1.541(he w)-4.041 F 1.541(ord e)-.1 F 1.541
-(xpands to all members of)-.15 F F2(name)4.041 E F0(.)A 1.056
-(These subscripts dif)108 542.4 R 1.056(fer only when the w)-.25 F 1.057
-(ord appears within double quotes.)-.1 F 1.057(If the w)6.057 F 1.057
-(ord is double-quoted,)-.1 F(${)108 554.4 Q F2(name)A F0 .521([*]} e)B
-.521(xpands to a single w)-.15 F .521(ord with the v)-.1 F .52
+(xpands to all members of)-.15 F F1(name)4.042 E F0(.)A 1.057
+(These subscripts dif)108 566.4 R 1.057(fer only when the w)-.25 F 1.057
+(ord appears within double quotes.)-.1 F 1.056(If the w)6.056 F 1.056
+(ord is double-quoted,)-.1 F(${)108 578.4 Q F1(name)A F0 .52([*]} e)B
+.52(xpands to a single w)-.15 F .52(ord with the v)-.1 F .521
 (alue of each array member separated by the \214rst character)-.25 F
-1.374(of the)108 566.4 R F3(IFS)3.874 E F0 1.374(special v)3.624 F 1.375
-(ariable, and ${)-.25 F F2(name)A F0 1.375([@]} e)B 1.375
-(xpands each element of)-.15 F F2(name)3.875 E F0 1.375(to a separate w)
-3.875 F 3.875(ord. When)-.1 F 2.028(there are no array members, ${)108
-578.4 R F2(name)A F0 2.028([@]} e)B 2.028(xpands to nothing.)-.15 F
-2.027(If the double-quoted e)7.028 F 2.027(xpansion occurs)-.15 F .758
-(within a w)108 590.4 R .759(ord, the e)-.1 F .759
+1.375(of the)108 590.4 R F3(IFS)3.875 E F0 1.375(special v)3.625 F 1.375
+(ariable, and ${)-.25 F F1(name)A F0 1.375([@]} e)B 1.375
+(xpands each element of)-.15 F F1(name)3.875 E F0 1.374(to a separate w)
+3.875 F 3.874(ord. When)-.1 F 2.027(there are no array members, ${)108
+602.4 R F1(name)A F0 2.028([@]} e)B 2.028(xpands to nothing.)-.15 F
+2.028(If the double-quoted e)7.028 F 2.028(xpansion occurs)-.15 F .759
+(within a w)108 614.4 R .759(ord, the e)-.1 F .759
 (xpansion of the \214rst parameter is joined with the be)-.15 F .759
-(ginning part of the original w)-.15 F(ord,)-.1 E .516(and the e)108
-602.4 R .516(xpansion of the last parameter is joined with the last par\
-t of the original w)-.15 F 3.015(ord. This)-.1 F .515(is analogous)3.015
-F .227(to the e)108 614.4 R .228(xpansion of the special parameters)-.15
-F F1(*)2.728 E F0(and)2.728 E F1(@)2.728 E F0(\(see)2.728 E F1 .228
-(Special P)2.728 F(arameters)-.1 E F0(abo)2.728 E -.15(ve)-.15 G 2.728
-(\). ${#).15 F F2(name)A F0([)A F2(subscript)A F0(]})A -.15(ex)108 626.4
-S .886(pands to the length of ${).15 F F2(name)A F0([)A F2(subscript)A
-F0 3.386(]}. If)B F2(subscript)3.386 E F0(is)3.386 E F1(*)3.386 E F0(or)
-3.386 E F1(@)3.386 E F0 3.386(,t)C .886(he e)-3.386 F .886
-(xpansion is the number of ele-)-.15 F .462(ments in the array)108 638.4
-R 5.462(.R)-.65 G .462(eferencing an array v)-5.462 F .463
-(ariable without a subscript is equi)-.25 F -.25(va)-.25 G .463
+(ginning part of the original w)-.15 F(ord,)-.1 E .515(and the e)108
+626.4 R .516(xpansion of the last parameter is joined with the last par\
+t of the original w)-.15 F 3.016(ord. This)-.1 F .516(is analogous)3.016
+F .228(to the e)108 638.4 R .228(xpansion of the special parameters)-.15
+F F2(*)2.728 E F0(and)2.728 E F2(@)2.728 E F0(\(see)2.728 E F2 .228
+(Special P)2.728 F(arameters)-.1 E F0(abo)2.727 E -.15(ve)-.15 G 2.727
+(\). ${#).15 F F1(name)A F0([)A F1(subscript)A F0(]})A -.15(ex)108 650.4
+S .886(pands to the length of ${).15 F F1(name)A F0([)A F1(subscript)A
+F0 3.386(]}. If)B F1(subscript)3.386 E F0(is)3.386 E F2(*)3.386 E F0(or)
+3.386 E F2(@)3.386 E F0 3.386(,t)C .886(he e)-3.386 F .886
+(xpansion is the number of ele-)-.15 F .463(ments in the array)108 662.4
+R 5.463(.R)-.65 G .463(eferencing an array v)-5.463 F .462
+(ariable without a subscript is equi)-.25 F -.25(va)-.25 G .462
 (lent to referencing the array).25 F .233(with a subscript of 0.)108
-650.4 R .233(If the)5.233 F F2(subscript)3.073 E F0 .233
+674.4 R .233(If the)5.233 F F1(subscript)3.073 E F0 .233
 (used to reference an element of an inde)3.413 F -.15(xe)-.15 G 2.733
 (da).15 G .233(rray e)-2.733 F -.25(va)-.25 G .233(luates to a num-).25
-F .277(ber less than zero, it is used as an of)108 662.4 R .277
+F .277(ber less than zero, it is used as an of)108 686.4 R .277
 (fset from one greater than the array')-.25 F 2.777(sm)-.55 G .277
-(aximum inde)-2.777 F 2.777(x\()-.15 G .278(so a subcript of)-2.777 F
-(-1 refers to the last element of the array\).)108 674.4 Q .168
-(An array v)108 691.2 R .168
+(aximum inde)-2.777 F 2.777(x\()-.15 G .277(so a subcript of)-2.777 F
+(-1 refers to the last element of the array\).)108 698.4 Q .168
+(An array v)108 715.2 R .168
 (ariable is considered set if a subscript has been assigned a v)-.25 F
 2.668(alue. The)-.25 F .168(null string is a v)2.668 F .168(alid v)-.25
-F(alue.)-.25 E(The)108 708 Q F1(unset)2.766 E F0 -.2(bu)2.766 G .267
-(iltin is used to destro).2 F 2.767(ya)-.1 G(rrays.)-2.767 E F1(unset)
-5.267 E F2(name)2.767 E F0([)A F2(subscript)A F0 2.767(]d)C(estro)-2.767
-E .267(ys the array element at inde)-.1 F(x)-.15 E F2(sub-)2.767 E
-(script)108 720 Q F0 6.205(.C)C 1.205(are must be tak)-6.205 F 1.205
-(en to a)-.1 F -.2(vo)-.2 G 1.205(id unw).2 F 1.205(anted side ef)-.1 F
-1.204(fects caused by pathname e)-.25 F(xpansion.)-.15 E F1(unset)6.204
-E F2(name)3.704 E F0(,)A(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(17)
-200.665 E 0 Cg EP
+F(alue.)-.25 E(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(17)
+185.115 E 0 Cg EP
 %%Page: 18 18
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(where)108 84 Q/F1 10/Times-Italic@0 SF(name)2.5 E F0(is an array)
-2.5 E 2.5(,o)-.65 G(r)-2.5 E/F2 10/Times-Bold@0 SF(unset)2.5 E F1(name)
-2.5 E F0([)A F1(subscript)A F0(], where)A F1(subscript)2.5 E F0(is)2.5 E
-F2(*)2.5 E F0(or)2.5 E F2(@)2.5 E F0 2.5(,r)C(emo)-2.5 E -.15(ve)-.15 G
-2.5(st).15 G(he entire array)-2.5 E(.)-.65 E(The)108 100.8 Q F2(declar)
-3.573 E(e)-.18 E F0(,)A F2(local)3.573 E F0 3.573(,a)C(nd)-3.573 E F2
--.18(re)3.573 G(adonly).18 E F0 -.2(bu)3.573 G 1.073
-(iltins each accept a).2 F F2<ad61>3.573 E F0 1.073
-(option to specify an inde)3.573 F -.15(xe)-.15 G 3.574(da).15 G 1.074
-(rray and a)-3.574 F F2<ad41>3.574 E F0 .339
-(option to specify an associati)108 112.8 R .638 -.15(ve a)-.25 H(rray)
+-.35 E(The)108 84 Q/F1 10/Times-Bold@0 SF(unset)2.767 E F0 -.2(bu)2.767
+G .267(iltin is used to destro).2 F 2.767(ya)-.1 G(rrays.)-2.767 E F1
+(unset)5.267 E/F2 10/Times-Italic@0 SF(name)2.767 E F0([)A F2(subscript)
+A F0 2.767(]d)C(estro)-2.767 E .267(ys the array element at inde)-.1 F
+(x)-.15 E F2(sub-)2.766 E(script)108 96 Q F0 6.204(.C)C 1.204
+(are must be tak)-6.204 F 1.204(en to a)-.1 F -.2(vo)-.2 G 1.205(id unw)
+.2 F 1.205(anted side ef)-.1 F 1.205(fects caused by pathname e)-.25 F
+(xpansion.)-.15 E F1(unset)6.205 E F2(name)3.705 E F0(,)A(where)108 108
+Q F2(name)2.5 E F0(is an array)2.5 E 2.5(,o)-.65 G(r)-2.5 E F1(unset)2.5
+E F2(name)2.5 E F0([)A F2(subscript)A F0(], where)A F2(subscript)2.5 E
+F0(is)2.5 E F1(*)2.5 E F0(or)2.5 E F1(@)2.5 E F0 2.5(,r)C(emo)-2.5 E
+-.15(ve)-.15 G 2.5(st).15 G(he entire array)-2.5 E(.)-.65 E(The)108
+124.8 Q F1(declar)3.574 E(e)-.18 E F0(,)A F1(local)3.574 E F0 3.574(,a)C
+(nd)-3.574 E F1 -.18(re)3.574 G(adonly).18 E F0 -.2(bu)3.574 G 1.073
+(iltins each accept a).2 F F1<ad61>3.573 E F0 1.073
+(option to specify an inde)3.573 F -.15(xe)-.15 G 3.573(da).15 G 1.073
+(rray and a)-3.573 F F1<ad41>3.573 E F0 .338
+(option to specify an associati)108 136.8 R .638 -.15(ve a)-.25 H(rray)
 .15 E 5.338(.I)-.65 G 2.838(fb)-5.338 G .338(oth options are supplied,)
--2.838 F F2<ad41>2.838 E F0(tak)2.838 E .338(es precedence.)-.1 F(The)
-5.338 E F2 -.18(re)2.838 G(ad).18 E F0 -.2(bu)2.838 G(iltin).2 E .44
-(accepts a)108 124.8 R F2<ad61>2.941 E F0 .441
+-2.838 F F1<ad41>2.838 E F0(tak)2.838 E .338(es precedence.)-.1 F(The)
+5.338 E F1 -.18(re)2.839 G(ad).18 E F0 -.2(bu)2.839 G(iltin).2 E .441
+(accepts a)108 148.8 R F1<ad61>2.941 E F0 .441
 (option to assign a list of w)2.941 F .441
 (ords read from the standard input to an array)-.1 F 5.441(.T)-.65 G(he)
--5.441 E F2(set)2.941 E F0(and)2.941 E F2(declar)2.941 E(e)-.18 E F0 -.2
-(bu)108 136.8 S(iltins display array v).2 E(alues in a w)-.25 E
+-5.441 E F1(set)2.941 E F0(and)2.941 E F1(declar)2.94 E(e)-.18 E F0 -.2
+(bu)108 160.8 S(iltins display array v).2 E(alues in a w)-.25 E
 (ay that allo)-.1 E(ws them to be reused as assignments.)-.25 E/F3 10.95
-/Times-Bold@0 SF(EXP)72 153.6 Q(ANSION)-.81 E F0 .76(Expansion is perfo\
-rmed on the command line after it has been split into w)108 165.6 R 3.26
+/Times-Bold@0 SF(EXP)72 177.6 Q(ANSION)-.81 E F0 .76(Expansion is perfo\
+rmed on the command line after it has been split into w)108 189.6 R 3.26
 (ords. There)-.1 F .76(are se)3.26 F -.15(ve)-.25 G 3.26(nk).15 G .76
-(inds of)-3.26 F -.15(ex)108 177.6 S .369(pansion performed:).15 F F1
-(br)2.869 E .369(ace e)-.15 F(xpansion)-.2 E F0(,).24 E F1 .369(tilde e)
-2.869 F(xpansion)-.2 E F0(,).24 E F1(par)2.869 E .369
-(ameter and variable e)-.15 F(xpansion)-.2 E F0(,).24 E F1 .37
-(command sub-)2.869 F(stitution)108 189.6 Q F0(,).24 E F1(arithmetic e)
-2.5 E(xpansion)-.2 E F0(,).24 E F1(wor)2.5 E 2.5(ds)-.37 G(plitting)-2.5
-E F0 2.5(,a).22 G(nd)-2.5 E F1(pathname e)2.5 E(xpansion)-.2 E F0(.).24
-E .471(The order of e)108 206.4 R .471(xpansions is: brace e)-.15 F .471
+(inds of)-3.26 F -.15(ex)108 201.6 S .37(pansion performed:).15 F F2(br)
+2.869 E .369(ace e)-.15 F(xpansion)-.2 E F0(,).24 E F2 .369(tilde e)
+2.869 F(xpansion)-.2 E F0(,).24 E F2(par)2.869 E .369
+(ameter and variable e)-.15 F(xpansion)-.2 E F0(,).24 E F2 .369
+(command sub-)2.869 F(stitution)108 213.6 Q F0(,).24 E F2(arithmetic e)
+2.5 E(xpansion)-.2 E F0(,).24 E F2(wor)2.5 E 2.5(ds)-.37 G(plitting)-2.5
+E F0 2.5(,a).22 G(nd)-2.5 E F2(pathname e)2.5 E(xpansion)-.2 E F0(.).24
+E .47(The order of e)108 230.4 R .471(xpansions is: brace e)-.15 F .471
 (xpansion, tilde e)-.15 F .471(xpansion, parameter)-.15 F 2.971(,v)-.4 G
-.47(ariable and arithmetic e)-3.221 F(xpansion)-.15 E
-(and command substitution \(done in a left-to-right f)108 218.4 Q
+.471(ariable and arithmetic e)-3.221 F(xpansion)-.15 E
+(and command substitution \(done in a left-to-right f)108 242.4 Q
 (ashion\), w)-.1 E(ord splitting, and pathname e)-.1 E(xpansion.)-.15 E
-(On systems that can support it, there is an additional e)108 235.2 Q
-(xpansion a)-.15 E -.25(va)-.2 G(ilable:).25 E F1(pr)2.5 E
-(ocess substitution)-.45 E F0(.)A 1.486(Only brace e)108 252 R 1.486
-(xpansion, w)-.15 F 1.486(ord splitting, and pathname e)-.1 F 1.487
-(xpansion can change the number of w)-.15 F 1.487(ords of the)-.1 F -.15
-(ex)108 264 S 1.165(pansion; other e).15 F 1.165(xpansions e)-.15 F
-1.165(xpand a single w)-.15 F 1.165(ord to a single w)-.1 F 3.665
-(ord. The)-.1 F 1.164(only e)3.665 F 1.164(xceptions to this are the)
--.15 F -.15(ex)108 276 S(pansions of ").15 E F2($@)A F0 2.5("a)C(nd ")
--2.5 E F2(${)A F1(name)A F2([@]})A F0 2.5("a)C 2.5(se)-2.5 G
+(On systems that can support it, there is an additional e)108 259.2 Q
+(xpansion a)-.15 E -.25(va)-.2 G(ilable:).25 E F2(pr)2.5 E
+(ocess substitution)-.45 E F0(.)A 1.487(Only brace e)108 276 R 1.487
+(xpansion, w)-.15 F 1.487(ord splitting, and pathname e)-.1 F 1.487
+(xpansion can change the number of w)-.15 F 1.486(ords of the)-.1 F -.15
+(ex)108 288 S 1.164(pansion; other e).15 F 1.164(xpansions e)-.15 F
+1.164(xpand a single w)-.15 F 1.165(ord to a single w)-.1 F 3.665
+(ord. The)-.1 F 1.165(only e)3.665 F 1.165(xceptions to this are the)
+-.15 F -.15(ex)108 300 S(pansions of ").15 E F1($@)A F0 2.5("a)C(nd ")
+-2.5 E F1(${)A F2(name)A F1([@]})A F0 2.5("a)C 2.5(se)-2.5 G
 (xplained abo)-2.65 E .3 -.15(ve \()-.15 H(see).15 E/F4 9/Times-Bold@0
-SF -.666(PA)2.5 G(RAMETERS).666 E/F5 9/Times-Roman@0 SF(\).)A F2
-(Brace Expansion)87 292.8 Q F1(Br)108.58 304.8 Q .606(ace e)-.15 F
+SF -.666(PA)2.5 G(RAMETERS).666 E/F5 9/Times-Roman@0 SF(\).)A F1
+(Brace Expansion)87 316.8 Q F2(Br)108.58 328.8 Q .606(ace e)-.15 F
 (xpansion)-.2 E F0 .606
 (is a mechanism by which arbitrary strings may be generated.)3.346 F
-.606(This mechanism is similar)5.606 F(to)108 316.8 Q F1 .415
+.606(This mechanism is similar)5.606 F(to)108 340.8 Q F2 .415
 (pathname e)2.915 F(xpansion)-.2 E F0 2.915(,b)C .415
 (ut the \214lenames generated need not e)-3.115 F 2.915(xist. P)-.15 F
 .415(atterns to be brace e)-.15 F .415(xpanded tak)-.15 F 2.915(et)-.1 G
-(he)-2.915 E .151(form of an optional)108 328.8 R F1(pr)2.651 E(eamble)
+(he)-2.915 E .152(form of an optional)108 352.8 R F2(pr)2.652 E(eamble)
 -.37 E F0 2.651(,f).18 G(ollo)-2.651 E .151
 (wed by either a series of comma-separated strings or a sequence e)-.25
-F(xpres-)-.15 E .563(sion between a pair of braces, follo)108 340.8 R
-.563(wed by an optional)-.25 F F1(postscript)3.063 E F0 5.563(.T).68 G
+F(xpres-)-.15 E .563(sion between a pair of braces, follo)108 364.8 R
+.563(wed by an optional)-.25 F F2(postscript)3.063 E F0 5.563(.T).68 G
 .563(he preamble is pre\214x)-5.563 F .563(ed to each string)-.15 F .659
 (contained within the braces, and the postscript is then appended to ea\
-ch resulting string, e)108 352.8 R .659(xpanding left to)-.15 F(right.)
-108 364.8 Q .719(Brace e)108 381.6 R .719(xpansions may be nested.)-.15
+ch resulting string, e)108 376.8 R .658(xpanding left to)-.15 F(right.)
+108 388.8 Q .718(Brace e)108 405.6 R .719(xpansions may be nested.)-.15
 F .719(The results of each e)5.719 F .719
 (xpanded string are not sorted; left to right order is)-.15 F(preserv)
-108 393.6 Q 2.5(ed. F)-.15 F(or e)-.15 E(xample, a)-.15 E F2({)A F0
-(d,c,b)A F2(})A F0 2.5(ee)C(xpands into `ade ace abe'.)-2.65 E 3.242(As)
-108 410.4 S .742(equence e)-3.242 F .742(xpression tak)-.15 F .742
-(es the form)-.1 F F2({)3.242 E F1(x)A F2(..)A F1(y)A F2([..)A F1(incr)A
-F2(]})A F0 3.242(,w)C(here)-3.242 E F1(x)3.242 E F0(and)3.243 E F1(y)
-3.243 E F0 .743(are either inte)3.243 F .743(gers or single characters,)
--.15 F(and)108 422.4 Q F1(incr)3.032 E F0 3.032(,a)C 3.032(no)-3.032 G
+108 417.6 Q 2.5(ed. F)-.15 F(or e)-.15 E(xample, a)-.15 E F1({)A F0
+(d,c,b)A F1(})A F0 2.5(ee)C(xpands into `ade ace abe'.)-2.65 E 3.243(As)
+108 434.4 S .743(equence e)-3.243 F .743(xpression tak)-.15 F .743
+(es the form)-.1 F F1({)3.243 E F2(x)A F1(..)A F2(y)A F1([..)A F2(incr)A
+F1(]})A F0 3.243(,w)C(here)-3.243 E F2(x)3.243 E F0(and)3.242 E F2(y)
+3.242 E F0 .742(are either inte)3.242 F .742(gers or single characters,)
+-.15 F(and)108 446.4 Q F2(incr)3.031 E F0 3.031(,a)C 3.032(no)-3.031 G
 .532(ptional increment, is an inte)-3.032 F(ger)-.15 E 5.532(.W)-.55 G
 .532(hen inte)-5.532 F .532(gers are supplied, the e)-.15 F .532
-(xpression e)-.15 F .531(xpands to each)-.15 F .077(number between)108
-434.4 R F1(x)2.577 E F0(and)2.577 E F1(y)2.577 E F0 2.577(,i)C(nclusi)
--2.577 E -.15(ve)-.25 G 5.077(.S).15 G .077(upplied inte)-5.077 F .077
-(gers may be pre\214x)-.15 F .077(ed with)-.15 F F1(0)2.577 E F0 .078
-(to force each term to ha)2.578 F .378 -.15(ve t)-.2 H(he).15 E .015
-(same width.)108 446.4 R .015(When either)5.015 F F1(x)2.515 E F0(or)
-2.515 E F1(y)2.515 E F0(be)2.515 E .014(gins with a zero, the shell att\
+(xpression e)-.15 F .532(xpands to each)-.15 F .078(number between)108
+458.4 R F2(x)2.578 E F0(and)2.578 E F2(y)2.578 E F0 2.578(,i)C(nclusi)
+-2.578 E -.15(ve)-.25 G 5.078(.S).15 G .078(upplied inte)-5.078 F .077
+(gers may be pre\214x)-.15 F .077(ed with)-.15 F F2(0)2.577 E F0 .077
+(to force each term to ha)2.577 F .377 -.15(ve t)-.2 H(he).15 E .014
+(same width.)108 470.4 R .014(When either)5.014 F F2(x)2.514 E F0(or)
+2.514 E F2(y)2.514 E F0(be)2.514 E .015(gins with a zero, the shell att\
 empts to force all generated terms to contain)-.15 F 1.143
-(the same number of digits, zero-padding where necessary)108 458.4 R
+(the same number of digits, zero-padding where necessary)108 482.4 R
 6.143(.W)-.65 G 1.143(hen characters are supplied, the e)-6.143 F
-(xpression)-.15 E -.15(ex)108 470.4 S .542(pands to each character le)
-.15 F .542(xicographically between)-.15 F F1(x)3.042 E F0(and)3.042 E F1
+(xpression)-.15 E -.15(ex)108 494.4 S .541(pands to each character le)
+.15 F .541(xicographically between)-.15 F F2(x)3.041 E F0(and)3.042 E F2
 (y)3.042 E F0 3.042(,i)C(nclusi)-3.042 E -.15(ve)-.25 G 5.542(.N).15 G
-.542(ote that both)-5.542 F F1(x)3.041 E F0(and)3.041 E F1(y)3.041 E F0
-.541(must be of)3.041 F .182(the same type.)108 482.4 R .182
-(When the increment is supplied, it is used as the dif)5.182 F .183
-(ference between each term.)-.25 F .183(The def)5.183 F(ault)-.1 E
-(increment is 1 or -1 as appropriate.)108 494.4 Q .582(Brace e)108 511.2
-R .582(xpansion is performed before an)-.15 F 3.082(yo)-.15 G .581
-(ther e)-3.082 F .581(xpansions, and an)-.15 F 3.081(yc)-.15 G .581
-(haracters special to other e)-3.081 F(xpansions)-.15 E .015
-(are preserv)108 523.2 R .015(ed in the result.)-.15 F .015
-(It is strictly te)5.015 F(xtual.)-.15 E F2(Bash)5.016 E F0 .016
-(does not apply an)2.516 F 2.516(ys)-.15 G .016
-(yntactic interpretation to the con-)-2.516 F(te)108 535.2 Q
+.542(ote that both)-5.542 F F2(x)3.042 E F0(and)3.042 E F2(y)3.042 E F0
+.542(must be of)3.042 F .183(the same type.)108 506.4 R .182
+(When the increment is supplied, it is used as the dif)5.183 F .182
+(ference between each term.)-.25 F .182(The def)5.182 F(ault)-.1 E
+(increment is 1 or -1 as appropriate.)108 518.4 Q .581(Brace e)108 535.2
+R .581(xpansion is performed before an)-.15 F 3.081(yo)-.15 G .581
+(ther e)-3.081 F .581(xpansions, and an)-.15 F 3.082(yc)-.15 G .582
+(haracters special to other e)-3.082 F(xpansions)-.15 E .016
+(are preserv)108 547.2 R .016(ed in the result.)-.15 F .016
+(It is strictly te)5.016 F(xtual.)-.15 E F1(Bash)5.016 E F0 .015
+(does not apply an)2.516 F 2.515(ys)-.15 G .015
+(yntactic interpretation to the con-)-2.515 F(te)108 559.2 Q
 (xt of the e)-.15 E(xpansion or the te)-.15 E(xt between the braces.)
--.15 E 3.633(Ac)108 552 S 1.133(orrectly-formed brace e)-3.633 F 1.132(\
+-.15 E 3.632(Ac)108 576 S 1.132(orrectly-formed brace e)-3.632 F 1.132(\
 xpansion must contain unquoted opening and closing braces, and at least\
- one)-.15 F 3.44(unquoted comma or a v)108 564 R 3.441(alid sequence e)
+ one)-.15 F 3.441(unquoted comma or a v)108 588 R 3.441(alid sequence e)
 -.25 F 5.941(xpression. An)-.15 F 5.941(yi)-.15 G 3.441
-(ncorrectly formed brace e)-5.941 F 3.441(xpansion is left)-.15 F 2.755
-(unchanged. A)108 576 R F2({)2.755 E F0(or)2.755 E F2(,)2.755 E F0 .255
+(ncorrectly formed brace e)-5.941 F 3.44(xpansion is left)-.15 F 2.755
+(unchanged. A)108 600 R F1({)2.755 E F0(or)2.755 E F1(,)2.755 E F0 .255
 (may be quoted with a backslash to pre)2.755 F -.15(ve)-.25 G .255
-(nt its being considered part of a brace e).15 F(xpres-)-.15 E 2.91
-(sion. T)108 588 R 2.91(oa)-.8 G -.2(vo)-3.11 G .41
+(nt its being considered part of a brace e).15 F(xpres-)-.15 E 2.911
+(sion. T)108 612 R 2.911(oa)-.8 G -.2(vo)-3.111 G .411
 (id con\215icts with parameter e).2 F .411(xpansion, the string)-.15 F
-F2(${)2.911 E F0 .411(is not considered eligible for brace e)2.911 F
-(xpan-)-.15 E(sion.)108 600 Q 1.476(This construct is typically used as\
+F1(${)2.911 E F0 .41(is not considered eligible for brace e)2.911 F
+(xpan-)-.15 E(sion.)108 624 Q 1.476(This construct is typically used as\
  shorthand when the common pre\214x of the strings to be generated is)
-108 616.8 R(longer than in the abo)108 628.8 Q .3 -.15(ve ex)-.15 H
-(ample:).15 E(mkdir /usr/local/src/bash/{old,ne)144 645.6 Q -.65(w,)-.25
-G(dist,b).65 E(ugs})-.2 E(or)108 657.6 Q(cho)144 669.6 Q
+108 640.8 R(longer than in the abo)108 652.8 Q .3 -.15(ve ex)-.15 H
+(ample:).15 E(mkdir /usr/local/src/bash/{old,ne)144 669.6 Q -.65(w,)-.25
+G(dist,b).65 E(ugs})-.2 E(or)108 681.6 Q(cho)144 693.6 Q
 (wn root /usr/{ucb/{e)-.25 E(x,edit},lib/{e)-.15 E(x?.?*,ho)-.15 E(w_e)
--.25 E(x}})-.15 E .618(Brace e)108 686.4 R .618
+-.25 E(x}})-.15 E .618(Brace e)108 710.4 R .618
 (xpansion introduces a slight incompatibility with historical v)-.15 F
-.618(ersions of)-.15 F F2(sh)3.118 E F0(.)A F2(sh)5.618 E F0 .618
-(does not treat open-)3.118 F .248
-(ing or closing braces specially when the)108 698.4 R 2.748(ya)-.15 G
-.247(ppear as part of a w)-2.748 F .247(ord, and preserv)-.1 F .247
-(es them in the output.)-.15 F F2(Bash)5.247 E F0(remo)108 710.4 Q -.15
-(ve)-.15 G 3.53(sb).15 G 1.03(races from w)-3.53 F 1.03
-(ords as a consequence of brace e)-.1 F 3.53(xpansion. F)-.15 F 1.03
-(or e)-.15 F 1.03(xample, a w)-.15 F 1.03(ord entered to)-.1 F F2(sh)
-3.53 E F0(as)3.53 E F1(\214le{1,2})108 722.4 Q F0 .515
-(appears identically in the output.)3.015 F .515(The same w)5.515 F .515
-(ord is output as)-.1 F F1 .514(\214le1 \214le2)4.925 F F0 .514(after e)
-3.034 F .514(xpansion by)-.15 F F2(bash)3.014 E F0(.)A(GNU Bash 4.2)72
-768 Q(2011 July 7)151.505 E(18)200.665 E 0 Cg EP
+.618(ersions of)-.15 F F1(sh)3.118 E F0(.)A F1(sh)5.618 E F0 .618
+(does not treat open-)3.118 F .247
+(ing or closing braces specially when the)108 722.4 R 2.747(ya)-.15 G
+.247(ppear as part of a w)-2.747 F .248(ord, and preserv)-.1 F .248
+(es them in the output.)-.15 F F1(Bash)5.248 E F0(GNU Bash 4.2)72 768 Q
+(2011 September 25)135.955 E(18)185.115 E 0 Cg EP
 %%Page: 19 19
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .436(If strict compatibility with)108 84 R/F1 10/Times-Bold@0 SF
+-.35 E(remo)108 84 Q -.15(ve)-.15 G 3.53(sb).15 G 1.03(races from w)
+-3.53 F 1.03(ords as a consequence of brace e)-.1 F 3.53(xpansion. F)
+-.15 F 1.03(or e)-.15 F 1.03(xample, a w)-.15 F 1.03(ord entered to)-.1
+F/F1 10/Times-Bold@0 SF(sh)3.53 E F0(as)3.53 E/F2 10/Times-Italic@0 SF
+(\214le{1,2})108 96 Q F0 .514(appears identically in the output.)3.014 F
+.515(The same w)5.515 F .515(ord is output as)-.1 F F2 .515
+(\214le1 \214le2)4.925 F F0 .515(after e)3.035 F .515(xpansion by)-.15 F
+F1(bash)3.015 E F0(.)A .437(If strict compatibility with)108 108 R F1
 (sh)2.936 E F0 .436(is desired, start)2.936 F F1(bash)2.936 E F0 .436
 (with the)2.936 F F1(+B)2.936 E F0 .436(option or disable brace e)2.936
-F .437(xpansion with the)-.15 F F1(+B)108 96 Q F0(option to the)2.5 E F1
-(set)2.5 E F0(command \(see)2.5 E/F2 9/Times-Bold@0 SF(SHELL B)2.5 E
+F .436(xpansion with the)-.15 F F1(+B)108 120 Q F0(option to the)2.5 E
+F1(set)2.5 E F0(command \(see)2.5 E/F3 9/Times-Bold@0 SF(SHELL B)2.5 E
 (UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1 -.18(Ti)
-87 112.8 S(lde Expansion).18 E F0 1.087(If a w)108 124.8 R 1.087(ord be)
--.1 F 1.087(gins with an unquoted tilde character \(`)-.15 F F1(~)A F0
-1.086('\), all of the characters preceding the \214rst unquoted)B .185(\
+87 136.8 S(lde Expansion).18 E F0 1.086(If a w)108 148.8 R 1.086(ord be)
+-.1 F 1.086(gins with an unquoted tilde character \(`)-.15 F F1(~)A F0
+1.087('\), all of the characters preceding the \214rst unquoted)B .185(\
 slash \(or all characters, if there is no unquoted slash\) are consider\
-ed a)108 136.8 R/F3 10/Times-Italic@0 SF(tilde-pr)2.685 E(e\214x)-.37 E
-F0 5.185(.I)C 2.685(fn)-5.185 G .185(one of the characters)-2.685 F .726
-(in the tilde-pre\214x are quoted, the characters in the tilde-pre\214x\
- follo)108 148.8 R .725(wing the tilde are treated as a possible)-.25 F
-F3(lo)108 160.8 Q .522(gin name)-.1 F F0 5.522(.I)C 3.022(ft)-5.522 G
-.522
+ed a)108 160.8 R F2(tilde-pr)2.685 E(e\214x)-.37 E F0 5.185(.I)C 2.685
+(fn)-5.185 G .185(one of the characters)-2.685 F .725(in the tilde-pre\
+\214x are quoted, the characters in the tilde-pre\214x follo)108 172.8 R
+.726(wing the tilde are treated as a possible)-.25 F F2(lo)108 184.8 Q
+.523(gin name)-.1 F F0 5.523(.I)C 3.023(ft)-5.523 G .523
 (his login name is the null string, the tilde is replaced with the v)
--3.022 F .523(alue of the shell parameter)-.25 F F2(HOME)108 172.8 Q/F4
-9/Times-Roman@0 SF(.)A F0(If)4.787 E F2(HOME)2.787 E F0 .287
-(is unset, the home directory of the user e)2.537 F -.15(xe)-.15 G .286
-(cuting the shell is substituted instead.).15 F(Other)5.286 E(-)-.2 E(w\
+-3.023 F .522(alue of the shell parameter)-.25 F F3(HOME)108 196.8 Q/F4
+9/Times-Roman@0 SF(.)A F0(If)4.786 E F3(HOME)2.786 E F0 .287
+(is unset, the home directory of the user e)2.536 F -.15(xe)-.15 G .287
+(cuting the shell is substituted instead.).15 F(Other)5.287 E(-)-.2 E(w\
 ise, the tilde-pre\214x is replaced with the home directory associated \
-with the speci\214ed login name.)108 184.8 Q .092
-(If the tilde-pre\214x is a `~+', the v)108 201.6 R .092
-(alue of the shell v)-.25 F(ariable)-.25 E F2(PWD)2.592 E F0 .092
-(replaces the tilde-pre\214x.)2.342 F .093(If the tilde-pre\214x is)
-5.093 F 3.404(a`)108 213.6 S .904(~\255', the v)-3.404 F .904
-(alue of the shell v)-.25 F(ariable)-.25 E F2(OLDPWD)3.404 E F4(,)A F0
-.904(if it is set, is substituted.)3.154 F .903(If the characters follo)
-5.903 F .903(wing the)-.25 F 1.641
-(tilde in the tilde-pre\214x consist of a number)108 225.6 R F3(N)4.141
-E F0 4.142(,o)C 1.642(ptionally pre\214x)-4.142 F 1.642
-(ed by a `+' or a `\255', the tilde-pre\214x is)-.15 F 1.438(replaced w\
+with the speci\214ed login name.)108 208.8 Q .093
+(If the tilde-pre\214x is a `~+', the v)108 225.6 R .092
+(alue of the shell v)-.25 F(ariable)-.25 E F3(PWD)2.592 E F0 .092
+(replaces the tilde-pre\214x.)2.342 F .092(If the tilde-pre\214x is)
+5.092 F 3.403(a`)108 237.6 S .903(~\255', the v)-3.403 F .903
+(alue of the shell v)-.25 F(ariable)-.25 E F3(OLDPWD)3.404 E F4(,)A F0
+.904(if it is set, is substituted.)3.154 F .904(If the characters follo)
+5.904 F .904(wing the)-.25 F 1.642
+(tilde in the tilde-pre\214x consist of a number)108 249.6 R F2(N)4.142
+E F0 4.142(,o)C 1.642(ptionally pre\214x)-4.142 F 1.641
+(ed by a `+' or a `\255', the tilde-pre\214x is)-.15 F 1.437(replaced w\
 ith the corresponding element from the directory stack, as it w)108
-237.6 R 1.437(ould be displayed by the)-.1 F F1(dirs)3.937 E F0 -.2(bu)
-108 249.6 S .454(iltin in).2 F -.2(vo)-.4 G -.1(ke).2 G 2.954(dw).1 G
-.454(ith the tilde-pre\214x as an ar)-2.954 F 2.954(gument. If)-.18 F
-.454(the characters follo)2.954 F .455
+261.6 R 1.438(ould be displayed by the)-.1 F F1(dirs)3.938 E F0 -.2(bu)
+108 273.6 S .455(iltin in).2 F -.2(vo)-.4 G -.1(ke).2 G 2.955(dw).1 G
+.455(ith the tilde-pre\214x as an ar)-2.955 F 2.954(gument. If)-.18 F
+.454(the characters follo)2.954 F .454
 (wing the tilde in the tilde-pre\214x)-.25 F
 (consist of a number without a leading `+' or `\255', `+' is assumed.)
-108 261.6 Q(If the login name is in)108 278.4 Q -.25(va)-.4 G
+108 285.6 Q(If the login name is in)108 302.4 Q -.25(va)-.4 G
 (lid, or the tilde e).25 E(xpansion f)-.15 E(ails, the w)-.1 E
-(ord is unchanged.)-.1 E .167(Each v)108 295.2 R .167
+(ord is unchanged.)-.1 E .166(Each v)108 319.2 R .167
 (ariable assignment is check)-.25 F .167(ed for unquoted tilde-pre\214x)
 -.1 F .167(es immediately follo)-.15 F .167(wing a)-.25 F F1(:)2.667 E
-F0 .167(or the \214rst)2.667 F F1(=)2.666 E F0 5.166(.I)C(n)-5.166 E
-.281(these cases, tilde e)108 307.2 R .282(xpansion is also performed.)
--.15 F(Consequently)5.282 E 2.782(,o)-.65 G .282
-(ne may use \214le names with tildes in assign-)-2.782 F(ments to)108
-319.2 Q F2 -.666(PA)2.5 G(TH)-.189 E F4(,)A F2(MAILP)2.25 E -.855(AT)
--.666 G(H).855 E F4(,)A F0(and)2.25 E F2(CDP)2.5 E -.855(AT)-.666 G(H)
+F0 .167(or the \214rst)2.667 F F1(=)2.667 E F0 5.167(.I)C(n)-5.167 E
+.468(these cases, tilde e)108 331.2 R .468(xpansion is also performed.)
+-.15 F(Consequently)5.467 E 2.967(,o)-.65 G .467
+(ne may use \214lenames with tildes in assign-)-2.967 F(ments to)108
+343.2 Q F3 -.666(PA)2.5 G(TH)-.189 E F4(,)A F3(MAILP)2.25 E -.855(AT)
+-.666 G(H).855 E F4(,)A F0(and)2.25 E F3(CDP)2.5 E -.855(AT)-.666 G(H)
 .855 E F4(,)A F0(and the shell assigns the e)2.25 E(xpanded v)-.15 E
-(alue.)-.25 E F1 -.1(Pa)87 336 S(rameter Expansion).1 E F0 1.606(The `)
-108 348 R F1($)A F0 4.106('c)C 1.606(haracter introduces parameter e)
--4.106 F 1.605(xpansion, command substitution, or arithmetic e)-.15 F
-4.105(xpansion. The)-.15 F .406(parameter name or symbol to be e)108 360
+(alue.)-.25 E F1 -.1(Pa)87 360 S(rameter Expansion).1 E F0 1.605(The `)
+108 372 R F1($)A F0 4.105('c)C 1.605(haracter introduces parameter e)
+-4.105 F 1.606(xpansion, command substitution, or arithmetic e)-.15 F
+4.106(xpansion. The)-.15 F .407(parameter name or symbol to be e)108 384
 R .407(xpanded may be enclosed in braces, which are optional b)-.15 F
-.407(ut serv)-.2 F 2.907(et)-.15 G 2.907(op)-2.907 G(ro-)-2.907 E .033
-(tect the v)108 372 R .033(ariable to be e)-.25 F .033
-(xpanded from characters immediately follo)-.15 F .032
-(wing it which could be interpreted as part)-.25 F(of the name.)108 384
-Q 1.189
-(When braces are used, the matching ending brace is the \214rst `)108
-400.8 R F1(})A F0 3.69('n)C 1.19(ot escaped by a backslash or within a)
--3.69 F 2.15(quoted string, and not within an embedded arithmetic e)108
-412.8 R 2.15(xpansion, command substitution, or parameter)-.15 F -.15
-(ex)108 424.8 S(pansion.).15 E(${)108 441.6 Q F3(par)A(ameter)-.15 E F0
-(})A 1.204(The v)144 453.6 R 1.204(alue of)-.25 F F3(par)3.704 E(ameter)
--.15 E F0 1.204(is substituted.)3.704 F 1.204
-(The braces are required when)6.204 F F3(par)4.955 E(ameter)-.15 E F0
-1.205(is a positional)4.435 F .264
-(parameter with more than one digit, or when)144 465.6 R F3(par)4.014 E
+.406(ut serv)-.2 F 2.906(et)-.15 G 2.906(op)-2.906 G(ro-)-2.906 E .032
+(tect the v)108 396 R .032(ariable to be e)-.25 F .032
+(xpanded from characters immediately follo)-.15 F .033
+(wing it which could be interpreted as part)-.25 F(of the name.)108 408
+Q 1.19(When braces are used, the matching ending brace is the \214rst `)
+108 424.8 R F1(})A F0 3.689('n)C 1.189
+(ot escaped by a backslash or within a)-3.689 F 2.15
+(quoted string, and not within an embedded arithmetic e)108 436.8 R 2.15
+(xpansion, command substitution, or parameter)-.15 F -.15(ex)108 448.8 S
+(pansion.).15 E(${)108 465.6 Q F2(par)A(ameter)-.15 E F0(})A 1.205
+(The v)144 477.6 R 1.205(alue of)-.25 F F2(par)3.705 E(ameter)-.15 E F0
+1.204(is substituted.)3.705 F 1.204(The braces are required when)6.204 F
+F2(par)4.954 E(ameter)-.15 E F0 1.204(is a positional)4.434 F .264
+(parameter with more than one digit, or when)144 489.6 R F2(par)4.014 E
 (ameter)-.15 E F0 .264(is follo)3.494 F .264
 (wed by a character which is not to)-.25 F
-(be interpreted as part of its name.)144 477.6 Q .685
-(If the \214rst character of)108 494.4 R F3(par)3.185 E(ameter)-.15 E F0
+(be interpreted as part of its name.)144 501.6 Q .686
+(If the \214rst character of)108 518.4 R F2(par)3.186 E(ameter)-.15 E F0
 .685(is an e)3.185 F .685(xclamation point \()-.15 F F1(!)A F0 .685
-(\), a le)B -.15(ve)-.25 G 3.186(lo).15 G 3.186(fv)-3.186 G .686
-(ariable indirection is introduced.)-3.436 F F1(Bash)108 506.4 Q F0 .106
+(\), a le)B -.15(ve)-.25 G 3.185(lo).15 G 3.185(fv)-3.185 G .685
+(ariable indirection is introduced.)-3.435 F F1(Bash)108 530.4 Q F0 .106
 (uses the v)2.606 F .106(alue of the v)-.25 F .106
-(ariable formed from the rest of)-.25 F F3(par)2.606 E(ameter)-.15 E F0
+(ariable formed from the rest of)-.25 F F2(par)2.606 E(ameter)-.15 E F0
 .106(as the name of the v)2.606 F .106(ariable; this v)-.25 F(ari-)-.25
-E .351(able is then e)108 518.4 R .351(xpanded and that v)-.15 F .352
+E .352(able is then e)108 542.4 R .352(xpanded and that v)-.15 F .351
 (alue is used in the rest of the substitution, rather than the v)-.25 F
-.352(alue of)-.25 F F3(par)2.852 E(ame-)-.15 E(ter)108 530.4 Q F0 2.52
-(itself. This)2.52 F .02(is kno)2.52 F .02(wn as)-.25 F F3(indir)2.52 E
-.02(ect e)-.37 F(xpansion)-.2 E F0 5.019(.T)C .019(he e)-5.019 F .019
-(xceptions to this are the e)-.15 F .019(xpansions of ${)-.15 F F1(!)A
-F3(pr)A(e\214x)-.37 E F1(*)A F0 2.519(}a)C(nd)-2.519 E(${)108 542.4 Q F1
-(!)A F3(name)A F0([)A F3(@)A F0 .762(]} described belo)B 4.563 -.65
+.351(alue of)-.25 F F2(par)2.851 E(ame-)-.15 E(ter)108 554.4 Q F0 2.519
+(itself. This)2.519 F .019(is kno)2.519 F .019(wn as)-.25 F F2(indir)
+2.519 E .019(ect e)-.37 F(xpansion)-.2 E F0 5.019(.T)C .019(he e)-5.019
+F .02(xceptions to this are the e)-.15 F .02(xpansions of ${)-.15 F F1
+(!)A F2(pr)A(e\214x)-.37 E F1(*)A F0 2.52(}a)C(nd)-2.52 E(${)108 566.4 Q
+F1(!)A F2(name)A F0([)A F2(@)A F0 .763(]} described belo)B 4.563 -.65
 (w. T)-.25 H .763(he e).65 F .763
 (xclamation point must immediately follo)-.15 F 3.263(wt)-.25 G .763
-(he left brace in order to)-3.263 F(introduce indirection.)108 554.4 Q
-.334(In each of the cases belo)108 571.2 R -.65(w,)-.25 G F3(wor)3.484 E
+(he left brace in order to)-3.263 F(introduce indirection.)108 578.4 Q
+.334(In each of the cases belo)108 595.2 R -.65(w,)-.25 G F2(wor)3.484 E
 (d)-.37 E F0 .334(is subject to tilde e)2.834 F .334
 (xpansion, parameter e)-.15 F .334(xpansion, command substitution,)-.15
-F(and arithmetic e)108 583.2 Q(xpansion.)-.15 E .697
-(When not performing substring e)108 600 R .698
+F(and arithmetic e)108 607.2 Q(xpansion.)-.15 E .698
+(When not performing substring e)108 624 R .698
 (xpansion, using the forms documented belo)-.15 F -.65(w,)-.25 G F1
-(bash)3.848 E F0 .698(tests for a parameter)3.198 F
-(that is unset or null.)108 612 Q(Omitting the colon results in a test \
-only for a parameter that is unset.)5 E(${)108 628.8 Q F3(par)A(ameter)
--.15 E F1<3aad>A F3(wor)A(d)-.37 E F0(})A F1 .723(Use Default V)144
-640.8 R(alues)-.92 E F0 5.723(.I)C(f)-5.723 E F3(par)4.473 E(ameter)-.15
-E F0 .723(is unset or null, the e)3.953 F .722(xpansion of)-.15 F F3
-(wor)3.562 E(d)-.37 E F0 .722(is substituted.)3.992 F(Other)5.722 E(-)
--.2 E(wise, the v)144 652.8 Q(alue of)-.25 E F3(par)3.75 E(ameter)-.15 E
-F0(is substituted.)3.23 E(${)108 664.8 Q F3(par)A(ameter)-.15 E F1(:=)A
-F3(wor)A(d)-.37 E F0(})A F1 2.004(Assign Default V)144 676.8 R(alues)
--.92 E F0 7.004(.I)C(f)-7.004 E F3(par)5.754 E(ameter)-.15 E F0 2.005
-(is unset or null, the e)5.234 F 2.005(xpansion of)-.15 F F3(wor)4.845 E
-(d)-.37 E F0 2.005(is assigned to)5.275 F F3(par)144 688.8 Q(ameter)-.15
-E F0 5.279(.T).73 G .279(he v)-5.279 F .279(alue of)-.25 F F3(par)4.029
-E(ameter)-.15 E F0 .278(is then substituted.)3.508 F .278
+(bash)3.848 E F0 .697(tests for a parameter)3.198 F
+(that is unset or null.)108 636 Q(Omitting the colon results in a test \
+only for a parameter that is unset.)5 E(${)108 652.8 Q F2(par)A(ameter)
+-.15 E F1<3aad>A F2(wor)A(d)-.37 E F0(})A F1 .722(Use Default V)144
+664.8 R(alues)-.92 E F0 5.722(.I)C(f)-5.722 E F2(par)4.472 E(ameter)-.15
+E F0 .723(is unset or null, the e)3.952 F .723(xpansion of)-.15 F F2
+(wor)3.563 E(d)-.37 E F0 .723(is substituted.)3.993 F(Other)5.723 E(-)
+-.2 E(wise, the v)144 676.8 Q(alue of)-.25 E F2(par)3.75 E(ameter)-.15 E
+F0(is substituted.)3.23 E(${)108 688.8 Q F2(par)A(ameter)-.15 E F1(:=)A
+F2(wor)A(d)-.37 E F0(})A F1 2.005(Assign Default V)144 700.8 R(alues)
+-.92 E F0 7.005(.I)C(f)-7.005 E F2(par)5.755 E(ameter)-.15 E F0 2.005
+(is unset or null, the e)5.235 F 2.004(xpansion of)-.15 F F2(wor)4.844 E
+(d)-.37 E F0 2.004(is assigned to)5.274 F F2(par)144 712.8 Q(ameter)-.15
+E F0 5.278(.T).73 G .278(he v)-5.278 F .278(alue of)-.25 F F2(par)4.028
+E(ameter)-.15 E F0 .278(is then substituted.)3.508 F .279
 (Positional parameters and special param-)5.278 F
-(eters may not be assigned to in this w)144 700.8 Q(ay)-.1 E(.)-.65 E
-(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(19)200.665 E 0 Cg EP
+(eters may not be assigned to in this w)144 724.8 Q(ay)-.1 E(.)-.65 E
+(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(19)185.115 E 0 Cg EP
 %%Page: 20 20
 %%BeginPageSetup
 BP
@@ -2545,9 +2550,9 @@ BP
 96 R .535(or if Null or Unset)-.18 F F0 5.535(.I)C(f)-5.535 E F1(par)
 4.285 E(ameter)-.15 E F0 .535(is null or unset, the e)3.765 F .535
 (xpansion of)-.15 F F1(wor)3.035 E(d)-.37 E F0 .535(\(or a mes-)3.035 F
-.662(sage to that ef)144 108 R .662(fect if)-.25 F F1(wor)3.502 E(d)-.37
-E F0 .661(is not present\) is written to the standard error and the she\
-ll, if it is not)3.932 F(interacti)144 120 Q -.15(ve)-.25 G 2.5(,e).15 G
+.661(sage to that ef)144 108 R .661(fect if)-.25 F F1(wor)3.501 E(d)-.37
+E F0 .662(is not present\) is written to the standard error and the she\
+ll, if it is not)3.931 F(interacti)144 120 Q -.15(ve)-.25 G 2.5(,e).15 G
 2.5(xits. Otherwise,)-2.65 F(the v)2.5 E(alue of)-.25 E F1(par)2.5 E
 (ameter)-.15 E F0(is substituted.)2.5 E(${)108 132 Q F1(par)A(ameter)
 -.15 E F2(:+)A F1(wor)A(d)-.37 E F0(})A F2 .745(Use Alter)144 144 R .745
@@ -2557,85 +2562,85 @@ ll, if it is not)3.932 F(interacti)144 120 Q -.15(ve)-.25 G 2.5(,e).15 G
 (xpan-)-.15 E(sion of)144 156 Q F1(wor)2.84 E(d)-.37 E F0
 (is substituted.)3.27 E(${)108 168 Q F1(par)A(ameter)-.15 E F2(:)A F1
 (of)A(fset)-.18 E F0(})A(${)108 180 Q F1(par)A(ameter)-.15 E F2(:)A F1
-(of)A(fset)-.18 E F2(:)A F1(length)A F0(})A F2 .797(Substring Expansion)
-144 192 R F0 5.797(.E)C .796(xpands to up to)-5.797 F F1(length)3.296 E
-F0 .796(characters of)3.296 F F1(par)3.296 E(ameter)-.15 E F0 .796
-(starting at the character)3.296 F .228(speci\214ed by)144 204 R F1(of)
-2.728 E(fset)-.18 E F0 5.228(.I)C(f)-5.228 E F1(length)2.728 E F0 .229
+(of)A(fset)-.18 E F2(:)A F1(length)A F0(})A F2 .796(Substring Expansion)
+144 192 R F0 5.796(.E)C .796(xpands to up to)-5.796 F F1(length)3.296 E
+F0 .796(characters of)3.296 F F1(par)3.296 E(ameter)-.15 E F0 .797
+(starting at the character)3.296 F .229(speci\214ed by)144 204 R F1(of)
+2.729 E(fset)-.18 E F0 5.229(.I)C(f)-5.229 E F1(length)2.729 E F0 .229
 (is omitted, e)2.729 F .229(xpands to the substring of)-.15 F F1(par)
-2.729 E(ameter)-.15 E F0 .229(starting at the char)2.729 F(-)-.2 E .433
+2.729 E(ameter)-.15 E F0 .228(starting at the char)2.728 F(-)-.2 E .432
 (acter speci\214ed by)144 216 R F1(of)2.933 E(fset)-.18 E F0(.)A F1
 (length)5.433 E F0(and)2.933 E F1(of)2.933 E(fset)-.18 E F0 .433
 (are arithmetic e)2.933 F .433(xpressions \(see)-.15 F/F3 9/Times-Bold@0
-SF .432(ARITHMETIC EV)2.933 F(ALU-)-1.215 E -.855(AT)144 228 S(ION).855
-E F0(belo)2.925 E 3.175(w\). If)-.25 F F1(of)3.175 E(fset)-.18 E F0 -.25
-(eva)3.175 G .676(luates to a number less than zero, the v).25 F .676
-(alue is used as an of)-.25 F .676(fset from)-.25 F .103
+SF .433(ARITHMETIC EV)2.933 F(ALU-)-1.215 E -.855(AT)144 228 S(ION).855
+E F0(belo)2.926 E 3.176(w\). If)-.25 F F1(of)3.176 E(fset)-.18 E F0 -.25
+(eva)3.176 G .676(luates to a number less than zero, the v).25 F .675
+(alue is used as an of)-.25 F .675(fset from)-.25 F .102
 (the end of the v)144 240 R .103(alue of)-.25 F F1(par)2.603 E(ameter)
 -.15 E F0 5.103(.I)C(f)-5.103 E F1(length)2.603 E F0 -.25(eva)2.603 G
-.103(luates to a number less than zero, and).25 F F1(par)2.602 E(ameter)
--.15 E F0(is)2.602 E(not)144 252 Q F2(@)3.642 E F0 1.142
-(and not an inde)3.642 F -.15(xe)-.15 G 3.642(do).15 G 3.642(ra)-3.642 G
-(ssociati)-3.642 E 1.443 -.15(ve a)-.25 H(rray).15 E 3.643(,i)-.65 G
-3.643(ti)-3.643 G 3.643(si)-3.643 G 1.143(nterpreted as an of)-3.643 F
-1.143(fset from the end of the)-.25 F -.25(va)144 264 S .038(lue of).25
-F F1(par)2.538 E(ameter)-.15 E F0 .037
-(rather than a number of characters, and the e)2.538 F .037
-(xpansion is the characters between)-.15 F .073(the tw)144 276 R 2.573
-(oo)-.1 G -.25(ff)-2.573 G 2.573(sets. If).25 F F1(par)2.573 E(ameter)
+.103(luates to a number less than zero, and).25 F F1(par)2.603 E(ameter)
+-.15 E F0(is)2.603 E(not)144 252 Q F2(@)3.643 E F0 1.143
+(and not an inde)3.643 F -.15(xe)-.15 G 3.643(do).15 G 3.643(ra)-3.643 G
+(ssociati)-3.643 E 1.443 -.15(ve a)-.25 H(rray).15 E 3.643(,i)-.65 G
+3.643(ti)-3.643 G 3.643(si)-3.643 G 1.142(nterpreted as an of)-3.643 F
+1.142(fset from the end of the)-.25 F -.25(va)144 264 S .037(lue of).25
+F F1(par)2.537 E(ameter)-.15 E F0 .037
+(rather than a number of characters, and the e)2.537 F .038
+(xpansion is the characters between)-.15 F .074(the tw)144 276 R 2.574
+(oo)-.1 G -.25(ff)-2.574 G 2.574(sets. If).25 F F1(par)2.574 E(ameter)
 -.15 E F0(is)2.574 E F2(@)2.574 E F0 2.574(,t)C .074(he result is)-2.574
-F F1(length)2.574 E F0 .074(positional parameters be)2.574 F .074
-(ginning at)-.15 F F1(of)2.574 E(fset)-.18 E F0 5.074(.I)C(f)-5.074 E F1
+F F1(length)2.574 E F0 .074(positional parameters be)2.574 F .073
+(ginning at)-.15 F F1(of)2.573 E(fset)-.18 E F0 5.073(.I)C(f)-5.073 E F1
 (par)144 288 Q(ameter)-.15 E F0 .205(is an inde)2.705 F -.15(xe)-.15 G
 2.705(da).15 G .205(rray name subscripted by @ or *, the result is the)
--2.705 F F1(length)2.705 E F0 .205(members of the)2.705 F .696(array be)
+-2.705 F F1(length)2.705 E F0 .205(members of the)2.705 F .697(array be)
 144 300 R .697(ginning with ${)-.15 F F1(par)A(ameter)-.15 E F0([)A F1
 (of)A(fset)-.18 E F0 3.197(]}. A)B(ne)3.197 E -.05(ga)-.15 G(ti).05 E
 -.15(ve)-.25 G F1(of)3.347 E(fset)-.18 E F0 .697(is tak)3.197 F .697
 (en relati)-.1 F .997 -.15(ve t)-.25 H 3.197(oo).15 G .697
-(ne greater than)-3.197 F 1.404(the maximum inde)144 312 R 3.903(xo)-.15
+(ne greater than)-3.197 F 1.403(the maximum inde)144 312 R 3.903(xo)-.15
 G 3.903(ft)-3.903 G 1.403(he speci\214ed array)-3.903 F 6.403(.S)-.65 G
 1.403(ubstring e)-6.403 F 1.403(xpansion applied to an associati)-.15 F
-1.703 -.15(ve a)-.25 H(rray).15 E 1.294(produces unde\214ned results.)
-144 324 R 1.294(Note that a ne)6.294 F -.05(ga)-.15 G(ti).05 E 1.595
--.15(ve o)-.25 H -.25(ff).15 G 1.295
-(set must be separated from the colon by at).25 F .959
+1.704 -.15(ve a)-.25 H(rray).15 E 1.295(produces unde\214ned results.)
+144 324 R 1.295(Note that a ne)6.295 F -.05(ga)-.15 G(ti).05 E 1.595
+-.15(ve o)-.25 H -.25(ff).15 G 1.294
+(set must be separated from the colon by at).25 F .958
 (least one space to a)144 336 R -.2(vo)-.2 G .959
-(id being confused with the :- e).2 F 3.458(xpansion. Substring)-.15 F
-(inde)3.458 E .958(xing is zero-based)-.15 F .414
+(id being confused with the :- e).2 F 3.459(xpansion. Substring)-.15 F
+(inde)3.459 E .959(xing is zero-based)-.15 F .415
 (unless the positional parameters are used, in which case the inde)144
-348 R .415(xing starts at 1 by def)-.15 F 2.915(ault. If)-.1 F F1(of)
-2.915 E(f-)-.18 E(set)144 360 Q F0
+348 R .414(xing starts at 1 by def)-.15 F 2.914(ault. If)-.1 F F1(of)
+2.914 E(f-)-.18 E(set)144 360 Q F0
 (is 0, and the positional parameters are used,)2.5 E F2($0)2.5 E F0
 (is pre\214x)2.5 E(ed to the list.)-.15 E(${)108 376.8 Q F2(!)A F1(pr)A
 (e\214x)-.37 E F2(*)A F0(})A(${)108 388.8 Q F2(!)A F1(pr)A(e\214x)-.37 E
-F2(@)A F0(})A F2 .085(Names matching pr)144 400.8 R(e\214x)-.18 E F0
-5.085(.E)C .084(xpands to the names of v)-5.085 F .084
-(ariables whose names be)-.25 F .084(gin with)-.15 F F1(pr)2.584 E
-(e\214x)-.37 E F0 2.584(,s)C(epa-)-2.584 E .257
-(rated by the \214rst character of the)144 412.8 R F3(IFS)2.757 E F0
-.257(special v)2.507 F 2.757(ariable. When)-.25 F F1(@)2.758 E F0 .258
-(is used and the e)2.758 F .258(xpansion appears)-.15 F
+F2(@)A F0(})A F2 .084(Names matching pr)144 400.8 R(e\214x)-.18 E F0
+5.084(.E)C .084(xpands to the names of v)-5.084 F .084
+(ariables whose names be)-.25 F .085(gin with)-.15 F F1(pr)2.585 E
+(e\214x)-.37 E F0 2.585(,s)C(epa-)-2.585 E .258
+(rated by the \214rst character of the)144 412.8 R F3(IFS)2.758 E F0
+.257(special v)2.507 F 2.757(ariable. When)-.25 F F1(@)2.757 E F0 .257
+(is used and the e)2.757 F .257(xpansion appears)-.15 F
 (within double quotes, each v)144 424.8 Q(ariable name e)-.25 E
 (xpands to a separate w)-.15 E(ord.)-.1 E(${)108 441.6 Q F2(!)A F1(name)
 A F0([)A F1(@)A F0(]})A(${)108 453.6 Q F2(!)A F1(name)A F0([)A F1(*)A F0
-(]})A F2 2.036(List of array k)144 465.6 R(eys)-.1 E F0 7.036(.I)C(f)
+(]})A F2 2.035(List of array k)144 465.6 R(eys)-.1 E F0 7.036(.I)C(f)
 -7.036 E F1(name)4.536 E F0 2.036(is an array v)4.536 F 2.036
 (ariable, e)-.25 F 2.036(xpands to the list of array indices \(k)-.15 F
--.15(ey)-.1 G(s\)).15 E .595(assigned in)144 477.6 R F1(name)3.095 E F0
-5.595(.I)C(f)-5.595 E F1(name)3.095 E F0 .595(is not an array)3.095 F
-3.095(,e)-.65 G .595(xpands to 0 if)-3.245 F F1(name)3.095 E F0 .596
-(is set and null otherwise.)3.095 F(When)5.596 E F1(@)144 489.6 Q F0
+-.15(ey)-.1 G(s\)).15 E .596(assigned in)144 477.6 R F1(name)3.096 E F0
+5.596(.I)C(f)-5.596 E F1(name)3.096 E F0 .595(is not an array)3.096 F
+3.095(,e)-.65 G .595(xpands to 0 if)-3.245 F F1(name)3.095 E F0 .595
+(is set and null otherwise.)3.095 F(When)5.595 E F1(@)144 489.6 Q F0
 (is used and the e)2.5 E(xpansion appears within double quotes, each k)
 -.15 E .3 -.15(ey ex)-.1 H(pands to a separate w).15 E(ord.)-.1 E(${)108
-506.4 Q F2(#)A F1(par)A(ameter)-.15 E F0(})A F2 -.1(Pa)144 518.4 S .471
-(rameter length).1 F F0 5.471(.T)C .471
-(he length in characters of the v)-5.471 F .471(alue of)-.25 F F1(par)
-2.971 E(ameter)-.15 E F0 .47(is substituted.)2.97 F(If)5.47 E F1(par)
-4.22 E(ame-)-.15 E(ter)144 530.4 Q F0(is)4.438 E F2(*)3.708 E F0(or)
-3.708 E F2(@)3.708 E F0 3.708(,t)C 1.208(he v)-3.708 F 1.208
+506.4 Q F2(#)A F1(par)A(ameter)-.15 E F0(})A F2 -.1(Pa)144 518.4 S .47
+(rameter length).1 F F0 5.47(.T)C .471(he length in characters of the v)
+-5.47 F .471(alue of)-.25 F F1(par)2.971 E(ameter)-.15 E F0 .471
+(is substituted.)2.971 F(If)5.471 E F1(par)4.221 E(ame-)-.15 E(ter)144
+530.4 Q F0(is)4.439 E F2(*)3.709 E F0(or)3.709 E F2(@)3.709 E F0 3.708
+(,t)C 1.208(he v)-3.708 F 1.208
 (alue substituted is the number of positional parameters.)-.25 F(If)
-6.209 E F1(par)4.959 E(ameter)-.15 E F0 1.209(is an)4.439 F
+6.208 E F1(par)4.958 E(ameter)-.15 E F0 1.208(is an)4.438 F
 (array name subscripted by)144 542.4 Q F2(*)2.5 E F0(or)2.5 E F2(@)2.5 E
 F0 2.5(,t)C(he v)-2.5 E
 (alue substituted is the number of elements in the array)-.25 E(.)-.65 E
@@ -2644,30 +2649,30 @@ F0 2.5(,t)C(he v)-2.5 E
 F2(Remo)144 583.2 Q 1.396 -.1(ve m)-.1 H 1.196(atching pr).1 F 1.196
 (e\214x patter)-.18 F(n)-.15 E F0 6.196(.T)C(he)-6.196 E F1(wor)4.036 E
 (d)-.37 E F0 1.196(is e)4.466 F 1.196
-(xpanded to produce a pattern just as in path-)-.15 F .151(name e)144
-595.2 R 2.651(xpansion. If)-.15 F .152(the pattern matches the be)2.652
+(xpanded to produce a pattern just as in path-)-.15 F .152(name e)144
+595.2 R 2.652(xpansion. If)-.15 F .152(the pattern matches the be)2.652
 F .152(ginning of the v)-.15 F .152(alue of)-.25 F F1(par)2.652 E
-(ameter)-.15 E F0 2.652(,t).73 G .152(hen the result of)-2.652 F 1.4
+(ameter)-.15 E F0 2.652(,t).73 G .151(hen the result of)-2.652 F 1.4
 (the e)144 607.2 R 1.4(xpansion is the e)-.15 F 1.4(xpanded v)-.15 F 1.4
 (alue of)-.25 F F1(par)5.15 E(ameter)-.15 E F0 1.4
 (with the shortest matching pattern \(the `)4.63 F(`)-.74 E F2(#)A F0
 -.74('')C .281(case\) or the longest matching pattern \(the `)144 619.2
 R(`)-.74 E F2(##)A F0 1.761 -.74('' c)D .281(ase\) deleted.).74 F(If)
 5.281 E F1(par)4.031 E(ameter)-.15 E F0(is)3.511 E F2(@)2.781 E F0(or)
-2.781 E F2(*)2.782 E F0 2.782(,t)C .282(he pattern)-2.782 F(remo)144
+2.781 E F2(*)2.781 E F0 2.781(,t)C .281(he pattern)-2.781 F(remo)144
 631.2 Q -.25(va)-.15 G 3.274(lo).25 G .774
 (peration is applied to each positional parameter in turn, and the e)
--3.274 F .774(xpansion is the resul-)-.15 F .401(tant list.)144 643.2 R
-(If)5.401 E F1(par)4.151 E(ameter)-.15 E F0 .401(is an array v)3.631 F
+-3.274 F .774(xpansion is the resul-)-.15 F .402(tant list.)144 643.2 R
+(If)5.402 E F1(par)4.152 E(ameter)-.15 E F0 .401(is an array v)3.632 F
 .401(ariable subscripted with)-.25 F F2(@)2.901 E F0(or)2.901 E F2(*)
-2.901 E F0 2.902(,t)C .402(he pattern remo)-2.902 F -.25(va)-.15 G 2.902
-(lo).25 G(peration)-2.902 E
+2.901 E F0 2.901(,t)C .401(he pattern remo)-2.901 F -.25(va)-.15 G 2.901
+(lo).25 G(peration)-2.901 E
 (is applied to each member of the array in turn, and the e)144 655.2 Q
 (xpansion is the resultant list.)-.15 E(${)108 672 Q F1(par)A(ameter)
 -.15 E F2(%)A F1(wor)A(d)-.37 E F0(})A(${)108 684 Q F1(par)A(ameter)-.15
-E F2(%%)A F1(wor)A(d)-.37 E F0(})A F2(Remo)144 696 Q .347 -.1(ve m)-.1 H
-.147(atching suf\214x patter).1 F(n)-.15 E F0 5.147(.T)C(he)-5.147 E F1
-(wor)2.647 E(d)-.37 E F0 .147(is e)2.647 F .146
+E F2(%%)A F1(wor)A(d)-.37 E F0(})A F2(Remo)144 696 Q .346 -.1(ve m)-.1 H
+.146(atching suf\214x patter).1 F(n)-.15 E F0 5.146(.T)C(he)-5.146 E F1
+(wor)2.646 E(d)-.37 E F0 .147(is e)2.647 F .147
 (xpanded to produce a pattern just as in pathname)-.15 F -.15(ex)144 708
 S 3.088(pansion. If).15 F .588
 (the pattern matches a trailing portion of the e)3.088 F .588(xpanded v)
@@ -2676,278 +2681,276 @@ G .588(hen the)-3.088 F .226(result of the e)144 720 R .226
 (xpansion is the e)-.15 F .226(xpanded v)-.15 F .226(alue of)-.25 F F1
 (par)3.976 E(ameter)-.15 E F0 .226
 (with the shortest matching pattern \(the)3.456 F(GNU Bash 4.2)72 768 Q
-(2011 July 7)151.505 E(20)200.665 E 0 Cg EP
+(2011 September 25)135.955 E(20)185.115 E 0 Cg EP
 %%Page: 21 21
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E -.74(``)144 84 S/F1 10/Times-Bold@0 SF(%).74 E F0 1.521 -.74
+-.35 E -.74(``)144 84 S/F1 10/Times-Bold@0 SF(%).74 E F0 1.522 -.74
 ('' c)D .042(ase\) or the longest matching pattern \(the `).74 F(`)-.74
 E F1(%%)A F0 1.522 -.74('' c)D .042(ase\) deleted.).74 F(If)5.042 E/F2
-10/Times-Italic@0 SF(par)3.792 E(ameter)-.15 E F0(is)3.272 E F1(@)2.542
-E F0(or)2.542 E F1(*)2.542 E F0 2.542(,t)C(he)-2.542 E .441
-(pattern remo)144 96 R -.25(va)-.15 G 2.941(lo).25 G .441
+10/Times-Italic@0 SF(par)3.792 E(ameter)-.15 E F0(is)3.272 E F1(@)2.541
+E F0(or)2.541 E F1(*)2.541 E F0 2.541(,t)C(he)-2.541 E .44(pattern remo)
+144 96 R -.25(va)-.15 G 2.94(lo).25 G .441
 (peration is applied to each positional parameter in turn, and the e)
--2.941 F .44(xpansion is the)-.15 F .24(resultant list.)144 108 R(If)
-5.24 E F2(par)3.99 E(ameter)-.15 E F0 .24(is an array v)3.47 F .241
-(ariable subscripted with)-.25 F F1(@)2.741 E F0(or)2.741 E F1(*)2.741 E
-F0 2.741(,t)C .241(he pattern remo)-2.741 F -.25(va)-.15 G 2.741(lo).25
-G(per)-2.741 E(-)-.2 E
+-2.94 F .441(xpansion is the)-.15 F .241(resultant list.)144 108 R(If)
+5.241 E F2(par)3.991 E(ameter)-.15 E F0 .241(is an array v)3.471 F .241
+(ariable subscripted with)-.25 F F1(@)2.741 E F0(or)2.74 E F1(*)2.74 E
+F0 2.74(,t)C .24(he pattern remo)-2.74 F -.25(va)-.15 G 2.74(lo).25 G
+(per)-2.74 E(-)-.2 E
 (ation is applied to each member of the array in turn, and the e)144 120
 Q(xpansion is the resultant list.)-.15 E(${)108 136.8 Q F2(par)A(ameter)
 -.15 E F1(/)A F2(pattern)A F1(/)A F2(string)A F0(})A F1 -.1(Pa)144 148.8
-S(tter).1 E 3.607(ns)-.15 G(ubstitution)-3.607 E F0 6.107(.T)C(he)-6.107
-E F2(pattern)3.607 E F0 1.107(is e)3.607 F 1.106
+S(tter).1 E 3.606(ns)-.15 G(ubstitution)-3.606 E F0 6.106(.T)C(he)-6.106
+E F2(pattern)3.606 E F0 1.106(is e)3.606 F 1.107
 (xpanded to produce a pattern just as in pathname e)-.15 F(xpan-)-.15 E
-(sion.)144 160.8 Q F2 -.8(Pa)6.033 G -.15(ra).8 G(meter).15 E F0 1.033
-(is e)3.533 F 1.033(xpanded and the longest match of)-.15 F F2(pattern)
-3.533 E F0(ag)3.533 E 1.034(ainst its v)-.05 F 1.034
-(alue is replaced with)-.25 F F2(string)144 172.8 Q F0 5.161(.I)C(f)
--5.161 E F2(pattern)2.661 E F0(be)2.661 E .161(gins with)-.15 F F1(/)
-2.661 E F0 2.661(,a)C .161(ll matches of)-2.661 F F2(pattern)2.661 E F0
-.16(are replaced with)2.661 F F2(string)2.66 E F0 5.16(.N)C .16
-(ormally only the)-5.16 F .806(\214rst match is replaced.)144 184.8 R
-(If)5.806 E F2(pattern)3.306 E F0(be)3.306 E .806(gins with)-.15 F F1(#)
-3.306 E F0 3.306(,i)C 3.307(tm)-3.306 G .807(ust match at the be)-3.307
-F .807(ginning of the e)-.15 F(xpanded)-.15 E -.25(va)144 196.8 S .621
-(lue of).25 F F2(par)3.121 E(ameter)-.15 E F0 5.621(.I)C(f)-5.621 E F2
-(pattern)3.121 E F0(be)3.121 E .621(gins with)-.15 F F1(%)3.121 E F0
-3.121(,i)C 3.121(tm)-3.121 G .62(ust match at the end of the e)-3.121 F
-.62(xpanded v)-.15 F .62(alue of)-.25 F F2(par)144 208.8 Q(ameter)-.15 E
-F0 6.253(.I)C(f)-6.253 E F2(string)3.753 E F0 1.253(is null, matches of)
+(sion.)144 160.8 Q F2 -.8(Pa)6.034 G -.15(ra).8 G(meter).15 E F0 1.034
+(is e)3.534 F 1.033(xpanded and the longest match of)-.15 F F2(pattern)
+3.533 E F0(ag)3.533 E 1.033(ainst its v)-.05 F 1.033
+(alue is replaced with)-.25 F F2(string)144 172.8 Q F0 5.16(.I)C(f)-5.16
+E F2(pattern)2.66 E F0(be)2.66 E .16(gins with)-.15 F F1(/)2.66 E F0
+2.66(,a)C .161(ll matches of)-2.66 F F2(pattern)2.661 E F0 .161
+(are replaced with)2.661 F F2(string)2.661 E F0 5.161(.N)C .161
+(ormally only the)-5.161 F .807(\214rst match is replaced.)144 184.8 R
+(If)5.807 E F2(pattern)3.307 E F0(be)3.307 E .807(gins with)-.15 F F1(#)
+3.307 E F0 3.306(,i)C 3.306(tm)-3.306 G .806(ust match at the be)-3.306
+F .806(ginning of the e)-.15 F(xpanded)-.15 E -.25(va)144 196.8 S .62
+(lue of).25 F F2(par)3.12 E(ameter)-.15 E F0 5.62(.I)C(f)-5.62 E F2
+(pattern)3.12 E F0(be)3.12 E .62(gins with)-.15 F F1(%)3.12 E F0 3.12
+(,i)C 3.121(tm)-3.12 G .621(ust match at the end of the e)-3.121 F .621
+(xpanded v)-.15 F .621(alue of)-.25 F F2(par)144 208.8 Q(ameter)-.15 E
+F0 6.254(.I)C(f)-6.254 E F2(string)3.754 E F0 1.253(is null, matches of)
 3.753 F F2(pattern)3.753 E F0 1.253(are deleted and the)3.753 F F1(/)
-3.753 E F0(follo)3.753 E(wing)-.25 E F2(pattern)3.753 E F0 1.254(may be)
-3.754 F 2.679(omitted. If)144 220.8 R F2(par)3.929 E(ameter)-.15 E F0
-(is)3.409 E F1(@)2.679 E F0(or)2.679 E F1(*)2.679 E F0 2.679(,t)C .178
+3.753 E F0(follo)3.753 E(wing)-.25 E F2(pattern)3.753 E F0 1.253(may be)
+3.753 F 2.678(omitted. If)144 220.8 R F2(par)3.928 E(ameter)-.15 E F0
+(is)3.408 E F1(@)2.678 E F0(or)2.678 E F1(*)2.679 E F0 2.679(,t)C .179
 (he substitution operation is applied to each positional parameter)
--2.679 F .618(in turn, and the e)144 232.8 R .619
+-2.679 F .619(in turn, and the e)144 232.8 R .619
 (xpansion is the resultant list.)-.15 F(If)5.619 E F2(par)4.369 E
-(ameter)-.15 E F0 .619(is an array v)3.849 F .619
-(ariable subscripted with)-.25 F F1(@)144 244.8 Q F0(or)3.224 E F1(*)
-3.224 E F0 3.224(,t)C .723(he substitution operation is applied to each\
- member of the array in turn, and the e)-3.224 F(xpan-)-.15 E
+(ameter)-.15 E F0 .618(is an array v)3.849 F .618
+(ariable subscripted with)-.25 F F1(@)144 244.8 Q F0(or)3.223 E F1(*)
+3.223 E F0 3.223(,t)C .723(he substitution operation is applied to each\
+ member of the array in turn, and the e)-3.223 F(xpan-)-.15 E
 (sion is the resultant list.)144 256.8 Q(${)108 273.6 Q F2(par)A(ameter)
 -.15 E F1(^)A F2(pattern)A F0(})A(${)108 285.6 Q F2(par)A(ameter)-.15 E
 F1(^^)A F2(pattern)A F0(})A(${)108 297.6 Q F2(par)A(ameter)-.15 E F1(,)A
 F2(pattern)A F0(})A(${)108 309.6 Q F2(par)A(ameter)-.15 E F1(,,)A F2
-(pattern)A F0(})A F1 .437(Case modi\214cation)144 321.6 R F0 5.437(.T)C
-.437(his e)-5.437 F .438
+(pattern)A F0(})A F1 .438(Case modi\214cation)144 321.6 R F0 5.438(.T)C
+.438(his e)-5.438 F .437
 (xpansion modi\214es the case of alphabetic characters in)-.15 F F2(par)
-2.938 E(ameter)-.15 E F0 5.438(.T)C(he)-5.438 E F2(pattern)144 333.6 Q
-F0 .814(is e)3.314 F .813
-(xpanded to produce a pattern just as in pathname e)-.15 F 3.313
-(xpansion. The)-.15 F F1(^)3.313 E F0 .813(operator con)3.313 F -.15(ve)
--.4 G(rts).15 E(lo)144 345.6 Q .18(wercase letters matching)-.25 F F2
+2.937 E(ameter)-.15 E F0 5.437(.T)C(he)-5.437 E F2(pattern)144 333.6 Q
+F0 .813(is e)3.313 F .813
+(xpanded to produce a pattern just as in pathname e)-.15 F 3.314
+(xpansion. The)-.15 F F1(^)3.314 E F0 .814(operator con)3.314 F -.15(ve)
+-.4 G(rts).15 E(lo)144 345.6 Q .181(wercase letters matching)-.25 F F2
 (pattern)2.681 E F0 .181(to uppercase; the)2.681 F F1(,)2.681 E F0 .181
-(operator con)2.681 F -.15(ve)-.4 G .181(rts matching uppercase letters)
+(operator con)2.681 F -.15(ve)-.4 G .18(rts matching uppercase letters)
 .15 F .085(to lo)144 357.6 R 2.585(wercase. The)-.25 F F1(^^)2.585 E F0
 (and)2.585 E F1(,,)2.585 E F0 -.15(ex)2.585 G .085(pansions con).15 F
 -.15(ve)-.4 G .085(rt each matched character in the e).15 F .085
 (xpanded v)-.15 F .085(alue; the)-.25 F F1(^)2.585 E F0(and)144 369.6 Q
-F1(,)3.59 E F0 -.15(ex)3.59 G 1.09(pansions match and con).15 F -.15(ve)
--.4 G 1.091(rt only the \214rst character in the e).15 F 1.091
-(xpanded v)-.15 F 3.591(alue. If)-.25 F F2(pattern)3.591 E F0(is)3.591 E
-1.121(omitted, it is treated lik)144 381.6 R 3.621(ea)-.1 G F1(?)A F0
-3.621(,w)C 1.121(hich matches e)-3.621 F -.15(ve)-.25 G 1.121
-(ry character).15 F 6.12(.I)-.55 G(f)-6.12 E F2(par)4.87 E(ameter)-.15 E
-F0(is)4.35 E F1(@)3.62 E F0(or)3.62 E F1(*)3.62 E F0 3.62(,t)C 1.12
-(he case)-3.62 F 1.335(modi\214cation operation is applied to each posi\
-tional parameter in turn, and the e)144 393.6 R 1.335(xpansion is the)
--.15 F 1.308(resultant list.)144 405.6 R(If)6.308 E F2(par)5.058 E
-(ameter)-.15 E F0 1.308(is an array v)4.538 F 1.308
-(ariable subscripted with)-.25 F F1(@)3.808 E F0(or)3.808 E F1(*)3.808 E
-F0 3.808(,t)C 1.308(he case modi\214cation)-3.808 F
+F1(,)3.591 E F0 -.15(ex)3.591 G 1.091(pansions match and con).15 F -.15
+(ve)-.4 G 1.091(rt only the \214rst character in the e).15 F 1.09
+(xpanded v)-.15 F 3.59(alue. If)-.25 F F2(pattern)3.59 E F0(is)3.59 E
+1.12(omitted, it is treated lik)144 381.6 R 3.62(ea)-.1 G F1(?)A F0 3.62
+(,w)C 1.12(hich matches e)-3.62 F -.15(ve)-.25 G 1.121(ry character).15
+F 6.121(.I)-.55 G(f)-6.121 E F2(par)4.871 E(ameter)-.15 E F0(is)4.351 E
+F1(@)3.621 E F0(or)3.621 E F1(*)3.621 E F0 3.621(,t)C 1.121(he case)
+-3.621 F 1.335(modi\214cation operation is applied to each positional p\
+arameter in turn, and the e)144 393.6 R 1.335(xpansion is the)-.15 F
+1.308(resultant list.)144 405.6 R(If)6.308 E F2(par)5.058 E(ameter)-.15
+E F0 1.308(is an array v)4.538 F 1.308(ariable subscripted with)-.25 F
+F1(@)3.808 E F0(or)3.808 E F1(*)3.808 E F0 3.808(,t)C 1.308
+(he case modi\214cation)-3.808 F
 (operation is applied to each member of the array in turn, and the e)144
 417.6 Q(xpansion is the resultant list.)-.15 E F1(Command Substitution)
-87 434.4 Q F2 1.697(Command substitution)108 446.4 R F0(allo)4.197 E
+87 434.4 Q F2 1.698(Command substitution)108 446.4 R F0(allo)4.198 E
 1.697(ws the output of a command to replace the command name.)-.25 F
-1.698(There are tw)6.698 F(o)-.1 E(forms:)108 458.4 Q F1($\()144 475.2 Q
+1.697(There are tw)6.697 F(o)-.1 E(forms:)108 458.4 Q F1($\()144 475.2 Q
 F2(command)A F1(\))1.666 E F0(or)108 487.2 Q F1<92>144 499.2 Q F2
-(command)A F1<92>A(Bash)108 516 Q F0 .02(performs the e)2.52 F .02
+(command)A F1<92>A(Bash)108 516 Q F0 .019(performs the e)2.519 F .019
 (xpansion by e)-.15 F -.15(xe)-.15 G(cuting).15 E F2(command)2.519 E F0
-.019(and replacing the command substitution with the stan-)2.519 F .768
+.02(and replacing the command substitution with the stan-)2.519 F .768
 (dard output of the command, with an)108 528 R 3.268(yt)-.15 G .768
 (railing ne)-3.268 F .768(wlines deleted.)-.25 F .768(Embedded ne)5.768
-F .768(wlines are not deleted, b)-.25 F(ut)-.2 E(the)108 540 Q 3.219(ym)
--.15 G .719(ay be remo)-3.219 F -.15(ve)-.15 G 3.219(dd).15 G .719
-(uring w)-3.219 F .719(ord splitting.)-.1 F .719
+F .768(wlines are not deleted, b)-.25 F(ut)-.2 E(the)108 540 Q 3.218(ym)
+-.15 G .718(ay be remo)-3.218 F -.15(ve)-.15 G 3.218(dd).15 G .719
+(uring w)-3.218 F .719(ord splitting.)-.1 F .719
 (The command substitution)5.719 F F1($\(cat)3.219 E F2(\214le)3.219 E F1
-(\))A F0 .718(can be replaced by the)3.219 F(equi)108 552 Q -.25(va)-.25
+(\))A F0 .719(can be replaced by the)3.219 F(equi)108 552 Q -.25(va)-.25
 G(lent b).25 E(ut f)-.2 E(aster)-.1 E F1($\(<)2.5 E F2(\214le)2.5 E F1
 (\))A F0(.)A 1.724(When the old-style backquote form of substitution is\
  used, backslash retains its literal meaning e)108 568.8 R(xcept)-.15 E
-.315(when follo)108 580.8 R .315(wed by)-.25 F F1($)2.815 E F0(,)A F1
-<92>2.815 E F0 2.815(,o)C(r)-2.815 E F1(\\)2.815 E F0 5.315(.T)C .314(h\
+.314(when follo)108 580.8 R .314(wed by)-.25 F F1($)2.814 E F0(,)A F1
+<92>2.814 E F0 2.814(,o)C(r)-2.814 E F1(\\)2.814 E F0 5.314(.T)C .315(h\
 e \214rst backquote not preceded by a backslash terminates the command \
-sub-)-5.315 F 3.886(stitution. When)108 592.8 R 1.386(using the $\()
-3.886 F F2(command).833 E F0 3.886(\)f)1.666 G 1.387
-(orm, all characters between the parentheses mak)-3.886 F 3.887(eu)-.1 G
-3.887(pt)-3.887 G 1.387(he com-)-3.887 F
+sub-)-5.314 F 3.887(stitution. When)108 592.8 R 1.387(using the $\()
+3.887 F F2(command).833 E F0 3.887(\)f)1.666 G 1.386
+(orm, all characters between the parentheses mak)-3.887 F 3.886(eu)-.1 G
+3.886(pt)-3.886 G 1.386(he com-)-3.886 F
 (mand; none are treated specially)108 604.8 Q(.)-.65 E .894
 (Command substitutions may be nested.)108 621.6 R 2.494 -.8(To n)5.894 H
 .894(est when using the backquoted form, escape the inner back-).8 F
 (quotes with backslashes.)108 633.6 Q .422
 (If the substitution appears within double quotes, w)108 650.4 R .422
-(ord splitting and pathname e)-.1 F .423(xpansion are not performed)-.15
+(ord splitting and pathname e)-.1 F .422(xpansion are not performed)-.15
 F(on the results.)108 662.4 Q F1(Arithmetic Expansion)87 679.2 Q F0
-1.035(Arithmetic e)108 691.2 R 1.035(xpansion allo)-.15 F 1.035
+1.034(Arithmetic e)108 691.2 R 1.034(xpansion allo)-.15 F 1.034
 (ws the e)-.25 F -.25(va)-.25 G 1.034(luation of an arithmetic e).25 F
-1.034(xpression and the substitution of the result.)-.15 F
+1.035(xpression and the substitution of the result.)-.15 F
 (The format for arithmetic e)108 703.2 Q(xpansion is:)-.15 E F1($\(\()
 144 720 Q F2 -.2(ex)C(pr).2 E(ession)-.37 E F1(\)\))A F0(GNU Bash 4.2)72
-768 Q(2011 July 7)151.505 E(21)200.665 E 0 Cg EP
+768 Q(2011 September 25)135.955 E(21)185.115 E 0 Cg EP
 %%Page: 22 22
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(The)108 84 Q/F1 10/Times-Italic@0 SF -.2(ex)2.665 G(pr).2 E
+-.35 E(The)108 84 Q/F1 10/Times-Italic@0 SF -.2(ex)2.666 G(pr).2 E
 (ession)-.37 E F0 .165(is treated as if it were within double quotes, b)
-2.905 F .166(ut a double quote inside the parentheses is not)-.2 F 1.075
-(treated specially)108 96 R 6.075(.A)-.65 G 1.074(ll tok)-6.075 F 1.074
+2.906 F .165(ut a double quote inside the parentheses is not)-.2 F 1.074
+(treated specially)108 96 R 6.074(.A)-.65 G 1.074(ll tok)-6.074 F 1.074
 (ens in the e)-.1 F 1.074(xpression under)-.15 F 1.074(go parameter e)
--.18 F 1.074(xpansion, string e)-.15 F 1.074(xpansion, command)-.15 F
+-.18 F 1.074(xpansion, string e)-.15 F 1.075(xpansion, command)-.15 F
 (substitution, and quote remo)108 108 Q -.25(va)-.15 G 2.5
-(l. Arithmetic).25 F -.15(ex)2.5 G(pansions may be nested.).15 E 1.378
+(l. Arithmetic).25 F -.15(ex)2.5 G(pansions may be nested.).15 E 1.379
 (The e)108 124.8 R -.25(va)-.25 G 1.378
 (luation is performed according to the rules listed belo).25 F 3.878(wu)
 -.25 G(nder)-3.878 E/F2 9/Times-Bold@0 SF 1.378(ARITHMETIC EV)3.878 F
 (ALU)-1.215 E -.855(AT)-.54 G(ION).855 E/F3 9/Times-Roman@0 SF(.)A F0
-(If)5.879 E F1 -.2(ex)108 136.8 S(pr).2 E(ession)-.37 E F0(is in)2.74 E
+(If)5.878 E F1 -.2(ex)108 136.8 S(pr).2 E(ession)-.37 E F0(is in)2.74 E
 -.25(va)-.4 G(lid,).25 E/F4 10/Times-Bold@0 SF(bash)2.5 E F0
 (prints a message indicating f)2.5 E(ailure and no substitution occurs.)
--.1 E F4(Pr)87 153.6 Q(ocess Substitution)-.18 E F1(Pr)108 165.6 Q .971
+-.1 E F4(Pr)87 153.6 Q(ocess Substitution)-.18 E F1(Pr)108 165.6 Q .97
 (ocess substitution)-.45 F F0 .971
-(is supported on systems that support named pipes \()3.471 F F1(FIFOs)A
-F0 3.47(\)o)C 3.47(rt)-3.47 G(he)-3.47 E F4(/de)3.47 E(v/fd)-.15 E F0
-.97(method of)3.47 F .021(naming open \214les.)108 177.6 R .021(It tak)
-5.021 F .021(es the form of)-.1 F F4(<\()2.521 E F1(list)A F4(\)).833 E
-F0(or)2.521 E F4(>\()2.521 E F1(list)A F4(\)).833 E F0 5.021(.T)C .021
-(he process)-5.021 F F1(list)2.521 E F0 .021
-(is run with its input or output con-)2.521 F .059(nected to a)108 189.6
-R F1(FIFO)2.559 E F0 .058(or some \214le in)2.559 F F4(/de)2.558 E(v/fd)
+(is supported on systems that support named pipes \()3.47 F F1(FIFOs)A
+F0 3.471(\)o)C 3.471(rt)-3.471 G(he)-3.471 E F4(/de)3.471 E(v/fd)-.15 E
+F0 .971(method of)3.471 F .022(naming open \214les.)108 177.6 R .021
+(It tak)5.022 F .021(es the form of)-.1 F F4(<\()2.521 E F1(list)A F4
+(\)).833 E F0(or)2.521 E F4(>\()2.521 E F1(list)A F4(\)).833 E F0 5.021
+(.T)C .021(he process)-5.021 F F1(list)2.521 E F0 .021
+(is run with its input or output con-)2.521 F .058(nected to a)108 189.6
+R F1(FIFO)2.558 E F0 .058(or some \214le in)2.558 F F4(/de)2.558 E(v/fd)
 -.15 E F0 5.058(.T)C .058(he name of this \214le is passed as an ar)
--5.058 F .058(gument to the current com-)-.18 F .13
-(mand as the result of the e)108 201.6 R 2.63(xpansion. If)-.15 F(the)
+-5.058 F .059(gument to the current com-)-.18 F .131
+(mand as the result of the e)108 201.6 R 2.631(xpansion. If)-.15 F(the)
 2.63 E F4(>\()2.63 E F1(list)A F4(\)).833 E F0 .13
-(form is used, writing to the \214le will pro)2.63 F .131
-(vide input for)-.15 F F1(list)2.631 E F0(.)A(If the)108 213.6 Q F4(<\()
-2.5 E F1(list)A F4(\)).833 E F0
-(form is used, the \214le passed as an ar)2.5 E
+(form is used, writing to the \214le will pro)2.63 F .13(vide input for)
+-.15 F F1(list)2.63 E F0(.)A(If the)108 213.6 Q F4(<\()2.5 E F1(list)A
+F4(\)).833 E F0(form is used, the \214le passed as an ar)2.5 E
 (gument should be read to obtain the output of)-.18 E F1(list)2.5 E F0
-(.)A .897(When a)108 230.4 R -.25(va)-.2 G .896(ilable, process substit\
-ution is performed simultaneously with parameter and v).25 F .896
+(.)A .896(When a)108 230.4 R -.25(va)-.2 G .896(ilable, process substit\
+ution is performed simultaneously with parameter and v).25 F .897
 (ariable e)-.25 F(xpansion,)-.15 E
 (command substitution, and arithmetic e)108 242.4 Q(xpansion.)-.15 E F4
--.75(Wo)87 259.2 S(rd Splitting).75 E F0 1.142
-(The shell scans the results of parameter e)108 271.2 R 1.143
-(xpansion, command substitution, and arithmetic e)-.15 F 1.143
+-.75(Wo)87 259.2 S(rd Splitting).75 E F0 1.143
+(The shell scans the results of parameter e)108 271.2 R 1.142
+(xpansion, command substitution, and arithmetic e)-.15 F 1.142
 (xpansion that)-.15 F(did not occur within double quotes for)108 283.2 Q
 F1(wor)2.5 E 2.5(ds)-.37 G(plitting)-2.5 E F0(.).22 E .063
 (The shell treats each character of)108 300 R F2(IFS)2.563 E F0 .063
 (as a delimiter)2.313 F 2.563(,a)-.4 G .063
 (nd splits the results of the other e)-2.563 F .063(xpansions into w)
--.15 F(ords)-.1 E 1.788(on these characters.)108 312 R(If)6.788 E F2
-(IFS)4.288 E F0 1.788(is unset, or its v)4.038 F 1.789(alue is e)-.25 F
-(xactly)-.15 E F4(<space><tab><newline>)4.289 E F0 4.289(,t)C 1.789
-(he def)-4.289 F 1.789(ault, then)-.1 F .022(sequences of)108 324 R F4
-(<space>)2.522 E F0(,)A F4(<tab>)2.522 E F0 2.521(,a)C(nd)-2.521 E F4
+-.15 F(ords)-.1 E 1.789(on these characters.)108 312 R(If)6.789 E F2
+(IFS)4.289 E F0 1.788(is unset, or its v)4.039 F 1.788(alue is e)-.25 F
+(xactly)-.15 E F4(<space><tab><newline>)4.288 E F0 4.288(,t)C 1.788
+(he def)-4.288 F 1.788(ault, then)-.1 F .021(sequences of)108 324 R F4
+(<space>)2.521 E F0(,)A F4(<tab>)2.521 E F0 2.521(,a)C(nd)-2.521 E F4
 (<newline>)2.521 E F0 .021(at the be)2.521 F .021
-(ginning and end of the results of the pre)-.15 F .021(vious e)-.25 F
-(xpan-)-.15 E .585(sions are ignored, and an)108 336 R 3.086(ys)-.15 G
+(ginning and end of the results of the pre)-.15 F .022(vious e)-.25 F
+(xpan-)-.15 E .586(sions are ignored, and an)108 336 R 3.086(ys)-.15 G
 .586(equence of)-3.086 F F2(IFS)3.086 E F0 .586
-(characters not at the be)2.836 F .586(ginning or end serv)-.15 F .586
+(characters not at the be)2.836 F .586(ginning or end serv)-.15 F .585
 (es to delimit w)-.15 F(ords.)-.1 E(If)108 348 Q F2(IFS)3.617 E F0 1.117
 (has a v)3.367 F 1.117(alue other than the def)-.25 F 1.117
 (ault, then sequences of the whitespace characters)-.1 F F4(space)3.617
 E F0(and)3.617 E F4(tab)3.617 E F0(are)3.617 E .315(ignored at the be)
 108 360 R .315(ginning and end of the w)-.15 F .315
 (ord, as long as the whitespace character is in the v)-.1 F .315
-(alue of)-.25 F F2(IFS)2.815 E F0(\(an)2.566 E F2(IFS)108 372 Q F0 1.054
-(whitespace character\).)3.304 F(An)6.054 E 3.554(yc)-.15 G 1.054
-(haracter in)-3.554 F F2(IFS)3.554 E F0 1.053(that is not)3.303 F F2
-(IFS)3.553 E F0 1.053(whitespace, along with an)3.303 F 3.553(ya)-.15 G
-(djacent)-3.553 E F2(IFS)3.553 E F0 .331
-(whitespace characters, delimits a \214eld.)108 384 R 2.831(As)5.331 G
-.332(equence of)-2.831 F F2(IFS)2.832 E F0 .332
+(alue of)-.25 F F2(IFS)2.815 E F0(\(an)2.565 E F2(IFS)108 372 Q F0 1.053
+(whitespace character\).)3.303 F(An)6.053 E 3.553(yc)-.15 G 1.053
+(haracter in)-3.553 F F2(IFS)3.553 E F0 1.053(that is not)3.303 F F2
+(IFS)3.553 E F0 1.054(whitespace, along with an)3.304 F 3.554(ya)-.15 G
+(djacent)-3.554 E F2(IFS)3.554 E F0 .332
+(whitespace characters, delimits a \214eld.)108 384 R 2.832(As)5.332 G
+.332(equence of)-2.832 F F2(IFS)2.832 E F0 .331
 (whitespace characters is also treated as a delim-)2.582 F(iter)108 396
 Q 5(.I)-.55 G 2.5(ft)-5 G(he v)-2.5 E(alue of)-.25 E F2(IFS)2.5 E F0
-(is null, no w)2.25 E(ord splitting occurs.)-.1 E 1.879
-(Explicit null ar)108 412.8 R 1.879(guments \()-.18 F F4 .833("").833 G
+(is null, no w)2.25 E(ord splitting occurs.)-.1 E 1.878
+(Explicit null ar)108 412.8 R 1.878(guments \()-.18 F F4 .833("").833 G
 F0(or)3.545 E F4 .833<0808>5.211 G F0 4.378(\)a)C 1.878(re retained.)
--4.378 F 1.878(Unquoted implicit null ar)6.878 F 1.878
-(guments, resulting from the)-.18 F -.15(ex)108 424.8 S .176
-(pansion of parameters that ha).15 F .476 -.15(ve n)-.2 H 2.676(ov).15 G
-.176(alues, are remo)-2.926 F -.15(ve)-.15 G 2.676(d. If).15 F 2.677(ap)
-2.677 G .177(arameter with no v)-2.677 F .177(alue is e)-.25 F .177
+-4.378 F 1.878(Unquoted implicit null ar)6.878 F 1.879
+(guments, resulting from the)-.18 F -.15(ex)108 424.8 S .177
+(pansion of parameters that ha).15 F .477 -.15(ve n)-.2 H 2.677(ov).15 G
+.177(alues, are remo)-2.927 F -.15(ve)-.15 G 2.676(d. If).15 F 2.676(ap)
+2.676 G .176(arameter with no v)-2.676 F .176(alue is e)-.25 F .176
 (xpanded within)-.15 F(double quotes, a null ar)108 436.8 Q
 (gument results and is retained.)-.18 E(Note that if no e)108 453.6 Q
 (xpansion occurs, no splitting is performed.)-.15 E F4 -.1(Pa)87 470.4 S
-(thname Expansion).1 E F0 .371(After w)108 482.4 R .371
-(ord splitting, unless the)-.1 F F4<ad66>2.871 E F0 .371
-(option has been set,)2.871 F F4(bash)2.871 E F0 .37(scans each w)2.87 F
-.37(ord for the characters)-.1 F F4(*)2.87 E F0(,)A F4(?)2.87 E F0 2.87
-(,a)C(nd)-2.87 E F4([)2.87 E F0(.)A .677
+(thname Expansion).1 E F0 .37(After w)108 482.4 R .37
+(ord splitting, unless the)-.1 F F4<ad66>2.87 E F0 .37
+(option has been set,)2.87 F F4(bash)2.87 E F0 .371(scans each w)2.871 F
+.371(ord for the characters)-.1 F F4(*)2.871 E F0(,)A F4(?)2.871 E F0
+2.871(,a)C(nd)-2.871 E F4([)2.871 E F0(.)A .678
 (If one of these characters appears, then the w)108 494.4 R .677
 (ord is re)-.1 F -.05(ga)-.15 G .677(rded as a).05 F F1(pattern)3.177 E
-F0 3.177(,a).24 G .678(nd replaced with an alphabeti-)-3.177 F .202
-(cally sorted list of \214le names matching the pattern \(see)108 506.4
-R F2 -.09(Pa)2.702 G(tter).09 E 2.451(nM)-.135 G(atching)-2.451 E F0
-(belo)2.451 E 2.701(w\). If)-.25 F .201(no matching \214le names)2.701 F
-.008(are found, and the shell option)108 518.4 R F4(nullglob)2.508 E F0
-.008(is not enabled, the w)2.508 F .009(ord is left unchanged.)-.1 F
-.009(If the)5.009 F F4(nullglob)2.509 E F0 .009(option is)2.509 F .443
-(set, and no matches are found, the w)108 530.4 R .443(ord is remo)-.1 F
--.15(ve)-.15 G 2.943(d. If).15 F(the)2.942 E F4(failglob)2.942 E F0 .442
-(shell option is set, and no matches are)2.942 F 1.38
+F0 3.177(,a).24 G .677(nd replaced with an alphabeti-)-3.177 F .562
+(cally sorted list of \214lenames matching the pattern \(see)108 506.4 R
+F2 -.09(Pa)3.062 G(tter).09 E 2.812(nM)-.135 G(atching)-2.812 E F0(belo)
+2.812 E 3.062(w\). If)-.25 F .562(no matching \214lenames)3.062 F .009
+(are found, and the shell option)108 518.4 R F4(nullglob)2.509 E F0 .008
+(is not enabled, the w)2.509 F .008(ord is left unchanged.)-.1 F .008
+(If the)5.008 F F4(nullglob)2.508 E F0 .008(option is)2.508 F .442
+(set, and no matches are found, the w)108 530.4 R .442(ord is remo)-.1 F
+-.15(ve)-.15 G 2.942(d. If).15 F(the)2.943 E F4(failglob)2.943 E F0 .443
+(shell option is set, and no matches are)2.943 F 1.38
 (found, an error message is printed and the command is not e)108 542.4 R
 -.15(xe)-.15 G 3.88(cuted. If).15 F 1.38(the shell option)3.88 F F4
-(nocaseglob)3.88 E F0(is)3.88 E .104
+(nocaseglob)3.88 E F0(is)3.88 E .103
 (enabled, the match is performed without re)108 554.4 R -.05(ga)-.15 G
-.104(rd to the case of alphabetic characters.).05 F .103
-(When a pattern is used)5.103 F .377(for pathname e)108 566.4 R .377
+.104(rd to the case of alphabetic characters.).05 F .104
+(When a pattern is used)5.104 F .378(for pathname e)108 566.4 R .378
 (xpansion, the character)-.15 F F4 -.63(``)2.878 G -.55(.').63 G(')-.08
-E F0 .378(at the start of a name or immediately follo)5.378 F .378
-(wing a slash must be)-.25 F .579(matched e)108 578.4 R(xplicitly)-.15 E
-3.079(,u)-.65 G .579(nless the shell option)-3.079 F F4(dotglob)3.079 E
-F0 .579(is set.)3.079 F .578
-(When matching a pathname, the slash character)5.579 F 1.788(must al)108
+E F0 .378(at the start of a name or immediately follo)5.378 F .377
+(wing a slash must be)-.25 F .578(matched e)108 578.4 R(xplicitly)-.15 E
+3.078(,u)-.65 G .578(nless the shell option)-3.078 F F4(dotglob)3.079 E
+F0 .579(is set.)3.079 F .579
+(When matching a pathname, the slash character)5.579 F 1.789(must al)108
 590.4 R -.1(wa)-.1 G 1.788(ys be matched e).1 F(xplicitly)-.15 E 6.788
 (.I)-.65 G 4.288(no)-6.788 G 1.788(ther cases, the)-4.288 F F4 -.63(``)
 4.288 G -.55(.').63 G(')-.08 E F0 1.788
-(character is not treated specially)6.788 F 6.789(.S)-.65 G 1.789
-(ee the)-6.789 F .166(description of)108 602.4 R F4(shopt)2.666 E F0
-(belo)2.666 E 2.666(wu)-.25 G(nder)-2.666 E F2 .166(SHELL B)2.666 F(UIL)
--.09 E .165(TIN COMMANDS)-.828 F F0 .165(for a description of the)2.415
-F F4(nocaseglob)2.665 E F0(,)A F4(null-)2.665 E(glob)108 614.4 Q F0(,)A
+(character is not treated specially)6.788 F 6.788(.S)-.65 G 1.788
+(ee the)-6.788 F .165(description of)108 602.4 R F4(shopt)2.665 E F0
+(belo)2.665 E 2.665(wu)-.25 G(nder)-2.665 E F2 .165(SHELL B)2.665 F(UIL)
+-.09 E .165(TIN COMMANDS)-.828 F F0 .166(for a description of the)2.415
+F F4(nocaseglob)2.666 E F0(,)A F4(null-)2.666 E(glob)108 614.4 Q F0(,)A
 F4(failglob)2.5 E F0 2.5(,a)C(nd)-2.5 E F4(dotglob)2.5 E F0
-(shell options.)2.5 E(The)108 631.2 Q F2(GLOBIGNORE)2.63 E F0 .13
-(shell v)2.38 F .131
-(ariable may be used to restrict the set of \214le names matching a)-.25
-F F1(pattern)2.631 E F0 5.131(.I).24 G(f)-5.131 E F2(GLO-)2.631 E
-(BIGNORE)108 643.2 Q F0 2.015(is set, each matching \214le name that al\
-so matches one of the patterns in)4.265 F F2(GLOBIGNORE)4.515 E F0(is)
-4.264 E(remo)108 655.2 Q -.15(ve)-.15 G 2.503(df).15 G .003
-(rom the list of matches.)-2.503 F .003(The \214le names)5.003 F F4 -.63
-(``)2.503 G -.55(.').63 G(')-.08 E F0(and)5.003 E F4 -.63(``)2.503 G(..)
-.63 E -.63('')-.55 G F0 .004(are al)5.633 F -.1(wa)-.1 G .004
-(ys ignored when).1 F F2(GLOBIGNORE)2.504 E F0(is)2.254 E .046
-(set and not null.)108 667.2 R(Ho)5.046 E(we)-.25 E -.15(ve)-.25 G .846
--.4(r, s).15 H(etting).4 E F2(GLOBIGNORE)2.546 E F0 .046
-(to a non-null v)2.296 F .045(alue has the ef)-.25 F .045
-(fect of enabling the)-.25 F F4(dotglob)2.545 E F0 .613
-(shell option, so all other \214le names be)108 679.2 R .614
-(ginning with a)-.15 F F4 -.63(``)3.114 G -.55(.').63 G(')-.08 E F0 .614
-(will match.)5.614 F 2.214 -.8(To g)5.614 H .614(et the old beha).8 F
-.614(vior of ignoring)-.2 F .457(\214le names be)108 691.2 R .457
-(ginning with a)-.15 F F4 -.63(``)2.957 G -.55(.').63 G(')-.08 E F0
-2.957(,m)C(ak)-2.957 E(e)-.1 E F4 -.63(``)2.957 G(.*').63 E(')-.63 E F0
-.457(one of the patterns in)5.457 F F2(GLOBIGNORE)2.957 E F3(.)A F0(The)
-4.957 E F4(dotglob)2.956 E F0 .456(option is)2.956 F(disabled when)108
+(shell options.)2.5 E(The)108 631.2 Q F2(GLOBIGNORE)2.786 E F0 .286
+(shell v)2.536 F .285
+(ariable may be used to restrict the set of \214lenames matching a)-.25
+F F1(pattern)2.785 E F0 5.285(.I).24 G(f)-5.285 E F2(GLO-)2.785 E
+(BIGNORE)108 643.2 Q F0 2.316(is set, each matching \214lename that als\
+o matches one of the patterns in)4.565 F F2(GLOBIGNORE)4.816 E F0(is)
+4.566 E(remo)108 655.2 Q -.15(ve)-.15 G 2.66(df).15 G .16
+(rom the list of matches.)-2.66 F .16(The \214lenames)5.16 F F4 -.63(``)
+2.66 G -.55(.').63 G(')-.08 E F0(and)5.16 E F4 -.63(``)2.66 G(..).63 E
+-.63('')-.55 G F0 .16(are al)5.79 F -.1(wa)-.1 G .159(ys ignored when).1
+F F2(GLOBIGNORE)2.659 E F0(is)2.409 E .045(set and not null.)108 667.2 R
+(Ho)5.045 E(we)-.25 E -.15(ve)-.25 G .845 -.4(r, s).15 H(etting).4 E F2
+(GLOBIGNORE)2.545 E F0 .046(to a non-null v)2.296 F .046
+(alue has the ef)-.25 F .046(fect of enabling the)-.25 F F4(dotglob)
+2.546 E F0 .787(shell option, so all other \214lenames be)108 679.2 R
+.787(ginning with a)-.15 F F4 -.63(``)3.287 G -.55(.').63 G(')-.08 E F0
+.787(will match.)5.787 F 2.386 -.8(To g)5.787 H .786(et the old beha).8
+F .786(vior of ignoring)-.2 F .641(\214lenames be)108 691.2 R .641
+(ginning with a)-.15 F F4 -.63(``)3.141 G -.55(.').63 G(')-.08 E F0
+3.141(,m)C(ak)-3.141 E(e)-.1 E F4 -.63(``)3.141 G(.*').63 E(')-.63 E F0
+.642(one of the patterns in)5.642 F F2(GLOBIGNORE)3.142 E F3(.)A F0(The)
+5.142 E F4(dotglob)3.142 E F0 .642(option is)3.142 F(disabled when)108
 703.2 Q F2(GLOBIGNORE)2.5 E F0(is unset.)2.25 E F4 -.1(Pa)108 720 S
 (tter).1 E 2.5(nM)-.15 G(atching)-2.5 E F0(GNU Bash 4.2)72 768 Q
-(2011 July 7)151.505 E(22)200.665 E 0 Cg EP
+(2011 September 25)135.955 E(22)185.115 E 0 Cg EP
 %%Page: 23 23
 %%BeginPageSetup
 BP
@@ -2963,9 +2966,9 @@ ern, other than the special pattern characters described belo)-3.138 F
 -.15 G(re)-3.076 E(to be matched literally)108 120 Q(.)-.65 E
 (The special pattern characters ha)108 136.8 Q .3 -.15(ve t)-.2 H
 (he follo).15 E(wing meanings:)-.25 E/F1 10/Times-Bold@0 SF(*)144 153.6
-Q F0 .377(Matches an)31 F 2.877(ys)-.15 G .376
-(tring, including the null string.)-2.877 F .376(When the)5.376 F F1
-(globstar)2.876 E F0 .376(shell option is enabled,)2.876 F(and)180 165.6
+Q F0 .376(Matches an)31 F 2.876(ys)-.15 G .376
+(tring, including the null string.)-2.876 F .376(When the)5.376 F F1
+(globstar)2.876 E F0 .377(shell option is enabled,)2.876 F(and)180 165.6
 Q F1(*)3.275 E F0 .775(is used in a pathname e)3.275 F .775
 (xpansion conte)-.15 F .775(xt, tw)-.15 F 3.275(oa)-.1 G(djacent)-3.275
 E F1(*)3.275 E F0 3.275(su)C .775(sed as a single pattern)-3.275 F 1.058
@@ -2974,60 +2977,61 @@ E F1(*)3.275 E F0 3.275(su)C .775(sed as a single pattern)-3.275 F 1.058
 F0(,)A(tw)180 189.6 Q 2.5(oa)-.1 G(djacent)-2.5 E F1(*)2.5 E F0 2.5(sw)C
 (ill match only directories and subdirectories.)-2.5 E F1(?)144 201.6 Q
 F0(Matches an)31 E 2.5(ys)-.15 G(ingle character)-2.5 E(.)-.55 E F1
-([...])144 213.6 Q F0 .578(Matches an)21.84 F 3.078(yo)-.15 G .578
-(ne of the enclosed characters.)-3.078 F 3.079(Ap)5.579 G .579
-(air of characters separated by a h)-3.079 F(yphen)-.05 E .537
-(denotes a)180 225.6 R/F2 10/Times-Italic@0 SF -.15(ra)3.037 G(ng).15 E
-3.037(ee)-.1 G(xpr)-3.237 E(ession)-.37 E F0 3.037(;a)C .837 -.15(ny c)
--3.037 H .537(haracter that sorts between those tw).15 F 3.036(oc)-.1 G
-.536(haracters, inclu-)-3.036 F(si)180 237.6 Q -.15(ve)-.25 G 3.712(,u)
-.15 G 1.212(sing the current locale')-3.712 F 3.712(sc)-.55 G 1.212
-(ollating sequence and character set, is matched.)-3.712 F 1.213(If the)
-6.213 F 1.124(\214rst character follo)180 249.6 R 1.124(wing the)-.25 F
-F1([)3.624 E F0 1.124(is a)3.624 F F1(!)3.624 E F0 1.124(or a)6.124 F F1
-(^)3.623 E F0 1.123(then an)3.623 F 3.623(yc)-.15 G 1.123
-(haracter not enclosed is matched.)-3.623 F .894
-(The sorting order of characters in range e)180 261.6 R .895
-(xpressions is determined by the current locale)-.15 F .376(and the v)
-180 273.6 R .376(alues of the)-.25 F/F3 9/Times-Bold@0 SF(LC_COLLA)2.875
+([...])144 213.6 Q F0 .579(Matches an)21.84 F 3.079(yo)-.15 G .579
+(ne of the enclosed characters.)-3.079 F 3.079(Ap)5.579 G .578
+(air of characters separated by a h)-3.079 F(yphen)-.05 E .536
+(denotes a)180 225.6 R/F2 10/Times-Italic@0 SF -.15(ra)3.036 G(ng).15 E
+3.036(ee)-.1 G(xpr)-3.236 E(ession)-.37 E F0 3.036(;a)C .837 -.15(ny c)
+-3.036 H .537(haracter that sorts between those tw).15 F 3.037(oc)-.1 G
+.537(haracters, inclu-)-3.037 F(si)180 237.6 Q -.15(ve)-.25 G 3.713(,u)
+.15 G 1.213(sing the current locale')-3.713 F 3.712(sc)-.55 G 1.212
+(ollating sequence and character set, is matched.)-3.712 F 1.212(If the)
+6.212 F 1.123(\214rst character follo)180 249.6 R 1.123(wing the)-.25 F
+F1([)3.623 E F0 1.123(is a)3.623 F F1(!)3.623 E F0 1.124(or a)6.123 F F1
+(^)3.624 E F0 1.124(then an)3.624 F 3.624(yc)-.15 G 1.124
+(haracter not enclosed is matched.)-3.624 F .895
+(The sorting order of characters in range e)180 261.6 R .894
+(xpressions is determined by the current locale)-.15 F .375(and the v)
+180 273.6 R .375(alues of the)-.25 F/F3 9/Times-Bold@0 SF(LC_COLLA)2.875
 E(TE)-.855 E F0(or)2.625 E F3(LC_ALL)2.875 E F0 .375(shell v)2.625 F
-.375(ariables, if set.)-.25 F 1.975 -.8(To o)5.375 H .375
-(btain the tra-).8 F .067(ditional interpretation of range e)180 285.6 R
-.067(xpressions, where)-.15 F F1([a\255d])2.567 E F0 .068(is equi)2.568
-F -.25(va)-.25 G .068(lent to).25 F F1([abcd])2.568 E F0 2.568(,s)C .068
-(et v)-2.568 F(alue)-.25 E .157(of the)180 297.6 R F1(LC_ALL)2.657 E F0
-.157(shell v)2.657 F .157(ariable to)-.25 F F1(C)2.657 E F0 2.657(,o)C
+.375(ariables, if set.)-.25 F 1.976 -.8(To o)5.376 H .376
+(btain the tra-).8 F .068(ditional interpretation of range e)180 285.6 R
+.068(xpressions, where)-.15 F F1([a\255d])2.568 E F0 .067(is equi)2.567
+F -.25(va)-.25 G .067(lent to).25 F F1([abcd])2.567 E F0 2.567(,s)C .067
+(et v)-2.567 F(alue)-.25 E .156(of the)180 297.6 R F1(LC_ALL)2.656 E F0
+.156(shell v)2.656 F .156(ariable to)-.25 F F1(C)2.657 E F0 2.657(,o)C
 2.657(re)-2.657 G .157(nable the)-2.657 F F1(globasciiranges)2.657 E F0
-.156(shell option.)2.656 F(A)5.156 E F1<ad>2.656 E F0(may)2.656 E .193(\
+.157(shell option.)2.657 F(A)5.157 E F1<ad>2.657 E F0(may)2.657 E .193(\
 be matched by including it as the \214rst or last character in the set.)
-180 309.6 R(A)5.193 E F1(])2.693 E F0 .194(may be matched by)2.693 F
+180 309.6 R(A)5.193 E F1(])2.693 E F0 .193(may be matched by)2.693 F
 (including it as the \214rst character in the set.)180 321.6 Q -.4(Wi)
-180 339.6 S(thin).4 E F1([)3.071 E F0(and)3.071 E F1(])3.071 E F0(,)A F2
--.15(ch)3.071 G(ar).15 E .571(acter classes)-.15 F F0 .571
-(can be speci\214ed using the syntax)3.071 F F1([:)3.07 E F2(class)A F1
-(:])A F0 3.07(,w)C(here)-3.07 E F2(class)3.07 E F0(is one of the follo)
-180 351.6 Q(wing classes de\214ned in the POSIX standard:)-.25 E F1
-8.173(alnum alpha ascii blank cntrl digit graph lo)180 363.6 R 8.173
+180 339.6 S(thin).4 E F1([)3.07 E F0(and)3.07 E F1(])3.07 E F0(,)A F2
+-.15(ch)3.07 G(ar).15 E .571(acter classes)-.15 F F0 .571
+(can be speci\214ed using the syntax)3.071 F F1([:)3.071 E F2(class)A F1
+(:])A F0 3.071(,w)C(here)-3.071 E F2(class)3.071 E F0
+(is one of the follo)180 351.6 Q
+(wing classes de\214ned in the POSIX standard:)-.25 E F1 8.173
+(alnum alpha ascii blank cntrl digit graph lo)180 363.6 R 8.173
 (wer print punct space)-.1 F 5(upper w)180 375.6 R 5(ord xdigit)-.1 F F0
-4.29(Ac)180 387.6 S 1.789(haracter class matches an)-4.29 F 4.289(yc)
+4.289(Ac)180 387.6 S 1.789(haracter class matches an)-4.289 F 4.289(yc)
 -.15 G 1.789(haracter belonging to that class.)-4.289 F(The)6.789 E F1
--.1(wo)4.289 G(rd).1 E F0(character)4.289 E
+-.1(wo)4.29 G(rd).1 E F0(character)4.29 E
 (class matches letters, digits, and the character _.)180 399.6 Q -.4(Wi)
-180 417.6 S(thin).4 E F1([)4.536 E F0(and)4.536 E F1(])4.536 E F0 4.536
-(,a)C(n)-4.536 E F2 2.036(equivalence class)4.536 F F0 2.037
-(can be speci\214ed using the syntax)4.536 F F1([=)4.537 E F2(c)A F1(=])
-A F0 4.537(,w)C(hich)-4.537 E .125(matches all characters with the same\
+180 417.6 S(thin).4 E F1([)4.537 E F0(and)4.537 E F1(])4.537 E F0 4.537
+(,a)C(n)-4.537 E F2 2.037(equivalence class)4.537 F F0 2.036
+(can be speci\214ed using the syntax)4.536 F F1([=)4.536 E F2(c)A F1(=])
+A F0 4.536(,w)C(hich)-4.536 E .125(matches all characters with the same\
  collation weight \(as de\214ned by the current locale\) as)180 429.6 R
 (the character)180 441.6 Q F2(c)2.5 E F0(.)A -.4(Wi)180 459.6 S(thin).4
 E F1([)2.5 E F0(and)2.5 E F1(])2.5 E F0 2.5(,t)C(he syntax)-2.5 E F1([.)
 2.5 E F2(symbol)A F1(.])A F0(matches the collating symbol)2.5 E F2
-(symbol)2.5 E F0(.)A .704(If the)108 476.4 R F1(extglob)3.204 E F0 .705
-(shell option is enabled using the)3.204 F F1(shopt)3.205 E F0 -.2(bu)
-3.205 G .705(iltin, se).2 F -.15(ve)-.25 G .705(ral e).15 F .705
-(xtended pattern matching operators)-.15 F .256(are recognized.)108
-488.4 R .256(In the follo)5.256 F .256(wing description, a)-.25 F F2
+(symbol)2.5 E F0(.)A .705(If the)108 476.4 R F1(extglob)3.205 E F0 .705
+(shell option is enabled using the)3.205 F F1(shopt)3.205 E F0 -.2(bu)
+3.205 G .704(iltin, se).2 F -.15(ve)-.25 G .704(ral e).15 F .704
+(xtended pattern matching operators)-.15 F .255(are recognized.)108
+488.4 R .255(In the follo)5.255 F .255(wing description, a)-.25 F F2
 (pattern-list)2.755 E F0 .255
-(is a list of one or more patterns separated by a)2.755 F F1(|)2.755 E
+(is a list of one or more patterns separated by a)2.755 F F1(|)2.756 E
 F0(.)A(Composite patterns may be formed using one or more of the follo)
 108 500.4 Q(wing sub-patterns:)-.25 E F1(?\()144 524.4 Q F2
 (pattern-list).833 E F1(\)).833 E F0
@@ -3042,21 +3046,21 @@ F0(.)A(Composite patterns may be formed using one or more of the follo)
 .15 G(atterns)-2.5 E F1(!\()144 620.4 Q F2(pattern-list).833 E F1(\))
 .833 E F0(Matches an)180 632.4 Q(ything e)-.15 E(xcept one of the gi)
 -.15 E -.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(Quote Remo)87 649.2
-Q -.1(va)-.1 G(l).1 E F0 1.112(After the preceding e)108 661.2 R 1.112
+Q -.1(va)-.1 G(l).1 E F0 1.113(After the preceding e)108 661.2 R 1.113
 (xpansions, all unquoted occurrences of the characters)-.15 F F1(\\)
-3.613 E F0(,)A F1<08>3.613 E F0 3.613(,a)C(nd)-3.613 E F1(")4.446 E F0
-1.113(that did not result)4.446 F(from one of the abo)108 673.2 Q .3
+3.613 E F0(,)A F1<08>3.612 E F0 3.612(,a)C(nd)-3.612 E F1(")4.445 E F0
+1.112(that did not result)4.445 F(from one of the abo)108 673.2 Q .3
 -.15(ve ex)-.15 H(pansions are remo).15 E -.15(ve)-.15 G(d.).15 E/F4
 10.95/Times-Bold@0 SF(REDIRECTION)72 690 Q F0 .545
 (Before a command is e)108 702 R -.15(xe)-.15 G .545
 (cuted, its input and output may be).15 F F2 -.37(re)3.045 G(dir).37 E
-(ected)-.37 E F0 .545(using a special notation interpreted)3.815 F .616
+(ected)-.37 E F0 .545(using a special notation interpreted)3.815 F .617
 (by the shell.)108 714 R .617(Redirection may also be used to open and \
-close \214les for the current shell e)5.616 F -.15(xe)-.15 G .617
-(cution en).15 F(viron-)-.4 E 3.275(ment. The)108 726 R(follo)3.275 E
+close \214les for the current shell e)5.617 F -.15(xe)-.15 G .616
+(cution en).15 F(viron-)-.4 E 3.274(ment. The)108 726 R(follo)3.274 E
 .774(wing redirection operators may precede or appear an)-.25 F .774
-(ywhere within a)-.15 F F2 .774(simple command)3.614 F F0(or)4.044 E
-(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(23)200.665 E 0 Cg EP
+(ywhere within a)-.15 F F2 .775(simple command)3.615 F F0(or)4.045 E
+(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(23)185.115 E 0 Cg EP
 %%Page: 24 24
 %%BeginPageSetup
 BP
@@ -3066,33 +3070,33 @@ BP
 A F0 5(.R).77 G(edirections are processed in the order the)-5 E 2.5(ya)
 -.15 G(ppear)-2.5 E 2.5(,f)-.4 G(rom left to right.)-2.5 E .771(Each re\
 direction that may be preceded by a \214le descriptor number may instea\
-d be preceded by a w)108 100.8 R .772(ord of)-.1 F .293(the form {)108
+d be preceded by a w)108 100.8 R .771(ord of)-.1 F .292(the form {)108
 112.8 R F1(varname)A F0 2.793(}. In)B .293
 (this case, for each redirection operator e)2.793 F .293
-(xcept >&- and <&-, the shell will allocate)-.15 F 3.498<618c>108 124.8
-S .999(le descriptor greater than 10 and assign it to)-3.498 F F1
-(varname)3.499 E F0 5.999(.I)C 3.499(f>)-5.999 G .999
-(&- or <&- is preceded by {)-3.499 F F1(varname)A F0 .999(}, the)B -.25
-(va)108 136.8 S(lue of).25 E F1(varname)2.5 E F0
-(de\214nes the \214le descriptor to close.)2.5 E .284(In the follo)108
-153.6 R .283(wing descriptions, if the \214le descriptor number is omit\
-ted, and the \214rst character of the redirect-)-.25 F .512
+(xcept >&- and <&-, the shell will allocate)-.15 F 3.18<618c>108 124.8 S
+.679(le descriptor greater than or equal to 10 and assign it to)-3.18 F
+F1(varname)3.179 E F0 5.679(.I)C 3.179(f>)-5.679 G .679
+(&- or <&- is preceded by {)-3.179 F F1(var)A(-)-.2 E(name)108 136.8 Q
+F0(}, the v)A(alue of)-.25 E F1(varname)2.5 E F0
+(de\214nes the \214le descriptor to close.)2.5 E .283(In the follo)108
+153.6 R .284(wing descriptions, if the \214le descriptor number is omit\
+ted, and the \214rst character of the redirect-)-.25 F .513
 (ion operator is)108 165.6 R/F2 10/Times-Bold@0 SF(<)3.012 E F0 3.012
 (,t)C .512
 (he redirection refers to the standard input \(\214le descriptor 0\).)
 -3.012 F .512(If the \214rst character of the)5.512 F
 (redirection operator is)108 177.6 Q F2(>)2.5 E F0 2.5(,t)C
 (he redirection refers to the standard output \(\214le descriptor 1\).)
--2.5 E .825(The w)108 194.4 R .825(ord follo)-.1 F .824
-(wing the redirection operator in the follo)-.25 F .824
-(wing descriptions, unless otherwise noted, is sub-)-.25 F .772
-(jected to brace e)108 206.4 R .773(xpansion, tilde e)-.15 F .773
-(xpansion, parameter e)-.15 F .773
-(xpansion, command substitution, arithmetic e)-.15 F(xpan-)-.15 E .844
-(sion, quote remo)108 218.4 R -.25(va)-.15 G .843(l, pathname e).25 F
-.843(xpansion, and w)-.15 F .843(ord splitting.)-.1 F .843(If it e)5.843
-F .843(xpands to more than one w)-.15 F(ord,)-.1 E F2(bash)3.343 E F0
-(reports an error)108 230.4 Q(.)-.55 E
+-2.5 E .824(The w)108 194.4 R .824(ord follo)-.1 F .824
+(wing the redirection operator in the follo)-.25 F .825
+(wing descriptions, unless otherwise noted, is sub-)-.25 F .463
+(jected to brace e)108 206.4 R .463(xpansion, tilde e)-.15 F .462
+(xpansion, parameter and v)-.15 F .462(ariable e)-.25 F .462
+(xpansion, command substitution, arith-)-.15 F .866(metic e)108 218.4 R
+.866(xpansion, quote remo)-.15 F -.25(va)-.15 G .866(l, pathname e).25 F
+.867(xpansion, and w)-.15 F .867(ord splitting.)-.1 F .867(If it e)5.867
+F .867(xpands to more than one)-.15 F -.1(wo)108 230.4 S(rd,).1 E F2
+(bash)2.5 E F0(reports an error)2.5 E(.)-.55 E
 (Note that the order of redirections is signi\214cant.)108 247.2 Q -.15
 (Fo)5 G 2.5(re).15 G(xample, the command)-2.65 E(ls)144 264 Q F2(>)2.5 E
 F0(dirlist 2)2.5 E F2(>&)A F0(1)A
@@ -3103,9 +3107,9 @@ Q F1(dirlist)2.5 E F0 2.5(,w).68 G(hile the command)-2.5 E(ls 2)144
 E F0 3.027(,b).68 G .527(ecause the standard error w)-3.027 F .527
 (as duplicated from the standard)-.1 F
 (output before the standard output w)108 326.4 Q(as redirected to)-.1 E
-F1(dirlist)2.5 E F0(.).68 E F2(Bash)108 343.2 Q F0 .599(handles se)3.099
-F -.15(ve)-.25 G .599(ral \214lenames specially when the).15 F 3.099(ya)
--.15 G .598(re used in redirections, as described in the follo)-3.099 F
+F1(dirlist)2.5 E F0(.).68 E F2(Bash)108 343.2 Q F0 .598(handles se)3.098
+F -.15(ve)-.25 G .598(ral \214lenames specially when the).15 F 3.099(ya)
+-.15 G .599(re used in redirections, as described in the follo)-3.099 F
 (wing)-.25 E(table:)108 355.2 Q F2(/de)144 372 Q(v/fd/)-.15 E F1(fd)A F0
 (If)180 384 Q F1(fd)2.5 E F0(is a v)2.5 E(alid inte)-.25 E(ger)-.15 E
 2.5<2c8c>-.4 G(le descriptor)-2.5 E F1(fd)2.5 E F0(is duplicated.)2.5 E
@@ -3113,22 +3117,22 @@ F2(/de)144 396 Q(v/stdin)-.15 E F0(File descriptor 0 is duplicated.)180
 408 Q F2(/de)144 420 Q(v/stdout)-.15 E F0
 (File descriptor 1 is duplicated.)180 432 Q F2(/de)144 444 Q(v/stderr)
 -.15 E F0(File descriptor 2 is duplicated.)180 456 Q F2(/de)144 468 Q
-(v/tcp/)-.15 E F1(host)A F2(/)A F1(port)A F0(If)180 480 Q F1(host)2.996
-E F0 .496(is a v)2.996 F .496(alid hostname or Internet address, and)
--.25 F F1(port)2.997 E F0 .497(is an inte)2.997 F .497
+(v/tcp/)-.15 E F1(host)A F2(/)A F1(port)A F0(If)180 480 Q F1(host)2.997
+E F0 .497(is a v)2.997 F .497(alid hostname or Internet address, and)
+-.25 F F1(port)2.996 E F0 .496(is an inte)2.996 F .496
 (ger port number or ser)-.15 F(-)-.2 E(vice name,)180 492 Q F2(bash)2.5
 E F0(attempts to open a TCP connection to the corresponding sock)2.5 E
 (et.)-.1 E F2(/de)144 504 Q(v/udp/)-.15 E F1(host)A F2(/)A F1(port)A F0
-(If)180 516 Q F1(host)2.997 E F0 .497(is a v)2.997 F .497
-(alid hostname or Internet address, and)-.25 F F1(port)2.996 E F0 .496
-(is an inte)2.996 F .496(ger port number or ser)-.15 F(-)-.2 E
+(If)180 516 Q F1(host)2.996 E F0 .496(is a v)2.996 F .496
+(alid hostname or Internet address, and)-.25 F F1(port)2.997 E F0 .497
+(is an inte)2.997 F .497(ger port number or ser)-.15 F(-)-.2 E
 (vice name,)180 528 Q F2(bash)2.5 E F0
 (attempts to open a UDP connection to the corresponding sock)2.5 E(et.)
 -.1 E 2.5(Af)108 544.8 S
 (ailure to open or create a \214le causes the redirection to f)-2.6 E
-(ail.)-.1 E .946(Redirections using \214le descriptors greater than 9 s\
-hould be used with care, as the)108 561.6 R 3.447(ym)-.15 G .947
-(ay con\215ict with \214le)-3.447 F
+(ail.)-.1 E .947(Redirections using \214le descriptors greater than 9 s\
+hould be used with care, as the)108 561.6 R 3.446(ym)-.15 G .946
+(ay con\215ict with \214le)-3.446 F
 (descriptors the shell uses internally)108 573.6 Q(.)-.65 E F2(Redir)87
 590.4 Q(ecting Input)-.18 E F0 .391
 (Redirection of input causes the \214le whose name results from the e)
@@ -3139,49 +3143,49 @@ hould be used with care, as the)108 561.6 R 3.447(ym)-.15 G .947
 (is not speci\214ed.)2.74 E
 (The general format for redirecting input is:)108 631.2 Q([)144 648 Q F1
 (n)A F0(])A F2(<)A F1(wor)A(d)-.37 E F2(Redir)87 664.8 Q(ecting Output)
--.18 E F0 .174
+-.18 E F0 .175
 (Redirection of output causes the \214le whose name results from the e)
-108 676.8 R .175(xpansion of)-.15 F F1(wor)3.015 E(d)-.37 E F0 .175
-(to be opened for writ-)3.445 F .825(ing on \214le descriptor)108 688.8
-R F1(n)3.325 E F0 3.325(,o).24 G 3.325(rt)-3.325 G .824
-(he standard output \(\214le descriptor 1\) if)-3.325 F F1(n)3.684 E F0
-.824(is not speci\214ed.)3.564 F .824(If the \214le does not)5.824 F
+108 676.8 R .174(xpansion of)-.15 F F1(wor)3.014 E(d)-.37 E F0 .174
+(to be opened for writ-)3.444 F .824(ing on \214le descriptor)108 688.8
+R F1(n)3.324 E F0 3.324(,o).24 G 3.324(rt)-3.324 G .824
+(he standard output \(\214le descriptor 1\) if)-3.324 F F1(n)3.684 E F0
+.824(is not speci\214ed.)3.564 F .825(If the \214le does not)5.825 F
 -.15(ex)108 700.8 S(ist it is created; if it does e).15 E
 (xist it is truncated to zero size.)-.15 E
 (The general format for redirecting output is:)108 717.6 Q(GNU Bash 4.2)
-72 768 Q(2011 July 7)151.505 E(24)200.665 E 0 Cg EP
+72 768 Q(2011 September 25)135.955 E(24)185.115 E 0 Cg EP
 %%Page: 25 25
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
 -.35 E([)144 84 Q/F1 10/Times-Italic@0 SF(n)A F0(])A/F2 10/Times-Bold@0
-SF(>)A F1(wor)A(d)-.37 E F0 .154(If the redirection operator is)108
-100.8 R F2(>)2.654 E F0 2.654(,a)C .154(nd the)-2.654 F F2(noclob)2.654
-E(ber)-.1 E F0 .154(option to the)2.654 F F2(set)2.655 E F0 -.2(bu)2.655
-G .155(iltin has been enabled, the redirection).2 F .658(will f)108
-112.8 R .658(ail if the \214le whose name results from the e)-.1 F .658
-(xpansion of)-.15 F F1(wor)3.158 E(d)-.37 E F0 -.15(ex)3.158 G .657
-(ists and is a re).15 F .657(gular \214le.)-.15 F .657(If the redi-)
-5.657 F .408(rection operator is)108 124.8 R F2(>|)2.909 E F0 2.909(,o)C
+SF(>)A F1(wor)A(d)-.37 E F0 .155(If the redirection operator is)108
+100.8 R F2(>)2.655 E F0 2.655(,a)C .155(nd the)-2.655 F F2(noclob)2.655
+E(ber)-.1 E F0 .154(option to the)2.654 F F2(set)2.654 E F0 -.2(bu)2.654
+G .154(iltin has been enabled, the redirection).2 F .657(will f)108
+112.8 R .657(ail if the \214le whose name results from the e)-.1 F .658
+(xpansion of)-.15 F F1(wor)3.158 E(d)-.37 E F0 -.15(ex)3.158 G .658
+(ists and is a re).15 F .658(gular \214le.)-.15 F .658(If the redi-)
+5.658 F .409(rection operator is)108 124.8 R F2(>|)2.909 E F0 2.909(,o)C
 2.909(rt)-2.909 G .409(he redirection operator is)-2.909 F F2(>)2.909 E
 F0 .409(and the)2.909 F F2(noclob)2.909 E(ber)-.1 E F0 .409
-(option to the)2.909 F F2(set)2.909 E F0 -.2(bu)2.909 G .409
+(option to the)2.909 F F2(set)2.909 E F0 -.2(bu)2.908 G .408
 (iltin command).2 F(is not enabled, the redirection is attempted e)108
 136.8 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214le named by)
 -2.5 E F1(wor)2.5 E(d)-.37 E F0 -.15(ex)2.5 G(ists.).15 E F2 -.25(Ap)87
-153.6 S(pending Redir).25 E(ected Output)-.18 E F0 .642
+153.6 S(pending Redir).25 E(ected Output)-.18 E F0 .641
 (Redirection of output in this f)108 165.6 R .642
-(ashion causes the \214le whose name results from the e)-.1 F .641
-(xpansion of)-.15 F F1(wor)3.481 E(d)-.37 E F0 .641(to be)3.911 F .473
-(opened for appending on \214le descriptor)108 177.6 R F1(n)2.973 E F0
+(ashion causes the \214le whose name results from the e)-.1 F .642
+(xpansion of)-.15 F F1(wor)3.482 E(d)-.37 E F0 .642(to be)3.912 F .474
+(opened for appending on \214le descriptor)108 177.6 R F1(n)2.974 E F0
 2.974(,o).24 G 2.974(rt)-2.974 G .474
-(he standard output \(\214le descriptor 1\) if)-2.974 F F1(n)3.334 E F0
-.474(is not speci\214ed.)3.214 F(If)5.474 E(the \214le does not e)108
+(he standard output \(\214le descriptor 1\) if)-2.974 F F1(n)3.333 E F0
+.473(is not speci\214ed.)3.213 F(If)5.473 E(the \214le does not e)108
 189.6 Q(xist it is created.)-.15 E
 (The general format for appending output is:)108 206.4 Q([)144 223.2 Q
 F1(n)A F0(])A F2(>>)A F1(wor)A(d)-.37 E F2(Redir)87 244.8 Q
-(ecting Standard Output and Standard Err)-.18 E(or)-.18 E F0 .249
+(ecting Standard Output and Standard Err)-.18 E(or)-.18 E F0 .248
 (This construct allo)108 256.8 R .249(ws both the standard output \(\
 \214le descriptor 1\) and the standard error output \(\214le descrip-)
 -.25 F(tor 2\) to be redirected to the \214le whose name is the e)108
@@ -3194,7 +3198,7 @@ F1(wor)A(d)-.37 E F0(Of the tw)108 343.2 Q 2.5(of)-.1 G
 -.25(va)-.25 G(lent to).25 E F2(>)144 360 Q F1(wor)A(d)-.37 E F0(2)2.5 E
 F2(>&)A F0(1)A(\(see)108 376.8 Q F2(Duplicating File Descriptors)2.5 E
 F0(belo)2.5 E(w\).)-.25 E F2 -.25(Ap)87 393.6 S
-(pending Standard Output and Standard Err).25 E(or)-.18 E F0 .248
+(pending Standard Output and Standard Err).25 E(or)-.18 E F0 .249
 (This construct allo)108 405.6 R .249(ws both the standard output \(\
 \214le descriptor 1\) and the standard error output \(\214le descrip-)
 -.25 F(tor 2\) to be appended to the \214le whose name is the e)108
@@ -3206,36 +3210,37 @@ F0(belo)2.5 E(w\).)-.25 E F2 -.25(Ap)87 393.6 S
 Q F2(Duplicating File Descriptors)2.5 E F0(belo)2.5 E(w\).)-.25 E F2
 (Her)87 518.4 Q 2.5(eD)-.18 G(ocuments)-2.5 E F0 .33(This type of redir\
 ection instructs the shell to read input from the current source until \
-a line containing only)108 530.4 R F1(delimiter)108.35 542.4 Q F0 .614
-(\(with no trailing blanks\) is seen.)3.844 F .615
+a line containing only)108 530.4 R F1(delimiter)108.35 542.4 Q F0 .615
+(\(with no trailing blanks\) is seen.)3.845 F .615
 (All of the lines read up to that point are then used as the stan-)5.615
 F(dard input for a command.)108 554.4 Q
 (The format of here-documents is:)108 571.2 Q F2(<<)144 588 Q F0([)A F2
 <ad>A F0(])A F1(wor)A(d)-.37 E(her)164 600 Q(e-document)-.37 E
-(delimiter)144 612 Q F0 .128(No parameter e)108 628.8 R .127
-(xpansion, command substitution, arithmetic e)-.15 F .127
-(xpansion, or pathname e)-.15 F .127(xpansion is performed)-.15 F(on)108
-640.8 Q F1(wor)3.274 E(d)-.37 E F0 5.774(.I).77 G 3.274(fa)-5.774 G
-1.074 -.15(ny c)-3.274 H .774(haracters in).15 F F1(wor)3.614 E(d)-.37 E
-F0 .774(are quoted, the)4.044 F F1(delimiter)3.624 E F0 .774
-(is the result of quote remo)4.004 F -.25(va)-.15 G 3.275(lo).25 G(n)
--3.275 E F1(wor)3.275 E(d)-.37 E F0 3.275(,a).77 G(nd)-3.275 E .905
-(the lines in the here-document are not e)108 652.8 R 3.405(xpanded. If)
--.15 F F1(wor)3.405 E(d)-.37 E F0 .904
-(is unquoted, all lines of the here-document are)3.405 F .694
-(subjected to parameter e)108 664.8 R .695
-(xpansion, command substitution, and arithmetic e)-.15 F 3.195
-(xpansion. In)-.15 F .695(the latter case, the)3.195 F
-(character sequence)108 676.8 Q F2(\\<newline>)2.5 E F0(is ignored, and)
-2.5 E F2(\\)2.5 E F0(must be used to quote the characters)2.5 E F2(\\)
-2.5 E F0(,)A F2($)2.5 E F0 2.5(,a)C(nd)-2.5 E F2<92>2.5 E F0(.)A .602
+(delimiter)144 612 Q F0 .301(No parameter and v)108 628.8 R .302
+(ariable e)-.25 F .302(xpansion, command substitution, arithmetic e)-.15
+F .302(xpansion, or pathname e)-.15 F(xpansion)-.15 E .226
+(is performed on)108 640.8 R F1(wor)2.726 E(d)-.37 E F0 5.226(.I).77 G
+2.726(fa)-5.226 G .526 -.15(ny c)-2.726 H .226(haracters in).15 F F1
+(wor)3.066 E(d)-.37 E F0 .226(are quoted, the)3.496 F F1(delimiter)3.076
+E F0 .225(is the result of quote remo)3.456 F -.25(va)-.15 G 2.725(lo)
+.25 G(n)-2.725 E F1(wor)108 652.8 Q(d)-.37 E F0 2.714(,a).77 G .214
+(nd the lines in the here-document are not e)-2.714 F 2.714(xpanded. If)
+-.15 F F1(wor)2.715 E(d)-.37 E F0 .215
+(is unquoted, all lines of the here-docu-)2.715 F .673
+(ment are subjected to parameter e)108 664.8 R .673
+(xpansion, command substitution, and arithmetic e)-.15 F 3.173
+(xpansion. In)-.15 F .673(the latter)3.173 F
+(case, the character sequence)108 676.8 Q F2(\\<newline>)2.5 E F0
+(is ignored, and)2.5 E F2(\\)2.5 E F0
+(must be used to quote the characters)2.5 E F2(\\)2.5 E F0(,)A F2($)2.5
+E F0 2.5(,a)C(nd)-2.5 E F2<92>2.5 E F0(.)A .601
 (If the redirection operator is)108 693.6 R F2(<<\255)3.101 E F0 3.101
 (,t)C .601(hen all leading tab characters are stripped from input lines\
  and the line)-3.101 F(containing)108 705.6 Q F1(delimiter)2.5 E F0 5
 (.T).73 G(his allo)-5 E
 (ws here-documents within shell scripts to be indented in a natural f)
--.25 E(ashion.)-.1 E(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(25)
-200.665 E 0 Cg EP
+-.25 E(ashion.)-.1 E(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E
+(25)185.115 E 0 Cg EP
 %%Page: 26 26
 %%BeginPageSetup
 BP
 -.35 E/F1 10/Times-Bold@0 SF(Her)87 84 Q 2.5(eS)-.18 G(trings)-2.5 E F0
 2.5(Av)108 96 S(ariant of here documents, the format is:)-2.75 E F1(<<<)
 144 112.8 Q/F2 10/Times-Italic@0 SF(wor)A(d)-.37 E F0(The)108 129.6 Q F2
-(wor)3.115 E(d)-.37 E F0 .615(is e)3.115 F .615
-(xpanded as described abo)-.15 F -.15(ve)-.15 G 3.116(,w).15 G .616
-(ith the e)-3.116 F .616(xception that pathname e)-.15 F .616
-(xpansion is not applied, and)-.15 F
-(supplied as a single string to the command on its standard input.)108
-141.6 Q F1(Duplicating File Descriptors)87 158.4 Q F0
-(The redirection operator)108 170.4 Q([)144 187.2 Q F2(n)A F0(])A F1(<&)
-A F2(wor)A(d)-.37 E F0 .127
-(is used to duplicate input \214le descriptors.)108 204 R(If)5.127 E F2
-(wor)2.967 E(d)-.37 E F0 -.15(ex)3.397 G .126
+(wor)2.894 E(d)-.37 E F0(under)2.894 E .394(goes brace e)-.18 F .393
+(xpansion, tilde e)-.15 F .393(xpansion, parameter and v)-.15 F .393
+(ariable e)-.25 F .393(xpansion, command substi-)-.15 F 1.384
+(tution, arithmetic e)108 141.6 R 1.384(xpansion, and quote remo)-.15 F
+-.25(va)-.15 G 3.884(l. P).25 F 1.384(athname e)-.15 F 1.384(xpansion w)
+-.15 F 1.384(ord splitting are not performed.)-.1 F(The result is suppl\
+ied as a single string to the command on its standard input.)108 153.6 Q
+F1(Duplicating File Descriptors)87 170.4 Q F0(The redirection operator)
+108 182.4 Q([)144 199.2 Q F2(n)A F0(])A F1(<&)A F2(wor)A(d)-.37 E F0
+.127(is used to duplicate input \214le descriptors.)108 216 R(If)5.127 E
+F2(wor)2.967 E(d)-.37 E F0 -.15(ex)3.397 G .126
 (pands to one or more digits, the \214le descriptor denoted).15 F(by)108
-216 Q F2(n)3.317 E F0 .457(is made to be a cop)3.197 F 2.957(yo)-.1 G
+228 Q F2(n)3.317 E F0 .457(is made to be a cop)3.197 F 2.957(yo)-.1 G
 2.957(ft)-2.957 G .457(hat \214le descriptor)-2.957 F 5.457(.I)-.55 G
 2.957(ft)-5.457 G .457(he digits in)-2.957 F F2(wor)3.298 E(d)-.37 E F0
 .458(do not specify a \214le descriptor open)3.728 F .15
-(for input, a redirection error occurs.)108 228 R(If)5.15 E F2(wor)2.99
+(for input, a redirection error occurs.)108 240 R(If)5.15 E F2(wor)2.99
 E(d)-.37 E F0 -.25(eva)3.42 G .15(luates to).25 F F1<ad>2.65 E F0 2.649
 <2c8c>C .149(le descriptor)-2.649 F F2(n)3.009 E F0 .149(is closed.)
 2.889 F(If)5.149 E F2(n)3.009 E F0 .149(is not speci\214ed,)2.889 F
-(the standard input \(\214le descriptor 0\) is used.)108 240 Q
-(The operator)108 256.8 Q([)144 273.6 Q F2(n)A F0(])A F1(>&)A F2(wor)A
+(the standard input \(\214le descriptor 0\) is used.)108 252 Q
+(The operator)108 268.8 Q([)144 285.6 Q F2(n)A F0(])A F1(>&)A F2(wor)A
 (d)-.37 E F0 .443
-(is used similarly to duplicate output \214le descriptors.)108 290.4 R
+(is used similarly to duplicate output \214le descriptors.)108 302.4 R
 (If)5.443 E F2(n)3.304 E F0 .444
 (is not speci\214ed, the standard output \(\214le descrip-)3.184 F 1.358
-(tor 1\) is used.)108 302.4 R 1.358(If the digits in)6.358 F F2(wor)
+(tor 1\) is used.)108 314.4 R 1.358(If the digits in)6.358 F F2(wor)
 4.198 E(d)-.37 E F0 1.357(do not specify a \214le descriptor open for o\
-utput, a redirection error)4.628 F 2.596(occurs. As)108 314.4 R 2.596
+utput, a redirection error)4.628 F 2.596(occurs. As)108 326.4 R 2.596
 (as)2.596 G .096(pecial case, if)-2.596 F F2(n)2.596 E F0 .096
 (is omitted, and)2.596 F F2(wor)2.596 E(d)-.37 E F0 .096(does not e)
 2.596 F .096(xpand to one or more digits, the standard out-)-.15 F
-(put and standard error are redirected as described pre)108 326.4 Q
-(viously)-.25 E(.)-.65 E F1(Mo)87 343.2 Q(ving File Descriptors)-.1 E F0
-(The redirection operator)108 355.2 Q([)144 372 Q F2(n)A F0(])A F1(<&)A
-F2(digit)A F1<ad>A F0(mo)108 388.8 Q -.15(ve)-.15 G 3.036(st).15 G .536
+(put and standard error are redirected as described pre)108 338.4 Q
+(viously)-.25 E(.)-.65 E F1(Mo)87 355.2 Q(ving File Descriptors)-.1 E F0
+(The redirection operator)108 367.2 Q([)144 384 Q F2(n)A F0(])A F1(<&)A
+F2(digit)A F1<ad>A F0(mo)108 400.8 Q -.15(ve)-.15 G 3.036(st).15 G .536
 (he \214le descriptor)-3.036 F F2(digit)3.036 E F0 .536
 (to \214le descriptor)3.036 F F2(n)3.036 E F0 3.036(,o).24 G 3.036(rt)
 -3.036 G .535(he standard input \(\214le descriptor 0\) if)-3.036 F F2
-(n)3.035 E F0 .535(is not speci-)3.035 F(\214ed.)108 400.8 Q F2(digit)5
+(n)3.035 E F0 .535(is not speci-)3.035 F(\214ed.)108 412.8 Q F2(digit)5
 E F0(is closed after being duplicated to)2.5 E F2(n)2.5 E F0(.)A
-(Similarly)108 417.6 Q 2.5(,t)-.65 G(he redirection operator)-2.5 E([)
-144 434.4 Q F2(n)A F0(])A F1(>&)A F2(digit)A F1<ad>A F0(mo)108 451.2 Q
+(Similarly)108 429.6 Q 2.5(,t)-.65 G(he redirection operator)-2.5 E([)
+144 446.4 Q F2(n)A F0(])A F1(>&)A F2(digit)A F1<ad>A F0(mo)108 463.2 Q
 -.15(ve)-.15 G 2.785(st).15 G .285(he \214le descriptor)-2.785 F F2
 (digit)2.785 E F0 .285(to \214le descriptor)2.785 F F2(n)2.785 E F0
 2.785(,o).24 G 2.785(rt)-2.785 G .286
 (he standard output \(\214le descriptor 1\) if)-2.785 F F2(n)2.786 E F0
-.286(is not speci-)2.786 F(\214ed.)108 463.2 Q F1
-(Opening File Descriptors f)87 480 Q(or Reading and Writing)-.25 E F0
-(The redirection operator)108 492 Q([)144 508.8 Q F2(n)A F0(])A F1(<>)A
+.286(is not speci-)2.786 F(\214ed.)108 475.2 Q F1
+(Opening File Descriptors f)87 492 Q(or Reading and Writing)-.25 E F0
+(The redirection operator)108 504 Q([)144 520.8 Q F2(n)A F0(])A F1(<>)A
 F2(wor)A(d)-.37 E F0 1.349(causes the \214le whose name is the e)108
-525.6 R 1.349(xpansion of)-.15 F F2(wor)4.189 E(d)-.37 E F0 1.349
+537.6 R 1.349(xpansion of)-.15 F F2(wor)4.189 E(d)-.37 E F0 1.349
 (to be opened for both reading and writing on \214le)4.619 F(descriptor)
-108 537.6 Q F2(n)2.5 E F0 2.5(,o).24 G 2.5(ro)-2.5 G 2.5<6e8c>-2.5 G
+108 549.6 Q F2(n)2.5 E F0 2.5(,o).24 G 2.5(ro)-2.5 G 2.5<6e8c>-2.5 G
 (le descriptor 0 if)-2.5 E F2(n)2.86 E F0(is not speci\214ed.)2.74 E
 (If the \214le does not e)5 E(xist, it is created.)-.15 E/F3 10.95
-/Times-Bold@0 SF(ALIASES)72 554.4 Q F2(Aliases)108 566.4 Q F0(allo)3.173
+/Times-Bold@0 SF(ALIASES)72 566.4 Q F2(Aliases)108 578.4 Q F0(allo)3.173
 E 3.173(was)-.25 G .674(tring to be substituted for a w)-3.173 F .674
 (ord when it is used as the \214rst w)-.1 F .674
 (ord of a simple command.)-.1 F .394(The shell maintains a list of alia\
-ses that may be set and unset with the)108 578.4 R F1(alias)2.893 E F0
+ses that may be set and unset with the)108 590.4 R F1(alias)2.893 E F0
 (and)2.893 E F1(unalias)2.893 E F0 -.2(bu)2.893 G .393(iltin commands).2
-F(\(see)108 590.4 Q/F4 9/Times-Bold@0 SF 1.979(SHELL B)4.479 F(UIL)-.09
+F(\(see)108 602.4 Q/F4 9/Times-Bold@0 SF 1.979(SHELL B)4.479 F(UIL)-.09
 E 1.979(TIN COMMANDS)-.828 F F0(belo)4.229 E 4.48(w\). The)-.25 F 1.98
 (\214rst w)4.48 F 1.98(ord of each simple command, if unquoted, is)-.1 F
-(check)108 602.4 Q .473(ed to see if it has an alias.)-.1 F .473
+(check)108 614.4 Q .473(ed to see if it has an alias.)-.1 F .473
 (If so, that w)5.473 F .472(ord is replaced by the te)-.1 F .472
 (xt of the alias.)-.15 F .472(The characters)5.472 F F1(/)2.972 E F0(,)A
-F1($)2.972 E F0(,)A F1<92>2.972 E F0(,)A(and)108 614.4 Q F1(=)3.611 E F0
+F1($)2.972 E F0(,)A F1<92>2.972 E F0(,)A(and)108 626.4 Q F1(=)3.611 E F0
 1.111(and an)3.611 F 3.611(yo)-.15 G 3.611(ft)-3.611 G 1.111(he shell)
 -3.611 F F2(metac)3.612 E(har)-.15 E(acter)-.15 E(s)-.1 E F0 1.112
 (or quoting characters listed abo)3.612 F 1.412 -.15(ve m)-.15 H 1.112
-(ay not appear in an alias).15 F 3.62(name. The)108 626.4 R 1.12
+(ay not appear in an alias).15 F 3.62(name. The)108 638.4 R 1.12
 (replacement te)3.62 F 1.119(xt may contain an)-.15 F 3.619(yv)-.15 G
 1.119(alid shell input, including shell metacharacters.)-3.869 F 1.119
-(The \214rst)6.119 F -.1(wo)108 638.4 S .513(rd of the replacement te).1
+(The \214rst)6.119 F -.1(wo)108 650.4 S .513(rd of the replacement te).1
 F .513(xt is tested for aliases, b)-.15 F .513(ut a w)-.2 F .514
 (ord that is identical to an alias being e)-.1 F .514(xpanded is)-.15 F
-.296(not e)108 650.4 R .296(xpanded a second time.)-.15 F .296
+.296(not e)108 662.4 R .296(xpanded a second time.)-.15 F .296
 (This means that one may alias)5.296 F F1(ls)2.796 E F0(to)2.796 E F1
 .296(ls \255F)2.796 F F0 2.796(,f)C .295(or instance, and)-2.796 F F1
-(bash)2.795 E F0 .295(does not try)2.795 F .542(to recursi)108 662.4 R
+(bash)2.795 E F0 .295(does not try)2.795 F .542(to recursi)108 674.4 R
 -.15(ve)-.25 G .542(ly e).15 F .542(xpand the replacement te)-.15 F
 3.042(xt. If)-.15 F .543(the last character of the alias v)3.042 F .543
 (alue is a)-.25 F F2(blank)3.043 E F0 3.043(,t).67 G .543(hen the ne)
--3.043 F(xt)-.15 E(command w)108 674.4 Q(ord follo)-.1 E
+-3.043 F(xt)-.15 E(command w)108 686.4 Q(ord follo)-.1 E
 (wing the alias is also check)-.25 E(ed for alias e)-.1 E(xpansion.)-.15
-E(Aliases are created and listed with the)108 691.2 Q F1(alias)2.5 E F0
+E(Aliases are created and listed with the)108 703.2 Q F1(alias)2.5 E F0
 (command, and remo)2.5 E -.15(ve)-.15 G 2.5(dw).15 G(ith the)-2.5 E F1
-(unalias)2.5 E F0(command.)2.5 E .284
-(There is no mechanism for using ar)108 708 R .284
-(guments in the replacement te)-.18 F 2.784(xt. If)-.15 F(ar)2.784 E
-.284(guments are needed, a shell func-)-.18 F(tion should be used \(see)
-108 720 Q F4(FUNCTIONS)2.5 E F0(belo)2.25 E(w\).)-.25 E(GNU Bash 4.2)72
-768 Q(2011 July 7)151.505 E(26)200.665 E 0 Cg EP
+(unalias)2.5 E F0(command.)2.5 E 1.777
+(There is no mechanism for using ar)108 720 R 1.777
+(guments in the replacement te)-.18 F 4.277(xt. If)-.15 F(ar)4.277 E
+1.777(guments are needed, a shell)-.18 F(GNU Bash 4.2)72 768 Q
+(2011 September 25)135.955 E(26)185.115 E 0 Cg EP
 %%Page: 27 27
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E 1.22(Aliases are not e)108 84 R 1.22
-(xpanded when the shell is not interacti)-.15 F -.15(ve)-.25 G 3.72(,u)
-.15 G 1.22(nless the)-3.72 F/F1 10/Times-Bold@0 SF(expand_aliases)3.72 E
-F0 1.22(shell option is set)3.72 F(using)108 96 Q F1(shopt)2.5 E F0
-(\(see the description of)2.5 E F1(shopt)2.5 E F0(under)2.5 E/F2 9
-/Times-Bold@0 SF(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)
+-.35 E(function should be used \(see)108 84 Q/F1 9/Times-Bold@0 SF
+(FUNCTIONS)2.5 E F0(belo)2.25 E(w\).)-.25 E 1.22(Aliases are not e)108
+100.8 R 1.22(xpanded when the shell is not interacti)-.15 F -.15(ve)-.25
+G 3.72(,u).15 G 1.22(nless the)-3.72 F/F2 10/Times-Bold@0 SF
+(expand_aliases)3.72 E F0 1.22(shell option is set)3.72 F(using)108
+112.8 Q F2(shopt)2.5 E F0(\(see the description of)2.5 E F2(shopt)2.5 E
+F0(under)2.5 E F1(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)
 2.25 E(w\).)-.25 E .436
 (The rules concerning the de\214nition and use of aliases are some)108
-112.8 R .435(what confusing.)-.25 F F1(Bash)5.435 E F0(al)2.935 E -.1
+129.6 R .435(what confusing.)-.25 F F2(Bash)5.435 E F0(al)2.935 E -.1
 (wa)-.1 G .435(ys reads at least).1 F .337
-(one complete line of input before e)108 124.8 R -.15(xe)-.15 G .338
+(one complete line of input before e)108 141.6 R -.15(xe)-.15 G .338
 (cuting an).15 F 2.838(yo)-.15 G 2.838(ft)-2.838 G .338
 (he commands on that line.)-2.838 F .338(Aliases are e)5.338 F .338
-(xpanded when)-.15 F 3.404(ac)108 136.8 S .904
+(xpanded when)-.15 F 3.404(ac)108 153.6 S .904
 (ommand is read, not when it is e)-3.404 F -.15(xe)-.15 G 3.404
 (cuted. Therefore,).15 F .904
 (an alias de\214nition appearing on the same line as)3.404 F 1.161
-(another command does not tak)108 148.8 R 3.662(ee)-.1 G -.25(ff)-3.662
+(another command does not tak)108 165.6 R 3.662(ee)-.1 G -.25(ff)-3.662
 G 1.162(ect until the ne).25 F 1.162(xt line of input is read.)-.15 F
 1.162(The commands follo)6.162 F 1.162(wing the)-.25 F .277
-(alias de\214nition on that line are not af)108 160.8 R .277
+(alias de\214nition on that line are not af)108 177.6 R .277
 (fected by the ne)-.25 F 2.777(wa)-.25 G 2.777(lias. This)-2.777 F(beha)
 2.777 E .277(vior is also an issue when functions)-.2 F .698(are e)108
-172.8 R -.15(xe)-.15 G 3.198(cuted. Aliases).15 F .698(are e)3.198 F
+189.6 R -.15(xe)-.15 G 3.198(cuted. Aliases).15 F .698(are e)3.198 F
 .699(xpanded when a function de\214nition is read, not when the functio\
 n is e)-.15 F -.15(xe)-.15 G(cuted,).15 E .495
-(because a function de\214nition is itself a compound command.)108 184.8
+(because a function de\214nition is itself a compound command.)108 201.6
 R .494(As a consequence, aliases de\214ned in a func-)5.494 F .084
-(tion are not a)108 196.8 R -.25(va)-.2 G .084
+(tion are not a)108 213.6 R -.25(va)-.2 G .084
 (ilable until after that function is e).25 F -.15(xe)-.15 G 2.584
 (cuted. T).15 F 2.584(ob)-.8 G 2.584(es)-2.584 G .084(afe, al)-2.584 F
 -.1(wa)-.1 G .085(ys put alias de\214nitions on a sepa-).1 F
-(rate line, and do not use)108 208.8 Q F1(alias)2.5 E F0
-(in compound commands.)2.5 E -.15(Fo)108 225.6 S 2.5(ra).15 G(lmost e)
+(rate line, and do not use)108 225.6 Q F2(alias)2.5 E F0
+(in compound commands.)2.5 E -.15(Fo)108 242.4 S 2.5(ra).15 G(lmost e)
 -2.5 E -.15(ve)-.25 G
 (ry purpose, aliases are superseded by shell functions.).15 E/F3 10.95
-/Times-Bold@0 SF(FUNCTIONS)72 242.4 Q F0 3.468(As)108 254.4 S .968
+/Times-Bold@0 SF(FUNCTIONS)72 259.2 Q F0 3.468(As)108 271.2 S .968
 (hell function, de\214ned as described abo)-3.468 F 1.267 -.15(ve u)-.15
-H(nder).15 E F2 .967(SHELL GRAMMAR)3.467 F/F4 9/Times-Roman@0 SF(,)A F0
-.967(stores a series of commands for)3.217 F 1.001(later e)108 266.4 R
+H(nder).15 E F1 .967(SHELL GRAMMAR)3.467 F/F4 9/Times-Roman@0 SF(,)A F0
+.967(stores a series of commands for)3.217 F 1.001(later e)108 283.2 R
 -.15(xe)-.15 G 3.501(cution. When).15 F 1.002(the name of a shell funct\
 ion is used as a simple command name, the list of com-)3.501 F .316
-(mands associated with that function name is e)108 278.4 R -.15(xe)-.15
+(mands associated with that function name is e)108 295.2 R -.15(xe)-.15
 G 2.816(cuted. Functions).15 F .316(are e)2.816 F -.15(xe)-.15 G .315
 (cuted in the conte).15 F .315(xt of the current)-.15 F .035
-(shell; no ne)108 290.4 R 2.535(wp)-.25 G .036
+(shell; no ne)108 307.2 R 2.535(wp)-.25 G .036
 (rocess is created to interpret them \(contrast this with the e)-2.535 F
 -.15(xe)-.15 G .036(cution of a shell script\).).15 F .036(When a)5.036
-F .64(function is e)108 302.4 R -.15(xe)-.15 G .64(cuted, the ar).15 F
+F .64(function is e)108 319.2 R -.15(xe)-.15 G .64(cuted, the ar).15 F
 .639
 (guments to the function become the positional parameters during its e)
--.18 F -.15(xe)-.15 G(cution.).15 E .532(The special parameter)108 314.4
-R F1(#)3.032 E F0 .532(is updated to re\215ect the change.)3.032 F .532
-(Special parameter)5.532 F F1(0)3.033 E F0 .533(is unchanged.)3.033 F
-.533(The \214rst ele-)5.533 F(ment of the)108 326.4 Q F2(FUNCN)2.5 E
+-.18 F -.15(xe)-.15 G(cution.).15 E .532(The special parameter)108 331.2
+R F2(#)3.032 E F0 .532(is updated to re\215ect the change.)3.032 F .532
+(Special parameter)5.532 F F2(0)3.033 E F0 .533(is unchanged.)3.033 F
+.533(The \214rst ele-)5.533 F(ment of the)108 343.2 Q F1(FUNCN)2.5 E
 (AME)-.18 E F0 -.25(va)2.25 G
 (riable is set to the name of the function while the function is e).25 E
 -.15(xe)-.15 G(cuting.).15 E 1.25(All other aspects of the shell e)108
-343.2 R -.15(xe)-.15 G 1.25(cution en).15 F 1.25
+360 R -.15(xe)-.15 G 1.25(cution en).15 F 1.25
 (vironment are identical between a function and its caller with)-.4 F
-1.048(these e)108 355.2 R 3.548(xceptions: the)-.15 F F2(DEB)3.548 E(UG)
--.09 E F0(and)3.298 E F1(RETURN)3.548 E F0 1.048
-(traps \(see the description of the)3.548 F F1(trap)3.548 E F0 -.2(bu)
-3.548 G 1.048(iltin under).2 F F2(SHELL)3.549 E -.09(BU)108 367.2 S(IL)
-.09 E .479(TIN COMMANDS)-.828 F F0(belo)2.729 E .479
+1.048(these e)108 372 R 3.548(xceptions: the)-.15 F F1(DEB)3.548 E(UG)
+-.09 E F0(and)3.298 E F2(RETURN)3.548 E F0 1.048
+(traps \(see the description of the)3.548 F F2(trap)3.548 E F0 -.2(bu)
+3.548 G 1.048(iltin under).2 F F1(SHELL)3.549 E -.09(BU)108 384 S(IL).09
+E .479(TIN COMMANDS)-.828 F F0(belo)2.729 E .479
 (w\) are not inherited unless the function has been gi)-.25 F -.15(ve)
--.25 G 2.978(nt).15 G(he)-2.978 E F1(trace)2.978 E F0(attrib)2.978 E
-.478(ute \(see)-.2 F .42(the description of the)108 379.2 R F2(declar)
-2.92 E(e)-.162 E F0 -.2(bu)2.67 G .42(iltin belo).2 F .42(w\) or the)
--.25 F F1 .42(\255o functrace)2.92 F F0 .42
-(shell option has been enabled with the)2.92 F F1(set)2.921 E F0 -.2(bu)
-108 391.2 S .072(iltin \(in which case all functions inherit the).2 F F1
-(DEB)2.572 E(UG)-.1 E F0(and)2.572 E F1(RETURN)2.572 E F0 .072
-(traps\), and the)2.572 F F2(ERR)2.571 E F0 .071(trap is not inher)2.321
-F(-)-.2 E(ited unless the)108 403.2 Q F1(\255o errtrace)2.5 E F0
-(shell option has been enabled.)2.5 E -1.11(Va)108 420 S .655
-(riables local to the function may be declared with the)1.11 F F1(local)
+-.25 G 2.978(nt).15 G(he)-2.978 E F2(trace)2.978 E F0(attrib)2.978 E
+.478(ute \(see)-.2 F .42(the description of the)108 396 R F1(declar)2.92
+E(e)-.162 E F0 -.2(bu)2.67 G .42(iltin belo).2 F .42(w\) or the)-.25 F
+F2 .42(\255o functrace)2.92 F F0 .42
+(shell option has been enabled with the)2.92 F F2(set)2.921 E F0 -.2(bu)
+108 408 S .072(iltin \(in which case all functions inherit the).2 F F2
+(DEB)2.572 E(UG)-.1 E F0(and)2.572 E F2(RETURN)2.572 E F0 .072
+(traps\), and the)2.572 F F1(ERR)2.571 E F0 .071(trap is not inher)2.321
+F(-)-.2 E(ited unless the)108 420 Q F2(\255o errtrace)2.5 E F0
+(shell option has been enabled.)2.5 E -1.11(Va)108 436.8 S .655
+(riables local to the function may be declared with the)1.11 F F2(local)
 3.155 E F0 -.2(bu)3.156 G .656(iltin command.).2 F(Ordinarily)5.656 E
-3.156(,v)-.65 G .656(ariables and)-3.406 F(their v)108 432 Q
+3.156(,v)-.65 G .656(ariables and)-3.406 F(their v)108 448.8 Q
 (alues are shared between the function and its caller)-.25 E(.)-.55 E
-(The)108 448.8 Q F1(FUNCNEST)3.529 E F0 -.25(va)3.529 G 1.028
+(The)108 465.6 Q F2(FUNCNEST)3.529 E F0 -.25(va)3.529 G 1.028
 (riable, if set to a numeric v).25 F 1.028
 (alue greater than 0, de\214nes a maximum function nesting)-.25 F(le)108
-460.8 Q -.15(ve)-.25 G 2.5(l. Function).15 F(in)2.5 E -.2(vo)-.4 G
+477.6 Q -.15(ve)-.25 G 2.5(l. Function).15 F(in)2.5 E -.2(vo)-.4 G
 (cations that e).2 E(xceed the limit cause the entire command to abort.)
--.15 E .043(If the b)108 477.6 R .043(uiltin command)-.2 F F1 -.18(re)
+-.15 E .043(If the b)108 494.4 R .043(uiltin command)-.2 F F2 -.18(re)
 2.543 G(tur).18 E(n)-.15 E F0 .043(is e)2.543 F -.15(xe)-.15 G .043
 (cuted in a function, the function completes and e).15 F -.15(xe)-.15 G
-.044(cution resumes with).15 F 1.012(the ne)108 489.6 R 1.012
+.044(cution resumes with).15 F 1.012(the ne)108 506.4 R 1.012
 (xt command after the function call.)-.15 F(An)6.011 E 3.511(yc)-.15 G
-1.011(ommand associated with the)-3.511 F F1(RETURN)3.511 E F0 1.011
-(trap is e)3.511 F -.15(xe)-.15 G(cuted).15 E .213(before e)108 501.6 R
+1.011(ommand associated with the)-3.511 F F2(RETURN)3.511 E F0 1.011
+(trap is e)3.511 F -.15(xe)-.15 G(cuted).15 E .213(before e)108 518.4 R
 -.15(xe)-.15 G .213(cution resumes.).15 F .213
 (When a function completes, the v)5.213 F .214
 (alues of the positional parameters and the spe-)-.25 F(cial parameter)
-108 513.6 Q F1(#)2.5 E F0(are restored to the v)2.5 E(alues the)-.25 E
+108 530.4 Q F2(#)2.5 E F0(are restored to the v)2.5 E(alues the)-.25 E
 2.5(yh)-.15 G(ad prior to the function')-2.5 E 2.5(se)-.55 G -.15(xe)
 -2.65 G(cution.).15 E 1.359
-(Function names and de\214nitions may be listed with the)108 530.4 R F1
-<ad66>3.858 E F0 1.358(option to the)3.858 F F1(declar)3.858 E(e)-.18 E
-F0(or)3.858 E F1(typeset)3.858 E F0 -.2(bu)3.858 G 1.358(iltin com-).2 F
-3.39(mands. The)108 542.4 R F1<ad46>3.39 E F0 .89(option to)3.39 F F1
-(declar)3.39 E(e)-.18 E F0(or)3.39 E F1(typeset)3.39 E F0 .89
+(Function names and de\214nitions may be listed with the)108 547.2 R F2
+<ad66>3.858 E F0 1.358(option to the)3.858 F F2(declar)3.858 E(e)-.18 E
+F0(or)3.858 E F2(typeset)3.858 E F0 -.2(bu)3.858 G 1.358(iltin com-).2 F
+3.39(mands. The)108 559.2 R F2<ad46>3.39 E F0 .89(option to)3.39 F F2
+(declar)3.39 E(e)-.18 E F0(or)3.39 E F2(typeset)3.39 E F0 .89
 (will list the function names only \(and optionally the source)3.39 F
-.327(\214le and line number)108 554.4 R 2.827(,i)-.4 G 2.827(ft)-2.827 G
-(he)-2.827 E F1(extdeb)2.827 E(ug)-.2 E F0 .326
+.327(\214le and line number)108 571.2 R 2.827(,i)-.4 G 2.827(ft)-2.827 G
+(he)-2.827 E F2(extdeb)2.827 E(ug)-.2 E F0 .326
 (shell option is enabled\).)2.827 F .326(Functions may be e)5.326 F .326
-(xported so that subshells)-.15 F 1.297(automatically ha)108 566.4 R
-1.597 -.15(ve t)-.2 H 1.297(hem de\214ned with the).15 F F1<ad66>3.797 E
-F0 1.297(option to the)3.797 F F1(export)3.798 E F0 -.2(bu)3.798 G 3.798
+(xported so that subshells)-.15 F 1.297(automatically ha)108 583.2 R
+1.597 -.15(ve t)-.2 H 1.297(hem de\214ned with the).15 F F2<ad66>3.797 E
+F0 1.297(option to the)3.797 F F2(export)3.798 E F0 -.2(bu)3.798 G 3.798
 (iltin. A).2 F 1.298(function de\214nition may be)3.798 F .161
-(deleted using the)108 578.4 R F1<ad66>2.661 E F0 .161(option to the)
-2.661 F F1(unset)2.661 E F0 -.2(bu)2.661 G 2.661(iltin. Note).2 F .16
+(deleted using the)108 595.2 R F2<ad66>2.661 E F0 .161(option to the)
+2.661 F F2(unset)2.661 E F0 -.2(bu)2.661 G 2.661(iltin. Note).2 F .16
 (that shell functions and v)2.661 F .16(ariables with the same name)-.25
 F 1.325(may result in multiple identically-named entries in the en)108
-590.4 R 1.325(vironment passed to the shell')-.4 F 3.825(sc)-.55 G 3.825
-(hildren. Care)-3.825 F(should be tak)108 602.4 Q
+607.2 R 1.325(vironment passed to the shell')-.4 F 3.825(sc)-.55 G 3.825
+(hildren. Care)-3.825 F(should be tak)108 619.2 Q
 (en in cases where this may cause a problem.)-.1 E .372
-(Functions may be recursi)108 619.2 R -.15(ve)-.25 G 5.371(.T).15 G(he)
--5.371 E F1(FUNCNEST)2.871 E F0 -.25(va)2.871 G .371
+(Functions may be recursi)108 636 R -.15(ve)-.25 G 5.371(.T).15 G(he)
+-5.371 E F2(FUNCNEST)2.871 E F0 -.25(va)2.871 G .371
 (riable may be used to limit the depth of the function call).25 F 1.141
-(stack and restrict the number of function in)108 631.2 R -.2(vo)-.4 G
+(stack and restrict the number of function in)108 648 R -.2(vo)-.4 G
 3.641(cations. By).2 F(def)3.641 E 1.141
-(ault, no limit is imposed on the number of)-.1 F(recursi)108 643.2 Q .3
--.15(ve c)-.25 H(alls.).15 E F3(ARITHMETIC EV)72 660 Q(ALU)-1.478 E
--1.04(AT)-.657 G(ION)1.04 E F0 2.298(The shell allo)108 672 R 2.297
+(ault, no limit is imposed on the number of)-.1 F(recursi)108 660 Q .3
+-.15(ve c)-.25 H(alls.).15 E F3(ARITHMETIC EV)72 676.8 Q(ALU)-1.478 E
+-1.04(AT)-.657 G(ION)1.04 E F0 2.298(The shell allo)108 688.8 R 2.297
 (ws arithmetic e)-.25 F 2.297(xpressions to be e)-.15 F -.25(va)-.25 G
-2.297(luated, under certain circumstances \(see the).25 F F1(let)4.797 E
-F0(and)4.797 E F1(declar)108 684 Q(e)-.18 E F0 -.2(bu)2.705 G .205
-(iltin commands and).2 F F1 .205(Arithmetic Expansion)2.705 F F0 2.705
+2.297(luated, under certain circumstances \(see the).25 F F2(let)4.797 E
+F0(and)4.797 E F2(declar)108 700.8 Q(e)-.18 E F0 -.2(bu)2.705 G .205
+(iltin commands and).2 F F2 .205(Arithmetic Expansion)2.705 F F0 2.705
 (\). Ev)B .205(aluation is done in \214x)-.25 F .206(ed-width inte)-.15
-F .206(gers with no)-.15 F .429(check for o)108 696 R -.15(ve)-.15 G
+F .206(gers with no)-.15 F .429(check for o)108 712.8 R -.15(ve)-.15 G
 (r\215o).15 E 1.729 -.65(w, t)-.25 H .429(hough di).65 F .428
 (vision by 0 is trapped and \215agged as an error)-.25 F 5.428(.T)-.55 G
 .428(he operators and their prece-)-5.428 F 1.919(dence, associati)108
-708 R(vity)-.25 E 4.419(,a)-.65 G 1.919(nd v)-4.419 F 1.919
+724.8 R(vity)-.25 E 4.419(,a)-.65 G 1.919(nd v)-4.419 F 1.919
 (alues are the same as in the C language.)-.25 F 1.92(The follo)6.92 F
-1.92(wing list of operators is)-.25 F(grouped into le)108 720 Q -.15(ve)
--.25 G(ls of equal-precedence operators.).15 E(The le)5 E -.15(ve)-.25 G
-(ls are listed in order of decreasing precedence.).15 E(GNU Bash 4.2)72
-768 Q(2011 July 7)151.505 E(27)200.665 E 0 Cg EP
+1.92(wing list of operators is)-.25 F(GNU Bash 4.2)72 768 Q
+(2011 September 25)135.955 E(27)185.115 E 0 Cg EP
 %%Page: 28 28
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Italic@0 SF(id)108 84 Q/F2 10/Times-Bold@0 SF(++)A F1
-(id)2.5 E F2<adad>A F0 -.25(va)144 96 S
-(riable post-increment and post-decrement).25 E F2(++)108 108 Q F1(id)A
-F2<adad>2.5 E F1(id)A F0 -.25(va)144 120 S
-(riable pre-increment and pre-decrement).25 E F2 2.5<ad2b>108 132 S F0
-(unary minus and plus)19.6 E F2 2.5(!~)108 144 S F0
-(logical and bitwise ne)24.34 E -.05(ga)-.15 G(tion).05 E F2(**)108 156
-Q F0 -.15(ex)26 G(ponentiation).15 E F2 2.5(*/%)108 168 S F0
-(multiplication, di)10.72 E(vision, remainder)-.25 E F2 2.5<2bad>108 180
-S F0(addition, subtraction)19.6 E F2(<< >>)108 192 Q F0
-(left and right bitwise shifts)10.7 E F2(<= >= < >)108 204 Q F0
-(comparison)144 216 Q F2(== !=)108 228 Q F0(equality and inequality)
-13.07 E F2(&)108 240 Q F0(bitwise AND)27.67 E F2(^)108 252 Q F0
+-.35 E(grouped into le)108 84 Q -.15(ve)-.25 G
+(ls of equal-precedence operators.).15 E(The le)5 E -.15(ve)-.25 G
+(ls are listed in order of decreasing precedence.).15 E/F1 10
+/Times-Italic@0 SF(id)108 100.8 Q/F2 10/Times-Bold@0 SF(++)A F1(id)2.5 E
+F2<adad>A F0 -.25(va)144 112.8 S
+(riable post-increment and post-decrement).25 E F2(++)108 124.8 Q F1(id)
+A F2<adad>2.5 E F1(id)A F0 -.25(va)144 136.8 S
+(riable pre-increment and pre-decrement).25 E F2 2.5<ad2b>108 148.8 S F0
+(unary minus and plus)19.6 E F2 2.5(!~)108 160.8 S F0
+(logical and bitwise ne)24.34 E -.05(ga)-.15 G(tion).05 E F2(**)108
+172.8 Q F0 -.15(ex)26 G(ponentiation).15 E F2 2.5(*/%)108 184.8 S F0
+(multiplication, di)10.72 E(vision, remainder)-.25 E F2 2.5<2bad>108
+196.8 S F0(addition, subtraction)19.6 E F2(<< >>)108 208.8 Q F0
+(left and right bitwise shifts)10.7 E F2(<= >= < >)108 220.8 Q F0
+(comparison)144 232.8 Q F2(== !=)108 244.8 Q F0(equality and inequality)
+13.07 E F2(&)108 256.8 Q F0(bitwise AND)27.67 E F2(^)108 268.8 Q F0
 (bitwise e)32.67 E(xclusi)-.15 E .3 -.15(ve O)-.25 H(R).15 E F2(|)108
-264 Q F0(bitwise OR)33.8 E F2(&&)108 276 Q F0(logical AND)19.34 E F2(||)
-108 288 Q F0(logical OR)31.6 E F1 -.2(ex)108 300 S(pr).2 E F2(?)A F1 -.2
-(ex)C(pr).2 E F2(:)A F1 -.2(ex)C(pr).2 E F0(conditional operator)144 312
-Q F2 2.5(=*)108 324 S 2.5(=/)-2.5 G 2.5(=%)-2.5 G 2.5(=+)-2.5 G 2.5
-<3dad>-2.5 G 2.5(=<)-2.5 G(<= >>= &= ^= |=)-2.5 E F0(assignment)144 336
-Q F1 -.2(ex)108 348 S(pr1).2 E F2(,)2.5 E F1 -.2(ex)2.5 G(pr2).2 E F0
-(comma)144 360 Q .68(Shell v)108 376.8 R .68(ariables are allo)-.25 F
-.68(wed as operands; parameter e)-.25 F .68
+280.8 Q F0(bitwise OR)33.8 E F2(&&)108 292.8 Q F0(logical AND)19.34 E F2
+(||)108 304.8 Q F0(logical OR)31.6 E F1 -.2(ex)108 316.8 S(pr).2 E F2(?)
+A F1 -.2(ex)C(pr).2 E F2(:)A F1 -.2(ex)C(pr).2 E F0
+(conditional operator)144 328.8 Q F2 2.5(=*)108 340.8 S 2.5(=/)-2.5 G
+2.5(=%)-2.5 G 2.5(=+)-2.5 G 2.5<3dad>-2.5 G 2.5(=<)-2.5 G
+(<= >>= &= ^= |=)-2.5 E F0(assignment)144 352.8 Q F1 -.2(ex)108 364.8 S
+(pr1).2 E F2(,)2.5 E F1 -.2(ex)2.5 G(pr2).2 E F0(comma)144 376.8 Q .68
+(Shell v)108 393.6 R .68(ariables are allo)-.25 F .68
+(wed as operands; parameter e)-.25 F .68
 (xpansion is performed before the e)-.15 F .68(xpression is e)-.15 F
--.25(va)-.25 G(lu-).25 E 3.507(ated. W)108 388.8 R 1.007(ithin an e)-.4
+-.25(va)-.25 G(lu-).25 E 3.507(ated. W)108 405.6 R 1.007(ithin an e)-.4
 F 1.007(xpression, shell v)-.15 F 1.007
 (ariables may also be referenced by name without using the parameter)
--.25 F -.15(ex)108 400.8 S 1.041(pansion syntax.).15 F 3.541(As)6.041 G
+-.25 F -.15(ex)108 417.6 S 1.041(pansion syntax.).15 F 3.541(As)6.041 G
 1.041(hell v)-3.541 F 1.041(ariable that is null or unset e)-.25 F -.25
 (va)-.25 G 1.04(luates to 0 when referenced by name without).25 F 1.466
-(using the parameter e)108 412.8 R 1.466(xpansion syntax.)-.15 F 1.467
+(using the parameter e)108 429.6 R 1.466(xpansion syntax.)-.15 F 1.467
 (The v)6.466 F 1.467(alue of a v)-.25 F 1.467(ariable is e)-.25 F -.25
 (va)-.25 G 1.467(luated as an arithmetic e).25 F(xpression)-.15 E 1.39
-(when it is referenced, or when a v)108 424.8 R 1.389
+(when it is referenced, or when a v)108 441.6 R 1.389
 (ariable which has been gi)-.25 F -.15(ve)-.25 G 3.889(nt).15 G(he)
 -3.889 E F1(inte)3.889 E -.1(ge)-.4 G(r).1 E F0(attrib)3.889 E 1.389
 (ute using)-.2 F F2(declar)3.889 E 3.889(e-)-.18 G(i)-3.889 E F0(is)
-3.889 E .332(assigned a v)108 436.8 R 2.832(alue. A)-.25 F .332(null v)
+3.889 E .332(assigned a v)108 453.6 R 2.832(alue. A)-.25 F .332(null v)
 2.832 F .332(alue e)-.25 F -.25(va)-.25 G .332(luates to 0.).25 F 2.832
 (As)5.332 G .332(hell v)-2.832 F .332(ariable need not ha)-.25 F .632
 -.15(ve i)-.2 H(ts).15 E F1(inte)2.832 E -.1(ge)-.4 G(r).1 E F0(attrib)
-2.832 E .333(ute turned on)-.2 F(to be used in an e)108 448.8 Q
+2.832 E .333(ute turned on)-.2 F(to be used in an e)108 465.6 Q
 (xpression.)-.15 E 1.406
-(Constants with a leading 0 are interpreted as octal numbers.)108 465.6
+(Constants with a leading 0 are interpreted as octal numbers.)108 482.4
 R 3.906(Al)6.406 G 1.406(eading 0x or 0X denotes he)-3.906 F(xadecimal.)
--.15 E .112(Otherwise, numbers tak)108 477.6 R 2.612(et)-.1 G .112
+-.15 E .112(Otherwise, numbers tak)108 494.4 R 2.612(et)-.1 G .112
 (he form [)-2.612 F F1(base#)A F0 .112(]n, where the optional)B F1(base)
 2.612 E F0 .113(is a decimal number between 2 and 64)2.612 F .534
-(representing the arithmetic base, and)108 489.6 R F1(n)3.034 E F0 .534
+(representing the arithmetic base, and)108 506.4 R F1(n)3.034 E F0 .534
 (is a number in that base.)3.034 F(If)5.533 E F1(base#)3.033 E F0 .533
 (is omitted, then base 10 is used.)3.033 F .915
-(The digits greater than 9 are represented by the lo)108 501.6 R .916
+(The digits greater than 9 are represented by the lo)108 518.4 R .916
 (wercase letters, the uppercase letters, @, and _, in that)-.25 F(order)
-108 513.6 Q 5.671(.I)-.55 G(f)-5.671 E F1(base)3.171 E F0 .671
+108 530.4 Q 5.671(.I)-.55 G(f)-5.671 E F1(base)3.171 E F0 .671
 (is less than or equal to 36, lo)3.171 F .67
 (wercase and uppercase letters may be used interchangeably to)-.25 F
-(represent numbers between 10 and 35.)108 525.6 Q .234(Operators are e)
-108 542.4 R -.25(va)-.25 G .234(luated in order of precedence.).25 F
+(represent numbers between 10 and 35.)108 542.4 Q .234(Operators are e)
+108 559.2 R -.25(va)-.25 G .234(luated in order of precedence.).25 F
 (Sub-e)5.234 E .234(xpressions in parentheses are e)-.15 F -.25(va)-.25
-G .235(luated \214rst and may).25 F -.15(ove)108 554.4 S
+G .235(luated \214rst and may).25 F -.15(ove)108 571.2 S
 (rride the precedence rules abo).15 E -.15(ve)-.15 G(.).15 E/F3 10.95
-/Times-Bold@0 SF(CONDITION)72 571.2 Q(AL EXPRESSIONS)-.219 E F0 .256
-(Conditional e)108 583.2 R .256(xpressions are used by the)-.15 F F2([[)
+/Times-Bold@0 SF(CONDITION)72 588 Q(AL EXPRESSIONS)-.219 E F0 .256
+(Conditional e)108 600 R .256(xpressions are used by the)-.15 F F2([[)
 2.755 E F0 .255(compound command and the)2.755 F F2(test)2.755 E F0(and)
 2.755 E F2([)2.755 E F0 -.2(bu)2.755 G .255(iltin commands to test).2 F
-.77(\214le attrib)108 595.2 R .77
+.77(\214le attrib)108 612 R .77
 (utes and perform string and arithmetic comparisons.)-.2 F .77
 (Expressions are formed from the follo)5.77 F(wing)-.25 E 1.041
-(unary or binary primaries.)108 607.2 R 1.041(If an)6.041 F(y)-.15 E F1
+(unary or binary primaries.)108 624 R 1.041(If an)6.041 F(y)-.15 E F1
 (\214le)3.541 E F0(ar)3.541 E 1.04
 (gument to one of the primaries is of the form)-.18 F F1(/de)3.54 E
-(v/fd/n)-.15 E F0 3.54(,t)C 1.04(hen \214le)-3.54 F(descriptor)108 619.2
-Q F1(n)3.788 E F0 1.289(is check)3.788 F 3.789(ed. If)-.1 F(the)3.789 E
-F1(\214le)3.789 E F0(ar)3.789 E 1.289
+(v/fd/n)-.15 E F0 3.54(,t)C 1.04(hen \214le)-3.54 F(descriptor)108 636 Q
+F1(n)3.788 E F0 1.289(is check)3.788 F 3.789(ed. If)-.1 F(the)3.789 E F1
+(\214le)3.789 E F0(ar)3.789 E 1.289
 (gument to one of the primaries is one of)-.18 F F1(/de)3.789 E(v/stdin)
 -.15 E F0(,)A F1(/de)3.789 E(v/stdout)-.15 E F0 3.789(,o)C(r)-3.789 E F1
-(/de)108 631.2 Q(v/stderr)-.15 E F0 2.5<2c8c>C
+(/de)108 648 Q(v/stderr)-.15 E F0 2.5<2c8c>C
 (le descriptor 0, 1, or 2, respecti)-2.5 E -.15(ve)-.25 G(ly).15 E 2.5
 (,i)-.65 G 2.5(sc)-2.5 G(heck)-2.5 E(ed.)-.1 E .722
 (Unless otherwise speci\214ed, primaries that operate on \214les follo)
-108 648 R 3.221(ws)-.25 G .721(ymbolic links and operate on the tar)
--3.221 F(get)-.18 E(of the link, rather than the link itself.)108 660 Q
-1.095(When used with)108 678 R F2([[)3.595 E F0 3.595(,t)C(he)-3.595 E
-F2(<)3.595 E F0(and)3.595 E F2(>)3.595 E F0 1.095(operators sort le)
+108 664.8 R 3.221(ws)-.25 G .721(ymbolic links and operate on the tar)
+-3.221 F(get)-.18 E(of the link, rather than the link itself.)108 676.8
+Q 1.095(When used with)108 694.8 R F2([[)3.595 E F0 3.595(,t)C(he)-3.595
+F2(<)3.595 E F0(and)3.595 E F2(>)3.595 E F0 1.095(operators sort le)
 3.595 F 1.095(xicographically using the current locale.)-.15 F(The)6.096
 E F2(test)3.596 E F0(com-)3.596 E(mand sorts using ASCII ordering.)108
-690 Q F2<ad61>108 714 Q F1(\214le)2.5 E F0 -.35(Tr)10.58 G(ue if).35 E
-F1(\214le)2.5 E F0 -.15(ex)2.5 G(ists.).15 E(GNU Bash 4.2)72 768 Q
-(2011 July 7)151.505 E(28)200.665 E 0 Cg EP
+706.8 Q(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(28)185.115 E 0
+Cg EP
 %%Page: 29 29
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF<ad62>108 84 Q/F2 10/Times-Italic@0 SF
-(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)
-2.5 G(ists and is a block special \214le.).15 E F1<ad63>108 96 Q F2
-(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)
-2.5 G(ists and is a character special \214le.).15 E F1<ad64>108 108 Q F2
+-.35 E/F1 10/Times-Bold@0 SF<ad61>108 84 Q/F2 10/Times-Italic@0 SF
+(\214le)2.5 E F0 -.35(Tr)10.58 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)
+2.5 G(ists.).15 E F1<ad62>108 96 Q F2(\214le)2.5 E F0 -.35(Tr)10.02 G
+(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G
+(ists and is a block special \214le.).15 E F1<ad63>108 108 Q F2(\214le)
+2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G
+(ists and is a character special \214le.).15 E F1<ad64>108 120 Q F2
 (\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)
-2.5 G(ists and is a directory).15 E(.)-.65 E F1<ad65>108 120 Q F2
+2.5 G(ists and is a directory).15 E(.)-.65 E F1<ad65>108 132 Q F2
 (\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)
-2.5 G(ists.).15 E F1<ad66>108 132 Q F2(\214le)2.5 E F0 -.35(Tr)12.25 G
+2.5 G(ists.).15 E F1<ad66>108 144 Q F2(\214le)2.5 E F0 -.35(Tr)12.25 G
 (ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is a re).15 E
-(gular \214le.)-.15 E F1<ad67>108 144 Q F2(\214le)2.5 E F0 -.35(Tr)10.58
+(gular \214le.)-.15 E F1<ad67>108 156 Q F2(\214le)2.5 E F0 -.35(Tr)10.58
 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G
-(ists and is set-group-id.).15 E F1<ad68>108 156 Q F2(\214le)2.5 E F0
+(ists and is set-group-id.).15 E F1<ad68>108 168 Q F2(\214le)2.5 E F0
 -.35(Tr)10.02 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G
-(ists and is a symbolic link.).15 E F1<ad6b>108 168 Q F2(\214le)2.5 E F0
+(ists and is a symbolic link.).15 E F1<ad6b>108 180 Q F2(\214le)2.5 E F0
 -.35(Tr)10.02 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G
 (ists and its `).15 E(`stick)-.74 E(y')-.15 E 2.5('b)-.74 G(it is set.)
--2.5 E F1<ad70>108 180 Q F2(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E
+-2.5 E F1<ad70>108 192 Q F2(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E
 F2(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is a named pipe \(FIFO\).).15
-E F1<ad72>108 192 Q F2(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F2
+E F1<ad72>108 204 Q F2(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F2
 (\214le)2.5 E F0 -.15(ex)2.5 G(ists and is readable.).15 E F1<ad73>108
-204 Q F2(\214le)2.5 E F0 -.35(Tr)11.69 G(ue if).35 E F2(\214le)2.5 E F0
+216 Q F2(\214le)2.5 E F0 -.35(Tr)11.69 G(ue if).35 E F2(\214le)2.5 E F0
 -.15(ex)2.5 G(ists and has a size greater than zero.).15 E F1<ad74>108
-216 Q F2(fd)2.5 E F0 -.35(Tr)16.69 G(ue if \214le descriptor).35 E F2
-(fd)4.47 E F0(is open and refers to a terminal.)3.27 E F1<ad75>108 228 Q
+228 Q F2(fd)2.5 E F0 -.35(Tr)16.69 G(ue if \214le descriptor).35 E F2
+(fd)4.47 E F0(is open and refers to a terminal.)3.27 E F1<ad75>108 240 Q
 F2(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F2(\214le)2.5 E F0 -.15
 (ex)2.5 G(ists and its set-user).15 E(-id bit is set.)-.2 E F1<ad77>108
-240 Q F2(\214le)2.5 E F0 -.35(Tr)8.36 G(ue if).35 E F2(\214le)2.5 E F0
--.15(ex)2.5 G(ists and is writable.).15 E F1<ad78>108 252 Q F2(\214le)
+252 Q F2(\214le)2.5 E F0 -.35(Tr)8.36 G(ue if).35 E F2(\214le)2.5 E F0
+-.15(ex)2.5 G(ists and is writable.).15 E F1<ad78>108 264 Q F2(\214le)
 2.5 E F0 -.35(Tr)10.58 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G
-(ists and is e).15 E -.15(xe)-.15 G(cutable.).15 E F1<ad47>108 264 Q F2
+(ists and is e).15 E -.15(xe)-.15 G(cutable.).15 E F1<ad47>108 276 Q F2
 (\214le)2.5 E F0 -.35(Tr)7.8 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)
 2.5 G(ists and is o).15 E(wned by the ef)-.25 E(fecti)-.25 E .3 -.15
-(ve g)-.25 H(roup id.).15 E F1<ad4c>108 276 Q F2(\214le)2.5 E F0 -.35
+(ve g)-.25 H(roup id.).15 E F1<ad4c>108 288 Q F2(\214le)2.5 E F0 -.35
 (Tr)8.91 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G
-(ists and is a symbolic link.).15 E F1<ad4e>108 288 Q F2(\214le)2.5 E F0
+(ists and is a symbolic link.).15 E F1<ad4e>108 300 Q F2(\214le)2.5 E F0
 -.35(Tr)8.36 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G
 (ists and has been modi\214ed since it w).15 E(as last read.)-.1 E F1
-<ad4f>108 300 Q F2(\214le)2.5 E F0 -.35(Tr)7.8 G(ue if).35 E F2(\214le)
+<ad4f>108 312 Q F2(\214le)2.5 E F0 -.35(Tr)7.8 G(ue if).35 E F2(\214le)
 2.5 E F0 -.15(ex)2.5 G(ists and is o).15 E(wned by the ef)-.25 E(fecti)
--.25 E .3 -.15(ve u)-.25 H(ser id.).15 E F1<ad53>108 312 Q F2(\214le)2.5
+-.25 E .3 -.15(ve u)-.25 H(ser id.).15 E F1<ad53>108 324 Q F2(\214le)2.5
 E F0 -.35(Tr)10.02 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G
-(ists and is a sock).15 E(et.)-.1 E F2(\214le1)108 324 Q F1(\255ef)2.5 E
-F2(\214le2)2.5 E F0 -.35(Tr)144 336 S(ue if).35 E F2(\214le1)2.5 E F0
+(ists and is a sock).15 E(et.)-.1 E F2(\214le1)108 336 Q F1(\255ef)2.5 E
+F2(\214le2)2.5 E F0 -.35(Tr)144 348 S(ue if).35 E F2(\214le1)2.5 E F0
 (and)2.5 E F2(\214le2)2.5 E F0(refer to the same de)2.5 E
-(vice and inode numbers.)-.25 E F2(\214le1)108 348 Q F0<ad>2.5 E F1(nt)A
-F2(\214le2)2.5 E F0 -.35(Tr)144 360 S .039(ue if).35 F F2(\214le1)2.539
+(vice and inode numbers.)-.25 E F2(\214le1)108 360 Q F0<ad>2.5 E F1(nt)A
+F2(\214le2)2.5 E F0 -.35(Tr)144 372 S .039(ue if).35 F F2(\214le1)2.539
 E F0 .039(is ne)2.539 F .039
 (wer \(according to modi\214cation date\) than)-.25 F F2(\214le2)2.539 E
 F0 2.539(,o)C 2.539(ri)-2.539 G(f)-2.539 E F2(\214le1)2.539 E F0 -.15
 (ex)2.539 G .039(ists and).15 F F2(\214le2)2.539 E F0 .038(does not.)
-2.538 F F2(\214le1)108 372 Q F0<ad>2.5 E F1(ot)A F2(\214le2)2.5 E F0
--.35(Tr)144 384 S(ue if).35 E F2(\214le1)2.5 E F0(is older than)2.5 E F2
+2.538 F F2(\214le1)108 384 Q F0<ad>2.5 E F1(ot)A F2(\214le2)2.5 E F0
+-.35(Tr)144 396 S(ue if).35 E F2(\214le1)2.5 E F0(is older than)2.5 E F2
 (\214le2)2.5 E F0 2.5(,o)C 2.5(ri)-2.5 G(f)-2.5 E F2(\214le2)2.5 E F0
 -.15(ex)2.5 G(ists and).15 E F2(\214le1)2.5 E F0(does not.)2.5 E F1
-<ad6f>108 396 Q F2(optname)2.5 E F0 -.35(Tr)144 408 S .262
+<ad6f>108 408 Q F2(optname)2.5 E F0 -.35(Tr)144 420 S .262
 (ue if the shell option).35 F F2(optname)2.992 E F0 .262(is enabled.)
 2.942 F .262(See the list of options under the description of the)5.262
-F F1<ad6f>2.763 E F0(option to the)144 420 Q F1(set)2.5 E F0 -.2(bu)2.5
-G(iltin belo).2 E -.65(w.)-.25 G F1<ad76>108 432 Q F2(varname)2.5 E F0
--.35(Tr)144 444 S(ue if the shell v).35 E(ariable)-.25 E F2(varname)2.79
+F F1<ad6f>2.763 E F0(option to the)144 432 Q F1(set)2.5 E F0 -.2(bu)2.5
+G(iltin belo).2 E -.65(w.)-.25 G F1<ad76>108 444 Q F2(varname)2.5 E F0
+-.35(Tr)144 456 S(ue if the shell v).35 E(ariable)-.25 E F2(varname)2.79
 E F0(is set \(has been assigned a v)2.68 E(alue\).)-.25 E F1<ad7a>108
-456 Q F2(string)2.5 E F0 -.35(Tr)144 468 S(ue if the length of).35 E F2
-(string)2.5 E F0(is zero.)2.5 E F2(string)108 480 Q F1<ad6e>108 492 Q F2
-(string)2.5 E F0 -.35(Tr)144 504 S(ue if the length of).35 E F2(string)
-2.84 E F0(is non-zero.)2.72 E F2(string1)108 520.8 Q F1(==)2.5 E F2
-(string2)2.5 E(string1)108 532.8 Q F1(=)2.5 E F2(string2)2.5 E F0 -.35
-(Tr)144 544.8 S(ue if the strings are equal.).35 E F1(=)5 E F0
+468 Q F2(string)2.5 E F0 -.35(Tr)144 480 S(ue if the length of).35 E F2
+(string)2.5 E F0(is zero.)2.5 E F2(string)108 492 Q F1<ad6e>108 504 Q F2
+(string)2.5 E F0 -.35(Tr)144 516 S(ue if the length of).35 E F2(string)
+2.84 E F0(is non-zero.)2.72 E F2(string1)108 532.8 Q F1(==)2.5 E F2
+(string2)2.5 E(string1)108 544.8 Q F1(=)2.5 E F2(string2)2.5 E F0 -.35
+(Tr)144 556.8 S(ue if the strings are equal.).35 E F1(=)5 E F0
 (should be used with the)2.5 E F1(test)2.5 E F0
-(command for POSIX conformance.)2.5 E F2(string1)108 561.6 Q F1(!=)2.5 E
-F2(string2)2.5 E F0 -.35(Tr)144 573.6 S
-(ue if the strings are not equal.).35 E F2(string1)108 590.4 Q F1(<)2.5
-E F2(string2)2.5 E F0 -.35(Tr)144 602.4 S(ue if).35 E F2(string1)2.5 E
+(command for POSIX conformance.)2.5 E F2(string1)108 573.6 Q F1(!=)2.5 E
+F2(string2)2.5 E F0 -.35(Tr)144 585.6 S
+(ue if the strings are not equal.).35 E F2(string1)108 602.4 Q F1(<)2.5
+E F2(string2)2.5 E F0 -.35(Tr)144 614.4 S(ue if).35 E F2(string1)2.5 E
 F0(sorts before)2.5 E F2(string2)2.5 E F0(le)2.5 E(xicographically)-.15
-E(.)-.65 E F2(string1)108 619.2 Q F1(>)2.5 E F2(string2)2.5 E F0 -.35
-(Tr)144 631.2 S(ue if).35 E F2(string1)2.5 E F0(sorts after)2.5 E F2
+E(.)-.65 E F2(string1)108 631.2 Q F1(>)2.5 E F2(string2)2.5 E F0 -.35
+(Tr)144 643.2 S(ue if).35 E F2(string1)2.5 E F0(sorts after)2.5 E F2
 (string2)2.5 E F0(le)2.5 E(xicographically)-.15 E(.)-.65 E F2(ar)108.33
-648 Q(g1)-.37 E F1(OP)2.5 E F2(ar)2.5 E(g2)-.37 E/F3 9/Times-Bold@0 SF
-(OP)144 660 Q F0 .385(is one of)2.635 F F1(\255eq)2.885 E F0(,)A F1
+660 Q(g1)-.37 E F1(OP)2.5 E F2(ar)2.5 E(g2)-.37 E/F3 9/Times-Bold@0 SF
+(OP)144 672 Q F0 .385(is one of)2.635 F F1(\255eq)2.885 E F0(,)A F1
 (\255ne)2.885 E F0(,)A F1(\255lt)2.885 E F0(,)A F1(\255le)2.885 E F0(,)A
 F1(\255gt)2.885 E F0 2.885(,o)C(r)-2.885 E F1(\255ge)2.885 E F0 5.385
 (.T)C .385(hese arithmetic binary operators return true if)-5.385 F F2
 (ar)2.884 E(g1)-.37 E F0 .845(is equal to, not equal to, less than, les\
-s than or equal to, greater than, or greater than or equal to)144 672 R
-F2(ar)144 684 Q(g2)-.37 E F0 2.5(,r)C(especti)-2.5 E -.15(ve)-.25 G(ly)
+s than or equal to, greater than, or greater than or equal to)144 684 R
+F2(ar)144 696 Q(g2)-.37 E F0 2.5(,r)C(especti)-2.5 E -.15(ve)-.25 G(ly)
 .15 E(.)-.65 E F2(Ar)6.01 E(g1)-.37 E F0(and)2.5 E F2(ar)2.83 E(g2)-.37
 E F0(may be positi)2.52 E .3 -.15(ve o)-.25 H 2.5(rn).15 G -2.25 -.15
-(eg a)-2.5 H(ti).15 E .3 -.15(ve i)-.25 H(nte).15 E(gers.)-.15 E/F4
-10.95/Times-Bold@0 SF(SIMPLE COMMAND EXP)72 700.8 Q(ANSION)-.81 E F0
-.614(When a simple command is e)108 712.8 R -.15(xe)-.15 G .614
-(cuted, the shell performs the follo).15 F .613(wing e)-.25 F .613
-(xpansions, assignments, and redi-)-.15 F(rections, from left to right.)
-108 724.8 Q(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(29)200.665 E 0
-Cg EP
+(eg a)-2.5 H(ti).15 E .3 -.15(ve i)-.25 H(nte).15 E(gers.)-.15 E
+(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(29)185.115 E 0 Cg EP
 %%Page: 30 30
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E 26(1. The)108 84 R -.1(wo)4.348 G 1.848
+-.35 E/F1 10.95/Times-Bold@0 SF(SIMPLE COMMAND EXP)72 84 Q(ANSION)-.81 E
+F0 .614(When a simple command is e)108 96 R -.15(xe)-.15 G .614
+(cuted, the shell performs the follo).15 F .613(wing e)-.25 F .613
+(xpansions, assignments, and redi-)-.15 F(rections, from left to right.)
+108 108 Q 26(1. The)108 124.8 R -.1(wo)4.348 G 1.848
 (rds that the parser has mark).1 F 1.848(ed as v)-.1 F 1.849
 (ariable assignments \(those preceding the command)-.25 F
-(name\) and redirections are sa)144 96 Q -.15(ve)-.2 G 2.5(df).15 G
-(or later processing.)-2.5 E 26(2. The)108 112.8 R -.1(wo)3.664 G 1.164
+(name\) and redirections are sa)144 136.8 Q -.15(ve)-.2 G 2.5(df).15 G
+(or later processing.)-2.5 E 26(2. The)108 153.6 R -.1(wo)3.664 G 1.164
 (rds that are not v).1 F 1.164
 (ariable assignments or redirections are e)-.25 F 3.663(xpanded. If)-.15
 F(an)3.663 E 3.663(yw)-.15 G 1.163(ords remain)-3.763 F .775(after e)144
-124.8 R .775(xpansion, the \214rst w)-.15 F .775(ord is tak)-.1 F .775
+165.6 R .775(xpansion, the \214rst w)-.15 F .775(ord is tak)-.1 F .775
 (en to be the name of the command and the remaining w)-.1 F(ords)-.1 E
-(are the ar)144 136.8 Q(guments.)-.18 E 26(3. Redirections)108 153.6 R
-(are performed as described abo)2.5 E .3 -.15(ve u)-.15 H(nder).15 E/F1
-9/Times-Bold@0 SF(REDIRECTION)2.5 E/F2 9/Times-Roman@0 SF(.)A F0 26
-(4. The)108 170.4 R(te)3.217 E .717(xt after the)-.15 F/F3 10
+(are the ar)144 177.6 Q(guments.)-.18 E 26(3. Redirections)108 194.4 R
+(are performed as described abo)2.5 E .3 -.15(ve u)-.15 H(nder).15 E/F2
+9/Times-Bold@0 SF(REDIRECTION)2.5 E/F3 9/Times-Roman@0 SF(.)A F0 26
+(4. The)108 211.2 R(te)3.217 E .717(xt after the)-.15 F/F4 10
 /Times-Bold@0 SF(=)3.217 E F0 .717(in each v)3.217 F .717
 (ariable assignment under)-.25 F .717(goes tilde e)-.18 F .717
 (xpansion, parameter e)-.15 F(xpansion,)-.15 E .339
-(command substitution, arithmetic e)144 182.4 R .339
+(command substitution, arithmetic e)144 223.2 R .339
 (xpansion, and quote remo)-.15 F -.25(va)-.15 G 2.839(lb).25 G .339
-(efore being assigned to the v)-2.839 F(ari-)-.25 E(able.)144 194.4 Q
-.332(If no command name results, the v)108 211.2 R .332
+(efore being assigned to the v)-2.839 F(ari-)-.25 E(able.)144 235.2 Q
+.332(If no command name results, the v)108 252 R .332
 (ariable assignments af)-.25 F .332(fect the current shell en)-.25 F
-2.832(vironment. Otherwise,)-.4 F(the)2.832 E -.25(va)108 223.2 S .757
+2.832(vironment. Otherwise,)-.4 F(the)2.832 E -.25(va)108 264 S .757
 (riables are added to the en).25 F .757(vironment of the e)-.4 F -.15
 (xe)-.15 G .757(cuted command and do not af).15 F .757
-(fect the current shell en)-.25 F(vi-)-.4 E 3.177(ronment. If)108 235.2
-R(an)3.177 E 3.177(yo)-.15 G 3.177(ft)-3.177 G .677
+(fect the current shell en)-.25 F(vi-)-.4 E 3.177(ronment. If)108 276 R
+(an)3.177 E 3.177(yo)-.15 G 3.177(ft)-3.177 G .677
 (he assignments attempts to assign a v)-3.177 F .677
 (alue to a readonly v)-.25 F .676(ariable, an error occurs, and)-.25 F
-(the command e)108 247.2 Q(xits with a non-zero status.)-.15 E .149
-(If no command name results, redirections are performed, b)108 264 R
+(the command e)108 288 Q(xits with a non-zero status.)-.15 E .149
+(If no command name results, redirections are performed, b)108 304.8 R
 .149(ut do not af)-.2 F .15(fect the current shell en)-.25 F 2.65
-(vironment. A)-.4 F(redirection error causes the command to e)108 276 Q
-(xit with a non-zero status.)-.15 E 1.064
-(If there is a command name left after e)108 292.8 R 1.064(xpansion, e)
+(vironment. A)-.4 F(redirection error causes the command to e)108 316.8
+Q(xit with a non-zero status.)-.15 E 1.064
+(If there is a command name left after e)108 333.6 R 1.064(xpansion, e)
 -.15 F -.15(xe)-.15 G 1.064(cution proceeds as described belo).15 F
 4.864 -.65(w. O)-.25 H 1.064(therwise, the).65 F .068(command e)108
-304.8 R 2.568(xits. If)-.15 F .069(one of the e)2.568 F .069
+345.6 R 2.568(xits. If)-.15 F .069(one of the e)2.568 F .069
 (xpansions contained a command substitution, the e)-.15 F .069
-(xit status of the command)-.15 F .467(is the e)108 316.8 R .466
+(xit status of the command)-.15 F .467(is the e)108 357.6 R .466
 (xit status of the last command substitution performed.)-.15 F .466
-(If there were no command substitutions, the)5.466 F(command e)108 328.8
-Q(xits with a status of zero.)-.15 E/F4 10.95/Times-Bold@0 SF
-(COMMAND EXECUTION)72 345.6 Q F0 .546
-(After a command has been split into w)108 357.6 R .547
+(If there were no command substitutions, the)5.466 F(command e)108 369.6
+Q(xits with a status of zero.)-.15 E F1(COMMAND EXECUTION)72 386.4 Q F0
+.546(After a command has been split into w)108 398.4 R .547
 (ords, if it results in a simple command and an optional list of ar)-.1
-F(gu-)-.18 E(ments, the follo)108 369.6 Q(wing actions are tak)-.25 E
+F(gu-)-.18 E(ments, the follo)108 410.4 Q(wing actions are tak)-.25 E
 (en.)-.1 E .379(If the command name contains no slashes, the shell atte\
-mpts to locate it.)108 386.4 R .379(If there e)5.379 F .379
+mpts to locate it.)108 427.2 R .379(If there e)5.379 F .379
 (xists a shell function by)-.15 F .246(that name, that function is in)
-108 398.4 R -.2(vo)-.4 G -.1(ke).2 G 2.746(da).1 G 2.746(sd)-2.746 G
-.246(escribed abo)-2.746 F .546 -.15(ve i)-.15 H(n).15 E F1(FUNCTIONS)
-2.746 E F2(.)A F0 .246(If the name does not match a func-)4.746 F
-(tion, the shell searches for it in the list of shell b)108 410.4 Q 2.5
+108 439.2 R -.2(vo)-.4 G -.1(ke).2 G 2.746(da).1 G 2.746(sd)-2.746 G
+.246(escribed abo)-2.746 F .546 -.15(ve i)-.15 H(n).15 E F2(FUNCTIONS)
+2.746 E F3(.)A F0 .246(If the name does not match a func-)4.746 F
+(tion, the shell searches for it in the list of shell b)108 451.2 Q 2.5
 (uiltins. If)-.2 F 2.5(am)2.5 G(atch is found, that b)-2.5 E
 (uiltin is in)-.2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E .31
-(If the name is neither a shell function nor a b)108 427.2 R .309
-(uiltin, and contains no slashes,)-.2 F F3(bash)2.809 E F0 .309
-(searches each element of)2.809 F(the)108 439.2 Q F1 -.666(PA)3.162 G
-(TH)-.189 E F0 .662(for a directory containing an e)2.912 F -.15(xe)-.15
-G .662(cutable \214le by that name.).15 F F3(Bash)5.662 E F0 .663
+(If the name is neither a shell function nor a b)108 468 R .309
+(uiltin, and contains no slashes,)-.2 F F4(bash)2.809 E F0 .309
+(searches each element of)2.809 F(the)108 480 Q F2 -.666(PA)3.162 G(TH)
+-.189 E F0 .662(for a directory containing an e)2.912 F -.15(xe)-.15 G
+.662(cutable \214le by that name.).15 F F4(Bash)5.662 E F0 .663
 (uses a hash table to remember)3.162 F 1.915(the full pathnames of e)108
-451.2 R -.15(xe)-.15 G 1.915(cutable \214les \(see).15 F F3(hash)4.415 E
-F0(under)4.415 E F1 1.915(SHELL B)4.415 F(UIL)-.09 E 1.914(TIN COMMANDS)
+492 R -.15(xe)-.15 G 1.915(cutable \214les \(see).15 F F4(hash)4.415 E
+F0(under)4.415 E F2 1.915(SHELL B)4.415 F(UIL)-.09 E 1.914(TIN COMMANDS)
 -.828 F F0(belo)4.164 E 4.414(w\). A)-.25 F(full)4.414 E .719
-(search of the directories in)108 463.2 R F1 -.666(PA)3.219 G(TH)-.189 E
+(search of the directories in)108 504 R F2 -.666(PA)3.219 G(TH)-.189 E
 F0 .72(is performed only if the command is not found in the hash table.)
 2.969 F .72(If the)5.72 F .956(search is unsuccessful, the shell search\
-es for a de\214ned shell function named)108 475.2 R F3(command_not_f)
-3.455 E(ound_han-)-.25 E(dle)108 487.2 Q F0 5.277(.I)C 2.777(ft)-5.277 G
-.277(hat function e)-2.777 F .277(xists, it is in)-.15 F -.2(vo)-.4 G
--.1(ke).2 G 2.777(dw).1 G .278
+es for a de\214ned shell function named)108 516 R F4(command_not_f)3.455
+E(ound_han-)-.25 E(dle)108 528 Q F0 5.277(.I)C 2.777(ft)-5.277 G .277
+(hat function e)-2.777 F .277(xists, it is in)-.15 F -.2(vo)-.4 G -.1
+(ke).2 G 2.777(dw).1 G .278
 (ith the original command and the original command')-2.777 F 2.778(sa)
--.55 G -.18(rg)-2.778 G(uments).18 E .776(as its ar)108 499.2 R .776
+-.55 G -.18(rg)-2.778 G(uments).18 E .776(as its ar)108 540 R .776
 (guments, and the function')-.18 F 3.275(se)-.55 G .775
 (xit status becomes the e)-3.425 F .775(xit status of the shell.)-.15 F
 .775(If that function is not)5.775 F
-(de\214ned, the shell prints an error message and returns an e)108 511.2
-Q(xit status of 127.)-.15 E 1.089(If the search is successful, or if th\
-e command name contains one or more slashes, the shell e)108 528 R -.15
+(de\214ned, the shell prints an error message and returns an e)108 552 Q
+(xit status of 127.)-.15 E 1.089(If the search is successful, or if the\
+ command name contains one or more slashes, the shell e)108 568.8 R -.15
 (xe)-.15 G 1.09(cutes the).15 F .198(named program in a separate e)108
-540 R -.15(xe)-.15 G .198(cution en).15 F 2.698(vironment. Ar)-.4 F .198
-(gument 0 is set to the name gi)-.18 F -.15(ve)-.25 G .197
-(n, and the remain-).15 F(ing ar)108 552 Q
+580.8 R -.15(xe)-.15 G .198(cution en).15 F 2.698(vironment. Ar)-.4 F
+.198(gument 0 is set to the name gi)-.18 F -.15(ve)-.25 G .197
+(n, and the remain-).15 F(ing ar)108 592.8 Q
 (guments to the command are set to the ar)-.18 E(guments gi)-.18 E -.15
-(ve)-.25 G(n, if an).15 E -.65(y.)-.15 G 1.809(If this e)108 568.8 R
+(ve)-.25 G(n, if an).15 E -.65(y.)-.15 G 1.809(If this e)108 609.6 R
 -.15(xe)-.15 G 1.809(cution f).15 F 1.809
 (ails because the \214le is not in e)-.1 F -.15(xe)-.15 G 1.809
 (cutable format, and the \214le is not a directory).15 F 4.309(,i)-.65 G
-4.309(ti)-4.309 G(s)-4.309 E .678(assumed to be a)108 580.8 R/F5 10
+4.309(ti)-4.309 G(s)-4.309 E .678(assumed to be a)108 621.6 R/F5 10
 /Times-Italic@0 SF .678(shell script)3.178 F F0 3.178(,a\214)C .678
 (le containing shell commands.)-3.178 F 3.178(As)5.678 G .678
 (ubshell is spa)-3.178 F .677(wned to e)-.15 F -.15(xe)-.15 G .677
 (cute it.).15 F(This)5.677 E .329
-(subshell reinitializes itself, so that the ef)108 592.8 R .329
+(subshell reinitializes itself, so that the ef)108 633.6 R .329
 (fect is as if a ne)-.25 F 2.83(ws)-.25 G .33(hell had been in)-2.83 F
 -.2(vo)-.4 G -.1(ke).2 G 2.83(dt).1 G 2.83(oh)-2.83 G .33
-(andle the script, with)-2.83 F 1.219(the e)108 604.8 R 1.219
+(andle the script, with)-2.83 F 1.219(the e)108 645.6 R 1.219
 (xception that the locations of commands remembered by the parent \(see)
--.15 F F3(hash)3.719 E F0(belo)3.719 E 3.719(wu)-.25 G(nder)-3.719 E F1
-(SHELL)3.719 E -.09(BU)108 616.8 S(IL).09 E(TIN COMMANDS)-.828 E F2(\))A
+-.15 F F4(hash)3.719 E F0(belo)3.719 E 3.719(wu)-.25 G(nder)-3.719 E F2
+(SHELL)3.719 E -.09(BU)108 657.6 S(IL).09 E(TIN COMMANDS)-.828 E F3(\))A
 F0(are retained by the child.)2.25 E .347(If the program is a \214le be)
-108 633.6 R .347(ginning with)-.15 F F3(#!)2.847 E F0 2.847(,t)C .348(h\
+108 674.4 R .347(ginning with)-.15 F F4(#!)2.847 E F0 2.847(,t)C .348(h\
 e remainder of the \214rst line speci\214es an interpreter for the pro-)
--2.847 F 3.178(gram. The)108 645.6 R .678(shell e)3.178 F -.15(xe)-.15 G
+-2.847 F 3.178(gram. The)108 686.4 R .678(shell e)3.178 F -.15(xe)-.15 G
 .678(cutes the speci\214ed interpreter on operating systems that do not\
  handle this e).15 F -.15(xe)-.15 G(cutable).15 E 1.192(format themselv)
-108 657.6 R 3.692(es. The)-.15 F(ar)3.693 E 1.193
+108 698.4 R 3.692(es. The)-.15 F(ar)3.693 E 1.193
 (guments to the interpreter consist of a single optional ar)-.18 F 1.193
 (gument follo)-.18 F 1.193(wing the)-.25 F 1.131
-(interpreter name on the \214rst line of the program, follo)108 669.6 R
+(interpreter name on the \214rst line of the program, follo)108 710.4 R
 1.13(wed by the name of the program, follo)-.25 F 1.13(wed by the)-.25 F
-(command ar)108 681.6 Q(guments, if an)-.18 E -.65(y.)-.15 G F4
-(COMMAND EXECUTION ENVIR)72 698.4 Q(ONMENT)-.329 E F0(The shell has an)
-108 710.4 Q F5 -.2(ex)2.5 G(ecution en).2 E(vir)-.4 E(onment)-.45 E F0
-2.5(,w)C(hich consists of the follo)-2.5 E(wing:)-.25 E(GNU Bash 4.2)72
-768 Q(2011 July 7)151.505 E(30)200.665 E 0 Cg EP
+(command ar)108 722.4 Q(guments, if an)-.18 E -.65(y.)-.15 G
+(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(30)185.115 E 0 Cg EP
 %%Page: 31 31
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E 32.5<836f>108 84 S 1.405
-(pen \214les inherited by the shell at in)-32.5 F -.2(vo)-.4 G 1.406
-(cation, as modi\214ed by redirections supplied to the).2 F/F1 10
-/Times-Bold@0 SF(exec)3.906 E F0 -.2(bu)144 96 S(iltin).2 E 32.5<8374>
-108 112.8 S(he current w)-32.5 E(orking directory as set by)-.1 E F1(cd)
-2.5 E F0(,)A F1(pushd)2.5 E F0 2.5(,o)C(r)-2.5 E F1(popd)2.5 E F0 2.5
-(,o)C 2.5(ri)-2.5 G(nherited by the shell at in)-2.5 E -.2(vo)-.4 G
-(cation).2 E 32.5<8374>108 129.6 S
-(he \214le creation mode mask as set by)-32.5 E F1(umask)2.5 E F0
+-.35 E/F1 10.95/Times-Bold@0 SF(COMMAND EXECUTION ENVIR)72 84 Q(ONMENT)
+-.329 E F0(The shell has an)108 96 Q/F2 10/Times-Italic@0 SF -.2(ex)2.5
+G(ecution en).2 E(vir)-.4 E(onment)-.45 E F0 2.5(,w)C
+(hich consists of the follo)-2.5 E(wing:)-.25 E 32.5<836f>108 112.8 S
+1.405(pen \214les inherited by the shell at in)-32.5 F -.2(vo)-.4 G
+1.406(cation, as modi\214ed by redirections supplied to the).2 F/F3 10
+/Times-Bold@0 SF(exec)3.906 E F0 -.2(bu)144 124.8 S(iltin).2 E 32.5
+<8374>108 141.6 S(he current w)-32.5 E(orking directory as set by)-.1 E
+F3(cd)2.5 E F0(,)A F3(pushd)2.5 E F0 2.5(,o)C(r)-2.5 E F3(popd)2.5 E F0
+2.5(,o)C 2.5(ri)-2.5 G(nherited by the shell at in)-2.5 E -.2(vo)-.4 G
+(cation).2 E 32.5<8374>108 158.4 S
+(he \214le creation mode mask as set by)-32.5 E F3(umask)2.5 E F0
 (or inherited from the shell')2.5 E 2.5(sp)-.55 G(arent)-2.5 E 32.5
-<8363>108 146.4 S(urrent traps set by)-32.5 E F1(trap)2.5 E F0 32.5
-<8373>108 163.2 S .257(hell parameters that are set by v)-32.5 F .256
-(ariable assignment or with)-.25 F F1(set)2.756 E F0 .256
+<8363>108 175.2 S(urrent traps set by)-32.5 E F3(trap)2.5 E F0 32.5
+<8373>108 192 S .257(hell parameters that are set by v)-32.5 F .256
+(ariable assignment or with)-.25 F F3(set)2.756 E F0 .256
 (or inherited from the shell')2.756 F 2.756(sp)-.55 G(arent)-2.756 E
-(in the en)144 175.2 Q(vironment)-.4 E 32.5<8373>108 192 S
+(in the en)144 204 Q(vironment)-.4 E 32.5<8373>108 220.8 S
 (hell functions de\214ned during e)-32.5 E -.15(xe)-.15 G
 (cution or inherited from the shell').15 E 2.5(sp)-.55 G
-(arent in the en)-2.5 E(vironment)-.4 E 32.5<836f>108 208.8 S
+(arent in the en)-2.5 E(vironment)-.4 E 32.5<836f>108 237.6 S
 (ptions enabled at in)-32.5 E -.2(vo)-.4 G(cation \(either by def).2 E
-(ault or with command-line ar)-.1 E(guments\) or by)-.18 E F1(set)2.5 E
-F0 32.5<836f>108 225.6 S(ptions enabled by)-32.5 E F1(shopt)2.5 E F0
-32.5<8373>108 242.4 S(hell aliases de\214ned with)-32.5 E F1(alias)2.5 E
-F0 32.5<8376>108 259.2 S
+(ault or with command-line ar)-.1 E(guments\) or by)-.18 E F3(set)2.5 E
+F0 32.5<836f>108 254.4 S(ptions enabled by)-32.5 E F3(shopt)2.5 E F0
+32.5<8373>108 271.2 S(hell aliases de\214ned with)-32.5 E F3(alias)2.5 E
+F0 32.5<8376>108 288 S
 (arious process IDs, including those of background jobs, the v)-32.75 E
-(alue of)-.25 E F1($$)2.5 E F0 2.5(,a)C(nd the v)-2.5 E(alue of)-.25 E
-/F2 9/Times-Bold@0 SF(PPID)2.5 E F0 .426
-(When a simple command other than a b)108 276 R .427
+(alue of)-.25 E F3($$)2.5 E F0 2.5(,a)C(nd the v)-2.5 E(alue of)-.25 E
+/F4 9/Times-Bold@0 SF(PPID)2.5 E F0 .426
+(When a simple command other than a b)108 304.8 R .427
 (uiltin or shell function is to be e)-.2 F -.15(xe)-.15 G .427
 (cuted, it is in).15 F -.2(vo)-.4 G -.1(ke).2 G 2.927(di).1 G 2.927(nas)
--2.927 G(eparate)-2.927 E -.15(exe)108 288 S .134(cution en).15 F .134
+-2.927 G(eparate)-2.927 E -.15(exe)108 316.8 S .134(cution en).15 F .134
 (vironment that consists of the follo)-.4 F 2.634(wing. Unless)-.25 F
 .133(otherwise noted, the v)2.634 F .133(alues are inherited from)-.25 F
-(the shell.)108 300 Q 32.5<8374>108 316.8 S 1.055(he shell')-32.5 F
+(the shell.)108 328.8 Q 32.5<8374>108 345.6 S 1.055(he shell')-32.5 F
 3.555(so)-.55 G 1.055(pen \214les, plus an)-3.555 F 3.556(ym)-.15 G
 1.056
 (odi\214cations and additions speci\214ed by redirections to the com-)
--3.556 F(mand)144 328.8 Q 32.5<8374>108 345.6 S(he current w)-32.5 E
-(orking directory)-.1 E 32.5<8374>108 362.4 S
-(he \214le creation mode mask)-32.5 E 32.5<8373>108 379.2 S .857(hell v)
+-3.556 F(mand)144 357.6 Q 32.5<8374>108 374.4 S(he current w)-32.5 E
+(orking directory)-.1 E 32.5<8374>108 391.2 S
+(he \214le creation mode mask)-32.5 E 32.5<8373>108 408 S .857(hell v)
 -32.5 F .857(ariables and functions mark)-.25 F .857(ed for e)-.1 F .857
 (xport, along with v)-.15 F .857(ariables e)-.25 F .857
-(xported for the command,)-.15 F(passed in the en)144 391.2 Q(vironment)
--.4 E 32.5<8374>108 408 S .306
+(xported for the command,)-.15 F(passed in the en)144 420 Q(vironment)
+-.4 E 32.5<8374>108 436.8 S .306
 (raps caught by the shell are reset to the v)-32.5 F .307
 (alues inherited from the shell')-.25 F 2.807(sp)-.55 G .307
-(arent, and traps ignored)-2.807 F(by the shell are ignored)144 420 Q
-2.5(Ac)108 436.8 S(ommand in)-2.5 E -.2(vo)-.4 G -.1(ke).2 G 2.5(di).1 G
+(arent, and traps ignored)-2.807 F(by the shell are ignored)144 448.8 Q
+2.5(Ac)108 465.6 S(ommand in)-2.5 E -.2(vo)-.4 G -.1(ke).2 G 2.5(di).1 G
 2.5(nt)-2.5 G(his separate en)-2.5 E(vironment cannot af)-.4 E
 (fect the shell')-.25 E 2.5(se)-.55 G -.15(xe)-2.65 G(cution en).15 E
 (vironment.)-.4 E .577(Command substitution, commands grouped with pare\
-ntheses, and asynchronous commands are in)108 453.6 R -.2(vo)-.4 G -.1
-(ke).2 G 3.077(di).1 G(n)-3.077 E 2.744(as)108 465.6 S .244(ubshell en)
+ntheses, and asynchronous commands are in)108 482.4 R -.2(vo)-.4 G -.1
+(ke).2 G 3.077(di).1 G(n)-3.077 E 2.744(as)108 494.4 S .244(ubshell en)
 -2.744 F .244(vironment that is a duplicate of the shell en)-.4 F .245
 (vironment, e)-.4 F .245(xcept that traps caught by the shell are)-.15 F
-.359(reset to the v)108 477.6 R .358
+.359(reset to the v)108 506.4 R .358
 (alues that the shell inherited from its parent at in)-.25 F -.2(vo)-.4
 G 2.858(cation. Builtin).2 F .358(commands that are in)2.858 F -.2(vo)
--.4 G -.1(ke).2 G(d).1 E .856(as part of a pipeline are also e)108 489.6
+-.4 G -.1(ke).2 G(d).1 E .856(as part of a pipeline are also e)108 518.4
 R -.15(xe)-.15 G .856(cuted in a subshell en).15 F 3.357
 (vironment. Changes)-.4 F .857(made to the subshell en)3.357 F(viron-)
--.4 E(ment cannot af)108 501.6 Q(fect the shell')-.25 E 2.5(se)-.55 G
+-.4 E(ment cannot af)108 530.4 Q(fect the shell')-.25 E 2.5(se)-.55 G
 -.15(xe)-2.65 G(cution en).15 E(vironment.)-.4 E 1.377(Subshells spa)108
-518.4 R 1.377(wned to e)-.15 F -.15(xe)-.15 G 1.377
+547.2 R 1.377(wned to e)-.15 F -.15(xe)-.15 G 1.377
 (cute command substitutions inherit the v).15 F 1.377(alue of the)-.25 F
-F1<ad65>3.876 E F0 1.376(option from the parent)3.876 F 2.5(shell. When)
-108 530.4 R(not in)2.5 E/F3 10/Times-Italic@0 SF(posix)2.5 E F0(mode,)
-2.5 E F1(bash)2.5 E F0(clears the)2.5 E F1<ad65>2.5 E F0
-(option in such subshells.)2.5 E .404(If a command is follo)108 547.2 R
-.404(wed by a)-.25 F F1(&)2.904 E F0 .405(and job control is not acti)
-2.904 F -.15(ve)-.25 G 2.905(,t).15 G .405(he def)-2.905 F .405
-(ault standard input for the command)-.1 F .198(is the empty \214le)108
-559.2 R F3(/de)2.698 E(v/null)-.15 E F0 5.198(.O)C .198
-(therwise, the in)-5.198 F -.2(vo)-.4 G -.1(ke).2 G 2.698(dc).1 G .197
-(ommand inherits the \214le descriptors of the calling shell)-2.698 F
-(as modi\214ed by redirections.)108 571.2 Q/F4 10.95/Times-Bold@0 SF
-(ENVIR)72 588 Q(ONMENT)-.329 E F0 2.353(When a program is in)108 600 R
--.2(vo)-.4 G -.1(ke).2 G 4.853(di).1 G 4.853(ti)-4.853 G 4.853(sg)-4.853
-G -2.15 -.25(iv e)-4.853 H 4.853(na).25 G 4.853(na)-4.853 G 2.353
-(rray of strings called the)-4.853 F F3(en)4.853 E(vir)-.4 E(onment)-.45
-E F0 7.353(.T).68 G 2.354(his is a list of)-7.353 F F3(name)108 612 Q F0
-<ad>A F3(value)A F0(pairs, of the form)2.5 E F3(name)2.5 E F0(=)A F3
-(value)A F0(.).18 E 1.486(The shell pro)108 628.8 R 1.486(vides se)-.15
+F3<ad65>3.876 E F0 1.376(option from the parent)3.876 F 2.5(shell. When)
+108 559.2 R(not in)2.5 E F2(posix)2.5 E F0(mode,)2.5 E F3(bash)2.5 E F0
+(clears the)2.5 E F3<ad65>2.5 E F0(option in such subshells.)2.5 E .404
+(If a command is follo)108 576 R .404(wed by a)-.25 F F3(&)2.904 E F0
+.405(and job control is not acti)2.904 F -.15(ve)-.25 G 2.905(,t).15 G
+.405(he def)-2.905 F .405(ault standard input for the command)-.1 F .198
+(is the empty \214le)108 588 R F2(/de)2.698 E(v/null)-.15 E F0 5.198(.O)
+C .198(therwise, the in)-5.198 F -.2(vo)-.4 G -.1(ke).2 G 2.698(dc).1 G
+.197(ommand inherits the \214le descriptors of the calling shell)-2.698
+F(as modi\214ed by redirections.)108 600 Q F1(ENVIR)72 616.8 Q(ONMENT)
+-.329 E F0 2.353(When a program is in)108 628.8 R -.2(vo)-.4 G -.1(ke).2
+G 4.853(di).1 G 4.853(ti)-4.853 G 4.853(sg)-4.853 G -2.15 -.25(iv e)
+-4.853 H 4.853(na).25 G 4.853(na)-4.853 G 2.353
+(rray of strings called the)-4.853 F F2(en)4.853 E(vir)-.4 E(onment)-.45
+E F0 7.353(.T).68 G 2.354(his is a list of)-7.353 F F2(name)108 640.8 Q
+F0<ad>A F2(value)A F0(pairs, of the form)2.5 E F2(name)2.5 E F0(=)A F2
+(value)A F0(.).18 E 1.486(The shell pro)108 657.6 R 1.486(vides se)-.15
 F -.15(ve)-.25 G 1.486(ral w).15 F 1.485(ays to manipulate the en)-.1 F
 3.985(vironment. On)-.4 F(in)3.985 E -.2(vo)-.4 G 1.485
-(cation, the shell scans its o).2 F(wn)-.25 E(en)108 640.8 Q .144(viron\
+(cation, the shell scans its o).2 F(wn)-.25 E(en)108 669.6 Q .144(viron\
 ment and creates a parameter for each name found, automatically marking\
- it for)-.4 F F3 -.2(ex)2.644 G(port).2 E F0 .144(to child pro-)3.324 F
-2.704(cesses. Ex)108 652.8 R .203(ecuted commands inherit the en)-.15 F
-2.703(vironment. The)-.4 F F1(export)2.703 E F0(and)2.703 E F1(declar)
+ it for)-.4 F F2 -.2(ex)2.644 G(port).2 E F0 .144(to child pro-)3.324 F
+2.704(cesses. Ex)108 681.6 R .203(ecuted commands inherit the en)-.15 F
+2.703(vironment. The)-.4 F F3(export)2.703 E F0(and)2.703 E F3(declar)
 2.703 E 2.703<65ad>-.18 G(x)-2.703 E F0 .203(commands allo)2.703 F 2.703
 (wp)-.25 G(aram-)-2.703 E 1.153
-(eters and functions to be added to and deleted from the en)108 664.8 R
+(eters and functions to be added to and deleted from the en)108 693.6 R
 3.653(vironment. If)-.4 F 1.153(the v)3.653 F 1.154
-(alue of a parameter in the)-.25 F(en)108 676.8 Q .64
+(alue of a parameter in the)-.25 F(en)108 705.6 Q .64
 (vironment is modi\214ed, the ne)-.4 F 3.14(wv)-.25 G .64
 (alue becomes part of the en)-3.39 F .64(vironment, replacing the old.)
--.4 F .64(The en)5.64 F(viron-)-.4 E .58(ment inherited by an)108 688.8
+-.4 F .64(The en)5.64 F(viron-)-.4 E .58(ment inherited by an)108 717.6
 R 3.08(ye)-.15 G -.15(xe)-3.23 G .58
 (cuted command consists of the shell').15 F 3.08(si)-.55 G .58
 (nitial en)-3.08 F .58(vironment, whose v)-.4 F .58(alues may be)-.25 F
-.301(modi\214ed in the shell, less an)108 700.8 R 2.801(yp)-.15 G .301
+.301(modi\214ed in the shell, less an)108 729.6 R 2.801(yp)-.15 G .301
 (airs remo)-2.801 F -.15(ve)-.15 G 2.801(db).15 G 2.801(yt)-2.801 G(he)
--2.801 E F1(unset)2.801 E F0 .3(command, plus an)2.8 F 2.8(ya)-.15 G .3
-(dditions via the)-2.8 F F1(export)2.8 E F0(and)2.8 E F1(declar)108
-712.8 Q 2.5<65ad>-.18 G(x)-2.5 E F0(commands.)2.5 E .562(The en)108
-729.6 R .562(vironment for an)-.4 F(y)-.15 E F3 .562(simple command)
-3.402 F F0 .563
-(or function may be augmented temporarily by pre\214xing it with)3.833 F
-(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(31)200.665 E 0 Cg EP
+-2.801 E F3(unset)2.801 E F0 .3(command, plus an)2.8 F 2.8(ya)-.15 G .3
+(dditions via the)-2.8 F F3(export)2.8 E F0(and)2.8 E(GNU Bash 4.2)72
+768 Q(2011 September 25)135.955 E(31)185.115 E 0 Cg EP
 %%Page: 32 32
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .203(parameter assignments, as described abo)108 84 R .502 -.15
-(ve i)-.15 H(n).15 E/F1 9/Times-Bold@0 SF -.666(PA)2.702 G(RAMETERS).666
-E/F2 9/Times-Roman@0 SF(.)A F0 .202(These assignment statements af)4.702
-F .202(fect only the)-.25 F(en)108 96 Q(vironment seen by that command.)
--.4 E .81(If the)108 112.8 R/F3 10/Times-Bold@0 SF<ad6b>3.31 E F0 .81
-(option is set \(see the)3.31 F F3(set)3.31 E F0 -.2(bu)3.31 G .81
-(iltin command belo).2 F .81(w\), then)-.25 F/F4 10/Times-Italic@0 SF
-(all)3.64 E F0 .81(parameter assignments are placed in)3.82 F(the en)108
-124.8 Q
+-.35 E/F1 10/Times-Bold@0 SF(declar)108 84 Q 2.5<65ad>-.18 G(x)-2.5 E F0
+(commands.)2.5 E .562(The en)108 100.8 R .562(vironment for an)-.4 F(y)
+-.15 E/F2 10/Times-Italic@0 SF .562(simple command)3.402 F F0 .563
+(or function may be augmented temporarily by pre\214xing it with)3.833 F
+.203(parameter assignments, as described abo)108 112.8 R .502 -.15(ve i)
+-.15 H(n).15 E/F3 9/Times-Bold@0 SF -.666(PA)2.702 G(RAMETERS).666 E/F4
+9/Times-Roman@0 SF(.)A F0 .202(These assignment statements af)4.702 F
+.202(fect only the)-.25 F(en)108 124.8 Q
+(vironment seen by that command.)-.4 E .81(If the)108 141.6 R F1<ad6b>
+3.31 E F0 .81(option is set \(see the)3.31 F F1(set)3.31 E F0 -.2(bu)
+3.31 G .81(iltin command belo).2 F .81(w\), then)-.25 F F2(all)3.64 E F0
+.81(parameter assignments are placed in)3.82 F(the en)108 153.6 Q
 (vironment for a command, not just those that precede the command name.)
--.4 E(When)108 141.6 Q F3(bash)3.397 E F0(in)3.397 E -.2(vo)-.4 G -.1
-(ke).2 G 3.397(sa).1 G 3.397(ne)-3.397 G .897(xternal command, the v)
--3.547 F(ariable)-.25 E F3(_)3.397 E F0 .897
-(is set to the full \214le name of the command and)3.397 F
-(passed to that command in its en)108 153.6 Q(vironment.)-.4 E/F5 10.95
-/Times-Bold@0 SF(EXIT ST)72 170.4 Q -1.04(AT)-.986 G(US)1.04 E F0 .15
-(The e)108 182.4 R .15(xit status of an e)-.15 F -.15(xe)-.15 G .15
-(cuted command is the v).15 F .151(alue returned by the)-.25 F F4
+-.4 E(When)108 170.4 Q F1(bash)3.586 E F0(in)3.586 E -.2(vo)-.4 G -.1
+(ke).2 G 3.586(sa).1 G 3.586(ne)-3.586 G 1.086(xternal command, the v)
+-3.736 F(ariable)-.25 E F1(_)3.586 E F0 1.085
+(is set to the full \214lename of the command and)3.586 F
+(passed to that command in its en)108 182.4 Q(vironment.)-.4 E/F5 10.95
+/Times-Bold@0 SF(EXIT ST)72 199.2 Q -1.04(AT)-.986 G(US)1.04 E F0 .15
+(The e)108 211.2 R .15(xit status of an e)-.15 F -.15(xe)-.15 G .15
+(cuted command is the v).15 F .151(alue returned by the)-.25 F F2
 (waitpid)2.651 E F0 .151(system call or equi)2.651 F -.25(va)-.25 G .151
-(lent func-).25 F 2.848(tion. Exit)108 194.4 R .348(statuses f)2.848 F
+(lent func-).25 F 2.848(tion. Exit)108 223.2 R .348(statuses f)2.848 F
 .347(all between 0 and 255, though, as e)-.1 F .347(xplained belo)-.15 F
 1.647 -.65(w, t)-.25 H .347(he shell may use v).65 F .347(alues abo)-.25
-F .647 -.15(ve 1)-.15 H(25).15 E(specially)108 206.4 Q 5.673(.E)-.65 G
+F .647 -.15(ve 1)-.15 H(25).15 E(specially)108 235.2 Q 5.673(.E)-.65 G
 .673(xit statuses from shell b)-5.673 F .673
 (uiltins and compound commands are also limited to this range. Under)-.2
-F(certain circumstances, the shell will use special v)108 218.4 Q
+F(certain circumstances, the shell will use special v)108 247.2 Q
 (alues to indicate speci\214c f)-.25 E(ailure modes.)-.1 E -.15(Fo)108
-235.2 S 3.373(rt).15 G .873(he shell')-3.373 F 3.373(sp)-.55 G .873
+264 S 3.373(rt).15 G .873(he shell')-3.373 F 3.373(sp)-.55 G .873
 (urposes, a command which e)-3.373 F .873(xits with a zero e)-.15 F .873
 (xit status has succeeded.)-.15 F .872(An e)5.872 F .872(xit status of)
--.15 F .048(zero indicates success.)108 247.2 R 2.548(An)5.048 G .049
+-.15 F .048(zero indicates success.)108 276 R 2.548(An)5.048 G .049
 (on-zero e)-2.548 F .049(xit status indicates f)-.15 F 2.549
 (ailure. When)-.1 F 2.549(ac)2.549 G .049(ommand terminates on a f)
--2.549 F .049(atal sig-)-.1 F(nal)108 259.2 Q F4(N)2.5 E F0(,)A F3(bash)
-2.5 E F0(uses the v)2.5 E(alue of 128+)-.25 E F4(N)A F0(as the e)2.5 E
+-2.549 F .049(atal sig-)-.1 F(nal)108 288 Q F2(N)2.5 E F0(,)A F1(bash)
+2.5 E F0(uses the v)2.5 E(alue of 128+)-.25 E F2(N)A F0(as the e)2.5 E
 (xit status.)-.15 E .405
-(If a command is not found, the child process created to e)108 276 R
+(If a command is not found, the child process created to e)108 304.8 R
 -.15(xe)-.15 G .404(cute it returns a status of 127.).15 F .404
-(If a command is)5.404 F(found b)108 288 Q(ut is not e)-.2 E -.15(xe)
--.15 G(cutable, the return status is 126.).15 E(If a command f)108 304.8
+(If a command is)5.404 F(found b)108 316.8 Q(ut is not e)-.2 E -.15(xe)
+-.15 G(cutable, the return status is 126.).15 E(If a command f)108 333.6
 Q(ails because of an error during e)-.1 E
 (xpansion or redirection, the e)-.15 E(xit status is greater than zero.)
--.15 E .08(Shell b)108 321.6 R .08
-(uiltin commands return a status of 0 \()-.2 F F4(true)A F0 2.581(\)i)C
-2.581(fs)-2.581 G .081(uccessful, and non-zero \()-2.581 F F4(false)A F0
+-.15 E .08(Shell b)108 350.4 R .08
+(uiltin commands return a status of 0 \()-.2 F F2(true)A F0 2.581(\)i)C
+2.581(fs)-2.581 G .081(uccessful, and non-zero \()-2.581 F F2(false)A F0
 2.581(\)i)C 2.581(fa)-2.581 G 2.581(ne)-2.581 G .081(rror occurs while)
--2.581 F(the)108 333.6 Q 2.5(ye)-.15 G -.15(xe)-2.65 G 2.5(cute. All).15
+-2.581 F(the)108 362.4 Q 2.5(ye)-.15 G -.15(xe)-2.65 G 2.5(cute. All).15
 F -.2(bu)2.5 G(iltins return an e).2 E
-(xit status of 2 to indicate incorrect usage.)-.15 E F3(Bash)108 350.4 Q
+(xit status of 2 to indicate incorrect usage.)-.15 E F1(Bash)108 379.2 Q
 F0 .202(itself returns the e)2.702 F .202
 (xit status of the last command e)-.15 F -.15(xe)-.15 G .201
-(cuted, unless a syntax error occurs, in which case).15 F(it e)108 362.4
-Q(xits with a non-zero v)-.15 E 2.5(alue. See)-.25 F(also the)2.5 E F3
+(cuted, unless a syntax error occurs, in which case).15 F(it e)108 391.2
+Q(xits with a non-zero v)-.15 E 2.5(alue. See)-.25 F(also the)2.5 E F1
 (exit)2.5 E F0 -.2(bu)2.5 G(iltin command belo).2 E -.65(w.)-.25 G F5
-(SIGN)72 379.2 Q(ALS)-.219 E F0(When)108 391.2 Q F3(bash)3.182 E F0 .682
+(SIGN)72 408 Q(ALS)-.219 E F0(When)108 420 Q F1(bash)3.182 E F0 .682
 (is interacti)3.182 F -.15(ve)-.25 G 3.182(,i).15 G 3.182(nt)-3.182 G
 .682(he absence of an)-3.182 F 3.183(yt)-.15 G .683(raps, it ignores)
--3.183 F F1(SIGTERM)3.183 E F0 .683(\(so that)2.933 F F3 .683(kill 0)
-3.183 F F0 .683(does not kill an)3.183 F(interacti)108 403.2 Q .758 -.15
-(ve s)-.25 H .458(hell\), and).15 F F1(SIGINT)2.958 E F0 .458
-(is caught and handled \(so that the)2.708 F F3(wait)2.958 E F0 -.2(bu)
+-3.183 F F3(SIGTERM)3.183 E F0 .683(\(so that)2.933 F F1 .683(kill 0)
+3.183 F F0 .683(does not kill an)3.183 F(interacti)108 432 Q .758 -.15
+(ve s)-.25 H .458(hell\), and).15 F F3(SIGINT)2.958 E F0 .458
+(is caught and handled \(so that the)2.708 F F1(wait)2.958 E F0 -.2(bu)
 2.958 G .457(iltin is interruptible\).).2 F .457(In all cases,)5.457 F
-F3(bash)108 415.2 Q F0(ignores)2.5 E F1(SIGQ)2.5 E(UIT)-.09 E F2(.)A F0
-(If job control is in ef)4.5 E(fect,)-.25 E F3(bash)2.5 E F0(ignores)2.5
-E F1(SIGTTIN)2.5 E F2(,)A F1(SIGTT)2.25 E(OU)-.162 E F2(,)A F0(and)2.25
-E F1(SIGTSTP)2.5 E F2(.)A F0(Non-b)108 432 Q 1.064
-(uiltin commands run by)-.2 F F3(bash)3.564 E F0(ha)3.564 E 1.365 -.15
+F1(bash)108 444 Q F0(ignores)2.5 E F3(SIGQ)2.5 E(UIT)-.09 E F4(.)A F0
+(If job control is in ef)4.5 E(fect,)-.25 E F1(bash)2.5 E F0(ignores)2.5
+E F3(SIGTTIN)2.5 E F4(,)A F3(SIGTT)2.25 E(OU)-.162 E F4(,)A F0(and)2.25
+E F3(SIGTSTP)2.5 E F4(.)A F0(Non-b)108 460.8 Q 1.064
+(uiltin commands run by)-.2 F F1(bash)3.564 E F0(ha)3.564 E 1.365 -.15
 (ve s)-.2 H 1.065(ignal handlers set to the v).15 F 1.065
-(alues inherited by the shell from its)-.25 F 3.248(parent. When)108 444
-R .748(job control is not in ef)3.248 F .747
-(fect, asynchronous commands ignore)-.25 F F1(SIGINT)3.247 E F0(and)
-2.997 E F1(SIGQ)3.247 E(UIT)-.09 E F0 .747(in addi-)2.997 F .652
-(tion to these inherited handlers.)108 456 R .653
+(alues inherited by the shell from its)-.25 F 3.248(parent. When)108
+472.8 R .748(job control is not in ef)3.248 F .747
+(fect, asynchronous commands ignore)-.25 F F3(SIGINT)3.247 E F0(and)
+2.997 E F3(SIGQ)3.247 E(UIT)-.09 E F0 .747(in addi-)2.997 F .652
+(tion to these inherited handlers.)108 484.8 R .653
 (Commands run as a result of command substitution ignore the k)5.652 F
--.15(ey)-.1 G(board-).15 E(generated job control signals)108 468 Q F1
-(SIGTTIN)2.5 E F2(,)A F1(SIGTT)2.25 E(OU)-.162 E F2(,)A F0(and)2.25 E F1
-(SIGTSTP)2.5 E F2(.)A F0 2.046(The shell e)108 484.8 R 2.046
-(xits by def)-.15 F 2.045(ault upon receipt of a)-.1 F F1(SIGHUP)4.545 E
-F2(.)A F0 2.045(Before e)6.545 F 2.045(xiting, an interacti)-.15 F 2.345
--.15(ve s)-.25 H 2.045(hell resends the).15 F F1(SIGHUP)108 496.8 Q F0
+-.15(ey)-.1 G(board-).15 E(generated job control signals)108 496.8 Q F3
+(SIGTTIN)2.5 E F4(,)A F3(SIGTT)2.25 E(OU)-.162 E F4(,)A F0(and)2.25 E F3
+(SIGTSTP)2.5 E F4(.)A F0 2.046(The shell e)108 513.6 R 2.046
+(xits by def)-.15 F 2.045(ault upon receipt of a)-.1 F F3(SIGHUP)4.545 E
+F4(.)A F0 2.045(Before e)6.545 F 2.045(xiting, an interacti)-.15 F 2.345
+-.15(ve s)-.25 H 2.045(hell resends the).15 F F3(SIGHUP)108 525.6 Q F0
 1.004(to all jobs, running or stopped.)3.254 F 1.004
-(Stopped jobs are sent)6.004 F F1(SIGCONT)3.505 E F0 1.005
+(Stopped jobs are sent)6.004 F F3(SIGCONT)3.505 E F0 1.005
 (to ensure that the)3.255 F 3.505(yr)-.15 G(ecei)-3.505 E 1.305 -.15
-(ve t)-.25 H(he).15 E F1(SIGHUP)108 508.8 Q F2(.)A F0 2.53 -.8(To p)5.43
+(ve t)-.25 H(he).15 E F3(SIGHUP)108 537.6 Q F4(.)A F0 2.53 -.8(To p)5.43
 H(re).8 E -.15(ve)-.25 G .93(nt the shell from sending the signal to a \
 particular job, it should be remo).15 F -.15(ve)-.15 G 3.429(df).15 G
-.929(rom the)-3.429 F 1.356(jobs table with the)108 520.8 R F3(diso)
-3.856 E(wn)-.1 E F0 -.2(bu)3.856 G 1.356(iltin \(see).2 F F1 1.356
+.929(rom the)-3.429 F 1.356(jobs table with the)108 549.6 R F1(diso)
+3.856 E(wn)-.1 E F0 -.2(bu)3.856 G 1.356(iltin \(see).2 F F3 1.356
 (SHELL B)3.856 F(UIL)-.09 E 1.356(TIN COMMANDS)-.828 F F0(belo)3.607 E
-1.357(w\) or mark)-.25 F 1.357(ed to not recei)-.1 F -.15(ve)-.25 G F1
-(SIGHUP)108 532.8 Q F0(using)2.25 E F3(diso)2.5 E(wn \255h)-.1 E F0(.)A
-.166(If the)108 549.6 R F3(huponexit)2.666 E F0 .166
-(shell option has been set with)2.666 F F3(shopt)2.666 E F0(,)A F3(bash)
-2.666 E F0 .166(sends a)2.666 F F1(SIGHUP)2.666 E F0 .166
+1.357(w\) or mark)-.25 F 1.357(ed to not recei)-.1 F -.15(ve)-.25 G F3
+(SIGHUP)108 561.6 Q F0(using)2.25 E F1(diso)2.5 E(wn \255h)-.1 E F0(.)A
+.166(If the)108 578.4 R F1(huponexit)2.666 E F0 .166
+(shell option has been set with)2.666 F F1(shopt)2.666 E F0(,)A F1(bash)
+2.666 E F0 .166(sends a)2.666 F F3(SIGHUP)2.666 E F0 .166
 (to all jobs when an interacti)2.416 F -.15(ve)-.25 G(login shell e)108
-561.6 Q(xits.)-.15 E(If)108 578.4 Q F3(bash)3.046 E F0 .546(is w)3.046 F
+590.4 Q(xits.)-.15 E(If)108 607.2 Q F1(bash)3.046 E F0 .546(is w)3.046 F
 .546(aiting for a command to complete and recei)-.1 F -.15(ve)-.25 G
 3.046(sas).15 G .546(ignal for which a trap has been set, the trap)
--3.046 F .663(will not be e)108 590.4 R -.15(xe)-.15 G .663
-(cuted until the command completes.).15 F(When)5.663 E F3(bash)3.163 E
+-3.046 F .663(will not be e)108 619.2 R -.15(xe)-.15 G .663
+(cuted until the command completes.).15 F(When)5.663 E F1(bash)3.163 E
 F0 .662(is w)3.163 F .662(aiting for an asynchronous command)-.1 F .99
-(via the)108 602.4 R F3(wait)3.49 E F0 -.2(bu)3.49 G .99(iltin, the rec\
-eption of a signal for which a trap has been set will cause the).2 F F3
+(via the)108 631.2 R F1(wait)3.49 E F0 -.2(bu)3.49 G .99(iltin, the rec\
+eption of a signal for which a trap has been set will cause the).2 F F1
 (wait)3.49 E F0 -.2(bu)3.49 G .99(iltin to).2 F
-(return immediately with an e)108 614.4 Q
+(return immediately with an e)108 643.2 Q
 (xit status greater than 128, immediately after which the trap is e)-.15
-E -.15(xe)-.15 G(cuted.).15 E F5(JOB CONTR)72 631.2 Q(OL)-.329 E F4 -.25
-(Jo)108 643.2 S 4.568(bc).25 G(ontr)-4.568 E(ol)-.45 E F0 2.068
+E -.15(xe)-.15 G(cuted.).15 E F5(JOB CONTR)72 660 Q(OL)-.329 E F2 -.25
+(Jo)108 672 S 4.568(bc).25 G(ontr)-4.568 E(ol)-.45 E F0 2.068
 (refers to the ability to selecti)5.078 F -.15(ve)-.25 G 2.067
-(ly stop \().15 F F4(suspend)A F0 4.567(\)t)C 2.067(he e)-4.567 F -.15
-(xe)-.15 G 2.067(cution of processes and continue).15 F(\()108 655.2 Q
-F4 -.37(re)C(sume).37 E F0 3.201(\)t)C .701(heir e)-3.201 F -.15(xe)-.15
-.702(cution at a later point.).15 F 3.202(Au)5.702 G .702
+(ly stop \().15 F F2(suspend)A F0 4.567(\)t)C 2.067(he e)-4.567 F -.15
+(xe)-.15 G 2.067(cution of processes and continue).15 F(\()108 684 Q F2
+-.37(re)C(sume).37 E F0 3.201(\)t)C .701(heir e)-3.201 F -.15(xe)-.15 G
+.702(cution at a later point.).15 F 3.202(Au)5.702 G .702
 (ser typically emplo)-3.202 F .702(ys this f)-.1 F .702
 (acility via an interacti)-.1 F 1.002 -.15(ve i)-.25 H(nterf).15 E(ace)
--.1 E(supplied jointly by the operating system k)108 667.2 Q(ernel')-.1
-2.5(st)-.55 G(erminal dri)-2.5 E -.15(ve)-.25 G 2.5(ra).15 G(nd)-2.5 E
-F3(bash)2.5 E F0(.)A .785(The shell associates a)108 684 R F4(job)5.025
-E F0 .785(with each pipeline.)3.515 F .784(It k)5.785 F .784
+-.1 E(supplied jointly by the operating system k)108 696 Q(ernel')-.1 E
+2.5(st)-.55 G(erminal dri)-2.5 E -.15(ve)-.25 G 2.5(ra).15 G(nd)-2.5 E
+F1(bash)2.5 E F0(.)A .785(The shell associates a)108 712.8 R F2(job)
+5.025 E F0 .785(with each pipeline.)3.515 F .784(It k)5.785 F .784
 (eeps a table of currently e)-.1 F -.15(xe)-.15 G .784
-(cuting jobs, which may be).15 F .34(listed with the)108 696 R F3(jobs)
-2.84 E F0 2.84(command. When)2.84 F F3(bash)2.84 E F0 .341
-(starts a job asynchronously \(in the)2.84 F F4(bac)2.841 E(kgr)-.2 E
-(ound)-.45 E F0 .341(\), it prints a line).77 F(that looks lik)108 708 Q
-(e:)-.1 E([1] 25647)144 724.8 Q(GNU Bash 4.2)72 768 Q(2011 July 7)
-151.505 E(32)200.665 E 0 Cg EP
+(cuting jobs, which may be).15 F .34(listed with the)108 724.8 R F1
+(jobs)2.84 E F0 2.84(command. When)2.84 F F1(bash)2.84 E F0 .341
+(starts a job asynchronously \(in the)2.84 F F2(bac)2.841 E(kgr)-.2 E
+(ound)-.45 E F0 .341(\), it prints a line).77 F(GNU Bash 4.2)72 768 Q
+(2011 September 25)135.955 E(32)185.115 E 0 Cg EP
 %%Page: 33 33
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .241(indicating that this job is job number 1 and that the proce\
-ss ID of the last process in the pipeline associated)108 84 R .732
-(with this job is 25647.)108 96 R .733
+-.35 E(that looks lik)108 84 Q(e:)-.1 E([1] 25647)144 100.8 Q .241(indi\
+cating that this job is job number 1 and that the process ID of the las\
+t process in the pipeline associated)108 117.6 R .732
+(with this job is 25647.)108 129.6 R .733
 (All of the processes in a single pipeline are members of the same job)
 5.732 F(.)-.4 E/F1 10/Times-Bold@0 SF(Bash)5.733 E F0(uses)3.233 E(the)
-108 108 Q/F2 10/Times-Italic@0 SF(job)4.24 E F0
+108 141.6 Q/F2 10/Times-Italic@0 SF(job)4.24 E F0
 (abstraction as the basis for job control.)2.73 E 3.063 -.8(To f)108
-124.8 T 1.463(acilitate the implementation of the user interf).7 F 1.462
+158.4 T 1.463(acilitate the implementation of the user interf).7 F 1.462
 (ace to job control, the operating system maintains the)-.1 F .87
-(notion of a)108 136.8 R F2(curr)3.37 E .87(ent terminal pr)-.37 F .871
+(notion of a)108 170.4 R F2(curr)3.37 E .87(ent terminal pr)-.37 F .871
 (ocess gr)-.45 F .871(oup ID)-.45 F F0 5.871(.M)C .871
 (embers of this process group \(processes whose process)-5.871 F .023
 (group ID is equal to the current terminal process group ID\) recei)108
-148.8 R .323 -.15(ve k)-.25 H -.15(ey).05 G .023
+182.4 R .323 -.15(ve k)-.25 H -.15(ey).05 G .023
 (board-generated signals such as).15 F/F3 9/Times-Bold@0 SF(SIG-)2.522 E
-(INT)108 160.8 Q/F4 9/Times-Roman@0 SF(.)A F0 1.346
+(INT)108 194.4 Q/F4 9/Times-Roman@0 SF(.)A F0 1.346
 (These processes are said to be in the)5.846 F F2(for)3.847 E -.4(eg)
 -.37 G -.45(ro).4 G(und).45 E F0(.).77 E F2(Bac)6.927 E(kgr)-.2 E(ound)
 -.45 E F0 1.347(processes are those whose process)4.617 F .146
-(group ID dif)108 172.8 R .146(fers from the terminal')-.25 F .146
+(group ID dif)108 206.4 R .146(fers from the terminal')-.25 F .146
 (s; such processes are immune to k)-.55 F -.15(ey)-.1 G .145
 (board-generated signals.).15 F .145(Only fore-)5.145 F .16
-(ground processes are allo)108 184.8 R .16(wed to read from or)-.25 F
+(ground processes are allo)108 218.4 R .16(wed to read from or)-.25 F
 2.66(,i)-.4 G 2.66(ft)-2.66 G .16(he user so speci\214es with)-2.66 F/F5
 10/Courier@0 SF .16(stty tostop)2.66 F F0 2.66(,w)C .16(rite to the ter)
--2.66 F(-)-.2 E 3.052(minal. Background)108 196.8 R .551
+-2.66 F(-)-.2 E 3.052(minal. Background)108 230.4 R .551
 (processes which attempt to read from \(write to when)3.052 F F5 .551
 (stty tostop)3.051 F F0 .551(is in ef)3.051 F .551(fect\) the)-.25 F
-.717(terminal are sent a)108 208.8 R F3 .717(SIGTTIN \(SIGTT)3.217 F
+.717(terminal are sent a)108 242.4 R F3 .717(SIGTTIN \(SIGTT)3.217 F
 (OU\))-.162 E F0 .718(signal by the k)2.967 F(ernel')-.1 E 3.218(st)-.55
 G .718(erminal dri)-3.218 F -.15(ve)-.25 G 1.518 -.4(r, w).15 H .718
-(hich, unless caught, sus-).4 F(pends the process.)108 220.8 Q 1.088
-(If the operating system on which)108 237.6 R F1(bash)3.588 E F0 1.088
+(hich, unless caught, sus-).4 F(pends the process.)108 254.4 Q 1.088
+(If the operating system on which)108 271.2 R F1(bash)3.588 E F0 1.088
 (is running supports job control,)3.588 F F1(bash)3.587 E F0 1.087
-(contains f)3.587 F 1.087(acilities to use it.)-.1 F -.8(Ty)108 249.6 S
+(contains f)3.587 F 1.087(acilities to use it.)-.1 F -.8(Ty)108 283.2 S
 .301(ping the).8 F F2(suspend)3.141 E F0 .301(character \(typically)
 3.571 F F1(^Z)2.801 E F0 2.801(,C)C .301
 (ontrol-Z\) while a process is running causes that process to be)-2.801
-F 2.143(stopped and returns control to)108 261.6 R F1(bash)4.642 E F0
+F 2.143(stopped and returns control to)108 295.2 R F1(bash)4.642 E F0
 7.142(.T)C 2.142(yping the)-7.942 F F2 2.142(delayed suspend)4.992 F F0
 2.142(character \(typically)5.412 F F1(^Y)4.642 E F0 4.642(,C)C
 (ontrol-Y\))-4.642 E .021(causes the process to be stopped when it atte\
 mpts to read input from the terminal, and control to be returned)108
-273.6 R(to)108 285.6 Q F1(bash)3.392 E F0 5.892(.T)C .892
+307.2 R(to)108 319.2 Q F1(bash)3.392 E F0 5.892(.T)C .892
 (he user may then manipulate the state of this job, using the)-5.892 F
 F1(bg)3.392 E F0 .892(command to continue it in the)3.392 F .894
-(background, the)108 297.6 R F1(fg)3.394 E F0 .895
+(background, the)108 331.2 R F1(fg)3.394 E F0 .895
 (command to continue it in the fore)3.394 F .895(ground, or the)-.15 F
 F1(kill)3.395 E F0 .895(command to kill it.)3.395 F(A)5.895 E F1(^Z)
-3.395 E F0(tak)3.395 E(es)-.1 E(ef)108 309.6 Q .949(fect immediately)
+3.395 E F0(tak)3.395 E(es)-.1 E(ef)108 343.2 Q .949(fect immediately)
 -.25 F 3.449(,a)-.65 G .948(nd has the additional side ef)-3.449 F .948
 (fect of causing pending output and typeahead to be dis-)-.25 F(carded.)
-108 321.6 Q .777(There are a number of w)108 338.4 R .777
+108 355.2 Q .777(There are a number of w)108 372 R .777
 (ays to refer to a job in the shell.)-.1 F .777(The character)5.777 F F1
-(%)3.277 E F0 .777(introduces a job speci\214cation)3.277 F(\()108 350.4
-F2(jobspec)A F0 3.458(\). Job)B(number)3.458 E F2(n)3.818 E F0 .957
+(%)3.277 E F0 .777(introduces a job speci\214cation)3.277 F(\()108 384 Q
+F2(jobspec)A F0 3.458(\). Job)B(number)3.458 E F2(n)3.818 E F0 .957
 (may be referred to as)3.697 F F1(%n)3.457 E F0 5.957(.A)C .957
 (job may also be referred to using a pre\214x of the)-2.5 F .59(name us\
 ed to start it, or using a substring that appears in its command line.)
-108 362.4 R -.15(Fo)5.59 G 3.09(re).15 G(xample,)-3.24 E F1(%ce)3.09 E
-F0 .59(refers to a)3.09 F(stopped)108 374.4 Q F1(ce)3.464 E F0(job)3.464
-5.964(.I)-.4 G 3.463(fap)-5.964 G .963
+108 396 R -.15(Fo)5.59 G 3.09(re).15 G(xample,)-3.24 E F1(%ce)3.09 E F0
+.59(refers to a)3.09 F(stopped)108 408 Q F1(ce)3.464 E F0(job)3.464 E
+5.964(.I)-.4 G 3.463(fap)-5.964 G .963
 (re\214x matches more than one job,)-3.463 F F1(bash)3.463 E F0 .963
 (reports an error)3.463 F 5.963(.U)-.55 G(sing)-5.963 E F1(%?ce)3.463 E
 F0 3.463(,o)C 3.463(nt)-3.463 G .963(he other)-3.463 F .086
-(hand, refers to an)108 386.4 R 2.587(yj)-.15 G .087
+(hand, refers to an)108 420 R 2.587(yj)-.15 G .087
 (ob containing the string)-2.587 F F1(ce)2.587 E F0 .087
 (in its command line.)2.587 F .087
-(If the substring matches more than one)5.087 F(job,)108 398.4 Q F1
-(bash)2.518 E F0 .018(reports an error)2.518 F 5.018(.T)-.55 G .018
+(If the substring matches more than one)5.087 F(job,)108 432 Q F1(bash)
+2.518 E F0 .018(reports an error)2.518 F 5.018(.T)-.55 G .018
 (he symbols)-5.018 F F1(%%)2.518 E F0(and)2.518 E F1(%+)2.518 E F0 .018
 (refer to the shell')2.518 F 2.518(sn)-.55 G .018(otion of the)-2.518 F
 F2(curr)2.518 E .018(ent job)-.37 F F0 2.518(,w).23 G .018(hich is)
--2.518 F .494(the last job stopped while it w)108 410.4 R .495
+-2.518 F .494(the last job stopped while it w)108 444 R .495
 (as in the fore)-.1 F .495(ground or started in the background.)-.15 F
 (The)5.495 E F2(pr)4.245 E -.15(ev)-.37 G .495(ious job).15 F F0 .495
-(may be)3.225 F .788(referenced using)108 422.4 R F1<25ad>3.288 E F0
-5.788(.I)C 3.288(ft)-5.788 G .787(here is only a single job,)-3.288 F F1
-(%+)3.287 E F0(and)3.287 E F1<25ad>3.287 E F0 .787
+(may be)3.225 F .788(referenced using)108 456 R F1<25ad>3.288 E F0 5.788
+(.I)C 3.288(ft)-5.788 G .787(here is only a single job,)-3.288 F F1(%+)
+3.287 E F0(and)3.287 E F1<25ad>3.287 E F0 .787
 (can both be used to refer to that job)3.287 F 5.787(.I)-.4 G(n)-5.787 E
-.256(output pertaining to jobs \(e.g., the output of the)108 434.4 R F1
+.256(output pertaining to jobs \(e.g., the output of the)108 468 R F1
 (jobs)2.756 E F0 .256(command\), the current job is al)2.756 F -.1(wa)
 -.1 G .257(ys \215agged with a).1 F F1(+)2.757 E F0(,)A .411
-(and the pre)108 446.4 R .411(vious job with a)-.25 F F1<ad>2.911 E F0
+(and the pre)108 480 R .411(vious job with a)-.25 F F1<ad>2.911 E F0
 5.411(.A)C .411(single % \(with no accompan)-2.5 F .41
 (ying job speci\214cation\) also refers to the cur)-.15 F(-)-.2 E
-(rent job)108 458.4 Q(.)-.4 E .443
-(Simply naming a job can be used to bring it into the fore)108 475.2 R
+(rent job)108 492 Q(.)-.4 E .443
+(Simply naming a job can be used to bring it into the fore)108 508.8 R
 (ground:)-.15 E F1(%1)2.944 E F0 .444(is a synon)2.944 F .444(ym for)
 -.15 F F1 -.63(``)2.944 G .444(fg %1').63 F(')-.63 E F0 2.944(,b)C
 (ringing)-2.944 E 1.473(job 1 from the background into the fore)108
-487.2 R 3.973(ground. Similarly)-.15 F(,)-.65 E F1 -.63(``)3.972 G 1.472
+520.8 R 3.973(ground. Similarly)-.15 F(,)-.65 E F1 -.63(``)3.972 G 1.472
 (%1 &').63 F(')-.63 E F0 1.472(resumes job 1 in the background,)3.972 F
-(equi)108 499.2 Q -.25(va)-.25 G(lent to).25 E F1 -.63(``)2.5 G(bg %1')
-.63 E(')-.63 E F0(.)A .13(The shell learns immediately whene)108 516 R
+(equi)108 532.8 Q -.25(va)-.25 G(lent to).25 E F1 -.63(``)2.5 G(bg %1')
+.63 E(')-.63 E F0(.)A .13(The shell learns immediately whene)108 549.6 R
 -.15(ve)-.25 G 2.63(raj).15 G .13(ob changes state.)-2.63 F(Normally)
 5.131 E(,)-.65 E F1(bash)2.631 E F0 -.1(wa)2.631 G .131
 (its until it is about to print a).1 F .158
-(prompt before reporting changes in a job')108 528 R 2.658(ss)-.55 G
+(prompt before reporting changes in a job')108 561.6 R 2.658(ss)-.55 G
 .158(tatus so as to not interrupt an)-2.658 F 2.657(yo)-.15 G .157
 (ther output.)-2.657 F .157(If the)5.157 F F1<ad62>2.657 E F0 .157
-(option to)2.657 F(the)108 540 Q F1(set)3.951 E F0 -.2(bu)3.951 G 1.451
-(iltin command is enabled,).2 F F1(bash)3.951 E F0 1.452
+(option to)2.657 F(the)108 573.6 Q F1(set)3.951 E F0 -.2(bu)3.951 G
+1.451(iltin command is enabled,).2 F F1(bash)3.951 E F0 1.452
 (reports such changes immediately)3.951 F 6.452(.A)-.65 G 1.752 -.15
 (ny t)-6.452 H 1.452(rap on).15 F F3(SIGCHLD)3.952 E F0(is)3.702 E -.15
-(exe)108 552 S(cuted for each child that e).15 E(xits.)-.15 E .033
-(If an attempt to e)108 568.8 R(xit)-.15 E F1(bash)2.533 E F0 .033
+(exe)108 585.6 S(cuted for each child that e).15 E(xits.)-.15 E .033
+(If an attempt to e)108 602.4 R(xit)-.15 E F1(bash)2.533 E F0 .033
 (is made while jobs are stopped \(or)2.533 F 2.532(,i)-.4 G 2.532(ft)
 -2.532 G(he)-2.532 E F1(checkjobs)2.532 E F0 .032
-(shell option has been enabled)2.532 F 2.019(using the)108 580.8 R F1
+(shell option has been enabled)2.532 F 2.019(using the)108 614.4 R F1
 (shopt)4.519 E F0 -.2(bu)4.519 G 2.019
 (iltin, running\), the shell prints a w).2 F 2.02
 (arning message, and, if the)-.1 F F1(checkjobs)4.52 E F0 2.02
 (option is)4.52 F .459(enabled, lists the jobs and their statuses.)108
-592.8 R(The)5.459 E F1(jobs)2.959 E F0 .458
+626.4 R(The)5.459 E F1(jobs)2.959 E F0 .458
 (command may then be used to inspect their status.)2.958 F .458(If a)
-5.458 F .603(second attempt to e)108 604.8 R .604
+5.458 F .603(second attempt to e)108 638.4 R .604
 (xit is made without an interv)-.15 F .604
 (ening command, the shell does not print another w)-.15 F(arning,)-.1 E
-(and an)108 616.8 Q 2.5(ys)-.15 G(topped jobs are terminated.)-2.5 E/F6
-10.95/Times-Bold@0 SF(PR)72 633.6 Q(OMPTING)-.329 E F0 .645(When e)108
-645.6 R -.15(xe)-.15 G .645(cuting interacti).15 F -.15(ve)-.25 G(ly).15
+(and an)108 650.4 Q 2.5(ys)-.15 G(topped jobs are terminated.)-2.5 E/F6
+10.95/Times-Bold@0 SF(PR)72 667.2 Q(OMPTING)-.329 E F0 .645(When e)108
+679.2 R -.15(xe)-.15 G .645(cuting interacti).15 F -.15(ve)-.25 G(ly).15
 E(,)-.65 E F1(bash)3.145 E F0 .645(displays the primary prompt)3.145 F
 F3(PS1)3.145 E F0 .645(when it is ready to read a command,)2.895 F 1.825
-(and the secondary prompt)108 657.6 R F3(PS2)4.325 E F0 1.825
+(and the secondary prompt)108 691.2 R F3(PS2)4.325 E F0 1.825
 (when it needs more input to complete a command.)4.075 F F1(Bash)6.826 E
 F0(allo)4.326 E 1.826(ws these)-.25 F 1.499(prompt strings to be custom\
 ized by inserting a number of backslash-escaped special characters that\
- are)108 669.6 R(decoded as follo)108 681.6 Q(ws:)-.25 E F1(\\a)144
-693.6 Q F0(an ASCII bell character \(07\))28.22 E F1(\\d)144 705.6 Q F0
-(the date in "W)27.66 E(eekday Month Date" format \(e.g., "T)-.8 E
-(ue May 26"\))-.45 E(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(33)
-200.665 E 0 Cg EP
+ are)108 703.2 R(decoded as follo)108 715.2 Q(ws:)-.25 E(GNU Bash 4.2)72
+768 Q(2011 September 25)135.955 E(33)185.115 E 0 Cg EP
 %%Page: 34 34
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(\\D{)144 84 Q/F2 10/Times-Italic@0 SF
-(format)A F1(})A F0(the)180 96 Q F2(format)3.926 E F0 1.426
-(is passed to)3.926 F F2(strftime)3.926 E F0 1.427
+-.35 E/F1 10/Times-Bold@0 SF(\\a)144 84 Q F0
+(an ASCII bell character \(07\))28.22 E F1(\\d)144 96 Q F0
+(the date in "W)27.66 E(eekday Month Date" format \(e.g., "T)-.8 E
+(ue May 26"\))-.45 E F1(\\D{)144 108 Q/F2 10/Times-Italic@0 SF(format)A
+F1(})A F0(the)180 120 Q F2(format)3.926 E F0 1.426(is passed to)3.926 F
+F2(strftime)3.926 E F0 1.427
 (\(3\) and the result is inserted into the prompt string; an)B(empty)180
-108 Q F2(format)2.5 E F0
+132 Q F2(format)2.5 E F0
 (results in a locale-speci\214c time representation.)2.5 E
-(The braces are required)5 E F1(\\e)144 120 Q F0
-(an ASCII escape character \(033\))28.78 E F1(\\h)144 132 Q F0
-(the hostname up to the \214rst `.)27.66 E(')-.7 E F1(\\H)144 144 Q F0
-(the hostname)25.44 E F1(\\j)144 156 Q F0
+(The braces are required)5 E F1(\\e)144 144 Q F0
+(an ASCII escape character \(033\))28.78 E F1(\\h)144 156 Q F0
+(the hostname up to the \214rst `.)27.66 E(')-.7 E F1(\\H)144 168 Q F0
+(the hostname)25.44 E F1(\\j)144 180 Q F0
 (the number of jobs currently managed by the shell)29.89 E F1(\\l)144
-168 Q F0(the basename of the shell')30.44 E 2.5(st)-.55 G(erminal de)
--2.5 E(vice name)-.25 E F1(\\n)144 180 Q F0(ne)27.66 E(wline)-.25 E F1
-(\\r)144 192 Q F0(carriage return)28.78 E F1(\\s)144 204 Q F0
+192 Q F0(the basename of the shell')30.44 E 2.5(st)-.55 G(erminal de)
+-2.5 E(vice name)-.25 E F1(\\n)144 204 Q F0(ne)27.66 E(wline)-.25 E F1
+(\\r)144 216 Q F0(carriage return)28.78 E F1(\\s)144 228 Q F0
 (the name of the shell, the basename of)29.33 E F1($0)2.5 E F0
 (\(the portion follo)2.5 E(wing the \214nal slash\))-.25 E F1(\\t)144
-216 Q F0(the current time in 24-hour HH:MM:SS format)29.89 E F1(\\T)144
-228 Q F0(the current time in 12-hour HH:MM:SS format)26.55 E F1(\\@)144
-240 Q F0(the current time in 12-hour am/pm format)23.92 E F1(\\A)144 252
-Q F0(the current time in 24-hour HH:MM format)26 E F1(\\u)144 264 Q F0
-(the username of the current user)27.66 E F1(\\v)144 276 Q F0(the v)
+240 Q F0(the current time in 24-hour HH:MM:SS format)29.89 E F1(\\T)144
+252 Q F0(the current time in 12-hour HH:MM:SS format)26.55 E F1(\\@)144
+264 Q F0(the current time in 12-hour am/pm format)23.92 E F1(\\A)144 276
+Q F0(the current time in 24-hour HH:MM format)26 E F1(\\u)144 288 Q F0
+(the username of the current user)27.66 E F1(\\v)144 300 Q F0(the v)
 28.22 E(ersion of)-.15 E F1(bash)2.5 E F0(\(e.g., 2.00\))2.5 E F1(\\V)
-144 288 Q F0(the release of)26 E F1(bash)2.5 E F0 2.5(,v)C
+144 312 Q F0(the release of)26 E F1(bash)2.5 E F0 2.5(,v)C
 (ersion + patch le)-2.65 E -.15(ve)-.25 G 2.5(l\().15 G(e.g., 2.00.0\))
--2.5 E F1(\\w)144 300 Q F0 .116(the current w)26 F .116
+-2.5 E F1(\\w)144 324 Q F0 .116(the current w)26 F .116
 (orking directory)-.1 F 2.616(,w)-.65 G(ith)-2.616 E/F3 9/Times-Bold@0
 SF($HOME)2.616 E F0(abbre)2.366 E .115(viated with a tilde \(uses the v)
--.25 F .115(alue of the)-.25 F F3(PR)180 312 Q(OMPT_DIR)-.27 E(TRIM)-.36
-E F0 -.25(va)2.25 G(riable\)).25 E F1(\\W)144 324 Q F0
+-.25 F .115(alue of the)-.25 F F3(PR)180 336 Q(OMPT_DIR)-.27 E(TRIM)-.36
+E F0 -.25(va)2.25 G(riable\)).25 E F1(\\W)144 348 Q F0
 (the basename of the current w)23.22 E(orking directory)-.1 E 2.5(,w)
 -.65 G(ith)-2.5 E F3($HOME)2.5 E F0(abbre)2.25 E(viated with a tilde)
--.25 E F1(\\!)144 336 Q F0(the history number of this command)29.89 E F1
-(\\#)144 348 Q F0(the command number of this command)28.22 E F1(\\$)144
-360 Q F0(if the ef)28.22 E(fecti)-.25 E .3 -.15(ve U)-.25 H(ID is 0, a)
-.15 E F1(#)2.5 E F0 2.5(,o)C(therwise a)-2.5 E F1($)2.5 E(\\)144 372 Q
+-.25 E F1(\\!)144 360 Q F0(the history number of this command)29.89 E F1
+(\\#)144 372 Q F0(the command number of this command)28.22 E F1(\\$)144
+384 Q F0(if the ef)28.22 E(fecti)-.25 E .3 -.15(ve U)-.25 H(ID is 0, a)
+.15 E F1(#)2.5 E F0 2.5(,o)C(therwise a)-2.5 E F1($)2.5 E(\\)144 396 Q
 F2(nnn)A F0(the character corresponding to the octal number)18.22 E F2
-(nnn)2.5 E F1(\\\\)144 384 Q F0 2.5(ab)30.44 G(ackslash)-2.5 E F1(\\[)
-144 396 Q F0(be)29.89 E 1.257(gin a sequence of non-printing characters\
+(nnn)2.5 E F1(\\\\)144 408 Q F0 2.5(ab)30.44 G(ackslash)-2.5 E F1(\\[)
+144 420 Q F0(be)29.89 E 1.257(gin a sequence of non-printing characters\
 , which could be used to embed a terminal)-.15 F
-(control sequence into the prompt)180 408 Q F1(\\])144 420 Q F0
+(control sequence into the prompt)180 432 Q F1(\\])144 444 Q F0
 (end a sequence of non-printing characters)29.89 E .12
-(The command number and the history number are usually dif)108 436.8 R
+(The command number and the history number are usually dif)108 460.8 R
 .119(ferent: the history number of a command is its)-.25 F 1.585(positi\
 on in the history list, which may include commands restored from the hi\
-story \214le \(see)108 448.8 R F3(HIST)4.085 E(OR)-.162 E(Y)-.315 E F0
-(belo)108 460.8 Q .541(w\), while the command number is the position in\
+story \214le \(see)108 472.8 R F3(HIST)4.085 E(OR)-.162 E(Y)-.315 E F0
+(belo)108 484.8 Q .541(w\), while the command number is the position in\
  the sequence of commands e)-.25 F -.15(xe)-.15 G .54
-(cuted during the cur).15 F(-)-.2 E .546(rent shell session.)108 472.8 R
+(cuted during the cur).15 F(-)-.2 E .546(rent shell session.)108 496.8 R
 .546(After the string is decoded, it is e)5.546 F .546
 (xpanded via parameter e)-.15 F .546(xpansion, command substitu-)-.15 F
-.352(tion, arithmetic e)108 484.8 R .352(xpansion, and quote remo)-.15 F
+.352(tion, arithmetic e)108 508.8 R .352(xpansion, and quote remo)-.15 F
 -.25(va)-.15 G .352(l, subject to the v).25 F .352(alue of the)-.25 F F1
 (pr)2.852 E(omptv)-.18 E(ars)-.1 E F0 .351(shell option \(see the)2.852
-F(description of the)108 496.8 Q F1(shopt)2.5 E F0(command under)2.5 E
+F(description of the)108 520.8 Q F1(shopt)2.5 E F0(command under)2.5 E
 F3(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)
--.25 E/F4 10.95/Times-Bold@0 SF(READLINE)72 513.6 Q F0 .15
+-.25 E/F4 10.95/Times-Bold@0 SF(READLINE)72 537.6 Q F0 .15
 (This is the library that handles reading input when using an interacti)
-108 525.6 R .451 -.15(ve s)-.25 H .151(hell, unless the).15 F F1
-(\255\255noediting)2.651 E F0(option)2.651 E 1.209(is gi)108 537.6 R
+108 549.6 R .451 -.15(ve s)-.25 H .151(hell, unless the).15 F F1
+(\255\255noediting)2.651 E F0(option)2.651 E 1.209(is gi)108 561.6 R
 -.15(ve)-.25 G 3.709(na).15 G 3.709(ts)-3.709 G 1.209(hell in)-3.709 F
 -.2(vo)-.4 G 3.709(cation. Line).2 F 1.208
 (editing is also used when using the)3.709 F F1<ad65>3.708 E F0 1.208
 (option to the)3.708 F F1 -.18(re)3.708 G(ad).18 E F0 -.2(bu)3.708 G
-3.708(iltin. By).2 F(def)108 549.6 Q .851
+3.708(iltin. By).2 F(def)108 573.6 Q .851
 (ault, the line editing commands are similar to those of Emacs.)-.1 F
 3.351(Av)5.851 G .851(i-style line editing interf)-3.351 F .852
-(ace is also)-.1 F -.2(av)108 561.6 S 3.35(ailable. Line)-.05 F .85
+(ace is also)-.1 F -.2(av)108 585.6 S 3.35(ailable. Line)-.05 F .85
 (editing can be enabled at an)3.35 F 3.35(yt)-.15 G .85(ime using the)
 -3.35 F F1 .85(\255o emacs)3.35 F F0(or)3.35 E F1 .85(\255o vi)3.35 F F0
 .85(options to the)3.35 F F1(set)3.35 E F0 -.2(bu)3.35 G(iltin).2 E
-(\(see)108 573.6 Q F3 .762(SHELL B)3.262 F(UIL)-.09 E .762(TIN COMMANDS)
+(\(see)108 597.6 Q F3 .762(SHELL B)3.262 F(UIL)-.09 E .762(TIN COMMANDS)
 -.828 F F0(belo)3.012 E 3.262(w\). T)-.25 F 3.263(ot)-.8 G .763(urn of)
 -3.263 F 3.263(fl)-.25 G .763
 (ine editing after the shell is running, use the)-3.263 F F1(+o)3.263 E
-(emacs)108 585.6 Q F0(or)2.5 E F1(+o vi)2.5 E F0(options to the)2.5 E F1
-(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(Readline Notation)87 602.4 Q
+(emacs)108 609.6 Q F0(or)2.5 E F1(+o vi)2.5 E F0(options to the)2.5 E F1
+(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(Readline Notation)87 626.4 Q
 F0 .463(In this section, the Emacs-style notation is used to denote k)
-108 614.4 R -.15(ey)-.1 G(strok).15 E 2.963(es. Control)-.1 F -.1(ke)
+108 638.4 R -.15(ey)-.1 G(strok).15 E 2.963(es. Control)-.1 F -.1(ke)
 2.963 G .463(ys are denoted by C\255)-.05 F F2 -.1(ke)C(y)-.2 E F0(,)A
-1.152(e.g., C\255n means Control\255N.)108 626.4 R(Similarly)6.152 E(,)
+1.152(e.g., C\255n means Control\255N.)108 650.4 R(Similarly)6.152 E(,)
 -.65 E F2(meta)4.032 E F0 -.1(ke)3.913 G 1.153(ys are denoted by M\255)
 -.05 F F2 -.1(ke)C(y)-.2 E F0 3.653(,s)C 3.653(oM)-3.653 G 1.153
-(\255x means Meta\255X.)-3.653 F(\(On)6.153 E -.1(ke)108 638.4 S .831
+(\255x means Meta\255X.)-3.653 F(\(On)6.153 E -.1(ke)108 662.4 S .831
 (yboards without a)-.05 F F2(meta)3.711 E F0 -.1(ke)3.591 G 2.131 -.65
 (y, M)-.05 H<ad>.65 E F2(x)A F0 .831(means ESC)3.331 F F2(x)3.331 E F0
 3.331(,i)C .83(.e., press the Escape k)-3.331 F 1.13 -.15(ey t)-.1 H .83
 (hen the).15 F F2(x)4.1 E F0 -.1(ke)3.86 G 4.63 -.65(y. T)-.05 H .83
-(his mak).65 F(es)-.1 E .599(ESC the)108 650.4 R F2 .599(meta pr)3.099 F
+(his mak).65 F(es)-.1 E .599(ESC the)108 674.4 R F2 .599(meta pr)3.099 F
 (e\214x)-.37 E F0 5.599(.T)C .599(he combination M\255C\255)-5.599 F F2
 (x)A F0 .599(means ESC\255Control\255)3.099 F F2(x)A F0 3.099(,o)C 3.099
 (rp)-3.099 G .6(ress the Escape k)-3.099 F .9 -.15(ey t)-.1 H .6
-(hen hold).15 F(the Control k)108 662.4 Q .3 -.15(ey w)-.1 H
+(hen hold).15 F(the Control k)108 686.4 Q .3 -.15(ey w)-.1 H
 (hile pressing the).15 E F2(x)3.27 E F0 -.1(ke)3.03 G -.65(y.)-.05 G(\))
-.65 E .62(Readline commands may be gi)108 679.2 R -.15(ve)-.25 G 3.119
+.65 E .62(Readline commands may be gi)108 703.2 R -.15(ve)-.25 G 3.119
 (nn).15 G(umeric)-3.119 E F2(ar)3.119 E(guments)-.37 E F0 3.119(,w).27 G
 .619(hich normally act as a repeat count.)-3.119 F(Sometimes,)5.619 E
-(ho)108 691.2 Q(we)-.25 E -.15(ve)-.25 G 1.418 -.4(r, i).15 H 3.118(ti)
+(ho)108 715.2 Q(we)-.25 E -.15(ve)-.25 G 1.418 -.4(r, i).15 H 3.118(ti)
 .4 G 3.119(st)-3.118 G .619(he sign of the ar)-3.119 F .619
 (gument that is signi\214cant.)-.18 F -.15(Pa)5.619 G .619(ssing a ne)
 .15 F -.05(ga)-.15 G(ti).05 E .919 -.15(ve a)-.25 H -.18(rg).15 G .619
-(ument to a command that).18 F 1.019(acts in the forw)108 703.2 R 1.018
-(ard direction \(e.g.,)-.1 F F1(kill\255line)3.518 E F0 3.518(\)c)C
-1.018(auses that command to act in a backw)-3.518 F 1.018
-(ard direction.)-.1 F(Com-)6.018 E(mands whose beha)108 715.2 Q
-(vior with ar)-.2 E(guments de)-.18 E(viates from this are noted belo)
--.25 E -.65(w.)-.25 G(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(34)
-200.665 E 0 Cg EP
+(ument to a command that).18 F 2.938(acts in the forw)108 727.2 R 2.938
+(ard direction \(e.g.,)-.1 F F1(kill\255line)5.438 E F0 5.438(\)c)C
+2.938(auses that command to act in a backw)-5.438 F 2.938
+(ard direction.)-.1 F(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E
+(34)185.115 E 0 Cg EP
 %%Page: 35 35
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .811(When a command is described as)108 84 R/F1 10/Times-Italic@0
-SF(killing)3.311 E F0(te)3.311 E .811(xt, the te)-.15 F .811
+-.35 E(Commands whose beha)108 84 Q(vior with ar)-.2 E(guments de)-.18 E
+(viates from this are noted belo)-.25 E -.65(w.)-.25 G .811
+(When a command is described as)108 100.8 R/F1 10/Times-Italic@0 SF
+(killing)3.311 E F0(te)3.311 E .811(xt, the te)-.15 F .811
 (xt deleted is sa)-.15 F -.15(ve)-.2 G 3.311(df).15 G .812
 (or possible future retrie)-3.311 F -.25(va)-.25 G 3.312(l\().25 G F1
-(yank-)-3.312 E(ing)108 96 Q F0 2.529(\). The)B .029(killed te)2.529 F
-.029(xt is sa)-.15 F -.15(ve)-.2 G 2.529(di).15 G 2.529(na)-2.529 G F1
+(yank-)-3.312 E(ing)108 112.8 Q F0 2.529(\). The)B .029(killed te)2.529
+.029(xt is sa)-.15 F -.15(ve)-.2 G 2.529(di).15 G 2.529(na)-2.529 G F1
 .029(kill ring)B F0 5.029(.C)C(onsecuti)-5.029 E .329 -.15(ve k)-.25 H
 .029(ills cause the te).15 F .029(xt to be accumulated into one unit,)
--.15 F .567(which can be yank)108 108 R .567(ed all at once.)-.1 F .567
-(Commands which do not kill te)5.567 F .567
+-.15 F .567(which can be yank)108 124.8 R .567(ed all at once.)-.1 F
+.567(Commands which do not kill te)5.567 F .567
 (xt separate the chunks of te)-.15 F .567(xt on the kill)-.15 F(ring.)
-108 120 Q/F2 10/Times-Bold@0 SF(Readline Initialization)87 136.8 Q F0
+108 136.8 Q/F2 10/Times-Bold@0 SF(Readline Initialization)87 153.6 Q F0
 .091(Readline is customized by putting commands in an initialization \
-\214le \(the)108 148.8 R F1(inputr)2.591 E(c)-.37 E F0 2.591
+\214le \(the)108 165.6 R F1(inputr)2.591 E(c)-.37 E F0 2.591
 (\214le\). The)2.591 F .091(name of this \214le)2.591 F .196(is tak)108
-160.8 R .196(en from the v)-.1 F .196(alue of the)-.25 F/F3 9
+177.6 R .196(en from the v)-.1 F .196(alue of the)-.25 F/F3 9
 /Times-Bold@0 SF(INPUTRC)2.696 E F0 -.25(va)2.446 G 2.696(riable. If).25
 F .196(that v)2.696 F .196(ariable is unset, the def)-.25 F .196
 (ault is)-.1 F F1(~/.inputr)2.696 E(c)-.37 E F0 5.196(.W).31 G .197
 (hen a)-5.196 F 1.034(program which uses the readline library starts up\
-, the initialization \214le is read, and the k)108 172.8 R 1.334 -.15
-(ey b)-.1 H 1.034(indings and).15 F -.25(va)108 184.8 S 1.149
+, the initialization \214le is read, and the k)108 189.6 R 1.334 -.15
+(ey b)-.1 H 1.034(indings and).15 F -.25(va)108 201.6 S 1.149
 (riables are set.).25 F 1.149(There are only a fe)6.149 F 3.649(wb)-.25
 G 1.149(asic constructs allo)-3.649 F 1.15
 (wed in the readline initialization \214le.)-.25 F(Blank)6.15 E .737
-(lines are ignored.)108 196.8 R .737(Lines be)5.737 F .737
+(lines are ignored.)108 213.6 R .737(Lines be)5.737 F .737
 (ginning with a)-.15 F F2(#)3.237 E F0 .737(are comments.)3.237 F .737
 (Lines be)5.737 F .737(ginning with a)-.15 F F2($)3.237 E F0 .736
-(indicate conditional)3.236 F 2.5(constructs. Other)108 208.8 R
+(indicate conditional)3.236 F 2.5(constructs. Other)108 225.6 R
 (lines denote k)2.5 E .3 -.15(ey b)-.1 H(indings and v).15 E
-(ariable settings.)-.25 E .986(The def)108 225.6 R .986(ault k)-.1 F
+(ariable settings.)-.25 E .986(The def)108 242.4 R .986(ault k)-.1 F
 -.15(ey)-.1 G .987(-bindings may be changed with an).15 F F1(inputr)
 3.497 E(c)-.37 E F0 3.487(\214le. Other)3.797 F .987
-(programs that use this library may)3.487 F(add their o)108 237.6 Q
-(wn commands and bindings.)-.25 E -.15(Fo)108 254.4 S 2.5(re).15 G
-(xample, placing)-2.65 E(M\255Control\255u: uni)144 271.2 Q -.15(ve)-.25
-G(rsal\255ar).15 E(gument)-.18 E(or)108 283.2 Q(C\255Meta\255u: uni)144
-295.2 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E(into the)108 307.2
-Q F1(inputr)2.51 E(c)-.37 E F0 -.1(wo)2.81 G(uld mak).1 E 2.5(eM)-.1 G
+(programs that use this library may)3.487 F(add their o)108 254.4 Q
+(wn commands and bindings.)-.25 E -.15(Fo)108 271.2 S 2.5(re).15 G
+(xample, placing)-2.65 E(M\255Control\255u: uni)144 288 Q -.15(ve)-.25 G
+(rsal\255ar).15 E(gument)-.18 E(or)108 300 Q(C\255Meta\255u: uni)144 312
+Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E(into the)108 324 Q F1
+(inputr)2.51 E(c)-.37 E F0 -.1(wo)2.81 G(uld mak).1 E 2.5(eM)-.1 G
 (\255C\255u e)-2.5 E -.15(xe)-.15 G(cute the readline command).15 E F1
 (univer)2.5 E(sal\255ar)-.1 E(gument)-.37 E F0(.).68 E 1.261(The follo)
-108 324 R 1.261(wing symbolic character names are recognized:)-.25 F F1
--.4(RU)3.761 G(BOUT).4 E F0(,)1.27 E F1(DEL)3.761 E F0(,).53 E F1(ESC)
-3.761 E F0(,).72 E F1(LFD)3.761 E F0(,).28 E F1(NEWLINE)3.76 E F0(,).73
-E F1(RET)3.76 E F0(,)1.27 E F1(RETURN)108 336 Q F0(,)1.1 E F1(SPC)2.5 E
-F0(,).72 E F1(SP)2.5 E -.3(AC)-.9 G(E).3 E F0 2.5(,a).73 G(nd)-2.5 E F1
--.5(TA)2.5 G(B).5 E F0(.).27 E .209
-(In addition to command names, readline allo)108 352.8 R .209(ws k)-.25
+108 340.8 R 1.261(wing symbolic character names are recognized:)-.25 F
+F1 -.4(RU)3.761 G(BOUT).4 E F0(,)1.27 E F1(DEL)3.761 E F0(,).53 E F1
+(ESC)3.761 E F0(,).72 E F1(LFD)3.761 E F0(,).28 E F1(NEWLINE)3.76 E F0
+(,).73 E F1(RET)3.76 E F0(,)1.27 E F1(RETURN)108 352.8 Q F0(,)1.1 E F1
+(SPC)2.5 E F0(,).72 E F1(SP)2.5 E -.3(AC)-.9 G(E).3 E F0 2.5(,a).73 G
+(nd)-2.5 E F1 -.5(TA)2.5 G(B).5 E F0(.).27 E .209
+(In addition to command names, readline allo)108 369.6 R .209(ws k)-.25
 F -.15(ey)-.1 G 2.709(st).15 G 2.709(ob)-2.709 G 2.709(eb)-2.709 G .209
 (ound to a string that is inserted when the k)-2.709 F .509 -.15(ey i)
--.1 H(s).15 E(pressed \(a)108 364.8 Q F1(macr)2.5 E(o)-.45 E F0(\).)A F2
-(Readline K)87 381.6 Q(ey Bindings)-.25 E F0 .366
-(The syntax for controlling k)108 393.6 R .666 -.15(ey b)-.1 H .366
+-.1 H(s).15 E(pressed \(a)108 381.6 Q F1(macr)2.5 E(o)-.45 E F0(\).)A F2
+(Readline K)87 398.4 Q(ey Bindings)-.25 E F0 .366
+(The syntax for controlling k)108 410.4 R .666 -.15(ey b)-.1 H .366
 (indings in the).15 F F1(inputr)2.876 E(c)-.37 E F0 .366
 (\214le is simple.)3.176 F .366(All that is required is the name of the)
-5.366 F .382(command or the te)108 405.6 R .383(xt of a macro and a k)
+5.366 F .382(command or the te)108 422.4 R .383(xt of a macro and a k)
 -.15 F .683 -.15(ey s)-.1 H .383
 (equence to which it should be bound. The name may be speci-).15 F .853
-(\214ed in one of tw)108 417.6 R 3.353(ow)-.1 G .853
+(\214ed in one of tw)108 434.4 R 3.353(ow)-.1 G .853
 (ays: as a symbolic k)-3.453 F 1.153 -.15(ey n)-.1 H .853
 (ame, possibly with).15 F F1(Meta\255)3.353 E F0(or)3.353 E F1(Contr)
 3.353 E(ol\255)-.45 E F0(pre\214x)3.353 E .853(es, or as a k)-.15 F -.15
-(ey)-.1 G(sequence.)108 429.6 Q 1.541(When using the form)108 446.4 R F2
+(ey)-.1 G(sequence.)108 446.4 Q 1.541(When using the form)108 463.2 R F2
 -.1(ke)4.041 G(yname).1 E F0(:)A F1(function\255name).833 E F0(or)4.041
 E F1(macr)4.042 E(o)-.45 E F0(,)A F1 -.1(ke)4.042 G(yname)-.2 E F0 1.542
 (is the name of a k)4.222 F 1.842 -.15(ey s)-.1 H 1.542(pelled out in)
-.15 F 2.5(English. F)108 458.4 R(or e)-.15 E(xample:)-.15 E
-(Control-u: uni)144 482.4 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18
-E(Meta-Rubout: backw)144 494.4 Q(ard-kill-w)-.1 E(ord)-.1 E
-(Control-o: "> output")144 506.4 Q .699(In the abo)108 523.2 R .998 -.15
+.15 F 2.5(English. F)108 475.2 R(or e)-.15 E(xample:)-.15 E
+(Control-u: uni)144 499.2 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18
+E(Meta-Rubout: backw)144 511.2 Q(ard-kill-w)-.1 E(ord)-.1 E
+(Control-o: "> output")144 523.2 Q .699(In the abo)108 540 R .998 -.15
 (ve ex)-.15 H(ample,).15 E F1(C\255u)3.038 E F0 .698
 (is bound to the function)3.448 F F2(uni)3.198 E -.1(ve)-.1 G
 (rsal\255ar).1 E(gument)-.1 E F0(,)A F1(M\255DEL)3.878 E F0 .698
-(is bound to the func-)3.728 F(tion)108 535.2 Q F2
-(backward\255kill\255w)2.758 E(ord)-.1 E F0 2.758(,a)C(nd)-2.758 E F1
-(C\255o)2.598 E F0 .258(is bound to run the macro e)2.938 F .259
+(is bound to the func-)3.728 F(tion)108 552 Q F2(backward\255kill\255w)
+2.758 E(ord)-.1 E F0 2.758(,a)C(nd)-2.758 E F1(C\255o)2.598 E F0 .258
+(is bound to run the macro e)2.938 F .259
 (xpressed on the right hand side \(that is, to)-.15 F(insert the te)108
-547.2 Q(xt)-.15 E/F4 10/Courier@0 SF 6(>o)2.5 G(utput)-6 E F0
-(into the line\).)2.5 E .056(In the second form,)108 564 R F2("k)2.556 E
-(eyseq")-.1 E F0(:)A F1(function\255name).833 E F0(or)2.556 E F1(macr)
+564 Q(xt)-.15 E/F4 10/Courier@0 SF 6(>o)2.5 G(utput)-6 E F0
+(into the line\).)2.5 E .056(In the second form,)108 580.8 R F2("k)2.556
+E(eyseq")-.1 E F0(:)A F1(function\255name).833 E F0(or)2.556 E F1(macr)
 2.556 E(o)-.45 E F0(,)A F2 -.1(ke)2.556 G(yseq).1 E F0(dif)2.555 E .055
 (fers from)-.25 F F2 -.1(ke)2.555 G(yname).1 E F0(abo)2.555 E .355 -.15
 (ve i)-.15 H 2.555(nt).15 G .055(hat strings)-2.555 F 1.284
-(denoting an entire k)108 576 R 1.584 -.15(ey s)-.1 H 1.284(equence may\
- be speci\214ed by placing the sequence within double quotes.).15 F
-(Some)6.284 E .386(GNU Emacs style k)108 588 R .686 -.15(ey e)-.1 H .385
-(scapes can be used, as in the follo).15 F .385(wing e)-.25 F .385
+(denoting an entire k)108 592.8 R 1.584 -.15(ey s)-.1 H 1.284(equence m\
+ay be speci\214ed by placing the sequence within double quotes.).15 F
+(Some)6.284 E .386(GNU Emacs style k)108 604.8 R .686 -.15(ey e)-.1 H
+.385(scapes can be used, as in the follo).15 F .385(wing e)-.25 F .385
 (xample, b)-.15 F .385(ut the symbolic character names)-.2 F
-(are not recognized.)108 600 Q("\\C\255u": uni)144 624 Q -.15(ve)-.25 G
-(rsal\255ar).15 E(gument)-.18 E
-("\\C\255x\\C\255r": re\255read\255init\255\214le)144 636 Q
-("\\e[11~": "Function K)144 648 Q .3 -.15(ey 1)-.25 H(").15 E .314
-(In this e)108 664.8 R(xample,)-.15 E F1(C\255u)2.654 E F0 .314(is ag)
+(are not recognized.)108 616.8 Q("\\C\255u": uni)144 640.8 Q -.15(ve)
+-.25 G(rsal\255ar).15 E(gument)-.18 E
+("\\C\255x\\C\255r": re\255read\255init\255\214le)144 652.8 Q
+("\\e[11~": "Function K)144 664.8 Q .3 -.15(ey 1)-.25 H(").15 E .314
+(In this e)108 681.6 R(xample,)-.15 E F1(C\255u)2.654 E F0 .314(is ag)
 3.064 F .315(ain bound to the function)-.05 F F2(uni)2.815 E -.1(ve)-.1
 G(rsal\255ar).1 E(gument)-.1 E F0(.)A F1 .315(C\255x C\255r)5.155 F F0
-.315(is bound to the func-)3.545 F(tion)108 676.8 Q F2 -.18(re)2.5 G
+.315(is bound to the func-)3.545 F(tion)108 693.6 Q F2 -.18(re)2.5 G
 <ad72>.18 E(ead\255init\255\214le)-.18 E F0 2.5(,a)C(nd)-2.5 E F1
 (ESC [ 1 1 ~)3.01 E F0(is bound to insert the te)3.94 E(xt)-.15 E F4
 (Function Key 1)2.5 E F0(.)A
-(The full set of GNU Emacs style escape sequences is)108 693.6 Q F2
-<5c43ad>144 705.6 Q F0(control pre\214x)20.3 E F2<5c4dad>144 717.6 Q F0
-(meta pre\214x)18.08 E(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(35)
-200.665 E 0 Cg EP
+(The full set of GNU Emacs style escape sequences is)108 710.4 Q
+(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(35)185.115 E 0 Cg EP
 %%Page: 36 36
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(\\e)144 84 Q F0(an escape character)28.78 E
-F1(\\\\)144 96 Q F0(backslash)30.44 E F1(\\")144 108 Q F0(literal ")
-27.67 E F1<5c08>144 120 Q F0(literal \010)30.44 E(In addition to the GN\
-U Emacs style escape sequences, a second set of backslash escapes is a)
-108 136.8 Q -.25(va)-.2 G(ilable:).25 E F1(\\a)144 148.8 Q F0
-(alert \(bell\))28.22 E F1(\\b)144 160.8 Q F0(backspace)27.66 E F1(\\d)
-144 172.8 Q F0(delete)27.66 E F1(\\f)144 184.8 Q F0(form feed)29.89 E F1
-(\\n)144 196.8 Q F0(ne)27.66 E(wline)-.25 E F1(\\r)144 208.8 Q F0
-(carriage return)28.78 E F1(\\t)144 220.8 Q F0(horizontal tab)29.89 E F1
-(\\v)144 232.8 Q F0 -.15(ve)28.22 G(rtical tab).15 E F1(\\)144 244.8 Q
-/F2 10/Times-Italic@0 SF(nnn)A F0(the eight-bit character whose v)18.22
-E(alue is the octal v)-.25 E(alue)-.25 E F2(nnn)2.5 E F0
-(\(one to three digits\))2.5 E F1(\\x)144 256.8 Q F2(HH)A F0
-(the eight-bit character whose v)13.78 E(alue is the he)-.25 E
-(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0(\(one or tw)2.5 E 2.5(oh)
--.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E 1.142(When entering the te)108
-273.6 R 1.141(xt of a macro, single or double quotes must be used to in\
-dicate a macro de\214nition.)-.15 F .089(Unquoted te)108 285.6 R .089
-(xt is assumed to be a function name.)-.15 F .09(In the macro body)5.089
-F 2.59(,t)-.65 G .09(he backslash escapes described abo)-2.59 F -.15(ve)
--.15 G(are e)108 297.6 Q 2.5(xpanded. Backslash)-.15 F(will quote an)2.5
-E 2.5(yo)-.15 G(ther character in the macro te)-2.5 E
-(xt, including " and \010.)-.15 E F1(Bash)108 314.4 Q F0(allo)2.93 E .43
-(ws the current readline k)-.25 F .73 -.15(ey b)-.1 H .429
-(indings to be displayed or modi\214ed with the).15 F F1(bind)2.929 E F0
--.2(bu)2.929 G .429(iltin command.).2 F .045
-(The editing mode may be switched during interacti)108 326.4 R .345 -.15
+-.35 E/F1 10/Times-Bold@0 SF<5c43ad>144 84 Q F0(control pre\214x)20.3 E
+F1<5c4dad>144 96 Q F0(meta pre\214x)18.08 E F1(\\e)144 108 Q F0
+(an escape character)28.78 E F1(\\\\)144 120 Q F0(backslash)30.44 E F1
+(\\")144 132 Q F0(literal ")27.67 E F1<5c08>144 144 Q F0(literal \010)
+30.44 E(In addition to the GNU Emacs style escape sequences, a second s\
+et of backslash escapes is a)108 160.8 Q -.25(va)-.2 G(ilable:).25 E F1
+(\\a)144 172.8 Q F0(alert \(bell\))28.22 E F1(\\b)144 184.8 Q F0
+(backspace)27.66 E F1(\\d)144 196.8 Q F0(delete)27.66 E F1(\\f)144 208.8
+Q F0(form feed)29.89 E F1(\\n)144 220.8 Q F0(ne)27.66 E(wline)-.25 E F1
+(\\r)144 232.8 Q F0(carriage return)28.78 E F1(\\t)144 244.8 Q F0
+(horizontal tab)29.89 E F1(\\v)144 256.8 Q F0 -.15(ve)28.22 G
+(rtical tab).15 E F1(\\)144 268.8 Q/F2 10/Times-Italic@0 SF(nnn)A F0
+(the eight-bit character whose v)18.22 E(alue is the octal v)-.25 E
+(alue)-.25 E F2(nnn)2.5 E F0(\(one to three digits\))2.5 E F1(\\x)144
+280.8 Q F2(HH)A F0(the eight-bit character whose v)13.78 E
+(alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0
+(\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E 1.142
+(When entering the te)108 297.6 R 1.141(xt of a macro, single or double\
+ quotes must be used to indicate a macro de\214nition.)-.15 F .089
+(Unquoted te)108 309.6 R .089(xt is assumed to be a function name.)-.15
+F .09(In the macro body)5.089 F 2.59(,t)-.65 G .09
+(he backslash escapes described abo)-2.59 F -.15(ve)-.15 G(are e)108
+321.6 Q 2.5(xpanded. Backslash)-.15 F(will quote an)2.5 E 2.5(yo)-.15 G
+(ther character in the macro te)-2.5 E(xt, including " and \010.)-.15 E
+F1(Bash)108 338.4 Q F0(allo)2.93 E .43(ws the current readline k)-.25 F
+.73 -.15(ey b)-.1 H .429(indings to be displayed or modi\214ed with the)
+.15 F F1(bind)2.929 E F0 -.2(bu)2.929 G .429(iltin command.).2 F .045
+(The editing mode may be switched during interacti)108 350.4 R .345 -.15
 (ve u)-.25 H .046(se by using the).15 F F1<ad6f>2.546 E F0 .046
 (option to the)2.546 F F1(set)2.546 E F0 -.2(bu)2.546 G .046
-(iltin command).2 F(\(see)108 338.4 Q/F3 9/Times-Bold@0 SF(SHELL B)2.5 E
+(iltin command).2 F(\(see)108 362.4 Q/F3 9/Times-Bold@0 SF(SHELL B)2.5 E
 (UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1
-(Readline V)87 355.2 Q(ariables)-.92 E F0 .044(Readline has v)108 367.2
+(Readline V)87 379.2 Q(ariables)-.92 E F0 .044(Readline has v)108 391.2
 R .043(ariables that can be used to further customize its beha)-.25 F
 (vior)-.2 E 5.043(.A)-.55 G -.25(va)-2.5 G .043
-(riable may be set in the).25 F F2(inpu-)2.553 E(tr)108 379.2 Q(c)-.37 E
-F0(\214le with a statement of the form)2.81 E F1(set)144 396 Q F2
+(riable may be set in the).25 F F2(inpu-)2.553 E(tr)108 403.2 Q(c)-.37 E
+F0(\214le with a statement of the form)2.81 E F1(set)144 420 Q F2
 (variable\255name value)2.5 E F0 .79(Except where noted, readline v)108
-412.8 R .79(ariables can tak)-.25 F 3.29(et)-.1 G .79(he v)-3.29 F
+436.8 R .79(ariables can tak)-.25 F 3.29(et)-.1 G .79(he v)-3.29 F
 (alues)-.25 E F1(On)3.29 E F0(or)3.29 E F1(Off)3.29 E F0 .79
 (\(without re)3.29 F -.05(ga)-.15 G .79(rd to case\).).05 F(Unrecog-)
-5.79 E .449(nized v)108 424.8 R .448(ariable names are ignored.)-.25 F
+5.79 E .449(nized v)108 448.8 R .448(ariable names are ignored.)-.25 F
 .448(When a v)5.448 F .448(ariable v)-.25 F .448
 (alue is read, empty or null v)-.25 F .448(alues, "on" \(case-insensi-)
--.25 F(ti)108 436.8 Q -.15(ve)-.25 G .467(\), and "1" are equi).15 F
+-.25 F(ti)108 460.8 Q -.15(ve)-.25 G .467(\), and "1" are equi).15 F
 -.25(va)-.25 G .468(lent to).25 F F1(On)2.968 E F0 5.468(.A)C .468
 (ll other v)-5.468 F .468(alues are equi)-.25 F -.25(va)-.25 G .468
 (lent to).25 F F1(Off)2.968 E F0 5.468(.T)C .468(he v)-5.468 F .468
-(ariables and their def)-.25 F(ault)-.1 E -.25(va)108 448.8 S(lues are:)
-.25 E F1(bell\255style \(audible\))108 465.6 Q F0 .011
-(Controls what happens when readline w)144 477.6 R .011
+(ariables and their def)-.25 F(ault)-.1 E -.25(va)108 472.8 S(lues are:)
+.25 E F1(bell\255style \(audible\))108 489.6 Q F0 .011
+(Controls what happens when readline w)144 501.6 R .011
 (ants to ring the terminal bell.)-.1 F .01(If set to)5.01 F F1(none)2.51
 E F0 2.51(,r)C .01(eadline ne)-2.51 F -.15(ve)-.25 G(r).15 E .94
-(rings the bell.)144 489.6 R .94(If set to)5.94 F F1(visible)3.44 E F0
+(rings the bell.)144 513.6 R .94(If set to)5.94 F F1(visible)3.44 E F0
 3.44(,r)C .94(eadline uses a visible bell if one is a)-3.44 F -.25(va)
 -.2 G 3.44(ilable. If).25 F .94(set to)3.44 F F1(audible)3.44 E F0(,)A
-(readline attempts to ring the terminal')144 501.6 Q 2.5(sb)-.55 G(ell.)
--2.5 E F1(bind\255tty\255special\255chars \(On\))108 513.6 Q F0 .056
-(If set to)144 525.6 R F1(On)2.556 E F0 2.556(,r)C .056(eadline attempt\
+(readline attempts to ring the terminal')144 525.6 Q 2.5(sb)-.55 G(ell.)
+-2.5 E F1(bind\255tty\255special\255chars \(On\))108 537.6 Q F0 .056
+(If set to)144 549.6 R F1(On)2.556 E F0 2.556(,r)C .056(eadline attempt\
 s to bind the control characters treated specially by the k)-2.556 F
-(ernel')-.1 E 2.555(st)-.55 G(ermi-)-2.555 E(nal dri)144 537.6 Q -.15
+(ernel')-.1 E 2.555(st)-.55 G(ermi-)-2.555 E(nal dri)144 561.6 Q -.15
 (ve)-.25 G 2.5(rt).15 G 2.5(ot)-2.5 G(heir readline equi)-2.5 E -.25(va)
--.25 G(lents.).25 E F1(comment\255begin \(`)108 549.6 Q(`#')-.63 E('\))
--.63 E F0 .884(The string that is inserted when the readline)144 561.6 R
+-.25 G(lents.).25 E F1(comment\255begin \(`)108 573.6 Q(`#')-.63 E('\))
+-.63 E F0 .884(The string that is inserted when the readline)144 585.6 R
 F1(insert\255comment)3.385 E F0 .885(command is e)3.385 F -.15(xe)-.15 G
-3.385(cuted. This).15 F(com-)3.385 E(mand is bound to)144 573.6 Q F1
+3.385(cuted. This).15 F(com-)3.385 E(mand is bound to)144 597.6 Q F1
 (M\255#)2.5 E F0(in emacs mode and to)2.5 E F1(#)2.5 E F0
-(in vi command mode.)2.5 E F1(completion\255ignor)108 585.6 Q
-(e\255case \(Off\))-.18 E F0(If set to)144 597.6 Q F1(On)2.5 E F0 2.5
+(in vi command mode.)2.5 E F1(completion\255ignor)108 609.6 Q
+(e\255case \(Off\))-.18 E F0(If set to)144 621.6 Q F1(On)2.5 E F0 2.5
 (,r)C(eadline performs \214lename matching and completion in a case\255\
 insensiti)-2.5 E .3 -.15(ve f)-.25 H(ashion.).05 E F1(completion\255pr)
-108 609.6 Q(e\214x\255display\255length \(0\))-.18 E F0 .829(The length\
+108 633.6 Q(e\214x\255display\255length \(0\))-.18 E F0 .829(The length\
  in characters of the common pre\214x of a list of possible completions\
- that is displayed)144 621.6 R 1.274(without modi\214cation.)144 633.6 R
+ that is displayed)144 645.6 R 1.274(without modi\214cation.)144 657.6 R
 1.274(When set to a v)6.274 F 1.274
 (alue greater than zero, common pre\214x)-.25 F 1.275
-(es longer than this)-.15 F -.25(va)144 645.6 S(lue are replaced with a\
+(es longer than this)-.15 F -.25(va)144 669.6 S(lue are replaced with a\
 n ellipsis when displaying possible completions.).25 E F1
-(completion\255query\255items \(100\))108 657.6 Q F0 .53
-(This determines when the user is queried about vie)144 669.6 R .529
+(completion\255query\255items \(100\))108 681.6 Q F0 .53
+(This determines when the user is queried about vie)144 693.6 R .529
 (wing the number of possible completions gen-)-.25 F .56(erated by the)
-144 681.6 R F1(possible\255completions)3.06 E F0 3.06(command. It)3.06 F
+144 705.6 R F1(possible\255completions)3.06 E F0 3.06(command. It)3.06 F
 .561(may be set to an)3.061 F 3.061(yi)-.15 G(nte)-3.061 E .561(ger v)
--.15 F .561(alue greater than or)-.25 F .783(equal to zero.)144 693.6 R
+-.15 F .561(alue greater than or)-.25 F .783(equal to zero.)144 717.6 R
 .783(If the number of possible completions is greater than or equal to \
-the v)5.783 F .782(alue of this)-.25 F -.25(va)144 705.6 S .237
+the v)5.783 F .782(alue of this)-.25 F -.25(va)144 729.6 S .237
 (riable, the user is ask).25 F .237(ed whether or not he wishes to vie)
 -.1 F 2.737(wt)-.25 G .237(hem; otherwise the)-2.737 F 2.737(ya)-.15 G
-.237(re simply listed)-2.737 F(on the terminal.)144 717.6 Q
-(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(36)200.665 E 0 Cg EP
+.237(re simply listed)-2.737 F(GNU Bash 4.2)72 768 Q(2011 September 25)
+135.955 E(36)185.115 E 0 Cg EP
 %%Page: 37 37
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(con)108 84 Q -.1(ve)-.4 G
-(rt\255meta \(On\)).1 E F0 .613(If set to)144 96 R F1(On)3.113 E F0
-3.113(,r)C .613(eadline will con)-3.113 F -.15(ve)-.4 G .613
+-.35 E(on the terminal.)144 84 Q/F1 10/Times-Bold@0 SF(con)108 96 Q -.1
+(ve)-.4 G(rt\255meta \(On\)).1 E F0 .613(If set to)144 108 R F1(On)3.113
+E F0 3.113(,r)C .613(eadline will con)-3.113 F -.15(ve)-.4 G .613
 (rt characters with the eighth bit set to an ASCII k).15 F .912 -.15
 (ey s)-.1 H .612(equence by).15 F .541
 (stripping the eighth bit and pre\214xing an escape character \(in ef)
-144 108 R .541(fect, using escape as the)-.25 F/F2 10/Times-Italic@0 SF
-.542(meta pr)3.042 F(e-)-.37 E<8c78>144 120 Q F0(\).)A F1
-(disable\255completion \(Off\))108 132 Q F0 .038(If set to)144 144 R F1
+144 120 R .541(fect, using escape as the)-.25 F/F2 10/Times-Italic@0 SF
+.542(meta pr)3.042 F(e-)-.37 E<8c78>144 132 Q F0(\).)A F1
+(disable\255completion \(Off\))108 144 Q F0 .038(If set to)144 156 R F1
 (On)2.538 E F0 2.538(,r)C .038(eadline will inhibit w)-2.538 F .038
 (ord completion.)-.1 F .038
 (Completion characters will be inserted into the)5.038 F(line as if the)
-144 156 Q 2.5(yh)-.15 G(ad been mapped to)-2.5 E F1(self-insert)2.5 E F0
-(.)A F1(editing\255mode \(emacs\))108 168 Q F0 .141
-(Controls whether readline be)144 180 R .141(gins with a set of k)-.15 F
+144 168 Q 2.5(yh)-.15 G(ad been mapped to)-2.5 E F1(self-insert)2.5 E F0
+(.)A F1(editing\255mode \(emacs\))108 180 Q F0 .141
+(Controls whether readline be)144 192 R .141(gins with a set of k)-.15 F
 .441 -.15(ey b)-.1 H .141(indings similar to).15 F F2(Emacs)2.642 E F0
 (or)2.642 E F2(vi)2.642 E F0(.)A F1(editing\255mode)5.142 E F0
-(can be set to either)144 192 Q F1(emacs)2.5 E F0(or)2.5 E F1(vi)2.5 E
-F0(.)A F1(echo\255contr)108 204 Q(ol\255characters \(On\))-.18 E F0
-1.211(When set to)144 216 R F1(On)3.711 E F0 3.711(,o)C 3.711(no)-3.711
+(can be set to either)144 204 Q F1(emacs)2.5 E F0(or)2.5 E F1(vi)2.5 E
+F0(.)A F1(echo\255contr)108 216 Q(ol\255characters \(On\))-.18 E F0
+1.211(When set to)144 228 R F1(On)3.711 E F0 3.711(,o)C 3.711(no)-3.711
 G 1.211(perating systems that indicate the)-3.711 F 3.711(ys)-.15 G 1.21
 (upport it, readline echoes a character)-3.711 F
-(corresponding to a signal generated from the k)144 228 Q -.15(ey)-.1 G
-(board.).15 E F1(enable\255k)108 240 Q(eypad \(Off\))-.1 E F0 .892
-(When set to)144 252 R F1(On)3.393 E F0 3.393(,r)C .893
+(corresponding to a signal generated from the k)144 240 Q -.15(ey)-.1 G
+(board.).15 E F1(enable\255k)108 252 Q(eypad \(Off\))-.1 E F0 .892
+(When set to)144 264 R F1(On)3.393 E F0 3.393(,r)C .893
 (eadline will try to enable the application k)-3.393 F -.15(ey)-.1 G
 .893(pad when it is called.).15 F .893(Some sys-)5.893 F
-(tems need this to enable the arro)144 264 Q 2.5(wk)-.25 G -.15(ey)-2.6
-G(s.).15 E F1(enable\255meta\255k)108 276 Q(ey \(On\))-.1 E F0 .64
-(When set to)144 288 R F1(On)3.14 E F0 3.14(,r)C .64
+(tems need this to enable the arro)144 276 Q 2.5(wk)-.25 G -.15(ey)-2.6
+G(s.).15 E F1(enable\255meta\255k)108 288 Q(ey \(On\))-.1 E F0 .64
+(When set to)144 300 R F1(On)3.14 E F0 3.14(,r)C .64
 (eadline will try to enable an)-3.14 F 3.14(ym)-.15 G .64
 (eta modi\214er k)-3.14 F .94 -.15(ey t)-.1 H .64
-(he terminal claims to support).15 F(when it is called.)144 300 Q
+(he terminal claims to support).15 F(when it is called.)144 312 Q
 (On man)5 E 2.5(yt)-.15 G(erminals, the meta k)-2.5 E .3 -.15(ey i)-.1 H
 2.5(su).15 G(sed to send eight-bit characters.)-2.5 E F1
-(expand\255tilde \(Off\))108 312 Q F0(If set to)144 324 Q F1(On)2.5 E F0
+(expand\255tilde \(Off\))108 324 Q F0(If set to)144 336 Q F1(On)2.5 E F0
 2.5(,t)C(ilde e)-2.5 E(xpansion is performed when readline attempts w)
--.15 E(ord completion.)-.1 E F1(history\255pr)108 336 Q(eser)-.18 E -.1
-(ve)-.1 G(\255point \(Off\)).1 E F0 1.338(If set to)144 348 R F1(On)
+-.15 E(ord completion.)-.1 E F1(history\255pr)108 348 Q(eser)-.18 E -.1
+(ve)-.1 G(\255point \(Off\)).1 E F0 1.338(If set to)144 360 R F1(On)
 3.838 E F0 3.838(,t)C 1.338(he history code attempts to place point at \
-the same location on each history line)-3.838 F(retrie)144 360 Q -.15
+the same location on each history line)-3.838 F(retrie)144 372 Q -.15
 (ve)-.25 G 2.5(dw).15 G(ith)-2.5 E F1(pr)2.5 E -.15(ev)-.18 G
 (ious-history).15 E F0(or)2.5 E F1(next-history)2.5 E F0(.)A F1
-(history\255size \(0\))108 372 Q F0 .463
-(Set the maximum number of history entries sa)144 384 R -.15(ve)-.2 G
+(history\255size \(0\))108 384 Q F0 .463
+(Set the maximum number of history entries sa)144 396 R -.15(ve)-.2 G
 2.963(di).15 G 2.963(nt)-2.963 G .463(he history list.)-2.963 F .462
 (If set to zero, the number of)5.463 F
-(entries in the history list is not limited.)144 396 Q F1
-(horizontal\255scr)108 408 Q(oll\255mode \(Off\))-.18 E F0 .448
-(When set to)144 420 R F1(On)2.948 E F0 2.948(,m)C(ak)-2.948 E .448
+(entries in the history list is not limited.)144 408 Q F1
+(horizontal\255scr)108 420 Q(oll\255mode \(Off\))-.18 E F0 .448
+(When set to)144 432 R F1(On)2.948 E F0 2.948(,m)C(ak)-2.948 E .448
 (es readline use a single line for display)-.1 F 2.948(,s)-.65 G .449
 (crolling the input horizontally on a)-2.948 F 1.194(single screen line\
  when it becomes longer than the screen width rather than wrapping to a\
- ne)144 432 R(w)-.25 E(line.)144 444 Q F1(input\255meta \(Off\))108 456
-Q F0 .227(If set to)144 468 R F1(On)2.727 E F0 2.727(,r)C .228(eadline \
+ ne)144 444 R(w)-.25 E(line.)144 456 Q F1(input\255meta \(Off\))108 468
+Q F0 .227(If set to)144 480 R F1(On)2.727 E F0 2.727(,r)C .228(eadline \
 will enable eight-bit input \(that is, it will not strip the high bit f\
-rom the char)-2.727 F(-)-.2 E .957(acters it reads\), re)144 480 R -.05
+rom the char)-2.727 F(-)-.2 E .957(acters it reads\), re)144 492 R -.05
 (ga)-.15 G .956(rdless of what the terminal claims it can support.).05 F
 .956(The name)5.956 F F1(meta\255\215ag)3.456 E F0 .956(is a)3.456 F
-(synon)144 492 Q(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 504 Q
+(synon)144 504 Q(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 516 Q
 (ch\255terminators \(`)-.18 E(`C\255[C\255J')-.63 E('\))-.63 E F0 .439(\
 The string of characters that should terminate an incremental search wi\
-thout subsequently e)144 516 R -.15(xe)-.15 G(cut-).15 E .935
-(ing the character as a command.)144 528 R .935(If this v)5.935 F .935
+thout subsequently e)144 528 R -.15(xe)-.15 G(cut-).15 E .935
+(ing the character as a command.)144 540 R .935(If this v)5.935 F .935
 (ariable has not been gi)-.25 F -.15(ve)-.25 G 3.434(nav).15 G .934
-(alue, the characters)-3.684 F F2(ESC)3.434 E F0(and)144 540 Q F2
+(alue, the characters)-3.684 F F2(ESC)3.434 E F0(and)144 552 Q F2
 (C\255J)2.5 E F0(will terminate an incremental search.)2.5 E F1 -.1(ke)
-108 552 S(ymap \(emacs\)).1 E F0 2.02(Set the current readline k)144 564
+108 564 S(ymap \(emacs\)).1 E F0 2.02(Set the current readline k)144 576
 R -.15(ey)-.1 G 4.521(map. The).15 F 2.021(set of v)4.521 F 2.021
 (alid k)-.25 F -.15(ey)-.1 G 2.021(map names is).15 F F2 2.021
 (emacs, emacs\255standar)4.521 F(d,)-.37 E .069
-(emacs\255meta, emacs\255ctlx, vi, vi\255command)144 576 R F0 2.568(,a)C
+(emacs\255meta, emacs\255ctlx, vi, vi\255command)144 588 R F0 2.568(,a)C
 (nd)-2.568 E F2(vi\255insert)2.568 E F0(.).68 E F2(vi)5.068 E F0 .068
 (is equi)2.568 F -.25(va)-.25 G .068(lent to).25 F F2(vi\255command)
-2.568 E F0(;)A F2(emacs)2.568 E F0 1.543(is equi)144 588 R -.25(va)-.25
+2.568 E F0(;)A F2(emacs)2.568 E F0 1.543(is equi)144 600 R -.25(va)-.25
 G 1.543(lent to).25 F F2(emacs\255standar)4.044 E(d)-.37 E F0 6.544(.T)C
 1.544(he def)-6.544 F 1.544(ault v)-.1 F 1.544(alue is)-.25 F F2(emacs)
 4.044 E F0 4.044(;t).27 G 1.544(he v)-4.044 F 1.544(alue of)-.25 F F1
-(editing\255mode)4.044 E F0(also)4.044 E(af)144 600 Q(fects the def)-.25
-E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F1(mark\255dir)108 612 Q
-(ectories \(On\))-.18 E F0(If set to)144 624 Q F1(On)2.5 E F0 2.5(,c)C
+(editing\255mode)4.044 E F0(also)4.044 E(af)144 612 Q(fects the def)-.25
+E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F1(mark\255dir)108 624 Q
+(ectories \(On\))-.18 E F0(If set to)144 636 Q F1(On)2.5 E F0 2.5(,c)C
 (ompleted directory names ha)-2.5 E .3 -.15(ve a s)-.2 H(lash appended.)
-.15 E F1(mark\255modi\214ed\255lines \(Off\))108 636 Q F0(If set to)144
-648 Q F1(On)2.5 E F0 2.5(,h)C(istory lines that ha)-2.5 E .3 -.15(ve b)
+.15 E F1(mark\255modi\214ed\255lines \(Off\))108 648 Q F0(If set to)144
+660 Q F1(On)2.5 E F0 2.5(,h)C(istory lines that ha)-2.5 E .3 -.15(ve b)
 -.2 H(een modi\214ed are displayed with a preceding asterisk \().15 E F1
-(*)A F0(\).)A F1(mark\255symlink)108 660 Q(ed\255dir)-.1 E
-(ectories \(Off\))-.18 E F0 .175(If set to)144 672 R F1(On)2.675 E F0
+(*)A F0(\).)A F1(mark\255symlink)108 672 Q(ed\255dir)-.1 E
+(ectories \(Off\))-.18 E F0 .175(If set to)144 684 R F1(On)2.675 E F0
 2.675(,c)C .175
 (ompleted names which are symbolic links to directories ha)-2.675 F .475
--.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 684
-Q(alue of)-.25 E F1(mark\255dir)2.5 E(ectories)-.18 E F0(\).)A F1
-(match\255hidden\255\214les \(On\))108 696 Q F0 .192(This v)144 708 R
-.192(ariable, when set to)-.25 F F1(On)2.692 E F0 2.692(,c)C .192
-(auses readline to match \214les whose names be)-2.692 F .193
-(gin with a `.)-.15 F 2.693('\()-.7 G(hidden)-2.693 E .457
-(\214les\) when performing \214lename completion.)144 720 R .456
-(If set to)5.456 F F1(Off)2.956 E F0 2.956(,t)C .456(he leading `.)
--2.956 F 2.956('m)-.7 G .456(ust be supplied by the)-2.956 F
-(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(37)200.665 E 0 Cg EP
+-.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 696
+Q(alue of)-.25 E F1(mark\255dir)2.5 E(ectories)-.18 E F0(\).)A
+(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(37)185.115 E 0 Cg EP
 %%Page: 38 38
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(user in the \214lename to be completed.)144 84 Q/F1 10
-/Times-Bold@0 SF(menu\255complete\255display\255pr)108 96 Q
-(e\214x \(Off\))-.18 E F0 1.585(If set to)144 108 R F1(On)4.085 E F0
-4.085(,m)C 1.585(enu completion displays the common pre\214x of the lis\
-t of possible completions)-4.085 F(\(which may be empty\) before c)144
-120 Q(ycling through the list.)-.15 E F1(output\255meta \(Off\))108 132
-Q F0 .507(If set to)144 144 R F1(On)3.007 E F0 3.007(,r)C .507(eadline \
-will display characters with the eighth bit set directly rather than as\
- a meta-)-3.007 F(pre\214x)144 156 Q(ed escape sequence.)-.15 E F1
-(page\255completions \(On\))108 168 Q F0 .808(If set to)144 180 R F1(On)
+-.35 E/F1 10/Times-Bold@0 SF(match\255hidden\255\214les \(On\))108 84 Q
+F0 .192(This v)144 96 R .192(ariable, when set to)-.25 F F1(On)2.692 E
+F0 2.692(,c)C .192(auses readline to match \214les whose names be)-2.692
+F .193(gin with a `.)-.15 F 2.693('\()-.7 G(hidden)-2.693 E .457
+(\214les\) when performing \214lename completion.)144 108 R .456
+(If set to)5.456 F F1(Off)2.956 E F0 2.956(,t)C .456(he leading `.)
+-2.956 F 2.956('m)-.7 G .456(ust be supplied by the)-2.956 F
+(user in the \214lename to be completed.)144 120 Q F1
+(menu\255complete\255display\255pr)108 132 Q(e\214x \(Off\))-.18 E F0
+1.585(If set to)144 144 R F1(On)4.085 E F0 4.085(,m)C 1.585(enu complet\
+ion displays the common pre\214x of the list of possible completions)
+-4.085 F(\(which may be empty\) before c)144 156 Q
+(ycling through the list.)-.15 E F1(output\255meta \(Off\))108 168 Q F0
+.507(If set to)144 180 R F1(On)3.007 E F0 3.007(,r)C .507(eadline will \
+display characters with the eighth bit set directly rather than as a me\
+ta-)-3.007 F(pre\214x)144 192 Q(ed escape sequence.)-.15 E F1
+(page\255completions \(On\))108 204 Q F0 .808(If set to)144 216 R F1(On)
 3.308 E F0 3.308(,r)C .808(eadline uses an internal)-3.308 F/F2 10
 /Times-Italic@0 SF(mor)3.308 E(e)-.37 E F0(-lik)A 3.308(ep)-.1 G .808
 (ager to display a screenful of possible comple-)-3.308 F
-(tions at a time.)144 192 Q F1
-(print\255completions\255horizontally \(Off\))108 204 Q F0 1.319
-(If set to)144 216 R F1(On)3.819 E F0 3.819(,r)C 1.318(eadline will dis\
+(tions at a time.)144 228 Q F1
+(print\255completions\255horizontally \(Off\))108 240 Q F0 1.319
+(If set to)144 252 R F1(On)3.819 E F0 3.819(,r)C 1.318(eadline will dis\
 play completions with matches sorted horizontally in alphabetical)-3.819
-F(order)144 228 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25
-E F1 -2.29 -.18(re v)108 240 T(ert\255all\255at\255newline \(Off\)).08 E
-F0 .698(If set to)144 252 R F1(On)3.198 E F0 3.198(,r)C .699
+F(order)144 264 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25
+E F1 -2.29 -.18(re v)108 276 T(ert\255all\255at\255newline \(Off\)).08 E
+F0 .698(If set to)144 288 R F1(On)3.198 E F0 3.198(,r)C .699
 (eadline will undo all changes to history lines before returning when)
--3.198 F F1(accept\255line)3.199 E F0(is)3.199 E -.15(exe)144 264 S
+-3.198 F F1(accept\255line)3.199 E F0(is)3.199 E -.15(exe)144 300 S
 2.686(cuted. By).15 F(def)2.686 E .186
 (ault, history lines may be modi\214ed and retain indi)-.1 F .186
-(vidual undo lists across calls to)-.25 F F1 -.18(re)144 276 S(adline)
-.18 E F0(.)A F1(sho)108 288 Q(w\255all\255if\255ambiguous \(Off\))-.1 E
-F0 .303(This alters the def)144 300 R .303(ault beha)-.1 F .304
+(vidual undo lists across calls to)-.25 F F1 -.18(re)144 312 S(adline)
+.18 E F0(.)A F1(sho)108 324 Q(w\255all\255if\255ambiguous \(Off\))-.1 E
+F0 .303(This alters the def)144 336 R .303(ault beha)-.1 F .304
 (vior of the completion functions.)-.2 F .304(If set to)5.304 F F1(On)
 2.804 E F0 2.804(,w)C .304(ords which ha)-2.904 F .604 -.15(ve m)-.2 H
 (ore).15 E 1.264(than one possible completion cause the matches to be l\
-isted immediately instead of ringing the)144 312 R(bell.)144 324 Q F1
-(sho)108 336 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.345
-(This alters the def)144 348 R 5.345(ault beha)-.1 F 5.345
+isted immediately instead of ringing the)144 348 R(bell.)144 360 Q F1
+(sho)108 372 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.345
+(This alters the def)144 384 R 5.345(ault beha)-.1 F 5.345
 (vior of the completion functions in a f)-.2 F 5.346(ashion similar to)
--.1 F F1(sho)144 360 Q(w\255all\255if\255ambiguous)-.1 E F0 6.691(.I)C
+-.1 F F1(sho)144 396 Q(w\255all\255if\255ambiguous)-.1 E F0 6.691(.I)C
 4.191(fs)-6.691 G 1.691(et to)-4.191 F F1(On)4.191 E F0 4.191(,w)C 1.691
 (ords which ha)-4.291 F 1.991 -.15(ve m)-.2 H 1.691
-(ore than one possible completion).15 F 1.039(without an)144 372 R 3.539
+(ore than one possible completion).15 F 1.039(without an)144 408 R 3.539
 (yp)-.15 G 1.039
 (ossible partial completion \(the possible completions don')-3.539 F
 3.539(ts)-.18 G 1.04(hare a common pre\214x\))-3.539 F(cause the matche\
-s to be listed immediately instead of ringing the bell.)144 384 Q F1
-(skip\255completed\255text \(Off\))108 396 Q F0 .095(If set to)144 408 R
+s to be listed immediately instead of ringing the bell.)144 420 Q F1
+(skip\255completed\255text \(Off\))108 432 Q F0 .095(If set to)144 444 R
 F1(On)2.595 E F0 2.595(,t)C .095(his alters the def)-2.595 F .095
 (ault completion beha)-.1 F .094
-(vior when inserting a single match into the line.)-.2 F(It')144 420 Q
+(vior when inserting a single match into the line.)-.2 F(It')144 456 Q
 2.545(so)-.55 G .045(nly acti)-2.545 F .345 -.15(ve w)-.25 H .046
 (hen performing completion in the middle of a w).15 F 2.546(ord. If)-.1
 F .046(enabled, readline does not)2.546 F 1.394(insert characters from \
-the completion that match characters after point in the w)144 432 R
-1.394(ord being com-)-.1 F(pleted, so portions of the w)144 444 Q
+the completion that match characters after point in the w)144 468 R
+1.394(ord being com-)-.1 F(pleted, so portions of the w)144 480 Q
 (ord follo)-.1 E(wing the cursor are not duplicated.)-.25 E F1
-(visible\255stats \(Off\))108 456 Q F0 .846(If set to)144 468 R F1(On)
+(visible\255stats \(Off\))108 492 Q F0 .846(If set to)144 504 R F1(On)
 3.346 E F0 3.346(,ac)C .846(haracter denoting a \214le')-3.346 F 3.346
 (st)-.55 G .846(ype as reported by)-3.346 F F2(stat)3.346 E F0 .846
 (\(2\) is appended to the \214lename)B
-(when listing possible completions.)144 480 Q F1
-(Readline Conditional Constructs)87 496.8 Q F0 .05
-(Readline implements a f)108 508.8 R .05(acility similar in spirit to t\
+(when listing possible completions.)144 516 Q F1
+(Readline Conditional Constructs)87 532.8 Q F0 .05
+(Readline implements a f)108 544.8 R .05(acility similar in spirit to t\
 he conditional compilation features of the C preprocessor)-.1 F .096
-(which allo)108 520.8 R .096(ws k)-.25 F .396 -.15(ey b)-.1 H .096
+(which allo)108 556.8 R .096(ws k)-.25 F .396 -.15(ey b)-.1 H .096
 (indings and v).15 F .096
 (ariable settings to be performed as the result of tests.)-.25 F .097
-(There are four parser)5.096 F(directi)108 532.8 Q -.15(ve)-.25 G 2.5
-(su).15 G(sed.)-2.5 E F1($if)108 549.6 Q F0(The)24.89 E F1($if)2.963 E
+(There are four parser)5.096 F(directi)108 568.8 Q -.15(ve)-.25 G 2.5
+(su).15 G(sed.)-2.5 E F1($if)108 585.6 Q F0(The)24.89 E F1($if)2.963 E
 F0 .463(construct allo)2.963 F .462(ws bindings to be made based on the\
  editing mode, the terminal being used,)-.25 F .477
-(or the application using readline.)144 561.6 R .477(The te)5.477 F .477
+(or the application using readline.)144 597.6 R .477(The te)5.477 F .477
 (xt of the test e)-.15 F .477
 (xtends to the end of the line; no characters)-.15 F
-(are required to isolate it.)144 573.6 Q F1(mode)144 590.4 Q F0(The)
+(are required to isolate it.)144 609.6 Q F1(mode)144 626.4 Q F0(The)
 12.67 E F1(mode=)3.712 E F0 1.212(form of the)3.712 F F1($if)3.711 E F0
 (directi)3.711 E 1.511 -.15(ve i)-.25 H 3.711(su).15 G 1.211
 (sed to test whether readline is in emacs or vi)-3.711 F 3.065
-(mode. This)180 602.4 R .565(may be used in conjunction with the)3.065 F
+(mode. This)180 638.4 R .565(may be used in conjunction with the)3.065 F
 F1 .565(set k)3.065 F(eymap)-.1 E F0 .565(command, for instance, to)
-3.065 F .735(set bindings in the)180 614.4 R F2(emacs\255standar)3.235 E
+3.065 F .735(set bindings in the)180 650.4 R F2(emacs\255standar)3.235 E
 (d)-.37 E F0(and)3.235 E F2(emacs\255ctlx)3.235 E F0 -.1(ke)3.235 G .735
-(ymaps only if readline is starting)-.05 F(out in emacs mode.)180 626.4
-Q F1(term)144 643.2 Q F0(The)15.46 E F1(term=)3.196 E F0 .696
+(ymaps only if readline is starting)-.05 F(out in emacs mode.)180 662.4
+Q F1(term)144 679.2 Q F0(The)15.46 E F1(term=)3.196 E F0 .696
 (form may be used to include terminal-speci\214c k)3.196 F .996 -.15
-(ey b)-.1 H .697(indings, perhaps to bind).15 F .654(the k)180 655.2 R
+(ey b)-.1 H .697(indings, perhaps to bind).15 F .654(the k)180 691.2 R
 .954 -.15(ey s)-.1 H .654(equences output by the terminal').15 F 3.154
 (sf)-.55 G .654(unction k)-3.154 F -.15(ey)-.1 G 3.154(s. The).15 F -.1
-(wo)3.154 G .654(rd on the right side of).1 F(the)180 667.2 Q F1(=)3.231
+(wo)3.154 G .654(rd on the right side of).1 F(the)180 703.2 Q F1(=)3.231
 E F0 .731(is tested ag)3.231 F .732(ainst the both full name of the ter\
 minal and the portion of the terminal)-.05 F(name before the \214rst)180
-679.2 Q F1<ad>2.5 E F0 5(.T)C(his allo)-5 E(ws)-.25 E F2(sun)2.84 E F0
+715.2 Q F1<ad>2.5 E F0 5(.T)C(his allo)-5 E(ws)-.25 E F2(sun)2.84 E F0
 (to match both)2.74 E F2(sun)2.84 E F0(and)2.74 E F2(sun\255cmd)2.5 E F0
-2.5(,f).77 G(or instance.)-2.5 E F1(application)144 696 Q F0(The)180 708
-Q F1(application)3.003 E F0 .503
-(construct is used to include application-speci\214c settings.)3.003 F
-.503(Each program)5.503 F .114(using the readline library sets the)180
-720 R F2 .114(application name)2.614 F F0 2.614(,a)C .114
-(nd an initialization \214le can test for a)-2.614 F(GNU Bash 4.2)72 768
-Q(2011 July 7)151.505 E(38)200.665 E 0 Cg EP
+2.5(,f).77 G(or instance.)-2.5 E(GNU Bash 4.2)72 768 Q
+(2011 September 25)135.955 E(38)185.115 E 0 Cg EP
 %%Page: 39 39
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .501(particular v)180 84 R 3.001(alue. This)-.25 F .501
+-.35 E/F1 10/Times-Bold@0 SF(application)144 84 Q F0(The)180 96 Q F1
+(application)3.003 E F0 .503
+(construct is used to include application-speci\214c settings.)3.003 F
+.503(Each program)5.503 F .114(using the readline library sets the)180
+108 R/F2 10/Times-Italic@0 SF .114(application name)2.614 F F0 2.614(,a)
+C .114(nd an initialization \214le can test for a)-2.614 F .501
+(particular v)180 120 R 3.001(alue. This)-.25 F .501
 (could be used to bind k)3.001 F .801 -.15(ey s)-.1 H .5
 (equences to functions useful for a spe-).15 F .396(ci\214c program.)180
-96 R -.15(Fo)5.396 G 2.896(ri).15 G .396(nstance, the follo)-2.896 F
+132 R -.15(Fo)5.396 G 2.896(ri).15 G .396(nstance, the follo)-2.896 F
 .396(wing command adds a k)-.25 F .696 -.15(ey s)-.1 H .397
-(equence that quotes the).15 F(current or pre)180 108 Q(vious w)-.25 E
-(ord in)-.1 E/F1 10/Times-Bold@0 SF(bash)2.5 E F0(:)A F1($if)180 132 Q
-F0(Bash)2.5 E 2.5(#Q)180 144 S(uote the current or pre)-2.5 E(vious w)
--.25 E(ord)-.1 E("\\C\255xq": "\\eb\\"\\ef\\"")180 156 Q F1($endif)180
-168 Q($endif)108 184.8 Q F0(This command, as seen in the pre)9.33 E
-(vious e)-.25 E(xample, terminates an)-.15 E F1($if)2.5 E F0(command.)
-2.5 E F1($else)108 201.6 Q F0(Commands in this branch of the)15.45 E F1
-($if)2.5 E F0(directi)2.5 E .3 -.15(ve a)-.25 H(re e).15 E -.15(xe)-.15
-G(cuted if the test f).15 E(ails.)-.1 E F1($include)108 218.4 Q F0 .357
-(This directi)144 230.4 R .657 -.15(ve t)-.25 H(ak).15 E .357
+(equence that quotes the).15 F(current or pre)180 144 Q(vious w)-.25 E
+(ord in)-.1 E F1(bash)2.5 E F0(:)A F1($if)180 168 Q F0(Bash)2.5 E 2.5
+(#Q)180 180 S(uote the current or pre)-2.5 E(vious w)-.25 E(ord)-.1 E
+("\\C\255xq": "\\eb\\"\\ef\\"")180 192 Q F1($endif)180 204 Q($endif)108
+220.8 Q F0(This command, as seen in the pre)9.33 E(vious e)-.25 E
+(xample, terminates an)-.15 E F1($if)2.5 E F0(command.)2.5 E F1($else)
+108 237.6 Q F0(Commands in this branch of the)15.45 E F1($if)2.5 E F0
+(directi)2.5 E .3 -.15(ve a)-.25 H(re e).15 E -.15(xe)-.15 G
+(cuted if the test f).15 E(ails.)-.1 E F1($include)108 254.4 Q F0 .357
+(This directi)144 266.4 R .657 -.15(ve t)-.25 H(ak).15 E .357
 (es a single \214lename as an ar)-.1 F .356
 (gument and reads commands and bindings from that)-.18 F 2.5(\214le. F)
-144 242.4 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3
--.15(ve w)-.25 H(ould read).05 E/F2 10/Times-Italic@0 SF(/etc/inputr)2.5
-E(c)-.37 E F0(:)A F1($include)144 266.4 Q F2(/etc/inputr)5.833 E(c)-.37
-E F1(Sear)87 283.2 Q(ching)-.18 E F0 .834(Readline pro)108 295.2 R .834
+144 278.4 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3
+-.15(ve w)-.25 H(ould read).05 E F2(/etc/inputr)2.5 E(c)-.37 E F0(:)A F1
+($include)144 302.4 Q F2(/etc/inputr)5.833 E(c)-.37 E F1(Sear)87 319.2 Q
+(ching)-.18 E F0 .834(Readline pro)108 331.2 R .834
 (vides commands for searching through the command history \(see)-.15 F
 /F3 9/Times-Bold@0 SF(HIST)3.335 E(OR)-.162 E(Y)-.315 E F0(belo)3.085 E
-.835(w\) for lines)-.25 F(containing a speci\214ed string.)108 307.2 Q
+.835(w\) for lines)-.25 F(containing a speci\214ed string.)108 343.2 Q
 (There are tw)5 E 2.5(os)-.1 G(earch modes:)-2.5 E F2(incr)2.51 E
 (emental)-.37 E F0(and)3.01 E F2(non-incr)2.5 E(emental)-.37 E F0(.).51
-E .698(Incremental searches be)108 324 R .698
+E .698(Incremental searches be)108 360 R .698
 (gin before the user has \214nished typing the search string.)-.15 F
 .697(As each character of the)5.697 F .112
-(search string is typed, readline displays the ne)108 336 R .112
+(search string is typed, readline displays the ne)108 372 R .112
 (xt entry from the history matching the string typed so f)-.15 F(ar)-.1
 E 5.113(.A)-.55 G(n)-5.113 E .542
-(incremental search requires only as man)108 348 R 3.042(yc)-.15 G .542
+(incremental search requires only as man)108 384 R 3.042(yc)-.15 G .542
 (haracters as needed to \214nd the desired history entry)-3.042 F 5.541
 (.T)-.65 G .541(he char)-5.541 F(-)-.2 E .224(acters present in the v)
-108 360 R .224(alue of the)-.25 F F1(isear)2.724 E(ch-terminators)-.18 E
+108 396 R .224(alue of the)-.25 F F1(isear)2.724 E(ch-terminators)-.18 E
 F0 -.25(va)2.724 G .224
 (riable are used to terminate an incremental search.).25 F .66
-(If that v)108 372 R .66(ariable has not been assigned a v)-.25 F .66
+(If that v)108 408 R .66(ariable has not been assigned a v)-.25 F .66
 (alue the Escape and Control-J characters will terminate an incre-)-.25
-F .096(mental search.)108 384 R .096(Control-G will abort an incrementa\
+F .096(mental search.)108 420 R .096(Control-G will abort an incrementa\
 l search and restore the original line.)5.096 F .097(When the search is)
 5.097 F(terminated, the history entry containing the search string beco\
-mes the current line.)108 396 Q 2.939 -.8(To \214)108 412.8 T 1.339(nd \
+mes the current line.)108 432 Q 2.939 -.8(To \214)108 448.8 T 1.339(nd \
 other matching entries in the history list, type Control-S or Control-R\
  as appropriate.).8 F 1.338(This will)6.338 F .674(search backw)108
-424.8 R .674(ard or forw)-.1 F .674(ard in the history for the ne)-.1 F
+460.8 R .674(ard or forw)-.1 F .674(ard in the history for the ne)-.1 F
 .675(xt entry matching the search string typed so f)-.15 F(ar)-.1 E
-5.675(.A)-.55 G -.15(ny)-5.675 G .175(other k)108 436.8 R .475 -.15
+5.675(.A)-.55 G -.15(ny)-5.675 G .175(other k)108 472.8 R .475 -.15
 (ey s)-.1 H .174
 (equence bound to a readline command will terminate the search and e).15
 F -.15(xe)-.15 G .174(cute that command.).15 F -.15(Fo)5.174 G(r).15 E
-.54(instance, a)108 448.8 R F2(ne)3.04 E(wline)-.15 E F0 .541
+.54(instance, a)108 484.8 R F2(ne)3.04 E(wline)-.15 E F0 .541
 (will terminate the search and accept the line, thereby e)3.04 F -.15
 (xe)-.15 G .541(cuting the command from the).15 F(history list.)108
-460.8 Q .653(Readline remembers the last incremental search string.)108
-477.6 R .653(If tw)5.653 F 3.153(oC)-.1 G .653
+496.8 Q .653(Readline remembers the last incremental search string.)108
+513.6 R .653(If tw)5.653 F 3.153(oC)-.1 G .653
 (ontrol-Rs are typed without an)-3.153 F 3.152(yi)-.15 G(nterv)-3.152 E
-(en-)-.15 E(ing characters de\214ning a ne)108 489.6 Q 2.5(ws)-.25 G
+(en-)-.15 E(ing characters de\214ning a ne)108 525.6 Q 2.5(ws)-.25 G
 (earch string, an)-2.5 E 2.5(yr)-.15 G(emembered search string is used.)
 -2.5 E .567(Non-incremental searches read the entire search string befo\
-re starting to search for matching history lines.)108 506.4 R(The searc\
+re starting to search for matching history lines.)108 542.4 R(The searc\
 h string may be typed by the user or be part of the contents of the cur\
-rent line.)108 518.4 Q F1(Readline Command Names)87 535.2 Q F0 1.392
-(The follo)108 547.2 R 1.391
+rent line.)108 554.4 Q F1(Readline Command Names)87 571.2 Q F0 1.392
+(The follo)108 583.2 R 1.391
 (wing is a list of the names of the commands and the def)-.25 F 1.391
 (ault k)-.1 F 1.691 -.15(ey s)-.1 H 1.391(equences to which the).15 F
-3.891(ya)-.15 G(re)-3.891 E 2.621(bound. Command)108 559.2 R .121
+3.891(ya)-.15 G(re)-3.891 E 2.621(bound. Command)108 595.2 R .121
 (names without an accompan)2.621 F .121(ying k)-.15 F .421 -.15(ey s)-.1
 H .122(equence are unbound by def).15 F 2.622(ault. In)-.1 F .122
-(the follo)2.622 F(wing)-.25 E(descriptions,)108 571.2 Q F2(point)3.411
+(the follo)2.622 F(wing)-.25 E(descriptions,)108 607.2 Q F2(point)3.411
 E F0 .911(refers to the current cursor position, and)3.411 F F2(mark)
 3.411 E F0 .91(refers to a cursor position sa)3.411 F -.15(ve)-.2 G 3.41
-(db).15 G 3.41(yt)-3.41 G(he)-3.41 E F1(set\255mark)108 583.2 Q F0 2.5
+(db).15 G 3.41(yt)-3.41 G(he)-3.41 E F1(set\255mark)108 619.2 Q F0 2.5
 (command. The)2.5 F(te)2.5 E
 (xt between the point and mark is referred to as the)-.15 E F2 -.37(re)
-2.5 G(gion)-.03 E F0(.)A F1(Commands f)87 600 Q(or Mo)-.25 E(ving)-.1 E
-(beginning\255of\255line \(C\255a\))108 612 Q F0(Mo)144 624 Q .3 -.15
+2.5 G(gion)-.03 E F0(.)A F1(Commands f)87 636 Q(or Mo)-.25 E(ving)-.1 E
+(beginning\255of\255line \(C\255a\))108 648 Q F0(Mo)144 660 Q .3 -.15
 (ve t)-.15 H 2.5(ot).15 G(he start of the current line.)-2.5 E F1
-(end\255of\255line \(C\255e\))108 636 Q F0(Mo)144 648 Q .3 -.15(ve t)
--.15 H 2.5(ot).15 G(he end of the line.)-2.5 E F1 -.25(fo)108 660 S
-(rward\255char \(C\255f\)).25 E F0(Mo)144 672 Q .3 -.15(ve f)-.15 H(orw)
-.15 E(ard a character)-.1 E(.)-.55 E F1(backward\255char \(C\255b\))108
-684 Q F0(Mo)144 696 Q .3 -.15(ve b)-.15 H(ack a character).15 E(.)-.55 E
-(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(39)200.665 E 0 Cg EP
+(end\255of\255line \(C\255e\))108 672 Q F0(Mo)144 684 Q .3 -.15(ve t)
+-.15 H 2.5(ot).15 G(he end of the line.)-2.5 E F1 -.25(fo)108 696 S
+(rward\255char \(C\255f\)).25 E F0(Mo)144 708 Q .3 -.15(ve f)-.15 H(orw)
+.15 E(ard a character)-.1 E(.)-.55 E(GNU Bash 4.2)72 768 Q
+(2011 September 25)135.955 E(39)185.115 E 0 Cg EP
 %%Page: 40 40
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF -.25(fo)108 84 S(rward\255w).25 E
-(ord \(M\255f\))-.1 E F0(Mo)144 96 Q .822 -.15(ve f)-.15 H(orw).15 E
-.522(ard to the end of the ne)-.1 F .523(xt w)-.15 F 3.023(ord. W)-.1 F
-.523(ords are composed of alphanumeric characters \(let-)-.8 F
-(ters and digits\).)144 108 Q F1(backward\255w)108 120 Q(ord \(M\255b\))
--.1 E F0(Mo)144 132 Q 1.71 -.15(ve b)-.15 H 1.41
+-.35 E/F1 10/Times-Bold@0 SF(backward\255char \(C\255b\))108 84 Q F0(Mo)
+144 96 Q .3 -.15(ve b)-.15 H(ack a character).15 E(.)-.55 E F1 -.25(fo)
+108 108 S(rward\255w).25 E(ord \(M\255f\))-.1 E F0(Mo)144 120 Q .822
+-.15(ve f)-.15 H(orw).15 E .522(ard to the end of the ne)-.1 F .523
+(xt w)-.15 F 3.023(ord. W)-.1 F .523
+(ords are composed of alphanumeric characters \(let-)-.8 F
+(ters and digits\).)144 132 Q F1(backward\255w)108 144 Q(ord \(M\255b\))
+-.1 E F0(Mo)144 156 Q 1.71 -.15(ve b)-.15 H 1.41
 (ack to the start of the current or pre).15 F 1.41(vious w)-.25 F 3.91
 (ord. W)-.1 F 1.41(ords are composed of alphanumeric)-.8 F
-(characters \(letters and digits\).)144 144 Q F1(shell\255f)108 156 Q
-(orward\255w)-.25 E(ord)-.1 E F0(Mo)144 168 Q .784 -.15(ve f)-.15 H(orw)
+(characters \(letters and digits\).)144 168 Q F1(shell\255f)108 180 Q
+(orward\255w)-.25 E(ord)-.1 E F0(Mo)144 192 Q .784 -.15(ve f)-.15 H(orw)
 .15 E .484(ard to the end of the ne)-.1 F .484(xt w)-.15 F 2.984(ord. W)
 -.1 F .484(ords are delimited by non-quoted shell metacharac-)-.8 F
-(ters.)144 180 Q F1(shell\255backward\255w)108 192 Q(ord)-.1 E F0(Mo)144
-204 Q .909 -.15(ve b)-.15 H .609(ack to the start of the current or pre)
+(ters.)144 204 Q F1(shell\255backward\255w)108 216 Q(ord)-.1 E F0(Mo)144
+228 Q .909 -.15(ve b)-.15 H .609(ack to the start of the current or pre)
 .15 F .609(vious w)-.25 F 3.109(ord. W)-.1 F .608
-(ords are delimited by non-quoted shell)-.8 F(metacharacters.)144 216 Q
-F1(clear\255scr)108 228 Q(een \(C\255l\))-.18 E F0 .993
-(Clear the screen lea)144 240 R .993
+(ords are delimited by non-quoted shell)-.8 F(metacharacters.)144 240 Q
+F1(clear\255scr)108 252 Q(een \(C\255l\))-.18 E F0 .993
+(Clear the screen lea)144 264 R .993
 (ving the current line at the top of the screen.)-.2 F -.4(Wi)5.993 G
 .993(th an ar).4 F .993(gument, refresh the)-.18 F
-(current line without clearing the screen.)144 252 Q F1 -.18(re)108 264
+(current line without clearing the screen.)144 276 Q F1 -.18(re)108 288
 S(draw\255curr).18 E(ent\255line)-.18 E F0(Refresh the current line.)144
-276 Q F1(Commands f)87 292.8 Q(or Manipulating the History)-.25 E
-(accept\255line \(Newline, Retur)108 304.8 Q(n\))-.15 E F0 .159
-(Accept the line re)144 316.8 R -.05(ga)-.15 G .159
+300 Q F1(Commands f)87 316.8 Q(or Manipulating the History)-.25 E
+(accept\255line \(Newline, Retur)108 328.8 Q(n\))-.15 E F0 .159
+(Accept the line re)144 340.8 R -.05(ga)-.15 G .159
 (rdless of where the cursor is.).05 F .158(If this line is non-empty)
 5.158 F 2.658(,a)-.65 G .158(dd it to the history list)-2.658 F .699
-(according to the state of the)144 328.8 R/F2 9/Times-Bold@0 SF
+(according to the state of the)144 352.8 R/F2 9/Times-Bold@0 SF
 (HISTCONTR)3.199 E(OL)-.27 E F0 -.25(va)2.949 G 3.199(riable. If).25 F
 .699(the line is a modi\214ed history line, then)3.199 F
-(restore the history line to its original state.)144 340.8 Q F1(pr)108
-352.8 Q -.15(ev)-.18 G(ious\255history \(C\255p\)).15 E F0
-(Fetch the pre)144 364.8 Q(vious command from the history list, mo)-.25
-E(ving back in the list.)-.15 E F1(next\255history \(C\255n\))108 376.8
-Q F0(Fetch the ne)144 388.8 Q(xt command from the history list, mo)-.15
+(restore the history line to its original state.)144 364.8 Q F1(pr)108
+376.8 Q -.15(ev)-.18 G(ious\255history \(C\255p\)).15 E F0
+(Fetch the pre)144 388.8 Q(vious command from the history list, mo)-.25
+E(ving back in the list.)-.15 E F1(next\255history \(C\255n\))108 400.8
+Q F0(Fetch the ne)144 412.8 Q(xt command from the history list, mo)-.15
 E(ving forw)-.15 E(ard in the list.)-.1 E F1
-(beginning\255of\255history \(M\255<\))108 400.8 Q F0(Mo)144 412.8 Q .3
+(beginning\255of\255history \(M\255<\))108 424.8 Q F0(Mo)144 436.8 Q .3
 -.15(ve t)-.15 H 2.5(ot).15 G(he \214rst line in the history)-2.5 E(.)
--.65 E F1(end\255of\255history \(M\255>\))108 424.8 Q F0(Mo)144 436.8 Q
+-.65 E F1(end\255of\255history \(M\255>\))108 448.8 Q F0(Mo)144 460.8 Q
 .3 -.15(ve t)-.15 H 2.5(ot).15 G(he end of the input history)-2.5 E 2.5
 (,i)-.65 G(.e., the line currently being entered.)-2.5 E F1 -2.29 -.18
-(re v)108 448.8 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0
-1.471(Search backw)144 460.8 R 1.471
+(re v)108 472.8 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0
+1.471(Search backw)144 484.8 R 1.471
 (ard starting at the current line and mo)-.1 F 1.47
 (ving `up' through the history as necessary)-.15 F(.)-.65 E
-(This is an incremental search.)144 472.8 Q F1 -.25(fo)108 484.8 S
+(This is an incremental search.)144 496.8 Q F1 -.25(fo)108 508.8 S
 (rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F0 1.131
-(Search forw)144 496.8 R 1.131(ard starting at the current line and mo)
+(Search forw)144 520.8 R 1.131(ard starting at the current line and mo)
 -.1 F 1.132(ving `do)-.15 F 1.132(wn' through the history as necessary)
--.25 F(.)-.65 E(This is an incremental search.)144 508.8 Q F1
-(non\255incr)108 520.8 Q(emental\255r)-.18 E -2.3 -.15(ev e)-.18 H
+-.25 F(.)-.65 E(This is an incremental search.)144 532.8 Q F1
+(non\255incr)108 544.8 Q(emental\255r)-.18 E -2.3 -.15(ev e)-.18 H
 (rse\255sear).15 E(ch\255history \(M\255p\))-.18 E F0 .165(Search backw)
-144 532.8 R .164(ard through the history starting at the current line u\
-sing a non-incremental search for)-.1 F 2.5(as)144 544.8 S
-(tring supplied by the user)-2.5 E(.)-.55 E F1(non\255incr)108 556.8 Q
+144 556.8 R .164(ard through the history starting at the current line u\
+sing a non-incremental search for)-.1 F 2.5(as)144 568.8 S
+(tring supplied by the user)-2.5 E(.)-.55 E F1(non\255incr)108 580.8 Q
 (emental\255f)-.18 E(orward\255sear)-.25 E(ch\255history \(M\255n\))-.18
-E F0 1.353(Search forw)144 568.8 R 1.354(ard through the history using \
+E F0 1.353(Search forw)144 592.8 R 1.354(ard through the history using \
 a non-incremental search for a string supplied by the)-.1 F(user)144
-580.8 Q(.)-.55 E F1(history\255sear)108 592.8 Q(ch\255f)-.18 E(orward)
--.25 E F0 .249(Search forw)144 604.8 R .249(ard through the history for\
+604.8 Q(.)-.55 E F1(history\255sear)108 616.8 Q(ch\255f)-.18 E(orward)
+-.25 E F0 .249(Search forw)144 628.8 R .249(ard through the history for\
  the string of characters between the start of the current line)-.1 F
-(and the point.)144 616.8 Q(This is a non-incremental search.)5 E F1
-(history\255sear)108 628.8 Q(ch\255backward)-.18 E F0 .95(Search backw)
-144 640.8 R .951(ard through the history for the string of characters b\
-etween the start of the current)-.1 F(line and the point.)144 652.8 Q
-(This is a non-incremental search.)5 E F1(yank\255nth\255ar)108 664.8 Q
+(and the point.)144 640.8 Q(This is a non-incremental search.)5 E F1
+(history\255sear)108 652.8 Q(ch\255backward)-.18 E F0 .95(Search backw)
+144 664.8 R .951(ard through the history for the string of characters b\
+etween the start of the current)-.1 F(line and the point.)144 676.8 Q
+(This is a non-incremental search.)5 E F1(yank\255nth\255ar)108 688.8 Q
 2.5(g\()-.1 G<4dad43ad7929>-2.5 E F0 .622(Insert the \214rst ar)144
-676.8 R .622(gument to the pre)-.18 F .622
+700.8 R .622(gument to the pre)-.18 F .622
 (vious command \(usually the second w)-.25 F .622(ord on the pre)-.1 F
-.622(vious line\))-.25 F .794(at point.)144 688.8 R -.4(Wi)5.794 G .794
+.622(vious line\))-.25 F .794(at point.)144 712.8 R -.4(Wi)5.794 G .794
 (th an ar).4 F(gument)-.18 E/F3 10/Times-Italic@0 SF(n)3.294 E F0 3.294
 (,i).24 G .794(nsert the)-3.294 F F3(n)3.294 E F0 .794(th w)B .794
 (ord from the pre)-.1 F .794(vious command \(the w)-.25 F .795
-(ords in the)-.1 F(pre)144 700.8 Q .292(vious command be)-.25 F .292
+(ords in the)-.1 F(pre)144 724.8 Q .292(vious command be)-.25 F .292
 (gin with w)-.15 F .291(ord 0\).)-.1 F 2.791(An)5.291 G -2.25 -.15(eg a)
 -2.791 H(ti).15 E .591 -.15(ve a)-.25 H -.18(rg).15 G .291
 (ument inserts the).18 F F3(n)2.791 E F0 .291(th w)B .291
-(ord from the end of)-.1 F .281(the pre)144 712.8 R .281(vious command.)
--.25 F .281(Once the ar)5.281 F(gument)-.18 E F3(n)2.781 E F0 .281
-(is computed, the ar)2.781 F .281(gument is e)-.18 F .282
-(xtracted as if the "!)-.15 F F3(n)A F0(")A(history e)144 724.8 Q
-(xpansion had been speci\214ed.)-.15 E(GNU Bash 4.2)72 768 Q
-(2011 July 7)151.505 E(40)200.665 E 0 Cg EP
+(ord from the end of)-.1 F(GNU Bash 4.2)72 768 Q(2011 September 25)
+135.955 E(40)185.115 E 0 Cg EP
 %%Page: 41 41
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(yank\255last\255ar)108 84 Q 2.5(g\()-.1 G
--1.667(M\255. ,)-2.5 F -1.667(M\255_ \))2.5 F F0 1.308
-(Insert the last ar)144 96 R 1.308(gument to the pre)-.18 F 1.307
-(vious command \(the last w)-.25 F 1.307(ord of the pre)-.1 F 1.307
-(vious history entry\).)-.25 F -.4(Wi)144 108 S .203(th a numeric ar).4
-F .203(gument, beha)-.18 F .504 -.15(ve ex)-.2 H .204(actly lik).15 F(e)
--.1 E F1(yank\255nth\255ar)2.704 E(g)-.1 E F0 5.204(.S)C(uccessi)-5.204
-E .504 -.15(ve c)-.25 H .204(alls to).15 F F1(yank\255last\255ar)2.704 E
-(g)-.1 E F0(mo)144 120 Q .807 -.15(ve b)-.15 H .507
-(ack through the history list, inserting the last w).15 F .507
+-.35 E .281(the pre)144 84 R .281(vious command.)-.25 F .281
+(Once the ar)5.281 F(gument)-.18 E/F1 10/Times-Italic@0 SF(n)2.781 E F0
+.281(is computed, the ar)2.781 F .281(gument is e)-.18 F .282
+(xtracted as if the "!)-.15 F F1(n)A F0(")A(history e)144 96 Q
+(xpansion had been speci\214ed.)-.15 E/F2 10/Times-Bold@0 SF
+(yank\255last\255ar)108 108 Q 2.5(g\()-.1 G -1.667(M\255. ,)-2.5 F
+-1.667(M\255_ \))2.5 F F0 1.308(Insert the last ar)144 120 R 1.308
+(gument to the pre)-.18 F 1.307(vious command \(the last w)-.25 F 1.307
+(ord of the pre)-.1 F 1.307(vious history entry\).)-.25 F -.4(Wi)144 132
+S .203(th a numeric ar).4 F .203(gument, beha)-.18 F .504 -.15(ve ex)-.2
+H .204(actly lik).15 F(e)-.1 E F2(yank\255nth\255ar)2.704 E(g)-.1 E F0
+5.204(.S)C(uccessi)-5.204 E .504 -.15(ve c)-.25 H .204(alls to).15 F F2
+(yank\255last\255ar)2.704 E(g)-.1 E F0(mo)144 144 Q .807 -.15(ve b)-.15
+H .507(ack through the history list, inserting the last w).15 F .507
 (ord \(or the w)-.1 F .507(ord speci\214ed by the ar)-.1 F(gument)-.18 E
-1.396(to the \214rst call\) of each line in turn.)144 132 R(An)6.396 E
+1.396(to the \214rst call\) of each line in turn.)144 156 R(An)6.396 E
 3.896(yn)-.15 G 1.396(umeric ar)-3.896 F 1.397
 (gument supplied to these successi)-.18 F 1.697 -.15(ve c)-.25 H(alls)
-.15 E .492(determines the direction to mo)144 144 R .792 -.15(ve t)-.15
+.15 E .492(determines the direction to mo)144 168 R .792 -.15(ve t)-.15
 H .492(hrough the history).15 F 5.491(.A)-.65 G(ne)-2.5 E -.05(ga)-.15 G
 (ti).05 E .791 -.15(ve a)-.25 H -.18(rg).15 G .491
 (ument switches the direction).18 F .494
-(through the history \(back or forw)144 156 R 2.994(ard\). The)-.1 F
+(through the history \(back or forw)144 180 R 2.994(ard\). The)-.1 F
 .494(history e)2.994 F .494(xpansion f)-.15 F .494
-(acilities are used to e)-.1 F .494(xtract the last)-.15 F(ar)144 168 Q
+(acilities are used to e)-.1 F .494(xtract the last)-.15 F(ar)144 192 Q
 (gument, as if the "!$" history e)-.18 E(xpansion had been speci\214ed.)
--.15 E F1(shell\255expand\255line \(M\255C\255e\))108 180 Q F0 .623
-(Expand the line as the shell does.)144 192 R .622
+-.15 E F2(shell\255expand\255line \(M\255C\255e\))108 204 Q F0 .623
+(Expand the line as the shell does.)144 216 R .622
 (This performs alias and history e)5.622 F .622
-(xpansion as well as all of the)-.15 F(shell w)144 204 Q(ord e)-.1 E 2.5
-(xpansions. See)-.15 F/F2 9/Times-Bold@0 SF(HIST)2.5 E(OR)-.162 E 2.25
+(xpansion as well as all of the)-.15 F(shell w)144 228 Q(ord e)-.1 E 2.5
+(xpansions. See)-.15 F/F3 9/Times-Bold@0 SF(HIST)2.5 E(OR)-.162 E 2.25
 (YE)-.315 G(XP)-2.25 E(ANSION)-.666 E F0(belo)2.25 E 2.5(wf)-.25 G
-(or a description of history e)-2.5 E(xpansion.)-.15 E F1
-(history\255expand\255line \(M\255^\))108 216 Q F0 .938
-(Perform history e)144 228 R .939(xpansion on the current line.)-.15 F
-(See)5.939 E F2(HIST)3.439 E(OR)-.162 E 3.189(YE)-.315 G(XP)-3.189 E
+(or a description of history e)-2.5 E(xpansion.)-.15 E F2
+(history\255expand\255line \(M\255^\))108 240 Q F0 .938
+(Perform history e)144 252 R .939(xpansion on the current line.)-.15 F
+(See)5.939 E F3(HIST)3.439 E(OR)-.162 E 3.189(YE)-.315 G(XP)-3.189 E
 (ANSION)-.666 E F0(belo)3.189 E 3.439(wf)-.25 G .939(or a descrip-)
--3.439 F(tion of history e)144 240 Q(xpansion.)-.15 E F1(magic\255space)
-108 252 Q F0 1.627(Perform history e)144 264 R 1.627
-(xpansion on the current line and insert a space.)-.15 F(See)6.626 E F2
+-3.439 F(tion of history e)144 264 Q(xpansion.)-.15 E F2(magic\255space)
+108 276 Q F0 1.627(Perform history e)144 288 R 1.627
+(xpansion on the current line and insert a space.)-.15 F(See)6.626 E F3
 (HIST)4.126 E(OR)-.162 E 3.876(YE)-.315 G(XP)-3.876 E(ANSION)-.666 E F0
-(belo)144 276 Q 2.5(wf)-.25 G(or a description of history e)-2.5 E
-(xpansion.)-.15 E F1(alias\255expand\255line)108 288 Q F0 .394
-(Perform alias e)144 300 R .394(xpansion on the current line.)-.15 F
-(See)5.395 E F2(ALIASES)2.895 E F0(abo)2.645 E .695 -.15(ve f)-.15 H
-.395(or a description of alias e).15 F(xpan-)-.15 E(sion.)144 312 Q F1
-(history\255and\255alias\255expand\255line)108 324 Q F0
-(Perform history and alias e)144 336 Q(xpansion on the current line.)
--.15 E F1(insert\255last\255ar)108 348 Q(gument \(M\255.)-.1 E 2.5(,M)
-.833 G -1.667(\255_ \))-2.5 F F0 2.5(As)144 360 S(ynon)-2.5 E(ym for)
--.15 E F1(yank\255last\255ar)2.5 E(g)-.1 E F0(.)A F1
-(operate\255and\255get\255next \(C\255o\))108 372 Q F0 .948
-(Accept the current line for e)144 384 R -.15(xe)-.15 G .948
+(belo)144 300 Q 2.5(wf)-.25 G(or a description of history e)-2.5 E
+(xpansion.)-.15 E F2(alias\255expand\255line)108 312 Q F0 .394
+(Perform alias e)144 324 R .394(xpansion on the current line.)-.15 F
+(See)5.395 E F3(ALIASES)2.895 E F0(abo)2.645 E .695 -.15(ve f)-.15 H
+.395(or a description of alias e).15 F(xpan-)-.15 E(sion.)144 336 Q F2
+(history\255and\255alias\255expand\255line)108 348 Q F0
+(Perform history and alias e)144 360 Q(xpansion on the current line.)
+-.15 E F2(insert\255last\255ar)108 372 Q(gument \(M\255.)-.1 E 2.5(,M)
+.833 G -1.667(\255_ \))-2.5 F F0 2.5(As)144 384 S(ynon)-2.5 E(ym for)
+-.15 E F2(yank\255last\255ar)2.5 E(g)-.1 E F0(.)A F2
+(operate\255and\255get\255next \(C\255o\))108 396 Q F0 .948
+(Accept the current line for e)144 408 R -.15(xe)-.15 G .948
 (cution and fetch the ne).15 F .948(xt line relati)-.15 F 1.247 -.15
 (ve t)-.25 H 3.447(ot).15 G .947(he current line from the)-3.447 F
-(history for editing.)144 396 Q(An)5 E 2.5(ya)-.15 G -.18(rg)-2.5 G
-(ument is ignored.).18 E F1
-(edit\255and\255execute\255command \(C\255xC\255e\))108 408 Q F0(In)144
-420 Q -.2(vo)-.4 G 1.226 -.1(ke a).2 H 3.526(ne).1 G 1.026
+(history for editing.)144 420 Q(An)5 E 2.5(ya)-.15 G -.18(rg)-2.5 G
+(ument is ignored.).18 E F2
+(edit\255and\255execute\255command \(C\255xC\255e\))108 432 Q F0(In)144
+444 Q -.2(vo)-.4 G 1.226 -.1(ke a).2 H 3.526(ne).1 G 1.026
 (ditor on the current command line, and e)-3.526 F -.15(xe)-.15 G 1.026
-(cute the result as shell commands.).15 F F1(Bash)6.026 E F0
-(attempts to in)144 432 Q -.2(vo)-.4 G -.1(ke).2 G F2($VISU)2.6 E(AL)
--.54 E/F3 9/Times-Roman@0 SF(,)A F2($EDIT)2.25 E(OR)-.162 E F3(,)A F0
-(and)2.25 E/F4 10/Times-Italic@0 SF(emacs)2.5 E F0(as the editor)2.5 E
-2.5(,i)-.4 G 2.5(nt)-2.5 G(hat order)-2.5 E(.)-.55 E F1(Commands f)87
-448.8 Q(or Changing T)-.25 E(ext)-.92 E(delete\255char \(C\255d\))108
-460.8 Q F0 .358(Delete the character at point.)144 472.8 R .358
-(If point is at the be)5.358 F .358
-(ginning of the line, there are no characters in the)-.15 F
-(line, and the last character typed w)144 484.8 Q(as not bound to)-.1 E
-F1(delete\255char)2.5 E F0 2.5(,t)C(hen return)-2.5 E F2(EOF)2.5 E F3(.)
-A F1(backward\255delete\255char \(Rubout\))108 496.8 Q F0 .552
-(Delete the character behind the cursor)144 508.8 R 5.553(.W)-.55 G .553
+(cute the result as shell commands.).15 F F2(Bash)6.026 E F0
+(attempts to in)144 456 Q -.2(vo)-.4 G -.1(ke).2 G F3($VISU)2.6 E(AL)
+-.54 E/F4 9/Times-Roman@0 SF(,)A F3($EDIT)2.25 E(OR)-.162 E F4(,)A F0
+(and)2.25 E F1(emacs)2.5 E F0(as the editor)2.5 E 2.5(,i)-.4 G 2.5(nt)
+-2.5 G(hat order)-2.5 E(.)-.55 E F2(Commands f)87 472.8 Q(or Changing T)
+-.25 E(ext)-.92 E(delete\255char \(C\255d\))108 484.8 Q F0 .358
+(Delete the character at point.)144 496.8 R .358(If point is at the be)
+5.358 F .358(ginning of the line, there are no characters in the)-.15 F
+(line, and the last character typed w)144 508.8 Q(as not bound to)-.1 E
+F2(delete\255char)2.5 E F0 2.5(,t)C(hen return)-2.5 E F3(EOF)2.5 E F4(.)
+A F2(backward\255delete\255char \(Rubout\))108 520.8 Q F0 .552
+(Delete the character behind the cursor)144 532.8 R 5.553(.W)-.55 G .553
 (hen gi)-5.553 F -.15(ve)-.25 G 3.053(nan).15 G .553(umeric ar)-3.053 F
 .553(gument, sa)-.18 F .853 -.15(ve t)-.2 H .553(he deleted te).15 F
-.553(xt on)-.15 F(the kill ring.)144 520.8 Q F1 -.25(fo)108 532.8 S
+.553(xt on)-.15 F(the kill ring.)144 544.8 Q F2 -.25(fo)108 556.8 S
 (rward\255backward\255delete\255char).25 E F0 .474
-(Delete the character under the cursor)144 544.8 R 2.974(,u)-.4 G .474
+(Delete the character under the cursor)144 568.8 R 2.974(,u)-.4 G .474
 (nless the cursor is at the end of the line, in which case the)-2.974 F
-(character behind the cursor is deleted.)144 556.8 Q F1
-(quoted\255insert \(C\255q, C\255v\))108 568.8 Q F0 .778(Add the ne)144
-580.8 R .779(xt character typed to the line v)-.15 F 3.279
+(character behind the cursor is deleted.)144 580.8 Q F2
+(quoted\255insert \(C\255q, C\255v\))108 592.8 Q F0 .778(Add the ne)144
+604.8 R .779(xt character typed to the line v)-.15 F 3.279
 (erbatim. This)-.15 F .779(is ho)3.279 F 3.279(wt)-.25 G 3.279(oi)-3.279
-G .779(nsert characters lik)-3.279 F(e)-.1 E F1(C\255q)3.279 E F0 3.279
-(,f)C(or)-3.279 E -.15(ex)144 592.8 S(ample.).15 E F1
-(tab\255insert \(C\255v T)108 604.8 Q(AB\))-.9 E F0
-(Insert a tab character)144 616.8 Q(.)-.55 E F1
-(self\255insert \(a, b, A, 1, !, ...\))108 628.8 Q F0
-(Insert the character typed.)144 640.8 Q F1
-(transpose\255chars \(C\255t\))108 652.8 Q F0 .322
-(Drag the character before point forw)144 664.8 R .321(ard o)-.1 F -.15
+G .779(nsert characters lik)-3.279 F(e)-.1 E F2(C\255q)3.279 E F0 3.279
+(,f)C(or)-3.279 E -.15(ex)144 616.8 S(ample.).15 E F2
+(tab\255insert \(C\255v T)108 628.8 Q(AB\))-.9 E F0
+(Insert a tab character)144 640.8 Q(.)-.55 E F2
+(self\255insert \(a, b, A, 1, !, ...\))108 652.8 Q F0
+(Insert the character typed.)144 664.8 Q F2
+(transpose\255chars \(C\255t\))108 676.8 Q F0 .322
+(Drag the character before point forw)144 688.8 R .321(ard o)-.1 F -.15
 (ve)-.15 G 2.821(rt).15 G .321(he character at point, mo)-2.821 F .321
 (ving point forw)-.15 F .321(ard as well.)-.1 F 1.182
 (If point is at the end of the line, then this transposes the tw)144
-676.8 R 3.683(oc)-.1 G 1.183(haracters before point.)-3.683 F(Ne)6.183 E
--.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G(ar)144 688.8 Q(guments ha)-.18 E
-.3 -.15(ve n)-.2 H 2.5(oe).15 G -.25(ff)-2.5 G(ect.).25 E F1
-(transpose\255w)108 700.8 Q(ords \(M\255t\))-.1 E F0 .024(Drag the w)144
-712.8 R .024(ord before point past the w)-.1 F .023(ord after point, mo)
--.1 F .023(ving point o)-.15 F -.15(ve)-.15 G 2.523(rt).15 G .023(hat w)
--2.523 F .023(ord as well.)-.1 F .023(If point)5.023 F
-(is at the end of the line, this transposes the last tw)144 724.8 Q 2.5
-(ow)-.1 G(ords on the line.)-2.6 E(GNU Bash 4.2)72 768 Q(2011 July 7)
-151.505 E(41)200.665 E 0 Cg EP
+700.8 R 3.683(oc)-.1 G 1.183(haracters before point.)-3.683 F(Ne)6.183 E
+-.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G(ar)144 712.8 Q(guments ha)-.18 E
+.3 -.15(ve n)-.2 H 2.5(oe).15 G -.25(ff)-2.5 G(ect.).25 E(GNU Bash 4.2)
+72 768 Q(2011 September 25)135.955 E(41)185.115 E 0 Cg EP
 %%Page: 42 42
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(upcase\255w)108 84 Q(ord \(M\255u\))-.1 E
-F0 1.698(Uppercase the current \(or follo)144 96 R 1.698(wing\) w)-.25 F
-4.198(ord. W)-.1 F 1.698(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.999
--.15(ve a)-.25 H -.18(rg).15 G 1.699(ument, uppercase the pre).18 F
-(vious)-.25 E -.1(wo)144 108 S(rd, b).1 E(ut do not mo)-.2 E .3 -.15
-(ve p)-.15 H(oint.).15 E F1(do)108 120 Q(wncase\255w)-.1 E
-(ord \(M\255l\))-.1 E F0(Lo)144 132 Q 1.648
+-.35 E/F1 10/Times-Bold@0 SF(transpose\255w)108 84 Q(ords \(M\255t\))-.1
+E F0 .024(Drag the w)144 96 R .024(ord before point past the w)-.1 F
+.023(ord after point, mo)-.1 F .023(ving point o)-.15 F -.15(ve)-.15 G
+2.523(rt).15 G .023(hat w)-2.523 F .023(ord as well.)-.1 F .023
+(If point)5.023 F
+(is at the end of the line, this transposes the last tw)144 108 Q 2.5
+(ow)-.1 G(ords on the line.)-2.6 E F1(upcase\255w)108 120 Q
+(ord \(M\255u\))-.1 E F0 1.698(Uppercase the current \(or follo)144 132
+R 1.698(wing\) w)-.25 F 4.198(ord. W)-.1 F 1.698(ith a ne)-.4 F -.05(ga)
+-.15 G(ti).05 E 1.999 -.15(ve a)-.25 H -.18(rg).15 G 1.699
+(ument, uppercase the pre).18 F(vious)-.25 E -.1(wo)144 144 S(rd, b).1 E
+(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1(do)108 156 Q
+(wncase\255w)-.1 E(ord \(M\255l\))-.1 E F0(Lo)144 168 Q 1.648
 (wercase the current \(or follo)-.25 F 1.648(wing\) w)-.25 F 4.148
 (ord. W)-.1 F 1.647(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.947 -.15
 (ve a)-.25 H -.18(rg).15 G 1.647(ument, lo).18 F 1.647(wercase the pre)
--.25 F(vious)-.25 E -.1(wo)144 144 S(rd, b).1 E(ut do not mo)-.2 E .3
--.15(ve p)-.15 H(oint.).15 E F1(capitalize\255w)108 156 Q
-(ord \(M\255c\))-.1 E F0 1.974(Capitalize the current \(or follo)144 168
+-.25 F(vious)-.25 E -.1(wo)144 180 S(rd, b).1 E(ut do not mo)-.2 E .3
+-.15(ve p)-.15 H(oint.).15 E F1(capitalize\255w)108 192 Q
+(ord \(M\255c\))-.1 E F0 1.974(Capitalize the current \(or follo)144 204
 R 1.974(wing\) w)-.25 F 4.474(ord. W)-.1 F 1.974(ith a ne)-.4 F -.05(ga)
 -.15 G(ti).05 E 2.274 -.15(ve a)-.25 H -.18(rg).15 G 1.975
-(ument, capitalize the pre).18 F(vious)-.25 E -.1(wo)144 180 S(rd, b).1
-E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1 -.1(ove)108 192
-S(rwrite\255mode).1 E F0 -.8(To)144 204 S .438(ggle o).8 F -.15(ve)-.15
+(ument, capitalize the pre).18 F(vious)-.25 E -.1(wo)144 216 S(rd, b).1
+E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1 -.1(ove)108 228
+S(rwrite\255mode).1 E F0 -.8(To)144 240 S .438(ggle o).8 F -.15(ve)-.15
 G .438(rwrite mode.).15 F -.4(Wi)5.438 G .438(th an e).4 F .438
 (xplicit positi)-.15 F .737 -.15(ve n)-.25 H .437(umeric ar).15 F .437
 (gument, switches to o)-.18 F -.15(ve)-.15 G .437(rwrite mode.).15 F -.4
-(Wi)144 216 S .78(th an e).4 F .781(xplicit non-positi)-.15 F 1.081 -.15
+(Wi)144 252 S .78(th an e).4 F .781(xplicit non-positi)-.15 F 1.081 -.15
 (ve n)-.25 H .781(umeric ar).15 F .781(gument, switches to insert mode.)
--.18 F .781(This command af)5.781 F(fects)-.25 E(only)144 228 Q F1
+-.18 F .781(This command af)5.781 F(fects)-.25 E(only)144 264 Q F1
 (emacs)4.395 E F0(mode;)4.395 E F1(vi)4.395 E F0 1.894(mode does o)4.395
 F -.15(ve)-.15 G 1.894(rwrite dif).15 F(ferently)-.25 E 6.894(.E)-.65 G
 1.894(ach call to)-6.894 F/F2 10/Times-Italic@0 SF -.37(re)4.394 G
 (adline\(\)).37 E F0 1.894(starts in insert)4.394 F 3.968(mode. In)144
-240 R -.15(ove)3.968 G 1.468(rwrite mode, characters bound to).15 F F1
+276 R -.15(ove)3.968 G 1.468(rwrite mode, characters bound to).15 F F1
 (self\255insert)3.969 E F0 1.469(replace the te)3.969 F 1.469
-(xt at point rather than)-.15 F .958(pushing the te)144 252 R .958
+(xt at point rather than)-.15 F .958(pushing the te)144 288 R .958
 (xt to the right.)-.15 F .957(Characters bound to)5.958 F F1
 (backward\255delete\255char)3.457 E F0 .957(replace the character)3.457
-F(before point with a space.)144 264 Q(By def)5 E
-(ault, this command is unbound.)-.1 E F1(Killing and Y)87 280.8 Q
-(anking)-.85 E(kill\255line \(C\255k\))108 292.8 Q F0(Kill the te)144
-304.8 Q(xt from point to the end of the line.)-.15 E F1
-(backward\255kill\255line \(C\255x Rubout\))108 316.8 Q F0(Kill backw)
-144 328.8 Q(ard to the be)-.1 E(ginning of the line.)-.15 E F1
-(unix\255line\255discard \(C\255u\))108 340.8 Q F0(Kill backw)144 352.8
+F(before point with a space.)144 300 Q(By def)5 E
+(ault, this command is unbound.)-.1 E F1(Killing and Y)87 316.8 Q
+(anking)-.85 E(kill\255line \(C\255k\))108 328.8 Q F0(Kill the te)144
+340.8 Q(xt from point to the end of the line.)-.15 E F1
+(backward\255kill\255line \(C\255x Rubout\))108 352.8 Q F0(Kill backw)
+144 364.8 Q(ard to the be)-.1 E(ginning of the line.)-.15 E F1
+(unix\255line\255discard \(C\255u\))108 376.8 Q F0(Kill backw)144 388.8
 Q(ard from point to the be)-.1 E(ginning of the line.)-.15 E
 (The killed te)5 E(xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt)
--2.5 G(he kill-ring.)-2.5 E F1(kill\255whole\255line)108 364.8 Q F0
+-2.5 G(he kill-ring.)-2.5 E F1(kill\255whole\255line)108 400.8 Q F0
 (Kill all characters on the current line, no matter where point is.)144
-376.8 Q F1(kill\255w)108 388.8 Q(ord \(M\255d\))-.1 E F0 .728
-(Kill from point to the end of the current w)144 400.8 R .729
+412.8 Q F1(kill\255w)108 424.8 Q(ord \(M\255d\))-.1 E F0 .728
+(Kill from point to the end of the current w)144 436.8 R .729
 (ord, or if between w)-.1 F .729(ords, to the end of the ne)-.1 F .729
-(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 412.8 S
+(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 448.8 S
 (rd boundaries are the same as those used by).8 E F1 -.25(fo)2.5 G
-(rward\255w).25 E(ord)-.1 E F0(.)A F1(backward\255kill\255w)108 424.8 Q
-(ord \(M\255Rubout\))-.1 E F0(Kill the w)144 436.8 Q(ord behind point.)
+(rward\255w).25 E(ord)-.1 E F0(.)A F1(backward\255kill\255w)108 460.8 Q
+(ord \(M\255Rubout\))-.1 E F0(Kill the w)144 472.8 Q(ord behind point.)
 -.1 E -.8(Wo)5 G(rd boundaries are the same as those used by).8 E F1
-(backward\255w)2.5 E(ord)-.1 E F0(.)A F1(shell\255kill\255w)108 448.8 Q
+(backward\255w)2.5 E(ord)-.1 E F0(.)A F1(shell\255kill\255w)108 484.8 Q
 (ord \(M\255d\))-.1 E F0 .729
-(Kill from point to the end of the current w)144 460.8 R .728
+(Kill from point to the end of the current w)144 496.8 R .728
 (ord, or if between w)-.1 F .728(ords, to the end of the ne)-.1 F .728
-(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 472.8 S
+(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 508.8 S
 (rd boundaries are the same as those used by).8 E F1(shell\255f)2.5 E
 (orward\255w)-.25 E(ord)-.1 E F0(.)A F1(shell\255backward\255kill\255w)
-108 484.8 Q(ord \(M\255Rubout\))-.1 E F0 3.025(Kill the w)144 496.8 R
+108 520.8 Q(ord \(M\255Rubout\))-.1 E F0 3.025(Kill the w)144 532.8 R
 3.025(ord behind point.)-.1 F -.8(Wo)8.025 G 3.025
 (rd boundaries are the same as those used by).8 F F1(shell\255back-)
-5.525 E(ward\255w)144 508.8 Q(ord)-.1 E F0(.)A F1(unix\255w)108 520.8 Q
-(ord\255rubout \(C\255w\))-.1 E F0 .365(Kill the w)144 532.8 R .365
+5.525 E(ward\255w)144 544.8 Q(ord)-.1 E F0(.)A F1(unix\255w)108 556.8 Q
+(ord\255rubout \(C\255w\))-.1 E F0 .365(Kill the w)144 568.8 R .365
 (ord behind point, using white space as a w)-.1 F .364(ord boundary)-.1
 F 5.364(.T)-.65 G .364(he killed te)-5.364 F .364(xt is sa)-.15 F -.15
 (ve)-.2 G 2.864(do).15 G 2.864(nt)-2.864 G(he)-2.864 E(kill-ring.)144
-544.8 Q F1(unix\255\214lename\255rubout)108 556.8 Q F0 .166(Kill the w)
-144 568.8 R .166
+580.8 Q F1(unix\255\214lename\255rubout)108 592.8 Q F0 .166(Kill the w)
+144 604.8 R .166
 (ord behind point, using white space and the slash character as the w)
--.1 F .167(ord boundaries.)-.1 F(The)5.167 E(killed te)144 580.8 Q
+-.1 F .167(ord boundaries.)-.1 F(The)5.167 E(killed te)144 616.8 Q
 (xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt)-2.5 G(he kill-ring.)
--2.5 E F1(delete\255horizontal\255space \(M\255\\\))108 592.8 Q F0
-(Delete all spaces and tabs around point.)144 604.8 Q F1(kill\255r)108
-616.8 Q(egion)-.18 E F0(Kill the te)144 628.8 Q(xt in the current re)
--.15 E(gion.)-.15 E F1(copy\255r)108 640.8 Q(egion\255as\255kill)-.18 E
-F0(Cop)144 652.8 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E
+-2.5 E F1(delete\255horizontal\255space \(M\255\\\))108 628.8 Q F0
+(Delete all spaces and tabs around point.)144 640.8 Q F1(kill\255r)108
+652.8 Q(egion)-.18 E F0(Kill the te)144 664.8 Q(xt in the current re)
+-.15 E(gion.)-.15 E F1(copy\255r)108 676.8 Q(egion\255as\255kill)-.18 E
+F0(Cop)144 688.8 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E
 (gion to the kill b)-.15 E(uf)-.2 E(fer)-.25 E(.)-.55 E F1
-(copy\255backward\255w)108 664.8 Q(ord)-.1 E F0(Cop)144 676.8 Q 4.801
+(copy\255backward\255w)108 700.8 Q(ord)-.1 E F0(Cop)144 712.8 Q 4.801
 (yt)-.1 G 2.301(he w)-4.801 F 2.301(ord before point to the kill b)-.1 F
 (uf)-.2 E(fer)-.25 E 7.301(.T)-.55 G 2.301(he w)-7.301 F 2.3
-(ord boundaries are the same as)-.1 F F1(back-)4.8 E(ward\255w)144 688.8
-Q(ord)-.1 E F0(.)A F1(copy\255f)108 700.8 Q(orward\255w)-.25 E(ord)-.1 E
-F0(Cop)144 712.8 Q 4.507(yt)-.1 G 2.007(he w)-4.507 F 2.007(ord follo)
--.1 F 2.007(wing point to the kill b)-.25 F(uf)-.2 E(fer)-.25 E 7.008
-(.T)-.55 G 2.008(he w)-7.008 F 2.008(ord boundaries are the same as)-.1
-F F1 -.25(fo)4.508 G -.37(r-).25 G(ward\255w)144 724.8 Q(ord)-.1 E F0(.)
-A(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(42)200.665 E 0 Cg EP
+(ord boundaries are the same as)-.1 F F1(back-)4.8 E(ward\255w)144 724.8
+Q(ord)-.1 E F0(.)A(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(42)
+185.115 E 0 Cg EP
 %%Page: 43 43
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(yank \(C\255y\))108 84 Q F0 -1(Ya)144 96 S
-(nk the top of the kill ring into the b)1 E(uf)-.2 E(fer at point.)-.25
-E F1(yank\255pop \(M\255y\))108 108 Q F0
-(Rotate the kill ring, and yank the ne)144 120 Q 2.5(wt)-.25 G 2.5
+-.35 E/F1 10/Times-Bold@0 SF(copy\255f)108 84 Q(orward\255w)-.25 E(ord)
+-.1 E F0(Cop)144 96 Q 4.507(yt)-.1 G 2.007(he w)-4.507 F 2.007
+(ord follo)-.1 F 2.007(wing point to the kill b)-.25 F(uf)-.2 E(fer)-.25
+E 7.008(.T)-.55 G 2.008(he w)-7.008 F 2.008
+(ord boundaries are the same as)-.1 F F1 -.25(fo)4.508 G -.37(r-).25 G
+(ward\255w)144 108 Q(ord)-.1 E F0(.)A F1(yank \(C\255y\))108 120 Q F0 -1
+(Ya)144 132 S(nk the top of the kill ring into the b)1 E(uf)-.2 E
+(fer at point.)-.25 E F1(yank\255pop \(M\255y\))108 144 Q F0
+(Rotate the kill ring, and yank the ne)144 156 Q 2.5(wt)-.25 G 2.5
 (op. Only)-2.5 F -.1(wo)2.5 G(rks follo).1 E(wing)-.25 E F1(yank)2.5 E
-F0(or)2.5 E F1(yank\255pop)2.5 E F0(.)A F1(Numeric Ar)87 136.8 Q
-(guments)-.1 E(digit\255ar)108 148.8 Q
+F0(or)2.5 E F1(yank\255pop)2.5 E F0(.)A F1(Numeric Ar)87 172.8 Q
+(guments)-.1 E(digit\255ar)108 184.8 Q
 (gument \(M\2550, M\2551, ..., M\255\255\))-.1 E F0 .642
-(Add this digit to the ar)144 160.8 R .641
+(Add this digit to the ar)144 196.8 R .641
 (gument already accumulating, or start a ne)-.18 F 3.141(wa)-.25 G -.18
 (rg)-3.141 G 3.141(ument. M\255\255).18 F .641(starts a ne)3.141 F(g-)
--.15 E(ati)144 172.8 Q .3 -.15(ve a)-.25 H -.18(rg).15 G(ument.).18 E F1
-(uni)108 184.8 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .778
-(This is another w)144 196.8 R .779(ay to specify an ar)-.1 F 3.279
+-.15 E(ati)144 208.8 Q .3 -.15(ve a)-.25 H -.18(rg).15 G(ument.).18 E F1
+(uni)108 220.8 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .778
+(This is another w)144 232.8 R .779(ay to specify an ar)-.1 F 3.279
 (gument. If)-.18 F .779(this command is follo)3.279 F .779
 (wed by one or more digits,)-.25 F 1.376
 (optionally with a leading minus sign, those digits de\214ne the ar)144
-208.8 R 3.876(gument. If)-.18 F 1.376(the command is fol-)3.876 F(lo)144
-220.8 Q 1.17(wed by digits, e)-.25 F -.15(xe)-.15 G(cuting).15 E F1(uni)
+244.8 R 3.876(gument. If)-.18 F 1.376(the command is fol-)3.876 F(lo)144
+256.8 Q 1.17(wed by digits, e)-.25 F -.15(xe)-.15 G(cuting).15 E F1(uni)
 3.67 E -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0(ag)3.67 E 1.17
 (ain ends the numeric ar)-.05 F 1.17(gument, b)-.18 F 1.17(ut is other)
--.2 F(-)-.2 E .899(wise ignored.)144 232.8 R .898
+-.2 F(-)-.2 E .899(wise ignored.)144 268.8 R .898
 (As a special case, if this command is immediately follo)5.899 F .898
 (wed by a character that is)-.25 F .243
-(neither a digit or minus sign, the ar)144 244.8 R .243
+(neither a digit or minus sign, the ar)144 280.8 R .243
 (gument count for the ne)-.18 F .243(xt command is multiplied by four)
--.15 F 5.243(.T)-.55 G(he)-5.243 E(ar)144 256.8 Q .378
+-.15 F 5.243(.T)-.55 G(he)-5.243 E(ar)144 292.8 Q .378
 (gument count is initially one, so e)-.18 F -.15(xe)-.15 G .378
 (cuting this function the \214rst time mak).15 F .378(es the ar)-.1 F
-.378(gument count)-.18 F(four)144 268.8 Q 2.5(,as)-.4 G(econd time mak)
+.378(gument count)-.18 F(four)144 304.8 Q 2.5(,as)-.4 G(econd time mak)
 -2.5 E(es the ar)-.1 E(gument count sixteen, and so on.)-.18 E F1
-(Completing)87 285.6 Q(complete \(T)108 297.6 Q(AB\))-.9 E F0 1.137
-(Attempt to perform completion on the te)144 309.6 R 1.137
+(Completing)87 321.6 Q(complete \(T)108 333.6 Q(AB\))-.9 E F0 1.137
+(Attempt to perform completion on the te)144 345.6 R 1.137
 (xt before point.)-.15 F F1(Bash)6.137 E F0 1.137
-(attempts completion treating the)3.637 F(te)144 321.6 Q .533(xt as a v)
+(attempts completion treating the)3.637 F(te)144 357.6 Q .533(xt as a v)
 -.15 F .533(ariable \(if the te)-.25 F .533(xt be)-.15 F .533(gins with)
 -.15 F F1($)3.033 E F0 .533(\), username \(if the te)B .532(xt be)-.15 F
 .532(gins with)-.15 F F1(~)3.032 E F0 .532(\), hostname \(if the)B(te)
-144 333.6 Q .701(xt be)-.15 F .701(gins with)-.15 F F1(@)3.201 E F0 .701
+144 369.6 Q .701(xt be)-.15 F .701(gins with)-.15 F F1(@)3.201 E F0 .701
 (\), or command \(including aliases and functions\) in turn.)B .702
 (If none of these pro-)5.701 F
-(duces a match, \214lename completion is attempted.)144 345.6 Q F1
-(possible\255completions \(M\255?\))108 357.6 Q F0
-(List the possible completions of the te)144 369.6 Q(xt before point.)
--.15 E F1(insert\255completions \(M\255*\))108 381.6 Q F0 .783
-(Insert all completions of the te)144 393.6 R .783
+(duces a match, \214lename completion is attempted.)144 381.6 Q F1
+(possible\255completions \(M\255?\))108 393.6 Q F0
+(List the possible completions of the te)144 405.6 Q(xt before point.)
+-.15 E F1(insert\255completions \(M\255*\))108 417.6 Q F0 .783
+(Insert all completions of the te)144 429.6 R .783
 (xt before point that w)-.15 F .783(ould ha)-.1 F 1.083 -.15(ve b)-.2 H
 .783(een generated by).15 F F1(possible\255com-)3.282 E(pletions)144
-405.6 Q F0(.)A F1(menu\255complete)108 417.6 Q F0 .928(Similar to)144
-429.6 R F1(complete)3.428 E F0 3.428(,b)C .929(ut replaces the w)-3.628
+441.6 Q F0(.)A F1(menu\255complete)108 453.6 Q F0 .928(Similar to)144
+465.6 R F1(complete)3.428 E F0 3.428(,b)C .929(ut replaces the w)-3.628
 F .929(ord to be completed with a single match from the list of)-.1 F
-1.194(possible completions.)144 441.6 R 1.194(Repeated e)6.194 F -.15
+1.194(possible completions.)144 477.6 R 1.194(Repeated e)6.194 F -.15
 (xe)-.15 G 1.194(cution of).15 F F1(menu\255complete)3.694 E F0 1.193
 (steps through the list of possible)3.694 F .828
-(completions, inserting each match in turn.)144 453.6 R .828
+(completions, inserting each match in turn.)144 489.6 R .828
 (At the end of the list of completions, the bell is rung)5.828 F .727
-(\(subject to the setting of)144 465.6 R F1(bell\255style)3.227 E F0
+(\(subject to the setting of)144 501.6 R F1(bell\255style)3.227 E F0
 3.227(\)a)C .727(nd the original te)-3.227 F .727(xt is restored.)-.15 F
 .727(An ar)5.727 F .727(gument of)-.18 F/F2 10/Times-Italic@0 SF(n)3.227
 E F0(mo)3.227 E -.15(ve)-.15 G(s).15 E F2(n)3.227 E F0 1.73
-(positions forw)144 477.6 R 1.73(ard in the list of matches; a ne)-.1 F
+(positions forw)144 513.6 R 1.73(ard in the list of matches; a ne)-.1 F
 -.05(ga)-.15 G(ti).05 E 2.03 -.15(ve a)-.25 H -.18(rg).15 G 1.73
 (ument may be used to mo).18 F 2.03 -.15(ve b)-.15 H(ackw).15 E(ard)-.1
-E(through the list.)144 489.6 Q(This command is intended to be bound to)
+E(through the list.)144 525.6 Q(This command is intended to be bound to)
 5 E F1 -.9(TA)2.5 G(B).9 E F0 2.5(,b)C(ut is unbound by def)-2.7 E
-(ault.)-.1 E F1(menu\255complete\255backward)108 501.6 Q F0 .82
-(Identical to)144 513.6 R F1(menu\255complete)3.32 E F0 3.32(,b)C .82
+(ault.)-.1 E F1(menu\255complete\255backward)108 537.6 Q F0 .82
+(Identical to)144 549.6 R F1(menu\255complete)3.32 E F0 3.32(,b)C .82
 (ut mo)-3.52 F -.15(ve)-.15 G 3.32(sb).15 G(ackw)-3.32 E .82
 (ard through the list of possible completions, as if)-.1 F F1
-(menu\255complete)144 525.6 Q F0(had been gi)2.5 E -.15(ve)-.25 G 2.5
+(menu\255complete)144 561.6 Q F0(had been gi)2.5 E -.15(ve)-.25 G 2.5
 (nan).15 G -2.25 -.15(eg a)-2.5 H(ti).15 E .3 -.15(ve a)-.25 H -.18(rg)
 .15 G 2.5(ument. This).18 F(command is unbound by def)2.5 E(ault.)-.1 E
-F1(delete\255char\255or\255list)108 537.6 Q F0 .234
-(Deletes the character under the cursor if not at the be)144 549.6 R
+F1(delete\255char\255or\255list)108 573.6 Q F0 .234
+(Deletes the character under the cursor if not at the be)144 585.6 R
 .234(ginning or end of the line \(lik)-.15 F(e)-.1 E F1(delete\255char)
-2.735 E F0(\).)A .425(If at the end of the line, beha)144 561.6 R -.15
+2.735 E F0(\).)A .425(If at the end of the line, beha)144 597.6 R -.15
 (ve)-.2 G 2.925(si).15 G .425(dentically to)-2.925 F F1
 (possible\255completions)2.925 E F0 5.425(.T)C .425
-(his command is unbound)-5.425 F(by def)144 573.6 Q(ault.)-.1 E F1
-(complete\255\214lename \(M\255/\))108 585.6 Q F0
-(Attempt \214lename completion on the te)144 597.6 Q(xt before point.)
--.15 E F1(possible\255\214lename\255completions \(C\255x /\))108 609.6 Q
-F0(List the possible completions of the te)144 621.6 Q
+(his command is unbound)-5.425 F(by def)144 609.6 Q(ault.)-.1 E F1
+(complete\255\214lename \(M\255/\))108 621.6 Q F0
+(Attempt \214lename completion on the te)144 633.6 Q(xt before point.)
+-.15 E F1(possible\255\214lename\255completions \(C\255x /\))108 645.6 Q
+F0(List the possible completions of the te)144 657.6 Q
 (xt before point, treating it as a \214lename.)-.15 E F1
-(complete\255user)108 633.6 Q(name \(M\255~\))-.15 E F0
-(Attempt completion on the te)144 645.6 Q
+(complete\255user)108 669.6 Q(name \(M\255~\))-.15 E F0
+(Attempt completion on the te)144 681.6 Q
 (xt before point, treating it as a username.)-.15 E F1(possible\255user)
-108 657.6 Q(name\255completions \(C\255x ~\))-.15 E F0
-(List the possible completions of the te)144 669.6 Q
-(xt before point, treating it as a username.)-.15 E F1(complete\255v)108
-681.6 Q(ariable \(M\255$\))-.1 E F0(Attempt completion on the te)144
-693.6 Q(xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E
-F1(possible\255v)108 705.6 Q(ariable\255completions \(C\255x $\))-.1 E
-F0(List the possible completions of the te)144 717.6 Q
-(xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E
-(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(43)200.665 E 0 Cg EP
+108 693.6 Q(name\255completions \(C\255x ~\))-.15 E F0
+(List the possible completions of the te)144 705.6 Q
+(xt before point, treating it as a username.)-.15 E(GNU Bash 4.2)72 768
+Q(2011 September 25)135.955 E(43)185.115 E 0 Cg EP
 %%Page: 44 44
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(complete\255hostname \(M\255@\))108 84 Q F0
-(Attempt completion on the te)144 96 Q
-(xt before point, treating it as a hostname.)-.15 E F1
-(possible\255hostname\255completions \(C\255x @\))108 108 Q F0
+-.35 E/F1 10/Times-Bold@0 SF(complete\255v)108 84 Q(ariable \(M\255$\))
+-.1 E F0(Attempt completion on the te)144 96 Q
+(xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E F1
+(possible\255v)108 108 Q(ariable\255completions \(C\255x $\))-.1 E F0
 (List the possible completions of the te)144 120 Q
+(xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E F1
+(complete\255hostname \(M\255@\))108 132 Q F0
+(Attempt completion on the te)144 144 Q
+(xt before point, treating it as a hostname.)-.15 E F1
+(possible\255hostname\255completions \(C\255x @\))108 156 Q F0
+(List the possible completions of the te)144 168 Q
 (xt before point, treating it as a hostname.)-.15 E F1
-(complete\255command \(M\255!\))108 132 Q F0 .58
-(Attempt completion on the te)144 144 R .581
+(complete\255command \(M\255!\))108 180 Q F0 .58
+(Attempt completion on the te)144 192 R .581
 (xt before point, treating it as a command name.)-.15 F .581
-(Command comple-)5.581 F .715(tion attempts to match the te)144 156 R
+(Command comple-)5.581 F .715(tion attempts to match the te)144 204 R
 .715(xt ag)-.15 F .715(ainst aliases, reserv)-.05 F .715(ed w)-.15 F
 .715(ords, shell functions, shell b)-.1 F .715(uiltins, and)-.2 F
-(\214nally e)144 168 Q -.15(xe)-.15 G
+(\214nally e)144 216 Q -.15(xe)-.15 G
 (cutable \214lenames, in that order).15 E(.)-.55 E F1
-(possible\255command\255completions \(C\255x !\))108 180 Q F0
-(List the possible completions of the te)144 192 Q
+(possible\255command\255completions \(C\255x !\))108 228 Q F0
+(List the possible completions of the te)144 240 Q
 (xt before point, treating it as a command name.)-.15 E F1
-(dynamic\255complete\255history \(M\255T)108 204 Q(AB\))-.9 E F0 .424
-(Attempt completion on the te)144 216 R .425
+(dynamic\255complete\255history \(M\255T)108 252 Q(AB\))-.9 E F0 .424
+(Attempt completion on the te)144 264 R .425
 (xt before point, comparing the te)-.15 F .425(xt ag)-.15 F .425
 (ainst lines from the history list)-.05 F
-(for possible completion matches.)144 228 Q F1(dab)108 240 Q(br)-.1 E
+(for possible completion matches.)144 276 Q F1(dab)108 288 Q(br)-.1 E
 -.15(ev)-.18 G(\255expand).15 E F0 .611
-(Attempt menu completion on the te)144 252 R .611
+(Attempt menu completion on the te)144 300 R .611
 (xt before point, comparing the te)-.15 F .61(xt ag)-.15 F .61
 (ainst lines from the his-)-.05 F
-(tory list for possible completion matches.)144 264 Q F1
-(complete\255into\255braces \(M\255{\))108 276 Q F0 .4(Perform \214lena\
+(tory list for possible completion matches.)144 312 Q F1
+(complete\255into\255braces \(M\255{\))108 324 Q F0 .4(Perform \214lena\
 me completion and insert the list of possible completions enclosed with\
-in braces so)144 288 R(the list is a)144 300 Q -.25(va)-.2 G
+in braces so)144 336 R(the list is a)144 348 Q -.25(va)-.2 G
 (ilable to the shell \(see).25 E F1(Brace Expansion)2.5 E F0(abo)2.5 E
--.15(ve)-.15 G(\).).15 E F1 -.25(Ke)87 316.8 S(yboard Macr).25 E(os)-.18
-E(start\255kbd\255macr)108 328.8 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\))
-.833 E F0(Be)144 340.8 Q(gin sa)-.15 E
+-.15(ve)-.15 G(\).).15 E F1 -.25(Ke)87 364.8 S(yboard Macr).25 E(os)-.18
+E(start\255kbd\255macr)108 376.8 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\))
+.833 E F0(Be)144 388.8 Q(gin sa)-.15 E
 (ving the characters typed into the current k)-.2 E -.15(ey)-.1 G
-(board macro.).15 E F1(end\255kbd\255macr)108 352.8 Q 2.5(o\()-.18 G
-(C\255x \))-2.5 E(\)).833 E F0(Stop sa)144 364.8 Q
+(board macro.).15 E F1(end\255kbd\255macr)108 400.8 Q 2.5(o\()-.18 G
+(C\255x \))-2.5 E(\)).833 E F0(Stop sa)144 412.8 Q
 (ving the characters typed into the current k)-.2 E -.15(ey)-.1 G
 (board macro and store the de\214nition.).15 E F1
-(call\255last\255kbd\255macr)108 376.8 Q 2.5(o\()-.18 G(C\255x e\))-2.5
-E F0(Re-e)144 388.8 Q -.15(xe)-.15 G 1(cute the last k).15 F -.15(ey)-.1
+(call\255last\255kbd\255macr)108 424.8 Q 2.5(o\()-.18 G(C\255x e\))-2.5
+E F0(Re-e)144 436.8 Q -.15(xe)-.15 G 1(cute the last k).15 F -.15(ey)-.1
 G .999(board macro de\214ned, by making the characters in the macro app\
-ear as if).15 F(typed at the k)144 400.8 Q -.15(ey)-.1 G(board.).15 E F1
-(Miscellaneous)87 417.6 Q -.18(re)108 429.6 S<ad72>.18 E
+ear as if).15 F(typed at the k)144 448.8 Q -.15(ey)-.1 G(board.).15 E F1
+(Miscellaneous)87 465.6 Q -.18(re)108 477.6 S<ad72>.18 E
 (ead\255init\255\214le \(C\255x C\255r\))-.18 E F0 1.776
-(Read in the contents of the)144 441.6 R/F2 10/Times-Italic@0 SF(inputr)
+(Read in the contents of the)144 489.6 R/F2 10/Times-Italic@0 SF(inputr)
 4.276 E(c)-.37 E F0 1.777(\214le, and incorporate an)4.276 F 4.277(yb)
 -.15 G 1.777(indings or v)-4.277 F 1.777(ariable assignments)-.25 F
-(found there.)144 453.6 Q F1(abort \(C\255g\))108 465.6 Q F0 3.249
-(Abort the current editing command and ring the terminal')144 477.6 R
+(found there.)144 501.6 Q F1(abort \(C\255g\))108 513.6 Q F0 3.249
+(Abort the current editing command and ring the terminal')144 525.6 R
 5.748(sb)-.55 G 3.248(ell \(subject to the setting of)-5.748 F F1
-(bell\255style)144 489.6 Q F0(\).)A F1(do\255upper)108 501.6 Q
+(bell\255style)144 537.6 Q F0(\).)A F1(do\255upper)108 549.6 Q
 (case\255v)-.18 E(ersion \(M\255a, M\255b, M\255)-.1 E F2(x)A F1 2.5(,.)
-C(..\))-2.5 E F0 1.755(If the meta\214ed character)144 513.6 R F2(x)
+C(..\))-2.5 E F0 1.755(If the meta\214ed character)144 561.6 R F2(x)
 4.255 E F0 1.755(is lo)4.255 F 1.756
 (wercase, run the command that is bound to the corresponding)-.25 F
-(uppercase character)144 525.6 Q(.)-.55 E F1(pr)108 537.6 Q
-(e\214x\255meta \(ESC\))-.18 E F0(Metafy the ne)144 549.6 Q
+(uppercase character)144 573.6 Q(.)-.55 E F1(pr)108 585.6 Q
+(e\214x\255meta \(ESC\))-.18 E F0(Metafy the ne)144 597.6 Q
 (xt character typed.)-.15 E/F3 9/Times-Bold@0 SF(ESC)5 E F1(f)2.25 E F0
 (is equi)2.5 E -.25(va)-.25 G(lent to).25 E F1(Meta\255f)2.5 E F0(.)A F1
-(undo \(C\255_, C\255x C\255u\))108 561.6 Q F0
-(Incremental undo, separately remembered for each line.)144 573.6 Q F1
--2.29 -.18(re v)108 585.6 T(ert\255line \(M\255r\)).08 E F0 1.095
-(Undo all changes made to this line.)144 597.6 R 1.095(This is lik)6.095
+(undo \(C\255_, C\255x C\255u\))108 609.6 Q F0
+(Incremental undo, separately remembered for each line.)144 621.6 Q F1
+-2.29 -.18(re v)108 633.6 T(ert\255line \(M\255r\)).08 E F0 1.095
+(Undo all changes made to this line.)144 645.6 R 1.095(This is lik)6.095
 F 3.595(ee)-.1 G -.15(xe)-3.745 G 1.095(cuting the).15 F F1(undo)3.595 E
 F0 1.095(command enough times to)3.595 F
-(return the line to its initial state.)144 609.6 Q F1
-(tilde\255expand \(M\255&\))108 621.6 Q F0(Perform tilde e)144 633.6 Q
+(return the line to its initial state.)144 657.6 Q F1
+(tilde\255expand \(M\255&\))108 669.6 Q F0(Perform tilde e)144 681.6 Q
 (xpansion on the current w)-.15 E(ord.)-.1 E F1
-(set\255mark \(C\255@, M\255<space>\))108 645.6 Q F0
-(Set the mark to the point.)144 657.6 Q(If a numeric ar)5 E
-(gument is supplied, the mark is set to that position.)-.18 E F1
-(exchange\255point\255and\255mark \(C\255x C\255x\))108 669.6 Q F0(Sw)
-144 681.6 Q .282(ap the point with the mark.)-.1 F .283
-(The current cursor position is set to the sa)5.283 F -.15(ve)-.2 G
-2.783(dp).15 G .283(osition, and the old)-2.783 F(cursor position is sa)
-144 693.6 Q -.15(ve)-.2 G 2.5(da).15 G 2.5(st)-2.5 G(he mark.)-2.5 E F1
-(character\255sear)108 705.6 Q(ch \(C\255]\))-.18 E F0 3.036(Ac)144
-717.6 S .536(haracter is read and point is mo)-3.036 F -.15(ve)-.15 G
-3.035(dt).15 G 3.035(ot)-3.035 G .535(he ne)-3.035 F .535
-(xt occurrence of that character)-.15 F 5.535(.A)-.55 G(ne)-2.5 E -.05
-(ga)-.15 G(ti).05 E .835 -.15(ve c)-.25 H(ount).15 E(searches for pre)
-144 729.6 Q(vious occurrences.)-.25 E(GNU Bash 4.2)72 768 Q(2011 July 7)
-151.505 E(44)200.665 E 0 Cg EP
+(set\255mark \(C\255@, M\255<space>\))108 693.6 Q F0
+(Set the mark to the point.)144 705.6 Q(If a numeric ar)5 E
+(gument is supplied, the mark is set to that position.)-.18 E
+(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(44)185.115 E 0 Cg EP
 %%Page: 45 45
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(character\255sear)108 84 Q
-(ch\255backward \(M\255C\255]\))-.18 E F0 3.543(Ac)144 96 S 1.043
+-.35 E/F1 10/Times-Bold@0 SF
+(exchange\255point\255and\255mark \(C\255x C\255x\))108 84 Q F0(Sw)144
+96 Q .282(ap the point with the mark.)-.1 F .283
+(The current cursor position is set to the sa)5.283 F -.15(ve)-.2 G
+2.783(dp).15 G .283(osition, and the old)-2.783 F(cursor position is sa)
+144 108 Q -.15(ve)-.2 G 2.5(da).15 G 2.5(st)-2.5 G(he mark.)-2.5 E F1
+(character\255sear)108 120 Q(ch \(C\255]\))-.18 E F0 3.036(Ac)144 132 S
+.536(haracter is read and point is mo)-3.036 F -.15(ve)-.15 G 3.035(dt)
+.15 G 3.035(ot)-3.035 G .535(he ne)-3.035 F .535
+(xt occurrence of that character)-.15 F 5.535(.A)-.55 G(ne)-2.5 E -.05
+(ga)-.15 G(ti).05 E .835 -.15(ve c)-.25 H(ount).15 E(searches for pre)
+144 144 Q(vious occurrences.)-.25 E F1(character\255sear)108 156 Q
+(ch\255backward \(M\255C\255]\))-.18 E F0 3.543(Ac)144 168 S 1.043
 (haracter is read and point is mo)-3.543 F -.15(ve)-.15 G 3.544(dt).15 G
 3.544(ot)-3.544 G 1.044(he pre)-3.544 F 1.044
 (vious occurrence of that character)-.25 F 6.044(.A)-.55 G(ne)-2.5 E
 -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G
-(count searches for subsequent occurrences.)144 108 Q F1
-(skip\255csi\255sequence)108 120 Q F0 1.827
-(Read enough characters to consume a multi-k)144 132 R 2.126 -.15(ey s)
+(count searches for subsequent occurrences.)144 180 Q F1
+(skip\255csi\255sequence)108 192 Q F0 1.827
+(Read enough characters to consume a multi-k)144 204 R 2.126 -.15(ey s)
 -.1 H 1.826(equence such as those de\214ned for k).15 F -.15(ey)-.1 G
-4.326(sl).15 G(ik)-4.326 E(e)-.1 E .79(Home and End.)144 144 R .791
+4.326(sl).15 G(ik)-4.326 E(e)-.1 E .79(Home and End.)144 216 R .791
 (Such sequences be)5.79 F .791
 (gin with a Control Sequence Indicator \(CSI\), usually ESC\255[.)-.15 F
-.332(If this sequence is bound to "\\[", k)144 156 R -.15(ey)-.1 G 2.831
+.332(If this sequence is bound to "\\[", k)144 228 R -.15(ey)-.1 G 2.831
 (sp).15 G .331(roducing such sequences will ha)-2.831 F .631 -.15(ve n)
 -.2 H 2.831(oe).15 G -.25(ff)-2.831 G .331(ect unless e).25 F(xplic-)
 -.15 E .026(itly bound to a readline command, instead of inserting stra\
-y characters into the editing b)144 168 R(uf)-.2 E(fer)-.25 E 5.026(.T)
--.55 G(his)-5.026 E(is unbound by def)144 180 Q(ault, b)-.1 E
+y characters into the editing b)144 240 R(uf)-.2 E(fer)-.25 E 5.026(.T)
+-.55 G(his)-5.026 E(is unbound by def)144 252 Q(ault, b)-.1 E
 (ut usually bound to ESC\255[.)-.2 E F1(insert\255comment \(M\255#\))108
-192 Q F0 -.4(Wi)144 204 S .481(thout a numeric ar).4 F .481
+264 Q F0 -.4(Wi)144 276 S .481(thout a numeric ar).4 F .481
 (gument, the v)-.18 F .481(alue of the readline)-.25 F F1
 (comment\255begin)2.981 E F0 -.25(va)2.981 G .48
-(riable is inserted at the).25 F(be)144 216 Q .097
+(riable is inserted at the).25 F(be)144 288 Q .097
 (ginning of the current line.)-.15 F .098(If a numeric ar)5.097 F .098
 (gument is supplied, this command acts as a toggle:)-.18 F(if)5.098 E
-.322(the characters at the be)144 228 R .321
+.322(the characters at the be)144 300 R .321
 (ginning of the line do not match the v)-.15 F .321(alue of)-.25 F F1
 (comment\255begin)2.821 E F0 2.821(,t)C .321(he v)-2.821 F .321(alue is)
--.25 F .831(inserted, otherwise the characters in)144 240 R F1
+-.25 F .831(inserted, otherwise the characters in)144 312 R F1
 (comment\255begin)3.331 E F0 .832(are deleted from the be)3.331 F .832
 (ginning of the line.)-.15 F 1.469
-(In either case, the line is accepted as if a ne)144 252 R 1.468
+(In either case, the line is accepted as if a ne)144 324 R 1.468
 (wline had been typed.)-.25 F 1.468(The def)6.468 F 1.468(ault v)-.1 F
-1.468(alue of)-.25 F F1(com-)3.968 E(ment\255begin)144 264 Q F0 .839
+1.468(alue of)-.25 F F1(com-)3.968 E(ment\255begin)144 336 Q F0 .839
 (causes this command to mak)3.339 F 3.339(et)-.1 G .839
 (he current line a shell comment.)-3.339 F .84(If a numeric ar)5.84 F
-(gu-)-.18 E(ment causes the comment character to be remo)144 276 Q -.15
+(gu-)-.18 E(ment causes the comment character to be remo)144 348 Q -.15
 (ve)-.15 G(d, the line will be e).15 E -.15(xe)-.15 G
-(cuted by the shell.).15 E F1(glob\255complete\255w)108 288 Q
-(ord \(M\255g\))-.1 E F0 .792(The w)144 300 R .791
+(cuted by the shell.).15 E F1(glob\255complete\255w)108 360 Q
+(ord \(M\255g\))-.1 E F0 .792(The w)144 372 R .791
 (ord before point is treated as a pattern for pathname e)-.1 F .791
-(xpansion, with an asterisk implicitly)-.15 F 2.5(appended. This)144 312
-R(pattern is used to generate a list of matching \214le names for possi\
-ble completions.)2.5 E F1(glob\255expand\255w)108 324 Q
-(ord \(C\255x *\))-.1 E F0 .371(The w)144 336 R .372
-(ord before point is treated as a pattern for pathname e)-.1 F .372
-(xpansion, and the list of matching \214le)-.15 F .516
-(names is inserted, replacing the w)144 348 R 3.016(ord. If)-.1 F 3.016
+(xpansion, with an asterisk implicitly)-.15 F 2.5(appended. This)144 384
+R(pattern is used to generate a list of matching \214lenames for possib\
+le completions.)2.5 E F1(glob\255expand\255w)108 396 Q(ord \(C\255x *\))
+-.1 E F0 .175(The w)144 408 R .176
+(ord before point is treated as a pattern for pathname e)-.1 F .176
+(xpansion, and the list of matching \214le-)-.15 F .516
+(names is inserted, replacing the w)144 420 R 3.016(ord. If)-.1 F 3.016
 (an)3.016 G .516(umeric ar)-3.016 F .516
 (gument is supplied, an asterisk is appended)-.18 F(before pathname e)
-144 360 Q(xpansion.)-.15 E F1(glob\255list\255expansions \(C\255x g\))
-108 372 Q F0 .923(The list of e)144 384 R .923(xpansions that w)-.15 F
+144 432 Q(xpansion.)-.15 E F1(glob\255list\255expansions \(C\255x g\))
+108 444 Q F0 .923(The list of e)144 456 R .923(xpansions that w)-.15 F
 .923(ould ha)-.1 F 1.223 -.15(ve b)-.2 H .923(een generated by).15 F F1
 (glob\255expand\255w)3.423 E(ord)-.1 E F0 .923(is displayed, and)3.423 F
-.872(the line is redra)144 396 R 3.372(wn. If)-.15 F 3.372(an)3.372 G
+.872(the line is redra)144 468 R 3.372(wn. If)-.15 F 3.372(an)3.372 G
 .872(umeric ar)-3.372 F .872
 (gument is supplied, an asterisk is appended before pathname)-.18 F -.15
-(ex)144 408 S(pansion.).15 E F1(dump\255functions)108 420 Q F0 .626
-(Print all of the functions and their k)144 432 R .926 -.15(ey b)-.1 H
+(ex)144 480 S(pansion.).15 E F1(dump\255functions)108 492 Q F0 .626
+(Print all of the functions and their k)144 504 R .926 -.15(ey b)-.1 H
 .627(indings to the readline output stream.).15 F .627(If a numeric ar)
 5.627 F(gu-)-.18 E
-(ment is supplied, the output is formatted in such a w)144 444 Q
+(ment is supplied, the output is formatted in such a w)144 516 Q
 (ay that it can be made part of an)-.1 E/F2 10/Times-Italic@0 SF(inputr)
-2.5 E(c)-.37 E F0(\214le.)2.5 E F1(dump\255v)108 456 Q(ariables)-.1 E F0
-1.8(Print all of the settable readline v)144 468 R 1.799
+2.5 E(c)-.37 E F0(\214le.)2.5 E F1(dump\255v)108 528 Q(ariables)-.1 E F0
+1.8(Print all of the settable readline v)144 540 R 1.799
 (ariables and their v)-.25 F 1.799(alues to the readline output stream.)
--.25 F 1.799(If a)6.799 F .304(numeric ar)144 480 R .304
+-.25 F 1.799(If a)6.799 F .304(numeric ar)144 552 R .304
 (gument is supplied, the output is formatted in such a w)-.18 F .304
-(ay that it can be made part of an)-.1 F F2(inputr)144 492 Q(c)-.37 E F0
-(\214le.)2.5 E F1(dump\255macr)108 504 Q(os)-.18 E F0 .593
-(Print all of the readline k)144 516 R .893 -.15(ey s)-.1 H .592
+(ay that it can be made part of an)-.1 F F2(inputr)144 564 Q(c)-.37 E F0
+(\214le.)2.5 E F1(dump\255macr)108 576 Q(os)-.18 E F0 .593
+(Print all of the readline k)144 588 R .893 -.15(ey s)-.1 H .592
 (equences bound to macros and the strings the).15 F 3.092(yo)-.15 G
-3.092(utput. If)-3.092 F 3.092(an)3.092 G(umeric)-3.092 E(ar)144 528 Q
+3.092(utput. If)-3.092 F 3.092(an)3.092 G(umeric)-3.092 E(ar)144 600 Q
 .528(gument is supplied, the output is formatted in such a w)-.18 F .528
 (ay that it can be made part of an)-.1 F F2(inputr)3.028 E(c)-.37 E F0
-(\214le.)144 540 Q F1(display\255shell\255v)108 552 Q
-(ersion \(C\255x C\255v\))-.1 E F0(Display v)144 564 Q
+(\214le.)144 612 Q F1(display\255shell\255v)108 624 Q
+(ersion \(C\255x C\255v\))-.1 E F0(Display v)144 636 Q
 (ersion information about the current instance of)-.15 E F1(bash)2.5 E
-F0(.)A F1(Pr)87 580.8 Q(ogrammable Completion)-.18 E F0 .147(When w)108
-592.8 R .147(ord completion is attempted for an ar)-.1 F .147
+F0(.)A F1(Pr)87 652.8 Q(ogrammable Completion)-.18 E F0 .147(When w)108
+664.8 R .147(ord completion is attempted for an ar)-.1 F .147
 (gument to a command for which a completion speci\214cation \(a)-.18 F
-F2(compspec)108 604.8 Q F0 3.828(\)h)C 1.329
+F2(compspec)108 676.8 Q F0 3.828(\)h)C 1.329
 (as been de\214ned using the)-3.828 F F1(complete)3.829 E F0 -.2(bu)
 3.829 G 1.329(iltin \(see).2 F/F3 9/Times-Bold@0 SF 1.329(SHELL B)3.829
 F(UIL)-.09 E 1.329(TIN COMMANDS)-.828 F F0(belo)3.579 E 1.329(w\), the)
--.25 F(programmable completion f)108 616.8 Q(acilities are in)-.1 E -.2
+-.25 F(programmable completion f)108 688.8 Q(acilities are in)-.1 E -.2
 (vo)-.4 G -.1(ke).2 G(d.).1 E .498
-(First, the command name is identi\214ed.)108 633.6 R .498
+(First, the command name is identi\214ed.)108 705.6 R .498
 (If the command w)5.498 F .497
 (ord is the empty string \(completion attempted at)-.1 F .233(the be)108
-645.6 R .233(ginning of an empty line\), an)-.15 F 2.733(yc)-.15 G .233
+717.6 R .233(ginning of an empty line\), an)-.15 F 2.733(yc)-.15 G .233
 (ompspec de\214ned with the)-2.733 F F1<ad45>2.733 E F0 .233(option to)
 2.733 F F1(complete)2.733 E F0 .233(is used.)2.733 F .234(If a comp-)
 5.234 F .481(spec has been de\214ned for that command, the compspec is \
-used to generate the list of possible completions)108 657.6 R .822
-(for the w)108 669.6 R 3.322(ord. If)-.1 F .822(the command w)3.322 F
-.823(ord is a full pathname, a compspec for the full pathname is search\
-ed for)-.1 F 2.867(\214rst. If)108 681.6 R .366(no compspec is found fo\
-r the full pathname, an attempt is made to \214nd a compspec for the po\
-rtion)2.867 F(follo)108 693.6 Q .298(wing the \214nal slash.)-.25 F .298
-(If those searches do not result in a compspec, an)5.298 F 2.799(yc)-.15
-G .299(ompspec de\214ned with the)-2.799 F F1<ad44>2.799 E F0(option to)
-108 705.6 Q F1(complete)2.5 E F0(is used as the def)2.5 E(ault.)-.1 E
-.817(Once a compspec has been found, it is used to generate the list of\
- matching w)108 722.4 R 3.317(ords. If)-.1 F 3.317(ac)3.317 G .817
-(ompspec is not)-3.317 F(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(45)
-200.665 E 0 Cg EP
+used to generate the list of possible completions)108 729.6 R
+(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(45)185.115 E 0 Cg EP
 %%Page: 46 46
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(found, the def)108 84 Q(ault)-.1 E/F1 10/Times-Bold@0 SF(bash)2.5
-E F0(completion as described abo)2.5 E .3 -.15(ve u)-.15 H(nder).15 E F1
+-.35 E .822(for the w)108 84 R 3.322(ord. If)-.1 F .822(the command w)
+3.322 F .823(ord is a full pathname, a compspec for the full pathname i\
+s searched for)-.1 F 2.867(\214rst. If)108 96 R .366(no compspec is fou\
+nd for the full pathname, an attempt is made to \214nd a compspec for t\
+he portion)2.867 F(follo)108 108 Q .298(wing the \214nal slash.)-.25 F
+.298(If those searches do not result in a compspec, an)5.298 F 2.799(yc)
+-.15 G .299(ompspec de\214ned with the)-2.799 F/F1 10/Times-Bold@0 SF
+<ad44>2.799 E F0(option to)108 120 Q F1(complete)2.5 E F0
+(is used as the def)2.5 E(ault.)-.1 E .817(Once a compspec has been fou\
+nd, it is used to generate the list of matching w)108 136.8 R 3.317
+(ords. If)-.1 F 3.317(ac)3.317 G .817(ompspec is not)-3.317 F
+(found, the def)108 148.8 Q(ault)-.1 E F1(bash)2.5 E F0
+(completion as described abo)2.5 E .3 -.15(ve u)-.15 H(nder).15 E F1
 (Completing)2.5 E F0(is performed.)2.5 E .463
-(First, the actions speci\214ed by the compspec are used.)108 100.8 R
+(First, the actions speci\214ed by the compspec are used.)108 165.6 R
 .464(Only matches which are pre\214x)5.464 F .464(ed by the w)-.15 F
-.464(ord being)-.1 F .596(completed are returned.)108 112.8 R .596
+.464(ord being)-.1 F .596(completed are returned.)108 177.6 R .596
 (When the)5.596 F F1<ad66>3.096 E F0(or)3.095 E F1<ad64>3.095 E F0 .595
 (option is used for \214lename or directory name completion, the)3.095 F
-(shell v)108 124.8 Q(ariable)-.25 E/F2 9/Times-Bold@0 SF(FIGNORE)2.5 E
-F0(is used to \214lter the matches.)2.25 E(An)108 141.6 Q 4.084(yc)-.15
+(shell v)108 189.6 Q(ariable)-.25 E/F2 9/Times-Bold@0 SF(FIGNORE)2.5 E
+F0(is used to \214lter the matches.)2.25 E(An)108 206.4 Q 4.084(yc)-.15
 G 1.584(ompletions speci\214ed by a pathname e)-4.084 F 1.584
 (xpansion pattern to the)-.15 F F1<ad47>4.084 E F0 1.584
-(option are generated ne)4.084 F 4.084(xt. The)-.15 F -.1(wo)108 153.6 S
+(option are generated ne)4.084 F 4.084(xt. The)-.15 F -.1(wo)108 218.4 S
 .555(rds generated by the pattern need not match the w).1 F .554
 (ord being completed.)-.1 F(The)5.554 E F2(GLOBIGNORE)3.054 E F0 .554
 (shell v)2.804 F(ari-)-.25 E
-(able is not used to \214lter the matches, b)108 165.6 Q(ut the)-.2 E F2
-(FIGNORE)2.5 E F0 -.25(va)2.25 G(riable is used.).25 E(Ne)108 182.4 Q
+(able is not used to \214lter the matches, b)108 230.4 Q(ut the)-.2 E F2
+(FIGNORE)2.5 E F0 -.25(va)2.25 G(riable is used.).25 E(Ne)108 247.2 Q
 .32(xt, the string speci\214ed as the ar)-.15 F .32(gument to the)-.18 F
 F1<ad57>2.82 E F0 .321(option is considered.)2.821 F .321
 (The string is \214rst split using the)5.321 F .413(characters in the)
-108 194.4 R F2(IFS)2.913 E F0 .412(special v)2.663 F .412
+108 259.2 R F2(IFS)2.913 E F0 .412(special v)2.663 F .412
 (ariable as delimiters.)-.25 F .412(Shell quoting is honored.)5.412 F
 .412(Each w)5.412 F .412(ord is then e)-.1 F(xpanded)-.15 E .091
-(using brace e)108 206.4 R .091(xpansion, tilde e)-.15 F .092
+(using brace e)108 271.2 R .091(xpansion, tilde e)-.15 F .092
 (xpansion, parameter and v)-.15 F .092(ariable e)-.25 F .092
 (xpansion, command substitution, and arith-)-.15 F 1.397(metic e)108
-218.4 R 1.396(xpansion, as described abo)-.15 F 1.696 -.15(ve u)-.15 H
+283.2 R 1.396(xpansion, as described abo)-.15 F 1.696 -.15(ve u)-.15 H
 (nder).15 E F2(EXP)3.896 E(ANSION)-.666 E/F3 9/Times-Roman@0 SF(.)A F0
 1.396(The results are split using the rules described)5.896 F(abo)108
-230.4 Q .509 -.15(ve u)-.15 H(nder).15 E F1 -.75(Wo)2.709 G .209
+295.2 Q .509 -.15(ve u)-.15 H(nder).15 E F1 -.75(Wo)2.709 G .209
 (rd Splitting).75 F F0 5.209(.T)C .209(he results of the e)-5.209 F .209
 (xpansion are pre\214x-matched ag)-.15 F .21(ainst the w)-.05 F .21
-(ord being com-)-.1 F(pleted, and the matching w)108 242.4 Q
+(ord being com-)-.1 F(pleted, and the matching w)108 307.2 Q
 (ords become the possible completions.)-.1 E 1.238
-(After these matches ha)108 259.2 R 1.538 -.15(ve b)-.2 H 1.238
+(After these matches ha)108 324 R 1.538 -.15(ve b)-.2 H 1.238
 (een generated, an).15 F 3.738(ys)-.15 G 1.237
 (hell function or command speci\214ed with the)-3.738 F F1<ad46>3.737 E
-F0(and)3.737 E F1<ad43>3.737 E F0 3.375(options is in)108 271.2 R -.2
-(vo)-.4 G -.1(ke).2 G 5.875(d. When).1 F 3.375
+F0(and)3.737 E F1<ad43>3.737 E F0 3.375(options is in)108 336 R -.2(vo)
+-.4 G -.1(ke).2 G 5.875(d. When).1 F 3.375
 (the command or function is in)5.875 F -.2(vo)-.4 G -.1(ke).2 G 3.375
 (d, the).1 F F2(COMP_LINE)5.876 E F3(,)A F2(COMP_POINT)5.626 E F3(,)A F2
-(COMP_KEY)108 283.2 Q F3(,)A F0(and)2.408 E F2(COMP_TYPE)2.658 E F0 -.25
+(COMP_KEY)108 348 Q F3(,)A F0(and)2.408 E F2(COMP_TYPE)2.658 E F0 -.25
 (va)2.408 G .157(riables are assigned v).25 F .157
 (alues as described abo)-.25 F .457 -.15(ve u)-.15 H(nder).15 E F1 .157
 (Shell V)2.657 F(ariables)-.92 E F0 5.157(.I)C(f)-5.157 E 3.485(as)108
-295.2 S .986(hell function is being in)-3.485 F -.2(vo)-.4 G -.1(ke).2 G
+360 S .986(hell function is being in)-3.485 F -.2(vo)-.4 G -.1(ke).2 G
 .986(d, the).1 F F2(COMP_W)3.486 E(ORDS)-.09 E F0(and)3.236 E F2
 (COMP_CW)3.486 E(ORD)-.09 E F0 -.25(va)3.236 G .986
 (riables are also set.).25 F(When)5.986 E .609
-(the function or command is in)108 307.2 R -.2(vo)-.4 G -.1(ke).2 G .608
+(the function or command is in)108 372 R -.2(vo)-.4 G -.1(ke).2 G .608
 (d, the \214rst ar).1 F .608(gument is the name of the command whose ar)
 -.18 F .608(guments are)-.18 F .073(being completed, the second ar)108
-319.2 R .073(gument is the w)-.18 F .073
+384 R .073(gument is the w)-.18 F .073
 (ord being completed, and the third ar)-.1 F .073(gument is the w)-.18 F
-.073(ord pre-)-.1 F .608(ceding the w)108 331.2 R .607
+.073(ord pre-)-.1 F .608(ceding the w)108 396 R .607
 (ord being completed on the current command line.)-.1 F .607
-(No \214ltering of the generated completions)5.607 F(ag)108 343.2 Q .093
+(No \214ltering of the generated completions)5.607 F(ag)108 408 Q .093
 (ainst the w)-.05 F .093(ord being completed is performed; the function\
  or command has complete freedom in generat-)-.1 F(ing the matches.)108
-355.2 Q(An)108 372 Q 2.938(yf)-.15 G .437(unction speci\214ed with)
+420 Q(An)108 436.8 Q 2.938(yf)-.15 G .437(unction speci\214ed with)
 -2.938 F F1<ad46>2.937 E F0 .437(is in)2.937 F -.2(vo)-.4 G -.1(ke).2 G
 2.937<648c>.1 G 2.937(rst. The)-2.937 F .437(function may use an)2.937 F
 2.937(yo)-.15 G 2.937(ft)-2.937 G .437(he shell f)-2.937 F .437
-(acilities, including)-.1 F(the)108 384 Q F1(compgen)2.956 E F0 -.2(bu)
-2.956 G .456(iltin described belo).2 F 1.756 -.65(w, t)-.25 H 2.956(og)
-.65 G .456(enerate the matches.)-2.956 F .457
-(It must put the possible completions in the)5.456 F F2(COMPREPL)108 396
-Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E(Ne)108 412.8 Q .081
+(acilities, including)-.1 F(the)108 448.8 Q F1(compgen)2.956 E F0 -.2
+(bu)2.956 G .456(iltin described belo).2 F 1.756 -.65(w, t)-.25 H 2.956
+(og).65 G .456(enerate the matches.)-2.956 F .457
+(It must put the possible completions in the)5.456 F F2(COMPREPL)108
+460.8 Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E(Ne)108 477.6 Q .081
 (xt, an)-.15 F 2.581(yc)-.15 G .081(ommand speci\214ed with the)-2.581 F
 F1<ad43>2.581 E F0 .081(option is in)2.581 F -.2(vo)-.4 G -.1(ke).2 G
 2.581(di).1 G 2.58(na)-2.581 G 2.58(ne)-2.58 G -.4(nv)-2.58 G .08
 (ironment equi).4 F -.25(va)-.25 G .08(lent to command sub-).25 F 2.858
-(stitution. It)108 424.8 R .359(should print a list of completions, one\
+(stitution. It)108 489.6 R .359(should print a list of completions, one\
  per line, to the standard output.)2.858 F .359(Backslash may be used)
-5.359 F(to escape a ne)108 436.8 Q(wline, if necessary)-.25 E(.)-.65 E
-.377(After all of the possible completions are generated, an)108 453.6 R
+5.359 F(to escape a ne)108 501.6 Q(wline, if necessary)-.25 E(.)-.65 E
+.377(After all of the possible completions are generated, an)108 518.4 R
 2.877<798c>-.15 G .377(lter speci\214ed with the)-2.877 F F1<ad58>2.876
-E F0 .376(option is applied to the)2.876 F 3.181(list. The)108 465.6 R
+E F0 .376(option is applied to the)2.876 F 3.181(list. The)108 530.4 R
 .681(\214lter is a pattern as used for pathname e)3.181 F .681
 (xpansion; a)-.15 F F1(&)3.181 E F0 .682
 (in the pattern is replaced with the te)3.182 F .682(xt of)-.15 F .523
-(the w)108 477.6 R .523(ord being completed.)-.1 F 3.023(Al)5.523 G
+(the w)108 542.4 R .523(ord being completed.)-.1 F 3.023(Al)5.523 G
 (iteral)-3.023 E F1(&)3.023 E F0 .522
 (may be escaped with a backslash; the backslash is remo)3.022 F -.15(ve)
--.15 G 3.022(db).15 G(efore)-3.022 E .849(attempting a match.)108 489.6
+-.15 G 3.022(db).15 G(efore)-3.022 E .849(attempting a match.)108 554.4
 R(An)5.849 E 3.349(yc)-.15 G .849
 (ompletion that matches the pattern will be remo)-3.349 F -.15(ve)-.15 G
 3.35(df).15 G .85(rom the list.)-3.35 F 3.35(Al)5.85 G(eading)-3.35 E F1
-(!)3.35 E F0(ne)108 501.6 Q -.05(ga)-.15 G
+(!)3.35 E F0(ne)108 566.4 Q -.05(ga)-.15 G
 (tes the pattern; in this case an).05 E 2.5(yc)-.15 G
 (ompletion not matching the pattern will be remo)-2.5 E -.15(ve)-.15 G
-(d.).15 E(Finally)108 518.4 Q 3.087(,a)-.65 G .887 -.15(ny p)-3.087 H
+(d.).15 E(Finally)108 583.2 Q 3.087(,a)-.65 G .887 -.15(ny p)-3.087 H
 .587(re\214x and suf).15 F .587(\214x speci\214ed with the)-.25 F F1
 <ad50>3.087 E F0(and)3.087 E F1<ad53>3.087 E F0 .587
 (options are added to each member of the com-)3.087 F(pletion list, and\
  the result is returned to the readline completion code as the list of \
-possible completions.)108 530.4 Q .246(If the pre)108 547.2 R .247
+possible completions.)108 595.2 Q .246(If the pre)108 612 R .247
 (viously-applied actions do not generate an)-.25 F 2.747(ym)-.15 G .247
 (atches, and the)-2.747 F F1 .247(\255o dir)2.747 F(names)-.15 E F0 .247
-(option w)2.747 F .247(as supplied to)-.1 F F1(complete)108 559.2 Q F0
+(option w)2.747 F .247(as supplied to)-.1 F F1(complete)108 624 Q F0
 (when the compspec w)2.5 E
 (as de\214ned, directory name completion is attempted.)-.1 E .462
-(If the)108 576 R F1 .462(\255o plusdirs)2.962 F F0 .462(option w)2.962
-F .462(as supplied to)-.1 F F1(complete)2.962 E F0 .462
+(If the)108 640.8 R F1 .462(\255o plusdirs)2.962 F F0 .462(option w)
+2.962 F .462(as supplied to)-.1 F F1(complete)2.962 E F0 .462
 (when the compspec w)2.962 F .462(as de\214ned, directory name com-)-.1
-F(pletion is attempted and an)108 588 Q 2.5(ym)-.15 G
+F(pletion is attempted and an)108 652.8 Q 2.5(ym)-.15 G
 (atches are added to the results of the other actions.)-2.5 E .559
-(By def)108 604.8 R .559(ault, if a compspec is found, whate)-.1 F -.15
+(By def)108 669.6 R .559(ault, if a compspec is found, whate)-.1 F -.15
 (ve)-.25 G 3.059(ri).15 G 3.059(tg)-3.059 G .56
 (enerates is returned to the completion code as the full set)-3.059 F
-.632(of possible completions.)108 616.8 R .632(The def)5.632 F(ault)-.1
+.632(of possible completions.)108 681.6 R .632(The def)5.632 F(ault)-.1
 E F1(bash)3.132 E F0 .631
 (completions are not attempted, and the readline def)3.131 F .631
-(ault of \214le-)-.1 F .558(name completion is disabled.)108 628.8 R
+(ault of \214le-)-.1 F .558(name completion is disabled.)108 693.6 R
 .558(If the)5.558 F F1 .559(\255o bashdefault)3.059 F F0 .559(option w)
 3.059 F .559(as supplied to)-.1 F F1(complete)3.059 E F0 .559
-(when the compspec)3.059 F -.1(wa)108 640.8 S 3.172(sd).1 G .672
+(when the compspec)3.059 F -.1(wa)108 705.6 S 3.172(sd).1 G .672
 (e\214ned, the)-3.172 F F1(bash)3.172 E F0(def)3.172 E .671
 (ault completions are attempted if the compspec generates no matches.)
--.1 F .671(If the)5.671 F F1<ad6f>3.171 E(default)108 652.8 Q F0 1.207
+-.1 F .671(If the)5.671 F F1<ad6f>3.171 E(default)108 717.6 Q F0 1.207
 (option w)3.706 F 1.207(as supplied to)-.1 F F1(complete)3.707 E F0
 1.207(when the compspec w)3.707 F 1.207(as de\214ned, readline')-.1 F
 3.707(sd)-.55 G(ef)-3.707 E 1.207(ault completion)-.1 F
 (will be performed if the compspec \(and, if attempted, the def)108
-664.8 Q(ault)-.1 E F1(bash)2.5 E F0(completions\) generate no matches.)
-2.5 E .245(When a compspec indicates that directory name completion is \
-desired, the programmable completion func-)108 681.6 R .632(tions force\
- readline to append a slash to completed names which are symbolic links\
- to directories, subject)108 693.6 R 2.762(to the v)108 705.6 R 2.762
-(alue of the)-.25 F F1(mark\255dir)5.262 E(ectories)-.18 E F0 2.761
-(readline v)5.262 F 2.761(ariable, re)-.25 F -.05(ga)-.15 G 2.761
-(rdless of the setting of the).05 F F1(mark-sym-)5.261 E(link)108 717.6
-Q(ed\255dir)-.1 E(ectories)-.18 E F0(readline v)2.5 E(ariable.)-.25 E
-(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(46)200.665 E 0 Cg EP
+729.6 Q(ault)-.1 E F1(bash)2.5 E F0(completions\) generate no matches.)
+2.5 E(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(46)185.115 E 0
+Cg EP
 %%Page: 47 47
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .19(There is some support for dynamically modifying completions.)
-108 84 R .191(This is most useful when used in combina-)5.191 F 1.33
-(tion with a def)108 96 R 1.33(ault completion speci\214ed with)-.1 F/F1
-10/Times-Bold@0 SF 1.33(complete -D)3.83 F F0 6.33(.I)C(t')-6.33 E 3.83
-(sp)-.55 G 1.33(ossible for shell functions e)-3.83 F -.15(xe)-.15 G
-1.33(cuted as).15 F .93(completion handlers to indicate that completion\
- should be retried by returning an e)108 108 R .93(xit status of 124.)
--.15 F .93(If a)5.93 F .1(shell function returns 124, and changes the c\
-ompspec associated with the command on which completion is)108 120 R
-.665(being attempted \(supplied as the \214rst ar)108 132 R .666
+-.35 E .245(When a compspec indicates that directory name completion is\
+ desired, the programmable completion func-)108 84 R .632(tions force r\
+eadline to append a slash to completed names which are symbolic links t\
+o directories, subject)108 96 R 2.762(to the v)108 108 R 2.762
+(alue of the)-.25 F/F1 10/Times-Bold@0 SF(mark\255dir)5.262 E(ectories)
+-.18 E F0 2.761(readline v)5.262 F 2.761(ariable, re)-.25 F -.05(ga)-.15
+G 2.761(rdless of the setting of the).05 F F1(mark-sym-)5.261 E(link)108
+120 Q(ed\255dir)-.1 E(ectories)-.18 E F0(readline v)2.5 E(ariable.)-.25
+E .19(There is some support for dynamically modifying completions.)108
+136.8 R .191(This is most useful when used in combina-)5.191 F 1.33
+(tion with a def)108 148.8 R 1.33(ault completion speci\214ed with)-.1 F
+F1 1.33(complete -D)3.83 F F0 6.33(.I)C(t')-6.33 E 3.83(sp)-.55 G 1.33
+(ossible for shell functions e)-3.83 F -.15(xe)-.15 G 1.33(cuted as).15
+F .93(completion handlers to indicate that completion should be retried\
+ by returning an e)108 160.8 R .93(xit status of 124.)-.15 F .93(If a)
+5.93 F .1(shell function returns 124, and changes the compspec associat\
+ed with the command on which completion is)108 172.8 R .665
+(being attempted \(supplied as the \214rst ar)108 184.8 R .666
 (gument when the function is e)-.18 F -.15(xe)-.15 G .666
 (cuted\), programmable completion).15 F .084(restarts from the be)108
-144 R .084(ginning, with an attempt to \214nd a ne)-.15 F 2.584(wc)-.25
-G .084(ompspec for that command.)-2.584 F .083(This allo)5.083 F .083
-(ws a set of)-.25 F(completions to be b)108 156 Q(uilt dynamically as c\
-ompletion is attempted, rather than being loaded all at once.)-.2 E -.15
-(Fo)108 172.8 S 2.636(ri).15 G .137
+196.8 R .084(ginning, with an attempt to \214nd a ne)-.15 F 2.584(wc)
+-.25 G .084(ompspec for that command.)-2.584 F .083(This allo)5.083 F
+.083(ws a set of)-.25 F(completions to be b)108 208.8 Q(uilt dynamicall\
+y as completion is attempted, rather than being loaded all at once.)-.2
+E -.15(Fo)108 225.6 S 2.636(ri).15 G .137
 (nstance, assuming that there is a library of compspecs, each k)-2.636 F
 .137(ept in a \214le corresponding to the name of)-.1 F
-(the command, the follo)108 184.8 Q(wing def)-.25 E
+(the command, the follo)108 237.6 Q(wing def)-.25 E
 (ault completion function w)-.1 E(ould load completions dynamically:)-.1
-E/F2 10/Courier@0 SF(_completion_loader\(\))108 201.6 Q({)108 213.6 Q 6
-(.")144 225.6 S
+E/F2 10/Courier@0 SF(_completion_loader\(\))108 254.4 Q({)108 266.4 Q 6
+(.")144 278.4 S
 (/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124)-6 E(})108
-237.6 Q(complete -D -F _completion_loader)108 249.6 Q/F3 10.95
-/Times-Bold@0 SF(HIST)72 278.4 Q(OR)-.197 E(Y)-.383 E F0 .372(When the)
-108 290.4 R F1 .372(\255o history)2.872 F F0 .372(option to the)2.872 F
+290.4 Q(complete -D -F _completion_loader)108 302.4 Q/F3 10.95
+/Times-Bold@0 SF(HIST)72 331.2 Q(OR)-.197 E(Y)-.383 E F0 .372(When the)
+108 343.2 R F1 .372(\255o history)2.872 F F0 .372(option to the)2.872 F
 F1(set)2.872 E F0 -.2(bu)2.872 G .372(iltin is enabled, the shell pro).2
 F .371(vides access to the)-.15 F/F4 10/Times-Italic@0 SF .371
-(command history)2.871 F F0(,)A .304(the list of commands pre)108 302.4
+(command history)2.871 F F0(,)A .304(the list of commands pre)108 355.2
 R .304(viously typed.)-.25 F .304(The v)5.304 F .304(alue of the)-.25 F
 /F5 9/Times-Bold@0 SF(HISTSIZE)2.804 E F0 -.25(va)2.554 G .305
-(riable is used as the number of com-).25 F .43(mands to sa)108 314.4 R
+(riable is used as the number of com-).25 F .43(mands to sa)108 367.2 R
 .73 -.15(ve i)-.2 H 2.93(nah).15 G .43(istory list.)-2.93 F .43(The te)
 5.43 F .429(xt of the last)-.15 F F5(HISTSIZE)2.929 E F0 .429
 (commands \(def)2.679 F .429(ault 500\) is sa)-.1 F -.15(ve)-.2 G 2.929
 (d. The).15 F(shell)2.929 E .287
 (stores each command in the history list prior to parameter and v)108
-326.4 R .287(ariable e)-.25 F .287(xpansion \(see)-.15 F F5(EXP)2.787 E
-(ANSION)-.666 E F0(abo)2.537 E -.15(ve)-.15 G(\)).15 E -.2(bu)108 338.4
+379.2 R .287(ariable e)-.25 F .287(xpansion \(see)-.15 F F5(EXP)2.787 E
+(ANSION)-.666 E F0(abo)2.537 E -.15(ve)-.15 G(\)).15 E -.2(bu)108 391.2
 S 4.066(ta).2 G 1.565(fter history e)-4.066 F 1.565
 (xpansion is performed, subject to the v)-.15 F 1.565
 (alues of the shell v)-.25 F(ariables)-.25 E F5(HISTIGNORE)4.065 E F0
-(and)3.815 E F5(HISTCONTR)108 350.4 Q(OL)-.27 E/F6 9/Times-Roman@0 SF(.)
+(and)3.815 E F5(HISTCONTR)108 403.2 Q(OL)-.27 E/F6 9/Times-Roman@0 SF(.)
 A F0 .082
 (On startup, the history is initialized from the \214le named by the v)
-108 367.2 R(ariable)-.25 E F5(HISTFILE)2.583 E F0(\(def)2.333 E(ault)-.1
-F4(~/.bash_history)2.583 E F0(\).)A .315(The \214le named by the v)108
-379.2 R .315(alue of)-.25 F F5(HISTFILE)2.815 E F0 .315
+108 420 R(ariable)-.25 E F5(HISTFILE)2.583 E F0(\(def)2.333 E(ault)-.1 E
+F4(~/.bash_history)2.583 E F0(\).)A .315(The \214le named by the v)108
+432 R .315(alue of)-.25 F F5(HISTFILE)2.815 E F0 .315
 (is truncated, if necessary)2.565 F 2.815(,t)-.65 G 2.815(oc)-2.815 G
 .315(ontain no more than the number of)-2.815 F .532
-(lines speci\214ed by the v)108 391.2 R .532(alue of)-.25 F F5
+(lines speci\214ed by the v)108 444 R .532(alue of)-.25 F F5
 (HISTFILESIZE)3.032 E F6(.)A F0 .532
 (When the history \214le is read, lines be)5.032 F .532
-(ginning with the his-)-.15 F 1.159(tory comment character follo)108
-403.2 R 1.158(wed immediately by a digit are interpreted as timestamps \
-for the preceding)-.25 F .052(history line.)108 415.2 R .053
+(ginning with the his-)-.15 F 1.159(tory comment character follo)108 456
+R 1.158(wed immediately by a digit are interpreted as timestamps for th\
+e preceding)-.25 F .052(history line.)108 468 R .053
 (These timestamps are optionally displayed depending on the v)5.052 F
 .053(alue of the)-.25 F F5(HISTTIMEFORMA)2.553 E(T)-.855 E F0 -.25(va)
-108 427.2 S 4.387(riable. When).25 F 1.887(an interacti)4.387 F 2.187
--.15(ve s)-.25 H 1.887(hell e).15 F 1.887(xits, the last)-.15 F F5
+108 480 S 4.387(riable. When).25 F 1.887(an interacti)4.387 F 2.187 -.15
+(ve s)-.25 H 1.887(hell e).15 F 1.887(xits, the last)-.15 F F5
 ($HISTSIZE)4.387 E F0 1.887(lines are copied from the history list to)
-4.137 F F5($HISTFILE)108 439.2 Q F6(.)A F0 .056(If the)4.556 F F1
+4.137 F F5($HISTFILE)108 492 Q F6(.)A F0 .056(If the)4.556 F F1
 (histappend)2.556 E F0 .056
 (shell option is enabled \(see the description of)2.556 F F1(shopt)2.556
 E F0(under)2.556 E F5 .056(SHELL B)2.556 F(UIL)-.09 E(TIN)-.828 E
-(COMMANDS)108 451.2 Q F0(belo)2.672 E .422(w\), the lines are appended \
-to the history \214le, otherwise the history \214le is o)-.25 F -.15(ve)
--.15 G 2.921(rwritten. If).15 F F5(HISTFILE)108 463.2 Q F0 .435(is unse\
-t, or if the history \214le is unwritable, the history is not sa)2.684 F
+(COMMANDS)108 504 Q F0(belo)2.672 E .422(w\), the lines are appended to\
+ the history \214le, otherwise the history \214le is o)-.25 F -.15(ve)
+-.15 G 2.921(rwritten. If).15 F F5(HISTFILE)108 516 Q F0 .435(is unset,\
+ or if the history \214le is unwritable, the history is not sa)2.684 F
 -.15(ve)-.2 G 2.935(d. If).15 F(the)2.935 E F5(HISTTIMEFORMA)2.935 E(T)
--.855 E F0 -.25(va)108 475.2 S .917
+-.855 E F0 -.25(va)108 528 S .917
 (riable is set, time stamps are written to the history \214le, mark).25
 F .916(ed with the history comment character)-.1 F 3.416(,s)-.4 G(o)
--3.416 E(the)108 487.2 Q 3.082(ym)-.15 G .582(ay be preserv)-3.082 F
-.582(ed across shell sessions.)-.15 F .583
+-3.416 E(the)108 540 Q 3.082(ym)-.15 G .582(ay be preserv)-3.082 F .582
+(ed across shell sessions.)-.15 F .583
 (This uses the history comment character to distinguish time-)5.583 F
-.987(stamps from other history lines.)108 499.2 R .987(After sa)5.987 F
+.987(stamps from other history lines.)108 552 R .987(After sa)5.987 F
 .987(ving the history)-.2 F 3.486(,t)-.65 G .986
-(he history \214le is truncated to contain no more)-3.486 F(than)108
-511.2 Q F5(HISTFILESIZE)2.5 E F0 2.5(lines. If)2.25 F F5(HISTFILESIZE)
-2.5 E F0(is not set, no truncation is performed.)2.25 E 1.293(The b)108
-528 R 1.293(uiltin command)-.2 F F1(fc)3.793 E F0(\(see)3.793 E F5 1.293
+(he history \214le is truncated to contain no more)-3.486 F(than)108 564
+Q F5(HISTFILESIZE)2.5 E F0 2.5(lines. If)2.25 F F5(HISTFILESIZE)2.5 E F0
+(is not set, no truncation is performed.)2.25 E 1.293(The b)108 580.8 R
+1.293(uiltin command)-.2 F F1(fc)3.793 E F0(\(see)3.793 E F5 1.293
 (SHELL B)3.793 F(UIL)-.09 E 1.293(TIN COMMANDS)-.828 F F0(belo)3.543 E
-1.294(w\) may be used to list or edit and re-)-.25 F -.15(exe)108 540 S
-.674(cute a portion of the history list.).15 F(The)5.673 E F1(history)
+1.294(w\) may be used to list or edit and re-)-.25 F -.15(exe)108 592.8
+.674(cute a portion of the history list.).15 F(The)5.673 E F1(history)
 3.173 E F0 -.2(bu)3.173 G .673
 (iltin may be used to display or modify the history list).2 F .279
-(and manipulate the history \214le.)108 552 R .279
+(and manipulate the history \214le.)108 604.8 R .279
 (When using command-line editing, search commands are a)5.279 F -.25(va)
--.2 G .28(ilable in each).25 F(editing mode that pro)108 564 Q
-(vide access to the history list.)-.15 E 1.486(The shell allo)108 580.8
+-.2 G .28(ilable in each).25 F(editing mode that pro)108 616.8 Q
+(vide access to the history list.)-.15 E 1.486(The shell allo)108 633.6
 R 1.486(ws control o)-.25 F -.15(ve)-.15 G 3.986(rw).15 G 1.486
 (hich commands are sa)-3.986 F -.15(ve)-.2 G 3.986(do).15 G 3.986(nt)
 -3.986 G 1.486(he history list.)-3.986 F(The)6.485 E F5(HISTCONTR)3.985
-E(OL)-.27 E F0(and)3.735 E F5(HISTIGNORE)108 592.8 Q F0 -.25(va)2.707 G
+E(OL)-.27 E F0(and)3.735 E F5(HISTIGNORE)108 645.6 Q F0 -.25(va)2.707 G
 .457(riables may be set to cause the shell to sa).25 F .758 -.15(ve o)
 -.2 H .458(nly a subset of the commands entered.).15 F(The)5.458 E F1
-(cmdhist)108 604.8 Q F0 .75
+(cmdhist)108 657.6 Q F0 .75
 (shell option, if enabled, causes the shell to attempt to sa)3.25 F 1.05
 -.15(ve e)-.2 H .75(ach line of a multi-line command in).15 F 1.077
-(the same history entry)108 616.8 R 3.577(,a)-.65 G 1.077
+(the same history entry)108 669.6 R 3.577(,a)-.65 G 1.077
 (dding semicolons where necessary to preserv)-3.577 F 3.577(es)-.15 G
 1.077(yntactic correctness.)-3.577 F(The)6.077 E F1(lithist)3.577 E F0
-.374(shell option causes the shell to sa)108 628.8 R .674 -.15(ve t)-.2
+.374(shell option causes the shell to sa)108 681.6 R .674 -.15(ve t)-.2
 H .374(he command with embedded ne).15 F .373
 (wlines instead of semicolons.)-.25 F .373(See the)5.373 F .318
-(description of the)108 640.8 R F1(shopt)2.818 E F0 -.2(bu)2.818 G .318
+(description of the)108 693.6 R F1(shopt)2.818 E F0 -.2(bu)2.818 G .318
 (iltin belo).2 F 2.818(wu)-.25 G(nder)-2.818 E F5 .318(SHELL B)2.818 F
 (UIL)-.09 E .318(TIN COMMANDS)-.828 F F0 .319
 (for information on setting and)2.568 F(unsetting shell options.)108
-652.8 Q F3(HIST)72 669.6 Q(OR)-.197 E 2.738(YE)-.383 G(XP)-2.738 E
-(ANSION)-.81 E F0 .611(The shell supports a history e)108 681.6 R .611
-(xpansion feature that is similar to the history e)-.15 F .61
-(xpansion in)-.15 F F1(csh.)3.11 E F0 .61(This section)5.61 F .87
-(describes what syntax features are a)108 693.6 R -.25(va)-.2 G 3.371
-(ilable. This).25 F .871(feature is enabled by def)3.371 F .871
-(ault for interacti)-.1 F 1.171 -.15(ve s)-.25 H .871(hells, and).15 F
-2.014(can be disabled using the)108 705.6 R F1(+H)4.514 E F0 2.014
-(option to the)4.514 F F1(set)4.514 E F0 -.2(bu)4.514 G 2.014
-(iltin command \(see).2 F F5 2.013(SHELL B)4.513 F(UIL)-.09 E 2.013
-(TIN COMMANDS)-.828 F F0(belo)108 717.6 Q 2.5(w\). Non-interacti)-.25 F
-.3 -.15(ve s)-.25 H(hells do not perform history e).15 E
-(xpansion by def)-.15 E(ault.)-.1 E(GNU Bash 4.2)72 768 Q(2011 July 7)
-151.505 E(47)200.665 E 0 Cg EP
+705.6 Q(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(47)185.115 E 0
+Cg EP
 %%Page: 48 48
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E 1.305(History e)108 84 R 1.305(xpansions introduce w)-.15 F 1.306
-(ords from the history list into the input stream, making it easy to re\
-peat)-.1 F .21(commands, insert the ar)108 96 R .21(guments to a pre)
+-.35 E/F1 10.95/Times-Bold@0 SF(HIST)72 84 Q(OR)-.197 E 2.738(YE)-.383 G
+(XP)-2.738 E(ANSION)-.81 E F0 .611(The shell supports a history e)108 96
+R .611(xpansion feature that is similar to the history e)-.15 F .61
+(xpansion in)-.15 F/F2 10/Times-Bold@0 SF(csh.)3.11 E F0 .61
+(This section)5.61 F .87(describes what syntax features are a)108 108 R
+-.25(va)-.2 G 3.371(ilable. This).25 F .871(feature is enabled by def)
+3.371 F .871(ault for interacti)-.1 F 1.171 -.15(ve s)-.25 H .871
+(hells, and).15 F 2.014(can be disabled using the)108 120 R F2(+H)4.514
+E F0 2.014(option to the)4.514 F F2(set)4.514 E F0 -.2(bu)4.514 G 2.014
+(iltin command \(see).2 F/F3 9/Times-Bold@0 SF 2.013(SHELL B)4.513 F
+(UIL)-.09 E 2.013(TIN COMMANDS)-.828 F F0(belo)108 132 Q 2.5
+(w\). Non-interacti)-.25 F .3 -.15(ve s)-.25 H
+(hells do not perform history e).15 E(xpansion by def)-.15 E(ault.)-.1 E
+1.305(History e)108 148.8 R 1.305(xpansions introduce w)-.15 F 1.306(or\
+ds from the history list into the input stream, making it easy to repea\
+t)-.1 F .21(commands, insert the ar)108 160.8 R .21(guments to a pre)
 -.18 F .209
 (vious command into the current input line, or \214x errors in pre)-.25
-F(vious)-.25 E(commands quickly)108 108 Q(.)-.65 E 1.163(History e)108
-124.8 R 1.163(xpansion is performed immediately after a complete line i\
-s read, before the shell breaks it into)-.15 F -.1(wo)108 136.8 S 3.2
+F(vious)-.25 E(commands quickly)108 172.8 Q(.)-.65 E 1.163(History e)108
+189.6 R 1.163(xpansion is performed immediately after a complete line i\
+s read, before the shell breaks it into)-.15 F -.1(wo)108 201.6 S 3.2
 (rds. It).1 F(tak)3.2 E .7(es place in tw)-.1 F 3.2(op)-.1 G 3.2
 (arts. The)-3.2 F .7
 (\214rst is to determine which line from the history list to use during)
-3.2 F 4.367(substitution. The)108 148.8 R 1.868(second is to select por\
+3.2 F 4.367(substitution. The)108 213.6 R 1.868(second is to select por\
 tions of that line for inclusion into the current one.)4.367 F 1.868
-(The line)6.868 F .663(selected from the history is the)108 160.8 R/F1
+(The line)6.868 F .663(selected from the history is the)108 225.6 R/F4
 10/Times-Italic@0 SF -.15(ev)3.163 G(ent).15 E F0 3.163(,a)C .663
-(nd the portions of that line that are acted upon are)-3.163 F F1(wor)
-3.162 E(ds)-.37 E F0 5.662(.V)C(arious)-6.772 E F1(modi\214er)108 172.8
+(nd the portions of that line that are acted upon are)-3.163 F F4(wor)
+3.162 E(ds)-.37 E F0 5.662(.V)C(arious)-6.772 E F4(modi\214er)108 237.6
 Q(s)-.1 E F0 .226(are a)2.726 F -.25(va)-.2 G .226
 (ilable to manipulate the selected w).25 F 2.726(ords. The)-.1 F .227
 (line is brok)2.726 F .227(en into w)-.1 F .227(ords in the same f)-.1 F
-(ashion)-.1 E .352(as when reading input, so that se)108 184.8 R -.15
-(ve)-.25 G(ral).15 E F1(metac)2.852 E(har)-.15 E(acter)-.15 E F0 .351
+(ashion)-.1 E .352(as when reading input, so that se)108 249.6 R -.15
+(ve)-.25 G(ral).15 E F4(metac)2.852 E(har)-.15 E(acter)-.15 E F0 .351
 (-separated w)B .351(ords surrounded by quotes are considered)-.1 F .624
-(one w)108 196.8 R 3.124(ord. History)-.1 F -.15(ex)3.124 G .624
+(one w)108 261.6 R 3.124(ord. History)-.1 F -.15(ex)3.124 G .624
 (pansions are introduced by the appearance of the history e).15 F .625
-(xpansion character)-.15 F 3.125(,w)-.4 G(hich)-3.125 E(is)108 208.8 Q
-/F2 10/Times-Bold@0 SF(!)3.333 E F0(by def)3.333 E 2.5(ault. Only)-.1 F
-(backslash \()2.5 E F2(\\).833 E F0 2.5(\)a).833 G
-(nd single quotes can quote the history e)-2.5 E(xpansion character)-.15
-E(.)-.55 E(Se)108 225.6 Q -.15(ve)-.25 G .03
-(ral characters inhibit history e).15 F .03
+(xpansion character)-.15 F 3.125(,w)-.4 G(hich)-3.125 E(is)108 273.6 Q
+F2(!)3.333 E F0(by def)3.333 E 2.5(ault. Only)-.1 F(backslash \()2.5 E
+F2(\\).833 E F0 2.5(\)a).833 G(nd single quotes can quote the history e)
+-2.5 E(xpansion character)-.15 E(.)-.55 E(Se)108 290.4 Q -.15(ve)-.25 G
+.03(ral characters inhibit history e).15 F .03
 (xpansion if found immediately follo)-.15 F .03(wing the history e)-.25
-F .03(xpansion character)-.15 F(,)-.4 E -2.15 -.25(ev e)108 237.6 T
+F .03(xpansion character)-.15 F(,)-.4 E -2.15 -.25(ev e)108 302.4 T
 3.162(ni).25 G 3.162(fi)-3.162 G 3.162(ti)-3.162 G 3.162(su)-3.162 G
 .662(nquoted: space, tab, ne)-3.162 F .662(wline, carriage return, and)
 -.25 F F2(=)3.162 E F0 5.662(.I)C 3.162(ft)-5.662 G(he)-3.162 E F2
 (extglob)3.162 E F0 .662(shell option is enabled,)3.162 F F2(\()3.163 E
-F0(will also inhibit e)108 249.6 Q(xpansion.)-.15 E(Se)108 266.4 Q -.15
+F0(will also inhibit e)108 314.4 Q(xpansion.)-.15 E(Se)108 331.2 Q -.15
 (ve)-.25 G .11(ral shell options settable with the).15 F F2(shopt)2.61 E
 F0 -.2(bu)2.61 G .109(iltin may be used to tailor the beha).2 F .109
-(vior of history e)-.2 F(xpansion.)-.15 E 1.142(If the)108 278.4 R F2
+(vior of history e)-.2 F(xpansion.)-.15 E 1.142(If the)108 343.2 R F2
 (histv)3.643 E(erify)-.1 E F0 1.143
 (shell option is enabled \(see the description of the)3.643 F F2(shopt)
 3.643 E F0 -.2(bu)3.643 G 1.143(iltin belo).2 F 1.143(w\), and)-.25 F F2
 -.18(re)3.643 G(adline).18 E F0(is)3.643 E .461(being used, history sub\
-stitutions are not immediately passed to the shell parser)108 290.4 R
+stitutions are not immediately passed to the shell parser)108 355.2 R
 5.46(.I)-.55 G .46(nstead, the e)-5.46 F .46(xpanded line)-.15 F 1.515
-(is reloaded into the)108 302.4 R F2 -.18(re)4.015 G(adline).18 E F0
+(is reloaded into the)108 367.2 R F2 -.18(re)4.015 G(adline).18 E F0
 1.515(editing b)4.015 F(uf)-.2 E 1.516(fer for further modi\214cation.)
 -.25 F(If)6.516 E F2 -.18(re)4.016 G(adline).18 E F0 1.516
-(is being used, and the)4.016 F F2(histr)108 314.4 Q(eedit)-.18 E F0
+(is being used, and the)4.016 F F2(histr)108 379.2 Q(eedit)-.18 E F0
 1.202(shell option is enabled, a f)3.702 F 1.202
 (ailed history substitution will be reloaded into the)-.1 F F2 -.18(re)
-3.702 G(adline).18 E F0(editing)3.702 E -.2(bu)108 326.4 S -.25(ff).2 G
+3.702 G(adline).18 E F0(editing)3.702 E -.2(bu)108 391.2 S -.25(ff).2 G
 1.16(er for correction.).25 F(The)6.16 E F2<ad70>3.66 E F0 1.16
 (option to the)3.66 F F2(history)3.66 E F0 -.2(bu)3.661 G 1.161
-(iltin command may be used to see what a history).2 F -.15(ex)108 338.4
+(iltin command may be used to see what a history).2 F -.15(ex)108 403.2
 S .056(pansion will do before using it.).15 F(The)5.056 E F2<ad73>2.556
 E F0 .056(option to the)2.556 F F2(history)2.555 E F0 -.2(bu)2.555 G
 .055(iltin may be used to add commands to the).2 F
-(end of the history list without actually e)108 350.4 Q -.15(xe)-.15 G
+(end of the history list without actually e)108 415.2 Q -.15(xe)-.15 G
 (cuting them, so that the).15 E 2.5(ya)-.15 G(re a)-2.5 E -.25(va)-.2 G
-(ilable for subsequent recall.).25 E 2.2(The shell allo)108 367.2 R 2.2
+(ilable for subsequent recall.).25 E 2.2(The shell allo)108 432 R 2.2
 (ws control of the v)-.25 F 2.2(arious characters used by the history e)
 -.25 F 2.2(xpansion mechanism \(see the)-.15 F 1.147(description of)108
-379.2 R F2(histchars)3.647 E F0(abo)3.647 E 1.447 -.15(ve u)-.15 H(nder)
+444 R F2(histchars)3.647 E F0(abo)3.647 E 1.447 -.15(ve u)-.15 H(nder)
 .15 E F2 1.147(Shell V)3.647 F(ariables)-.92 E F0 3.646(\). The)B 1.146
 (shell uses the history comment character to)3.646 F
-(mark history timestamps when writing the history \214le.)108 391.2 Q F2
-(Ev)87 408 Q(ent Designators)-.1 E F0 .204(An e)108 420 R -.15(ve)-.25 G
-.204(nt designator is a reference to a command line entry in the histor\
-y list.).15 F .205(Unless the reference is abso-)5.204 F(lute, e)108 432
-Q -.15(ve)-.25 G(nts are relati).15 E .3 -.15(ve t)-.25 H 2.5(ot).15 G
-(he current position in the history list.)-2.5 E F2(!)108 448.8 Q F0
-1.608(Start a history substitution, e)32.67 F 1.608(xcept when follo)
--.15 F 1.607(wed by a)-.25 F F2(blank)4.107 E F0 4.107(,n)C -.25(ew)
--4.107 G 1.607(line, carriage return, = or \().25 F(\(when the)144 460.8
-Q F2(extglob)2.5 E F0(shell option is enabled using the)2.5 E F2(shopt)
-2.5 E F0 -.2(bu)2.5 G(iltin\).).2 E F2(!)108 472.8 Q F1(n)A F0
-(Refer to command line)27.67 E F1(n)2.5 E F0(.).24 E F2<21ad>108 484.8 Q
-F1(n)A F0(Refer to the current command minus)21.97 E F1(n)2.5 E F0(.).24
-E F2(!!)108 496.8 Q F0(Refer to the pre)29.34 E(vious command.)-.25 E
-(This is a synon)5 E(ym for `!\2551'.)-.15 E F2(!)108 508.8 Q F1(string)
+(mark history timestamps when writing the history \214le.)108 456 Q F2
+(Ev)87 472.8 Q(ent Designators)-.1 E F0 .204(An e)108 484.8 R -.15(ve)
+-.25 G .204(nt designator is a reference to a command line entry in the\
+ history list.).15 F .205(Unless the reference is abso-)5.204 F(lute, e)
+108 496.8 Q -.15(ve)-.25 G(nts are relati).15 E .3 -.15(ve t)-.25 H 2.5
+(ot).15 G(he current position in the history list.)-2.5 E F2(!)108 513.6
+Q F0 1.608(Start a history substitution, e)32.67 F 1.608
+(xcept when follo)-.15 F 1.607(wed by a)-.25 F F2(blank)4.107 E F0 4.107
+(,n)C -.25(ew)-4.107 G 1.607(line, carriage return, = or \().25 F
+(\(when the)144 525.6 Q F2(extglob)2.5 E F0
+(shell option is enabled using the)2.5 E F2(shopt)2.5 E F0 -.2(bu)2.5 G
+(iltin\).).2 E F2(!)108 537.6 Q F4(n)A F0(Refer to command line)27.67 E
+F4(n)2.5 E F0(.).24 E F2<21ad>108 549.6 Q F4(n)A F0
+(Refer to the current command minus)21.97 E F4(n)2.5 E F0(.).24 E F2(!!)
+108 561.6 Q F0(Refer to the pre)29.34 E(vious command.)-.25 E
+(This is a synon)5 E(ym for `!\2551'.)-.15 E F2(!)108 573.6 Q F4(string)
 A F0 .865(Refer to the most recent command preceding the current positi\
-on in the history list starting with)9.33 F F1(string)144 520.8 Q F0(.)
-.22 E F2(!?)108 532.8 Q F1(string)A F2([?])A F0 1.304(Refer to the most\
+on in the history list starting with)9.33 F F4(string)144 585.6 Q F0(.)
+.22 E F2(!?)108 597.6 Q F4(string)A F2([?])A F0 1.304(Refer to the most\
  recent command preceding the current postition in the history list con\
-taining)144 544.8 R F1(string)144 556.8 Q F0 5(.T).22 G(he trailing)-5 E
-F2(?)2.5 E F0(may be omitted if)2.5 E F1(string)2.84 E F0(is follo)2.72
-E(wed immediately by a ne)-.25 E(wline.)-.25 E/F3 12/Times-Bold@0 SF(^)
-108 573.8 Q F1(string1)-5 I F3(^)5 I F1(string2)-5 I F3(^)5 I F0 .783
-(Quick substitution.)144 580.8 R .783(Repeat the pre)5.783 F .784
-(vious command, replacing)-.25 F F1(string1)3.624 E F0(with)3.284 E F1
+taining)144 609.6 R F4(string)144 621.6 Q F0 5(.T).22 G(he trailing)-5 E
+F2(?)2.5 E F0(may be omitted if)2.5 E F4(string)2.84 E F0(is follo)2.72
+E(wed immediately by a ne)-.25 E(wline.)-.25 E/F5 12/Times-Bold@0 SF(^)
+108 638.6 Q F4(string1)-5 I F5(^)5 I F4(string2)-5 I F5(^)5 I F0 .783
+(Quick substitution.)144 645.6 R .783(Repeat the pre)5.783 F .784
+(vious command, replacing)-.25 F F4(string1)3.624 E F0(with)3.284 E F4
 (string2)3.284 E F0 5.784(.E).02 G(qui)-5.784 E -.25(va)-.25 G .784
-(lent to).25 F -.74(``)144 592.8 S(!!:s/).74 E F1(string1)A F0(/)A F1
+(lent to).25 F -.74(``)144 657.6 S(!!:s/).74 E F4(string1)A F0(/)A F4
 (string2)A F0(/')A 2.5('\()-.74 G(see)-2.5 E F2(Modi\214ers)2.5 E F0
-(belo)2.5 E(w\).)-.25 E F2(!#)108 604.8 Q F0
+(belo)2.5 E(w\).)-.25 E F2(!#)108 669.6 Q F0
 (The entire command line typed so f)27.67 E(ar)-.1 E(.)-.55 E F2 -.75
-(Wo)87 621.6 S(rd Designators).75 E F0 -.8(Wo)108 633.6 S 1.314
+(Wo)87 686.4 S(rd Designators).75 E F0 -.8(Wo)108 698.4 S 1.314
 (rd designators are used to select desired w).8 F 1.314(ords from the e)
 -.1 F -.15(ve)-.25 G 3.814(nt. A).15 F F2(:)3.814 E F0 1.313
 (separates the e)3.813 F -.15(ve)-.25 G 1.313(nt speci\214cation).15 F
-.529(from the w)108 645.6 R .529(ord designator)-.1 F 5.529(.I)-.55 G
+.529(from the w)108 710.4 R .529(ord designator)-.1 F 5.529(.I)-.55 G
 3.029(tm)-5.529 G .529(ay be omitted if the w)-3.029 F .529
 (ord designator be)-.1 F .529(gins with a)-.15 F F2(^)3.029 E F0(,)A F2
 ($)3.029 E F0(,)A F2(*)3.029 E F0(,)A F2<ad>3.029 E F0 3.029(,o)C(r)
 -3.029 E F2(%)3.029 E F0 5.53(.W)C(ords)-6.33 E 1.301
-(are numbered from the be)108 657.6 R 1.301
+(are numbered from the be)108 722.4 R 1.301
 (ginning of the line, with the \214rst w)-.15 F 1.3
 (ord being denoted by 0 \(zero\).)-.1 F -.8(Wo)6.3 G 1.3(rds are).8 F
-(inserted into the current line separated by single spaces.)108 669.6 Q
-F2 2.5(0\()108 686.4 S(zer)-2.5 E(o\))-.18 E F0(The zeroth w)144 698.4 Q
-2.5(ord. F)-.1 F(or the shell, this is the command w)-.15 E(ord.)-.1 E
-F1(n)108.36 710.4 Q F0(The)30.64 E F1(n)2.5 E F0(th w)A(ord.)-.1 E
-(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(48)200.665 E 0 Cg EP
+(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(48)185.115 E 0 Cg EP
 %%Page: 49 49
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(^)108 84 Q F0(The \214rst ar)32.67 E 2.5
-(gument. That)-.18 F(is, w)2.5 E(ord 1.)-.1 E F1($)108 96 Q F0
-(The last ar)31 E(gument.)-.18 E F1(%)108 108 Q F0(The w)26 E
-(ord matched by the most recent `?)-.1 E/F2 10/Times-Italic@0 SF(string)
-A F0(?' search.)A F2(x)108.77 120 Q F1<ad>A F2(y)A F0 2.5(Ar)20.65 G
-(ange of w)-2.5 E(ords; `\255)-.1 E F2(y)A F0 2.5('a)C(bbre)-2.5 E
-(viates `0\255)-.25 E F2(y)A F0('.)A F1(*)108 132 Q F0 .315
-(All of the w)31 F .315(ords b)-.1 F .315(ut the zeroth.)-.2 F .315
-(This is a synon)5.315 F .315(ym for `)-.15 F F2(1\255$)A F0 2.815
-('. It)B .315(is not an error to use)2.815 F F1(*)2.816 E F0 .316
-(if there is)2.816 F(just one w)144 144 Q(ord in the e)-.1 E -.15(ve)
--.25 G(nt; the empty string is returned in that case.).15 E F1(x*)108
-156 Q F0(Abbre)26 E(viates)-.25 E F2(x\255$)2.5 E F0(.)A F1<78ad>108 168
-Q F0(Abbre)25.3 E(viates)-.25 E F2(x\255$)2.5 E F0(lik)2.5 E(e)-.1 E F1
+-.35 E(inserted into the current line separated by single spaces.)108 84
+Q/F1 10/Times-Bold@0 SF 2.5(0\()108 100.8 S(zer)-2.5 E(o\))-.18 E F0
+(The zeroth w)144 112.8 Q 2.5(ord. F)-.1 F
+(or the shell, this is the command w)-.15 E(ord.)-.1 E/F2 10
+/Times-Italic@0 SF(n)108.36 124.8 Q F0(The)30.64 E F2(n)2.5 E F0(th w)A
+(ord.)-.1 E F1(^)108 136.8 Q F0(The \214rst ar)32.67 E 2.5(gument. That)
+-.18 F(is, w)2.5 E(ord 1.)-.1 E F1($)108 148.8 Q F0(The last ar)31 E
+(gument.)-.18 E F1(%)108 160.8 Q F0(The w)26 E
+(ord matched by the most recent `?)-.1 E F2(string)A F0(?' search.)A F2
+(x)108.77 172.8 Q F1<ad>A F2(y)A F0 2.5(Ar)20.65 G(ange of w)-2.5 E
+(ords; `\255)-.1 E F2(y)A F0 2.5('a)C(bbre)-2.5 E(viates `0\255)-.25 E
+F2(y)A F0('.)A F1(*)108 184.8 Q F0 .315(All of the w)31 F .315(ords b)
+-.1 F .315(ut the zeroth.)-.2 F .315(This is a synon)5.315 F .315
+(ym for `)-.15 F F2(1\255$)A F0 2.815('. It)B .315
+(is not an error to use)2.815 F F1(*)2.816 E F0 .316(if there is)2.816 F
+(just one w)144 196.8 Q(ord in the e)-.1 E -.15(ve)-.25 G
+(nt; the empty string is returned in that case.).15 E F1(x*)108 208.8 Q
+F0(Abbre)26 E(viates)-.25 E F2(x\255$)2.5 E F0(.)A F1<78ad>108 220.8 Q
+F0(Abbre)25.3 E(viates)-.25 E F2(x\255$)2.5 E F0(lik)2.5 E(e)-.1 E F1
 (x*)2.5 E F0 2.5(,b)C(ut omits the last w)-2.7 E(ord.)-.1 E(If a w)108
-184.8 Q(ord designator is supplied without an e)-.1 E -.15(ve)-.25 G
+237.6 Q(ord designator is supplied without an e)-.1 E -.15(ve)-.25 G
 (nt speci\214cation, the pre).15 E(vious command is used as the e)-.25 E
--.15(ve)-.25 G(nt.).15 E F1(Modi\214ers)87 201.6 Q F0 .184
-(After the optional w)108 213.6 R .184(ord designator)-.1 F 2.684(,t)-.4
+-.15(ve)-.25 G(nt.).15 E F1(Modi\214ers)87 254.4 Q F0 .184
+(After the optional w)108 266.4 R .184(ord designator)-.1 F 2.684(,t)-.4
 G .183(here may appear a sequence of one or more of the follo)-2.684 F
-.183(wing modi\214ers,)-.25 F(each preceded by a `:'.)108 225.6 Q F1(h)
-108 242.4 Q F0(Remo)30.44 E .3 -.15(ve a t)-.15 H
-(railing \214le name component, lea).15 E(ving only the head.)-.2 E F1
-(t)108 254.4 Q F0(Remo)32.67 E .3 -.15(ve a)-.15 H
-(ll leading \214le name components, lea).15 E(ving the tail.)-.2 E F1(r)
-108 266.4 Q F0(Remo)31.56 E .3 -.15(ve a t)-.15 H(railing suf).15 E
+.183(wing modi\214ers,)-.25 F(each preceded by a `:'.)108 278.4 Q F1(h)
+108 295.2 Q F0(Remo)30.44 E .3 -.15(ve a t)-.15 H
+(railing \214lename component, lea).15 E(ving only the head.)-.2 E F1(t)
+108 307.2 Q F0(Remo)32.67 E .3 -.15(ve a)-.15 H
+(ll leading \214lename components, lea).15 E(ving the tail.)-.2 E F1(r)
+108 319.2 Q F0(Remo)31.56 E .3 -.15(ve a t)-.15 H(railing suf).15 E
 (\214x of the form)-.25 E F2(.xxx)2.5 E F0 2.5(,l)C(ea)-2.5 E
-(ving the basename.)-.2 E F1(e)108 278.4 Q F0(Remo)31.56 E .3 -.15(ve a)
--.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E F1(p)108 290.4
+(ving the basename.)-.2 E F1(e)108 331.2 Q F0(Remo)31.56 E .3 -.15(ve a)
+-.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E F1(p)108 343.2
 Q F0(Print the ne)30.44 E 2.5(wc)-.25 G(ommand b)-2.5 E(ut do not e)-.2
-E -.15(xe)-.15 G(cute it.).15 E F1(q)108 302.4 Q F0
+E -.15(xe)-.15 G(cute it.).15 E F1(q)108 355.2 Q F0
 (Quote the substituted w)30.44 E(ords, escaping further substitutions.)
--.1 E F1(x)108 314.4 Q F0(Quote the substituted w)31 E(ords as with)-.1
+-.1 E F1(x)108 367.2 Q F0(Quote the substituted w)31 E(ords as with)-.1
 E F1(q)2.5 E F0 2.5(,b)C(ut break into w)-2.7 E(ords at)-.1 E F1(blanks)
-2.5 E F0(and ne)2.5 E(wlines.)-.25 E F1(s/)108 326.4 Q F2(old)A F1(/)A
-F2(ne)A(w)-.15 E F1(/)A F0(Substitute)144 338.4 Q F2(ne)3.081 E(w)-.15 E
+2.5 E F0(and ne)2.5 E(wlines.)-.25 E F1(s/)108 379.2 Q F2(old)A F1(/)A
+F2(ne)A(w)-.15 E F1(/)A F0(Substitute)144 391.2 Q F2(ne)3.081 E(w)-.15 E
 F0 .221(for the \214rst occurrence of)3.031 F F2(old)2.951 E F0 .221
 (in the e)3.491 F -.15(ve)-.25 G .221(nt line.).15 F(An)5.221 E 2.721
 (yd)-.15 G .221(elimiter can be used in place)-2.721 F .617(of /.)144
-350.4 R .617
+403.2 R .617
 (The \214nal delimiter is optional if it is the last character of the e)
 5.617 F -.15(ve)-.25 G .617(nt line.).15 F .616(The delimiter may)5.616
-F .666(be quoted in)144 362.4 R F2(old)3.396 E F0(and)3.936 E F2(ne)
+F .666(be quoted in)144 415.2 R F2(old)3.396 E F0(and)3.936 E F2(ne)
 3.526 E(w)-.15 E F0 .666(with a single backslash.)3.476 F .666
 (If & appears in)5.666 F F2(ne)3.166 E(w)-.15 E F0 3.166(,i).31 G 3.166
 (ti)-3.166 G 3.166(sr)-3.166 G .666(eplaced by)-3.166 F F2(old)3.166 E
-F0 5.666(.A).77 G .275(single backslash will quote the &.)144 374.4 R
+F0 5.666(.A).77 G .275(single backslash will quote the &.)144 427.2 R
 (If)5.275 E F2(old)3.004 E F0 .274(is null, it is set to the last)3.544
 F F2(old)3.004 E F0 .274(substituted, or)3.544 F 2.774(,i)-.4 G 2.774
 (fn)-2.774 G 2.774(op)-2.774 G(re)-2.774 E(vi-)-.25 E
-(ous history substitutions took place, the last)144 386.4 Q F2(string)
+(ous history substitutions took place, the last)144 439.2 Q F2(string)
 2.84 E F0(in a)2.72 E F1(!?)2.5 E F2(string)A F1([?])A F0(search.)5 E F1
-(&)108 398.4 Q F0(Repeat the pre)27.67 E(vious substitution.)-.25 E F1
-(g)108 410.4 Q F0 .397(Cause changes to be applied o)31 F -.15(ve)-.15 G
+(&)108 451.2 Q F0(Repeat the pre)27.67 E(vious substitution.)-.25 E F1
+(g)108 463.2 Q F0 .397(Cause changes to be applied o)31 F -.15(ve)-.15 G
 2.897(rt).15 G .398(he entire e)-2.897 F -.15(ve)-.25 G .398(nt line.)
 .15 F .398(This is used in conjunction with `)5.398 F F1(:s)A F0 2.898
-('\()C(e.g.,)-2.898 E(`)144 422.4 Q F1(:gs/)A F2(old)A F1(/)A F2(ne)A(w)
+('\()C(e.g.,)-2.898 E(`)144 475.2 Q F1(:gs/)A F2(old)A F1(/)A F2(ne)A(w)
 -.15 E F1(/)A F0 1.219('\) or `)B F1(:&)A F0 3.719('. If)B 1.219
 (used with `)3.719 F F1(:s)A F0 1.218(', an)B 3.718(yd)-.15 G 1.218
 (elimiter can be used in place of /, and the \214nal)-3.718 F .089
-(delimiter is optional if it is the last character of the e)144 434.4 R
+(delimiter is optional if it is the last character of the e)144 487.2 R
 -.15(ve)-.25 G .09(nt line.).15 F(An)5.09 E F1(a)2.59 E F0 .09
-(may be used as a synon)2.59 F .09(ym for)-.15 F F1(g)144 446.4 Q F0(.)A
-F1(G)108 458.4 Q F0(Apply the follo)28.22 E(wing `)-.25 E F1(s)A F0 2.5
+(may be used as a synon)2.59 F .09(ym for)-.15 F F1(g)144 499.2 Q F0(.)A
+F1(G)108 511.2 Q F0(Apply the follo)28.22 E(wing `)-.25 E F1(s)A F0 2.5
 ('m)C(odi\214er once to each w)-2.5 E(ord in the e)-.1 E -.15(ve)-.25 G
-(nt line.).15 E/F3 10.95/Times-Bold@0 SF(SHELL B)72 475.2 Q(UIL)-.11 E
-(TIN COMMANDS)-1.007 E F0 .063(Unless otherwise noted, each b)108 487.2
-R .062(uiltin command documented in this section as accepting options p\
-receded by)-.2 F F1<ad>108 499.2 Q F0(accepts)2.533 E F1<adad>2.533 E F0
+(nt line.).15 E/F3 10.95/Times-Bold@0 SF(SHELL B)72 528 Q(UIL)-.11 E
+(TIN COMMANDS)-1.007 E F0 .063(Unless otherwise noted, each b)108 540 R
+.062(uiltin command documented in this section as accepting options pre\
+ceded by)-.2 F F1<ad>108 552 Q F0(accepts)2.533 E F1<adad>2.533 E F0
 .034(to signify the end of the options.)2.533 F(The)5.034 E F1(:)2.534 E
 F0(,)A F1(true)2.534 E F0(,)A F1(false)2.534 E F0 2.534(,a)C(nd)-2.534 E
 F1(test)2.534 E F0 -.2(bu)2.534 G .034(iltins do not accept options and)
-.2 F .078(do not treat)108 511.2 R F1<adad>2.577 E F0(specially)2.577 E
+.2 F .078(do not treat)108 564 R F1<adad>2.577 E F0(specially)2.577 E
 5.077(.T)-.65 G(he)-5.077 E F1(exit)2.577 E F0(,)A F1(logout)2.577 E F0
 (,)A F1(br)2.577 E(eak)-.18 E F0(,)A F1(continue)2.577 E F0(,)A F1(let)
 2.577 E F0 2.577(,a)C(nd)-2.577 E F1(shift)2.577 E F0 -.2(bu)2.577 G
-.077(iltins accept and process ar).2 F(gu-)-.18 E .319(ments be)108
-523.2 R .319(ginning with)-.15 F F1<ad>2.819 E F0 .319
-(without requiring)2.819 F F1<adad>2.819 E F0 5.319(.O)C .319(ther b)
--5.319 F .319(uiltins that accept ar)-.2 F .32(guments b)-.18 F .32
+.077(iltins accept and process ar).2 F(gu-)-.18 E .319(ments be)108 576
+R .319(ginning with)-.15 F F1<ad>2.819 E F0 .319(without requiring)2.819
+F F1<adad>2.819 E F0 5.319(.O)C .319(ther b)-5.319 F .319
+(uiltins that accept ar)-.2 F .32(guments b)-.18 F .32
 (ut are not speci\214ed as)-.2 F 1.144(accepting options interpret ar)
-108 535.2 R 1.144(guments be)-.18 F 1.144(ginning with)-.15 F F1<ad>
-3.643 E F0 1.143(as in)3.643 F -.25(va)-.4 G 1.143
-(lid options and require).25 F F1<adad>3.643 E F0 1.143(to pre)3.643 F
--.15(ve)-.25 G 1.143(nt this).15 F(interpretation.)108 547.2 Q F1(:)108
-565.2 Q F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A .451(No ef)144 577.2 R
-.451(fect; the command does nothing be)-.25 F .452(yond e)-.15 F
-(xpanding)-.15 E F2(ar)3.282 E(guments)-.37 E F0 .452(and performing an)
-3.222 F 2.952(ys)-.15 G(peci\214ed)-2.952 E 2.5(redirections. A)144
-589.2 R(zero e)2.5 E(xit code is returned.)-.15 E F1(.)110.5 606 Q F2
+108 588 R 1.144(guments be)-.18 F 1.144(ginning with)-.15 F F1<ad>3.643
+E F0 1.143(as in)3.643 F -.25(va)-.4 G 1.143(lid options and require).25
+F F1<adad>3.643 E F0 1.143(to pre)3.643 F -.15(ve)-.25 G 1.143(nt this)
+.15 F(interpretation.)108 600 Q F1(:)108 618 Q F0([)2.5 E F2(ar)A
+(guments)-.37 E F0(])A .451(No ef)144 630 R .451
+(fect; the command does nothing be)-.25 F .452(yond e)-.15 F(xpanding)
+-.15 E F2(ar)3.282 E(guments)-.37 E F0 .452(and performing an)3.222 F
+2.952(ys)-.15 G(peci\214ed)-2.952 E 2.5(redirections. A)144 642 R
+(zero e)2.5 E(xit code is returned.)-.15 E F1(.)110.5 658.8 Q F2
 (\214lename)6.666 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A F1(sour)108
-618 Q(ce)-.18 E F2(\214lename)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0
-(])A 1.02(Read and e)144 630 R -.15(xe)-.15 G 1.02(cute commands from)
-.15 F F2(\214lename)5.43 E F0 1.02(in the current shell en)3.7 F 1.02
-(vironment and return the e)-.4 F(xit)-.15 E 1.68
-(status of the last command e)144 642 R -.15(xe)-.15 G 1.68(cuted from)
-.15 F F2(\214lename)4.18 E F0 6.68(.I).18 G(f)-6.68 E F2(\214lename)6.09
-E F0 1.68(does not contain a slash, \214le)4.36 F .608(names in)144 654
-R/F4 9/Times-Bold@0 SF -.666(PA)3.108 G(TH)-.189 E F0 .608
+670.8 Q(ce)-.18 E F2(\214lename)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E
+F0(])A 1.02(Read and e)144 682.8 R -.15(xe)-.15 G 1.02
+(cute commands from).15 F F2(\214lename)5.43 E F0 1.02
+(in the current shell en)3.7 F 1.02(vironment and return the e)-.4 F
+(xit)-.15 E 1.458(status of the last command e)144 694.8 R -.15(xe)-.15
+G 1.458(cuted from).15 F F2(\214lename)3.958 E F0 6.458(.I).18 G(f)
+-6.458 E F2(\214lename)5.868 E F0 1.458
+(does not contain a slash, \214le-)4.138 F .608(names in)144 706.8 R/F4
+9/Times-Bold@0 SF -.666(PA)3.108 G(TH)-.189 E F0 .608
 (are used to \214nd the directory containing)2.858 F F2(\214lename)3.108
 E F0 5.608(.T).18 G .608(he \214le searched for in)-5.608 F F4 -.666(PA)
-3.108 G(TH)-.189 E F0 .832(need not be e)144 666 R -.15(xe)-.15 G 3.332
-(cutable. When).15 F F1(bash)3.332 E F0 .832(is not in)3.332 F F2 .832
-(posix mode)3.332 F F0 3.332(,t)C .833
+3.108 G(TH)-.189 E F0 .832(need not be e)144 718.8 R -.15(xe)-.15 G
+3.332(cutable. When).15 F F1(bash)3.332 E F0 .832(is not in)3.332 F F2
+.832(posix mode)3.332 F F0 3.332(,t)C .833
 (he current directory is searched if no)-3.332 F .982
-(\214le is found in)144 678 R F4 -.666(PA)3.481 G(TH)-.189 E/F5 9
+(\214le is found in)144 730.8 R F4 -.666(PA)3.481 G(TH)-.189 E/F5 9
 /Times-Roman@0 SF(.)A F0 .981(If the)5.481 F F1(sour)3.481 E(cepath)-.18
 E F0 .981(option to the)3.481 F F1(shopt)3.481 E F0 -.2(bu)3.481 G .981
-(iltin command is turned of).2 F .981(f, the)-.25 F F4 -.666(PA)144 690
-S(TH)-.189 E F0 .112(is not searched.)2.362 F .112(If an)5.112 F(y)-.15
-E F2(ar)2.612 E(guments)-.37 E F0 .112(are supplied, the)2.612 F 2.612
-(yb)-.15 G .112(ecome the positional parameters when)-2.612 F F2
-(\214lename)144 702 Q F0 .342(is e)2.842 F -.15(xe)-.15 G 2.842
-(cuted. Otherwise).15 F .342(the positional parameters are unchanged.)
-2.842 F .341(The return status is the)5.341 F .716
-(status of the last command e)144 714 R .716
-(xited within the script \(0 if no commands are e)-.15 F -.15(xe)-.15 G
-.716(cuted\), and f).15 F .716(alse if)-.1 F F2(\214lename)145.91 726 Q
-F0(is not found or cannot be read.)2.68 E(GNU Bash 4.2)72 768 Q
-(2011 July 7)151.505 E(49)200.665 E 0 Cg EP
+(iltin command is turned of).2 F .981(f, the)-.25 F(GNU Bash 4.2)72 768
+Q(2011 September 25)135.955 E(49)185.115 E 0 Cg EP
 %%Page: 50 50
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(alias)108 84 Q F0([)2.5 E F1<ad70>A F0 2.5
-(][)C/F2 10/Times-Italic@0 SF(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C
-(..])-2.5 E F1(Alias)144 96 Q F0 2.725(with no ar)5.225 F 2.724
-(guments or with the)-.18 F F1<ad70>5.224 E F0 2.724
-(option prints the list of aliases in the form)5.224 F F1(alias)5.224 E
-F2(name)144 108 Q F0(=)A F2(value)A F0 .58(on standard output.)3.08 F
-.58(When ar)5.58 F .58
+-.35 E/F1 9/Times-Bold@0 SF -.666(PA)144 84 S(TH)-.189 E F0 .112
+(is not searched.)2.362 F .112(If an)5.112 F(y)-.15 E/F2 10
+/Times-Italic@0 SF(ar)2.612 E(guments)-.37 E F0 .112(are supplied, the)
+2.612 F 2.612(yb)-.15 G .112(ecome the positional parameters when)-2.612
+F F2(\214lename)144 96 Q F0 .342(is e)2.842 F -.15(xe)-.15 G 2.842
+(cuted. Otherwise).15 F .342(the positional parameters are unchanged.)
+2.842 F .341(The return status is the)5.341 F .716
+(status of the last command e)144 108 R .716
+(xited within the script \(0 if no commands are e)-.15 F -.15(xe)-.15 G
+.716(cuted\), and f).15 F .716(alse if)-.1 F F2(\214lename)145.91 120 Q
+F0(is not found or cannot be read.)2.68 E/F3 10/Times-Bold@0 SF(alias)
+108 136.8 Q F0([)2.5 E F3<ad70>A F0 2.5(][)C F2(name)-2.5 E F0([=)A F2
+(value)A F0 2.5(].)C(..])-2.5 E F3(Alias)144 148.8 Q F0 2.725
+(with no ar)5.225 F 2.724(guments or with the)-.18 F F3<ad70>5.224 E F0
+2.724(option prints the list of aliases in the form)5.224 F F3(alias)
+5.224 E F2(name)144 160.8 Q F0(=)A F2(value)A F0 .58
+(on standard output.)3.08 F .58(When ar)5.58 F .58
 (guments are supplied, an alias is de\214ned for each)-.18 F F2(name)
-3.08 E F0(whose)144 120 Q F2(value)2.895 E F0 .395(is gi)2.895 F -.15
+3.08 E F0(whose)144 172.8 Q F2(value)2.895 E F0 .395(is gi)2.895 F -.15
 (ve)-.25 G 2.895(n. A).15 F .395(trailing space in)2.895 F F2(value)
 5.395 E F0 .395(causes the ne)2.895 F .395(xt w)-.15 F .395
 (ord to be check)-.1 F .395(ed for alias sub-)-.1 F .054
-(stitution when the alias is e)144 132 R 2.554(xpanded. F)-.15 F .054
+(stitution when the alias is e)144 184.8 R 2.554(xpanded. F)-.15 F .054
 (or each)-.15 F F2(name)2.554 E F0 .054(in the ar)2.554 F .054
 (gument list for which no)-.18 F F2(value)2.554 E F0 .054(is sup-)2.554
-F 1.314(plied, the name and v)144 144 R 1.314
-(alue of the alias is printed.)-.25 F F1(Alias)6.314 E F0 1.314
+F 1.314(plied, the name and v)144 196.8 R 1.314
+(alue of the alias is printed.)-.25 F F3(Alias)6.314 E F0 1.314
 (returns true unless a)3.814 F F2(name)3.814 E F0 1.313(is gi)3.814 F
 -.15(ve)-.25 G 3.813(nf).15 G(or)-3.813 E
-(which no alias has been de\214ned.)144 156 Q F1(bg)108 172.8 Q F0([)2.5
-E F2(jobspec)A F0(...])2.5 E .744(Resume each suspended job)144 184.8 R
-F2(jobspec)3.244 E F0 .745
-(in the background, as if it had been started with)3.244 F F1(&)3.245 E
-F0 5.745(.I)C(f)-5.745 E F2(job-)4.985 E(spec)144 196.8 Q F0 .672
+(which no alias has been de\214ned.)144 208.8 Q F3(bg)108 225.6 Q F0([)
+2.5 E F2(jobspec)A F0(...])2.5 E .744(Resume each suspended job)144
+237.6 R F2(jobspec)3.244 E F0 .745
+(in the background, as if it had been started with)3.244 F F3(&)3.245 E
+F0 5.745(.I)C(f)-5.745 E F2(job-)4.985 E(spec)144 249.6 Q F0 .672
 (is not present, the shell')3.482 F 3.172(sn)-.55 G .672(otion of the)
--3.172 F F2(curr)3.172 E .672(ent job)-.37 F F0 .672(is used.)3.172 F F1
+-3.172 F F2(curr)3.172 E .672(ent job)-.37 F F0 .672(is used.)3.172 F F3
 (bg)5.671 E F2(jobspec)4.911 E F0 .671(returns 0 unless run)3.481 F .418
-(when job control is disabled or)144 208.8 R 2.919(,w)-.4 G .419
+(when job control is disabled or)144 261.6 R 2.919(,w)-.4 G .419
 (hen run with job control enabled, an)-2.919 F 2.919(ys)-.15 G
 (peci\214ed)-2.919 E F2(jobspec)2.919 E F0 -.1(wa)2.919 G 2.919(sn).1 G
-(ot)-2.919 E(found or w)144 220.8 Q(as started without job control.)-.1
-E F1(bind)108 237.6 Q F0([)2.5 E F1<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0
-2.5(][)C F1(\255lpsvPSV)-2.5 E F0(])A F1(bind)108 249.6 Q F0([)2.5 E F1
-<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C F1<ad71>-2.5 E F2
-(function)2.5 E F0 2.5(][)C F1<ad75>-2.5 E F2(function)2.5 E F0 2.5(][)C
-F1<ad72>-2.5 E F2 -.1(ke)2.5 G(yseq)-.2 E F0(])A F1(bind)108 261.6 Q F0
-([)2.5 E F1<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0(])A F1<ad66>2.5 E F2
-(\214lename)2.5 E F1(bind)108 273.6 Q F0([)2.5 E F1<ad6d>A F2 -.1(ke)2.5
-G(ymap)-.2 E F0(])A F1<ad78>2.5 E F2 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F2
-(shell\255command)A F1(bind)108 285.6 Q F0([)2.5 E F1<ad6d>A F2 -.1(ke)
+(ot)-2.919 E(found or w)144 273.6 Q(as started without job control.)-.1
+E F3(bind)108 290.4 Q F0([)2.5 E F3<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0
+2.5(][)C F3(\255lpsvPSV)-2.5 E F0(])A F3(bind)108 302.4 Q F0([)2.5 E F3
+<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C F3<ad71>-2.5 E F2
+(function)2.5 E F0 2.5(][)C F3<ad75>-2.5 E F2(function)2.5 E F0 2.5(][)C
+F3<ad72>-2.5 E F2 -.1(ke)2.5 G(yseq)-.2 E F0(])A F3(bind)108 314.4 Q F0
+([)2.5 E F3<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0(])A F3<ad66>2.5 E F2
+(\214lename)2.5 E F3(bind)108 326.4 Q F0([)2.5 E F3<ad6d>A F2 -.1(ke)2.5
+G(ymap)-.2 E F0(])A F3<ad78>2.5 E F2 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F2
+(shell\255command)A F3(bind)108 338.4 Q F0([)2.5 E F3<ad6d>A F2 -.1(ke)
 2.5 G(ymap)-.2 E F0(])A F2 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F2
-(function\255name)A F1(bind)108 297.6 Q F2 -.37(re)2.5 G
-(adline\255command).37 E F0 .239(Display current)144 309.6 R F1 -.18(re)
+(function\255name)A F3(bind)108 350.4 Q F2 -.37(re)2.5 G
+(adline\255command).37 E F0 .239(Display current)144 362.4 R F3 -.18(re)
 2.739 G(adline).18 E F0 -.1(ke)2.739 G 2.739(ya)-.05 G .239
 (nd function bindings, bind a k)-2.739 F .539 -.15(ey s)-.1 H .238
-(equence to a).15 F F1 -.18(re)2.738 G(adline).18 E F0 .238(function or)
-2.738 F .475(macro, or set a)144 321.6 R F1 -.18(re)2.975 G(adline).18 E
+(equence to a).15 F F3 -.18(re)2.738 G(adline).18 E F0 .238(function or)
+2.738 F .475(macro, or set a)144 374.4 R F3 -.18(re)2.975 G(adline).18 E
 F0 -.25(va)2.975 G 2.975(riable. Each).25 F .476(non-option ar)2.976 F
 .476(gument is a command as it w)-.18 F .476(ould appear in)-.1 F F2
-(.inputr)144 333.6 Q(c)-.37 E F0 2.984(,b).31 G .484
+(.inputr)144 386.4 Q(c)-.37 E F0 2.984(,b).31 G .484
 (ut each binding or command must be passed as a separate ar)-3.184 F
 .483(gument; e.g., '"\\C\255x\\C\255r":)-.18 F 2.5
-(re\255read\255init\255\214le'. Options,)144 345.6 R(if supplied, ha)2.5
-E .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad6d>144
-357.6 Q F2 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 369.6 Q F2 -.1(ke)5.158 G
+(re\255read\255init\255\214le'. Options,)144 398.4 R(if supplied, ha)2.5
+E .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F3<ad6d>144
+410.4 Q F2 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 422.4 Q F2 -.1(ke)5.158 G
 (ymap)-.2 E F0 2.658(as the k)5.348 F -.15(ey)-.1 G 2.658(map to be af)
 .15 F 2.659(fected by the subsequent bindings.)-.25 F(Acceptable)7.659 E
-F2 -.1(ke)180 381.6 S(ymap)-.2 E F0 3.193(names are)5.883 F F2 3.193
+F2 -.1(ke)180 434.4 S(ymap)-.2 E F0 3.193(names are)5.883 F F2 3.193
 (emacs, emacs\255standar)5.693 F 3.192
 (d, emacs\255meta, emacs\255ctlx, vi, vi\255mo)-.37 F(ve)-.1 E(,)-.1 E
-(vi\255command)180 393.6 Q F0 4.429(,a)C(nd)-4.429 E F2(vi\255insert)
+(vi\255command)180 446.4 Q F0 4.429(,a)C(nd)-4.429 E F2(vi\255insert)
 4.429 E F0(.).68 E F2(vi)6.929 E F0 1.929(is equi)4.429 F -.25(va)-.25 G
 1.929(lent to).25 F F2(vi\255command)4.429 E F0(;)A F2(emacs)4.429 E F0
 1.929(is equi)4.429 F -.25(va)-.25 G 1.93(lent to).25 F F2
-(emacs\255standar)180 405.6 Q(d)-.37 E F0(.)A F1<ad6c>144 417.6 Q F0
-(List the names of all)27.52 E F1 -.18(re)2.5 G(adline).18 E F0
-(functions.)2.5 E F1<ad70>144 429.6 Q F0(Display)24.74 E F1 -.18(re)2.5
+(emacs\255standar)180 458.4 Q(d)-.37 E F0(.)A F3<ad6c>144 470.4 Q F0
+(List the names of all)27.52 E F3 -.18(re)2.5 G(adline).18 E F0
+(functions.)2.5 E F3<ad70>144 482.4 Q F0(Display)24.74 E F3 -.18(re)2.5
 G(adline).18 E F0(function names and bindings in such a w)2.5 E
-(ay that the)-.1 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1<ad50>144 441.6
-Q F0(List current)24.19 E F1 -.18(re)2.5 G(adline).18 E F0
-(function names and bindings.)2.5 E F1<ad73>144 453.6 Q F0(Display)26.41
-E F1 -.18(re)3.655 G(adline).18 E F0 -.1(ke)3.655 G 3.655(ys)-.05 G
+(ay that the)-.1 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F3<ad50>144 494.4
+Q F0(List current)24.19 E F3 -.18(re)2.5 G(adline).18 E F0
+(function names and bindings.)2.5 E F3<ad73>144 506.4 Q F0(Display)26.41
+E F3 -.18(re)3.655 G(adline).18 E F0 -.1(ke)3.655 G 3.655(ys)-.05 G
 1.155(equences bound to macros and the strings the)-3.655 F 3.655(yo)
--.15 G 1.155(utput in such a)-3.655 F -.1(wa)180 465.6 S 2.5(yt).1 G
-(hat the)-2.5 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1<ad53>144 477.6 Q
-F0(Display)24.74 E F1 -.18(re)2.5 G(adline).18 E F0 -.1(ke)2.5 G 2.5(ys)
+-.15 G 1.155(utput in such a)-3.655 F -.1(wa)180 518.4 S 2.5(yt).1 G
+(hat the)-2.5 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F3<ad53>144 530.4 Q
+F0(Display)24.74 E F3 -.18(re)2.5 G(adline).18 E F0 -.1(ke)2.5 G 2.5(ys)
 -.05 G(equences bound to macros and the strings the)-2.5 E 2.5(yo)-.15 G
-(utput.)-2.5 E F1<ad76>144 489.6 Q F0(Display)25.3 E F1 -.18(re)2.5 G
+(utput.)-2.5 E F3<ad76>144 542.4 Q F0(Display)25.3 E F3 -.18(re)2.5 G
 (adline).18 E F0 -.25(va)2.5 G(riable names and v).25 E
 (alues in such a w)-.25 E(ay that the)-.1 E 2.5(yc)-.15 G
-(an be re-read.)-2.5 E F1<ad56>144 501.6 Q F0(List current)23.08 E F1
+(an be re-read.)-2.5 E F3<ad56>144 554.4 Q F0(List current)23.08 E F3
 -.18(re)2.5 G(adline).18 E F0 -.25(va)2.5 G(riable names and v).25 E
-(alues.)-.25 E F1<ad66>144 513.6 Q F2(\214lename)2.5 E F0(Read k)180
-525.6 Q .3 -.15(ey b)-.1 H(indings from).15 E F2(\214lename)2.5 E F0(.)A
-F1<ad71>144 537.6 Q F2(function)2.5 E F0(Query about which k)180 549.6 Q
+(alues.)-.25 E F3<ad66>144 566.4 Q F2(\214lename)2.5 E F0(Read k)180
+578.4 Q .3 -.15(ey b)-.1 H(indings from).15 E F2(\214lename)2.5 E F0(.)A
+F3<ad71>144 590.4 Q F2(function)2.5 E F0(Query about which k)180 602.4 Q
 -.15(ey)-.1 G 2.5(si).15 G -1.9 -.4(nv o)-2.5 H .2 -.1(ke t).4 H
-(he named).1 E F2(function)2.5 E F0(.)A F1<ad75>144 561.6 Q F2(function)
-2.5 E F0(Unbind all k)180 573.6 Q -.15(ey)-.1 G 2.5(sb).15 G
-(ound to the named)-2.5 E F2(function)2.5 E F0(.)A F1<ad72>144 585.6 Q
-F2 -.1(ke)2.5 G(yseq)-.2 E F0(Remo)180 597.6 Q .3 -.15(ve a)-.15 H .3
+(he named).1 E F2(function)2.5 E F0(.)A F3<ad75>144 614.4 Q F2(function)
+2.5 E F0(Unbind all k)180 626.4 Q -.15(ey)-.1 G 2.5(sb).15 G
+(ound to the named)-2.5 E F2(function)2.5 E F0(.)A F3<ad72>144 638.4 Q
+F2 -.1(ke)2.5 G(yseq)-.2 E F0(Remo)180 650.4 Q .3 -.15(ve a)-.15 H .3
 -.15(ny c).15 H(urrent binding for).15 E F2 -.1(ke)2.5 G(yseq)-.2 E F0
-(.)A F1<ad78>144 609.6 Q F2 -.1(ke)2.5 G(yseq)-.2 E F1(:)A F2
-(shell\255command)A F0(Cause)180 621.6 Q F2(shell\255command)4.325 E F0
+(.)A F3<ad78>144 662.4 Q F2 -.1(ke)2.5 G(yseq)-.2 E F3(:)A F2
+(shell\255command)A F0(Cause)180 674.4 Q F2(shell\255command)4.325 E F0
 1.825(to be e)4.325 F -.15(xe)-.15 G 1.825(cuted whene).15 F -.15(ve)
 -.25 G(r).15 E F2 -.1(ke)4.325 G(yseq)-.2 E F0 1.825(is entered.)4.325 F
-(When)6.825 E F2(shell\255com-)4.325 E(mand)180 633.6 Q F0 1.765(is e)
-4.265 F -.15(xe)-.15 G 1.765(cuted, the shell sets the).15 F/F3 9
-/Times-Bold@0 SF(READLINE_LINE)4.265 E F0 -.25(va)4.015 G 1.765
-(riable to the contents of the).25 F F1 -.18(re)180 645.6 S(adline).18 E
-F0 1.353(line b)3.852 F(uf)-.2 E 1.353(fer and the)-.25 F F3
+(When)6.825 E F2(shell\255com-)4.325 E(mand)180 686.4 Q F0 1.765(is e)
+4.265 F -.15(xe)-.15 G 1.765(cuted, the shell sets the).15 F F1
+(READLINE_LINE)4.265 E F0 -.25(va)4.015 G 1.765
+(riable to the contents of the).25 F F3 -.18(re)180 698.4 S(adline).18 E
+F0 1.353(line b)3.852 F(uf)-.2 E 1.353(fer and the)-.25 F F1
 (READLINE_POINT)3.853 E F0 -.25(va)3.603 G 1.353
 (riable to the current location of the).25 F 2.012(insertion point.)180
-657.6 R 2.011(If the e)7.012 F -.15(xe)-.15 G 2.011
-(cuted command changes the v).15 F 2.011(alue of)-.25 F F3
-(READLINE_LINE)4.511 E F0(or)4.261 E F3(READLINE_POINT)180 669.6 Q/F4 9
+710.4 R 2.011(If the e)7.012 F -.15(xe)-.15 G 2.011
+(cuted command changes the v).15 F 2.011(alue of)-.25 F F1
+(READLINE_LINE)4.511 E F0(or)4.261 E F1(READLINE_POINT)180 722.4 Q/F4 9
 /Times-Roman@0 SF(,)A F0(those ne)2.25 E 2.5(wv)-.25 G
-(alues will be re\215ected in the editing state.)-2.75 E(The return v)
-144 686.4 Q(alue is 0 unless an unrecognized option is gi)-.25 E -.15
-(ve)-.25 G 2.5(no).15 G 2.5(ra)-2.5 G 2.5(ne)-2.5 G(rror occurred.)-2.5
-E F1(br)108 703.2 Q(eak)-.18 E F0([)2.5 E F2(n)A F0(])A .054
-(Exit from within a)144 715.2 R F1 -.25(fo)2.554 G(r).25 E F0(,)A F1
-(while)2.554 E F0(,)A F1(until)2.555 E F0 2.555(,o)C(r)-2.555 E F1
-(select)2.555 E F0 2.555(loop. If)2.555 F F2(n)2.555 E F0 .055
-(is speci\214ed, break)2.555 F F2(n)2.555 E F0(le)2.555 E -.15(ve)-.25 G
-(ls.).15 E F2(n)5.415 E F0 .055(must be)2.795 F/F5 10/Symbol SF<b3>2.555
-E F0(1.)2.555 E(If)144 727.2 Q F2(n)3.075 E F0 .215(is greater than the\
- number of enclosing loops, all enclosing loops are e)2.955 F 2.714
-(xited. The)-.15 F .214(return v)2.714 F(alue)-.25 E(GNU Bash 4.2)72 768
-Q(2011 July 7)151.505 E(50)200.665 E 0 Cg EP
+(alues will be re\215ected in the editing state.)-2.75 E(GNU Bash 4.2)72
+768 Q(2011 September 25)135.955 E(50)185.115 E 0 Cg EP
 %%Page: 51 51
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(is 0 unless)144 84 Q/F1 10/Times-Italic@0 SF(n)2.5 E F0
-(is not greater than or equal to 1.)2.5 E/F2 10/Times-Bold@0 SF -.2(bu)
-108 100.8 S(iltin).2 E F1(shell\255b)2.5 E(uiltin)-.2 E F0([)2.5 E F1
-(ar)A(guments)-.37 E F0(])A(Ex)144 112.8 Q .792
-(ecute the speci\214ed shell b)-.15 F .792(uiltin, passing it)-.2 F F1
-(ar)3.293 E(guments)-.37 E F0 3.293(,a).27 G .793(nd return its e)-3.293
-F .793(xit status.)-.15 F .793(This is useful)5.793 F .616
+-.35 E(The return v)144 84 Q
+(alue is 0 unless an unrecognized option is gi)-.25 E -.15(ve)-.25 G 2.5
+(no).15 G 2.5(ra)-2.5 G 2.5(ne)-2.5 G(rror occurred.)-2.5 E/F1 10
+/Times-Bold@0 SF(br)108 100.8 Q(eak)-.18 E F0([)2.5 E/F2 10
+/Times-Italic@0 SF(n)A F0(])A .054(Exit from within a)144 112.8 R F1
+-.25(fo)2.554 G(r).25 E F0(,)A F1(while)2.554 E F0(,)A F1(until)2.555 E
+F0 2.555(,o)C(r)-2.555 E F1(select)2.555 E F0 2.555(loop. If)2.555 F F2
+(n)2.555 E F0 .055(is speci\214ed, break)2.555 F F2(n)2.555 E F0(le)
+2.555 E -.15(ve)-.25 G(ls.).15 E F2(n)5.415 E F0 .055(must be)2.795 F/F3
+10/Symbol SF<b3>2.555 E F0(1.)2.555 E(If)144 124.8 Q F2(n)3.075 E F0
+.215(is greater than the number of enclosing loops, all enclosing loops\
+ are e)2.955 F 2.714(xited. The)-.15 F .214(return v)2.714 F(alue)-.25 E
+(is 0 unless)144 136.8 Q F2(n)2.5 E F0
+(is not greater than or equal to 1.)2.5 E F1 -.2(bu)108 153.6 S(iltin).2
+E F2(shell\255b)2.5 E(uiltin)-.2 E F0([)2.5 E F2(ar)A(guments)-.37 E F0
+(])A(Ex)144 165.6 Q .792(ecute the speci\214ed shell b)-.15 F .792
+(uiltin, passing it)-.2 F F2(ar)3.293 E(guments)-.37 E F0 3.293(,a).27 G
+.793(nd return its e)-3.293 F .793(xit status.)-.15 F .793
+(This is useful)5.793 F .616
 (when de\214ning a function whose name is the same as a shell b)144
-124.8 R .615(uiltin, retaining the functionality of)-.2 F .57(the b)144
-136.8 R .57(uiltin within the function.)-.2 F(The)5.57 E F2(cd)3.07 E F0
+177.6 R .615(uiltin, retaining the functionality of)-.2 F .57(the b)144
+189.6 R .57(uiltin within the function.)-.2 F(The)5.57 E F1(cd)3.07 E F0
 -.2(bu)3.07 G .57(iltin is commonly rede\214ned this w).2 F(ay)-.1 E
-5.57(.T)-.65 G .57(he return status)-5.57 F(is f)144 148.8 Q(alse if)-.1
-E F1(shell\255b)2.84 E(uiltin)-.2 E F0(is not a shell b)2.74 E
-(uiltin command.)-.2 E F2(caller)108 165.6 Q F0([)2.5 E F1 -.2(ex)C(pr)
-.2 E F0(])A .254(Returns the conte)144 177.6 R .254(xt of an)-.15 F
+5.57(.T)-.65 G .57(he return status)-5.57 F(is f)144 201.6 Q(alse if)-.1
+E F2(shell\255b)2.84 E(uiltin)-.2 E F0(is not a shell b)2.74 E
+(uiltin command.)-.2 E F1(caller)108 218.4 Q F0([)2.5 E F2 -.2(ex)C(pr)
+.2 E F0(])A .254(Returns the conte)144 230.4 R .254(xt of an)-.15 F
 2.754(ya)-.15 G(cti)-2.754 E .554 -.15(ve s)-.25 H .254
 (ubroutine call \(a shell function or a script e).15 F -.15(xe)-.15 G
-.254(cuted with the).15 F F2(.)2.753 E F0(or)2.753 E F2(sour)144 189.6 Q
-(ce)-.18 E F0 -.2(bu)2.824 G 2.824(iltins\). W).2 F(ithout)-.4 E F1 -.2
-(ex)2.824 G(pr).2 E F0(,)A F2(caller)2.824 E F0 .324
+.254(cuted with the).15 F F1(.)2.753 E F0(or)2.753 E F1(sour)144 242.4 Q
+(ce)-.18 E F0 -.2(bu)2.824 G 2.824(iltins\). W).2 F(ithout)-.4 E F2 -.2
+(ex)2.824 G(pr).2 E F0(,)A F1(caller)2.824 E F0 .324
 (displays the line number and source \214lename of the current)2.824 F
-.254(subroutine call.)144 201.6 R .254(If a non-ne)5.254 F -.05(ga)-.15
+.254(subroutine call.)144 254.4 R .254(If a non-ne)5.254 F -.05(ga)-.15
 G(ti).05 E .554 -.15(ve i)-.25 H(nte).15 E .253(ger is supplied as)-.15
-F F1 -.2(ex)2.753 G(pr).2 E F0(,)A F2(caller)2.753 E F0 .253
+F F2 -.2(ex)2.753 G(pr).2 E F0(,)A F1(caller)2.753 E F0 .253
 (displays the line number)2.753 F 2.753(,s)-.4 G(ub-)-2.753 E 1.327(rou\
 tine name, and source \214le corresponding to that position in the curr\
-ent e)144 213.6 R -.15(xe)-.15 G 1.328(cution call stack.).15 F .001
-(This e)144 225.6 R .001(xtra information may be used, for e)-.15 F .001
+ent e)144 266.4 R -.15(xe)-.15 G 1.328(cution call stack.).15 F .001
+(This e)144 278.4 R .001(xtra information may be used, for e)-.15 F .001
 (xample, to print a stack trace.)-.15 F(The current frame is frame)5 E
-3.019(0. The)144 237.6 R .519(return v)3.019 F .519
+3.019(0. The)144 290.4 R .519(return v)3.019 F .519
 (alue is 0 unless the shell is not e)-.25 F -.15(xe)-.15 G .52
-(cuting a subroutine call or).15 F F1 -.2(ex)3.02 G(pr).2 E F0 .52
-(does not corre-)3.02 F(spond to a v)144 249.6 Q
-(alid position in the call stack.)-.25 E F2(cd)108 266.4 Q F0([)2.5 E F2
-<ad4c>A F0(|[)A F2<ad50>A F0([)2.5 E F2<ad65>A F0(]]] [)A F1(dir)A F0(])
-A .21(Change the current directory to)144 278.4 R F1(dir)2.71 E F0 5.21
-(.T)C .21(he v)-5.21 F(ariable)-.25 E/F3 9/Times-Bold@0 SF(HOME)2.71 E
-F0 .21(is the def)2.46 F(ault)-.1 E F1(dir)2.71 E F0 5.21(.T).73 G .21
-(he v)-5.21 F(ariable)-.25 E F3(CDP)2.71 E -.855(AT)-.666 G(H).855 E F0
-.776(de\214nes the search path for the directory containing)144 290.4 R
-F1(dir)3.276 E F0 5.777(.A).73 G(lternati)-5.777 E 1.077 -.15(ve d)-.25
-H .777(irectory names in).15 F F3(CDP)3.277 E -.855(AT)-.666 G(H).855 E
-F0 .764(are separated by a colon \(:\).)144 302.4 R 3.264(An)5.764 G
-.764(ull directory name in)-3.264 F F3(CDP)3.264 E -.855(AT)-.666 G(H)
-.855 E F0 .764(is the same as the current direc-)3.014 F(tory)144 314.4
-Q 2.973(,i)-.65 G .473(.e., `)-2.973 F(`)-.74 E F2(.)A F0 -.74('')C
-5.473(.I).74 G(f)-5.473 E F1(dir)3.323 E F0(be)3.703 E .474
-(gins with a slash \(/\), then)-.15 F F3(CDP)2.974 E -.855(AT)-.666 G(H)
-.855 E F0 .474(is not used. The)2.724 F F2<ad50>2.974 E F0 .474
-(option says to use)2.974 F .58(the ph)144 326.4 R .58
+(cuting a subroutine call or).15 F F2 -.2(ex)3.02 G(pr).2 E F0 .52
+(does not corre-)3.02 F(spond to a v)144 302.4 Q
+(alid position in the call stack.)-.25 E F1(cd)108 319.2 Q F0([)2.5 E F1
+<ad4c>A F0(|[)A F1<ad50>A F0([)2.5 E F1<ad65>A F0(]]] [)A F2(dir)A F0(])
+A .21(Change the current directory to)144 331.2 R F2(dir)2.71 E F0 5.21
+(.T)C .21(he v)-5.21 F(ariable)-.25 E/F4 9/Times-Bold@0 SF(HOME)2.71 E
+F0 .21(is the def)2.46 F(ault)-.1 E F2(dir)2.71 E F0 5.21(.T).73 G .21
+(he v)-5.21 F(ariable)-.25 E F4(CDP)2.71 E -.855(AT)-.666 G(H).855 E F0
+.776(de\214nes the search path for the directory containing)144 343.2 R
+F2(dir)3.276 E F0 5.777(.A).73 G(lternati)-5.777 E 1.077 -.15(ve d)-.25
+H .777(irectory names in).15 F F4(CDP)3.277 E -.855(AT)-.666 G(H).855 E
+F0 .764(are separated by a colon \(:\).)144 355.2 R 3.264(An)5.764 G
+.764(ull directory name in)-3.264 F F4(CDP)3.264 E -.855(AT)-.666 G(H)
+.855 E F0 .764(is the same as the current direc-)3.014 F(tory)144 367.2
+Q 2.973(,i)-.65 G .473(.e., `)-2.973 F(`)-.74 E F1(.)A F0 -.74('')C
+5.473(.I).74 G(f)-5.473 E F2(dir)3.323 E F0(be)3.703 E .474
+(gins with a slash \(/\), then)-.15 F F4(CDP)2.974 E -.855(AT)-.666 G(H)
+.855 E F0 .474(is not used. The)2.724 F F1<ad50>2.974 E F0 .474
+(option says to use)2.974 F .58(the ph)144 379.2 R .58
 (ysical directory structure instead of follo)-.05 F .579
-(wing symbolic links \(see also the)-.25 F F2<ad50>3.079 E F0 .579
-(option to the)3.079 F F2(set)144 338.4 Q F0 -.2(bu)2.716 G .216
-(iltin command\); the).2 F F2<ad4c>2.716 E F0 .216
+(wing symbolic links \(see also the)-.25 F F1<ad50>3.079 E F0 .579
+(option to the)3.079 F F1(set)144 391.2 Q F0 -.2(bu)2.716 G .216
+(iltin command\); the).2 F F1<ad4c>2.716 E F0 .216
 (option forces symbolic links to be follo)2.716 F 2.717(wed. If)-.25 F
-(the)2.717 E F2<ad65>2.717 E F0 .217(option is sup-)2.717 F 1.087
-(plied with)144 350.4 R F2<ad50>3.587 E F0 3.587(,a)C 1.087
+(the)2.717 E F1<ad65>2.717 E F0 .217(option is sup-)2.717 F 1.087
+(plied with)144 403.2 R F1<ad50>3.587 E F0 3.587(,a)C 1.087
 (nd the current w)-3.587 F 1.086
 (orking directory cannot be successfully determined after a suc-)-.1 F
-.44(cessful directory change,)144 362.4 R F2(cd)2.94 E F0 .44
-(will return an unsuccessful status.)2.94 F .44(An ar)5.44 F .44
-(gument of)-.18 F F2<ad>2.94 E F0 .44(is equi)2.94 F -.25(va)-.25 G .44
-(lent to).25 F F3($OLDPWD)144 374.4 Q/F4 9/Times-Roman@0 SF(.)A F0 1.045
-(If a non-empty directory name from)5.545 F F3(CDP)3.545 E -.855(AT)
--.666 G(H).855 E F0 1.044(is used, or if)3.295 F F2<ad>3.544 E F0 1.044
-(is the \214rst ar)3.544 F(gument,)-.18 E .021(and the directory change\
- is successful, the absolute pathname of the ne)144 386.4 R 2.522(ww)
--.25 G .022(orking directory is writ-)-2.622 F .165
-(ten to the standard output.)144 398.4 R .165(The return v)5.165 F .165
-(alue is true if the directory w)-.25 F .165(as successfully changed; f)
--.1 F(alse)-.1 E(otherwise.)144 410.4 Q F2(command)108 427.2 Q F0([)2.5
-E F2(\255pVv)A F0(])A F1(command)2.5 E F0([)2.5 E F1(ar)A(g)-.37 E F0
-(...])2.5 E(Run)144 439.2 Q F1(command)2.956 E F0(with)3.527 E F1(ar)
-3.087 E(gs)-.37 E F0 .257
+.592(cessful directory change,)144 415.2 R F1(cd)3.092 E F0 .592
+(will return an unsuccessful status.)3.092 F .592(An ar)5.592 F .592
+(gument of)-.18 F F1<ad>3.092 E F0 .592(is con)3.092 F -.15(ve)-.4 G
+.592(rted to).15 F F4($OLDPWD)144 427.2 Q F0 3.028
+(before the directory change is attempted.)5.278 F 3.027
+(If a non-empty directory name from)8.027 F F4(CDP)144 439.2 Q -.855(AT)
+-.666 G(H).855 E F0 .482(is used, or if)2.731 F F1<ad>2.982 E F0 .482
+(is the \214rst ar)2.982 F .482
+(gument, and the directory change is successful, the absolute)-.18 F
+.521(pathname of the ne)144 451.2 R 3.021(ww)-.25 G .521
+(orking directory is written to the standard output.)-3.121 F .52
+(The return v)5.52 F .52(alue is true)-.25 F(if the directory w)144
+463.2 Q(as successfully changed; f)-.1 E(alse otherwise.)-.1 E F1
+(command)108 480 Q F0([)2.5 E F1(\255pVv)A F0(])A F2(command)2.5 E F0([)
+2.5 E F2(ar)A(g)-.37 E F0(...])2.5 E(Run)144 492 Q F2(command)2.956 E F0
+(with)3.527 E F2(ar)3.087 E(gs)-.37 E F0 .257
 (suppressing the normal shell function lookup. Only b)3.027 F .257
-(uiltin commands or)-.2 F .502(commands found in the)144 451.2 R F3
--.666(PA)3.002 G(TH)-.189 E F0 .502(are e)2.752 F -.15(xe)-.15 G 3.002
-(cuted. If).15 F(the)3.002 E F2<ad70>3.002 E F0 .502(option is gi)3.002
-F -.15(ve)-.25 G .501(n, the search for).15 F F1(command)3.201 E F0(is)
-3.771 E .399(performed using a def)144 463.2 R .399(ault v)-.1 F .399
-(alue for)-.25 F F3 -.666(PA)2.899 G(TH)-.189 E F0 .4
+(uiltin commands or)-.2 F .502(commands found in the)144 504 R F4 -.666
+(PA)3.002 G(TH)-.189 E F0 .502(are e)2.752 F -.15(xe)-.15 G 3.002
+(cuted. If).15 F(the)3.002 E F1<ad70>3.002 E F0 .502(option is gi)3.002
+F -.15(ve)-.25 G .501(n, the search for).15 F F2(command)3.201 E F0(is)
+3.771 E .399(performed using a def)144 516 R .399(ault v)-.1 F .399
+(alue for)-.25 F F4 -.666(PA)2.899 G(TH)-.189 E F0 .4
 (that is guaranteed to \214nd all of the standard utilities.)2.649 F(If)
-5.4 E .175(either the)144 475.2 R F2<ad56>2.675 E F0(or)2.675 E F2<ad76>
-2.675 E F0 .175(option is supplied, a description of)2.675 F F1(command)
-2.875 E F0 .174(is printed.)3.445 F(The)5.174 E F2<ad76>2.674 E F0 .174
-(option causes)2.674 F 3.11(as)144 487.2 S .61(ingle w)-3.11 F .61
-(ord indicating the command or \214le name used to in)-.1 F -.2(vo)-.4 G
--.1(ke).2 G F1(command)3.41 E F0 .61(to be displayed; the)3.88 F F2
-<ad56>144 499.2 Q F0 .25(option produces a more v)2.75 F .25
-(erbose description.)-.15 F .249(If the)5.25 F F2<ad56>2.749 E F0(or)
-2.749 E F2<ad76>2.749 E F0 .249(option is supplied, the e)2.749 F .249
-(xit status)-.15 F 1.004(is 0 if)144 511.2 R F1(command)3.704 E F0 -.1
-(wa)4.274 G 3.504(sf).1 G 1.005(ound, and 1 if not.)-3.504 F 1.005
-(If neither option is supplied and an error occurred or)6.005 F F1
-(command)144.2 523.2 Q F0 1.599(cannot be found, the e)4.869 F 1.599
+5.4 E .175(either the)144 528 R F1<ad56>2.675 E F0(or)2.675 E F1<ad76>
+2.675 E F0 .175(option is supplied, a description of)2.675 F F2(command)
+2.875 E F0 .174(is printed.)3.445 F(The)5.174 E F1<ad76>2.674 E F0 .174
+(option causes)2.674 F 3.317(as)144 540 S .817(ingle w)-3.317 F .817
+(ord indicating the command or \214lename used to in)-.1 F -.2(vo)-.4 G
+-.1(ke).2 G F2(command)3.618 E F0 .818(to be displayed; the)4.088 F F1
+<ad56>144 552 Q F0 .25(option produces a more v)2.75 F .25
+(erbose description.)-.15 F .249(If the)5.25 F F1<ad56>2.749 E F0(or)
+2.749 E F1<ad76>2.749 E F0 .249(option is supplied, the e)2.749 F .249
+(xit status)-.15 F 1.004(is 0 if)144 564 R F2(command)3.704 E F0 -.1(wa)
+4.274 G 3.504(sf).1 G 1.005(ound, and 1 if not.)-3.504 F 1.005
+(If neither option is supplied and an error occurred or)6.005 F F2
+(command)144.2 576 Q F0 1.599(cannot be found, the e)4.869 F 1.599
 (xit status is 127.)-.15 F 1.599(Otherwise, the e)6.599 F 1.598
-(xit status of the)-.15 F F2(command)4.098 E F0 -.2(bu)144 535.2 S
-(iltin is the e).2 E(xit status of)-.15 E F1(command)2.5 E F0(.).77 E F2
-(compgen)108 552 Q F0([)2.5 E F1(option)A F0 2.5(][)C F1(wor)-2.5 E(d)
--.37 E F0(])A .012(Generate possible completion matches for)144 564 R F1
-(wor)2.513 E(d)-.37 E F0 .013(according to the)2.513 F F1(option)2.513 E
-F0 .013(s, which may be an)B 2.513(yo)-.15 G(ption)-2.513 E .982
-(accepted by the)144 576 R F2(complete)3.482 E F0 -.2(bu)3.481 G .981
-(iltin with the e).2 F .981(xception of)-.15 F F2<ad70>3.481 E F0(and)
-3.481 E F2<ad72>3.481 E F0 3.481(,a)C .981(nd write the matches to the)
--3.481 F 1.415(standard output.)144 588 R 1.415(When using the)6.415 F
-F2<ad46>3.915 E F0(or)3.915 E F2<ad43>3.915 E F0 1.415(options, the v)
+(xit status of the)-.15 F F1(command)4.098 E F0 -.2(bu)144 588 S
+(iltin is the e).2 E(xit status of)-.15 E F2(command)2.5 E F0(.).77 E F1
+(compgen)108 604.8 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(wor)-2.5 E(d)
+-.37 E F0(])A .012(Generate possible completion matches for)144 616.8 R
+F2(wor)2.513 E(d)-.37 E F0 .013(according to the)2.513 F F2(option)2.513
+F0 .013(s, which may be an)B 2.513(yo)-.15 G(ption)-2.513 E .982
+(accepted by the)144 628.8 R F1(complete)3.482 E F0 -.2(bu)3.481 G .981
+(iltin with the e).2 F .981(xception of)-.15 F F1<ad70>3.481 E F0(and)
+3.481 E F1<ad72>3.481 E F0 3.481(,a)C .981(nd write the matches to the)
+-3.481 F 1.415(standard output.)144 640.8 R 1.415(When using the)6.415 F
+F1<ad46>3.915 E F0(or)3.915 E F1<ad43>3.915 E F0 1.415(options, the v)
 3.915 F 1.415(arious shell v)-.25 F 1.415(ariables set by the pro-)-.25
-F(grammable completion f)144 600 Q(acilities, while a)-.1 E -.25(va)-.2
-G(ilable, will not ha).25 E .3 -.15(ve u)-.2 H(seful v).15 E(alues.)-.25
-E .352(The matches will be generated in the same w)144 624 R .352
+F(grammable completion f)144 652.8 Q(acilities, while a)-.1 E -.25(va)
+-.2 G(ilable, will not ha).25 E .3 -.15(ve u)-.2 H(seful v).15 E(alues.)
+-.25 E .352(The matches will be generated in the same w)144 676.8 R .352
 (ay as if the programmable completion code had gen-)-.1 F .02(erated th\
 em directly from a completion speci\214cation with the same \215ags.)144
-636 R(If)5.02 E F1(wor)2.52 E(d)-.37 E F0 .02(is speci\214ed, only)2.52
-F(those completions matching)144 648 Q F1(wor)2.5 E(d)-.37 E F0
-(will be displayed.)2.5 E(The return v)144 672 Q
+688.8 R(If)5.02 E F2(wor)2.52 E(d)-.37 E F0 .02(is speci\214ed, only)
+2.52 F(those completions matching)144 700.8 Q F2(wor)2.5 E(d)-.37 E F0
+(will be displayed.)2.5 E(The return v)144 724.8 Q
 (alue is true unless an in)-.25 E -.25(va)-.4 G
-(lid option is supplied, or no matches were generated.).25 E F2
-(complete)108 688.8 Q F0([)3.729 E F2(\255abcdefgjksuv)A F0 3.729(][)C
-F2<ad6f>-3.729 E F1(comp-option)3.729 E F0 3.729(][)C F2(\255DE)-3.729 E
-F0 3.728(][)C F2<ad41>-3.728 E F1(action)3.728 E F0 3.728(][)C F2<ad47>
--3.728 E F1(globpat)3.728 E F0 3.728(][)C F2<ad57>-3.728 E F1(wor)3.728
-E(dlist)-.37 E F0 3.728(][)C F2<ad46>-3.728 E F1(func-)3.728 E(tion)108
-700.8 Q F0 2.5(][)C F2<ad43>-2.5 E F1(command)2.5 E F0(])A([)144 712.8 Q
-F2<ad58>A F1(\214lterpat)2.5 E F0 2.5(][)C F2<ad50>-2.5 E F1(pr)2.5 E
-(e\214x)-.37 E F0 2.5(][)C F2<ad53>-2.5 E F1(suf)2.5 E<8c78>-.18 E F0(])
-A F1(name)2.5 E F0([)2.5 E F1(name ...)A F0(])A(GNU Bash 4.2)72 768 Q
-(2011 July 7)151.505 E(51)200.665 E 0 Cg EP
+(lid option is supplied, or no matches were generated.).25 E
+(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(51)185.115 E 0 Cg EP
 %%Page: 52 52
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(complete \255pr)108 84 Q F0([)2.5 E F1
-(\255DE)A F0 2.5(][)C/F2 10/Times-Italic@0 SF(name)-2.5 E F0(...])2.5 E
-.634(Specify ho)144 96 R 3.134(wa)-.25 G -.18(rg)-3.134 G .634
-(uments to each).18 F F2(name)3.134 E F0 .634(should be completed.)3.134
-F .633(If the)5.634 F F1<ad70>3.133 E F0 .633
-(option is supplied, or if no)3.133 F .139(options are supplied, e)144
-108 R .139(xisting completion speci\214cations are printed in a w)-.15 F
-.14(ay that allo)-.1 F .14(ws them to be)-.25 F .31(reused as input.)144
-120 R(The)5.31 E F1<ad72>2.81 E F0 .31(option remo)2.81 F -.15(ve)-.15 G
+-.35 E/F1 10/Times-Bold@0 SF(complete)108 84 Q F0([)3.729 E F1
+(\255abcdefgjksuv)A F0 3.729(][)C F1<ad6f>-3.729 E/F2 10/Times-Italic@0
+SF(comp-option)3.729 E F0 3.729(][)C F1(\255DE)-3.729 E F0 3.728(][)C F1
+<ad41>-3.728 E F2(action)3.728 E F0 3.728(][)C F1<ad47>-3.728 E F2
+(globpat)3.728 E F0 3.728(][)C F1<ad57>-3.728 E F2(wor)3.728 E(dlist)
+-.37 E F0 3.728(][)C F1<ad46>-3.728 E F2(func-)3.728 E(tion)108 96 Q F0
+2.5(][)C F1<ad43>-2.5 E F2(command)2.5 E F0(])A([)144 108 Q F1<ad58>A F2
+(\214lterpat)2.5 E F0 2.5(][)C F1<ad50>-2.5 E F2(pr)2.5 E(e\214x)-.37 E
+F0 2.5(][)C F1<ad53>-2.5 E F2(suf)2.5 E<8c78>-.18 E F0(])A F2(name)2.5 E
+F0([)2.5 E F2(name ...)A F0(])A F1(complete \255pr)108 120 Q F0([)2.5 E
+F1(\255DE)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E .634(Specify ho)144
+132 R 3.134(wa)-.25 G -.18(rg)-3.134 G .634(uments to each).18 F F2
+(name)3.134 E F0 .634(should be completed.)3.134 F .633(If the)5.634 F
+F1<ad70>3.133 E F0 .633(option is supplied, or if no)3.133 F .139
+(options are supplied, e)144 144 R .139
+(xisting completion speci\214cations are printed in a w)-.15 F .14
+(ay that allo)-.1 F .14(ws them to be)-.25 F .31(reused as input.)144
+156 R(The)5.31 E F1<ad72>2.81 E F0 .31(option remo)2.81 F -.15(ve)-.15 G
 2.81(sac).15 G .31(ompletion speci\214cation for each)-2.81 F F2(name)
 2.81 E F0 2.81(,o)C 1.11 -.4(r, i)-2.81 H 2.81(fn).4 G(o)-2.81 E F2
 (name)2.81 E F0(s)A 1.346
-(are supplied, all completion speci\214cations.)144 132 R(The)6.347 E F1
+(are supplied, all completion speci\214cations.)144 168 R(The)6.347 E F1
 <ad44>3.847 E F0 1.347(option indicates that the remaining options)3.847
-F .5(and actions should apply to the `)144 144 R(`def)-.74 E(ault')-.1 E
+F .5(and actions should apply to the `)144 180 R(`def)-.74 E(ault')-.1 E
 3('c)-.74 G .5(ommand completion; that is, completion attempted on)-3 F
-3.455(ac)144 156 S .955(ommand for which no completion has pre)-3.455 F
+3.455(ac)144 192 S .955(ommand for which no completion has pre)-3.455 F
 .955(viously been de\214ned.)-.25 F(The)5.955 E F1<ad45>3.455 E F0 .955
 (option indicates that)3.455 F .065
-(the remaining options and actions should apply to `)144 168 R(`empty')
+(the remaining options and actions should apply to `)144 204 R(`empty')
 -.74 E 2.564('c)-.74 G .064(ommand completion; that is, comple-)-2.564 F
-(tion attempted on a blank line.)144 180 Q 1.437
+(tion attempted on a blank line.)144 216 Q 1.437
 (The process of applying these completion speci\214cations when w)144
-204 R 1.438(ord completion is attempted is)-.1 F(described abo)144 216 Q
+240 R 1.438(ord completion is attempted is)-.1 F(described abo)144 252 Q
 .3 -.15(ve u)-.15 H(nder).15 E F1(Pr)2.5 E(ogrammable Completion)-.18 E
-F0(.)A .556(Other options, if speci\214ed, ha)144 240 R .856 -.15(ve t)
+F0(.)A .556(Other options, if speci\214ed, ha)144 276 R .856 -.15(ve t)
 -.2 H .555(he follo).15 F .555(wing meanings.)-.25 F .555(The ar)5.555 F
 .555(guments to the)-.18 F F1<ad47>3.055 E F0(,)A F1<ad57>3.055 E F0
 3.055(,a)C(nd)-3.055 E F1<ad58>3.055 E F0 .722
-(options \(and, if necessary)144 252 R 3.222(,t)-.65 G(he)-3.222 E F1
+(options \(and, if necessary)144 288 R 3.222(,t)-.65 G(he)-3.222 E F1
 <ad50>3.222 E F0(and)3.222 E F1<ad53>3.222 E F0 .723
 (options\) should be quoted to protect them from e)3.222 F(xpan-)-.15 E
-(sion before the)144 264 Q F1(complete)2.5 E F0 -.2(bu)2.5 G
-(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F1<ad6f>144 276 Q F2
-(comp-option)2.5 E F0(The)184 288 Q F2(comp-option)2.791 E F0 .291
+(sion before the)144 300 Q F1(complete)2.5 E F0 -.2(bu)2.5 G
+(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F1<ad6f>144 312 Q F2
+(comp-option)2.5 E F0(The)184 324 Q F2(comp-option)2.791 E F0 .291
 (controls se)2.791 F -.15(ve)-.25 G .291(ral aspects of the compspec')
 .15 F 2.791(sb)-.55 G(eha)-2.791 E .291(vior be)-.2 F .291
-(yond the simple)-.15 F(generation of completions.)184 300 Q F2
-(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 312 Q F0
-.281(Perform the rest of the def)224 324 R(ault)-.1 E F1(bash)2.781 E F0
-.281(completions if the compspec generates no)2.781 F(matches.)224 336 Q
-F1(default)184 348 Q F0 2.876(Use readline')10 F 5.376(sd)-.55 G(ef)
+(yond the simple)-.15 F(generation of completions.)184 336 Q F2
+(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 348 Q F0
+.281(Perform the rest of the def)224 360 R(ault)-.1 E F1(bash)2.781 E F0
+.281(completions if the compspec generates no)2.781 F(matches.)224 372 Q
+F1(default)184 384 Q F0 2.876(Use readline')10 F 5.376(sd)-.55 G(ef)
 -5.376 E 2.875(ault \214lename completion if the compspec generates no)
--.1 F(matches.)224 360 Q F1(dir)184 372 Q(names)-.15 E F0(Perform direc\
-tory name completion if the compspec generates no matches.)224 384 Q F1
-(\214lenames)184 396 Q F0 -.7(Te)224 408 S .137(ll readline that the co\
+-.1 F(matches.)224 396 Q F1(dir)184 408 Q(names)-.15 E F0(Perform direc\
+tory name completion if the compspec generates no matches.)224 420 Q F1
+(\214lenames)184 432 Q F0 -.7(Te)224 444 S .137(ll readline that the co\
 mpspec generates \214lenames, so it can perform an).7 F 2.637<798c>-.15
-G(le-)-2.637 E .134(name\255speci\214c processing \(lik)224 420 R 2.634
+G(le-)-2.637 E .134(name\255speci\214c processing \(lik)224 456 R 2.634
 (ea)-.1 G .134(dding a slash to directory names, quoting spe-)-2.634 F
-.45(cial characters, or suppressing trailing spaces\).)224 432 R .45
-(Intended to be used with shell)5.45 F(functions.)224 444 Q F1(nospace)
-184 456 Q F0 -.7(Te)6.11 G .22
+.45(cial characters, or suppressing trailing spaces\).)224 468 R .45
+(Intended to be used with shell)5.45 F(functions.)224 480 Q F1(nospace)
+184 492 Q F0 -.7(Te)6.11 G .22
 (ll readline not to append a space \(the def).7 F .22(ault\) to w)-.1 F
-.22(ords completed at the end)-.1 F(of the line.)224 468 Q F1(plusdirs)
-184 480 Q F0 1.985(After an)5.54 F 4.485(ym)-.15 G 1.985
+.22(ords completed at the end)-.1 F(of the line.)224 504 Q F1(plusdirs)
+184 516 Q F0 1.985(After an)5.54 F 4.485(ym)-.15 G 1.985
 (atches de\214ned by the compspec are generated, directory name)-4.485 F
-.584(completion is attempted and an)224 492 R 3.084(ym)-.15 G .584
-(atches are added to the results of the other)-3.084 F(actions.)224 504
-Q F1<ad41>144 516 Q F2(action)2.5 E F0(The)184 528 Q F2(action)2.5 E F0
+.584(completion is attempted and an)224 528 R 3.084(ym)-.15 G .584
+(atches are added to the results of the other)-3.084 F(actions.)224 540
+Q F1<ad41>144 552 Q F2(action)2.5 E F0(The)184 564 Q F2(action)2.5 E F0
 (may be one of the follo)2.5 E
 (wing to generate a list of possible completions:)-.25 E F1(alias)184
-540 Q F0(Alias names.)20.55 E(May also be speci\214ed as)5 E F1<ad61>2.5
-E F0(.)A F1(arrayv)184 552 Q(ar)-.1 E F0(Array v)224 564 Q
-(ariable names.)-.25 E F1 4.7(binding Readline)184 576 R F0 -.1(ke)2.5 G
-2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 588 S(iltin).2 E F0
+576 Q F0(Alias names.)20.55 E(May also be speci\214ed as)5 E F1<ad61>2.5
+E F0(.)A F1(arrayv)184 588 Q(ar)-.1 E F0(Array v)224 600 Q
+(ariable names.)-.25 E F1 4.7(binding Readline)184 612 R F0 -.1(ke)2.5 G
+2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 624 S(iltin).2 E F0
 (Names of shell b)11.85 E(uiltin commands.)-.2 E
-(May also be speci\214ed as)5 E F1<ad62>2.5 E F0(.)A F1(command)184 600
-Q F0(Command names.)224 612 Q(May also be speci\214ed as)5 E F1<ad63>2.5
-E F0(.)A F1(dir)184 624 Q(ectory)-.18 E F0(Directory names.)224 636 Q
-(May also be speci\214ed as)5 E F1<ad64>2.5 E F0(.)A F1(disabled)184 648
-Q F0(Names of disabled shell b)224 660 Q(uiltins.)-.2 E F1(enabled)184
-672 Q F0(Names of enabled shell b)6.66 E(uiltins.)-.2 E F1(export)184
-684 Q F0(Names of e)12.23 E(xported shell v)-.15 E 2.5(ariables. May)
--.25 F(also be speci\214ed as)2.5 E F1<ad65>2.5 E F0(.)A F1(\214le)184
-696 Q F0(File names.)27.22 E(May also be speci\214ed as)5 E F1<ad66>2.5
-E F0(.)A(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(52)200.665 E 0 Cg
-EP
+(May also be speci\214ed as)5 E F1<ad62>2.5 E F0(.)A F1(command)184 636
+Q F0(Command names.)224 648 Q(May also be speci\214ed as)5 E F1<ad63>2.5
+E F0(.)A F1(dir)184 660 Q(ectory)-.18 E F0(Directory names.)224 672 Q
+(May also be speci\214ed as)5 E F1<ad64>2.5 E F0(.)A F1(disabled)184 684
+Q F0(Names of disabled shell b)224 696 Q(uiltins.)-.2 E F1(enabled)184
+708 Q F0(Names of enabled shell b)6.66 E(uiltins.)-.2 E(GNU Bash 4.2)72
+768 Q(2011 September 25)135.955 E(52)185.115 E 0 Cg EP
 %%Page: 53 53
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(function)184 84 Q F0
-(Names of shell functions.)224 96 Q F1(gr)184 108 Q(oup)-.18 E F0
+-.35 E/F1 10/Times-Bold@0 SF(export)184 84 Q F0(Names of e)12.23 E
+(xported shell v)-.15 E 2.5(ariables. May)-.25 F(also be speci\214ed as)
+2.5 E F1<ad65>2.5 E F0(.)A F1(\214le)184 96 Q F0(File names.)27.22 E
+(May also be speci\214ed as)5 E F1<ad66>2.5 E F0(.)A F1(function)184 108
+Q F0(Names of shell functions.)224 120 Q F1(gr)184 132 Q(oup)-.18 E F0
 (Group names.)14.62 E(May also be speci\214ed as)5 E F1<ad67>2.5 E F0(.)
-A F1(helptopic)184 120 Q F0(Help topics as accepted by the)224 132 Q F1
-(help)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(hostname)184 144 Q F0
-(Hostnames, as tak)224 156 Q(en from the \214le speci\214ed by the)-.1 E
+A F1(helptopic)184 144 Q F0(Help topics as accepted by the)224 156 Q F1
+(help)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(hostname)184 168 Q F0
+(Hostnames, as tak)224 180 Q(en from the \214le speci\214ed by the)-.1 E
 /F2 9/Times-Bold@0 SF(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E
-F1(job)184 168 Q F0(Job names, if job control is acti)26.11 E -.15(ve)
+F1(job)184 192 Q F0(Job names, if job control is acti)26.11 E -.15(ve)
 -.25 G 5(.M).15 G(ay also be speci\214ed as)-5 E F1<ad6a>2.5 E F0(.)A F1
--.1(ke)184 180 S(yw).1 E(ord)-.1 E F0(Shell reserv)224 192 Q(ed w)-.15 E
+-.1(ke)184 204 S(yw).1 E(ord)-.1 E F0(Shell reserv)224 216 Q(ed w)-.15 E
 2.5(ords. May)-.1 F(also be speci\214ed as)2.5 E F1<ad6b>2.5 E F0(.)A F1
-(running)184 204 Q F0(Names of running jobs, if job control is acti)5.54
-E -.15(ve)-.25 G(.).15 E F1(ser)184 216 Q(vice)-.1 E F0(Service names.)
+(running)184 228 Q F0(Names of running jobs, if job control is acti)5.54
+E -.15(ve)-.25 G(.).15 E F1(ser)184 240 Q(vice)-.1 E F0(Service names.)
 10.67 E(May also be speci\214ed as)5 E F1<ad73>2.5 E F0(.)A F1(setopt)
-184 228 Q F0 -1.11(Va)14.45 G(lid ar)1.11 E(guments for the)-.18 E F1
+184 252 Q F0 -1.11(Va)14.45 G(lid ar)1.11 E(guments for the)-.18 E F1
 <ad6f>2.5 E F0(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.)
-.2 E F1(shopt)184 240 Q F0(Shell option names as accepted by the)16.66 E
-F1(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 252 Q F0
-(Signal names.)14.99 E F1(stopped)184 264 Q F0
+.2 E F1(shopt)184 264 Q F0(Shell option names as accepted by the)16.66 E
+F1(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 276 Q F0
+(Signal names.)14.99 E F1(stopped)184 288 Q F0
 (Names of stopped jobs, if job control is acti)6.66 E -.15(ve)-.25 G(.)
-.15 E F1(user)184 276 Q F0(User names.)21.67 E
-(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 288 S
+.15 E F1(user)184 300 Q F0(User names.)21.67 E
+(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 312 S
 (riable).1 E F0(Names of all shell v)5.1 E 2.5(ariables. May)-.25 F
-(also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A F1<ad43>144 300 Q/F3
-10/Times-Italic@0 SF(command)2.5 E(command)184 312 Q F0 1.055(is e)3.555
+(also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A F1<ad43>144 324 Q/F3
+10/Times-Italic@0 SF(command)2.5 E(command)184 336 Q F0 1.055(is e)3.555
 F -.15(xe)-.15 G 1.055(cuted in a subshell en).15 F 1.056
 (vironment, and its output is used as the possible)-.4 F(completions.)
-184 324 Q F1<ad46>144 336 Q F3(function)2.5 E F0 1.181
-(The shell function)184 348 R F3(function)3.681 E F0 1.181(is e)3.681 F
+184 348 Q F1<ad46>144 360 Q F3(function)2.5 E F0 1.181
+(The shell function)184 372 R F3(function)3.681 E F0 1.181(is e)3.681 F
 -.15(xe)-.15 G 1.181(cuted in the current shell en).15 F 3.68
 (vironment. When)-.4 F 1.18(it \214n-)3.68 F .932
-(ishes, the possible completions are retrie)184 360 R -.15(ve)-.25 G
+(ishes, the possible completions are retrie)184 384 R -.15(ve)-.25 G
 3.432(df).15 G .932(rom the v)-3.432 F .932(alue of the)-.25 F F2
-(COMPREPL)3.432 E(Y)-.828 E F0(array)3.182 E -.25(va)184 372 S(riable.)
-.25 E F1<ad47>144 384 Q F3(globpat)2.5 E F0 1.008(The pathname e)184 396
+(COMPREPL)3.432 E(Y)-.828 E F0(array)3.182 E -.25(va)184 396 S(riable.)
+.25 E F1<ad47>144 408 Q F3(globpat)2.5 E F0 1.008(The pathname e)184 420
 R 1.008(xpansion pattern)-.15 F F3(globpat)3.507 E F0 1.007(is e)3.507 F
-1.007(xpanded to generate the possible comple-)-.15 F(tions.)184 408 Q
-F1<ad50>144 420 Q F3(pr)2.5 E(e\214x)-.37 E(pr)184 432 Q(e\214x)-.37 E
+1.007(xpanded to generate the possible comple-)-.15 F(tions.)184 432 Q
+F1<ad50>144 444 Q F3(pr)2.5 E(e\214x)-.37 E(pr)184 456 Q(e\214x)-.37 E
 F0 .534(is added at the be)3.034 F .534
 (ginning of each possible completion after all other options ha)-.15 F
--.15(ve)-.2 G(been applied.)184 444 Q F1<ad53>144 456 Q F3(suf)2.5 E
+-.15(ve)-.2 G(been applied.)184 468 Q F1<ad53>144 480 Q F3(suf)2.5 E
 2.81(\214x suf)-.18 F<8c78>-.18 E F0
 (is appended to each possible completion after all other options ha)2.5
-E .3 -.15(ve b)-.2 H(een applied.).15 E F1<ad57>144 468 Q F3(wor)2.5 E
-(dlist)-.37 E F0(The)184 480 Q F3(wor)3.64 E(dlist)-.37 E F0 1.14
+E .3 -.15(ve b)-.2 H(een applied.).15 E F1<ad57>144 492 Q F3(wor)2.5 E
+(dlist)-.37 E F0(The)184 504 Q F3(wor)3.64 E(dlist)-.37 E F0 1.14
 (is split using the characters in the)3.64 F F2(IFS)3.64 E F0 1.139
 (special v)3.39 F 1.139(ariable as delimiters, and)-.25 F 2.007
-(each resultant w)184 492 R 2.007(ord is e)-.1 F 4.507(xpanded. The)-.15
+(each resultant w)184 516 R 2.007(ord is e)-.1 F 4.507(xpanded. The)-.15
 F 2.008(possible completions are the members of the)4.507 F
-(resultant list which match the w)184 504 Q(ord being completed.)-.1 E
-F1<ad58>144 516 Q F3(\214lterpat)2.5 E(\214lterpat)184 528 Q F0 .456
+(resultant list which match the w)184 528 Q(ord being completed.)-.1 E
+F1<ad58>144 540 Q F3(\214lterpat)2.5 E(\214lterpat)184 552 Q F0 .456
 (is a pattern as used for pathname e)2.956 F 2.956(xpansion. It)-.15 F
 .455(is applied to the list of possible)2.956 F 1.596
-(completions generated by the preceding options and ar)184 540 R 1.596
-(guments, and each completion)-.18 F(matching)184 552 Q F3(\214lterpat)
+(completions generated by the preceding options and ar)184 564 R 1.596
+(guments, and each completion)-.18 F(matching)184 576 Q F3(\214lterpat)
 3.205 E F0 .705(is remo)3.205 F -.15(ve)-.15 G 3.205(df).15 G .704
 (rom the list.)-3.205 F 3.204(Al)5.704 G(eading)-3.204 E F1(!)3.204 E F0
 (in)3.204 E F3(\214lterpat)3.204 E F0(ne)3.204 E -.05(ga)-.15 G .704
-(tes the pattern;).05 F(in this case, an)184 564 Q 2.5(yc)-.15 G
+(tes the pattern;).05 F(in this case, an)184 588 Q 2.5(yc)-.15 G
 (ompletion not matching)-2.5 E F3(\214lterpat)2.5 E F0(is remo)2.5 E
--.15(ve)-.15 G(d.).15 E .466(The return v)144 580.8 R .466
+-.15(ve)-.15 G(d.).15 E .466(The return v)144 604.8 R .466
 (alue is true unless an in)-.25 F -.25(va)-.4 G .466
 (lid option is supplied, an option other than).25 F F1<ad70>2.967 E F0
 (or)2.967 E F1<ad72>2.967 E F0 .467(is sup-)2.967 F 1.362
-(plied without a)144 592.8 R F3(name)3.862 E F0(ar)3.862 E 1.361
+(plied without a)144 616.8 R F3(name)3.862 E F0(ar)3.862 E 1.361
 (gument, an attempt is made to remo)-.18 F 1.661 -.15(ve a c)-.15 H
-1.361(ompletion speci\214cation for a).15 F F3(name)144 604.8 Q F0
+1.361(ompletion speci\214cation for a).15 F F3(name)144 628.8 Q F0
 (for which no speci\214cation e)2.5 E
 (xists, or an error occurs adding a completion speci\214cation.)-.15 E
-F1(compopt)108 621.6 Q F0([)2.5 E F1<ad6f>A F3(option)2.5 E F0 2.5(][)C
+F1(compopt)108 645.6 Q F0([)2.5 E F1<ad6f>A F3(option)2.5 E F0 2.5(][)C
 F1(\255DE)-2.5 E F0 2.5(][)C F1(+o)-2.5 E F3(option)2.5 E F0 2.5(][)C F3
-(name)-2.5 E F0(])A .447(Modify completion options for each)144 633.6 R
+(name)-2.5 E F0(])A .447(Modify completion options for each)144 657.6 R
 F3(name)2.947 E F0 .447(according to the)2.947 F F3(option)2.947 E F0
 .447(s, or for the currently-e)B -.15(xe)-.15 G(cuting).15 E .726
-(completion if no)144 645.6 R F3(name)3.226 E F0 3.226(sa)C .726
+(completion if no)144 669.6 R F3(name)3.226 E F0 3.226(sa)C .726
 (re supplied.)-3.226 F .725(If no)5.725 F F3(option)3.225 E F0 3.225(sa)
 C .725(re gi)-3.225 F -.15(ve)-.25 G .725
-(n, display the completion options for).15 F(each)144 657.6 Q F3(name)
+(n, display the completion options for).15 F(each)144 681.6 Q F3(name)
 3.223 E F0 .723(or the current completion.)3.223 F .724(The possible v)
 5.724 F .724(alues of)-.25 F F3(option)3.224 E F0 .724(are those v)3.224
-F .724(alid for the)-.25 F F1(com-)3.224 E(plete)144 669.6 Q F0 -.2(bu)
+F .724(alid for the)-.25 F F1(com-)3.224 E(plete)144 693.6 Q F0 -.2(bu)
 2.798 G .298(iltin described abo).2 F -.15(ve)-.15 G 5.297(.T).15 G(he)
 -5.297 E F1<ad44>2.797 E F0 .297
 (option indicates that the remaining options should apply to)2.797 F
-1.227(the `)144 681.6 R(`def)-.74 E(ault')-.1 E 3.727('c)-.74 G 1.228(o\
+1.227(the `)144 705.6 R(`def)-.74 E(ault')-.1 E 3.727('c)-.74 G 1.228(o\
 mmand completion; that is, completion attempted on a command for which \
-no)-3.727 F 2.178(completion has pre)144 693.6 R 2.178
+no)-3.727 F 2.178(completion has pre)144 717.6 R 2.178
 (viously been de\214ned.)-.25 F(The)7.178 E F1<ad45>4.678 E F0 2.177
 (option indicates that the remaining options)4.677 F(should apply to `)
-144 705.6 Q(`empty')-.74 E 2.5('c)-.74 G
+144 729.6 Q(`empty')-.74 E 2.5('c)-.74 G
 (ommand completion; that is, completion attempted on a blank line.)-2.5
-E 1.387(The return v)144 729.6 R 1.387(alue is true unless an in)-.25 F
--.25(va)-.4 G 1.388
-(lid option is supplied, an attempt is made to modify the).25 F
-(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(53)200.665 E 0 Cg EP
+E(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(53)185.115 E 0 Cg EP
 %%Page: 54 54
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(options for a)144 84 Q/F1 10/Times-Italic@0 SF(name)2.5 E F0
+-.35 E 1.387(The return v)144 84 R 1.387(alue is true unless an in)-.25
+F -.25(va)-.4 G 1.388
+(lid option is supplied, an attempt is made to modify the).25 F
+(options for a)144 96 Q/F1 10/Times-Italic@0 SF(name)2.5 E F0
 (for which no completion speci\214cation e)2.5 E
 (xists, or an output error occurs.)-.15 E/F2 10/Times-Bold@0 SF
-(continue)108 100.8 Q F0([)2.5 E F1(n)A F0(])A 1.754(Resume the ne)144
-112.8 R 1.754(xt iteration of the enclosing)-.15 F F2 -.25(fo)4.254 G(r)
+(continue)108 112.8 Q F0([)2.5 E F1(n)A F0(])A 1.754(Resume the ne)144
+124.8 R 1.754(xt iteration of the enclosing)-.15 F F2 -.25(fo)4.254 G(r)
 .25 E F0(,)A F2(while)4.254 E F0(,)A F2(until)4.254 E F0 4.254(,o)C(r)
 -4.254 E F2(select)4.254 E F0 4.253(loop. If)4.254 F F1(n)4.613 E F0
-1.753(is speci\214ed,)4.493 F 1.208(resume at the)144 124.8 R F1(n)3.709
+1.753(is speci\214ed,)4.493 F 1.208(resume at the)144 136.8 R F1(n)3.709
 E F0 1.209(th enclosing loop.)B F1(n)6.569 E F0 1.209(must be)3.949 F/F3
 10/Symbol SF<b3>3.709 E F0 3.709(1. If)3.709 F F1(n)4.069 E F0 1.209
 (is greater than the number of enclosing)3.949 F .514
-(loops, the last enclosing loop \(the `)144 136.8 R(`top-le)-.74 E -.15
+(loops, the last enclosing loop \(the `)144 148.8 R(`top-le)-.74 E -.15
 (ve)-.25 G(l').15 E 3.014('l)-.74 G .514(oop\) is resumed.)-3.014 F .513
 (The return v)5.513 F .513(alue is 0 unless)-.25 F F1(n)3.013 E F0(is)
-3.013 E(not greater than or equal to 1.)144 148.8 Q F2(declar)108 165.6
+3.013 E(not greater than or equal to 1.)144 160.8 Q F2(declar)108 177.6
 Q(e)-.18 E F0([)2.5 E F2(\255aAfFgilrtux)A F0 2.5(][)C F2<ad70>-2.5 E F0
 2.5(][)C F1(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C(..])-2.5 E F2
-(typeset)108 177.6 Q F0([)2.5 E F2(\255aAfFgilrtux)A F0 2.5(][)C F2
+(typeset)108 189.6 Q F0([)2.5 E F2(\255aAfFgilrtux)A F0 2.5(][)C F2
 <ad70>-2.5 E F0 2.5(][)C F1(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C
-(..])-2.5 E 1.264(Declare v)144 189.6 R 1.264(ariables and/or gi)-.25 F
+(..])-2.5 E 1.264(Declare v)144 201.6 R 1.264(ariables and/or gi)-.25 F
 1.564 -.15(ve t)-.25 H 1.264(hem attrib).15 F 3.765(utes. If)-.2 F(no)
 3.765 E F1(name)3.765 E F0 3.765(sa)C 1.265(re gi)-3.765 F -.15(ve)-.25
 G 3.765(nt).15 G 1.265(hen display the v)-3.765 F 1.265(alues of)-.25 F
--.25(va)144 201.6 S 3.483(riables. The).25 F F2<ad70>3.483 E F0 .983
+-.25(va)144 213.6 S 3.483(riables. The).25 F F2<ad70>3.483 E F0 .983
 (option will display the attrib)3.483 F .983(utes and v)-.2 F .982
 (alues of each)-.25 F F1(name)3.482 E F0 5.982(.W).18 G(hen)-5.982 E F2
-<ad70>3.482 E F0 .982(is used)3.482 F(with)144 213.6 Q F1(name)3.579 E
+<ad70>3.482 E F0 .982(is used)3.482 F(with)144 225.6 Q F1(name)3.579 E
 F0(ar)3.579 E 1.079(guments, additional options are ignored.)-.18 F
 (When)6.079 E F2<ad70>3.579 E F0 1.079(is supplied without)3.579 F F1
 (name)3.58 E F0(ar)3.58 E(gu-)-.18 E .151
-(ments, it will display the attrib)144 225.6 R .151(utes and v)-.2 F
+(ments, it will display the attrib)144 237.6 R .151(utes and v)-.2 F
 .151(alues of all v)-.25 F .15(ariables ha)-.25 F .15(ving the attrib)
 -.2 F .15(utes speci\214ed by the)-.2 F .046(additional options.)144
-237.6 R .046(If no other options are supplied with)5.046 F F2<ad70>2.547
+249.6 R .046(If no other options are supplied with)5.046 F F2<ad70>2.547
 E F0(,)A F2(declar)2.547 E(e)-.18 E F0 .047(will display the attrib)
-2.547 F .047(utes and)-.2 F -.25(va)144 249.6 S 1.363
+2.547 F .047(utes and)-.2 F -.25(va)144 261.6 S 1.363
 (lues of all shell v).25 F 3.863(ariables. The)-.25 F F2<ad66>3.863 E F0
 1.362(option will restrict the display to shell functions.)3.863 F(The)
 6.362 E F2<ad46>3.862 E F0 2.422(option inhibits the display of functio\
-n de\214nitions; only the function name and attrib)144 261.6 R 2.423
-(utes are)-.2 F 2.664(printed. If)144 273.6 R(the)2.664 E F2(extdeb)
+n de\214nitions; only the function name and attrib)144 273.6 R 2.423
+(utes are)-.2 F 2.664(printed. If)144 285.6 R(the)2.664 E F2(extdeb)
 2.664 E(ug)-.2 E F0 .164(shell option is enabled using)2.664 F F2(shopt)
 2.664 E F0 2.664(,t)C .163(he source \214le name and line number)-2.664
-F 1.288(where the function is de\214ned are displayed as well.)144 285.6
+F 1.288(where the function is de\214ned are displayed as well.)144 297.6
 R(The)6.288 E F2<ad46>3.788 E F0 1.288(option implies)3.788 F F2<ad66>
 3.788 E F0 6.288(.T)C(he)-6.288 E F2<ad67>3.789 E F0(option)3.789 E .491
-(forces v)144 297.6 R .491
+(forces v)144 309.6 R .491
 (ariables to be created or modi\214ed at the global scope, e)-.25 F -.15
 (ve)-.25 G 2.99(nw).15 G(hen)-2.99 E F2(declar)2.99 E(e)-.18 E F0 .49
 (is e)2.99 F -.15(xe)-.15 G .49(cuted in a).15 F .124(shell function.)
-144 309.6 R .124(It is ignored in all other cases.)5.124 F .125
+144 321.6 R .124(It is ignored in all other cases.)5.124 F .125
 (The follo)5.125 F .125(wing options can be used to restrict output)-.25
-F(to v)144 321.6 Q(ariables with the speci\214ed attrib)-.25 E
+F(to v)144 333.6 Q(ariables with the speci\214ed attrib)-.25 E
 (ute or to gi)-.2 E .3 -.15(ve v)-.25 H(ariables attrib)-.1 E(utes:)-.2
-E F2<ad61>144 333.6 Q F0(Each)25.3 E F1(name)2.5 E F0(is an inde)2.5 E
+E F2<ad61>144 345.6 Q F0(Each)25.3 E F1(name)2.5 E F0(is an inde)2.5 E
 -.15(xe)-.15 G 2.5(da).15 G(rray v)-2.5 E(ariable \(see)-.25 E F2
-(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F2<ad41>144 345.6 Q
+(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F2<ad41>144 357.6 Q
 F0(Each)23.08 E F1(name)2.5 E F0(is an associati)2.5 E .3 -.15(ve a)-.25
 H(rray v).15 E(ariable \(see)-.25 E F2(Arrays)2.5 E F0(abo)2.5 E -.15
-(ve)-.15 G(\).).15 E F2<ad66>144 357.6 Q F0(Use function names only)
-26.97 E(.)-.65 E F2<ad69>144 369.6 Q F0 .558(The v)27.52 F .558
+(ve)-.15 G(\).).15 E F2<ad66>144 369.6 Q F0(Use function names only)
+26.97 E(.)-.65 E F2<ad69>144 381.6 Q F0 .558(The v)27.52 F .558
 (ariable is treated as an inte)-.25 F .558(ger; arithmetic e)-.15 F -.25
 (va)-.25 G .558(luation \(see).25 F/F4 9/Times-Bold@0 SF .557
-(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)180 381.6 Q F0(abo)
+(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)180 393.6 Q F0(abo)
 2.25 E -.15(ve)-.15 G 2.5(\)i).15 G 2.5(sp)-2.5 G(erformed when the v)
--2.5 E(ariable is assigned a v)-.25 E(alue.)-.25 E F2<ad6c>144 393.6 Q
+-2.5 E(ariable is assigned a v)-.25 E(alue.)-.25 E F2<ad6c>144 405.6 Q
 F0 .909(When the v)27.52 F .909(ariable is assigned a v)-.25 F .909
 (alue, all upper)-.25 F .909(-case characters are con)-.2 F -.15(ve)-.4
-G .91(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 405.6 R
-(upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2<ad72>144 417.6
+G .91(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 417.6 R
+(upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2<ad72>144 429.6
 Q F0(Mak)25.86 E(e)-.1 E F1(name)5.047 E F0 5.047(sr)C(eadonly)-5.047 E
 7.547(.T)-.65 G 2.546(hese names cannot then be assigned v)-7.547 F
 2.546(alues by subsequent)-.25 F(assignment statements or unset.)180
-429.6 Q F2<ad74>144 441.6 Q F0(Gi)26.97 E .729 -.15(ve e)-.25 H(ach).15
+441.6 Q F2<ad74>144 453.6 Q F0(Gi)26.97 E .729 -.15(ve e)-.25 H(ach).15
 E F1(name)2.929 E F0(the)2.929 E F1(tr)2.929 E(ace)-.15 E F0(attrib)
 2.929 E 2.929(ute. T)-.2 F .429(raced functions inherit the)-.35 F F2
 (DEB)2.929 E(UG)-.1 E F0(and)2.93 E F2(RETURN)2.93 E F0
-(traps from the calling shell.)180 453.6 Q(The trace attrib)5 E
+(traps from the calling shell.)180 465.6 Q(The trace attrib)5 E
 (ute has no special meaning for v)-.2 E(ariables.)-.25 E F2<ad75>144
-465.6 Q F0 .91(When the v)24.74 F .909(ariable is assigned a v)-.25 F
+477.6 Q F0 .91(When the v)24.74 F .909(ariable is assigned a v)-.25 F
 .909(alue, all lo)-.25 F(wer)-.25 E .909(-case characters are con)-.2 F
--.15(ve)-.4 G .909(rted to upper).15 F(-)-.2 E 2.5(case. The)180 477.6 R
+-.15(ve)-.4 G .909(rted to upper).15 F(-)-.2 E 2.5(case. The)180 489.6 R
 (lo)2.5 E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2<ad78>
-144 489.6 Q F0(Mark)25.3 E F1(name)2.5 E F0 2.5(sf)C(or e)-2.5 E
+144 501.6 Q F0(Mark)25.3 E F1(name)2.5 E F0 2.5(sf)C(or e)-2.5 E
 (xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .12
-(Using `+' instead of `\255' turns of)144 506.4 R 2.62(ft)-.25 G .12
+(Using `+' instead of `\255' turns of)144 518.4 R 2.62(ft)-.25 G .12
 (he attrib)-2.62 F .121(ute instead, with the e)-.2 F .121
 (xceptions that)-.15 F F2(+a)2.621 E F0 .121(may not be used)2.621 F
-.645(to destro)144 518.4 R 3.145(ya)-.1 G 3.145(na)-3.145 G .645(rray v)
+.645(to destro)144 530.4 R 3.145(ya)-.1 G 3.145(na)-3.145 G .645(rray v)
 -3.145 F .645(ariable and)-.25 F F2(+r)3.145 E F0 .645(will not remo)
 3.145 F .945 -.15(ve t)-.15 H .645(he readonly attrib).15 F 3.144
-(ute. When)-.2 F .644(used in a func-)3.144 F 1.185(tion, mak)144 530.4
-R 1.185(es each)-.1 F F1(name)3.686 E F0 1.186(local, as with the)3.686
-F F2(local)3.686 E F0 1.186(command, unless the)3.686 F F2<ad67>3.686 E
-F0 1.186(option is supplied, If a)3.686 F -.25(va)144 542.4 S .118
-(riable name is follo).25 F .118(wed by =)-.25 F F1(value)A F0 2.618(,t)
-C .118(he v)-2.618 F .118(alue of the v)-.25 F .118(ariable is set to)
--.25 F F1(value)2.618 E F0 5.118(.T)C .118(he return v)-5.118 F .117
-(alue is 0)-.25 F 2.793(unless an in)144 554.4 R -.25(va)-.4 G 2.793(li\
-d option is encountered, an attempt is made to de\214ne a function usin\
-g).25 F/F5 10/Courier@0 SF<ad66>5.294 E(foo=bar)144 566.4 Q F0 3.993(,a)
-C 3.993(na)-3.993 G 1.493(ttempt is made to assign a v)-3.993 F 1.493
-(alue to a readonly v)-.25 F 1.493(ariable, an attempt is made to)-.25 F
-1.182(assign a v)144 578.4 R 1.183(alue to an array v)-.25 F 1.183
-(ariable without using the compound assignment syntax \(see)-.25 F F2
-(Arrays)3.683 E F0(abo)144 590.4 Q -.15(ve)-.15 G .097(\), one of the)
-.15 F F1(names)2.597 E F0 .097(is not a v)2.597 F .097(alid shell v)-.25
-F .097(ariable name, an attempt is made to turn of)-.25 F 2.596(fr)-.25
-G(eadonly)-2.596 E .658(status for a readonly v)144 602.4 R .658
-(ariable, an attempt is made to turn of)-.25 F 3.158(fa)-.25 G .659
-(rray status for an array v)-3.158 F .659(ariable, or)-.25 F
-(an attempt is made to display a non-e)144 614.4 Q
-(xistent function with)-.15 E F2<ad66>2.5 E F0(.)A F2(dirs [+)108 631.2
-Q F1(n)A F2 2.5(][)C<ad>-2.5 E F1(n)A F2 2.5(][)C(\255clpv])-2.5 E F0
--.4(Wi)144 643.2 S .329
+(ute. When)-.2 F .644(used in a func-)3.144 F(tion,)144 542.4 Q F2
+(declar)2.835 E(e)-.18 E F0(and)2.835 E F2(typeset)2.835 E F0(mak)2.835
+E 2.835(ee)-.1 G(ach)-2.835 E F1(name)2.835 E F0 .335
+(local, as with the)2.835 F F2(local)2.835 E F0 .335
+(command, unless the)2.835 F F2<ad67>2.835 E F0(option)2.835 E .134
+(is supplied.)144 554.4 R .134(If a v)5.134 F .134
+(ariable name is follo)-.25 F .134(wed by =)-.25 F F1(value)A F0 2.634
+(,t)C .134(he v)-2.634 F .134(alue of the v)-.25 F .133
+(ariable is set to)-.25 F F1(value)2.633 E F0 5.133(.T)C(he)-5.133 E .8
+(return v)144 566.4 R .8(alue is 0 unless an in)-.25 F -.25(va)-.4 G
+.801
+(lid option is encountered, an attempt is made to de\214ne a function)
+.25 F(using)144 578.4 Q/F5 10/Courier@0 SF 1.039(\255f foo=bar)3.539 F
+F0 3.539(,a)C 3.539(na)-3.539 G 1.038(ttempt is made to assign a v)
+-3.539 F 1.038(alue to a readonly v)-.25 F 1.038(ariable, an attempt is)
+-.25 F .974(made to assign a v)144 590.4 R .974(alue to an array v)-.25
+F .974(ariable without using the compound assignment syntax \(see)-.25 F
+F2(Arrays)144 602.4 Q F0(abo)2.86 E -.15(ve)-.15 G .36(\), one of the)
+.15 F F1(names)2.86 E F0 .36(is not a v)2.86 F .36(alid shell v)-.25 F
+.36(ariable name, an attempt is made to turn of)-.25 F(f)-.25 E .056
+(readonly status for a readonly v)144 614.4 R .057
+(ariable, an attempt is made to turn of)-.25 F 2.557(fa)-.25 G .057
+(rray status for an array v)-2.557 F(ari-)-.25 E
+(able, or an attempt is made to display a non-e)144 626.4 Q
+(xistent function with)-.15 E F2<ad66>2.5 E F0(.)A F2
+(dirs [\255clpv] [+)108 643.2 Q F1(n)A F2 2.5(][)C<ad>-2.5 E F1(n)A F2
+(])A F0 -.4(Wi)144 655.2 S .329
 (thout options, displays the list of currently remembered directories.)
 .4 F .328(The def)5.328 F .328(ault display is on a)-.1 F 1.238
-(single line with directory names separated by spaces.)144 655.2 R 1.238
-(Directories are added to the list with the)6.238 F F2(pushd)144 667.2 Q
+(single line with directory names separated by spaces.)144 667.2 R 1.238
+(Directories are added to the list with the)6.238 F F2(pushd)144 679.2 Q
 F0(command; the)2.5 E F2(popd)2.5 E F0(command remo)2.5 E -.15(ve)-.15 G
-2.5(se).15 G(ntries from the list.)-2.5 E F2(+)144 679.2 Q F1(n)A F0
-1.565(Displays the)25.3 F F1(n)4.065 E F0 1.565
-(th entry counting from the left of the list sho)B 1.564(wn by)-.25 F F2
-(dirs)4.064 E F0 1.564(when in)4.064 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 691.2 Q F2<ad>144 703.2 Q F1
-(n)A F0 1.194(Displays the)25.3 F F1(n)3.694 E F0 1.194
-(th entry counting from the right of the list sho)B 1.194(wn by)-.25 F
-F2(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 715.2 Q(GNU Bash 4.2)72 768 Q
-(2011 July 7)151.505 E(54)200.665 E 0 Cg EP
+2.5(se).15 G(ntries from the list.)-2.5 E F2<ad63>144 691.2 Q F0
+(Clears the directory stack by deleting all of the entries.)25.86 E F2
+<ad6c>144 703.2 Q F0 .882
+(Produces a listing using full pathnames; the def)27.52 F .881
+(ault listing format uses a tilde to denote)-.1 F(the home directory)180
+715.2 Q(.)-.65 E(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(54)
+185.115 E 0 Cg EP
 %%Page: 55 55
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF<ad63>144 84 Q F0
-(Clears the directory stack by deleting all of the entries.)25.86 E F1
-<ad6c>144 96 Q F0 .324(Produces a longer listing; the def)27.52 F .324
-(ault listing format uses a tilde to denote the home direc-)-.1 F(tory)
-180 108 Q(.)-.65 E F1<ad70>144 120 Q F0
+-.35 E/F1 10/Times-Bold@0 SF<ad70>144 84 Q F0
 (Print the directory stack with one entry per line.)24.74 E F1<ad76>144
-132 Q F0 .272(Print the directory stack with one entry per line, pre\
-\214xing each entry with its inde)25.3 F 2.773(xi)-.15 G 2.773(nt)-2.773
-G(he)-2.773 E(stack.)180 144 Q .258(The return v)144 160.8 R .258
-(alue is 0 unless an in)-.25 F -.25(va)-.4 G .258
-(lid option is supplied or).25 F/F2 10/Times-Italic@0 SF(n)2.758 E F0
-(inde)2.758 E -.15(xe)-.15 G 2.758(sb).15 G -.15(ey)-2.758 G .258
-(ond the end of the direc-).15 F(tory stack.)144 172.8 Q F1(diso)108
-189.6 Q(wn)-.1 E F0([)2.5 E F1(\255ar)A F0 2.5(][)C F1<ad68>-2.5 E F0
-2.5(][)C F2(jobspec)-2.5 E F0(...])2.5 E -.4(Wi)144 201.6 S .295
-(thout options, each).4 F F2(jobspec)4.535 E F0 .295(is remo)3.105 F
--.15(ve)-.15 G 2.795(df).15 G .295(rom the table of acti)-2.795 F .595
--.15(ve j)-.25 H 2.795(obs. If).15 F F2(jobspec)4.535 E F0 .295
-(is not present,)3.105 F .423(and neither)144 213.6 R F1<ad61>2.923 E F0
-(nor)2.923 E F1<ad72>2.923 E F0 .423(is supplied, the shell')2.923 F
-2.923(sn)-.55 G .423(otion of the)-2.923 F F2(curr)2.922 E .422(ent job)
--.37 F F0 .422(is used.)2.922 F .422(If the)5.422 F F1<ad68>2.922 E F0
-.422(option is)2.922 F(gi)144 225.6 Q -.15(ve)-.25 G .14(n, each).15 F
-F2(jobspec)4.38 E F0 .14(is not remo)2.95 F -.15(ve)-.15 G 2.641(df).15
-G .141(rom the table, b)-2.641 F .141(ut is mark)-.2 F .141(ed so that)
--.1 F/F3 9/Times-Bold@0 SF(SIGHUP)2.641 E F0 .141(is not sent to the)
-2.391 F .005(job if the shell recei)144 237.6 R -.15(ve)-.25 G 2.504(sa)
-.15 G F3(SIGHUP)A/F4 9/Times-Roman@0 SF(.)A F0 .004(If no)4.504 F F2
-(jobspec)4.244 E F0 .004(is present, and neither the)2.814 F F1<ad61>
-2.504 E F0 .004(nor the)2.504 F F1<ad72>2.504 E F0 .004(option is)2.504
-F 1.228(supplied, the)144 249.6 R F2(curr)3.728 E 1.228(ent job)-.37 F
-F0 1.229(is used.)3.729 F 1.229(If no)6.229 F F2(jobspec)5.469 E F0
-1.229(is supplied, the)4.039 F F1<ad61>3.729 E F0 1.229
-(option means to remo)3.729 F 1.529 -.15(ve o)-.15 H(r).15 E .657
-(mark all jobs; the)144 261.6 R F1<ad72>3.157 E F0 .657
-(option without a)3.157 F F2(jobspec)4.897 E F0(ar)3.467 E .656
-(gument restricts operation to running jobs.)-.18 F(The)5.656 E
-(return v)144 273.6 Q(alue is 0 unless a)-.25 E F2(jobspec)4.24 E F0
-(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E F1(echo)108 290.4 Q
-F0([)2.5 E F1(\255neE)A F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E
-.424(Output the)144 302.4 R F2(ar)2.924 E(g)-.37 E F0 .424
+96 Q F0 .272(Print the directory stack with one entry per line, pre\214\
+xing each entry with its inde)25.3 F 2.773(xi)-.15 G 2.773(nt)-2.773 G
+(he)-2.773 E(stack.)180 108 Q F1(+)144 120 Q/F2 10/Times-Italic@0 SF(n)A
+F0 1.565(Displays the)25.3 F F2(n)4.065 E F0 1.565
+(th entry counting from the left of the list sho)B 1.564(wn by)-.25 F F1
+(dirs)4.064 E F0 1.564(when in)4.064 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
+(without options, starting with zero.)180 132 Q F1<ad>144 144 Q F2(n)A
+F0 1.194(Displays the)25.3 F F2(n)3.694 E F0 1.194
+(th entry counting from the right of the list sho)B 1.194(wn by)-.25 F
+F1(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
+(without options, starting with zero.)180 156 Q .258(The return v)144
+172.8 R .258(alue is 0 unless an in)-.25 F -.25(va)-.4 G .258
+(lid option is supplied or).25 F F2(n)2.758 E F0(inde)2.758 E -.15(xe)
+-.15 G 2.758(sb).15 G -.15(ey)-2.758 G .258(ond the end of the direc-)
+.15 F(tory stack.)144 184.8 Q F1(diso)108 201.6 Q(wn)-.1 E F0([)2.5 E F1
+(\255ar)A F0 2.5(][)C F1<ad68>-2.5 E F0 2.5(][)C F2(jobspec)-2.5 E F0
+(...])2.5 E -.4(Wi)144 213.6 S .121(thout options, remo).4 F .422 -.15
+(ve e)-.15 H(ach).15 E F2(jobspec)4.362 E F0 .122
+(from the table of acti)2.932 F .422 -.15(ve j)-.25 H 2.622(obs. If).15
+F F2(jobspec)4.362 E F0 .122(is not present, and)2.932 F(neither)144
+225.6 Q F1<ad61>3.837 E F0(nor)3.837 E F1<ad72>3.837 E F0 1.337
+(is supplied, the shell')3.837 F 3.836(sn)-.55 G 1.336(otion of the)
+-3.836 F F2(curr)3.836 E 1.336(ent job)-.37 F F0 1.336(is used.)3.836 F
+1.336(If the)6.336 F F1<ad68>3.836 E F0 1.336(option is)3.836 F(gi)144
+237.6 Q -.15(ve)-.25 G .14(n, each).15 F F2(jobspec)4.38 E F0 .14
+(is not remo)2.95 F -.15(ve)-.15 G 2.641(df).15 G .141(rom the table, b)
+-2.641 F .141(ut is mark)-.2 F .141(ed so that)-.1 F/F3 9/Times-Bold@0
+SF(SIGHUP)2.641 E F0 .141(is not sent to the)2.391 F .005
+(job if the shell recei)144 249.6 R -.15(ve)-.25 G 2.504(sa).15 G F3
+(SIGHUP)A/F4 9/Times-Roman@0 SF(.)A F0 .004(If no)4.504 F F2(jobspec)
+4.244 E F0 .004(is present, and neither the)2.814 F F1<ad61>2.504 E F0
+.004(nor the)2.504 F F1<ad72>2.504 E F0 .004(option is)2.504 F 1.228
+(supplied, the)144 261.6 R F2(curr)3.728 E 1.228(ent job)-.37 F F0 1.229
+(is used.)3.729 F 1.229(If no)6.229 F F2(jobspec)5.469 E F0 1.229
+(is supplied, the)4.039 F F1<ad61>3.729 E F0 1.229(option means to remo)
+3.729 F 1.529 -.15(ve o)-.15 H(r).15 E .657(mark all jobs; the)144 273.6
+R F1<ad72>3.157 E F0 .657(option without a)3.157 F F2(jobspec)4.897 E F0
+(ar)3.467 E .656(gument restricts operation to running jobs.)-.18 F(The)
+5.656 E(return v)144 285.6 Q(alue is 0 unless a)-.25 E F2(jobspec)4.24 E
+F0(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E F1(echo)108 302.4
+Q F0([)2.5 E F1(\255neE)A F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5
+E .424(Output the)144 314.4 R F2(ar)2.924 E(g)-.37 E F0 .424
 (s, separated by spaces, follo)B .424(wed by a ne)-.25 F 2.924
 (wline. The)-.25 F .424(return status is 0 unless a write)2.924 F .308
-(error occurs.)144 314.4 R(If)5.308 E F1<ad6e>2.808 E F0 .308
+(error occurs.)144 326.4 R(If)5.308 E F1<ad6e>2.808 E F0 .308
 (is speci\214ed, the trailing ne)2.808 F .308(wline is suppressed.)-.25
 F .307(If the)5.308 F F1<ad65>2.807 E F0 .307(option is gi)2.807 F -.15
 (ve)-.25 G .307(n, inter).15 F(-)-.2 E 1.348(pretation of the follo)144
-326.4 R 1.348(wing backslash-escaped characters is enabled.)-.25 F(The)
+338.4 R 1.348(wing backslash-escaped characters is enabled.)-.25 F(The)
 6.348 E F1<ad45>3.849 E F0 1.349(option disables the)3.849 F 1.055
-(interpretation of these escape characters, e)144 338.4 R -.15(ve)-.25 G
+(interpretation of these escape characters, e)144 350.4 R -.15(ve)-.25 G
 3.555(no).15 G 3.555(ns)-3.555 G 1.055(ystems where the)-3.555 F 3.554
 (ya)-.15 G 1.054(re interpreted by def)-3.554 F(ault.)-.1 E(The)144
-350.4 Q F1(xpg_echo)3.458 E F0 .959
+362.4 Q F1(xpg_echo)3.458 E F0 .959
 (shell option may be used to dynamically determine whether or not)3.458
 F F1(echo)3.459 E F0 -.15(ex)3.459 G(pands).15 E .716
-(these escape characters by def)144 362.4 R(ault.)-.1 E F1(echo)5.716 E
+(these escape characters by def)144 374.4 R(ault.)-.1 E F1(echo)5.716 E
 F0 .716(does not interpret)3.216 F F1<adad>3.216 E F0 .715
 (to mean the end of options.)3.216 F F1(echo)5.715 E F0
-(interprets the follo)144 374.4 Q(wing escape sequences:)-.25 E F1(\\a)
-144 386.4 Q F0(alert \(bell\))28.22 E F1(\\b)144 398.4 Q F0(backspace)
-27.66 E F1(\\c)144 410.4 Q F0(suppress further output)28.78 E F1(\\e)144
-422.4 Q(\\E)144 434.4 Q F0(an escape character)26.55 E F1(\\f)144 446.4
-Q F0(form feed)29.89 E F1(\\n)144 458.4 Q F0(ne)27.66 E 2.5(wl)-.25 G
-(ine)-2.5 E F1(\\r)144 470.4 Q F0(carriage return)28.78 E F1(\\t)144
-482.4 Q F0(horizontal tab)29.89 E F1(\\v)144 494.4 Q F0 -.15(ve)28.22 G
-(rtical tab).15 E F1(\\\\)144 506.4 Q F0(backslash)30.44 E F1(\\0)144
-518.4 Q F2(nnn)A F0(the eight-bit character whose v)13.22 E
+(interprets the follo)144 386.4 Q(wing escape sequences:)-.25 E F1(\\a)
+144 398.4 Q F0(alert \(bell\))28.22 E F1(\\b)144 410.4 Q F0(backspace)
+27.66 E F1(\\c)144 422.4 Q F0(suppress further output)28.78 E F1(\\e)144
+434.4 Q(\\E)144 446.4 Q F0(an escape character)26.55 E F1(\\f)144 458.4
+Q F0(form feed)29.89 E F1(\\n)144 470.4 Q F0(ne)27.66 E 2.5(wl)-.25 G
+(ine)-2.5 E F1(\\r)144 482.4 Q F0(carriage return)28.78 E F1(\\t)144
+494.4 Q F0(horizontal tab)29.89 E F1(\\v)144 506.4 Q F0 -.15(ve)28.22 G
+(rtical tab).15 E F1(\\\\)144 518.4 Q F0(backslash)30.44 E F1(\\0)144
+530.4 Q F2(nnn)A F0(the eight-bit character whose v)13.22 E
 (alue is the octal v)-.25 E(alue)-.25 E F2(nnn)2.5 E F0
-(\(zero to three octal digits\))2.5 E F1(\\x)144 530.4 Q F2(HH)A F0
+(\(zero to three octal digits\))2.5 E F1(\\x)144 542.4 Q F2(HH)A F0
 (the eight-bit character whose v)13.78 E(alue is the he)-.25 E
 (xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0(\(one or tw)2.5 E 2.5(oh)
--.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1(\\u)144 542.4 Q F2(HHHH)A F0
-1.506(the Unicode \(ISO/IEC 10646\) character whose v)180 554.4 R 1.507
+-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1(\\u)144 554.4 Q F2(HHHH)A F0
+1.506(the Unicode \(ISO/IEC 10646\) character whose v)180 566.4 R 1.507
 (alue is the he)-.25 F 1.507(xadecimal v)-.15 F(alue)-.25 E F2(HHHH)
-4.007 E F0(\(one to four he)180 566.4 Q 2.5(xd)-.15 G(igits\))-2.5 E F1
-(\\U)144 578.4 Q F2(HHHHHHHH)A F0 .548
-(the Unicode \(ISO/IEC 10646\) character whose v)180 590.4 R .547
+4.007 E F0(\(one to four he)180 578.4 Q 2.5(xd)-.15 G(igits\))-2.5 E F1
+(\\U)144 590.4 Q F2(HHHHHHHH)A F0 .548
+(the Unicode \(ISO/IEC 10646\) character whose v)180 602.4 R .547
 (alue is the he)-.25 F .547(xadecimal v)-.15 F(alue)-.25 E F2(HHHHH-)
-3.047 E(HHH)180 602.4 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G
-(igits\))-2.5 E F1(enable)108 619.2 Q F0([)2.5 E F1<ad61>A F0 2.5(][)C
+3.047 E(HHH)180 614.4 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G
+(igits\))-2.5 E F1(enable)108 631.2 Q F0([)2.5 E F1<ad61>A F0 2.5(][)C
 F1(\255dnps)-2.5 E F0 2.5(][)C F1<ad66>-2.5 E F2(\214lename)2.5 E F0 2.5
-(][)C F2(name)-2.5 E F0(...])2.5 E .277(Enable and disable b)144 631.2 R
+(][)C F2(name)-2.5 E F0(...])2.5 E .277(Enable and disable b)144 643.2 R
 .278(uiltin shell commands.)-.2 F .278(Disabling a b)5.278 F .278
 (uiltin allo)-.2 F .278(ws a disk command which has)-.25 F .834
-(the same name as a shell b)144 643.2 R .834(uiltin to be e)-.2 F -.15
+(the same name as a shell b)144 655.2 R .834(uiltin to be e)-.2 F -.15
 (xe)-.15 G .834(cuted without specifying a full pathname, e).15 F -.15
 (ve)-.25 G 3.333(nt).15 G(hough)-3.333 E .989
-(the shell normally searches for b)144 655.2 R .989
+(the shell normally searches for b)144 667.2 R .989
 (uiltins before disk commands.)-.2 F(If)5.989 E F1<ad6e>3.489 E F0 .99
 (is used, each)3.49 F F2(name)3.49 E F0 .99(is dis-)3.49 F 1.582
-(abled; otherwise,)144 667.2 R F2(names)4.082 E F0 1.582(are enabled.)
+(abled; otherwise,)144 679.2 R F2(names)4.082 E F0 1.582(are enabled.)
 4.082 F -.15(Fo)6.582 G 4.082(re).15 G 1.582(xample, to use the)-4.232 F
 F1(test)4.082 E F0 1.582(binary found via the)4.082 F F3 -.666(PA)4.081
-G(TH)-.189 E F0 .08(instead of the shell b)144 679.2 R .08(uiltin v)-.2
+G(TH)-.189 E F0 .08(instead of the shell b)144 691.2 R .08(uiltin v)-.2
 F .08(ersion, run)-.15 F/F5 10/Courier@0 SF .081(enable -n test)2.58 F
 F0 5.081(.T)C(he)-5.081 E F1<ad66>2.581 E F0 .081
-(option means to load the ne)2.581 F(w)-.25 E -.2(bu)144 691.2 S 1.525
+(option means to load the ne)2.581 F(w)-.25 E -.2(bu)144 703.2 S 1.525
 (iltin command).2 F F2(name)4.385 E F0 1.524(from shared object)4.204 F
 F2(\214lename)4.024 E F0 4.024(,o).18 G 4.024(ns)-4.024 G 1.524
-(ystems that support dynamic loading.)-4.024 F(The)144 703.2 Q F1<ad64>
+(ystems that support dynamic loading.)-4.024 F(The)144 715.2 Q F1<ad64>
 2.866 E F0 .366(option will delete a b)2.866 F .366(uiltin pre)-.2 F
 .366(viously loaded with)-.25 F F1<ad66>2.867 E F0 5.367(.I)C 2.867(fn)
 -5.367 G(o)-2.867 E F2(name)2.867 E F0(ar)2.867 E .367(guments are gi)
--.18 F -.15(ve)-.25 G .367(n, or).15 F .399(if the)144 715.2 R F1<ad70>
+-.18 F -.15(ve)-.25 G .367(n, or).15 F .399(if the)144 727.2 R F1<ad70>
 2.899 E F0 .399(option is supplied, a list of shell b)2.899 F .399
 (uiltins is printed.)-.2 F -.4(Wi)5.399 G .399(th no other option ar).4
-F .398(guments, the)-.18 F .098(list consists of all enabled shell b)144
-727.2 R 2.598(uiltins. If)-.2 F F1<ad6e>2.598 E F0 .098
-(is supplied, only disabled b)2.598 F .099(uiltins are printed.)-.2 F
-(If)5.099 E F1<ad61>2.599 E F0(GNU Bash 4.2)72 768 Q(2011 July 7)151.505
-E(55)200.665 E 0 Cg EP
+F .398(guments, the)-.18 F(GNU Bash 4.2)72 768 Q(2011 September 25)
+135.955 E(55)185.115 E 0 Cg EP
 %%Page: 56 56
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E 1.917(is supplied, the list printed includes all b)144 84 R 1.916
+-.35 E .098(list consists of all enabled shell b)144 84 R 2.598
+(uiltins. If)-.2 F/F1 10/Times-Bold@0 SF<ad6e>2.598 E F0 .098
+(is supplied, only disabled b)2.598 F .099(uiltins are printed.)-.2 F
+(If)5.099 E F1<ad61>2.599 E F0 1.917
+(is supplied, the list printed includes all b)144 96 R 1.916
 (uiltins, with an indication of whether or not each is)-.2 F 2.878
-(enabled. If)144 96 R/F1 10/Times-Bold@0 SF<ad73>2.878 E F0 .379
+(enabled. If)144 108 R F1<ad73>2.878 E F0 .379
 (is supplied, the output is restricted to the POSIX)2.878 F/F2 10
 /Times-Italic@0 SF(special)2.879 E F0 -.2(bu)2.879 G 2.879(iltins. The)
-.2 F .379(return v)2.879 F(alue)-.25 E .995(is 0 unless a)144 108 R F2
+.2 F .379(return v)2.879 F(alue)-.25 E .995(is 0 unless a)144 120 R F2
 (name)3.855 E F0 .994(is not a shell b)3.675 F .994
 (uiltin or there is an error loading a ne)-.2 F 3.494(wb)-.25 G .994
-(uiltin from a shared)-3.694 F(object.)144 120 Q F1 -2.3 -.15(ev a)108
-136.8 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37 E F0(...])2.5 E(The)144 148.8
+(uiltin from a shared)-3.694 F(object.)144 132 Q F1 -2.3 -.15(ev a)108
+148.8 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37 E F0(...])2.5 E(The)144 160.8
 Q F2(ar)3.17 E(g)-.37 E F0 3.17(sa)C .671
 (re read and concatenated together into a single command.)-3.17 F .671
-(This command is then read)5.671 F .495(and e)144 160.8 R -.15(xe)-.15 G
+(This command is then read)5.671 F .495(and e)144 172.8 R -.15(xe)-.15 G
 .495(cuted by the shell, and its e).15 F .495
 (xit status is returned as the v)-.15 F .495(alue of)-.25 F F1 -2.3 -.15
 (ev a)2.995 H(l).15 E F0 5.495(.I)C 2.995(ft)-5.495 G .495(here are no)
--2.995 F F2(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 172.8 Q
+-2.995 F F2(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 184.8 Q
 (guments,)-.18 E F1 -2.3 -.15(ev a)2.5 H(l).15 E F0(returns 0.)2.5 E F1
-(exec)108 189.6 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1<ad61>-2.5 E F2
+(exec)108 201.6 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1<ad61>-2.5 E F2
 (name)2.5 E F0 2.5(][)C F2(command)-2.5 E F0([)2.5 E F2(ar)A(guments)
--.37 E F0(]])A(If)144 201.6 Q F2(command)3.005 E F0 .305
+-.37 E F0(]])A(If)144 213.6 Q F2(command)3.005 E F0 .305
 (is speci\214ed, it replaces the shell.)3.575 F .305(No ne)5.305 F 2.805
 (wp)-.25 G .306(rocess is created.)-2.805 F(The)5.306 E F2(ar)3.136 E
-(guments)-.37 E F0(become)3.076 E .177(the ar)144 213.6 R .177
+(guments)-.37 E F0(become)3.076 E .177(the ar)144 225.6 R .177
 (guments to)-.18 F F2(command)2.676 E F0 5.176(.I)C 2.676(ft)-5.176 G
 (he)-2.676 E F1<ad6c>2.676 E F0 .176
 (option is supplied, the shell places a dash at the be)2.676 F .176
-(ginning of)-.15 F .499(the zeroth ar)144 225.6 R .499(gument passed to)
+(ginning of)-.15 F .499(the zeroth ar)144 237.6 R .499(gument passed to)
 -.18 F F2(command)2.999 E F0 5.499(.T).77 G .499(his is what)-5.499 F F2
 (lo)2.999 E(gin)-.1 E F0 .499(\(1\) does.).24 F(The)5.5 E F1<ad63>3 E F0
-.5(option causes)3 F F2(com-)3.2 E(mand)144 237.6 Q F0 .639(to be e)
+.5(option causes)3 F F2(com-)3.2 E(mand)144 249.6 Q F0 .639(to be e)
 3.909 F -.15(xe)-.15 G .638(cuted with an empty en).15 F 3.138
 (vironment. If)-.4 F F1<ad61>3.138 E F0 .638
 (is supplied, the shell passes)3.138 F F2(name)3.498 E F0 .638(as the)
-3.318 F 1.077(zeroth ar)144 249.6 R 1.077(gument to the e)-.18 F -.15
+3.318 F 1.077(zeroth ar)144 261.6 R 1.077(gument to the e)-.18 F -.15
 (xe)-.15 G 1.077(cuted command.).15 F(If)6.077 E F2(command)3.777 E F0
 1.077(cannot be e)4.347 F -.15(xe)-.15 G 1.077(cuted for some reason, a)
-.15 F(non-interacti)144 261.6 Q .618 -.15(ve s)-.25 H .318(hell e).15 F
-.318(xits, unless the shell option)-.15 F F1(execfail)2.817 E F0 .317
-(is enabled, in which case it returns f)2.817 F(ail-)-.1 E 2.505
-(ure. An)144 273.6 R(interacti)2.505 E .305 -.15(ve s)-.25 H .005
-(hell returns f).15 F .005(ailure if the \214le cannot be e)-.1 F -.15
-(xe)-.15 G 2.505(cuted. If).15 F F2(command)2.705 E F0 .005
-(is not speci\214ed,)3.275 F(an)144 285.6 Q 3.037(yr)-.15 G .537
+.15 F(non-interacti)144 273.6 Q .877 -.15(ve s)-.25 H .577(hell e).15 F
+.577(xits, unless the)-.15 F F1(execfail)3.077 E F0 .577
+(shell option is enabled.)3.077 F .576(In that case, it returns f)5.577
+F(ail-)-.1 E 2.505(ure. An)144 285.6 R(interacti)2.505 E .305 -.15(ve s)
+-.25 H .005(hell returns f).15 F .005(ailure if the \214le cannot be e)
+-.1 F -.15(xe)-.15 G 2.505(cuted. If).15 F F2(command)2.705 E F0 .005
+(is not speci\214ed,)3.275 F(an)144 297.6 Q 3.037(yr)-.15 G .537
 (edirections tak)-3.037 F 3.036(ee)-.1 G -.25(ff)-3.036 G .536
 (ect in the current shell, and the return status is 0.).25 F .536
-(If there is a redirection)5.536 F(error)144 297.6 Q 2.5(,t)-.4 G
-(he return status is 1.)-2.5 E F1(exit)108 314.4 Q F0([)2.5 E F2(n)A F0
+(If there is a redirection)5.536 F(error)144 309.6 Q 2.5(,t)-.4 G
+(he return status is 1.)-2.5 E F1(exit)108 326.4 Q F0([)2.5 E F2(n)A F0
 6.29(]C)C .095(ause the shell to e)-6.29 F .095(xit with a status of)
 -.15 F F2(n)2.595 E F0 5.095(.I)C(f)-5.095 E F2(n)2.955 E F0 .096
 (is omitted, the e)2.835 F .096(xit status is that of the last command)
--.15 F -.15(exe)144 326.4 S 2.5(cuted. A).15 F(trap on)2.5 E/F3 9
+-.15 F -.15(exe)144 338.4 S 2.5(cuted. A).15 F(trap on)2.5 E/F3 9
 /Times-Bold@0 SF(EXIT)2.5 E F0(is e)2.25 E -.15(xe)-.15 G
-(cuted before the shell terminates.).15 E F1(export)108 343.2 Q F0([)2.5
+(cuted before the shell terminates.).15 E F1(export)108 355.2 Q F0([)2.5
 E F1(\255fn)A F0 2.5(][).833 G F2(name)-2.5 E F0([=)A F2(wor)A(d)-.37 E
-F0(]] ...)A F1(export \255p)108 355.2 Q F0 .257(The supplied)144 367.2 R
+F0(]] ...)A F1(export \255p)108 367.2 Q F0 .257(The supplied)144 379.2 R
 F2(names)3.117 E F0 .257(are mark)3.027 F .257(ed for automatic e)-.1 F
 .257(xport to the en)-.15 F .257(vironment of subsequently e)-.4 F -.15
-(xe)-.15 G(cuted).15 E 2.626(commands. If)144 379.2 R(the)2.626 E F1
+(xe)-.15 G(cuted).15 E 2.626(commands. If)144 391.2 R(the)2.626 E F1
 <ad66>2.626 E F0 .127(option is gi)2.627 F -.15(ve)-.25 G .127(n, the)
 .15 F F2(names)2.987 E F0 .127(refer to functions.)2.897 F .127(If no)
 5.127 F F2(names)2.987 E F0 .127(are gi)2.897 F -.15(ve)-.25 G .127
-(n, or if the).15 F F1<ad70>144 391.2 Q F0 .66
-(option is supplied, a list of all names that are e)3.16 F .659
-(xported in this shell is printed.)-.15 F(The)5.659 E F1<ad6e>3.159 E F0
-(option)3.159 E 1.586(causes the e)144 403.2 R 1.586
-(xport property to be remo)-.15 F -.15(ve)-.15 G 4.086(df).15 G 1.586
-(rom each)-4.086 F F2(name)4.086 E F0 6.586(.I)C 4.086(fav)-6.586 G
-1.587(ariable name is follo)-4.336 F 1.587(wed by)-.25 F(=)144 415.2 Q
-F2(wor)A(d)-.37 E F0 2.804(,t)C .304(he v)-2.804 F .304(alue of the v)
--.25 F .304(ariable is set to)-.25 F F2(wor)2.804 E(d)-.37 E F0(.)A F1
-(export)5.304 E F0 .304(returns an e)2.804 F .303
-(xit status of 0 unless an in)-.15 F -.25(va)-.4 G(lid).25 E .293
-(option is encountered, one of the)144 427.2 R F2(names)2.793 E F0 .293
-(is not a v)2.793 F .293(alid shell v)-.25 F .293(ariable name, or)-.25
-F F1<ad66>2.793 E F0 .294(is supplied with a)2.793 F F2(name)144.36
-439.2 Q F0(that is not a function.)2.68 E F1(fc)108 456 Q F0([)2.5 E F1
-<ad65>A F2(ename)2.5 E F0 2.5(][)C F1(\255lnr)-2.5 E F0 2.5(][)C F2
+(n, or if the).15 F F1<ad70>144 403.2 Q F0 .048
+(option is supplied, a list of names of all e)2.548 F .048(xported v)
+-.15 F .048(ariables is printed.)-.25 F(The)5.048 E F1<ad6e>2.547 E F0
+.047(option causes the)2.547 F -.15(ex)144 415.2 S 1.446
+(port property to be remo).15 F -.15(ve)-.15 G 3.947(df).15 G 1.447
+(rom each)-3.947 F F2(name)3.947 E F0 6.447(.I)C 3.947(fav)-6.447 G
+1.447(ariable name is follo)-4.197 F 1.447(wed by =)-.25 F F2(wor)A(d)
+-.37 E F0 3.947(,t)C(he)-3.947 E -.25(va)144 427.2 S .742(lue of the v)
+.25 F .742(ariable is set to)-.25 F F2(wor)3.242 E(d)-.37 E F0(.)A F1
+(export)5.742 E F0 .742(returns an e)3.242 F .741
+(xit status of 0 unless an in)-.15 F -.25(va)-.4 G .741(lid option is)
+.25 F .031(encountered, one of the)144 439.2 R F2(names)2.531 E F0 .031
+(is not a v)2.531 F .032(alid shell v)-.25 F .032(ariable name, or)-.25
+F F1<ad66>2.532 E F0 .032(is supplied with a)2.532 F F2(name)2.892 E F0
+(that)2.712 E(is not a function.)144 451.2 Q F1(fc)108 468 Q F0([)2.5 E
+F1<ad65>A F2(ename)2.5 E F0 2.5(][)C F1(\255lnr)-2.5 E F0 2.5(][)C F2
 <8c72>-2.5 E(st)-.1 E F0 2.5(][)C F2(last)-2.5 E F0(])A F1(fc \255s)108
-468 Q F0([)2.5 E F2(pat)A F0(=)A F2 -.37(re)C(p).37 E F0 2.5(][)C F2
-(cmd)-2.5 E F0(])A .478(Fix Command.)144 480 R .478
-(In the \214rst form, a range of commands from)5.478 F F2<8c72>4.888 E
-(st)-.1 E F0(to)3.658 E F2(last)3.068 E F0 .477
-(is selected from the his-)3.658 F .881(tory list.)144 492 R F2 -.45(Fi)
-5.881 G -.1(rs).45 G(t).1 E F0(and)4.061 E F2(last)3.471 E F0 .882
-(may be speci\214ed as a string \(to locate the last command be)4.062 F
-.882(ginning with)-.15 F .797(that string\) or as a number \(an inde)144
-504 R 3.297(xi)-.15 G .797(nto the history list, where a ne)-3.297 F
--.05(ga)-.15 G(ti).05 E 1.097 -.15(ve n)-.25 H .796(umber is used as an)
-.15 F(of)144 516 Q .276(fset from the current command number\).)-.25 F
-(If)5.276 E F2(last)2.866 E F0 .277
-(is not speci\214ed it is set to the current command)3.456 F .093
-(for listing \(so that)144 528 R/F4 10/Courier@0 SF .092
-(fc \255l \25510)2.592 F F0 .092(prints the last 10 commands\) and to)
-2.592 F F2<8c72>4.502 E(st)-.1 E F0 2.592(otherwise. If)3.272 F F2<8c72>
-4.502 E(st)-.1 E F0 .092(is not)3.272 F
-(speci\214ed it is set to the pre)144 540 Q
-(vious command for editing and \25516 for listing.)-.25 E(The)144 564 Q
+480 Q F0([)2.5 E F2(pat)A F0(=)A F2 -.37(re)C(p).37 E F0 2.5(][)C F2
+(cmd)-2.5 E F0(])A .432
+(The \214rst form selects a range of commands from)144 492 R F2<8c72>
+4.842 E(st)-.1 E F0(to)3.612 E F2(last)3.022 E F0 .431
+(from the history list and displays or)3.612 F .141(edits and re-e)144
+504 R -.15(xe)-.15 G .141(cutes them.).15 F F2 -.45(Fi)5.141 G -.1(rs)
+.45 G(t).1 E F0(and)3.321 E F2(last)2.731 E F0 .141
+(may be speci\214ed as a string \(to locate the last command)3.321 F(be)
+144 516 Q .311(ginning with that string\) or as a number \(an inde)-.15
+F 2.811(xi)-.15 G .31(nto the history list, where a ne)-2.811 F -.05(ga)
+-.15 G(ti).05 E .61 -.15(ve n)-.25 H(umber).15 E .314(is used as an of)
+144 528 R .314(fset from the current command number\).)-.25 F(If)5.314 E
+F2(last)2.905 E F0 .315(is not speci\214ed it is set to the cur)3.495 F
+(-)-.2 E .949(rent command for listing \(so that)144 540 R/F4 10
+/Courier@0 SF .948(fc \255l \25510)3.448 F F0 .948
+(prints the last 10 commands\) and to)3.448 F F2<8c72>5.358 E(st)-.1 E
+F0(other)4.128 E(-)-.2 E 2.5(wise. If)144 552 R F2<8c72>4.41 E(st)-.1 E
+F0(is not speci\214ed it is set to the pre)3.18 E
+(vious command for editing and \25516 for listing.)-.25 E(The)144 576 Q
 F1<ad6e>2.522 E F0 .022
 (option suppresses the command numbers when listing.)2.522 F(The)5.022 E
 F1<ad72>2.522 E F0 .022(option re)2.522 F -.15(ve)-.25 G .022
-(rses the order of).15 F .438(the commands.)144 576 R .438(If the)5.438
+(rses the order of).15 F .438(the commands.)144 588 R .438(If the)5.438
 F F1<ad6c>2.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438
 (n, the commands are listed on standard output.).15 F(Otherwise,)5.438 E
-.334(the editor gi)144 588 R -.15(ve)-.25 G 2.834(nb).15 G(y)-2.834 E F2
+.334(the editor gi)144 600 R -.15(ve)-.25 G 2.834(nb).15 G(y)-2.834 E F2
 (ename)3.024 E F0 .335(is in)3.014 F -.2(vo)-.4 G -.1(ke).2 G 2.835(do)
 .1 G 2.835(na\214)-2.835 G .335(le containing those commands.)-2.835 F
 (If)5.335 E F2(ename)3.025 E F0 .335(is not gi)3.015 F -.15(ve)-.25 G
-(n,).15 E .631(the v)144 600 R .631(alue of the)-.25 F F3(FCEDIT)3.131 E
+(n,).15 E .631(the v)144 612 R .631(alue of the)-.25 F F3(FCEDIT)3.131 E
 F0 -.25(va)2.881 G .631(riable is used, and the v).25 F .631(alue of)
 -.25 F F3(EDIT)3.131 E(OR)-.162 E F0(if)2.881 E F3(FCEDIT)3.13 E F0 .63
-(is not set.)2.88 F .63(If nei-)5.63 F .95(ther v)144 612 R .95
+(is not set.)2.88 F .63(If nei-)5.63 F .95(ther v)144 624 R .95
 (ariable is set,)-.25 F F2(vi)5.116 E F0 .95(is used.)5.116 F .951
 (When editing is complete, the edited commands are echoed and)5.95 F
--.15(exe)144 624 S(cuted.).15 E .04(In the second form,)144 648 R F2
-(command)2.54 E F0 .04(is re-e)2.54 F -.15(xe)-.15 G .039
-(cuted after each instance of).15 F F2(pat)2.539 E F0 .039
-(is replaced by)2.539 F F2 -.37(re)2.539 G(p).37 E F0 5.039(.A)C(useful)
--2.5 E .406(alias to use with this is)144 660 R F4 .406(r='fc \255s')
-2.906 F F0 2.906(,s)C 2.906(ot)-2.906 G .406(hat typing)-2.906 F F4
-6.406(rc)2.906 G(c)-6.406 E F0 .406(runs the last command be)2.906 F
-.407(ginning with)-.15 F F4(cc)144 672 Q F0(and typing)2.5 E F4(r)2.5 E
-F0(re-e)2.5 E -.15(xe)-.15 G(cutes the last command.).15 E .142
-(If the \214rst form is used, the return v)144 696 R .142
-(alue is 0 unless an in)-.25 F -.25(va)-.4 G .142
+-.15(exe)144 636 S(cuted.).15 E .789(In the second form,)144 660 R F2
+(command)3.288 E F0 .788(is re-e)3.288 F -.15(xe)-.15 G .788
+(cuted after each instance of).15 F F2(pat)3.288 E F0 .788
+(is replaced by)3.288 F F2 -.37(re)3.288 G(p).37 E F0(.)A F2(Com-)5.788
+E(mand)144 672 Q F0 .346(is intepreted the same as)2.846 F F2<8c72>2.847
+E(st)-.1 E F0(abo)2.847 E -.15(ve)-.15 G 5.347(.A).15 G .347
+(useful alias to use with this is)-2.5 F F4 .347(r='fc \255s')2.847 F F0
+2.847(,s)C 2.847(ot)-2.847 G(hat)-2.847 E(typing)144 684 Q F4 7.166(rc)
+3.666 G(c)-7.166 E F0 1.166(runs the last command be)3.666 F 1.166
+(ginning with)-.15 F F4(cc)3.666 E F0 1.165(and typing)3.666 F F4(r)
+3.665 E F0(re-e)3.665 E -.15(xe)-.15 G 1.165(cutes the last com-).15 F
+(mand.)144 696 Q .142(If the \214rst form is used, the return v)144 720
+R .142(alue is 0 unless an in)-.25 F -.25(va)-.4 G .142
 (lid option is encountered or).25 F F2<8c72>4.552 E(st)-.1 E F0(or)3.322
-E F2(last)2.732 E F0 .454(specify history lines out of range.)144 708 R
-.454(If the)5.454 F F1<ad65>2.954 E F0 .454
-(option is supplied, the return v)2.954 F .455(alue is the v)-.25 F .455
-(alue of the)-.25 F .788(last command e)144 720 R -.15(xe)-.15 G .788
-(cuted or f).15 F .787
-(ailure if an error occurs with the temporary \214le of commands.)-.1 F
-.787(If the)5.787 F(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(56)
-200.665 E 0 Cg EP
+E F2(last)2.732 E F0(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E
+(56)185.115 E 0 Cg EP
 %%Page: 57 57
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E 1.135
+-.35 E .455(specify history lines out of range.)144 84 R .454(If the)
+5.454 F/F1 10/Times-Bold@0 SF<ad65>2.954 E F0 .454
+(option is supplied, the return v)2.954 F .454(alue is the v)-.25 F .454
+(alue of the)-.25 F .787(last command e)144 96 R -.15(xe)-.15 G .787
+(cuted or f).15 F .788
+(ailure if an error occurs with the temporary \214le of commands.)-.1 F
+.788(If the)5.788 F 1.136
 (second form is used, the return status is that of the command re-e)144
-84 R -.15(xe)-.15 G 1.136(cuted, unless).15 F/F1 10/Times-Italic@0 SF
-(cmd)3.836 E F0 1.136(does not)4.406 F(specify a v)144 96 Q
-(alid history line, in which case)-.25 E/F2 10/Times-Bold@0 SF(fc)2.5 E
-F0(returns f)2.5 E(ailure.)-.1 E F2(fg)108 112.8 Q F0([)2.5 E F1
-(jobspec)A F0(])A(Resume)144 124.8 Q F1(jobspec)5.654 E F0 1.413
-(in the fore)4.224 F 1.413(ground, and mak)-.15 F 3.913(ei)-.1 G 3.913
-(tt)-3.913 G 1.413(he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F1
-(jobspec)5.653 E F0 1.413(is not present, the)4.223 F(shell')144 136.8 Q
-3.116(sn)-.55 G .616(otion of the)-3.116 F F1(curr)3.116 E .616(ent job)
--.37 F F0 .617(is used.)3.116 F .617(The return v)5.617 F .617
-(alue is that of the command placed into the)-.25 F(fore)144 148.8 Q
-.363(ground, or f)-.15 F .363
-(ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .362
-(hen run with job control enabled, if)-2.862 F F1(jobspec)145.74 160.8 Q
-F0 .004(does not specify a v)2.814 F .004(alid job or)-.25 F F1(jobspec)
+108 R -.15(xe)-.15 G 1.135(cuted, unless).15 F/F2 10/Times-Italic@0 SF
+(cmd)3.835 E F0 1.135(does not)4.405 F(specify a v)144 120 Q
+(alid history line, in which case)-.25 E F1(fc)2.5 E F0(returns f)2.5 E
+(ailure.)-.1 E F1(fg)108 136.8 Q F0([)2.5 E F2(jobspec)A F0(])A(Resume)
+144 148.8 Q F2(jobspec)5.653 E F0 1.413(in the fore)4.223 F 1.413
+(ground, and mak)-.15 F 3.913(ei)-.1 G 3.913(tt)-3.913 G 1.413
+(he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F2(jobspec)5.653 E F0
+1.414(is not present, the)4.223 F(shell')144 160.8 Q 3.117(sn)-.55 G
+.617(otion of the)-3.117 F F2(curr)3.117 E .617(ent job)-.37 F F0 .617
+(is used.)3.117 F .617(The return v)5.617 F .616
+(alue is that of the command placed into the)-.25 F(fore)144 172.8 Q
+.362(ground, or f)-.15 F .362
+(ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .363
+(hen run with job control enabled, if)-2.862 F F2(jobspec)145.74 184.8 Q
+F0 .004(does not specify a v)2.815 F .004(alid job or)-.25 F F2(jobspec)
 4.244 E F0 .004(speci\214es a job that w)2.814 F .004
-(as started without job control.)-.1 F F2(getopts)108 177.6 Q F1
-(optstring name)2.5 E F0([)2.5 E F1(ar)A(gs)-.37 E F0(])A F2(getopts)144
-189.6 Q F0 .793
-(is used by shell procedures to parse positional parameters.)3.294 F F1
-(optstring)6.023 E F0 .793(contains the option)3.513 F .149
-(characters to be recognized; if a character is follo)144 201.6 R .15
-(wed by a colon, the option is e)-.25 F .15(xpected to ha)-.15 F .45
--.15(ve a)-.2 H(n).15 E(ar)144 213.6 Q .579
-(gument, which should be separated from it by white space.)-.18 F .578
+(as started without job control.)-.1 F F1(getopts)108 201.6 Q F2
+(optstring name)2.5 E F0([)2.5 E F2(ar)A(gs)-.37 E F0(])A F1(getopts)144
+213.6 Q F0 .793
+(is used by shell procedures to parse positional parameters.)3.293 F F2
+(optstring)6.023 E F0 .793(contains the option)3.513 F .15
+(characters to be recognized; if a character is follo)144 225.6 R .149
+(wed by a colon, the option is e)-.25 F .149(xpected to ha)-.15 F .449
+-.15(ve a)-.2 H(n).15 E(ar)144 237.6 Q .578
+(gument, which should be separated from it by white space.)-.18 F .579
 (The colon and question mark char)5.579 F(-)-.2 E 1.665
-(acters may not be used as option characters.)144 225.6 R 1.665
-(Each time it is in)6.665 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F2(getopts)
-4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .797
-(option in the shell v)144 237.6 R(ariable)-.25 E F1(name)3.297 E F0
-3.297(,i).18 G(nitializing)-3.297 E F1(name)3.657 E F0 .797
-(if it does not e)3.477 F .796(xist, and the inde)-.15 F 3.296(xo)-.15 G
-3.296(ft)-3.296 G .796(he ne)-3.296 F(xt)-.15 E(ar)144 249.6 Q .085
+(acters may not be used as option characters.)144 249.6 R 1.665
+(Each time it is in)6.665 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F1(getopts)
+4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .796
+(option in the shell v)144 261.6 R(ariable)-.25 E F2(name)3.296 E F0
+3.296(,i).18 G(nitializing)-3.296 E F2(name)3.657 E F0 .797
+(if it does not e)3.477 F .797(xist, and the inde)-.15 F 3.297(xo)-.15 G
+3.297(ft)-3.297 G .797(he ne)-3.297 F(xt)-.15 E(ar)144 273.6 Q .085
 (gument to be processed into the v)-.18 F(ariable)-.25 E/F3 9
 /Times-Bold@0 SF(OPTIND)2.585 E/F4 9/Times-Roman@0 SF(.)A F3(OPTIND)
-4.585 E F0 .085(is initialized to 1 each time the shell)2.335 F .846
-(or a shell script is in)144 261.6 R -.2(vo)-.4 G -.1(ke).2 G 3.345
-(d. When).1 F .845(an option requires an ar)3.345 F(gument,)-.18 E F2
-(getopts)3.345 E F0 .845(places that ar)3.345 F(gument)-.18 E .803
-(into the v)144 273.6 R(ariable)-.25 E F3(OPT)3.303 E(ARG)-.81 E F4(.)A
-F0 .803(The shell does not reset)5.303 F F3(OPTIND)3.303 E F0 .804
-(automatically; it must be manually)3.054 F .294
-(reset between multiple calls to)144 285.6 R F2(getopts)2.793 E F0 .293
+4.585 E F0 .085(is initialized to 1 each time the shell)2.335 F .845
+(or a shell script is in)144 285.6 R -.2(vo)-.4 G -.1(ke).2 G 3.345
+(d. When).1 F .845(an option requires an ar)3.345 F(gument,)-.18 E F1
+(getopts)3.346 E F0 .846(places that ar)3.346 F(gument)-.18 E .804
+(into the v)144 297.6 R(ariable)-.25 E F3(OPT)3.304 E(ARG)-.81 E F4(.)A
+F0 .803(The shell does not reset)5.304 F F3(OPTIND)3.303 E F0 .803
+(automatically; it must be manually)3.053 F .293
+(reset between multiple calls to)144 309.6 R F1(getopts)2.793 E F0 .293
 (within the same shell in)2.793 F -.2(vo)-.4 G .293(cation if a ne).2 F
-2.793(ws)-.25 G .293(et of parameters)-2.793 F(is to be used.)144 297.6
-Q 2.043(When the end of options is encountered,)144 321.6 R F2(getopts)
-4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.044
-(alue greater than zero.)-.25 F F3(OPTIND)144 333.6 Q F0
+2.793(ws)-.25 G .294(et of parameters)-2.793 F(is to be used.)144 321.6
+Q 2.044(When the end of options is encountered,)144 345.6 R F1(getopts)
+4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.043
+(alue greater than zero.)-.25 F F3(OPTIND)144 357.6 Q F0
 (is set to the inde)2.25 E 2.5(xo)-.15 G 2.5(ft)-2.5 G
-(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F1(name)2.5 E F0
-(is set to ?.)2.5 E F2(getopts)144 357.6 Q F0 2.393
-(normally parses the positional parameters, b)4.893 F 2.392
-(ut if more ar)-.2 F 2.392(guments are gi)-.18 F -.15(ve)-.25 G 4.892
-(ni).15 G(n)-4.892 E F1(ar)4.892 E(gs)-.37 E F0(,).27 E F2(getopts)144
-369.6 Q F0(parses those instead.)2.5 E F2(getopts)144 393.6 Q F0 1.165
-(can report errors in tw)3.665 F 3.665(ow)-.1 G 3.665(ays. If)-3.765 F
-1.165(the \214rst character of)3.665 F F1(optstring)3.895 E F0 1.166
-(is a colon,)3.886 F F1(silent)4.006 E F0(error)4.346 E 1.264
-(reporting is used.)144 405.6 R 1.263
-(In normal operation diagnostic messages are printed when in)6.263 F
--.25(va)-.4 G 1.263(lid options or).25 F .393(missing option ar)144
-417.6 R .393(guments are encountered.)-.18 F .394(If the v)5.394 F
+(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F2(name)2.5 E F0
+(is set to ?.)2.5 E F1(getopts)144 381.6 Q F0 2.392
+(normally parses the positional parameters, b)4.892 F 2.392
+(ut if more ar)-.2 F 2.393(guments are gi)-.18 F -.15(ve)-.25 G 4.893
+(ni).15 G(n)-4.893 E F2(ar)4.893 E(gs)-.37 E F0(,).27 E F1(getopts)144
+393.6 Q F0(parses those instead.)2.5 E F1(getopts)144 417.6 Q F0 1.166
+(can report errors in tw)3.666 F 3.665(ow)-.1 G 3.665(ays. If)-3.765 F
+1.165(the \214rst character of)3.665 F F2(optstring)3.895 E F0 1.165
+(is a colon,)3.885 F F2(silent)4.005 E F0(error)4.345 E 1.07
+(reporting is used.)144 429.6 R 1.071
+(In normal operation, diagnostic messages are printed when in)6.07 F
+-.25(va)-.4 G 1.071(lid options or).25 F .394(missing option ar)144
+441.6 R .394(guments are encountered.)-.18 F .394(If the v)5.394 F
 (ariable)-.25 E F3(OPTERR)2.894 E F0 .394
-(is set to 0, no error messages)2.644 F(will be displayed, e)144 429.6 Q
+(is set to 0, no error messages)2.644 F(will be displayed, e)144 453.6 Q
 -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214rst character of)-2.5 E
-F1(optstring)2.73 E F0(is not a colon.)2.72 E .667(If an in)144 453.6 R
--.25(va)-.4 G .667(lid option is seen,).25 F F2(getopts)3.167 E F0 .667
-(places ? into)3.167 F F1(name)3.527 E F0 .666
-(and, if not silent, prints an error message)3.347 F .399(and unsets)144
-465.6 R F3(OPT)2.899 E(ARG)-.81 E F4(.)A F0(If)4.899 E F2(getopts)2.899
-F0 .399(is silent, the option character found is placed in)2.899 F F3
-(OPT)2.899 E(ARG)-.81 E F0 .4(and no)2.65 F
-(diagnostic message is printed.)144 477.6 Q 1.242(If a required ar)144
-501.6 R 1.242(gument is not found, and)-.18 F F2(getopts)3.741 E F0
-1.241(is not silent, a question mark \()3.741 F F2(?).833 E F0 3.741
-(\)i).833 G 3.741(sp)-3.741 G 1.241(laced in)-3.741 F F1(name)144 513.6
-Q F0(,).18 E F3(OPT)2.734 E(ARG)-.81 E F0 .234
-(is unset, and a diagnostic message is printed.)2.484 F(If)5.234 E F2
-(getopts)2.734 E F0 .235(is silent, then a colon \()2.734 F F2(:).833 E
-F0(\)).833 E(is placed in)144 525.6 Q F1(name)2.86 E F0(and)2.68 E F3
-(OPT)2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 E F2
-(getopts)144 549.6 Q F0 .902
+F2(optstring)2.73 E F0(is not a colon.)2.72 E .666(If an in)144 477.6 R
+-.25(va)-.4 G .666(lid option is seen,).25 F F1(getopts)3.166 E F0 .667
+(places ? into)3.167 F F2(name)3.527 E F0 .667
+(and, if not silent, prints an error message)3.347 F .4(and unsets)144
+489.6 R F3(OPT)2.9 E(ARG)-.81 E F4(.)A F0(If)4.899 E F1(getopts)2.899 E
+F0 .399(is silent, the option character found is placed in)2.899 F F3
+(OPT)2.899 E(ARG)-.81 E F0 .399(and no)2.649 F
+(diagnostic message is printed.)144 501.6 Q 1.241(If a required ar)144
+525.6 R 1.241(gument is not found, and)-.18 F F1(getopts)3.741 E F0
+1.241(is not silent, a question mark \()3.741 F F1(?).833 E F0 3.742
+(\)i).833 G 3.742(sp)-3.742 G 1.242(laced in)-3.742 F F2(name)144 537.6
+Q F0(,).18 E F3(OPT)2.735 E(ARG)-.81 E F0 .234
+(is unset, and a diagnostic message is printed.)2.485 F(If)5.234 E F1
+(getopts)2.734 E F0 .234(is silent, then a colon \()2.734 F F1(:).833 E
+F0(\)).833 E(is placed in)144 549.6 Q F2(name)2.86 E F0(and)2.68 E F3
+(OPT)2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 E F1
+(getopts)144 573.6 Q F0 .902
 (returns true if an option, speci\214ed or unspeci\214ed, is found.)
-3.402 F .902(It returns f)5.902 F .901(alse if the end of)-.1 F
-(options is encountered or an error occurs.)144 561.6 Q F2(hash)108
-578.4 Q F0([)2.5 E F2(\255lr)A F0 2.5(][)C F2<ad70>-2.5 E F1(\214lename)
-2.5 E F0 2.5(][)C F2(\255dt)-2.5 E F0 2.5(][)C F1(name)-2.5 E F0(])A
-.858(Each time)144 590.4 R F2(hash)3.358 E F0 .858(is in)3.358 F -.2(vo)
--.4 G -.1(ke).2 G .858(d, the full pathname of the command).1 F F1(name)
+3.401 F .902(It returns f)5.902 F .902(alse if the end of)-.1 F
+(options is encountered or an error occurs.)144 585.6 Q F1(hash)108
+602.4 Q F0([)2.5 E F1(\255lr)A F0 2.5(][)C F1<ad70>-2.5 E F2(\214lename)
+2.5 E F0 2.5(][)C F1(\255dt)-2.5 E F0 2.5(][)C F2(name)-2.5 E F0(])A
+.858(Each time)144 614.4 R F1(hash)3.358 E F0 .858(is in)3.358 F -.2(vo)
+-.4 G -.1(ke).2 G .858(d, the full pathname of the command).1 F F2(name)
 3.718 E F0 .858(is determined by searching)3.538 F .956
-(the directories in)144 602.4 R F2($P)3.456 E -.95(AT)-.74 G(H).95 E F0
+(the directories in)144 626.4 R F1($P)3.456 E -.95(AT)-.74 G(H).95 E F0
 .956(and remembered.)3.456 F(An)5.956 E 3.456(yp)-.15 G(re)-3.456 E .956
-(viously-remembered pathname is discarded.)-.25 F .098(If the)144 614.4
-R F2<ad70>2.598 E F0 .098
-(option is supplied, no path search is performed, and)2.598 F F1
-(\214lename)4.509 E F0 .099(is used as the full \214le name)2.779 F
-1.712(of the command.)144 626.4 R(The)6.712 E F2<ad72>4.212 E F0 1.711
-(option causes the shell to for)4.212 F 1.711
-(get all remembered locations.)-.18 F(The)6.711 E F2<ad64>4.211 E F0
-.833(option causes the shell to for)144 638.4 R .833
-(get the remembered location of each)-.18 F F1(name)3.333 E F0 5.833(.I)
-C 3.333(ft)-5.833 G(he)-3.333 E F2<ad74>3.333 E F0 .833(option is sup-)
-3.333 F .704(plied, the full pathname to which each)144 650.4 R F1(name)
-3.204 E F0 .703(corresponds is printed.)3.204 F .703(If multiple)5.703 F
-F1(name)3.203 E F0(ar)3.203 E(guments)-.18 E .795(are supplied with)144
-662.4 R F2<ad74>3.295 E F0 3.295(,t)C(he)-3.295 E F1(name)3.295 E F0
-.795(is printed before the hashed full pathname.)3.295 F(The)5.795 E F2
+(viously-remembered pathname is discarded.)-.25 F .243(If the)144 638.4
+R F1<ad70>2.743 E F0 .243
+(option is supplied, no path search is performed, and)2.743 F F2
+(\214lename)4.653 E F0 .242(is used as the full \214lename)2.923 F 1.711
+(of the command.)144 650.4 R(The)6.711 E F1<ad72>4.211 E F0 1.711
+(option causes the shell to for)4.211 F 1.712
+(get all remembered locations.)-.18 F(The)6.712 E F1<ad64>4.212 E F0
+.833(option causes the shell to for)144 662.4 R .833
+(get the remembered location of each)-.18 F F2(name)3.333 E F0 5.833(.I)
+C 3.333(ft)-5.833 G(he)-3.333 E F1<ad74>3.333 E F0 .833(option is sup-)
+3.333 F .703(plied, the full pathname to which each)144 674.4 R F2(name)
+3.204 E F0 .704(corresponds is printed.)3.204 F .704(If multiple)5.704 F
+F2(name)3.204 E F0(ar)3.204 E(guments)-.18 E .795(are supplied with)144
+686.4 R F1<ad74>3.295 E F0 3.295(,t)C(he)-3.295 E F2(name)3.295 E F0
+.795(is printed before the hashed full pathname.)3.295 F(The)5.795 E F1
 <ad6c>3.295 E F0 .795(option causes)3.295 F .934
 (output to be displayed in a format that may be reused as input.)144
-674.4 R .934(If no ar)5.934 F .934(guments are gi)-.18 F -.15(ve)-.25 G
-.934(n, or if).15 F(only)144 686.4 Q F2<ad6c>2.821 E F0 .321
-(is supplied, information about remembered commands is printed.)2.821 F
-.322(The return status is true)5.322 F(unless a)144 698.4 Q F1(name)2.86
+698.4 R .934(If no ar)5.934 F .935(guments are gi)-.18 F -.15(ve)-.25 G
+.935(n, or if).15 F(only)144 710.4 Q F1<ad6c>2.822 E F0 .322
+(is supplied, information about remembered commands is printed.)2.822 F
+.321(The return status is true)5.321 F(unless a)144 722.4 Q F2(name)2.86
 E F0(is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.)
-.25 E(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(57)200.665 E 0 Cg EP
+.25 E(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(57)185.115 E 0
+Cg EP
 %%Page: 58 58
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
 -.35 E/F1 10/Times-Bold@0 SF(help)108 84 Q F0([)2.5 E F1(\255dms)A F0
-2.5(][)C/F2 10/Times-Italic@0 SF(pattern)-2.5 E F0(])A .867
+2.5(][)C/F2 10/Times-Italic@0 SF(pattern)-2.5 E F0(])A .866
 (Display helpful information about b)144 96 R .867(uiltin commands.)-.2
-F(If)5.867 E F2(pattern)4.617 E F0 .866(is speci\214ed,)3.607 F F1(help)
-3.366 E F0(gi)3.366 E -.15(ve)-.25 G 3.366(sd).15 G(etailed)-3.366 E
-.306(help on all commands matching)144 108 R F2(pattern)2.806 E F0 2.807
-(;o).24 G .307(therwise help for all the b)-2.807 F .307
+F(If)5.867 E F2(pattern)4.617 E F0 .867(is speci\214ed,)3.607 F F1(help)
+3.367 E F0(gi)3.367 E -.15(ve)-.25 G 3.367(sd).15 G(etailed)-3.367 E
+.307(help on all commands matching)144 108 R F2(pattern)2.807 E F0 2.807
+(;o).24 G .307(therwise help for all the b)-2.807 F .306
 (uiltins and shell control struc-)-.2 F(tures is printed.)144 120 Q F1
 <ad64>144 132 Q F0(Display a short description of each)24.74 E F2
 (pattern)2.5 E F1<ad6d>144 144 Q F0(Display the description of each)
@@ -6872,13 +6891,13 @@ F1(history \255p)108 237.6 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A 2.5
 -.37 E F0([)2.5 E F2(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi)144
 261.6 S .752
 (th no options, display the command history list with line numbers.).4 F
-.752(Lines listed with a)5.752 F F1(*)3.251 E F0(ha)3.251 E -.15(ve)-.2
-G .38(been modi\214ed.)144 273.6 R .38(An ar)5.38 F .38(gument of)-.18 F
-F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88
+.752(Lines listed with a)5.752 F F1(*)3.252 E F0(ha)3.252 E -.15(ve)-.2
+G .381(been modi\214ed.)144 273.6 R .38(An ar)5.38 F .38(gument of)-.18
+F F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88
 (lines. If)3.12 F .38(the shell v)2.88 F(ariable)-.25 E/F3 9
-/Times-Bold@0 SF(HISTTIMEFOR-)2.881 E(MA)144 285.6 Q(T)-.855 E F0 .265
-(is set and not null, it is used as a format string for)2.515 F F2
-(strftime)2.764 E F0 .264(\(3\) to display the time stamp asso-)B 1.019
+/Times-Bold@0 SF(HISTTIMEFOR-)2.88 E(MA)144 285.6 Q(T)-.855 E F0 .264
+(is set and not null, it is used as a format string for)2.514 F F2
+(strftime)2.765 E F0 .265(\(3\) to display the time stamp asso-)B 1.02
 (ciated with each displayed history entry)144 297.6 R 6.019(.N)-.65 G
 3.519(oi)-6.019 G(nterv)-3.519 E 1.019
 (ening blank is printed between the formatted)-.15 F .176
@@ -6890,74 +6909,75 @@ F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88
 (wing meanings:)-.25 E F1<ad63>144 333.6 Q F0
 (Clear the history list by deleting all the entries.)25.86 E F1<ad64>144
 345.6 Q F2(of)2.5 E(fset)-.18 E F0(Delete the history entry at position)
-180 357.6 Q F2(of)2.5 E(fset)-.18 E F0(.)A F1<ad61>144 369.6 Q F0 .598
-(Append the `)25.3 F(`ne)-.74 E(w')-.25 E 3.098('h)-.74 G .598
-(istory lines \(history lines entered since the be)-3.098 F .599
+180 357.6 Q F2(of)2.5 E(fset)-.18 E F0(.)A F1<ad61>144 369.6 Q F0 .599
+(Append the `)25.3 F(`ne)-.74 E(w')-.25 E 3.099('h)-.74 G .598
+(istory lines \(history lines entered since the be)-3.099 F .598
 (ginning of the current)-.15 F F1(bash)180 381.6 Q F0
 (session\) to the history \214le.)2.5 E F1<ad6e>144 393.6 Q F0 .854(Rea\
 d the history lines not already read from the history \214le into the c\
-urrent history list.)24.74 F .772
+urrent history list.)24.74 F .773
 (These are lines appended to the history \214le since the be)180 405.6 R
-.773(ginning of the current)-.15 F F1(bash)3.273 E F0(ses-)3.273 E
+.772(ginning of the current)-.15 F F1(bash)3.272 E F0(ses-)3.272 E
 (sion.)180 417.6 Q F1<ad72>144 429.6 Q F0(Read the contents of the hist\
-ory \214le and use them as the current history)25.86 E(.)-.65 E F1<ad77>
-144 441.6 Q F0(Write the current history to the history \214le, o)23.08
-E -.15(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G
-(ontents.)-2.5 E F1<ad70>144 453.6 Q F0 .626
+ory \214le and append them to the current history list.)25.86 E F1<ad77>
+144 441.6 Q F0(Write the current history list to the history \214le, o)
+23.08 E -.15(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G
+(ontents.)-2.5 E F1<ad70>144 453.6 Q F0 .625
 (Perform history substitution on the follo)24.74 F(wing)-.25 E F2(ar)
-3.125 E(gs)-.37 E F0 .625(and display the result on the standard)3.125 F
+3.125 E(gs)-.37 E F0 .626(and display the result on the standard)3.125 F
 2.975(output. Does)180 465.6 R .475
 (not store the results in the history list.)2.975 F(Each)5.475 E F2(ar)
 2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F
 (normal history e)180 477.6 Q(xpansion.)-.15 E F1<ad73>144 489.6 Q F0
-.363(Store the)26.41 F F2(ar)3.193 E(gs)-.37 E F0 .363
-(in the history list as a single entry)3.133 F 5.363(.T)-.65 G .362
+.362(Store the)26.41 F F2(ar)3.192 E(gs)-.37 E F0 .363
+(in the history list as a single entry)3.132 F 5.363(.T)-.65 G .363
 (he last command in the history list is)-5.363 F(remo)180 501.6 Q -.15
 (ve)-.15 G 2.5(db).15 G(efore the)-2.5 E F2(ar)2.83 E(gs)-.37 E F0
-(are added.)2.77 E .145(If the)144 518.4 R F3(HISTTIMEFORMA)2.645 E(T)
+(are added.)2.77 E .146(If the)144 518.4 R F3(HISTTIMEFORMA)2.645 E(T)
 -.855 E F0 -.25(va)2.395 G .145
 (riable is set, the time stamp information associated with each history)
-.25 F .669(entry is written to the history \214le, mark)144 530.4 R .669
-(ed with the history comment character)-.1 F 5.668(.W)-.55 G .668
-(hen the history)-5.668 F .955(\214le is read, lines be)144 542.4 R .956
-(ginning with the history comment character follo)-.15 F .956
-(wed immediately by a digit)-.25 F .416
+.25 F .668(entry is written to the history \214le, mark)144 530.4 R .669
+(ed with the history comment character)-.1 F 5.669(.W)-.55 G .669
+(hen the history)-5.669 F .956(\214le is read, lines be)144 542.4 R .956
+(ginning with the history comment character follo)-.15 F .955
+(wed immediately by a digit)-.25 F .415
 (are interpreted as timestamps for the pre)144 554.4 R .416
-(vious history line.)-.25 F .416(The return v)5.416 F .415
+(vious history line.)-.25 F .416(The return v)5.416 F .416
 (alue is 0 unless an in)-.25 F -.25(va)-.4 G(lid).25 E .499(option is e\
 ncountered, an error occurs while reading or writing the history \214le\
-, an in)144 566.4 R -.25(va)-.4 G(lid).25 E F2(of)3 E(fset)-.18 E F0(is)
-3 E(supplied as an ar)144 578.4 Q(gument to)-.18 E F1<ad64>2.5 E F0 2.5
-(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E(xpansion supplied as an ar)-.15
-E(gument to)-.18 E F1<ad70>2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(jobs)108
-595.2 Q F0([)2.5 E F1(\255lnprs)A F0 2.5(][)C F2(jobspec)A F0(... ])2.5
-E F1(jobs \255x)108 607.2 Q F2(command)2.5 E F0([)2.5 E F2(ar)2.5 E(gs)
--.37 E F0(... ])2.5 E(The \214rst form lists the acti)144 619.2 Q .3
--.15(ve j)-.25 H 2.5(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H
-(he follo).15 E(wing meanings:)-.25 E F1<ad6c>144 631.2 Q F0
+, an in)144 566.4 R -.25(va)-.4 G(lid).25 E F2(of)2.999 E(fset)-.18 E F0
+(is)2.999 E(supplied as an ar)144 578.4 Q(gument to)-.18 E F1<ad64>2.5 E
+F0 2.5(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E
+(xpansion supplied as an ar)-.15 E(gument to)-.18 E F1<ad70>2.5 E F0 -.1
+(fa)2.5 G(ils.).1 E F1(jobs)108 595.2 Q F0([)2.5 E F1(\255lnprs)A F0 2.5
+(][)C F2(jobspec)A F0(... ])2.5 E F1(jobs \255x)108 607.2 Q F2(command)
+2.5 E F0([)2.5 E F2(ar)2.5 E(gs)-.37 E F0(... ])2.5 E
+(The \214rst form lists the acti)144 619.2 Q .3 -.15(ve j)-.25 H 2.5
+(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E
+(wing meanings:)-.25 E F1<ad6c>144 631.2 Q F0
 (List process IDs in addition to the normal information.)27.52 E F1
-<ad6e>144 643.2 Q F0 .194(Display information only about jobs that ha)
-24.74 F .494 -.15(ve c)-.2 H .193(hanged status since the user w).15 F
-.193(as last noti-)-.1 F(\214ed of their status.)180 655.2 Q F1<ad70>144
+<ad6e>144 643.2 Q F0 .193(Display information only about jobs that ha)
+24.74 F .494 -.15(ve c)-.2 H .194(hanged status since the user w).15 F
+.194(as last noti-)-.1 F(\214ed of their status.)180 655.2 Q F1<ad70>144
 667.2 Q F0(List only the process ID of the job')24.74 E 2.5(sp)-.55 G
 (rocess group leader)-2.5 E(.)-.55 E F1<ad72>144 679.2 Q F0
-(Restrict output to running jobs.)25.86 E F1<ad73>144 691.2 Q F0
-(Restrict output to stopped jobs.)26.41 E(If)144 708 Q F2(jobspec)4.553
-E F0 .313(is gi)3.123 F -.15(ve)-.25 G .313
-(n, output is restricted to information about that job).15 F 5.314(.T)
--.4 G .314(he return status is 0 unless)-5.314 F(an in)144 720 Q -.25
+(Display only running jobs.)25.86 E F1<ad73>144 691.2 Q F0
+(Display only stopped jobs.)26.41 E(If)144 708 Q F2(jobspec)4.554 E F0
+.314(is gi)3.124 F -.15(ve)-.25 G .314
+(n, output is restricted to information about that job).15 F 5.313(.T)
+-.4 G .313(he return status is 0 unless)-5.313 F(an in)144 720 Q -.25
 (va)-.4 G(lid option is encountered or an in).25 E -.25(va)-.4 G(lid).25
 E F2(jobspec)4.24 E F0(is supplied.)2.81 E(GNU Bash 4.2)72 768 Q
-(2011 July 7)151.505 E(58)200.665 E 0 Cg EP
+(2011 September 25)135.955 E(58)185.115 E 0 Cg EP
 %%Page: 59 59
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .395(If the)144 84 R/F1 10/Times-Bold@0 SF<ad78>2.895 E F0 .394
+-.35 E .394(If the)144 84 R/F1 10/Times-Bold@0 SF<ad78>2.894 E F0 .394
 (option is supplied,)2.894 F F1(jobs)2.894 E F0 .394(replaces an)2.894 F
 (y)-.15 E/F2 10/Times-Italic@0 SF(jobspec)4.634 E F0 .394(found in)3.204
-F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .394
+F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .395
 (with the corre-)3.164 F(sponding process group ID, and e)144 96 Q -.15
 (xe)-.15 G(cutes).15 E F2(command)2.7 E F0(passing it)3.27 E F2(ar)2.5 E
 (gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)-.15 E F1
@@ -6965,34 +6985,34 @@ F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .394
 <ad6e>2.5 E F2(signum)2.5 E F0(|)2.5 E F1<ad>2.5 E F2(sigspec)A F0 2.5
 (][)C F2(pid)-2.5 E F0(|)2.5 E F2(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F1
 (kill \255l)108 124.8 Q F0([)2.5 E F2(sigspec)A F0(|)2.5 E F2 -.2(ex)2.5
-G(it_status).2 E F0(])A .119(Send the signal named by)144 136.8 R F2
-(sigspec)2.959 E F0(or)2.929 E F2(signum)2.959 E F0 .119
-(to the processes named by)2.939 F F2(pid)3.87 E F0(or)3.39 E F2
-(jobspec)2.62 E F0(.).31 E F2(sigspec)5.46 E F0(is)2.93 E .319
-(either a case-insensiti)144 148.8 R .619 -.15(ve s)-.25 H .319
-(ignal name such as).15 F/F3 9/Times-Bold@0 SF(SIGKILL)2.819 E F0 .318
-(\(with or without the)2.569 F F3(SIG)2.818 E F0 .318
-(pre\214x\) or a signal)2.568 F(number;)144 160.8 Q F2(signum)4.188 E F0
-1.349(is a signal number)4.168 F 6.349(.I)-.55 G(f)-6.349 E F2(sigspec)
+G(it_status).2 E F0(])A .12(Send the signal named by)144 136.8 R F2
+(sigspec)2.96 E F0(or)2.93 E F2(signum)2.96 E F0 .119
+(to the processes named by)2.939 F F2(pid)3.869 E F0(or)3.389 E F2
+(jobspec)2.619 E F0(.).31 E F2(sigspec)5.459 E F0(is)2.929 E .318
+(either a case-insensiti)144 148.8 R .618 -.15(ve s)-.25 H .318
+(ignal name such as).15 F/F3 9/Times-Bold@0 SF(SIGKILL)2.818 E F0 .319
+(\(with or without the)2.569 F F3(SIG)2.819 E F0 .319
+(pre\214x\) or a signal)2.569 F(number;)144 160.8 Q F2(signum)4.189 E F0
+1.349(is a signal number)4.169 F 6.349(.I)-.55 G(f)-6.349 E F2(sigspec)
 4.189 E F0 1.349(is not present, then)4.159 F F3(SIGTERM)3.849 E F0
-1.349(is assumed.)3.599 F(An)6.349 E(ar)144 172.8 Q .523(gument of)-.18
+1.348(is assumed.)3.599 F(An)6.348 E(ar)144 172.8 Q .522(gument of)-.18
 F F1<ad6c>3.023 E F0 .523(lists the signal names.)3.023 F .523(If an)
 5.523 F 3.023(ya)-.15 G -.18(rg)-3.023 G .523(uments are supplied when)
 .18 F F1<ad6c>3.023 E F0 .523(is gi)3.023 F -.15(ve)-.25 G .523
 (n, the names).15 F .28(of the signals corresponding to the ar)144 184.8
 R .28(guments are listed, and the return status is 0.)-.18 F(The)5.28 E
-F2 -.2(ex)2.78 G(it_status).2 E F0(ar)144 196.8 Q .378(gument to)-.18 F
-F1<ad6c>2.878 E F0 .378
-(is a number specifying either a signal number or the e)2.878 F .377
-(xit status of a process termi-)-.15 F .593(nated by a signal.)144 208.8
+F2 -.2(ex)2.78 G(it_status).2 E F0(ar)144 196.8 Q .377(gument to)-.18 F
+F1<ad6c>2.877 E F0 .378
+(is a number specifying either a signal number or the e)2.877 F .378
+(xit status of a process termi-)-.15 F .594(nated by a signal.)144 208.8
 R F1(kill)5.593 E F0 .593(returns true if at least one signal w)3.093 F
-.593(as successfully sent, or f)-.1 F .594(alse if an error)-.1 F
+.593(as successfully sent, or f)-.1 F .593(alse if an error)-.1 F
 (occurs or an in)144 220.8 Q -.25(va)-.4 G(lid option is encountered.)
 .25 E F1(let)108 237.6 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A(g)-.37
-E F0(...])2.5 E(Each)144 249.6 Q F2(ar)3.027 E(g)-.37 E F0 .197
-(is an arithmetic e)2.917 F .197(xpression to be e)-.15 F -.25(va)-.25 G
-.196(luated \(see).25 F F3 .196(ARITHMETIC EV)2.696 F(ALU)-1.215 E -.855
-(AT)-.54 G(ION).855 E F0(abo)2.446 E -.15(ve)-.15 G 2.696(\). If).15 F
+E F0(...])2.5 E(Each)144 249.6 Q F2(ar)3.026 E(g)-.37 E F0 .196
+(is an arithmetic e)2.916 F .197(xpression to be e)-.15 F -.25(va)-.25 G
+.197(luated \(see).25 F F3 .197(ARITHMETIC EV)2.697 F(ALU)-1.215 E -.855
+(AT)-.54 G(ION).855 E F0(abo)2.447 E -.15(ve)-.15 G 2.697(\). If).15 F
 (the last)144 261.6 Q F2(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G
 (luates to 0,).25 E F1(let)2.5 E F0(returns 1; 0 is returned otherwise.)
 2.5 E F1(local)108 278.4 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(name)
@@ -7000,19 +7020,19 @@ E F0(...])2.5 E(Each)144 249.6 Q F2(ar)3.027 E(g)-.37 E F0 .197
 2.56(re).15 G .06(ach ar)-2.56 F .06(gument, a local v)-.18 F .06
 (ariable named)-.25 F F2(name)2.92 E F0 .06(is created, and assigned)
 2.74 F F2(value)2.56 E F0 5.06(.T).18 G(he)-5.06 E F2(option)2.56 E F0
-.06(can be)2.56 F(an)144 302.4 Q 3.153(yo)-.15 G 3.153(ft)-3.153 G .653
-(he options accepted by)-3.153 F F1(declar)3.153 E(e)-.18 E F0 5.652(.W)
-C(hen)-5.652 E F1(local)3.152 E F0 .652
+.06(can be)2.56 F(an)144 302.4 Q 3.152(yo)-.15 G 3.152(ft)-3.152 G .652
+(he options accepted by)-3.152 F F1(declar)3.152 E(e)-.18 E F0 5.652(.W)
+C(hen)-5.652 E F1(local)3.152 E F0 .653
 (is used within a function, it causes the v)3.152 F(ari-)-.25 E(able)144
-314.4 Q F2(name)3.72 E F0 .86(to ha)3.54 F 1.16 -.15(ve a v)-.2 H .861
-(isible scope restricted to that function and its children.).15 F -.4
-(Wi)5.861 G .861(th no operands,).4 F F1(local)144 326.4 Q F0 1.165
-(writes a list of local v)3.665 F 1.165
+314.4 Q F2(name)3.721 E F0 .861(to ha)3.541 F 1.161 -.15(ve a v)-.2 H
+.861(isible scope restricted to that function and its children.).15 F
+-.4(Wi)5.86 G .86(th no operands,).4 F F1(local)144 326.4 Q F0 1.164
+(writes a list of local v)3.664 F 1.165
 (ariables to the standard output.)-.25 F 1.165(It is an error to use)
-6.165 F F1(local)3.664 E F0 1.164(when not)3.664 F .232
-(within a function.)144 338.4 R .233(The return status is 0 unless)5.232
+6.165 F F1(local)3.665 E F0 1.165(when not)3.665 F .233
+(within a function.)144 338.4 R .233(The return status is 0 unless)5.233
 F F1(local)2.733 E F0 .233(is used outside a function, an in)2.733 F
--.25(va)-.4 G(lid).25 E F2(name)3.093 E F0(is)2.913 E(supplied, or)144
+-.25(va)-.4 G(lid).25 E F2(name)3.092 E F0(is)2.912 E(supplied, or)144
 350.4 Q F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F1
 (logout)108 367.2 Q F0(Exit a login shell.)9.33 E F1(map\214le)108 384 Q
 F0([)2.5 E F1<ad6e>A F2(count)2.5 E F0 2.5(][)C F1<ad4f>-2.5 E F2
@@ -7024,14 +7044,14 @@ F0([)2.5 E F1<ad6e>A F2(count)2.5 E F0 2.5(][)C F1<ad4f>-2.5 E F2
 -2.5 E F2(origin)2.5 E F0 2.5(][)C F1<ad73>-2.5 E F2(count)2.5 E F0 2.5
 (][)C F1<ad74>-2.5 E F0 2.5(][)C F1<ad75>-2.5 E F2(fd)2.5 E F0 2.5(][)C
 F1<ad43>-2.5 E F2(callbac)2.5 E(k)-.2 E F0 2.5(][)C F1<ad63>-2.5 E F2
-(quantum)2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0(])A .351
+(quantum)2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0(])A .35
 (Read lines from the standard input into the inde)144 408 R -.15(xe)-.15
-G 2.851(da).15 G .351(rray v)-2.851 F(ariable)-.25 E F2(arr)2.85 E(ay)
--.15 E F0 2.85(,o).32 G 2.85(rf)-2.85 G .35(rom \214le descriptor)-2.85
-F F2(fd)2.85 E F0 1.248(if the)144 420 R F1<ad75>3.748 E F0 1.248
-(option is supplied.)3.748 F 1.249(The v)6.249 F(ariable)-.25 E F3
-(MAPFILE)3.749 E F0 1.249(is the def)3.499 F(ault)-.1 E F2(arr)3.749 E
-(ay)-.15 E F0 6.249(.O)C 1.249(ptions, if supplied,)-6.249 F(ha)144 432
+G 2.851(da).15 G .351(rray v)-2.851 F(ariable)-.25 E F2(arr)2.851 E(ay)
+-.15 E F0 2.851(,o).32 G 2.851(rf)-2.851 G .351(rom \214le descriptor)
+-2.851 F F2(fd)2.851 E F0 1.249(if the)144 420 R F1<ad75>3.749 E F0
+1.249(option is supplied.)3.749 F 1.249(The v)6.249 F(ariable)-.25 E F3
+(MAPFILE)3.749 E F0 1.249(is the def)3.499 F(ault)-.1 E F2(arr)3.748 E
+(ay)-.15 E F0 6.248(.O)C 1.248(ptions, if supplied,)-6.248 F(ha)144 432
 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad6e>144
 444 Q F0(Cop)24.74 E 2.5(ya)-.1 G 2.5(tm)-2.5 G(ost)-2.5 E F2(count)2.7
 E F0 2.5(lines. If)3.18 F F2(count)2.5 E F0(is 0, all lines are copied.)
@@ -7047,33 +7067,33 @@ F0(Read lines from \214le descriptor)24.74 E F2(fd)2.5 E F0
 2.5 E F0(lines are read.)2.5 E(The)5 E F1<ad63>2.5 E F0
 (option speci\214es)2.5 E F2(quantum)2.5 E F0(.).32 E F1<ad63>144 516 Q
 F0(Specify the number of lines read between each call to)25.86 E F2
-(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 532.8 Q F1<ad43>2.968 E F0 .467
+(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 532.8 Q F1<ad43>2.967 E F0 .467
 (is speci\214ed without)2.967 F F1<ad63>2.967 E F0 2.967(,t)C .467
 (he def)-2.967 F .467(ault quantum is 5000.)-.1 F(When)5.467 E F2
 (callbac)2.967 E(k)-.2 E F0 .467(is e)2.967 F -.25(va)-.25 G .467
-(luated, it is sup-).25 F .261(plied the inde)144 544.8 R 2.761(xo)-.15
-G 2.761(ft)-2.761 G .261(he ne)-2.761 F .262(xt array element to be ass\
-igned and the line to be assigned to that element)-.15 F .275
-(as additional ar)144 556.8 R(guments.)-.18 E F2(callbac)5.275 E(k)-.2 E
-F0 .275(is e)2.775 F -.25(va)-.25 G .274
-(luated after the line is read b).25 F .274
+(luated, it is sup-).25 F .262(plied the inde)144 544.8 R 2.762(xo)-.15
+G 2.762(ft)-2.762 G .262(he ne)-2.762 F .261(xt array element to be ass\
+igned and the line to be assigned to that element)-.15 F .274
+(as additional ar)144 556.8 R(guments.)-.18 E F2(callbac)5.274 E(k)-.2 E
+F0 .274(is e)2.774 F -.25(va)-.25 G .274
+(luated after the line is read b).25 F .275
 (ut before the array element is)-.2 F(assigned.)144 568.8 Q
 (If not supplied with an e)144 585.6 Q(xplicit origin,)-.15 E F1
 (map\214le)2.5 E F0(will clear)2.5 E F2(arr)2.5 E(ay)-.15 E F0
-(before assigning to it.)2.5 E F1(map\214le)144 602.4 Q F0 1.905
-(returns successfully unless an in)4.405 F -.25(va)-.4 G 1.905
-(lid option or option ar).25 F 1.906(gument is supplied,)-.18 F F2(arr)
-4.406 E(ay)-.15 E F0(is)4.406 E(in)144 614.4 Q -.25(va)-.4 G
+(before assigning to it.)2.5 E F1(map\214le)144 602.4 Q F0 1.906
+(returns successfully unless an in)4.406 F -.25(va)-.4 G 1.905
+(lid option or option ar).25 F 1.905(gument is supplied,)-.18 F F2(arr)
+4.405 E(ay)-.15 E F0(is)4.405 E(in)144 614.4 Q -.25(va)-.4 G
 (lid or unassignable, or if).25 E F2(arr)2.5 E(ay)-.15 E F0
 (is not an inde)2.5 E -.15(xe)-.15 G 2.5(da).15 G(rray)-2.5 E(.)-.65 E
 F1(popd)108 631.2 Q F0<5bad>2.5 E F1(n)A F0 2.5(][)C(+)-2.5 E F2(n)A F0
-2.5(][)C<ad>-2.5 E F2(n)A F0(])A(Remo)144 643.2 Q -.15(ve)-.15 G 2.8(se)
-.15 G .3(ntries from the directory stack.)-2.8 F -.4(Wi)5.299 G .299
-(th no ar).4 F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15 G
-.299(he top directory from the)-2.799 F 1.478(stack, and performs a)144
-655.2 R F1(cd)3.978 E F0 1.479(to the ne)3.978 F 3.979(wt)-.25 G 1.479
-(op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.479
-(uments, if supplied, ha).18 F 1.779 -.15(ve t)-.2 H 1.479(he follo).15
+2.5(][)C<ad>-2.5 E F2(n)A F0(])A(Remo)144 643.2 Q -.15(ve)-.15 G 2.799
+(se).15 G .299(ntries from the directory stack.)-2.799 F -.4(Wi)5.299 G
+.299(th no ar).4 F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15
+G .3(he top directory from the)-2.799 F 1.479(stack, and performs a)144
+655.2 R F1(cd)3.979 E F0 1.479(to the ne)3.979 F 3.979(wt)-.25 G 1.479
+(op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.478
+(uments, if supplied, ha).18 F 1.778 -.15(ve t)-.2 H 1.478(he follo).15
 F(wing)-.25 E(meanings:)144 667.2 Q F1<ad6e>144 679.2 Q F0 .551
 (Suppresses the normal change of directory when remo)24.74 F .551
 (ving directories from the stack, so)-.15 F
@@ -7084,43 +7104,43 @@ F1(dirs)2.64 E F0 2.64(,s)C .14(tarting with zero.)-2.64 F -.15(Fo)180
 715.2 S 2.5(re).15 G(xample:)-2.65 E/F4 10/Courier@0 SF(popd +0)2.5 E F0
 (remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he \214rst directory)-2.5 E(,)
 -.65 E F4(popd +1)2.5 E F0(the second.)2.5 E(GNU Bash 4.2)72 768 Q
-(2011 July 7)151.505 E(59)200.665 E 0 Cg EP
+(2011 September 25)135.955 E(59)185.115 E 0 Cg EP
 %%Page: 60 60
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
 -.35 E/F1 10/Times-Bold@0 SF<ad>144 84 Q/F2 10/Times-Italic@0 SF(n)A F0
-(Remo)25.3 E -.15(ve)-.15 G 3.76(st).15 G(he)-3.76 E F2(n)3.76 E F0
-1.259(th entry counting from the right of the list sho)B 1.259(wn by)
--.25 F F1(dirs)3.759 E F0 3.759(,s)C 1.259(tarting with)-3.759 F 2.5
-(zero. F)180 96 R(or e)-.15 E(xample:)-.15 E/F3 10/Courier@0 SF(popd -0)
-2.5 E F0(remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he last directory)-2.5 E
-(,)-.65 E F3(popd -1)2.5 E F0(the ne)2.5 E(xt to last.)-.15 E .643
-(If the)144 112.8 R F1(popd)3.143 E F0 .643(command is successful, a)
-3.143 F F1(dirs)3.143 E F0 .644
-(is performed as well, and the return status is 0.)3.143 F F1(popd)5.644
-E F0 .416(returns f)144 124.8 R .416(alse if an in)-.1 F -.25(va)-.4 G
-.415(lid option is encountered, the directory stack is empty).25 F 2.915
-(,an)-.65 G(on-e)-2.915 E .415(xistent direc-)-.15 F
+(Remo)25.3 E -.15(ve)-.15 G 3.759(st).15 G(he)-3.759 E F2(n)3.759 E F0
+1.259(th entry counting from the right of the list sho)B 1.26(wn by)-.25
+F F1(dirs)3.76 E F0 3.76(,s)C 1.26(tarting with)-3.76 F 2.5(zero. F)180
+96 R(or e)-.15 E(xample:)-.15 E/F3 10/Courier@0 SF(popd -0)2.5 E F0
+(remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he last directory)-2.5 E(,)-.65
+E F3(popd -1)2.5 E F0(the ne)2.5 E(xt to last.)-.15 E .644(If the)144
+112.8 R F1(popd)3.144 E F0 .644(command is successful, a)3.144 F F1
+(dirs)3.143 E F0 .643(is performed as well, and the return status is 0.)
+3.143 F F1(popd)5.643 E F0 .415(returns f)144 124.8 R .415
+(alse if an in)-.1 F -.25(va)-.4 G .415
+(lid option is encountered, the directory stack is empty).25 F 2.916
+(,an)-.65 G(on-e)-2.916 E .416(xistent direc-)-.15 F
 (tory stack entry is speci\214ed, or the directory change f)144 136.8 Q
 (ails.)-.1 E F1(printf)108 153.6 Q F0([)2.5 E F1<ad76>A F2(var)2.5 E F0
-(])A F2(format)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A 1.436
-(Write the formatted)144 165.6 R F2(ar)3.936 E(guments)-.37 E F0 1.437
-(to the standard output under the control of the)3.936 F F2(format)3.937
-E F0 6.437(.T)C(he)-6.437 E F1<ad76>3.937 E F0 .126
+(])A F2(format)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A 1.437
+(Write the formatted)144 165.6 R F2(ar)3.937 E(guments)-.37 E F0 1.437
+(to the standard output under the control of the)3.937 F F2(format)3.936
+E F0 6.436(.T)C(he)-6.436 E F1<ad76>3.936 E F0 .126
 (option causes the output to be assigned to the v)144 177.6 R(ariable)
 -.25 E F2(var)2.626 E F0 .126(rather than being printed to the standard)
-2.626 F(output.)144 189.6 Q(The)144 213.6 Q F2(format)3.017 E F0 .517(i\
+2.626 F(output.)144 189.6 Q(The)144 213.6 Q F2(format)3.018 E F0 .517(i\
 s a character string which contains three types of objects: plain chara\
-cters, which are)3.017 F .704(simply copied to standard output, charact\
-er escape sequences, which are con)144 225.6 R -.15(ve)-.4 G .703
+cters, which are)3.018 F .704(simply copied to standard output, charact\
+er escape sequences, which are con)144 225.6 R -.15(ve)-.4 G .704
 (rted and copied to).15 F .036(the standard output, and format speci\
-\214cations, each of which causes printing of the ne)144 237.6 R .037
+\214cations, each of which causes printing of the ne)144 237.6 R .036
 (xt successi)-.15 F -.15(ve)-.25 G F2(ar)144 249.6 Q(gument)-.37 E F0
-5.532(.I)C 3.032(na)-5.532 G .532(ddition to the standard)-3.032 F F2
-(printf)3.032 E F0 .532(\(1\) format speci\214cations,)B F1(printf)3.031
-E F0 .531(interprets the follo)3.031 F(w-)-.25 E(ing e)144 261.6 Q
+5.531(.I)C 3.031(na)-5.531 G .531(ddition to the standard)-3.031 F F2
+(printf)3.032 E F0 .532(\(1\) format speci\214cations,)B F1(printf)3.032
+E F0 .532(interprets the follo)3.032 F(w-)-.25 E(ing e)144 261.6 Q
 (xtensions:)-.15 E F1(%b)144 273.6 Q F0(causes)20.44 E F1(printf)5.115 E
 F0 2.615(to e)5.115 F 2.615
 (xpand backslash escape sequences in the corresponding)-.15 F F2(ar)
@@ -7133,1322 +7153,1348 @@ E F0(,)A F1(\\")3.108 E F0 3.108(,a)C(nd)-3.108 E F1(\\?)3.108 E F0 .608
 20.44 E F1(printf)2.51 E F0 .01(to output the corresponding)2.51 F F2
 (ar)2.51 E(gument)-.37 E F0 .01(in a format that can be reused as shell)
 2.51 F(input.)180 321.6 Q F1(%\()144 333.6 Q F2(datefmt)A F1(\)T)A F0
-(causes)180 345.6 Q F1(printf)4.404 E F0 1.904
-(to output the date-time string resulting from using)4.404 F F2(datefmt)
-4.404 E F0 1.903(as a format)4.404 F .38(string for)180 357.6 R F2
+(causes)180 345.6 Q F1(printf)4.403 E F0 1.904
+(to output the date-time string resulting from using)4.403 F F2(datefmt)
+4.404 E F0 1.904(as a format)4.404 F .381(string for)180 357.6 R F2
 (strftime)2.881 E F0 2.881(\(3\). The)B(corresponding)2.881 E F2(ar)
 2.881 E(gument)-.37 E F0 .381(is an inte)2.881 F .381
-(ger representing the number)-.15 F .458(of seconds since the epoch.)180
+(ger representing the number)-.15 F .457(of seconds since the epoch.)180
 369.6 R -1 -.8(Tw o)5.458 H .458(special ar)3.758 F .458(gument v)-.18 F
 .458(alues may be used: -1 represents the)-.25 F
 (current time, and -2 represents the time the shell w)180 381.6 Q(as in)
--.1 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E(Ar)144 398.4 Q .463(guments to n\
-on-string format speci\214ers are treated as C constants, e)-.18 F .464
-(xcept that a leading plus or)-.15 F 1.259(minus sign is allo)144 410.4
+-.1 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E(Ar)144 398.4 Q .464(guments to n\
+on-string format speci\214ers are treated as C constants, e)-.18 F .463
+(xcept that a leading plus or)-.15 F 1.258(minus sign is allo)144 410.4
 R 1.259
 (wed, and if the leading character is a single or double quote, the v)
--.25 F 1.258(alue is the)-.25 F(ASCII v)144 422.4 Q(alue of the follo)
--.25 E(wing character)-.25 E(.)-.55 E(The)144 439.2 Q F2(format)3.423 E
-F0 .923(is reused as necessary to consume all of the)3.423 F F2(ar)3.423
+-.25 F 1.259(alue is the)-.25 F(ASCII v)144 422.4 Q(alue of the follo)
+-.25 E(wing character)-.25 E(.)-.55 E(The)144 439.2 Q F2(format)3.424 E
+F0 .923(is reused as necessary to consume all of the)3.424 F F2(ar)3.423
 E(guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F2(format)
-3.423 E F0 .924(requires more)3.424 F F2(ar)144 451.2 Q(guments)-.37 E
-F0 .033(than are supplied, the e)2.534 F .033
+3.423 E F0 .923(requires more)3.423 F F2(ar)144 451.2 Q(guments)-.37 E
+F0 .033(than are supplied, the e)2.533 F .033
 (xtra format speci\214cations beha)-.15 F .333 -.15(ve a)-.2 H 2.533(si)
-.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .033(alue or null string,)
+.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .034(alue or null string,)
 -.25 F(as appropriate, had been supplied.)144 463.2 Q(The return v)5 E
 (alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E F1(pushd)
 108 480 Q F0([)2.5 E F1<ad6e>A F0 2.5(][)C(+)-2.5 E F2(n)A F0 2.5(][)C
 <ad>-2.5 E F2(n)A F0(])A F1(pushd)108 492 Q F0([)2.5 E F1<ad6e>A F0 2.5
-(][)C F2(dir)-2.5 E F0(])A .639(Adds a directory to the top of the dire\
-ctory stack, or rotates the stack, making the ne)144 504 R 3.14(wt)-.25
-G .64(op of the)-3.14 F 1.316(stack the current w)144 516 R 1.316
-(orking directory)-.1 F 6.316(.W)-.65 G 1.315(ith no ar)-6.716 F 1.315
-(guments, e)-.18 F 1.315(xchanges the top tw)-.15 F 3.815(od)-.1 G 1.315
-(irectories and)-3.815 F .871
+(][)C F2(dir)-2.5 E F0(])A .64(Adds a directory to the top of the direc\
+tory stack, or rotates the stack, making the ne)144 504 R 3.139(wt)-.25
+G .639(op of the)-3.139 F 1.315(stack the current w)144 516 R 1.315
+(orking directory)-.1 F 6.315(.W)-.65 G 1.315(ith no ar)-6.715 F 1.315
+(guments, e)-.18 F 1.316(xchanges the top tw)-.15 F 3.816(od)-.1 G 1.316
+(irectories and)-3.816 F .872
 (returns 0, unless the directory stack is empty)144 528 R 5.871(.A)-.65
-G -.18(rg)-5.871 G .872(uments, if supplied, ha).18 F 1.172 -.15(ve t)
--.2 H .872(he follo).15 F .872(wing mean-)-.25 F(ings:)144 540 Q F1
+G -.18(rg)-5.871 G .871(uments, if supplied, ha).18 F 1.171 -.15(ve t)
+-.2 H .871(he follo).15 F .871(wing mean-)-.25 F(ings:)144 540 Q F1
 <ad6e>144 552 Q F0 .902(Suppresses the normal change of directory when \
 adding directories to the stack, so that)24.74 F
-(only the stack is manipulated.)180 564 Q F1(+)144 576 Q F2(n)A F0 1.267
-(Rotates the stack so that the)25.3 F F2(n)3.767 E F0 1.268
-(th directory \(counting from the left of the list sho)B 1.268(wn by)
+(only the stack is manipulated.)180 564 Q F1(+)144 576 Q F2(n)A F0 1.268
+(Rotates the stack so that the)25.3 F F2(n)3.768 E F0 1.267
+(th directory \(counting from the left of the list sho)B 1.267(wn by)
 -.25 F F1(dirs)180 588 Q F0 2.5(,s)C(tarting with zero\) is at the top.)
 -2.5 E F1<ad>144 600 Q F2(n)A F0 .92(Rotates the stack so that the)25.3
 F F2(n)3.42 E F0 .92
 (th directory \(counting from the right of the list sho)B .92(wn by)-.25
 F F1(dirs)180 612 Q F0 2.5(,s)C(tarting with zero\) is at the top.)-2.5
-E F2(dir)144.35 624 Q F0(Adds)23.98 E F2(dir)2.85 E F0
-(to the directory stack at the top, making it the ne)3.23 E 2.5(wc)-.25
-G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .488(If the)144 640.8
-R F1(pushd)2.988 E F0 .488(command is successful, a)2.988 F F1(dirs)
-2.988 E F0 .488(is performed as well.)2.988 F .489
-(If the \214rst form is used,)5.488 F F1(pushd)2.989 E F0 1.04
-(returns 0 unless the cd to)144 652.8 R F2(dir)3.89 E F0 -.1(fa)4.27 G
-3.539(ils. W).1 F 1.039(ith the second form,)-.4 F F1(pushd)3.539 E F0
-1.039(returns 0 unless the directory)3.539 F .846(stack is empty)144
-664.8 R 3.346(,an)-.65 G(on-e)-3.346 E .847(xistent directory stack ele\
-ment is speci\214ed, or the directory change to the)-.15 F
-(speci\214ed ne)144 676.8 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E
-(ails.)-.1 E F1(pwd)108 693.6 Q F0([)2.5 E F1(\255LP)A F0(])A .845
-(Print the absolute pathname of the current w)144 705.6 R .845
+E F2(dir)144.35 624 Q F0(Adds)23.98 E F2(dir)3.138 E F0 .288
+(to the directory stack at the top, making it the ne)3.518 F 2.787(wc)
+-.25 G .287(urrent w)-2.787 F .287(orking directory as)-.1 F
+(if it had been supplied as the ar)180 636 Q(gument to the)-.18 E F1(cd)
+2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .488(If the)144 652.8 R F1(pushd)2.988
+E F0 .488(command is successful, a)2.988 F F1(dirs)2.988 E F0 .488
+(is performed as well.)2.988 F .489(If the \214rst form is used,)5.488 F
+F1(pushd)2.989 E F0 1.04(returns 0 unless the cd to)144 664.8 R F2(dir)
+3.89 E F0 -.1(fa)4.27 G 3.539(ils. W).1 F 1.039(ith the second form,)-.4
+F F1(pushd)3.539 E F0 1.039(returns 0 unless the directory)3.539 F .846
+(stack is empty)144 676.8 R 3.346(,an)-.65 G(on-e)-3.346 E .847(xistent\
+ directory stack element is speci\214ed, or the directory change to the)
+-.15 F(speci\214ed ne)144 688.8 Q 2.5(wc)-.25 G(urrent directory f)-2.5
+E(ails.)-.1 E F1(pwd)108 705.6 Q F0([)2.5 E F1(\255LP)A F0(])A .845
+(Print the absolute pathname of the current w)144 717.6 R .845
 (orking directory)-.1 F 5.844(.T)-.65 G .844
 (he pathname printed contains no)-5.844 F .181(symbolic links if the)144
-717.6 R F1<ad50>2.681 E F0 .181(option is supplied or the)2.681 F F1
+729.6 R F1<ad50>2.681 E F0 .181(option is supplied or the)2.681 F F1
 .181(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F1
-(set)2.681 E F0 -.2(bu)2.681 G .182(iltin command is).2 F 3.264
-(enabled. If)144 729.6 R(the)3.264 E F1<ad4c>3.264 E F0 .763
-(option is used, the pathname printed may contain symbolic links.)3.264
-F .763(The return)5.763 F(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E
-(60)200.665 E 0 Cg EP
+(set)2.681 E F0 -.2(bu)2.681 G .182(iltin command is).2 F(GNU Bash 4.2)
+72 768 Q(2011 September 25)135.955 E(60)185.115 E 0 Cg EP
 %%Page: 61 61
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E 1.36(status is 0 unless an error occurs while reading the name o\
-f the current directory or an in)144 84 R -.25(va)-.4 G(lid).25 E
-(option is supplied.)144 96 Q/F1 10/Times-Bold@0 SF -.18(re)108 112.8 S
-(ad).18 E F0([)3.817 E F1(\255ers)A F0 3.817(][)C F1<ad61>-3.817 E/F2 10
+-.35 E 3.264(enabled. If)144 84 R(the)3.264 E/F1 10/Times-Bold@0 SF
+<ad4c>3.264 E F0 .763
+(option is used, the pathname printed may contain symbolic links.)3.264
+F .763(The return)5.763 F 1.36(status is 0 unless an error occurs while\
+ reading the name of the current directory or an in)144 96 R -.25(va)-.4
+G(lid).25 E(option is supplied.)144 108 Q F1 -.18(re)108 124.8 S(ad).18
+E F0([)3.817 E F1(\255ers)A F0 3.817(][)C F1<ad61>-3.817 E/F2 10
 /Times-Italic@0 SF(aname)3.817 E F0 3.817(][)C F1<ad64>-3.817 E F2
 (delim)3.817 E F0 3.817(][)C F1<ad69>-3.817 E F2(te)3.817 E(xt)-.2 E F0
 3.817(][)C F1<ad6e>-3.817 E F2(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816
 (][)C F1<ad4e>-3.816 E F2(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F1
 <ad70>-3.816 E F2(pr)3.816 E(ompt)-.45 E F0 3.816(][)C F1<ad74>-3.816 E
 F2(timeout)3.816 E F0 3.816(][)C F1<ad75>-3.816 E F2(fd)3.816 E F0(])A
-([)108 124.8 Q F2(name)A F0(...])2.5 E .516(One line is read from the s\
-tandard input, or from the \214le descriptor)144 136.8 R F2(fd)3.016 E
-F0 .516(supplied as an ar)3.016 F .516(gument to)-.18 F(the)144 148.8 Q
+([)108 136.8 Q F2(name)A F0(...])2.5 E .516(One line is read from the s\
+tandard input, or from the \214le descriptor)144 148.8 R F2(fd)3.016 E
+F0 .516(supplied as an ar)3.016 F .516(gument to)-.18 F(the)144 160.8 Q
 F1<ad75>2.538 E F0 .038(option, and the \214rst w)2.538 F .038
 (ord is assigned to the \214rst)-.1 F F2(name)2.539 E F0 2.539(,t).18 G
 .039(he second w)-2.539 F .039(ord to the second)-.1 F F2(name)2.539 E
-F0(,).18 E .42(and so on, with lefto)144 160.8 R -.15(ve)-.15 G 2.92(rw)
+F0(,).18 E .42(and so on, with lefto)144 172.8 R -.15(ve)-.15 G 2.92(rw)
 .15 G .42(ords and their interv)-3.02 F .42
 (ening separators assigned to the last)-.15 F F2(name)2.92 E F0 5.42(.I)
-.18 G 2.92(ft)-5.42 G(here)-2.92 E .54(are fe)144 172.8 R .54(wer w)-.25
+.18 G 2.92(ft)-5.42 G(here)-2.92 E .54(are fe)144 184.8 R .54(wer w)-.25
 F .541(ords read from the input stream than names, the remaining names \
-are assigned empty)-.1 F -.25(va)144 184.8 S 2.511(lues. The).25 F .011
+are assigned empty)-.1 F -.25(va)144 196.8 S 2.511(lues. The).25 F .011
 (characters in)2.511 F/F3 9/Times-Bold@0 SF(IFS)2.511 E F0 .011
 (are used to split the line into w)2.261 F 2.511(ords. The)-.1 F .011
 (backslash character \()2.511 F F1(\\)A F0 2.51(\)m)C(ay)-2.51 E 1.89
-(be used to remo)144 196.8 R 2.19 -.15(ve a)-.15 H 2.19 -.15(ny s).15 H
+(be used to remo)144 208.8 R 2.19 -.15(ve a)-.15 H 2.19 -.15(ny s).15 H
 1.891(pecial meaning for the ne).15 F 1.891
 (xt character read and for line continuation.)-.15 F
-(Options, if supplied, ha)144 208.8 Q .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F1<ad61>144 220.8 Q F2(aname)2.5 E F0 1.05(The w)
-180 232.8 R 1.049
+(Options, if supplied, ha)144 220.8 Q .3 -.15(ve t)-.2 H(he follo).15 E
+(wing meanings:)-.25 E F1<ad61>144 232.8 Q F2(aname)2.5 E F0 1.05(The w)
+180 244.8 R 1.049
 (ords are assigned to sequential indices of the array v)-.1 F(ariable)
 -.25 E F2(aname)3.549 E F0 3.549(,s).18 G 1.049(tarting at 0.)-3.549 F
-F2(aname)180.33 244.8 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5
+F2(aname)180.33 256.8 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5
 -.25(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F2(name)2.5 E F0
-(ar)2.5 E(guments are ignored.)-.18 E F1<ad64>144 256.8 Q F2(delim)2.5 E
-F0(The \214rst character of)180 268.8 Q F2(delim)2.5 E F0
+(ar)2.5 E(guments are ignored.)-.18 E F1<ad64>144 268.8 Q F2(delim)2.5 E
+F0(The \214rst character of)180 280.8 Q F2(delim)2.5 E F0
 (is used to terminate the input line, rather than ne)2.5 E(wline.)-.25 E
-F1<ad65>144 280.8 Q F0 .372
+F1<ad65>144 292.8 Q F0 .372
 (If the standard input is coming from a terminal,)25.86 F F1 -.18(re)
 2.873 G(adline).18 E F0(\(see)2.873 E F3(READLINE)2.873 E F0(abo)2.623 E
 -.15(ve)-.15 G 2.873(\)i).15 G 2.873(su)-2.873 G(sed)-2.873 E .218
-(to obtain the line.)180 292.8 R .218
+(to obtain the line.)180 304.8 R .218
 (Readline uses the current \(or def)5.218 F .218
 (ault, if line editing w)-.1 F .218(as not pre)-.1 F(viously)-.25 E
-(acti)180 304.8 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings.)-2.5 E
-F1<ad69>144 316.8 Q F2(te)2.5 E(xt)-.2 E F0(If)10.78 E F1 -.18(re)2.715
+(acti)180 316.8 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings.)-2.5 E
+F1<ad69>144 328.8 Q F2(te)2.5 E(xt)-.2 E F0(If)10.78 E F1 -.18(re)2.715
 G(adline).18 E F0 .216(is being used to read the line,)2.715 F F2(te)
 2.716 E(xt)-.2 E F0 .216(is placed into the editing b)2.716 F(uf)-.2 E
-.216(fer before edit-)-.25 F(ing be)180 328.8 Q(gins.)-.15 E F1<ad6e>144
-340.8 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 352.8 S(ad).18 E
+.216(fer before edit-)-.25 F(ing be)180 340.8 Q(gins.)-.15 E F1<ad6e>144
+352.8 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 364.8 S(ad).18 E
 F0 1.395(returns after reading)3.895 F F2(nc)3.895 E(har)-.15 E(s)-.1 E
 F0 1.395(characters rather than w)3.895 F 1.394
-(aiting for a complete line of)-.1 F(input, b)180 364.8 Q
+(aiting for a complete line of)-.1 F(input, b)180 376.8 Q
 (ut honor a delimiter if fe)-.2 E(wer than)-.25 E F2(nc)2.5 E(har)-.15 E
 (s)-.1 E F0(characters are read before the delimiter)2.5 E(.)-.55 E F1
-<ad4e>144 376.8 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 388.8 S
+<ad4e>144 388.8 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 400.8 S
 (ad).18 E F0 1.269(returns after reading e)3.769 F(xactly)-.15 E F2(nc)
 3.769 E(har)-.15 E(s)-.1 E F0 1.269(characters rather than w)3.769 F
 1.27(aiting for a complete)-.1 F .275
-(line of input, unless EOF is encountered or)180 400.8 R F1 -.18(re)
+(line of input, unless EOF is encountered or)180 412.8 R F1 -.18(re)
 2.775 G(ad).18 E F0 .274(times out.)2.774 F .274
 (Delimiter characters encoun-)5.274 F 1.002
-(tered in the input are not treated specially and do not cause)180 412.8
+(tered in the input are not treated specially and do not cause)180 424.8
 R F1 -.18(re)3.503 G(ad).18 E F0 1.003(to return until)3.503 F F2(nc)
-3.503 E(har)-.15 E(s)-.1 E F0(characters are read.)180 424.8 Q F1<ad70>
-144 436.8 Q F2(pr)2.5 E(ompt)-.45 E F0(Display)180 448.8 Q F2(pr)3.661 E
+3.503 E(har)-.15 E(s)-.1 E F0(characters are read.)180 436.8 Q F1<ad70>
+144 448.8 Q F2(pr)2.5 E(ompt)-.45 E F0(Display)180 460.8 Q F2(pr)3.661 E
 (ompt)-.45 E F0 1.161(on standard error)3.661 F 3.661(,w)-.4 G 1.161
 (ithout a trailing ne)-3.661 F 1.161(wline, before attempting to read)
--.25 F(an)180 460.8 Q 2.5(yi)-.15 G 2.5(nput. The)-2.5 F
+-.25 F(an)180 472.8 Q 2.5(yi)-.15 G 2.5(nput. The)-2.5 F
 (prompt is displayed only if input is coming from a terminal.)2.5 E F1
-<ad72>144 472.8 Q F0 .543(Backslash does not act as an escape character)
+<ad72>144 484.8 Q F0 .543(Backslash does not act as an escape character)
 25.86 F 5.543(.T)-.55 G .544(he backslash is considered to be part of)
--5.543 F(the line.)180 484.8 Q(In particular)5 E 2.5(,ab)-.4 G
+-5.543 F(the line.)180 496.8 Q(In particular)5 E 2.5(,ab)-.4 G
 (ackslash-ne)-2.5 E(wline pair may not be used as a line continuation.)
--.25 E F1<ad73>144 496.8 Q F0(Silent mode.)26.41 E
+-.25 E F1<ad73>144 508.8 Q F0(Silent mode.)26.41 E
 (If input is coming from a terminal, characters are not echoed.)5 E F1
-<ad74>144 508.8 Q F2(timeout)2.5 E F0(Cause)180 520.8 Q F1 -.18(re)3.549
+<ad74>144 520.8 Q F2(timeout)2.5 E F0(Cause)180 532.8 Q F1 -.18(re)3.549
 G(ad).18 E F0 1.048(to time out and return f)3.549 F 1.048
 (ailure if a complete line of input is not read within)-.1 F F2(timeout)
-180 532.8 Q F0(seconds.)3.496 E F2(timeout)5.996 E F0 .997
+180 544.8 Q F0(seconds.)3.496 E F2(timeout)5.996 E F0 .997
 (may be a decimal number with a fractional portion follo)3.496 F(wing)
--.25 E .576(the decimal point.)180 544.8 R .576(This option is only ef)
+-.25 E .576(the decimal point.)180 556.8 R .576(This option is only ef)
 5.576 F(fecti)-.25 E .876 -.15(ve i)-.25 H(f).15 E F1 -.18(re)3.076 G
 (ad).18 E F0 .576(is reading input from a terminal,)3.076 F .141
-(pipe, or other special \214le; it has no ef)180 556.8 R .142
+(pipe, or other special \214le; it has no ef)180 568.8 R .142
 (fect when reading from re)-.25 F .142(gular \214les.)-.15 F(If)5.142 E
-F2(timeout)2.642 E F0 .142(is 0,)2.642 F F1 -.18(re)180 568.8 S(ad).18 E
-F0 .113(returns success if input is a)2.614 F -.25(va)-.2 G .113
-(ilable on the speci\214ed \214le descriptor).25 F 2.613(,f)-.4 G .113
-(ailure otherwise.)-2.713 F(The e)180 580.8 Q
-(xit status is greater than 128 if the timeout is e)-.15 E(xceeded.)-.15
-E F1<ad75>144 592.8 Q F2(fd)2.5 E F0(Read input from \214le descriptor)
-14.46 E F2(fd)2.5 E F0(.)A .191(If no)144 609.6 R F2(names)3.051 E F0
-.191(are supplied, the line read is assigned to the v)2.961 F(ariable)
--.25 E F3(REPL)2.692 E(Y)-.828 E/F4 9/Times-Roman@0 SF(.)A F0 .192
-(The return code is zero,)4.692 F 1.344
-(unless end-of-\214le is encountered,)144 621.6 R F1 -.18(re)3.844 G(ad)
+F2(timeout)2.642 E F0 .142(is 0,)2.642 F F1 -.18(re)180 580.8 S(ad).18 E
+F0 .61(returns immediately)3.11 F 3.11(,w)-.65 G .61
+(ithout trying to read an)-3.11 F 3.11(yd)-.15 G 3.11(ata. The)-3.11 F
+-.15(ex)3.11 G .61(it statis is 0 if input is).15 F -.2(av)180 592.8 S
+1.223(ailable on the speci\214ed \214le descriptor)-.05 F 3.723(,n)-.4 G
+1.223(on-zero otherwise.)-3.723 F 1.224(The e)6.223 F 1.224
+(xit status is greater)-.15 F(than 128 if the timeout is e)180 604.8 Q
+(xceeded.)-.15 E F1<ad75>144 616.8 Q F2(fd)2.5 E F0
+(Read input from \214le descriptor)14.46 E F2(fd)2.5 E F0(.)A .192
+(If no)144 633.6 R F2(names)3.052 E F0 .192
+(are supplied, the line read is assigned to the v)2.962 F(ariable)-.25 E
+F3(REPL)2.691 E(Y)-.828 E/F4 9/Times-Roman@0 SF(.)A F0 .191
+(The return code is zero,)4.691 F 1.343
+(unless end-of-\214le is encountered,)144 645.6 R F1 -.18(re)3.843 G(ad)
 .18 E F0 1.343
-(times out \(in which case the return code is greater than)3.844 F
-(128\), or an in)144 633.6 Q -.25(va)-.4 G
+(times out \(in which case the return code is greater than)3.843 F
+(128\), or an in)144 657.6 Q -.25(va)-.4 G
 (lid \214le descriptor is supplied as the ar).25 E(gument to)-.18 E F1
-<ad75>2.5 E F0(.)A F1 -.18(re)108 650.4 S(adonly).18 E F0([)2.5 E F1
+<ad75>2.5 E F0(.)A F1 -.18(re)108 674.4 S(adonly).18 E F0([)2.5 E F1
 (\255aAf)A F0 2.5(][)C F1<ad70>-2.5 E F0 2.5(][)C F2(name)-2.5 E F0([=)A
-F2(wor)A(d)-.37 E F0 2.5(].)C(..])-2.5 E .77(The gi)144 662.4 R -.15(ve)
+F2(wor)A(d)-.37 E F0 2.5(].)C(..])-2.5 E .77(The gi)144 686.4 R -.15(ve)
 -.25 G(n).15 E F2(names)3.27 E F0 .77(are mark)3.27 F .77
 (ed readonly; the v)-.1 F .77(alues of these)-.25 F F2(names)3.63 E F0
-.77(may not be changed by subse-)3.54 F 1.097(quent assignment.)144
-674.4 R 1.097(If the)6.097 F F1<ad66>3.597 E F0 1.097
-(option is supplied, the functions corresponding to the)3.597 F F2
-(names)3.596 E F0 1.096(are so)3.596 F(mark)144 686.4 Q 3.334(ed. The)
+.77(may not be changed by subse-)3.54 F 1.096(quent assignment.)144
+698.4 R 1.096(If the)6.096 F F1<ad66>3.596 E F0 1.097
+(option is supplied, the functions corresponding to the)3.596 F F2
+(names)3.597 E F0 1.097(are so)3.597 F(mark)144 710.4 Q 3.334(ed. The)
 -.1 F F1<ad61>3.334 E F0 .834(option restricts the v)3.334 F .834
 (ariables to inde)-.25 F -.15(xe)-.15 G 3.334(da).15 G .834(rrays; the)
 -3.334 F F1<ad41>3.334 E F0 .834(option restricts the v)3.334 F(ari-)
--.25 E .777(ables to associati)144 698.4 R 1.077 -.15(ve a)-.25 H 3.277
-(rrays. If).15 F .777(both options are supplied,)3.277 F F1<ad41>3.277 E
-F0(tak)3.277 E .776(es precedence.)-.1 F .776(If no)5.776 F F2(name)
-3.636 E F0(ar)3.456 E(gu-)-.18 E .521(ments are gi)144 710.4 R -.15(ve)
--.25 G .521(n, or if the).15 F F1<ad70>3.021 E F0 .521
-(option is supplied, a list of all readonly names is printed.)3.021 F
-.522(The other)5.521 F .295(options may be used to restrict the output \
-to a subset of the set of readonly names.)144 722.4 R(The)5.295 E F1
-<ad70>2.795 E F0(option)2.795 E(GNU Bash 4.2)72 768 Q(2011 July 7)
-151.505 E(61)200.665 E 0 Cg EP
+-.25 E 2.505(ables to associati)144 722.4 R 2.805 -.15(ve a)-.25 H 5.005
+(rrays. If).15 F 2.505(both options are supplied,)5.005 F F1<ad41>5.005
+E F0(tak)5.005 E 2.505(es precedence.)-.1 F 2.505(If no)7.505 F F2(name)
+5.365 E F0(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(61)185.115
+E 0 Cg EP
 %%Page: 62 62
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .786
-(causes output to be displayed in a format that may be reused as input.)
-144 84 R .786(If a v)5.786 F .786(ariable name is fol-)-.25 F(lo)144 96
-Q .718(wed by =)-.25 F/F1 10/Times-Italic@0 SF(wor)A(d)-.37 E F0 3.218
-(,t)C .718(he v)-3.218 F .718(alue of the v)-.25 F .718
-(ariable is set to)-.25 F F1(wor)3.218 E(d)-.37 E F0 5.718(.T)C .718
-(he return status is 0 unless an in)-5.718 F -.25(va)-.4 G(lid).25 E .26
-(option is encountered, one of the)144 108 R F1(names)3.12 E F0 .26
+-.35 E(ar)144 84 Q .854(guments are gi)-.18 F -.15(ve)-.25 G .854
+(n, or if the).15 F/F1 10/Times-Bold@0 SF<ad70>3.354 E F0 .853
+(option is supplied, a list of all readonly names is printed.)3.353 F
+(The)5.853 E .559(other options may be used to restrict the output to a\
+ subset of the set of readonly names.)144 96 R(The)5.559 E F1<ad70>3.059
+E F0 .201(option causes output to be displayed in a format that may be \
+reused as input.)144 108 R .2(If a v)5.2 F .2(ariable name is)-.25 F
+(follo)144 120 Q .133(wed by =)-.25 F/F2 10/Times-Italic@0 SF(wor)A(d)
+-.37 E F0 2.633(,t)C .133(he v)-2.633 F .133(alue of the v)-.25 F .133
+(ariable is set to)-.25 F F2(wor)2.633 E(d)-.37 E F0 5.133(.T)C .133
+(he return status is 0 unless an in)-5.133 F -.25(va)-.4 G(lid).25 E .26
+(option is encountered, one of the)144 132 R F2(names)3.12 E F0 .26
 (is not a v)3.03 F .26(alid shell v)-.25 F .26(ariable name, or)-.25 F
-/F2 10/Times-Bold@0 SF<ad66>2.76 E F0 .26(is supplied with a)2.76 F F1
-(name)144.36 120 Q F0(that is not a function.)2.68 E F2 -.18(re)108
-136.8 S(tur).18 E(n)-.15 E F0([)2.5 E F1(n)A F0(])A .587
-(Causes a function to e)144 148.8 R .587(xit with the return v)-.15 F
-.587(alue speci\214ed by)-.25 F F1(n)3.087 E F0 5.587(.I).24 G(f)-5.587
-E F1(n)3.447 E F0 .586(is omitted, the return status is)3.327 F 1.335
-(that of the last command e)144 160.8 R -.15(xe)-.15 G 1.335
-(cuted in the function body).15 F 6.335(.I)-.65 G 3.835(fu)-6.335 G
-1.335(sed outside a function, b)-3.835 F 1.335(ut during)-.2 F -.15(exe)
-144 172.8 S .794(cution of a script by the).15 F F2(.)3.294 E F0(\()
-5.794 E F2(sour)A(ce)-.18 E F0 3.294(\)c)C .794
-(ommand, it causes the shell to stop e)-3.294 F -.15(xe)-.15 G .794
-(cuting that script).15 F .245(and return either)144 184.8 R F1(n)3.105
-E F0 .246(or the e)2.985 F .246(xit status of the last command e)-.15 F
--.15(xe)-.15 G .246(cuted within the script as the e).15 F .246
-(xit sta-)-.15 F .082(tus of the script.)144 196.8 R .082
-(If used outside a function and not during e)5.082 F -.15(xe)-.15 G .082
-(cution of a script by).15 F F2(.)2.582 E F0 2.581(,t).833 G .081
-(he return sta-)-2.581 F 2.305(tus is f)144 208.8 R 4.805(alse. An)-.1 F
-4.805(yc)-.15 G 2.305(ommand associated with the)-4.805 F F2(RETURN)
-4.805 E F0 2.306(trap is e)4.806 F -.15(xe)-.15 G 2.306(cuted before e)
-.15 F -.15(xe)-.15 G(cution).15 E(resumes after the function or script.)
-144 220.8 Q F2(set)108 237.6 Q F0([)2.5 E F2
-(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F2<ad6f>-2.5 E F1
-(option\255name)2.5 E F0 2.5(][)C F1(ar)-2.5 E(g)-.37 E F0(...])2.5 E F2
-(set)108 249.6 Q F0([)2.5 E F2(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F2(+o)
--2.5 E F1(option\255name)2.5 E F0 2.5(][)C F1(ar)-2.5 E(g)-.37 E F0
-(...])2.5 E -.4(Wi)144 261.6 S .836(thout options, the name and v).4 F
-.835(alue of each shell v)-.25 F .835
+F1<ad66>2.76 E F0 .26(is supplied with a)2.76 F F2(name)144.36 144 Q F0
+(that is not a function.)2.68 E F1 -.18(re)108 160.8 S(tur).18 E(n)-.15
+E F0([)2.5 E F2(n)A F0(])A .02(Causes a function to stop e)144 172.8 R
+-.15(xe)-.15 G .02(cuting and return the v).15 F .021
+(alue speci\214ed by)-.25 F F2(n)2.881 E F0 .021(to its caller)2.761 F
+5.021(.I)-.55 G(f)-5.021 E F2(n)2.881 E F0 .021(is omitted,)2.761 F .469
+(the return status is that of the last command e)144 184.8 R -.15(xe)
+-.15 G .469(cuted in the function body).15 F 5.469(.I)-.65 G(f)-5.469 E
+F1 -.18(re)2.969 G(tur).18 E(n)-.15 E F0 .468(is used out-)2.969 F .466
+(side a function, b)144 196.8 R .466(ut during e)-.2 F -.15(xe)-.15 G
+.467(cution of a script by the).15 F F1(.)2.967 E F0(\()5.467 E F1(sour)
+A(ce)-.18 E F0 2.967(\)c)C .467(ommand, it causes the shell to)-2.967 F
+.088(stop e)144 208.8 R -.15(xe)-.15 G .087
+(cuting that script and return either).15 F F2(n)2.947 E F0 .087
+(or the e)2.827 F .087(xit status of the last command e)-.15 F -.15(xe)
+-.15 G .087(cuted within).15 F .621(the script as the e)144 220.8 R .621
+(xit status of the script.)-.15 F .622(The return status is non-zero if)
+5.622 F F1 -.18(re)3.122 G(tur).18 E(n)-.15 E F0 .622(is used outside a)
+3.122 F .87(function and not during e)144 232.8 R -.15(xe)-.15 G .869
+(cution of a script by).15 F F1(.)3.369 E F0(or)4.202 E F1(sour)3.369 E
+(ce)-.18 E F0 5.869(.A)C 1.169 -.15(ny c)-5.869 H .869
+(ommand associated with the).15 F F1(RETURN)144 244.8 Q F0(trap is e)2.5
+E -.15(xe)-.15 G(cuted before e).15 E -.15(xe)-.15 G
+(cution resumes after the function or script.).15 E F1(set)108 261.6 Q
+F0([)2.5 E F1(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1<ad6f>-2.5 E
+F2(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E
+F1(set)108 273.6 Q F0([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1
+(+o)-2.5 E F2(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0
+(...])2.5 E -.4(Wi)144 285.6 S .835(thout options, the name and v).4 F
+.835(alue of each shell v)-.25 F .836
 (ariable are displayed in a format that can be)-.25 F .784
-(reused as input for setting or resetting the currently-set v)144 273.6
-R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .784
-(riables cannot be).25 F 2.947(reset. In)144 285.6 R F1 .447(posix mode)
-2.947 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447
+(reused as input for setting or resetting the currently-set v)144 297.6
+R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .783
+(riables cannot be).25 F 2.946(reset. In)144 309.6 R F2 .447(posix mode)
+2.946 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447
 (ariables are listed.)-.25 F .447
-(The output is sorted according to the current)5.447 F 3.53
-(locale. When)144 297.6 R 1.031(options are speci\214ed, the)3.53 F
-3.531(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.531(utes. An)
--.2 F 3.531(ya)-.15 G -.18(rg)-3.531 G 1.031(uments remaining).18 F
-1.624(after option processing are treated as v)144 309.6 R 1.623
+(The output is sorted according to the current)5.447 F 3.531
+(locale. When)144 321.6 R 1.031(options are speci\214ed, the)3.531 F
+3.531(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.53(utes. An)
+-.2 F 3.53(ya)-.15 G -.18(rg)-3.53 G 1.03(uments remaining).18 F 1.623
+(after option processing are treated as v)144 333.6 R 1.624
 (alues for the positional parameters and are assigned, in)-.25 F(order)
-144 321.6 Q 2.5(,t)-.4 G(o)-2.5 E F2($1)2.5 E F0(,)A F2($2)2.5 E F0(,)A
-F2 2.5(... $)2.5 F F1(n)A F0 5(.O)C(ptions, if speci\214ed, ha)-5 E .3
--.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F2<ad61>144 333.6 Q
-F0 .539(Automatically mark v)29.3 F .539
-(ariables and functions which are modi\214ed or created for e)-.25 F .54
-(xport to)-.15 F(the en)184 345.6 Q(vironment of subsequent commands.)
--.4 E F2<ad62>144 357.6 Q F0 .132
+144 345.6 Q 2.5(,t)-.4 G(o)-2.5 E F1($1)2.5 E F0(,)A F1($2)2.5 E F0(,)A
+F1 2.5(... $)2.5 F F2(n)A F0 5(.O)C(ptions, if speci\214ed, ha)-5 E .3
+-.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad61>144 357.6 Q
+F0 .54(Automatically mark v)29.3 F .539
+(ariables and functions which are modi\214ed or created for e)-.25 F
+.539(xport to)-.15 F(the en)184 369.6 Q
+(vironment of subsequent commands.)-.4 E F1<ad62>144 381.6 Q F0 .131
 (Report the status of terminated background jobs immediately)28.74 F
-2.632(,r)-.65 G .131(ather than before the ne)-2.632 F(xt)-.15 E
-(primary prompt.)184 369.6 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)
--.25 H(nly when job control is enabled.).15 E F2<ad65>144 381.6 Q F0 .51
-(Exit immediately if a)29.86 F F1(pipeline)3.01 E F0 .511
-(\(which may consist of a single)3.011 F F1 .511(simple command)3.011 F
-F0 3.011(\), a)B F1(sub-)3.011 E(shell)184 393.6 Q F0 .872
-(command enclosed in parentheses, or one of the commands e)3.373 F -.15
-(xe)-.15 G .872(cuted as part of a).15 F .399
-(command list enclosed by braces \(see)184 405.6 R/F3 9/Times-Bold@0 SF
-.399(SHELL GRAMMAR)2.899 F F0(abo)2.649 E -.15(ve)-.15 G 2.899(\)e).15 G
-.399(xits with a non-zero)-3.049 F 3.969(status. The)184 417.6 R 1.468
-(shell does not e)3.969 F 1.468(xit if the command that f)-.15 F 1.468
-(ails is part of the command list)-.1 F .569(immediately follo)184 429.6
-R .569(wing a)-.25 F F2(while)3.069 E F0(or)3.069 E F2(until)3.069 E F0
--.1(ke)3.069 G(yw)-.05 E .569(ord, part of the test follo)-.1 F .57
-(wing the)-.25 F F2(if)3.07 E F0(or)3.07 E F2(elif)3.07 E F0(reserv)184
-441.6 Q .91(ed w)-.15 F .91(ords, part of an)-.1 F 3.41(yc)-.15 G .909
-(ommand e)-3.41 F -.15(xe)-.15 G .909(cuted in a).15 F F2(&&)3.409 E F0
-(or)3.409 E F2(||)3.409 E F0 .909(list e)3.409 F .909(xcept the command)
--.15 F(follo)184 453.6 Q .049(wing the \214nal)-.25 F F2(&&)2.549 E F0
-(or)2.549 E F2(||)2.549 E F0 2.549(,a)C .349 -.15(ny c)-2.549 H .049
-(ommand in a pipeline b).15 F .05(ut the last, or if the command')-.2 F
-(s)-.55 E .373(return v)184 465.6 R .373(alue is being in)-.25 F -.15
-(ve)-.4 G .373(rted with).15 F F2(!)2.873 E F0 5.372(.A)C .372(trap on)
--2.5 F F2(ERR)2.872 E F0 2.872(,i)C 2.872(fs)-2.872 G .372(et, is e)
--2.872 F -.15(xe)-.15 G .372(cuted before the shell).15 F -.15(ex)184
-477.6 S 2.896(its. This).15 F .397(option applies to the shell en)2.896
-F .397(vironment and each subshell en)-.4 F .397(vironment sepa-)-.4 F
-.191(rately \(see)184 489.6 R F3 .19(COMMAND EXECUTION ENVIR)2.691 F
-(ONMENT)-.27 E F0(abo)2.44 E -.15(ve)-.15 G .19
-(\), and may cause subshells).15 F(to e)184 501.6 Q(xit before e)-.15 E
--.15(xe)-.15 G(cuting all the commands in the subshell.).15 E F2<ad66>
-144 513.6 Q F0(Disable pathname e)30.97 E(xpansion.)-.15 E F2<ad68>144
-525.6 Q F0 2.238(Remember the location of commands as the)28.74 F 4.738
-(ya)-.15 G 2.239(re look)-4.738 F 2.239(ed up for e)-.1 F -.15(xe)-.15 G
-4.739(cution. This).15 F(is)4.739 E(enabled by def)184 537.6 Q(ault.)-.1
-E F2<ad6b>144 549.6 Q F0 .514(All ar)28.74 F .514
+2.632(,r)-.65 G .132(ather than before the ne)-2.632 F(xt)-.15 E
+(primary prompt.)184 393.6 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)
+-.25 H(nly when job control is enabled.).15 E F1<ad65>144 405.6 Q F0
+.088(Exit immediately if a)29.86 F F2(pipeline)2.588 E F0 .087
+(\(which may consist of a single)2.588 F F2 .087(simple command)2.587 F
+F0 .087(\), a)B F2(list)2.587 E F0 2.587(,o)C(r)-2.587 E(a)184 417.6 Q
+F2 1.293(compound command)3.793 F F0(\(see)3.793 E/F3 9/Times-Bold@0 SF
+1.293(SHELL GRAMMAR)3.793 F F0(abo)3.544 E -.15(ve)-.15 G 3.794(\), e)
+.15 F 1.294(xits with a non-zero status.)-.15 F .08
+(The shell does not e)184 429.6 R .079(xit if the command that f)-.15 F
+.079(ails is part of the command list immediately)-.1 F(follo)184 441.6
+Q 1.654(wing a)-.25 F F1(while)4.154 E F0(or)4.154 E F1(until)4.154 E F0
+-.1(ke)4.154 G(yw)-.05 E 1.655(ord, part of the test follo)-.1 F 1.655
+(wing the)-.25 F F1(if)4.155 E F0(or)4.155 E F1(elif)4.155 E F0(reserv)
+4.155 E(ed)-.15 E -.1(wo)184 453.6 S .582(rds, part of an).1 F 3.082(yc)
+-.15 G .582(ommand e)-3.082 F -.15(xe)-.15 G .581(cuted in a).15 F F1
+(&&)3.081 E F0(or)3.081 E F1(||)3.081 E F0 .581(list e)3.081 F .581
+(xcept the command follo)-.15 F(wing)-.25 E .917(the \214nal)184 465.6 R
+F1(&&)3.417 E F0(or)3.417 E F1(||)3.417 E F0 3.417(,a)C 1.217 -.15(ny c)
+-3.417 H .918(ommand in a pipeline b).15 F .918
+(ut the last, or if the command')-.2 F 3.418(sr)-.55 G(eturn)-3.418 E
+-.25(va)184 477.6 S .661(lue is being in).25 F -.15(ve)-.4 G .661
+(rted with).15 F F1(!)3.161 E F0 5.661(.I)C 3.161(fac)-5.661 G .66
+(ompound command other than a subshell returns a)-3.161 F 1.112
+(non-zero status because a command f)184 489.6 R 1.112(ailed while)-.1 F
+F1<ad65>3.612 E F0 -.1(wa)3.612 G 3.612(sb).1 G 1.113
+(eing ignored, the shell does)-3.612 F .178(not e)184 501.6 R 2.678
+(xit. A)-.15 F .178(trap on)2.678 F F1(ERR)2.678 E F0 2.678(,i)C 2.678
+(fs)-2.678 G .178(et, is e)-2.678 F -.15(xe)-.15 G .178
+(cuted before the shell e).15 F 2.677(xits. This)-.15 F .177
+(option applies to)2.677 F .617(the shell en)184 513.6 R .617
+(vironment and each subshell en)-.4 F .617(vironment separately \(see)
+-.4 F F3 .618(COMMAND EXE-)3.118 F .643(CUTION ENVIR)184 525.6 R(ONMENT)
+-.27 E F0(abo)2.893 E -.15(ve)-.15 G .643
+(\), and may cause subshells to e).15 F .643(xit before e)-.15 F -.15
+(xe)-.15 G .642(cuting all).15 F(the commands in the subshell.)184 537.6
+Q F1<ad66>144 549.6 Q F0(Disable pathname e)30.97 E(xpansion.)-.15 E F1
+<ad68>144 561.6 Q F0 2.238(Remember the location of commands as the)
+28.74 F 4.738(ya)-.15 G 2.239(re look)-4.738 F 2.239(ed up for e)-.1 F
+-.15(xe)-.15 G 4.739(cution. This).15 F(is)4.739 E(enabled by def)184
+573.6 Q(ault.)-.1 E F1<ad6b>144 585.6 Q F0 .514(All ar)28.74 F .514
 (guments in the form of assignment statements are placed in the en)-.18
 F .513(vironment for a)-.4 F
-(command, not just those that precede the command name.)184 561.6 Q F2
-<ad6d>144 573.6 Q F0 .148(Monitor mode.)25.97 F .148
+(command, not just those that precede the command name.)184 597.6 Q F1
+<ad6d>144 609.6 Q F0 .148(Monitor mode.)25.97 F .148
 (Job control is enabled.)5.148 F .149(This option is on by def)5.148 F
 .149(ault for interacti)-.1 F .449 -.15(ve s)-.25 H(hells).15 E .651
-(on systems that support it \(see)184 585.6 R F3 .651(JOB CONTR)3.151 F
+(on systems that support it \(see)184 621.6 R F3 .651(JOB CONTR)3.151 F
 (OL)-.27 E F0(abo)2.901 E -.15(ve)-.15 G 3.151(\). All).15 F .65
-(processes run in a separate)3.151 F .678(process group.)184 597.6 R
+(processes run in a separate)3.151 F .678(process group.)184 633.6 R
 .679(When a background job completes, the shell prints a line containin\
-g its)5.678 F -.15(ex)184 609.6 S(it status.).15 E F2<ad6e>144 621.6 Q
+g its)5.678 F -.15(ex)184 645.6 S(it status.).15 E F1<ad6e>144 657.6 Q
 F0 .653(Read commands b)28.74 F .653(ut do not e)-.2 F -.15(xe)-.15 G
 .653(cute them.).15 F .652(This may be used to check a shell script for)
-5.653 F(syntax errors.)184 633.6 Q(This is ignored by interacti)5 E .3
--.15(ve s)-.25 H(hells.).15 E F2<ad6f>144 645.6 Q F1(option\255name)2.5
-E F0(The)184 657.6 Q F1(option\255name)2.5 E F0(can be one of the follo)
-2.5 E(wing:)-.25 E F2(allexport)184 669.6 Q F0(Same as)224 681.6 Q F2
-<ad61>2.5 E F0(.)A F2(braceexpand)184 693.6 Q F0(Same as)224 705.6 Q F2
-<ad42>2.5 E F0(.)A F2(emacs)184 717.6 Q F0 .089
-(Use an emacs-style command line editing interf)13.9 F 2.589(ace. This)
--.1 F .089(is enabled by def)2.589 F(ault)-.1 E .95
-(when the shell is interacti)224 729.6 R -.15(ve)-.25 G 3.45(,u).15 G
-.95(nless the shell is started with the)-3.45 F F2(\255\255noediting)
-3.45 E F0(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(62)200.665 E 0 Cg
-EP
+5.653 F(syntax errors.)184 669.6 Q(This is ignored by interacti)5 E .3
+-.15(ve s)-.25 H(hells.).15 E F1<ad6f>144 681.6 Q F2(option\255name)2.5
+E F0(The)184 693.6 Q F2(option\255name)2.5 E F0(can be one of the follo)
+2.5 E(wing:)-.25 E F1(allexport)184 705.6 Q F0(Same as)224 717.6 Q F1
+<ad61>2.5 E F0(.)A(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(62)
+185.115 E 0 Cg EP
 %%Page: 63 63
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E 2.5(option. This)224 84 R(also af)2.5 E(fects the editing interf)
--.25 E(ace used for)-.1 E/F1 10/Times-Bold@0 SF -.18(re)2.5 G(ad \255e)
-.18 E F0(.)A F1(err)184 96 Q(exit)-.18 E F0(Same as)11.31 E F1<ad65>2.5
-E F0(.)A F1(errtrace)184 108 Q F0(Same as)5.03 E F1<ad45>2.5 E F0(.)A F1
-(functrace)184 120 Q F0(Same as)224 132 Q F1<ad54>2.5 E F0(.)A F1
-(hashall)184 144 Q F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1(histexpand)
-184 156 Q F0(Same as)224 168 Q F1<ad48>2.5 E F0(.)A F1(history)184 180 Q
-F0 .586(Enable command history)10 F 3.087(,a)-.65 G 3.087(sd)-3.087 G
-.587(escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder).15 E/F2 9
+-.35 E/F1 10/Times-Bold@0 SF(braceexpand)184 84 Q F0(Same as)224 96 Q F1
+<ad42>2.5 E F0(.)A F1(emacs)184 108 Q F0 .089
+(Use an emacs-style command line editing interf)13.9 F 2.589(ace. This)
+-.1 F .089(is enabled by def)2.589 F(ault)-.1 E .95
+(when the shell is interacti)224 120 R -.15(ve)-.25 G 3.45(,u).15 G .95
+(nless the shell is started with the)-3.45 F F1(\255\255noediting)3.45 E
+F0 2.5(option. This)224 132 R(also af)2.5 E(fects the editing interf)
+-.25 E(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1(err)
+184 144 Q(exit)-.18 E F0(Same as)11.31 E F1<ad65>2.5 E F0(.)A F1
+(errtrace)184 156 Q F0(Same as)5.03 E F1<ad45>2.5 E F0(.)A F1(functrace)
+184 168 Q F0(Same as)224 180 Q F1<ad54>2.5 E F0(.)A F1(hashall)184 192 Q
+F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1(histexpand)184 204 Q F0
+(Same as)224 216 Q F1<ad48>2.5 E F0(.)A F1(history)184 228 Q F0 .586
+(Enable command history)10 F 3.087(,a)-.65 G 3.087(sd)-3.087 G .587
+(escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder).15 E/F2 9
 /Times-Bold@0 SF(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F3 9/Times-Roman@0 SF
-(.)A F0 .587(This option is)5.087 F(on by def)224 192 Q
+(.)A F0 .587(This option is)5.087 F(on by def)224 240 Q
 (ault in interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184
-204 Q(eeof)-.18 E F0 1.657(The ef)224 216 R 1.657
+252 Q(eeof)-.18 E F0 1.657(The ef)224 264 R 1.657
 (fect is as if the shell command)-.25 F/F4 10/Courier@0 SF(IGNOREEOF=10)
 4.156 E F0 1.656(had been e)4.156 F -.15(xe)-.15 G(cuted).15 E(\(see)224
-228 Q F1(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15(ve)-.15 G(\).)
-.15 E F1 -.1(ke)184 240 S(yw).1 E(ord)-.1 E F0(Same as)224 252 Q F1
-<ad6b>2.5 E F0(.)A F1(monitor)184 264 Q F0(Same as)5.56 E F1<ad6d>2.5 E
-F0(.)A F1(noclob)184 276 Q(ber)-.1 E F0(Same as)224 288 Q F1<ad43>2.5 E
-F0(.)A F1(noexec)184 300 Q F0(Same as)11.12 E F1<ad6e>2.5 E F0(.)A F1
-(noglob)184 312 Q F0(Same as)11.1 E F1<ad66>2.5 E F0(.)A F1(nolog)184
-324 Q F0(Currently ignored.)16.66 E F1(notify)184 336 Q F0(Same as)15 E
-F1<ad62>2.5 E F0(.)A F1(nounset)184 348 Q F0(Same as)6.66 E F1<ad75>2.5
-E F0(.)A F1(onecmd)184 360 Q F0(Same as)6.67 E F1<ad74>2.5 E F0(.)A F1
-(ph)184 372 Q(ysical)-.15 E F0(Same as)5.14 E F1<ad50>2.5 E F0(.)A F1
-(pipefail)184 384 Q F0 1.029(If set, the return v)7.77 F 1.029
+276 Q F1(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15(ve)-.15 G(\).)
+.15 E F1 -.1(ke)184 288 S(yw).1 E(ord)-.1 E F0(Same as)224 300 Q F1
+<ad6b>2.5 E F0(.)A F1(monitor)184 312 Q F0(Same as)5.56 E F1<ad6d>2.5 E
+F0(.)A F1(noclob)184 324 Q(ber)-.1 E F0(Same as)224 336 Q F1<ad43>2.5 E
+F0(.)A F1(noexec)184 348 Q F0(Same as)11.12 E F1<ad6e>2.5 E F0(.)A F1
+(noglob)184 360 Q F0(Same as)11.1 E F1<ad66>2.5 E F0(.)A F1(nolog)184
+372 Q F0(Currently ignored.)16.66 E F1(notify)184 384 Q F0(Same as)15 E
+F1<ad62>2.5 E F0(.)A F1(nounset)184 396 Q F0(Same as)6.66 E F1<ad75>2.5
+E F0(.)A F1(onecmd)184 408 Q F0(Same as)6.67 E F1<ad74>2.5 E F0(.)A F1
+(ph)184 420 Q(ysical)-.15 E F0(Same as)5.14 E F1<ad50>2.5 E F0(.)A F1
+(pipefail)184 432 Q F0 1.029(If set, the return v)7.77 F 1.029
 (alue of a pipeline is the v)-.25 F 1.03
-(alue of the last \(rightmost\) com-)-.25 F 1.137(mand to e)224 396 R
+(alue of the last \(rightmost\) com-)-.25 F 1.137(mand to e)224 444 R
 1.136
 (xit with a non-zero status, or zero if all commands in the pipeline)
--.15 F -.15(ex)224 408 S(it successfully).15 E 5(.T)-.65 G
-(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 420 Q F0
+-.15 F -.15(ex)224 456 S(it successfully).15 E 5(.T)-.65 G
+(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 468 Q F0
 2.09(Change the beha)17.77 F 2.091(vior of)-.2 F F1(bash)4.591 E F0
 2.091(where the def)4.591 F 2.091(ault operation dif)-.1 F 2.091
-(fers from the)-.25 F(POSIX standard to match the standard \()224 432 Q
-/F5 10/Times-Italic@0 SF(posix mode)A F0(\).)A F1(pri)184 444 Q(vileged)
--.1 E F0(Same as)224 456 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 468 S
-(rbose).1 E F0(Same as)7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 480 Q F0
+(fers from the)-.25 F(POSIX standard to match the standard \()224 480 Q
+/F5 10/Times-Italic@0 SF(posix mode)A F0(\).)A F1(pri)184 492 Q(vileged)
+-.1 E F0(Same as)224 504 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 516 S
+(rbose).1 E F0(Same as)7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 528 Q F0
 1.466(Use a vi-style command line editing interf)32.22 F 3.965
 (ace. This)-.1 F 1.465(also af)3.965 F 1.465(fects the editing)-.25 F
-(interf)224 492 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0
-(.)A F1(xtrace)184 504 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184
-522 Q F1<ad6f>3.052 E F0 .552(is supplied with no)3.052 F F5
+(interf)224 540 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0
+(.)A F1(xtrace)184 552 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184
+570 Q F1<ad6f>3.052 E F0 .552(is supplied with no)3.052 F F5
 (option\255name)3.053 E F0 3.053(,t)C .553(he v)-3.053 F .553
 (alues of the current options are printed.)-.25 F(If)5.553 E F1(+o)184
-534 Q F0 1.072(is supplied with no)3.572 F F5(option\255name)3.572 E F0
+582 Q F0 1.072(is supplied with no)3.572 F F5(option\255name)3.572 E F0
 3.572(,a)C 1.071(series of)-.001 F F1(set)3.571 E F0 1.071
 (commands to recreate the current)3.571 F
-(option settings is displayed on the standard output.)184 546 Q F1<ad70>
-144 558 Q F0 -.45(Tu)28.74 G 1.071(rn on).45 F F5(privile)4.821 E -.1
+(option settings is displayed on the standard output.)184 594 Q F1<ad70>
+144 606 Q F0 -.45(Tu)28.74 G 1.071(rn on).45 F F5(privile)4.821 E -.1
 (ge)-.4 G(d).1 E F0 3.572(mode. In)4.341 F 1.072(this mode, the)3.572 F
 F2($ENV)3.572 E F0(and)3.322 E F2($B)3.572 E(ASH_ENV)-.27 E F0 1.072
 (\214les are not pro-)3.322 F 1.501
-(cessed, shell functions are not inherited from the en)184 570 R 1.5
-(vironment, and the)-.4 F F2(SHELLOPTS)4 E F3(,)A F2 -.27(BA)184 582 S
+(cessed, shell functions are not inherited from the en)184 618 R 1.5
+(vironment, and the)-.4 F F2(SHELLOPTS)4 E F3(,)A F2 -.27(BA)184 630 S
 (SHOPTS).27 E F3(,)A F2(CDP)2.774 E -.855(AT)-.666 G(H).855 E F3(,)A F0
 (and)2.774 E F2(GLOBIGNORE)3.024 E F0 -.25(va)2.774 G .524
 (riables, if the).25 F 3.025(ya)-.15 G .525(ppear in the en)-3.025 F
-(vironment,)-.4 E .38(are ignored.)184 594 R .38
+(vironment,)-.4 E .38(are ignored.)184 642 R .38
 (If the shell is started with the ef)5.38 F(fecti)-.25 E .679 -.15(ve u)
 -.25 H .379(ser \(group\) id not equal to the real).15 F .461
-(user \(group\) id, and the)184 606 R F1<ad70>2.961 E F0 .461
+(user \(group\) id, and the)184 654 R F1<ad70>2.961 E F0 .461
 (option is not supplied, these actions are tak)2.961 F .462
-(en and the ef)-.1 F(fec-)-.25 E(ti)184 618 Q .695 -.15(ve u)-.25 H .395
+(en and the ef)-.1 F(fec-)-.25 E(ti)184 666 Q .695 -.15(ve u)-.25 H .395
 (ser id is set to the real user id.).15 F .395(If the)5.395 F F1<ad70>
 2.895 E F0 .394(option is supplied at startup, the ef)2.895 F(fecti)-.25
-E -.15(ve)-.25 G .386(user id is not reset.)184 630 R -.45(Tu)5.386 G
+E -.15(ve)-.25 G .386(user id is not reset.)184 678 R -.45(Tu)5.386 G
 .386(rning this option of).45 F 2.886(fc)-.25 G .387(auses the ef)-2.886
 F(fecti)-.25 E .687 -.15(ve u)-.25 H .387(ser and group ids to be).15 F
-(set to the real user and group ids.)184 642 Q F1<ad74>144 654 Q F0
+(set to the real user and group ids.)184 690 Q F1<ad74>144 702 Q F0
 (Exit after reading and e)30.97 E -.15(xe)-.15 G(cuting one command.).15
-E F1<ad75>144 666 Q F0 -.35(Tr)28.74 G .044(eat unset v).35 F .044(aria\
+E F1<ad75>144 714 Q F0 -.35(Tr)28.74 G .044(eat unset v).35 F .044(aria\
 bles and parameters other than the special parameters "@" and "*" as an)
--.25 F .182(error when performing parameter e)184 678 R 2.682
-(xpansion. If)-.15 F -.15(ex)2.682 G .183
-(pansion is attempted on an unset v).15 F(ari-)-.25 E .746
-(able or parameter)184 690 R 3.246(,t)-.4 G .746
-(he shell prints an error message, and, if not interacti)-3.246 F -.15
-(ve)-.25 G 3.246(,e).15 G .746(xits with a)-3.396 F(non-zero status.)184
-702 Q F1<ad76>144 714 Q F0(Print shell input lines as the)29.3 E 2.5(ya)
--.15 G(re read.)-2.5 E(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(63)
-200.665 E 0 Cg EP
+-.25 F 2.12(error when performing parameter e)184 726 R 4.62
+(xpansion. If)-.15 F -.15(ex)4.62 G 2.12
+(pansion is attempted on an unset).15 F(GNU Bash 4.2)72 768 Q
+(2011 September 25)135.955 E(63)185.115 E 0 Cg EP
 %%Page: 64 64
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF<ad78>144 84 Q F0 .315(After e)29.3 F .315
-(xpanding each)-.15 F/F2 10/Times-Italic@0 SF .315(simple command)2.815
-F F0(,)A F1 -.25(fo)2.815 G(r).25 E F0(command,)2.815 E F1(case)2.815 E
-F0(command,)2.815 E F1(select)2.815 E F0(command,)2.815 E 1.236
-(or arithmetic)184 96 R F1 -.25(fo)3.736 G(r).25 E F0 1.236
-(command, display the e)3.736 F 1.236(xpanded v)-.15 F 1.236(alue of)
--.25 F/F3 9/Times-Bold@0 SF(PS4)3.736 E/F4 9/Times-Roman@0 SF(,)A F0
-(follo)3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 108 Q
-(xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E F1
-<ad42>144 120 Q F0 2.578(The shell performs brace e)27.63 F 2.578
-(xpansion \(see)-.15 F F1 2.578(Brace Expansion)5.078 F F0(abo)5.078 E
--.15(ve)-.15 G 5.079(\). This).15 F 2.579(is on by)5.079 F(def)184 132 Q
-(ault.)-.1 E F1<ad43>144 144 Q F0 .214(If set,)27.08 F F1(bash)2.714 E
-F0 .214(does not o)2.714 F -.15(ve)-.15 G .214(rwrite an e).15 F .214
-(xisting \214le with the)-.15 F F1(>)2.714 E F0(,)A F1(>&)2.714 E F0
-2.713(,a)C(nd)-2.713 E F1(<>)2.713 E F0 .213(redirection opera-)2.713 F
-3.053(tors. This)184 156 R .553(may be o)3.053 F -.15(ve)-.15 G .553
+-.35 E -.25(va)184 84 S .203(riable or parameter).25 F 2.702(,t)-.4 G
+.202(he shell prints an error message, and, if not interacti)-2.702 F
+-.15(ve)-.25 G 2.702(,e).15 G .202(xits with)-2.852 F 2.5(an)184 96 S
+(on-zero status.)-2.5 E/F1 10/Times-Bold@0 SF<ad76>144 108 Q F0
+(Print shell input lines as the)29.3 E 2.5(ya)-.15 G(re read.)-2.5 E F1
+<ad78>144 120 Q F0 .315(After e)29.3 F .315(xpanding each)-.15 F/F2 10
+/Times-Italic@0 SF .315(simple command)2.815 F F0(,)A F1 -.25(fo)2.815 G
+(r).25 E F0(command,)2.815 E F1(case)2.815 E F0(command,)2.815 E F1
+(select)2.815 E F0(command,)2.815 E 1.236(or arithmetic)184 132 R F1
+-.25(fo)3.736 G(r).25 E F0 1.236(command, display the e)3.736 F 1.236
+(xpanded v)-.15 F 1.236(alue of)-.25 F/F3 9/Times-Bold@0 SF(PS4)3.736 E
+/F4 9/Times-Roman@0 SF(,)A F0(follo)3.486 E 1.236(wed by the com-)-.25 F
+(mand and its e)184 144 Q(xpanded ar)-.15 E(guments or associated w)-.18
+E(ord list.)-.1 E F1<ad42>144 156 Q F0 2.578(The shell performs brace e)
+27.63 F 2.578(xpansion \(see)-.15 F F1 2.578(Brace Expansion)5.078 F F0
+(abo)5.078 E -.15(ve)-.15 G 5.079(\). This).15 F 2.579(is on by)5.079 F
+(def)184 168 Q(ault.)-.1 E F1<ad43>144 180 Q F0 .214(If set,)27.08 F F1
+(bash)2.714 E F0 .214(does not o)2.714 F -.15(ve)-.15 G .214
+(rwrite an e).15 F .214(xisting \214le with the)-.15 F F1(>)2.714 E F0
+(,)A F1(>&)2.714 E F0 2.713(,a)C(nd)-2.713 E F1(<>)2.713 E F0 .213
+(redirection opera-)2.713 F 3.053(tors. This)184 192 R .553(may be o)
+3.053 F -.15(ve)-.15 G .553
 (rridden when creating output \214les by using the redirection opera-)
-.15 F(tor)184 168 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
-<ad45>144 180 Q F0 .104(If set, an)27.63 F 2.604(yt)-.15 G .104(rap on)
+.15 F(tor)184 204 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
+<ad45>144 216 Q F0 .104(If set, an)27.63 F 2.604(yt)-.15 G .104(rap on)
 -2.604 F F1(ERR)2.604 E F0 .103
 (is inherited by shell functions, command substitutions, and com-)2.604
-F .838(mands e)184 192 R -.15(xe)-.15 G .838(cuted in a subshell en).15
+F .838(mands e)184 228 R -.15(xe)-.15 G .838(cuted in a subshell en).15
 F 3.338(vironment. The)-.4 F F1(ERR)3.338 E F0 .839
-(trap is normally not inherited in)3.339 F(such cases.)184 204 Q F1
-<ad48>144 216 Q F0(Enable)26.52 E F1(!)3.032 E F0 .532
+(trap is normally not inherited in)3.339 F(such cases.)184 240 Q F1
+<ad48>144 252 Q F0(Enable)26.52 E F1(!)3.032 E F0 .532
 (style history substitution.)5.532 F .531(This option is on by def)5.532
-F .531(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 228 Q -.15
-(ve)-.25 G(.).15 E F1<ad50>144 240 Q F0 1.164
+F .531(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 264 Q -.15
+(ve)-.25 G(.).15 E F1<ad50>144 276 Q F0 1.164
 (If set, the shell does not follo)28.19 F 3.664(ws)-.25 G 1.164
 (ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.165
 (cuting commands such as).15 F F1(cd)3.665 E F0 2.822
-(that change the current w)184 252 R 2.822(orking directory)-.1 F 7.822
+(that change the current w)184 288 R 2.822(orking directory)-.1 F 7.822
 (.I)-.65 G 5.322(tu)-7.822 G 2.822(ses the ph)-5.322 F 2.821
-(ysical directory structure)-.05 F 2.685(instead. By)184 264 R(def)2.685
+(ysical directory structure)-.05 F 2.685(instead. By)184 300 R(def)2.685
 E(ault,)-.1 E F1(bash)2.686 E F0(follo)2.686 E .186
 (ws the logical chain of directories when performing com-)-.25 F
-(mands which change the current directory)184 276 Q(.)-.65 E F1<ad54>144
-288 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G .89(raps on)-3.39 F F1
+(mands which change the current directory)184 312 Q(.)-.65 E F1<ad54>144
+324 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G .89(raps on)-3.39 F F1
 (DEB)3.39 E(UG)-.1 E F0(and)3.39 E F1(RETURN)3.39 E F0 .89
 (are inherited by shell functions, command)3.39 F 1.932
-(substitutions, and commands e)184 300 R -.15(xe)-.15 G 1.932
+(substitutions, and commands e)184 336 R -.15(xe)-.15 G 1.932
 (cuted in a subshell en).15 F 4.432(vironment. The)-.4 F F1(DEB)4.432 E
-(UG)-.1 E F0(and)4.432 E F1(RETURN)184 312 Q F0
-(traps are normally not inherited in such cases.)2.5 E F1<adad>144 324 Q
+(UG)-.1 E F0(and)4.432 E F1(RETURN)184 348 Q F0
+(traps are normally not inherited in such cases.)2.5 E F1<adad>144 360 Q
 F0 .401(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401
 (his option, then the positional parameters are unset.)-2.901 F
-(Otherwise,)5.4 E(the positional parameters are set to the)184 336 Q F2
+(Otherwise,)5.4 E(the positional parameters are set to the)184 372 Q F2
 (ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5(ni).15 G 2.5(fs)-2.5 G
 (ome of them be)-2.5 E(gin with a)-.15 E F1<ad>2.5 E F0(.)A F1<ad>144
-348 Q F0 1.944(Signal the end of options, cause all remaining)34.3 F F2
+384 Q F0 1.944(Signal the end of options, cause all remaining)34.3 F F2
 (ar)4.444 E(g)-.37 E F0 4.444(st)C 4.444(ob)-4.444 G 4.445(ea)-4.444 G
-1.945(ssigned to the positional)-4.445 F 3.446(parameters. The)184 360 R
+1.945(ssigned to the positional)-4.445 F 3.446(parameters. The)184 396 R
 F1<ad78>3.446 E F0(and)3.446 E F1<ad76>3.446 E F0 .945
 (options are turned of)3.446 F 3.445(f. If)-.25 F .945(there are no)
 3.445 F F2(ar)3.445 E(g)-.37 E F0 .945(s, the positional)B
-(parameters remain unchanged.)184 372 Q .425(The options are of)144
-388.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425
+(parameters remain unchanged.)184 408 Q .425(The options are of)144
+424.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425
 (ault unless otherwise noted.)-.1 F .425
 (Using + rather than \255 causes these options)5.425 F .178
-(to be turned of)144 400.8 R 2.678(f. The)-.25 F .178
+(to be turned of)144 436.8 R 2.678(f. The)-.25 F .178
 (options can also be speci\214ed as ar)2.678 F .178(guments to an in)
 -.18 F -.2(vo)-.4 G .177(cation of the shell.).2 F(The)5.177 E .066
-(current set of options may be found in)144 412.8 R F1<24ad>2.566 E F0
+(current set of options may be found in)144 448.8 R F1<24ad>2.566 E F0
 5.066(.T)C .066(he return status is al)-5.066 F -.1(wa)-.1 G .066
 (ys true unless an in).1 F -.25(va)-.4 G .067(lid option).25 F
-(is encountered.)144 424.8 Q F1(shift)108 441.6 Q F0([)2.5 E F2(n)A F0
-(])A .429(The positional parameters from)144 453.6 R F2(n)2.929 E F0
+(is encountered.)144 460.8 Q F1(shift)108 477.6 Q F0([)2.5 E F2(n)A F0
+(])A .429(The positional parameters from)144 489.6 R F2(n)2.929 E F0
 .429(+1 ... are renamed to)B F1 .429($1 ....)2.929 F F0 -.15(Pa)5.428 G
-.428(rameters represented by the num-).15 F(bers)144 465.6 Q F1($#)2.582
+.428(rameters represented by the num-).15 F(bers)144 501.6 Q F1($#)2.582
 E F0(do)2.582 E .082(wn to)-.25 F F1($#)2.582 E F0<ad>A F2(n)A F0 .082
 (+1 are unset.)B F2(n)5.442 E F0 .082(must be a non-ne)2.822 F -.05(ga)
 -.15 G(ti).05 E .383 -.15(ve n)-.25 H .083(umber less than or equal to)
 .15 F F1($#)2.583 E F0 5.083(.I)C(f)-5.083 E F2(n)2.943 E F0 .06
-(is 0, no parameters are changed.)144 477.6 R(If)5.06 E F2(n)2.92 E F0
+(is 0, no parameters are changed.)144 513.6 R(If)5.06 E F2(n)2.92 E F0
 .06(is not gi)2.8 F -.15(ve)-.25 G .06(n, it is assumed to be 1.).15 F
 (If)5.06 E F2(n)2.92 E F0 .06(is greater than)2.8 F F1($#)2.56 E F0 2.56
-(,t)C(he)-2.56 E .143(positional parameters are not changed.)144 489.6 R
+(,t)C(he)-2.56 E .143(positional parameters are not changed.)144 525.6 R
 .144(The return status is greater than zero if)5.143 F F2(n)3.004 E F0
 .144(is greater than)2.884 F F1($#)2.644 E F0
-(or less than zero; otherwise 0.)144 501.6 Q F1(shopt)108 518.4 Q F0([)
+(or less than zero; otherwise 0.)144 537.6 Q F1(shopt)108 554.4 Q F0([)
 2.5 E F1(\255pqsu)A F0 2.5(][)C F1<ad6f>-2.5 E F0 2.5(][)C F2(optname)
--2.5 E F0(...])2.5 E -.8(To)144 530.4 S .222(ggle the v).8 F .222
+-2.5 E F0(...])2.5 E -.8(To)144 566.4 S .222(ggle the v).8 F .222
 (alues of v)-.25 F .222(ariables controlling optional shell beha)-.25 F
 (vior)-.2 E 5.222(.W)-.55 G .222(ith no options, or with the)-5.622 F F1
 <ad70>2.722 E F0 .721(option, a list of all settable options is display\
-ed, with an indication of whether or not each is set.)144 542.4 R(The)
-144 554.4 Q F1<ad70>2.828 E F0 .327(option causes output to be displaye\
+ed, with an indication of whether or not each is set.)144 578.4 R(The)
+144 590.4 Q F1<ad70>2.828 E F0 .327(option causes output to be displaye\
 d in a form that may be reused as input.)2.828 F .327(Other options)
-5.327 F(ha)144 566.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)
--.25 E F1<ad73>144 578.4 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5
-E F0(.)A F1<ad75>144 590.4 Q F0(Disable \(unset\) each)24.74 E F2
-(optname)2.5 E F0(.)A F1<ad71>144 602.4 Q F0 .003(Suppresses normal out\
+5.327 F(ha)144 602.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)
+-.25 E F1<ad73>144 614.4 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5
+E F0(.)A F1<ad75>144 626.4 Q F0(Disable \(unset\) each)24.74 E F2
+(optname)2.5 E F0(.)A F1<ad71>144 638.4 Q F0 .003(Suppresses normal out\
 put \(quiet mode\); the return status indicates whether the)24.74 F F2
-(optname)2.504 E F0(is)2.504 E .256(set or unset.)180 614.4 R .256
+(optname)2.504 E F0(is)2.504 E .256(set or unset.)180 650.4 R .256
 (If multiple)5.256 F F2(optname)2.756 E F0(ar)2.756 E .256
 (guments are gi)-.18 F -.15(ve)-.25 G 2.756(nw).15 G(ith)-2.756 E F1
 <ad71>2.756 E F0 2.755(,t)C .255(he return status is zero if)-2.755 F
-(all)180 626.4 Q F2(optnames)2.5 E F0(are enabled; non-zero otherwise.)
-2.5 E F1<ad6f>144 638.4 Q F0(Restricts the v)25.3 E(alues of)-.25 E F2
+(all)180 662.4 Q F2(optnames)2.5 E F0(are enabled; non-zero otherwise.)
+2.5 E F1<ad6f>144 674.4 Q F0(Restricts the v)25.3 E(alues of)-.25 E F2
 (optname)2.5 E F0(to be those de\214ned for the)2.5 E F1<ad6f>2.5 E F0
-(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .127
-(If either)144 655.2 R F1<ad73>2.627 E F0(or)2.627 E F1<ad75>2.627 E F0
-.127(is used with no)2.627 F F2(optname)2.627 E F0(ar)2.627 E .127
-(guments, the display is limited to those options which)-.18 F 1.024
-(are set or unset, respecti)144 667.2 R -.15(ve)-.25 G(ly).15 E 6.024
-(.U)-.65 G 1.024(nless otherwise noted, the)-6.024 F F1(shopt)3.523 E F0
-1.023(options are disabled \(unset\) by)3.523 F(def)144 679.2 Q(ault.)
--.1 E 1.544(The return status when listing options is zero if all)144
-696 R F2(optnames)4.044 E F0 1.545(are enabled, non-zero otherwise.)
-4.045 F .696
-(When setting or unsetting options, the return status is zero unless an)
-144 708 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .695(alid shell)
--.25 F(option.)144 720 Q(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(64)
-200.665 E 0 Cg EP
+(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .624
+(If either)144 691.2 R F1<ad73>3.124 E F0(or)3.124 E F1<ad75>3.124 E F0
+.624(is used with no)3.124 F F2(optname)3.124 E F0(ar)3.124 E(guments,)
+-.18 E F1(shopt)3.124 E F0(sho)3.124 E .624
+(ws only those options which are)-.25 F 2.234(set or unset, respecti)144
+703.2 R -.15(ve)-.25 G(ly).15 E 7.234(.U)-.65 G 2.234
+(nless otherwise noted, the)-7.234 F F1(shopt)4.734 E F0 2.234
+(options are disabled \(unset\) by)4.734 F(def)144 715.2 Q(ault.)-.1 E
+(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(64)185.115 E 0 Cg EP
 %%Page: 65 65
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(The list of)144 84 Q/F1 10/Times-Bold@0 SF(shopt)2.5 E F0
-(options is:)2.5 E F1(autocd)144 102 Q F0 .199
+-.35 E 1.544(The return status when listing options is zero if all)144
+84 R/F1 10/Times-Italic@0 SF(optnames)4.044 E F0 1.545
+(are enabled, non-zero otherwise.)4.045 F .696
+(When setting or unsetting options, the return status is zero unless an)
+144 96 R F1(optname)3.196 E F0 .696(is not a v)3.196 F .695(alid shell)
+-.25 F(option.)144 108 Q(The list of)144 124.8 Q/F2 10/Times-Bold@0 SF
+(shopt)2.5 E F0(options is:)2.5 E F2(autocd)144 142.8 Q F0 .199
 (If set, a command name that is the name of a directory is e)11.11 F
 -.15(xe)-.15 G .2(cuted as if it were the ar).15 F(gu-)-.18 E
-(ment to the)184 114 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F
+(ment to the)184 154.8 Q F2(cd)2.5 E F0 2.5(command. This)2.5 F
 (option is only used by interacti)2.5 E .3 -.15(ve s)-.25 H(hells.).15 E
-F1(cdable_v)144 126 Q(ars)-.1 E F0 .156(If set, an ar)184 138 R .156
-(gument to the)-.18 F F1(cd)2.656 E F0 -.2(bu)2.656 G .155
+F2(cdable_v)144 166.8 Q(ars)-.1 E F0 .156(If set, an ar)184 178.8 R .156
+(gument to the)-.18 F F2(cd)2.656 E F0 -.2(bu)2.656 G .155
 (iltin command that is not a directory is assumed to be the).2 F
-(name of a v)184 150 Q(ariable whose v)-.25 E
-(alue is the directory to change to.)-.25 E F1(cdspell)144 162 Q F0
+(name of a v)184 190.8 Q(ariable whose v)-.25 E
+(alue is the directory to change to.)-.25 E F2(cdspell)144 202.8 Q F0
 1.055
 (If set, minor errors in the spelling of a directory component in a)
-10.55 F F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.988
-(corrected. The)184 174 R 1.488(errors check)3.988 F 1.487
+10.55 F F2(cd)3.555 E F0 1.055(command will be)3.555 F 3.988
+(corrected. The)184 214.8 R 1.488(errors check)3.988 F 1.487
 (ed for are transposed characters, a missing character)-.1 F 3.987(,a)
--.4 G(nd)-3.987 E .552(one character too man)184 186 R 4.352 -.65(y. I)
--.15 H 3.052(fac).65 G .552
-(orrection is found, the corrected \214le name is printed, and)-3.052 F
-(the command proceeds.)184 198 Q(This option is only used by interacti)5
-E .3 -.15(ve s)-.25 H(hells.).15 E F1(checkhash)144 210 Q F0 2.08
-(If set,)184 222 R F1(bash)4.58 E F0 2.079
-(checks that a command found in the hash table e)4.58 F 2.079
-(xists before trying to)-.15 F -.15(exe)184 234 S(cute it.).15 E
+-.4 G(nd)-3.987 E .77(one character too man)184 226.8 R 4.57 -.65(y. I)
+-.15 H 3.27(fac).65 G .77
+(orrection is found, the corrected \214lename is printed, and)-3.27 F
+(the command proceeds.)184 238.8 Q
+(This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.)
+.15 E F2(checkhash)144 250.8 Q F0 2.08(If set,)184 262.8 R F2(bash)4.58
+E F0 2.079(checks that a command found in the hash table e)4.58 F 2.079
+(xists before trying to)-.15 F -.15(exe)184 274.8 S(cute it.).15 E
 (If a hashed command no longer e)5 E
-(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 246 Q
-F0 .448(If set,)184 258 R F1(bash)2.948 E F0 .448
+(xists, a normal path search is performed.)-.15 E F2(checkjobs)144 286.8
+Q F0 .448(If set,)184 298.8 R F2(bash)2.948 E F0 .448
 (lists the status of an)2.948 F 2.949(ys)-.15 G .449
 (topped and running jobs before e)-2.949 F .449(xiting an interacti)-.15
-F -.15(ve)-.25 G 3.439(shell. If)184 270 R(an)3.439 E 3.439(yj)-.15 G
+F -.15(ve)-.25 G 3.439(shell. If)184 310.8 R(an)3.439 E 3.439(yj)-.15 G
 .938(obs are running, this causes the e)-3.439 F .938
 (xit to be deferred until a second e)-.15 F .938(xit is)-.15 F 2.203
-(attempted without an interv)184 282 R 2.203(ening command \(see)-.15 F
-/F2 9/Times-Bold@0 SF 2.203(JOB CONTR)4.703 F(OL)-.27 E F0(abo)4.453 E
--.15(ve)-.15 G 4.703(\). The).15 F(shell)4.704 E(al)184 294 Q -.1(wa)-.1
-G(ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G
-(obs are stopped.)-2.5 E F1(checkwinsize)144 306 Q F0 .797(If set,)184
-318 R F1(bash)3.297 E F0 .797(checks the windo)3.297 F 3.297(ws)-.25 G
+(attempted without an interv)184 322.8 R 2.203(ening command \(see)-.15
+F/F3 9/Times-Bold@0 SF 2.203(JOB CONTR)4.703 F(OL)-.27 E F0(abo)4.453 E
+-.15(ve)-.15 G 4.703(\). The).15 F(shell)4.704 E(al)184 334.8 Q -.1(wa)
+-.1 G(ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G
+(obs are stopped.)-2.5 E F2(checkwinsize)144 346.8 Q F0 .797(If set,)184
+358.8 R F2(bash)3.297 E F0 .797(checks the windo)3.297 F 3.297(ws)-.25 G
 .796(ize after each command and, if necessary)-3.297 F 3.296(,u)-.65 G
-.796(pdates the)-3.296 F -.25(va)184 330 S(lues of).25 E F2(LINES)2.5 E
-F0(and)2.25 E F2(COLUMNS)2.5 E/F3 9/Times-Roman@0 SF(.)A F1(cmdhist)144
-342 Q F0 1.202(If set,)6.11 F F1(bash)3.702 E F0 1.202(attempts to sa)
-3.702 F 1.502 -.15(ve a)-.2 H 1.202
+.796(pdates the)-3.296 F -.25(va)184 370.8 S(lues of).25 E F3(LINES)2.5
+E F0(and)2.25 E F3(COLUMNS)2.5 E/F4 9/Times-Roman@0 SF(.)A F2(cmdhist)
+144 382.8 Q F0 1.202(If set,)6.11 F F2(bash)3.702 E F0 1.202
+(attempts to sa)3.702 F 1.502 -.15(ve a)-.2 H 1.202
 (ll lines of a multiple-line command in the same history).15 F(entry)184
-354 Q 5(.T)-.65 G(his allo)-5 E
-(ws easy re-editing of multi-line commands.)-.25 E F1(compat31)144 366 Q
-F0 .42(If set,)184 378 R F1(bash)2.92 E F0 .42(changes its beha)2.92 F
-.419(vior to that of v)-.2 F .419(ersion 3.1 with respect to quoted ar)
--.15 F(guments)-.18 E(to the)184 390 Q F1([[)2.5 E F0
-(conditional command')2.5 E(s)-.55 E F1(=~)2.5 E F0(operator)2.5 E(.)
--.55 E F1(compat32)144 402 Q F0 1.409(If set,)184 414 R F1(bash)3.909 E
-F0 1.409(changes its beha)3.909 F 1.409(vior to that of v)-.2 F 1.41
+394.8 Q 5(.T)-.65 G(his allo)-5 E
+(ws easy re-editing of multi-line commands.)-.25 E F2(compat31)144 406.8
+Q F0 .42(If set,)184 418.8 R F2(bash)2.92 E F0 .42(changes its beha)2.92
+F .419(vior to that of v)-.2 F .419
+(ersion 3.1 with respect to quoted ar)-.15 F(guments)-.18 E(to the)184
+430.8 Q F2([[)2.5 E F0(conditional command')2.5 E(s)-.55 E F2(=~)2.5 E
+F0(operator)2.5 E(.)-.55 E F2(compat32)144 442.8 Q F0 1.409(If set,)184
+454.8 R F2(bash)3.909 E F0 1.409(changes its beha)3.909 F 1.409
+(vior to that of v)-.2 F 1.41
 (ersion 3.2 with respect to locale-speci\214c)-.15 F 1.266
-(string comparison when using the)184 426 R F1([[)3.766 E F0 1.266
-(conditional command')3.766 F(s)-.55 E F1(<)3.766 E F0(and)3.766 E F1(>)
-3.766 E F0 3.765(operators. Bash)3.765 F -.15(ve)184 438 S .512
-(rsions prior to bash-4.1 use ASCII collation and).15 F/F4 10
-/Times-Italic@0 SF(str)3.012 E(cmp)-.37 E F0 .513
-(\(3\); bash-4.1 and later use the).19 F(current locale')184 450 Q 2.5
-(sc)-.55 G(ollation sequence and)-2.5 E F4(str)2.5 E(coll)-.37 E F0
-(\(3\).).51 E F1(compat40)144 462 Q F0 1.41(If set,)184 474 R F1(bash)
-3.91 E F0 1.41(changes its beha)3.91 F 1.409(vior to that of v)-.2 F
-1.409(ersion 4.0 with respect to locale-speci\214c)-.15 F .422
-(string comparison when using the)184 486 R F1([[)2.922 E F0 .422
-(conditional command')2.922 F(s)-.55 E F1(<)2.922 E F0(and)2.922 E F1(>)
+(string comparison when using the)184 466.8 R F2([[)3.766 E F0 1.266
+(conditional command')3.766 F(s)-.55 E F2(<)3.766 E F0(and)3.766 E F2(>)
+3.766 E F0 3.765(operators. Bash)3.765 F -.15(ve)184 478.8 S .512
+(rsions prior to bash-4.1 use ASCII collation and).15 F F1(str)3.012 E
+(cmp)-.37 E F0 .513(\(3\); bash-4.1 and later use the).19 F
+(current locale')184 490.8 Q 2.5(sc)-.55 G(ollation sequence and)-2.5 E
+F1(str)2.5 E(coll)-.37 E F0(\(3\).).51 E F2(compat40)144 502.8 Q F0 1.41
+(If set,)184 514.8 R F2(bash)3.91 E F0 1.41(changes its beha)3.91 F
+1.409(vior to that of v)-.2 F 1.409
+(ersion 4.0 with respect to locale-speci\214c)-.15 F .422
+(string comparison when using the)184 526.8 R F2([[)2.922 E F0 .422
+(conditional command')2.922 F(s)-.55 E F2(<)2.922 E F0(and)2.922 E F2(>)
 2.923 E F0 .423(operators \(see pre-)2.923 F(vious item\) and the ef)184
-498 Q(fect of interrupting a command list.)-.25 E F1(compat41)144 510 Q
-F0 1.444(If set,)184 522 R F1(bash)3.944 E F0 3.944(,w)C 1.443
+538.8 Q(fect of interrupting a command list.)-.25 E F2(compat41)144
+550.8 Q F0 1.444(If set,)184 562.8 R F2(bash)3.944 E F0 3.944(,w)C 1.443
 (hen in posix mode, treats a single quote in a double-quoted parameter)
--3.944 F -.15(ex)184 534 S .958(pansion as a special character).15 F
+-3.944 F -.15(ex)184 574.8 S .958(pansion as a special character).15 F
 5.958(.T)-.55 G .959(he single quotes must match \(an e)-5.958 F -.15
 (ve)-.25 G 3.459(nn).15 G .959(umber\) and)-3.459 F .59
-(the characters between the single quotes are considered quoted.)184 546
-R .59(This is the beha)5.59 F .59(vior of)-.2 F .589
-(posix mode through v)184 558 R .589(ersion 4.1.)-.15 F .589(The def)
+(the characters between the single quotes are considered quoted.)184
+586.8 R .59(This is the beha)5.59 F .59(vior of)-.2 F .589
+(posix mode through v)184 598.8 R .589(ersion 4.1.)-.15 F .589(The def)
 5.589 F .589(ault bash beha)-.1 F .589(vior remains as in pre)-.2 F .59
-(vious v)-.25 F(er)-.15 E(-)-.2 E(sions.)184 570 Q F1(dir)144 582 Q
-(expand)-.18 E F0 .487(If set,)184 594 R F1(bash)2.987 E F0 .486
+(vious v)-.25 F(er)-.15 E(-)-.2 E(sions.)184 610.8 Q F2
+(complete_fullquote)144 622.8 Q F0 .654(If set,)184 634.8 R F2(bash)
+3.153 E F0 .653(quotes all shell metacharacters in \214lenames and dire\
+ctory names when per)3.153 F(-)-.2 E 1.524(forming completion.)184 646.8
+R 1.524(If not set,)6.524 F F2(bash)4.024 E F0(remo)4.024 E -.15(ve)-.15
+G 4.024(sm).15 G 1.524(etacharacters such as the dollar sign)-4.024 F
+2.667(from the set of characters that will be quoted in completed \214l\
+enames when these)184 658.8 R .028(metacharacters appear in shell v)184
+670.8 R .028(ariable references in w)-.25 F .029(ords to be completed.)
+-.1 F .029(This means)5.029 F 1.073(that dollar signs in v)184 682.8 R
+1.073(ariable names that e)-.25 F 1.073
+(xpand to directories will not be quoted; ho)-.15 F(w-)-.25 E -2.15 -.25
+(ev e)184 694.8 T 1.922 -.4(r, a).25 H 1.422 -.15(ny d).4 H 1.123
+(ollar signs appearing in \214lenames will not be quoted, either).15 F
+6.123(.T)-.55 G 1.123(his is acti)-6.123 F -.15(ve)-.25 G .59
+(only when bash is using backslashes to quote completed \214lenames.)184
+706.8 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 718.8 Q
+(ault, which is the def)-.1 E(ault bash beha)-.1 E(vior in v)-.2 E
+(ersions through 4.2.)-.15 E(GNU Bash 4.2)72 768 Q(2011 September 25)
+135.955 E(65)185.115 E 0 Cg EP
+%%Page: 66 66
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E/F1 10/Times-Bold@0 SF(dir)144 84 Q(expand)-.18 E F0 .486(If set,)
+184 96 R F1(bash)2.986 E F0 .486
 (replaces directory names with the results of w)2.986 F .486(ord e)-.1 F
-.486(xpansion when perform-)-.15 F .179(ing \214lename completion.)184
-606 R .179(This changes the contents of the readline editing b)5.179 F
-(uf)-.2 E(fer)-.25 E 5.18(.I)-.55 G 2.68(fn)-5.18 G(ot)-2.68 E(set,)184
-618 Q F1(bash)2.5 E F0(attempts to preserv)2.5 E 2.5(ew)-.15 G
-(hat the user typed.)-2.5 E F1(dirspell)144 630 Q F0 .859(If set,)7.77 F
-F1(bash)3.359 E F0 .858
-(attempts spelling correction on directory names during w)3.359 F .858
+.487(xpansion when perform-)-.15 F .18(ing \214lename completion.)184
+108 R .179(This changes the contents of the readline editing b)5.18 F
+(uf)-.2 E(fer)-.25 E 5.179(.I)-.55 G 2.679(fn)-5.179 G(ot)-2.679 E(set,)
+184 120 Q F1(bash)2.5 E F0(attempts to preserv)2.5 E 2.5(ew)-.15 G
+(hat the user typed.)-2.5 E F1(dirspell)144 132 Q F0 .858(If set,)7.77 F
+F1(bash)3.358 E F0 .858
+(attempts spelling correction on directory names during w)3.358 F .859
 (ord completion if)-.1 F
-(the directory name initially supplied does not e)184 642 Q(xist.)-.15 E
-F1(dotglob)144 654 Q F0 .165(If set,)7.77 F F1(bash)2.665 E F0 .165
+(the directory name initially supplied does not e)184 144 Q(xist.)-.15 E
+F1(dotglob)144 156 Q F0 .165(If set,)7.77 F F1(bash)2.665 E F0 .165
 (includes \214lenames be)2.665 F .165(ginning with a `.)-.15 F 2.665('i)
 -.7 G 2.665(nt)-2.665 G .165(he results of pathname e)-2.665 F
-(xpansion.)-.15 E F1(execfail)144 666 Q F0 1.387
-(If set, a non-interacti)7.79 F 1.687 -.15(ve s)-.25 H 1.386
+(xpansion.)-.15 E F1(execfail)144 168 Q F0 1.386
+(If set, a non-interacti)7.79 F 1.686 -.15(ve s)-.25 H 1.386
 (hell will not e).15 F 1.386(xit if it cannot e)-.15 F -.15(xe)-.15 G
-1.386(cute the \214le speci\214ed as an).15 F(ar)184 678 Q
+1.387(cute the \214le speci\214ed as an).15 F(ar)184 180 Q
 (gument to the)-.18 E F1(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E
 (An interacti)5 E .3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15
-E F1(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 690 Q F0
-.716(If set, aliases are e)184 702 R .717(xpanded as described abo)-.15
-F 1.017 -.15(ve u)-.15 H(nder).15 E F2(ALIASES)3.217 E F3(.)A F0 .717
-(This option is enabled)5.217 F(by def)184 714 Q(ault for interacti)-.1
-E .3 -.15(ve s)-.25 H(hells.).15 E(GNU Bash 4.2)72 768 Q(2011 July 7)
-151.505 E(65)200.665 E 0 Cg EP
-%%Page: 66 66
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(extdeb)144 84 Q(ug)-.2 E F0(If set, beha)
-184 96 Q(vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F1
-(1.)184 108 Q F0(The)28.5 E F1<ad46>4.251 E F0 1.751(option to the)4.251
-F F1(declar)4.251 E(e)-.18 E F0 -.2(bu)4.251 G 1.751
+E F1(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 192 Q F0
+.717(If set, aliases are e)184 204 R .717(xpanded as described abo)-.15
+F 1.017 -.15(ve u)-.15 H(nder).15 E/F2 9/Times-Bold@0 SF(ALIASES)3.217 E
+/F3 9/Times-Roman@0 SF(.)A F0 .716(This option is enabled)5.217 F
+(by def)184 216 Q(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.)
+.15 E F1(extdeb)144 228 Q(ug)-.2 E F0(If set, beha)184 240 Q
+(vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F1(1.)184
+252 Q F0(The)28.5 E F1<ad46>4.25 E F0 1.75(option to the)4.25 F F1
+(declar)4.251 E(e)-.18 E F0 -.2(bu)4.251 G 1.751
 (iltin displays the source \214le name and line).2 F
-(number corresponding to each function name supplied as an ar)220 120 Q
-(gument.)-.18 E F1(2.)184 132 Q F0 1.667(If the command run by the)28.5
+(number corresponding to each function name supplied as an ar)220 264 Q
+(gument.)-.18 E F1(2.)184 276 Q F0 1.667(If the command run by the)28.5
 F F1(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167 F
-1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 144
-Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 156 Q F0 .841
-(If the command run by the)28.5 F F1(DEB)3.341 E(UG)-.1 E F0 .841
-(trap returns a v)3.341 F .84(alue of 2, and the shell is)-.25 F -.15
-(exe)220 168 S .488
+1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 288
+Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 300 Q F0 .84
+(If the command run by the)28.5 F F1(DEB)3.34 E(UG)-.1 E F0 .841
+(trap returns a v)3.341 F .841(alue of 2, and the shell is)-.25 F -.15
+(exe)220 312 S .488
 (cuting in a subroutine \(a shell function or a shell script e).15 F
 -.15(xe)-.15 G .488(cuted by the).15 F F1(.)2.988 E F0(or)2.988 E F1
-(sour)220 180 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F1
--.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E F1(4.)184 192 Q
-/F2 9/Times-Bold@0 SF -.27(BA)28.5 G(SH_ARGC).27 E F0(and)3.154 E F2
--.27(BA)3.404 G(SH_ARGV).27 E F0 .904
-(are updated as described in their descriptions)3.154 F(abo)220 204 Q
--.15(ve)-.15 G(.).15 E F1(5.)184 216 Q F0 1.359
+(sour)220 324 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F1
+-.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E F1(4.)184 336 Q
+F2 -.27(BA)28.5 G(SH_ARGC).27 E F0(and)3.153 E F2 -.27(BA)3.403 G
+(SH_ARGV).27 E F0 .904(are updated as described in their descriptions)
+3.154 F(abo)220 348 Q -.15(ve)-.15 G(.).15 E F1(5.)184 360 Q F0 1.359
 (Function tracing is enabled:)28.5 F 1.359
 (command substitution, shell functions, and sub-)6.359 F(shells in)220
-228 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F3 10
+372 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F4 10
 /Times-Italic@0 SF(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1
 (DEB)2.5 E(UG)-.1 E F0(and)2.5 E F1(RETURN)2.5 E F0(traps.)2.5 E F1(6.)
-184 240 Q F0 .805(Error tracing is enabled:)28.5 F .804
-(command substitution, shell functions, and subshells)5.805 F(in)220 252
-Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F3
+184 384 Q F0 .804(Error tracing is enabled:)28.5 F .805
+(command substitution, shell functions, and subshells)5.804 F(in)220 396
+Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F4
 (command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E F0(trap.)
-2.5 E F1(extglob)144 264 Q F0 .4(If set, the e)8.89 F .4
+2.5 E F1(extglob)144 408 Q F0 .4(If set, the e)8.89 F .4
 (xtended pattern matching features described abo)-.15 F .7 -.15(ve u)
--.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 276 Q
-F0(are enabled.)2.5 E F1(extquote)144 288 Q F0 2.473(If set,)184 300 R
-F1($)4.973 E F0<08>A F3(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973
-E F0(")A F3(string)A F0 4.973("q)C 2.473(uoting is performed within)
--4.973 F F1(${)4.973 E F3(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G
-(pansions).15 E(enclosed in double quotes.)184 312 Q
-(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 324 Q F0
-1.424(If set, patterns which f)7.77 F 1.425
-(ail to match \214lenames during pathname e)-.1 F 1.425
-(xpansion result in an)-.15 F -.15(ex)184 336 S(pansion error).15 E(.)
--.55 E F1 -.25(fo)144 348 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
-.937(If set, the suf)184 360 R<8c78>-.25 E .936(es speci\214ed by the)
+-.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 420 Q
+F0(are enabled.)2.5 E F1(extquote)144 432 Q F0 2.473(If set,)184 444 R
+F1($)4.973 E F0<08>A F4(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973
+E F0(")A F4(string)A F0 4.973("q)C 2.473(uoting is performed within)
+-4.973 F F1(${)4.973 E F4(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G
+(pansions).15 E(enclosed in double quotes.)184 456 Q
+(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 468 Q F0
+1.425(If set, patterns which f)7.77 F 1.425
+(ail to match \214lenames during pathname e)-.1 F 1.424
+(xpansion result in an)-.15 F -.15(ex)184 480 S(pansion error).15 E(.)
+-.55 E F1 -.25(fo)144 492 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
+.936(If set, the suf)184 504 R<8c78>-.25 E .936(es speci\214ed by the)
 -.15 F F2(FIGNORE)3.436 E F0 .936(shell v)3.186 F .936(ariable cause w)
--.25 F .936(ords to be ignored)-.1 F .32(when performing w)184 372 R .32
+-.25 F .937(ords to be ignored)-.1 F .32(when performing w)184 516 R .32
 (ord completion e)-.1 F -.15(ve)-.25 G 2.82(ni).15 G 2.82(ft)-2.82 G .32
-(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 2.948
-(pletions. See)184 384 R F2 .448(SHELL V)2.948 F(ARIABLES)-1.215 E F0
-(abo)2.698 E .748 -.15(ve f)-.15 H .448(or a description of).15 F F2
-(FIGNORE)2.947 E/F4 9/Times-Roman@0 SF(.)A F0 .447(This option is)4.947
-F(enabled by def)184 396 Q(ault.)-.1 E F1(globasciiranges)144 408 Q F0
-.805(If set, range e)184 420 R .806
-(xpressions used in pattern matching \(see)-.15 F F2 -.09(Pa)3.306 G
-(tter).09 E 3.056(nM)-.135 G(atching)-3.056 E F0(abo)3.056 E -.15(ve)
--.15 G 3.306(\)b).15 G(eha)-3.306 E -.15(ve)-.2 G 2.089
-(as if in the traditional C locale when performing comparisons.)184 432
-R 2.089(That is, the current)7.089 F(locale')184 444 Q 2.613(sc)-.55 G
-.113(ollating sequence is not tak)-2.613 F .113(en into account, so)-.1
-F F1(b)2.613 E F0 .114(will not collate between)2.613 F F1(A)2.614 E F0
-(and)2.614 E F1(B)184 456 Q F0 2.5(,a)C(nd upper)-2.5 E(-case and lo)-.2
+(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 2.947
+(pletions. See)184 528 R F2 .447(SHELL V)2.947 F(ARIABLES)-1.215 E F0
+(abo)2.697 E .747 -.15(ve f)-.15 H .448(or a description of).15 F F2
+(FIGNORE)2.948 E F3(.)A F0 .448(This option is)4.948 F(enabled by def)
+184 540 Q(ault.)-.1 E F1(globasciiranges)144 552 Q F0 .806
+(If set, range e)184 564 R .806
+(xpressions used in pattern matching \(see)-.15 F F2 -.09(Pa)3.305 G
+(tter).09 E 3.055(nM)-.135 G(atching)-3.055 E F0(abo)3.055 E -.15(ve)
+-.15 G 3.305(\)b).15 G(eha)-3.305 E -.15(ve)-.2 G 2.089
+(as if in the traditional C locale when performing comparisons.)184 576
+R 2.09(That is, the current)7.089 F(locale')184 588 Q 2.614(sc)-.55 G
+.114(ollating sequence is not tak)-2.614 F .113(en into account, so)-.1
+F F1(b)2.613 E F0 .113(will not collate between)2.613 F F1(A)2.613 E F0
+(and)2.613 E F1(B)184 600 Q F0 2.5(,a)C(nd upper)-2.5 E(-case and lo)-.2
 E(wer)-.25 E(-case ASCII characters will collate together)-.2 E(.)-.55 E
-F1(globstar)144 468 Q F0 .519(If set, the pattern)5 F F1(**)3.019 E F0
-.519(used in a pathname e)3.019 F .519(xpansion conte)-.15 F .518
-(xt will match all \214les and zero)-.15 F .431
-(or more directories and subdirectories.)184 480 R .431
-(If the pattern is follo)5.431 F .432(wed by a)-.25 F F1(/)2.932 E F0
-2.932(,o)C .432(nly directories)-2.932 F(and subdirectories match.)184
-492 Q F1(gnu_errfmt)144 504 Q F0(If set, shell error messages are writt\
-en in the standard GNU error message format.)184 516 Q F1(histappend)144
-528 Q F0 .676
+F1(globstar)144 612 Q F0 .518(If set, the pattern)5 F F1(**)3.018 E F0
+.519(used in a pathname e)3.019 F .519(xpansion conte)-.15 F .519
+(xt will match all \214les and zero)-.15 F .432
+(or more directories and subdirectories.)184 624 R .431
+(If the pattern is follo)5.432 F .431(wed by a)-.25 F F1(/)2.931 E F0
+2.931(,o)C .431(nly directories)-2.931 F(and subdirectories match.)184
+636 Q F1(gnu_errfmt)144 648 Q F0(If set, shell error messages are writt\
+en in the standard GNU error message format.)184 660 Q F1(histappend)144
+672 Q F0 .676
 (If set, the history list is appended to the \214le named by the v)184
-540 R .676(alue of the)-.25 F F2(HISTFILE)3.176 E F0 -.25(va)2.926 G
-(ri-).25 E(able when the shell e)184 552 Q(xits, rather than o)-.15 E
--.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 564 Q(eedit)-.18
-E F0 .575(If set, and)184 576 R F1 -.18(re)3.075 G(adline).18 E F0 .575
-(is being used, a user is gi)3.075 F -.15(ve)-.25 G 3.075(nt).15 G .576
-(he opportunity to re-edit a f)-3.075 F .576(ailed his-)-.1 F
-(tory substitution.)184 588 Q F1(histv)144 600 Q(erify)-.1 E F0 .403
-(If set, and)184 612 R F1 -.18(re)2.903 G(adline).18 E F0 .403
-(is being used, the results of history substitution are not immediately)
-2.903 F .661(passed to the shell parser)184 624 R 5.661(.I)-.55 G .662
-(nstead, the resulting line is loaded into the)-5.661 F F1 -.18(re)3.162
-G(adline).18 E F0(editing)3.162 E -.2(bu)184 636 S -.25(ff).2 G(er).25 E
-2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E F1
-(hostcomplete)144 648 Q F0 1.182(If set, and)184 660 R F1 -.18(re)3.682
-G(adline).18 E F0 1.182(is being used,)3.682 F F1(bash)3.682 E F0 1.181
-(will attempt to perform hostname completion)3.681 F 1.38(when a w)184
-672 R 1.38(ord containing a)-.1 F F1(@)3.881 E F0 1.381
-(is being completed \(see)3.881 F F1(Completing)3.881 E F0(under)3.881 E
-F2(READLINE)3.881 E F0(abo)184 684 Q -.15(ve)-.15 G 2.5(\). This).15 F
-(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 696 Q F0(If set,)
-184 708 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)2.5 E F0
-(to all jobs when an interacti)2.25 E .3 -.15(ve l)-.25 H(ogin shell e)
-.15 E(xits.)-.15 E(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(66)
-200.665 E 0 Cg EP
+684 R .676(alue of the)-.25 F F2(HISTFILE)3.177 E F0 -.25(va)2.927 G
+(ri-).25 E(able when the shell e)184 696 Q(xits, rather than o)-.15 E
+-.15(ve)-.15 G(rwriting the \214le.).15 E(GNU Bash 4.2)72 768 Q
+(2011 September 25)135.955 E(66)185.115 E 0 Cg EP
 %%Page: 67 67
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(interacti)144 84 Q -.1(ve)-.1 G(_comments)
-.1 E F0 .33(If set, allo)184 96 R 2.83(waw)-.25 G .33(ord be)-2.93 F .33
-(ginning with)-.15 F F1(#)2.83 E F0 .33(to cause that w)2.83 F .33
-(ord and all remaining characters on)-.1 F .967
-(that line to be ignored in an interacti)184 108 R 1.267 -.15(ve s)-.25
-H .967(hell \(see).15 F/F2 9/Times-Bold@0 SF(COMMENTS)3.467 E F0(abo)
-3.217 E -.15(ve)-.15 G 3.467(\). This).15 F .968(option is)3.468 F
-(enabled by def)184 120 Q(ault.)-.1 E F1(lastpipe)144 132 Q F0 1.212
+-.35 E/F1 10/Times-Bold@0 SF(histr)144 84 Q(eedit)-.18 E F0 .576
+(If set, and)184 96 R F1 -.18(re)3.076 G(adline).18 E F0 .575
+(is being used, a user is gi)3.076 F -.15(ve)-.25 G 3.075(nt).15 G .575
+(he opportunity to re-edit a f)-3.075 F .575(ailed his-)-.1 F
+(tory substitution.)184 108 Q F1(histv)144 120 Q(erify)-.1 E F0 .402
+(If set, and)184 132 R F1 -.18(re)2.903 G(adline).18 E F0 .403
+(is being used, the results of history substitution are not immediately)
+2.903 F .662(passed to the shell parser)184 144 R 5.662(.I)-.55 G .661
+(nstead, the resulting line is loaded into the)-5.662 F F1 -.18(re)3.161
+G(adline).18 E F0(editing)3.161 E -.2(bu)184 156 S -.25(ff).2 G(er).25 E
+2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E F1
+(hostcomplete)144 168 Q F0 1.181(If set, and)184 180 R F1 -.18(re)3.681
+G(adline).18 E F0 1.181(is being used,)3.681 F F1(bash)3.682 E F0 1.182
+(will attempt to perform hostname completion)3.682 F 1.381(when a w)184
+192 R 1.381(ord containing a)-.1 F F1(@)3.881 E F0 1.381
+(is being completed \(see)3.881 F F1(Completing)3.88 E F0(under)3.88 E
+/F2 9/Times-Bold@0 SF(READLINE)3.88 E F0(abo)184 204 Q -.15(ve)-.15 G
+2.5(\). This).15 F(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144
+216 Q F0(If set,)184 228 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)
+2.5 E F0(to all jobs when an interacti)2.25 E .3 -.15(ve l)-.25 H
+(ogin shell e).15 E(xits.)-.15 E F1(interacti)144 240 Q -.1(ve)-.1 G
+(_comments).1 E F0 .33(If set, allo)184 252 R 2.83(waw)-.25 G .33
+(ord be)-2.93 F .33(ginning with)-.15 F F1(#)2.83 E F0 .33
+(to cause that w)2.83 F .33(ord and all remaining characters on)-.1 F
+.967(that line to be ignored in an interacti)184 264 R 1.267 -.15(ve s)
+-.25 H .967(hell \(see).15 F F2(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve)
+-.15 G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184
+276 Q(ault.)-.1 E F1(lastpipe)144 288 Q F0 1.211
 (If set, and job control is not acti)6.66 F -.15(ve)-.25 G 3.712(,t).15
 G 1.212(he shell runs the last command of a pipeline not)-3.712 F -.15
-(exe)184 144 S(cuted in the background in the current shell en).15 E
-(vironment.)-.4 E F1(lithist)144 156 Q F0 .654(If set, and the)15.55 F
-F1(cmdhist)3.154 E F0 .654
+(exe)184 300 S(cuted in the background in the current shell en).15 E
+(vironment.)-.4 E F1(lithist)144 312 Q F0 .655(If set, and the)15.55 F
+F1(cmdhist)3.155 E F0 .654
 (option is enabled, multi-line commands are sa)3.154 F -.15(ve)-.2 G
-3.155(dt).15 G 3.155(ot)-3.155 G .655(he history)-3.155 F
-(with embedded ne)184 168 Q
+3.154(dt).15 G 3.154(ot)-3.154 G .654(he history)-3.154 F
+(with embedded ne)184 324 Q
 (wlines rather than using semicolon separators where possible.)-.25 E F1
-(login_shell)144 180 Q F0 .486
+(login_shell)144 336 Q F0 .486
 (The shell sets this option if it is started as a login shell \(see)184
-192 R F2(INV)2.986 E(OCA)-.405 E(TION)-.855 E F0(abo)2.736 E -.15(ve)
--.15 G 2.986(\). The).15 F -.25(va)184 204 S(lue may not be changed.).25
-E F1(mailwar)144 216 Q(n)-.15 E F0 .814(If set, and a \214le that)184
-228 R F1(bash)3.314 E F0 .815
-(is checking for mail has been accessed since the last time it)3.314 F
--.1(wa)184 240 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
+348 R F2(INV)2.987 E(OCA)-.405 E(TION)-.855 E F0(abo)2.737 E -.15(ve)
+-.15 G 2.987(\). The).15 F -.25(va)184 360 S(lue may not be changed.).25
+E F1(mailwar)144 372 Q(n)-.15 E F0 .815(If set, and a \214le that)184
+384 R F1(bash)3.315 E F0 .814
+(is checking for mail has been accessed since the last time it)3.315 F
+-.1(wa)184 396 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
 (`The mail in)-.74 E/F3 10/Times-Italic@0 SF(mail\214le)2.5 E F0
 (has been read')2.5 E 2.5('i)-.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1
-(no_empty_cmd_completion)144 252 Q F0 .325(If set, and)184 264 R F1 -.18
-(re)2.825 G(adline).18 E F0 .325(is being used,)2.825 F F1(bash)2.824 E
-F0 .324(will not attempt to search the)2.824 F F2 -.666(PA)2.824 G(TH)
--.189 E F0 .324(for possible)2.574 F
-(completions when completion is attempted on an empty line.)184 276 Q F1
-(nocaseglob)144 288 Q F0 .436(If set,)184 300 R F1(bash)2.936 E F0 .436
-(matches \214lenames in a case\255insensiti)2.936 F .737 -.15(ve f)-.25
-H .437(ashion when performing pathname).05 F -.15(ex)184 312 S
+(no_empty_cmd_completion)144 408 Q F0 .324(If set, and)184 420 R F1 -.18
+(re)2.824 G(adline).18 E F0 .324(is being used,)2.824 F F1(bash)2.824 E
+F0 .324(will not attempt to search the)2.824 F F2 -.666(PA)2.825 G(TH)
+-.189 E F0 .325(for possible)2.575 F
+(completions when completion is attempted on an empty line.)184 432 Q F1
+(nocaseglob)144 444 Q F0 .437(If set,)184 456 R F1(bash)2.937 E F0 .436
+(matches \214lenames in a case\255insensiti)2.937 F .736 -.15(ve f)-.25
+H .436(ashion when performing pathname).05 F -.15(ex)184 468 S
 (pansion \(see).15 E F1 -.1(Pa)2.5 G(thname Expansion).1 E F0(abo)2.5 E
--.15(ve)-.15 G(\).).15 E F1(nocasematch)144 324 Q F0 1.194(If set,)184
-336 R F1(bash)3.694 E F0 1.194(matches patterns in a case\255insensiti)
-3.694 F 1.493 -.15(ve f)-.25 H 1.193(ashion when performing matching).05
-F(while e)184 348 Q -.15(xe)-.15 G(cuting).15 E F1(case)2.5 E F0(or)2.5
-E F1([[)2.5 E F0(conditional commands.)2.5 E F1(nullglob)144 360 Q F0
-.854(If set,)184 372 R F1(bash)3.354 E F0(allo)3.354 E .855
-(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa)3.355 G .855
-(thname Expansion).1 F F0(abo)3.355 E -.15(ve)-.15 G 3.355(\)t).15 G(o)
--3.355 E -.15(ex)184 384 S(pand to a null string, rather than themselv)
-.15 E(es.)-.15 E F1(pr)144 396 Q(ogcomp)-.18 E F0 .677
-(If set, the programmable completion f)184 408 R .677(acilities \(see)
--.1 F F1(Pr)3.176 E .676(ogrammable Completion)-.18 F F0(abo)3.176 E
--.15(ve)-.15 G(\)).15 E(are enabled.)184 420 Q
-(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 432 Q(omptv)
--.18 E(ars)-.1 E F0 1.447(If set, prompt strings under)184 444 R 1.448
-(go parameter e)-.18 F 1.448(xpansion, command substitution, arithmetic)
--.15 F -.15(ex)184 456 S .171(pansion, and quote remo).15 F -.25(va)-.15
+-.15(ve)-.15 G(\).).15 E F1(nocasematch)144 480 Q F0 1.193(If set,)184
+492 R F1(bash)3.693 E F0 1.194(matches patterns in a case\255insensiti)
+3.693 F 1.494 -.15(ve f)-.25 H 1.194(ashion when performing matching).05
+F(while e)184 504 Q -.15(xe)-.15 G(cuting).15 E F1(case)2.5 E F0(or)2.5
+E F1([[)2.5 E F0(conditional commands.)2.5 E F1(nullglob)144 516 Q F0
+.855(If set,)184 528 R F1(bash)3.355 E F0(allo)3.355 E .855
+(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa)3.354 G .854
+(thname Expansion).1 F F0(abo)3.354 E -.15(ve)-.15 G 3.354(\)t).15 G(o)
+-3.354 E -.15(ex)184 540 S(pand to a null string, rather than themselv)
+.15 E(es.)-.15 E F1(pr)144 552 Q(ogcomp)-.18 E F0 .676
+(If set, the programmable completion f)184 564 R .677(acilities \(see)
+-.1 F F1(Pr)3.177 E .677(ogrammable Completion)-.18 F F0(abo)3.177 E
+-.15(ve)-.15 G(\)).15 E(are enabled.)184 576 Q
+(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 588 Q(omptv)
+-.18 E(ars)-.1 E F0 1.448(If set, prompt strings under)184 600 R 1.448
+(go parameter e)-.18 F 1.447(xpansion, command substitution, arithmetic)
+-.15 F -.15(ex)184 612 S .17(pansion, and quote remo).15 F -.25(va)-.15
 G 2.67(la).25 G .17(fter being e)-2.67 F .17(xpanded as described in)
--.15 F F2(PR)2.67 E(OMPTING)-.27 E F0(abo)2.42 E -.15(ve)-.15 G(.).15 E
-(This option is enabled by def)184 468 Q(ault.)-.1 E F1 -.18(re)144 480
+-.15 F F2(PR)2.671 E(OMPTING)-.27 E F0(abo)2.421 E -.15(ve)-.15 G(.).15
+E(This option is enabled by def)184 624 Q(ault.)-.1 E F1 -.18(re)144 636
 S(stricted_shell).18 E F0 1.069
 (The shell sets this option if it is started in restricted mode \(see)
-184 492 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 504 Q 4.178
+184 648 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 660 Q 4.178
 (w\). The)-.25 F -.25(va)4.178 G 1.678(lue may not be changed.).25 F
 1.678(This is not reset when the startup \214les are)6.678 F -.15(exe)
-184 516 S(cuted, allo).15 E(wing the startup \214les to disco)-.25 E
+184 672 S(cuted, allo).15 E(wing the startup \214les to disco)-.25 E
 -.15(ve)-.15 G 2.5(rw).15 G(hether or not a shell is restricted.)-2.5 E
-F1(shift_v)144 528 Q(erbose)-.1 E F0 .501(If set, the)184 540 R F1
-(shift)3.001 E F0 -.2(bu)3.001 G .501
-(iltin prints an error message when the shift count e).2 F .502
-(xceeds the number)-.15 F(of positional parameters.)184 552 Q F1(sour)
-144 564 Q(cepath)-.18 E F0 .771(If set, the)184 576 R F1(sour)3.271 E
-(ce)-.18 E F0(\()3.271 E F1(.)A F0 3.271(\)b)C .771(uiltin uses the v)
--3.471 F .771(alue of)-.25 F F2 -.666(PA)3.27 G(TH)-.189 E F0 .77
-(to \214nd the directory containing the)3.02 F(\214le supplied as an ar)
-184 588 Q 2.5(gument. This)-.18 F(option is enabled by def)2.5 E(ault.)
--.1 E F1(xpg_echo)144 600 Q F0(If set, the)184 612 Q F1(echo)2.5 E F0
--.2(bu)2.5 G(iltin e).2 E(xpands backslash-escape sequences by def)-.15
-E(ault.)-.1 E F1(suspend)108 628.8 Q F0([)2.5 E F1<ad66>A F0(])A 1.001
-(Suspend the e)144 640.8 R -.15(xe)-.15 G 1.001
-(cution of this shell until it recei).15 F -.15(ve)-.25 G 3.501(sa).15 G
-F2(SIGCONT)A F0 3.502(signal. A)3.252 F 1.002(login shell cannot be)
-3.502 F .023(suspended; the)144 652.8 R F1<ad66>2.523 E F0 .023
-(option can be used to o)2.523 F -.15(ve)-.15 G .022
-(rride this and force the suspension.).15 F .022(The return status is)
-5.022 F 2.5(0u)144 664.8 S(nless the shell is a login shell and)-2.5 E
-F1<ad66>2.5 E F0(is not supplied, or if job control is not enabled.)2.5
-E F1(test)108 681.6 Q F3 -.2(ex)2.5 G(pr).2 E F1([)108 693.6 Q F3 -.2
-(ex)2.5 G(pr).2 E F1(])2.5 E F0 1.15
-(Return a status of 0 or 1 depending on the e)6.77 F -.25(va)-.25 G 1.15
-(luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)3.65 G
-(pr).2 E F0 6.15(.E).73 G(ach)-6.15 E 1.188
-(operator and operand must be a separate ar)144 705.6 R 3.688
-(gument. Expressions)-.18 F 1.187(are composed of the primaries)3.688 F
-1.889(described abo)144 717.6 R 2.189 -.15(ve u)-.15 H(nder).15 E F2
-(CONDITION)4.389 E 1.889(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A
-F1(test)6.389 E F0 1.89(does not accept an)4.389 F 4.39(yo)-.15 G 1.89
-(ptions, nor)-4.39 F(does it accept and ignore an ar)144 729.6 Q
-(gument of)-.18 E F1<adad>2.5 E F0(as signifying the end of options.)2.5
-E(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(67)200.665 E 0 Cg EP
+F1(shift_v)144 684 Q(erbose)-.1 E F0 .502(If set, the)184 696 R F1
+(shift)3.002 E F0 -.2(bu)3.002 G .501
+(iltin prints an error message when the shift count e).2 F .501
+(xceeds the number)-.15 F(of positional parameters.)184 708 Q
+(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(67)185.115 E 0 Cg EP
 %%Page: 68 68
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .786(Expressions may be combined using the follo)144 84 R .785
-(wing operators, listed in decreasing order of prece-)-.25 F 3.411
-(dence. The)144 96 R -.25(eva)3.411 G .911
-(luation depends on the number of ar).25 F .912(guments; see belo)-.18 F
-4.712 -.65(w. O)-.25 H .912(perator precedence is).65 F
-(used when there are \214v)144 108 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G(ore ar)
--2.5 E(guments.)-.18 E/F1 10/Times-Bold@0 SF(!)144 120 Q/F2 10
-/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F0 -.35(Tr)12.6 G(ue if).35 E F2
--.2(ex)2.5 G(pr).2 E F0(is f)3.23 E(alse.)-.1 E F1(\()144 132 Q F2 -.2
-(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26(Returns the v)6.77 F .26(alue of)
--.25 F F2 -.2(ex)2.76 G(pr).2 E F0 5.26(.T)C .26(his may be used to o)
--5.26 F -.15(ve)-.15 G .26(rride the normal precedence of opera-).15 F
-(tors.)180 144 Q F2 -.2(ex)144 156 S(pr1).2 E F0<ad>2.5 E F1(a)A F2 -.2
-(ex)2.5 G(pr2).2 E F0 -.35(Tr)180 168 S(ue if both).35 E F2 -.2(ex)2.5 G
-(pr1).2 E F0(and)2.5 E F2 -.2(ex)2.5 G(pr2).2 E F0(are true.)2.52 E F2
--.2(ex)144 180 S(pr1).2 E F0<ad>2.5 E F1(o)A F2 -.2(ex)2.5 G(pr2).2 E F0
--.35(Tr)180 192 S(ue if either).35 E F2 -.2(ex)2.5 G(pr1).2 E F0(or)2.5
-E F2 -.2(ex)2.5 G(pr2).2 E F0(is true.)2.52 E F1(test)144 208.8 Q F0
-(and)2.5 E F1([)2.5 E F0 -.25(eva)2.5 G(luate conditional e).25 E
+-.35 E/F1 10/Times-Bold@0 SF(sour)144 84 Q(cepath)-.18 E F0 .77
+(If set, the)184 96 R F1(sour)3.27 E(ce)-.18 E F0(\()3.27 E F1(.)A F0
+3.27(\)b)C .77(uiltin uses the v)-3.47 F .771(alue of)-.25 F/F2 9
+/Times-Bold@0 SF -.666(PA)3.271 G(TH)-.189 E F0 .771
+(to \214nd the directory containing the)3.021 F
+(\214le supplied as an ar)184 108 Q 2.5(gument. This)-.18 F
+(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 120 Q F0
+(If set, the)184 132 Q F1(echo)2.5 E F0 -.2(bu)2.5 G(iltin e).2 E
+(xpands backslash-escape sequences by def)-.15 E(ault.)-.1 E F1(suspend)
+108 148.8 Q F0([)2.5 E F1<ad66>A F0(])A 1.002(Suspend the e)144 160.8 R
+-.15(xe)-.15 G 1.002(cution of this shell until it recei).15 F -.15(ve)
+-.25 G 3.501(sa).15 G F2(SIGCONT)A F0 3.501(signal. A)3.251 F 1.001
+(login shell cannot be)3.501 F .022(suspended; the)144 172.8 R F1<ad66>
+2.522 E F0 .022(option can be used to o)2.522 F -.15(ve)-.15 G .022
+(rride this and force the suspension.).15 F .023(The return status is)
+5.023 F 2.5(0u)144 184.8 S(nless the shell is a login shell and)-2.5 E
+F1<ad66>2.5 E F0(is not supplied, or if job control is not enabled.)2.5
+E F1(test)108 201.6 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([)
+108 213.6 Q F3 -.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 .878
+(Return a status of 0 \(true\) or 1 \(f)6.77 F .877
+(alse\) depending on the e)-.1 F -.25(va)-.25 G .877
+(luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)144 225.6
+S(pr).2 E F0 5.53(.E).73 G .53
+(ach operator and operand must be a separate ar)-5.53 F 3.03
+(gument. Expressions)-.18 F .53(are composed of the)3.03 F 3.08
+(primaries described abo)144 237.6 R 3.38 -.15(ve u)-.15 H(nder).15 E F2
+(CONDITION)5.58 E 3.079(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A
+F1(test)7.579 E F0 3.079(does not accept an)5.579 F(y)-.15 E
+(options, nor does it accept and ignore an ar)144 249.6 Q(gument of)-.18
+E F1<adad>2.5 E F0(as signifying the end of options.)2.5 E .785
+(Expressions may be combined using the follo)144 267.6 R .786
+(wing operators, listed in decreasing order of prece-)-.25 F 3.412
+(dence. The)144 279.6 R -.25(eva)3.412 G .912
+(luation depends on the number of ar).25 F .911(guments; see belo)-.18 F
+4.711 -.65(w. O)-.25 H .911(perator precedence is).65 F
+(used when there are \214v)144 291.6 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G
+(ore ar)-2.5 E(guments.)-.18 E F1(!)144 303.6 Q F3 -.2(ex)2.5 G(pr).2 E
+F0 -.35(Tr)12.6 G(ue if).35 E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 E
+(alse.)-.1 E F1(\()144 315.6 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0
+.26(Returns the v)6.77 F .26(alue of)-.25 F F3 -.2(ex)2.76 G(pr).2 E F0
+5.26(.T)C .26(his may be used to o)-5.26 F -.15(ve)-.15 G .26
+(rride the normal precedence of opera-).15 F(tors.)180 327.6 Q F3 -.2
+(ex)144 339.6 S(pr1).2 E F0<ad>2.5 E F1(a)A F3 -.2(ex)2.5 G(pr2).2 E F0
+-.35(Tr)180 351.6 S(ue if both).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(and)2.5
+E F3 -.2(ex)2.5 G(pr2).2 E F0(are true.)2.52 E F3 -.2(ex)144 363.6 S
+(pr1).2 E F0<ad>2.5 E F1(o)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180
+375.6 S(ue if either).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(or)2.5 E F3 -.2
+(ex)2.5 G(pr2).2 E F0(is true.)2.52 E F1(test)144 392.4 Q F0(and)2.5 E
+F1([)2.5 E F0 -.25(eva)2.5 G(luate conditional e).25 E
 (xpressions using a set of rules based on the number of ar)-.15 E
-(guments.)-.18 E 2.5(0a)144 226.8 S -.18(rg)-2.5 G(uments).18 E(The e)
-180 238.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 250.8 S -.18
-(rg)-2.5 G(ument).18 E(The e)180 262.8 Q
+(guments.)-.18 E 2.5(0a)144 410.4 S -.18(rg)-2.5 G(uments).18 E(The e)
+180 422.4 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 434.4 S -.18
+(rg)-2.5 G(ument).18 E(The e)180 446.4 Q
 (xpression is true if and only if the ar)-.15 E(gument is not null.)-.18
-E 2.5(2a)144 274.8 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)
-180 286.8 R .37(gument is)-.18 F F1(!)2.87 E F0 2.87(,t)C .37(he e)-2.87
+E 2.5(2a)144 458.4 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)
+180 470.4 R .37(gument is)-.18 F F1(!)2.87 E F0 2.87(,t)C .37(he e)-2.87
 F .37(xpression is true if and only if the second ar)-.15 F .37
-(gument is null.)-.18 F .38(If the \214rst ar)180 298.8 R .38
-(gument is one of the unary conditional operators listed abo)-.18 F .679
--.15(ve u)-.15 H(nder).15 E/F3 9/Times-Bold@0 SF(CONDI-)2.879 E(TION)180
-310.8 Q .552(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(,)A F0 .552
-(the e)2.802 F .552(xpression is true if the unary test is true.)-.15 F
-.552(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 322.8 Q
+(gument is null.)-.18 F .379(If the \214rst ar)180 482.4 R .38
+(gument is one of the unary conditional operators listed abo)-.18 F .68
+-.15(ve u)-.15 H(nder).15 E F2(CONDI-)2.88 E(TION)180 494.4 Q .553
+(AL EXPRESSIONS)-.18 F F4(,)A F0 .552(the e)2.802 F .552
+(xpression is true if the unary test is true.)-.15 F .552
+(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 506.4 Q
 (alid unary conditional operator)-.25 E 2.5(,t)-.4 G(he e)-2.5 E
-(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 334.8 S -.18(rg)-2.5 G
-(uments).18 E .236(The follo)180 346.8 R .236
+(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 518.4 S -.18(rg)-2.5 G
+(uments).18 E .236(The follo)180 530.4 R .236
 (wing conditions are applied in the order listed.)-.25 F .236
 (If the second ar)5.236 F .236(gument is one of)-.18 F .855
-(the binary conditional operators listed abo)180 358.8 R 1.155 -.15
-(ve u)-.15 H(nder).15 E F3(CONDITION)3.355 E .855(AL EXPRESSIONS)-.18 F
-F4(,)A F0(the)3.105 E .579(result of the e)180 370.8 R .578(xpression i\
+(the binary conditional operators listed abo)180 542.4 R 1.155 -.15
+(ve u)-.15 H(nder).15 E F2(CONDITION)3.355 E .855(AL EXPRESSIONS)-.18 F
+F4(,)A F0(the)3.104 E .578(result of the e)180 554.4 R .578(xpression i\
 s the result of the binary test using the \214rst and third ar)-.15 F
-(guments)-.18 E 1.332(as operands.)180 382.8 R(The)6.332 E F1<ad61>3.832
-E F0(and)3.832 E F1<ad6f>3.832 E F0 1.333
+(guments)-.18 E 1.333(as operands.)180 566.4 R(The)6.333 E F1<ad61>3.833
+E F0(and)3.833 E F1<ad6f>3.832 E F0 1.332
 (operators are considered binary operators when there are)3.832 F .558
-(three ar)180 394.8 R 3.058(guments. If)-.18 F .558(the \214rst ar)3.058
+(three ar)180 578.4 R 3.058(guments. If)-.18 F .558(the \214rst ar)3.058
 F .558(gument is)-.18 F F1(!)3.058 E F0 3.058(,t)C .558(he v)-3.058 F
 .558(alue is the ne)-.25 F -.05(ga)-.15 G .558(tion of the tw).05 F
-(o-ar)-.1 E(gument)-.18 E .52(test using the second and third ar)180
-406.8 R 3.021(guments. If)-.18 F .521(the \214rst ar)3.021 F .521
-(gument is e)-.18 F(xactly)-.15 E F1(\()3.021 E F0 .521(and the third)
-3.021 F(ar)180 418.8 Q .485(gument is e)-.18 F(xactly)-.15 E F1(\))2.985
-E F0 2.985(,t)C .485(he result is the one-ar)-2.985 F .485
+(o-ar)-.1 E(gument)-.18 E .521(test using the second and third ar)180
+590.4 R 3.021(guments. If)-.18 F .521(the \214rst ar)3.021 F .52
+(gument is e)-.18 F(xactly)-.15 E F1(\()3.02 E F0 .52(and the third)3.02
+F(ar)180 602.4 Q .485(gument is e)-.18 F(xactly)-.15 E F1(\))2.985 E F0
+2.985(,t)C .485(he result is the one-ar)-2.985 F .485
 (gument test of the second ar)-.18 F 2.985(gument. Other)-.18 F(-)-.2 E
-(wise, the e)180 430.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(4a)144
-442.8 S -.18(rg)-2.5 G(uments).18 E .384(If the \214rst ar)180 454.8 R
-.384(gument is)-.18 F F1(!)2.884 E F0 2.885(,t)C .385
-(he result is the ne)-2.885 F -.05(ga)-.15 G .385(tion of the three-ar)
-.05 F .385(gument e)-.18 F .385(xpression com-)-.15 F 1.648
-(posed of the remaining ar)180 466.8 R 4.147(guments. Otherwise,)-.18 F
-1.647(the e)4.147 F 1.647(xpression is parsed and e)-.15 F -.25(va)-.25
+(wise, the e)180 614.4 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(4a)144
+626.4 S -.18(rg)-2.5 G(uments).18 E .385(If the \214rst ar)180 638.4 R
+.385(gument is)-.18 F F1(!)2.885 E F0 2.885(,t)C .385
+(he result is the ne)-2.885 F -.05(ga)-.15 G .384(tion of the three-ar)
+.05 F .384(gument e)-.18 F .384(xpression com-)-.15 F 1.647
+(posed of the remaining ar)180 650.4 R 4.147(guments. Otherwise,)-.18 F
+1.647(the e)4.147 F 1.648(xpression is parsed and e)-.15 F -.25(va)-.25
 G(luated).25 E(according to precedence using the rules listed abo)180
-478.8 Q -.15(ve)-.15 G(.).15 E 2.5(5o)144 490.8 S 2.5(rm)-2.5 G(ore ar)
--2.5 E(guments)-.18 E 1.635(The e)180 502.8 R 1.635
+662.4 Q -.15(ve)-.15 G(.).15 E 2.5(5o)144 674.4 S 2.5(rm)-2.5 G(ore ar)
+-2.5 E(guments)-.18 E 1.635(The e)180 686.4 R 1.635
 (xpression is parsed and e)-.15 F -.25(va)-.25 G 1.635
 (luated according to precedence using the rules listed).25 F(abo)180
-514.8 Q -.15(ve)-.15 G(.).15 E(When used with)144 532.8 Q F1(test)2.5 E
+698.4 Q -.15(ve)-.15 G(.).15 E(When used with)144 716.4 Q F1(test)2.5 E
 F0(or)2.5 E F1([)2.5 E F0 2.5(,t)C(he)-2.5 E F1(<)2.5 E F0(and)2.5 E F1
 (>)2.5 E F0(operators sort le)2.5 E
-(xicographically using ASCII ordering.)-.15 E F1(times)108 549.6 Q F0
-1.229(Print the accumulated user and system times for the shell and for\
- processes run from the shell.)13.23 F(The return status is 0.)144 561.6
-Q F1(trap)108 578.4 Q F0([)2.5 E F1(\255lp)A F0 2.5(][)C([)-2.5 E F2(ar)
-A(g)-.37 E F0(])A F2(sigspec)2.5 E F0(...])2.5 E .702(The command)144
-590.4 R F2(ar)3.532 E(g)-.37 E F0 .702(is to be read and e)3.422 F -.15
-(xe)-.15 G .702(cuted when the shell recei).15 F -.15(ve)-.25 G 3.203
-(ss).15 G(ignal\(s\))-3.203 E F2(sigspec)3.203 E F0 5.703(.I).31 G(f)
--5.703 E F2(ar)3.533 E(g)-.37 E F0(is)3.423 E .609
-(absent \(and there is a single)144 602.4 R F2(sigspec)3.108 E F0 3.108
-(\)o)C(r)-3.108 E F1<ad>3.108 E F0 3.108(,e)C .608
-(ach speci\214ed signal is reset to its original disposition)-3.108 F
-.658(\(the v)144 614.4 R .658(alue it had upon entrance to the shell\).)
--.25 F(If)5.658 E F2(ar)3.488 E(g)-.37 E F0 .659
-(is the null string the signal speci\214ed by each)3.378 F F2(sigspec)
-144.34 626.4 Q F0 .581
-(is ignored by the shell and by the commands it in)3.391 F -.2(vo)-.4 G
--.1(ke).2 G 3.08(s. If).1 F F2(ar)3.41 E(g)-.37 E F0 .58
-(is not present and)3.3 F F1<ad70>3.08 E F0(has)3.08 E 1.214
-(been supplied, then the trap commands associated with each)144 638.4 R
-F2(sigspec)4.054 E F0 1.215(are displayed.)4.024 F 1.215(If no ar)6.215
-F(gu-)-.18 E .86(ments are supplied or if only)144 650.4 R F1<ad70>3.36
-E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F1(trap)3.36 E F0 .86
-(prints the list of commands associated with each)3.36 F 2.83
-(signal. The)144 662.4 R F1<ad6c>2.83 E F0 .33(option causes the shell \
-to print a list of signal names and their corresponding num-)2.83 F
-4.311(bers. Each)144 674.4 R F2(sigspec)4.651 E F0 1.811
-(is either a signal name de\214ned in <)4.621 F F2(signal.h)A F0 1.81
-(>, or a signal number)B 6.81(.S)-.55 G(ignal)-6.81 E
-(names are case insensiti)144 686.4 Q .3 -.15(ve a)-.25 H(nd the).15 E
-F3(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.648(If a)144 704.4 R F2
-(sigspec)4.488 E F0(is)4.458 E F3(EXIT)4.148 E F0 1.648
-(\(0\) the command)3.898 F F2(ar)4.479 E(g)-.37 E F0 1.649(is e)4.369 F
--.15(xe)-.15 G 1.649(cuted on e).15 F 1.649(xit from the shell.)-.15 F
-1.649(If a)6.649 F F2(sigspec)4.489 E F0(is)4.459 E F3(DEB)144 716.4 Q
-(UG)-.09 E F4(,)A F0 1.168(the command)3.418 F F2(ar)3.998 E(g)-.37 E F0
-1.168(is e)3.888 F -.15(xe)-.15 G 1.167(cuted before e).15 F -.15(ve)
--.25 G(ry).15 E F2 1.167(simple command)3.667 F F0(,)A F2(for)3.667 E F0
-(command,)3.667 E F2(case)3.667 E F0(com-)3.667 E(mand,)144 728.4 Q F2
-(select)2.646 E F0 .146(command, e)2.646 F -.15(ve)-.25 G .146
-(ry arithmetic).15 F F2(for)2.646 E F0 .147
-(command, and before the \214rst command e)2.646 F -.15(xe)-.15 G .147
-(cutes in a).15 F(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(68)200.665
-E 0 Cg EP
+(xicographically using ASCII ordering.)-.15 E(GNU Bash 4.2)72 768 Q
+(2011 September 25)135.955 E(68)185.115 E 0 Cg EP
 %%Page: 69 69
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .146(shell function \(see)144 84 R/F1 9/Times-Bold@0 SF .146
-(SHELL GRAMMAR)2.646 F F0(abo)2.396 E -.15(ve)-.15 G 2.646(\). Refer).15
-F .146(to the description of the)2.646 F/F2 10/Times-Bold@0 SF(extdeb)
-2.645 E(ug)-.2 E F0 .145(option to)2.645 F(the)144 96 Q F2(shopt)3.2 E
-F0 -.2(bu)3.2 G .7(iltin for details of its ef).2 F .7(fect on the)-.25
-F F2(DEB)3.2 E(UG)-.1 E F0 3.2(trap. If)3.2 F(a)3.2 E/F3 10
-/Times-Italic@0 SF(sigspec)3.54 E F0(is)3.51 E F1(RETURN)3.2 E/F4 9
-/Times-Roman@0 SF(,)A F0 .701(the com-)2.951 F(mand)144 108 Q F3(ar)
-3.474 E(g)-.37 E F0 .644(is e)3.364 F -.15(xe)-.15 G .643
+-.35 E/F1 10/Times-Bold@0 SF(times)108 84 Q F0 1.229(Print the accumula\
+ted user and system times for the shell and for processes run from the \
+shell.)13.23 F(The return status is 0.)144 96 Q F1(trap)108 112.8 Q F0
+([)2.5 E F1(\255lp)A F0 2.5(][)C([)-2.5 E/F2 10/Times-Italic@0 SF(ar)A
+(g)-.37 E F0(])A F2(sigspec)2.5 E F0(...])2.5 E .703(The command)144
+124.8 R F2(ar)3.533 E(g)-.37 E F0 .703(is to be read and e)3.423 F -.15
+(xe)-.15 G .702(cuted when the shell recei).15 F -.15(ve)-.25 G 3.202
+(ss).15 G(ignal\(s\))-3.202 E F2(sigspec)3.202 E F0 5.702(.I).31 G(f)
+-5.702 E F2(ar)3.532 E(g)-.37 E F0(is)3.422 E .608
+(absent \(and there is a single)144 136.8 R F2(sigspec)3.108 E F0 3.108
+(\)o)C(r)-3.108 E F1<ad>3.108 E F0 3.108(,e)C .608
+(ach speci\214ed signal is reset to its original disposition)-3.108 F
+.659(\(the v)144 148.8 R .659(alue it had upon entrance to the shell\).)
+-.25 F(If)5.658 E F2(ar)3.488 E(g)-.37 E F0 .658
+(is the null string the signal speci\214ed by each)3.378 F F2(sigspec)
+144.34 160.8 Q F0 .58(is ignored by the shell and by the commands it in)
+3.39 F -.2(vo)-.4 G -.1(ke).2 G 3.081(s. If).1 F F2(ar)3.411 E(g)-.37 E
+F0 .581(is not present and)3.301 F F1<ad70>3.081 E F0(has)3.081 E 1.215
+(been supplied, then the trap commands associated with each)144 172.8 R
+F2(sigspec)4.054 E F0 1.214(are displayed.)4.024 F 1.214(If no ar)6.214
+F(gu-)-.18 E .86(ments are supplied or if only)144 184.8 R F1<ad70>3.36
+E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F1(trap)3.36 E F0 .86
+(prints the list of commands associated with each)3.36 F 2.83
+(signal. The)144 196.8 R F1<ad6c>2.83 E F0 .33(option causes the shell \
+to print a list of signal names and their corresponding num-)2.83 F 4.31
+(bers. Each)144 208.8 R F2(sigspec)4.65 E F0 1.811
+(is either a signal name de\214ned in <)4.62 F F2(signal.h)A F0 1.811
+(>, or a signal number)B 6.811(.S)-.55 G(ignal)-6.811 E
+(names are case insensiti)144 220.8 Q .3 -.15(ve a)-.25 H(nd the).15 E
+/F3 9/Times-Bold@0 SF(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.649
+(If a)144 238.8 R F2(sigspec)4.489 E F0(is)4.459 E F3(EXIT)4.149 E F0
+1.649(\(0\) the command)3.899 F F2(ar)4.479 E(g)-.37 E F0 1.649(is e)
+4.369 F -.15(xe)-.15 G 1.649(cuted on e).15 F 1.648(xit from the shell.)
+-.15 F 1.648(If a)6.648 F F2(sigspec)4.488 E F0(is)4.458 E F3(DEB)144
+250.8 Q(UG)-.09 E/F4 9/Times-Roman@0 SF(,)A F0 1.167(the command)3.417 F
+F2(ar)3.997 E(g)-.37 E F0 1.167(is e)3.887 F -.15(xe)-.15 G 1.167
+(cuted before e).15 F -.15(ve)-.25 G(ry).15 E F2 1.168(simple command)
+3.667 F F0(,)A F2(for)3.668 E F0(command,)3.668 E F2(case)3.668 E F0
+(com-)3.668 E(mand,)144 262.8 Q F2(select)2.647 E F0 .147(command, e)
+2.647 F -.15(ve)-.25 G .147(ry arithmetic).15 F F2(for)2.647 E F0 .146
+(command, and before the \214rst command e)2.647 F -.15(xe)-.15 G .146
+(cutes in a).15 F .145(shell function \(see)144 274.8 R F3 .145
+(SHELL GRAMMAR)2.645 F F0(abo)2.395 E -.15(ve)-.15 G 2.646(\). Refer).15
+F .146(to the description of the)2.646 F F1(extdeb)2.646 E(ug)-.2 E F0
+.146(option to)2.646 F(the)144 286.8 Q F1(shopt)3.201 E F0 -.2(bu)3.201
+G .7(iltin for details of its ef).2 F .7(fect on the)-.25 F F1(DEB)3.2 E
+(UG)-.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F2(sigspec)3.54 E F0(is)3.51 E
+F3(RETURN)3.2 E F4(,)A F0 .7(the com-)2.95 F(mand)144 298.8 Q F2(ar)
+3.473 E(g)-.37 E F0 .643(is e)3.363 F -.15(xe)-.15 G .643
 (cuted each time a shell function or a script e).15 F -.15(xe)-.15 G
-.643(cuted with the).15 F F2(.)3.143 E F0(or)3.143 E F2(sour)3.143 E(ce)
--.18 E F0 -.2(bu)3.143 G(iltins).2 E(\214nishes e)144 120 Q -.15(xe)-.15
-G(cuting.).15 E .928(If a)144 138 R F3(sigspec)3.768 E F0(is)3.738 E F1
-(ERR)3.429 E F4(,)A F0 .929(the command)3.179 F F3(ar)3.759 E(g)-.37 E
-F0 .929(is e)3.649 F -.15(xe)-.15 G .929(cuted whene).15 F -.15(ve)-.25
-G 3.429(ras).15 G .929(imple command has a non\255zero)-3.429 F -.15(ex)
-144 150 S 1.009(it status, subject to the follo).15 F 1.009
-(wing conditions.)-.25 F(The)6.009 E F1(ERR)3.509 E F0 1.009
-(trap is not e)3.259 F -.15(xe)-.15 G 1.008(cuted if the f).15 F 1.008
+.644(cuted with the).15 F F1(.)3.144 E F0(or)3.144 E F1(sour)3.144 E(ce)
+-.18 E F0 -.2(bu)3.144 G(iltins).2 E(\214nishes e)144 310.8 Q -.15(xe)
+-.15 G(cuting.).15 E .929(If a)144 328.8 R F2(sigspec)3.769 E F0(is)
+3.739 E F3(ERR)3.429 E F4(,)A F0 .929(the command)3.179 F F2(ar)3.759 E
+(g)-.37 E F0 .929(is e)3.649 F -.15(xe)-.15 G .929(cuted whene).15 F
+-.15(ve)-.25 G 3.429(ras).15 G .928(imple command has a non\255zero)
+-3.429 F -.15(ex)144 340.8 S 1.008(it status, subject to the follo).15 F
+1.009(wing conditions.)-.25 F(The)6.009 E F3(ERR)3.509 E F0 1.009
+(trap is not e)3.259 F -.15(xe)-.15 G 1.009(cuted if the f).15 F 1.009
 (ailed com-)-.1 F .324
-(mand is part of the command list immediately follo)144 162 R .324
-(wing a)-.25 F F2(while)2.824 E F0(or)2.824 E F2(until)2.824 E F0 -.1
+(mand is part of the command list immediately follo)144 352.8 R .324
+(wing a)-.25 F F1(while)2.824 E F0(or)2.824 E F1(until)2.824 E F0 -.1
 (ke)2.824 G(yw)-.05 E .324(ord, part of the test)-.1 F .151(in an)144
-174 R F3(if)2.661 E F0 .151(statement, part of a command e)4.611 F -.15
-(xe)-.15 G .151(cuted in a).15 F F2(&&)2.651 E F0(or)2.651 E F2(||)2.651
-E F0 .151(list, or if the command')2.651 F 2.651(sr)-.55 G .151(eturn v)
--2.651 F(alue)-.25 E(is being in)144 186 Q -.15(ve)-.4 G(rted via).15 E
-F2(!)2.5 E F0 5(.T)C(hese are the same conditions obe)-5 E(yed by the)
--.15 E F2(err)2.5 E(exit)-.18 E F0(option.)2.5 E 1.095
+364.8 R F2(if)2.661 E F0 .151(statement, part of a command e)4.611 F
+-.15(xe)-.15 G .151(cuted in a).15 F F1(&&)2.651 E F0(or)2.651 E F1(||)
+2.651 E F0 .151(list, or if the command')2.651 F 2.651(sr)-.55 G .151
+(eturn v)-2.651 F(alue)-.25 E(is being in)144 376.8 Q -.15(ve)-.4 G
+(rted via).15 E F1(!)2.5 E F0 5(.T)C(hese are the same conditions obe)-5
+E(yed by the)-.15 E F1(err)2.5 E(exit)-.18 E F0(option.)2.5 E 1.095
 (Signals ignored upon entry to the shell cannot be trapped or reset.)144
-204 R -.35(Tr)6.095 G 1.095(apped signals that are not).35 F .662
-(being ignored are reset to their original v)144 216 R .662
-(alues in a subshell or subshell en)-.25 F .661(vironment when one is)
--.4 F 2.5(created. The)144 228 R(return status is f)2.5 E(alse if an)-.1
-E(y)-.15 E F3(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4 G
-(lid; otherwise).25 E F2(trap)2.5 E F0(returns true.)2.5 E F2(type)108
-244.8 Q F0([)2.5 E F2(\255aftpP)A F0(])A F3(name)2.5 E F0([)2.5 E F3
-(name)A F0(...])2.5 E -.4(Wi)144 256.8 S .173
-(th no options, indicate ho).4 F 2.673(we)-.25 G(ach)-2.673 E F3(name)
-3.033 E F0 -.1(wo)2.853 G .174
-(uld be interpreted if used as a command name.).1 F .174(If the)5.174 F
-F2<ad74>144 268.8 Q F0 .843(option is used,)3.343 F F2(type)3.343 E F0
-.843(prints a string which is one of)3.343 F F3(alias)3.343 E F0(,).27 E
-F3 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F3(function)3.343 E F0
-(,).24 E F3 -.2(bu)3.342 G(iltin).2 E F0 3.342(,o).24 G(r)-3.342 E F3
-(\214le)5.252 E F0(if)3.522 E F3(name)144.36 280.8 Q F0 .086
-(is an alias, shell reserv)2.766 F .086(ed w)-.15 F .086
-(ord, function, b)-.1 F .087(uiltin, or disk \214le, respecti)-.2 F -.15
-(ve)-.25 G(ly).15 E 5.087(.I)-.65 G 2.587(ft)-5.087 G(he)-2.587 E F3
-(name)2.947 E F0 .087(is not)2.767 F .119
-(found, then nothing is printed, and an e)144 292.8 R .118
-(xit status of f)-.15 F .118(alse is returned.)-.1 F .118(If the)5.118 F
-F2<ad70>2.618 E F0 .118(option is used,)2.618 F F2(type)2.618 E F0 .855
-(either returns the name of the disk \214le that w)144 304.8 R .855
-(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F3(name)3.715 E F0
-.855(were speci\214ed as a com-)3.535 F .641(mand name, or nothing if)
-144 316.8 R/F5 10/Courier@0 SF .641(type -t name)3.141 F F0 -.1(wo)3.141
-G .641(uld not return).1 F F3(\214le)3.14 E F0 5.64(.T).18 G(he)-5.64 E
-F2<ad50>3.14 E F0 .64(option forces a)3.14 F F1 -.666(PA)3.14 G(TH)-.189
-E F0 .112(search for each)144 328.8 R F3(name)2.612 E F0 2.612(,e)C -.15
-(ve)-2.862 G 2.613(ni).15 G(f)-2.613 E F5 .113(type -t name)2.613 F F0
--.1(wo)2.613 G .113(uld not return).1 F F3(\214le)2.613 E F0 5.113(.I)
-.18 G 2.613(fac)-5.113 G .113(ommand is hashed,)-2.613 F F2<ad70>2.613 E
-F0(and)144 340.8 Q F2<ad50>2.945 E F0 .445(print the hashed v)2.945 F
-.444(alue, not necessarily the \214le that appears \214rst in)-.25 F F1
--.666(PA)2.944 G(TH)-.189 E F4(.)A F0 .444(If the)4.944 F F2<ad61>2.944
-E F0(option)2.944 E .265(is used,)144 352.8 R F2(type)2.765 E F0 .265
-(prints all of the places that contain an e)2.765 F -.15(xe)-.15 G .265
-(cutable named).15 F F3(name)2.765 E F0 5.265(.T).18 G .265
-(his includes aliases)-5.265 F .427(and functions, if and only if the)
-144 364.8 R F2<ad70>2.926 E F0 .426(option is not also used.)2.926 F
-.426(The table of hashed commands is not)5.426 F .548
-(consulted when using)144 376.8 R F2<ad61>3.048 E F0 5.548(.T)C(he)
--5.548 E F2<ad66>3.048 E F0 .549
-(option suppresses shell function lookup, as with the)3.048 F F2
-(command)3.049 E F0 -.2(bu)144 388.8 S(iltin.).2 E F2(type)5 E F0
-(returns true if all of the ar)2.5 E(guments are found, f)-.18 E
-(alse if an)-.1 E 2.5(ya)-.15 G(re not found.)-2.5 E F2(ulimit)108 405.6
-Q F0([)2.5 E F2(\255HST)A(abcde\214lmnpqrstuvx)-.92 E F0([)2.5 E F3
-(limit)A F0(]])A(Pro)144 417.6 Q .244(vides control o)-.15 F -.15(ve)
--.15 G 2.744(rt).15 G .244(he resources a)-2.744 F -.25(va)-.2 G .244
+394.8 R -.35(Tr)6.095 G 1.095(apped signals that are not).35 F .662
+(being ignored are reset to their original v)144 406.8 R .662
+(alues in a subshell or subshell en)-.25 F .662(vironment when one is)
+-.4 F 2.5(created. The)144 418.8 R(return status is f)2.5 E(alse if an)
+-.1 E(y)-.15 E F2(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4 G
+(lid; otherwise).25 E F1(trap)2.5 E F0(returns true.)2.5 E F1(type)108
+435.6 Q F0([)2.5 E F1(\255aftpP)A F0(])A F2(name)2.5 E F0([)2.5 E F2
+(name)A F0(...])2.5 E -.4(Wi)144 447.6 S .174
+(th no options, indicate ho).4 F 2.674(we)-.25 G(ach)-2.674 E F2(name)
+3.034 E F0 -.1(wo)2.854 G .173
+(uld be interpreted if used as a command name.).1 F .173(If the)5.173 F
+F1<ad74>144 459.6 Q F0 .842(option is used,)3.342 F F1(type)3.342 E F0
+.843(prints a string which is one of)3.343 F F2(alias)3.343 E F0(,).27 E
+F2 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F2(function)3.343 E F0
+(,).24 E F2 -.2(bu)3.343 G(iltin).2 E F0 3.343(,o).24 G(r)-3.343 E F2
+(\214le)5.253 E F0(if)3.523 E F2(name)144.36 471.6 Q F0 .087
+(is an alias, shell reserv)2.767 F .087(ed w)-.15 F .087
+(ord, function, b)-.1 F .086(uiltin, or disk \214le, respecti)-.2 F -.15
+(ve)-.25 G(ly).15 E 5.086(.I)-.65 G 2.586(ft)-5.086 G(he)-2.586 E F2
+(name)2.946 E F0 .086(is not)2.766 F .118
+(found, then nothing is printed, and an e)144 483.6 R .118
+(xit status of f)-.15 F .118(alse is returned.)-.1 F .119(If the)5.119 F
+F1<ad70>2.619 E F0 .119(option is used,)2.619 F F1(type)2.619 E F0 .855
+(either returns the name of the disk \214le that w)144 495.6 R .855
+(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F2(name)3.715 E F0
+.855(were speci\214ed as a com-)3.535 F .64(mand name, or nothing if)144
+507.6 R/F5 10/Courier@0 SF .64(type -t name)3.14 F F0 -.1(wo)3.14 G .641
+(uld not return).1 F F2(\214le)3.141 E F0 5.641(.T).18 G(he)-5.641 E F1
+<ad50>3.141 E F0 .641(option forces a)3.141 F F3 -.666(PA)3.141 G(TH)
+-.189 E F0 .113(search for each)144 519.6 R F2(name)2.613 E F0 2.613(,e)
+C -.15(ve)-2.863 G 2.613(ni).15 G(f)-2.613 E F5 .113(type -t name)2.613
+F F0 -.1(wo)2.613 G .113(uld not return).1 F F2(\214le)2.613 E F0 5.113
+(.I).18 G 2.613(fa)-5.113 G .112(command is hashed,)-.001 F F1<ad70>
+2.612 E F0(and)144 531.6 Q F1<ad50>3.23 E F0 .73(print the hashed v)3.23
+F .731
+(alue, which is not necessarily the \214le that appears \214rst in)-.25
+F F3 -.666(PA)3.231 G(TH)-.189 E F4(.)A F0 .731(If the)5.231 F F1<ad61>
+144 543.6 Q F0 1.749(option is used,)4.249 F F1(type)4.248 E F0 1.748
+(prints all of the places that contain an e)4.248 F -.15(xe)-.15 G 1.748
+(cutable named).15 F F2(name)4.248 E F0 6.748(.T).18 G(his)-6.748 E .744
+(includes aliases and functions, if and only if the)144 555.6 R F1<ad70>
+3.244 E F0 .744(option is not also used.)3.244 F .744
+(The table of hashed)5.744 F 1.223(commands is not consulted when using)
+144 567.6 R F1<ad61>3.723 E F0 6.223(.T)C(he)-6.223 E F1<ad66>3.723 E F0
+1.223(option suppresses shell function lookup, as)3.723 F .325(with the)
+144 579.6 R F1(command)2.825 E F0 -.2(bu)2.825 G(iltin.).2 E F1(type)
+5.325 E F0 .325(returns true if all of the ar)2.825 F .326
+(guments are found, f)-.18 F .326(alse if an)-.1 F 2.826(ya)-.15 G .326
+(re not)-2.826 F(found.)144 591.6 Q F1(ulimit)108 608.4 Q F0([)2.5 E F1
+(\255HST)A(abcde\214lmnpqrstuvx)-.92 E F0([)2.5 E F2(limit)A F0(]])A
+(Pro)144 620.4 Q .244(vides control o)-.15 F -.15(ve)-.15 G 2.744(rt).15
+G .244(he resources a)-2.744 F -.25(va)-.2 G .244
 (ilable to the shell and to processes started by it, on systems).25 F
-.943(that allo)144 429.6 R 3.443(ws)-.25 G .943(uch control.)-3.443 F
-(The)5.943 E F2<ad48>3.443 E F0(and)3.443 E F2<ad53>3.444 E F0 .944
+.943(that allo)144 632.4 R 3.443(ws)-.25 G .943(uch control.)-3.443 F
+(The)5.943 E F1<ad48>3.443 E F0(and)3.443 E F1<ad53>3.444 E F0 .944
 (options specify that the hard or soft limit is set for the)3.444 F(gi)
-144 441.6 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208
+144 644.4 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208
 (hard limit cannot be increased by a non-root user once it is set; a so\
-ft limit may)2.709 F .425(be increased up to the v)144 453.6 R .425
-(alue of the hard limit.)-.25 F .426(If neither)5.425 F F2<ad48>2.926 E
-F0(nor)2.926 E F2<ad53>2.926 E F0 .426
+ft limit may)2.709 F .425(be increased up to the v)144 656.4 R .425
+(alue of the hard limit.)-.25 F .426(If neither)5.425 F F1<ad48>2.926 E
+F0(nor)2.926 E F1<ad53>2.926 E F0 .426
 (is speci\214ed, both the soft and)2.926 F .139(hard limits are set.)144
-465.6 R .139(The v)5.139 F .139(alue of)-.25 F F3(limit)2.729 E F0 .139
+668.4 R .139(The v)5.139 F .139(alue of)-.25 F F2(limit)2.729 E F0 .139
 (can be a number in the unit speci\214ed for the resource or one)3.319 F
-.741(of the special v)144 477.6 R(alues)-.25 E F2(hard)3.241 E F0(,)A F2
-(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F2(unlimited)3.241 E F0 3.241(,w)
+.741(of the special v)144 680.4 R(alues)-.25 E F1(hard)3.241 E F0(,)A F1
+(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F1(unlimited)3.241 E F0 3.241(,w)
 C .741(hich stand for the current hard limit, the current)-3.241 F .78
-(soft limit, and no limit, respecti)144 489.6 R -.15(ve)-.25 G(ly).15 E
-5.78(.I)-.65 G(f)-5.78 E F3(limit)3.37 E F0 .78
+(soft limit, and no limit, respecti)144 692.4 R -.15(ve)-.25 G(ly).15 E
+5.78(.I)-.65 G(f)-5.78 E F2(limit)3.37 E F0 .78
 (is omitted, the current v)3.96 F .78(alue of the soft limit of the)-.25
-F .498(resource is printed, unless the)144 501.6 R F2<ad48>2.999 E F0
+F .498(resource is printed, unless the)144 704.4 R F1<ad48>2.999 E F0
 .499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .499
 (more than one resource is speci\214ed, the)2.999 F
-(limit name and unit are printed before the v)144 513.6 Q 2.5
-(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F2
-<ad61>144 525.6 Q F0(All current limits are reported)25.3 E F2<ad62>144
-537.6 Q F0(The maximum sock)24.74 E(et b)-.1 E(uf)-.2 E(fer size)-.25 E
-F2<ad63>144 549.6 Q F0(The maximum size of core \214les created)25.86 E
-F2<ad64>144 561.6 Q F0(The maximum size of a process')24.74 E 2.5(sd)
--.55 G(ata se)-2.5 E(gment)-.15 E F2<ad65>144 573.6 Q F0
-(The maximum scheduling priority \("nice"\))25.86 E F2<ad66>144 585.6 Q
-F0(The maximum size of \214les written by the shell and its children)
-26.97 E F2<ad69>144 597.6 Q F0(The maximum number of pending signals)
-27.52 E F2<ad6c>144 609.6 Q F0(The maximum size that may be lock)27.52 E
-(ed into memory)-.1 E F2<ad6d>144 621.6 Q F0
-(The maximum resident set size \(man)21.97 E 2.5(ys)-.15 G
-(ystems do not honor this limit\))-2.5 E F2<ad6e>144 633.6 Q F0 .791(Th\
-e maximum number of open \214le descriptors \(most systems do not allo)
-24.74 F 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F(be set\))180
-645.6 Q F2<ad70>144 657.6 Q F0
-(The pipe size in 512-byte blocks \(this may not be set\))24.74 E F2
-<ad71>144 669.6 Q F0
-(The maximum number of bytes in POSIX message queues)24.74 E F2<ad72>144
-681.6 Q F0(The maximum real-time scheduling priority)25.86 E F2<ad73>144
-693.6 Q F0(The maximum stack size)26.41 E F2<ad74>144 705.6 Q F0
-(The maximum amount of cpu time in seconds)26.97 E F2<ad75>144 717.6 Q
-F0(The maximum number of processes a)24.74 E -.25(va)-.2 G
-(ilable to a single user).25 E(GNU Bash 4.2)72 768 Q(2011 July 7)151.505
-E(69)200.665 E 0 Cg EP
+(limit name and unit are printed before the v)144 716.4 Q 2.5
+(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E
+(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(69)185.115 E 0 Cg EP
 %%Page: 70 70
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF<ad76>144 84 Q F0 .47
+-.35 E/F1 10/Times-Bold@0 SF<ad61>144 84 Q F0
+(All current limits are reported)25.3 E F1<ad62>144 96 Q F0
+(The maximum sock)24.74 E(et b)-.1 E(uf)-.2 E(fer size)-.25 E F1<ad63>
+144 108 Q F0(The maximum size of core \214les created)25.86 E F1<ad64>
+144 120 Q F0(The maximum size of a process')24.74 E 2.5(sd)-.55 G
+(ata se)-2.5 E(gment)-.15 E F1<ad65>144 132 Q F0
+(The maximum scheduling priority \("nice"\))25.86 E F1<ad66>144 144 Q F0
+(The maximum size of \214les written by the shell and its children)26.97
+E F1<ad69>144 156 Q F0(The maximum number of pending signals)27.52 E F1
+<ad6c>144 168 Q F0(The maximum size that may be lock)27.52 E
+(ed into memory)-.1 E F1<ad6d>144 180 Q F0
+(The maximum resident set size \(man)21.97 E 2.5(ys)-.15 G
+(ystems do not honor this limit\))-2.5 E F1<ad6e>144 192 Q F0 .791(The \
+maximum number of open \214le descriptors \(most systems do not allo)
+24.74 F 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F(be set\))180
+204 Q F1<ad70>144 216 Q F0
+(The pipe size in 512-byte blocks \(this may not be set\))24.74 E F1
+<ad71>144 228 Q F0(The maximum number of bytes in POSIX message queues)
+24.74 E F1<ad72>144 240 Q F0(The maximum real-time scheduling priority)
+25.86 E F1<ad73>144 252 Q F0(The maximum stack size)26.41 E F1<ad74>144
+264 Q F0(The maximum amount of cpu time in seconds)26.97 E F1<ad75>144
+276 Q F0(The maximum number of processes a)24.74 E -.25(va)-.2 G
+(ilable to a single user).25 E F1<ad76>144 288 Q F0 .47
 (The maximum amount of virtual memory a)25.3 F -.25(va)-.2 G .47
-(ilable to the shell and, on some systems, to).25 F(its children)180 96
-Q F1<ad78>144 108 Q F0(The maximum number of \214le locks)25.3 E F1
-<ad54>144 120 Q F0(The maximum number of threads)23.63 E(If)144 136.8 Q
-/F2 10/Times-Italic@0 SF(limit)2.933 E F0 .343(is gi)3.523 F -.15(ve)
--.25 G .343(n, it is the ne).15 F 2.843(wv)-.25 G .343
-(alue of the speci\214ed resource \(the)-3.093 F F1<ad61>2.843 E F0 .343
-(option is display only\).)2.843 F .343(If no)5.343 F .175(option is gi)
-144 148.8 R -.15(ve)-.25 G .175(n, then).15 F F1<ad66>2.675 E F0 .175
-(is assumed.)2.675 F -1.11(Va)5.175 G .175
-(lues are in 1024-byte increments, e)1.11 F .176(xcept for)-.15 F F1
-<ad74>2.676 E F0 2.676(,w)C .176(hich is in)-2.676 F(seconds,)144 160.8
-Q F1<ad70>2.516 E F0 2.516(,w)C .016
-(hich is in units of 512-byte blocks, and)-2.516 F F1<ad54>2.516 E F0(,)
-A F1<ad62>2.515 E F0(,)A F1<ad6e>2.515 E F0 2.515(,a)C(nd)-2.515 E F1
-<ad75>2.515 E F0 2.515(,w)C .015(hich are unscaled v)-2.515 F(al-)-.25 E
-3.787(ues. The)144 172.8 R 1.287(return status is 0 unless an in)3.787 F
--.25(va)-.4 G 1.287(lid option or ar).25 F 1.287
+(ilable to the shell and, on some systems, to).25 F(its children)180 300
+Q F1<ad78>144 312 Q F0(The maximum number of \214le locks)25.3 E F1
+<ad54>144 324 Q F0(The maximum number of threads)23.63 E(If)144 340.8 Q
+/F2 10/Times-Italic@0 SF(limit)3.058 E F0 .468(is gi)3.648 F -.15(ve)
+-.25 G .468(n, and the).15 F F1<ad61>2.968 E F0 .468
+(option is not used,)2.968 F F2(limit)2.968 E F0 .468(is the ne)2.968 F
+2.968(wv)-.25 G .468(alue of the speci\214ed resource.)-3.218 F(If)5.468
+E .044(no option is gi)144 352.8 R -.15(ve)-.25 G .044(n, then).15 F F1
+<ad66>2.544 E F0 .045(is assumed.)2.545 F -1.11(Va)5.045 G .045
+(lues are in 1024-byte increments, e)1.11 F .045(xcept for)-.15 F F1
+<ad74>2.545 E F0 2.545(,w)C .045(hich is)-2.545 F .403(in seconds;)144
+364.8 R F1<ad70>2.903 E F0 2.903(,w)C .402
+(hich is in units of 512-byte blocks; and)-2.903 F F1<ad54>2.902 E F0(,)
+A F1<ad62>2.902 E F0(,)A F1<ad6e>2.902 E F0 2.902(,a)C(nd)-2.902 E F1
+<ad75>2.902 E F0 2.902(,w)C .402(hich are unscaled)-2.902 F -.25(va)144
+376.8 S 3.082(lues. The).25 F .583(return status is 0 unless an in)3.083
+F -.25(va)-.4 G .583(lid option or ar).25 F .583
 (gument is supplied, or an error occurs)-.18 F(while setting a ne)144
-184.8 Q 2.5(wl)-.25 G(imit.)-2.5 E F1(umask)108 201.6 Q F0([)2.5 E F1
+388.8 Q 2.5(wl)-.25 G(imit.)-2.5 E F1(umask)108 405.6 Q F0([)2.5 E F1
 <ad70>A F0 2.5(][)C F1<ad53>-2.5 E F0 2.5(][)C F2(mode)-2.5 E F0(])A .2
-(The user \214le-creation mask is set to)144 213.6 R F2(mode)2.7 E F0
+(The user \214le-creation mask is set to)144 417.6 R F2(mode)2.7 E F0
 5.2(.I).18 G(f)-5.2 E F2(mode)3.08 E F0(be)2.88 E .2
 (gins with a digit, it is interpreted as an octal)-.15 F .066(number; o\
 therwise it is interpreted as a symbolic mode mask similar to that acce\
-pted by)144 225.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
-237.6 Q F2(mode)3.263 E F0 .382(is omitted, the current v)3.063 F .382
+pted by)144 429.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
+441.6 Q F2(mode)3.263 E F0 .382(is omitted, the current v)3.063 F .382
 (alue of the mask is printed.)-.25 F(The)5.382 E F1<ad53>2.882 E F0 .382
 (option causes the mask to be)2.882 F .547
-(printed in symbolic form; the def)144 249.6 R .547
+(printed in symbolic form; the def)144 453.6 R .547
 (ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G
 (he)-3.047 E F1<ad70>3.047 E F0 .547(option is supplied, and)3.047 F F2
-(mode)144.38 261.6 Q F0 .552
+(mode)144.38 465.6 Q F0 .552
 (is omitted, the output is in a form that may be reused as input.)3.232
-F .551(The return status is 0 if the)5.551 F(mode w)144 273.6 Q
+F .551(The return status is 0 if the)5.551 F(mode w)144 477.6 Q
 (as successfully changed or if no)-.1 E F2(mode)2.5 E F0(ar)2.5 E
 (gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F1
-(unalias)108 290.4 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
-(...])2.5 E(Remo)144 302.4 Q 1.955 -.15(ve e)-.15 H(ach).15 E F2(name)
+(unalias)108 494.4 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
+(...])2.5 E(Remo)144 506.4 Q 1.955 -.15(ve e)-.15 H(ach).15 E F2(name)
 4.155 E F0 1.655(from the list of de\214ned aliases.)4.155 F(If)6.655 E
 F1<ad61>4.155 E F0 1.655(is supplied, all alias de\214nitions are)4.155
-F(remo)144 314.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
+F(remo)144 518.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
 (alue is true unless a supplied)-.25 E F2(name)2.86 E F0
-(is not a de\214ned alias.)2.68 E F1(unset)108 331.2 Q F0<5bad>2.5 E F1
-(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 343.2 S 3.828
+(is not a de\214ned alias.)2.68 E F1(unset)108 535.2 Q F0<5bad>2.5 E F1
+(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 547.2 S 3.828
 (re).15 G(ach)-3.828 E F2(name)3.828 E F0 3.828(,r).18 G(emo)-3.828 E
 1.628 -.15(ve t)-.15 H 1.328(he corresponding v).15 F 1.327
 (ariable or function.)-.25 F 1.327(If the)6.327 F F1<ad76>3.827 E F0
 1.327(option is gi)3.827 F -.15(ve)-.25 G 1.327(n, each).15 F F2(name)
-144.36 355.2 Q F0 1.55(refers to a shell v)4.23 F 1.551
+144.36 559.2 Q F0 1.55(refers to a shell v)4.23 F 1.551
 (ariable, and that v)-.25 F 1.551(ariable is remo)-.25 F -.15(ve)-.15 G
 4.051(d. Read-only).15 F -.25(va)4.051 G 1.551(riables may not be).25 F
-4.642(unset. If)144 367.2 R F1<ad66>4.642 E F0 2.142
+4.642(unset. If)144 571.2 R F1<ad66>4.642 E F0 2.142
 (is speci\214ed, each)4.642 F F2(name)5.001 E F0 2.141
 (refers to a shell function, and the function de\214nition is)4.821 F
-(remo)144 379.2 Q -.15(ve)-.15 G 2.898(d. If).15 F .398
+(remo)144 583.2 Q -.15(ve)-.15 G 2.898(d. If).15 F .398
 (no options are supplied, each)2.898 F F2(name)2.898 E F0 .398
 (refers to a v)2.898 F .399(ariable; if there is no v)-.25 F .399
-(ariable by that)-.25 F .579(name, an)144 391.2 R 3.079(yf)-.15 G .579
+(ariable by that)-.25 F .579(name, an)144 595.2 R 3.079(yf)-.15 G .579
 (unction with that name is unset.)-3.079 F .579(Each unset v)5.579 F
 .579(ariable or function is remo)-.25 F -.15(ve)-.15 G 3.078(df).15 G
-.578(rom the)-3.078 F(en)144 403.2 Q .045
+.578(rom the)-3.078 F(en)144 607.2 Q .045
 (vironment passed to subsequent commands.)-.4 F .046(If an)5.046 F 2.546
 (yo)-.15 G(f)-2.546 E/F3 9/Times-Bold@0 SF(COMP_W)2.546 E(ORDBREAKS)-.09
 E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM)2.296 E F4(,)A F3(SEC-)2.296 E
-(ONDS)144 415.2 Q F4(,)A F3(LINENO)2.641 E F4(,)A F3(HISTCMD)2.641 E F4
+(ONDS)144 619.2 Q F4(,)A F3(LINENO)2.641 E F4(,)A F3(HISTCMD)2.641 E F4
 (,)A F3(FUNCN)2.641 E(AME)-.18 E F4(,)A F3(GR)2.64 E(OUPS)-.27 E F4(,)A
 F0(or)2.64 E F3(DIRST)2.89 E -.495(AC)-.81 G(K).495 E F0 .39
 (are unset, the)2.64 F 2.89(yl)-.15 G .39(ose their spe-)-2.89 F .726
-(cial properties, e)144 427.2 R -.15(ve)-.25 G 3.226(ni).15 G 3.226(ft)
+(cial properties, e)144 631.2 R -.15(ve)-.25 G 3.226(ni).15 G 3.226(ft)
 -3.226 G(he)-3.226 E 3.226(ya)-.15 G .726(re subsequently reset.)-3.226
 F .726(The e)5.726 F .727(xit status is true unless a)-.15 F F2(name)
-3.587 E F0 .727(is read-)3.407 F(only)144 439.2 Q(.)-.65 E F1(wait)108
-456 Q F0([)2.5 E F2 2.5(n.)C(..)-2.5 E F0(])A -.8(Wa)144 468 S .288
+3.587 E F0 .727(is read-)3.407 F(only)144 643.2 Q(.)-.65 E F1(wait)108
+660 Q F0([)2.5 E F2 2.5(n.)C(..)-2.5 E F0(])A -.8(Wa)144 672 S .288
 (it for each speci\214ed process and return its termination status.).8 F
 (Each)5.288 E F2(n)3.148 E F0 .287(may be a process ID or a)3.028 F .722
-(job speci\214cation; if a job spec is gi)144 480 R -.15(ve)-.25 G .722
+(job speci\214cation; if a job spec is gi)144 684 R -.15(ve)-.25 G .722
 (n, all processes in that job').15 F 3.222(sp)-.55 G .722(ipeline are w)
 -3.222 F .722(aited for)-.1 F 5.722(.I)-.55 G(f)-5.722 E F2(n)3.583 E F0
-(is)3.463 E 1.266(not gi)144 492 R -.15(ve)-.25 G 1.266
+(is)3.463 E 1.266(not gi)144 696 R -.15(ve)-.25 G 1.266
 (n, all currently acti).15 F 1.566 -.15(ve c)-.25 H 1.265
 (hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.265
 (nd the return status is zero.)-3.765 F(If)6.265 E F2(n)4.125 E F0 .456
-(speci\214es a non-e)144 504 R .457
+(speci\214es a non-e)144 708 R .457
 (xistent process or job, the return status is 127.)-.15 F .457
-(Otherwise, the return status is the)5.457 F -.15(ex)144 516 S
+(Otherwise, the return status is the)5.457 F -.15(ex)144 720 S
 (it status of the last process or job w).15 E(aited for)-.1 E(.)-.55 E
-/F5 10.95/Times-Bold@0 SF(RESTRICTED SHELL)72 532.8 Q F0(If)108 544.8 Q
-F1(bash)4.397 E F0 1.897(is started with the name)4.397 F F1(rbash)4.397
-E F0 4.397(,o)C 4.397(rt)-4.397 G(he)-4.397 E F1<ad72>4.397 E F0 1.896
-(option is supplied at in)4.397 F -.2(vo)-.4 G 1.896
-(cation, the shell becomes).2 F 3.445(restricted. A)108 556.8 R .945
-(restricted shell is used to set up an en)3.445 F .946
-(vironment more controlled than the standard shell.)-.4 F(It)5.946 E
-(beha)108 568.8 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E F1
-(bash)2.5 E F0(with the e)2.5 E(xception that the follo)-.15 E
-(wing are disallo)-.25 E(wed or not performed:)-.25 E 32.5<8363>108
-585.6 S(hanging directories with)-32.5 E F1(cd)2.5 E F0 32.5<8373>108
-602.4 S(etting or unsetting the v)-32.5 E(alues of)-.25 E F3(SHELL)2.5 E
-F4(,)A F3 -.666(PA)2.25 G(TH)-.189 E F4(,)A F3(ENV)2.25 E F4(,)A F0(or)
-2.25 E F3 -.27(BA)2.5 G(SH_ENV).27 E F0 32.5<8373>108 619.2 S
-(pecifying command names containing)-32.5 E F1(/)2.5 E F0 32.5<8373>108
-636 S(pecifying a \214le name containing a)-32.5 E F1(/)2.5 E F0
-(as an ar)2.5 E(gument to the)-.18 E F1(.)2.5 E F0 -.2(bu)5 G
-(iltin command).2 E 32.5<8373>108 652.8 S .45
-(pecifying a \214lename containing a slash as an ar)-32.5 F .449
-(gument to the)-.18 F F1<ad70>2.949 E F0 .449(option to the)2.949 F F1
-(hash)2.949 E F0 -.2(bu)2.949 G .449(iltin com-).2 F(mand)144 664.8 Q
-32.5<8369>108 681.6 S(mporting function de\214nitions from the shell en)
--32.5 E(vironment at startup)-.4 E 32.5<8370>108 698.4 S(arsing the v)
--32.5 E(alue of)-.25 E F3(SHELLOPTS)2.5 E F0(from the shell en)2.25 E
-(vironment at startup)-.4 E 32.5<8372>108 715.2 S(edirecting output usi\
-ng the >, >|, <>, >&, &>, and >> redirection operators)-32.5 E
-(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E(70)200.665 E 0 Cg EP
+(GNU Bash 4.2)72 768 Q(2011 September 25)135.955 E(70)185.115 E 0 Cg EP
 %%Page: 71 71
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E 32.5<8375>108 84 S(sing the)-32.5 E/F1 10/Times-Bold@0 SF(exec)
-2.5 E F0 -.2(bu)2.5 G
+-.35 E/F1 10.95/Times-Bold@0 SF(RESTRICTED SHELL)72 84 Q F0(If)108 96 Q
+/F2 10/Times-Bold@0 SF(bash)4.397 E F0 1.897(is started with the name)
+4.397 F F2(rbash)4.397 E F0 4.397(,o)C 4.397(rt)-4.397 G(he)-4.397 E F2
+<ad72>4.397 E F0 1.896(option is supplied at in)4.397 F -.2(vo)-.4 G
+1.896(cation, the shell becomes).2 F 3.445(restricted. A)108 108 R .945
+(restricted shell is used to set up an en)3.445 F .946
+(vironment more controlled than the standard shell.)-.4 F(It)5.946 E
+(beha)108 120 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E F2(bash)
+2.5 E F0(with the e)2.5 E(xception that the follo)-.15 E
+(wing are disallo)-.25 E(wed or not performed:)-.25 E 32.5<8363>108
+136.8 S(hanging directories with)-32.5 E F2(cd)2.5 E F0 32.5<8373>108
+153.6 S(etting or unsetting the v)-32.5 E(alues of)-.25 E/F3 9
+/Times-Bold@0 SF(SHELL)2.5 E/F4 9/Times-Roman@0 SF(,)A F3 -.666(PA)2.25
+G(TH)-.189 E F4(,)A F3(ENV)2.25 E F4(,)A F0(or)2.25 E F3 -.27(BA)2.5 G
+(SH_ENV).27 E F0 32.5<8373>108 170.4 S
+(pecifying command names containing)-32.5 E F2(/)2.5 E F0 32.5<8373>108
+187.2 S(pecifying a \214lename containing a)-32.5 E F2(/)2.5 E F0
+(as an ar)2.5 E(gument to the)-.18 E F2(.)2.5 E F0 -.2(bu)5 G
+(iltin command).2 E 32.5<8373>108 204 S .45
+(pecifying a \214lename containing a slash as an ar)-32.5 F .449
+(gument to the)-.18 F F2<ad70>2.949 E F0 .449(option to the)2.949 F F2
+(hash)2.949 E F0 -.2(bu)2.949 G .449(iltin com-).2 F(mand)144 216 Q 32.5
+<8369>108 232.8 S(mporting function de\214nitions from the shell en)
+-32.5 E(vironment at startup)-.4 E 32.5<8370>108 249.6 S(arsing the v)
+-32.5 E(alue of)-.25 E F3(SHELLOPTS)2.5 E F0(from the shell en)2.25 E
+(vironment at startup)-.4 E 32.5<8372>108 266.4 S(edirecting output usi\
+ng the >, >|, <>, >&, &>, and >> redirection operators)-32.5 E 32.5
+<8375>108 283.2 S(sing the)-32.5 E F2(exec)2.5 E F0 -.2(bu)2.5 G
 (iltin command to replace the shell with another command).2 E 32.5<8361>
-108 100.8 S(dding or deleting b)-32.5 E(uiltin commands with the)-.2 E
-F1<ad66>2.5 E F0(and)2.5 E F1<ad64>2.5 E F0(options to the)2.5 E F1
-(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8375>108 117.6 S
-(sing the)-32.5 E F1(enable)2.5 E F0 -.2(bu)2.5 G
+108 300 S(dding or deleting b)-32.5 E(uiltin commands with the)-.2 E F2
+<ad66>2.5 E F0(and)2.5 E F2<ad64>2.5 E F0(options to the)2.5 E F2
+(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8375>108 316.8 S
+(sing the)-32.5 E F2(enable)2.5 E F0 -.2(bu)2.5 G
 (iltin command to enable disabled shell b).2 E(uiltins)-.2 E 32.5<8373>
-108 134.4 S(pecifying the)-32.5 E F1<ad70>2.5 E F0(option to the)2.5 E
-F1(command)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8374>108 151.2
-S(urning of)-32.5 E 2.5(fr)-.25 G(estricted mode with)-2.5 E F1(set +r)
-2.5 E F0(or)2.5 E F1(set +o r)2.5 E(estricted)-.18 E F0(.)A
-(These restrictions are enforced after an)108 168 Q 2.5(ys)-.15 G
+108 333.6 S(pecifying the)-32.5 E F2<ad70>2.5 E F0(option to the)2.5 E
+F2(command)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8374>108 350.4
+S(urning of)-32.5 E 2.5(fr)-.25 G(estricted mode with)-2.5 E F2(set +r)
+2.5 E F0(or)2.5 E F2(set +o r)2.5 E(estricted)-.18 E F0(.)A
+(These restrictions are enforced after an)108 367.2 Q 2.5(ys)-.15 G
 (tartup \214les are read.)-2.5 E 1.566
-(When a command that is found to be a shell script is e)108 184.8 R -.15
-(xe)-.15 G 1.567(cuted \(see).15 F/F2 9/Times-Bold@0 SF 1.567
-(COMMAND EXECUTION)4.067 F F0(abo)3.817 E -.15(ve)-.15 G(\),).15 E F1
-(rbash)108 196.8 Q F0(turns of)2.5 E 2.5(fa)-.25 G .3 -.15(ny r)-2.5 H
-(estrictions in the shell spa).15 E(wned to e)-.15 E -.15(xe)-.15 G
-(cute the script.).15 E/F3 10.95/Times-Bold@0 SF(SEE ALSO)72 213.6 Q/F4
-10/Times-Italic@0 SF(Bash Refer)108 225.6 Q(ence Manual)-.37 E F0 2.5
-(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F4
-(The Gnu Readline Libr)108 237.6 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E
-(ox and Chet Rame)-.15 E(y)-.15 E F4(The Gnu History Libr)108 249.6 Q
+(When a command that is found to be a shell script is e)108 384 R -.15
+(xe)-.15 G 1.567(cuted \(see).15 F F3 1.567(COMMAND EXECUTION)4.067 F F0
+(abo)3.817 E -.15(ve)-.15 G(\),).15 E F2(rbash)108 396 Q F0(turns of)2.5
+E 2.5(fa)-.25 G .3 -.15(ny r)-2.5 H(estrictions in the shell spa).15 E
+(wned to e)-.15 E -.15(xe)-.15 G(cute the script.).15 E F1(SEE ALSO)72
+412.8 Q/F5 10/Times-Italic@0 SF(Bash Refer)108 424.8 Q(ence Manual)-.37
+E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F5
+(The Gnu Readline Libr)108 436.8 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E
+(ox and Chet Rame)-.15 E(y)-.15 E F5(The Gnu History Libr)108 448.8 Q
 (ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E
-F4 -.8(Po)108 261.6 S(rtable Oper).8 E
+F5 -.8(Po)108 460.8 S(rtable Oper).8 E
 (ating System Interface \(POSIX\) P)-.15 E(art 2: Shell and Utilities)
--.8 E F0 2.5(,I)C(EEE)-2.5 E F4(sh)108 273.6 Q F0(\(1\),)A F4(ksh)2.5 E
-F0(\(1\),)A F4(csh)2.5 E F0(\(1\))A F4(emacs)108 285.6 Q F0(\(1\),)A F4
-(vi)2.5 E F0(\(1\))A F4 -.37(re)108 297.6 S(adline).37 E F0(\(3\))A F3
-(FILES)72 314.4 Q F4(/bin/bash)109.666 326.4 Q F0(The)144 338.4 Q F1
-(bash)2.5 E F0 -.15(exe)2.5 G(cutable).15 E F4(/etc/pr)109.666 350.4 Q
-(o\214le)-.45 E F0(The systemwide initialization \214le, e)144 362.4 Q
--.15(xe)-.15 G(cuted for login shells).15 E F4(~/.bash_pr)109.666 374.4
-Q(o\214le)-.45 E F0(The personal initialization \214le, e)144 386.4 Q
--.15(xe)-.15 G(cuted for login shells).15 E F4(~/.bashr)109.666 398.4 Q
-(c)-.37 E F0(The indi)144 410.4 Q(vidual per)-.25 E(-interacti)-.2 E
--.15(ve)-.25 G(-shell startup \214le).15 E F4(~/.bash_lo)109.666 422.4 Q
-(gout)-.1 E F0(The indi)144 434.4 Q
+-.8 E F0 2.5(,I)C(EEE)-2.5 E F5(sh)108 472.8 Q F0(\(1\),)A F5(ksh)2.5 E
+F0(\(1\),)A F5(csh)2.5 E F0(\(1\))A F5(emacs)108 484.8 Q F0(\(1\),)A F5
+(vi)2.5 E F0(\(1\))A F5 -.37(re)108 496.8 S(adline).37 E F0(\(3\))A F1
+(FILES)72 513.6 Q F5(/bin/bash)109.666 525.6 Q F0(The)144 537.6 Q F2
+(bash)2.5 E F0 -.15(exe)2.5 G(cutable).15 E F5(/etc/pr)109.666 549.6 Q
+(o\214le)-.45 E F0(The systemwide initialization \214le, e)144 561.6 Q
+-.15(xe)-.15 G(cuted for login shells).15 E F5(~/.bash_pr)109.666 573.6
+Q(o\214le)-.45 E F0(The personal initialization \214le, e)144 585.6 Q
+-.15(xe)-.15 G(cuted for login shells).15 E F5(~/.bashr)109.666 597.6 Q
+(c)-.37 E F0(The indi)144 609.6 Q(vidual per)-.25 E(-interacti)-.2 E
+-.15(ve)-.25 G(-shell startup \214le).15 E F5(~/.bash_lo)109.666 621.6 Q
+(gout)-.1 E F0(The indi)144 633.6 Q
 (vidual login shell cleanup \214le, e)-.25 E -.15(xe)-.15 G
-(cuted when a login shell e).15 E(xits)-.15 E F4(~/.inputr)109.666 446.4
-Q(c)-.37 E F0(Indi)144 458.4 Q(vidual)-.25 E F4 -.37(re)2.5 G(adline).37
-E F0(initialization \214le)2.5 E F3 -.548(AU)72 475.2 S(THORS).548 E F0
-(Brian F)108 487.2 Q(ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15 E
-(bfox@gnu.or)108 499.2 Q(g)-.18 E(Chet Rame)108 516 Q 1.3 -.65(y, C)-.15
-H(ase W).65 E(estern Reserv)-.8 E 2.5(eU)-.15 G(ni)-2.5 E -.15(ve)-.25 G
-(rsity).15 E(chet.rame)108 528 Q(y@case.edu)-.15 E F3 -.11(BU)72 544.8 S
-2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .568(If you \214nd a b)108
-556.8 R .568(ug in)-.2 F F1(bash,)3.068 E F0 .568(you should report it.)
-3.068 F .568(But \214rst, you should mak)5.568 F 3.068(es)-.1 G .568
-(ure that it really is a b)-3.068 F .567(ug, and)-.2 F 5.625
-(that it appears in the latest v)108 568.8 R 5.625(ersion of)-.15 F F1
-(bash)8.125 E F0 10.625(.T)C 5.625(he latest v)-10.625 F 5.626
-(ersion is al)-.15 F -.1(wa)-.1 G 5.626(ys a).1 F -.25(va)-.2 G 5.626
-(ilable from).25 F F4(ftp://ftp.gnu.or)108 580.8 Q(g/pub/gnu/bash/)-.37
-E F0(.)A .411(Once you ha)108 597.6 R .711 -.15(ve d)-.2 H .411
-(etermined that a b).15 F .411(ug actually e)-.2 F .411(xists, use the)
--.15 F F4(bashb)3.18 E(ug)-.2 E F0 .41(command to submit a b)3.13 F .41
-(ug report.)-.2 F(If)5.41 E .594(you ha)108 609.6 R .894 -.15(ve a \214)
--.2 H .595(x, you are encouraged to mail that as well!).15 F .595
-(Suggestions and `philosophical' b)5.595 F .595(ug reports may)-.2 F
-(be mailed to)108 621.6 Q F4 -.2(bu)2.5 G(g-bash@gnu.or).2 E(g)-.37 E F0
-(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E F1(gnu.bash.b)2.5 E(ug)
--.2 E F0(.)A(ALL b)108 638.4 Q(ug reports should include:)-.2 E(The v)
-108 655.2 Q(ersion number of)-.15 E F1(bash)2.5 E F0(The hardw)108 667.2
-Q(are and operating system)-.1 E(The compiler used to compile)108 679.2
-Q 2.5(Ad)108 691.2 S(escription of the b)-2.5 E(ug beha)-.2 E(viour)-.2
-E 2.5(As)108 703.2 S(hort script or `recipe' which e)-2.5 E -.15(xe)-.15
-G(rcises the b).15 E(ug)-.2 E F4(bashb)108.27 720 Q(ug)-.2 E F0
-(inserts the \214rst three items automatically into the template it pro)
-2.72 E(vides for \214ling a b)-.15 E(ug report.)-.2 E(GNU Bash 4.2)72
-768 Q(2011 July 7)151.505 E(71)200.665 E 0 Cg EP
+(cuted when a login shell e).15 E(xits)-.15 E F5(~/.inputr)109.666 645.6
+Q(c)-.37 E F0(Indi)144 657.6 Q(vidual)-.25 E F5 -.37(re)2.5 G(adline).37
+E F0(initialization \214le)2.5 E F1 -.548(AU)72 674.4 S(THORS).548 E F0
+(Brian F)108 686.4 Q(ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15 E
+(bfox@gnu.or)108 698.4 Q(g)-.18 E(Chet Rame)108 715.2 Q 1.3 -.65(y, C)
+-.15 H(ase W).65 E(estern Reserv)-.8 E 2.5(eU)-.15 G(ni)-2.5 E -.15(ve)
+-.25 G(rsity).15 E(chet.rame)108 727.2 Q(y@case.edu)-.15 E(GNU Bash 4.2)
+72 768 Q(2011 September 25)135.955 E(71)185.115 E 0 Cg EP
 %%Page: 72 72
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(Comments and b)108 84 Q
-(ug reports concerning this manual page should be directed to)-.2 E/F1
-10/Times-Italic@0 SF -.15(ch)2.5 G(et.r).15 E(ame)-.15 E(y@case)-.3 E
-(.edu)-.15 E F0(.).25 E/F2 10.95/Times-Bold@0 SF -.11(BU)72 100.8 S(GS)
-.11 E F0(It')108 112.8 Q 2.5(st)-.55 G(oo big and too slo)-2.5 E -.65
-(w.)-.25 G 1.869(There are some subtle dif)108 129.6 R 1.869
-(ferences between)-.25 F/F3 10/Times-Bold@0 SF(bash)4.369 E F0 1.869
-(and traditional v)4.369 F 1.869(ersions of)-.15 F F3(sh)4.368 E F0
-4.368(,m)C 1.868(ostly because of the)-4.368 F/F4 9/Times-Bold@0 SF
-(POSIX)108 141.6 Q F0(speci\214cation.)2.25 E
-(Aliases are confusing in some uses.)108 158.4 Q(Shell b)108 175.2 Q
+-.35 E/F1 10.95/Times-Bold@0 SF -.11(BU)72 84 S 2.738(GR).11 G(EPOR)
+-2.738 E(TS)-.438 E F0 .568(If you \214nd a b)108 96 R .568(ug in)-.2 F
+/F2 10/Times-Bold@0 SF(bash,)3.068 E F0 .568(you should report it.)3.068
+F .568(But \214rst, you should mak)5.568 F 3.068(es)-.1 G .568
+(ure that it really is a b)-3.068 F .567(ug, and)-.2 F 5.625
+(that it appears in the latest v)108 108 R 5.625(ersion of)-.15 F F2
+(bash)8.125 E F0 10.625(.T)C 5.625(he latest v)-10.625 F 5.626
+(ersion is al)-.15 F -.1(wa)-.1 G 5.626(ys a).1 F -.25(va)-.2 G 5.626
+(ilable from).25 F/F3 10/Times-Italic@0 SF(ftp://ftp.gnu.or)108 120 Q
+(g/pub/gnu/bash/)-.37 E F0(.)A .411(Once you ha)108 136.8 R .711 -.15
+(ve d)-.2 H .411(etermined that a b).15 F .411(ug actually e)-.2 F .411
+(xists, use the)-.15 F F3(bashb)3.18 E(ug)-.2 E F0 .41
+(command to submit a b)3.13 F .41(ug report.)-.2 F(If)5.41 E .594
+(you ha)108 148.8 R .894 -.15(ve a \214)-.2 H .595
+(x, you are encouraged to mail that as well!).15 F .595
+(Suggestions and `philosophical' b)5.595 F .595(ug reports may)-.2 F
+(be mailed to)108 160.8 Q F3 -.2(bu)2.5 G(g-bash@gnu.or).2 E(g)-.37 E F0
+(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E F2(gnu.bash.b)2.5 E(ug)
+-.2 E F0(.)A(ALL b)108 177.6 Q(ug reports should include:)-.2 E(The v)
+108 194.4 Q(ersion number of)-.15 E F2(bash)2.5 E F0(The hardw)108 206.4
+Q(are and operating system)-.1 E(The compiler used to compile)108 218.4
+Q 2.5(Ad)108 230.4 S(escription of the b)-2.5 E(ug beha)-.2 E(viour)-.2
+E 2.5(As)108 242.4 S(hort script or `recipe' which e)-2.5 E -.15(xe)-.15
+G(rcises the b).15 E(ug)-.2 E F3(bashb)108.27 259.2 Q(ug)-.2 E F0
+(inserts the \214rst three items automatically into the template it pro)
+2.72 E(vides for \214ling a b)-.15 E(ug report.)-.2 E(Comments and b)108
+276 Q(ug reports concerning this manual page should be directed to)-.2 E
+F3 -.15(ch)2.5 G(et.r).15 E(ame)-.15 E(y@case)-.3 E(.edu)-.15 E F0(.).25
+E F1 -.11(BU)72 292.8 S(GS).11 E F0(It')108 304.8 Q 2.5(st)-.55 G
+(oo big and too slo)-2.5 E -.65(w.)-.25 G 1.869
+(There are some subtle dif)108 321.6 R 1.869(ferences between)-.25 F F2
+(bash)4.369 E F0 1.869(and traditional v)4.369 F 1.869(ersions of)-.15 F
+F2(sh)4.368 E F0 4.368(,m)C 1.868(ostly because of the)-4.368 F/F4 9
+/Times-Bold@0 SF(POSIX)108 333.6 Q F0(speci\214cation.)2.25 E
+(Aliases are confusing in some uses.)108 350.4 Q(Shell b)108 367.2 Q
 (uiltin commands and functions are not stoppable/restartable.)-.2 E
 1.315(Compound commands and command sequences of the form `a ; b ; c' a\
-re not handled gracefully when)108 192 R .39
-(process suspension is attempted.)108 204 R .389
+re not handled gracefully when)108 384 R .39
+(process suspension is attempted.)108 396 R .389
 (When a process is stopped, the shell immediately e)5.39 F -.15(xe)-.15
 G .389(cutes the ne).15 F .389(xt com-)-.15 F .192
-(mand in the sequence.)108 216 R .192(It suf)5.192 F .192(\214ces to pl\
+(mand in the sequence.)108 408 R .192(It suf)5.192 F .192(\214ces to pl\
 ace the sequence of commands between parentheses to force it into a)-.25
-F(subshell, which may be stopped as a unit.)108 228 Q(Array v)108 244.8
+F(subshell, which may be stopped as a unit.)108 420 Q(Array v)108 436.8
 Q(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E
-(There may be only one acti)108 261.6 Q .3 -.15(ve c)-.25 H
-(oprocess at a time.).15 E(GNU Bash 4.2)72 768 Q(2011 July 7)151.505 E
-(72)200.665 E 0 Cg EP
+(There may be only one acti)108 453.6 Q .3 -.15(ve c)-.25 H
+(oprocess at a time.).15 E(GNU Bash 4.2)72 768 Q(2011 September 25)
+135.955 E(72)185.115 E 0 Cg EP
 %%Trailer
 end
 %%EOF
index 9365a7412057651cc3f5c8385a42e7456250ba3b..9c4ec854c0bb0ee254d2679ff24eea60cc8165f9 100644 (file)
@@ -78,9 +78,9 @@
 @xrdef{Positional Parameters-title}{Positional Parameters}
 @xrdef{Positional Parameters-snt}{Section@tie 3.4.1}
 @xrdef{Shell Parameters-pg}{17}
-@xrdef{Positional Parameters-pg}{17}
 @xrdef{Special Parameters-title}{Special Parameters}
 @xrdef{Special Parameters-snt}{Section@tie 3.4.2}
+@xrdef{Positional Parameters-pg}{18}
 @xrdef{Special Parameters-pg}{18}
 @xrdef{Shell Expansions-title}{Shell Expansions}
 @xrdef{Shell Expansions-snt}{Section@tie 3.5}
 @xrdef{Command Substitution-snt}{Section@tie 3.5.4}
 @xrdef{Arithmetic Expansion-title}{Arithmetic Expansion}
 @xrdef{Arithmetic Expansion-snt}{Section@tie 3.5.5}
-@xrdef{Process Substitution-title}{Process Substitution}
-@xrdef{Process Substitution-snt}{Section@tie 3.5.6}
 @xrdef{Command Substitution-pg}{24}
 @xrdef{Arithmetic Expansion-pg}{24}
-@xrdef{Process Substitution-pg}{24}
+@xrdef{Process Substitution-title}{Process Substitution}
+@xrdef{Process Substitution-snt}{Section@tie 3.5.6}
 @xrdef{Word Splitting-title}{Word Splitting}
 @xrdef{Word Splitting-snt}{Section@tie 3.5.7}
 @xrdef{Filename Expansion-title}{Filename Expansion}
 @xrdef{Filename Expansion-snt}{Section@tie 3.5.8}
+@xrdef{Process Substitution-pg}{25}
 @xrdef{Word Splitting-pg}{25}
 @xrdef{Filename Expansion-pg}{25}
 @xrdef{Pattern Matching-title}{Pattern Matching}
 @xrdef{Command Search and Execution-snt}{Section@tie 3.7.2}
 @xrdef{Executing Commands-pg}{31}
 @xrdef{Simple Command Expansion-pg}{31}
-@xrdef{Command Search and Execution-pg}{31}
 @xrdef{Command Execution Environment-title}{Command Execution Environment}
 @xrdef{Command Execution Environment-snt}{Section@tie 3.7.3}
+@xrdef{Command Search and Execution-pg}{32}
 @xrdef{Command Execution Environment-pg}{32}
 @xrdef{Environment-title}{Environment}
 @xrdef{Environment-snt}{Section@tie 3.7.4}
+@xrdef{Environment-pg}{33}
 @xrdef{Exit Status-title}{Exit Status}
 @xrdef{Exit Status-snt}{Section@tie 3.7.5}
-@xrdef{Environment-pg}{33}
-@xrdef{Exit Status-pg}{33}
 @xrdef{Signals-title}{Signals}
 @xrdef{Signals-snt}{Section@tie 3.7.6}
+@xrdef{Exit Status-pg}{34}
+@xrdef{Signals-pg}{34}
 @xrdef{Shell Scripts-title}{Shell Scripts}
 @xrdef{Shell Scripts-snt}{Section@tie 3.8}
-@xrdef{Signals-pg}{34}
 @xrdef{Shell Scripts-pg}{35}
 @xrdef{Shell Builtin Commands-title}{Shell Builtin Commands}
 @xrdef{Shell Builtin Commands-snt}{Chapter@tie 4}
 @xrdef{Bourne Shell Builtins-pg}{37}
 @xrdef{Bash Builtins-title}{Bash Builtin Commands}
 @xrdef{Bash Builtins-snt}{Section@tie 4.2}
-@xrdef{Bash Builtins-pg}{43}
+@xrdef{Bash Builtins-pg}{44}
 @xrdef{Modifying Shell Behavior-title}{Modifying Shell Behavior}
 @xrdef{Modifying Shell Behavior-snt}{Section@tie 4.3}
 @xrdef{The Set Builtin-title}{The Set Builtin}
 @xrdef{The Set Builtin-snt}{Section@tie 4.3.1}
-@xrdef{Modifying Shell Behavior-pg}{53}
+@xrdef{Modifying Shell Behavior-pg}{54}
 @xrdef{The Set Builtin-pg}{54}
 @xrdef{The Shopt Builtin-title}{The Shopt Builtin}
 @xrdef{The Shopt Builtin-snt}{Section@tie 4.3.2}
-@xrdef{The Shopt Builtin-pg}{57}
+@xrdef{The Shopt Builtin-pg}{58}
 @xrdef{Special Builtins-title}{Special Builtins}
 @xrdef{Special Builtins-snt}{Section@tie 4.4}
-@xrdef{Special Builtins-pg}{62}
+@xrdef{Special Builtins-pg}{63}
 @xrdef{Shell Variables-title}{Shell Variables}
 @xrdef{Shell Variables-snt}{Chapter@tie 5}
 @xrdef{Bourne Shell Variables-title}{Bourne Shell Variables}
 @xrdef{Directory Stack Builtins-snt}{Section@tie 6.8.1}
 @xrdef{The Directory Stack-pg}{85}
 @xrdef{Directory Stack Builtins-pg}{85}
-@xrdef{Printing a Prompt-title}{Controlling the Prompt}
-@xrdef{Printing a Prompt-snt}{Section@tie 6.9}
-@xrdef{Printing a Prompt-pg}{86}
+@xrdef{Controlling the Prompt-title}{Controlling the Prompt}
+@xrdef{Controlling the Prompt-snt}{Section@tie 6.9}
+@xrdef{Controlling the Prompt-pg}{87}
 @xrdef{The Restricted Shell-title}{The Restricted Shell}
 @xrdef{The Restricted Shell-snt}{Section@tie 6.10}
 @xrdef{Bash POSIX Mode-title}{Bash POSIX Mode}
 @xrdef{Event Designators-title}{Event Designators}
 @xrdef{Event Designators-snt}{Section@tie 9.3.1}
 @xrdef{History Interaction-pg}{129}
-@xrdef{Event Designators-pg}{129}
 @xrdef{Word Designators-title}{Word Designators}
 @xrdef{Word Designators-snt}{Section@tie 9.3.2}
+@xrdef{Event Designators-pg}{130}
 @xrdef{Word Designators-pg}{130}
 @xrdef{Modifiers-title}{Modifiers}
 @xrdef{Modifiers-snt}{Section@tie 9.3.3}
index 65aa0499927b70198102433e40763180c3f1e274..86d187b8d6dffe92b5df975aacc216d7b7adafff 100644 (file)
@@ -5,7 +5,7 @@
 \entry{continue}{38}{\code {continue}}
 \entry{eval}{38}{\code {eval}}
 \entry{exec}{38}{\code {exec}}
-\entry{exit}{38}{\code {exit}}
+\entry{exit}{39}{\code {exit}}
 \entry{export}{39}{\code {export}}
 \entry{getopts}{39}{\code {getopts}}
 \entry{hash}{40}{\code {hash}}
@@ -19,7 +19,7 @@
 \entry{trap}{42}{\code {trap}}
 \entry{umask}{43}{\code {umask}}
 \entry{unset}{43}{\code {unset}}
-\entry{alias}{43}{\code {alias}}
+\entry{alias}{44}{\code {alias}}
 \entry{bind}{44}{\code {bind}}
 \entry{builtin}{45}{\code {builtin}}
 \entry{caller}{45}{\code {caller}}
 \entry{enable}{48}{\code {enable}}
 \entry{help}{48}{\code {help}}
 \entry{let}{48}{\code {let}}
-\entry{local}{48}{\code {local}}
+\entry{local}{49}{\code {local}}
 \entry{logout}{49}{\code {logout}}
 \entry{mapfile}{49}{\code {mapfile}}
 \entry{printf}{49}{\code {printf}}
 \entry{read}{50}{\code {read}}
 \entry{readarray}{51}{\code {readarray}}
-\entry{source}{51}{\code {source}}
+\entry{source}{52}{\code {source}}
 \entry{type}{52}{\code {type}}
 \entry{typeset}{52}{\code {typeset}}
 \entry{ulimit}{52}{\code {ulimit}}
 \entry{unalias}{53}{\code {unalias}}
 \entry{set}{54}{\code {set}}
-\entry{shopt}{57}{\code {shopt}}
+\entry{shopt}{58}{\code {shopt}}
 \entry{dirs}{85}{\code {dirs}}
 \entry{popd}{86}{\code {popd}}
 \entry{pushd}{86}{\code {pushd}}
index 1dc5babe9aa2b1839edf073fe077b911ea4152a1..4da380594b130f240c9cd0afd1b67afb11af6fb0 100644 (file)
@@ -5,7 +5,7 @@
 \initial {[}
 \entry {\code {[}}{41}
 \initial {A}
-\entry {\code {alias}}{43}
+\entry {\code {alias}}{44}
 \initial {B}
 \entry {\code {bg}}{94}
 \entry {\code {bind}}{44}
@@ -28,7 +28,7 @@
 \entry {\code {enable}}{48}
 \entry {\code {eval}}{38}
 \entry {\code {exec}}{38}
-\entry {\code {exit}}{38}
+\entry {\code {exit}}{39}
 \entry {\code {export}}{39}
 \initial {F}
 \entry {\code {fc}}{127}
@@ -45,7 +45,7 @@
 \entry {\code {kill}}{95}
 \initial {L}
 \entry {\code {let}}{48}
-\entry {\code {local}}{48}
+\entry {\code {local}}{49}
 \entry {\code {logout}}{49}
 \initial {M}
 \entry {\code {mapfile}}{49}
@@ -62,8 +62,8 @@
 \initial {S}
 \entry {\code {set}}{54}
 \entry {\code {shift}}{41}
-\entry {\code {shopt}}{57}
-\entry {\code {source}}{51}
+\entry {\code {shopt}}{58}
+\entry {\code {source}}{52}
 \entry {\code {suspend}}{95}
 \initial {T}
 \entry {\code {test}}{41}
index 3a7c465fc38e91cc14257a02e57941d34b07ed05..4f29dd27674cd521125bed6c0196e43f085bbb60 100644 (file)
@@ -42,7 +42,7 @@
 \entry{parameters}{17}{parameters}
 \entry{variable, shell}{17}{variable, shell}
 \entry{shell variable}{17}{shell variable}
-\entry{parameters, positional}{17}{parameters, positional}
+\entry{parameters, positional}{18}{parameters, positional}
 \entry{parameters, special}{18}{parameters, special}
 \entry{expansion}{19}{expansion}
 \entry{brace expansion}{19}{brace expansion}
@@ -54,7 +54,7 @@
 \entry{command substitution}{24}{command substitution}
 \entry{expansion, arithmetic}{24}{expansion, arithmetic}
 \entry{arithmetic expansion}{24}{arithmetic expansion}
-\entry{process substitution}{24}{process substitution}
+\entry{process substitution}{25}{process substitution}
 \entry{word splitting}{25}{word splitting}
 \entry{expansion, filename}{25}{expansion, filename}
 \entry{expansion, pathname}{25}{expansion, pathname}
 \entry{matching, pattern}{26}{matching, pattern}
 \entry{redirection}{27}{redirection}
 \entry{command expansion}{31}{command expansion}
-\entry{command execution}{31}{command execution}
-\entry{command search}{31}{command search}
+\entry{command execution}{32}{command execution}
+\entry{command search}{32}{command search}
 \entry{execution environment}{32}{execution environment}
 \entry{environment}{33}{environment}
-\entry{exit status}{33}{exit status}
+\entry{exit status}{34}{exit status}
 \entry{signal handling}{34}{signal handling}
 \entry{shell script}{35}{shell script}
-\entry{special builtin}{62}{special builtin}
+\entry{special builtin}{63}{special builtin}
 \entry{login shell}{77}{login shell}
 \entry{interactive shell}{77}{interactive shell}
 \entry{startup files}{77}{startup files}
@@ -86,7 +86,7 @@
 \entry{alias expansion}{83}{alias expansion}
 \entry{arrays}{84}{arrays}
 \entry{directory stack}{85}{directory stack}
-\entry{prompting}{86}{prompting}
+\entry{prompting}{87}{prompting}
 \entry{restricted shell}{88}{restricted shell}
 \entry{POSIX Mode}{88}{POSIX Mode}
 \entry{job control}{93}{job control}
 \entry{history list}{127}{history list}
 \entry{history builtins}{127}{history builtins}
 \entry{history expansion}{129}{history expansion}
-\entry{event designators}{129}{event designators}
-\entry{history events}{129}{history events}
+\entry{event designators}{130}{event designators}
+\entry{history events}{130}{history events}
 \entry{installation}{133}{installation}
 \entry{configuration}{133}{configuration}
 \entry{Bash installation}{133}{Bash installation}
index e9d5cb24f5ee715c8f8704fac0c6d42c8624cbd1..e56e1e7734310b1ccfab934ec99d8bf462069651 100644 (file)
 \entry {builtin}{3}
 \initial {C}
 \entry {command editing}{98}
-\entry {command execution}{31}
+\entry {command execution}{32}
 \entry {command expansion}{31}
 \entry {command history}{127}
-\entry {command search}{31}
+\entry {command search}{32}
 \entry {command substitution}{24}
 \entry {command timing}{8}
 \entry {commands, compound}{9}
@@ -38,9 +38,9 @@
 \entry {editing command lines}{98}
 \entry {environment}{33}
 \entry {evaluation, arithmetic}{82}
-\entry {event designators}{129}
+\entry {event designators}{130}
 \entry {execution environment}{32}
-\entry {exit status}{3, 33}
+\entry {exit status}{3, 34}
 \entry {expansion}{19}
 \entry {expansion, arithmetic}{24}
 \entry {expansion, brace}{19}
@@ -58,7 +58,7 @@
 \entry {functions, shell}{15}
 \initial {H}
 \entry {history builtins}{127}
-\entry {history events}{129}
+\entry {history events}{130}
 \entry {history expansion}{129}
 \entry {history list}{127}
 \entry {History, how to use}{125}
@@ -90,7 +90,7 @@
 \initial {P}
 \entry {parameter expansion}{21}
 \entry {parameters}{17}
-\entry {parameters, positional}{17}
+\entry {parameters, positional}{18}
 \entry {parameters, special}{18}
 \entry {pathname expansion}{25}
 \entry {pattern matching}{26}
@@ -99,9 +99,9 @@
 \entry {POSIX Mode}{88}
 \entry {process group}{3}
 \entry {process group ID}{3}
-\entry {process substitution}{24}
+\entry {process substitution}{25}
 \entry {programmable completion}{119}
-\entry {prompting}{86}
+\entry {prompting}{87}
 \initial {Q}
 \entry {quoting}{6}
 \entry {quoting, ANSI}{6}
 \entry {shell, interactive}{78}
 \entry {signal}{4}
 \entry {signal handling}{34}
-\entry {special builtin}{4, 62}
+\entry {special builtin}{4, 63}
 \entry {startup files}{77}
 \entry {suspending jobs}{93}
 \initial {T}
index f3d6a3915312c5d69670da3a2cee8edef6f9b159..37e0c159c1279c8fdfb9733aaefa52ccc6cd0378 100644 (file)
Binary files a/doc/bashref.dvi and b/doc/bashref.dvi differ
index 4c2a28527d672cf9182ac5b2d715b57639d41c9b..e261cff8e7b6e7b86a7cfcef620affb1377dc896 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on July, 8  2011 by texi2html 1.64 -->
+<!-- Created on September, 26  2011 by texi2html 1.64 -->
 <!-- 
 Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
             Karl Berry  <karl@freefriends.org>
@@ -33,10 +33,10 @@ Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
 <H1>Bash Reference Manual</H1></P><P>
 
 This text is a brief description of the features that are present in
-the Bash shell (version 4.2, 7 July 2011).
+the Bash shell (version 4.2, 25 September 2011).
 </P><P>
 
-This is Edition 4.2, last updated 7 July 2011,
+This is Edition 4.2, last updated 25 September 2011,
 of <CITE>The GNU Bash Reference Manual</CITE>,
 for <CODE>Bash</CODE>, Version 4.2.
 </P><P>
@@ -45,7 +45,7 @@ Bash contains features that appear in other popular shells, and some
 features that only appear in Bash.  Some of the shells that Bash has
 borrowed concepts from are the Bourne Shell (<TT>`sh'</TT>), the Korn Shell
 (<TT>`ksh'</TT>), and the C-shell (<TT>`csh'</TT> and its successor,
-<TT>`tcsh'</TT>). The following menu breaks the features up into
+<TT>`tcsh'</TT>).  The following menu breaks the features up into
 categories based upon which one of these other shells inspired the
 feature.
 </P><P>
@@ -892,7 +892,7 @@ the control operators <SAMP>`|'</SAMP> or <SAMP>`|&#38;'</SAMP>.
 <A NAME="IDX25"></A>
 <A NAME="IDX26"></A>
 The format for a pipeline is
-<TABLE><tr><td>&nbsp;</td><td class=example><pre>[<CODE>time</CODE> [<CODE>-p</CODE>]] [<CODE>!</CODE>] <VAR>command1</VAR> [ [<CODE>|</CODE> or <CODE>|&#38;</CODE>] <VAR>command2</VAR> <small>...</small>]
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>[time [-p]] [!] <VAR>command1</VAR> [ | or |&#38; <VAR>command2</VAR> ] <small>...</small>
 </pre></td></tr></table></P><P>
 
 The output of each command in the pipeline is connected via a pipe
@@ -902,9 +902,11 @@ connection is performed before any redirections specified by the
 command.
 </P><P>
 
-If <SAMP>`|&#38;'</SAMP> is used, the standard error of <VAR>command1</VAR> is connected to
-<VAR>command2</VAR>'s standard input through the pipe; it is shorthand for
-<CODE>2&#62;&#38;1 |</CODE>.  This implicit redirection of the standard error is
+If <SAMP>`|&#38;'</SAMP> is used, <VAR>command1</VAR>'s standard output and standard error
+are connected to
+<VAR>command2</VAR>'s standard input through the pipe;
+it is shorthand for <CODE>2&#62;&#38;1 |</CODE>.
+This implicit redirection of the standard error is
 performed after any redirections specified by the command.
 </P><P>
 
@@ -1098,18 +1100,24 @@ command's syntax, it may be replaced with one or more newlines.
 <A NAME="IDX28"></A>
 <A NAME="IDX29"></A>
 The syntax of the <CODE>until</CODE> command is:
+<P>
+
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>until <VAR>test-commands</VAR>; do <VAR>consequent-commands</VAR>; done
-</pre></td></tr></table>Execute <VAR>consequent-commands</VAR> as long as
+</pre></td></tr></table></P><P>
+
+Execute <VAR>consequent-commands</VAR> as long as
 <VAR>test-commands</VAR> has an exit status which is not zero.
 The return status is the exit status of the last command executed
 in <VAR>consequent-commands</VAR>, or zero if none was executed.
-<P>
+</P><P>
 
 <DT><CODE>while</CODE>
 <DD><A NAME="IDX30"></A>
 The syntax of the <CODE>while</CODE> command is:
+<P>
+
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>while <VAR>test-commands</VAR>; do <VAR>consequent-commands</VAR>; done
-</pre></td></tr></table><P>
+</pre></td></tr></table></P><P>
 
 Execute <VAR>consequent-commands</VAR> as long as
 <VAR>test-commands</VAR> has an exit status of zero.
@@ -1123,7 +1131,9 @@ The syntax of the <CODE>for</CODE> command is:
 <P>
 
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>for <VAR>name</VAR> [ [in [<VAR>words</VAR> <small>...</small>] ] ; ] do <VAR>commands</VAR>; done
-</pre></td></tr></table>Expand <VAR>words</VAR>, and execute <VAR>commands</VAR> once for each member
+</pre></td></tr></table></P><P>
+
+Expand <VAR>words</VAR>, and execute <VAR>commands</VAR> once for each member
 in the resultant list, with <VAR>name</VAR> bound to the current member.
 If <SAMP>`in <VAR>words</VAR>'</SAMP> is not present, the <CODE>for</CODE> command
 executes the <VAR>commands</VAR> once for each positional parameter that is
@@ -1138,7 +1148,9 @@ An alternate form of the <CODE>for</CODE> command is also supported:
 </P><P>
 
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>for (( <VAR>expr1</VAR> ; <VAR>expr2</VAR> ; <VAR>expr3</VAR> )) ; do <VAR>commands</VAR> ; done
-</pre></td></tr></table>First, the arithmetic expression <VAR>expr1</VAR> is evaluated according
+</pre></td></tr></table></P><P>
+
+First, the arithmetic expression <VAR>expr1</VAR> is evaluated according
 to the rules described below (see section <A HREF="bashref.html#SEC84">6.5 Shell Arithmetic</A>).
 The arithmetic expression <VAR>expr2</VAR> is then evaluated repeatedly
 until it evaluates to zero.   
@@ -1147,8 +1159,6 @@ executed and the arithmetic expression <VAR>expr3</VAR> is evaluated.
 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>commands</VAR>
 that is executed, or false if any of the expressions is invalid.
-</P><P>
-
 </DL>
 <P>
 
@@ -1212,7 +1222,7 @@ zero if no condition tested true.
 The syntax of the <CODE>case</CODE> command is:
 <P>
 
-<TABLE><tr><td>&nbsp;</td><td class=example><pre><CODE>case <VAR>word</VAR> in [ [(] <VAR>pattern</VAR> [| <VAR>pattern</VAR>]<small>...</small>) <VAR>command-list</VAR> ;;]<small>...</small> esac</CODE>
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>case <VAR>word</VAR> in [ [(] <VAR>pattern</VAR> [| <VAR>pattern</VAR>]<small>...</small>) <VAR>command-list</VAR> ;;]<small>...</small> esac
 </pre></td></tr></table></P><P>
 
 <CODE>case</CODE> will selectively execute the <VAR>command-list</VAR> corresponding to
@@ -1403,11 +1413,11 @@ This may be used to override the normal precedence of operators.
 <DT><CODE><VAR>expression1</VAR> || <VAR>expression2</VAR></CODE>
 <DD>True if either <VAR>expression1</VAR> or <VAR>expression2</VAR> is true.
 </DL>
-The <CODE>&#38;&#38;</CODE> and <CODE>||</CODE> operators do not evaluate <VAR>expression2</VAR> if the
-value of <VAR>expression1</VAR> is sufficient to determine the return
-value of the entire conditional expression.
 <P>
 
+The <CODE>&#38;&#38;</CODE> and <CODE>||</CODE> operators do not evaluate <VAR>[Bexpression2</VAR> if the
+value of <VAR>expression1</VAR> is sufficient to determine the return
+value of the entire conditional expression.
 </DL>
 <P>
 
@@ -1498,7 +1508,7 @@ established between the executing shell and the coprocess.
 </P><P>
 
 The format for a coprocess is:
-<TABLE><tr><td>&nbsp;</td><td class=example><pre><CODE>coproc</CODE> [<VAR>NAME</VAR>] <VAR>command</VAR> [<VAR>redirections</VAR>]
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>coproc [<VAR>NAME</VAR>] <VAR>command</VAR> [<VAR>redirections</VAR>]
 </pre></td></tr></table></P><P>
 
 This creates a coprocess named <VAR>NAME</VAR>.
@@ -1508,15 +1518,15 @@ command (see section <A HREF="bashref.html#SEC16">3.2.1 Simple Commands</A>); ot
 the first word of the simple command.
 </P><P>
 
-When the coproc is executed, the shell creates an array variable
+When the coprocess is executed, the shell creates an array variable
 (see section <A HREF="bashref.html#SEC86">6.7 Arrays</A>)
-named <VAR>NAME</VAR> in the context of the executing shell.
+named <CODE>NAME</CODE> in the context of the executing shell.
 The standard output of <VAR>command</VAR>
 is connected via a pipe to a file descriptor in the executing shell,
-and that file descriptor is assigned to <VAR>NAME</VAR>[0].
+and that file descriptor is assigned to <CODE>NAME</CODE>[0].
 The standard input of <VAR>command</VAR>
 is connected via a pipe to a file descriptor in the executing shell,
-and that file descriptor is assigned to <VAR>NAME</VAR>[1].
+and that file descriptor is assigned to <CODE>NAME</CODE>[1].
 This pipe is established before any redirections specified by the
 command (see section <A HREF="bashref.html#SEC40">3.6 Redirections</A>).
 The file descriptors can be utilized as arguments to shell commands
@@ -1524,7 +1534,7 @@ and redirections using standard word expansions.
 </P><P>
 
 The process ID of the shell spawned to execute the coprocess is
-available as the value of the variable <VAR>NAME</VAR>_PID.
+available as the value of the variable <CODE>NAME</CODE>_PID.
 The <CODE>wait</CODE>
 builtin command may be used to wait for the coprocess to terminate.
 </P><P>
@@ -1638,8 +1648,13 @@ shell context; no new process is created to interpret them.
 
 Functions are declared using this syntax:
 <A NAME="IDX45"></A>
-<TABLE><tr><td>&nbsp;</td><td class=example><pre><VAR>name</VAR> () <VAR>compound-command</VAR> [ <VAR>redirections</VAR> ]<BR>or<BR>
-<CODE>function</CODE> <VAR>name</VAR> [()] <VAR>compound-command</VAR> [ <VAR>redirections</VAR> ]
+<TABLE><tr><td>&nbsp;</td><td class=example><pre><VAR>name</VAR> () <VAR>compound-command</VAR> [ <VAR>redirections</VAR> ]
+</pre></td></tr></table></P><P>
+
+or
+</P><P>
+
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>function <VAR>name</VAR> [()] <VAR>compound-command</VAR> [ <VAR>redirections</VAR> ]
 </pre></td></tr></table></P><P>
 
 This defines a shell function named <VAR>name</VAR>.  The reserved
@@ -1652,6 +1667,9 @@ That command is usually a <VAR>list</VAR> enclosed between { and }, but
 may be any compound command listed above.
 <VAR>compound-command</VAR> is executed whenever <VAR>name</VAR> is specified as the
 name of a command.
+When the shell is in POSIX mode (see section <A HREF="bashref.html#SEC91">6.11 Bash POSIX Mode</A>),
+<VAR>name</VAR> may not be the same as one of the special builtins
+(see section <A HREF="bashref.html#SEC65">4.4 Special Builtins</A>).
 Any redirections (see section <A HREF="bashref.html#SEC40">3.6 Redirections</A>) associated with the shell function
 are performed when the function is executed.
 </P><P>
@@ -1728,8 +1746,8 @@ the function and the commands it invokes.
 </P><P>
 
 Function names and definitions may be listed with the
-<SAMP>`-f'</SAMP> option to the <CODE>declare</CODE> or <CODE>typeset</CODE>
-builtin commands (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
+<SAMP>`-f'</SAMP> option to the <CODE>declare</CODE> (<CODE>typeset</CODE>)
+builtin command (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
 The <SAMP>`-F'</SAMP> option to <CODE>declare</CODE> or <CODE>typeset</CODE>
 will list the function names only
 (and optionally the source file and line number, if the <CODE>extdebug</CODE>
@@ -1805,6 +1823,9 @@ Assignment statements may also appear as arguments to the
 <CODE>alias</CODE>, 
 <CODE>declare</CODE>, <CODE>typeset</CODE>, <CODE>export</CODE>, <CODE>readonly</CODE>,
 and <CODE>local</CODE> builtin commands.
+When in POSIX mode (see section <A HREF="bashref.html#SEC91">6.11 Bash POSIX Mode</A>), these builtins may appear
+in a command after one or more instances of the <CODE>command</CODE> builtin
+and retain these assignment statement properties.
 </P><P>
 
 In the context where an assignment statement is assigning a value  
@@ -1999,6 +2020,8 @@ When checking mail, this parameter holds the name of the mail file.
 
 Expansion is performed on the command line after it has been split into
 <CODE>token</CODE>s.  There are seven kinds of expansion performed:
+</P><P>
+
 <UL>
 <LI>brace expansion
 <LI>tilde expansion
@@ -2072,7 +2095,7 @@ is performed.
 Brace expansion is a mechanism by which arbitrary strings may be generated.
 This mechanism is similar to
 <VAR>filename expansion</VAR> (see section <A HREF="bashref.html#SEC37">3.5.8 Filename Expansion</A>),
-but the file names generated need not exist.
+but the filenames generated need not exist.
 Patterns to be brace expanded take the form of an optional <VAR>preamble</VAR>,
 followed by either a series of comma-separated strings or a sequence expression
 between a pair of braces,
@@ -2190,7 +2213,7 @@ left unchanged.
 Each variable assignment is checked for unquoted tilde-prefixes immediately
 following a <SAMP>`:'</SAMP> or the first <SAMP>`='</SAMP>.
 In these cases, tilde expansion is also performed.
-Consequently, one may use file names with tildes in assignments to
+Consequently, one may use filenames with tildes in assignments to
 <CODE>PATH</CODE>, <CODE>MAILPATH</CODE>, and <CODE>CDPATH</CODE>,
 and the shell assigns the expanded value.
 </P><P>
@@ -2228,8 +2251,6 @@ The following table shows how Bash treats unquoted tilde-prefixes:
 
 <DT><CODE>~-<VAR>N</VAR></CODE>
 <DD>The string that would be displayed by <SAMP>`dirs -<VAR>N</VAR>'</SAMP>
-<P>
-
 </DL>
 <P>
 
@@ -2477,8 +2498,6 @@ If <VAR>parameter</VAR>
 is an array variable subscripted with <SAMP>`@'</SAMP> or <SAMP>`*'</SAMP>,
 the case modification operation is applied to each member of the
 array in turn, and the expansion is the resultant list.
-<P>
-
 </DL>
 <P>
 
@@ -2698,8 +2717,8 @@ After word splitting, unless the <SAMP>`-f'</SAMP> option has been set
 If one of these characters appears, then the word is
 regarded as a <VAR>pattern</VAR>,
 and replaced with an alphabetically sorted list of
-file names matching the pattern (see section <A HREF="bashref.html#SEC38">3.5.8.1 Pattern Matching</A>).
-If no matching file names are found,
+filenames matching the pattern (see section <A HREF="bashref.html#SEC38">3.5.8.1 Pattern Matching</A>).
+If no matching filenames are found,
 and the shell option <CODE>nullglob</CODE> is disabled, the word is left
 unchanged.
 If the <CODE>nullglob</CODE> option is set, and no matches are found, the word
@@ -2713,7 +2732,7 @@ without regard to the case of alphabetic characters.
 When a pattern is used for filename expansion, the character <SAMP>`.'</SAMP>
 at the start of a filename or immediately following a slash
 must be matched explicitly, unless the shell option <CODE>dotglob</CODE> is set.
-When matching a file name, the slash character must always be
+When matching a filename, the slash character must always be
 matched explicitly.
 In other cases, the <SAMP>`.'</SAMP> character is not treated specially.
 </P><P>
@@ -2976,8 +2995,6 @@ connection to the corresponding socket.
 <DD>If <VAR>host</VAR> is a valid hostname or Internet address, and <VAR>port</VAR>
 is an integer port number or service name, Bash attempts to open a UDP
 connection to the corresponding socket.
-<P>
-
 </DL>
 <P>
 
@@ -3168,8 +3185,8 @@ The format of here-documents is:
 <VAR>delimiter</VAR>
 </pre></td></tr></table></P><P>
 
-No parameter expansion, command substitution, arithmetic expansion,
-or filename expansion is performed on
+No parameter and variable expansion, command substitution,
+arithmetic expansion, or filename expansion is performed on
 <VAR>word</VAR>.  If any characters in <VAR>word</VAR> are quoted, the
 <VAR>delimiter</VAR> is the result of quote removal on <VAR>word</VAR>,
 and the lines in the here-document are not expanded.
@@ -3207,10 +3224,12 @@ A variant of here documents, the format is:
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>&#60;&#60;&#60; <VAR>word</VAR>
 </pre></td></tr></table><P>
 
-The <VAR>word</VAR>
-is expanded as described above, with the exception that
-pathname expansion is not applied, and supplied as a single string
-to the command on its standard input.
+The <VAR>word</VAR> undergoes
+brace expansion, tilde expansion, parameter and variable expansion,
+command substitution, arithmetic expansion, and quote removal.
+Pathname expansion word splitting are not performed.
+The result is supplied as a single string to the command on its
+standard input.
 </P><P>
 
 <HR SIZE="6">
@@ -3666,7 +3685,7 @@ not just those that precede the command name.
 </P><P>
 
 When Bash invokes an external command, the variable <SAMP>`$_'</SAMP>
-is set to the full path name of the command and passed to that
+is set to the full pathname of the command and passed to that
 command in its environment.
 </P><P>
 
@@ -3692,7 +3711,7 @@ The exit status of an executed command is the value returned by the
 <VAR>waitpid</VAR> 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
+compound commands are also limited to this range.  Under certain
 circumstances, the shell will use special values to indicate specific
 failure modes.
 </P><P>
@@ -3960,14 +3979,18 @@ These commands are implemented as specified by the POSIX standard.
 <DT><CODE>:    (a colon)</CODE>
 <DD><A NAME="IDX68"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>: [<VAR>arguments</VAR>]
-</pre></td></tr></table>Do nothing beyond expanding <VAR>arguments</VAR> and performing redirections.
+</pre></td></tr></table><P>
+
+Do nothing beyond expanding <VAR>arguments</VAR> and performing redirections.
 The return status is zero.
-<P>
+</P><P>
 
 <DT><CODE>.    (a period)</CODE>
 <DD><A NAME="IDX69"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>. <VAR>filename</VAR> [<VAR>arguments</VAR>]
-</pre></td></tr></table>Read and execute commands from the <VAR>filename</VAR> argument in the
+</pre></td></tr></table><P>
+
+Read and execute commands from the <VAR>filename</VAR> argument in the
 current shell context.  If <VAR>filename</VAR> does not contain a slash,
 the <CODE>PATH</CODE> variable is used to find <VAR>filename</VAR>.
 When Bash is not in POSIX mode, the current directory is searched
@@ -3979,26 +4002,30 @@ The return status is the exit status of the last command executed, or
 zero if no commands are executed.  If <VAR>filename</VAR> is not found, or
 cannot be read, the return status is non-zero.
 This builtin is equivalent to <CODE>source</CODE>.
-<P>
+</P><P>
 
 <DT><CODE>break</CODE>
 <DD><A NAME="IDX70"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>break [<VAR>n</VAR>]
-</pre></td></tr></table>Exit from a <CODE>for</CODE>, <CODE>while</CODE>, <CODE>until</CODE>, or <CODE>select</CODE> loop.
+</pre></td></tr></table><P>
+
+Exit from a <CODE>for</CODE>, <CODE>while</CODE>, <CODE>until</CODE>, or <CODE>select</CODE> loop.
 If <VAR>n</VAR> is supplied, the <VAR>n</VAR>th enclosing loop is exited.
 <VAR>n</VAR> must be greater than or equal to 1.
 The return status is zero unless <VAR>n</VAR> is not greater than or equal to 1.
-<P>
+</P><P>
 
 <DT><CODE>cd</CODE>
 <DD><A NAME="IDX71"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>cd [-L|[-P [-e]]] [<VAR>directory</VAR>]
-</pre></td></tr></table>Change the current working directory to <VAR>directory</VAR>.
+</pre></td></tr></table><P>
+
+Change the current working directory to <VAR>directory</VAR>.
 If <VAR>directory</VAR> is not given, the value of the <CODE>HOME</CODE> shell
 variable is used.
 If the shell variable <CODE>CDPATH</CODE> exists, it is used as a search path.
 If <VAR>directory</VAR> begins with a slash, <CODE>CDPATH</CODE> is not used.
-<P>
+</P><P>
 
 The <SAMP>`-P'</SAMP> option means to not follow symbolic links; symbolic
 links are followed by default or with the <SAMP>`-L'</SAMP> option.
@@ -4006,7 +4033,8 @@ If the <SAMP>`-e'</SAMP> option is supplied with <SAMP>`-P'</SAMP>
 and the current working directory cannot be successfully determined
 after a successful directory change, <CODE>cd</CODE> will return an unsuccessful
 status.
-If <VAR>directory</VAR> is <SAMP>`-'</SAMP>, it is equivalent to <CODE>$OLDPWD</CODE>.
+If <VAR>directory</VAR> is <SAMP>`-'</SAMP>, it is converted to <CODE>$OLDPWD</CODE>
+before the directory change is attempted.
 </P><P>
 
 If a non-empty directory name from <CODE>CDPATH</CODE> is used, or if
@@ -4022,28 +4050,34 @@ non-zero otherwise.
 <DT><CODE>continue</CODE>
 <DD><A NAME="IDX72"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>continue [<VAR>n</VAR>]
-</pre></td></tr></table>Resume the next iteration of an enclosing <CODE>for</CODE>, <CODE>while</CODE>,
+</pre></td></tr></table><P>
+
+Resume the next iteration of an enclosing <CODE>for</CODE>, <CODE>while</CODE>,
 <CODE>until</CODE>, or <CODE>select</CODE> loop.
 If <VAR>n</VAR> is supplied, the execution of the <VAR>n</VAR>th enclosing loop
 is resumed.
 <VAR>n</VAR> must be greater than or equal to 1.
 The return status is zero unless <VAR>n</VAR> is not greater than or equal to 1.
-<P>
+</P><P>
 
 <DT><CODE>eval</CODE>
 <DD><A NAME="IDX73"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>eval [<VAR>arguments</VAR>]
-</pre></td></tr></table>The arguments are concatenated together into a single command, which is
+</pre></td></tr></table><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>eval</CODE>.
 If there are no arguments or only empty arguments, the return status is
 zero.
-<P>
+</P><P>
 
 <DT><CODE>exec</CODE>
 <DD><A NAME="IDX74"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>exec [-cl] [-a <VAR>name</VAR>] [<VAR>command</VAR> [<VAR>arguments</VAR>]]
-</pre></td></tr></table>If <VAR>command</VAR>
+</pre></td></tr></table><P>
+
+If <VAR>command</VAR>
 is supplied, it replaces the shell without creating a new process.
 If the <SAMP>`-l'</SAMP> option is supplied, the shell places a dash at the
 beginning of the zeroth argument passed to <VAR>command</VAR>.
@@ -4052,32 +4086,41 @@ The <SAMP>`-c'</SAMP> option causes <VAR>command</VAR> to be executed with an em
 environment.
 If <SAMP>`-a'</SAMP> is supplied, the shell passes <VAR>name</VAR> as the zeroth
 argument to <VAR>command</VAR>.
+If <VAR>command</VAR>
+cannot be executed for some reason, a non-interactive shell exits,
+unless the <CODE>execfail</CODE> shell option
+is enabled.  In that case, it returns failure.
+An interactive shell returns failure if the file cannot be executed.
 If no <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><P>
 
 <DT><CODE>exit</CODE>
 <DD><A NAME="IDX75"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>exit [<VAR>n</VAR>]
-</pre></td></tr></table>Exit the shell, returning a status of <VAR>n</VAR> to the shell's parent.
+</pre></td></tr></table><P>
+
+Exit the shell, returning a status of <VAR>n</VAR> to the shell's parent.
 If <VAR>n</VAR> is omitted, the exit status is that of the last command executed.
 Any trap on <CODE>EXIT</CODE> is executed before the shell terminates.
-<P>
+</P><P>
 
 <DT><CODE>export</CODE>
 <DD><A NAME="IDX76"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>export [-fn] [-p] [<VAR>name</VAR>[=<VAR>value</VAR>]]
-</pre></td></tr></table>Mark each <VAR>name</VAR> to be passed to child processes
+</pre></td></tr></table><P>
+
+Mark each <VAR>name</VAR> to be passed to child processes
 in the environment.  If the <SAMP>`-f'</SAMP> option is supplied, the <VAR>name</VAR>s
 refer to shell functions; otherwise the names refer to shell variables.
 The <SAMP>`-n'</SAMP> option means to no longer mark each <VAR>name</VAR> for export.
 If no <VAR>names</VAR> are supplied, or if the <SAMP>`-p'</SAMP> option is given, a
-list of exported names is displayed.
+list of names of all exported variables is displayed.
 The <SAMP>`-p'</SAMP> option displays output in a form that may be reused as input.
 If a variable name is followed by =<VAR>value</VAR>, the value of
 the variable is set to <VAR>value</VAR>.
-<P>
+</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>`-f'</SAMP> is supplied
@@ -4087,10 +4130,12 @@ with a name that is not a shell function.
 <DT><CODE>getopts</CODE>
 <DD><A NAME="IDX77"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>getopts <VAR>optstring</VAR> <VAR>name</VAR> [<VAR>args</VAR>]
-</pre></td></tr></table><CODE>getopts</CODE> is used by shell scripts to parse positional parameters.
+</pre></td></tr></table><P>
+
+<CODE>getopts</CODE> is used by shell scripts to parse positional parameters.
 <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 white space.
+argument, which should be separated from it by whitespace.
 The colon (<SAMP>`:'</SAMP>) and question mark (<SAMP>`?'</SAMP>) may not be
 used as option characters.
 Each time it is invoked, <CODE>getopts</CODE>
@@ -4105,7 +4150,7 @@ When an option requires an argument,
 The shell does not reset <CODE>OPTIND</CODE> automatically; it must be manually
 reset between multiple calls to <CODE>getopts</CODE> within the same shell
 invocation if a new set of parameters is to be used.
-<P>
+</P><P>
 
 When the end of options is encountered, <CODE>getopts</CODE> exits with a
 return value greater than zero.
@@ -4120,7 +4165,7 @@ given in <VAR>args</VAR>, <CODE>getopts</CODE> parses those instead.
 
 <CODE>getopts</CODE> can report errors in two ways.  If the first character of
 <VAR>optstring</VAR> is a colon, <VAR>silent</VAR>
-error reporting is used.  In normal operation diagnostic messages
+error reporting is used.  In normal operation, diagnostic messages
 are printed when invalid options or missing option arguments are
 encountered.
 If the variable <CODE>OPTERR</CODE>
@@ -4145,7 +4190,9 @@ If <CODE>getopts</CODE> is silent, then a colon (<SAMP>`:'</SAMP>) is placed in
 <DT><CODE>hash</CODE>
 <DD><A NAME="IDX78"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>hash [-r] [-p <VAR>filename</VAR>] [-dt] [<VAR>name</VAR>]
-</pre></td></tr></table>Each time <CODE>hash</CODE> is invoked, it remembers the full pathnames of the
+</pre></td></tr></table><P>
+
+Each time <CODE>hash</CODE> is invoked, it remembers the full pathnames of the
 commands specified as <VAR>name</VAR> arguments,
 so they need not be searched for on subsequent invocations.
 The commands are found by searching through the directories listed in
@@ -4166,12 +4213,14 @@ If no arguments are given, or if only <SAMP>`-l'</SAMP> is supplied,
 information about remembered commands is printed.
 The return status is zero unless a <VAR>name</VAR> is not found or an invalid
 option is supplied.
-<P>
+</P><P>
 
 <DT><CODE>pwd</CODE>
 <DD><A NAME="IDX79"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>pwd [-LP]
-</pre></td></tr></table>Print the absolute pathname of the current working directory.
+</pre></td></tr></table><P>
+
+Print the absolute pathname of the current working directory.
 If the <SAMP>`-P'</SAMP> option is supplied, the pathname printed will not
 contain symbolic links.
 If the <SAMP>`-L'</SAMP> option is supplied, the pathname printed may contain
@@ -4179,12 +4228,14 @@ symbolic links.
 The return status is zero unless an error is encountered while
 determining the name of the current directory or an invalid option
 is supplied.
-<P>
+</P><P>
 
 <DT><CODE>readonly</CODE>
 <DD><A NAME="IDX80"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>readonly [-aAf] [-p] [<VAR>name</VAR>[=<VAR>value</VAR>]] <small>...</small>
-</pre></td></tr></table>Mark each <VAR>name</VAR> as readonly.
+</pre></td></tr></table><P>
+
+Mark each <VAR>name</VAR> as readonly.
 The values of these names may not be changed by subsequent assignment.
 If the <SAMP>`-f'</SAMP> option is supplied, each <VAR>name</VAR> refers to a shell
 function.
@@ -4203,28 +4254,34 @@ the variable is set to <VAR>value</VAR>.
 The return status is zero unless an invalid option is supplied, one of
 the <VAR>name</VAR> arguments is not a valid shell variable or function name,
 or the <SAMP>`-f'</SAMP> option is supplied with a name that is not a shell function.
-<P>
+</P><P>
 
 <DT><CODE>return</CODE>
 <DD><A NAME="IDX81"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>return [<VAR>n</VAR>]
-</pre></td></tr></table>Cause a shell function to exit with the return value <VAR>n</VAR>.
+</pre></td></tr></table><P>
+
+Cause a shell function to stop executing and return the value <VAR>n</VAR>
+to its caller.
 If <VAR>n</VAR> is not supplied, the return value is the exit status of the
 last command executed in the function.
-This may also be used to terminate execution of a script being executed
-with the <CODE>.</CODE> (or <CODE>source</CODE>) builtin, returning either <VAR>n</VAR> or
+<CODE>return</CODE> may also be used to terminate execution of a script
+being executed with the <CODE>.</CODE> (<CODE>source</CODE>) builtin,
+returning either <VAR>n</VAR> or
 the exit status of the last command executed within the script as the exit
 status of the script.
 Any command associated with the <CODE>RETURN</CODE> trap is executed
 before execution resumes after the function or script.
 The return status is non-zero if <CODE>return</CODE> is used outside a function
 and not during the execution of a script by <CODE>.</CODE> or <CODE>source</CODE>.
-<P>
+</P><P>
 
 <DT><CODE>shift</CODE>
 <DD><A NAME="IDX82"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>shift [<VAR>n</VAR>]
-</pre></td></tr></table>Shift the positional parameters to the left by <VAR>n</VAR>.
+</pre></td></tr></table><P>
+
+Shift the positional parameters to the left by <VAR>n</VAR>.
 The positional parameters from <VAR>n</VAR>+1 <small>...</small> <CODE>$#</CODE> are
 renamed to <CODE>$1</CODE> <small>...</small> <CODE>$#</CODE>-<VAR>n</VAR>.
 Parameters represented by the numbers <CODE>$#</CODE> to <CODE>$#</CODE>-<VAR>n</VAR>+1
@@ -4235,19 +4292,23 @@ are not changed.
 If <VAR>n</VAR> is not supplied, it is assumed to be 1.
 The return status is zero unless <VAR>n</VAR> is greater than <CODE>$#</CODE> or
 less than zero, non-zero otherwise.
-<P>
+</P><P>
 
-<DT><CODE>test</CODE>
+<DT><CODE>test[B</CODE>
 <DD><DT><CODE>[</CODE>
 <DD><A NAME="IDX83"></A>
 <A NAME="IDX84"></A>
-Evaluate a conditional expression <VAR>expr</VAR>.
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>test <VAR>expr</VAR>
+</pre></td></tr></table><P>
+
+Evaluate a conditional expression <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 HREF="bashref.html#SEC83">6.4 Bash Conditional Expressions</A>.
 <CODE>test</CODE> does not accept any options, nor does it accept and ignore
 an argument of <SAMP>`--'</SAMP> as signifying the end of options.
-<P>
+</P><P>
 
 When the <CODE>[</CODE> form is used, the last argument to the command must
 be a <CODE>]</CODE>.
@@ -4337,14 +4398,18 @@ operators sort lexicographically using ASCII ordering.
 <DT><CODE>times</CODE>
 <DD><A NAME="IDX85"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>times
-</pre></td></tr></table>Print out the user and system times used by the shell and its children.
+</pre></td></tr></table><P>
+
+Print out the user and system times used by the shell and its children.
 The return status is zero.
-<P>
+</P><P>
 
 <DT><CODE>trap</CODE>
 <DD><A NAME="IDX86"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>trap [-lp] [<VAR>arg</VAR>] [<VAR>sigspec</VAR> <small>...</small>]
-</pre></td></tr></table>The commands in <VAR>arg</VAR> are to be read and executed when the
+</pre></td></tr></table><P>
+
+The commands in <VAR>arg</VAR> are to be read and executed when the
 shell receives signal <VAR>sigspec</VAR>.  If <VAR>arg</VAR> is absent (and
 there is a single <VAR>sigspec</VAR>) or
 equal to <SAMP>`-'</SAMP>, each specified signal's disposition is reset
@@ -4361,7 +4426,7 @@ The <SAMP>`-l'</SAMP> option causes the shell to print a list of signal names
 and their corresponding numbers.
 Each <VAR>sigspec</VAR> is either a signal name or a signal number.
 Signal names are case insensitive and the <CODE>SIG</CODE> prefix is optional.
-<P>
+</P><P>
 
 If a <VAR>sigspec</VAR>
 is <CODE>0</CODE> or <CODE>EXIT</CODE>, <VAR>arg</VAR> is executed when the shell exits.
@@ -4401,7 +4466,9 @@ valid signal.
 <DT><CODE>umask</CODE>
 <DD><A NAME="IDX87"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>umask [-p] [-S] [<VAR>mode</VAR>]
-</pre></td></tr></table>Set the shell process's file creation mask to <VAR>mode</VAR>.  If
+</pre></td></tr></table><P>
+
+Set the shell process's file creation mask to <VAR>mode</VAR>.  If
 <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>chmod</CODE> command.  If <VAR>mode</VAR> is
@@ -4412,7 +4479,7 @@ If the  <SAMP>`-p'</SAMP> option is supplied, and <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
 no <VAR>mode</VAR> argument is supplied, and non-zero otherwise.
-<P>
+</P><P>
 
 Note that when the mode is interpreted as an octal number, each number
 of the umask is subtracted from <CODE>7</CODE>.  Thus, a umask of <CODE>022</CODE>
@@ -4422,7 +4489,9 @@ results in permissions of <CODE>755</CODE>.
 <DT><CODE>unset</CODE>
 <DD><A NAME="IDX88"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>unset [-fv] [<VAR>name</VAR>]
-</pre></td></tr></table>Each variable or function <VAR>name</VAR> is removed.
+</pre></td></tr></table><P>
+
+Remove each variable or function <VAR>name</VAR>.
 If the <SAMP>`-v'</SAMP> option is given, each
 <VAR>name</VAR> refers to a shell variable and that variable is remvoved.
 If the <SAMP>`-f'</SAMP> option is given, the <VAR>name</VAR>s refer to shell
@@ -4462,7 +4531,7 @@ Some of these commands are specified in the POSIX standard.
 
 <DT><CODE>alias</CODE>
 <DD><A NAME="IDX89"></A>
-<TABLE><tr><td>&nbsp;</td><td class=example><pre>alias [<CODE>-p</CODE>] [<VAR>name</VAR>[=<VAR>value</VAR>] <small>...</small>]
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>alias [-p] [<VAR>name</VAR>[=<VAR>value</VAR>] <small>...</small>]
 </pre></td></tr></table><P>
 
 Without arguments or with the <SAMP>`-p'</SAMP> option, <CODE>alias</CODE> prints
@@ -4582,20 +4651,24 @@ error occurs.
 <DT><CODE>builtin</CODE>
 <DD><A NAME="IDX91"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>builtin [<VAR>shell-builtin</VAR> [<VAR>args</VAR>]]
-</pre></td></tr></table>Run a shell builtin, passing it <VAR>args</VAR>, and return its exit status.
+</pre></td></tr></table><P>
+
+Run a shell builtin, passing it <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.
 The return status is non-zero if <VAR>shell-builtin</VAR> is not a shell
 builtin command.
-<P>
+</P><P>
 
 <DT><CODE>caller</CODE>
 <DD><A NAME="IDX92"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>caller [<VAR>expr</VAR>]
-</pre></td></tr></table>Returns the context of any active subroutine call (a shell function or
+</pre></td></tr></table><P>
+
+Returns the context of any active subroutine call (a shell function or
 a script executed with the <CODE>.</CODE> or <CODE>source</CODE> builtins).
-<P>
+</P><P>
 
 Without <VAR>expr</VAR>, <CODE>caller</CODE> displays the line number and source
 filename of the current subroutine call.
@@ -4614,7 +4687,9 @@ call stack.
 <DT><CODE>command</CODE>
 <DD><A NAME="IDX93"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>command [-pVv] <VAR>command</VAR> [<VAR>arguments</VAR> <small>...</small>]
-</pre></td></tr></table>Runs <VAR>command</VAR> with <VAR>arguments</VAR> ignoring any shell function
+</pre></td></tr></table><P>
+
+Runs <VAR>command</VAR> with <VAR>arguments</VAR> ignoring any shell function
 named <VAR>command</VAR>.
 Only shell builtin commands or commands found by searching the
 <CODE>PATH</CODE> are executed.
@@ -4626,7 +4701,7 @@ that is guaranteed to find all of the standard utilities.
 The return status in this case is 127 if <VAR>command</VAR> cannot be
 found or an error occurred, and the exit status of <VAR>command</VAR>
 otherwise.
-<P>
+</P><P>
 
 If either the <SAMP>`-V'</SAMP> or <SAMP>`-v'</SAMP> option is supplied, a
 description of <VAR>command</VAR> is printed.  The <SAMP>`-v'</SAMP> option
@@ -4638,7 +4713,7 @@ zero if <VAR>command</VAR> is found, and non-zero if not.
 
 <DT><CODE>declare</CODE>
 <DD><A NAME="IDX94"></A>
-<TABLE><tr><td>&nbsp;</td><td class=example><pre>declare [-aAfFilrtux] [-p] [<VAR>name</VAR>[=<VAR>value</VAR>] <small>...</small>]
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>declare [-aAfFgilrtux] [-p] [<VAR>name</VAR>[=<VAR>value</VAR>] <small>...</small>]
 </pre></td></tr></table><P>
 
 Declare variables and give them attributes.  If no <VAR>name</VAR>s
@@ -4749,7 +4824,9 @@ or an attempt is made to display a non-existent function with <SAMP>`-f'</SAMP>.
 <DT><CODE>echo</CODE>
 <DD><A NAME="IDX95"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>echo [-neE] [<VAR>arg</VAR> <small>...</small>]
-</pre></td></tr></table>Output the <VAR>arg</VAR>s, separated by spaces, terminated with a
+</pre></td></tr></table><P>
+
+Output the <VAR>arg</VAR>s, separated by spaces, terminated with a
 newline.
 The return status is 0 unless a write error occurs.
 If <SAMP>`-n'</SAMP> is specified, the trailing newline is suppressed.
@@ -4761,7 +4838,7 @@ The <CODE>xpg_echo</CODE> shell option may be used to
 dynamically determine whether or not <CODE>echo</CODE> expands these
 escape characters by default.
 <CODE>echo</CODE> does not interpret <SAMP>`--'</SAMP> to mean the end of options.
-<P>
+</P><P>
 
 <CODE>echo</CODE> interprets the following escape sequences:
 <DL COMPACT>
@@ -4804,7 +4881,9 @@ escape characters by default.
 <DT><CODE>enable</CODE>
 <DD><A NAME="IDX96"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>enable [-a] [-dnps] [-f <VAR>filename</VAR>] [<VAR>name</VAR> <small>...</small>]
-</pre></td></tr></table>Enable and disable builtin shell commands.
+</pre></td></tr></table><P>
+
+Enable and disable builtin shell commands.
 Disabling a builtin allows a disk command which has the same name
 as a shell builtin to be executed without specifying a full pathname,
 even though the shell normally searches for builtins before disk commands.
@@ -4812,7 +4891,7 @@ If <SAMP>`-n'</SAMP> is used, the <VAR>name</VAR>s become disabled.  Otherwise
 <VAR>name</VAR>s are enabled.  For example, to use the <CODE>test</CODE> binary
 found via <CODE>$PATH</CODE> instead of the shell builtin version, type
 <SAMP>`enable -n test'</SAMP>.
-<P>
+</P><P>
 
 If the <SAMP>`-p'</SAMP> option is supplied, or no <VAR>name</VAR> arguments appear,
 a list of shell builtins is printed.  With no other arguments, the list
@@ -4839,11 +4918,13 @@ or there is an error loading a new builtin from a shared object.
 <DT><CODE>help</CODE>
 <DD><A NAME="IDX97"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>help [-dms] [<VAR>pattern</VAR>]
-</pre></td></tr></table>Display helpful information about builtin commands.
+</pre></td></tr></table><P>
+
+Display helpful information about builtin commands.
 If <VAR>pattern</VAR> is specified, <CODE>help</CODE> gives detailed help
 on all commands matching <VAR>pattern</VAR>, otherwise a list of
 the builtins is printed.
-<P>
+</P><P>
 
 Options, if supplied, have the following meanings:
 </P><P>
@@ -4863,18 +4944,22 @@ The return status is zero unless no command matches <VAR>pattern</VAR>.
 
 <DT><CODE>let</CODE>
 <DD><A NAME="IDX98"></A>
-<TABLE><tr><td>&nbsp;</td><td class=example><pre>let <VAR>expression</VAR> [<VAR>expression</VAR>]
-</pre></td></tr></table>The <CODE>let</CODE> builtin allows arithmetic to be performed on shell
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>let <VAR>expression</VAR> [<VAR>expression</VAR> <small>...</small>]
+</pre></td></tr></table><P>
+
+The <CODE>let</CODE> builtin allows arithmetic to be performed on shell
 variables.  Each <VAR>expression</VAR> is evaluated according to the
 rules given below in <A HREF="bashref.html#SEC84">6.5 Shell Arithmetic</A>.  If the
 last <VAR>expression</VAR> evaluates to 0, <CODE>let</CODE> returns 1;
 otherwise 0 is returned.
-<P>
+</P><P>
 
 <DT><CODE>local</CODE>
 <DD><A NAME="IDX99"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>local [<VAR>option</VAR>] <VAR>name</VAR>[=<VAR>value</VAR>] <small>...</small>
-</pre></td></tr></table>For each argument, a local variable named <VAR>name</VAR> is created,
+</pre></td></tr></table><P>
+
+For each argument, a local variable named <VAR>name</VAR> is created,
 and assigned <VAR>value</VAR>.
 The <VAR>option</VAR> can be any of the options accepted by <CODE>declare</CODE>.
 <CODE>local</CODE> can only be used within a function; it makes the variable
@@ -4882,24 +4967,30 @@ The <VAR>option</VAR> can be any of the options accepted by <CODE>declare</CODE>
 children.  The return status is zero unless <CODE>local</CODE> is used outside
 a function, an invalid <VAR>name</VAR> is supplied, or <VAR>name</VAR> is a
 readonly variable.
-<P>
+</P><P>
 
 <DT><CODE>logout</CODE>
 <DD><A NAME="IDX100"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>logout [<VAR>n</VAR>]
-</pre></td></tr></table>Exit a login shell, returning a status of <VAR>n</VAR> to the shell's
+</pre></td></tr></table><P>
+
+Exit a login shell, returning a status of <VAR>n</VAR> to the shell's
 parent.
-<P>
+</P><P>
 
 <DT><CODE>mapfile</CODE>
 <DD><A NAME="IDX101"></A>
-<TABLE><tr><td>&nbsp;</td><td class=example><pre>mapfile [-n <VAR>count</VAR>] [-O <VAR>origin</VAR>] [-s <VAR>count</VAR>] [-t] [-u <VAR>fd</VAR>] [
--C <VAR>callback</VAR>] [-c <VAR>quantum</VAR>] [<VAR>array</VAR>]
-</pre></td></tr></table>Read lines from the standard input into the indexed array variable <VAR>array</VAR>,
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>mapfile [-n <VAR>count</VAR>] [-O <VAR>origin</VAR>] [-s <VAR>count</VAR>] [-t] [-u <VAR>fd</VAR>]
+    [-C <VAR>callback</VAR>] [-c <VAR>quantum</VAR>] [<VAR>array</VAR>]
+</pre></td></tr></table><P>
+
+Read lines from the standard input into the indexed array variable <VAR>array</VAR>,
 or from file descriptor <VAR>fd</VAR>
 if the <SAMP>`-u'</SAMP> option is supplied.
 The variable <CODE>MAPFILE</CODE> is the default <VAR>array</VAR>.
 Options, if supplied, have the following meanings:
+</P><P>
+
 <DL COMPACT>
 
 <DT><CODE>-n</CODE>
@@ -4942,11 +5033,13 @@ is not an indexed array.
 <DT><CODE>printf</CODE>
 <DD><A NAME="IDX102"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>printf [-v <VAR>var</VAR>] <VAR>format</VAR> [<VAR>arguments</VAR>]
-</pre></td></tr></table>Write the formatted <VAR>arguments</VAR> to the standard output under the
+</pre></td></tr></table><P>
+
+Write the formatted <VAR>arguments</VAR> to the standard output under the
 control of the <VAR>format</VAR>.
 The <SAMP>`-v'</SAMP> option causes the output to be assigned to the variable
 <VAR>var</VAR> rather than being printed to the standard output.
-<P>
+</P><P>
 
 The <VAR>format</VAR> is a character string which contains three types of objects:
 plain characters, which are simply copied to standard output, character
@@ -4959,16 +5052,16 @@ interprets the following extensions:
 
 <DL COMPACT>
 <DT><CODE>%b</CODE>
-<DD>causes <CODE>printf</CODE> to expand backslash escape sequences in the
+<DD>Causes <CODE>printf</CODE> to expand backslash escape sequences in the
 corresponding <VAR>argument</VAR>,
-(except that <SAMP>`\c'</SAMP> terminates output, backslashes in
+except that <SAMP>`\c'</SAMP> terminates output, backslashes in
 <SAMP>`\''</SAMP>, <SAMP>`\"'</SAMP>, and <SAMP>`\?'</SAMP> are not removed, and octal escapes
-beginning with <SAMP>`\0'</SAMP> may contain up to four digits).
+beginning with <SAMP>`\0'</SAMP> may contain up to four digits.
 <DT><CODE>%q</CODE>
-<DD>causes <CODE>printf</CODE> to output the
+<DD>Causes <CODE>printf</CODE> to output the
 corresponding <VAR>argument</VAR> in a format that can be reused as shell input.
 <DT><CODE>%(<VAR>datefmt</VAR>)T</CODE>
-<DD>causes <CODE>printf</CODE> to output the date-time string resulting from using
+<DD>Causes <CODE>printf</CODE> to output the date-time string resulting from using
 <VAR>datefmt</VAR> as a format string for <CODE>strftime</CODE>(3).  The corresponding
 <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
@@ -4991,8 +5084,11 @@ non-zero on failure.
 
 <DT><CODE>read</CODE>
 <DD><A NAME="IDX103"></A>
-<TABLE><tr><td>&nbsp;</td><td class=example><pre>read [-ers] [-a <VAR>aname</VAR>] [-d <VAR>delim</VAR>] [-i <VAR>text</VAR>] [-n <VAR>nchars</VAR>] [-N <VAR>nchars</VAR>] [-p <VAR>prompt</VAR>] [-t <VAR>timeout</VAR>] [-u <VAR>fd</VAR>] [<VAR>name</VAR> <small>...</small>]
-</pre></td></tr></table>One line is read from the standard input, or from the file descriptor
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>read [-ers] [-a <VAR>aname</VAR>] [-d <VAR>delim</VAR>] [-i <VAR>text</VAR>] [-n <VAR>nchars</VAR>]
+    [-N <VAR>nchars</VAR>] [-p <VAR>prompt</VAR>] [-t <VAR>timeout</VAR>] [-u <VAR>fd</VAR>] [<VAR>name</VAR> <small>...</small>]
+</pre></td></tr></table><P>
+
+One line is read from the standard input, or from the file descriptor
 <VAR>fd</VAR> supplied as an argument to the <SAMP>`-u'</SAMP> option, and the first word
 is assigned to the first <VAR>name</VAR>, the second word to the second <VAR>name</VAR>,
 and so on, with leftover words and their intervening separators assigned
@@ -5008,7 +5104,7 @@ variable <CODE>REPLY</CODE>.
 The return code is zero, unless end-of-file is encountered, <CODE>read</CODE>
 times out (in which case the return code is greater than 128), or an
 invalid file descriptor is supplied as the argument to <SAMP>`-u'</SAMP>.
-<P>
+</P><P>
 
 Options, if supplied, have the following meanings:
 </P><P>
@@ -5078,26 +5174,27 @@ the decimal point.
 This option is only effective if <CODE>read</CODE> is reading input from a
 terminal, pipe, or other special file; it has no effect when reading
 from regular files.
-If <VAR>timeout</VAR> is 0, <CODE>read</CODE> returns success if input is available on
-the specified file descriptor, failure otherwise.
+If <VAR>timeout</VAR> is 0, <CODE>read</CODE> returns immediately, without trying to
+read and data.  The exit status is 0 if input is available on
+the specified file descriptor, non-zero otherwise.
 The exit status is greater than 128 if the timeout is exceeded.
 <P>
 
 <DT><CODE>-u <VAR>fd</VAR></CODE>
 <DD>Read input from file descriptor <VAR>fd</VAR>.
-<P>
-
 </DL>
 <P>
 
 <DT><CODE>readarray</CODE>
 <DD><A NAME="IDX104"></A>
-<TABLE><tr><td>&nbsp;</td><td class=example><pre>readarray [-n <VAR>count</VAR>] [-O <VAR>origin</VAR>] [-s <VAR>count</VAR>] [-t] [-u <VAR>fd</VAR>] [
--C <VAR>callback</VAR>] [-c <VAR>quantum</VAR>] [<VAR>array</VAR>]
-</pre></td></tr></table>Read lines from the standard input into the indexed array variable <VAR>array</VAR>,
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>readarray [-n <VAR>count</VAR>] [-O <VAR>origin</VAR>] [-s <VAR>count</VAR>] [-t] [-u <VAR>fd</VAR>]
+    [-C <VAR>callback</VAR>] [-c <VAR>quantum</VAR>] [<VAR>array</VAR>]
+</pre></td></tr></table><P>
+
+Read lines from the standard input into the indexed array variable <VAR>array</VAR>,
 or from file descriptor <VAR>fd</VAR>
 if the <SAMP>`-u'</SAMP> option is supplied.
-<P>
+</P><P>
 
 A synonym for <CODE>mapfile</CODE>.
 </P><P>
@@ -5105,15 +5202,19 @@ A synonym for <CODE>mapfile</CODE>.
 <DT><CODE>source</CODE>
 <DD><A NAME="IDX105"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>source <VAR>filename</VAR>
-</pre></td></tr></table>A synonym for <CODE>.</CODE> (see section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>).
-<P>
+</pre></td></tr></table><P>
+
+A synonym for <CODE>.</CODE> (see section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>).
+</P><P>
 
 <DT><CODE>type</CODE>
 <DD><A NAME="IDX106"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>type [-afptP] [<VAR>name</VAR> <small>...</small>]
-</pre></td></tr></table>For each <VAR>name</VAR>, indicate how it would be interpreted if used as a
+</pre></td></tr></table><P>
+
+For each <VAR>name</VAR>, indicate how it would be interpreted if used as a
 command name.
-<P>
+</P><P>
 
 If the <SAMP>`-t'</SAMP> option is used, <CODE>type</CODE> prints a single word
 which is one of <SAMP>`alias'</SAMP>, <SAMP>`function'</SAMP>, <SAMP>`builtin'</SAMP>,
@@ -5134,7 +5235,7 @@ The <SAMP>`-P'</SAMP> option forces a path search for each <VAR>name</VAR>, even
 </P><P>
 
 If a command is hashed, <SAMP>`-p'</SAMP> and <SAMP>`-P'</SAMP> print the hashed value,
-not necessarily the file that appears first in <CODE>$PATH</CODE>.
+which is not necessarily the file that appears first in <CODE>$PATH</CODE>.
 </P><P>
 
 If the <SAMP>`-a'</SAMP> option is used, <CODE>type</CODE> returns all of the places
@@ -5153,18 +5254,24 @@ if any are not found.
 
 <DT><CODE>typeset</CODE>
 <DD><A NAME="IDX107"></A>
-<TABLE><tr><td>&nbsp;</td><td class=example><pre>typeset [-afFrxi] [-p] [<VAR>name</VAR>[=<VAR>value</VAR>] <small>...</small>]
-</pre></td></tr></table>The <CODE>typeset</CODE> command is supplied for compatibility with the Korn
-shell; however, it has been deprecated in favor of the <CODE>declare</CODE>
-builtin command.
-<P>
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>typeset [-afFgrxilrtux] [-p] [<VAR>name</VAR>[=<VAR>value</VAR>] <small>...</small>]
+</pre></td></tr></table><P>
+
+The <CODE>typeset</CODE> command is supplied for compatibility with the Korn
+shell.
+It is a synonym for the <CODE>declare</CODE> builtin command.
+</P><P>
 
 <DT><CODE>ulimit</CODE>
 <DD><A NAME="IDX108"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>ulimit [-abcdefilmnpqrstuvxHST] [<VAR>limit</VAR>]
-</pre></td></tr></table><CODE>ulimit</CODE> provides control over the resources available to processes
+</pre></td></tr></table><P>
+
+<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><P>
+
 <DL COMPACT>
 <DT><CODE>-S</CODE>
 <DD>Change and report the soft limit associated with a resource.
@@ -5250,13 +5357,12 @@ some systems, to its children.
 
 <DT><CODE>-T</CODE>
 <DD>The maximum number of threads.
-<P>
-
 </DL>
 <P>
 
-If <VAR>limit</VAR> is given, it is the new value of the specified resource;
-the special <VAR>limit</VAR> values <CODE>hard</CODE>, <CODE>soft</CODE>, and
+If <VAR>limit</VAR> is given, and the <SAMP>`-a'</SAMP> option is not used,
+<VAR>limit</VAR> is the new value of the specified resource.
+The special <VAR>limit</VAR> values <CODE>hard</CODE>, <CODE>soft</CODE>, and
 <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;
@@ -5266,9 +5372,9 @@ is printed, unless the <SAMP>`-H'</SAMP> option is supplied.
 When setting new limits, if neither <SAMP>`-H'</SAMP> nor <SAMP>`-S'</SAMP> is supplied,
 both the hard and soft limits are set.
 If no option is given, then <SAMP>`-f'</SAMP> is assumed.  Values are in 1024-byte
-increments, except for <SAMP>`-t'</SAMP>, which is in seconds, <SAMP>`-p'</SAMP>,
-which is in units of 512-byte blocks, and <SAMP>`-n'</SAMP> and <SAMP>`-u'</SAMP>, which
-are unscaled values.
+increments, except for <SAMP>`-t'</SAMP>, which is in seconds; <SAMP>`-p'</SAMP>,
+which is in units of 512-byte blocks; and <SAMP>`-T'</SAMP>, <SAMP>`-b'</SAMP>,
+<SAMP>`-n'</SAMP> and <SAMP>`-u'</SAMP>, which are unscaled values.
 </P><P>
 
 The return status is zero unless an invalid option or argument is supplied,
@@ -5283,8 +5389,6 @@ or an error occurs while setting a new limit.
 Remove each <VAR>name</VAR> from the list of aliases.  If <SAMP>`-a'</SAMP> is
 supplied, all aliases are removed.
 Aliases are described in <A HREF="bashref.html#SEC85">6.6 Aliases</A>.
-</P><P>
-
 </DL>
 <P>
 
@@ -5366,11 +5470,11 @@ immediately, rather than before printing the next primary prompt.
 <P>
 
 <DT><CODE>-e</CODE>
-<DD>Exit immediately if a pipeline (see section <A HREF="bashref.html#SEC17">3.2.2 Pipelines</A>), which may consist
-of a single simple command (see section <A HREF="bashref.html#SEC16">3.2.1 Simple Commands</A>),
-a subshell command enclosed in parentheses (see section <A HREF="bashref.html#SEC22">3.2.4.3 Grouping Commands</A>),
-or one of the commands executed as part of a command list enclosed
-by braces (see section <A HREF="bashref.html#SEC22">3.2.4.3 Grouping Commands</A>)
+<DD>Exit immediately if
+a pipeline (see section <A HREF="bashref.html#SEC17">3.2.2 Pipelines</A>), which may consist of a single simple command
+(see section <A HREF="bashref.html#SEC16">3.2.1 Simple Commands</A>),
+a list (see section <A HREF="bashref.html#SEC18">3.2.3 Lists of Commands</A>),
+or a compound command (see section <A HREF="bashref.html#SEC19">3.2.4 Compound Commands</A>)
 returns a non-zero status.
 The shell does not exit if the command that fails is part of the
 command list immediately following a <CODE>while</CODE> or <CODE>until</CODE> keyword,
@@ -5379,6 +5483,9 @@ part of any command executed in a <CODE>&#38;&#38;</CODE> or <CODE>||</CODE> lis
 the command following the final <CODE>&#38;&#38;</CODE> or <CODE>||</CODE>,
 any command in a pipeline but the last,
 or if the command's return status is being inverted with <CODE>!</CODE>.
+If a compound command other than a subshell
+returns a non-zero status because a command failed
+while <SAMP>`-e'</SAMP> was being ignored, the shell does not exit.
 A trap on <CODE>ERR</CODE>, if set, is executed before the shell exits.
 <P>
 
@@ -5544,9 +5651,9 @@ processed, shell functions are not inherited from the environment,
 and the <CODE>SHELLOPTS</CODE>, <CODE>BASHOPTS</CODE>, <CODE>CDPATH</CODE> and <CODE>GLOBIGNORE</CODE>
 variables, if they appear in the environment, are ignored.
 If the shell is started with the effective user (group) id not equal to the
-real user (group) id, and the <CODE>-p</CODE> option is not supplied, these actions
+real user (group) id, and the <SAMP>`-p'</SAMP> option is not supplied, these actions
 are taken and the effective user id is set to the real user id.
-If the <CODE>-p</CODE> option is supplied at startup, the effective user id is
+If the <SAMP>`-p'</SAMP> option is supplied at startup, the effective user id is
 not reset.
 Turning this option off causes the effective user
 and group ids to be set to the real user and group ids.
@@ -5682,13 +5789,15 @@ This builtin allows you to change additional shell optional behavior.
 <DT><CODE>shopt</CODE>
 <DD><A NAME="IDX111"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>shopt [-pqsu] [-o] [<VAR>optname</VAR> <small>...</small>]
-</pre></td></tr></table>Toggle the values of variables controlling optional shell behavior.
+</pre></td></tr></table><P>
+
+Toggle the values of variables controlling optional shell behavior.
 With no options, or with the <SAMP>`-p'</SAMP> option, a list of all settable
 options is displayed, with an indication of whether or not each is set.
 The <SAMP>`-p'</SAMP> option causes output to be displayed in a form that
 may be reused as input.
 Other options have the following meanings:
-<P>
+</P><P>
 
 <DL COMPACT>
 <DT><CODE>-s</CODE>
@@ -5715,7 +5824,7 @@ non-zero otherwise.
 <P>
 
 If either <SAMP>`-s'</SAMP> or <SAMP>`-u'</SAMP>
-is used with no <VAR>optname</VAR> arguments, the display is limited to
+is used with no <VAR>optname</VAR> arguments, <CODE>shopt</CODE> shows only
 those options which are set or unset, respectively.
 </P><P>
 
@@ -5812,6 +5921,24 @@ quoted.  This is the behavior of POSIX mode through version 4.1.
 The default Bash behavior remains as in previous versions.
 <P>
 
+<DT><CODE>complete_fullquote</CODE>
+<DD>If set, Bash
+quotes all shell metacharacters in filenames and directory names when
+performing completion.
+If not set, Bash
+removes metacharacters such as the dollar sign from the set of
+characters that will be quoted in completed filenames
+when these metacharacters appear in shell variable references in words to be
+completed.
+This means that dollar signs in variable names that expand to directories
+will not be quoted;
+however, any dollar signs appearing in filenames will not be quoted, either.
+This is active only when bash is using backslashes to quote completed
+filenames.
+This variable is set by default, which is the default Bash behavior in
+versions through 4.2.
+<P>
+
 <DT><CODE>direxpand</CODE>
 <DD>If set, Bash
 replaces directory names with the results of word expansion when performing
@@ -6059,8 +6186,6 @@ The return status when listing options is zero if all <VAR>optnames</VAR>
 are enabled, non-zero otherwise.
 When setting or unsetting options, the return status is zero unless an
 <VAR>optname</VAR> is not a valid shell option.
-</P><P>
-
 </DL>
 <P>
 
@@ -6204,7 +6329,7 @@ the specified file or Maildir-format directory.
 A colon-separated list of filenames which the shell periodically checks
 for new mail.
 Each list entry can specify the message that is printed when new mail
-arrives in the mail file by separating the file name from the message with
+arrives in the mail file by separating the filename from the message with
 a <SAMP>`?'</SAMP>.
 When used in the text of the message, <CODE>$_</CODE> expands to the name of
 the current mail file.
@@ -6452,8 +6577,6 @@ The values assigned to the array members are as follows:
 
 <DT><CODE>BASH_VERSINFO[5]</CODE>
 <DD>The value of <CODE>MACHTYPE</CODE>.
-<P>
-
 </DL>
 <P>
 
@@ -6625,9 +6748,9 @@ builtin command.
 <DD><A NAME="IDX197"></A>
 A colon-separated list of suffixes to ignore when performing
 filename completion.
-A file name whose suffix matches one of the entries in 
+A filename whose suffix matches one of the entries in 
 <CODE>FIGNORE</CODE>
-is excluded from the list of matched file names.  A sample
+is excluded from the list of matched filenames.  A sample
 value is <SAMP>`.o:~'</SAMP>
 <P>
 
@@ -6957,10 +7080,10 @@ contain only a single command).
 <A NAME="IDX262"></A>
 <DT><CODE>POSIXLY_CORRECT</CODE>
 <DD><A NAME="IDX263"></A>
-If this variable is in the environment when <CODE>bash</CODE> starts, the shell
+If this variable is in the environment when Bash starts, the shell
 enters POSIX mode (see section <A HREF="bashref.html#SEC91">6.11 Bash POSIX Mode</A>) before reading the
 startup files, as if the <SAMP>`--posix'</SAMP> invocation option had been supplied.
-If it is set while the shell is running, <CODE>bash</CODE> enables POSIX mode,
+If it is set while the shell is running, Bash enables POSIX mode,
 as if the command
 <TABLE><tr><td>&nbsp;</td><td class=example><pre><CODE>set -o posix</CODE>
 </pre></td></tr></table>had been executed.  
@@ -7185,7 +7308,7 @@ The numeric real user id of the current user.  This variable is readonly.
 <!--docid::SEC69::-->
 <P>
 
-This section describes features unique to Bash.
+This chapter describes features unique to Bash.
 </P><P>
 
 <BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0> 
@@ -7199,7 +7322,7 @@ This section describes features unique to Bash.
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC85">6.6 Aliases</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Substituting one command for another.</TD></TR>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC86">6.7 Arrays</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Array Variables.</TD></TR>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC87">6.8 The Directory Stack</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">History of visited directories.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC89">6.9 Controlling the Prompt</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Controlling the PS1 string.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC89">6.9 Controlling the Prompt</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Customizing the various prompt strings.</TD></TR>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC90">6.10 The Restricted Shell</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A more controlled mode of shell execution.</TD></TR>
 <TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC91">6.11 Bash POSIX Mode</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Making Bash behave more closely to what
                                the POSIX standard specifies.</TD></TR>
@@ -7306,8 +7429,6 @@ POSIX mode.
 <DT><CODE>--version</CODE>
 <DD>Show version information for this instance of
 Bash on the standard output and exit successfully.
-<P>
-
 </DL>
 <P>
 
@@ -7374,8 +7495,6 @@ that may be reused as input.
 <DD>A <CODE>--</CODE> signals the end of options and disables further option
 processing.
 Any arguments after the <CODE>--</CODE> are treated as filenames and arguments.
-<P>
-
 </DL>
 <P>
 
@@ -7425,7 +7544,7 @@ in the script.  If no commands are executed, the exit status is 0.
 
 This section describes how Bash executes its startup files.
 If any of the files exist but cannot be read, Bash reports an error.
-Tildes are expanded in file names as described above under
+Tildes are expanded in filenames as described above under
 Tilde Expansion (see section <A HREF="bashref.html#SEC31">3.5.2 Tilde Expansion</A>).
 </P><P>
 
@@ -7480,7 +7599,7 @@ the name of a file to read and execute.  Bash behaves as if the
 following command were executed:
 <TABLE><tr><td>&nbsp;</td><td class=example><pre><CODE>if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi</CODE>
 </pre></td></tr></table>but the value of the <CODE>PATH</CODE> variable is not used to search for the
-file name.
+filename.
 </P><P>
 
 As noted above, if a non-interactive shell is invoked with the
@@ -7555,12 +7674,12 @@ allow them to be specified.
 <P>
 
 If Bash is started with the effective user (group) id not equal to the
-real user (group) id, and the <CODE>-p</CODE> option is not supplied, no startup
+real user (group) id, and the <SAMP>`-p'</SAMP> option is not supplied, no startup
 files are read, shell functions are not inherited from the environment,
 the <CODE>SHELLOPTS</CODE>, <CODE>BASHOPTS</CODE>, <CODE>CDPATH</CODE>, and <CODE>GLOBIGNORE</CODE>
 variables, if they appear in the environment, are ignored, and the effective
 user id is set to the real user id.
-If the <CODE>-p</CODE> option is supplied at invocation, the startup behavior is
+If the <SAMP>`-p'</SAMP> option is supplied at invocation, the startup behavior is
 the same, but the effective user id is not reset.
 </P><P>
 
@@ -7992,8 +8111,6 @@ is equal to, not equal to, less than, less than or equal to,
 greater than, or greater than or equal to <VAR>arg2</VAR>,
 respectively.  <VAR>Arg1</VAR> and <VAR>arg2</VAR>
 may be positive or negative integers.
-<P>
-
 </DL>
 <P>
 
@@ -8173,8 +8290,9 @@ aliases, but a word that is identical to an alias being expanded
 is not expanded a second time.
 This means that one may alias <CODE>ls</CODE> to <CODE>"ls -F"</CODE>,
 for instance, and Bash does not try to recursively expand the
-replacement text. If the last character of the alias value is a
-space or tab character, then the next command word following the
+replacement text.
+If the last character of the alias value is a
+<VAR>blank</VAR>, then the next command word following the
 alias is also checked for alias expansion.
 </P><P>
 
@@ -8247,7 +8365,7 @@ associative arrays use arbitrary strings.
 
 An indexed array is created automatically if any variable is assigned to
 using the syntax
-<TABLE><tr><td>&nbsp;</td><td class=example><pre>name[<VAR>subscript</VAR>]=<VAR>value</VAR>
+<TABLE><tr><td>&nbsp;</td><td class=example><pre><VAR>name</VAR>[<VAR>subscript</VAR>]=<VAR>value</VAR>
 </pre></td></tr></table></P><P>
 
 The <VAR>subscript</VAR>
@@ -8270,10 +8388,10 @@ an array.
 </P><P>
 
 Arrays are assigned to using compound assignments of the form
-<TABLE><tr><td>&nbsp;</td><td class=example><pre>name=(value<VAR>1</VAR> <small>...</small> value<VAR>n</VAR>)
+<TABLE><tr><td>&nbsp;</td><td class=example><pre><VAR>name</VAR>=(<VAR>value1</VAR> <VAR>value2</VAR> <small>...</small> )
 </pre></td></tr></table>where each
 <VAR>value</VAR> is of the form <CODE>[<VAR>subscript</VAR>]=</CODE><VAR>string</VAR>.
-Indexed array assignments do not require the bracket and subscript.
+Indexed array assignments do not require anything but <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
@@ -8285,30 +8403,30 @@ When assigning to an associative array, the subscript is required.
 
 This syntax is also accepted by the <CODE>declare</CODE>
 builtin.  Individual array elements may be assigned to using the
-<CODE>name[</CODE><VAR>subscript</VAR><CODE>]=</CODE><VAR>value</VAR> syntax introduced above.
+<CODE><VAR>name</VAR>[<VAR>subscript</VAR>]=<VAR>value</VAR></CODE> syntax introduced above.
 </P><P>
 
 Any element of an array may be referenced using
-<CODE>${name[</CODE><VAR>subscript</VAR><CODE>]}</CODE>.
+<CODE>${<VAR>name</VAR>[<VAR>subscript</VAR>]}</CODE>.
 The braces are required to avoid
 conflicts with the shell's filename expansion operators.  If the
 <VAR>subscript</VAR> is <SAMP>`@'</SAMP> or <SAMP>`*'</SAMP>, the word expands to all members
 of the array <VAR>name</VAR>.  These subscripts differ only when the word
 appears within double quotes.
 If the word is double-quoted,
-<CODE>${name[*]}</CODE> expands to a single word with
+<CODE>${<VAR>name</VAR>[*]}</CODE> expands to a single word with
 the value of each array member separated by the first character of the
-<CODE>IFS</CODE> variable, and <CODE>${name[@]}</CODE> expands each element of
+<CODE>IFS</CODE> variable, and <CODE>${<VAR>name</VAR>[@]}</CODE> expands each element of
 <VAR>name</VAR> to a separate word.  When there are no array members,
-<CODE>${name[@]}</CODE> expands to nothing.
+<CODE>${<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.
 This is analogous to the
 expansion of the special parameters <SAMP>`@'</SAMP> and <SAMP>`*'</SAMP>. 
-<CODE>${#name[</CODE><VAR>subscript</VAR><CODE>]}</CODE> expands to the length of
-<CODE>${name[</CODE><VAR>subscript</VAR><CODE>]}</CODE>.
+<CODE>${#<VAR>name</VAR>[<VAR>subscript</VAR>]}</CODE> expands to the length of
+<CODE>${<VAR>name</VAR>[<VAR>subscript</VAR>]}</CODE>.
 If <VAR>subscript</VAR> is <SAMP>`@'</SAMP> or
 <SAMP>`*'</SAMP>, the expansion is the number of elements in the array. 
 Referencing an array variable without a subscript is equivalent to
@@ -8325,12 +8443,12 @@ value.  The null string is a valid value.
 </P><P>
 
 The <CODE>unset</CODE> builtin is used to destroy arrays.
-<CODE>unset</CODE> <VAR>name</VAR>[<VAR>subscript</VAR>]
+<CODE>unset <VAR>name</VAR>[<VAR>subscript</VAR>]</CODE>
 destroys the array element at index <VAR>subscript</VAR>.
 Care must be taken to avoid unwanted side effects caused by filename
 expansion.
-<CODE>unset</CODE> <VAR>name</VAR>, where <VAR>name</VAR> is an array, removes the
-entire array. A subscript of <SAMP>`*'</SAMP> or <SAMP>`@'</SAMP> also removes the
+<CODE>unset <VAR>name</VAR></CODE>, where <VAR>name</VAR> is an array, removes the
+entire array.  A subscript of <SAMP>`*'</SAMP> or <SAMP>`@'</SAMP> also removes the
 entire array.
 </P><P>
 
@@ -8404,36 +8522,40 @@ as the value of the <CODE>DIRSTACK</CODE> shell variable.
 
 <DT><CODE>dirs</CODE>
 <DD><A NAME="IDX302"></A>
-<TABLE><tr><td>&nbsp;</td><td class=example><pre>dirs [+<VAR>N</VAR> | -<VAR>N</VAR>] [-clpv]
-</pre></td></tr></table>Display the list of currently remembered directories.  Directories
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>dirs [-clpv] [+<VAR>N</VAR> | -<VAR>N</VAR>]
+</pre></td></tr></table><P>
+
+Display the list of currently remembered directories.  Directories
 are added to the list with the <CODE>pushd</CODE> command; the
 <CODE>popd</CODE> command removes directories from the list.
+</P><P>
+
 <DL COMPACT>
-<DT><CODE>+<VAR>N</VAR></CODE>
-<DD>Displays the <VAR>N</VAR>th directory (counting from the left of the
-list printed by <CODE>dirs</CODE> when invoked without options), starting
-with zero.
-<DT><CODE>-<VAR>N</VAR></CODE>
-<DD>Displays the <VAR>N</VAR>th directory (counting from the right of the
-list printed by <CODE>dirs</CODE> when invoked without options), starting
-with zero.
 <DT><CODE>-c</CODE>
 <DD>Clears the directory stack by deleting all of the elements.
 <DT><CODE>-l</CODE>
-<DD>Produces a longer listing; the default listing format uses a 
-tilde to denote the home directory.
+<DD>Produces a listing using full pathnames;
+the default listing format uses a tilde to denote the home directory.
 <DT><CODE>-p</CODE>
 <DD>Causes <CODE>dirs</CODE> to print the directory stack with one entry per
 line.
 <DT><CODE>-v</CODE>
 <DD>Causes <CODE>dirs</CODE> to print the directory stack with one entry per
 line, prefixing each entry with its index in the stack.
+<DT><CODE>+<VAR>N</VAR></CODE>
+<DD>Displays the <VAR>N</VAR>th directory (counting from the left of the
+list printed by <CODE>dirs</CODE> when invoked without options), starting
+with zero.
+<DT><CODE>-<VAR>N</VAR></CODE>
+<DD>Displays the <VAR>N</VAR>th directory (counting from the right of the
+list printed by <CODE>dirs</CODE> when invoked without options), starting
+with zero.
 </DL>
 <P>
 
 <DT><CODE>popd</CODE>
 <DD><A NAME="IDX303"></A>
-<TABLE><tr><td>&nbsp;</td><td class=example><pre>popd [+<VAR>N</VAR> | -<VAR>N</VAR>] [-n]
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>popd [-n] [+<VAR>N</VAR> | -<VAR>N</VAR>]
 </pre></td></tr></table><P>
 
 Remove the top entry from the directory stack, and <CODE>cd</CODE>
@@ -8442,23 +8564,25 @@ When no arguments are given, <CODE>popd</CODE>
 removes the top directory from the stack and
 performs a <CODE>cd</CODE> to the new top directory.  The
 elements are numbered from 0 starting at the first directory listed with
-<CODE>dirs</CODE>; i.e., <CODE>popd</CODE> is equivalent to <CODE>popd +0</CODE>.
+<CODE>dirs</CODE>; that is, <CODE>popd</CODE> is equivalent to <CODE>popd +0</CODE>.
+</P><P>
+
 <DL COMPACT>
+<DT><CODE>-n</CODE>
+<DD>Suppresses the normal change of directory when removing directories
+from the stack, so that only the stack is manipulated.
 <DT><CODE>+<VAR>N</VAR></CODE>
 <DD>Removes the <VAR>N</VAR>th directory (counting from the left of the
 list printed by <CODE>dirs</CODE>), starting with zero.
 <DT><CODE>-<VAR>N</VAR></CODE>
 <DD>Removes the <VAR>N</VAR>th directory (counting from the right of the
 list printed by <CODE>dirs</CODE>), starting with zero.
-<DT><CODE>-n</CODE>
-<DD>Suppresses the normal change of directory when removing directories
-from the stack, so that only the stack is manipulated.
 </DL>
 <P>
 
 <A NAME="IDX304"></A>
 <DT><CODE>pushd</CODE>
-<DD><TABLE><tr><td>&nbsp;</td><td class=example><pre>pushd [-n] [<VAR>+N</VAR> | <VAR>-N</VAR> | <VAR>dir</VAR> ]
+<DD><TABLE><tr><td>&nbsp;</td><td class=example><pre>pushd [-n] [<VAR>+N</VAR> | <VAR>-N</VAR> | <VAR>dir</VAR>]
 </pre></td></tr></table><P>
 
 Save the current directory on the top of the directory stack
@@ -8479,16 +8603,14 @@ the list by rotating the stack.
 list printed by <CODE>dirs</CODE>, starting with zero) to the top of
 the list by rotating the stack.
 <DT><CODE><VAR>dir</VAR></CODE>
-<DD>Makes the current working directory be the top of the stack, and then
-executes the equivalent of `<CODE>cd</CODE> <VAR>dir</VAR>'.
-<CODE>cd</CODE>s to <VAR>dir</VAR>.
+<DD>Makes the current working directory be the top of the stack, making
+it the new current directory as if it had been supplied as an argument
+to the <CODE>cd</CODE> builtin.
 </DL>
-<P>
-
 </DL>
 <P>
 
-<A NAME="Printing a Prompt"></A>
+<A NAME="Controlling the Prompt"></A>
 <HR SIZE="6">
 <A NAME="SEC89"></A>
 <TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
@@ -8513,7 +8635,7 @@ value is executed 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:
+can appear in the prompt variables <CODE>PS1</CODE> to <CODE>PS4</CODE>:
 </P><P>
 
 <DL COMPACT>
@@ -8742,6 +8864,13 @@ Tilde expansion is only performed on assignments preceding a command
 name, rather than on all assignment statements on the line.
 <P>
 
+<LI>
+The <CODE>command</CODE> builtin does not prevent builtins that take assignment
+statements as arguments from expanding them as assignment statements;
+when not in POSIX mode, assignment builtins lose their assignment
+statement expansion properties when preceded by <CODE>command</CODE>.
+<P>
+
 <LI>
 The default history file is <TT>`~/.sh_history'</TT> (this is the
 default value of <CODE>$HISTFILE</CODE>).
@@ -8790,6 +8919,11 @@ may not start with a digit.  Declaring a function with an invalid name
 causes a fatal syntax error in non-interactive shells.
 <P>
 
+<LI>
+Function names may not be the same as one of the POSIX special
+builtins.
+<P>
+
 <LI>
 POSIX special builtins are found before shell functions
 during command lookup.
@@ -9117,7 +9251,7 @@ previous job with a <SAMP>`-'</SAMP>.
 A job may also be referred to
 using a prefix of the name used to start it, or using a substring
 that appears in its command line.  For example, <SAMP>`%ce'</SAMP> refers
-to a stopped <CODE>ce</CODE> job. Using <SAMP>`%?ce'</SAMP>, on the
+to a stopped <CODE>ce</CODE> job.  Using <SAMP>`%?ce'</SAMP>, on the
 other hand, refers to any job containing the string <SAMP>`ce'</SAMP> in
 its command line.  If the prefix or substring matches more than one job,
 Bash reports an error.
@@ -9171,25 +9305,29 @@ Bash does not print another warning, and any stopped jobs are terminated.
 <DT><CODE>bg</CODE>
 <DD><A NAME="IDX305"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>bg [<VAR>jobspec</VAR> <small>...</small>]
-</pre></td></tr></table>Resume each suspended job <VAR>jobspec</VAR> in the background, as if it
+</pre></td></tr></table><P>
+
+Resume each suspended job <VAR>jobspec</VAR> in the background, as if it
 had been started with <SAMP>`&#38;'</SAMP>.
 If <VAR>jobspec</VAR> is not supplied, the current job is used.
 The return status is zero unless it is run when job control is not
 enabled, or, when run with job control enabled, any
 <VAR>jobspec</VAR> was not found or specifies a job
 that was started without job control.
-<P>
+</P><P>
 
 <DT><CODE>fg</CODE>
 <DD><A NAME="IDX306"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>fg [<VAR>jobspec</VAR>]
-</pre></td></tr></table>Resume the job <VAR>jobspec</VAR> in the foreground and make it the current job.
+</pre></td></tr></table><P>
+
+Resume the job <VAR>jobspec</VAR> in the foreground and make it the current job.
 If <VAR>jobspec</VAR> is not supplied, the current job is used.
 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>jobspec</VAR> does not specify a valid job or
 <VAR>jobspec</VAR> specifies a job that was started without job control.
-<P>
+</P><P>
 
 <DT><CODE>jobs</CODE>
 <DD><A NAME="IDX307"></A>
@@ -9216,11 +9354,11 @@ the user was last notified of their status.
 <P>
 
 <DT><CODE>-r</CODE>
-<DD>Restrict output to running jobs.
+<DD>Display only running jobs.
 <P>
 
 <DT><CODE>-s</CODE>
-<DD>Restrict output to stopped jobs.
+<DD>Display only stopped jobs.
 </DL>
 <P>
 
@@ -9240,7 +9378,9 @@ passing it <VAR>argument</VAR>s, returning its exit status.
 <DD><A NAME="IDX308"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>kill [-s <VAR>sigspec</VAR>] [-n <VAR>signum</VAR>] [-<VAR>sigspec</VAR>] <VAR>jobspec</VAR> or <VAR>pid</VAR>
 kill -l [<VAR>exit_status</VAR>]
-</pre></td></tr></table>Send a signal specified by <VAR>sigspec</VAR> or <VAR>signum</VAR> to the process
+</pre></td></tr></table><P>
+
+Send a signal specified by <VAR>sigspec</VAR> or <VAR>signum</VAR> to the process
 named by job specification <VAR>jobspec</VAR> or process ID <VAR>pid</VAR>.
 <VAR>sigspec</VAR> is either a case-insensitive signal name such as
 <CODE>SIGINT</CODE> (with or without the <CODE>SIG</CODE> prefix)
@@ -9254,12 +9394,14 @@ is zero.
 status of a process terminated by a signal.
 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>
+</P><P>
 
 <DT><CODE>wait</CODE>
 <DD><A NAME="IDX309"></A>
-<TABLE><tr><td>&nbsp;</td><td class=example><pre>wait [<VAR>jobspec</VAR> or <VAR>pid</VAR> ...]
-</pre></td></tr></table>Wait until the child process specified by each process ID <VAR>pid</VAR>
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>wait [<VAR>jobspec</VAR> or <VAR>pid</VAR> <small>...</small>]
+</pre></td></tr></table><P>
+
+Wait until the child process specified by each process ID <VAR>pid</VAR>
 or job specification <VAR>jobspec</VAR> exits and return the exit status of the
 last command waited for.
 If a job spec is given, all processes in the job are waited for.
@@ -9267,12 +9409,14 @@ If no arguments are given, all currently active child processes are
 waited for, and the return status is zero.
 If neither <VAR>jobspec</VAR> nor <VAR>pid</VAR> specifies an active child process
 of the shell, the return status is 127.
-<P>
+</P><P>
 
 <DT><CODE>disown</CODE>
 <DD><A NAME="IDX310"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>disown [-ar] [-h] [<VAR>jobspec</VAR> <small>...</small>]
-</pre></td></tr></table>Without options, each <VAR>jobspec</VAR> is removed from the table of
+</pre></td></tr></table><P>
+
+Without options, remove each <VAR>jobspec</VAR> from the table of
 active jobs.
 If the <SAMP>`-h'</SAMP> option is given, the job is not removed from the table,
 but is marked so that <CODE>SIGHUP</CODE> is not sent to the job if the shell
@@ -9282,17 +9426,17 @@ option is supplied, the current job is used.
 If no <VAR>jobspec</VAR> is supplied, the <SAMP>`-a'</SAMP> option means to remove or
 mark all jobs; the <SAMP>`-r'</SAMP> option without a <VAR>jobspec</VAR>
 argument restricts operation to running jobs.
-<P>
+</P><P>
 
 <DT><CODE>suspend</CODE>
 <DD><A NAME="IDX311"></A>
 <TABLE><tr><td>&nbsp;</td><td class=example><pre>suspend [-f]
-</pre></td></tr></table>Suspend the execution of this shell until it receives a
+</pre></td></tr></table><P>
+
+Suspend the execution of this shell until it receives a
 <CODE>SIGCONT</CODE> signal.
 A login shell cannot be suspended; the <SAMP>`-f'</SAMP>
 option can be used to override this and force the suspension.
-<P>
-
 </DL>
 <P>
 
@@ -12278,8 +12422,10 @@ history list and history file.
 <CODE>fc -s [<VAR>pat</VAR>=<VAR>rep</VAR>] [<VAR>command</VAR>]</CODE>
 </pre></td></tr></table><P>
 
-Fix Command.  In the first form, a range of commands from <VAR>first</VAR> to
-<VAR>last</VAR> is selected from the history list.  Both <VAR>first</VAR> and
+The first form selects a range of commands from <VAR>first</VAR> to
+<VAR>last</VAR> from the history list and displays or edits and re-executes
+them.
+Both <VAR>first</VAR> and
 <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
 history list, where a negative number is used as an offset from the
@@ -12299,6 +12445,7 @@ When editing is complete, the edited commands are echoed and executed.
 
 In the second form, <VAR>command</VAR> is re-executed after each instance
 of <VAR>pat</VAR> in the selected command is replaced by <VAR>rep</VAR>.
+<VAR>command</VAR> is intepreted the same as <VAR>first</VAR> above.
 </P><P>
 
 A useful alias to use with the <CODE>fc</CODE> command is <CODE>r='fc -s'</CODE>, so
@@ -12353,12 +12500,12 @@ file since the beginning of the current Bash session.
 <P>
 
 <DT><CODE>-r</CODE>
-<DD>Read the current history file and append its contents to
+<DD>Read the history file and append its contents to
 the history list.
 <P>
 
 <DT><CODE>-w</CODE>
-<DD>Write out the current history to the history file.
+<DD>Write out the current history list to the history file.
 <P>
 
 <DT><CODE>-p</CODE>
@@ -13398,8 +13545,6 @@ which makes the Bash <CODE>echo</CODE> behave more like the version specified in
 the Single Unix Specification, version 3.
 See section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>, for a description of the escape sequences that
 <CODE>echo</CODE> recognizes.
-<P>
-
 </DL>
 <P>
 
@@ -13849,7 +13994,7 @@ builtin (see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>).
 <P>
 
 <LI>
-The <SAMP>`-x'</SAMP> (<CODE>xtrace</CODE>) option displays commands other than
+The <SAMP>`-x'</SAMP> (<SAMP>`xtrace'</SAMP>) option displays commands other than
 simple commands when performing an execution trace
 (see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>).
 <P>
@@ -16455,7 +16600,7 @@ to permit their use in free software.
 <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
 </TR></TABLE>
 <H1>About this document</H1>
-This document was generated by <I>Chet Ramey</I> on <I>July, 8  2011</I>
+This document was generated by <I>Chet Ramey</I> on <I>September, 26  2011</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 <P></P>  
@@ -16617,7 +16762,7 @@ the following structure:
 <BR>  
 <FONT SIZE="-1">
 This document was generated
-by <I>Chet Ramey</I> on <I>July, 8  2011</I>
+by <I>Chet Ramey</I> on <I>September, 26  2011</I>
 using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
 "><I>texi2html</I></A>
 
index a884a0b6064556b47e0dbe9561489540a7ffaf63..c01f926f65651b58c60c089ad67cc1a96da7914f 100644 (file)
@@ -2,10 +2,10 @@ This is bashref.info, produced by makeinfo version 4.13 from
 /Users/chet/src/bash/src/doc/bashref.texi.
 
 This text is a brief description of the features that are present in
-the Bash shell (version 4.2, 7 July 2011).
+the Bash shell (version 4.2, 25 September 2011).
 
-   This is Edition 4.2, last updated 7 July 2011, of `The GNU Bash
-Reference Manual', for `Bash', Version 4.2.
+   This is Edition 4.2, last updated 25 September 2011, of `The GNU
+Bash Reference Manual', for `Bash', Version 4.2.
 
    Copyright (C) 1988-2011 Free Software Foundation, Inc.
 
@@ -38,15 +38,15 @@ Bash Features
 *************
 
 This text is a brief description of the features that are present in
-the Bash shell (version 4.2, 7 July 2011).
+the Bash shell (version 4.2, 25 September 2011).
 
-   This is Edition 4.2, last updated 7 July 2011, of `The GNU Bash
-Reference Manual', for `Bash', Version 4.2.
+   This is Edition 4.2, last updated 25 September 2011, of `The GNU
+Bash Reference Manual', for `Bash', Version 4.2.
 
    Bash contains features that appear in other popular shells, and some
 features that only appear in Bash.  Some of the shells that Bash has
 borrowed concepts from are the Bourne Shell (`sh'), the Korn Shell
-(`ksh'), and the C-shell (`csh' and its successor, `tcsh'). The
+(`ksh'), and the C-shell (`csh' and its successor, `tcsh').  The
 following menu breaks the features up into categories based upon which
 one of these other shells inspired the feature.
 
@@ -574,17 +574,17 @@ A `pipeline' is a sequence of simple commands separated by one of the
 control operators `|' or `|&'.
 
    The format for a pipeline is
-     [`time' [`-p']] [`!'] COMMAND1 [ [`|' or `|&'] COMMAND2 ...]
+     [time [-p]] [!] COMMAND1 [ | or |& COMMAND2 ] ...
 
 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 the command.
 
-   If `|&' is used, the standard error of COMMAND1 is connected to
-COMMAND2's standard input through the pipe; it is shorthand for `2>&1
-|'.  This implicit redirection of the standard error is performed after
-any redirections specified by the command.
+   If `|&' is used, COMMAND1's standard output and standard error are
+connected to COMMAND2's standard input through the pipe; it is
+shorthand for `2>&1 |'.  This implicit redirection of the standard
+error is performed after any redirections specified by the command.
 
    The reserved word `time' causes timing statistics to be printed for
 the pipeline once it finishes.  The statistics currently consist of
@@ -705,7 +705,9 @@ syntax, it may be replaced with one or more newlines.
 
 `until'
      The syntax of the `until' command is:
+
           until TEST-COMMANDS; do CONSEQUENT-COMMANDS; done
+
      Execute CONSEQUENT-COMMANDS as long as TEST-COMMANDS has an exit
      status which is not zero.  The return status is the exit status of
      the last command executed in CONSEQUENT-COMMANDS, or zero if none
@@ -713,6 +715,7 @@ syntax, it may be replaced with one or more newlines.
 
 `while'
      The syntax of the `while' command is:
+
           while TEST-COMMANDS; do CONSEQUENT-COMMANDS; done
 
      Execute CONSEQUENT-COMMANDS as long as TEST-COMMANDS has an exit
@@ -724,6 +727,7 @@ syntax, it may be replaced with one or more newlines.
      The syntax of the `for' command is:
 
           for NAME [ [in [WORDS ...] ] ; ] do COMMANDS; done
+
      Expand WORDS, and execute COMMANDS once for each member in the
      resultant list, with NAME bound to the current member.  If `in
      WORDS' is not present, the `for' command executes the COMMANDS
@@ -736,6 +740,7 @@ syntax, it may be replaced with one or more newlines.
      An alternate form of the `for' command is also supported:
 
           for (( EXPR1 ; EXPR2 ; EXPR3 )) ; do COMMANDS ; done
+
      First, the arithmetic expression EXPR1 is evaluated according to
      the rules described below (*note Shell Arithmetic::).  The
      arithmetic expression EXPR2 is then evaluated repeatedly until it
@@ -746,7 +751,6 @@ syntax, it may be replaced with one or more newlines.
      command in COMMANDS that is executed, or false if any of the
      expressions is invalid.
 
-
    The `break' and `continue' builtins (*note Bourne Shell Builtins::)
 may be used to control loop execution.
 
@@ -780,7 +784,7 @@ File: bashref.info,  Node: Conditional Constructs,  Next: Command Grouping,  Pre
 `case'
      The syntax of the `case' command is:
 
-          `case WORD in [ [(] PATTERN [| PATTERN]...) COMMAND-LIST ;;]... esac'
+          case WORD in [ [(] PATTERN [| PATTERN]...) COMMAND-LIST ;;]... esac
 
      `case' will selectively execute the COMMAND-LIST corresponding to
      the first PATTERN that matches WORD.  If the shell option
@@ -925,11 +929,11 @@ File: bashref.info,  Node: Conditional Constructs,  Next: Command Grouping,  Pre
 
     `EXPRESSION1 || EXPRESSION2'
           True if either EXPRESSION1 or EXPRESSION2 is true.
-     The `&&' and `||' operators do not evaluate EXPRESSION2 if the
+
+     The `&&' and `||' operators do not evaluate [BEXPRESSION2 if the
      value of EXPRESSION1 is sufficient to determine the return value
      of the entire conditional expression.
 
-
 \1f
 File: bashref.info,  Node: Command Grouping,  Prev: Conditional Constructs,  Up: Compound Commands
 
@@ -979,26 +983,26 @@ had been terminated with the `&' control operator, with a two-way pipe
 established between the executing shell and the coprocess.
 
    The format for a coprocess is:
-     `coproc' [NAME] COMMAND [REDIRECTIONS]
+     coproc [NAME] COMMAND [REDIRECTIONS]
 
 This creates a coprocess named NAME.  If NAME is not supplied, the
 default name is COPROC.  NAME must not be supplied if COMMAND is a
 simple command (*note Simple Commands::); otherwise, it is interpreted
 as the first word of the simple command.
 
-   When the coproc is executed, the shell creates an array variable
-(*note Arrays::) named NAME in the context of the executing shell.  The
-standard output of COMMAND is connected via a pipe to a file descriptor
-in the executing shell, and that file descriptor is assigned to NAME[0].
-The standard input of COMMAND is connected via a pipe to a file
+   When the coprocess is executed, the shell creates an array variable
+(*note Arrays::) named `NAME' in the context of the executing shell.
+The standard output of COMMAND is connected via a pipe to a file
 descriptor in the executing shell, and that file descriptor is assigned
-to NAME[1].  This pipe is established before any redirections specified
-by the command (*note Redirections::).  The file descriptors can be
-utilized as arguments to shell commands and redirections using standard
-word expansions.
+to `NAME'[0].  The standard input of COMMAND is connected via a pipe to
+a file descriptor in the executing shell, and that file descriptor is
+assigned to `NAME'[1].  This pipe is established before any
+redirections specified by the command (*note Redirections::).  The file
+descriptors can be utilized as arguments to shell commands and
+redirections using standard word expansions.
 
    The process ID of the shell spawned to execute the coprocess is
-available as the value of the variable NAME_PID.  The `wait' builtin
+available as the value of the variable `NAME'_PID.  The `wait' builtin
 command may be used to wait for the coprocess to terminate.
 
    The return status of a coprocess is the exit status of COMMAND.
@@ -1077,9 +1081,10 @@ no new process is created to interpret them.
 
    Functions are declared using this syntax: 
      NAME () COMPOUND-COMMAND [ REDIRECTIONS ]
-     or
 
-     `function' NAME [()] COMPOUND-COMMAND [ REDIRECTIONS ]
+   or
+
+     function NAME [()] COMPOUND-COMMAND [ REDIRECTIONS ]
 
    This defines a shell function named NAME.  The reserved word
 `function' is optional.  If the `function' reserved word is supplied,
@@ -1087,7 +1092,9 @@ the parentheses are optional.  The BODY of the function is the compound
 command COMPOUND-COMMAND (*note Compound Commands::).  That command is
 usually a LIST enclosed between { and }, but may be any compound
 command listed above.  COMPOUND-COMMAND is executed whenever NAME is
-specified as the name of a command.  Any redirections (*note
+specified as the name of a command.  When the shell is in POSIX mode
+(*note Bash POSIX Mode::), NAME may not be the same as one of the
+special builtins (*note Special Builtins::).  Any redirections (*note
 Redirections::) associated with the shell function are performed when
 the function is executed.
 
@@ -1144,9 +1151,9 @@ builtin.  These variables are visible only to the function and the
 commands it invokes.
 
    Function names and definitions may be listed with the `-f' option to
-the `declare' or `typeset' builtin commands (*note Bash Builtins::).
-The `-F' option to `declare' or `typeset' will list the function names
-only (and optionally the source file and line number, if the `extdebug'
+the `declare' (`typeset') builtin command (*note Bash Builtins::).  The
+`-F' option to `declare' or `typeset' will list the function names only
+(and optionally the source file and line number, if the `extdebug'
 shell option is enabled).  Functions may be exported so that subshells
 automatically have them defined with the `-f' option to the `export'
 builtin (*note Bourne Shell Builtins::).  Note that shell functions and
@@ -1191,7 +1198,10 @@ is not used (*note Arithmetic Expansion::).  Word splitting is not
 performed, with the exception of `"$@"' as explained below.  Filename
 expansion is not performed.  Assignment statements may also appear as
 arguments to the `alias', `declare', `typeset', `export', `readonly',
-and `local' builtin commands.
+and `local' builtin commands.  When in POSIX mode (*note Bash POSIX
+Mode::), these builtins may appear in a command after one or more
+instances of the `command' builtin and retain these assignment
+statement properties.
 
    In the context where an assignment statement is assigning a value to
 a shell variable or array index (*note Arrays::), the `+=' operator can
@@ -1302,6 +1312,7 @@ File: bashref.info,  Node: Shell Expansions,  Next: Redirections,  Prev: Shell P
 
 Expansion is performed on the command line after it has been split into
 `token's.  There are seven kinds of expansion performed:
+
    * brace expansion
 
    * tilde expansion
@@ -1357,7 +1368,7 @@ File: bashref.info,  Node: Brace Expansion,  Next: Tilde Expansion,  Up: Shell E
 
 Brace expansion is a mechanism by which arbitrary strings may be
 generated.  This mechanism is similar to FILENAME EXPANSION (*note
-Filename Expansion::), but the file names generated need not exist.
+Filename Expansion::), but the filenames generated need not exist.
 Patterns to be brace expanded take the form of an optional PREAMBLE,
 followed by either a series of comma-separated strings or a sequence
 expression between a pair of braces, followed by an optional POSTSCRIPT.
@@ -1439,7 +1450,7 @@ is left unchanged.
 
    Each variable assignment is checked for unquoted tilde-prefixes
 immediately following a `:' or the first `='.  In these cases, tilde
-expansion is also performed.  Consequently, one may use file names with
+expansion is also performed.  Consequently, one may use filenames with
 tildes in assignments to `PATH', `MAILPATH', and `CDPATH', and the
 shell assigns the expanded value.
 
@@ -1469,7 +1480,6 @@ shell assigns the expanded value.
 `~-N'
      The string that would be displayed by `dirs -N'
 
-
 \1f
 File: bashref.info,  Node: Shell Parameter Expansion,  Next: Command Substitution,  Prev: Tilde Expansion,  Up: Shell Expansions
 
@@ -1648,7 +1658,6 @@ omitted, the operator tests only for existence.
      case modification operation is applied to each member of the array
      in turn, and the expansion is the resultant list.
 
-
 \1f
 File: bashref.info,  Node: Command Substitution,  Next: Arithmetic Expansion,  Prev: Shell Parameter Expansion,  Up: Shell Expansions
 
@@ -1772,9 +1781,9 @@ File: bashref.info,  Node: Filename Expansion,  Next: Quote Removal,  Prev: Word
    After word splitting, unless the `-f' option has been set (*note The
 Set Builtin::), Bash scans each word for the characters `*', `?', and
 `['.  If one of these characters appears, then the word is regarded as
-a PATTERN, and replaced with an alphabetically sorted list of file
-names matching the pattern (*note Pattern Matching::).  If no matching
-file names are found, and the shell option `nullglob' is disabled, the
+a PATTERN, and replaced with an alphabetically sorted list of filenames
+matching the pattern (*note Pattern Matching::).  If no matching
+filenames are found, and the shell option `nullglob' is disabled, the
 word is left unchanged.  If the `nullglob' option is set, and no
 matches are found, the word is removed.  If the `failglob' shell option
 is set, and no matches are found, an error message is printed and the
@@ -1785,7 +1794,7 @@ characters.
    When a pattern is used for filename expansion, the character `.' at
 the start of a filename or immediately following a slash must be
 matched explicitly, unless the shell option `dotglob' is set.  When
-matching a file name, the slash character must always be matched
+matching a filename, the slash character must always be matched
 explicitly.  In other cases, the `.' character is not treated specially.
 
    See the description of `shopt' in *note The Shopt Builtin::, for a
@@ -1964,7 +1973,6 @@ redirections, as described in the following table:
      integer port number or service name, Bash attempts to open a UDP
      connection to the corresponding socket.
 
-
    A failure to open or create a file causes the redirection to fail.
 
    Redirections using file descriptors greater than 9 should be used
@@ -2054,14 +2062,14 @@ as the standard input for a command.
              HERE-DOCUMENT
      DELIMITER
 
-   No parameter expansion, command substitution, arithmetic expansion,
-or filename expansion is performed on WORD.  If any characters in WORD
-are quoted, the DELIMITER is the result of quote removal on WORD, and
-the lines in the here-document are not expanded.  If WORD is unquoted,
-all lines of the here-document are subjected to parameter expansion,
-command substitution, and arithmetic expansion.  In the latter case,
-the character sequence `\newline' is ignored, and `\' must be used to
-quote the characters `\', `$', and ``'.
+   No parameter and variable expansion, command substitution,
+arithmetic expansion, or filename expansion is performed on WORD.  If
+any characters in WORD are quoted, the DELIMITER is the result of quote
+removal on WORD, and the lines in the here-document are not expanded.
+If WORD is unquoted, all lines of the here-document are subjected to
+parameter expansion, command substitution, and arithmetic expansion.
+In the latter case, the character sequence `\newline' is ignored, and
+`\' must be used to quote the characters `\', `$', and ``'.
 
    If the redirection operator is `<<-', then all leading tab
 characters are stripped from input lines and the line containing
@@ -2074,9 +2082,11 @@ indented in a natural fashion.
 A variant of here documents, the format is:
      <<< WORD
 
-   The WORD is expanded as described above, with the exception that
-pathname expansion is not applied, and supplied as a single string to
-the command on its standard input.
+   The WORD undergoes brace expansion, tilde expansion, parameter and
+variable expansion, command substitution, arithmetic expansion, and
+quote removal.  Pathname expansion word splitting are not performed.
+The result is supplied as a single string to the command on its
+standard input.
 
 3.6.8 Duplicating File Descriptors
 ----------------------------------
@@ -2342,7 +2352,7 @@ parameter assignments are placed in the environment for a command, not
 just those that precede the command name.
 
    When Bash invokes an external command, the variable `$_' is set to
-the full path name of the command and passed to that command in its
+the full pathname of the command and passed to that command in its
 environment.
 
 \1f
@@ -2355,7 +2365,7 @@ The exit status of an executed command is the value returned by the
 WAITPID 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
+are also limited to this range.  Under certain circumstances, the shell
 will use special values to indicate specific failure modes.
 
    For the shell's purposes, a command which exits with a zero exit
@@ -2532,11 +2542,13 @@ standard.
 
 `:    (a colon)'
           : [ARGUMENTS]
+
      Do nothing beyond expanding ARGUMENTS and performing redirections.
      The return status is zero.
 
 `.    (a period)'
           . FILENAME [ARGUMENTS]
+
      Read and execute commands from the FILENAME argument in the
      current shell context.  If FILENAME does not contain a slash, the
      `PATH' variable is used to find FILENAME.  When Bash is not in
@@ -2550,6 +2562,7 @@ standard.
 
 `break'
           break [N]
+
      Exit from a `for', `while', `until', or `select' loop.  If N is
      supplied, the Nth enclosing loop is exited.  N must be greater
      than or equal to 1.  The return status is zero unless N is not
@@ -2557,6 +2570,7 @@ standard.
 
 `cd'
           cd [-L|[-P [-e]]] [DIRECTORY]
+
      Change the current working directory to DIRECTORY.  If DIRECTORY
      is not given, the value of the `HOME' shell variable is used.  If
      the shell variable `CDPATH' exists, it is used as a search path.
@@ -2567,7 +2581,8 @@ standard.
      option is supplied with `-P' and the current working directory
      cannot be successfully determined after a successful directory
      change, `cd' will return an unsuccessful status.  If DIRECTORY is
-     `-', it is equivalent to `$OLDPWD'.
+     `-', it is converted to `$OLDPWD' before the directory change is
+     attempted.
 
      If a non-empty directory name from `CDPATH' is used, or if `-' is
      the first argument, and the directory change is successful, the
@@ -2579,6 +2594,7 @@ standard.
 
 `continue'
           continue [N]
+
      Resume the next iteration of an enclosing `for', `while', `until',
      or `select' loop.  If N is supplied, the execution of the Nth
      enclosing loop is resumed.  N must be greater than or equal to 1.
@@ -2587,6 +2603,7 @@ standard.
 
 `eval'
           eval [ARGUMENTS]
+
      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 `eval'.  If there are no arguments or only
@@ -2594,32 +2611,39 @@ standard.
 
 `exec'
           exec [-cl] [-a NAME] [COMMAND [ARGUMENTS]]
+
      If COMMAND is supplied, it replaces the shell without creating a
      new process.  If the `-l' option is supplied, the shell places a
      dash at the beginning of the zeroth argument passed to COMMAND.
      This is what the `login' program does.  The `-c' option causes
      COMMAND to be executed with an empty environment.  If `-a' is
      supplied, the shell passes NAME as the zeroth argument to COMMAND.
-     If no COMMAND 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.
+     If COMMAND cannot be executed for some reason, a non-interactive
+     shell exits, unless the `execfail' shell option is enabled.  In
+     that case, it returns failure.  An interactive shell returns
+     failure if the file cannot be executed.  If no COMMAND 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.
 
 `exit'
           exit [N]
+
      Exit the shell, returning a status of N to the shell's parent.  If
      N is omitted, the exit status is that of the last command executed.
      Any trap on `EXIT' is executed before the shell terminates.
 
 `export'
           export [-fn] [-p] [NAME[=VALUE]]
+
      Mark each NAME to be passed to child processes in the environment.
      If the `-f' option is supplied, the NAMEs refer to shell
      functions; otherwise the names refer to shell variables.  The `-n'
      option means to no longer mark each NAME for export.  If no NAMES
-     are supplied, or if the `-p' option is given, a list of exported
-     names is displayed.  The `-p' option displays output in a form
-     that may be reused as input.  If a variable name is followed by
-     =VALUE, the value of the variable is set to VALUE.
+     are supplied, or if the `-p' option is given, a list of names of
+     all exported variables is displayed.  The `-p' option displays
+     output in a form that may be reused as input.  If a variable name
+     is followed by =VALUE, the value of the variable is set to VALUE.
 
      The return status is zero unless an invalid option is supplied,
      one of the names is not a valid shell variable name, or `-f' is
@@ -2627,10 +2651,11 @@ standard.
 
 `getopts'
           getopts OPTSTRING NAME [ARGS]
+
      `getopts' is used by shell scripts to parse positional parameters.
      OPTSTRING contains the option characters to be recognized; if a
      character is followed by a colon, the option is expected to have an
-     argument, which should be separated from it by white space.  The
+     argument, which should be separated from it by whitespace.  The
      colon (`:') and question mark (`?') may not be used as option
      characters.  Each time it is invoked, `getopts' places the next
      option in the shell variable NAME, initializing NAME if it does
@@ -2651,7 +2676,7 @@ standard.
 
      `getopts' can report errors in two ways.  If the first character of
      OPTSTRING is a colon, SILENT error reporting is used.  In normal
-     operation diagnostic messages are printed when invalid options or
+     operation, diagnostic messages are printed when invalid options or
      missing option arguments are encountered.  If the variable `OPTERR'
      is set to 0, no error messages will be displayed, even if the first
      character of `optstring' is not a colon.
@@ -2669,6 +2694,7 @@ standard.
 
 `hash'
           hash [-r] [-p FILENAME] [-dt] [NAME]
+
      Each time `hash' is invoked, it remembers the full pathnames of the
      commands specified as NAME arguments, so they need not be searched
      for on subsequent invocations.  The commands are found by
@@ -2688,6 +2714,7 @@ standard.
 
 `pwd'
           pwd [-LP]
+
      Print the absolute pathname of the current working directory.  If
      the `-P' option is supplied, the pathname printed will not contain
      symbolic links.  If the `-L' option is supplied, the pathname
@@ -2697,6 +2724,7 @@ standard.
 
 `readonly'
           readonly [-aAf] [-p] [NAME[=VALUE]] ...
+
      Mark each NAME as readonly.  The values of these names may not be
      changed by subsequent assignment.  If the `-f' option is supplied,
      each NAME refers to a shell function.  The `-a' option means each
@@ -2715,19 +2743,22 @@ standard.
 
 `return'
           return [N]
-     Cause a shell function to exit with the return value N.  If N is
-     not supplied, the return value is the exit status of the last
-     command executed in the function.  This may also be used to
-     terminate execution of a script being executed with the `.' (or
-     `source') builtin, returning either N or the exit status of the
-     last command executed within the script as the exit status of the
-     script.  Any command associated with the `RETURN' trap is executed
-     before execution resumes after the function or script.  The return
-     status is non-zero if `return' is used outside a function and not
-     during the execution of a script by `.' or `source'.
+
+     Cause a shell function to stop executing and return the value N to
+     its caller.  If N is not supplied, the return value is the exit
+     status of the last command executed in the function.  `return' may
+     also be used to terminate execution of a script being executed
+     with the `.' (`source') builtin, returning either N or the exit
+     status of the last command executed within the script as the exit
+     status of the script.  Any command associated with the `RETURN'
+     trap is executed before execution resumes after the function or
+     script.  The return status is non-zero if `return' is used outside
+     a function and not during the execution of a script by `.' or
+     `source'.
 
 `shift'
           shift [N]
+
      Shift the positional parameters to the left by N.  The positional
      parameters from N+1 ... `$#' are renamed to `$1' ... `$#'-N.
      Parameters represented by the numbers `$#' to `$#'-N+1 are unset.
@@ -2737,13 +2768,16 @@ standard.
      status is zero unless N is greater than `$#' or less than zero,
      non-zero otherwise.
 
-`test'
+`test[B'
 `['
-     Evaluate a conditional expression EXPR.  Each operator and operand
-     must be a separate argument.  Expressions are composed of the
-     primaries described below in *note Bash Conditional Expressions::.
-     `test' does not accept any options, nor does it accept and ignore
-     an argument of `--' as signifying the end of options.
+          test EXPR
+
+     Evaluate a conditional expression EXPR 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 *note Bash Conditional Expressions::.  `test' does not
+     accept any options, nor does it accept and ignore an argument of
+     `--' as signifying the end of options.
 
      When the `[' form is used, the last argument to the command must
      be a `]'.
@@ -2813,11 +2847,13 @@ standard.
 
 `times'
           times
+
      Print out the user and system times used by the shell and its
      children.  The return status is zero.
 
 `trap'
           trap [-lp] [ARG] [SIGSPEC ...]
+
      The commands in ARG are to be read and executed when the shell
      receives signal SIGSPEC.  If ARG is absent (and there is a single
      SIGSPEC) or equal to `-', each specified signal's disposition is
@@ -2864,6 +2900,7 @@ standard.
 
 `umask'
           umask [-p] [-S] [MODE]
+
      Set the shell process's file creation mask to MODE.  If MODE
      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
@@ -2881,7 +2918,8 @@ standard.
 
 `unset'
           unset [-fv] [NAME]
-     Each variable or function NAME is removed.  If the `-v' option is
+
+     Remove each variable or function NAME.  If the `-v' option is
      given, each NAME refers to a shell variable and that variable is
      remvoved.  If the `-f' option is given, the NAMEs refer to shell
      functions, and the function definition is removed.  If no options
@@ -2901,7 +2939,7 @@ been extended in Bash.  Some of these commands are specified in the
 POSIX standard.
 
 `alias'
-          alias [`-p'] [NAME[=VALUE] ...]
+          alias [-p] [NAME[=VALUE] ...]
 
      Without arguments or with the `-p' option, `alias' prints the list
      of aliases on the standard output in a form that allows them to be
@@ -2989,6 +3027,7 @@ POSIX standard.
 
 `builtin'
           builtin [SHELL-BUILTIN [ARGS]]
+
      Run a shell builtin, passing it ARGS, 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
@@ -2997,6 +3036,7 @@ POSIX standard.
 
 `caller'
           caller [EXPR]
+
      Returns the context of any active subroutine call (a shell
      function or a script executed with the `.' or `source' builtins).
 
@@ -3014,6 +3054,7 @@ POSIX standard.
 
 `command'
           command [-pVv] COMMAND [ARGUMENTS ...]
+
      Runs COMMAND with ARGUMENTS ignoring any shell function named
      COMMAND.  Only shell builtin commands or commands found by
      searching the `PATH' are executed.  If there is a shell function
@@ -3032,7 +3073,7 @@ POSIX standard.
      non-zero if not.
 
 `declare'
-          declare [-aAfFilrtux] [-p] [NAME[=VALUE] ...]
+          declare [-aAfFgilrtux] [-p] [NAME[=VALUE] ...]
 
      Declare variables and give them attributes.  If no NAMEs are
      given, then display the values of variables instead.
@@ -3117,6 +3158,7 @@ POSIX standard.
 
 `echo'
           echo [-neE] [ARG ...]
+
      Output the ARGs, separated by spaces, terminated with a newline.
      The return status is 0 unless a write error occurs.  If `-n' is
      specified, the trailing newline is suppressed.  If the `-e' option
@@ -3178,6 +3220,7 @@ POSIX standard.
 
 `enable'
           enable [-a] [-dnps] [-f FILENAME] [NAME ...]
+
      Enable and disable builtin shell commands.  Disabling a builtin
      allows a disk command which has the same name as a shell builtin
      to be executed without specifying a full pathname, even though the
@@ -3206,6 +3249,7 @@ POSIX standard.
 
 `help'
           help [-dms] [PATTERN]
+
      Display helpful information about builtin commands.  If PATTERN is
      specified, `help' gives detailed help on all commands matching
      PATTERN, otherwise a list of the builtins is printed.
@@ -3225,7 +3269,8 @@ POSIX standard.
      The return status is zero unless no command matches PATTERN.
 
 `let'
-          let EXPRESSION [EXPRESSION]
+          let EXPRESSION [EXPRESSION ...]
+
      The `let' builtin allows arithmetic to be performed on shell
      variables.  Each EXPRESSION is evaluated according to the rules
      given below in *note Shell Arithmetic::.  If the last EXPRESSION
@@ -3233,6 +3278,7 @@ POSIX standard.
 
 `local'
           local [OPTION] NAME[=VALUE] ...
+
      For each argument, a local variable named NAME is created, and
      assigned VALUE.  The OPTION can be any of the options accepted by
      `declare'.  `local' can only be used within a function; it makes
@@ -3243,15 +3289,18 @@ POSIX standard.
 
 `logout'
           logout [N]
+
      Exit a login shell, returning a status of N to the shell's parent.
 
 `mapfile'
-          mapfile [-n COUNT] [-O ORIGIN] [-s COUNT] [-t] [-u FD] [
-          -C CALLBACK] [-c QUANTUM] [ARRAY]
+          mapfile [-n COUNT] [-O ORIGIN] [-s COUNT] [-t] [-u FD]
+              [-C CALLBACK] [-c QUANTUM] [ARRAY]
+
      Read lines from the standard input into the indexed array variable
      ARRAY, or from file descriptor FD if the `-u' option is supplied.
      The variable `MAPFILE' is the default ARRAY.  Options, if
      supplied, have the following meanings:
+
     `-n'
           Copy at most COUNT lines.  If COUNT is 0, all lines are
           copied.
@@ -3293,6 +3342,7 @@ POSIX standard.
 
 `printf'
           printf [-v VAR] FORMAT [ARGUMENTS]
+
      Write the formatted ARGUMENTS to the standard output under the
      control of the FORMAT.  The `-v' option causes the output to be
      assigned to the variable VAR rather than being printed to the
@@ -3307,18 +3357,18 @@ POSIX standard.
      following extensions:
 
     `%b'
-          causes `printf' to expand backslash escape sequences in the
-          corresponding ARGUMENT, (except that `\c' terminates output,
+          Causes `printf' to expand backslash escape sequences in the
+          corresponding ARGUMENT, except that `\c' terminates output,
           backslashes in `\'', `\"', and `\?' are not removed, and
           octal escapes beginning with `\0' may contain up to four
-          digits).
+          digits.
 
     `%q'
-          causes `printf' to output the corresponding ARGUMENT in a
+          Causes `printf' to output the corresponding ARGUMENT in a
           format that can be reused as shell input.
 
     `%(DATEFMT)T'
-          causes `printf' to output the date-time string resulting from
+          Causes `printf' to output the date-time string resulting from
           using DATEFMT as a format string for `strftime'(3).  The
           corresponding ARGUMENT is an integer representing the number
           of seconds since the epoch.  Two special argument values may
@@ -3337,7 +3387,9 @@ POSIX standard.
      success, non-zero on failure.
 
 `read'
-          read [-ers] [-a ANAME] [-d DELIM] [-i TEXT] [-n NCHARS] [-N NCHARS] [-p PROMPT] [-t TIMEOUT] [-u FD] [NAME ...]
+          read [-ers] [-a ANAME] [-d DELIM] [-i TEXT] [-n NCHARS]
+              [-N NCHARS] [-p PROMPT] [-t TIMEOUT] [-u FD] [NAME ...]
+
      One line is read from the standard input, or from the file
      descriptor FD supplied as an argument to the `-u' option, and the
      first word is assigned to the first NAME, the second word to the
@@ -3408,17 +3460,18 @@ POSIX standard.
           the decimal point.  This option is only effective if `read'
           is reading input from a terminal, pipe, or other special
           file; it has no effect when reading from regular files.  If
-          TIMEOUT is 0, `read' returns success if input is available on
-          the specified file descriptor, failure otherwise.  The exit
+          TIMEOUT is 0, `read' returns immediately, without trying to
+          read and data.  The exit status is 0 if input is available on
+          the specified file descriptor, non-zero otherwise.  The exit
           status is greater than 128 if the timeout is exceeded.
 
     `-u FD'
           Read input from file descriptor FD.
 
-
 `readarray'
-          readarray [-n COUNT] [-O ORIGIN] [-s COUNT] [-t] [-u FD] [
-          -C CALLBACK] [-c QUANTUM] [ARRAY]
+          readarray [-n COUNT] [-O ORIGIN] [-s COUNT] [-t] [-u FD]
+              [-C CALLBACK] [-c QUANTUM] [ARRAY]
+
      Read lines from the standard input into the indexed array variable
      ARRAY, or from file descriptor FD if the `-u' option is supplied.
 
@@ -3426,10 +3479,12 @@ POSIX standard.
 
 `source'
           source FILENAME
+
      A synonym for `.' (*note Bourne Shell Builtins::).
 
 `type'
           type [-afptP] [NAME ...]
+
      For each NAME, indicate how it would be interpreted if used as a
      command name.
 
@@ -3446,8 +3501,8 @@ POSIX standard.
      The `-P' option forces a path search for each NAME, even if `-t'
      would not return `file'.
 
-     If a command is hashed, `-p' and `-P' print the hashed value, not
-     necessarily the file that appears first in `$PATH'.
+     If a command is hashed, `-p' and `-P' print the hashed value,
+     which is not necessarily the file that appears first in `$PATH'.
 
      If the `-a' option is used, `type' returns all of the places that
      contain an executable named FILE.  This includes aliases and
@@ -3460,16 +3515,18 @@ POSIX standard.
      if any are not found.
 
 `typeset'
-          typeset [-afFrxi] [-p] [NAME[=VALUE] ...]
+          typeset [-afFgrxilrtux] [-p] [NAME[=VALUE] ...]
+
      The `typeset' command is supplied for compatibility with the Korn
-     shell; however, it has been deprecated in favor of the `declare'
-     builtin command.
+     shell.  It is a synonym for the `declare' builtin command.
 
 `ulimit'
           ulimit [-abcdefilmnpqrstuvxHST] [LIMIT]
+
      `ulimit' 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:
+
     `-S'
           Change and report the soft limit associated with a resource.
 
@@ -3537,19 +3594,19 @@ POSIX standard.
     `-T'
           The maximum number of threads.
 
-
-     If LIMIT is given, it is the new value of the specified resource;
-     the special LIMIT values `hard', `soft', and `unlimited' 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 `-H' option is
-     supplied.  When setting new limits, if neither `-H' nor `-S' is
-     supplied, both the hard and soft limits are set.  If no option is
-     given, then `-f' is assumed.  Values are in 1024-byte increments,
-     except for `-t', which is in seconds, `-p', which is in units of
-     512-byte blocks, and `-n' and `-u', which are unscaled values.
+     If LIMIT is given, and the `-a' option is not used, LIMIT is the
+     new value of the specified resource.  The special LIMIT values
+     `hard', `soft', and `unlimited' 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 `-H' option is supplied.  When
+     setting new limits, if neither `-H' nor `-S' is supplied, both the
+     hard and soft limits are set.  If no option is given, then `-f' is
+     assumed.  Values are in 1024-byte increments, except for `-t',
+     which is in seconds; `-p', which is in units of 512-byte blocks;
+     and `-T', `-b', `-n' and `-u', which are unscaled values.
 
      The return status is zero unless an invalid option or argument is
      supplied, or an error occurs while setting a new limit.
@@ -3560,7 +3617,6 @@ POSIX standard.
      Remove each NAME from the list of aliases.  If `-a' is supplied,
      all aliases are removed.  Aliases are described in *note Aliases::.
 
-
 \1f
 File: bashref.info,  Node: Modifying Shell Behavior,  Next: Special Builtins,  Prev: Bash Builtins,  Up: Shell Builtin Commands
 
@@ -3609,17 +3665,18 @@ parameters, or to display the names and values of shell variables.
     `-e'
           Exit immediately if a pipeline (*note Pipelines::), which may
           consist of a single simple command (*note Simple Commands::),
-          a subshell command enclosed in parentheses (*note Command
-          Grouping::), or one of the commands executed as part of a
-          command list enclosed by braces (*note Command Grouping::)
-          returns a non-zero status.  The shell does not exit if the
-          command that fails is part of the command list immediately
-          following a `while' or `until' keyword, part of the test in
-          an `if' statement, part of any command executed in a `&&' or
-          `||' list except the command following the final `&&' or `||',
-          any command in a pipeline but the last, or if the command's
-          return status is being inverted with `!'.  A trap on `ERR',
-          if set, is executed before the shell exits.
+          a list (*note Lists::), or a compound command (*note Compound
+          Commands::) returns a non-zero status.  The shell does not
+          exit if the command that fails is part of the command list
+          immediately following a `while' or `until' keyword, part of
+          the test in an `if' statement, part of any command executed
+          in a `&&' or `||' list except the command following the final
+          `&&' or `||', any command in a pipeline but the last, or if
+          the command's return status is being inverted with `!'.  If a
+          compound command other than a subshell returns a non-zero
+          status because a command failed while `-e' was being ignored,
+          the shell does not exit.  A trap on `ERR', if set, is
+          executed before the shell exits.
 
           This option applies to the shell environment and each
           subshell environment separately (*note Command Execution
@@ -3852,6 +3909,7 @@ This builtin allows you to change additional shell optional behavior.
 
 `shopt'
           shopt [-pqsu] [-o] [OPTNAME ...]
+
      Toggle the values of variables controlling optional shell behavior.
      With no options, or with the `-p' option, a list of all settable
      options is displayed, with an indication of whether or not each is
@@ -3874,9 +3932,8 @@ This builtin allows you to change additional shell optional behavior.
           Restricts the values of OPTNAME to be those defined for the
           `-o' option to the `set' builtin (*note The Set Builtin::).
 
-     If either `-s' or `-u' is used with no OPTNAME arguments, the
-     display is limited to those options which are set or unset,
-     respectively.
+     If either `-s' or `-u' is used with no OPTNAME arguments, `shopt'
+     shows only those options which are set or unset, respectively.
 
      Unless otherwise noted, the `shopt' options are disabled (off) by
      default.
@@ -3954,6 +4011,20 @@ This builtin allows you to change additional shell optional behavior.
           This is the behavior of POSIX mode through version 4.1.  The
           default Bash behavior remains as in previous versions.
 
+    `complete_fullquote'
+          If set, Bash quotes all shell metacharacters in filenames and
+          directory names when performing completion.  If not set, Bash
+          removes metacharacters such as the dollar sign from the set of
+          characters that will be quoted in completed filenames when
+          these metacharacters appear in shell variable references in
+          words to be completed.  This means that dollar signs in
+          variable names that expand to directories will not be quoted;
+          however, any dollar signs appearing in filenames will not be
+          quoted, either.  This is active only when bash is using
+          backslashes to quote completed filenames.  This variable is
+          set by default, which is the default Bash behavior in
+          versions through 4.2.
+
     `direxpand'
           If set, Bash replaces directory names with the results of
           word expansion when performing filename completion.  This
@@ -4121,8 +4192,8 @@ This builtin allows you to change additional shell optional behavior.
     `promptvars'
           If set, prompt strings undergo parameter expansion, command
           substitution, arithmetic expansion, and quote removal after
-          being expanded as described below (*note Printing a Prompt::).
-          This option is enabled by default.
+          being expanded as described below (*note Controlling the
+          Prompt::).  This option is enabled by default.
 
     `restricted_shell'
           The shell sets this option if it is started in restricted mode
@@ -4151,7 +4222,6 @@ This builtin allows you to change additional shell optional behavior.
      the return status is zero unless an OPTNAME is not a valid shell
      option.
 
-
 \1f
 File: bashref.info,  Node: Special Builtins,  Prev: Modifying Shell Behavior,  Up: Shell Builtin Commands
 
@@ -4226,7 +4296,7 @@ In some cases, Bash assigns a default value to the variable.
      A colon-separated list of filenames which the shell periodically
      checks for new mail.  Each list entry can specify the message that
      is printed when new mail arrives in the mail file by separating
-     the file name from the message with a `?'.  When used in the text
+     the filename from the message with a `?'.  When used in the text
      of the message, `$_' expands to the name of the current mail file.
 
 `OPTARG'
@@ -4245,7 +4315,7 @@ In some cases, Bash assigns a default value to the variable.
 
 `PS1'
      The primary prompt string.  The default value is `\s-\v\$ '.
-     *Note Printing a Prompt::, for the complete list of escape
+     *Note Controlling the Prompt::, for the complete list of escape
      sequences that are expanded before `PS1' is displayed.
 
 `PS2'
@@ -4381,7 +4451,6 @@ Variables::).
     `BASH_VERSINFO[5]'
           The value of `MACHTYPE'.
 
-
 `BASH_VERSION'
      The version number of the current instance of Bash.
 
@@ -4486,9 +4555,9 @@ Variables::).
 
 `FIGNORE'
      A colon-separated list of suffixes to ignore when performing
-     filename completion.  A file name whose suffix matches one of the
-     entries in `FIGNORE' is excluded from the list of matched file
-     names.  A sample value is `.o:~'
+     filename completion.  A filename whose suffix matches one of the
+     entries in `FIGNORE' is excluded from the list of matched
+     filenames.  A sample value is `.o:~'
 
 `FUNCNAME'
      An array variable containing the names of all shell functions
@@ -4705,10 +4774,10 @@ Variables::).
      foreground pipeline (which may contain only a single command).
 
 `POSIXLY_CORRECT'
-     If this variable is in the environment when `bash' starts, the
-     shell enters POSIX mode (*note Bash POSIX Mode::) before reading
-     the startup files, as if the `--posix' invocation option had been
-     supplied.  If it is set while the shell is running, `bash' enables
+     If this variable is in the environment when Bash starts, the shell
+     enters POSIX mode (*note Bash POSIX Mode::) before reading the
+     startup files, as if the `--posix' invocation option had been
+     supplied.  If it is set while the shell is running, Bash enables
      POSIX mode, as if the command
           `set -o posix'
      had been executed.
@@ -4724,7 +4793,7 @@ Variables::).
 `PROMPT_DIRTRIM'
      If set to a number greater than zero, the value is used as the
      number of trailing directory components to retain when expanding
-     the `\w' and `\W' prompt string escapes (*note Printing a
+     the `\w' and `\W' prompt string escapes (*note Controlling the
      Prompt::).  Characters removed are replaced with an ellipsis.
 
 `PS3'
@@ -4847,7 +4916,7 @@ File: bashref.info,  Node: Bash Features,  Next: Job Control,  Prev: Shell Varia
 6 Bash Features
 ***************
 
-This section describes features unique to Bash.
+This chapter describes features unique to Bash.
 
 * Menu:
 
@@ -4861,7 +4930,7 @@ This section describes features unique to Bash.
 * Aliases::                    Substituting one command for another.
 * Arrays::                     Array Variables.
 * The Directory Stack::                History of visited directories.
-* Printing a Prompt::          Controlling the PS1 string.
+* Controlling the Prompt::     Customizing the various prompt strings.
 * The Restricted Shell::       A more controlled mode of shell execution.
 * Bash POSIX Mode::            Making Bash behave more closely to what
                                the POSIX standard specifies.
@@ -4937,7 +5006,6 @@ single-character options to be recognized.
      Show version information for this instance of Bash on the standard
      output and exit successfully.
 
-
    There are several single-character options that may be supplied at
 invocation which are not available with the `set' builtin.
 
@@ -4989,7 +5057,6 @@ invocation which are not available with the `set' builtin.
      processing.  Any arguments after the `--' are treated as filenames
      and arguments.
 
-
    A _login_ shell is one whose first character of argument zero is
 `-', or one invoked with the `--login' option.
 
@@ -5016,7 +5083,7 @@ File: bashref.info,  Node: Bash Startup Files,  Next: Interactive Shells,  Prev:
 
 This section describes how Bash executes its startup files.  If any of
 the files exist but cannot be read, Bash reports an error.  Tildes are
-expanded in file names as described above under Tilde Expansion (*note
+expanded in filenames as described above under Tilde Expansion (*note
 Tilde Expansion::).
 
    Interactive shells are described in *note Interactive Shells::.
@@ -5059,7 +5126,7 @@ the name of a file to read and execute.  Bash behaves as if the
 following command were executed:
      `if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi'
    but the value of the `PATH' variable is not used to search for the
-file name.
+filename.
 
    As noted above, if a non-interactive shell is invoked with the
 `--login' option, Bash attempts to read and execute commands from the
@@ -5392,7 +5459,6 @@ link itself.
      greater than or equal to ARG2, respectively.  ARG1 and ARG2 may be
      positive or negative integers.
 
-
 \1f
 File: bashref.info,  Node: Shell Arithmetic,  Next: Aliases,  Prev: Bash Conditional Expressions,  Up: Bash Features
 
@@ -5509,9 +5575,9 @@ including shell metacharacters.  The first word of the replacement text
 is tested for aliases, but a word that is identical to an alias being
 expanded is not expanded a second time.  This means that one may alias
 `ls' to `"ls -F"', for instance, and Bash does not try to recursively
-expand the replacement text. If the last character of the alias value
-is a space or tab character, then the next command word following the
-alias is also checked for alias expansion.
+expand the replacement text.  If the last character of the alias value
+is a BLANK, then the next command word following the alias is also
+checked for alias expansion.
 
    Aliases are created and listed with the `alias' command, and removed
 with the `unalias' command.
@@ -5557,7 +5623,7 @@ zero-based; associative arrays use arbitrary strings.
 
    An indexed array is created automatically if any variable is
 assigned to using the syntax
-     name[SUBSCRIPT]=VALUE
+     NAME[SUBSCRIPT]=VALUE
 
 The SUBSCRIPT is treated as an arithmetic expression that must evaluate
 to a number.  To explicitly declare an array, use
@@ -5566,7 +5632,7 @@ to a number.  To explicitly declare an array, use
      declare -a NAME[SUBSCRIPT]
    is also accepted; the SUBSCRIPT is ignored.
 
-   Associative arrays are created using
+Associative arrays are created using
      declare -A NAME.
 
    Attributes may be specified for an array variable using the
@@ -5574,50 +5640,49 @@ to a number.  To explicitly declare an array, use
 members of an array.
 
    Arrays are assigned to using compound assignments of the form
-     name=(value1 ... valueN)
+     NAME=(VALUE1 VALUE2 ... )
    where each VALUE is of the form `[SUBSCRIPT]='STRING.  Indexed array
-assignments do not require the bracket and subscript.  When assigning
-to indexed arrays, if the optional subscript is supplied, that index is
+assignments do not require anything but STRING.  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.
 
    When assigning to an associative array, the subscript is required.
 
    This syntax is also accepted by the `declare' builtin.  Individual
-array elements may be assigned to using the `name['SUBSCRIPT`]='VALUE
+array elements may be assigned to using the `NAME[SUBSCRIPT]=VALUE'
 syntax introduced above.
 
-   Any element of an array may be referenced using
-`${name['SUBSCRIPT`]}'.  The braces are required to avoid conflicts
-with the shell's filename expansion operators.  If the SUBSCRIPT is `@'
-or `*', the word expands to all members of the array NAME.  These
-subscripts differ only when the word appears within double quotes.  If
-the word is double-quoted, `${name[*]}' expands to a single word with
-the value of each array member separated by the first character of the
-`IFS' variable, and `${name[@]}' expands each element of NAME to a
-separate word.  When there are no array members, `${name[@]}' 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.  This is analogous to the
-expansion of the special parameters `@' and `*'.
-`${#name['SUBSCRIPT`]}' expands to the length of `${name['SUBSCRIPT`]}'.
-If SUBSCRIPT is `@' or `*', the expansion is the number of elements in
-the array.  Referencing an array variable without a subscript is
-equivalent to referencing with a subscript of 0.  If the SUBSCRIPT used
-to reference an element of an indexed array evaluates to a number less
-than zero, it is used as an offset from one greater than the array's
-maximum index (so a subcript of -1 refers to the last element of the
-array).
+   Any element of an array may be referenced using `${NAME[SUBSCRIPT]}'.
+The braces are required to avoid conflicts with the shell's filename
+expansion operators.  If the SUBSCRIPT is `@' or `*', the word expands
+to all members of the array NAME.  These subscripts differ only when
+the word appears within double quotes.  If the word is double-quoted,
+`${NAME[*]}' expands to a single word with the value of each array
+member separated by the first character of the `IFS' variable, and
+`${NAME[@]}' expands each element of NAME to a separate word.  When
+there are no array members, `${NAME[@]}' 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.  This is analogous to the expansion of the special
+parameters `@' and `*'.  `${#NAME[SUBSCRIPT]}' expands to the length of
+`${NAME[SUBSCRIPT]}'.  If SUBSCRIPT is `@' or `*', the expansion is the
+number of elements in the array.  Referencing an array variable without
+a subscript is equivalent to referencing with a subscript of 0.  If the
+SUBSCRIPT used to reference an element of an indexed array evaluates to
+a number less than zero, it is used as an offset from one greater than
+the array's maximum index (so a subcript of -1 refers to the last
+element of the array).
 
    An array variable is considered set if a subscript has been assigned
 a value.  The null string is a valid value.
 
-   The `unset' builtin is used to destroy arrays.  `unset'
-NAME[SUBSCRIPT] destroys the array element at index SUBSCRIPT.  Care
+   The `unset' builtin is used to destroy arrays.  `unset
+NAME[SUBSCRIPT]' destroys the array element at index SUBSCRIPT.  Care
 must be taken to avoid unwanted side effects caused by filename
-expansion.  `unset' NAME, where NAME is an array, removes the entire
-array. A subscript of `*' or `@' also removes the entire array.
+expansion.  `unset NAME', where NAME is an array, removes the entire
+array.  A subscript of `*' or `@' also removes the entire array.
 
    The `declare', `local', and `readonly' builtins each accept a `-a'
 option to specify an indexed array and a `-A' option to specify an
@@ -5629,7 +5694,7 @@ builtins display array values in a way that allows them to be reused as
 input.
 
 \1f
-File: bashref.info,  Node: The Directory Stack,  Next: Printing a Prompt,  Prev: Arrays,  Up: Bash Features
+File: bashref.info,  Node: The Directory Stack,  Next: Controlling the Prompt,  Prev: Arrays,  Up: Bash Features
 
 6.8 The Directory Stack
 =======================
@@ -5655,26 +5720,18 @@ File: bashref.info,  Node: Directory Stack Builtins,  Up: The Directory Stack
 ------------------------------
 
 `dirs'
-          dirs [+N | -N] [-clpv]
+          dirs [-clpv] [+N | -N]
+
      Display the list of currently remembered directories.  Directories
      are added to the list with the `pushd' command; the `popd' command
      removes directories from the list.
-    `+N'
-          Displays the Nth directory (counting from the left of the
-          list printed by `dirs' when invoked without options), starting
-          with zero.
-
-    `-N'
-          Displays the Nth directory (counting from the right of the
-          list printed by `dirs' when invoked without options), starting
-          with zero.
 
     `-c'
           Clears the directory stack by deleting all of the elements.
 
     `-l'
-          Produces a longer listing; the default listing format uses a
-          tilde to denote the home directory.
+          Produces a listing using full pathnames; the default listing
+          format uses a tilde to denote the home directory.
 
     `-p'
           Causes `dirs' to print the directory stack with one entry per
@@ -5684,15 +5741,31 @@ File: bashref.info,  Node: Directory Stack Builtins,  Up: The Directory Stack
           Causes `dirs' to print the directory stack with one entry per
           line, prefixing each entry with its index in the stack.
 
+    `+N'
+          Displays the Nth directory (counting from the left of the
+          list printed by `dirs' when invoked without options), starting
+          with zero.
+
+    `-N'
+          Displays the Nth directory (counting from the right of the
+          list printed by `dirs' when invoked without options), starting
+          with zero.
+
 `popd'
-          popd [+N | -N] [-n]
+          popd [-n] [+N | -N]
 
      Remove the top entry from the directory stack, and `cd' to the new
      top directory.  When no arguments are given, `popd' removes the
      top directory from the stack and performs a `cd' to the new top
      directory.  The elements are numbered from 0 starting at the first
-     directory listed with `dirs'; i.e., `popd' is equivalent to `popd
-     +0'.
+     directory listed with `dirs'; that is, `popd' is equivalent to
+     `popd +0'.
+
+    `-n'
+          Suppresses the normal change of directory when removing
+          directories from the stack, so that only the stack is
+          manipulated.
+
     `+N'
           Removes the Nth directory (counting from the left of the list
           printed by `dirs'), starting with zero.
@@ -5701,13 +5774,8 @@ File: bashref.info,  Node: Directory Stack Builtins,  Up: The Directory Stack
           Removes the Nth directory (counting from the right of the
           list printed by `dirs'), starting with zero.
 
-    `-n'
-          Suppresses the normal change of directory when removing
-          directories from the stack, so that only the stack is
-          manipulated.
-
 `pushd'
-          pushd [-n] [+N | -N | DIR ]
+          pushd [-n] [+N | -N | DIR]
 
      Save the current directory on the top of the directory stack and
      then `cd' to DIR.  With no arguments, `pushd' exchanges the top
@@ -5730,11 +5798,11 @@ File: bashref.info,  Node: Directory Stack Builtins,  Up: The Directory Stack
 
     `DIR'
           Makes the current working directory be the top of the stack,
-          and then executes the equivalent of ``cd' DIR'.  `cd's to DIR.
-
+          making it the new current directory as if it had been
+          supplied as an argument to the `cd' builtin.
 
 \1f
-File: bashref.info,  Node: Printing a Prompt,  Next: The Restricted Shell,  Prev: The Directory Stack,  Up: Bash Features
+File: bashref.info,  Node: Controlling the Prompt,  Next: The Restricted Shell,  Prev: The Directory Stack,  Up: Bash Features
 
 6.9 Controlling the Prompt
 ==========================
@@ -5745,7 +5813,7 @@ non-null value, then the value is executed just as if it had been typed
 on the command line.
 
    In addition, the following table describes the special characters
-which can appear in the prompt variables:
+which can appear in the prompt variables `PS1' to `PS4':
 
 `\a'
      A bell character.
@@ -5844,7 +5912,7 @@ command substitution, arithmetic expansion, and quote removal, subject
 to the value of the `promptvars' shell option (*note Bash Builtins::).
 
 \1f
-File: bashref.info,  Node: The Restricted Shell,  Next: Bash POSIX Mode,  Prev: Printing a Prompt,  Up: Bash Features
+File: bashref.info,  Node: The Restricted Shell,  Next: Bash POSIX Mode,  Prev: Controlling the Prompt,  Up: Bash Features
 
 6.10 The Restricted Shell
 =========================
@@ -5940,147 +6008,156 @@ startup files.
   8. Tilde expansion is only performed on assignments preceding a
      command name, rather than on all assignment statements on the line.
 
-  9. The default history file is `~/.sh_history' (this is the default
+  9. The `command' builtin does not prevent builtins that take
+     assignment statements as arguments from expanding them as
+     assignment statements; when not in POSIX mode, assignment builtins
+     lose their assignment statement expansion properties when preceded
+     by `command'.
+
+ 10. The default history file is `~/.sh_history' (this is the default
      value of `$HISTFILE').
 
- 10. The output of `kill -l' prints all the signal names on a single
+ 11. The output of `kill -l' prints all the signal names on a single
      line, separated by spaces, without the `SIG' prefix.
 
- 11. The `kill' builtin does not accept signal names with a `SIG'
+ 12. The `kill' builtin does not accept signal names with a `SIG'
      prefix.
 
- 12. Non-interactive shells exit if FILENAME in `.' FILENAME is not
+ 13. Non-interactive shells exit if FILENAME in `.' FILENAME is not
      found.
 
- 13. Non-interactive shells exit if a syntax error in an arithmetic
+ 14. Non-interactive shells exit if a syntax error in an arithmetic
      expansion results in an invalid expression.
 
- 14. Non-interactive shells exit if there is a syntax error in a script
+ 15. Non-interactive shells exit if there is a syntax error in a script
      read with the `.' or `source' builtins, or in a string processed by
      the `eval' builtin.
 
- 15. Redirection operators do not perform filename expansion on the word
+ 16. Redirection operators do not perform filename expansion on the word
      in the redirection unless the shell is interactive.
 
- 16. Redirection operators do not perform word splitting on the word in
+ 17. Redirection operators do not perform word splitting on the word in
      the redirection.
 
- 17. Function names must be valid shell `name's.  That is, they may not
+ 18. Function names must be valid shell `name'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.
 
- 18. POSIX special builtins are found before shell functions during
+ 19. Function names may not be the same as one of the POSIX special
+     builtins.
+
+ 20. POSIX special builtins are found before shell functions during
      command lookup.
 
19. The `time' reserved word may be used by itself as a command.  When
21. The `time' 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 `TIMEFORMAT' variable controls the
      format of the timing information.
 
- 20. When parsing and expanding a ${...} expansion that appears within
+ 22. 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.
 
- 21. The parser does not recognize `time' as a reserved word if the next
+ 23. The parser does not recognize `time' as a reserved word if the next
      token begins with a `-'.
 
- 22. If a POSIX special builtin returns an error status, a
+ 24. If a POSIX special builtin returns an error status, a
      non-interactive shell exits.  The fatal errors are those listed in
      the POSIX standard, and include things like passing incorrect
      options, redirection errors, variable assignment errors for
      assignments preceding the command name, and so on.
 
- 23. A non-interactive shell exits with an error status if a variable
+ 25. A non-interactive shell exits with an error status if a variable
      assignment error occurs when no command name follows the assignment
      statements.  A variable assignment error occurs, for example, when
      trying to assign a value to a readonly variable.
 
- 24. A non-interactive shell exists with an error status if a variable
+ 26. A non-interactive shell exists 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.
 
- 25. A non-interactive shell exits with an error status if the iteration
+ 27. A non-interactive shell exits with an error status if the iteration
      variable in a `for' statement or the selection variable in a
      `select' statement is a readonly variable.
 
- 26. Process substitution is not available.
+ 28. Process substitution is not available.
 
- 27. While variable indirection is available, it may not be applied to
+ 29. While variable indirection is available, it may not be applied to
      the `#' and `?' special parameters.
 
28. Assignment statements preceding POSIX special builtins persist in
30. Assignment statements preceding POSIX special builtins persist in
      the shell environment after the builtin completes.
 
29. Assignment statements preceding shell function calls persist in the
31. Assignment statements preceding shell function calls persist in the
      shell environment after the function returns, as if a POSIX
      special builtin command had been executed.
 
- 30. The `export' and `readonly' builtin commands display their output
+ 32. The `export' and `readonly' builtin commands display their output
      in the format required by POSIX.
 
- 31. The `trap' builtin displays signal names without the leading `SIG'.
+ 33. The `trap' builtin displays signal names without the leading `SIG'.
 
- 32. The `trap' builtin doesn't check the first argument for a possible
+ 34. The `trap' 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 `-' as the first argument.
 
- 33. The `.' and `source' builtins do not search the current directory
+ 35. The `.' and `source' builtins do not search the current directory
      for the filename argument if it is not found by searching `PATH'.
 
- 34. Subshells spawned to execute command substitutions inherit the
+ 36. Subshells spawned to execute command substitutions inherit the
      value of the `-e' option from the parent shell.  When not in POSIX
      mode, Bash clears the `-e' option in such subshells.
 
- 35. Alias expansion is always enabled, even in non-interactive shells.
+ 37. Alias expansion is always enabled, even in non-interactive shells.
 
- 36. When the `alias' builtin displays alias definitions, it does not
+ 38. When the `alias' builtin displays alias definitions, it does not
      display them with a leading `alias ' unless the `-p' option is
      supplied.
 
- 37. When the `set' builtin is invoked without options, it does not
+ 39. When the `set' builtin is invoked without options, it does not
      display shell function names and definitions.
 
38. When the `set' builtin is invoked without options, it displays
40. When the `set' builtin is invoked without options, it displays
      variable values without quotes, unless they contain shell
      metacharacters, even if the result contains nonprinting characters.
 
39. When the `cd' builtin is invoked in LOGICAL mode, and the pathname
41. When the `cd' builtin is invoked in LOGICAL mode, and the pathname
      constructed from `$PWD' and the directory name supplied as an
      argument does not refer to an existing directory, `cd' will fail
      instead of falling back to PHYSICAL mode.
 
- 40. The `pwd' builtin verifies that the value it prints is the same as
+ 42. The `pwd' 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 `-P' option.
 
- 41. When listing the history, the `fc' builtin does not include an
+ 43. When listing the history, the `fc' builtin does not include an
      indication of whether or not a history entry has been modified.
 
- 42. The default editor used by `fc' is `ed'.
+ 44. The default editor used by `fc' is `ed'.
 
- 43. The `type' and `command' builtins will not report a non-executable
+ 45. The `type' and `command' 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
      `$PATH'.
 
- 44. The `vi' editing mode will invoke the `vi' editor directly when
+ 46. The `vi' editing mode will invoke the `vi' editor directly when
      the `v' command is run, instead of checking `$VISUAL' and
      `$EDITOR'.
 
- 45. When the `xpg_echo' option is enabled, Bash does not attempt to
+ 47. When the `xpg_echo' option is enabled, Bash does not attempt to
      interpret any arguments to `echo' as options.  Each argument is
      displayed, after escape characters are converted.
 
- 46. The `ulimit' builtin uses a block size of 512 bytes for the `-c'
+ 48. The `ulimit' builtin uses a block size of 512 bytes for the `-c'
      and `-f' options.
 
- 47. The arrival of `SIGCHLD'  when a trap is set on `SIGCHLD' does not
+ 49. The arrival of `SIGCHLD'  when a trap is set on `SIGCHLD' does not
      interrupt the `wait' builtin and cause it to return immediately.
      The trap command is run once for each child that exits.
 
@@ -6180,10 +6257,10 @@ previous job with a `-'.
 
    A job may also be referred to using a prefix of the name used to
 start it, or using a substring that appears in its command line.  For
-example, `%ce' refers to a stopped `ce' job. Using `%?ce', on the other
-hand, refers to any job containing the string `ce' in its command line.
-If the prefix or substring matches more than one job, Bash reports an
-error.
+example, `%ce' refers to a stopped `ce' job.  Using `%?ce', on the
+other hand, refers to any job containing the string `ce' in its command
+line.  If the prefix or substring matches more than one job, Bash
+reports an error.
 
    Simply naming a job can be used to bring it into the foreground:
 `%1' is a synonym for `fg %1', bringing job 1 from the background into
@@ -6213,6 +6290,7 @@ File: bashref.info,  Node: Job Control Builtins,  Next: Job Control Variables,
 
 `bg'
           bg [JOBSPEC ...]
+
      Resume each suspended job JOBSPEC in the background, as if it had
      been started with `&'.  If JOBSPEC is not supplied, the current
      job is used.  The return status is zero unless it is run when job
@@ -6222,6 +6300,7 @@ File: bashref.info,  Node: Job Control Builtins,  Next: Job Control Variables,
 
 `fg'
           fg [JOBSPEC]
+
      Resume the job JOBSPEC in the foreground and make it the current
      job.  If JOBSPEC is not supplied, the current job is used.  The
      return status is that of the command placed into the foreground,
@@ -6247,10 +6326,10 @@ File: bashref.info,  Node: Job Control Builtins,  Next: Job Control Variables,
           List only the process ID of the job's process group leader.
 
     `-r'
-          Restrict output to running jobs.
+          Display only running jobs.
 
     `-s'
-          Restrict output to stopped jobs.
+          Display only stopped jobs.
 
      If JOBSPEC is given, output is restricted to information about
      that job.  If JOBSPEC is not supplied, the status of all jobs is
@@ -6264,6 +6343,7 @@ File: bashref.info,  Node: Job Control Builtins,  Next: Job Control Variables,
 `kill'
           kill [-s SIGSPEC] [-n SIGNUM] [-SIGSPEC] JOBSPEC or PID
           kill -l [EXIT_STATUS]
+
      Send a signal specified by SIGSPEC or SIGNUM to the process named
      by job specification JOBSPEC or process ID PID.  SIGSPEC is either
      a case-insensitive signal name such as `SIGINT' (with or without
@@ -6279,6 +6359,7 @@ File: bashref.info,  Node: Job Control Builtins,  Next: Job Control Variables,
 
 `wait'
           wait [JOBSPEC or PID ...]
+
      Wait until the child process specified by each process ID PID or
      job specification JOBSPEC exits and return the exit status of the
      last command waited for.  If a job spec is given, all processes in
@@ -6289,22 +6370,23 @@ File: bashref.info,  Node: Job Control Builtins,  Next: Job Control Variables,
 
 `disown'
           disown [-ar] [-h] [JOBSPEC ...]
-     Without options, each JOBSPEC is removed from the table of active
-     jobs.  If the `-h' option is given, the job is not removed from
-     the table, but is marked so that `SIGHUP' is not sent to the job
-     if the shell receives a `SIGHUP'.  If JOBSPEC is not present, and
-     neither the `-a' nor `-r' option is supplied, the current job is
-     used.  If no JOBSPEC is supplied, the `-a' option means to remove
-     or mark all jobs; the `-r' option without a JOBSPEC argument
-     restricts operation to running jobs.
+
+     Without options, remove each JOBSPEC from the table of active jobs.
+     If the `-h' option is given, the job is not removed from the table,
+     but is marked so that `SIGHUP' is not sent to the job if the shell
+     receives a `SIGHUP'.  If JOBSPEC is not present, and neither the
+     `-a' nor `-r' option is supplied, the current job is used.  If no
+     JOBSPEC is supplied, the `-a' option means to remove or mark all
+     jobs; the `-r' option without a JOBSPEC argument restricts
+     operation to running jobs.
 
 `suspend'
           suspend [-f]
+
      Suspend the execution of this shell until it receives a `SIGCONT'
      signal.  A login shell cannot be suspended; the `-f' option can be
      used to override this and force the suspension.
 
-
    When job control is not active, the `kill' and `wait' builtins do
 not accept JOBSPEC arguments.  They must be supplied process IDs.
 
@@ -8260,26 +8342,27 @@ and history file.
           `fc [-e ENAME] [-lnr] [FIRST] [LAST]'
           `fc -s [PAT=REP] [COMMAND]'
 
-     Fix Command.  In the first form, a range of commands from FIRST to
-     LAST is selected from the history list.  Both FIRST and LAST may
-     be specified as a string (to locate the most recent command
-     beginning with that string) or as a number (an index into the
-     history list, where a negative number is used as an offset from the
-     current command number).  If LAST is not specified it is set to
-     FIRST.  If FIRST is not specified it is set to the previous
-     command for editing and -16 for listing.  If the `-l' flag is
-     given, the commands are listed on standard output.  The `-n' flag
-     suppresses the command numbers when listing.  The `-r' flag
-     reverses the order of the listing.  Otherwise, the editor given by
-     ENAME is invoked on a file containing those commands.  If ENAME is
-     not given, the value of the following variable expansion is used:
-     `${FCEDIT:-${EDITOR:-vi}}'.  This says to use the value of the
-     `FCEDIT' variable if set, or the value of the `EDITOR' variable if
-     that is set, or `vi' if neither is set.  When editing is complete,
-     the edited commands are echoed and executed.
+     The first form selects a range of commands from FIRST to LAST from
+     the history list and displays or edits and re-executes them.  Both
+     FIRST and LAST may be specified as a string (to locate the most
+     recent command beginning with that string) or as a number (an
+     index into the history list, where a negative number is used as an
+     offset from the current command number).  If LAST is not specified
+     it is set to FIRST.  If FIRST is not specified it is set to the
+     previous command for editing and -16 for listing.  If the `-l'
+     flag is given, the commands are listed on standard output.  The
+     `-n' flag suppresses the command numbers when listing.  The `-r'
+     flag reverses the order of the listing.  Otherwise, the editor
+     given by ENAME is invoked on a file containing those commands.  If
+     ENAME is not given, the value of the following variable expansion
+     is used: `${FCEDIT:-${EDITOR:-vi}}'.  This says to use the value
+     of the `FCEDIT' variable if set, or the value of the `EDITOR'
+     variable if that is set, or `vi' if neither is set.  When editing
+     is complete, the edited commands are echoed and executed.
 
      In the second form, COMMAND is re-executed after each instance of
-     PAT in the selected command is replaced by REP.
+     PAT in the selected command is replaced by REP.  COMMAND is
+     intepreted the same as FIRST above.
 
      A useful alias to use with the `fc' command is `r='fc -s'', so
      that typing `r cc' runs the last command beginning with `cc' and
@@ -8321,11 +8404,11 @@ and history file.
           session.
 
     `-r'
-          Read the current history file and append its contents to the
-          history list.
+          Read the history file and append its contents to the history
+          list.
 
     `-w'
-          Write out the current history to the history file.
+          Write out the current history list to the history file.
 
     `-p'
           Perform history substitution on the ARGs and display the
@@ -8969,8 +9052,8 @@ does not provide the necessary support.
 `--enable-prompt-string-decoding'
      Turn on the interpretation of a number of backslash-escaped
      characters in the `$PS1', `$PS2', `$PS3', and `$PS4' prompt
-     strings.  See *note Printing a Prompt::, for a complete list of
-     prompt string escape sequences.
+     strings.  See *note Controlling the Prompt::, for a complete list
+     of prompt string escape sequences.
 
 `--enable-readline'
      Include support for command-line editing and history with the Bash
@@ -9009,7 +9092,6 @@ does not provide the necessary support.
      Specification, version 3.  *Note Bash Builtins::, for a
      description of the escape sequences that `echo' recognizes.
 
-
    The file `config-top.h' contains C Preprocessor `#define' statements
 for options which are not settable from `configure'.  Some of these are
 not meant to be changed; beware of the consequences if you do.  Read
@@ -9347,7 +9429,7 @@ the baseline reference.
      as the value of the `DIRSTACK' shell variable.
 
    * Bash interprets special backslash-escaped characters in the prompt
-     strings when interactive (*note Printing a Prompt::).
+     strings when interactive (*note Controlling the Prompt::).
 
    * The Bash restricted mode is more useful (*note The Restricted
      Shell::); the SVR4.2 shell restricted mode is too limited.
@@ -9927,22 +10009,22 @@ D.1 Index of Shell Builtin Commands
 * Menu:
 
 * .:                                     Bourne Shell Builtins.
-                                                              (line  16)
+                                                              (line  17)
 * ::                                     Bourne Shell Builtins.
                                                               (line  11)
 * [:                                     Bourne Shell Builtins.
-                                                              (line 219)
+                                                              (line 240)
 * alias:                                 Bash Builtins.       (line  11)
 * bg:                                    Job Control Builtins.
                                                               (line   7)
 * bind:                                  Bash Builtins.       (line  21)
 * break:                                 Bourne Shell Builtins.
-                                                              (line  29)
+                                                              (line  31)
 * builtin:                               Bash Builtins.       (line  98)
-* caller:                                Bash Builtins.       (line 106)
+* caller:                                Bash Builtins.       (line 107)
 * cd:                                    Bourne Shell Builtins.
-                                                              (line  36)
-* command:                               Bash Builtins.       (line 123)
+                                                              (line  39)
+* command:                               Bash Builtins.       (line 125)
 * compgen:                               Programmable Completion Builtins.
                                                               (line  10)
 * complete:                              Programmable Completion Builtins.
@@ -9950,77 +10032,77 @@ D.1 Index of Shell Builtin Commands
 * compopt:                               Programmable Completion Builtins.
                                                               (line 217)
 * continue:                              Bourne Shell Builtins.
-                                                              (line  58)
-* declare:                               Bash Builtins.       (line 142)
+                                                              (line  63)
+* declare:                               Bash Builtins.       (line 145)
 * dirs:                                  Directory Stack Builtins.
                                                               (line   7)
 * disown:                                Job Control Builtins.
-                                                              (line  83)
-* echo:                                  Bash Builtins.       (line 226)
-* enable:                                Bash Builtins.       (line 287)
+                                                              (line  87)
+* echo:                                  Bash Builtins.       (line 229)
+* enable:                                Bash Builtins.       (line 291)
 * eval:                                  Bourne Shell Builtins.
-                                                              (line  66)
+                                                              (line  72)
 * exec:                                  Bourne Shell Builtins.
-                                                              (line  73)
+                                                              (line  80)
 * exit:                                  Bourne Shell Builtins.
-                                                              (line  85)
+                                                              (line  97)
 * export:                                Bourne Shell Builtins.
-                                                              (line  91)
+                                                              (line 104)
 * fc:                                    Bash History Builtins.
                                                               (line  10)
 * fg:                                    Job Control Builtins.
-                                                              (line  16)
+                                                              (line  17)
 * getopts:                               Bourne Shell Builtins.
-                                                              (line 106)
+                                                              (line 120)
 * hash:                                  Bourne Shell Builtins.
-                                                              (line 148)
-* help:                                  Bash Builtins.       (line 315)
+                                                              (line 163)
+* help:                                  Bash Builtins.       (line 320)
 * history:                               Bash History Builtins.
-                                                              (line  39)
+                                                              (line  40)
 * jobs:                                  Job Control Builtins.
-                                                              (line  25)
+                                                              (line  27)
 * kill:                                  Job Control Builtins.
-                                                              (line  57)
-* let:                                   Bash Builtins.       (line 335)
-* local:                                 Bash Builtins.       (line 342)
-* logout:                                Bash Builtins.       (line 352)
-* mapfile:                               Bash Builtins.       (line 356)
+                                                              (line  59)
+* let:                                   Bash Builtins.       (line 341)
+* local:                                 Bash Builtins.       (line 349)
+* logout:                                Bash Builtins.       (line 360)
+* mapfile:                               Bash Builtins.       (line 365)
 * popd:                                  Directory Stack Builtins.
-                                                              (line  37)
-* printf:                                Bash Builtins.       (line 402)
+                                                              (line  39)
+* printf:                                Bash Builtins.       (line 413)
 * pushd:                                 Directory Stack Builtins.
-                                                              (line  58)
+                                                              (line  61)
 * pwd:                                   Bourne Shell Builtins.
-                                                              (line 167)
-* read:                                  Bash Builtins.       (line 447)
-* readarray:                             Bash Builtins.       (line 527)
+                                                              (line 183)
+* read:                                  Bash Builtins.       (line 459)
+* readarray:                             Bash Builtins.       (line 541)
 * readonly:                              Bourne Shell Builtins.
-                                                              (line 176)
+                                                              (line 193)
 * return:                                Bourne Shell Builtins.
-                                                              (line 194)
+                                                              (line 212)
 * set:                                   The Set Builtin.     (line  11)
 * shift:                                 Bourne Shell Builtins.
-                                                              (line 207)
+                                                              (line 227)
 * shopt:                                 The Shopt Builtin.   (line   9)
-* source:                                Bash Builtins.       (line 535)
+* source:                                Bash Builtins.       (line 550)
 * suspend:                               Job Control Builtins.
-                                                              (line  94)
+                                                              (line  99)
 * test:                                  Bourne Shell Builtins.
-                                                              (line 219)
+                                                              (line 240)
 * times:                                 Bourne Shell Builtins.
-                                                              (line 292)
+                                                              (line 316)
 * trap:                                  Bourne Shell Builtins.
-                                                              (line 297)
-* type:                                  Bash Builtins.       (line 539)
-* typeset:                               Bash Builtins.       (line 570)
-* ulimit:                                Bash Builtins.       (line 576)
+                                                              (line 322)
+* type:                                  Bash Builtins.       (line 555)
+* typeset:                               Bash Builtins.       (line 587)
+* ulimit:                                Bash Builtins.       (line 593)
 * umask:                                 Bourne Shell Builtins.
-                                                              (line 343)
-* unalias:                               Bash Builtins.       (line 665)
+                                                              (line 369)
+* unalias:                               Bash Builtins.       (line 684)
 * unset:                                 Bourne Shell Builtins.
-                                                              (line 360)
+                                                              (line 387)
 * wait:                                  Job Control Builtins.
-                                                              (line  73)
+                                                              (line  76)
 
 \1f
 File: bashref.info,  Node: Reserved Word Index,  Next: Variable Index,  Prev: Builtin Index,  Up: Indexes
@@ -10048,7 +10130,7 @@ D.2 Index of Shell Reserved Words
                                                               (line  28)
 * fi:                                    Conditional Constructs.
                                                               (line   7)
-* for:                                   Looping Constructs.  (line  29)
+* for:                                   Looping Constructs.  (line  32)
 * function:                              Shell Functions.     (line  13)
 * if:                                    Conditional Constructs.
                                                               (line   7)
@@ -10060,7 +10142,7 @@ D.2 Index of Shell Reserved Words
                                                               (line   7)
 * time:                                  Pipelines.           (line   9)
 * until:                                 Looping Constructs.  (line  12)
-* while:                                 Looping Constructs.  (line  20)
+* while:                                 Looping Constructs.  (line  22)
 * {:                                     Command Grouping.    (line  21)
 * }:                                     Command Grouping.    (line  21)
 
@@ -10097,8 +10179,8 @@ D.3 Parameter and Variable Index
 * BASH_SOURCE:                           Bash Variables.      (line  94)
 * BASH_SUBSHELL:                         Bash Variables.      (line 101)
 * BASH_VERSINFO:                         Bash Variables.      (line 106)
-* BASH_VERSION:                          Bash Variables.      (line 130)
-* BASH_XTRACEFD:                         Bash Variables.      (line 133)
+* BASH_VERSION:                          Bash Variables.      (line 129)
+* BASH_XTRACEFD:                         Bash Variables.      (line 132)
 * BASHOPTS:                              Bash Variables.      (line  16)
 * BASHPID:                               Bash Variables.      (line  25)
 * bell-style:                            Readline Init File Syntax.
@@ -10107,16 +10189,16 @@ D.3 Parameter and Variable Index
                                                               (line  45)
 * CDPATH:                                Bourne Shell Variables.
                                                               (line   9)
-* COLUMNS:                               Bash Variables.      (line 144)
+* COLUMNS:                               Bash Variables.      (line 143)
 * comment-begin:                         Readline Init File Syntax.
                                                               (line  50)
-* COMP_CWORD:                            Bash Variables.      (line 149)
-* COMP_KEY:                              Bash Variables.      (line 178)
-* COMP_LINE:                             Bash Variables.      (line 155)
-* COMP_POINT:                            Bash Variables.      (line 160)
-* COMP_TYPE:                             Bash Variables.      (line 168)
-* COMP_WORDBREAKS:                       Bash Variables.      (line 182)
-* COMP_WORDS:                            Bash Variables.      (line 188)
+* COMP_CWORD:                            Bash Variables.      (line 148)
+* COMP_KEY:                              Bash Variables.      (line 177)
+* COMP_LINE:                             Bash Variables.      (line 154)
+* COMP_POINT:                            Bash Variables.      (line 159)
+* COMP_TYPE:                             Bash Variables.      (line 167)
+* COMP_WORDBREAKS:                       Bash Variables.      (line 181)
+* COMP_WORDS:                            Bash Variables.      (line 187)
 * completion-display-width:              Readline Init File Syntax.
                                                               (line  55)
 * completion-ignore-case:                Readline Init File Syntax.
@@ -10127,73 +10209,73 @@ D.3 Parameter and Variable Index
                                                               (line  73)
 * completion-query-items:                Readline Init File Syntax.
                                                               (line  80)
-* COMPREPLY:                             Bash Variables.      (line 196)
+* COMPREPLY:                             Bash Variables.      (line 195)
 * convert-meta:                          Readline Init File Syntax.
                                                               (line  90)
-* COPROC:                                Bash Variables.      (line 201)
-* DIRSTACK:                              Bash Variables.      (line 205)
+* COPROC:                                Bash Variables.      (line 200)
+* DIRSTACK:                              Bash Variables.      (line 204)
 * disable-completion:                    Readline Init File Syntax.
                                                               (line  96)
 * editing-mode:                          Readline Init File Syntax.
                                                               (line 101)
-* EMACS:                                 Bash Variables.      (line 215)
+* EMACS:                                 Bash Variables.      (line 214)
 * enable-keypad:                         Readline Init File Syntax.
                                                               (line 112)
-* ENV:                                   Bash Variables.      (line 220)
-* EUID:                                  Bash Variables.      (line 224)
+* ENV:                                   Bash Variables.      (line 219)
+* EUID:                                  Bash Variables.      (line 223)
 * expand-tilde:                          Readline Init File Syntax.
                                                               (line 123)
-* FCEDIT:                                Bash Variables.      (line 228)
-* FIGNORE:                               Bash Variables.      (line 232)
-* FUNCNAME:                              Bash Variables.      (line 238)
-* FUNCNEST:                              Bash Variables.      (line 256)
-* GLOBIGNORE:                            Bash Variables.      (line 261)
-* GROUPS:                                Bash Variables.      (line 267)
-* histchars:                             Bash Variables.      (line 273)
-* HISTCMD:                               Bash Variables.      (line 288)
-* HISTCONTROL:                           Bash Variables.      (line 293)
-* HISTFILE:                              Bash Variables.      (line 309)
-* HISTFILESIZE:                          Bash Variables.      (line 313)
-* HISTIGNORE:                            Bash Variables.      (line 321)
+* FCEDIT:                                Bash Variables.      (line 227)
+* FIGNORE:                               Bash Variables.      (line 231)
+* FUNCNAME:                              Bash Variables.      (line 237)
+* FUNCNEST:                              Bash Variables.      (line 255)
+* GLOBIGNORE:                            Bash Variables.      (line 260)
+* GROUPS:                                Bash Variables.      (line 266)
+* histchars:                             Bash Variables.      (line 272)
+* HISTCMD:                               Bash Variables.      (line 287)
+* HISTCONTROL:                           Bash Variables.      (line 292)
+* HISTFILE:                              Bash Variables.      (line 308)
+* HISTFILESIZE:                          Bash Variables.      (line 312)
+* HISTIGNORE:                            Bash Variables.      (line 320)
 * history-preserve-point:                Readline Init File Syntax.
                                                               (line 127)
 * history-size:                          Readline Init File Syntax.
                                                               (line 133)
-* HISTSIZE:                              Bash Variables.      (line 340)
-* HISTTIMEFORMAT:                        Bash Variables.      (line 344)
+* HISTSIZE:                              Bash Variables.      (line 339)
+* HISTTIMEFORMAT:                        Bash Variables.      (line 343)
 * HOME:                                  Bourne Shell Variables.
                                                               (line  13)
 * horizontal-scroll-mode:                Readline Init File Syntax.
                                                               (line 138)
-* HOSTFILE:                              Bash Variables.      (line 353)
-* HOSTNAME:                              Bash Variables.      (line 364)
-* HOSTTYPE:                              Bash Variables.      (line 367)
+* HOSTFILE:                              Bash Variables.      (line 352)
+* HOSTNAME:                              Bash Variables.      (line 363)
+* HOSTTYPE:                              Bash Variables.      (line 366)
 * IFS:                                   Bourne Shell Variables.
                                                               (line  18)
-* IGNOREEOF:                             Bash Variables.      (line 370)
+* IGNOREEOF:                             Bash Variables.      (line 369)
 * input-meta:                            Readline Init File Syntax.
                                                               (line 145)
-* INPUTRC:                               Bash Variables.      (line 380)
+* INPUTRC:                               Bash Variables.      (line 379)
 * isearch-terminators:                   Readline Init File Syntax.
                                                               (line 152)
 * keymap:                                Readline Init File Syntax.
                                                               (line 159)
-* LANG:                                  Bash Variables.      (line 384)
-* LC_ALL:                                Bash Variables.      (line 388)
-* LC_COLLATE:                            Bash Variables.      (line 392)
-* LC_CTYPE:                              Bash Variables.      (line 399)
+* LANG:                                  Bash Variables.      (line 383)
+* LC_ALL:                                Bash Variables.      (line 387)
+* LC_COLLATE:                            Bash Variables.      (line 391)
+* LC_CTYPE:                              Bash Variables.      (line 398)
 * LC_MESSAGES <1>:                       Locale Translation.  (line  11)
-* LC_MESSAGES:                           Bash Variables.      (line 404)
-* LC_NUMERIC:                            Bash Variables.      (line 408)
-* LINENO:                                Bash Variables.      (line 412)
-* LINES:                                 Bash Variables.      (line 416)
-* MACHTYPE:                              Bash Variables.      (line 421)
+* LC_MESSAGES:                           Bash Variables.      (line 403)
+* LC_NUMERIC:                            Bash Variables.      (line 407)
+* LINENO:                                Bash Variables.      (line 411)
+* LINES:                                 Bash Variables.      (line 415)
+* MACHTYPE:                              Bash Variables.      (line 420)
 * MAIL:                                  Bourne Shell Variables.
                                                               (line  22)
-* MAILCHECK:                             Bash Variables.      (line 425)
+* MAILCHECK:                             Bash Variables.      (line 424)
 * MAILPATH:                              Bourne Shell Variables.
                                                               (line  27)
-* MAPFILE:                               Bash Variables.      (line 433)
+* MAPFILE:                               Bash Variables.      (line 432)
 * mark-modified-lines:                   Readline Init File Syntax.
                                                               (line 172)
 * mark-symlinked-directories:            Readline Init File Syntax.
@@ -10204,41 +10286,41 @@ D.3 Parameter and Variable Index
                                                               (line 189)
 * meta-flag:                             Readline Init File Syntax.
                                                               (line 145)
-* OLDPWD:                                Bash Variables.      (line 437)
+* OLDPWD:                                Bash Variables.      (line 436)
 * OPTARG:                                Bourne Shell Variables.
                                                               (line  34)
-* OPTERR:                                Bash Variables.      (line 440)
+* OPTERR:                                Bash Variables.      (line 439)
 * OPTIND:                                Bourne Shell Variables.
                                                               (line  38)
-* OSTYPE:                                Bash Variables.      (line 444)
+* OSTYPE:                                Bash Variables.      (line 443)
 * output-meta:                           Readline Init File Syntax.
                                                               (line 194)
 * page-completions:                      Readline Init File Syntax.
                                                               (line 199)
 * PATH:                                  Bourne Shell Variables.
                                                               (line  42)
-* PIPESTATUS:                            Bash Variables.      (line 447)
-* POSIXLY_CORRECT:                       Bash Variables.      (line 452)
-* PPID:                                  Bash Variables.      (line 461)
-* PROMPT_COMMAND:                        Bash Variables.      (line 465)
-* PROMPT_DIRTRIM:                        Bash Variables.      (line 469)
+* PIPESTATUS:                            Bash Variables.      (line 446)
+* POSIXLY_CORRECT:                       Bash Variables.      (line 451)
+* PPID:                                  Bash Variables.      (line 460)
+* PROMPT_COMMAND:                        Bash Variables.      (line 464)
+* PROMPT_DIRTRIM:                        Bash Variables.      (line 468)
 * PS1:                                   Bourne Shell Variables.
                                                               (line  48)
 * PS2:                                   Bourne Shell Variables.
                                                               (line  53)
-* PS3:                                   Bash Variables.      (line 475)
-* PS4:                                   Bash Variables.      (line 480)
-* PWD:                                   Bash Variables.      (line 486)
-* RANDOM:                                Bash Variables.      (line 489)
-* READLINE_LINE:                         Bash Variables.      (line 494)
-* READLINE_POINT:                        Bash Variables.      (line 498)
-* REPLY:                                 Bash Variables.      (line 502)
+* PS3:                                   Bash Variables.      (line 474)
+* PS4:                                   Bash Variables.      (line 479)
+* PWD:                                   Bash Variables.      (line 485)
+* RANDOM:                                Bash Variables.      (line 488)
+* READLINE_LINE:                         Bash Variables.      (line 493)
+* READLINE_POINT:                        Bash Variables.      (line 497)
+* REPLY:                                 Bash Variables.      (line 501)
 * revert-all-at-newline:                 Readline Init File Syntax.
                                                               (line 209)
-* SECONDS:                               Bash Variables.      (line 505)
-* SHELL:                                 Bash Variables.      (line 511)
-* SHELLOPTS:                             Bash Variables.      (line 516)
-* SHLVL:                                 Bash Variables.      (line 525)
+* SECONDS:                               Bash Variables.      (line 504)
+* SHELL:                                 Bash Variables.      (line 510)
+* SHELLOPTS:                             Bash Variables.      (line 515)
+* SHLVL:                                 Bash Variables.      (line 524)
 * show-all-if-ambiguous:                 Readline Init File Syntax.
                                                               (line 215)
 * show-all-if-unmodified:                Readline Init File Syntax.
@@ -10247,10 +10329,10 @@ D.3 Parameter and Variable Index
                                                               (line 230)
 * TEXTDOMAIN:                            Locale Translation.  (line  11)
 * TEXTDOMAINDIR:                         Locale Translation.  (line  11)
-* TIMEFORMAT:                            Bash Variables.      (line 530)
-* TMOUT:                                 Bash Variables.      (line 568)
-* TMPDIR:                                Bash Variables.      (line 580)
-* UID:                                   Bash Variables.      (line 584)
+* TIMEFORMAT:                            Bash Variables.      (line 529)
+* TMOUT:                                 Bash Variables.      (line 567)
+* TMPDIR:                                Bash Variables.      (line 579)
+* UID:                                   Bash Variables.      (line 583)
 * visible-stats:                         Readline Init File Syntax.
                                                               (line 243)
 
@@ -10453,7 +10535,7 @@ D.5 Concept Index
 * interaction, readline:                 Readline Interaction.
                                                               (line   6)
 * interactive shell <1>:                 Interactive Shells.  (line   6)
-* interactive shell:                     Invoking Bash.       (line 127)
+* interactive shell:                     Invoking Bash.       (line 125)
 * internationalization:                  Locale Translation.  (line   6)
 * job:                                   Definitions.         (line  38)
 * job control <1>:                       Job Control Basics.  (line   6)
@@ -10463,7 +10545,7 @@ D.5 Concept Index
 * killing text:                          Readline Killing Commands.
                                                               (line   6)
 * localization:                          Locale Translation.  (line   6)
-* login shell:                           Invoking Bash.       (line 124)
+* login shell:                           Invoking Bash.       (line 122)
 * matching, pattern:                     Pattern Matching.    (line   6)
 * metacharacter:                         Definitions.         (line  46)
 * name:                                  Definitions.         (line  51)
@@ -10488,7 +10570,8 @@ D.5 Concept Index
                                                               (line   6)
 * programmable completion:               Programmable Completion.
                                                               (line   6)
-* prompting:                             Printing a Prompt.   (line   6)
+* prompting:                             Controlling the Prompt.
+                                                              (line   6)
 * quoting:                               Quoting.             (line   6)
 * quoting, ANSI:                         ANSI-C Quoting.      (line   6)
 * Readline, how to use:                  Job Control Variables.
@@ -10523,133 +10606,133 @@ D.5 Concept Index
 
 \1f
 Tag Table:
-Node: Top\7f1336
-Node: Introduction\7f3165
-Node: What is Bash?\7f3393
-Node: What is a shell?\7f4506
-Node: Definitions\7f7045
-Node: Basic Shell Features\7f9963
-Node: Shell Syntax\7f11182
-Node: Shell Operation\7f12212
-Node: Quoting\7f13506
-Node: Escape Character\7f14809
-Node: Single Quotes\7f15294
-Node: Double Quotes\7f15642
-Node: ANSI-C Quoting\7f16767
-Node: Locale Translation\7f18011
-Node: Comments\7f18907
-Node: Shell Commands\7f19525
-Node: Simple Commands\7f20397
-Node: Pipelines\7f21028
-Node: Lists\7f23722
-Node: Compound Commands\7f25451
-Node: Looping Constructs\7f26457
-Node: Conditional Constructs\7f28916
-Node: Command Grouping\7f37061
-Node: Coprocesses\7f38540
-Node: GNU Parallel\7f40205
-Node: Shell Functions\7f42673
-Node: Shell Parameters\7f47617
-Node: Positional Parameters\7f50033
-Node: Special Parameters\7f50933
-Node: Shell Expansions\7f53897
-Node: Brace Expansion\7f55822
-Node: Tilde Expansion\7f58577
-Node: Shell Parameter Expansion\7f60928
-Node: Command Substitution\7f70063
-Node: Arithmetic Expansion\7f71396
-Node: Process Substitution\7f72246
-Node: Word Splitting\7f73296
-Node: Filename Expansion\7f74919
-Node: Pattern Matching\7f77087
-Node: Quote Removal\7f80787
-Node: Redirections\7f81082
-Node: Executing Commands\7f89795
-Node: Simple Command Expansion\7f90465
-Node: Command Search and Execution\7f92395
-Node: Command Execution Environment\7f94732
-Node: Environment\7f97718
-Node: Exit Status\7f99378
-Node: Signals\7f100999
-Node: Shell Scripts\7f102967
-Node: Shell Builtin Commands\7f105485
-Node: Bourne Shell Builtins\7f107513
-Node: Bash Builtins\7f125755
-Node: Modifying Shell Behavior\7f151985
-Node: The Set Builtin\7f152330
-Node: The Shopt Builtin\7f162018
-Node: Special Builtins\7f174902
-Node: Shell Variables\7f175881
-Node: Bourne Shell Variables\7f176321
-Node: Bash Variables\7f178348
-Node: Bash Features\7f203351
-Node: Invoking Bash\7f204234
-Node: Bash Startup Files\7f209998
-Node: Interactive Shells\7f215019
-Node: What is an Interactive Shell?\7f215429
-Node: Is this Shell Interactive?\7f216078
-Node: Interactive Shell Behavior\7f216893
-Node: Bash Conditional Expressions\7f220173
-Node: Shell Arithmetic\7f223962
-Node: Aliases\7f226721
-Node: Arrays\7f229293
-Node: The Directory Stack\7f233515
-Node: Directory Stack Builtins\7f234229
-Node: Printing a Prompt\7f237121
-Node: The Restricted Shell\7f239873
-Node: Bash POSIX Mode\7f241705
-Node: Job Control\7f250479
-Node: Job Control Basics\7f250939
-Node: Job Control Builtins\7f255656
-Node: Job Control Variables\7f260020
-Node: Command Line Editing\7f261178
-Node: Introduction and Notation\7f262745
-Node: Readline Interaction\7f264367
-Node: Readline Bare Essentials\7f265558
-Node: Readline Movement Commands\7f267347
-Node: Readline Killing Commands\7f268312
-Node: Readline Arguments\7f270232
-Node: Searching\7f271276
-Node: Readline Init File\7f273462
-Node: Readline Init File Syntax\7f274609
-Node: Conditional Init Constructs\7f289951
-Node: Sample Init File\7f292484
-Node: Bindable Readline Commands\7f295601
-Node: Commands For Moving\7f296808
-Node: Commands For History\7f297952
-Node: Commands For Text\7f302137
-Node: Commands For Killing\7f304810
-Node: Numeric Arguments\7f307267
-Node: Commands For Completion\7f308406
-Node: Keyboard Macros\7f312598
-Node: Miscellaneous Commands\7f313169
-Node: Readline vi Mode\7f318975
-Node: Programmable Completion\7f319882
-Node: Programmable Completion Builtins\7f327092
-Node: Using History Interactively\7f336228
-Node: Bash History Facilities\7f336912
-Node: Bash History Builtins\7f339826
-Node: History Interaction\7f343683
-Node: Event Designators\7f346388
-Node: Word Designators\7f347610
-Node: Modifiers\7f349249
-Node: Installing Bash\7f350653
-Node: Basic Installation\7f351790
-Node: Compilers and Options\7f354482
-Node: Compiling For Multiple Architectures\7f355223
-Node: Installation Names\7f356887
-Node: Specifying the System Type\7f357705
-Node: Sharing Defaults\7f358421
-Node: Operation Controls\7f359094
-Node: Optional Features\7f360052
-Node: Reporting Bugs\7f369620
-Node: Major Differences From The Bourne Shell\7f370821
-Node: GNU Free Documentation License\7f387508
-Node: Indexes\7f412704
-Node: Builtin Index\7f413158
-Node: Reserved Word Index\7f419985
-Node: Variable Index\7f422433
-Node: Function Index\7f435528
-Node: Concept Index\7f442683
+Node: Top\7f1348
+Node: Introduction\7f3190
+Node: What is Bash?\7f3418
+Node: What is a shell?\7f4531
+Node: Definitions\7f7070
+Node: Basic Shell Features\7f9988
+Node: Shell Syntax\7f11207
+Node: Shell Operation\7f12237
+Node: Quoting\7f13531
+Node: Escape Character\7f14834
+Node: Single Quotes\7f15319
+Node: Double Quotes\7f15667
+Node: ANSI-C Quoting\7f16792
+Node: Locale Translation\7f18036
+Node: Comments\7f18932
+Node: Shell Commands\7f19550
+Node: Simple Commands\7f20422
+Node: Pipelines\7f21053
+Node: Lists\7f23752
+Node: Compound Commands\7f25481
+Node: Looping Constructs\7f26487
+Node: Conditional Constructs\7f28950
+Node: Command Grouping\7f37095
+Node: Coprocesses\7f38574
+Node: GNU Parallel\7f40248
+Node: Shell Functions\7f42716
+Node: Shell Parameters\7f47800
+Node: Positional Parameters\7f50405
+Node: Special Parameters\7f51305
+Node: Shell Expansions\7f54269
+Node: Brace Expansion\7f56195
+Node: Tilde Expansion\7f58949
+Node: Shell Parameter Expansion\7f61298
+Node: Command Substitution\7f70432
+Node: Arithmetic Expansion\7f71765
+Node: Process Substitution\7f72615
+Node: Word Splitting\7f73665
+Node: Filename Expansion\7f75288
+Node: Pattern Matching\7f77453
+Node: Quote Removal\7f81153
+Node: Redirections\7f81448
+Node: Executing Commands\7f90285
+Node: Simple Command Expansion\7f90955
+Node: Command Search and Execution\7f92885
+Node: Command Execution Environment\7f95222
+Node: Environment\7f98208
+Node: Exit Status\7f99867
+Node: Signals\7f101489
+Node: Shell Scripts\7f103457
+Node: Shell Builtin Commands\7f105975
+Node: Bourne Shell Builtins\7f108003
+Node: Bash Builtins\7f126676
+Node: Modifying Shell Behavior\7f153054
+Node: The Set Builtin\7f153399
+Node: The Shopt Builtin\7f163147
+Node: Special Builtins\7f176848
+Node: Shell Variables\7f177827
+Node: Bourne Shell Variables\7f178267
+Node: Bash Variables\7f180298
+Node: Bash Features\7f205299
+Node: Invoking Bash\7f206198
+Node: Bash Startup Files\7f211960
+Node: Interactive Shells\7f216979
+Node: What is an Interactive Shell?\7f217389
+Node: Is this Shell Interactive?\7f218038
+Node: Interactive Shell Behavior\7f218853
+Node: Bash Conditional Expressions\7f222133
+Node: Shell Arithmetic\7f225921
+Node: Aliases\7f228680
+Node: Arrays\7f231236
+Node: The Directory Stack\7f235444
+Node: Directory Stack Builtins\7f236163
+Node: Controlling the Prompt\7f239119
+Node: The Restricted Shell\7f241891
+Node: Bash POSIX Mode\7f243728
+Node: Job Control\7f252876
+Node: Job Control Basics\7f253336
+Node: Job Control Builtins\7f258055
+Node: Job Control Variables\7f262407
+Node: Command Line Editing\7f263565
+Node: Introduction and Notation\7f265132
+Node: Readline Interaction\7f266754
+Node: Readline Bare Essentials\7f267945
+Node: Readline Movement Commands\7f269734
+Node: Readline Killing Commands\7f270699
+Node: Readline Arguments\7f272619
+Node: Searching\7f273663
+Node: Readline Init File\7f275849
+Node: Readline Init File Syntax\7f276996
+Node: Conditional Init Constructs\7f292338
+Node: Sample Init File\7f294871
+Node: Bindable Readline Commands\7f297988
+Node: Commands For Moving\7f299195
+Node: Commands For History\7f300339
+Node: Commands For Text\7f304524
+Node: Commands For Killing\7f307197
+Node: Numeric Arguments\7f309654
+Node: Commands For Completion\7f310793
+Node: Keyboard Macros\7f314985
+Node: Miscellaneous Commands\7f315556
+Node: Readline vi Mode\7f321362
+Node: Programmable Completion\7f322269
+Node: Programmable Completion Builtins\7f329479
+Node: Using History Interactively\7f338615
+Node: Bash History Facilities\7f339299
+Node: Bash History Builtins\7f342213
+Node: History Interaction\7f346141
+Node: Event Designators\7f348846
+Node: Word Designators\7f350068
+Node: Modifiers\7f351707
+Node: Installing Bash\7f353111
+Node: Basic Installation\7f354248
+Node: Compilers and Options\7f356940
+Node: Compiling For Multiple Architectures\7f357681
+Node: Installation Names\7f359345
+Node: Specifying the System Type\7f360163
+Node: Sharing Defaults\7f360879
+Node: Operation Controls\7f361552
+Node: Optional Features\7f362510
+Node: Reporting Bugs\7f372082
+Node: Major Differences From The Bourne Shell\7f373283
+Node: GNU Free Documentation License\7f389975
+Node: Indexes\7f415171
+Node: Builtin Index\7f415625
+Node: Reserved Word Index\7f422452
+Node: Variable Index\7f424900
+Node: Function Index\7f437995
+Node: Concept Index\7f445150
 \1f
 End Tag Table
index 525dce9fdd460ed696c7626e53962d3f79c2dda8..876709215dcce32c7b2cf982bc6ceed86f0a6896 100644 (file)
@@ -1,4 +1,4 @@
-This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2008.12.11)  8 JUL 2011 17:23
+This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2008.12.11)  26 SEP 2011 10:56
 **/Users/chet/src/bash/src/doc/bashref.texi
 (/Users/chet/src/bash/src/doc/bashref.texi (./texinfo.tex
 Loading texinfo [version 2009-01-18.17]:
@@ -178,9 +178,9 @@ and turning on texinfo input format.) (./bashref.aux)
 
  Chapter 2
 [1] [2] [3] Chapter 3 [4] [5] [6] [7] [8] [9] [10]
-Overfull \hbox (43.33539pt too wide) in paragraph at lines 876--876
+Overfull \hbox (43.33539pt too wide) in paragraph at lines 882--882
  []@texttt case @textttsl word @texttt in [ [(] @textttsl pat-tern @texttt [| @
-textttsl pat-tern@texttt ][]) @textttsl command-list @texttt ;;][] esac[][] 
+textttsl pat-tern@texttt ][]) @textttsl command-list @texttt ;;][] esac[] 
 
 @hbox(7.60416+2.43333)x433.62
 .@glue(@leftskip) 86.72375
@@ -191,7 +191,7 @@ textttsl pat-tern@texttt ][]) @textttsl command-list @texttt ;;][] esac[][]
 .etc.
 
 [11] [12] [13] [14]
-Overfull \hbox (89.6747pt too wide) in paragraph at lines 1198--1198
+Overfull \hbox (89.6747pt too wide) in paragraph at lines 1204--1204
  []@texttt cat list | parallel "do-something1 {} config-{} ; do-something2 < {}
 " | process-output[] 
 
@@ -204,7 +204,7 @@ Overfull \hbox (89.6747pt too wide) in paragraph at lines 1198--1198
 .etc.
 
 
-Overfull \hbox (89.6747pt too wide) in paragraph at lines 1213--1213
+Overfull \hbox (89.6747pt too wide) in paragraph at lines 1219--1219
  []@texttt { echo foss.org.my ; echo debian.org; echo freenetproject.org; } | p
 arallel traceroute[] 
 
@@ -217,7 +217,7 @@ arallel traceroute[]
 .etc.
 
 
-Overfull \hbox (106.92076pt too wide) in paragraph at lines 1219--1219
+Overfull \hbox (106.92076pt too wide) in paragraph at lines 1225--1225
  []@texttt { echo foss.org.my ; echo debian.org; echo freenetproject.org; } | p
 arallel -k traceroute[] 
 
@@ -232,7 +232,7 @@ arallel -k traceroute[]
 [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29]
 [30] [31] [32] [33] [34] Chapter 4 [35] [36] [37] [38] [39] [40] [41] [42]
 [43]
-Underfull \hbox (badness 5231) in paragraph at lines 3430--3443
+Underfull \hbox (badness 5231) in paragraph at lines 3479--3492
  @texttt emacs-meta[]@textrm , @texttt emacs-ctlx[]@textrm , @texttt vi[]@textr
 m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
 
@@ -244,22 +244,9 @@ m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
 .@texttt c
 .etc.
 
-[44] [45] [46] [47] [48] [49]
-Overfull \hbox (172.34125pt too wide) in paragraph at lines 3888--3888
- []@texttt read [-ers] [-a @textttsl aname@texttt ] [-d @textttsl de-lim@texttt
- ] [-i @textttsl text@texttt ] [-n @textttsl nchars@texttt ] [-N @textttsl ncha
-rs@texttt ] [-p @textttsl prompt@texttt ] [-t @textttsl time-
-
-@hbox(7.60416+2.43333)x433.62
-.@glue(@leftskip) 86.72375
-.@hbox(0.0+0.0)x0.0
-.@texttt r
-.@texttt e
-.@texttt a
-.etc.
-
-[50] [51] [52] [53] [54] [55] [56] [57] [58] [59]
-Underfull \hbox (badness 5460) in paragraph at lines 4636--4642
+[44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58]
+[59] [60]
+Underfull \hbox (badness 5460) in paragraph at lines 4725--4731
  []@textrm If set, range ex-pres-sions used in pat-tern match-ing (see
 
 @hbox(8.2125+2.73749)x433.62, glue set 3.79674
@@ -270,9 +257,9 @@ Underfull \hbox (badness 5460) in paragraph at lines 4636--4642
 .@glue 3.65 plus 1.825 minus 1.21666
 .etc.
 
-[60] [61] [62] Chapter 5 [63] [64] [65] [66] [67] [68] [69] [70] [71] [72]
-[73] Chapter 6 [74]
-Overfull \hbox (51.96864pt too wide) in paragraph at lines 5530--5530
+[61] [62] Chapter 5 [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73]
+Chapter 6 [74]
+Overfull \hbox (51.96864pt too wide) in paragraph at lines 5617--5617
  []@texttt bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@t
 exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 
@@ -285,7 +272,7 @@ exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 .etc.
 
 
-Overfull \hbox (76.23077pt too wide) in paragraph at lines 5531--5531
+Overfull \hbox (76.23077pt too wide) in paragraph at lines 5618--5618
  []@texttt bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@texttt 
 ] [-O @textttsl shopt_option@texttt ] -c @textttsl string @texttt [@textttsl ar
 -
@@ -299,7 +286,7 @@ Overfull \hbox (76.23077pt too wide) in paragraph at lines 5531--5531
 .etc.
 
 
-Overfull \hbox (34.72258pt too wide) in paragraph at lines 5532--5532
+Overfull \hbox (34.72258pt too wide) in paragraph at lines 5619--5619
  []@texttt bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@text
 tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 
@@ -312,7 +299,7 @@ tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
 .etc.
 
 [75] [76]
-Underfull \hbox (badness 2245) in paragraph at lines 5705--5707
+Underfull \hbox (badness 2245) in paragraph at lines 5790--5792
 []@textrm When a lo-gin shell ex-its, Bash reads and ex-e-cutes com-mands from 
 the file
 
@@ -325,7 +312,7 @@ the file
 .etc.
 
 [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90]
-Underfull \hbox (badness 2521) in paragraph at lines 6882--6885
+Underfull \hbox (badness 2521) in paragraph at lines 6980--6983
 @textrm `@texttt --enable-strict-posix-default[]@textrm '[] to @texttt configur
 e[] @textrm when build-ing (see Sec-tion 10.8
 
@@ -394,7 +381,7 @@ Underfull \hbox (badness 2753) in paragraph at lines 1946--1949
 [123] [124]) (/Users/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9
 [125] [126] [127] [128] [129] [130]) Chapter 10 [131] [132] [133] [134]
 [135]
-Underfull \hbox (badness 2772) in paragraph at lines 7483--7487
+Underfull \hbox (badness 2772) in paragraph at lines 7586--7590
  []@textrm Enable sup-port for large files (@texttt http://www.sas.com/standard
 s/large_
 
@@ -413,11 +400,11 @@ s/large_
 [163] [164] ) 
 Here is how much of TeX's memory you used:
  2081 strings out of 97980
- 28558 string characters out of 1221004
- 65614 words of memory out of 1500000
+ 28573 string characters out of 1221004
+ 65630 words of memory out of 1500000
  2897 multiletter control sequences out of 10000+50000
  32127 words of font info for 112 fonts, out of 1200000 for 2000
  51 hyphenation exceptions out of 8191
  16i,6n,14p,315b,702s stack positions out of 5000i,500n,6000p,200000b,5000s
 
-Output written on bashref.dvi (170 pages, 683940 bytes).
+Output written on bashref.dvi (170 pages, 687040 bytes).
index 2ba0d9ecbcada7cb21cd4d993321e68641da43ba..db25f5e33abd903ca2a9b62836733c78cda723f6 100644 (file)
Binary files a/doc/bashref.pdf and b/doc/bashref.pdf differ
index 04e1c721741badb3b3ae8e3367e9ee5d1a3d52fa..49c1aca3d09993270f2cab51d49eb3da967eb1ae 100644 (file)
@@ -11,7 +11,7 @@
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
 %DVIPSParameters: dpi=600
-%DVIPSSource:  TeX output 2011.07.08:1723
+%DVIPSSource:  TeX output 2011.09.26:1056
 %%BeginProcSet: tex.pro 0 0
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -3249,6 +3249,7 @@ dup 84 /T put
 dup 85 /U put
 dup 87 /W put
 dup 88 /X put
+dup 91 /bracketleft put
 dup 97 /a put
 dup 98 /b put
 dup 99 /c put
@@ -3303,339 +3304,342 @@ EFE264BEE7810EC93784B7C01A7F29EFD92547E13A2C7851A2E709FBD5B87850
 4A44F08F56A542DBE072D2FBC58D9E6468E1AB858DC35240E30D31C7AC13D6C5
 7D2BB634BEE96FA0E10F842B11A789F72A333DD6DDCB1BC23227EBC406E50B40
 30AF0C48E6359AB0C46898CDAF1118E46BFF8B00F54EACBC2AC262AB898C42B9
-2E080C10DE923C195F9FB3A03CAAEEA6A78E5994B2DC3A318F06679925ABB1AB
-5BEEBB2591961C13F25248DF7E43D2F7D8EF2DFE0C9F6332503E58DFFC63582F
-A120BF80E4342491BFE3833012907CFD93A90AA3E216D6D4DC0EB815173DDE5C
-1B9B2AB54706738CD00FEE5539B6BAFA1957F5A9BF70EEBCCE9CC306B11E36D8
-D00BF55A9FA5CFB32E7CDCA2DD37A5BB2D1F9A8EC0B5C1FB6EB83ACA9BD33028
-7F991C4E7C1BA5427C9D4463C864B44A0A8ABE45F89E3AC2EF454AF0ADD564EB
-8A3B841717842866E2EA6A60AD1926E861C6311C58B110EFA8911575FFEC54CB
-14C69B630B15EB96B1310195FB1274EAA3F3C603FBA6DE75B66E47556197AD6B
-FD13D8BAA3135913B0A7C692238A0450F7734D408552ABC33EF3AA89B7D1C8AC
-1D74CF4703117DD038CC44E24325F00B3A67598BE2A6A218553A744BC88AC513
-AF9FB3489FBF50078B4948BF637F7D458D558E8DA8DDF2F2A5498E52A3AFBE84
-50F28EA42228C1CB07B5DA81C34D733F6DA3BD02224AA73F1AA7FDF92ED9FF0D
-AD7277231AF2BBD9575C73DADAA9A9113DF3899C43C972750B18809815979408
-B477D75F9BAD6DE0339A2DFD07B42A84FDA822D31AB47096B8505F9FA2079B80
-10DD05033A17149C3B7A34BEE8E0962214393A269DF2F2CA131F367DED66320D
-79A03AE8239B8E5A095BB7FC90C1DA766880D29AFD86B9E7F61A3F7A406DD78C
-02CCF7AB8521C47FA61BCC7CFFC45CEDA072972A3F5F5C9FF09C5AF9F00F9DD3
-D77EA32D12371C2377FD2249C74E8FCDC1E389322E7A0616A99C14A352ECDA21
-E6CE1BFA9098C23A7BE5063C4654AB93338B46015B05C850EA549BAC9FF23959
-91966A4F50C5FE67C4D5657632BCEA14D9E226A78F13705282ABFEF36D4327CD
-811B421B12E319356136394B13B1D1C2A0AE9C62D37FA9DE80A00AC25CDEB3BD
-BF74FC8D4AC35C5EF6876D5C0E267847106FE804A1909728A6D75542ECA271A7
-3B4F5C761D3E195E5DE6BB53598EC77322A22AAFF7C39649DE9133EEFA9B3654
-5D0951EC63A5CFAF33DAF36D7778DFC3AC9914919288E3C470FE6D43917D0731
-2BAA724A14C2DE535ABA30380CAE8B192D0AC98FEC1F93A497754B2D3AF768EB
-A990CD19A702C770B7B6DB0615AC790F28CD55B3EB1C810ABB629EAB912AF685
-03D98799716FC3E69B3A6FE4640FE4D2169249A5989C068AAD5A6C185C70E3B6
-4845B07E3CD5C3C340C29F3FBB3FBBA8C4F408089F54FE801A67D0D320946DE0
-CF81EC5D4FFE38CF5C2F8DD4D505F668F45561DF35B6117A7AEAABD46CD3CB83
-26F2A8E51AC3A5F9BA131810FE9D548F0AB54D20FB4FE8B184864720D26F4D44
-43BFCC6070FB83466F17247665E982315994821DE0E6924D4F2DE3621FE25EA2
-D1FE7C26315203C2919AEADF40CC210ECEA00E2AEA76FCA5F38BE974B163D109
-48BA098253209538DC5B4BC02EEE99E68E234C2300E7EA7277524C6D8A92B6B8
-7169F198C9CE8FC862467B5283EE850FEC268A39656C395B34ECD2A990022935
-5673077EC8AD9833E6874C8C992149A836D32729A16984B5D8A18A3DD7A7A04C
-F657CB45A5C00B967B26864BC028D6E84DEAE880C6C5212D5F4FC2929C4BC816
-607556E9618828F6B462CD5D487F281B44A711A37B52685F0EB881742E9C9483
-CBDA125B50585CC0A4FCF825D738CC46B5F1D693ECFD11638D697FC16E2D2C52
-7B99F63D4456A9BA07FFD4F5D49B2862567EFB7BC7C33A3835E7252075245CFA
-4BCD96142A2185E73B1649A348DD67440444D2ABC80573D476624221862F4F1D
-4C8AFC555B65708F031581438B9B658A0269310ED50820E38B3B8725A6A97B29
-98B04F1247FEC25DCBF3C97DA581C98C45185C5343A357952B16ADE3893437E1
-FDEBF35BF4F7A2D5AF54492A9FA18A7F7A97F8BE69DEA33D57752946D89FBEAE
-0BAD1D1C4B0FAAD7CEAECB26F232DA0314C01DE27B0E5DA9565775DED6FC769D
-A6CFFF4E9DAF2F4C6FE1D4FFE3EEF0A1AD8B9A7962A56652361B0DB3B27C4E52
-437E044630C93B67BF1D60CF28886BAF465AA6F44E4B5BE901D83C7FBCC8BF47
-9C5DFD55E6B9BF3520E8598D588B1992ABDDAF159BF48DEFB2C393A6144CFB59
-15DCE0EF0EC32BD5E1B1A0C7C2DF6B28F14D9FF169474F7551E9759012C80C71
-45838DAEE81AEB19C0DCDFF69DBAF8B277A414E34069EDB972D462662A05D562
-C52F89CD26B4F7ABA626E3594428C7CD338715681868D211C58C8AB4A8A1D3AF
-D97A8E0CC1F06443A0244F605408283A34E01BD7898F7DB44E550896B3C20E29
-C0EC3C0666BA33CB37FC2AB60CBDACFBC7F031E04FE1E2BDD8B66AAE5CFAC42F
-59AF8143DEFFD1A0AF78BD4B0F308C2B3678939C1101D6C9CFDAC360D9990043
-3E89501BBD512C9CD8321FB4A61AB75ACD70B5060498E0243199AB40035E46EC
-BF87BE3FB31DDB23C348B7208715DC69DB525C4A85F65F579D3DB1DC207574EC
-EC90C6B0D5837C6384AF77127529778C0579C0379E24194BC97BEAF77A08A5E8
-D70A830D279733FF0F7FDCF0137A40FE0555DB9F7177F84120805F60D120D08F
-720445A8BE8CB8F54AA91BA20DAA3BAEFAD8BBD5B5A6086BB3B52379477466F8
-957F0F061F919355CBD428C5D5027780EC29962567BC8F5E8CC16DA90D8A02F7
-4D7A02FEB05F30838FF1358C9245130DEF0F9D6786ED2CC21394DC92D782F260
-1E755FDF36380FF3FAFF86B0AFE6EC3C6F7F0646B1E967688A2F9088AF47A34E
-C55CF8B4C448E1E3A34987FAB1A7D18AC65B2D18B672D88D9C82D38D73D3B76D
-BAD7C8431F0F3A7D24A3D118D14AA60345C87AF92D7BF9C1BFE9BAC5B8EBA3BF
-E62C289C768895CA437C4F1FE179C12EC83221DBEDF80F46763A0B891E0917B5
-0B214D274B6681AE254721172BA7AECBF10CEFD6CF71F97F43310AE31A411303
-18DBBC4DD143326A22B0D5DA01FD32627383C958BF352C77854BCD6B5AE52D4A
-36D850C91CAC38632EB80396E677513731164ACC3A7198056B46B02A8171EFC0
-E19C4E05A9214566DD5C358A2EE6F22DD401B33D99BF5F8B8BD0DEAB0C6C544A
-D2CAD78521B69F58B7321C18C4E0E97FE1684716D485B12C980C4A263466B42C
-2A01BDDF7A5D0FC8DD75A83959DAFB9B7BC87D1B5F6171B5914878B34CDFD463
-3FBAF3758FD63E5ECE0E86EF5F3AE1A465947ABF33421E111C5C76E28D94A4DA
-B255FC172AC45D34E52AD3F719591A2BD58AED84C1A906F80211D4AAB8189838
-313B39AA70C044C01CB09DF64CCB426480FC60050C965FD05184C0923BD8387C
-93976A1BB5E3049CBDA89307EB9487BEC4C946F537FD278D5CC0764B927AD35C
-249B3D925C0434F55D799D2F42FD6A8379DCAB9350025F6138ED5BC4AB033DC0
-02445CEF7DF52B42B3D841E32A957104B3CDA0A86348886701A39763C5B9B745
-6C24642787F4CCB9593D181D40721161778D65EB8895184EB658CC267824978D
-28EECBDAC4BFD429B2FA117B9FD2AA37BBA522D1CD3C0D027D0FE11D2DA19FA8
-BBEAF201A8DB15CD18B88DBFCCAE92051B80F905B6257C39395D6B792DC549E5
-7CAD489D79059242D71F57CA1C13ADF5A2BC8EE437EAEA7889B1583FB6DB65D4
-0B4B8B27F71F4221DC637479B69BCB071C8619A071D8A19EA1F86408104800A8
-3C08A2E55BC78A48F416CED858B29EE15569EE23824F7474B2154C022B4A029C
-A6B398D15EC7A352C90EEF8F2C946293AAE238113A242A378EB407EFB3C91930
-5F96B9A93C320648C8EA0ABFD072F92B954B64E84EE8B5822A8B8E9C2E672D03
-9CA1CA795CE1F2B6F345926E475BD47C48E4ED0ED7010DFA44C14D8BCDEC0C7F
-BFA4732A73975F1C9C4838EA438149CE62DB2DD99935283572372039E094E691
-74F8801AA0E414783E957B5DE99E55DE8B99A0D53D1C725D7B469587C7A27250
-71708ABA923B08B37F0147364D9C8EEF74FE7EBC06C647E2CEEE77EEEAE97C13
-AA0B25568EF8FCF971CB5AA2DF05D2CD2B03C79350C3ED3EBEA8408253A1E76D
-9B646DB119AA2BC1FFDD56CDA020BB3E08AE16AB0AB41932538CE4F38C69455F
-FA9CFD80CDF8F178C402A6B328F182AF842D7C489191B1C55DC833C414D2641C
-3E0770D4F3C41383F2689DC49E9F560BFEED8E9388CB8C042BF52A9121F4578D
-F2B957786C1252422BC65EB930E13BE614416344C817FD40E9DB6B539279B90D
-0D865F83C0CB1AD567B1B6339C0C5F47C6DBD456CB45B4D27768E71BA3BE6212
-46D0239D970B4D6EBEE52C4A0DDB9F07D69CDF193569688754834BE42624416C
-27135FE152A2FEAC9CB98F3041675B4A4C321E3B2A8681E76A0160644D5B2FF9
-970D2035C3C2AE3E0C6176C7DF7B46BC8286F2959D5DD190061395B58FCA8A0C
-35E3CE3E56B5E7504EBCC9F64221CC07056D3B7BA81E93365A20EA592A853A82
-E261A4CC7F2A6BBD366BA051837BD3ABB5DA5D7B700BECE6E9CB296DFE877E0A
-2EAE61B3898ED4BCA46A06D6E30670E6BD4B8749D993419688C430BADC1963A8
-1F10B657CDBD25653A9F33401688478E9FB00309B756AF05C6F3D0E9E2F3726C
-12DF044561F0878C812A9B55830BEB0CED4858618FCC235FD6C7D1F6198E278B
-0D4A12C2B6994EB41D688BD7D06CFCEED043D0544A8295F811B89E006E470440
-4C8BC39A21A5E00C26D07C37DA951EA36F9CF2BF4473F4449BE816EB733DCF25
-99220E9B3F8E083FE2A7A7F28D5FA867B8562991A543F64D323ECAD370DCF8FB
-94E3A1221C12C84D6ECAF55AE55B5920F60F2051DE3C3179DB49C3E44A6D4687
-FBFECC7A026F590806041DB8B5E2699A2768A8E4B39B4CC3C8A28937C7D264F0
-0A155696106FF74E604B262147CDF20AC9C310644F46544D983501838A56A5B2
-AC1AB33F40572F1DD11775C2F056F19CCCD2CBC45234742DB65D1DF2D3CE370E
-4F3B64283BFDDBCFA51331415CB78E03A73B3E592764F9CACE7BCD69C4B47714
-FDF3E3AE384DA9051DF522A59E3D9499C5DE0C352A880650348D18EAE23A737B
-39840E5B56127C297CDEF537241FC1A53AFF283F6393E74E1F02BEDFCDFD0667
-0BA98DEEE0CFDB5E0C03CA1CF5D2720283EB01CEFB1B79976D6F406FA389B59C
-789559CE3BF2ECB4A5CCFF2CFA855EA2FE6917ECCAC25438DADEC709706E0726
-772AB15D6DCAE1F36AB91EB583D1CFCBE8E007C04366CEFA905E9783C00D4B99
-CA4DE0AC8792A6585B8D471240B51F5BB638B2D63CD5AD9C13ECBDE314F28EF6
-4A4B32D3679BC0009B7845194BD0905712923F88555B9BB80E1957D9CF6378F3
-31AB292B0920D7A7F4D519F8C9A7CBE4988D1C26F9DA61BFD392CB474B4BB668
-FE77DCF953DE8B9DD1608CEC4A26F1AC5DF2C09873CC61B68850D29761D727E9
-912B5EBF7E6E57C503C22F18AB4FC094E3CA7DB7B0345276166EC5CF38C27DC1
-1F337229BA53EB197028FE6829933278953ADCD6FE73AA13204EC1795F25F477
-75A23ECC18D554268467EDF71A3E4642564F3FDC622B23D590994A4DACE02B6D
-0591E13AF6FA382313601A6FD7B6CFEF0179270D75C40635A064B255C14C8B85
-8DB554B30A064B7B7FAE922523E519AC871629C2A73F98EE0184306CE9609C7B
-FF06283A051E48D6E8EFC6B62FC1012264CBFC274C9BC28B12CAD77B43391514
-E3FC9EBA95ADD2481B8949EF4DCE0585BE0E8DCC3F564E4A2B5A00DCE2329377
-149933D27D2AC192CA70F4C78D759854BAADF229D20264E725D886263375CDE1
-7FC3C2FA2AEF0583BE68AC6C694E9C1D5D76273C9ED4786A6F0B0F4CB670F2E1
-05EB78958B038CBBE0BF6926DA3412FAA53269FA60C45E352E2F66000F9CF179
-570D01B796CAF9B2DEBCF35A759E102F589038EB06BC5D7047B9234FFC84C57D
-4710DC3148954E27A3EC7BB7D306943B0DEA92A21B52D33937ACAE51A7DA1C79
-9FED622157B532784C158D9B137741D3B32C70028FE99E54CAA98602E603692D
-E3FFDD148431BDFF8AFFC5FBB10F7F304A42410FB54868B41B2104A8500FFD64
-3437AFF9717E4814F90F742833EE0E9601ED93EFEA6CC174A07F57B7727D6AEF
-6C94EF4905258729023703188A6B69004D25EEA6F2FDA6357A0A83DD49FA3B1D
-6529FDDD8576C8D249B87A00994F315B2ADE21214AA9642A58D2331ED4B2A633
-4325503E9E4D98934EFB374CB5A1D9C76D03AFDE9829F5EA3B21CD685044AE1D
-26FBFAC83068B2AF4BB93841F1CE89A92BA7DCD5C58A020C003D01B389B302F3
-CE95588EDDBD8E6F2AD1FE66B1A27C9ECBBF0AB4A4E470CE288B7599DAD31E08
-C752251C2102B9B78DE589E2E0914A4DC2DF0BAD66A79B444DFA4624C9FED940
-9C49AF5127B6A534928ADA9E971B07245E3E7A5C4B34A30CA7A703BEE659CBA0
-E7ADB8EEC843BAAD46B8681AF4098DEADBE7B56ACC2C5187A961F105AFF18251
-5CB8C886FAEA453F6B9DAFF8AE2CF0FB6ACFDFC8726B657BC13C93F4F4AF0E5F
-1FD259DD724D7A4A9DEBE844A3E8AADCAB1A437DEC6A42BC0FA6CF19C0DA7777
-9393FE650CFEA5761EF824E946BCDE69B6B9DC72F228C34BF2D3A275FE1AB3C4
-B76649FE1791E3124858F8B634D0CC4C68E50CEFAF96C936F16270891BEACD72
-1A804EECD7AA06D8CF90D1FDDDB412B980CA2B8268EFA49328BC7E7C7AE016C4
-4E1DC48118D635CFE7FDBFE223B4A631A94645CE522988621B26858ECA7DC122
-3A1FC1B14750990FF721F1EB7ED1D8B447A51A0DB2C721409707245BC1BB6ADA
-9303713CBA7FA185052BBF254F5613EEFB5A8279212ABC39E340CDB7844459D2
-5DFB805531A4E1BFE7A377A0395FAFEB8CEBFFF8809EC547404986B6D7876752
-C9181E07C84E0114588452844020CF1028E5B782F7D3F2B716836B66C8E68A22
-F55EE41606E0A035FC109AB7A294EA3D504285F28D2B9054B9ADAE04093CCA6E
-3F768CE4E587F85E29496708CADA5BD7719D4650C67FB1458353687DFCFE3B6A
-7868B4BC7B9825A6372B13F455C454DC37B6807A9069D17E7E336360B10CCE14
-83861D6131993FE148A9BB9F7681DCFA477D5E3A3E82CE00650FCE40639992A6
-4D1206C42BB1A87BB3ABE72966C48F85F5237A7A1ACF7E4FD71105A65F0D1F01
-E01C7B7DEDC88198C7CCE8617E109080BFE1F2AAE6AFD476A71F4EE67EFB5692
-8F35045C3DFA8B18957D87923C66951080414A229F8C83B72A85CD060C6971B8
-1EB996B4E8F13536E3903BC49EEB3E736D5DC41C63356F0FE468CC0B872E44E5
-E7B78DAEF8C0F79D26F3EA6F08C80258429F21394937B03421F39035666B2A9F
-4EB75DFC2909F60D19669AEAF8933E1D5A7E9CC45ECC34D68854124B62D0FCC1
-05946FE9C0E872380756DFE431EE8B5941F03C7832C1BD08E8174216E4018821
-3EEC3E49097E8421D92785868785C6D883EA8181E820BEC8C39E30386B59F099
-B8BC4FBC1D22608FFA88C4DB42D79290FDCE5A68AE57F751CD8CC5AE6CD9181D
-C11FC078DF2933CE800AF554C9D857A58E29B60E01E77AB1703188488E4CBB01
-BC821D7254B0AE1B3DE113CD6584C18D89472BE9EBD1DFCCA15CE83F7C8D195E
-EA75DCA5316CE3CE6087F85B895F7DF73D15ABAB6DB710B478C17F1C17F7C770
-32A1E39FF1EAB4734D2BA37AED9A296BB5FE06E220871FEE08CB67E5F429930C
-84F23DCE0F3F0415775CA86C871CEB7BEBE68DA4D39780B12D11E2A8A49F2724
-95FCFB836C880BB3BD3EEAD4A4BD4416CE9EDBEAB4AFF4E0494EC8A4228A4BDA
-7B2DED10F7B1C46D13C121CC6ACB12664E492E8025C344A5F71A7B8B3BF099E3
-5BD0A9C72BCD1297C634CE18E5B7B857902EE403CB275AF0A6F0B986ED8B01ED
-3A9418AB0EC6386EBD13A3608BC0FD8DC7D55F7134CCE3C62BD499655DD03FBC
-FE82A10C9D4B9FADF7FF06A62A1C5FD3C6F4AD8195551F82D960062FF58B29E5
-ADE3A77BD9AD07A277DE8333DC431C18FB39FC035ACEA068170181DC571C374A
-69D5F07D0B64BFF4C3B79DE152A055A0EE5A18522D74E59FBF796017E9B4EC86
-6B108A9CA1386458B2B6AAB7909794942E70AE15D9543A87F2A8715A639BD2F8
-3EC20F8DCDD32D2228DB053BA5B1F54A733965332DF51F44C6B6291609E2CC46
-D80C8759EB5E1CE7FE3E945C2892FC1396AEA8BE5501AF3DEE22DAD887E7BB49
-2AC303D5A1009869E4ECC7F2C9B759BB1C2B441C866473C67B6F246E5E81EC55
-6C0E1E117440A4C71ED8F77FF9FE77601C8B1BD1331EC06157FBDC52DBC85A9A
-8B6F0A7D578DBA4923CABB923D6E87A6AFEEAD714AEB730930B1A08C3368CEC0
-6811253A57630C1B25C4148FDBEF94F6B5DF38EBB862651780AF468127EB084A
-914BE8CBD4E96557B2718F1F2623DA3DCC3391CC68D71CC1545F8D3082736969
-D8501656BA4A689D41D2310F4B7B36F271EF16927CC828C1A8B5467D26250BED
-A1C8A8BAE59B5C657BCDB7350D728B21DDF1E848D9482228CD120C85FC9ACDDB
-978AC509F933470EDB1A31CDA4850C368D8FF7C1669CC62C286979AE74F07FFB
-E2FDA0869C0D5884B9E48457EC19EE3E95B4DA9605D611DB1A5CDC2487A7CD0A
-7A0CCDB7BDF4B032B62E8551C4B948025F22404CCB18801CF9FDAE0C9C777B73
-A25008CF809712EBCBB770B250EA9347C864064AA88F942286FE1BD04E99A385
-B2DE0EFA3DC20FA84E15AF6B4CD6ACDAF67717827CAFB6BEC5C23552566C4B3E
-2DF783F09EE7E9872D1892ADC49BF9103E1B705EBCE07F7041BB29C0950CE6C1
-BC719ADAFAB7BA379DC44BF0EB42A306384BEE1C2266F509063A91F989AFF994
-DC94290DDCE511D731F2D1016D2076377CD41A44EBB569AE1E01D5B8253F58B6
-1D834CF2437B10CF22F9EE9BAC3C942D5565E8807C5C0005E9C764531DA374A0
-D3D6343FCAAC903C5F6845ABF15651D91EAF66463ED51E098BF31C911050A7EA
-826B8FCCA42C2664FD31F2D37A930F6BCCA2BBAEE925B232C005107628BCCC2F
-D8EC132E205A888D79ACC0BF5651EF2BC73003144DCA4D30F2E3FCD80B1A93F1
-D177C1F556BFB1A925F52E82B9E3CFFCA4C6683F5EA237AB81DF8C533DEB2EA6
-6263DF951938A62AF2B05BF8D1A5644DAE0125899B6438D5223944C9FCC8076A
-5CAB809BEC2EA32016FFF0A2D69EAA2F0E85ABA5116D3A18E6A2D01A1F525144
-94502CFF746D8CC1201EEEAEE04885C15D66F62E54ADEAA008C53F5550F76C94
-62BE7AC0BFD4DA723E8A6291B14E2CFF4F59965A39EA256726D296F1DA987995
-2E1BF72D17924B88BC285F1799C930FDE1C701ACF32E3EFAB5CBF14084DBEDBD
-FDE3711FF58C0B7DBDAAEACAE9869559767C4AD35820D2B2569E8A7E1884E363
-E597F6956A036C65BD1F36085743AAF8400F3028CE806F4BA722300DA8C16ED0
-2561339100E28E07F7F372FA9676047B471777292045AECB35471BFB02EE0754
-FD2B321388A7D1EBE5DBCF70E9A1F144C80BEC5FA78277C16A9073C6D83B19FC
-1B2817027169660B8BA2EB08445BE1C66EF2135E453F41FA094E6AB4D505187E
-C67821FA59C9322253100E4422D593627BEFC4C30296ABEACC704FCFEB7EA562
-12C4D93839F26DD0133DF5E839C8D32AC273B2923B29EDED7436FA9DE8F907FF
-B6C1A15248DA6548C53C2506CD9E99B627BED7C518988ADAEB7BDF5233DD9DC0
-F68608079220AC2BF3AC730605E782132640BF4C869A9983AA3861C474DF9F46
-5A0644313917D426B1408AB392199A758DB4A15FC2AA965BFB0854F4698E3347
-368E40396715620B5D7A21FFE9C7636DAAC7E4B0DD44D9D6EE6FFAE47B99661F
-7CD3601FCCCB4F0489996F6E1F510F79192F50CABB38C51A6A3F954C2748A0AD
-A69221E7ACAB681AC81AB52EC969D5B8DA96BD6B34145E52DFE419BA5A825561
-4D2B2D8B32376D17DE4AAFD72BB54955F68BA791E01957FFD02BEE0F4BEB00E9
-C829B6682E6B6F4454FD3B79C102C2CC60BB384878DA057CDD1493E0F8A5A15F
-8000295338DDCFFFBCFC44F27C2DFB07FD0ECB0018C192EFC34A6DC1F9176851
-3E0328B62E589154241721E0541962765F0190A9D17CF219F663125288AE196E
-CF6F784A7A635D8CFF6A76D0E11465EB8A63C2A4D4E9A5C283EDDAA489C7FBD2
-73CF2C91A0A1C33110F88D5B6D27A0B352A6B9E10EBEBDB3B826EEB50841554C
-8B69094C65555429252AF4D3B924CF411BEB9AEB235429DE4936E7798A8D610C
-377E294A19B1DBD9CDF8A63F6D7CDCE28B72DB4C7F0F6EA1F6DC8F4686B3F1E3
-B8C67AA7370D607DB6DD0263393E6486AC09CF6B489C45C9B2E8B2C72891D307
-488A58E440B956317C1D5FB8F98930AF076818780D25EA2C0D0819CD7E5CEB7C
-497981D54B1D8F8E62BB07B2F5242883CF314331A81BE11DB375B895212B5A83
-4E68377DC532DE6C9F639474F518B60CDB5CFB9CD3DD963BD720CDAABC82E7FD
-0D540442FA9763488B77A0592FEF7AFFBB40B80CD0F42CE73615D7190219ACB5
-1BDABAFD4E51DEB4AB0C296738AFCAD36E57ACA30CCDA22B79E67C3CD89AF603
-5EDAC77A324B6A0BB4C89B7BB17EF43A1BAACDCC8A3E626B8B11E8DE73BFFE07
-45210F8BE4E530623890F4039B65117F0523D9261988F1EDA864AEB2B37528C4
-D5C6A0BE0BBD170E505451C53B381FBD3ECB7A329F7E6501BEBDA228440CFE12
-768F5FC9DD948C6E92060B64465DF451ABA0BBEFA8D8C1CEC434AB82FA978967
-3A01813BBC9147105F2C49504CF9AA9CFCEE4A976DA3ADA0D6207DF43501E06F
-5226B6B90433790AB24009ED005F5CC228F05E221485E475389A253124A49074
-2C3983517CB731B50F2E4003B1E25F648794A9AD8E64BFEE2DA083B32EE2D0F9
-2CE8820EEBA9B91E7D1561D8B4FC45ED66C95D364524FE7CBCF7B16EE97DB739
-B9B45DDB8C45918B0664F6BE537AE14671D8AEC2F4807341ABBFEA7A1CD63CDC
-CFDCEED3DE1035AC803AF46305983BD156B089ADD0A81CD9988280A9E16BD900
-A65A332DE5F3A2E2433DB662255FD31580C88854E754817125B059F10000A1CE
-441E40ED502BA7F620E21F6FA85F011F281DB3CB63723A8A66C4F1288170351A
-042CEDD611AF550E235E9ED1BB2E878655D68BA7F7602E84237C52F99D95DBF9
-FF8F68E98C081209390368B65E4F94587F9E0DD527146A592D807DA4D377C0C9
-F2DBA29080842E6D3F7F34E11454BF54BD9F312308A73CBF464C0758E517DB00
-73F494D29CF03D40FB6842E2CA8C8E7309500F35F47DF50847CF47AE5FA60225
-F468DB13E79532AAA4272A45F1A55CBF7E0C01B7A54D5AD1186BD1D73E602162
-01E24798F5BFA86787A5DA2695E3354EB25B7DB726FAB3A17FA09A6B212F051F
-F6FB3215A24A05B3D3F4F93634B4FFF4960BE17644A981B9FE17B586F952E4C8
-7506F4F0590EC85128AFF5C7CEFFD6BCA39261E0C5275D8C8B03A5CB52C7D5CF
-B9183782E12AA1184373C41EF0E5E759EFF61EB627ABFCA8C90D2A1DAEDD7422
-1CFFDAE95479ED216468ADB29ECD32654FF799C1EB92C64A844A55BC52D513C4
-DB2794F2D436D4F9A224CB760781143C61A92161D563F0AFA6842D61E96D8FC4
-8353102B2520DD96B25E41F968CDE061E80BD0FA0820D7B98471FAB1889293E8
-5A0D903B6572B1163998B02432AE8D020304F200FE743B5AA6E0C0B7730CB260
-06B5EE9FCDF4A4BFF2C8E523703565EC7DD6CF077A0CF27A80C6ADF54148F28F
-2B774E35E1FEF541418F38DD2556FA01BC257076AA9872B6456C6F5C959BE404
-CB6673B29D63868CDBD199D643EEF0D59DB858FBFD759C812C7EEC46720217EC
-295543072288962D4063A1F08030BCC6EA1EFA3DA5FF240F216C90322D34FCBA
-9522FF5623A082B828AC9C2EA9666A1C0C33725502F86AEF34E884E17160291C
-8659DF678716331930EFAA7096AA26E6285BD4CA81B8890D48378B62867F7928
-3D78C20B5655BC15C81961A0238043EE85E09247E1847E4534F0ADAB4B51D39A
-99944191109D0FFD4809343E39FBE36B05B947C4EFF2CB26CAB8C540C7D215D4
-D3E4B0C116851A9B4858DBE7BF9E19975757A59AFD6DDE4285B546020123D0AA
-C03A073004396E54571D0DBB593DCE2E4C29A375B8001970CB88E500E6AC8628
-B0D0E414CDCD7F5AC164D1B03795442B7DEC0FEFE0318C327E766DB06B112BDB
-18B06908B760B4804A5F55881AEEBA79704454852D7EF4C75A58BE0F02CA46B2
-E4183D4326AE732D5105DBD50E55DE2BC2406B66589F711A7CCF4CBC3C95AE62
-BCBCA54F63440A6A2EF1F7897FFFA4D1D479769137E06EDA52707ED2536359DC
-D7A54EF6E1BF5FF917AC2E499AD9C4EA1B7D81D03C9F14AAA9D85E6951712E3D
-8E9CB2370FF6D068A9D80203247AE015E4E1C9A8C252DF6F287A1B2AE74607DC
-96A63A846C24F3465CDE3D7C54A11D35A15EB5BA9943AFDBF9414CF00CC1C3AC
-512787218DE526D4549F4506279CD297DBC84A5CCF67BC922C4F158810558805
-344A7F209E977E13E700387ABDEBD9C26155747A9679E5D0B15A8820FD1E97F4
-478DCEA900DAC3751439EB73DE0D0AF49F1AF0606511E3812D81AD585AA7EEAA
-13CD7EC33D9F6A90370D5198184F47B75E6F0DFE40F0AFD2BFDBE46B2F4AA233
-47622B9B863E728096BDC9559CF0FF5F1796C50258E75D90A4AFBAC4A17EB9C4
-466C58C9618BDA37967F172EF7DFA4614B41F05838AFC2E31DB21A8ABBB903E8
-7F5BCF4E4A1E0BB48BA96C999483054FAA7086EED4F329B15C73AF7A48B4E046
-54DBE0B7BDBB377D74CF97B8184B10D3EAE35665140702D3FDC76F25DDABA545
-54B2A10C965315DDC1F4BAF074984881FBF5EAA91355FAAB57CD2B35A009FAAF
-B509C32E0DE465688F55A4BD86295B4CF8DE632D1CF1ED8FC9A3B443BB11B2C4
-26D566465ADD22C061EABD8C48430BA23290DC8A22FE12A49EF82C560EC2790A
-9C87CA983B173A5CAF4B89EA9700A751546CEFAEA91F7FDD678CB77929DDD5B9
-4A405EC6BC3A4823915A3CC58400966A64B92D23DDF891EC8D0AAAF2A4AA6CC0
-0AC53F6FD876A44CC621307CB9F34F0380B991A55FFE1C9FA8775BB842B0C89F
-DAF0D32FE956947EBE97D5703582AAEF3D4DFA918F028636F80920DDE2D3FEBF
-ED998E530D59CC919A2DBF6DF91192097B160C6168310BCD1F8600C18B3DC46E
-A899979F762C1426ED046D94486A149B08B476A2A67DAFFE87C812CC84A5A7F2
-FFA96E4712592AE0F3AEF41983B19FEDAC029EB6E99D130856B2E7516F192783
-9A57B32A047C95CFDEEF612FB006C07E49AA0A9052232BE5CB243C8D9078B077
-0BD19CDB8AF2C7F56FDF7BD826E1D8ED52D7D994EAAE31661302651651EAAAED
-DB4C8E62F9793539BC54E33E682268A10190A1AD8C30359821A26C178E3EFE20
-8BB0F168DFBAADFD297737640B7CEE6BD6AD96AF38570490AD7C7479D2A42296
-9BE596CB48A0DDE1EDF46FCBEE7C62C3F2B3FC989371D057EFE951AFCCC84CD6
-BA834EEFD27B14F9BE22BE047892D9DB051A11756ECEBB27CB8F1A1C516F0B27
-EDE6A8FFC9645B383C6B9F2C5D1EF5C6B9D21450BB199F99B611A6124E1868CE
-7CAFA0A287ADFFD2C8F28A8E68DE6F77FAA0256F6D3432FC886BD17658F0C0C7
-26879EBDD3D021D6FD5C20DB7DE49CB11E85F727C6CFFD188563874473D3E90B
-6171BE1A410B74BEA342360C0C95D8963E03C1F1816CE5E75531FFD42D9EB334
-CC2118C94269E229AA825E1750DFC6CA12F62875E3CFA4883B28E307EDC2DE52
-10EC5F0C2CD03A0B796E34D71CE901438D59288ED1A4BF063B2BB042DD9A0863
-F356D1AE896CA6C9DE32D0717E880AAD1440E8E1C34E7BA81DD4C65290638369
-6E37E74BDA09AE2AB1FA8DE2CB27A88D43DCEF77DABE29526C006541EB2843BB
-E83ECED0E872136662D81295D55F860A6C2183DCEA90D9FE702F510C5B62BAD3
-8834110293318956D1724C07794A6F8D6A312118333B5DA3AE05DB7C773EE7AD
-EA36A38FC4EBB21CF46E16A33B76D50CA6789AC16117CB1254C1FDFE5F51662F
-E442D9C52AA971C031FE337741E63DA8C1D544E68F0F80CC6D2CF141EA89638F
-9D14F1A63DA1503AB23BF1D7B19E5E0E543660F3ABACBCF3D0FD3F288A8EB696
-B1EF39C30042BFC4A899E4B528B38E8EEF04DBDBF072C31FF0D7A4F8A406F6F9
-6D40D86C613305B82BC1BCE1D29152D63FF0277248E618C42AE5F35B02293F3A
-981ABB4CF0D5349944F5EA5AC9BE4D7F86E18AED6548B98AB6F63E046ED4D1A4
-98BD87B5CFC7C541E3DC974554EF88290E00FF088A42363A74B6B2B5CD073C72
-917AB7C15AC443337F5552C183AC8271D7584E952E3C83A2205AB00E16A974B7
-0D4B908402BC16FDE747592952B5D2105E223428F1DAF74C85879CF74CA6D181
-7722E820B30CE7FC492E67C3D29B22D998AEEADDD054674D71C98E720CFEDCFE
-165BD34889992AF05778FE73C99087C7CC6288847D879EC77C21C73E5AEC1D05
-08BCEB3689CC9D7E197F95087AF8B16DBFD1BDC1CD450948237C54C409A9FE85
-BF0385545954105364DF6AFE293C36E236616A981C2B1A2311F9338426256A69
-F7A896D9BA6530622D1191E82317DCAAD8622B51DA357014203665315E09406A
-691EE4D94B6D84589DD8D3A8B594455F66A74824F4739C5F5D8E956525CF9273
-05E3094E4CC0FE16FC5F0D68556CB0120AA431737837CF774B06BD17D6287781
-350DB06055A3BFA5E7A0253136CFC871A26F1477B3C6AC4D0C54DBB2D5BEFDE6
-A7E4914ED195CEBBFF8E1445C7EA36875770631D5E417E7CD6EAE8C1B13441EC
-F62CE056CFB2DC8368F4C0B2D65AFACD82E07324C3F8904CB71AF2E85CC98116
-9A7F9394ADAD6B8107D6358E7B465E454D058B78BE2A55D0B937561535265BB1
-4184F8D7723BC0F7CA7B5334009C7624D30E846B3DA4CC77CF54364B34B2F25E
-77664C76F12462C5B2D2EC2178BDAA2C35011DCA5E094DBEA5BFB8342BBD9677
-FF493BA9B30F2F8D1250D4B1D5B51BB6219C673FD0145DD86900398F796B8AE8
-5868D33B8E71ADB374DA3D312FAABE8B32276D537966758C57A18AD3A8890806
-1FAB4F9F6A5FC613EF38CE39A1567E520F779E98
+2E080C10DE923C195ED0A46BD535972F0A59D3977A0C4E4C413050044C486CCE
+9413D853E3FDF83C84B0A7E5FC5AA859BD382DC2D94780F2B9FACCDD437183AF
+E656EDA4147CB501BC39013529A953D6D78F640BD51EE6D1526D1D27F2538715
+2BFA7F33FC8CE7A1B811D7E4251EE8C0640097D655F9EBB15102F85DAFFAB797
+0E07D701E1BA93C6196EDE47DCF0491F102A3ADD983898E72900D1398033A2C1
+CB464B9EE9A47E7DE97F7D4ED4E99530C9A770F43EA6FFCBA27C41B4668C6047
+FD5DCECE8899E1603D3DEB282DFBEB30C8040E7EAAB83B8E78B2F7F61B7E8A77
+4C544F5ED83E5056EED08C1A29221D05A4949A0AD635D9C930F7FE8601D74FA5
+33B2F4FD4C29FAE4346FE914B123BA9CF5BA732FC430A128EDE270E3C60BD7AF
+CF54674799A0DC1C214E10BA5511B29813AF2E3768AE494D240EC647D9851CB2
+EC38976C6D8763F8C413B8CBFCF8EDD0FAE02F72C6366F5CEC2715BB7C90440F
+2D7BB30CD1F107CB2340075D2A0D9D4114D644A09003403685A7D466CF47362A
+B3187106FB1E2B32D7FE26F9231BE1AA87C8556A5421528BF5FC0478AC567DDF
+EC95E6151FB92C7986631F641E23CA968DBDDC42A5880B89CCC00F09B82ABF41
+F72B2F9F28806308176EA7081DAC3DE89BC389FBC54E60D2C6B666F18562BA0E
+32B5906EF1C2B6A31FE0946E648C73142ADB3136E7D2BE4BCC42E08DE3A5F02C
+4B8575B1A296F04735C0F30C32D3DB7423FBFE682109815234C88BE292C8F313
+F667207D842DE2052A8D3701AE71C44F6C4788AA08A967D66270C5EA7DDB61C7
+56D7BCBD106F1CF4EA7BC3A532CE23E29368899E7DE2175C4EB20802FAD3E840
+FD7B7B9956777195B646FCA2E5F4ABA05940E269858FDF5CBD236269C9FB0621
+C8224C63BC120EC8B8ECB643468C468CECAD06EA59C1CC6131F8091ECDD0D23A
+419DA3F684B229B64CADEF0AD3314C91186EC445B596FD398F41880FECC56453
+6459474EAD902F020B750E99DE425498DB3ABFCEF48305FF9B0C412ACE5363C2
+75EEA02FC8395179DF95E2A257E273F07CB0B899EC5E5AC093C9EEC345F6FA2E
+AF7A6FF8AC2786F25DFA834FDF023B1DA2C4301D807999010C5EFF3DEE1EEBD9
+F4D888F285847810A3DA48BE7B63D23D432231E1C3FD7D7F249A68DB43C0B439
+6EB0ACCE9083508830ED8BA1D9DC575938B07F07D9DAABA164281A09C7D00FDC
+78DB17CF89185DFF736892A6741CAF6B3864E92E7DE32A677E64B10C9765F925
+CFF01D76799957C8E2A4789CF754E9352C495EBFEB260E4D3EFCF34A3155D477
+6F5A6832806DA0C0822FF47333E70768F042C066169A5386A6186B9DA0B26AF5
+062724EBEC30B3806FD14D983D07638D443240C02763E7418E6C7B7B51BFBD01
+3B38B4B3D3F56208F2D415B238A84F15FA5132A15DDF46C30A6DF91EAC16D0B5
+709A0A977A5C084A5561EC4C0857AD3CF33C2404322DF4833E15554454AF5DD4
+506006CBFDBA1400774D838631E44C66F2627B2B111A54B2F6104970DAD85147
+C7C3689FFF400220A3D1F277EAF5449CB252D7C7F2000E21BE6B2C474BC1A8BB
+4D00B1CA9E24F436E8081AF770C33C74977F2FAECC0038CCD395A1D0D79D1F51
+33601062DB58EBB9FE4E3E3F76F3CB1D1E99B585ACB4B75F1FD88F0178820D52
+A125373C99C6D00102ADE81553299866E47D95059F3748EB6111CA12E7139DAF
+5FD95F8FBC290E854CCF7E79A53900B8C033F616FB4AB11DC63221EDAD9F2A21
+98E4122B49F67922AB97BF43967F559653380E2B0309F5955E472B3EE8BE1DB8
+FDB46FF53FCB47335AEA7769EA7493E6D67376B135554571B9529271EE6854D1
+CC626F0B187D10E1BAB1E6E1CE0D61CE8183BE05CAA441AFA6E3AFC11CE31C77
+28E8850C77D3824A8BBFD40482D6DABFFBBF1E0D432D556393547654AA7B1DB6
+7D9758C81D30C99B88827DB4403F5CAD0611CA264B62D602A3F023015C5936B5
+208CAE6992B62C335B9630ACC1F0FAF74B951208316E1E240EEE6F61D4AF206D
+AC8412CEDA3C72561CDD5DCEBA087EF78AFD9CD56FD3EDBE1BEAF36ED2F189DA
+ECCBDC23100483FED575AD1BF4FC265AF0541B5C227650B8D6AA69C6D7387354
+4B37454EA676E393F3B9B596D36C40B898574A38784FC08B50F7524FAFBB8BD8
+DC99CF99EF7D9A1A4B0C36BA8C1DD4E5F02E893F60528C7ACB66161C438C3840
+510F6BA9902A78CFE7BFAC6B08E77EC191744B749B6BF57E164DA6C2CF75B1FF
+182B4DA68EF380C8085E81231DD2F82BDDFB39C287A8DA0C32E5239C3DCAF6E2
+4C64B1695E29D0E483BE71B729C4F7D52A3607E1E68211B8D4A2C0647F130250
+BB8512A42F4CAFFB21D22214C075A111418E0EA21D21CB0BAC70BAFBA29F650C
+382099DE5C3AF930184C2C5A1D32C0129044B6B9D6A23E13EF0D0638393FCBEA
+59282B9F6D1FD4AAA8A71FB6FAAC53A01BF6E524EE2D1873F4E48B8A5A5DA7DA
+83C6BE31E149C8A215A9420A6F85ED242EE06CF9104F357695D6745C79777748
+6CC59158CD1F3844BEDA7C4F0AACDD8152A10249ACADCC3CB10E15CD3A99FBCD
+5B84048BA8FD09107E6342F080FB386E4D672D136A01F38F6105EB24844DA714
+C711AE067C8AB607292721E42A892C085D2F9EFE523A968220BE89DEAD6E5F59
+4A76B7C54F5A14E9246795DCFBA4442991C2BAE31DB3DF704030D7C8B1455D42
+2A8E91AD876822BE69A5C52C57638E3359DEEF6EB6A137AEA3E3B3C905D9A36C
+4F2459FA6D05DAAF9897EBA6E24E09761B3B6AC4A839BCB8D60BE3AA1FB841F3
+95542EC017B6F8BABF41D335A7533763B3D6108A61021B62128E188662EF47B7
+56DD9287C56C84B68B71DE542C1F7141ED9DD45E31AAE10B3844B8C7EC7066E6
+12A680347C29C6FE38D776404F053444A027472B527B702931E49040D4D6D012
+19F32D746D340BB08DB1A96AE5E00992FE57658E2DFD523951D1C3E966259F84
+B7E8DED388AF61F3991F6F235128D52E57BC6296594F40195C2806B08C35DD6E
+EE001431E6F0561EFEB22A64020E8D4F5919329BB90DFB14818B234F872E1A45
+5941B7629DBE526257452057B37E80720EE26883A58904ADADEEC579C56196DA
+150270C7B2B4097957F62B3EA5FBB0C53F7DDE49619AC6B51FA4E7077B51F2ED
+0F0211876E920FB01A5DDB39E39CC7D776BF73BCB56FBBF196DBF104AFD0CBC7
+33CD3A429910620B8C5A18075AD95273376C501915280F359478DE34831323D6
+18E88287BB0A8CECBD009285E946D9A12BBA08B0D034EDEEC7EAFD2149671F0C
+627A14CE9FD593F05D4EBBDB90C4658FCEB27CB2D1800039AC43A2315498F6A4
+5D0FB6B9D0120B0000B4F952174A4C670929B107BAD1822B1FB20A2670D1B7F6
+1AF28D03BC79E12AE76E668B73B8ED3B76BBF4C11B406C1D747011A279B2CF6A
+22F5BDE36D9592E97DD8FBC5668BD7230C540EA831920E52BB37B5C3145A8252
+74AE2F73F95B998D53561F43F8F3B7F040BC83C17C256F14996C801BDE9F8EB6
+E3177E0AC77C07327E9B012CF18B51425AB3277989A26F3EB48E220D578589E7
+6F64502CC36C6DB6745E74B669D4EF8F4FCD66DB1BA54E4FE9E54FBD0072834A
+B8C7955EDD7A1D348DC3238D74131F757D66E7B72B42809BCD4C84B11FA44FA3
+65807B693C91AA1740AF13622FAA93EDD408D8B239C008EF0615335257E6497E
+54978A2642509E3CF4F4A3F3353A754838A07394E6FAA2B0DDD242EE3914AE5D
+4AC531050608122D1D6332F25C134E21B3403869901403B8C41754F7CF880AF4
+B558A08B3234EED71B342C10BC4274FFA6039374221BB74DEC6D2706D90C5D79
+441D2BCB6428FD1959A1E65CDE84DEC6B9990F1AC2B45353ECA9F823F3862FD0
+48A2A32302E4383606E74238FE3A582168D2FA368DEF13D177DF91BACDDFF75D
+218655B94A5BAA7B030CB5BA47A81958CDDA2C5B5D57E4E71066541C1683D6EC
+25106B4F696B2D693B7AC938AD789FF01451908D4D7089BA14D625B05450C34E
+AFC034AABDC5610E013877541880A1BB4EFD6627709523C1DA3634D895F0EB4C
+A3DB02E2491FDC3278717DD0FA4EC40A6CBB006384D19C06F1161900566960E3
+FEAF84B19AF54741154A37D4EB1E6B202D40E4D0B6434478BDF8DC7C9554049D
+8084494FEEF9EF1C92116256636186C3257421927A9DB942E51A2481D8B6C3E0
+34312E666B383E8C0D35166FECADCF1AA07D65DA544FEBF351C2E8E819B877C7
+D139385BAA1F76ACF829A41AA1C3FD6676B0953488F7835FF73AC66CD4ACE688
+959D423DD070655775366E741A21DE6641733D2942F0DB4BDAFF00F85CCB37F0
+89AB4A273E5E2B96B83AB8BE9E04C4AFCCF8F0F6699538D7C2C551273397D2C9
+A58463D0F9E4BB94AFD507E8801C69D01D48C86A30DC18F2E1B614A5481D8F23
+D02084B73FD22064F9942A104CE03F41C8B34BFEEED4C591A154313EAA6FC368
+49077E303C98E5DF6EE4FEBBA876191DCDE84A27ADD72556D744F2822025F3DD
+9694F351A129D36FF21C20ACFA3A0ADD313B0CEB2B8CFA6DB128A3AFFB8EB0C4
+E373B9393BC81A6D177299AD3DBCD91C637D5CC51FE04B53891D49342AE86FBA
+16EBF633630B239103DF5C753CA5798544278BFC0FB137D1C11F98EDC0A5D115
+DB94C7719D907CE2A3EF36BB8E083C673CA62252F351D695074168C2EC01DFC3
+8AF0B1579C19EB080BE01E0D6AE7067492F34032383AB641770F0263A5DFAC9F
+C3DA5707733550311FE81B71EB2BDEA862CD0E41874675DD88574234A4386885
+1DF570133C6A7AF55D21DD6F84C0380691AF04C5B0999B432BB6C12ABD56945A
+F7F02D5A4FDB33FF2BB44A83EA48614ECAA244B7E707B8E1F760B616725FF551
+06C32BB2CDEE8C55FDCB902FF73D430869357E2EFA297CBB1E8657B0615DA869
+E3920B0718716A5A0F6F9DDC1CAA43C2DE4168A6B1986DE17B5130E06DD47FA0
+8A8C09085CA206AD60924BC395E9977166D627AB81991E5E723738AEF655F074
+92788747A8F9EFFDCA325742215DAA349603E397106118957B77591DEB8195DD
+2EB9C7817B497C7FF69DCFD09A490D17E4A0018E5556711FFAD7764C7860E82E
+87A7C3A8E0D91B65688BC38D48896F02C6F4209105153FB64292333263036A19
+96CD95686B7D83AEB4081656B6137588980AAAA456434D470B373E16F1067A55
+EB87E80A8FB8C6154D0729F9678985D83B847A4C45B02CCDE60E636B43EEB342
+732A4D94A0D3DFB425B512481AA460885864FE24D3CA04FA954CE5A84D619CCE
+B759E61E713576AD11915CEA3B745E311BBC60121939637691047FF10572485A
+EA20784A711E41C003F74FBAF1BAF0B2E941FF6DB1EFFA31586115B5934D44B2
+416CDE68A7682F530D5547408A3BF3FFBDF7A3BE253E4F8ED5C4813771426704
+BAB27000C69B16194BE4E837E2350C796A97FD509C7C3AB67F9BCB52BD3D2788
+2D73FD188B3C86E082ABD7C61066D9A225743240EC4B44A2467F9ACD0700446A
+ABCC0E80D437EE4C2FC466CE188B51139DB3D66637CC47CCA54E1D6016EA692E
+7F0F55B93E5E5D92830067D63F7CBA863D84168ABFA4F4DA559273E5B4D65D86
+D59AB6B80CEB2498BB707F87E6233C4C25E9BA0E54EFD631DB3695E6A163C207
+0E591A414690FDAFEA5C418CB870D9C09B7E2BF06EC37A4C8BBBE48804E106EA
+52342FEA2252D602579CEBE2DB9D8B3BA7CB69DB6BA92A857B7E0829315FD0E4
+4DB1BE824BB1B40928EB00AFC9845EC05CC5DCA3619D0B7725C6CEC699B7E15C
+D254FCB5C640DA8C7ED7E7DF4DE1AB47ABF553EFD070740917C54D1065936823
+72692E64ED02C4D452A63E84CCDE33363EA202E1A1C0060DCBD932A4E3E3D2BB
+3022F6D55C42ED8752F5C6F4F05ACCFE9F221AB8361EE3EF2BD47FC27F7B9CCD
+9E462C7B9F805F601BDFE0B65FCA72FA984763A746CF177B5B8CBE8A7DAEBDF9
+B7529A8ECBF02D4FC6BA6A225228595AA64012B4EFD2BC37FD361AD6AEF87CE5
+204A040CC5C7378404480A8B193CCAA64FF0CB0202D7933703F79A7B316D106B
+E3E519C26515CDDF1B4EEAA59B2988338AADE66AFB64AA867FF186EA6EEF8CBB
+BE3125DE32ECF8887DFC5122836458F9FFAA60E47BFE75EE1F96BB45DF64FA5B
+AC82F7BA6E4E277C0561A46122FB84281E4237EC22AC533D94DAD25943245BDB
+6B8753C7D5CD519DDD5ED468CD7D47A274076766CE4D5C82DFEED8902CE5BA4F
+F3F0FBEE15C8D4DF4113E61D7CA67DAFF773F56B1F62C559689A6E08D34869F6
+AB3378D59B68111869E0EF84CD22D9959F9B1E845A4516AF44A6ABFA9D4D9080
+4CC7EF9F4D5E3BDFF8F139511A21B159C68BC8D22F36C497BA0E10834D026317
+445C0E8E5A7E26EC6C32E06FCDE6B126AC633CE2A77D404CB6E506AC7779F58C
+55493A8E53763AA4867BD1FCA44617262BFDD69D33E34C446BEB2E1F69D7DBC6
+D6694678FAD7C16ECBBB6F9ABBB3F0498E858A2104D662122C2F869A374BB320
+F6A5F76517C1A01B38522F3A893AF059328D3621EB15D8B5E0D09932730B7905
+84B0670D6F0FAE73197103855B1D84858955C5F2A30FE21AA7A48E0EAF4450F4
+DC82EC46E1E21D37A1CC1F5350B87DE898E2EAC235526E37DFB23107F5A472FB
+B209C3C778C7BB9030AB6D727DA8683FB0AC6B27AFF4E5579B84780DC739F516
+E82B4F76B8E3231EA674CFD5831EFCD3DD01326CEC8FC4E96EB90E257366A990
+BB6FA22974A043BC8D74309FA947442AE981C7E481643EAE5408651234FA35C3
+8BB5847E670BBE60C7414A475ADB7713818C696E3C22EA97B59C3D645C1495D0
+BDC2CA2F47076EE9A9BA90913F4859C589BEA4CB7EF073C92E713972FF83E59D
+B0BC0F31EEB3F821000D850F45A52B7397E56E770AB3186915335573B369FE35
+E77607E2376B70FE624462C3318CE80A2A8D24C3225B2599CB231023391826CA
+92B36A7260878F712F8AD740A846B13B1BE0B75FD42178BF7E7457E1846249C2
+FE9A088C46476B053872276E3D943B33744FB1F8108C3C52BE089CCE9C96E9CA
+1E3718E60DF2B532EEB252779630A3881A11077A3C973F51BAFB5C4AFEC0DDDB
+5F5494015F4FC40B3AFB6FF5D94EC38E5B251E679BE7A19979763E51257B01F2
+49855FE10DEF43497B5134DDAE50E475709BC7EF68C41B7E3A739FC8F36005C3
+B667F35665CD1A533665BA6BD5B226F2F0F598797C62126C17221D419CFECD5C
+45920125FC020E5917A3AD2939A04B1A1D63DC12B9175F5CBD6A7F3A4AD540A2
+5C26F0A765C9C14B593188A322CD2FA596A6711F1CC149D18F325003CC89CFAB
+6044C7A78E9FF3FE466E0CF06F4F9E6BBEAF7B7CC73651C9A164F910387B05E4
+01C8A5633262102FA0A2CBD6BFB4E0D9D350F028FCF76B5B0EF39B463D2018A6
+E17AE4243C2C20F9E11740C8AFF1967309677B67D164722C453FEBABAD902463
+BF0C83CC5E526182D06069EA75EDC04FF496467B3DB38233F8E93991F3911813
+21B25D088C3DB23EABAB80109EE9695BDA3A73F9E4C9EEDBBFACCD51A5DD0497
+8480CD1FAED27675E723A5CD7BBB7CC07CB2AF5C21AC710D8324CA246957D60E
+992F71B483E0ECAC195A92B2AAF2B9927B85C349918E31891CCAAE3A0329805C
+D356F7A72B371D8A17D99F81015CA343DF71DC73E2F0F7A75CB8394555FD2D33
+D61E51590F6A6F6C7B27F11ED4559EB5E09F4622F45F17797B635672D3C33344
+FA01CA74463A66F8992C2C4594C5CA1F5DC886F9FCACEA317944B10BC50105AF
+9CAF8919A79690E2E5F2FD4563E194B50529A4E0FFD0EA3F1DF143C24B0F07F1
+2639371E56442F5BB21A1B1946A25C0FDFE4E3341A079750E4F657588D76535F
+3EA01FEC868C7C9076A58D2A2A983EA98B31D13A4A865B55BB81E98353751C99
+823E7D1C8858551CE36727C3F77E7E80CCEDC75353B6AD07BB08A66622E0C2ED
+D119651D0AB854DB4549270D07D99C34225A0FCB486CC3D44AE2C2F0032DC40E
+85C84FD28D24D8C8FB53C384A01BE53DA8AEFAE899D70C28AA35751E51E2C151
+A8886D8FB97AD3C96709C542ABB1E0594879E9CBBC2549E41EBD31C34A21B7FD
+FE2F726AAD15A88F418F30E7A481D34D670BE7439ECE97947C4A4C7A51816371
+9B09C3CDFC35633F531469F236E41168DB7DC9B306B219DE0D8F0D3944977805
+28E8CA3BB2F0574FFE47A4D6DE9F27226B0B9083C1300810BE7D483D0BA83F9B
+428F8BE111BC12069A7450AF23F4BEAB879AC100E13C6BCF4A895FAA7FC77243
+AD12D17505B9ED083E674B42F7E03BAA3148DA170F79CC5FC3276972CB82A560
+E3A7B0653A5D7D202B2F94A81269CE90055FC49B17E5090E9E3F0CD7A640D041
+E32CBE240F8A934329C8C4F5CD574C0BC7F35500DB71D00C1ACDEB9A457ABC15
+8F2A2C13D3DB95C4FFE81156E6680D132E86CA19DBFB5987308C560713631A56
+EAD7EC0F48B6F7D875BF434345CED4D4DC52A344847F2C01399B2233AB12943E
+AFB20762A76E247D1AE4AFB7379CB35A87CB224312752B9E54FDBF94D968055F
+904EE9E09149E023A0526F3E2762BC45DBCA8A3DA7CF45A2B2E2DA538FEBDAD2
+ED1300BB10D66837197FFC5199013DC08E0A2EB1E4DD99BAF069A4984B50E230
+B044D2AA006D47C33033D475FE3B71CECACAC1F06BE3A5A1883EDC80EEAD8C1B
+0FF1EFCB7994B26BB145CC46AF83018C851C24C2DC620E2095E2D78092722B84
+9F97323B7B43062B34F830FF76D174510E5B4158164321B4999419AF90417B24
+84D8EEF1E74FC628BE4BEC9484DC36CEBD46A598716D84EBED293D6553CC08AA
+CA7968FE773C947CC637F00E387EFB92CCAC9023D4328F5DA01C8E511D9D0BFA
+BC05EC0D0D1D7D75BE1D5FC75C8365AAC2166AB94CB7F3C1E2AE75CC9D58EAB0
+0D7B4C93A2BCF4755BE4941B38248735E5D2BCC892D8C5D865B76EAF6F19446F
+7CCC88A03838E9EC76D191FB310A8D12DA40A7C4F90CD1421844D175A538F05D
+FCD12D7EB66BCC3D09A15929BA54C9745A6B5AB2F061AD6E5A9AD3572076F685
+BCC1ABE3F33BDEB0836CFF53A4537D1F3B2360543DB62ED79E6BE3295343E288
+A1A1F4B1E330378D7F6B1DE37A19B86450AC042E35C4C3F73CE2BB39D5B17D78
+9531F86E3F3AC4C5DFF52372A62D15F8D6948FB501B14D8FFA1B88C1E0ACEFBA
+FD54D0140D18CBFB64F0D7F386D998E8B2429C4147426AD3DA1207312F63350E
+DA71FD8259B7CCACFCF6820BE006429593812249F9933375B4C23D25379E98F0
+C630AD5E7D79DE51EC0CB22D3C16C6CB12165A31EE96068C8F6C115504190287
+B603B79AC80097D238063F03669E2CF681FF9CF4F2C9B2DEA9F2CC5ABFFF360C
+03667A82F35CC157FE938B3690CB5514595B0508D0715CD84CF2BADB0F279719
+2E6985BF4FB70EADECD04F6396856871479695CEA10FE29DA5CDE4EAF8FE4841
+B4A45391DAF6EACC8285622201A2C1167106BC7DBAC1FF000EAC3A3A079B6437
+45BD67EF3FE855F67183193A62517F1E7BABF521A6B8085F2AFAB4E88606C12E
+0A0F4386CE1ADB8E7734C4C43EEC3338C979A101921248D46E2A29191F693B4B
+6740046F888670E675ED4A0388094B9365198670779A943B7D8F6D1A56BE59C0
+408269D89B1068A4C9D937D3A62960582BD1EBD978FC7A7C162FD1AEA7BC9A26
+4D11EB2F9C835FDE925CDC7BF25D2793C51305AAE6697FD11E54AD923279FEFA
+8B5F2F0A53E5081BAD5093C43DF6E7C0B9EC440554908C697EEC94C869206216
+DFD2653357FA18CBDB7CEA420E71D182D29D8DC90A8AD3278327F2B94309B946
+26AB2F5FE928EE5B8A1641ED6624F499E50FF7473E73684DDF706752D71B89AE
+BD50660753D613E9252CC0A57DCF22CE81A024201CEDA0345FF404DA617C01DF
+C37EA27377402ED00DE151D4C92C4407C5F51371B4EE97AF194E22A0A1832836
+930DFB873BD4EF21ADEFC1ABE9AC6F42383E5CA50DFE7505BC0A39A3060F06FD
+11A1AD8F87BB43E9B6C92B80CC84905F74956D14FCAE6ECDDA50C123C9BA54A9
+EC5A6F0BF62717EAAF57624EBBCBDF78C52AD2158FDE9DEE4A053218199E33D2
+A50B8028B71436232B485152A3AAB996F7F5064B3A469F9BFE5CE64C117C55FC
+463ABD81E836AA2D6A075C68B22DE29C3207188865189299878F51B103C113DF
+D8683686C688C07485D35424290EE1A4B4A3E0AEFEEF2567FABD7742CDF56ECB
+C7DC5BF933BE0C8F5C651D0B981184BFE2347B165AE78B7A955870747A2DAB79
+A2C8B2324D3C3B7D17B9C9726915C269BA8EBA203B8CFAB7363976EEB11C9557
+A4735CB85F0071DCFFB5D33248BB0871A3CB6C93AB11714490EE2ADF52767641
+7C8813E266D847E5119CAC2642C7DEC08D69214F6BAD0A09D60FDE51CA5FB1BD
+32065566DD58EA925A1D483BD49B98C41BF3C83937502B5CAA88EE4CDE26A71A
+E06924D483AC641102B5274BD9408529F06D26D6E92E013E0FADAEDA5241AE6C
+4DDD9B09BDEC11528638EB209F6BF672A3A758B149FA01B9354EAB7CC929C63B
+DE3288CAD5F5F519277D08A445684F24E02CA5F55DC4B1C51A18B19E92D296CD
+2520C90EA184003AEB0F7F58A1CB91743FE21F0CEC329EECE33223D2161857FA
+CFD9884BC6062A7E23D5097875C4B6798DB860CC5E130E73F429581E0E61F3B8
+AD55D1ABC87A7C5A50C886662E853EF1BC1E064C98E47DCCB2F22D1CC92AE0B2
+50185C8D47899F3B1838DC7FB5F36BF96C444D839AADC2C1CBDB9241F63F3CF8
+C6C9A1BAD47F96DE7E2DFEDBEB9FC1A6DA2DA19B7E3E2ED2997CFC692B6D01EF
+171CD1C8C31FDF4BDC65CF97921835D8BE609919188E1DF7DAAF4555C7A8D194
+C2E2DE8C2A0A761175E662F72B7900EB9781E6409A0D09C147BF466EF1DF63BC
+63678E0BFBA4DB9CB1359C45A3E63461C1BF172CC3FA73CAD1E52761F8D3147B
+837FE977297A1BFD9AF746F0715BCD871A650A86EC08519B5D8756C61B862D70
+6D88BC8612BF0D345BD289C36AFB052975BF89CEEDD500F2C255285B00F1CC02
+24CF56E61F1BB2699223904C1A4D2218D761152B0E9534C07C7B5DFA43FCA1DD
+28ED4A26230A871C20CE2342722AB953209D5BB33233B4ABDAFDAEEB8A97AC66
+D434C12BB9EBE2F418C064986ABF698353E163D03292C1EA226C28D6167F5A3E
+4928F168B2597D93D5989EAB63965527FE66429472B1E7A89A9DF4A7588D37CA
+BC28DAAAA3B452B10E4DE58E399F8E68A9B057E7F763679C6DE81C2A6B7F59A0
+BF7278D240E5094662BC9E9AE7E334CAFF807F4394FA8E29BDBF1A0D2384DC2B
+11A60A02302798AF0DD23C2243BAEC6750CCA69C807808A663C94F97984D075E
+B9D42F4954AEA82918281F523A50F3ACDE20E560DE70D971AECD6ED088F0434A
+F85AF01506BFFC9585CBA222290D63602CE304F354D2A386B365FE01FB0BA169
+00A596A1B199B2BA185CF6DAD30B34FC9CB22C722C2281B9CE6F85F226A0094D
+977063250701BB12689745A35D20C44EC045A38D0C30E41DB8525C3DC8C096BF
+354B99A87C54DC83193C79B22DAC491560B448B544117D4C53C8D3F7FB598C8C
+B924E8E75B5DB927135B4B6FF41158F530D66BE87B5E0BD81B87792FDDCEE217
+F9BADE8A11A6354E6FB58CA4BDD767E7E029CAA53632C2E1CE1E03BFD5C34EA5
+4098DB2C9C402B5CE5B47186D547A46749D9472A03366C4F92AA062CC17E1AC9
+98072D2984D621026395552ADDAC48ADFB4DD8D0677B5FAE6EB129E33B965503
+B34BE6C680BB9847C137E2C681F0BA6C6BF3DEEC36265CA2D0AD24BC5AE078D8
+B4B7D6C516A53CBC845320B795F2B47FEE6EEA8AE5C6D2F9F4B8594EFEFFD89B
+EC8AB1927E7A34E06E7B4491EA87D81814B1698E1498443F9A595A784FEB11C3
+232FEA187C304C3AD9D87818748196877A2FCE7F83BBAB8614EB00E82C27A17F
+6BD0C2AD22D0C785184BD936EF665FBD458E012FBA99DC68BE8A45357957DA95
+36232B4CDF8B90C9D107F04F2F40E9A5FB8422303A4213B9E1FD0D9083CE2F72
+9C5F18DAD836AD024FD720B0CCF936B4E197477128C2741112B2A35F874C053D
+B6202563CF51BA639EAAA97F11458F733CAAC20CB9F988A520A2D1F584C477B5
+7DCB0E8BB882F83714C864463773FB7E93977607527CAACD006B4329C2D2A597
+D6F45D42CDB2D5996EFAAFF4E9590CC2EEB3C9F578C12FD42570CFE71BBEB9FA
+9DBD53719F2E3644992F5E0F313684E4FA2BE20BF9273A1538AAD8741655AB51
+874ADA4D5EE7E95124D64B6C049BE33EB7FD055F367C399A06BBAA84B8ADEF76
+02808EF0D6D35B87961E7278B83F3B7FA44B6349942A25E97317BE50590831CD
+4528E1F1AF08E931A53019823257F08DA49C8E98FA409A2F54723DC27D187081
+00D7717EC15A6903ED971C04C84751B518489AB644858E3F6F61BA811E63BA44
+B9E83C8B64131597CE9FA21763A97BD47307FF53FE0EF491029E9A8023CF8631
+22341F279D417B8ADF7F623F6FF39C40AD47EAFCA519D35123758FAA0682E562
+584762703E939731998B09C8123D25AEB2CF12B4BA1D80FB31535E0FD28C7638
+347AC6F5FD305614140B1B0030DD6320C820A705D5554005AACFF83977C682C7
+C8DD32E4EF8638D73AA0DD762513400469C6EECC272D754645DDDFF6F4B684CB
+7C464ADE9073AC228A6870F982406AB8F898779BE6410989E6D8BD65AEC6B1CF
+1646AAE7AC841CE492FAA534AF99CE2B36EE9B734B523A99FC6A7E573D5A2253
+172512C8B0A53F32EF816154A4B1D4E411B2B897BB26433E1BB825A4BCF4735E
+FEBB698E31F74F7B5268EE45C19C32149C1BD637DFF0C04CF72CC39A83D96657
+7001C3B733DE2088CDDDBDBEBCAC832BD7497DA8F13195EBB108D4515A12B8BF
+2A526798E3A9EE43B0F659983180129F3C7011E84F4599A135BC51C56A5F2DA9
+81632E79D08BF27ABEA6406602B6CC385B9895A6C7197A7C695C0709F1F91ADE
+B82E71C2793751ECCEE5CFE0E9A468B1D5344C1CEB864F6CF55BEEAED0747385
+9421098CCE4A978BF41C629001F123D6081AC5B35EC12959C292B36059C2929C
+DF1F0BBC80901F5AF26CBD081BB3C9A264A2ABCA85B94CAC0C2DAB764AD9F241
+50618407D7B55A01C21654E9A14AD34943A61E3F157DB0A04494D5DB815771EE
+A4A83E7D535EA63283FFC62385186AC7F8DDEB65BA599928F8D30965914D67EE
+43FC6FB596103FBBF7B2B6B595B2D5FC90230176EAABEE836348CC935137CB3F
+6727B74180911BBB3CA75FB012DC29164CDD044F46087E2A8425B8AF7B7A290F
+748C7CDF19F744D5D8550498A15C7E0BDF9F88A1A80E206E36C41E61436D82EA
+57F83E3CEBCECAEF1E3CCE2031A1CE4583CBCD75115B6BAF70C1E7ABA5726840
+4F1C2B8BDCCAC6E0381F06E0DB7F3154B00819AE442D60F0C8B3C8E5F7B728FB
+56EBE198A85757182E15CECF7FC1CF3FF6C9A6AF066C3F44C38F21E560538EE8
+FEB95DC9FDDC47FF8080BB22FCDDE817D0DFAA5B1FCCFFFCDBB5B9698BF45643
+1FB416132BC88729704F11C43D841A7321E4D61A1C8F3FD37E3DDD8570203ED9
+3714A1279B0D33B4A24006FB69D67CF28CEC2A13E16B0F130F64D7EF74A33128
+C4E15469BC3843E2AFF5EEF4B852E171F1B837E2F54D8106CA13F41D94FC1634
+8F9D16C0BEE0341DDDDA6C55BE0D11A3FCE199B01C0998615DE496BF9CF2FD7B
+979021960D99369661281A5D4C257390A843B1628CA65941E6F9D17EB82566C1
+F6B6846C83F450ABE8849D217A5537A93AB4791A1BDE08DFAEC3FB9EC6056B28
+B8371ED1927801423AB61E34220597E5C4075D0658467475818692577A2DADC8
+C277FBAFB27689AAAB745390D36FDD03E0EC2063290B018D1B27601E24F65899
+1D5C703014DDC3F8151AAFEE14D3692BD5651E56F9F3500B45967261B90A59FE
+8E898487381A649E8B7249ABA1158D3241C4B56FDDBC669DCE76FD8FDEC1296D
+D48446CEFF37922A87C9C683AAD5E8F48C88D1E7FF2599ED2DD1E49B7DB67BB5
+7EFDD974637C234C7ABCDEEEBC71865F99CA7962F95360A314DC0AE8838011B2
+B571D4961B18A86E147913EABCEC3F4A4D3D00FBF34704BF0A52B596DCA2B605
+592C8F16DB05EC05A8114A469C7DB1CFF68817882A530575886DBA2B6B9A1981
+5751730CE464DB21161A7EA2755A514842847DDB13554BE5BC335321502D1C39
+5C65C5944DAA77121448218E155D33F0A5FBCCCFBC03488912DA083FBCFBEF38
+E581E35063AEA56824ED50DB8A84B008B99D7959555B60767E26F7C60179BE8A
+1C7994A22A588F774E7ECCFD02E29114F4A1C6A20EF14797942FA2F802770ABB
+8EA168A756894166C810C60A1EC664AE3EDDA9BBFE193B8F3BDDE317C9A73C42
+0656ACFFBA1A9E360B8CB4091C75CFE49B2A1EAB27B339E2EC63F95A115650F3
+2E7E141FC6BEC6416B92F83BADCDBC47666E746B97C2B19ABAC88DDE721632AC
+9E50C6F4FCFA02011C82F239C91EA4F0059CE4665273C10A304CE2AF214FD4EB
+F272A94CEAEF853FCD1A71F02B142B083207D25638D07F8F8A24F199696E596E
+C9656904FC291A0A2DE8073F88964BDB4994F2E899CDBA2C73DA301452A9D685
+905B65E14F7C8A6C54A3C9BBE24CB68C9FC84CB8BF1E84633DAA268508DD647B
+BF4F940630DC115702C687490823565CDAC789864F674E1654278AAD9650B5B7
+B56E6D89A04580D5BF9CFCBD0D3661393AD39C789642B34DC2B03C5C53E7A310
+977B4EFA9C941F8AA34E09BE2A49E085FD3DAE2CB3BF616C5FCCEEA2F944DC17
+EAD50FA1A45D60F677108501E9C8ED8E8FB6282E94571B33A8D918B4F975F110
+A385A04B2F6115682A65B91E28C0EECF02FBB2B463DBB619300DB1E71959E9DA
+4E8622EF833C9EB22251003FD77E3C5C98E300F0C0461501B00B4738FC588841
+1B15BC33B20A10D68ED1CCD479926070919F75222AE9855295E8BFE9B0DE9D9E
+F5A98AA12E11EE8D73566D60017B4E35C11AB03117B88D2F5791FBA26223D1DC
+D8F68A711B1B8702D74829628A3A8EC7145183F20BB83CC36FBD8304FAA75694
+367DA074B2E80010121C7CFF84002A4BC1150191EDA447166DC02F3B28C67225
+FA4A27141215AA916A755D78A64D5D4F06B32DE33782C175D5EEC5511EBFADB2
+F3
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -4284,28 +4288,28 @@ rf /Fn 197[33 58[{}1 119.552 /CMMI12 rf /Fo 134[85 85
 81 81 81 35[90 94 11[{}52 143.462 /CMBX12 rf /Fp 200[0
 21[91 17[45 1[91 12[71{}5 90.9091 /CMSY10 rf /Fq 134[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 8[68 93 1[68 66 51 67 1[62 71 68 83
-57 71 1[33 68 71 59 62 69 66 64 68 13[45 45 45 3[30 30[76
-1[51 53 11[{}53 90.9091 /CMSL10 rf /Fr 134[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 45 37
-1[67 5[67 112 1[41 20[75 78 11[{}73 119.552 /CMBX12 rf
-/Fs 129[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
+28 40 51 40 51 45 5[25 2[68 93 1[68 66 51 67 1[62 71
+68 83 57 71 1[33 68 71 59 62 69 66 64 68 13[45 45 45
+3[30 30[76 1[51 53 11[{}54 90.9091 /CMSL10 rf /Fr 134[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 45 37 1[67 5[67 112 1[41 20[75 78 11[{}73 119.552
+/CMBX12 rf /Fs 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 1[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 33[{}93 90.9091 /CMTT10 rf /Ft 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 1[43 1[71 1[25 25 45 45 45 45 45 45 45 45
-45 45 45 25 30 25 2[35 35 25 71 76 45 1[45 25 18[76 51
-51 53 11[{}88 90.9091 /CMR10 rf /Fu 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 48 48 48 48 48 48 33[{}93 90.9091 /CMTT10
+rf /Ft 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 1[43 1[71 1[25 25 45 45 45
+45 45 45 45 45 45 45 45 25 30 25 2[35 35 25 71 76 45
+1[45 25 18[76 51 51 53 11[{}88 90.9091 /CMR10 rf /Fu
+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
@@ -4319,29 +4323,30 @@ letter
 TeXDict begin 1 0 bop 150 1318 a Fu(Bash)64 b(Reference)j(Man)-5
 b(ual)p 150 1385 3600 34 v 2361 1481 a Ft(Reference)31
 b(Do)s(cumen)m(tation)i(for)d(Bash)2428 1589 y(Edition)h(4.2,)g(for)f
-Fs(Bash)g Ft(V)-8 b(ersion)31 b(4.2.)3367 1697 y(July)f(2011)150
-4935 y Fr(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
+Fs(Bash)g Ft(V)-8 b(ersion)31 b(4.2.)3118 1697 y(Septem)m(b)s(er)f
+(2011)150 4935 y Fr(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11
+b(estern)46 b(Reserv)l(e)g(Univ)l(ersit)l(y)150 5068
+y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)-11
 b(oundation)p 150 5141 3600 17 v eop end
 %%Page: 2 2
 TeXDict begin 2 1 bop 150 2889 a Ft(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 2999 y(4.2,)c(7)e(July)g
-(2011\).)150 3133 y(This)38 b(is)h(Edition)g(4.2,)j(last)d(up)s(dated)f
-(7)h(July)f(2011,)43 b(of)c Fq(The)f(GNU)i(Bash)f(Reference)g(Man)m
-(ual)p Ft(,)j(for)150 3243 y Fs(Bash)p Ft(,)29 b(V)-8
-b(ersion)31 b(4.2.)150 3377 y(Cop)m(yrigh)m(t)602 3374
-y(c)577 3377 y Fp(\015)f Ft(1988{2011)35 b(F)-8 b(ree)31
-b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)150 3512
-y(P)m(ermission)h(is)h(gran)m(ted)g(to)f(mak)m(e)i(and)d(distribute)h
-(v)m(erbatim)h(copies)g(of)f(this)g(man)m(ual)h(pro)m(vided)f(the)150
-3621 y(cop)m(yrigh)m(t)g(notice)f(and)f(this)g(p)s(ermission)g(notice)h
-(are)g(preserv)m(ed)f(on)h(all)g(copies.)390 3756 y(P)m(ermission)k(is)
-h(gran)m(ted)f(to)h(cop)m(y)-8 b(,)38 b(distribute)d(and/or)g(mo)s
-(dify)f(this)h(do)s(cumen)m(t)g(under)390 3866 y(the)j(terms)g(of)g
-(the)g(GNU)h(F)-8 b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8
-b(ersion)39 b(1.3)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
+(the)h(Bash)f(shell)h(\(v)m(ersion)150 2999 y(4.2,)c(25)f(Septem)m(b)s
+(er)f(2011\).)150 3133 y(This)e(is)h(Edition)f(4.2,)j(last)e(up)s
+(dated)f(25)h(Septem)m(b)s(er)f(2011,)j(of)e Fq(The)f(GNU)i(Bash)e
+(Reference)i(Man)m(ual)p Ft(,)150 3243 y(for)g Fs(Bash)p
+Ft(,)g(V)-8 b(ersion)31 b(4.2.)150 3377 y(Cop)m(yrigh)m(t)602
+3374 y(c)577 3377 y Fp(\015)f Ft(1988{2011)35 b(F)-8
+b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)150
+3512 y(P)m(ermission)h(is)h(gran)m(ted)g(to)f(mak)m(e)i(and)d
+(distribute)h(v)m(erbatim)h(copies)g(of)f(this)g(man)m(ual)h(pro)m
+(vided)f(the)150 3621 y(cop)m(yrigh)m(t)g(notice)f(and)f(this)g(p)s
+(ermission)g(notice)h(are)g(preserv)m(ed)f(on)h(all)g(copies.)390
+3756 y(P)m(ermission)k(is)h(gran)m(ted)f(to)h(cop)m(y)-8
+b(,)38 b(distribute)d(and/or)g(mo)s(dify)f(this)h(do)s(cumen)m(t)g
+(under)390 3866 y(the)j(terms)g(of)g(the)g(GNU)h(F)-8
+b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8 b(ersion)39
+b(1.3)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28
 b(published)d(b)m(y)j(the)f(F)-8 b(ree)29 b(Soft)m(w)m(are)f(F)-8
 b(oundation;)30 b(with)d(no)g(In)m(v)-5 b(arian)m(t)28
 b(Sections,)390 4085 y(with)i(the)h(F)-8 b(ron)m(t-Co)m(v)m(er)33
@@ -4453,7 +4458,7 @@ h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
 3838 y(3.4.1)93 b(P)m(ositional)32 b(P)m(arameters)20
 b Fm(:)d(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
 h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)50 b Ft(17)399 3948 y(3.4.2)93 b(Sp)s(ecial)30
+(:)f(:)50 b Ft(18)399 3948 y(3.4.2)93 b(Sp)s(ecial)30
 b(P)m(arameters)16 b Fm(:)h(:)f(:)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(:)46 b Ft(18)275 4057
@@ -4479,7 +4484,7 @@ f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
 (:)h(:)48 b Ft(24)399 4715 y(3.5.6)93 b(Pro)s(cess)30
 b(Substitution)d Fm(:)15 b(:)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(:)57 b Ft(24)399 4824 y(3.5.7)93
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)57 b Ft(25)399 4824 y(3.5.7)93
 b(W)-8 b(ord)31 b(Splitting)20 b Fm(:)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(:)49
@@ -4507,7 +4512,7 @@ f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)52 b Ft(28)399 193
 y(3.6.2)93 b(Redirecting)31 b(Output)26 b Fm(:)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(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)56
-b Ft(28)399 302 y(3.6.3)93 b(App)s(ending)28 b(Redirected)k(Output)12
+b Ft(29)399 302 y(3.6.3)93 b(App)s(ending)28 b(Redirected)k(Output)12
 b Fm(:)h(:)j(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
 h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)41 b Ft(29)399
 412 y(3.6.4)93 b(Redirecting)31 b(Standard)e(Output)h(and)f(Standard)h
@@ -4517,7 +4522,7 @@ h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)41 b Ft(29)399
 b Ft(29)399 631 y(3.6.6)93 b(Here)31 b(Do)s(cumen)m(ts)c
 Fm(:)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(:)56 b Ft(29)399 741 y(3.6.7)93
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)56 b Ft(30)399 741 y(3.6.7)93
 b(Here)31 b(Strings)c Fm(:)16 b(:)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(:)58
@@ -4527,7 +4532,7 @@ h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)46
 b Ft(30)399 960 y(3.6.9)93 b(Mo)m(ving)32 b(File)f(Descriptors)19
 b Fm(:)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(:)49
-b Ft(30)399 1069 y(3.6.10)93 b(Op)s(ening)29 b(File)j(Descriptors)f
+b Ft(31)399 1069 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)19 b Fm(:)e(:)e(:)h(:)f(:)h(:)f(:)
 49 b Ft(31)275 1179 y(3.7)92 b(Executing)31 b(Commands)17
 b Fm(:)d(:)h(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
@@ -4538,7 +4543,7 @@ f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
 (:)g(:)h(:)f(:)h(:)52 b Ft(31)399 1398 y(3.7.2)93 b(Command)29
 b(Searc)m(h)i(and)f(Execution)d Fm(:)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(:)56
-b Ft(31)399 1508 y(3.7.3)93 b(Command)29 b(Execution)i(En)m(vironmen)m
+b Ft(32)399 1508 y(3.7.3)93 b(Command)29 b(Execution)i(En)m(vironmen)m
 (t)8 b Fm(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
 h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)38 b Ft(32)399 1617
 y(3.7.4)93 b(En)m(vironmen)m(t)18 b Fm(:)d(:)h(:)f(:)g(:)h(:)f(:)h(:)f
@@ -4548,7 +4553,7 @@ f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
 Fm(:)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(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
 f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)57 b
-Ft(33)399 1836 y(3.7.6)93 b(Signals)15 b Fm(:)g(:)g(:)h(:)f(:)h(:)f(:)g
+Ft(34)399 1836 y(3.7.6)93 b(Signals)15 b Fm(:)g(:)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(:)f(:)g(:)h(:)44 b Ft(34)275 1946
@@ -4565,21 +4570,21 @@ h(:)f(:)g(:)h(:)f(:)h(:)f(:)57 b Ft(37)275 2435 y(4.2)92
 b(Bash)30 b(Builtin)h(Commands)24 b Fm(:)15 b(:)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(:)54
-b Ft(43)275 2545 y(4.3)92 b(Mo)s(difying)30 b(Shell)g(Beha)m(vior)9
+b Ft(44)275 2545 y(4.3)92 b(Mo)s(difying)30 b(Shell)g(Beha)m(vior)9
 b Fm(:)17 b(:)f(:)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(:)39 b Ft(53)399 2654 y(4.3.1)93 b(The)30
+h(:)f(:)h(:)f(:)39 b Ft(54)399 2654 y(4.3.1)93 b(The)30
 b(Set)g(Builtin)c Fm(:)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(:)55 b
 Ft(54)399 2764 y(4.3.2)93 b(The)30 b(Shopt)f(Builtin)13
 b Fm(:)j(:)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(:)43 b Ft(57)275 2873 y(4.4)92 b(Sp)s(ecial)30
+(:)h(:)f(:)h(:)f(:)g(:)43 b Ft(58)275 2873 y(4.4)92 b(Sp)s(ecial)30
 b(Builtins)21 b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
 (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
 g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)50
-b Ft(62)150 3116 y Fr(5)135 b(Shell)45 b(V)-11 b(ariables)19
+b Ft(63)150 3116 y Fr(5)135 b(Shell)45 b(V)-11 b(ariables)19
 b Fn(:)h(:)g(:)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(:)64
 b Fr(65)275 3253 y Ft(5.1)92 b(Bourne)30 b(Shell)g(V)-8
@@ -4639,7 +4644,7 @@ h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
 5057 y(6.9)92 b(Con)m(trolling)31 b(the)g(Prompt)24 b
 Fm(:)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(:)54 b Ft(86)275 5166 y(6.10)92 b(The)30
+g(:)h(:)f(:)h(:)f(:)54 b Ft(87)275 5166 y(6.10)92 b(The)30
 b(Restricted)h(Shell)23 b Fm(:)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(:)53
@@ -4754,7 +4759,7 @@ f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)52 b Ft(129)399 3938
 y(9.3.1)93 b(Ev)m(en)m(t)31 b(Designators)10 b Fm(:)18
 b(:)d(:)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(:)40 b Ft(129)399 4047 y(9.3.2)93 b(W)-8 b(ord)31
+h(:)f(:)h(:)40 b Ft(130)399 4047 y(9.3.2)93 b(W)-8 b(ord)31
 b(Designators)17 b Fm(:)g(:)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(:)h(:)47 b Ft(130)399 4157
@@ -5078,7 +5083,7 @@ y(6.)61 b(Executes)31 b(the)g(command)f(\(see)h(Section)g(3.7)h
 ([Executing)f(Commands],)f(page)h(31\).)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(33\).)p
+y(tion)31 b(3.7.5)h([Exit)f(Status],)g(page)g(34\).)p
 eop end
 %%Page: 6 12
 TeXDict begin 6 11 bop 150 -116 a Ft(6)2617 b(Bash)31
@@ -5213,7 +5218,7 @@ Fs(TEXTDOMAIN)p Ft(.mo.)150 4645 y Fj(3.1.3)63 b(Commen)m(ts)150
 (teractiv)m(e)j(shell)d(in)g(whic)m(h)g(the)g Fs(interactive_comments)
 16 b Ft(option)150 4902 y(to)40 b(the)f Fs(shopt)e Ft(builtin)h(is)h
 (enabled)g(\(see)h(Section)g(4.3.2)g([The)f(Shopt)f(Builtin],)k(page)e
-(57\),)i(a)d(w)m(ord)150 5011 y(b)s(eginning)26 b(with)g(`)p
+(58\),)i(a)d(w)m(ord)150 5011 y(b)s(eginning)26 b(with)g(`)p
 Fs(#)p Ft(')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
 5121 y(An)43 b(in)m(teractiv)m(e)j(shell)e(without)f(the)g
@@ -5246,7 +5251,7 @@ 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
 1620 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 1766 y(The)h(return)h(status)g(\(see)i
-(Section)f(3.7.5)h([Exit)f(Status],)h(page)f(33\))g(of)g(a)g(simple)f
+(Section)f(3.7.5)h([Exit)f(Status],)h(page)f(34\))g(of)g(a)g(simple)f
 (command)g(is)h(its)150 1876 y(exit)38 b(status)f(as)g(pro)m(vided)f(b)
 m(y)h(the)g Fl(posix)f Ft(1003.1)j Fs(waitpid)c Ft(function,)j(or)f
 (128)p Fs(+)p Fq(n)g Ft(if)g(the)g(command)150 1986 y(w)m(as)31
@@ -5257,25 +5262,25 @@ Ft(is)j(a)f(sequence)h(of)f(simple)g(commands)g(separated)h(b)m(y)f
 y(`)p Fs(|)p Ft(')31 b(or)f(`)p Fs(|&)p Ft('.)275 2599
 y(The)f(format)i(for)f(a)h(pip)s(eline)f(is)390 2746
 y Fs([time)46 b([-p]])h([!])g Fi(command1)56 b Fs([)47
-b([|)g(or)h(|&])e Fi(command2)56 b Fs(...])150 2892 y
-Ft(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
+b(|)h(or)f(|&)g Fi(command2)56 b Fs(])47 b(...)150 2892
+y Ft(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 3001 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 3111 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(the)g(command.)275
-3257 y(If)j(`)p Fs(|&)p Ft(')h(is)h(used,)f(the)h(standard)e(error)h
-(of)g Fq(command1)42 b Ft(is)34 b(connected)h(to)g Fq(command2)7
-b Ft('s)35 b(standard)150 3367 y(input)25 b(through)g(the)h(pip)s(e;)h
-(it)f(is)g(shorthand)f(for)g Fs(2>&1)k(|)p Ft(.)39 b(This)25
-b(implicit)i(redirection)g(of)f(the)g(standard)150 3477
-y(error)k(is)g(p)s(erformed)f(after)i(an)m(y)g(redirections)g(sp)s
-(eci\014ed)e(b)m(y)i(the)f(command.)275 3623 y(The)36
-b(reserv)m(ed)g(w)m(ord)g Fs(time)g Ft(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
-3732 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 3842 y(time)28 b(consumed)e(b)m(y)h(the)h(command's)f
+3257 y(If)h(`)p Fs(|&)p Ft(')h(is)g(used,)f Fq(command1)7
+b Ft('s)33 b(standard)e(output)g(and)h(standard)f(error)g(are)i
+(connected)f(to)h Fq(com-)150 3367 y(mand2)7 b Ft('s)27
+b(standard)f(input)h(through)f(the)h(pip)s(e;)h(it)g(is)f(shorthand)f
+(for)h Fs(2>&1)i(|)p Ft(.)39 b(This)26 b(implicit)j(redirec-)150
+3477 y(tion)i(of)f(the)h(standard)f(error)f(is)i(p)s(erformed)e(after)i
+(an)m(y)f(redirections)h(sp)s(eci\014ed)f(b)m(y)g(the)h(command.)275
+3623 y(The)36 b(reserv)m(ed)g(w)m(ord)g Fs(time)g Ft(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 3732 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 3842 y(time)28 b(consumed)e(b)m(y)h(the)h(command's)f
 (execution.)40 b(The)27 b(`)p Fs(-p)p Ft(')g(option)h(c)m(hanges)g(the)
 f(output)g(format)g(to)150 3952 y(that)34 b(sp)s(eci\014ed)e(b)m(y)h
 Fl(posix)p Ft(.)49 b(When)33 b(the)g(shell)g(is)h(in)e
@@ -5492,7 +5497,7 @@ Ft(corresp)s(onding)20 b(to)i(the)g(\014rst)f Fq(pattern)630
 2092 y Ft(that)42 b(matc)m(hes)g Fq(w)m(ord)t Ft(.)71
 b(If)41 b(the)g(shell)g(option)g Fs(nocasematch)d Ft(\(see)k(the)f
 (description)g(of)630 2202 y Fs(shopt)34 b Ft(in)h(Section)h(4.3.2)h
-([The)e(Shopt)f(Builtin],)k(page)e(57\))g(is)g(enabled,)g(the)g(matc)m
+([The)e(Shopt)f(Builtin],)k(page)e(58\))g(is)g(enabled,)g(the)g(matc)m
 (h)g(is)630 2311 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 Fs(|)p Ft(')h(is)g(used)630 2421 y(to)e(separate)g(m)m(ultiple)g
@@ -5586,7 +5591,7 @@ b(the)f(return)e(status)i(is)g(0;)h(otherwise)f(the)g(return)e(status)i
 (is)g(1.)39 b(This)25 b(is)g(exactly)630 3754 y(equiv)-5
 b(alen)m(t)32 b(to)870 3886 y Fs(let)47 b(")p Fi(expression)11
 b Fs(")630 4019 y Ft(See)25 b(Section)h(4.2)h([Bash)e(Builtins],)i
-(page)f(43,)i(for)c(a)i(full)f(description)g(of)g(the)h
+(page)f(44,)i(for)c(a)i(full)f(description)g(of)g(the)h
 Fs(let)e Ft(builtin.)150 4175 y Fs([[...)o(]])870 4308
 y([[)47 b Fi(expression)56 b Fs(]])630 4440 y Ft(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
@@ -5618,7 +5623,7 @@ h(of)g(the)g(op)s(erator)630 408 y(is)31 b(considered)g(a)h(pattern)f
 (hing],)j(page)c(26.)59 b(If)36 b(the)g(shell)g(option)h
 Fs(nocasematch)630 628 y Ft(\(see)42 b(the)f(description)g(of)h
 Fs(shopt)d Ft(in)i(Section)h(4.3.2)h([The)e(Shopt)f(Builtin],)45
-b(page)d(57\))630 737 y(is)e(enabled,)i(the)e(matc)m(h)h(is)e(p)s
+b(page)d(58\))630 737 y(is)e(enabled,)i(the)e(matc)m(h)h(is)e(p)s
 (erformed)g(without)g(regard)h(to)h(the)f(case)g(of)g(alphab)s(etic)630
 847 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 Fs(==)p
@@ -5626,135 +5631,136 @@ Ft('\))f(or)g(do)s(es)f(not)h(matc)m(h)630 956 y(\(`)p
 Fs(!=)p Ft('\)the)33 b(pattern,)g(and)f(1)g(otherwise.)47
 b(An)m(y)32 b(part)g(of)h(the)f(pattern)g(ma)m(y)h(b)s(e)f(quoted)g(to)
 630 1066 y(force)f(the)g(quoted)f(p)s(ortion)g(to)h(b)s(e)f(matc)m(hed)
-h(as)g(a)f(string.)630 1196 y(An)j(additional)i(binary)e(op)s(erator,)i
+h(as)g(a)f(string.)630 1203 y(An)j(additional)i(binary)e(op)s(erator,)i
 (`)p Fs(=~)p Ft(',)g(is)f(a)m(v)-5 b(ailable,)37 b(with)c(the)h(same)g
-(precedence)h(as)630 1305 y(`)p Fs(==)p Ft(')29 b(and)f(`)p
+(precedence)h(as)630 1313 y(`)p Fs(==)p Ft(')29 b(and)f(`)p
 Fs(!=)p Ft('.)40 b(When)29 b(it)g(is)g(used,)f(the)h(string)g(to)h(the)
 e(righ)m(t)i(of)f(the)g(op)s(erator)g(is)g(consid-)630
-1415 y(ered)34 b(an)g(extended)g(regular)g(expression)g(and)f(matc)m
+1422 y(ered)34 b(an)g(extended)g(regular)g(expression)g(and)f(matc)m
 (hed)i(accordingly)g(\(as)f(in)g Fk(r)-5 b(e)g(gex)11
-b Ft(3\)\).)630 1524 y(The)29 b(return)f(v)-5 b(alue)30
+b Ft(3\)\).)630 1532 y(The)29 b(return)f(v)-5 b(alue)30
 b(is)g(0)g(if)f(the)h(string)g(matc)m(hes)g(the)g(pattern,)g(and)f(1)h
-(otherwise.)41 b(If)29 b(the)630 1634 y(regular)e(expression)g(is)h
+(otherwise.)41 b(If)29 b(the)630 1641 y(regular)e(expression)g(is)h
 (syn)m(tactically)i(incorrect,)f(the)e(conditional)i(expression's)e
-(return)630 1744 y(v)-5 b(alue)40 b(is)g(2.)68 b(If)39
+(return)630 1751 y(v)-5 b(alue)40 b(is)g(2.)68 b(If)39
 b(the)h(shell)f(option)h Fs(nocasematch)d Ft(\(see)j(the)g(description)
-g(of)f Fs(shopt)f Ft(in)630 1853 y(Section)32 b(4.3.2)g([The)f(Shopt)f
-(Builtin],)i(page)g(57\))g(is)f(enabled,)g(the)g(matc)m(h)h(is)e(p)s
-(erformed)630 1963 y(without)36 b(regard)g(to)h(the)f(case)h(of)f
+g(of)f Fs(shopt)f Ft(in)630 1861 y(Section)32 b(4.3.2)g([The)f(Shopt)f
+(Builtin],)i(page)g(58\))g(is)f(enabled,)g(the)g(matc)m(h)h(is)e(p)s
+(erformed)630 1970 y(without)36 b(regard)g(to)h(the)f(case)h(of)f
 (alphab)s(etic)h(c)m(haracters.)59 b(An)m(y)36 b(part)g(of)h(the)f
-(pattern)630 2072 y(ma)m(y)j(b)s(e)e(quoted)i(to)g(force)g(the)f
+(pattern)630 2080 y(ma)m(y)j(b)s(e)e(quoted)i(to)g(force)g(the)f
 (quoted)g(p)s(ortion)g(to)h(b)s(e)f(matc)m(hed)h(as)f(a)h(string.)64
-b(Sub-)630 2182 y(strings)30 b(matc)m(hed)g(b)m(y)g(paren)m(thesized)g
+b(Sub-)630 2189 y(strings)30 b(matc)m(hed)g(b)m(y)g(paren)m(thesized)g
 (sub)s(expressions)e(within)h(the)h(regular)g(expression)630
-2292 y(are)k(sa)m(v)m(ed)i(in)d(the)h(arra)m(y)h(v)-5
+2299 y(are)k(sa)m(v)m(ed)i(in)d(the)h(arra)m(y)h(v)-5
 b(ariable)35 b Fs(BASH_REMATCH)p Ft(.)48 b(The)34 b(elemen)m(t)h(of)f
-Fs(BASH_REMATCH)630 2401 y Ft(with)27 b(index)f(0)h(is)g(the)g(p)s
+Fs(BASH_REMATCH)630 2409 y Ft(with)27 b(index)f(0)h(is)g(the)g(p)s
 (ortion)g(of)g(the)g(string)g(matc)m(hing)h(the)f(en)m(tire)h(regular)f
-(expression.)630 2511 y(The)c(elemen)m(t)h(of)f Fs(BASH_REMATCH)d
+(expression.)630 2518 y(The)c(elemen)m(t)h(of)f Fs(BASH_REMATCH)d
 Ft(with)j(index)f Fq(n)h Ft(is)g(the)g(p)s(ortion)f(of)i(the)f(string)g
-(matc)m(hing)630 2620 y(the)31 b Fq(n)p Ft(th)e(paren)m(thesized)i(sub)
-s(expression.)630 2750 y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)
+(matc)m(hing)630 2628 y(the)31 b Fq(n)p Ft(th)e(paren)m(thesized)i(sub)
+s(expression.)630 2765 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 2860 y(order)30 b(of)g(precedence:)630
-3009 y Fs(\()g Fi(expression)38 b Fs(\))1110 3119 y Ft(Returns)30
+(decreasing)630 2874 y(order)30 b(of)g(precedence:)630
+3039 y Fs(\()g Fi(expression)38 b Fs(\))1110 3149 y Ft(Returns)30
 b(the)h(v)-5 b(alue)31 b(of)g Fq(expression)p Ft(.)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
-3228 y(normal)e(precedence)h(of)g(op)s(erators.)630 3378
-y Fs(!)f Fi(expression)1110 3488 y Ft(T)-8 b(rue)30 b(if)g
-Fq(expression)g Ft(is)h(false.)630 3637 y Fi(expression1)38
-b Fs(&&)30 b Fi(expression2)1110 3747 y Ft(T)-8 b(rue)30
+3258 y(normal)e(precedence)h(of)g(op)s(erators.)630 3423
+y Fs(!)f Fi(expression)1110 3533 y Ft(T)-8 b(rue)30 b(if)g
+Fq(expression)g Ft(is)h(false.)630 3697 y Fi(expression1)38
+b Fs(&&)30 b Fi(expression2)1110 3807 y Ft(T)-8 b(rue)30
 b(if)g(b)s(oth)g Fq(expression1)38 b Ft(and)29 b Fq(expression2)38
-b Ft(are)31 b(true.)630 3897 y Fi(expression1)38 b Fs(||)30
-b Fi(expression2)1110 4006 y Ft(T)-8 b(rue)30 b(if)g(either)h
+b Ft(are)31 b(true.)630 3971 y Fi(expression1)38 b Fs(||)30
+b Fi(expression2)1110 4081 y Ft(T)-8 b(rue)30 b(if)g(either)h
 Fq(expression1)38 b Ft(or)30 b Fq(expression2)38 b Ft(is)30
-b(true.)630 4156 y(The)25 b Fs(&&)g Ft(and)g Fs(||)f
-Ft(op)s(erators)i(do)f(not)h(ev)-5 b(aluate)27 b Fq(expression2)33
-b Ft(if)26 b(the)f(v)-5 b(alue)26 b(of)g Fq(expression1)630
-4266 y Ft(is)k(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
-4455 y Fj(3.2.4.3)63 b(Grouping)43 b(Commands)150 4602
-y Ft(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 4712 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 4821 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 4971 y Fs(\(\))870 5101 y(\()47
-b Fi(list)58 b Fs(\))630 5230 y Ft(Placing)30 b(a)f(list)g(of)g
-(commands)f(b)s(et)m(w)m(een)i(paren)m(theses)e(causes)i(a)f(subshell)e
-(en)m(vironmen)m(t)630 5340 y(to)k(b)s(e)e(created)j(\(see)f(Section)g
-(3.7.3)h([Command)d(Execution)i(En)m(vironmen)m(t],)g(page)f(32\),)p
-eop end
+b(true.)630 4246 y(The)44 b Fs(&&)f Ft(and)h Fs(||)g
+Ft(op)s(erators)g(do)g(not)h(ev)-5 b(aluate)46 b Fq([Bexpression2)52
+b Ft(if)45 b(the)f(v)-5 b(alue)45 b(of)f Fq(ex-)630 4355
+y(pression1)h Ft(is)38 b(su\016cien)m(t)h(to)f(determine)h(the)f
+(return)f(v)-5 b(alue)38 b(of)g(the)h(en)m(tire)g(conditional)630
+4465 y(expression.)150 4669 y Fj(3.2.4.3)63 b(Grouping)43
+b(Commands)150 4816 y Ft(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 4926 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 5036
+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 5203
+y Fs(\(\))870 5340 y(\()47 b Fi(list)58 b Fs(\))p eop
+end
 %%Page: 14 20
 TeXDict begin 14 19 bop 150 -116 a Ft(14)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(and)c(eac)m(h)i(of)e(the)h(commands)f
-(in)g Fq(list)j Ft(to)f(b)s(e)e(executed)h(in)f(that)h(subshell.)39
-b(Since)28 b(the)f Fq(list)630 408 y Ft(is)i(executed)g(in)f(a)h
-(subshell,)g(v)-5 b(ariable)29 b(assignmen)m(ts)g(do)g(not)g(remain)f
-(in)g(e\013ect)j(after)e(the)630 518 y(subshell)g(completes.)150
-684 y Fs({})870 822 y({)47 b Fi(list)11 b Fs(;)46 b(})630
-959 y Ft(Placing)30 b(a)g(list)g(of)g(commands)f(b)s(et)m(w)m(een)h
+b(Reference)g(Man)m(ual)630 299 y(Placing)f(a)f(list)g(of)g(commands)f
+(b)s(et)m(w)m(een)i(paren)m(theses)e(causes)i(a)f(subshell)e(en)m
+(vironmen)m(t)630 408 y(to)k(b)s(e)e(created)j(\(see)f(Section)g(3.7.3)
+h([Command)d(Execution)i(En)m(vironmen)m(t],)g(page)f(32\),)630
+518 y(and)d(eac)m(h)i(of)e(the)h(commands)f(in)g Fq(list)j
+Ft(to)f(b)s(e)e(executed)h(in)f(that)h(subshell.)39 b(Since)28
+b(the)f Fq(list)630 628 y Ft(is)i(executed)g(in)f(a)h(subshell,)g(v)-5
+b(ariable)29 b(assignmen)m(ts)g(do)g(not)g(remain)f(in)g(e\013ect)j
+(after)e(the)630 737 y(subshell)g(completes.)150 880
+y Fs({})870 1007 y({)47 b Fi(list)11 b Fs(;)46 b(})630
+1133 y Ft(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
-1069 y(in)d(the)h(curren)m(t)g(shell)f(con)m(text.)42
+1242 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 1178 y(follo)m(wing)32 b Fq(list)h Ft(is)d(required.)275
-1347 y(In)44 b(addition)h(to)h(the)f(creation)i(of)e(a)g(subshell,)j
+(newline\))630 1352 y(follo)m(wing)32 b Fq(list)h Ft(is)d(required.)275
+1495 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
-1457 y(t)m(w)m(o)c(constructs)e(due)g(to)g(historical)i(reasons.)67
+1605 y(t)m(w)m(o)c(constructs)e(due)g(to)g(historical)i(reasons.)67
 b(The)39 b(braces)g(are)h Fs(reserved)28 b(words)p Ft(,)40
-b(so)g(they)f(m)m(ust)150 1567 y(b)s(e)d(separated)h(from)f(the)g
+b(so)g(they)f(m)m(ust)150 1714 y(b)s(e)d(separated)h(from)f(the)g
 Fq(list)j Ft(b)m(y)e Fs(blank)p Ft(s)e(or)h(other)h(shell)f(metac)m
-(haracters.)62 b(The)36 b(paren)m(theses)h(are)150 1676
+(haracters.)62 b(The)36 b(paren)m(theses)h(are)150 1824
 y Fs(operators)p Ft(,)23 b(and)h(are)g(recognized)i(as)e(separate)i
 (tok)m(ens)f(b)m(y)f(the)g(shell)h(ev)m(en)g(if)f(they)g(are)h(not)f
-(separated)150 1786 y(from)30 b(the)g Fq(list)j Ft(b)m(y)e(whitespace.)
-275 1927 y(The)e(exit)j(status)e(of)h(b)s(oth)f(of)g(these)h
+(separated)150 1933 y(from)30 b(the)g Fq(list)j Ft(b)m(y)e(whitespace.)
+275 2060 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 Fq(list)r
-Ft(.)150 2132 y Fj(3.2.5)63 b(Copro)s(cesses)150 2279
+Ft(.)150 2242 y Fj(3.2.5)63 b(Copro)s(cesses)150 2389
 y Ft(A)37 b Fs(coprocess)c Ft(is)k(a)g(shell)f(command)h(preceded)f(b)m
 (y)g(the)h Fs(coproc)d Ft(reserv)m(ed)j(w)m(ord.)59 b(A)36
-b(copro)s(cess)h(is)150 2389 y(executed)g(async)m(hronously)g(in)f(a)h
+b(copro)s(cess)h(is)150 2499 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 2498 y(`)p Fs(&)p Ft(')d(con)m(trol)h(op)s(erator,)g
+(with)g(the)150 2609 y(`)p Fs(&)p Ft(')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 2608 y(copro)s(cess.)275
-2749 y(The)c(format)i(for)f(a)h(copro)s(cess)g(is:)390
-2890 y Fs(coproc)46 b([)p Fi(NAME)11 b Fs(])46 b Fi(command)56
-b Fs([)p Fi(redirections)11 b Fs(])150 3031 y Ft(This)41
+(een)h(the)f(executing)h(shell)f(and)f(the)150 2718 y(copro)s(cess.)275
+2844 y(The)c(format)i(for)f(a)h(copro)s(cess)g(is:)390
+2971 y Fs(coproc)46 b([)p Fi(NAME)11 b Fs(])46 b Fi(command)56
+b Fs([)p Fi(redirections)11 b Fs(])150 3097 y Ft(This)41
 b(creates)i(a)g(copro)s(cess)f(named)f Fq(NAME)5 b Ft(.)43
 b(If)f Fq(NAME)47 b Ft(is)42 b(not)g(supplied,)i(the)e(default)g(name)g
-(is)150 3140 y Fq(COPR)m(OC)8 b Ft(.)22 b Fq(NAME)29
+(is)150 3207 y Fq(COPR)m(OC)8 b Ft(.)22 b Fq(NAME)29
 b Ft(m)m(ust)23 b(not)g(b)s(e)g(supplied)e(if)i Fq(command)k
 Ft(is)c(a)g(simple)g(command)g(\(see)h(Section)g(3.2.1)150
-3250 y([Simple)39 b(Commands],)h(page)g(8\);)k(otherwise,)e(it)d(is)g
+3316 y([Simple)39 b(Commands],)h(page)g(8\);)k(otherwise,)e(it)d(is)g
 (in)m(terpreted)h(as)f(the)g(\014rst)f(w)m(ord)h(of)g(the)g(simple)150
-3359 y(command.)275 3500 y(When)23 b(the)h(copro)s(c)g(is)g(executed,)i
-(the)e(shell)g(creates)h(an)e(arra)m(y)i(v)-5 b(ariable)24
-b(\(see)h(Section)f(6.7)h([Arra)m(ys],)150 3610 y(page)43
-b(84\))g(named)f Fq(NAME)48 b Ft(in)42 b(the)g(con)m(text)i(of)e(the)h
-(executing)g(shell.)76 b(The)42 b(standard)f(output)h(of)150
-3719 y Fq(command)d Ft(is)d(connected)h(via)g(a)f(pip)s(e)g(to)g(a)h
-(\014le)f(descriptor)g(in)f(the)i(executing)g(shell,)h(and)d(that)i
-(\014le)150 3829 y(descriptor)25 b(is)f(assigned)h(to)h
-Fq(NAME)5 b Ft([0].)40 b(The)25 b(standard)e(input)h(of)h
-Fq(command)j Ft(is)d(connected)g(via)h(a)f(pip)s(e)150
-3939 y(to)33 b(a)f(\014le)g(descriptor)g(in)f(the)i(executing)g(shell,)
-f(and)g(that)g(\014le)g(descriptor)g(is)g(assigned)g(to)h
-Fq(NAME)5 b Ft([1].)150 4048 y(This)31 b(pip)s(e)g(is)h(established)g
-(b)s(efore)g(an)m(y)g(redirections)g(sp)s(eci\014ed)g(b)m(y)f(the)i
-(command)e(\(see)i(Section)g(3.6)150 4158 y([Redirections],)25
+3426 y(command.)275 3552 y(When)j(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 3662 y([Arra)m(ys],)32
+b(page)g(84\))h(named)e Fs(NAME)f Ft(in)h(the)h(con)m(text)h(of)e(the)h
+(executing)g(shell.)44 b(The)31 b(standard)f(output)150
+3771 y(of)g Fq(command)j Ft(is)d(connected)g(via)g(a)g(pip)s(e)f(to)i
+(a)f(\014le)g(descriptor)f(in)g(the)h(executing)h(shell,)f(and)g(that)g
+(\014le)150 3881 y(descriptor)i(is)f(assigned)h(to)g
+Fs(NAME)p Ft([0].)45 b(The)31 b(standard)g(input)f(of)i
+Fq(command)j Ft(is)d(connected)h(via)f(a)g(pip)s(e)150
+3990 y(to)39 b(a)g(\014le)f(descriptor)g(in)g(the)g(executing)i(shell,)
+g(and)e(that)h(\014le)f(descriptor)g(is)g(assigned)h(to)g
+Fs(NAME)p Ft([1].)150 4100 y(This)31 b(pip)s(e)g(is)h(established)g(b)s
+(efore)g(an)m(y)g(redirections)g(sp)s(eci\014ed)g(b)m(y)f(the)i
+(command)e(\(see)i(Section)g(3.6)150 4210 y([Redirections],)25
 b(page)e(27\).)39 b(The)21 b(\014le)h(descriptors)g(can)g(b)s(e)f
 (utilized)i(as)f(argumen)m(ts)h(to)f(shell)g(commands)150
-4267 y(and)30 b(redirections)h(using)f(standard)f(w)m(ord)h
-(expansions.)275 4408 y(The)d(pro)s(cess)h(ID)h(of)f(the)h(shell)f(spa)
+4319 y(and)30 b(redirections)h(using)f(standard)f(w)m(ord)h
+(expansions.)275 4446 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 4518
-y(the)d(v)-5 b(ariable)26 b Fq(NAME)p 931 4518 28 4 v
-46 w Ft(PID.)g(The)f Fs(wait)g Ft(builtin)g(command)g(ma)m(y)h(b)s(e)f
-(used)g(to)i(w)m(ait)f(for)g(the)g(copro)s(cess)150 4627
-y(to)31 b(terminate.)275 4768 y(The)e(return)h(status)g(of)h(a)g(copro)
-s(cess)f(is)h(the)f(exit)i(status)e(of)h Fq(command)t
+b(ailable)31 b(as)d(the)h(v)-5 b(alue)29 b(of)150 4555
+y(the)k(v)-5 b(ariable)33 b Fs(NAME)p 850 4555 28 4 v
+39 w Ft(PID.)g(The)f Fs(wait)f Ft(builtin)h(command)g(ma)m(y)h(b)s(e)f
+(used)g(to)h(w)m(ait)h(for)e(the)h(copro)s(cess)150 4665
+y(to)e(terminate.)275 4791 y(The)e(return)h(status)g(of)h(a)g(copro)s
+(cess)f(is)h(the)f(exit)i(status)e(of)h Fq(command)t
 Ft(.)150 4974 y Fj(3.2.6)63 b(GNU)41 b(P)m(arallel)150
 5121 y Ft(GNU)36 b(P)m(arallel,)k(as)c(its)g(name)g(suggests,)i(can)e
 (b)s(e)f(used)g(to)h(build)f(and)g(run)g(commands)g(in)h(parallel.)150
@@ -5763,27 +5769,27 @@ Ft(.)150 4974 y Fj(3.2.6)63 b(GNU)41 b(P)m(arallel)150
 (\014lenames,)150 5340 y(usernames,)30 b(hostnames,)h(or)f(lines)h
 (read)f(from)g(\014les.)p eop end
 %%Page: 15 21
-TeXDict begin 15 20 bop 150 -116 a Ft(Chapter)47 b(3:)i(Basic)g(Shell)e
-(F)-8 b(eatures)2187 b(15)275 299 y(F)-8 b(or)33 b(a)g(complete)h
-(description,)g(refer)e(to)i(the)f(GNU)g(P)m(arallel)i(do)s(cumen)m
-(tation.)48 b(A)33 b(few)f(examples)150 408 y(should)d(pro)m(vide)i(a)g
-(brief)e(in)m(tro)s(duction)i(to)g(its)g(use.)275 540
-y(F)-8 b(or)31 b(example,)g(it)g(is)f(easy)h(to)g(pre\014x)f(eac)m(h)h
-(line)g(in)f(a)h(text)g(\014le)g(with)f(a)g(sp)s(eci\014ed)g(string:)
-390 672 y Fs(cat)47 b(file)g(|)g(parallel)f(-k)h(echo)f(prefix_string)
-150 804 y Ft(The)30 b(`)p Fs(-k)p Ft(')g(option)h(is)f(required)g(to)h
-(preserv)m(e)g(the)f(lines')h(order.)275 936 y(Similarly)-8
-b(,)31 b(y)m(ou)g(can)f(app)s(end)f(a)i(sp)s(eci\014ed)e(string)i(to)g
-(eac)m(h)g(line)g(in)f(a)h(text)g(\014le:)390 1068 y
-Fs(cat)47 b(file)g(|)g(parallel)f(-k)h(echo)f({})i(append_string)275
-1200 y Ft(Y)-8 b(ou)34 b(can)g(use)f(P)m(arallel)j(to)e(mo)m(v)m(e)h
-(\014les)f(from)f(the)h(curren)m(t)f(directory)h(when)f(the)h(n)m(um)m
-(b)s(er)e(of)i(\014les)150 1309 y(is)c(to)s(o)i(large)f(to)g(pro)s
-(cess)f(with)g(one)h Fs(mv)f Ft(in)m(v)m(o)s(cation:)390
-1441 y Fs(ls)47 b(|)h(parallel)d(mv)i({})h(destdir)275
-1573 y Ft(As)35 b(y)m(ou)h(can)f(see,)j(the)d Fs({})g
-Ft(is)g(replaced)h(with)f(eac)m(h)i(line)f(read)f(from)g(standard)f
-(input.)55 b(This)35 b(will)150 1683 y(run)f(as)h(man)m(y)g
+TeXDict begin 15 20 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(15)275 299
+y(F)-8 b(or)33 b(a)g(complete)h(description,)g(refer)e(to)i(the)f(GNU)g
+(P)m(arallel)i(do)s(cumen)m(tation.)48 b(A)33 b(few)f(examples)150
+408 y(should)d(pro)m(vide)i(a)g(brief)e(in)m(tro)s(duction)i(to)g(its)g
+(use.)275 540 y(F)-8 b(or)31 b(example,)g(it)g(is)f(easy)h(to)g
+(pre\014x)f(eac)m(h)h(line)g(in)f(a)h(text)g(\014le)g(with)f(a)g(sp)s
+(eci\014ed)g(string:)390 672 y Fs(cat)47 b(file)g(|)g(parallel)f(-k)h
+(echo)f(prefix_string)150 804 y Ft(The)30 b(`)p Fs(-k)p
+Ft(')g(option)h(is)f(required)g(to)h(preserv)m(e)g(the)f(lines')h
+(order.)275 936 y(Similarly)-8 b(,)31 b(y)m(ou)g(can)f(app)s(end)f(a)i
+(sp)s(eci\014ed)e(string)i(to)g(eac)m(h)g(line)g(in)f(a)h(text)g
+(\014le:)390 1068 y Fs(cat)47 b(file)g(|)g(parallel)f(-k)h(echo)f({})i
+(append_string)275 1200 y Ft(Y)-8 b(ou)34 b(can)g(use)f(P)m(arallel)j
+(to)e(mo)m(v)m(e)h(\014les)f(from)f(the)h(curren)m(t)f(directory)h
+(when)f(the)h(n)m(um)m(b)s(er)e(of)i(\014les)150 1309
+y(is)c(to)s(o)i(large)f(to)g(pro)s(cess)f(with)g(one)h
+Fs(mv)f Ft(in)m(v)m(o)s(cation:)390 1441 y Fs(ls)47 b(|)h(parallel)d
+(mv)i({})h(destdir)275 1573 y Ft(As)35 b(y)m(ou)h(can)f(see,)j(the)d
+Fs({})g Ft(is)g(replaced)h(with)f(eac)m(h)i(line)f(read)f(from)g
+(standard)f(input.)55 b(This)35 b(will)150 1683 y(run)f(as)h(man)m(y)g
 Fs(mv)g Ft(commands)g(as)g(there)h(are)f(\014les)g(in)g(the)h(curren)m
 (t)f(directory)-8 b(.)56 b(Y)-8 b(ou)35 b(can)h(em)m(ulate)h(a)150
 1792 y(parallel)31 b Fs(xargs)e Ft(b)m(y)i(adding)f(the)g(`)p
@@ -5835,1624 +5841,1643 @@ eop end
 TeXDict begin 16 21 bop 150 -116 a Ft(16)2572 b(Bash)31
 b(Reference)g(Man)m(ual)390 299 y Fi(name)57 b Fs(\(\))47
 b Fi(compound-command)54 b Fs([)48 b Fi(redirections)55
-b Fs(])390 408 y(or)390 628 y(function)46 b Fi(name)57
+b Fs(])275 441 y Ft(or)390 584 y Fs(function)46 b Fi(name)57
 b Fs([\(\)])46 b Fi(compound-command)54 b Fs([)48 b Fi(redirections)55
-b Fs(])275 762 y Ft(This)31 b(de\014nes)h(a)g(shell)h(function)f(named)
+b Fs(])275 726 y Ft(This)31 b(de\014nes)h(a)g(shell)h(function)f(named)
 g Fq(name)5 b Ft(.)47 b(The)32 b(reserv)m(ed)h(w)m(ord)f
-Fs(function)e Ft(is)i(optional.)48 b(If)150 871 y(the)39
+Fs(function)e Ft(is)i(optional.)48 b(If)150 836 y(the)39
 b Fs(function)f Ft(reserv)m(ed)h(w)m(ord)g(is)g(supplied,)i(the)e
 (paren)m(theses)h(are)f(optional.)69 b(The)39 b Fq(b)s(o)s(dy)45
-b Ft(of)40 b(the)150 981 y(function)h(is)h(the)g(comp)s(ound)e(command)
+b Ft(of)40 b(the)150 945 y(function)h(is)h(the)g(comp)s(ound)e(command)
 h Fq(comp)s(ound-command)j Ft(\(see)e(Section)h(3.2.4)g([Comp)s(ound)
-150 1090 y(Commands],)33 b(page)g(9\).)48 b(That)33 b(command)g(is)f
+150 1055 y(Commands],)33 b(page)g(9\).)48 b(That)33 b(command)g(is)f
 (usually)h(a)g Fq(list)i Ft(enclosed)e(b)s(et)m(w)m(een)h
-Fs({)e Ft(and)g Fs(})p Ft(,)h(but)f(ma)m(y)150 1200 y(b)s(e)27
+Fs({)e Ft(and)g Fs(})p Ft(,)h(but)f(ma)m(y)150 1165 y(b)s(e)27
 b(an)m(y)h(comp)s(ound)e(command)h(listed)h(ab)s(o)m(v)m(e.)41
 b Fq(comp)s(ound-command)30 b Ft(is)e(executed)g(whenev)m(er)g
-Fq(name)150 1310 y Ft(is)37 b(sp)s(eci\014ed)g(as)g(the)h(name)f(of)g
-(a)h(command.)61 b(An)m(y)37 b(redirections)h(\(see)g(Section)g(3.6)g
-([Redirections],)150 1419 y(page)31 b(27\))h(asso)s(ciated)g(with)e
-(the)g(shell)h(function)f(are)h(p)s(erformed)d(when)i(the)g(function)g
-(is)h(executed.)275 1553 y(A)41 b(function)f(de\014nition)h(ma)m(y)g(b)
-s(e)g(deleted)g(using)g(the)g(`)p Fs(-f)p Ft(')g(option)g(to)h(the)f
-Fs(unset)e Ft(builtin)i(\(see)150 1663 y(Section)31 b(4.1)h([Bourne)e
-(Shell)g(Builtins],)h(page)h(37\).)275 1797 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
-1906 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
-2016 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 2150 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 2259 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 Fs(blank)p Ft(s)f(or)h(newlines.)62 b(This)150
-2369 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 2478 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 2588 y(using)i(the)g(braces,)h(the)g
-Fq(list)i Ft(m)m(ust)d(b)s(e)g(terminated)h(b)m(y)f(a)h(semicolon,)h(a)
-e(`)p Fs(&)p Ft(',)h(or)g(a)f(newline.)275 2722 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 2832 y(rameters)42 b(during)e(its)i
+Fq(name)150 1274 y Ft(is)j(sp)s(eci\014ed)f(as)g(the)h(name)g(of)g(a)g
+(command.)41 b(When)31 b(the)f(shell)h(is)g(in)f Fl(posix)g
+Ft(mo)s(de)g(\(see)i(Section)f(6.11)150 1384 y([Bash)36
+b(POSIX)f(Mo)s(de],)j(page)e(88\),)j Fq(name)i Ft(ma)m(y)36
+b(not)h(b)s(e)e(the)h(same)g(as)g(one)g(of)g(the)g(sp)s(ecial)h
+(builtins)150 1493 y(\(see)24 b(Section)g(4.4)g([Sp)s(ecial)g
+(Builtins],)h(page)f(63\).)40 b(An)m(y)23 b(redirections)h(\(see)g
+(Section)g(3.6)g([Redirections],)150 1603 y(page)31 b(27\))h(asso)s
+(ciated)g(with)e(the)g(shell)h(function)f(are)h(p)s(erformed)d(when)i
+(the)g(function)g(is)h(executed.)275 1745 y(A)41 b(function)f
+(de\014nition)h(ma)m(y)g(b)s(e)g(deleted)g(using)g(the)g(`)p
+Fs(-f)p Ft(')g(option)g(to)h(the)f Fs(unset)e Ft(builtin)i(\(see)150
+1855 y(Section)31 b(4.1)h([Bourne)e(Shell)g(Builtins],)h(page)h(37\).)
+275 1998 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 2107 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 2217 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
+2359 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
+2469 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 Fs(blank)p
+Ft(s)f(or)h(newlines.)62 b(This)150 2578 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 2688 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 2798
+y(using)i(the)g(braces,)h(the)g Fq(list)i Ft(m)m(ust)d(b)s(e)g
+(terminated)h(b)m(y)f(a)h(semicolon,)h(a)e(`)p Fs(&)p
+Ft(',)h(or)g(a)f(newline.)275 2940 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 3050 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(17\).)75 b(The)150 2941 y(sp)s(ecial)37
+(arameters],)i(page)c(18\).)75 b(The)150 3159 y(sp)s(ecial)37
 b(parameter)f(`)p Fs(#)p Ft(')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
-3051 y(re\015ect)h(the)f(c)m(hange.)56 b(Sp)s(ecial)35
+3269 y(re\015ect)h(the)f(c)m(hange.)56 b(Sp)s(ecial)35
 b(parameter)h Fs(0)f Ft(is)g(unc)m(hanged.)54 b(The)35
-b(\014rst)f(elemen)m(t)j(of)e(the)g Fs(FUNCNAME)150 3160
+b(\014rst)f(elemen)m(t)j(of)e(the)g Fs(FUNCNAME)150 3378
 y Ft(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
-3294 y(All)25 b(other)g(asp)s(ects)g(of)g(the)g(shell)g(execution)h(en)
+3521 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 3404 y(its)35 b(caller)i(with)d(these)i(exceptions:)50
+(and)150 3630 y(its)35 b(caller)i(with)d(these)i(exceptions:)50
 b(the)36 b Fs(DEBUG)d Ft(and)h Fs(RETURN)g Ft(traps)g(are)i(not)f
-(inherited)f(unless)h(the)150 3513 y(function)26 b(has)g(b)s(een)f(giv)
+(inherited)f(unless)h(the)150 3740 y(function)26 b(has)g(b)s(een)f(giv)
 m(en)i(the)g Fs(trace)d Ft(attribute)j(using)f(the)g
 Fs(declare)e Ft(builtin)i(or)g(the)h Fs(-o)i(functrace)150
-3623 y Ft(option)f(has)e(b)s(een)h(enabled)g(with)g(the)g
+3850 y Ft(option)f(has)e(b)s(een)h(enabled)g(with)g(the)g
 Fs(set)f Ft(builtin,)i(\(in)f(whic)m(h)f(case)j(all)f(functions)e
-(inherit)h(the)g Fs(DEBUG)150 3733 y Ft(and)33 b Fs(RETURN)f
+(inherit)h(the)g Fs(DEBUG)150 3959 y Ft(and)33 b Fs(RETURN)f
 Ft(traps\),)j(and)e(the)h Fs(ERR)f Ft(trap)h(is)g(not)g(inherited)f
 (unless)g(the)h Fs(-o)c(errtrace)h Ft(shell)j(option)150
-3842 y(has)h(b)s(een)f(enabled.)55 b(See)35 b(Section)h(4.1)g([Bourne)f
+4069 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(37,)i(for)c(the)i(description)f(of)150
-3952 y(the)c Fs(trap)e Ft(builtin.)275 4086 y(The)38
+4178 y(the)c Fs(trap)e Ft(builtin.)275 4321 y(The)38
 b Fs(FUNCNEST)f Ft(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
-4195 y(function)24 b(nesting)h(lev)m(el.)40 b(F)-8 b(unction)25
+4430 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 4305 y(to)31 b(ab)s(ort.)275
-4439 y(If)37 b(the)g(builtin)g(command)h Fs(return)d
+(en)m(tire)g(command)150 4540 y(to)31 b(ab)s(ort.)275
+4682 y(If)37 b(the)g(builtin)g(command)h Fs(return)d
 Ft(is)j(executed)g(in)g(a)g(function,)h(the)e(function)h(completes)h
-(and)150 4548 y(execution)25 b(resumes)e(with)h(the)g(next)g(command)f
+(and)150 4792 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 4658 y(with)36 b(the)h Fs(RETURN)d Ft(trap)i(is)h(executed)
+(ciated)150 4902 y(with)36 b(the)h Fs(RETURN)d Ft(trap)i(is)h(executed)
 g(b)s(efore)f(execution)i(resumes.)57 b(When)37 b(a)f(function)g
-(completes,)150 4768 y(the)h(v)-5 b(alues)38 b(of)f(the)g(p)s
+(completes,)150 5011 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
-Fs(#)p Ft(')g(are)h(restored)f(to)h(the)150 4877 y(v)-5
+Fs(#)p Ft(')g(are)h(restored)f(to)h(the)150 5121 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
-Fs(return)p Ft(,)150 4987 y(that)j(is)g(the)f(function's)h(return)e
+Fs(return)p Ft(,)150 5230 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 5096 y(of)h(the)f(last)h(command)f(executed)i(b)s
-(efore)e(the)g Fs(return)p Ft(.)275 5230 y(V)-8 b(ariables)31
-b(lo)s(cal)g(to)f(the)g(function)f(ma)m(y)i(b)s(e)e(declared)h(with)f
-(the)h Fs(local)f Ft(builtin.)40 b(These)29 b(v)-5 b(ariables)150
-5340 y(are)31 b(visible)g(only)f(to)h(the)g(function)f(and)g(the)g
-(commands)g(it)h(in)m(v)m(ok)m(es.)p eop end
+(exit)h(status)150 5340 y(of)h(the)f(last)h(command)f(executed)i(b)s
+(efore)e(the)g Fs(return)p Ft(.)p eop end
 %%Page: 17 23
 TeXDict begin 17 22 bop 150 -116 a Ft(Chapter)30 b(3:)41
 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(17)275 299
-y(F)-8 b(unction)38 b(names)f(and)g(de\014nitions)g(ma)m(y)i(b)s(e)e
-(listed)h(with)f(the)h(`)p Fs(-f)p Ft(')f(option)h(to)h(the)e
-Fs(declare)f Ft(or)150 408 y Fs(typeset)d Ft(builtin)h(commands)h
-(\(see)h(Section)g(4.2)g([Bash)f(Builtins],)i(page)f(43\).)55
-b(The)35 b(`)p Fs(-F)p Ft(')g(option)g(to)150 518 y Fs(declare)f
-Ft(or)i Fs(typeset)e Ft(will)i(list)h(the)f(function)g(names)g(only)g
-(\(and)g(optionally)h(the)f(source)g(\014le)h(and)150
-628 y(line)c(n)m(um)m(b)s(er,)g(if)f(the)h Fs(extdebug)e
+y(V)-8 b(ariables)31 b(lo)s(cal)g(to)f(the)g(function)f(ma)m(y)i(b)s(e)
+e(declared)h(with)f(the)h Fs(local)f Ft(builtin.)40 b(These)29
+b(v)-5 b(ariables)150 408 y(are)31 b(visible)g(only)f(to)h(the)g
+(function)f(and)g(the)g(commands)g(it)h(in)m(v)m(ok)m(es.)275
+567 y(F)-8 b(unction)47 b(names)g(and)f(de\014nitions)g(ma)m(y)h(b)s(e)
+f(listed)i(with)e(the)h(`)p Fs(-f)p Ft(')f(option)i(to)f(the)g
+Fs(declare)150 676 y Ft(\()p Fs(typeset)p Ft(\))39 b(builtin)i(command)
+f(\(see)i(Section)f(4.2)h([Bash)f(Builtins],)j(page)d(44\).)73
+b(The)40 b(`)p Fs(-F)p Ft(')g(option)150 786 y(to)29
+b Fs(declare)d Ft(or)i Fs(typeset)f Ft(will)h(list)h(the)f(function)g
+(names)h(only)f(\(and)g(optionally)h(the)g(source)f(\014le)h(and)150
+895 y(line)k(n)m(um)m(b)s(er,)g(if)f(the)h Fs(extdebug)e
 Ft(shell)i(option)g(is)g(enabled\).)49 b(F)-8 b(unctions)33
-b(ma)m(y)h(b)s(e)e(exp)s(orted)g(so)h(that)150 737 y(subshells)f
+b(ma)m(y)h(b)s(e)e(exp)s(orted)g(so)h(that)150 1005 y(subshells)f
 (automatically)37 b(ha)m(v)m(e)d(them)g(de\014ned)e(with)h(the)g(`)p
 Fs(-f)p Ft(')h(option)g(to)g(the)f Fs(export)f Ft(builtin)h(\(see)150
-847 y(Section)g(4.1)g([Bourne)f(Shell)g(Builtins],)i(page)f(37\).)47
+1115 y(Section)g(4.1)g([Bourne)f(Shell)g(Builtins],)i(page)f(37\).)47
 b(Note)33 b(that)g(shell)f(functions)g(and)f(v)-5 b(ariables)33
-b(with)150 956 y(the)d(same)g(name)g(ma)m(y)g(result)g(in)g(m)m
+b(with)150 1224 y(the)d(same)g(name)g(ma)m(y)g(result)g(in)g(m)m
 (ultiple)g(iden)m(tically-named)i(en)m(tries)f(in)e(the)h(en)m
-(vironmen)m(t)g(passed)150 1066 y(to)h(the)g(shell's)f(c)m(hildren.)41
+(vironmen)m(t)g(passed)150 1334 y(to)h(the)g(shell's)f(c)m(hildren.)41
 b(Care)30 b(should)g(b)s(e)f(tak)m(en)j(in)e(cases)h(where)f(this)g(ma)
-m(y)h(cause)g(a)g(problem.)275 1199 y(F)-8 b(unctions)33
+m(y)h(cause)g(a)g(problem.)275 1492 y(F)-8 b(unctions)33
 b(ma)m(y)g(b)s(e)g(recursiv)m(e.)48 b(The)32 b Fs(FUNCNEST)f
 Ft(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 1309 y(the)27 b(function)f(call)i(stac)m(k)h(and)d
+(depth)f(of)150 1601 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 1419
+(cations.)42 b(By)27 b(default,)g(no)g(limit)150 1711
 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 1649 y Fr(3.4)68 b(Shell)45 b(P)l(arameters)150
-1808 y Ft(A)23 b Fq(parameter)31 b Ft(is)23 b(an)g(en)m(tit)m(y)i(that)
+(calls.)150 1979 y Fr(3.4)68 b(Shell)45 b(P)l(arameters)150
+2138 y Ft(A)23 b Fq(parameter)31 b Ft(is)23 b(an)g(en)m(tit)m(y)i(that)
 f(stores)g(v)-5 b(alues.)39 b(It)23 b(can)h(b)s(e)f(a)g
 Fs(name)p Ft(,)h(a)g(n)m(um)m(b)s(er,)f(or)h(one)f(of)h(the)f(sp)s
-(ecial)150 1918 y(c)m(haracters)i(listed)f(b)s(elo)m(w.)39
+(ecial)150 2248 y(c)m(haracters)i(listed)f(b)s(elo)m(w.)39
 b(A)24 b Fq(v)-5 b(ariable)29 b Ft(is)24 b(a)g(parameter)g(denoted)f(b)
 m(y)h(a)g Fs(name)p Ft(.)37 b(A)24 b(v)-5 b(ariable)24
-b(has)f(a)h Fq(v)-5 b(alue)150 2027 y Ft(and)33 b(zero)i(or)e(more)h
+b(has)f(a)h Fq(v)-5 b(alue)150 2358 y Ft(and)33 b(zero)i(or)e(more)h
 Fq(attributes)t Ft(.)51 b(A)m(ttributes)34 b(are)g(assigned)g(using)f
-(the)h Fs(declare)e Ft(builtin)h(command)150 2137 y(\(see)e(the)g
+(the)h Fs(declare)e Ft(builtin)h(command)150 2467 y(\(see)e(the)g
 (description)f(of)h(the)f Fs(declare)f Ft(builtin)h(in)g(Section)h(4.2)
-g([Bash)g(Builtins],)g(page)g(43\).)275 2270 y(A)d(parameter)h(is)g
+g([Bash)g(Builtins],)g(page)g(44\).)275 2625 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 2380 y(a)31 b(v)-5
+b(alid)28 b(v)-5 b(alue.)41 b(Once)150 2735 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 Fs(unset)f Ft(builtin)h(command.)275 2513
+(using)g(the)g Fs(unset)f Ft(builtin)h(command.)275 2893
 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 2647 y Fi(name)11
-b Fs(=[)p Fi(value)g Fs(])150 2780 y Ft(If)34 b Fq(v)-5
+(statemen)m(t)h(of)e(the)h(form)390 3051 y Fi(name)11
+b Fs(=[)p Fi(value)g Fs(])150 3209 y Ft(If)34 b Fq(v)-5
 b(alue)40 b Ft(is)35 b(not)g(giv)m(en,)h(the)f(v)-5 b(ariable)35
 b(is)g(assigned)g(the)f(n)m(ull)h(string.)53 b(All)35
 b Fq(v)-5 b(alue)5 b Ft(s)35 b(undergo)f(tilde)h(ex-)150
-2890 y(pansion,)h(parameter)f(and)f(v)-5 b(ariable)36
+3319 y(pansion,)h(parameter)f(and)f(v)-5 b(ariable)36
 b(expansion,)f(command)g(substitution,)h(arithmetic)g(expansion,)150
-3000 y(and)k(quote)h(remo)m(v)-5 b(al)42 b(\(detailed)h(b)s(elo)m(w\).)
+3428 y(and)k(quote)h(remo)m(v)-5 b(al)42 b(\(detailed)h(b)s(elo)m(w\).)
 72 b(If)40 b(the)h(v)-5 b(ariable)41 b(has)g(its)g Fs(integer)e
-Ft(attribute)i(set,)j(then)150 3109 y Fq(v)-5 b(alue)38
+Ft(attribute)i(set,)j(then)150 3538 y Fq(v)-5 b(alue)38
 b Ft(is)33 b(ev)-5 b(aluated)34 b(as)f(an)g(arithmetic)h(expression)f
 (ev)m(en)h(if)e(the)h Fs($\(\(...)o(\)\))f Ft(expansion)h(is)g(not)g
-(used)150 3219 y(\(see)e(Section)g(3.5.5)i([Arithmetic)e(Expansion],)f
+(used)150 3648 y(\(see)e(Section)g(3.5.5)i([Arithmetic)e(Expansion],)f
 (page)h(24\).)42 b(W)-8 b(ord)31 b(splitting)g(is)g(not)f(p)s
-(erformed,)f(with)150 3328 y(the)35 b(exception)h(of)f
+(erformed,)f(with)150 3757 y(the)35 b(exception)h(of)f
 Fs("$@")f Ft(as)h(explained)g(b)s(elo)m(w.)54 b(Filename)36
 b(expansion)f(is)g(not)g(p)s(erformed.)53 b(Assign-)150
-3438 y(men)m(t)33 b(statemen)m(ts)h(ma)m(y)f(also)g(app)s(ear)f(as)g
+3867 y(men)m(t)33 b(statemen)m(ts)h(ma)m(y)f(also)g(app)s(ear)f(as)g
 (argumen)m(ts)h(to)g(the)g Fs(alias)p Ft(,)e Fs(declare)p
-Ft(,)g Fs(typeset)p Ft(,)g Fs(export)p Ft(,)150 3547
-y Fs(readonly)p Ft(,)d(and)i Fs(local)f Ft(builtin)h(commands.)275
-3681 y(In)f(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 3790 y(arra)m(y)f(index)g(\(see)h(Section)g(6.7)g
-([Arra)m(ys],)g(page)g(84\),)g(the)f(`)p Fs(+=)p Ft(')g(op)s(erator)g
-(can)h(b)s(e)e(used)g(to)i(app)s(end)d(to)150 3900 y(or)36
-b(add)g(to)h(the)f(v)-5 b(ariable's)37 b(previous)f(v)-5
-b(alue.)59 b(When)36 b(`)p Fs(+=)p Ft(')g(is)g(applied)g(to)h(a)g(v)-5
-b(ariable)37 b(for)f(whic)m(h)g(the)150 4010 y Fq(in)m(teger)46
-b Ft(attribute)38 b(has)f(b)s(een)g(set,)k Fq(v)-5 b(alue)43
+Ft(,)g Fs(typeset)p Ft(,)g Fs(export)p Ft(,)150 3976
+y Fs(readonly)p Ft(,)41 b(and)f Fs(local)f Ft(builtin)h(commands.)71
+b(When)40 b(in)h Fl(posix)e Ft(mo)s(de)i(\(see)g(Section)g(6.11)i
+([Bash)150 4086 y(POSIX)36 b(Mo)s(de],)k(page)e(88\),)i(these)e
+(builtins)f(ma)m(y)h(app)s(ear)e(in)h(a)h(command)f(after)h(one)f(or)h
+(more)f(in-)150 4196 y(stances)31 b(of)g(the)f Fs(command)f
+Ft(builtin)h(and)f(retain)i(these)g(assignmen)m(t)g(statemen)m(t)h
+(prop)s(erties.)275 4354 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
+4463 y(arra)m(y)f(index)g(\(see)h(Section)g(6.7)g([Arra)m(ys],)g(page)g
+(84\),)g(the)f(`)p Fs(+=)p Ft(')g(op)s(erator)g(can)h(b)s(e)e(used)g
+(to)i(app)s(end)d(to)150 4573 y(or)36 b(add)g(to)h(the)f(v)-5
+b(ariable's)37 b(previous)f(v)-5 b(alue.)59 b(When)36
+b(`)p Fs(+=)p Ft(')g(is)g(applied)g(to)h(a)g(v)-5 b(ariable)37
+b(for)f(whic)m(h)g(the)150 4682 y Fq(in)m(teger)46 b
+Ft(attribute)38 b(has)f(b)s(een)g(set,)k Fq(v)-5 b(alue)43
 b Ft(is)38 b(ev)-5 b(aluated)39 b(as)f(an)f(arithmetic)i(expression)f
-(and)f(added)150 4119 y(to)f(the)f(v)-5 b(ariable's)36
+(and)f(added)150 4792 y(to)f(the)f(v)-5 b(ariable's)36
 b(curren)m(t)f(v)-5 b(alue,)37 b(whic)m(h)e(is)g(also)h(ev)-5
 b(aluated.)56 b(When)35 b(`)p Fs(+=)p Ft(')g(is)h(applied)f(to)g(an)g
-(arra)m(y)150 4229 y(v)-5 b(ariable)26 b(using)e(comp)s(ound)f
+(arra)m(y)150 4902 y(v)-5 b(ariable)26 b(using)e(comp)s(ound)f
 (assignmen)m(t)j(\(see)f(Section)h(6.7)f([Arra)m(ys],)i(page)f(84\),)h
-(the)e(v)-5 b(ariable's)25 b(v)-5 b(alue)150 4338 y(is)32
+(the)e(v)-5 b(ariable's)25 b(v)-5 b(alue)150 5011 y(is)32
 b(not)f(unset)h(\(as)g(it)g(is)f(when)g(using)g(`)p Fs(=)p
 Ft('\),)i(and)e(new)g(v)-5 b(alues)32 b(are)g(app)s(ended)d(to)k(the)f
-(arra)m(y)g(b)s(eginning)150 4448 y(at)27 b(one)f(greater)i(than)e(the)
+(arra)m(y)g(b)s(eginning)150 5121 y(at)27 b(one)f(greater)i(than)e(the)
 g(arra)m(y's)h(maxim)m(um)f(index)g(\(for)g(indexed)g(arra)m(ys\),)i
-(or)e(added)g(as)g(additional)150 4558 y(k)m(ey-v)-5
+(or)e(added)g(as)g(additional)150 5230 y(k)m(ey-v)-5
 b(alue)35 b(pairs)e(in)g(an)g(asso)s(ciativ)m(e)j(arra)m(y)-8
 b(.)51 b(When)33 b(applied)g(to)h(a)g(string-v)-5 b(alued)34
 b(v)-5 b(ariable,)35 b Fq(v)-5 b(alue)39 b Ft(is)150
-4667 y(expanded)30 b(and)f(app)s(ended)g(to)i(the)g(v)-5
-b(ariable's)31 b(v)-5 b(alue.)150 4864 y Fj(3.4.1)63
-b(P)m(ositional)41 b(P)m(arameters)150 5011 y Ft(A)28
-b Fq(p)s(ositional)h(parameter)35 b Ft(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
-5121 y(digit)34 b Fs(0)p Ft(.)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 5230 y(and)38 b(ma)m(y)i(b)s(e)e(reassigned)i(using)
-e(the)h Fs(set)g Ft(builtin)f(command.)67 b(P)m(ositional)41
-b(parameter)e Fs(N)g Ft(ma)m(y)h(b)s(e)150 5340 y(referenced)34
-b(as)h Fs(${N})p Ft(,)g(or)f(as)h Fs($N)e Ft(when)h Fs(N)g
-Ft(consists)h(of)f(a)h(single)g(digit.)54 b(P)m(ositional)37
-b(parameters)d(ma)m(y)p eop end
+5340 y(expanded)30 b(and)f(app)s(ended)g(to)i(the)g(v)-5
+b(ariable's)31 b(v)-5 b(alue.)p eop end
 %%Page: 18 24
 TeXDict begin 18 23 bop 150 -116 a Ft(18)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y(not)37 b(b)s(e)f(assigned)h(to)g
-(with)f(assignmen)m(t)i(statemen)m(ts.)61 b(The)36 b
-Fs(set)g Ft(and)g Fs(shift)f Ft(builtins)h(are)h(used)f(to)150
-408 y(set)k(and)f(unset)f(them)i(\(see)g(Chapter)f(4)g([Shell)h
+b(Reference)g(Man)m(ual)150 299 y Fj(3.4.1)63 b(P)m(ositional)41
+b(P)m(arameters)150 446 y Ft(A)28 b Fq(p)s(ositional)h(parameter)35
+b Ft(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 Fs(0)p Ft(.)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
+Fs(set)g Ft(builtin)f(command.)67 b(P)m(ositional)41
+b(parameter)e Fs(N)g Ft(ma)m(y)h(b)s(e)150 775 y(referenced)34
+b(as)h Fs(${N})p Ft(,)g(or)f(as)h Fs($N)e Ft(when)h Fs(N)g
+Ft(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
+(assignmen)m(t)i(statemen)m(ts.)61 b(The)36 b Fs(set)g
+Ft(and)g Fs(shift)f Ft(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(37\).)68 b(The)39 b(p)s(ositional)150
-518 y(parameters)44 b(are)g(temp)s(orarily)g(replaced)h(when)e(a)h
+1103 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
-628 y([Shell)30 b(F)-8 b(unctions],)32 b(page)f(15\).)275
-767 y(When)c(a)i(p)s(ositional)g(parameter)g(consisting)f(of)h(more)f
+1213 y([Shell)30 b(F)-8 b(unctions],)32 b(page)f(15\).)275
+1345 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
-877 y(b)s(e)h(enclosed)h(in)f(braces.)150 1081 y Fj(3.4.2)63
-b(Sp)s(ecial)41 b(P)m(arameters)150 1228 y Ft(The)d(shell)g(treats)h
+1455 y(b)s(e)h(enclosed)h(in)f(braces.)150 1650 y Fj(3.4.2)63
+b(Sp)s(ecial)41 b(P)m(arameters)150 1797 y Ft(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
-1337 y(assignmen)m(t)31 b(to)g(them)g(is)f(not)h(allo)m(w)m(ed.)150
-1504 y Fs(*)432 b Ft(Expands)29 b(to)h(the)h(p)s(ositional)f
+1907 y(assignmen)m(t)31 b(to)g(them)g(is)f(not)h(allo)m(w)m(ed.)150
+2062 y Fs(*)432 b Ft(Expands)29 b(to)h(the)h(p)s(ositional)f
 (parameters,)h(starting)g(from)e(one.)41 b(When)30 b(the)g(expansion)
-630 1614 y(o)s(ccurs)e(within)f(double)h(quotes,)h(it)g(expands)e(to)i
+630 2171 y(o)s(ccurs)e(within)f(double)h(quotes,)h(it)g(expands)e(to)i
 (a)f(single)h(w)m(ord)f(with)g(the)g(v)-5 b(alue)29 b(of)f(eac)m(h)630
-1724 y(parameter)i(separated)g(b)m(y)f(the)g(\014rst)g(c)m(haracter)i
+2281 y(parameter)i(separated)g(b)m(y)f(the)g(\014rst)g(c)m(haracter)i
 (of)e(the)h Fs(IFS)e Ft(sp)s(ecial)i(v)-5 b(ariable.)41
-b(That)30 b(is,)630 1833 y Fs("$*")h Ft(is)i(equiv)-5
+b(That)30 b(is,)630 2391 y Fs("$*")h Ft(is)i(equiv)-5
 b(alen)m(t)33 b(to)h Fs("$1)p Fi(c)11 b Fs($2)p Fi(c)g
 Fs(...)l(")p Ft(,)33 b(where)f Fq(c)38 b Ft(is)32 b(the)h(\014rst)e(c)m
-(haracter)j(of)f(the)f(v)-5 b(alue)630 1943 y(of)30 b(the)g
+(haracter)j(of)f(the)f(v)-5 b(alue)630 2500 y(of)30 b(the)g
 Fs(IFS)g Ft(v)-5 b(ariable.)41 b(If)30 b Fs(IFS)f Ft(is)h(unset,)g(the)
 g(parameters)g(are)h(separated)f(b)m(y)g(spaces.)41 b(If)630
-2052 y Fs(IFS)29 b Ft(is)i(n)m(ull,)f(the)h(parameters)g(are)f(joined)h
-(without)f(in)m(terv)m(ening)i(separators.)150 2217 y
+2610 y Fs(IFS)29 b Ft(is)i(n)m(ull,)f(the)h(parameters)g(are)f(joined)h
+(without)f(in)m(terv)m(ening)i(separators.)150 2765 y
 Fs(@)432 b Ft(Expands)29 b(to)h(the)h(p)s(ositional)f(parameters,)h
 (starting)g(from)e(one.)41 b(When)30 b(the)g(expansion)630
-2326 y(o)s(ccurs)c(within)g(double)f(quotes,)j(eac)m(h)f(parameter)g
+2874 y(o)s(ccurs)c(within)g(double)f(quotes,)j(eac)m(h)f(parameter)g
 (expands)e(to)i(a)g(separate)g(w)m(ord.)39 b(That)630
-2436 y(is,)29 b Fs("$@")e Ft(is)i(equiv)-5 b(alen)m(t)30
+2984 y(is,)29 b Fs("$@")e Ft(is)i(equiv)-5 b(alen)m(t)30
 b(to)f Fs("$1")g("$2")h(...)o Ft(.)40 b(If)28 b(the)g(double-quoted)h
-(expansion)f(o)s(ccurs)630 2545 y(within)d(a)h(w)m(ord,)g(the)g
+(expansion)f(o)s(ccurs)630 3094 y(within)d(a)h(w)m(ord,)g(the)g
 (expansion)f(of)h(the)g(\014rst)f(parameter)h(is)f(joined)h(with)f(the)
-h(b)s(eginning)630 2655 y(part)f(of)g(the)g(original)g(w)m(ord,)h(and)e
+h(b)s(eginning)630 3203 y(part)f(of)g(the)g(original)g(w)m(ord,)h(and)e
 (the)h(expansion)g(of)g(the)g(last)h(parameter)f(is)g(joined)f(with)630
-2765 y(the)37 b(last)g(part)g(of)f(the)h(original)h(w)m(ord.)59
+3313 y(the)37 b(last)g(part)g(of)f(the)h(original)h(w)m(ord.)59
 b(When)36 b(there)h(are)g(no)f(p)s(ositional)h(parameters,)630
-2874 y Fs("$@")29 b Ft(and)h Fs($@)g Ft(expand)f(to)j(nothing)e
-(\(i.e.,)i(they)e(are)h(remo)m(v)m(ed\).)150 3039 y Fs(#)432
+3422 y Fs("$@")29 b Ft(and)h Fs($@)g Ft(expand)f(to)j(nothing)e
+(\(i.e.,)i(they)e(are)h(remo)m(v)m(ed\).)150 3578 y Fs(#)432
 b Ft(Expands)29 b(to)i(the)g(n)m(um)m(b)s(er)e(of)h(p)s(ositional)h
-(parameters)g(in)f(decimal.)150 3203 y Fs(?)432 b Ft(Expands)29
+(parameters)g(in)f(decimal.)150 3733 y Fs(?)432 b Ft(Expands)29
 b(to)i(the)g(exit)g(status)g(of)f(the)h(most)f(recen)m(tly)i(executed)f
-(foreground)f(pip)s(eline.)150 3367 y Fs(-)432 b Ft(\(A)31
+(foreground)f(pip)s(eline.)150 3888 y Fs(-)432 b Ft(\(A)31
 b(h)m(yphen.\))42 b(Expands)30 b(to)h(the)g(curren)m(t)g(option)h
 (\015ags)f(as)g(sp)s(eci\014ed)f(up)s(on)g(in)m(v)m(o)s(cation,)630
-3477 y(b)m(y)35 b(the)h Fs(set)e Ft(builtin)h(command,)h(or)g(those)g
+3998 y(b)m(y)35 b(the)h Fs(set)e Ft(builtin)h(command,)h(or)g(those)g
 (set)f(b)m(y)h(the)f(shell)h(itself)g(\(suc)m(h)f(as)h(the)f(`)p
-Fs(-i)p Ft(')630 3587 y(option\).)150 3751 y Fs($)432
+Fs(-i)p Ft(')630 4107 y(option\).)150 4262 y Fs($)432
 b Ft(Expands)39 b(to)j(the)f(pro)s(cess)f Fl(id)h Ft(of)g(the)g(shell.)
 73 b(In)40 b(a)h Fs(\(\))f Ft(subshell,)j(it)e(expands)f(to)i(the)630
-3861 y(pro)s(cess)30 b Fl(id)g Ft(of)h(the)g(in)m(v)m(oking)g(shell,)g
-(not)g(the)f(subshell.)150 4025 y Fs(!)432 b Ft(Expands)39
+4372 y(pro)s(cess)30 b Fl(id)g Ft(of)h(the)g(in)m(v)m(oking)g(shell,)g
+(not)g(the)f(subshell.)150 4527 y Fs(!)432 b Ft(Expands)39
 b(to)i(the)g(pro)s(cess)e Fl(id)i Ft(of)f(the)h(most)g(recen)m(tly)g
-(executed)g(bac)m(kground)g(\(asyn-)630 4134 y(c)m(hronous\))30
-b(command.)150 4299 y Fs(0)432 b Ft(Expands)20 b(to)j(the)f(name)g(of)g
+(executed)g(bac)m(kground)g(\(asyn-)630 4637 y(c)m(hronous\))30
+b(command.)150 4792 y Fs(0)432 b Ft(Expands)20 b(to)j(the)f(name)g(of)g
 (the)g(shell)g(or)f(shell)h(script.)38 b(This)21 b(is)h(set)g(at)h
-(shell)f(initialization.)630 4408 y(If)44 b(Bash)g(is)g(in)m(v)m(ok)m
+(shell)f(initialization.)630 4902 y(If)44 b(Bash)g(is)g(in)m(v)m(ok)m
 (ed)i(with)e(a)g(\014le)g(of)h(commands)e(\(see)j(Section)f(3.8)g
-([Shell)f(Scripts],)630 4518 y(page)39 b(35\),)i Fs($0)d
+([Shell)f(Scripts],)630 5011 y(page)39 b(35\),)i Fs($0)d
 Ft(is)g(set)g(to)h(the)f(name)g(of)g(that)h(\014le.)64
 b(If)37 b(Bash)i(is)f(started)g(with)g(the)g(`)p Fs(-c)p
-Ft(')630 4628 y(option)i(\(see)g(Section)h(6.1)f([In)m(v)m(oking)h
+Ft(')630 5121 y(option)i(\(see)g(Section)h(6.1)f([In)m(v)m(oking)h
 (Bash],)h(page)e(75\),)j(then)d Fs($0)e Ft(is)i(set)g(to)g(the)g
-(\014rst)630 4737 y(argumen)m(t)31 b(after)g(the)g(string)g(to)g(b)s(e)
+(\014rst)630 5230 y(argumen)m(t)31 b(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 4847 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
-5011 y Fs(_)432 b Ft(\(An)27 b(underscore.\))39 b(A)m(t)29
+b(it)g(is)f(set)630 5340 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.)p
+eop end
+%%Page: 19 25
+TeXDict begin 19 24 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(19)150 299
+y Fs(_)432 b Ft(\(An)27 b(underscore.\))39 b(A)m(t)29
 b(shell)e(startup,)h(set)f(to)h(the)g(absolute)g(pathname)f(used)f(to)i
-(in)m(v)m(ok)m(e)630 5121 y(the)22 b(shell)g(or)g(shell)g(script)f(b)s
+(in)m(v)m(ok)m(e)630 408 y(the)22 b(shell)g(or)g(shell)g(script)f(b)s
 (eing)h(executed)h(as)f(passed)f(in)g(the)h(en)m(vironmen)m(t)h(or)e
-(argumen)m(t)630 5230 y(list.)72 b(Subsequen)m(tly)-8
+(argumen)m(t)630 518 y(list.)72 b(Subsequen)m(tly)-8
 b(,)43 b(expands)c(to)j(the)e(last)i(argumen)m(t)f(to)g(the)g(previous)
-f(command,)630 5340 y(after)35 b(expansion.)54 b(Also)36
+f(command,)630 628 y(after)35 b(expansion.)54 b(Also)36
 b(set)f(to)h(the)f(full)f(pathname)h(used)f(to)h(in)m(v)m(ok)m(e)i(eac)
-m(h)f(command)p eop end
-%%Page: 19 25
-TeXDict begin 19 24 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(19)630 299
-y(executed)42 b(and)e(placed)i(in)e(the)h(en)m(vironmen)m(t)h(exp)s
-(orted)f(to)g(that)h(command.)72 b(When)630 408 y(c)m(hec)m(king)32
-b(mail,)f(this)g(parameter)g(holds)e(the)i(name)f(of)h(the)g(mail)g
-(\014le.)150 639 y Fr(3.5)68 b(Shell)45 b(Expansions)150
-799 y Ft(Expansion)27 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)i Fs(token)p
-Ft(s.)38 b(There)28 b(are)150 908 y(sev)m(en)j(kinds)e(of)i(expansion)f
-(p)s(erformed:)225 1042 y Fp(\017)60 b Ft(brace)31 b(expansion)225
-1176 y Fp(\017)60 b Ft(tilde)31 b(expansion)225 1309
-y Fp(\017)60 b Ft(parameter)31 b(and)f(v)-5 b(ariable)31
-b(expansion)225 1443 y Fp(\017)60 b Ft(command)30 b(substitution)225
-1577 y Fp(\017)60 b Ft(arithmetic)32 b(expansion)225
-1710 y Fp(\017)60 b Ft(w)m(ord)30 b(splitting)225 1844
-y Fp(\017)60 b Ft(\014lename)31 b(expansion)275 2002
-y(The)i(order)g(of)h(expansions)g(is:)47 b(brace)34 b(expansion,)h
-(tilde)g(expansion,)f(parameter,)i(v)-5 b(ariable,)36
-b(and)150 2111 y(arithmetic)46 b(expansion)f(and)g(command)f
-(substitution)h(\(done)g(in)g(a)g(left-to-righ)m(t)j(fashion\),)h(w)m
-(ord)150 2221 y(splitting,)31 b(and)f(\014lename)h(expansion.)275
-2355 y(On)42 b(systems)h(that)h(can)g(supp)s(ort)e(it,)47
-b(there)d(is)f(an)h(additional)g(expansion)f(a)m(v)-5
-b(ailable:)69 b Fq(pro)s(cess)150 2464 y(substitution)p
+m(h)f(command)630 737 y(executed)42 b(and)e(placed)i(in)e(the)h(en)m
+(vironmen)m(t)h(exp)s(orted)f(to)g(that)h(command.)72
+b(When)630 847 y(c)m(hec)m(king)32 b(mail,)f(this)g(parameter)g(holds)e
+(the)i(name)f(of)h(the)g(mail)g(\014le.)150 1093 y Fr(3.5)68
+b(Shell)45 b(Expansions)150 1252 y Ft(Expansion)27 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)i Fs(token)p Ft(s.)38 b(There)28 b(are)150 1362 y(sev)m(en)j(kinds)
+e(of)i(expansion)f(p)s(erformed:)225 1506 y Fp(\017)60
+b Ft(brace)31 b(expansion)225 1645 y Fp(\017)60 b Ft(tilde)31
+b(expansion)225 1784 y Fp(\017)60 b Ft(parameter)31 b(and)f(v)-5
+b(ariable)31 b(expansion)225 1923 y Fp(\017)60 b Ft(command)30
+b(substitution)225 2062 y Fp(\017)60 b Ft(arithmetic)32
+b(expansion)225 2201 y Fp(\017)60 b Ft(w)m(ord)30 b(splitting)225
+2340 y Fp(\017)60 b Ft(\014lename)31 b(expansion)275
+2513 y(The)i(order)g(of)h(expansions)g(is:)47 b(brace)34
+b(expansion,)h(tilde)g(expansion,)f(parameter,)i(v)-5
+b(ariable,)36 b(and)150 2623 y(arithmetic)46 b(expansion)f(and)g
+(command)f(substitution)h(\(done)g(in)g(a)g(left-to-righ)m(t)j
+(fashion\),)h(w)m(ord)150 2732 y(splitting,)31 b(and)f(\014lename)h
+(expansion.)275 2876 y(On)42 b(systems)h(that)h(can)g(supp)s(ort)e(it,)
+47 b(there)d(is)f(an)h(additional)g(expansion)f(a)m(v)-5
+b(ailable:)69 b Fq(pro)s(cess)150 2985 y(substitution)p
 Ft(.)61 b(This)36 b(is)h(p)s(erformed)f(at)i(the)f(same)h(time)f(as)h
 (parameter,)h(v)-5 b(ariable,)40 b(and)d(arithmetic)150
-2574 y(expansion)30 b(and)g(command)g(substitution.)275
-2707 y(Only)35 b(brace)i(expansion,)h(w)m(ord)e(splitting,)j(and)d
+3095 y(expansion)30 b(and)g(command)g(substitution.)275
+3239 y(Only)35 b(brace)i(expansion,)h(w)m(ord)e(splitting,)j(and)d
 (\014lename)g(expansion)g(can)h(c)m(hange)h(the)e(n)m(um)m(b)s(er)150
-2817 y(of)h(w)m(ords)f(of)g(the)h(expansion;)i(other)e(expansions)f
+3348 y(of)h(w)m(ords)f(of)g(the)h(expansion;)i(other)e(expansions)f
 (expand)g(a)h(single)g(w)m(ord)f(to)h(a)g(single)g(w)m(ord.)58
-b(The)150 2927 y(only)32 b(exceptions)i(to)f(this)f(are)h(the)f
+b(The)150 3458 y(only)32 b(exceptions)i(to)f(this)f(are)h(the)f
 (expansions)g(of)h Fs("$@")e Ft(\(see)i(Section)g(3.4.2)h([Sp)s(ecial)f
-(P)m(arameters],)150 3036 y(page)e(18\))h(and)d Fs("${)p
+(P)m(arameters],)150 3567 y(page)e(18\))h(and)d Fs("${)p
 Fi(name)11 b Fs([@]}")27 b Ft(\(see)k(Section)h(6.7)f([Arra)m(ys],)g
-(page)g(84\).)275 3170 y(After)41 b(all)i(expansions,)h
+(page)g(84\).)275 3711 y(After)41 b(all)i(expansions,)h
 Fs(quote)29 b(removal)40 b Ft(\(see)i(Section)h(3.5.9)g([Quote)f(Remo)m
-(v)-5 b(al],)47 b(page)42 b(27\))h(is)150 3279 y(p)s(erformed.)150
-3477 y Fj(3.5.1)63 b(Brace)40 b(Expansion)150 3624 y
-Ft(Brace)28 b(expansion)f(is)h(a)f(mec)m(hanism)h(b)m(y)f(whic)m(h)f
-(arbitrary)h(strings)g(ma)m(y)h(b)s(e)f(generated.)40
-b(This)27 b(mec)m(ha-)150 3733 y(nism)e(is)h(similar)g(to)g
-Fq(\014lename)g(expansion)f Ft(\(see)i(Section)f(3.5.8)i([Filename)f
-(Expansion],)f(page)h(25\),)h(but)150 3843 y(the)36 b(\014le)f(names)h
-(generated)g(need)f(not)h(exist.)57 b(P)m(atterns)36
-b(to)g(b)s(e)f(brace)h(expanded)e(tak)m(e)j(the)f(form)f(of)150
-3953 y(an)29 b(optional)i Fq(pream)m(ble)5 b Ft(,)30
-b(follo)m(w)m(ed)i(b)m(y)d(either)h(a)g(series)g(of)g(comma-separated)h
-(strings)e(or)h(a)g(sequence)150 4062 y(expression)36
-b(b)s(et)m(w)m(een)g(a)g(pair)g(of)g(braces,)i(follo)m(w)m(ed)f(b)m(y)f
-(an)g(optional)h Fq(p)s(ostscript)r Ft(.)56 b(The)36
-b(pream)m(ble)g(is)150 4172 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 4281 y(eac)m(h)32 b(resulting)e
-(string,)h(expanding)e(left)j(to)f(righ)m(t.)275 4415
-y(Brace)37 b(expansions)f(ma)m(y)h(b)s(e)f(nested.)59
+(v)-5 b(al],)47 b(page)42 b(27\))h(is)150 3821 y(p)s(erformed.)150
+4029 y Fj(3.5.1)63 b(Brace)40 b(Expansion)150 4176 y
+Ft(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 4286 y(anism)35 b(is)h(similar)f(to)h
+Fq(\014lename)g(expansion)f Ft(\(see)i(Section)f(3.5.8)h([Filename)g
+(Expansion],)f(page)g(25\),)150 4395 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
+4505 y(an)i(optional)i Fq(pream)m(ble)5 b Ft(,)30 b(follo)m(w)m(ed)i(b)
+m(y)d(either)h(a)g(series)g(of)g(comma-separated)h(strings)e(or)h(a)g
+(sequence)150 4614 y(expression)36 b(b)s(et)m(w)m(een)g(a)g(pair)g(of)g
+(braces,)i(follo)m(w)m(ed)f(b)m(y)f(an)g(optional)h Fq(p)s(ostscript)r
+Ft(.)56 b(The)36 b(pream)m(ble)g(is)150 4724 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
+4834 y(eac)m(h)32 b(resulting)e(string,)h(expanding)e(left)j(to)f(righ)
+m(t.)275 4977 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 4525 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 4658 y Fs(bash$)46
-b(echo)h(a{d,c,b}e)390 4768 y(ade)g(ace)g(abe)275 4902
-y Ft(A)20 b(sequence)h(expression)g(tak)m(es)h(the)f(form)f
-Fs({)p Fi(x)11 b Fs(..)p Fi(y)g Fs([..)p Fi(incr)g Fs(]})p
-Ft(,)18 b(where)i Fq(x)27 b Ft(and)20 b Fq(y)28 b Ft(are)22
-b(either)f(in)m(tegers)150 5011 y(or)42 b(single)h(c)m(haracters,)j
-(and)c Fq(incr)7 b Ft(,)44 b(an)e(optional)h(incremen)m(t,)j(is)c(an)g
-(in)m(teger.)77 b(When)41 b(in)m(tegers)j(are)150 5121
-y(supplied,)e(the)f(expression)g(expands)f(to)h(eac)m(h)h(n)m(um)m(b)s
-(er)e(b)s(et)m(w)m(een)h Fq(x)47 b Ft(and)40 b Fq(y)8
-b Ft(,)44 b(inclusiv)m(e.)73 b(Supplied)150 5230 y(in)m(tegers)33
-b(ma)m(y)e(b)s(e)g(pre\014xed)f(with)h(`)p Fs(0)p Ft(')h(to)g(force)g
-(eac)m(h)g(term)g(to)g(ha)m(v)m(e)g(the)g(same)g(width.)42
-b(When)31 b(either)150 5340 y Fq(x)43 b Ft(or)36 b Fq(y)44
-b Ft(b)s(egins)36 b(with)g(a)h(zero,)i(the)e(shell)g(attempts)g(to)g
-(force)g(all)h(generated)f(terms)g(to)g(con)m(tain)h(the)p
-eop end
+(sorted;)150 5087 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 5230 y Fs(bash$)46
+b(echo)h(a{d,c,b}e)390 5340 y(ade)g(ace)g(abe)p eop end
 %%Page: 20 26
 TeXDict begin 20 25 bop 150 -116 a Ft(20)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y(same)36 b(n)m(um)m(b)s(er)e(of)i
-(digits,)i(zero-padding)d(where)h(necessary)-8 b(.)57
-b(When)35 b(c)m(haracters)i(are)f(supplied,)g(the)150
-408 y(expression)h(expands)f(to)i(eac)m(h)g(c)m(haracter)g
-(lexicographically)i(b)s(et)m(w)m(een)e Fq(x)43 b Ft(and)37
-b Fq(y)8 b Ft(,)38 b(inclusiv)m(e.)62 b(Note)150 518
-y(that)30 b(b)s(oth)e Fq(x)35 b Ft(and)28 b Fq(y)37 b
-Ft(m)m(ust)29 b(b)s(e)f(of)h(the)g(same)g(t)m(yp)s(e.)41
+b(Reference)g(Man)m(ual)275 299 y(A)20 b(sequence)h(expression)g(tak)m
+(es)h(the)f(form)f Fs({)p Fi(x)11 b Fs(..)p Fi(y)g Fs([..)p
+Fi(incr)g Fs(]})p Ft(,)18 b(where)i Fq(x)27 b Ft(and)20
+b Fq(y)28 b Ft(are)22 b(either)f(in)m(tegers)150 408
+y(or)42 b(single)h(c)m(haracters,)j(and)c Fq(incr)7 b
+Ft(,)44 b(an)e(optional)h(incremen)m(t,)j(is)c(an)g(in)m(teger.)77
+b(When)41 b(in)m(tegers)j(are)150 518 y(supplied,)e(the)f(expression)g
+(expands)f(to)h(eac)m(h)h(n)m(um)m(b)s(er)e(b)s(et)m(w)m(een)h
+Fq(x)47 b Ft(and)40 b Fq(y)8 b Ft(,)44 b(inclusiv)m(e.)73
+b(Supplied)150 628 y(in)m(tegers)33 b(ma)m(y)e(b)s(e)g(pre\014xed)f
+(with)h(`)p Fs(0)p Ft(')h(to)g(force)g(eac)m(h)g(term)g(to)g(ha)m(v)m
+(e)g(the)g(same)g(width.)42 b(When)31 b(either)150 737
+y Fq(x)43 b Ft(or)36 b Fq(y)44 b Ft(b)s(egins)36 b(with)g(a)h(zero,)i
+(the)e(shell)g(attempts)g(to)g(force)g(all)h(generated)f(terms)g(to)g
+(con)m(tain)h(the)150 847 y(same)e(n)m(um)m(b)s(er)e(of)i(digits,)i
+(zero-padding)d(where)h(necessary)-8 b(.)57 b(When)35
+b(c)m(haracters)i(are)f(supplied,)g(the)150 956 y(expression)h(expands)
+f(to)i(eac)m(h)g(c)m(haracter)g(lexicographically)i(b)s(et)m(w)m(een)e
+Fq(x)43 b Ft(and)37 b Fq(y)8 b Ft(,)38 b(inclusiv)m(e.)62
+b(Note)150 1066 y(that)30 b(b)s(oth)e Fq(x)35 b Ft(and)28
+b Fq(y)37 b Ft(m)m(ust)29 b(b)s(e)f(of)h(the)g(same)g(t)m(yp)s(e.)41
 b(When)28 b(the)i(incremen)m(t)f(is)g(supplied,)f(it)i(is)f(used)f(as)
-150 628 y(the)j(di\013erence)f(b)s(et)m(w)m(een)h(eac)m(h)h(term.)41
+150 1176 y(the)j(di\013erence)f(b)s(et)m(w)m(een)h(eac)m(h)h(term.)41
 b(The)30 b(default)g(incremen)m(t)h(is)g(1)f(or)h(-1)g(as)f
-(appropriate.)275 760 y(Brace)36 b(expansion)g(is)f(p)s(erformed)f(b)s
+(appropriate.)275 1305 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 869 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 979 y(an)m(y)27
+(sp)s(ecial)150 1414 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 1524 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.)150
-1089 y(T)-8 b(o)37 b(a)m(v)m(oid)g(con\015icts)g(with)f(parameter)h
+1633 y(T)-8 b(o)37 b(a)m(v)m(oid)g(con\015icts)g(with)f(parameter)h
 (expansion,)g(the)g(string)f(`)p Fs(${)p Ft(')g(is)g(not)g(considered)g
-(eligible)i(for)150 1198 y(brace)31 b(expansion.)275
-1330 y(A)e(correctly-formed)i(brace)f(expansion)f(m)m(ust)h(con)m(tain)
+(eligible)i(for)150 1743 y(brace)31 b(expansion.)275
+1872 y(A)e(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
-1440 y(and)h(at)i(least)g(one)f(unquoted)g(comma)g(or)g(a)h(v)-5
+1981 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 1550 y(brace)d(expansion)f(is)g(left)h(unc)m(hanged.)275
-1682 y(A)25 b Fs({)g Ft(or)g(`)p Fs(,)p Ft(')g(ma)m(y)h(b)s(e)f(quoted)
+(formed)150 2091 y(brace)d(expansion)f(is)g(left)h(unc)m(hanged.)275
+2220 y(A)25 b Fs({)g Ft(or)g(`)p Fs(,)p Ft(')g(ma)m(y)h(b)s(e)f(quoted)
 g(with)g(a)h(bac)m(kslash)f(to)h(prev)m(en)m(t)g(its)g(b)s(eing)f
-(considered)g(part)g(of)g(a)h(brace)150 1791 y(expression.)51
+(considered)g(part)g(of)g(a)h(brace)150 2330 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 Fs(${)p Ft(')g(is)g(not)g(considered)
-150 1901 y(eligible)e(for)e(brace)h(expansion.)275 2033
+150 2439 y(eligible)e(for)e(brace)h(expansion.)275 2568
 y(This)f(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
-2143 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 2275 y Fs(mkdir)46 b(/usr/local/src/bash/{old,n)o
-(ew,)o(dist)o(,bug)o(s})275 2407 y Ft(or)390 2539 y Fs(chown)g(root)h
+2678 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 2807 y Fs(mkdir)46 b(/usr/local/src/bash/{old,n)o
+(ew,)o(dist)o(,bug)o(s})275 2936 y Ft(or)390 3064 y Fs(chown)g(root)h
 (/usr/{ucb/{ex,edit},lib/)o({ex?)o(.?*,)o(how)o(_ex})o(})150
-2734 y Fj(3.5.2)63 b(Tilde)41 b(Expansion)150 2881 y
+3253 y Fj(3.5.2)63 b(Tilde)41 b(Expansion)150 3400 y
 Ft(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 Fs(~)p Ft('\),)g(all)g(of)f(the)g(c)m(haracters)h(up)
-d(to)j(the)f(\014rst)150 2990 y(unquoted)23 b(slash)h(\(or)h(all)g(c)m
+d(to)j(the)f(\014rst)150 3509 y(unquoted)23 b(slash)h(\(or)h(all)g(c)m
 (haracters,)i(if)d(there)g(is)h(no)f(unquoted)f(slash\))h(are)h
-(considered)f(a)g Fq(tilde-pre\014x)6 b Ft(.)150 3100
+(considered)f(a)g Fq(tilde-pre\014x)6 b Ft(.)150 3619
 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
-3209 y(follo)m(wing)28 b(the)f(tilde)g(are)g(treated)h(as)f(a)g(p)s
+3728 y(follo)m(wing)28 b(the)f(tilde)g(are)g(treated)h(as)f(a)g(p)s
 (ossible)f Fq(login)i(name)5 b Ft(.)40 b(If)26 b(this)g(login)i(name)f
-(is)f(the)h(n)m(ull)g(string,)150 3319 y(the)35 b(tilde)g(is)g
+(is)f(the)h(n)m(ull)g(string,)150 3838 y(the)35 b(tilde)g(is)g
 (replaced)g(with)f(the)h(v)-5 b(alue)35 b(of)g(the)g
 Fs(HOME)e Ft(shell)i(v)-5 b(ariable.)54 b(If)34 b Fs(HOME)g
-Ft(is)h(unset,)g(the)g(home)150 3429 y(directory)e(of)g(the)f(user)g
+Ft(is)h(unset,)g(the)g(home)150 3948 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 3538 y(is)d(replaced)h(with)
+b(Otherwise,)33 b(the)g(tilde-pre\014x)150 4057 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 3670 y(If)g(the)h(tilde-pre\014x)f(is)h(`)p
+e(login)j(name.)275 4186 y(If)g(the)h(tilde-pre\014x)f(is)h(`)p
 Fs(~+)p Ft(',)g(the)g(v)-5 b(alue)33 b(of)g(the)g(shell)g(v)-5
 b(ariable)34 b Fs(PWD)d Ft(replaces)j(the)f(tilde-pre\014x.)47
-b(If)150 3780 y(the)31 b(tilde-pre\014x)f(is)g(`)p Fs(~-)p
+b(If)150 4296 y(the)31 b(tilde-pre\014x)f(is)g(`)p Fs(~-)p
 Ft(',)h(the)f(v)-5 b(alue)31 b(of)g(the)f(shell)h(v)-5
 b(ariable)31 b Fs(OLDPWD)p Ft(,)e(if)h(it)h(is)g(set,)g(is)f
-(substituted.)275 3912 y(If)e(the)i(c)m(haracters)g(follo)m(wing)h(the)
+(substituted.)275 4425 y(If)e(the)i(c)m(haracters)g(follo)m(wing)h(the)
 e(tilde)h(in)f(the)g(tilde-pre\014x)h(consist)f(of)h(a)f(n)m(um)m(b)s
-(er)f Fq(N)10 b Ft(,)30 b(optionally)150 4022 y(pre\014xed)22
+(er)f Fq(N)10 b Ft(,)30 b(optionally)150 4534 y(pre\014xed)22
 b(b)m(y)h(a)h(`)p Fs(+)p Ft(')f(or)h(a)f(`)p Fs(-)p Ft(',)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 4131 y(directory)36 b(stac)m(k,)i(as)e(it)
+(elemen)m(t)j(from)e(the)150 4644 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
 Fs(dirs)g Ft(builtin)g(in)m(v)m(ok)m(ed)i(with)e(the)g(c)m(haracters)
-150 4241 y(follo)m(wing)40 b(tilde)f(in)g(the)f(tilde-pre\014x)h(as)g
+150 4753 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 4350 y(page)c(85\).)57 b(If)35 b(the)g(tilde-pre\014x,)i(sans)
+(k],)150 4863 y(page)c(85\).)57 b(If)35 b(the)g(tilde-pre\014x,)i(sans)
 e(the)h(tilde,)h(consists)f(of)g(a)f(n)m(um)m(b)s(er)f(without)i(a)f
-(leading)h(`)p Fs(+)p Ft(')g(or)150 4460 y(`)p Fs(-)p
-Ft(',)31 b(`)p Fs(+)p Ft(')f(is)h(assumed.)275 4592 y(If)e(the)i(login)
+(leading)h(`)p Fs(+)p Ft(')g(or)150 4973 y(`)p Fs(-)p
+Ft(',)31 b(`)p Fs(+)p Ft(')f(is)h(assumed.)275 5101 y(If)e(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
-4724 y(Eac)m(h)38 b(v)-5 b(ariable)38 b(assignmen)m(t)h(is)e(c)m(hec)m
+5230 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 4834 y(a)d(`)p Fs(:)p Ft(')g(or)g(the)g(\014rst)f(`)p
+(wing)150 5340 y(a)d(`)p Fs(:)p Ft(')g(or)g(the)g(\014rst)f(`)p
 Fs(=)p Ft('.)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 4943 y(ma)m(y)27 b(use)e(\014le)h(names)g(with)g(tildes)g(in)
-g(assignmen)m(ts)h(to)g Fs(PATH)p Ft(,)f Fs(MAILPATH)p
-Ft(,)e(and)i Fs(CDPATH)p Ft(,)f(and)h(the)g(shell)150
-5053 y(assigns)31 b(the)f(expanded)g(v)-5 b(alue.)275
-5185 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 5340 y Fs(~)432
-b Ft(The)30 b(v)-5 b(alue)31 b(of)f Fs($HOME)p eop end
+b(one)p eop end
 %%Page: 21 27
 TeXDict begin 21 26 bop 150 -116 a Ft(Chapter)30 b(3:)41
 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(21)150 299
-y Fs(~/foo)240 b Ft(`)p Fs($HOME/foo)p Ft(')150 459 y
-Fs(~fred/foo)630 568 y Ft(The)30 b(sub)s(directory)f
+y(ma)m(y)29 b(use)e(\014lenames)h(with)g(tildes)g(in)g(assignmen)m(ts)g
+(to)h Fs(PATH)p Ft(,)f Fs(MAILPATH)p Ft(,)e(and)h Fs(CDPATH)p
+Ft(,)g(and)h(the)g(shell)150 408 y(assigns)j(the)f(expanded)g(v)-5
+b(alue.)275 540 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 695
+y Fs(~)432 b Ft(The)30 b(v)-5 b(alue)31 b(of)f Fs($HOME)150
+849 y(~/foo)240 b Ft(`)p Fs($HOME/foo)p Ft(')150 1003
+y Fs(~fred/foo)630 1113 y Ft(The)30 b(sub)s(directory)f
 Fs(foo)h Ft(of)g(the)h(home)f(directory)h(of)g(the)f(user)g
-Fs(fred)150 728 y(~+/foo)192 b Ft(`)p Fs($PWD/foo)p Ft(')150
-888 y Fs(~-/foo)g Ft(`)p Fs(${OLDPWD-'~-'}/foo)p Ft(')150
-1048 y Fs(~)p Fi(N)384 b Ft(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 Fs(dirs)g(+)p Fi(N)11
-b Ft(')150 1208 y Fs(~+)p Fi(N)336 b Ft(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 Fs(dirs)g(+)p
-Fi(N)11 b Ft(')150 1368 y Fs(~-)p Fi(N)336 b Ft(The)30
+Fs(fred)150 1267 y(~+/foo)192 b Ft(`)p Fs($PWD/foo)p
+Ft(')150 1421 y Fs(~-/foo)g Ft(`)p Fs(${OLDPWD-'~-'}/foo)p
+Ft(')150 1575 y Fs(~)p Fi(N)384 b Ft(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 Fs(dirs)g(+)p
+Fi(N)11 b Ft(')150 1730 y Fs(~+)p Fi(N)336 b Ft(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
-Fs(dirs)g(-)p Fi(N)11 b Ft(')150 1568 y Fj(3.5.3)63 b(Shell)41
-b(P)m(arameter)f(Expansion)150 1715 y Ft(The)g(`)p Fs($)p
-Ft(')h(c)m(haracter)i(in)m(tro)s(duces)d(parameter)h(expansion,)j
-(command)d(substitution,)i(or)e(arithmetic)150 1824 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
-1934 y(are)31 b(optional)g(but)f(serv)m(e)h(to)h(protect)f(the)g(v)-5
+Fs(dirs)g(+)p Fi(N)11 b Ft(')150 1884 y Fs(~-)p Fi(N)336
+b Ft(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 Fs(dirs)g(-)p Fi(N)11 b Ft(')150 2078 y Fj(3.5.3)63
+b(Shell)41 b(P)m(arameter)f(Expansion)150 2225 y Ft(The)g(`)p
+Fs($)p Ft(')h(c)m(haracter)i(in)m(tro)s(duces)d(parameter)h(expansion,)
+j(command)d(substitution,)i(or)e(arithmetic)150 2334
+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
+2444 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 2043 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 2178
+(immediately)150 2554 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 2686
 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 Fs(})p Ft(')g(not)g(escap)s(ed)h(b)m(y)f(a)
-150 2288 y(bac)m(kslash)40 b(or)f(within)g(a)g(quoted)g(string,)j(and)c
+150 2795 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
-2398 y(command)30 b(substitution,)g(or)h(parameter)g(expansion.)275
-2533 y(The)40 b(basic)h(form)g(of)g(parameter)h(expansion)e(is)h($)p
+2905 y(command)30 b(substitution,)g(or)h(parameter)g(expansion.)275
+3037 y(The)40 b(basic)h(form)g(of)g(parameter)h(expansion)e(is)h($)p
 Fs({)p Fq(parameter)7 b Fs(})p Ft(.)73 b(The)40 b(v)-5
-b(alue)42 b(of)f Fq(parameter)48 b Ft(is)150 2642 y(substituted.)43
+b(alue)42 b(of)f Fq(parameter)48 b Ft(is)150 3146 y(substituted.)43
 b(The)31 b(braces)g(are)h(required)e(when)h Fq(parameter)38
 b Ft(is)31 b(a)h(p)s(ositional)g(parameter)g(with)f(more)150
-2752 y(than)h(one)g(digit,)i(or)e(when)g Fq(parameter)39
+3256 y(than)h(one)g(digit,)i(or)e(when)g Fq(parameter)39
 b Ft(is)32 b(follo)m(w)m(ed)i(b)m(y)e(a)h(c)m(haracter)h(that)e(is)h
-(not)f(to)h(b)s(e)f(in)m(terpreted)150 2861 y(as)f(part)f(of)g(its)h
-(name.)275 2996 y(If)c(the)g(\014rst)g(c)m(haracter)i(of)f
+(not)f(to)h(b)s(e)f(in)m(terpreted)150 3365 y(as)f(part)f(of)g(its)h
+(name.)275 3497 y(If)c(the)g(\014rst)g(c)m(haracter)i(of)f
 Fq(parameter)35 b Ft(is)27 b(an)h(exclamation)i(p)s(oin)m(t)d(\(!\),)i
 (a)f(lev)m(el)i(of)d(v)-5 b(ariable)29 b(indirec-)150
-3106 y(tion)e(is)f(in)m(tro)s(duced.)39 b(Bash)27 b(uses)e(the)i(v)-5
+3607 y(tion)e(is)f(in)m(tro)s(duced.)39 b(Bash)27 b(uses)e(the)i(v)-5
 b(alue)27 b(of)f(the)h(v)-5 b(ariable)27 b(formed)f(from)g(the)g(rest)h
-(of)f Fq(parameter)34 b Ft(as)150 3216 y(the)e(name)h(of)f(the)h(v)-5
+(of)f Fq(parameter)34 b Ft(as)150 3716 y(the)e(name)h(of)f(the)h(v)-5
 b(ariable;)34 b(this)e(v)-5 b(ariable)33 b(is)g(then)f(expanded)f(and)h
 (that)h(v)-5 b(alue)32 b(is)h(used)e(in)h(the)h(rest)150
-3325 y(of)h(the)f(substitution,)i(rather)e(than)g(the)h(v)-5
+3826 y(of)h(the)f(substitution,)i(rather)e(than)g(the)h(v)-5
 b(alue)34 b(of)g Fq(parameter)40 b Ft(itself.)51 b(This)33
-b(is)g(kno)m(wn)g(as)h Fs(indirect)150 3435 y(expansion)p
+b(is)g(kno)m(wn)g(as)h Fs(indirect)150 3936 y(expansion)p
 Ft(.)k(The)30 b(exceptions)h(to)h(this)e(are)h(the)f(expansions)g(of)h
-($)p Fs({)p Ft(!)p Fq(pre\014x)150 3544 y Fs(})36 b Ft(and)f($)p
+($)p Fs({)p Ft(!)p Fq(pre\014x)150 4045 y Fs(})36 b Ft(and)f($)p
 Fs({)p Ft(!)p Fq(name)5 b Ft([)p Fs(@)p Ft(])p Fs(})37
 b Ft(describ)s(ed)e(b)s(elo)m(w.)58 b(The)36 b(exclamation)i(p)s(oin)m
-(t)e(m)m(ust)g(immediately)h(follo)m(w)h(the)150 3654
+(t)e(m)m(ust)g(immediately)h(follo)m(w)h(the)150 4155
 y(left)31 b(brace)g(in)f(order)g(to)h(in)m(tro)s(duce)f(indirection.)
-275 3789 y(In)39 b(eac)m(h)i(of)g(the)f(cases)h(b)s(elo)m(w,)i
+275 4287 y(In)39 b(eac)m(h)i(of)g(the)f(cases)h(b)s(elo)m(w,)i
 Fq(w)m(ord)h Ft(is)c(sub)5 b(ject)40 b(to)h(tilde)f(expansion,)j
-(parameter)e(expansion,)150 3899 y(command)30 b(substitution,)g(and)g
-(arithmetic)i(expansion.)275 4034 y(When)h(not)h(p)s(erforming)e
+(parameter)e(expansion,)150 4396 y(command)30 b(substitution,)g(and)g
+(arithmetic)i(expansion.)275 4528 y(When)h(not)h(p)s(erforming)e
 (substring)h(expansion,)h(using)f(the)h(form)f(describ)s(ed)g(b)s(elo)m
-(w,)h(Bash)g(tests)150 4143 y(for)44 b(a)i(parameter)f(that)g(is)g
+(w,)h(Bash)g(tests)150 4638 y(for)44 b(a)i(parameter)f(that)g(is)g
 (unset)f(or)h(n)m(ull.)84 b(Omitting)45 b(the)g(colon)h(results)e(in)g
-(a)i(test)f(only)g(for)g(a)150 4253 y(parameter)36 b(that)f(is)g
+(a)i(test)f(only)g(for)g(a)150 4747 y(parameter)36 b(that)f(is)g
 (unset.)55 b(Put)34 b(another)i(w)m(a)m(y)-8 b(,)38 b(if)d(the)g(colon)
 h(is)f(included,)h(the)f(op)s(erator)g(tests)h(for)150
-4362 y(b)s(oth)22 b Fq(parameter)7 b Ft('s)22 b(existence)i(and)e(that)
+4857 y(b)s(oth)22 b Fq(parameter)7 b Ft('s)22 b(existence)i(and)e(that)
 h(its)g(v)-5 b(alue)23 b(is)g(not)f(n)m(ull;)k(if)c(the)h(colon)g(is)g
-(omitted,)i(the)e(op)s(erator)150 4472 y(tests)31 b(only)g(for)f
-(existence.)150 4632 y Fs(${)p Fi(parameter)11 b Fs(:)p
-Fp(\000)p Fi(word)g Fs(})630 4742 y Ft(If)30 b Fq(parameter)37
+(omitted,)i(the)e(op)s(erator)150 4967 y(tests)31 b(only)g(for)f
+(existence.)150 5121 y Fs(${)p Fi(parameter)11 b Fs(:)p
+Fp(\000)p Fi(word)g Fs(})630 5230 y Ft(If)30 b Fq(parameter)37
 b Ft(is)30 b(unset)g(or)h(n)m(ull,)f(the)h(expansion)f(of)g
 Fq(w)m(ord)k Ft(is)c(substituted.)40 b(Otherwise,)630
-4851 y(the)31 b(v)-5 b(alue)30 b(of)h Fq(parameter)37
-b Ft(is)31 b(substituted.)150 5011 y Fs(${)p Fi(parameter)11
-b Fs(:=)p Fi(word)g Fs(})630 5121 y Ft(If)32 b Fq(parameter)40
-b Ft(is)32 b(unset)g(or)h(n)m(ull,)g(the)f(expansion)h(of)f
-Fq(w)m(ord)k Ft(is)d(assigned)f(to)i Fq(parameter)7 b
-Ft(.)630 5230 y(The)30 b(v)-5 b(alue)32 b(of)f Fq(parameter)38
-b Ft(is)31 b(then)g(substituted.)42 b(P)m(ositional)33
-b(parameters)e(and)f(sp)s(ecial)630 5340 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(.)p
-eop end
+5340 y(the)31 b(v)-5 b(alue)30 b(of)h Fq(parameter)37
+b Ft(is)31 b(substituted.)p eop end
 %%Page: 22 28
 TeXDict begin 22 27 bop 150 -116 a Ft(22)2572 b(Bash)31
 b(Reference)g(Man)m(ual)150 299 y Fs(${)p Fi(parameter)11
-b Fs(:?)p Fi(word)g Fs(})630 408 y Ft(If)26 b Fq(parameter)33
-b Ft(is)26 b(n)m(ull)g(or)g(unset,)h(the)f(expansion)g(of)g
-Fq(w)m(ord)k Ft(\(or)c(a)h(message)g(to)g(that)f(e\013ect)630
-518 y(if)i Fq(w)m(ord)j Ft(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
-628 y(in)m(teractiv)m(e,)33 b(exits.)42 b(Otherwise,)30
-b(the)h(v)-5 b(alue)31 b(of)f Fq(parameter)38 b Ft(is)30
-b(substituted.)150 774 y Fs(${)p Fi(parameter)11 b Fs(:+)p
-Fi(word)g Fs(})630 883 y Ft(If)35 b Fq(parameter)42 b
-Ft(is)36 b(n)m(ull)f(or)h(unset,)g(nothing)g(is)f(substituted,)i
-(otherwise)e(the)h(expansion)630 993 y(of)31 b Fq(w)m(ord)i
-Ft(is)e(substituted.)150 1139 y Fs(${)p Fi(parameter)11
-b Fs(:)p Fi(offset)g Fs(})150 1249 y(${)p Fi(parameter)g
+b Fs(:=)p Fi(word)g Fs(})630 408 y Ft(If)32 b Fq(parameter)40
+b Ft(is)32 b(unset)g(or)h(n)m(ull,)g(the)f(expansion)h(of)f
+Fq(w)m(ord)k Ft(is)d(assigned)f(to)i Fq(parameter)7 b
+Ft(.)630 518 y(The)30 b(v)-5 b(alue)32 b(of)f Fq(parameter)38
+b Ft(is)31 b(then)g(substituted.)42 b(P)m(ositional)33
+b(parameters)e(and)f(sp)s(ecial)630 628 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(.)150
+792 y Fs(${)p Fi(parameter)11 b Fs(:?)p Fi(word)g Fs(})630
+902 y Ft(If)26 b Fq(parameter)33 b Ft(is)26 b(n)m(ull)g(or)g(unset,)h
+(the)f(expansion)g(of)g Fq(w)m(ord)k Ft(\(or)c(a)h(message)g(to)g(that)
+f(e\013ect)630 1011 y(if)i Fq(w)m(ord)j Ft(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 1121 y(in)m(teractiv)m(e,)33 b(exits.)42
+b(Otherwise,)30 b(the)h(v)-5 b(alue)31 b(of)f Fq(parameter)38
+b Ft(is)30 b(substituted.)150 1285 y Fs(${)p Fi(parameter)11
+b Fs(:+)p Fi(word)g Fs(})630 1395 y Ft(If)35 b Fq(parameter)42
+b Ft(is)36 b(n)m(ull)f(or)h(unset,)g(nothing)g(is)f(substituted,)i
+(otherwise)e(the)h(expansion)630 1504 y(of)31 b Fq(w)m(ord)i
+Ft(is)e(substituted.)150 1669 y Fs(${)p Fi(parameter)11
+b Fs(:)p Fi(offset)g Fs(})150 1778 y(${)p Fi(parameter)g
 Fs(:)p Fi(offset)g Fs(:)p Fi(le)o(ngt)o(h)g Fs(})630
-1358 y Ft(Expands)44 b(to)i(up)e(to)i Fq(length)g Ft(c)m(haracters)h
+1888 y Ft(Expands)44 b(to)i(up)e(to)i Fq(length)g Ft(c)m(haracters)h
 (of)e Fq(parameter)53 b Ft(starting)46 b(at)g(the)f(c)m(haracter)630
-1468 y(sp)s(eci\014ed)30 b(b)m(y)g Fq(o\013set)r Ft(.)43
+1998 y(sp)s(eci\014ed)30 b(b)m(y)g Fq(o\013set)r Ft(.)43
 b(If)30 b Fq(length)h Ft(is)g(omitted,)g(expands)f(to)h(the)g
-(substring)f(of)g Fq(parameter)630 1577 y Ft(starting)38
+(substring)f(of)g Fq(parameter)630 2107 y Ft(starting)38
 b(at)g(the)f(c)m(haracter)i(sp)s(eci\014ed)d(b)m(y)h
 Fq(o\013set)r Ft(.)62 b Fq(length)38 b Ft(and)e Fq(o\013set)k
-Ft(are)e(arithmetic)630 1687 y(expressions)30 b(\(see)i(Section)g(6.5)g
+Ft(are)e(arithmetic)630 2217 y(expressions)30 b(\(see)i(Section)g(6.5)g
 ([Shell)f(Arithmetic],)h(page)g(82\).)43 b(This)30 b(is)h(referred)f
-(to)i(as)630 1797 y(Substring)d(Expansion.)630 1924 y(If)c
+(to)i(as)630 2326 y(Substring)d(Expansion.)630 2463 y(If)c
 Fq(o\013set)k Ft(ev)-5 b(aluates)27 b(to)g(a)f(n)m(um)m(b)s(er)e(less)i
 (than)g(zero,)h(the)f(v)-5 b(alue)26 b(is)g(used)f(as)h(an)g(o\013set)g
-(from)630 2034 y(the)c(end)e(of)i(the)f(v)-5 b(alue)22
+(from)630 2573 y(the)c(end)e(of)i(the)f(v)-5 b(alue)22
 b(of)g Fq(parameter)7 b Ft(.)38 b(If)20 b Fq(length)i
 Ft(ev)-5 b(aluates)23 b(to)f(a)g(n)m(um)m(b)s(er)e(less)i(than)f(zero,)
-630 2144 y(and)g Fq(parameter)29 b Ft(is)21 b(not)h(`)p
+630 2682 y(and)g Fq(parameter)29 b Ft(is)21 b(not)h(`)p
 Fs(@)p Ft(')g(and)f(not)h(an)g(indexed)f(or)h(asso)s(ciativ)m(e)i(arra)
-m(y)-8 b(,)25 b(it)d(is)g(in)m(terpreted)630 2253 y(as)37
+m(y)-8 b(,)25 b(it)d(is)g(in)m(terpreted)630 2792 y(as)37
 b(an)f(o\013set)i(from)e(the)h(end)f(of)h(the)f(v)-5
 b(alue)37 b(of)g Fq(parameter)44 b Ft(rather)36 b(than)h(a)f(n)m(um)m
-(b)s(er)g(of)630 2363 y(c)m(haracters,)49 b(and)42 b(the)i(expansion)f
+(b)s(er)g(of)630 2902 y(c)m(haracters,)49 b(and)42 b(the)i(expansion)f
 (is)h(the)g(c)m(haracters)h(b)s(et)m(w)m(een)f(the)g(t)m(w)m(o)g
-(o\013sets.)81 b(If)630 2472 y Fq(parameter)37 b Ft(is)31
+(o\013sets.)81 b(If)630 3011 y Fq(parameter)37 b Ft(is)31
 b(`)p Fs(@)p Ft(',)g(the)g(result)f(is)h Fq(length)g
 Ft(p)s(ositional)g(parameters)g(b)s(eginning)e(at)j Fq(o\013set)r
-Ft(.)630 2582 y(If)k Fq(parameter)43 b Ft(is)36 b(an)g(indexed)g(arra)m
+Ft(.)630 3121 y(If)k Fq(parameter)43 b Ft(is)36 b(an)g(indexed)g(arra)m
 (y)g(name)g(subscripted)f(b)m(y)h(`)p Fs(@)p Ft(')g(or)h(`)p
-Fs(*)p Ft(',)h(the)e(result)g(is)630 2692 y(the)h Fq(length)g
+Fs(*)p Ft(',)h(the)e(result)g(is)630 3230 y(the)h Fq(length)g
 Ft(mem)m(b)s(ers)f(of)h(the)g(arra)m(y)g(b)s(eginning)f(with)h
 Fs(${)p Fi(parameter)11 b Fs([)p Fi(offset)g Fs(])o(})p
-Ft(.)54 b(A)630 2801 y(negativ)m(e)33 b Fq(o\013set)g
+Ft(.)54 b(A)630 3340 y(negativ)m(e)33 b Fq(o\013set)g
 Ft(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 2911 y(sp)s(eci\014ed)k(arra)m(y)-8
+(maxim)m(um)h(index)f(of)h(the)630 3450 y(sp)s(eci\014ed)k(arra)m(y)-8
 b(.)57 b(Substring)34 b(expansion)i(applied)f(to)h(an)g(asso)s(ciativ)m
-(e)i(arra)m(y)e(pro)s(duces)630 3020 y(unde\014ned)28
-b(results.)630 3148 y(Note)37 b(that)f(a)g(negativ)m(e)i(o\013set)f(m)m
+(e)i(arra)m(y)e(pro)s(duces)630 3559 y(unde\014ned)28
+b(results.)630 3696 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 3258 y(space)g(to)g(a)m(v)m(oid)g(b)s(eing)f(confused)f(with)h
+(one)630 3806 y(space)g(to)g(a)m(v)m(oid)g(b)s(eing)f(confused)f(with)h
 (the)h(`)p Fs(:-)p Ft(')f(expansion.)57 b(Substring)35
-b(indexing)h(is)630 3367 y(zero-based)24 b(unless)f(the)h(p)s
+b(indexing)h(is)630 3915 y(zero-based)24 b(unless)f(the)h(p)s
 (ositional)g(parameters)g(are)g(used,)g(in)g(whic)m(h)f(case)h(the)g
-(indexing)630 3477 y(starts)30 b(at)g(1)f(b)m(y)h(default.)40
+(indexing)630 4025 y(starts)30 b(at)g(1)f(b)m(y)h(default.)40
 b(If)29 b Fq(o\013set)j Ft(is)e(0,)g(and)f(the)g(p)s(ositional)h
-(parameters)g(are)g(used,)f Fs($@)630 3587 y Ft(is)h(pre\014xed)g(to)h
-(the)f(list.)150 3733 y Fs(${!)p Fi(prefix)11 b Fs(*})150
-3842 y(${!)p Fi(prefix)g Fs(@})630 3952 y Ft(Expands)23
+(parameters)g(are)g(used,)f Fs($@)630 4134 y Ft(is)h(pre\014xed)g(to)h
+(the)f(list.)150 4299 y Fs(${!)p Fi(prefix)11 b Fs(*})150
+4408 y(${!)p Fi(prefix)g Fs(@})630 4518 y Ft(Expands)23
 b(to)i(the)g(names)f(of)h(v)-5 b(ariables)25 b(whose)f(names)g(b)s
 (egin)g(with)g Fq(pre\014x)6 b Ft(,)25 b(separated)g(b)m(y)630
-4061 y(the)k(\014rst)f(c)m(haracter)j(of)e(the)g Fs(IFS)f
+4628 y(the)k(\014rst)f(c)m(haracter)j(of)e(the)g Fs(IFS)f
 Ft(sp)s(ecial)i(v)-5 b(ariable.)41 b(When)29 b(`)p Fs(@)p
-Ft(')g(is)g(used)f(and)h(the)g(expan-)630 4171 y(sion)35
+Ft(')g(is)g(used)f(and)h(the)g(expan-)630 4737 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
-4281 y(w)m(ord.)150 4427 y Fs(${!)p Fi(name)11 b Fs([@]})150
-4536 y(${!)p Fi(name)g Fs([*]})630 4646 y Ft(If)26 b
+4847 y(w)m(ord.)150 5011 y Fs(${!)p Fi(name)11 b Fs([@]})150
+5121 y(${!)p Fi(name)g Fs([*]})630 5230 y Ft(If)26 b
 Fq(name)32 b Ft(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 4756 y(in)c Fq(name)5 b Ft(.)39 b(If)23
+(assigned)630 5340 y(in)c Fq(name)5 b Ft(.)39 b(If)23
 b Fq(name)30 b Ft(is)24 b(not)g(an)g(arra)m(y)-8 b(,)27
 b(expands)c(to)i(0)f(if)h Fq(name)k Ft(is)24 b(set)h(and)e(n)m(ull)h
-(otherwise.)630 4865 y(When)39 b(`)p Fs(@)p Ft(')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 4975 y(expands)30 b(to)h(a)f(separate)i(w)m(ord.)150
-5121 y Fs(${#)p Fi(parameter)11 b Fs(})630 5230 y Ft(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 Fq(parameter)47 b Ft(is)40 b(substituted.)630
-5340 y(If)i Fq(parameter)50 b Ft(is)43 b(`)p Fs(*)p Ft(')g(or)g(`)p
-Fs(@)p Ft(',)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)p eop end
+(otherwise.)p eop end
 %%Page: 23 29
 TeXDict begin 23 28 bop 150 -116 a Ft(Chapter)30 b(3:)41
 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(23)630 299
-y(parameters.)45 b(If)32 b Fq(parameter)38 b Ft(is)32
-b(an)g(arra)m(y)g(name)g(subscripted)f(b)m(y)g(`)p Fs(*)p
-Ft(')h(or)g(`)p Fs(@)p Ft(',)g(the)g(v)-5 b(alue)630
-408 y(substituted)30 b(is)g(the)h(n)m(um)m(b)s(er)e(of)h(elemen)m(ts)i
-(in)e(the)h(arra)m(y)-8 b(.)150 573 y Fs(${)p Fi(parameter)11
-b Fs(#)p Fi(word)g Fs(})150 682 y(${)p Fi(parameter)g
-Fs(##)p Fi(word)g Fs(})630 792 y Ft(The)31 b Fq(w)m(ord)k
-Ft(is)d(expanded)f(to)i(pro)s(duce)e(a)h(pattern)g(just)f(as)i(in)e
-(\014lename)h(expansion)g(\(see)630 902 y(Section)k(3.5.8)h([Filename)g
-(Expansion],)g(page)f(25\).)56 b(If)35 b(the)h(pattern)f(matc)m(hes)i
-(the)e(b)s(e-)630 1011 y(ginning)g(of)g(the)g(expanded)f(v)-5
-b(alue)36 b(of)f Fq(parameter)7 b Ft(,)36 b(then)f(the)g(result)g(of)g
-(the)g(expansion)630 1121 y(is)28 b(the)g(expanded)e(v)-5
-b(alue)28 b(of)g Fq(parameter)35 b Ft(with)27 b(the)h(shortest)g(matc)m
-(hing)h(pattern)f(\(the)g(`)p Fs(#)p Ft(')630 1230 y(case\))e(or)f(the)
-g(longest)g(matc)m(hing)h(pattern)f(\(the)g(`)p Fs(##)p
+y(When)39 b(`)p Fs(@)p Ft(')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
+408 y(expands)30 b(to)h(a)f(separate)i(w)m(ord.)150 655
+y Fs(${#)p Fi(parameter)11 b Fs(})630 765 y Ft(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 Fq(parameter)47 b Ft(is)40 b(substituted.)630
+874 y(If)i Fq(parameter)50 b Ft(is)43 b(`)p Fs(*)p Ft(')g(or)g(`)p
+Fs(@)p Ft(',)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 984 y(parameters.)i(If)32
+b Fq(parameter)38 b Ft(is)32 b(an)g(arra)m(y)g(name)g(subscripted)f(b)m
+(y)g(`)p Fs(*)p Ft(')h(or)g(`)p Fs(@)p Ft(',)g(the)g(v)-5
+b(alue)630 1093 y(substituted)30 b(is)g(the)h(n)m(um)m(b)s(er)e(of)h
+(elemen)m(ts)i(in)e(the)h(arra)m(y)-8 b(.)150 1340 y
+Fs(${)p Fi(parameter)11 b Fs(#)p Fi(word)g Fs(})150 1450
+y(${)p Fi(parameter)g Fs(##)p Fi(word)g Fs(})630 1559
+y Ft(The)31 b Fq(w)m(ord)k Ft(is)d(expanded)f(to)i(pro)s(duce)e(a)h
+(pattern)g(just)f(as)i(in)e(\014lename)h(expansion)g(\(see)630
+1669 y(Section)k(3.5.8)h([Filename)g(Expansion],)g(page)f(25\).)56
+b(If)35 b(the)h(pattern)f(matc)m(hes)i(the)e(b)s(e-)630
+1778 y(ginning)g(of)g(the)g(expanded)f(v)-5 b(alue)36
+b(of)f Fq(parameter)7 b Ft(,)36 b(then)f(the)g(result)g(of)g(the)g
+(expansion)630 1888 y(is)28 b(the)g(expanded)e(v)-5 b(alue)28
+b(of)g Fq(parameter)35 b Ft(with)27 b(the)h(shortest)g(matc)m(hing)h
+(pattern)f(\(the)g(`)p Fs(#)p Ft(')630 1998 y(case\))e(or)f(the)g
+(longest)g(matc)m(hing)h(pattern)f(\(the)g(`)p Fs(##)p
 Ft(')g(case\))h(deleted.)39 b(If)24 b Fq(parameter)32
-b Ft(is)25 b(`)p Fs(@)p Ft(')630 1340 y(or)j(`)p Fs(*)p
+b Ft(is)25 b(`)p Fs(@)p Ft(')630 2107 y(or)j(`)p Fs(*)p
 Ft(',)i(the)e(pattern)h(remo)m(v)-5 b(al)29 b(op)s(eration)g(is)f
 (applied)h(to)g(eac)m(h)g(p)s(ositional)g(parameter)g(in)630
-1450 y(turn,)i(and)g(the)h(expansion)g(is)g(the)g(resultan)m(t)g(list.)
+2217 y(turn,)i(and)g(the)h(expansion)g(is)g(the)g(resultan)m(t)g(list.)
 45 b(If)32 b Fq(parameter)38 b Ft(is)32 b(an)g(arra)m(y)g(v)-5
-b(ariable)630 1559 y(subscripted)39 b(with)g(`)p Fs(@)p
+b(ariable)630 2326 y(subscripted)39 b(with)g(`)p Fs(@)p
 Ft(')h(or)g(`)p Fs(*)p Ft(',)j(the)d(pattern)h(remo)m(v)-5
 b(al)41 b(op)s(eration)f(is)g(applied)g(to)h(eac)m(h)630
-1669 y(mem)m(b)s(er)30 b(of)g(the)h(arra)m(y)g(in)f(turn,)f(and)h(the)h
-(expansion)f(is)g(the)h(resultan)m(t)g(list.)150 1833
+2436 y(mem)m(b)s(er)30 b(of)g(the)h(arra)m(y)g(in)f(turn,)f(and)h(the)h
+(expansion)f(is)g(the)h(resultan)m(t)g(list.)150 2682
 y Fs(${)p Fi(parameter)11 b Fs(\045)p Fi(word)g Fs(})150
-1943 y(${)p Fi(parameter)g Fs(\045\045)p Fi(word)g Fs(})630
-2052 y Ft(The)35 b Fq(w)m(ord)k Ft(is)c(expanded)g(to)h(pro)s(duce)e(a)
+2792 y(${)p Fi(parameter)g Fs(\045\045)p Fi(word)g Fs(})630
+2902 y Ft(The)35 b Fq(w)m(ord)k Ft(is)c(expanded)g(to)h(pro)s(duce)e(a)
 i(pattern)f(just)g(as)h(in)f(\014lename)h(expansion.)55
-b(If)630 2162 y(the)43 b(pattern)f(matc)m(hes)i(a)e(trailing)i(p)s
+b(If)630 3011 y(the)43 b(pattern)f(matc)m(hes)i(a)e(trailing)i(p)s
 (ortion)e(of)g(the)h(expanded)e(v)-5 b(alue)43 b(of)g
-Fq(parameter)7 b Ft(,)630 2271 y(then)39 b(the)g(result)g(of)h(the)f
+Fq(parameter)7 b Ft(,)630 3121 y(then)39 b(the)g(result)g(of)h(the)f
 (expansion)g(is)h(the)f(v)-5 b(alue)40 b(of)f Fq(parameter)46
-b Ft(with)39 b(the)h(shortest)630 2381 y(matc)m(hing)31
+b Ft(with)39 b(the)h(shortest)630 3230 y(matc)m(hing)31
 b(pattern)e(\(the)h(`)p Fs(\045)p Ft(')g(case\))h(or)e(the)h(longest)h
 (matc)m(hing)f(pattern)g(\(the)g(`)p Fs(\045\045)p Ft(')g(case\))630
-2491 y(deleted.)49 b(If)32 b Fq(parameter)40 b Ft(is)33
+3340 y(deleted.)49 b(If)32 b Fq(parameter)40 b Ft(is)33
 b(`)p Fs(@)p Ft(')g(or)g(`)p Fs(*)p Ft(',)h(the)f(pattern)g(remo)m(v)-5
-b(al)34 b(op)s(eration)g(is)f(applied)f(to)630 2600 y(eac)m(h)38
+b(al)34 b(op)s(eration)g(is)f(applied)f(to)630 3450 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 2710 y Fq(parameter)38
+(the)f(resultan)m(t)h(list.)61 b(If)630 3559 y Fq(parameter)38
 b Ft(is)32 b(an)f(arra)m(y)h(v)-5 b(ariable)32 b(subscripted)e(with)h
 (`)p Fs(@)p Ft(')g(or)h(`)p Fs(*)p Ft(',)g(the)f(pattern)h(remo)m(v)-5
-b(al)630 2819 y(op)s(eration)30 b(is)g(applied)f(to)i(eac)m(h)g(mem)m
+b(al)630 3669 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 2929 y(the)h(resultan)m(t)g(list.)150 3093 y
+(is)630 3778 y(the)h(resultan)m(t)g(list.)150 4025 y
 Fs(${)p Fi(parameter)11 b Fs(/)p Fi(pattern)g Fs(/)p
-Fi(s)o(tri)o(ng)f Fs(})630 3203 y Ft(The)37 b Fq(pattern)g
+Fi(s)o(tri)o(ng)f Fs(})630 4134 y Ft(The)37 b Fq(pattern)g
 Ft(is)g(expanded)g(to)h(pro)s(duce)e(a)h(pattern)g(just)g(as)h(in)e
-(\014lename)i(expansion.)630 3313 y Fq(P)m(arameter)46
+(\014lename)i(expansion.)630 4244 y Fq(P)m(arameter)46
 b Ft(is)38 b(expanded)f(and)g(the)i(longest)g(matc)m(h)g(of)f
 Fq(pattern)g Ft(against)h(its)f(v)-5 b(alue)39 b(is)630
-3422 y(replaced)33 b(with)f Fq(string)8 b Ft(.)47 b(If)33
+4354 y(replaced)33 b(with)f Fq(string)8 b Ft(.)47 b(If)33
 b Fq(pattern)f Ft(b)s(egins)g(with)h(`)p Fs(/)p Ft(',)g(all)h(matc)m
-(hes)f(of)g Fq(pattern)g Ft(are)g(re-)630 3532 y(placed)27
+(hes)f(of)g Fq(pattern)g Ft(are)g(re-)630 4463 y(placed)27
 b(with)f Fq(string)8 b Ft(.)40 b(Normally)27 b(only)g(the)g(\014rst)f
 (matc)m(h)h(is)g(replaced.)40 b(If)26 b Fq(pattern)g
-Ft(b)s(egins)630 3641 y(with)33 b(`)p Fs(#)p Ft(',)i(it)f(m)m(ust)f
+Ft(b)s(egins)630 4573 y(with)33 b(`)p Fs(#)p Ft(',)i(it)f(m)m(ust)f
 (matc)m(h)i(at)f(the)g(b)s(eginning)f(of)g(the)h(expanded)f(v)-5
-b(alue)34 b(of)g Fq(parameter)7 b Ft(.)630 3751 y(If)34
+b(alue)34 b(of)g Fq(parameter)7 b Ft(.)630 4682 y(If)34
 b Fq(pattern)g Ft(b)s(egins)g(with)g(`)p Fs(\045)p Ft(',)h(it)g(m)m
 (ust)f(matc)m(h)h(at)g(the)f(end)g(of)g(the)h(expanded)e(v)-5
-b(alue)35 b(of)630 3861 y Fq(parameter)7 b Ft(.)40 b(If)29
+b(alue)35 b(of)630 4792 y Fq(parameter)7 b Ft(.)40 b(If)29
 b Fq(string)36 b Ft(is)29 b(n)m(ull,)h(matc)m(hes)g(of)f
 Fq(pattern)g Ft(are)g(deleted)h(and)e(the)h Fs(/)f Ft(follo)m(wing)630
-3970 y Fq(pattern)34 b Ft(ma)m(y)g(b)s(e)f(omitted.)51
+4902 y Fq(pattern)34 b Ft(ma)m(y)g(b)s(e)f(omitted.)51
 b(If)33 b Fq(parameter)41 b Ft(is)33 b(`)p Fs(@)p Ft(')h(or)g(`)p
 Fs(*)p Ft(',)g(the)g(substitution)f(op)s(eration)630
-4080 y(is)38 b(applied)g(to)g(eac)m(h)h(p)s(ositional)g(parameter)f(in)
+5011 y(is)38 b(applied)g(to)g(eac)m(h)h(p)s(ositional)g(parameter)f(in)
 g(turn,)h(and)e(the)h(expansion)g(is)g(the)g(re-)630
-4189 y(sultan)m(t)f(list.)59 b(If)36 b Fq(parameter)43
+5121 y(sultan)m(t)f(list.)59 b(If)36 b Fq(parameter)43
 b Ft(is)36 b(an)g(arra)m(y)h(v)-5 b(ariable)37 b(subscripted)e(with)h
-(`)p Fs(@)p Ft(')g(or)h(`)p Fs(*)p Ft(',)h(the)630 4299
+(`)p Fs(@)p Ft(')g(or)h(`)p Fs(*)p Ft(',)h(the)630 5230
 y(substitution)30 b(op)s(eration)h(is)f(applied)g(to)h(eac)m(h)g(mem)m
 (b)s(er)f(of)g(the)h(arra)m(y)g(in)f(turn,)f(and)h(the)630
-4408 y(expansion)g(is)h(the)f(resultan)m(t)h(list.)150
-4573 y Fs(${)p Fi(parameter)11 b Fs(^)p Fi(pattern)g
-Fs(})150 4682 y(${)p Fi(parameter)g Fs(^^)p Fi(pattern)g
-Fs(})150 4792 y(${)p Fi(parameter)g Fs(,)p Fi(pattern)g
-Fs(})150 4902 y(${)p Fi(parameter)g Fs(,,)p Fi(pattern)g
-Fs(})630 5011 y Ft(This)35 b(expansion)h(mo)s(di\014es)f(the)h(case)h
-(of)f(alphab)s(etic)h(c)m(haracters)g(in)f Fq(parameter)7
-b Ft(.)57 b(The)630 5121 y Fq(pattern)36 b Ft(is)f(expanded)g(to)h(pro)
-s(duce)e(a)i(pattern)g(just)f(as)h(in)f(\014lename)g(expansion.)56
-b(The)630 5230 y(`)p Fs(^)p Ft(')36 b(op)s(erator)g(con)m(v)m(erts)h
-(lo)m(w)m(ercase)h(letters)f(matc)m(hing)g Fq(pattern)f
-Ft(to)g(upp)s(ercase;)i(the)e(`)p Fs(,)p Ft(')630 5340
-y(op)s(erator)g(con)m(v)m(erts)i(matc)m(hing)f(upp)s(ercase)e(letters)i
-(to)g(lo)m(w)m(ercase.)59 b(The)36 b(`)p Fs(^^)p Ft(')g(and)f(`)p
-Fs(,,)p Ft(')p eop end
+5340 y(expansion)g(is)h(the)f(resultan)m(t)h(list.)p
+eop end
 %%Page: 24 30
 TeXDict begin 24 29 bop 150 -116 a Ft(24)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(expansions)g(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 Fs(^)p Ft(')g(and)630 408 y(`)p
-Fs(,)p Ft(')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 518 y(If)31 b Fq(pattern)g Ft(is)g(omitted,)i(it)f(is)f
-(treated)h(lik)m(e)h(a)e(`)p Fs(?)p Ft(',)h(whic)m(h)f(matc)m(hes)i(ev)
-m(ery)f(c)m(haracter.)44 b(If)630 628 y Fq(parameter)37
-b Ft(is)31 b(`)p Fs(@)p Ft(')f(or)h(`)p Fs(*)p Ft(',)f(the)h(case)g(mo)
-s(di\014cation)g(op)s(eration)g(is)f(applied)g(to)i(eac)m(h)f(p)s(osi-)
-630 737 y(tional)26 b(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 Fq(parameter)32
-b Ft(is)630 847 y(an)e(arra)m(y)g(v)-5 b(ariable)31 b(subscripted)d
-(with)i(`)p Fs(@)p Ft(')g(or)f(`)p Fs(*)p Ft(',)i(the)f(case)g(mo)s
-(di\014cation)h(op)s(eration)f(is)630 956 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 1066 y(list.)150
-1263 y Fj(3.5.4)63 b(Command)41 b(Substitution)150 1410
-y Ft(Command)f(substitution)h(allo)m(ws)i(the)e(output)g(of)h(a)f
+b(Reference)g(Man)m(ual)150 299 y Fs(${)p Fi(parameter)11
+b Fs(^)p Fi(pattern)g Fs(})150 408 y(${)p Fi(parameter)g
+Fs(^^)p Fi(pattern)g Fs(})150 518 y(${)p Fi(parameter)g
+Fs(,)p Fi(pattern)g Fs(})150 628 y(${)p Fi(parameter)g
+Fs(,,)p Fi(pattern)g Fs(})630 737 y Ft(This)35 b(expansion)h(mo)s
+(di\014es)f(the)h(case)h(of)f(alphab)s(etic)h(c)m(haracters)g(in)f
+Fq(parameter)7 b Ft(.)57 b(The)630 847 y Fq(pattern)36
+b Ft(is)f(expanded)g(to)h(pro)s(duce)e(a)i(pattern)g(just)f(as)h(in)f
+(\014lename)g(expansion.)56 b(The)630 956 y(`)p Fs(^)p
+Ft(')36 b(op)s(erator)g(con)m(v)m(erts)h(lo)m(w)m(ercase)h(letters)f
+(matc)m(hing)g Fq(pattern)f Ft(to)g(upp)s(ercase;)i(the)e(`)p
+Fs(,)p Ft(')630 1066 y(op)s(erator)g(con)m(v)m(erts)i(matc)m(hing)f
+(upp)s(ercase)e(letters)i(to)g(lo)m(w)m(ercase.)59 b(The)36
+b(`)p Fs(^^)p Ft(')g(and)f(`)p Fs(,,)p Ft(')630 1176
+y(expansions)c(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 Fs(^)p
+Ft(')g(and)630 1285 y(`)p Fs(,)p Ft(')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 1395 y(If)31 b Fq(pattern)g
+Ft(is)g(omitted,)i(it)f(is)f(treated)h(lik)m(e)h(a)e(`)p
+Fs(?)p Ft(',)h(whic)m(h)f(matc)m(hes)i(ev)m(ery)f(c)m(haracter.)44
+b(If)630 1504 y Fq(parameter)37 b Ft(is)31 b(`)p Fs(@)p
+Ft(')f(or)h(`)p Fs(*)p Ft(',)f(the)h(case)g(mo)s(di\014cation)g(op)s
+(eration)g(is)f(applied)g(to)i(eac)m(h)f(p)s(osi-)630
+1614 y(tional)26 b(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 Fq(parameter)32
+b Ft(is)630 1724 y(an)e(arra)m(y)g(v)-5 b(ariable)31
+b(subscripted)d(with)i(`)p Fs(@)p Ft(')g(or)f(`)p Fs(*)p
+Ft(',)i(the)f(case)g(mo)s(di\014cation)h(op)s(eration)f(is)630
+1833 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
+1943 y(list.)150 2158 y Fj(3.5.4)63 b(Command)41 b(Substitution)150
+2305 y Ft(Command)f(substitution)h(allo)m(ws)i(the)e(output)g(of)h(a)f
 (command)g(to)h(replace)g(the)g(command)f(itself.)150
-1519 y(Command)29 b(substitution)h(o)s(ccurs)h(when)e(a)i(command)f(is)
-g(enclosed)h(as)g(follo)m(ws:)390 1653 y Fs($\()p Fi(command)11
-b Fs(\))150 1786 y Ft(or)390 1919 y Fs(`)p Fi(command)g
-Fs(`)150 2052 y Ft(Bash)45 b(p)s(erforms)f(the)h(expansion)f(b)m(y)h
+2415 y(Command)29 b(substitution)h(o)s(ccurs)h(when)e(a)i(command)f(is)
+g(enclosed)h(as)g(follo)m(ws:)390 2566 y Fs($\()p Fi(command)11
+b Fs(\))150 2716 y Ft(or)390 2867 y Fs(`)p Fi(command)g
+Fs(`)150 3018 y Ft(Bash)45 b(p)s(erforms)f(the)h(expansion)f(b)m(y)h
 (executing)i Fq(command)h Ft(and)c(replacing)i(the)f(command)g(sub-)150
-2162 y(stitution)c(with)f(the)g(standard)g(output)g(of)g(the)g
+3128 y(stitution)c(with)f(the)g(standard)g(output)g(of)g(the)g
 (command,)j(with)d(an)m(y)h(trailing)g(newlines)f(deleted.)150
-2271 y(Em)m(b)s(edded)30 b(newlines)h(are)h(not)f(deleted,)i(but)e
+3237 y(Em)m(b)s(edded)30 b(newlines)h(are)h(not)f(deleted,)i(but)e
 (they)g(ma)m(y)h(b)s(e)f(remo)m(v)m(ed)i(during)d(w)m(ord)h(splitting.)
-44 b(The)150 2381 y(command)21 b(substitution)g Fs($\(cat)29
+44 b(The)150 3347 y(command)21 b(substitution)g Fs($\(cat)29
 b Fi(file)11 b Fs(\))20 b Ft(can)i(b)s(e)f(replaced)g(b)m(y)h(the)g
 (equiv)-5 b(alen)m(t)22 b(but)f(faster)h Fs($\(<)30 b
-Fi(file)11 b Fs(\))p Ft(.)275 2514 y(When)33 b(the)i(old-st)m(yle)h
+Fi(file)11 b Fs(\))p Ft(.)275 3498 y(When)33 b(the)i(old-st)m(yle)h
 (bac)m(kquote)f(form)f(of)g(substitution)g(is)g(used,)h(bac)m(kslash)f
-(retains)h(its)f(literal)150 2624 y(meaning)k(except)h(when)e(follo)m
+(retains)h(its)f(literal)150 3607 y(meaning)k(except)h(when)e(follo)m
 (w)m(ed)j(b)m(y)e(`)p Fs($)p Ft(',)j(`)p Fs(`)p Ft(',)f(or)e(`)p
 Fs(\\)p Ft('.)64 b(The)38 b(\014rst)f(bac)m(kquote)j(not)e(preceded)g
-(b)m(y)g(a)150 2733 y(bac)m(kslash)j(terminates)g(the)f(command)g
+(b)m(y)g(a)150 3717 y(bac)m(kslash)j(terminates)g(the)f(command)g
 (substitution.)69 b(When)40 b(using)g(the)g Fs($\()p
-Fi(command)11 b Fs(\))37 b Ft(form,)42 b(all)150 2843
+Fi(command)11 b Fs(\))37 b Ft(form,)42 b(all)150 3826
 y(c)m(haracters)32 b(b)s(et)m(w)m(een)f(the)f(paren)m(theses)h(mak)m(e)
 g(up)f(the)g(command;)h(none)f(are)h(treated)g(sp)s(ecially)-8
-b(.)275 2976 y(Command)22 b(substitutions)g(ma)m(y)i(b)s(e)e(nested.)39
+b(.)275 3977 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 3086 y(the)31 b(inner)e(bac)m(kquotes)j(with)e(bac)m
-(kslashes.)275 3219 y(If)e(the)i(substitution)e(app)s(ears)h(within)g
+(escap)s(e)150 4087 y(the)31 b(inner)e(bac)m(kquotes)j(with)e(bac)m
+(kslashes.)275 4238 y(If)e(the)i(substitution)e(app)s(ears)h(within)g
 (double)f(quotes,)i(w)m(ord)f(splitting)h(and)f(\014lename)g(expansion)
-150 3329 y(are)i(not)f(p)s(erformed)f(on)h(the)h(results.)150
-3526 y Fj(3.5.5)63 b(Arithmetic)40 b(Expansion)150 3672
+150 4347 y(are)i(not)f(p)s(erformed)f(on)h(the)h(results.)150
+4563 y Fj(3.5.5)63 b(Arithmetic)40 b(Expansion)150 4710
 y Ft(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 3782 y(of)31 b(the)f(result.)41 b(The)30
-b(format)g(for)g(arithmetic)i(expansion)e(is:)390 3915
-y Fs($\(\()47 b Fi(expression)55 b Fs(\)\))275 4049 y
+(substitution)150 4819 y(of)31 b(the)f(result.)41 b(The)30
+b(format)g(for)g(arithmetic)i(expansion)e(is:)390 4970
+y Fs($\(\()47 b Fi(expression)55 b Fs(\)\))275 5121 y
 Ft(The)33 b(expression)g(is)h(treated)g(as)g(if)g(it)g(w)m(ere)g
 (within)f(double)h(quotes,)h(but)e(a)h(double)f(quote)h(inside)150
-4158 y(the)27 b(paren)m(theses)g(is)g(not)g(treated)h(sp)s(ecially)-8
+5230 y(the)27 b(paren)m(theses)g(is)g(not)g(treated)h(sp)s(ecially)-8
 b(.)41 b(All)27 b(tok)m(ens)h(in)e(the)h(expression)g(undergo)f
-(parameter)h(ex-)150 4268 y(pansion,)h(command)f(substitution,)h(and)f
+(parameter)h(ex-)150 5340 y(pansion,)h(command)f(substitution,)h(and)f
 (quote)i(remo)m(v)-5 b(al.)41 b(Arithmetic)28 b(expansions)g(ma)m(y)g
-(b)s(e)f(nested.)275 4401 y(The)34 b(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 4511 y(Arithmetic],)32
-b(page)f(82\).)42 b(If)30 b(the)h(expression)f(is)g(in)m(v)-5
-b(alid,)32 b(Bash)e(prin)m(ts)g(a)h(message)g(indicating)h(failure)150
-4620 y(to)f(the)g(standard)e(error)h(and)g(no)g(substitution)g(o)s
-(ccurs.)150 4817 y Fj(3.5.6)63 b(Pro)s(cess)42 b(Substitution)150
-4964 y Ft(Pro)s(cess)i(substitution)g(is)g(supp)s(orted)f(on)h(systems)
-g(that)h(supp)s(ort)d(named)i(pip)s(es)f(\()p Fl(fif)n(o)p
-Ft(s\))i(or)f(the)150 5073 y(`)p Fs(/dev/fd)p Ft(')29
-b(metho)s(d)h(of)g(naming)g(op)s(en)g(\014les.)41 b(It)30
-b(tak)m(es)i(the)f(form)f(of)390 5207 y Fs(<\()p Fi(list)11
-b Fs(\))150 5340 y Ft(or)p eop end
+(b)s(e)f(nested.)p eop end
 %%Page: 25 31
 TeXDict begin 25 30 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(25)390 299
-y Fs(>\()p Fi(list)11 b Fs(\))150 434 y Ft(The)23 b(pro)s(cess)g
-Fq(list)j Ft(is)d(run)f(with)h(its)h(input)f(or)g(output)g(connected)h
-(to)h(a)e Fl(fif)n(o)g Ft(or)h(some)g(\014le)f(in)g(`)p
-Fs(/dev/fd)p Ft('.)150 544 y(The)28 b(name)h(of)g(this)f(\014le)h(is)g
-(passed)f(as)h(an)f(argumen)m(t)h(to)h(the)f(curren)m(t)f(command)h(as)
-f(the)h(result)g(of)g(the)150 654 y(expansion.)40 b(If)28
-b(the)h Fs(>\()p Fi(list)11 b Fs(\))26 b Ft(form)h(is)i(used,)f
-(writing)h(to)g(the)f(\014le)h(will)g(pro)m(vide)f(input)g(for)g
-Fq(list)r Ft(.)41 b(If)28 b(the)150 763 y Fs(<\()p Fi(list)11
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(25)275 299
+y(The)34 b(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 408 y(Arithmetic],)32 b(page)f(82\).)42 b(If)30 b(the)h(expression)
+f(is)g(in)m(v)-5 b(alid,)32 b(Bash)e(prin)m(ts)g(a)h(message)g
+(indicating)h(failure)150 518 y(to)f(the)g(standard)e(error)h(and)g(no)
+g(substitution)g(o)s(ccurs.)150 713 y Fj(3.5.6)63 b(Pro)s(cess)42
+b(Substitution)150 860 y Ft(Pro)s(cess)i(substitution)g(is)g(supp)s
+(orted)f(on)h(systems)g(that)h(supp)s(ort)d(named)i(pip)s(es)f(\()p
+Fl(fif)n(o)p Ft(s\))i(or)f(the)150 969 y(`)p Fs(/dev/fd)p
+Ft(')29 b(metho)s(d)h(of)g(naming)g(op)s(en)g(\014les.)41
+b(It)30 b(tak)m(es)i(the)f(form)f(of)390 1101 y Fs(<\()p
+Fi(list)11 b Fs(\))150 1234 y Ft(or)390 1366 y Fs(>\()p
+Fi(list)g Fs(\))150 1498 y Ft(The)23 b(pro)s(cess)g Fq(list)j
+Ft(is)d(run)f(with)h(its)h(input)f(or)g(output)g(connected)h(to)h(a)e
+Fl(fif)n(o)g Ft(or)h(some)g(\014le)f(in)g(`)p Fs(/dev/fd)p
+Ft('.)150 1608 y(The)28 b(name)h(of)g(this)f(\014le)h(is)g(passed)f(as)
+h(an)f(argumen)m(t)h(to)h(the)f(curren)m(t)f(command)h(as)f(the)h
+(result)g(of)g(the)150 1717 y(expansion.)40 b(If)28 b(the)h
+Fs(>\()p Fi(list)11 b Fs(\))26 b Ft(form)h(is)i(used,)f(writing)h(to)g
+(the)f(\014le)h(will)g(pro)m(vide)f(input)g(for)g Fq(list)r
+Ft(.)41 b(If)28 b(the)150 1827 y Fs(<\()p Fi(list)11
 b Fs(\))23 b Ft(form)h(is)i(used,)f(the)h(\014le)f(passed)g(as)g(an)g
 (argumen)m(t)h(should)e(b)s(e)h(read)g(to)h(obtain)g(the)f(output)g(of)
-150 873 y Fq(list)r Ft(.)41 b(Note)31 b(that)f(no)f(space)h(ma)m(y)g
+150 1936 y Fq(list)r Ft(.)41 b(Note)31 b(that)f(no)f(space)h(ma)m(y)g
 (app)s(ear)f(b)s(et)m(w)m(een)h(the)g Fs(<)f Ft(or)h
 Fs(>)f Ft(and)g(the)g(left)h(paren)m(thesis,)h(otherwise)150
-982 y(the)g(construct)f(w)m(ould)g(b)s(e)g(in)m(terpreted)h(as)f(a)h
-(redirection.)275 1118 y(When)36 b(a)m(v)-5 b(ailable,)40
+2046 y(the)g(construct)f(w)m(ould)g(b)s(e)g(in)m(terpreted)h(as)f(a)h
+(redirection.)275 2178 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 1228 y(v)-5 b(ariable)31
+(with)g(parameter)g(and)150 2288 y(v)-5 b(ariable)31
 b(expansion,)g(command)f(substitution,)g(and)g(arithmetic)i(expansion.)
-150 1428 y Fj(3.5.7)63 b(W)-10 b(ord)41 b(Splitting)150
-1575 y Ft(The)30 b(shell)h(scans)g(the)g(results)f(of)h(parameter)g
+150 2482 y Fj(3.5.7)63 b(W)-10 b(ord)41 b(Splitting)150
+2629 y Ft(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
-1685 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 1820 y(The)43
+2739 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 2871 y(The)43
 b(shell)h(treats)h(eac)m(h)h(c)m(haracter)f(of)g Fs($IFS)e
 Ft(as)h(a)g(delimiter,)49 b(and)43 b(splits)h(the)h(results)e(of)i(the)
-150 1930 y(other)40 b(expansions)f(in)m(to)i(w)m(ords)e(on)h(these)g(c)
+150 2981 y(other)40 b(expansions)f(in)m(to)i(w)m(ords)e(on)h(these)g(c)
 m(haracters.)70 b(If)39 b Fs(IFS)g Ft(is)h(unset,)i(or)d(its)h(v)-5
-b(alue)40 b(is)g(exactly)150 2039 y Fs(<space><tab><newline>)p
+b(alue)40 b(is)g(exactly)150 3090 y Fs(<space><tab><newline>)p
 Ft(,)26 b(the)32 b(default,)g(then)f(sequences)h(of)62
 b Fs(<space>)p Ft(,)30 b Fs(<tab>)p Ft(,)h(and)f Fs(<newline>)150
-2149 y Ft(at)39 b(the)f(b)s(eginning)g(and)f(end)h(of)g(the)h(results)f
+3200 y Ft(at)39 b(the)f(b)s(eginning)g(and)f(end)h(of)g(the)h(results)f
 (of)g(the)g(previous)g(expansions)g(are)g(ignored,)j(and)d(an)m(y)150
-2258 y(sequence)31 b(of)g Fs(IFS)f Ft(c)m(haracters)j(not)e(at)g(the)g
+3309 y(sequence)31 b(of)g Fs(IFS)f Ft(c)m(haracters)j(not)e(at)g(the)g
 (b)s(eginning)g(or)f(end)h(serv)m(es)g(to)h(delimit)f(w)m(ords.)42
-b(If)30 b Fs(IFS)g Ft(has)150 2368 y(a)g(v)-5 b(alue)30
+b(If)30 b Fs(IFS)g Ft(has)150 3419 y(a)g(v)-5 b(alue)30
 b(other)g(than)g(the)g(default,)g(then)f(sequences)h(of)g(the)g
 (whitespace)g(c)m(haracters)h Fs(space)e Ft(and)g Fs(tab)150
-2478 y Ft(are)36 b(ignored)g(at)g(the)g(b)s(eginning)f(and)g(end)g(of)h
+3529 y Ft(are)36 b(ignored)g(at)g(the)g(b)s(eginning)f(and)g(end)g(of)h
 (the)g(w)m(ord,)h(as)f(long)g(as)g(the)g(whitespace)h(c)m(haracter)g
-(is)150 2587 y(in)f(the)g(v)-5 b(alue)36 b(of)g Fs(IFS)f
+(is)150 3638 y(in)f(the)g(v)-5 b(alue)36 b(of)g Fs(IFS)f
 Ft(\(an)h Fs(IFS)f Ft(whitespace)h(c)m(haracter\).)60
 b(An)m(y)35 b(c)m(haracter)j(in)d Fs(IFS)g Ft(that)i(is)f(not)g
-Fs(IFS)150 2697 y Ft(whitespace,)27 b(along)f(with)f(an)m(y)g(adjacen)m
+Fs(IFS)150 3748 y Ft(whitespace,)27 b(along)f(with)f(an)m(y)g(adjacen)m
 (t)h Fs(IFS)e Ft(whitespace)i(c)m(haracters,)i(delimits)e(a)f(\014eld.)
-38 b(A)26 b(sequence)150 2806 y(of)35 b Fs(IFS)f Ft(whitespace)h(c)m
+38 b(A)26 b(sequence)150 3857 y(of)35 b Fs(IFS)f Ft(whitespace)h(c)m
 (haracters)i(is)d(also)i(treated)g(as)f(a)g(delimiter.)55
 b(If)34 b(the)h(v)-5 b(alue)35 b(of)g Fs(IFS)f Ft(is)h(n)m(ull,)h(no)
-150 2916 y(w)m(ord)30 b(splitting)h(o)s(ccurs.)275 3052
+150 3967 y(w)m(ord)30 b(splitting)h(o)s(ccurs.)275 4099
 y(Explicit)44 b(n)m(ull)f(argumen)m(ts)g(\()p Fs("")g
 Ft(or)h Fs('')p Ft(\))f(are)g(retained.)80 b(Unquoted)43
-b(implicit)h(n)m(ull)f(argumen)m(ts,)150 3161 y(resulting)24
+b(implicit)h(n)m(ull)f(argumen)m(ts,)150 4209 y(resulting)24
 b(from)f(the)g(expansion)g(of)h(parameters)g(that)g(ha)m(v)m(e)h(no)e
 (v)-5 b(alues,)25 b(are)f(remo)m(v)m(ed.)40 b(If)23 b(a)g(parameter)150
-3271 y(with)30 b(no)g(v)-5 b(alue)31 b(is)g(expanded)e(within)h(double)
+4318 y(with)30 b(no)g(v)-5 b(alue)31 b(is)g(expanded)e(within)h(double)
 g(quotes,)h(a)g(n)m(ull)f(argumen)m(t)h(results)f(and)g(is)g(retained.)
-275 3406 y(Note)h(that)g(if)g(no)f(expansion)g(o)s(ccurs,)g(no)h
-(splitting)g(is)f(p)s(erformed.)150 3607 y Fj(3.5.8)63
-b(Filename)41 b(Expansion)150 3754 y Ft(After)26 b(w)m(ord)g
+275 4450 y(Note)h(that)g(if)g(no)f(expansion)g(o)s(ccurs,)g(no)h
+(splitting)g(is)f(p)s(erformed.)150 4645 y Fj(3.5.8)63
+b(Filename)41 b(Expansion)150 4792 y Ft(After)26 b(w)m(ord)g
 (splitting,)i(unless)d(the)i(`)p Fs(-f)p Ft(')f(option)g(has)g(b)s(een)
 f(set)i(\(see)g(Section)g(4.3.1)h([The)e(Set)g(Builtin],)150
-3863 y(page)h(54\),)i(Bash)d(scans)h(eac)m(h)h(w)m(ord)e(for)g(the)h(c)
+4902 y(page)h(54\),)i(Bash)d(scans)h(eac)m(h)h(w)m(ord)e(for)g(the)h(c)
 m(haracters)g(`)p Fs(*)p Ft(',)h(`)p Fs(?)p Ft(',)g(and)e(`)p
 Fs([)p Ft('.)39 b(If)26 b(one)h(of)g(these)f(c)m(haracters)150
-3973 y(app)s(ears,)h(then)f(the)h(w)m(ord)f(is)h(regarded)g(as)g(a)g
+5011 y(app)s(ears,)h(then)f(the)h(w)m(ord)f(is)h(regarded)g(as)g(a)g
 Fq(pattern)p Ft(,)g(and)g(replaced)g(with)f(an)h(alphab)s(etically)h
-(sorted)150 4082 y(list)37 b(of)f(\014le)h(names)f(matc)m(hing)i(the)e
-(pattern)h(\(see)g(Section)g(3.5.8.1)i([P)m(attern)e(Matc)m(hing],)j
-(page)d(26\).)150 4192 y(If)e(no)f(matc)m(hing)j(\014le)e(names)g(are)g
-(found,)g(and)f(the)i(shell)f(option)g Fs(nullglob)e
-Ft(is)i(disabled,)h(the)f(w)m(ord)150 4302 y(is)j(left)g(unc)m(hanged.)
-62 b(If)37 b(the)g Fs(nullglob)e Ft(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 4411
-y(remo)m(v)m(ed.)49 b(If)32 b(the)h Fs(failglob)d Ft(shell)j(option)g
-(is)g(set,)h(and)e(no)g(matc)m(hes)i(are)f(found,)f(an)h(error)f
-(message)150 4521 y(is)c(prin)m(ted)e(and)h(the)h(command)f(is)h(not)f
-(executed.)41 b(If)27 b(the)h(shell)f(option)h Fs(nocaseglob)d
-Ft(is)i(enabled,)i(the)150 4630 y(matc)m(h)i(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 4766 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 Fs(.)p
-Ft(')f(at)g(the)g(start)g(of)g(a)g(\014lename)150 4876
-y(or)f(immediately)i(follo)m(wing)g(a)f(slash)f(m)m(ust)h(b)s(e)f(matc)
-m(hed)h(explicitly)-8 b(,)27 b(unless)c(the)g(shell)h(option)g
-Fs(dotglob)150 4985 y Ft(is)31 b(set.)45 b(When)31 b(matc)m(hing)h(a)g
-(\014le)f(name,)h(the)g(slash)f(c)m(haracter)i(m)m(ust)e(alw)m(a)m(ys)i
-(b)s(e)e(matc)m(hed)h(explicitly)-8 b(.)150 5095 y(In)30
+(sorted)150 5121 y(list)k(of)f(\014lenames)g(matc)m(hing)h(the)f
+(pattern)g(\(see)h(Section)f(3.5.8.1)j([P)m(attern)e(Matc)m(hing],)h
+(page)f(26\).)43 b(If)150 5230 y(no)26 b(matc)m(hing)i(\014lenames)e
+(are)h(found,)f(and)g(the)h(shell)f(option)h Fs(nullglob)d
+Ft(is)j(disabled,)g(the)g(w)m(ord)f(is)g(left)150 5340
+y(unc)m(hanged.)40 b(If)30 b(the)g Fs(nullglob)e Ft(option)i(is)h(set,)
+f(and)g(no)g(matc)m(hes)h(are)g(found,)e(the)h(w)m(ord)g(is)g(remo)m(v)
+m(ed.)p eop end
+%%Page: 26 32
+TeXDict begin 26 31 bop 150 -116 a Ft(26)2572 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y(If)h(the)g Fs(failglob)e
+Ft(shell)i(option)h(is)f(set,)h(and)f(no)g(matc)m(hes)h(are)g(found,)e
+(an)h(error)g(message)h(is)f(prin)m(ted)150 408 y(and)e(the)g(command)g
+(is)h(not)f(executed.)42 b(If)30 b(the)g(shell)h(option)g
+Fs(nocaseglob)c Ft(is)k(enabled,)f(the)h(matc)m(h)g(is)150
+518 y(p)s(erformed)e(without)h(regard)h(to)g(the)f(case)i(of)e(alphab)s
+(etic)h(c)m(haracters.)275 657 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
+Fs(.)p Ft(')f(at)g(the)g(start)g(of)g(a)g(\014lename)150
+766 y(or)f(immediately)i(follo)m(wing)g(a)f(slash)f(m)m(ust)h(b)s(e)f
+(matc)m(hed)h(explicitly)-8 b(,)27 b(unless)c(the)g(shell)h(option)g
+Fs(dotglob)150 876 y Ft(is)33 b(set.)51 b(When)33 b(matc)m(hing)h(a)g
+(\014lename,)h(the)e(slash)h(c)m(haracter)h(m)m(ust)e(alw)m(a)m(ys)i(b)
+s(e)e(matc)m(hed)h(explicitly)-8 b(.)150 985 y(In)30
 b(other)g(cases,)i(the)e(`)p Fs(.)p Ft(')h(c)m(haracter)h(is)e(not)h
-(treated)g(sp)s(ecially)-8 b(.)275 5230 y(See)28 b(the)g(description)g
+(treated)g(sp)s(ecially)-8 b(.)275 1124 y(See)28 b(the)g(description)g
 (of)g Fs(shopt)e Ft(in)i(Section)g(4.3.2)i([The)e(Shopt)f(Builtin],)i
-(page)g(57,)g(for)f(a)g(descrip-)150 5340 y(tion)j(of)f(the)h
+(page)g(58,)g(for)f(a)g(descrip-)150 1234 y(tion)j(of)f(the)h
 Fs(nocaseglob)p Ft(,)d Fs(nullglob)p Ft(,)g Fs(failglob)p
-Ft(,)h(and)g Fs(dotglob)g Ft(options.)p eop end
-%%Page: 26 32
-TeXDict begin 26 31 bop 150 -116 a Ft(26)2572 b(Bash)31
-b(Reference)g(Man)m(ual)275 299 y(The)h Fs(GLOBIGNORE)f
-Ft(shell)i(v)-5 b(ariable)34 b(ma)m(y)g(b)s(e)f(used)f(to)i(restrict)g
-(the)g(set)f(of)h(\014lenames)f(matc)m(hing)i(a)150 408
-y(pattern.)k(If)25 b Fs(GLOBIGNORE)e Ft(is)j(set,)h(eac)m(h)g(matc)m
-(hing)g(\014lename)f(that)g(also)h(matc)m(hes)f(one)g(of)g(the)g
-(patterns)150 518 y(in)33 b Fs(GLOBIGNORE)d Ft(is)j(remo)m(v)m(ed)h
+Ft(,)h(and)g Fs(dotglob)g Ft(options.)275 1372 y(The)j
+Fs(GLOBIGNORE)f Ft(shell)i(v)-5 b(ariable)34 b(ma)m(y)g(b)s(e)f(used)f
+(to)i(restrict)g(the)g(set)f(of)h(\014lenames)f(matc)m(hing)i(a)150
+1482 y(pattern.)k(If)25 b Fs(GLOBIGNORE)e Ft(is)j(set,)h(eac)m(h)g
+(matc)m(hing)g(\014lename)f(that)g(also)h(matc)m(hes)f(one)g(of)g(the)g
+(patterns)150 1592 y(in)33 b Fs(GLOBIGNORE)d Ft(is)j(remo)m(v)m(ed)h
 (from)e(the)i(list)f(of)g(matc)m(hes.)50 b(The)33 b(\014lenames)g(`)p
 Fs(.)p Ft(')g(and)f(`)p Fs(..)p Ft(')h(are)g(alw)m(a)m(ys)150
-628 y(ignored)g(when)e Fs(GLOBIGNORE)f Ft(is)j(set)g(and)f(not)h(n)m
+1701 y(ignored)g(when)e Fs(GLOBIGNORE)f Ft(is)j(set)g(and)f(not)h(n)m
 (ull.)48 b(Ho)m(w)m(ev)m(er,)35 b(setting)f Fs(GLOBIGNORE)c
-Ft(to)j(a)g(non-n)m(ull)150 737 y(v)-5 b(alue)34 b(has)f(the)h
+Ft(to)j(a)g(non-n)m(ull)150 1811 y(v)-5 b(alue)34 b(has)f(the)h
 (e\013ect)h(of)f(enabling)g(the)g Fs(dotglob)e Ft(shell)h(option,)j(so)
-e(all)g(other)g(\014lenames)g(b)s(eginning)150 847 y(with)43
+e(all)g(other)g(\014lenames)g(b)s(eginning)150 1920 y(with)43
 b(a)h(`)p Fs(.)p Ft(')f(will)h(matc)m(h.)80 b(T)-8 b(o)44
 b(get)h(the)e(old)h(b)s(eha)m(vior)f(of)h(ignoring)f(\014lenames)h(b)s
-(eginning)f(with)g(a)150 956 y(`)p Fs(.)p Ft(',)c(mak)m(e)g(`)p
+(eginning)f(with)g(a)150 2030 y(`)p Fs(.)p Ft(',)c(mak)m(e)g(`)p
 Fs(.*)p Ft(')e(one)g(of)g(the)h(patterns)f(in)g Fs(GLOBIGNORE)p
 Ft(.)58 b(The)37 b Fs(dotglob)e Ft(option)j(is)f(disabled)g(when)150
-1066 y Fs(GLOBIGNORE)28 b Ft(is)i(unset.)150 1285 y Fj(3.5.8.1)63
-b(P)m(attern)40 b(Matc)m(hing)150 1432 y Ft(An)m(y)24
+2139 y Fs(GLOBIGNORE)28 b Ft(is)i(unset.)150 2343 y Fj(3.5.8.1)63
+b(P)m(attern)40 b(Matc)m(hing)150 2490 y Ft(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
-1541 y(b)s(elo)m(w,)31 b(matc)m(hes)g(itself.)42 b(The)29
+2599 y(b)s(elo)m(w,)31 b(matc)m(hes)g(itself.)42 b(The)29
 b Fl(nul)h Ft(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 1651
+(pattern.)40 b(A)31 b(bac)m(kslash)g(escap)s(es)150 2709
 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 1761 y(pattern)30 b(c)m(haracters)i(m)m(ust)f(b)s(e)e
+b(sp)s(ecial)150 2819 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 1915 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 2103 y Fs(*)432
+b(.)275 2957 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 3123 y Fs(*)432
 b Ft(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 Fs(globstar)e Ft(shell)i(option)630
-2213 y(is)37 b(enabled,)h(and)e(`)p Fs(*)p Ft(')h(is)g(used)f(in)g(a)h
+3232 y(is)37 b(enabled,)h(and)e(`)p Fs(*)p Ft(')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
-Fs(*)p Ft('s)630 2323 y(used)f(as)g(a)h(single)g(pattern)g(will)f(matc)
+Fs(*)p Ft('s)630 3342 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
-2432 y(sub)s(directories.)g(If)25 b(follo)m(w)m(ed)j(b)m(y)e(a)g(`)p
+3452 y(sub)s(directories.)g(If)25 b(follo)m(w)m(ed)j(b)m(y)e(a)g(`)p
 Fs(/)p Ft(',)h(t)m(w)m(o)g(adjacen)m(t)h(`)p Fs(*)p Ft('s)e(will)g
-(matc)m(h)h(only)f(directories)630 2542 y(and)k(sub)s(directories.)150
-2721 y Fs(?)432 b Ft(Matc)m(hes)32 b(an)m(y)f(single)g(c)m(haracter.)
-150 2900 y Fs([...)o(])241 b Ft(Matc)m(hes)27 b(an)m(y)e(one)g(of)g
+(matc)m(h)h(only)f(directories)630 3561 y(and)k(sub)s(directories.)150
+3725 y Fs(?)432 b Ft(Matc)m(hes)32 b(an)m(y)f(single)g(c)m(haracter.)
+150 3888 y Fs([...)o(])241 b Ft(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 3009 y(h)m(yphen)i(denotes)h(a)g
+i(separated)e(b)m(y)g(a)630 3998 y(h)m(yphen)i(denotes)h(a)g
 Fq(range)g(expression)p Ft(;)g(an)m(y)h(c)m(haracter)g(that)f(sorts)g
-(b)s(et)m(w)m(een)g(those)h(t)m(w)m(o)630 3119 y(c)m(haracters,)f
+(b)s(et)m(w)m(een)g(those)h(t)m(w)m(o)630 4108 y(c)m(haracters,)f
 (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 3229 y(set,)31 b(is)f(matc)m(hed.)42
+(sequence)e(and)f(c)m(haracter)630 4217 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
 Fs([)p Ft(')h(is)f(a)h(`)p Fs(!)p Ft(')f(or)g(a)h(`)p
-Fs(^)p Ft(')g(then)f(an)m(y)630 3338 y(c)m(haracter)c(not)f(enclosed)g
+Fs(^)p Ft(')g(then)f(an)m(y)630 4327 y(c)m(haracter)c(not)f(enclosed)g
 (is)g(matc)m(hed.)40 b(A)25 b(`)p Fp(\000)p Ft(')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 3448
+(matc)m(hed)h(b)m(y)f(including)h(it)g(as)g(the)630 4436
 y(\014rst)32 b(or)h(last)h(c)m(haracter)h(in)e(the)g(set.)50
 b(A)33 b(`)p Fs(])p Ft(')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 3557 y(\014rst)25 b(c)m(haracter)i(in)e
+(including)g(it)g(as)h(the)630 4546 y(\014rst)25 b(c)m(haracter)i(in)e
 (the)h(set.)40 b(The)25 b(sorting)h(order)f(of)h(c)m(haracters)h(in)f
-(range)g(expressions)f(is)630 3667 y(determined)h(b)m(y)h(the)g(curren)
+(range)g(expressions)f(is)630 4655 y(determined)h(b)m(y)h(the)g(curren)
 m(t)f(lo)s(cale)j(and)d(the)h(v)-5 b(alues)27 b(of)g(the)g
-Fs(LC_COLLATE)d Ft(and)i Fs(LC_ALL)630 3777 y Ft(shell)31
-b(v)-5 b(ariables,)31 b(if)f(set.)630 3921 y(F)-8 b(or)34
+Fs(LC_COLLATE)d Ft(and)i Fs(LC_ALL)630 4765 y Ft(shell)31
+b(v)-5 b(ariables,)31 b(if)f(set.)630 4902 y(F)-8 b(or)34
 b(example,)g(in)f(the)g(default)g(C)f(lo)s(cale,)k(`)p
 Fs([a-dx-z])p Ft(')31 b(is)i(equiv)-5 b(alen)m(t)34 b(to)g(`)p
-Fs([abcdxyz])p Ft('.)630 4030 y(Man)m(y)68 b(lo)s(cales)h(sort)f(c)m
+Fs([abcdxyz])p Ft('.)630 5011 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 4140 y(`)p Fs([a-dx-z])p Ft(')36 b(is)i(t)m(ypically)i(not)e
+(cales)630 5121 y(`)p Fs([a-dx-z])p Ft(')36 b(is)i(t)m(ypically)i(not)e
 (equiv)-5 b(alen)m(t)39 b(to)g(`)p Fs([abcdxyz])p Ft(';)g(it)g(migh)m
-(t)f(b)s(e)f(equiv)-5 b(alen)m(t)630 4250 y(to)34 b(`)p
+(t)f(b)s(e)f(equiv)-5 b(alen)m(t)630 5230 y(to)34 b(`)p
 Fs([aBbCcDdxXyYz])p Ft(',)c(for)j(example.)49 b(T)-8
 b(o)33 b(obtain)h(the)f(traditional)h(in)m(terpretation)h(of)630
-4359 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
-4469 y(the)c Fs(LC_COLLATE)e Ft(or)i Fs(LC_ALL)f Ft(en)m(vironmen)m(t)i
+5340 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)p
+eop end
+%%Page: 27 33
+TeXDict begin 27 32 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(27)630 299
+y(the)29 b Fs(LC_COLLATE)e Ft(or)i Fs(LC_ALL)f Ft(en)m(vironmen)m(t)i
 (v)-5 b(ariable)30 b(to)g(the)f(v)-5 b(alue)30 b(`)p
-Fs(C)p Ft(',)g(or)f(enable)h(the)630 4578 y Fs(globasciiranges)c
-Ft(shell)31 b(option.)630 4723 y(Within)23 b(`)p Fs([)p
+Fs(C)p Ft(',)g(or)f(enable)h(the)630 408 y Fs(globasciiranges)c
+Ft(shell)31 b(option.)630 544 y(Within)23 b(`)p Fs([)p
 Ft(')h(and)e(`)p Fs(])p Ft(',)j Fq(c)m(haracter)g(classes)j
 Ft(can)c(b)s(e)e(sp)s(eci\014ed)h(using)f(the)i(syn)m(tax)f
-Fs([:)p Fq(class)t Fs(:])p Ft(,)630 4832 y(where)30 b
+Fs([:)p Fq(class)t Fs(:])p Ft(,)630 653 y(where)30 b
 Fq(class)35 b Ft(is)30 b(one)h(of)f(the)h(follo)m(wing)h(classes)f
-(de\014ned)e(in)h(the)h Fl(posix)f Ft(standard:)870 4977
+(de\014ned)e(in)h(the)h Fl(posix)f Ft(standard:)870 789
 y Fs(alnum)142 b(alpha)g(ascii)f(blank)h(cntrl)g(digit)g(graph)g(lower)
-870 5086 y(print)g(punct)g(space)f(upper)h(word)190 b(xdigit)630
-5230 y Ft(A)42 b(c)m(haracter)h(class)f(matc)m(hes)h(an)m(y)f(c)m
+870 898 y(print)g(punct)g(space)f(upper)h(word)190 b(xdigit)630
+1033 y Ft(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 Fs(word)630 5340 y Ft(c)m(haracter)32 b(class)f(matc)m(hes)h
+b Fs(word)630 1143 y Ft(c)m(haracter)32 b(class)f(matc)m(hes)h
 (letters,)f(digits,)h(and)d(the)i(c)m(haracter)h(`)p
-Fs(_)p Ft('.)p eop end
-%%Page: 27 33
-TeXDict begin 27 32 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(27)630 299
-y(Within)25 b(`)p Fs([)p Ft(')f(and)g(`)p Fs(])p Ft(',)i(an)e
-Fq(equiv)-5 b(alence)26 b(class)j Ft(can)24 b(b)s(e)g(sp)s(eci\014ed)g
-(using)g(the)g(syn)m(tax)h Fs([=)p Fq(c)6 b Fs(=])p Ft(,)630
-408 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
-518 y(curren)m(t)g(lo)s(cale\))j(as)d(the)h(c)m(haracter)h
-Fq(c)6 b Ft(.)630 649 y(Within)21 b(`)p Fs([)p Ft(')h(and)e(`)p
+Fs(_)p Ft('.)630 1278 y(Within)25 b(`)p Fs([)p Ft(')f(and)g(`)p
+Fs(])p Ft(',)i(an)e Fq(equiv)-5 b(alence)26 b(class)j
+Ft(can)24 b(b)s(e)g(sp)s(eci\014ed)g(using)g(the)g(syn)m(tax)h
+Fs([=)p Fq(c)6 b Fs(=])p Ft(,)630 1388 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 1497
+y(curren)m(t)g(lo)s(cale\))j(as)d(the)h(c)m(haracter)h
+Fq(c)6 b Ft(.)630 1633 y(Within)21 b(`)p Fs([)p Ft(')h(and)e(`)p
 Fs(])p Ft(',)j(the)f(syn)m(tax)f Fs([.)p Fq(sym)m(b)s(ol)t
 Fs(.])f Ft(matc)m(hes)i(the)f(collating)j(sym)m(b)s(ol)c
-Fq(sym)m(b)s(ol)t Ft(.)275 803 y(If)29 b(the)g Fs(extglob)f
+Fq(sym)m(b)s(ol)t Ft(.)275 1794 y(If)29 b(the)g Fs(extglob)f
 Ft(shell)h(option)h(is)g(enabled)f(using)g(the)h Fs(shopt)e
-Ft(builtin,)h(sev)m(eral)i(extended)f(pattern)150 912
+Ft(builtin,)h(sev)m(eral)i(extended)f(pattern)150 1904
 y(matc)m(hing)37 b(op)s(erators)e(are)h(recognized.)58
 b(In)35 b(the)g(follo)m(wing)i(description,)g(a)f Fq(pattern-list)j
-Ft(is)d(a)g(list)g(of)150 1022 y(one)d(or)f(more)h(patterns)f
+Ft(is)d(a)g(list)g(of)150 2013 y(one)d(or)f(more)h(patterns)f
 (separated)h(b)m(y)f(a)h(`)p Fs(|)p Ft('.)47 b(Comp)s(osite)33
 b(patterns)f(ma)m(y)i(b)s(e)d(formed)h(using)g(one)h(or)150
-1131 y(more)e(of)f(the)h(follo)m(wing)g(sub-patterns:)150
-1285 y Fs(?\()p Fi(pattern-list)11 b Fs(\))630 1394 y
+2123 y(more)e(of)f(the)h(follo)m(wing)g(sub-patterns:)150
+2285 y Fs(?\()p Fi(pattern-list)11 b Fs(\))630 2394 y
 Ft(Matc)m(hes)32 b(zero)f(or)g(one)f(o)s(ccurrence)h(of)f(the)h(giv)m
-(en)g(patterns.)150 1547 y Fs(*\()p Fi(pattern-list)11
-b Fs(\))630 1657 y Ft(Matc)m(hes)32 b(zero)f(or)g(more)f(o)s
-(ccurrences)h(of)f(the)h(giv)m(en)g(patterns.)150 1810
-y Fs(+\()p Fi(pattern-list)11 b Fs(\))630 1920 y Ft(Matc)m(hes)32
+(en)g(patterns.)150 2555 y Fs(*\()p Fi(pattern-list)11
+b Fs(\))630 2665 y Ft(Matc)m(hes)32 b(zero)f(or)g(more)f(o)s
+(ccurrences)h(of)f(the)h(giv)m(en)g(patterns.)150 2825
+y Fs(+\()p Fi(pattern-list)11 b Fs(\))630 2935 y Ft(Matc)m(hes)32
 b(one)f(or)f(more)h(o)s(ccurrences)f(of)h(the)f(giv)m(en)i(patterns.)
-150 2073 y Fs(@\()p Fi(pattern-list)11 b Fs(\))630 2182
+150 3096 y Fs(@\()p Fi(pattern-list)11 b Fs(\))630 3206
 y Ft(Matc)m(hes)32 b(one)f(of)f(the)h(giv)m(en)g(patterns.)150
-2335 y Fs(!\()p Fi(pattern-list)11 b Fs(\))630 2445 y
+3366 y Fs(!\()p Fi(pattern-list)11 b Fs(\))630 3476 y
 Ft(Matc)m(hes)32 b(an)m(ything)f(except)g(one)g(of)f(the)h(giv)m(en)g
-(patterns.)150 2638 y Fj(3.5.9)63 b(Quote)41 b(Remo)m(v)-7
-b(al)150 2785 y Ft(After)32 b(the)g(preceding)g(expansions,)h(all)f
+(patterns.)150 3677 y Fj(3.5.9)63 b(Quote)41 b(Remo)m(v)-7
+b(al)150 3824 y Ft(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
 Fs(\\)p Ft(',)g(`)p Fs(')p Ft(',)f(and)g(`)p Fs(")p Ft(')150
-2895 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 3121 y Fr(3.6)68
-b(Redirections)150 3280 y Ft(Before)43 b(a)f(command)f(is)h(executed,)j
+3933 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 4168 y Fr(3.6)68
+b(Redirections)150 4327 y Ft(Before)43 b(a)f(command)f(is)h(executed,)j
 (its)d(input)f(and)g(output)g(ma)m(y)i(b)s(e)e Fq(redirected)k
-Ft(using)c(a)h(sp)s(ecial)150 3390 y(notation)33 b(in)m(terpreted)g(b)m
+Ft(using)c(a)h(sp)s(ecial)150 4437 y(notation)33 b(in)m(terpreted)g(b)m
 (y)f(the)g(shell.)46 b(Redirection)33 b(ma)m(y)g(also)g(b)s(e)f(used)f
-(to)i(op)s(en)e(and)h(close)h(\014les)f(for)150 3499
+(to)i(op)s(en)e(and)h(close)h(\014les)f(for)150 4546
 y(the)h(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 3609 y(or)29 b(app)s(ear)g(an)m(ywhere)g(within)g(a)h
+(precede)150 4656 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 3719 y(pro)s(cessed)f(in)g(the)g(order)g
+b(Redirections)31 b(are)150 4766 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
-3850 y(Eac)m(h)45 b(redirection)h(that)f(ma)m(y)h(b)s(e)e(preceded)g(b)
+4902 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 3960 y(preceded)41 b(b)m(y)g(a)g(w)m(ord)g(of)g(the)g(form)g
+s(e)150 5011 y(preceded)41 b(b)m(y)g(a)g(w)m(ord)g(of)g(the)g(form)g
 Fs({)p Fq(v)-5 b(arname)5 b Fs(})p Ft(.)72 b(In)40 b(this)h(case,)k
-(for)c(eac)m(h)h(redirection)g(op)s(erator)150 4069 y(except)30
+(for)c(eac)m(h)h(redirection)g(op)s(erator)150 5121 y(except)30
 b Fs(>)p Ft(&-)f(and)f Fs(<)p Ft(&-,)h(the)g(shell)g(will)h(allo)s
 (cate)h(a)e(\014le)h(descriptor)e(greater)j(than)d(10)i(and)e(assign)i
-(it)f(to)150 4179 y Fs({)p Fq(v)-5 b(arname)5 b Fs(})p
+(it)f(to)150 5230 y Fs({)p Fq(v)-5 b(arname)5 b Fs(})p
 Ft(.)42 b(If)31 b Fs(>)p Ft(&-)f(or)h Fs(<)p Ft(&-)g(is)g(preceded)g(b)
 m(y)g Fs({)p Fq(v)-5 b(arname)5 b Fs(})p Ft(,)31 b(the)g(v)-5
 b(alue)31 b(of)g Fq(v)-5 b(arname)37 b Ft(de\014nes)30
-b(the)h(\014le)150 4288 y(descriptor)f(to)h(close.)275
-4420 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 4529 y(acter)42 b(of)f(the)g(redirection)g(op)s(erator)g
-(is)g(`)p Fs(<)p Ft(',)i(the)e(redirection)g(refers)g(to)g(the)g
-(standard)f(input)f(\(\014le)150 4639 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 Fs(>)p Ft(',)h(the)f(redirection)
-g(refers)150 4748 y(to)e(the)g(standard)e(output)h(\(\014le)h
-(descriptor)f(1\).)275 4880 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 4989 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 5099 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 5209 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
-5340 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)p
+b(the)h(\014le)150 5340 y(descriptor)f(to)h(close.)p
 eop end
 %%Page: 28 34
 TeXDict begin 28 33 bop 150 -116 a Ft(28)2572 b(Bash)31
-b(Reference)g(Man)m(ual)390 299 y Fs(ls)47 b(>)h Fi(dirlist)56
-b Fs(2>&1)150 444 y Ft(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 553 y(\014le)h Fq(dirlist)r
-Ft(,)h(while)f(the)h(command)390 698 y Fs(ls)47 b(2>&1)g(>)g
-Fi(dirlist)150 843 y Ft(directs)28 b(only)f(the)g(standard)g(output)g
-(to)h(\014le)f Fq(dirlist)r Ft(,)h(b)s(ecause)g(the)f(standard)g(error)
-g(w)m(as)g(made)h(a)f(cop)m(y)150 952 y(of)k(the)f(standard)g(output)g
-(b)s(efore)g(the)g(standard)g(output)g(w)m(as)g(redirected)h(to)g
-Fq(dirlist)r Ft(.)275 1097 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 1207 y(in)k(the)h(follo)m(wing)g
-(table:)150 1381 y Fs(/dev/fd/)p Fi(fd)630 1491 y Ft(If)f
-Fq(fd)j Ft(is)d(a)h(v)-5 b(alid)31 b(in)m(teger,)h(\014le)e(descriptor)
-h Fq(fd)i Ft(is)d(duplicated.)150 1661 y Fs(/dev/stdin)630
-1770 y Ft(File)i(descriptor)e(0)h(is)f(duplicated.)150
-1940 y Fs(/dev/stdout)630 2049 y Ft(File)i(descriptor)e(1)h(is)f
-(duplicated.)150 2219 y Fs(/dev/stderr)630 2329 y Ft(File)i(descriptor)
-e(2)h(is)f(duplicated.)150 2498 y Fs(/dev/tcp/)p Fi(host)11
-b Fs(/)p Fi(port)630 2608 y Ft(If)41 b Fq(host)i Ft(is)f(a)g(v)-5
+b(Reference)g(Man)m(ual)275 299 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 408 y(acter)42
+b(of)f(the)g(redirection)g(op)s(erator)g(is)g(`)p Fs(<)p
+Ft(',)i(the)e(redirection)g(refers)g(to)g(the)g(standard)f(input)f
+(\(\014le)150 518 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
+Fs(>)p Ft(',)h(the)f(redirection)g(refers)150 628 y(to)e(the)g
+(standard)e(output)h(\(\014le)h(descriptor)f(1\).)275
+755 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
+865 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
+975 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
+1084 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 1212 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 1339 y Fs(ls)47 b(>)h
+Fi(dirlist)56 b Fs(2>&1)150 1467 y Ft(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 1577 y(\014le)h
+Fq(dirlist)r Ft(,)h(while)f(the)h(command)390 1704 y
+Fs(ls)47 b(2>&1)g(>)g Fi(dirlist)150 1832 y Ft(directs)28
+b(only)f(the)g(standard)g(output)g(to)h(\014le)f Fq(dirlist)r
+Ft(,)h(b)s(ecause)g(the)f(standard)g(error)g(w)m(as)g(made)h(a)f(cop)m
+(y)150 1942 y(of)k(the)f(standard)g(output)g(b)s(efore)g(the)g
+(standard)g(output)g(w)m(as)g(redirected)h(to)g Fq(dirlist)r
+Ft(.)275 2069 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 2179 y(in)k(the)h(follo)m(wing)g(table:)150
+2325 y Fs(/dev/fd/)p Fi(fd)630 2434 y Ft(If)f Fq(fd)j
+Ft(is)d(a)h(v)-5 b(alid)31 b(in)m(teger,)h(\014le)e(descriptor)h
+Fq(fd)i Ft(is)d(duplicated.)150 2580 y Fs(/dev/stdin)630
+2690 y Ft(File)i(descriptor)e(0)h(is)f(duplicated.)150
+2836 y Fs(/dev/stdout)630 2945 y Ft(File)i(descriptor)e(1)h(is)f
+(duplicated.)150 3091 y Fs(/dev/stderr)630 3201 y Ft(File)i(descriptor)
+e(2)h(is)f(duplicated.)150 3346 y Fs(/dev/tcp/)p Fi(host)11
+b Fs(/)p Fi(port)630 3456 y Ft(If)41 b Fq(host)i Ft(is)f(a)g(v)-5
 b(alid)41 b(hostname)h(or)f(In)m(ternet)h(address,)i(and)c
-Fq(p)s(ort)j Ft(is)f(an)f(in)m(teger)i(p)s(ort)630 2717
+Fq(p)s(ort)j Ft(is)f(an)f(in)m(teger)i(p)s(ort)630 3566
 y(n)m(um)m(b)s(er)h(or)h(service)h(name,)j(Bash)c(attempts)h(to)g(op)s
-(en)f(a)g(TCP)g(connection)h(to)g(the)630 2827 y(corresp)s(onding)29
-b(so)s(c)m(k)m(et.)150 2997 y Fs(/dev/udp/)p Fi(host)11
-b Fs(/)p Fi(port)630 3106 y Ft(If)41 b Fq(host)i Ft(is)f(a)g(v)-5
+(en)f(a)g(TCP)g(connection)h(to)g(the)630 3675 y(corresp)s(onding)29
+b(so)s(c)m(k)m(et.)150 3821 y Fs(/dev/udp/)p Fi(host)11
+b Fs(/)p Fi(port)630 3931 y Ft(If)41 b Fq(host)i Ft(is)f(a)g(v)-5
 b(alid)41 b(hostname)h(or)f(In)m(ternet)h(address,)i(and)c
-Fq(p)s(ort)j Ft(is)f(an)f(in)m(teger)i(p)s(ort)630 3216
+Fq(p)s(ort)j Ft(is)f(an)f(in)m(teger)i(p)s(ort)630 4040
 y(n)m(um)m(b)s(er)g(or)i(service)g(name,)k(Bash)c(attempts)g(to)h(op)s
-(en)e(a)h(UDP)g(connection)g(to)h(the)630 3325 y(corresp)s(onding)29
-b(so)s(c)m(k)m(et.)275 3500 y(A)h(failure)h(to)g(op)s(en)e(or)i(create)
+(en)e(a)h(UDP)g(connection)g(to)h(the)630 4150 y(corresp)s(onding)29
+b(so)s(c)m(k)m(et.)275 4296 y(A)h(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
-3645 y(Redirections)f(using)e(\014le)i(descriptors)f(greater)h(than)f
+4423 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
-3755 y(con\015ict)i(with)f(\014le)h(descriptors)f(the)g(shell)h(uses)f
-(in)m(ternally)-8 b(.)150 3964 y Fj(3.6.1)63 b(Redirecting)40
-b(Input)150 4111 y Ft(Redirection)35 b(of)f(input)f(causes)i(the)f
+4533 y(con\015ict)i(with)f(\014le)h(descriptors)f(the)g(shell)h(uses)f
+(in)m(ternally)-8 b(.)150 4718 y Fj(3.6.1)63 b(Redirecting)40
+b(Input)150 4865 y Ft(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
-Fq(w)m(ord)k Ft(to)d(b)s(e)150 4221 y(op)s(ened)d(for)g(reading)g(on)g
+Fq(w)m(ord)k Ft(to)d(b)s(e)150 4975 y(op)s(ened)d(for)g(reading)g(on)g
 (\014le)h(descriptor)f Fs(n)p Ft(,)h(or)f(the)g(standard)g(input)f
 (\(\014le)i(descriptor)f(0\))h(if)f Fs(n)g Ft(is)h(not)150
-4330 y(sp)s(eci\014ed.)275 4475 y(The)c(general)j(format)e(for)h
-(redirecting)g(input)e(is:)390 4620 y Fs([)p Fi(n)11
-b Fs(]<)p Fi(word)150 4829 y Fj(3.6.2)63 b(Redirecting)40
-b(Output)150 4976 y Ft(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
-Fq(w)m(ord)i Ft(to)f(b)s(e)150 5086 y(op)s(ened)d(for)g(writing)g(on)g
-(\014le)h(descriptor)f Fq(n)p Ft(,)g(or)g(the)h(standard)e(output)h
-(\(\014le)h(descriptor)f(1\))h(if)g Fq(n)e Ft(is)i(not)150
-5195 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 5340 y(The)e(general)j(format)e(for)
-h(redirecting)g(output)f(is:)p eop end
+5085 y(sp)s(eci\014ed.)275 5212 y(The)c(general)j(format)e(for)h
+(redirecting)g(input)e(is:)390 5340 y Fs([)p Fi(n)11
+b Fs(]<)p Fi(word)p eop end
 %%Page: 29 35
 TeXDict begin 29 34 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(29)390 299
-y Fs([)p Fi(n)11 b Fs(]>[|])p Fi(word)275 436 y Ft(If)30
-b(the)h(redirection)g(op)s(erator)g(is)g(`)p Fs(>)p Ft(',)g(and)f(the)h
-Fs(noclobber)d Ft(option)j(to)g(the)g Fs(set)f Ft(builtin)g(has)h(b)s
-(een)150 546 y(enabled,)i(the)f(redirection)h(will)f(fail)h(if)f(the)g
-(\014le)g(whose)g(name)g(results)g(from)g(the)g(expansion)g(of)g
-Fq(w)m(ord)150 655 y Ft(exists)f(and)f(is)g(a)h(regular)g(\014le.)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(29)150 299
+y Fj(3.6.2)63 b(Redirecting)40 b(Output)150 446 y Ft(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 Fq(w)m(ord)i Ft(to)f(b)s(e)150
+555 y(op)s(ened)d(for)g(writing)g(on)g(\014le)h(descriptor)f
+Fq(n)p Ft(,)g(or)g(the)h(standard)e(output)h(\(\014le)h(descriptor)f
+(1\))h(if)g Fq(n)e Ft(is)i(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;)i
+(if)e(it)h(do)s(es)f(exist)h(it)g(is)g(truncated)f(to)h(zero)g(size.)
+275 823 y(The)e(general)j(format)e(for)h(redirecting)g(output)f(is:)390
+981 y Fs([)p Fi(n)11 b Fs(]>[|])p Fi(word)275 1139 y
+Ft(If)30 b(the)h(redirection)g(op)s(erator)g(is)g(`)p
+Fs(>)p Ft(',)g(and)f(the)h Fs(noclobber)d Ft(option)j(to)g(the)g
+Fs(set)f Ft(builtin)g(has)h(b)s(een)150 1249 y(enabled,)i(the)f
+(redirection)h(will)f(fail)h(if)f(the)g(\014le)g(whose)g(name)g
+(results)g(from)g(the)g(expansion)g(of)g Fq(w)m(ord)150
+1359 y Ft(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
 Fs(>|)p Ft(',)h(or)f(the)h(redirection)g(op)s(erator)g(is)150
-765 y(`)p Fs(>)p Ft(')36 b(and)f(the)g Fs(noclobber)e
+1468 y(`)p Fs(>)p Ft(')36 b(and)f(the)g Fs(noclobber)e
 Ft(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 874 y(named)30 b(b)m(y)g
-Fq(w)m(ord)k Ft(exists.)150 1076 y Fj(3.6.3)63 b(App)s(ending)42
-b(Redirected)e(Output)150 1223 y Ft(Redirection)23 b(of)e(output)h(in)f
+(ev)m(en)h(if)e(the)h(\014le)150 1578 y(named)30 b(b)m(y)g
+Fq(w)m(ord)k Ft(exists.)150 1801 y Fj(3.6.3)63 b(App)s(ending)42
+b(Redirected)e(Output)150 1948 y Ft(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 1333 y Fq(w)m(ord)28
+(from)g(the)h(expansion)g(of)150 2057 y Fq(w)m(ord)28
 b Ft(to)e(b)s(e)e(op)s(ened)g(for)h(app)s(ending)e(on)i(\014le)g
 (descriptor)g Fq(n)p Ft(,)g(or)g(the)g(standard)f(output)h(\(\014le)g
-(descriptor)150 1442 y(1\))31 b(if)f Fq(n)g Ft(is)h(not)f(sp)s
+(descriptor)150 2167 y(1\))31 b(if)f Fq(n)g Ft(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 1579 y(The)f(general)j(format)e(for)h(app)s(ending)e
-(output)h(is:)390 1717 y Fs([)p Fi(n)11 b Fs(]>>)p Fi(word)150
-1918 y Fj(3.6.4)63 b(Redirecting)40 b(Standard)h(Output)g(and)g
-(Standard)g(Error)150 2065 y Ft(This)33 b(construct)i(allo)m(ws)g(b)s
+(is)f(created.)275 2325 y(The)f(general)j(format)e(for)h(app)s(ending)e
+(output)h(is:)390 2483 y Fs([)p Fi(n)11 b Fs(]>>)p Fi(word)150
+2706 y Fj(3.6.4)63 b(Redirecting)40 b(Standard)h(Output)g(and)g
+(Standard)g(Error)150 2853 y Ft(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 2175 y(output)d(\(\014le)h(descriptor)f
+(the)g(standard)f(error)150 2963 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 Fq(w)m(ord)t Ft(.)275 2312 y(There)f(are)i(t)m
+f(the)g(expansion)h(of)f Fq(w)m(ord)t Ft(.)275 3121 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 2449 y Fs(&>)p Fi(word)150 2586
-y Ft(and)390 2723 y Fs(>&)p Fi(word)150 2860 y Ft(Of)h(the)g(t)m(w)m(o)
+(standard)f(error:)390 3279 y Fs(&>)p Fi(word)150 3437
+y Ft(and)390 3595 y Fs(>&)p Fi(word)150 3753 y Ft(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
-2998 y Fs(>)p Fi(word)57 b Fs(2>&1)275 3135 y Ft(\(see)31
+3912 y Fs(>)p Fi(word)57 b Fs(2>&1)275 4070 y Ft(\(see)31
 b(Duplicating)h(File)f(Descriptors)g(b)s(elo)m(w\).)150
-3337 y Fj(3.6.5)63 b(App)s(ending)42 b(Standard)f(Output)g(and)g
-(Standard)g(Error)150 3483 y Ft(This)33 b(construct)i(allo)m(ws)g(b)s
+4293 y Fj(3.6.5)63 b(App)s(ending)42 b(Standard)f(Output)g(and)g
+(Standard)g(Error)150 4440 y Ft(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 3593 y(output)d(\(\014le)h(descriptor)f
+(the)g(standard)f(error)150 4549 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 Fq(w)m(ord)t Ft(.)275 3730
+(is)h(the)f(expansion)h(of)f Fq(w)m(ord)t Ft(.)275 4707
 y(The)f(format)i(for)f(app)s(ending)f(standard)h(output)g(and)f
-(standard)h(error)g(is:)390 3867 y Fs(&>>)p Fi(word)150
-4004 y Ft(This)g(is)g(seman)m(tically)j(equiv)-5 b(alen)m(t)32
-b(to)390 4141 y Fs(>>)p Fi(word)57 b Fs(2>&1)275 4279
-y Ft(\(see)31 b(Duplicating)h(File)f(Descriptors)g(b)s(elo)m(w\).)150
-4480 y Fj(3.6.6)63 b(Here)41 b(Do)s(cumen)m(ts)150 4627
-y Ft(This)c(t)m(yp)s(e)h(of)f(redirection)i(instructs)e(the)h(shell)f
-(to)i(read)e(input)g(from)g(the)h(curren)m(t)f(source)h(un)m(til)g(a)
-150 4737 y(line)31 b(con)m(taining)g(only)g Fq(w)m(ord)i
-Ft(\(with)d(no)h(trailing)g(blanks\))f(is)g(seen.)41
-b(All)31 b(of)f(the)h(lines)f(read)g(up)f(to)i(that)150
-4847 y(p)s(oin)m(t)f(are)h(then)f(used)g(as)g(the)h(standard)f(input)f
-(for)h(a)h(command.)275 4984 y(The)e(format)i(of)g(here-do)s(cumen)m
-(ts)f(is:)390 5121 y Fs(<<[)p Fp(\000)p Fs(])p Fi(word)772
-5230 y(here-document)390 5340 y(delimiter)p eop end
+(standard)h(error)g(is:)390 4866 y Fs(&>>)p Fi(word)150
+5024 y Ft(This)g(is)g(seman)m(tically)j(equiv)-5 b(alen)m(t)32
+b(to)390 5182 y Fs(>>)p Fi(word)57 b Fs(2>&1)275 5340
+y Ft(\(see)31 b(Duplicating)h(File)f(Descriptors)g(b)s(elo)m(w\).)p
+eop end
 %%Page: 30 36
 TeXDict begin 30 35 bop 150 -116 a Ft(30)2572 b(Bash)31
-b(Reference)g(Man)m(ual)275 299 y(No)i(parameter)h(expansion,)g
-(command)f(substitution,)h(arithmetic)h(expansion,)f(or)f(\014lename)g
-(ex-)150 408 y(pansion)h(is)h(p)s(erformed)f(on)g Fq(w)m(ord)t
-Ft(.)54 b(If)34 b(an)m(y)h(c)m(haracters)i(in)d Fq(w)m(ord)k
-Ft(are)d(quoted,)i(the)e Fq(delimiter)42 b Ft(is)35 b(the)150
-518 y(result)40 b(of)g(quote)h(remo)m(v)-5 b(al)42 b(on)e
-Fq(w)m(ord)t Ft(,)i(and)d(the)i(lines)f(in)g(the)g(here-do)s(cumen)m(t)
-h(are)f(not)g(expanded.)150 628 y(If)32 b Fq(w)m(ord)k
-Ft(is)d(unquoted,)f(all)i(lines)f(of)f(the)h(here-do)s(cumen)m(t)g(are)
-g(sub)5 b(jected)32 b(to)i(parameter)f(expansion,)150
-737 y(command)25 b(substitution,)g(and)g(arithmetic)h(expansion.)39
-b(In)24 b(the)h(latter)h(case,)h(the)e(c)m(haracter)i(sequence)150
-847 y Fs(\\newline)h Ft(is)j(ignored,)f(and)g(`)p Fs(\\)p
-Ft(')h(m)m(ust)f(b)s(e)g(used)f(to)i(quote)g(the)g(c)m(haracters)h(`)p
-Fs(\\)p Ft(',)e(`)p Fs($)p Ft(',)h(and)f(`)p Fs(`)p Ft('.)275
-999 y(If)21 b(the)i(redirection)g(op)s(erator)g(is)f(`)p
-Fs(<<-)p Ft(',)i(then)e(all)h(leading)g(tab)g(c)m(haracters)h(are)e
-(stripp)s(ed)f(from)h(input)150 1108 y(lines)33 b(and)e(the)i(line)g
+b(Reference)g(Man)m(ual)150 299 y Fj(3.6.6)63 b(Here)41
+b(Do)s(cumen)m(ts)150 446 y Ft(This)c(t)m(yp)s(e)h(of)f(redirection)i
+(instructs)e(the)h(shell)f(to)i(read)e(input)g(from)g(the)h(curren)m(t)
+f(source)h(un)m(til)g(a)150 555 y(line)31 b(con)m(taining)g(only)g
+Fq(w)m(ord)i Ft(\(with)d(no)h(trailing)g(blanks\))f(is)g(seen.)41
+b(All)31 b(of)f(the)h(lines)f(read)g(up)f(to)i(that)150
+665 y(p)s(oin)m(t)f(are)h(then)f(used)g(as)g(the)h(standard)f(input)f
+(for)h(a)h(command.)275 823 y(The)e(format)i(of)g(here-do)s(cumen)m(ts)
+f(is:)390 982 y Fs(<<[)p Fp(\000)p Fs(])p Fi(word)772
+1091 y(here-document)390 1201 y(delimiter)275 1360 y
+Ft(No)i(parameter)h(and)f(v)-5 b(ariable)32 b(expansion,)h(command)f
+(substitution,)h(arithmetic)g(expansion,)g(or)150 1469
+y(\014lename)22 b(expansion)f(is)h(p)s(erformed)e(on)h
+Fq(w)m(ord)t Ft(.)37 b(If)22 b(an)m(y)g(c)m(haracters)h(in)e
+Fq(w)m(ord)k Ft(are)d(quoted,)h(the)f Fq(delimiter)150
+1579 y Ft(is)i(the)f(result)h(of)f(quote)i(remo)m(v)-5
+b(al)24 b(on)g Fq(w)m(ord)t Ft(,)g(and)f(the)h(lines)f(in)h(the)f
+(here-do)s(cumen)m(t)h(are)g(not)f(expanded.)150 1688
+y(If)32 b Fq(w)m(ord)k Ft(is)d(unquoted,)f(all)i(lines)f(of)f(the)h
+(here-do)s(cumen)m(t)g(are)g(sub)5 b(jected)32 b(to)i(parameter)f
+(expansion,)150 1798 y(command)25 b(substitution,)g(and)g(arithmetic)h
+(expansion.)39 b(In)24 b(the)h(latter)h(case,)h(the)e(c)m(haracter)i
+(sequence)150 1907 y Fs(\\newline)h Ft(is)j(ignored,)f(and)g(`)p
+Fs(\\)p Ft(')h(m)m(ust)f(b)s(e)g(used)f(to)i(quote)g(the)g(c)m
+(haracters)h(`)p Fs(\\)p Ft(',)e(`)p Fs($)p Ft(',)h(and)f(`)p
+Fs(`)p Ft('.)275 2066 y(If)21 b(the)i(redirection)g(op)s(erator)g(is)f
+(`)p Fs(<<-)p Ft(',)i(then)e(all)h(leading)g(tab)g(c)m(haracters)h(are)
+e(stripp)s(ed)f(from)h(input)150 2175 y(lines)33 b(and)e(the)i(line)g
 (con)m(taining)h Fq(delimiter)7 b Ft(.)47 b(This)31 b(allo)m(ws)j
 (here-do)s(cumen)m(ts)f(within)e(shell)i(scripts)f(to)150
-1218 y(b)s(e)e(inden)m(ted)g(in)g(a)h(natural)f(fashion.)150
-1435 y Fj(3.6.7)63 b(Here)41 b(Strings)150 1582 y Ft(A)30
+2285 y(b)s(e)e(inden)m(ted)g(in)g(a)h(natural)f(fashion.)150
+2508 y Fj(3.6.7)63 b(Here)41 b(Strings)150 2655 y Ft(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 1734 y Fs(<<<)47 b Fi(word)275 1886 y Ft(The)28
-b Fq(w)m(ord)k Ft(is)d(expanded)f(as)h(describ)s(ed)f(ab)s(o)m(v)m(e,)i
-(with)f(the)g(exception)h(that)f(pathname)g(expansion)150
-1996 y(is)h(not)h(applied,)f(and)g(supplied)f(as)i(a)g(single)g(string)
-f(to)h(the)g(command)f(on)g(its)h(standard)e(input.)150
-2212 y Fj(3.6.8)63 b(Duplicating)41 b(File)g(Descriptors)150
-2359 y Ft(The)30 b(redirection)h(op)s(erator)390 2512
-y Fs([)p Fi(n)11 b Fs(]<&)p Fi(word)150 2664 y Ft(is)35
+(is:)390 2814 y Fs(<<<)47 b Fi(word)275 2972 y Ft(The)21
+b Fq(w)m(ord)k Ft(undergo)s(es)c(brace)h(expansion,)i(tilde)e
+(expansion,)i(parameter)e(and)f(v)-5 b(ariable)23 b(expansion,)150
+3082 y(command)44 b(substitution,)j(arithmetic)e(expansion,)i(and)d
+(quote)g(remo)m(v)-5 b(al.)83 b(P)m(athname)44 b(expansion)150
+3191 y(w)m(ord)29 b(splitting)i(are)f(not)g(p)s(erformed.)39
+b(The)29 b(result)h(is)g(supplied)e(as)i(a)h(single)f(string)g(to)g
+(the)g(command)150 3301 y(on)g(its)h(standard)f(input.)150
+3524 y Fj(3.6.8)63 b(Duplicating)41 b(File)g(Descriptors)150
+3671 y Ft(The)30 b(redirection)h(op)s(erator)390 3829
+y Fs([)p Fi(n)11 b Fs(]<&)p Fi(word)150 3988 y Ft(is)35
 b(used)e(to)j(duplicate)f(input)f(\014le)g(descriptors.)53
 b(If)34 b Fq(w)m(ord)k Ft(expands)c(to)h(one)g(or)g(more)g(digits,)h
-(the)f(\014le)150 2773 y(descriptor)e(denoted)h(b)m(y)g
+(the)f(\014le)150 4098 y(descriptor)e(denoted)h(b)m(y)g
 Fq(n)f Ft(is)g(made)h(to)g(b)s(e)f(a)h(cop)m(y)g(of)g(that)g(\014le)g
 (descriptor.)50 b(If)33 b(the)h(digits)g(in)f Fq(w)m(ord)150
-2883 y Ft(do)c(not)h(sp)s(ecify)f(a)h(\014le)f(descriptor)g(op)s(en)g
+4207 y Ft(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 Fq(w)m(ord)j Ft(ev)-5 b(aluates)150 2992 y(to)31
+b(If)29 b Fq(w)m(ord)j Ft(ev)-5 b(aluates)150 4317 y(to)31
 b(`)p Fs(-)p Ft(',)g(\014le)g(descriptor)g Fq(n)f Ft(is)g(closed.)43
 b(If)30 b Fq(n)g Ft(is)g(not)h(sp)s(eci\014ed,)f(the)h(standard)f
-(input)g(\(\014le)h(descriptor)f(0\))150 3102 y(is)g(used.)275
-3254 y(The)f(op)s(erator)390 3406 y Fs([)p Fi(n)11 b
-Fs(]>&)p Fi(word)150 3558 y Ft(is)40 b(used)g(similarly)h(to)g
+(input)g(\(\014le)h(descriptor)f(0\))150 4426 y(is)g(used.)275
+4585 y(The)f(op)s(erator)390 4743 y Fs([)p Fi(n)11 b
+Fs(]>&)p Fi(word)150 4902 y Ft(is)40 b(used)g(similarly)h(to)g
 (duplicate)f(output)g(\014le)h(descriptors.)70 b(If)40
 b Fq(n)f Ft(is)i(not)f(sp)s(eci\014ed,)i(the)f(standard)150
-3668 y(output)30 b(\(\014le)g(descriptor)g(1\))h(is)f(used.)39
+5011 y(output)30 b(\(\014le)g(descriptor)g(1\))h(is)f(used.)39
 b(If)30 b(the)g(digits)h(in)e Fq(w)m(ord)34 b Ft(do)29
 b(not)i(sp)s(ecify)e(a)i(\014le)f(descriptor)g(op)s(en)150
-3777 y(for)38 b(output,)i(a)e(redirection)h(error)f(o)s(ccurs.)63
+5121 y(for)38 b(output,)i(a)e(redirection)h(error)f(o)s(ccurs.)63
 b(As)38 b(a)h(sp)s(ecial)f(case,)k(if)c Fq(n)f Ft(is)h(omitted,)k(and)
-37 b Fq(w)m(ord)k Ft(do)s(es)150 3887 y(not)28 b(expand)f(to)i(one)f
+37 b Fq(w)m(ord)k Ft(do)s(es)150 5230 y(not)28 b(expand)f(to)i(one)f
 (or)f(more)h(digits,)i(the)e(standard)e(output)i(and)f(standard)g
-(error)g(are)i(redirected)f(as)150 3997 y(describ)s(ed)h(previously)-8
-b(.)150 4213 y Fj(3.6.9)63 b(Mo)m(ving)41 b(File)h(Descriptors)150
-4360 y Ft(The)30 b(redirection)h(op)s(erator)390 4512
-y Fs([)p Fi(n)11 b Fs(]<&)p Fi(digit)g Fs(-)150 4665
-y Ft(mo)m(v)m(es)33 b(the)f(\014le)g(descriptor)f Fq(digit)k
-Ft(to)d(\014le)g(descriptor)g Fq(n)p Ft(,)f(or)h(the)g(standard)f
-(input)f(\(\014le)j(descriptor)e(0\))150 4774 y(if)f
-Fq(n)g Ft(is)h(not)f(sp)s(eci\014ed.)40 b Fq(digit)33
-b Ft(is)e(closed)g(after)g(b)s(eing)f(duplicated)g(to)h
-Fq(n)p Ft(.)275 4926 y(Similarly)-8 b(,)31 b(the)f(redirection)h(op)s
-(erator)390 5078 y Fs([)p Fi(n)11 b Fs(]>&)p Fi(digit)g
-Fs(-)150 5230 y Ft(mo)m(v)m(es)29 b(the)g(\014le)f(descriptor)f
-Fq(digit)k Ft(to)e(\014le)f(descriptor)g Fq(n)p Ft(,)g(or)g(the)g
-(standard)f(output)h(\(\014le)g(descriptor)g(1\))150
-5340 y(if)i Fq(n)g Ft(is)h(not)f(sp)s(eci\014ed.)p eop
-end
+(error)g(are)i(redirected)f(as)150 5340 y(describ)s(ed)h(previously)-8
+b(.)p eop end
 %%Page: 31 37
 TeXDict begin 31 36 bop 150 -116 a Ft(Chapter)30 b(3:)41
 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(31)150 299
-y Fj(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 446 y Ft(The)30 b(redirection)h(op)s(erator)
-390 583 y Fs([)p Fi(n)11 b Fs(]<>)p Fi(word)150 720 y
-Ft(causes)39 b(the)g(\014le)g(whose)g(name)g(is)g(the)g(expansion)g(of)
-g Fq(w)m(ord)j Ft(to)d(b)s(e)g(op)s(ened)f(for)g(b)s(oth)h(reading)g
-(and)150 829 y(writing)33 b(on)f(\014le)h(descriptor)f
-Fq(n)p Ft(,)h(or)g(on)f(\014le)h(descriptor)g(0)g(if)f
-Fq(n)g Ft(is)h(not)g(sp)s(eci\014ed.)47 b(If)32 b(the)h(\014le)f(do)s
-(es)h(not)150 939 y(exist,)e(it)g(is)g(created.)150 1175
-y Fr(3.7)68 b(Executing)46 b(Commands)150 1399 y Fj(3.7.1)63
-b(Simple)41 b(Command)h(Expansion)150 1546 y Ft(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 1656
-y(men)m(ts,)e(and)f(redirections,)h(from)f(left)h(to)g(righ)m(t.)199
-1793 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 1902 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 2038 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 2147 y(tion)d(3.5)i([Shell)e(Expansions],)h(page)g(19\).)61
-b(If)37 b(an)m(y)g(w)m(ords)f(remain)h(after)h(expansion,)h(the)e
-(\014rst)330 2257 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 2367 y(men)m(ts.)199 2502 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(27\).)199 2638
-y(4.)61 b(The)25 b(text)h(after)f(the)g(`)p Fs(=)p Ft(')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 2748 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 2857 y(b)s(eing)30 b(assigned)h(to)g(the)f(v)-5
-b(ariable.)275 3020 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 3130 y(men)m(t.)39 b(Otherwise,)27
-b(the)e(v)-5 b(ariables)26 b(are)g(added)f(to)h(the)f(en)m(vironmen)m
-(t)h(of)g(the)f(executed)h(command)g(and)150 3239 y(do)35
-b(not)f(a\013ect)j(the)d(curren)m(t)h(shell)g(en)m(vironmen)m(t.)54
-b(If)34 b(an)m(y)h(of)g(the)f(assignmen)m(ts)i(attempts)f(to)h(assign)
-150 3349 y(a)j(v)-5 b(alue)39 b(to)g(a)g(readonly)f(v)-5
-b(ariable,)42 b(an)c(error)g(o)s(ccurs,)j(and)c(the)i(command)f(exits)h
-(with)g(a)f(non-zero)150 3459 y(status.)275 3596 y(If)33
-b(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 3705
-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
-3842 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 3952 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 4061 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 4171 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
-4280 y(zero.)150 4482 y Fj(3.7.2)63 b(Command)41 b(Searc)m(h)f(and)h
-(Execution)150 4629 y Ft(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 4739 y(optional)32 b(list)f(of)f(argumen)m(ts,)h(the)g
-(follo)m(wing)g(actions)h(are)f(tak)m(en.)199 4876 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 4985 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 5095 y(F)-8 b(unctions],)31 b(page)h(15.)199
-5230 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 5340 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.)p eop end
+y Fj(3.6.9)63 b(Mo)m(ving)41 b(File)h(Descriptors)150
+446 y Ft(The)30 b(redirection)h(op)s(erator)390 573 y
+Fs([)p Fi(n)11 b Fs(]<&)p Fi(digit)g Fs(-)150 699 y Ft(mo)m(v)m(es)33
+b(the)f(\014le)g(descriptor)f Fq(digit)k Ft(to)d(\014le)g(descriptor)g
+Fq(n)p Ft(,)f(or)h(the)g(standard)f(input)f(\(\014le)j(descriptor)e
+(0\))150 809 y(if)f Fq(n)g Ft(is)h(not)f(sp)s(eci\014ed.)40
+b Fq(digit)33 b Ft(is)e(closed)g(after)g(b)s(eing)f(duplicated)g(to)h
+Fq(n)p Ft(.)275 936 y(Similarly)-8 b(,)31 b(the)f(redirection)h(op)s
+(erator)390 1062 y Fs([)p Fi(n)11 b Fs(]>&)p Fi(digit)g
+Fs(-)150 1189 y Ft(mo)m(v)m(es)29 b(the)g(\014le)f(descriptor)f
+Fq(digit)k Ft(to)e(\014le)f(descriptor)g Fq(n)p Ft(,)g(or)g(the)g
+(standard)f(output)h(\(\014le)g(descriptor)g(1\))150
+1299 y(if)i Fq(n)g Ft(is)h(not)f(sp)s(eci\014ed.)150
+1482 y Fj(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 1629 y Ft(The)30
+b(redirection)h(op)s(erator)390 1756 y Fs([)p Fi(n)11
+b Fs(]<>)p Fi(word)150 1883 y Ft(causes)39 b(the)g(\014le)g(whose)g
+(name)g(is)g(the)g(expansion)g(of)g Fq(w)m(ord)j Ft(to)d(b)s(e)g(op)s
+(ened)f(for)g(b)s(oth)h(reading)g(and)150 1992 y(writing)33
+b(on)f(\014le)h(descriptor)f Fq(n)p Ft(,)h(or)g(on)f(\014le)h
+(descriptor)g(0)g(if)f Fq(n)g Ft(is)h(not)g(sp)s(eci\014ed.)47
+b(If)32 b(the)h(\014le)f(do)s(es)h(not)150 2102 y(exist,)e(it)g(is)g
+(created.)150 2319 y Fr(3.7)68 b(Executing)46 b(Commands)150
+2535 y Fj(3.7.1)63 b(Simple)41 b(Command)h(Expansion)150
+2682 y Ft(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
+2792 y(men)m(ts,)e(and)f(redirections,)h(from)f(left)h(to)g(righ)m(t.)
+199 2919 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 3028 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
+3155 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 3265 y(tion)d(3.5)i([Shell)e(Expansions],)h(page)g
+(19\).)61 b(If)37 b(an)m(y)g(w)m(ords)f(remain)h(after)h(expansion,)h
+(the)e(\014rst)330 3374 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 3484 y(men)m(ts.)199 3610 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(27\).)199
+3737 y(4.)61 b(The)25 b(text)h(after)f(the)g(`)p Fs(=)p
+Ft(')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 3847 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 3956 y(b)s(eing)30
+b(assigned)h(to)g(the)f(v)-5 b(ariable.)275 4100 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 4210 y(men)m(t.)39 b(Otherwise,)27 b(the)e(v)-5 b(ariables)26
+b(are)g(added)f(to)h(the)f(en)m(vironmen)m(t)h(of)g(the)f(executed)h
+(command)g(and)150 4319 y(do)35 b(not)f(a\013ect)j(the)d(curren)m(t)h
+(shell)g(en)m(vironmen)m(t.)54 b(If)34 b(an)m(y)h(of)g(the)f(assignmen)
+m(ts)i(attempts)f(to)h(assign)150 4429 y(a)j(v)-5 b(alue)39
+b(to)g(a)g(readonly)f(v)-5 b(ariable,)42 b(an)c(error)g(o)s(ccurs,)j
+(and)c(the)i(command)f(exits)h(with)g(a)f(non-zero)150
+4539 y(status.)275 4665 y(If)33 b(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 4775 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 4902 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 5011 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 5121 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 5230 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 5340 y(zero.)p
+eop end
 %%Page: 32 38
 TeXDict begin 32 37 bop 150 -116 a Ft(32)2572 b(Bash)31
-b(Reference)g(Man)m(ual)199 299 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 408 y(searc)m(hes)c(eac)m(h)g(elemen)
-m(t)g(of)g Fs($PATH)d Ft(for)i(a)g(directory)h(con)m(taining)g(an)f
-(executable)h(\014le)f(b)m(y)g(that)330 518 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 628
+b(Reference)g(Man)m(ual)150 299 y Fj(3.7.2)63 b(Command)41
+b(Searc)m(h)f(and)h(Execution)150 446 y Ft(After)i(a)h(command)f(has)g
+(b)s(een)f(split)h(in)m(to)h(w)m(ords,)j(if)c(it)g(results)g(in)g(a)h
+(simple)f(command)g(and)f(an)150 555 y(optional)32 b(list)f(of)f
+(argumen)m(ts,)h(the)g(follo)m(wing)g(actions)h(are)f(tak)m(en.)199
+697 y(1.)61 b(If)24 b(the)g(command)g(name)g(con)m(tains)i(no)e
+(slashes,)i(the)e(shell)h(attempts)g(to)g(lo)s(cate)h(it.)39
+b(If)24 b(there)g(exists)330 807 y(a)h(shell)g(function)f(b)m(y)g(that)
+h(name,)h(that)f(function)f(is)h(in)m(v)m(ok)m(ed)h(as)e(describ)s(ed)g
+(in)g(Section)h(3.3)h([Shell)330 916 y(F)-8 b(unctions],)31
+b(page)h(15.)199 1054 y(2.)61 b(If)41 b(the)g(name)h(do)s(es)f(not)g
+(matc)m(h)i(a)e(function,)j(the)e(shell)f(searc)m(hes)i(for)e(it)h(in)f
+(the)g(list)h(of)g(shell)330 1164 y(builtins.)e(If)30
+b(a)h(matc)m(h)g(is)f(found,)g(that)h(builtin)f(is)g(in)m(v)m(ok)m(ed.)
+199 1302 y(3.)61 b(If)40 b(the)g(name)h(is)f(neither)h(a)f(shell)h
+(function)f(nor)g(a)g(builtin,)j(and)d(con)m(tains)h(no)g(slashes,)i
+(Bash)330 1411 y(searc)m(hes)c(eac)m(h)g(elemen)m(t)g(of)g
+Fs($PATH)d Ft(for)i(a)g(directory)h(con)m(taining)g(an)f(executable)h
+(\014le)f(b)m(y)g(that)330 1521 y(name.)56 b(Bash)36
+b(uses)f(a)h(hash)e(table)j(to)f(remem)m(b)s(er)f(the)h(full)f
+(pathnames)g(of)h(executable)h(\014les)e(to)330 1631
 y(a)m(v)m(oid)e(m)m(ultiple)f Fs(PATH)f Ft(searc)m(hes)i(\(see)f(the)g
 (description)g(of)f Fs(hash)g Ft(in)g(Section)i(4.1)f([Bourne)g(Shell)
-330 737 y(Builtins],)37 b(page)f(37\).)55 b(A)35 b(full)g(searc)m(h)g
+330 1740 y(Builtins],)37 b(page)f(37\).)55 b(A)35 b(full)g(searc)m(h)g
 (of)g(the)g(directories)h(in)f Fs($PATH)e Ft(is)i(p)s(erformed)f(only)h
-(if)g(the)330 847 y(command)24 b(is)h(not)g(found)e(in)i(the)g(hash)f
+(if)g(the)330 1850 y(command)24 b(is)h(not)g(found)e(in)i(the)g(hash)f
 (table.)39 b(If)25 b(the)f(searc)m(h)i(is)e(unsuccessful,)h(the)g
-(shell)g(searc)m(hes)330 956 y(for)e(a)h(de\014ned)e(shell)h(function)h
-(named)e Fs(command_not_found_handle)p Ft(.)32 b(If)23
-b(that)h(function)f(exists,)330 1066 y(it)32 b(is)f(in)m(v)m(ok)m(ed)i
+(shell)g(searc)m(hes)330 1959 y(for)e(a)h(de\014ned)e(shell)h(function)
+h(named)e Fs(command_not_found_handle)p Ft(.)32 b(If)23
+b(that)h(function)f(exists,)330 2069 y(it)32 b(is)f(in)m(v)m(ok)m(ed)i
 (with)e(the)h(original)g(command)f(and)g(the)h(original)g(command's)f
-(argumen)m(ts)h(as)g(its)330 1176 y(argumen)m(ts,)h(and)e(the)i
+(argumen)m(ts)h(as)g(its)330 2178 y(argumen)m(ts,)h(and)e(the)i
 (function's)e(exit)i(status)g(b)s(ecomes)f(the)g(exit)h(status)f(of)h
-(the)f(shell.)46 b(If)31 b(that)330 1285 y(function)g(is)g(not)g
+(the)f(shell.)46 b(If)31 b(that)330 2288 y(function)g(is)g(not)g
 (de\014ned,)f(the)i(shell)f(prin)m(ts)f(an)h(error)g(message)h(and)f
-(returns)e(an)i(exit)h(status)g(of)330 1395 y(127.)199
-1524 y(4.)61 b(If)33 b(the)g(searc)m(h)h(is)g(successful,)g(or)f(if)g
+(returns)e(an)i(exit)h(status)g(of)330 2398 y(127.)199
+2536 y(4.)61 b(If)33 b(the)g(searc)m(h)h(is)g(successful,)g(or)f(if)g
 (the)h(command)f(name)g(con)m(tains)i(one)f(or)f(more)g(slashes,)i(the)
-330 1634 y(shell)g(executes)h(the)f(named)f(program)g(in)h(a)g
+330 2645 y(shell)g(executes)h(the)f(named)f(program)g(in)h(a)g
 (separate)h(execution)f(en)m(vironmen)m(t.)55 b(Argumen)m(t)35
-b(0)330 1744 y(is)30 b(set)h(to)h(the)e(name)h(giv)m(en,)g(and)f(the)h
+b(0)330 2755 y(is)30 b(set)h(to)h(the)e(name)h(giv)m(en,)g(and)f(the)h
 (remaining)f(argumen)m(ts)h(to)g(the)g(command)f(are)h(set)g(to)g(the)
-330 1853 y(argumen)m(ts)g(supplied,)e(if)h(an)m(y)-8
-b(.)199 1983 y(5.)61 b(If)35 b(this)h(execution)h(fails)f(b)s(ecause)g
+330 2864 y(argumen)m(ts)g(supplied,)e(if)h(an)m(y)-8
+b(.)199 3002 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 2092 y(a)d(directory)-8 b(,)34
+(\014le)g(is)g(not)330 3112 y(a)d(directory)-8 b(,)34
 b(it)f(is)g(assumed)e(to)j(b)s(e)d(a)i Fq(shell)g(script)h
 Ft(and)e(the)h(shell)f(executes)i(it)f(as)g(describ)s(ed)e(in)330
-2202 y(Section)g(3.8)h([Shell)e(Scripts],)g(page)i(35.)199
-2332 y(6.)61 b(If)38 b(the)h(command)f(w)m(as)h(not)g(b)s(egun)e(async)
+3222 y(Section)g(3.8)h([Shell)e(Scripts],)g(page)i(35.)199
+3360 y(6.)61 b(If)38 b(the)h(command)f(w)m(as)h(not)g(b)s(egun)e(async)
 m(hronously)-8 b(,)42 b(the)c(shell)h(w)m(aits)h(for)e(the)h(command)f
-(to)330 2441 y(complete)32 b(and)e(collects)i(its)f(exit)g(status.)150
-2631 y Fj(3.7.3)63 b(Command)41 b(Execution)f(En)m(vironmen)m(t)150
-2778 y Ft(The)30 b(shell)g(has)h(an)f Fq(execution)h(en)m(vironmen)m(t)
+(to)330 3469 y(complete)32 b(and)e(collects)i(its)f(exit)g(status.)150
+3675 y Fj(3.7.3)63 b(Command)41 b(Execution)f(En)m(vironmen)m(t)150
+3822 y Ft(The)30 b(shell)g(has)h(an)f Fq(execution)h(en)m(vironmen)m(t)
 r Ft(,)h(whic)m(h)e(consists)h(of)f(the)h(follo)m(wing:)225
-2907 y Fp(\017)60 b Ft(op)s(en)32 b(\014les)g(inherited)g(b)m(y)h(the)f
+3964 y Fp(\017)60 b Ft(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 3017 y(the)g Fs(exec)e
-Ft(builtin)225 3147 y Fp(\017)60 b Ft(the)28 b(curren)m(t)g(w)m(orking)
+(redirections)h(supplied)e(to)330 4074 y(the)g Fs(exec)e
+Ft(builtin)225 4212 y Fp(\017)60 b Ft(the)28 b(curren)m(t)g(w)m(orking)
 h(directory)g(as)f(set)h(b)m(y)f Fs(cd)p Ft(,)g Fs(pushd)p
 Ft(,)g(or)g Fs(popd)p Ft(,)g(or)g(inherited)g(b)m(y)g(the)h(shell)f(at)
-330 3256 y(in)m(v)m(o)s(cation)225 3386 y Fp(\017)60
+330 4321 y(in)m(v)m(o)s(cation)225 4459 y Fp(\017)60
 b Ft(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)g(as)h(set)g(b)m(y)f
 Fs(umask)f Ft(or)h(inherited)g(from)g(the)h(shell's)f(paren)m(t)225
-3516 y Fp(\017)60 b Ft(curren)m(t)30 b(traps)g(set)h(b)m(y)f
-Fs(trap)225 3645 y Fp(\017)60 b Ft(shell)30 b(parameters)f(that)h(are)g
+4597 y Fp(\017)60 b Ft(curren)m(t)30 b(traps)g(set)h(b)m(y)f
+Fs(trap)225 4735 y Fp(\017)60 b Ft(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
-Fs(set)f Ft(or)i(inherited)f(from)g(the)330 3755 y(shell's)i(paren)m(t)
-f(in)g(the)h(en)m(vironmen)m(t)225 3884 y Fp(\017)60
+Fs(set)f Ft(or)i(inherited)f(from)g(the)330 4845 y(shell's)i(paren)m(t)
+f(in)g(the)h(en)m(vironmen)m(t)225 4983 y Fp(\017)60
 b Ft(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
-3994 y(en)m(vironmen)m(t)225 4124 y Fp(\017)60 b Ft(options)33
+5092 y(en)m(vironmen)m(t)225 5230 y Fp(\017)60 b Ft(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 4233
-y(b)m(y)c Fs(set)225 4363 y Fp(\017)60 b Ft(options)31
-b(enabled)f(b)m(y)g Fs(shopt)f Ft(\(see)j(Section)f(4.3.2)h([The)e
-(Shopt)g(Builtin],)h(page)g(57\))225 4493 y Fp(\017)60
-b Ft(shell)31 b(aliases)g(de\014ned)f(with)g Fs(alias)f
-Ft(\(see)i(Section)g(6.6)h([Aliases],)g(page)f(83\))225
-4622 y Fp(\017)60 b Ft(v)-5 b(arious)50 b(pro)s(cess)f
+g(with)g(command-line)g(argumen)m(ts\))h(or)330 5340
+y(b)m(y)c Fs(set)p eop end
+%%Page: 33 39
+TeXDict begin 33 38 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(33)225 299
+y Fp(\017)60 b Ft(options)31 b(enabled)f(b)m(y)g Fs(shopt)f
+Ft(\(see)j(Section)f(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g(58\))225
+429 y Fp(\017)60 b Ft(shell)31 b(aliases)g(de\014ned)f(with)g
+Fs(alias)f Ft(\(see)i(Section)g(6.6)h([Aliases],)g(page)f(83\))225
+558 y Fp(\017)60 b Ft(v)-5 b(arious)50 b(pro)s(cess)f
 Fl(id)p Ft(s,)55 b(including)49 b(those)i(of)e(bac)m(kground)h(jobs)f
-(\(see)i(Section)g(3.2.3)g([Lists],)330 4732 y(page)31
+(\(see)i(Section)g(3.2.3)g([Lists],)330 668 y(page)31
 b(9\),)g(the)g(v)-5 b(alue)31 b(of)f Fs($$)p Ft(,)g(and)g(the)h(v)-5
-b(alue)31 b(of)f Fs($PPID)275 4882 y Ft(When)k(a)g(simple)h(command)f
+b(alue)31 b(of)f Fs($PPID)275 817 y Ft(When)k(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 4991 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 5101 y(noted,)31
+(executed,)i(it)f(is)150 927 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 1037 y(noted,)31
 b(the)f(v)-5 b(alues)31 b(are)g(inherited)f(from)g(the)g(shell.)225
-5230 y Fp(\017)60 b Ft(the)31 b(shell's)h(op)s(en)e(\014les,)i(plus)e
+1166 y Fp(\017)60 b Ft(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 5340 y(the)g(command)p eop
-end
-%%Page: 33 39
-TeXDict begin 33 38 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(33)225 299
+(y)g(redirections)g(to)330 1276 y(the)g(command)225 1406
 y Fp(\017)60 b Ft(the)31 b(curren)m(t)f(w)m(orking)g(directory)225
-433 y Fp(\017)60 b Ft(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)225
-567 y Fp(\017)60 b Ft(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 677 y(command,)e(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
-(33\))225 811 y Fp(\017)60 b Ft(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 921 y(traps)e(ignored)h(b)m(y)f
-(the)g(shell)h(are)g(ignored)275 1079 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 1189 y(en)m(vironmen)m(t.)275
-1323 y(Command)35 b(substitution,)j(commands)e(group)s(ed)f(with)i
-(paren)m(theses,)h(and)e(async)m(hronous)g(com-)150 1433
-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 1542 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 1652 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 1762
-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 1871 y(a\013ect)32 b(the)f(shell's)f(execution)i(en)m(vironmen)m
-(t.)275 2005 y(Subshells)24 b(spa)m(wned)h(to)i(execute)g(command)f
+1535 y Fp(\017)60 b Ft(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)225
+1665 y Fp(\017)60 b Ft(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 1774 y(command,)e(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(33\))225 1904 y Fp(\017)60 b
+Ft(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 2014 y(traps)e(ignored)h(b)m(y)f(the)g(shell)h(are)g(ignored)
+275 2163 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
+2273 y(en)m(vironmen)m(t.)275 2403 y(Command)35 b(substitution,)j
+(commands)e(group)s(ed)f(with)i(paren)m(theses,)h(and)e(async)m
+(hronous)g(com-)150 2512 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 2622 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
+2731 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 2841 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
+2951 y(a\013ect)32 b(the)f(shell's)f(execution)i(en)m(vironmen)m(t.)275
+3080 y(Subshells)24 b(spa)m(wned)h(to)i(execute)g(command)f
 (substitutions)g(inherit)g(the)g(v)-5 b(alue)26 b(of)g(the)h(`)p
-Fs(-e)p Ft(')e(option)150 2115 y(from)20 b(the)h(paren)m(t)g(shell.)37
+Fs(-e)p Ft(')e(option)150 3190 y(from)20 b(the)h(paren)m(t)g(shell.)37
 b(When)21 b(not)f(in)h Fl(posix)f Ft(mo)s(de,)i(Bash)f(clears)g(the)g
 (`)p Fs(-e)p Ft(')f(option)h(in)g(suc)m(h)f(subshells.)275
-2249 y(If)38 b(a)h(command)f(is)g(follo)m(w)m(ed)j(b)m(y)d(a)h(`)p
+3319 y(If)38 b(a)h(command)f(is)g(follo)m(w)m(ed)j(b)m(y)d(a)h(`)p
 Fs(&)p Ft(')g(and)f(job)g(con)m(trol)i(is)e(not)h(activ)m(e,)k(the)c
-(default)g(standard)150 2359 y(input)e(for)g(the)h(command)f(is)h(the)g
+(default)g(standard)150 3429 y(input)e(for)g(the)h(command)f(is)h(the)g
 (empt)m(y)g(\014le)f(`)p Fs(/dev/null)p Ft('.)61 b(Otherwise,)39
-b(the)f(in)m(v)m(ok)m(ed)h(command)150 2468 y(inherits)30
+b(the)f(in)m(v)m(ok)m(ed)h(command)150 3539 y(inherits)30
 b(the)h(\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 2667 y Fj(3.7.4)63
-b(En)m(vironmen)m(t)150 2814 y Ft(When)28 b(a)i(program)e(is)h(in)m(v)m
+(di\014ed)g(b)m(y)g(redirections.)150 3728 y Fj(3.7.4)63
+b(En)m(vironmen)m(t)150 3875 y Ft(When)28 b(a)i(program)e(is)h(in)m(v)m
 (ok)m(ed)h(it)f(is)g(giv)m(en)g(an)g(arra)m(y)g(of)g(strings)f(called)i
 (the)f Fq(en)m(vironmen)m(t)r Ft(.)41 b(This)28 b(is)h(a)150
-2923 y(list)i(of)g(name-v)-5 b(alue)31 b(pairs,)f(of)h(the)f(form)g
-Fs(name=value)p Ft(.)275 3058 y(Bash)39 b(pro)m(vides)g(sev)m(eral)i(w)
+3985 y(list)i(of)g(name-v)-5 b(alue)31 b(pairs,)f(of)h(the)f(form)g
+Fs(name=value)p Ft(.)275 4114 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 3167
+b(On)38 b(in)m(v)m(o)s(cation,)44 b(the)c(shell)150 4224
 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
-3277 y(marking)26 b(it)g(for)g Fq(exp)s(ort)h Ft(to)g(c)m(hild)f(pro)s
+4334 y(marking)26 b(it)g(for)g Fq(exp)s(ort)h Ft(to)g(c)m(hild)f(pro)s
 (cesses.)39 b(Executed)26 b(commands)g(inherit)g(the)g(en)m(vironmen)m
-(t.)39 b(The)150 3386 y Fs(export)c Ft(and)i(`)p Fs(declare)29
+(t.)39 b(The)150 4443 y Fs(export)c Ft(and)i(`)p Fs(declare)29
 b(-x)p Ft(')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 3496 y(deleted)21
+(to)h(b)s(e)e(added)h(to)h(and)150 4553 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 3606 y(new)31 b(v)-5 b(alue)32
+(mo)s(di\014ed,)i(the)150 4662 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
-3715 y(b)m(y)f(an)m(y)g(executed)h(command)f(consists)g(of)g(the)g
+4772 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 3825 y(mo)s(di\014ed)26
+b(alues)31 b(ma)m(y)h(b)s(e)150 4882 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 Fs(unset)e Ft(and)h(`)p Fs(export)j(-n)p Ft(')e(commands,)g
-(plus)150 3934 y(an)m(y)k(additions)f(via)h(the)g Fs(export)d
-Ft(and)i(`)p Fs(declare)f(-x)p Ft(')h(commands.)275 4068
+(plus)150 4991 y(an)m(y)k(additions)f(via)h(the)g Fs(export)d
+Ft(and)i(`)p Fs(declare)f(-x)p Ft(')h(commands.)275 5121
 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
-4178 y(b)m(y)c(pre\014xing)e(it)i(with)g(parameter)g(assignmen)m(ts,)h
+5230 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
-4288 y(page)g(17.)41 b(These)29 b(assignmen)m(t)i(statemen)m(ts)g
+5340 y(page)g(17.)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 4422 y(If)d(the)h(`)p Fs(-k)p Ft(')g(option)g(is)g(set)g
-(\(see)h(Section)f(4.3.1)i([The)e(Set)g(Builtin],)h(page)f(54\),)i
-(then)e(all)g(parameter)150 4531 y(assignmen)m(ts)i(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 4641 y(command)g(name.)275
-4775 y(When)f(Bash)h(in)m(v)m(ok)m(es)i(an)e(external)g(command,)g(the)
-g(v)-5 b(ariable)31 b(`)p Fs($_)p Ft(')f(is)g(set)g(to)h(the)f(full)f
-(path)h(name)150 4885 y(of)h(the)f(command)g(and)g(passed)g(to)h(that)g
-(command)f(in)g(its)h(en)m(vironmen)m(t.)150 5083 y Fj(3.7.5)63
-b(Exit)40 b(Status)150 5230 y Ft(The)26 b(exit)h(status)f(of)g(an)g
-(executed)h(command)f(is)g(the)h(v)-5 b(alue)26 b(returned)f(b)m(y)h
-(the)g Fq(w)m(aitpid)k Ft(system)d(call)g(or)150 5340
-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)p eop end
+(command.)p eop end
 %%Page: 34 40
 TeXDict begin 34 39 bop 150 -116 a Ft(34)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y(shell)k(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
-408 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
-518 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 672 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 782 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 891 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 1001 y(failure)37 b(mo)s(des.)61 b(When)37
-b(a)g(command)g(terminates)h(on)f(a)g(fatal)i(signal)f(whose)f(n)m(um)m
-(b)s(er)e(is)i Fq(N)10 b Ft(,)38 b(Bash)150 1111 y(uses)30
-b(the)g(v)-5 b(alue)31 b(128)p Fs(+)p Fq(N)42 b Ft(as)30
-b(the)h(exit)g(status.)275 1265 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 1374 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
-1529 y(If)i(a)i(command)f(fails)g(b)s(ecause)g(of)h(an)f(error)f
+b(Reference)g(Man)m(ual)275 299 y(If)c(the)h(`)p Fs(-k)p
+Ft(')g(option)g(is)g(set)g(\(see)h(Section)f(4.3.1)i([The)e(Set)g
+(Builtin],)h(page)f(54\),)i(then)e(all)g(parameter)150
+408 y(assignmen)m(ts)i(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 651 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
+Fs($_)p Ft(')f(is)g(set)h(to)f(the)g(full)g(pathname)150
+761 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 958 y Fj(3.7.5)63 b(Exit)40
+b(Status)150 1105 y Ft(The)26 b(exit)h(status)f(of)g(an)g(executed)h
+(command)f(is)g(the)h(v)-5 b(alue)26 b(returned)f(b)m(y)h(the)g
+Fq(w)m(aitpid)k Ft(system)d(call)g(or)150 1214 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 1324 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 1433 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 1543 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
+1676 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 1786 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 1895 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
+2005 y(failure)37 b(mo)s(des.)61 b(When)37 b(a)g(command)g(terminates)h
+(on)f(a)g(fatal)i(signal)f(whose)f(n)m(um)m(b)s(er)e(is)i
+Fq(N)10 b Ft(,)38 b(Bash)150 2115 y(uses)30 b(the)g(v)-5
+b(alue)31 b(128)p Fs(+)p Fq(N)42 b Ft(as)30 b(the)h(exit)g(status.)275
+2248 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
+2357 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
+2491 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
-1638 y(is)c(greater)i(than)e(zero.)275 1792 y(The)38
+2600 y(is)c(greater)i(than)e(zero.)275 2733 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.4.2)h([Con-)150 1902
+(commands)e(\(see)h(Section)h(3.2.4.2)h([Con-)150 2843
 y(ditional)i(Constructs],)h(page)f(10\))g(and)e(some)i(of)f(the)g(list)
 g(constructs)g(\(see)h(Section)f(3.2.3)i([Lists],)150
-2011 y(page)31 b(9\).)275 2166 y(All)40 b(of)g(the)h(Bash)f(builtins)f
+2953 y(page)31 b(9\).)275 3086 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 2275 y(status)34 b(on)f(failure,)i(so)f(they)g(ma)m
+(a)g(non-zero)150 3196 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 2385 y(return)29
+(constructs.)50 b(All)35 b(builtins)150 3305 y(return)29
 b(an)i(exit)g(status)g(of)f(2)h(to)g(indicate)g(incorrect)h(usage.)150
-2604 y Fj(3.7.6)63 b(Signals)150 2751 y Ft(When)36 b(Bash)g(is)h(in)m
+3502 y Fj(3.7.6)63 b(Signals)150 3649 y Ft(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 Fs(SIGTERM)d Ft(\(so)j(that)g(`)p Fs(kill)150
-2860 y(0)p Ft(')c(do)s(es)g(not)g(kill)g(an)g(in)m(teractiv)m(e)j
+3758 y(0)p Ft(')c(do)s(es)g(not)g(kill)g(an)g(in)m(teractiv)m(e)j
 (shell\),)f(and)d Fs(SIGINT)f Ft(is)i(caugh)m(t)h(and)f(handled)f(\(so)
-h(that)h(the)f Fs(wait)150 2970 y Ft(builtin)24 b(is)h(in)m
+h(that)h(the)f Fs(wait)150 3868 y Ft(builtin)24 b(is)h(in)m
 (terruptible\).)39 b(When)24 b(Bash)g(receiv)m(es)j(a)d
 Fs(SIGINT)p Ft(,)h(it)g(breaks)f(out)h(of)f(an)m(y)h(executing)h(lo)s
-(ops.)150 3079 y(In)31 b(all)h(cases,)h(Bash)f(ignores)g
+(ops.)150 3978 y(In)31 b(all)h(cases,)h(Bash)f(ignores)g
 Fs(SIGQUIT)p Ft(.)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 3189 y(page)f(93\),)h
+(\(see)f(Chapter)f(7)h([Job)g(Con)m(trol],)150 4087 y(page)f(93\),)h
 (Bash)e(ignores)h Fs(SIGTTIN)p Ft(,)e Fs(SIGTTOU)p Ft(,)g(and)g
-Fs(SIGTSTP)p Ft(.)275 3343 y(Non-builtin)i(commands)g(started)g(b)m(y)g
+Fs(SIGTSTP)p Ft(.)275 4220 y(Non-builtin)i(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 3453 y(b)m(y)37 b(the)h(shell)g(from)f(its)h
+b(alues)31 b(inherited)150 4330 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 3562 y(ignore)f
+(e\013ect,)k(async)m(hronous)c(commands)150 4440 y(ignore)f
 Fs(SIGINT)e Ft(and)h Fs(SIGQUIT)e Ft(in)j(addition)f(to)i(these)f
 (inherited)f(handlers.)55 b(Commands)35 b(run)f(as)i(a)150
-3672 y(result)27 b(of)h(command)f(substitution)h(ignore)g(the)g(k)m
+4549 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
-Fs(SIGTTIN)p Ft(,)150 3782 y Fs(SIGTTOU)p Ft(,)h(and)g
-Fs(SIGTSTP)p Ft(.)275 3936 y(The)h(shell)i(exits)g(b)m(y)f(default)g
+Fs(SIGTTIN)p Ft(,)150 4659 y Fs(SIGTTOU)p Ft(,)h(and)g
+Fs(SIGTSTP)p Ft(.)275 4792 y(The)h(shell)i(exits)g(b)m(y)f(default)g
 (up)s(on)f(receipt)i(of)f(a)h Fs(SIGHUP)p Ft(.)42 b(Before)32
-b(exiting,)h(an)e(in)m(teractiv)m(e)j(shell)150 4045
+b(exiting,)h(an)e(in)m(teractiv)m(e)j(shell)150 4902
 y(resends)41 b(the)i Fs(SIGHUP)e Ft(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
-Fs(SIGCONT)d Ft(to)150 4155 y(ensure)32 b(that)h(they)g(receiv)m(e)i
+Fs(SIGCONT)d Ft(to)150 5011 y(ensure)32 b(that)h(they)g(receiv)m(e)i
 (the)e Fs(SIGHUP)p Ft(.)47 b(T)-8 b(o)33 b(prev)m(en)m(t)g(the)g(shell)
-g(from)g(sending)f(the)h Fs(SIGHUP)e Ft(signal)150 4265
+g(from)g(sending)f(the)h Fs(SIGHUP)e Ft(signal)150 5121
 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 Fs(disown)e
-Ft(builtin)h(\(see)150 4374 y(Section)f(7.2)g([Job)f(Con)m(trol)h
+Ft(builtin)h(\(see)150 5230 y(Section)f(7.2)g([Job)f(Con)m(trol)h
 (Builtins],)g(page)g(94\))h(or)e(mark)m(ed)g(to)h(not)f(receiv)m(e)i
-Fs(SIGHUP)d Ft(using)h Fs(disown)150 4484 y(-h)p Ft(.)275
-4638 y(If)38 b(the)h Fs(huponexit)e Ft(shell)i(option)g(has)g(b)s(een)f
-(set)i(with)f Fs(shopt)e Ft(\(see)j(Section)g(4.3.2)h([The)e(Shopt)150
-4747 y(Builtin],)31 b(page)g(57\),)h(Bash)f(sends)e(a)i
+Fs(SIGHUP)d Ft(using)h Fs(disown)150 5340 y(-h)p Ft(.)p
+eop end
+%%Page: 35 41
+TeXDict begin 35 40 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(35)275 299
+y(If)38 b(the)h Fs(huponexit)e Ft(shell)i(option)g(has)g(b)s(een)f(set)
+i(with)f Fs(shopt)e Ft(\(see)j(Section)g(4.3.2)h([The)e(Shopt)150
+408 y(Builtin],)31 b(page)g(58\),)h(Bash)f(sends)e(a)i
 Fs(SIGHUP)e Ft(to)i(all)g(jobs)f(when)f(an)i(in)m(teractiv)m(e)i(login)
-e(shell)g(exits.)275 4902 y(If)38 b(Bash)h(is)g(w)m(aiting)h(for)f(a)g
+e(shell)g(exits.)275 543 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 5011 y(has)c(b)s(een)f(set,)i(the)f(trap)g(will)g
+m(h)h(a)g(trap)150 653 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 5121 y(w)m(aiting)j(for)f(an)g(async)m
+b(When)35 b(Bash)g(is)150 762 y(w)m(aiting)j(for)f(an)g(async)m
 (hronous)g(command)g(via)h(the)f Fs(wait)f Ft(builtin,)i(the)g
-(reception)g(of)f(a)g(signal)h(for)150 5230 y(whic)m(h)d(a)g(trap)g
-(has)g(b)s(een)f(set)h(will)h(cause)f(the)g Fs(wait)f
-Ft(builtin)h(to)g(return)f(immediately)i(with)f(an)g(exit)150
-5340 y(status)c(greater)g(than)f(128,)i(immediately)g(after)f(whic)m(h)
-f(the)h(trap)f(is)g(executed.)p eop end
-%%Page: 35 41
-TeXDict begin 35 40 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(35)150 299
-y Fr(3.8)68 b(Shell)45 b(Scripts)150 458 y Ft(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
-568 y(non-option)i(argumen)m(t)h(when)e(in)m(v)m(oking)i(Bash,)g(and)e
-(neither)h(the)g(`)p Fs(-c)p Ft(')g(nor)g(`)p Fs(-s)p
-Ft(')g(option)g(is)g(supplied)150 677 y(\(see)25 b(Section)h(6.1)f([In)
-m(v)m(oking)h(Bash],)g(page)f(75\),)i(Bash)e(reads)f(and)g(executes)i
-(commands)e(from)g(the)h(\014le,)150 787 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
-897 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
-Fs($PATH)g Ft(if)h(not)g(found)e(there.)275 1031 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 Fs(0)f Ft(to)h(the)g(name)g(of)g(the)g(\014le,)150
-1141 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
-1250 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 1360 y(parameters)31 b(are)f(unset.)275
-1494 y(A)39 b(shell)h(script)f(ma)m(y)h(b)s(e)f(made)h(executable)h(b)m
+(reception)g(of)f(a)g(signal)h(for)150 872 y(whic)m(h)d(a)g(trap)g(has)
+g(b)s(een)f(set)h(will)h(cause)f(the)g Fs(wait)f Ft(builtin)h(to)g
+(return)f(immediately)i(with)f(an)g(exit)150 981 y(status)c(greater)g
+(than)f(128,)i(immediately)g(after)f(whic)m(h)f(the)h(trap)f(is)g
+(executed.)150 1214 y Fr(3.8)68 b(Shell)45 b(Scripts)150
+1373 y Ft(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 1483 y(non-option)i(argumen)m(t)h(when)e
+(in)m(v)m(oking)i(Bash,)g(and)e(neither)h(the)g(`)p Fs(-c)p
+Ft(')g(nor)g(`)p Fs(-s)p Ft(')g(option)g(is)g(supplied)150
+1592 y(\(see)25 b(Section)h(6.1)f([In)m(v)m(oking)h(Bash],)g(page)f
+(75\),)i(Bash)e(reads)f(and)g(executes)i(commands)e(from)g(the)h
+(\014le,)150 1702 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 1812 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 Fs($PATH)g Ft(if)h(not)g(found)e(there.)275
+1946 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 Fs(0)f Ft(to)h(the)g(name)g(of)g(the)g
+(\014le,)150 2056 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 2165 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 2275 y(parameters)31 b(are)f(unset.)275
+2409 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 Fs(chmod)e Ft(command)h(to)h(turn)e(on)i(the)150
-1604 y(execute)j(bit.)73 b(When)41 b(Bash)g(\014nds)e(suc)m(h)i(a)h
+2519 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 Fs($PATH)f Ft(for)h(a)h
-(command,)h(it)150 1714 y(spa)m(wns)30 b(a)g(subshell)g(to)h(execute)h
-(it.)41 b(In)30 b(other)g(w)m(ords,)g(executing)390 1848
-y Fs(filename)46 b Fi(arguments)150 1983 y Ft(is)30 b(equiv)-5
-b(alen)m(t)32 b(to)f(executing)390 2117 y Fs(bash)47
-b(filename)e Fi(arguments)150 2252 y Ft(if)30 b Fs(filename)d
+(command,)h(it)150 2628 y(spa)m(wns)30 b(a)g(subshell)g(to)h(execute)h
+(it.)41 b(In)30 b(other)g(w)m(ords,)g(executing)390 2763
+y Fs(filename)46 b Fi(arguments)150 2897 y Ft(is)30 b(equiv)-5
+b(alen)m(t)32 b(to)f(executing)390 3032 y Fs(bash)47
+b(filename)e Fi(arguments)150 3166 y Ft(if)30 b Fs(filename)d
 Ft(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
-2361 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)
+3276 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 2471 y(lo)s(cations)25 b(of)g(commands)e(remem)m(b)s
+(that)f(the)150 3386 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
-Fs(hash)f Ft(in)h(Section)h(4.1)150 2580 y([Bourne)30
+Fs(hash)f Ft(in)h(Section)h(4.1)150 3495 y([Bourne)30
 b(Shell)h(Builtins],)g(page)g(37\))h(are)e(retained)h(b)m(y)f(the)h(c)m
-(hild.)275 2715 y(Most)36 b(v)m(ersions)g(of)g(Unix)f(mak)m(e)h(this)g
+(hild.)275 3630 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 2824 y(mec)m(hanism.)50 b(If)33 b(the)g(\014rst)g(line)h(of)f(a)h
+150 3739 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
-Fs(#!)p Ft(',)f(the)g(remainder)150 2934 y(of)d(the)g(line)h(sp)s
+Fs(#!)p Ft(',)f(the)g(remainder)150 3849 y(of)d(the)g(line)h(sp)s
 (eci\014es)e(an)h(in)m(terpreter)g(for)g(the)g(program.)43
 b(Th)m(us,)30 b(y)m(ou)h(can)h(sp)s(ecify)e(Bash,)i Fs(awk)p
-Ft(,)e(P)m(erl,)150 3044 y(or)g(some)h(other)g(in)m(terpreter)g(and)e
+Ft(,)e(P)m(erl,)150 3958 y(or)g(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.)275 3178 y(The)40 b(argumen)m(ts)h(to)g(the)g(in)m
+(language.)275 4093 y(The)40 b(argumen)m(ts)h(to)g(the)g(in)m
 (terpreter)g(consist)g(of)g(a)g(single)h(optional)f(argumen)m(t)h
-(follo)m(wing)g(the)150 3288 y(in)m(terpreter)33 b(name)h(on)f(the)g
+(follo)m(wing)g(the)150 4203 y(in)m(terpreter)33 b(name)h(on)f(the)g
 (\014rst)f(line)i(of)f(the)g(script)g(\014le,)h(follo)m(w)m(ed)h(b)m(y)
-e(the)g(name)g(of)g(the)h(script)f(\014le,)150 3397 y(follo)m(w)m(ed)g
+e(the)g(name)g(of)g(the)h(script)f(\014le,)150 4312 y(follo)m(w)m(ed)g
 (b)m(y)f(the)f(rest)h(of)g(the)f(argumen)m(ts.)45 b(Bash)31
 b(will)h(p)s(erform)e(this)i(action)h(on)e(op)s(erating)h(systems)150
-3507 y(that)24 b(do)g(not)f(handle)g(it)h(themselv)m(es.)40
+4422 y(that)24 b(do)g(not)f(handle)g(it)h(themselv)m(es.)40
 b(Note)25 b(that)f(some)g(older)g(v)m(ersions)f(of)h(Unix)f(limit)i
-(the)f(in)m(terpreter)150 3616 y(name)30 b(and)g(argumen)m(t)h(to)g(a)g
-(maxim)m(um)f(of)h(32)g(c)m(haracters.)275 3751 y(Bash)h(scripts)g
+(the)f(in)m(terpreter)150 4531 y(name)30 b(and)g(argumen)m(t)h(to)g(a)g
+(maxim)m(um)f(of)h(32)g(c)m(haracters.)275 4666 y(Bash)h(scripts)g
 (often)g(b)s(egin)g(with)g Fs(#!)e(/bin/bash)g Ft(\(assuming)i(that)h
-(Bash)f(has)g(b)s(een)f(installed)i(in)150 3861 y(`)p
+(Bash)f(has)g(b)s(een)f(installed)i(in)150 4775 y(`)p
 Fs(/bin)p Ft('\),)25 b(since)e(this)g(ensures)f(that)i(Bash)f(will)h(b)
 s(e)e(used)h(to)h(in)m(terpret)f(the)g(script,)i(ev)m(en)f(if)f(it)h
-(is)f(executed)150 3970 y(under)29 b(another)h(shell.)p
+(is)f(executed)150 4885 y(under)29 b(another)h(shell.)p
 eop end
 %%Page: 36 42
 TeXDict begin 36 41 bop eop end
@@ -7541,1770 +7566,1801 @@ Fq(n)p Ft(th)630 408 y(enclosing)c(lo)s(op)f(is)h(exited.)70
 b Fq(n)40 b Ft(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 518 y(status)31 b(is)f(zero)h(unless)f
 Fq(n)g Ft(is)g(not)h(greater)g(than)g(or)f(equal)h(to)g(1.)150
-687 y Fs(cd)870 827 y(cd)47 b([-L|[-P)f([-e]]])g([)p
-Fi(directory)11 b Fs(])630 966 y Ft(Change)36 b(the)h(curren)m(t)f(w)m
+685 y Fs(cd)870 824 y(cd)47 b([-L|[-P)f([-e]]])g([)p
+Fi(directory)11 b Fs(])630 962 y Ft(Change)36 b(the)h(curren)m(t)f(w)m
 (orking)g(directory)h(to)g Fq(directory)8 b Ft(.)59 b(If)35
-b Fq(directory)45 b Ft(is)36 b(not)h(giv)m(en,)630 1076
+b Fq(directory)45 b Ft(is)36 b(not)h(giv)m(en,)630 1072
 y(the)31 b(v)-5 b(alue)31 b(of)g(the)g Fs(HOME)e Ft(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 Fs(CDPATH)e Ft(exists,)630 1186 y(it)f(is)f(used)f(as)h
+b(ariable)31 b Fs(CDPATH)e Ft(exists,)630 1181 y(it)f(is)f(used)f(as)h
 (a)h(searc)m(h)f(path.)40 b(If)26 b Fq(directory)35 b
 Ft(b)s(egins)27 b(with)g(a)g(slash,)h Fs(CDPATH)d Ft(is)i(not)g(used.)
-630 1325 y(The)h(`)p Fs(-P)p Ft(')h(option)g(means)f(to)h(not)g(follo)m
+630 1320 y(The)h(`)p Fs(-P)p Ft(')h(option)g(means)f(to)h(not)g(follo)m
 (w)h(sym)m(b)s(olic)f(links;)g(sym)m(b)s(olic)g(links)f(are)h(follo)m
-(w)m(ed)630 1435 y(b)m(y)22 b(default)h(or)f(with)g(the)g(`)p
+(w)m(ed)630 1429 y(b)m(y)22 b(default)h(or)f(with)g(the)g(`)p
 Fs(-L)p Ft(')g(option.)39 b(If)22 b(the)g(`)p Fs(-e)p
 Ft(')g(option)h(is)f(supplied)f(with)h(`)p Fs(-P)p Ft(')g(and)g(the)630
-1544 y(curren)m(t)32 b(w)m(orking)h(directory)f(cannot)h(b)s(e)f
+1539 y(curren)m(t)32 b(w)m(orking)h(directory)f(cannot)h(b)s(e)f
 (successfully)g(determined)g(after)h(a)f(successful)630
-1654 y(directory)f(c)m(hange,)h Fs(cd)e Ft(will)h(return)f(an)g
+1649 y(directory)f(c)m(hange,)h Fs(cd)e Ft(will)h(return)f(an)g
 (unsuccessful)g(status.)42 b(If)30 b Fq(directory)39
-b Ft(is)31 b(`)p Fs(-)p Ft(',)g(it)g(is)630 1763 y(equiv)-5
-b(alen)m(t)32 b(to)f Fs($OLDPWD)p Ft(.)630 1903 y(If)i(a)h(non-empt)m
-(y)g(directory)g(name)f(from)g Fs(CDPATH)f Ft(is)h(used,)h(or)g(if)f(`)
-p Fs(-)p Ft(')h(is)f(the)h(\014rst)f(argu-)630 2012 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 2122 y(w)m(orking)k
-(directory)g(is)f(written)g(to)i(the)e(standard)g(output.)630
-2262 y(The)f(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 2371
-y(erwise.)150 2540 y Fs(continue)870 2680 y(continue)46
-b([)p Fi(n)11 b Fs(])630 2819 y Ft(Resume)32 b(the)g(next)g(iteration)i
+b Ft(is)31 b(`)p Fs(-)p Ft(',)g(it)g(is)630 1758 y(con)m(v)m(erted)h
+(to)f Fs($OLDPWD)d Ft(b)s(efore)i(the)h(directory)g(c)m(hange)g(is)g
+(attempted.)630 1897 y(If)i(a)h(non-empt)m(y)g(directory)g(name)f(from)
+g Fs(CDPATH)f Ft(is)h(used,)h(or)g(if)f(`)p Fs(-)p Ft(')h(is)f(the)h
+(\014rst)f(argu-)630 2006 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 2116 y(w)m(orking)k(directory)g(is)f(written)g(to)i(the)e(standard)
+g(output.)630 2254 y(The)f(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
+2364 y(erwise.)150 2531 y Fs(continue)870 2669 y(continue)46
+b([)p Fi(n)11 b Fs(])630 2808 y Ft(Resume)32 b(the)g(next)g(iteration)i
 (of)e(an)g(enclosing)h Fs(for)p Ft(,)f Fs(while)p Ft(,)f
-Fs(until)p Ft(,)g(or)h Fs(select)f Ft(lo)s(op.)630 2929
+Fs(until)p Ft(,)g(or)h Fs(select)f Ft(lo)s(op.)630 2917
 y(If)f Fq(n)h Ft(is)g(supplied,)e(the)j(execution)g(of)f(the)g
 Fq(n)p Ft(th)f(enclosing)i(lo)s(op)f(is)f(resumed.)42
-b Fq(n)30 b Ft(m)m(ust)h(b)s(e)630 3039 y(greater)39
+b Fq(n)30 b Ft(m)m(ust)h(b)s(e)630 3027 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 Fq(n)h Ft(is)g(not)g(greater)630 3148
-y(than)30 b(or)g(equal)h(to)g(1.)150 3318 y Fs(eval)870
-3457 y(eval)47 b([)p Fi(arguments)11 b Fs(])630 3597
+(zero)i(unless)e Fq(n)h Ft(is)g(not)g(greater)630 3137
+y(than)30 b(or)g(equal)h(to)g(1.)150 3304 y Fs(eval)870
+3442 y(eval)47 b([)p Fi(arguments)11 b Fs(])630 3581
 y Ft(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 3706
+(a)g(single)h(command,)f(whic)m(h)g(is)f(then)630 3690
 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 Fs(eval)p Ft(.)54 b(If)630
-3816 y(there)31 b(are)f(no)h(argumen)m(ts)f(or)h(only)f(empt)m(y)h
+3800 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
-3985 y Fs(exec)870 4125 y(exec)47 b([-cl])f([-a)h Fi(name)11
+3967 y Fs(exec)870 4106 y(exec)47 b([-cl])f([-a)h Fi(name)11
 b Fs(])46 b([)p Fi(command)56 b Fs([)p Fi(arguments)11
-b Fs(]])630 4264 y Ft(If)36 b Fq(command)k Ft(is)c(supplied,)h(it)g
+b Fs(]])630 4244 y Ft(If)36 b Fq(command)k Ft(is)c(supplied,)h(it)g
 (replaces)h(the)e(shell)h(without)f(creating)i(a)f(new)f(pro)s(cess.)
-630 4374 y(If)h(the)g(`)p Fs(-l)p Ft(')g(option)h(is)f(supplied,)g(the)
+630 4354 y(If)h(the)g(`)p Fs(-l)p Ft(')g(option)h(is)f(supplied,)g(the)
 h(shell)f(places)h(a)g(dash)e(at)i(the)f(b)s(eginning)f(of)i(the)630
-4483 y(zeroth)e(argumen)m(t)g(passed)f(to)h Fq(command)t
+4463 y(zeroth)e(argumen)m(t)g(passed)f(to)h Fq(command)t
 Ft(.)56 b(This)34 b(is)i(what)f(the)h Fs(login)e Ft(program)h(do)s(es.)
-630 4593 y(The)e(`)p Fs(-c)p Ft(')h(option)g(causes)g
+630 4573 y(The)e(`)p Fs(-c)p Ft(')h(option)g(causes)g
 Fq(command)j Ft(to)e(b)s(e)e(executed)i(with)e(an)h(empt)m(y)g(en)m
-(vironmen)m(t.)630 4702 y(If)d(`)p Fs(-a)p Ft(')g(is)h(supplied,)f(the)
+(vironmen)m(t.)630 4682 y(If)d(`)p Fs(-a)p Ft(')g(is)h(supplied,)f(the)
 g(shell)h(passes)f Fq(name)37 b Ft(as)31 b(the)h(zeroth)g(argumen)m(t)g
-(to)g Fq(command)t Ft(.)630 4812 y(If)45 b(no)g Fq(command)k
-Ft(is)c(sp)s(eci\014ed,)k(redirections)d(ma)m(y)g(b)s(e)f(used)f(to)j
-(a\013ect)g(the)e(curren)m(t)630 4922 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 5031 y(otherwise)e(the)f(return)g(status)g(is)
-h(non-zero.)150 5200 y Fs(exit)870 5340 y(exit)47 b([)p
-Fi(n)11 b Fs(])p eop end
+(to)g Fq(command)t Ft(.)630 4792 y(If)g Fq(command)j
+Ft(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 4902 y(unless)27 b(the)g
+Fs(execfail)e Ft(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
+5011 y(in)m(teractiv)m(e)d(shell)d(returns)f(failure)h(if)g(the)g
+(\014le)g(cannot)g(b)s(e)g(executed.)52 b(If)33 b(no)h
+Fq(command)630 5121 y Ft(is)27 b(sp)s(eci\014ed,)g(redirections)h(ma)m
+(y)f(b)s(e)g(used)f(to)i(a\013ect)g(the)f(curren)m(t)g(shell)g(en)m
+(vironmen)m(t.)40 b(If)630 5230 y(there)34 b(are)h(no)f(redirection)h
+(errors,)g(the)f(return)f(status)i(is)f(zero;)j(otherwise)e(the)f
+(return)630 5340 y(status)d(is)f(non-zero.)p eop end
 %%Page: 39 45
 TeXDict begin 39 44 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(39)630 299 y(Exit)30
+b(Shell)30 b(Builtin)h(Commands)2069 b(39)150 299 y Fs(exit)870
+430 y(exit)47 b([)p Fi(n)11 b Fs(])630 562 y Ft(Exit)30
 b(the)g(shell,)h(returning)d(a)j(status)f(of)g Fq(n)f
 Ft(to)h(the)g(shell's)g(paren)m(t.)41 b(If)30 b Fq(n)f
-Ft(is)h(omitted,)h(the)630 408 y(exit)c(status)g(is)g(that)g(of)g(the)g
+Ft(is)h(omitted,)h(the)630 671 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
-Fs(EXIT)f Ft(is)i(executed)630 518 y(b)s(efore)j(the)h(shell)f
-(terminates.)150 675 y Fs(export)870 808 y(export)46
+Fs(EXIT)f Ft(is)i(executed)630 781 y(b)s(efore)j(the)h(shell)f
+(terminates.)150 934 y Fs(export)870 1066 y(export)46
 b([-fn])g([-p])h([)p Fi(name)11 b Fs([=)p Fi(value)g
-Fs(]])630 941 y Ft(Mark)40 b(eac)m(h)h Fq(name)k Ft(to)40
+Fs(]])630 1198 y Ft(Mark)40 b(eac)m(h)h Fq(name)k Ft(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 1050 y(`)p Fs(-f)p
+(vironmen)m(t.)70 b(If)39 b(the)630 1307 y(`)p Fs(-f)p
 Ft(')29 b(option)h(is)g(supplied,)f(the)g Fq(name)5 b
 Ft(s)30 b(refer)f(to)h(shell)g(functions;)f(otherwise)h(the)g(names)630
-1160 y(refer)36 b(to)i(shell)e(v)-5 b(ariables.)60 b(The)36
+1417 y(refer)36 b(to)i(shell)e(v)-5 b(ariables.)60 b(The)36
 b(`)p Fs(-n)p Ft(')h(option)g(means)f(to)h(no)g(longer)g(mark)f(eac)m
-(h)i Fq(name)630 1270 y Ft(for)h(exp)s(ort.)65 b(If)39
+(h)i Fq(name)630 1526 y Ft(for)h(exp)s(ort.)65 b(If)39
 b(no)g Fq(names)j Ft(are)d(supplied,)h(or)f(if)g(the)g(`)p
 Fs(-p)p Ft(')g(option)g(is)g(giv)m(en,)j(a)d(list)h(of)630
-1379 y(exp)s(orted)c(names)h(is)f(displa)m(y)m(ed.)60
-b(The)37 b(`)p Fs(-p)p Ft(')f(option)h(displa)m(ys)g(output)f(in)g(a)h
-(form)f(that)630 1489 y(ma)m(y)31 b(b)s(e)f(reused)g(as)h(input.)41
-b(If)31 b(a)g(v)-5 b(ariable)31 b(name)g(is)g(follo)m(w)m(ed)i(b)m(y)d
-(=)p Fq(v)-5 b(alue)5 b Ft(,)32 b(the)f(v)-5 b(alue)31
-b(of)630 1598 y(the)g(v)-5 b(ariable)31 b(is)f(set)h(to)g
-Fq(v)-5 b(alue)5 b Ft(.)630 1731 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 1841 y(is)h(not)h(a)f(v)-5
-b(alid)31 b(shell)f(v)-5 b(ariable)31 b(name,)f(or)h(`)p
-Fs(-f)p Ft(')f(is)g(supplied)f(with)g(a)i(name)f(that)h(is)f(not)h(a)
-630 1951 y(shell)g(function.)150 2107 y Fs(getopts)870
-2240 y(getopts)46 b Fi(optstring)56 b(name)h Fs([)p Fi(args)11
-b Fs(])630 2373 y(getopts)28 b Ft(is)i(used)g(b)m(y)g(shell)g(scripts)g
-(to)g(parse)g(p)s(ositional)h(parameters.)41 b Fq(optstring)d
-Ft(con-)630 2483 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 2592 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 2702 y(from)37 b(it)h(b)m(y)f(white)h(space.)63
-b(The)37 b(colon)h(\(`)p Fs(:)p Ft('\))h(and)d(question)i(mark)f(\(`)p
-Fs(?)p Ft('\))i(ma)m(y)f(not)g(b)s(e)630 2812 y(used)g(as)g(option)h(c)
+1636 y(names)27 b(of)h(all)h(exp)s(orted)e(v)-5 b(ariables)28
+b(is)g(displa)m(y)m(ed.)40 b(The)27 b(`)p Fs(-p)p Ft(')g(option)h
+(displa)m(ys)g(output)f(in)630 1745 y(a)32 b(form)e(that)i(ma)m(y)g(b)s
+(e)e(reused)h(as)g(input.)43 b(If)30 b(a)i(v)-5 b(ariable)32
+b(name)f(is)g(follo)m(w)m(ed)i(b)m(y)e(=)p Fq(v)-5 b(alue)5
+b Ft(,)630 1855 y(the)31 b(v)-5 b(alue)30 b(of)h(the)g(v)-5
+b(ariable)31 b(is)f(set)h(to)g Fq(v)-5 b(alue)5 b Ft(.)630
+1987 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
+2096 y(is)h(not)h(a)f(v)-5 b(alid)31 b(shell)f(v)-5 b(ariable)31
+b(name,)f(or)h(`)p Fs(-f)p Ft(')f(is)g(supplied)f(with)g(a)i(name)f
+(that)h(is)f(not)h(a)630 2206 y(shell)g(function.)150
+2359 y Fs(getopts)870 2491 y(getopts)46 b Fi(optstring)56
+b(name)h Fs([)p Fi(args)11 b Fs(])630 2622 y(getopts)28
+b Ft(is)i(used)g(b)m(y)g(shell)g(scripts)g(to)g(parse)g(p)s(ositional)h
+(parameters.)41 b Fq(optstring)d Ft(con-)630 2732 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
+2841 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
+2951 y(from)40 b(it)g(b)m(y)g(whitespace.)70 b(The)40
+b(colon)h(\(`)p Fs(:)p Ft('\))g(and)e(question)h(mark)g(\(`)p
+Fs(?)p Ft('\))h(ma)m(y)f(not)h(b)s(e)630 3061 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
-Fs(getopts)37 b Ft(places)i(the)g(next)630 2921 y(option)29
+Fs(getopts)37 b Ft(places)i(the)g(next)630 3170 y(option)29
 b(in)f(the)g(shell)h(v)-5 b(ariable)29 b Fq(name)5 b
 Ft(,)29 b(initializing)h Fq(name)k Ft(if)28 b(it)h(do)s(es)f(not)g
-(exist,)i(and)e(the)630 3031 y(index)33 b(of)g(the)h(next)f(argumen)m
+(exist,)i(and)e(the)630 3280 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 Fs(OPTIND)p Ft(.)48 b Fs(OPTIND)630 3140
+b(ariable)34 b Fs(OPTIND)p Ft(.)48 b Fs(OPTIND)630 3389
 y Ft(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 3250 y(option)36 b(requires)e(an)h(argumen)m(t,)i
+b(an)630 3499 y(option)36 b(requires)e(an)h(argumen)m(t,)i
 Fs(getopts)c Ft(places)j(that)g(argumen)m(t)g(in)m(to)g(the)f(v)-5
-b(ariable)630 3360 y Fs(OPTARG)p Ft(.)55 b(The)35 b(shell)g(do)s(es)h
+b(ariable)630 3608 y Fs(OPTARG)p Ft(.)55 b(The)35 b(shell)g(do)s(es)h
 (not)g(reset)g Fs(OPTIND)e Ft(automatically;)41 b(it)36
-b(m)m(ust)f(b)s(e)g(man)m(ually)630 3469 y(reset)i(b)s(et)m(w)m(een)g
+b(m)m(ust)f(b)s(e)g(man)m(ually)630 3718 y(reset)i(b)s(et)m(w)m(een)g
 (m)m(ultiple)h(calls)f(to)g Fs(getopts)e Ft(within)h(the)h(same)g
-(shell)f(in)m(v)m(o)s(cation)j(if)e(a)630 3579 y(new)30
+(shell)f(in)m(v)m(o)s(cation)j(if)e(a)630 3828 y(new)30
 b(set)h(of)f(parameters)h(is)f(to)i(b)s(e)d(used.)630
-3712 y(When)41 b(the)h(end)e(of)i(options)g(is)f(encoun)m(tered,)k
+3959 y(When)41 b(the)h(end)e(of)i(options)g(is)f(encoun)m(tered,)k
 Fs(getopts)39 b Ft(exits)j(with)f(a)h(return)e(v)-5 b(alue)630
-3821 y(greater)32 b(than)e(zero.)41 b Fs(OPTIND)29 b
+4069 y(greater)32 b(than)e(zero.)41 b Fs(OPTIND)29 b
 Ft(is)h(set)h(to)g(the)g(index)f(of)g(the)h(\014rst)f(non-option)g
-(argumen)m(t,)630 3931 y(and)g Fq(name)35 b Ft(is)c(set)g(to)g(`)p
-Fs(?)p Ft('.)630 4064 y Fs(getopts)c Ft(normally)j(parses)e(the)i(p)s
+(argumen)m(t,)630 4178 y(and)g Fq(name)35 b Ft(is)c(set)g(to)g(`)p
+Fs(?)p Ft('.)630 4310 y Fs(getopts)c Ft(normally)j(parses)e(the)i(p)s
 (ositional)g(parameters,)g(but)e(if)i(more)f(argumen)m(ts)h(are)630
-4174 y(giv)m(en)h(in)f Fq(args)t Ft(,)h Fs(getopts)e
-Ft(parses)g(those)i(instead.)630 4307 y Fs(getopts)h
+4419 y(giv)m(en)h(in)f Fq(args)t Ft(,)h Fs(getopts)e
+Ft(parses)g(those)i(instead.)630 4551 y Fs(getopts)h
 Ft(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 Fq(optstring)42
-b Ft(is)34 b(a)630 4416 y(colon,)i Fq(silen)m(t)i Ft(error)33
-b(rep)s(orting)h(is)h(used.)51 b(In)33 b(normal)i(op)s(eration)f
-(diagnostic)i(messages)630 4526 y(are)30 b(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 4635 y(If)34 b(the)g(v)-5 b(ariable)35
+b Ft(is)34 b(a)630 4661 y(colon,)g Fq(silen)m(t)h Ft(error)d(rep)s
+(orting)f(is)i(used.)45 b(In)31 b(normal)h(op)s(eration,)h(diagnostic)h
+(messages)630 4770 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 4880 y(If)34 b(the)g(v)-5 b(ariable)35
 b Fs(OPTERR)d Ft(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 4745 y(the)c(\014rst)e(c)m
+s(e)f(displa)m(y)m(ed,)j(ev)m(en)f(if)630 4989 y(the)c(\014rst)e(c)m
 (haracter)j(of)f Fs(optstring)d Ft(is)i(not)h(a)f(colon.)630
-4878 y(If)39 b(an)h(in)m(v)-5 b(alid)41 b(option)f(is)g(seen,)i
+5121 y(If)39 b(an)h(in)m(v)-5 b(alid)41 b(option)f(is)g(seen,)i
 Fs(getopts)c Ft(places)j(`)p Fs(?)p Ft(')f(in)m(to)h
-Fq(name)k Ft(and,)d(if)e(not)g(silen)m(t,)630 4988 y(prin)m(ts)f(an)h
+Fq(name)k Ft(and,)d(if)e(not)g(silen)m(t,)630 5230 y(prin)m(ts)f(an)h
 (error)f(message)h(and)f(unsets)g Fs(OPTARG)p Ft(.)67
 b(If)39 b Fs(getopts)f Ft(is)i(silen)m(t,)j(the)c(option)630
-5097 y(c)m(haracter)32 b(found)d(is)h(placed)h(in)f Fs(OPTARG)f
-Ft(and)h(no)g(diagnostic)i(message)f(is)g(prin)m(ted.)630
-5230 y(If)c(a)g(required)f(argumen)m(t)i(is)f(not)g(found,)g(and)f
-Fs(getopts)f Ft(is)i(not)h(silen)m(t,)h(a)e(question)g(mark)630
-5340 y(\(`)p Fs(?)p Ft('\))35 b(is)g(placed)g(in)g Fq(name)5
-b Ft(,)36 b Fs(OPTARG)d Ft(is)h(unset,)i(and)e(a)h(diagnostic)h
-(message)f(is)g(prin)m(ted.)p eop end
+5340 y(c)m(haracter)32 b(found)d(is)h(placed)h(in)f Fs(OPTARG)f
+Ft(and)h(no)g(diagnostic)i(message)f(is)g(prin)m(ted.)p
+eop end
 %%Page: 40 46
 TeXDict begin 40 45 bop 150 -116 a Ft(40)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(If)i Fs(getopts)f Ft(is)h(silen)m(t,)
-j(then)d(a)i(colon)f(\(`)p Fs(:)p Ft('\))h(is)e(placed)h(in)g
-Fq(name)k Ft(and)33 b Fs(OPTARG)f Ft(is)i(set)g(to)630
-408 y(the)d(option)f(c)m(haracter)i(found.)150 573 y
-Fs(hash)870 710 y(hash)47 b([-r])f([-p)h Fi(filename)11
-b Fs(])45 b([-dt])h([)p Fi(name)11 b Fs(])630 847 y Ft(Eac)m(h)32
-b(time)g Fs(hash)e Ft(is)h(in)m(v)m(ok)m(ed,)j(it)d(remem)m(b)s(ers)g
-(the)g(full)g(pathnames)g(of)h(the)f(commands)630 956
-y(sp)s(eci\014ed)i(as)i Fq(name)k Ft(argumen)m(ts,)c(so)g(they)f(need)g
-(not)g(b)s(e)f(searc)m(hed)i(for)f(on)g(subsequen)m(t)630
-1066 y(in)m(v)m(o)s(cations.)79 b(The)41 b(commands)h(are)h(found)e(b)m
-(y)h(searc)m(hing)i(through)d(the)i(directories)630 1176
+b(Reference)g(Man)m(ual)630 299 y(If)c(a)g(required)f(argumen)m(t)i(is)
+f(not)g(found,)g(and)f Fs(getopts)f Ft(is)i(not)h(silen)m(t,)h(a)e
+(question)g(mark)630 408 y(\(`)p Fs(?)p Ft('\))35 b(is)g(placed)g(in)g
+Fq(name)5 b Ft(,)36 b Fs(OPTARG)d Ft(is)h(unset,)i(and)e(a)h
+(diagnostic)h(message)f(is)g(prin)m(ted.)630 518 y(If)e
+Fs(getopts)f Ft(is)h(silen)m(t,)j(then)d(a)i(colon)f(\(`)p
+Fs(:)p Ft('\))h(is)e(placed)h(in)g Fq(name)k Ft(and)33
+b Fs(OPTARG)f Ft(is)i(set)g(to)630 628 y(the)d(option)f(c)m(haracter)i
+(found.)150 778 y Fs(hash)870 908 y(hash)47 b([-r])f([-p)h
+Fi(filename)11 b Fs(])45 b([-dt])h([)p Fi(name)11 b Fs(])630
+1039 y Ft(Eac)m(h)32 b(time)g Fs(hash)e Ft(is)h(in)m(v)m(ok)m(ed,)j(it)
+d(remem)m(b)s(ers)g(the)g(full)g(pathnames)g(of)h(the)f(commands)630
+1148 y(sp)s(eci\014ed)i(as)i Fq(name)k Ft(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
+1258 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 1367
 y(listed)33 b(in)g Fs($PATH)p Ft(.)47 b(An)m(y)33 b(previously-remem)m
 (b)s(ered)f(pathname)h(is)g(discarded.)48 b(The)32 b(`)p
-Fs(-p)p Ft(')630 1285 y(option)i(inhibits)e(the)i(path)f(searc)m(h,)i
+Fs(-p)p Ft(')630 1477 y(option)i(inhibits)e(the)i(path)f(searc)m(h,)i
 (and)e Fq(\014lename)38 b Ft(is)c(used)e(as)i(the)f(lo)s(cation)i(of)f
-Fq(name)5 b Ft(.)630 1395 y(The)35 b(`)p Fs(-r)p Ft(')g(option)g
+Fq(name)5 b Ft(.)630 1587 y(The)35 b(`)p Fs(-r)p Ft(')g(option)g
 (causes)h(the)g(shell)f(to)h(forget)g(all)g(remem)m(b)s(ered)f(lo)s
-(cations.)56 b(The)35 b(`)p Fs(-d)p Ft(')630 1504 y(option)c(causes)f
+(cations.)56 b(The)35 b(`)p Fs(-d)p Ft(')630 1696 y(option)c(causes)f
 (the)g(shell)h(to)f(forget)i(the)e(remem)m(b)s(ered)f(lo)s(cation)j(of)
-e(eac)m(h)h Fq(name)5 b Ft(.)41 b(If)30 b(the)630 1614
+e(eac)m(h)h Fq(name)5 b Ft(.)41 b(If)30 b(the)630 1806
 y(`)p Fs(-t)p Ft(')35 b(option)h(is)g(supplied,)f(the)h(full)f
 (pathname)g(to)i(whic)m(h)e(eac)m(h)h Fq(name)41 b Ft(corresp)s(onds)34
-b(is)630 1724 y(prin)m(ted.)39 b(If)26 b(m)m(ultiple)h
+b(is)630 1915 y(prin)m(ted.)39 b(If)26 b(m)m(ultiple)h
 Fq(name)32 b Ft(argumen)m(ts)27 b(are)g(supplied)e(with)h(`)p
 Fs(-t)p Ft(')g(the)h Fq(name)32 b Ft(is)26 b(prin)m(ted)630
-1833 y(b)s(efore)f(the)h(hashed)e(full)h(pathname.)39
+2025 y(b)s(efore)f(the)h(hashed)e(full)h(pathname.)39
 b(The)25 b(`)p Fs(-l)p Ft(')h(option)f(causes)h(output)f(to)i(b)s(e)d
-(displa)m(y)m(ed)630 1943 y(in)31 b(a)g(format)h(that)f(ma)m(y)h(b)s(e)
+(displa)m(y)m(ed)630 2134 y(in)31 b(a)g(format)h(that)f(ma)m(y)h(b)s(e)
 f(reused)f(as)h(input.)42 b(If)31 b(no)g(argumen)m(ts)h(are)f(giv)m
-(en,)i(or)e(if)g(only)630 2052 y(`)p Fs(-l)p Ft(')44
+(en,)i(or)e(if)g(only)630 2244 y(`)p Fs(-l)p Ft(')44
 b(is)f(supplied,)j(information)e(ab)s(out)g(remem)m(b)s(ered)f
-(commands)g(is)h(prin)m(ted.)80 b(The)630 2162 y(return)25
+(commands)g(is)h(prin)m(ted.)80 b(The)630 2354 y(return)25
 b(status)h(is)f(zero)i(unless)e(a)h Fq(name)31 b Ft(is)26
 b(not)g(found)e(or)i(an)g(in)m(v)-5 b(alid)26 b(option)g(is)g
-(supplied.)150 2326 y Fs(pwd)870 2463 y(pwd)47 b([-LP])630
-2600 y Ft(Prin)m(t)24 b(the)h(absolute)g(pathname)g(of)f(the)h(curren)m
+(supplied.)150 2504 y Fs(pwd)870 2634 y(pwd)47 b([-LP])630
+2765 y Ft(Prin)m(t)24 b(the)h(absolute)g(pathname)g(of)f(the)h(curren)m
 (t)f(w)m(orking)h(directory)-8 b(.)40 b(If)23 b(the)i(`)p
-Fs(-P)p Ft(')f(option)630 2710 y(is)36 b(supplied,)f(the)h(pathname)f
+Fs(-P)p Ft(')f(option)630 2874 y(is)36 b(supplied,)f(the)h(pathname)f
 (prin)m(ted)g(will)h(not)g(con)m(tain)h(sym)m(b)s(olic)f(links.)55
-b(If)35 b(the)h(`)p Fs(-L)p Ft(')630 2819 y(option)44
+b(If)35 b(the)h(`)p Fs(-L)p Ft(')630 2984 y(option)44
 b(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 2929 y(return)26
+(sym)m(b)s(olic)f(links.)80 b(The)630 3093 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 3039 y(of)k(the)f(curren)m(t)g
+(while)h(determining)f(the)g(name)630 3203 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 3203 y Fs(readonly)870 3340 y(readonly)46 b([-aAf])g([-p])g([)p
-Fi(name)11 b Fs([=)p Fi(value)g Fs(]])43 b(...)630 3477
+150 3354 y Fs(readonly)870 3484 y(readonly)46 b([-aAf])g([-p])g([)p
+Fi(name)11 b Fs([=)p Fi(value)g Fs(]])43 b(...)630 3614
 y Ft(Mark)24 b(eac)m(h)h Fq(name)k Ft(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 3587 y(subsequen)m(t)e(assignmen)m(t.)
+(b)s(e)g(c)m(hanged)g(b)m(y)630 3724 y(subsequen)m(t)e(assignmen)m(t.)
 39 b(If)22 b(the)h(`)p Fs(-f)p Ft(')f(option)i(is)e(supplied,)h(eac)m
-(h)h Fq(name)k Ft(refers)22 b(to)i(a)f(shell)630 3696
+(h)h Fq(name)k Ft(refers)22 b(to)i(a)f(shell)630 3833
 y(function.)39 b(The)26 b(`)p Fs(-a)p Ft(')h(option)g(means)g(eac)m(h)h
 Fq(name)k Ft(refers)26 b(to)i(an)e(indexed)h(arra)m(y)g(v)-5
-b(ariable;)630 3806 y(the)26 b(`)p Fs(-A)p Ft(')g(option)h(means)f(eac)
+b(ariable;)630 3943 y(the)26 b(`)p Fs(-A)p Ft(')g(option)h(means)f(eac)
 m(h)h Fq(name)32 b Ft(refers)25 b(to)i(an)f(asso)s(ciativ)m(e)j(arra)m
-(y)e(v)-5 b(ariable.)40 b(If)26 b(b)s(oth)630 3915 y(options)h(are)g
+(y)e(v)-5 b(ariable.)40 b(If)26 b(b)s(oth)630 4052 y(options)h(are)g
 (supplied,)f(`)p Fs(-A)p Ft(')g(tak)m(es)i(precedence.)40
 b(If)26 b(no)h Fq(name)32 b Ft(argumen)m(ts)26 b(are)h(giv)m(en,)i(or)
-630 4025 y(if)h(the)h(`)p Fs(-p)p Ft(')f(option)h(is)g(supplied,)e(a)i
+630 4162 y(if)h(the)h(`)p Fs(-p)p Ft(')f(option)h(is)g(supplied,)e(a)i
 (list)g(of)g(all)g(readonly)f(names)h(is)f(prin)m(ted.)41
-b(The)30 b(other)630 4134 y(options)36 b(ma)m(y)g(b)s(e)g(used)f(to)h
+b(The)30 b(other)630 4271 y(options)36 b(ma)m(y)g(b)s(e)g(used)f(to)h
 (restrict)h(the)f(output)f(to)h(a)h(subset)e(of)h(the)g(set)g(of)g
-(readonly)630 4244 y(names.)63 b(The)37 b(`)p Fs(-p)p
+(readonly)630 4381 y(names.)63 b(The)37 b(`)p Fs(-p)p
 Ft(')h(option)g(causes)g(output)f(to)i(b)s(e)e(displa)m(y)m(ed)h(in)g
-(a)g(format)g(that)g(ma)m(y)630 4354 y(b)s(e)32 b(reused)h(as)g(input.)
+(a)g(format)g(that)g(ma)m(y)630 4491 y(b)s(e)32 b(reused)h(as)g(input.)
 48 b(If)33 b(a)g(v)-5 b(ariable)34 b(name)f(is)h(follo)m(w)m(ed)g(b)m
 (y)f(=)p Fq(v)-5 b(alue)5 b Ft(,)35 b(the)e(v)-5 b(alue)33
-b(of)h(the)630 4463 y(v)-5 b(ariable)38 b(is)f(set)h(to)g
+b(of)h(the)630 4600 y(v)-5 b(ariable)38 b(is)f(set)h(to)g
 Fq(v)-5 b(alue)5 b Ft(.)62 b(The)37 b(return)f(status)h(is)h(zero)g
 (unless)e(an)h(in)m(v)-5 b(alid)38 b(option)g(is)630
-4573 y(supplied,)f(one)g(of)g(the)g Fq(name)42 b Ft(argumen)m(ts)37
+4710 y(supplied,)f(one)g(of)g(the)g Fq(name)42 b Ft(argumen)m(ts)37
 b(is)g(not)g(a)g(v)-5 b(alid)37 b(shell)g(v)-5 b(ariable)38
-b(or)e(function)630 4682 y(name,)31 b(or)f(the)h(`)p
+b(or)e(function)630 4819 y(name,)31 b(or)f(the)h(`)p
 Fs(-f)p Ft(')f(option)h(is)f(supplied)f(with)h(a)h(name)f(that)h(is)g
-(not)f(a)h(shell)g(function.)150 4847 y Fs(return)870
-4984 y(return)46 b([)p Fi(n)11 b Fs(])630 5121 y Ft(Cause)30
-b(a)g(shell)g(function)g(to)h(exit)f(with)g(the)g(return)f(v)-5
-b(alue)31 b Fq(n)p Ft(.)40 b(If)29 b Fq(n)h Ft(is)g(not)g(supplied,)f
-(the)630 5230 y(return)35 b(v)-5 b(alue)37 b(is)f(the)g(exit)h(status)f
-(of)h(the)f(last)h(command)f(executed)h(in)f(the)g(function.)630
-5340 y(This)21 b(ma)m(y)i(also)g(b)s(e)e(used)g(to)i(terminate)g
-(execution)g(of)f(a)h(script)f(b)s(eing)f(executed)i(with)f(the)p
+(not)f(a)h(shell)g(function.)150 4970 y Fs(return)870
+5100 y(return)46 b([)p Fi(n)11 b Fs(])630 5230 y Ft(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 Fq(n)g Ft(to)h(its)f(caller.)630 5340
+y(If)h Fq(n)h Ft(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)p
 eop end
 %%Page: 41 47
 TeXDict begin 41 46 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(41)630 299 y Fs(.)27
-b Ft(\(or)g Fs(source)p Ft(\))f(builtin,)i(returning)e(either)h
-Fq(n)g Ft(or)g(the)g(exit)h(status)g(of)f(the)g(last)h(command)630
-408 y(executed)46 b(within)f(the)g(script)g(as)h(the)f(exit)h(status)g
-(of)f(the)h(script.)85 b(An)m(y)45 b(command)630 518
-y(asso)s(ciated)30 b(with)e(the)g Fs(RETURN)f Ft(trap)h(is)g(executed)h
-(b)s(efore)f(execution)h(resumes)f(after)h(the)630 628
-y(function)38 b(or)f(script.)63 b(The)38 b(return)e(status)i(is)g
-(non-zero)h(if)e Fs(return)g Ft(is)g(used)g(outside)i(a)630
-737 y(function)30 b(and)g(not)g(during)g(the)g(execution)i(of)e(a)h
-(script)f(b)m(y)h Fs(.)f Ft(or)g Fs(source)p Ft(.)150
-883 y Fs(shift)870 1011 y(shift)46 b([)p Fi(n)11 b Fs(])630
-1139 y Ft(Shift)41 b(the)g(p)s(ositional)h(parameters)g(to)g(the)f
-(left)h(b)m(y)g Fq(n)p Ft(.)73 b(The)40 b(p)s(ositional)j(parameters)
-630 1249 y(from)34 b Fq(n)p Fs(+)p Ft(1)39 b(.)22 b(.)h(.)45
+b(Shell)30 b(Builtin)h(Commands)2069 b(41)630 299 y(executed)35
+b(in)f(the)h(function.)53 b Fs(return)33 b Ft(ma)m(y)i(also)g(b)s(e)f
+(used)f(to)j(terminate)f(execution)h(of)630 408 y(a)e(script)g(b)s
+(eing)g(executed)g(with)g(the)g Fs(.)g Ft(\()p Fs(source)p
+Ft(\))f(builtin,)h(returning)f(either)i Fq(n)e Ft(or)h(the)630
+518 y(exit)29 b(status)f(of)g(the)h(last)g(command)e(executed)i(within)
+f(the)g(script)g(as)g(the)g(exit)h(status)g(of)630 628
+y(the)34 b(script.)51 b(An)m(y)34 b(command)g(asso)s(ciated)h(with)f
+(the)g Fs(RETURN)e Ft(trap)i(is)g(executed)g(b)s(efore)630
+737 y(execution)d(resumes)e(after)i(the)f(function)f(or)h(script.)40
+b(The)30 b(return)f(status)h(is)g(non-zero)g(if)630 847
+y Fs(return)c Ft(is)i(used)f(outside)h(a)h(function)e(and)g(not)i
+(during)d(the)i(execution)h(of)f(a)h(script)e(b)m(y)h
+Fs(.)630 956 y Ft(or)i Fs(source)p Ft(.)150 1130 y Fs(shift)870
+1271 y(shift)46 b([)p Fi(n)11 b Fs(])630 1413 y Ft(Shift)41
+b(the)g(p)s(ositional)h(parameters)g(to)g(the)f(left)h(b)m(y)g
+Fq(n)p Ft(.)73 b(The)40 b(p)s(ositional)j(parameters)630
+1523 y(from)34 b Fq(n)p Fs(+)p Ft(1)39 b(.)22 b(.)h(.)45
 b Fs($#)34 b Ft(are)g(renamed)g(to)h Fs($1)k Ft(.)22
 b(.)g(.)46 b Fs($#)p Ft(-)p Fq(n)p Ft(.)51 b(P)m(arameters)36
-b(represen)m(ted)e(b)m(y)g(the)630 1358 y(n)m(um)m(b)s(ers)25
+b(represen)m(ted)e(b)m(y)g(the)630 1632 y(n)m(um)m(b)s(ers)25
 b Fs($#)i Ft(to)g Fs($#)p Ft(-)p Fq(n)p Fs(+)p Ft(1)g(are)g(unset.)39
 b Fq(n)26 b Ft(m)m(ust)h(b)s(e)f(a)i(non-negativ)m(e)h(n)m(um)m(b)s(er)
-c(less)i(than)g(or)630 1468 y(equal)33 b(to)h Fs($#)p
+c(less)i(than)g(or)630 1742 y(equal)33 b(to)h Fs($#)p
 Ft(.)47 b(If)33 b Fq(n)f Ft(is)h(zero)g(or)g(greater)h(than)f
 Fs($#)p Ft(,)g(the)g(p)s(ositional)g(parameters)g(are)h(not)630
-1577 y(c)m(hanged.)48 b(If)32 b Fq(n)g Ft(is)h(not)f(supplied,)h(it)g
+1851 y(c)m(hanged.)48 b(If)32 b Fq(n)g Ft(is)h(not)f(supplied,)h(it)g
 (is)f(assumed)g(to)h(b)s(e)f(1.)48 b(The)32 b(return)g(status)h(is)f
-(zero)630 1687 y(unless)e Fq(n)f Ft(is)i(greater)g(than)g
+(zero)630 1961 y(unless)e Fq(n)f Ft(is)i(greater)g(than)g
 Fs($#)e Ft(or)i(less)f(than)h(zero,)g(non-zero)g(otherwise.)150
-1833 y Fs(test)150 1943 y([)432 b Ft(Ev)-5 b(aluate)31
-b(a)g(conditional)g(expression)f Fq(expr)7 b Ft(.)40
-b(Eac)m(h)30 b(op)s(erator)h(and)e(op)s(erand)g(m)m(ust)h(b)s(e)g(a)630
-2052 y(separate)d(argumen)m(t.)40 b(Expressions)25 b(are)i(comp)s(osed)
-e(of)i(the)f(primaries)g(describ)s(ed)f(b)s(elo)m(w)630
-2162 y(in)34 b(Section)g(6.4)h([Bash)g(Conditional)f(Expressions],)h
-(page)g(80.)52 b Fs(test)33 b Ft(do)s(es)g(not)h(accept)630
-2271 y(an)m(y)27 b(options,)i(nor)d(do)s(es)h(it)g(accept)i(and)d
-(ignore)i(an)f(argumen)m(t)g(of)g(`)p Fs(--)p Ft(')g(as)h(signifying)f
-(the)630 2381 y(end)j(of)g(options.)630 2509 y(When)g(the)h
-Fs([)f Ft(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 Fs(])p Ft(.)630 2637
-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
-2746 y(order)30 b(of)h(precedence.)43 b(The)30 b(ev)-5
+2134 y Fs(test[B)150 2244 y([)870 2386 y(test)47 b Fi(expr)630
+2527 y Ft(Ev)-5 b(aluate)43 b(a)f(conditional)h(expression)f
+Fq(expr)48 b Ft(and)41 b(return)g(a)h(status)g(of)g(0)g(\(true\))h(or)f
+(1)630 2637 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
+2746 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
+2856 y(Expressions],)39 b(page)g(80.)64 b Fs(test)37
+b Ft(do)s(es)g(not)h(accept)i(an)m(y)e(options,)i(nor)e(do)s(es)f(it)h
+(accept)630 2966 y(and)30 b(ignore)h(an)f(argumen)m(t)h(of)f(`)p
+Fs(--)p Ft(')h(as)f(signifying)h(the)f(end)g(of)h(options.)630
+3107 y(When)f(the)h Fs([)f Ft(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 Fs(])p
+Ft(.)630 3249 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
+3358 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 2856 y(b)s(elo)m(w.)41 b(Op)s(erator)30
+(argumen)m(ts;)g(see)630 3468 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 3002 y Fs(!)f Fi(expr)210 b Ft(T)-8
-b(rue)30 b(if)g Fq(expr)37 b Ft(is)30 b(false.)630 3148
+(argumen)m(ts.)630 3641 y Fs(!)f Fi(expr)210 b Ft(T)-8
+b(rue)30 b(if)g Fq(expr)37 b Ft(is)30 b(false.)630 3815
 y Fs(\()g Fi(expr)40 b Fs(\))122 b Ft(Returns)23 b(the)h(v)-5
 b(alue)24 b(of)g Fq(expr)7 b Ft(.)37 b(This)23 b(ma)m(y)i(b)s(e)e(used)
-g(to)h(o)m(v)m(erride)h(the)f(normal)1110 3258 y(precedence)31
-b(of)f(op)s(erators.)630 3404 y Fi(expr1)39 b Fs(-a)30
-b Fi(expr2)1110 3513 y Ft(T)-8 b(rue)30 b(if)g(b)s(oth)g
+g(to)h(o)m(v)m(erride)h(the)f(normal)1110 3924 y(precedence)31
+b(of)f(op)s(erators.)630 4098 y Fi(expr1)39 b Fs(-a)30
+b Fi(expr2)1110 4208 y Ft(T)-8 b(rue)30 b(if)g(b)s(oth)g
 Fq(expr1)37 b Ft(and)30 b Fq(expr2)38 b Ft(are)30 b(true.)630
-3660 y Fi(expr1)39 b Fs(-o)30 b Fi(expr2)1110 3769 y
+4381 y Fi(expr1)39 b Fs(-o)30 b Fi(expr2)1110 4491 y
 Ft(T)-8 b(rue)30 b(if)g(either)h Fq(expr1)38 b Ft(or)30
-b Fq(expr2)37 b Ft(is)31 b(true.)630 3915 y(The)37 b
+b Fq(expr2)37 b Ft(is)31 b(true.)630 4664 y(The)37 b
 Fs(test)f Ft(and)g Fs([)h Ft(builtins)g(ev)-5 b(aluate)39
 b(conditional)f(expressions)f(using)g(a)g(set)h(of)f(rules)630
-4025 y(based)30 b(on)g(the)h(n)m(um)m(b)s(er)e(of)h(argumen)m(ts.)630
-4171 y(0)h(argumen)m(ts)1110 4281 y(The)f(expression)g(is)g(false.)630
-4427 y(1)h(argumen)m(t)1110 4536 y(The)f(expression)g(is)g(true)h(if)f
-(and)g(only)g(if)h(the)f(argumen)m(t)h(is)f(not)h(n)m(ull.)630
-4682 y(2)g(argumen)m(ts)1110 4792 y(If)f(the)h(\014rst)f(argumen)m(t)h
-(is)g(`)p Fs(!)p Ft(',)g(the)g(expression)g(is)g(true)f(if)h(and)f
-(only)h(if)g(the)1110 4902 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 5011 y(conditional)42 b(op)s(erators)f(\(see)g(Section)h(6.4)f
-([Bash)g(Conditional)g(Expres-)1110 5121 y(sions],)34
-b(page)f(80\),)i(the)e(expression)f(is)h(true)g(if)g(the)g(unary)e
-(test)j(is)f(true.)47 b(If)1110 5230 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 5340 y(false.)p eop end
+4774 y(based)30 b(on)g(the)h(n)m(um)m(b)s(er)e(of)h(argumen)m(ts.)630
+4947 y(0)h(argumen)m(ts)1110 5057 y(The)f(expression)g(is)g(false.)630
+5230 y(1)h(argumen)m(t)1110 5340 y(The)f(expression)g(is)g(true)h(if)f
+(and)g(only)g(if)h(the)f(argumen)m(t)h(is)f(not)h(n)m(ull.)p
+eop end
 %%Page: 42 48
 TeXDict begin 42 47 bop 150 -116 a Ft(42)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(3)g(argumen)m(ts)1110
-408 y(The)44 b(follo)m(wing)i(conditions)f(are)g(applied)f(in)g(the)g
-(order)g(listed.)84 b(If)44 b(the)1110 518 y(second)f(argumen)m(t)g(is)
-g(one)g(of)g(the)g(binary)f(conditional)i(op)s(erators)f(\(see)1110
-628 y(Section)h(6.4)g([Bash)g(Conditional)g(Expressions],)i(page)e
-(80\),)k(the)43 b(result)1110 737 y(of)h(the)h(expression)f(is)g(the)g
+b(Reference)g(Man)m(ual)630 299 y(2)g(argumen)m(ts)1110
+408 y(If)f(the)h(\014rst)f(argumen)m(t)h(is)g(`)p Fs(!)p
+Ft(',)g(the)g(expression)g(is)g(true)f(if)h(and)f(only)h(if)g(the)1110
+518 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
+628 y(conditional)42 b(op)s(erators)f(\(see)g(Section)h(6.4)f([Bash)g
+(Conditional)g(Expres-)1110 737 y(sions],)34 b(page)f(80\),)i(the)e
+(expression)f(is)h(true)g(if)g(the)g(unary)e(test)j(is)f(true.)47
+b(If)1110 847 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
+956 y(false.)630 1121 y(3)e(argumen)m(ts)1110 1230 y(The)44
+b(follo)m(wing)i(conditions)f(are)g(applied)f(in)g(the)g(order)g
+(listed.)84 b(If)44 b(the)1110 1340 y(second)f(argumen)m(t)g(is)g(one)g
+(of)g(the)g(binary)f(conditional)i(op)s(erators)f(\(see)1110
+1450 y(Section)h(6.4)g([Bash)g(Conditional)g(Expressions],)i(page)e
+(80\),)k(the)43 b(result)1110 1559 y(of)h(the)h(expression)f(is)g(the)g
 (result)g(of)h(the)f(binary)g(test)h(using)e(the)i(\014rst)1110
-847 y(and)31 b(third)g(argumen)m(ts)i(as)f(op)s(erands.)44
+1669 y(and)31 b(third)g(argumen)m(ts)i(as)f(op)s(erands.)44
 b(The)31 b(`)p Fs(-a)p Ft(')h(and)g(`)p Fs(-o)p Ft(')f(op)s(erators)i
-(are)1110 956 y(considered)25 b(binary)g(op)s(erators)g(when)f(there)i
-(are)f(three)h(argumen)m(ts.)39 b(If)25 b(the)1110 1066
+(are)1110 1778 y(considered)25 b(binary)g(op)s(erators)g(when)f(there)i
+(are)f(three)h(argumen)m(ts.)39 b(If)25 b(the)1110 1888
 y(\014rst)j(argumen)m(t)h(is)g(`)p Fs(!)p Ft(',)h(the)f(v)-5
 b(alue)29 b(is)g(the)g(negation)i(of)e(the)g(t)m(w)m(o-argumen)m(t)1110
-1176 y(test)38 b(using)f(the)g(second)g(and)g(third)f(argumen)m(ts.)61
-b(If)37 b(the)g(\014rst)f(argumen)m(t)1110 1285 y(is)j(exactly)i(`)p
+1998 y(test)38 b(using)f(the)g(second)g(and)g(third)f(argumen)m(ts.)61
+b(If)37 b(the)g(\014rst)f(argumen)m(t)1110 2107 y(is)j(exactly)i(`)p
 Fs(\()p Ft(')f(and)f(the)g(third)g(argumen)m(t)h(is)f(exactly)i(`)p
-Fs(\))p Ft(',)h(the)e(result)f(is)1110 1395 y(the)46
+Fs(\))p Ft(',)h(the)e(result)f(is)1110 2217 y(the)46
 b(one-argumen)m(t)g(test)h(of)f(the)f(second)h(argumen)m(t.)86
-b(Otherwise,)50 b(the)1110 1504 y(expression)30 b(is)h(false.)630
-1658 y(4)g(argumen)m(ts)1110 1767 y(If)h(the)i(\014rst)e(argumen)m(t)h
+b(Otherwise,)50 b(the)1110 2326 y(expression)30 b(is)h(false.)630
+2491 y(4)g(argumen)m(ts)1110 2600 y(If)h(the)i(\014rst)e(argumen)m(t)h
 (is)g(`)p Fs(!)p Ft(',)h(the)f(result)g(is)g(the)g(negation)h(of)f(the)
-g(three-)1110 1877 y(argumen)m(t)h(expression)f(comp)s(osed)h(of)f(the)
-h(remaining)g(argumen)m(ts.)50 b(Oth-)1110 1987 y(erwise,)34
+g(three-)1110 2710 y(argumen)m(t)h(expression)f(comp)s(osed)h(of)f(the)
+h(remaining)g(argumen)m(ts.)50 b(Oth-)1110 2819 y(erwise,)34
 b(the)f(expression)g(is)g(parsed)g(and)f(ev)-5 b(aluated)34
-b(according)h(to)e(prece-)1110 2096 y(dence)e(using)e(the)i(rules)f
-(listed)h(ab)s(o)m(v)m(e.)630 2250 y(5)g(or)f(more)h(argumen)m(ts)1110
-2359 y(The)43 b(expression)f(is)i(parsed)e(and)g(ev)-5
-b(aluated)45 b(according)f(to)f(precedence)1110 2469
+b(according)h(to)e(prece-)1110 2929 y(dence)e(using)e(the)i(rules)f
+(listed)h(ab)s(o)m(v)m(e.)630 3093 y(5)g(or)f(more)h(argumen)m(ts)1110
+3203 y(The)43 b(expression)f(is)i(parsed)e(and)g(ev)-5
+b(aluated)45 b(according)f(to)f(precedence)1110 3313
 y(using)30 b(the)g(rules)g(listed)h(ab)s(o)m(v)m(e.)630
-2622 y(When)40 b(used)f(with)g Fs(test)g Ft(or)h(`)p
+3477 y(When)40 b(used)f(with)g Fs(test)g Ft(or)h(`)p
 Fs([)p Ft(',)j(the)d(`)p Fs(<)p Ft(')g(and)f(`)p Fs(>)p
-Ft(')h(op)s(erators)g(sort)g(lexicographically)630 2732
-y(using)30 b(ASCI)s(I)f(ordering.)150 2885 y Fs(times)870
-3017 y(times)630 3148 y Ft(Prin)m(t)37 b(out)h(the)g(user)e(and)h
+Ft(')h(op)s(erators)g(sort)g(lexicographically)630 3587
+y(using)30 b(ASCI)s(I)f(ordering.)150 3751 y Fs(times)870
+3888 y(times)630 4025 y Ft(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 3258 y(return)29 b(status)i(is)f(zero.)150
-3411 y Fs(trap)870 3543 y(trap)47 b([-lp])f([)p Fi(arg)11
-b Fs(])46 b([)p Fi(sigspec)56 b Fs(...)o(])630 3674 y
+(hildren.)61 b(The)630 4134 y(return)29 b(status)i(is)f(zero.)150
+4299 y Fs(trap)870 4436 y(trap)47 b([-lp])f([)p Fi(arg)11
+b Fs(])46 b([)p Fi(sigspec)56 b Fs(...)o(])630 4573 y
 Ft(The)43 b(commands)f(in)h Fq(arg)51 b Ft(are)44 b(to)g(b)s(e)e(read)h
 (and)g(executed)h(when)e(the)h(shell)g(receiv)m(es)630
-3784 y(signal)36 b Fq(sigsp)s(ec)6 b Ft(.)55 b(If)35
+4682 y(signal)36 b Fq(sigsp)s(ec)6 b Ft(.)55 b(If)35
 b Fq(arg)44 b Ft(is)35 b(absen)m(t)h(\(and)f(there)g(is)g(a)h(single)g
 Fq(sigsp)s(ec)6 b Ft(\))35 b(or)h(equal)f(to)i(`)p Fs(-)p
-Ft(',)630 3893 y(eac)m(h)28 b(sp)s(eci\014ed)e(signal's)h(disp)s
+Ft(',)630 4792 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 4003 y(started.)63 b(If)37
+(the)i(shell)g(w)m(as)630 4902 y(started.)63 b(If)37
 b Fq(arg)46 b Ft(is)37 b(the)h(n)m(ull)g(string,)h(then)e(the)h(signal)
 h(sp)s(eci\014ed)d(b)m(y)i(eac)m(h)h Fq(sigsp)s(ec)k
-Ft(is)630 4113 y(ignored)36 b(b)m(y)g(the)g(shell)g(and)g(commands)f
+Ft(is)630 5011 y(ignored)36 b(b)m(y)g(the)g(shell)g(and)g(commands)f
 (it)i(in)m(v)m(ok)m(es.)59 b(If)35 b Fq(arg)45 b Ft(is)36
-b(not)g(presen)m(t)g(and)f(`)p Fs(-p)p Ft(')630 4222
+b(not)g(presen)m(t)g(and)f(`)p Fs(-p)p Ft(')630 5121
 y(has)e(b)s(een)g(supplied,)f(the)i(shell)f(displa)m(ys)h(the)f(trap)g
-(commands)g(asso)s(ciated)i(with)e(eac)m(h)630 4332 y
+(commands)g(asso)s(ciated)i(with)e(eac)m(h)630 5230 y
 Fq(sigsp)s(ec)6 b Ft(.)40 b(If)28 b(no)g(argumen)m(ts)h(are)g
 (supplied,)f(or)g(only)h(`)p Fs(-p)p Ft(')f(is)g(giv)m(en,)i
-Fs(trap)e Ft(prin)m(ts)g(the)g(list)630 4441 y(of)g(commands)f(asso)s
+Fs(trap)e Ft(prin)m(ts)g(the)g(list)630 5340 y(of)g(commands)f(asso)s
 (ciated)i(with)f(eac)m(h)h(signal)f(n)m(um)m(b)s(er)e(in)i(a)g(form)f
-(that)h(ma)m(y)h(b)s(e)e(reused)630 4551 y(as)34 b(shell)g(input.)51
-b(The)33 b(`)p Fs(-l)p Ft(')h(option)g(causes)h(the)f(shell)g(to)h
-(prin)m(t)e(a)i(list)f(of)g(signal)h(names)630 4661 y(and)j(their)h
-(corresp)s(onding)f(n)m(um)m(b)s(ers.)65 b(Eac)m(h)39
-b Fq(sigsp)s(ec)45 b Ft(is)39 b(either)g(a)g(signal)h(name)f(or)g(a)630
-4770 y(signal)27 b(n)m(um)m(b)s(er.)39 b(Signal)27 b(names)f(are)h
-(case)h(insensitiv)m(e)g(and)e(the)g Fs(SIG)g Ft(pre\014x)g(is)h
-(optional.)630 4902 y(If)35 b(a)g Fq(sigsp)s(ec)41 b
-Ft(is)35 b Fs(0)g Ft(or)g Fs(EXIT)p Ft(,)g Fq(arg)43
-b Ft(is)35 b(executed)h(when)e(the)h(shell)h(exits.)55
-b(If)35 b(a)g Fq(sigsp)s(ec)41 b Ft(is)630 5011 y Fs(DEBUG)p
+(that)h(ma)m(y)h(b)s(e)e(reused)p eop end
+%%Page: 43 49
+TeXDict begin 43 48 bop 150 -116 a Ft(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(43)630 299 y(as)34
+b(shell)g(input.)51 b(The)33 b(`)p Fs(-l)p Ft(')h(option)g(causes)h
+(the)f(shell)g(to)h(prin)m(t)e(a)i(list)f(of)g(signal)h(names)630
+408 y(and)j(their)h(corresp)s(onding)f(n)m(um)m(b)s(ers.)65
+b(Eac)m(h)39 b Fq(sigsp)s(ec)45 b Ft(is)39 b(either)g(a)g(signal)h
+(name)f(or)g(a)630 518 y(signal)27 b(n)m(um)m(b)s(er.)39
+b(Signal)27 b(names)f(are)h(case)h(insensitiv)m(e)g(and)e(the)g
+Fs(SIG)g Ft(pre\014x)g(is)h(optional.)630 660 y(If)35
+b(a)g Fq(sigsp)s(ec)41 b Ft(is)35 b Fs(0)g Ft(or)g Fs(EXIT)p
+Ft(,)g Fq(arg)43 b Ft(is)35 b(executed)h(when)e(the)h(shell)h(exits.)55
+b(If)35 b(a)g Fq(sigsp)s(ec)41 b Ft(is)630 770 y Fs(DEBUG)p
 Ft(,)32 b(the)g(command)g Fq(arg)40 b Ft(is)33 b(executed)g(b)s(efore)f
 (ev)m(ery)h(simple)f(command,)h Fs(for)e Ft(com-)630
-5121 y(mand,)d Fs(case)g Ft(command,)h Fs(select)e Ft(command,)i(ev)m
-(ery)h(arithmetic)g Fs(for)d Ft(command,)j(and)630 5230
+879 y(mand,)d Fs(case)g Ft(command,)h Fs(select)e Ft(command,)i(ev)m
+(ery)h(arithmetic)g Fs(for)d Ft(command,)j(and)630 989
 y(b)s(efore)22 b(the)g(\014rst)f(command)h(executes)i(in)e(a)g(shell)h
 (function.)37 b(Refer)22 b(to)h(the)g(description)f(of)630
-5340 y(the)i Fs(extdebug)d Ft(option)j(to)h(the)f Fs(shopt)e
-Ft(builtin)h(\(see)i(Section)f(4.3.2)i([The)d(Shopt)g(Builtin],)p
-eop end
-%%Page: 43 49
-TeXDict begin 43 48 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(43)630 299 y(page)33
-b(57\))g(for)f(details)h(of)f(its)h(e\013ect)g(on)f(the)g
-Fs(DEBUG)f Ft(trap.)46 b(If)31 b(a)i Fq(sigsp)s(ec)38
-b Ft(is)32 b Fs(RETURN)p Ft(,)f(the)630 408 y(command)h
+1098 y(the)i Fs(extdebug)d Ft(option)j(to)h(the)f Fs(shopt)e
+Ft(builtin)h(\(see)i(Section)f(4.3.2)i([The)d(Shopt)g(Builtin],)630
+1208 y(page)33 b(58\))g(for)f(details)h(of)f(its)h(e\013ect)g(on)f(the)
+g Fs(DEBUG)f Ft(trap.)46 b(If)31 b(a)i Fq(sigsp)s(ec)38
+b Ft(is)32 b Fs(RETURN)p Ft(,)f(the)630 1318 y(command)h
 Fq(arg)41 b Ft(is)33 b(executed)g(eac)m(h)h(time)f(a)g(shell)g
-(function)g(or)f(a)h(script)g(executed)g(with)630 518
+(function)g(or)f(a)h(script)g(executed)g(with)630 1427
 y(the)e Fs(.)f Ft(or)g Fs(source)f Ft(builtins)g(\014nishes)h
-(executing.)630 651 y(If)g(a)i Fq(sigsp)s(ec)k Ft(is)31
+(executing.)630 1569 y(If)g(a)i Fq(sigsp)s(ec)k Ft(is)31
 b Fs(ERR)p Ft(,)f(the)h(command)g Fq(arg)39 b Ft(is)31
-b(executed)g(whenev)m(er)g(a)g(simple)g(command)630 761
+b(executed)g(whenev)m(er)g(a)g(simple)g(command)630 1679
 y(has)k(a)h(non-zero)h(exit)f(status,)i(sub)5 b(ject)35
 b(to)h(the)g(follo)m(wing)h(conditions.)57 b(The)35 b
-Fs(ERR)g Ft(trap)630 870 y(is)30 b(not)f(executed)i(if)e(the)h(failed)g
-(command)g(is)f(part)h(of)f(the)h(command)f(list)i(immediately)630
-980 y(follo)m(wing)47 b(an)d Fs(until)g Ft(or)h Fs(while)f
+Fs(ERR)g Ft(trap)630 1788 y(is)30 b(not)f(executed)i(if)e(the)h(failed)
+g(command)g(is)f(part)h(of)f(the)h(command)f(list)i(immediately)630
+1898 y(follo)m(wing)47 b(an)d Fs(until)g Ft(or)h Fs(while)f
 Ft(k)m(eyw)m(ord,)49 b(part)c(of)g(the)h(test)g(follo)m(wing)g(the)f
-Fs(if)g Ft(or)630 1090 y Fs(elif)d Ft(reserv)m(ed)i(w)m(ords,)j(part)c
+Fs(if)g Ft(or)630 2007 y Fs(elif)d Ft(reserv)m(ed)i(w)m(ords,)j(part)c
 (of)h(a)g(command)f(executed)i(in)e(a)h Fs(&&)f Ft(or)h
-Fs(||)f Ft(list,)k(or)d(if)630 1199 y(the)c(command's)g(return)f
+Fs(||)f Ft(list,)k(or)d(if)630 2117 y(the)c(command's)g(return)f
 (status)h(is)g(b)s(eing)f(in)m(v)m(erted)i(using)f Fs(!)p
-Ft(.)68 b(These)40 b(are)g(the)h(same)630 1309 y(conditions)31
+Ft(.)68 b(These)40 b(are)g(the)h(same)630 2227 y(conditions)31
 b(ob)s(ey)m(ed)f(b)m(y)h(the)f Fs(errexit)f Ft(option.)630
-1442 y(Signals)37 b(ignored)f(up)s(on)f(en)m(try)i(to)g(the)f(shell)h
+2369 y(Signals)37 b(ignored)f(up)s(on)f(en)m(try)i(to)g(the)f(shell)h
 (cannot)g(b)s(e)f(trapp)s(ed)f(or)h(reset.)59 b(T)-8
-b(rapp)s(ed)630 1552 y(signals)28 b(that)f(are)h(not)f(b)s(eing)g
+b(rapp)s(ed)630 2478 y(signals)28 b(that)f(are)h(not)f(b)s(eing)g
 (ignored)g(are)g(reset)h(to)g(their)f(original)h(v)-5
-b(alues)28 b(in)e(a)i(subshell)630 1661 y(or)i(subshell)g(en)m
-(vironmen)m(t)h(when)e(one)i(is)f(created.)630 1794 y(The)g(return)f
+b(alues)28 b(in)e(a)i(subshell)630 2588 y(or)i(subshell)g(en)m
+(vironmen)m(t)h(when)e(one)i(is)f(created.)630 2730 y(The)g(return)f
 (status)i(is)f(zero)h(unless)f(a)h Fq(sigsp)s(ec)36 b
 Ft(do)s(es)30 b(not)h(sp)s(ecify)f(a)g(v)-5 b(alid)31
-b(signal.)150 1951 y Fs(umask)870 2084 y(umask)46 b([-p])h([-S])g([)p
-Fi(mode)11 b Fs(])630 2218 y Ft(Set)29 b(the)h(shell)f(pro)s(cess's)g
+b(signal.)150 2904 y Fs(umask)870 3046 y(umask)46 b([-p])h([-S])g([)p
+Fi(mode)11 b Fs(])630 3188 y Ft(Set)29 b(the)h(shell)f(pro)s(cess's)g
 (\014le)g(creation)h(mask)f(to)h Fq(mo)s(de)5 b Ft(.)40
 b(If)28 b Fq(mo)s(de)34 b Ft(b)s(egins)29 b(with)f(a)i(digit,)630
-2327 y(it)e(is)f(in)m(terpreted)g(as)g(an)g(o)s(ctal)i(n)m(um)m(b)s
+3297 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 2437 y(mask)i(similar)g(to)g(that)h(accepted)g(b)m(y)f
+(mo)s(de)630 3407 y(mask)i(similar)g(to)g(that)h(accepted)g(b)m(y)f
 (the)g Fs(chmod)e Ft(command.)40 b(If)28 b Fq(mo)s(de)34
-b Ft(is)28 b(omitted,)j(the)630 2546 y(curren)m(t)36
+b Ft(is)28 b(omitted,)j(the)630 3517 y(curren)m(t)36
 b(v)-5 b(alue)36 b(of)g(the)h(mask)f(is)g(prin)m(ted.)57
 b(If)35 b(the)h(`)p Fs(-S)p Ft(')g(option)h(is)f(supplied)f(without)h
-(a)630 2656 y Fq(mo)s(de)k Ft(argumen)m(t,)d(the)e(mask)g(is)g(prin)m
+(a)630 3626 y Fq(mo)s(de)k Ft(argumen)m(t,)d(the)e(mask)g(is)g(prin)m
 (ted)g(in)g(a)h(sym)m(b)s(olic)f(format.)55 b(If)35 b(the)g(`)p
-Fs(-p)p Ft(')g(option)630 2766 y(is)f(supplied,)f(and)g
+Fs(-p)p Ft(')g(option)630 3736 y(is)f(supplied,)f(and)g
 Fq(mo)s(de)38 b Ft(is)33 b(omitted,)j(the)e(output)f(is)g(in)h(a)g
-(form)f(that)h(ma)m(y)g(b)s(e)f(reused)630 2875 y(as)e(input.)41
+(form)f(that)h(ma)m(y)g(b)s(e)f(reused)630 3845 y(as)e(input.)41
 b(The)31 b(return)f(status)h(is)g(zero)h(if)e(the)h(mo)s(de)g(is)g
-(successfully)g(c)m(hanged)g(or)g(if)g(no)630 2985 y
+(successfully)g(c)m(hanged)g(or)g(if)g(no)630 3955 y
 Fq(mo)s(de)k Ft(argumen)m(t)c(is)f(supplied,)g(and)f(non-zero)i
-(otherwise.)630 3118 y(Note)38 b(that)e(when)g(the)g(mo)s(de)g(is)g(in)
+(otherwise.)630 4097 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 3228 y(the)f(umask)g(is)h(subtracted)f(from)f
+m(b)s(er)d(of)630 4207 y(the)f(umask)g(is)h(subtracted)f(from)f
 Fs(7)p Ft(.)53 b(Th)m(us,)34 b(a)h(umask)e(of)i Fs(022)e
-Ft(results)h(in)g(p)s(ermissions)630 3337 y(of)d Fs(755)p
-Ft(.)150 3494 y Fs(unset)870 3627 y(unset)46 b([-fv])h([)p
-Fi(name)11 b Fs(])630 3760 y Ft(Eac)m(h)39 b(v)-5 b(ariable)38
-b(or)g(function)g Fq(name)43 b Ft(is)38 b(remo)m(v)m(ed.)64
-b(If)38 b(the)g(`)p Fs(-v)p Ft(')f(option)i(is)f(giv)m(en,)j(eac)m(h)
-630 3870 y Fq(name)27 b Ft(refers)21 b(to)i(a)f(shell)g(v)-5
-b(ariable)23 b(and)e(that)h(v)-5 b(ariable)23 b(is)f(rem)m(v)m(o)m(v)m
-(ed.)40 b(If)21 b(the)h(`)p Fs(-f)p Ft(')g(option)g(is)630
-3980 y(giv)m(en,)27 b(the)d Fq(name)5 b Ft(s)25 b(refer)f(to)h(shell)g
-(functions,)g(and)f(the)g(function)g(de\014nition)g(is)h(remo)m(v)m
-(ed.)630 4089 y(If)i(no)g(options)g(are)g(supplied,)g(eac)m(h)h
-Fq(name)33 b Ft(refers)26 b(to)i(a)g(v)-5 b(ariable;)29
-b(if)e(there)g(is)g(no)g(v)-5 b(ariable)630 4199 y(b)m(y)34
+Ft(results)h(in)g(p)s(ermissions)630 4316 y(of)d Fs(755)p
+Ft(.)150 4490 y Fs(unset)870 4632 y(unset)46 b([-fv])h([)p
+Fi(name)11 b Fs(])630 4774 y Ft(Remo)m(v)m(e)32 b(eac)m(h)g(v)-5
+b(ariable)32 b(or)e(function)h Fq(name)5 b Ft(.)42 b(If)30
+b(the)h(`)p Fs(-v)p Ft(')f(option)h(is)g(giv)m(en,)h(eac)m(h)g
+Fq(name)630 4884 y Ft(refers)20 b(to)i(a)f(shell)g(v)-5
+b(ariable)21 b(and)g(that)g(v)-5 b(ariable)22 b(is)e(rem)m(v)m(o)m(v)m
+(ed.)40 b(If)20 b(the)h(`)p Fs(-f)p Ft(')g(option)g(is)g(giv)m(en,)630
+4994 y(the)37 b Fq(name)5 b Ft(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 5103 y(no)33 b(options)h(are)g(supplied,)f(eac)m(h)h
+Fq(name)k Ft(refers)33 b(to)h(a)g(v)-5 b(ariable;)36
+b(if)d(there)h(is)f(no)g(v)-5 b(ariable)630 5213 y(b)m(y)34
 b(that)h(name,)h(an)m(y)f(function)f(with)h(that)g(name)f(is)h(unset.)
-52 b(Readonly)35 b(v)-5 b(ariables)36 b(and)630 4308
+52 b(Readonly)35 b(v)-5 b(ariables)36 b(and)630 5322
 y(functions)23 b(ma)m(y)h(not)g(b)s(e)f(unset.)38 b(The)23
 b(return)f(status)i(is)f(zero)h(unless)f(a)h Fq(name)29
-b Ft(is)23 b(readonly)-8 b(.)150 4538 y Fr(4.2)68 b(Bash)45
-b(Builtin)g(Commands)150 4698 y Ft(This)c(section)h(describ)s(es)f
+b Ft(is)23 b(readonly)-8 b(.)p eop end
+%%Page: 44 50
+TeXDict begin 44 49 bop 150 -116 a Ft(44)2572 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y Fr(4.2)68 b(Bash)45
+b(Builtin)g(Commands)150 458 y Ft(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 4807 y(Bash.)g(Some)30 b(of)h(these)g
+(b)s(een)f(extended)g(in)150 568 y(Bash.)g(Some)30 b(of)h(these)g
 (commands)f(are)g(sp)s(eci\014ed)g(in)g(the)h Fl(posix)e
-Ft(standard.)150 4964 y Fs(alias)870 5097 y(alias)46
-b([-p])h([)p Fi(name)11 b Fs([=)p Fi(value)g Fs(])43
-b(...)o(])630 5230 y Ft(Without)h(argumen)m(ts)f(or)g(with)g(the)h(`)p
+Ft(standard.)150 717 y Fs(alias)870 847 y(alias)46 b([-p])h([)p
+Fi(name)11 b Fs([=)p Fi(value)g Fs(])43 b(...)o(])630
+976 y Ft(Without)h(argumen)m(ts)f(or)g(with)g(the)h(`)p
 Fs(-p)p Ft(')f(option,)k Fs(alias)41 b Ft(prin)m(ts)i(the)g(list)h(of)f
-(aliases)630 5340 y(on)36 b(the)g(standard)f(output)h(in)f(a)i(form)e
+(aliases)630 1086 y(on)36 b(the)g(standard)f(output)h(in)f(a)i(form)e
 (that)i(allo)m(ws)g(them)f(to)g(b)s(e)g(reused)f(as)h(input.)56
-b(If)p eop end
-%%Page: 44 50
-TeXDict begin 44 49 bop 150 -116 a Ft(44)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(argumen)m(ts)e(are)g(supplied,)f(an)h
-(alias)h(is)f(de\014ned)e(for)i(eac)m(h)h Fq(name)k Ft(whose)28
-b Fq(v)-5 b(alue)35 b Ft(is)29 b(giv)m(en.)630 408 y(If)39
+b(If)630 1196 y(argumen)m(ts)29 b(are)g(supplied,)f(an)h(alias)h(is)f
+(de\014ned)e(for)i(eac)m(h)h Fq(name)k Ft(whose)28 b
+Fq(v)-5 b(alue)35 b Ft(is)29 b(giv)m(en.)630 1305 y(If)39
 b(no)h Fq(v)-5 b(alue)45 b Ft(is)40 b(giv)m(en,)j(the)d(name)f(and)g(v)
 -5 b(alue)40 b(of)g(the)g(alias)h(is)f(prin)m(ted.)68
-b(Aliases)41 b(are)630 518 y(describ)s(ed)29 b(in)h(Section)i(6.6)f
-([Aliases],)h(page)f(83.)150 676 y Fs(bind)870 810 y(bind)47
-b([-m)g Fi(keymap)11 b Fs(])45 b([-lpsvPSV])870 920 y(bind)i([-m)g
-Fi(keymap)11 b Fs(])45 b([-q)i Fi(function)11 b Fs(])45
-b([-u)h Fi(function)11 b Fs(])45 b([-r)i Fi(keyseq)11
-b Fs(])870 1029 y(bind)47 b([-m)g Fi(keymap)11 b Fs(])45
-b(-f)i Fi(filename)870 1139 y Fs(bind)g([-m)g Fi(keymap)11
-b Fs(])45 b(-x)i Fi(keyseq:shell-command)870 1249 y Fs(bind)g([-m)g
+b(Aliases)41 b(are)630 1415 y(describ)s(ed)29 b(in)h(Section)i(6.6)f
+([Aliases],)h(page)f(83.)150 1564 y Fs(bind)870 1694
+y(bind)47 b([-m)g Fi(keymap)11 b Fs(])45 b([-lpsvPSV])870
+1803 y(bind)i([-m)g Fi(keymap)11 b Fs(])45 b([-q)i Fi(function)11
+b Fs(])45 b([-u)h Fi(function)11 b Fs(])45 b([-r)i Fi(keyseq)11
+b Fs(])870 1913 y(bind)47 b([-m)g Fi(keymap)11 b Fs(])45
+b(-f)i Fi(filename)870 2022 y Fs(bind)g([-m)g Fi(keymap)11
+b Fs(])45 b(-x)i Fi(keyseq:shell-command)870 2132 y Fs(bind)g([-m)g
 Fi(keymap)11 b Fs(])45 b Fi(keyseq:function-name)870
-1358 y Fs(bind)i Fi(readline-command)630 1492 y Ft(Displa)m(y)26
+2242 y Fs(bind)i Fi(readline-command)630 2371 y Ft(Displa)m(y)26
 b(curren)m(t)f(Readline)h(\(see)g(Chapter)f(8)g([Command)g(Line)g
-(Editing],)i(page)f(97\))g(k)m(ey)630 1602 y(and)36 b(function)g
+(Editing],)i(page)f(97\))g(k)m(ey)630 2481 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 1711 y(or)44 b(set)h(a)g(Readline)f(v)-5
+(function)f(or)h(macro,)630 2590 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 1821 y(w)m(ould)e(app)s(ear)f(in)h(a)h(Readline)
+(command)f(as)g(it)630 2700 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 1931 y(File],)c(page)d(100\),)j(but)c(eac)m(h)h(binding)f(or)g
+630 2809 y(File],)c(page)d(100\),)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
-2040 y(argumen)m(t;)31 b(e.g.,)h(`)p Fs("\\C-x\\C-r":re-read-init-f)o
-(ile)p Ft('.)630 2174 y(Options,)e(if)h(supplied,)e(ha)m(v)m(e)i(the)g
-(follo)m(wing)h(meanings:)630 2332 y Fs(-m)e Fi(keymap)1110
-2442 y Ft(Use)54 b Fq(k)m(eymap)j Ft(as)d(the)g(k)m(eymap)g(to)h(b)s(e)
-e(a\013ected)i(b)m(y)f(the)g(subsequen)m(t)1110 2552
+2919 y(argumen)m(t;)31 b(e.g.,)h(`)p Fs("\\C-x\\C-r":re-read-init-f)o
+(ile)p Ft('.)630 3049 y(Options,)e(if)h(supplied,)e(ha)m(v)m(e)i(the)g
+(follo)m(wing)h(meanings:)630 3198 y Fs(-m)e Fi(keymap)1110
+3308 y Ft(Use)54 b Fq(k)m(eymap)j Ft(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 3417
 y(bindings.)46 b(Acceptable)34 b Fq(k)m(eymap)i Ft(names)c(are)h
-Fs(emacs)p Ft(,)f Fs(emacs-standard)p Ft(,)1110 2661
+Fs(emacs)p Ft(,)f Fs(emacs-standard)p Ft(,)1110 3527
 y Fs(emacs-meta)p Ft(,)99 b Fs(emacs-ctlx)p Ft(,)f Fs(vi)p
 Ft(,)j Fs(vi-move)p Ft(,)f Fs(vi-command)p Ft(,)f(and)1110
-2771 y Fs(vi-insert)p Ft(.)64 b Fs(vi)38 b Ft(is)h(equiv)-5
+3636 y Fs(vi-insert)p Ft(.)64 b Fs(vi)38 b Ft(is)h(equiv)-5
 b(alen)m(t)41 b(to)e Fs(vi-command)p Ft(;)i Fs(emacs)c
-Ft(is)i(equiv)-5 b(alen)m(t)1110 2880 y(to)31 b Fs(emacs-standard)p
-Ft(.)630 3039 y Fs(-l)384 b Ft(List)31 b(the)f(names)g(of)h(all)g
-(Readline)g(functions.)630 3197 y Fs(-p)384 b Ft(Displa)m(y)34
+Ft(is)i(equiv)-5 b(alen)m(t)1110 3746 y(to)31 b Fs(emacs-standard)p
+Ft(.)630 3895 y Fs(-l)384 b Ft(List)31 b(the)f(names)g(of)h(all)g
+(Readline)g(functions.)630 4045 y Fs(-p)384 b Ft(Displa)m(y)34
 b(Readline)f(function)g(names)g(and)f(bindings)f(in)i(suc)m(h)f(a)i(w)m
-(a)m(y)f(that)1110 3306 y(they)e(can)f(b)s(e)g(used)g(as)g(input)g(or)g
-(in)g(a)h(Readline)g(initialization)i(\014le.)630 3465
+(a)m(y)f(that)1110 4154 y(they)e(can)f(b)s(e)g(used)g(as)g(input)g(or)g
+(in)g(a)h(Readline)g(initialization)i(\014le.)630 4304
 y Fs(-P)384 b Ft(List)31 b(curren)m(t)f(Readline)h(function)f(names)g
-(and)g(bindings.)630 3623 y Fs(-v)384 b Ft(Displa)m(y)25
+(and)g(bindings.)630 4453 y Fs(-v)384 b Ft(Displa)m(y)25
 b(Readline)f(v)-5 b(ariable)25 b(names)f(and)f(v)-5 b(alues)24
-b(in)g(suc)m(h)f(a)i(w)m(a)m(y)f(that)h(they)1110 3733
+b(in)g(suc)m(h)f(a)i(w)m(a)m(y)f(that)h(they)1110 4563
 y(can)31 b(b)s(e)e(used)h(as)h(input)e(or)h(in)g(a)h(Readline)g
-(initialization)j(\014le.)630 3891 y Fs(-V)384 b Ft(List)31
+(initialization)j(\014le.)630 4712 y Fs(-V)384 b Ft(List)31
 b(curren)m(t)f(Readline)h(v)-5 b(ariable)31 b(names)f(and)g(v)-5
-b(alues.)630 4049 y Fs(-s)384 b Ft(Displa)m(y)39 b(Readline)f(k)m(ey)g
+b(alues.)630 4862 y Fs(-s)384 b Ft(Displa)m(y)39 b(Readline)f(k)m(ey)g
 (sequences)f(b)s(ound)f(to)i(macros)g(and)f(the)g(strings)1110
-4159 y(they)d(output)f(in)h(suc)m(h)f(a)h(w)m(a)m(y)h(that)f(they)g
-(can)g(b)s(e)f(used)g(as)h(input)e(or)i(in)g(a)1110 4268
-y(Readline)d(initialization)i(\014le.)630 4427 y Fs(-S)384
+4971 y(they)d(output)f(in)h(suc)m(h)f(a)h(w)m(a)m(y)h(that)f(they)g
+(can)g(b)s(e)f(used)g(as)h(input)e(or)i(in)g(a)1110 5081
+y(Readline)d(initialization)i(\014le.)630 5230 y Fs(-S)384
 b Ft(Displa)m(y)39 b(Readline)f(k)m(ey)g(sequences)f(b)s(ound)f(to)i
-(macros)g(and)f(the)g(strings)1110 4536 y(they)31 b(output.)630
-4695 y Fs(-f)f Fi(filename)1110 4804 y Ft(Read)h(k)m(ey)g(bindings)e
-(from)h Fq(\014lename)5 b Ft(.)630 4963 y Fs(-q)30 b
-Fi(function)1110 5072 y Ft(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 Fq(function)p Ft(.)630 5230
-y Fs(-u)g Fi(function)1110 5340 y Ft(Un)m(bind)f(all)i(k)m(eys)g(b)s
-(ound)e(to)i(the)f(named)g Fq(function)p Ft(.)p eop end
+(macros)g(and)f(the)g(strings)1110 5340 y(they)31 b(output.)p
+eop end
 %%Page: 45 51
 TeXDict begin 45 50 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(45)630 299 y Fs(-r)30
-b Fi(keyseq)1110 408 y Ft(Remo)m(v)m(e)i(an)m(y)f(curren)m(t)f(binding)
-f(for)h Fq(k)m(eyseq)r Ft(.)630 564 y Fs(-x)g Fi(keyseq:shell-command)
-1110 674 y Ft(Cause)35 b Fq(shell-command)k Ft(to)d(b)s(e)f(executed)h
+b(Shell)30 b(Builtin)h(Commands)2069 b(45)630 299 y Fs(-f)30
+b Fi(filename)1110 408 y Ft(Read)h(k)m(ey)g(bindings)e(from)h
+Fq(\014lename)5 b Ft(.)630 564 y Fs(-q)30 b Fi(function)1110
+673 y Ft(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 Fq(function)p Ft(.)630 829 y Fs(-u)g Fi(function)1110
+938 y Ft(Un)m(bind)f(all)i(k)m(eys)g(b)s(ound)e(to)i(the)f(named)g
+Fq(function)p Ft(.)630 1093 y Fs(-r)g Fi(keyseq)1110
+1203 y Ft(Remo)m(v)m(e)i(an)m(y)f(curren)m(t)f(binding)f(for)h
+Fq(k)m(eyseq)r Ft(.)630 1358 y Fs(-x)g Fi(keyseq:shell-command)1110
+1468 y Ft(Cause)35 b Fq(shell-command)k Ft(to)d(b)s(e)f(executed)h
 (whenev)m(er)f Fq(k)m(eyseq)j Ft(is)d(en)m(tered.)1110
-783 y(When)46 b Fq(shell-command)k Ft(is)c(executed,)51
-b(the)46 b(shell)g(sets)g(the)g Fs(READLINE_)1110 893
+1577 y(When)46 b Fq(shell-command)k Ft(is)c(executed,)51
+b(the)46 b(shell)g(sets)g(the)g Fs(READLINE_)1110 1687
 y(LINE)37 b Ft(v)-5 b(ariable)38 b(to)g(the)g(con)m(ten)m(ts)i(of)e
-(the)g(Readline)g(line)g(bu\013er)f(and)g(the)1110 1003
+(the)g(Readline)g(line)g(bu\013er)f(and)g(the)1110 1797
 y Fs(READLINE_POINT)e Ft(v)-5 b(ariable)39 b(to)h(the)e(curren)m(t)h
-(lo)s(cation)h(of)f(the)g(insertion)1110 1112 y(p)s(oin)m(t.)59
+(lo)s(cation)h(of)f(the)g(insertion)1110 1906 y(p)s(oin)m(t.)59
 b(If)37 b(the)f(executed)i(command)e(c)m(hanges)i(the)f(v)-5
-b(alue)37 b(of)f Fs(READLINE_)1110 1222 y(LINE)29 b Ft(or)h
+b(alue)37 b(of)f Fs(READLINE_)1110 2016 y(LINE)29 b Ft(or)h
 Fs(READLINE_POINT)p Ft(,)c(those)31 b(new)e(v)-5 b(alues)31
-b(will)f(b)s(e)f(re\015ected)i(in)f(the)1110 1331 y(editing)h(state.)
-630 1487 y(The)26 b(return)f(status)i(is)f(zero)i(unless)d(an)i(in)m(v)
+b(will)f(b)s(e)f(re\015ected)i(in)f(the)1110 2125 y(editing)h(state.)
+630 2281 y(The)26 b(return)f(status)i(is)f(zero)i(unless)d(an)i(in)m(v)
 -5 b(alid)27 b(option)g(is)f(supplied)f(or)i(an)f(error)g(o)s(ccurs.)
-150 1643 y Fs(builtin)870 1775 y(builtin)46 b([)p Fi(shell-builtin)54
-b Fs([)p Fi(args)11 b Fs(]])630 1908 y Ft(Run)35 b(a)h(shell)h
+150 2436 y Fs(builtin)870 2568 y(builtin)46 b([)p Fi(shell-builtin)54
+b Fs([)p Fi(args)11 b Fs(]])630 2701 y Ft(Run)35 b(a)h(shell)h
 (builtin,)g(passing)f(it)g Fq(args)t Ft(,)i(and)e(return)f(its)h(exit)h
-(status.)58 b(This)36 b(is)g(useful)630 2018 y(when)29
+(status.)58 b(This)36 b(is)g(useful)630 2810 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 2127 y(the)k(functionalit)m(y)h
+(a)g(shell)f(builtin,)g(retaining)630 2920 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 2237 y(zero)e(if)g
+b(return)g(status)h(is)f(non-)630 3029 y(zero)e(if)g
 Fq(shell-builtin)f Ft(is)g(not)h(a)g(shell)f(builtin)g(command.)150
-2393 y Fs(caller)870 2525 y(caller)46 b([)p Fi(expr)11
-b Fs(])630 2658 y Ft(Returns)34 b(the)g(con)m(text)j(of)e(an)m(y)g
+3185 y Fs(caller)870 3317 y(caller)46 b([)p Fi(expr)11
+b Fs(])630 3450 y Ft(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 2768 y(executed)c(with)f(the)h Fs(.)f Ft(or)g
-Fs(source)f Ft(builtins\).)630 2900 y(Without)45 b Fq(expr)7
+(script)630 3559 y(executed)c(with)f(the)h Fs(.)f Ft(or)g
+Fs(source)f Ft(builtins\).)630 3692 y(Without)45 b Fq(expr)7
 b Ft(,)46 b Fs(caller)d Ft(displa)m(ys)h(the)g(line)g(n)m(um)m(b)s(er)f
-(and)g(source)h(\014lename)h(of)f(the)630 3010 y(curren)m(t)35
+(and)g(source)h(\014lename)h(of)f(the)630 3801 y(curren)m(t)35
 b(subroutine)f(call.)56 b(If)35 b(a)h(non-negativ)m(e)h(in)m(teger)g
 (is)e(supplied)f(as)h Fq(expr)7 b Ft(,)36 b Fs(caller)630
-3119 y Ft(displa)m(ys)41 b(the)f(line)h(n)m(um)m(b)s(er,)h(subroutine)d
+3911 y Ft(displa)m(ys)41 b(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
-3229 y(that)c(p)s(osition)g(in)f(the)h(curren)m(t)f(execution)i(call)g
+4020 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
-3339 y(b)s(e)30 b(used,)g(for)g(example,)h(to)g(prin)m(t)f(a)h(stac)m
+4130 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
-3471 y(The)e(return)f(v)-5 b(alue)29 b(is)h(0)f(unless)g(the)g(shell)g
+4262 y(The)e(return)f(v)-5 b(alue)29 b(is)h(0)f(unless)g(the)g(shell)g
 (is)h(not)f(executing)h(a)g(subroutine)e(call)i(or)g
-Fq(expr)630 3581 y Ft(do)s(es)g(not)h(corresp)s(ond)e(to)i(a)g(v)-5
+Fq(expr)630 4372 y Ft(do)s(es)g(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
-3737 y Fs(command)870 3869 y(command)46 b([-pVv])g Fi(command)56
-b Fs([)p Fi(arguments)g Fs(...)o(])630 4002 y Ft(Runs)31
+4527 y Fs(command)870 4660 y(command)46 b([-pVv])g Fi(command)56
+b Fs([)p Fi(arguments)g Fs(...)o(])630 4792 y Ft(Runs)31
 b Fq(command)36 b Ft(with)d Fq(argumen)m(ts)j Ft(ignoring)d(an)m(y)g
-(shell)g(function)f(named)g Fq(command)t Ft(.)630 4111
+(shell)g(function)f(named)g Fq(command)t Ft(.)630 4902
 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 Fs(PATH)f Ft(are)630 4221 y(executed.)g(If)23
+h(searc)m(hing)h(the)f Fs(PATH)f Ft(are)630 5011 y(executed.)g(If)23
 b(there)h(is)f(a)h(shell)f(function)g(named)g Fs(ls)p
 Ft(,)i(running)c(`)p Fs(command)29 b(ls)p Ft(')23 b(within)g(the)630
-4331 y(function)33 b(will)g(execute)i(the)f(external)g(command)f
+5121 y(function)33 b(will)g(execute)i(the)f(external)g(command)f
 Fs(ls)f Ft(instead)i(of)f(calling)i(the)e(function)630
-4440 y(recursiv)m(ely)-8 b(.)84 b(The)44 b(`)p Fs(-p)p
+5230 y(recursiv)m(ely)-8 b(.)84 b(The)44 b(`)p Fs(-p)p
 Ft(')h(option)g(means)f(to)h(use)g(a)f(default)h(v)-5
-b(alue)45 b(for)f Fs(PATH)g Ft(that)h(is)630 4550 y(guaran)m(teed)35
+b(alue)45 b(for)f Fs(PATH)g Ft(that)h(is)630 5340 y(guaran)m(teed)35
 b(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 4659
-y(is)29 b(127)g(if)g Fq(command)j Ft(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
-4769 y Fq(command)34 b Ft(otherwise.)630 4902 y(If)25
-b(either)g(the)h(`)p Fs(-V)p Ft(')f(or)g(`)p Fs(-v)p
-Ft(')g(option)g(is)g(supplied,)h(a)f(description)g(of)h
-Fq(command)i Ft(is)d(prin)m(ted.)630 5011 y(The)i(`)p
+b(The)33 b(return)g(status)h(in)f(this)h(case)p eop end
+%%Page: 46 52
+TeXDict begin 46 51 bop 150 -116 a Ft(46)2572 b(Bash)31
+b(Reference)g(Man)m(ual)630 299 y(is)e(127)g(if)g Fq(command)j
+Ft(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 408 y Fq(command)34 b Ft(otherwise.)630
+536 y(If)25 b(either)g(the)h(`)p Fs(-V)p Ft(')f(or)g(`)p
+Fs(-v)p Ft(')g(option)g(is)g(supplied,)h(a)f(description)g(of)h
+Fq(command)i Ft(is)d(prin)m(ted.)630 646 y(The)i(`)p
 Fs(-v)p Ft(')h(option)h(causes)f(a)h(single)f(w)m(ord)g(indicating)h
-(the)f(command)g(or)g(\014le)g(name)g(used)630 5121 y(to)36
+(the)f(command)g(or)g(\014le)g(name)g(used)630 756 y(to)36
 b(in)m(v)m(ok)m(e)g Fq(command)j Ft(to)c(b)s(e)g(displa)m(y)m(ed;)j
 (the)d(`)p Fs(-V)p Ft(')g(option)g(pro)s(duces)e(a)j(more)f(v)m(erb)s
-(ose)630 5230 y(description.)61 b(In)36 b(this)h(case,)j(the)e(return)e
+(ose)630 865 y(description.)61 b(In)36 b(this)h(case,)j(the)e(return)e
 (status)h(is)g(zero)h(if)f Fq(command)k Ft(is)c(found,)h(and)630
-5340 y(non-zero)31 b(if)f(not.)p eop end
-%%Page: 46 52
-TeXDict begin 46 51 bop 150 -116 a Ft(46)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fs(declare)870 439
-y(declare)46 b([-aAfFilrtux])e([-p])j([)p Fi(name)11
-b Fs([=)p Fi(value)g Fs(])43 b(...)o(])630 579 y Ft(Declare)29
+975 y(non-zero)31 b(if)f(not.)150 1121 y Fs(declare)870
+1249 y(declare)46 b([-aAfFgilrtux])e([-p])i([)p Fi(name)11
+b Fs([=)p Fi(value)g Fs(])44 b(...)o(])630 1377 y Ft(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 Fq(name)5 b Ft(s)27 b(are)h(giv)m(en,)h(then)e(displa)m
-(y)630 689 y(the)k(v)-5 b(alues)30 b(of)h(v)-5 b(ariables)31
-b(instead.)630 829 y(The)c(`)p Fs(-p)p Ft(')h(option)g(will)g(displa)m
+(y)630 1486 y(the)k(v)-5 b(alues)30 b(of)h(v)-5 b(ariables)31
+b(instead.)630 1614 y(The)c(`)p Fs(-p)p Ft(')h(option)g(will)g(displa)m
 (y)g(the)g(attributes)g(and)g(v)-5 b(alues)28 b(of)g(eac)m(h)h
 Fq(name)5 b Ft(.)40 b(When)27 b(`)p Fs(-p)p Ft(')630
-939 y(is)j(used)g(with)g Fq(name)36 b Ft(argumen)m(ts,)31
-b(additional)g(options)f(are)h(ignored.)630 1079 y(When)36
+1724 y(is)j(used)g(with)g Fq(name)36 b Ft(argumen)m(ts,)31
+b(additional)g(options)f(are)h(ignored.)630 1851 y(When)36
 b(`)p Fs(-p)p Ft(')f(is)h(supplied)f(without)h Fq(name)41
 b Ft(argumen)m(ts,)d Fs(declare)c Ft(will)i(displa)m(y)g(the)g(at-)630
-1189 y(tributes)31 b(and)f(v)-5 b(alues)31 b(of)g(all)h(v)-5
+1961 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 1298 y(tional)h(options.)41 b(If)30
+(the)g(addi-)630 2071 y(tional)h(options.)41 b(If)30
 b(no)g(other)h(options)g(are)g(supplied)e(with)h(`)p
 Fs(-p)p Ft(',)g Fs(declare)f Ft(will)i(displa)m(y)630
-1408 y(the)f(attributes)g(and)e(v)-5 b(alues)30 b(of)g(all)g(shell)g(v)
+2180 y(the)f(attributes)g(and)e(v)-5 b(alues)30 b(of)g(all)g(shell)g(v)
 -5 b(ariables.)41 b(The)29 b(`)p Fs(-f)p Ft(')g(option)h(will)g
-(restrict)g(the)630 1518 y(displa)m(y)h(to)g(shell)f(functions.)630
-1658 y(The)36 b(`)p Fs(-F)p Ft(')h(option)g(inhibits)f(the)h(displa)m
+(restrict)g(the)630 2290 y(displa)m(y)h(to)g(shell)f(functions.)630
+2418 y(The)36 b(`)p Fs(-F)p Ft(')h(option)g(inhibits)f(the)h(displa)m
 (y)g(of)g(function)g(de\014nitions;)i(only)e(the)g(function)630
-1767 y(name)30 b(and)f(attributes)i(are)f(prin)m(ted.)40
+2527 y(name)30 b(and)f(attributes)i(are)f(prin)m(ted.)40
 b(If)30 b(the)g Fs(extdebug)e Ft(shell)i(option)g(is)g(enabled)g(using)
-630 1877 y Fs(shopt)24 b Ft(\(see)i(Section)g(4.3.2)i([The)d(Shopt)f
-(Builtin],)k(page)e(57\),)i(the)d(source)h(\014le)f(name)h(and)630
-1987 y(line)38 b(n)m(um)m(b)s(er)e(where)i(the)g(function)f(is)h
+630 2637 y Fs(shopt)24 b Ft(\(see)i(Section)g(4.3.2)i([The)d(Shopt)f
+(Builtin],)k(page)e(58\),)i(the)d(source)h(\014le)f(name)h(and)630
+2746 y(line)38 b(n)m(um)m(b)s(er)e(where)i(the)g(function)f(is)h
 (de\014ned)e(are)i(displa)m(y)m(ed)h(as)e(w)m(ell.)64
-b(`)p Fs(-F)p Ft(')38 b(implies)630 2096 y(`)p Fs(-f)p
-Ft('.)630 2236 y(The)32 b(`)p Fs(-g)p Ft(')h(option)g(forces)g(v)-5
+b(`)p Fs(-F)p Ft(')38 b(implies)630 2856 y(`)p Fs(-f)p
+Ft('.)630 2984 y(The)32 b(`)p Fs(-g)p Ft(')h(option)g(forces)g(v)-5
 b(ariables)33 b(to)h(b)s(e)e(created)h(or)g(mo)s(di\014ed)e(at)j(the)f
-(global)h(scop)s(e,)630 2346 y(ev)m(en)k(when)e Fs(declare)f
+(global)h(scop)s(e,)630 3093 y(ev)m(en)k(when)e Fs(declare)f
 Ft(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 2456 y(cases.)630
-2596 y(The)27 b(follo)m(wing)h(options)g(can)f(b)s(e)g(used)f(to)i
+b(is)g(ignored)h(in)f(all)h(other)630 3203 y(cases.)630
+3331 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 2705 y(i\014ed)j(attributes)h(or)f(to)h(giv)m(e)h(v)-5
-b(ariables)31 b(attributes:)630 2876 y Fs(-a)384 b Ft(Eac)m(h)36
+630 3440 y(i\014ed)j(attributes)h(or)f(to)h(giv)m(e)h(v)-5
+b(ariables)31 b(attributes:)630 3587 y Fs(-a)384 b Ft(Eac)m(h)36
 b Fq(name)k Ft(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
-2986 y(page)31 b(84\).)630 3157 y Fs(-A)384 b Ft(Eac)m(h)24
+3696 y(page)31 b(84\).)630 3842 y Fs(-A)384 b Ft(Eac)m(h)24
 b Fq(name)k Ft(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
-3267 y(page)31 b(84\).)630 3438 y Fs(-f)384 b Ft(Use)31
-b(function)f(names)g(only)-8 b(.)630 3608 y Fs(-i)384
+3952 y(page)31 b(84\).)630 4098 y Fs(-f)384 b Ft(Use)31
+b(function)f(names)g(only)-8 b(.)630 4244 y Fs(-i)384
 b Ft(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
-3718 y(\(see)29 b(Section)f(6.5)h([Shell)f(Arithmetic],)i(page)e(82\))h
-(is)f(p)s(erformed)e(when)h(the)1110 3828 y(v)-5 b(ariable)31
-b(is)g(assigned)f(a)h(v)-5 b(alue.)630 3999 y Fs(-l)384
+4354 y(\(see)29 b(Section)f(6.5)h([Shell)f(Arithmetic],)i(page)e(82\))h
+(is)f(p)s(erformed)e(when)h(the)1110 4463 y(v)-5 b(ariable)31
+b(is)g(assigned)f(a)h(v)-5 b(alue.)630 4609 y Fs(-l)384
 b Ft(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
-4108 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 4279
+4719 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 4865
 y Fs(-r)384 b Ft(Mak)m(e)25 b Fq(name)5 b Ft(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 4389 y(b)m(y)30 b(subsequen)m(t)g(assignmen)m(t)h
-(statemen)m(ts)h(or)f(unset.)630 4560 y Fs(-t)384 b Ft(Giv)m(e)33
+b(alues)1110 4975 y(b)m(y)30 b(subsequen)m(t)g(assignmen)m(t)h
+(statemen)m(ts)h(or)f(unset.)630 5121 y Fs(-t)384 b Ft(Giv)m(e)33
 b(eac)m(h)h Fq(name)j Ft(the)32 b Fs(trace)f Ft(attribute.)46
-b(T)-8 b(raced)32 b(functions)g(inherit)g(the)1110 4669
+b(T)-8 b(raced)32 b(functions)g(inherit)g(the)1110 5230
 y Fs(DEBUG)26 b Ft(and)h Fs(RETURN)f Ft(traps)h(from)g(the)h(calling)h
-(shell.)40 b(The)27 b(trace)i(attribute)1110 4779 y(has)h(no)g(sp)s
-(ecial)h(meaning)g(for)f(v)-5 b(ariables.)630 4950 y
-Fs(-u)384 b Ft(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
-5059 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 5230
-y Fs(-x)384 b Ft(Mark)30 b(eac)m(h)h Fq(name)k Ft(for)29
-b(exp)s(ort)h(to)g(subsequen)m(t)f(commands)h(via)g(the)g(en)m(vi-)1110
-5340 y(ronmen)m(t.)p eop end
+(shell.)40 b(The)27 b(trace)i(attribute)1110 5340 y(has)h(no)g(sp)s
+(ecial)h(meaning)g(for)f(v)-5 b(ariables.)p eop end
 %%Page: 47 53
 TeXDict begin 47 52 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(47)630 299 y(Using)28
-b(`)p Fs(+)p Ft(')h(instead)f(of)g(`)p Fs(-)p Ft(')g(turns)f(o\013)i
-(the)f(attribute)h(instead,)g(with)f(the)g(exceptions)h(that)630
-408 y(`)p Fs(+a)p Ft(')h(ma)m(y)h(not)f(b)s(e)f(used)g(to)i(destro)m(y)
-g(an)f(arra)m(y)g(v)-5 b(ariable)31 b(and)f(`)p Fs(+r)p
-Ft(')g(will)g(not)g(remo)m(v)m(e)i(the)630 518 y(readonly)e(attribute.)
-41 b(When)30 b(used)f(in)g(a)h(function,)g Fs(declare)e
-Ft(mak)m(es)j(eac)m(h)f Fq(name)35 b Ft(lo)s(cal,)630
-628 y(as)30 b(with)g(the)h Fs(local)e Ft(command,)h(unless)f(the)i(`)p
+b(Shell)30 b(Builtin)h(Commands)2069 b(47)630 299 y Fs(-u)384
+b Ft(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
+408 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 559
+y Fs(-x)384 b Ft(Mark)30 b(eac)m(h)h Fq(name)k Ft(for)29
+b(exp)s(ort)h(to)g(subsequen)m(t)f(commands)h(via)g(the)g(en)m(vi-)1110
+669 y(ronmen)m(t.)630 819 y(Using)e(`)p Fs(+)p Ft(')h(instead)f(of)g(`)
+p Fs(-)p Ft(')g(turns)f(o\013)i(the)f(attribute)h(instead,)g(with)f
+(the)g(exceptions)h(that)630 929 y(`)p Fs(+a)p Ft(')h(ma)m(y)h(not)f(b)
+s(e)f(used)g(to)i(destro)m(y)g(an)f(arra)m(y)g(v)-5 b(ariable)31
+b(and)f(`)p Fs(+r)p Ft(')g(will)g(not)g(remo)m(v)m(e)i(the)630
+1039 y(readonly)e(attribute.)41 b(When)30 b(used)f(in)g(a)h(function,)g
+Fs(declare)e Ft(mak)m(es)j(eac)m(h)f Fq(name)35 b Ft(lo)s(cal,)630
+1148 y(as)30 b(with)g(the)h Fs(local)e Ft(command,)h(unless)f(the)i(`)p
 Fs(-g)p Ft(')f(option)g(is)h(used.)40 b(If)29 b(a)i(v)-5
-b(ariable)31 b(name)630 737 y(is)f(follo)m(w)m(ed)i(b)m(y)f(=)p
+b(ariable)31 b(name)630 1258 y(is)f(follo)m(w)m(ed)i(b)m(y)f(=)p
 Fq(v)-5 b(alue)5 b Ft(,)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 Fq(v)-5 b(alue)5 b Ft(.)630
-867 y(The)35 b(return)f(status)i(is)g(zero)g(unless)f(an)g(in)m(v)-5
+1388 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
-977 y(is)c(made)g(to)g(de\014ne)f(a)h(function)g(using)f(`)p
+1498 y(is)c(made)g(to)g(de\014ne)f(a)h(function)g(using)f(`)p
 Fs(-f)f(foo=bar)p Ft(',)h(an)h(attempt)g(is)g(made)g(to)h(assign)630
-1087 y(a)42 b(v)-5 b(alue)43 b(to)g(a)f(readonly)g(v)-5
+1607 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 1196 y(arra)m(y)30 b(v)-5 b(ariable)30
+b(alue)42 b(to)h(an)630 1717 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 1306 y([Arra)m(ys],)47 b(page)c(84\),)48
+(\(see)h(Section)f(6.7)630 1826 y([Arra)m(ys],)47 b(page)c(84\),)48
 b(one)43 b(of)g(the)g Fq(names)k Ft(is)c(not)g(a)g(v)-5
 b(alid)43 b(shell)g(v)-5 b(ariable)44 b(name,)i(an)630
-1415 y(attempt)28 b(is)f(made)h(to)f(turn)f(o\013)i(readonly)f(status)g
+1936 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
-1525 y(is)h(made)h(to)g(turn)e(o\013)i(arra)m(y)f(status)h(for)f(an)g
+2045 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
-1634 y(displa)m(y)j(a)f(non-existen)m(t)i(function)e(with)g(`)p
-Fs(-f)p Ft('.)150 1785 y Fs(echo)870 1915 y(echo)47 b([-neE])f([)p
-Fi(arg)57 b Fs(...)o(])630 2045 y Ft(Output)31 b(the)i
+2155 y(displa)m(y)j(a)f(non-existen)m(t)i(function)e(with)g(`)p
+Fs(-f)p Ft('.)150 2306 y Fs(echo)870 2436 y(echo)47 b([-neE])f([)p
+Fi(arg)57 b Fs(...)o(])630 2566 y Ft(Output)31 b(the)i
 Fq(arg)8 b Ft(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 2155 y(status)27
+(a)h(newline.)47 b(The)32 b(return)630 2676 y(status)27
 b(is)g(0)h(unless)e(a)i(write)f(error)f(o)s(ccurs.)40
 b(If)26 b(`)p Fs(-n)p Ft(')h(is)g(sp)s(eci\014ed,)h(the)f(trailing)h
-(newline)f(is)630 2265 y(suppressed.)37 b(If)24 b(the)g(`)p
+(newline)f(is)630 2785 y(suppressed.)37 b(If)24 b(the)g(`)p
 Fs(-e)p Ft(')h(option)g(is)f(giv)m(en,)j(in)m(terpretation)f(of)e(the)h
-(follo)m(wing)h(bac)m(kslash-)630 2374 y(escap)s(ed)38
+(follo)m(wing)h(bac)m(kslash-)630 2895 y(escap)s(ed)38
 b(c)m(haracters)i(is)f(enabled.)65 b(The)38 b(`)p Fs(-E)p
 Ft(')g(option)h(disables)f(the)h(in)m(terpretation)h(of)630
-2484 y(these)27 b(escap)s(e)g(c)m(haracters,)i(ev)m(en)e(on)g(systems)f
+3004 y(these)27 b(escap)s(e)g(c)m(haracters,)i(ev)m(en)e(on)g(systems)f
 (where)g(they)h(are)g(in)m(terpreted)g(b)m(y)f(default.)630
-2593 y(The)32 b Fs(xpg_echo)f Ft(shell)i(option)g(ma)m(y)h(b)s(e)e
+3114 y(The)32 b Fs(xpg_echo)f Ft(shell)i(option)g(ma)m(y)h(b)s(e)e
 (used)g(to)h(dynamically)h(determine)f(whether)f(or)630
-2703 y(not)h Fs(echo)f Ft(expands)g(these)h(escap)s(e)h(c)m(haracters)g
+3224 y(not)h Fs(echo)f Ft(expands)g(these)h(escap)s(e)h(c)m(haracters)g
 (b)m(y)f(default.)48 b Fs(echo)32 b Ft(do)s(es)g(not)i(in)m(terpret)630
-2813 y(`)p Fs(--)p Ft(')c(to)h(mean)g(the)f(end)g(of)h(options.)630
-2943 y Fs(echo)e Ft(in)m(terprets)i(the)f(follo)m(wing)i(escap)s(e)f
-(sequences:)630 3093 y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630
-3244 y Fs(\\b)384 b Ft(bac)m(kspace)630 3395 y Fs(\\c)g
-Ft(suppress)28 b(further)h(output)630 3545 y Fs(\\e)630
-3655 y(\\E)384 b Ft(escap)s(e)630 3806 y Fs(\\f)g Ft(form)30
-b(feed)630 3956 y Fs(\\n)384 b Ft(new)30 b(line)630 4107
-y Fs(\\r)384 b Ft(carriage)32 b(return)630 4258 y Fs(\\t)384
-b Ft(horizon)m(tal)32 b(tab)630 4408 y Fs(\\v)384 b Ft(v)m(ertical)32
-b(tab)630 4559 y Fs(\\\\)384 b Ft(bac)m(kslash)630 4710
+3333 y(`)p Fs(--)p Ft(')c(to)h(mean)g(the)f(end)g(of)h(options.)630
+3463 y Fs(echo)e Ft(in)m(terprets)i(the)f(follo)m(wing)i(escap)s(e)f
+(sequences:)630 3614 y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630
+3765 y Fs(\\b)384 b Ft(bac)m(kspace)630 3915 y Fs(\\c)g
+Ft(suppress)28 b(further)h(output)630 4066 y Fs(\\e)630
+4176 y(\\E)384 b Ft(escap)s(e)630 4326 y Fs(\\f)g Ft(form)30
+b(feed)630 4477 y Fs(\\n)384 b Ft(new)30 b(line)630 4628
+y Fs(\\r)384 b Ft(carriage)32 b(return)630 4778 y Fs(\\t)384
+b Ft(horizon)m(tal)32 b(tab)630 4929 y Fs(\\v)384 b Ft(v)m(ertical)32
+b(tab)630 5080 y Fs(\\\\)384 b Ft(bac)m(kslash)630 5230
 y Fs(\\0)p Fi(nnn)240 b Ft(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 Fq(nnn)f Ft(\(zero)i(to)1110 4819 y(three)e(o)s(ctal)g
-(digits\))630 4970 y Fs(\\x)p Fi(HH)288 b Ft(the)40 b(eigh)m(t-bit)h(c)
-m(haracter)g(whose)e(v)-5 b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5
-b(alue)40 b Fq(HH)1110 5080 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
-(digits\))630 5230 y Fs(\\u)p Fi(HHHH)192 b Ft(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 5340 y(adecimal)32 b(v)-5
-b(alue)31 b Fq(HHHH)41 b Ft(\(one)31 b(to)g(four)e(hex)h(digits\))p
-eop end
+b(alue)32 b Fq(nnn)f Ft(\(zero)i(to)1110 5340 y(three)e(o)s(ctal)g
+(digits\))p eop end
 %%Page: 48 54
 TeXDict begin 48 53 bop 150 -116 a Ft(48)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y Fs(\\U)p Fi(HHHHHHHH)1110
-408 y Ft(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 518 y(adecimal)32
+b(Reference)g(Man)m(ual)630 299 y Fs(\\x)p Fi(HH)288
+b Ft(the)40 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e(v)-5
+b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5 b(alue)40 b
+Fq(HH)1110 408 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e(digits\))630
+563 y Fs(\\u)p Fi(HHHH)192 b Ft(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
+673 y(adecimal)32 b(v)-5 b(alue)31 b Fq(HHHH)41 b Ft(\(one)31
+b(to)g(four)e(hex)h(digits\))630 828 y Fs(\\U)p Fi(HHHHHHHH)1110
+938 y Ft(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 1047 y(adecimal)32
 b(v)-5 b(alue)31 b Fq(HHHHHHHH)41 b Ft(\(one)31 b(to)g(eigh)m(t)h(hex)e
-(digits\))150 684 y Fs(enable)870 822 y(enable)46 b([-a])h([-dnps])f
+(digits\))150 1202 y Fs(enable)870 1334 y(enable)46 b([-a])h([-dnps])f
 ([-f)g Fi(filename)11 b Fs(])45 b([)p Fi(name)57 b Fs(...)o(])630
-960 y Ft(Enable)36 b(and)f(disable)h(builtin)g(shell)g(commands.)56
+1467 y Ft(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
-1070 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 1180 y(sp)s(ecifying)27
+1576 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 1686 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 1289 y(b)s(efore)32
+(searc)m(hes)h(for)f(builtins)630 1795 y(b)s(efore)32
 b(disk)f(commands.)46 b(If)31 b(`)p Fs(-n)p Ft(')h(is)g(used,)g(the)g
 Fq(name)5 b Ft(s)32 b(b)s(ecome)h(disabled.)45 b(Otherwise)630
-1399 y Fq(name)5 b Ft(s)44 b(are)h(enabled.)82 b(F)-8
+1905 y Fq(name)5 b Ft(s)44 b(are)h(enabled.)82 b(F)-8
 b(or)45 b(example,)k(to)c(use)f(the)g Fs(test)f Ft(binary)h(found)f
-(via)h Fs($PATH)630 1508 y Ft(instead)31 b(of)f(the)h(shell)f(builtin)g
+(via)h Fs($PATH)630 2015 y Ft(instead)31 b(of)f(the)h(shell)f(builtin)g
 (v)m(ersion,)h(t)m(yp)s(e)g(`)p Fs(enable)e(-n)h(test)p
-Ft('.)630 1646 y(If)42 b(the)h(`)p Fs(-p)p Ft(')f(option)h(is)f
+Ft('.)630 2147 y(If)42 b(the)h(`)p Fs(-p)p Ft(')f(option)h(is)f
 (supplied,)j(or)d(no)h Fq(name)k Ft(argumen)m(ts)c(app)s(ear,)i(a)e
-(list)g(of)g(shell)630 1756 y(builtins)37 b(is)h(prin)m(ted.)63
+(list)g(of)g(shell)630 2256 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 1866 y(shell)33 b(builtins.)46 b(The)32
+(all)h(enabled)630 2366 y(shell)33 b(builtins.)46 b(The)32
 b(`)p Fs(-a)p Ft(')h(option)g(means)f(to)i(list)f(eac)m(h)h(builtin)e
-(with)g(an)g(indication)i(of)630 1975 y(whether)c(or)g(not)h(it)g(is)f
-(enabled.)630 2113 y(The)40 b(`)p Fs(-f)p Ft(')g(option)g(means)g(to)h
+(with)g(an)g(indication)i(of)630 2476 y(whether)c(or)g(not)h(it)g(is)f
+(enabled.)630 2608 y(The)40 b(`)p Fs(-f)p Ft(')g(option)g(means)g(to)h
 (load)g(the)f(new)f(builtin)h(command)g Fq(name)45 b
-Ft(from)40 b(shared)630 2223 y(ob)5 b(ject)26 b Fq(\014lename)5
+Ft(from)40 b(shared)630 2717 y(ob)5 b(ject)26 b Fq(\014lename)5
 b Ft(,)28 b(on)d(systems)h(that)g(supp)s(ort)e(dynamic)h(loading.)40
-b(The)25 b(`)p Fs(-d)p Ft(')h(option)g(will)630 2332
+b(The)25 b(`)p Fs(-d)p Ft(')h(option)g(will)630 2827
 y(delete)32 b(a)e(builtin)g(loaded)h(with)f(`)p Fs(-f)p
-Ft('.)630 2470 y(If)h(there)g(are)g(no)g(options,)h(a)f(list)h(of)f
+Ft('.)630 2959 y(If)h(there)g(are)g(no)g(options,)h(a)f(list)h(of)f
 (the)g(shell)g(builtins)g(is)g(displa)m(y)m(ed.)43 b(The)31
-b(`)p Fs(-s)p Ft(')f(option)630 2580 y(restricts)f Fs(enable)e
+b(`)p Fs(-s)p Ft(')f(option)630 3069 y(restricts)f Fs(enable)e
 Ft(to)i(the)f Fl(posix)g Ft(sp)s(ecial)h(builtins.)40
 b(If)27 b(`)p Fs(-s)p Ft(')i(is)f(used)g(with)g(`)p Fs(-f)p
-Ft(',)h(the)f(new)630 2690 y(builtin)i(b)s(ecomes)h(a)f(sp)s(ecial)h
+Ft(',)h(the)f(new)630 3178 y(builtin)i(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
-(62\).)630 2828 y(The)26 b(return)f(status)h(is)g(zero)h(unless)e(a)i
+(63\).)630 3311 y(The)26 b(return)f(status)h(is)g(zero)h(unless)e(a)i
 Fq(name)k Ft(is)26 b(not)g(a)h(shell)f(builtin)g(or)g(there)g(is)g(an)g
-(error)630 2937 y(loading)31 b(a)g(new)f(builtin)g(from)g(a)g(shared)g
-(ob)5 b(ject.)150 3104 y Fs(help)870 3242 y(help)47 b([-dms])f([)p
-Fi(pattern)11 b Fs(])630 3380 y Ft(Displa)m(y)40 b(helpful)e
+(error)630 3420 y(loading)31 b(a)g(new)f(builtin)g(from)g(a)g(shared)g
+(ob)5 b(ject.)150 3575 y Fs(help)870 3707 y(help)47 b([-dms])f([)p
+Fi(pattern)11 b Fs(])630 3840 y Ft(Displa)m(y)40 b(helpful)e
 (information)h(ab)s(out)g(builtin)f(commands.)66 b(If)38
-b Fq(pattern)h Ft(is)g(sp)s(eci\014ed,)630 3489 y Fs(help)28
+b Fq(pattern)h Ft(is)g(sp)s(eci\014ed,)630 3949 y Fs(help)28
 b Ft(giv)m(es)i(detailed)g(help)e(on)h(all)h(commands)e(matc)m(hing)i
-Fq(pattern)p Ft(,)g(otherwise)f(a)g(list)h(of)630 3599
-y(the)h(builtins)e(is)i(prin)m(ted.)630 3737 y(Options,)f(if)h
+Fq(pattern)p Ft(,)g(otherwise)f(a)g(list)h(of)630 4059
+y(the)h(builtins)e(is)i(prin)m(ted.)630 4191 y(Options,)f(if)h
 (supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h(meanings:)630
-3903 y Fs(-d)384 b Ft(Displa)m(y)32 b(a)e(short)g(description)h(of)f
-(eac)m(h)i Fq(pattern)630 4070 y Fs(-m)384 b Ft(Displa)m(y)32
+4346 y Fs(-d)384 b Ft(Displa)m(y)32 b(a)e(short)g(description)h(of)f
+(eac)m(h)i Fq(pattern)630 4501 y Fs(-m)384 b Ft(Displa)m(y)32
 b(the)e(description)g(of)h(eac)m(h)h Fq(pattern)e Ft(in)g(a)h
-(manpage-lik)m(e)h(format)630 4236 y Fs(-s)384 b Ft(Displa)m(y)32
+(manpage-lik)m(e)h(format)630 4656 y Fs(-s)384 b Ft(Displa)m(y)32
 b(only)e(a)h(short)f(usage)h(synopsis)e(for)i(eac)m(h)g
-Fq(pattern)630 4402 y Ft(The)f(return)f(status)i(is)f(zero)h(unless)f
-(no)g(command)h(matc)m(hes)g Fq(pattern)p Ft(.)150 4569
-y Fs(let)870 4707 y(let)47 b Fi(expression)55 b Fs([)p
-Fi(expression)11 b Fs(])630 4845 y Ft(The)41 b Fs(let)g
+Fq(pattern)630 4811 y Ft(The)f(return)f(status)i(is)f(zero)h(unless)f
+(no)g(command)h(matc)m(hes)g Fq(pattern)p Ft(.)150 4966
+y Fs(let)870 5098 y(let)47 b Fi(expression)55 b Fs([)p
+Fi(expression)h Fs(...)o(])630 5230 y Ft(The)41 b Fs(let)g
 Ft(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 4954 y Fq(expression)31
+(shell)g(v)-5 b(ariables.)74 b(Eac)m(h)630 5340 y Fq(expression)31
 b Ft(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 5064
-y(Arithmetic],)51 b(page)46 b(82.)87 b(If)45 b(the)g(last)h
-Fq(expression)g Ft(ev)-5 b(aluates)47 b(to)f(0,)k Fs(let)44
-b Ft(returns)g(1;)630 5174 y(otherwise)31 b(0)g(is)f(returned.)150
-5340 y Fs(local)p eop end
+h(b)s(elo)m(w)f(in)f(Section)i(6.5)g([Shell)p eop end
 %%Page: 49 55
 TeXDict begin 49 54 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(49)870 299 y Fs(local)46
-b([)p Fi(option)11 b Fs(])45 b Fi(name)11 b Fs([=)p Fi(value)g
-Fs(])44 b(...)630 432 y Ft(F)-8 b(or)26 b(eac)m(h)h(argumen)m(t,)g(a)e
-(lo)s(cal)i(v)-5 b(ariable)26 b(named)f Fq(name)31 b
-Ft(is)25 b(created,)j(and)d(assigned)g Fq(v)-5 b(alue)5
-b Ft(.)630 542 y(The)37 b Fq(option)h Ft(can)f(b)s(e)g(an)m(y)h(of)f
-(the)h(options)g(accepted)g(b)m(y)g Fs(declare)p Ft(.)59
-b Fs(local)36 b Ft(can)i(only)630 652 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 Fq(name)48 b Ft(ha)m(v)m(e)43 b(a)f(visible)h(scop)s(e)630
-761 y(restricted)c(to)g(that)g(function)f(and)f(its)i(c)m(hildren.)64
-b(The)38 b(return)f(status)h(is)h(zero)g(unless)630 871
-y Fs(local)g Ft(is)h(used)g(outside)g(a)h(function,)h(an)e(in)m(v)-5
-b(alid)41 b Fq(name)46 b Ft(is)40 b(supplied,)i(or)e
-Fq(name)45 b Ft(is)c(a)630 980 y(readonly)30 b(v)-5 b(ariable.)150
-1138 y Fs(logout)870 1271 y(logout)46 b([)p Fi(n)11 b
-Fs(])630 1405 y Ft(Exit)31 b(a)g(login)g(shell,)g(returning)e(a)i
-(status)g(of)f Fq(n)g Ft(to)h(the)g(shell's)f(paren)m(t.)150
-1563 y Fs(mapfile)870 1696 y(mapfile)46 b([-n)h Fi(count)11
-b Fs(])45 b([-O)i Fi(origin)11 b Fs(])46 b([-s)g Fi(count)11
-b Fs(])46 b([-t])h([-u)g Fi(fd)11 b Fs(])46 b([)870 1806
-y(-C)h Fi(callback)11 b Fs(])45 b([-c)i Fi(quantum)11
-b Fs(])45 b([)p Fi(array)11 b Fs(])630 1939 y Ft(Read)37
-b(lines)g(from)f(the)h(standard)f(input)g(in)m(to)h(the)g(indexed)f
-(arra)m(y)i(v)-5 b(ariable)37 b Fq(arra)m(y)8 b Ft(,)39
-b(or)630 2049 y(from)c(\014le)h(descriptor)g Fq(fd)j
-Ft(if)d(the)g(`)p Fs(-u)p Ft(')g(option)g(is)g(supplied.)56
+b(Shell)30 b(Builtin)h(Commands)2069 b(49)630 299 y(Arithmetic],)51
+b(page)46 b(82.)87 b(If)45 b(the)g(last)h Fq(expression)g
+Ft(ev)-5 b(aluates)47 b(to)f(0,)k Fs(let)44 b Ft(returns)g(1;)630
+408 y(otherwise)31 b(0)g(is)f(returned.)150 563 y Fs(local)870
+695 y(local)46 b([)p Fi(option)11 b Fs(])45 b Fi(name)11
+b Fs([=)p Fi(value)g Fs(])44 b(...)630 827 y Ft(F)-8
+b(or)26 b(eac)m(h)h(argumen)m(t,)g(a)e(lo)s(cal)i(v)-5
+b(ariable)26 b(named)f Fq(name)31 b Ft(is)25 b(created,)j(and)d
+(assigned)g Fq(v)-5 b(alue)5 b Ft(.)630 937 y(The)37
+b Fq(option)h Ft(can)f(b)s(e)g(an)m(y)h(of)f(the)h(options)g(accepted)g
+(b)m(y)g Fs(declare)p Ft(.)59 b Fs(local)36 b Ft(can)i(only)630
+1047 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 Fq(name)48 b Ft(ha)m(v)m(e)43
+b(a)f(visible)h(scop)s(e)630 1156 y(restricted)c(to)g(that)g(function)f
+(and)f(its)i(c)m(hildren.)64 b(The)38 b(return)f(status)h(is)h(zero)g
+(unless)630 1266 y Fs(local)g Ft(is)h(used)g(outside)g(a)h(function,)h
+(an)e(in)m(v)-5 b(alid)41 b Fq(name)46 b Ft(is)40 b(supplied,)i(or)e
+Fq(name)45 b Ft(is)c(a)630 1375 y(readonly)30 b(v)-5
+b(ariable.)150 1530 y Fs(logout)870 1662 y(logout)46
+b([)p Fi(n)11 b Fs(])630 1794 y Ft(Exit)31 b(a)g(login)g(shell,)g
+(returning)e(a)i(status)g(of)f Fq(n)g Ft(to)h(the)g(shell's)f(paren)m
+(t.)150 1949 y Fs(mapfile)870 2081 y(mapfile)46 b([-n)h
+Fi(count)11 b Fs(])45 b([-O)i Fi(origin)11 b Fs(])46
+b([-s)g Fi(count)11 b Fs(])46 b([-t])h([-u)g Fi(fd)11
+b Fs(])1061 2191 y([-C)47 b Fi(callback)11 b Fs(])45
+b([-c)i Fi(quantum)11 b Fs(])45 b([)p Fi(array)11 b Fs(])630
+2323 y Ft(Read)37 b(lines)g(from)f(the)h(standard)f(input)g(in)m(to)h
+(the)g(indexed)f(arra)m(y)i(v)-5 b(ariable)37 b Fq(arra)m(y)8
+b Ft(,)39 b(or)630 2433 y(from)c(\014le)h(descriptor)g
+Fq(fd)j Ft(if)d(the)g(`)p Fs(-u)p Ft(')g(option)g(is)g(supplied.)56
 b(The)35 b(v)-5 b(ariable)37 b Fs(MAPFILE)d Ft(is)630
-2158 y(the)d(default)f Fq(arra)m(y)8 b Ft(.)41 b(Options,)30
+2542 y(the)d(default)f Fq(arra)m(y)8 b Ft(.)41 b(Options,)30
 b(if)h(supplied,)e(ha)m(v)m(e)j(the)e(follo)m(wing)i(meanings:)630
-2316 y Fs(-n)384 b Ft(Cop)m(y)30 b(at)h(most)g Fq(coun)m(t)i
+2697 y Fs(-n)384 b Ft(Cop)m(y)30 b(at)h(most)g Fq(coun)m(t)i
 Ft(lines.)41 b(If)30 b Fq(coun)m(t)j Ft(is)d(0,)h(all)h(lines)e(are)h
-(copied.)630 2474 y Fs(-O)384 b Ft(Begin)31 b(assigning)g(to)g
+(copied.)630 2852 y Fs(-O)384 b Ft(Begin)31 b(assigning)g(to)g
 Fq(arra)m(y)39 b Ft(at)31 b(index)f Fq(origin)p Ft(.)41
-b(The)30 b(default)h(index)f(is)g(0.)630 2631 y Fs(-s)384
+b(The)30 b(default)h(index)f(is)g(0.)630 3006 y Fs(-s)384
 b Ft(Discard)31 b(the)f(\014rst)g Fq(coun)m(t)j Ft(lines)e(read.)630
-2789 y Fs(-t)384 b Ft(Remo)m(v)m(e)32 b(a)f(trailing)g(newline)g(from)f
-(eac)m(h)h(line)g(read.)630 2946 y Fs(-u)384 b Ft(Read)31
+3161 y Fs(-t)384 b Ft(Remo)m(v)m(e)32 b(a)f(trailing)g(newline)g(from)f
+(eac)m(h)h(line)g(read.)630 3316 y Fs(-u)384 b Ft(Read)31
 b(lines)f(from)g(\014le)h(descriptor)f Fq(fd)j Ft(instead)e(of)f(the)h
-(standard)e(input.)630 3104 y Fs(-C)384 b Ft(Ev)-5 b(aluate)43
+(standard)e(input.)630 3471 y Fs(-C)384 b Ft(Ev)-5 b(aluate)43
 b Fq(callbac)m(k)49 b Ft(eac)m(h)42 b(time)g Fq(quan)m(tum)p
 Ft(P)f(lines)h(are)f(read.)74 b(The)41 b(`)p Fs(-c)p
-Ft(')1110 3213 y(option)31 b(sp)s(eci\014es)f Fq(quan)m(tum)p
-Ft(.)630 3371 y Fs(-c)384 b Ft(Sp)s(ecify)30 b(the)g(n)m(um)m(b)s(er)f
+Ft(')1110 3580 y(option)31 b(sp)s(eci\014es)f Fq(quan)m(tum)p
+Ft(.)630 3735 y Fs(-c)384 b Ft(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
-Fq(callbac)m(k)6 b Ft(.)630 3528 y(If)36 b(`)p Fs(-C)p
+Fq(callbac)m(k)6 b Ft(.)630 3890 y(If)36 b(`)p Fs(-C)p
 Ft(')g(is)h(sp)s(eci\014ed)f(without)g(`)p Fs(-c)p Ft(',)i(the)f
 (default)f(quan)m(tum)g(is)h(5000.)61 b(When)36 b Fq(callbac)m(k)630
-3638 y Ft(is)e(ev)-5 b(aluated,)36 b(it)f(is)f(supplied)f(the)h(index)f
+3999 y Ft(is)e(ev)-5 b(aluated,)36 b(it)f(is)f(supplied)f(the)h(index)f
 (of)h(the)h(next)f(arra)m(y)g(elemen)m(t)i(to)e(b)s(e)g(assigned)630
-3748 y(and)f(the)g(line)h(to)f(b)s(e)g(assigned)g(to)h(that)g(elemen)m
+4109 y(and)f(the)g(line)h(to)f(b)s(e)g(assigned)g(to)h(that)g(elemen)m
 (t)h(as)e(additional)h(argumen)m(ts.)50 b Fq(callbac)m(k)630
-3857 y Ft(is)30 b(ev)-5 b(aluated)32 b(after)f(the)f(line)h(is)g(read)f
+4218 y Ft(is)30 b(ev)-5 b(aluated)32 b(after)f(the)f(line)h(is)g(read)f
 (but)g(b)s(efore)f(the)i(arra)m(y)g(elemen)m(t)h(is)e(assigned.)630
-3991 y(If)25 b(not)g(supplied)f(with)h(an)g(explicit)i(origin,)g
+4350 y(If)25 b(not)g(supplied)f(with)h(an)g(explicit)i(origin,)g
 Fs(mapfile)c Ft(will)j(clear)g Fq(arra)m(y)34 b Ft(b)s(efore)24
-b(assigning)630 4100 y(to)31 b(it.)630 4234 y Fs(mapfile)41
+b(assigning)630 4460 y(to)31 b(it.)630 4592 y Fs(mapfile)41
 b Ft(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
-4343 y(supplied,)29 b Fq(arra)m(y)39 b Ft(is)30 b(in)m(v)-5
+4702 y(supplied,)29 b Fq(arra)m(y)39 b Ft(is)30 b(in)m(v)-5
 b(alid)31 b(or)g(unassignable,)f(or)h Fq(arra)m(y)38
 b Ft(is)31 b(not)f(an)h(indexed)e(arra)m(y)-8 b(.)150
-4501 y Fs(printf)870 4634 y(printf)46 b([-v)h Fi(var)11
+4856 y Fs(printf)870 4989 y(printf)46 b([-v)h Fi(var)11
 b Fs(])46 b Fi(format)57 b Fs([)p Fi(arguments)11 b Fs(])630
-4768 y Ft(W)-8 b(rite)27 b(the)g(formatted)f Fq(argumen)m(ts)k
+5121 y Ft(W)-8 b(rite)27 b(the)g(formatted)f Fq(argumen)m(ts)k
 Ft(to)d(the)f(standard)f(output)h(under)e(the)i(con)m(trol)i(of)e(the)
-630 4878 y Fq(format)r Ft(.)57 b(The)35 b(`)p Fs(-v)p
+630 5230 y Fq(format)r Ft(.)57 b(The)35 b(`)p Fs(-v)p
 Ft(')h(option)g(causes)g(the)g(output)g(to)g(b)s(e)f(assigned)h(to)h
-(the)e(v)-5 b(ariable)37 b Fq(v)-5 b(ar)630 4987 y Ft(rather)30
-b(than)g(b)s(eing)g(prin)m(ted)g(to)h(the)g(standard)e(output.)630
-5121 y(The)36 b Fq(format)i Ft(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 5230 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
-5340 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)p eop end
+(the)e(v)-5 b(ariable)37 b Fq(v)-5 b(ar)630 5340 y Ft(rather)30
+b(than)g(b)s(eing)g(prin)m(ted)g(to)h(the)g(standard)e(output.)p
+eop end
 %%Page: 50 56
 TeXDict begin 50 55 bop 150 -116 a Ft(50)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(sp)s(eci\014cations,)38
-b(eac)m(h)g(of)e(whic)m(h)g(causes)g(prin)m(ting)g(of)g(the)h(next)f
-(successiv)m(e)h Fq(argumen)m(t)r Ft(.)630 408 y(In)24
-b(addition)h(to)g(the)g(standard)f Fs(printf\(1\))e Ft(formats,)27
-b Fs(printf)c Ft(in)m(terprets)i(the)f(follo)m(wing)630
-518 y(extensions:)630 676 y Fs(\045b)384 b Ft(causes)42
-b Fs(printf)e Ft(to)i(expand)f(bac)m(kslash)h(escap)s(e)g(sequences)f
-(in)h(the)f(cor-)1110 786 y(resp)s(onding)c Fq(argumen)m(t)r
-Ft(,)42 b(\(except)e(that)g(`)p Fs(\\c)p Ft(')e(terminates)i(output,)h
-(bac)m(k-)1110 896 y(slashes)d(in)f(`)p Fs(\\')p Ft(',)j(`)p
-Fs(\\")p Ft(',)f(and)e(`)p Fs(\\?)p Ft(')h(are)g(not)g(remo)m(v)m(ed,)j
-(and)c(o)s(ctal)i(escap)s(es)1110 1005 y(b)s(eginning)30
-b(with)g(`)p Fs(\\0)p Ft(')g(ma)m(y)h(con)m(tain)h(up)d(to)i(four)f
-(digits\).)630 1163 y Fs(\045q)384 b Ft(causes)35 b Fs(printf)e
-Ft(to)i(output)g(the)g(corresp)s(onding)e Fq(argumen)m(t)k
-Ft(in)e(a)g(format)1110 1273 y(that)c(can)g(b)s(e)e(reused)h(as)h
-(shell)f(input.)630 1431 y Fs(\045\()p Fi(datefmt)11
-b Fs(\)T)1110 1541 y Ft(causes)32 b Fs(printf)f Ft(to)h(output)g(the)g
-(date-time)i(string)e(resulting)g(from)f(using)1110 1650
-y Fq(datefm)m(t)45 b Ft(as)d(a)g(format)g(string)g(for)g
+b(Reference)g(Man)m(ual)630 299 y(The)36 b Fq(format)i
+Ft(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 408 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 518 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 628 y(sp)s(eci\014cations,)i(eac)m(h)g(of)e(whic)m(h)g
+(causes)g(prin)m(ting)g(of)g(the)h(next)f(successiv)m(e)h
+Fq(argumen)m(t)r Ft(.)630 737 y(In)24 b(addition)h(to)g(the)g(standard)
+f Fs(printf\(1\))e Ft(formats,)27 b Fs(printf)c Ft(in)m(terprets)i(the)
+f(follo)m(wing)630 847 y(extensions:)630 998 y Fs(\045b)384
+b Ft(Causes)30 b Fs(printf)e Ft(to)j(expand)f(bac)m(kslash)h(escap)s(e)
+f(sequences)h(in)f(the)g(corre-)1110 1107 y(sp)s(onding)19
+b Fq(argumen)m(t)r Ft(,)k(except)f(that)f(`)p Fs(\\c)p
+Ft(')g(terminates)h(output,)g(bac)m(kslashes)1110 1217
+y(in)27 b(`)p Fs(\\')p Ft(',)h(`)p Fs(\\")p Ft(',)g(and)f(`)p
+Fs(\\?)p Ft(')g(are)h(not)f(remo)m(v)m(ed,)j(and)c(o)s(ctal)j(escap)s
+(es)f(b)s(eginning)1110 1326 y(with)i(`)p Fs(\\0)p Ft(')g(ma)m(y)h(con)
+m(tain)h(up)d(to)i(four)f(digits.)630 1477 y Fs(\045q)384
+b Ft(Causes)32 b Fs(printf)e Ft(to)i(output)g(the)g(corresp)s(onding)f
+Fq(argumen)m(t)j Ft(in)d(a)i(format)1110 1587 y(that)e(can)g(b)s(e)e
+(reused)h(as)h(shell)f(input.)630 1737 y Fs(\045\()p
+Fi(datefmt)11 b Fs(\)T)1110 1847 y Ft(Causes)29 b Fs(printf)e
+Ft(to)j(output)f(the)g(date-time)i(string)e(resulting)h(from)e(using)
+1110 1956 y Fq(datefm)m(t)45 b Ft(as)d(a)g(format)g(string)g(for)g
 Fs(strftime)p Ft(\(3\).)74 b(The)41 b(corresp)s(onding)1110
-1760 y Fq(argumen)m(t)h Ft(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 1870
+2066 y Fq(argumen)m(t)h Ft(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 2176
 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 1979 y(the)30 b(curren)m(t)g(time,)h(and)e(-2)i
+b(represen)m(ts)1110 2285 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.)
-630 2138 y(Argumen)m(ts)e(to)h(non-string)e(format)i(sp)s(eci\014ers)e
+630 2436 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
-2247 y(except)22 b(that)g(a)g(leading)g(plus)e(or)h(min)m(us)f(sign)i
+2545 y(except)22 b(that)g(a)g(leading)g(plus)e(or)h(min)m(us)f(sign)i
 (is)f(allo)m(w)m(ed,)k(and)c(if)g(the)g(leading)h(c)m(haracter)h(is)630
-2357 y(a)i(single)g(or)f(double)h(quote,)h(the)f(v)-5
+2655 y(a)i(single)g(or)f(double)h(quote,)h(the)f(v)-5
 b(alue)25 b(is)f(the)h(ASCI)s(I)e(v)-5 b(alue)25 b(of)f(the)h(follo)m
-(wing)h(c)m(haracter.)630 2491 y(The)31 b Fq(format)i
+(wing)h(c)m(haracter.)630 2785 y(The)31 b Fq(format)i
 Ft(is)e(reused)f(as)i(necessary)f(to)h(consume)f(all)h(of)f(the)g
 Fq(argumen)m(ts)t Ft(.)43 b(If)31 b(the)g Fq(for-)630
-2600 y(mat)d Ft(requires)e(more)g Fq(argumen)m(ts)k Ft(than)25
+2895 y(mat)d Ft(requires)e(more)g Fq(argumen)m(ts)k Ft(than)25
 b(are)i(supplied,)e(the)h(extra)h(format)f(sp)s(eci\014cations)630
-2710 y(b)s(eha)m(v)m(e)j(as)g(if)f(a)h(zero)g(v)-5 b(alue)29
+3004 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 2819 y(return)29 b(v)-5 b(alue)31
+(supplied.)38 b(The)630 3114 y(return)29 b(v)-5 b(alue)31
 b(is)g(zero)g(on)f(success,)h(non-zero)g(on)f(failure.)150
-2978 y Fs(read)870 3112 y(read)47 b([-ers])f([-a)h Fi(aname)11
+3265 y Fs(read)870 3395 y(read)47 b([-ers])f([-a)h Fi(aname)11
 b Fs(])45 b([-d)i Fi(delim)11 b Fs(])46 b([-i)h Fi(text)11
-b Fs(])46 b([-n)g Fi(nchars)11 b Fs(])46 b([-N)h Fi(nchars)11
-b Fs(])45 b([-p)i Fi(prompt)11 b Fs(])45 b([-t)i Fi(time-)870
-3221 y(out)11 b Fs(])46 b([-u)h Fi(fd)11 b Fs(])46 b([)p
-Fi(name)57 b Fs(...])630 3355 y Ft(One)26 b(line)h(is)g(read)f(from)h
-(the)f(standard)g(input,)h(or)g(from)f(the)h(\014le)f(descriptor)h
-Fq(fd)i Ft(supplied)630 3465 y(as)37 b(an)g(argumen)m(t)h(to)f(the)h(`)
-p Fs(-u)p Ft(')e(option,)k(and)c(the)i(\014rst)e(w)m(ord)g(is)h
-(assigned)h(to)f(the)h(\014rst)630 3574 y Fq(name)5 b
-Ft(,)28 b(the)g(second)g(w)m(ord)f(to)h(the)f(second)h
+b Fs(])46 b([-n)g Fi(nchars)11 b Fs(])1061 3504 y([-N)47
+b Fi(nchars)11 b Fs(])45 b([-p)i Fi(prompt)11 b Fs(])45
+b([-t)i Fi(timeout)11 b Fs(])45 b([-u)i Fi(fd)11 b Fs(])47
+b([)p Fi(name)57 b Fs(...)o(])630 3634 y Ft(One)26 b(line)h(is)g(read)f
+(from)h(the)f(standard)g(input,)h(or)g(from)f(the)h(\014le)f
+(descriptor)h Fq(fd)i Ft(supplied)630 3744 y(as)37 b(an)g(argumen)m(t)h
+(to)f(the)h(`)p Fs(-u)p Ft(')e(option,)k(and)c(the)i(\014rst)e(w)m(ord)
+g(is)h(assigned)h(to)f(the)h(\014rst)630 3854 y Fq(name)5
+Ft(,)28 b(the)g(second)g(w)m(ord)f(to)h(the)f(second)h
 Fq(name)5 b Ft(,)28 b(and)f(so)h(on,)g(with)f(lefto)m(v)m(er)j(w)m
-(ords)d(and)630 3684 y(their)h(in)m(terv)m(ening)g(separators)g
+(ords)d(and)630 3963 y(their)h(in)m(terv)m(ening)g(separators)g
 (assigned)g(to)h(the)e(last)i Fq(name)5 b Ft(.)40 b(If)27
-b(there)h(are)g(few)m(er)f(w)m(ords)630 3794 y(read)44
+b(there)h(are)g(few)m(er)f(w)m(ords)630 4073 y(read)44
 b(from)f(the)g(input)g(stream)h(than)g(names,)j(the)c(remaining)h
-(names)g(are)g(assigned)630 3903 y(empt)m(y)31 b(v)-5
+(names)g(are)g(assigned)630 4182 y(empt)m(y)31 b(v)-5
 b(alues.)41 b(The)30 b(c)m(haracters)i(in)e(the)h(v)-5
 b(alue)31 b(of)g(the)f Fs(IFS)g Ft(v)-5 b(ariable)31
-b(are)g(used)f(to)h(split)630 4013 y(the)37 b(line)h(in)m(to)g(w)m
+b(are)g(used)f(to)h(split)630 4292 y(the)37 b(line)h(in)m(to)g(w)m
 (ords.)61 b(The)36 b(bac)m(kslash)i(c)m(haracter)h(`)p
 Fs(\\)p Ft(')e(ma)m(y)h(b)s(e)f(used)f(to)i(remo)m(v)m(e)h(an)m(y)630
-4122 y(sp)s(ecial)h(meaning)g(for)f(the)g(next)h(c)m(haracter)h(read)e
+4402 y(sp)s(ecial)h(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.)69 b(If)39 b(no)630
-4232 y(names)28 b(are)h(supplied,)f(the)g(line)h(read)g(is)f(assigned)h
+4511 y(names)28 b(are)h(supplied,)f(the)g(line)h(read)g(is)f(assigned)h
 (to)g(the)f(v)-5 b(ariable)29 b Fs(REPLY)p Ft(.)39 b(The)28
-b(return)630 4341 y(co)s(de)e(is)g(zero,)h(unless)e(end-of-\014le)h(is)
+b(return)630 4621 y(co)s(de)e(is)g(zero,)h(unless)e(end-of-\014le)h(is)
 g(encoun)m(tered,)h Fs(read)e Ft(times)h(out)g(\(in)g(whic)m(h)f(case)i
-(the)630 4451 y(return)i(co)s(de)i(is)g(greater)g(than)g(128\),)h(or)f
+(the)630 4730 y(return)i(co)s(de)i(is)g(greater)g(than)g(128\),)h(or)f
 (an)f(in)m(v)-5 b(alid)31 b(\014le)g(descriptor)f(is)h(supplied)e(as)i
-(the)630 4561 y(argumen)m(t)g(to)g(`)p Fs(-u)p Ft('.)630
-4695 y(Options,)f(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h
-(meanings:)630 4853 y Fs(-a)e Fi(aname)114 b Ft(The)34
+(the)630 4840 y(argumen)m(t)g(to)g(`)p Fs(-u)p Ft('.)630
+4970 y(Options,)f(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h
+(meanings:)630 5121 y Fs(-a)e Fi(aname)114 b Ft(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 4963 y Fq(aname)5 b Ft(,)29
+(arra)m(y)h(v)-5 b(ariable)1110 5230 y Fq(aname)5 b Ft(,)29
 b(starting)g(at)f(0.)40 b(All)29 b(elemen)m(ts)g(are)f(remo)m(v)m(ed)h
-(from)e Fq(aname)33 b Ft(b)s(efore)1110 5072 y(the)e(assignmen)m(t.)41
-b(Other)30 b Fq(name)36 b Ft(argumen)m(ts)30 b(are)h(ignored.)630
-5230 y Fs(-d)f Fi(delim)114 b Ft(The)41 b(\014rst)h(c)m(haracter)h(of)f
-Fq(delim)g Ft(is)g(used)g(to)g(terminate)h(the)f(input)f(line,)1110
-5340 y(rather)30 b(than)g(newline.)p eop end
+(from)e Fq(aname)33 b Ft(b)s(efore)1110 5340 y(the)e(assignmen)m(t.)41
+b(Other)30 b Fq(name)36 b Ft(argumen)m(ts)30 b(are)h(ignored.)p
+eop end
 %%Page: 51 57
 TeXDict begin 51 56 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(51)630 299 y Fs(-e)384
+b(Shell)30 b(Builtin)h(Commands)2069 b(51)630 299 y Fs(-d)30
+b Fi(delim)114 b Ft(The)41 b(\014rst)h(c)m(haracter)h(of)f
+Fq(delim)g Ft(is)g(used)g(to)g(terminate)h(the)f(input)f(line,)1110
+408 y(rather)30 b(than)g(newline.)630 558 y Fs(-e)384
 b Ft(Readline)28 b(\(see)h(Chapter)e(8)h([Command)f(Line)g(Editing],)i
-(page)f(97\))h(is)f(used)1110 408 y(to)42 b(obtain)f(the)g(line.)73
+(page)f(97\))h(is)f(used)1110 667 y(to)42 b(obtain)f(the)g(line.)73
 b(Readline)41 b(uses)g(the)g(curren)m(t)g(\(or)g(default,)j(if)d(line)
-1110 518 y(editing)31 b(w)m(as)g(not)f(previously)g(activ)m(e\))j
-(editing)f(settings.)630 687 y Fs(-i)e Fi(text)162 b
+1110 777 y(editing)31 b(w)m(as)g(not)f(previously)g(activ)m(e\))j
+(editing)f(settings.)630 927 y Fs(-i)e Fi(text)162 b
 Ft(If)36 b(Readline)i(is)f(b)s(eing)g(used)f(to)h(read)g(the)g(line,)j
-Fq(text)f Ft(is)e(placed)h(in)m(to)g(the)1110 797 y(editing)31
-b(bu\013er)e(b)s(efore)h(editing)h(b)s(egins.)630 966
-y Fs(-n)f Fi(nchars)1110 1076 y Fs(read)38 b Ft(returns)f(after)j
+Fq(text)f Ft(is)e(placed)h(in)m(to)g(the)1110 1036 y(editing)31
+b(bu\013er)e(b)s(efore)h(editing)h(b)s(egins.)630 1186
+y Fs(-n)f Fi(nchars)1110 1295 y Fs(read)38 b Ft(returns)f(after)j
 (reading)f Fq(nc)m(hars)j Ft(c)m(haracters)e(rather)f(than)g(w)m
-(aiting)1110 1186 y(for)g(a)h(complete)h(line)f(of)f(input,)i(but)e
-(honor)g(a)h(delimiter)g(if)f(few)m(er)h(than)1110 1295
+(aiting)1110 1405 y(for)g(a)h(complete)h(line)f(of)f(input,)i(but)e
+(honor)g(a)h(delimiter)g(if)f(few)m(er)h(than)1110 1514
 y Fq(nc)m(hars)34 b Ft(c)m(haracters)e(are)e(read)h(b)s(efore)f(the)g
-(delimiter.)630 1465 y Fs(-N)g Fi(nchars)1110 1574 y
+(delimiter.)630 1664 y Fs(-N)g Fi(nchars)1110 1773 y
 Fs(read)39 b Ft(returns)f(after)j(reading)e(exactly)j
 Fq(nc)m(hars)h Ft(c)m(haracters)f(rather)d(than)1110
-1684 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 1793 y
+1883 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 1993 y
 Fs(read)f Ft(times)i(out.)43 b(Delimiter)33 b(c)m(haracters)f(encoun)m
-(tered)g(in)f(the)g(input)g(are)1110 1903 y(not)g(treated)h(sp)s
+(tered)g(in)f(the)g(input)g(are)1110 2102 y(not)g(treated)h(sp)s
 (ecially)g(and)f(do)f(not)i(cause)f Fs(read)f Ft(to)i(return)e(un)m
-(til)h Fq(nc)m(hars)1110 2012 y Ft(c)m(haracters)h(are)f(read.)630
-2182 y Fs(-p)f Fi(prompt)1110 2291 y Ft(Displa)m(y)38
+(til)h Fq(nc)m(hars)1110 2212 y Ft(c)m(haracters)h(are)f(read.)630
+2361 y Fs(-p)f Fi(prompt)1110 2471 y Ft(Displa)m(y)38
 b Fq(prompt)r Ft(,)f(without)g(a)f(trailing)i(newline,)g(b)s(efore)e
-(attempting)i(to)1110 2401 y(read)f(an)m(y)h(input.)60
+(attempting)i(to)1110 2580 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 2511 y(from)30 b(a)h(terminal.)630 2680
+(coming)1110 2690 y(from)30 b(a)h(terminal.)630 2839
 y Fs(-r)384 b Ft(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
-2790 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 2899
+2949 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 3059
 y(bac)m(kslash-newline)f(pair)f(ma)m(y)h(not)g(b)s(e)f(used)f(as)i(a)g
-(line)f(con)m(tin)m(uation.)630 3068 y Fs(-s)384 b Ft(Silen)m(t)28
+(line)f(con)m(tin)m(uation.)630 3208 y Fs(-s)384 b Ft(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 3178 y(ec)m(ho)s(ed.)630
-3347 y Fs(-t)i Fi(timeout)1110 3457 y Ft(Cause)23 b Fs(read)f
+m(haracters)g(are)f(not)1110 3318 y(ec)m(ho)s(ed.)630
+3467 y Fs(-t)i Fi(timeout)1110 3577 y Ft(Cause)23 b Fs(read)f
 Ft(to)i(time)f(out)h(and)e(return)g(failure)h(if)g(a)h(complete)g(line)
-g(of)f(input)1110 3567 y(is)44 b(not)f(read)h(within)e
+g(of)f(input)1110 3686 y(is)44 b(not)f(read)h(within)e
 Fq(timeout)47 b Ft(seconds.)80 b Fq(timeout)46 b Ft(ma)m(y)e(b)s(e)f(a)
-h(decimal)1110 3676 y(n)m(um)m(b)s(er)26 b(with)h(a)h(fractional)h(p)s
+h(decimal)1110 3796 y(n)m(um)m(b)s(er)26 b(with)h(a)h(fractional)h(p)s
 (ortion)d(follo)m(wing)j(the)f(decimal)g(p)s(oin)m(t.)40
-b(This)1110 3786 y(option)g(is)g(only)g(e\013ectiv)m(e)j(if)c
+b(This)1110 3905 y(option)g(is)g(only)g(e\013ectiv)m(e)j(if)c
 Fs(read)g Ft(is)h(reading)g(input)f(from)g(a)h(terminal,)1110
-3895 y(pip)s(e,)25 b(or)e(other)i(sp)s(ecial)f(\014le;)i(it)f(has)e(no)
-h(e\013ect)h(when)e(reading)h(from)g(regular)1110 4005
-y(\014les.)55 b(If)34 b Fq(timeout)k Ft(is)d(0,)i Fs(read)d
-Ft(returns)g(success)h(if)g(input)g(is)g(a)m(v)-5 b(ailable)37
-b(on)1110 4115 y(the)j(sp)s(eci\014ed)f(\014le)g(descriptor,)j(failure)
-e(otherwise.)69 b(The)39 b(exit)h(status)g(is)1110 4224
-y(greater)32 b(than)e(128)h(if)g(the)f(timeout)i(is)e(exceeded.)630
-4394 y Fs(-u)g Fi(fd)258 b Ft(Read)31 b(input)e(from)h(\014le)g
-(descriptor)h Fq(fd)t Ft(.)150 4563 y Fs(readarray)870
-4672 y(readarray)45 b([-n)i Fi(count)11 b Fs(])46 b([-O)h
+4015 y(pip)s(e,)25 b(or)e(other)i(sp)s(ecial)f(\014le;)i(it)f(has)e(no)
+h(e\013ect)h(when)e(reading)h(from)g(regular)1110 4125
+y(\014les.)80 b(If)43 b Fq(timeout)j Ft(is)d(0,)48 b
+Fs(read)42 b Ft(returns)g(immediately)-8 b(,)48 b(without)c(trying)1110
+4234 y(to)i(read)f(and)f(data.)85 b(The)44 b(exit)i(status)g(is)f(0)g
+(if)g(input)f(is)h(a)m(v)-5 b(ailable)47 b(on)1110 4344
+y(the)32 b(sp)s(eci\014ed)f(\014le)h(descriptor,)g(non-zero)g
+(otherwise.)45 b(The)31 b(exit)i(status)f(is)1110 4453
+y(greater)g(than)e(128)h(if)g(the)f(timeout)i(is)e(exceeded.)630
+4603 y Fs(-u)g Fi(fd)258 b Ft(Read)31 b(input)e(from)h(\014le)g
+(descriptor)h Fq(fd)t Ft(.)150 4752 y Fs(readarray)870
+4862 y(readarray)45 b([-n)i Fi(count)11 b Fs(])46 b([-O)h
 Fi(origin)11 b Fs(])45 b([-s)i Fi(count)11 b Fs(])46
-b([-t])g([-u)h Fi(fd)11 b Fs(])47 b([)870 4782 y(-C)g
-Fi(callback)11 b Fs(])45 b([-c)i Fi(quantum)11 b Fs(])45
-b([)p Fi(array)11 b Fs(])630 4922 y Ft(Read)37 b(lines)g(from)f(the)h
-(standard)f(input)g(in)m(to)h(the)g(indexed)f(arra)m(y)i(v)-5
-b(ariable)37 b Fq(arra)m(y)8 b Ft(,)39 b(or)630 5031
-y(from)30 b(\014le)g(descriptor)h Fq(fd)i Ft(if)d(the)h(`)p
-Fs(-u)p Ft(')f(option)h(is)f(supplied.)630 5171 y(A)g(synon)m(ym)g(for)
-g Fs(mapfile)p Ft(.)150 5340 y Fs(source)p eop end
+b([-t])g([-u)h Fi(fd)11 b Fs(])1061 4971 y([-C)47 b Fi(callback)11
+b Fs(])45 b([-c)i Fi(quantum)11 b Fs(])45 b([)p Fi(array)11
+b Fs(])630 5101 y Ft(Read)37 b(lines)g(from)f(the)h(standard)f(input)g
+(in)m(to)h(the)g(indexed)f(arra)m(y)i(v)-5 b(ariable)37
+b Fq(arra)m(y)8 b Ft(,)39 b(or)630 5210 y(from)30 b(\014le)g
+(descriptor)h Fq(fd)i Ft(if)d(the)h(`)p Fs(-u)p Ft(')f(option)h(is)f
+(supplied.)630 5340 y(A)g(synon)m(ym)g(for)g Fs(mapfile)p
+Ft(.)p eop end
 %%Page: 52 58
 TeXDict begin 52 57 bop 150 -116 a Ft(52)2572 b(Bash)31
-b(Reference)g(Man)m(ual)870 299 y Fs(source)46 b Fi(filename)630
-434 y Ft(A)30 b(synon)m(ym)g(for)g Fs(.)g Ft(\(see)i(Section)f(4.1)g
-([Bourne)g(Shell)f(Builtins],)h(page)g(37\).)150 595
-y Fs(type)870 731 y(type)47 b([-afptP])e([)p Fi(name)57
-b Fs(...)o(])630 866 y Ft(F)-8 b(or)41 b(eac)m(h)h Fq(name)5
-b Ft(,)44 b(indicate)e(ho)m(w)f(it)g(w)m(ould)f(b)s(e)g(in)m(terpreted)
-h(if)g(used)f(as)h(a)g(command)630 976 y(name.)630 1111
-y(If)d(the)g(`)p Fs(-t)p Ft(')g(option)g(is)g(used,)i
+b(Reference)g(Man)m(ual)150 299 y Fs(source)870 435 y(source)46
+b Fi(filename)630 571 y Ft(A)30 b(synon)m(ym)g(for)g
+Fs(.)g Ft(\(see)i(Section)f(4.1)g([Bourne)g(Shell)f(Builtins],)h(page)g
+(37\).)150 734 y Fs(type)870 870 y(type)47 b([-afptP])e([)p
+Fi(name)57 b Fs(...)o(])630 1006 y Ft(F)-8 b(or)41 b(eac)m(h)h
+Fq(name)5 b Ft(,)44 b(indicate)e(ho)m(w)f(it)g(w)m(ould)f(b)s(e)g(in)m
+(terpreted)h(if)g(used)f(as)h(a)g(command)630 1116 y(name.)630
+1252 y(If)d(the)g(`)p Fs(-t)p Ft(')g(option)g(is)g(used,)i
 Fs(type)d Ft(prin)m(ts)g(a)i(single)f(w)m(ord)g(whic)m(h)g(is)g(one)g
-(of)h(`)p Fs(alias)p Ft(',)630 1221 y(`)p Fs(function)p
+(of)h(`)p Fs(alias)p Ft(',)630 1362 y(`)p Fs(function)p
 Ft(',)32 b(`)p Fs(builtin)p Ft(',)g(`)p Fs(file)p Ft(')g(or)h(`)p
 Fs(keyword)p Ft(',)f(if)h Fq(name)38 b Ft(is)33 b(an)f(alias,)j(shell)e
-(function,)630 1330 y(shell)i(builtin,)g(disk)g(\014le,)h(or)e(shell)h
+(function,)630 1471 y(shell)i(builtin,)g(disk)g(\014le,)h(or)e(shell)h
 (reserv)m(ed)g(w)m(ord,)h(resp)s(ectiv)m(ely)-8 b(.)55
-b(If)34 b(the)h Fq(name)40 b Ft(is)35 b(not)630 1440
+b(If)34 b(the)h Fq(name)40 b Ft(is)35 b(not)630 1581
 y(found,)29 b(then)h(nothing)h(is)f(prin)m(ted,)g(and)g
-Fs(type)f Ft(returns)g(a)i(failure)g(status.)630 1575
+Fs(type)f Ft(returns)g(a)i(failure)g(status.)630 1717
 y(If)39 b(the)g(`)p Fs(-p)p Ft(')g(option)h(is)f(used,)i
 Fs(type)d Ft(either)h(returns)f(the)i(name)f(of)g(the)g(disk)g(\014le)g
-(that)630 1685 y(w)m(ould)30 b(b)s(e)g(executed,)h(or)g(nothing)f(if)g
+(that)630 1826 y(w)m(ould)30 b(b)s(e)g(executed,)h(or)g(nothing)f(if)g
 (`)p Fs(-t)p Ft(')h(w)m(ould)f(not)g(return)g(`)p Fs(file)p
-Ft('.)630 1820 y(The)23 b(`)p Fs(-P)p Ft(')g(option)h(forces)g(a)g
+Ft('.)630 1963 y(The)23 b(`)p Fs(-P)p Ft(')g(option)h(forces)g(a)g
 (path)f(searc)m(h)h(for)f(eac)m(h)h Fq(name)5 b Ft(,)26
 b(ev)m(en)e(if)f(`)p Fs(-t)p Ft(')g(w)m(ould)g(not)h(return)630
-1930 y(`)p Fs(file)p Ft('.)630 2065 y(If)34 b(a)i(command)e(is)h
-(hashed,)g(`)p Fs(-p)p Ft(')g(and)f(`)p Fs(-P)p Ft(')h(prin)m(t)f(the)h
-(hashed)f(v)-5 b(alue,)37 b(not)e(necessarily)630 2175
-y(the)c(\014le)f(that)h(app)s(ears)f(\014rst)f(in)h Fs($PATH)p
-Ft(.)630 2310 y(If)36 b(the)h(`)p Fs(-a)p Ft(')g(option)g(is)g(used,)g
-Fs(type)f Ft(returns)f(all)j(of)f(the)g(places)g(that)g(con)m(tain)h
-(an)f(exe-)630 2420 y(cutable)d(named)f Fq(\014le)5 b
-Ft(.)49 b(This)32 b(includes)h(aliases)i(and)d(functions,)i(if)f(and)f
-(only)i(if)f(the)g(`)p Fs(-p)p Ft(')630 2529 y(option)e(is)f(not)h
-(also)g(used.)630 2665 y(If)26 b(the)h(`)p Fs(-f)p Ft(')g(option)g(is)g
-(used,)g Fs(type)e Ft(do)s(es)i(not)g(attempt)g(to)h(\014nd)d(shell)i
-(functions,)g(as)g(with)630 2774 y(the)k Fs(command)d
-Ft(builtin.)630 2910 y(The)j(return)f(status)h(is)g(zero)h(if)f(all)h
+2072 y(`)p Fs(file)p Ft('.)630 2208 y(If)41 b(a)h(command)f(is)h
+(hashed,)i(`)p Fs(-p)p Ft(')d(and)g(`)p Fs(-P)p Ft(')g(prin)m(t)g(the)h
+(hashed)f(v)-5 b(alue,)45 b(whic)m(h)c(is)h(not)630 2318
+y(necessarily)31 b(the)g(\014le)f(that)h(app)s(ears)f(\014rst)g(in)g
+Fs($PATH)p Ft(.)630 2454 y(If)36 b(the)h(`)p Fs(-a)p
+Ft(')g(option)g(is)g(used,)g Fs(type)f Ft(returns)f(all)j(of)f(the)g
+(places)g(that)g(con)m(tain)h(an)f(exe-)630 2564 y(cutable)d(named)f
+Fq(\014le)5 b Ft(.)49 b(This)32 b(includes)h(aliases)i(and)d
+(functions,)i(if)f(and)f(only)i(if)f(the)g(`)p Fs(-p)p
+Ft(')630 2673 y(option)e(is)f(not)h(also)g(used.)630
+2809 y(If)26 b(the)h(`)p Fs(-f)p Ft(')g(option)g(is)g(used,)g
+Fs(type)e Ft(do)s(es)i(not)g(attempt)g(to)h(\014nd)d(shell)i
+(functions,)g(as)g(with)630 2919 y(the)k Fs(command)d
+Ft(builtin.)630 3055 y(The)j(return)f(status)h(is)g(zero)h(if)f(all)h
 (of)f(the)h Fq(names)i Ft(are)e(found,)e(non-zero)i(if)f(an)m(y)g(are)h
-(not)630 3019 y(found.)150 3180 y Fs(typeset)870 3316
-y(typeset)46 b([-afFrxi])f([-p])i([)p Fi(name)11 b Fs([=)p
-Fi(value)g Fs(])43 b(...)o(])630 3451 y Ft(The)29 b Fs(typeset)f
-Ft(command)h(is)g(supplied)g(for)g(compatibilit)m(y)j(with)d(the)h
-(Korn)e(shell;)j(ho)m(w-)630 3561 y(ev)m(er,)g(it)g(has)f(b)s(een)g
-(deprecated)h(in)f(fa)m(v)m(or)i(of)e(the)h Fs(declare)d
-Ft(builtin)i(command.)150 3722 y Fs(ulimit)870 3857 y(ulimit)46
-b([-abcdefilmnpqrstuvxHST])41 b([)p Fi(limit)11 b Fs(])630
-3993 y(ulimit)25 b Ft(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 4102 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 4212 y(as)i(follo)m(ws:)630 4373 y Fs(-S)384
-b Ft(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 4534 y Fs(-H)384 b Ft(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 4695 y Fs(-a)384 b Ft(All)31 b(curren)m(t)f(limits)h
-(are)g(rep)s(orted.)630 4856 y Fs(-b)384 b Ft(The)30
-b(maxim)m(um)g(so)s(c)m(k)m(et)i(bu\013er)e(size.)630
-5018 y Fs(-c)384 b Ft(The)30 b(maxim)m(um)g(size)h(of)g(core)g(\014les)
-f(created.)630 5179 y Fs(-d)384 b Ft(The)30 b(maxim)m(um)g(size)h(of)g
-(a)g(pro)s(cess's)f(data)h(segmen)m(t.)630 5340 y Fs(-e)384
-b Ft(The)30 b(maxim)m(um)g(sc)m(heduling)h(priorit)m(y)f(\()p
-Fs(")p Ft(nice)p Fs(")p Ft(\).)p eop end
+(not)630 3165 y(found.)150 3328 y Fs(typeset)870 3464
+y(typeset)46 b([-afFgrxilrtux])d([-p])k([)p Fi(name)11
+b Fs([=)p Fi(value)g Fs(])43 b(...)o(])630 3600 y Ft(The)31
+b Fs(typeset)e Ft(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 3709
+y(a)g(synon)m(ym)f(for)g(the)g Fs(declare)f Ft(builtin)h(command.)150
+3872 y Fs(ulimit)870 4008 y(ulimit)46 b([-abcdefilmnpqrstuvxHST])41
+b([)p Fi(limit)11 b Fs(])630 4144 y(ulimit)25 b Ft(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 4254
+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
+4364 y(as)i(follo)m(ws:)630 4526 y Fs(-S)384 b Ft(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 4689 y Fs(-H)384 b Ft(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
+4852 y Fs(-a)384 b Ft(All)31 b(curren)m(t)f(limits)h(are)g(rep)s
+(orted.)630 5015 y Fs(-b)384 b Ft(The)30 b(maxim)m(um)g(so)s(c)m(k)m
+(et)i(bu\013er)e(size.)630 5177 y Fs(-c)384 b Ft(The)30
+b(maxim)m(um)g(size)h(of)g(core)g(\014les)f(created.)630
+5340 y Fs(-d)384 b Ft(The)30 b(maxim)m(um)g(size)h(of)g(a)g(pro)s
+(cess's)f(data)h(segmen)m(t.)p eop end
 %%Page: 53 59
 TeXDict begin 53 58 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(53)630 299 y Fs(-f)384
-b Ft(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 484 y Fs(-i)384
+b(Shell)30 b(Builtin)h(Commands)2069 b(53)630 299 y Fs(-e)384
+b Ft(The)30 b(maxim)m(um)g(sc)m(heduling)h(priorit)m(y)f(\()p
+Fs(")p Ft(nice)p Fs(")p Ft(\).)630 482 y Fs(-f)384 b
+Ft(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 666 y Fs(-i)384
 b Ft(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(p)s(ending)e
-(signals.)630 668 y Fs(-l)384 b Ft(The)30 b(maxim)m(um)g(size)h(that)g
+(signals.)630 849 y Fs(-l)384 b Ft(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 853 y Fs(-m)384 b Ft(The)36 b(maxim)m(um)g(residen)m(t)h(set)g
+b(.)630 1033 y Fs(-m)384 b Ft(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
-963 y(limit\).)630 1148 y Fs(-n)384 b Ft(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 1257 y(not)31 b(allo)m(w)g(this)g(v)-5 b(alue)31
-b(to)g(b)s(e)e(set\).)630 1442 y Fs(-p)384 b Ft(The)30
-b(pip)s(e)f(bu\013er)h(size.)630 1627 y Fs(-q)384 b Ft(The)30
+1142 y(limit\).)630 1326 y Fs(-n)384 b Ft(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 1435 y(not)31 b(allo)m(w)g(this)g(v)-5 b(alue)31
+b(to)g(b)s(e)e(set\).)630 1619 y Fs(-p)384 b Ft(The)30
+b(pip)s(e)f(bu\013er)h(size.)630 1802 y Fs(-q)384 b Ft(The)30
 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(b)m(ytes)g(in)f(POSIX)f(message)j
-(queues.)630 1812 y Fs(-r)384 b Ft(The)30 b(maxim)m(um)g(real-time)i
-(sc)m(heduling)f(priorit)m(y)-8 b(.)630 1996 y Fs(-s)384
-b Ft(The)30 b(maxim)m(um)g(stac)m(k)i(size.)630 2181
+(queues.)630 1986 y Fs(-r)384 b Ft(The)30 b(maxim)m(um)g(real-time)i
+(sc)m(heduling)f(priorit)m(y)-8 b(.)630 2169 y Fs(-s)384
+b Ft(The)30 b(maxim)m(um)g(stac)m(k)i(size.)630 2352
 y Fs(-t)384 b Ft(The)30 b(maxim)m(um)g(amoun)m(t)h(of)f(cpu)g(time)h
-(in)f(seconds.)630 2366 y Fs(-u)384 b Ft(The)30 b(maxim)m(um)g(n)m(um)m
+(in)f(seconds.)630 2536 y Fs(-u)384 b Ft(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 2551 y Fs(-v)384 b Ft(The)41 b(maxim)m(um)h(amoun)m(t)g(of)h
+(user.)630 2719 y Fs(-v)384 b Ft(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
-2660 y(and,)30 b(on)g(some)h(systems,)g(to)g(its)g(c)m(hildren.)630
-2845 y Fs(-x)384 b Ft(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 3030 y Fs(-T)384 b Ft(The)30
-b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(threads.)630 3215
-y(If)i Fq(limit)j Ft(is)e(giv)m(en,)h(it)f(is)g(the)g(new)f(v)-5
-b(alue)34 b(of)f(the)h(sp)s(eci\014ed)f(resource;)i(the)f(sp)s(ecial)g
-Fq(limit)630 3324 y Ft(v)-5 b(alues)27 b Fs(hard)p Ft(,)g
-Fs(soft)p Ft(,)g(and)g Fs(unlimited)d Ft(stand)j(for)g(the)g(curren)m
-(t)g(hard)f(limit,)j(the)e(curren)m(t)630 3434 y(soft)38
-b(limit,)j(and)d(no)f(limit,)k(resp)s(ectiv)m(ely)-8
-b(.)66 b(A)38 b(hard)f(limit)h(cannot)h(b)s(e)e(increased)i(b)m(y)f(a)
-630 3544 y(non-ro)s(ot)f(user)f(once)i(it)g(is)f(set;)k(a)c(soft)g
-(limit)h(ma)m(y)g(b)s(e)e(increased)h(up)f(to)i(the)f(v)-5
-b(alue)38 b(of)630 3653 y(the)c(hard)f(limit.)51 b(Otherwise,)35
-b(the)f(curren)m(t)f(v)-5 b(alue)35 b(of)f(the)f(soft)i(limit)f(for)g
-(the)g(sp)s(eci\014ed)630 3763 y(resource)27 b(is)h(prin)m(ted,)f
-(unless)g(the)g(`)p Fs(-H)p Ft(')g(option)h(is)f(supplied.)38
-b(When)27 b(setting)h(new)f(limits,)630 3872 y(if)40
-b(neither)f(`)p Fs(-H)p Ft(')h(nor)f(`)p Fs(-S)p Ft(')h(is)f(supplied,)
-i(b)s(oth)e(the)h(hard)f(and)g(soft)h(limits)g(are)g(set.)69
-b(If)630 3982 y(no)35 b(option)h(is)f(giv)m(en,)j(then)d(`)p
-Fs(-f)p Ft(')g(is)g(assumed.)55 b(V)-8 b(alues)36 b(are)f(in)g(1024-b)m
-(yte)j(incremen)m(ts,)630 4092 y(except)d(for)f(`)p Fs(-t)p
-Ft(',)g(whic)m(h)g(is)g(in)g(seconds,)h(`)p Fs(-p)p Ft(',)g(whic)m(h)e
-(is)h(in)g(units)f(of)h(512-b)m(yte)i(blo)s(c)m(ks,)630
-4201 y(and)30 b(`)p Fs(-n)p Ft(')g(and)g(`)p Fs(-u)p
-Ft(',)g(whic)m(h)g(are)h(unscaled)f(v)-5 b(alues.)630
-4348 y(The)34 b(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
-4458 y(an)30 b(error)g(o)s(ccurs)g(while)h(setting)g(a)g(new)f(limit.)
-150 4643 y Fs(unalias)870 4790 y(unalias)46 b([-a])g([)p
-Fi(name)57 b Fs(...)47 b(])630 4937 y Ft(Remo)m(v)m(e)39
+2829 y(and,)30 b(on)g(some)h(systems,)g(to)g(its)g(c)m(hildren.)630
+3012 y Fs(-x)384 b Ft(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 3196 y Fs(-T)384 b Ft(The)30
+b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(threads.)630 3379
+y(If)i Fq(limit)k Ft(is)d(giv)m(en,)h(and)f(the)f(`)p
+Fs(-a)p Ft(')h(option)g(is)g(not)g(used,)g Fq(limit)j
+Ft(is)c(the)h(new)g(v)-5 b(alue)34 b(of)g(the)630 3489
+y(sp)s(eci\014ed)f(resource.)51 b(The)34 b(sp)s(ecial)g
+Fq(limit)j Ft(v)-5 b(alues)34 b Fs(hard)p Ft(,)g Fs(soft)p
+Ft(,)g(and)f Fs(unlimited)e Ft(stand)630 3598 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 3708 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
+3818 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 3927 y(of)36 b(the)f(soft)h(limit)h(for)e(the)g(sp)s
+(eci\014ed)g(resource)h(is)f(prin)m(ted,)i(unless)e(the)h(`)p
+Fs(-H)p Ft(')f(option)h(is)630 4037 y(supplied.)j(When)28
+b(setting)h(new)f(limits,)h(if)f(neither)h(`)p Fs(-H)p
+Ft(')f(nor)f(`)p Fs(-S)p Ft(')h(is)h(supplied,)e(b)s(oth)h(the)630
+4146 y(hard)g(and)h(soft)h(limits)g(are)g(set.)41 b(If)29
+b(no)g(option)h(is)f(giv)m(en,)i(then)e(`)p Fs(-f)p Ft(')h(is)f
+(assumed.)40 b(V)-8 b(alues)630 4256 y(are)38 b(in)f(1024-b)m(yte)k
+(incremen)m(ts,)f(except)e(for)g(`)p Fs(-t)p Ft(',)h(whic)m(h)e(is)h
+(in)f(seconds;)42 b(`)p Fs(-p)p Ft(',)d(whic)m(h)630
+4366 y(is)33 b(in)f(units)g(of)h(512-b)m(yte)i(blo)s(c)m(ks;)g(and)d(`)
+p Fs(-T)p Ft(',)i(`)p Fs(-b)p Ft(',)f(`)p Fs(-n)p Ft(')g(and)f(`)p
+Fs(-u)p Ft(',)h(whic)m(h)g(are)g(unscaled)630 4475 y(v)-5
+b(alues.)630 4622 y(The)34 b(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 4731 y(an)30 b(error)g(o)s(ccurs)g(while)h(setting)g(a)g(new)f
+(limit.)150 4915 y Fs(unalias)870 5061 y(unalias)46 b([-a])g([)p
+Fi(name)57 b Fs(...)47 b(])630 5208 y Ft(Remo)m(v)m(e)39
 b(eac)m(h)f Fq(name)k Ft(from)36 b(the)h(list)h(of)f(aliases.)61
 b(If)36 b(`)p Fs(-a)p Ft(')h(is)g(supplied,)h(all)f(aliases)i(are)630
-5047 y(remo)m(v)m(ed.)j(Aliases)31 b(are)g(describ)s(ed)e(in)h(Section)
-i(6.6)f([Aliases],)h(page)f(83.)150 5317 y Fr(4.3)68
-b(Mo)t(difying)45 b(Shell)g(Beha)l(vior)p eop end
+5317 y(remo)m(v)m(ed.)j(Aliases)31 b(are)g(describ)s(ed)e(in)h(Section)
+i(6.6)f([Aliases],)h(page)f(83.)p eop end
 %%Page: 54 60
 TeXDict begin 54 59 bop 150 -116 a Ft(54)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fj(4.3.1)63 b(The)41
-b(Set)g(Builtin)150 446 y Ft(This)35 b(builtin)h(is)g(so)g(complicated)
+b(Reference)g(Man)m(ual)150 299 y Fr(4.3)68 b(Mo)t(difying)45
+b(Shell)g(Beha)l(vior)150 523 y Fj(4.3.1)63 b(The)41
+b(Set)g(Builtin)150 670 y Ft(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 Fs(set)35 b Ft(allo)m(ws)j(y)m(ou)e(to)h(c)m(hange)150
-555 y(the)c(v)-5 b(alues)34 b(of)f(shell)g(options)h(and)e(set)i(the)f
+780 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 665 y(v)-5 b(alues)31 b(of)f(shell)h(v)-5 b(ariables.)150
-834 y Fs(set)870 972 y(set)47 b([--abefhkmnptuvxBCEHPT])41
+(and)150 889 y(v)-5 b(alues)31 b(of)f(shell)h(v)-5 b(ariables.)150
+1087 y Fs(set)870 1234 y(set)47 b([--abefhkmnptuvxBCEHPT])41
 b([-o)47 b Fi(option-name)11 b Fs(])44 b([)p Fi(argument)56
-b Fs(...)o(])870 1082 y(set)47 b([+abefhkmnptuvxBCEHPT])42
+b Fs(...)o(])870 1344 y(set)47 b([+abefhkmnptuvxBCEHPT])42
 b([+o)47 b Fi(option-name)11 b Fs(])43 b([)p Fi(argument)56
-b Fs(...)o(])630 1219 y Ft(If)22 b(no)h(options)g(or)g(argumen)m(ts)g
+b Fs(...)o(])630 1491 y Ft(If)22 b(no)h(options)g(or)g(argumen)m(ts)g
 (are)g(supplied,)g Fs(set)f Ft(displa)m(ys)g(the)h(names)g(and)f(v)-5
-b(alues)23 b(of)g(all)630 1329 y(shell)j(v)-5 b(ariables)27
+b(alues)23 b(of)g(all)630 1600 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 1439 y(that)i(ma)m(y)h(b)s(e)e(reused)g
+(cale,)k(in)c(a)i(format)630 1710 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 1548 y(Read-only)37 b(v)-5 b(ariables)37
+(v)-5 b(ariables.)630 1820 y(Read-only)37 b(v)-5 b(ariables)37
 b(cannot)h(b)s(e)e(reset.)59 b(In)36 b Fl(posix)g Ft(mo)s(de,)i(only)f
-(shell)f(v)-5 b(ariables)38 b(are)630 1658 y(listed.)630
-1796 y(When)29 b(options)g(are)g(supplied,)f(they)h(set)h(or)f(unset)f
+(shell)f(v)-5 b(ariables)38 b(are)630 1929 y(listed.)630
+2076 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
-1905 y(i\014ed,)h(ha)m(v)m(e)i(the)e(follo)m(wing)i(meanings:)630
-2071 y Fs(-a)384 b Ft(Mark)32 b(v)-5 b(ariables)33 b(and)e(function)h
+2186 y(i\014ed,)h(ha)m(v)m(e)i(the)e(follo)m(wing)i(meanings:)630
+2371 y Fs(-a)384 b Ft(Mark)32 b(v)-5 b(ariables)33 b(and)e(function)h
 (whic)m(h)g(are)g(mo)s(di\014ed)f(or)h(created)h(for)f(ex-)1110
-2181 y(p)s(ort)e(to)h(the)f(en)m(vironmen)m(t)h(of)g(subsequen)m(t)f
-(commands.)630 2347 y Fs(-b)384 b Ft(Cause)44 b(the)h(status)g(of)f
+2481 y(p)s(ort)e(to)h(the)f(en)m(vironmen)m(t)h(of)g(subsequen)m(t)f
+(commands.)630 2665 y Fs(-b)384 b Ft(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
-2456 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 2622 y Fs(-e)384
+2775 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 2960 y Fs(-e)384
 b Ft(Exit)65 b(immediately)g(if)f(a)h(pip)s(eline)e(\(see)i(Section)g
-(3.2.2)h([Pip)s(elines],)1110 2732 y(page)56 b(8\),)62
+(3.2.2)h([Pip)s(elines],)1110 3070 y(page)56 b(8\),)62
 b(whic)m(h)55 b(ma)m(y)h(consist)f(of)h(a)f(single)h(simple)f(command)g
-(\(see)1110 2841 y(Section)43 b(3.2.1)i([Simple)d(Commands],)j(page)e
-(8\),)k(a)c(subshell)e(command)1110 2951 y(enclosed)32
-b(in)f(paren)m(theses)h(\(see)h(Section)f(3.2.4.3)i([Command)d
-(Grouping],)1110 3060 y(page)h(13\),)h(or)e(one)g(of)h(the)f(commands)g
-(executed)h(as)f(part)g(of)h(a)f(command)1110 3170 y(list)37
-b(enclosed)g(b)m(y)f(braces)g(\(see)h(Section)g(3.2.4.3)h([Command)e
-(Grouping],)1110 3280 y(page)48 b(13\))g(returns)d(a)j(non-zero)f
-(status.)91 b(The)46 b(shell)h(do)s(es)g(not)g(exit)h(if)1110
-3389 y(the)39 b(command)f(that)h(fails)g(is)f(part)g(of)h(the)f
-(command)h(list)g(immediately)1110 3499 y(follo)m(wing)47
-b(a)f Fs(while)e Ft(or)h Fs(until)f Ft(k)m(eyw)m(ord,)50
-b(part)45 b(of)h(the)g(test)g(in)f(an)h Fs(if)1110 3608
-y Ft(statemen)m(t,)31 b(part)d(of)h(an)m(y)g(command)f(executed)h(in)g
-(a)g Fs(&&)e Ft(or)i Fs(||)f Ft(list)h(except)1110 3718
-y(the)48 b(command)h(follo)m(wing)g(the)g(\014nal)f Fs(&&)f
-Ft(or)i Fs(||)p Ft(,)j(an)m(y)d(command)f(in)g(a)1110
-3828 y(pip)s(eline)39 b(but)f(the)i(last,)i(or)d(if)g(the)h(command's)f
-(return)f(status)h(is)g(b)s(eing)1110 3937 y(in)m(v)m(erted)33
-b(with)e Fs(!)p Ft(.)45 b(A)32 b(trap)g(on)f Fs(ERR)p
-Ft(,)h(if)g(set,)h(is)f(executed)g(b)s(efore)g(the)g(shell)1110
-4047 y(exits.)1110 4185 y(This)e(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
-4294 y(vironmen)m(t)j(separately)i(\(see)f(Section)g(3.7.3)h([Command)d
-(Execution)i(En-)1110 4404 y(vironmen)m(t],)i(page)f(32\),)i(and)d(ma)m
-(y)h(cause)f(subshells)g(to)h(exit)g(b)s(efore)f(exe-)1110
-4513 y(cuting)d(all)g(the)g(commands)f(in)g(the)g(subshell.)630
-4679 y Fs(-f)384 b Ft(Disable)31 b(\014lename)g(expansion)f
-(\(globbing\).)630 4845 y Fs(-h)384 b Ft(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 4955 y(execution.)42 b(This)29
-b(option)i(is)g(enabled)f(b)m(y)g(default.)630 5121 y
-Fs(-k)384 b Ft(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
-5230 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 5340 y(command)30
-b(name.)p eop end
+(\(see)1110 3179 y(Section)30 b(3.2.1)i([Simple)d(Commands],)g(page)h
+(8\),)h(a)f(list)g(\(see)h(Section)f(3.2.3)1110 3289
+y([Lists],)66 b(page)59 b(9\),)67 b(or)58 b(a)h(comp)s(ound)e(command)h
+(\(see)h(Section)g(3.2.4)1110 3398 y([Comp)s(ound)67
+b(Commands],)77 b(page)69 b(9\))g(returns)e(a)i(non-zero)g(status.)1110
+3508 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 3617 y(command)g(list)h
+(immediately)g(follo)m(wing)g(a)g Fs(while)e Ft(or)h
+Fs(until)e Ft(k)m(eyw)m(ord,)1110 3727 y(part)61 b(of)g(the)g(test)h
+(in)e(an)h Fs(if)f Ft(statemen)m(t,)71 b(part)61 b(of)g(an)m(y)g
+(command)1110 3837 y(executed)50 b(in)e(a)h Fs(&&)f Ft(or)h
+Fs(||)f Ft(list)h(except)g(the)g(command)g(follo)m(wing)h(the)1110
+3946 y(\014nal)37 b Fs(&&)g Ft(or)g Fs(||)p Ft(,)h(an)m(y)g(command)f
+(in)g(a)g(pip)s(eline)g(but)g(the)g(last,)j(or)e(if)f(the)1110
+4056 y(command's)c(return)f(status)h(is)g(b)s(eing)g(in)m(v)m(erted)h
+(with)e Fs(!)p Ft(.)48 b(If)33 b(a)g(comp)s(ound)1110
+4165 y(command)g(other)g(than)f(a)i(subshell)d(returns)h(a)h(non-zero)h
+(status)f(b)s(ecause)1110 4275 y(a)g(command)f(failed)h(while)f(`)p
+Fs(-e)p Ft(')h(w)m(as)f(b)s(eing)g(ignored,)h(the)g(shell)g(do)s(es)f
+(not)1110 4385 y(exit.)42 b(A)30 b(trap)g(on)h Fs(ERR)p
+Ft(,)e(if)i(set,)g(is)f(executed)i(b)s(efore)e(the)g(shell)h(exits.)
+1110 4532 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 4641 y(vironmen)m(t)j
+(separately)i(\(see)f(Section)g(3.7.3)h([Command)d(Execution)i(En-)1110
+4751 y(vironmen)m(t],)i(page)f(32\),)i(and)d(ma)m(y)h(cause)f
+(subshells)g(to)h(exit)g(b)s(efore)f(exe-)1110 4861 y(cuting)d(all)g
+(the)g(commands)f(in)g(the)g(subshell.)630 5045 y Fs(-f)384
+b Ft(Disable)31 b(\014lename)g(expansion)f(\(globbing\).)630
+5230 y Fs(-h)384 b Ft(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
+5340 y(execution.)42 b(This)29 b(option)i(is)g(enabled)f(b)m(y)g
+(default.)p eop end
 %%Page: 55 61
 TeXDict begin 55 60 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(55)630 299 y Fs(-m)384
-b Ft(Job)32 b(con)m(trol)h(is)f(enabled)g(\(see)h(Chapter)f(7)g([Job)g
-(Con)m(trol],)i(page)e(93\).)47 b(All)1110 408 y(pro)s(cesses)27
+b(Shell)30 b(Builtin)h(Commands)2069 b(55)630 299 y Fs(-k)384
+b Ft(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 408 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
+518 y(command)30 b(name.)630 677 y Fs(-m)384 b Ft(Job)32
+b(con)m(trol)h(is)f(enabled)g(\(see)h(Chapter)f(7)g([Job)g(Con)m
+(trol],)i(page)e(93\).)47 b(All)1110 787 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 518 y(completes,)32 b(the)f(shell)f
+b(a)h(bac)m(kground)f(job)1110 896 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
-680 y Fs(-n)384 b Ft(Read)21 b(commands)f(but)g(do)h(not)g(execute)h
+1055 y Fs(-n)384 b Ft(Read)21 b(commands)f(but)g(do)h(not)g(execute)h
 (them;)i(this)d(ma)m(y)g(b)s(e)f(used)g(to)h(c)m(hec)m(k)1110
-789 y(a)42 b(script)g(for)g(syn)m(tax)g(errors.)75 b(This)41
+1165 y(a)42 b(script)g(for)g(syn)m(tax)g(errors.)75 b(This)41
 b(option)h(is)g(ignored)g(b)m(y)g(in)m(teractiv)m(e)1110
-899 y(shells.)630 1061 y Fs(-o)30 b Fi(option-name)1110
-1170 y Ft(Set)h(the)f(option)h(corresp)s(onding)e(to)i
-Fq(option-name)5 b Ft(:)1110 1332 y Fs(allexport)1590
-1442 y Ft(Same)30 b(as)h Fs(-a)p Ft(.)1110 1604 y Fs(braceexpand)1590
-1713 y Ft(Same)f(as)h Fs(-B)p Ft(.)1110 1875 y Fs(emacs)240
+1274 y(shells.)630 1433 y Fs(-o)30 b Fi(option-name)1110
+1543 y Ft(Set)h(the)f(option)h(corresp)s(onding)e(to)i
+Fq(option-name)5 b Ft(:)1110 1702 y Fs(allexport)1590
+1811 y Ft(Same)30 b(as)h Fs(-a)p Ft(.)1110 1970 y Fs(braceexpand)1590
+2080 y Ft(Same)f(as)h Fs(-B)p Ft(.)1110 2239 y Fs(emacs)240
 b Ft(Use)25 b(an)f Fs(emacs)p Ft(-st)m(yle)h(line)f(editing)h(in)m
-(terface)h(\(see)g(Chapter)e(8)1590 1984 y([Command)38
+(terface)h(\(see)g(Chapter)e(8)1590 2348 y([Command)38
 b(Line)g(Editing],)i(page)f(97\).)66 b(This)37 b(also)i(a\013ects)1590
-2094 y(the)31 b(editing)g(in)m(terface)h(used)d(for)h
-Fs(read)f(-e)p Ft(.)1110 2256 y Fs(errexit)144 b Ft(Same)30
-b(as)h Fs(-e)p Ft(.)1110 2418 y Fs(errtrace)96 b Ft(Same)30
-b(as)h Fs(-E)p Ft(.)1110 2579 y Fs(functrace)1590 2689
-y Ft(Same)f(as)h Fs(-T)p Ft(.)1110 2851 y Fs(hashall)144
-b Ft(Same)30 b(as)h Fs(-h)p Ft(.)1110 3013 y Fs(histexpand)1590
-3122 y Ft(Same)f(as)h Fs(-H)p Ft(.)1110 3284 y Fs(history)144
+2458 y(the)31 b(editing)g(in)m(terface)h(used)d(for)h
+Fs(read)f(-e)p Ft(.)1110 2617 y Fs(errexit)144 b Ft(Same)30
+b(as)h Fs(-e)p Ft(.)1110 2776 y Fs(errtrace)96 b Ft(Same)30
+b(as)h Fs(-E)p Ft(.)1110 2934 y Fs(functrace)1590 3044
+y Ft(Same)f(as)h Fs(-T)p Ft(.)1110 3203 y Fs(hashall)144
+b Ft(Same)30 b(as)h Fs(-h)p Ft(.)1110 3362 y Fs(histexpand)1590
+3471 y Ft(Same)f(as)h Fs(-H)p Ft(.)1110 3630 y Fs(history)144
 b Ft(Enable)39 b(command)g(history)-8 b(,)42 b(as)d(describ)s(ed)f(in)h
-(Section)h(9.1)1590 3393 y([Bash)d(History)g(F)-8 b(acilities],)41
-b(page)c(127.)60 b(This)36 b(option)h(is)f(on)1590 3503
+(Section)h(9.1)1590 3740 y([Bash)d(History)g(F)-8 b(acilities],)41
+b(page)c(127.)60 b(This)36 b(option)h(is)f(on)1590 3850
 y(b)m(y)30 b(default)h(in)f(in)m(teractiv)m(e)j(shells.)1110
-3665 y Fs(ignoreeof)1590 3774 y Ft(An)d(in)m(teractiv)m(e)j(shell)e
-(will)g(not)f(exit)h(up)s(on)e(reading)i(EOF.)1110 3936
+4008 y Fs(ignoreeof)1590 4118 y Ft(An)d(in)m(teractiv)m(e)j(shell)e
+(will)g(not)f(exit)h(up)s(on)e(reading)i(EOF.)1110 4277
 y Fs(keyword)144 b Ft(Same)30 b(as)h Fs(-k)p Ft(.)1110
-4098 y Fs(monitor)144 b Ft(Same)30 b(as)h Fs(-m)p Ft(.)1110
-4260 y Fs(noclobber)1590 4369 y Ft(Same)f(as)h Fs(-C)p
-Ft(.)1110 4531 y Fs(noexec)192 b Ft(Same)30 b(as)h Fs(-n)p
-Ft(.)1110 4693 y Fs(noglob)192 b Ft(Same)30 b(as)h Fs(-f)p
-Ft(.)1110 4855 y Fs(nolog)240 b Ft(Curren)m(tly)30 b(ignored.)1110
-5016 y Fs(notify)192 b Ft(Same)30 b(as)h Fs(-b)p Ft(.)1110
-5178 y Fs(nounset)144 b Ft(Same)30 b(as)h Fs(-u)p Ft(.)1110
-5340 y Fs(onecmd)192 b Ft(Same)30 b(as)h Fs(-t)p Ft(.)p
+4436 y Fs(monitor)144 b Ft(Same)30 b(as)h Fs(-m)p Ft(.)1110
+4595 y Fs(noclobber)1590 4704 y Ft(Same)f(as)h Fs(-C)p
+Ft(.)1110 4863 y Fs(noexec)192 b Ft(Same)30 b(as)h Fs(-n)p
+Ft(.)1110 5022 y Fs(noglob)192 b Ft(Same)30 b(as)h Fs(-f)p
+Ft(.)1110 5181 y Fs(nolog)240 b Ft(Curren)m(tly)30 b(ignored.)1110
+5340 y Fs(notify)192 b Ft(Same)30 b(as)h Fs(-b)p Ft(.)p
 eop end
 %%Page: 56 62
 TeXDict begin 56 61 bop 150 -116 a Ft(56)2572 b(Bash)31
-b(Reference)g(Man)m(ual)1110 299 y Fs(physical)96 b Ft(Same)30
-b(as)h Fs(-P)p Ft(.)1110 451 y Fs(pipefail)96 b Ft(If)44
+b(Reference)g(Man)m(ual)1110 299 y Fs(nounset)144 b Ft(Same)30
+b(as)h Fs(-u)p Ft(.)1110 467 y Fs(onecmd)192 b Ft(Same)30
+b(as)h Fs(-t)p Ft(.)1110 636 y Fs(physical)96 b Ft(Same)30
+b(as)h Fs(-P)p Ft(.)1110 805 y Fs(pipefail)96 b Ft(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 560 y(the)33 b(last)h(\(righ)m(tmost\))
-h(command)e(to)h(exit)g(with)f(a)g(non-zero)1590 670
+(the)f(v)-5 b(alue)45 b(of)1590 914 y(the)33 b(last)h(\(righ)m(tmost\))
+h(command)e(to)h(exit)g(with)f(a)g(non-zero)1590 1024
 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 779 y(cessfully)-8 b(.)41 b(This)30
-b(option)h(is)f(disabled)g(b)m(y)h(default.)1110 931
-y Fs(posix)240 b Ft(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 1041 y(tion)25
+(eline)f(exit)i(suc-)1590 1133 y(cessfully)-8 b(.)41
+b(This)30 b(option)h(is)f(disabled)g(b)m(y)h(default.)1110
+1302 y Fs(posix)240 b Ft(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 1412 y(tion)25
 b(di\013ers)f(from)g(the)h Fl(posix)f Ft(standard)f(to)i(matc)m(h)h
-(the)f(stan-)1590 1150 y(dard)32 b(\(see)i(Section)g(6.11)h([Bash)e
-(POSIX)f(Mo)s(de],)j(page)e(88\).)1590 1260 y(This)k(is)g(in)m(tended)g
+(the)f(stan-)1590 1521 y(dard)32 b(\(see)i(Section)g(6.11)h([Bash)e
+(POSIX)f(Mo)s(de],)j(page)e(88\).)1590 1631 y(This)k(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
-1369 y(p)s(erset)30 b(of)h(that)f(standard.)1110 1521
-y Fs(privileged)1590 1631 y Ft(Same)g(as)h Fs(-p)p Ft(.)1110
-1783 y Fs(verbose)144 b Ft(Same)30 b(as)h Fs(-v)p Ft(.)1110
-1934 y Fs(vi)384 b Ft(Use)36 b(a)g Fs(vi)p Ft(-st)m(yle)g(line)g
+1740 y(p)s(erset)30 b(of)h(that)f(standard.)1110 1909
+y Fs(privileged)1590 2019 y Ft(Same)g(as)h Fs(-p)p Ft(.)1110
+2187 y Fs(verbose)144 b Ft(Same)30 b(as)h Fs(-v)p Ft(.)1110
+2356 y Fs(vi)384 b Ft(Use)36 b(a)g Fs(vi)p Ft(-st)m(yle)g(line)g
 (editing)g(in)m(terface.)58 b(This)35 b(also)h(a\013ects)1590
-2044 y(the)31 b(editing)g(in)m(terface)h(used)d(for)h
-Fs(read)f(-e)p Ft(.)1110 2196 y Fs(xtrace)192 b Ft(Same)30
-b(as)h Fs(-x)p Ft(.)630 2347 y Fs(-p)384 b Ft(T)-8 b(urn)33
+2465 y(the)31 b(editing)g(in)m(terface)h(used)d(for)h
+Fs(read)f(-e)p Ft(.)1110 2634 y Fs(xtrace)192 b Ft(Same)30
+b(as)h Fs(-x)p Ft(.)630 2803 y Fs(-p)384 b Ft(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
-Fs($BASH_ENV)e Ft(and)h Fs($ENV)1110 2457 y Ft(\014les)23
+Fs($BASH_ENV)e Ft(and)h Fs($ENV)1110 2912 y Ft(\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 2567 y(vironmen)m(t,)h(and)e(the)g
+(inherited)g(from)f(the)i(en-)1110 3022 y(vironmen)m(t,)h(and)e(the)g
 Fs(SHELLOPTS)p Ft(,)f Fs(BASHOPTS)p Ft(,)h Fs(CDPATH)e
-Ft(and)i Fs(GLOBIGNORE)1110 2676 y Ft(v)-5 b(ariables,)23
+Ft(and)i Fs(GLOBIGNORE)1110 3131 y Ft(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 2786 y(is)37
+(ignored.)38 b(If)20 b(the)h(shell)1110 3241 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 2895 y(user)h(\(group\))h(id,)i(and)d
-(the)h Fs(-p)f Ft(option)i(is)e(not)i(supplied,)f(these)h(actions)1110
-3005 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
-3114 y Fs(-p)i Ft(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
-3224 y(T)-8 b(urning)35 b(this)i(option)g(o\013)g(causes)g(the)g
+(equal)h(to)g(the)f(real)1110 3351 y(user)d(\(group\))g(id,)i(and)e
+(the)g(`)p Fs(-p)p Ft(')g(option)h(is)g(not)f(supplied,)h(these)g
+(actions)1110 3460 y(are)d(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 3570 y(`)p Fs(-p)p Ft(')e(option)i(is)e(supplied)g
+(at)h(startup,)f(the)h(e\013ectiv)m(e)i(user)d(id)h(is)f(not)h(reset.)
+1110 3679 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
-3334 y(b)s(e)30 b(set)h(to)g(the)f(real)h(user)f(and)g(group)g(ids.)630
-3485 y Fs(-t)384 b Ft(Exit)31 b(after)g(reading)f(and)g(executing)h
-(one)g(command.)630 3637 y Fs(-u)384 b Ft(T)-8 b(reat)25
+3789 y(b)s(e)30 b(set)h(to)g(the)f(real)h(user)f(and)g(group)g(ids.)630
+3957 y Fs(-t)384 b Ft(Exit)31 b(after)g(reading)f(and)g(executing)h
+(one)g(command.)630 4126 y Fs(-u)384 b Ft(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 3747 y(eters)35 b(`)p Fs(@)p
+(sp)s(ecial)h(param-)1110 4236 y(eters)35 b(`)p Fs(@)p
 Ft(')f(or)g(`)p Fs(*)p Ft(')h(as)f(an)g(error)g(when)f(p)s(erforming)g
-(parameter)i(expansion.)1110 3856 y(An)28 b(error)h(message)g(will)g(b)
+(parameter)i(expansion.)1110 4345 y(An)28 b(error)h(message)g(will)g(b)
 s(e)f(written)h(to)h(the)e(standard)g(error,)h(and)f(a)h(non-)1110
-3966 y(in)m(teractiv)m(e)k(shell)e(will)g(exit.)630 4118
+4455 y(in)m(teractiv)m(e)k(shell)e(will)g(exit.)630 4623
 y Fs(-v)384 b Ft(Prin)m(t)30 b(shell)h(input)e(lines)i(as)g(they)f(are)
-h(read.)630 4269 y Fs(-x)384 b Ft(Prin)m(t)21 b(a)h(trace)h(of)f
+h(read.)630 4792 y Fs(-x)384 b Ft(Prin)m(t)21 b(a)h(trace)h(of)f
 (simple)f(commands,)i Fs(for)e Ft(commands,)i Fs(case)d
-Ft(commands,)1110 4379 y Fs(select)29 b Ft(commands,)j(and)e
+Ft(commands,)1110 4902 y Fs(select)29 b Ft(commands,)j(and)e
 (arithmetic)j Fs(for)d Ft(commands)h(and)f(their)i(argu-)1110
-4489 y(men)m(ts)h(or)f(asso)s(ciated)i(w)m(ord)e(lists)h(after)g(they)f
-(are)h(expanded)f(and)f(b)s(efore)1110 4598 y(they)i(are)g(executed.)49
+5011 y(men)m(ts)h(or)f(asso)s(ciated)i(w)m(ord)e(lists)h(after)g(they)f
+(are)h(expanded)f(and)f(b)s(efore)1110 5121 y(they)i(are)g(executed.)49
 b(The)32 b(v)-5 b(alue)33 b(of)g(the)g Fs(PS4)f Ft(v)-5
-b(ariable)34 b(is)f(expanded)f(and)1110 4708 y(the)24
+b(ariable)34 b(is)f(expanded)f(and)1110 5230 y(the)24
 b(resultan)m(t)h(v)-5 b(alue)24 b(is)g(prin)m(ted)g(b)s(efore)f(the)h
-(command)g(and)f(its)i(expanded)1110 4817 y(argumen)m(ts.)630
-4969 y Fs(-B)384 b Ft(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 5079
-y(Expansion],)30 b(page)h(19\).)42 b(This)30 b(option)h(is)f(on)g(b)m
-(y)h(default.)630 5230 y Fs(-C)384 b Ft(Prev)m(en)m(t)25
-b(output)e(redirection)h(using)f(`)p Fs(>)p Ft(',)i(`)p
-Fs(>&)p Ft(',)g(and)e(`)p Fs(<>)p Ft(')g(from)h(o)m(v)m(erwriting)1110
-5340 y(existing)31 b(\014les.)p eop end
+(command)g(and)f(its)i(expanded)1110 5340 y(argumen)m(ts.)p
+eop end
 %%Page: 57 63
 TeXDict begin 57 62 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(57)630 299 y Fs(-E)384
-b Ft(If)39 b(set,)j(an)m(y)e(trap)f(on)g Fs(ERR)g Ft(is)g(inherited)g
-(b)m(y)g(shell)h(functions,)h(command)1110 408 y(substitutions,)35
-b(and)e(commands)g(executed)i(in)f(a)g(subshell)f(en)m(vironmen)m(t.)
-1110 518 y(The)d Fs(ERR)f Ft(trap)i(is)f(normally)h(not)f(inherited)g
-(in)g(suc)m(h)g(cases.)630 670 y Fs(-H)384 b Ft(Enable)38
-b(`)p Fs(!)p Ft(')h(st)m(yle)h(history)e(substitution)g(\(see)h
-(Section)h(9.3)f([History)g(In-)1110 780 y(teraction],)g(page)d(129\).)
-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 890 y(shells.)630 1042 y Fs(-P)384
-b Ft(If)43 b(set,)k(do)c(not)g(follo)m(w)h(sym)m(b)s(olic)g(links)e
-(when)g(p)s(erforming)g(commands)1110 1152 y(suc)m(h)29
-b(as)h Fs(cd)f Ft(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 1261 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 1371 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
-1480 y(directory)-8 b(.)1110 1611 y(F)g(or)31 b(example,)g(if)f(`)p
-Fs(/usr/sys)p Ft(')e(is)i(a)g(sym)m(b)s(olic)h(link)f(to)g(`)p
-Fs(/usr/local/sys)p Ft(')1110 1721 y(then:)1350 1852
-y Fs($)47 b(cd)h(/usr/sys;)d(echo)i($PWD)1350 1962 y(/usr/sys)1350
-2071 y($)g(cd)h(..;)f(pwd)1350 2181 y(/usr)1110 2312
-y Ft(If)30 b Fs(set)f(-P)h Ft(is)h(on,)f(then:)1350 2443
-y Fs($)47 b(cd)h(/usr/sys;)d(echo)i($PWD)1350 2552 y(/usr/local/sys)
-1350 2662 y($)g(cd)h(..;)f(pwd)1350 2771 y(/usr/local)630
-2924 y(-T)384 b Ft(If)34 b(set,)j(an)m(y)e(trap)g(on)g
-Fs(DEBUG)e Ft(and)i Fs(RETURN)e Ft(are)i(inherited)g(b)m(y)f(shell)i
-(func-)1110 3033 y(tions,)k(command)d(substitutions,)h(and)f(commands)g
-(executed)h(in)f(a)h(sub-)1110 3143 y(shell)33 b(en)m(vironmen)m(t.)49
-b(The)32 b Fs(DEBUG)g Ft(and)g Fs(RETURN)f Ft(traps)h(are)i(normally)f
-(not)1110 3253 y(inherited)d(in)g(suc)m(h)g(cases.)630
-3405 y Fs(--)384 b Ft(If)31 b(no)h(argumen)m(ts)f(follo)m(w)i(this)f
-(option,)g(then)f(the)h(p)s(ositional)h(parameters)1110
-3515 y(are)h(unset.)49 b(Otherwise,)34 b(the)g(p)s(ositional)g
-(parameters)g(are)g(set)g(to)g(the)g Fq(ar-)1110 3624
-y(gumen)m(ts)t Ft(,)d(ev)m(en)g(if)f(some)h(of)f(them)h(b)s(egin)f
-(with)g(a)g(`)p Fs(-)p Ft('.)630 3777 y Fs(-)432 b Ft(Signal)45
-b(the)g(end)f(of)h(options,)k(cause)c(all)h(remaining)e
-Fq(argumen)m(ts)49 b Ft(to)d(b)s(e)1110 3886 y(assigned)38
-b(to)h(the)f(p)s(ositional)h(parameters.)65 b(The)37
-b(`)p Fs(-x)p Ft(')h(and)g(`)p Fs(-v)p Ft(')g(options)1110
-3996 y(are)25 b(turned)e(o\013.)40 b(If)24 b(there)h(are)g(no)f
+b(Shell)30 b(Builtin)h(Commands)2069 b(57)630 299 y Fs(-B)384
+b Ft(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(19\).)42
+b(This)30 b(option)h(is)f(on)g(b)m(y)h(default.)630 556
+y Fs(-C)384 b Ft(Prev)m(en)m(t)25 b(output)e(redirection)h(using)f(`)p
+Fs(>)p Ft(',)i(`)p Fs(>&)p Ft(',)g(and)e(`)p Fs(<>)p
+Ft(')g(from)h(o)m(v)m(erwriting)1110 666 y(existing)31
+b(\014les.)630 814 y Fs(-E)384 b Ft(If)39 b(set,)j(an)m(y)e(trap)f(on)g
+Fs(ERR)g Ft(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 Fs(ERR)f
+Ft(trap)i(is)f(normally)h(not)f(inherited)g(in)g(suc)m(h)g(cases.)630
+1181 y Fs(-H)384 b Ft(Enable)38 b(`)p Fs(!)p Ft(')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(129\).)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 Fs(-P)384 b Ft(If)43 b(set,)k(do)c(not)g(follo)m(w)h(sym)m(b)s
+(olic)g(links)e(when)g(p)s(erforming)g(commands)1110
+1657 y(suc)m(h)29 b(as)h Fs(cd)f Ft(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)31 b(example,)g(if)f(`)p Fs(/usr/sys)p
+Ft(')e(is)i(a)g(sym)m(b)s(olic)h(link)f(to)g(`)p Fs(/usr/local/sys)p
+Ft(')1110 2224 y(then:)1350 2353 y Fs($)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 Ft(If)30 b Fs(set)f(-P)h Ft(is)h(on,)f(then:)
+1350 2939 y Fs($)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 Ft(If)34 b(set,)j(an)m(y)e(trap)g
+(on)g Fs(DEBUG)e Ft(and)i Fs(RETURN)e Ft(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
+b(en)m(vironmen)m(t.)49 b(The)32 b Fs(DEBUG)g Ft(and)g
+Fs(RETURN)f Ft(traps)h(are)i(normally)f(not)1110 3745
+y(inherited)d(in)g(suc)m(h)g(cases.)630 3892 y Fs(--)384
+b Ft(If)31 b(no)h(argumen)m(ts)f(follo)m(w)i(this)f(option,)g(then)f
+(the)h(p)s(ositional)h(parameters)1110 4002 y(are)h(unset.)49
+b(Otherwise,)34 b(the)g(p)s(ositional)g(parameters)g(are)g(set)g(to)g
+(the)g Fq(ar-)1110 4112 y(gumen)m(ts)t Ft(,)d(ev)m(en)g(if)f(some)h(of)
+f(them)h(b)s(egin)f(with)g(a)g(`)p Fs(-)p Ft('.)630 4260
+y Fs(-)432 b Ft(Signal)45 b(the)g(end)f(of)h(options,)k(cause)c(all)h
+(remaining)e Fq(argumen)m(ts)49 b Ft(to)d(b)s(e)1110
+4369 y(assigned)38 b(to)h(the)f(p)s(ositional)h(parameters.)65
+b(The)37 b(`)p Fs(-x)p Ft(')h(and)g(`)p Fs(-v)p Ft(')g(options)1110
+4479 y(are)25 b(turned)e(o\013.)40 b(If)24 b(there)h(are)g(no)f
 (argumen)m(ts,)i(the)f(p)s(ositional)h(parameters)1110
-4105 y(remain)k(unc)m(hanged.)630 4258 y(Using)d(`)p
+4588 y(remain)k(unc)m(hanged.)630 4736 y(Using)d(`)p
 Fs(+)p Ft(')h(rather)f(than)g(`)p Fs(-)p Ft(')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
-4367 y(also)36 b(b)s(e)f(used)f(up)s(on)g(in)m(v)m(o)s(cation)j(of)e
+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 4477 y(found)29 b(in)h Fs($-)p Ft(.)630 4608
+(b)s(e)630 4955 y(found)29 b(in)h Fs($-)p Ft(.)630 5084
 y(The)43 b(remaining)h(N)f Fq(argumen)m(ts)48 b Ft(are)c(p)s(ositional)
-g(parameters)g(and)f(are)h(assigned,)j(in)630 4717 y(order,)30
+g(parameters)g(and)f(are)h(assigned,)j(in)630 5194 y(order,)30
 b(to)h Fs($1)p Ft(,)f Fs($2)p Ft(,)36 b(.)22 b(.)g(.)42
 b Fs($N)p Ft(.)e(The)30 b(sp)s(ecial)h(parameter)g Fs(#)f
-Ft(is)g(set)h(to)g(N.)630 4848 y(The)f(return)f(status)i(is)f(alw)m(a)m
+Ft(is)g(set)h(to)g(N.)630 5322 y(The)f(return)f(status)i(is)f(alw)m(a)m
 (ys)i(zero)f(unless)f(an)g(in)m(v)-5 b(alid)31 b(option)g(is)f
-(supplied.)150 5041 y Fj(4.3.2)63 b(The)41 b(Shopt)h(Builtin)150
-5188 y Ft(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
-5340 y Fs(shopt)p eop end
+(supplied.)p eop end
 %%Page: 58 64
 TeXDict begin 58 63 bop 150 -116 a Ft(58)2572 b(Bash)31
-b(Reference)g(Man)m(ual)870 299 y Fs(shopt)46 b([-pqsu])g([-o])h([)p
-Fi(optname)56 b Fs(...)o(])630 427 y Ft(T)-8 b(oggle)47
+b(Reference)g(Man)m(ual)150 299 y Fj(4.3.2)63 b(The)41
+b(Shopt)h(Builtin)150 446 y Ft(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 Fs(shopt)870 756 y(shopt)46 b([-pqsu])g([-o])h([)p
+Fi(optname)56 b Fs(...)o(])630 895 y Ft(T)-8 b(oggle)47
 b(the)d(v)-5 b(alues)45 b(of)g(v)-5 b(ariables)45 b(con)m(trolling)i
 (optional)f(shell)e(b)s(eha)m(vior.)84 b(With)45 b(no)630
-536 y(options,)32 b(or)f(with)g(the)g(`)p Fs(-p)p Ft(')g(option,)h(a)g
+1004 y(options,)32 b(or)f(with)g(the)g(`)p Fs(-p)p Ft(')g(option,)h(a)g
 (list)f(of)h(all)g(settable)g(options)g(is)f(displa)m(y)m(ed,)h(with)
-630 646 y(an)i(indication)i(of)f(whether)f(or)g(not)h(eac)m(h)h(is)e
+630 1114 y(an)i(indication)i(of)f(whether)f(or)g(not)h(eac)m(h)h(is)e
 (set.)54 b(The)34 b(`)p Fs(-p)p Ft(')h(option)g(causes)g(output)f(to)
-630 756 y(b)s(e)i(displa)m(y)m(ed)h(in)e(a)i(form)f(that)h(ma)m(y)g(b)s
-(e)e(reused)h(as)g(input.)58 b(Other)36 b(options)g(ha)m(v)m(e)i(the)
-630 865 y(follo)m(wing)32 b(meanings:)630 1011 y Fs(-s)384
+630 1224 y(b)s(e)i(displa)m(y)m(ed)h(in)e(a)i(form)f(that)h(ma)m(y)g(b)
+s(e)e(reused)h(as)g(input.)58 b(Other)36 b(options)g(ha)m(v)m(e)i(the)
+630 1333 y(follo)m(wing)32 b(meanings:)630 1501 y Fs(-s)384
 b Ft(Enable)30 b(\(set\))i(eac)m(h)f Fq(optname)5 b Ft(.)630
-1157 y Fs(-u)384 b Ft(Disable)31 b(\(unset\))g(eac)m(h)h
-Fq(optname)5 b Ft(.)630 1303 y Fs(-q)384 b Ft(Suppresses)28
+1668 y Fs(-u)384 b Ft(Disable)31 b(\(unset\))g(eac)m(h)h
+Fq(optname)5 b Ft(.)630 1836 y Fs(-q)384 b Ft(Suppresses)28
 b(normal)h(output;)h(the)g(return)e(status)i(indicates)h(whether)e(the)
-1110 1413 y Fq(optname)37 b Ft(is)31 b(set)h(or)f(unset.)43
+1110 1946 y Fq(optname)37 b Ft(is)31 b(set)h(or)f(unset.)43
 b(If)31 b(m)m(ultiple)h Fq(optname)37 b Ft(argumen)m(ts)31
-b(are)h(giv)m(en)1110 1523 y(with)43 b(`)p Fs(-q)p Ft(',)j(the)d
+b(are)h(giv)m(en)1110 2055 y(with)43 b(`)p Fs(-q)p Ft(',)j(the)d
 (return)f(status)h(is)g(zero)h(if)f(all)g Fq(optnames)k
-Ft(are)d(enabled;)1110 1632 y(non-zero)31 b(otherwise.)630
-1778 y Fs(-o)384 b Ft(Restricts)28 b(the)g(v)-5 b(alues)28
+Ft(are)d(enabled;)1110 2165 y(non-zero)31 b(otherwise.)630
+2333 y Fs(-o)384 b Ft(Restricts)28 b(the)g(v)-5 b(alues)28
 b(of)f Fq(optname)33 b Ft(to)c(b)s(e)d(those)i(de\014ned)f(for)g(the)g
-(`)p Fs(-o)p Ft(')h(op-)1110 1888 y(tion)23 b(to)h(the)f
+(`)p Fs(-o)p Ft(')h(op-)1110 2442 y(tion)23 b(to)h(the)f
 Fs(set)f Ft(builtin)h(\(see)g(Section)h(4.3.1)h([The)d(Set)i(Builtin],)
-h(page)e(54\).)630 2034 y(If)29 b(either)i(`)p Fs(-s)p
-Ft(')f(or)g(`)p Fs(-u)p Ft(')f(is)h(used)g(with)f(no)h
-Fq(optname)35 b Ft(argumen)m(ts,)c(the)f(displa)m(y)g(is)g(limited)630
-2144 y(to)h(those)g(options)g(whic)m(h)f(are)h(set)f(or)h(unset,)f
-(resp)s(ectiv)m(ely)-8 b(.)630 2271 y(Unless)30 b(otherwise)h(noted,)g
-(the)g Fs(shopt)d Ft(options)j(are)g(disabled)f(\(o\013)7
-b(\))32 b(b)m(y)e(default.)630 2399 y(The)d(return)f(status)i(when)f
-(listing)h(options)g(is)f(zero)i(if)e(all)i Fq(optnames)i
-Ft(are)d(enabled,)g(non-)630 2509 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 2619 y(unless)30 b(an)g Fq(optname)36
-b Ft(is)30 b(not)h(a)g(v)-5 b(alid)30 b(shell)h(option.)630
-2746 y(The)f(list)h(of)f Fs(shopt)f Ft(options)i(is:)630
-2892 y Fs(autocd)192 b Ft(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
-3002 y(as)j(if)f(it)h(w)m(ere)f(the)h(argumen)m(t)g(to)g(the)f
-Fs(cd)g Ft(command.)40 b(This)29 b(option)g(is)h(only)1110
-3112 y(used)g(b)m(y)g(in)m(teractiv)m(e)j(shells.)630
-3258 y Fs(cdable_vars)1110 3367 y Ft(If)h(this)h(is)g(set,)i(an)e
-(argumen)m(t)g(to)h(the)f Fs(cd)f Ft(builtin)h(command)f(that)i(is)f
-(not)1110 3477 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 3587 y(the)g(directory)f(to)i(c)m(hange)f(to.)630
-3733 y Fs(cdspell)144 b Ft(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
-Fs(cd)1110 3842 y Ft(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
-3952 y(c)m(haracters,)46 b(a)c(missing)f(c)m(haracter,)47
+h(page)e(54\).)630 2610 y(If)40 b(either)g(`)p Fs(-s)p
+Ft(')g(or)g(`)p Fs(-u)p Ft(')g(is)g(used)g(with)g(no)g
+Fq(optname)45 b Ft(argumen)m(ts,)e Fs(shopt)c Ft(sho)m(ws)h(only)630
+2719 y(those)31 b(options)g(whic)m(h)f(are)g(set)h(or)g(unset,)f(resp)s
+(ectiv)m(ely)-8 b(.)630 2858 y(Unless)30 b(otherwise)h(noted,)g(the)g
+Fs(shopt)d Ft(options)j(are)g(disabled)f(\(o\013)7 b(\))32
+b(b)m(y)e(default.)630 2997 y(The)d(return)f(status)i(when)f(listing)h
+(options)g(is)f(zero)i(if)e(all)i Fq(optnames)i Ft(are)d(enabled,)g
+(non-)630 3106 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
+3216 y(unless)30 b(an)g Fq(optname)36 b Ft(is)30 b(not)h(a)g(v)-5
+b(alid)30 b(shell)h(option.)630 3354 y(The)f(list)h(of)f
+Fs(shopt)f Ft(options)i(is:)630 3522 y Fs(autocd)192
+b Ft(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 3632 y(as)j(if)f(it)h(w)m(ere)f
+(the)h(argumen)m(t)g(to)g(the)f Fs(cd)g Ft(command.)40
+b(This)29 b(option)g(is)h(only)1110 3741 y(used)g(b)m(y)g(in)m
+(teractiv)m(e)j(shells.)630 3909 y Fs(cdable_vars)1110
+4018 y Ft(If)h(this)h(is)g(set,)i(an)e(argumen)m(t)g(to)h(the)f
+Fs(cd)f Ft(builtin)h(command)f(that)i(is)f(not)1110 4128
+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 4238
+y(the)g(directory)f(to)i(c)m(hange)f(to.)630 4405 y Fs(cdspell)144
+b Ft(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 Fs(cd)1110 4515
+y Ft(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
+4624 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 4061 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 4171
+b(If)42 b(a)1110 4734 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 4844
 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 4317 y Fs(checkhash)1110
-4427 y Ft(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 4536
+(teractiv)m(e)k(shells.)630 5011 y Fs(checkhash)1110
+5121 y Ft(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 5230
 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 4646
-y(exists,)f(a)g(normal)f(path)g(searc)m(h)h(is)g(p)s(erformed.)630
-4792 y Fs(checkjobs)1110 4902 y Ft(If)d(set,)i(Bash)e(lists)h(the)g
-(status)g(of)f(an)m(y)h(stopp)s(ed)f(and)g(running)e(jobs)i(b)s(efore)
-1110 5011 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
-5121 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 5230 y(in)m(terv)m(ening)j
-(command)e(\(see)h(Chapter)f(7)h([Job)f(Con)m(trol],)i(page)f(93\).)42
-b(The)1110 5340 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.)p eop end
+b(If)32 b(a)h(hashed)e(command)i(no)f(longer)1110 5340
+y(exists,)f(a)g(normal)f(path)g(searc)m(h)h(is)g(p)s(erformed.)p
+eop end
 %%Page: 59 65
 TeXDict begin 59 64 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(59)630 299 y Fs(checkwinsize)
-1110 408 y Ft(If)41 b(set,)k(Bash)c(c)m(hec)m(ks)i(the)f(windo)m(w)e
-(size)j(after)f(eac)m(h)g(command)f(and,)j(if)1110 518
-y(necessary)-8 b(,)31 b(up)s(dates)f(the)g(v)-5 b(alues)31
-b(of)g Fs(LINES)e Ft(and)g Fs(COLUMNS)p Ft(.)630 687
-y Fs(cmdhist)144 b Ft(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
-797 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
-907 y(commands.)630 1076 y Fs(compat31)96 b Ft(If)27
-b(set,)i(Bash)e(c)m(hanges)i(its)f(b)s(eha)m(vior)f(to)i(that)f(of)f(v)
-m(ersion)h(3.1)h(with)e(resp)s(ect)1110 1186 y(to)k(quoted)g(argumen)m
-(ts)f(to)h(the)g(conditional)h(command's)e(`)p Fs(=~)p
-Ft(')g(op)s(erator.)630 1355 y Fs(compat32)96 b Ft(If)27
-b(set,)i(Bash)e(c)m(hanges)i(its)f(b)s(eha)m(vior)f(to)i(that)f(of)f(v)
-m(ersion)h(3.2)h(with)e(resp)s(ect)1110 1465 y(to)h(lo)s(cale-sp)s
-(eci\014c)g(string)f(comparison)g(when)f(using)g(the)h(`)p
-Fs([[)p Ft(')g(conditional)1110 1574 y(command's)36 b(`)p
-Fs(<)p Ft(')g(and)f(`)p Fs(>)p Ft(')h(op)s(erators.)57
-b(Bash)36 b(v)m(ersions)g(prior)f(to)h(bash-4.0)1110
-1684 y(use)29 b(ASCI)s(I)f(collation)k(and)d(strcmp\(3\);)h(bash-4.1)g
-(and)f(later)h(use)g(the)f(cur-)1110 1793 y(ren)m(t)i(lo)s(cale's)h
-(collation)g(sequence)f(and)f(strcoll\(3\).)630 1963
+b(Shell)30 b(Builtin)h(Commands)2069 b(59)630 299 y Fs(checkjobs)1110
+408 y Ft(If)28 b(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 518
+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
+628 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 737 y(in)m(terv)m(ening)j
+(command)e(\(see)h(Chapter)f(7)h([Job)f(Con)m(trol],)i(page)f(93\).)42
+b(The)1110 847 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 998 y Fs(checkwinsize)1110
+1107 y Ft(If)41 b(set,)k(Bash)c(c)m(hec)m(ks)i(the)f(windo)m(w)e(size)j
+(after)f(eac)m(h)g(command)f(and,)j(if)1110 1217 y(necessary)-8
+b(,)31 b(up)s(dates)f(the)g(v)-5 b(alues)31 b(of)g Fs(LINES)e
+Ft(and)g Fs(COLUMNS)p Ft(.)630 1367 y Fs(cmdhist)144
+b Ft(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 1477 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 1587 y(commands.)630
+1737 y Fs(compat31)96 b Ft(If)27 b(set,)i(Bash)e(c)m(hanges)i(its)f(b)s
+(eha)m(vior)f(to)i(that)f(of)f(v)m(ersion)h(3.1)h(with)e(resp)s(ect)
+1110 1847 y(to)k(quoted)g(argumen)m(ts)f(to)h(the)g(conditional)h
+(command's)e(`)p Fs(=~)p Ft(')g(op)s(erator.)630 1998
+y Fs(compat32)96 b Ft(If)27 b(set,)i(Bash)e(c)m(hanges)i(its)f(b)s(eha)
+m(vior)f(to)i(that)f(of)f(v)m(ersion)h(3.2)h(with)e(resp)s(ect)1110
+2107 y(to)h(lo)s(cale-sp)s(eci\014c)g(string)f(comparison)g(when)f
+(using)g(the)h(`)p Fs([[)p Ft(')g(conditional)1110 2217
+y(command's)36 b(`)p Fs(<)p Ft(')g(and)f(`)p Fs(>)p Ft(')h(op)s
+(erators.)57 b(Bash)36 b(v)m(ersions)g(prior)f(to)h(bash-4.0)1110
+2326 y(use)29 b(ASCI)s(I)f(collation)k(and)d(strcmp\(3\);)h(bash-4.1)g
+(and)f(later)h(use)g(the)f(cur-)1110 2436 y(ren)m(t)i(lo)s(cale's)h
+(collation)g(sequence)f(and)f(strcoll\(3\).)630 2587
 y Fs(compat40)96 b Ft(If)27 b(set,)i(Bash)e(c)m(hanges)i(its)f(b)s(eha)
 m(vior)f(to)i(that)f(of)f(v)m(ersion)h(4.0)h(with)e(resp)s(ect)1110
-2072 y(to)h(lo)s(cale-sp)s(eci\014c)g(string)f(comparison)g(when)f
-(using)g(the)h(`)p Fs([[)p Ft(')g(conditional)1110 2182
+2696 y(to)h(lo)s(cale-sp)s(eci\014c)g(string)f(comparison)g(when)f
+(using)g(the)h(`)p Fs([[)p Ft(')g(conditional)1110 2806
 y(command's)j(`)p Fs(<)p Ft(')h(and)e(`)p Fs(>)p Ft(')i(op)s(erators)f
 (\(see)h(previous)f(item\))h(and)f(the)g(e\013ect)1110
-2291 y(of)h(in)m(terrupting)f(a)g(command)h(list.)630
-2461 y Fs(compat41)96 b Ft(If)27 b(set,)i(Bash,)g(when)e(in)g(p)s(osix)
+2915 y(of)h(in)m(terrupting)f(a)g(command)h(list.)630
+3066 y Fs(compat41)96 b Ft(If)27 b(set,)i(Bash,)g(when)e(in)g(p)s(osix)
 g(mo)s(de,)h(treats)h(a)f(single)g(quote)h(in)e(a)h(double-)1110
-2570 y(quoted)46 b(parameter)h(expansion)f(as)g(a)h(sp)s(ecial)f(c)m
-(haracter.)90 b(The)45 b(single)1110 2680 y(quotes)34
+3176 y(quoted)46 b(parameter)h(expansion)f(as)g(a)h(sp)s(ecial)f(c)m
+(haracter.)90 b(The)45 b(single)1110 3285 y(quotes)34
 b(m)m(ust)g(matc)m(h)h(\(an)f(ev)m(en)h(n)m(um)m(b)s(er\))e(and)g(the)h
-(c)m(haracters)h(b)s(et)m(w)m(een)1110 2790 y(the)40
+(c)m(haracters)h(b)s(et)m(w)m(een)1110 3395 y(the)40
 b(single)g(quotes)g(are)g(considered)g(quoted.)69 b(This)38
-b(is)i(the)g(b)s(eha)m(vior)g(of)1110 2899 y Fl(posix)f
+b(is)i(the)g(b)s(eha)m(vior)g(of)1110 3504 y Fl(posix)f
 Ft(mo)s(de)g(through)g(v)m(ersion)h(4.1.)69 b(The)39
-b(default)g(Bash)h(b)s(eha)m(vior)g(re-)1110 3009 y(mains)30
-b(as)h(in)f(previous)g(v)m(ersions.)630 3178 y Fs(direxpand)1110
-3288 y Ft(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 3397 y(pansion)k(when)g(p)s
-(erforming)f(\014lename)i(completion.)67 b(This)38 b(c)m(hanges)i(the)
-1110 3507 y(con)m(ten)m(ts)29 b(of)e(the)g(readline)h(editing)g
-(bu\013er.)38 b(If)27 b(not)g(set,)i(Bash)e(attempts)h(to)1110
-3616 y(preserv)m(e)j(what)f(the)g(user)g(t)m(yp)s(ed.)630
-3786 y Fs(dirspell)96 b Ft(If)26 b(set,)i(Bash)f(attempts)g(sp)s
-(elling)g(correction)g(on)g(directory)g(names)f(during)1110
-3895 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 4005 y(exist.)630
-4174 y Fs(dotglob)144 b Ft(If)27 b(set,)i(Bash)f(includes)g
-(\014lenames)g(b)s(eginning)f(with)g(a)h(`.')41 b(in)27
-b(the)h(results)g(of)1110 4284 y(\014lename)j(expansion.)630
-4453 y Fs(execfail)96 b Ft(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 4563 y(the)i(\014le)g(sp)s(eci\014ed)g(as)g(an)g(argumen)m(t)g(to)
-h(the)f Fs(exec)f Ft(builtin)h(command.)39 b(An)1110
-4672 y(in)m(teractiv)m(e)33 b(shell)e(do)s(es)f(not)g(exit)i(if)e
-Fs(exec)f Ft(fails.)630 4842 y Fs(expand_aliases)1110
-4951 y Ft(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 5061 y(tion)38
-b(6.6)h([Aliases],)j(page)d(83.)64 b(This)37 b(option)h(is)g(enabled)g
-(b)m(y)g(default)g(for)1110 5171 y(in)m(teractiv)m(e)33
-b(shells.)630 5340 y Fs(extdebug)96 b Ft(If)30 b(set,)h(b)s(eha)m(vior)
-g(in)m(tended)f(for)g(use)g(b)m(y)g(debuggers)g(is)h(enabled:)p
-eop end
+b(default)g(Bash)h(b)s(eha)m(vior)g(re-)1110 3614 y(mains)30
+b(as)h(in)f(previous)g(v)m(ersions.)630 3765 y Fs(complete_fullquote)
+1110 3874 y Ft(If)h(set,)g(Bash)h(quotes)f(all)h(shell)f(metac)m
+(haracters)i(in)e(\014lenames)g(and)g(direc-)1110 3984
+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 4093
+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 4203 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 4313 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 4422 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
+4532 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 4641
+y(\014lenames)j(will)h(not)f(b)s(e)g(quoted,)h(either.)41
+b(This)28 b(is)i(activ)m(e)h(only)e(when)g(bash)1110
+4751 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 4861
+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 4970 y(through)30
+b(4.2.)630 5121 y Fs(direxpand)1110 5230 y Ft(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 5340 y(pansion)k(when)g(p)s(erforming)f(\014lename)i
+(completion.)67 b(This)38 b(c)m(hanges)i(the)p eop end
 %%Page: 60 66
 TeXDict begin 60 65 bop 150 -116 a Ft(60)2572 b(Bash)31
-b(Reference)g(Man)m(ual)1159 299 y(1.)61 b(The)32 b(`)p
-Fs(-F)p Ft(')g(option)h(to)g(the)g Fs(declare)d Ft(builtin)i(\(see)i
-(Section)f(4.2)h([Bash)1290 408 y(Builtins],)29 b(page)g(43\))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
-Fs(DEBUG)g Ft(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 Fs(DEBUG)f Ft(trap)h(returns)f(a)i(v)-5 b(alue)38
-b(of)f(2,)1290 1130 y(and)c(the)g(shell)h(is)f(executing)i(in)e(a)h
-(subroutine)e(\(a)i(shell)g(function)f(or)1290 1240 y(a)h(shell)h
+b(Reference)g(Man)m(ual)1110 299 y(con)m(ten)m(ts)e(of)e(the)g
+(readline)h(editing)g(bu\013er.)38 b(If)27 b(not)g(set,)i(Bash)e
+(attempts)h(to)1110 408 y(preserv)m(e)j(what)f(the)g(user)g(t)m(yp)s
+(ed.)630 555 y Fs(dirspell)96 b Ft(If)26 b(set,)i(Bash)f(attempts)g(sp)
+s(elling)g(correction)g(on)g(directory)g(names)f(during)1110
+664 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 774 y(exist.)630
+920 y Fs(dotglob)144 b Ft(If)27 b(set,)i(Bash)f(includes)g(\014lenames)
+g(b)s(eginning)f(with)g(a)h(`.')41 b(in)27 b(the)h(results)g(of)1110
+1029 y(\014lename)j(expansion.)630 1176 y Fs(execfail)96
+b Ft(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
+1285 y(the)i(\014le)g(sp)s(eci\014ed)g(as)g(an)g(argumen)m(t)g(to)h
+(the)f Fs(exec)f Ft(builtin)h(command.)39 b(An)1110 1395
+y(in)m(teractiv)m(e)33 b(shell)e(do)s(es)f(not)g(exit)i(if)e
+Fs(exec)f Ft(fails.)630 1541 y Fs(expand_aliases)1110
+1650 y Ft(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 1760 y(tion)38
+b(6.6)h([Aliases],)j(page)d(83.)64 b(This)37 b(option)h(is)g(enabled)g
+(b)m(y)g(default)g(for)1110 1870 y(in)m(teractiv)m(e)33
+b(shells.)630 2016 y Fs(extdebug)96 b Ft(If)30 b(set,)h(b)s(eha)m(vior)
+g(in)m(tended)f(for)g(use)g(b)m(y)g(debuggers)g(is)h(enabled:)1159
+2144 y(1.)61 b(The)32 b(`)p Fs(-F)p Ft(')g(option)h(to)g(the)g
+Fs(declare)d Ft(builtin)i(\(see)i(Section)f(4.2)h([Bash)1290
+2253 y(Builtins],)29 b(page)g(44\))g(displa)m(ys)f(the)g(source)h
+(\014le)f(name)g(and)f(line)h(n)m(um-)1290 2363 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 2472 y(men)m(t.)1159 2600 y(2.)61 b(If)20 b(the)h(command)g(run)e
+(b)m(y)i(the)f Fs(DEBUG)g Ft(trap)g(returns)g(a)h(non-zero)g(v)-5
+b(alue,)1290 2710 y(the)31 b(next)f(command)g(is)h(skipp)s(ed)e(and)g
+(not)i(executed.)1159 2838 y(3.)61 b(If)37 b(the)g(command)g(run)f(b)m
+(y)i(the)f Fs(DEBUG)f Ft(trap)h(returns)f(a)i(v)-5 b(alue)38
+b(of)f(2,)1290 2947 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 3057 y(a)h(shell)h
 (script)f(executed)h(b)m(y)f(the)g Fs(.)g Ft(or)g Fs(source)e
-Ft(builtins\),)j(a)g(call)g(to)1290 1350 y Fs(return)29
-b Ft(is)h(sim)m(ulated.)1159 1491 y(4.)61 b Fs(BASH_ARGC)34
+Ft(builtins\),)j(a)g(call)g(to)1290 3166 y Fs(return)29
+b Ft(is)h(sim)m(ulated.)1159 3294 y(4.)61 b Fs(BASH_ARGC)34
 b Ft(and)i Fs(BASH_ARGV)e Ft(are)j(up)s(dated)e(as)h(describ)s(ed)g(in)
-g(their)1290 1601 y(descriptions)30 b(\(see)i(Section)f(5.2)g([Bash)g
-(V)-8 b(ariables],)32 b(page)f(65\).)1159 1743 y(5.)61
+g(their)1290 3404 y(descriptions)30 b(\(see)i(Section)f(5.2)g([Bash)g
+(V)-8 b(ariables],)32 b(page)f(65\).)1159 3532 y(5.)61
 b(F)-8 b(unction)57 b(tracing)g(is)g(enabled:)93 b(command)56
-b(substitution,)63 b(shell)1290 1852 y(functions,)30
+b(substitution,)63 b(shell)1290 3641 y(functions,)30
 b(and)f(subshells)g(in)m(v)m(ok)m(ed)j(with)d Fs(\()h
-Fi(command)39 b Fs(\))30 b Ft(inherit)g(the)1290 1962
-y Fs(DEBUG)f Ft(and)h Fs(RETURN)e Ft(traps.)1159 2104
+Fi(command)39 b Fs(\))30 b Ft(inherit)g(the)1290 3751
+y Fs(DEBUG)f Ft(and)h Fs(RETURN)e Ft(traps.)1159 3879
 y(6.)61 b(Error)41 b(tracing)i(is)f(enabled:)63 b(command)42
-b(substitution,)i(shell)f(func-)1290 2213 y(tions,)30
+b(substitution,)i(shell)f(func-)1290 3988 y(tions,)30
 b(and)f(subshells)g(in)m(v)m(ok)m(ed)i(with)e Fs(\()h
 Fi(command)39 b Fs(\))29 b Ft(inherit)g(the)h Fs(ERR)1290
-2323 y Ft(trap.)630 2497 y Fs(extglob)144 b Ft(If)26
+4098 y Ft(trap.)630 4244 y Fs(extglob)144 b Ft(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 2607 y(Section)j(3.5.8.1)i([P)m
+(ed)e(ab)s(o)m(v)m(e)j(\(see)1110 4354 y(Section)j(3.5.8.1)i([P)m
 (attern)f(Matc)m(hing],)g(page)f(26\))h(are)f(enabled.)630
-2781 y Fs(extquote)96 b Ft(If)49 b(set,)54 b Fs($')p
+4500 y Fs(extquote)96 b Ft(If)49 b(set,)54 b Fs($')p
 Fi(string)11 b Fs(')46 b Ft(and)j Fs($")p Fi(string)11
 b Fs(")46 b Ft(quoting)k(is)f(p)s(erformed)e(within)1110
-2890 y Fs(${)p Fi(parameter)11 b Fs(})30 b Ft(expansions)j(enclosed)h
-(in)g(double)f(quotes.)51 b(This)32 b(option)1110 3000
-y(is)e(enabled)h(b)m(y)f(default.)630 3174 y Fs(failglob)96
+4609 y Fs(${)p Fi(parameter)11 b Fs(})30 b Ft(expansions)j(enclosed)h
+(in)g(double)f(quotes.)51 b(This)32 b(option)1110 4719
+y(is)e(enabled)h(b)m(y)f(default.)630 4865 y Fs(failglob)96
 b Ft(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 Fs(force_fignore)
-1110 3567 y Ft(If)43 b(set,)k(the)d(su\016xes)f(sp)s(eci\014ed)f(b)m(y)
+(\014lenames)f(during)g(\014lename)g(ex-)1110 4975 y(pansion)30
+b(result)g(in)g(an)g(expansion)h(error.)630 5121 y Fs(force_fignore)
+1110 5230 y Ft(If)43 b(set,)k(the)d(su\016xes)f(sp)s(eci\014ed)f(b)m(y)
 i(the)f Fs(FIGNORE)f Ft(shell)h(v)-5 b(ariable)44 b(cause)1110
-3677 y(w)m(ords)31 b(to)h(b)s(e)f(ignored)h(when)f(p)s(erforming)f(w)m
-(ord)h(completion)i(ev)m(en)f(if)g(the)1110 3786 y(ignored)37
-b(w)m(ords)g(are)g(the)h(only)f(p)s(ossible)g(completions.)62
-b(See)37 b(Section)h(5.2)1110 3896 y([Bash)24 b(V)-8
-b(ariables],)27 b(page)e(65,)h(for)d(a)h(description)g(of)g
-Fs(FIGNORE)p Ft(.)37 b(This)22 b(option)1110 4006 y(is)30
-b(enabled)h(b)m(y)f(default.)630 4180 y Fs(globasciiranges)1110
-4289 y Ft(If)87 b(set,)104 b(range)88 b(expressions)f(used)g(in)h
-(pattern)g(matc)m(hing)h(\(see)1110 4399 y(Section)43
-b(3.5.8.1)i([P)m(attern)f(Matc)m(hing],)j(page)c(26\))h(b)s(eha)m(v)m
-(e)f(as)f(if)h(in)f(the)1110 4508 y(traditional)h(C)e(lo)s(cale)i(when)
-e(p)s(erforming)f(comparisons.)75 b(That)41 b(is,)k(the)1110
-4618 y(curren)m(t)31 b(lo)s(cale's)i(collating)g(sequence)e(is)g(not)h
-(tak)m(en)g(in)m(to)g(accoun)m(t,)h(so)e(`)p Fs(b)p Ft(')1110
-4728 y(will)g(not)g(collate)i(b)s(et)m(w)m(een)e(`)p
-Fs(A)p Ft(')g(and)f(`)p Fs(B)p Ft(',)h(and)f(upp)s(er-case)g(and)g(lo)m
-(w)m(er-case)1110 4837 y(ASCI)s(I)f(c)m(haracters)j(will)e(collate)j
-(together.)630 5011 y Fs(globstar)96 b Ft(If)38 b(set,)j(the)e(pattern)
-f(`)p Fs(**)p Ft(')h(used)e(in)i(a)f(\014lename)h(expansion)f(con)m
-(text)j(will)1110 5121 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
-5230 y(the)30 b(pattern)g(is)g(follo)m(w)m(ed)i(b)m(y)d(a)i(`)p
-Fs(/)p Ft(',)f(only)g(directories)h(and)f(sub)s(directories)1110
-5340 y(matc)m(h.)p eop end
+5340 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)p eop end
 %%Page: 61 67
 TeXDict begin 61 66 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(61)630 299 y Fs(gnu_errfmt)1110
-408 y Ft(If)35 b(set,)j(shell)e(error)g(messages)g(are)h(written)e(in)h
-(the)g(standard)f Fl(gnu)g Ft(error)1110 518 y(message)c(format.)630
-667 y Fs(histappend)1110 777 y Ft(If)c(set,)j(the)e(history)g(list)g
+b(Shell)30 b(Builtin)h(Commands)2069 b(61)1110 299 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 408 y([Bash)24 b(V)-8 b(ariables],)27
+b(page)e(65,)h(for)d(a)h(description)g(of)g Fs(FIGNORE)p
+Ft(.)37 b(This)22 b(option)1110 518 y(is)30 b(enabled)h(b)m(y)f
+(default.)630 701 y Fs(globasciiranges)1110 810 y Ft(If)87
+b(set,)104 b(range)88 b(expressions)f(used)g(in)h(pattern)g(matc)m
+(hing)h(\(see)1110 920 y(Section)43 b(3.5.8.1)i([P)m(attern)f(Matc)m
+(hing],)j(page)c(26\))h(b)s(eha)m(v)m(e)f(as)f(if)h(in)f(the)1110
+1029 y(traditional)h(C)e(lo)s(cale)i(when)e(p)s(erforming)f
+(comparisons.)75 b(That)41 b(is,)k(the)1110 1139 y(curren)m(t)31
+b(lo)s(cale's)i(collating)g(sequence)e(is)g(not)h(tak)m(en)g(in)m(to)g
+(accoun)m(t,)h(so)e(`)p Fs(b)p Ft(')1110 1249 y(will)g(not)g(collate)i
+(b)s(et)m(w)m(een)e(`)p Fs(A)p Ft(')g(and)f(`)p Fs(B)p
+Ft(',)h(and)f(upp)s(er-case)g(and)g(lo)m(w)m(er-case)1110
+1358 y(ASCI)s(I)f(c)m(haracters)j(will)e(collate)j(together.)630
+1541 y Fs(globstar)96 b Ft(If)38 b(set,)j(the)e(pattern)f(`)p
+Fs(**)p Ft(')h(used)e(in)i(a)f(\014lename)h(expansion)f(con)m(text)j
+(will)1110 1650 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
+1760 y(the)30 b(pattern)g(is)g(follo)m(w)m(ed)i(b)m(y)d(a)i(`)p
+Fs(/)p Ft(',)f(only)g(directories)h(and)f(sub)s(directories)1110
+1870 y(matc)m(h.)630 2052 y Fs(gnu_errfmt)1110 2162 y
+Ft(If)35 b(set,)j(shell)e(error)g(messages)g(are)h(written)e(in)h(the)g
+(standard)f Fl(gnu)g Ft(error)1110 2271 y(message)c(format.)630
+2454 y Fs(histappend)1110 2564 y Ft(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 887 y(the)d Fs(HISTFILE)d Ft(v)-5
+b(alue)29 b(of)1110 2673 y(the)d Fs(HISTFILE)d Ft(v)-5
 b(ariable)26 b(when)e(the)h(shell)h(exits,)h(rather)e(than)h(o)m(v)m
-(erwriting)1110 996 y(the)31 b(\014le.)630 1146 y Fs(histreedit)1110
-1255 y Ft(If)i(set,)h(and)f(Readline)h(is)f(b)s(eing)g(used,)g(a)g
+(erwriting)1110 2783 y(the)31 b(\014le.)630 2966 y Fs(histreedit)1110
+3075 y Ft(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
-1365 y(to)d(re-edit)g(a)g(failed)g(history)f(substitution.)630
-1514 y Fs(histverify)1110 1624 y Ft(If)35 b(set,)i(and)e(Readline)h(is)
+3185 y(to)d(re-edit)g(a)g(failed)g(history)f(substitution.)630
+3367 y Fs(histverify)1110 3477 y Ft(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
-1733 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 1843 y(resulting)i(line)f(is)h
+3587 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 3696 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 1953 y(further)29 b(mo)s(di\014cation.)630 2102
-y Fs(hostcomplete)1110 2212 y Ft(If)38 b(set,)j(and)c(Readline)i(is)f
+1110 3806 y(further)29 b(mo)s(di\014cation.)630 3988
+y Fs(hostcomplete)1110 4098 y Ft(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
-2321 y(hostname)d(completion)h(when)e(a)h(w)m(ord)f(con)m(taining)i(a)f
-(`)p Fs(@)p Ft(')g(is)g(b)s(eing)f(com-)1110 2431 y(pleted)g(\(see)h
+4208 y(hostname)d(completion)h(when)e(a)h(w)m(ord)f(con)m(taining)i(a)f
+(`)p Fs(@)p Ft(')g(is)g(b)s(eing)f(com-)1110 4317 y(pleted)g(\(see)h
 (Section)f(8.4.6)i([Commands)d(F)-8 b(or)36 b(Completion],)g(page)g
-(115\).)1110 2540 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)
-630 2690 y Fs(huponexit)1110 2800 y Ft(If)i(set,)i(Bash)f(will)h(send)d
+(115\).)1110 4427 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)
+630 4609 y Fs(huponexit)1110 4719 y Ft(If)i(set,)i(Bash)f(will)h(send)d
 Fs(SIGHUP)h Ft(to)h(all)h(jobs)e(when)g(an)g(in)m(teractiv)m(e)k(login)
-1110 2909 y(shell)31 b(exits)g(\(see)g(Section)g(3.7.6)h([Signals],)g
-(page)f(34\).)630 3059 y Fs(interactive_comments)1110
-3168 y Ft(Allo)m(w)c(a)g(w)m(ord)e(b)s(eginning)g(with)h(`)p
+1110 4829 y(shell)31 b(exits)g(\(see)g(Section)g(3.7.6)h([Signals],)g
+(page)f(34\).)630 5011 y Fs(interactive_comments)1110
+5121 y Ft(Allo)m(w)c(a)g(w)m(ord)e(b)s(eginning)g(with)h(`)p
 Fs(#)p Ft(')g(to)h(cause)f(that)h(w)m(ord)f(and)f(all)i(remain-)1110
-3278 y(ing)41 b(c)m(haracters)i(on)e(that)h(line)g(to)g(b)s(e)f
+5230 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
-3387 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)630
-3537 y Fs(lastpipe)96 b Ft(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
-3646 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 3756 y(en)m(vironmen)m
-(t.)630 3905 y Fs(lithist)144 b Ft(If)22 b(enabled,)i(and)d(the)h
-Fs(cmdhist)e Ft(option)j(is)f(enabled,)i(m)m(ulti-line)f(commands)1110
-4015 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 4125 y(semicolon)32
-b(separators)f(where)e(p)s(ossible.)630 4274 y Fs(login_shell)1110
-4384 y Ft(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
-4493 y(tion)29 b(6.1)g([In)m(v)m(oking)h(Bash],)f(page)g(75\).)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
-4643 y Fs(mailwarn)96 b Ft(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 4752 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 Fs("The)k(mail)h(in)f Fi(mail-)1110
-4862 y(file)40 b Fs(has)29 b(been)g(read")g Ft(is)i(displa)m(y)m(ed.)
-630 5011 y Fs(no_empty_cmd_completion)1110 5121 y Ft(If)f(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 Fs(PATH)f Ft(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
+5340 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)p
+eop end
 %%Page: 62 68
 TeXDict begin 62 67 bop 150 -116 a Ft(62)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y Fs(nocaseglob)1110
-408 y Ft(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 676 y Fs(nocasematch)1110
-786 y Ft(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 895 y(p)s(erforming)31
+b(Reference)g(Man)m(ual)630 299 y Fs(lastpipe)96 b Ft(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 408 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 518 y(en)m(vironmen)m(t.)630 677 y Fs(lithist)144
+b Ft(If)22 b(enabled,)i(and)d(the)h Fs(cmdhist)e Ft(option)j(is)f
+(enabled,)i(m)m(ulti-line)f(commands)1110 787 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 897 y(semicolon)32 b(separators)f(where)e
+(p)s(ossible.)630 1056 y Fs(login_shell)1110 1166 y Ft(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 1275 y(tion)29 b(6.1)g([In)m(v)m
+(oking)h(Bash],)f(page)g(75\).)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 1435 y Fs(mailwarn)96
+b Ft(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 1544
+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 Fs("The)k(mail)h(in)f Fi(mail-)1110 1654
+y(file)40 b Fs(has)29 b(been)g(read")g Ft(is)i(displa)m(y)m(ed.)630
+1813 y Fs(no_empty_cmd_completion)1110 1923 y Ft(If)f(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 2032 y(the)25 b Fs(PATH)f Ft(for)h(p)s(ossible)f
+(completions)j(when)d(completion)i(is)f(attempted)h(on)1110
+2142 y(an)k(empt)m(y)h(line.)630 2301 y Fs(nocaseglob)1110
+2411 y Ft(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 2521 y(p)s(erforming)29
+b(\014lename)i(expansion.)630 2680 y Fs(nocasematch)1110
+2790 y Ft(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 2899 y(p)s(erforming)31
 b(matc)m(hing)i(while)f(executing)i Fs(case)d Ft(or)h
-Fs([[)g Ft(conditional)h(com-)1110 1005 y(mands.)630
-1163 y Fs(nullglob)96 b Ft(If)23 b(set,)j(Bash)e(allo)m(ws)g
+Fs([[)g Ft(conditional)h(com-)1110 3009 y(mands.)630
+3168 y Fs(nullglob)96 b Ft(If)23 b(set,)j(Bash)e(allo)m(ws)g
 (\014lename)g(patterns)g(whic)m(h)f(matc)m(h)h(no)g(\014les)f(to)i
-(expand)1110 1273 y(to)31 b(a)g(n)m(ull)f(string,)h(rather)f(than)g
-(themselv)m(es.)630 1431 y Fs(progcomp)96 b Ft(If)25
+(expand)1110 3278 y(to)31 b(a)g(n)m(ull)f(string,)h(rather)f(than)g
+(themselv)m(es.)630 3437 y Fs(progcomp)96 b Ft(If)25
 b(set,)i(the)f(programmable)g(completion)g(facilities)i(\(see)f
-(Section)f(8.6)h([Pro-)1110 1541 y(grammable)45 b(Completion],)k(page)c
+(Section)f(8.6)h([Pro-)1110 3547 y(grammable)45 b(Completion],)k(page)c
 (119\))h(are)f(enabled.)82 b(This)44 b(option)h(is)1110
-1650 y(enabled)30 b(b)m(y)h(default.)630 1808 y Fs(promptvars)1110
-1918 y Ft(If)24 b(set,)i(prompt)d(strings)h(undergo)f(parameter)i
-(expansion,)g(command)f(sub-)1110 2028 y(stitution,)34
-b(arithmetic)f(expansion,)g(and)e(quote)i(remo)m(v)-5
-b(al)33 b(after)g(b)s(eing)e(ex-)1110 2137 y(panded)39
-b(as)i(describ)s(ed)e(b)s(elo)m(w)i(\(see)g(Section)g(6.9)g([Prin)m
-(ting)g(a)g(Prompt],)1110 2247 y(page)31 b(86\).)42 b(This)30
-b(option)g(is)h(enabled)f(b)m(y)g(default.)630 2405 y
-Fs(restricted_shell)1110 2515 y Ft(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 2624 y(Section)c(6.10)g([The)f(Restricted)g(Shell],)i(page)e
-(88\).)56 b(The)34 b(v)-5 b(alue)35 b(ma)m(y)h(not)1110
-2734 y(b)s(e)c(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 2843
-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 2953
-y(stricted.)630 3111 y Fs(shift_verbose)1110 3221 y Ft(If)g(this)g(is)g
-(set,)j(the)d Fs(shift)f Ft(builtin)h(prin)m(ts)f(an)h(error)g(message)
-i(when)d(the)1110 3330 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 3488 y
-Fs(sourcepath)1110 3598 y Ft(If)22 b(set,)j(the)e Fs(source)e
-Ft(builtin)h(uses)g(the)h(v)-5 b(alue)23 b(of)g Fs(PATH)e
-Ft(to)j(\014nd)d(the)h(directory)1110 3708 y(con)m(taining)29
-b(the)e(\014le)h(supplied)e(as)h(an)g(argumen)m(t.)40
-b(This)27 b(option)h(is)f(enabled)1110 3817 y(b)m(y)j(default.)630
-3975 y Fs(xpg_echo)96 b Ft(If)31 b(set,)h(the)g Fs(echo)e
+3656 y(enabled)30 b(b)m(y)h(default.)630 3816 y Fs(promptvars)1110
+3925 y Ft(If)50 b(set,)56 b(prompt)49 b(strings)h(undergo)g(parameter)h
+(expansion,)k(command)1110 4035 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
+4144 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 4254 y(Prompt],)30
+b(page)h(87\).)42 b(This)30 b(option)h(is)f(enabled)h(b)m(y)f(default.)
+630 4413 y Fs(restricted_shell)1110 4523 y Ft(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 4633 y(Section)c(6.10)g([The)f
+(Restricted)g(Shell],)i(page)e(88\).)56 b(The)34 b(v)-5
+b(alue)35 b(ma)m(y)h(not)1110 4742 y(b)s(e)c(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 4852 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
+4961 y(stricted.)630 5121 y Fs(shift_verbose)1110 5230
+y Ft(If)g(this)g(is)g(set,)j(the)d Fs(shift)f Ft(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: 63 69
+TeXDict begin 63 68 bop 150 -116 a Ft(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(63)630 299 y Fs(sourcepath)1110
+408 y Ft(If)22 b(set,)j(the)e Fs(source)e Ft(builtin)h(uses)g(the)h(v)
+-5 b(alue)23 b(of)g Fs(PATH)e Ft(to)j(\014nd)d(the)h(directory)1110
+518 y(con)m(taining)29 b(the)e(\014le)h(supplied)e(as)h(an)g(argumen)m
+(t.)40 b(This)27 b(option)h(is)f(enabled)1110 628 y(b)m(y)j(default.)
+630 787 y Fs(xpg_echo)96 b Ft(If)31 b(set,)h(the)g Fs(echo)e
 Ft(builtin)h(expands)f(bac)m(kslash-escap)s(e)j(sequences)f(b)m(y)f
-(de-)1110 4085 y(fault.)630 4243 y(The)c(return)f(status)i(when)f
+(de-)1110 897 y(fault.)630 1056 y(The)c(return)f(status)i(when)f
 (listing)h(options)g(is)f(zero)i(if)e(all)i Fq(optnames)i
-Ft(are)d(enabled,)g(non-)630 4353 y(zero)40 b(otherwise.)66
+Ft(are)d(enabled,)g(non-)630 1166 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 4462 y(unless)30 b(an)g Fq(optname)36
+(status)h(is)g(zero)630 1275 y(unless)30 b(an)g Fq(optname)36
 b Ft(is)30 b(not)h(a)g(v)-5 b(alid)30 b(shell)h(option.)150
-4694 y Fr(4.4)68 b(Sp)t(ecial)45 b(Builtins)150 4853
+1508 y Fr(4.4)68 b(Sp)t(ecial)45 b(Builtins)150 1667
 y Ft(F)-8 b(or)35 b(historical)h(reasons,)g(the)e Fl(posix)g
 Ft(standard)f(has)i(classi\014ed)f(sev)m(eral)i(builtin)e(commands)g
-(as)h Fk(sp)-5 b(e-)150 4963 y(cial)p Ft(.)47 b(When)33
+(as)h Fk(sp)-5 b(e-)150 1777 y(cial)p Ft(.)47 b(When)33
 b(Bash)f(is)h(executing)g(in)f Fl(posix)g Ft(mo)s(de,)h(the)g(sp)s
 (ecial)g(builtins)e(di\013er)i(from)f(other)g(builtin)150
-5072 y(commands)e(in)g(three)h(resp)s(ects:)199 5206
+1886 y(commands)e(in)g(three)h(resp)s(ects:)199 2021
 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 5340 y(2.)61
+(functions)f(during)f(command)h(lo)s(okup.)199 2155 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.)p eop end
-%%Page: 63 69
-TeXDict begin 63 68 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(63)199 299 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
-408 y(after)i(the)f(command)h(completes.)275 568 y(When)36
+(a)g(non-in)m(teractiv)m(e)i(shell)d(exits.)199 2290
+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
+2399 y(after)i(the)f(command)h(completes.)275 2559 y(When)36
 b(Bash)g(is)h(not)f(executing)i(in)e Fl(posix)f Ft(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
-677 y(the)31 b(rest)f(of)h(the)f(Bash)h(builtin)e(commands.)41
+2668 y(the)31 b(rest)f(of)h(the)f(Bash)h(builtin)e(commands.)41
 b(The)30 b(Bash)g Fl(posix)g Ft(mo)s(de)g(is)g(describ)s(ed)f(in)h
-(Section)h(6.11)150 787 y([Bash)g(POSIX)e(Mo)s(de],)i(page)g(88.)275
-922 y(These)f(are)g(the)h Fl(posix)f Ft(sp)s(ecial)h(builtins:)390
-1056 y Fs(break)46 b(:)i(.)f(continue)f(eval)g(exec)h(exit)g(export)f
-(readonly)f(return)h(set)390 1166 y(shift)g(trap)h(unset)p
+(Section)h(6.11)150 2778 y([Bash)g(POSIX)e(Mo)s(de],)i(page)g(88.)275
+2912 y(These)f(are)g(the)h Fl(posix)f Ft(sp)s(ecial)h(builtins:)390
+3047 y Fs(break)46 b(:)i(.)f(continue)f(eval)g(exec)h(exit)g(export)f
+(readonly)f(return)h(set)390 3156 y(shift)g(trap)h(unset)p
 eop end
 %%Page: 64 70
 TeXDict begin 64 69 bop eop end
@@ -9340,11 +9396,11 @@ b(.)150 2627 y Fs(MAILPATH)96 b Ft(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 2736 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 2846 y(arriv)m(es)29 b(in)g(the)g(mail)g(\014le)g(b)m
-(y)g(separating)g(the)g(\014le)g(name)g(from)f(the)h(message)h(with)e
-(a)i(`)p Fs(?)p Ft('.)630 2955 y(When)i(used)f(in)h(the)g(text)i(of)e
-(the)g(message,)i Fs($_)e Ft(expands)f(to)i(the)f(name)g(of)h(the)f
-(curren)m(t)630 3065 y(mail)f(\014le.)150 3227 y Fs(OPTARG)192
+(new)h(mail)630 2846 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 Fs(?)p Ft('.)630 2955 y(When)g(used)f(in)h(the)g(text)i(of)e(the)g
+(message,)i Fs($_)e Ft(expands)f(to)i(the)f(name)g(of)h(the)f(curren)m
+(t)630 3065 y(mail)f(\014le.)150 3227 y Fs(OPTARG)192
 b Ft(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 Fs(getopts)f Ft(builtin.)150
 3389 y Fs(OPTIND)192 b Ft(The)30 b(index)g(of)g(the)h(last)g(option)g
@@ -9358,10 +9414,10 @@ Ft(builtin.)150 3552 y Fs(PATH)288 b Ft(A)32 b(colon-separated)i(list)f
 (colons,)g(or)f(as)g(an)630 3880 y(initial)f(or)e(trailing)h(colon.)150
 4042 y Fs(PS1)336 b Ft(The)35 b(primary)f(prompt)h(string.)55
 b(The)35 b(default)h(v)-5 b(alue)35 b(is)h(`)p Fs(\\s-\\v\\$)28
-b Ft('.)56 b(See)36 b(Section)g(6.9)630 4152 y([Prin)m(ting)28
-b(a)g(Prompt],)g(page)h(86,)g(for)e(the)h(complete)h(list)g(of)e(escap)
-s(e)h(sequences)g(that)h(are)630 4262 y(expanded)h(b)s(efore)g
-Fs(PS1)f Ft(is)h(displa)m(y)m(ed.)150 4424 y Fs(PS2)336
+b Ft('.)56 b(See)36 b(Section)g(6.9)630 4152 y([Con)m(trolling)42
+b(the)e(Prompt],)j(page)e(87,)j(for)c(the)g(complete)i(list)f(of)f
+(escap)s(e)h(sequences)630 4262 y(that)31 b(are)g(expanded)e(b)s(efore)
+h Fs(PS1)g Ft(is)g(displa)m(y)m(ed.)150 4424 y Fs(PS2)336
 b Ft(The)30 b(secondary)g(prompt)g(string.)41 b(The)29
 b(default)i(v)-5 b(alue)31 b(is)f(`)p Fs(>)g Ft('.)150
 4661 y Fr(5.2)68 b(Bash)45 b(V)-11 b(ariables)150 4820
@@ -9382,7 +9438,7 @@ 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 408 y(argumen)m(t)33 b(for)g(the)f(`)p Fs(-s)p
 Ft(')h(option)g(to)g(the)g Fs(shopt)e Ft(builtin)i(command)f(\(see)i
-(Section)f(4.3.2)630 518 y([The)j(Shopt)g(Builtin],)i(page)f(57\).)60
+(Section)f(4.3.2)630 518 y([The)j(Shopt)g(Builtin],)i(page)f(58\).)60
 b(The)36 b(options)h(app)s(earing)f(in)g Fs(BASHOPTS)e
 Ft(are)i(those)630 628 y(rep)s(orted)e(as)h(`)p Fs(on)p
 Ft(')f(b)m(y)h(`)p Fs(shopt)p Ft('.)53 b(If)34 b(this)g(v)-5
@@ -9415,7 +9471,7 @@ b(The)25 b(n)m(um)m(b)s(er)g(of)h(parameters)g(to)g(the)g(curren)m(t)
 2504 y(is)g(pushed)f(on)m(to)i Fs(BASH_ARGC)p Ft(.)59
 b(The)37 b(shell)g(sets)h Fs(BASH_ARGC)c Ft(only)k(when)e(in)h
 (extended)630 2614 y(debugging)23 b(mo)s(de)f(\(see)h(Section)g(4.3.2)i
-([The)d(Shopt)g(Builtin],)j(page)e(57)h(for)e(a)h(description)630
+([The)d(Shopt)g(Builtin],)j(page)e(58)h(for)e(a)h(description)630
 2724 y(of)31 b(the)f Fs(extdebug)e Ft(option)j(to)g(the)g
 Fs(shopt)e Ft(builtin\).)150 2874 y Fs(BASH_ARGV)630
 2984 y Ft(An)24 b(arra)m(y)g(v)-5 b(ariable)25 b(con)m(taining)h(all)f
@@ -9428,7 +9484,7 @@ Fs(shopt)e Ft(builtin\).)150 2874 y Fs(BASH_ARGV)630
 (on)m(to)i Fs(BASH_ARGV)p Ft(.)66 b(The)40 b(shell)630
 3422 y(sets)28 b Fs(BASH_ARGV)e Ft(only)i(when)f(in)h(extended)g
 (debugging)g(mo)s(de)g(\(see)h(Section)f(4.3.2)i([The)630
-3532 y(Shopt)i(Builtin],)h(page)g(57)g(for)f(a)h(description)f(of)h
+3532 y(Shopt)i(Builtin],)h(page)g(58)g(for)f(a)h(description)f(of)h
 (the)f Fs(extdebug)e Ft(option)j(to)g(the)f Fs(shopt)630
 3641 y Ft(builtin\).)150 3792 y Fs(BASH_CMDS)630 3902
 y Ft(An)i(asso)s(ciativ)m(e)i(arra)m(y)f(v)-5 b(ariable)35
@@ -9629,10 +9685,10 @@ b Ft(The)30 b(editor)h(used)e(as)i(a)g(default)f(b)m(y)h(the)f(`)p
 Fs(-e)p Ft(')g(option)h(to)g(the)g Fs(fc)f Ft(builtin)g(command.)150
 2856 y Fs(FIGNORE)144 b Ft(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 2966 y(tion.)j(A)25 b(\014le)g(name)g(whose)f(su\016x)g(matc)m(hes)
-i(one)f(of)g(the)g(en)m(tries)g(in)g Fs(FIGNORE)d Ft(is)j(excluded)630
-3075 y(from)30 b(the)g(list)h(of)g(matc)m(hed)g(\014le)g(names.)40
-b(A)31 b(sample)f(v)-5 b(alue)31 b(is)g(`)p Fs(.o:~)p
+630 2966 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 Fs(FIGNORE)d Ft(is)j(excluded)630
+3075 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 Fs(.o:~)p
 Ft(')150 3237 y Fs(FUNCNAME)96 b Ft(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 3346 y(execution)g(call)h
@@ -9887,23 +9943,22 @@ y Ft(An)23 b(arra)m(y)h(v)-5 b(ariable)24 b(\(see)h(Section)f(6.7)h
 (in)f(the)h(most-recen)m(tly-executed)j(foreground)c(pip)s(eline)630
 3930 y(\(whic)m(h)30 b(ma)m(y)h(con)m(tain)h(only)f(a)f(single)h
 (command\).)150 4091 y Fs(POSIXLY_CORRECT)630 4200 y
-Ft(If)h(this)h(v)-5 b(ariable)34 b(is)f(in)f(the)h(en)m(vironmen)m(t)h
-(when)d Fs(bash)h Ft(starts,)i(the)f(shell)g(en)m(ters)h
-Fl(posix)630 4310 y Ft(mo)s(de)22 b(\(see)h(Section)g(6.11)h([Bash)e
-(POSIX)f(Mo)s(de],)k(page)e(88\))g(b)s(efore)f(reading)g(the)g(startup)
-630 4419 y(\014les,)32 b(as)f(if)h(the)f(`)p Fs(--posix)p
+Ft(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 Fl(posix)630
+4310 y Ft(mo)s(de)22 b(\(see)h(Section)g(6.11)h([Bash)e(POSIX)f(Mo)s
+(de],)k(page)e(88\))g(b)s(efore)f(reading)g(the)g(startup)630
+4419 y(\014les,)32 b(as)f(if)h(the)f(`)p Fs(--posix)p
 Ft(')f(in)m(v)m(o)s(cation)j(option)f(had)f(b)s(een)g(supplied.)42
 b(If)31 b(it)h(is)f(set)h(while)630 4529 y(the)f(shell)f(is)h(running,)
-d Fs(bash)i Ft(enables)g Fl(posix)g Ft(mo)s(de,)g(as)h(if)f(the)h
-(command)870 4664 y Fs(set)47 b(-o)g(posix)630 4799 y
-Ft(had)30 b(b)s(een)f(executed.)150 4960 y Fs(PPID)288
-b Ft(The)30 b(pro)s(cess)g Fl(id)g Ft(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 5121 y Fs(PROMPT_COMMAND)630 5230 y Ft(If)32
-b(set,)h(the)f(v)-5 b(alue)33 b(is)f(in)m(terpreted)g(as)g(a)h(command)
-f(to)h(execute)g(b)s(efore)f(the)g(prin)m(ting)g(of)630
-5340 y(eac)m(h)g(primary)d(prompt)g(\()p Fs($PS1)p Ft(\).)p
-eop end
+d(Bash)j(enables)g Fl(posix)e Ft(mo)s(de,)h(as)h(if)f(the)h(command)870
+4664 y Fs(set)47 b(-o)g(posix)630 4799 y Ft(had)30 b(b)s(een)f
+(executed.)150 4960 y Fs(PPID)288 b Ft(The)30 b(pro)s(cess)g
+Fl(id)g Ft(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
+5121 y Fs(PROMPT_COMMAND)630 5230 y Ft(If)32 b(set,)h(the)f(v)-5
+b(alue)33 b(is)f(in)m(terpreted)g(as)g(a)h(command)f(to)h(execute)g(b)s
+(efore)f(the)g(prin)m(ting)g(of)630 5340 y(eac)m(h)g(primary)d(prompt)g
+(\()p Fs($PS1)p Ft(\).)p eop end
 %%Page: 73 79
 TeXDict begin 73 78 bop 150 -116 a Ft(Chapter)30 b(5:)41
 b(Shell)30 b(V)-8 b(ariables)2459 b(73)150 299 y Fs(PROMPT_DIRTRIM)630
@@ -9911,21 +9966,21 @@ b(Shell)30 b(V)-8 b(ariables)2459 b(73)150 299 y Fs(PROMPT_DIRTRIM)630
 (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 518 y(directory)35 b(comp)s(onen)m(ts)g(to)h
 (retain)f(when)f(expanding)g(the)h Fs(\\w)f Ft(and)g
-Fs(\\W)g Ft(prompt)g(string)630 628 y(escap)s(es)27 b(\(see)g(Section)g
-(6.9)h([Prin)m(ting)f(a)g(Prompt],)g(page)g(86\).)40
-b(Characters)27 b(remo)m(v)m(ed)h(are)630 737 y(replaced)j(with)f(an)g
-(ellipsis.)150 892 y Fs(PS3)336 b Ft(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 Fs(select)f Ft(command.)52 b(If)630 1002 y(this)30
-b(v)-5 b(ariable)31 b(is)g(not)f(set,)i(the)e Fs(select)f
-Ft(command)h(prompts)f(with)h(`)p Fs(#?)g Ft(')150 1157
-y Fs(PS4)336 b Ft(The)20 b(v)-5 b(alue)22 b(is)e(the)h(prompt)f(prin)m
-(ted)h(b)s(efore)f(the)h(command)g(line)g(is)g(ec)m(ho)s(ed)g(when)f
-(the)h(`)p Fs(-x)p Ft(')630 1267 y(option)32 b(is)f(set)h(\(see)g
-(Section)h(4.3.1)g([The)e(Set)g(Builtin],)i(page)f(54\).)45
-b(The)31 b(\014rst)f(c)m(haracter)630 1377 y(of)k Fs(PS4)g
-Ft(is)g(replicated)i(m)m(ultiple)f(times,)h(as)e(necessary)-8
-b(,)37 b(to)e(indicate)g(m)m(ultiple)g(lev)m(els)h(of)630
+Fs(\\W)g Ft(prompt)g(string)630 628 y(escap)s(es)21 b(\(see)h(Section)f
+(6.9)h([Con)m(trolling)g(the)f(Prompt],)h(page)f(87\).)39
+b(Characters)21 b(remo)m(v)m(ed)630 737 y(are)31 b(replaced)g(with)f
+(an)g(ellipsis.)150 892 y Fs(PS3)336 b Ft(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 Fs(select)f Ft(command.)52 b(If)630
+1002 y(this)30 b(v)-5 b(ariable)31 b(is)g(not)f(set,)i(the)e
+Fs(select)f Ft(command)h(prompts)f(with)h(`)p Fs(#?)g
+Ft(')150 1157 y Fs(PS4)336 b Ft(The)20 b(v)-5 b(alue)22
+b(is)e(the)h(prompt)f(prin)m(ted)h(b)s(efore)f(the)h(command)g(line)g
+(is)g(ec)m(ho)s(ed)g(when)f(the)h(`)p Fs(-x)p Ft(')630
+1267 y(option)32 b(is)f(set)h(\(see)g(Section)h(4.3.1)g([The)e(Set)g
+(Builtin],)i(page)f(54\).)45 b(The)31 b(\014rst)f(c)m(haracter)630
+1377 y(of)k Fs(PS4)g Ft(is)g(replicated)i(m)m(ultiple)f(times,)h(as)e
+(necessary)-8 b(,)37 b(to)e(indicate)g(m)m(ultiple)g(lev)m(els)h(of)630
 1486 y(indirection.)41 b(The)30 b(default)h(is)f(`)p
 Fs(+)g Ft('.)150 1641 y Fs(PWD)336 b Ft(The)30 b(curren)m(t)g(w)m
 (orking)h(directory)g(as)f(set)h(b)m(y)f(the)h Fs(cd)f
@@ -9937,11 +9992,11 @@ b(ariable)31 b(seeds)g(the)g(random)f(n)m(um)m(b)s(er)f(gen-)630
 2016 y(erator.)150 2171 y Fs(READLINE_LINE)630 2281 y
 Ft(The)e(con)m(ten)m(ts)i(of)f(the)g(Readline)g(line)g(bu\013er,)f(for)
 h(use)f(with)g(`)p Fs(bind)j(-x)p Ft(')d(\(see)h(Section)h(4.2)630
-2390 y([Bash)i(Builtins],)g(page)g(43\).)150 2545 y Fs(READLINE_POINT)
+2390 y([Bash)i(Builtins],)g(page)g(44\).)150 2545 y Fs(READLINE_POINT)
 630 2655 y Ft(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
 Fs(bind)630 2765 y(-x)p Ft(')30 b(\(see)h(Section)h(4.2)f([Bash)g
-(Builtins],)g(page)g(43\).)150 2920 y Fs(REPLY)240 b
+(Builtins],)g(page)g(44\).)150 2920 y Fs(REPLY)240 b
 Ft(The)30 b(default)g(v)-5 b(ariable)32 b(for)e(the)g
 Fs(read)g Ft(builtin.)150 3075 y Fs(SECONDS)144 b Ft(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
@@ -10020,7 +10075,7 @@ b(this)g(v)-5 b(ariable)31 b(is)g(not)f(set,)i(Bash)e(acts)h(as)g(if)f
 b(alue)23 b(greater)h(than)e(zero,)j Fs(TMOUT)d Ft(is)g(treated)i(as)e
 (the)h(default)g(timeout)g(for)g(the)630 2829 y Fs(read)31
 b Ft(builtin)h(\(see)h(Section)f(4.2)i([Bash)e(Builtins],)h(page)g
-(43\).)47 b(The)32 b Fs(select)e Ft(command)630 2939
+(44\).)47 b(The)32 b Fs(select)e Ft(command)630 2939
 y(\(see)f(Section)h(3.2.4.2)g([Conditional)g(Constructs],)e(page)i
 (10\))f(terminates)g(if)g(input)e(do)s(es)630 3049 y(not)k(arriv)m(e)g
 (after)g Fs(TMOUT)e Ft(seconds)h(when)f(input)h(is)g(coming)h(from)f(a)
@@ -10039,16 +10094,16 @@ b(v)-5 b(ariable)31 b(is)f(readonly)-8 b(.)p eop end
 %%Page: 75 81
 TeXDict begin 75 80 bop 150 -116 a Ft(Chapter)30 b(6:)41
 b(Bash)30 b(F)-8 b(eatures)2484 b(75)150 299 y Fo(6)80
-b(Bash)54 b(F)-13 b(eatures)150 524 y Ft(This)30 b(section)h(describ)s
-(es)f(features)g(unique)g(to)h(Bash.)150 752 y Fr(6.1)68
-b(In)l(v)l(oking)46 b(Bash)390 912 y Fs(bash)h([long-opt])e([-ir])h
-([-abefhkmnptuvxdBCDHP])c([-o)47 b Fi(option)11 b Fs(])45
-b([-O)i Fi(shopt_option)11 b Fs(])44 b([)p Fi(ar-)390
-1021 y(gument)57 b Fs(...)o(])390 1131 y(bash)47 b([long-opt])e
-([-abefhkmnptuvxdBCDHP])c([-o)47 b Fi(option)11 b Fs(])46
-b([-O)g Fi(shopt_option)11 b Fs(])44 b(-c)j Fi(string)57
-b Fs([)p Fi(ar-)390 1240 y(gument)g Fs(...)o(])390 1350
-y(bash)47 b([long-opt])e(-s)i([-abefhkmnptuvxdBCDHP])42
+b(Bash)54 b(F)-13 b(eatures)150 524 y Ft(This)30 b(c)m(hapter)h
+(describ)s(es)e(features)i(unique)e(to)i(Bash.)150 752
+y Fr(6.1)68 b(In)l(v)l(oking)46 b(Bash)390 912 y Fs(bash)h([long-opt])e
+([-ir])h([-abefhkmnptuvxdBCDHP])c([-o)47 b Fi(option)11
+b Fs(])45 b([-O)i Fi(shopt_option)11 b Fs(])44 b([)p
+Fi(ar-)390 1021 y(gument)57 b Fs(...)o(])390 1131 y(bash)47
+b([long-opt])e([-abefhkmnptuvxdBCDHP])c([-o)47 b Fi(option)11
+b Fs(])46 b([-O)g Fi(shopt_option)11 b Fs(])44 b(-c)j
+Fi(string)57 b Fs([)p Fi(ar-)390 1240 y(gument)g Fs(...)o(])390
+1350 y(bash)47 b([long-opt])e(-s)i([-abefhkmnptuvxdBCDHP])42
 b([-o)k Fi(option)11 b Fs(])46 b([-O)h Fi(shopt_option)11
 b Fs(])43 b([)p Fi(ar-)390 1460 y(gument)57 b Fs(...)o(])275
 1592 y Ft(All)31 b(of)g(the)f(single-c)m(haracter)k(options)d(used)f
@@ -10063,7 +10118,7 @@ b(These)38 b(options)f(m)m(ust)h(app)s(ear)e(on)i(the)150
 2186 y Ft(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 2296 y(on)37 b(extended)g(debugging)g(mo)s(de)g(\(see)h
-(Section)g(4.3.2)g([The)f(Shopt)g(Builtin],)i(page)f(57)630
+(Section)g(4.3.2)g([The)f(Shopt)g(Builtin],)i(page)f(58)630
 2405 y(for)30 b(a)h(description)f(of)h(the)f Fs(extdebug)f
 Ft(option)h(to)h(the)g Fs(shopt)e Ft(builtin\).)150 2561
 y Fs(--dump-po-strings)630 2670 y Ft(A)37 b(list)g(of)f(all)i
@@ -10159,7 +10214,7 @@ b(implies)i(the)f(`)p Fs(-n)p Ft(')h(option;)g(no)f(commands)g(will)h
 b Fs(])630 4527 y Fq(shopt)p 854 4527 28 4 v 40 w(option)44
 b Ft(is)g(one)h(of)f(the)g(shell)h(options)f(accepted)h(b)m(y)f(the)h
 Fs(shopt)d Ft(builtin)i(\(see)630 4637 y(Section)28 b(4.3.2)g([The)f
-(Shopt)f(Builtin],)i(page)f(57\).)41 b(If)26 b Fq(shopt)p
+(Shopt)f(Builtin],)i(page)f(58\).)41 b(If)26 b Fq(shopt)p
 2690 4637 V 40 w(option)h Ft(is)g(presen)m(t,)h(`)p Fs(-O)p
 Ft(')f(sets)630 4746 y(the)40 b(v)-5 b(alue)40 b(of)f(that)h(option;)45
 b(`)p Fs(+O)p Ft(')40 b(unsets)e(it.)69 b(If)39 b Fq(shopt)p
@@ -10207,19 +10262,19 @@ b(If)26 b(no)g(commands)g(are)h(executed,)150 1671 y(the)k(exit)g
 (status)g(is)f(0.)150 1908 y Fr(6.2)68 b(Bash)45 b(Startup)g(Files)150
 2068 y Ft(This)23 b(section)j(describ)s(es)d(ho)m(w)i(Bash)f(executes)h
 (its)g(startup)f(\014les.)38 b(If)24 b(an)m(y)h(of)f(the)h(\014les)f
-(exist)h(but)e(cannot)150 2177 y(b)s(e)k(read,)i(Bash)f(rep)s(orts)f
-(an)h(error.)39 b(Tildes)28 b(are)g(expanded)f(in)h(\014le)g(names)g
-(as)g(describ)s(ed)e(ab)s(o)m(v)m(e)j(under)150 2287
-y(Tilde)h(Expansion)g(\(see)h(Section)h(3.5.2)g([Tilde)e(Expansion],)h
-(page)g(20\).)275 2425 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(78.)
-150 2627 y Fj(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(`)p Fh(--login)p Fj(')150
-2774 y Ft(When)c(Bash)f(is)h(in)m(v)m(ok)m(ed)h(as)f(an)g(in)m
-(teractiv)m(e)j(login)d(shell,)i(or)e(as)g(a)g(non-in)m(teractiv)m(e)i
-(shell)e(with)g(the)150 2884 y(`)p Fs(--login)p Ft(')j(option,)k(it)e
-(\014rst)e(reads)h(and)g(executes)h(commands)f(from)f(the)i(\014le)f(`)
-Fs(/etc/profile)p Ft(',)g(if)150 2993 y(that)35 b(\014le)g(exists.)55
+(exist)h(but)e(cannot)150 2177 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 2287 y(Tilde)f(Expansion)g
+(\(see)h(Section)h(3.5.2)g([Tilde)e(Expansion],)h(page)g(20\).)275
+2425 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(78.)150
+2627 y Fj(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(`)p Fh(--login)p Fj(')150 2774
+y Ft(When)c(Bash)f(is)h(in)m(v)m(ok)m(ed)h(as)f(an)g(in)m(teractiv)m(e)
+j(login)d(shell,)i(or)e(as)g(a)g(non-in)m(teractiv)m(e)i(shell)e(with)g
+(the)150 2884 y(`)p Fs(--login)p Ft(')j(option,)k(it)e(\014rst)e(reads)
+h(and)g(executes)h(commands)f(from)f(the)i(\014le)f(`)p
+Fs(/etc/profile)p Ft(',)g(if)150 2993 y(that)35 b(\014le)g(exists.)55
 b(After)35 b(reading)g(that)g(\014le,)h(it)g(lo)s(oks)f(for)f(`)p
 Fs(~/.bash_profile)p Ft(',)f(`)p Fs(~/.bash_login)p Ft(',)150
 3103 y(and)28 b(`)p Fs(~/.profile)p Ft(',)f(in)i(that)g(order,)g(and)f
@@ -10259,7 +10314,7 @@ TeXDict begin 78 83 bop 150 -116 a Ft(78)2572 b(Bash)31
 b(Reference)g(Man)m(ual)390 299 y Fs(if)47 b([)h(-n)f("$BASH_ENV")e(];)
 i(then)f(.)i("$BASH_ENV";)c(fi)150 461 y Ft(but)30 b(the)g(v)-5
 b(alue)31 b(of)g(the)f Fs(PATH)f Ft(v)-5 b(ariable)32
-b(is)e(not)h(used)e(to)i(searc)m(h)g(for)f(the)h(\014le)f(name.)275
+b(is)e(not)h(used)e(to)i(searc)m(h)g(for)f(the)h(\014lename.)275
 622 y(As)38 b(noted)h(ab)s(o)m(v)m(e,)j(if)c(a)h(non-in)m(teractiv)m(e)
 i(shell)e(is)g(in)m(v)m(ok)m(ed)h(with)e(the)g(`)p Fs(--login)p
 Ft(')g(option,)j(Bash)150 732 y(attempts)31 b(to)g(read)g(and)e
@@ -10320,20 +10375,20 @@ Fs(rshd)f Ft(do)s(es)i(not)g(generally)150 4148 y(in)m(v)m(ok)m(e)32
 b(the)f(shell)f(with)h(those)f(options)h(or)f(allo)m(w)i(them)f(to)g(b)
 s(e)e(sp)s(eci\014ed.)150 4374 y Fj(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
-Fj(s)150 4521 y Ft(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 4631 y(and)26 b(the)i
-Fs(-p)e Ft(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
+Fj(s)150 4521 y Ft(If)24 b(Bash)h(is)f(started)h(with)f(the)h
+(e\013ectiv)m(e)i(user)d(\(group\))h(id)f(not)g(equal)h(to)h(the)e
+(real)h(user)f(\(group\))h(id,)h(and)150 4631 y(the)35
+b(`)p Fs(-p)p Ft(')g(option)h(is)f(not)g(supplied,)h(no)f(startup)f
+(\014les)h(are)h(read,)g(shell)g(functions)e(are)i(not)f(inherited)150
 4740 y(from)41 b(the)g(en)m(vironmen)m(t,)j(the)d Fs(SHELLOPTS)p
 Ft(,)h Fs(BASHOPTS)p Ft(,)g Fs(CDPATH)p Ft(,)g(and)e
 Fs(GLOBIGNORE)e Ft(v)-5 b(ariables,)45 b(if)150 4850
 y(they)28 b(app)s(ear)f(in)h(the)g(en)m(vironmen)m(t,)i(are)e(ignored,)
 h(and)e(the)h(e\013ectiv)m(e)j(user)c(id)h(is)g(set)g(to)h(the)f(real)h
-(user)150 4959 y(id.)62 b(If)38 b(the)f Fs(-p)h Ft(option)g(is)f
-(supplied)g(at)h(in)m(v)m(o)s(cation,)k(the)c(startup)f(b)s(eha)m(vior)
-h(is)g(the)g(same,)i(but)d(the)150 5069 y(e\013ectiv)m(e)c(user)d(id)g
-(is)g(not)h(reset.)150 5342 y Fr(6.3)68 b(In)l(teractiv)l(e)47
+(user)150 4959 y(id.)54 b(If)35 b(the)g(`)p Fs(-p)p Ft(')g(option)g(is)
+g(supplied)f(at)h(in)m(v)m(o)s(cation,)k(the)c(startup)g(b)s(eha)m
+(vior)g(is)g(the)g(same,)h(but)f(the)150 5069 y(e\013ectiv)m(e)e(user)d
+(id)g(is)g(not)h(reset.)150 5342 y Fr(6.3)68 b(In)l(teractiv)l(e)47
 b(Shells)p eop end
 %%Page: 79 85
 TeXDict begin 79 84 bop 150 -116 a Ft(Chapter)30 b(6:)41
@@ -10451,7 +10506,7 @@ b(syn)m(tax)f(errors)g(will)h(not)g(cause)g(the)f(shell)h(to)g(exit.)
 (enabled)f(b)m(y)h(default)330 2868 y(\(see)35 b(the)g(description)f
 (of)h(the)f Fs(cdspell)f Ft(option)h(to)i(the)e Fs(shopt)f
 Ft(builtin)h(in)g(Section)h(4.3.2)h([The)330 2977 y(Shopt)30
-b(Builtin],)h(page)g(57\).)154 3109 y(21.)61 b(The)42
+b(Builtin],)h(page)g(58\).)154 3109 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
 Fs(TMOUT)e Ft(v)-5 b(ariable)44 b(and)e(exit)h(if)g(a)g(command)f(is)h
 (not)330 3219 y(read)30 b(within)g(the)g(sp)s(eci\014ed)f(n)m(um)m(b)s
@@ -10681,14 +10736,14 @@ Ft(',)f(`)p Fs(`)p Ft(',)g(`)p Fs(=)p Ft(')f(and)f(an)m(y)h(of)150
 (ord)g(that)g(is)g(iden)m(tical)i(to)e(an)150 4426 y(alias)c(b)s(eing)f
 (expanded)f(is)h(not)g(expanded)f(a)h(second)g(time.)43
 b(This)30 b(means)h(that)g(one)g(ma)m(y)h(alias)g Fs(ls)e
-Ft(to)150 4536 y Fs("ls)f(-F")p Ft(,)36 b(for)f(instance,)i(and)d(Bash)
-h(do)s(es)g(not)g(try)g(to)g(recursiv)m(ely)h(expand)e(the)h
-(replacemen)m(t)i(text.)150 4645 y(If)31 b(the)h(last)h(c)m(haracter)g
-(of)f(the)g(alias)h(v)-5 b(alue)32 b(is)g(a)g(space)g(or)g(tab)g(c)m
-(haracter,)i(then)d(the)h(next)g(command)150 4755 y(w)m(ord)e(follo)m
-(wing)i(the)e(alias)i(is)e(also)i(c)m(hec)m(k)m(ed)g(for)e(alias)i
-(expansion.)275 4883 y(Aliases)d(are)f(created)i(and)d(listed)i(with)f
-(the)g Fs(alias)f Ft(command,)h(and)g(remo)m(v)m(ed)h(with)f(the)g
+Ft(to)150 4536 y Fs("ls)f(-F")p Ft(,)f(for)f(instance,)i(and)d(Bash)i
+(do)s(es)f(not)h(try)f(to)h(recursiv)m(ely)g(expand)e(the)i(replacemen)
+m(t)h(text.)40 b(If)150 4645 y(the)31 b(last)h(c)m(haracter)g(of)f(the)
+g(alias)h(v)-5 b(alue)31 b(is)g(a)g Fq(blank)6 b Ft(,)30
+b(then)h(the)g(next)g(command)f(w)m(ord)h(follo)m(wing)h(the)150
+4755 y(alias)g(is)e(also)h(c)m(hec)m(k)m(ed)i(for)d(alias)h(expansion.)
+275 4883 y(Aliases)e(are)f(created)i(and)d(listed)i(with)f(the)g
+Fs(alias)f Ft(command,)h(and)g(remo)m(v)m(ed)h(with)f(the)g
 Fs(unalias)150 4993 y Ft(command.)275 5121 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 Fs(csh)p Ft(.)83
@@ -10701,7 +10756,7 @@ b(Reference)g(Man)m(ual)275 299 y(Aliases)i(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
 Fs(expand_aliases)150 408 y Ft(shell)e(option)f(is)h(set)g(using)f
 Fs(shopt)f Ft(\(see)i(Section)g(4.3.2)h([The)e(Shopt)g(Builtin],)h
-(page)g(57\).)275 540 y(The)38 b(rules)h(concerning)h(the)f
+(page)g(58\).)275 540 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 650 y(alw)m(a)m(ys)42 b(reads)f(at)h(least)g(one)f
 (complete)i(line)e(of)g(input)f(b)s(efore)h(executing)h(an)m(y)f(of)g
@@ -10740,7 +10795,7 @@ e(Arithmetic],)k(page)d(82\)\))h(and)d(are)i(zero-based;)k(asso)s
 (ciativ)m(e)150 2703 y(arra)m(ys)31 b(use)f(arbitrary)g(strings.)275
 2835 y(An)c(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 2967 y Fs(name[)p Fi(subscript)11 b Fs(]=)p
+(tax)390 2967 y Fi(name)11 b Fs([)p Fi(subscript)g Fs(]=)p
 Fi(value)150 3099 y Ft(The)34 b Fq(subscript)h Ft(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
@@ -10748,550 +10803,560 @@ b(aluate)36 b(to)f(a)g(n)m(um)m(b)s(er.)51 b(T)-8 b(o)150
 b(use)390 3340 y Fs(declare)46 b(-a)h Fi(name)150 3472
 y Ft(The)30 b(syn)m(tax)390 3604 y Fs(declare)46 b(-a)h
 Fi(name)11 b Fs([)p Fi(subscript)g Fs(])150 3736 y Ft(is)30
-b(also)i(accepted;)g(the)e Fq(subscript)h Ft(is)g(ignored.)275
-3868 y(Asso)s(ciativ)m(e)h(arra)m(ys)f(are)g(created)g(using)390
+b(also)i(accepted;)g(the)e Fq(subscript)h Ft(is)g(ignored.)150
+3868 y(Asso)s(ciativ)m(e)i(arra)m(ys)d(are)h(created)h(using)390
 4000 y Fs(declare)46 b(-A)h Fi(name)11 b Fs(.)275 4132
 y Ft(A)m(ttributes)46 b(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 Fs(declare)e
 Ft(and)h Fs(readonly)150 4242 y Ft(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 4374 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 4506 y Fs(name=\(value)p
-Fi(1)55 b Fs(...)47 b(value)p Fi(n)11 b Fs(\))150 4638
-y Ft(where)37 b(eac)m(h)i Fq(v)-5 b(alue)42 b Ft(is)c(of)g(the)f(form)g
-Fs([)p Fi(subscript)11 b Fs(]=)p Fq(string)d Ft(.)58
-b(Indexed)36 b(arra)m(y)i(assignmen)m(ts)g(do)g(not)150
-4747 y(require)c(the)g(brac)m(k)m(et)h(and)e(subscript.)50
-b(When)34 b(assigning)g(to)g(indexed)g(arra)m(ys,)h(if)f(the)g
-(optional)h(sub-)150 4857 y(script)c(is)h(supplied,)f(that)h(index)f
-(is)h(assigned)g(to;)h(otherwise)f(the)f(index)h(of)f(the)h(elemen)m(t)
-h(assigned)f(is)150 4966 y(the)f(last)g(index)f(assigned)g(to)h(b)m(y)g
-(the)f(statemen)m(t)i(plus)e(one.)41 b(Indexing)30 b(starts)g(at)i
-(zero.)275 5098 y(When)e(assigning)h(to)g(an)f(asso)s(ciativ)m(e)j
+(ound)f(assignmen)m(ts)i(of)g(the)f(form)390 4506 y Fi(name)11
+b Fs(=\()p Fi(value1)54 b(value2)j Fs(...)47 b(\))150
+4638 y Ft(where)37 b(eac)m(h)i Fq(v)-5 b(alue)42 b Ft(is)c(of)g(the)f
+(form)g Fs([)p Fi(subscript)11 b Fs(]=)p Fq(string)d
+Ft(.)58 b(Indexed)36 b(arra)m(y)i(assignmen)m(ts)g(do)g(not)150
+4747 y(require)30 b(an)m(ything)h(but)f Fq(string)8 b
+Ft(.)41 b(When)30 b(assigning)h(to)g(indexed)f(arra)m(ys,)h(if)f(the)h
+(optional)h(subscript)d(is)150 4857 y(supplied,)j(that)h(index)f(is)h
+(assigned)g(to;)h(otherwise)f(the)g(index)f(of)h(the)g(elemen)m(t)h
+(assigned)f(is)f(the)h(last)150 4966 y(index)d(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 5098 y(When)f(assigning)h(to)g(an)f(asso)s(ciativ)m(e)j
 (arra)m(y)-8 b(,)32 b(the)e(subscript)f(is)i(required.)275
 5230 y(This)f(syn)m(tax)j(is)e(also)i(accepted)g(b)m(y)f(the)f
 Fs(declare)f Ft(builtin.)44 b(Individual)31 b(arra)m(y)h(elemen)m(ts)h
 (ma)m(y)g(b)s(e)150 5340 y(assigned)e(to)g(using)f(the)g
-Fs(name[)p Fq(subscript)r Fs(]=)p Fq(v)-5 b(alue)33 b
-Ft(syn)m(tax)e(in)m(tro)s(duced)f(ab)s(o)m(v)m(e.)p eop
-end
+Fi(name)11 b Fs([)p Fi(subscript)g Fs(]=)p Fi(value)34
+b Ft(syn)m(tax)d(in)m(tro)s(duced)f(ab)s(o)m(v)m(e.)p
+eop end
 %%Page: 85 91
 TeXDict begin 85 90 bop 150 -116 a Ft(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(85)275 299 y(An)m(y)33
-b(elemen)m(t)i(of)f(an)f(arra)m(y)h(ma)m(y)g(b)s(e)f(referenced)g
-(using)g Fs(${name[)p Fq(subscript)r Fs(]})p Ft(.)46
-b(The)33 b(braces)h(are)150 408 y(required)28 b(to)j(a)m(v)m(oid)f
+b(Bash)30 b(F)-8 b(eatures)2484 b(85)275 299 y(An)m(y)26
+b(elemen)m(t)i(of)e(an)g(arra)m(y)h(ma)m(y)g(b)s(e)f(referenced)g
+(using)g Fs(${)p Fi(name)11 b Fs([)p Fi(subscript)g Fs(]})p
+Ft(.)33 b(The)26 b(braces)h(are)150 408 y(required)h(to)j(a)m(v)m(oid)f
 (con\015icts)g(with)f(the)h(shell's)f(\014lename)h(expansion)f(op)s
 (erators.)41 b(If)28 b(the)i Fq(subscript)g Ft(is)150
 518 y(`)p Fs(@)p Ft(')f(or)g(`)p Fs(*)p Ft(',)g(the)g(w)m(ord)g
 (expands)f(to)i(all)f(mem)m(b)s(ers)f(of)h(the)g(arra)m(y)h
 Fq(name)5 b Ft(.)40 b(These)29 b(subscripts)e(di\013er)i(only)150
-628 y(when)36 b(the)g(w)m(ord)g(app)s(ears)g(within)g(double)g(quotes.)
-60 b(If)36 b(the)h(w)m(ord)f(is)g(double-quoted,)j Fs(${name[*]})150
-737 y Ft(expands)20 b(to)h(a)g(single)g(w)m(ord)f(with)h(the)g(v)-5
-b(alue)21 b(of)f(eac)m(h)i(arra)m(y)f(mem)m(b)s(er)f(separated)h(b)m(y)
-g(the)f(\014rst)g(c)m(haracter)150 847 y(of)38 b(the)g
-Fs(IFS)f Ft(v)-5 b(ariable,)41 b(and)c Fs(${name[@]})e
-Ft(expands)i(eac)m(h)i(elemen)m(t)g(of)f Fq(name)43 b
-Ft(to)c(a)f(separate)h(w)m(ord.)150 956 y(When)32 b(there)h(are)f(no)g
-(arra)m(y)h(mem)m(b)s(ers,)f Fs(${name[@]})e Ft(expands)h(to)i
-(nothing.)47 b(If)31 b(the)i(double-quoted)150 1066 y(expansion)39
+628 y(when)35 b(the)h(w)m(ord)f(app)s(ears)g(within)g(double)h(quotes.)
+57 b(If)36 b(the)g(w)m(ord)f(is)h(double-quoted,)h Fs(${)p
+Fi(name)11 b Fs([*]})150 737 y Ft(expands)25 b(to)h(a)g(single)h(w)m
+(ord)e(with)g(the)h(v)-5 b(alue)26 b(of)g(eac)m(h)h(arra)m(y)f(mem)m(b)
+s(er)f(separated)h(b)m(y)g(the)f(\014rst)g(c)m(harac-)150
+847 y(ter)j(of)f(the)h Fs(IFS)e Ft(v)-5 b(ariable,)29
+b(and)e Fs(${)p Fi(name)11 b Fs([@]})24 b Ft(expands)i(eac)m(h)i
+(elemen)m(t)h(of)f Fq(name)k Ft(to)c(a)g(separate)g(w)m(ord.)150
+956 y(When)j(there)h(are)g(no)f(arra)m(y)h(mem)m(b)s(ers,)g
+Fs(${)p Fi(name)11 b Fs([@]})28 b Ft(expands)j(to)h(nothing.)44
+b(If)31 b(the)h(double-quoted)150 1066 y(expansion)39
 b(o)s(ccurs)h(within)f(a)h(w)m(ord,)i(the)d(expansion)h(of)g(the)f
 (\014rst)g(parameter)h(is)g(joined)f(with)h(the)150 1176
-y(b)s(eginning)j(part)h(of)g(the)g(original)h(w)m(ord,)j(and)43
-b(the)h(expansion)g(of)g(the)g(last)h(parameter)f(is)g(joined)150
-1285 y(with)35 b(the)g(last)h(part)f(of)g(the)g(original)h(w)m(ord.)55
-b(This)34 b(is)h(analogous)h(to)g(the)f(expansion)g(of)g(the)g(sp)s
-(ecial)150 1395 y(parameters)28 b(`)p Fs(@)p Ft(')g(and)f(`)p
-Fs(*)p Ft('.)39 b Fs(${#name[)p Fq(subscript)r Fs(]})24
-b Ft(expands)j(to)h(the)g(length)g(of)f Fs(${name[)p
-Fq(subscript)r Fs(]})p Ft(.)150 1504 y(If)j Fq(subscript)i
-Ft(is)f(`)p Fs(@)p Ft(')f(or)h(`)p Fs(*)p Ft(',)g(the)g(expansion)g(is)
-g(the)g(n)m(um)m(b)s(er)e(of)i(elemen)m(ts)h(in)f(the)g(arra)m(y)-8
-b(.)42 b(Referencing)150 1614 y(an)33 b(arra)m(y)g(v)-5
-b(ariable)34 b(without)f(a)h(subscript)e(is)h(equiv)-5
-b(alen)m(t)34 b(to)g(referencing)f(with)g(a)g(subscript)f(of)h(0.)49
-b(If)150 1724 y(the)33 b Fq(subscript)h Ft(used)e(to)h(reference)h(an)f
-(elemen)m(t)h(of)f(an)g(indexed)f(arra)m(y)i(ev)-5 b(aluates)34
-b(to)g(a)f(n)m(um)m(b)s(er)f(less)150 1833 y(than)j(zero,)i(it)f(is)f
-(used)g(as)g(an)g(o\013set)h(from)f(one)h(greater)g(than)f(the)g(arra)m
-(y's)h(maxim)m(um)f(index)g(\(so)h(a)150 1943 y(sub)s(cript)29
-b(of)h(-1)h(refers)f(to)h(the)g(last)g(elemen)m(t)h(of)f(the)f(arra)m
-(y\).)275 2071 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
-2180 y(string)30 b(is)h(a)g(v)-5 b(alid)30 b(v)-5 b(alue.)275
-2308 y(The)32 b Fs(unset)g Ft(builtin)h(is)g(used)g(to)h(destro)m(y)g
-(arra)m(ys.)50 b Fs(unset)31 b Fq(name)5 b Ft([)p Fq(subscript)r
-Ft(])33 b(destro)m(ys)h(the)f(arra)m(y)150 2418 y(elemen)m(t)i(at)g
-(index)f Fq(subscript)r Ft(.)50 b(Care)34 b(m)m(ust)f(b)s(e)h(tak)m(en)
-h(to)f(a)m(v)m(oid)i(un)m(w)m(an)m(ted)e(side)g(e\013ects)h(caused)f(b)
-m(y)150 2527 y(\014lename)40 b(expansion.)69 b Fs(unset)39
-b Fq(name)5 b Ft(,)42 b(where)e Fq(name)45 b Ft(is)39
-b(an)h(arra)m(y)-8 b(,)44 b(remo)m(v)m(es)d(the)f(en)m(tire)h(arra)m(y)
--8 b(.)70 b(A)150 2637 y(subscript)29 b(of)i(`)p Fs(*)p
+y(b)s(eginning)29 b(part)g(of)h(the)f(original)i(w)m(ord,)e(and)g(the)h
+(expansion)f(of)h(the)f(last)i(parameter)e(is)h(joined)f(with)150
+1285 y(the)g(last)h(part)f(of)g(the)g(original)h(w)m(ord.)40
+b(This)28 b(is)h(analogous)h(to)f(the)h(expansion)e(of)h(the)g(sp)s
+(ecial)h(param-)150 1395 y(eters)35 b(`)p Fs(@)p Ft(')g(and)e(`)p
+Fs(*)p Ft('.)54 b Fs(${#)p Fi(name)11 b Fs([)p Fi(subscript)g
+Fs(]})28 b Ft(expands)33 b(to)j(the)e(length)h(of)g Fs(${)p
+Fi(name)11 b Fs([)p Fi(subscript)g Fs(]})p Ft(.)150 1504
+y(If)30 b Fq(subscript)i Ft(is)f(`)p Fs(@)p Ft(')f(or)h(`)p
+Fs(*)p Ft(',)g(the)g(expansion)g(is)g(the)g(n)m(um)m(b)s(er)e(of)i
+(elemen)m(ts)h(in)f(the)g(arra)m(y)-8 b(.)42 b(Referencing)150
+1614 y(an)33 b(arra)m(y)g(v)-5 b(ariable)34 b(without)f(a)h(subscript)e
+(is)h(equiv)-5 b(alen)m(t)34 b(to)g(referencing)f(with)g(a)g(subscript)
+f(of)h(0.)49 b(If)150 1724 y(the)33 b Fq(subscript)h
+Ft(used)e(to)h(reference)h(an)f(elemen)m(t)h(of)f(an)g(indexed)f(arra)m
+(y)i(ev)-5 b(aluates)34 b(to)g(a)f(n)m(um)m(b)s(er)f(less)150
+1833 y(than)j(zero,)i(it)f(is)f(used)g(as)g(an)g(o\013set)h(from)f(one)
+h(greater)g(than)f(the)g(arra)m(y's)h(maxim)m(um)f(index)g(\(so)h(a)150
+1943 y(sub)s(cript)29 b(of)h(-1)h(refers)f(to)h(the)g(last)g(elemen)m
+(t)h(of)f(the)f(arra)m(y\).)275 2080 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
+2189 y(string)30 b(is)h(a)g(v)-5 b(alid)30 b(v)-5 b(alue.)275
+2327 y(The)23 b Fs(unset)f Ft(builtin)i(is)g(used)f(to)i(destro)m(y)f
+(arra)m(ys.)39 b Fs(unset)29 b Fi(name)11 b Fs([)p Fi(subscript)g
+Fs(])19 b Ft(destro)m(ys)24 b(the)g(arra)m(y)150 2436
+y(elemen)m(t)35 b(at)g(index)f Fq(subscript)r Ft(.)50
+b(Care)34 b(m)m(ust)f(b)s(e)h(tak)m(en)h(to)f(a)m(v)m(oid)i(un)m(w)m
+(an)m(ted)e(side)g(e\013ects)h(caused)f(b)m(y)150 2546
+y(\014lename)42 b(expansion.)73 b Fs(unset)29 b Fi(name)11
+b Ft(,)43 b(where)e Fq(name)46 b Ft(is)c(an)f(arra)m(y)-8
+b(,)45 b(remo)m(v)m(es)e(the)f(en)m(tire)g(arra)m(y)-8
+b(.)75 b(A)150 2655 y(subscript)29 b(of)i(`)p Fs(*)p
 Ft(')f(or)h(`)p Fs(@)p Ft(')f(also)h(remo)m(v)m(es)h(the)f(en)m(tire)g
-(arra)m(y)-8 b(.)275 2765 y(The)41 b Fs(declare)p Ft(,)i
+(arra)m(y)-8 b(.)275 2793 y(The)41 b Fs(declare)p Ft(,)i
 Fs(local)p Ft(,)h(and)d Fs(readonly)f Ft(builtins)h(eac)m(h)j(accept)f
 (a)f(`)p Fs(-a)p Ft(')g(option)h(to)f(sp)s(ecify)g(an)150
-2874 y(indexed)25 b(arra)m(y)h(and)e(a)i(`)p Fs(-A)p
+2902 y(indexed)25 b(arra)m(y)h(and)e(a)i(`)p Fs(-A)p
 Ft(')f(option)h(to)g(sp)s(ecify)f(an)g(asso)s(ciativ)m(e)j(arra)m(y)-8
 b(.)40 b(If)25 b(b)s(oth)g(options)g(are)h(supplied,)150
-2984 y(`)p Fs(-A)p Ft(')k(tak)m(es)i(precedence.)41 b(The)30
+3012 y(`)p Fs(-A)p Ft(')k(tak)m(es)i(precedence.)41 b(The)30
 b Fs(read)f Ft(builtin)g(accepts)j(a)e(`)p Fs(-a)p Ft(')g(option)h(to)g
-(assign)g(a)f(list)h(of)f(w)m(ords)g(read)150 3094 y(from)40
+(assign)g(a)f(list)h(of)f(w)m(ords)g(read)150 3121 y(from)40
 b(the)g(standard)f(input)h(to)h(an)f(arra)m(y)-8 b(,)44
 b(and)39 b(can)i(read)f(v)-5 b(alues)40 b(from)g(the)g(standard)g
-(input)f(in)m(to)150 3203 y(individual)26 b(arra)m(y)h(elemen)m(ts.)41
+(input)f(in)m(to)150 3231 y(individual)26 b(arra)m(y)h(elemen)m(ts.)41
 b(The)26 b Fs(set)f Ft(and)h Fs(declare)f Ft(builtins)g(displa)m(y)i
 (arra)m(y)g(v)-5 b(alues)27 b(in)f(a)h(w)m(a)m(y)g(that)150
-3313 y(allo)m(ws)32 b(them)e(to)h(b)s(e)f(reused)f(as)i(input.)150
-3532 y Fr(6.8)68 b(The)45 b(Directory)g(Stac)l(k)150
-3691 y Ft(The)21 b(directory)h(stac)m(k)h(is)e(a)h(list)g(of)f(recen)m
+3341 y(allo)m(ws)32 b(them)e(to)h(b)s(e)f(reused)f(as)i(input.)150
+3577 y Fr(6.8)68 b(The)45 b(Directory)g(Stac)l(k)150
+3736 y Ft(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 Fs(pushd)g
-Ft(builtin)h(adds)g(directories)150 3801 y(to)42 b(the)f(stac)m(k)i(as)
+Ft(builtin)h(adds)g(directories)150 3846 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 Fs(popd)e Ft(builtin)g(remo)m(v)m(es)j(sp)s(eci\014ed)
-150 3911 y(directories)29 b(from)f(the)h(stac)m(k)h(and)d(c)m(hanges)j
+150 3956 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 4020 y Fs(dirs)29 b Ft(builtin)h(displa)m(ys)h(the)f(con)m
-(ten)m(ts)i(of)f(the)f(directory)h(stac)m(k.)275 4148
+41 b(The)150 4065 y Fs(dirs)29 b Ft(builtin)h(displa)m(ys)h(the)f(con)m
+(ten)m(ts)i(of)f(the)f(directory)h(stac)m(k.)275 4202
 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 Fs(DIRSTACK)e
-Ft(shell)150 4258 y(v)-5 b(ariable.)150 4444 y Fj(6.8.1)63
-b(Directory)40 b(Stac)m(k)g(Builtins)150 4609 y Fs(dirs)870
-4737 y(dirs)47 b([+)p Fi(N)57 b Fs(|)48 b(-)p Fi(N)11
-b Fs(])46 b([-clpv])630 4865 y Ft(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 4975 y(the)28 b(list)h(with)f(the)g
+Ft(shell)150 4312 y(v)-5 b(ariable.)150 4514 y Fj(6.8.1)63
+b(Directory)40 b(Stac)m(k)g(Builtins)150 4687 y Fs(dirs)870
+4823 y(dirs)47 b([-clpv])e([+)p Fi(N)58 b Fs(|)47 b(-)p
+Fi(N)11 b Fs(])630 4959 y Ft(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 5068 y(the)28 b(list)h(with)f(the)g
 Fs(pushd)f Ft(command;)i(the)f Fs(popd)f Ft(command)h(remo)m(v)m(es)h
-(directories)g(from)630 5084 y(the)i(list.)630 5230 y
-Fs(+)p Fi(N)384 b Ft(Displa)m(ys)23 b(the)f Fq(N)10 b
-Ft(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 5340 y(b)m(y)30 b Fs(dirs)f Ft(when)h(in)m(v)m
-(ok)m(ed)i(without)e(options\),)h(starting)g(with)g(zero.)p
-eop end
+(directories)g(from)630 5178 y(the)i(list.)630 5340 y
+Fs(-c)384 b Ft(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.)p eop end
 %%Page: 86 92
 TeXDict begin 86 91 bop 150 -116 a Ft(86)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y Fs(-)p Fi(N)384 b Ft(Displa)m(ys)47
-b(the)g Fq(N)10 b Ft(th)46 b(directory)h(\(coun)m(ting)g(from)f(the)g
-(righ)m(t)h(of)g(the)f(list)1110 408 y(prin)m(ted)25
-b(b)m(y)g Fs(dirs)g Ft(when)f(in)m(v)m(ok)m(ed)j(without)f(options\),)h
-(starting)g(with)e(zero.)630 565 y Fs(-c)384 b Ft(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 722 y Fs(-l)384 b Ft(Pro)s(duces)30
-b(a)i(longer)g(listing;)h(the)f(default)f(listing)i(format)e(uses)g(a)h
-(tilde)g(to)1110 831 y(denote)f(the)f(home)h(directory)-8
-b(.)630 988 y Fs(-p)384 b Ft(Causes)30 b Fs(dirs)f Ft(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 1145 y Fs(-v)384 b Ft(Causes)36 b Fs(dirs)f Ft(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
-1254 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.)150 1411 y Fs(popd)870 1544 y(popd)47
-b([+)p Fi(N)57 b Fs(|)48 b(-)p Fi(N)11 b Fs(])46 b([-n])630
-1677 y Ft(Remo)m(v)m(e)26 b(the)e(top)g(en)m(try)h(from)e(the)h
-(directory)h(stac)m(k,)i(and)c Fs(cd)h Ft(to)h(the)f(new)f(top)i
-(directory)-8 b(.)630 1787 y(When)32 b(no)g(argumen)m(ts)h(are)g(giv)m
-(en,)h Fs(popd)d Ft(remo)m(v)m(es)j(the)f(top)f(directory)h(from)f(the)
-g(stac)m(k)630 1897 y(and)f(p)s(erforms)e(a)j Fs(cd)f
-Ft(to)h(the)f(new)g(top)h(directory)-8 b(.)44 b(The)31
-b(elemen)m(ts)i(are)e(n)m(um)m(b)s(ered)f(from)630 2006
-y(0)d(starting)g(at)g(the)g(\014rst)f(directory)h(listed)g(with)f
-Fs(dirs)p Ft(;)h(i.e.,)i Fs(popd)c Ft(is)i(equiv)-5 b(alen)m(t)28
-b(to)f Fs(popd)630 2116 y(+0)p Ft(.)630 2273 y Fs(+)p
-Fi(N)384 b Ft(Remo)m(v)m(es)22 b(the)f Fq(N)10 b Ft(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 2382 y(b)m(y)30 b Fs(dirs)p Ft(\),)g(starting)h(with)f
-(zero.)630 2539 y Fs(-)p Fi(N)384 b Ft(Remo)m(v)m(es)46
-b(the)g Fq(N)10 b Ft(th)44 b(directory)h(\(coun)m(ting)h(from)f(the)g
-(righ)m(t)g(of)g(the)g(list)1110 2648 y(prin)m(ted)30
-b(b)m(y)g Fs(dirs)p Ft(\),)g(starting)h(with)f(zero.)630
-2805 y Fs(-n)384 b Ft(Suppresses)27 b(the)j(normal)g(c)m(hange)g(of)g
-(directory)g(when)e(remo)m(ving)j(directo-)1110 2915
-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.)150 3071 y Fs(pushd)870 3205 y(pushd)46
-b([-n])h([+)p Fi(N)57 b Fs(|)48 b Fi(-N)58 b Fs(|)47
-b Fi(dir)57 b Fs(])630 3338 y Ft(Sa)m(v)m(e)29 b(the)f(curren)m(t)g
-(directory)g(on)g(the)g(top)g(of)g(the)g(directory)h(stac)m(k)g(and)e
-(then)h Fs(cd)f Ft(to)i Fq(dir)7 b Ft(.)630 3447 y(With)31
-b(no)f(argumen)m(ts,)h Fs(pushd)e Ft(exc)m(hanges)j(the)e(top)h(t)m(w)m
-(o)h(directories.)630 3604 y Fs(-n)384 b Ft(Suppresses)26
-b(the)i(normal)h(c)m(hange)g(of)f(directory)h(when)e(adding)h
-(directories)1110 3714 y(to)j(the)g(stac)m(k,)h(so)e(that)h(only)g(the)
-f(stac)m(k)i(is)f(manipulated.)630 3870 y Fs(+)p Fi(N)384
-b Ft(Brings)29 b(the)f Fq(N)10 b Ft(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
-3980 y(b)m(y)34 b Fs(dirs)p Ft(,)g(starting)h(with)f(zero\))i(to)f(the)
+b(Reference)g(Man)m(ual)630 299 y Fs(-l)384 b Ft(Pro)s(duces)31
+b(a)h(listing)h(using)e(full)h(pathnames;)h(the)f(default)g(listing)h
+(format)1110 408 y(uses)d(a)h(tilde)g(to)g(denote)g(the)f(home)h
+(directory)-8 b(.)630 590 y Fs(-p)384 b Ft(Causes)30
+b Fs(dirs)f Ft(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 771 y Fs(-v)384 b Ft(Causes)36
+b Fs(dirs)f Ft(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 881 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
+1062 y Fs(+)p Fi(N)384 b Ft(Displa)m(ys)23 b(the)f Fq(N)10
+b Ft(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 1172 y(b)m(y)30 b Fs(dirs)f Ft(when)h(in)m(v)m
+(ok)m(ed)i(without)e(options\),)h(starting)g(with)g(zero.)630
+1354 y Fs(-)p Fi(N)384 b Ft(Displa)m(ys)47 b(the)g Fq(N)10
+b Ft(th)46 b(directory)h(\(coun)m(ting)g(from)f(the)g(righ)m(t)h(of)g
+(the)f(list)1110 1463 y(prin)m(ted)25 b(b)m(y)g Fs(dirs)g
+Ft(when)f(in)m(v)m(ok)m(ed)j(without)f(options\),)h(starting)g(with)e
+(zero.)150 1645 y Fs(popd)870 1790 y(popd)47 b([-n])f([+)p
+Fi(N)58 b Fs(|)47 b(-)p Fi(N)11 b Fs(])630 1936 y Ft(Remo)m(v)m(e)26
+b(the)e(top)g(en)m(try)h(from)e(the)h(directory)h(stac)m(k,)i(and)c
+Fs(cd)h Ft(to)h(the)f(new)f(top)i(directory)-8 b(.)630
+2045 y(When)32 b(no)g(argumen)m(ts)h(are)g(giv)m(en,)h
+Fs(popd)d Ft(remo)m(v)m(es)j(the)f(top)f(directory)h(from)f(the)g(stac)
+m(k)630 2155 y(and)f(p)s(erforms)e(a)j Fs(cd)f Ft(to)h(the)f(new)g(top)
+h(directory)-8 b(.)44 b(The)31 b(elemen)m(ts)i(are)e(n)m(um)m(b)s(ered)
+f(from)630 2264 y(0)j(starting)g(at)g(the)f(\014rst)g(directory)g
+(listed)h(with)f Fs(dirs)p Ft(;)g(that)h(is,)g Fs(popd)e
+Ft(is)i(equiv)-5 b(alen)m(t)33 b(to)630 2374 y Fs(popd)c(+0)p
+Ft(.)630 2555 y Fs(-n)384 b Ft(Suppresses)27 b(the)j(normal)g(c)m
+(hange)g(of)g(directory)g(when)e(remo)m(ving)j(directo-)1110
+2665 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 2847 y Fs(+)p Fi(N)384 b Ft(Remo)m(v)m(es)22
+b(the)f Fq(N)10 b Ft(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 2956 y(b)m(y)30
+b Fs(dirs)p Ft(\),)g(starting)h(with)f(zero.)630 3138
+y Fs(-)p Fi(N)384 b Ft(Remo)m(v)m(es)46 b(the)g Fq(N)10
+b Ft(th)44 b(directory)h(\(coun)m(ting)h(from)f(the)g(righ)m(t)g(of)g
+(the)g(list)1110 3247 y(prin)m(ted)30 b(b)m(y)g Fs(dirs)p
+Ft(\),)g(starting)h(with)f(zero.)150 3429 y Fs(pushd)870
+3574 y(pushd)46 b([-n])h([+)p Fi(N)57 b Fs(|)48 b Fi(-N)58
+b Fs(|)47 b Fi(dir)11 b Fs(])630 3720 y Ft(Sa)m(v)m(e)29
+b(the)f(curren)m(t)g(directory)g(on)g(the)g(top)g(of)g(the)g(directory)
+h(stac)m(k)g(and)e(then)h Fs(cd)f Ft(to)i Fq(dir)7 b
+Ft(.)630 3829 y(With)31 b(no)f(argumen)m(ts,)h Fs(pushd)e
+Ft(exc)m(hanges)j(the)e(top)h(t)m(w)m(o)h(directories.)630
+4011 y Fs(-n)384 b Ft(Suppresses)26 b(the)i(normal)h(c)m(hange)g(of)f
+(directory)h(when)e(adding)h(directories)1110 4120 y(to)j(the)g(stac)m
+(k,)h(so)e(that)h(only)g(the)f(stac)m(k)i(is)f(manipulated.)630
+4302 y Fs(+)p Fi(N)384 b Ft(Brings)29 b(the)f Fq(N)10
+b Ft(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 4411 y(b)m(y)34 b Fs(dirs)p Ft(,)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 4521 y(stac)m(k.)630 4702 y Fs(-)p Fi(N)384
+b Ft(Brings)23 b(the)g Fq(N)10 b Ft(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
+4812 y(b)m(y)34 b Fs(dirs)p Ft(,)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
-4089 y(stac)m(k.)630 4246 y Fs(-)p Fi(N)384 b Ft(Brings)23
-b(the)g Fq(N)10 b Ft(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 4356 y(b)m(y)34
-b Fs(dirs)p Ft(,)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 4465 y(stac)m(k.)630
-4622 y Fi(dir)336 b Ft(Mak)m(es)36 b(the)f(curren)m(t)g(w)m(orking)g
-(directory)g(b)s(e)f(the)h(top)g(of)g(the)g(stac)m(k,)j(and)1110
-4732 y(then)30 b(executes)i(the)e(equiv)-5 b(alen)m(t)32
-b(of)f(`)p Fs(cd)f Fq(dir)7 b Ft('.)39 b Fs(cd)p Ft(s)30
-b(to)h Fq(dir)7 b Ft(.)150 4961 y Fr(6.9)68 b(Con)l(trolling)47
-b(the)e(Prompt)150 5121 y Ft(The)24 b(v)-5 b(alue)24
-b(of)h(the)f(v)-5 b(ariable)25 b Fs(PROMPT_COMMAND)20
+4922 y(stac)m(k.)630 5103 y Fi(dir)336 b Ft(Mak)m(es)31
+b(the)g(curren)m(t)f(w)m(orking)g(directory)g(b)s(e)g(the)g(top)g(of)g
+(the)h(stac)m(k,)h(mak-)1110 5213 y(ing)39 b(it)g(the)g(new)f(curren)m
+(t)g(directory)h(as)g(if)g(it)g(had)f(b)s(een)g(supplied)f(as)i(an)1110
+5322 y(argumen)m(t)31 b(to)g(the)f Fs(cd)g Ft(builtin.)p
+eop end
+%%Page: 87 93
+TeXDict begin 87 92 bop 150 -116 a Ft(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2484 b(87)150 299 y Fr(6.9)68
+b(Con)l(trolling)47 b(the)e(Prompt)150 458 y Ft(The)24
+b(v)-5 b(alue)24 b(of)h(the)f(v)-5 b(ariable)25 b Fs(PROMPT_COMMAND)20
 b Ft(is)25 b(examined)f(just)g(b)s(efore)f(Bash)i(prin)m(ts)e(eac)m(h)j
-(primary)150 5230 y(prompt.)39 b(If)28 b Fs(PROMPT_COMMAND)d
+(primary)150 568 y(prompt.)39 b(If)28 b Fs(PROMPT_COMMAND)d
 Ft(is)j(set)h(and)f(has)g(a)h(non-n)m(ull)f(v)-5 b(alue,)29
 b(then)f(the)h(v)-5 b(alue)29 b(is)f(executed)i(just)150
-5340 y(as)h(if)f(it)h(had)f(b)s(een)f(t)m(yp)s(ed)h(on)h(the)f(command)
-g(line.)p eop end
-%%Page: 87 93
-TeXDict begin 87 92 bop 150 -116 a Ft(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(87)275 299 y(In)27
-b(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
-408 y(prompt)g(v)-5 b(ariables:)150 572 y Fs(\\a)384
-b Ft(A)30 b(b)s(ell)h(c)m(haracter.)150 735 y Fs(\\d)384
-b Ft(The)30 b(date,)h(in)f Fs(")p Ft(W)-8 b(eekda)m(y)32
-b(Mon)m(th)f(Date)p Fs(")h Ft(format)f(\(e.g.,)h Fs(")p
-Ft(T)-8 b(ue)30 b(Ma)m(y)h(26)p Fs(")p Ft(\).)150 897
-y Fs(\\D{)p Fi(format)11 b Fs(})630 1006 y Ft(The)27
-b Fq(format)i Ft(is)f(passed)e(to)i Fs(strftime)p Ft(\(3\))f(and)f(the)
-i(result)f(is)g(inserted)g(in)m(to)h(the)g(prompt)630
-1116 y(string;)42 b(an)d(empt)m(y)f Fq(format)j Ft(results)d(in)g(a)h
-(lo)s(cale-sp)s(eci\014c)h(time)f(represen)m(tation.)65
-b(The)630 1226 y(braces)31 b(are)f(required.)150 1388
-y Fs(\\e)384 b Ft(An)30 b(escap)s(e)h(c)m(haracter.)150
-1550 y Fs(\\h)384 b Ft(The)30 b(hostname,)h(up)e(to)i(the)g(\014rst)e
-(`.'.)150 1712 y Fs(\\H)384 b Ft(The)30 b(hostname.)150
-1875 y Fs(\\j)384 b Ft(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 2037 y Fs(\\l)384
+677 y(as)h(if)f(it)h(had)f(b)s(een)f(t)m(yp)s(ed)h(on)h(the)f(command)g
+(line.)275 812 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 921 y(prompt)g(v)-5 b(ariables)32 b Fs(PS1)d
+Ft(to)i Fs(PS4)p Ft(:)150 1081 y Fs(\\a)384 b Ft(A)30
+b(b)s(ell)h(c)m(haracter.)150 1240 y Fs(\\d)384 b Ft(The)30
+b(date,)h(in)f Fs(")p Ft(W)-8 b(eekda)m(y)32 b(Mon)m(th)f(Date)p
+Fs(")h Ft(format)f(\(e.g.,)h Fs(")p Ft(T)-8 b(ue)30 b(Ma)m(y)h(26)p
+Fs(")p Ft(\).)150 1399 y Fs(\\D{)p Fi(format)11 b Fs(})630
+1509 y Ft(The)27 b Fq(format)i Ft(is)f(passed)e(to)i
+Fs(strftime)p Ft(\(3\))f(and)f(the)i(result)f(is)g(inserted)g(in)m(to)h
+(the)g(prompt)630 1618 y(string;)42 b(an)d(empt)m(y)f
+Fq(format)j Ft(results)d(in)g(a)h(lo)s(cale-sp)s(eci\014c)h(time)f
+(represen)m(tation.)65 b(The)630 1728 y(braces)31 b(are)f(required.)150
+1887 y Fs(\\e)384 b Ft(An)30 b(escap)s(e)h(c)m(haracter.)150
+2046 y Fs(\\h)384 b Ft(The)30 b(hostname,)h(up)e(to)i(the)g(\014rst)e
+(`.'.)150 2205 y Fs(\\H)384 b Ft(The)30 b(hostname.)150
+2365 y Fs(\\j)384 b Ft(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 2524 y Fs(\\l)384
 b Ft(The)30 b(basename)h(of)f(the)h(shell's)f(terminal)h(device)g
-(name.)150 2199 y Fs(\\n)384 b Ft(A)30 b(newline.)150
-2362 y Fs(\\r)384 b Ft(A)30 b(carriage)i(return.)150
-2524 y Fs(\\s)384 b Ft(The)22 b(name)g(of)h(the)f(shell,)i(the)f
+(name.)150 2683 y Fs(\\n)384 b Ft(A)30 b(newline.)150
+2842 y Fs(\\r)384 b Ft(A)30 b(carriage)i(return.)150
+3001 y Fs(\\s)384 b Ft(The)22 b(name)g(of)h(the)f(shell,)i(the)f
 (basename)f(of)h Fs($0)f Ft(\(the)g(p)s(ortion)g(follo)m(wing)i(the)f
-(\014nal)e(slash\).)150 2686 y Fs(\\t)384 b Ft(The)30
-b(time,)h(in)f(24-hour)h(HH:MM:SS)g(format.)150 2849
+(\014nal)e(slash\).)150 3161 y Fs(\\t)384 b Ft(The)30
+b(time,)h(in)f(24-hour)h(HH:MM:SS)g(format.)150 3320
 y Fs(\\T)384 b Ft(The)30 b(time,)h(in)f(12-hour)h(HH:MM:SS)g(format.)
-150 3011 y Fs(\\@)384 b Ft(The)30 b(time,)h(in)f(12-hour)h(am/pm)f
-(format.)150 3173 y Fs(\\A)384 b Ft(The)30 b(time,)h(in)f(24-hour)h
-(HH:MM)g(format.)150 3335 y Fs(\\u)384 b Ft(The)30 b(username)g(of)g
-(the)h(curren)m(t)f(user.)150 3498 y Fs(\\v)384 b Ft(The)30
-b(v)m(ersion)h(of)f(Bash)h(\(e.g.,)h(2.00\))150 3660
+150 3479 y Fs(\\@)384 b Ft(The)30 b(time,)h(in)f(12-hour)h(am/pm)f
+(format.)150 3638 y Fs(\\A)384 b Ft(The)30 b(time,)h(in)f(24-hour)h
+(HH:MM)g(format.)150 3798 y Fs(\\u)384 b Ft(The)30 b(username)g(of)g
+(the)h(curren)m(t)f(user.)150 3957 y Fs(\\v)384 b Ft(The)30
+b(v)m(ersion)h(of)f(Bash)h(\(e.g.,)h(2.00\))150 4116
 y Fs(\\V)384 b Ft(The)30 b(release)i(of)e(Bash,)h(v)m(ersion)g
-Fs(+)f Ft(patc)m(hlev)m(el)i(\(e.g.,)h(2.00.0\))150 3822
+Fs(+)f Ft(patc)m(hlev)m(el)i(\(e.g.,)h(2.00.0\))150 4275
 y Fs(\\w)384 b Ft(The)34 b(curren)m(t)h(w)m(orking)g(directory)-8
 b(,)37 b(with)e Fs($HOME)e Ft(abbreviated)j(with)e(a)h(tilde)h(\(uses)f
-(the)630 3932 y Fs($PROMPT_DIRTRIM)26 b Ft(v)-5 b(ariable\).)150
-4094 y Fs(\\W)384 b Ft(The)30 b(basename)h(of)f Fs($PWD)p
+(the)630 4385 y Fs($PROMPT_DIRTRIM)26 b Ft(v)-5 b(ariable\).)150
+4544 y Fs(\\W)384 b Ft(The)30 b(basename)h(of)f Fs($PWD)p
 Ft(,)g(with)g Fs($HOME)f Ft(abbreviated)h(with)g(a)h(tilde.)150
-4257 y Fs(\\!)384 b Ft(The)30 b(history)g(n)m(um)m(b)s(er)f(of)i(this)f
-(command.)150 4419 y Fs(\\#)384 b Ft(The)30 b(command)g(n)m(um)m(b)s
-(er)f(of)i(this)f(command.)150 4581 y Fs(\\$)384 b Ft(If)30
+4703 y Fs(\\!)384 b Ft(The)30 b(history)g(n)m(um)m(b)s(er)f(of)i(this)f
+(command.)150 4862 y Fs(\\#)384 b Ft(The)30 b(command)g(n)m(um)m(b)s
+(er)f(of)i(this)f(command.)150 5022 y Fs(\\$)384 b Ft(If)30
 b(the)g(e\013ectiv)m(e)j(uid)d(is)g(0,)h Fs(#)p Ft(,)g(otherwise)g
-Fs($)p Ft(.)150 4743 y Fs(\\)p Fi(nnn)288 b Ft(The)30
+Fs($)p Ft(.)150 5181 y Fs(\\)p Fi(nnn)288 b Ft(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 Fq(nnn)p Ft(.)150 4906 y Fs(\\\\)384 b
-Ft(A)30 b(bac)m(kslash.)150 5068 y Fs(\\[)384 b Ft(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
-5178 y(terminal)31 b(con)m(trol)h(sequence)e(in)m(to)i(the)e(prompt.)
-150 5340 y Fs(\\])384 b Ft(End)29 b(a)i(sequence)g(of)f(non-prin)m
-(ting)g(c)m(haracters.)p eop end
+-5 b(alue)31 b Fq(nnn)p Ft(.)150 5340 y Fs(\\\\)384 b
+Ft(A)30 b(bac)m(kslash.)p eop end
 %%Page: 88 94
 TeXDict begin 88 93 bop 150 -116 a Ft(88)2572 b(Bash)31
-b(Reference)g(Man)m(ual)275 299 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 408 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 518 y(the)39
+b(Reference)g(Man)m(ual)150 299 y Fs(\\[)384 b Ft(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
+408 y(terminal)31 b(con)m(trol)h(sequence)e(in)m(to)i(the)e(prompt.)150
+557 y Fs(\\])384 b Ft(End)29 b(a)i(sequence)g(of)f(non-prin)m(ting)g(c)
+m(haracters.)275 705 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 814 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 924 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(127\),)j(while)d(the)f(command)150
-628 y(n)m(um)m(b)s(er)j(is)h(the)h(p)s(osition)f(in)g(the)g(sequence)h
+1034 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
-737 y(session.)275 874 y(After)35 b(the)g(string)g(is)g(deco)s(ded,)h
+1143 y(session.)275 1272 y(After)35 b(the)g(string)g(is)g(deco)s(ded,)h
 (it)f(is)g(expanded)f(via)i(parameter)f(expansion,)i(command)d(substi-)
-150 983 y(tution,)k(arithmetic)f(expansion,)g(and)e(quote)h(remo)m(v)-5
-b(al,)39 b(sub)5 b(ject)35 b(to)i(the)f(v)-5 b(alue)36
-b(of)g(the)g Fs(promptvars)150 1093 y Ft(shell)31 b(option)f(\(see)i
-(Section)f(4.2)g([Bash)g(Builtins],)g(page)g(43\).)150
-1328 y Fr(6.10)68 b(The)45 b(Restricted)h(Shell)150 1488
+150 1382 y(tution,)k(arithmetic)f(expansion,)g(and)e(quote)h(remo)m(v)
+-5 b(al,)39 b(sub)5 b(ject)35 b(to)i(the)f(v)-5 b(alue)36
+b(of)g(the)g Fs(promptvars)150 1491 y Ft(shell)31 b(option)f(\(see)i
+(Section)f(4.2)g([Bash)g(Builtins],)g(page)g(44\).)150
+1713 y Fr(6.10)68 b(The)45 b(Restricted)h(Shell)150 1872
 y Ft(If)27 b(Bash)h(is)g(started)g(with)g(the)g(name)g
 Fs(rbash)p Ft(,)f(or)g(the)h(`)p Fs(--restricted)p Ft(')d(or)j(`)p
-Fs(-r)p Ft(')g(option)g(is)g(supplied)e(at)150 1597 y(in)m(v)m(o)s
+Fs(-r)p Ft(')g(option)g(is)g(supplied)e(at)150 1982 y(in)m(v)m(o)s
 (cation,)k(the)d(shell)g(b)s(ecomes)h(restricted.)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 1707 y(more)g(con)m(trolled)i(than)e(the)g(standard)g
+(vironmen)m(t)150 2091 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 Fs(bash)e Ft(with)150 1817 y(the)31 b(exception)g(that)
+(tically)h(to)f Fs(bash)e Ft(with)150 2201 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 1953 y Fp(\017)60 b Ft(Changing)30 b(directories)h(with)
-g(the)f Fs(cd)g Ft(builtin.)225 2089 y Fp(\017)60 b Ft(Setting)31
+(erformed:)225 2330 y Fp(\017)60 b Ft(Changing)30 b(directories)h(with)
+g(the)f Fs(cd)g Ft(builtin.)225 2459 y Fp(\017)60 b Ft(Setting)31
 b(or)f(unsetting)h(the)g(v)-5 b(alues)30 b(of)h(the)f
 Fs(SHELL)p Ft(,)g Fs(PATH)p Ft(,)f Fs(ENV)p Ft(,)h(or)g
-Fs(BASH_ENV)e Ft(v)-5 b(ariables.)225 2224 y Fp(\017)60
+Fs(BASH_ENV)e Ft(v)-5 b(ariables.)225 2587 y Fp(\017)60
 b Ft(Sp)s(ecifying)30 b(command)g(names)g(con)m(taining)i(slashes.)225
-2360 y Fp(\017)60 b Ft(Sp)s(ecifying)30 b(a)h(\014lename)f(con)m
+2716 y Fp(\017)60 b Ft(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
-Fs(.)h Ft(builtin)e(command.)225 2495 y Fp(\017)60 b
+Fs(.)h Ft(builtin)e(command.)225 2845 y Fp(\017)60 b
 Ft(Sp)s(ecifying)28 b(a)i(\014lename)f(con)m(taining)h(a)g(slash)e(as)h
 (an)g(argumen)m(t)h(to)f(the)g(`)p Fs(-p)p Ft(')g(option)g(to)h(the)f
-Fs(hash)330 2605 y Ft(builtin)h(command.)225 2740 y Fp(\017)60
+Fs(hash)330 2955 y Ft(builtin)h(command.)225 3084 y Fp(\017)60
 b Ft(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 2876 y Fp(\017)60
+(en)m(vironmen)m(t)g(at)g(startup.)225 3213 y Fp(\017)60
 b Ft(P)m(arsing)31 b(the)f(v)-5 b(alue)31 b(of)g Fs(SHELLOPTS)d
 Ft(from)h(the)i(shell)g(en)m(vironmen)m(t)g(at)g(startup.)225
-3011 y Fp(\017)60 b Ft(Redirecting)31 b(output)f(using)g(the)h(`)p
+3342 y Fp(\017)60 b Ft(Redirecting)31 b(output)f(using)g(the)h(`)p
 Fs(>)p Ft(',)g(`)p Fs(>|)p Ft(',)f(`)p Fs(<>)p Ft(',)h(`)p
 Fs(>&)p Ft(',)f(`)p Fs(&>)p Ft(',)h(and)e(`)p Fs(>>)p
-Ft(')i(redirection)g(op)s(erators.)225 3147 y Fp(\017)60
+Ft(')i(redirection)g(op)s(erators.)225 3470 y Fp(\017)60
 b Ft(Using)31 b(the)f Fs(exec)f Ft(builtin)h(to)h(replace)h(the)e
-(shell)h(with)f(another)h(command.)225 3282 y Fp(\017)60
+(shell)h(with)f(another)h(command.)225 3599 y Fp(\017)60
 b Ft(Adding)40 b(or)h(deleting)h(builtin)e(commands)h(with)f(the)h(`)p
 Fs(-f)p Ft(')g(and)f(`)p Fs(-d)p Ft(')h(options)g(to)h(the)f
-Fs(enable)330 3392 y Ft(builtin.)225 3527 y Fp(\017)60
+Fs(enable)330 3709 y Ft(builtin.)225 3838 y Fp(\017)60
 b Ft(Using)31 b(the)f Fs(enable)f Ft(builtin)h(command)g(to)h(enable)g
-(disabled)f(shell)g(builtins.)225 3663 y Fp(\017)60 b
+(disabled)f(shell)g(builtins.)225 3967 y Fp(\017)60 b
 Ft(Sp)s(ecifying)30 b(the)g(`)p Fs(-p)p Ft(')h(option)g(to)g(the)f
-Fs(command)f Ft(builtin.)225 3798 y Fp(\017)60 b Ft(T)-8
+Fs(command)f Ft(builtin.)225 4096 y Fp(\017)60 b Ft(T)-8
 b(urning)29 b(o\013)i(restricted)g(mo)s(de)f(with)g(`)p
 Fs(set)g(+r)p Ft(')g(or)g(`)p Fs(set)g(+o)g(restricted)p
-Ft('.)275 3961 y(These)g(restrictions)h(are)g(enforced)f(after)h(an)m
-(y)g(startup)f(\014les)g(are)h(read.)275 4097 y(When)j(a)i(command)e
+Ft('.)275 4244 y(These)g(restrictions)h(are)g(enforced)f(after)h(an)m
+(y)g(startup)f(\014les)g(are)h(read.)275 4373 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 4207 y(Scripts],)25
+(\(see)g(Section)g(3.8)g([Shell)150 4482 y(Scripts],)25
 b(page)e(35\),)j Fs(rbash)c Ft(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.)150
-4442 y Fr(6.11)68 b(Bash)45 b(POSIX)f(Mo)t(de)150 4602
+4704 y Fr(6.11)68 b(Bash)45 b(POSIX)f(Mo)t(de)150 4863
 y Ft(Starting)34 b(Bash)f(with)g(the)g(`)p Fs(--posix)p
 Ft(')f(command-line)i(option)g(or)f(executing)h(`)p Fs(set)c(-o)g
-(posix)p Ft(')i(while)150 4711 y(Bash)26 b(is)g(running)e(will)j(cause)
+(posix)p Ft(')i(while)150 4973 y(Bash)26 b(is)g(running)e(will)j(cause)
 f(Bash)g(to)h(conform)f(more)g(closely)h(to)g(the)f Fl(posix)f
-Ft(standard)g(b)m(y)h(c)m(hanging)150 4821 y(the)31 b(b)s(eha)m(vior)f
+Ft(standard)g(b)m(y)h(c)m(hanging)150 5082 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 Fl(posix)g
 Ft(in)g(areas)h(where)f(the)h(Bash)f(default)h(di\013ers.)275
-4957 y(When)f(in)m(v)m(ok)m(ed)h(as)g Fs(sh)p Ft(,)f(Bash)h(en)m(ters)g
+5211 y(When)f(in)m(v)m(ok)m(ed)h(as)g Fs(sh)p Ft(,)f(Bash)h(en)m(ters)g
 Fl(posix)e Ft(mo)s(de)h(after)h(reading)g(the)f(startup)g(\014les.)275
-5094 y(The)f(follo)m(wing)j(list)f(is)g(what's)f(c)m(hanged)h(when)e(`)
-p Fl(posix)h Ft(mo)s(de')h(is)f(in)g(e\013ect:)199 5230
-y(1.)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 Fs($PATH)d
-Ft(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
-Fs(shopt)f(-s)h(checkhash)p Ft('.)p eop end
+5340 y(The)f(follo)m(wing)j(list)f(is)g(what's)f(c)m(hanged)h(when)e(`)
+p Fl(posix)h Ft(mo)s(de')h(is)f(in)g(e\013ect:)p eop
+end
 %%Page: 89 95
 TeXDict begin 89 94 bop 150 -116 a Ft(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(89)199 299 y(2.)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
-408 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)199
-540 y(3.)61 b(The)40 b(message)h(prin)m(ted)f(b)m(y)g(the)h(job)f(con)m
+b(Bash)30 b(F)-8 b(eatures)2484 b(89)199 299 y(1.)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 Fs($PATH)d Ft(to)i(\014nd)330
+408 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 Fs(shopt)f(-s)h(checkhash)p
+Ft('.)199 544 y(2.)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 654 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)199
+789 y(3.)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 650 y(`Stopp)s(ed\()p Fq(signame)5 b Ft(\)',)31
+(is)330 899 y(`Stopp)s(ed\()p Fq(signame)5 b Ft(\)',)31
 b(where)f Fq(signame)36 b Ft(is,)31 b(for)f(example,)h
-Fs(SIGTSTP)p Ft(.)199 781 y(4.)61 b(The)27 b Fs(bg)g
+Fs(SIGTSTP)p Ft(.)199 1035 y(4.)61 b(The)27 b Fs(bg)g
 Ft(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 891
+(h)i(job)e(placed)h(in)f(the)h(bac)m(kground,)330 1144
 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.)199
-1022 y(5.)61 b(Reserv)m(ed)40 b(w)m(ords)g(app)s(earing)f(in)h(a)g(con)
+1280 y(5.)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 1132 y(undergo)30 b(alias)h(expansion.)199 1263 y(6.)61
+330 1390 y(undergo)30 b(alias)h(expansion.)199 1525 y(6.)61
 b(The)38 b Fl(posix)h Fs(PS1)f Ft(and)g Fs(PS2)g Ft(expansions)g(of)i
 (`)p Fs(!)p Ft(')f(to)g(the)g(history)g(n)m(um)m(b)s(er)f(and)g(`)p
-Fs(!!)p Ft(')h(to)g(`)p Fs(!)p Ft(')h(are)330 1373 y(enabled,)26
+Fs(!!)p Ft(')h(to)g(`)p Fs(!)p Ft(')h(are)330 1635 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 Fs(PS1)f Ft(and)h Fs(PS2)f Ft(regardless)330
-1482 y(of)31 b(the)f(setting)i(of)e(the)h Fs(promptvars)c
-Ft(option.)199 1614 y(7.)61 b(The)30 b Fl(posix)g Ft(startup)f(\014les)
+1744 y(of)31 b(the)f(setting)i(of)e(the)h Fs(promptvars)c
+Ft(option.)199 1880 y(7.)61 b(The)30 b Fl(posix)g Ft(startup)f(\014les)
 i(are)g(executed)g(\()p Fs($ENV)p Ft(\))f(rather)g(than)g(the)h(normal)
-f(Bash)g(\014les.)199 1745 y(8.)61 b(Tilde)30 b(expansion)g(is)f(only)h
+f(Bash)g(\014les.)199 2016 y(8.)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 1855 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h
-(on)e(the)h(line.)199 1987 y(9.)61 b(The)30 b(default)g(history)h
+(rather)330 2125 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h
+(on)e(the)h(line.)199 2261 y(9.)61 b(The)31 b Fs(command)e
+Ft(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 2371 y(gumen)m(ts)j
+(from)g(expanding)f(them)h(as)g(assignmen)m(t)h(statemen)m(ts;)j(when)
+34 b(not)h(in)f(POSIX)g(mo)s(de,)330 2480 y(assignmen)m(t)42
+b(builtins)e(lose)h(their)g(assignmen)m(t)h(statemen)m(t)h(expansion)d
+(prop)s(erties)g(when)g(pre-)330 2590 y(ceded)31 b(b)m(y)f
+Fs(command)p Ft(.)154 2725 y(10.)61 b(The)30 b(default)g(history)h
 (\014le)f(is)h(`)p Fs(~/.sh_history)p Ft(')c(\(this)k(is)f(the)g
 (default)h(v)-5 b(alue)31 b(of)f Fs($HISTFILE)p Ft(\).)154
-2118 y(10.)61 b(The)23 b(output)f(of)i(`)p Fs(kill)29
+2861 y(11.)61 b(The)23 b(output)f(of)i(`)p Fs(kill)29
 b(-l)p Ft(')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 2228
+(single)g(line,)h(separated)e(b)m(y)g(spaces,)330 2971
 y(without)30 b(the)h(`)p Fs(SIG)p Ft(')f(pre\014x.)154
-2359 y(11.)61 b(The)30 b Fs(kill)f Ft(builtin)h(do)s(es)g(not)h(accept)
+3106 y(12.)61 b(The)30 b Fs(kill)f Ft(builtin)h(do)s(es)g(not)h(accept)
 h(signal)f(names)f(with)g(a)h(`)p Fs(SIG)p Ft(')f(pre\014x.)154
-2491 y(12.)61 b(Non-in)m(teractiv)m(e)34 b(shells)c(exit)h(if)g
+3242 y(13.)61 b(Non-in)m(teractiv)m(e)34 b(shells)c(exit)h(if)g
 Fq(\014lename)k Ft(in)30 b Fs(.)g Fq(\014lename)36 b
-Ft(is)31 b(not)f(found.)154 2622 y(13.)61 b(Non-in)m(teractiv)m(e)41
+Ft(is)31 b(not)f(found.)154 3378 y(14.)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 2732 y(in)m(v)-5 b(alid)31
-b(expression.)154 2863 y(14.)61 b(Non-in)m(teractiv)m(e)27
+(expansion)f(results)f(in)h(an)330 3487 y(in)m(v)-5 b(alid)31
+b(expression.)154 3623 y(15.)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 Fs(.)g Ft(or)h Fs(source)330
-2973 y Ft(builtins,)30 b(or)g(in)g(a)h(string)g(pro)s(cessed)e(b)m(y)i
-(the)f Fs(eval)f Ft(builtin.)154 3104 y(15.)61 b(Redirection)25
+3733 y Ft(builtins,)30 b(or)g(in)g(a)h(string)g(pro)s(cessed)e(b)m(y)i
+(the)f Fs(eval)f Ft(builtin.)154 3868 y(16.)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 3214 y(unless)30
-b(the)g(shell)h(is)f(in)m(teractiv)m(e.)154 3345 y(16.)61
+(the)g(w)m(ord)f(in)h(the)g(redirection)330 3978 y(unless)30
+b(the)g(shell)h(is)f(in)m(teractiv)m(e.)154 4114 y(17.)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
-3477 y(17.)61 b(F)-8 b(unction)35 b(names)g(m)m(ust)f(b)s(e)g(v)-5
+4249 y(18.)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 Fs(name)p Ft(s.)52 b(That)34 b(is,)i(they)f(ma)m(y)
-g(not)g(con)m(tain)g(c)m(haracters)330 3587 y(other)e(than)g(letters,)h
+g(not)g(con)m(tain)g(c)m(haracters)330 4359 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 3696 y(a)31 b(function)f(with)g(an)g(in)m(v)
+(digit.)49 b(Declaring)330 4468 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 3828 y(18.)61 b
-Fl(posix)30 b Ft(sp)s(ecial)h(builtins)e(are)i(found)e(b)s(efore)h
-(shell)h(functions)f(during)f(command)h(lo)s(okup.)154
-3959 y(19.)61 b(The)29 b Fs(time)g Ft(reserv)m(ed)h(w)m(ord)g(ma)m(y)g
+(non-in)m(teractiv)m(e)j(shells.)154 4604 y(19.)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 Fl(posix)g Ft(sp)s(ecial)h(builtins.)154
+4740 y(20.)61 b Fl(posix)30 b Ft(sp)s(ecial)h(builtins)e(are)i(found)e
+(b)s(efore)h(shell)h(functions)f(during)f(command)h(lo)s(okup.)154
+4876 y(21.)61 b(The)29 b Fs(time)g Ft(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 4069
+b(When)30 b(used)f(in)g(this)h(w)m(a)m(y)-8 b(,)330 4985
 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 Fs(TIMEFORMAT)330
-4178 y Ft(v)-5 b(ariable)31 b(con)m(trols)h(the)e(format)h(of)g(the)f
-(timing)h(information.)154 4310 y(20.)61 b(When)33 b(parsing)f(and)g
+5095 y Ft(v)-5 b(ariable)31 b(con)m(trols)h(the)e(format)h(of)g(the)f
+(timing)h(information.)154 5230 y(22.)61 b(When)33 b(parsing)f(and)g
 (expanding)g(a)i($)p Fs({)6 b Ft(.)22 b(.)g(.)11 b Fs(})33
 b Ft(expansion)f(that)i(app)s(ears)e(within)g(double)g(quotes,)330
-4419 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
-4529 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 4639 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
-4770 y(21.)61 b(The)29 b(parser)g(do)s(es)g(not)h(recognize)h
-Fs(time)d Ft(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 4880 y(`)p Fs(-)p Ft('.)154
-5011 y(22.)61 b(If)24 b(a)g Fl(posix)g Ft(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 5121 y(errors)30 b(are)h(those)f
-(listed)h(in)f(the)h Fl(posix)e Ft(standard,)h(and)g(include)g(things)g
-(lik)m(e)i(passing)e(incorrect)330 5230 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 5340 y(command)30
-b(name,)h(and)f(so)g(on.)p eop end
+5340 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)p
+eop end
 %%Page: 90 96
 TeXDict begin 90 95 bop 150 -116 a Ft(90)2572 b(Bash)31
-b(Reference)g(Man)m(ual)154 299 y(23.)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
-408 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
-518 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 651 y(24.)61 b(A)28 b(non-in)m(teractiv)m(e)j(shell)e
-(exists)f(with)g(an)g(error)g(status)h(if)f(a)g(v)-5
-b(ariable)29 b(assignmen)m(t)g(error)f(o)s(ccurs)330
-760 y(in)i(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
-870 y(command.)154 1003 y(25.)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 Fs(for)330 1112 y Ft(statemen)m(t)32
-b(or)f(the)f(selection)i(v)-5 b(ariable)32 b(in)e(a)g
-Fs(select)f Ft(statemen)m(t)j(is)f(a)f(readonly)h(v)-5
-b(ariable.)154 1245 y(26.)61 b(Pro)s(cess)30 b(substitution)g(is)h(not)
-f(a)m(v)-5 b(ailable.)154 1377 y(27.)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
+b(Reference)g(Man)m(ual)330 299 y(other)g(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 408 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 542 y(23.)61 b(The)29
+b(parser)g(do)s(es)g(not)h(recognize)h Fs(time)d Ft(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
+652 y(`)p Fs(-)p Ft('.)154 786 y(24.)61 b(If)24 b(a)g
+Fl(posix)g Ft(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 896 y(errors)30 b(are)h(those)f(listed)h(in)f(the)h
+Fl(posix)e Ft(standard,)h(and)g(include)g(things)g(lik)m(e)i(passing)e
+(incorrect)330 1005 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 1115 y(command)30 b(name,)h(and)f(so)g(on.)154
+1249 y(25.)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 1358 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 1468 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 1602
+y(26.)61 b(A)28 b(non-in)m(teractiv)m(e)j(shell)e(exists)f(with)g(an)g
+(error)g(status)h(if)f(a)g(v)-5 b(ariable)29 b(assignmen)m(t)g(error)f
+(o)s(ccurs)330 1711 y(in)i(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 1821 y(command.)154 1955 y(27.)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
+Fs(for)330 2064 y Ft(statemen)m(t)32 b(or)f(the)f(selection)i(v)-5
+b(ariable)32 b(in)e(a)g Fs(select)f Ft(statemen)m(t)j(is)f(a)f
+(readonly)h(v)-5 b(ariable.)154 2198 y(28.)61 b(Pro)s(cess)30
+b(substitution)g(is)h(not)f(a)m(v)-5 b(ailable.)154 2332
+y(29.)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
 Fs(#)p Ft(')f(and)f(`)p Fs(?)p Ft(')h(sp)s(ecial)330
-1487 y(parameters.)154 1620 y(28.)61 b(Assignmen)m(t)23
+2442 y(parameters.)154 2576 y(30.)61 b(Assignmen)m(t)23
 b(statemen)m(ts)h(preceding)e Fl(posix)f Ft(sp)s(ecial)i(builtins)f(p)s
-(ersist)g(in)f(the)i(shell)f(en)m(vironmen)m(t)330 1729
-y(after)31 b(the)f(builtin)g(completes.)154 1862 y(29.)61
+(ersist)g(in)f(the)i(shell)f(en)m(vironmen)m(t)330 2685
+y(after)31 b(the)f(builtin)g(completes.)154 2819 y(31.)61
 b(Assignmen)m(t)35 b(statemen)m(ts)h(preceding)f(shell)f(function)g
 (calls)i(p)s(ersist)e(in)g(the)h(shell)f(en)m(vironmen)m(t)330
-1972 y(after)d(the)f(function)h(returns,)e(as)i(if)f(a)h
+2929 y(after)d(the)f(function)h(returns,)e(as)i(if)f(a)h
 Fl(posix)e Ft(sp)s(ecial)i(builtin)f(command)g(had)g(b)s(een)g
-(executed.)154 2104 y(30.)61 b(The)38 b Fs(export)f Ft(and)g
+(executed.)154 3063 y(32.)61 b(The)38 b Fs(export)f Ft(and)g
 Fs(readonly)f Ft(builtin)i(commands)g(displa)m(y)h(their)f(output)g(in)
-g(the)h(format)g(re-)330 2214 y(quired)30 b(b)m(y)g Fl(posix)p
-Ft(.)154 2346 y(31.)61 b(The)30 b Fs(trap)f Ft(builtin)h(displa)m(ys)g
+g(the)h(format)g(re-)330 3173 y(quired)30 b(b)m(y)g Fl(posix)p
+Ft(.)154 3306 y(33.)61 b(The)30 b Fs(trap)f Ft(builtin)h(displa)m(ys)g
 (signal)i(names)e(without)g(the)h(leading)g Fs(SIG)p
-Ft(.)154 2479 y(32.)61 b(The)39 b Fs(trap)e Ft(builtin)i(do)s(esn't)g
+Ft(.)154 3440 y(34.)61 b(The)39 b Fs(trap)e Ft(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 2589 y(and)30 b(rev)m(ert)i(the)e
+(signal)i(sp)s(eci\014cation)330 3550 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 2698 y(consists)e(solely)g(of)g
+(is,)g(unless)f(that)h(argumen)m(t)330 3660 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
-2808 y(for)h(a)g(giv)m(en)h(signal)g(to)f(the)h(original)g(disp)s
+3769 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 Fs(-)p Ft(')g(as)g(the)g(\014rst)
-f(argumen)m(t.)154 2941 y(33.)61 b(The)21 b Fs(.)h Ft(and)f
+f(argumen)m(t.)154 3903 y(35.)61 b(The)21 b Fs(.)h Ft(and)f
 Fs(source)f Ft(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
-3050 y(if)30 b(it)h(is)g(not)f(found)f(b)m(y)i(searc)m(hing)g
-Fs(PATH)p Ft(.)154 3183 y(34.)61 b(Subshells)20 b(spa)m(wned)h(to)h
+4013 y(if)30 b(it)h(is)g(not)f(found)f(b)m(y)i(searc)m(hing)g
+Fs(PATH)p Ft(.)154 4147 y(36.)61 b(Subshells)20 b(spa)m(wned)h(to)h
 (execute)g(command)g(substitutions)f(inherit)g(the)g(v)-5
 b(alue)22 b(of)g(the)f(`)p Fs(-e)p Ft(')g(option)330
-3292 y(from)34 b(the)h(paren)m(t)g(shell.)55 b(When)34
+4256 y(from)34 b(the)h(paren)m(t)g(shell.)55 b(When)34
 b(not)i(in)e Fl(posix)g Ft(mo)s(de,)i(Bash)f(clears)h(the)f(`)p
-Fs(-e)p Ft(')f(option)i(in)e(suc)m(h)330 3402 y(subshells.)154
-3535 y(35.)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.)154 3667
-y(36.)61 b(When)43 b(the)g Fs(alias)f Ft(builtin)g(displa)m(ys)i(alias)
+Fs(-e)p Ft(')f(option)i(in)e(suc)m(h)330 4366 y(subshells.)154
+4500 y(37.)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.)154 4634
+y(38.)61 b(When)43 b(the)g Fs(alias)f Ft(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 3777 y(leading)31 b(`)p Fs(alias)e Ft(')i(unless)f(the)g(`)p
-Fs(-p)p Ft(')g(option)h(is)g(supplied.)154 3910 y(37.)61
+330 4743 y(leading)31 b(`)p Fs(alias)e Ft(')i(unless)f(the)g(`)p
+Fs(-p)p Ft(')g(option)h(is)g(supplied.)154 4877 y(39.)61
 b(When)40 b(the)g Fs(set)f Ft(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 4019 y(names)30 b(and)g(de\014nitions.)154
-4152 y(38.)61 b(When)36 b(the)g Fs(set)g Ft(builtin)g(is)g(in)m(v)m(ok)
+(function)330 4987 y(names)30 b(and)g(de\014nitions.)154
+5121 y(40.)61 b(When)36 b(the)g Fs(set)g Ft(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 4261 y(quotes,)26 b(unless)d(they)i
+b(v)-5 b(alues)37 b(without)330 5230 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 4371 y(c)m(haracters.)154
-4504 y(39.)61 b(When)35 b(the)g Fs(cd)f Ft(builtin)h(is)g(in)m(v)m(ok)m
-(ed)i(in)d Fq(logical)41 b Ft(mo)s(de,)36 b(and)f(the)g(pathname)g
-(constructed)g(from)330 4613 y Fs($PWD)i Ft(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 4723 y(directory)-8 b(,)32 b Fs(cd)d
-Ft(will)i(fail)g(instead)g(of)f(falling)h(bac)m(k)h(to)f
-Fq(ph)m(ysical)j Ft(mo)s(de.)154 4855 y(40.)61 b(The)36
-b Fs(pwd)f Ft(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 4965 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(`)p
-Fs(-P)p Ft(')f(option.)154 5098 y(41.)61 b(When)35 b(listing)g(the)g
-(history)-8 b(,)36 b(the)f Fs(fc)g Ft(builtin)f(do)s(es)g(not)h
-(include)g(an)f(indication)i(of)f(whether)f(or)330 5207
-y(not)d(a)f(history)h(en)m(try)f(has)g(b)s(een)g(mo)s(di\014ed.)154
-5340 y(42.)61 b(The)30 b(default)g(editor)h(used)f(b)m(y)g
-Fs(fc)g Ft(is)g Fs(ed)p Ft(.)p eop end
+g(con)m(tains)i(nonprin)m(ting)330 5340 y(c)m(haracters.)p
+eop end
 %%Page: 91 97
 TeXDict begin 91 96 bop 150 -116 a Ft(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(91)154 299 y(43.)61
-b(The)37 b Fs(type)g Ft(and)g Fs(command)f Ft(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
-408 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 518 y(found)i(in)h Fs($PATH)p Ft(.)154 653 y(44.)61
-b(The)33 b Fs(vi)f Ft(editing)i(mo)s(de)f(will)g(in)m(v)m(ok)m(e)i(the)
-e Fs(vi)g Ft(editor)h(directly)f(when)f(the)i(`)p Fs(v)p
-Ft(')f(command)g(is)g(run,)330 762 y(instead)e(of)f(c)m(hec)m(king)i
-Fs($VISUAL)d Ft(and)g Fs($EDITOR)p Ft(.)154 897 y(45.)61
-b(When)41 b(the)g Fs(xpg_echo)e Ft(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
-1006 y(gumen)m(ts)35 b(to)g Fs(echo)e Ft(as)i(options.)54
+b(Bash)30 b(F)-8 b(eatures)2484 b(91)154 299 y(41.)61
+b(When)35 b(the)g Fs(cd)f Ft(builtin)h(is)g(in)m(v)m(ok)m(ed)i(in)d
+Fq(logical)41 b Ft(mo)s(de,)36 b(and)f(the)g(pathname)g(constructed)g
+(from)330 408 y Fs($PWD)i Ft(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
+518 y(directory)-8 b(,)32 b Fs(cd)d Ft(will)i(fail)g(instead)g(of)f
+(falling)h(bac)m(k)h(to)f Fq(ph)m(ysical)j Ft(mo)s(de.)154
+653 y(42.)61 b(The)36 b Fs(pwd)f Ft(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 762 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(`)p Fs(-P)p Ft(')f(option.)154 897 y(43.)61 b(When)35
+b(listing)g(the)g(history)-8 b(,)36 b(the)f Fs(fc)g Ft(builtin)f(do)s
+(es)g(not)h(include)g(an)f(indication)i(of)f(whether)f(or)330
+1006 y(not)d(a)f(history)h(en)m(try)f(has)g(b)s(een)g(mo)s(di\014ed.)
+154 1141 y(44.)61 b(The)30 b(default)g(editor)h(used)f(b)m(y)g
+Fs(fc)g Ft(is)g Fs(ed)p Ft(.)154 1275 y(45.)61 b(The)37
+b Fs(type)g Ft(and)g Fs(command)f Ft(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
+1385 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 1494 y(found)i(in)h Fs($PATH)p Ft(.)154
+1629 y(46.)61 b(The)33 b Fs(vi)f Ft(editing)i(mo)s(de)f(will)g(in)m(v)m
+(ok)m(e)i(the)e Fs(vi)g Ft(editor)h(directly)f(when)f(the)i(`)p
+Fs(v)p Ft(')f(command)g(is)g(run,)330 1738 y(instead)e(of)f(c)m(hec)m
+(king)i Fs($VISUAL)d Ft(and)g Fs($EDITOR)p Ft(.)154 1873
+y(47.)61 b(When)41 b(the)g Fs(xpg_echo)e Ft(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
+1983 y(gumen)m(ts)35 b(to)g Fs(echo)e Ft(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 1116 y(con)m(v)m(erted.)154
-1250 y(46.)61 b(The)30 b Fs(ulimit)f Ft(builtin)g(uses)h(a)h(blo)s(c)m
+g(c)m(haracters)h(are)330 2092 y(con)m(v)m(erted.)154
+2227 y(48.)61 b(The)30 b Fs(ulimit)f Ft(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(`)p Fs(-c)p
-Ft(')f(and)g(`)p Fs(-f)p Ft(')g(options.)154 1385 y(47.)61
+Ft(')f(and)g(`)p Fs(-f)p Ft(')g(options.)154 2361 y(49.)61
 b(The)39 b(arriv)-5 b(al)41 b(of)f Fs(SIGCHLD)e Ft(when)h(a)h(trap)g
 (is)g(set)h(on)f Fs(SIGCHLD)e Ft(do)s(es)h(not)h(in)m(terrupt)g(the)g
-Fs(wait)330 1494 y Ft(builtin)c(and)h(cause)g(it)h(to)f(return)f
+Fs(wait)330 2471 y Ft(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 1604 y(c)m(hild)31 b(that)g(exits.)275
-1763 y(There)j(is)g(other)h Fl(posix)f Ft(b)s(eha)m(vior)h(that)g(Bash)
+(for)f(eac)m(h)330 2580 y(c)m(hild)31 b(that)g(exits.)275
+2740 y(There)j(is)g(other)h Fl(posix)f Ft(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 1873 y Fl(posix)d Ft(mo)s(de.)40 b(Sp)s(eci\014cally:)199
-2007 y(1.)61 b(The)30 b Fs(fc)f Ft(builtin)h(c)m(hec)m(ks)i
+150 2849 y Fl(posix)d Ft(mo)s(de.)40 b(Sp)s(eci\014cally:)199
+2984 y(1.)61 b(The)30 b Fs(fc)f Ft(builtin)h(c)m(hec)m(ks)i
 Fs($EDITOR)c Ft(as)j(a)f(program)g(to)h(edit)g(history)f(en)m(tries)h
-(if)f Fs(FCEDIT)f Ft(is)h(unset,)330 2117 y(rather)g(than)g(defaulting)
+(if)f Fs(FCEDIT)f Ft(is)h(unset,)330 3093 y(rather)g(than)g(defaulting)
 h(directly)g(to)g Fs(ed)p Ft(.)40 b Fs(fc)30 b Ft(uses)g
-Fs(ed)g Ft(if)g Fs(EDITOR)f Ft(is)h(unset.)199 2252 y(2.)61
+Fs(ed)g Ft(if)g Fs(EDITOR)f Ft(is)h(unset.)199 3228 y(2.)61
 b(As)29 b(noted)g(ab)s(o)m(v)m(e,)i(Bash)e(requires)g(the)g
 Fs(xpg_echo)e Ft(option)j(to)g(b)s(e)e(enabled)h(for)g(the)g
-Fs(echo)f Ft(builtin)330 2361 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275
-2521 y(Bash)66 b(can)h(b)s(e)f(con\014gured)g(to)i(b)s(e)e
+Fs(echo)f Ft(builtin)330 3337 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275
+3497 y(Bash)66 b(can)h(b)s(e)f(con\014gured)g(to)i(b)s(e)e
 Fl(posix)p Ft(-conforman)m(t)h(b)m(y)f(default,)77 b(b)m(y)66
-b(sp)s(ecifying)h(the)150 2630 y(`)p Fs(--enable-strict-posix-def)o
+b(sp)s(ecifying)h(the)150 3606 y(`)p Fs(--enable-strict-posix-def)o
 (ault)o Ft(')i(to)76 b Fs(configure)c Ft(when)i(building)g(\(see)i
-(Section)f(10.8)150 2740 y([Optional)31 b(F)-8 b(eatures],)32
+(Section)f(10.8)150 3716 y([Optional)31 b(F)-8 b(eatures],)32
 b(page)f(135\).)p eop end
 %%Page: 92 98
 TeXDict begin 92 97 bop eop end
@@ -11422,7 +11487,7 @@ Fs(SIGCHLD)e Ft(is)i(executed)150 1553 y(for)30 b(eac)m(h)i(c)m(hild)e
 (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 Fs(checkjobs)150 1796 y Ft(option)e(is)f
 (enabled)h({)g(see)g(Section)g(4.3.2)h([The)e(Shopt)g(Builtin],)j(page)
-e(57\),)i(the)e(shell)f(prin)m(ts)g(a)h(w)m(arning)150
+e(58\),)i(the)e(shell)f(prin)m(ts)g(a)h(w)m(arning)150
 1906 y(message,)k(and)c(if)i(the)f Fs(checkjobs)e Ft(option)j(is)f
 (enabled,)i(lists)e(the)h(jobs)f(and)f(their)i(statuses.)39
 b(The)25 b Fs(jobs)150 2016 y Ft(command)36 b(ma)m(y)h(then)f(b)s(e)f
@@ -11470,113 +11535,113 @@ eop end
 %%Page: 95 101
 TeXDict begin 95 100 bop 150 -116 a Ft(Chapter)30 b(7:)41
 b(Job)30 b(Con)m(trol)2571 b(95)630 299 y Fs(-r)384 b
-Ft(Restrict)31 b(output)f(to)i(running)c(jobs.)630 461
-y Fs(-s)384 b Ft(Restrict)31 b(output)f(to)i(stopp)s(ed)d(jobs.)630
-622 y(If)23 b Fq(jobsp)s(ec)28 b Ft(is)c(giv)m(en,)i(output)d(is)h
+Ft(Displa)m(y)32 b(only)e(running)f(jobs.)630 447 y Fs(-s)384
+b Ft(Displa)m(y)32 b(only)e(stopp)s(ed)f(jobs.)630 594
+y(If)23 b Fq(jobsp)s(ec)28 b Ft(is)c(giv)m(en,)i(output)d(is)h
 (restricted)g(to)g(information)g(ab)s(out)f(that)h(job.)39
-b(If)23 b Fq(jobsp)s(ec)630 732 y Ft(is)30 b(not)h(supplied,)e(the)i
-(status)g(of)f(all)h(jobs)f(is)h(listed.)630 868 y(If)g(the)g(`)p
+b(If)23 b Fq(jobsp)s(ec)630 704 y Ft(is)30 b(not)h(supplied,)e(the)i
+(status)g(of)f(all)h(jobs)f(is)h(listed.)630 833 y(If)g(the)g(`)p
 Fs(-x)p Ft(')g(option)h(is)f(supplied,)g Fs(jobs)f Ft(replaces)i(an)m
 (y)f Fq(jobsp)s(ec)37 b Ft(found)29 b(in)i Fq(command)k
-Ft(or)630 977 y Fq(argumen)m(ts)41 b Ft(with)36 b(the)i(corresp)s
+Ft(or)630 942 y Fq(argumen)m(ts)41 b Ft(with)36 b(the)i(corresp)s
 (onding)d(pro)s(cess)i(group)f Fl(id)p Ft(,)j(and)d(executes)i
-Fq(command)t Ft(,)630 1087 y(passing)30 b(it)h Fq(argumen)m(t)r
-Ft(s,)g(returning)f(its)g(exit)i(status.)150 1249 y Fs(kill)870
-1384 y(kill)47 b([-s)g Fi(sigspec)11 b Fs(])45 b([-n)i
+Fq(command)t Ft(,)630 1052 y(passing)30 b(it)h Fq(argumen)m(t)r
+Ft(s,)g(returning)f(its)g(exit)i(status.)150 1199 y Fs(kill)870
+1328 y(kill)47 b([-s)g Fi(sigspec)11 b Fs(])45 b([-n)i
 Fi(signum)11 b Fs(])45 b([-)p Fi(sigspec)11 b Fs(])44
-b Fi(jobspec)57 b Fs(or)47 b Fi(pid)870 1494 y Fs(kill)g(-l)g([)p
-Fi(exit_status)11 b Fs(])630 1630 y Ft(Send)22 b(a)i(signal)g(sp)s
+b Fi(jobspec)57 b Fs(or)47 b Fi(pid)870 1438 y Fs(kill)g(-l)g([)p
+Fi(exit_status)11 b Fs(])630 1566 y Ft(Send)22 b(a)i(signal)g(sp)s
 (eci\014ed)f(b)m(y)g Fq(sigsp)s(ec)29 b Ft(or)24 b Fq(sign)m(um)f
 Ft(to)h(the)g(pro)s(cess)f(named)g(b)m(y)g(job)g(sp)s(eci\014-)630
-1739 y(cation)j Fq(jobsp)s(ec)k Ft(or)25 b(pro)s(cess)g
+1676 y(cation)j Fq(jobsp)s(ec)k Ft(or)25 b(pro)s(cess)g
 Fl(id)g Fq(pid)t Ft(.)38 b Fq(sigsp)s(ec)31 b Ft(is)25
 b(either)g(a)h(case-insensitiv)m(e)h(signal)f(name)630
-1849 y(suc)m(h)k(as)h Fs(SIGINT)d Ft(\(with)j(or)f(without)h(the)f
+1785 y(suc)m(h)k(as)h Fs(SIGINT)d Ft(\(with)j(or)f(without)h(the)f
 Fs(SIG)g Ft(pre\014x\))f(or)i(a)f(signal)h(n)m(um)m(b)s(er;)f
-Fq(sign)m(um)g Ft(is)630 1958 y(a)i(signal)g(n)m(um)m(b)s(er.)43
+Fq(sign)m(um)g Ft(is)630 1895 y(a)i(signal)g(n)m(um)m(b)s(er.)43
 b(If)31 b Fq(sigsp)s(ec)37 b Ft(and)31 b Fq(sign)m(um)g
 Ft(are)h(not)f(presen)m(t,)h Fs(SIGTERM)e Ft(is)h(used.)43
-b(The)630 2068 y(`)p Fs(-l)p Ft(')34 b(option)g(lists)h(the)f(signal)h
+b(The)630 2005 y(`)p Fs(-l)p Ft(')34 b(option)g(lists)h(the)f(signal)h
 (names.)51 b(If)33 b(an)m(y)i(argumen)m(ts)f(are)g(supplied)f(when)g(`)
-p Fs(-l)p Ft(')h(is)630 2178 y(giv)m(en,)e(the)g(names)e(of)i(the)f
+p Fs(-l)p Ft(')h(is)630 2114 y(giv)m(en,)e(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 2287 y(the)c(return)f(status)h(is)g(zero.)41
-b Fq(exit)p 1796 2287 28 4 v 41 w(status)32 b Ft(is)c(a)g(n)m(um)m(b)s
+(and)630 2224 y(the)c(return)f(status)h(is)g(zero.)41
+b Fq(exit)p 1796 2224 28 4 v 41 w(status)32 b Ft(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
-2397 y(the)35 b(exit)h(status)f(of)g(a)g(pro)s(cess)g(terminated)g(b)m
+2333 y(the)35 b(exit)h(status)f(of)g(a)g(pro)s(cess)g(terminated)g(b)m
 (y)g(a)g(signal.)55 b(The)34 b(return)g(status)h(is)g(zero)630
-2506 y(if)c(at)h(least)g(one)g(signal)f(w)m(as)h(successfully)f(sen)m
+2443 y(if)c(at)h(least)g(one)g(signal)f(w)m(as)h(successfully)f(sen)m
 (t,)h(or)f(non-zero)h(if)f(an)g(error)f(o)s(ccurs)h(or)g(an)630
-2616 y(in)m(v)-5 b(alid)31 b(option)g(is)f(encoun)m(tered.)150
-2778 y Fs(wait)870 2913 y(wait)47 b([)p Fi(jobspec)56
-b Fs(or)47 b Fi(pid)57 b Fs(...])630 3049 y Ft(W)-8 b(ait)28
-b(un)m(til)f(the)f(c)m(hild)h(pro)s(cess)f(sp)s(eci\014ed)g(b)m(y)g
-(eac)m(h)h(pro)s(cess)f Fl(id)h Fq(pid)i Ft(or)d(job)g(sp)s
-(eci\014cation)630 3159 y Fq(jobsp)s(ec)40 b Ft(exits)35
+2553 y(in)m(v)-5 b(alid)31 b(option)g(is)f(encoun)m(tered.)150
+2700 y Fs(wait)870 2829 y(wait)47 b([)p Fi(jobspec)56
+b Fs(or)47 b Fi(pid)57 b Fs(...)o(])630 2958 y Ft(W)-8
+b(ait)28 b(un)m(til)f(the)f(c)m(hild)h(pro)s(cess)f(sp)s(eci\014ed)g(b)
+m(y)g(eac)m(h)h(pro)s(cess)f Fl(id)h Fq(pid)i Ft(or)d(job)g(sp)s
+(eci\014cation)630 3067 y Fq(jobsp)s(ec)40 b Ft(exits)35
 b(and)f(return)g(the)g(exit)i(status)f(of)g(the)g(last)g(command)f(w)m
-(aited)i(for.)53 b(If)35 b(a)630 3268 y(job)g(sp)s(ec)f(is)h(giv)m(en,)
+(aited)i(for.)53 b(If)35 b(a)630 3177 y(job)g(sp)s(ec)f(is)h(giv)m(en,)
 i(all)f(pro)s(cesses)f(in)f(the)h(job)g(are)g(w)m(aited)h(for.)54
-b(If)35 b(no)f(argumen)m(ts)i(are)630 3378 y(giv)m(en,)d(all)f(curren)m
+b(If)35 b(no)f(argumen)m(ts)i(are)630 3286 y(giv)m(en,)d(all)f(curren)m
 (tly)f(activ)m(e)i(c)m(hild)f(pro)s(cesses)f(are)g(w)m(aited)h(for,)g
-(and)e(the)i(return)e(status)630 3487 y(is)h(zero.)44
+(and)e(the)i(return)e(status)630 3396 y(is)h(zero.)44
 b(If)30 b(neither)h Fq(jobsp)s(ec)36 b Ft(nor)31 b Fq(pid)i
 Ft(sp)s(eci\014es)e(an)g(activ)m(e)i(c)m(hild)f(pro)s(cess)e(of)h(the)g
-(shell,)630 3597 y(the)g(return)e(status)i(is)f(127.)150
-3759 y Fs(disown)870 3894 y(disown)46 b([-ar])g([-h])h([)p
-Fi(jobspec)56 b Fs(...)o(])630 4030 y Ft(Without)32 b(options,)g(eac)m
-(h)h Fq(jobsp)s(ec)j Ft(is)c(remo)m(v)m(ed)g(from)f(the)h(table)g(of)g
-(activ)m(e)h(jobs.)44 b(If)31 b(the)630 4140 y(`)p Fs(-h)p
-Ft(')36 b(option)h(is)g(giv)m(en,)i(the)e(job)f(is)h(not)f(remo)m(v)m
-(ed)i(from)e(the)h(table,)i(but)d(is)g(mark)m(ed)h(so)630
-4249 y(that)d Fs(SIGHUP)d Ft(is)j(not)f(sen)m(t)h(to)g(the)f(job)g(if)g
-(the)h(shell)f(receiv)m(es)i(a)f Fs(SIGHUP)p Ft(.)47
-b(If)33 b Fq(jobsp)s(ec)38 b Ft(is)630 4359 y(not)32
-b(presen)m(t,)f(and)g(neither)h(the)f(`)p Fs(-a)p Ft(')g(nor)g(`)p
-Fs(-r)p Ft(')g(option)h(is)g(supplied,)e(the)i(curren)m(t)f(job)g(is)
-630 4468 y(used.)58 b(If)36 b(no)g Fq(jobsp)s(ec)41 b
-Ft(is)36 b(supplied,)h(the)g(`)p Fs(-a)p Ft(')f(option)h(means)f(to)h
-(remo)m(v)m(e)h(or)e(mark)g(all)630 4578 y(jobs;)28 b(the)f(`)p
-Fs(-r)p Ft(')g(option)g(without)g(a)g Fq(jobsp)s(ec)32
-b Ft(argumen)m(t)27 b(restricts)h(op)s(eration)f(to)h(running)630
-4688 y(jobs.)150 4849 y Fs(suspend)870 4985 y(suspend)46
-b([-f])630 5121 y Ft(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 Fs(SIGCONT)f
-Ft(signal.)50 b(A)33 b(login)630 5230 y(shell)24 b(cannot)h(b)s(e)e
-(susp)s(ended;)h(the)g(`)p Fs(-f)p Ft(')g(option)g(can)h(b)s(e)e(used)g
-(to)i(o)m(v)m(erride)g(this)f(and)f(force)630 5340 y(the)31
-b(susp)s(ension.)p eop end
+(shell,)630 3506 y(the)g(return)e(status)i(is)f(127.)150
+3653 y Fs(disown)870 3782 y(disown)46 b([-ar])g([-h])h([)p
+Fi(jobspec)56 b Fs(...)o(])630 3911 y Ft(Without)30 b(options,)f(remo)m
+(v)m(e)i(eac)m(h)f Fq(jobsp)s(ec)k Ft(from)28 b(the)h(table)h(of)f
+(activ)m(e)i(jobs.)40 b(If)28 b(the)h(`)p Fs(-h)p Ft(')630
+4020 y(option)36 b(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
+4130 y Fs(SIGHUP)e Ft(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 Fs(SIGHUP)p Ft(.)54 b(If)34
+b Fq(jobsp)s(ec)40 b Ft(is)c(not)630 4239 y(presen)m(t,)27
+b(and)f(neither)g(the)g(`)p Fs(-a)p Ft(')g(nor)g(`)p
+Fs(-r)p Ft(')g(option)h(is)f(supplied,)g(the)g(curren)m(t)g(job)g(is)g
+(used.)630 4349 y(If)i(no)g Fq(jobsp)s(ec)33 b Ft(is)28
+b(supplied,)f(the)i(`)p Fs(-a)p Ft(')f(option)g(means)h(to)f(remo)m(v)m
+(e)i(or)e(mark)g(all)h(jobs;)g(the)630 4458 y(`)p Fs(-r)p
+Ft(')h(option)h(without)f(a)h Fq(jobsp)s(ec)k Ft(argumen)m(t)c
+(restricts)g(op)s(eration)g(to)g(running)e(jobs.)150
+4606 y Fs(suspend)870 4735 y(suspend)46 b([-f])630 4864
+y Ft(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 Fs(SIGCONT)f Ft(signal.)50 b(A)33
+b(login)630 4973 y(shell)24 b(cannot)h(b)s(e)e(susp)s(ended;)h(the)g(`)
+p Fs(-f)p Ft(')g(option)g(can)h(b)s(e)e(used)g(to)i(o)m(v)m(erride)g
+(this)f(and)f(force)630 5083 y(the)31 b(susp)s(ension.)275
+5230 y(When)f(job)f(con)m(trol)j(is)e(not)h(activ)m(e,)i(the)d
+Fs(kill)f Ft(and)h Fs(wait)f Ft(builtins)g(do)h(not)h(accept)h
+Fq(jobsp)s(ec)j Ft(argu-)150 5340 y(men)m(ts.)41 b(They)30
+b(m)m(ust)g(b)s(e)g(supplied)f(pro)s(cess)h Fl(id)p Ft(s.)p
+eop end
 %%Page: 96 102
 TeXDict begin 96 101 bop 150 -116 a Ft(96)2572 b(Bash)31
-b(Reference)g(Man)m(ual)275 299 y(When)f(job)f(con)m(trol)j(is)e(not)h
-(activ)m(e,)i(the)d Fs(kill)f Ft(and)h Fs(wait)f Ft(builtins)g(do)h
-(not)h(accept)h Fq(jobsp)s(ec)j Ft(argu-)150 408 y(men)m(ts.)41
-b(They)30 b(m)m(ust)g(b)s(e)g(supplied)f(pro)s(cess)h
-Fl(id)p Ft(s.)150 641 y Fr(7.3)68 b(Job)45 b(Con)l(trol)h(V)-11
-b(ariables)150 825 y Fs(auto_resume)630 935 y Ft(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 1044 y(this)28 b(v)-5 b(ariable)30 b(exists)f(then)f(single)h
+b(Reference)g(Man)m(ual)150 299 y Fr(7.3)68 b(Job)45
+b(Con)l(trol)h(V)-11 b(ariables)150 483 y Fs(auto_resume)630
+593 y Ft(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 702 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
-1154 y(treated)h(as)g(candidates)f(for)g(resumption)g(of)g(an)g
+812 y(treated)h(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
-1264 y(allo)m(w)m(ed;)f(if)d(there)g(is)g(more)g(than)f(one)h(job)g(b)s
+922 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
-1373 y(most)j(recen)m(tly)h(accessed)f(job)f(will)h(b)s(e)f(selected.)
+1031 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
-1483 y(con)m(text,)h(is)e(the)g(command)g(line)g(used)f(to)h(start)g
+1141 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 1592 y(`)p Fs(exact)p Ft(',)33 b(the)g(string)g(supplied)f
+b(alue)630 1250 y(`)p Fs(exact)p Ft(',)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 1702 y(set)29 b(to)h(`)p Fs(substring)p
+(exactly;)j(if)630 1360 y(set)29 b(to)h(`)p Fs(substring)p
 Ft(',)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 1812 y(of)38 b(a)f(stopp)s(ed)g(job.)
+(substring)f(of)h(the)g(name)630 1469 y(of)38 b(a)f(stopp)s(ed)g(job.)
 62 b(The)37 b(`)p Fs(substring)p Ft(')e(v)-5 b(alue)38
 b(pro)m(vides)f(functionalit)m(y)i(analogous)g(to)630
-1921 y(the)f(`)p Fs(\045?)p Ft(')f(job)h Fl(id)f Ft(\(see)i(Section)f
+1579 y(the)f(`)p Fs(\045?)p Ft(')f(job)h Fl(id)f Ft(\(see)i(Section)f
 (7.1)h([Job)f(Con)m(trol)g(Basics],)j(page)d(93\).)64
-b(If)37 b(set)h(to)h(an)m(y)630 2031 y(other)32 b(v)-5
+b(If)37 b(set)h(to)h(an)m(y)630 1689 y(other)32 b(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 2140
+(of)h(a)g(stopp)s(ed)e(job's)i(name;)g(this)630 1798
 y(pro)m(vides)e(functionalit)m(y)i(analogous)g(to)f(the)g(`)p
 Fs(\045)p Ft(')f(job)g Fl(id)p Ft(.)p eop end
 %%Page: 97 103
@@ -11594,7 +11659,7 @@ Fs(--noediting)p Ft(')d(option)k(is)e(supplied)g(at)h(shell)g(in)m(v)m
 (o)s(cation.)42 b(Line)26 b(editing)150 1078 y(is)i(also)h(used)e(when)
 h(using)f(the)h(`)p Fs(-e)p Ft(')g(option)h(to)g(the)f
 Fs(read)f Ft(builtin)h(command)f(\(see)i(Section)g(4.2)h([Bash)150
-1188 y(Builtins],)36 b(page)f(43\).)52 b(By)35 b(default,)g(the)f(line)
+1188 y(Builtins],)36 b(page)f(44\).)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
 1297 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
@@ -11921,7 +11986,7 @@ b(1.)39 b(An)m(y)25 b(other)f(v)-5 b(alue)25 b(results)f(in)g(the)g(v)
 1422 y(The)37 b Fs(bind)30 b(-V)37 b Ft(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 1532 y(See)31 b(Section)g(4.2)g([Bash)g(Builtins],)g(page)
-g(43.)630 1669 y(A)f(great)i(deal)f(of)g(run-time)f(b)s(eha)m(vior)g
+g(44.)630 1669 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 1833 y Fs(bell-style)1110 1943 y Ft(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
@@ -12201,7 +12266,7 @@ b(The)40 b(name)h(of)630 1684 y(the)35 b(k)m(ey)g(can)g(b)s(e)f
 b(-p)42 b Ft(command)h(displa)m(ys)g(Readline)g(function)g(names)g(and)
 f(bindings)g(in)h(a)630 2279 y(format)37 b(that)h(can)f(put)f(directly)
 i(in)m(to)g(an)f(initialization)j(\014le.)60 b(See)38
-b(Section)f(4.2)i([Bash)630 2389 y(Builtins],)31 b(page)g(43.)630
+b(Section)f(4.2)i([Bash)630 2389 y(Builtins],)31 b(page)g(44.)630
 2545 y Fq(k)m(eyname)5 b Ft(:)42 b Fq(function-name)35
 b Ft(or)c Fq(macro)1110 2655 y(k)m(eyname)k Ft(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
@@ -12420,7 +12485,7 @@ b(Y)-8 b(ou)33 b(can)150 1344 y(list)40 b(y)m(our)f(k)m(ey)i(bindings)d
 (b)m(y)h(executing)i Fs(bind)29 b(-P)39 b Ft(or,)j(for)d(a)h(more)g
 (terse)g(format,)i(suitable)e(for)f(an)150 1454 y Fq(inputrc)34
 b Ft(\014le,)29 b Fs(bind)g(-p)p Ft(.)40 b(\(See)30 b(Section)f(4.2)h
-([Bash)g(Builtins],)g(page)g(43.\))41 b(Command)28 b(names)h(without)
+([Bash)g(Builtins],)g(page)g(44.\))41 b(Command)28 b(names)h(without)
 150 1563 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 1696 y(In)25 b(the)h(follo)m(wing)i
 (descriptions,)f Fq(p)s(oin)m(t)h Ft(refers)e(to)h(the)f(curren)m(t)g
@@ -13328,7 +13393,7 @@ b Ft(Group)30 b(names.)40 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)g
 (as)g(`)p Fs(-g)p Ft('.)1110 3983 y Fs(helptopic)1590
 4093 y Ft(Help)37 b(topics)g(as)g(accepted)h(b)m(y)e(the)h
 Fs(help)f Ft(builtin)g(\(see)h(Sec-)1590 4202 y(tion)31
-b(4.2)g([Bash)g(Builtins],)g(page)g(43\).)1110 4364 y
+b(4.2)g([Bash)g(Builtins],)g(page)g(44\).)1110 4364 y
 Fs(hostname)96 b Ft(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 4474 y(the)55 b
 Fs(HOSTFILE)e Ft(shell)j(v)-5 b(ariable)56 b(\(see)g(Section)g(5.2)h
@@ -13350,7 +13415,7 @@ b(alid)34 b(argumen)m(ts)f(for)f(the)h(`)p Fs(-o)p Ft(')g(option)g(to)h
 (Set)g(Builtin],)i(page)f(54\).)1110 565 y Fs(shopt)240
 b Ft(Shell)40 b(option)g(names)g(as)g(accepted)i(b)m(y)e(the)g
 Fs(shopt)e Ft(builtin)1590 675 y(\(see)31 b(Section)h(4.2)f([Bash)g
-(Builtins],)g(page)g(43\).)1110 831 y Fs(signal)192 b
+(Builtins],)g(page)g(44\).)1110 831 y Fs(signal)192 b
 Ft(Signal)31 b(names.)1110 988 y Fs(stopped)144 b Ft(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 1144 y Fs(user)288 b Ft(User)30 b(names.)41 b(Ma)m(y)32
@@ -13476,7 +13541,7 @@ Fs($HISTSIZE)d Ft(lines)j(are)f(copied)150 2445 y(from)29
 b(the)i(history)e(list)i(to)g(the)f(\014le)g(named)f(b)m(y)h
 Fs($HISTFILE)p Ft(.)38 b(If)30 b(the)g Fs(histappend)d
 Ft(shell)j(option)g(is)g(set)150 2555 y(\(see)22 b(Section)g(4.2)g
-([Bash)g(Builtins],)h(page)f(43\),)j(the)c(lines)g(are)h(app)s(ended)d
+([Bash)g(Builtins],)h(page)f(44\),)j(the)c(lines)g(are)h(app)s(ended)d
 (to)j(the)f(history)g(\014le,)j(otherwise)150 2664 y(the)32
 b(history)f(\014le)g(is)h(o)m(v)m(erwritten.)45 b(If)31
 b Fs(HISTFILE)e Ft(is)j(unset,)f(or)h(if)f(the)h(history)f(\014le)g(is)
@@ -13519,7 +13584,7 @@ b(sa)m(v)m(e)h(eac)m(h)f(line)g(of)f(a)h(m)m(ulti-line)g(command)f(in)g
 m(b)s(edded)f(newlines)h(instead)h(of)f(semicolons.)40
 b(The)23 b Fs(shopt)e Ft(builtin)i(is)h(used)150 4750
 y(to)31 b(set)g(these)g(options.)41 b(See)31 b(Section)g(4.2)g([Bash)g
-(Builtins],)g(page)g(43,)h(for)e(a)h(description)f(of)h
+(Builtins],)g(page)g(44,)h(for)e(a)h(description)f(of)h
 Fs(shopt)p Ft(.)150 5002 y Fr(9.2)68 b(Bash)45 b(History)h(Builtins)150
 5161 y Ft(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
@@ -13530,281 +13595,281 @@ b(Reference)g(Man)m(ual)870 299 y Fs(fc)47 b([-e)g Fi(ename)11
 b Fs(])46 b([-lnr])g([)p Fi(first)11 b Fs(])45 b([)p
 Fi(last)11 b Fs(])870 408 y(fc)47 b(-s)g([)p Fi(pat)11
 b Fs(=)p Fi(rep)g Fs(])45 b([)p Fi(command)11 b Fs(])630
-539 y Ft(Fix)41 b(Command.)68 b(In)39 b(the)i(\014rst)e(form,)j(a)e
-(range)h(of)f(commands)g(from)f Fq(\014rst)i Ft(to)g
-Fq(last)i Ft(is)630 648 y(selected)35 b(from)e(the)g(history)g(list.)50
-b(Both)34 b Fq(\014rst)h Ft(and)e Fq(last)j Ft(ma)m(y)e(b)s(e)e(sp)s
-(eci\014ed)h(as)g(a)h(string)630 758 y(\(to)26 b(lo)s(cate)h(the)e
-(most)h(recen)m(t)g(command)e(b)s(eginning)h(with)g(that)g(string\))h
-(or)f(as)g(a)g(n)m(um)m(b)s(er)630 867 y(\(an)f(index)f(in)m(to)h(the)g
-(history)g(list,)h(where)e(a)h(negativ)m(e)i(n)m(um)m(b)s(er)c(is)i
-(used)f(as)g(an)h(o\013set)g(from)630 977 y(the)j(curren)m(t)f(command)
-h(n)m(um)m(b)s(er\).)38 b(If)26 b Fq(last)k Ft(is)c(not)h(sp)s
-(eci\014ed)f(it)h(is)g(set)g(to)g Fq(\014rst)r Ft(.)39
-b(If)26 b Fq(\014rst)i Ft(is)630 1087 y(not)j(sp)s(eci\014ed)f(it)h(is)
-g(set)h(to)f(the)g(previous)f(command)h(for)f(editing)i(and)e
-Fp(\000)p Ft(16)h(for)g(listing.)630 1196 y(If)f(the)g(`)p
-Fs(-l)p Ft(')g(\015ag)h(is)f(giv)m(en,)h(the)g(commands)e(are)i(listed)
-g(on)f(standard)f(output.)40 b(The)30 b(`)p Fs(-n)p Ft(')630
-1306 y(\015ag)i(suppresses)f(the)h(command)g(n)m(um)m(b)s(ers)e(when)i
-(listing.)46 b(The)32 b(`)p Fs(-r)p Ft(')g(\015ag)g(rev)m(erses)h(the)
-630 1415 y(order)g(of)g(the)h(listing.)50 b(Otherwise,)34
-b(the)f(editor)h(giv)m(en)g(b)m(y)f Fq(ename)39 b Ft(is)33
-b(in)m(v)m(ok)m(ed)i(on)e(a)h(\014le)630 1525 y(con)m(taining)i(those)f
-(commands.)52 b(If)33 b Fq(ename)40 b Ft(is)34 b(not)h(giv)m(en,)h(the)
-f(v)-5 b(alue)35 b(of)f(the)g(follo)m(wing)630 1634 y(v)-5
-b(ariable)33 b(expansion)e(is)h(used:)42 b Fs(${FCEDIT:-${EDITOR:-vi}})
-p Ft(.)d(This)31 b(sa)m(ys)h(to)g(use)g(the)630 1744
-y(v)-5 b(alue)34 b(of)f(the)h Fs(FCEDIT)e Ft(v)-5 b(ariable)34
-b(if)f(set,)i(or)f(the)f(v)-5 b(alue)34 b(of)g(the)f
-Fs(EDITOR)f Ft(v)-5 b(ariable)34 b(if)f(that)630 1854
-y(is)g(set,)i(or)e Fs(vi)g Ft(if)g(neither)g(is)g(set.)50
-b(When)33 b(editing)h(is)f(complete,)i(the)f(edited)f(commands)630
-1963 y(are)e(ec)m(ho)s(ed)g(and)f(executed.)630 2093
-y(In)k(the)g(second)g(form,)h Fq(command)j Ft(is)c(re-executed)i(after)
-f(eac)m(h)g(instance)g(of)f Fq(pat)j Ft(in)d(the)630
-2203 y(selected)e(command)e(is)g(replaced)h(b)m(y)g Fq(rep)s
-Ft(.)630 2333 y(A)g(useful)f(alias)i(to)g(use)e(with)h(the)g
-Fs(fc)f Ft(command)h(is)g Fs(r='fc)e(-s')p Ft(,)h(so)h(that)h(t)m
-(yping)f(`)p Fs(r)f(cc)p Ft(')630 2443 y(runs)35 b(the)h(last)h
-(command)f(b)s(eginning)g(with)g Fs(cc)f Ft(and)h(t)m(yping)g(`)p
-Fs(r)p Ft(')h(re-executes)h(the)e(last)630 2552 y(command)30
+557 y Ft(The)22 b(\014rst)g(form)f(selects)j(a)f(range)g(of)f(commands)
+g(from)g Fq(\014rst)i Ft(to)f Fq(last)i Ft(from)d(the)h(history)f(list)
+630 667 y(and)i(displa)m(ys)h(or)g(edits)h(and)e(re-executes)j(them.)39
+b(Both)25 b Fq(\014rst)h Ft(and)f Fq(last)j Ft(ma)m(y)d(b)s(e)g(sp)s
+(eci\014ed)630 776 y(as)31 b(a)g(string)f(\(to)i(lo)s(cate)h(the)d
+(most)h(recen)m(t)h(command)f(b)s(eginning)e(with)i(that)g(string\))g
+(or)630 886 y(as)d(a)g(n)m(um)m(b)s(er)f(\(an)h(index)f(in)m(to)i(the)f
+(history)g(list,)h(where)e(a)h(negativ)m(e)i(n)m(um)m(b)s(er)d(is)h
+(used)f(as)630 996 y(an)g(o\013set)i(from)e(the)h(curren)m(t)f(command)
+h(n)m(um)m(b)s(er\).)39 b(If)27 b Fq(last)j Ft(is)e(not)f(sp)s
+(eci\014ed)g(it)h(is)g(set)g(to)630 1105 y Fq(\014rst)r
+Ft(.)47 b(If)32 b Fq(\014rst)i Ft(is)e(not)h(sp)s(eci\014ed)f(it)h(is)g
+(set)g(to)h(the)e(previous)g(command)h(for)f(editing)i(and)630
+1215 y Fp(\000)p Ft(16)g(for)g(listing.)51 b(If)34 b(the)f(`)p
+Fs(-l)p Ft(')h(\015ag)g(is)g(giv)m(en,)i(the)d(commands)h(are)g(listed)
+g(on)g(standard)630 1324 y(output.)40 b(The)29 b(`)p
+Fs(-n)p Ft(')h(\015ag)g(suppresses)e(the)i(command)f(n)m(um)m(b)s(ers)g
+(when)f(listing.)42 b(The)29 b(`)p Fs(-r)p Ft(')630 1434
+y(\015ag)35 b(rev)m(erses)f(the)h(order)e(of)i(the)f(listing.)53
+b(Otherwise,)35 b(the)f(editor)h(giv)m(en)g(b)m(y)f Fq(ename)40
+b Ft(is)630 1543 y(in)m(v)m(ok)m(ed)33 b(on)f(a)g(\014le)g(con)m
+(taining)h(those)f(commands.)44 b(If)31 b Fq(ename)38
+b Ft(is)31 b(not)h(giv)m(en,)i(the)d(v)-5 b(alue)630
+1653 y(of)29 b(the)g(follo)m(wing)i(v)-5 b(ariable)29
+b(expansion)g(is)g(used:)39 b Fs(${FCEDIT:-${EDITOR:-vi}})p
+Ft(.)34 b(This)630 1763 y(sa)m(ys)g(to)g(use)f(the)h(v)-5
+b(alue)34 b(of)f(the)h Fs(FCEDIT)e Ft(v)-5 b(ariable)34
+b(if)f(set,)i(or)f(the)f(v)-5 b(alue)34 b(of)g(the)g
+Fs(EDITOR)630 1872 y Ft(v)-5 b(ariable)40 b(if)e(that)i(is)f(set,)i(or)
+e Fs(vi)f Ft(if)h(neither)g(is)g(set.)66 b(When)39 b(editing)g(is)g
+(complete,)k(the)630 1982 y(edited)31 b(commands)f(are)g(ec)m(ho)s(ed)h
+(and)f(executed.)630 2131 y(In)k(the)g(second)g(form,)h
+Fq(command)j Ft(is)c(re-executed)i(after)f(eac)m(h)g(instance)g(of)f
+Fq(pat)j Ft(in)d(the)630 2240 y(selected)e(command)e(is)h(replaced)g(b)
+m(y)f Fq(rep)s Ft(.)40 b Fq(command)34 b Ft(is)c(in)m(tepreted)h(the)g
+(same)g(as)g Fq(\014rst)630 2350 y Ft(ab)s(o)m(v)m(e.)630
+2498 y(A)g(useful)f(alias)i(to)g(use)e(with)h(the)g Fs(fc)f
+Ft(command)h(is)g Fs(r='fc)e(-s')p Ft(,)h(so)h(that)h(t)m(yping)f(`)p
+Fs(r)f(cc)p Ft(')630 2608 y(runs)35 b(the)h(last)h(command)f(b)s
+(eginning)g(with)g Fs(cc)f Ft(and)h(t)m(yping)g(`)p Fs(r)p
+Ft(')h(re-executes)h(the)e(last)630 2718 y(command)30
 b(\(see)h(Section)h(6.6)f([Aliases],)h(page)g(83\).)150
-2703 y Fs(history)870 2833 y(history)46 b([)p Fi(n)11
-b Fs(])870 2943 y(history)46 b(-c)870 3052 y(history)g(-d)h
-Fi(offset)870 3162 y Fs(history)f([-anrw])g([)p Fi(filename)11
-b Fs(])870 3271 y(history)46 b(-ps)h Fi(arg)630 3402
+2906 y Fs(history)870 3054 y(history)46 b([)p Fi(n)11
+b Fs(])870 3164 y(history)46 b(-c)870 3273 y(history)g(-d)h
+Fi(offset)870 3383 y Fs(history)f([-anrw])g([)p Fi(filename)11
+b Fs(])870 3493 y(history)46 b(-ps)h Fi(arg)630 3641
 y Ft(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
-3511 y(a)35 b(`)p Fs(*)p Ft(')g(ha)m(v)m(e)h(b)s(een)e(mo)s(di\014ed.)
+3751 y(a)35 b(`)p Fs(*)p Ft(')g(ha)m(v)m(e)h(b)s(een)e(mo)s(di\014ed.)
 53 b(An)34 b(argumen)m(t)h(of)g Fq(n)f Ft(lists)i(only)f(the)g(last)g
-Fq(n)f Ft(lines.)54 b(If)35 b(the)630 3621 y(shell)30
+Fq(n)f Ft(lines.)54 b(If)35 b(the)630 3861 y(shell)30
 b(v)-5 b(ariable)31 b Fs(HISTTIMEFORMAT)26 b Ft(is)k(set)h(and)e(not)i
 (n)m(ull,)f(it)h(is)f(used)f(as)h(a)h(format)f(string)630
-3730 y(for)36 b Fq(strftime)41 b Ft(to)36 b(displa)m(y)g(the)g(time)h
+3970 y(for)36 b Fq(strftime)41 b Ft(to)36 b(displa)m(y)g(the)g(time)h
 (stamp)f(asso)s(ciated)h(with)f(eac)m(h)h(displa)m(y)m(ed)f(history)630
-3840 y(en)m(try)-8 b(.)47 b(No)33 b(in)m(terv)m(ening)g(blank)f(is)g
+4080 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 3950 y(the)e(history)f(line.)630 4080 y(Options,)g(if)h(supplied,)e
-(ha)m(v)m(e)i(the)g(follo)m(wing)h(meanings:)630 4230
+630 4189 y(the)e(history)f(line.)630 4338 y(Options,)g(if)h(supplied,)e
+(ha)m(v)m(e)i(the)g(follo)m(wing)h(meanings:)630 4526
 y Fs(-c)384 b Ft(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 4340 y(to)31 b(replace)g(the)g(history)f(list)h
-(completely)-8 b(.)630 4491 y Fs(-d)30 b Fi(offset)1110
-4600 y Ft(Delete)25 b(the)f(history)f(en)m(try)g(at)h(p)s(osition)f
+(options)1110 4635 y(to)31 b(replace)g(the)g(history)f(list)h
+(completely)-8 b(.)630 4823 y Fs(-d)30 b Fi(offset)1110
+4933 y Ft(Delete)25 b(the)f(history)f(en)m(try)g(at)h(p)s(osition)f
 Fq(o\013set)r Ft(.)39 b Fq(o\013set)26 b Ft(should)c(b)s(e)h(sp)s
-(eci\014ed)1110 4710 y(as)31 b(it)g(app)s(ears)e(when)h(the)g(history)g
-(is)h(displa)m(y)m(ed.)630 4861 y Fs(-a)384 b Ft(App)s(end)35
+(eci\014ed)1110 5043 y(as)31 b(it)g(app)s(ears)e(when)h(the)g(history)g
+(is)h(displa)m(y)m(ed.)630 5230 y Fs(-a)384 b Ft(App)s(end)35
 b(the)i(new)g(history)g(lines)g(\(history)g(lines)g(en)m(tered)h(since)
-f(the)g(b)s(e-)1110 4970 y(ginning)30 b(of)h(the)f(curren)m(t)g(Bash)h
-(session\))g(to)g(the)g(history)f(\014le.)630 5121 y
-Fs(-n)384 b Ft(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 5230
-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
-5340 y(since)31 b(the)f(b)s(eginning)g(of)g(the)h(curren)m(t)f(Bash)h
-(session.)p eop end
+f(the)g(b)s(e-)1110 5340 y(ginning)30 b(of)h(the)f(curren)m(t)g(Bash)h
+(session\))g(to)g(the)g(history)f(\014le.)p eop end
 %%Page: 129 135
 TeXDict begin 129 134 bop 150 -116 a Ft(Chapter)30 b(9:)41
 b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(129)630
-299 y Fs(-r)384 b Ft(Read)26 b(the)h(curren)m(t)f(history)g(\014le)g
-(and)g(app)s(end)e(its)j(con)m(ten)m(ts)h(to)f(the)f(history)1110
-408 y(list.)630 562 y Fs(-w)384 b Ft(W)-8 b(rite)32 b(out)e(the)h
-(curren)m(t)f(history)g(to)i(the)e(history)g(\014le.)630
-715 y Fs(-p)384 b Ft(P)m(erform)31 b(history)f(substitution)h(on)f(the)
-h Fq(arg)8 b Ft(s)31 b(and)f(displa)m(y)h(the)f(result)h(on)1110
-824 y(the)d(standard)f(output,)i(without)f(storing)g(the)g(results)g
-(in)g(the)g(history)g(list.)630 977 y Fs(-s)384 b Ft(The)30
+299 y Fs(-n)384 b Ft(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
+408 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
+518 y(since)31 b(the)f(b)s(eginning)g(of)g(the)h(curren)m(t)f(Bash)h
+(session.)630 690 y Fs(-r)384 b Ft(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 863 y Fs(-w)384 b Ft(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 1035
+y Fs(-p)384 b Ft(P)m(erform)31 b(history)f(substitution)h(on)f(the)h
+Fq(arg)8 b Ft(s)31 b(and)f(displa)m(y)h(the)f(result)h(on)1110
+1145 y(the)d(standard)f(output,)i(without)f(storing)g(the)g(results)g
+(in)g(the)g(history)g(list.)630 1317 y Fs(-s)384 b Ft(The)30
 b Fq(arg)8 b Ft(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
-1130 y(When)24 b(an)m(y)h(of)f(the)h(`)p Fs(-w)p Ft(',)h(`)p
+1489 y(When)24 b(an)m(y)h(of)f(the)h(`)p Fs(-w)p Ft(',)h(`)p
 Fs(-r)p Ft(',)f(`)p Fs(-a)p Ft(',)h(or)f(`)p Fs(-n)p
 Ft(')f(options)g(is)h(used,)g(if)f Fq(\014lename)30 b
-Ft(is)24 b(giv)m(en,)j(then)630 1240 y(it)32 b(is)g(used)f(as)h(the)f
+Ft(is)24 b(giv)m(en,)j(then)630 1599 y(it)32 b(is)g(used)f(as)h(the)f
 (history)h(\014le.)45 b(If)31 b(not,)h(then)g(the)f(v)-5
 b(alue)32 b(of)g(the)g Fs(HISTFILE)d Ft(v)-5 b(ariable)33
-b(is)630 1350 y(used.)150 1576 y Fr(9.3)68 b(History)46
-b(Expansion)150 1735 y Ft(The)f(History)h(library)e(pro)m(vides)i(a)f
+b(is)630 1709 y(used.)150 1961 y Fr(9.3)68 b(History)46
+b(Expansion)150 2120 y Ft(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 1845 y(expansion)g(pro)m(vided)f(b)m(y)h
+(history)150 2230 y(expansion)g(pro)m(vided)f(b)m(y)h
 Fs(csh)p Ft(.)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 1954 y(history)30 b(information.)275
-2086 y(History)h(expansions)f(in)m(tro)s(duce)g(w)m(ords)g(from)g(the)h
+(used)e(to)i(manipulate)f(the)150 2339 y(history)30 b(information.)275
+2487 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
-2195 y(it)g(easy)g(to)g(rep)s(eat)g(commands,)f(insert)g(the)h(argumen)
+2596 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
-2305 y(input)f(line,)i(or)g(\014x)f(errors)f(in)h(previous)g(commands)g
-(quic)m(kly)-8 b(.)275 2436 y(History)27 b(expansion)f(tak)m(es)i
+2706 y(input)f(line,)i(or)g(\014x)f(errors)f(in)h(previous)g(commands)g
+(quic)m(kly)-8 b(.)275 2853 y(History)27 b(expansion)f(tak)m(es)i
 (place)f(in)f(t)m(w)m(o)i(parts.)39 b(The)26 b(\014rst)g(is)g(to)h
-(determine)g(whic)m(h)f(line)h(from)f(the)150 2546 y(history)i(list)g
+(determine)g(whic)m(h)f(line)h(from)f(the)150 2963 y(history)i(list)g
 (should)f(b)s(e)g(used)g(during)g(substitution.)39 b(The)27
 b(second)h(is)g(to)h(select)g(p)s(ortions)e(of)h(that)h(line)150
-2655 y(for)d(inclusion)f(in)m(to)i(the)f(curren)m(t)f(one.)40
+3072 y(for)d(inclusion)f(in)m(to)i(the)f(curren)m(t)f(one.)40
 b(The)25 b(line)h(selected)h(from)f(the)g(history)f(is)h(called)h(the)f
-Fq(ev)m(en)m(t)p Ft(,)j(and)150 2765 y(the)21 b(p)s(ortions)g(of)g
+Fq(ev)m(en)m(t)p Ft(,)j(and)150 3182 y(the)21 b(p)s(ortions)g(of)g
 (that)h(line)f(that)h(are)g(acted)g(up)s(on)e(are)h(called)h
 Fq(w)m(ords)p Ft(.)38 b(V)-8 b(arious)21 b Fq(mo)s(di\014ers)j
-Ft(are)e(a)m(v)-5 b(ailable)150 2874 y(to)35 b(manipulate)f(the)g
+Ft(are)e(a)m(v)-5 b(ailable)150 3292 y(to)35 b(manipulate)f(the)g
 (selected)i(w)m(ords.)51 b(The)33 b(line)h(is)g(brok)m(en)g(in)m(to)h
-(w)m(ords)e(in)h(the)g(same)h(fashion)e(that)150 2984
+(w)m(ords)e(in)h(the)g(same)h(fashion)e(that)150 3401
 y(Bash)i(do)s(es,)h(so)f(that)h(sev)m(eral)g(w)m(ords)e(surrounded)f(b)
 m(y)i(quotes)g(are)g(considered)g(one)g(w)m(ord.)54 b(History)150
-3094 y(expansions)34 b(are)g(in)m(tro)s(duced)f(b)m(y)h(the)g(app)s
+3511 y(expansions)34 b(are)g(in)m(tro)s(duced)f(b)m(y)h(the)g(app)s
 (earance)g(of)g(the)g(history)g(expansion)g(c)m(haracter,)i(whic)m(h)e
-(is)150 3203 y(`)p Fs(!)p Ft(')d(b)m(y)f(default.)41
+(is)150 3620 y(`)p Fs(!)p Ft(')d(b)m(y)f(default.)41
 b(Only)29 b(`)p Fs(\\)p Ft(')i(and)f(`)p Fs(')p Ft(')g(ma)m(y)h(b)s(e)f
 (used)g(to)h(escap)s(e)g(the)f(history)g(expansion)h(c)m(haracter.)275
-3335 y(Sev)m(eral)40 b(shell)g(options)g(settable)h(with)e(the)h
+3768 y(Sev)m(eral)40 b(shell)g(options)g(settable)h(with)e(the)h
 Fs(shopt)e Ft(builtin)h(\(see)h(Section)h(4.2)f([Bash)g(Builtins],)150
-3444 y(page)32 b(43\))h(ma)m(y)f(b)s(e)f(used)g(to)i(tailor)g(the)e(b)s
+3877 y(page)32 b(44\))h(ma)m(y)f(b)s(e)f(used)g(to)i(tailor)g(the)e(b)s
 (eha)m(vior)h(of)g(history)g(expansion.)44 b(If)31 b(the)h
-Fs(histverify)d Ft(shell)150 3554 y(option)39 b(is)f(enabled,)i(and)e
+Fs(histverify)d Ft(shell)150 3987 y(option)39 b(is)f(enabled,)i(and)e
 (Readline)g(is)h(b)s(eing)e(used,)j(history)e(substitutions)g(are)g
-(not)h(immediately)150 3663 y(passed)30 b(to)h(the)g(shell)g(parser.)40
+(not)h(immediately)150 4097 y(passed)30 b(to)h(the)g(shell)g(parser.)40
 b(Instead,)30 b(the)h(expanded)f(line)h(is)f(reloaded)h(in)m(to)h(the)e
-(Readline)h(editing)150 3773 y(bu\013er)e(for)i(further)e(mo)s
+(Readline)h(editing)150 4206 y(bu\013er)e(for)i(further)e(mo)s
 (di\014cation.)41 b(If)30 b(Readline)h(is)f(b)s(eing)g(used,)g(and)g
-(the)g Fs(histreedit)e Ft(shell)i(option)150 3882 y(is)k(enabled,)h(a)g
+(the)g Fs(histreedit)e Ft(shell)i(option)150 4316 y(is)k(enabled,)h(a)g
 (failed)g(history)f(expansion)g(will)g(b)s(e)g(reloaded)g(in)m(to)h
-(the)g(Readline)f(editing)h(bu\013er)e(for)150 3992 y(correction.)74
+(the)g(Readline)f(editing)h(bu\013er)e(for)150 4425 y(correction.)74
 b(The)41 b(`)p Fs(-p)p Ft(')g(option)g(to)h(the)f Fs(history)f
 Ft(builtin)g(command)h(ma)m(y)h(b)s(e)e(used)h(to)g(see)h(what)150
-4102 y(a)c(history)g(expansion)f(will)h(do)f(b)s(efore)h(using)f(it.)63
+4535 y(a)c(history)g(expansion)f(will)h(do)f(b)s(efore)h(using)f(it.)63
 b(The)37 b(`)p Fs(-s)p Ft(')g(option)h(to)h(the)f Fs(history)d
-Ft(builtin)i(ma)m(y)150 4211 y(b)s(e)c(used)h(to)g(add)g(commands)f(to)
+Ft(builtin)i(ma)m(y)150 4645 y(b)s(e)c(used)h(to)g(add)g(commands)f(to)
 i(the)f(end)g(of)g(the)g(history)g(list)h(without)f(actually)i
-(executing)f(them,)150 4321 y(so)j(that)h(they)f(are)g(a)m(v)-5
+(executing)f(them,)150 4754 y(so)j(that)h(they)f(are)g(a)m(v)-5
 b(ailable)40 b(for)e(subsequen)m(t)f(recall.)65 b(This)37
-b(is)h(most)g(useful)g(in)f(conjunction)h(with)150 4430
-y(Readline.)275 4562 y(The)33 b(shell)h(allo)m(ws)h(con)m(trol)h(of)e
+b(is)h(most)g(useful)g(in)f(conjunction)h(with)150 4864
+y(Readline.)275 5011 y(The)33 b(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 4671 y(anism)h(with)g(the)g
+g(expansion)g(mec)m(h-)150 5121 y(anism)h(with)g(the)g
 Fs(histchars)d Ft(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
-4781 y(page)32 b(65\).)44 b(The)31 b(shell)g(uses)g(the)g(history)g
+5230 y(page)32 b(65\).)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 4891 y(writing)e(the)h(history)f(\014le.)150 5083
-y Fj(9.3.1)63 b(Ev)m(en)m(t)39 b(Designators)150 5230
-y Ft(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 5340 y(reference)e(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.)p eop end
+150 5340 y(writing)e(the)h(history)f(\014le.)p eop end
 %%Page: 130 136
 TeXDict begin 130 135 bop 150 -116 a Ft(130)2527 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fs(!)432 b Ft(Start)34
+b(Reference)g(Man)m(ual)150 299 y Fj(9.3.1)63 b(Ev)m(en)m(t)39
+b(Designators)150 446 y Ft(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 555 y(reference)e(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 712 y Fs(!)432 b Ft(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 408 y(the)i(line,)g(`)p
+e(a)h(space,)h(tab,)f(the)g(end)f(of)630 822 y(the)i(line,)g(`)p
 Fs(=)p Ft(')g(or)f(`)p Fs(\()p Ft(')h(\(when)e(the)i
 Fs(extglob)d Ft(shell)j(option)f(is)h(enabled)f(using)g(the)g
-Fs(shopt)630 518 y Ft(builtin\).)150 669 y Fs(!)p Fi(n)384
+Fs(shopt)630 931 y Ft(builtin\).)150 1088 y Fs(!)p Fi(n)384
 b Ft(Refer)30 b(to)i(command)e(line)g Fq(n)p Ft(.)150
-819 y Fs(!-)p Fi(n)336 b Ft(Refer)30 b(to)i(the)e(command)g
-Fq(n)g Ft(lines)h(bac)m(k.)150 970 y Fs(!!)384 b Ft(Refer)30
+1245 y Fs(!-)p Fi(n)336 b Ft(Refer)30 b(to)i(the)e(command)g
+Fq(n)g Ft(lines)h(bac)m(k.)150 1401 y Fs(!!)384 b Ft(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 Fs(!-1)p Ft('.)150 1120 y Fs(!)p Fi(string)144
+(for)g(`)p Fs(!-1)p Ft('.)150 1558 y Fs(!)p Fi(string)144
 b Ft(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
-1230 y(list)31 b(starting)g(with)f Fq(string)8 b Ft(.)150
-1381 y Fs(!?)p Fi(string)j Fs([?])630 1490 y Ft(Refer)25
+1668 y(list)31 b(starting)g(with)f Fq(string)8 b Ft(.)150
+1824 y Fs(!?)p Fi(string)j Fs([?])630 1934 y Ft(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 1600 y(list)32
+g(p)s(osition)g(in)g(the)g(history)630 2044 y(list)32
 b(con)m(taining)h Fq(string)8 b Ft(.)43 b(The)31 b(trailing)h(`)p
 Fs(?)p Ft(')f(ma)m(y)h(b)s(e)f(omitted)h(if)f(the)h Fq(string)39
-b Ft(is)31 b(follo)m(w)m(ed)630 1709 y(immediately)h(b)m(y)e(a)h
-(newline.)150 1860 y Fs(^)p Fi(string1)11 b Fs(^)p Fi(string2)g
-Fs(^)630 1970 y Ft(Quic)m(k)31 b(Substitution.)43 b(Rep)s(eat)31
+b Ft(is)31 b(follo)m(w)m(ed)630 2153 y(immediately)h(b)m(y)e(a)h
+(newline.)150 2310 y Fs(^)p Fi(string1)11 b Fs(^)p Fi(string2)g
+Fs(^)630 2420 y Ft(Quic)m(k)31 b(Substitution.)43 b(Rep)s(eat)31
 b(the)g(last)h(command,)g(replacing)f Fq(string1)39 b
-Ft(with)31 b Fq(string2)7 b Ft(.)630 2079 y(Equiv)-5
+Ft(with)31 b Fq(string2)7 b Ft(.)630 2529 y(Equiv)-5
 b(alen)m(t)31 b(to)g Fs(!!:s/)p Fi(string1)11 b Fs(/)p
-Fi(string2)g Fs(/)p Ft(.)150 2230 y Fs(!#)384 b Ft(The)30
+Fi(string2)g Fs(/)p Ft(.)150 2686 y Fs(!#)384 b Ft(The)30
 b(en)m(tire)h(command)f(line)h(t)m(yp)s(ed)f(so)h(far.)150
-2420 y Fj(9.3.2)63 b(W)-10 b(ord)41 b(Designators)150
-2567 y Ft(W)-8 b(ord)27 b(designators)h(are)g(used)e(to)i(select)h
+2882 y Fj(9.3.2)63 b(W)-10 b(ord)41 b(Designators)150
+3029 y Ft(W)-8 b(ord)27 b(designators)h(are)g(used)e(to)i(select)h
 (desired)d(w)m(ords)h(from)f(the)i(ev)m(en)m(t.)41 b(A)27
 b(`)p Fs(:)p Ft(')g(separates)h(the)f(ev)m(en)m(t)150
-2677 y(sp)s(eci\014cation)38 b(from)e(the)h(w)m(ord)f(designator.)61
+3139 y(sp)s(eci\014cation)38 b(from)e(the)h(w)m(ord)f(designator.)61
 b(It)37 b(ma)m(y)h(b)s(e)e(omitted)i(if)e(the)h(w)m(ord)g(designator)g
-(b)s(egins)150 2786 y(with)30 b(a)g(`)p Fs(^)p Ft(',)g(`)p
+(b)s(egins)150 3248 y(with)30 b(a)g(`)p Fs(^)p Ft(',)g(`)p
 Fs($)p Ft(',)g(`)p Fs(*)p Ft(',)h(`)p Fs(-)p Ft(',)f(or)g(`)p
 Fs(\045)p Ft('.)41 b(W)-8 b(ords)30 b(are)g(n)m(um)m(b)s(ered)e(from)i
 (the)g(b)s(eginning)f(of)h(the)g(line,)g(with)g(the)150
-2896 y(\014rst)f(w)m(ord)f(b)s(eing)h(denoted)h(b)m(y)f(0)h(\(zero\).)
+3358 y(\014rst)f(w)m(ord)f(b)s(eing)h(denoted)h(b)m(y)f(0)h(\(zero\).)
 41 b(W)-8 b(ords)30 b(are)g(inserted)f(in)m(to)h(the)g(curren)m(t)f
-(line)g(separated)h(b)m(y)150 3005 y(single)h(spaces.)275
-3136 y(F)-8 b(or)31 b(example,)150 3286 y Fs(!!)384 b
+(line)g(separated)h(b)m(y)150 3468 y(single)h(spaces.)275
+3601 y(F)-8 b(or)31 b(example,)150 3758 y Fs(!!)384 b
 Ft(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
-3396 y(mand)30 b(is)g(rep)s(eated)g(in)g(toto.)150 3546
+3867 y(mand)30 b(is)g(rep)s(eated)g(in)g(toto.)150 4024
 y Fs(!!:$)288 b Ft(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
-3656 y(to)31 b Fs(!$)p Ft(.)150 3806 y Fs(!fi:2)240 b
+4133 y(to)31 b Fs(!$)p Ft(.)150 4290 y Fs(!fi:2)240 b
 Ft(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 3916
-y(letters)j Fs(fi)p Ft(.)275 4067 y(Here)e(are)h(the)g(w)m(ord)f
-(designators:)150 4217 y Fs(0)g(\(zero\))114 b Ft(The)30
+(recen)m(t)i(command)e(starting)h(with)f(the)630 4400
+y(letters)j Fs(fi)p Ft(.)275 4556 y(Here)e(are)h(the)g(w)m(ord)f
+(designators:)150 4713 y Fs(0)g(\(zero\))114 b Ft(The)30
 b Fs(0)p Ft(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 4368 y Fi(n)432
-b Ft(The)30 b Fq(n)p Ft(th)g(w)m(ord.)150 4518 y Fs(^)432
+(this)e(is)g(the)h(command)f(w)m(ord.)150 4870 y Fi(n)432
+b Ft(The)30 b Fq(n)p Ft(th)g(w)m(ord.)150 5027 y Fs(^)432
 b Ft(The)30 b(\014rst)f(argumen)m(t;)j(that)f(is,)f(w)m(ord)g(1.)150
-4669 y Fs($)432 b Ft(The)30 b(last)h(argumen)m(t.)150
-4820 y Fs(\045)432 b Ft(The)30 b(w)m(ord)g(matc)m(hed)h(b)m(y)f(the)h
+5183 y Fs($)432 b Ft(The)30 b(last)h(argumen)m(t.)150
+5340 y Fs(\045)432 b Ft(The)30 b(w)m(ord)g(matc)m(hed)h(b)m(y)f(the)h
 (most)g(recen)m(t)g(`)p Fs(?)p Fi(string)11 b Fs(?)p
-Ft(')28 b(searc)m(h.)150 4970 y Fi(x)11 b Fs(-)p Fi(y)325
-b Ft(A)30 b(range)h(of)g(w)m(ords;)f(`)p Fs(-)p Fi(y)11
-b Ft(')30 b(abbreviates)h(`)p Fs(0-)p Fi(y)11 b Ft('.)150
-5121 y Fs(*)432 b Ft(All)28 b(of)g(the)g(w)m(ords,)g(except)h(the)e
-Fs(0)p Ft(th.)40 b(This)27 b(is)g(a)h(synon)m(ym)f(for)h(`)p
-Fs(1-$)p Ft('.)39 b(It)28 b(is)g(not)g(an)f(error)630
-5230 y(to)j(use)g(`)p Fs(*)p Ft(')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 5340 y(that)j(case.)p eop end
+Ft(')28 b(searc)m(h.)p eop end
 %%Page: 131 137
 TeXDict begin 131 136 bop 150 -116 a Ft(Chapter)30 b(9:)41
 b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(131)150
-299 y Fi(x)11 b Fs(*)373 b Ft(Abbreviates)31 b(`)p Fi(x)11
-b Fs(-$)p Ft(')150 458 y Fi(x)g Fs(-)373 b Ft(Abbreviates)31
-b(`)p Fi(x)11 b Fs(-$)p Ft(')29 b(lik)m(e)j(`)p Fi(x)11
-b Fs(*)p Ft(',)30 b(but)g(omits)h(the)f(last)h(w)m(ord.)275
-618 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
-727 y(is)d(used)g(as)h(the)f(ev)m(en)m(t.)150 927 y Fj(9.3.3)63
-b(Mo)s(di\014ers)150 1073 y Ft(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 1183 y(mo)s(di\014ers,)h(eac)m(h)j
-(preceded)e(b)m(y)g(a)h(`)p Fs(:)p Ft('.)150 1342 y Fs(h)432
-b Ft(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 1502 y Fs(t)432
-b Ft(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 1661 y Fs(r)432 b Ft(Remo)m(v)m(e)32
-b(a)f(trailing)g(su\016x)f(of)g(the)h(form)f(`)p Fs(.)p
-Fi(suffix)11 b Ft(',)28 b(lea)m(ving)33 b(the)d(basename.)150
-1821 y Fs(e)432 b Ft(Remo)m(v)m(e)32 b(all)f(but)f(the)h(trailing)g
-(su\016x.)150 1980 y Fs(p)432 b Ft(Prin)m(t)30 b(the)h(new)f(command)g
-(but)g(do)g(not)g(execute)i(it.)150 2139 y Fs(q)432 b
+299 y Fi(x)11 b Fs(-)p Fi(y)325 b Ft(A)30 b(range)h(of)g(w)m(ords;)f(`)
+p Fs(-)p Fi(y)11 b Ft(')30 b(abbreviates)h(`)p Fs(0-)p
+Fi(y)11 b Ft('.)150 458 y Fs(*)432 b Ft(All)28 b(of)g(the)g(w)m(ords,)g
+(except)h(the)e Fs(0)p Ft(th.)40 b(This)27 b(is)g(a)h(synon)m(ym)f(for)
+h(`)p Fs(1-$)p Ft('.)39 b(It)28 b(is)g(not)g(an)f(error)630
+568 y(to)j(use)g(`)p Fs(*)p Ft(')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 677 y(that)j(case.)150 837 y Fi(x)11
+b Fs(*)373 b Ft(Abbreviates)31 b(`)p Fi(x)11 b Fs(-$)p
+Ft(')150 996 y Fi(x)g Fs(-)373 b Ft(Abbreviates)31 b(`)p
+Fi(x)11 b Fs(-$)p Ft(')29 b(lik)m(e)j(`)p Fi(x)11 b Fs(*)p
+Ft(',)30 b(but)g(omits)h(the)f(last)h(w)m(ord.)275 1156
+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
+1265 y(is)d(used)g(as)h(the)f(ev)m(en)m(t.)150 1465 y
+Fj(9.3.3)63 b(Mo)s(di\014ers)150 1611 y Ft(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 1721 y(mo)s(di\014ers,)h(eac)m
+(h)j(preceded)e(b)m(y)g(a)h(`)p Fs(:)p Ft('.)150 1880
+y Fs(h)432 b Ft(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 2040
+y Fs(t)432 b Ft(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 2199 y Fs(r)432
+b Ft(Remo)m(v)m(e)32 b(a)f(trailing)g(su\016x)f(of)g(the)h(form)f(`)p
+Fs(.)p Fi(suffix)11 b Ft(',)28 b(lea)m(ving)33 b(the)d(basename.)150
+2359 y Fs(e)432 b Ft(Remo)m(v)m(e)32 b(all)f(but)f(the)h(trailing)g
+(su\016x.)150 2518 y Fs(p)432 b Ft(Prin)m(t)30 b(the)h(new)f(command)g
+(but)g(do)g(not)g(execute)i(it.)150 2677 y Fs(q)432 b
 Ft(Quote)31 b(the)f(substituted)g(w)m(ords,)g(escaping)h(further)e
-(substitutions.)150 2299 y Fs(x)432 b Ft(Quote)32 b(the)f(substituted)g
+(substitutions.)150 2837 y Fs(x)432 b Ft(Quote)32 b(the)f(substituted)g
 (w)m(ords)f(as)i(with)f(`)p Fs(q)p Ft(',)h(but)e(break)h(in)m(to)i(w)m
-(ords)d(at)i(spaces,)h(tabs,)630 2408 y(and)d(newlines.)150
-2568 y Fs(s/)p Fi(old)11 b Fs(/)p Fi(new)g Fs(/)630 2677
+(ords)d(at)i(spaces,)h(tabs,)630 2946 y(and)d(newlines.)150
+3106 y Fs(s/)p Fi(old)11 b Fs(/)p Fi(new)g Fs(/)630 3215
 y Ft(Substitute)32 b Fq(new)40 b Ft(for)32 b(the)h(\014rst)f(o)s
 (ccurrence)h(of)f Fq(old)37 b Ft(in)32 b(the)h(ev)m(en)m(t)h(line.)48
-b(An)m(y)32 b(delimiter)630 2787 y(ma)m(y)25 b(b)s(e)g(used)f(in)g
+b(An)m(y)32 b(delimiter)630 3325 y(ma)m(y)25 b(b)s(e)g(used)f(in)g
 (place)i(of)f(`)p Fs(/)p Ft('.)39 b(The)24 b(delimiter)h(ma)m(y)h(b)s
 (e)e(quoted)h(in)f Fq(old)29 b Ft(and)24 b Fq(new)32
-b Ft(with)25 b(a)630 2897 y(single)j(bac)m(kslash.)40
+b Ft(with)25 b(a)630 3435 y(single)j(bac)m(kslash.)40
 b(If)27 b(`)p Fs(&)p Ft(')g(app)s(ears)g(in)g Fq(new)8
 b Ft(,)27 b(it)h(is)f(replaced)h(b)m(y)f Fq(old)t Ft(.)39
-b(A)27 b(single)h(bac)m(kslash)630 3006 y(will)35 b(quote)g(the)g(`)p
+b(A)27 b(single)h(bac)m(kslash)630 3544 y(will)35 b(quote)g(the)g(`)p
 Fs(&)p Ft('.)54 b(The)34 b(\014nal)g(delimiter)i(is)e(optional)i(if)f
-(it)g(is)f(the)h(last)h(c)m(haracter)g(on)630 3116 y(the)31
-b(input)e(line.)150 3275 y Fs(&)432 b Ft(Rep)s(eat)31
-b(the)f(previous)g(substitution.)150 3435 y Fs(g)150
-3544 y(a)432 b Ft(Cause)38 b(c)m(hanges)i(to)f(b)s(e)f(applied)h(o)m(v)
+(it)g(is)f(the)h(last)h(c)m(haracter)g(on)630 3654 y(the)31
+b(input)e(line.)150 3813 y Fs(&)432 b Ft(Rep)s(eat)31
+b(the)f(previous)g(substitution.)150 3973 y Fs(g)150
+4082 y(a)432 b Ft(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 3654 y(with)30 b(`)p Fs(s)p Ft(',)h(as)f(in)h
+b(in)f(conjunction)630 4192 y(with)30 b(`)p Fs(s)p Ft(',)h(as)f(in)h
 Fs(gs/)p Fi(old)11 b Fs(/)p Fi(new)g Fs(/)p Ft(,)26 b(or)k(with)h(`)p
-Fs(&)p Ft('.)150 3813 y Fs(G)432 b Ft(Apply)30 b(the)g(follo)m(wing)i
+Fs(&)p Ft('.)150 4351 y Fs(G)432 b Ft(Apply)30 b(the)g(follo)m(wing)i
 (`)p Fs(s)p Ft(')f(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: 132 138
@@ -14187,7 +14252,7 @@ b(Reference)g(Man)m(ual)150 299 y Fs(--enable-disabled-builti)o(ns)630
 (ed)i(via)f(`)p Fs(builtin)29 b(xxx)p Ft(')37 b(ev)m(en)j(after)f
 Fs(xxx)e Ft(has)630 518 y(b)s(een)31 b(disabled)g(using)g(`)p
 Fs(enable)d(-n)i(xxx)p Ft('.)43 b(See)32 b(Section)g(4.2)h([Bash)e
-(Builtins],)i(page)f(43,)630 628 y(for)e(details)i(of)e(the)h
+(Builtins],)i(page)f(44,)630 628 y(for)e(details)i(of)e(the)h
 Fs(builtin)d Ft(and)i Fs(enable)e Ft(builtin)i(commands.)150
 783 y Fs(--enable-dparen-arithmet)o(ic)630 892 y Ft(Include)42
 b(supp)s(ort)f(for)h(the)h Fs(\(\(...)o(\)\))f Ft(command)g(\(see)i
@@ -14200,11 +14265,11 @@ b(page)h(10\).)150 1157 y Fs(--enable-extended-glob)630
 1641 y Ft(Set)40 b(the)g(default)g(v)-5 b(alue)41 b(of)f(the)g
 Fq(extglob)j Ft(shell)d(option)g(describ)s(ed)f(ab)s(o)m(v)m(e)i(under)
 d(Sec-)630 1751 y(tion)31 b(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g
-(57)g(to)h(b)s(e)d(enabled.)150 1906 y Fs(--enable-help-builtin)630
+(58)g(to)h(b)s(e)d(enabled.)150 1906 y Fs(--enable-help-builtin)630
 2016 y Ft(Include)24 b(the)h Fs(help)f Ft(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 2125 y(Section)31 b(4.2)h([Bash)e(Builtins],)i(page)f
-(43\).)150 2281 y Fs(--enable-history)630 2390 y Ft(Include)e(command)g
+(44\).)150 2281 y Fs(--enable-history)630 2390 y Ft(Include)e(command)g
 (history)h(and)f(the)h Fs(fc)f Ft(and)g Fs(history)e
 Ft(builtin)j(commands)f(\(see)h(Sec-)630 2500 y(tion)h(9.1)g([Bash)g
 (History)g(F)-8 b(acilities],)34 b(page)d(127\).)150
@@ -14223,19 +14288,19 @@ b Ft(when)28 b(used)g(in)h(redirections)h(\(see)g(Section)g(3.6)g
 ([Redirec-)630 3733 y(tions],)h(page)g(27\).)150 3888
 y Fs(--enable-process-substit)o(utio)o(n)630 3998 y Ft(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 4107 y(page)31 b(24\))h(if)e(the)h(op)s
+s(cess)e(Substitution],)630 4107 y(page)31 b(25\))h(if)e(the)h(op)s
 (erating)f(system)h(pro)m(vides)f(the)h(necessary)g(supp)s(ort.)150
 4262 y Fs(--enable-progcomp)630 4372 y Ft(Enable)d(the)g(programmable)g
 (completion)i(facilities)g(\(see)f(Section)g(8.6)g([Programmable)630
 4482 y(Completion],)i(page)h(119\).)42 b(If)30 b(Readline)h(is)f(not)h
 (enabled,)f(this)h(option)g(has)f(no)g(e\013ect.)150
 4637 y Fs(--enable-prompt-string-d)o(ecod)o(ing)630 4746
-y Ft(T)-8 b(urn)46 b(on)h(the)h(in)m(terpretation)g(of)g(a)g(n)m(um)m
-(b)s(er)e(of)h(bac)m(kslash-escap)s(ed)h(c)m(haracters)h(in)630
-4856 y(the)39 b Fs($PS1)p Ft(,)g Fs($PS2)p Ft(,)h Fs($PS3)p
-Ft(,)f(and)f Fs($PS4)f Ft(prompt)h(strings.)64 b(See)39
-b(Section)g(6.9)h([Prin)m(ting)f(a)630 4966 y(Prompt],)30
-b(page)h(86,)h(for)e(a)h(complete)h(list)f(of)f(prompt)g(string)g
+y Ft(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
+4856 y Fs($PS1)p Ft(,)36 b Fs($PS2)p Ft(,)g Fs($PS3)p
+Ft(,)h(and)e Fs($PS4)f Ft(prompt)h(strings.)57 b(See)36
+b(Section)h(6.9)g([Con)m(trolling)g(the)630 4966 y(Prompt],)30
+b(page)h(87,)h(for)e(a)h(complete)h(list)f(of)f(prompt)g(string)g
 (escap)s(e)h(sequences.)150 5121 y Fs(--enable-readline)630
 5230 y Ft(Include)d(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 5340
@@ -14278,7 +14343,7 @@ Ft(,)g(whic)m(h)g(mak)m(es)g(the)g(Bash)g Fs(echo)e Ft(b)s(eha)m(v)m(e)
 i(more)g(lik)m(e)h(the)f(v)m(ersion)g(sp)s(eci\014ed)630
 3118 y(in)41 b(the)h(Single)g(Unix)f(Sp)s(eci\014cation,)k(v)m(ersion)e
 (3.)74 b(See)42 b(Section)g(4.2)h([Bash)f(Builtins],)630
-3228 y(page)31 b(43,)h(for)e(a)g(description)h(of)f(the)h(escap)s(e)g
+3228 y(page)31 b(44,)h(for)e(a)g(description)h(of)f(the)h(escap)s(e)g
 (sequences)f(that)h Fs(echo)f Ft(recognizes.)275 3387
 y(The)23 b(\014le)i(`)p Fs(config-top.h)p Ft(')c(con)m(tains)26
 b(C)e(Prepro)s(cessor)g(`)p Fs(#define)p Ft(')e(statemen)m(ts)k(for)f
@@ -14487,7 +14552,7 @@ b(preferred)g(to)i(the)g(Bourne)f(shell's)h Fs(``)e Ft(\(whic)m(h)i(is)
 f(also)330 4495 y(implemen)m(ted)31 b(for)f(bac)m(kw)m(ards)h
 (compatibilit)m(y\).)225 4631 y Fp(\017)60 b Ft(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(24\).)225 4766 y Fp(\017)60
+(cess)f(Substitution],)f(page)h(25\).)225 4766 y Fp(\017)60
 b Ft(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
 4876 y(user)40 b(\()p Fs(UID)p Ft(,)i Fs(EUID)p Ft(,)g(and)e
@@ -14524,7 +14589,7 @@ Ft(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 Fs(local)f
 Ft(builtin,)i(and)e(th)m(us)330 1272 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(43\).)225 1414 y Fp(\017)60 b Ft(V)-8
+(Builtins],)g(page)h(44\).)225 1414 y Fp(\017)60 b Ft(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 1524
 y(functions)36 b(\(see)h(Section)g(3.7.4)h([En)m(vironmen)m(t],)h(page)
@@ -14574,14 +14639,14 @@ b(allo)m(ws)h(a)g(function)e(to)i(o)m(v)m(erride)g(a)g(builtin)e(with)h
 4115 y(that)34 b(builtin's)f(functionalit)m(y)h(within)f(the)g
 (function)g(via)h(the)f Fs(builtin)f Ft(and)g Fs(command)g
 Ft(builtins)330 4225 y(\(see)f(Section)h(4.2)f([Bash)g(Builtins],)g
-(page)g(43\).)225 4367 y Fp(\017)60 b Ft(The)35 b Fs(command)e
+(page)g(44\).)225 4367 y Fp(\017)60 b Ft(The)35 b Fs(command)e
 Ft(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 4476 y(p)s(erformed)29
-b(\(see)i(Section)g(4.2)h([Bash)f(Builtins],)g(page)g(43\).)225
+b(\(see)i(Section)g(4.2)h([Bash)f(Builtins],)g(page)g(44\).)225
 4618 y Fp(\017)60 b Ft(Individual)23 b(builtins)g(ma)m(y)i(b)s(e)e
 (enabled)h(or)g(disabled)g(using)f(the)h Fs(enable)f
 Ft(builtin)g(\(see)i(Section)g(4.2)330 4728 y([Bash)31
-b(Builtins],)g(page)g(43\).)225 4869 y Fp(\017)60 b Ft(The)26
+b(Builtins],)g(page)g(44\).)225 4869 y Fp(\017)60 b Ft(The)26
 b(Bash)h Fs(exec)e Ft(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
 4979 y(of)35 b(the)f(en)m(vironmen)m(t)h(passed)f(to)h(the)g(executed)g
@@ -14613,12 +14678,12 @@ Fs($PATH)p Ft(,)g(using)f(`)p Fs(hash)h(-p)p Ft(')g(\(see)330
 984 y(Section)i(4.1)h([Bourne)e(Shell)g(Builtins],)h(page)h(37\).)225
 1121 y Fp(\017)60 b Ft(Bash)27 b(includes)f(a)i Fs(help)d
 Ft(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 1230 y(Builtins],)j(page)g(43\).)225
+(\(see)f(Section)g(4.2)g([Bash)330 1230 y(Builtins],)j(page)g(44\).)225
 1367 y Fp(\017)60 b Ft(The)42 b Fs(printf)g Ft(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 1477 y(Builtins],)31 b(page)g(43\).)225
+(4.2)g([Bash)330 1477 y(Builtins],)31 b(page)g(44\).)225
 1614 y Fp(\017)60 b Ft(The)26 b(Bash)h Fs(read)f Ft(builtin)g(\(see)i
-(Section)g(4.2)g([Bash)f(Builtins],)h(page)g(43\))g(will)f(read)g(a)g
+(Section)g(4.2)g([Bash)f(Builtins],)h(page)g(44\))g(will)f(read)g(a)g
 (line)g(ending)330 1724 y(in)f(`)p Fs(\\)p Ft(')h(with)f(the)g(`)p
 Fs(-r)p Ft(')h(option,)h(and)d(will)i(use)f(the)h Fs(REPLY)e
 Ft(v)-5 b(ariable)27 b(as)g(a)f(default)h(if)f(no)h(non-option)330
@@ -14645,17 +14710,17 @@ f(the)g Fs(.)g Ft(or)330 2737 y Fs(source)c Ft(builtins)g(\(see)j
 2874 y Fp(\017)60 b Ft(Bash)43 b(includes)g(the)g Fs(shopt)f
 Ft(builtin,)k(for)d(\014ner)f(con)m(trol)j(of)e(shell)h(optional)g
 (capabilities)h(\(see)330 2984 y(Section)c(4.3.2)g([The)f(Shopt)f
-(Builtin],)k(page)d(57\),)k(and)39 b(allo)m(ws)i(these)f(options)h(to)f
+(Builtin],)k(page)d(58\),)k(and)39 b(allo)m(ws)i(these)f(options)h(to)f
 (b)s(e)f(set)i(and)330 3093 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
 (75\).)225 3230 y Fp(\017)60 b Ft(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
 Fs(set)g Ft(builtin)g(\(see)h(Sec-)330 3340 y(tion)31
 b(4.3.1)h([The)e(Set)h(Builtin],)g(page)g(54\).)225 3477
-y Fp(\017)60 b Ft(The)31 b(`)p Fs(-x)p Ft(')g(\()p Fs(xtrace)p
-Ft(\))g(option)h(displa)m(ys)f(commands)h(other)f(than)h(simple)f
-(commands)g(when)g(p)s(er-)330 3587 y(forming)f(an)g(execution)i(trace)
-f(\(see)h(Section)f(4.3.1)h([The)e(Set)h(Builtin],)g(page)g(54\).)225
+y Fp(\017)60 b Ft(The)45 b(`)p Fs(-x)p Ft(')g(\(`)p Fs(xtrace)p
+Ft('\))g(option)h(displa)m(ys)g(commands)f(other)h(than)f(simple)h
+(commands)f(when)330 3587 y(p)s(erforming)29 b(an)h(execution)i(trace)g
+(\(see)f(Section)g(4.3.1)h([The)e(Set)h(Builtin],)g(page)g(54\).)225
 3724 y Fp(\017)60 b Ft(The)28 b Fs(test)g Ft(builtin)h(\(see)h(Section)
 f(4.1)h([Bourne)f(Shell)g(Builtins],)h(page)g(37\))g(is)f(sligh)m(tly)h
 (di\013eren)m(t,)330 3833 y(as)23 b(it)g(implemen)m(ts)f(the)h
@@ -14712,7 +14777,7 @@ g(the)g Fs(shopt)f Ft(builtin.)225 1330 y Fp(\017)60
 b Ft(The)30 b(Bash)g Fs(type)f Ft(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
 1440 y(it)h(\014nds)e(\(see)i(Section)g(4.2)h([Bash)e(Builtins],)i
-(page)f(43\).)225 1571 y Fp(\017)60 b Ft(The)34 b(Bash)h
+(page)f(44\).)225 1571 y Fp(\017)60 b Ft(The)34 b(Bash)h
 Fs(umask)e Ft(builtin)h(p)s(ermits)g(a)g(`)p Fs(-p)p
 Ft(')h(option)g(to)g(cause)g(the)g(output)f(to)h(b)s(e)f(displa)m(y)m
 (ed)h(in)330 1681 y(the)g(form)g(of)g(a)h Fs(umask)e
@@ -14728,7 +14793,7 @@ g(the)f(v)-5 b(alue)31 b(of)g(the)f Fs(DIRSTACK)f Ft(shell)h(v)-5
 b(ariable.)225 2274 y Fp(\017)60 b Ft(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 2383 y(activ)m(e)33 b(\(see)e(Section)g
-(6.9)h([Prin)m(ting)e(a)h(Prompt],)g(page)g(86\).)225
+(6.9)h([Con)m(trolling)f(the)g(Prompt],)f(page)h(87\).)225
 2515 y Fp(\017)60 b Ft(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 2625 y(page)31 b(88\);)h(the)f(SVR4.2)g(shell)f(restricted)h(mo)s
@@ -15456,7 +15521,7 @@ g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)39 b Fb(41)150 1938 y Fr(A)150 2055
 y Fe(alias)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)h(:)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(:)46 b Fb(43)150
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b Fb(44)150
 2289 y Fr(B)150 2405 y Fe(bg)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(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
@@ -15515,7 +15580,7 @@ g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(38)150
 4770 y Fe(exit)23 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(:)g(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
-b Fb(38)150 4857 y Fe(export)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)
+b Fb(39)150 4857 y Fe(export)17 b Fc(:)e(:)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(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43
 b Fb(39)150 5110 y Fr(F)150 5227 y Fe(fc)8 b Fc(:)14
@@ -15551,7 +15616,7 @@ g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
 b Fb(48)2025 2766 y Fe(local)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(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
-b Fb(48)2025 2856 y Fe(logout)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g
+b Fb(49)2025 2856 y Fe(logout)17 b Fc(:)d(:)g(:)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(:)44
 b Fb(49)2025 3118 y Fr(M)2025 3238 y Fe(mapfile)15 b
@@ -15592,10 +15657,10 @@ g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(41)2025
 5080 y Fe(shopt)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(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b
-Fb(57)2025 5169 y Fe(source)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+Fb(58)2025 5169 y Fe(source)17 b Fc(:)d(:)g(:)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(:)44
-b Fb(51)2025 5259 y Fe(suspend)15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g
+b Fb(52)2025 5259 y Fe(suspend)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(:)g(:)h(:)f(:)g(:)g(:)41
 b Fb(95)p eop end
@@ -15735,7 +15800,7 @@ h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fb(18)p
 159 1349 41 6 v 150 1465 a Fe(_)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)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(:)39 b Fb(18)150 1699 y Fr(0)150 1815 y Fe(0)13
+(:)g(:)g(:)39 b Fb(19)150 1699 y Fr(0)150 1815 y Fe(0)13
 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
 g(:)g(:)h(:)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(:)39 b Fb(18)150
@@ -16396,7 +16461,7 @@ b Fc(:)f(:)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(:)42
 b Fb(98)150 3857 y(command)26 b(execution)d Fc(:)13 b(:)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(:)49 b Fb(31)150 3944 y(command)26 b(expansion)16
+h(:)f(:)g(:)g(:)49 b Fb(32)150 3944 y(command)26 b(expansion)16
 b Fc(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)42 b Fb(31)150
 4031 y(command)26 b(history)12 b Fc(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
@@ -16404,7 +16469,7 @@ g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)42 b Fb(31)150
 g(:)g(:)39 b Fb(127)150 4118 y(command)26 b(searc)n(h)10
 b Fc(:)j(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36
-b Fb(31)150 4206 y(command)26 b(substitution)15 b Fc(:)e(:)g(:)g(:)g(:)
+b Fb(32)150 4206 y(command)26 b(substitution)15 b Fc(:)e(:)g(:)g(:)g(:)
 g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
 (:)f(:)g(:)41 b Fb(24)150 4293 y(command)26 b(timing)7
 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
@@ -16456,13 +16521,13 @@ b(arithmetic)e 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(:)49 b
 Fb(82)2025 3170 y(ev)n(en)n(t)24 b(designators)14 b Fc(:)h(:)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(:)41 b Fb(129)2025 3259 y(execution)25
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)41 b Fb(130)2025 3259 y(execution)25
 b(en)n(vironmen)n(t)11 b Fc(:)i(:)g(:)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(32)2025 3348 y(exit)25 b(status)18 b Fc(:)c(:)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(:)45 b Fb(3,)26
-b(33)2025 3436 y(expansion)20 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+b(34)2025 3436 y(expansion)20 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(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(19)2025
 3525 y(expansion,)26 b(arithmetic)12 b Fc(:)i(:)f(:)g(:)g(:)g(:)g(:)g
@@ -16506,7 +16571,7 @@ h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)41
 b Fb(127)2025 5340 y(history)25 b(ev)n(en)n(ts)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(:)g(:)h(:)f(:)g(:)g(:)46
-b Fb(129)p eop end
+b Fb(130)p eop end
 %%Page: 163 169
 TeXDict begin 163 168 bop 150 -116 a Ft(App)s(endix)29
 b(D:)i(Indexes)2623 b(163)150 299 y Fb(history)26 b(expansion)8
@@ -16578,7 +16643,7 @@ b Fb(21)150 4414 y(parameters)17 b Fc(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)43 b Fb(17)150
 4502 y(parameters,)27 b(p)r(ositional)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g
 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)44 b Fb(17)150 4589 y(parameters,)27 b(sp)r(ecial)18
+g(:)44 b Fb(18)150 4589 y(parameters,)27 b(sp)r(ecial)18
 b Fc(:)c(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
 h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44 b Fb(18)150
 4676 y(pathname)25 b(expansion)12 b Fc(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g
@@ -16603,12 +16668,12 @@ y(pro)r(cess)26 b(group)g(ID)21 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 f(:)g(:)g(:)g(:)g(:)49 b Fb(3)2025 564 y(pro)r(cess)26
 b(substitution)c 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(:)48
-b Fb(24)2025 653 y(programmable)27 b(completion)20 b
+b Fb(25)2025 653 y(programmable)27 b(completion)20 b
 Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)46 b Fb(119)2025 741 y(prompting)11 b
 Fc(:)i(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)38 b Fb(86)2025 997 y Fr(Q)2025 1116 y Fb(quoting)10
+g(:)g(:)38 b Fb(87)2025 997 y Fr(Q)2025 1116 y Fb(quoting)10
 b Fc(:)j(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
 g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
 (:)g(:)g(:)g(:)h(:)f(:)g(:)37 b Fb(6)2025 1204 y(quoting,)26
@@ -16651,7 +16716,7 @@ b Fc(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
 g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44
 b Fb(34)2025 2909 y(sp)r(ecial)27 b(builtin)10 b Fc(:)j(:)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(:)37 b Fb(4,)26 b(62)2025
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(4,)26 b(63)2025
 2998 y(startup)f(\014les)d Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
 g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
 (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(77)2025 3086 y(susp)r(ending)25
index 9a3615f3d5fb0670254fbbf7d93f8214150e7f04..cc9a78f7fbddcb12ad7e1027c9464196e11a49f4 100644 (file)
@@ -24,7 +24,7 @@
 @numsubsecentry{GNU Parallel}{3.2.6}{GNU Parallel}{14}
 @numsecentry{Shell Functions}{3.3}{Shell Functions}{15}
 @numsecentry{Shell Parameters}{3.4}{Shell Parameters}{17}
-@numsubsecentry{Positional Parameters}{3.4.1}{Positional Parameters}{17}
+@numsubsecentry{Positional Parameters}{3.4.1}{Positional Parameters}{18}
 @numsubsecentry{Special Parameters}{3.4.2}{Special Parameters}{18}
 @numsecentry{Shell Expansions}{3.5}{Shell Expansions}{19}
 @numsubsecentry{Brace Expansion}{3.5.1}{Brace Expansion}{19}
 @numsubsecentry{Shell Parameter Expansion}{3.5.3}{Shell Parameter Expansion}{21}
 @numsubsecentry{Command Substitution}{3.5.4}{Command Substitution}{24}
 @numsubsecentry{Arithmetic Expansion}{3.5.5}{Arithmetic Expansion}{24}
-@numsubsecentry{Process Substitution}{3.5.6}{Process Substitution}{24}
+@numsubsecentry{Process Substitution}{3.5.6}{Process Substitution}{25}
 @numsubsecentry{Word Splitting}{3.5.7}{Word Splitting}{25}
 @numsubsecentry{Filename Expansion}{3.5.8}{Filename Expansion}{25}
 @numsubsubsecentry{Pattern Matching}{3.5.8.1}{Pattern Matching}{26}
 @numsubsecentry{Quote Removal}{3.5.9}{Quote Removal}{27}
 @numsecentry{Redirections}{3.6}{Redirections}{27}
 @numsubsecentry{Redirecting Input}{3.6.1}{}{28}
-@numsubsecentry{Redirecting Output}{3.6.2}{}{28}
+@numsubsecentry{Redirecting Output}{3.6.2}{}{29}
 @numsubsecentry{Appending Redirected Output}{3.6.3}{}{29}
 @numsubsecentry{Redirecting Standard Output and Standard Error}{3.6.4}{}{29}
 @numsubsecentry{Appending Standard Output and Standard Error}{3.6.5}{}{29}
-@numsubsecentry{Here Documents}{3.6.6}{}{29}
+@numsubsecentry{Here Documents}{3.6.6}{}{30}
 @numsubsecentry{Here Strings}{3.6.7}{}{30}
 @numsubsecentry{Duplicating File Descriptors}{3.6.8}{}{30}
-@numsubsecentry{Moving File Descriptors}{3.6.9}{}{30}
+@numsubsecentry{Moving File Descriptors}{3.6.9}{}{31}
 @numsubsecentry{Opening File Descriptors for Reading and Writing}{3.6.10}{}{31}
 @numsecentry{Executing Commands}{3.7}{Executing Commands}{31}
 @numsubsecentry{Simple Command Expansion}{3.7.1}{Simple Command Expansion}{31}
-@numsubsecentry{Command Search and Execution}{3.7.2}{Command Search and Execution}{31}
+@numsubsecentry{Command Search and Execution}{3.7.2}{Command Search and Execution}{32}
 @numsubsecentry{Command Execution Environment}{3.7.3}{Command Execution Environment}{32}
 @numsubsecentry{Environment}{3.7.4}{Environment}{33}
-@numsubsecentry{Exit Status}{3.7.5}{Exit Status}{33}
+@numsubsecentry{Exit Status}{3.7.5}{Exit Status}{34}
 @numsubsecentry{Signals}{3.7.6}{Signals}{34}
 @numsecentry{Shell Scripts}{3.8}{Shell Scripts}{35}
 @numchapentry{Shell Builtin Commands}{4}{Shell Builtin Commands}{37}
 @numsecentry{Bourne Shell Builtins}{4.1}{Bourne Shell Builtins}{37}
-@numsecentry{Bash Builtin Commands}{4.2}{Bash Builtins}{43}
-@numsecentry{Modifying Shell Behavior}{4.3}{Modifying Shell Behavior}{53}
+@numsecentry{Bash Builtin Commands}{4.2}{Bash Builtins}{44}
+@numsecentry{Modifying Shell Behavior}{4.3}{Modifying Shell Behavior}{54}
 @numsubsecentry{The Set Builtin}{4.3.1}{The Set Builtin}{54}
-@numsubsecentry{The Shopt Builtin}{4.3.2}{The Shopt Builtin}{57}
-@numsecentry{Special Builtins}{4.4}{Special Builtins}{62}
+@numsubsecentry{The Shopt Builtin}{4.3.2}{The Shopt Builtin}{58}
+@numsecentry{Special Builtins}{4.4}{Special Builtins}{63}
 @numchapentry{Shell Variables}{5}{Shell Variables}{65}
 @numsecentry{Bourne Shell Variables}{5.1}{Bourne Shell Variables}{65}
 @numsecentry{Bash Variables}{5.2}{Bash Variables}{65}
@@ -79,7 +79,7 @@
 @numsecentry{Arrays}{6.7}{Arrays}{84}
 @numsecentry{The Directory Stack}{6.8}{The Directory Stack}{85}
 @numsubsecentry{Directory Stack Builtins}{6.8.1}{Directory Stack Builtins}{85}
-@numsecentry{Controlling the Prompt}{6.9}{Printing a Prompt}{86}
+@numsecentry{Controlling the Prompt}{6.9}{Controlling the Prompt}{87}
 @numsecentry{The Restricted Shell}{6.10}{The Restricted Shell}{88}
 @numsecentry{Bash POSIX Mode}{6.11}{Bash POSIX Mode}{88}
 @numchapentry{Job Control}{7}{Job Control}{93}
 @numsecentry{Bash History Facilities}{9.1}{Bash History Facilities}{127}
 @numsecentry{Bash History Builtins}{9.2}{Bash History Builtins}{127}
 @numsecentry{History Expansion}{9.3}{History Interaction}{129}
-@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{129}
+@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{130}
 @numsubsecentry{Word Designators}{9.3.2}{Word Designators}{130}
 @numsubsecentry{Modifiers}{9.3.3}{Modifiers}{131}
 @numchapentry{Installing Bash}{10}{Installing Bash}{133}
index d9c2de71e2ff7531559df21b37601b75848c72b5..c7e6fbf26145b533cab22444c646e76b85457a9e 100644 (file)
@@ -9,7 +9,7 @@
 \entry{$}{18}{\code {$}}
 \entry{!}{18}{\code {!}}
 \entry{0}{18}{\code {0}}
-\entry{_}{18}{\code {_}}
+\entry{_}{19}{\code {_}}
 \entry{CDPATH}{65}{\code {CDPATH}}
 \entry{HOME}{65}{\code {HOME}}
 \entry{IFS}{65}{\code {IFS}}
index 60c64d4275d98dd3b51182a599dcc52b3ba1dda1..779b7cc9501ad4002484d9995ce452c0519c9a7d 100644 (file)
@@ -13,7 +13,7 @@
 \initial {@}
 \entry {\code {@}}{18}
 \initial {_}
-\entry {\code {_}}{18}
+\entry {\code {_}}{19}
 \initial {0}
 \entry {\code {0}}{18}
 \initial {A}
index 29558bcab80176fe1861cba253bcb3f8a74b405d..1bc87394da4ea9a1619e7309ab7b699aeb1690ad 100644 (file)
@@ -29,9 +29,9 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
        s\bso\bou\bur\brc\bce\be _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
               Read and execute commands from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be  in  the  current  shell
               environment  and return the exit status of the last command exe-
-              cuted from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.  If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\bdoes not contain a slash, file
-              names  in  P\bPA\bAT\bTH\bH  are used to find the directory containing _\bf_\bi_\bl_\be_\b-
-              _\bn_\ba_\bm_\be.  The file searched for in P\bPA\bAT\bTH\bH  need  not  be  executable.
+              cuted from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.  If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\b does  not  contain  a  slash,
+              filenames  in  P\bPA\bAT\bTH\bH  are  used  to find the directory containing
+              _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.  The file searched for in P\bPA\bAT\bTH\bH need not be executable.
               When  b\bba\bas\bsh\bh  is  not  in  _\bp_\bo_\bs_\bi_\bx  _\bm_\bo_\bd_\be,  the  current directory is
               searched if no file is found in P\bPA\bAT\bTH\bH.  If the s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh  option
               to  the  s\bsh\bho\bop\bpt\bt  builtin  command  is turned off, the P\bPA\bAT\bTH\bH is not
@@ -153,104 +153,104 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               lowed.  If the -\b-e\be option is supplied with -\b-P\bP,  and  the  current
               working directory cannot be successfully determined after a suc-
               cessful directory change, c\bcd\bd will return an unsuccessful status.
-              An  argument  of  -\b is  equivalent  to $\b$O\bOL\bLD\bDP\bPW\bWD\bD.  If a non-empty
-              directory name from C\bCD\bDP\bPA\bAT\bTH\bH is used, or if -\b- is the  first  argu-
-              ment, and the directory change is successful, the absolute path-
-              name of the new working directory is  written  to  the  standard
-              output.   The return value is true if the directory was success-
-              fully changed; false otherwise.
+              An  argument  of  -\bis converted to $\b$O\bOL\bLD\bDP\bPW\bWD\bD before the directory
+              change is attempted.  If a non-empty directory name from  C\bCD\bDP\bPA\bAT\bTH\bH
+              is used, or if -\b- is the first argument, and the directory change
+              is successful, the absolute pathname of the new  working  direc-
+              tory  is  written  to  the standard output.  The return value is
+              true if the directory was successfully changed; false otherwise.
 
        c\bco\bom\bmm\bma\ban\bnd\bd [-\b-p\bpV\bVv\bv] _\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg ...]
-              Run _\bc_\bo_\bm_\bm_\ba_\bn_\bd with _\ba_\br_\bg_\bs  suppressing  the  normal  shell  function
-              lookup.  Only builtin commands or commands found in the P\bPA\bAT\bTH\bH are
-              executed.  If the -\b-p\bp option is given, the search for _\bc_\bo_\bm_\bm_\ba_\bn_\b is
-              performed  using  a default value for P\bPA\bAT\bTH\bH that is guaranteed to
-              find all of the standard utilities.  If  either  the  -\b-V\bV  or  -\b-v\bv
+              Run  _\bc_\bo_\bm_\bm_\ba_\bn_\bd  with  _\ba_\br_\bg_\bs  suppressing  the normal shell function
+              lookup. Only builtin commands or commands found in the P\bPA\bAT\bTH\b are
+              executed.   If the -\b-p\bp option is given, the search for _\bc_\bo_\bm_\bm_\ba_\bn_\bd is
+              performed using a default value for P\bPA\bAT\bTH\bH that is  guaranteed  to
+              find  all  of  the  standard  utilities.  If either the -\b-V\bV or -\b-v\bv
               option is supplied, a description of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is printed.  The -\b-v\bv
-              option causes a single word indicating the command or file  name
+              option  causes  a single word indicating the command or filename
               used to invoke _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be displayed; the -\b-V\bV option produces a
-              more verbose description.  If the -\b-V\bV or -\b-v\bv option  is  supplied,
-              the  exit  status  is  0 if _\bc_\bo_\bm_\bm_\ba_\bn_\bd was found, and 1 if not.  If
+              more  verbose  description.  If the -\b-V\bV or -\b-v\bv option is supplied,
+              the exit status is 0 if _\bc_\bo_\bm_\bm_\ba_\bn_\bd was found, and  1  if  not.   If
               neither option is supplied and an error occurred or _\bc_\bo_\bm_\bm_\ba_\bn_\bd can-
-              not  be found, the exit status is 127.  Otherwise, the exit sta-
+              not be found, the exit status is 127.  Otherwise, the exit  sta-
               tus of the c\bco\bom\bmm\bma\ban\bnd\bd builtin is the exit status of _\bc_\bo_\bm_\bm_\ba_\bn_\bd.
 
        c\bco\bom\bmp\bpg\bge\ben\bn [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bw_\bo_\br_\bd]
-              Generate possible completion matches for _\bw_\bo_\br_\bd according  to  the
-              _\bo_\bp_\bt_\bi_\bo_\bns,  which  may  be  any  option  accepted  by the c\bco\bom\bmp\bpl\ble\bet\bte\be
-              builtin with the exception of -\b-p\bp and -\b-r\br, and write  the  matches
-              to  the  standard  output.  When using the -\b-F\bF or -\b-C\bC options, the
-              various shell  variables  set  by  the  programmable  completion
+              Generate  possible  completion matches for _\bw_\bo_\br_\bd according to the
+              _\bo_\bp_\bt_\bi_\bo_\bns, which may  be  any  option  accepted  by  the  c\bco\bom\bmp\bpl\ble\bet\bte\be
+              builtin  with  the exception of -\b-p\bp and -\b-r\br, and write the matches
+              to the standard output.  When using the -\b-F\bF or  -\b-C\bC  options,  the
+              various  shell  variables  set  by  the  programmable completion
               facilities, while available, will not have useful values.
 
-              The  matches  will  be  generated in the same way as if the pro-
-              grammable completion code had generated  them  directly  from  a
+              The matches will be generated in the same way  as  if  the  pro-
+              grammable  completion  code  had  generated them directly from a
               completion specification with the same flags.  If _\bw_\bo_\br_\bd is speci-
               fied, only those completions matching _\bw_\bo_\br_\bd will be displayed.
 
-              The return value is true unless an invalid option  is  supplied,
+              The  return  value is true unless an invalid option is supplied,
               or no matches were generated.
 
-       c\bco\bom\bmp\bpl\ble\bet\bte\b [-\b-a\bab\bbc\bcd\bde\bef\bfg\bgj\bjk\bks\bsu\buv\bv]  [-\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bE] [-\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn] [-\b-G\bG _\bg_\bl_\bo_\bb_\b-
+       c\bco\bom\bmp\bpl\ble\bet\bte\b[-\b-a\bab\bbc\bcd\bde\bef\bfg\bgj\bjk\bks\bsu\buv\bv] [-\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bE] [-\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn]  [-\b-G\b _\bg_\bl_\bo_\bb_\b-
        _\bp_\ba_\bt] [-\b-W\bW _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt] [-\b-F\bF _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn] [-\b-C\bC _\bc_\bo_\bm_\bm_\ba_\bn_\bd]
               [-\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt] [-\b-P\bP _\bp_\br_\be_\bf_\bi_\bx] [-\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx] _\bn_\ba_\bm_\be [_\bn_\ba_\bm_\be _\b._\b._\b.]
        c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-p\bpr\br [-\b-D\bDE\bE] [_\bn_\ba_\bm_\be ...]
-              Specify  how arguments to each _\bn_\ba_\bm_\be should be completed.  If the
-              -\b-p\boption is supplied, or if no options are  supplied,  existing
-              completion  specifications are printed in a way that allows them
+              Specify how arguments to each _\bn_\ba_\bm_\be should be completed.  If  the
+              -\b-p\b option  is supplied, or if no options are supplied, existing
+              completion specifications are printed in a way that allows  them
               to be reused as input.  The -\b-r\br option removes a completion spec-
-              ification  for each _\bn_\ba_\bm_\be, or, if no _\bn_\ba_\bm_\bes are supplied, all com-
+              ification for each _\bn_\ba_\bm_\be, or, if no _\bn_\ba_\bm_\bes are supplied, all  com-
               pletion  specifications.   The  -\b-D\bD  option  indicates  that  the
-              remaining  options  and  actions should apply to the ``default''
-              command completion; that is, completion attempted on  a  command
-              for  which  no  completion  has previously been defined.  The -\b-E\bE
-              option indicates that the remaining options and  actions  should
-              apply  to  ``empty''  command  completion;  that  is, completion
+              remaining options and actions should apply  to  the  ``default''
+              command  completion;  that is, completion attempted on a command
+              for which no completion has previously  been  defined.   The  -\b-E\bE
+              option  indicates  that the remaining options and actions should
+              apply to  ``empty''  command  completion;  that  is,  completion
               attempted on a blank line.
 
-              The process of applying  these  completion  specifications  when
-              word  completion  is  attempted  is  described  above under P\bPr\bro\bo-\b-
+              The  process  of  applying  these completion specifications when
+              word completion is  attempted  is  described  above  under  P\bPr\bro\bo-\b-
               g\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn.
 
-              Other options, if specified, have the following  meanings.   The
-              arguments  to the -\b-G\bG, -\b-W\bW, and -\b-X\bX options (and, if necessary, the
-              -\b-P\band -\b-S\bS options) should be quoted to protect them from  expan-
+              Other  options,  if specified, have the following meanings.  The
+              arguments to the -\b-G\bG, -\b-W\bW, and -\b-X\bX options (and, if necessary,  the
+              -\b-P\b and -\b-S\bS options) should be quoted to protect them from expan-
               sion before the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin is invoked.
               -\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn
-                      The  _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn  controls  several aspects of the comp-
-                      spec's behavior beyond the simple generation of  comple-
+                      The _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn controls several aspects  of  the  comp-
+                      spec's  behavior beyond the simple generation of comple-
                       tions.  _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn may be one of:
                       b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt
                               Perform the rest of the default b\bba\bas\bsh\bh completions
                               if the compspec generates no matches.
-                      d\bde\bef\bfa\bau\bul\blt\bt Use readline's default  filename  completion  if
+                      d\bde\bef\bfa\bau\bul\blt\bt Use  readline's  default  filename completion if
                               the compspec generates no matches.
                       d\bdi\bir\brn\bna\bam\bme\bes\bs
-                              Perform  directory  name completion if the comp-
+                              Perform directory name completion if  the  comp-
                               spec generates no matches.
                       f\bfi\bil\ble\ben\bna\bam\bme\bes\bs
-                              Tell readline that the compspec generates  file-
-                              names,  so  it can perform any filename-specific
-                              processing (like adding  a  slash  to  directory
-                              names,  quoting special characters, or suppress-
-                              ing trailing spaces).  Intended to be used  with
+                              Tell  readline that the compspec generates file-
+                              names, so it can perform  any  filename-specific
+                              processing  (like  adding  a  slash to directory
+                              names, quoting special characters, or  suppress-
+                              ing  trailing spaces).  Intended to be used with
                               shell functions.
-                      n\bno\bos\bsp\bpa\bac\bce\be Tell   readline  not  to  append  a  space  (the
-                              default) to words completed at the  end  of  the
+                      n\bno\bos\bsp\bpa\bac\bce\be Tell  readline  not  to  append  a  space   (the
+                              default)  to  words  completed at the end of the
                               line.
                       p\bpl\blu\bus\bsd\bdi\bir\brs\bs
-                              After  any  matches  defined by the compspec are
-                              generated,   directory   name   completion    is
-                              attempted  and  any  matches  are  added  to the
+                              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.
               -\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn
-                      The _\ba_\bc_\bt_\bi_\bo_\bn may be one of the  following  to  generate  a
+                      The  _\ba_\bc_\bt_\bi_\bo_\bn  may  be  one of the following to generate a
                       list of possible completions:
                       a\bal\bli\bia\bas\bs   Alias names.  May also be specified as -\b-a\ba.
                       a\bar\brr\bra\bay\byv\bva\bar\br
                               Array variable names.
                       b\bbi\bin\bnd\bdi\bin\bng\bg R\bRe\bea\bad\bdl\bli\bin\bne\be key binding names.
-                      b\bbu\bui\bil\blt\bti\bin\bn Names  of  shell  builtin commands.  May also be
+                      b\bbu\bui\bil\blt\bti\bin\bn Names of shell builtin commands.   May  also  be
                               specified as -\b-b\bb.
                       c\bco\bom\bmm\bma\ban\bnd\bd Command names.  May also be specified as -\b-c\bc.
                       d\bdi\bir\bre\bec\bct\bto\bor\bry\by
@@ -258,7 +258,7 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       d\bdi\bis\bsa\bab\bbl\ble\bed\bd
                               Names of disabled shell builtins.
                       e\ben\bna\bab\bbl\ble\bed\bd Names of enabled shell builtins.
-                      e\bex\bxp\bpo\bor\brt\bt  Names of exported shell variables.  May also  be
+                      e\bex\bxp\bpo\bor\brt\bt  Names  of exported shell variables.  May also be
                               specified as -\b-e\be.
                       f\bfi\bil\ble\be    File names.  May also be specified as -\b-f\bf.
                       f\bfu\bun\bnc\bct\bti\bio\bon\bn
@@ -267,17 +267,17 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       h\bhe\bel\blp\bpt\bto\bop\bpi\bic\bc
                               Help topics as accepted by the h\bhe\bel\blp\bp builtin.
                       h\bho\bos\bst\btn\bna\bam\bme\be
-                              Hostnames,  as  taken from the file specified by
+                              Hostnames, as taken from the file  specified  by
                               the H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE shell variable.
-                      j\bjo\bob\bb     Job names, if job control is active.   May  also
+                      j\bjo\bob\bb     Job  names,  if job control is active.  May also
                               be specified as -\b-j\bj.
-                      k\bke\bey\byw\bwo\bor\brd\bd Shell  reserved words.  May also be specified as
+                      k\bke\bey\byw\bwo\bor\brd\bd Shell reserved words.  May also be specified  as
                               -\b-k\bk.
                       r\bru\bun\bnn\bni\bin\bng\bg Names of running jobs, if job control is active.
                       s\bse\ber\brv\bvi\bic\bce\be Service names.  May also be specified as -\b-s\bs.
-                      s\bse\bet\bto\bop\bpt\bt  Valid  arguments  for  the  -\b-o\bo option to the s\bse\bet\bt
+                      s\bse\bet\bto\bop\bpt\bt  Valid arguments for the -\b-o\bo  option  to  the  s\bse\bet\bt
                               builtin.
-                      s\bsh\bho\bop\bpt\bt   Shell option names  as  accepted  by  the  s\bsh\bho\bop\bpt\bt
+                      s\bsh\bho\bop\bpt\bt   Shell  option  names  as  accepted  by the s\bsh\bho\bop\bpt\bt
                               builtin.
                       s\bsi\big\bgn\bna\bal\bl  Signal names.
                       s\bst\bto\bop\bpp\bpe\bed\bd Names of stopped jobs, if job control is active.
@@ -286,174 +286,175 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               Names of all shell variables.  May also be spec-
                               ified as -\b-v\bv.
               -\b-C\bC _\bc_\bo_\bm_\bm_\ba_\bn_\bd
-                      _\bc_\bo_\bm_\bm_\ba_\bn_\b is  executed in a subshell environment, and its
+                      _\bc_\bo_\bm_\bm_\ba_\bn_\bis executed in a subshell environment,  and  its
                       output is used as the possible completions.
               -\b-F\bF _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn
-                      The shell function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in  the  current
-                      shell  environment.  When it finishes, the possible com-
-                      pletions are retrieved from the value of  the  C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
+                      The  shell  function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in the current
+                      shell environment.  When it finishes, the possible  com-
+                      pletions  are  retrieved from the value of the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
                       array variable.
               -\b-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt
-                      The  pathname  expansion  pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt is expanded to
+                      The pathname expansion pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt  is  expanded  to
                       generate the possible completions.
               -\b-P\bP _\bp_\br_\be_\bf_\bi_\bx
-                      _\bp_\br_\be_\bf_\bi_\bis added at the beginning of each  possible  com-
+                      _\bp_\br_\be_\bf_\bi_\b is  added at the beginning of each possible com-
                       pletion after all other options have been applied.
               -\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx
                       _\bs_\bu_\bf_\bf_\bi_\bx is appended to each possible completion after all
                       other options have been applied.
               -\b-W\bW _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
-                      The _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt is split using the characters  in  the  I\bIF\bFS\bS
-                      special  variable as delimiters, and each resultant word
-                      is expanded.  The possible completions are  the  members
-                      of  the  resultant  list which match the word being com-
+                      The  _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt  is  split using the characters in the I\bIF\bFS\bS
+                      special variable as delimiters, and each resultant  word
+                      is  expanded.   The possible completions are the members
+                      of the resultant list which match the  word  being  com-
                       pleted.
               -\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt
-                      _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bis a pattern as used for  pathname  expansion.
+                      _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\b is  a pattern as used for pathname expansion.
                       It is applied to the list of possible completions gener-
-                      ated by the preceding options and  arguments,  and  each
-                      completion  matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the list.
-                      A leading !\b! in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the  pattern;  in  this
-                      case,  any completion not matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed.
-
-              The return value is true unless an invalid option  is  supplied,
-              an  option  other than -\b-p\bp or -\b-r\br is supplied without a _\bn_\ba_\bm_\be argu-
-              ment, an attempt is made to remove  a  completion  specification
+                      ated  by  the  preceding options and arguments, and each
+                      completion matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the  list.
+                      A  leading  !\b!  in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the pattern; in this
+                      case, any completion not matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is  removed.
+
+              The  return  value is true unless an invalid option is supplied,
+              an option other than -\b-p\bp or -\b-r\br is supplied without a  _\bn_\ba_\bm_\b argu-
+              ment,  an  attempt  is made to remove a completion specification
               for a _\bn_\ba_\bm_\be for which no specification exists, or an error occurs
               adding a completion specification.
 
        c\bco\bom\bmp\bpo\bop\bpt\bt [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bE] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be]
               Modify  completion  options  for  each  _\bn_\ba_\bm_\be  according  to  the
-              _\bo_\bp_\bt_\bi_\bo_\bns,  or  for the currently-executing completion if no _\bn_\ba_\bm_\bes
-              are supplied.  If no _\bo_\bp_\bt_\bi_\bo_\bns are given, display  the  completion
-              options  for  each _\bn_\ba_\bm_\be or the current completion.  The possible
-              values of _\bo_\bp_\bt_\bi_\bo_\bn  are  those  valid  for  the  c\bco\bom\bmp\bpl\ble\bet\bte\b builtin
-              described  above.   The  -\b-D\bD  option indicates that the remaining
+              _\bo_\bp_\bt_\bi_\bo_\bns, or for the currently-executing completion if  no  _\bn_\ba_\bm_\bes
+              are  supplied.   If no _\bo_\bp_\bt_\bi_\bo_\bns are given, display the completion
+              options for each _\bn_\ba_\bm_\be or the current completion.   The  possible
+              values  of  _\bo_\bp_\bt_\bi_\bo_\bn  are  those  valid  for  the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin
+              described above.  The -\b-D\bD option  indicates  that  the  remaining
               options should apply to the ``default'' command completion; that
-              is,  completion  attempted  on a command for which no completion
-              has previously been defined.  The -\b-E\bE option indicates  that  the
-              remaining  options should apply to ``empty'' command completion;
+              is, completion attempted on a command for  which  no  completion
+              has  previously  been defined.  The -\b-E\bE option indicates that the
+              remaining options should apply to ``empty'' command  completion;
               that is, completion attempted on a blank line.
 
-              The return value is true unless an invalid option  is  supplied,
+              The  return  value is true unless an invalid option is supplied,
               an attempt is made to modify the options for a _\bn_\ba_\bm_\be for which no
               completion specification exists, or an output error occurs.
 
        c\bco\bon\bnt\bti\bin\bnu\bue\be [_\bn]
               Resume the next iteration of the enclosing f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or
-              s\bse\bel\ble\bec\bct\b loop.   If  _\bn  is specified, resume at the _\bnth enclosing
-              loop.  _\bn must be >= 1.  If _\bn  is  greater  than  the  number  of
-              enclosing  loops,  the  last  enclosing  loop (the ``top-level''
+              s\bse\bel\ble\bec\bct\bloop.  If _\bn is specified, resume  at  the  _\bnth  enclosing
+              loop.   _\bn  must  be  >=  1.   If _\bn is greater than the number of
+              enclosing loops, the  last  enclosing  loop  (the  ``top-level''
               loop) is resumed.  The return value is 0 unless _\bn is not greater
               than or equal to 1.
 
        d\bde\bec\bcl\bla\bar\bre\be [-\b-a\baA\bAf\bfF\bFg\bgi\bil\blr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
        t\bty\byp\bpe\bes\bse\bet\bt [-\b-a\baA\bAf\bfF\bFg\bgi\bil\blr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
-              Declare  variables and/or give them attributes.  If no _\bn_\ba_\bm_\bes are
-              given then display the values of variables.  The -\b-p\bp option  will
+              Declare variables and/or give them attributes.  If no _\bn_\ba_\bm_\bes  are
+              given  then display the values of variables.  The -\b-p\bp option will
               display the attributes and values of each _\bn_\ba_\bm_\be.  When -\b-p\bp is used
               with _\bn_\ba_\bm_\be arguments, additional options are ignored.  When -\b-p\bp is
-              supplied  without _\bn_\ba_\bm_\be arguments, it will display the attributes
-              and values of all variables having the attributes  specified  by
-              the  additional  options.  If no other options are supplied with
-              -\b-p\bp, d\bde\bec\bcl\bla\bar\bre\be will display the attributes and values of all  shell
-              variables.   The  -\b-f\bf  option  will restrict the display to shell
+              supplied without _\bn_\ba_\bm_\be arguments, it will display the  attributes
+              and  values  of all variables having the attributes specified by
+              the additional options.  If no other options are  supplied  with
+              -\b-p\bp,  d\bde\bec\bcl\bla\bar\bre\be will display the attributes and values of all shell
+              variables.  The -\b-f\bf option will restrict  the  display  to  shell
               functions.  The -\b-F\bF option inhibits the display of function defi-
-              nitions;  only the function name and attributes are printed.  If
-              the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is enabled  using  s\bsh\bho\bop\bpt\bt,  the  source
+              nitions; only the function name and attributes are printed.   If
+              the  e\bex\bxt\btd\bde\beb\bbu\bug\bg  shell  option  is enabled using s\bsh\bho\bop\bpt\bt, the source
               file name and line number where the function is defined are dis-
               played as well.  The -\b-F\bF option implies -\b-f\bf.  The -\b-g\bg option forces
-              variables  to  be  created or modified at the global scope, even
-              when d\bde\bec\bcl\bla\bar\bre\be is executed in a shell function.  It is ignored  in
-              all  other cases.  The following options can be used to restrict
-              output to variables with the  specified  attribute  or  to  give
+              variables to be created or modified at the  global  scope,  even
+              when  d\bde\bec\bcl\bla\bar\bre\be is executed in a shell function.  It is ignored in
+              all other cases.  The following options can be used to  restrict
+              output  to  variables  with  the  specified attribute or to give
               variables attributes:
-              -\b-a\ba     Each  _\bn_\ba_\bm_\be  is  an  indexed  array  variable  (see A\bAr\brr\bra\bay\bys\bs
+              -\b-a\ba     Each _\bn_\ba_\bm_\be  is  an  indexed  array  variable  (see  A\bAr\brr\bra\bay\bys\bs
                      above).
-              -\b-A\bA     Each _\bn_\ba_\bm_\be is an associative array  variable  (see  A\bAr\brr\bra\bay\bys\bs
+              -\b-A\bA     Each  _\bn_\ba_\bm_\be  is  an associative array variable (see A\bAr\brr\bra\bay\bys\bs
                      above).
               -\b-f\bf     Use function names only.
               -\b-i\bi     The variable is treated as an integer; arithmetic evalua-
-                     tion (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above) is performed  when
+                     tion  (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above) is performed when
                      the variable is assigned a value.
-              -\b-l\bl     When  the  variable  is  assigned a value, all upper-case
-                     characters are converted to lower-case.   The  upper-case
+              -\b-l\bl     When the variable is assigned  a  value,  all  upper-case
+                     characters  are  converted to lower-case.  The upper-case
                      attribute is disabled.
               -\b-r\br     Make _\bn_\ba_\bm_\bes readonly.  These names cannot then be assigned
                      values by subsequent assignment statements or unset.
-              -\b-t\bt     Give each _\bn_\ba_\bm_\be the  _\bt_\br_\ba_\bc_\be  attribute.   Traced  functions
-                     inherit  the  D\bDE\bEB\bBU\bUG\bG  and  R\bRE\bET\bTU\bUR\bRN\bN  traps  from the calling
-                     shell.  The trace attribute has no  special  meaning  for
+              -\b-t\bt     Give  each  _\bn_\ba_\bm_\be  the  _\bt_\br_\ba_\bc_\be attribute.  Traced functions
+                     inherit the D\bDE\bEB\bBU\bUG\bG  and  R\bRE\bET\bTU\bUR\bRN\bN  traps  from  the  calling
+                     shell.   The  trace  attribute has no special meaning for
                      variables.
-              -\b-u\bu     When  the  variable  is  assigned a value, all lower-case
-                     characters are converted to upper-case.   The  lower-case
+              -\b-u\bu     When the variable is assigned  a  value,  all  lower-case
+                     characters  are  converted to upper-case.  The lower-case
                      attribute is disabled.
-              -\b-x\bx     Mark  _\bn_\ba_\bm_\bes  for  export  to  subsequent commands via the
+              -\b-x\bx     Mark _\bn_\ba_\bm_\bes for export  to  subsequent  commands  via  the
                      environment.
 
-              Using `+' instead of `-' turns off the attribute  instead,  with
+              Using  `+'  instead of `-' turns off the attribute instead, with
               the exceptions that +\b+a\ba may not be used to destroy an array vari-
-              able and +\b+r\br will not remove the readonly attribute.   When  used
-              in a function, makes each _\bn_\ba_\bm_\be local, as with the l\blo\boc\bca\bal\bl command,
-              unless the -\b-g\bg option is supplied, If a variable name is followed
-              by  =_\bv_\ba_\bl_\bu_\be,  the  value  of  the  variable is set to _\bv_\ba_\bl_\bu_\be.  The
-              return value is 0 unless an invalid option  is  encountered,  an
-              attempt  is  made  to define a function using ``-f foo=bar'', an
-              attempt is made to assign a value to  a  readonly  variable,  an
-              attempt  is  made to assign a value to an array variable without
-              using the compound assignment syntax (see A\bAr\brr\bra\bay\bys\bs above), one  of
-              the _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, an attempt is made
-              to turn off readonly status for a readonly variable, an  attempt
-              is  made  to  turn off array status for an array variable, or an
-              attempt is made to display a non-existent function with -\b-f\bf.
-
-       d\bdi\bir\brs\bs [\b[+\b+_\bn]\b] [\b[-\b-_\bn]\b] [\b[-\b-c\bcl\blp\bpv\bv]\b]
+              able  and  +\b+r\br will not remove the readonly attribute.  When used
+              in a function, d\bde\bec\bcl\bla\bar\bre\be and t\bty\byp\bpe\bes\bse\bet\bt make each _\bn_\ba_\bm_\be local, as with
+              the l\blo\boc\bca\bal\bl command, unless the -\b-g\bg option is supplied.  If a vari-
+              able name is followed by =_\bv_\ba_\bl_\bu_\be, the value of  the  variable  is
+              set to _\bv_\ba_\bl_\bu_\be.  The return value is 0 unless an invalid option is
+              encountered, an attempt is made to define a function using  ``-f
+              foo=bar'',  an  attempt  is made to assign a value to a readonly
+              variable, an attempt is made to assign a value to an array vari-
+              able  without  using  the compound assignment syntax (see A\bAr\brr\bra\bay\bys\bs
+              above), one of the _\bn_\ba_\bm_\be_\bs is not a valid shell variable name,  an
+              attempt is made to turn off readonly status for a readonly vari-
+              able, an attempt is made to turn off array status for  an  array
+              variable,  or an attempt is made to display a non-existent func-
+              tion with -\b-f\bf.
+
+       d\bdi\bir\brs\bs [\b[-\b-c\bcl\blp\bpv\bv]\b] [\b[+\b+_\bn]\b] [\b[-\b-_\bn]\b]
               Without options,  displays  the  list  of  currently  remembered
               directories.   The  default  display  is  on  a single line with
               directory names separated by spaces.  Directories are  added  to
               the  list  with  the  p\bpu\bus\bsh\bhd\bd  command;  the  p\bpo\bop\bpd\bd command removes
               entries from the list.
+              -\b-c\bc     Clears  the  directory  stack  by  deleting  all  of  the
+                     entries.
+              -\b-l\bl     Produces  a  listing  using  full  pathnames; the default
+                     listing format uses a tilde to denote the home directory.
+              -\b-p\bp     Print the directory stack with one entry per line.
+              -\b-v\bv     Print  the  directory stack with one entry per line, pre-
+                     fixing each entry with its index in the stack.
               +\b+_\bn     Displays the _\bnth entry counting from the left of the list
                      shown by d\bdi\bir\brs\bs when invoked without options, starting with
                      zero.
               -\b-_\bn     Displays the _\bnth entry counting from  the  right  of  the
                      list shown by d\bdi\bir\brs\bs when invoked without options, starting
                      with zero.
-              -\b-c\bc     Clears  the  directory  stack  by  deleting  all  of  the
-                     entries.
-              -\b-l\bl     Produces  a  longer  listing;  the default listing format
-                     uses a tilde to denote the home directory.
-              -\b-p\bp     Print the directory stack with one entry per line.
-              -\b-v\bv     Print the directory stack with one entry per  line,  pre-
-                     fixing each entry with its index in the stack.
 
-              The  return value is 0 unless an invalid option is supplied or _\bn
+              The return value is 0 unless an invalid option is supplied or  _\bn
               indexes beyond the end of the directory stack.
 
        d\bdi\bis\bso\bow\bwn\bn [-\b-a\bar\br] [-\b-h\bh] [_\bj_\bo_\bb_\bs_\bp_\be_\bc ...]
-              Without options, each _\bj_\bo_\bb_\bs_\bp_\be_\bc  is  removed  from  the  table  of
-              active  jobs.   If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, and neither -\b-a\ba nor -\b-r\br
-              is supplied, the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.   If
-              the -\b-h\bh option is given, each _\bj_\bo_\bb_\bs_\bp_\be_\bc is not removed from the ta-
-              ble, but is marked so that S\bSI\bIG\bGH\bHU\bUP\bP is not sent to the job if  the
-              shell  receives a S\bSI\bIG\bGH\bHU\bUP\bP.  If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is present, and neither
-              the -\b-a\ba nor the -\b-r\br option is supplied, the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb  is  used.
-              If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied, the -\b-a\ba option means to remove or mark
-              all jobs; the -\b-r\br option without  a  _\bj_\bo_\bb_\bs_\bp_\be_\bc  argument  restricts
-              operation  to running jobs.  The return value is 0 unless a _\bj_\bo_\bb_\b-
-              _\bs_\bp_\be_\bdoes not specify a valid job.
+              Without  options,  remove  each _\bj_\bo_\bb_\bs_\bp_\be_\bc from the table of active
+              jobs.  If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, and neither -\b-a\ba nor -\b-r\br is  sup-
+              plied, the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  If the -\b-h\bh
+              option is given, each _\bj_\bo_\bb_\bs_\bp_\be_\bc is not removed from the table, but
+              is  marked  so  that  S\bSI\bIG\bGH\bHU\bUP\bP is not sent to the job if the shell
+              receives a S\bSI\bIG\bGH\bHU\bUP\bP.  If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is present, and neither the -\b-a\ba
+              nor  the  -\b-r\br option is supplied, the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.  If no
+              _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied, the -\b-a\ba option means to remove or  mark  all
+              jobs;  the -\b-r\br option without a _\bj_\bo_\bb_\bs_\bp_\be_\bc argument restricts opera-
+              tion to running jobs.  The return value is 0  unless  a  _\bj_\bo_\bb_\bs_\bp_\be_\bc
+              does not specify a valid job.
 
        e\bec\bch\bho\bo [-\b-n\bne\beE\bE] [_\ba_\br_\bg ...]
-              Output the _\ba_\br_\bgs, separated by spaces,  followed  by  a  newline.
-              The  return  status  is 0 unless a write error occurs.  If -\b-n\bn is
+              Output  the  _\ba_\br_\bgs,  separated  by spaces, followed by a newline.
+              The return status is 0 unless a write error occurs.   If  -\b-n\b is
               specified, the trailing newline is suppressed.  If the -\b-e\be option
-              is  given,  interpretation  of  the  following backslash-escaped
-              characters is enabled.  The -\b-E\bE option disables  the  interpreta-
-              tion  of these escape characters, even on systems where they are
-              interpreted by default.  The x\bxp\bpg\bg_\b_e\bec\bch\bho\bo shell option may  be  used
-              to  dynamically  determine  whether  or  not  e\bec\bch\bho\bo expands these
-              escape characters by default.  e\bec\bch\bho\bo does  not  interpret  -\b--\b to
-              mean  the  end of options.  e\bec\bch\bho\bo interprets the following escape
+              is given,  interpretation  of  the  following  backslash-escaped
+              characters  is  enabled.  The -\b-E\bE option disables the interpreta-
+              tion of these escape characters, even on systems where they  are
+              interpreted  by  default.  The x\bxp\bpg\bg_\b_e\bec\bch\bho\bo shell option may be used
+              to dynamically determine  whether  or  not  e\bec\bch\bho\bo  expands  these
+              escape  characters  by  default.   e\bec\bch\bho\bo does not interpret -\b--\b- to
+              mean the end of options.  e\bec\bch\bho\bo interprets the  following  escape
               sequences:
               \\b\a\ba     alert (bell)
               \\b\b\bb     backspace
@@ -466,89 +467,88 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               \\b\t\bt     horizontal tab
               \\b\v\bv     vertical tab
               \\b\\\b\     backslash
-              \\b\0\b0_\bn_\bn_\bn  the eight-bit character whose value is  the  octal  value
+              \\b\0\b0_\bn_\bn_\bn  the  eight-bit  character  whose value is the octal value
                      _\bn_\bn_\bn (zero to three octal digits)
-              \\b\x\bx_\bH_\bH   the  eight-bit  character  whose value is the hexadecimal
+              \\b\x\bx_\bH_\bH   the eight-bit character whose value  is  the  hexadecimal
                      value _\bH_\bH (one or two hex digits)
-              \\b\u\bu_\bH_\bH_\bH_\bH the Unicode (ISO/IEC 10646) character whose value is  the
+              \\b\u\bu_\bH_\bH_\bH_\bH the  Unicode (ISO/IEC 10646) character whose value is the
                      hexadecimal value _\bH_\bH_\bH_\bH (one to four hex digits)
               \\b\U\bU_\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH
-                     the  Unicode (ISO/IEC 10646) character whose value is the
+                     the Unicode (ISO/IEC 10646) character whose value is  the
                      hexadecimal value _\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH (one to eight hex digits)
 
        e\ben\bna\bab\bbl\ble\be [-\b-a\ba] [-\b-d\bdn\bnp\bps\bs] [-\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [_\bn_\ba_\bm_\be ...]
-              Enable and disable builtin shell commands.  Disabling a  builtin
+              Enable  and disable builtin shell commands.  Disabling a builtin
               allows a disk command which has the same name as a shell builtin
-              to be executed without specifying a full pathname,  even  though
-              the  shell  normally searches for builtins before disk commands.
-              If -\b-n\bn is used, each  _\bn_\ba_\bm_\be  is  disabled;  otherwise,  _\bn_\ba_\bm_\be_\b are
+              to  be  executed without specifying a full pathname, even though
+              the shell normally searches for builtins before  disk  commands.
+              If  -\b-n\bn  is  used,  each  _\bn_\ba_\bm_\be  is disabled; otherwise, _\bn_\ba_\bm_\be_\bs are
               enabled.  For example, to use the t\bte\bes\bst\bt binary found via the P\bPA\bAT\bTH\bH
-              instead of the shell builtin version, run  ``enable  -n  test''.
-              The  -\b-f\bf  option  means to load the new builtin command _\bn_\ba_\bm_\be from
+              instead  of  the  shell builtin version, run ``enable -n test''.
+              The -\b-f\bf option means to load the new builtin  command  _\bn_\ba_\bm_\b from
               shared object _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be, on systems that support dynamic loading.
-              The  -\b-d\bd  option will delete a builtin previously loaded with -\b-f\bf.
+              The -\b-d\bd option will delete a builtin previously loaded  with  -\b-f\bf.
               If no _\bn_\ba_\bm_\be arguments are given, or if the -\b-p\bp option is supplied,
               a list of shell builtins is printed.  With no other option argu-
-              ments, the list consists of all enabled shell builtins.   If  -\b-n\bn
-              is  supplied, only disabled builtins are printed.  If -\b-a\ba is sup-
-              plied, the list printed includes all builtins, with  an  indica-
-              tion  of whether or not each is enabled.  If -\b-s\bs is supplied, the
-              output is restricted to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins.  The  return
-              value  is  0 unless a _\bn_\ba_\bm_\be is not a shell builtin or there is an
+              ments,  the  list consists of all enabled shell builtins.  If -\b-n\bn
+              is supplied, only disabled builtins are printed.  If -\b-a\ba is  sup-
+              plied,  the  list printed includes all builtins, with an indica-
+              tion of whether or not each is enabled.  If -\b-s\bs is supplied,  the
+              output  is restricted to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins.  The return
+              value is 0 unless a _\bn_\ba_\bm_\be is not a shell builtin or there  is  an
               error loading a new builtin from a shared object.
 
        e\bev\bva\bal\bl [_\ba_\br_\bg ...]
-              The _\ba_\br_\bgs are read and concatenated together into a  single  com-
-              mand.   This command is then read and executed by the shell, and
-              its exit status is returned as the value of e\bev\bva\bal\bl.  If there  are
+              The  _\ba_\br_\bgs  are read and concatenated together into a single com-
+              mand.  This command is then read and executed by the shell,  and
+              its  exit status is returned as the value of e\bev\bva\bal\bl.  If there are
               no _\ba_\br_\bg_\bs, or only null arguments, e\bev\bva\bal\bl returns 0.
 
        e\bex\bxe\bec\bc [-\b-c\bcl\bl] [-\b-a\ba _\bn_\ba_\bm_\be] [_\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]]
-              If  _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell.  No new process
-              is created.  The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.   If
+              If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell.  No new  process
+              is  created.  The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  If
               the -\b-l\bl option is supplied, the shell places a dash at the begin-
-              ning of the zeroth argument passed to  _\bc_\bo_\bm_\bm_\ba_\bn_\bd.   This  is  what
+              ning  of  the  zeroth  argument passed to _\bc_\bo_\bm_\bm_\ba_\bn_\bd.  This is what
               _\bl_\bo_\bg_\bi_\bn(1) does.  The -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed with
-              an empty environment.  If -\b-a\ba is supplied, the shell passes  _\bn_\ba_\bm_\be
+              an  empty environment.  If -\b-a\ba is supplied, the shell passes _\bn_\ba_\bm_\be
               as the zeroth argument to the executed command.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd can-
-              not be executed for some reason, a non-interactive shell  exits,
-              unless  the  shell  option e\bex\bxe\bec\bcf\bfa\bai\bil\bl is enabled, in which case it
-              returns failure.  An interactive shell returns  failure  if  the
+              not  be executed for some reason, a non-interactive shell exits,
+              unless the e\bex\bxe\bec\bcf\bfa\bai\bil\bl shell option is enabled.  In that  case,  it
+              returns  failure.   An  interactive shell returns failure if the
               file cannot be executed.  If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is not specified, any redi-
               rections take effect in the current shell, and the return status
-              is  0.  If there is a redirection error, the return status is 1.
+              is 0.  If there is a redirection error, the return status is  1.
 
        e\bex\bxi\bit\bt [_\bn]
-              Cause the shell to exit with a status of _\bn.  If  _\bn  is  omitted,
+              Cause  the  shell  to exit with a status of _\bn.  If _\bn is omitted,
               the exit status is that of the last command executed.  A trap on
               E\bEX\bXI\bIT\bT is executed before the shell terminates.
 
        e\bex\bxp\bpo\bor\brt\bt [-\b-f\bfn\bn] [_\bn_\ba_\bm_\be[=_\bw_\bo_\br_\bd]] ...
        e\bex\bxp\bpo\bor\brt\bt -\b-p\bp
-              The supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the  envi-
-              ronment  of subsequently executed commands.  If the -\b-f\bf option is
-              given, the _\bn_\ba_\bm_\be_\bs refer to functions.  If no _\bn_\ba_\bm_\be_\bs are given,  or
-              if  the  -\b-p\bp  option  is  supplied,  a list of all names that are
-              exported in this shell is printed.  The  -\b-n\bn  option  causes  the
-              export  property  to  be  removed from each _\bn_\ba_\bm_\be.  If a variable
-              name is followed by =_\bw_\bo_\br_\bd, the value of the variable is  set  to
-              _\bw_\bo_\br_\bd.   e\bex\bxp\bpo\bor\brt\bt  returns  an  exit  status of 0 unless an invalid
-              option is encountered, one of the _\bn_\ba_\bm_\be_\bs is  not  a  valid  shell
-              variable name, or -\b-f\bf is supplied with a _\bn_\ba_\bm_\be that is not a func-
-              tion.
+              The  supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the envi-
+              ronment of subsequently executed commands.  If the -\b-f\bf option  is
+              given,  the _\bn_\ba_\bm_\be_\bs refer to functions.  If no _\bn_\ba_\bm_\be_\bs are given, or
+              if the -\b-p\bp option is supplied, a list of names  of  all  exported
+              variables  is printed.  The -\b-n\bn option causes the export property
+              to be removed from each _\bn_\ba_\bm_\be.  If a variable name is followed by
+              =_\bw_\bo_\br_\bd, the value of the variable is set to _\bw_\bo_\br_\bd.  e\bex\bxp\bpo\bor\brt\bt returns
+              an exit status of 0 unless an invalid option is encountered, one
+              of  the  _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, or -\b-f\bf is sup-
+              plied with a _\bn_\ba_\bm_\be that is not a function.
 
        f\bfc\bc [-\b-e\be _\be_\bn_\ba_\bm_\be] [-\b-l\bln\bnr\br] [_\bf_\bi_\br_\bs_\bt] [_\bl_\ba_\bs_\bt]
        f\bfc\bc -\b-s\bs [_\bp_\ba_\bt=_\br_\be_\bp] [_\bc_\bm_\bd]
-              Fix Command.  In the first form, a range of commands from  _\bf_\bi_\br_\bs_\bt
-              to  _\bl_\ba_\bs_\bt  is selected from the history list.  _\bF_\bi_\br_\bs_\bt and _\bl_\ba_\bs_\bt may
-              be specified as a string (to locate the last  command  beginning
-              with  that  string)  or  as  a number (an index into the history
-              list, where a negative number is used as an offset from the cur-
-              rent command number).  If _\bl_\ba_\bs_\bt is not specified it is set to the
-              current command for listing (so that ``fc -l  -10''  prints  the
-              last 10 commands) and to _\bf_\bi_\br_\bs_\bt otherwise.  If _\bf_\bi_\br_\bs_\bt is not spec-
-              ified it is set to the previous command for editing and -16  for
-              listing.
+              The first form selects a range of commands from  _\bf_\bi_\br_\bs_\bt  to  _\bl_\ba_\bs_\bt
+              from  the  history  list  and  displays or edits and re-executes
+              them.  _\bF_\bi_\br_\bs_\bt and _\bl_\ba_\bs_\bt may be specified as a  string  (to  locate
+              the  last command beginning with that string) or as a number (an
+              index into the history list, where a negative number is used  as
+              an  offset  from  the  current  command number).  If _\bl_\ba_\bs_\bt is not
+              specified it is set to the current command for listing (so  that
+              ``fc  -l  -10'' prints the last 10 commands) and to _\bf_\bi_\br_\bs_\bt other-
+              wise.  If _\bf_\bi_\br_\bs_\bt is not specified it is set to the previous  com-
+              mand for editing and -16 for listing.
 
               The  -\b-n\bn option suppresses the command numbers when listing.  The
               -\b-r\br option reverses the order of the commands.  If the -\b-l\bl  option
@@ -560,10 +560,10 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               the edited commands are echoed and executed.
 
               In the second form, _\bc_\bo_\bm_\bm_\ba_\bn_\bd is re-executed after  each  instance
-              of  _\bp_\ba_\bt  is replaced by _\br_\be_\bp.  A useful alias to use with this is
-              ``r="fc -s"'', so that typing ``r cc''  runs  the  last  command
-              beginning with ``cc'' and typing ``r'' re-executes the last com-
-              mand.
+              of  _\bp_\ba_\bt  is  replaced by _\br_\be_\bp.  _\bC_\bo_\bm_\bm_\ba_\bn_\bd is intepreted the same as
+              _\bf_\bi_\br_\bs_\bt above.  A useful alias to use with this is ``r="fc  -s"'',
+              so  that  typing  ``r  cc'' runs the last command beginning with
+              ``cc'' and typing ``r'' re-executes the last command.
 
               If the first form is used, the  return  value  is  0  unless  an
               invalid  option  is encountered or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt specify history
@@ -609,7 +609,7 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
 
               g\bge\bet\bto\bop\bpt\bts\bs can report errors in two ways.  If the  first  character
               of  _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg  is  a  colon, _\bs_\bi_\bl_\be_\bn_\bt error reporting is used.  In
-              normal operation diagnostic messages are  printed  when  invalid
+              normal operation, diagnostic messages are printed  when  invalid
               options  or  missing  option  arguments are encountered.  If the
               variable O\bOP\bPT\bTE\bER\bRR\bR is set to 0, no  error  messages  will  be  dis-
               played, even if the first character of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is not a colon.
@@ -634,7 +634,7 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               is determined by searching the directories in $\b$P\bPA\bAT\bTH\bH  and  remem-
               bered.  Any previously-remembered pathname is discarded.  If the
               -\b-p\bp option is supplied, no path search is performed, and _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
-              is  used  as  the  full file name of the command.  The -\b-r\br option
+              is  used  as  the  full  filename of the command.  The -\b-r\br option
               causes the shell to forget all  remembered  locations.   The  -\b-d\bd
               option  causes  the  shell  to forget the remembered location of
               each _\bn_\ba_\bm_\be.  If the -\b-t\bt option is supplied, the full  pathname  to
@@ -684,10 +684,10 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      file  into  the  current  history  list.  These are lines
                      appended to the history file since the beginning  of  the
                      current b\bba\bas\bsh\bh session.
-              -\b-r\br     Read the contents of the history file and use them as the
-                     current history.
-              -\b-w\bw     Write the current history to the history file,  overwrit-
-                     ing the history file's contents.
+              -\b-r\br     Read  the contents of the history file and append them to
+                     the current history list.
+              -\b-w\bw     Write the current history list to the history file, over-
+                     writing the history file's contents.
               -\b-p\bp     Perform  history  substitution  on the following _\ba_\br_\bg_\bs and
                      display the result on  the  standard  output.   Does  not
                      store  the results in the history list.  Each _\ba_\br_\bg must be
@@ -716,8 +716,8 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      status  since the user was last notified of their status.
               -\b-p\bp     List only the process  ID  of  the  job's  process  group
                      leader.
-              -\b-r\br     Restrict output to running jobs.
-              -\b-s\bs     Restrict output to stopped jobs.
+              -\b-r\br     Display only running jobs.
+              -\b-s\bs     Display only stopped jobs.
 
               If  _\bj_\bo_\bb_\bs_\bp_\be_\bc  is given, output is restricted to information about
               that job.  The return status is 0 unless an  invalid  option  is
@@ -871,36 +871,37 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      from  the  right of the list shown by d\bdi\bir\brs\bs, starting with
                      zero) is at the top.
               _\bd_\bi_\br    Adds _\bd_\bi_\br to the directory stack at the top, making it the
-                     new current working directory.
+                     new  current working directory as if it had been supplied
+                     as the argument to the c\bcd\bd builtin.
 
               If the p\bpu\bus\bsh\bhd\bd command is successful, a d\bdi\bir\brs\bs is performed as well.
-              If the first form is used, p\bpu\bus\bsh\bhd\bd returns 0 unless the cd to  _\bd_\bi_\br
-              fails.   With the second form, p\bpu\bus\bsh\bhd\bd returns 0 unless the direc-
-              tory stack is empty, a non-existent directory stack  element  is
-              specified,  or the directory change to the specified new current
+              If  the first form is used, p\bpu\bus\bsh\bhd\bd returns 0 unless the cd to _\bd_\bi_\br
+              fails.  With the second form, p\bpu\bus\bsh\bhd\bd returns 0 unless the  direc-
+              tory  stack  is empty, a non-existent directory stack element is
+              specified, or the directory change to the specified new  current
               directory fails.
 
        p\bpw\bwd\bd [-\b-L\bLP\bP]
-              Print the absolute pathname of the  current  working  directory.
+              Print  the  absolute  pathname of the current working directory.
               The pathname printed contains no symbolic links if the -\b-P\bP option
               is supplied or the -\b-o\bo p\bph\bhy\bys\bsi\bic\bca\bal\bl option to the s\bse\bet\bt builtin command
-              is  enabled.  If the -\b-L\bL option is used, the pathname printed may
-              contain symbolic links.  The return status is 0 unless an  error
-              occurs  while  reading  the  name of the current directory or an
+              is enabled.  If the -\b-L\bL option is used, the pathname printed  may
+              contain  symbolic links.  The return status is 0 unless an error
+              occurs while reading the name of the  current  directory  or  an
               invalid option is supplied.
 
        r\bre\bea\bad\bd [-\b-e\ber\brs\bs] [-\b-a\ba _\ba_\bn_\ba_\bm_\be] [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-i\bi _\bt_\be_\bx_\bt] [-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs] [-\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs] [-\b-p\bp
        _\bp_\br_\bo_\bm_\bp_\bt] [-\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt] [-\b-u\bu _\bf_\bd] [_\bn_\ba_\bm_\be ...]
-              One line is read from the  standard  input,  or  from  the  file
-              descriptor  _\bf_\bd supplied as an argument to the -\b-u\bu option, and the
+              One  line  is  read  from  the  standard input, or from the file
+              descriptor _\bf_\bd supplied as an argument to the -\b-u\bu option, and  the
               first word is assigned to the first _\bn_\ba_\bm_\be, the second word to the
-              second  _\bn_\ba_\bm_\be, and so on, with leftover words and their interven-
-              ing separators assigned to the last _\bn_\ba_\bm_\be.  If  there  are  fewer
+              second _\bn_\ba_\bm_\be, and so on, with leftover words and their  interven-
+              ing  separators  assigned  to the last _\bn_\ba_\bm_\be.  If there are fewer
               words read from the input stream than names, the remaining names
-              are assigned empty values.  The characters in I\bIF\bFS\bS  are  used  to
-              split  the  line into words.  The backslash character (\\b\) may be
-              used to remove any special meaning for the next  character  read
-              and  for line continuation.  Options, if supplied, have the fol-
+              are  assigned  empty  values.  The characters in I\bIF\bFS\bS are used to
+              split the line into words.  The backslash character (\\b\)  may  be
+              used  to  remove any special meaning for the next character read
+              and for line continuation.  Options, if supplied, have the  fol-
               lowing meanings:
               -\b-a\ba _\ba_\bn_\ba_\bm_\be
                      The words are assigned to sequential indices of the array
@@ -908,48 +909,49 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      new  values  are  assigned.   Other  _\bn_\ba_\bm_\be  arguments  are
                      ignored.
               -\b-d\bd _\bd_\be_\bl_\bi_\bm
-                     The  first  character  of  _\bd_\be_\bl_\bi_\bm is used to terminate the
+                     The first character of _\bd_\be_\bl_\bi_\bm is  used  to  terminate  the
                      input line, rather than newline.
               -\b-e\be     If the standard input is coming from a terminal, r\bre\bea\bad\bdl\bli\bin\bne\be
-                     (see  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE  above) is used to obtain the line.  Read-
-                     line uses the current (or default, if  line  editing  was
+                     (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE above) is used to obtain the  line.   Read-
+                     line  uses  the  current (or default, if line editing was
                      not previously active) editing settings.
               -\b-i\bi _\bt_\be_\bx_\bt
-                     If  r\bre\bea\bad\bdl\bli\bin\bne\be  is  being  used  to  read the line, _\bt_\be_\bx_\bt is
+                     If r\bre\bea\bad\bdl\bli\bin\bne\be is being used  to  read  the  line,  _\bt_\be_\bx_\b is
                      placed into the editing buffer before editing begins.
               -\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs
-                     r\bre\bea\bad\breturns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather  than
-                     waiting  for a complete line of input, but honor a delim-
-                     iter if fewer than _\bn_\bc_\bh_\ba_\br_\bs characters are read before  the
+                     r\bre\bea\bad\b returns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather than
+                     waiting for a complete line of input, but honor a  delim-
+                     iter  if fewer than _\bn_\bc_\bh_\ba_\br_\bs characters are read before the
                      delimiter.
               -\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs
-                     r\bre\bea\bad\b returns  after  reading  exactly  _\bn_\bc_\bh_\ba_\br_\bs characters
-                     rather than waiting for a complete line of input,  unless
-                     EOF  is encountered or r\bre\bea\bad\bd times out.  Delimiter charac-
-                     ters encountered in the input are not  treated  specially
-                     and  do  not cause r\bre\bea\bad\bd to return until _\bn_\bc_\bh_\ba_\br_\bs characters
+                     r\bre\bea\bad\breturns  after  reading  exactly  _\bn_\bc_\bh_\ba_\br_\b characters
+                     rather  than waiting for a complete line of input, unless
+                     EOF is encountered or r\bre\bea\bad\bd times out.  Delimiter  charac-
+                     ters  encountered  in the input are not treated specially
+                     and do not cause r\bre\bea\bad\bd to return until  _\bn_\bc_\bh_\ba_\br_\b characters
                      are read.
               -\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt
                      Display _\bp_\br_\bo_\bm_\bp_\bt on standard error, without a trailing new-
                      line, before attempting to read any input.  The prompt is
                      displayed only if input is coming from a terminal.
               -\b-r\br     Backslash does not act as an escape character.  The back-
-                     slash  is considered to be part of the line.  In particu-
-                     lar, a backslash-newline pair may not be used as  a  line
+                     slash is considered to be part of the line.  In  particu-
+                     lar,  a  backslash-newline pair may not be used as a line
                      continuation.
               -\b-s\bs     Silent mode.  If input is coming from a terminal, charac-
                      ters are not echoed.
               -\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt
-                     Cause r\bre\bea\bad\bd to time out and return failure if  a  complete
-                     line  of input is not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.  _\bt_\bi_\bm_\be_\b-
-                     _\bo_\bu_\bt may be a decimal number  with  a  fractional  portion
-                     following  the decimal point.  This option is only effec-
-                     tive if r\bre\bea\bad\bd is reading input from a terminal,  pipe,  or
-                     other  special  file;  it has no effect when reading from
-                     regular files.  If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0, r\bre\bea\bad\bd returns success  if
-                     input  is  available  on  the  specified file descriptor,
-                     failure otherwise.  The exit status is greater  than  128
-                     if the timeout is exceeded.
+                     Cause  r\bre\bea\bad\bd  to time out and return failure if a complete
+                     line of input is not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds.   _\bt_\bi_\bm_\be_\b-
+                     _\bo_\bu_\bt  may  be  a  decimal number with a fractional portion
+                     following the decimal point.  This option is only  effec-
+                     tive  if  r\bre\bea\bad\bd is reading input from a terminal, pipe, or
+                     other special file; it has no effect  when  reading  from
+                     regular  files.   If  _\bt_\bi_\bm_\be_\bo_\bu_\bt  is 0, r\bre\bea\bad\bd returns immedi-
+                     ately, without trying to read any data.  The exit  statis
+                     is 0 if input is available on the specified file descrip-
+                     tor, non-zero otherwise.  The exit status is greater than
+                     128 if the timeout is exceeded.
               -\b-u\bu _\bf_\bd  Read input from file descriptor _\bf_\bd.
 
               If no _\bn_\ba_\bm_\be_\bs are supplied, the line read is assigned to the vari-
@@ -976,16 +978,17 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               a _\bn_\ba_\bm_\be that is not a function.
 
        r\bre\bet\btu\bur\brn\bn [_\bn]
-              Causes  a function to exit with the return value specified by _\bn.
-              If _\bn is omitted, the return status is that of the  last  command
-              executed  in the function body.  If used outside a function, but
-              during execution of a script by  the  .\b.   (s\bso\bou\bur\brc\bce\be)  command,  it
-              causes the shell to stop executing that script and return either
-              _\bn or the exit status of the last  command  executed  within  the
-              script  as  the  exit  status  of the script.  If used outside a
-              function and not during execution of a script by .\b.,  the  return
-              status is false.  Any command associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is
-              executed before execution resumes after the function or  script.
+              Causes  a function to stop executing and return the value speci-
+              fied by _\bn to its caller.  If _\bn is omitted, the return status  is
+              that  of  the  last  command  executed in the function body.  If
+              r\bre\bet\btu\bur\brn\bn is used outside a function, but  during  execution  of  a
+              script  by  the .\b.  (s\bso\bou\bur\brc\bce\be) command, it causes the shell to stop
+              executing that script and return either _\bn or the exit status  of
+              the  last  command executed within the script as the exit status
+              of the script.  The return status is non-zero if r\bre\bet\btu\bur\brn\bn is  used
+              outside  a function and not during execution of a script by .\b. or
+              s\bso\bou\bur\brc\bce\be.  Any command associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed
+              before execution resumes after the function or script.
 
        s\bse\bet\bt [-\b--\b-a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [_\ba_\br_\bg ...]
        s\bse\bet\bt [+\b+a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [_\ba_\br_\bg ...]
@@ -1006,36 +1009,37 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       ately, rather than before the next primary prompt.  This
                       is effective only when job control is enabled.
               -\b-e\be      Exit immediately if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist  of  a
-                      single  _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd),  a _\bs_\bu_\bb_\bs_\bh_\be_\bl_\bl command enclosed in
-                      parentheses, or one of the commands executed as part  of
-                      a  command  list  enclosed  by braces (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
-                      above) exits with a non-zero status.  The shell does not
-                      exit  if  the  command that fails is part of the command
-                      list immediately following a  w\bwh\bhi\bil\ble\be  or  u\bun\bnt\bti\bil\bl  keyword,
-                      part  of  the  test  following  the  i\bif\bf or e\bel\bli\bif\bf reserved
-                      words, part of any command executed in a &\b&&\b& or  |\b||\b|  list
-                      except  the  command  following  the final &\b&&\b& or |\b||\b|, any
-                      command in a pipeline but the last, or if the  command's
-                      return  value  is being inverted with !\b!.  A trap on E\bER\bRR\bR,
+                      single  _\bs_\bi_\bm_\bp_\bl_\be  _\bc_\bo_\bm_\bm_\ba_\bn_\bd),  a _\bl_\bi_\bs_\bt, or a _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd _\bc_\bo_\bm_\bm_\ba_\bn_\bd
+                      (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above),  exits with a  non-zero  sta-
+                      tus.   The shell does not exit if the command that fails
+                      is part of the  command  list  immediately  following  a
+                      w\bwh\bhi\bil\ble\be  or  u\bun\bnt\bti\bil\bl keyword, part of the test following the
+                      i\bif\bf or e\bel\bli\bif\bf reserved words, part of any command  executed
+                      in  a  &\b&&\b&  or  |\b||\b|  list except the command following the
+                      final &\b&&\b& or |\b||\b|, any command in a pipeline but the  last,
+                      or  if the command's return value is being inverted with
+                      !\b!.  If a compound command other than a subshell  returns
+                      a  non-zero status because a command failed while -\b-e\be was
+                      being ignored, the shell does not exit.  A trap on  E\bER\bRR\bR,
                       if set, is executed before the shell exits.  This option
                       applies to the shell environment and each subshell envi-
-                      ronment separately (see  C\bCO\bOM\bMM\bMA\bAN\bND\bD  E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\b E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
+                      ronment  separately  (see  C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
                       above), and may cause subshells to exit before executing
                       all the commands in the subshell.
               -\b-f\bf      Disable pathname expansion.
-              -\b-h\bh      Remember the location of commands as they are looked  up
+              -\b-h\bh      Remember  the location of commands as they are looked up
                       for execution.  This is enabled by default.
-              -\b-k\bk      All  arguments  in the form of assignment statements are
-                      placed in the environment for a command, not just  those
+              -\b-k\bk      All arguments in the form of assignment  statements  are
+                      placed  in the environment for a command, not just those
                       that precede the command name.
-              -\b-m\bm      Monitor  mode.   Job control is enabled.  This option is
-                      on by default for interactive  shells  on  systems  that
-                      support  it  (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above).  All processes run
+              -\b-m\bm      Monitor mode.  Job control is enabled.  This  option  is
+                      on  by  default  for  interactive shells on systems that
+                      support it (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above).  All  processes  run
                       in a separate process group.  When a background job com-
                       pletes, the shell prints a line containing its exit sta-
                       tus.
               -\b-n\bn      Read commands but do not execute them.  This may be used
-                      to  check  a  shell  script  for syntax errors.  This is
+                      to check a shell script  for  syntax  errors.   This  is
                       ignored by interactive shells.
               -\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be
                       The _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be can be one of the following:
@@ -1043,10 +1047,10 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               Same as -\b-a\ba.
                       b\bbr\bra\bac\bce\bee\bex\bxp\bpa\ban\bnd\bd
                               Same as -\b-B\bB.
-                      e\bem\bma\bac\bcs\bs   Use an emacs-style command line  editing  inter-
+                      e\bem\bma\bac\bcs\bs   Use  an  emacs-style command line editing inter-
                               face.  This is enabled by default when the shell
                               is interactive, unless the shell is started with
-                              the  -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg  option.  This also affects the
+                              the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option.  This also  affects  the
                               editing interface used for r\bre\bea\bad\bd -\b-e\be.
                       e\ber\brr\bre\bex\bxi\bit\bt Same as -\b-e\be.
                       e\ber\brr\brt\btr\bra\bac\bce\be
@@ -1060,8 +1064,8 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                               H\bHI\bIS\bST\bTO\bOR\bRY\bY.  This option is on by default in inter-
                               active shells.
                       i\big\bgn\bno\bor\bre\bee\beo\bof\bf
-                              The  effect  is  as   if   the   shell   command
-                              ``IGNOREEOF=10''  had  been  executed (see S\bSh\bhe\bel\bll\bl
+                              The   effect   is   as   if  the  shell  command
+                              ``IGNOREEOF=10'' had been  executed  (see  S\bSh\bhe\bel\bll\bl
                               V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs above).
                       k\bke\bey\byw\bwo\bor\brd\bd Same as -\b-k\bk.
                       m\bmo\bon\bni\bit\bto\bor\br Same as -\b-m\bm.
@@ -1076,316 +1080,330 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       p\bph\bhy\bys\bsi\bic\bca\bal\bl
                               Same as -\b-P\bP.
                       p\bpi\bip\bpe\bef\bfa\bai\bil\bl
-                              If set, the return value of a  pipeline  is  the
-                              value  of  the  last (rightmost) command to exit
-                              with a non-zero status, or zero if all  commands
-                              in  the pipeline exit successfully.  This option
+                              If  set,  the  return value of a pipeline is the
+                              value of the last (rightmost)  command  to  exit
+                              with  a non-zero status, or zero if all commands
+                              in the pipeline exit successfully.  This  option
                               is disabled by default.
-                      p\bpo\bos\bsi\bix\bx   Change the behavior of b\bba\bas\bsh\bh  where  the  default
-                              operation  differs  from  the  POSIX standard to
+                      p\bpo\bos\bsi\bix\bx   Change  the  behavior  of b\bba\bas\bsh\bh where the default
+                              operation differs from  the  POSIX  standard  to
                               match the standard (_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be).
                       p\bpr\bri\biv\bvi\bil\ble\beg\bge\bed\bd
                               Same as -\b-p\bp.
                       v\bve\ber\brb\bbo\bos\bse\be Same as -\b-v\bv.
-                      v\bvi\bi      Use a vi-style command line  editing  interface.
+                      v\bvi\bi      Use  a  vi-style command line editing interface.
                               This also affects the editing interface used for
                               r\bre\bea\bad\bd -\b-e\be.
                       x\bxt\btr\bra\bac\bce\be  Same as -\b-x\bx.
                       If -\b-o\bo is supplied with no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, the values of the
-                      current  options are printed.  If +\b+o\bo is supplied with no
-                      _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, a series of s\bse\bet\bt commands  to  recreate  the
-                      current  option  settings  is  displayed on the standard
+                      current options are printed.  If +\b+o\bo is supplied with  no
+                      _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be,  a  series  of s\bse\bet\bt commands to recreate the
+                      current option settings is  displayed  on  the  standard
                       output.
-              -\b-p\bp      Turn on _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd mode.  In this  mode,  the  $\b$E\bEN\bNV\b and
-                      $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\b files  are not processed, shell functions are
-                      not inherited from the environment, and  the  S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS,
-                      B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS,  C\bCD\bDP\bPA\bAT\bTH\bH,  and  G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE  variables,  if they
+              -\b-p\bp      Turn  on  _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd  mode.   In this mode, the $\b$E\bEN\bNV\bV and
+                      $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bfiles are not processed, shell  functions  are
+                      not  inherited  from the environment, and the S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS,
+                      B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS, C\bCD\bDP\bPA\bAT\bTH\bH,  and  G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE  variables,  if  they
                       appear in the environment, are ignored.  If the shell is
-                      started  with the effective user (group) id not equal to
-                      the real user (group) id, and the -\b-p\bp option is not  sup-
+                      started with the effective user (group) id not equal  to
+                      the  real user (group) id, and the -\b-p\bp option is not sup-
                       plied, these actions are taken and the effective user id
-                      is set to the real user id.  If the -\b-p\bp  option  is  sup-
-                      plied  at  startup,  the effective user id is not reset.
-                      Turning this option off causes the  effective  user  and
+                      is  set  to  the real user id.  If the -\b-p\bp option is sup-
+                      plied at startup, the effective user id  is  not  reset.
+                      Turning  this  option  off causes the effective user and
                       group ids to be set to the real user and group ids.
               -\b-t\bt      Exit after reading and executing one command.
               -\b-u\bu      Treat unset variables and parameters other than the spe-
-                      cial parameters "@" and "*" as an error when  performing
-                      parameter  expansion.   If  expansion is attempted on an
-                      unset variable or parameter, the shell prints  an  error
-                      message,  and, if not interactive, exits with a non-zero
+                      cial  parameters "@" and "*" as an error when performing
+                      parameter expansion.  If expansion is  attempted  on  an
+                      unset  variable  or parameter, the shell prints an error
+                      message, and, if not interactive, exits with a  non-zero
                       status.
               -\b-v\bv      Print shell input lines as they are read.
-              -\b-x\bx      After expanding each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br  command,  c\bca\bas\bse\be
+              -\b-x\bx      After  expanding  each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br command, c\bca\bas\bse\be
                       command, s\bse\bel\ble\bec\bct\bt command, or arithmetic f\bfo\bor\br command, dis-
-                      play the expanded value of P\bPS\bS4\b4, followed by the  command
+                      play  the expanded value of P\bPS\bS4\b4, followed by the command
                       and its expanded arguments or associated word list.
-              -\b-B\bB      The  shell performs brace expansion (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
+              -\b-B\bB      The shell performs brace expansion (see B\bBr\bra\bac\bce\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
                       above).  This is on by default.
-              -\b-C\bC      If set, b\bba\bas\bsh\bh does not overwrite an  existing  file  with
-                      the  >\b>,  >\b>&\b&,  and <\b<>\b> redirection operators.  This may be
+              -\b-C\bC      If  set,  b\bba\bas\bsh\bh  does not overwrite an existing file with
+                      the >\b>, >\b>&\b&, and <\b<>\b> redirection operators.   This  may  be
                       overridden when creating output files by using the redi-
                       rection operator >\b>|\b| instead of >\b>.
               -\b-E\bE      If set, any trap on E\bER\bRR\bR is inherited by shell functions,
-                      command substitutions, and commands executed in  a  sub-
-                      shell  environment.  The E\bER\bRR\bR trap is normally not inher-
+                      command  substitutions,  and commands executed in a sub-
+                      shell environment.  The E\bER\bRR\bR trap is normally not  inher-
                       ited in such cases.
               -\b-H\bH      Enable !\b!  style history substitution.  This option is on
                       by default when the shell is interactive.
-              -\b-P\bP      If  set,  the  shell does not follow symbolic links when
-                      executing commands such as c\bcd\bd that  change  the  current
+              -\b-P\bP      If set, the shell does not follow  symbolic  links  when
+                      executing  commands  such  as c\bcd\bd that change the current
                       working  directory.   It  uses  the  physical  directory
                       structure instead.  By default, b\bba\bas\bsh\bh follows the logical
-                      chain  of  directories  when  performing  commands which
+                      chain of  directories  when  performing  commands  which
                       change the current directory.
-              -\b-T\bT      If set, any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are  inherited  by
-                      shell  functions,  command  substitutions,  and commands
-                      executed in  a  subshell  environment.   The  D\bDE\bEB\bBU\bUG\b and
+              -\b-T\bT      If  set,  any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are inherited by
+                      shell functions,  command  substitutions,  and  commands
+                      executed  in  a  subshell  environment.   The  D\bDE\bEB\bBU\bUG\bG and
                       R\bRE\bET\bTU\bUR\bRN\bN traps are normally not inherited in such cases.
-              -\b--\b-      If  no arguments follow this option, then the positional
+              -\b--\b-      If no arguments follow this option, then the  positional
                       parameters are unset.  Otherwise, the positional parame-
-                      ters  are  set  to  the _\ba_\br_\bgs, even if some of them begin
+                      ters are set to the _\ba_\br_\bgs, even if  some  of  them  begin
                       with a -\b-.
-              -\b-       Signal the end of options, cause all remaining  _\ba_\br_\bgs  to
+              -\b-       Signal  the  end of options, cause all remaining _\ba_\br_\bgs to
                       be assigned to the positional parameters.  The -\b-x\bx and -\b-v\bv
                       options are turned off.  If there are no _\ba_\br_\bgs, the posi-
                       tional parameters remain unchanged.
 
-              The  options are off by default unless otherwise noted.  Using +
-              rather than - causes  these  options  to  be  turned  off.   The
-              options  can  also be specified as arguments to an invocation of
-              the shell.  The current set of options may be found in $\b$-\b-.   The
+              The options are off by default unless otherwise noted.  Using  +
+              rather  than  -  causes  these  options  to  be turned off.  The
+              options can also be specified as arguments to an  invocation  of
+              the  shell.  The current set of options may be found in $\b$-\b-.  The
               return status is always true unless an invalid option is encoun-
               tered.
 
        s\bsh\bhi\bif\bft\bt [_\bn]
-              The positional parameters from _\bn+1 ... are renamed  to  $\b$1\b .\b..\b..\b..\b.
-              Parameters  represented  by  the  numbers  $\b$#\b# down to $\b$#\b#-_\bn+1 are
-              unset.  _\bn must be a non-negative number less than  or  equal  to
-              $\b$#\b#.   If  _\bn is 0, no parameters are changed.  If _\bn is not given,
-              it is assumed to be 1.  If _\bn is greater than $\b$#\b#, the  positional
-              parameters  are  not changed.  The return status is greater than
+              The  positional  parameters  from _\bn+1 ... are renamed to $\b$1\b1 .\b..\b..\b..\b.
+              Parameters represented by the numbers  $\b$#\b#  down  to  $\b$#\b#-_\bn+1  are
+              unset.   _\bn  must  be a non-negative number less than or equal to
+              $\b$#\b#.  If _\bn is 0, no parameters are changed.  If _\bn is  not  given,
+              it  is assumed to be 1.  If _\bn is greater than $\b$#\b#, the positional
+              parameters are not changed.  The return status is  greater  than
               zero if _\bn is greater than $\b$#\b# or less than zero; otherwise 0.
 
        s\bsh\bho\bop\bpt\bt [-\b-p\bpq\bqs\bsu\bu] [-\b-o\bo] [_\bo_\bp_\bt_\bn_\ba_\bm_\be ...]
               Toggle the values of variables controlling optional shell behav-
               ior.  With no options, or with the -\b-p\bp option, a list of all set-
               table options is displayed, with an indication of whether or not
-              each  is  set.  The -\b-p\bp option causes output to be displayed in a
-              form that may be reused as input.  Other options have  the  fol-
+              each is set.  The -\b-p\bp option causes output to be displayed  in  a
+              form  that  may be reused as input.  Other options have the fol-
               lowing meanings:
               -\b-s\bs     Enable (set) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
               -\b-u\bu     Disable (unset) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
-              -\b-q\bq     Suppresses  normal output (quiet mode); the return status
+              -\b-q\bq     Suppresses normal output (quiet mode); the return  status
                      indicates whether the _\bo_\bp_\bt_\bn_\ba_\bm_\be is set or unset.  If multi-
-                     ple  _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are given with -\b-q\bq, the return sta-
-                     tus is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero  other-
+                     ple _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are given with -\b-q\bq, the return  sta-
+                     tus  is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero other-
                      wise.
-              -\b-o\bo     Restricts  the  values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those defined for
+              -\b-o\bo     Restricts the values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those  defined  for
                      the -\b-o\bo option to the s\bse\bet\bt builtin.
 
-              If either -\b-s\bs or -\b-u\bu is used with no _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments,  the  dis-
-              play is limited to those options which are set or unset, respec-
-              tively.  Unless otherwise noted, the s\bsh\bho\bop\bpt\bt options are  disabled
-              (unset) by default.
+              If  either  -\b-s\bs  or  -\b-u\bu  is used with no _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments, s\bsh\bho\bop\bpt\bt
+              shows only those options which are set or  unset,  respectively.
+              Unless  otherwise  noted, the s\bsh\bho\bop\bpt\bt options are disabled (unset)
+              by default.
 
-              The  return  status when listing options is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs
-              are enabled, non-zero  otherwise.   When  setting  or  unsetting
-              options,  the  return  status is zero unless an _\bo_\bp_\bt_\bn_\ba_\bm_\be is not a
+              The return status when listing options is zero if  all  _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs
+              are  enabled,  non-zero  otherwise.   When  setting or unsetting
+              options, the return status is zero unless an _\bo_\bp_\bt_\bn_\ba_\bm_\be  is  not  a
               valid shell option.
 
               The list of s\bsh\bho\bop\bpt\bt options is:
 
-              a\bau\but\bto\boc\bcd\bd  If set, a command name that is the name of  a  directory
-                      is  executed  as  if it were the argument to the c\bcd\bd com-
+              a\bau\but\bto\boc\bcd\bd  If  set,  a command name that is the name of a directory
+                      is executed as if it were the argument to  the  c\bcd\b com-
                       mand.  This option is only used by interactive shells.
               c\bcd\bda\bab\bbl\ble\be_\b_v\bva\bar\brs\bs
-                      If set, an argument to the c\bcd\bd builtin  command  that  is
-                      not  a directory is assumed to be the name of a variable
+                      If  set,  an  argument to the c\bcd\bd builtin command that is
+                      not a directory is assumed to be the name of a  variable
                       whose value is the directory to change to.
               c\bcd\bds\bsp\bpe\bel\bll\bl If set, minor errors in the spelling of a directory com-
-                      ponent  in  a  c\bcd\bd command will be corrected.  The errors
+                      ponent in a c\bcd\bd command will be  corrected.   The  errors
                       checked for are transposed characters, a missing charac-
-                      ter,  and  one  character  too many.  If a correction is
-                      found, the corrected file name is printed, and the  com-
-                      mand  proceeds.  This option is only used by interactive
+                      ter, and one character too many.   If  a  correction  is
+                      found,  the  corrected filename is printed, and the com-
+                      mand proceeds.  This option is only used by  interactive
                       shells.
               c\bch\bhe\bec\bck\bkh\bha\bas\bsh\bh
                       If set, b\bba\bas\bsh\bh checks that a command found in the hash ta-
-                      ble  exists  before  trying  to execute it.  If a hashed
-                      command no longer exists, a normal path search  is  per-
+                      ble exists before trying to execute  it.   If  a  hashed
+                      command  no  longer exists, a normal path search is per-
                       formed.
               c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs
                       If set, b\bba\bas\bsh\bh lists the status of any stopped and running
-                      jobs before exiting an interactive shell.  If  any  jobs
+                      jobs  before  exiting an interactive shell.  If any jobs
                       are running, this causes the exit to be deferred until a
-                      second exit is attempted without an intervening  command
-                      (see  J\bJO\bOB\bB  C\bCO\bON\bNT\bTR\bRO\bOL\bL  above).   The shell always postpones
+                      second  exit is attempted without an intervening command
+                      (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above).   The  shell  always  postpones
                       exiting if any jobs are stopped.
               c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be
-                      If set, b\bba\bas\bsh\bh checks the window size after  each  command
-                      and,  if necessary, updates the values of L\bLI\bIN\bNE\bES\bS and C\bCO\bOL\bL-\b-
+                      If  set,  b\bba\bas\bsh\bh checks the window size after each command
+                      and, if necessary, updates the values of L\bLI\bIN\bNE\bES\bS and  C\bCO\bOL\bL-\b-
                       U\bUM\bMN\bNS\bS.
-              c\bcm\bmd\bdh\bhi\bis\bst\bt If set, b\bba\bas\bsh\bh attempts to save all lines of  a  multiple-
-                      line  command  in  the  same history entry.  This allows
+              c\bcm\bmd\bdh\bhi\bis\bst\bt If  set,  b\bba\bas\bsh\bh attempts to save all lines of a multiple-
+                      line command in the same  history  entry.   This  allows
                       easy re-editing of multi-line commands.
               c\bco\bom\bmp\bpa\bat\bt3\b31\b1
                       If set, b\bba\bas\bsh\bh changes its behavior to that of version 3.1
-                      with  respect  to quoted arguments to the [\b[[\b[ conditional
+                      with respect to quoted arguments to the  [\b[[\b conditional
                       command's =\b=~\b~ operator.
               c\bco\bom\bmp\bpa\bat\bt3\b32\b2
                       If set, b\bba\bas\bsh\bh changes its behavior to that of version 3.2
-                      with  respect  to locale-specific string comparison when
-                      using the [\b[[\b[ conditional command's <\b<  and  >\b operators.
-                      Bash  versions prior to bash-4.1 use ASCII collation and
-                      _\bs_\bt_\br_\bc_\bm_\bp(3); bash-4.1 and later use the  current  locale's
+                      with respect to locale-specific string  comparison  when
+                      using  the  [\b[[\b[  conditional command's <\b< and >\b> operators.
+                      Bash versions prior to bash-4.1 use ASCII collation  and
+                      _\bs_\bt_\br_\bc_\bm_\bp(3);  bash-4.1  and later use the current locale's
                       collation sequence and _\bs_\bt_\br_\bc_\bo_\bl_\bl(3).
               c\bco\bom\bmp\bpa\bat\bt4\b40\b0
                       If set, b\bba\bas\bsh\bh changes its behavior to that of version 4.0
-                      with respect to locale-specific string  comparison  when
-                      using  the  [\b[[\b[  conditional  command's <\b< and >\b> operators
-                      (see previous item) and the  effect  of  interrupting  a
+                      with  respect  to locale-specific string comparison when
+                      using the [\b[[\b[ conditional command's  <\b<  and  >\b operators
+                      (see  previous  item)  and  the effect of interrupting a
                       command list.
               c\bco\bom\bmp\bpa\bat\bt4\b41\b1
-                      If  set, b\bba\bas\bsh\bh, when in posix mode, treats a single quote
-                      in a double-quoted  parameter  expansion  as  a  special
-                      character.   The  single quotes must match (an even num-
-                      ber) and the characters between the  single  quotes  are
-                      considered  quoted.   This is the behavior of posix mode
-                      through version 4.1.  The default bash behavior  remains
+                      If set, b\bba\bas\bsh\bh, when in posix mode, treats a single  quote
+                      in  a  double-quoted  parameter  expansion  as a special
+                      character.  The single quotes must match (an  even  num-
+                      ber)  and  the  characters between the single quotes are
+                      considered quoted.  This is the behavior of  posix  mode
+                      through  version 4.1.  The default bash behavior remains
                       as in previous versions.
+              c\bco\bom\bmp\bpl\ble\bet\bte\be_\b_f\bfu\bul\bll\blq\bqu\buo\bot\bte\be
+                      If set, b\bba\bas\bsh\bh quotes all shell  metacharacters  in  file-
+                      names  and  directory  names when performing completion.
+                      If not set, b\bba\bas\bsh\bh removes metacharacters such as the dol-
+                      lar  sign from the set of characters that will be quoted
+                      in completed filenames when these metacharacters  appear
+                      in  shell  variable references in words to be completed.
+                      This means that dollar  signs  in  variable  names  that
+                      expand  to  directories will not be quoted; however, any
+                      dollar signs appearing in filenames will not be  quoted,
+                      either.   This  is  active only when bash is using back-
+                      slashes to quote completed filenames.  This variable  is
+                      set  by  default,  which is the default bash behavior in
+                      versions through 4.2.
               d\bdi\bir\bre\bex\bxp\bpa\ban\bnd\bd
-                      If  set,  b\bba\bas\bsh\bh replaces directory names with the results
-                      of word expansion when performing  filename  completion.
+                      If set, b\bba\bas\bsh\bh replaces directory names with  the  results
+                      of  word  expansion when performing filename completion.
                       This  changes  the  contents  of  the  readline  editing
-                      buffer.  If not set, b\bba\bas\bsh\bh attempts to preserve what  the
+                      buffer.   If not set, b\bba\bas\bsh\bh attempts to preserve what the
                       user typed.
               d\bdi\bir\brs\bsp\bpe\bel\bll\bl
-                      If  set,  b\bba\bas\bsh\bh attempts spelling correction on directory
-                      names during word completion if the directory name  ini-
+                      If set, b\bba\bas\bsh\bh attempts spelling correction  on  directory
+                      names  during word completion if the directory name ini-
                       tially supplied does not exist.
-              d\bdo\bot\btg\bgl\blo\bob\bb If  set, b\bba\bas\bsh\bh includes filenames beginning with a `.' in
+              d\bdo\bot\btg\bgl\blo\bob\bb If set, b\bba\bas\bsh\bh includes filenames beginning with a `.'  in
                       the results of pathname expansion.
               e\bex\bxe\bec\bcf\bfa\bai\bil\bl
                       If set, a non-interactive shell will not exit if it can-
-                      not  execute  the  file  specified as an argument to the
-                      e\bex\bxe\bec\bbuiltin command.  An  interactive  shell  does  not
+                      not execute the file specified as  an  argument  to  the
+                      e\bex\bxe\bec\b builtin  command.   An  interactive shell does not
                       exit if e\bex\bxe\bec\bc fails.
               e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bs
-                      If  set,  aliases  are expanded as described above under
+                      If set, aliases are expanded as  described  above  under
                       A\bAL\bLI\bIA\bAS\bSE\bES\bS.  This option is enabled by default for interac-
                       tive shells.
               e\bex\bxt\btd\bde\beb\bbu\bug\bg
-                      If  set,  behavior  intended  for  use  by  debuggers is
+                      If set,  behavior  intended  for  use  by  debuggers  is
                       enabled:
                       1\b1.\b.     The -\b-F\bF option to the d\bde\bec\bcl\bla\bar\bre\be builtin displays the
                              source file name and line number corresponding to
                              each function name supplied as an argument.
-                      2\b2.\b.     If the command run by the D\bDE\bEB\bBU\bUG\bG  trap  returns  a
-                             non-zero  value,  the next command is skipped and
+                      2\b2.\b.     If  the  command  run by the D\bDE\bEB\bBU\bUG\bG trap returns a
+                             non-zero value, the next command is  skipped  and
                              not executed.
-                      3\b3.\b.     If the command run by the D\bDE\bEB\bBU\bUG\bG  trap  returns  a
-                             value  of 2, and the shell is executing in a sub-
-                             routine (a shell function or a shell script  exe-
-                             cuted  by  the  .\b.  or s\bso\bou\bur\brc\bce\be builtins), a call to
+                      3\b3.\b.     If  the  command  run by the D\bDE\bEB\bBU\bUG\bG trap returns a
+                             value of 2, and the shell is executing in a  sub-
+                             routine  (a shell function or a shell script exe-
+                             cuted by the .\b. or s\bso\bou\bur\brc\bce\be  builtins),  a  call  to
                              r\bre\bet\btu\bur\brn\bn is simulated.
-                      4\b4.\b.     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\band B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as  described
+                      4\b4.\b.     B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\b and B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as described
                              in their descriptions above.
-                      5\b5.\b.     Function  tracing  is enabled:  command substitu-
+                      5\b5.\b.     Function tracing is enabled:   command  substitu-
                              tion, shell functions, and subshells invoked with
                              (\b( _\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps.
-                      6\b6.\b.     Error  tracing is enabled:  command substitution,
-                             shell functions, and  subshells  invoked  with  (\b(
+                      6\b6.\b.     Error tracing is enabled:  command  substitution,
+                             shell  functions,  and  subshells  invoked with (\b(
                              _\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the E\bER\bRR\bR trap.
               e\bex\bxt\btg\bgl\blo\bob\bb If set, the extended pattern matching features described
                       above under P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn are enabled.
               e\bex\bxt\btq\bqu\buo\bot\bte\be
-                      If set, $\b$'_\bs_\bt_\br_\bi_\bn_\bg' and  $\b$"_\bs_\bt_\br_\bi_\bn_\bg"  quoting  is  performed
-                      within   $\b${\b{_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}\b}   expansions  enclosed  in  double
+                      If  set,  $\b$'_\bs_\bt_\br_\bi_\bn_\bg'  and  $\b$"_\bs_\bt_\br_\bi_\bn_\bg" quoting is performed
+                      within  $\b${\b{_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}\b}  expansions  enclosed   in   double
                       quotes.  This option is enabled by default.
               f\bfa\bai\bil\blg\bgl\blo\bob\bb
-                      If set, patterns which fail to  match  filenames  during
+                      If  set,  patterns  which fail to match filenames during
                       pathname expansion result in an expansion error.
               f\bfo\bor\brc\bce\be_\b_f\bfi\big\bgn\bno\bor\bre\be
-                      If  set,  the  suffixes  specified  by the F\bFI\bIG\bGN\bNO\bOR\bRE\bE shell
-                      variable cause words to be ignored when performing  word
+                      If set, the suffixes  specified  by  the  F\bFI\bIG\bGN\bNO\bOR\bRE\b shell
+                      variable  cause words to be ignored when performing word
                       completion even if the ignored words are the only possi-
                       ble  completions.   See  S\bSH\bHE\bEL\bLL\bL  V\bVA\bAR\bRI\bIA\bAB\bBL\bLE\bES\bS  above  for  a
-                      description  of  F\bFI\bIG\bGN\bNO\bOR\bRE\bE.   This  option  is  enabled by
+                      description of  F\bFI\bIG\bGN\bNO\bOR\bRE\bE.   This  option  is  enabled  by
                       default.
               g\bgl\blo\bob\bba\bas\bsc\bci\bii\bir\bra\ban\bng\bge\bes\bs
-                      If set, range expressions used in pattern matching  (see
-                      P\bPa\bat\btt\bte\ber\brn\b M\bMa\bat\btc\bch\bhi\bin\bng\bg above) behave as if in the traditional
+                      If  set, range expressions used in pattern matching (see
+                      P\bPa\bat\btt\bte\ber\brn\bM\bMa\bat\btc\bch\bhi\bin\bng\bg above) behave as if in the  traditional
                       C locale when performing comparisons.  That is, the cur-
-                      rent  locale's  collating  sequence  is  not  taken into
-                      account, so b\bb will not collate  between  A\bA  and  B\bB,  and
-                      upper-case  and lower-case ASCII characters will collate
+                      rent locale's  collating  sequence  is  not  taken  into
+                      account,  so  b\bb  will  not  collate between A\bA and B\bB, and
+                      upper-case and lower-case ASCII characters will  collate
                       together.
               g\bgl\blo\bob\bbs\bst\bta\bar\br
                       If set, the pattern *\b**\b* used in a pathname expansion con-
-                      text  will  match all files and zero or more directories
-                      and subdirectories.  If the pattern is followed by a  /\b/,
+                      text will match all files and zero or  more  directories
+                      and  subdirectories.  If the pattern is followed by a /\b/,
                       only directories and subdirectories match.
               g\bgn\bnu\bu_\b_e\ber\brr\brf\bfm\bmt\bt
                       If set, shell error messages are written in the standard
                       GNU error message format.
               h\bhi\bis\bst\bta\bap\bpp\bpe\ben\bnd\bd
-                      If set, the history list is appended to the  file  named
-                      by  the  value  of  the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE variable when the shell
+                      If  set,  the history list is appended to the file named
+                      by the value of the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE  variable  when  the  shell
                       exits, rather than overwriting the file.
               h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt
-                      If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, a user is given  the
+                      If  set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, a user is given the
                       opportunity to re-edit a failed history substitution.
               h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by
-                      If  set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of his-
-                      tory substitution are  not  immediately  passed  to  the
-                      shell  parser.   Instead,  the  resulting line is loaded
+                      If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of  his-
+                      tory  substitution  are  not  immediately  passed to the
+                      shell parser.  Instead, the  resulting  line  is  loaded
                       into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer, allowing further modi-
                       fication.
               h\bho\bos\bst\btc\bco\bom\bmp\bpl\ble\bet\bte\be
                       If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh will attempt to
-                      perform hostname completion when a word containing  a  @\b@
-                      is   being  completed  (see  C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg  under  R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
+                      perform  hostname  completion when a word containing a @\b@
+                      is  being  completed  (see  C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg  under   R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
                       above).  This is enabled by default.
               h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt
                       If set, b\bba\bas\bsh\bh will send S\bSI\bIG\bGH\bHU\bUP\bP to all jobs when an inter-
                       active login shell exits.
               i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs
                       If set, allow a word beginning with #\b# to cause that word
-                      and all remaining characters on that line to be  ignored
-                      in  an  interactive  shell  (see  C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS above).  This
+                      and  all remaining characters on that line to be ignored
+                      in an interactive  shell  (see  C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS  above).   This
                       option is enabled by default.
               l\bla\bas\bst\btp\bpi\bip\bpe\be
-                      If set, and job control is not active,  the  shell  runs
+                      If  set,  and  job control is not active, the shell runs
                       the last command of a pipeline not executed in the back-
                       ground in the current shell environment.
-              l\bli\bit\bth\bhi\bis\bst\bt If set, and the c\bcm\bmd\bdh\bhi\bis\bst\bt option  is  enabled,  multi-line
+              l\bli\bit\bth\bhi\bis\bst\bt If  set,  and  the c\bcm\bmd\bdh\bhi\bis\bst\bt option is enabled, multi-line
                       commands are saved to the history with embedded newlines
                       rather than using semicolon separators where possible.
               l\blo\bog\bgi\bin\bn_\b_s\bsh\bhe\bel\bll\bl
-                      The shell sets this option if it is started as  a  login
-                      shell  (see  I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN  above).   The  value may not be
+                      The  shell  sets this option if it is started as a login
+                      shell (see I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN above).   The  value  may  not  be
                       changed.
               m\bma\bai\bil\blw\bwa\bar\brn\bn
-                      If set, and a file that b\bba\bas\bsh\bh is checking  for  mail  has
-                      been  accessed  since  the last time it was checked, the
-                      message ``The mail in _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be has been read''  is  dis-
+                      If  set,  and  a file that b\bba\bas\bsh\bh is checking for mail has
+                      been accessed since the last time it  was  checked,  the
+                      message  ``The  mail in _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be has been read'' is dis-
                       played.
               n\bno\bo_\b_e\bem\bmp\bpt\bty\by_\b_c\bcm\bmd\bd_\b_c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
-                      If  set,  and  r\bre\bea\bad\bdl\bli\bin\bne\be  is  being  used,  b\bba\bas\bsh\bh will not
+                      If set, and  r\bre\bea\bad\bdl\bli\bin\bne\be  is  being  used,  b\bba\bas\bsh\bh  will  not
                       attempt to search the P\bPA\bAT\bTH\bH for possible completions when
                       completion is attempted on an empty line.
               n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb
-                      If  set,  b\bba\bas\bsh\bh  matches  filenames in a case-insensitive
+                      If set, b\bba\bas\bsh\bh matches  filenames  in  a  case-insensitive
                       fashion when performing pathname expansion (see P\bPa\bat\bth\bhn\bna\bam\bme\be
                       E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above).
               n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh
-                      If  set,  b\bba\bas\bsh\bh  matches  patterns  in a case-insensitive
+                      If set, b\bba\bas\bsh\bh  matches  patterns  in  a  case-insensitive
                       fashion when performing matching while executing c\bca\bas\bse\be or
                       [\b[[\b[ conditional commands.
               n\bnu\bul\bll\blg\bgl\blo\bob\bb
-                      If  set,  b\bba\bas\bsh\bh allows patterns which match no files (see
-                      P\bPa\bat\bth\bhn\bna\bam\bme\bE\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above) to expand to  a  null  string,
+                      If set, b\bba\bas\bsh\bh allows patterns which match no  files  (see
+                      P\bPa\bat\bth\bhn\bna\bam\bme\b E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn  above)  to expand to a null string,
                       rather than themselves.
               p\bpr\bro\bog\bgc\bco\bom\bmp\bp
                       If set, the programmable completion facilities (see P\bPr\bro\bo-\b-
@@ -1393,50 +1411,50 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                       enabled by default.
               p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs
                       If set, prompt strings undergo parameter expansion, com-
-                      mand  substitution,  arithmetic  expansion,  and   quote
-                      removal  after  being expanded as described in P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
+                      mand   substitution,  arithmetic  expansion,  and  quote
+                      removal after being expanded as described  in  P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
                       above.  This option is enabled by default.
               r\bre\bes\bst\btr\bri\bic\bct\bte\bed\bd_\b_s\bsh\bhe\bel\bll\bl
-                      The  shell  sets  this  option  if  it  is  started   in
+                      The   shell  sets  this  option  if  it  is  started  in
                       restricted mode (see R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL below).  The value
-                      may not be changed.  This is not reset when the  startup
-                      files  are  executed, allowing the startup files to dis-
+                      may  not be changed.  This is not reset when the startup
+                      files are executed, allowing the startup files  to  dis-
                       cover whether or not a shell is restricted.
               s\bsh\bhi\bif\bft\bt_\b_v\bve\ber\brb\bbo\bos\bse\be
-                      If set, the s\bsh\bhi\bif\bft\bt builtin prints an error  message  when
+                      If  set,  the s\bsh\bhi\bif\bft\bt builtin prints an error message when
                       the shift count exceeds the number of positional parame-
                       ters.
               s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh
                       If set, the s\bso\bou\bur\brc\bce\be (.\b.) builtin uses the value of P\bPA\bAT\bTH\bH to
-                      find  the  directory  containing the file supplied as an
+                      find the directory containing the file  supplied  as  an
                       argument.  This option is enabled by default.
               x\bxp\bpg\bg_\b_e\bec\bch\bho\bo
-                      If  set,  the  e\bec\bch\bho\bo  builtin  expands   backslash-escape
+                      If   set,  the  e\bec\bch\bho\bo  builtin  expands  backslash-escape
                       sequences by default.
 
        s\bsu\bus\bsp\bpe\ben\bnd\bd [-\b-f\bf]
-              Suspend  the execution of this shell until it receives a S\bSI\bIG\bGC\bCO\bON\bNT\bT
+              Suspend the execution of this shell until it receives a  S\bSI\bIG\bGC\bCO\bON\bNT\bT
               signal.  A login shell cannot be suspended; the -\b-f\bf option can be
               used to override this and force the suspension.  The return sta-
-              tus is 0 unless the shell is a login shell and -\b-f\bf  is  not  sup-
+              tus  is  0  unless the shell is a login shell and -\b-f\bf is not sup-
               plied, or if job control is not enabled.
 
        t\bte\bes\bst\bt _\be_\bx_\bp_\br
        [\b[ _\be_\bx_\bp_\br ]\b]
-              Return  a  status  of  0 or 1 depending on the evaluation of the
-              conditional expression _\be_\bx_\bp_\br.  Each operator and operand must  be
-              a  separate argument.  Expressions are composed of the primaries
-              described above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.   t\bte\bes\bst\bt  does  not
-              accept any options, nor does it accept and ignore an argument of
-              -\b--\b- as signifying the end of options.
-
-              Expressions may  be  combined  using  the  following  operators,
+              Return a status of 0 (true) or 1 (false) depending on the evalu-
+              ation of the conditional expression _\be_\bx_\bp_\br.  Each operator and op-
+              erand must be a separate argument.  Expressions are composed  of
+              the  primaries  described  above  under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS.
+              t\bte\bes\bst\bt does not accept any options, nor does it accept and  ignore
+              an argument of -\b--\b- as signifying the end of options.
+
+              Expressions  may  be  combined  using  the  following operators,
               listed  in  decreasing  order  of  precedence.   The  evaluation
-              depends on the number of arguments; see below.  Operator  prece-
+              depends  on the number of arguments; see below.  Operator prece-
               dence is used when there are five or more arguments.
               !\b! _\be_\bx_\bp_\br True if _\be_\bx_\bp_\br is false.
               (\b( _\be_\bx_\bp_\br )\b)
-                     Returns  the value of _\be_\bx_\bp_\br.  This may be used to override
+                     Returns the value of _\be_\bx_\bp_\br.  This may be used to  override
                      the normal precedence of operators.
               _\be_\bx_\bp_\br_\b1 -a\ba _\be_\bx_\bp_\br_\b2
                      True if both _\be_\bx_\bp_\br_\b1 and _\be_\bx_\bp_\br_\b2 are true.
@@ -1453,63 +1471,63 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
                      null.
               2 arguments
                      If the first argument is !\b!, the expression is true if and
-                     only  if the second argument is null.  If the first argu-
-                     ment is one of the  unary  conditional  operators  listed
-                     above  under  C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL  E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS, the expression is
+                     only if the second argument is null.  If the first  argu-
+                     ment  is  one  of  the unary conditional operators listed
+                     above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS,  the  expression  is
                      true if the unary test is true.  If the first argument is
                      not a valid unary conditional operator, the expression is
                      false.
               3 arguments
                      The following conditions are applied in the order listed.
-                     If  the  second argument is one of the binary conditional
+                     If the second argument is one of the  binary  conditional
                      operators listed above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS, the
                      result of the expression is the result of the binary test
-                     using the first and third arguments as operands.  The  -\b-a\ba
-                     and  -\b-o\bo  operators  are  considered binary operators when
-                     there are three arguments.  If the first argument  is  !\b!,
-                     the  value is the negation of the two-argument test using
+                     using  the first and third arguments as operands.  The -\b-a\ba
+                     and -\b-o\bo operators are  considered  binary  operators  when
+                     there  are  three arguments.  If the first argument is !\b!,
+                     the value is the negation of the two-argument test  using
                      the second and third arguments.  If the first argument is
                      exactly (\b( and the third argument is exactly )\b), the result
-                     is the one-argument test of the second argument.   Other-
+                     is  the one-argument test of the second argument.  Other-
                      wise, the expression is false.
               4 arguments
                      If the first argument is !\b!, the result is the negation of
-                     the three-argument expression composed of  the  remaining
+                     the  three-argument  expression composed of the remaining
                      arguments.  Otherwise, the expression is parsed and eval-
-                     uated according to  precedence  using  the  rules  listed
+                     uated  according  to  precedence  using  the rules listed
                      above.
               5 or more arguments
-                     The  expression  is  parsed  and  evaluated  according to
+                     The expression  is  parsed  and  evaluated  according  to
                      precedence using the rules listed above.
 
-              When used with t\bte\bes\bst\bt or [\b[, the <\b< and  >\b>  operators  sort  lexico-
+              When  used  with  t\bte\bes\bst\bt  or [\b[, the <\b< and >\b> operators sort lexico-
               graphically using ASCII ordering.
 
-       t\bti\bim\bme\bes\bs  Print  the  accumulated  user and system times for the shell and
+       t\bti\bim\bme\bes\bs  Print the accumulated user and system times for  the  shell  and
               for processes run from the shell.  The return status is 0.
 
        t\btr\bra\bap\bp [-\b-l\blp\bp] [[_\ba_\br_\bg] _\bs_\bi_\bg_\bs_\bp_\be_\bc ...]
-              The command _\ba_\br_\bg is to  be  read  and  executed  when  the  shell
-              receives  signal(s)  _\bs_\bi_\bg_\bs_\bp_\be_\bc.   If _\ba_\br_\bg is absent (and there is a
-              single _\bs_\bi_\bg_\bs_\bp_\be_\bc) or -\b-, each specified  signal  is  reset  to  its
-              original  disposition  (the  value  it  had upon entrance to the
-              shell).  If _\ba_\br_\bg is the null string the signal specified by  each
-              _\bs_\bi_\bg_\bs_\bp_\be_\b is ignored by the shell and by the commands it invokes.
-              If _\ba_\br_\bg is not present and -\b-p\bp has been supplied,  then  the  trap
-              commands  associated  with  each  _\bs_\bi_\bg_\bs_\bp_\be_\bc  are displayed.  If no
-              arguments are supplied or if only -\b-p\bp is given, t\btr\bra\bap\bp  prints  the
-              list  of  commands  associated  with each signal.  The -\b-l\bl option
-              causes the shell to print a list of signal names and their  cor-
-              responding  numbers.   Each  _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  either  a  signal name
-              defined in <_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh>, or a signal  number.   Signal  names  are
+              The  command  _\ba_\br_\bg  is  to  be  read  and executed when the shell
+              receives signal(s) _\bs_\bi_\bg_\bs_\bp_\be_\bc.  If _\ba_\br_\bg is absent (and  there  is  a
+              single  _\bs_\bi_\bg_\bs_\bp_\be_\bc)  or  -\b-,  each  specified signal is reset to its
+              original disposition (the value it  had  upon  entrance  to  the
+              shell).   If _\ba_\br_\bg is the null string the signal specified by each
+              _\bs_\bi_\bg_\bs_\bp_\be_\bis ignored by the shell and by the commands it  invokes.
+              If  _\ba_\br_\bg  is  not present and -\b-p\bp has been supplied, then the trap
+              commands associated with each  _\bs_\bi_\bg_\bs_\bp_\be_\bc  are  displayed.   If  no
+              arguments  are  supplied or if only -\b-p\bp is given, t\btr\bra\bap\bp prints the
+              list of commands associated with each  signal.   The  -\b-l\b option
+              causes  the shell to print a list of signal names and their cor-
+              responding numbers.   Each  _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  either  a  signal  name
+              defined  in  <_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh>,  or  a signal number.  Signal names are
               case insensitive and the S\bSI\bIG\bG prefix is optional.
 
-              If  a  _\bs_\bi_\bg_\bs_\bp_\be_\bc  is  E\bEX\bXI\bIT\bT (0) the command _\ba_\br_\bg is executed on exit
-              from the shell.  If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\br_\bg is  exe-
-              cuted  before  every  _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br command, _\bc_\ba_\bs_\be command,
-              _\bs_\be_\bl_\be_\bc_\bcommand, every arithmetic _\bf_\bo_\br  command,  and  before  the
-              first  command  executes  in a shell function (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
-              above).  Refer to the description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to  the
+              If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0) the command _\ba_\br_\bg  is  executed  on  exit
+              from  the shell.  If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\br_\bg is exe-
+              cuted before every _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br  command,  _\bc_\ba_\bs_\b command,
+              _\bs_\be_\bl_\be_\bc_\b command,  every  arithmetic  _\bf_\bo_\br command, and before the
+              first command executes in a shell function  (see  S\bSH\bHE\bEL\bLL\b G\bGR\bRA\bAM\bMM\bMA\bAR\bR
+              above).   Refer to the description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to the
               s\bsh\bho\bop\bpt\bt builtin for details of its effect on the D\bDE\bEB\bBU\bUG\bG trap.  If a
               _\bs_\bi_\bg_\bs_\bp_\be_\bc is R\bRE\bET\bTU\bUR\bRN\bN, the command _\ba_\br_\bg is executed each time a shell
               function or a script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins fin-
@@ -1517,53 +1535,53 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
 
               If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR, the command _\ba_\br_\bg is executed whenever a sim-
               ple command has a non-zero exit status, subject to the following
-              conditions.  The E\bER\bRR\bR trap is not executed if the failed  command
-              is  part  of  the  command list immediately following a w\bwh\bhi\bil\ble\be or
-              u\bun\bnt\bti\bil\bkeyword, part of the test in an _\bi_\bf statement,  part  of  a
-              command  executed in a &\b&&\b& or |\b||\b| list, or if the command's return
-              value is being inverted via !\b!.  These are  the  same  conditions
+              conditions.   The E\bER\bRR\bR trap is not executed if the failed command
+              is part of the command list immediately  following  a  w\bwh\bhi\bil\ble\b or
+              u\bun\bnt\bti\bil\b keyword,  part  of the test in an _\bi_\bf statement, part of a
+              command executed in a &\b&&\b& or |\b||\b| list, or if the command's  return
+              value  is  being  inverted via !\b!.  These are the same conditions
               obeyed by the e\ber\brr\bre\bex\bxi\bit\bt option.
 
-              Signals  ignored  upon  entry  to the shell cannot be trapped or
-              reset.  Trapped signals that are not being ignored are reset  to
+              Signals ignored upon entry to the shell  cannot  be  trapped  or
+              reset.   Trapped signals that are not being ignored are reset to
               their original values in a subshell or subshell environment when
-              one is created.  The return status is false if  any  _\bs_\bi_\bg_\bs_\bp_\be_\b is
+              one  is  created.   The return status is false if any _\bs_\bi_\bg_\bs_\bp_\be_\bc is
               invalid; otherwise t\btr\bra\bap\bp returns true.
 
        t\bty\byp\bpe\be [-\b-a\baf\bft\btp\bpP\bP] _\bn_\ba_\bm_\be [_\bn_\ba_\bm_\be ...]
-              With  no options, indicate how each _\bn_\ba_\bm_\be would be interpreted if
+              With no options, indicate how each _\bn_\ba_\bm_\be would be interpreted  if
               used as a command name.  If the -\b-t\bt option is used, t\bty\byp\bpe\be prints a
-              string  which  is  one  of _\ba_\bl_\bi_\ba_\bs, _\bk_\be_\by_\bw_\bo_\br_\bd, _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn, _\bb_\bu_\bi_\bl_\bt_\bi_\bn, or
-              _\bf_\bi_\bl_\bif  _\bn_\ba_\bm_\be  is  an  alias,  shell  reserved  word,  function,
-              builtin,  or disk file, respectively.  If the _\bn_\ba_\bm_\be is not found,
-              then nothing  is  printed,  and  an  exit  status  of  false  is
-              returned.   If  the  -\b-p\bp  option is used, t\bty\byp\bpe\be either returns the
+              string which is one of _\ba_\bl_\bi_\ba_\bs,  _\bk_\be_\by_\bw_\bo_\br_\bd,  _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn,  _\bb_\bu_\bi_\bl_\bt_\bi_\bn,  or
+              _\bf_\bi_\bl_\b if  _\bn_\ba_\bm_\be  is  an  alias,  shell  reserved  word, function,
+              builtin, or disk file, respectively.  If the _\bn_\ba_\bm_\be is not  found,
+              then  nothing  is  printed,  and  an  exit  status  of  false is
+              returned.  If the -\b-p\bp option is used,  t\bty\byp\bpe\be  either  returns  the
               name of the disk file that would be executed if _\bn_\ba_\bm_\be were speci-
               fied as a command name, or nothing if ``type -t name'' would not
-              return _\bf_\bi_\bl_\be.  The -\b-P\bP option forces a P\bPA\bAT\bTH\bH search for each  _\bn_\ba_\bm_\be,
+              return  _\bf_\bi_\bl_\be.  The -\b-P\bP option forces a P\bPA\bAT\bTH\bH search for each _\bn_\ba_\bm_\be,
               even if ``type -t name'' would not return _\bf_\bi_\bl_\be.  If a command is
-              hashed, -\b-p\bp and -\b-P\bP print the hashed value,  not  necessarily  the
-              file that appears first in P\bPA\bAT\bTH\bH.  If the -\b-a\ba option is used, t\bty\byp\bpe\be
-              prints all of the places that contain an executable named  _\bn_\ba_\bm_\be.
-              This  includes  aliases  and  functions,  if  and only if the -\b-p\bp
-              option is not also used.  The table of hashed  commands  is  not
-              consulted  when  using -\b-a\ba.  The -\b-f\bf option suppresses shell func-
-              tion lookup, as with the c\bco\bom\bmm\bma\ban\bnd\bd builtin.  t\bty\byp\bpe\be returns true  if
-              all of the arguments are found, false if any are not found.
+              hashed, -\b-p\bp and -\b-P\bP print the hashed value, which is not necessar-
+              ily the file that appears first in P\bPA\bAT\bTH\bH.  If the  -\b-a\ba  option  is
+              used,  t\bty\byp\bpe\be  prints all of the places that contain an executable
+              named _\bn_\ba_\bm_\be.  This includes aliases and functions, if and only if
+              the -\b-p\bp option is not also used.  The table of hashed commands is
+              not consulted when using -\b-a\ba.  The  -\b-f\bf  option  suppresses  shell
+              function lookup, as with the c\bco\bom\bmm\bma\ban\bnd\bd builtin.  t\bty\byp\bpe\be returns true
+              if all of the arguments are found, false if any are not found.
 
        u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bST\bTa\bab\bbc\bcd\bde\bef\bfi\bil\blm\bmn\bnp\bpq\bqr\brs\bst\btu\buv\bvx\bx [_\bl_\bi_\bm_\bi_\bt]]
-              Provides  control  over the resources available to the shell and
-              to processes started by it, on systems that allow such  control.
+              Provides control over the resources available to the  shell  and
+              to  processes started by it, on systems that allow such control.
               The -\b-H\bH and -\b-S\bS options specify that the hard or soft limit is set
-              for the given resource.  A hard limit cannot be increased  by  a
-              non-root  user  once it is set; a soft limit may be increased up
-              to the value of the hard limit.  If neither -\b-H\bH nor -\b-S\bS is  speci-
+              for  the  given resource.  A hard limit cannot be increased by a
+              non-root user once it is set; a soft limit may be  increased  up
+              to  the value of the hard limit.  If neither -\b-H\bH nor -\b-S\bS is speci-
               fied, both the soft and hard limits are set.  The value of _\bl_\bi_\bm_\bi_\bt
               can be a number in the unit specified for the resource or one of
               the special values h\bha\bar\brd\bd, s\bso\bof\bft\bt, or u\bun\bnl\bli\bim\bmi\bit\bte\bed\bd, which stand for the
-              current hard limit,  the  current  soft  limit,  and  no  limit,
-              respectively.   If  _\bl_\bi_\bm_\bi_\bt  is  omitted, the current value of the
-              soft limit of the resource is printed, unless the -\b-H\bH  option  is
+              current  hard  limit,  the  current  soft  limit,  and no limit,
+              respectively.  If _\bl_\bi_\bm_\bi_\bt is omitted, the  current  value  of  the
+              soft  limit  of the resource is printed, unless the -\b-H\bH option is
               given.  When more than one resource is specified, the limit name
               and unit are printed before the value.  Other options are inter-
               preted as follows:
@@ -1572,11 +1590,11 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               -\b-c\bc     The maximum size of core files created
               -\b-d\bd     The maximum size of a process's data segment
               -\b-e\be     The maximum scheduling priority ("nice")
-              -\b-f\bf     The  maximum  size  of files written by the shell and its
+              -\b-f\bf     The maximum size of files written by the  shell  and  its
                      children
               -\b-i\bi     The maximum number of pending signals
               -\b-l\bl     The maximum size that may be locked into memory
-              -\b-m\bm     The maximum resident set size (many systems do not  honor
+              -\b-m\bm     The  maximum resident set size (many systems do not honor
                      this limit)
               -\b-n\bn     The maximum number of open file descriptors (most systems
                      do not allow this value to be set)
@@ -1585,61 +1603,61 @@ B\bBA\bAS\bSH\bH B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
               -\b-r\br     The maximum real-time scheduling priority
               -\b-s\bs     The maximum stack size
               -\b-t\bt     The maximum amount of cpu time in seconds
-              -\b-u\bu     The maximum number of processes  available  to  a  single
+              -\b-u\bu     The  maximum  number  of  processes available to a single
                      user
-              -\b-v\bv     The  maximum  amount  of  virtual memory available to the
+              -\b-v\bv     The maximum amount of virtual  memory  available  to  the
                      shell and, on some systems, to its children
               -\b-x\bx     The maximum number of file locks
               -\b-T\bT     The maximum number of threads
 
-              If _\bl_\bi_\bm_\bi_\bt is given, it is the new value of the specified resource
-              (the -\b-a\ba option is display only).  If no option is given, then -\b-f\bf
-              is assumed.  Values are in 1024-byte increments, except for  -\b-t\bt,
-              which  is  in seconds, -\b-p\bp, which is in units of 512-byte blocks,
-              and -\b-T\bT, -\b-b\bb, -\b-n\bn, and -\b-u\bu, which are unscaled values.   The  return
-              status is 0 unless an invalid option or argument is supplied, or
-              an error occurs while setting a new limit.
+              If  _\bl_\bi_\bm_\bi_\bt  is given, and the -\b-a\ba option is not used, _\bl_\bi_\bm_\bi_\bt is the
+              new value of the specified resource.  If  no  option  is  given,
+              then  -\b-f\bf is assumed.  Values are in 1024-byte increments, except
+              for -\b-t\bt, which is in seconds; -\b-p\bp, which is in units  of  512-byte
+              blocks;  and -\b-T\bT, -\b-b\bb, -\b-n\bn, and -\b-u\bu, which are unscaled values.  The
+              return status is 0 unless an invalid option or argument is  sup-
+              plied, or an error occurs while setting a new limit.
 
        u\bum\bma\bas\bsk\bk [-\b-p\bp] [-\b-S\bS] [_\bm_\bo_\bd_\be]
               The user file-creation mask is set to _\bm_\bo_\bd_\be.  If _\bm_\bo_\bd_\be begins with
-              a  digit,  it is interpreted as an octal number; otherwise it is
-              interpreted as a symbolic mode mask similar to that accepted  by
-              _\bc_\bh_\bm_\bo_\bd(1).   If _\bm_\bo_\bd_\be is omitted, the current value of the mask is
-              printed.  The -\b-S\bS option causes the mask to be  printed  in  sym-
-              bolic  form;  the  default output is an octal number.  If the -\b-p\bp
+              a digit, it is interpreted as an octal number; otherwise  it  is
+              interpreted  as a symbolic mode mask similar to that accepted by
+              _\bc_\bh_\bm_\bo_\bd(1).  If _\bm_\bo_\bd_\be is omitted, the current value of the mask  is
+              printed.   The  -\b-S\bS  option causes the mask to be printed in sym-
+              bolic form; the default output is an octal number.   If  the  -\b-p\bp
               option is supplied, and _\bm_\bo_\bd_\be is omitted, the output is in a form
               that may be reused as input.  The return status is 0 if the mode
-              was successfully changed or if no _\bm_\bo_\bd_\be  argument  was  supplied,
+              was  successfully  changed  or if no _\bm_\bo_\bd_\be argument was supplied,
               and false otherwise.
 
        u\bun\bna\bal\bli\bia\bas\bs [-a\ba] [_\bn_\ba_\bm_\be ...]
-              Remove  each  _\bn_\ba_\bm_\be  from  the list of defined aliases.  If -\b-a\ba is
-              supplied, all alias definitions are removed.  The  return  value
+              Remove each _\bn_\ba_\bm_\be from the list of defined  aliases.   If  -\b-a\b is
+              supplied,  all  alias definitions are removed.  The return value
               is true unless a supplied _\bn_\ba_\bm_\be is not a defined alias.
 
        u\bun\bns\bse\bet\bt [-f\bfv\bv] [_\bn_\ba_\bm_\be ...]
-              For  each  _\bn_\ba_\bm_\be,  remove the corresponding variable or function.
+              For each _\bn_\ba_\bm_\be, remove the corresponding  variable  or  function.
               If the -\b-v\bv option is given, each _\bn_\ba_\bm_\be refers to a shell variable,
-              and  that  variable  is removed.  Read-only variables may not be
-              unset.  If -\b-f\bf is specified, each _\bn_\ba_\bm_\be refers to  a  shell  func-
+              and that variable is removed.  Read-only variables  may  not  be
+              unset.   If  -\b-f\bf  is specified, each _\bn_\ba_\bm_\be refers to a shell func-
               tion, and the function definition is removed.  If no options are
-              supplied, each _\bn_\ba_\bm_\be refers to a variable; if there is  no  vari-
-              able  by  that name, any function with that name is unset.  Each
-              unset variable or  function  is  removed  from  the  environment
-              passed  to subsequent commands.  If any of C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS, R\bRA\bAN\bN-\b-
+              supplied,  each  _\bn_\ba_\bm_\be refers to a variable; if there is no vari-
+              able by that name, any function with that name is  unset.   Each
+              unset  variable  or  function  is  removed  from the environment
+              passed to subsequent commands.  If any of C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS,  R\bRA\bAN\bN-\b-
               D\bDO\bOM\bM, S\bSE\bEC\bCO\bON\bND\bDS\bS, L\bLI\bIN\bNE\bEN\bNO\bO, H\bHI\bIS\bST\bTC\bCM\bMD\bD, F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE, G\bGR\bRO\bOU\bUP\bPS\bS, or D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK are
               unset, they lose their special properties, even if they are sub-
               sequently reset.  The exit status is true unless a _\bn_\ba_\bm_\be is read-
               only.
 
        w\bwa\bai\bit\bt [_\bn _\b._\b._\b.]
-              Wait  for each specified process and return its termination sta-
-              tus.  Each _\bn may be a process ID or a job  specification;  if  a
-              job  spec  is  given,  all  processes in that job's pipeline are
-              waited for.  If _\bn is not given, all currently active child  pro-
-              cesses  are  waited  for,  and  the return status is zero.  If _\bn
-              specifies a non-existent process or job, the  return  status  is
-              127.   Otherwise,  the  return  status is the exit status of the
+              Wait for each specified process and return its termination  sta-
+              tus.   Each  _\bn  may be a process ID or a job specification; if a
+              job spec is given, all processes  in  that  job's  pipeline  are
+              waited  for.  If _\bn is not given, all currently active child pro-
+              cesses are waited for, and the return  status  is  zero.   If  _\bn
+              specifies  a  non-existent  process or job, the return status is
+              127.  Otherwise, the return status is the  exit  status  of  the
               last process or job waited for.
 
 S\bSE\bEE\bE A\bAL\bLS\bSO\bO
index 77c2c3ba59c508daaa9aa15e02f73cdd4a7bb6ac..f549933e0a155bacc3f4ec96c747406671f0ef93 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-3.0
 %%Creator: groff version 1.19.2
-%%CreationDate: Fri Jul  8 17:23:37 2011
+%%CreationDate: Mon Sep 26 10:56:08 2011
 %%DocumentNeededResources: font Times-Roman
 %%+ font Times-Bold
 %%+ font Times-Italic
@@ -278,15 +278,16 @@ E F0(])A F2(sour)108 303.6 Q(ce)-.18 E F3(\214lename)2.5 E F0([)2.5 E F3
 (ar)A(guments)-.37 E F0(])A 1.02(Read and e)144 315.6 R -.15(xe)-.15 G
 1.02(cute commands from).15 F F3(\214lename)5.43 E F0 1.02
 (in the current shell en)3.7 F 1.02(vironment and return the e)-.4 F
-(xit)-.15 E 1.68(status of the last command e)144 327.6 R -.15(xe)-.15 G
-1.68(cuted from).15 F F3(\214lename)4.18 E F0 6.68(.I).18 G(f)-6.68 E F3
-(\214lename)6.09 E F0 1.68(does not contain a slash, \214le)4.36 F .608
-(names in)144 339.6 R/F4 9/Times-Bold@0 SF -.666(PA)3.108 G(TH)-.189 E
-F0 .608(are used to \214nd the directory containing)2.858 F F3
-(\214lename)3.108 E F0 5.608(.T).18 G .608(he \214le searched for in)
--5.608 F F4 -.666(PA)3.108 G(TH)-.189 E F0 .832(need not be e)144 351.6
-R -.15(xe)-.15 G 3.332(cutable. When).15 F F2(bash)3.332 E F0 .832
-(is not in)3.332 F F3 .832(posix mode)3.332 F F0 3.332(,t)C .833
+(xit)-.15 E 1.458(status of the last command e)144 327.6 R -.15(xe)-.15
+G 1.458(cuted from).15 F F3(\214lename)3.958 E F0 6.458(.I).18 G(f)
+-6.458 E F3(\214lename)5.868 E F0 1.458
+(does not contain a slash, \214le-)4.138 F .608(names in)144 339.6 R/F4
+9/Times-Bold@0 SF -.666(PA)3.108 G(TH)-.189 E F0 .608
+(are used to \214nd the directory containing)2.858 F F3(\214lename)3.108
+E F0 5.608(.T).18 G .608(he \214le searched for in)-5.608 F F4 -.666(PA)
+3.108 G(TH)-.189 E F0 .832(need not be e)144 351.6 R -.15(xe)-.15 G
+3.332(cutable. When).15 F F2(bash)3.332 E F0 .832(is not in)3.332 F F3
+.832(posix mode)3.332 F F0 3.332(,t)C .833
 (he current directory is searched if no)-3.332 F .982
 (\214le is found in)144 363.6 R F4 -.666(PA)3.481 G(TH)-.189 E/F5 9
 /Times-Roman@0 SF(.)A F0 .981(If the)5.481 F F2(sour)3.481 E(cepath)-.18
@@ -484,99 +485,101 @@ F0 .764(is the same as the current direc-)3.014 F(tory)144 660 Q 2.973
 (plied with)144 696 R F2<ad50>3.587 E F0 3.587(,a)C 1.087
 (nd the current w)-3.587 F 1.086
 (orking directory cannot be successfully determined after a suc-)-.1 F
-.44(cessful directory change,)144 708 R F2(cd)2.94 E F0 .44
-(will return an unsuccessful status.)2.94 F .44(An ar)5.44 F .44
-(gument of)-.18 F F2<ad>2.94 E F0 .44(is equi)2.94 F -.25(va)-.25 G .44
-(lent to).25 F F3($OLDPWD)144 720 Q F4(.)A F0 1.045
-(If a non-empty directory name from)5.545 F F3(CDP)3.545 E -.855(AT)
--.666 G(H).855 E F0 1.044(is used, or if)3.295 F F2<ad>3.544 E F0 1.044
-(is the \214rst ar)3.544 F(gument,)-.18 E(GNU Bash-4.0)72 768 Q
+.592(cessful directory change,)144 708 R F2(cd)3.092 E F0 .592
+(will return an unsuccessful status.)3.092 F .592(An ar)5.592 F .592
+(gument of)-.18 F F2<ad>3.092 E F0 .592(is con)3.092 F -.15(ve)-.4 G
+.592(rted to).15 F F3($OLDPWD)144 720 Q F0 3.028
+(before the directory change is attempted.)5.278 F 3.027
+(If a non-empty directory name from)8.027 F(GNU Bash-4.0)72 768 Q
 (2004 Apr 20)148.735 E(2)203.725 E 0 Cg EP
 %%Page: 3 3
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .021(and th\
-e directory change is successful, the absolute pathname of the ne)144 84
-R 2.522(ww)-.25 G .022(orking directory is writ-)-2.622 F .165
-(ten to the standard output.)144 96 R .165(The return v)5.165 F .165
-(alue is true if the directory w)-.25 F .165(as successfully changed; f)
--.1 F(alse)-.1 E(otherwise.)144 108 Q/F1 10/Times-Bold@0 SF(command)108
-124.8 Q F0([)2.5 E F1(\255pVv)A F0(])A/F2 10/Times-Italic@0 SF(command)
-2.5 E F0([)2.5 E F2(ar)A(g)-.37 E F0(...])2.5 E(Run)144 136.8 Q F2
-(command)2.956 E F0(with)3.527 E F2(ar)3.087 E(gs)-.37 E F0 .257
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 9
+/Times-Bold@0 SF(CDP)144 84 Q -.855(AT)-.666 G(H).855 E F0 .482
+(is used, or if)2.731 F/F2 10/Times-Bold@0 SF<ad>2.982 E F0 .482
+(is the \214rst ar)2.982 F .482
+(gument, and the directory change is successful, the absolute)-.18 F
+.521(pathname of the ne)144 96 R 3.021(ww)-.25 G .521
+(orking directory is written to the standard output.)-3.121 F .52
+(The return v)5.52 F .52(alue is true)-.25 F(if the directory w)144 108
+Q(as successfully changed; f)-.1 E(alse otherwise.)-.1 E F2(command)108
+124.8 Q F0([)2.5 E F2(\255pVv)A F0(])A/F3 10/Times-Italic@0 SF(command)
+2.5 E F0([)2.5 E F3(ar)A(g)-.37 E F0(...])2.5 E(Run)144 136.8 Q F3
+(command)2.956 E F0(with)3.527 E F3(ar)3.087 E(gs)-.37 E F0 .257
 (suppressing the normal shell function lookup. Only b)3.027 F .257
-(uiltin commands or)-.2 F .502(commands found in the)144 148.8 R/F3 9
-/Times-Bold@0 SF -.666(PA)3.002 G(TH)-.189 E F0 .502(are e)2.752 F -.15
-(xe)-.15 G 3.002(cuted. If).15 F(the)3.002 E F1<ad70>3.002 E F0 .502
-(option is gi)3.002 F -.15(ve)-.25 G .501(n, the search for).15 F F2
-(command)3.201 E F0(is)3.771 E .399(performed using a def)144 160.8 R
-.399(ault v)-.1 F .399(alue for)-.25 F F3 -.666(PA)2.899 G(TH)-.189 E F0
-.4(that is guaranteed to \214nd all of the standard utilities.)2.649 F
-(If)5.4 E .175(either the)144 172.8 R F1<ad56>2.675 E F0(or)2.675 E F1
-<ad76>2.675 E F0 .175(option is supplied, a description of)2.675 F F2
-(command)2.875 E F0 .174(is printed.)3.445 F(The)5.174 E F1<ad76>2.674 E
-F0 .174(option causes)2.674 F 3.11(as)144 184.8 S .61(ingle w)-3.11 F
-.61(ord indicating the command or \214le name used to in)-.1 F -.2(vo)
--.4 G -.1(ke).2 G F2(command)3.41 E F0 .61(to be displayed; the)3.88 F
-F1<ad56>144 196.8 Q F0 .25(option produces a more v)2.75 F .25
-(erbose description.)-.15 F .249(If the)5.25 F F1<ad56>2.749 E F0(or)
-2.749 E F1<ad76>2.749 E F0 .249(option is supplied, the e)2.749 F .249
-(xit status)-.15 F 1.004(is 0 if)144 208.8 R F2(command)3.704 E F0 -.1
+(uiltin commands or)-.2 F .502(commands found in the)144 148.8 R F1
+-.666(PA)3.002 G(TH)-.189 E F0 .502(are e)2.752 F -.15(xe)-.15 G 3.002
+(cuted. If).15 F(the)3.002 E F2<ad70>3.002 E F0 .502(option is gi)3.002
+F -.15(ve)-.25 G .501(n, the search for).15 F F3(command)3.201 E F0(is)
+3.771 E .399(performed using a def)144 160.8 R .399(ault v)-.1 F .399
+(alue for)-.25 F F1 -.666(PA)2.899 G(TH)-.189 E F0 .4
+(that is guaranteed to \214nd all of the standard utilities.)2.649 F(If)
+5.4 E .175(either the)144 172.8 R F2<ad56>2.675 E F0(or)2.675 E F2<ad76>
+2.675 E F0 .175(option is supplied, a description of)2.675 F F3(command)
+2.875 E F0 .174(is printed.)3.445 F(The)5.174 E F2<ad76>2.674 E F0 .174
+(option causes)2.674 F 3.317(as)144 184.8 S .817(ingle w)-3.317 F .817
+(ord indicating the command or \214lename used to in)-.1 F -.2(vo)-.4 G
+-.1(ke).2 G F3(command)3.618 E F0 .818(to be displayed; the)4.088 F F2
+<ad56>144 196.8 Q F0 .25(option produces a more v)2.75 F .25
+(erbose description.)-.15 F .249(If the)5.25 F F2<ad56>2.749 E F0(or)
+2.749 E F2<ad76>2.749 E F0 .249(option is supplied, the e)2.749 F .249
+(xit status)-.15 F 1.004(is 0 if)144 208.8 R F3(command)3.704 E F0 -.1
 (wa)4.274 G 3.504(sf).1 G 1.005(ound, and 1 if not.)-3.504 F 1.005
-(If neither option is supplied and an error occurred or)6.005 F F2
+(If neither option is supplied and an error occurred or)6.005 F F3
 (command)144.2 220.8 Q F0 1.599(cannot be found, the e)4.869 F 1.599
 (xit status is 127.)-.15 F 1.599(Otherwise, the e)6.599 F 1.598
-(xit status of the)-.15 F F1(command)4.098 E F0 -.2(bu)144 232.8 S
-(iltin is the e).2 E(xit status of)-.15 E F2(command)2.5 E F0(.).77 E F1
-(compgen)108 249.6 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(wor)-2.5 E(d)
+(xit status of the)-.15 F F2(command)4.098 E F0 -.2(bu)144 232.8 S
+(iltin is the e).2 E(xit status of)-.15 E F3(command)2.5 E F0(.).77 E F2
+(compgen)108 249.6 Q F0([)2.5 E F3(option)A F0 2.5(][)C F3(wor)-2.5 E(d)
 -.37 E F0(])A .012(Generate possible completion matches for)144 261.6 R
-F2(wor)2.513 E(d)-.37 E F0 .013(according to the)2.513 F F2(option)2.513
+F3(wor)2.513 E(d)-.37 E F0 .013(according to the)2.513 F F3(option)2.513
 E F0 .013(s, which may be an)B 2.513(yo)-.15 G(ption)-2.513 E .982
-(accepted by the)144 273.6 R F1(complete)3.482 E F0 -.2(bu)3.481 G .981
-(iltin with the e).2 F .981(xception of)-.15 F F1<ad70>3.481 E F0(and)
-3.481 E F1<ad72>3.481 E F0 3.481(,a)C .981(nd write the matches to the)
+(accepted by the)144 273.6 R F2(complete)3.482 E F0 -.2(bu)3.481 G .981
+(iltin with the e).2 F .981(xception of)-.15 F F2<ad70>3.481 E F0(and)
+3.481 E F2<ad72>3.481 E F0 3.481(,a)C .981(nd write the matches to the)
 -3.481 F 1.415(standard output.)144 285.6 R 1.415(When using the)6.415 F
-F1<ad46>3.915 E F0(or)3.915 E F1<ad43>3.915 E F0 1.415(options, the v)
+F2<ad46>3.915 E F0(or)3.915 E F2<ad43>3.915 E F0 1.415(options, the v)
 3.915 F 1.415(arious shell v)-.25 F 1.415(ariables set by the pro-)-.25
 F(grammable completion f)144 297.6 Q(acilities, while a)-.1 E -.25(va)
 -.2 G(ilable, will not ha).25 E .3 -.15(ve u)-.2 H(seful v).15 E(alues.)
 -.25 E .352(The matches will be generated in the same w)144 321.6 R .352
 (ay as if the programmable completion code had gen-)-.1 F .02(erated th\
 em directly from a completion speci\214cation with the same \215ags.)144
-333.6 R(If)5.02 E F2(wor)2.52 E(d)-.37 E F0 .02(is speci\214ed, only)
-2.52 F(those completions matching)144 345.6 Q F2(wor)2.5 E(d)-.37 E F0
+333.6 R(If)5.02 E F3(wor)2.52 E(d)-.37 E F0 .02(is speci\214ed, only)
+2.52 F(those completions matching)144 345.6 Q F3(wor)2.5 E(d)-.37 E F0
 (will be displayed.)2.5 E(The return v)144 369.6 Q
 (alue is true unless an in)-.25 E -.25(va)-.4 G
-(lid option is supplied, or no matches were generated.).25 E F1
-(complete)108 386.4 Q F0([)3.729 E F1(\255abcdefgjksuv)A F0 3.729(][)C
-F1<ad6f>-3.729 E F2(comp-option)3.729 E F0 3.729(][)C F1(\255DE)-3.729 E
-F0 3.728(][)C F1<ad41>-3.728 E F2(action)3.728 E F0 3.728(][)C F1<ad47>
--3.728 E F2(globpat)3.728 E F0 3.728(][)C F1<ad57>-3.728 E F2(wor)3.728
-E(dlist)-.37 E F0 3.728(][)C F1<ad46>-3.728 E F2(func-)3.728 E(tion)108
-398.4 Q F0 2.5(][)C F1<ad43>-2.5 E F2(command)2.5 E F0(])A([)144 410.4 Q
-F1<ad58>A F2(\214lterpat)2.5 E F0 2.5(][)C F1<ad50>-2.5 E F2(pr)2.5 E
-(e\214x)-.37 E F0 2.5(][)C F1<ad53>-2.5 E F2(suf)2.5 E<8c78>-.18 E F0(])
-A F2(name)2.5 E F0([)2.5 E F2(name ...)A F0(])A F1(complete \255pr)108
-422.4 Q F0([)2.5 E F1(\255DE)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E
+(lid option is supplied, or no matches were generated.).25 E F2
+(complete)108 386.4 Q F0([)3.729 E F2(\255abcdefgjksuv)A F0 3.729(][)C
+F2<ad6f>-3.729 E F3(comp-option)3.729 E F0 3.729(][)C F2(\255DE)-3.729 E
+F0 3.728(][)C F2<ad41>-3.728 E F3(action)3.728 E F0 3.728(][)C F2<ad47>
+-3.728 E F3(globpat)3.728 E F0 3.728(][)C F2<ad57>-3.728 E F3(wor)3.728
+E(dlist)-.37 E F0 3.728(][)C F2<ad46>-3.728 E F3(func-)3.728 E(tion)108
+398.4 Q F0 2.5(][)C F2<ad43>-2.5 E F3(command)2.5 E F0(])A([)144 410.4 Q
+F2<ad58>A F3(\214lterpat)2.5 E F0 2.5(][)C F2<ad50>-2.5 E F3(pr)2.5 E
+(e\214x)-.37 E F0 2.5(][)C F2<ad53>-2.5 E F3(suf)2.5 E<8c78>-.18 E F0(])
+A F3(name)2.5 E F0([)2.5 E F3(name ...)A F0(])A F2(complete \255pr)108
+422.4 Q F0([)2.5 E F2(\255DE)A F0 2.5(][)C F3(name)-2.5 E F0(...])2.5 E
 .634(Specify ho)144 434.4 R 3.134(wa)-.25 G -.18(rg)-3.134 G .634
-(uments to each).18 F F2(name)3.134 E F0 .634(should be completed.)3.134
-F .633(If the)5.634 F F1<ad70>3.133 E F0 .633
+(uments to each).18 F F3(name)3.134 E F0 .634(should be completed.)3.134
+F .633(If the)5.634 F F2<ad70>3.133 E F0 .633
 (option is supplied, or if no)3.133 F .139(options are supplied, e)144
 446.4 R .139(xisting completion speci\214cations are printed in a w)-.15
 F .14(ay that allo)-.1 F .14(ws them to be)-.25 F .31(reused as input.)
-144 458.4 R(The)5.31 E F1<ad72>2.81 E F0 .31(option remo)2.81 F -.15(ve)
--.15 G 2.81(sac).15 G .31(ompletion speci\214cation for each)-2.81 F F2
+144 458.4 R(The)5.31 E F2<ad72>2.81 E F0 .31(option remo)2.81 F -.15(ve)
+-.15 G 2.81(sac).15 G .31(ompletion speci\214cation for each)-2.81 F F3
 (name)2.81 E F0 2.81(,o)C 1.11 -.4(r, i)-2.81 H 2.81(fn).4 G(o)-2.81 E
-F2(name)2.81 E F0(s)A 1.346
+F3(name)2.81 E F0(s)A 1.346
 (are supplied, all completion speci\214cations.)144 470.4 R(The)6.347 E
-F1<ad44>3.847 E F0 1.347(option indicates that the remaining options)
+F2<ad44>3.847 E F0 1.347(option indicates that the remaining options)
 3.847 F .5(and actions should apply to the `)144 482.4 R(`def)-.74 E
 (ault')-.1 E 3('c)-.74 G .5
 (ommand completion; that is, completion attempted on)-3 F 3.455(ac)144
 494.4 S .955(ommand for which no completion has pre)-3.455 F .955
-(viously been de\214ned.)-.25 F(The)5.955 E F1<ad45>3.455 E F0 .955
+(viously been de\214ned.)-.25 F(The)5.955 E F2<ad45>3.455 E F0 .955
 (option indicates that)3.455 F .065
 (the remaining options and actions should apply to `)144 506.4 R
 (`empty')-.74 E 2.564('c)-.74 G .064
@@ -584,25 +587,25 @@ F1<ad44>3.847 E F0 1.347(option indicates that the remaining options)
 (tion attempted on a blank line.)144 518.4 Q 1.437
 (The process of applying these completion speci\214cations when w)144
 542.4 R 1.438(ord completion is attempted is)-.1 F(described abo)144
-554.4 Q .3 -.15(ve u)-.15 H(nder).15 E F1(Pr)2.5 E
+554.4 Q .3 -.15(ve u)-.15 H(nder).15 E F2(Pr)2.5 E
 (ogrammable Completion)-.18 E F0(.)A .556
 (Other options, if speci\214ed, ha)144 578.4 R .856 -.15(ve t)-.2 H .555
 (he follo).15 F .555(wing meanings.)-.25 F .555(The ar)5.555 F .555
-(guments to the)-.18 F F1<ad47>3.055 E F0(,)A F1<ad57>3.055 E F0 3.055
-(,a)C(nd)-3.055 E F1<ad58>3.055 E F0 .722(options \(and, if necessary)
-144 590.4 R 3.222(,t)-.65 G(he)-3.222 E F1<ad50>3.222 E F0(and)3.222 E
-F1<ad53>3.222 E F0 .723
+(guments to the)-.18 F F2<ad47>3.055 E F0(,)A F2<ad57>3.055 E F0 3.055
+(,a)C(nd)-3.055 E F2<ad58>3.055 E F0 .722(options \(and, if necessary)
+144 590.4 R 3.222(,t)-.65 G(he)-3.222 E F2<ad50>3.222 E F0(and)3.222 E
+F2<ad53>3.222 E F0 .723
 (options\) should be quoted to protect them from e)3.222 F(xpan-)-.15 E
-(sion before the)144 602.4 Q F1(complete)2.5 E F0 -.2(bu)2.5 G
-(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F1<ad6f>144 614.4 Q
-F2(comp-option)2.5 E F0(The)184 626.4 Q F2(comp-option)2.791 E F0 .291
+(sion before the)144 602.4 Q F2(complete)2.5 E F0 -.2(bu)2.5 G
+(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F2<ad6f>144 614.4 Q
+F3(comp-option)2.5 E F0(The)184 626.4 Q F3(comp-option)2.791 E F0 .291
 (controls se)2.791 F -.15(ve)-.25 G .291(ral aspects of the compspec')
 .15 F 2.791(sb)-.55 G(eha)-2.791 E .291(vior be)-.2 F .291
-(yond the simple)-.15 F(generation of completions.)184 638.4 Q F2
-(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 650.4 Q F0
-.281(Perform the rest of the def)224 662.4 R(ault)-.1 E F1(bash)2.781 E
+(yond the simple)-.15 F(generation of completions.)184 638.4 Q F3
+(comp-option)5 E F0(may be one of:)2.5 E F2(bashdefault)184 650.4 Q F0
+.281(Perform the rest of the def)224 662.4 R(ault)-.1 E F2(bash)2.781 E
 F0 .281(completions if the compspec generates no)2.781 F(matches.)224
-674.4 Q F1(default)184 686.4 Q F0 2.876(Use readline')10 F 5.376(sd)-.55
+674.4 Q F2(default)184 686.4 Q F0 2.876(Use readline')10 F 5.376(sd)-.55
 G(ef)-5.376 E 2.875
 (ault \214lename completion if the compspec generates no)-.1 F(matches.)
 224 698.4 Q(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(3)203.725 E 0 Cg
@@ -846,65 +849,69 @@ F0 2.5(sf)C(or e)-2.5 E(xport to subsequent commands via the en)-.15 E
 .645(to destro)144 232.8 R 3.145(ya)-.1 G 3.145(na)-3.145 G .645(rray v)
 -3.145 F .645(ariable and)-.25 F F1(+r)3.145 E F0 .645(will not remo)
 3.145 F .945 -.15(ve t)-.15 H .645(he readonly attrib).15 F 3.144
-(ute. When)-.2 F .644(used in a func-)3.144 F 1.185(tion, mak)144 244.8
-R 1.185(es each)-.1 F F3(name)3.686 E F0 1.186(local, as with the)3.686
-F F1(local)3.686 E F0 1.186(command, unless the)3.686 F F1<ad67>3.686 E
-F0 1.186(option is supplied, If a)3.686 F -.25(va)144 256.8 S .118
-(riable name is follo).25 F .118(wed by =)-.25 F F3(value)A F0 2.618(,t)
-C .118(he v)-2.618 F .118(alue of the v)-.25 F .118(ariable is set to)
--.25 F F3(value)2.618 E F0 5.118(.T)C .118(he return v)-5.118 F .117
-(alue is 0)-.25 F 2.793(unless an in)144 268.8 R -.25(va)-.4 G 2.793(li\
-d option is encountered, an attempt is made to de\214ne a function usin\
-g).25 F/F4 10/Courier@0 SF<ad66>5.294 E(foo=bar)144 280.8 Q F0 3.993(,a)
-C 3.993(na)-3.993 G 1.493(ttempt is made to assign a v)-3.993 F 1.493
-(alue to a readonly v)-.25 F 1.493(ariable, an attempt is made to)-.25 F
-1.182(assign a v)144 292.8 R 1.183(alue to an array v)-.25 F 1.183
-(ariable without using the compound assignment syntax \(see)-.25 F F1
-(Arrays)3.683 E F0(abo)144 304.8 Q -.15(ve)-.15 G .097(\), one of the)
-.15 F F3(names)2.597 E F0 .097(is not a v)2.597 F .097(alid shell v)-.25
-F .097(ariable name, an attempt is made to turn of)-.25 F 2.596(fr)-.25
-G(eadonly)-2.596 E .658(status for a readonly v)144 316.8 R .658
-(ariable, an attempt is made to turn of)-.25 F 3.158(fa)-.25 G .659
-(rray status for an array v)-3.158 F .659(ariable, or)-.25 F
-(an attempt is made to display a non-e)144 328.8 Q
-(xistent function with)-.15 E F1<ad66>2.5 E F0(.)A F1(dirs [+)108 345.6
-Q F3(n)A F1 2.5(][)C<ad>-2.5 E F3(n)A F1 2.5(][)C(\255clpv])-2.5 E F0
--.4(Wi)144 357.6 S .329
+(ute. When)-.2 F .644(used in a func-)3.144 F(tion,)144 244.8 Q F1
+(declar)2.835 E(e)-.18 E F0(and)2.835 E F1(typeset)2.835 E F0(mak)2.835
+E 2.835(ee)-.1 G(ach)-2.835 E F3(name)2.835 E F0 .335
+(local, as with the)2.835 F F1(local)2.835 E F0 .335
+(command, unless the)2.835 F F1<ad67>2.835 E F0(option)2.835 E .134
+(is supplied.)144 256.8 R .134(If a v)5.134 F .134
+(ariable name is follo)-.25 F .134(wed by =)-.25 F F3(value)A F0 2.634
+(,t)C .134(he v)-2.634 F .134(alue of the v)-.25 F .133
+(ariable is set to)-.25 F F3(value)2.633 E F0 5.133(.T)C(he)-5.133 E .8
+(return v)144 268.8 R .8(alue is 0 unless an in)-.25 F -.25(va)-.4 G
+.801
+(lid option is encountered, an attempt is made to de\214ne a function)
+.25 F(using)144 280.8 Q/F4 10/Courier@0 SF 1.039(\255f foo=bar)3.539 F
+F0 3.539(,a)C 3.539(na)-3.539 G 1.038(ttempt is made to assign a v)
+-3.539 F 1.038(alue to a readonly v)-.25 F 1.038(ariable, an attempt is)
+-.25 F .974(made to assign a v)144 292.8 R .974(alue to an array v)-.25
+F .974(ariable without using the compound assignment syntax \(see)-.25 F
+F1(Arrays)144 304.8 Q F0(abo)2.86 E -.15(ve)-.15 G .36(\), one of the)
+.15 F F3(names)2.86 E F0 .36(is not a v)2.86 F .36(alid shell v)-.25 F
+.36(ariable name, an attempt is made to turn of)-.25 F(f)-.25 E .056
+(readonly status for a readonly v)144 316.8 R .057
+(ariable, an attempt is made to turn of)-.25 F 2.557(fa)-.25 G .057
+(rray status for an array v)-2.557 F(ari-)-.25 E
+(able, or an attempt is made to display a non-e)144 328.8 Q
+(xistent function with)-.15 E F1<ad66>2.5 E F0(.)A F1
+(dirs [\255clpv] [+)108 345.6 Q F3(n)A F1 2.5(][)C<ad>-2.5 E F3(n)A F1
+(])A F0 -.4(Wi)144 357.6 S .329
 (thout options, displays the list of currently remembered directories.)
 .4 F .328(The def)5.328 F .328(ault display is on a)-.1 F 1.238
 (single line with directory names separated by spaces.)144 369.6 R 1.238
 (Directories are added to the list with the)6.238 F F1(pushd)144 381.6 Q
 F0(command; the)2.5 E F1(popd)2.5 E F0(command remo)2.5 E -.15(ve)-.15 G
-2.5(se).15 G(ntries from the list.)-2.5 E F1(+)144 393.6 Q F3(n)A F0
-1.565(Displays the)25.3 F F3(n)4.065 E F0 1.565
+2.5(se).15 G(ntries from the list.)-2.5 E F1<ad63>144 393.6 Q F0
+(Clears the directory stack by deleting all of the entries.)25.86 E F1
+<ad6c>144 405.6 Q F0 .882
+(Produces a listing using full pathnames; the def)27.52 F .881
+(ault listing format uses a tilde to denote)-.1 F(the home directory)180
+417.6 Q(.)-.65 E F1<ad70>144 429.6 Q F0
+(Print the directory stack with one entry per line.)24.74 E F1<ad76>144
+441.6 Q F0 .272(Print the directory stack with one entry per line, pre\
+\214xing each entry with its inde)25.3 F 2.773(xi)-.15 G 2.773(nt)-2.773
+G(he)-2.773 E(stack.)180 453.6 Q F1(+)144 465.6 Q F3(n)A F0 1.565
+(Displays the)25.3 F F3(n)4.065 E F0 1.565
 (th entry counting from the left of the list sho)B 1.564(wn by)-.25 F F1
 (dirs)4.064 E F0 1.564(when in)4.064 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 405.6 Q F1<ad>144 417.6 Q F3
+(without options, starting with zero.)180 477.6 Q F1<ad>144 489.6 Q F3
 (n)A F0 1.194(Displays the)25.3 F F3(n)3.694 E F0 1.194
 (th entry counting from the right of the list sho)B 1.194(wn by)-.25 F
 F1(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 429.6 Q F1<ad63>144 441.6 Q F0
-(Clears the directory stack by deleting all of the entries.)25.86 E F1
-<ad6c>144 453.6 Q F0 .324(Produces a longer listing; the def)27.52 F
-.324(ault listing format uses a tilde to denote the home direc-)-.1 F
-(tory)180 465.6 Q(.)-.65 E F1<ad70>144 477.6 Q F0
-(Print the directory stack with one entry per line.)24.74 E F1<ad76>144
-489.6 Q F0 .272(Print the directory stack with one entry per line, pre\
-\214xing each entry with its inde)25.3 F 2.773(xi)-.15 G 2.773(nt)-2.773
-G(he)-2.773 E(stack.)180 501.6 Q .258(The return v)144 518.4 R .258
-(alue is 0 unless an in)-.25 F -.25(va)-.4 G .258
+(without options, starting with zero.)180 501.6 Q .258(The return v)144
+518.4 R .258(alue is 0 unless an in)-.25 F -.25(va)-.4 G .258
 (lid option is supplied or).25 F F3(n)2.758 E F0(inde)2.758 E -.15(xe)
 -.15 G 2.758(sb).15 G -.15(ey)-2.758 G .258(ond the end of the direc-)
 .15 F(tory stack.)144 530.4 Q F1(diso)108 547.2 Q(wn)-.1 E F0([)2.5 E F1
 (\255ar)A F0 2.5(][)C F1<ad68>-2.5 E F0 2.5(][)C F3(jobspec)-2.5 E F0
-(...])2.5 E -.4(Wi)144 559.2 S .295(thout options, each).4 F F3(jobspec)
-4.535 E F0 .295(is remo)3.105 F -.15(ve)-.15 G 2.795(df).15 G .295
-(rom the table of acti)-2.795 F .595 -.15(ve j)-.25 H 2.795(obs. If).15
-F F3(jobspec)4.535 E F0 .295(is not present,)3.105 F .423(and neither)
-144 571.2 R F1<ad61>2.923 E F0(nor)2.923 E F1<ad72>2.923 E F0 .423
-(is supplied, the shell')2.923 F 2.923(sn)-.55 G .423(otion of the)
--2.923 F F3(curr)2.922 E .422(ent job)-.37 F F0 .422(is used.)2.922 F
-.422(If the)5.422 F F1<ad68>2.922 E F0 .422(option is)2.922 F(gi)144
+(...])2.5 E -.4(Wi)144 559.2 S .121(thout options, remo).4 F .422 -.15
+(ve e)-.15 H(ach).15 E F3(jobspec)4.362 E F0 .122
+(from the table of acti)2.932 F .422 -.15(ve j)-.25 H 2.622(obs. If).15
+F F3(jobspec)4.362 E F0 .122(is not present, and)2.932 F(neither)144
+571.2 Q F1<ad61>3.837 E F0(nor)3.837 E F1<ad72>3.837 E F0 1.337
+(is supplied, the shell')3.837 F 3.836(sn)-.55 G 1.336(otion of the)
+-3.836 F F3(curr)3.836 E 1.336(ent job)-.37 F F0 1.336(is used.)3.836 F
+1.336(If the)6.336 F F1<ad68>3.836 E F0 1.336(option is)3.836 F(gi)144
 583.2 Q -.15(ve)-.25 G .14(n, each).15 F F3(jobspec)4.38 E F0 .14
 (is not remo)2.95 F -.15(ve)-.15 G 2.641(df).15 G .141(rom the table, b)
 -2.641 F .141(ut is mark)-.2 F .141(ed so that)-.1 F F2(SIGHUP)2.641 E
@@ -1035,12 +1042,12 @@ E F0(...])2.5 E(The)144 513.6 Q F2(ar)3.17 E(g)-.37 E F0 3.17(sa)C .671
 3.318 F 1.077(zeroth ar)144 614.4 R 1.077(gument to the e)-.18 F -.15
 (xe)-.15 G 1.077(cuted command.).15 F(If)6.077 E F2(command)3.777 E F0
 1.077(cannot be e)4.347 F -.15(xe)-.15 G 1.077(cuted for some reason, a)
-.15 F(non-interacti)144 626.4 Q .618 -.15(ve s)-.25 H .318(hell e).15 F
-.318(xits, unless the shell option)-.15 F F1(execfail)2.817 E F0 .317
-(is enabled, in which case it returns f)2.817 F(ail-)-.1 E 2.505
-(ure. An)144 638.4 R(interacti)2.505 E .305 -.15(ve s)-.25 H .005
-(hell returns f).15 F .005(ailure if the \214le cannot be e)-.1 F -.15
-(xe)-.15 G 2.505(cuted. If).15 F F2(command)2.705 E F0 .005
+.15 F(non-interacti)144 626.4 Q .877 -.15(ve s)-.25 H .577(hell e).15 F
+.577(xits, unless the)-.15 F F1(execfail)3.077 E F0 .577
+(shell option is enabled.)3.077 F .576(In that case, it returns f)5.577
+F(ail-)-.1 E 2.505(ure. An)144 638.4 R(interacti)2.505 E .305 -.15(ve s)
+-.25 H .005(hell returns f).15 F .005(ailure if the \214le cannot be e)
+-.1 F -.15(xe)-.15 G 2.505(cuted. If).15 F F2(command)2.705 E F0 .005
 (is not speci\214ed,)3.275 F(an)144 650.4 Q 3.037(yr)-.15 G .537
 (edirections tak)-3.037 F 3.036(ee)-.1 G -.25(ff)-3.036 G .536
 (ect in the current shell, and the return status is 0.).25 F .536
@@ -1067,41 +1074,42 @@ BP
 2.626 E F0 .127(option is gi)2.627 F -.15(ve)-.25 G .127(n, the).15 F F2
 (names)2.987 E F0 .127(refer to functions.)2.897 F .127(If no)5.127 F F2
 (names)2.987 E F0 .127(are gi)2.897 F -.15(ve)-.25 G .127(n, or if the)
-.15 F F1<ad70>144 132 Q F0 .66
-(option is supplied, a list of all names that are e)3.16 F .659
-(xported in this shell is printed.)-.15 F(The)5.659 E F1<ad6e>3.159 E F0
-(option)3.159 E 1.586(causes the e)144 144 R 1.586
-(xport property to be remo)-.15 F -.15(ve)-.15 G 4.086(df).15 G 1.586
-(rom each)-4.086 F F2(name)4.086 E F0 6.586(.I)C 4.086(fav)-6.586 G
-1.587(ariable name is follo)-4.336 F 1.587(wed by)-.25 F(=)144 156 Q F2
-(wor)A(d)-.37 E F0 2.804(,t)C .304(he v)-2.804 F .304(alue of the v)-.25
-F .304(ariable is set to)-.25 F F2(wor)2.804 E(d)-.37 E F0(.)A F1
-(export)5.304 E F0 .304(returns an e)2.804 F .303
-(xit status of 0 unless an in)-.15 F -.25(va)-.4 G(lid).25 E .293
-(option is encountered, one of the)144 168 R F2(names)2.793 E F0 .293
-(is not a v)2.793 F .293(alid shell v)-.25 F .293(ariable name, or)-.25
-F F1<ad66>2.793 E F0 .294(is supplied with a)2.793 F F2(name)144.36 180
-Q F0(that is not a function.)2.68 E F1(fc)108 196.8 Q F0([)2.5 E F1
-<ad65>A F2(ename)2.5 E F0 2.5(][)C F1(\255lnr)-2.5 E F0 2.5(][)C F2
+.15 F F1<ad70>144 132 Q F0 .048
+(option is supplied, a list of names of all e)2.548 F .048(xported v)
+-.15 F .048(ariables is printed.)-.25 F(The)5.048 E F1<ad6e>2.547 E F0
+.047(option causes the)2.547 F -.15(ex)144 144 S 1.446
+(port property to be remo).15 F -.15(ve)-.15 G 3.947(df).15 G 1.447
+(rom each)-3.947 F F2(name)3.947 E F0 6.447(.I)C 3.947(fav)-6.447 G
+1.447(ariable name is follo)-4.197 F 1.447(wed by =)-.25 F F2(wor)A(d)
+-.37 E F0 3.947(,t)C(he)-3.947 E -.25(va)144 156 S .742(lue of the v).25
+F .742(ariable is set to)-.25 F F2(wor)3.242 E(d)-.37 E F0(.)A F1
+(export)5.742 E F0 .742(returns an e)3.242 F .741
+(xit status of 0 unless an in)-.15 F -.25(va)-.4 G .741(lid option is)
+.25 F .031(encountered, one of the)144 168 R F2(names)2.531 E F0 .031
+(is not a v)2.531 F .032(alid shell v)-.25 F .032(ariable name, or)-.25
+F F1<ad66>2.532 E F0 .032(is supplied with a)2.532 F F2(name)2.892 E F0
+(that)2.712 E(is not a function.)144 180 Q F1(fc)108 196.8 Q F0([)2.5 E
+F1<ad65>A F2(ename)2.5 E F0 2.5(][)C F1(\255lnr)-2.5 E F0 2.5(][)C F2
 <8c72>-2.5 E(st)-.1 E F0 2.5(][)C F2(last)-2.5 E F0(])A F1(fc \255s)108
 208.8 Q F0([)2.5 E F2(pat)A F0(=)A F2 -.37(re)C(p).37 E F0 2.5(][)C F2
-(cmd)-2.5 E F0(])A .478(Fix Command.)144 220.8 R .478
-(In the \214rst form, a range of commands from)5.478 F F2<8c72>4.888 E
-(st)-.1 E F0(to)3.658 E F2(last)3.068 E F0 .477
-(is selected from the his-)3.658 F .881(tory list.)144 232.8 R F2 -.45
-(Fi)5.881 G -.1(rs).45 G(t).1 E F0(and)4.061 E F2(last)3.471 E F0 .882
-(may be speci\214ed as a string \(to locate the last command be)4.062 F
-.882(ginning with)-.15 F .797(that string\) or as a number \(an inde)144
-244.8 R 3.297(xi)-.15 G .797(nto the history list, where a ne)-3.297 F
--.05(ga)-.15 G(ti).05 E 1.097 -.15(ve n)-.25 H .796(umber is used as an)
-.15 F(of)144 256.8 Q .276(fset from the current command number\).)-.25 F
-(If)5.276 E F2(last)2.866 E F0 .277
-(is not speci\214ed it is set to the current command)3.456 F .093
-(for listing \(so that)144 268.8 R/F3 10/Courier@0 SF .092
-(fc \255l \25510)2.592 F F0 .092(prints the last 10 commands\) and to)
-2.592 F F2<8c72>4.502 E(st)-.1 E F0 2.592(otherwise. If)3.272 F F2<8c72>
-4.502 E(st)-.1 E F0 .092(is not)3.272 F
-(speci\214ed it is set to the pre)144 280.8 Q
+(cmd)-2.5 E F0(])A .432
+(The \214rst form selects a range of commands from)144 220.8 R F2<8c72>
+4.842 E(st)-.1 E F0(to)3.612 E F2(last)3.022 E F0 .431
+(from the history list and displays or)3.612 F .141(edits and re-e)144
+232.8 R -.15(xe)-.15 G .141(cutes them.).15 F F2 -.45(Fi)5.141 G -.1(rs)
+.45 G(t).1 E F0(and)3.321 E F2(last)2.731 E F0 .141
+(may be speci\214ed as a string \(to locate the last command)3.321 F(be)
+144 244.8 Q .311(ginning with that string\) or as a number \(an inde)
+-.15 F 2.811(xi)-.15 G .31(nto the history list, where a ne)-2.811 F
+-.05(ga)-.15 G(ti).05 E .61 -.15(ve n)-.25 H(umber).15 E .314
+(is used as an of)144 256.8 R .314
+(fset from the current command number\).)-.25 F(If)5.314 E F2(last)2.905
+E F0 .315(is not speci\214ed it is set to the cur)3.495 F(-)-.2 E .949
+(rent command for listing \(so that)144 268.8 R/F3 10/Courier@0 SF .948
+(fc \255l \25510)3.448 F F0 .948(prints the last 10 commands\) and to)
+3.448 F F2<8c72>5.358 E(st)-.1 E F0(other)4.128 E(-)-.2 E 2.5(wise. If)
+144 280.8 R F2<8c72>4.41 E(st)-.1 E F0
+(is not speci\214ed it is set to the pre)3.18 E
 (vious command for editing and \25516 for listing.)-.25 E(The)144 304.8
 Q F1<ad6e>2.522 E F0 .022
 (option suppresses the command numbers when listing.)2.522 F(The)5.022 E
@@ -1120,563 +1128,556 @@ F(If)5.335 E F2(ename)3.025 E F0 .335(is not gi)3.015 F -.15(ve)-.25 G
 (If nei-)5.63 F 1.884(ther v)144 352.8 R 1.884(ariable is set, is used.)
 -.25 F 1.884
 (When editing is complete, the edited commands are echoed and)6.884 F
--.15(exe)144 364.8 S(cuted.).15 E .04(In the second form,)144 388.8 R F2
-(command)2.54 E F0 .04(is re-e)2.54 F -.15(xe)-.15 G .039
-(cuted after each instance of).15 F F2(pat)2.539 E F0 .039
-(is replaced by)2.539 F F2 -.37(re)2.539 G(p).37 E F0 5.039(.A)C(useful)
--2.5 E .406(alias to use with this is)144 400.8 R F3 .406(r='fc \255s')
-2.906 F F0 2.906(,s)C 2.906(ot)-2.906 G .406(hat typing)-2.906 F F3
-6.406(rc)2.906 G(c)-6.406 E F0 .406(runs the last command be)2.906 F
-.407(ginning with)-.15 F F3(cc)144 412.8 Q F0(and typing)2.5 E F3(r)2.5
-E F0(re-e)2.5 E -.15(xe)-.15 G(cutes the last command.).15 E .142
-(If the \214rst form is used, the return v)144 436.8 R .142
-(alue is 0 unless an in)-.25 F -.25(va)-.4 G .142
+-.15(exe)144 364.8 S(cuted.).15 E .789(In the second form,)144 388.8 R
+F2(command)3.288 E F0 .788(is re-e)3.288 F -.15(xe)-.15 G .788
+(cuted after each instance of).15 F F2(pat)3.288 E F0 .788
+(is replaced by)3.288 F F2 -.37(re)3.288 G(p).37 E F0(.)A F2(Com-)5.788
+E(mand)144 400.8 Q F0 .346(is intepreted the same as)2.846 F F2<8c72>
+2.847 E(st)-.1 E F0(abo)2.847 E -.15(ve)-.15 G 5.347(.A).15 G .347
+(useful alias to use with this is)-2.5 F F3 .347(r='fc \255s')2.847 F F0
+2.847(,s)C 2.847(ot)-2.847 G(hat)-2.847 E(typing)144 412.8 Q F3 7.166
+(rc)3.666 G(c)-7.166 E F0 1.166(runs the last command be)3.666 F 1.166
+(ginning with)-.15 F F3(cc)3.666 E F0 1.165(and typing)3.666 F F3(r)
+3.665 E F0(re-e)3.665 E -.15(xe)-.15 G 1.165(cutes the last com-).15 F
+(mand.)144 424.8 Q .142(If the \214rst form is used, the return v)144
+448.8 R .142(alue is 0 unless an in)-.25 F -.25(va)-.4 G .142
 (lid option is encountered or).25 F F2<8c72>4.552 E(st)-.1 E F0(or)3.322
-E F2(last)2.732 E F0 .454(specify history lines out of range.)144 448.8
+E F2(last)2.732 E F0 .455(specify history lines out of range.)144 460.8
 R .454(If the)5.454 F F1<ad65>2.954 E F0 .454
-(option is supplied, the return v)2.954 F .455(alue is the v)-.25 F .455
-(alue of the)-.25 F .788(last command e)144 460.8 R -.15(xe)-.15 G .788
-(cuted or f).15 F .787
+(option is supplied, the return v)2.954 F .454(alue is the v)-.25 F .454
+(alue of the)-.25 F .787(last command e)144 472.8 R -.15(xe)-.15 G .787
+(cuted or f).15 F .788
 (ailure if an error occurs with the temporary \214le of commands.)-.1 F
-.787(If the)5.787 F 1.135
+.788(If the)5.788 F 1.136
 (second form is used, the return status is that of the command re-e)144
-472.8 R -.15(xe)-.15 G 1.136(cuted, unless).15 F F2(cmd)3.836 E F0 1.136
-(does not)4.406 F(specify a v)144 484.8 Q
+484.8 R -.15(xe)-.15 G 1.135(cuted, unless).15 F F2(cmd)3.835 E F0 1.135
+(does not)4.405 F(specify a v)144 496.8 Q
 (alid history line, in which case)-.25 E F1(fc)2.5 E F0(returns f)2.5 E
-(ailure.)-.1 E F1(fg)108 501.6 Q F0([)2.5 E F2(jobspec)A F0(])A(Resume)
-144 513.6 Q F2(jobspec)5.654 E F0 1.413(in the fore)4.224 F 1.413
+(ailure.)-.1 E F1(fg)108 513.6 Q F0([)2.5 E F2(jobspec)A F0(])A(Resume)
+144 525.6 Q F2(jobspec)5.653 E F0 1.413(in the fore)4.223 F 1.413
 (ground, and mak)-.15 F 3.913(ei)-.1 G 3.913(tt)-3.913 G 1.413
 (he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F2(jobspec)5.653 E F0
-1.413(is not present, the)4.223 F(shell')144 525.6 Q 3.116(sn)-.55 G
-.616(otion of the)-3.116 F F2(curr)3.116 E .616(ent job)-.37 F F0 .617
-(is used.)3.116 F .617(The return v)5.617 F .617
-(alue is that of the command placed into the)-.25 F(fore)144 537.6 Q
-.363(ground, or f)-.15 F .363
-(ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .362
-(hen run with job control enabled, if)-2.862 F F2(jobspec)145.74 549.6 Q
-F0 .004(does not specify a v)2.814 F .004(alid job or)-.25 F F2(jobspec)
+1.414(is not present, the)4.223 F(shell')144 537.6 Q 3.117(sn)-.55 G
+.617(otion of the)-3.117 F F2(curr)3.117 E .617(ent job)-.37 F F0 .617
+(is used.)3.117 F .617(The return v)5.617 F .616
+(alue is that of the command placed into the)-.25 F(fore)144 549.6 Q
+.362(ground, or f)-.15 F .362
+(ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .363
+(hen run with job control enabled, if)-2.862 F F2(jobspec)145.74 561.6 Q
+F0 .004(does not specify a v)2.815 F .004(alid job or)-.25 F F2(jobspec)
 4.244 E F0 .004(speci\214es a job that w)2.814 F .004
-(as started without job control.)-.1 F F1(getopts)108 566.4 Q F2
+(as started without job control.)-.1 F F1(getopts)108 578.4 Q F2
 (optstring name)2.5 E F0([)2.5 E F2(ar)A(gs)-.37 E F0(])A F1(getopts)144
-578.4 Q F0 .793
-(is used by shell procedures to parse positional parameters.)3.294 F F2
-(optstring)6.023 E F0 .793(contains the option)3.513 F .149
-(characters to be recognized; if a character is follo)144 590.4 R .15
-(wed by a colon, the option is e)-.25 F .15(xpected to ha)-.15 F .45
--.15(ve a)-.2 H(n).15 E(ar)144 602.4 Q .579
-(gument, which should be separated from it by white space.)-.18 F .578
+590.4 Q F0 .793
+(is used by shell procedures to parse positional parameters.)3.293 F F2
+(optstring)6.023 E F0 .793(contains the option)3.513 F .15
+(characters to be recognized; if a character is follo)144 602.4 R .149
+(wed by a colon, the option is e)-.25 F .149(xpected to ha)-.15 F .449
+-.15(ve a)-.2 H(n).15 E(ar)144 614.4 Q .578
+(gument, which should be separated from it by white space.)-.18 F .579
 (The colon and question mark char)5.579 F(-)-.2 E 1.665
-(acters may not be used as option characters.)144 614.4 R 1.665
+(acters may not be used as option characters.)144 626.4 R 1.665
 (Each time it is in)6.665 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F1(getopts)
-4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .797
-(option in the shell v)144 626.4 R(ariable)-.25 E F2(name)3.297 E F0
-3.297(,i).18 G(nitializing)-3.297 E F2(name)3.657 E F0 .797
-(if it does not e)3.477 F .796(xist, and the inde)-.15 F 3.296(xo)-.15 G
-3.296(ft)-3.296 G .796(he ne)-3.296 F(xt)-.15 E(ar)144 638.4 Q .085
+4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .796
+(option in the shell v)144 638.4 R(ariable)-.25 E F2(name)3.296 E F0
+3.296(,i).18 G(nitializing)-3.296 E F2(name)3.657 E F0 .797
+(if it does not e)3.477 F .797(xist, and the inde)-.15 F 3.297(xo)-.15 G
+3.297(ft)-3.297 G .797(he ne)-3.297 F(xt)-.15 E(ar)144 650.4 Q .085
 (gument to be processed into the v)-.18 F(ariable)-.25 E F4(OPTIND)2.585
 E/F5 9/Times-Roman@0 SF(.)A F4(OPTIND)4.585 E F0 .085
-(is initialized to 1 each time the shell)2.335 F .846
-(or a shell script is in)144 650.4 R -.2(vo)-.4 G -.1(ke).2 G 3.345
+(is initialized to 1 each time the shell)2.335 F .845
+(or a shell script is in)144 662.4 R -.2(vo)-.4 G -.1(ke).2 G 3.345
 (d. When).1 F .845(an option requires an ar)3.345 F(gument,)-.18 E F1
-(getopts)3.345 E F0 .845(places that ar)3.345 F(gument)-.18 E .803
-(into the v)144 662.4 R(ariable)-.25 E F4(OPT)3.303 E(ARG)-.81 E F5(.)A
-F0 .803(The shell does not reset)5.303 F F4(OPTIND)3.303 E F0 .804
-(automatically; it must be manually)3.054 F .294
-(reset between multiple calls to)144 674.4 R F1(getopts)2.793 E F0 .293
+(getopts)3.346 E F0 .846(places that ar)3.346 F(gument)-.18 E .804
+(into the v)144 674.4 R(ariable)-.25 E F4(OPT)3.304 E(ARG)-.81 E F5(.)A
+F0 .803(The shell does not reset)5.304 F F4(OPTIND)3.303 E F0 .803
+(automatically; it must be manually)3.053 F .293
+(reset between multiple calls to)144 686.4 R F1(getopts)2.793 E F0 .293
 (within the same shell in)2.793 F -.2(vo)-.4 G .293(cation if a ne).2 F
-2.793(ws)-.25 G .293(et of parameters)-2.793 F(is to be used.)144 686.4
-Q 2.043(When the end of options is encountered,)144 710.4 R F1(getopts)
-4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.044
-(alue greater than zero.)-.25 F F4(OPTIND)144 722.4 Q F0
-(is set to the inde)2.25 E 2.5(xo)-.15 G 2.5(ft)-2.5 G
-(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F2(name)2.5 E F0
-(is set to ?.)2.5 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(8)
-203.725 E 0 Cg EP
+2.793(ws)-.25 G .294(et of parameters)-2.793 F(is to be used.)144 698.4
+Q 2.044(When the end of options is encountered,)144 722.4 R F1(getopts)
+4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.043
+(alue greater than zero.)-.25 F(GNU Bash-4.0)72 768 Q(2004 Apr 20)
+148.735 E(8)203.725 E 0 Cg EP
 %%Page: 9 9
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF(getopts)144 84 Q F0 2.393
-(normally parses the positional parameters, b)4.893 F 2.392
-(ut if more ar)-.2 F 2.392(guments are gi)-.18 F -.15(ve)-.25 G 4.892
-(ni).15 G(n)-4.892 E/F2 10/Times-Italic@0 SF(ar)4.892 E(gs)-.37 E F0(,)
-.27 E F1(getopts)144 96 Q F0(parses those instead.)2.5 E F1(getopts)144
-120 Q F0 1.165(can report errors in tw)3.665 F 3.665(ow)-.1 G 3.665
-(ays. If)-3.765 F 1.165(the \214rst character of)3.665 F F2(optstring)
-3.895 E F0 1.166(is a colon,)3.886 F F2(silent)4.006 E F0(error)4.346 E
-1.264(reporting is used.)144 132 R 1.263
-(In normal operation diagnostic messages are printed when in)6.263 F
--.25(va)-.4 G 1.263(lid options or).25 F .393(missing option ar)144 144
-R .393(guments are encountered.)-.18 F .394(If the v)5.394 F(ariable)
--.25 E/F3 9/Times-Bold@0 SF(OPTERR)2.894 E F0 .394
-(is set to 0, no error messages)2.644 F(will be displayed, e)144 156 Q
--.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214rst character of)-2.5 E
-F2(optstring)2.73 E F0(is not a colon.)2.72 E .667(If an in)144 180 R
--.25(va)-.4 G .667(lid option is seen,).25 F F1(getopts)3.167 E F0 .667
-(places ? into)3.167 F F2(name)3.527 E F0 .666
-(and, if not silent, prints an error message)3.347 F .399(and unsets)144
-192 R F3(OPT)2.899 E(ARG)-.81 E/F4 9/Times-Roman@0 SF(.)A F0(If)4.899 E
-F1(getopts)2.899 E F0 .399
-(is silent, the option character found is placed in)2.899 F F3(OPT)2.899
-E(ARG)-.81 E F0 .4(and no)2.65 F(diagnostic message is printed.)144 204
-Q 1.242(If a required ar)144 228 R 1.242(gument is not found, and)-.18 F
-F1(getopts)3.741 E F0 1.241(is not silent, a question mark \()3.741 F F1
-(?).833 E F0 3.741(\)i).833 G 3.741(sp)-3.741 G 1.241(laced in)-3.741 F
-F2(name)144 240 Q F0(,).18 E F3(OPT)2.734 E(ARG)-.81 E F0 .234
-(is unset, and a diagnostic message is printed.)2.484 F(If)5.234 E F1
-(getopts)2.734 E F0 .235(is silent, then a colon \()2.734 F F1(:).833 E
-F0(\)).833 E(is placed in)144 252 Q F2(name)2.86 E F0(and)2.68 E F3(OPT)
-2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 E F1
-(getopts)144 276 Q F0 .902
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 9
+/Times-Bold@0 SF(OPTIND)144 84 Q F0(is set to the inde)2.25 E 2.5(xo)
+-.15 G 2.5(ft)-2.5 G(he \214rst non-option ar)-2.5 E(gument, and)-.18 E
+/F2 10/Times-Italic@0 SF(name)2.5 E F0(is set to ?.)2.5 E/F3 10
+/Times-Bold@0 SF(getopts)144 108 Q F0 2.392
+(normally parses the positional parameters, b)4.892 F 2.392
+(ut if more ar)-.2 F 2.393(guments are gi)-.18 F -.15(ve)-.25 G 4.893
+(ni).15 G(n)-4.893 E F2(ar)4.893 E(gs)-.37 E F0(,).27 E F3(getopts)144
+120 Q F0(parses those instead.)2.5 E F3(getopts)144 144 Q F0 1.166
+(can report errors in tw)3.666 F 3.665(ow)-.1 G 3.665(ays. If)-3.765 F
+1.165(the \214rst character of)3.665 F F2(optstring)3.895 E F0 1.165
+(is a colon,)3.885 F F2(silent)4.005 E F0(error)4.345 E 1.07
+(reporting is used.)144 156 R 1.071
+(In normal operation, diagnostic messages are printed when in)6.07 F
+-.25(va)-.4 G 1.071(lid options or).25 F .394(missing option ar)144 168
+R .394(guments are encountered.)-.18 F .394(If the v)5.394 F(ariable)
+-.25 E F1(OPTERR)2.894 E F0 .394(is set to 0, no error messages)2.644 F
+(will be displayed, e)144 180 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5
+G(he \214rst character of)-2.5 E F2(optstring)2.73 E F0(is not a colon.)
+2.72 E .666(If an in)144 204 R -.25(va)-.4 G .666(lid option is seen,)
+.25 F F3(getopts)3.166 E F0 .667(places ? into)3.167 F F2(name)3.527 E
+F0 .667(and, if not silent, prints an error message)3.347 F .4
+(and unsets)144 216 R F1(OPT)2.9 E(ARG)-.81 E/F4 9/Times-Roman@0 SF(.)A
+F0(If)4.899 E F3(getopts)2.899 E F0 .399
+(is silent, the option character found is placed in)2.899 F F1(OPT)2.899
+E(ARG)-.81 E F0 .399(and no)2.649 F(diagnostic message is printed.)144
+228 Q 1.241(If a required ar)144 252 R 1.241(gument is not found, and)
+-.18 F F3(getopts)3.741 E F0 1.241(is not silent, a question mark \()
+3.741 F F3(?).833 E F0 3.742(\)i).833 G 3.742(sp)-3.742 G 1.242
+(laced in)-3.742 F F2(name)144 264 Q F0(,).18 E F1(OPT)2.735 E(ARG)-.81
+E F0 .234(is unset, and a diagnostic message is printed.)2.485 F(If)
+5.234 E F3(getopts)2.734 E F0 .234(is silent, then a colon \()2.734 F F3
+(:).833 E F0(\)).833 E(is placed in)144 276 Q F2(name)2.86 E F0(and)2.68
+E F1(OPT)2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25
+E F3(getopts)144 300 Q F0 .902
 (returns true if an option, speci\214ed or unspeci\214ed, is found.)
-3.402 F .902(It returns f)5.902 F .901(alse if the end of)-.1 F
-(options is encountered or an error occurs.)144 288 Q F1(hash)108 304.8
-Q F0([)2.5 E F1(\255lr)A F0 2.5(][)C F1<ad70>-2.5 E F2(\214lename)2.5 E
-F0 2.5(][)C F1(\255dt)-2.5 E F0 2.5(][)C F2(name)-2.5 E F0(])A .858
-(Each time)144 316.8 R F1(hash)3.358 E F0 .858(is in)3.358 F -.2(vo)-.4
+3.401 F .902(It returns f)5.902 F .902(alse if the end of)-.1 F
+(options is encountered or an error occurs.)144 312 Q F3(hash)108 328.8
+Q F0([)2.5 E F3(\255lr)A F0 2.5(][)C F3<ad70>-2.5 E F2(\214lename)2.5 E
+F0 2.5(][)C F3(\255dt)-2.5 E F0 2.5(][)C F2(name)-2.5 E F0(])A .858
+(Each time)144 340.8 R F3(hash)3.358 E F0 .858(is in)3.358 F -.2(vo)-.4
 G -.1(ke).2 G .858(d, the full pathname of the command).1 F F2(name)
 3.718 E F0 .858(is determined by searching)3.538 F .956
-(the directories in)144 328.8 R F1($P)3.456 E -.95(AT)-.74 G(H).95 E F0
+(the directories in)144 352.8 R F3($P)3.456 E -.95(AT)-.74 G(H).95 E F0
 .956(and remembered.)3.456 F(An)5.956 E 3.456(yp)-.15 G(re)-3.456 E .956
-(viously-remembered pathname is discarded.)-.25 F .098(If the)144 340.8
-R F1<ad70>2.598 E F0 .098
-(option is supplied, no path search is performed, and)2.598 F F2
-(\214lename)4.509 E F0 .099(is used as the full \214le name)2.779 F
-1.712(of the command.)144 352.8 R(The)6.712 E F1<ad72>4.212 E F0 1.711
-(option causes the shell to for)4.212 F 1.711
-(get all remembered locations.)-.18 F(The)6.711 E F1<ad64>4.211 E F0
-.833(option causes the shell to for)144 364.8 R .833
+(viously-remembered pathname is discarded.)-.25 F .243(If the)144 364.8
+R F3<ad70>2.743 E F0 .243
+(option is supplied, no path search is performed, and)2.743 F F2
+(\214lename)4.653 E F0 .242(is used as the full \214lename)2.923 F 1.711
+(of the command.)144 376.8 R(The)6.711 E F3<ad72>4.211 E F0 1.711
+(option causes the shell to for)4.211 F 1.712
+(get all remembered locations.)-.18 F(The)6.712 E F3<ad64>4.212 E F0
+.833(option causes the shell to for)144 388.8 R .833
 (get the remembered location of each)-.18 F F2(name)3.333 E F0 5.833(.I)
-C 3.333(ft)-5.833 G(he)-3.333 E F1<ad74>3.333 E F0 .833(option is sup-)
-3.333 F .704(plied, the full pathname to which each)144 376.8 R F2(name)
-3.204 E F0 .703(corresponds is printed.)3.204 F .703(If multiple)5.703 F
-F2(name)3.203 E F0(ar)3.203 E(guments)-.18 E .795(are supplied with)144
-388.8 R F1<ad74>3.295 E F0 3.295(,t)C(he)-3.295 E F2(name)3.295 E F0
-.795(is printed before the hashed full pathname.)3.295 F(The)5.795 E F1
+C 3.333(ft)-5.833 G(he)-3.333 E F3<ad74>3.333 E F0 .833(option is sup-)
+3.333 F .703(plied, the full pathname to which each)144 400.8 R F2(name)
+3.204 E F0 .704(corresponds is printed.)3.204 F .704(If multiple)5.704 F
+F2(name)3.204 E F0(ar)3.204 E(guments)-.18 E .795(are supplied with)144
+412.8 R F3<ad74>3.295 E F0 3.295(,t)C(he)-3.295 E F2(name)3.295 E F0
+.795(is printed before the hashed full pathname.)3.295 F(The)5.795 E F3
 <ad6c>3.295 E F0 .795(option causes)3.295 F .934
 (output to be displayed in a format that may be reused as input.)144
-400.8 R .934(If no ar)5.934 F .934(guments are gi)-.18 F -.15(ve)-.25 G
-.934(n, or if).15 F(only)144 412.8 Q F1<ad6c>2.821 E F0 .321
-(is supplied, information about remembered commands is printed.)2.821 F
-.322(The return status is true)5.322 F(unless a)144 424.8 Q F2(name)2.86
+424.8 R .934(If no ar)5.934 F .935(guments are gi)-.18 F -.15(ve)-.25 G
+.935(n, or if).15 F(only)144 436.8 Q F3<ad6c>2.822 E F0 .322
+(is supplied, information about remembered commands is printed.)2.822 F
+.321(The return status is true)5.321 F(unless a)144 448.8 Q F2(name)2.86
 E F0(is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.)
-.25 E F1(help)108 441.6 Q F0([)2.5 E F1(\255dms)A F0 2.5(][)C F2
-(pattern)-2.5 E F0(])A .867(Display helpful information about b)144
-453.6 R .867(uiltin commands.)-.2 F(If)5.867 E F2(pattern)4.617 E F0
-.866(is speci\214ed,)3.607 F F1(help)3.366 E F0(gi)3.366 E -.15(ve)-.25
-G 3.366(sd).15 G(etailed)-3.366 E .306(help on all commands matching)144
-465.6 R F2(pattern)2.806 E F0 2.807(;o).24 G .307
-(therwise help for all the b)-2.807 F .307
-(uiltins and shell control struc-)-.2 F(tures is printed.)144 477.6 Q F1
-<ad64>144 489.6 Q F0(Display a short description of each)24.74 E F2
-(pattern)2.5 E F1<ad6d>144 501.6 Q F0(Display the description of each)
+.25 E F3(help)108 465.6 Q F0([)2.5 E F3(\255dms)A F0 2.5(][)C F2
+(pattern)-2.5 E F0(])A .866(Display helpful information about b)144
+477.6 R .867(uiltin commands.)-.2 F(If)5.867 E F2(pattern)4.617 E F0
+.867(is speci\214ed,)3.607 F F3(help)3.367 E F0(gi)3.367 E -.15(ve)-.25
+G 3.367(sd).15 G(etailed)-3.367 E .307(help on all commands matching)144
+489.6 R F2(pattern)2.807 E F0 2.807(;o).24 G .307
+(therwise help for all the b)-2.807 F .306
+(uiltins and shell control struc-)-.2 F(tures is printed.)144 501.6 Q F3
+<ad64>144 513.6 Q F0(Display a short description of each)24.74 E F2
+(pattern)2.5 E F3<ad6d>144 525.6 Q F0(Display the description of each)
 21.97 E F2(pattern)2.5 E F0(in a manpage-lik)2.5 E 2.5(ef)-.1 G(ormat)
--2.5 E F1<ad73>144 513.6 Q F0
+-2.5 E F3<ad73>144 537.6 Q F0
 (Display only a short usage synopsis for each)26.41 E F2(pattern)2.5 E
-F0(The return status is 0 unless no command matches)144 530.4 Q F2
-(pattern)2.5 E F0(.).24 E F1(history [)108 547.2 Q F2(n)A F1(])A
-(history \255c)108 559.2 Q(history \255d)108 571.2 Q F2(of)2.5 E(fset)
--.18 E F1(history \255anrw)108 583.2 Q F0([)2.5 E F2(\214lename)A F0(])A
-F1(history \255p)108 595.2 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A 2.5
-(g.)-.37 G(..)-2.5 E F0(])A F1(history \255s)108 607.2 Q F2(ar)2.5 E(g)
+F0(The return status is 0 unless no command matches)144 554.4 Q F2
+(pattern)2.5 E F0(.).24 E F3(history [)108 571.2 Q F2(n)A F3(])A
+(history \255c)108 583.2 Q(history \255d)108 595.2 Q F2(of)2.5 E(fset)
+-.18 E F3(history \255anrw)108 607.2 Q F0([)2.5 E F2(\214lename)A F0(])A
+F3(history \255p)108 619.2 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A 2.5
+(g.)-.37 G(..)-2.5 E F0(])A F3(history \255s)108 631.2 Q F2(ar)2.5 E(g)
 -.37 E F0([)2.5 E F2(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi)144
-619.2 S .752
+643.2 S .752
 (th no options, display the command history list with line numbers.).4 F
-.752(Lines listed with a)5.752 F F1(*)3.251 E F0(ha)3.251 E -.15(ve)-.2
-G .38(been modi\214ed.)144 631.2 R .38(An ar)5.38 F .38(gument of)-.18 F
-F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88
-(lines. If)3.12 F .38(the shell v)2.88 F(ariable)-.25 E F3(HISTTIMEFOR-)
-2.881 E(MA)144 643.2 Q(T)-.855 E F0 .265
-(is set and not null, it is used as a format string for)2.515 F F2
-(strftime)2.764 E F0 .264(\(3\) to display the time stamp asso-)B 1.019
-(ciated with each displayed history entry)144 655.2 R 6.019(.N)-.65 G
+.752(Lines listed with a)5.752 F F3(*)3.252 E F0(ha)3.252 E -.15(ve)-.2
+G .381(been modi\214ed.)144 655.2 R .38(An ar)5.38 F .38(gument of)-.18
+F F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88
+(lines. If)3.12 F .38(the shell v)2.88 F(ariable)-.25 E F1(HISTTIMEFOR-)
+2.88 E(MA)144 667.2 Q(T)-.855 E F0 .264
+(is set and not null, it is used as a format string for)2.514 F F2
+(strftime)2.765 E F0 .265(\(3\) to display the time stamp asso-)B 1.02
+(ciated with each displayed history entry)144 679.2 R 6.019(.N)-.65 G
 3.519(oi)-6.019 G(nterv)-3.519 E 1.019
 (ening blank is printed between the formatted)-.15 F .176
-(time stamp and the history line.)144 667.2 R(If)5.176 E F2(\214lename)
+(time stamp and the history line.)144 691.2 R(If)5.176 E F2(\214lename)
 2.676 E F0 .176
 (is supplied, it is used as the name of the history \214le; if)2.676 F
-(not, the v)144 679.2 Q(alue of)-.25 E F3(HISTFILE)2.5 E F0(is used.)
+(not, the v)144 703.2 Q(alue of)-.25 E F1(HISTFILE)2.5 E F0(is used.)
 2.25 E(Options, if supplied, ha)5 E .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F1<ad63>144 691.2 Q F0
-(Clear the history list by deleting all the entries.)25.86 E F1<ad64>144
-703.2 Q F2(of)2.5 E(fset)-.18 E F0(Delete the history entry at position)
-180 715.2 Q F2(of)2.5 E(fset)-.18 E F0(.)A(GNU Bash-4.0)72 768 Q
-(2004 Apr 20)148.735 E(9)203.725 E 0 Cg EP
+(wing meanings:)-.25 E F3<ad63>144 715.2 Q F0
+(Clear the history list by deleting all the entries.)25.86 E
+(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(9)203.725 E 0 Cg EP
 %%Page: 10 10
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF<ad61>144 84 Q F0 .598(Append the `)25.3 F(`ne)-.74 E
-(w')-.25 E 3.098('h)-.74 G .598
-(istory lines \(history lines entered since the be)-3.098 F .599
-(ginning of the current)-.15 F F1(bash)180 96 Q F0
-(session\) to the history \214le.)2.5 E F1<ad6e>144 108 Q F0 .854(Read \
+/Times-Bold@0 SF<ad64>144 84 Q/F2 10/Times-Italic@0 SF(of)2.5 E(fset)
+-.18 E F0(Delete the history entry at position)180 96 Q F2(of)2.5 E
+(fset)-.18 E F0(.)A F1<ad61>144 108 Q F0 .599(Append the `)25.3 F(`ne)
+-.74 E(w')-.25 E 3.099('h)-.74 G .598
+(istory lines \(history lines entered since the be)-3.099 F .598
+(ginning of the current)-.15 F F1(bash)180 120 Q F0
+(session\) to the history \214le.)2.5 E F1<ad6e>144 132 Q F0 .854(Read \
 the history lines not already read from the history \214le into the cur\
-rent history list.)24.74 F .772
-(These are lines appended to the history \214le since the be)180 120 R
-.773(ginning of the current)-.15 F F1(bash)3.273 E F0(ses-)3.273 E
-(sion.)180 132 Q F1<ad72>144 144 Q F0(Read the contents of the history \
-\214le and use them as the current history)25.86 E(.)-.65 E F1<ad77>144
-156 Q F0(Write the current history to the history \214le, o)23.08 E -.15
-(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G(ontents.)
--2.5 E F1<ad70>144 168 Q F0 .626
-(Perform history substitution on the follo)24.74 F(wing)-.25 E/F2 10
-/Times-Italic@0 SF(ar)3.125 E(gs)-.37 E F0 .625
-(and display the result on the standard)3.125 F 2.975(output. Does)180
-180 R .475(not store the results in the history list.)2.975 F(Each)5.475
-E F2(ar)2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F
-(normal history e)180 192 Q(xpansion.)-.15 E F1<ad73>144 204 Q F0 .363
-(Store the)26.41 F F2(ar)3.193 E(gs)-.37 E F0 .363
-(in the history list as a single entry)3.133 F 5.363(.T)-.65 G .362
-(he last command in the history list is)-5.363 F(remo)180 216 Q -.15(ve)
+rent history list.)24.74 F .773
+(These are lines appended to the history \214le since the be)180 144 R
+.772(ginning of the current)-.15 F F1(bash)3.272 E F0(ses-)3.272 E
+(sion.)180 156 Q F1<ad72>144 168 Q F0(Read the contents of the history \
+\214le and append them to the current history list.)25.86 E F1<ad77>144
+180 Q F0(Write the current history list to the history \214le, o)23.08 E
+-.15(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G
+(ontents.)-2.5 E F1<ad70>144 192 Q F0 .625
+(Perform history substitution on the follo)24.74 F(wing)-.25 E F2(ar)
+3.125 E(gs)-.37 E F0 .626(and display the result on the standard)3.125 F
+2.975(output. Does)180 204 R .475
+(not store the results in the history list.)2.975 F(Each)5.475 E F2(ar)
+2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F
+(normal history e)180 216 Q(xpansion.)-.15 E F1<ad73>144 228 Q F0 .362
+(Store the)26.41 F F2(ar)3.192 E(gs)-.37 E F0 .363
+(in the history list as a single entry)3.132 F 5.363(.T)-.65 G .363
+(he last command in the history list is)-5.363 F(remo)180 240 Q -.15(ve)
 -.15 G 2.5(db).15 G(efore the)-2.5 E F2(ar)2.83 E(gs)-.37 E F0
-(are added.)2.77 E .145(If the)144 232.8 R/F3 9/Times-Bold@0 SF
+(are added.)2.77 E .146(If the)144 256.8 R/F3 9/Times-Bold@0 SF
 (HISTTIMEFORMA)2.645 E(T)-.855 E F0 -.25(va)2.395 G .145
 (riable is set, the time stamp information associated with each history)
-.25 F .669(entry is written to the history \214le, mark)144 244.8 R .669
-(ed with the history comment character)-.1 F 5.668(.W)-.55 G .668
-(hen the history)-5.668 F .955(\214le is read, lines be)144 256.8 R .956
-(ginning with the history comment character follo)-.15 F .956
-(wed immediately by a digit)-.25 F .416
-(are interpreted as timestamps for the pre)144 268.8 R .416
-(vious history line.)-.25 F .416(The return v)5.416 F .415
+.25 F .668(entry is written to the history \214le, mark)144 268.8 R .669
+(ed with the history comment character)-.1 F 5.669(.W)-.55 G .669
+(hen the history)-5.669 F .956(\214le is read, lines be)144 280.8 R .956
+(ginning with the history comment character follo)-.15 F .955
+(wed immediately by a digit)-.25 F .415
+(are interpreted as timestamps for the pre)144 292.8 R .416
+(vious history line.)-.25 F .416(The return v)5.416 F .416
 (alue is 0 unless an in)-.25 F -.25(va)-.4 G(lid).25 E .499(option is e\
 ncountered, an error occurs while reading or writing the history \214le\
-, an in)144 280.8 R -.25(va)-.4 G(lid).25 E F2(of)3 E(fset)-.18 E F0(is)
-3 E(supplied as an ar)144 292.8 Q(gument to)-.18 E F1<ad64>2.5 E F0 2.5
-(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E(xpansion supplied as an ar)-.15
-E(gument to)-.18 E F1<ad70>2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(jobs)108
-309.6 Q F0([)2.5 E F1(\255lnprs)A F0 2.5(][)C F2(jobspec)A F0(... ])2.5
-E F1(jobs \255x)108 321.6 Q F2(command)2.5 E F0([)2.5 E F2(ar)2.5 E(gs)
--.37 E F0(... ])2.5 E(The \214rst form lists the acti)144 333.6 Q .3
--.15(ve j)-.25 H 2.5(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H
-(he follo).15 E(wing meanings:)-.25 E F1<ad6c>144 345.6 Q F0
+, an in)144 304.8 R -.25(va)-.4 G(lid).25 E F2(of)2.999 E(fset)-.18 E F0
+(is)2.999 E(supplied as an ar)144 316.8 Q(gument to)-.18 E F1<ad64>2.5 E
+F0 2.5(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E
+(xpansion supplied as an ar)-.15 E(gument to)-.18 E F1<ad70>2.5 E F0 -.1
+(fa)2.5 G(ils.).1 E F1(jobs)108 333.6 Q F0([)2.5 E F1(\255lnprs)A F0 2.5
+(][)C F2(jobspec)A F0(... ])2.5 E F1(jobs \255x)108 345.6 Q F2(command)
+2.5 E F0([)2.5 E F2(ar)2.5 E(gs)-.37 E F0(... ])2.5 E
+(The \214rst form lists the acti)144 357.6 Q .3 -.15(ve j)-.25 H 2.5
+(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E
+(wing meanings:)-.25 E F1<ad6c>144 369.6 Q F0
 (List process IDs in addition to the normal information.)27.52 E F1
-<ad6e>144 357.6 Q F0 .194(Display information only about jobs that ha)
-24.74 F .494 -.15(ve c)-.2 H .193(hanged status since the user w).15 F
-.193(as last noti-)-.1 F(\214ed of their status.)180 369.6 Q F1<ad70>144
-381.6 Q F0(List only the process ID of the job')24.74 E 2.5(sp)-.55 G
-(rocess group leader)-2.5 E(.)-.55 E F1<ad72>144 393.6 Q F0
-(Restrict output to running jobs.)25.86 E F1<ad73>144 405.6 Q F0
-(Restrict output to stopped jobs.)26.41 E(If)144 422.4 Q F2(jobspec)
-4.553 E F0 .313(is gi)3.123 F -.15(ve)-.25 G .313
-(n, output is restricted to information about that job).15 F 5.314(.T)
--.4 G .314(he return status is 0 unless)-5.314 F(an in)144 434.4 Q -.25
+<ad6e>144 381.6 Q F0 .193(Display information only about jobs that ha)
+24.74 F .494 -.15(ve c)-.2 H .194(hanged status since the user w).15 F
+.194(as last noti-)-.1 F(\214ed of their status.)180 393.6 Q F1<ad70>144
+405.6 Q F0(List only the process ID of the job')24.74 E 2.5(sp)-.55 G
+(rocess group leader)-2.5 E(.)-.55 E F1<ad72>144 417.6 Q F0
+(Display only running jobs.)25.86 E F1<ad73>144 429.6 Q F0
+(Display only stopped jobs.)26.41 E(If)144 446.4 Q F2(jobspec)4.554 E F0
+.314(is gi)3.124 F -.15(ve)-.25 G .314
+(n, output is restricted to information about that job).15 F 5.313(.T)
+-.4 G .313(he return status is 0 unless)-5.313 F(an in)144 458.4 Q -.25
 (va)-.4 G(lid option is encountered or an in).25 E -.25(va)-.4 G(lid).25
-E F2(jobspec)4.24 E F0(is supplied.)2.81 E .395(If the)144 451.2 R F1
-<ad78>2.895 E F0 .394(option is supplied,)2.894 F F1(jobs)2.894 E F0
+E F2(jobspec)4.24 E F0(is supplied.)2.81 E .394(If the)144 475.2 R F1
+<ad78>2.894 E F0 .394(option is supplied,)2.894 F F1(jobs)2.894 E F0
 .394(replaces an)2.894 F(y)-.15 E F2(jobspec)4.634 E F0 .394(found in)
-3.204 F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .394
-(with the corre-)3.164 F(sponding process group ID, and e)144 463.2 Q
+3.204 F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .395
+(with the corre-)3.164 F(sponding process group ID, and e)144 487.2 Q
 -.15(xe)-.15 G(cutes).15 E F2(command)2.7 E F0(passing it)3.27 E F2(ar)
 2.5 E(gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)-.15 E
-F1(kill)108 480 Q F0([)2.5 E F1<ad73>A F2(sigspec)2.5 E F0(|)2.5 E F1
+F1(kill)108 504 Q F0([)2.5 E F1<ad73>A F2(sigspec)2.5 E F0(|)2.5 E F1
 <ad6e>2.5 E F2(signum)2.5 E F0(|)2.5 E F1<ad>2.5 E F2(sigspec)A F0 2.5
 (][)C F2(pid)-2.5 E F0(|)2.5 E F2(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F1
-(kill \255l)108 492 Q F0([)2.5 E F2(sigspec)A F0(|)2.5 E F2 -.2(ex)2.5 G
-(it_status).2 E F0(])A .119(Send the signal named by)144 504 R F2
-(sigspec)2.959 E F0(or)2.929 E F2(signum)2.959 E F0 .119
-(to the processes named by)2.939 F F2(pid)3.87 E F0(or)3.39 E F2
-(jobspec)2.62 E F0(.).31 E F2(sigspec)5.46 E F0(is)2.93 E .319
-(either a case-insensiti)144 516 R .619 -.15(ve s)-.25 H .319
-(ignal name such as).15 F F3(SIGKILL)2.819 E F0 .318
-(\(with or without the)2.569 F F3(SIG)2.818 E F0 .318
-(pre\214x\) or a signal)2.568 F(number;)144 528 Q F2(signum)4.188 E F0
-1.349(is a signal number)4.168 F 6.349(.I)-.55 G(f)-6.349 E F2(sigspec)
+(kill \255l)108 516 Q F0([)2.5 E F2(sigspec)A F0(|)2.5 E F2 -.2(ex)2.5 G
+(it_status).2 E F0(])A .12(Send the signal named by)144 528 R F2
+(sigspec)2.96 E F0(or)2.93 E F2(signum)2.96 E F0 .119
+(to the processes named by)2.939 F F2(pid)3.869 E F0(or)3.389 E F2
+(jobspec)2.619 E F0(.).31 E F2(sigspec)5.459 E F0(is)2.929 E .318
+(either a case-insensiti)144 540 R .618 -.15(ve s)-.25 H .318
+(ignal name such as).15 F F3(SIGKILL)2.818 E F0 .319
+(\(with or without the)2.569 F F3(SIG)2.819 E F0 .319
+(pre\214x\) or a signal)2.569 F(number;)144 552 Q F2(signum)4.189 E F0
+1.349(is a signal number)4.169 F 6.349(.I)-.55 G(f)-6.349 E F2(sigspec)
 4.189 E F0 1.349(is not present, then)4.159 F F3(SIGTERM)3.849 E F0
-1.349(is assumed.)3.599 F(An)6.349 E(ar)144 540 Q .523(gument of)-.18 F
+1.348(is assumed.)3.599 F(An)6.348 E(ar)144 564 Q .522(gument of)-.18 F
 F1<ad6c>3.023 E F0 .523(lists the signal names.)3.023 F .523(If an)5.523
 F 3.023(ya)-.15 G -.18(rg)-3.023 G .523(uments are supplied when).18 F
 F1<ad6c>3.023 E F0 .523(is gi)3.023 F -.15(ve)-.25 G .523(n, the names)
-.15 F .28(of the signals corresponding to the ar)144 552 R .28
+.15 F .28(of the signals corresponding to the ar)144 576 R .28
 (guments are listed, and the return status is 0.)-.18 F(The)5.28 E F2
--.2(ex)2.78 G(it_status).2 E F0(ar)144 564 Q .378(gument to)-.18 F F1
-<ad6c>2.878 E F0 .378
-(is a number specifying either a signal number or the e)2.878 F .377
-(xit status of a process termi-)-.15 F .593(nated by a signal.)144 576 R
+-.2(ex)2.78 G(it_status).2 E F0(ar)144 588 Q .377(gument to)-.18 F F1
+<ad6c>2.877 E F0 .378
+(is a number specifying either a signal number or the e)2.877 F .378
+(xit status of a process termi-)-.15 F .594(nated by a signal.)144 600 R
 F1(kill)5.593 E F0 .593(returns true if at least one signal w)3.093 F
-.593(as successfully sent, or f)-.1 F .594(alse if an error)-.1 F
-(occurs or an in)144 588 Q -.25(va)-.4 G(lid option is encountered.).25
-E F1(let)108 604.8 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A(g)-.37 E F0
-(...])2.5 E(Each)144 616.8 Q F2(ar)3.027 E(g)-.37 E F0 .197
-(is an arithmetic e)2.917 F .197(xpression to be e)-.15 F -.25(va)-.25 G
-.196(luated \(see).25 F F3 .196(ARITHMETIC EV)2.696 F(ALU)-1.215 E -.855
-(AT)-.54 G(ION).855 E F0(abo)2.446 E -.15(ve)-.15 G 2.696(\). If).15 F
-(the last)144 628.8 Q F2(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G
+.593(as successfully sent, or f)-.1 F .593(alse if an error)-.1 F
+(occurs or an in)144 612 Q -.25(va)-.4 G(lid option is encountered.).25
+E F1(let)108 628.8 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A(g)-.37 E F0
+(...])2.5 E(Each)144 640.8 Q F2(ar)3.026 E(g)-.37 E F0 .196
+(is an arithmetic e)2.916 F .197(xpression to be e)-.15 F -.25(va)-.25 G
+.197(luated \(see).25 F F3 .197(ARITHMETIC EV)2.697 F(ALU)-1.215 E -.855
+(AT)-.54 G(ION).855 E F0(abo)2.447 E -.15(ve)-.15 G 2.697(\). If).15 F
+(the last)144 652.8 Q F2(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G
 (luates to 0,).25 E F1(let)2.5 E F0(returns 1; 0 is returned otherwise.)
-2.5 E F1(local)108 645.6 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(name)
--2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E -.15(Fo)144 657.6 S
+2.5 E F1(local)108 669.6 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(name)
+-2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E -.15(Fo)144 681.6 S
 2.56(re).15 G .06(ach ar)-2.56 F .06(gument, a local v)-.18 F .06
 (ariable named)-.25 F F2(name)2.92 E F0 .06(is created, and assigned)
 2.74 F F2(value)2.56 E F0 5.06(.T).18 G(he)-5.06 E F2(option)2.56 E F0
-.06(can be)2.56 F(an)144 669.6 Q 3.153(yo)-.15 G 3.153(ft)-3.153 G .653
-(he options accepted by)-3.153 F F1(declar)3.153 E(e)-.18 E F0 5.652(.W)
-C(hen)-5.652 E F1(local)3.152 E F0 .652
+.06(can be)2.56 F(an)144 693.6 Q 3.152(yo)-.15 G 3.152(ft)-3.152 G .652
+(he options accepted by)-3.152 F F1(declar)3.152 E(e)-.18 E F0 5.652(.W)
+C(hen)-5.652 E F1(local)3.152 E F0 .653
 (is used within a function, it causes the v)3.152 F(ari-)-.25 E(able)144
-681.6 Q F2(name)3.72 E F0 .86(to ha)3.54 F 1.16 -.15(ve a v)-.2 H .861
-(isible scope restricted to that function and its children.).15 F -.4
-(Wi)5.861 G .861(th no operands,).4 F F1(local)144 693.6 Q F0 1.165
-(writes a list of local v)3.665 F 1.165
+705.6 Q F2(name)3.721 E F0 .861(to ha)3.541 F 1.161 -.15(ve a v)-.2 H
+.861(isible scope restricted to that function and its children.).15 F
+-.4(Wi)5.86 G .86(th no operands,).4 F F1(local)144 717.6 Q F0 1.164
+(writes a list of local v)3.664 F 1.165
 (ariables to the standard output.)-.25 F 1.165(It is an error to use)
-6.165 F F1(local)3.664 E F0 1.164(when not)3.664 F .232
-(within a function.)144 705.6 R .233(The return status is 0 unless)5.232
+6.165 F F1(local)3.665 E F0 1.165(when not)3.665 F .233
+(within a function.)144 729.6 R .233(The return status is 0 unless)5.233
 F F1(local)2.733 E F0 .233(is used outside a function, an in)2.733 F
--.25(va)-.4 G(lid).25 E F2(name)3.093 E F0(is)2.913 E(supplied, or)144
-717.6 Q F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E
-(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(10)198.725 E 0 Cg EP
+-.25(va)-.4 G(lid).25 E F2(name)3.092 E F0(is)2.912 E(GNU Bash-4.0)72
+768 Q(2004 Apr 20)148.735 E(10)198.725 E 0 Cg EP
 %%Page: 11 11
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF(logout)108 84 Q F0(Exit a login shell.)9.33 E F1
-(map\214le)108 100.8 Q F0([)2.5 E F1<ad6e>A/F2 10/Times-Italic@0 SF
-(count)2.5 E F0 2.5(][)C F1<ad4f>-2.5 E F2(origin)2.5 E F0 2.5(][)C F1
-<ad73>-2.5 E F2(count)2.5 E F0 2.5(][)C F1<ad74>-2.5 E F0 2.5(][)C F1
-<ad75>-2.5 E F2(fd)2.5 E F0 2.5(][)C F1<ad43>-2.5 E F2(callbac)2.5 E(k)
--.2 E F0 2.5(][)C F1<ad63>-2.5 E F2(quantum)2.5 E F0 2.5(][)C F2(arr)
--2.5 E(ay)-.15 E F0(])A F1 -.18(re)108 112.8 S(adarray).18 E F0([)2.5 E
-F1<ad6e>A F2(count)2.5 E F0 2.5(][)C F1<ad4f>-2.5 E F2(origin)2.5 E F0
-2.5(][)C F1<ad73>-2.5 E F2(count)2.5 E F0 2.5(][)C F1<ad74>-2.5 E F0 2.5
-(][)C F1<ad75>-2.5 E F2(fd)2.5 E F0 2.5(][)C F1<ad43>-2.5 E F2(callbac)
-2.5 E(k)-.2 E F0 2.5(][)C F1<ad63>-2.5 E F2(quantum)2.5 E F0 2.5(][)C F2
-(arr)-2.5 E(ay)-.15 E F0(])A .351
-(Read lines from the standard input into the inde)144 124.8 R -.15(xe)
--.15 G 2.851(da).15 G .351(rray v)-2.851 F(ariable)-.25 E F2(arr)2.85 E
-(ay)-.15 E F0 2.85(,o).32 G 2.85(rf)-2.85 G .35(rom \214le descriptor)
--2.85 F F2(fd)2.85 E F0 1.248(if the)144 136.8 R F1<ad75>3.748 E F0
-1.248(option is supplied.)3.748 F 1.249(The v)6.249 F(ariable)-.25 E/F3
-9/Times-Bold@0 SF(MAPFILE)3.749 E F0 1.249(is the def)3.499 F(ault)-.1 E
-F2(arr)3.749 E(ay)-.15 E F0 6.249(.O)C 1.249(ptions, if supplied,)-6.249
-F(ha)144 148.8 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E
-F1<ad6e>144 160.8 Q F0(Cop)24.74 E 2.5(ya)-.1 G 2.5(tm)-2.5 G(ost)-2.5 E
-F2(count)2.7 E F0 2.5(lines. If)3.18 F F2(count)2.5 E F0
-(is 0, all lines are copied.)2.5 E F1<ad4f>144 172.8 Q F0(Be)22.52 E
-(gin assigning to)-.15 E F2(arr)2.83 E(ay)-.15 E F0(at inde)2.82 E(x)
--.15 E F2(origin)2.5 E F0 5(.T).24 G(he def)-5 E(ault inde)-.1 E 2.5(xi)
--.15 G 2.5(s0)-2.5 G(.)-2.5 E F1<ad73>144 184.8 Q F0
-(Discard the \214rst)26.41 E F2(count)2.5 E F0(lines read.)2.5 E F1
-<ad74>144 196.8 Q F0(Remo)26.97 E .3 -.15(ve a t)-.15 H(railing ne).15 E
-(wline from each line read.)-.25 E F1<ad75>144 208.8 Q F0
-(Read lines from \214le descriptor)24.74 E F2(fd)2.5 E F0
-(instead of the standard input.)2.5 E F1<ad43>144 220.8 Q F0(Ev)23.08 E
-(aluate)-.25 E F2(callbac)2.7 E(k)-.2 E F0(each time)3.17 E F2(quantum)
-2.5 E F0(lines are read.)2.5 E(The)5 E F1<ad63>2.5 E F0
-(option speci\214es)2.5 E F2(quantum)2.5 E F0(.).32 E F1<ad63>144 232.8
-Q F0(Specify the number of lines read between each call to)25.86 E F2
-(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 249.6 Q F1<ad43>2.968 E F0 .467
-(is speci\214ed without)2.967 F F1<ad63>2.967 E F0 2.967(,t)C .467
-(he def)-2.967 F .467(ault quantum is 5000.)-.1 F(When)5.467 E F2
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E
+(supplied, or)144 84 Q/F1 10/Times-Italic@0 SF(name)2.5 E F0
+(is a readonly v)2.5 E(ariable.)-.25 E/F2 10/Times-Bold@0 SF(logout)108
+100.8 Q F0(Exit a login shell.)9.33 E F2(map\214le)108 117.6 Q F0([)2.5
+E F2<ad6e>A F1(count)2.5 E F0 2.5(][)C F2<ad4f>-2.5 E F1(origin)2.5 E F0
+2.5(][)C F2<ad73>-2.5 E F1(count)2.5 E F0 2.5(][)C F2<ad74>-2.5 E F0 2.5
+(][)C F2<ad75>-2.5 E F1(fd)2.5 E F0 2.5(][)C F2<ad43>-2.5 E F1(callbac)
+2.5 E(k)-.2 E F0 2.5(][)C F2<ad63>-2.5 E F1(quantum)2.5 E F0 2.5(][)C F1
+(arr)-2.5 E(ay)-.15 E F0(])A F2 -.18(re)108 129.6 S(adarray).18 E F0([)
+2.5 E F2<ad6e>A F1(count)2.5 E F0 2.5(][)C F2<ad4f>-2.5 E F1(origin)2.5
+E F0 2.5(][)C F2<ad73>-2.5 E F1(count)2.5 E F0 2.5(][)C F2<ad74>-2.5 E
+F0 2.5(][)C F2<ad75>-2.5 E F1(fd)2.5 E F0 2.5(][)C F2<ad43>-2.5 E F1
+(callbac)2.5 E(k)-.2 E F0 2.5(][)C F2<ad63>-2.5 E F1(quantum)2.5 E F0
+2.5(][)C F1(arr)-2.5 E(ay)-.15 E F0(])A .35
+(Read lines from the standard input into the inde)144 141.6 R -.15(xe)
+-.15 G 2.851(da).15 G .351(rray v)-2.851 F(ariable)-.25 E F1(arr)2.851 E
+(ay)-.15 E F0 2.851(,o).32 G 2.851(rf)-2.851 G .351
+(rom \214le descriptor)-2.851 F F1(fd)2.851 E F0 1.249(if the)144 153.6
+R F2<ad75>3.749 E F0 1.249(option is supplied.)3.749 F 1.249(The v)6.249
+F(ariable)-.25 E/F3 9/Times-Bold@0 SF(MAPFILE)3.749 E F0 1.249
+(is the def)3.499 F(ault)-.1 E F1(arr)3.748 E(ay)-.15 E F0 6.248(.O)C
+1.248(ptions, if supplied,)-6.248 F(ha)144 165.6 Q .3 -.15(ve t)-.2 H
+(he follo).15 E(wing meanings:)-.25 E F2<ad6e>144 177.6 Q F0(Cop)24.74 E
+2.5(ya)-.1 G 2.5(tm)-2.5 G(ost)-2.5 E F1(count)2.7 E F0 2.5(lines. If)
+3.18 F F1(count)2.5 E F0(is 0, all lines are copied.)2.5 E F2<ad4f>144
+189.6 Q F0(Be)22.52 E(gin assigning to)-.15 E F1(arr)2.83 E(ay)-.15 E F0
+(at inde)2.82 E(x)-.15 E F1(origin)2.5 E F0 5(.T).24 G(he def)-5 E
+(ault inde)-.1 E 2.5(xi)-.15 G 2.5(s0)-2.5 G(.)-2.5 E F2<ad73>144 201.6
+Q F0(Discard the \214rst)26.41 E F1(count)2.5 E F0(lines read.)2.5 E F2
+<ad74>144 213.6 Q F0(Remo)26.97 E .3 -.15(ve a t)-.15 H(railing ne).15 E
+(wline from each line read.)-.25 E F2<ad75>144 225.6 Q F0
+(Read lines from \214le descriptor)24.74 E F1(fd)2.5 E F0
+(instead of the standard input.)2.5 E F2<ad43>144 237.6 Q F0(Ev)23.08 E
+(aluate)-.25 E F1(callbac)2.7 E(k)-.2 E F0(each time)3.17 E F1(quantum)
+2.5 E F0(lines are read.)2.5 E(The)5 E F2<ad63>2.5 E F0
+(option speci\214es)2.5 E F1(quantum)2.5 E F0(.).32 E F2<ad63>144 249.6
+Q F0(Specify the number of lines read between each call to)25.86 E F1
+(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 266.4 Q F2<ad43>2.967 E F0 .467
+(is speci\214ed without)2.967 F F2<ad63>2.967 E F0 2.967(,t)C .467
+(he def)-2.967 F .467(ault quantum is 5000.)-.1 F(When)5.467 E F1
 (callbac)2.967 E(k)-.2 E F0 .467(is e)2.967 F -.25(va)-.25 G .467
-(luated, it is sup-).25 F .261(plied the inde)144 261.6 R 2.761(xo)-.15
-G 2.761(ft)-2.761 G .261(he ne)-2.761 F .262(xt array element to be ass\
-igned and the line to be assigned to that element)-.15 F .275
-(as additional ar)144 273.6 R(guments.)-.18 E F2(callbac)5.275 E(k)-.2 E
-F0 .275(is e)2.775 F -.25(va)-.25 G .274
-(luated after the line is read b).25 F .274
-(ut before the array element is)-.2 F(assigned.)144 285.6 Q
-(If not supplied with an e)144 302.4 Q(xplicit origin,)-.15 E F1
-(map\214le)2.5 E F0(will clear)2.5 E F2(arr)2.5 E(ay)-.15 E F0
-(before assigning to it.)2.5 E F1(map\214le)144 319.2 Q F0 1.905
-(returns successfully unless an in)4.405 F -.25(va)-.4 G 1.905
-(lid option or option ar).25 F 1.906(gument is supplied,)-.18 F F2(arr)
-4.406 E(ay)-.15 E F0(is)4.406 E(in)144 331.2 Q -.25(va)-.4 G
-(lid or unassignable, or if).25 E F2(arr)2.5 E(ay)-.15 E F0
+(luated, it is sup-).25 F .262(plied the inde)144 278.4 R 2.762(xo)-.15
+G 2.762(ft)-2.762 G .262(he ne)-2.762 F .261(xt array element to be ass\
+igned and the line to be assigned to that element)-.15 F .274
+(as additional ar)144 290.4 R(guments.)-.18 E F1(callbac)5.274 E(k)-.2 E
+F0 .274(is e)2.774 F -.25(va)-.25 G .274
+(luated after the line is read b).25 F .275
+(ut before the array element is)-.2 F(assigned.)144 302.4 Q
+(If not supplied with an e)144 319.2 Q(xplicit origin,)-.15 E F2
+(map\214le)2.5 E F0(will clear)2.5 E F1(arr)2.5 E(ay)-.15 E F0
+(before assigning to it.)2.5 E F2(map\214le)144 336 Q F0 1.906
+(returns successfully unless an in)4.406 F -.25(va)-.4 G 1.905
+(lid option or option ar).25 F 1.905(gument is supplied,)-.18 F F1(arr)
+4.405 E(ay)-.15 E F0(is)4.405 E(in)144 348 Q -.25(va)-.4 G
+(lid or unassignable, or if).25 E F1(arr)2.5 E(ay)-.15 E F0
 (is not an inde)2.5 E -.15(xe)-.15 G 2.5(da).15 G(rray)-2.5 E(.)-.65 E
-F1(popd)108 348 Q F0<5bad>2.5 E F1(n)A F0 2.5(][)C(+)-2.5 E F2(n)A F0
-2.5(][)C<ad>-2.5 E F2(n)A F0(])A(Remo)144 360 Q -.15(ve)-.15 G 2.8(se)
-.15 G .3(ntries from the directory stack.)-2.8 F -.4(Wi)5.299 G .299
-(th no ar).4 F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15 G
-.299(he top directory from the)-2.799 F 1.478(stack, and performs a)144
-372 R F1(cd)3.978 E F0 1.479(to the ne)3.978 F 3.979(wt)-.25 G 1.479
-(op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.479
-(uments, if supplied, ha).18 F 1.779 -.15(ve t)-.2 H 1.479(he follo).15
-F(wing)-.25 E(meanings:)144 384 Q F1<ad6e>144 396 Q F0 .551
+F2(popd)108 364.8 Q F0<5bad>2.5 E F2(n)A F0 2.5(][)C(+)-2.5 E F1(n)A F0
+2.5(][)C<ad>-2.5 E F1(n)A F0(])A(Remo)144 376.8 Q -.15(ve)-.15 G 2.799
+(se).15 G .299(ntries from the directory stack.)-2.799 F -.4(Wi)5.299 G
+.299(th no ar).4 F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15
+G .3(he top directory from the)-2.799 F 1.479(stack, and performs a)144
+388.8 R F2(cd)3.979 E F0 1.479(to the ne)3.979 F 3.979(wt)-.25 G 1.479
+(op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.478
+(uments, if supplied, ha).18 F 1.778 -.15(ve t)-.2 H 1.478(he follo).15
+F(wing)-.25 E(meanings:)144 400.8 Q F2<ad6e>144 412.8 Q F0 .551
 (Suppresses the normal change of directory when remo)24.74 F .551
 (ving directories from the stack, so)-.15 F
-(that only the stack is manipulated.)180 408 Q F1(+)144 420 Q F2(n)A F0
-(Remo)25.3 E -.15(ve)-.15 G 2.64(st).15 G(he)-2.64 E F2(n)2.64 E F0 .14
-(th entry counting from the left of the list sho)B .14(wn by)-.25 F F1
-(dirs)2.64 E F0 2.64(,s)C .14(tarting with zero.)-2.64 F -.15(Fo)180 432
-S 2.5(re).15 G(xample:)-2.65 E/F4 10/Courier@0 SF(popd +0)2.5 E F0(remo)
-2.5 E -.15(ve)-.15 G 2.5(st).15 G(he \214rst directory)-2.5 E(,)-.65 E
-F4(popd +1)2.5 E F0(the second.)2.5 E F1<ad>144 444 Q F2(n)A F0(Remo)
-25.3 E -.15(ve)-.15 G 3.76(st).15 G(he)-3.76 E F2(n)3.76 E F0 1.259
-(th entry counting from the right of the list sho)B 1.259(wn by)-.25 F
-F1(dirs)3.759 E F0 3.759(,s)C 1.259(tarting with)-3.759 F 2.5(zero. F)
-180 456 R(or e)-.15 E(xample:)-.15 E F4(popd -0)2.5 E F0(remo)2.5 E -.15
+(that only the stack is manipulated.)180 424.8 Q F2(+)144 436.8 Q F1(n)A
+F0(Remo)25.3 E -.15(ve)-.15 G 2.64(st).15 G(he)-2.64 E F1(n)2.64 E F0
+.14(th entry counting from the left of the list sho)B .14(wn by)-.25 F
+F2(dirs)2.64 E F0 2.64(,s)C .14(tarting with zero.)-2.64 F -.15(Fo)180
+448.8 S 2.5(re).15 G(xample:)-2.65 E/F4 10/Courier@0 SF(popd +0)2.5 E F0
+(remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he \214rst directory)-2.5 E(,)
+-.65 E F4(popd +1)2.5 E F0(the second.)2.5 E F2<ad>144 460.8 Q F1(n)A F0
+(Remo)25.3 E -.15(ve)-.15 G 3.759(st).15 G(he)-3.759 E F1(n)3.759 E F0
+1.259(th entry counting from the right of the list sho)B 1.26(wn by)-.25
+F F2(dirs)3.76 E F0 3.76(,s)C 1.26(tarting with)-3.76 F 2.5(zero. F)180
+472.8 R(or e)-.15 E(xample:)-.15 E F4(popd -0)2.5 E F0(remo)2.5 E -.15
 (ve)-.15 G 2.5(st).15 G(he last directory)-2.5 E(,)-.65 E F4(popd -1)2.5
-E F0(the ne)2.5 E(xt to last.)-.15 E .643(If the)144 472.8 R F1(popd)
-3.143 E F0 .643(command is successful, a)3.143 F F1(dirs)3.143 E F0 .644
-(is performed as well, and the return status is 0.)3.143 F F1(popd)5.644
-E F0 .416(returns f)144 484.8 R .416(alse if an in)-.1 F -.25(va)-.4 G
-.415(lid option is encountered, the directory stack is empty).25 F 2.915
-(,an)-.65 G(on-e)-2.915 E .415(xistent direc-)-.15 F
-(tory stack entry is speci\214ed, or the directory change f)144 496.8 Q
-(ails.)-.1 E F1(printf)108 513.6 Q F0([)2.5 E F1<ad76>A F2(var)2.5 E F0
-(])A F2(format)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A 1.436
-(Write the formatted)144 525.6 R F2(ar)3.936 E(guments)-.37 E F0 1.437
-(to the standard output under the control of the)3.936 F F2(format)3.937
-E F0 6.437(.T)C(he)-6.437 E F1<ad76>3.937 E F0 .126
-(option causes the output to be assigned to the v)144 537.6 R(ariable)
--.25 E F2(var)2.626 E F0 .126(rather than being printed to the standard)
-2.626 F(output.)144 549.6 Q(The)144 573.6 Q F2(format)3.017 E F0 .517(i\
+E F0(the ne)2.5 E(xt to last.)-.15 E .644(If the)144 489.6 R F2(popd)
+3.144 E F0 .644(command is successful, a)3.144 F F2(dirs)3.143 E F0 .643
+(is performed as well, and the return status is 0.)3.143 F F2(popd)5.643
+E F0 .415(returns f)144 501.6 R .415(alse if an in)-.1 F -.25(va)-.4 G
+.415(lid option is encountered, the directory stack is empty).25 F 2.916
+(,an)-.65 G(on-e)-2.916 E .416(xistent direc-)-.15 F
+(tory stack entry is speci\214ed, or the directory change f)144 513.6 Q
+(ails.)-.1 E F2(printf)108 530.4 Q F0([)2.5 E F2<ad76>A F1(var)2.5 E F0
+(])A F1(format)2.5 E F0([)2.5 E F1(ar)A(guments)-.37 E F0(])A 1.437
+(Write the formatted)144 542.4 R F1(ar)3.937 E(guments)-.37 E F0 1.437
+(to the standard output under the control of the)3.937 F F1(format)3.936
+E F0 6.436(.T)C(he)-6.436 E F2<ad76>3.936 E F0 .126
+(option causes the output to be assigned to the v)144 554.4 R(ariable)
+-.25 E F1(var)2.626 E F0 .126(rather than being printed to the standard)
+2.626 F(output.)144 566.4 Q(The)144 590.4 Q F1(format)3.018 E F0 .517(i\
 s a character string which contains three types of objects: plain chara\
-cters, which are)3.017 F .704(simply copied to standard output, charact\
-er escape sequences, which are con)144 585.6 R -.15(ve)-.4 G .703
+cters, which are)3.018 F .704(simply copied to standard output, charact\
+er escape sequences, which are con)144 602.4 R -.15(ve)-.4 G .704
 (rted and copied to).15 F .036(the standard output, and format speci\
-\214cations, each of which causes printing of the ne)144 597.6 R .037
-(xt successi)-.15 F -.15(ve)-.25 G F2(ar)144 609.6 Q(gument)-.37 E F0
-5.532(.I)C 3.032(na)-5.532 G .532(ddition to the standard)-3.032 F F2
-(printf)3.032 E F0 .532(\(1\) format speci\214cations,)B F1(printf)3.031
-E F0 .531(interprets the follo)3.031 F(w-)-.25 E(ing e)144 621.6 Q
-(xtensions:)-.15 E F1(%b)144 633.6 Q F0(causes)20.44 E F1(printf)5.115 E
+\214cations, each of which causes printing of the ne)144 614.4 R .036
+(xt successi)-.15 F -.15(ve)-.25 G F1(ar)144 626.4 Q(gument)-.37 E F0
+5.531(.I)C 3.031(na)-5.531 G .531(ddition to the standard)-3.031 F F1
+(printf)3.032 E F0 .532(\(1\) format speci\214cations,)B F2(printf)3.032
+E F0 .532(interprets the follo)3.032 F(w-)-.25 E(ing e)144 638.4 Q
+(xtensions:)-.15 E F2(%b)144 650.4 Q F0(causes)20.44 E F2(printf)5.115 E
 F0 2.615(to e)5.115 F 2.615
-(xpand backslash escape sequences in the corresponding)-.15 F F2(ar)
-5.115 E(gument)-.37 E F0(\(e)180 645.6 Q .608(xcept that)-.15 F F1(\\c)
-3.108 E F0 .608(terminates output, backslashes in)3.108 F F1<5c08>3.108
-E F0(,)A F1(\\")3.108 E F0 3.108(,a)C(nd)-3.108 E F1(\\?)3.108 E F0 .608
+(xpand backslash escape sequences in the corresponding)-.15 F F1(ar)
+5.115 E(gument)-.37 E F0(\(e)180 662.4 Q .608(xcept that)-.15 F F2(\\c)
+3.108 E F0 .608(terminates output, backslashes in)3.108 F F2<5c08>3.108
+E F0(,)A F2(\\")3.108 E F0 3.108(,a)C(nd)-3.108 E F2(\\?)3.108 E F0 .608
 (are not remo)3.108 F -.15(ve)-.15 G .608(d, and octal).15 F(escapes be)
-180 657.6 Q(ginning with)-.15 E F1(\\0)2.5 E F0
-(may contain up to four digits\).)2.5 E F1(%q)144 669.6 Q F0(causes)
-20.44 E F1(printf)2.51 E F0 .01(to output the corresponding)2.51 F F2
+180 674.4 Q(ginning with)-.15 E F2(\\0)2.5 E F0
+(may contain up to four digits\).)2.5 E F2(%q)144 686.4 Q F0(causes)
+20.44 E F2(printf)2.51 E F0 .01(to output the corresponding)2.51 F F1
 (ar)2.51 E(gument)-.37 E F0 .01(in a format that can be reused as shell)
-2.51 F(input.)180 681.6 Q F1(%\()144 693.6 Q F2(datefmt)A F1(\)T)A F0
-(causes)180 705.6 Q F1(printf)4.404 E F0 1.904
-(to output the date-time string resulting from using)4.404 F F2(datefmt)
-4.404 E F0 1.903(as a format)4.404 F .38(string for)180 717.6 R F2
-(strftime)2.881 E F0 2.881(\(3\). The)B(corresponding)2.881 E F2(ar)
-2.881 E(gument)-.37 E F0 .381(is an inte)2.881 F .381
-(ger representing the number)-.15 F .458(of seconds since the epoch.)180
-729.6 R -1 -.8(Tw o)5.458 H .458(special ar)3.758 F .458(gument v)-.18 F
-.458(alues may be used: -1 represents the)-.25 F(GNU Bash-4.0)72 768 Q
-(2004 Apr 20)148.735 E(11)198.725 E 0 Cg EP
+2.51 F(input.)180 698.4 Q(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E
+(11)198.725 E 0 Cg EP
 %%Page: 12 12
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E
-(current time, and -2 represents the time the shell w)180 84 Q(as in)-.1
-E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E(Ar)144 100.8 Q .463(guments to non-s\
-tring format speci\214ers are treated as C constants, e)-.18 F .464
-(xcept that a leading plus or)-.15 F 1.259(minus sign is allo)144 112.8
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
+/Times-Bold@0 SF(%\()144 84 Q/F2 10/Times-Italic@0 SF(datefmt)A F1(\)T)A
+F0(causes)180 96 Q F1(printf)4.403 E F0 1.904
+(to output the date-time string resulting from using)4.403 F F2(datefmt)
+4.404 E F0 1.904(as a format)4.404 F .381(string for)180 108 R F2
+(strftime)2.881 E F0 2.881(\(3\). The)B(corresponding)2.881 E F2(ar)
+2.881 E(gument)-.37 E F0 .381(is an inte)2.881 F .381
+(ger representing the number)-.15 F .457(of seconds since the epoch.)180
+120 R -1 -.8(Tw o)5.458 H .458(special ar)3.758 F .458(gument v)-.18 F
+.458(alues may be used: -1 represents the)-.25 F
+(current time, and -2 represents the time the shell w)180 132 Q(as in)
+-.1 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E(Ar)144 148.8 Q .464(guments to n\
+on-string format speci\214ers are treated as C constants, e)-.18 F .463
+(xcept that a leading plus or)-.15 F 1.258(minus sign is allo)144 160.8
 R 1.259
 (wed, and if the leading character is a single or double quote, the v)
--.25 F 1.258(alue is the)-.25 F(ASCII v)144 124.8 Q(alue of the follo)
--.25 E(wing character)-.25 E(.)-.55 E(The)144 141.6 Q/F1 10
-/Times-Italic@0 SF(format)3.423 E F0 .923
-(is reused as necessary to consume all of the)3.423 F F1(ar)3.423 E
-(guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F1(format)
-3.423 E F0 .924(requires more)3.424 F F1(ar)144 153.6 Q(guments)-.37 E
-F0 .033(than are supplied, the e)2.534 F .033
+-.25 F 1.259(alue is the)-.25 F(ASCII v)144 172.8 Q(alue of the follo)
+-.25 E(wing character)-.25 E(.)-.55 E(The)144 189.6 Q F2(format)3.424 E
+F0 .923(is reused as necessary to consume all of the)3.424 F F2(ar)3.423
+E(guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F2(format)
+3.423 E F0 .923(requires more)3.423 F F2(ar)144 201.6 Q(guments)-.37 E
+F0 .033(than are supplied, the e)2.533 F .033
 (xtra format speci\214cations beha)-.15 F .333 -.15(ve a)-.2 H 2.533(si)
-.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .033(alue or null string,)
--.25 F(as appropriate, had been supplied.)144 165.6 Q(The return v)5 E
-(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E/F2 10
-/Times-Bold@0 SF(pushd)108 182.4 Q F0([)2.5 E F2<ad6e>A F0 2.5(][)C(+)
--2.5 E F1(n)A F0 2.5(][)C<ad>-2.5 E F1(n)A F0(])A F2(pushd)108 194.4 Q
-F0([)2.5 E F2<ad6e>A F0 2.5(][)C F1(dir)-2.5 E F0(])A .639(Adds a direc\
-tory to the top of the directory stack, or rotates the stack, making th\
-e ne)144 206.4 R 3.14(wt)-.25 G .64(op of the)-3.14 F 1.316
-(stack the current w)144 218.4 R 1.316(orking directory)-.1 F 6.316(.W)
--.65 G 1.315(ith no ar)-6.716 F 1.315(guments, e)-.18 F 1.315
-(xchanges the top tw)-.15 F 3.815(od)-.1 G 1.315(irectories and)-3.815 F
-.871(returns 0, unless the directory stack is empty)144 230.4 R 5.871
-(.A)-.65 G -.18(rg)-5.871 G .872(uments, if supplied, ha).18 F 1.172
--.15(ve t)-.2 H .872(he follo).15 F .872(wing mean-)-.25 F(ings:)144
-242.4 Q F2<ad6e>144 254.4 Q F0 .902(Suppresses the normal change of dir\
-ectory when adding directories to the stack, so that)24.74 F
-(only the stack is manipulated.)180 266.4 Q F2(+)144 278.4 Q F1(n)A F0
-1.267(Rotates the stack so that the)25.3 F F1(n)3.767 E F0 1.268
-(th directory \(counting from the left of the list sho)B 1.268(wn by)
--.25 F F2(dirs)180 290.4 Q F0 2.5(,s)C
-(tarting with zero\) is at the top.)-2.5 E F2<ad>144 302.4 Q F1(n)A F0
-.92(Rotates the stack so that the)25.3 F F1(n)3.42 E F0 .92
+.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .034(alue or null string,)
+-.25 F(as appropriate, had been supplied.)144 213.6 Q(The return v)5 E
+(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E F1(pushd)
+108 230.4 Q F0([)2.5 E F1<ad6e>A F0 2.5(][)C(+)-2.5 E F2(n)A F0 2.5(][)C
+<ad>-2.5 E F2(n)A F0(])A F1(pushd)108 242.4 Q F0([)2.5 E F1<ad6e>A F0
+2.5(][)C F2(dir)-2.5 E F0(])A .64(Adds a directory to the top of the di\
+rectory stack, or rotates the stack, making the ne)144 254.4 R 3.139(wt)
+-.25 G .639(op of the)-3.139 F 1.315(stack the current w)144 266.4 R
+1.315(orking directory)-.1 F 6.315(.W)-.65 G 1.315(ith no ar)-6.715 F
+1.315(guments, e)-.18 F 1.316(xchanges the top tw)-.15 F 3.816(od)-.1 G
+1.316(irectories and)-3.816 F .872
+(returns 0, unless the directory stack is empty)144 278.4 R 5.871(.A)
+-.65 G -.18(rg)-5.871 G .871(uments, if supplied, ha).18 F 1.171 -.15
+(ve t)-.2 H .871(he follo).15 F .871(wing mean-)-.25 F(ings:)144 290.4 Q
+F1<ad6e>144 302.4 Q F0 .902(Suppresses the normal change of directory w\
+hen adding directories to the stack, so that)24.74 F
+(only the stack is manipulated.)180 314.4 Q F1(+)144 326.4 Q F2(n)A F0
+1.268(Rotates the stack so that the)25.3 F F2(n)3.768 E F0 1.267
+(th directory \(counting from the left of the list sho)B 1.267(wn by)
+-.25 F F1(dirs)180 338.4 Q F0 2.5(,s)C
+(tarting with zero\) is at the top.)-2.5 E F1<ad>144 350.4 Q F2(n)A F0
+.92(Rotates the stack so that the)25.3 F F2(n)3.42 E F0 .92
 (th directory \(counting from the right of the list sho)B .92(wn by)-.25
-F F2(dirs)180 314.4 Q F0 2.5(,s)C(tarting with zero\) is at the top.)
--2.5 E F1(dir)144.35 326.4 Q F0(Adds)23.98 E F1(dir)2.85 E F0
-(to the directory stack at the top, making it the ne)3.23 E 2.5(wc)-.25
-G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .488(If the)144 343.2
-R F2(pushd)2.988 E F0 .488(command is successful, a)2.988 F F2(dirs)
-2.988 E F0 .488(is performed as well.)2.988 F .489
-(If the \214rst form is used,)5.488 F F2(pushd)2.989 E F0 1.04
-(returns 0 unless the cd to)144 355.2 R F1(dir)3.89 E F0 -.1(fa)4.27 G
-3.539(ils. W).1 F 1.039(ith the second form,)-.4 F F2(pushd)3.539 E F0
-1.039(returns 0 unless the directory)3.539 F .846(stack is empty)144
-367.2 R 3.346(,an)-.65 G(on-e)-3.346 E .847(xistent directory stack ele\
-ment is speci\214ed, or the directory change to the)-.15 F
-(speci\214ed ne)144 379.2 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E
-(ails.)-.1 E F2(pwd)108 396 Q F0([)2.5 E F2(\255LP)A F0(])A .845
-(Print the absolute pathname of the current w)144 408 R .845
+F F1(dirs)180 362.4 Q F0 2.5(,s)C(tarting with zero\) is at the top.)
+-2.5 E F2(dir)144.35 374.4 Q F0(Adds)23.98 E F2(dir)3.138 E F0 .288
+(to the directory stack at the top, making it the ne)3.518 F 2.787(wc)
+-.25 G .287(urrent w)-2.787 F .287(orking directory as)-.1 F
+(if it had been supplied as the ar)180 386.4 Q(gument to the)-.18 E F1
+(cd)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .488(If the)144 403.2 R F1(pushd)
+2.988 E F0 .488(command is successful, a)2.988 F F1(dirs)2.988 E F0 .488
+(is performed as well.)2.988 F .489(If the \214rst form is used,)5.488 F
+F1(pushd)2.989 E F0 1.04(returns 0 unless the cd to)144 415.2 R F2(dir)
+3.89 E F0 -.1(fa)4.27 G 3.539(ils. W).1 F 1.039(ith the second form,)-.4
+F F1(pushd)3.539 E F0 1.039(returns 0 unless the directory)3.539 F .846
+(stack is empty)144 427.2 R 3.346(,an)-.65 G(on-e)-3.346 E .847(xistent\
+ directory stack element is speci\214ed, or the directory change to the)
+-.15 F(speci\214ed ne)144 439.2 Q 2.5(wc)-.25 G(urrent directory f)-2.5
+E(ails.)-.1 E F1(pwd)108 456 Q F0([)2.5 E F1(\255LP)A F0(])A .845
+(Print the absolute pathname of the current w)144 468 R .845
 (orking directory)-.1 F 5.844(.T)-.65 G .844
 (he pathname printed contains no)-5.844 F .181(symbolic links if the)144
-420 R F2<ad50>2.681 E F0 .181(option is supplied or the)2.681 F F2 .181
-(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F2(set)
+480 R F1<ad50>2.681 E F0 .181(option is supplied or the)2.681 F F1 .181
+(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F1(set)
 2.681 E F0 -.2(bu)2.681 G .182(iltin command is).2 F 3.264(enabled. If)
-144 432 R(the)3.264 E F2<ad4c>3.264 E F0 .763
+144 492 R(the)3.264 E F1<ad4c>3.264 E F0 .763
 (option is used, the pathname printed may contain symbolic links.)3.264
 F .763(The return)5.763 F 1.36(status is 0 unless an error occurs while\
- reading the name of the current directory or an in)144 444 R -.25(va)
--.4 G(lid).25 E(option is supplied.)144 456 Q F2 -.18(re)108 472.8 S(ad)
-.18 E F0([)3.817 E F2(\255ers)A F0 3.817(][)C F2<ad61>-3.817 E F1(aname)
-3.817 E F0 3.817(][)C F2<ad64>-3.817 E F1(delim)3.817 E F0 3.817(][)C F2
-<ad69>-3.817 E F1(te)3.817 E(xt)-.2 E F0 3.817(][)C F2<ad6e>-3.817 E F1
-(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F2<ad4e>-3.816 E F1(nc)
-3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F2<ad70>-3.816 E F1(pr)3.816 E
-(ompt)-.45 E F0 3.816(][)C F2<ad74>-3.816 E F1(timeout)3.816 E F0 3.816
-(][)C F2<ad75>-3.816 E F1(fd)3.816 E F0(])A([)108 484.8 Q F1(name)A F0
+ reading the name of the current directory or an in)144 504 R -.25(va)
+-.4 G(lid).25 E(option is supplied.)144 516 Q F1 -.18(re)108 532.8 S(ad)
+.18 E F0([)3.817 E F1(\255ers)A F0 3.817(][)C F1<ad61>-3.817 E F2(aname)
+3.817 E F0 3.817(][)C F1<ad64>-3.817 E F2(delim)3.817 E F0 3.817(][)C F1
+<ad69>-3.817 E F2(te)3.817 E(xt)-.2 E F0 3.817(][)C F1<ad6e>-3.817 E F2
+(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F1<ad4e>-3.816 E F2(nc)
+3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F1<ad70>-3.816 E F2(pr)3.816 E
+(ompt)-.45 E F0 3.816(][)C F1<ad74>-3.816 E F2(timeout)3.816 E F0 3.816
+(][)C F1<ad75>-3.816 E F2(fd)3.816 E F0(])A([)108 544.8 Q F2(name)A F0
 (...])2.5 E .516(One line is read from the standard input, or from the \
-\214le descriptor)144 496.8 R F1(fd)3.016 E F0 .516(supplied as an ar)
-3.016 F .516(gument to)-.18 F(the)144 508.8 Q F2<ad75>2.538 E F0 .038
+\214le descriptor)144 556.8 R F2(fd)3.016 E F0 .516(supplied as an ar)
+3.016 F .516(gument to)-.18 F(the)144 568.8 Q F1<ad75>2.538 E F0 .038
 (option, and the \214rst w)2.538 F .038(ord is assigned to the \214rst)
--.1 F F1(name)2.539 E F0 2.539(,t).18 G .039(he second w)-2.539 F .039
-(ord to the second)-.1 F F1(name)2.539 E F0(,).18 E .42
-(and so on, with lefto)144 520.8 R -.15(ve)-.15 G 2.92(rw).15 G .42
+-.1 F F2(name)2.539 E F0 2.539(,t).18 G .039(he second w)-2.539 F .039
+(ord to the second)-.1 F F2(name)2.539 E F0(,).18 E .42
+(and so on, with lefto)144 580.8 R -.15(ve)-.15 G 2.92(rw).15 G .42
 (ords and their interv)-3.02 F .42
-(ening separators assigned to the last)-.15 F F1(name)2.92 E F0 5.42(.I)
-.18 G 2.92(ft)-5.42 G(here)-2.92 E .54(are fe)144 532.8 R .54(wer w)-.25
+(ening separators assigned to the last)-.15 F F2(name)2.92 E F0 5.42(.I)
+.18 G 2.92(ft)-5.42 G(here)-2.92 E .54(are fe)144 592.8 R .54(wer w)-.25
 F .541(ords read from the input stream than names, the remaining names \
-are assigned empty)-.1 F -.25(va)144 544.8 S 2.511(lues. The).25 F .011
+are assigned empty)-.1 F -.25(va)144 604.8 S 2.511(lues. The).25 F .011
 (characters in)2.511 F/F3 9/Times-Bold@0 SF(IFS)2.511 E F0 .011
 (are used to split the line into w)2.261 F 2.511(ords. The)-.1 F .011
-(backslash character \()2.511 F F2(\\)A F0 2.51(\)m)C(ay)-2.51 E 1.89
-(be used to remo)144 556.8 R 2.19 -.15(ve a)-.15 H 2.19 -.15(ny s).15 H
+(backslash character \()2.511 F F1(\\)A F0 2.51(\)m)C(ay)-2.51 E 1.89
+(be used to remo)144 616.8 R 2.19 -.15(ve a)-.15 H 2.19 -.15(ny s).15 H
 1.891(pecial meaning for the ne).15 F 1.891
 (xt character read and for line continuation.)-.15 F
-(Options, if supplied, ha)144 568.8 Q .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F2<ad61>144 580.8 Q F1(aname)2.5 E F0 1.05(The w)
-180 592.8 R 1.049
+(Options, if supplied, ha)144 628.8 Q .3 -.15(ve t)-.2 H(he follo).15 E
+(wing meanings:)-.25 E F1<ad61>144 640.8 Q F2(aname)2.5 E F0 1.05(The w)
+180 652.8 R 1.049
 (ords are assigned to sequential indices of the array v)-.1 F(ariable)
--.25 E F1(aname)3.549 E F0 3.549(,s).18 G 1.049(tarting at 0.)-3.549 F
-F1(aname)180.33 604.8 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5
--.25(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F1(name)2.5 E F0
-(ar)2.5 E(guments are ignored.)-.18 E F2<ad64>144 616.8 Q F1(delim)2.5 E
-F0(The \214rst character of)180 628.8 Q F1(delim)2.5 E F0
+-.25 E F2(aname)3.549 E F0 3.549(,s).18 G 1.049(tarting at 0.)-3.549 F
+F2(aname)180.33 664.8 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5
+-.25(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F2(name)2.5 E F0
+(ar)2.5 E(guments are ignored.)-.18 E F1<ad64>144 676.8 Q F2(delim)2.5 E
+F0(The \214rst character of)180 688.8 Q F2(delim)2.5 E F0
 (is used to terminate the input line, rather than ne)2.5 E(wline.)-.25 E
-F2<ad65>144 640.8 Q F0 .372
-(If the standard input is coming from a terminal,)25.86 F F2 -.18(re)
+F1<ad65>144 700.8 Q F0 .372
+(If the standard input is coming from a terminal,)25.86 F F1 -.18(re)
 2.873 G(adline).18 E F0(\(see)2.873 E F3(READLINE)2.873 E F0(abo)2.623 E
 -.15(ve)-.15 G 2.873(\)i).15 G 2.873(su)-2.873 G(sed)-2.873 E .218
-(to obtain the line.)180 652.8 R .218
+(to obtain the line.)180 712.8 R .218
 (Readline uses the current \(or def)5.218 F .218
 (ault, if line editing w)-.1 F .218(as not pre)-.1 F(viously)-.25 E
-(acti)180 664.8 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings.)-2.5 E
-F2<ad69>144 676.8 Q F1(te)2.5 E(xt)-.2 E F0(If)10.78 E F2 -.18(re)2.715
-G(adline).18 E F0 .216(is being used to read the line,)2.715 F F1(te)
-2.716 E(xt)-.2 E F0 .216(is placed into the editing b)2.716 F(uf)-.2 E
-.216(fer before edit-)-.25 F(ing be)180 688.8 Q(gins.)-.15 E F2<ad6e>144
-700.8 Q F1(nc)2.5 E(har)-.15 E(s)-.1 E F2 -.18(re)180 712.8 S(ad).18 E
-F0 1.395(returns after reading)3.895 F F1(nc)3.895 E(har)-.15 E(s)-.1 E
-F0 1.395(characters rather than w)3.895 F 1.394
-(aiting for a complete line of)-.1 F(input, b)180 724.8 Q
-(ut honor a delimiter if fe)-.2 E(wer than)-.25 E F1(nc)2.5 E(har)-.15 E
-(s)-.1 E F0(characters are read before the delimiter)2.5 E(.)-.55 E
+(acti)180 724.8 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings.)-2.5 E
 (GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(12)198.725 E 0 Cg EP
 %%Page: 13 13
 %%BeginPageSetup
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF<ad4e>144 84 Q/F2 10/Times-Italic@0 SF(nc)2.5 E(har)-.15
-E(s)-.1 E F1 -.18(re)180 96 S(ad).18 E F0 1.269(returns after reading e)
-3.769 F(xactly)-.15 E F2(nc)3.769 E(har)-.15 E(s)-.1 E F0 1.269
-(characters rather than w)3.769 F 1.27(aiting for a complete)-.1 F .275
-(line of input, unless EOF is encountered or)180 108 R F1 -.18(re)2.775
+/Times-Bold@0 SF<ad69>144 84 Q/F2 10/Times-Italic@0 SF(te)2.5 E(xt)-.2 E
+F0(If)10.78 E F1 -.18(re)2.715 G(adline).18 E F0 .216
+(is being used to read the line,)2.715 F F2(te)2.716 E(xt)-.2 E F0 .216
+(is placed into the editing b)2.716 F(uf)-.2 E .216(fer before edit-)
+-.25 F(ing be)180 96 Q(gins.)-.15 E F1<ad6e>144 108 Q F2(nc)2.5 E(har)
+-.15 E(s)-.1 E F1 -.18(re)180 120 S(ad).18 E F0 1.395
+(returns after reading)3.895 F F2(nc)3.895 E(har)-.15 E(s)-.1 E F0 1.395
+(characters rather than w)3.895 F 1.394(aiting for a complete line of)
+-.1 F(input, b)180 132 Q(ut honor a delimiter if fe)-.2 E(wer than)-.25
+E F2(nc)2.5 E(har)-.15 E(s)-.1 E F0
+(characters are read before the delimiter)2.5 E(.)-.55 E F1<ad4e>144 144
+Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 156 S(ad).18 E F0 1.269
+(returns after reading e)3.769 F(xactly)-.15 E F2(nc)3.769 E(har)-.15 E
+(s)-.1 E F0 1.269(characters rather than w)3.769 F 1.27
+(aiting for a complete)-.1 F .275
+(line of input, unless EOF is encountered or)180 168 R F1 -.18(re)2.775
 G(ad).18 E F0 .274(times out.)2.774 F .274(Delimiter characters encoun-)
 5.274 F 1.002
-(tered in the input are not treated specially and do not cause)180 120 R
+(tered in the input are not treated specially and do not cause)180 180 R
 F1 -.18(re)3.503 G(ad).18 E F0 1.003(to return until)3.503 F F2(nc)3.503
-E(har)-.15 E(s)-.1 E F0(characters are read.)180 132 Q F1<ad70>144 144 Q
-F2(pr)2.5 E(ompt)-.45 E F0(Display)180 156 Q F2(pr)3.661 E(ompt)-.45 E
+E(har)-.15 E(s)-.1 E F0(characters are read.)180 192 Q F1<ad70>144 204 Q
+F2(pr)2.5 E(ompt)-.45 E F0(Display)180 216 Q F2(pr)3.661 E(ompt)-.45 E
 F0 1.161(on standard error)3.661 F 3.661(,w)-.4 G 1.161
 (ithout a trailing ne)-3.661 F 1.161(wline, before attempting to read)
--.25 F(an)180 168 Q 2.5(yi)-.15 G 2.5(nput. The)-2.5 F
+-.25 F(an)180 228 Q 2.5(yi)-.15 G 2.5(nput. The)-2.5 F
 (prompt is displayed only if input is coming from a terminal.)2.5 E F1
-<ad72>144 180 Q F0 .543(Backslash does not act as an escape character)
+<ad72>144 240 Q F0 .543(Backslash does not act as an escape character)
 25.86 F 5.543(.T)-.55 G .544(he backslash is considered to be part of)
--5.543 F(the line.)180 192 Q(In particular)5 E 2.5(,ab)-.4 G
+-5.543 F(the line.)180 252 Q(In particular)5 E 2.5(,ab)-.4 G
 (ackslash-ne)-2.5 E(wline pair may not be used as a line continuation.)
--.25 E F1<ad73>144 204 Q F0(Silent mode.)26.41 E
+-.25 E F1<ad73>144 264 Q F0(Silent mode.)26.41 E
 (If input is coming from a terminal, characters are not echoed.)5 E F1
-<ad74>144 216 Q F2(timeout)2.5 E F0(Cause)180 228 Q F1 -.18(re)3.549 G
+<ad74>144 276 Q F2(timeout)2.5 E F0(Cause)180 288 Q F1 -.18(re)3.549 G
 (ad).18 E F0 1.048(to time out and return f)3.549 F 1.048
 (ailure if a complete line of input is not read within)-.1 F F2(timeout)
-180 240 Q F0(seconds.)3.496 E F2(timeout)5.996 E F0 .997
+180 300 Q F0(seconds.)3.496 E F2(timeout)5.996 E F0 .997
 (may be a decimal number with a fractional portion follo)3.496 F(wing)
--.25 E .576(the decimal point.)180 252 R .576(This option is only ef)
+-.25 E .576(the decimal point.)180 312 R .576(This option is only ef)
 5.576 F(fecti)-.25 E .876 -.15(ve i)-.25 H(f).15 E F1 -.18(re)3.076 G
 (ad).18 E F0 .576(is reading input from a terminal,)3.076 F .141
-(pipe, or other special \214le; it has no ef)180 264 R .142
+(pipe, or other special \214le; it has no ef)180 324 R .142
 (fect when reading from re)-.25 F .142(gular \214les.)-.15 F(If)5.142 E
-F2(timeout)2.642 E F0 .142(is 0,)2.642 F F1 -.18(re)180 276 S(ad).18 E
-F0 .113(returns success if input is a)2.614 F -.25(va)-.2 G .113
-(ilable on the speci\214ed \214le descriptor).25 F 2.613(,f)-.4 G .113
-(ailure otherwise.)-2.713 F(The e)180 288 Q
-(xit status is greater than 128 if the timeout is e)-.15 E(xceeded.)-.15
-E F1<ad75>144 300 Q F2(fd)2.5 E F0(Read input from \214le descriptor)
-14.46 E F2(fd)2.5 E F0(.)A .191(If no)144 316.8 R F2(names)3.051 E F0
-.191(are supplied, the line read is assigned to the v)2.961 F(ariable)
--.25 E/F3 9/Times-Bold@0 SF(REPL)2.692 E(Y)-.828 E/F4 9/Times-Roman@0 SF
-(.)A F0 .192(The return code is zero,)4.692 F 1.344
-(unless end-of-\214le is encountered,)144 328.8 R F1 -.18(re)3.844 G(ad)
+F2(timeout)2.642 E F0 .142(is 0,)2.642 F F1 -.18(re)180 336 S(ad).18 E
+F0 .61(returns immediately)3.11 F 3.11(,w)-.65 G .61
+(ithout trying to read an)-3.11 F 3.11(yd)-.15 G 3.11(ata. The)-3.11 F
+-.15(ex)3.11 G .61(it statis is 0 if input is).15 F -.2(av)180 348 S
+1.223(ailable on the speci\214ed \214le descriptor)-.05 F 3.723(,n)-.4 G
+1.223(on-zero otherwise.)-3.723 F 1.224(The e)6.223 F 1.224
+(xit status is greater)-.15 F(than 128 if the timeout is e)180 360 Q
+(xceeded.)-.15 E F1<ad75>144 372 Q F2(fd)2.5 E F0
+(Read input from \214le descriptor)14.46 E F2(fd)2.5 E F0(.)A .192
+(If no)144 388.8 R F2(names)3.052 E F0 .192
+(are supplied, the line read is assigned to the v)2.962 F(ariable)-.25 E
+/F3 9/Times-Bold@0 SF(REPL)2.691 E(Y)-.828 E/F4 9/Times-Roman@0 SF(.)A
+F0 .191(The return code is zero,)4.691 F 1.343
+(unless end-of-\214le is encountered,)144 400.8 R F1 -.18(re)3.843 G(ad)
 .18 E F0 1.343
-(times out \(in which case the return code is greater than)3.844 F
-(128\), or an in)144 340.8 Q -.25(va)-.4 G
+(times out \(in which case the return code is greater than)3.843 F
+(128\), or an in)144 412.8 Q -.25(va)-.4 G
 (lid \214le descriptor is supplied as the ar).25 E(gument to)-.18 E F1
-<ad75>2.5 E F0(.)A F1 -.18(re)108 357.6 S(adonly).18 E F0([)2.5 E F1
+<ad75>2.5 E F0(.)A F1 -.18(re)108 429.6 S(adonly).18 E F0([)2.5 E F1
 (\255aAf)A F0 2.5(][)C F1<ad70>-2.5 E F0 2.5(][)C F2(name)-2.5 E F0([=)A
-F2(wor)A(d)-.37 E F0 2.5(].)C(..])-2.5 E .77(The gi)144 369.6 R -.15(ve)
+F2(wor)A(d)-.37 E F0 2.5(].)C(..])-2.5 E .77(The gi)144 441.6 R -.15(ve)
 -.25 G(n).15 E F2(names)3.27 E F0 .77(are mark)3.27 F .77
 (ed readonly; the v)-.1 F .77(alues of these)-.25 F F2(names)3.63 E F0
-.77(may not be changed by subse-)3.54 F 1.097(quent assignment.)144
-381.6 R 1.097(If the)6.097 F F1<ad66>3.597 E F0 1.097
-(option is supplied, the functions corresponding to the)3.597 F F2
-(names)3.596 E F0 1.096(are so)3.596 F(mark)144 393.6 Q 3.334(ed. The)
+.77(may not be changed by subse-)3.54 F 1.096(quent assignment.)144
+453.6 R 1.096(If the)6.096 F F1<ad66>3.596 E F0 1.097
+(option is supplied, the functions corresponding to the)3.596 F F2
+(names)3.597 E F0 1.097(are so)3.597 F(mark)144 465.6 Q 3.334(ed. The)
 -.1 F F1<ad61>3.334 E F0 .834(option restricts the v)3.334 F .834
 (ariables to inde)-.25 F -.15(xe)-.15 G 3.334(da).15 G .834(rrays; the)
 -3.334 F F1<ad41>3.334 E F0 .834(option restricts the v)3.334 F(ari-)
--.25 E .777(ables to associati)144 405.6 R 1.077 -.15(ve a)-.25 H 3.277
-(rrays. If).15 F .777(both options are supplied,)3.277 F F1<ad41>3.277 E
-F0(tak)3.277 E .776(es precedence.)-.1 F .776(If no)5.776 F F2(name)
-3.636 E F0(ar)3.456 E(gu-)-.18 E .521(ments are gi)144 417.6 R -.15(ve)
+-.25 E .776(ables to associati)144 477.6 R 1.076 -.15(ve a)-.25 H 3.276
+(rrays. If).15 F .777(both options are supplied,)3.276 F F1<ad41>3.277 E
+F0(tak)3.277 E .777(es precedence.)-.1 F .777(If no)5.777 F F2(name)
+3.637 E F0(ar)3.457 E(gu-)-.18 E .522(ments are gi)144 489.6 R -.15(ve)
 -.25 G .521(n, or if the).15 F F1<ad70>3.021 E F0 .521
 (option is supplied, a list of all readonly names is printed.)3.021 F
-.522(The other)5.521 F .295(options may be used to restrict the output \
-to a subset of the set of readonly names.)144 429.6 R(The)5.295 E F1
-<ad70>2.795 E F0(option)2.795 E .786
+.521(The other)5.521 F .295(options may be used to restrict the output \
+to a subset of the set of readonly names.)144 501.6 R(The)5.296 E F1
+<ad70>2.796 E F0(option)2.796 E .786
 (causes output to be displayed in a format that may be reused as input.)
-144 441.6 R .786(If a v)5.786 F .786(ariable name is fol-)-.25 F(lo)144
-453.6 Q .718(wed by =)-.25 F F2(wor)A(d)-.37 E F0 3.218(,t)C .718(he v)
+144 513.6 R .786(If a v)5.786 F .785(ariable name is fol-)-.25 F(lo)144
+525.6 Q .717(wed by =)-.25 F F2(wor)A(d)-.37 E F0 3.218(,t)C .718(he v)
 -3.218 F .718(alue of the v)-.25 F .718(ariable is set to)-.25 F F2(wor)
 3.218 E(d)-.37 E F0 5.718(.T)C .718(he return status is 0 unless an in)
 -5.718 F -.25(va)-.4 G(lid).25 E .26(option is encountered, one of the)
-144 465.6 R F2(names)3.12 E F0 .26(is not a v)3.03 F .26(alid shell v)
+144 537.6 R F2(names)3.12 E F0 .26(is not a v)3.03 F .26(alid shell v)
 -.25 F .26(ariable name, or)-.25 F F1<ad66>2.76 E F0 .26
-(is supplied with a)2.76 F F2(name)144.36 477.6 Q F0
-(that is not a function.)2.68 E F1 -.18(re)108 494.4 S(tur).18 E(n)-.15
-E F0([)2.5 E F2(n)A F0(])A .587(Causes a function to e)144 506.4 R .587
-(xit with the return v)-.15 F .587(alue speci\214ed by)-.25 F F2(n)3.087
-E F0 5.587(.I).24 G(f)-5.587 E F2(n)3.447 E F0 .586
-(is omitted, the return status is)3.327 F 1.335
-(that of the last command e)144 518.4 R -.15(xe)-.15 G 1.335
-(cuted in the function body).15 F 6.335(.I)-.65 G 3.835(fu)-6.335 G
-1.335(sed outside a function, b)-3.835 F 1.335(ut during)-.2 F -.15(exe)
-144 530.4 S .794(cution of a script by the).15 F F1(.)3.294 E F0(\()
-5.794 E F1(sour)A(ce)-.18 E F0 3.294(\)c)C .794
-(ommand, it causes the shell to stop e)-3.294 F -.15(xe)-.15 G .794
-(cuting that script).15 F .245(and return either)144 542.4 R F2(n)3.105
-E F0 .246(or the e)2.985 F .246(xit status of the last command e)-.15 F
--.15(xe)-.15 G .246(cuted within the script as the e).15 F .246
-(xit sta-)-.15 F .082(tus of the script.)144 554.4 R .082
-(If used outside a function and not during e)5.082 F -.15(xe)-.15 G .082
-(cution of a script by).15 F F1(.)2.582 E F0 2.581(,t).833 G .081
-(he return sta-)-2.581 F 2.305(tus is f)144 566.4 R 4.805(alse. An)-.1 F
-4.805(yc)-.15 G 2.305(ommand associated with the)-4.805 F F1(RETURN)
-4.805 E F0 2.306(trap is e)4.806 F -.15(xe)-.15 G 2.306(cuted before e)
-.15 F -.15(xe)-.15 G(cution).15 E(resumes after the function or script.)
-144 578.4 Q F1(set)108 595.2 Q F0([)2.5 E F1
-(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1<ad6f>-2.5 E F2
-(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E F1
-(set)108 607.2 Q F0([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1(+o)
--2.5 E F2(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0
-(...])2.5 E -.4(Wi)144 619.2 S .836(thout options, the name and v).4 F
-.835(alue of each shell v)-.25 F .835
+(is supplied with a)2.76 F F2(name)144.36 549.6 Q F0
+(that is not a function.)2.68 E F1 -.18(re)108 566.4 S(tur).18 E(n)-.15
+E F0([)2.5 E F2(n)A F0(])A .02(Causes a function to stop e)144 578.4 R
+-.15(xe)-.15 G .02(cuting and return the v).15 F .021
+(alue speci\214ed by)-.25 F F2(n)2.881 E F0 .021(to its caller)2.761 F
+5.021(.I)-.55 G(f)-5.021 E F2(n)2.881 E F0 .021(is omitted,)2.761 F .469
+(the return status is that of the last command e)144 590.4 R -.15(xe)
+-.15 G .469(cuted in the function body).15 F 5.469(.I)-.65 G(f)-5.469 E
+F1 -.18(re)2.969 G(tur).18 E(n)-.15 E F0 .468(is used out-)2.969 F .466
+(side a function, b)144 602.4 R .466(ut during e)-.2 F -.15(xe)-.15 G
+.467(cution of a script by the).15 F F1(.)2.967 E F0(\()5.467 E F1(sour)
+A(ce)-.18 E F0 2.967(\)c)C .467(ommand, it causes the shell to)-2.967 F
+.088(stop e)144 614.4 R -.15(xe)-.15 G .087
+(cuting that script and return either).15 F F2(n)2.947 E F0 .087
+(or the e)2.827 F .087(xit status of the last command e)-.15 F -.15(xe)
+-.15 G .087(cuted within).15 F .621(the script as the e)144 626.4 R .621
+(xit status of the script.)-.15 F .622(The return status is non-zero if)
+5.622 F F1 -.18(re)3.122 G(tur).18 E(n)-.15 E F0 .622(is used outside a)
+3.122 F .87(function and not during e)144 638.4 R -.15(xe)-.15 G .869
+(cution of a script by).15 F F1(.)3.369 E F0(or)4.202 E F1(sour)3.369 E
+(ce)-.18 E F0 5.869(.A)C 1.169 -.15(ny c)-5.869 H .869
+(ommand associated with the).15 F F1(RETURN)144 650.4 Q F0(trap is e)2.5
+E -.15(xe)-.15 G(cuted before e).15 E -.15(xe)-.15 G
+(cution resumes after the function or script.).15 E F1(set)108 667.2 Q
+F0([)2.5 E F1(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1<ad6f>-2.5 E
+F2(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E
+F1(set)108 679.2 Q F0([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1
+(+o)-2.5 E F2(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0
+(...])2.5 E -.4(Wi)144 691.2 S .835(thout options, the name and v).4 F
+.835(alue of each shell v)-.25 F .836
 (ariable are displayed in a format that can be)-.25 F .784
-(reused as input for setting or resetting the currently-set v)144 631.2
-R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .784
-(riables cannot be).25 F 2.947(reset. In)144 643.2 R F2 .447(posix mode)
-2.947 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447
+(reused as input for setting or resetting the currently-set v)144 703.2
+R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .783
+(riables cannot be).25 F 2.946(reset. In)144 715.2 R F2 .447(posix mode)
+2.946 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447
 (ariables are listed.)-.25 F .447
-(The output is sorted according to the current)5.447 F 3.53
-(locale. When)144 655.2 R 1.031(options are speci\214ed, the)3.53 F
-3.531(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.531(utes. An)
--.2 F 3.531(ya)-.15 G -.18(rg)-3.531 G 1.031(uments remaining).18 F
-1.624(after option processing are treated as v)144 667.2 R 1.623
-(alues for the positional parameters and are assigned, in)-.25 F(order)
-144 679.2 Q 2.5(,t)-.4 G(o)-2.5 E F1($1)2.5 E F0(,)A F1($2)2.5 E F0(,)A
-F1 2.5(... $)2.5 F F2(n)A F0 5(.O)C(ptions, if speci\214ed, ha)-5 E .3
--.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad61>144 691.2 Q
-F0 .539(Automatically mark v)29.3 F .539
-(ariables and functions which are modi\214ed or created for e)-.25 F .54
-(xport to)-.15 F(the en)184 703.2 Q(vironment of subsequent commands.)
--.4 E F1<ad62>144 715.2 Q F0 .132
-(Report the status of terminated background jobs immediately)28.74 F
-2.632(,r)-.65 G .131(ather than before the ne)-2.632 F(xt)-.15 E
-(primary prompt.)184 727.2 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)
--.25 H(nly when job control is enabled.).15 E(GNU Bash-4.0)72 768 Q
-(2004 Apr 20)148.735 E(13)198.725 E 0 Cg EP
+(The output is sorted according to the current)5.447 F 3.531
+(locale. When)144 727.2 R 1.031(options are speci\214ed, the)3.531 F
+3.531(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.53(utes. An)
+-.2 F 3.53(ya)-.15 G -.18(rg)-3.53 G 1.03(uments remaining).18 F
+(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(13)198.725 E 0 Cg EP
 %%Page: 14 14
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF<ad65>144 84 Q F0 .51(Exit immediately if a)29.86 F/F2
-10/Times-Italic@0 SF(pipeline)3.01 E F0 .511
-(\(which may consist of a single)3.011 F F2 .511(simple command)3.011 F
-F0 3.011(\), a)B F2(sub-)3.011 E(shell)184 96 Q F0 .872
-(command enclosed in parentheses, or one of the commands e)3.373 F -.15
-(xe)-.15 G .872(cuted as part of a).15 F .399
-(command list enclosed by braces \(see)184 108 R/F3 9/Times-Bold@0 SF
-.399(SHELL GRAMMAR)2.899 F F0(abo)2.649 E -.15(ve)-.15 G 2.899(\)e).15 G
-.399(xits with a non-zero)-3.049 F 3.969(status. The)184 120 R 1.468
-(shell does not e)3.969 F 1.468(xit if the command that f)-.15 F 1.468
-(ails is part of the command list)-.1 F .569(immediately follo)184 132 R
-.569(wing a)-.25 F F1(while)3.069 E F0(or)3.069 E F1(until)3.069 E F0
--.1(ke)3.069 G(yw)-.05 E .569(ord, part of the test follo)-.1 F .57
-(wing the)-.25 F F1(if)3.07 E F0(or)3.07 E F1(elif)3.07 E F0(reserv)184
-144 Q .91(ed w)-.15 F .91(ords, part of an)-.1 F 3.41(yc)-.15 G .909
-(ommand e)-3.41 F -.15(xe)-.15 G .909(cuted in a).15 F F1(&&)3.409 E F0
-(or)3.409 E F1(||)3.409 E F0 .909(list e)3.409 F .909(xcept the command)
--.15 F(follo)184 156 Q .049(wing the \214nal)-.25 F F1(&&)2.549 E F0(or)
-2.549 E F1(||)2.549 E F0 2.549(,a)C .349 -.15(ny c)-2.549 H .049
-(ommand in a pipeline b).15 F .05(ut the last, or if the command')-.2 F
-(s)-.55 E .373(return v)184 168 R .373(alue is being in)-.25 F -.15(ve)
--.4 G .373(rted with).15 F F1(!)2.873 E F0 5.372(.A)C .372(trap on)-2.5
-F F1(ERR)2.872 E F0 2.872(,i)C 2.872(fs)-2.872 G .372(et, is e)-2.872 F
--.15(xe)-.15 G .372(cuted before the shell).15 F -.15(ex)184 180 S 2.896
-(its. This).15 F .397(option applies to the shell en)2.896 F .397
-(vironment and each subshell en)-.4 F .397(vironment sepa-)-.4 F .191
-(rately \(see)184 192 R F3 .19(COMMAND EXECUTION ENVIR)2.691 F(ONMENT)
--.27 E F0(abo)2.44 E -.15(ve)-.15 G .19(\), and may cause subshells).15
-F(to e)184 204 Q(xit before e)-.15 E -.15(xe)-.15 G
-(cuting all the commands in the subshell.).15 E F1<ad66>144 216 Q F0
-(Disable pathname e)30.97 E(xpansion.)-.15 E F1<ad68>144 228 Q F0 2.238
-(Remember the location of commands as the)28.74 F 4.738(ya)-.15 G 2.239
-(re look)-4.738 F 2.239(ed up for e)-.1 F -.15(xe)-.15 G 4.739
-(cution. This).15 F(is)4.739 E(enabled by def)184 240 Q(ault.)-.1 E F1
-<ad6b>144 252 Q F0 .514(All ar)28.74 F .514
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E 1.623
+(after option processing are treated as v)144 84 R 1.624
+(alues for the positional parameters and are assigned, in)-.25 F(order)
+144 96 Q 2.5(,t)-.4 G(o)-2.5 E/F1 10/Times-Bold@0 SF($1)2.5 E F0(,)A F1
+($2)2.5 E F0(,)A F1 2.5(... $)2.5 F/F2 10/Times-Italic@0 SF(n)A F0 5(.O)
+C(ptions, if speci\214ed, ha)-5 E .3 -.15(ve t)-.2 H(he follo).15 E
+(wing meanings:)-.25 E F1<ad61>144 108 Q F0 .54(Automatically mark v)
+29.3 F .539
+(ariables and functions which are modi\214ed or created for e)-.25 F
+.539(xport to)-.15 F(the en)184 120 Q(vironment of subsequent commands.)
+-.4 E F1<ad62>144 132 Q F0 .131
+(Report the status of terminated background jobs immediately)28.74 F
+2.632(,r)-.65 G .132(ather than before the ne)-2.632 F(xt)-.15 E
+(primary prompt.)184 144 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)-.25
+H(nly when job control is enabled.).15 E F1<ad65>144 156 Q F0 .088
+(Exit immediately if a)29.86 F F2(pipeline)2.588 E F0 .087
+(\(which may consist of a single)2.588 F F2 .087(simple command)2.587 F
+F0 .087(\), a)B F2(list)2.587 E F0 2.587(,o)C(r)-2.587 E(a)184 168 Q F2
+1.293(compound command)3.793 F F0(\(see)3.793 E/F3 9/Times-Bold@0 SF
+1.293(SHELL GRAMMAR)3.793 F F0(abo)3.544 E -.15(ve)-.15 G 3.794(\), e)
+.15 F 1.294(xits with a non-zero status.)-.15 F .08
+(The shell does not e)184 180 R .079(xit if the command that f)-.15 F
+.079(ails is part of the command list immediately)-.1 F(follo)184 192 Q
+1.654(wing a)-.25 F F1(while)4.154 E F0(or)4.154 E F1(until)4.154 E F0
+-.1(ke)4.154 G(yw)-.05 E 1.655(ord, part of the test follo)-.1 F 1.655
+(wing the)-.25 F F1(if)4.155 E F0(or)4.155 E F1(elif)4.155 E F0(reserv)
+4.155 E(ed)-.15 E -.1(wo)184 204 S .582(rds, part of an).1 F 3.082(yc)
+-.15 G .582(ommand e)-3.082 F -.15(xe)-.15 G .581(cuted in a).15 F F1
+(&&)3.081 E F0(or)3.081 E F1(||)3.081 E F0 .581(list e)3.081 F .581
+(xcept the command follo)-.15 F(wing)-.25 E .917(the \214nal)184 216 R
+F1(&&)3.417 E F0(or)3.417 E F1(||)3.417 E F0 3.417(,a)C 1.217 -.15(ny c)
+-3.417 H .918(ommand in a pipeline b).15 F .918
+(ut the last, or if the command')-.2 F 3.418(sr)-.55 G(eturn)-3.418 E
+-.25(va)184 228 S .661(lue is being in).25 F -.15(ve)-.4 G .661
+(rted with).15 F F1(!)3.161 E F0 5.661(.I)C 3.161(fac)-5.661 G .66
+(ompound command other than a subshell returns a)-3.161 F 1.112
+(non-zero status because a command f)184 240 R 1.112(ailed while)-.1 F
+F1<ad65>3.612 E F0 -.1(wa)3.612 G 3.612(sb).1 G 1.113
+(eing ignored, the shell does)-3.612 F .178(not e)184 252 R 2.678
+(xit. A)-.15 F .178(trap on)2.678 F F1(ERR)2.678 E F0 2.678(,i)C 2.678
+(fs)-2.678 G .178(et, is e)-2.678 F -.15(xe)-.15 G .178
+(cuted before the shell e).15 F 2.677(xits. This)-.15 F .177
+(option applies to)2.677 F .617(the shell en)184 264 R .617
+(vironment and each subshell en)-.4 F .617(vironment separately \(see)
+-.4 F F3 .618(COMMAND EXE-)3.118 F .643(CUTION ENVIR)184 276 R(ONMENT)
+-.27 E F0(abo)2.893 E -.15(ve)-.15 G .643
+(\), and may cause subshells to e).15 F .643(xit before e)-.15 F -.15
+(xe)-.15 G .642(cuting all).15 F(the commands in the subshell.)184 288 Q
+F1<ad66>144 300 Q F0(Disable pathname e)30.97 E(xpansion.)-.15 E F1
+<ad68>144 312 Q F0 2.238(Remember the location of commands as the)28.74
+F 4.738(ya)-.15 G 2.239(re look)-4.738 F 2.239(ed up for e)-.1 F -.15
+(xe)-.15 G 4.739(cution. This).15 F(is)4.739 E(enabled by def)184 324 Q
+(ault.)-.1 E F1<ad6b>144 336 Q F0 .514(All ar)28.74 F .514
 (guments in the form of assignment statements are placed in the en)-.18
 F .513(vironment for a)-.4 F
-(command, not just those that precede the command name.)184 264 Q F1
-<ad6d>144 276 Q F0 .148(Monitor mode.)25.97 F .148
+(command, not just those that precede the command name.)184 348 Q F1
+<ad6d>144 360 Q F0 .148(Monitor mode.)25.97 F .148
 (Job control is enabled.)5.148 F .149(This option is on by def)5.148 F
 .149(ault for interacti)-.1 F .449 -.15(ve s)-.25 H(hells).15 E .651
-(on systems that support it \(see)184 288 R F3 .651(JOB CONTR)3.151 F
+(on systems that support it \(see)184 372 R F3 .651(JOB CONTR)3.151 F
 (OL)-.27 E F0(abo)2.901 E -.15(ve)-.15 G 3.151(\). All).15 F .65
-(processes run in a separate)3.151 F .678(process group.)184 300 R .679
+(processes run in a separate)3.151 F .678(process group.)184 384 R .679
 (When a background job completes, the shell prints a line containing it\
-s)5.678 F -.15(ex)184 312 S(it status.).15 E F1<ad6e>144 324 Q F0 .653
+s)5.678 F -.15(ex)184 396 S(it status.).15 E F1<ad6e>144 408 Q F0 .653
 (Read commands b)28.74 F .653(ut do not e)-.2 F -.15(xe)-.15 G .653
 (cute them.).15 F .652(This may be used to check a shell script for)
-5.653 F(syntax errors.)184 336 Q(This is ignored by interacti)5 E .3
--.15(ve s)-.25 H(hells.).15 E F1<ad6f>144 348 Q F2(option\255name)2.5 E
-F0(The)184 360 Q F2(option\255name)2.5 E F0(can be one of the follo)2.5
-E(wing:)-.25 E F1(allexport)184 372 Q F0(Same as)224 384 Q F1<ad61>2.5 E
-F0(.)A F1(braceexpand)184 396 Q F0(Same as)224 408 Q F1<ad42>2.5 E F0(.)
-A F1(emacs)184 420 Q F0 .089
+5.653 F(syntax errors.)184 420 Q(This is ignored by interacti)5 E .3
+-.15(ve s)-.25 H(hells.).15 E F1<ad6f>144 432 Q F2(option\255name)2.5 E
+F0(The)184 444 Q F2(option\255name)2.5 E F0(can be one of the follo)2.5
+E(wing:)-.25 E F1(allexport)184 456 Q F0(Same as)224 468 Q F1<ad61>2.5 E
+F0(.)A F1(braceexpand)184 480 Q F0(Same as)224 492 Q F1<ad42>2.5 E F0(.)
+A F1(emacs)184 504 Q F0 .089
 (Use an emacs-style command line editing interf)13.9 F 2.589(ace. This)
 -.1 F .089(is enabled by def)2.589 F(ault)-.1 E .95
-(when the shell is interacti)224 432 R -.15(ve)-.25 G 3.45(,u).15 G .95
+(when the shell is interacti)224 516 R -.15(ve)-.25 G 3.45(,u).15 G .95
 (nless the shell is started with the)-3.45 F F1(\255\255noediting)3.45 E
-F0 2.5(option. This)224 444 R(also af)2.5 E(fects the editing interf)
+F0 2.5(option. This)224 528 R(also af)2.5 E(fects the editing interf)
 -.25 E(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1(err)
-184 456 Q(exit)-.18 E F0(Same as)11.31 E F1<ad65>2.5 E F0(.)A F1
-(errtrace)184 468 Q F0(Same as)5.03 E F1<ad45>2.5 E F0(.)A F1(functrace)
-184 480 Q F0(Same as)224 492 Q F1<ad54>2.5 E F0(.)A F1(hashall)184 504 Q
-F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1(histexpand)184 516 Q F0
-(Same as)224 528 Q F1<ad48>2.5 E F0(.)A F1(history)184 540 Q F0 .586
+184 540 Q(exit)-.18 E F0(Same as)11.31 E F1<ad65>2.5 E F0(.)A F1
+(errtrace)184 552 Q F0(Same as)5.03 E F1<ad45>2.5 E F0(.)A F1(functrace)
+184 564 Q F0(Same as)224 576 Q F1<ad54>2.5 E F0(.)A F1(hashall)184 588 Q
+F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1(histexpand)184 600 Q F0
+(Same as)224 612 Q F1<ad48>2.5 E F0(.)A F1(history)184 624 Q F0 .586
 (Enable command history)10 F 3.087(,a)-.65 G 3.087(sd)-3.087 G .587
 (escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder).15 E F3(HIST)3.087 E
 (OR)-.162 E(Y)-.315 E/F4 9/Times-Roman@0 SF(.)A F0 .587(This option is)
-5.087 F(on by def)224 552 Q(ault in interacti)-.1 E .3 -.15(ve s)-.25 H
-(hells.).15 E F1(ignor)184 564 Q(eeof)-.18 E F0 1.657(The ef)224 576 R
+5.087 F(on by def)224 636 Q(ault in interacti)-.1 E .3 -.15(ve s)-.25 H
+(hells.).15 E F1(ignor)184 648 Q(eeof)-.18 E F0 1.657(The ef)224 660 R
 1.657(fect is as if the shell command)-.25 F/F5 10/Courier@0 SF
 (IGNOREEOF=10)4.156 E F0 1.656(had been e)4.156 F -.15(xe)-.15 G(cuted)
-.15 E(\(see)224 588 Q F1(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15
-(ve)-.15 G(\).).15 E F1 -.1(ke)184 600 S(yw).1 E(ord)-.1 E F0(Same as)
-224 612 Q F1<ad6b>2.5 E F0(.)A F1(monitor)184 624 Q F0(Same as)5.56 E F1
-<ad6d>2.5 E F0(.)A F1(noclob)184 636 Q(ber)-.1 E F0(Same as)224 648 Q F1
-<ad43>2.5 E F0(.)A F1(noexec)184 660 Q F0(Same as)11.12 E F1<ad6e>2.5 E
-F0(.)A F1(noglob)184 672 Q F0(Same as)11.1 E F1<ad66>2.5 E F0(.)A F1
-(nolog)184 684 Q F0(Currently ignored.)16.66 E F1(notify)184 696 Q F0
-(Same as)15 E F1<ad62>2.5 E F0(.)A F1(nounset)184 708 Q F0(Same as)6.66
-E F1<ad75>2.5 E F0(.)A(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(14)
+.15 E(\(see)224 672 Q F1(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15
+(ve)-.15 G(\).).15 E F1 -.1(ke)184 684 S(yw).1 E(ord)-.1 E F0(Same as)
+224 696 Q F1<ad6b>2.5 E F0(.)A F1(monitor)184 708 Q F0(Same as)5.56 E F1
+<ad6d>2.5 E F0(.)A(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(14)
 198.725 E 0 Cg EP
 %%Page: 15 15
 %%BeginPageSetup
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF(onecmd)184 84 Q F0(Same as)6.67 E F1<ad74>2.5 E F0(.)A
-F1(ph)184 96 Q(ysical)-.15 E F0(Same as)5.14 E F1<ad50>2.5 E F0(.)A F1
-(pipefail)184 108 Q F0 1.029(If set, the return v)7.77 F 1.029
+/Times-Bold@0 SF(noclob)184 84 Q(ber)-.1 E F0(Same as)224 96 Q F1<ad43>
+2.5 E F0(.)A F1(noexec)184 108 Q F0(Same as)11.12 E F1<ad6e>2.5 E F0(.)A
+F1(noglob)184 120 Q F0(Same as)11.1 E F1<ad66>2.5 E F0(.)A F1(nolog)184
+132 Q F0(Currently ignored.)16.66 E F1(notify)184 144 Q F0(Same as)15 E
+F1<ad62>2.5 E F0(.)A F1(nounset)184 156 Q F0(Same as)6.66 E F1<ad75>2.5
+E F0(.)A F1(onecmd)184 168 Q F0(Same as)6.67 E F1<ad74>2.5 E F0(.)A F1
+(ph)184 180 Q(ysical)-.15 E F0(Same as)5.14 E F1<ad50>2.5 E F0(.)A F1
+(pipefail)184 192 Q F0 1.029(If set, the return v)7.77 F 1.029
 (alue of a pipeline is the v)-.25 F 1.03
-(alue of the last \(rightmost\) com-)-.25 F 1.137(mand to e)224 120 R
+(alue of the last \(rightmost\) com-)-.25 F 1.137(mand to e)224 204 R
 1.136
 (xit with a non-zero status, or zero if all commands in the pipeline)
--.15 F -.15(ex)224 132 S(it successfully).15 E 5(.T)-.65 G
-(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 144 Q F0
+-.15 F -.15(ex)224 216 S(it successfully).15 E 5(.T)-.65 G
+(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 228 Q F0
 2.09(Change the beha)17.77 F 2.091(vior of)-.2 F F1(bash)4.591 E F0
 2.091(where the def)4.591 F 2.091(ault operation dif)-.1 F 2.091
-(fers from the)-.25 F(POSIX standard to match the standard \()224 156 Q
-/F2 10/Times-Italic@0 SF(posix mode)A F0(\).)A F1(pri)184 168 Q(vileged)
--.1 E F0(Same as)224 180 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 192 S
-(rbose).1 E F0(Same as)7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 204 Q F0
+(fers from the)-.25 F(POSIX standard to match the standard \()224 240 Q
+/F2 10/Times-Italic@0 SF(posix mode)A F0(\).)A F1(pri)184 252 Q(vileged)
+-.1 E F0(Same as)224 264 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 276 S
+(rbose).1 E F0(Same as)7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 288 Q F0
 1.466(Use a vi-style command line editing interf)32.22 F 3.965
 (ace. This)-.1 F 1.465(also af)3.965 F 1.465(fects the editing)-.25 F
-(interf)224 216 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0
-(.)A F1(xtrace)184 228 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184
-246 Q F1<ad6f>3.052 E F0 .552(is supplied with no)3.052 F F2
+(interf)224 300 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0
+(.)A F1(xtrace)184 312 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184
+330 Q F1<ad6f>3.052 E F0 .552(is supplied with no)3.052 F F2
 (option\255name)3.053 E F0 3.053(,t)C .553(he v)-3.053 F .553
 (alues of the current options are printed.)-.25 F(If)5.553 E F1(+o)184
-258 Q F0 1.072(is supplied with no)3.572 F F2(option\255name)3.572 E F0
+342 Q F0 1.072(is supplied with no)3.572 F F2(option\255name)3.572 E F0
 3.572(,a)C 1.071(series of)-.001 F F1(set)3.571 E F0 1.071
 (commands to recreate the current)3.571 F
-(option settings is displayed on the standard output.)184 270 Q F1<ad70>
-144 282 Q F0 -.45(Tu)28.74 G 1.071(rn on).45 F F2(privile)4.821 E -.1
+(option settings is displayed on the standard output.)184 354 Q F1<ad70>
+144 366 Q F0 -.45(Tu)28.74 G 1.071(rn on).45 F F2(privile)4.821 E -.1
 (ge)-.4 G(d).1 E F0 3.572(mode. In)4.341 F 1.072(this mode, the)3.572 F
 /F3 9/Times-Bold@0 SF($ENV)3.572 E F0(and)3.322 E F3($B)3.572 E(ASH_ENV)
 -.27 E F0 1.072(\214les are not pro-)3.322 F 1.501
-(cessed, shell functions are not inherited from the en)184 294 R 1.5
+(cessed, shell functions are not inherited from the en)184 378 R 1.5
 (vironment, and the)-.4 F F3(SHELLOPTS)4 E/F4 9/Times-Roman@0 SF(,)A F3
--.27(BA)184 306 S(SHOPTS).27 E F4(,)A F3(CDP)2.774 E -.855(AT)-.666 G(H)
+-.27(BA)184 390 S(SHOPTS).27 E F4(,)A F3(CDP)2.774 E -.855(AT)-.666 G(H)
 .855 E F4(,)A F0(and)2.774 E F3(GLOBIGNORE)3.024 E F0 -.25(va)2.774 G
 .524(riables, if the).25 F 3.025(ya)-.15 G .525(ppear in the en)-3.025 F
-(vironment,)-.4 E .38(are ignored.)184 318 R .38
+(vironment,)-.4 E .38(are ignored.)184 402 R .38
 (If the shell is started with the ef)5.38 F(fecti)-.25 E .679 -.15(ve u)
 -.25 H .379(ser \(group\) id not equal to the real).15 F .461
-(user \(group\) id, and the)184 330 R F1<ad70>2.961 E F0 .461
+(user \(group\) id, and the)184 414 R F1<ad70>2.961 E F0 .461
 (option is not supplied, these actions are tak)2.961 F .462
-(en and the ef)-.1 F(fec-)-.25 E(ti)184 342 Q .695 -.15(ve u)-.25 H .395
+(en and the ef)-.1 F(fec-)-.25 E(ti)184 426 Q .695 -.15(ve u)-.25 H .395
 (ser id is set to the real user id.).15 F .395(If the)5.395 F F1<ad70>
 2.895 E F0 .394(option is supplied at startup, the ef)2.895 F(fecti)-.25
-E -.15(ve)-.25 G .386(user id is not reset.)184 354 R -.45(Tu)5.386 G
+E -.15(ve)-.25 G .386(user id is not reset.)184 438 R -.45(Tu)5.386 G
 .386(rning this option of).45 F 2.886(fc)-.25 G .387(auses the ef)-2.886
 F(fecti)-.25 E .687 -.15(ve u)-.25 H .387(ser and group ids to be).15 F
-(set to the real user and group ids.)184 366 Q F1<ad74>144 378 Q F0
+(set to the real user and group ids.)184 450 Q F1<ad74>144 462 Q F0
 (Exit after reading and e)30.97 E -.15(xe)-.15 G(cuting one command.).15
-E F1<ad75>144 390 Q F0 -.35(Tr)28.74 G .044(eat unset v).35 F .044(aria\
+E F1<ad75>144 474 Q F0 -.35(Tr)28.74 G .044(eat unset v).35 F .044(aria\
 bles and parameters other than the special parameters "@" and "*" as an)
--.25 F .182(error when performing parameter e)184 402 R 2.682
+-.25 F .182(error when performing parameter e)184 486 R 2.682
 (xpansion. If)-.15 F -.15(ex)2.682 G .183
 (pansion is attempted on an unset v).15 F(ari-)-.25 E .746
-(able or parameter)184 414 R 3.246(,t)-.4 G .746
+(able or parameter)184 498 R 3.246(,t)-.4 G .746
 (he shell prints an error message, and, if not interacti)-3.246 F -.15
 (ve)-.25 G 3.246(,e).15 G .746(xits with a)-3.396 F(non-zero status.)184
-426 Q F1<ad76>144 438 Q F0(Print shell input lines as the)29.3 E 2.5(ya)
--.15 G(re read.)-2.5 E F1<ad78>144 450 Q F0 .315(After e)29.3 F .315
+510 Q F1<ad76>144 522 Q F0(Print shell input lines as the)29.3 E 2.5(ya)
+-.15 G(re read.)-2.5 E F1<ad78>144 534 Q F0 .315(After e)29.3 F .315
 (xpanding each)-.15 F F2 .315(simple command)2.815 F F0(,)A F1 -.25(fo)
 2.815 G(r).25 E F0(command,)2.815 E F1(case)2.815 E F0(command,)2.815 E
-F1(select)2.815 E F0(command,)2.815 E 1.236(or arithmetic)184 462 R F1
+F1(select)2.815 E F0(command,)2.815 E 1.236(or arithmetic)184 546 R F1
 -.25(fo)3.736 G(r).25 E F0 1.236(command, display the e)3.736 F 1.236
 (xpanded v)-.15 F 1.236(alue of)-.25 F F3(PS4)3.736 E F4(,)A F0(follo)
-3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 474 Q
+3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 558 Q
 (xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E F1
-<ad42>144 486 Q F0 2.578(The shell performs brace e)27.63 F 2.578
+<ad42>144 570 Q F0 2.578(The shell performs brace e)27.63 F 2.578
 (xpansion \(see)-.15 F F1 2.578(Brace Expansion)5.078 F F0(abo)5.078 E
--.15(ve)-.15 G 5.079(\). This).15 F 2.579(is on by)5.079 F(def)184 498 Q
-(ault.)-.1 E F1<ad43>144 510 Q F0 .214(If set,)27.08 F F1(bash)2.714 E
+-.15(ve)-.15 G 5.079(\). This).15 F 2.579(is on by)5.079 F(def)184 582 Q
+(ault.)-.1 E F1<ad43>144 594 Q F0 .214(If set,)27.08 F F1(bash)2.714 E
 F0 .214(does not o)2.714 F -.15(ve)-.15 G .214(rwrite an e).15 F .214
 (xisting \214le with the)-.15 F F1(>)2.714 E F0(,)A F1(>&)2.714 E F0
 2.713(,a)C(nd)-2.713 E F1(<>)2.713 E F0 .213(redirection opera-)2.713 F
-3.053(tors. This)184 522 R .553(may be o)3.053 F -.15(ve)-.15 G .553
+3.053(tors. This)184 606 R .553(may be o)3.053 F -.15(ve)-.15 G .553
 (rridden when creating output \214les by using the redirection opera-)
-.15 F(tor)184 534 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
-<ad45>144 546 Q F0 .104(If set, an)27.63 F 2.604(yt)-.15 G .104(rap on)
+.15 F(tor)184 618 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
+<ad45>144 630 Q F0 .104(If set, an)27.63 F 2.604(yt)-.15 G .104(rap on)
 -2.604 F F1(ERR)2.604 E F0 .103
 (is inherited by shell functions, command substitutions, and com-)2.604
-F .838(mands e)184 558 R -.15(xe)-.15 G .838(cuted in a subshell en).15
+F .838(mands e)184 642 R -.15(xe)-.15 G .838(cuted in a subshell en).15
 F 3.338(vironment. The)-.4 F F1(ERR)3.338 E F0 .839
-(trap is normally not inherited in)3.339 F(such cases.)184 570 Q F1
-<ad48>144 582 Q F0(Enable)26.52 E F1(!)3.032 E F0 .532
+(trap is normally not inherited in)3.339 F(such cases.)184 654 Q F1
+<ad48>144 666 Q F0(Enable)26.52 E F1(!)3.032 E F0 .532
 (style history substitution.)5.532 F .531(This option is on by def)5.532
-F .531(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 594 Q -.15
-(ve)-.25 G(.).15 E F1<ad50>144 606 Q F0 1.164
+F .531(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 678 Q -.15
+(ve)-.25 G(.).15 E F1<ad50>144 690 Q F0 1.164
 (If set, the shell does not follo)28.19 F 3.664(ws)-.25 G 1.164
 (ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.165
 (cuting commands such as).15 F F1(cd)3.665 E F0 2.822
-(that change the current w)184 618 R 2.822(orking directory)-.1 F 7.822
+(that change the current w)184 702 R 2.822(orking directory)-.1 F 7.822
 (.I)-.65 G 5.322(tu)-7.822 G 2.822(ses the ph)-5.322 F 2.821
-(ysical directory structure)-.05 F 2.685(instead. By)184 630 R(def)2.685
+(ysical directory structure)-.05 F 2.685(instead. By)184 714 R(def)2.685
 E(ault,)-.1 E F1(bash)2.686 E F0(follo)2.686 E .186
 (ws the logical chain of directories when performing com-)-.25 F
-(mands which change the current directory)184 642 Q(.)-.65 E F1<ad54>144
-654 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G .89(raps on)-3.39 F F1
-(DEB)3.39 E(UG)-.1 E F0(and)3.39 E F1(RETURN)3.39 E F0 .89
-(are inherited by shell functions, command)3.39 F 1.932
-(substitutions, and commands e)184 666 R -.15(xe)-.15 G 1.932
-(cuted in a subshell en).15 F 4.432(vironment. The)-.4 F F1(DEB)4.432 E
-(UG)-.1 E F0(and)4.432 E F1(RETURN)184 678 Q F0
-(traps are normally not inherited in such cases.)2.5 E F1<adad>144 690 Q
-F0 .401(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401
-(his option, then the positional parameters are unset.)-2.901 F
-(Otherwise,)5.4 E(the positional parameters are set to the)184 702 Q F2
-(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5(ni).15 G 2.5(fs)-2.5 G
-(ome of them be)-2.5 E(gin with a)-.15 E F1<ad>2.5 E F0(.)A F1<ad>144
-714 Q F0 1.944(Signal the end of options, cause all remaining)34.3 F F2
-(ar)4.444 E(g)-.37 E F0 4.444(st)C 4.444(ob)-4.444 G 4.445(ea)-4.444 G
-1.945(ssigned to the positional)-4.445 F 3.446(parameters. The)184 726 R
-F1<ad78>3.446 E F0(and)3.446 E F1<ad76>3.446 E F0 .945
-(options are turned of)3.446 F 3.445(f. If)-.25 F .945(there are no)
-3.445 F F2(ar)3.445 E(g)-.37 E F0 .945(s, the positional)B(GNU Bash-4.0)
-72 768 Q(2004 Apr 20)148.735 E(15)198.725 E 0 Cg EP
+(mands which change the current directory)184 726 Q(.)-.65 E
+(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(15)198.725 E 0 Cg EP
 %%Page: 16 16
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E
-(parameters remain unchanged.)184 84 Q .425(The options are of)144 100.8
-R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
+/Times-Bold@0 SF<ad54>144 84 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G
+.89(raps on)-3.39 F F1(DEB)3.39 E(UG)-.1 E F0(and)3.39 E F1(RETURN)3.39
+E F0 .89(are inherited by shell functions, command)3.39 F 1.932
+(substitutions, and commands e)184 96 R -.15(xe)-.15 G 1.932
+(cuted in a subshell en).15 F 4.432(vironment. The)-.4 F F1(DEB)4.432 E
+(UG)-.1 E F0(and)4.432 E F1(RETURN)184 108 Q F0
+(traps are normally not inherited in such cases.)2.5 E F1<adad>144 120 Q
+F0 .401(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401
+(his option, then the positional parameters are unset.)-2.901 F
+(Otherwise,)5.4 E(the positional parameters are set to the)184 132 Q/F2
+10/Times-Italic@0 SF(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5(ni)
+.15 G 2.5(fs)-2.5 G(ome of them be)-2.5 E(gin with a)-.15 E F1<ad>2.5 E
+F0(.)A F1<ad>144 144 Q F0 1.944
+(Signal the end of options, cause all remaining)34.3 F F2(ar)4.444 E(g)
+-.37 E F0 4.444(st)C 4.444(ob)-4.444 G 4.445(ea)-4.444 G 1.945
+(ssigned to the positional)-4.445 F 3.446(parameters. The)184 156 R F1
+<ad78>3.446 E F0(and)3.446 E F1<ad76>3.446 E F0 .945
+(options are turned of)3.446 F 3.445(f. If)-.25 F .945(there are no)
+3.445 F F2(ar)3.445 E(g)-.37 E F0 .945(s, the positional)B
+(parameters remain unchanged.)184 168 Q .425(The options are of)144
+184.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425
 (ault unless otherwise noted.)-.1 F .425
 (Using + rather than \255 causes these options)5.425 F .178
-(to be turned of)144 112.8 R 2.678(f. The)-.25 F .178
+(to be turned of)144 196.8 R 2.678(f. The)-.25 F .178
 (options can also be speci\214ed as ar)2.678 F .178(guments to an in)
 -.18 F -.2(vo)-.4 G .177(cation of the shell.).2 F(The)5.177 E .066
-(current set of options may be found in)144 124.8 R/F1 10/Times-Bold@0
-SF<24ad>2.566 E F0 5.066(.T)C .066(he return status is al)-5.066 F -.1
-(wa)-.1 G .066(ys true unless an in).1 F -.25(va)-.4 G .067(lid option)
-.25 F(is encountered.)144 136.8 Q F1(shift)108 153.6 Q F0([)2.5 E/F2 10
-/Times-Italic@0 SF(n)A F0(])A .429(The positional parameters from)144
-165.6 R F2(n)2.929 E F0 .429(+1 ... are renamed to)B F1 .429($1 ....)
-2.929 F F0 -.15(Pa)5.428 G .428(rameters represented by the num-).15 F
-(bers)144 177.6 Q F1($#)2.582 E F0(do)2.582 E .082(wn to)-.25 F F1($#)
-2.582 E F0<ad>A F2(n)A F0 .082(+1 are unset.)B F2(n)5.442 E F0 .082
-(must be a non-ne)2.822 F -.05(ga)-.15 G(ti).05 E .383 -.15(ve n)-.25 H
-.083(umber less than or equal to).15 F F1($#)2.583 E F0 5.083(.I)C(f)
--5.083 E F2(n)2.943 E F0 .06(is 0, no parameters are changed.)144 189.6
-R(If)5.06 E F2(n)2.92 E F0 .06(is not gi)2.8 F -.15(ve)-.25 G .06
-(n, it is assumed to be 1.).15 F(If)5.06 E F2(n)2.92 E F0 .06
-(is greater than)2.8 F F1($#)2.56 E F0 2.56(,t)C(he)-2.56 E .143
-(positional parameters are not changed.)144 201.6 R .144
-(The return status is greater than zero if)5.143 F F2(n)3.004 E F0 .144
-(is greater than)2.884 F F1($#)2.644 E F0
-(or less than zero; otherwise 0.)144 213.6 Q F1(shopt)108 230.4 Q F0([)
+(current set of options may be found in)144 208.8 R F1<24ad>2.566 E F0
+5.066(.T)C .066(he return status is al)-5.066 F -.1(wa)-.1 G .066
+(ys true unless an in).1 F -.25(va)-.4 G .067(lid option).25 F
+(is encountered.)144 220.8 Q F1(shift)108 237.6 Q F0([)2.5 E F2(n)A F0
+(])A .429(The positional parameters from)144 249.6 R F2(n)2.929 E F0
+.429(+1 ... are renamed to)B F1 .429($1 ....)2.929 F F0 -.15(Pa)5.428 G
+.428(rameters represented by the num-).15 F(bers)144 261.6 Q F1($#)2.582
+E F0(do)2.582 E .082(wn to)-.25 F F1($#)2.582 E F0<ad>A F2(n)A F0 .082
+(+1 are unset.)B F2(n)5.442 E F0 .082(must be a non-ne)2.822 F -.05(ga)
+-.15 G(ti).05 E .383 -.15(ve n)-.25 H .083(umber less than or equal to)
+.15 F F1($#)2.583 E F0 5.083(.I)C(f)-5.083 E F2(n)2.943 E F0 .06
+(is 0, no parameters are changed.)144 273.6 R(If)5.06 E F2(n)2.92 E F0
+.06(is not gi)2.8 F -.15(ve)-.25 G .06(n, it is assumed to be 1.).15 F
+(If)5.06 E F2(n)2.92 E F0 .06(is greater than)2.8 F F1($#)2.56 E F0 2.56
+(,t)C(he)-2.56 E .143(positional parameters are not changed.)144 285.6 R
+.144(The return status is greater than zero if)5.143 F F2(n)3.004 E F0
+.144(is greater than)2.884 F F1($#)2.644 E F0
+(or less than zero; otherwise 0.)144 297.6 Q F1(shopt)108 314.4 Q F0([)
 2.5 E F1(\255pqsu)A F0 2.5(][)C F1<ad6f>-2.5 E F0 2.5(][)C F2(optname)
--2.5 E F0(...])2.5 E -.8(To)144 242.4 S .222(ggle the v).8 F .222
+-2.5 E F0(...])2.5 E -.8(To)144 326.4 S .222(ggle the v).8 F .222
 (alues of v)-.25 F .222(ariables controlling optional shell beha)-.25 F
 (vior)-.2 E 5.222(.W)-.55 G .222(ith no options, or with the)-5.622 F F1
 <ad70>2.722 E F0 .721(option, a list of all settable options is display\
-ed, with an indication of whether or not each is set.)144 254.4 R(The)
-144 266.4 Q F1<ad70>2.828 E F0 .327(option causes output to be displaye\
+ed, with an indication of whether or not each is set.)144 338.4 R(The)
+144 350.4 Q F1<ad70>2.828 E F0 .327(option causes output to be displaye\
 d in a form that may be reused as input.)2.828 F .327(Other options)
-5.327 F(ha)144 278.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)
--.25 E F1<ad73>144 290.4 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5
-E F0(.)A F1<ad75>144 302.4 Q F0(Disable \(unset\) each)24.74 E F2
-(optname)2.5 E F0(.)A F1<ad71>144 314.4 Q F0 .003(Suppresses normal out\
+5.327 F(ha)144 362.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)
+-.25 E F1<ad73>144 374.4 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5
+E F0(.)A F1<ad75>144 386.4 Q F0(Disable \(unset\) each)24.74 E F2
+(optname)2.5 E F0(.)A F1<ad71>144 398.4 Q F0 .003(Suppresses normal out\
 put \(quiet mode\); the return status indicates whether the)24.74 F F2
-(optname)2.504 E F0(is)2.504 E .256(set or unset.)180 326.4 R .256
+(optname)2.504 E F0(is)2.504 E .256(set or unset.)180 410.4 R .256
 (If multiple)5.256 F F2(optname)2.756 E F0(ar)2.756 E .256
 (guments are gi)-.18 F -.15(ve)-.25 G 2.756(nw).15 G(ith)-2.756 E F1
 <ad71>2.756 E F0 2.755(,t)C .255(he return status is zero if)-2.755 F
-(all)180 338.4 Q F2(optnames)2.5 E F0(are enabled; non-zero otherwise.)
-2.5 E F1<ad6f>144 350.4 Q F0(Restricts the v)25.3 E(alues of)-.25 E F2
+(all)180 422.4 Q F2(optnames)2.5 E F0(are enabled; non-zero otherwise.)
+2.5 E F1<ad6f>144 434.4 Q F0(Restricts the v)25.3 E(alues of)-.25 E F2
 (optname)2.5 E F0(to be those de\214ned for the)2.5 E F1<ad6f>2.5 E F0
-(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .127
-(If either)144 367.2 R F1<ad73>2.627 E F0(or)2.627 E F1<ad75>2.627 E F0
-.127(is used with no)2.627 F F2(optname)2.627 E F0(ar)2.627 E .127
-(guments, the display is limited to those options which)-.18 F 1.024
-(are set or unset, respecti)144 379.2 R -.15(ve)-.25 G(ly).15 E 6.024
-(.U)-.65 G 1.024(nless otherwise noted, the)-6.024 F F1(shopt)3.523 E F0
-1.023(options are disabled \(unset\) by)3.523 F(def)144 391.2 Q(ault.)
--.1 E 1.544(The return status when listing options is zero if all)144
-408 R F2(optnames)4.044 E F0 1.545(are enabled, non-zero otherwise.)
-4.045 F .696
+(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .624
+(If either)144 451.2 R F1<ad73>3.124 E F0(or)3.124 E F1<ad75>3.124 E F0
+.624(is used with no)3.124 F F2(optname)3.124 E F0(ar)3.124 E(guments,)
+-.18 E F1(shopt)3.124 E F0(sho)3.124 E .624
+(ws only those options which are)-.25 F 2.234(set or unset, respecti)144
+463.2 R -.15(ve)-.25 G(ly).15 E 7.234(.U)-.65 G 2.234
+(nless otherwise noted, the)-7.234 F F1(shopt)4.734 E F0 2.234
+(options are disabled \(unset\) by)4.734 F(def)144 475.2 Q(ault.)-.1 E
+1.544(The return status when listing options is zero if all)144 492 R F2
+(optnames)4.044 E F0 1.545(are enabled, non-zero otherwise.)4.045 F .696
 (When setting or unsetting options, the return status is zero unless an)
-144 420 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .695(alid shell)
--.25 F(option.)144 432 Q(The list of)144 448.8 Q F1(shopt)2.5 E F0
-(options is:)2.5 E F1(autocd)144 466.8 Q F0 .199
+144 504 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .695(alid shell)
+-.25 F(option.)144 516 Q(The list of)144 532.8 Q F1(shopt)2.5 E F0
+(options is:)2.5 E F1(autocd)144 550.8 Q F0 .199
 (If set, a command name that is the name of a directory is e)11.11 F
 -.15(xe)-.15 G .2(cuted as if it were the ar).15 F(gu-)-.18 E
-(ment to the)184 478.8 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F
+(ment to the)184 562.8 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F
 (option is only used by interacti)2.5 E .3 -.15(ve s)-.25 H(hells.).15 E
-F1(cdable_v)144 490.8 Q(ars)-.1 E F0 .156(If set, an ar)184 502.8 R .156
+F1(cdable_v)144 574.8 Q(ars)-.1 E F0 .156(If set, an ar)184 586.8 R .156
 (gument to the)-.18 F F1(cd)2.656 E F0 -.2(bu)2.656 G .155
 (iltin command that is not a directory is assumed to be the).2 F
-(name of a v)184 514.8 Q(ariable whose v)-.25 E
-(alue is the directory to change to.)-.25 E F1(cdspell)144 526.8 Q F0
+(name of a v)184 598.8 Q(ariable whose v)-.25 E
+(alue is the directory to change to.)-.25 E F1(cdspell)144 610.8 Q F0
 1.055
 (If set, minor errors in the spelling of a directory component in a)
 10.55 F F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.988
-(corrected. The)184 538.8 R 1.488(errors check)3.988 F 1.487
+(corrected. The)184 622.8 R 1.488(errors check)3.988 F 1.487
 (ed for are transposed characters, a missing character)-.1 F 3.987(,a)
--.4 G(nd)-3.987 E .552(one character too man)184 550.8 R 4.352 -.65
-(y. I)-.15 H 3.052(fac).65 G .552
-(orrection is found, the corrected \214le name is printed, and)-3.052 F
-(the command proceeds.)184 562.8 Q
+-.4 G(nd)-3.987 E .77(one character too man)184 634.8 R 4.57 -.65(y. I)
+-.15 H 3.27(fac).65 G .77
+(orrection is found, the corrected \214lename is printed, and)-3.27 F
+(the command proceeds.)184 646.8 Q
 (This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.)
-.15 E F1(checkhash)144 574.8 Q F0 2.08(If set,)184 586.8 R F1(bash)4.58
+.15 E F1(checkhash)144 658.8 Q F0 2.08(If set,)184 670.8 R F1(bash)4.58
 E F0 2.079(checks that a command found in the hash table e)4.58 F 2.079
-(xists before trying to)-.15 F -.15(exe)184 598.8 S(cute it.).15 E
+(xists before trying to)-.15 F -.15(exe)184 682.8 S(cute it.).15 E
 (If a hashed command no longer e)5 E
-(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 610.8
-Q F0 .448(If set,)184 622.8 R F1(bash)2.948 E F0 .448
+(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 694.8
+Q F0 .448(If set,)184 706.8 R F1(bash)2.948 E F0 .448
 (lists the status of an)2.948 F 2.949(ys)-.15 G .449
 (topped and running jobs before e)-2.949 F .449(xiting an interacti)-.15
-F -.15(ve)-.25 G 3.439(shell. If)184 634.8 R(an)3.439 E 3.439(yj)-.15 G
+F -.15(ve)-.25 G 3.439(shell. If)184 718.8 R(an)3.439 E 3.439(yj)-.15 G
 .938(obs are running, this causes the e)-3.439 F .938
 (xit to be deferred until a second e)-.15 F .938(xit is)-.15 F 2.203
-(attempted without an interv)184 646.8 R 2.203(ening command \(see)-.15
+(attempted without an interv)184 730.8 R 2.203(ening command \(see)-.15
 F/F3 9/Times-Bold@0 SF 2.203(JOB CONTR)4.703 F(OL)-.27 E F0(abo)4.453 E
--.15(ve)-.15 G 4.703(\). The).15 F(shell)4.704 E(al)184 658.8 Q -.1(wa)
--.1 G(ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G
-(obs are stopped.)-2.5 E F1(checkwinsize)144 670.8 Q F0 .797(If set,)184
-682.8 R F1(bash)3.297 E F0 .797(checks the windo)3.297 F 3.297(ws)-.25 G
-.796(ize after each command and, if necessary)-3.297 F 3.296(,u)-.65 G
-.796(pdates the)-3.296 F -.25(va)184 694.8 S(lues of).25 E F3(LINES)2.5
-E F0(and)2.25 E F3(COLUMNS)2.5 E/F4 9/Times-Roman@0 SF(.)A F1(cmdhist)
-144 706.8 Q F0 1.202(If set,)6.11 F F1(bash)3.702 E F0 1.202
-(attempts to sa)3.702 F 1.502 -.15(ve a)-.2 H 1.202
-(ll lines of a multiple-line command in the same history).15 F(entry)184
-718.8 Q 5(.T)-.65 G(his allo)-5 E
-(ws easy re-editing of multi-line commands.)-.25 E(GNU Bash-4.0)72 768 Q
+-.15(ve)-.15 G 4.703(\). The).15 F(shell)4.704 E(GNU Bash-4.0)72 768 Q
 (2004 Apr 20)148.735 E(16)198.725 E 0 Cg EP
 %%Page: 17 17
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF(compat31)144 84 Q F0 .42(If set,)184 96 R F1(bash)2.92
-E F0 .42(changes its beha)2.92 F .419(vior to that of v)-.2 F .419
-(ersion 3.1 with respect to quoted ar)-.15 F(guments)-.18 E(to the)184
-108 Q F1([[)2.5 E F0(conditional command')2.5 E(s)-.55 E F1(=~)2.5 E F0
-(operator)2.5 E(.)-.55 E F1(compat32)144 120 Q F0 1.409(If set,)184 132
-R F1(bash)3.909 E F0 1.409(changes its beha)3.909 F 1.409
-(vior to that of v)-.2 F 1.41
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E(al)184 84 Q
+-.1(wa)-.1 G(ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G
+(obs are stopped.)-2.5 E/F1 10/Times-Bold@0 SF(checkwinsize)144 96 Q F0
+.797(If set,)184 108 R F1(bash)3.297 E F0 .797(checks the windo)3.297 F
+3.297(ws)-.25 G .796(ize after each command and, if necessary)-3.297 F
+3.296(,u)-.65 G .796(pdates the)-3.296 F -.25(va)184 120 S(lues of).25 E
+/F2 9/Times-Bold@0 SF(LINES)2.5 E F0(and)2.25 E F2(COLUMNS)2.5 E/F3 9
+/Times-Roman@0 SF(.)A F1(cmdhist)144 132 Q F0 1.202(If set,)6.11 F F1
+(bash)3.702 E F0 1.202(attempts to sa)3.702 F 1.502 -.15(ve a)-.2 H
+1.202(ll lines of a multiple-line command in the same history).15 F
+(entry)184 144 Q 5(.T)-.65 G(his allo)-5 E
+(ws easy re-editing of multi-line commands.)-.25 E F1(compat31)144 156 Q
+F0 .42(If set,)184 168 R F1(bash)2.92 E F0 .42(changes its beha)2.92 F
+.419(vior to that of v)-.2 F .419(ersion 3.1 with respect to quoted ar)
+-.15 F(guments)-.18 E(to the)184 180 Q F1([[)2.5 E F0
+(conditional command')2.5 E(s)-.55 E F1(=~)2.5 E F0(operator)2.5 E(.)
+-.55 E F1(compat32)144 192 Q F0 1.409(If set,)184 204 R F1(bash)3.909 E
+F0 1.409(changes its beha)3.909 F 1.409(vior to that of v)-.2 F 1.41
 (ersion 3.2 with respect to locale-speci\214c)-.15 F 1.266
-(string comparison when using the)184 144 R F1([[)3.766 E F0 1.266
+(string comparison when using the)184 216 R F1([[)3.766 E F0 1.266
 (conditional command')3.766 F(s)-.55 E F1(<)3.766 E F0(and)3.766 E F1(>)
-3.766 E F0 3.765(operators. Bash)3.765 F -.15(ve)184 156 S .512
-(rsions prior to bash-4.1 use ASCII collation and).15 F/F2 10
+3.766 E F0 3.765(operators. Bash)3.765 F -.15(ve)184 228 S .512
+(rsions prior to bash-4.1 use ASCII collation and).15 F/F4 10
 /Times-Italic@0 SF(str)3.012 E(cmp)-.37 E F0 .513
-(\(3\); bash-4.1 and later use the).19 F(current locale')184 168 Q 2.5
-(sc)-.55 G(ollation sequence and)-2.5 E F2(str)2.5 E(coll)-.37 E F0
-(\(3\).).51 E F1(compat40)144 180 Q F0 1.41(If set,)184 192 R F1(bash)
+(\(3\); bash-4.1 and later use the).19 F(current locale')184 240 Q 2.5
+(sc)-.55 G(ollation sequence and)-2.5 E F4(str)2.5 E(coll)-.37 E F0
+(\(3\).).51 E F1(compat40)144 252 Q F0 1.41(If set,)184 264 R F1(bash)
 3.91 E F0 1.41(changes its beha)3.91 F 1.409(vior to that of v)-.2 F
 1.409(ersion 4.0 with respect to locale-speci\214c)-.15 F .422
-(string comparison when using the)184 204 R F1([[)2.922 E F0 .422
+(string comparison when using the)184 276 R F1([[)2.922 E F0 .422
 (conditional command')2.922 F(s)-.55 E F1(<)2.922 E F0(and)2.922 E F1(>)
 2.923 E F0 .423(operators \(see pre-)2.923 F(vious item\) and the ef)184
-216 Q(fect of interrupting a command list.)-.25 E F1(compat41)144 228 Q
-F0 1.444(If set,)184 240 R F1(bash)3.944 E F0 3.944(,w)C 1.443
+288 Q(fect of interrupting a command list.)-.25 E F1(compat41)144 300 Q
+F0 1.444(If set,)184 312 R F1(bash)3.944 E F0 3.944(,w)C 1.443
 (hen in posix mode, treats a single quote in a double-quoted parameter)
--3.944 F -.15(ex)184 252 S .958(pansion as a special character).15 F
+-3.944 F -.15(ex)184 324 S .958(pansion as a special character).15 F
 5.958(.T)-.55 G .959(he single quotes must match \(an e)-5.958 F -.15
 (ve)-.25 G 3.459(nn).15 G .959(umber\) and)-3.459 F .59
-(the characters between the single quotes are considered quoted.)184 264
+(the characters between the single quotes are considered quoted.)184 336
 R .59(This is the beha)5.59 F .59(vior of)-.2 F .589
-(posix mode through v)184 276 R .589(ersion 4.1.)-.15 F .589(The def)
+(posix mode through v)184 348 R .589(ersion 4.1.)-.15 F .589(The def)
 5.589 F .589(ault bash beha)-.1 F .589(vior remains as in pre)-.2 F .59
-(vious v)-.25 F(er)-.15 E(-)-.2 E(sions.)184 288 Q F1(dir)144 300 Q
-(expand)-.18 E F0 .487(If set,)184 312 R F1(bash)2.987 E F0 .486
+(vious v)-.25 F(er)-.15 E(-)-.2 E(sions.)184 360 Q F1
+(complete_fullquote)144 372 Q F0 .654(If set,)184 384 R F1(bash)3.153 E
+F0 .653(quotes all shell metacharacters in \214lenames and directory na\
+mes when per)3.153 F(-)-.2 E 1.524(forming completion.)184 396 R 1.524
+(If not set,)6.524 F F1(bash)4.024 E F0(remo)4.024 E -.15(ve)-.15 G
+4.024(sm).15 G 1.524(etacharacters such as the dollar sign)-4.024 F
+2.667(from the set of characters that will be quoted in completed \214l\
+enames when these)184 408 R .028(metacharacters appear in shell v)184
+420 R .028(ariable references in w)-.25 F .029(ords to be completed.)-.1
+F .029(This means)5.029 F 1.073(that dollar signs in v)184 432 R 1.073
+(ariable names that e)-.25 F 1.073
+(xpand to directories will not be quoted; ho)-.15 F(w-)-.25 E -2.15 -.25
+(ev e)184 444 T 1.922 -.4(r, a).25 H 1.422 -.15(ny d).4 H 1.123
+(ollar signs appearing in \214lenames will not be quoted, either).15 F
+6.123(.T)-.55 G 1.123(his is acti)-6.123 F -.15(ve)-.25 G .59
+(only when bash is using backslashes to quote completed \214lenames.)184
+456 R .59(This v)5.59 F .59(ariable is set)-.25 F(by def)184 468 Q
+(ault, which is the def)-.1 E(ault bash beha)-.1 E(vior in v)-.2 E
+(ersions through 4.2.)-.15 E F1(dir)144 480 Q(expand)-.18 E F0 .486
+(If set,)184 492 R F1(bash)2.986 E F0 .486
 (replaces directory names with the results of w)2.986 F .486(ord e)-.1 F
-.486(xpansion when perform-)-.15 F .179(ing \214lename completion.)184
-324 R .179(This changes the contents of the readline editing b)5.179 F
-(uf)-.2 E(fer)-.25 E 5.18(.I)-.55 G 2.68(fn)-5.18 G(ot)-2.68 E(set,)184
-336 Q F1(bash)2.5 E F0(attempts to preserv)2.5 E 2.5(ew)-.15 G
-(hat the user typed.)-2.5 E F1(dirspell)144 348 Q F0 .859(If set,)7.77 F
-F1(bash)3.359 E F0 .858
-(attempts spelling correction on directory names during w)3.359 F .858
+.487(xpansion when perform-)-.15 F .18(ing \214lename completion.)184
+504 R .179(This changes the contents of the readline editing b)5.18 F
+(uf)-.2 E(fer)-.25 E 5.179(.I)-.55 G 2.679(fn)-5.179 G(ot)-2.679 E(set,)
+184 516 Q F1(bash)2.5 E F0(attempts to preserv)2.5 E 2.5(ew)-.15 G
+(hat the user typed.)-2.5 E F1(dirspell)144 528 Q F0 .858(If set,)7.77 F
+F1(bash)3.358 E F0 .858
+(attempts spelling correction on directory names during w)3.358 F .859
 (ord completion if)-.1 F
-(the directory name initially supplied does not e)184 360 Q(xist.)-.15 E
-F1(dotglob)144 372 Q F0 .165(If set,)7.77 F F1(bash)2.665 E F0 .165
+(the directory name initially supplied does not e)184 540 Q(xist.)-.15 E
+F1(dotglob)144 552 Q F0 .165(If set,)7.77 F F1(bash)2.665 E F0 .165
 (includes \214lenames be)2.665 F .165(ginning with a `.)-.15 F 2.665('i)
 -.7 G 2.665(nt)-2.665 G .165(he results of pathname e)-2.665 F
-(xpansion.)-.15 E F1(execfail)144 384 Q F0 1.387
-(If set, a non-interacti)7.79 F 1.687 -.15(ve s)-.25 H 1.386
+(xpansion.)-.15 E F1(execfail)144 564 Q F0 1.386
+(If set, a non-interacti)7.79 F 1.686 -.15(ve s)-.25 H 1.386
 (hell will not e).15 F 1.386(xit if it cannot e)-.15 F -.15(xe)-.15 G
-1.386(cute the \214le speci\214ed as an).15 F(ar)184 396 Q
+1.387(cute the \214le speci\214ed as an).15 F(ar)184 576 Q
 (gument to the)-.18 E F1(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E
 (An interacti)5 E .3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15
-E F1(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 408 Q F0
-.716(If set, aliases are e)184 420 R .717(xpanded as described abo)-.15
-F 1.017 -.15(ve u)-.15 H(nder).15 E/F3 9/Times-Bold@0 SF(ALIASES)3.217 E
-/F4 9/Times-Roman@0 SF(.)A F0 .717(This option is enabled)5.217 F
-(by def)184 432 Q(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.)
-.15 E F1(extdeb)144 444 Q(ug)-.2 E F0(If set, beha)184 456 Q
-(vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F1(1.)184
-468 Q F0(The)28.5 E F1<ad46>4.251 E F0 1.751(option to the)4.251 F F1
-(declar)4.251 E(e)-.18 E F0 -.2(bu)4.251 G 1.751
-(iltin displays the source \214le name and line).2 F
-(number corresponding to each function name supplied as an ar)220 480 Q
-(gument.)-.18 E F1(2.)184 492 Q F0 1.667(If the command run by the)28.5
+E F1(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 588 Q F0
+.717(If set, aliases are e)184 600 R .717(xpanded as described abo)-.15
+F 1.017 -.15(ve u)-.15 H(nder).15 E F2(ALIASES)3.217 E F3(.)A F0 .716
+(This option is enabled)5.217 F(by def)184 612 Q(ault for interacti)-.1
+E .3 -.15(ve s)-.25 H(hells.).15 E F1(extdeb)144 624 Q(ug)-.2 E F0
+(If set, beha)184 636 Q(vior intended for use by deb)-.2 E
+(uggers is enabled:)-.2 E F1(1.)184 648 Q F0(The)28.5 E F1<ad46>4.25 E
+F0 1.75(option to the)4.25 F F1(declar)4.251 E(e)-.18 E F0 -.2(bu)4.251
+G 1.751(iltin displays the source \214le name and line).2 F
+(number corresponding to each function name supplied as an ar)220 660 Q
+(gument.)-.18 E F1(2.)184 672 Q F0 1.667(If the command run by the)28.5
 F F1(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167 F
-1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 504
-Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 516 Q F0 .841
-(If the command run by the)28.5 F F1(DEB)3.341 E(UG)-.1 E F0 .841
-(trap returns a v)3.341 F .84(alue of 2, and the shell is)-.25 F -.15
-(exe)220 528 S .488
+1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 684
+Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 696 Q F0 .84
+(If the command run by the)28.5 F F1(DEB)3.34 E(UG)-.1 E F0 .841
+(trap returns a v)3.341 F .841(alue of 2, and the shell is)-.25 F -.15
+(exe)220 708 S .488
 (cuting in a subroutine \(a shell function or a shell script e).15 F
 -.15(xe)-.15 G .488(cuted by the).15 F F1(.)2.988 E F0(or)2.988 E F1
-(sour)220 540 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F1
--.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E F1(4.)184 552 Q
-F3 -.27(BA)28.5 G(SH_ARGC).27 E F0(and)3.154 E F3 -.27(BA)3.404 G
-(SH_ARGV).27 E F0 .904(are updated as described in their descriptions)
-3.154 F(abo)220 564 Q -.15(ve)-.15 G(.).15 E F1(5.)184 576 Q F0 1.359
-(Function tracing is enabled:)28.5 F 1.359
-(command substitution, shell functions, and sub-)6.359 F(shells in)220
-588 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F2
-(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(DEB)2.5 E(UG)-.1 E F0
-(and)2.5 E F1(RETURN)2.5 E F0(traps.)2.5 E F1(6.)184 600 Q F0 .805
-(Error tracing is enabled:)28.5 F .804
-(command substitution, shell functions, and subshells)5.805 F(in)220 612
-Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F2
-(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E F0(trap.)
-2.5 E F1(extglob)144 624 Q F0 .4(If set, the e)8.89 F .4
-(xtended pattern matching features described abo)-.15 F .7 -.15(ve u)
--.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 636 Q
-F0(are enabled.)2.5 E F1(extquote)144 648 Q F0 2.473(If set,)184 660 R
-F1($)4.973 E F0<08>A F2(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973
-E F0(")A F2(string)A F0 4.973("q)C 2.473(uoting is performed within)
--4.973 F F1(${)4.973 E F2(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G
-(pansions).15 E(enclosed in double quotes.)184 672 Q
-(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 684 Q F0
-1.424(If set, patterns which f)7.77 F 1.425
-(ail to match \214lenames during pathname e)-.1 F 1.425
-(xpansion result in an)-.15 F -.15(ex)184 696 S(pansion error).15 E(.)
--.55 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(17)198.725 E 0 Cg EP
+(sour)220 720 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F1
+-.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E(GNU Bash-4.0)72
+768 Q(2004 Apr 20)148.735 E(17)198.725 E 0 Cg EP
 %%Page: 18 18
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF -.25(fo)144 84 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18
-E F0 .937(If set, the suf)184 96 R<8c78>-.25 E .936
-(es speci\214ed by the)-.15 F/F2 9/Times-Bold@0 SF(FIGNORE)3.436 E F0
-.936(shell v)3.186 F .936(ariable cause w)-.25 F .936
-(ords to be ignored)-.1 F .32(when performing w)184 108 R .32
+/Times-Bold@0 SF(4.)184 84 Q/F2 9/Times-Bold@0 SF -.27(BA)28.5 G
+(SH_ARGC).27 E F0(and)3.153 E F2 -.27(BA)3.403 G(SH_ARGV).27 E F0 .904
+(are updated as described in their descriptions)3.154 F(abo)220 96 Q
+-.15(ve)-.15 G(.).15 E F1(5.)184 108 Q F0 1.359
+(Function tracing is enabled:)28.5 F 1.359
+(command substitution, shell functions, and sub-)6.359 F(shells in)220
+120 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F3 10
+/Times-Italic@0 SF(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1
+(DEB)2.5 E(UG)-.1 E F0(and)2.5 E F1(RETURN)2.5 E F0(traps.)2.5 E F1(6.)
+184 132 Q F0 .804(Error tracing is enabled:)28.5 F .805
+(command substitution, shell functions, and subshells)5.804 F(in)220 144
+Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F3
+(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E F0(trap.)
+2.5 E F1(extglob)144 156 Q F0 .4(If set, the e)8.89 F .4
+(xtended pattern matching features described abo)-.15 F .7 -.15(ve u)
+-.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 168 Q
+F0(are enabled.)2.5 E F1(extquote)144 180 Q F0 2.473(If set,)184 192 R
+F1($)4.973 E F0<08>A F3(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973
+E F0(")A F3(string)A F0 4.973("q)C 2.473(uoting is performed within)
+-4.973 F F1(${)4.973 E F3(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G
+(pansions).15 E(enclosed in double quotes.)184 204 Q
+(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 216 Q F0
+1.425(If set, patterns which f)7.77 F 1.425
+(ail to match \214lenames during pathname e)-.1 F 1.424
+(xpansion result in an)-.15 F -.15(ex)184 228 S(pansion error).15 E(.)
+-.55 E F1 -.25(fo)144 240 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
+.936(If set, the suf)184 252 R<8c78>-.25 E .936(es speci\214ed by the)
+-.15 F F2(FIGNORE)3.436 E F0 .936(shell v)3.186 F .936(ariable cause w)
+-.25 F .937(ords to be ignored)-.1 F .32(when performing w)184 264 R .32
 (ord completion e)-.1 F -.15(ve)-.25 G 2.82(ni).15 G 2.82(ft)-2.82 G .32
-(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 2.948
-(pletions. See)184 120 R F2 .448(SHELL V)2.948 F(ARIABLES)-1.215 E F0
-(abo)2.698 E .748 -.15(ve f)-.15 H .448(or a description of).15 F F2
-(FIGNORE)2.947 E/F3 9/Times-Roman@0 SF(.)A F0 .447(This option is)4.947
-F(enabled by def)184 132 Q(ault.)-.1 E F1(globasciiranges)144 144 Q F0
-.805(If set, range e)184 156 R .806
-(xpressions used in pattern matching \(see)-.15 F F2 -.09(Pa)3.306 G
-(tter).09 E 3.056(nM)-.135 G(atching)-3.056 E F0(abo)3.056 E -.15(ve)
--.15 G 3.306(\)b).15 G(eha)-3.306 E -.15(ve)-.2 G 2.089
-(as if in the traditional C locale when performing comparisons.)184 168
-R 2.089(That is, the current)7.089 F(locale')184 180 Q 2.613(sc)-.55 G
-.113(ollating sequence is not tak)-2.613 F .113(en into account, so)-.1
-F F1(b)2.613 E F0 .114(will not collate between)2.613 F F1(A)2.614 E F0
-(and)2.614 E F1(B)184 192 Q F0 2.5(,a)C(nd upper)-2.5 E(-case and lo)-.2
+(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 2.947
+(pletions. See)184 276 R F2 .447(SHELL V)2.947 F(ARIABLES)-1.215 E F0
+(abo)2.697 E .747 -.15(ve f)-.15 H .448(or a description of).15 F F2
+(FIGNORE)2.948 E/F4 9/Times-Roman@0 SF(.)A F0 .448(This option is)4.948
+F(enabled by def)184 288 Q(ault.)-.1 E F1(globasciiranges)144 300 Q F0
+.806(If set, range e)184 312 R .806
+(xpressions used in pattern matching \(see)-.15 F F2 -.09(Pa)3.305 G
+(tter).09 E 3.055(nM)-.135 G(atching)-3.055 E F0(abo)3.055 E -.15(ve)
+-.15 G 3.305(\)b).15 G(eha)-3.305 E -.15(ve)-.2 G 2.089
+(as if in the traditional C locale when performing comparisons.)184 324
+R 2.09(That is, the current)7.089 F(locale')184 336 Q 2.614(sc)-.55 G
+.114(ollating sequence is not tak)-2.614 F .113(en into account, so)-.1
+F F1(b)2.613 E F0 .113(will not collate between)2.613 F F1(A)2.613 E F0
+(and)2.613 E F1(B)184 348 Q F0 2.5(,a)C(nd upper)-2.5 E(-case and lo)-.2
 E(wer)-.25 E(-case ASCII characters will collate together)-.2 E(.)-.55 E
-F1(globstar)144 204 Q F0 .519(If set, the pattern)5 F F1(**)3.019 E F0
-.519(used in a pathname e)3.019 F .519(xpansion conte)-.15 F .518
-(xt will match all \214les and zero)-.15 F .431
-(or more directories and subdirectories.)184 216 R .431
-(If the pattern is follo)5.431 F .432(wed by a)-.25 F F1(/)2.932 E F0
-2.932(,o)C .432(nly directories)-2.932 F(and subdirectories match.)184
-228 Q F1(gnu_errfmt)144 240 Q F0(If set, shell error messages are writt\
-en in the standard GNU error message format.)184 252 Q F1(histappend)144
-264 Q F0 .676
+F1(globstar)144 360 Q F0 .518(If set, the pattern)5 F F1(**)3.018 E F0
+.519(used in a pathname e)3.019 F .519(xpansion conte)-.15 F .519
+(xt will match all \214les and zero)-.15 F .432
+(or more directories and subdirectories.)184 372 R .431
+(If the pattern is follo)5.432 F .431(wed by a)-.25 F F1(/)2.931 E F0
+2.931(,o)C .431(nly directories)-2.931 F(and subdirectories match.)184
+384 Q F1(gnu_errfmt)144 396 Q F0(If set, shell error messages are writt\
+en in the standard GNU error message format.)184 408 Q F1(histappend)144
+420 Q F0 .676
 (If set, the history list is appended to the \214le named by the v)184
-276 R .676(alue of the)-.25 F F2(HISTFILE)3.176 E F0 -.25(va)2.926 G
-(ri-).25 E(able when the shell e)184 288 Q(xits, rather than o)-.15 E
--.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 300 Q(eedit)-.18
-E F0 .575(If set, and)184 312 R F1 -.18(re)3.075 G(adline).18 E F0 .575
-(is being used, a user is gi)3.075 F -.15(ve)-.25 G 3.075(nt).15 G .576
-(he opportunity to re-edit a f)-3.075 F .576(ailed his-)-.1 F
-(tory substitution.)184 324 Q F1(histv)144 336 Q(erify)-.1 E F0 .403
-(If set, and)184 348 R F1 -.18(re)2.903 G(adline).18 E F0 .403
+432 R .676(alue of the)-.25 F F2(HISTFILE)3.177 E F0 -.25(va)2.927 G
+(ri-).25 E(able when the shell e)184 444 Q(xits, rather than o)-.15 E
+-.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 456 Q(eedit)-.18
+E F0 .576(If set, and)184 468 R F1 -.18(re)3.076 G(adline).18 E F0 .575
+(is being used, a user is gi)3.076 F -.15(ve)-.25 G 3.075(nt).15 G .575
+(he opportunity to re-edit a f)-3.075 F .575(ailed his-)-.1 F
+(tory substitution.)184 480 Q F1(histv)144 492 Q(erify)-.1 E F0 .402
+(If set, and)184 504 R F1 -.18(re)2.903 G(adline).18 E F0 .403
 (is being used, the results of history substitution are not immediately)
-2.903 F .661(passed to the shell parser)184 360 R 5.661(.I)-.55 G .662
-(nstead, the resulting line is loaded into the)-5.661 F F1 -.18(re)3.162
-G(adline).18 E F0(editing)3.162 E -.2(bu)184 372 S -.25(ff).2 G(er).25 E
+2.903 F .662(passed to the shell parser)184 516 R 5.662(.I)-.55 G .661
+(nstead, the resulting line is loaded into the)-5.662 F F1 -.18(re)3.161
+G(adline).18 E F0(editing)3.161 E -.2(bu)184 528 S -.25(ff).2 G(er).25 E
 2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E F1
-(hostcomplete)144 384 Q F0 1.182(If set, and)184 396 R F1 -.18(re)3.682
-G(adline).18 E F0 1.182(is being used,)3.682 F F1(bash)3.682 E F0 1.181
-(will attempt to perform hostname completion)3.681 F 1.38(when a w)184
-408 R 1.38(ord containing a)-.1 F F1(@)3.881 E F0 1.381
-(is being completed \(see)3.881 F F1(Completing)3.881 E F0(under)3.881 E
-F2(READLINE)3.881 E F0(abo)184 420 Q -.15(ve)-.15 G 2.5(\). This).15 F
-(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 432 Q F0(If set,)
-184 444 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)2.5 E F0
+(hostcomplete)144 540 Q F0 1.181(If set, and)184 552 R F1 -.18(re)3.681
+G(adline).18 E F0 1.181(is being used,)3.681 F F1(bash)3.682 E F0 1.182
+(will attempt to perform hostname completion)3.682 F 1.381(when a w)184
+564 R 1.381(ord containing a)-.1 F F1(@)3.881 E F0 1.381
+(is being completed \(see)3.881 F F1(Completing)3.88 E F0(under)3.88 E
+F2(READLINE)3.88 E F0(abo)184 576 Q -.15(ve)-.15 G 2.5(\). This).15 F
+(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 588 Q F0(If set,)
+184 600 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)2.5 E F0
 (to all jobs when an interacti)2.25 E .3 -.15(ve l)-.25 H(ogin shell e)
-.15 E(xits.)-.15 E F1(interacti)144 456 Q -.1(ve)-.1 G(_comments).1 E F0
-.33(If set, allo)184 468 R 2.83(waw)-.25 G .33(ord be)-2.93 F .33
+.15 E(xits.)-.15 E F1(interacti)144 612 Q -.1(ve)-.1 G(_comments).1 E F0
+.33(If set, allo)184 624 R 2.83(waw)-.25 G .33(ord be)-2.93 F .33
 (ginning with)-.15 F F1(#)2.83 E F0 .33(to cause that w)2.83 F .33
 (ord and all remaining characters on)-.1 F .967
-(that line to be ignored in an interacti)184 480 R 1.267 -.15(ve s)-.25
+(that line to be ignored in an interacti)184 636 R 1.267 -.15(ve s)-.25
 H .967(hell \(see).15 F F2(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve)-.15
-G 3.467(\). This).15 F .968(option is)3.468 F(enabled by def)184 492 Q
-(ault.)-.1 E F1(lastpipe)144 504 Q F0 1.212
+G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184 648 Q
+(ault.)-.1 E F1(lastpipe)144 660 Q F0 1.211
 (If set, and job control is not acti)6.66 F -.15(ve)-.25 G 3.712(,t).15
 G 1.212(he shell runs the last command of a pipeline not)-3.712 F -.15
-(exe)184 516 S(cuted in the background in the current shell en).15 E
-(vironment.)-.4 E F1(lithist)144 528 Q F0 .654(If set, and the)15.55 F
-F1(cmdhist)3.154 E F0 .654
+(exe)184 672 S(cuted in the background in the current shell en).15 E
+(vironment.)-.4 E F1(lithist)144 684 Q F0 .655(If set, and the)15.55 F
+F1(cmdhist)3.155 E F0 .654
 (option is enabled, multi-line commands are sa)3.154 F -.15(ve)-.2 G
-3.155(dt).15 G 3.155(ot)-3.155 G .655(he history)-3.155 F
-(with embedded ne)184 540 Q
-(wlines rather than using semicolon separators where possible.)-.25 E F1
-(login_shell)144 552 Q F0 .486
-(The shell sets this option if it is started as a login shell \(see)184
-564 R F2(INV)2.986 E(OCA)-.405 E(TION)-.855 E F0(abo)2.736 E -.15(ve)
--.15 G 2.986(\). The).15 F -.25(va)184 576 S(lue may not be changed.).25
-E F1(mailwar)144 588 Q(n)-.15 E F0 .814(If set, and a \214le that)184
-600 R F1(bash)3.314 E F0 .815
-(is checking for mail has been accessed since the last time it)3.314 F
--.1(wa)184 612 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
-(`The mail in)-.74 E/F4 10/Times-Italic@0 SF(mail\214le)2.5 E F0
-(has been read')2.5 E 2.5('i)-.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1
-(no_empty_cmd_completion)144 624 Q F0 .325(If set, and)184 636 R F1 -.18
-(re)2.825 G(adline).18 E F0 .325(is being used,)2.825 F F1(bash)2.824 E
-F0 .324(will not attempt to search the)2.824 F F2 -.666(PA)2.824 G(TH)
--.189 E F0 .324(for possible)2.574 F
-(completions when completion is attempted on an empty line.)184 648 Q F1
-(nocaseglob)144 660 Q F0 .436(If set,)184 672 R F1(bash)2.936 E F0 .436
-(matches \214lenames in a case\255insensiti)2.936 F .737 -.15(ve f)-.25
-H .437(ashion when performing pathname).05 F -.15(ex)184 684 S
-(pansion \(see).15 E F1 -.1(Pa)2.5 G(thname Expansion).1 E F0(abo)2.5 E
--.15(ve)-.15 G(\).).15 E F1(nocasematch)144 696 Q F0 1.194(If set,)184
-708 R F1(bash)3.694 E F0 1.194(matches patterns in a case\255insensiti)
-3.694 F 1.493 -.15(ve f)-.25 H 1.193(ashion when performing matching).05
-F(while e)184 720 Q -.15(xe)-.15 G(cuting).15 E F1(case)2.5 E F0(or)2.5
-E F1([[)2.5 E F0(conditional commands.)2.5 E(GNU Bash-4.0)72 768 Q
-(2004 Apr 20)148.735 E(18)198.725 E 0 Cg EP
+3.154(dt).15 G 3.154(ot)-3.154 G .654(he history)-3.154 F
+(with embedded ne)184 696 Q
+(wlines rather than using semicolon separators where possible.)-.25 E
+(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(18)198.725 E 0 Cg EP
 %%Page: 19 19
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF(nullglob)144 84 Q F0 .854(If set,)184 96 R F1(bash)
-3.354 E F0(allo)3.354 E .855(ws patterns which match no \214les \(see)
--.25 F F1 -.1(Pa)3.355 G .855(thname Expansion).1 F F0(abo)3.355 E -.15
-(ve)-.15 G 3.355(\)t).15 G(o)-3.355 E -.15(ex)184 108 S
-(pand to a null string, rather than themselv).15 E(es.)-.15 E F1(pr)144
-120 Q(ogcomp)-.18 E F0 .677(If set, the programmable completion f)184
-132 R .677(acilities \(see)-.1 F F1(Pr)3.176 E .676
-(ogrammable Completion)-.18 F F0(abo)3.176 E -.15(ve)-.15 G(\)).15 E
-(are enabled.)184 144 Q(This option is enabled by def)5 E(ault.)-.1 E F1
-(pr)144 156 Q(omptv)-.18 E(ars)-.1 E F0 1.447
-(If set, prompt strings under)184 168 R 1.448(go parameter e)-.18 F
-1.448(xpansion, command substitution, arithmetic)-.15 F -.15(ex)184 180
-S .171(pansion, and quote remo).15 F -.25(va)-.15 G 2.67(la).25 G .17
-(fter being e)-2.67 F .17(xpanded as described in)-.15 F/F2 9
-/Times-Bold@0 SF(PR)2.67 E(OMPTING)-.27 E F0(abo)2.42 E -.15(ve)-.15 G
-(.).15 E(This option is enabled by def)184 192 Q(ault.)-.1 E F1 -.18(re)
-144 204 S(stricted_shell).18 E F0 1.069
+/Times-Bold@0 SF(login_shell)144 84 Q F0 .486
+(The shell sets this option if it is started as a login shell \(see)184
+96 R/F2 9/Times-Bold@0 SF(INV)2.987 E(OCA)-.405 E(TION)-.855 E F0(abo)
+2.737 E -.15(ve)-.15 G 2.987(\). The).15 F -.25(va)184 108 S
+(lue may not be changed.).25 E F1(mailwar)144 120 Q(n)-.15 E F0 .815
+(If set, and a \214le that)184 132 R F1(bash)3.315 E F0 .814
+(is checking for mail has been accessed since the last time it)3.315 F
+-.1(wa)184 144 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
+(`The mail in)-.74 E/F3 10/Times-Italic@0 SF(mail\214le)2.5 E F0
+(has been read')2.5 E 2.5('i)-.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1
+(no_empty_cmd_completion)144 156 Q F0 .324(If set, and)184 168 R F1 -.18
+(re)2.824 G(adline).18 E F0 .324(is being used,)2.824 F F1(bash)2.824 E
+F0 .324(will not attempt to search the)2.824 F F2 -.666(PA)2.825 G(TH)
+-.189 E F0 .325(for possible)2.575 F
+(completions when completion is attempted on an empty line.)184 180 Q F1
+(nocaseglob)144 192 Q F0 .437(If set,)184 204 R F1(bash)2.937 E F0 .436
+(matches \214lenames in a case\255insensiti)2.937 F .736 -.15(ve f)-.25
+H .436(ashion when performing pathname).05 F -.15(ex)184 216 S
+(pansion \(see).15 E F1 -.1(Pa)2.5 G(thname Expansion).1 E F0(abo)2.5 E
+-.15(ve)-.15 G(\).).15 E F1(nocasematch)144 228 Q F0 1.193(If set,)184
+240 R F1(bash)3.693 E F0 1.194(matches patterns in a case\255insensiti)
+3.693 F 1.494 -.15(ve f)-.25 H 1.194(ashion when performing matching).05
+F(while e)184 252 Q -.15(xe)-.15 G(cuting).15 E F1(case)2.5 E F0(or)2.5
+E F1([[)2.5 E F0(conditional commands.)2.5 E F1(nullglob)144 264 Q F0
+.855(If set,)184 276 R F1(bash)3.355 E F0(allo)3.355 E .855
+(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa)3.354 G .854
+(thname Expansion).1 F F0(abo)3.354 E -.15(ve)-.15 G 3.354(\)t).15 G(o)
+-3.354 E -.15(ex)184 288 S(pand to a null string, rather than themselv)
+.15 E(es.)-.15 E F1(pr)144 300 Q(ogcomp)-.18 E F0 .676
+(If set, the programmable completion f)184 312 R .677(acilities \(see)
+-.1 F F1(Pr)3.177 E .677(ogrammable Completion)-.18 F F0(abo)3.177 E
+-.15(ve)-.15 G(\)).15 E(are enabled.)184 324 Q
+(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 336 Q(omptv)
+-.18 E(ars)-.1 E F0 1.448(If set, prompt strings under)184 348 R 1.448
+(go parameter e)-.18 F 1.447(xpansion, command substitution, arithmetic)
+-.15 F -.15(ex)184 360 S .17(pansion, and quote remo).15 F -.25(va)-.15
+G 2.67(la).25 G .17(fter being e)-2.67 F .17(xpanded as described in)
+-.15 F F2(PR)2.671 E(OMPTING)-.27 E F0(abo)2.421 E -.15(ve)-.15 G(.).15
+E(This option is enabled by def)184 372 Q(ault.)-.1 E F1 -.18(re)144 384
+S(stricted_shell).18 E F0 1.069
 (The shell sets this option if it is started in restricted mode \(see)
-184 216 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 228 Q 4.178
+184 396 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 408 Q 4.178
 (w\). The)-.25 F -.25(va)4.178 G 1.678(lue may not be changed.).25 F
 1.678(This is not reset when the startup \214les are)6.678 F -.15(exe)
-184 240 S(cuted, allo).15 E(wing the startup \214les to disco)-.25 E
+184 420 S(cuted, allo).15 E(wing the startup \214les to disco)-.25 E
 -.15(ve)-.15 G 2.5(rw).15 G(hether or not a shell is restricted.)-2.5 E
-F1(shift_v)144 252 Q(erbose)-.1 E F0 .501(If set, the)184 264 R F1
-(shift)3.001 E F0 -.2(bu)3.001 G .501
-(iltin prints an error message when the shift count e).2 F .502
-(xceeds the number)-.15 F(of positional parameters.)184 276 Q F1(sour)
-144 288 Q(cepath)-.18 E F0 .771(If set, the)184 300 R F1(sour)3.271 E
-(ce)-.18 E F0(\()3.271 E F1(.)A F0 3.271(\)b)C .771(uiltin uses the v)
--3.471 F .771(alue of)-.25 F F2 -.666(PA)3.27 G(TH)-.189 E F0 .77
-(to \214nd the directory containing the)3.02 F(\214le supplied as an ar)
-184 312 Q 2.5(gument. This)-.18 F(option is enabled by def)2.5 E(ault.)
--.1 E F1(xpg_echo)144 324 Q F0(If set, the)184 336 Q F1(echo)2.5 E F0
--.2(bu)2.5 G(iltin e).2 E(xpands backslash-escape sequences by def)-.15
-E(ault.)-.1 E F1(suspend)108 352.8 Q F0([)2.5 E F1<ad66>A F0(])A 1.001
-(Suspend the e)144 364.8 R -.15(xe)-.15 G 1.001
-(cution of this shell until it recei).15 F -.15(ve)-.25 G 3.501(sa).15 G
-F2(SIGCONT)A F0 3.502(signal. A)3.252 F 1.002(login shell cannot be)
-3.502 F .023(suspended; the)144 376.8 R F1<ad66>2.523 E F0 .023
-(option can be used to o)2.523 F -.15(ve)-.15 G .022
-(rride this and force the suspension.).15 F .022(The return status is)
-5.022 F 2.5(0u)144 388.8 S(nless the shell is a login shell and)-2.5 E
+F1(shift_v)144 432 Q(erbose)-.1 E F0 .502(If set, the)184 444 R F1
+(shift)3.002 E F0 -.2(bu)3.002 G .501
+(iltin prints an error message when the shift count e).2 F .501
+(xceeds the number)-.15 F(of positional parameters.)184 456 Q F1(sour)
+144 468 Q(cepath)-.18 E F0 .77(If set, the)184 480 R F1(sour)3.27 E(ce)
+-.18 E F0(\()3.27 E F1(.)A F0 3.27(\)b)C .77(uiltin uses the v)-3.47 F
+.771(alue of)-.25 F F2 -.666(PA)3.271 G(TH)-.189 E F0 .771
+(to \214nd the directory containing the)3.021 F
+(\214le supplied as an ar)184 492 Q 2.5(gument. This)-.18 F
+(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 504 Q F0
+(If set, the)184 516 Q F1(echo)2.5 E F0 -.2(bu)2.5 G(iltin e).2 E
+(xpands backslash-escape sequences by def)-.15 E(ault.)-.1 E F1(suspend)
+108 532.8 Q F0([)2.5 E F1<ad66>A F0(])A 1.002(Suspend the e)144 544.8 R
+-.15(xe)-.15 G 1.002(cution of this shell until it recei).15 F -.15(ve)
+-.25 G 3.501(sa).15 G F2(SIGCONT)A F0 3.501(signal. A)3.251 F 1.001
+(login shell cannot be)3.501 F .022(suspended; the)144 556.8 R F1<ad66>
+2.522 E F0 .022(option can be used to o)2.522 F -.15(ve)-.15 G .022
+(rride this and force the suspension.).15 F .023(The return status is)
+5.023 F 2.5(0u)144 568.8 S(nless the shell is a login shell and)-2.5 E
 F1<ad66>2.5 E F0(is not supplied, or if job control is not enabled.)2.5
-E F1(test)108 405.6 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([)
-108 417.6 Q F3 -.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 1.15
-(Return a status of 0 or 1 depending on the e)6.77 F -.25(va)-.25 G 1.15
-(luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)3.65 G
-(pr).2 E F0 6.15(.E).73 G(ach)-6.15 E 1.188
-(operator and operand must be a separate ar)144 429.6 R 3.688
-(gument. Expressions)-.18 F 1.187(are composed of the primaries)3.688 F
-1.889(described abo)144 441.6 R 2.189 -.15(ve u)-.15 H(nder).15 E F2
-(CONDITION)4.389 E 1.889(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A
-F1(test)6.389 E F0 1.89(does not accept an)4.389 F 4.39(yo)-.15 G 1.89
-(ptions, nor)-4.39 F(does it accept and ignore an ar)144 453.6 Q
-(gument of)-.18 E F1<adad>2.5 E F0(as signifying the end of options.)2.5
-E .786(Expressions may be combined using the follo)144 471.6 R .785
-(wing operators, listed in decreasing order of prece-)-.25 F 3.411
-(dence. The)144 483.6 R -.25(eva)3.411 G .911
-(luation depends on the number of ar).25 F .912(guments; see belo)-.18 F
-4.712 -.65(w. O)-.25 H .912(perator precedence is).65 F
-(used when there are \214v)144 495.6 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G
-(ore ar)-2.5 E(guments.)-.18 E F1(!)144 507.6 Q F3 -.2(ex)2.5 G(pr).2 E
+E F1(test)108 585.6 Q F3 -.2(ex)2.5 G(pr).2 E F1([)108 597.6 Q F3 -.2
+(ex)2.5 G(pr).2 E F1(])2.5 E F0 .878
+(Return a status of 0 \(true\) or 1 \(f)6.77 F .877
+(alse\) depending on the e)-.1 F -.25(va)-.25 G .877
+(luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)144 609.6
+S(pr).2 E F0 5.53(.E).73 G .53
+(ach operator and operand must be a separate ar)-5.53 F 3.03
+(gument. Expressions)-.18 F .53(are composed of the)3.03 F 3.08
+(primaries described abo)144 621.6 R 3.38 -.15(ve u)-.15 H(nder).15 E F2
+(CONDITION)5.58 E 3.079(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A
+F1(test)7.579 E F0 3.079(does not accept an)5.579 F(y)-.15 E
+(options, nor does it accept and ignore an ar)144 633.6 Q(gument of)-.18
+E F1<adad>2.5 E F0(as signifying the end of options.)2.5 E .785
+(Expressions may be combined using the follo)144 651.6 R .786
+(wing operators, listed in decreasing order of prece-)-.25 F 3.412
+(dence. The)144 663.6 R -.25(eva)3.412 G .912
+(luation depends on the number of ar).25 F .911(guments; see belo)-.18 F
+4.711 -.65(w. O)-.25 H .911(perator precedence is).65 F
+(used when there are \214v)144 675.6 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G
+(ore ar)-2.5 E(guments.)-.18 E F1(!)144 687.6 Q F3 -.2(ex)2.5 G(pr).2 E
 F0 -.35(Tr)12.6 G(ue if).35 E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 E
-(alse.)-.1 E F1(\()144 519.6 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0
+(alse.)-.1 E F1(\()144 699.6 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0
 .26(Returns the v)6.77 F .26(alue of)-.25 F F3 -.2(ex)2.76 G(pr).2 E F0
 5.26(.T)C .26(his may be used to o)-5.26 F -.15(ve)-.15 G .26
-(rride the normal precedence of opera-).15 F(tors.)180 531.6 Q F3 -.2
-(ex)144 543.6 S(pr1).2 E F0<ad>2.5 E F1(a)A F3 -.2(ex)2.5 G(pr2).2 E F0
--.35(Tr)180 555.6 S(ue if both).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(and)2.5
-E F3 -.2(ex)2.5 G(pr2).2 E F0(are true.)2.52 E F3 -.2(ex)144 567.6 S
-(pr1).2 E F0<ad>2.5 E F1(o)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180
-579.6 S(ue if either).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(or)2.5 E F3 -.2
-(ex)2.5 G(pr2).2 E F0(is true.)2.52 E F1(test)144 596.4 Q F0(and)2.5 E
-F1([)2.5 E F0 -.25(eva)2.5 G(luate conditional e).25 E
-(xpressions using a set of rules based on the number of ar)-.15 E
-(guments.)-.18 E 2.5(0a)144 614.4 S -.18(rg)-2.5 G(uments).18 E(The e)
-180 626.4 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 638.4 S -.18
-(rg)-2.5 G(ument).18 E(The e)180 650.4 Q
-(xpression is true if and only if the ar)-.15 E(gument is not null.)-.18
-E 2.5(2a)144 662.4 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)
-180 674.4 R .37(gument is)-.18 F F1(!)2.87 E F0 2.87(,t)C .37(he e)-2.87
-F .37(xpression is true if and only if the second ar)-.15 F .37
-(gument is null.)-.18 F .38(If the \214rst ar)180 686.4 R .38
-(gument is one of the unary conditional operators listed abo)-.18 F .679
--.15(ve u)-.15 H(nder).15 E F2(CONDI-)2.879 E(TION)180 698.4 Q .552
-(AL EXPRESSIONS)-.18 F F4(,)A F0 .552(the e)2.802 F .552
-(xpression is true if the unary test is true.)-.15 F .552
-(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 710.4 Q
-(alid unary conditional operator)-.25 E 2.5(,t)-.4 G(he e)-2.5 E
-(xpression is f)-.15 E(alse.)-.1 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)
-148.735 E(19)198.725 E 0 Cg EP
+(rride the normal precedence of opera-).15 F(tors.)180 711.6 Q
+(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(19)198.725 E 0 Cg EP
 %%Page: 20 20
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E 2.5(3a)144
-84 S -.18(rg)-2.5 G(uments).18 E .236(The follo)180 96 R .236
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
+/Times-Italic@0 SF -.2(ex)144 84 S(pr1).2 E F0<ad>2.5 E/F2 10
+/Times-Bold@0 SF(a)A F1 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180 96 S
+(ue if both).35 E F1 -.2(ex)2.5 G(pr1).2 E F0(and)2.5 E F1 -.2(ex)2.5 G
+(pr2).2 E F0(are true.)2.52 E F1 -.2(ex)144 108 S(pr1).2 E F0<ad>2.5 E
+F2(o)A F1 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180 120 S(ue if either).35 E
+F1 -.2(ex)2.5 G(pr1).2 E F0(or)2.5 E F1 -.2(ex)2.5 G(pr2).2 E F0
+(is true.)2.52 E F2(test)144 136.8 Q F0(and)2.5 E F2([)2.5 E F0 -.25
+(eva)2.5 G(luate conditional e).25 E
+(xpressions using a set of rules based on the number of ar)-.15 E
+(guments.)-.18 E 2.5(0a)144 154.8 S -.18(rg)-2.5 G(uments).18 E(The e)
+180 166.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 178.8 S -.18
+(rg)-2.5 G(ument).18 E(The e)180 190.8 Q
+(xpression is true if and only if the ar)-.15 E(gument is not null.)-.18
+E 2.5(2a)144 202.8 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)
+180 214.8 R .37(gument is)-.18 F F2(!)2.87 E F0 2.87(,t)C .37(he e)-2.87
+F .37(xpression is true if and only if the second ar)-.15 F .37
+(gument is null.)-.18 F .379(If the \214rst ar)180 226.8 R .38
+(gument is one of the unary conditional operators listed abo)-.18 F .68
+-.15(ve u)-.15 H(nder).15 E/F3 9/Times-Bold@0 SF(CONDI-)2.88 E(TION)180
+238.8 Q .553(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(,)A F0 .552
+(the e)2.802 F .552(xpression is true if the unary test is true.)-.15 F
+.552(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 250.8 Q
+(alid unary conditional operator)-.25 E 2.5(,t)-.4 G(he e)-2.5 E
+(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 262.8 S -.18(rg)-2.5 G
+(uments).18 E .236(The follo)180 274.8 R .236
 (wing conditions are applied in the order listed.)-.25 F .236
 (If the second ar)5.236 F .236(gument is one of)-.18 F .855
-(the binary conditional operators listed abo)180 108 R 1.155 -.15(ve u)
--.15 H(nder).15 E/F1 9/Times-Bold@0 SF(CONDITION)3.355 E .855
-(AL EXPRESSIONS)-.18 F/F2 9/Times-Roman@0 SF(,)A F0(the)3.105 E .579
-(result of the e)180 120 R .578(xpression is the result of the binary t\
-est using the \214rst and third ar)-.15 F(guments)-.18 E 1.332
-(as operands.)180 132 R(The)6.332 E/F3 10/Times-Bold@0 SF<ad61>3.832 E
-F0(and)3.832 E F3<ad6f>3.832 E F0 1.333
+(the binary conditional operators listed abo)180 286.8 R 1.155 -.15
+(ve u)-.15 H(nder).15 E F3(CONDITION)3.355 E .855(AL EXPRESSIONS)-.18 F
+F4(,)A F0(the)3.104 E .578(result of the e)180 298.8 R .578(xpression i\
+s the result of the binary test using the \214rst and third ar)-.15 F
+(guments)-.18 E 1.333(as operands.)180 310.8 R(The)6.333 E F2<ad61>3.833
+E F0(and)3.833 E F2<ad6f>3.832 E F0 1.332
 (operators are considered binary operators when there are)3.832 F .558
-(three ar)180 144 R 3.058(guments. If)-.18 F .558(the \214rst ar)3.058 F
-.558(gument is)-.18 F F3(!)3.058 E F0 3.058(,t)C .558(he v)-3.058 F .558
-(alue is the ne)-.25 F -.05(ga)-.15 G .558(tion of the tw).05 F(o-ar)-.1
-E(gument)-.18 E .52(test using the second and third ar)180 156 R 3.021
-(guments. If)-.18 F .521(the \214rst ar)3.021 F .521(gument is e)-.18 F
-(xactly)-.15 E F3(\()3.021 E F0 .521(and the third)3.021 F(ar)180 168 Q
-.485(gument is e)-.18 F(xactly)-.15 E F3(\))2.985 E F0 2.985(,t)C .485
-(he result is the one-ar)-2.985 F .485(gument test of the second ar)-.18
-F 2.985(gument. Other)-.18 F(-)-.2 E(wise, the e)180 180 Q
-(xpression is f)-.15 E(alse.)-.1 E 2.5(4a)144 192 S -.18(rg)-2.5 G
-(uments).18 E .384(If the \214rst ar)180 204 R .384(gument is)-.18 F F3
-(!)2.884 E F0 2.885(,t)C .385(he result is the ne)-2.885 F -.05(ga)-.15
-G .385(tion of the three-ar).05 F .385(gument e)-.18 F .385
-(xpression com-)-.15 F 1.648(posed of the remaining ar)180 216 R 4.147
-(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.647
-(xpression is parsed and e)-.15 F -.25(va)-.25 G(luated).25 E
-(according to precedence using the rules listed abo)180 228 Q -.15(ve)
--.15 G(.).15 E 2.5(5o)144 240 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments)-.18
-E 1.635(The e)180 252 R 1.635(xpression is parsed and e)-.15 F -.25(va)
--.25 G 1.635(luated according to precedence using the rules listed).25 F
-(abo)180 264 Q -.15(ve)-.15 G(.).15 E(When used with)144 282 Q F3(test)
-2.5 E F0(or)2.5 E F3([)2.5 E F0 2.5(,t)C(he)-2.5 E F3(<)2.5 E F0(and)2.5
-E F3(>)2.5 E F0(operators sort le)2.5 E
-(xicographically using ASCII ordering.)-.15 E F3(times)108 298.8 Q F0
+(three ar)180 322.8 R 3.058(guments. If)-.18 F .558(the \214rst ar)3.058
+F .558(gument is)-.18 F F2(!)3.058 E F0 3.058(,t)C .558(he v)-3.058 F
+.558(alue is the ne)-.25 F -.05(ga)-.15 G .558(tion of the tw).05 F
+(o-ar)-.1 E(gument)-.18 E .521(test using the second and third ar)180
+334.8 R 3.021(guments. If)-.18 F .521(the \214rst ar)3.021 F .52
+(gument is e)-.18 F(xactly)-.15 E F2(\()3.02 E F0 .52(and the third)3.02
+F(ar)180 346.8 Q .485(gument is e)-.18 F(xactly)-.15 E F2(\))2.985 E F0
+2.985(,t)C .485(he result is the one-ar)-2.985 F .485
+(gument test of the second ar)-.18 F 2.985(gument. Other)-.18 F(-)-.2 E
+(wise, the e)180 358.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(4a)144
+370.8 S -.18(rg)-2.5 G(uments).18 E .385(If the \214rst ar)180 382.8 R
+.385(gument is)-.18 F F2(!)2.885 E F0 2.885(,t)C .385
+(he result is the ne)-2.885 F -.05(ga)-.15 G .384(tion of the three-ar)
+.05 F .384(gument e)-.18 F .384(xpression com-)-.15 F 1.647
+(posed of the remaining ar)180 394.8 R 4.147(guments. Otherwise,)-.18 F
+1.647(the e)4.147 F 1.648(xpression is parsed and e)-.15 F -.25(va)-.25
+G(luated).25 E(according to precedence using the rules listed abo)180
+406.8 Q -.15(ve)-.15 G(.).15 E 2.5(5o)144 418.8 S 2.5(rm)-2.5 G(ore ar)
+-2.5 E(guments)-.18 E 1.635(The e)180 430.8 R 1.635
+(xpression is parsed and e)-.15 F -.25(va)-.25 G 1.635
+(luated according to precedence using the rules listed).25 F(abo)180
+442.8 Q -.15(ve)-.15 G(.).15 E(When used with)144 460.8 Q F2(test)2.5 E
+F0(or)2.5 E F2([)2.5 E F0 2.5(,t)C(he)-2.5 E F2(<)2.5 E F0(and)2.5 E F2
+(>)2.5 E F0(operators sort le)2.5 E
+(xicographically using ASCII ordering.)-.15 E F2(times)108 477.6 Q F0
 1.229(Print the accumulated user and system times for the shell and for\
- processes run from the shell.)13.23 F(The return status is 0.)144 310.8
-Q F3(trap)108 327.6 Q F0([)2.5 E F3(\255lp)A F0 2.5(][)C([)-2.5 E/F4 10
-/Times-Italic@0 SF(ar)A(g)-.37 E F0(])A F4(sigspec)2.5 E F0(...])2.5 E
-.702(The command)144 339.6 R F4(ar)3.532 E(g)-.37 E F0 .702
-(is to be read and e)3.422 F -.15(xe)-.15 G .702
-(cuted when the shell recei).15 F -.15(ve)-.25 G 3.203(ss).15 G
-(ignal\(s\))-3.203 E F4(sigspec)3.203 E F0 5.703(.I).31 G(f)-5.703 E F4
-(ar)3.533 E(g)-.37 E F0(is)3.423 E .609(absent \(and there is a single)
-144 351.6 R F4(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F3<ad>3.108 E
-F0 3.108(,e)C .608
+ processes run from the shell.)13.23 F(The return status is 0.)144 489.6
+Q F2(trap)108 506.4 Q F0([)2.5 E F2(\255lp)A F0 2.5(][)C([)-2.5 E F1(ar)
+A(g)-.37 E F0(])A F1(sigspec)2.5 E F0(...])2.5 E .703(The command)144
+518.4 R F1(ar)3.533 E(g)-.37 E F0 .703(is to be read and e)3.423 F -.15
+(xe)-.15 G .702(cuted when the shell recei).15 F -.15(ve)-.25 G 3.202
+(ss).15 G(ignal\(s\))-3.202 E F1(sigspec)3.202 E F0 5.702(.I).31 G(f)
+-5.702 E F1(ar)3.532 E(g)-.37 E F0(is)3.422 E .608
+(absent \(and there is a single)144 530.4 R F1(sigspec)3.108 E F0 3.108
+(\)o)C(r)-3.108 E F2<ad>3.108 E F0 3.108(,e)C .608
 (ach speci\214ed signal is reset to its original disposition)-3.108 F
-.658(\(the v)144 363.6 R .658(alue it had upon entrance to the shell\).)
--.25 F(If)5.658 E F4(ar)3.488 E(g)-.37 E F0 .659
-(is the null string the signal speci\214ed by each)3.378 F F4(sigspec)
-144.34 375.6 Q F0 .581
-(is ignored by the shell and by the commands it in)3.391 F -.2(vo)-.4 G
--.1(ke).2 G 3.08(s. If).1 F F4(ar)3.41 E(g)-.37 E F0 .58
-(is not present and)3.3 F F3<ad70>3.08 E F0(has)3.08 E 1.214
-(been supplied, then the trap commands associated with each)144 387.6 R
-F4(sigspec)4.054 E F0 1.215(are displayed.)4.024 F 1.215(If no ar)6.215
-F(gu-)-.18 E .86(ments are supplied or if only)144 399.6 R F3<ad70>3.36
-E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F3(trap)3.36 E F0 .86
+.659(\(the v)144 542.4 R .659(alue it had upon entrance to the shell\).)
+-.25 F(If)5.658 E F1(ar)3.488 E(g)-.37 E F0 .658
+(is the null string the signal speci\214ed by each)3.378 F F1(sigspec)
+144.34 554.4 Q F0 .58(is ignored by the shell and by the commands it in)
+3.39 F -.2(vo)-.4 G -.1(ke).2 G 3.081(s. If).1 F F1(ar)3.411 E(g)-.37 E
+F0 .581(is not present and)3.301 F F2<ad70>3.081 E F0(has)3.081 E 1.215
+(been supplied, then the trap commands associated with each)144 566.4 R
+F1(sigspec)4.054 E F0 1.214(are displayed.)4.024 F 1.214(If no ar)6.214
+F(gu-)-.18 E .86(ments are supplied or if only)144 578.4 R F2<ad70>3.36
+E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F2(trap)3.36 E F0 .86
 (prints the list of commands associated with each)3.36 F 2.83
-(signal. The)144 411.6 R F3<ad6c>2.83 E F0 .33(option causes the shell \
-to print a list of signal names and their corresponding num-)2.83 F
-4.311(bers. Each)144 423.6 R F4(sigspec)4.651 E F0 1.811
-(is either a signal name de\214ned in <)4.621 F F4(signal.h)A F0 1.81
-(>, or a signal number)B 6.81(.S)-.55 G(ignal)-6.81 E
-(names are case insensiti)144 435.6 Q .3 -.15(ve a)-.25 H(nd the).15 E
-F1(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.648(If a)144 453.6 R F4
-(sigspec)4.488 E F0(is)4.458 E F1(EXIT)4.148 E F0 1.648
-(\(0\) the command)3.898 F F4(ar)4.479 E(g)-.37 E F0 1.649(is e)4.369 F
--.15(xe)-.15 G 1.649(cuted on e).15 F 1.649(xit from the shell.)-.15 F
-1.649(If a)6.649 F F4(sigspec)4.489 E F0(is)4.459 E F1(DEB)144 465.6 Q
-(UG)-.09 E F2(,)A F0 1.168(the command)3.418 F F4(ar)3.998 E(g)-.37 E F0
-1.168(is e)3.888 F -.15(xe)-.15 G 1.167(cuted before e).15 F -.15(ve)
--.25 G(ry).15 E F4 1.167(simple command)3.667 F F0(,)A F4(for)3.667 E F0
-(command,)3.667 E F4(case)3.667 E F0(com-)3.667 E(mand,)144 477.6 Q F4
-(select)2.646 E F0 .146(command, e)2.646 F -.15(ve)-.25 G .146
-(ry arithmetic).15 F F4(for)2.646 E F0 .147
-(command, and before the \214rst command e)2.646 F -.15(xe)-.15 G .147
-(cutes in a).15 F .146(shell function \(see)144 489.6 R F1 .146
-(SHELL GRAMMAR)2.646 F F0(abo)2.396 E -.15(ve)-.15 G 2.646(\). Refer).15
-F .146(to the description of the)2.646 F F3(extdeb)2.645 E(ug)-.2 E F0
-.145(option to)2.645 F(the)144 501.6 Q F3(shopt)3.2 E F0 -.2(bu)3.2 G .7
-(iltin for details of its ef).2 F .7(fect on the)-.25 F F3(DEB)3.2 E(UG)
--.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F4(sigspec)3.54 E F0(is)3.51 E F1
-(RETURN)3.2 E F2(,)A F0 .701(the com-)2.951 F(mand)144 513.6 Q F4(ar)
-3.474 E(g)-.37 E F0 .644(is e)3.364 F -.15(xe)-.15 G .643
+(signal. The)144 590.4 R F2<ad6c>2.83 E F0 .33(option causes the shell \
+to print a list of signal names and their corresponding num-)2.83 F 4.31
+(bers. Each)144 602.4 R F1(sigspec)4.65 E F0 1.811
+(is either a signal name de\214ned in <)4.62 F F1(signal.h)A F0 1.811
+(>, or a signal number)B 6.811(.S)-.55 G(ignal)-6.811 E
+(names are case insensiti)144 614.4 Q .3 -.15(ve a)-.25 H(nd the).15 E
+F3(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.649(If a)144 632.4 R F1
+(sigspec)4.489 E F0(is)4.459 E F3(EXIT)4.149 E F0 1.649
+(\(0\) the command)3.899 F F1(ar)4.479 E(g)-.37 E F0 1.649(is e)4.369 F
+-.15(xe)-.15 G 1.649(cuted on e).15 F 1.648(xit from the shell.)-.15 F
+1.648(If a)6.648 F F1(sigspec)4.488 E F0(is)4.458 E F3(DEB)144 644.4 Q
+(UG)-.09 E F4(,)A F0 1.167(the command)3.417 F F1(ar)3.997 E(g)-.37 E F0
+1.167(is e)3.887 F -.15(xe)-.15 G 1.167(cuted before e).15 F -.15(ve)
+-.25 G(ry).15 E F1 1.168(simple command)3.667 F F0(,)A F1(for)3.668 E F0
+(command,)3.668 E F1(case)3.668 E F0(com-)3.668 E(mand,)144 656.4 Q F1
+(select)2.647 E F0 .147(command, e)2.647 F -.15(ve)-.25 G .147
+(ry arithmetic).15 F F1(for)2.647 E F0 .146
+(command, and before the \214rst command e)2.647 F -.15(xe)-.15 G .146
+(cutes in a).15 F .145(shell function \(see)144 668.4 R F3 .145
+(SHELL GRAMMAR)2.645 F F0(abo)2.395 E -.15(ve)-.15 G 2.646(\). Refer).15
+F .146(to the description of the)2.646 F F2(extdeb)2.646 E(ug)-.2 E F0
+.146(option to)2.646 F(the)144 680.4 Q F2(shopt)3.201 E F0 -.2(bu)3.201
+G .7(iltin for details of its ef).2 F .7(fect on the)-.25 F F2(DEB)3.2 E
+(UG)-.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F1(sigspec)3.54 E F0(is)3.51 E
+F3(RETURN)3.2 E F4(,)A F0 .7(the com-)2.95 F(mand)144 692.4 Q F1(ar)
+3.473 E(g)-.37 E F0 .643(is e)3.363 F -.15(xe)-.15 G .643
 (cuted each time a shell function or a script e).15 F -.15(xe)-.15 G
-.643(cuted with the).15 F F3(.)3.143 E F0(or)3.143 E F3(sour)3.143 E(ce)
--.18 E F0 -.2(bu)3.143 G(iltins).2 E(\214nishes e)144 525.6 Q -.15(xe)
--.15 G(cuting.).15 E .928(If a)144 543.6 R F4(sigspec)3.768 E F0(is)
-3.738 E F1(ERR)3.429 E F2(,)A F0 .929(the command)3.179 F F4(ar)3.759 E
+.644(cuted with the).15 F F2(.)3.144 E F0(or)3.144 E F2(sour)3.144 E(ce)
+-.18 E F0 -.2(bu)3.144 G(iltins).2 E(\214nishes e)144 704.4 Q -.15(xe)
+-.15 G(cuting.).15 E .929(If a)144 722.4 R F1(sigspec)3.769 E F0(is)
+3.739 E F3(ERR)3.429 E F4(,)A F0 .929(the command)3.179 F F1(ar)3.759 E
 (g)-.37 E F0 .929(is e)3.649 F -.15(xe)-.15 G .929(cuted whene).15 F
--.15(ve)-.25 G 3.429(ras).15 G .929(imple command has a non\255zero)
--3.429 F -.15(ex)144 555.6 S 1.009(it status, subject to the follo).15 F
-1.009(wing conditions.)-.25 F(The)6.009 E F1(ERR)3.509 E F0 1.009
-(trap is not e)3.259 F -.15(xe)-.15 G 1.008(cuted if the f).15 F 1.008
-(ailed com-)-.1 F .324
-(mand is part of the command list immediately follo)144 567.6 R .324
-(wing a)-.25 F F3(while)2.824 E F0(or)2.824 E F3(until)2.824 E F0 -.1
-(ke)2.824 G(yw)-.05 E .324(ord, part of the test)-.1 F .151(in an)144
-579.6 R F4(if)2.661 E F0 .151(statement, part of a command e)4.611 F
--.15(xe)-.15 G .151(cuted in a).15 F F3(&&)2.651 E F0(or)2.651 E F3(||)
-2.651 E F0 .151(list, or if the command')2.651 F 2.651(sr)-.55 G .151
-(eturn v)-2.651 F(alue)-.25 E(is being in)144 591.6 Q -.15(ve)-.4 G
-(rted via).15 E F3(!)2.5 E F0 5(.T)C(hese are the same conditions obe)-5
-E(yed by the)-.15 E F3(err)2.5 E(exit)-.18 E F0(option.)2.5 E 1.095
-(Signals ignored upon entry to the shell cannot be trapped or reset.)144
-609.6 R -.35(Tr)6.095 G 1.095(apped signals that are not).35 F .662
-(being ignored are reset to their original v)144 621.6 R .662
-(alues in a subshell or subshell en)-.25 F .661(vironment when one is)
--.4 F 2.5(created. The)144 633.6 R(return status is f)2.5 E(alse if an)
--.1 E(y)-.15 E F4(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4 G
-(lid; otherwise).25 E F3(trap)2.5 E F0(returns true.)2.5 E F3(type)108
-650.4 Q F0([)2.5 E F3(\255aftpP)A F0(])A F4(name)2.5 E F0([)2.5 E F4
-(name)A F0(...])2.5 E -.4(Wi)144 662.4 S .173
-(th no options, indicate ho).4 F 2.673(we)-.25 G(ach)-2.673 E F4(name)
-3.033 E F0 -.1(wo)2.853 G .174
-(uld be interpreted if used as a command name.).1 F .174(If the)5.174 F
-F3<ad74>144 674.4 Q F0 .843(option is used,)3.343 F F3(type)3.343 E F0
-.843(prints a string which is one of)3.343 F F4(alias)3.343 E F0(,).27 E
-F4 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F4(function)3.343 E F0
-(,).24 E F4 -.2(bu)3.342 G(iltin).2 E F0 3.342(,o).24 G(r)-3.342 E F4
-(\214le)5.252 E F0(if)3.522 E F4(name)144.36 686.4 Q F0 .086
-(is an alias, shell reserv)2.766 F .086(ed w)-.15 F .086
-(ord, function, b)-.1 F .087(uiltin, or disk \214le, respecti)-.2 F -.15
-(ve)-.25 G(ly).15 E 5.087(.I)-.65 G 2.587(ft)-5.087 G(he)-2.587 E F4
-(name)2.947 E F0 .087(is not)2.767 F .119
-(found, then nothing is printed, and an e)144 698.4 R .118
-(xit status of f)-.15 F .118(alse is returned.)-.1 F .118(If the)5.118 F
-F3<ad70>2.618 E F0 .118(option is used,)2.618 F F3(type)2.618 E F0 .855
-(either returns the name of the disk \214le that w)144 710.4 R .855
-(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F4(name)3.715 E F0
-.855(were speci\214ed as a com-)3.535 F .641(mand name, or nothing if)
-144 722.4 R/F5 10/Courier@0 SF .641(type -t name)3.141 F F0 -.1(wo)3.141
-G .641(uld not return).1 F F4(\214le)3.14 E F0 5.64(.T).18 G(he)-5.64 E
-F3<ad50>3.14 E F0 .64(option forces a)3.14 F F1 -.666(PA)3.14 G(TH)-.189
-E F0(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(20)198.725 E 0 Cg EP
+-.15(ve)-.25 G 3.429(ras).15 G .928(imple command has a non\255zero)
+-3.429 F(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(20)198.725 E 0 Cg
+EP
 %%Page: 21 21
 %%BeginPageSetup
 BP
 %%EndPageSetup
 /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .112
-(search for each)144 84 R/F1 10/Times-Italic@0 SF(name)2.612 E F0 2.612
-(,e)C -.15(ve)-2.862 G 2.613(ni).15 G(f)-2.613 E/F2 10/Courier@0 SF .113
-(type -t name)2.613 F F0 -.1(wo)2.613 G .113(uld not return).1 F F1
-(\214le)2.613 E F0 5.113(.I).18 G 2.613(fac)-5.113 G .113
-(ommand is hashed,)-2.613 F/F3 10/Times-Bold@0 SF<ad70>2.613 E F0(and)
-144 96 Q F3<ad50>2.945 E F0 .445(print the hashed v)2.945 F .444
-(alue, not necessarily the \214le that appears \214rst in)-.25 F/F4 9
-/Times-Bold@0 SF -.666(PA)2.944 G(TH)-.189 E/F5 9/Times-Roman@0 SF(.)A
-F0 .444(If the)4.944 F F3<ad61>2.944 E F0(option)2.944 E .265(is used,)
-144 108 R F3(type)2.765 E F0 .265
-(prints all of the places that contain an e)2.765 F -.15(xe)-.15 G .265
-(cutable named).15 F F1(name)2.765 E F0 5.265(.T).18 G .265
-(his includes aliases)-5.265 F .427(and functions, if and only if the)
-144 120 R F3<ad70>2.926 E F0 .426(option is not also used.)2.926 F .426
-(The table of hashed commands is not)5.426 F .548(consulted when using)
-144 132 R F3<ad61>3.048 E F0 5.548(.T)C(he)-5.548 E F3<ad66>3.048 E F0
-.549(option suppresses shell function lookup, as with the)3.048 F F3
-(command)3.049 E F0 -.2(bu)144 144 S(iltin.).2 E F3(type)5 E F0
-(returns true if all of the ar)2.5 E(guments are found, f)-.18 E
-(alse if an)-.1 E 2.5(ya)-.15 G(re not found.)-2.5 E F3(ulimit)108 160.8
-Q F0([)2.5 E F3(\255HST)A(abcde\214lmnpqrstuvx)-.92 E F0([)2.5 E F1
-(limit)A F0(]])A(Pro)144 172.8 Q .244(vides control o)-.15 F -.15(ve)
--.15 G 2.744(rt).15 G .244(he resources a)-2.744 F -.25(va)-.2 G .244
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E -.15(ex)144
+84 S 1.008(it status, subject to the follo).15 F 1.009(wing conditions.)
+-.25 F(The)6.009 E/F1 9/Times-Bold@0 SF(ERR)3.509 E F0 1.009
+(trap is not e)3.259 F -.15(xe)-.15 G 1.009(cuted if the f).15 F 1.009
+(ailed com-)-.1 F .324
+(mand is part of the command list immediately follo)144 96 R .324
+(wing a)-.25 F/F2 10/Times-Bold@0 SF(while)2.824 E F0(or)2.824 E F2
+(until)2.824 E F0 -.1(ke)2.824 G(yw)-.05 E .324(ord, part of the test)
+-.1 F .151(in an)144 108 R/F3 10/Times-Italic@0 SF(if)2.661 E F0 .151
+(statement, part of a command e)4.611 F -.15(xe)-.15 G .151(cuted in a)
+.15 F F2(&&)2.651 E F0(or)2.651 E F2(||)2.651 E F0 .151
+(list, or if the command')2.651 F 2.651(sr)-.55 G .151(eturn v)-2.651 F
+(alue)-.25 E(is being in)144 120 Q -.15(ve)-.4 G(rted via).15 E F2(!)2.5
+E F0 5(.T)C(hese are the same conditions obe)-5 E(yed by the)-.15 E F2
+(err)2.5 E(exit)-.18 E F0(option.)2.5 E 1.095
+(Signals ignored upon entry to the shell cannot be trapped or reset.)144
+138 R -.35(Tr)6.095 G 1.095(apped signals that are not).35 F .662
+(being ignored are reset to their original v)144 150 R .662
+(alues in a subshell or subshell en)-.25 F .662(vironment when one is)
+-.4 F 2.5(created. The)144 162 R(return status is f)2.5 E(alse if an)-.1
+E(y)-.15 E F3(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4 G
+(lid; otherwise).25 E F2(trap)2.5 E F0(returns true.)2.5 E F2(type)108
+178.8 Q F0([)2.5 E F2(\255aftpP)A F0(])A F3(name)2.5 E F0([)2.5 E F3
+(name)A F0(...])2.5 E -.4(Wi)144 190.8 S .174
+(th no options, indicate ho).4 F 2.674(we)-.25 G(ach)-2.674 E F3(name)
+3.034 E F0 -.1(wo)2.854 G .173
+(uld be interpreted if used as a command name.).1 F .173(If the)5.173 F
+F2<ad74>144 202.8 Q F0 .842(option is used,)3.342 F F2(type)3.342 E F0
+.843(prints a string which is one of)3.343 F F3(alias)3.343 E F0(,).27 E
+F3 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F3(function)3.343 E F0
+(,).24 E F3 -.2(bu)3.343 G(iltin).2 E F0 3.343(,o).24 G(r)-3.343 E F3
+(\214le)5.253 E F0(if)3.523 E F3(name)144.36 214.8 Q F0 .087
+(is an alias, shell reserv)2.767 F .087(ed w)-.15 F .087
+(ord, function, b)-.1 F .086(uiltin, or disk \214le, respecti)-.2 F -.15
+(ve)-.25 G(ly).15 E 5.086(.I)-.65 G 2.586(ft)-5.086 G(he)-2.586 E F3
+(name)2.946 E F0 .086(is not)2.766 F .118
+(found, then nothing is printed, and an e)144 226.8 R .118
+(xit status of f)-.15 F .118(alse is returned.)-.1 F .119(If the)5.119 F
+F2<ad70>2.619 E F0 .119(option is used,)2.619 F F2(type)2.619 E F0 .855
+(either returns the name of the disk \214le that w)144 238.8 R .855
+(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F3(name)3.715 E F0
+.855(were speci\214ed as a com-)3.535 F .64(mand name, or nothing if)144
+250.8 R/F4 10/Courier@0 SF .64(type -t name)3.14 F F0 -.1(wo)3.14 G .641
+(uld not return).1 F F3(\214le)3.141 E F0 5.641(.T).18 G(he)-5.641 E F2
+<ad50>3.141 E F0 .641(option forces a)3.141 F F1 -.666(PA)3.141 G(TH)
+-.189 E F0 .113(search for each)144 262.8 R F3(name)2.613 E F0 2.613(,e)
+C -.15(ve)-2.863 G 2.613(ni).15 G(f)-2.613 E F4 .113(type -t name)2.613
+F F0 -.1(wo)2.613 G .113(uld not return).1 F F3(\214le)2.613 E F0 5.113
+(.I).18 G 2.613(fa)-5.113 G .112(command is hashed,)-.001 F F2<ad70>
+2.612 E F0(and)144 274.8 Q F2<ad50>3.23 E F0 .73(print the hashed v)3.23
+F .731
+(alue, which is not necessarily the \214le that appears \214rst in)-.25
+F F1 -.666(PA)3.231 G(TH)-.189 E/F5 9/Times-Roman@0 SF(.)A F0 .731
+(If the)5.231 F F2<ad61>144 286.8 Q F0 1.749(option is used,)4.249 F F2
+(type)4.248 E F0 1.748(prints all of the places that contain an e)4.248
+F -.15(xe)-.15 G 1.748(cutable named).15 F F3(name)4.248 E F0 6.748(.T)
+.18 G(his)-6.748 E .744
+(includes aliases and functions, if and only if the)144 298.8 R F2<ad70>
+3.244 E F0 .744(option is not also used.)3.244 F .744
+(The table of hashed)5.744 F 1.223(commands is not consulted when using)
+144 310.8 R F2<ad61>3.723 E F0 6.223(.T)C(he)-6.223 E F2<ad66>3.723 E F0
+1.223(option suppresses shell function lookup, as)3.723 F .325(with the)
+144 322.8 R F2(command)2.825 E F0 -.2(bu)2.825 G(iltin.).2 E F2(type)
+5.325 E F0 .325(returns true if all of the ar)2.825 F .326
+(guments are found, f)-.18 F .326(alse if an)-.1 F 2.826(ya)-.15 G .326
+(re not)-2.826 F(found.)144 334.8 Q F2(ulimit)108 351.6 Q F0([)2.5 E F2
+(\255HST)A(abcde\214lmnpqrstuvx)-.92 E F0([)2.5 E F3(limit)A F0(]])A
+(Pro)144 363.6 Q .244(vides control o)-.15 F -.15(ve)-.15 G 2.744(rt).15
+G .244(he resources a)-2.744 F -.25(va)-.2 G .244
 (ilable to the shell and to processes started by it, on systems).25 F
-.943(that allo)144 184.8 R 3.443(ws)-.25 G .943(uch control.)-3.443 F
-(The)5.943 E F3<ad48>3.443 E F0(and)3.443 E F3<ad53>3.444 E F0 .944
+.943(that allo)144 375.6 R 3.443(ws)-.25 G .943(uch control.)-3.443 F
+(The)5.943 E F2<ad48>3.443 E F0(and)3.443 E F2<ad53>3.444 E F0 .944
 (options specify that the hard or soft limit is set for the)3.444 F(gi)
-144 196.8 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208
+144 387.6 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208
 (hard limit cannot be increased by a non-root user once it is set; a so\
-ft limit may)2.709 F .425(be increased up to the v)144 208.8 R .425
-(alue of the hard limit.)-.25 F .426(If neither)5.425 F F3<ad48>2.926 E
-F0(nor)2.926 E F3<ad53>2.926 E F0 .426
+ft limit may)2.709 F .425(be increased up to the v)144 399.6 R .425
+(alue of the hard limit.)-.25 F .426(If neither)5.425 F F2<ad48>2.926 E
+F0(nor)2.926 E F2<ad53>2.926 E F0 .426
 (is speci\214ed, both the soft and)2.926 F .139(hard limits are set.)144
-220.8 R .139(The v)5.139 F .139(alue of)-.25 F F1(limit)2.729 E F0 .139
+411.6 R .139(The v)5.139 F .139(alue of)-.25 F F3(limit)2.729 E F0 .139
 (can be a number in the unit speci\214ed for the resource or one)3.319 F
-.741(of the special v)144 232.8 R(alues)-.25 E F3(hard)3.241 E F0(,)A F3
-(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F3(unlimited)3.241 E F0 3.241(,w)
+.741(of the special v)144 423.6 R(alues)-.25 E F2(hard)3.241 E F0(,)A F2
+(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F2(unlimited)3.241 E F0 3.241(,w)
 C .741(hich stand for the current hard limit, the current)-3.241 F .78
-(soft limit, and no limit, respecti)144 244.8 R -.15(ve)-.25 G(ly).15 E
-5.78(.I)-.65 G(f)-5.78 E F1(limit)3.37 E F0 .78
+(soft limit, and no limit, respecti)144 435.6 R -.15(ve)-.25 G(ly).15 E
+5.78(.I)-.65 G(f)-5.78 E F3(limit)3.37 E F0 .78
 (is omitted, the current v)3.96 F .78(alue of the soft limit of the)-.25
-F .498(resource is printed, unless the)144 256.8 R F3<ad48>2.999 E F0
+F .498(resource is printed, unless the)144 447.6 R F2<ad48>2.999 E F0
 .499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .499
 (more than one resource is speci\214ed, the)2.999 F
-(limit name and unit are printed before the v)144 268.8 Q 2.5
-(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F3
-<ad61>144 280.8 Q F0(All current limits are reported)25.3 E F3<ad62>144
-292.8 Q F0(The maximum sock)24.74 E(et b)-.1 E(uf)-.2 E(fer size)-.25 E
-F3<ad63>144 304.8 Q F0(The maximum size of core \214les created)25.86 E
-F3<ad64>144 316.8 Q F0(The maximum size of a process')24.74 E 2.5(sd)
--.55 G(ata se)-2.5 E(gment)-.15 E F3<ad65>144 328.8 Q F0
-(The maximum scheduling priority \("nice"\))25.86 E F3<ad66>144 340.8 Q
+(limit name and unit are printed before the v)144 459.6 Q 2.5
+(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F2
+<ad61>144 471.6 Q F0(All current limits are reported)25.3 E F2<ad62>144
+483.6 Q F0(The maximum sock)24.74 E(et b)-.1 E(uf)-.2 E(fer size)-.25 E
+F2<ad63>144 495.6 Q F0(The maximum size of core \214les created)25.86 E
+F2<ad64>144 507.6 Q F0(The maximum size of a process')24.74 E 2.5(sd)
+-.55 G(ata se)-2.5 E(gment)-.15 E F2<ad65>144 519.6 Q F0
+(The maximum scheduling priority \("nice"\))25.86 E F2<ad66>144 531.6 Q
 F0(The maximum size of \214les written by the shell and its children)
-26.97 E F3<ad69>144 352.8 Q F0(The maximum number of pending signals)
-27.52 E F3<ad6c>144 364.8 Q F0(The maximum size that may be lock)27.52 E
-(ed into memory)-.1 E F3<ad6d>144 376.8 Q F0
+26.97 E F2<ad69>144 543.6 Q F0(The maximum number of pending signals)
+27.52 E F2<ad6c>144 555.6 Q F0(The maximum size that may be lock)27.52 E
+(ed into memory)-.1 E F2<ad6d>144 567.6 Q F0
 (The maximum resident set size \(man)21.97 E 2.5(ys)-.15 G
-(ystems do not honor this limit\))-2.5 E F3<ad6e>144 388.8 Q F0 .791(Th\
+(ystems do not honor this limit\))-2.5 E F2<ad6e>144 579.6 Q F0 .791(Th\
 e maximum number of open \214le descriptors \(most systems do not allo)
 24.74 F 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F(be set\))180
-400.8 Q F3<ad70>144 412.8 Q F0
-(The pipe size in 512-byte blocks \(this may not be set\))24.74 E F3
-<ad71>144 424.8 Q F0
-(The maximum number of bytes in POSIX message queues)24.74 E F3<ad72>144
-436.8 Q F0(The maximum real-time scheduling priority)25.86 E F3<ad73>144
-448.8 Q F0(The maximum stack size)26.41 E F3<ad74>144 460.8 Q F0
-(The maximum amount of cpu time in seconds)26.97 E F3<ad75>144 472.8 Q
+591.6 Q F2<ad70>144 603.6 Q F0
+(The pipe size in 512-byte blocks \(this may not be set\))24.74 E F2
+<ad71>144 615.6 Q F0
+(The maximum number of bytes in POSIX message queues)24.74 E F2<ad72>144
+627.6 Q F0(The maximum real-time scheduling priority)25.86 E F2<ad73>144
+639.6 Q F0(The maximum stack size)26.41 E F2<ad74>144 651.6 Q F0
+(The maximum amount of cpu time in seconds)26.97 E F2<ad75>144 663.6 Q
 F0(The maximum number of processes a)24.74 E -.25(va)-.2 G
-(ilable to a single user).25 E F3<ad76>144 484.8 Q F0 .47
+(ilable to a single user).25 E F2<ad76>144 675.6 Q F0 .47
 (The maximum amount of virtual memory a)25.3 F -.25(va)-.2 G .47
 (ilable to the shell and, on some systems, to).25 F(its children)180
-496.8 Q F3<ad78>144 508.8 Q F0(The maximum number of \214le locks)25.3 E
-F3<ad54>144 520.8 Q F0(The maximum number of threads)23.63 E(If)144
-537.6 Q F1(limit)2.933 E F0 .343(is gi)3.523 F -.15(ve)-.25 G .343
-(n, it is the ne).15 F 2.843(wv)-.25 G .343
-(alue of the speci\214ed resource \(the)-3.093 F F3<ad61>2.843 E F0 .343
-(option is display only\).)2.843 F .343(If no)5.343 F .175(option is gi)
-144 549.6 R -.15(ve)-.25 G .175(n, then).15 F F3<ad66>2.675 E F0 .175
-(is assumed.)2.675 F -1.11(Va)5.175 G .175
-(lues are in 1024-byte increments, e)1.11 F .176(xcept for)-.15 F F3
-<ad74>2.676 E F0 2.676(,w)C .176(hich is in)-2.676 F(seconds,)144 561.6
-Q F3<ad70>2.516 E F0 2.516(,w)C .016
-(hich is in units of 512-byte blocks, and)-2.516 F F3<ad54>2.516 E F0(,)
-A F3<ad62>2.515 E F0(,)A F3<ad6e>2.515 E F0 2.515(,a)C(nd)-2.515 E F3
-<ad75>2.515 E F0 2.515(,w)C .015(hich are unscaled v)-2.515 F(al-)-.25 E
-3.787(ues. The)144 573.6 R 1.287(return status is 0 unless an in)3.787 F
--.25(va)-.4 G 1.287(lid option or ar).25 F 1.287
+687.6 Q F2<ad78>144 699.6 Q F0(The maximum number of \214le locks)25.3 E
+F2<ad54>144 711.6 Q F0(The maximum number of threads)23.63 E(If)144
+728.4 Q F3(limit)3.058 E F0 .468(is gi)3.648 F -.15(ve)-.25 G .468
+(n, and the).15 F F2<ad61>2.968 E F0 .468(option is not used,)2.968 F F3
+(limit)2.968 E F0 .468(is the ne)2.968 F 2.968(wv)-.25 G .468
+(alue of the speci\214ed resource.)-3.218 F(If)5.468 E(GNU Bash-4.0)72
+768 Q(2004 Apr 20)148.735 E(21)198.725 E 0 Cg EP
+%%Page: 22 22
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .044
+(no option is gi)144 84 R -.15(ve)-.25 G .044(n, then).15 F/F1 10
+/Times-Bold@0 SF<ad66>2.544 E F0 .045(is assumed.)2.545 F -1.11(Va)5.045
+G .045(lues are in 1024-byte increments, e)1.11 F .045(xcept for)-.15 F
+F1<ad74>2.545 E F0 2.545(,w)C .045(hich is)-2.545 F .403(in seconds;)144
+96 R F1<ad70>2.903 E F0 2.903(,w)C .402
+(hich is in units of 512-byte blocks; and)-2.903 F F1<ad54>2.902 E F0(,)
+A F1<ad62>2.902 E F0(,)A F1<ad6e>2.902 E F0 2.902(,a)C(nd)-2.902 E F1
+<ad75>2.902 E F0 2.902(,w)C .402(hich are unscaled)-2.902 F -.25(va)144
+108 S 3.082(lues. The).25 F .583(return status is 0 unless an in)3.083 F
+-.25(va)-.4 G .583(lid option or ar).25 F .583
 (gument is supplied, or an error occurs)-.18 F(while setting a ne)144
-585.6 Q 2.5(wl)-.25 G(imit.)-2.5 E F3(umask)108 602.4 Q F0([)2.5 E F3
-<ad70>A F0 2.5(][)C F3<ad53>-2.5 E F0 2.5(][)C F1(mode)-2.5 E F0(])A .2
-(The user \214le-creation mask is set to)144 614.4 R F1(mode)2.7 E F0
-5.2(.I).18 G(f)-5.2 E F1(mode)3.08 E F0(be)2.88 E .2
+120 Q 2.5(wl)-.25 G(imit.)-2.5 E F1(umask)108 136.8 Q F0([)2.5 E F1
+<ad70>A F0 2.5(][)C F1<ad53>-2.5 E F0 2.5(][)C/F2 10/Times-Italic@0 SF
+(mode)-2.5 E F0(])A .2(The user \214le-creation mask is set to)144 148.8
+R F2(mode)2.7 E F0 5.2(.I).18 G(f)-5.2 E F2(mode)3.08 E F0(be)2.88 E .2
 (gins with a digit, it is interpreted as an octal)-.15 F .066(number; o\
 therwise it is interpreted as a symbolic mode mask similar to that acce\
-pted by)144 626.4 R F1 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
-638.4 Q F1(mode)3.263 E F0 .382(is omitted, the current v)3.063 F .382
-(alue of the mask is printed.)-.25 F(The)5.382 E F3<ad53>2.882 E F0 .382
+pted by)144 160.8 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
+172.8 Q F2(mode)3.263 E F0 .382(is omitted, the current v)3.063 F .382
+(alue of the mask is printed.)-.25 F(The)5.382 E F1<ad53>2.882 E F0 .382
 (option causes the mask to be)2.882 F .547
-(printed in symbolic form; the def)144 650.4 R .547
+(printed in symbolic form; the def)144 184.8 R .547
 (ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G
-(he)-3.047 E F3<ad70>3.047 E F0 .547(option is supplied, and)3.047 F F1
-(mode)144.38 662.4 Q F0 .552
+(he)-3.047 E F1<ad70>3.047 E F0 .547(option is supplied, and)3.047 F F2
+(mode)144.38 196.8 Q F0 .552
 (is omitted, the output is in a form that may be reused as input.)3.232
-F .551(The return status is 0 if the)5.551 F(mode w)144 674.4 Q
-(as successfully changed or if no)-.1 E F1(mode)2.5 E F0(ar)2.5 E
-(gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F3
-(unalias)108 691.2 Q F0<5bad>2.5 E F3(a)A F0 2.5(][)C F1(name)-2.5 E F0
-(...])2.5 E(Remo)144 703.2 Q 1.955 -.15(ve e)-.15 H(ach).15 E F1(name)
+F .551(The return status is 0 if the)5.551 F(mode w)144 208.8 Q
+(as successfully changed or if no)-.1 E F2(mode)2.5 E F0(ar)2.5 E
+(gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F1
+(unalias)108 225.6 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
+(...])2.5 E(Remo)144 237.6 Q 1.955 -.15(ve e)-.15 H(ach).15 E F2(name)
 4.155 E F0 1.655(from the list of de\214ned aliases.)4.155 F(If)6.655 E
-F3<ad61>4.155 E F0 1.655(is supplied, all alias de\214nitions are)4.155
-F(remo)144 715.2 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
-(alue is true unless a supplied)-.25 E F1(name)2.86 E F0
-(is not a de\214ned alias.)2.68 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)
-148.735 E(21)198.725 E 0 Cg EP
-%%Page: 22 22
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF(unset)108 84 Q F0<5bad>2.5 E F1(fv)A F0 2.5(][)C/F2 10
-/Times-Italic@0 SF(name)-2.5 E F0(...])2.5 E -.15(Fo)144 96 S 3.828(re)
-.15 G(ach)-3.828 E F2(name)3.828 E F0 3.828(,r).18 G(emo)-3.828 E 1.628
--.15(ve t)-.15 H 1.328(he corresponding v).15 F 1.327
+F1<ad61>4.155 E F0 1.655(is supplied, all alias de\214nitions are)4.155
+F(remo)144 249.6 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
+(alue is true unless a supplied)-.25 E F2(name)2.86 E F0
+(is not a de\214ned alias.)2.68 E F1(unset)108 266.4 Q F0<5bad>2.5 E F1
+(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 278.4 S 3.828
+(re).15 G(ach)-3.828 E F2(name)3.828 E F0 3.828(,r).18 G(emo)-3.828 E
+1.628 -.15(ve t)-.15 H 1.328(he corresponding v).15 F 1.327
 (ariable or function.)-.25 F 1.327(If the)6.327 F F1<ad76>3.827 E F0
 1.327(option is gi)3.827 F -.15(ve)-.25 G 1.327(n, each).15 F F2(name)
-144.36 108 Q F0 1.55(refers to a shell v)4.23 F 1.551
+144.36 290.4 Q F0 1.55(refers to a shell v)4.23 F 1.551
 (ariable, and that v)-.25 F 1.551(ariable is remo)-.25 F -.15(ve)-.15 G
 4.051(d. Read-only).15 F -.25(va)4.051 G 1.551(riables may not be).25 F
-4.642(unset. If)144 120 R F1<ad66>4.642 E F0 2.142(is speci\214ed, each)
-4.642 F F2(name)5.001 E F0 2.141
+4.642(unset. If)144 302.4 R F1<ad66>4.642 E F0 2.142
+(is speci\214ed, each)4.642 F F2(name)5.001 E F0 2.141
 (refers to a shell function, and the function de\214nition is)4.821 F
-(remo)144 132 Q -.15(ve)-.15 G 2.898(d. If).15 F .398
+(remo)144 314.4 Q -.15(ve)-.15 G 2.898(d. If).15 F .398
 (no options are supplied, each)2.898 F F2(name)2.898 E F0 .398
 (refers to a v)2.898 F .399(ariable; if there is no v)-.25 F .399
-(ariable by that)-.25 F .579(name, an)144 144 R 3.079(yf)-.15 G .579
+(ariable by that)-.25 F .579(name, an)144 326.4 R 3.079(yf)-.15 G .579
 (unction with that name is unset.)-3.079 F .579(Each unset v)5.579 F
 .579(ariable or function is remo)-.25 F -.15(ve)-.15 G 3.078(df).15 G
-.578(rom the)-3.078 F(en)144 156 Q .045
+.578(rom the)-3.078 F(en)144 338.4 Q .045
 (vironment passed to subsequent commands.)-.4 F .046(If an)5.046 F 2.546
 (yo)-.15 G(f)-2.546 E/F3 9/Times-Bold@0 SF(COMP_W)2.546 E(ORDBREAKS)-.09
 E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM)2.296 E F4(,)A F3(SEC-)2.296 E
-(ONDS)144 168 Q F4(,)A F3(LINENO)2.641 E F4(,)A F3(HISTCMD)2.641 E F4(,)
-A F3(FUNCN)2.641 E(AME)-.18 E F4(,)A F3(GR)2.64 E(OUPS)-.27 E F4(,)A F0
-(or)2.64 E F3(DIRST)2.89 E -.495(AC)-.81 G(K).495 E F0 .39
+(ONDS)144 350.4 Q F4(,)A F3(LINENO)2.641 E F4(,)A F3(HISTCMD)2.641 E F4
+(,)A F3(FUNCN)2.641 E(AME)-.18 E F4(,)A F3(GR)2.64 E(OUPS)-.27 E F4(,)A
+F0(or)2.64 E F3(DIRST)2.89 E -.495(AC)-.81 G(K).495 E F0 .39
 (are unset, the)2.64 F 2.89(yl)-.15 G .39(ose their spe-)-2.89 F .726
-(cial properties, e)144 180 R -.15(ve)-.25 G 3.226(ni).15 G 3.226(ft)
+(cial properties, e)144 362.4 R -.15(ve)-.25 G 3.226(ni).15 G 3.226(ft)
 -3.226 G(he)-3.226 E 3.226(ya)-.15 G .726(re subsequently reset.)-3.226
 F .726(The e)5.726 F .727(xit status is true unless a)-.15 F F2(name)
-3.587 E F0 .727(is read-)3.407 F(only)144 192 Q(.)-.65 E F1(wait)108
-208.8 Q F0([)2.5 E F2 2.5(n.)C(..)-2.5 E F0(])A -.8(Wa)144 220.8 S .288
+3.587 E F0 .727(is read-)3.407 F(only)144 374.4 Q(.)-.65 E F1(wait)108
+391.2 Q F0([)2.5 E F2 2.5(n.)C(..)-2.5 E F0(])A -.8(Wa)144 403.2 S .288
 (it for each speci\214ed process and return its termination status.).8 F
 (Each)5.288 E F2(n)3.148 E F0 .287(may be a process ID or a)3.028 F .722
-(job speci\214cation; if a job spec is gi)144 232.8 R -.15(ve)-.25 G
+(job speci\214cation; if a job spec is gi)144 415.2 R -.15(ve)-.25 G
 .722(n, all processes in that job').15 F 3.222(sp)-.55 G .722
 (ipeline are w)-3.222 F .722(aited for)-.1 F 5.722(.I)-.55 G(f)-5.722 E
-F2(n)3.583 E F0(is)3.463 E 1.266(not gi)144 244.8 R -.15(ve)-.25 G 1.266
+F2(n)3.583 E F0(is)3.463 E 1.266(not gi)144 427.2 R -.15(ve)-.25 G 1.266
 (n, all currently acti).15 F 1.566 -.15(ve c)-.25 H 1.265
 (hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.265
 (nd the return status is zero.)-3.765 F(If)6.265 E F2(n)4.125 E F0 .456
-(speci\214es a non-e)144 256.8 R .457
+(speci\214es a non-e)144 439.2 R .457
 (xistent process or job, the return status is 127.)-.15 F .457
-(Otherwise, the return status is the)5.457 F -.15(ex)144 268.8 S
+(Otherwise, the return status is the)5.457 F -.15(ex)144 451.2 S
 (it status of the last process or job w).15 E(aited for)-.1 E(.)-.55 E
-/F5 10.95/Times-Bold@0 SF(SEE ALSO)72 285.6 Q F0(bash\(1\), sh\(1\))108
-297.6 Q(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(22)198.725 E 0 Cg EP
+/F5 10.95/Times-Bold@0 SF(SEE ALSO)72 468 Q F0(bash\(1\), sh\(1\))108
+480 Q(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(22)198.725 E 0 Cg EP
 %%Trailer
 end
 %%EOF
index ebd414ca65b7e61f279dd4bac47fbf75275ac4ba..3ac18d86efb205cfaf0e5762b86a8ae9f690cda9 100644 (file)
@@ -18,7 +18,7 @@ R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
 
        +\bo      specifying command names containing /\b/
 
-       +\bo      specifying a file name containing a /\b/ as an argument  to  the  .\b.
+       +\bo      specifying a filename containing a /\b/ as an  argument  to  the  .\b.
               builtin command
 
        +\bo      specifying  a  filename containing a slash as an argument to the
index 444167d86475af5ade06873f59897d4ed8679e1f..9ce991bfda9c07e5937f194bfd4a2f6ce889b11b 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-3.0
 %%Creator: groff version 1.19.2
-%%CreationDate: Fri Jul  8 17:23:38 2011
+%%CreationDate: Mon Sep 26 10:56:08 2011
 %%DocumentNeededResources: font Times-Roman
 %%+ font Times-Bold
 %%DocumentSuppliedResources: procset grops 1.19 2
@@ -245,7 +245,7 @@ E F0(\(1\))A F1(RESTRICTED SHELL)72 112.8 Q F0(If)108 124.8 Q F2(bash)
 G(TH)-.189 E F4(,)A F3(ENV)2.25 E F4(,)A F0(or)2.25 E F3 -.27(BA)2.5 G
 (SH_ENV).27 E F0 32.5<8373>108 199.2 S
 (pecifying command names containing)-32.5 E F2(/)2.5 E F0 32.5<8373>108
-216 S(pecifying a \214le name containing a)-32.5 E F2(/)2.5 E F0
+216 S(pecifying a \214lename containing a)-32.5 E F2(/)2.5 E F0
 (as an ar)2.5 E(gument to the)-.18 E F2(.)2.5 E F0 -.2(bu)5 G
 (iltin command).2 E 32.5<8373>108 232.8 S .45
 (pecifying a \214lename containing a slash as an ar)-32.5 F .449
index 149e30439f9b8fc51f16b53923a40b1bdac82d33..ea521396ad2751b314bb938fde9eb3d9c28e3951 100644 (file)
@@ -530,6 +530,10 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
   REDIRECT *my_undo_list, *exec_undo_list;
   volatile int last_pid;
   volatile int save_line_number;
+#if defined (PROCESS_SUBSTITUTION)
+  volatile int ofifo, nfifo, osize, saved_fifo;
+  volatile char *ofifo_list;
+#endif
 
 #if 0
   if (command == 0 || breaking || continuing || read_but_dont_execute)
@@ -670,6 +674,17 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
   if (shell_control_structure (command->type) && command->redirects)
     stdin_redir = stdin_redirects (command->redirects);
 
+#if defined (PROCESS_SUBSTITUTION)
+  if (variable_context != 0)
+    {
+      ofifo = num_fifos ();
+      ofifo_list = copy_fifo_list (&osize);
+      saved_fifo = 1;
+    }
+  else
+    saved_fifo = 0;
+#endif
+
   /* Handle WHILE FOR CASE etc. with redirections.  (Also '&' input
      redirection.)  */
   if (do_redirections (command->redirects, RX_ACTIVE|RX_UNDOABLE) != 0)
@@ -677,6 +692,9 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
       cleanup_redirects (redirection_undo_list);
       redirection_undo_list = (REDIRECT *)NULL;
       dispose_exec_redirects ();
+#if defined (PROCESS_SUBSTITUTION)
+      free (ofifo_list);
+#endif
       return (last_command_exit_value = EXECUTION_FAILURE);
     }
 
@@ -971,6 +989,16 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
   if (my_undo_list || exec_undo_list)
     discard_unwind_frame ("loop_redirections");
 
+#if defined (PROCESS_SUBSTITUTION)
+  if (saved_fifo)
+    {
+      nfifo = num_fifos ();
+      if (nfifo > ofifo)
+       close_new_fifos (ofifo_list, osize);
+      free (ofifo_list);
+    }
+#endif
+
   /* Invert the return value if we have to */
   if (invert)
     exec_result = (exec_result == EXECUTION_SUCCESS)
@@ -1001,6 +1029,7 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
   if (running_trap == 0)
 #endif
     currently_executing_command = (COMMAND *)NULL;
+
   return (last_command_exit_value);
 }
 
@@ -4228,7 +4257,7 @@ execute_function (var, words, flags, fds_to_close, async, subshell)
 
   if (funcnest_max > 0 && funcnest >= funcnest_max)
     {
-      internal_error ("%s: maximum function nesting level exceeded (%d)", var->name, funcnest);
+      internal_error (_("%s: maximum function nesting level exceeded (%d)"), var->name, funcnest);
       funcnest = 0;    /* XXX - should we reset it somewhere else? */
       jump_to_top_level (DISCARD);
     }
@@ -5115,7 +5144,7 @@ shell_execve (command, args, env)
 #endif
       if (check_binary_file (sample, sample_len))
        {
-         internal_error (_("%s: cannot execute binary file"), command);
+         internal_error (_("%s: cannot execute binary file: %s"), command, strerror (i));
          return (EX_BINARY_FILE);
        }
     }
index 1fef517b04b43641a0225ff582e7b8509618385c..253fcf796f16896f84e34b6a629784184f7ceec0 100644 (file)
@@ -592,7 +592,8 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
          close_pipes (pipe_in, pipe_out);
 
 #if defined (PROCESS_SUBSTITUTION) && defined (HAVE_DEV_FD)
-         unlink_fifo_list ();
+         if (variable_context == 0)    /* wait until shell function completes */
+           unlink_fifo_list ();
 #endif
          /* If we are part of a pipeline, and not the end of the pipeline,
             then we should simply return and let the last command in the
@@ -3668,6 +3669,11 @@ fix_assignment_words (words)
       {
        if (b == 0)
          {
+           /* Posix (post-2008) says that `command' doesn't change whether
+              or not the builtin it shadows is a `declaration command', even
+              though it removes other special builtin properties.  In Posix
+              mode, we skip over one or more instances of `command' and
+              deal with the next word as the assignment builtin. */
            while (posixly_correct && wcmd && wcmd->word && wcmd->word->word && STREQ (wcmd->word->word, "command"))
              wcmd = wcmd->next;
            b = builtin_address_internal (wcmd->word->word, 0);
@@ -3689,6 +3695,8 @@ fix_assignment_words (words)
       {
        if (b == 0)
          {
+           while (posixly_correct && wcmd && wcmd->word && wcmd->word->word && STREQ (wcmd->word->word, "command"))
+             wcmd = wcmd->next;
            b = builtin_address_internal (wcmd->word->word, 0);
            if (b == 0 || (b->flags & ASSIGNMENT_BUILTIN) == 0)
              return;
@@ -4220,7 +4228,7 @@ execute_function (var, words, flags, fds_to_close, async, subshell)
 
   if (funcnest_max > 0 && funcnest >= funcnest_max)
     {
-      internal_error ("%s: maximum function nesting level exceeded (%d)", var->name, funcnest);
+      internal_error (_("%s: maximum function nesting level exceeded (%d)"), var->name, funcnest);
       funcnest = 0;    /* XXX - should we reset it somewhere else? */
       jump_to_top_level (DISCARD);
     }
@@ -5107,7 +5115,7 @@ shell_execve (command, args, env)
 #endif
       if (check_binary_file (sample, sample_len))
        {
-         internal_error (_("%s: cannot execute binary file"), command);
+         internal_error (_("%s: cannot execute binary file: %s"), command, strerror (i));
          return (EX_BINARY_FILE);
        }
     }
@@ -5176,6 +5184,14 @@ execute_intern_function (name, function)
       return (EXECUTION_FAILURE);
     }
 
+  /* Posix interpretation 383 */
+  if (posixly_correct && find_special_builtin (name->word))
+    {
+      internal_error (_("`%s': is a special builtin"), name->word);
+      last_command_exit_value = EX_BADUSAGE;
+      jump_to_top_level (ERREXIT);
+    }
+
   var = find_function (name->word);
   if (var && (readonly_p (var) || noassign_p (var)))
     {
index f5910863f64795b84f3f2775b5335375424223eb..42a83d5c34a3efad0e4e2a2aa4c57515cc124779 100644 (file)
@@ -206,6 +206,8 @@ rl_icppfunc_t *rl_directory_completion_hook = (rl_icppfunc_t *)NULL;
 
 rl_icppfunc_t *rl_directory_rewrite_hook = (rl_icppfunc_t *)NULL;
 
+rl_icppfunc_t *rl_filename_stat_hook = (rl_icppfunc_t *)NULL;
+
 /* If non-zero, this is the address of a function to call when reading
    directory entries from the filesystem for completion and comparing
    them to the partial word to be completed.  The function should
@@ -1695,6 +1697,8 @@ append_to_match (text, delimiter, quote_char, nontrivial_match)
   if (rl_filename_completion_desired)
     {
       filename = tilde_expand (text);
+      if (rl_filename_stat_hook)
+       (*rl_filename_stat_hook) (&filename);
       s = (nontrivial_match && rl_completion_mark_symlink_dirs == 0)
                ? LSTAT (filename, &finfo)
                : stat (filename, &finfo);
@@ -1714,8 +1718,7 @@ append_to_match (text, delimiter, quote_char, nontrivial_match)
 #ifdef S_ISLNK
       /* Don't add anything if the filename is a symlink and resolves to a
         directory. */
-      else if (s == 0 && S_ISLNK (finfo.st_mode) &&
-              stat (filename, &finfo) == 0 && S_ISDIR (finfo.st_mode))
+      else if (s == 0 && S_ISLNK (finfo.st_mode) && path_isdir (filename))
        ;
 #endif
       else
index 1b593969813daad092103bc58aa45c1008046cb7..250c6996706665578ad6398e657b124b3a9cc659 100644 (file)
@@ -206,6 +206,8 @@ rl_icppfunc_t *rl_directory_completion_hook = (rl_icppfunc_t *)NULL;
 
 rl_icppfunc_t *rl_directory_rewrite_hook = (rl_icppfunc_t *)NULL;
 
+rl_icppfunc_t *rl_directory_stat_hook = (rl_icppfunc_t *)NULL;
+
 /* If non-zero, this is the address of a function to call when reading
    directory entries from the filesystem for completion and comparing
    them to the partial word to be completed.  The function should
@@ -1058,10 +1060,14 @@ gen_completion_matches (text, start, end, our_func, found_quote, quote_char)
      variable rl_attempted_completion_function. */
   if (rl_attempted_completion_function)
     {
+#if 0
       _rl_interrupt_immediately++;
+#endif
       matches = (*rl_attempted_completion_function) (text, start, end);
+#if 0
       if (_rl_interrupt_immediately > 0)
        _rl_interrupt_immediately--;
+#endif
 
       if (matches || rl_attempted_completion_over)
        {
@@ -1691,6 +1697,8 @@ append_to_match (text, delimiter, quote_char, nontrivial_match)
   if (rl_filename_completion_desired)
     {
       filename = tilde_expand (text);
+      if (rl_directory_stat_hook)
+       (*rl_directory_stat_hook) (&filename);
       s = (nontrivial_match && rl_completion_mark_symlink_dirs == 0)
                ? LSTAT (filename, &finfo)
                : stat (filename, &finfo);
@@ -1710,8 +1718,7 @@ append_to_match (text, delimiter, quote_char, nontrivial_match)
 #ifdef S_ISLNK
       /* Don't add anything if the filename is a symlink and resolves to a
         directory. */
-      else if (s == 0 && S_ISLNK (finfo.st_mode) &&
-              stat (filename, &finfo) == 0 && S_ISDIR (finfo.st_mode))
+      else if (s == 0 && S_ISLNK (finfo.st_mode) && path_isdir (filename))
        ;
 #endif
       else
@@ -1988,7 +1995,9 @@ rl_completion_matches (text, entry_function)
   match_list = (char **)xmalloc ((match_list_size + 1) * sizeof (char *));
   match_list[1] = (char *)NULL;
 
+#if 0
   _rl_interrupt_immediately++;
+#endif
   while (string = (*entry_function) (text, matches))
     {
       if (matches + 1 == match_list_size)
@@ -1998,8 +2007,10 @@ rl_completion_matches (text, entry_function)
       match_list[++matches] = string;
       match_list[matches + 1] = (char *)NULL;
     }
+#if 0
   if (_rl_interrupt_immediately > 0)
     _rl_interrupt_immediately--;
+#endif
 
   /* If there were any matches, then look through them finding out the
      lowest common denominator.  That then becomes match_list[0]. */
@@ -2233,8 +2244,9 @@ rl_filename_completion_function (text, state)
        }
       directory = opendir (dirname);
 
-      /* Now dequote a non-null filename. */
-      if (filename && *filename && rl_completion_found_quote && rl_filename_dequoting_function)
+      /* Now dequote a non-null filename.  FILENAME will not be NULL, but may
+        be empty. */
+      if (*filename && rl_completion_found_quote && rl_filename_dequoting_function)
        {
          /* delete single and double quotes */
          temp = (*rl_filename_dequoting_function) (filename, rl_completion_quote_character);
index 7df310354568e06452295909ad824aed20aaa3d1..8340203d103619cc0da0f1a191fce3e75d5342ef 100644 (file)
@@ -1729,23 +1729,39 @@ the directory portion of the pathname the user typed.
 At the least, even if no other expansion is performed, this function should
 remove any quote characters from the directory name, because its result will
 be passed directly to @code{opendir()}.
+
 The directory completion hook returns an integer that should be non-zero if
 the function modifies its directory argument.
 The function should not modify the directory argument if it returns 0.
 @end deftypevar
 
-@ignore
-@deftypevar extern rl_icppfunc_t *rl_directory_rewrite_hook;
+@deftypevar {rl_icppfunc_t *} rl_directory_rewrite_hook;
 If non-zero, this is the address of a function to call when completing
 a directory name.  This function takes the address of the directory name
 to be modified as an argument.  Unlike @code{rl_directory_completion_hook},
 it only modifies the directory name used in @code{opendir}, not what is
 displayed when the possible completions are printed or inserted.  It is
 called before rl_directory_completion_hook.
+At the least, even if no other expansion is performed, this function should
+remove any quote characters from the directory name, because its result will
+be passed directly to @code{opendir()}.
 
-I'm not happy with how this works yet, so it's undocumented.
+The directory rewrite hook returns an integer that should be non-zero if
+the function modfies its directory argument.
+The function should not modify the directory argument if it returns 0.
+@end deftypevar
+
+@deftypevar {rl_icppfunc_t *} rl_filename_stat_hook
+If non-zero, this is the address of a function for the completer to
+call before deciding which character to append to a completed name.
+This function modifies its filename name argument, and the modified value
+is passed to @code{stat()} to determine the file's type and characteristics.
+This function does not need to remove quote characters from the filename.
+
+The stat hook returns an integer that should be non-zero if
+the function modfies its directory argument.
+The function should not modify the directory argument if it returns 0.
 @end deftypevar
-@end ignore
 
 @deftypevar {rl_dequote_func_t *} rl_filename_rewrite_hook
 If non-zero, this is the address of a function called when reading
diff --git a/lib/readline/doc/rltech.texi~ b/lib/readline/doc/rltech.texi~
new file mode 100644 (file)
index 0000000..7df3103
--- /dev/null
@@ -0,0 +1,2421 @@
+@comment %**start of header (This is for running Texinfo on a region.)
+@setfilename rltech.info
+@comment %**end of header (This is for running Texinfo on a region.)
+
+@ifinfo
+This document describes the GNU Readline Library, a utility for aiding
+in the consistency of user interface across discrete programs that need
+to provide a command line interface.
+
+Copyright (C) 1988--2011 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+pare preserved on all copies.
+
+@ignore
+Permission is granted to process this file through TeX and print the
+results, provided the printed document carries copying permission
+notice identical to this one except for the removal of this paragraph
+(this paragraph not being relevant to the printed manual).
+@end ignore
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the entire
+resulting derived work is distributed under the terms of a permission
+notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions,
+except that this permission notice may be stated in a translation approved
+by the Foundation.
+@end ifinfo
+
+@node Programming with GNU Readline
+@chapter Programming with GNU Readline
+
+This chapter describes the interface between the @sc{gnu} Readline Library and
+other programs.  If you are a programmer, and you wish to include the
+features found in @sc{gnu} Readline
+such as completion, line editing, and interactive history manipulation
+in your own programs, this section is for you.
+
+@menu
+* Basic Behavior::     Using the default behavior of Readline.
+* Custom Functions::   Adding your own functions to Readline.
+* Readline Variables::                 Variables accessible to custom
+                                       functions.
+* Readline Convenience Functions::     Functions which Readline supplies to
+                                       aid in writing your own custom
+                                       functions.
+* Readline Signal Handling::   How Readline behaves when it receives signals.
+* Custom Completers::  Supplanting or supplementing Readline's
+                       completion functions.
+@end menu
+
+@node Basic Behavior
+@section Basic Behavior
+
+Many programs provide a command line interface, such as @code{mail},
+@code{ftp}, and @code{sh}.  For such programs, the default behaviour of
+Readline is sufficient.  This section describes how to use Readline in
+the simplest way possible, perhaps to replace calls in your code to
+@code{gets()} or @code{fgets()}.
+
+@findex readline
+@cindex readline, function
+
+The function @code{readline()} prints a prompt @var{prompt}
+and then reads and returns a single line of text from the user.
+If @var{prompt} is @code{NULL} or the empty string, no prompt is displayed.
+The line @code{readline} returns is allocated with @code{malloc()};
+the caller should @code{free()} the line when it has finished with it.
+The declaration for @code{readline} in ANSI C is
+
+@example
+@code{char *readline (const char *@var{prompt});}
+@end example
+
+@noindent
+So, one might say
+@example
+@code{char *line = readline ("Enter a line: ");}
+@end example
+@noindent
+in order to read a line of text from the user.
+The line returned has the final newline removed, so only the
+text remains.
+
+If @code{readline} encounters an @code{EOF} while reading the line, and the
+line is empty at that point, then @code{(char *)NULL} is returned.
+Otherwise, the line is ended just as if a newline had been typed.
+
+If you want the user to be able to get at the line later, (with
+@key{C-p} for example), you must call @code{add_history()} to save the
+line away in a @dfn{history} list of such lines.
+
+@example
+@code{add_history (line)};
+@end example
+
+@noindent
+For full details on the GNU History Library, see the associated manual.
+
+It is preferable to avoid saving empty lines on the history list, since
+users rarely have a burning need to reuse a blank line.  Here is
+a function which usefully replaces the standard @code{gets()} library
+function, and has the advantage of no static buffer to overflow:
+
+@example
+/* A static variable for holding the line. */
+static char *line_read = (char *)NULL;
+
+/* Read a string, and return a pointer to it.
+   Returns NULL on EOF. */
+char *
+rl_gets ()
+@{
+  /* If the buffer has already been allocated,
+     return the memory to the free pool. */
+  if (line_read)
+    @{
+      free (line_read);
+      line_read = (char *)NULL;
+    @}
+
+  /* Get a line from the user. */
+  line_read = readline ("");
+
+  /* If the line has any text in it,
+     save it on the history. */
+  if (line_read && *line_read)
+    add_history (line_read);
+
+  return (line_read);
+@}
+@end example
+
+This function gives the user the default behaviour of @key{TAB}
+completion: completion on file names.  If you do not want Readline to
+complete on filenames, you can change the binding of the @key{TAB} key
+with @code{rl_bind_key()}.
+
+@example
+@code{int rl_bind_key (int @var{key}, rl_command_func_t *@var{function});}
+@end example
+
+@code{rl_bind_key()} takes two arguments: @var{key} is the character that
+you want to bind, and @var{function} is the address of the function to
+call when @var{key} is pressed.  Binding @key{TAB} to @code{rl_insert()}
+makes @key{TAB} insert itself.
+@code{rl_bind_key()} returns non-zero if @var{key} is not a valid
+ASCII character code (between 0 and 255).
+
+Thus, to disable the default @key{TAB} behavior, the following suffices:
+@example
+@code{rl_bind_key ('\t', rl_insert);}
+@end example
+
+This code should be executed once at the start of your program; you
+might write a function called @code{initialize_readline()} which
+performs this and other desired initializations, such as installing
+custom completers (@pxref{Custom Completers}).
+
+@node Custom Functions
+@section Custom Functions
+
+Readline provides many functions for manipulating the text of
+the line, but it isn't possible to anticipate the needs of all
+programs.  This section describes the various functions and variables
+defined within the Readline library which allow a user program to add
+customized functionality to Readline.
+
+Before declaring any functions that customize Readline's behavior, or
+using any functionality Readline provides in other code, an
+application writer should include the file @code{<readline/readline.h>}
+in any file that uses Readline's features.  Since some of the definitions
+in @code{readline.h} use the @code{stdio} library, the file
+@code{<stdio.h>} should be included before @code{readline.h}.
+
+@code{readline.h} defines a C preprocessor variable that should
+be treated as an integer, @code{RL_READLINE_VERSION}, which may
+be used to conditionally compile application code depending on
+the installed Readline version.  The value is a hexadecimal
+encoding of the major and minor version numbers of the library,
+of the form 0x@var{MMmm}.  @var{MM} is the two-digit major
+version number; @var{mm} is the two-digit minor version number. 
+For Readline 4.2, for example, the value of
+@code{RL_READLINE_VERSION} would be @code{0x0402}. 
+
+@menu
+* Readline Typedefs::  C declarations to make code readable.
+* Function Writing::   Variables and calling conventions.
+@end menu
+
+@node Readline Typedefs
+@subsection Readline Typedefs
+
+For readabilty, we declare a number of new object types, all pointers
+to functions.
+
+The reason for declaring these new types is to make it easier to write
+code describing pointers to C functions with appropriately prototyped
+arguments and return values.
+
+For instance, say we want to declare a variable @var{func} as a pointer
+to a function which takes two @code{int} arguments and returns an
+@code{int} (this is the type of all of the Readline bindable functions).
+Instead of the classic C declaration
+
+@code{int (*func)();}
+
+@noindent
+or the ANSI-C style declaration
+
+@code{int (*func)(int, int);}
+
+@noindent
+we may write
+
+@code{rl_command_func_t *func;}
+
+The full list of function pointer types available is
+
+@table @code
+@item typedef int rl_command_func_t (int, int);
+
+@item typedef char *rl_compentry_func_t (const char *, int);
+
+@item typedef char **rl_completion_func_t (const char *, int, int);
+
+@item typedef char *rl_quote_func_t (char *, int, char *);
+
+@item typedef char *rl_dequote_func_t (char *, int);
+
+@item typedef int rl_compignore_func_t (char **);
+
+@item typedef void rl_compdisp_func_t (char **, int, int);
+
+@item typedef int rl_hook_func_t (void);
+
+@item typedef int rl_getc_func_t (FILE *);
+
+@item typedef int rl_linebuf_func_t (char *, int);
+
+@item typedef int rl_intfunc_t (int);
+@item #define rl_ivoidfunc_t rl_hook_func_t
+@item typedef int rl_icpfunc_t (char *);
+@item typedef int rl_icppfunc_t (char **);
+
+@item typedef void rl_voidfunc_t (void);
+@item typedef void rl_vintfunc_t (int);
+@item typedef void rl_vcpfunc_t (char *);
+@item typedef void rl_vcppfunc_t (char **);
+
+@end table
+
+@node Function Writing
+@subsection Writing a New Function
+
+In order to write new functions for Readline, you need to know the
+calling conventions for keyboard-invoked functions, and the names of the
+variables that describe the current state of the line read so far.
+
+The calling sequence for a command @code{foo} looks like
+
+@example
+@code{int foo (int count, int key)}
+@end example
+
+@noindent
+where @var{count} is the numeric argument (or 1 if defaulted) and
+@var{key} is the key that invoked this function.
+
+It is completely up to the function as to what should be done with the
+numeric argument.  Some functions use it as a repeat count, some
+as a flag, and others to choose alternate behavior (refreshing the current
+line as opposed to refreshing the screen, for example).  Some choose to
+ignore it.  In general, if a
+function uses the numeric argument as a repeat count, it should be able
+to do something useful with both negative and positive arguments.
+At the very least, it should be aware that it can be passed a
+negative argument.
+
+A command function should return 0 if its action completes successfully,
+and a non-zero value if some error occurs.
+This is the convention obeyed by all of the builtin Readline bindable
+command functions.
+
+@node Readline Variables
+@section Readline Variables
+
+These variables are available to function writers.
+
+@deftypevar {char *} rl_line_buffer
+This is the line gathered so far.  You are welcome to modify the
+contents of the line, but see @ref{Allowing Undoing}.  The
+function @code{rl_extend_line_buffer} is available to increase
+the memory allocated to @code{rl_line_buffer}.
+@end deftypevar
+
+@deftypevar int rl_point
+The offset of the current cursor position in @code{rl_line_buffer}
+(the @emph{point}).
+@end deftypevar
+
+@deftypevar int rl_end
+The number of characters present in @code{rl_line_buffer}.  When
+@code{rl_point} is at the end of the line, @code{rl_point} and
+@code{rl_end} are equal.
+@end deftypevar
+
+@deftypevar int rl_mark
+The @var{mark} (saved position) in the current line.  If set, the mark
+and point define a @emph{region}.
+@end deftypevar
+
+@deftypevar int rl_done
+Setting this to a non-zero value causes Readline to return the current
+line immediately.
+@end deftypevar
+
+@deftypevar int rl_num_chars_to_read
+Setting this to a positive value before calling @code{readline()} causes
+Readline to return after accepting that many characters, rather
+than reading up to a character bound to @code{accept-line}.
+@end deftypevar
+
+@deftypevar int rl_pending_input
+Setting this to a value makes it the next keystroke read.  This is a
+way to stuff a single character into the input stream.
+@end deftypevar
+
+@deftypevar int rl_dispatching
+Set to a non-zero value if a function is being called from a key binding;
+zero otherwise.  Application functions can test this to discover whether
+they were called directly or by Readline's dispatching mechanism.
+@end deftypevar
+
+@deftypevar int rl_erase_empty_line
+Setting this to a non-zero value causes Readline to completely erase
+the current line, including any prompt, any time a newline is typed as
+the only character on an otherwise-empty line.  The cursor is moved to
+the beginning of the newly-blank line.
+@end deftypevar
+
+@deftypevar {char *} rl_prompt
+The prompt Readline uses.  This is set from the argument to
+@code{readline()}, and should not be assigned to directly.
+The @code{rl_set_prompt()} function (@pxref{Redisplay}) may
+be used to modify the prompt string after calling @code{readline()}.
+@end deftypevar
+
+@deftypevar {char *} rl_display_prompt
+The string displayed as the prompt.  This is usually identical to
+@var{rl_prompt}, but may be changed temporarily by functions that
+use the prompt string as a message area, such as incremental search.
+@end deftypevar
+
+@deftypevar int rl_already_prompted
+If an application wishes to display the prompt itself, rather than have
+Readline do it the first time @code{readline()} is called, it should set
+this variable to a non-zero value after displaying the prompt.
+The prompt must also be passed as the argument to @code{readline()} so
+the redisplay functions can update the display properly.
+The calling application is responsible for managing the value; Readline
+never sets it.
+@end deftypevar
+
+@deftypevar {const char *} rl_library_version
+The version number of this revision of the library.
+@end deftypevar
+
+@deftypevar int rl_readline_version
+An integer encoding the current version of the library.  The encoding is
+of the form 0x@var{MMmm}, where @var{MM} is the two-digit major version
+number, and @var{mm} is the two-digit minor version number.
+For example, for Readline-4.2, @code{rl_readline_version} would have the
+value 0x0402.
+@end deftypevar
+
+@deftypevar {int} rl_gnu_readline_p
+Always set to 1, denoting that this is @sc{gnu} readline rather than some
+emulation.
+@end deftypevar
+
+@deftypevar {const char *} rl_terminal_name
+The terminal type, used for initialization.  If not set by the application,
+Readline sets this to the value of the @env{TERM} environment variable
+the first time it is called.
+@end deftypevar
+
+@deftypevar {const char *} rl_readline_name
+This variable is set to a unique name by each application using Readline.
+The value allows conditional parsing of the inputrc file
+(@pxref{Conditional Init Constructs}).
+@end deftypevar
+
+@deftypevar {FILE *} rl_instream
+The stdio stream from which Readline reads input.
+If @code{NULL}, Readline defaults to @var{stdin}.
+@end deftypevar
+
+@deftypevar {FILE *} rl_outstream
+The stdio stream to which Readline performs output.
+If @code{NULL}, Readline defaults to @var{stdout}.
+@end deftypevar
+
+@deftypevar int rl_prefer_env_winsize
+If non-zero, Readline gives values found in the @env{LINES} and
+@env{COLUMNS} environment variables greater precedence than values fetched
+from the kernel when computing the screen dimensions.
+@end deftypevar
+
+@deftypevar {rl_command_func_t *} rl_last_func
+The address of the last command function Readline executed.  May be used to
+test whether or not a function is being executed twice in succession, for
+example.
+@end deftypevar
+
+@deftypevar {rl_hook_func_t *} rl_startup_hook
+If non-zero, this is the address of a function to call just
+before @code{readline} prints the first prompt.
+@end deftypevar
+
+@deftypevar {rl_hook_func_t *} rl_pre_input_hook
+If non-zero, this is the address of a function to call after
+the first prompt has been printed and just before @code{readline}
+starts reading input characters.
+@end deftypevar
+
+@deftypevar {rl_hook_func_t *} rl_event_hook
+If non-zero, this is the address of a function to call periodically
+when Readline is waiting for terminal input.
+By default, this will be called at most ten times a second if there
+is no keyboard input.
+@end deftypevar
+
+@deftypevar {rl_getc_func_t *} rl_getc_function
+If non-zero, Readline will call indirectly through this pointer
+to get a character from the input stream.  By default, it is set to
+@code{rl_getc}, the default Readline character input function
+(@pxref{Character Input}).
+@end deftypevar
+
+@deftypevar {rl_voidfunc_t *} rl_redisplay_function
+If non-zero, Readline will call indirectly through this pointer
+to update the display with the current contents of the editing buffer.
+By default, it is set to @code{rl_redisplay}, the default Readline
+redisplay function (@pxref{Redisplay}).
+@end deftypevar
+
+@deftypevar {rl_vintfunc_t *} rl_prep_term_function
+If non-zero, Readline will call indirectly through this pointer
+to initialize the terminal.  The function takes a single argument, an
+@code{int} flag that says whether or not to use eight-bit characters.
+By default, this is set to @code{rl_prep_terminal}
+(@pxref{Terminal Management}).
+@end deftypevar
+
+@deftypevar {rl_voidfunc_t *} rl_deprep_term_function
+If non-zero, Readline will call indirectly through this pointer
+to reset the terminal.  This function should undo the effects of
+@code{rl_prep_term_function}.
+By default, this is set to @code{rl_deprep_terminal}
+(@pxref{Terminal Management}).
+@end deftypevar
+
+@deftypevar {Keymap} rl_executing_keymap
+This variable is set to the keymap (@pxref{Keymaps}) in which the
+currently executing readline function was found.
+@end deftypevar 
+
+@deftypevar {Keymap} rl_binding_keymap
+This variable is set to the keymap (@pxref{Keymaps}) in which the
+last key binding occurred.
+@end deftypevar 
+
+@deftypevar {char *} rl_executing_macro
+This variable is set to the text of any currently-executing macro.
+@end deftypevar
+
+@deftypevar {int} rl_readline_state
+A variable with bit values that encapsulate the current Readline state.
+A bit is set with the @code{RL_SETSTATE} macro, and unset with the
+@code{RL_UNSETSTATE} macro.  Use the @code{RL_ISSTATE} macro to test
+whether a particular state bit is set.  Current state bits include:
+
+@table @code
+@item RL_STATE_NONE
+Readline has not yet been called, nor has it begun to intialize.
+@item RL_STATE_INITIALIZING
+Readline is initializing its internal data structures.
+@item RL_STATE_INITIALIZED
+Readline has completed its initialization.
+@item RL_STATE_TERMPREPPED
+Readline has modified the terminal modes to do its own input and redisplay.
+@item RL_STATE_READCMD
+Readline is reading a command from the keyboard.
+@item RL_STATE_METANEXT
+Readline is reading more input after reading the meta-prefix character.
+@item RL_STATE_DISPATCHING
+Readline is dispatching to a command.
+@item RL_STATE_MOREINPUT
+Readline is reading more input while executing an editing command.
+@item RL_STATE_ISEARCH
+Readline is performing an incremental history search.
+@item RL_STATE_NSEARCH
+Readline is performing a non-incremental history search.
+@item RL_STATE_SEARCH
+Readline is searching backward or forward through the history for a string.
+@item RL_STATE_NUMERICARG
+Readline is reading a numeric argument.
+@item RL_STATE_MACROINPUT
+Readline is currently getting its input from a previously-defined keyboard
+macro.
+@item RL_STATE_MACRODEF
+Readline is currently reading characters defining a keyboard macro.
+@item RL_STATE_OVERWRITE
+Readline is in overwrite mode.
+@item RL_STATE_COMPLETING
+Readline is performing word completion.
+@item RL_STATE_SIGHANDLER
+Readline is currently executing the readline signal handler.
+@item RL_STATE_UNDOING
+Readline is performing an undo.
+@item RL_STATE_INPUTPENDING
+Readline has input pending due to a call to @code{rl_execute_next()}.
+@item RL_STATE_TTYCSAVED
+Readline has saved the values of the terminal's special characters.
+@item RL_STATE_CALLBACK
+Readline is currently using the alternate (callback) interface
+(@pxref{Alternate Interface}).
+@item RL_STATE_VIMOTION
+Readline is reading the argument to a vi-mode "motion" command.
+@item RL_STATE_MULTIKEY
+Readline is reading a multiple-keystroke command.
+@item RL_STATE_VICMDONCE
+Readline has entered vi command (movement) mode at least one time during
+the current call to @code{readline()}.
+@item RL_STATE_DONE
+Readline has read a key sequence bound to @code{accept-line}
+and is about to return the line to the caller.
+@end table
+
+@end deftypevar
+
+@deftypevar {int} rl_explicit_arg
+Set to a non-zero value if an explicit numeric argument was specified by
+the user.  Only valid in a bindable command function.
+@end deftypevar
+
+@deftypevar {int} rl_numeric_arg
+Set to the value of any numeric argument explicitly specified by the user
+before executing the current Readline function.  Only valid in a bindable
+command function.
+@end deftypevar
+
+@deftypevar {int} rl_editing_mode
+Set to a value denoting Readline's current editing mode.  A value of
+@var{1} means Readline is currently in emacs mode; @var{0}
+means that vi mode is active.
+@end deftypevar
+
+
+@node Readline Convenience Functions
+@section Readline Convenience Functions
+
+@menu
+* Function Naming::    How to give a function you write a name.
+* Keymaps::            Making keymaps.
+* Binding Keys::       Changing Keymaps.
+* Associating Function Names and Bindings::    Translate function names to
+                                               key sequences.
+* Allowing Undoing::   How to make your functions undoable.
+* Redisplay::          Functions to control line display.
+* Modifying Text::     Functions to modify @code{rl_line_buffer}.
+* Character Input::    Functions to read keyboard input.
+* Terminal Management::        Functions to manage terminal settings.
+* Utility Functions::  Generally useful functions and hooks.
+* Miscellaneous Functions::    Functions that don't fall into any category.
+* Alternate Interface::        Using Readline in a `callback' fashion.
+* A Readline Example::         An example Readline function.
+@end menu
+
+@node Function Naming
+@subsection Naming a Function
+
+The user can dynamically change the bindings of keys while using
+Readline.  This is done by representing the function with a descriptive
+name.  The user is able to type the descriptive name when referring to
+the function.  Thus, in an init file, one might find
+
+@example
+Meta-Rubout:   backward-kill-word
+@end example
+
+This binds the keystroke @key{Meta-Rubout} to the function
+@emph{descriptively} named @code{backward-kill-word}.  You, as the
+programmer, should bind the functions you write to descriptive names as
+well.  Readline provides a function for doing that:
+
+@deftypefun int rl_add_defun (const char *name, rl_command_func_t *function, int key)
+Add @var{name} to the list of named functions.  Make @var{function} be
+the function that gets called.  If @var{key} is not -1, then bind it to
+@var{function} using @code{rl_bind_key()}.
+@end deftypefun
+
+Using this function alone is sufficient for most applications.
+It is the recommended way to add a few functions to the default
+functions that Readline has built in.
+If you need to do something other than adding a function to Readline,
+you may need to use the underlying functions described below.
+
+@node Keymaps
+@subsection Selecting a Keymap
+
+Key bindings take place on a @dfn{keymap}.  The keymap is the
+association between the keys that the user types and the functions that
+get run.  You can make your own keymaps, copy existing keymaps, and tell
+Readline which keymap to use.
+
+@deftypefun Keymap rl_make_bare_keymap (void)
+Returns a new, empty keymap.  The space for the keymap is allocated with
+@code{malloc()}; the caller should free it by calling
+@code{rl_free_keymap()} when done.
+@end deftypefun
+
+@deftypefun Keymap rl_copy_keymap (Keymap map)
+Return a new keymap which is a copy of @var{map}.
+@end deftypefun
+
+@deftypefun Keymap rl_make_keymap (void)
+Return a new keymap with the printing characters bound to rl_insert,
+the lowercase Meta characters bound to run their equivalents, and
+the Meta digits bound to produce numeric arguments.
+@end deftypefun
+
+@deftypefun void rl_discard_keymap (Keymap keymap)
+Free the storage associated with the data in @var{keymap}.
+The caller should free @var{keymap}.
+@end deftypefun
+
+@deftypefun void rl_free_keymap (Keymap keymap)
+Free all storage associated with @var{keymap}.  This calls
+@code{rl_discard_keymap} to free subordindate keymaps and macros.
+@end deftypefun
+
+Readline has several internal keymaps.  These functions allow you to
+change which keymap is active.
+
+@deftypefun Keymap rl_get_keymap (void)
+Returns the currently active keymap.
+@end deftypefun
+
+@deftypefun void rl_set_keymap (Keymap keymap)
+Makes @var{keymap} the currently active keymap.
+@end deftypefun
+
+@deftypefun Keymap rl_get_keymap_by_name (const char *name)
+Return the keymap matching @var{name}.  @var{name} is one which would
+be supplied in a @code{set keymap} inputrc line (@pxref{Readline Init File}).
+@end deftypefun
+
+@deftypefun {char *} rl_get_keymap_name (Keymap keymap)
+Return the name matching @var{keymap}.  @var{name} is one which would
+be supplied in a @code{set keymap} inputrc line (@pxref{Readline Init File}).
+@end deftypefun
+
+@node Binding Keys
+@subsection Binding Keys
+
+Key sequences are associate with functions through the keymap.
+Readline has several internal keymaps: @code{emacs_standard_keymap},
+@code{emacs_meta_keymap}, @code{emacs_ctlx_keymap},
+@code{vi_movement_keymap}, and @code{vi_insertion_keymap}.
+@code{emacs_standard_keymap} is the default, and the examples in
+this manual assume that.
+
+Since @code{readline()} installs a set of default key bindings the first
+time it is called, there is always the danger that a custom binding
+installed before the first call to @code{readline()} will be overridden.
+An alternate mechanism is to install custom key bindings in an
+initialization function assigned to the @code{rl_startup_hook} variable
+(@pxref{Readline Variables}).
+
+These functions manage key bindings.
+
+@deftypefun int rl_bind_key (int key, rl_command_func_t *function)
+Binds @var{key} to @var{function} in the currently active keymap.
+Returns non-zero in the case of an invalid @var{key}.
+@end deftypefun
+
+@deftypefun int rl_bind_key_in_map (int key, rl_command_func_t *function, Keymap map)
+Bind @var{key} to @var{function} in @var{map}.
+Returns non-zero in the case of an invalid @var{key}.
+@end deftypefun
+
+@deftypefun int rl_bind_key_if_unbound (int key, rl_command_func_t *function)
+Binds @var{key} to @var{function} if it is not already bound in the
+currently active keymap.
+Returns non-zero in the case of an invalid @var{key} or if @var{key} is
+already bound.
+@end deftypefun
+
+@deftypefun int rl_bind_key_if_unbound_in_map (int key, rl_command_func_t *function, Keymap map)
+Binds @var{key} to @var{function} if it is not already bound in @var{map}.
+Returns non-zero in the case of an invalid @var{key} or if @var{key} is
+already bound.
+@end deftypefun
+
+@deftypefun int rl_unbind_key (int key)
+Bind @var{key} to the null function in the currently active keymap.
+Returns non-zero in case of error.
+@end deftypefun
+
+@deftypefun int rl_unbind_key_in_map (int key, Keymap map)
+Bind @var{key} to the null function in @var{map}.
+Returns non-zero in case of error.
+@end deftypefun
+
+@deftypefun int rl_unbind_function_in_map (rl_command_func_t *function, Keymap map)
+Unbind all keys that execute @var{function} in @var{map}.
+@end deftypefun
+
+@deftypefun int rl_unbind_command_in_map (const char *command, Keymap map)
+Unbind all keys that are bound to @var{command} in @var{map}.
+@end deftypefun
+
+@deftypefun int rl_bind_keyseq (const char *keyseq, rl_command_func_t *function)
+Bind the key sequence represented by the string @var{keyseq} to the function
+@var{function}, beginning in the current keymap.
+This makes new keymaps as necessary.
+The return value is non-zero if @var{keyseq} is invalid.
+@end deftypefun
+
+@deftypefun int rl_bind_keyseq_in_map (const char *keyseq, rl_command_func_t *function, Keymap map)
+Bind the key sequence represented by the string @var{keyseq} to the function
+@var{function}.  This makes new keymaps as necessary.
+Initial bindings are performed in @var{map}.
+The return value is non-zero if @var{keyseq} is invalid.
+@end deftypefun
+
+@deftypefun int rl_set_key (const char *keyseq, rl_command_func_t *function, Keymap map)
+Equivalent to @code{rl_bind_keyseq_in_map}.
+@end deftypefun
+
+@deftypefun int rl_bind_keyseq_if_unbound (const char *keyseq, rl_command_func_t *function)
+Binds @var{keyseq} to @var{function} if it is not already bound in the
+currently active keymap.
+Returns non-zero in the case of an invalid @var{keyseq} or if @var{keyseq} is
+already bound.
+@end deftypefun
+
+@deftypefun int rl_bind_keyseq_if_unbound_in_map (const char *keyseq, rl_command_func_t *function, Keymap map)
+Binds @var{keyseq} to @var{function} if it is not already bound in @var{map}.
+Returns non-zero in the case of an invalid @var{keyseq} or if @var{keyseq} is
+already bound.
+@end deftypefun
+
+@deftypefun int rl_generic_bind (int type, const char *keyseq, char *data, Keymap map)
+Bind the key sequence represented by the string @var{keyseq} to the arbitrary
+pointer @var{data}.  @var{type} says what kind of data is pointed to by
+@var{data}; this can be a function (@code{ISFUNC}), a macro
+(@code{ISMACR}), or a keymap (@code{ISKMAP}).  This makes new keymaps as
+necessary.  The initial keymap in which to do bindings is @var{map}.
+@end deftypefun
+
+@deftypefun int rl_parse_and_bind (char *line)
+Parse @var{line} as if it had been read from the @code{inputrc} file and
+perform any key bindings and variable assignments found
+(@pxref{Readline Init File}).
+@end deftypefun
+
+@deftypefun int rl_read_init_file (const char *filename)
+Read keybindings and variable assignments from @var{filename}
+(@pxref{Readline Init File}).
+@end deftypefun
+
+@node Associating Function Names and Bindings
+@subsection Associating Function Names and Bindings
+
+These functions allow you to find out what keys invoke named functions
+and the functions invoked by a particular key sequence.  You may also
+associate a new function name with an arbitrary function.
+
+@deftypefun {rl_command_func_t *} rl_named_function (const char *name)
+Return the function with name @var{name}.
+@end deftypefun
+
+@deftypefun {rl_command_func_t *} rl_function_of_keyseq (const char *keyseq, Keymap map, int *type)
+Return the function invoked by @var{keyseq} in keymap @var{map}.
+If @var{map} is @code{NULL}, the current keymap is used.  If @var{type} is
+not @code{NULL}, the type of the object is returned in the @code{int} variable
+it points to (one of @code{ISFUNC}, @code{ISKMAP}, or @code{ISMACR}).
+@end deftypefun
+
+@deftypefun {char **} rl_invoking_keyseqs (rl_command_func_t *function)
+Return an array of strings representing the key sequences used to
+invoke @var{function} in the current keymap.
+@end deftypefun
+
+@deftypefun {char **} rl_invoking_keyseqs_in_map (rl_command_func_t *function, Keymap map)
+Return an array of strings representing the key sequences used to
+invoke @var{function} in the keymap @var{map}.
+@end deftypefun
+
+@deftypefun void rl_function_dumper (int readable)
+Print the readline function names and the key sequences currently
+bound to them to @code{rl_outstream}.  If @var{readable} is non-zero,
+the list is formatted in such a way that it can be made part of an
+@code{inputrc} file and re-read.
+@end deftypefun
+
+@deftypefun void rl_list_funmap_names (void)
+Print the names of all bindable Readline functions to @code{rl_outstream}.
+@end deftypefun
+
+@deftypefun {const char **} rl_funmap_names (void)
+Return a NULL terminated array of known function names.  The array is
+sorted.  The array itself is allocated, but not the strings inside.  You
+should free the array, but not the pointers, using @code{free} or
+@code{rl_free} when you are done.
+@end deftypefun
+
+@deftypefun int rl_add_funmap_entry (const char *name, rl_command_func_t *function)
+Add @var{name} to the list of bindable Readline command names, and make
+@var{function} the function to be called when @var{name} is invoked.
+@end deftypefun
+
+@node Allowing Undoing
+@subsection Allowing Undoing
+
+Supporting the undo command is a painless thing, and makes your
+functions much more useful.  It is certainly easy to try
+something if you know you can undo it.
+
+If your function simply inserts text once, or deletes text once, and
+uses @code{rl_insert_text()} or @code{rl_delete_text()} to do it, then
+undoing is already done for you automatically.
+
+If you do multiple insertions or multiple deletions, or any combination
+of these operations, you should group them together into one operation.
+This is done with @code{rl_begin_undo_group()} and
+@code{rl_end_undo_group()}.
+
+The types of events that can be undone are:
+
+@smallexample
+enum undo_code @{ UNDO_DELETE, UNDO_INSERT, UNDO_BEGIN, UNDO_END @}; 
+@end smallexample
+
+Notice that @code{UNDO_DELETE} means to insert some text, and
+@code{UNDO_INSERT} means to delete some text.  That is, the undo code
+tells what to undo, not how to undo it.  @code{UNDO_BEGIN} and
+@code{UNDO_END} are tags added by @code{rl_begin_undo_group()} and
+@code{rl_end_undo_group()}.
+
+@deftypefun int rl_begin_undo_group (void)
+Begins saving undo information in a group construct.  The undo
+information usually comes from calls to @code{rl_insert_text()} and
+@code{rl_delete_text()}, but could be the result of calls to
+@code{rl_add_undo()}.
+@end deftypefun
+
+@deftypefun int rl_end_undo_group (void)
+Closes the current undo group started with @code{rl_begin_undo_group
+()}.  There should be one call to @code{rl_end_undo_group()}
+for each call to @code{rl_begin_undo_group()}.
+@end deftypefun
+
+@deftypefun void rl_add_undo (enum undo_code what, int start, int end, char *text)
+Remember how to undo an event (according to @var{what}).  The affected
+text runs from @var{start} to @var{end}, and encompasses @var{text}.
+@end deftypefun
+
+@deftypefun void rl_free_undo_list (void)
+Free the existing undo list.
+@end deftypefun
+
+@deftypefun int rl_do_undo (void)
+Undo the first thing on the undo list.  Returns @code{0} if there was
+nothing to undo, non-zero if something was undone.
+@end deftypefun
+
+Finally, if you neither insert nor delete text, but directly modify the
+existing text (e.g., change its case), call @code{rl_modifying()}
+once, just before you modify the text.  You must supply the indices of
+the text range that you are going to modify.
+
+@deftypefun int rl_modifying (int start, int end)
+Tell Readline to save the text between @var{start} and @var{end} as a
+single undo unit.  It is assumed that you will subsequently modify
+that text.
+@end deftypefun
+
+@node Redisplay
+@subsection Redisplay
+
+@deftypefun void rl_redisplay (void)
+Change what's displayed on the screen to reflect the current contents
+of @code{rl_line_buffer}.
+@end deftypefun
+
+@deftypefun int rl_forced_update_display (void)
+Force the line to be updated and redisplayed, whether or not
+Readline thinks the screen display is correct.
+@end deftypefun
+
+@deftypefun int rl_on_new_line (void)
+Tell the update functions that we have moved onto a new (empty) line,
+usually after ouputting a newline.
+@end deftypefun
+
+@deftypefun int rl_on_new_line_with_prompt (void)
+Tell the update functions that we have moved onto a new line, with
+@var{rl_prompt} already displayed.
+This could be used by applications that want to output the prompt string
+themselves, but still need Readline to know the prompt string length for
+redisplay.
+It should be used after setting @var{rl_already_prompted}.
+@end deftypefun
+
+@deftypefun int rl_reset_line_state (void)
+Reset the display state to a clean state and redisplay the current line
+starting on a new line.
+@end deftypefun
+
+@deftypefun int rl_crlf (void)
+Move the cursor to the start of the next screen line.
+@end deftypefun
+
+@deftypefun int rl_show_char (int c)
+Display character @var{c} on @code{rl_outstream}.
+If Readline has not been set to display meta characters directly, this
+will convert meta characters to a meta-prefixed key sequence.
+This is intended for use by applications which wish to do their own
+redisplay.
+@end deftypefun
+
+@deftypefun int rl_message (const char *, @dots{})
+The arguments are a format string as would be supplied to @code{printf},
+possibly containing conversion specifications such as @samp{%d}, and
+any additional arguments necessary to satisfy the conversion specifications.
+The resulting string is displayed in the @dfn{echo area}.  The echo area
+is also used to display numeric arguments and search strings.
+You should call @code{rl_save_prompt} to save the prompt information
+before calling this function.
+@end deftypefun
+
+@deftypefun int rl_clear_message (void)
+Clear the message in the echo area.  If the prompt was saved with a call to
+@code{rl_save_prompt} before the last call to @code{rl_message},
+call @code{rl_restore_prompt} before calling this function.
+@end deftypefun
+
+@deftypefun void rl_save_prompt (void)
+Save the local Readline prompt display state in preparation for
+displaying a new message in the message area with @code{rl_message()}.
+@end deftypefun
+
+@deftypefun void rl_restore_prompt (void)
+Restore the local Readline prompt display state saved by the most
+recent call to @code{rl_save_prompt}.
+if @code{rl_save_prompt} was called to save the prompt before a call
+to @code{rl_message}, this function should be called before the
+corresponding call to @code{rl_clear_message}.
+@end deftypefun
+
+@deftypefun int rl_expand_prompt (char *prompt)
+Expand any special character sequences in @var{prompt} and set up the
+local Readline prompt redisplay variables.
+This function is called by @code{readline()}.  It may also be called to
+expand the primary prompt if the @code{rl_on_new_line_with_prompt()}
+function or @code{rl_already_prompted} variable is used.
+It returns the number of visible characters on the last line of the
+(possibly multi-line) prompt.
+Applications may indicate that the prompt contains characters that take
+up no physical screen space when displayed by bracketing a sequence of
+such characters with the special markers @code{RL_PROMPT_START_IGNORE}
+and @code{RL_PROMPT_END_IGNORE} (declared in @file{readline.h}.  This may
+be used to embed terminal-specific escape sequences in prompts.
+@end deftypefun
+
+@deftypefun int rl_set_prompt (const char *prompt)
+Make Readline use @var{prompt} for subsequent redisplay.  This calls
+@code{rl_expand_prompt()} to expand the prompt and sets @code{rl_prompt}
+to the result.
+@end deftypefun
+
+@node Modifying Text
+@subsection Modifying Text
+
+@deftypefun int rl_insert_text (const char *text)
+Insert @var{text} into the line at the current cursor position.
+Returns the number of characters inserted.
+@end deftypefun
+
+@deftypefun int rl_delete_text (int start, int end)
+Delete the text between @var{start} and @var{end} in the current line.
+Returns the number of characters deleted.
+@end deftypefun
+
+@deftypefun {char *} rl_copy_text (int start, int end)
+Return a copy of the text between @var{start} and @var{end} in
+the current line.
+@end deftypefun
+
+@deftypefun int rl_kill_text (int start, int end)
+Copy the text between @var{start} and @var{end} in the current line
+to the kill ring, appending or prepending to the last kill if the
+last command was a kill command.  The text is deleted.
+If @var{start} is less than @var{end},
+the text is appended, otherwise prepended.  If the last command was
+not a kill, a new kill ring slot is used.
+@end deftypefun
+
+@deftypefun int rl_push_macro_input (char *macro)
+Cause @var{macro} to be inserted into the line, as if it had been invoked
+by a key bound to a macro.  Not especially useful; use
+@code{rl_insert_text()} instead.
+@end deftypefun
+
+@node Character Input
+@subsection Character Input
+
+@deftypefun int rl_read_key (void)
+Return the next character available from Readline's current input stream.
+This handles input inserted into
+the input stream via @var{rl_pending_input} (@pxref{Readline Variables})
+and @code{rl_stuff_char()}, macros, and characters read from the keyboard.
+While waiting for input, this function will call any function assigned to
+the @code{rl_event_hook} variable.
+@end deftypefun
+
+@deftypefun int rl_getc (FILE *stream)
+Return the next character available from @var{stream}, which is assumed to
+be the keyboard.
+@end deftypefun
+
+@deftypefun int rl_stuff_char (int c)
+Insert @var{c} into the Readline input stream.  It will be "read"
+before Readline attempts to read characters from the terminal with
+@code{rl_read_key()}.  Up to 512 characters may be pushed back.
+@code{rl_stuff_char} returns 1 if the character was successfully inserted;
+0 otherwise.
+@end deftypefun
+
+@deftypefun int rl_execute_next (int c)
+Make @var{c} be the next command to be executed when @code{rl_read_key()}
+is called.  This sets @var{rl_pending_input}.
+@end deftypefun
+
+@deftypefun int rl_clear_pending_input (void)
+Unset @var{rl_pending_input}, effectively negating the effect of any
+previous call to @code{rl_execute_next()}.  This works only if the
+pending input has not already been read with @code{rl_read_key()}.
+@end deftypefun
+
+@deftypefun int rl_set_keyboard_input_timeout (int u)
+While waiting for keyboard input in @code{rl_read_key()}, Readline will
+wait for @var{u} microseconds for input before calling any function
+assigned to @code{rl_event_hook}.  @var{u} must be greater than or equal
+to zero (a zero-length timeout is equivalent to a poll).
+The default waiting period is one-tenth of a second.
+Returns the old timeout value.
+@end deftypefun
+
+@node Terminal Management
+@subsection Terminal Management
+
+@deftypefun void rl_prep_terminal (int meta_flag)
+Modify the terminal settings for Readline's use, so @code{readline()}
+can read a single character at a time from the keyboard.
+The @var{meta_flag} argument should be non-zero if Readline should
+read eight-bit input.
+@end deftypefun
+
+@deftypefun void rl_deprep_terminal (void)
+Undo the effects of @code{rl_prep_terminal()}, leaving the terminal in
+the state in which it was before the most recent call to
+@code{rl_prep_terminal()}.
+@end deftypefun
+
+@deftypefun void rl_tty_set_default_bindings (Keymap kmap)
+Read the operating system's terminal editing characters (as would be
+displayed by @code{stty}) to their Readline equivalents.
+The bindings are performed in @var{kmap}.
+@end deftypefun
+
+@deftypefun void rl_tty_unset_default_bindings (Keymap kmap)
+Reset the bindings manipulated by @code{rl_tty_set_default_bindings} so
+that the terminal editing characters are bound to @code{rl_insert}.
+The bindings are performed in @var{kmap}.
+@end deftypefun
+
+@deftypefun int rl_reset_terminal (const char *terminal_name)
+Reinitialize Readline's idea of the terminal settings using
+@var{terminal_name} as the terminal type (e.g., @code{vt100}).
+If @var{terminal_name} is @code{NULL}, the value of the @code{TERM}
+environment variable is used.
+@end deftypefun
+
+@node Utility Functions
+@subsection Utility Functions
+
+@deftypefun int rl_save_state (struct readline_state *sp)
+Save a snapshot of Readline's internal state to @var{sp}.
+The contents of the @var{readline_state} structure are documented
+in @file{readline.h}.
+The caller is responsible for allocating the structure.
+@end deftypefun
+
+@deftypefun int rl_restore_state (struct readline_state *sp)
+Restore Readline's internal state to that stored in @var{sp}, which must
+have been saved by a call to @code{rl_save_state}.
+The contents of the @var{readline_state} structure are documented
+in @file{readline.h}.
+The caller is responsible for freeing the structure.
+@end deftypefun
+
+@deftypefun void rl_free (void *mem)
+Deallocate the memory pointed to by @var{mem}.  @var{mem} must have been
+allocated by @code{malloc}.
+@end deftypefun
+
+@deftypefun void rl_replace_line (const char *text, int clear_undo)
+Replace the contents of @code{rl_line_buffer} with @var{text}.
+The point and mark are preserved, if possible.
+If @var{clear_undo} is non-zero, the undo list associated with the
+current line is cleared.
+@end deftypefun
+
+@deftypefun void rl_extend_line_buffer (int len)
+Ensure that @code{rl_line_buffer} has enough space to hold @var{len}
+characters, possibly reallocating it if necessary.
+@end deftypefun
+
+@deftypefun int rl_initialize (void)
+Initialize or re-initialize Readline's internal state.
+It's not strictly necessary to call this; @code{readline()} calls it before
+reading any input.
+@end deftypefun
+
+@deftypefun int rl_ding (void)
+Ring the terminal bell, obeying the setting of @code{bell-style}.
+@end deftypefun
+
+@deftypefun int rl_alphabetic (int c)
+Return 1 if @var{c} is an alphabetic character.
+@end deftypefun
+
+@deftypefun void rl_display_match_list (char **matches, int len, int max)
+A convenience function for displaying a list of strings in
+columnar format on Readline's output stream.  @code{matches} is the list
+of strings, in argv format, such as a list of completion matches.
+@code{len} is the number of strings in @code{matches}, and @code{max}
+is the length of the longest string in @code{matches}.  This function uses
+the setting of @code{print-completions-horizontally} to select how the
+matches are displayed (@pxref{Readline Init File Syntax}).
+When displaying completions, this function sets the number of columns used
+for display to the value of @code{completion-display-width}, the value of
+the environment variable @env{COLUMNS}, or the screen width, in that order.
+@end deftypefun
+
+The following are implemented as macros, defined in @code{chardefs.h}.
+Applications should refrain from using them.
+
+@deftypefun int _rl_uppercase_p (int c)
+Return 1 if @var{c} is an uppercase alphabetic character.
+@end deftypefun
+
+@deftypefun int _rl_lowercase_p (int c)
+Return 1 if @var{c} is a lowercase alphabetic character.
+@end deftypefun
+
+@deftypefun int _rl_digit_p (int c)
+Return 1 if @var{c} is a numeric character.
+@end deftypefun
+
+@deftypefun int _rl_to_upper (int c)
+If @var{c} is a lowercase alphabetic character, return the corresponding
+uppercase character.
+@end deftypefun
+
+@deftypefun int _rl_to_lower (int c)
+If @var{c} is an uppercase alphabetic character, return the corresponding
+lowercase character.
+@end deftypefun
+
+@deftypefun int _rl_digit_value (int c)
+If @var{c} is a number, return the value it represents.
+@end deftypefun
+
+@node Miscellaneous Functions
+@subsection Miscellaneous Functions
+
+@deftypefun int rl_macro_bind (const char *keyseq, const char *macro, Keymap map)
+Bind the key sequence @var{keyseq} to invoke the macro @var{macro}.
+The binding is performed in @var{map}.  When @var{keyseq} is invoked, the
+@var{macro} will be inserted into the line.  This function is deprecated;
+use @code{rl_generic_bind()} instead.
+@end deftypefun
+
+@deftypefun void rl_macro_dumper (int readable)
+Print the key sequences bound to macros and their values, using
+the current keymap, to @code{rl_outstream}.
+If @var{readable} is non-zero, the list is formatted in such a way
+that it can be made part of an @code{inputrc} file and re-read.
+@end deftypefun
+
+@deftypefun int rl_variable_bind (const char *variable, const char *value)
+Make the Readline variable @var{variable} have @var{value}.
+This behaves as if the readline command
+@samp{set @var{variable} @var{value}} had been executed in an @code{inputrc}
+file (@pxref{Readline Init File Syntax}).
+@end deftypefun
+
+@deftypefun {char *} rl_variable_value (const char *variable)
+Return a string representing the value of the Readline variable @var{variable}.
+For boolean variables, this string is either @samp{on} or @samp{off}.
+@end deftypefun
+
+@deftypefun void rl_variable_dumper (int readable)
+Print the readline variable names and their current values
+to @code{rl_outstream}.
+If @var{readable} is non-zero, the list is formatted in such a way
+that it can be made part of an @code{inputrc} file and re-read.
+@end deftypefun
+
+@deftypefun int rl_set_paren_blink_timeout (int u)
+Set the time interval (in microseconds) that Readline waits when showing
+a balancing character when @code{blink-matching-paren} has been enabled.
+@end deftypefun
+
+@deftypefun {char *} rl_get_termcap (const char *cap)
+Retrieve the string value of the termcap capability @var{cap}.
+Readline fetches the termcap entry for the current terminal name and
+uses those capabilities to move around the screen line and perform other
+terminal-specific operations, like erasing a line.  Readline does not
+use all of a terminal's capabilities, and this function will return
+values for only those capabilities Readline uses.
+@end deftypefun
+
+@node Alternate Interface
+@subsection Alternate Interface
+
+An alternate interface is available to plain @code{readline()}.  Some
+applications need to interleave keyboard I/O with file, device, or
+window system I/O, typically by using a main loop to @code{select()}
+on various file descriptors.  To accomodate this need, readline can
+also be invoked as a `callback' function from an event loop.  There
+are functions available to make this easy.
+
+@deftypefun void rl_callback_handler_install (const char *prompt, rl_vcpfunc_t *lhandler)
+Set up the terminal for readline I/O and display the initial
+expanded value of @var{prompt}.  Save the value of @var{lhandler} to
+use as a function to call when a complete line of input has been entered.
+The function takes the text of the line as an argument.
+@end deftypefun
+
+@deftypefun void rl_callback_read_char (void)
+Whenever an application determines that keyboard input is available, it
+should call @code{rl_callback_read_char()}, which will read the next
+character from the current input source.
+If that character completes the line, @code{rl_callback_read_char} will
+invoke the @var{lhandler} function saved by @code{rl_callback_handler_install}
+to process the line.
+Before calling the @var{lhandler} function, the terminal settings are
+reset to the values they had before calling
+@code{rl_callback_handler_install}.
+If the @var{lhandler} function returns,
+the terminal settings are modified for Readline's use again.
+@code{EOF} is  indicated by calling @var{lhandler} with a
+@code{NULL} line.
+@end deftypefun
+
+@deftypefun void rl_callback_handler_remove (void)
+Restore the terminal to its initial state and remove the line handler.
+This may be called from within a callback as well as independently.
+If the @var{lhandler} installed by @code{rl_callback_handler_install}
+does not exit the program, either this function or the function referred
+to by the value of @code{rl_deprep_term_function} should be called before
+the program exits to reset the terminal settings.
+@end deftypefun
+
+@node A Readline Example
+@subsection A Readline Example
+
+Here is a function which changes lowercase characters to their uppercase
+equivalents, and uppercase characters to lowercase.  If
+this function was bound to @samp{M-c}, then typing @samp{M-c} would
+change the case of the character under point.  Typing @samp{M-1 0 M-c}
+would change the case of the following 10 characters, leaving the cursor on
+the last character changed.
+
+@example
+/* Invert the case of the COUNT following characters. */
+int
+invert_case_line (count, key)
+     int count, key;
+@{
+  register int start, end, i;
+
+  start = rl_point;
+
+  if (rl_point >= rl_end)
+    return (0);
+
+  if (count < 0)
+    @{
+      direction = -1;
+      count = -count;
+    @}
+  else
+    direction = 1;
+      
+  /* Find the end of the range to modify. */
+  end = start + (count * direction);
+
+  /* Force it to be within range. */
+  if (end > rl_end)
+    end = rl_end;
+  else if (end < 0)
+    end = 0;
+
+  if (start == end)
+    return (0);
+
+  if (start > end)
+    @{
+      int temp = start;
+      start = end;
+      end = temp;
+    @}
+
+  /* Tell readline that we are modifying the line,
+     so it will save the undo information. */
+  rl_modifying (start, end);
+
+  for (i = start; i != end; i++)
+    @{
+      if (_rl_uppercase_p (rl_line_buffer[i]))
+        rl_line_buffer[i] = _rl_to_lower (rl_line_buffer[i]);
+      else if (_rl_lowercase_p (rl_line_buffer[i]))
+        rl_line_buffer[i] = _rl_to_upper (rl_line_buffer[i]);
+    @}
+  /* Move point to on top of the last character changed. */
+  rl_point = (direction == 1) ? end - 1 : start;
+  return (0);
+@}
+@end example
+
+@node Readline Signal Handling
+@section Readline Signal Handling
+
+Signals are asynchronous events sent to a process by the Unix kernel,
+sometimes on behalf of another process.  They are intended to indicate
+exceptional events, like a user pressing the interrupt key on his terminal,
+or a network connection being broken.  There is a class of signals that can
+be sent to the process currently reading input from the keyboard.  Since
+Readline changes the terminal attributes when it is called, it needs to
+perform special processing when such a signal is received in order to
+restore the terminal to a sane state, or provide application writers with
+functions to do so manually. 
+
+Readline contains an internal signal handler that is installed for a
+number of signals (@code{SIGINT}, @code{SIGQUIT}, @code{SIGTERM},
+@code{SIGHUP}, 
+@code{SIGALRM}, @code{SIGTSTP}, @code{SIGTTIN}, and @code{SIGTTOU}).
+When one of these signals is received, the signal handler
+will reset the terminal attributes to those that were in effect before
+@code{readline()} was called, reset the signal handling to what it was
+before @code{readline()} was called, and resend the signal to the calling
+application.
+If and when the calling application's signal handler returns, Readline
+will reinitialize the terminal and continue to accept input.
+When a @code{SIGINT} is received, the Readline signal handler performs
+some additional work, which will cause any partially-entered line to be
+aborted (see the description of @code{rl_free_line_state()} below).
+
+There is an additional Readline signal handler, for @code{SIGWINCH}, which
+the kernel sends to a process whenever the terminal's size changes (for
+example, if a user resizes an @code{xterm}).  The Readline @code{SIGWINCH}
+handler updates Readline's internal screen size information, and then calls
+any @code{SIGWINCH} signal handler the calling application has installed. 
+Readline calls the application's @code{SIGWINCH} signal handler without
+resetting the terminal to its original state.  If the application's signal
+handler does more than update its idea of the terminal size and return (for
+example, a @code{longjmp} back to a main processing loop), it @emph{must}
+call @code{rl_cleanup_after_signal()} (described below), to restore the
+terminal state. 
+
+Readline provides two variables that allow application writers to
+control whether or not it will catch certain signals and act on them
+when they are received.  It is important that applications change the
+values of these variables only when calling @code{readline()}, not in
+a signal handler, so Readline's internal signal state is not corrupted.
+
+@deftypevar int rl_catch_signals
+If this variable is non-zero, Readline will install signal handlers for
+@code{SIGINT}, @code{SIGQUIT}, @code{SIGTERM}, @code{SIGHUP}, @code{SIGALRM},
+@code{SIGTSTP}, @code{SIGTTIN}, and @code{SIGTTOU}.
+
+The default value of @code{rl_catch_signals} is 1.
+@end deftypevar
+
+@deftypevar int rl_catch_sigwinch
+If this variable is non-zero, Readline will install a signal handler for
+@code{SIGWINCH}.
+
+The default value of @code{rl_catch_sigwinch} is 1.
+@end deftypevar
+
+If an application does not wish to have Readline catch any signals, or
+to handle signals other than those Readline catches (@code{SIGHUP},
+for example), 
+Readline provides convenience functions to do the necessary terminal
+and internal state cleanup upon receipt of a signal.
+
+@deftypefun void rl_cleanup_after_signal (void)
+This function will reset the state of the terminal to what it was before
+@code{readline()} was called, and remove the Readline signal handlers for
+all signals, depending on the values of @code{rl_catch_signals} and
+@code{rl_catch_sigwinch}.
+@end deftypefun
+
+@deftypefun void rl_free_line_state (void)
+This will free any partial state associated with the current input line
+(undo information, any partial history entry, any partially-entered
+keyboard macro, and any partially-entered numeric argument).  This
+should be called before @code{rl_cleanup_after_signal()}.  The
+Readline signal handler for @code{SIGINT} calls this to abort the
+current input line.
+@end deftypefun
+
+@deftypefun void rl_reset_after_signal (void)
+This will reinitialize the terminal and reinstall any Readline signal
+handlers, depending on the values of @code{rl_catch_signals} and
+@code{rl_catch_sigwinch}.
+@end deftypefun
+
+If an application does not wish Readline to catch @code{SIGWINCH}, it may
+call @code{rl_resize_terminal()} or @code{rl_set_screen_size()} to force
+Readline to update its idea of the terminal size when a @code{SIGWINCH}
+is received.
+
+@deftypefun void rl_echo_signal_char (int sig)
+If an application wishes to install its own signal handlers, but still
+have readline display characters that generate signals, calling this
+function with @var{sig} set to @code{SIGINT}, @code{SIGQUIT}, or
+@code{SIGTSTP} will display the character generating that signal.
+@end deftypefun
+
+@deftypefun void rl_resize_terminal (void)
+Update Readline's internal screen size by reading values from the kernel.
+@end deftypefun
+
+@deftypefun void rl_set_screen_size (int rows, int cols)
+Set Readline's idea of the terminal size to @var{rows} rows and
+@var{cols} columns.  If either @var{rows} or @var{columns} is less than
+or equal to 0, Readline's idea of that terminal dimension is unchanged.
+@end deftypefun
+
+If an application does not want to install a @code{SIGWINCH} handler, but
+is still interested in the screen dimensions, Readline's idea of the screen
+size may be queried.
+
+@deftypefun void rl_get_screen_size (int *rows, int *cols)
+Return Readline's idea of the terminal's size in the
+variables pointed to by the arguments.
+@end deftypefun
+
+@deftypefun void rl_reset_screen_size (void)
+Cause Readline to reobtain the screen size and recalculate its dimensions.
+@end deftypefun
+
+The following functions install and remove Readline's signal handlers.
+
+@deftypefun int rl_set_signals (void)
+Install Readline's signal handler for @code{SIGINT}, @code{SIGQUIT},
+@code{SIGTERM}, @code{SIGHUP}, @code{SIGALRM}, @code{SIGTSTP}, @code{SIGTTIN},
+@code{SIGTTOU}, and @code{SIGWINCH}, depending on the values of
+@code{rl_catch_signals} and @code{rl_catch_sigwinch}.
+@end deftypefun
+
+@deftypefun int rl_clear_signals (void)
+Remove all of the Readline signal handlers installed by
+@code{rl_set_signals()}.
+@end deftypefun
+
+@node Custom Completers
+@section Custom Completers
+@cindex application-specific completion functions
+
+Typically, a program that reads commands from the user has a way of
+disambiguating commands and data.  If your program is one of these, then
+it can provide completion for commands, data, or both.
+The following sections describe how your program and Readline
+cooperate to provide this service.
+
+@menu
+* How Completing Works::       The logic used to do completion.
+* Completion Functions::       Functions provided by Readline.
+* Completion Variables::       Variables which control completion.
+* A Short Completion Example:: An example of writing completer subroutines.
+@end menu
+
+@node How Completing Works
+@subsection How Completing Works
+
+In order to complete some text, the full list of possible completions
+must be available.  That is, it is not possible to accurately
+expand a partial word without knowing all of the possible words
+which make sense in that context.  The Readline library provides
+the user interface to completion, and two of the most common
+completion functions:  filename and username.  For completing other types
+of text, you must write your own completion function.  This section
+describes exactly what such functions must do, and provides an example.
+
+There are three major functions used to perform completion:
+
+@enumerate
+@item
+The user-interface function @code{rl_complete()}.  This function is
+called with the same arguments as other bindable Readline functions:
+@var{count} and @var{invoking_key}.
+It isolates the word to be completed and calls
+@code{rl_completion_matches()} to generate a list of possible completions.
+It then either lists the possible completions, inserts the possible
+completions, or actually performs the
+completion, depending on which behavior is desired.
+
+@item
+The internal function @code{rl_completion_matches()} uses an
+application-supplied @dfn{generator} function to generate the list of
+possible matches, and then returns the array of these matches.
+The caller should place the address of its generator function in
+@code{rl_completion_entry_function}.
+
+@item
+The generator function is called repeatedly from
+@code{rl_completion_matches()}, returning a string each time.  The
+arguments to the generator function are @var{text} and @var{state}.
+@var{text} is the partial word to be completed.  @var{state} is zero the
+first time the function is called, allowing the generator to perform
+any necessary initialization, and a positive non-zero integer for
+each subsequent call.  The generator function returns
+@code{(char *)NULL} to inform @code{rl_completion_matches()} that there are
+no more possibilities left.  Usually the generator function computes the
+list of possible completions when @var{state} is zero, and returns them
+one at a time on subsequent calls.  Each string the generator function
+returns as a match must be allocated with @code{malloc()}; Readline
+frees the strings when it has finished with them.
+Such a generator function is referred to as an
+@dfn{application-specific completion function}.
+
+@end enumerate
+
+@deftypefun int rl_complete (int ignore, int invoking_key)
+Complete the word at or before point.  You have supplied the function
+that does the initial simple matching selection algorithm (see
+@code{rl_completion_matches()}).  The default is to do filename completion.
+@end deftypefun
+
+@deftypevar {rl_compentry_func_t *} rl_completion_entry_function
+This is a pointer to the generator function for
+@code{rl_completion_matches()}.
+If the value of @code{rl_completion_entry_function} is
+@code{NULL} then the default filename generator
+function, @code{rl_filename_completion_function()}, is used.
+An @dfn{application-specific completion function} is a function whose
+address is assigned to @code{rl_completion_entry_function} and whose
+return values are used to  generate possible completions.
+@end deftypevar
+
+@node Completion Functions
+@subsection Completion Functions
+
+Here is the complete list of callable completion functions present in
+Readline.
+
+@deftypefun int rl_complete_internal (int what_to_do)
+Complete the word at or before point.  @var{what_to_do} says what to do
+with the completion.  A value of @samp{?} means list the possible
+completions.  @samp{TAB} means do standard completion.  @samp{*} means
+insert all of the possible completions.  @samp{!} means to display
+all of the possible completions, if there is more than one, as well as
+performing partial completion.  @samp{@@} is similar to @samp{!}, but
+possible completions are not listed if the possible completions share
+a common prefix.
+@end deftypefun
+
+@deftypefun int rl_complete (int ignore, int invoking_key)
+Complete the word at or before point.  You have supplied the function
+that does the initial simple matching selection algorithm (see
+@code{rl_completion_matches()} and @code{rl_completion_entry_function}).
+The default is to do filename
+completion.  This calls @code{rl_complete_internal()} with an
+argument depending on @var{invoking_key}.
+@end deftypefun
+
+@deftypefun int rl_possible_completions (int count, int invoking_key)
+List the possible completions.  See description of @code{rl_complete
+()}.  This calls @code{rl_complete_internal()} with an argument of
+@samp{?}.
+@end deftypefun
+
+@deftypefun int rl_insert_completions (int count, int invoking_key)
+Insert the list of possible completions into the line, deleting the
+partially-completed word.  See description of @code{rl_complete()}.
+This calls @code{rl_complete_internal()} with an argument of @samp{*}.
+@end deftypefun
+
+@deftypefun int rl_completion_mode (rl_command_func_t *cfunc)
+Returns the apppriate value to pass to @code{rl_complete_internal()}
+depending on whether @var{cfunc} was called twice in succession and
+the values of the @code{show-all-if-ambiguous} and
+@code{show-all-if-unmodified} variables.
+Application-specific completion functions may use this function to present
+the same interface as @code{rl_complete()}.
+@end deftypefun
+
+@deftypefun {char **} rl_completion_matches (const char *text, rl_compentry_func_t *entry_func)
+Returns an array of strings which is a list of completions for
+@var{text}.  If there are no completions, returns @code{NULL}.
+The first entry in the returned array is the substitution for @var{text}.
+The remaining entries are the possible completions.  The array is
+terminated with a @code{NULL} pointer.
+
+@var{entry_func} is a function of two args, and returns a
+@code{char *}.  The first argument is @var{text}.  The second is a
+state argument; it is zero on the first call, and non-zero on subsequent
+calls.  @var{entry_func} returns a @code{NULL}  pointer to the caller
+when there are no more matches.
+@end deftypefun
+
+@deftypefun {char *} rl_filename_completion_function (const char *text, int state)
+A generator function for filename completion in the general case.
+@var{text} is a partial filename.
+The Bash source is a useful reference for writing application-specific
+completion functions (the Bash completion functions call this and other
+Readline functions).
+@end deftypefun
+
+@deftypefun {char *} rl_username_completion_function (const char *text, int state)
+A completion generator for usernames.  @var{text} contains a partial
+username preceded by a random character (usually @samp{~}).  As with all
+completion generators, @var{state} is zero on the first call and non-zero
+for subsequent calls.
+@end deftypefun
+
+@node Completion Variables
+@subsection Completion Variables
+
+@deftypevar {rl_compentry_func_t *} rl_completion_entry_function
+A pointer to the generator function for @code{rl_completion_matches()}.
+@code{NULL} means to use @code{rl_filename_completion_function()},
+the default filename completer.
+@end deftypevar
+
+@deftypevar {rl_completion_func_t *} rl_attempted_completion_function
+A pointer to an alternative function to create matches.
+The function is called with @var{text}, @var{start}, and @var{end}.
+@var{start} and @var{end} are indices in @code{rl_line_buffer} defining
+the boundaries of @var{text}, which is a character string.
+If this function exists and returns @code{NULL}, or if this variable is
+set to @code{NULL}, then @code{rl_complete()} will call the value of
+@code{rl_completion_entry_function} to generate matches, otherwise the
+array of strings returned will be used.
+If this function sets the @code{rl_attempted_completion_over}
+variable to a non-zero value, Readline will not perform its default
+completion even if this function returns no matches.
+@end deftypevar
+
+@deftypevar {rl_quote_func_t *} rl_filename_quoting_function
+A pointer to a function that will quote a filename in an
+application-specific fashion.  This is called if filename completion is being
+attempted and one of the characters in @code{rl_filename_quote_characters}
+appears in a completed filename.  The function is called with
+@var{text}, @var{match_type}, and @var{quote_pointer}.  The @var{text}
+is the filename to be quoted.  The @var{match_type} is either
+@code{SINGLE_MATCH}, if there is only one completion match, or
+@code{MULT_MATCH}.  Some functions use this to decide whether or not to
+insert a closing quote character.  The @var{quote_pointer} is a pointer
+to any opening quote character the user typed.  Some functions choose
+to reset this character.
+@end deftypevar
+
+@deftypevar {rl_dequote_func_t *} rl_filename_dequoting_function
+A pointer to a function that will remove application-specific quoting
+characters from a filename before completion is attempted, so those
+characters do not interfere with matching the text against names in
+the filesystem.  It is called with @var{text}, the text of the word
+to be dequoted, and @var{quote_char}, which is the quoting character 
+that delimits the filename (usually @samp{'} or @samp{"}).  If
+@var{quote_char} is zero, the filename was not in an embedded string.
+@end deftypevar
+
+@deftypevar {rl_linebuf_func_t *} rl_char_is_quoted_p
+A pointer to a function to call that determines whether or not a specific
+character in the line buffer is quoted, according to whatever quoting
+mechanism the program calling Readline uses.  The function is called with
+two arguments: @var{text}, the text of the line, and @var{index}, the
+index of the character in the line.  It is used to decide whether a
+character found in @code{rl_completer_word_break_characters} should be
+used to break words for the completer.
+@end deftypevar
+
+@deftypevar {rl_compignore_func_t *} rl_ignore_some_completions_function
+This function, if defined, is called by the completer when real filename
+completion is done, after all the matching names have been generated.
+It is passed a @code{NULL} terminated array of matches.
+The first element (@code{matches[0]}) is the
+maximal substring common to all matches. This function can
+re-arrange the list of matches as required, but each element deleted
+from the array must be freed.
+@end deftypevar
+
+@deftypevar {rl_icppfunc_t *} rl_directory_completion_hook
+This function, if defined, is allowed to modify the directory portion
+of filenames Readline completes.
+It could be used to expand symbolic links or shell variables in pathnames.
+It is called with the address of a string (the current directory name) as an
+argument, and may modify that string.
+If the string is replaced with a new string, the old value should be freed.
+Any modified directory name should have a trailing slash.
+The modified value will be used as part of the completion, replacing
+the directory portion of the pathname the user typed.
+At the least, even if no other expansion is performed, this function should
+remove any quote characters from the directory name, because its result will
+be passed directly to @code{opendir()}.
+The directory completion hook returns an integer that should be non-zero if
+the function modifies its directory argument.
+The function should not modify the directory argument if it returns 0.
+@end deftypevar
+
+@ignore
+@deftypevar extern rl_icppfunc_t *rl_directory_rewrite_hook;
+If non-zero, this is the address of a function to call when completing
+a directory name.  This function takes the address of the directory name
+to be modified as an argument.  Unlike @code{rl_directory_completion_hook},
+it only modifies the directory name used in @code{opendir}, not what is
+displayed when the possible completions are printed or inserted.  It is
+called before rl_directory_completion_hook.
+
+I'm not happy with how this works yet, so it's undocumented.
+@end deftypevar
+@end ignore
+
+@deftypevar {rl_dequote_func_t *} rl_filename_rewrite_hook
+If non-zero, this is the address of a function called when reading
+directory entries from the filesystem for completion and comparing
+them to the partial word to be completed.  The function should
+perform any necesary application or system-specific conversion on
+the filename, such as converting between character sets or converting
+from a filesystem format to a character input format.
+The function takes two arguments: @var{fname}, the filename to be converted,
+and @var{fnlen}, its length in bytes.
+It must either return its first argument (if no conversion takes place)
+or the converted filename in newly-allocated memory.  The converted
+form is used to compare against the word to be completed, and, if it
+matches, is added to the list of matches.  Readline will free the
+allocated string.
+@end deftypevar
+
+@deftypevar {rl_compdisp_func_t *} rl_completion_display_matches_hook
+If non-zero, then this is the address of a function to call when
+completing a word would normally display the list of possible matches.
+This function is called in lieu of Readline displaying the list.
+It takes three arguments:
+(@code{char **}@var{matches}, @code{int} @var{num_matches}, @code{int} @var{max_length})
+where @var{matches} is the array of matching strings,
+@var{num_matches} is the number of strings in that array, and
+@var{max_length} is the length of the longest string in that array.
+Readline provides a convenience function, @code{rl_display_match_list},
+that takes care of doing the display to Readline's output stream.  That
+function may be called from this hook.
+@end deftypevar
+
+@deftypevar {const char *} rl_basic_word_break_characters
+The basic list of characters that signal a break between words for the
+completer routine.  The default value of this variable is the characters
+which break words for completion in Bash:
+@code{" \t\n\"\\'`@@$><=;|&@{("}.
+@end deftypevar
+
+@deftypevar {const char *} rl_basic_quote_characters
+A list of quote characters which can cause a word break.
+@end deftypevar
+
+@deftypevar {const char *} rl_completer_word_break_characters
+The list of characters that signal a break between words for
+@code{rl_complete_internal()}.  The default list is the value of
+@code{rl_basic_word_break_characters}.
+@end deftypevar
+
+@deftypevar {rl_cpvfunc_t *} rl_completion_word_break_hook
+If non-zero, this is the address of a function to call when Readline is
+deciding where to separate words for word completion.  It should return
+a character string like @code{rl_completer_word_break_characters} to be
+used to perform the current completion.  The function may choose to set
+@code{rl_completer_word_break_characters} itself.  If the function
+returns @code{NULL}, @code{rl_completer_word_break_characters} is used.
+@end deftypevar
+
+@deftypevar {const char *} rl_completer_quote_characters
+A list of characters which can be used to quote a substring of the line.
+Completion occurs on the entire substring, and within the substring
+@code{rl_completer_word_break_characters} are treated as any other character,
+unless they also appear within this list.
+@end deftypevar
+
+@deftypevar {const char *} rl_filename_quote_characters
+A list of characters that cause a filename to be quoted by the completer
+when they appear in a completed filename.  The default is the null string.
+@end deftypevar
+
+@deftypevar {const char *} rl_special_prefixes
+The list of characters that are word break characters, but should be
+left in @var{text} when it is passed to the completion function.
+Programs can use this to help determine what kind of completing to do.
+For instance, Bash sets this variable to "$@@" so that it can complete
+shell variables and hostnames.
+@end deftypevar
+
+@deftypevar int rl_completion_query_items
+Up to this many items will be displayed in response to a
+possible-completions call.  After that, readline asks the user if she is sure
+she wants to see them all.  The default value is 100.  A negative value 
+indicates that Readline should never ask the user.
+@end deftypevar
+
+@deftypevar {int} rl_completion_append_character
+When a single completion alternative matches at the end of the command
+line, this character is appended to the inserted completion text.  The
+default is a space character (@samp{ }).  Setting this to the null
+character (@samp{\0}) prevents anything being appended automatically.
+This can be changed in application-specific completion functions to
+provide the ``most sensible word separator character'' according to
+an application-specific command line syntax specification.
+@end deftypevar
+
+@deftypevar int rl_completion_suppress_append
+If non-zero, @var{rl_completion_append_character} is not appended to
+matches at the end of the command line, as described above.
+It is set to 0 before any application-specific completion function
+is called, and may only be changed within such a function.
+@end deftypevar
+
+@deftypevar int rl_completion_quote_character
+When Readline is completing quoted text, as delimited by one of the
+characters in @var{rl_completer_quote_characters}, it sets this variable
+to the quoting character found.
+This is set before any application-specific completion function is called.
+@end deftypevar
+
+@deftypevar int rl_completion_suppress_quote
+If non-zero, Readline does not append a matching quote character when
+performing completion on a quoted string.
+It is set to 0 before any application-specific completion function
+is called, and may only be changed within such a function.
+@end deftypevar
+
+@deftypevar int rl_completion_found_quote
+When Readline is completing quoted text, it sets this variable
+to a non-zero value if the word being completed contains or is delimited
+by any quoting characters, including backslashes.
+This is set before any application-specific completion function is called.
+@end deftypevar
+
+@deftypevar int rl_completion_mark_symlink_dirs
+If non-zero, a slash will be appended to completed filenames that are
+symbolic links to directory names, subject to the value of the
+user-settable @var{mark-directories} variable.
+This variable exists so that application-specific completion functions
+can override the user's global preference (set via the
+@var{mark-symlinked-directories} Readline variable) if appropriate.
+This variable is set to the user's preference before any
+application-specific completion function is called, so unless that
+function modifies the value, the user's preferences are honored.
+@end deftypevar
+
+@deftypevar int rl_ignore_completion_duplicates
+If non-zero, then duplicates in the matches are removed.
+The default is 1.
+@end deftypevar
+
+@deftypevar int rl_filename_completion_desired
+Non-zero means that the results of the matches are to be treated as
+filenames.  This is @emph{always} zero when completion is attempted,
+and can only be changed
+within an application-specific completion function.  If it is set to a
+non-zero value by such a function, directory names have a slash appended
+and Readline attempts to quote completed filenames if they contain any
+characters in @code{rl_filename_quote_characters} and
+@code{rl_filename_quoting_desired} is set to a non-zero value.
+@end deftypevar
+
+@deftypevar int rl_filename_quoting_desired
+Non-zero means that the results of the matches are to be quoted using
+double quotes (or an application-specific quoting mechanism) if the
+completed filename contains any characters in
+@code{rl_filename_quote_chars}.  This is @emph{always} non-zero
+when completion is attempted, and can only be changed within an
+application-specific completion function.
+The quoting is effected via a call to the function pointed to
+by @code{rl_filename_quoting_function}.
+@end deftypevar
+
+@deftypevar int rl_attempted_completion_over
+If an application-specific completion function assigned to
+@code{rl_attempted_completion_function} sets this variable to a non-zero
+value, Readline will not perform its default filename completion even
+if the application's completion function returns no matches.
+It should be set only by an application's completion function.
+@end deftypevar
+
+@deftypevar int rl_sort_completion_matches
+If an application sets this variable to 0, Readline will not sort the
+list of completions (which implies that it cannot remove any duplicate
+completions).  The default value is 1, which means that Readline will
+sort the completions and, depending on the value of
+@code{rl_ignore_completion_duplicates}, will attempt to remove duplicate
+matches.
+@end deftypevar
+
+@deftypevar int rl_completion_type
+Set to a character describing the type of completion Readline is currently
+attempting; see the description of @code{rl_complete_internal()}
+(@pxref{Completion Functions}) for the list of characters.
+This is set to the appropriate value before any application-specific
+completion function is called, allowing such functions to present
+the same interface as @code{rl_complete()}.
+@end deftypevar
+
+@deftypevar int rl_completion_invoking_key
+Set to the final character in the key sequence that invoked one of the
+completion functions that call @code{rl_complete_internal()}.  This is
+set to the appropriate value before any application-specific completion
+function is called.
+@end deftypevar
+
+@deftypevar int rl_inhibit_completion
+If this variable is non-zero, completion is inhibited.  The completion
+character will be inserted as any other bound to @code{self-insert}.
+@end deftypevar
+
+@node A Short Completion Example
+@subsection A Short Completion Example
+
+Here is a small application demonstrating the use of the GNU Readline
+library.  It is called @code{fileman}, and the source code resides in
+@file{examples/fileman.c}.  This sample application provides
+completion of command names, line editing features, and access to the
+history list.
+
+@page
+@smallexample
+/* fileman.c -- A tiny application which demonstrates how to use the
+   GNU Readline library.  This application interactively allows users
+   to manipulate files and their modes. */
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include <sys/types.h>
+#ifdef HAVE_SYS_FILE_H
+#  include <sys/file.h>
+#endif
+#include <sys/stat.h>
+
+#ifdef HAVE_UNISTD_H
+#  include <unistd.h>
+#endif
+
+#include <fcntl.h>
+#include <stdio.h>
+#include <errno.h>
+
+#if defined (HAVE_STRING_H)
+#  include <string.h>
+#else /* !HAVE_STRING_H */
+#  include <strings.h>
+#endif /* !HAVE_STRING_H */
+
+#ifdef HAVE_STDLIB_H
+#  include <stdlib.h>
+#endif
+
+#include <time.h>
+
+#include <readline/readline.h>
+#include <readline/history.h>
+
+extern char *xmalloc PARAMS((size_t));
+
+/* The names of functions that actually do the manipulation. */
+int com_list PARAMS((char *));
+int com_view PARAMS((char *));
+int com_rename PARAMS((char *));
+int com_stat PARAMS((char *));
+int com_pwd PARAMS((char *));
+int com_delete PARAMS((char *));
+int com_help PARAMS((char *));
+int com_cd PARAMS((char *));
+int com_quit PARAMS((char *));
+
+/* A structure which contains information on the commands this program
+   can understand. */
+
+typedef struct @{
+  char *name;                  /* User printable name of the function. */
+  rl_icpfunc_t *func;          /* Function to call to do the job. */
+  char *doc;                   /* Documentation for this function.  */
+@} COMMAND;
+
+COMMAND commands[] = @{
+  @{ "cd", com_cd, "Change to directory DIR" @},
+  @{ "delete", com_delete, "Delete FILE" @},
+  @{ "help", com_help, "Display this text" @},
+  @{ "?", com_help, "Synonym for `help'" @},
+  @{ "list", com_list, "List files in DIR" @},
+  @{ "ls", com_list, "Synonym for `list'" @},
+  @{ "pwd", com_pwd, "Print the current working directory" @},
+  @{ "quit", com_quit, "Quit using Fileman" @},
+  @{ "rename", com_rename, "Rename FILE to NEWNAME" @},
+  @{ "stat", com_stat, "Print out statistics on FILE" @},
+  @{ "view", com_view, "View the contents of FILE" @},
+  @{ (char *)NULL, (rl_icpfunc_t *)NULL, (char *)NULL @}
+@};
+
+/* Forward declarations. */
+char *stripwhite ();
+COMMAND *find_command ();
+
+/* The name of this program, as taken from argv[0]. */
+char *progname;
+
+/* When non-zero, this global means the user is done using this program. */
+int done;
+
+char *
+dupstr (s)
+     char *s;
+@{
+  char *r;
+
+  r = xmalloc (strlen (s) + 1);
+  strcpy (r, s);
+  return (r);
+@}
+
+main (argc, argv)
+     int argc;
+     char **argv;
+@{
+  char *line, *s;
+
+  progname = argv[0];
+
+  initialize_readline ();      /* Bind our completer. */
+
+  /* Loop reading and executing lines until the user quits. */
+  for ( ; done == 0; )
+    @{
+      line = readline ("FileMan: ");
+
+      if (!line)
+        break;
+
+      /* Remove leading and trailing whitespace from the line.
+         Then, if there is anything left, add it to the history list
+         and execute it. */
+      s = stripwhite (line);
+
+      if (*s)
+        @{
+          add_history (s);
+          execute_line (s);
+        @}
+
+      free (line);
+    @}
+  exit (0);
+@}
+
+/* Execute a command line. */
+int
+execute_line (line)
+     char *line;
+@{
+  register int i;
+  COMMAND *command;
+  char *word;
+
+  /* Isolate the command word. */
+  i = 0;
+  while (line[i] && whitespace (line[i]))
+    i++;
+  word = line + i;
+
+  while (line[i] && !whitespace (line[i]))
+    i++;
+
+  if (line[i])
+    line[i++] = '\0';
+
+  command = find_command (word);
+
+  if (!command)
+    @{
+      fprintf (stderr, "%s: No such command for FileMan.\n", word);
+      return (-1);
+    @}
+
+  /* Get argument to command, if any. */
+  while (whitespace (line[i]))
+    i++;
+
+  word = line + i;
+
+  /* Call the function. */
+  return ((*(command->func)) (word));
+@}
+
+/* Look up NAME as the name of a command, and return a pointer to that
+   command.  Return a NULL pointer if NAME isn't a command name. */
+COMMAND *
+find_command (name)
+     char *name;
+@{
+  register int i;
+
+  for (i = 0; commands[i].name; i++)
+    if (strcmp (name, commands[i].name) == 0)
+      return (&commands[i]);
+
+  return ((COMMAND *)NULL);
+@}
+
+/* Strip whitespace from the start and end of STRING.  Return a pointer
+   into STRING. */
+char *
+stripwhite (string)
+     char *string;
+@{
+  register char *s, *t;
+
+  for (s = string; whitespace (*s); s++)
+    ;
+    
+  if (*s == 0)
+    return (s);
+
+  t = s + strlen (s) - 1;
+  while (t > s && whitespace (*t))
+    t--;
+  *++t = '\0';
+
+  return s;
+@}
+
+/* **************************************************************** */
+/*                                                                  */
+/*                  Interface to Readline Completion                */
+/*                                                                  */
+/* **************************************************************** */
+
+char *command_generator PARAMS((const char *, int));
+char **fileman_completion PARAMS((const char *, int, int));
+
+/* Tell the GNU Readline library how to complete.  We want to try to complete
+   on command names if this is the first word in the line, or on filenames
+   if not. */
+initialize_readline ()
+@{
+  /* Allow conditional parsing of the ~/.inputrc file. */
+  rl_readline_name = "FileMan";
+
+  /* Tell the completer that we want a crack first. */
+  rl_attempted_completion_function = fileman_completion;
+@}
+
+/* Attempt to complete on the contents of TEXT.  START and END bound the
+   region of rl_line_buffer that contains the word to complete.  TEXT is
+   the word to complete.  We can use the entire contents of rl_line_buffer
+   in case we want to do some simple parsing.  Return the array of matches,
+   or NULL if there aren't any. */
+char **
+fileman_completion (text, start, end)
+     const char *text;
+     int start, end;
+@{
+  char **matches;
+
+  matches = (char **)NULL;
+
+  /* If this word is at the start of the line, then it is a command
+     to complete.  Otherwise it is the name of a file in the current
+     directory. */
+  if (start == 0)
+    matches = rl_completion_matches (text, command_generator);
+
+  return (matches);
+@}
+
+/* Generator function for command completion.  STATE lets us know whether
+   to start from scratch; without any state (i.e. STATE == 0), then we
+   start at the top of the list. */
+char *
+command_generator (text, state)
+     const char *text;
+     int state;
+@{
+  static int list_index, len;
+  char *name;
+
+  /* If this is a new word to complete, initialize now.  This includes
+     saving the length of TEXT for efficiency, and initializing the index
+     variable to 0. */
+  if (!state)
+    @{
+      list_index = 0;
+      len = strlen (text);
+    @}
+
+  /* Return the next name which partially matches from the command list. */
+  while (name = commands[list_index].name)
+    @{
+      list_index++;
+
+      if (strncmp (name, text, len) == 0)
+        return (dupstr(name));
+    @}
+
+  /* If no names matched, then return NULL. */
+  return ((char *)NULL);
+@}
+
+/* **************************************************************** */
+/*                                                                  */
+/*                       FileMan Commands                           */
+/*                                                                  */
+/* **************************************************************** */
+
+/* String to pass to system ().  This is for the LIST, VIEW and RENAME
+   commands. */
+static char syscom[1024];
+
+/* List the file(s) named in arg. */
+com_list (arg)
+     char *arg;
+@{
+  if (!arg)
+    arg = "";
+
+  sprintf (syscom, "ls -FClg %s", arg);
+  return (system (syscom));
+@}
+
+com_view (arg)
+     char *arg;
+@{
+  if (!valid_argument ("view", arg))
+    return 1;
+
+#if defined (__MSDOS__)
+  /* more.com doesn't grok slashes in pathnames */
+  sprintf (syscom, "less %s", arg);
+#else
+  sprintf (syscom, "more %s", arg);
+#endif
+  return (system (syscom));
+@}
+
+com_rename (arg)
+     char *arg;
+@{
+  too_dangerous ("rename");
+  return (1);
+@}
+
+com_stat (arg)
+     char *arg;
+@{
+  struct stat finfo;
+
+  if (!valid_argument ("stat", arg))
+    return (1);
+
+  if (stat (arg, &finfo) == -1)
+    @{
+      perror (arg);
+      return (1);
+    @}
+
+  printf ("Statistics for `%s':\n", arg);
+
+  printf ("%s has %d link%s, and is %d byte%s in length.\n",
+         arg,
+          finfo.st_nlink,
+          (finfo.st_nlink == 1) ? "" : "s",
+          finfo.st_size,
+          (finfo.st_size == 1) ? "" : "s");
+  printf ("Inode Last Change at: %s", ctime (&finfo.st_ctime));
+  printf ("      Last access at: %s", ctime (&finfo.st_atime));
+  printf ("    Last modified at: %s", ctime (&finfo.st_mtime));
+  return (0);
+@}
+
+com_delete (arg)
+     char *arg;
+@{
+  too_dangerous ("delete");
+  return (1);
+@}
+
+/* Print out help for ARG, or for all of the commands if ARG is
+   not present. */
+com_help (arg)
+     char *arg;
+@{
+  register int i;
+  int printed = 0;
+
+  for (i = 0; commands[i].name; i++)
+    @{
+      if (!*arg || (strcmp (arg, commands[i].name) == 0))
+        @{
+          printf ("%s\t\t%s.\n", commands[i].name, commands[i].doc);
+          printed++;
+        @}
+    @}
+
+  if (!printed)
+    @{
+      printf ("No commands match `%s'.  Possibilties are:\n", arg);
+
+      for (i = 0; commands[i].name; i++)
+        @{
+          /* Print in six columns. */
+          if (printed == 6)
+            @{
+              printed = 0;
+              printf ("\n");
+            @}
+
+          printf ("%s\t", commands[i].name);
+          printed++;
+        @}
+
+      if (printed)
+        printf ("\n");
+    @}
+  return (0);
+@}
+
+/* Change to the directory ARG. */
+com_cd (arg)
+     char *arg;
+@{
+  if (chdir (arg) == -1)
+    @{
+      perror (arg);
+      return 1;
+    @}
+
+  com_pwd ("");
+  return (0);
+@}
+
+/* Print out the current working directory. */
+com_pwd (ignore)
+     char *ignore;
+@{
+  char dir[1024], *s;
+
+  s = getcwd (dir, sizeof(dir) - 1);
+  if (s == 0)
+    @{
+      printf ("Error getting pwd: %s\n", dir);
+      return 1;
+    @}
+
+  printf ("Current directory is %s\n", dir);
+  return 0;
+@}
+
+/* The user wishes to quit using this program.  Just set DONE non-zero. */
+com_quit (arg)
+     char *arg;
+@{
+  done = 1;
+  return (0);
+@}
+
+/* Function which tells you that you can't do this. */
+too_dangerous (caller)
+     char *caller;
+@{
+  fprintf (stderr,
+           "%s: Too dangerous for me to distribute.  Write it yourself.\n",
+           caller);
+@}
+
+/* Return non-zero if ARG is a valid argument for CALLER, else print
+   an error message and return zero. */
+int
+valid_argument (caller, arg)
+     char *caller, *arg;
+@{
+  if (!arg || !*arg)
+    @{
+      fprintf (stderr, "%s: Argument required.\n", caller);
+      return (0);
+    @}
+
+  return (1);
+@}
+@end smallexample
index 3ee1c10e8a2c79652e0b488e7c867bfb29cb085d..bcd6b47297baafe9da7a81a723e21d998861a998 100644 (file)
@@ -4,7 +4,7 @@ Copyright (C) 1988-2011 Free Software Foundation, Inc.
 
 @set EDITION 6.2
 @set VERSION 6.2
-@set UPDATED September 6 2010
-@set UPDATED-MONTH September 2010
+@set UPDATED October 2 2011
+@set UPDATED-MONTH October 2011
 
-@set LASTCHANGE Mon Sep  6 22:07:10 EDT 2010
+@set LASTCHANGE Sun Oct  2 15:54:47 EDT 2011
diff --git a/lib/readline/doc/version.texi~ b/lib/readline/doc/version.texi~
new file mode 100644 (file)
index 0000000..3ee1c10
--- /dev/null
@@ -0,0 +1,10 @@
+@ignore
+Copyright (C) 1988-2011 Free Software Foundation, Inc. 
+@end ignore
+
+@set EDITION 6.2
+@set VERSION 6.2
+@set UPDATED September 6 2010
+@set UPDATED-MONTH September 2010
+
+@set LASTCHANGE Mon Sep  6 22:07:10 EDT 2010
index 7bcd48467561fb8f1ca5f94f103cf1728f589baa..54f73e38e1bea1c73036c7ad573698011971e43a 100644 (file)
@@ -688,6 +688,13 @@ extern rl_icppfunc_t *rl_directory_completion_hook;
    it in bash to see how well it goes. */
 extern rl_icppfunc_t *rl_directory_rewrite_hook;
 
+/* If non-zero, this is the address of a function for the completer to call
+   before deciding which character to append to a completed name.  It should
+   modify the directory name passed as an argument if appropriate, and return
+   non-zero if it modifies the name.  This should not worry about dequoting
+   the filename; that has already happened by the time it gets here. */
+extern rl_icppfunc_t *rl_filename_stat_hook;
+
 /* If non-zero, this is the address of a function to call when reading
    directory entries from the filesystem for completion and comparing
    them to the partial word to be completed.  The function should
diff --git a/parse.y~ b/parse.y~
new file mode 100644 (file)
index 0000000..afa51e3
--- /dev/null
+++ b/parse.y~
@@ -0,0 +1,6079 @@
+/* parse.y - Yacc grammar for bash. */
+
+/* Copyright (C) 1989-2010 Free Software Foundation, Inc.
+
+   This file is part of GNU Bash, the Bourne Again SHell.
+
+   Bash is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   Bash is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with Bash.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+%{
+#include "config.h"
+
+#include "bashtypes.h"
+#include "bashansi.h"
+
+#include "filecntl.h"
+
+#if defined (HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif
+
+#if defined (HAVE_LOCALE_H)
+#  include <locale.h>
+#endif
+
+#include <stdio.h>
+#include "chartypes.h"
+#include <signal.h>
+
+#include "memalloc.h"
+
+#include "bashintl.h"
+
+#define NEED_STRFTIME_DECL     /* used in externs.h */
+
+#include "shell.h"
+#include "trap.h"
+#include "flags.h"
+#include "parser.h"
+#include "mailcheck.h"
+#include "test.h"
+#include "builtins.h"
+#include "builtins/common.h"
+#include "builtins/builtext.h"
+
+#include "shmbutil.h"
+
+#if defined (READLINE)
+#  include "bashline.h"
+#  include <readline/readline.h>
+#endif /* READLINE */
+
+#if defined (HISTORY)
+#  include "bashhist.h"
+#  include <readline/history.h>
+#endif /* HISTORY */
+
+#if defined (JOB_CONTROL)
+#  include "jobs.h"
+#endif /* JOB_CONTROL */
+
+#if defined (ALIAS)
+#  include "alias.h"
+#else
+typedef void *alias_t;
+#endif /* ALIAS */
+
+#if defined (PROMPT_STRING_DECODE)
+#  ifndef _MINIX
+#    include <sys/param.h>
+#  endif
+#  include <time.h>
+#  if defined (TM_IN_SYS_TIME)
+#    include <sys/types.h>
+#    include <sys/time.h>
+#  endif /* TM_IN_SYS_TIME */
+#  include "maxpath.h"
+#endif /* PROMPT_STRING_DECODE */
+
+#define RE_READ_TOKEN  -99
+#define NO_EXPANSION   -100
+
+#ifdef DEBUG
+#  define YYDEBUG 1
+#else
+#  define YYDEBUG 0
+#endif
+
+#if defined (HANDLE_MULTIBYTE)
+#  define last_shell_getc_is_singlebyte \
+       ((shell_input_line_index > 1) \
+               ? shell_input_line_property[shell_input_line_index - 1] \
+               : 1)
+#  define MBTEST(x)    ((x) && last_shell_getc_is_singlebyte)
+#else
+#  define last_shell_getc_is_singlebyte        1
+#  define MBTEST(x)    ((x))
+#endif
+
+#if defined (EXTENDED_GLOB)
+extern int extended_glob;
+#endif
+
+extern int eof_encountered;
+extern int no_line_editing, running_under_emacs;
+extern int current_command_number;
+extern int sourcelevel, parse_and_execute_level;
+extern int posixly_correct;
+extern int last_command_exit_value;
+extern pid_t last_command_subst_pid;
+extern char *shell_name, *current_host_name;
+extern char *dist_version;
+extern int patch_level;
+extern int dump_translatable_strings, dump_po_strings;
+extern sh_builtin_func_t *last_shell_builtin, *this_shell_builtin;
+#if defined (BUFFERED_INPUT)
+extern int bash_input_fd_changed;
+#endif
+
+extern int errno;
+/* **************************************************************** */
+/*                                                                 */
+/*                 "Forward" declarations                          */
+/*                                                                 */
+/* **************************************************************** */
+
+#ifdef DEBUG
+static void debug_parser __P((int));
+#endif
+
+static int yy_getc __P((void));
+static int yy_ungetc __P((int));
+
+#if defined (READLINE)
+static int yy_readline_get __P((void));
+static int yy_readline_unget __P((int));
+#endif
+
+static int yy_string_get __P((void));
+static int yy_string_unget __P((int));
+static void rewind_input_string __P((void));
+static int yy_stream_get __P((void));
+static int yy_stream_unget __P((int));
+
+static int shell_getc __P((int));
+static void shell_ungetc __P((int));
+static void discard_until __P((int));
+
+#if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
+static void push_string __P((char *, int, alias_t *));
+static void pop_string __P((void));
+static void free_string_list __P((void));
+#endif
+
+static char *read_a_line __P((int));
+
+static int reserved_word_acceptable __P((int));
+static int yylex __P((void));
+static int alias_expand_token __P((char *));
+static int time_command_acceptable __P((void));
+static int special_case_tokens __P((char *));
+static int read_token __P((int));
+static char *parse_matched_pair __P((int, int, int, int *, int));
+static char *parse_comsub __P((int, int, int, int *, int));
+#if defined (ARRAY_VARS)
+static char *parse_compound_assignment __P((int *));
+#endif
+#if defined (DPAREN_ARITHMETIC) || defined (ARITH_FOR_COMMAND)
+static int parse_dparen __P((int));
+static int parse_arith_cmd __P((char **, int));
+#endif
+#if defined (COND_COMMAND)
+static void cond_error __P((void));
+static COND_COM *cond_expr __P((void));
+static COND_COM *cond_or __P((void));
+static COND_COM *cond_and __P((void));
+static COND_COM *cond_term __P((void));
+static int cond_skip_newlines __P((void));
+static COMMAND *parse_cond_command __P((void));
+#endif
+#if defined (ARRAY_VARS)
+static int token_is_assignment __P((char *, int));
+static int token_is_ident __P((char *, int));
+#endif
+static int read_token_word __P((int));
+static void discard_parser_constructs __P((int));
+
+static char *error_token_from_token __P((int));
+static char *error_token_from_text __P((void));
+static void print_offending_line __P((void));
+static void report_syntax_error __P((char *));
+
+static void handle_eof_input_unit __P((void));
+static void prompt_again __P((void));
+#if 0
+static void reset_readline_prompt __P((void));
+#endif
+static void print_prompt __P((void));
+
+#if defined (HANDLE_MULTIBYTE)
+static void set_line_mbstate __P((void));
+static char *shell_input_line_property = NULL;
+#else
+#  define set_line_mbstate()
+#endif
+
+extern int yyerror __P((const char *));
+
+#ifdef DEBUG
+extern int yydebug;
+#endif
+
+/* Default prompt strings */
+char *primary_prompt = PPROMPT;
+char *secondary_prompt = SPROMPT;
+
+/* PROMPT_STRING_POINTER points to one of these, never to an actual string. */
+char *ps1_prompt, *ps2_prompt;
+
+/* Handle on the current prompt string.  Indirectly points through
+   ps1_ or ps2_prompt. */
+char **prompt_string_pointer = (char **)NULL;
+char *current_prompt_string;
+
+/* Non-zero means we expand aliases in commands. */
+int expand_aliases = 0;
+
+/* If non-zero, the decoded prompt string undergoes parameter and
+   variable substitution, command substitution, arithmetic substitution,
+   string expansion, process substitution, and quote removal in
+   decode_prompt_string. */
+int promptvars = 1;
+
+/* If non-zero, $'...' and $"..." are expanded when they appear within
+   a ${...} expansion, even when the expansion appears within double
+   quotes. */
+int extended_quote = 1;
+
+/* The number of lines read from input while creating the current command. */
+int current_command_line_count;
+
+/* The number of lines in a command saved while we run parse_and_execute */
+int saved_command_line_count;
+
+/* The token that currently denotes the end of parse. */
+int shell_eof_token;
+
+/* The token currently being read. */
+int current_token;
+
+/* The current parser state. */
+int parser_state;
+
+/* Variables to manage the task of reading here documents, because we need to
+   defer the reading until after a complete command has been collected. */
+static REDIRECT *redir_stack[10];
+int need_here_doc;
+
+/* Where shell input comes from.  History expansion is performed on each
+   line when the shell is interactive. */
+static char *shell_input_line = (char *)NULL;
+static int shell_input_line_index;
+static int shell_input_line_size;      /* Amount allocated for shell_input_line. */
+static int shell_input_line_len;       /* strlen (shell_input_line) */
+
+/* Either zero or EOF. */
+static int shell_input_line_terminator;
+
+/* The line number in a script on which a function definition starts. */
+static int function_dstart;
+
+/* The line number in a script on which a function body starts. */
+static int function_bstart;
+
+/* The line number in a script at which an arithmetic for command starts. */
+static int arith_for_lineno;
+
+/* The decoded prompt string.  Used if READLINE is not defined or if
+   editing is turned off.  Analogous to current_readline_prompt. */
+static char *current_decoded_prompt;
+
+/* The last read token, or NULL.  read_token () uses this for context
+   checking. */
+static int last_read_token;
+
+/* The token read prior to last_read_token. */
+static int token_before_that;
+
+/* The token read prior to token_before_that. */
+static int two_tokens_ago;
+
+static int global_extglob;
+
+/* The line number in a script where the word in a `case WORD', `select WORD'
+   or `for WORD' begins.  This is a nested command maximum, since the array
+   index is decremented after a case, select, or for command is parsed. */
+#define MAX_CASE_NEST  128
+static int word_lineno[MAX_CASE_NEST];
+static int word_top = -1;
+
+/* If non-zero, it is the token that we want read_token to return
+   regardless of what text is (or isn't) present to be read.  This
+   is reset by read_token.  If token_to_read == WORD or
+   ASSIGNMENT_WORD, yylval.word should be set to word_desc_to_read. */
+static int token_to_read;
+static WORD_DESC *word_desc_to_read;
+
+static REDIRECTEE source;
+static REDIRECTEE redir;
+%}
+
+%union {
+  WORD_DESC *word;             /* the word that we read. */
+  int number;                  /* the number that we read. */
+  WORD_LIST *word_list;
+  COMMAND *command;
+  REDIRECT *redirect;
+  ELEMENT element;
+  PATTERN_LIST *pattern;
+}
+
+/* Reserved words.  Members of the first group are only recognized
+   in the case that they are preceded by a list_terminator.  Members
+   of the second group are for [[...]] commands.  Members of the
+   third group are recognized only under special circumstances. */
+%token IF THEN ELSE ELIF FI CASE ESAC FOR SELECT WHILE UNTIL DO DONE FUNCTION COPROC
+%token COND_START COND_END COND_ERROR
+%token IN BANG TIME TIMEOPT TIMEIGN
+
+/* More general tokens. yylex () knows how to make these. */
+%token <word> WORD ASSIGNMENT_WORD REDIR_WORD
+%token <number> NUMBER
+%token <word_list> ARITH_CMD ARITH_FOR_EXPRS
+%token <command> COND_CMD
+%token AND_AND OR_OR GREATER_GREATER LESS_LESS LESS_AND LESS_LESS_LESS
+%token GREATER_AND SEMI_SEMI SEMI_AND SEMI_SEMI_AND
+%token LESS_LESS_MINUS AND_GREATER AND_GREATER_GREATER LESS_GREATER
+%token GREATER_BAR BAR_AND
+
+/* The types that the various syntactical units return. */
+
+%type <command> inputunit command pipeline pipeline_command
+%type <command> list list0 list1 compound_list simple_list simple_list1
+%type <command> simple_command shell_command
+%type <command> for_command select_command case_command group_command
+%type <command> arith_command
+%type <command> cond_command
+%type <command> arith_for_command
+%type <command> coproc
+%type <command> function_def function_body if_command elif_clause subshell
+%type <redirect> redirection redirection_list
+%type <element> simple_command_element
+%type <word_list> word_list pattern
+%type <pattern> pattern_list case_clause_sequence case_clause
+%type <number> timespec
+%type <number> list_terminator
+
+%start inputunit
+
+%left '&' ';' '\n' yacc_EOF
+%left AND_AND OR_OR
+%right '|' BAR_AND
+%%
+
+inputunit:     simple_list simple_list_terminator
+                       {
+                         /* Case of regular command.  Discard the error
+                            safety net,and return the command just parsed. */
+                         global_command = $1;
+                         eof_encountered = 0;
+                         /* discard_parser_constructs (0); */
+                         if (parser_state & PST_CMDSUBST)
+                           parser_state |= PST_EOFTOKEN;
+                         YYACCEPT;
+                       }
+       |       '\n'
+                       {
+                         /* Case of regular command, but not a very
+                            interesting one.  Return a NULL command. */
+                         global_command = (COMMAND *)NULL;
+                         if (parser_state & PST_CMDSUBST)
+                           parser_state |= PST_EOFTOKEN;
+                         YYACCEPT;
+                       }
+       |       error '\n'
+                       {
+                         /* Error during parsing.  Return NULL command. */
+                         global_command = (COMMAND *)NULL;
+                         eof_encountered = 0;
+                         /* discard_parser_constructs (1); */
+                         if (interactive && parse_and_execute_level == 0)
+                           {
+                             YYACCEPT;
+                           }
+                         else
+                           {
+                             YYABORT;
+                           }
+                       }
+       |       yacc_EOF
+                       {
+                         /* Case of EOF seen by itself.  Do ignoreeof or
+                            not. */
+                         global_command = (COMMAND *)NULL;
+                         handle_eof_input_unit ();
+                         YYACCEPT;
+                       }
+       ;
+
+word_list:     WORD
+                       { $$ = make_word_list ($1, (WORD_LIST *)NULL); }
+       |       word_list WORD
+                       { $$ = make_word_list ($2, $1); }
+       ;
+
+redirection:   '>' WORD
+                       {
+                         source.dest = 1;
+                         redir.filename = $2;
+                         $$ = make_redirection (source, r_output_direction, redir, 0);
+                       }
+       |       '<' WORD
+                       {
+                         source.dest = 0;
+                         redir.filename = $2;
+                         $$ = make_redirection (source, r_input_direction, redir, 0);
+                       }
+       |       NUMBER '>' WORD
+                       {
+                         source.dest = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_output_direction, redir, 0);
+                       }
+       |       NUMBER '<' WORD
+                       {
+                         source.dest = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_input_direction, redir, 0);
+                       }
+       |       REDIR_WORD '>' WORD
+                       {
+                         source.filename = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_output_direction, redir, REDIR_VARASSIGN);
+                       }
+       |       REDIR_WORD '<' WORD
+                       {
+                         source.filename = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_input_direction, redir, REDIR_VARASSIGN);
+                       }
+       |       GREATER_GREATER WORD
+                       {
+                         source.dest = 1;
+                         redir.filename = $2;
+                         $$ = make_redirection (source, r_appending_to, redir, 0);
+                       }
+       |       NUMBER GREATER_GREATER WORD
+                       {
+                         source.dest = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_appending_to, redir, 0);
+                       }
+       |       REDIR_WORD GREATER_GREATER WORD
+                       {
+                         source.filename = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_appending_to, redir, REDIR_VARASSIGN);
+                       }
+       |       GREATER_BAR WORD
+                       {
+                         source.dest = 1;
+                         redir.filename = $2;
+                         $$ = make_redirection (source, r_output_force, redir, 0);
+                       }
+       |       NUMBER GREATER_BAR WORD
+                       {
+                         source.dest = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_output_force, redir, 0);
+                       }
+       |       REDIR_WORD GREATER_BAR WORD
+                       {
+                         source.filename = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_output_force, redir, REDIR_VARASSIGN);
+                       }
+       |       LESS_GREATER WORD
+                       {
+                         source.dest = 0;
+                         redir.filename = $2;
+                         $$ = make_redirection (source, r_input_output, redir, 0);
+                       }
+       |       NUMBER LESS_GREATER WORD
+                       {
+                         source.dest = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_input_output, redir, 0);
+                       }
+       |       REDIR_WORD LESS_GREATER WORD
+                       {
+                         source.filename = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_input_output, redir, REDIR_VARASSIGN);
+                       }
+       |       LESS_LESS WORD
+                       {
+                         source.dest = 0;
+                         redir.filename = $2;
+                         $$ = make_redirection (source, r_reading_until, redir, 0);
+                         redir_stack[need_here_doc++] = $$;
+                       }
+       |       NUMBER LESS_LESS WORD
+                       {
+                         source.dest = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_reading_until, redir, 0);
+                         redir_stack[need_here_doc++] = $$;
+                       }
+       |       REDIR_WORD LESS_LESS WORD
+                       {
+                         source.filename = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN);
+                         redir_stack[need_here_doc++] = $$;
+                       }
+       |       LESS_LESS_MINUS WORD
+                       {
+                         source.dest = 0;
+                         redir.filename = $2;
+                         $$ = make_redirection (source, r_deblank_reading_until, redir, 0);
+                         redir_stack[need_here_doc++] = $$;
+                       }
+       |       NUMBER LESS_LESS_MINUS WORD
+                       {
+                         source.dest = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_deblank_reading_until, redir, 0);
+                         redir_stack[need_here_doc++] = $$;
+                       }
+       |       REDIR_WORD  LESS_LESS_MINUS WORD
+                       {
+                         source.filename = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN);
+                         redir_stack[need_here_doc++] = $$;
+                       }
+       |       LESS_LESS_LESS WORD
+                       {
+                         source.dest = 0;
+                         redir.filename = $2;
+                         $$ = make_redirection (source, r_reading_string, redir, 0);
+                       }
+       |       NUMBER LESS_LESS_LESS WORD
+                       {
+                         source.dest = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_reading_string, redir, 0);
+                       }
+       |       REDIR_WORD LESS_LESS_LESS WORD
+                       {
+                         source.filename = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_reading_string, redir, REDIR_VARASSIGN);
+                       }
+       |       LESS_AND NUMBER
+                       {
+                         source.dest = 0;
+                         redir.dest = $2;
+                         $$ = make_redirection (source, r_duplicating_input, redir, 0);
+                       }
+       |       NUMBER LESS_AND NUMBER
+                       {
+                         source.dest = $1;
+                         redir.dest = $3;
+                         $$ = make_redirection (source, r_duplicating_input, redir, 0);
+                       }
+       |       REDIR_WORD LESS_AND NUMBER
+                       {
+                         source.filename = $1;
+                         redir.dest = $3;
+                         $$ = make_redirection (source, r_duplicating_input, redir, REDIR_VARASSIGN);
+                       }
+       |       GREATER_AND NUMBER
+                       {
+                         source.dest = 1;
+                         redir.dest = $2;
+                         $$ = make_redirection (source, r_duplicating_output, redir, 0);
+                       }
+       |       NUMBER GREATER_AND NUMBER
+                       {
+                         source.dest = $1;
+                         redir.dest = $3;
+                         $$ = make_redirection (source, r_duplicating_output, redir, 0);
+                       }
+       |       REDIR_WORD GREATER_AND NUMBER
+                       {
+                         source.filename = $1;
+                         redir.dest = $3;
+                         $$ = make_redirection (source, r_duplicating_output, redir, REDIR_VARASSIGN);
+                       }
+       |       LESS_AND WORD
+                       {
+                         source.dest = 0;
+                         redir.filename = $2;
+                         $$ = make_redirection (source, r_duplicating_input_word, redir, 0);
+                       }
+       |       NUMBER LESS_AND WORD
+                       {
+                         source.dest = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_duplicating_input_word, redir, 0);
+                       }
+       |       REDIR_WORD LESS_AND WORD
+                       {
+                         source.filename = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_duplicating_input_word, redir, REDIR_VARASSIGN);
+                       }
+       |       GREATER_AND WORD
+                       {
+                         source.dest = 1;
+                         redir.filename = $2;
+                         $$ = make_redirection (source, r_duplicating_output_word, redir, 0);
+                       }
+       |       NUMBER GREATER_AND WORD
+                       {
+                         source.dest = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_duplicating_output_word, redir, 0);
+                       }
+       |       REDIR_WORD GREATER_AND WORD
+                       {
+                         source.filename = $1;
+                         redir.filename = $3;
+                         $$ = make_redirection (source, r_duplicating_output_word, redir, REDIR_VARASSIGN);
+                       }
+       |       GREATER_AND '-'
+                       {
+                         source.dest = 1;
+                         redir.dest = 0;
+                         $$ = make_redirection (source, r_close_this, redir, 0);
+                       }
+       |       NUMBER GREATER_AND '-'
+                       {
+                         source.dest = $1;
+                         redir.dest = 0;
+                         $$ = make_redirection (source, r_close_this, redir, 0);
+                       }
+       |       REDIR_WORD GREATER_AND '-'
+                       {
+                         source.filename = $1;
+                         redir.dest = 0;
+                         $$ = make_redirection (source, r_close_this, redir, REDIR_VARASSIGN);
+                       }
+       |       LESS_AND '-'
+                       {
+                         source.dest = 0;
+                         redir.dest = 0;
+                         $$ = make_redirection (source, r_close_this, redir, 0);
+                       }
+       |       NUMBER LESS_AND '-'
+                       {
+                         source.dest = $1;
+                         redir.dest = 0;
+                         $$ = make_redirection (source, r_close_this, redir, 0);
+                       }
+       |       REDIR_WORD LESS_AND '-'
+                       {
+                         source.filename = $1;
+                         redir.dest = 0;
+                         $$ = make_redirection (source, r_close_this, redir, REDIR_VARASSIGN);
+                       }
+       |       AND_GREATER WORD
+                       {
+                         source.dest = 1;
+                         redir.filename = $2;
+                         $$ = make_redirection (source, r_err_and_out, redir, 0);
+                       }
+       |       AND_GREATER_GREATER WORD
+                       {
+                         source.dest = 1;
+                         redir.filename = $2;
+                         $$ = make_redirection (source, r_append_err_and_out, redir, 0);
+                       }
+       ;
+
+simple_command_element: WORD
+                       { $$.word = $1; $$.redirect = 0; }
+       |       ASSIGNMENT_WORD
+                       { $$.word = $1; $$.redirect = 0; }
+       |       redirection
+                       { $$.redirect = $1; $$.word = 0; }
+       ;
+
+redirection_list: redirection
+                       {
+                         $$ = $1;
+                       }
+       |       redirection_list redirection
+                       {
+                         register REDIRECT *t;
+
+                         for (t = $1; t->next; t = t->next)
+                           ;
+                         t->next = $2;
+                         $$ = $1;
+                       }
+       ;
+
+simple_command:        simple_command_element
+                       { $$ = make_simple_command ($1, (COMMAND *)NULL); }
+       |       simple_command simple_command_element
+                       { $$ = make_simple_command ($2, $1); }
+       ;
+
+command:       simple_command
+                       { $$ = clean_simple_command ($1); }
+       |       shell_command
+                       { $$ = $1; }
+       |       shell_command redirection_list
+                       {
+                         COMMAND *tc;
+
+                         tc = $1;
+                         if (tc->redirects)
+                           {
+                             register REDIRECT *t;
+                             for (t = tc->redirects; t->next; t = t->next)
+                               ;
+                             t->next = $2;
+                           }
+                         else
+                           tc->redirects = $2;
+                         $$ = $1;
+                       }
+       |       function_def
+                       { $$ = $1; }
+       |       coproc
+                       { $$ = $1; }
+       ;
+
+shell_command: for_command
+                       { $$ = $1; }
+       |       case_command
+                       { $$ = $1; }
+       |       WHILE compound_list DO compound_list DONE
+                       { $$ = make_while_command ($2, $4); }
+       |       UNTIL compound_list DO compound_list DONE
+                       { $$ = make_until_command ($2, $4); }
+       |       select_command
+                       { $$ = $1; }
+       |       if_command
+                       { $$ = $1; }
+       |       subshell
+                       { $$ = $1; }
+       |       group_command
+                       { $$ = $1; }
+       |       arith_command
+                       { $$ = $1; }
+       |       cond_command
+                       { $$ = $1; }
+       |       arith_for_command
+                       { $$ = $1; }
+       ;
+
+for_command:   FOR WORD newline_list DO compound_list DONE
+                       {
+                         $$ = make_for_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $5, word_lineno[word_top]);
+                         if (word_top > 0) word_top--;
+                       }
+       |       FOR WORD newline_list '{' compound_list '}'
+                       {
+                         $$ = make_for_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $5, word_lineno[word_top]);
+                         if (word_top > 0) word_top--;
+                       }
+       |       FOR WORD ';' newline_list DO compound_list DONE
+                       {
+                         $$ = make_for_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $6, word_lineno[word_top]);
+                         if (word_top > 0) word_top--;
+                       }
+       |       FOR WORD ';' newline_list '{' compound_list '}'
+                       {
+                         $$ = make_for_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $6, word_lineno[word_top]);
+                         if (word_top > 0) word_top--;
+                       }
+       |       FOR WORD newline_list IN word_list list_terminator newline_list DO compound_list DONE
+                       {
+                         $$ = make_for_command ($2, REVERSE_LIST ($5, WORD_LIST *), $9, word_lineno[word_top]);
+                         if (word_top > 0) word_top--;
+                       }
+       |       FOR WORD newline_list IN word_list list_terminator newline_list '{' compound_list '}'
+                       {
+                         $$ = make_for_command ($2, REVERSE_LIST ($5, WORD_LIST *), $9, word_lineno[word_top]);
+                         if (word_top > 0) word_top--;
+                       }
+       |       FOR WORD newline_list IN list_terminator newline_list DO compound_list DONE
+                       {
+                         $$ = make_for_command ($2, (WORD_LIST *)NULL, $8, word_lineno[word_top]);
+                         if (word_top > 0) word_top--;
+                       }
+       |       FOR WORD newline_list IN list_terminator newline_list '{' compound_list '}'
+                       {
+                         $$ = make_for_command ($2, (WORD_LIST *)NULL, $8, word_lineno[word_top]);
+                         if (word_top > 0) word_top--;
+                       }
+       ;
+
+arith_for_command:     FOR ARITH_FOR_EXPRS list_terminator newline_list DO compound_list DONE
+                               {
+                                 $$ = make_arith_for_command ($2, $6, arith_for_lineno);
+                                 if (word_top > 0) word_top--;
+                               }
+       |               FOR ARITH_FOR_EXPRS list_terminator newline_list '{' compound_list '}'
+                               {
+                                 $$ = make_arith_for_command ($2, $6, arith_for_lineno);
+                                 if (word_top > 0) word_top--;
+                               }
+       |               FOR ARITH_FOR_EXPRS DO compound_list DONE
+                               {
+                                 $$ = make_arith_for_command ($2, $4, arith_for_lineno);
+                                 if (word_top > 0) word_top--;
+                               }
+       |               FOR ARITH_FOR_EXPRS '{' compound_list '}'
+                               {
+                                 $$ = make_arith_for_command ($2, $4, arith_for_lineno);
+                                 if (word_top > 0) word_top--;
+                               }
+       ;
+
+select_command:        SELECT WORD newline_list DO list DONE
+                       {
+                         $$ = make_select_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $5, word_lineno[word_top]);
+                         if (word_top > 0) word_top--;
+                       }
+       |       SELECT WORD newline_list '{' list '}'
+                       {
+                         $$ = make_select_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $5, word_lineno[word_top]);
+                         if (word_top > 0) word_top--;
+                       }
+       |       SELECT WORD ';' newline_list DO list DONE
+                       {
+                         $$ = make_select_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $6, word_lineno[word_top]);
+                         if (word_top > 0) word_top--;
+                       }
+       |       SELECT WORD ';' newline_list '{' list '}'
+                       {
+                         $$ = make_select_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $6, word_lineno[word_top]);
+                         if (word_top > 0) word_top--;
+                       }
+       |       SELECT WORD newline_list IN word_list list_terminator newline_list DO list DONE
+                       {
+                         $$ = make_select_command ($2, REVERSE_LIST ($5, WORD_LIST *), $9, word_lineno[word_top]);
+                         if (word_top > 0) word_top--;
+                       }
+       |       SELECT WORD newline_list IN word_list list_terminator newline_list '{' list '}'
+                       {
+                         $$ = make_select_command ($2, REVERSE_LIST ($5, WORD_LIST *), $9, word_lineno[word_top]);
+                         if (word_top > 0) word_top--;
+                       }
+       ;
+
+case_command:  CASE WORD newline_list IN newline_list ESAC
+                       {
+                         $$ = make_case_command ($2, (PATTERN_LIST *)NULL, word_lineno[word_top]);
+                         if (word_top > 0) word_top--;
+                       }
+       |       CASE WORD newline_list IN case_clause_sequence newline_list ESAC
+                       {
+                         $$ = make_case_command ($2, $5, word_lineno[word_top]);
+                         if (word_top > 0) word_top--;
+                       }
+       |       CASE WORD newline_list IN case_clause ESAC
+                       {
+                         $$ = make_case_command ($2, $5, word_lineno[word_top]);
+                         if (word_top > 0) word_top--;
+                       }
+       ;
+
+function_def:  WORD '(' ')' newline_list function_body
+                       { $$ = make_function_def ($1, $5, function_dstart, function_bstart); }
+
+       |       FUNCTION WORD '(' ')' newline_list function_body
+                       { $$ = make_function_def ($2, $6, function_dstart, function_bstart); }
+
+       |       FUNCTION WORD newline_list function_body
+                       { $$ = make_function_def ($2, $4, function_dstart, function_bstart); }
+       ;
+
+function_body: shell_command
+                       { $$ = $1; }
+       |       shell_command redirection_list
+                       {
+                         COMMAND *tc;
+
+                         tc = $1;
+                         /* According to Posix.2 3.9.5, redirections
+                            specified after the body of a function should
+                            be attached to the function and performed when
+                            the function is executed, not as part of the
+                            function definition command. */
+                         /* XXX - I don't think it matters, but we might
+                            want to change this in the future to avoid
+                            problems differentiating between a function
+                            definition with a redirection and a function
+                            definition containing a single command with a
+                            redirection.  The two are semantically equivalent,
+                            though -- the only difference is in how the
+                            command printing code displays the redirections. */
+                         if (tc->redirects)
+                           {
+                             register REDIRECT *t;
+                             for (t = tc->redirects; t->next; t = t->next)
+                               ;
+                             t->next = $2;
+                           }
+                         else
+                           tc->redirects = $2;
+                         $$ = $1;
+                       }
+       ;
+
+subshell:      '(' compound_list ')'
+                       {
+                         $$ = make_subshell_command ($2);
+                         $$->flags |= CMD_WANT_SUBSHELL;
+                       }
+       ;
+
+coproc:                COPROC shell_command
+                       {
+                         $$ = make_coproc_command ("COPROC", $2);
+                         $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+                       }
+       |       COPROC shell_command redirection_list
+                       {
+                         COMMAND *tc;
+
+                         tc = $2;
+                         if (tc->redirects)
+                           {
+                             register REDIRECT *t;
+                             for (t = tc->redirects; t->next; t = t->next)
+                               ;
+                             t->next = $3;
+                           }
+                         else
+                           tc->redirects = $3;
+                         $$ = make_coproc_command ("COPROC", $2);
+                         $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+                       }
+       |       COPROC WORD shell_command
+                       {
+                         $$ = make_coproc_command ($2->word, $3);
+                         $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+                       }
+       |       COPROC WORD shell_command redirection_list
+                       {
+                         COMMAND *tc;
+
+                         tc = $3;
+                         if (tc->redirects)
+                           {
+                             register REDIRECT *t;
+                             for (t = tc->redirects; t->next; t = t->next)
+                               ;
+                             t->next = $4;
+                           }
+                         else
+                           tc->redirects = $4;
+                         $$ = make_coproc_command ($2->word, $3);
+                         $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+                       }
+       |       COPROC simple_command
+                       {
+                         $$ = make_coproc_command ("COPROC", clean_simple_command ($2));
+                         $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+                       }
+       ;
+
+if_command:    IF compound_list THEN compound_list FI
+                       { $$ = make_if_command ($2, $4, (COMMAND *)NULL); }
+       |       IF compound_list THEN compound_list ELSE compound_list FI
+                       { $$ = make_if_command ($2, $4, $6); }
+       |       IF compound_list THEN compound_list elif_clause FI
+                       { $$ = make_if_command ($2, $4, $5); }
+       ;
+
+
+group_command: '{' compound_list '}'
+                       { $$ = make_group_command ($2); }
+       ;
+
+arith_command: ARITH_CMD
+                       { $$ = make_arith_command ($1); }
+       ;
+
+cond_command:  COND_START COND_CMD COND_END
+                       { $$ = $2; }
+       ; 
+
+elif_clause:   ELIF compound_list THEN compound_list
+                       { $$ = make_if_command ($2, $4, (COMMAND *)NULL); }
+       |       ELIF compound_list THEN compound_list ELSE compound_list
+                       { $$ = make_if_command ($2, $4, $6); }
+       |       ELIF compound_list THEN compound_list elif_clause
+                       { $$ = make_if_command ($2, $4, $5); }
+       ;
+
+case_clause:   pattern_list
+       |       case_clause_sequence pattern_list
+                       { $2->next = $1; $$ = $2; }
+       ;
+
+pattern_list:  newline_list pattern ')' compound_list
+                       { $$ = make_pattern_list ($2, $4); }
+       |       newline_list pattern ')' newline_list
+                       { $$ = make_pattern_list ($2, (COMMAND *)NULL); }
+       |       newline_list '(' pattern ')' compound_list
+                       { $$ = make_pattern_list ($3, $5); }
+       |       newline_list '(' pattern ')' newline_list
+                       { $$ = make_pattern_list ($3, (COMMAND *)NULL); }
+       ;
+
+case_clause_sequence:  pattern_list SEMI_SEMI
+                       { $$ = $1; }
+       |       case_clause_sequence pattern_list SEMI_SEMI
+                       { $2->next = $1; $$ = $2; }
+       |       pattern_list SEMI_AND
+                       { $1->flags |= CASEPAT_FALLTHROUGH; $$ = $1; }
+       |       case_clause_sequence pattern_list SEMI_AND
+                       { $2->flags |= CASEPAT_FALLTHROUGH; $2->next = $1; $$ = $2; }
+       |       pattern_list SEMI_SEMI_AND
+                       { $1->flags |= CASEPAT_TESTNEXT; $$ = $1; }
+       |       case_clause_sequence pattern_list SEMI_SEMI_AND
+                       { $2->flags |= CASEPAT_TESTNEXT; $2->next = $1; $$ = $2; }      
+       ;
+
+pattern:       WORD
+                       { $$ = make_word_list ($1, (WORD_LIST *)NULL); }
+       |       pattern '|' WORD
+                       { $$ = make_word_list ($3, $1); }
+       ;
+
+/* A list allows leading or trailing newlines and
+   newlines as operators (equivalent to semicolons).
+   It must end with a newline or semicolon.
+   Lists are used within commands such as if, for, while.  */
+
+list:          newline_list list0
+                       {
+                         $$ = $2;
+                         if (need_here_doc)
+                           gather_here_documents ();
+                        }
+       ;
+
+compound_list: list
+       |       newline_list list1
+                       {
+                         $$ = $2;
+                       }
+       ;
+
+list0:         list1 '\n' newline_list
+       |       list1 '&' newline_list
+                       {
+                         if ($1->type == cm_connection)
+                           $$ = connect_async_list ($1, (COMMAND *)NULL, '&');
+                         else
+                           $$ = command_connect ($1, (COMMAND *)NULL, '&');
+                       }
+       |       list1 ';' newline_list
+
+       ;
+
+list1:         list1 AND_AND newline_list list1
+                       { $$ = command_connect ($1, $4, AND_AND); }
+       |       list1 OR_OR newline_list list1
+                       { $$ = command_connect ($1, $4, OR_OR); }
+       |       list1 '&' newline_list list1
+                       {
+                         if ($1->type == cm_connection)
+                           $$ = connect_async_list ($1, $4, '&');
+                         else
+                           $$ = command_connect ($1, $4, '&');
+                       }
+       |       list1 ';' newline_list list1
+                       { $$ = command_connect ($1, $4, ';'); }
+       |       list1 '\n' newline_list list1
+                       { $$ = command_connect ($1, $4, ';'); }
+       |       pipeline_command
+                       { $$ = $1; }
+       ;
+
+simple_list_terminator:        '\n'
+       |       yacc_EOF
+       ;
+
+list_terminator:'\n'
+               { $$ = '\n'; }
+       |       ';'
+               { $$ = ';'; }
+       |       yacc_EOF
+               { $$ = yacc_EOF; }
+       ;
+
+newline_list:
+       |       newline_list '\n'
+       ;
+
+/* A simple_list is a list that contains no significant newlines
+   and no leading or trailing newlines.  Newlines are allowed
+   only following operators, where they are not significant.
+
+   This is what an inputunit consists of.  */
+
+simple_list:   simple_list1
+                       {
+                         $$ = $1;
+                         if (need_here_doc)
+                           gather_here_documents ();
+                         if ((parser_state & PST_CMDSUBST) && current_token == shell_eof_token)
+                           {
+                             global_command = $1;
+                             eof_encountered = 0;
+                             rewind_input_string ();
+                             YYACCEPT;
+                           }
+                       }
+       |       simple_list1 '&'
+                       {
+                         if ($1->type == cm_connection)
+                           $$ = connect_async_list ($1, (COMMAND *)NULL, '&');
+                         else
+                           $$ = command_connect ($1, (COMMAND *)NULL, '&');
+                         if (need_here_doc)
+                           gather_here_documents ();
+                         if ((parser_state & PST_CMDSUBST) && current_token == shell_eof_token)
+                           {
+                             global_command = $1;
+                             eof_encountered = 0;
+                             rewind_input_string ();
+                             YYACCEPT;
+                           }
+                       }
+       |       simple_list1 ';'
+                       {
+                         $$ = $1;
+                         if (need_here_doc)
+                           gather_here_documents ();
+                         if ((parser_state & PST_CMDSUBST) && current_token == shell_eof_token)
+                           {
+                             global_command = $1;
+                             eof_encountered = 0;
+                             rewind_input_string ();
+                             YYACCEPT;
+                           }
+                       }
+       ;
+
+simple_list1:  simple_list1 AND_AND newline_list simple_list1
+                       { $$ = command_connect ($1, $4, AND_AND); }
+       |       simple_list1 OR_OR newline_list simple_list1
+                       { $$ = command_connect ($1, $4, OR_OR); }
+       |       simple_list1 '&' simple_list1
+                       {
+                         if ($1->type == cm_connection)
+                           $$ = connect_async_list ($1, $3, '&');
+                         else
+                           $$ = command_connect ($1, $3, '&');
+                       }
+       |       simple_list1 ';' simple_list1
+                       { $$ = command_connect ($1, $3, ';'); }
+
+       |       pipeline_command
+                       { $$ = $1; }
+       ;
+
+pipeline_command: pipeline
+                       { $$ = $1; }                    
+       |       BANG pipeline_command
+                       {
+                         if ($2)
+                           $2->flags ^= CMD_INVERT_RETURN;     /* toggle */
+                         $$ = $2;
+                       }
+       |       timespec pipeline_command
+                       {
+                         if ($2)
+                           $2->flags |= $1;
+                         $$ = $2;
+                       }
+       |       timespec list_terminator
+                       {
+                         ELEMENT x;
+
+                         /* Boy, this is unclean.  `time' by itself can
+                            time a null command.  We cheat and push a
+                            newline back if the list_terminator was a newline
+                            to avoid the double-newline problem (one to
+                            terminate this, one to terminate the command) */
+                         x.word = 0;
+                         x.redirect = 0;
+                         $$ = make_simple_command (x, (COMMAND *)NULL);
+                         $$->flags |= $1;
+                         /* XXX - let's cheat and push a newline back */
+                         if ($2 == '\n')
+                           token_to_read = '\n';
+                       }
+       |       BANG list_terminator
+                       {
+                         ELEMENT x;
+
+                         /* This is just as unclean.  Posix says that `!'
+                            by itself should be equivalent to `false'.
+                            We cheat and push a
+                            newline back if the list_terminator was a newline
+                            to avoid the double-newline problem (one to
+                            terminate this, one to terminate the command) */
+                         x.word = 0;
+                         x.redirect = 0;
+                         $$ = make_simple_command (x, (COMMAND *)NULL);
+                         $$->flags |= CMD_INVERT_RETURN;
+                         /* XXX - let's cheat and push a newline back */
+                         if ($2 == '\n')
+                           token_to_read = '\n';
+                       }
+       ;
+
+pipeline:      pipeline '|' newline_list pipeline
+                       { $$ = command_connect ($1, $4, '|'); }
+       |       pipeline BAR_AND newline_list pipeline
+                       {
+                         /* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */
+                         COMMAND *tc;
+                         REDIRECTEE rd, sd;
+                         REDIRECT *r;
+
+                         tc = $1->type == cm_simple ? (COMMAND *)$1->value.Simple : $1;
+                         sd.dest = 2;
+                         rd.dest = 1;
+                         r = make_redirection (sd, r_duplicating_output, rd, 0);
+                         if (tc->redirects)
+                           {
+                             register REDIRECT *t;
+                             for (t = tc->redirects; t->next; t = t->next)
+                               ;
+                             t->next = r;
+                           }
+                         else
+                           tc->redirects = r;
+
+                         $$ = command_connect ($1, $4, '|');
+                       }
+       |       command
+                       { $$ = $1; }
+       ;
+
+timespec:      TIME
+                       { $$ = CMD_TIME_PIPELINE; }
+       |       TIME TIMEOPT
+                       { $$ = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+       |       TIME TIMEOPT TIMEIGN
+                       { $$ = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+       ;
+%%
+
+/* Initial size to allocate for tokens, and the
+   amount to grow them by. */
+#define TOKEN_DEFAULT_INITIAL_SIZE 496
+#define TOKEN_DEFAULT_GROW_SIZE 512
+
+/* Should we call prompt_again? */
+#define SHOULD_PROMPT() \
+  (interactive && (bash_input.type == st_stdin || bash_input.type == st_stream))
+
+#if defined (ALIAS)
+#  define expanding_alias() (pushed_string_list && pushed_string_list->expander)
+#else
+#  define expanding_alias() 0
+#endif
+
+/* Global var is non-zero when end of file has been reached. */
+int EOF_Reached = 0;
+
+#ifdef DEBUG
+static void
+debug_parser (i)
+     int i;
+{
+#if YYDEBUG != 0
+  yydebug = i;
+#endif
+}
+#endif
+
+/* yy_getc () returns the next available character from input or EOF.
+   yy_ungetc (c) makes `c' the next character to read.
+   init_yy_io (get, unget, type, location) makes the function GET the
+   installed function for getting the next character, makes UNGET the
+   installed function for un-getting a character, sets the type of stream
+   (either string or file) from TYPE, and makes LOCATION point to where
+   the input is coming from. */
+
+/* Unconditionally returns end-of-file. */
+int
+return_EOF ()
+{
+  return (EOF);
+}
+
+/* Variable containing the current get and unget functions.
+   See ./input.h for a clearer description. */
+BASH_INPUT bash_input;
+
+/* Set all of the fields in BASH_INPUT to NULL.  Free bash_input.name if it
+   is non-null, avoiding a memory leak. */
+void
+initialize_bash_input ()
+{
+  bash_input.type = st_none;
+  FREE (bash_input.name);
+  bash_input.name = (char *)NULL;
+  bash_input.location.file = (FILE *)NULL;
+  bash_input.location.string = (char *)NULL;
+  bash_input.getter = (sh_cget_func_t *)NULL;
+  bash_input.ungetter = (sh_cunget_func_t *)NULL;
+}
+
+/* Set the contents of the current bash input stream from
+   GET, UNGET, TYPE, NAME, and LOCATION. */
+void
+init_yy_io (get, unget, type, name, location)
+     sh_cget_func_t *get;
+     sh_cunget_func_t *unget;
+     enum stream_type type;
+     const char *name;
+     INPUT_STREAM location;
+{
+  bash_input.type = type;
+  FREE (bash_input.name);
+  bash_input.name = name ? savestring (name) : (char *)NULL;
+
+  /* XXX */
+#if defined (CRAY)
+  memcpy((char *)&bash_input.location.string, (char *)&location.string, sizeof(location));
+#else
+  bash_input.location = location;
+#endif
+  bash_input.getter = get;
+  bash_input.ungetter = unget;
+}
+
+char *
+yy_input_name ()
+{
+  return (bash_input.name ? bash_input.name : "stdin");
+}
+
+/* Call this to get the next character of input. */
+static int
+yy_getc ()
+{
+  return (*(bash_input.getter)) ();
+}
+
+/* Call this to unget C.  That is, to make C the next character
+   to be read. */
+static int
+yy_ungetc (c)
+     int c;
+{
+  return (*(bash_input.ungetter)) (c);
+}
+
+#if defined (BUFFERED_INPUT)
+#ifdef INCLUDE_UNUSED
+int
+input_file_descriptor ()
+{
+  switch (bash_input.type)
+    {
+    case st_stream:
+      return (fileno (bash_input.location.file));
+    case st_bstream:
+      return (bash_input.location.buffered_fd);
+    case st_stdin:
+    default:
+      return (fileno (stdin));
+    }
+}
+#endif
+#endif /* BUFFERED_INPUT */
+
+/* **************************************************************** */
+/*                                                                 */
+/*               Let input be read from readline ().               */
+/*                                                                 */
+/* **************************************************************** */
+
+#if defined (READLINE)
+char *current_readline_prompt = (char *)NULL;
+char *current_readline_line = (char *)NULL;
+int current_readline_line_index = 0;
+
+static int
+yy_readline_get ()
+{
+  SigHandler *old_sigint;
+  int line_len;
+  unsigned char c;
+
+  if (!current_readline_line)
+    {
+      if (!bash_readline_initialized)
+       initialize_readline ();
+
+#if defined (JOB_CONTROL)
+      if (job_control)
+       give_terminal_to (shell_pgrp, 0);
+#endif /* JOB_CONTROL */
+
+      old_sigint = (SigHandler *)IMPOSSIBLE_TRAP_HANDLER;
+      if (signal_is_ignored (SIGINT) == 0)
+       {
+         interrupt_immediately++;
+         old_sigint = (SigHandler *)set_signal_handler (SIGINT, sigint_sighandler);
+       }
+
+      current_readline_line = readline (current_readline_prompt ?
+                                         current_readline_prompt : "");
+
+      CHECK_TERMSIG;
+      if (signal_is_ignored (SIGINT) == 0)
+       {
+         interrupt_immediately--;
+         if (old_sigint != IMPOSSIBLE_TRAP_HANDLER)
+           set_signal_handler (SIGINT, old_sigint);
+       }
+
+#if 0
+      /* Reset the prompt to the decoded value of prompt_string_pointer. */
+      reset_readline_prompt ();
+#endif
+
+      if (current_readline_line == 0)
+       return (EOF);
+
+      current_readline_line_index = 0;
+      line_len = strlen (current_readline_line);
+
+      current_readline_line = (char *)xrealloc (current_readline_line, 2 + line_len);
+      current_readline_line[line_len++] = '\n';
+      current_readline_line[line_len] = '\0';
+    }
+
+  if (current_readline_line[current_readline_line_index] == 0)
+    {
+      free (current_readline_line);
+      current_readline_line = (char *)NULL;
+      return (yy_readline_get ());
+    }
+  else
+    {
+      c = current_readline_line[current_readline_line_index++];
+      return (c);
+    }
+}
+
+static int
+yy_readline_unget (c)
+     int c;
+{
+  if (current_readline_line_index && current_readline_line)
+    current_readline_line[--current_readline_line_index] = c;
+  return (c);
+}
+
+void
+with_input_from_stdin ()
+{
+  INPUT_STREAM location;
+
+  if (bash_input.type != st_stdin && stream_on_stack (st_stdin) == 0)
+    {
+      location.string = current_readline_line;
+      init_yy_io (yy_readline_get, yy_readline_unget,
+                 st_stdin, "readline stdin", location);
+    }
+}
+
+#else  /* !READLINE */
+
+void
+with_input_from_stdin ()
+{
+  with_input_from_stream (stdin, "stdin");
+}
+#endif /* !READLINE */
+
+/* **************************************************************** */
+/*                                                                 */
+/*   Let input come from STRING.  STRING is zero terminated.       */
+/*                                                                 */
+/* **************************************************************** */
+
+static int
+yy_string_get ()
+{
+  register char *string;
+  register unsigned char c;
+
+  string = bash_input.location.string;
+
+  /* If the string doesn't exist, or is empty, EOF found. */
+  if (string && *string)
+    {
+      c = *string++;
+      bash_input.location.string = string;
+      return (c);
+    }
+  else
+    return (EOF);
+}
+
+static int
+yy_string_unget (c)
+     int c;
+{
+  *(--bash_input.location.string) = c;
+  return (c);
+}
+
+void
+with_input_from_string (string, name)
+     char *string;
+     const char *name;
+{
+  INPUT_STREAM location;
+
+  location.string = string;
+  init_yy_io (yy_string_get, yy_string_unget, st_string, name, location);
+}
+
+/* Count the number of characters we've consumed from bash_input.location.string
+   and read into shell_input_line, but have not returned from shell_getc.
+   That is the true input location.  Rewind bash_input.location.string by
+   that number of characters, so it points to the last character actually
+   consumed by the parser. */
+static void
+rewind_input_string ()
+{
+  int xchars;
+
+  /* number of unconsumed characters in the input -- XXX need to take newlines
+     into account, e.g., $(...\n) */
+  xchars = shell_input_line_len - shell_input_line_index;
+  if (bash_input.location.string[-1] == '\n')
+    xchars++;
+
+  /* XXX - how to reflect bash_input.location.string back to string passed to
+     parse_and_execute or xparse_dolparen?  xparse_dolparen needs to know how
+     far into the string we parsed.  parse_and_execute knows where bash_input.
+     location.string is, and how far from orig_string that is -- that's the
+     number of characters the command consumed. */
+
+  /* bash_input.location.string - xchars should be where we parsed to */
+  /* need to do more validation on xchars value for sanity -- test cases. */
+  bash_input.location.string -= xchars;
+}
+
+/* **************************************************************** */
+/*                                                                 */
+/*                  Let input come from STREAM.                    */
+/*                                                                 */
+/* **************************************************************** */
+
+/* These two functions used to test the value of the HAVE_RESTARTABLE_SYSCALLS
+   define, and just use getc/ungetc if it was defined, but since bash
+   installs its signal handlers without the SA_RESTART flag, some signals
+   (like SIGCHLD, SIGWINCH, etc.) received during a read(2) will not cause
+   the read to be restarted.  We need to restart it ourselves. */
+
+static int
+yy_stream_get ()
+{
+  int result;
+
+  result = EOF;
+  if (bash_input.location.file)
+    {
+      if (interactive)
+       interrupt_immediately++;
+
+      /* XXX - don't need terminate_immediately; getc_with_restart checks
+        for terminating signals itself if read returns < 0 */
+      result = getc_with_restart (bash_input.location.file);
+
+      if (interactive)
+       interrupt_immediately--;
+
+    }
+  return (result);
+}
+
+static int
+yy_stream_unget (c)
+     int c;
+{
+  return (ungetc_with_restart (c, bash_input.location.file));
+}
+
+void
+with_input_from_stream (stream, name)
+     FILE *stream;
+     const char *name;
+{
+  INPUT_STREAM location;
+
+  location.file = stream;
+  init_yy_io (yy_stream_get, yy_stream_unget, st_stream, name, location);
+}
+
+typedef struct stream_saver {
+  struct stream_saver *next;
+  BASH_INPUT bash_input;
+  int line;
+#if defined (BUFFERED_INPUT)
+  BUFFERED_STREAM *bstream;
+#endif /* BUFFERED_INPUT */
+} STREAM_SAVER;
+
+/* The globally known line number. */
+int line_number = 0;
+
+/* The line number offset set by assigning to LINENO.  Not currently used. */
+int line_number_base = 0;
+
+#if defined (COND_COMMAND)
+static int cond_lineno;
+static int cond_token;
+#endif
+
+STREAM_SAVER *stream_list = (STREAM_SAVER *)NULL;
+
+void
+push_stream (reset_lineno)
+     int reset_lineno;
+{
+  STREAM_SAVER *saver = (STREAM_SAVER *)xmalloc (sizeof (STREAM_SAVER));
+
+  xbcopy ((char *)&bash_input, (char *)&(saver->bash_input), sizeof (BASH_INPUT));
+
+#if defined (BUFFERED_INPUT)
+  saver->bstream = (BUFFERED_STREAM *)NULL;
+  /* If we have a buffered stream, clear out buffers[fd]. */
+  if (bash_input.type == st_bstream && bash_input.location.buffered_fd >= 0)
+    saver->bstream = set_buffered_stream (bash_input.location.buffered_fd,
+                                         (BUFFERED_STREAM *)NULL);
+#endif /* BUFFERED_INPUT */
+
+  saver->line = line_number;
+  bash_input.name = (char *)NULL;
+  saver->next = stream_list;
+  stream_list = saver;
+  EOF_Reached = 0;
+  if (reset_lineno)
+    line_number = 0;
+}
+
+void
+pop_stream ()
+{
+  if (!stream_list)
+    EOF_Reached = 1;
+  else
+    {
+      STREAM_SAVER *saver = stream_list;
+
+      EOF_Reached = 0;
+      stream_list = stream_list->next;
+
+      init_yy_io (saver->bash_input.getter,
+                 saver->bash_input.ungetter,
+                 saver->bash_input.type,
+                 saver->bash_input.name,
+                 saver->bash_input.location);
+
+#if defined (BUFFERED_INPUT)
+      /* If we have a buffered stream, restore buffers[fd]. */
+      /* If the input file descriptor was changed while this was on the
+        save stack, update the buffered fd to the new file descriptor and
+        re-establish the buffer <-> bash_input fd correspondence. */
+      if (bash_input.type == st_bstream && bash_input.location.buffered_fd >= 0)
+       {
+         if (bash_input_fd_changed)
+           {
+             bash_input_fd_changed = 0;
+             if (default_buffered_input >= 0)
+               {
+                 bash_input.location.buffered_fd = default_buffered_input;
+                 saver->bstream->b_fd = default_buffered_input;
+                 SET_CLOSE_ON_EXEC (default_buffered_input);
+               }
+           }
+         /* XXX could free buffered stream returned as result here. */
+         set_buffered_stream (bash_input.location.buffered_fd, saver->bstream);
+       }
+#endif /* BUFFERED_INPUT */
+
+      line_number = saver->line;
+
+      FREE (saver->bash_input.name);
+      free (saver);
+    }
+}
+
+/* Return 1 if a stream of type TYPE is saved on the stack. */
+int
+stream_on_stack (type)
+     enum stream_type type;
+{
+  register STREAM_SAVER *s;
+
+  for (s = stream_list; s; s = s->next)
+    if (s->bash_input.type == type)
+      return 1;
+  return 0;
+}
+
+/* Save the current token state and return it in a malloced array. */
+int *
+save_token_state ()
+{
+  int *ret;
+
+  ret = (int *)xmalloc (4 * sizeof (int));
+  ret[0] = last_read_token;
+  ret[1] = token_before_that;
+  ret[2] = two_tokens_ago;
+  ret[3] = current_token;
+  return ret;
+}
+
+void
+restore_token_state (ts)
+     int *ts;
+{
+  if (ts == 0)
+    return;
+  last_read_token = ts[0];
+  token_before_that = ts[1];
+  two_tokens_ago = ts[2];
+  current_token = ts[3];
+}
+
+/*
+ * This is used to inhibit alias expansion and reserved word recognition
+ * inside case statement pattern lists.  A `case statement pattern list' is:
+ *
+ *     everything between the `in' in a `case word in' and the next ')'
+ *     or `esac'
+ *     everything between a `;;' and the next `)' or `esac'
+ */
+
+#if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
+
+#define END_OF_ALIAS 0
+
+/*
+ * Pseudo-global variables used in implementing token-wise alias expansion.
+ */
+
+/*
+ * Pushing and popping strings.  This works together with shell_getc to
+ * implement alias expansion on a per-token basis.
+ */
+
+typedef struct string_saver {
+  struct string_saver *next;
+  int expand_alias;  /* Value to set expand_alias to when string is popped. */
+  char *saved_line;
+#if defined (ALIAS)
+  alias_t *expander;   /* alias that caused this line to be pushed. */
+#endif
+  int saved_line_size, saved_line_index, saved_line_terminator;
+} STRING_SAVER;
+
+STRING_SAVER *pushed_string_list = (STRING_SAVER *)NULL;
+
+/*
+ * Push the current shell_input_line onto a stack of such lines and make S
+ * the current input.  Used when expanding aliases.  EXPAND is used to set
+ * the value of expand_next_token when the string is popped, so that the
+ * word after the alias in the original line is handled correctly when the
+ * alias expands to multiple words.  TOKEN is the token that was expanded
+ * into S; it is saved and used to prevent infinite recursive expansion.
+ */
+static void
+push_string (s, expand, ap)
+     char *s;
+     int expand;
+     alias_t *ap;
+{
+  STRING_SAVER *temp = (STRING_SAVER *)xmalloc (sizeof (STRING_SAVER));
+
+  temp->expand_alias = expand;
+  temp->saved_line = shell_input_line;
+  temp->saved_line_size = shell_input_line_size;
+  temp->saved_line_index = shell_input_line_index;
+  temp->saved_line_terminator = shell_input_line_terminator;
+#if defined (ALIAS)
+  temp->expander = ap;
+#endif
+  temp->next = pushed_string_list;
+  pushed_string_list = temp;
+
+#if defined (ALIAS)
+  if (ap)
+    ap->flags |= AL_BEINGEXPANDED;
+#endif
+
+  shell_input_line = s;
+  shell_input_line_size = strlen (s);
+  shell_input_line_index = 0;
+  shell_input_line_terminator = '\0';
+#if 0
+  parser_state &= ~PST_ALEXPNEXT;      /* XXX */
+#endif
+
+  set_line_mbstate ();
+}
+
+/*
+ * Make the top of the pushed_string stack be the current shell input.
+ * Only called when there is something on the stack.  Called from shell_getc
+ * when it thinks it has consumed the string generated by an alias expansion
+ * and needs to return to the original input line.
+ */
+static void
+pop_string ()
+{
+  STRING_SAVER *t;
+
+  FREE (shell_input_line);
+  shell_input_line = pushed_string_list->saved_line;
+  shell_input_line_index = pushed_string_list->saved_line_index;
+  shell_input_line_size = pushed_string_list->saved_line_size;
+  shell_input_line_terminator = pushed_string_list->saved_line_terminator;
+
+  if (pushed_string_list->expand_alias)
+    parser_state |= PST_ALEXPNEXT;
+  else
+    parser_state &= ~PST_ALEXPNEXT;
+
+  t = pushed_string_list;
+  pushed_string_list = pushed_string_list->next;
+
+#if defined (ALIAS)
+  if (t->expander)
+    t->expander->flags &= ~AL_BEINGEXPANDED;
+#endif
+
+  free ((char *)t);
+
+  set_line_mbstate ();
+}
+
+static void
+free_string_list ()
+{
+  register STRING_SAVER *t, *t1;
+
+  for (t = pushed_string_list; t; )
+    {
+      t1 = t->next;
+      FREE (t->saved_line);
+#if defined (ALIAS)
+      if (t->expander)
+       t->expander->flags &= ~AL_BEINGEXPANDED;
+#endif
+      free ((char *)t);
+      t = t1;
+    }
+  pushed_string_list = (STRING_SAVER *)NULL;
+}
+
+#endif /* ALIAS || DPAREN_ARITHMETIC */
+
+void
+free_pushed_string_input ()
+{
+#if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
+  free_string_list ();
+#endif
+}
+
+/* Return a line of text, taken from wherever yylex () reads input.
+   If there is no more input, then we return NULL.  If REMOVE_QUOTED_NEWLINE
+   is non-zero, we remove unquoted \<newline> pairs.  This is used by
+   read_secondary_line to read here documents. */
+static char *
+read_a_line (remove_quoted_newline)
+     int remove_quoted_newline;
+{
+  static char *line_buffer = (char *)NULL;
+  static int buffer_size = 0;
+  int indx, c, peekc, pass_next;
+
+#if defined (READLINE)
+  if (no_line_editing && SHOULD_PROMPT ())
+#else
+  if (SHOULD_PROMPT ())
+#endif
+    print_prompt ();
+
+  pass_next = indx = 0;
+  while (1)
+    {
+      /* Allow immediate exit if interrupted during input. */
+      QUIT;
+
+      c = yy_getc ();
+
+      /* Ignore null bytes in input. */
+      if (c == 0)
+       {
+#if 0
+         internal_warning ("read_a_line: ignored null byte in input");
+#endif
+         continue;
+       }
+
+      /* If there is no more input, then we return NULL. */
+      if (c == EOF)
+       {
+         if (interactive && bash_input.type == st_stream)
+           clearerr (stdin);
+         if (indx == 0)
+           return ((char *)NULL);
+         c = '\n';
+       }
+
+      /* `+2' in case the final character in the buffer is a newline. */
+      RESIZE_MALLOCED_BUFFER (line_buffer, indx, 2, buffer_size, 128);
+
+      /* IF REMOVE_QUOTED_NEWLINES is non-zero, we are reading a
+        here document with an unquoted delimiter.  In this case,
+        the line will be expanded as if it were in double quotes.
+        We allow a backslash to escape the next character, but we
+        need to treat the backslash specially only if a backslash
+        quoting a backslash-newline pair appears in the line. */
+      if (pass_next)
+       {
+         line_buffer[indx++] = c;
+         pass_next = 0;
+       }
+      else if (c == '\\' && remove_quoted_newline)
+       {
+         QUIT;
+         peekc = yy_getc ();
+         if (peekc == '\n')
+           {
+             line_number++;
+             continue; /* Make the unquoted \<newline> pair disappear. */
+           }
+         else
+           {
+             yy_ungetc (peekc);
+             pass_next = 1;
+             line_buffer[indx++] = c;          /* Preserve the backslash. */
+           }
+       }
+      else
+       line_buffer[indx++] = c;
+
+      if (c == '\n')
+       {
+         line_buffer[indx] = '\0';
+         return (line_buffer);
+       }
+    }
+}
+
+/* Return a line as in read_a_line (), but insure that the prompt is
+   the secondary prompt.  This is used to read the lines of a here
+   document.  REMOVE_QUOTED_NEWLINE is non-zero if we should remove
+   newlines quoted with backslashes while reading the line.  It is
+   non-zero unless the delimiter of the here document was quoted. */
+char *
+read_secondary_line (remove_quoted_newline)
+     int remove_quoted_newline;
+{
+  char *ret;
+  int n, c;
+
+  prompt_string_pointer = &ps2_prompt;
+  if (SHOULD_PROMPT())
+    prompt_again ();
+  ret = read_a_line (remove_quoted_newline);
+#if defined (HISTORY)
+  if (ret && remember_on_history && (parser_state & PST_HEREDOC))
+    {
+      /* To make adding the the here-document body right, we need to rely
+        on history_delimiting_chars() returning \n for the first line of
+        the here-document body and the null string for the second and
+        subsequent lines, so we avoid double newlines.
+        current_command_line_count == 2 for the first line of the body. */
+
+      current_command_line_count++;
+      maybe_add_history (ret);
+    }
+#endif /* HISTORY */
+  return ret;
+}
+
+/* **************************************************************** */
+/*                                                                 */
+/*                             YYLEX ()                            */
+/*                                                                 */
+/* **************************************************************** */
+
+/* Reserved words.  These are only recognized as the first word of a
+   command. */
+STRING_INT_ALIST word_token_alist[] = {
+  { "if", IF },
+  { "then", THEN },
+  { "else", ELSE },
+  { "elif", ELIF },
+  { "fi", FI },
+  { "case", CASE },
+  { "esac", ESAC },
+  { "for", FOR },
+#if defined (SELECT_COMMAND)
+  { "select", SELECT },
+#endif
+  { "while", WHILE },
+  { "until", UNTIL },
+  { "do", DO },
+  { "done", DONE },
+  { "in", IN },
+  { "function", FUNCTION },
+#if defined (COMMAND_TIMING)
+  { "time", TIME },
+#endif
+  { "{", '{' },
+  { "}", '}' },
+  { "!", BANG },
+#if defined (COND_COMMAND)
+  { "[[", COND_START },
+  { "]]", COND_END },
+#endif
+#if defined (COPROCESS_SUPPORT)
+  { "coproc", COPROC },
+#endif
+  { (char *)NULL, 0}
+};
+
+/* other tokens that can be returned by read_token() */
+STRING_INT_ALIST other_token_alist[] = {
+  /* Multiple-character tokens with special values */
+  { "--", TIMEIGN },
+  { "-p", TIMEOPT },
+  { "&&", AND_AND },
+  { "||", OR_OR },
+  { ">>", GREATER_GREATER },
+  { "<<", LESS_LESS },
+  { "<&", LESS_AND },
+  { ">&", GREATER_AND },
+  { ";;", SEMI_SEMI },
+  { ";&", SEMI_AND },
+  { ";;&", SEMI_SEMI_AND },
+  { "<<-", LESS_LESS_MINUS },
+  { "<<<", LESS_LESS_LESS },
+  { "&>", AND_GREATER },
+  { "&>>", AND_GREATER_GREATER },
+  { "<>", LESS_GREATER },
+  { ">|", GREATER_BAR },
+  { "|&", BAR_AND },
+  { "EOF", yacc_EOF },
+  /* Tokens whose value is the character itself */
+  { ">", '>' },
+  { "<", '<' },
+  { "-", '-' },
+  { "{", '{' },
+  { "}", '}' },
+  { ";", ';' },
+  { "(", '(' },
+  { ")", ')' },
+  { "|", '|' },
+  { "&", '&' },
+  { "newline", '\n' },
+  { (char *)NULL, 0}
+};
+
+/* others not listed here:
+       WORD                    look at yylval.word
+       ASSIGNMENT_WORD         look at yylval.word
+       NUMBER                  look at yylval.number
+       ARITH_CMD               look at yylval.word_list
+       ARITH_FOR_EXPRS         look at yylval.word_list
+       COND_CMD                look at yylval.command
+*/
+
+/* These are used by read_token_word, but appear up here so that shell_getc
+   can use them to decide when to add otherwise blank lines to the history. */
+
+/* The primary delimiter stack. */
+struct dstack dstack = {  (char *)NULL, 0, 0 };
+
+/* A temporary delimiter stack to be used when decoding prompt strings.
+   This is needed because command substitutions in prompt strings (e.g., PS2)
+   can screw up the parser's quoting state. */
+static struct dstack temp_dstack = { (char *)NULL, 0, 0 };
+
+/* Macro for accessing the top delimiter on the stack.  Returns the
+   delimiter or zero if none. */
+#define current_delimiter(ds) \
+  (ds.delimiter_depth ? ds.delimiters[ds.delimiter_depth - 1] : 0)
+
+#define push_delimiter(ds, character) \
+  do \
+    { \
+      if (ds.delimiter_depth + 2 > ds.delimiter_space) \
+       ds.delimiters = (char *)xrealloc \
+         (ds.delimiters, (ds.delimiter_space += 10) * sizeof (char)); \
+      ds.delimiters[ds.delimiter_depth] = character; \
+      ds.delimiter_depth++; \
+    } \
+  while (0)
+
+#define pop_delimiter(ds)      ds.delimiter_depth--
+
+/* Return the next shell input character.  This always reads characters
+   from shell_input_line; when that line is exhausted, it is time to
+   read the next line.  This is called by read_token when the shell is
+   processing normal command input. */
+
+/* This implements one-character lookahead/lookbehind across physical input
+   lines, to avoid something being lost because it's pushed back with
+   shell_ungetc when we're at the start of a line. */
+static int eol_ungetc_lookahead = 0;
+
+static int
+shell_getc (remove_quoted_newline)
+     int remove_quoted_newline;
+{
+  register int i;
+  int c;
+  unsigned char uc;
+
+  QUIT;
+
+  if (sigwinch_received)
+    {
+      sigwinch_received = 0;
+      get_new_window_size (0, (int *)0, (int *)0);
+    }
+      
+  if (eol_ungetc_lookahead)
+    {
+      c = eol_ungetc_lookahead;
+      eol_ungetc_lookahead = 0;
+      return (c);
+    }
+
+#if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
+  /* If shell_input_line[shell_input_line_index] == 0, but there is
+     something on the pushed list of strings, then we don't want to go
+     off and get another line.  We let the code down below handle it. */
+
+  if (!shell_input_line || ((!shell_input_line[shell_input_line_index]) &&
+                           (pushed_string_list == (STRING_SAVER *)NULL)))
+#else /* !ALIAS && !DPAREN_ARITHMETIC */
+  if (!shell_input_line || !shell_input_line[shell_input_line_index])
+#endif /* !ALIAS && !DPAREN_ARITHMETIC */
+    {
+      line_number++;
+
+    restart_read:
+
+      /* Allow immediate exit if interrupted during input. */
+      QUIT;
+
+      i = 0;
+      shell_input_line_terminator = 0;
+
+      /* If the shell is interatctive, but not currently printing a prompt
+         (interactive_shell && interactive == 0), we don't want to print
+         notifies or cleanup the jobs -- we want to defer it until we do
+         print the next prompt. */
+      if (interactive_shell == 0 || SHOULD_PROMPT())
+       {
+#if defined (JOB_CONTROL)
+      /* This can cause a problem when reading a command as the result
+        of a trap, when the trap is called from flush_child.  This call
+        had better not cause jobs to disappear from the job table in
+        that case, or we will have big trouble. */
+         notify_and_cleanup ();
+#else /* !JOB_CONTROL */
+         cleanup_dead_jobs ();
+#endif /* !JOB_CONTROL */
+       }
+
+#if defined (READLINE)
+      if (no_line_editing && SHOULD_PROMPT())
+#else
+      if (SHOULD_PROMPT())
+#endif
+       print_prompt ();
+
+      if (bash_input.type == st_stream)
+       clearerr (stdin);
+
+      while (1)
+       {
+         c = yy_getc ();
+
+         /* Allow immediate exit if interrupted during input. */
+         QUIT;
+
+         if (c == '\0')
+           {
+#if 0
+             internal_warning ("shell_getc: ignored null byte in input");
+#endif
+             continue;
+           }
+
+         RESIZE_MALLOCED_BUFFER (shell_input_line, i, 2, shell_input_line_size, 256);
+
+         if (c == EOF)
+           {
+             if (bash_input.type == st_stream)
+               clearerr (stdin);
+
+             if (i == 0)
+               shell_input_line_terminator = EOF;
+
+             shell_input_line[i] = '\0';
+             break;
+           }
+
+         shell_input_line[i++] = c;
+
+         if (c == '\n')
+           {
+             shell_input_line[--i] = '\0';
+             current_command_line_count++;
+             break;
+           }
+       }
+
+      shell_input_line_index = 0;
+      shell_input_line_len = i;                /* == strlen (shell_input_line) */
+
+      set_line_mbstate ();
+
+#if defined (HISTORY)
+      if (remember_on_history && shell_input_line && shell_input_line[0])
+       {
+         char *expansions;
+#  if defined (BANG_HISTORY)
+         int old_hist;
+
+         /* If the current delimiter is a single quote, we should not be
+            performing history expansion, even if we're on a different
+            line from the original single quote. */
+         old_hist = history_expansion_inhibited;
+         if (current_delimiter (dstack) == '\'')
+           history_expansion_inhibited = 1;
+#  endif
+         expansions = pre_process_line (shell_input_line, 1, 1);
+#  if defined (BANG_HISTORY)
+         history_expansion_inhibited = old_hist;
+#  endif
+         if (expansions != shell_input_line)
+           {
+             free (shell_input_line);
+             shell_input_line = expansions;
+             shell_input_line_len = shell_input_line ?
+                                       strlen (shell_input_line) : 0;
+             if (shell_input_line_len == 0)
+               current_command_line_count--;
+
+             /* We have to force the xrealloc below because we don't know
+                the true allocated size of shell_input_line anymore. */
+             shell_input_line_size = shell_input_line_len;
+
+             set_line_mbstate ();
+           }
+       }
+      /* Try to do something intelligent with blank lines encountered while
+        entering multi-line commands.  XXX - this is grotesque */
+      else if (remember_on_history && shell_input_line &&
+              shell_input_line[0] == '\0' &&
+              current_command_line_count > 1)
+       {
+         if (current_delimiter (dstack))
+           /* We know shell_input_line[0] == 0 and we're reading some sort of
+              quoted string.  This means we've got a line consisting of only
+              a newline in a quoted string.  We want to make sure this line
+              gets added to the history. */
+           maybe_add_history (shell_input_line);
+         else
+           {
+             char *hdcs;
+             hdcs = history_delimiting_chars (shell_input_line);
+             if (hdcs && hdcs[0] == ';')
+               maybe_add_history (shell_input_line);
+           }
+       }
+
+#endif /* HISTORY */
+
+      if (shell_input_line)
+       {
+         /* Lines that signify the end of the shell's input should not be
+            echoed. */
+         if (echo_input_at_read && (shell_input_line[0] ||
+                                    shell_input_line_terminator != EOF))
+           fprintf (stderr, "%s\n", shell_input_line);
+       }
+      else
+       {
+         shell_input_line_size = 0;
+         prompt_string_pointer = &current_prompt_string;
+         if (SHOULD_PROMPT ())
+           prompt_again ();
+         goto restart_read;
+       }
+
+      /* Add the newline to the end of this string, iff the string does
+        not already end in an EOF character.  */
+      if (shell_input_line_terminator != EOF)
+       {
+         if (shell_input_line_len + 3 > shell_input_line_size)
+           shell_input_line = (char *)xrealloc (shell_input_line,
+                                       1 + (shell_input_line_size += 2));
+
+         shell_input_line[shell_input_line_len] = '\n';
+         shell_input_line[shell_input_line_len + 1] = '\0';
+
+         set_line_mbstate ();
+       }
+    }
+
+next_alias_char:
+  uc = shell_input_line[shell_input_line_index];
+
+  if (uc)
+    shell_input_line_index++;
+
+#if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
+  /* If UC is NULL, we have reached the end of the current input string.  If
+     pushed_string_list is non-empty, it's time to pop to the previous string
+     because we have fully consumed the result of the last alias expansion.
+     Do it transparently; just return the next character of the string popped
+     to. */
+pop_alias:
+  if (uc == 0 && (pushed_string_list != (STRING_SAVER *)NULL))
+    {
+      pop_string ();
+      uc = shell_input_line[shell_input_line_index];
+      if (uc)
+       shell_input_line_index++;
+    }
+#endif /* ALIAS || DPAREN_ARITHMETIC */
+
+  if MBTEST(uc == '\\' && remove_quoted_newline && shell_input_line[shell_input_line_index] == '\n')
+    {
+       if (SHOULD_PROMPT ())
+         prompt_again ();
+       line_number++;
+       /* What do we do here if we're expanding an alias whose definition
+          includes an escaped newline?  If that's the last character in the
+          alias expansion, we just pop the pushed string list (recall that
+          we inhibit the appending of a space in mk_alexpansion() if newline
+          is the last character).  If it's not the last character, we need
+          to consume the quoted newline and move to the next character in
+          the expansion. */
+       if (expanding_alias () && shell_input_line[shell_input_line_index+1] == '\0')
+         {
+           uc = 0;
+           goto pop_alias;
+         }
+       else if (expanding_alias () && shell_input_line[shell_input_line_index+1] != '\0')
+         {
+           shell_input_line_index++;   /* skip newline */
+           goto next_alias_char;       /* and get next character */
+         }
+       else        
+         goto restart_read;
+    }
+
+  if (uc == 0 && shell_input_line_terminator == EOF)
+    return ((shell_input_line_index != 0) ? '\n' : EOF);
+
+  return (uc);
+}
+
+/* Put C back into the input for the shell.  This might need changes for
+   HANDLE_MULTIBYTE around EOLs.  Since we (currently) never push back a
+   character different than we read, shell_input_line_property doesn't need
+   to change when manipulating shell_input_line.  The define for
+   last_shell_getc_is_singlebyte should take care of it, though. */
+static void
+shell_ungetc (c)
+     int c;
+{
+  if (shell_input_line && shell_input_line_index)
+    shell_input_line[--shell_input_line_index] = c;
+  else
+    eol_ungetc_lookahead = c;
+}
+
+#ifdef INCLUDE_UNUSED
+/* Back the input pointer up by one, effectively `ungetting' a character. */
+static void
+shell_ungetchar ()
+{
+  if (shell_input_line && shell_input_line_index)
+    shell_input_line_index--;
+}
+#endif
+
+/* Discard input until CHARACTER is seen, then push that character back
+   onto the input stream. */
+static void
+discard_until (character)
+     int character;
+{
+  int c;
+
+  while ((c = shell_getc (0)) != EOF && c != character)
+    ;
+
+  if (c != EOF)
+    shell_ungetc (c);
+}
+
+void
+execute_variable_command (command, vname)
+     char *command, *vname;
+{
+  char *last_lastarg;
+  sh_parser_state_t ps;
+
+  save_parser_state (&ps);
+  last_lastarg = get_string_value ("_");
+  if (last_lastarg)
+    last_lastarg = savestring (last_lastarg);
+
+  parse_and_execute (savestring (command), vname, SEVAL_NONINT|SEVAL_NOHIST);
+
+  restore_parser_state (&ps);
+  bind_variable ("_", last_lastarg, 0);
+  FREE (last_lastarg);
+
+  if (token_to_read == '\n')   /* reset_parser was called */
+    token_to_read = 0;
+}
+
+/* Place to remember the token.  We try to keep the buffer
+   at a reasonable size, but it can grow. */
+static char *token = (char *)NULL;
+
+/* Current size of the token buffer. */
+static int token_buffer_size;
+
+/* Command to read_token () explaining what we want it to do. */
+#define READ 0
+#define RESET 1
+#define prompt_is_ps1 \
+      (!prompt_string_pointer || prompt_string_pointer == &ps1_prompt)
+
+/* Function for yyparse to call.  yylex keeps track of
+   the last two tokens read, and calls read_token.  */
+static int
+yylex ()
+{
+  if (interactive && (current_token == 0 || current_token == '\n'))
+    {
+      /* Before we print a prompt, we might have to check mailboxes.
+        We do this only if it is time to do so. Notice that only here
+        is the mail alarm reset; nothing takes place in check_mail ()
+        except the checking of mail.  Please don't change this. */
+      if (prompt_is_ps1 && parse_and_execute_level == 0 && time_to_check_mail ())
+       {
+         check_mail ();
+         reset_mail_timer ();
+       }
+
+      /* Avoid printing a prompt if we're not going to read anything, e.g.
+        after resetting the parser with read_token (RESET). */
+      if (token_to_read == 0 && SHOULD_PROMPT ())
+       prompt_again ();
+    }
+
+  two_tokens_ago = token_before_that;
+  token_before_that = last_read_token;
+  last_read_token = current_token;
+  current_token = read_token (READ);
+
+  if ((parser_state & PST_EOFTOKEN) && current_token == shell_eof_token)
+    {
+      current_token = yacc_EOF;
+      if (bash_input.type == st_string)
+       rewind_input_string ();
+    }
+  parser_state &= ~PST_EOFTOKEN;
+
+  return (current_token);
+}
+
+/* When non-zero, we have read the required tokens
+   which allow ESAC to be the next one read. */
+static int esacs_needed_count;
+
+void
+gather_here_documents ()
+{
+  int r, save_lithist;
+
+  r = 0;
+  save_lithist = -1;
+  while (need_here_doc)
+    {
+      parser_state |= PST_HEREDOC;
+#if defined (HISTORY)
+      if (remember_on_history)
+       {
+          save_lithist = literal_history;
+/*          literal_history = 1; */
+       }
+#endif
+      make_here_document (redir_stack[r++], line_number);
+      parser_state &= ~PST_HEREDOC;
+#if defined (HISTORY)
+      if (remember_on_history && save_lithist >= 0)
+       literal_history = save_lithist;
+#endif
+      need_here_doc--;
+    }
+}
+
+/* When non-zero, an open-brace used to create a group is awaiting a close
+   brace partner. */
+static int open_brace_count;
+
+#define command_token_position(token) \
+  (((token) == ASSIGNMENT_WORD) || (parser_state&PST_REDIRLIST) || \
+   ((token) != SEMI_SEMI && (token) != SEMI_AND && (token) != SEMI_SEMI_AND && reserved_word_acceptable(token)))
+
+#define assignment_acceptable(token) \
+  (command_token_position(token) && ((parser_state & PST_CASEPAT) == 0))
+
+/* Check to see if TOKEN is a reserved word and return the token
+   value if it is. */
+#define CHECK_FOR_RESERVED_WORD(tok) \
+  do { \
+    if (!dollar_present && !quoted && \
+       reserved_word_acceptable (last_read_token)) \
+      { \
+       int i; \
+       for (i = 0; word_token_alist[i].word != (char *)NULL; i++) \
+         if (STREQ (tok, word_token_alist[i].word)) \
+           { \
+             if ((parser_state & PST_CASEPAT) && (word_token_alist[i].token != ESAC)) \
+               break; \
+             if (word_token_alist[i].token == TIME && time_command_acceptable () == 0) \
+               break; \
+             if (word_token_alist[i].token == ESAC) \
+               parser_state &= ~(PST_CASEPAT|PST_CASESTMT); \
+             else if (word_token_alist[i].token == CASE) \
+               parser_state |= PST_CASESTMT; \
+             else if (word_token_alist[i].token == COND_END) \
+               parser_state &= ~(PST_CONDCMD|PST_CONDEXPR); \
+             else if (word_token_alist[i].token == COND_START) \
+               parser_state |= PST_CONDCMD; \
+             else if (word_token_alist[i].token == '{') \
+               open_brace_count++; \
+             else if (word_token_alist[i].token == '}' && open_brace_count) \
+               open_brace_count--; \
+             return (word_token_alist[i].token); \
+           } \
+      } \
+  } while (0)
+
+#if defined (ALIAS)
+
+    /* OK, we have a token.  Let's try to alias expand it, if (and only if)
+       it's eligible.
+
+       It is eligible for expansion if EXPAND_ALIASES is set, and
+       the token is unquoted and the last token read was a command
+       separator (or expand_next_token is set), and we are currently
+       processing an alias (pushed_string_list is non-empty) and this
+       token is not the same as the current or any previously
+       processed alias.
+
+       Special cases that disqualify:
+        In a pattern list in a case statement (parser_state & PST_CASEPAT). */
+
+static char *
+mk_alexpansion (s)
+     char *s;
+{
+  int l;
+  char *r;
+
+  l = strlen (s);
+  r = xmalloc (l + 2);
+  strcpy (r, s);
+  /* If the last character in the alias is a newline, don't add a trailing
+     space to the expansion.  Works with shell_getc above. */
+  if (r[l - 1] != ' ' && r[l - 1] != '\n')
+    r[l++] = ' ';
+  r[l] = '\0';
+  return r;
+}
+
+static int
+alias_expand_token (tokstr)
+     char *tokstr;
+{
+  char *expanded;
+  alias_t *ap;
+
+  if (((parser_state & PST_ALEXPNEXT) || command_token_position (last_read_token)) &&
+       (parser_state & PST_CASEPAT) == 0)
+    {
+      ap = find_alias (tokstr);
+
+      /* Currently expanding this token. */
+      if (ap && (ap->flags & AL_BEINGEXPANDED))
+       return (NO_EXPANSION);
+
+      /* mk_alexpansion puts an extra space on the end of the alias expansion,
+         so the lookahead by the parser works right.  If this gets changed,
+         make sure the code in shell_getc that deals with reaching the end of
+         an expanded alias is changed with it. */
+      expanded = ap ? mk_alexpansion (ap->value) : (char *)NULL;
+
+      if (expanded)
+       {
+         push_string (expanded, ap->flags & AL_EXPANDNEXT, ap);
+         return (RE_READ_TOKEN);
+       }
+      else
+       /* This is an eligible token that does not have an expansion. */
+       return (NO_EXPANSION);
+    }
+  return (NO_EXPANSION);
+}
+#endif /* ALIAS */
+
+static int
+time_command_acceptable ()
+{
+#if defined (COMMAND_TIMING)
+  int i;
+
+  if (posixly_correct && shell_compatibility_level > 41)
+    {
+      /* Quick check of the rest of the line to find the next token.  If it
+        begins with a `-', Posix says to not return `time' as the token.
+        This was interp 267. */
+      i = shell_input_line_index;
+      while (i < shell_input_line_len && (shell_input_line[i] == ' ' || shell_input_line[i] == '\t'))
+        i++;
+      if (shell_input_line[i] == '-')
+       return 0;
+    }
+
+  switch (last_read_token)
+    {
+    case 0:
+    case ';':
+    case '\n':
+    case AND_AND:
+    case OR_OR:
+    case '&':
+    case DO:
+    case THEN:
+    case ELSE:
+    case '{':          /* } */
+    case '(':          /* ) */
+    case BANG:         /* ! time pipeline */
+    case TIME:         /* time time pipeline */
+    case TIMEOPT:      /* time -p time pipeline */
+    case TIMEIGN:      /* time -p -- ... */
+      return 1;
+    default:
+      return 0;
+    }
+#else
+  return 0;
+#endif /* COMMAND_TIMING */
+}
+
+/* Handle special cases of token recognition:
+       IN is recognized if the last token was WORD and the token
+       before that was FOR or CASE or SELECT.
+
+       DO is recognized if the last token was WORD and the token
+       before that was FOR or SELECT.
+
+       ESAC is recognized if the last token caused `esacs_needed_count'
+       to be set
+
+       `{' is recognized if the last token as WORD and the token
+       before that was FUNCTION, or if we just parsed an arithmetic
+       `for' command.
+
+       `}' is recognized if there is an unclosed `{' present.
+
+       `-p' is returned as TIMEOPT if the last read token was TIME.
+       `--' is returned as TIMEIGN if the last read token was TIMEOPT.
+
+       ']]' is returned as COND_END if the parser is currently parsing
+       a conditional expression ((parser_state & PST_CONDEXPR) != 0)
+
+       `time' is returned as TIME if and only if it is immediately
+       preceded by one of `;', `\n', `||', `&&', or `&'.
+*/
+
+static int
+special_case_tokens (tokstr)
+     char *tokstr;
+{
+  if ((last_read_token == WORD) &&
+#if defined (SELECT_COMMAND)
+      ((token_before_that == FOR) || (token_before_that == CASE) || (token_before_that == SELECT)) &&
+#else
+      ((token_before_that == FOR) || (token_before_that == CASE)) &&
+#endif
+      (tokstr[0] == 'i' && tokstr[1] == 'n' && tokstr[2] == 0))
+    {
+      if (token_before_that == CASE)
+       {
+         parser_state |= PST_CASEPAT;
+         esacs_needed_count++;
+       }
+      return (IN);
+    }
+
+  if (last_read_token == WORD &&
+#if defined (SELECT_COMMAND)
+      (token_before_that == FOR || token_before_that == SELECT) &&
+#else
+      (token_before_that == FOR) &&
+#endif
+      (tokstr[0] == 'd' && tokstr[1] == 'o' && tokstr[2] == '\0'))
+    return (DO);
+
+  /* Ditto for ESAC in the CASE case.
+     Specifically, this handles "case word in esac", which is a legal
+     construct, certainly because someone will pass an empty arg to the
+     case construct, and we don't want it to barf.  Of course, we should
+     insist that the case construct has at least one pattern in it, but
+     the designers disagree. */
+  if (esacs_needed_count)
+    {
+      esacs_needed_count--;
+      if (STREQ (tokstr, "esac"))
+       {
+         parser_state &= ~PST_CASEPAT;
+         return (ESAC);
+       }
+    }
+
+  /* The start of a shell function definition. */
+  if (parser_state & PST_ALLOWOPNBRC)
+    {
+      parser_state &= ~PST_ALLOWOPNBRC;
+      if (tokstr[0] == '{' && tokstr[1] == '\0')               /* } */
+       {
+         open_brace_count++;
+         function_bstart = line_number;
+         return ('{');                                 /* } */
+       }
+    }
+
+  /* We allow a `do' after a for ((...)) without an intervening
+     list_terminator */
+  if (last_read_token == ARITH_FOR_EXPRS && tokstr[0] == 'd' && tokstr[1] == 'o' && !tokstr[2])
+    return (DO);
+  if (last_read_token == ARITH_FOR_EXPRS && tokstr[0] == '{' && tokstr[1] == '\0')     /* } */
+    {
+      open_brace_count++;
+      return ('{');                    /* } */
+    }
+
+  if (open_brace_count && reserved_word_acceptable (last_read_token) && tokstr[0] == '}' && !tokstr[1])
+    {
+      open_brace_count--;              /* { */
+      return ('}');
+    }
+
+#if defined (COMMAND_TIMING)
+  /* Handle -p after `time'. */
+  if (last_read_token == TIME && tokstr[0] == '-' && tokstr[1] == 'p' && !tokstr[2])
+    return (TIMEOPT);
+  /* Handle -- after `time -p'. */
+  if (last_read_token == TIMEOPT && tokstr[0] == '-' && tokstr[1] == '-' && !tokstr[2])
+    return (TIMEIGN);
+#endif
+
+#if defined (COND_COMMAND) /* [[ */
+  if ((parser_state & PST_CONDEXPR) && tokstr[0] == ']' && tokstr[1] == ']' && tokstr[2] == '\0')
+    return (COND_END);
+#endif
+
+  return (-1);
+}
+
+/* Called from shell.c when Control-C is typed at top level.  Or
+   by the error rule at top level. */
+void
+reset_parser ()
+{
+  dstack.delimiter_depth = 0;  /* No delimiters found so far. */
+  open_brace_count = 0;
+
+#if defined (EXTENDED_GLOB)
+  /* Reset to global value of extended glob */
+  if (parser_state & PST_EXTPAT)
+    extended_glob = global_extglob;
+#endif
+
+  parser_state = 0;
+
+#if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
+  if (pushed_string_list)
+    free_string_list ();
+#endif /* ALIAS || DPAREN_ARITHMETIC */
+
+  if (shell_input_line)
+    {
+      free (shell_input_line);
+      shell_input_line = (char *)NULL;
+      shell_input_line_size = shell_input_line_index = 0;
+    }
+
+  FREE (word_desc_to_read);
+  word_desc_to_read = (WORD_DESC *)NULL;
+
+  current_token = '\n';                /* XXX */
+  last_read_token = '\n';
+  token_to_read = '\n';
+}
+
+/* Read the next token.  Command can be READ (normal operation) or
+   RESET (to normalize state). */
+static int
+read_token (command)
+     int command;
+{
+  int character;               /* Current character. */
+  int peek_char;               /* Temporary look-ahead character. */
+  int result;                  /* The thing to return. */
+
+  if (command == RESET)
+    {
+      reset_parser ();
+      return ('\n');
+    }
+
+  if (token_to_read)
+    {
+      result = token_to_read;
+      if (token_to_read == WORD || token_to_read == ASSIGNMENT_WORD)
+       {
+         yylval.word = word_desc_to_read;
+         word_desc_to_read = (WORD_DESC *)NULL;
+       }
+      token_to_read = 0;
+      return (result);
+    }
+
+#if defined (COND_COMMAND)
+  if ((parser_state & (PST_CONDCMD|PST_CONDEXPR)) == PST_CONDCMD)
+    {
+      cond_lineno = line_number;
+      parser_state |= PST_CONDEXPR;
+      yylval.command = parse_cond_command ();
+      if (cond_token != COND_END)
+       {
+         cond_error ();
+         return (-1);
+       }
+      token_to_read = COND_END;
+      parser_state &= ~(PST_CONDEXPR|PST_CONDCMD);
+      return (COND_CMD);
+    }
+#endif
+
+#if defined (ALIAS)
+  /* This is a place to jump back to once we have successfully expanded a
+     token with an alias and pushed the string with push_string () */
+ re_read_token:
+#endif /* ALIAS */
+
+  /* Read a single word from input.  Start by skipping blanks. */
+  while ((character = shell_getc (1)) != EOF && shellblank (character))
+    ;
+
+  if (character == EOF)
+    {
+      EOF_Reached = 1;
+      return (yacc_EOF);
+    }
+
+  if MBTEST(character == '#' && (!interactive || interactive_comments))
+    {
+      /* A comment.  Discard until EOL or EOF, and then return a newline. */
+      discard_until ('\n');
+      shell_getc (0);
+      character = '\n';        /* this will take the next if statement and return. */
+    }
+
+  if (character == '\n')
+    {
+      /* If we're about to return an unquoted newline, we can go and collect
+        the text of any pending here document. */
+      if (need_here_doc)
+       gather_here_documents ();
+
+#if defined (ALIAS)
+      parser_state &= ~PST_ALEXPNEXT;
+#endif /* ALIAS */
+
+      parser_state &= ~PST_ASSIGNOK;
+
+      return (character);
+    }
+
+  if (parser_state & PST_REGEXP)
+    goto tokword;
+
+  /* Shell meta-characters. */
+  if MBTEST(shellmeta (character) && ((parser_state & PST_DBLPAREN) == 0))
+    {
+#if defined (ALIAS)
+      /* Turn off alias tokenization iff this character sequence would
+        not leave us ready to read a command. */
+      if (character == '<' || character == '>')
+       parser_state &= ~PST_ALEXPNEXT;
+#endif /* ALIAS */
+
+      parser_state &= ~PST_ASSIGNOK;
+
+      peek_char = shell_getc (1);
+      if (character == peek_char)
+       {
+         switch (character)
+           {
+           case '<':
+             /* If '<' then we could be at "<<" or at "<<-".  We have to
+                look ahead one more character. */
+             peek_char = shell_getc (1);
+             if MBTEST(peek_char == '-')
+               return (LESS_LESS_MINUS);
+             else if MBTEST(peek_char == '<')
+               return (LESS_LESS_LESS);
+             else
+               {
+                 shell_ungetc (peek_char);
+                 return (LESS_LESS);
+               }
+
+           case '>':
+             return (GREATER_GREATER);
+
+           case ';':
+             parser_state |= PST_CASEPAT;
+#if defined (ALIAS)
+             parser_state &= ~PST_ALEXPNEXT;
+#endif /* ALIAS */
+
+             peek_char = shell_getc (1);
+             if MBTEST(peek_char == '&')
+               return (SEMI_SEMI_AND);
+             else
+               {
+                 shell_ungetc (peek_char);
+                 return (SEMI_SEMI);
+               }
+
+           case '&':
+             return (AND_AND);
+
+           case '|':
+             return (OR_OR);
+
+#if defined (DPAREN_ARITHMETIC) || defined (ARITH_FOR_COMMAND)
+           case '(':           /* ) */
+             result = parse_dparen (character);
+             if (result == -2)
+               break;
+             else
+               return result;
+#endif
+           }
+       }
+      else if MBTEST(character == '<' && peek_char == '&')
+       return (LESS_AND);
+      else if MBTEST(character == '>' && peek_char == '&')
+       return (GREATER_AND);
+      else if MBTEST(character == '<' && peek_char == '>')
+       return (LESS_GREATER);
+      else if MBTEST(character == '>' && peek_char == '|')
+       return (GREATER_BAR);
+      else if MBTEST(character == '&' && peek_char == '>')
+       {
+         peek_char = shell_getc (1);
+         if MBTEST(peek_char == '>')
+           return (AND_GREATER_GREATER);
+         else
+           {
+             shell_ungetc (peek_char);
+             return (AND_GREATER);
+           }
+       }
+      else if MBTEST(character == '|' && peek_char == '&')
+       return (BAR_AND);
+      else if MBTEST(character == ';' && peek_char == '&')
+       {
+         parser_state |= PST_CASEPAT;
+#if defined (ALIAS)
+         parser_state &= ~PST_ALEXPNEXT;
+#endif /* ALIAS */
+         return (SEMI_AND);
+       }
+
+      shell_ungetc (peek_char);
+
+      /* If we look like we are reading the start of a function
+        definition, then let the reader know about it so that
+        we will do the right thing with `{'. */
+      if MBTEST(character == ')' && last_read_token == '(' && token_before_that == WORD)
+       {
+         parser_state |= PST_ALLOWOPNBRC;
+#if defined (ALIAS)
+         parser_state &= ~PST_ALEXPNEXT;
+#endif /* ALIAS */
+         function_dstart = line_number;
+       }
+
+      /* case pattern lists may be preceded by an optional left paren.  If
+        we're not trying to parse a case pattern list, the left paren
+        indicates a subshell. */
+      if MBTEST(character == '(' && (parser_state & PST_CASEPAT) == 0) /* ) */
+       parser_state |= PST_SUBSHELL;
+      /*(*/
+      else if MBTEST((parser_state & PST_CASEPAT) && character == ')')
+       parser_state &= ~PST_CASEPAT;
+      /*(*/
+      else if MBTEST((parser_state & PST_SUBSHELL) && character == ')')
+       parser_state &= ~PST_SUBSHELL;
+
+#if defined (PROCESS_SUBSTITUTION)
+      /* Check for the constructs which introduce process substitution.
+        Shells running in `posix mode' don't do process substitution. */
+      if MBTEST(posixly_correct || ((character != '>' && character != '<') || peek_char != '(')) /*)*/
+#endif /* PROCESS_SUBSTITUTION */
+       return (character);
+    }
+
+  /* Hack <&- (close stdin) case.  Also <&N- (dup and close). */
+  if MBTEST(character == '-' && (last_read_token == LESS_AND || last_read_token == GREATER_AND))
+    return (character);
+
+tokword:
+  /* Okay, if we got this far, we have to read a word.  Read one,
+     and then check it against the known ones. */
+  result = read_token_word (character);
+#if defined (ALIAS)
+  if (result == RE_READ_TOKEN)
+    goto re_read_token;
+#endif
+  return result;
+}
+
+/*
+ * Match a $(...) or other grouping construct.  This has to handle embedded
+ * quoted strings ('', ``, "") and nested constructs.  It also must handle
+ * reprompting the user, if necessary, after reading a newline, and returning
+ * correct error values if it reads EOF.
+ */
+#define P_FIRSTCLOSE   0x0001
+#define P_ALLOWESC     0x0002
+#define P_DQUOTE       0x0004
+#define P_COMMAND      0x0008  /* parsing a command, so look for comments */
+#define P_BACKQUOTE    0x0010  /* parsing a backquoted command substitution */
+#define P_ARRAYSUB     0x0020  /* parsing a [...] array subscript for assignment */
+#define P_DOLBRACE     0x0040  /* parsing a ${...} construct */
+
+/* Lexical state while parsing a grouping construct or $(...). */
+#define LEX_WASDOL     0x001
+#define LEX_CKCOMMENT  0x002
+#define LEX_INCOMMENT  0x004
+#define LEX_PASSNEXT   0x008
+#define LEX_RESWDOK    0x010
+#define LEX_CKCASE     0x020
+#define LEX_INCASE     0x040
+#define LEX_INHEREDOC  0x080
+#define LEX_HEREDELIM  0x100           /* reading here-doc delimiter */
+#define LEX_STRIPDOC   0x200           /* <<- strip tabs from here doc delim */
+#define LEX_INWORD     0x400
+
+#define COMSUB_META(ch)                ((ch) == ';' || (ch) == '&' || (ch) == '|')
+
+#define CHECK_NESTRET_ERROR() \
+  do { \
+    if (nestret == &matched_pair_error) \
+      { \
+       free (ret); \
+       return &matched_pair_error; \
+      } \
+  } while (0)
+
+#define APPEND_NESTRET() \
+  do { \
+    if (nestlen) \
+      { \
+       RESIZE_MALLOCED_BUFFER (ret, retind, nestlen, retsize, 64); \
+       strcpy (ret + retind, nestret); \
+       retind += nestlen; \
+      } \
+  } while (0)
+
+static char matched_pair_error;
+
+static char *
+parse_matched_pair (qc, open, close, lenp, flags)
+     int qc;   /* `"' if this construct is within double quotes */
+     int open, close;
+     int *lenp, flags;
+{
+  int count, ch, tflags;
+  int nestlen, ttranslen, start_lineno;
+  char *ret, *nestret, *ttrans;
+  int retind, retsize, rflags;
+  int dolbrace_state;
+
+  dolbrace_state = (flags & P_DOLBRACE) ? DOLBRACE_PARAM : 0;
+
+/*itrace("parse_matched_pair[%d]: open = %c close = %c flags = %d", line_number, open, close, flags);*/
+  count = 1;
+  tflags = 0;
+
+  if ((flags & P_COMMAND) && qc != '`' && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0)
+    tflags |= LEX_CKCOMMENT;
+
+  /* RFLAGS is the set of flags we want to pass to recursive calls. */
+  rflags = (qc == '"') ? P_DQUOTE : (flags & P_DQUOTE);
+
+  ret = (char *)xmalloc (retsize = 64);
+  retind = 0;
+
+  start_lineno = line_number;
+  while (count)
+    {
+      ch = shell_getc (qc != '\'' && (tflags & (LEX_PASSNEXT)) == 0);
+
+      if (ch == EOF)
+       {
+         free (ret);
+         parser_error (start_lineno, _("unexpected EOF while looking for matching `%c'"), close);
+         EOF_Reached = 1;      /* XXX */
+         return (&matched_pair_error);
+       }
+
+      /* Possible reprompting. */
+      if (ch == '\n' && SHOULD_PROMPT ())
+       prompt_again ();
+
+      /* Don't bother counting parens or doing anything else if in a comment
+        or part of a case statement */
+      if (tflags & LEX_INCOMMENT)
+       {
+         /* Add this character. */
+         RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+         ret[retind++] = ch;
+
+         if (ch == '\n')
+           tflags &= ~LEX_INCOMMENT;
+
+         continue;
+       }
+
+      /* Not exactly right yet, should handle shell metacharacters, too.  If
+        any changes are made to this test, make analogous changes to subst.c:
+        extract_delimited_string(). */
+      else if MBTEST((tflags & LEX_CKCOMMENT) && (tflags & LEX_INCOMMENT) == 0 && ch == '#' && (retind == 0 || ret[retind-1] == '\n' || shellblank (ret[retind - 1])))
+       tflags |= LEX_INCOMMENT;
+
+      if (tflags & LEX_PASSNEXT)               /* last char was backslash */
+       {
+         tflags &= ~LEX_PASSNEXT;
+         if (qc != '\'' && ch == '\n') /* double-quoted \<newline> disappears. */
+           {
+             if (retind > 0)
+               retind--;       /* swallow previously-added backslash */
+             continue;
+           }
+
+         RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
+#if 0
+         if MBTEST(ch == CTLESC || ch == CTLNUL)
+#else
+         if MBTEST(ch == CTLESC)
+#endif
+           ret[retind++] = CTLESC;
+         ret[retind++] = ch;
+         continue;
+       }
+      /* If we're reparsing the input (e.g., from parse_string_to_word_list),
+        we've already prepended CTLESC to single-quoted results of $'...'.
+        We may want to do this for other CTLESC-quoted characters in
+        reparse, too. */
+      else if MBTEST((parser_state & PST_REPARSE) && open == '\'' && (ch == CTLESC || ch == CTLNUL))
+       {
+         RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+         ret[retind++] = ch;
+         continue;
+       }
+      else if MBTEST(ch == CTLESC || ch == CTLNUL)     /* special shell escapes */
+       {
+         RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
+         ret[retind++] = CTLESC;
+         ret[retind++] = ch;
+         continue;
+       }
+      else if MBTEST(ch == close)              /* ending delimiter */
+       count--;
+      /* handle nested ${...} specially. */
+      else if MBTEST(open != close && (tflags & LEX_WASDOL) && open == '{' && ch == open) /* } */
+       count++;
+      else if MBTEST(((flags & P_FIRSTCLOSE) == 0) && ch == open)      /* nested begin */
+       count++;
+
+      /* Add this character. */
+      RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+      ret[retind++] = ch;
+
+      /* If we just read the ending character, don't bother continuing. */
+      if (count == 0)
+       break;
+
+      if (open == '\'')                        /* '' inside grouping construct */
+       {
+         if MBTEST((flags & P_ALLOWESC) && ch == '\\')
+           tflags |= LEX_PASSNEXT;
+         continue;
+       }
+
+      if MBTEST(ch == '\\')                    /* backslashes */
+       tflags |= LEX_PASSNEXT;
+
+      /* Based on which dolstate is currently in (param, op, or word),
+        decide what the op is.  We're really only concerned if it's % or
+        #, so we can turn on a flag that says whether or not we should
+        treat single quotes as special when inside a double-quoted
+        ${...}. This logic must agree with subst.c:extract_dollar_brace_string
+        since they share the same defines. */
+      if (flags & P_DOLBRACE)
+        {
+          /* ${param%[%]word} */
+         if MBTEST(dolbrace_state == DOLBRACE_PARAM && ch == '%' && retind > 1)
+           dolbrace_state = DOLBRACE_QUOTE;
+          /* ${param#[#]word} */
+         else if MBTEST(dolbrace_state == DOLBRACE_PARAM && ch == '#' && retind > 1)
+           dolbrace_state = DOLBRACE_QUOTE;
+          /* ${param/[/]pat/rep} */
+         else if MBTEST(dolbrace_state == DOLBRACE_PARAM && ch == '/' && retind > 1)
+           dolbrace_state = DOLBRACE_QUOTE;
+          /* ${param^[^]pat} */
+         else if MBTEST(dolbrace_state == DOLBRACE_PARAM && ch == '^' && retind > 1)
+           dolbrace_state = DOLBRACE_QUOTE;
+          /* ${param,[,]pat} */
+         else if MBTEST(dolbrace_state == DOLBRACE_PARAM && ch == ',' && retind > 1)
+           dolbrace_state = DOLBRACE_QUOTE;
+         else if MBTEST(dolbrace_state == DOLBRACE_PARAM && strchr ("#%^,~:-=?+/", ch) != 0)
+           dolbrace_state = DOLBRACE_OP;
+         else if MBTEST(dolbrace_state == DOLBRACE_OP && strchr ("#%^,~:-=?+/", ch) == 0)
+           dolbrace_state = DOLBRACE_WORD;
+        }
+
+      /* The big hammer.  Single quotes aren't special in double quotes.  The
+         problem is that Posix used to say the single quotes are semi-special:
+         within a double-quoted ${...} construct "an even number of
+         unescaped double-quotes or single-quotes, if any, shall occur." */
+      /* This was changed in Austin Group Interp 221 */
+      if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'')
+       continue;
+
+      /* Could also check open == '`' if we want to parse grouping constructs
+        inside old-style command substitution. */
+      if (open != close)               /* a grouping construct */
+       {
+         if MBTEST(shellquote (ch))
+           {
+             /* '', ``, or "" inside $(...) or other grouping construct. */
+             push_delimiter (dstack, ch);
+             if MBTEST((tflags & LEX_WASDOL) && ch == '\'')    /* $'...' inside group */
+               nestret = parse_matched_pair (ch, ch, ch, &nestlen, P_ALLOWESC|rflags);
+             else
+               nestret = parse_matched_pair (ch, ch, ch, &nestlen, rflags);
+             pop_delimiter (dstack);
+             CHECK_NESTRET_ERROR ();
+
+             if MBTEST((tflags & LEX_WASDOL) && ch == '\'' && (extended_quote || (rflags & P_DQUOTE) == 0))
+               {
+                 /* Translate $'...' here. */
+                 ttrans = ansiexpand (nestret, 0, nestlen - 1, &ttranslen);
+                 xfree (nestret);
+
+                 if ((rflags & P_DQUOTE) == 0)
+                   {
+                     nestret = sh_single_quote (ttrans);
+                     free (ttrans);
+                     nestlen = strlen (nestret);
+                   }
+                 else
+                   {
+                     nestret = ttrans;
+                     nestlen = ttranslen;
+                   }
+                 retind -= 2;          /* back up before the $' */
+               }
+             else if MBTEST((tflags & LEX_WASDOL) && ch == '"' && (extended_quote || (rflags & P_DQUOTE) == 0))
+               {
+                 /* Locale expand $"..." here. */
+                 ttrans = localeexpand (nestret, 0, nestlen - 1, start_lineno, &ttranslen);
+                 xfree (nestret);
+
+                 nestret = sh_mkdoublequoted (ttrans, ttranslen, 0);
+                 free (ttrans);
+                 nestlen = ttranslen + 2;
+                 retind -= 2;          /* back up before the $" */
+               }
+
+             APPEND_NESTRET ();
+             FREE (nestret);
+           }
+         else if ((flags & P_ARRAYSUB) && (tflags & LEX_WASDOL) && (ch == '(' || ch == '{' || ch == '['))      /* ) } ] */
+           goto parse_dollar_word;
+       }
+      /* Parse an old-style command substitution within double quotes as a
+        single word. */
+      /* XXX - sh and ksh93 don't do this - XXX */
+      else if MBTEST(open == '"' && ch == '`')
+       {
+         nestret = parse_matched_pair (0, '`', '`', &nestlen, rflags);
+
+         CHECK_NESTRET_ERROR ();
+         APPEND_NESTRET ();
+
+         FREE (nestret);
+       }
+      else if MBTEST(open != '`' && (tflags & LEX_WASDOL) && (ch == '(' || ch == '{' || ch == '['))    /* ) } ] */
+       /* check for $(), $[], or ${} inside quoted string. */
+       {
+parse_dollar_word:
+         if (open == ch)       /* undo previous increment */
+           count--;
+         if (ch == '(')                /* ) */
+           nestret = parse_comsub (0, '(', ')', &nestlen, (rflags|P_COMMAND) & ~P_DQUOTE);
+         else if (ch == '{')           /* } */
+           nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|P_DOLBRACE|rflags);
+         else if (ch == '[')           /* ] */
+           nestret = parse_matched_pair (0, '[', ']', &nestlen, rflags);
+
+         CHECK_NESTRET_ERROR ();
+         APPEND_NESTRET ();
+
+         FREE (nestret);
+       }
+      if MBTEST(ch == '$')
+       tflags |= LEX_WASDOL;
+      else
+       tflags &= ~LEX_WASDOL;
+    }
+
+  ret[retind] = '\0';
+  if (lenp)
+    *lenp = retind;
+/*itrace("parse_matched_pair[%d]: returning %s", line_number, ret);*/
+  return ret;
+}
+
+/* Parse a $(...) command substitution.  This is messier than I'd like, and
+   reproduces a lot more of the token-reading code than I'd like. */
+static char *
+parse_comsub (qc, open, close, lenp, flags)
+     int qc;   /* `"' if this construct is within double quotes */
+     int open, close;
+     int *lenp, flags;
+{
+  int count, ch, peekc, tflags, lex_rwlen, lex_wlen, lex_firstind;
+  int nestlen, ttranslen, start_lineno;
+  char *ret, *nestret, *ttrans, *heredelim;
+  int retind, retsize, rflags, hdlen;
+
+  /* Posix interp 217 says arithmetic expressions have precedence, so
+     assume $(( introduces arithmetic expansion and parse accordingly. */
+  peekc = shell_getc (0);
+  shell_ungetc (peekc);
+  if (peekc == '(')
+    return (parse_matched_pair (qc, open, close, lenp, 0));
+
+/*itrace("parse_comsub: qc = `%c' open = %c close = %c", qc, open, close);*/
+  count = 1;
+  tflags = LEX_RESWDOK;
+
+  if ((flags & P_COMMAND) && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0)
+    tflags |= LEX_CKCASE;
+  if ((tflags & LEX_CKCASE) && (interactive == 0 || interactive_comments))
+    tflags |= LEX_CKCOMMENT;
+
+  /* RFLAGS is the set of flags we want to pass to recursive calls. */
+  rflags = (flags & P_DQUOTE);
+
+  ret = (char *)xmalloc (retsize = 64);
+  retind = 0;
+
+  start_lineno = line_number;
+  lex_rwlen = lex_wlen = 0;
+
+  heredelim = 0;
+  lex_firstind = -1;
+
+  while (count)
+    {
+comsub_readchar:
+      ch = shell_getc (qc != '\'' && (tflags & (LEX_INCOMMENT|LEX_PASSNEXT)) == 0);
+
+      if (ch == EOF)
+       {
+eof_error:
+         free (ret);
+         FREE (heredelim);
+         parser_error (start_lineno, _("unexpected EOF while looking for matching `%c'"), close);
+         EOF_Reached = 1;      /* XXX */
+         return (&matched_pair_error);
+       }
+
+      /* If we hit the end of a line and are reading the contents of a here
+        document, and it's not the same line that the document starts on,
+        check for this line being the here doc delimiter.  Otherwise, if
+        we're in a here document, mark the next character as the beginning
+        of a line. */
+      if (ch == '\n')
+       {
+         if ((tflags & LEX_HEREDELIM) && heredelim)
+           {
+             tflags &= ~LEX_HEREDELIM;
+             tflags |= LEX_INHEREDOC;
+             lex_firstind = retind + 1;
+           }
+         else if (tflags & LEX_INHEREDOC)
+           {
+             int tind;
+             tind = lex_firstind;
+             while ((tflags & LEX_STRIPDOC) && ret[tind] == '\t')
+               tind++;
+             if (STREQN (ret + tind, heredelim, hdlen))
+               {
+                 tflags &= ~(LEX_STRIPDOC|LEX_INHEREDOC);
+/*itrace("parse_comsub:%d: found here doc end `%s'", line_number, ret + tind);*/
+                 free (heredelim);
+                 heredelim = 0;
+                 lex_firstind = -1;
+               }
+             else
+               lex_firstind = retind + 1;
+           }
+       }
+
+      /* Possible reprompting. */
+      if (ch == '\n' && SHOULD_PROMPT ())
+       prompt_again ();
+
+      /* XXX -- possibly allow here doc to be delimited by ending right
+        paren. */
+      if ((tflags & LEX_INHEREDOC) && ch == close && count == 1)
+       {
+         int tind;
+/*itrace("parse_comsub: in here doc, ch == close, retind - firstind = %d hdlen = %d retind = %d", retind-lex_firstind, hdlen, retind);*/
+         tind = lex_firstind;
+         while ((tflags & LEX_STRIPDOC) && ret[tind] == '\t')
+           tind++;
+         if (retind-tind == hdlen && STREQN (ret + tind, heredelim, hdlen))
+           {
+             tflags &= ~(LEX_STRIPDOC|LEX_INHEREDOC);
+/*itrace("parse_comsub:%d: found here doc end `%s'", line_number, ret + tind);*/
+             free (heredelim);
+             heredelim = 0;
+             lex_firstind = -1;
+           }
+       }
+
+      /* Don't bother counting parens or doing anything else if in a comment */
+      if (tflags & (LEX_INCOMMENT|LEX_INHEREDOC))
+       {
+         /* Add this character. */
+         RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+         ret[retind++] = ch;
+
+         if ((tflags & LEX_INCOMMENT) && ch == '\n')
+{
+/*itrace("parse_comsub:%d: lex_incomment -> 0 ch = `%c'", line_number, ch);*/
+           tflags &= ~LEX_INCOMMENT;
+}
+
+         continue;
+       }
+
+      if (tflags & LEX_PASSNEXT)               /* last char was backslash */
+       {
+/*itrace("parse_comsub:%d: lex_passnext -> 0 ch = `%c' (%d)", line_number, ch, __LINE__);*/
+         tflags &= ~LEX_PASSNEXT;
+         if (qc != '\'' && ch == '\n') /* double-quoted \<newline> disappears. */
+           {
+             if (retind > 0)
+               retind--;       /* swallow previously-added backslash */
+             continue;
+           }
+
+         RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
+#if 0
+         if MBTEST(ch == CTLESC || ch == CTLNUL)
+#else
+         if MBTEST(ch == CTLESC)
+#endif
+           ret[retind++] = CTLESC;
+         ret[retind++] = ch;
+         continue;
+       }
+
+      /* If this is a shell break character, we are not in a word.  If not,
+        we either start or continue a word. */
+      if MBTEST(shellbreak (ch))
+       {
+         tflags &= ~LEX_INWORD;
+/*itrace("parse_comsub:%d: lex_inword -> 0 ch = `%c' (%d)", line_number, ch, __LINE__);*/
+       }
+      else
+       {
+         if (tflags & LEX_INWORD)
+           {
+             lex_wlen++;
+/*itrace("parse_comsub:%d: lex_inword == 1 ch = `%c' lex_wlen = %d (%d)", line_number, ch, lex_wlen, __LINE__);*/
+           }         
+         else
+           {
+/*itrace("parse_comsub:%d: lex_inword -> 1 ch = `%c' (%d)", line_number, ch, __LINE__);*/
+             tflags |= LEX_INWORD;
+             lex_wlen = 0;
+           }
+       }
+
+      /* Skip whitespace */
+      if MBTEST(shellblank (ch) && (tflags & LEX_HEREDELIM) == 0 && lex_rwlen == 0)
+        {
+         /* Add this character. */
+         RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+         ret[retind++] = ch;
+         continue;
+        }
+
+      /* Either we are looking for the start of the here-doc delimiter
+        (lex_firstind == -1) or we are reading one (lex_firstind >= 0).
+        If this character is a shell break character and we are reading
+        the delimiter, save it and note that we are now reading a here
+        document.  If we've found the start of the delimiter, note it by
+        setting lex_firstind.  Backslashes can quote shell metacharacters
+        in here-doc delimiters. */
+      if (tflags & LEX_HEREDELIM)
+       {
+         if (lex_firstind == -1 && shellbreak (ch) == 0)
+           lex_firstind = retind;
+#if 0
+         else if (heredelim && (tflags & LEX_PASSNEXT) == 0 && ch == '\n')
+           {
+             tflags |= LEX_INHEREDOC;
+             tflags &= ~LEX_HEREDELIM;
+             lex_firstind = retind + 1;
+           }
+#endif
+         else if (lex_firstind >= 0 && (tflags & LEX_PASSNEXT) == 0 && shellbreak (ch))
+           {
+             if (heredelim == 0)
+               {
+                 nestret = substring (ret, lex_firstind, retind);
+                 heredelim = string_quote_removal (nestret, 0);
+                 free (nestret);
+                 hdlen = STRLEN(heredelim);
+/*itrace("parse_comsub:%d: found here doc delimiter `%s' (%d)", line_number, heredelim, hdlen);*/
+               }
+             if (ch == '\n')
+               {
+                 tflags |= LEX_INHEREDOC;
+                 tflags &= ~LEX_HEREDELIM;
+                 lex_firstind = retind + 1;
+               }
+             else
+               lex_firstind = -1;
+           }
+       }
+
+      /* Meta-characters that can introduce a reserved word.  Not perfect yet. */
+      if MBTEST((tflags & LEX_RESWDOK) == 0 && (tflags & LEX_CKCASE) && (tflags & LEX_INCOMMENT) == 0 && (shellmeta(ch) || ch == '\n'))
+       {
+         /* Add this character. */
+         RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+         ret[retind++] = ch;
+         peekc = shell_getc (1);
+         if (ch == peekc && (ch == '&' || ch == '|' || ch == ';'))     /* two-character tokens */
+           {
+             RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+             ret[retind++] = peekc;
+/*itrace("parse_comsub:%d: set lex_reswordok = 1, ch = `%c'", line_number, ch);*/
+             tflags |= LEX_RESWDOK;
+             lex_rwlen = 0;
+             continue;
+           }
+         else if (ch == '\n' || COMSUB_META(ch))
+           {
+             shell_ungetc (peekc);
+/*itrace("parse_comsub:%d: set lex_reswordok = 1, ch = `%c'", line_number, ch);*/
+             tflags |= LEX_RESWDOK;
+             lex_rwlen = 0;
+             continue;
+           }
+         else if (ch == EOF)
+           goto eof_error;
+         else
+           {
+             /* `unget' the character we just added and fall through */
+             retind--;
+             shell_ungetc (peekc);
+           }
+       }
+
+      /* If we can read a reserved word, try to read one. */
+      if (tflags & LEX_RESWDOK)
+       {
+         if MBTEST(islower (ch))
+           {
+             /* Add this character. */
+             RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+             ret[retind++] = ch;
+             lex_rwlen++;
+             continue;
+           }
+         else if MBTEST(lex_rwlen == 4 && shellbreak (ch))
+           {
+             if (STREQN (ret + retind - 4, "case", 4))
+{
+               tflags |= LEX_INCASE;
+/*itrace("parse_comsub:%d: found `case', lex_incase -> 1 lex_reswdok -> 0", line_number);*/
+}
+             else if (STREQN (ret + retind - 4, "esac", 4))
+{
+               tflags &= ~LEX_INCASE;
+/*itrace("parse_comsub:%d: found `esac', lex_incase -> 0 lex_reswdok -> 0", line_number);*/
+}              
+             tflags &= ~LEX_RESWDOK;
+           }
+         else if MBTEST((tflags & LEX_CKCOMMENT) && ch == '#' && (lex_rwlen == 0 || ((tflags & LEX_INWORD) && lex_wlen == 0)))
+           ;   /* don't modify LEX_RESWDOK if we're starting a comment */
+         else if MBTEST((tflags & LEX_INCASE) && ch != '\n')
+           /* If we can read a reserved word and we're in case, we're at the
+              point where we can read a new pattern list or an esac.  We
+              handle the esac case above.  If we read a newline, we want to
+              leave LEX_RESWDOK alone.  If we read anything else, we want to
+              turn off LEX_RESWDOK, since we're going to read a pattern list. */
+{
+           tflags &= ~LEX_RESWDOK;
+/*itrace("parse_comsub:%d: lex_incase == 1 found `%c', lex_reswordok -> 0", line_number, ch);*/
+}
+         else if MBTEST(shellbreak (ch) == 0)
+{
+           tflags &= ~LEX_RESWDOK;
+/*itrace("parse_comsub:%d: found `%c', lex_reswordok -> 0", line_number, ch);*/
+}
+       }
+
+      /* Might be the start of a here-doc delimiter */
+      if MBTEST((tflags & LEX_INCOMMENT) == 0 && (tflags & LEX_CKCASE) && ch == '<')
+       {
+         /* Add this character. */
+         RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+         ret[retind++] = ch;
+         peekc = shell_getc (1);
+         if (peekc == EOF)
+           goto eof_error;
+         if (peekc == ch)
+           {
+             RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+             ret[retind++] = peekc;
+             peekc = shell_getc (1);
+             if (peekc == EOF)
+               goto eof_error;
+             if (peekc == '-')
+               {
+                 RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+                 ret[retind++] = peekc;
+                 tflags |= LEX_STRIPDOC;
+               }
+             else
+               shell_ungetc (peekc);
+             if (peekc != '<')
+               {
+                 tflags |= LEX_HEREDELIM;
+                 lex_firstind = -1;
+               }
+             continue;
+           }
+         else
+           ch = peekc;         /* fall through and continue XXX */
+       }
+      else if MBTEST((tflags & LEX_CKCOMMENT) && (tflags & LEX_INCOMMENT) == 0 && ch == '#' && (((tflags & LEX_RESWDOK) && lex_rwlen == 0) || ((tflags & LEX_INWORD) && lex_wlen == 0)))
+{
+/*itrace("parse_comsub:%d: lex_incomment -> 1 (%d)", line_number, __LINE__);*/
+       tflags |= LEX_INCOMMENT;
+}
+
+      if MBTEST(ch == CTLESC || ch == CTLNUL)  /* special shell escapes */
+       {
+         RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
+         ret[retind++] = CTLESC;
+         ret[retind++] = ch;
+         continue;
+       }
+#if 0
+      else if MBTEST((tflags & LEX_INCASE) && ch == close && close == ')')
+        tflags &= ~LEX_INCASE;         /* XXX */
+#endif
+      else if MBTEST(ch == close && (tflags & LEX_INCASE) == 0)                /* ending delimiter */
+{
+       count--;
+/*itrace("parse_comsub:%d: found close: count = %d", line_number, count);*/
+}
+      else if MBTEST(((flags & P_FIRSTCLOSE) == 0) && (tflags & LEX_INCASE) == 0 && ch == open)        /* nested begin */
+{
+       count++;
+/*itrace("parse_comsub:%d: found open: count = %d", line_number, count);*/
+}
+
+      /* Add this character. */
+      RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+      ret[retind++] = ch;
+
+      /* If we just read the ending character, don't bother continuing. */
+      if (count == 0)
+       break;
+
+      if MBTEST(ch == '\\')                    /* backslashes */
+       tflags |= LEX_PASSNEXT;
+
+      if MBTEST(shellquote (ch))
+        {
+          /* '', ``, or "" inside $(...). */
+          push_delimiter (dstack, ch);
+          if MBTEST((tflags & LEX_WASDOL) && ch == '\'')       /* $'...' inside group */
+           nestret = parse_matched_pair (ch, ch, ch, &nestlen, P_ALLOWESC|rflags);
+         else
+           nestret = parse_matched_pair (ch, ch, ch, &nestlen, rflags);
+         pop_delimiter (dstack);
+         CHECK_NESTRET_ERROR ();
+
+         if MBTEST((tflags & LEX_WASDOL) && ch == '\'' && (extended_quote || (rflags & P_DQUOTE) == 0))
+           {
+             /* Translate $'...' here. */
+             ttrans = ansiexpand (nestret, 0, nestlen - 1, &ttranslen);
+             xfree (nestret);
+
+             if ((rflags & P_DQUOTE) == 0)
+               {
+                 nestret = sh_single_quote (ttrans);
+                 free (ttrans);
+                 nestlen = strlen (nestret);
+               }
+             else
+               {
+                 nestret = ttrans;
+                 nestlen = ttranslen;
+               }
+             retind -= 2;              /* back up before the $' */
+           }
+         else if MBTEST((tflags & LEX_WASDOL) && ch == '"' && (extended_quote || (rflags & P_DQUOTE) == 0))
+           {
+             /* Locale expand $"..." here. */
+             ttrans = localeexpand (nestret, 0, nestlen - 1, start_lineno, &ttranslen);
+             xfree (nestret);
+
+             nestret = sh_mkdoublequoted (ttrans, ttranslen, 0);
+             free (ttrans);
+             nestlen = ttranslen + 2;
+             retind -= 2;              /* back up before the $" */
+           }
+
+         APPEND_NESTRET ();
+         FREE (nestret);
+       }
+      else if MBTEST((tflags & LEX_WASDOL) && (ch == '(' || ch == '{' || ch == '['))   /* ) } ] */
+       /* check for $(), $[], or ${} inside command substitution. */
+       {
+         if ((tflags & LEX_INCASE) == 0 && open == ch) /* undo previous increment */
+           count--;
+         if (ch == '(')                /* ) */
+           nestret = parse_comsub (0, '(', ')', &nestlen, (rflags|P_COMMAND) & ~P_DQUOTE);
+         else if (ch == '{')           /* } */
+           nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|P_DOLBRACE|rflags);
+         else if (ch == '[')           /* ] */
+           nestret = parse_matched_pair (0, '[', ']', &nestlen, rflags);
+
+         CHECK_NESTRET_ERROR ();
+         APPEND_NESTRET ();
+
+         FREE (nestret);
+       }
+      if MBTEST(ch == '$')
+       tflags |= LEX_WASDOL;
+      else
+       tflags &= ~LEX_WASDOL;
+    }
+
+  FREE (heredelim);
+  ret[retind] = '\0';
+  if (lenp)
+    *lenp = retind;
+/*itrace("parse_comsub:%d: returning `%s'", line_number, ret);*/
+  return ret;
+}
+
+/* Recursively call the parser to parse a $(...) command substitution. */
+char *
+xparse_dolparen (base, string, indp, flags)
+     char *base;
+     char *string;
+     int *indp;
+     int flags;
+{
+  sh_parser_state_t ps;
+  sh_input_line_state_t ls;
+  int orig_ind, nc, sflags;
+  char *ret, *s, *ep, *ostring;
+
+  /*yydebug = 1;*/
+  orig_ind = *indp;
+  ostring = string;
+
+/*itrace("xparse_dolparen: size = %d shell_input_line = `%s'", shell_input_line_size, shell_input_line);*/
+  sflags = SEVAL_NONINT|SEVAL_NOHIST|SEVAL_NOFREE;
+  if (flags & SX_NOLONGJMP)
+    sflags |= SEVAL_NOLONGJMP;
+  save_parser_state (&ps);
+  save_input_line_state (&ls);
+
+  /*(*/
+  parser_state |= PST_CMDSUBST|PST_EOFTOKEN;   /* allow instant ')' */ /*(*/
+  shell_eof_token = ')';
+  parse_string (string, "command substitution", sflags, &ep);
+
+  restore_parser_state (&ps);
+  reset_parser ();
+  /* reset_parser clears shell_input_line and associated variables */
+  restore_input_line_state (&ls);
+  if (interactive)
+    token_to_read = 0;
+
+  /* Need to find how many characters parse_and_execute consumed, update
+     *indp, if flags != 0, copy the portion of the string parsed into RET
+     and return it.  If flags & 1 (EX_NOALLOC) we can return NULL. */
+
+  /*(*/
+  if (ep[-1] != ')')
+    {
+#if DEBUG
+      if (ep[-1] != '\n')
+       itrace("xparse_dolparen:%d: ep[-1] != RPAREN (%d), ep = `%s'", line_number, ep[-1], ep);
+#endif
+      while (ep > ostring && ep[-1] == '\n') ep--;
+    }
+
+  nc = ep - ostring;
+  *indp = ep - base - 1;
+
+  /*(*/
+#if DEBUG
+  if (base[*indp] != ')')
+    itrace("xparse_dolparen:%d: base[%d] != RPAREN (%d), base = `%s'", line_number, *indp, base[*indp], base);
+#endif
+
+  if (flags & SX_NOALLOC) 
+    return (char *)NULL;
+
+  if (nc == 0)
+    {
+      ret = xmalloc (1);
+      ret[0] = '\0';
+    }
+  else
+    ret = substring (ostring, 0, nc - 1);
+
+  return ret;
+}
+
+#if defined (DPAREN_ARITHMETIC) || defined (ARITH_FOR_COMMAND)
+/* Parse a double-paren construct.  It can be either an arithmetic
+   command, an arithmetic `for' command, or a nested subshell.  Returns
+   the parsed token, -1 on error, or -2 if we didn't do anything and
+   should just go on. */
+static int
+parse_dparen (c)
+     int c;
+{
+  int cmdtyp, sline;
+  char *wval;
+  WORD_DESC *wd;
+
+#if defined (ARITH_FOR_COMMAND)
+  if (last_read_token == FOR)
+    {
+      arith_for_lineno = line_number;
+      cmdtyp = parse_arith_cmd (&wval, 0);
+      if (cmdtyp == 1)
+       {
+         wd = alloc_word_desc ();
+         wd->word = wval;
+         yylval.word_list = make_word_list (wd, (WORD_LIST *)NULL);
+         return (ARITH_FOR_EXPRS);
+       }
+      else
+       return -1;              /* ERROR */
+    }
+#endif
+
+#if defined (DPAREN_ARITHMETIC)
+  if (reserved_word_acceptable (last_read_token))
+    {
+      sline = line_number;
+
+      cmdtyp = parse_arith_cmd (&wval, 0);
+      if (cmdtyp == 1) /* arithmetic command */
+       {
+         wd = alloc_word_desc ();
+         wd->word = wval;
+         wd->flags = W_QUOTED|W_NOSPLIT|W_NOGLOB|W_DQUOTE;
+         yylval.word_list = make_word_list (wd, (WORD_LIST *)NULL);
+         return (ARITH_CMD);
+       }
+      else if (cmdtyp == 0)    /* nested subshell */
+       {
+         push_string (wval, 0, (alias_t *)NULL);
+         if ((parser_state & PST_CASEPAT) == 0)
+           parser_state |= PST_SUBSHELL;
+         return (c);
+       }
+      else                     /* ERROR */
+       return -1;
+    }
+#endif
+
+  return -2;                   /* XXX */
+}
+
+/* We've seen a `(('.  Look for the matching `))'.  If we get it, return 1.
+   If not, assume it's a nested subshell for backwards compatibility and
+   return 0.  In any case, put the characters we've consumed into a locally-
+   allocated buffer and make *ep point to that buffer.  Return -1 on an
+   error, for example EOF. */
+static int
+parse_arith_cmd (ep, adddq)
+     char **ep;
+     int adddq;
+{
+  int exp_lineno, rval, c;
+  char *ttok, *tokstr;
+  int ttoklen;
+
+  exp_lineno = line_number;
+  ttok = parse_matched_pair (0, '(', ')', &ttoklen, 0);
+  rval = 1;
+  if (ttok == &matched_pair_error)
+    return -1;
+  /* Check that the next character is the closing right paren.  If
+     not, this is a syntax error. ( */
+  c = shell_getc (0);
+  if MBTEST(c != ')')
+    rval = 0;
+
+  tokstr = (char *)xmalloc (ttoklen + 4);
+
+  /* if ADDDQ != 0 then (( ... )) -> "..." */
+  if (rval == 1 && adddq)      /* arith cmd, add double quotes */
+    {
+      tokstr[0] = '"';
+      strncpy (tokstr + 1, ttok, ttoklen - 1);
+      tokstr[ttoklen] = '"';
+      tokstr[ttoklen+1] = '\0';
+    }
+  else if (rval == 1)          /* arith cmd, don't add double quotes */
+    {
+      strncpy (tokstr, ttok, ttoklen - 1);
+      tokstr[ttoklen-1] = '\0';
+    }
+  else                         /* nested subshell */
+    {
+      tokstr[0] = '(';
+      strncpy (tokstr + 1, ttok, ttoklen - 1);
+      tokstr[ttoklen] = ')';
+      tokstr[ttoklen+1] = c;
+      tokstr[ttoklen+2] = '\0';
+    }
+
+  *ep = tokstr;
+  FREE (ttok);
+  return rval;
+}
+#endif /* DPAREN_ARITHMETIC || ARITH_FOR_COMMAND */
+
+#if defined (COND_COMMAND)
+static void
+cond_error ()
+{
+  char *etext;
+
+  if (EOF_Reached && cond_token != COND_ERROR)         /* [[ */
+    parser_error (cond_lineno, _("unexpected EOF while looking for `]]'"));
+  else if (cond_token != COND_ERROR)
+    {
+      if (etext = error_token_from_token (cond_token))
+       {
+         parser_error (cond_lineno, _("syntax error in conditional expression: unexpected token `%s'"), etext);
+         free (etext);
+       }
+      else
+       parser_error (cond_lineno, _("syntax error in conditional expression"));
+    }
+}
+
+static COND_COM *
+cond_expr ()
+{
+  return (cond_or ());  
+}
+
+static COND_COM *
+cond_or ()
+{
+  COND_COM *l, *r;
+
+  l = cond_and ();
+  if (cond_token == OR_OR)
+    {
+      r = cond_or ();
+      l = make_cond_node (COND_OR, (WORD_DESC *)NULL, l, r);
+    }
+  return l;
+}
+
+static COND_COM *
+cond_and ()
+{
+  COND_COM *l, *r;
+
+  l = cond_term ();
+  if (cond_token == AND_AND)
+    {
+      r = cond_and ();
+      l = make_cond_node (COND_AND, (WORD_DESC *)NULL, l, r);
+    }
+  return l;
+}
+
+static int
+cond_skip_newlines ()
+{
+  while ((cond_token = read_token (READ)) == '\n')
+    {
+      if (SHOULD_PROMPT ())
+       prompt_again ();
+    }
+  return (cond_token);
+}
+
+#define COND_RETURN_ERROR() \
+  do { cond_token = COND_ERROR; return ((COND_COM *)NULL); } while (0)
+
+static COND_COM *
+cond_term ()
+{
+  WORD_DESC *op;
+  COND_COM *term, *tleft, *tright;
+  int tok, lineno;
+  char *etext;
+
+  /* Read a token.  It can be a left paren, a `!', a unary operator, or a
+     word that should be the first argument of a binary operator.  Start by
+     skipping newlines, since this is a compound command. */
+  tok = cond_skip_newlines ();
+  lineno = line_number;
+  if (tok == COND_END)
+    {
+      COND_RETURN_ERROR ();
+    }
+  else if (tok == '(')
+    {
+      term = cond_expr ();
+      if (cond_token != ')')
+       {
+         if (term)
+           dispose_cond_node (term);           /* ( */
+         if (etext = error_token_from_token (cond_token))
+           {
+             parser_error (lineno, _("unexpected token `%s', expected `)'"), etext);
+             free (etext);
+           }
+         else
+           parser_error (lineno, _("expected `)'"));
+         COND_RETURN_ERROR ();
+       }
+      term = make_cond_node (COND_EXPR, (WORD_DESC *)NULL, term, (COND_COM *)NULL);
+      (void)cond_skip_newlines ();
+    }
+  else if (tok == BANG || (tok == WORD && (yylval.word->word[0] == '!' && yylval.word->word[1] == '\0')))
+    {
+      if (tok == WORD)
+       dispose_word (yylval.word);     /* not needed */
+      term = cond_term ();
+      if (term)
+       term->flags |= CMD_INVERT_RETURN;
+    }
+  else if (tok == WORD && yylval.word->word[0] == '-' && yylval.word->word[2] == 0 && test_unop (yylval.word->word))
+    {
+      op = yylval.word;
+      tok = read_token (READ);
+      if (tok == WORD)
+       {
+         tleft = make_cond_node (COND_TERM, yylval.word, (COND_COM *)NULL, (COND_COM *)NULL);
+         term = make_cond_node (COND_UNARY, op, tleft, (COND_COM *)NULL);
+       }
+      else
+       {
+         dispose_word (op);
+         if (etext = error_token_from_token (tok))
+           {
+             parser_error (line_number, _("unexpected argument `%s' to conditional unary operator"), etext);
+             free (etext);
+           }
+         else
+           parser_error (line_number, _("unexpected argument to conditional unary operator"));
+         COND_RETURN_ERROR ();
+       }
+
+      (void)cond_skip_newlines ();
+    }
+  else if (tok == WORD)                /* left argument to binary operator */
+    {
+      /* lhs */
+      tleft = make_cond_node (COND_TERM, yylval.word, (COND_COM *)NULL, (COND_COM *)NULL);
+
+      /* binop */
+      tok = read_token (READ);
+      if (tok == WORD && test_binop (yylval.word->word))
+       {
+         op = yylval.word;
+         if (op->word[0] == '=' && (op->word[1] == '\0' || (op->word[1] == '=' && op->word[2] == '\0')))
+           parser_state |= PST_EXTPAT;
+         else if (op->word[0] == '!' && op->word[1] == '=' && op->word[2] == '\0')
+           parser_state |= PST_EXTPAT;
+       }
+#if defined (COND_REGEXP)
+      else if (tok == WORD && STREQ (yylval.word->word, "=~"))
+       {
+         op = yylval.word;
+         parser_state |= PST_REGEXP;
+       }
+#endif
+      else if (tok == '<' || tok == '>')
+       op = make_word_from_token (tok);  /* ( */
+      /* There should be a check before blindly accepting the `)' that we have
+        seen the opening `('. */
+      else if (tok == COND_END || tok == AND_AND || tok == OR_OR || tok == ')')
+       {
+         /* Special case.  [[ x ]] is equivalent to [[ -n x ]], just like
+            the test command.  Similarly for [[ x && expr ]] or
+            [[ x || expr ]] or [[ (x) ]]. */
+         op = make_word ("-n");
+         term = make_cond_node (COND_UNARY, op, tleft, (COND_COM *)NULL);
+         cond_token = tok;
+         return (term);
+       }
+      else
+       {
+         if (etext = error_token_from_token (tok))
+           {
+             parser_error (line_number, _("unexpected token `%s', conditional binary operator expected"), etext);
+             free (etext);
+           }
+         else
+           parser_error (line_number, _("conditional binary operator expected"));
+         dispose_cond_node (tleft);
+         COND_RETURN_ERROR ();
+       }
+
+      /* rhs */
+      if (parser_state & PST_EXTPAT)
+       extended_glob = 1;
+      tok = read_token (READ);
+      if (parser_state & PST_EXTPAT)
+       extended_glob = global_extglob;
+      parser_state &= ~(PST_REGEXP|PST_EXTPAT);
+
+      if (tok == WORD)
+       {
+         tright = make_cond_node (COND_TERM, yylval.word, (COND_COM *)NULL, (COND_COM *)NULL);
+         term = make_cond_node (COND_BINARY, op, tleft, tright);
+       }
+      else
+       {
+         if (etext = error_token_from_token (tok))
+           {
+             parser_error (line_number, _("unexpected argument `%s' to conditional binary operator"), etext);
+             free (etext);
+           }
+         else
+           parser_error (line_number, _("unexpected argument to conditional binary operator"));
+         dispose_cond_node (tleft);
+         dispose_word (op);
+         COND_RETURN_ERROR ();
+       }
+
+      (void)cond_skip_newlines ();
+    }
+  else
+    {
+      if (tok < 256)
+       parser_error (line_number, _("unexpected token `%c' in conditional command"), tok);
+      else if (etext = error_token_from_token (tok))
+       {
+         parser_error (line_number, _("unexpected token `%s' in conditional command"), etext);
+         free (etext);
+       }
+      else
+       parser_error (line_number, _("unexpected token %d in conditional command"), tok);
+      COND_RETURN_ERROR ();
+    }
+  return (term);
+}      
+
+/* This is kind of bogus -- we slip a mini recursive-descent parser in
+   here to handle the conditional statement syntax. */
+static COMMAND *
+parse_cond_command ()
+{
+  COND_COM *cexp;
+
+  global_extglob = extended_glob;
+  cexp = cond_expr ();
+  return (make_cond_command (cexp));
+}
+#endif
+
+#if defined (ARRAY_VARS)
+/* When this is called, it's guaranteed that we don't care about anything
+   in t beyond i.  We do save and restore the chars, though. */
+static int
+token_is_assignment (t, i)
+     char *t;
+     int i;
+{
+  unsigned char c, c1;
+  int r;
+
+  c = t[i]; c1 = t[i+1];
+  t[i] = '='; t[i+1] = '\0';
+  r = assignment (t, (parser_state & PST_COMPASSIGN) != 0);
+  t[i] = c; t[i+1] = c1;
+  return r;
+}
+
+/* XXX - possible changes here for `+=' */
+static int
+token_is_ident (t, i)
+     char *t;
+     int i;
+{
+  unsigned char c;
+  int r;
+
+  c = t[i];
+  t[i] = '\0';
+  r = legal_identifier (t);
+  t[i] = c;
+  return r;
+}
+#endif
+
+static int
+read_token_word (character)
+     int character;
+{
+  /* The value for YYLVAL when a WORD is read. */
+  WORD_DESC *the_word;
+
+  /* Index into the token that we are building. */
+  int token_index;
+
+  /* ALL_DIGITS becomes zero when we see a non-digit. */
+  int all_digit_token;
+
+  /* DOLLAR_PRESENT becomes non-zero if we see a `$'. */
+  int dollar_present;
+
+  /* COMPOUND_ASSIGNMENT becomes non-zero if we are parsing a compound
+     assignment. */
+  int compound_assignment;
+
+  /* QUOTED becomes non-zero if we see one of ("), ('), (`), or (\). */
+  int quoted;
+
+  /* Non-zero means to ignore the value of the next character, and just
+     to add it no matter what. */
+ int pass_next_character;
+
+  /* The current delimiting character. */
+  int cd;
+  int result, peek_char;
+  char *ttok, *ttrans;
+  int ttoklen, ttranslen;
+  intmax_t lvalue;
+
+  if (token_buffer_size < TOKEN_DEFAULT_INITIAL_SIZE)
+    token = (char *)xrealloc (token, token_buffer_size = TOKEN_DEFAULT_INITIAL_SIZE);
+
+  token_index = 0;
+  all_digit_token = DIGIT (character);
+  dollar_present = quoted = pass_next_character = compound_assignment = 0;
+
+  for (;;)
+    {
+      if (character == EOF)
+       goto got_token;
+
+      if (pass_next_character)
+       {
+         pass_next_character = 0;
+         goto got_escaped_character;
+       }
+
+      cd = current_delimiter (dstack);
+
+      /* Handle backslashes.  Quote lots of things when not inside of
+        double-quotes, quote some things inside of double-quotes. */
+      if MBTEST(character == '\\')
+       {
+         peek_char = shell_getc (0);
+
+         /* Backslash-newline is ignored in all cases except
+            when quoted with single quotes. */
+         if (peek_char == '\n')
+           {
+             character = '\n';
+             goto next_character;
+           }
+         else
+           {
+             shell_ungetc (peek_char);
+
+             /* If the next character is to be quoted, note it now. */
+             if (cd == 0 || cd == '`' ||
+                 (cd == '"' && peek_char >= 0 && (sh_syntaxtab[peek_char] & CBSDQUOTE)))
+               pass_next_character++;
+
+             quoted = 1;
+             goto got_character;
+           }
+       }
+
+      /* Parse a matched pair of quote characters. */
+      if MBTEST(shellquote (character))
+       {
+         push_delimiter (dstack, character);
+         ttok = parse_matched_pair (character, character, character, &ttoklen, (character == '`') ? P_COMMAND : 0);
+         pop_delimiter (dstack);
+         if (ttok == &matched_pair_error)
+           return -1;          /* Bail immediately. */
+         RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2,
+                                 token_buffer_size, TOKEN_DEFAULT_GROW_SIZE);
+         token[token_index++] = character;
+         strcpy (token + token_index, ttok);
+         token_index += ttoklen;
+         all_digit_token = 0;
+         quoted = 1;
+         dollar_present |= (character == '"' && strchr (ttok, '$') != 0);
+         FREE (ttok);
+         goto next_character;
+       }
+
+#ifdef COND_REGEXP
+      /* When parsing a regexp as a single word inside a conditional command,
+        we need to special-case characters special to both the shell and
+        regular expressions.  Right now, that is only '(' and '|'. */ /*)*/
+      if MBTEST((parser_state & PST_REGEXP) && (character == '(' || character == '|'))         /*)*/
+       {
+         if (character == '|')
+           goto got_character;
+
+         push_delimiter (dstack, character);
+         ttok = parse_matched_pair (cd, '(', ')', &ttoklen, 0);
+         pop_delimiter (dstack);
+         if (ttok == &matched_pair_error)
+           return -1;          /* Bail immediately. */
+         RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2,
+                                 token_buffer_size, TOKEN_DEFAULT_GROW_SIZE);
+         token[token_index++] = character;
+         strcpy (token + token_index, ttok);
+         token_index += ttoklen;
+         FREE (ttok);
+         dollar_present = all_digit_token = 0;
+         goto next_character;
+       }
+#endif /* COND_REGEXP */
+
+#ifdef EXTENDED_GLOB
+      /* Parse a ksh-style extended pattern matching specification. */
+      if MBTEST(extended_glob && PATTERN_CHAR (character))
+       {
+         peek_char = shell_getc (1);
+         if MBTEST(peek_char == '(')           /* ) */
+           {
+             push_delimiter (dstack, peek_char);
+             ttok = parse_matched_pair (cd, '(', ')', &ttoklen, 0);
+             pop_delimiter (dstack);
+             if (ttok == &matched_pair_error)
+               return -1;              /* Bail immediately. */
+             RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 3,
+                                     token_buffer_size,
+                                     TOKEN_DEFAULT_GROW_SIZE);
+             token[token_index++] = character;
+             token[token_index++] = peek_char;
+             strcpy (token + token_index, ttok);
+             token_index += ttoklen;
+             FREE (ttok);
+             dollar_present = all_digit_token = 0;
+             goto next_character;
+           }
+         else
+           shell_ungetc (peek_char);
+       }
+#endif /* EXTENDED_GLOB */
+
+      /* If the delimiter character is not single quote, parse some of
+        the shell expansions that must be read as a single word. */
+      if (shellexp (character))
+       {
+         peek_char = shell_getc (1);
+         /* $(...), <(...), >(...), $((...)), ${...}, and $[...] constructs */
+         if MBTEST(peek_char == '(' ||
+               ((peek_char == '{' || peek_char == '[') && character == '$'))   /* ) ] } */
+           {
+             if (peek_char == '{')             /* } */
+               ttok = parse_matched_pair (cd, '{', '}', &ttoklen, P_FIRSTCLOSE|P_DOLBRACE);
+             else if (peek_char == '(')                /* ) */
+               {
+                 /* XXX - push and pop the `(' as a delimiter for use by
+                    the command-oriented-history code.  This way newlines
+                    appearing in the $(...) string get added to the
+                    history literally rather than causing a possibly-
+                    incorrect `;' to be added. ) */
+                 push_delimiter (dstack, peek_char);
+                 ttok = parse_comsub (cd, '(', ')', &ttoklen, P_COMMAND);
+                 pop_delimiter (dstack);
+               }
+             else
+               ttok = parse_matched_pair (cd, '[', ']', &ttoklen, 0);
+             if (ttok == &matched_pair_error)
+               return -1;              /* Bail immediately. */
+             RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 3,
+                                     token_buffer_size,
+                                     TOKEN_DEFAULT_GROW_SIZE);
+             token[token_index++] = character;
+             token[token_index++] = peek_char;
+             strcpy (token + token_index, ttok);
+             token_index += ttoklen;
+             FREE (ttok);
+             dollar_present = 1;
+             all_digit_token = 0;
+             goto next_character;
+           }
+         /* This handles $'...' and $"..." new-style quoted strings. */
+         else if MBTEST(character == '$' && (peek_char == '\'' || peek_char == '"'))
+           {
+             int first_line;
+
+             first_line = line_number;
+             push_delimiter (dstack, peek_char);
+             ttok = parse_matched_pair (peek_char, peek_char, peek_char,
+                                        &ttoklen,
+                                        (peek_char == '\'') ? P_ALLOWESC : 0);
+             pop_delimiter (dstack);
+             if (ttok == &matched_pair_error)
+               return -1;
+             if (peek_char == '\'')
+               {
+                 ttrans = ansiexpand (ttok, 0, ttoklen - 1, &ttranslen);
+                 free (ttok);
+
+                 /* Insert the single quotes and correctly quote any
+                    embedded single quotes (allowed because P_ALLOWESC was
+                    passed to parse_matched_pair). */
+                 ttok = sh_single_quote (ttrans);
+                 free (ttrans);
+                 ttranslen = strlen (ttok);
+                 ttrans = ttok;
+               }
+             else
+               {
+                 /* Try to locale-expand the converted string. */
+                 ttrans = localeexpand (ttok, 0, ttoklen - 1, first_line, &ttranslen);
+                 free (ttok);
+
+                 /* Add the double quotes back */
+                 ttok = sh_mkdoublequoted (ttrans, ttranslen, 0);
+                 free (ttrans);
+                 ttranslen += 2;
+                 ttrans = ttok;
+               }
+
+             RESIZE_MALLOCED_BUFFER (token, token_index, ttranslen + 1,
+                                     token_buffer_size,
+                                     TOKEN_DEFAULT_GROW_SIZE);
+             strcpy (token + token_index, ttrans);
+             token_index += ttranslen;
+             FREE (ttrans);
+             quoted = 1;
+             all_digit_token = 0;
+             goto next_character;
+           }
+         /* This could eventually be extended to recognize all of the
+            shell's single-character parameter expansions, and set flags.*/
+         else if MBTEST(character == '$' && peek_char == '$')
+           {
+             RESIZE_MALLOCED_BUFFER (token, token_index, 3,
+                                     token_buffer_size,
+                                     TOKEN_DEFAULT_GROW_SIZE);
+             token[token_index++] = '$';
+             token[token_index++] = peek_char;
+             dollar_present = 1;
+             all_digit_token = 0;
+             goto next_character;
+           }
+         else
+           shell_ungetc (peek_char);
+       }
+
+#if defined (ARRAY_VARS)
+      /* Identify possible array subscript assignment; match [...].  If
+        parser_state&PST_COMPASSIGN, we need to parse [sub]=words treating
+        `sub' as if it were enclosed in double quotes. */
+      else if MBTEST(character == '[' &&               /* ] */
+                    ((token_index > 0 && assignment_acceptable (last_read_token) && token_is_ident (token, token_index)) ||
+                     (token_index == 0 && (parser_state&PST_COMPASSIGN))))
+        {
+         ttok = parse_matched_pair (cd, '[', ']', &ttoklen, P_ARRAYSUB);
+         if (ttok == &matched_pair_error)
+           return -1;          /* Bail immediately. */
+         RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2,
+                                 token_buffer_size,
+                                 TOKEN_DEFAULT_GROW_SIZE);
+         token[token_index++] = character;
+         strcpy (token + token_index, ttok);
+         token_index += ttoklen;
+         FREE (ttok);
+         all_digit_token = 0;
+         goto next_character;
+        }
+      /* Identify possible compound array variable assignment. */
+      else if MBTEST(character == '=' && token_index > 0 && (assignment_acceptable (last_read_token) || (parser_state & PST_ASSIGNOK)) && token_is_assignment (token, token_index))
+       {
+         peek_char = shell_getc (1);
+         if MBTEST(peek_char == '(')           /* ) */
+           {
+             ttok = parse_compound_assignment (&ttoklen);
+
+             RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 4,
+                                     token_buffer_size,
+                                     TOKEN_DEFAULT_GROW_SIZE);
+
+             token[token_index++] = '=';
+             token[token_index++] = '(';
+             if (ttok)
+               {
+                 strcpy (token + token_index, ttok);
+                 token_index += ttoklen;
+               }
+             token[token_index++] = ')';
+             FREE (ttok);
+             all_digit_token = 0;
+             compound_assignment = 1;
+#if 1
+             goto next_character;
+#else
+             goto got_token;           /* ksh93 seems to do this */
+#endif
+           }
+         else
+           shell_ungetc (peek_char);
+       }
+#endif
+
+      /* When not parsing a multi-character word construct, shell meta-
+        characters break words. */
+      if MBTEST(shellbreak (character))
+       {
+         shell_ungetc (character);
+         goto got_token;
+       }
+
+got_character:
+
+      if (character == CTLESC || character == CTLNUL)
+       {
+         RESIZE_MALLOCED_BUFFER (token, token_index, 2, token_buffer_size,
+                                 TOKEN_DEFAULT_GROW_SIZE);
+         token[token_index++] = CTLESC;
+       }
+      else
+got_escaped_character:
+       RESIZE_MALLOCED_BUFFER (token, token_index, 1, token_buffer_size,
+                               TOKEN_DEFAULT_GROW_SIZE);
+
+      token[token_index++] = character;
+
+      all_digit_token &= DIGIT (character);
+      dollar_present |= character == '$';
+
+    next_character:
+      if (character == '\n' && SHOULD_PROMPT ())
+       prompt_again ();
+
+      /* We want to remove quoted newlines (that is, a \<newline> pair)
+        unless we are within single quotes or pass_next_character is
+        set (the shell equivalent of literal-next). */
+      cd = current_delimiter (dstack);
+      character = shell_getc (cd != '\'' && pass_next_character == 0);
+    }  /* end for (;;) */
+
+got_token:
+
+  /* Calls to RESIZE_MALLOCED_BUFFER ensure there is sufficient room. */
+  token[token_index] = '\0';
+
+  /* Check to see what thing we should return.  If the last_read_token
+     is a `<', or a `&', or the character which ended this token is
+     a '>' or '<', then, and ONLY then, is this input token a NUMBER.
+     Otherwise, it is just a word, and should be returned as such. */
+  if MBTEST(all_digit_token && (character == '<' || character == '>' ||
+                   last_read_token == LESS_AND ||
+                   last_read_token == GREATER_AND))
+      {
+       if (legal_number (token, &lvalue) && (int)lvalue == lvalue)
+         yylval.number = lvalue;
+       else
+         yylval.number = -1;
+       return (NUMBER);
+      }
+
+  /* Check for special case tokens. */
+  result = (last_shell_getc_is_singlebyte) ? special_case_tokens (token) : -1;
+  if (result >= 0)
+    return result;
+
+#if defined (ALIAS)
+  /* Posix.2 does not allow reserved words to be aliased, so check for all
+     of them, including special cases, before expanding the current token
+     as an alias. */
+  if MBTEST(posixly_correct)
+    CHECK_FOR_RESERVED_WORD (token);
+
+  /* Aliases are expanded iff EXPAND_ALIASES is non-zero, and quoting
+     inhibits alias expansion. */
+  if (expand_aliases && quoted == 0)
+    {
+      result = alias_expand_token (token);
+      if (result == RE_READ_TOKEN)
+       return (RE_READ_TOKEN);
+      else if (result == NO_EXPANSION)
+       parser_state &= ~PST_ALEXPNEXT;
+    }
+
+  /* If not in Posix.2 mode, check for reserved words after alias
+     expansion. */
+  if MBTEST(posixly_correct == 0)
+#endif
+    CHECK_FOR_RESERVED_WORD (token);
+
+  the_word = (WORD_DESC *)xmalloc (sizeof (WORD_DESC));
+  the_word->word = (char *)xmalloc (1 + token_index);
+  the_word->flags = 0;
+  strcpy (the_word->word, token);
+  if (dollar_present)
+    the_word->flags |= W_HASDOLLAR;
+  if (quoted)
+    the_word->flags |= W_QUOTED;               /*(*/
+  if (compound_assignment && token[token_index-1] == ')')
+    the_word->flags |= W_COMPASSIGN;
+  /* A word is an assignment if it appears at the beginning of a
+     simple command, or after another assignment word.  This is
+     context-dependent, so it cannot be handled in the grammar. */
+  if (assignment (token, (parser_state & PST_COMPASSIGN) != 0))
+    {
+      the_word->flags |= W_ASSIGNMENT;
+      /* Don't perform word splitting on assignment statements. */
+      if (assignment_acceptable (last_read_token) || (parser_state & PST_COMPASSIGN) != 0)
+       the_word->flags |= W_NOSPLIT;
+    }
+
+  if (command_token_position (last_read_token))
+    {
+      struct builtin *b;
+      b = builtin_address_internal (token, 0);
+      if (b && (b->flags & ASSIGNMENT_BUILTIN))
+       parser_state |= PST_ASSIGNOK;
+      else if (STREQ (token, "eval") || STREQ (token, "let"))
+       parser_state |= PST_ASSIGNOK;
+    }
+
+  yylval.word = the_word;
+
+  if (token[0] == '{' && token[token_index-1] == '}' &&
+      (character == '<' || character == '>'))
+    {
+      /* can use token; already copied to the_word */
+      token[token_index-1] = '\0';
+      if (legal_identifier (token+1))
+       {
+         strcpy (the_word->word, token+1);
+/*itrace("read_token_word: returning REDIR_WORD for %s", the_word->word);*/
+         return (REDIR_WORD);
+       }
+    }
+
+  result = ((the_word->flags & (W_ASSIGNMENT|W_NOSPLIT)) == (W_ASSIGNMENT|W_NOSPLIT))
+               ? ASSIGNMENT_WORD : WORD;
+
+  switch (last_read_token)
+    {
+    case FUNCTION:
+      parser_state |= PST_ALLOWOPNBRC;
+      function_dstart = line_number;
+      break;
+    case CASE:
+    case SELECT:
+    case FOR:
+      if (word_top < MAX_CASE_NEST)
+       word_top++;
+      word_lineno[word_top] = line_number;
+      break;
+    }
+
+  return (result);
+}
+
+/* Return 1 if TOKSYM is a token that after being read would allow
+   a reserved word to be seen, else 0. */
+static int
+reserved_word_acceptable (toksym)
+     int toksym;
+{
+  switch (toksym)
+    {
+    case '\n':
+    case ';':
+    case '(':
+    case ')':
+    case '|':
+    case '&':
+    case '{':
+    case '}':          /* XXX */
+    case AND_AND:
+    case BANG:
+    case BAR_AND:
+    case DO:
+    case DONE:
+    case ELIF:
+    case ELSE:
+    case ESAC:
+    case FI:
+    case IF:
+    case OR_OR:
+    case SEMI_SEMI:
+    case SEMI_AND:
+    case SEMI_SEMI_AND:
+    case THEN:
+    case TIME:
+    case TIMEOPT:
+    case TIMEIGN:
+    case COPROC:
+    case UNTIL:
+    case WHILE:
+    case 0:
+      return 1;
+    default:
+#if defined (COPROCESS_SUPPORT)
+      if (last_read_token == WORD && token_before_that == COPROC)
+       return 1;
+#endif
+      if (last_read_token == WORD && token_before_that == FUNCTION)
+       return 1;
+      return 0;
+    }
+}
+    
+/* Return the index of TOKEN in the alist of reserved words, or -1 if
+   TOKEN is not a shell reserved word. */
+int
+find_reserved_word (tokstr)
+     char *tokstr;
+{
+  int i;
+  for (i = 0; word_token_alist[i].word; i++)
+    if (STREQ (tokstr, word_token_alist[i].word))
+      return i;
+  return -1;
+}
+
+#if 0
+#if defined (READLINE)
+/* Called after each time readline is called.  This insures that whatever
+   the new prompt string is gets propagated to readline's local prompt
+   variable. */
+static void
+reset_readline_prompt ()
+{
+  char *temp_prompt;
+
+  if (prompt_string_pointer)
+    {
+      temp_prompt = (*prompt_string_pointer)
+                       ? decode_prompt_string (*prompt_string_pointer)
+                       : (char *)NULL;
+
+      if (temp_prompt == 0)
+       {
+         temp_prompt = (char *)xmalloc (1);
+         temp_prompt[0] = '\0';
+       }
+
+      FREE (current_readline_prompt);
+      current_readline_prompt = temp_prompt;
+    }
+}
+#endif /* READLINE */
+#endif /* 0 */
+
+#if defined (HISTORY)
+/* A list of tokens which can be followed by newlines, but not by
+   semi-colons.  When concatenating multiple lines of history, the
+   newline separator for such tokens is replaced with a space. */
+static const int no_semi_successors[] = {
+  '\n', '{', '(', ')', ';', '&', '|',
+  CASE, DO, ELSE, IF, SEMI_SEMI, SEMI_AND, SEMI_SEMI_AND, THEN, UNTIL,
+  WHILE, AND_AND, OR_OR, IN,
+  0
+};
+
+/* If we are not within a delimited expression, try to be smart
+   about which separators can be semi-colons and which must be
+   newlines.  Returns the string that should be added into the
+   history entry.  LINE is the line we're about to add; it helps
+   make some more intelligent decisions in certain cases. */
+char *
+history_delimiting_chars (line)
+     const char *line;
+{
+  static int last_was_heredoc = 0;     /* was the last entry the start of a here document? */
+  register int i;
+
+  if ((parser_state & PST_HEREDOC) == 0)
+    last_was_heredoc = 0;
+
+  if (dstack.delimiter_depth != 0)
+    return ("\n");
+
+  /* We look for current_command_line_count == 2 because we are looking to
+     add the first line of the body of the here document (the second line
+     of the command).  We also keep LAST_WAS_HEREDOC as a private sentinel
+     variable to note when we think we added the first line of a here doc
+     (the one with a "<<" somewhere in it) */
+  if (parser_state & PST_HEREDOC)
+    {
+      if (last_was_heredoc)
+       {
+         last_was_heredoc = 0;
+         return "\n";
+       }
+      return (current_command_line_count == 2 ? "\n" : "");
+    }
+
+  /* First, handle some special cases. */
+  /*(*/
+  /* If we just read `()', assume it's a function definition, and don't
+     add a semicolon.  If the token before the `)' was not `(', and we're
+     not in the midst of parsing a case statement, assume it's a
+     parenthesized command and add the semicolon. */
+  /*)(*/
+  if (token_before_that == ')')
+    {
+      if (two_tokens_ago == '(')       /*)*/   /* function def */
+       return " ";
+      /* This does not work for subshells inside case statement
+        command lists.  It's a suboptimal solution. */
+      else if (parser_state & PST_CASESTMT)    /* case statement pattern */
+       return " ";
+      else     
+       return "; ";                            /* (...) subshell */
+    }
+  else if (token_before_that == WORD && two_tokens_ago == FUNCTION)
+    return " ";                /* function def using `function name' without `()' */
+
+  /* If we're not in a here document, but we think we're about to parse one,
+     and we would otherwise return a `;', return a newline to delimit the
+     line with the here-doc delimiter */
+  else if ((parser_state & PST_HEREDOC) == 0 && current_command_line_count > 1 && last_read_token == '\n' && strstr (line, "<<"))
+    {
+      last_was_heredoc = 1;
+      return "\n";
+    }
+
+  else if (token_before_that == WORD && two_tokens_ago == FOR)
+    {
+      /* Tricky.  `for i\nin ...' should not have a semicolon, but
+        `for i\ndo ...' should.  We do what we can. */
+      for (i = shell_input_line_index; whitespace (shell_input_line[i]); i++)
+       ;
+      if (shell_input_line[i] && shell_input_line[i] == 'i' && shell_input_line[i+1] == 'n')
+       return " ";
+      return ";";
+    }
+  else if (two_tokens_ago == CASE && token_before_that == WORD && (parser_state & PST_CASESTMT))
+    return " ";
+
+  for (i = 0; no_semi_successors[i]; i++)
+    {
+      if (token_before_that == no_semi_successors[i])
+       return (" ");
+    }
+
+  return ("; ");
+}
+#endif /* HISTORY */
+
+/* Issue a prompt, or prepare to issue a prompt when the next character
+   is read. */
+static void
+prompt_again ()
+{
+  char *temp_prompt;
+
+  if (interactive == 0 || expanding_alias ())  /* XXX */
+    return;
+
+  ps1_prompt = get_string_value ("PS1");
+  ps2_prompt = get_string_value ("PS2");
+
+  if (!prompt_string_pointer)
+    prompt_string_pointer = &ps1_prompt;
+
+  temp_prompt = *prompt_string_pointer
+                       ? decode_prompt_string (*prompt_string_pointer)
+                       : (char *)NULL;
+
+  if (temp_prompt == 0)
+    {
+      temp_prompt = (char *)xmalloc (1);
+      temp_prompt[0] = '\0';
+    }
+
+  current_prompt_string = *prompt_string_pointer;
+  prompt_string_pointer = &ps2_prompt;
+
+#if defined (READLINE)
+  if (!no_line_editing)
+    {
+      FREE (current_readline_prompt);
+      current_readline_prompt = temp_prompt;
+    }
+  else
+#endif /* READLINE */
+    {
+      FREE (current_decoded_prompt);
+      current_decoded_prompt = temp_prompt;
+    }
+}
+
+int
+get_current_prompt_level ()
+{
+  return ((current_prompt_string && current_prompt_string == ps2_prompt) ? 2 : 1);
+}
+
+void
+set_current_prompt_level (x)
+     int x;
+{
+  prompt_string_pointer = (x == 2) ? &ps2_prompt : &ps1_prompt;
+  current_prompt_string = *prompt_string_pointer;
+}
+      
+static void
+print_prompt ()
+{
+  fprintf (stderr, "%s", current_decoded_prompt);
+  fflush (stderr);
+}
+
+/* Return a string which will be printed as a prompt.  The string
+   may contain special characters which are decoded as follows:
+
+       \a      bell (ascii 07)
+       \d      the date in Day Mon Date format
+       \e      escape (ascii 033)
+       \h      the hostname up to the first `.'
+       \H      the hostname
+       \j      the number of active jobs
+       \l      the basename of the shell's tty device name
+       \n      CRLF
+       \r      CR
+       \s      the name of the shell
+       \t      the time in 24-hour hh:mm:ss format
+       \T      the time in 12-hour hh:mm:ss format
+       \@      the time in 12-hour hh:mm am/pm format
+       \A      the time in 24-hour hh:mm format
+       \D{fmt} the result of passing FMT to strftime(3)
+       \u      your username
+       \v      the version of bash (e.g., 2.00)
+       \V      the release of bash, version + patchlevel (e.g., 2.00.0)
+       \w      the current working directory
+       \W      the last element of $PWD
+       \!      the history number of this command
+       \#      the command number of this command
+       \$      a $ or a # if you are root
+       \nnn    character code nnn in octal
+       \\      a backslash
+       \[      begin a sequence of non-printing chars
+       \]      end a sequence of non-printing chars
+*/
+#define PROMPT_GROWTH 48
+char *
+decode_prompt_string (string)
+     char *string;
+{
+  WORD_LIST *list;
+  char *result, *t;
+  struct dstack save_dstack;
+  int last_exit_value, last_comsub_pid;
+#if defined (PROMPT_STRING_DECODE)
+  int result_size, result_index;
+  int c, n, i;
+  char *temp, octal_string[4];
+  struct tm *tm;  
+  time_t the_time;
+  char timebuf[128];
+  char *timefmt;
+
+  result = (char *)xmalloc (result_size = PROMPT_GROWTH);
+  result[result_index = 0] = 0;
+  temp = (char *)NULL;
+
+  while (c = *string++)
+    {
+      if (posixly_correct && c == '!')
+       {
+         if (*string == '!')
+           {
+             temp = savestring ("!");
+             goto add_string;
+           }
+         else
+           {
+#if !defined (HISTORY)
+               temp = savestring ("1");
+#else /* HISTORY */
+               temp = itos (history_number ());
+#endif /* HISTORY */
+               string--;       /* add_string increments string again. */
+               goto add_string;
+           }
+       }
+      if (c == '\\')
+       {
+         c = *string;
+
+         switch (c)
+           {
+           case '0':
+           case '1':
+           case '2':
+           case '3':
+           case '4':
+           case '5':
+           case '6':
+           case '7':
+             strncpy (octal_string, string, 3);
+             octal_string[3] = '\0';
+
+             n = read_octal (octal_string);
+             temp = (char *)xmalloc (3);
+
+             if (n == CTLESC || n == CTLNUL)
+               {
+                 temp[0] = CTLESC;
+                 temp[1] = n;
+                 temp[2] = '\0';
+               }
+             else if (n == -1)
+               {
+                 temp[0] = '\\';
+                 temp[1] = '\0';
+               }
+             else
+               {
+                 temp[0] = n;
+                 temp[1] = '\0';
+               }
+
+             for (c = 0; n != -1 && c < 3 && ISOCTAL (*string); c++)
+               string++;
+
+             c = 0;            /* tested at add_string: */
+             goto add_string;
+
+           case 'd':
+           case 't':
+           case 'T':
+           case '@':
+           case 'A':
+             /* Make the current time/date into a string. */
+             (void) time (&the_time);
+#if defined (HAVE_TZSET)
+             sv_tz ("TZ");             /* XXX -- just make sure */
+#endif
+             tm = localtime (&the_time);
+
+             if (c == 'd')
+               n = strftime (timebuf, sizeof (timebuf), "%a %b %d", tm);
+             else if (c == 't')
+               n = strftime (timebuf, sizeof (timebuf), "%H:%M:%S", tm);
+             else if (c == 'T')
+               n = strftime (timebuf, sizeof (timebuf), "%I:%M:%S", tm);
+             else if (c == '@')
+               n = strftime (timebuf, sizeof (timebuf), "%I:%M %p", tm);
+             else if (c == 'A')
+               n = strftime (timebuf, sizeof (timebuf), "%H:%M", tm);
+
+             if (n == 0)
+               timebuf[0] = '\0';
+             else
+               timebuf[sizeof(timebuf) - 1] = '\0';
+
+             temp = savestring (timebuf);
+             goto add_string;
+
+           case 'D':           /* strftime format */
+             if (string[1] != '{')             /* } */
+               goto not_escape;
+
+             (void) time (&the_time);
+             tm = localtime (&the_time);
+             string += 2;                      /* skip { */
+             timefmt = xmalloc (strlen (string) + 3);
+             for (t = timefmt; *string && *string != '}'; )
+               *t++ = *string++;
+             *t = '\0';
+             c = *string;      /* tested at add_string */
+             if (timefmt[0] == '\0')
+               {
+                 timefmt[0] = '%';
+                 timefmt[1] = 'X';     /* locale-specific current time */
+                 timefmt[2] = '\0';
+               }
+             n = strftime (timebuf, sizeof (timebuf), timefmt, tm);
+             free (timefmt);
+
+             if (n == 0)
+               timebuf[0] = '\0';
+             else
+               timebuf[sizeof(timebuf) - 1] = '\0';
+
+             if (promptvars || posixly_correct)
+               /* Make sure that expand_prompt_string is called with a
+                  second argument of Q_DOUBLE_QUOTES if we use this
+                  function here. */
+               temp = sh_backslash_quote_for_double_quotes (timebuf);
+             else
+               temp = savestring (timebuf);
+             goto add_string;
+             
+           case 'n':
+             temp = (char *)xmalloc (3);
+             temp[0] = no_line_editing ? '\n' : '\r';
+             temp[1] = no_line_editing ? '\0' : '\n';
+             temp[2] = '\0';
+             goto add_string;
+
+           case 's':
+             temp = base_pathname (shell_name);
+             temp = savestring (temp);
+             goto add_string;
+
+           case 'v':
+           case 'V':
+             temp = (char *)xmalloc (16);
+             if (c == 'v')
+               strcpy (temp, dist_version);
+             else
+               sprintf (temp, "%s.%d", dist_version, patch_level);
+             goto add_string;
+
+           case 'w':
+           case 'W':
+             {
+               /* Use the value of PWD because it is much more efficient. */
+               char t_string[PATH_MAX];
+               int tlen;
+
+               temp = get_string_value ("PWD");
+
+               if (temp == 0)
+                 {
+                   if (getcwd (t_string, sizeof(t_string)) == 0)
+                     {
+                       t_string[0] = '.';
+                       tlen = 1;
+                     }
+                   else
+                     tlen = strlen (t_string);
+                 }
+               else
+                 {
+                   tlen = sizeof (t_string) - 1;
+                   strncpy (t_string, temp, tlen);
+                 }
+               t_string[tlen] = '\0';
+
+#if defined (MACOSX)
+               /* Convert from "fs" format to "input" format */
+               temp = fnx_fromfs (t_string, strlen (t_string));
+               if (temp != t_string)
+                 strcpy (t_string, temp);
+#endif
+
+#define ROOT_PATH(x)   ((x)[0] == '/' && (x)[1] == 0)
+#define DOUBLE_SLASH_ROOT(x)   ((x)[0] == '/' && (x)[1] == '/' && (x)[2] == 0)
+               /* Abbreviate \W as ~ if $PWD == $HOME */
+               if (c == 'W' && (((t = get_string_value ("HOME")) == 0) || STREQ (t, t_string) == 0))
+                 {
+                   if (ROOT_PATH (t_string) == 0 && DOUBLE_SLASH_ROOT (t_string) == 0)
+                     {
+                       t = strrchr (t_string, '/');
+                       if (t)
+                         memmove (t_string, t + 1, strlen (t));        /* strlen(t) to copy NULL */
+                     }
+                 }
+#undef ROOT_PATH
+#undef DOUBLE_SLASH_ROOT
+               else
+                 /* polite_directory_format is guaranteed to return a string
+                    no longer than PATH_MAX - 1 characters. */
+                 strcpy (t_string, polite_directory_format (t_string));
+
+               temp = trim_pathname (t_string, PATH_MAX - 1);
+               /* If we're going to be expanding the prompt string later,
+                  quote the directory name. */
+               if (promptvars || posixly_correct)
+                 /* Make sure that expand_prompt_string is called with a
+                    second argument of Q_DOUBLE_QUOTES if we use this
+                    function here. */
+                 temp = sh_backslash_quote_for_double_quotes (t_string);
+               else
+                 temp = savestring (t_string);
+
+               goto add_string;
+             }
+
+           case 'u':
+             if (current_user.user_name == 0)
+               get_current_user_info ();
+             temp = savestring (current_user.user_name);
+             goto add_string;
+
+           case 'h':
+           case 'H':
+             temp = savestring (current_host_name);
+             if (c == 'h' && (t = (char *)strchr (temp, '.')))
+               *t = '\0';
+             goto add_string;
+
+           case '#':
+             temp = itos (current_command_number);
+             goto add_string;
+
+           case '!':
+#if !defined (HISTORY)
+             temp = savestring ("1");
+#else /* HISTORY */
+             temp = itos (history_number ());
+#endif /* HISTORY */
+             goto add_string;
+
+           case '$':
+             t = temp = (char *)xmalloc (3);
+             if ((promptvars || posixly_correct) && (current_user.euid != 0))
+               *t++ = '\\';
+             *t++ = current_user.euid == 0 ? '#' : '$';
+             *t = '\0';
+             goto add_string;
+
+           case 'j':
+             temp = itos (count_all_jobs ());
+             goto add_string;
+
+           case 'l':
+#if defined (HAVE_TTYNAME)
+             temp = (char *)ttyname (fileno (stdin));
+             t = temp ? base_pathname (temp) : "tty";
+             temp = savestring (t);
+#else
+             temp = savestring ("tty");
+#endif /* !HAVE_TTYNAME */
+             goto add_string;
+
+#if defined (READLINE)
+           case '[':
+           case ']':
+             if (no_line_editing)
+               {
+                 string++;
+                 break;
+               }
+             temp = (char *)xmalloc (3);
+             n = (c == '[') ? RL_PROMPT_START_IGNORE : RL_PROMPT_END_IGNORE;
+             i = 0;
+             if (n == CTLESC || n == CTLNUL)
+               temp[i++] = CTLESC;
+             temp[i++] = n;
+             temp[i] = '\0';
+             goto add_string;
+#endif /* READLINE */
+
+           case '\\':
+           case 'a':
+           case 'e':
+           case 'r':
+             temp = (char *)xmalloc (2);
+             if (c == 'a')
+               temp[0] = '\07';
+             else if (c == 'e')
+               temp[0] = '\033';
+             else if (c == 'r')
+               temp[0] = '\r';
+             else                      /* (c == '\\') */
+               temp[0] = c;
+             temp[1] = '\0';
+             goto add_string;
+
+           default:
+not_escape:
+             temp = (char *)xmalloc (3);
+             temp[0] = '\\';
+             temp[1] = c;
+             temp[2] = '\0';
+
+           add_string:
+             if (c)
+               string++;
+             result =
+               sub_append_string (temp, result, &result_index, &result_size);
+             temp = (char *)NULL; /* Freed in sub_append_string (). */
+             result[result_index] = '\0';
+             break;
+           }
+       }
+      else
+       {
+         RESIZE_MALLOCED_BUFFER (result, result_index, 3, result_size, PROMPT_GROWTH);
+         result[result_index++] = c;
+         result[result_index] = '\0';
+       }
+    }
+#else /* !PROMPT_STRING_DECODE */
+  result = savestring (string);
+#endif /* !PROMPT_STRING_DECODE */
+
+  /* Save the delimiter stack and point `dstack' to temp space so any
+     command substitutions in the prompt string won't result in screwing
+     up the parser's quoting state. */
+  save_dstack = dstack;
+  dstack = temp_dstack;
+  dstack.delimiter_depth = 0;
+
+  /* Perform variable and parameter expansion and command substitution on
+     the prompt string. */
+  if (promptvars || posixly_correct)
+    {
+      last_exit_value = last_command_exit_value;
+      last_comsub_pid = last_command_subst_pid;
+      list = expand_prompt_string (result, Q_DOUBLE_QUOTES, 0);
+      free (result);
+      result = string_list (list);
+      dispose_words (list);
+      last_command_exit_value = last_exit_value;
+      last_command_subst_pid = last_comsub_pid;
+    }
+  else
+    {
+      t = dequote_string (result);
+      free (result);
+      result = t;
+    }
+
+  dstack = save_dstack;
+
+  return (result);
+}
+
+/************************************************
+ *                                             *
+ *             ERROR HANDLING                  *
+ *                                             *
+ ************************************************/
+
+/* Report a syntax error, and restart the parser.  Call here for fatal
+   errors. */
+int
+yyerror (msg)
+     const char *msg;
+{
+  report_syntax_error ((char *)NULL);
+  reset_parser ();
+  return (0);
+}
+
+static char *
+error_token_from_token (tok)
+     int tok;
+{
+  char *t;
+
+  if (t = find_token_in_alist (tok, word_token_alist, 0))
+    return t;
+
+  if (t = find_token_in_alist (tok, other_token_alist, 0))
+    return t;
+
+  t = (char *)NULL;
+  /* This stuff is dicy and needs closer inspection */
+  switch (current_token)
+    {
+    case WORD:
+    case ASSIGNMENT_WORD:
+      if (yylval.word)
+       t = savestring (yylval.word->word);
+      break;
+    case NUMBER:
+      t = itos (yylval.number);
+      break;
+    case ARITH_CMD:
+      if (yylval.word_list)
+        t = string_list (yylval.word_list);
+      break;
+    case ARITH_FOR_EXPRS:
+      if (yylval.word_list)
+       t = string_list_internal (yylval.word_list, " ; ");
+      break;
+    case COND_CMD:
+      t = (char *)NULL;                /* punt */
+      break;
+    }
+
+  return t;
+}
+
+static char *
+error_token_from_text ()
+{
+  char *msg, *t;
+  int token_end, i;
+
+  t = shell_input_line;
+  i = shell_input_line_index;
+  token_end = 0;
+  msg = (char *)NULL;
+
+  if (i && t[i] == '\0')
+    i--;
+
+  while (i && (whitespace (t[i]) || t[i] == '\n'))
+    i--;
+
+  if (i)
+    token_end = i + 1;
+
+  while (i && (member (t[i], " \n\t;|&") == 0))
+    i--;
+
+  while (i != token_end && (whitespace (t[i]) || t[i] == '\n'))
+    i++;
+
+  /* Return our idea of the offending token. */
+  if (token_end || (i == 0 && token_end == 0))
+    {
+      if (token_end)
+       msg = substring (t, i, token_end);
+      else     /* one-character token */
+       {
+         msg = (char *)xmalloc (2);
+         msg[0] = t[i];
+         msg[1] = '\0';
+       }
+    }
+
+  return (msg);
+}
+
+static void
+print_offending_line ()
+{
+  char *msg;
+  int token_end;
+
+  msg = savestring (shell_input_line);
+  token_end = strlen (msg);
+  while (token_end && msg[token_end - 1] == '\n')
+    msg[--token_end] = '\0';
+
+  parser_error (line_number, "`%s'", msg);
+  free (msg);
+}
+
+/* Report a syntax error with line numbers, etc.
+   Call here for recoverable errors.  If you have a message to print,
+   then place it in MESSAGE, otherwise pass NULL and this will figure
+   out an appropriate message for you. */
+static void
+report_syntax_error (message)
+     char *message;
+{
+  char *msg, *p;
+
+  if (message)
+    {
+      parser_error (line_number, "%s", message);
+      if (interactive && EOF_Reached)
+       EOF_Reached = 0;
+      last_command_exit_value = parse_and_execute_level ? EX_BADSYNTAX : EX_BADUSAGE;
+      return;
+    }
+
+  /* If the line of input we're reading is not null, try to find the
+     objectionable token.  First, try to figure out what token the
+     parser's complaining about by looking at current_token. */
+  if (current_token != 0 && EOF_Reached == 0 && (msg = error_token_from_token (current_token)))
+    {
+      if (ansic_shouldquote (msg))
+       {
+         p = ansic_quote (msg, 0, NULL);
+         free (msg);
+         msg = p;
+       }
+      parser_error (line_number, _("syntax error near unexpected token `%s'"), msg);
+      free (msg);
+
+      if (interactive == 0)
+       print_offending_line ();
+
+      last_command_exit_value = parse_and_execute_level ? EX_BADSYNTAX : EX_BADUSAGE;
+      return;
+    }
+
+  /* If looking at the current token doesn't prove fruitful, try to find the
+     offending token by analyzing the text of the input line near the current
+     input line index and report what we find. */
+  if (shell_input_line && *shell_input_line)
+    {
+      msg = error_token_from_text ();
+      if (msg)
+       {
+         parser_error (line_number, _("syntax error near `%s'"), msg);
+         free (msg);
+       }
+
+      /* If not interactive, print the line containing the error. */
+      if (interactive == 0)
+        print_offending_line ();
+    }
+  else
+    {
+      msg = EOF_Reached ? _("syntax error: unexpected end of file") : _("syntax error");
+      parser_error (line_number, "%s", msg);
+      /* When the shell is interactive, this file uses EOF_Reached
+        only for error reporting.  Other mechanisms are used to
+        decide whether or not to exit. */
+      if (interactive && EOF_Reached)
+       EOF_Reached = 0;
+    }
+
+  last_command_exit_value = parse_and_execute_level ? EX_BADSYNTAX : EX_BADUSAGE;
+}
+
+/* ??? Needed function. ??? We have to be able to discard the constructs
+   created during parsing.  In the case of error, we want to return
+   allocated objects to the memory pool.  In the case of no error, we want
+   to throw away the information about where the allocated objects live.
+   (dispose_command () will actually free the command.) */
+static void
+discard_parser_constructs (error_p)
+     int error_p;
+{
+}
+
+/************************************************
+ *                                             *
+ *             EOF HANDLING                    *
+ *                                             *
+ ************************************************/
+
+/* Do that silly `type "bye" to exit' stuff.  You know, "ignoreeof". */
+
+/* A flag denoting whether or not ignoreeof is set. */
+int ignoreeof = 0;
+
+/* The number of times that we have encountered an EOF character without
+   another character intervening.  When this gets above the limit, the
+   shell terminates. */
+int eof_encountered = 0;
+
+/* The limit for eof_encountered. */
+int eof_encountered_limit = 10;
+
+/* If we have EOF as the only input unit, this user wants to leave
+   the shell.  If the shell is not interactive, then just leave.
+   Otherwise, if ignoreeof is set, and we haven't done this the
+   required number of times in a row, print a message. */
+static void
+handle_eof_input_unit ()
+{
+  if (interactive)
+    {
+      /* shell.c may use this to decide whether or not to write out the
+        history, among other things.  We use it only for error reporting
+        in this file. */
+      if (EOF_Reached)
+       EOF_Reached = 0;
+
+      /* If the user wants to "ignore" eof, then let her do so, kind of. */
+      if (ignoreeof)
+       {
+         if (eof_encountered < eof_encountered_limit)
+           {
+             fprintf (stderr, _("Use \"%s\" to leave the shell.\n"),
+                      login_shell ? "logout" : "exit");
+             eof_encountered++;
+             /* Reset the parsing state. */
+             last_read_token = current_token = '\n';
+             /* Reset the prompt string to be $PS1. */
+             prompt_string_pointer = (char **)NULL;
+             prompt_again ();
+             return;
+           }
+       }
+
+      /* In this case EOF should exit the shell.  Do it now. */
+      reset_parser ();
+      exit_builtin ((WORD_LIST *)NULL);
+    }
+  else
+    {
+      /* We don't write history files, etc., for non-interactive shells. */
+      EOF_Reached = 1;
+    }
+}
+
+/************************************************
+ *                                             *
+ *     STRING PARSING FUNCTIONS                *
+ *                                             *
+ ************************************************/
+
+/* It's very important that these two functions treat the characters
+   between ( and ) identically. */
+
+static WORD_LIST parse_string_error;
+
+/* Take a string and run it through the shell parser, returning the
+   resultant word list.  Used by compound array assignment. */
+WORD_LIST *
+parse_string_to_word_list (s, flags, whom)
+     char *s;
+     int flags;
+     const char *whom;
+{
+  WORD_LIST *wl;
+  int tok, orig_current_token, orig_line_number, orig_input_terminator;
+  int orig_line_count;
+  int old_echo_input, old_expand_aliases;
+#if defined (HISTORY)
+  int old_remember_on_history, old_history_expansion_inhibited;
+#endif
+
+#if defined (HISTORY)
+  old_remember_on_history = remember_on_history;
+#  if defined (BANG_HISTORY)
+  old_history_expansion_inhibited = history_expansion_inhibited;
+#  endif
+  bash_history_disable ();
+#endif
+
+  orig_line_number = line_number;
+  orig_line_count = current_command_line_count;
+  orig_input_terminator = shell_input_line_terminator;
+  old_echo_input = echo_input_at_read;
+  old_expand_aliases = expand_aliases;
+
+  push_stream (1);
+  last_read_token = WORD;              /* WORD to allow reserved words here */
+  current_command_line_count = 0;
+  echo_input_at_read = expand_aliases = 0;
+
+  with_input_from_string (s, whom);
+  wl = (WORD_LIST *)NULL;
+
+  if (flags & 1)
+    parser_state |= PST_COMPASSIGN|PST_REPARSE;
+
+  while ((tok = read_token (READ)) != yacc_EOF)
+    {
+      if (tok == '\n' && *bash_input.location.string == '\0')
+       break;
+      if (tok == '\n')         /* Allow newlines in compound assignments */
+       continue;
+      if (tok != WORD && tok != ASSIGNMENT_WORD)
+       {
+         line_number = orig_line_number + line_number - 1;
+         orig_current_token = current_token;
+         current_token = tok;
+         yyerror (NULL);       /* does the right thing */
+         current_token = orig_current_token;
+         if (wl)
+           dispose_words (wl);
+         wl = &parse_string_error;
+         break;
+       }
+      wl = make_word_list (yylval.word, wl);
+    }
+  
+  last_read_token = '\n';
+  pop_stream ();
+
+#if defined (HISTORY)
+  remember_on_history = old_remember_on_history;
+#  if defined (BANG_HISTORY)
+  history_expansion_inhibited = old_history_expansion_inhibited;
+#  endif /* BANG_HISTORY */
+#endif /* HISTORY */
+
+  echo_input_at_read = old_echo_input;
+  expand_aliases = old_expand_aliases;
+
+  current_command_line_count = orig_line_count;
+  shell_input_line_terminator = orig_input_terminator;
+
+  if (flags & 1)
+    parser_state &= ~(PST_COMPASSIGN|PST_REPARSE);
+
+  if (wl == &parse_string_error)
+    {
+      last_command_exit_value = EXECUTION_FAILURE;
+      if (interactive_shell == 0 && posixly_correct)
+       jump_to_top_level (FORCE_EOF);
+      else
+       jump_to_top_level (DISCARD);
+    }
+
+  return (REVERSE_LIST (wl, WORD_LIST *));
+}
+
+static char *
+parse_compound_assignment (retlenp)
+     int *retlenp;
+{
+  WORD_LIST *wl, *rl;
+  int tok, orig_line_number, orig_token_size, orig_last_token, assignok;
+  char *saved_token, *ret;
+
+  saved_token = token;
+  orig_token_size = token_buffer_size;
+  orig_line_number = line_number;
+  orig_last_token = last_read_token;
+
+  last_read_token = WORD;      /* WORD to allow reserved words here */
+
+  token = (char *)NULL;
+  token_buffer_size = 0;
+
+  assignok = parser_state&PST_ASSIGNOK;                /* XXX */
+
+  wl = (WORD_LIST *)NULL;      /* ( */
+  parser_state |= PST_COMPASSIGN;
+
+  while ((tok = read_token (READ)) != ')')
+    {
+      if (tok == '\n')                 /* Allow newlines in compound assignments */
+       {
+         if (SHOULD_PROMPT ())
+           prompt_again ();
+         continue;
+       }
+      if (tok != WORD && tok != ASSIGNMENT_WORD)
+       {
+         current_token = tok;  /* for error reporting */
+         if (tok == yacc_EOF)  /* ( */
+           parser_error (orig_line_number, _("unexpected EOF while looking for matching `)'"));
+         else
+           yyerror(NULL);      /* does the right thing */
+         if (wl)
+           dispose_words (wl);
+         wl = &parse_string_error;
+         break;
+       }
+      wl = make_word_list (yylval.word, wl);
+    }
+
+  FREE (token);
+  token = saved_token;
+  token_buffer_size = orig_token_size;
+
+  parser_state &= ~PST_COMPASSIGN;
+
+  if (wl == &parse_string_error)
+    {
+      last_command_exit_value = EXECUTION_FAILURE;
+      last_read_token = '\n';  /* XXX */
+      if (interactive_shell == 0 && posixly_correct)
+       jump_to_top_level (FORCE_EOF);
+      else
+       jump_to_top_level (DISCARD);
+    }
+
+  last_read_token = orig_last_token;           /* XXX - was WORD? */
+
+  if (wl)
+    {
+      rl = REVERSE_LIST (wl, WORD_LIST *);
+      ret = string_list (rl);
+      dispose_words (rl);
+    }
+  else
+    ret = (char *)NULL;
+
+  if (retlenp)
+    *retlenp = (ret && *ret) ? strlen (ret) : 0;
+
+  if (assignok)
+    parser_state |= PST_ASSIGNOK;
+
+  return ret;
+}
+
+/************************************************
+ *                                             *
+ *   SAVING AND RESTORING PARTIAL PARSE STATE   *
+ *                                             *
+ ************************************************/
+
+sh_parser_state_t *
+save_parser_state (ps)
+     sh_parser_state_t *ps;
+{
+  if (ps == 0)
+    ps = (sh_parser_state_t *)xmalloc (sizeof (sh_parser_state_t));
+  if (ps == 0)
+    return ((sh_parser_state_t *)NULL);
+
+  ps->parser_state = parser_state;
+  ps->token_state = save_token_state ();
+
+  ps->input_line_terminator = shell_input_line_terminator;
+  ps->eof_encountered = eof_encountered;
+
+  ps->prompt_string_pointer = prompt_string_pointer;
+
+  ps->current_command_line_count = current_command_line_count;
+
+#if defined (HISTORY)
+  ps->remember_on_history = remember_on_history;
+#  if defined (BANG_HISTORY)
+  ps->history_expansion_inhibited = history_expansion_inhibited;
+#  endif
+#endif
+
+  ps->last_command_exit_value = last_command_exit_value;
+#if defined (ARRAY_VARS)
+  ps->pipestatus = save_pipestatus_array ();
+#endif
+    
+  ps->last_shell_builtin = last_shell_builtin;
+  ps->this_shell_builtin = this_shell_builtin;
+
+  ps->expand_aliases = expand_aliases;
+  ps->echo_input_at_read = echo_input_at_read;
+
+  ps->token = token;
+  ps->token_buffer_size = token_buffer_size;
+  /* Force reallocation on next call to read_token_word */
+  token = 0;
+  token_buffer_size = 0;
+
+  return (ps);
+}
+
+void
+restore_parser_state (ps)
+     sh_parser_state_t *ps;
+{
+  if (ps == 0)
+    return;
+
+  parser_state = ps->parser_state;
+  if (ps->token_state)
+    {
+      restore_token_state (ps->token_state);
+      free (ps->token_state);
+    }
+
+  shell_input_line_terminator = ps->input_line_terminator;
+  eof_encountered = ps->eof_encountered;
+
+  prompt_string_pointer = ps->prompt_string_pointer;
+
+  current_command_line_count = ps->current_command_line_count;
+
+#if defined (HISTORY)
+  remember_on_history = ps->remember_on_history;
+#  if defined (BANG_HISTORY)
+  history_expansion_inhibited = ps->history_expansion_inhibited;
+#  endif
+#endif
+
+  last_command_exit_value = ps->last_command_exit_value;
+#if defined (ARRAY_VARS)
+  restore_pipestatus_array (ps->pipestatus);
+#endif
+
+  last_shell_builtin = ps->last_shell_builtin;
+  this_shell_builtin = ps->this_shell_builtin;
+
+  expand_aliases = ps->expand_aliases;
+  echo_input_at_read = ps->echo_input_at_read;
+
+  FREE (token);
+  token = ps->token;
+  token_buffer_size = ps->token_buffer_size;
+}
+
+sh_input_line_state_t *
+save_input_line_state (ls)
+     sh_input_line_state_t *ls;
+{
+  if (ls == 0)
+    ls = (sh_input_line_state_t *)xmalloc (sizeof (sh_input_line_state_t));
+  if (ls == 0)
+    return ((sh_input_line_state_t *)NULL);
+
+  ls->input_line = shell_input_line;
+  ls->input_line_size = shell_input_line_size;
+  ls->input_line_len = shell_input_line_len;
+  ls->input_line_index = shell_input_line_index;
+
+  /* force reallocation */
+  shell_input_line = 0;
+  shell_input_line_size = shell_input_line_len = shell_input_line_index = 0;
+}
+
+void
+restore_input_line_state (ls)
+     sh_input_line_state_t *ls;
+{
+  FREE (shell_input_line);
+  shell_input_line = ls->input_line;
+  shell_input_line_size = ls->input_line_size;
+  shell_input_line_len = ls->input_line_len;
+  shell_input_line_index = ls->input_line_index;
+
+  set_line_mbstate ();
+}
+
+/************************************************
+ *                                             *
+ *     MULTIBYTE CHARACTER HANDLING            *
+ *                                             *
+ ************************************************/
+
+#if defined (HANDLE_MULTIBYTE)
+static void
+set_line_mbstate ()
+{
+  int i, previ, len, c;
+  mbstate_t mbs, prevs;
+  size_t mbclen;
+
+  if (shell_input_line == NULL)
+    return;
+  len = strlen (shell_input_line);     /* XXX - shell_input_line_len ? */
+  FREE (shell_input_line_property);
+  shell_input_line_property = (char *)xmalloc (len + 1);
+
+  memset (&prevs, '\0', sizeof (mbstate_t));
+  for (i = previ = 0; i < len; i++)
+    {
+      mbs = prevs;
+
+      c = shell_input_line[i];
+      if (c == EOF)
+       {
+         int j;
+         for (j = i; j < len; j++)
+           shell_input_line_property[j] = 1;
+         break;
+       }
+
+      mbclen = mbrlen (shell_input_line + previ, i - previ + 1, &mbs);
+      if (mbclen == 1 || mbclen == (size_t)-1)
+       {
+         mbclen = 1;
+         previ = i + 1;
+       }
+      else if (mbclen == (size_t)-2)
+        mbclen = 0;
+      else if (mbclen > 1)
+       {
+         mbclen = 0;
+         previ = i + 1;
+         prevs = mbs;
+       }
+      else
+       {
+         /* XXX - what to do if mbrlen returns 0? (null wide character) */
+         int j;
+         for (j = i; j < len; j++)
+           shell_input_line_property[j] = 1;
+         break;
+       }
+
+      shell_input_line_property[i] = mbclen;
+    }
+}
+#endif /* HANDLE_MULTIBYTE */
index ec1fef9238c333b3b5a71f7598d07ffb8aa86425..a0d27bab4d6f3ee518f6619954c5651596c4bf9f 100644 (file)
@@ -718,11 +718,7 @@ pcomp_filename_completion_function (text, state)
     {
       FREE (dfn);
       /* remove backslashes quoting special characters in filenames. */
-#if 1
       if (RL_ISSTATE (RL_STATE_COMPLETING) && rl_filename_dequoting_function)
-#else
-      if (rl_filename_dequoting_function)
-#endif
        {
          /* Use rl_completion_quote_character because any single or
             double quotes have been removed by the time TEXT makes it
@@ -772,6 +768,7 @@ gen_action_completions (cs, text)
   STRINGLIST *ret, *tmatches;
   char **cmatches;     /* from rl_completion_matches ... */
   unsigned long flags;
+  int t;
 
   ret = tmatches = (STRINGLIST *)NULL;
   flags = cs->actions;
@@ -804,8 +801,15 @@ gen_action_completions (cs, text)
   /* And lastly, the special case for directories */
   if (flags & CA_DIRECTORY)
     {
+      t = rl_filename_completion_desired;
       rl_completion_mark_symlink_dirs = 1;     /* override user preference */
       cmatches = bash_directory_completion_matches (text);
+      /* If we did not want filename completion before this, and there are
+        no matches, turn off rl_filename_completion_desired so whatever
+        matches we get are not treated as filenames (it gets turned on by
+        rl_filename_completion_function unconditionally). */
+      if (t == 0 && cmatches == 0 && rl_filename_completion_desired == 1)
+        rl_filename_completion_desired = 0;
       tmatches = completions_to_stringlist (cmatches);
       ret = strlist_append (ret, tmatches);
       strvec_dispose (cmatches);
diff --git a/pcomplete.c~ b/pcomplete.c~
new file mode 100644 (file)
index 0000000..942aae4
--- /dev/null
@@ -0,0 +1,1571 @@
+/* pcomplete.c - functions to generate lists of matches for programmable completion. */
+
+/* Copyright (C) 1999-2009 Free Software Foundation, Inc.
+
+   This file is part of GNU Bash, the Bourne Again SHell.
+
+   Bash is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   Bash is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with Bash.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include <config.h>
+
+#if defined (PROGRAMMABLE_COMPLETION)
+
+#include "bashtypes.h"
+#include "posixstat.h"
+
+#if defined (HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif
+
+#include <signal.h>
+
+#if defined (PREFER_STDARG)
+#  include <stdarg.h>
+#else
+#  include <varargs.h>
+#endif
+
+#include <stdio.h>
+#include "bashansi.h"
+#include "bashintl.h"
+
+#include "shell.h"
+#include "pcomplete.h"
+#include "alias.h"
+#include "bashline.h"
+#include "execute_cmd.h"
+#include "pathexp.h"
+
+#if defined (JOB_CONTROL)
+#  include "jobs.h"
+#endif
+
+#if !defined (NSIG)
+#  include "trap.h"
+#endif
+
+#include "builtins.h"
+#include "builtins/common.h"
+
+#include <glob/glob.h>
+#include <glob/strmatch.h>
+
+#include <readline/rlconf.h>
+#include <readline/readline.h>
+#include <readline/history.h>
+
+#define PCOMP_RETRYFAIL        256
+
+#ifdef STRDUP
+#  undef STRDUP
+#endif
+#define STRDUP(x)      ((x) ? savestring (x) : (char *)NULL)
+
+typedef SHELL_VAR **SVFUNC ();
+
+#ifndef HAVE_STRPBRK
+extern char *strpbrk __P((char *, char *));
+#endif
+
+extern int array_needs_making;
+extern STRING_INT_ALIST word_token_alist[];
+extern char *signal_names[];
+
+#if defined (DEBUG)
+#if defined (PREFER_STDARG)
+static void debug_printf (const char *, ...)  __attribute__((__format__ (printf, 1, 2)));
+#endif
+#endif /* DEBUG */
+
+static int it_init_joblist __P((ITEMLIST *, int));
+
+static int it_init_aliases __P((ITEMLIST *));
+static int it_init_arrayvars __P((ITEMLIST *));
+static int it_init_bindings __P((ITEMLIST *));
+static int it_init_builtins __P((ITEMLIST *));
+static int it_init_disabled __P((ITEMLIST *));
+static int it_init_enabled __P((ITEMLIST *));
+static int it_init_exported __P((ITEMLIST *));
+static int it_init_functions __P((ITEMLIST *));
+static int it_init_helptopics __P((ITEMLIST *));
+static int it_init_hostnames __P((ITEMLIST *));
+static int it_init_jobs __P((ITEMLIST *));
+static int it_init_running __P((ITEMLIST *));
+static int it_init_stopped __P((ITEMLIST *));
+static int it_init_keywords __P((ITEMLIST *));
+static int it_init_signals __P((ITEMLIST *));
+static int it_init_variables __P((ITEMLIST *));
+static int it_init_setopts __P((ITEMLIST *));
+static int it_init_shopts __P((ITEMLIST *));
+
+static int shouldexp_filterpat __P((char *));
+static char *preproc_filterpat __P((char *, char *));
+
+static void init_itemlist_from_varlist __P((ITEMLIST *, SVFUNC *));
+
+static STRINGLIST *gen_matches_from_itemlist __P((ITEMLIST *, const char *));
+static STRINGLIST *gen_action_completions __P((COMPSPEC *, const char *));
+static STRINGLIST *gen_globpat_matches __P((COMPSPEC *, const char *));
+static STRINGLIST *gen_wordlist_matches __P((COMPSPEC *, const char *));
+static STRINGLIST *gen_shell_function_matches __P((COMPSPEC *, const char *,
+                                                  char *, int, WORD_LIST *,
+                                                  int, int, int *));
+static STRINGLIST *gen_command_matches __P((COMPSPEC *, const char *, char *,
+                                           int, WORD_LIST *, int, int));
+
+static STRINGLIST *gen_progcomp_completions __P((const char *, const char *,
+                                                const char *,
+                                                int, int, int *, int *,
+                                                COMPSPEC **));
+
+static char *pcomp_filename_completion_function __P((const char *, int));
+
+#if defined (ARRAY_VARS)
+static SHELL_VAR *bind_comp_words __P((WORD_LIST *));
+#endif
+static void bind_compfunc_variables __P((char *, int, WORD_LIST *, int, int));
+static void unbind_compfunc_variables __P((int));
+static WORD_LIST *build_arg_list __P((char *, const char *, WORD_LIST *, int));
+static WORD_LIST *command_line_to_word_list __P((char *, int, int, int *, int *));
+
+#ifdef DEBUG
+static int progcomp_debug = 0;
+#endif
+
+int prog_completion_enabled = 1;
+
+/* These are used to manage the arrays of strings for possible completions. */
+ITEMLIST it_aliases = { 0, it_init_aliases, (STRINGLIST *)0 };
+ITEMLIST it_arrayvars  = { LIST_DYNAMIC, it_init_arrayvars, (STRINGLIST *)0 };
+ITEMLIST it_bindings  = { 0, it_init_bindings, (STRINGLIST *)0 };
+ITEMLIST it_builtins  = { 0, it_init_builtins, (STRINGLIST *)0 };
+ITEMLIST it_commands = { LIST_DYNAMIC };       /* unused */
+ITEMLIST it_directories = { LIST_DYNAMIC };    /* unused */
+ITEMLIST it_disabled = { 0, it_init_disabled, (STRINGLIST *)0 };
+ITEMLIST it_enabled = { 0, it_init_enabled, (STRINGLIST *)0 };
+ITEMLIST it_exports  = { LIST_DYNAMIC, it_init_exported, (STRINGLIST *)0 };
+ITEMLIST it_files = { LIST_DYNAMIC };          /* unused */
+ITEMLIST it_functions  = { 0, it_init_functions, (STRINGLIST *)0 };
+ITEMLIST it_helptopics  = { 0, it_init_helptopics, (STRINGLIST *)0 };
+ITEMLIST it_hostnames  = { LIST_DYNAMIC, it_init_hostnames, (STRINGLIST *)0 };
+ITEMLIST it_groups = { LIST_DYNAMIC };         /* unused */
+ITEMLIST it_jobs = { LIST_DYNAMIC, it_init_jobs, (STRINGLIST *)0 };
+ITEMLIST it_keywords = { 0, it_init_keywords, (STRINGLIST *)0 };
+ITEMLIST it_running = { LIST_DYNAMIC, it_init_running, (STRINGLIST *)0 };
+ITEMLIST it_services = { LIST_DYNAMIC };       /* unused */
+ITEMLIST it_setopts = { 0, it_init_setopts, (STRINGLIST *)0 };
+ITEMLIST it_shopts = { 0, it_init_shopts, (STRINGLIST *)0 };
+ITEMLIST it_signals = { 0, it_init_signals, (STRINGLIST *)0 };
+ITEMLIST it_stopped = { LIST_DYNAMIC, it_init_stopped, (STRINGLIST *)0 };
+ITEMLIST it_users = { LIST_DYNAMIC };          /* unused */
+ITEMLIST it_variables = { LIST_DYNAMIC, it_init_variables, (STRINGLIST *)0 };
+
+COMPSPEC *pcomp_curcs;
+const char *pcomp_curcmd;
+
+#ifdef DEBUG
+/* Debugging code */
+static void
+#if defined (PREFER_STDARG)
+debug_printf (const char *format, ...)
+#else
+debug_printf (format, va_alist)
+     const char *format;
+     va_dcl
+#endif
+{
+  va_list args;
+
+  if (progcomp_debug == 0)
+    return;
+
+  SH_VA_START (args, format);
+
+  fprintf (stdout, "DEBUG: ");
+  vfprintf (stdout, format, args);
+  fprintf (stdout, "\n");
+
+  rl_on_new_line ();
+
+  va_end (args);
+}
+#endif
+
+/* Functions to manage the item lists */
+
+void
+set_itemlist_dirty (it)
+     ITEMLIST *it;
+{
+  it->flags |= LIST_DIRTY;
+}
+
+void
+initialize_itemlist (itp)
+     ITEMLIST *itp;
+{
+  (*itp->list_getter) (itp);
+  itp->flags |= LIST_INITIALIZED;
+  itp->flags &= ~LIST_DIRTY;
+}
+
+void
+clean_itemlist (itp)
+     ITEMLIST *itp;
+{
+  STRINGLIST *sl;
+
+  sl = itp->slist;
+  if (sl)
+    {
+      if ((itp->flags & (LIST_DONTFREEMEMBERS|LIST_DONTFREE)) == 0)
+       strvec_flush (sl->list);
+      if ((itp->flags & LIST_DONTFREE) == 0)
+       free (sl->list);
+      free (sl);
+    }
+  itp->slist = (STRINGLIST *)NULL;
+  itp->flags &= ~(LIST_DONTFREE|LIST_DONTFREEMEMBERS|LIST_INITIALIZED|LIST_DIRTY);
+}
+
+
+static int
+shouldexp_filterpat (s)
+     char *s;
+{
+  register char *p;
+
+  for (p = s; p && *p; p++)
+    {
+      if (*p == '\\')
+       p++;
+      else if (*p == '&')
+       return 1;
+    }
+  return 0;
+}
+
+/* Replace any instance of `&' in PAT with TEXT.  Backslash may be used to
+   quote a `&' and inhibit substitution.  Returns a new string.  This just
+   calls stringlib.c:strcreplace(). */
+static char *
+preproc_filterpat (pat, text)
+     char *pat;
+     char *text;
+{
+  char *ret;
+
+  ret = strcreplace (pat, '&', text, 1);
+  return ret;
+}
+       
+/* Remove any match of FILTERPAT from SL.  A `&' in FILTERPAT is replaced by
+   TEXT.  A leading `!' in FILTERPAT negates the pattern; in this case
+   any member of SL->list that does *not* match will be removed.  This returns
+   a new STRINGLIST with the matching members of SL *copied*.  Any
+   non-matching members of SL->list are *freed*. */   
+STRINGLIST *
+filter_stringlist (sl, filterpat, text)
+     STRINGLIST *sl;
+     char *filterpat, *text;
+{
+  int i, m, not;
+  STRINGLIST *ret;
+  char *npat, *t;
+
+  if (sl == 0 || sl->list == 0 || sl->list_len == 0)
+    return sl;
+
+  npat = shouldexp_filterpat (filterpat) ? preproc_filterpat (filterpat, text) : filterpat;
+
+  not = (npat[0] == '!');
+  t = not ? npat + 1 : npat;
+
+  ret = strlist_create (sl->list_size);
+  for (i = 0; i < sl->list_len; i++)
+    {
+      m = strmatch (t, sl->list[i], FNMATCH_EXTFLAG);
+      if ((not && m == FNM_NOMATCH) || (not == 0 && m != FNM_NOMATCH))
+       free (sl->list[i]);
+      else
+       ret->list[ret->list_len++] = sl->list[i];
+    }
+
+  ret->list[ret->list_len] = (char *)NULL;
+  if (npat != filterpat)
+    free (npat);
+
+  return ret;
+}
+
+/* Turn an array of strings returned by rl_completion_matches into a STRINGLIST.
+   This understands how rl_completion_matches sets matches[0] (the lcd of the
+   strings in the list, unless it's the only match). */
+STRINGLIST *
+completions_to_stringlist (matches)
+     char **matches;
+{
+  STRINGLIST *sl;
+  int mlen, i, n;
+
+  mlen = (matches == 0) ? 0 : strvec_len (matches);
+  sl = strlist_create (mlen + 1);
+
+  if (matches == 0 || matches[0] == 0)
+    return sl;
+
+  if (matches[1] == 0)
+    {
+      sl->list[0] = STRDUP (matches[0]);
+      sl->list[sl->list_len = 1] = (char *)NULL;
+      return sl;
+    }
+
+  for (i = 1, n = 0; i < mlen; i++, n++)
+    sl->list[n] = STRDUP (matches[i]);
+  sl->list_len = n;
+  sl->list[n] = (char *)NULL;
+
+  return sl;
+}
+
+/* Functions to manage the various ITEMLISTs that we populate internally.
+   The caller is responsible for setting ITP->flags correctly. */
+
+static int
+it_init_aliases (itp)
+     ITEMLIST *itp;
+{
+#ifdef ALIAS
+  alias_t **alias_list;
+  register int i, n;
+  STRINGLIST *sl;
+
+  alias_list = all_aliases ();
+  if (alias_list == 0)
+    {
+      itp->slist = (STRINGLIST *)NULL;
+      return 0;
+    }
+  for (n = 0; alias_list[n]; n++)
+    ;
+  sl = strlist_create (n+1);
+  for (i = 0; i < n; i++)
+    sl->list[i] = STRDUP (alias_list[i]->name);
+  sl->list[n] = (char *)NULL;
+  sl->list_size = sl->list_len = n;
+  itp->slist = sl;
+#else
+  itp->slist = (STRINGLIST *)NULL;
+#endif
+  return 1;
+}
+
+static void
+init_itemlist_from_varlist (itp, svfunc)
+     ITEMLIST *itp;
+     SVFUNC *svfunc;
+{
+  SHELL_VAR **vlist;
+  STRINGLIST *sl;
+  register int i, n;
+
+  vlist = (*svfunc) ();
+  if (vlist == 0)
+    {
+      itp->slist = (STRINGLIST *)NULL;
+      return;
+    }    
+  for (n = 0; vlist[n]; n++)
+    ;
+  sl = strlist_create (n+1);
+  for (i = 0; i < n; i++)
+    sl->list[i] = savestring (vlist[i]->name);
+  sl->list[sl->list_len = n] = (char *)NULL;
+  itp->slist = sl;
+}
+
+static int
+it_init_arrayvars (itp)
+     ITEMLIST *itp;
+{
+#if defined (ARRAY_VARS)
+  init_itemlist_from_varlist (itp, all_array_variables);
+  return 1;
+#else
+  return 0;
+#endif
+}
+
+static int
+it_init_bindings (itp)
+     ITEMLIST *itp;
+{
+  char **blist;
+  STRINGLIST *sl;
+
+  /* rl_funmap_names allocates blist, but not its members */
+  blist = (char **)rl_funmap_names (); /* XXX fix const later */
+  sl = strlist_create (0);
+  sl->list = blist;
+  sl->list_size = 0;
+  sl->list_len = strvec_len (sl->list);
+  itp->flags |= LIST_DONTFREEMEMBERS;
+  itp->slist = sl;
+
+  return 0;
+}
+
+static int
+it_init_builtins (itp)
+     ITEMLIST *itp;
+{
+  STRINGLIST *sl;
+  register int i, n;
+
+  sl = strlist_create (num_shell_builtins);
+  for (i = n = 0; i < num_shell_builtins; i++)
+    if (shell_builtins[i].function)
+      sl->list[n++] = shell_builtins[i].name;
+  sl->list[sl->list_len = n] = (char *)NULL;
+  itp->flags |= LIST_DONTFREEMEMBERS;
+  itp->slist = sl;
+  return 0;
+}
+
+static int
+it_init_enabled (itp)
+     ITEMLIST *itp;
+{
+  STRINGLIST *sl;
+  register int i, n;
+
+  sl = strlist_create (num_shell_builtins);
+  for (i = n = 0; i < num_shell_builtins; i++)
+    {
+      if (shell_builtins[i].function && (shell_builtins[i].flags & BUILTIN_ENABLED))
+       sl->list[n++] = shell_builtins[i].name;
+    }
+  sl->list[sl->list_len = n] = (char *)NULL;
+  itp->flags |= LIST_DONTFREEMEMBERS;
+  itp->slist = sl;
+  return 0;
+}
+
+static int
+it_init_disabled (itp)
+     ITEMLIST *itp;
+{
+  STRINGLIST *sl;
+  register int i, n;
+
+  sl = strlist_create (num_shell_builtins);
+  for (i = n = 0; i < num_shell_builtins; i++)
+    {
+      if (shell_builtins[i].function && ((shell_builtins[i].flags & BUILTIN_ENABLED) == 0))
+       sl->list[n++] = shell_builtins[i].name;
+    }
+  sl->list[sl->list_len = n] = (char *)NULL;
+  itp->flags |= LIST_DONTFREEMEMBERS;
+  itp->slist = sl;
+  return 0;
+}
+
+static int
+it_init_exported (itp)
+     ITEMLIST *itp;
+{
+  init_itemlist_from_varlist (itp, all_exported_variables);
+  return 0;
+}
+
+static int
+it_init_functions (itp)
+     ITEMLIST *itp;
+{
+  init_itemlist_from_varlist (itp, all_visible_functions);
+  return 0;
+}
+
+/* Like it_init_builtins, but includes everything the help builtin looks at,
+   not just builtins with an active implementing function. */
+static int
+it_init_helptopics (itp)
+     ITEMLIST *itp;
+{
+  STRINGLIST *sl;
+  register int i, n;
+
+  sl = strlist_create (num_shell_builtins);
+  for (i = n = 0; i < num_shell_builtins; i++)
+    sl->list[n++] = shell_builtins[i].name;
+  sl->list[sl->list_len = n] = (char *)NULL;
+  itp->flags |= LIST_DONTFREEMEMBERS;
+  itp->slist = sl;
+  return 0;
+}
+
+static int
+it_init_hostnames (itp)
+     ITEMLIST *itp;
+{
+  STRINGLIST *sl;
+
+  sl = strlist_create (0);
+  sl->list = get_hostname_list ();
+  sl->list_len = sl->list ? strvec_len (sl->list) : 0;
+  sl->list_size = sl->list_len;
+  itp->slist = sl;
+  itp->flags |= LIST_DONTFREEMEMBERS|LIST_DONTFREE;
+  return 0;
+}
+
+static int
+it_init_joblist (itp, jstate)
+     ITEMLIST *itp;
+     int jstate;
+{
+#if defined (JOB_CONTROL)
+  STRINGLIST *sl;
+  register int i;
+  register PROCESS *p;
+  char *s, *t;
+  JOB *j;
+  JOB_STATE ws;                /* wanted state */
+
+  ws = JNONE;
+  if (jstate == 0)
+    ws = JRUNNING;
+  else if (jstate == 1)
+    ws = JSTOPPED;
+
+  sl = strlist_create (js.j_jobslots);
+  for (i = js.j_jobslots - 1; i >= 0; i--)
+    {
+      j = get_job_by_jid (i);
+      if (j == 0)
+       continue;
+      p = j->pipe;
+      if (jstate == -1 || JOBSTATE(i) == ws)
+       {
+         s = savestring (p->command);
+         t = strpbrk (s, " \t\n");
+         if (t)
+           *t = '\0';
+         sl->list[sl->list_len++] = s;
+       }
+    }
+  itp->slist = sl;
+#else
+  itp->slist = (STRINGLIST *)NULL;
+#endif
+  return 0;
+}
+
+static int
+it_init_jobs (itp)
+     ITEMLIST *itp;
+{
+  return (it_init_joblist (itp, -1));
+}
+
+static int
+it_init_running (itp)
+     ITEMLIST *itp;
+{
+  return (it_init_joblist (itp, 0));
+}
+
+static int
+it_init_stopped (itp)
+     ITEMLIST *itp;
+{
+  return (it_init_joblist (itp, 1));
+}
+
+static int
+it_init_keywords (itp)
+     ITEMLIST *itp;
+{
+  STRINGLIST *sl;
+  register int i, n;
+
+  for (n = 0; word_token_alist[n].word; n++)
+    ;
+  sl = strlist_create (n);
+  for (i = 0; i < n; i++)
+    sl->list[i] = word_token_alist[i].word;
+  sl->list[sl->list_len = i] = (char *)NULL;
+  itp->flags |= LIST_DONTFREEMEMBERS;
+  itp->slist = sl;
+  return 0;
+}
+
+static int
+it_init_signals (itp)
+     ITEMLIST *itp;
+{
+  STRINGLIST *sl;
+
+  sl = strlist_create (0);
+  sl->list = signal_names;
+  sl->list_len = strvec_len (sl->list);
+  itp->flags |= LIST_DONTFREE;
+  itp->slist = sl;
+  return 0;
+}
+
+static int
+it_init_variables (itp)
+     ITEMLIST *itp;
+{
+  init_itemlist_from_varlist (itp, all_visible_variables);
+  return 0;
+}
+
+static int
+it_init_setopts (itp)
+     ITEMLIST *itp;
+{
+  STRINGLIST *sl;
+
+  sl = strlist_create (0);
+  sl->list = get_minus_o_opts ();
+  sl->list_len = strvec_len (sl->list);
+  itp->slist = sl;
+  itp->flags |= LIST_DONTFREEMEMBERS;
+  return 0;
+}
+
+static int
+it_init_shopts (itp)
+     ITEMLIST *itp;
+{
+  STRINGLIST *sl;
+
+  sl = strlist_create (0);
+  sl->list = get_shopt_options ();
+  sl->list_len = strvec_len (sl->list);
+  itp->slist = sl;
+  itp->flags |= LIST_DONTFREEMEMBERS;
+  return 0;
+}
+
+/* Generate a list of all matches for TEXT using the STRINGLIST in itp->slist
+   as the list of possibilities.  If the itemlist has been marked dirty or
+   it should be regenerated every time, destroy the old STRINGLIST and make a
+   new one before trying the match.  TEXT is dequoted before attempting a
+   match. */
+static STRINGLIST *
+gen_matches_from_itemlist (itp, text)
+     ITEMLIST *itp;
+     const char *text;
+{
+  STRINGLIST *ret, *sl;
+  int tlen, i, n;
+  char *ntxt;
+
+  if ((itp->flags & (LIST_DIRTY|LIST_DYNAMIC)) ||
+      (itp->flags & LIST_INITIALIZED) == 0)
+    {
+      if (itp->flags & (LIST_DIRTY|LIST_DYNAMIC))
+       clean_itemlist (itp);
+      if ((itp->flags & LIST_INITIALIZED) == 0)
+       initialize_itemlist (itp);
+    }
+  if (itp->slist == 0)
+    return ((STRINGLIST *)NULL);
+  ret = strlist_create (itp->slist->list_len+1);
+  sl = itp->slist;
+
+  ntxt = bash_dequote_text (text);
+  tlen = STRLEN (ntxt);
+
+  for (i = n = 0; i < sl->list_len; i++)
+    {
+      if (tlen == 0 || STREQN (sl->list[i], ntxt, tlen))
+       ret->list[n++] = STRDUP (sl->list[i]);
+    }
+  ret->list[ret->list_len = n] = (char *)NULL;
+
+  FREE (ntxt);
+  return ret;
+}
+
+/* A wrapper for rl_filename_completion_function that dequotes the filename
+   before attempting completions. */
+static char *
+pcomp_filename_completion_function (text, state)
+     const char *text;
+     int state;
+{
+  static char *dfn;    /* dequoted filename */
+  int qc;
+
+  if (state == 0)
+    {
+      FREE (dfn);
+      /* remove backslashes quoting special characters in filenames. */
+      if (RL_ISSTATE (RL_STATE_COMPLETING) && rl_filename_dequoting_function)
+       {
+         /* Use rl_completion_quote_character because any single or
+            double quotes have been removed by the time TEXT makes it
+            here, and we don't want to remove backslashes inside
+            quoted strings. */
+         dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character);
+       }
+      else
+       dfn = savestring (text);
+    }
+
+  return (rl_filename_completion_function (dfn, state));
+}
+
+#define GEN_COMPS(bmap, flag, it, text, glist, tlist) \
+  do { \
+    if (bmap & flag) \
+      { \
+       tlist = gen_matches_from_itemlist (it, text); \
+       if (tlist) \
+         { \
+           glist = strlist_append (glist, tlist); \
+           strlist_dispose (tlist); \
+         } \
+      } \
+  } while (0)
+
+#define GEN_XCOMPS(bmap, flag, text, func, cmatches, glist, tlist) \
+  do { \
+    if (bmap & flag) \
+      { \
+       cmatches = rl_completion_matches (text, func); \
+       tlist = completions_to_stringlist (cmatches); \
+       glist = strlist_append (glist, tlist); \
+       strvec_dispose (cmatches); \
+       strlist_dispose (tlist); \
+      } \
+  } while (0)
+
+/* Functions to generate lists of matches from the actions member of CS. */
+
+static STRINGLIST *
+gen_action_completions (cs, text)
+     COMPSPEC *cs;
+     const char *text;
+{
+  STRINGLIST *ret, *tmatches;
+  char **cmatches;     /* from rl_completion_matches ... */
+  unsigned long flags;
+  int t;
+
+  ret = tmatches = (STRINGLIST *)NULL;
+  flags = cs->actions;
+
+  GEN_COMPS (flags, CA_ALIAS, &it_aliases, text, ret, tmatches);
+  GEN_COMPS (flags, CA_ARRAYVAR, &it_arrayvars, text, ret, tmatches);
+  GEN_COMPS (flags, CA_BINDING, &it_bindings, text, ret, tmatches);
+  GEN_COMPS (flags, CA_BUILTIN, &it_builtins, text, ret, tmatches);
+  GEN_COMPS (flags, CA_DISABLED, &it_disabled, text, ret, tmatches);
+  GEN_COMPS (flags, CA_ENABLED, &it_enabled, text, ret, tmatches);
+  GEN_COMPS (flags, CA_EXPORT, &it_exports, text, ret, tmatches);
+  GEN_COMPS (flags, CA_FUNCTION, &it_functions, text, ret, tmatches);
+  GEN_COMPS (flags, CA_HELPTOPIC, &it_helptopics, text, ret, tmatches);
+  GEN_COMPS (flags, CA_HOSTNAME, &it_hostnames, text, ret, tmatches);
+  GEN_COMPS (flags, CA_JOB, &it_jobs, text, ret, tmatches);
+  GEN_COMPS (flags, CA_KEYWORD, &it_keywords, text, ret, tmatches);
+  GEN_COMPS (flags, CA_RUNNING, &it_running, text, ret, tmatches);
+  GEN_COMPS (flags, CA_SETOPT, &it_setopts, text, ret, tmatches);
+  GEN_COMPS (flags, CA_SHOPT, &it_shopts, text, ret, tmatches);
+  GEN_COMPS (flags, CA_SIGNAL, &it_signals, text, ret, tmatches);
+  GEN_COMPS (flags, CA_STOPPED, &it_stopped, text, ret, tmatches);
+  GEN_COMPS (flags, CA_VARIABLE, &it_variables, text, ret, tmatches);
+
+  GEN_XCOMPS(flags, CA_COMMAND, text, command_word_completion_function, cmatches, ret, tmatches);
+  GEN_XCOMPS(flags, CA_FILE, text, pcomp_filename_completion_function, cmatches, ret, tmatches);
+  GEN_XCOMPS(flags, CA_USER, text, rl_username_completion_function, cmatches, ret, tmatches);
+  GEN_XCOMPS(flags, CA_GROUP, text, bash_groupname_completion_function, cmatches, ret, tmatches);
+  GEN_XCOMPS(flags, CA_SERVICE, text, bash_servicename_completion_function, cmatches, ret, tmatches);
+
+  /* And lastly, the special case for directories */
+  if (flags & CA_DIRECTORY)
+    {
+      t = rl_filename_quoting_desired;
+      rl_completion_mark_symlink_dirs = 1;     /* override user preference */
+      cmatches = bash_directory_completion_matches (text);
+      /* If we did not want filename completion before this, and there are
+        no matches, turn off rl_filename_quoting_desired so whatever
+        matches we get are not treated as filenames (it gets turned on by
+        rl_filename_completion_function unconditionally). */
+      if (t == 0 && cmatches == 0 && rl_filename_quoting_desired == 1)
+        rl_filename_quoting_desired = 0;
+      tmatches = completions_to_stringlist (cmatches);
+      ret = strlist_append (ret, tmatches);
+      strvec_dispose (cmatches);
+      strlist_dispose (tmatches);
+    }
+
+  return ret;
+}
+
+/* Generate a list of matches for CS->globpat.  Unresolved: should this use
+   TEXT as a match prefix, or just go without?  Currently, the code does not
+   use TEXT, just globs CS->globpat and returns the results.  If we do decide
+   to use TEXT, we should call quote_string_for_globbing before the call to
+   glob_filename. */
+static STRINGLIST *
+gen_globpat_matches (cs, text)
+      COMPSPEC *cs;
+      const char *text;
+{
+  STRINGLIST *sl;
+
+  sl = strlist_create (0);
+  sl->list = glob_filename (cs->globpat, 0);
+  if (GLOB_FAILED (sl->list))
+    sl->list = (char **)NULL;
+  if (sl->list)
+    sl->list_len = sl->list_size = strvec_len (sl->list);
+  return sl;
+}
+
+/* Perform the shell word expansions on CS->words and return the results.
+   Again, this ignores TEXT. */
+static STRINGLIST *
+gen_wordlist_matches (cs, text)
+     COMPSPEC *cs;
+     const char *text;
+{
+  WORD_LIST *l, *l2;
+  STRINGLIST *sl;
+  int nw, tlen;
+  char *ntxt;          /* dequoted TEXT to use in comparisons */
+
+  if (cs->words == 0 || cs->words[0] == '\0')
+    return ((STRINGLIST *)NULL);
+
+  /* This used to be a simple expand_string(cs->words, 0), but that won't
+     do -- there's no way to split a simple list into individual words
+     that way, since the shell semantics say that word splitting is done
+     only on the results of expansion. */
+  l = split_at_delims (cs->words, strlen (cs->words), (char *)NULL, -1, 0, (int *)NULL, (int *)NULL);
+  if (l == 0)
+    return ((STRINGLIST *)NULL);
+  /* This will jump back to the top level if the expansion fails... */
+  l2 = expand_words_shellexp (l);
+  dispose_words (l);
+
+  nw = list_length (l2);
+  sl = strlist_create (nw + 1);
+
+  ntxt = bash_dequote_text (text);
+  tlen = STRLEN (ntxt);
+
+  for (nw = 0, l = l2; l; l = l->next)
+    {
+      if (tlen == 0 || STREQN (l->word->word, ntxt, tlen))
+       sl->list[nw++] = STRDUP (l->word->word);
+    }
+  sl->list[sl->list_len = nw] = (char *)NULL;
+
+  dispose_words (l2);
+  FREE (ntxt);
+  return sl;
+}
+
+#ifdef ARRAY_VARS
+
+static SHELL_VAR *
+bind_comp_words (lwords)
+     WORD_LIST *lwords;
+{
+  SHELL_VAR *v;
+
+  v = find_variable ("COMP_WORDS");
+  if (v == 0)
+    v = make_new_array_variable ("COMP_WORDS");
+  if (readonly_p (v))
+    VUNSETATTR (v, att_readonly);
+  if (array_p (v) == 0)
+    v = convert_var_to_array (v);
+  v = assign_array_var_from_word_list (v, lwords, 0);
+
+  VUNSETATTR (v, att_invisible);
+  return v;
+}
+#endif /* ARRAY_VARS */
+
+static void
+bind_compfunc_variables (line, ind, lwords, cw, exported)
+     char *line;
+     int ind;
+     WORD_LIST *lwords;
+     int cw, exported;
+{
+  char ibuf[INT_STRLEN_BOUND(int) + 1];
+  char *value;
+  SHELL_VAR *v;
+
+  /* Set the variables that the function expects while it executes.  Maybe
+     these should be in the function environment (temporary_env). */
+  v = bind_variable ("COMP_LINE", line, 0);
+  if (v && exported)
+    VSETATTR(v, att_exported);
+
+  value = inttostr (ind, ibuf, sizeof(ibuf));
+  v = bind_int_variable ("COMP_POINT", value);
+  if (v && exported)
+    VSETATTR(v, att_exported);
+
+  value = inttostr (rl_completion_type, ibuf, sizeof (ibuf));
+  v = bind_int_variable ("COMP_TYPE", value);
+  if (v && exported)
+    VSETATTR(v, att_exported);
+
+  value = inttostr (rl_completion_invoking_key, ibuf, sizeof (ibuf));
+  v = bind_int_variable ("COMP_KEY", value);
+  if (v && exported)
+    VSETATTR(v, att_exported);
+
+  /* Since array variables can't be exported, we don't bother making the
+     array of words. */
+  if (exported == 0)
+    {
+#ifdef ARRAY_VARS
+      v = bind_comp_words (lwords);
+      value = inttostr (cw, ibuf, sizeof(ibuf));
+      bind_int_variable ("COMP_CWORD", value);
+#endif
+    }
+  else
+    array_needs_making = 1;
+}
+
+static void
+unbind_compfunc_variables (exported)
+     int exported;
+{
+  unbind_variable ("COMP_LINE");
+  unbind_variable ("COMP_POINT");
+  unbind_variable ("COMP_TYPE");
+  unbind_variable ("COMP_KEY");
+#ifdef ARRAY_VARS
+  unbind_variable ("COMP_WORDS");
+  unbind_variable ("COMP_CWORD");
+#endif
+  if (exported)
+    array_needs_making = 1;
+}
+
+/* Build the list of words to pass to a function or external command
+   as arguments.  When the function or command is invoked,
+
+       $0 == function or command being invoked
+       $1 == command name
+       $2 == word to be completed (possibly null)
+       $3 == previous word
+
+   Functions can access all of the words in the current command line
+   with the COMP_WORDS array.  External commands cannot; they have to
+   make do  with the COMP_LINE and COMP_POINT variables. */
+
+static WORD_LIST *
+build_arg_list (cmd, text, lwords, ind)
+     char *cmd;
+     const char *text;
+     WORD_LIST *lwords;
+     int ind;
+{
+  WORD_LIST *ret, *cl, *l;
+  WORD_DESC *w;
+  int i;
+
+  ret = (WORD_LIST *)NULL;
+  w = make_word (cmd);
+  ret = make_word_list (w, (WORD_LIST *)NULL);
+
+  w = (lwords && lwords->word) ? copy_word (lwords->word) : make_word ("");
+  cl = ret->next = make_word_list (w, (WORD_LIST *)NULL);
+
+  w = make_word (text);
+  cl->next = make_word_list (w, (WORD_LIST *)NULL);
+  cl = cl->next;
+
+  /* Search lwords for current word */
+  for (l = lwords, i = 1; l && i < ind-1; l = l->next, i++)
+    ;
+  w = (l && l->word) ? copy_word (l->word) : make_word ("");
+  cl->next = make_word_list (w, (WORD_LIST *)NULL);
+
+  return ret;
+}
+
+/* Build a command string with
+       $0 == cs->funcname      (function to execute for completion list)
+       $1 == command name      (command being completed)
+       $2 = word to be completed (possibly null)
+       $3 = previous word
+   and run in the current shell.  The function should put its completion
+   list into the array variable COMPREPLY.  We build a STRINGLIST
+   from the results and return it.
+
+   Since the shell function should return its list of matches in an array
+   variable, this does nothing if arrays are not compiled into the shell. */
+
+static STRINGLIST *
+gen_shell_function_matches (cs, text, line, ind, lwords, nw, cw, foundp)
+     COMPSPEC *cs;
+     const char *text;
+     char *line;
+     int ind;
+     WORD_LIST *lwords;
+     int nw, cw;
+     int *foundp;
+{
+  char *funcname;
+  STRINGLIST *sl;
+  SHELL_VAR *f, *v;
+  WORD_LIST *cmdlist;
+  int fval, found;
+  sh_parser_state_t ps;
+  sh_parser_state_t * restrict pps;
+#if defined (ARRAY_VARS)
+  ARRAY *a;
+#endif
+
+  found = 0;
+  if (foundp)
+    *foundp = found;
+
+  funcname = cs->funcname;
+  f = find_function (funcname);
+  if (f == 0)
+    {
+      internal_error (_("completion: function `%s' not found"), funcname);
+      rl_ding ();
+      rl_on_new_line ();
+      return ((STRINGLIST *)NULL);
+    }
+
+#if !defined (ARRAY_VARS)
+  return ((STRINGLIST *)NULL);
+#else
+
+  /* We pass cw - 1 because command_line_to_word_list returns indices that are
+     1-based, while bash arrays are 0-based. */
+  bind_compfunc_variables (line, ind, lwords, cw - 1, 0);
+
+  cmdlist = build_arg_list (funcname, text, lwords, cw);
+
+  pps = &ps;
+  save_parser_state (pps);
+  begin_unwind_frame ("gen-shell-function-matches");
+  add_unwind_protect (restore_parser_state, (char *)pps);
+  add_unwind_protect (dispose_words, (char *)cmdlist);
+  add_unwind_protect (unbind_compfunc_variables, (char *)0);
+
+  fval = execute_shell_function (f, cmdlist);  
+
+  discard_unwind_frame ("gen-shell-function-matches");
+  restore_parser_state (pps);
+
+  found = fval != EX_NOTFOUND;
+  if (fval == EX_RETRYFAIL)
+    found |= PCOMP_RETRYFAIL;
+  if (foundp)
+    *foundp = found;
+
+  /* Now clean up and destroy everything. */
+  dispose_words (cmdlist);
+  unbind_compfunc_variables (0);
+
+  /* The list of completions is returned in the array variable COMPREPLY. */
+  v = find_variable ("COMPREPLY");
+  if (v == 0)
+    return ((STRINGLIST *)NULL);
+  if (array_p (v) == 0)
+    v = convert_var_to_array (v);
+
+  VUNSETATTR (v, att_invisible);
+
+  a = array_cell (v);
+  if (found == 0 || (found & PCOMP_RETRYFAIL) || a == 0 || array_empty (a))
+    sl = (STRINGLIST *)NULL;
+  else
+    {
+      /* XXX - should we filter the list of completions so only those matching
+        TEXT are returned?  Right now, we do not. */
+      sl = strlist_create (0);
+      sl->list = array_to_argv (a);
+      sl->list_len = sl->list_size = array_num_elements (a);
+    }
+
+  /* XXX - should we unbind COMPREPLY here? */
+  unbind_variable ("COMPREPLY");
+
+  return (sl);
+#endif
+}
+
+/* Build a command string with
+       $0 == cs->command       (command to execute for completion list)
+       $1 == command name      (command being completed)
+       $2 = word to be completed (possibly null)
+       $3 = previous word
+   and run in with command substitution.  Parse the results, one word
+   per line, with backslashes allowed to escape newlines.  Build a
+   STRINGLIST from the results and return it. */
+
+static STRINGLIST *
+gen_command_matches (cs, text, line, ind, lwords, nw, cw)
+     COMPSPEC *cs;
+     const char *text;
+     char *line;
+     int ind;
+     WORD_LIST *lwords;
+     int nw, cw;
+{
+  char *csbuf, *cscmd, *t;
+  int cmdlen, cmdsize, n, ws, we;
+  WORD_LIST *cmdlist, *cl;
+  WORD_DESC *tw;
+  STRINGLIST *sl;
+
+  bind_compfunc_variables (line, ind, lwords, cw, 1);
+  cmdlist = build_arg_list (cs->command, text, lwords, cw);
+
+  /* Estimate the size needed for the buffer. */
+  n = strlen (cs->command);
+  cmdsize = n + 1;
+  for (cl = cmdlist->next; cl; cl = cl->next)
+    cmdsize += STRLEN (cl->word->word) + 3;
+  cmdsize += 2;
+
+  /* allocate the string for the command and fill it in. */
+  cscmd = (char *)xmalloc (cmdsize + 1);
+
+  strcpy (cscmd, cs->command);                 /* $0 */
+  cmdlen = n;
+  cscmd[cmdlen++] = ' ';
+  for (cl = cmdlist->next; cl; cl = cl->next)   /* $1, $2, $3, ... */
+    {
+      t = sh_single_quote (cl->word->word ? cl->word->word : "");
+      n = strlen (t);
+      RESIZE_MALLOCED_BUFFER (cscmd, cmdlen, n + 2, cmdsize, 64);
+      strcpy (cscmd + cmdlen, t);
+      cmdlen += n;
+      if (cl->next)
+       cscmd[cmdlen++] = ' ';
+      free (t);
+    }
+  cscmd[cmdlen] = '\0';
+
+  tw = command_substitute (cscmd, 0);
+  csbuf = tw ? tw->word : (char *)NULL;
+  dispose_word_desc (tw);
+
+  /* Now clean up and destroy everything. */
+  dispose_words (cmdlist);
+  free (cscmd);
+  unbind_compfunc_variables (1);
+
+  if (csbuf == 0 || *csbuf == '\0')
+    {
+      FREE (csbuf);
+      return ((STRINGLIST *)NULL);
+    }
+
+  /* Now break CSBUF up at newlines, with backslash allowed to escape a
+     newline, and put the individual words into a STRINGLIST. */
+  sl = strlist_create (16);
+  for (ws = 0; csbuf[ws]; )
+    {
+      we = ws;
+      while (csbuf[we] && csbuf[we] != '\n')
+       {
+         if (csbuf[we] == '\\' && csbuf[we+1] == '\n')
+           we++;
+         we++;
+       }
+      t = substring (csbuf, ws, we);
+      if (sl->list_len >= sl->list_size - 1)
+       strlist_resize (sl, sl->list_size + 16);
+      sl->list[sl->list_len++] = t;
+      while (csbuf[we] == '\n') we++;
+      ws = we;
+    }
+  sl->list[sl->list_len] = (char *)NULL;
+
+  free (csbuf);
+  return (sl);
+}
+
+static WORD_LIST *
+command_line_to_word_list (line, llen, sentinel, nwp, cwp)
+     char *line;
+     int llen, sentinel, *nwp, *cwp;
+{
+  WORD_LIST *ret;
+  char *delims;
+
+#if 0
+  delims = "()<>;&| \t\n";     /* shell metacharacters break words */
+#else
+  delims = rl_completer_word_break_characters;
+#endif
+  ret = split_at_delims (line, llen, delims, sentinel, SD_NOQUOTEDELIM, nwp, cwp);
+  return (ret);
+}
+
+/* Evaluate COMPSPEC *cs and return all matches for WORD. */
+
+STRINGLIST *
+gen_compspec_completions (cs, cmd, word, start, end, foundp)
+     COMPSPEC *cs;
+     const char *cmd;
+     const char *word;
+     int start, end;
+     int *foundp;
+{
+  STRINGLIST *ret, *tmatches;
+  char *line;
+  int llen, nw, cw, found, foundf;
+  WORD_LIST *lwords;
+  COMPSPEC *tcs;
+
+  found = 1;
+
+#ifdef DEBUG
+  debug_printf ("gen_compspec_completions (%s, %s, %d, %d)", cmd, word, start, end);
+  debug_printf ("gen_compspec_completions: %s -> %p", cmd, cs);
+#endif
+  ret = gen_action_completions (cs, word);
+#ifdef DEBUG
+  if (ret && progcomp_debug)
+    {
+      debug_printf ("gen_action_completions (%p, %s) -->", cs, word);
+      strlist_print (ret, "\t");
+      rl_on_new_line ();
+    }
+#endif
+
+  /* Now we start generating completions based on the other members of CS. */
+  if (cs->globpat)
+    {
+      tmatches = gen_globpat_matches (cs, word);
+      if (tmatches)
+       {
+#ifdef DEBUG
+         if (progcomp_debug)
+           {
+             debug_printf ("gen_globpat_matches (%p, %s) -->", cs, word);
+             strlist_print (tmatches, "\t");
+             rl_on_new_line ();
+           }
+#endif
+         ret = strlist_append (ret, tmatches);
+         strlist_dispose (tmatches);
+         rl_filename_completion_desired = 1;
+       }
+    }
+
+  if (cs->words)
+    {
+      tmatches = gen_wordlist_matches (cs, word);
+      if (tmatches)
+       {
+#ifdef DEBUG
+         if (progcomp_debug)
+           {
+             debug_printf ("gen_wordlist_matches (%p, %s) -->", cs, word);
+             strlist_print (tmatches, "\t");
+             rl_on_new_line ();
+           }
+#endif
+         ret = strlist_append (ret, tmatches);
+         strlist_dispose (tmatches);
+       }
+    }
+
+  lwords = (WORD_LIST *)NULL;
+  line = (char *)NULL;
+  if (cs->command || cs->funcname)
+    {
+      /* If we have a command or function to execute, we need to first break
+        the command line into individual words, find the number of words,
+        and find the word in the list containing the word to be completed. */
+      line = substring (rl_line_buffer, start, end);
+      llen = end - start;
+
+#ifdef DEBUG
+      debug_printf ("command_line_to_word_list (%s, %d, %d, %p, %p)",
+               line, llen, rl_point - start, &nw, &cw);
+#endif
+      lwords = command_line_to_word_list (line, llen, rl_point - start, &nw, &cw);
+#ifdef DEBUG
+      if (lwords == 0 && llen > 0)
+       debug_printf ("ERROR: command_line_to_word_list returns NULL");
+      else if (progcomp_debug)
+       {
+         debug_printf ("command_line_to_word_list -->");
+         printf ("\t");
+         print_word_list (lwords, "!");
+         printf ("\n");
+         fflush(stdout);
+         rl_on_new_line ();
+       }
+#endif
+    }
+
+  if (cs->funcname)
+    {
+      foundf = 0;
+      tmatches = gen_shell_function_matches (cs, word, line, rl_point - start, lwords, nw, cw, &foundf);
+      if (foundf != 0)
+       found = foundf;
+      if (tmatches)
+       {
+#ifdef DEBUG
+         if (progcomp_debug)
+           {
+             debug_printf ("gen_shell_function_matches (%p, %s, %p, %d, %d) -->", cs, word, lwords, nw, cw);
+             strlist_print (tmatches, "\t");
+             rl_on_new_line ();
+           }
+#endif
+         ret = strlist_append (ret, tmatches);
+         strlist_dispose (tmatches);
+       }
+    }
+
+  if (cs->command)
+    {
+      tmatches = gen_command_matches (cs, word, line, rl_point - start, lwords, nw, cw);
+      if (tmatches)
+       {
+#ifdef DEBUG
+         if (progcomp_debug)
+           {
+             debug_printf ("gen_command_matches (%p, %s, %p, %d, %d) -->", cs, word, lwords, nw, cw);
+             strlist_print (tmatches, "\t");
+             rl_on_new_line ();
+           }
+#endif
+         ret = strlist_append (ret, tmatches);
+         strlist_dispose (tmatches);
+       }
+    }
+
+  if (cs->command || cs->funcname)
+    {
+      if (lwords)
+       dispose_words (lwords);
+      FREE (line);
+    }
+
+  if (foundp)
+    *foundp = found;
+
+  if (found == 0 || (found & PCOMP_RETRYFAIL))
+    {
+      strlist_dispose (ret);
+      return NULL;
+    }
+
+  if (cs->filterpat)
+    {
+      tmatches = filter_stringlist (ret, cs->filterpat, word);
+#ifdef DEBUG
+      if (progcomp_debug)
+       {
+         debug_printf ("filter_stringlist (%p, %s, %s) -->", ret, cs->filterpat, word);
+         strlist_print (tmatches, "\t");
+         rl_on_new_line ();
+       }
+#endif
+      if (ret && ret != tmatches)
+       {
+         FREE (ret->list);
+         free (ret);
+       }
+      ret = tmatches;
+    }
+
+  if (cs->prefix || cs->suffix)
+    ret = strlist_prefix_suffix (ret, cs->prefix, cs->suffix);
+
+  /* If no matches have been generated and the user has specified that
+      directory completion should be done as a default, call
+      gen_action_completions again to generate a list of matching directory
+      names. */
+  if ((ret == 0 || ret->list_len == 0) && (cs->options & COPT_DIRNAMES))
+    {
+      tcs = compspec_create ();
+      tcs->actions = CA_DIRECTORY;
+      ret = gen_action_completions (tcs, word);
+      compspec_dispose (tcs);
+    }
+  else if (cs->options & COPT_PLUSDIRS)
+    {
+      tcs = compspec_create ();
+      tcs->actions = CA_DIRECTORY;
+      tmatches = gen_action_completions (tcs, word);
+      ret = strlist_append (ret, tmatches);
+      strlist_dispose (tmatches);
+      compspec_dispose (tcs);
+    }
+
+  return (ret);
+}
+
+void
+pcomp_set_readline_variables (flags, nval)
+     int flags, nval;
+{
+  /* If the user specified that the compspec returns filenames, make
+     sure that readline knows it. */
+  if (flags & COPT_FILENAMES)
+    rl_filename_completion_desired = nval;
+  /* If the user doesn't want a space appended, tell readline. */
+  if (flags & COPT_NOSPACE)
+    rl_completion_suppress_append = nval;
+}
+
+/* Set or unset FLAGS in the options word of the current compspec.
+   SET_OR_UNSET is 1 for setting, 0 for unsetting. */
+void
+pcomp_set_compspec_options (cs, flags, set_or_unset)
+     COMPSPEC *cs;
+     int flags, set_or_unset;
+{
+  if (cs == 0 && ((cs = pcomp_curcs) == 0))
+    return;
+  if (set_or_unset)
+    cs->options |= flags;
+  else
+    cs->options &= ~flags;
+}
+
+static STRINGLIST *
+gen_progcomp_completions (ocmd, cmd, word, start, end, foundp, retryp, lastcs)
+     const char *ocmd;
+     const char *cmd;
+     const char *word;
+     int start, end;
+     int *foundp, *retryp;
+     COMPSPEC **lastcs;
+{
+  COMPSPEC *cs, *oldcs;
+  const char *oldcmd;
+  STRINGLIST *ret;
+
+  cs = progcomp_search (ocmd);
+
+  if (cs == 0 || cs == *lastcs)
+    return (NULL);
+
+  if (*lastcs)
+    compspec_dispose (*lastcs);
+  cs->refcount++;      /* XXX */
+  *lastcs = cs;
+
+  cs = compspec_copy (cs);
+
+  oldcs = pcomp_curcs;
+  oldcmd = pcomp_curcmd;
+
+  pcomp_curcs = cs;
+  pcomp_curcmd = cmd;
+
+  ret = gen_compspec_completions (cs, cmd, word, start, end, foundp);
+
+  pcomp_curcs = oldcs;
+  pcomp_curcmd = oldcmd;
+
+  /* We need to conditionally handle setting *retryp here */
+  if (retryp)
+    *retryp = foundp && (*foundp & PCOMP_RETRYFAIL);           
+
+  if (foundp)
+    {
+      *foundp &= ~PCOMP_RETRYFAIL;
+      *foundp |= cs->options;
+    }
+
+  compspec_dispose (cs);
+  return ret;  
+}
+
+/* The driver function for the programmable completion code.  Returns a list
+   of matches for WORD, which is an argument to command CMD.  START and END
+   bound the command currently being completed in rl_line_buffer. */
+char **
+programmable_completions (cmd, word, start, end, foundp)
+     const char *cmd;
+     const char *word;
+     int start, end, *foundp;
+{
+  COMPSPEC *cs, *lastcs;
+  STRINGLIST *ret;
+  char **rmatches, *t;
+  int found, retry, count;
+
+  lastcs = 0;
+  found = count = 0;
+
+  do
+    {
+      retry = 0;
+
+      /* We look at the basename of CMD if the full command does not have
+        an associated COMPSPEC. */
+      ret = gen_progcomp_completions (cmd, cmd, word, start, end, &found, &retry, &lastcs);
+      if (found == 0)
+       {
+         t = strrchr (cmd, '/');
+         if (t && *(++t))
+           ret = gen_progcomp_completions (t, cmd, word, start, end, &found, &retry, &lastcs);
+       }
+
+      if (found == 0)
+       ret = gen_progcomp_completions (DEFAULTCMD, cmd, word, start, end, &found, &retry, &lastcs);
+
+      count++;
+
+      if (count > 32)
+       {
+         internal_warning ("programmable_completion: %s: possible retry loop", cmd);
+         break;
+       }
+    }
+  while (retry);
+
+  if (ret)
+    {
+      rmatches = ret->list;
+      free (ret);
+    }
+  else
+    rmatches = (char **)NULL;
+
+  if (foundp)
+    *foundp = found;
+
+  if (lastcs)  /* XXX - should be while? */
+    compspec_dispose (lastcs);
+
+  return (rmatches);
+}
+
+#endif /* PROGRAMMABLE_COMPLETION */
index 9a7084a77f38d11eaf764d14e15bec2493b774b4..031b800cf03d36529a62975b2dd026c2d69c7a41 100644 (file)
@@ -1,2 +1,2 @@
 # Set of available languages.
-en@quot en@boldquot af bg ca cs da de eo es et fi fr ga hu id ja lt nl pl pt_BR ro ru sk sl sv tr uk vi zh_CN zh_TW
+en@quot en@boldquot af bg ca cs da de eo es et fi fr ga gl hu id ja lt nl pl pt_BR ro ru sk sl sv tr uk vi zh_CN zh_TW
diff --git a/po/gl.po b/po/gl.po
new file mode 100644 (file)
index 0000000..9321c67
--- /dev/null
+++ b/po/gl.po
@@ -0,0 +1,3833 @@
+# Galician translation for bash package.
+# Copyright (C) 2011 Free Software Foundation, Inc.
+# This file is distributed under the same license as the bash package.
+#
+# Leandro Regueiro <leandro.regueiro@gmail.com>, 2011.
+#
+# Proxecto Trasno - Adaptación do software libre Ã¡ lingua galega:  Se desexas
+# colaborar connosco, podes atopar máis información en <http://trasno.net>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: bash 4.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
+"PO-Revision-Date: 2011-09-26 13:38+0100\n"
+"Last-Translator: Leandro Regueiro <leandro.regueiro@gmail.com>\n"
+"Language-Team: Galician <proxecto@trasno.net>\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+
+#: arrayfunc.c:50
+msgid "bad array subscript"
+msgstr ""
+
+#: arrayfunc.c:313 builtins/declare.def:487
+#, c-format
+msgid "%s: cannot convert indexed to associative array"
+msgstr ""
+
+#: arrayfunc.c:480
+#, c-format
+msgid "%s: invalid associative array key"
+msgstr ""
+
+#: arrayfunc.c:482
+#, c-format
+msgid "%s: cannot assign to non-numeric index"
+msgstr ""
+
+#: arrayfunc.c:518
+#, c-format
+msgid "%s: %s: must use subscript when assigning associative array"
+msgstr ""
+
+#: bashhist.c:387
+#, c-format
+msgid "%s: cannot create: %s"
+msgstr "%s: non foi posíbel crear: %s"
+
+#: bashline.c:3498
+msgid "bash_execute_unix_command: cannot find keymap for command"
+msgstr ""
+
+#: bashline.c:3584
+#, c-format
+msgid "%s: first non-whitespace character is not `\"'"
+msgstr ""
+
+#: bashline.c:3613
+#, c-format
+msgid "no closing `%c' in %s"
+msgstr ""
+
+#: bashline.c:3647
+#, c-format
+msgid "%s: missing colon separator"
+msgstr ""
+
+#: builtins/alias.def:132
+#, c-format
+msgid "`%s': invalid alias name"
+msgstr ""
+
+#: builtins/bind.def:120 builtins/bind.def:123
+msgid "line editing not enabled"
+msgstr ""
+
+#: builtins/bind.def:206
+#, c-format
+msgid "`%s': invalid keymap name"
+msgstr ""
+
+#: builtins/bind.def:245
+#, c-format
+msgid "%s: cannot read: %s"
+msgstr "%s: non foi posíbel ler: %s"
+
+#: builtins/bind.def:260
+#, c-format
+msgid "`%s': cannot unbind"
+msgstr ""
+
+#: builtins/bind.def:295 builtins/bind.def:325
+#, c-format
+msgid "`%s': unknown function name"
+msgstr ""
+
+#: builtins/bind.def:303
+#, c-format
+msgid "%s is not bound to any keys.\n"
+msgstr ""
+
+#: builtins/bind.def:307
+#, c-format
+msgid "%s can be invoked via "
+msgstr ""
+
+#: builtins/break.def:77 builtins/break.def:117
+msgid "loop count"
+msgstr ""
+
+#: builtins/break.def:137
+msgid "only meaningful in a `for', `while', or `until' loop"
+msgstr ""
+
+#: builtins/caller.def:133
+msgid ""
+"Returns the context of the current subroutine call.\n"
+"    \n"
+"    Without EXPR, returns "
+msgstr ""
+
+#: builtins/cd.def:235
+msgid "HOME not set"
+msgstr ""
+
+#: builtins/cd.def:247
+msgid "OLDPWD not set"
+msgstr ""
+
+#: builtins/common.c:101
+#, c-format
+msgid "line %d: "
+msgstr "liña %d: "
+
+#: builtins/common.c:139 error.c:261
+#, fuzzy, c-format
+msgid "warning: "
+msgstr "Aviso"
+
+#: builtins/common.c:153
+#, c-format
+msgid "%s: usage: "
+msgstr "%s: modo de uso: "
+
+#: builtins/common.c:166 test.c:832
+msgid "too many arguments"
+msgstr "demasiados argumentos"
+
+#: builtins/common.c:191 shell.c:500 shell.c:782
+#, c-format
+msgid "%s: option requires an argument"
+msgstr ""
+
+#: builtins/common.c:198
+#, c-format
+msgid "%s: numeric argument required"
+msgstr ""
+
+#: builtins/common.c:205
+#, c-format
+msgid "%s: not found"
+msgstr "%s: non se atopou"
+
+#: builtins/common.c:214 shell.c:795
+#, c-format
+msgid "%s: invalid option"
+msgstr "%s: opción non válida"
+
+#: builtins/common.c:221
+#, c-format
+msgid "%s: invalid option name"
+msgstr ""
+
+#: builtins/common.c:228 general.c:231 general.c:236
+#, c-format
+msgid "`%s': not a valid identifier"
+msgstr "`%s': non Ã© un identificador válido"
+
+#: builtins/common.c:238
+msgid "invalid octal number"
+msgstr "número octal non válido"
+
+#: builtins/common.c:240
+msgid "invalid hex number"
+msgstr "número hexadecimal non válido"
+
+#: builtins/common.c:242 expr.c:1362
+msgid "invalid number"
+msgstr "número non válido"
+
+#: builtins/common.c:250
+#, c-format
+msgid "%s: invalid signal specification"
+msgstr ""
+
+#: builtins/common.c:257
+#, c-format
+msgid "`%s': not a pid or valid job spec"
+msgstr ""
+
+#: builtins/common.c:264 error.c:454
+#, c-format
+msgid "%s: readonly variable"
+msgstr ""
+
+#: builtins/common.c:272
+#, c-format
+msgid "%s: %s out of range"
+msgstr ""
+
+#: builtins/common.c:272 builtins/common.c:274
+msgid "argument"
+msgstr "argumento"
+
+#: builtins/common.c:274
+#, c-format
+msgid "%s out of range"
+msgstr ""
+
+#: builtins/common.c:282
+#, c-format
+msgid "%s: no such job"
+msgstr ""
+
+#: builtins/common.c:290
+#, c-format
+msgid "%s: no job control"
+msgstr ""
+
+#: builtins/common.c:292
+msgid "no job control"
+msgstr ""
+
+#: builtins/common.c:302
+#, c-format
+msgid "%s: restricted"
+msgstr ""
+
+#: builtins/common.c:304
+msgid "restricted"
+msgstr ""
+
+#: builtins/common.c:312
+#, c-format
+msgid "%s: not a shell builtin"
+msgstr ""
+
+#: builtins/common.c:321
+#, c-format
+msgid "write error: %s"
+msgstr "erro de escritura: %s"
+
+#: builtins/common.c:329
+#, c-format
+msgid "error setting terminal attributes: %s"
+msgstr ""
+
+#: builtins/common.c:331
+#, c-format
+msgid "error getting terminal attributes: %s"
+msgstr ""
+
+#: builtins/common.c:563
+#, c-format
+msgid "%s: error retrieving current directory: %s: %s\n"
+msgstr ""
+
+#: builtins/common.c:629 builtins/common.c:631
+#, c-format
+msgid "%s: ambiguous job spec"
+msgstr ""
+
+#: builtins/complete.def:276
+#, c-format
+msgid "%s: invalid action name"
+msgstr ""
+
+#: builtins/complete.def:449 builtins/complete.def:644
+#: builtins/complete.def:853
+#, c-format
+msgid "%s: no completion specification"
+msgstr ""
+
+#: builtins/complete.def:696
+msgid "warning: -F option may not work as you expect"
+msgstr ""
+
+#: builtins/complete.def:698
+msgid "warning: -C option may not work as you expect"
+msgstr ""
+
+#: builtins/complete.def:826
+msgid "not currently executing completion function"
+msgstr ""
+
+#: builtins/declare.def:124
+msgid "can only be used in a function"
+msgstr ""
+
+#: builtins/declare.def:366
+msgid "cannot use `-f' to make functions"
+msgstr ""
+
+#: builtins/declare.def:378 execute_cmd.c:5105
+#, c-format
+msgid "%s: readonly function"
+msgstr ""
+
+#: builtins/declare.def:474
+#, c-format
+msgid "%s: cannot destroy array variables in this way"
+msgstr ""
+
+#: builtins/declare.def:481
+#, c-format
+msgid "%s: cannot convert associative to indexed array"
+msgstr ""
+
+#: builtins/enable.def:137 builtins/enable.def:145
+msgid "dynamic loading not available"
+msgstr ""
+
+#: builtins/enable.def:312
+#, c-format
+msgid "cannot open shared object %s: %s"
+msgstr ""
+
+#: builtins/enable.def:335
+#, c-format
+msgid "cannot find %s in shared object %s: %s"
+msgstr ""
+
+#: builtins/enable.def:459
+#, c-format
+msgid "%s: not dynamically loaded"
+msgstr ""
+
+#: builtins/enable.def:474
+#, c-format
+msgid "%s: cannot delete: %s"
+msgstr "%s: non foi posíbel eliminar: %s"
+
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
+#, c-format
+msgid "%s: is a directory"
+msgstr "%s: Ã© un directorio"
+
+#: builtins/evalfile.c:140
+#, fuzzy, c-format
+msgid "%s: not a regular file"
+msgstr "Non Ã© un ficheiro regular"
+
+#: builtins/evalfile.c:148
+#, c-format
+msgid "%s: file is too large"
+msgstr "%s: o ficheiro Ã© demasiado grande"
+
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
+#, c-format
+msgid "%s: cannot execute binary file"
+msgstr ""
+
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
+#, c-format
+msgid "%s: cannot execute: %s"
+msgstr "%s: non foi posíbel executar: %s"
+
+#: builtins/exit.def:65
+#, c-format
+msgid "logout\n"
+msgstr ""
+
+#: builtins/exit.def:88
+msgid "not login shell: use `exit'"
+msgstr ""
+
+#: builtins/exit.def:120
+#, c-format
+msgid "There are stopped jobs.\n"
+msgstr ""
+
+#: builtins/exit.def:122
+#, c-format
+msgid "There are running jobs.\n"
+msgstr ""
+
+#: builtins/fc.def:262
+msgid "no command found"
+msgstr ""
+
+#: builtins/fc.def:312 builtins/fc.def:359
+msgid "history specification"
+msgstr ""
+
+#: builtins/fc.def:380
+#, c-format
+msgid "%s: cannot open temp file: %s"
+msgstr ""
+
+#: builtins/fg_bg.def:149 builtins/jobs.def:282
+#, fuzzy
+msgid "current"
+msgstr "Actual"
+
+#: builtins/fg_bg.def:158
+#, c-format
+msgid "job %d started without job control"
+msgstr ""
+
+#: builtins/getopt.c:110
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: builtins/getopt.c:111
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr ""
+
+#: builtins/hash.def:92
+msgid "hashing disabled"
+msgstr ""
+
+#: builtins/hash.def:138
+#, c-format
+msgid "%s: hash table empty\n"
+msgstr ""
+
+#: builtins/hash.def:245
+#, c-format
+msgid "hits\tcommand\n"
+msgstr ""
+
+#: builtins/help.def:130
+#, c-format
+msgid "Shell commands matching keyword `"
+msgid_plural "Shell commands matching keywords `"
+msgstr[0] ""
+msgstr[1] ""
+
+#: builtins/help.def:168
+#, c-format
+msgid "no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
+msgstr ""
+
+#: builtins/help.def:185
+#, c-format
+msgid "%s: cannot open: %s"
+msgstr "%s: non foi posíbel abrir: %s"
+
+#: builtins/help.def:337
+#, c-format
+msgid ""
+"These shell commands are defined internally.  Type `help' to see this list.\n"
+"Type `help name' to find out more about the function `name'.\n"
+"Use `info bash' to find out more about the shell in general.\n"
+"Use `man -k' or `info' to find out more about commands not in this list.\n"
+"\n"
+"A star (*) next to a name means that the command is disabled.\n"
+"\n"
+msgstr ""
+
+#: builtins/history.def:154
+msgid "cannot use more than one of -anrw"
+msgstr ""
+
+#: builtins/history.def:186
+msgid "history position"
+msgstr ""
+
+#: builtins/history.def:365
+#, c-format
+msgid "%s: history expansion failed"
+msgstr ""
+
+#: builtins/inlib.def:71
+#, c-format
+msgid "%s: inlib failed"
+msgstr ""
+
+#: builtins/jobs.def:109
+msgid "no other options allowed with `-x'"
+msgstr ""
+
+#: builtins/kill.def:198
+#, c-format
+msgid "%s: arguments must be process or job IDs"
+msgstr ""
+
+#: builtins/kill.def:261
+msgid "Unknown error"
+msgstr "Erro descoñecido"
+
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
+msgid "expression expected"
+msgstr ""
+
+#: builtins/mapfile.def:172
+#, c-format
+msgid "%s: not an indexed array"
+msgstr ""
+
+#: builtins/mapfile.def:256 builtins/read.def:279
+#, c-format
+msgid "%s: invalid file descriptor specification"
+msgstr ""
+
+#: builtins/mapfile.def:264 builtins/read.def:286
+#, c-format
+msgid "%d: invalid file descriptor: %s"
+msgstr ""
+
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
+#, c-format
+msgid "%s: invalid line count"
+msgstr ""
+
+#: builtins/mapfile.def:284
+#, c-format
+msgid "%s: invalid array origin"
+msgstr ""
+
+#: builtins/mapfile.def:301
+#, c-format
+msgid "%s: invalid callback quantum"
+msgstr ""
+
+#: builtins/mapfile.def:333
+msgid "empty array variable name"
+msgstr ""
+
+#: builtins/mapfile.def:354
+msgid "array variable support required"
+msgstr ""
+
+#: builtins/printf.def:394
+#, c-format
+msgid "`%s': missing format character"
+msgstr ""
+
+#: builtins/printf.def:448
+#, c-format
+msgid "`%c': invalid time format specification"
+msgstr ""
+
+#: builtins/printf.def:635
+#, c-format
+msgid "`%c': invalid format character"
+msgstr ""
+
+#: builtins/printf.def:662
+#, fuzzy, c-format
+msgid "warning: %s: %s"
+msgstr "Aviso"
+
+#: builtins/printf.def:840
+msgid "missing hex digit for \\x"
+msgstr ""
+
+#: builtins/printf.def:855
+#, c-format
+msgid "missing unicode digit for \\%c"
+msgstr ""
+
+#: builtins/pushd.def:195
+msgid "no other directory"
+msgstr ""
+
+#: builtins/pushd.def:462
+msgid "<no current directory>"
+msgstr ""
+
+#: builtins/pushd.def:506
+msgid "directory stack empty"
+msgstr ""
+
+#: builtins/pushd.def:508
+msgid "directory stack index"
+msgstr ""
+
+#: builtins/pushd.def:683
+msgid ""
+"Display the list of currently remembered directories.  Directories\n"
+"    find their way onto the list with the `pushd' command; you can get\n"
+"    back up through the list with the `popd' command.\n"
+"    \n"
+"    Options:\n"
+"      -c\tclear the directory stack by deleting all of the elements\n"
+"      -l\tdo not print tilde-prefixed versions of directories relative\n"
+"    \tto your home directory\n"
+"      -p\tprint the directory stack with one entry per line\n"
+"      -v\tprint the directory stack with one entry per line prefixed\n"
+"    \twith its position in the stack\n"
+"    \n"
+"    Arguments:\n"
+"      +N\tDisplays the Nth entry counting from the left of the list shown by\n"
+"    \tdirs when invoked without options, starting with zero.\n"
+"    \n"
+"      -N\tDisplays the Nth entry counting from the right of the list shown by\n"
+"\tdirs when invoked without options, starting with zero."
+msgstr ""
+
+#: builtins/pushd.def:705
+msgid ""
+"Adds a directory to the top of the directory stack, or rotates\n"
+"    the stack, making the new top of the stack the current working\n"
+"    directory.  With no arguments, exchanges the top two directories.\n"
+"    \n"
+"    Options:\n"
+"      -n\tSuppresses the normal change of directory when adding\n"
+"    \tdirectories to the stack, so only the stack is manipulated.\n"
+"    \n"
+"    Arguments:\n"
+"      +N\tRotates the stack so that the Nth directory (counting\n"
+"    \tfrom the left of the list shown by `dirs', starting with\n"
+"    \tzero) is at the top.\n"
+"    \n"
+"      -N\tRotates the stack so that the Nth directory (counting\n"
+"    \tfrom the right of the list shown by `dirs', starting with\n"
+"    \tzero) is at the top.\n"
+"    \n"
+"      dir\tAdds DIR to the directory stack at the top, making it the\n"
+"    \tnew current working directory.\n"
+"    \n"
+"    The `dirs' builtin displays the directory stack."
+msgstr ""
+
+#: builtins/pushd.def:730
+msgid ""
+"Removes entries from the directory stack.  With no arguments, removes\n"
+"    the top directory from the stack, and changes to the new top directory.\n"
+"    \n"
+"    Options:\n"
+"      -n\tSuppresses the normal change of directory when removing\n"
+"    \tdirectories from the stack, so only the stack is manipulated.\n"
+"    \n"
+"    Arguments:\n"
+"      +N\tRemoves the Nth entry counting from the left of the list\n"
+"    \tshown by `dirs', starting with zero.  For example: `popd +0'\n"
+"    \tremoves the first directory, `popd +1' the second.\n"
+"    \n"
+"      -N\tRemoves the Nth entry counting from the right of the list\n"
+"    \tshown by `dirs', starting with zero.  For example: `popd -0'\n"
+"    \tremoves the last directory, `popd -1' the next to last.\n"
+"    \n"
+"    The `dirs' builtin displays the directory stack."
+msgstr ""
+
+#: builtins/read.def:252
+#, c-format
+msgid "%s: invalid timeout specification"
+msgstr ""
+
+#: builtins/read.def:588
+#, c-format
+msgid "read error: %d: %s"
+msgstr "erro de lectura: %d: %s"
+
+#: builtins/return.def:73
+msgid "can only `return' from a function or sourced script"
+msgstr ""
+
+#: builtins/set.def:771
+msgid "cannot simultaneously unset a function and a variable"
+msgstr ""
+
+#: builtins/set.def:808
+#, c-format
+msgid "%s: cannot unset"
+msgstr ""
+
+#: builtins/set.def:815
+#, c-format
+msgid "%s: cannot unset: readonly %s"
+msgstr ""
+
+#: builtins/set.def:826
+#, c-format
+msgid "%s: not an array variable"
+msgstr ""
+
+#: builtins/setattr.def:186
+#, c-format
+msgid "%s: not a function"
+msgstr "%s: non Ã© unha función"
+
+#: builtins/shift.def:71 builtins/shift.def:77
+msgid "shift count"
+msgstr ""
+
+#: builtins/shopt.def:264
+msgid "cannot set and unset shell options simultaneously"
+msgstr ""
+
+#: builtins/shopt.def:329
+#, c-format
+msgid "%s: invalid shell option name"
+msgstr ""
+
+#: builtins/source.def:130
+msgid "filename argument required"
+msgstr ""
+
+#: builtins/source.def:155
+#, c-format
+msgid "%s: file not found"
+msgstr "%s: non se atopou o ficheiro"
+
+#: builtins/suspend.def:101
+msgid "cannot suspend"
+msgstr ""
+
+#: builtins/suspend.def:111
+msgid "cannot suspend a login shell"
+msgstr ""
+
+#: builtins/type.def:234
+#, c-format
+msgid "%s is aliased to `%s'\n"
+msgstr ""
+
+#: builtins/type.def:255
+#, c-format
+msgid "%s is a shell keyword\n"
+msgstr ""
+
+#: builtins/type.def:274
+#, c-format
+msgid "%s is a function\n"
+msgstr "%s Ã© unha función\n"
+
+#: builtins/type.def:296
+#, c-format
+msgid "%s is a shell builtin\n"
+msgstr ""
+
+#: builtins/type.def:317 builtins/type.def:391
+#, c-format
+msgid "%s is %s\n"
+msgstr "%s Ã© %s\n"
+
+#: builtins/type.def:337
+#, c-format
+msgid "%s is hashed (%s)\n"
+msgstr ""
+
+#: builtins/ulimit.def:376
+#, c-format
+msgid "%s: invalid limit argument"
+msgstr ""
+
+#: builtins/ulimit.def:402
+#, c-format
+msgid "`%c': bad command"
+msgstr ""
+
+#: builtins/ulimit.def:431
+#, c-format
+msgid "%s: cannot get limit: %s"
+msgstr ""
+
+#: builtins/ulimit.def:457
+msgid "limit"
+msgstr ""
+
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
+#, c-format
+msgid "%s: cannot modify limit: %s"
+msgstr ""
+
+#: builtins/umask.def:118
+msgid "octal number"
+msgstr "número octal"
+
+#: builtins/umask.def:231
+#, c-format
+msgid "`%c': invalid symbolic mode operator"
+msgstr ""
+
+#: builtins/umask.def:286
+#, c-format
+msgid "`%c': invalid symbolic mode character"
+msgstr ""
+
+#: error.c:90 error.c:321 error.c:323 error.c:325
+msgid " line "
+msgstr " liña "
+
+#: error.c:165
+#, c-format
+msgid "last command: %s\n"
+msgstr "última orde: %s\n"
+
+#: error.c:173
+#, c-format
+msgid "Aborting..."
+msgstr ""
+
+#: error.c:406
+msgid "unknown command error"
+msgstr ""
+
+#: error.c:407
+msgid "bad command type"
+msgstr ""
+
+#: error.c:408
+msgid "bad connector"
+msgstr ""
+
+#: error.c:409
+msgid "bad jump"
+msgstr ""
+
+#: error.c:447
+#, c-format
+msgid "%s: unbound variable"
+msgstr ""
+
+#: eval.c:181
+#, c-format
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr ""
+
+#: execute_cmd.c:504
+#, c-format
+msgid "cannot redirect standard input from /dev/null: %s"
+msgstr ""
+
+#: execute_cmd.c:1168
+#, c-format
+msgid "TIMEFORMAT: `%c': invalid format character"
+msgstr ""
+
+#: execute_cmd.c:2121
+msgid "pipe error"
+msgstr "erro de canalización"
+
+#: execute_cmd.c:4640
+#, c-format
+msgid "%s: restricted: cannot specify `/' in command names"
+msgstr ""
+
+#: execute_cmd.c:4735
+#, c-format
+msgid "%s: command not found"
+msgstr "%s: non se atopou a orde"
+
+#: execute_cmd.c:4959
+#, c-format
+msgid "%s: %s"
+msgstr "%s: %s"
+
+#: execute_cmd.c:4995
+#, c-format
+msgid "%s: %s: bad interpreter"
+msgstr ""
+
+#: execute_cmd.c:5144
+#, fuzzy, c-format
+msgid "cannot duplicate fd %d to fd %d"
+msgstr "Seleccione un ou máis <b>obxectos</b> para duplicalos."
+
+#: expr.c:256
+msgid "expression recursion level exceeded"
+msgstr ""
+
+#: expr.c:280
+msgid "recursion stack underflow"
+msgstr ""
+
+#: expr.c:422
+msgid "syntax error in expression"
+msgstr "erro de sintaxe na expresión"
+
+#: expr.c:463
+msgid "attempted assignment to non-variable"
+msgstr ""
+
+#: expr.c:486 expr.c:491 expr.c:807
+msgid "division by 0"
+msgstr "división entre 0"
+
+#: expr.c:517
+msgid "bug: bad expassign token"
+msgstr ""
+
+#: expr.c:564
+msgid "`:' expected for conditional expression"
+msgstr ""
+
+#: expr.c:832
+msgid "exponent less than 0"
+msgstr ""
+
+#: expr.c:887
+msgid "identifier expected after pre-increment or pre-decrement"
+msgstr ""
+
+#: expr.c:910
+msgid "missing `)'"
+msgstr ""
+
+#: expr.c:959 expr.c:1282
+msgid "syntax error: operand expected"
+msgstr ""
+
+#: expr.c:1284
+msgid "syntax error: invalid arithmetic operator"
+msgstr ""
+
+#: expr.c:1308
+#, c-format
+msgid "%s%s%s: %s (error token is \"%s\")"
+msgstr ""
+
+#: expr.c:1366
+msgid "invalid arithmetic base"
+msgstr ""
+
+#: expr.c:1386
+msgid "value too great for base"
+msgstr ""
+
+#: expr.c:1435
+#, c-format
+msgid "%s: expression error\n"
+msgstr ""
+
+#: general.c:61
+msgid "getcwd: cannot access parent directories"
+msgstr ""
+
+#: input.c:94 subst.c:5082
+#, c-format
+msgid "cannot reset nodelay mode for fd %d"
+msgstr ""
+
+#: input.c:260
+#, c-format
+msgid "cannot allocate new file descriptor for bash input from fd %d"
+msgstr ""
+
+#: input.c:268
+#, c-format
+msgid "save_bash_input: buffer already exists for new fd %d"
+msgstr ""
+
+#: jobs.c:468
+msgid "start_pipeline: pgrp pipe"
+msgstr ""
+
+#: jobs.c:889
+#, c-format
+msgid "forked pid %d appears in running job %d"
+msgstr ""
+
+#: jobs.c:1007
+#, c-format
+msgid "deleting stopped job %d with process group %ld"
+msgstr ""
+
+#: jobs.c:1112
+#, c-format
+msgid "add_process: process %5ld (%s) in the_pipeline"
+msgstr ""
+
+#: jobs.c:1115
+#, c-format
+msgid "add_process: pid %5ld (%s) marked as still alive"
+msgstr ""
+
+#: jobs.c:1430
+#, c-format
+msgid "describe_pid: %ld: no such pid"
+msgstr ""
+
+#: jobs.c:1445
+#, c-format
+msgid "Signal %d"
+msgstr ""
+
+#: jobs.c:1459 jobs.c:1484
+msgid "Done"
+msgstr "Feito"
+
+#: jobs.c:1464 siglist.c:123
+msgid "Stopped"
+msgstr ""
+
+#: jobs.c:1468
+#, c-format
+msgid "Stopped(%s)"
+msgstr ""
+
+#: jobs.c:1472
+msgid "Running"
+msgstr "En execución"
+
+#: jobs.c:1486
+#, c-format
+msgid "Done(%d)"
+msgstr "Feito(%d)"
+
+#: jobs.c:1488
+#, c-format
+msgid "Exit %d"
+msgstr ""
+
+#: jobs.c:1491
+msgid "Unknown status"
+msgstr "Estado descoñecido"
+
+#: jobs.c:1578
+#, c-format
+msgid "(core dumped) "
+msgstr ""
+
+#: jobs.c:1597
+#, c-format
+msgid "  (wd: %s)"
+msgstr ""
+
+#: jobs.c:1805
+#, c-format
+msgid "child setpgid (%ld to %ld)"
+msgstr ""
+
+#: jobs.c:2133 nojobs.c:585
+#, c-format
+msgid "wait: pid %ld is not a child of this shell"
+msgstr ""
+
+#: jobs.c:2360
+#, c-format
+msgid "wait_for: No record of process %ld"
+msgstr ""
+
+#: jobs.c:2637
+#, c-format
+msgid "wait_for_job: job %d is stopped"
+msgstr ""
+
+#: jobs.c:2859
+#, c-format
+msgid "%s: job has terminated"
+msgstr ""
+
+#: jobs.c:2868
+#, c-format
+msgid "%s: job %d already in background"
+msgstr ""
+
+#: jobs.c:3089
+msgid "waitchld: turning on WNOHANG to avoid indefinite block"
+msgstr ""
+
+#: jobs.c:3538
+#, c-format
+msgid "%s: line %d: "
+msgstr "%s: liña %d: "
+
+#: jobs.c:3552 nojobs.c:814
+#, c-format
+msgid " (core dumped)"
+msgstr ""
+
+#: jobs.c:3564 jobs.c:3577
+#, c-format
+msgid "(wd now: %s)\n"
+msgstr ""
+
+#: jobs.c:3609
+msgid "initialize_job_control: getpgrp failed"
+msgstr ""
+
+#: jobs.c:3669
+msgid "initialize_job_control: line discipline"
+msgstr ""
+
+#: jobs.c:3679
+msgid "initialize_job_control: setpgid"
+msgstr ""
+
+#: jobs.c:3707
+#, c-format
+msgid "cannot set terminal process group (%d)"
+msgstr ""
+
+#: jobs.c:3712
+msgid "no job control in this shell"
+msgstr ""
+
+#: lib/malloc/malloc.c:296
+#, c-format
+msgid "malloc: failed assertion: %s\n"
+msgstr ""
+
+#: lib/malloc/malloc.c:312
+#, c-format
+msgid ""
+"\r\n"
+"malloc: %s:%d: assertion botched\r\n"
+msgstr ""
+
+#: lib/malloc/malloc.c:313
+msgid "unknown"
+msgstr "descoñecido"
+
+#: lib/malloc/malloc.c:797
+msgid "malloc: block on free list clobbered"
+msgstr ""
+
+#: lib/malloc/malloc.c:874
+msgid "free: called with already freed block argument"
+msgstr ""
+
+#: lib/malloc/malloc.c:877
+msgid "free: called with unallocated block argument"
+msgstr ""
+
+#: lib/malloc/malloc.c:896
+msgid "free: underflow detected; mh_nbytes out of range"
+msgstr ""
+
+#: lib/malloc/malloc.c:902
+msgid "free: start and end chunk sizes differ"
+msgstr ""
+
+#: lib/malloc/malloc.c:1001
+msgid "realloc: called with unallocated block argument"
+msgstr ""
+
+#: lib/malloc/malloc.c:1016
+msgid "realloc: underflow detected; mh_nbytes out of range"
+msgstr ""
+
+#: lib/malloc/malloc.c:1022
+msgid "realloc: start and end chunk sizes differ"
+msgstr ""
+
+#: lib/malloc/table.c:177
+#, c-format
+msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
+msgstr ""
+
+#: lib/malloc/table.c:184
+#, c-format
+msgid "register_alloc: %p already in table as allocated?\n"
+msgstr ""
+
+#: lib/malloc/table.c:220
+#, c-format
+msgid "register_free: %p already in table as free?\n"
+msgstr ""
+
+#: lib/sh/fmtulong.c:101
+msgid "invalid base"
+msgstr ""
+
+#: lib/sh/netopen.c:168
+#, c-format
+msgid "%s: host unknown"
+msgstr ""
+
+#: lib/sh/netopen.c:175
+#, c-format
+msgid "%s: invalid service"
+msgstr ""
+
+#: lib/sh/netopen.c:306
+#, c-format
+msgid "%s: bad network path specification"
+msgstr ""
+
+#: lib/sh/netopen.c:346
+msgid "network operations not supported"
+msgstr ""
+
+#: locale.c:192
+#, c-format
+msgid "setlocale: LC_ALL: cannot change locale (%s)"
+msgstr ""
+
+#: locale.c:194
+#, c-format
+msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
+msgstr ""
+
+#: locale.c:247
+#, c-format
+msgid "setlocale: %s: cannot change locale (%s)"
+msgstr ""
+
+#: locale.c:249
+#, c-format
+msgid "setlocale: %s: cannot change locale (%s): %s"
+msgstr ""
+
+#: mailcheck.c:433
+msgid "You have mail in $_"
+msgstr "Ten mensaxes en $_"
+
+#: mailcheck.c:458
+msgid "You have new mail in $_"
+msgstr "Ten unha nova mensaxe en $_"
+
+#: mailcheck.c:474
+#, c-format
+msgid "The mail in %s has been read\n"
+msgstr ""
+
+#: make_cmd.c:323
+msgid "syntax error: arithmetic expression required"
+msgstr ""
+
+#: make_cmd.c:325
+msgid "syntax error: `;' unexpected"
+msgstr ""
+
+#: make_cmd.c:326
+#, c-format
+msgid "syntax error: `((%s))'"
+msgstr "erro de sintaxe: `((%s))'"
+
+#: make_cmd.c:575
+#, c-format
+msgid "make_here_document: bad instruction type %d"
+msgstr ""
+
+#: make_cmd.c:659
+#, c-format
+msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
+msgstr ""
+
+#: make_cmd.c:756
+#, c-format
+msgid "make_redirection: redirection instruction `%d' out of range"
+msgstr ""
+
+#: parse.y:3173 parse.y:3444
+#, c-format
+msgid "unexpected EOF while looking for matching `%c'"
+msgstr ""
+
+#: parse.y:4025
+msgid "unexpected EOF while looking for `]]'"
+msgstr ""
+
+#: parse.y:4030
+#, c-format
+msgid "syntax error in conditional expression: unexpected token `%s'"
+msgstr ""
+
+#: parse.y:4034
+msgid "syntax error in conditional expression"
+msgstr ""
+
+#: parse.y:4112
+#, c-format
+msgid "unexpected token `%s', expected `)'"
+msgstr ""
+
+#: parse.y:4116
+msgid "expected `)'"
+msgstr ""
+
+#: parse.y:4144
+#, c-format
+msgid "unexpected argument `%s' to conditional unary operator"
+msgstr ""
+
+#: parse.y:4148
+msgid "unexpected argument to conditional unary operator"
+msgstr ""
+
+#: parse.y:4194
+#, c-format
+msgid "unexpected token `%s', conditional binary operator expected"
+msgstr ""
+
+#: parse.y:4198
+msgid "conditional binary operator expected"
+msgstr ""
+
+#: parse.y:4220
+#, c-format
+msgid "unexpected argument `%s' to conditional binary operator"
+msgstr ""
+
+#: parse.y:4224
+msgid "unexpected argument to conditional binary operator"
+msgstr ""
+
+#: parse.y:4235
+#, c-format
+msgid "unexpected token `%c' in conditional command"
+msgstr ""
+
+#: parse.y:4238
+#, c-format
+msgid "unexpected token `%s' in conditional command"
+msgstr ""
+
+#: parse.y:4242
+#, c-format
+msgid "unexpected token %d in conditional command"
+msgstr ""
+
+#: parse.y:5566
+#, c-format
+msgid "syntax error near unexpected token `%s'"
+msgstr ""
+
+#: parse.y:5584
+#, c-format
+msgid "syntax error near `%s'"
+msgstr ""
+
+#: parse.y:5594
+msgid "syntax error: unexpected end of file"
+msgstr ""
+
+#: parse.y:5594
+msgid "syntax error"
+msgstr "erro de sintaxe"
+
+#: parse.y:5656
+#, c-format
+msgid "Use \"%s\" to leave the shell.\n"
+msgstr ""
+
+#: parse.y:5818
+msgid "unexpected EOF while looking for matching `)'"
+msgstr ""
+
+#: pcomplete.c:1030
+#, c-format
+msgid "completion: function `%s' not found"
+msgstr ""
+
+#: pcomplib.c:182
+#, c-format
+msgid "progcomp_insert: %s: NULL COMPSPEC"
+msgstr ""
+
+#: print_cmd.c:296
+#, c-format
+msgid "print_command: bad connector `%d'"
+msgstr ""
+
+#: print_cmd.c:368
+#, c-format
+msgid "xtrace_set: %d: invalid file descriptor"
+msgstr ""
+
+#: print_cmd.c:373
+msgid "xtrace_set: NULL file pointer"
+msgstr ""
+
+#: print_cmd.c:377
+#, c-format
+msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
+msgstr ""
+
+#: print_cmd.c:1478
+#, c-format
+msgid "cprintf: `%c': invalid format character"
+msgstr ""
+
+#: redir.c:122
+msgid "file descriptor out of range"
+msgstr ""
+
+#: redir.c:178
+#, c-format
+msgid "%s: ambiguous redirect"
+msgstr ""
+
+#: redir.c:182
+#, c-format
+msgid "%s: cannot overwrite existing file"
+msgstr ""
+
+#: redir.c:187
+#, c-format
+msgid "%s: restricted: cannot redirect output"
+msgstr ""
+
+#: redir.c:192
+#, c-format
+msgid "cannot create temp file for here-document: %s"
+msgstr ""
+
+#: redir.c:196
+#, c-format
+msgid "%s: cannot assign fd to variable"
+msgstr ""
+
+#: redir.c:548
+msgid "/dev/(tcp|udp)/host/port not supported without networking"
+msgstr ""
+
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
+msgid "redirection error: cannot duplicate fd"
+msgstr ""
+
+#: shell.c:333
+msgid "could not find /tmp, please create!"
+msgstr ""
+
+#: shell.c:337
+msgid "/tmp must be a valid directory name"
+msgstr ""
+
+#: shell.c:884
+#, c-format
+msgid "%c%c: invalid option"
+msgstr "%c%c: opción non válida"
+
+#: shell.c:1652
+msgid "I have no name!"
+msgstr "Non teño nome!"
+
+#: shell.c:1795
+#, c-format
+msgid "GNU bash, version %s-(%s)\n"
+msgstr "GNU bash, versión %s-(%s)\n"
+
+#: shell.c:1796
+#, c-format
+msgid ""
+"Usage:\t%s [GNU long option] [option] ...\n"
+"\t%s [GNU long option] [option] script-file ...\n"
+msgstr ""
+
+#: shell.c:1798
+msgid "GNU long options:\n"
+msgstr ""
+
+#: shell.c:1802
+msgid "Shell options:\n"
+msgstr ""
+
+#: shell.c:1803
+msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
+msgstr ""
+
+#: shell.c:1818
+#, c-format
+msgid "\t-%s or -o option\n"
+msgstr ""
+
+#: shell.c:1824
+#, c-format
+msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
+msgstr ""
+
+#: shell.c:1825
+#, c-format
+msgid "Type `%s -c help' for more information about shell builtin commands.\n"
+msgstr ""
+
+#: shell.c:1826
+#, c-format
+msgid "Use the `bashbug' command to report bugs.\n"
+msgstr ""
+
+#: sig.c:638
+#, c-format
+msgid "sigprocmask: %d: invalid operation"
+msgstr "sigprocmask: %d: operación non válida"
+
+#: siglist.c:48
+msgid "Bogus signal"
+msgstr ""
+
+#: siglist.c:51
+msgid "Hangup"
+msgstr ""
+
+#: siglist.c:55
+msgid "Interrupt"
+msgstr ""
+
+#: siglist.c:59
+msgid "Quit"
+msgstr "Saír"
+
+#: siglist.c:63
+msgid "Illegal instruction"
+msgstr ""
+
+#: siglist.c:67
+msgid "BPT trace/trap"
+msgstr ""
+
+#: siglist.c:75
+msgid "ABORT instruction"
+msgstr ""
+
+#: siglist.c:79
+msgid "EMT instruction"
+msgstr ""
+
+#: siglist.c:83
+msgid "Floating point exception"
+msgstr ""
+
+#: siglist.c:87
+msgid "Killed"
+msgstr ""
+
+#: siglist.c:91
+msgid "Bus error"
+msgstr ""
+
+#: siglist.c:95
+msgid "Segmentation fault"
+msgstr ""
+
+#: siglist.c:99
+msgid "Bad system call"
+msgstr ""
+
+#: siglist.c:103
+msgid "Broken pipe"
+msgstr ""
+
+#: siglist.c:107
+msgid "Alarm clock"
+msgstr ""
+
+#: siglist.c:111
+msgid "Terminated"
+msgstr ""
+
+#: siglist.c:115
+msgid "Urgent IO condition"
+msgstr ""
+
+#: siglist.c:119
+msgid "Stopped (signal)"
+msgstr ""
+
+#: siglist.c:127
+msgid "Continue"
+msgstr ""
+
+#: siglist.c:135
+msgid "Child death or stop"
+msgstr ""
+
+#: siglist.c:139
+msgid "Stopped (tty input)"
+msgstr ""
+
+#: siglist.c:143
+msgid "Stopped (tty output)"
+msgstr ""
+
+#: siglist.c:147
+msgid "I/O ready"
+msgstr "E/S preparada"
+
+#: siglist.c:151
+msgid "CPU limit"
+msgstr ""
+
+#: siglist.c:155
+msgid "File limit"
+msgstr ""
+
+#: siglist.c:159
+msgid "Alarm (virtual)"
+msgstr ""
+
+#: siglist.c:163
+msgid "Alarm (profile)"
+msgstr ""
+
+#: siglist.c:167
+msgid "Window changed"
+msgstr ""
+
+#: siglist.c:171
+msgid "Record lock"
+msgstr ""
+
+#: siglist.c:175
+msgid "User signal 1"
+msgstr ""
+
+#: siglist.c:179
+msgid "User signal 2"
+msgstr ""
+
+#: siglist.c:183
+msgid "HFT input data pending"
+msgstr ""
+
+#: siglist.c:187
+msgid "power failure imminent"
+msgstr ""
+
+#: siglist.c:191
+msgid "system crash imminent"
+msgstr ""
+
+#: siglist.c:195
+msgid "migrate process to another CPU"
+msgstr ""
+
+#: siglist.c:199
+msgid "programming error"
+msgstr "erro de programación"
+
+#: siglist.c:203
+msgid "HFT monitor mode granted"
+msgstr ""
+
+#: siglist.c:207
+msgid "HFT monitor mode retracted"
+msgstr ""
+
+#: siglist.c:211
+msgid "HFT sound sequence has completed"
+msgstr ""
+
+#: siglist.c:215
+msgid "Information request"
+msgstr "Solicitude de información"
+
+#: siglist.c:223
+msgid "Unknown Signal #"
+msgstr ""
+
+#: siglist.c:225
+#, c-format
+msgid "Unknown Signal #%d"
+msgstr ""
+
+#: subst.c:1333 subst.c:1502
+#, c-format
+msgid "bad substitution: no closing `%s' in %s"
+msgstr ""
+
+#: subst.c:2795
+#, c-format
+msgid "%s: cannot assign list to array member"
+msgstr ""
+
+#: subst.c:4979 subst.c:4995
+msgid "cannot make pipe for process substitution"
+msgstr ""
+
+#: subst.c:5027
+msgid "cannot make child for process substitution"
+msgstr ""
+
+#: subst.c:5072
+#, c-format
+msgid "cannot open named pipe %s for reading"
+msgstr ""
+
+#: subst.c:5074
+#, c-format
+msgid "cannot open named pipe %s for writing"
+msgstr ""
+
+#: subst.c:5092
+#, c-format
+msgid "cannot duplicate named pipe %s as fd %d"
+msgstr ""
+
+#: subst.c:5284
+msgid "cannot make pipe for command substitution"
+msgstr ""
+
+#: subst.c:5322
+msgid "cannot make child for command substitution"
+msgstr ""
+
+#: subst.c:5339
+msgid "command_substitute: cannot duplicate pipe as fd 1"
+msgstr ""
+
+#: subst.c:5859
+#, c-format
+msgid "%s: parameter null or not set"
+msgstr ""
+
+#: subst.c:6125 subst.c:6140
+#, c-format
+msgid "%s: substring expression < 0"
+msgstr ""
+
+#: subst.c:7271
+#, c-format
+msgid "%s: bad substitution"
+msgstr ""
+
+#: subst.c:7347
+#, c-format
+msgid "$%s: cannot assign in this way"
+msgstr ""
+
+#: subst.c:7684
+msgid "future versions of the shell will force evaluation as an arithmetic substitution"
+msgstr ""
+
+#: subst.c:8149
+#, c-format
+msgid "bad substitution: no closing \"`\" in %s"
+msgstr ""
+
+#: subst.c:9036
+#, c-format
+msgid "no match: %s"
+msgstr ""
+
+#: test.c:146
+msgid "argument expected"
+msgstr ""
+
+#: test.c:155
+#, c-format
+msgid "%s: integer expression expected"
+msgstr ""
+
+#: test.c:263
+msgid "`)' expected"
+msgstr ""
+
+#: test.c:265
+#, c-format
+msgid "`)' expected, found %s"
+msgstr ""
+
+#: test.c:280 test.c:698 test.c:701
+#, c-format
+msgid "%s: unary operator expected"
+msgstr ""
+
+#: test.c:449 test.c:741
+#, c-format
+msgid "%s: binary operator expected"
+msgstr ""
+
+#: test.c:816
+msgid "missing `]'"
+msgstr ""
+
+#: trap.c:207
+msgid "invalid signal number"
+msgstr ""
+
+#: trap.c:337
+#, c-format
+msgid "run_pending_traps: bad value in trap_list[%d]: %p"
+msgstr ""
+
+#: trap.c:341
+#, c-format
+msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgstr ""
+
+#: trap.c:393
+#, c-format
+msgid "trap_handler: bad signal %d"
+msgstr ""
+
+#: variables.c:363
+#, c-format
+msgid "error importing function definition for `%s'"
+msgstr ""
+
+#: variables.c:755
+#, c-format
+msgid "shell level (%d) too high, resetting to 1"
+msgstr ""
+
+#: variables.c:1932
+msgid "make_local_variable: no function context at current scope"
+msgstr ""
+
+#: variables.c:3182
+msgid "all_local_variables: no function context at current scope"
+msgstr ""
+
+#: variables.c:3427
+#, c-format
+msgid "%s has null exportstr"
+msgstr ""
+
+#: variables.c:3432 variables.c:3441
+#, c-format
+msgid "invalid character %d in exportstr for %s"
+msgstr ""
+
+#: variables.c:3447
+#, c-format
+msgid "no `=' in exportstr for %s"
+msgstr ""
+
+#: variables.c:3891
+msgid "pop_var_context: head of shell_variables not a function context"
+msgstr ""
+
+#: variables.c:3904
+msgid "pop_var_context: no global_variables context"
+msgstr ""
+
+#: variables.c:3978
+msgid "pop_scope: head of shell_variables not a temporary environment scope"
+msgstr ""
+
+#: variables.c:4786
+#, c-format
+msgid "%s: %s: cannot open as FILE"
+msgstr ""
+
+#: variables.c:4791
+#, c-format
+msgid "%s: %s: invalid value for trace file descriptor"
+msgstr ""
+
+#: version.c:46
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2011 Free Software Foundation, Inc."
+
+#: version.c:47
+msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+msgstr ""
+
+#: version.c:86 version2.c:83
+#, c-format
+msgid "GNU bash, version %s (%s)\n"
+msgstr "GNU bash, versión %s (%s)\n"
+
+#: version.c:91 version2.c:88
+#, c-format
+msgid "This is free software; you are free to change and redistribute it.\n"
+msgstr ""
+
+#: version.c:92 version2.c:89
+#, c-format
+msgid "There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+
+#: version2.c:86
+#, c-format
+msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
+msgstr "Copyright (C) 2009 Free Software Foundation, Inc.\n"
+
+#: version2.c:87
+#, c-format
+msgid "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>\n"
+msgstr ""
+
+#: xmalloc.c:91
+#, c-format
+msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
+msgstr ""
+
+#: xmalloc.c:93
+#, c-format
+msgid "%s: cannot allocate %lu bytes"
+msgstr ""
+
+#: xmalloc.c:163
+#, c-format
+msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
+msgstr ""
+
+#: xmalloc.c:165
+#, c-format
+msgid "%s: %s:%d: cannot allocate %lu bytes"
+msgstr ""
+
+#: builtins.c:43
+msgid "alias [-p] [name[=value] ... ]"
+msgstr ""
+
+#: builtins.c:47
+msgid "unalias [-a] name [name ...]"
+msgstr ""
+
+#: builtins.c:51
+msgid "bind [-lpvsPVS] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]"
+msgstr ""
+
+#: builtins.c:54
+msgid "break [n]"
+msgstr "break [n]"
+
+#: builtins.c:56
+msgid "continue [n]"
+msgstr "continue [n]"
+
+#: builtins.c:58
+msgid "builtin [shell-builtin [arg ...]]"
+msgstr ""
+
+#: builtins.c:61
+msgid "caller [expr]"
+msgstr ""
+
+#: builtins.c:64
+msgid "cd [-L|[-P [-e]]] [dir]"
+msgstr ""
+
+#: builtins.c:66
+msgid "pwd [-LP]"
+msgstr "pwd [-LP]"
+
+#: builtins.c:68
+msgid ":"
+msgstr ":"
+
+#: builtins.c:70
+msgid "true"
+msgstr ""
+
+#: builtins.c:72
+msgid "false"
+msgstr ""
+
+#: builtins.c:74
+msgid "command [-pVv] command [arg ...]"
+msgstr ""
+
+#: builtins.c:76
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
+msgstr ""
+
+#: builtins.c:78
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
+msgstr ""
+
+#: builtins.c:80
+msgid "local [option] name[=value] ..."
+msgstr ""
+
+#: builtins.c:83
+msgid "echo [-neE] [arg ...]"
+msgstr ""
+
+#: builtins.c:87
+msgid "echo [-n] [arg ...]"
+msgstr ""
+
+#: builtins.c:90
+msgid "enable [-a] [-dnps] [-f filename] [name ...]"
+msgstr ""
+
+#: builtins.c:92
+msgid "eval [arg ...]"
+msgstr ""
+
+#: builtins.c:94
+msgid "getopts optstring name [arg]"
+msgstr ""
+
+#: builtins.c:96
+msgid "exec [-cl] [-a name] [command [arguments ...]] [redirection ...]"
+msgstr ""
+
+#: builtins.c:98
+msgid "exit [n]"
+msgstr "exit [n]"
+
+#: builtins.c:100
+msgid "logout [n]"
+msgstr "logout [n]"
+
+#: builtins.c:103
+msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]"
+msgstr ""
+
+#: builtins.c:107
+msgid "fg [job_spec]"
+msgstr ""
+
+#: builtins.c:111
+msgid "bg [job_spec ...]"
+msgstr ""
+
+#: builtins.c:114
+msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
+msgstr ""
+
+#: builtins.c:117
+msgid "help [-dms] [pattern ...]"
+msgstr ""
+
+#: builtins.c:121
+msgid "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]"
+msgstr ""
+
+#: builtins.c:125
+msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
+msgstr ""
+
+#: builtins.c:129
+msgid "disown [-h] [-ar] [jobspec ...]"
+msgstr ""
+
+#: builtins.c:132
+msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
+msgstr ""
+
+#: builtins.c:134
+msgid "let arg [arg ...]"
+msgstr ""
+
+#: builtins.c:136
+msgid "read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]"
+msgstr ""
+
+#: builtins.c:138
+msgid "return [n]"
+msgstr "return [n]"
+
+#: builtins.c:140
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
+msgstr ""
+
+#: builtins.c:142
+msgid "unset [-f] [-v] [name ...]"
+msgstr ""
+
+#: builtins.c:144
+msgid "export [-fn] [name[=value] ...] or export -p"
+msgstr ""
+
+#: builtins.c:146
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
+msgstr ""
+
+#: builtins.c:148
+msgid "shift [n]"
+msgstr "shift [n]"
+
+#: builtins.c:150
+msgid "source filename [arguments]"
+msgstr ""
+
+#: builtins.c:152
+msgid ". filename [arguments]"
+msgstr ""
+
+#: builtins.c:155
+msgid "suspend [-f]"
+msgstr ""
+
+#: builtins.c:158
+msgid "test [expr]"
+msgstr ""
+
+#: builtins.c:160
+msgid "[ arg... ]"
+msgstr ""
+
+#: builtins.c:162
+msgid "times"
+msgstr ""
+
+#: builtins.c:164
+msgid "trap [-lp] [[arg] signal_spec ...]"
+msgstr ""
+
+#: builtins.c:166
+msgid "type [-afptP] name [name ...]"
+msgstr ""
+
+#: builtins.c:169
+msgid "ulimit [-SHacdefilmnpqrstuvx] [limit]"
+msgstr ""
+
+#: builtins.c:172
+msgid "umask [-p] [-S] [mode]"
+msgstr ""
+
+#: builtins.c:175
+msgid "wait [id]"
+msgstr "wait [id]"
+
+#: builtins.c:179
+msgid "wait [pid]"
+msgstr ""
+
+#: builtins.c:182
+msgid "for NAME [in WORDS ... ] ; do COMMANDS; done"
+msgstr ""
+
+#: builtins.c:184
+msgid "for (( exp1; exp2; exp3 )); do COMMANDS; done"
+msgstr ""
+
+#: builtins.c:186
+msgid "select NAME [in WORDS ... ;] do COMMANDS; done"
+msgstr ""
+
+#: builtins.c:188
+msgid "time [-p] pipeline"
+msgstr ""
+
+#: builtins.c:190
+msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
+msgstr ""
+
+#: builtins.c:192
+msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
+msgstr ""
+
+#: builtins.c:194
+msgid "while COMMANDS; do COMMANDS; done"
+msgstr ""
+
+#: builtins.c:196
+msgid "until COMMANDS; do COMMANDS; done"
+msgstr ""
+
+#: builtins.c:198
+msgid "coproc [NAME] command [redirections]"
+msgstr ""
+
+#: builtins.c:200
+msgid "function name { COMMANDS ; } or name () { COMMANDS ; }"
+msgstr ""
+
+#: builtins.c:202
+msgid "{ COMMANDS ; }"
+msgstr ""
+
+#: builtins.c:204
+msgid "job_spec [&]"
+msgstr ""
+
+#: builtins.c:206
+msgid "(( expression ))"
+msgstr ""
+
+#: builtins.c:208
+msgid "[[ expression ]]"
+msgstr ""
+
+#: builtins.c:210
+msgid "variables - Names and meanings of some shell variables"
+msgstr ""
+
+#: builtins.c:213
+msgid "pushd [-n] [+N | -N | dir]"
+msgstr ""
+
+#: builtins.c:217
+msgid "popd [-n] [+N | -N]"
+msgstr ""
+
+#: builtins.c:221
+msgid "dirs [-clpv] [+N] [-N]"
+msgstr "dirs [-clpv] [+N] [-N]"
+
+#: builtins.c:224
+msgid "shopt [-pqsu] [-o] [optname ...]"
+msgstr ""
+
+#: builtins.c:226
+msgid "printf [-v var] format [arguments]"
+msgstr ""
+
+#: builtins.c:229
+msgid "complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]"
+msgstr ""
+
+#: builtins.c:233
+msgid "compgen [-abcdefgjksuv] [-o option]  [-A action] [-G globpat] [-W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
+msgstr ""
+
+#: builtins.c:237
+msgid "compopt [-o|+o option] [-DE] [name ...]"
+msgstr ""
+
+#: builtins.c:240
+msgid "mapfile [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr ""
+
+#: builtins.c:242
+msgid "readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr ""
+
+#: builtins.c:254
+msgid ""
+"Define or display aliases.\n"
+"    \n"
+"    Without arguments, `alias' prints the list of aliases in the reusable\n"
+"    form `alias NAME=VALUE' on standard output.\n"
+"    \n"
+"    Otherwise, an alias is defined for each NAME whose VALUE is given.\n"
+"    A trailing space in VALUE causes the next word to be checked for\n"
+"    alias substitution when the alias is expanded.\n"
+"    \n"
+"    Options:\n"
+"      -p\tPrint all defined aliases in a reusable format\n"
+"    \n"
+"    Exit Status:\n"
+"    alias returns true unless a NAME is supplied for which no alias has been\n"
+"    defined."
+msgstr ""
+
+#: builtins.c:276
+msgid ""
+"Remove each NAME from the list of defined aliases.\n"
+"    \n"
+"    Options:\n"
+"      -a\tremove all alias definitions.\n"
+"    \n"
+"    Return success unless a NAME is not an existing alias."
+msgstr ""
+
+#: builtins.c:289
+msgid ""
+"Set Readline key bindings and variables.\n"
+"    \n"
+"    Bind a key sequence to a Readline function or a macro, or set a\n"
+"    Readline variable.  The non-option argument syntax is equivalent to\n"
+"    that found in ~/.inputrc, but must be passed as a single argument:\n"
+"    e.g., bind '\"\\C-x\\C-r\": re-read-init-file'.\n"
+"    \n"
+"    Options:\n"
+"      -m  keymap         Use KEYMAP as the keymap for the duration of this\n"
+"                         command.  Acceptable keymap names are emacs,\n"
+"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n"
+"                         vi-command, and vi-insert.\n"
+"      -l                 List names of functions.\n"
+"      -P                 List function names and bindings.\n"
+"      -p                 List functions and bindings in a form that can be\n"
+"                         reused as input.\n"
+"      -S                 List key sequences that invoke macros and their values\n"
+"      -s                 List key sequences that invoke macros and their values\n"
+"                         in a form that can be reused as input.\n"
+"      -V                 List variable names and values\n"
+"      -v                 List variable names and values in a form that can\n"
+"                         be reused as input.\n"
+"      -q  function-name  Query about which keys invoke the named function.\n"
+"      -u  function-name  Unbind all keys which are bound to the named function.\n"
+"      -r  keyseq         Remove the binding for KEYSEQ.\n"
+"      -f  filename       Read key bindings from FILENAME.\n"
+"      -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
+"    \t\t\t\tKEYSEQ is entered.\n"
+"    \n"
+"    Exit Status:\n"
+"    bind returns 0 unless an unrecognized option is given or an error occurs."
+msgstr ""
+
+#: builtins.c:326
+msgid ""
+"Exit for, while, or until loops.\n"
+"    \n"
+"    Exit a FOR, WHILE or UNTIL loop.  If N is specified, break N enclosing\n"
+"    loops.\n"
+"    \n"
+"    Exit Status:\n"
+"    The exit status is 0 unless N is not greater than or equal to 1."
+msgstr ""
+
+#: builtins.c:338
+msgid ""
+"Resume for, while, or until loops.\n"
+"    \n"
+"    Resumes the next iteration of the enclosing FOR, WHILE or UNTIL loop.\n"
+"    If N is specified, resumes the Nth enclosing loop.\n"
+"    \n"
+"    Exit Status:\n"
+"    The exit status is 0 unless N is not greater than or equal to 1."
+msgstr ""
+
+#: builtins.c:350
+msgid ""
+"Execute shell builtins.\n"
+"    \n"
+"    Execute SHELL-BUILTIN with arguments ARGs without performing command\n"
+"    lookup.  This is useful when you wish to reimplement a shell builtin\n"
+"    as a shell function, but need to execute the builtin within the function.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
+"    not a shell builtin.."
+msgstr ""
+
+#: builtins.c:365
+msgid ""
+"Return the context of the current subroutine call.\n"
+"    \n"
+"    Without EXPR, returns \"$line $filename\".  With EXPR, returns\n"
+"    \"$line $subroutine $filename\"; this extra information can be used to\n"
+"    provide a stack trace.\n"
+"    \n"
+"    The value of EXPR indicates how many call frames to go back before the\n"
+"    current one; the top frame is frame 0.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns 0 unless the shell is not executing a shell function or EXPR\n"
+"    is invalid."
+msgstr ""
+
+#: builtins.c:383
+msgid ""
+"Change the shell working directory.\n"
+"    \n"
+"    Change the current directory to DIR.  The default DIR is the value of the\n"
+"    HOME shell variable.\n"
+"    \n"
+"    The variable CDPATH defines the search path for the directory containing\n"
+"    DIR.  Alternative directory names in CDPATH are separated by a colon (:).\n"
+"    A null directory name is the same as the current directory.  If DIR begins\n"
+"    with a slash (/), then CDPATH is not used.\n"
+"    \n"
+"    If the directory is not found, and the shell option `cdable_vars' is set,\n"
+"    the word is assumed to be  a variable name.  If that variable has a value,\n"
+"    its value is used for DIR.\n"
+"    \n"
+"    Options:\n"
+"        -L\tforce symbolic links to be followed\n"
+"        -P\tuse the physical directory structure without following symbolic\n"
+"    \tlinks\n"
+"        -e\tif the -P option is supplied, and the current working directory\n"
+"    \tcannot be determined successfully, exit with a non-zero status\n"
+"    \n"
+"    The default is to follow symbolic links, as if `-L' were specified.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns 0 if the directory is changed, and if $PWD is set successfully when\n"
+"    -P is used; non-zero otherwise."
+msgstr ""
+
+#: builtins.c:414
+msgid ""
+"Print the name of the current working directory.\n"
+"    \n"
+"    Options:\n"
+"      -L\tprint the value of $PWD if it names the current working\n"
+"    \tdirectory\n"
+"      -P\tprint the physical directory, without any symbolic links\n"
+"    \n"
+"    By default, `pwd' behaves as if `-L' were specified.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns 0 unless an invalid option is given or the current directory\n"
+"    cannot be read."
+msgstr ""
+
+#: builtins.c:431
+msgid ""
+"Null command.\n"
+"    \n"
+"    No effect; the command does nothing.\n"
+"    \n"
+"    Exit Status:\n"
+"    Always succeeds."
+msgstr ""
+
+#: builtins.c:442
+msgid ""
+"Return a successful result.\n"
+"    \n"
+"    Exit Status:\n"
+"    Always succeeds."
+msgstr ""
+
+#: builtins.c:451
+msgid ""
+"Return an unsuccessful result.\n"
+"    \n"
+"    Exit Status:\n"
+"    Always fails."
+msgstr ""
+
+#: builtins.c:460
+msgid ""
+"Execute a simple command or display information about commands.\n"
+"    \n"
+"    Runs COMMAND with ARGS suppressing  shell function lookup, or display\n"
+"    information about the specified COMMANDs.  Can be used to invoke commands\n"
+"    on disk when a function with the same name exists.\n"
+"    \n"
+"    Options:\n"
+"      -p\tuse a default value for PATH that is guaranteed to find all of\n"
+"    \tthe standard utilities\n"
+"      -v\tprint a description of COMMAND similar to the `type' builtin\n"
+"      -V\tprint a more verbose description of each COMMAND\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns exit status of COMMAND, or failure if COMMAND is not found."
+msgstr ""
+
+#: builtins.c:479
+msgid ""
+"Set variable values and attributes.\n"
+"    \n"
+"    Declare variables and give them attributes.  If no NAMEs are given,\n"
+"    display the attributes and values of all variables.\n"
+"    \n"
+"    Options:\n"
+"      -f\trestrict action or display to function names and definitions\n"
+"      -F\trestrict display to function names only (plus line number and\n"
+"    \tsource file when debugging)\n"
+"      -g\tcreate global variables when used in a shell function; otherwise\n"
+"    \tignored\n"
+"      -p\tdisplay the attributes and value of each NAME\n"
+"    \n"
+"    Options which set attributes:\n"
+"      -a\tto make NAMEs indexed arrays (if supported)\n"
+"      -A\tto make NAMEs associative arrays (if supported)\n"
+"      -i\tto make NAMEs have the `integer' attribute\n"
+"      -l\tto convert NAMEs to lower case on assignment\n"
+"      -r\tto make NAMEs readonly\n"
+"      -t\tto make NAMEs have the `trace' attribute\n"
+"      -u\tto convert NAMEs to upper case on assignment\n"
+"      -x\tto make NAMEs export\n"
+"    \n"
+"    Using `+' instead of `-' turns off the given attribute.\n"
+"    \n"
+"    Variables with the integer attribute have arithmetic evaluation (see\n"
+"    the `let' command) performed when the variable is assigned a value.\n"
+"    \n"
+"    When used in a function, `declare' makes NAMEs local, as with the `local'\n"
+"    command.  The `-g' option suppresses this behavior.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless an invalid option is supplied or an error occurs."
+msgstr ""
+
+#: builtins.c:517
+msgid ""
+"Set variable values and attributes.\n"
+"    \n"
+"    Obsolete.  See `help declare'."
+msgstr ""
+
+#: builtins.c:525
+msgid ""
+"Define local variables.\n"
+"    \n"
+"    Create a local variable called NAME, and give it VALUE.  OPTION can\n"
+"    be any option accepted by `declare'.\n"
+"    \n"
+"    Local variables can only be used within a function; they are visible\n"
+"    only to the function where they are defined and its children.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless an invalid option is supplied, an error occurs,\n"
+"    or the shell is not executing a function."
+msgstr ""
+
+#: builtins.c:542
+msgid ""
+"Write arguments to the standard output.\n"
+"    \n"
+"    Display the ARGs on the standard output followed by a newline.\n"
+"    \n"
+"    Options:\n"
+"      -n\tdo not append a newline\n"
+"      -e\tenable interpretation of the following backslash escapes\n"
+"      -E\texplicitly suppress interpretation of backslash escapes\n"
+"    \n"
+"    `echo' interprets the following backslash-escaped characters:\n"
+"      \\a\talert (bell)\n"
+"      \\b\tbackspace\n"
+"      \\c\tsuppress further output\n"
+"      \\e\tescape character\n"
+"      \\f\tform feed\n"
+"      \\n\tnew line\n"
+"      \\r\tcarriage return\n"
+"      \\t\thorizontal tab\n"
+"      \\v\tvertical tab\n"
+"      \\\\\tbackslash\n"
+"      \\0nnn\tthe character whose ASCII code is NNN (octal).  NNN can be\n"
+"    \t0 to 3 octal digits\n"
+"      \\xHH\tthe eight-bit character whose value is HH (hexadecimal).  HH\n"
+"    \tcan be one or two hex digits\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless a write error occurs."
+msgstr ""
+
+#: builtins.c:576
+msgid ""
+"Write arguments to the standard output.\n"
+"    \n"
+"    Display the ARGs on the standard output followed by a newline.\n"
+"    \n"
+"    Options:\n"
+"      -n\tdo not append a newline\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless a write error occurs."
+msgstr ""
+
+#: builtins.c:591
+msgid ""
+"Enable and disable shell builtins.\n"
+"    \n"
+"    Enables and disables builtin shell commands.  Disabling allows you to\n"
+"    execute a disk command which has the same name as a shell builtin\n"
+"    without using a full pathname.\n"
+"    \n"
+"    Options:\n"
+"      -a\tprint a list of builtins showing whether or not each is enabled\n"
+"      -n\tdisable each NAME or display a list of disabled builtins\n"
+"      -p\tprint the list of builtins in a reusable format\n"
+"      -s\tprint only the names of Posix `special' builtins\n"
+"    \n"
+"    Options controlling dynamic loading:\n"
+"      -f\tLoad builtin NAME from shared object FILENAME\n"
+"      -d\tRemove a builtin loaded with -f\n"
+"    \n"
+"    Without options, each NAME is enabled.\n"
+"    \n"
+"    To use the `test' found in $PATH instead of the shell builtin\n"
+"    version, type `enable -n test'.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless NAME is not a shell builtin or an error occurs."
+msgstr ""
+
+#: builtins.c:619
+msgid ""
+"Execute arguments as a shell command.\n"
+"    \n"
+"    Combine ARGs into a single string, use the result as input to the shell,\n"
+"    and execute the resulting commands.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns exit status of command or success if command is null."
+msgstr ""
+
+#: builtins.c:631
+msgid ""
+"Parse option arguments.\n"
+"    \n"
+"    Getopts is used by shell procedures to parse positional parameters\n"
+"    as options.\n"
+"    \n"
+"    OPTSTRING contains the option letters to be recognized; if a letter\n"
+"    is followed by a colon, the option is expected to have an argument,\n"
+"    which should be separated from it by white space.\n"
+"    \n"
+"    Each time it is invoked, getopts will place the next option in the\n"
+"    shell variable $name, initializing name if it does not exist, and\n"
+"    the index of the next argument to be processed into the shell\n"
+"    variable OPTIND.  OPTIND is initialized to 1 each time the shell or\n"
+"    a shell script is invoked.  When an option requires an argument,\n"
+"    getopts places that argument into the shell variable OPTARG.\n"
+"    \n"
+"    getopts reports errors in one of two ways.  If the first character\n"
+"    of OPTSTRING is a colon, getopts uses silent error reporting.  In\n"
+"    this mode, no error messages are printed.  If an invalid option is\n"
+"    seen, getopts places the option character found into OPTARG.  If a\n"
+"    required argument is not found, getopts places a ':' into NAME and\n"
+"    sets OPTARG to the option character found.  If getopts is not in\n"
+"    silent mode, and an invalid option is seen, getopts places '?' into\n"
+"    NAME and unsets OPTARG.  If a required argument is not found, a '?'\n"
+"    is placed in NAME, OPTARG is unset, and a diagnostic message is\n"
+"    printed.\n"
+"    \n"
+"    If the shell variable OPTERR has the value 0, getopts disables the\n"
+"    printing of error messages, even if the first character of\n"
+"    OPTSTRING is not a colon.  OPTERR has the value 1 by default.\n"
+"    \n"
+"    Getopts normally parses the positional parameters ($0 - $9), but if\n"
+"    more arguments are given, they are parsed instead.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success if an option is found; fails if the end of options is\n"
+"    encountered or an error occurs."
+msgstr ""
+
+#: builtins.c:673
+msgid ""
+"Replace the shell with the given command.\n"
+"    \n"
+"    Execute COMMAND, replacing this shell with the specified program.\n"
+"    ARGUMENTS become the arguments to COMMAND.  If COMMAND is not specified,\n"
+"    any redirections take effect in the current shell.\n"
+"    \n"
+"    Options:\n"
+"      -a name\tpass NAME as the zeroth argument to COMMAND\n"
+"      -c\t\texecute COMMAND with an empty environment\n"
+"      -l\t\tplace a dash in the zeroth argument to COMMAND\n"
+"    \n"
+"    If the command cannot be executed, a non-interactive shell exits, unless\n"
+"    the shell option `execfail' is set.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless COMMAND is not found or a redirection error occurs."
+msgstr ""
+
+#: builtins.c:694
+msgid ""
+"Exit the shell.\n"
+"    \n"
+"    Exits the shell with a status of N.  If N is omitted, the exit status\n"
+"    is that of the last command executed."
+msgstr ""
+
+#: builtins.c:703
+msgid ""
+"Exit a login shell.\n"
+"    \n"
+"    Exits a login shell with exit status N.  Returns an error if not executed\n"
+"    in a login shell."
+msgstr ""
+
+#: builtins.c:713
+msgid ""
+"Display or execute commands from the history list.\n"
+"    \n"
+"    fc is used to list or edit and re-execute commands from the history list.\n"
+"    FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
+"    string, which means the most recent command beginning with that\n"
+"    string.\n"
+"    \n"
+"    Options:\n"
+"      -e ENAME\tselect which editor to use.  Default is FCEDIT, then EDITOR,\n"
+"    \t\tthen vi\n"
+"      -l \tlist lines instead of editing\n"
+"      -n\tomit line numbers when listing\n"
+"      -r\treverse the order of the lines (newest listed first)\n"
+"    \n"
+"    With the `fc -s [pat=rep ...] [command]' format, COMMAND is\n"
+"    re-executed after the substitution OLD=NEW is performed.\n"
+"    \n"
+"    A useful alias to use with this is r='fc -s', so that typing `r cc'\n"
+"    runs the last command beginning with `cc' and typing `r' re-executes\n"
+"    the last command.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success or status of executed command; non-zero if an error occurs."
+msgstr ""
+
+#: builtins.c:743
+msgid ""
+"Move job to the foreground.\n"
+"    \n"
+"    Place the job identified by JOB_SPEC in the foreground, making it the\n"
+"    current job.  If JOB_SPEC is not present, the shell's notion of the\n"
+"    current job is used.\n"
+"    \n"
+"    Exit Status:\n"
+"    Status of command placed in foreground, or failure if an error occurs."
+msgstr ""
+
+#: builtins.c:758
+msgid ""
+"Move jobs to the background.\n"
+"    \n"
+"    Place the jobs identified by each JOB_SPEC in the background, as if they\n"
+"    had been started with `&'.  If JOB_SPEC is not present, the shell's notion\n"
+"    of the current job is used.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless job control is not enabled or an error occurs."
+msgstr ""
+
+#: builtins.c:772
+msgid ""
+"Remember or display program locations.\n"
+"    \n"
+"    Determine and remember the full pathname of each command NAME.  If\n"
+"    no arguments are given, information about remembered commands is displayed.\n"
+"    \n"
+"    Options:\n"
+"      -d\t\tforget the remembered location of each NAME\n"
+"      -l\t\tdisplay in a format that may be reused as input\n"
+"      -p pathname\tuse PATHNAME is the full pathname of NAME\n"
+"      -r\t\tforget all remembered locations\n"
+"      -t\t\tprint the remembered location of each NAME, preceding\n"
+"    \t\teach location with the corresponding NAME if multiple\n"
+"    \t\tNAMEs are given\n"
+"    Arguments:\n"
+"      NAME\t\tEach NAME is searched for in $PATH and added to the list\n"
+"    \t\tof remembered commands.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless NAME is not found or an invalid option is given."
+msgstr ""
+
+#: builtins.c:797
+msgid ""
+"Display information about builtin commands.\n"
+"    \n"
+"    Displays brief summaries of builtin commands.  If PATTERN is\n"
+"    specified, gives detailed help on all commands matching PATTERN,\n"
+"    otherwise the list of help topics is printed.\n"
+"    \n"
+"    Options:\n"
+"      -d\toutput short description for each topic\n"
+"      -m\tdisplay usage in pseudo-manpage format\n"
+"      -s\toutput only a short usage synopsis for each topic matching\n"
+"    \tPATTERN\n"
+"    \n"
+"    Arguments:\n"
+"      PATTERN\tPattern specifiying a help topic\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless PATTERN is not found or an invalid option is given."
+msgstr ""
+
+#: builtins.c:821
+msgid ""
+"Display or manipulate the history list.\n"
+"    \n"
+"    Display the history list with line numbers, prefixing each modified\n"
+"    entry with a `*'.  An argument of N lists only the last N entries.\n"
+"    \n"
+"    Options:\n"
+"      -c\tclear the history list by deleting all of the entries\n"
+"      -d offset\tdelete the history entry at offset OFFSET.\n"
+"    \n"
+"      -a\tappend history lines from this session to the history file\n"
+"      -n\tread all history lines not already read from the history file\n"
+"      -r\tread the history file and append the contents to the history\n"
+"    \tlist\n"
+"      -w\twrite the current history to the history file\n"
+"    \tand append them to the history list\n"
+"    \n"
+"      -p\tperform history expansion on each ARG and display the result\n"
+"    \twithout storing it in the history list\n"
+"      -s\tappend the ARGs to the history list as a single entry\n"
+"    \n"
+"    If FILENAME is given, it is used as the history file.  Otherwise,\n"
+"    if $HISTFILE has a value, that is used, else ~/.bash_history.\n"
+"    \n"
+"    If the $HISTTIMEFORMAT variable is set and not null, its value is used\n"
+"    as a format string for strftime(3) to print the time stamp associated\n"
+"    with each displayed history entry.  No time stamps are printed otherwise.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless an invalid option is given or an error occurs."
+msgstr ""
+
+#: builtins.c:857
+msgid ""
+"Display status of jobs.\n"
+"    \n"
+"    Lists the active jobs.  JOBSPEC restricts output to that job.\n"
+"    Without options, the status of all active jobs is displayed.\n"
+"    \n"
+"    Options:\n"
+"      -l\tlists process IDs in addition to the normal information\n"
+"      -n\tlist only processes that have changed status since the last\n"
+"    \tnotification\n"
+"      -p\tlists process IDs only\n"
+"      -r\trestrict output to running jobs\n"
+"      -s\trestrict output to stopped jobs\n"
+"    \n"
+"    If -x is supplied, COMMAND is run after all job specifications that\n"
+"    appear in ARGS have been replaced with the process ID of that job's\n"
+"    process group leader.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless an invalid option is given or an error occurs.\n"
+"    If -x is used, returns the exit status of COMMAND."
+msgstr ""
+
+#: builtins.c:884
+msgid ""
+"Remove jobs from current shell.\n"
+"    \n"
+"    Removes each JOBSPEC argument from the table of active jobs.  Without\n"
+"    any JOBSPECs, the shell uses its notion of the current job.\n"
+"    \n"
+"    Options:\n"
+"      -a\tremove all jobs if JOBSPEC is not supplied\n"
+"      -h\tmark each JOBSPEC so that SIGHUP is not sent to the job if the\n"
+"    \tshell receives a SIGHUP\n"
+"      -r\tremove only running jobs\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless an invalid option or JOBSPEC is given."
+msgstr ""
+
+#: builtins.c:903
+msgid ""
+"Send a signal to a job.\n"
+"    \n"
+"    Send the processes identified by PID or JOBSPEC the signal named by\n"
+"    SIGSPEC or SIGNUM.  If neither SIGSPEC nor SIGNUM is present, then\n"
+"    SIGTERM is assumed.\n"
+"    \n"
+"    Options:\n"
+"      -s sig\tSIG is a signal name\n"
+"      -n sig\tSIG is a signal number\n"
+"      -l\tlist the signal names; if arguments follow `-l' they are\n"
+"    \tassumed to be signal numbers for which names should be listed\n"
+"    \n"
+"    Kill is a shell builtin for two reasons: it allows job IDs to be used\n"
+"    instead of process IDs, and allows processes to be killed if the limit\n"
+"    on processes that you can create is reached.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless an invalid option is given or an error occurs."
+msgstr ""
+
+#: builtins.c:926
+msgid ""
+"Evaluate arithmetic expressions.\n"
+"    \n"
+"    Evaluate each ARG as an arithmetic expression.  Evaluation is done in\n"
+"    fixed-width integers with no check for overflow, though division by 0\n"
+"    is trapped and flagged as an error.  The following list of operators is\n"
+"    grouped into levels of equal-precedence operators.  The levels are listed\n"
+"    in order of decreasing precedence.\n"
+"    \n"
+"    \tid++, id--\tvariable post-increment, post-decrement\n"
+"    \t++id, --id\tvariable pre-increment, pre-decrement\n"
+"    \t-, +\t\tunary minus, plus\n"
+"    \t!, ~\t\tlogical and bitwise negation\n"
+"    \t**\t\texponentiation\n"
+"    \t*, /, %\t\tmultiplication, division, remainder\n"
+"    \t+, -\t\taddition, subtraction\n"
+"    \t<<, >>\t\tleft and right bitwise shifts\n"
+"    \t<=, >=, <, >\tcomparison\n"
+"    \t==, !=\t\tequality, inequality\n"
+"    \t&\t\tbitwise AND\n"
+"    \t^\t\tbitwise XOR\n"
+"    \t|\t\tbitwise OR\n"
+"    \t&&\t\tlogical AND\n"
+"    \t||\t\tlogical OR\n"
+"    \texpr ? expr : expr\n"
+"    \t\t\tconditional operator\n"
+"    \t=, *=, /=, %=,\n"
+"    \t+=, -=, <<=, >>=,\n"
+"    \t&=, ^=, |=\tassignment\n"
+"    \n"
+"    Shell variables are allowed as operands.  The name of the variable\n"
+"    is replaced by its value (coerced to a fixed-width integer) within\n"
+"    an expression.  The variable need not have its integer attribute\n"
+"    turned on to be used in an expression.\n"
+"    \n"
+"    Operators are evaluated in order of precedence.  Sub-expressions in\n"
+"    parentheses are evaluated first and may override the precedence\n"
+"    rules above.\n"
+"    \n"
+"    Exit Status:\n"
+"    If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
+msgstr ""
+
+#: builtins.c:971
+msgid ""
+"Read a line from the standard input and split it into fields.\n"
+"    \n"
+"    Reads a single line from the standard input, or from file descriptor FD\n"
+"    if the -u option is supplied.  The line is split into fields as with word\n"
+"    splitting, and the first word is assigned to the first NAME, the second\n"
+"    word to the second NAME, and so on, with any leftover words assigned to\n"
+"    the last NAME.  Only the characters found in $IFS are recognized as word\n"
+"    delimiters.\n"
+"    \n"
+"    If no NAMEs are supplied, the line read is stored in the REPLY variable.\n"
+"    \n"
+"    Options:\n"
+"      -a array\tassign the words read to sequential indices of the array\n"
+"    \t\tvariable ARRAY, starting at zero\n"
+"      -d delim\tcontinue until the first character of DELIM is read, rather\n"
+"    \t\tthan newline\n"
+"      -e\t\tuse Readline to obtain the line in an interactive shell\n"
+"      -i text\tUse TEXT as the initial text for Readline\n"
+"      -n nchars\treturn after reading NCHARS characters rather than waiting\n"
+"    \t\tfor a newline, but honor a delimiter if fewer than NCHARS\n"
+"    \t\tcharacters are read before the delimiter\n"
+"      -N nchars\treturn only after reading exactly NCHARS characters, unless\n"
+"    \t\tEOF is encountered or read times out, ignoring any delimiter\n"
+"      -p prompt\toutput the string PROMPT without a trailing newline before\n"
+"    \t\tattempting to read\n"
+"      -r\t\tdo not allow backslashes to escape any characters\n"
+"      -s\t\tdo not echo input coming from a terminal\n"
+"      -t timeout\ttime out and return failure if a complete line of input is\n"
+"    \t\tnot read withint TIMEOUT seconds.  The value of the TMOUT\n"
+"    \t\tvariable is the default timeout.  TIMEOUT may be a\n"
+"    \t\tfractional number.  If TIMEOUT is 0, read returns success only\n"
+"    \t\tif input is available on the specified file descriptor.  The\n"
+"    \t\texit status is greater than 128 if the timeout is exceeded\n"
+"      -u fd\t\tread from file descriptor FD instead of the standard input\n"
+"    \n"
+"    Exit Status:\n"
+"    The return code is zero, unless end-of-file is encountered, read times out,\n"
+"    or an invalid file descriptor is supplied as the argument to -u."
+msgstr ""
+
+#: builtins.c:1014
+msgid ""
+"Return from a shell function.\n"
+"    \n"
+"    Causes a function or sourced script to exit with the return value\n"
+"    specified by N.  If N is omitted, the return status is that of the\n"
+"    last command executed within the function or script.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns N, or failure if the shell is not executing a function or script."
+msgstr ""
+
+#: builtins.c:1027
+msgid ""
+"Set or unset values of shell options and positional parameters.\n"
+"    \n"
+"    Change the value of shell attributes and positional parameters, or\n"
+"    display the names and values of shell variables.\n"
+"    \n"
+"    Options:\n"
+"      -a  Mark variables which are modified or created for export.\n"
+"      -b  Notify of job termination immediately.\n"
+"      -e  Exit immediately if a command exits with a non-zero status.\n"
+"      -f  Disable file name generation (globbing).\n"
+"      -h  Remember the location of commands as they are looked up.\n"
+"      -k  All assignment arguments are placed in the environment for a\n"
+"          command, not just those that precede the command name.\n"
+"      -m  Job control is enabled.\n"
+"      -n  Read commands but do not execute them.\n"
+"      -o option-name\n"
+"          Set the variable corresponding to option-name:\n"
+"              allexport    same as -a\n"
+"              braceexpand  same as -B\n"
+"              emacs        use an emacs-style line editing interface\n"
+"              errexit      same as -e\n"
+"              errtrace     same as -E\n"
+"              functrace    same as -T\n"
+"              hashall      same as -h\n"
+"              histexpand   same as -H\n"
+"              history      enable command history\n"
+"              ignoreeof    the shell will not exit upon reading EOF\n"
+"              interactive-comments\n"
+"                           allow comments to appear in interactive commands\n"
+"              keyword      same as -k\n"
+"              monitor      same as -m\n"
+"              noclobber    same as -C\n"
+"              noexec       same as -n\n"
+"              noglob       same as -f\n"
+"              nolog        currently accepted but ignored\n"
+"              notify       same as -b\n"
+"              nounset      same as -u\n"
+"              onecmd       same as -t\n"
+"              physical     same as -P\n"
+"              pipefail     the return value of a pipeline is the status of\n"
+"                           the last command to exit with a non-zero status,\n"
+"                           or zero if no command exited with a non-zero status\n"
+"              posix        change the behavior of bash where the default\n"
+"                           operation differs from the Posix standard to\n"
+"                           match the standard\n"
+"              privileged   same as -p\n"
+"              verbose      same as -v\n"
+"              vi           use a vi-style line editing interface\n"
+"              xtrace       same as -x\n"
+"      -p  Turned on whenever the real and effective user ids do not match.\n"
+"          Disables processing of the $ENV file and importing of shell\n"
+"          functions.  Turning this option off causes the effective uid and\n"
+"          gid to be set to the real uid and gid.\n"
+"      -t  Exit after reading and executing one command.\n"
+"      -u  Treat unset variables as an error when substituting.\n"
+"      -v  Print shell input lines as they are read.\n"
+"      -x  Print commands and their arguments as they are executed.\n"
+"      -B  the shell will perform brace expansion\n"
+"      -C  If set, disallow existing regular files to be overwritten\n"
+"          by redirection of output.\n"
+"      -E  If set, the ERR trap is inherited by shell functions.\n"
+"      -H  Enable ! style history substitution.  This flag is on\n"
+"          by default when the shell is interactive.\n"
+"      -P  If set, do not follow symbolic links when executing commands\n"
+"          such as cd which change the current directory.\n"
+"      -T  If set, the DEBUG trap is inherited by shell functions.\n"
+"      --  Assign any remaining arguments to the positional parameters.\n"
+"          If there are no remaining arguments, the positional parameters\n"
+"          are unset.\n"
+"      -   Assign any remaining arguments to the positional parameters.\n"
+"          The -x and -v options are turned off.\n"
+"    \n"
+"    Using + rather than - causes these flags to be turned off.  The\n"
+"    flags can also be used upon invocation of the shell.  The current\n"
+"    set of flags may be found in $-.  The remaining n ARGs are positional\n"
+"    parameters and are assigned, in order, to $1, $2, .. $n.  If no\n"
+"    ARGs are given, all shell variables are printed.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless an invalid option is given."
+msgstr ""
+
+#: builtins.c:1112
+msgid ""
+"Unset values and attributes of shell variables and functions.\n"
+"    \n"
+"    For each NAME, remove the corresponding variable or function.\n"
+"    \n"
+"    Options:\n"
+"      -f\ttreat each NAME as a shell function\n"
+"      -v\ttreat each NAME as a shell variable\n"
+"    \n"
+"    Without options, unset first tries to unset a variable, and if that fails,\n"
+"    tries to unset a function.\n"
+"    \n"
+"    Some variables cannot be unset; also see `readonly'.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless an invalid option is given or a NAME is read-only."
+msgstr ""
+
+#: builtins.c:1132
+msgid ""
+"Set export attribute for shell variables.\n"
+"    \n"
+"    Marks each NAME for automatic export to the environment of subsequently\n"
+"    executed commands.  If VALUE is supplied, assign VALUE before exporting.\n"
+"    \n"
+"    Options:\n"
+"      -f\trefer to shell functions\n"
+"      -n\tremove the export property from each NAME\n"
+"      -p\tdisplay a list of all exported variables and functions\n"
+"    \n"
+"    An argument of `--' disables further option processing.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless an invalid option is given or NAME is invalid."
+msgstr ""
+
+#: builtins.c:1151
+msgid ""
+"Mark shell variables as unchangeable.\n"
+"    \n"
+"    Mark each NAME as read-only; the values of these NAMEs may not be\n"
+"    changed by subsequent assignment.  If VALUE is supplied, assign VALUE\n"
+"    before marking as read-only.\n"
+"    \n"
+"    Options:\n"
+"      -a\trefer to indexed array variables\n"
+"      -A\trefer to associative array variables\n"
+"      -f\trefer to shell functions\n"
+"      -p\tdisplay a list of all readonly variables and functions\n"
+"    \n"
+"    An argument of `--' disables further option processing.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless an invalid option is given or NAME is invalid."
+msgstr ""
+
+#: builtins.c:1172
+msgid ""
+"Shift positional parameters.\n"
+"    \n"
+"    Rename the positional parameters $N+1,$N+2 ... to $1,$2 ...  If N is\n"
+"    not given, it is assumed to be 1.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless N is negative or greater than $#."
+msgstr ""
+
+#: builtins.c:1184 builtins.c:1199
+msgid ""
+"Execute commands from a file in the current shell.\n"
+"    \n"
+"    Read and execute commands from FILENAME in the current shell.  The\n"
+"    entries in $PATH are used to find the directory containing FILENAME.\n"
+"    If any ARGUMENTS are supplied, they become the positional parameters\n"
+"    when FILENAME is executed.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns the status of the last command executed in FILENAME; fails if\n"
+"    FILENAME cannot be read."
+msgstr ""
+
+#: builtins.c:1215
+msgid ""
+"Suspend shell execution.\n"
+"    \n"
+"    Suspend the execution of this shell until it receives a SIGCONT signal.\n"
+"    Unless forced, login shells cannot be suspended.\n"
+"    \n"
+"    Options:\n"
+"      -f\tforce the suspend, even if the shell is a login shell\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless job control is not enabled or an error occurs."
+msgstr ""
+
+#: builtins.c:1231
+msgid ""
+"Evaluate conditional expression.\n"
+"    \n"
+"    Exits with a status of 0 (true) or 1 (false) depending on\n"
+"    the evaluation of EXPR.  Expressions may be unary or binary.  Unary\n"
+"    expressions are often used to examine the status of a file.  There\n"
+"    are string operators and numeric comparison operators as well.\n"
+"    \n"
+"    The behavior of test depends on the number of arguments.  Read the\n"
+"    bash manual page for the complete specification.\n"
+"    \n"
+"    File operators:\n"
+"    \n"
+"      -a FILE        True if file exists.\n"
+"      -b FILE        True if file is block special.\n"
+"      -c FILE        True if file is character special.\n"
+"      -d FILE        True if file is a directory.\n"
+"      -e FILE        True if file exists.\n"
+"      -f FILE        True if file exists and is a regular file.\n"
+"      -g FILE        True if file is set-group-id.\n"
+"      -h FILE        True if file is a symbolic link.\n"
+"      -L FILE        True if file is a symbolic link.\n"
+"      -k FILE        True if file has its `sticky' bit set.\n"
+"      -p FILE        True if file is a named pipe.\n"
+"      -r FILE        True if file is readable by you.\n"
+"      -s FILE        True if file exists and is not empty.\n"
+"      -S FILE        True if file is a socket.\n"
+"      -t FD          True if FD is opened on a terminal.\n"
+"      -u FILE        True if the file is set-user-id.\n"
+"      -w FILE        True if the file is writable by you.\n"
+"      -x FILE        True if the file is executable by you.\n"
+"      -O FILE        True if the file is effectively owned by you.\n"
+"      -G FILE        True if the file is effectively owned by your group.\n"
+"      -N FILE        True if the file has been modified since it was last read.\n"
+"    \n"
+"      FILE1 -nt FILE2  True if file1 is newer than file2 (according to\n"
+"                       modification date).\n"
+"    \n"
+"      FILE1 -ot FILE2  True if file1 is older than file2.\n"
+"    \n"
+"      FILE1 -ef FILE2  True if file1 is a hard link to file2.\n"
+"    \n"
+"    String operators:\n"
+"    \n"
+"      -z STRING      True if string is empty.\n"
+"    \n"
+"      -n STRING\n"
+"         STRING      True if string is not empty.\n"
+"    \n"
+"      STRING1 = STRING2\n"
+"                     True if the strings are equal.\n"
+"      STRING1 != STRING2\n"
+"                     True if the strings are not equal.\n"
+"      STRING1 < STRING2\n"
+"                     True if STRING1 sorts before STRING2 lexicographically.\n"
+"      STRING1 > STRING2\n"
+"                     True if STRING1 sorts after STRING2 lexicographically.\n"
+"    \n"
+"    Other operators:\n"
+"    \n"
+"      -o OPTION      True if the shell option OPTION is enabled.\n"
+"      -v VAR\t True if the shell variable VAR is set\n"
+"      ! EXPR         True if expr is false.\n"
+"      EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
+"      EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
+"    \n"
+"      arg1 OP arg2   Arithmetic tests.  OP is one of -eq, -ne,\n"
+"                     -lt, -le, -gt, or -ge.\n"
+"    \n"
+"    Arithmetic binary operators return true if ARG1 is equal, not-equal,\n"
+"    less-than, less-than-or-equal, greater-than, or greater-than-or-equal\n"
+"    than ARG2.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success if EXPR evaluates to true; fails if EXPR evaluates to\n"
+"    false or an invalid argument is given."
+msgstr ""
+
+#: builtins.c:1311
+msgid ""
+"Evaluate conditional expression.\n"
+"    \n"
+"    This is a synonym for the \"test\" builtin, but the last argument must\n"
+"    be a literal `]', to match the opening `['."
+msgstr ""
+
+#: builtins.c:1320
+msgid ""
+"Display process times.\n"
+"    \n"
+"    Prints the accumulated user and system times for the shell and all of its\n"
+"    child processes.\n"
+"    \n"
+"    Exit Status:\n"
+"    Always succeeds."
+msgstr ""
+
+#: builtins.c:1332
+msgid ""
+"Trap signals and other events.\n"
+"    \n"
+"    Defines and activates handlers to be run when the shell receives signals\n"
+"    or other conditions.\n"
+"    \n"
+"    ARG is a command to be read and executed when the shell receives the\n"
+"    signal(s) SIGNAL_SPEC.  If ARG is absent (and a single SIGNAL_SPEC\n"
+"    is supplied) or `-', each specified signal is reset to its original\n"
+"    value.  If ARG is the null string each SIGNAL_SPEC is ignored by the\n"
+"    shell and by the commands it invokes.\n"
+"    \n"
+"    If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell.  If\n"
+"    a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command.  If\n"
+"    a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or a\n"
+"    script run by the . or source builtins finishes executing.  A SIGNAL_SPEC\n"
+"    of ERR means to execute ARG each time a command's failure would cause the\n"
+"    shell to exit when the -e option is enabled.\n"
+"    \n"
+"    If no arguments are supplied, trap prints the list of commands associated\n"
+"    with each signal.\n"
+"    \n"
+"    Options:\n"
+"      -l\tprint a list of signal names and their corresponding numbers\n"
+"      -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
+"    \n"
+"    Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal number.\n"
+"    Signal names are case insensitive and the SIG prefix is optional.  A\n"
+"    signal may be sent to the shell with \"kill -signal $$\".\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless a SIGSPEC is invalid or an invalid option is given."
+msgstr ""
+
+#: builtins.c:1368
+msgid ""
+"Display information about command type.\n"
+"    \n"
+"    For each NAME, indicate how it would be interpreted if used as a\n"
+"    command name.\n"
+"    \n"
+"    Options:\n"
+"      -a\tdisplay all locations containing an executable named NAME;\n"
+"    \tincludes aliases, builtins, and functions, if and only if\n"
+"    \tthe `-p' option is not also used\n"
+"      -f\tsuppress shell function lookup\n"
+"      -P\tforce a PATH search for each NAME, even if it is an alias,\n"
+"    \tbuiltin, or function, and returns the name of the disk file\n"
+"    \tthat would be executed\n"
+"      -p\treturns either the name of the disk file that would be executed,\n"
+"    \tor nothing if `type -t NAME' would not return `file'.\n"
+"      -t\toutput a single word which is one of `alias', `keyword',\n"
+"    \t`function', `builtin', `file' or `', if NAME is an alias, shell\n"
+"    \treserved word, shell function, shell builtin, disk file, or not\n"
+"    \tfound, respectively\n"
+"    \n"
+"    Arguments:\n"
+"      NAME\tCommand name to be interpreted.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success if all of the NAMEs are found; fails if any are not found."
+msgstr ""
+
+#: builtins.c:1399
+msgid ""
+"Modify shell resource limits.\n"
+"    \n"
+"    Provides control over the resources available to the shell and processes\n"
+"    it creates, on systems that allow such control.\n"
+"    \n"
+"    Options:\n"
+"      -S\tuse the `soft' resource limit\n"
+"      -H\tuse the `hard' resource limit\n"
+"      -a\tall current limits are reported\n"
+"      -b\tthe socket buffer size\n"
+"      -c\tthe maximum size of core files created\n"
+"      -d\tthe maximum size of a process's data segment\n"
+"      -e\tthe maximum scheduling priority (`nice')\n"
+"      -f\tthe maximum size of files written by the shell and its children\n"
+"      -i\tthe maximum number of pending signals\n"
+"      -l\tthe maximum size a process may lock into memory\n"
+"      -m\tthe maximum resident set size\n"
+"      -n\tthe maximum number of open file descriptors\n"
+"      -p\tthe pipe buffer size\n"
+"      -q\tthe maximum number of bytes in POSIX message queues\n"
+"      -r\tthe maximum real-time scheduling priority\n"
+"      -s\tthe maximum stack size\n"
+"      -t\tthe maximum amount of cpu time in seconds\n"
+"      -u\tthe maximum number of user processes\n"
+"      -v\tthe size of virtual memory\n"
+"      -x\tthe maximum number of file locks\n"
+"    \n"
+"    If LIMIT is given, it is the new value of the specified resource; the\n"
+"    special LIMIT values `soft', `hard', and `unlimited' stand for the\n"
+"    current soft limit, the current hard limit, and no limit, respectively.\n"
+"    Otherwise, the current value of the specified resource is printed.  If\n"
+"    no option is given, then -f is assumed.\n"
+"    \n"
+"    Values are in 1024-byte increments, except for -t, which is in seconds,\n"
+"    -p, which is in increments of 512 bytes, and -u, which is an unscaled\n"
+"    number of processes.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless an invalid option is supplied or an error occurs."
+msgstr ""
+
+#: builtins.c:1444
+msgid ""
+"Display or set file mode mask.\n"
+"    \n"
+"    Sets the user file-creation mask to MODE.  If MODE is omitted, prints\n"
+"    the current value of the mask.\n"
+"    \n"
+"    If MODE begins with a digit, it is interpreted as an octal number;\n"
+"    otherwise it is a symbolic mode string like that accepted by chmod(1).\n"
+"    \n"
+"    Options:\n"
+"      -p\tif MODE is omitted, output in a form that may be reused as input\n"
+"      -S\tmakes the output symbolic; otherwise an octal number is output\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless MODE is invalid or an invalid option is given."
+msgstr ""
+
+#: builtins.c:1464
+msgid ""
+"Wait for job completion and return exit status.\n"
+"    \n"
+"    Waits for the process identified by ID, which may be a process ID or a\n"
+"    job specification, and reports its termination status.  If ID is not\n"
+"    given, waits for all currently active child processes, and the return\n"
+"    status is zero.  If ID is a a job specification, waits for all processes\n"
+"    in the job's pipeline.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns the status of ID; fails if ID is invalid or an invalid option is\n"
+"    given."
+msgstr ""
+
+#: builtins.c:1482
+msgid ""
+"Wait for process completion and return exit status.\n"
+"    \n"
+"    Waits for the specified process and reports its termination status.  If\n"
+"    PID is not given, all currently active child processes are waited for,\n"
+"    and the return code is zero.  PID must be a process ID.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns the status of ID; fails if ID is invalid or an invalid option is\n"
+"    given."
+msgstr ""
+
+#: builtins.c:1497
+msgid ""
+"Execute commands for each member in a list.\n"
+"    \n"
+"    The `for' loop executes a sequence of commands for each member in a\n"
+"    list of items.  If `in WORDS ...;' is not present, then `in \"$@\"' is\n"
+"    assumed.  For each element in WORDS, NAME is set to that element, and\n"
+"    the COMMANDS are executed.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns the status of the last command executed."
+msgstr ""
+
+#: builtins.c:1511
+msgid ""
+"Arithmetic for loop.\n"
+"    \n"
+"    Equivalent to\n"
+"    \t(( EXP1 ))\n"
+"    \twhile (( EXP2 )); do\n"
+"    \t\tCOMMANDS\n"
+"    \t\t(( EXP3 ))\n"
+"    \tdone\n"
+"    EXP1, EXP2, and EXP3 are arithmetic expressions.  If any expression is\n"
+"    omitted, it behaves as if it evaluates to 1.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns the status of the last command executed."
+msgstr ""
+
+#: builtins.c:1529
+msgid ""
+"Select words from a list and execute commands.\n"
+"    \n"
+"    The WORDS are expanded, generating a list of words.  The\n"
+"    set of expanded words is printed on the standard error, each\n"
+"    preceded by a number.  If `in WORDS' is not present, `in \"$@\"'\n"
+"    is assumed.  The PS3 prompt is then displayed and a line read\n"
+"    from the standard input.  If the line consists of the number\n"
+"    corresponding to one of the displayed words, then NAME is set\n"
+"    to that word.  If the line is empty, WORDS and the prompt are\n"
+"    redisplayed.  If EOF is read, the command completes.  Any other\n"
+"    value read causes NAME to be set to null.  The line read is saved\n"
+"    in the variable REPLY.  COMMANDS are executed after each selection\n"
+"    until a break command is executed.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns the status of the last command executed."
+msgstr ""
+
+#: builtins.c:1550
+msgid ""
+"Report time consumed by pipeline's execution.\n"
+"    \n"
+"    Execute PIPELINE and print a summary of the real time, user CPU time,\n"
+"    and system CPU time spent executing PIPELINE when it terminates.\n"
+"    \n"
+"    Options:\n"
+"      -p\tprint the timing summary in the portable Posix format\n"
+"    \n"
+"    The value of the TIMEFORMAT variable is used as the output format.\n"
+"    \n"
+"    Exit Status:\n"
+"    The return status is the return status of PIPELINE."
+msgstr ""
+
+#: builtins.c:1567
+msgid ""
+"Execute commands based on pattern matching.\n"
+"    \n"
+"    Selectively execute COMMANDS based upon WORD matching PATTERN.  The\n"
+"    `|' is used to separate multiple patterns.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns the status of the last command executed."
+msgstr ""
+
+#: builtins.c:1579
+msgid ""
+"Execute commands based on conditional.\n"
+"    \n"
+"    The `if COMMANDS' list is executed.  If its exit status is zero, then the\n"
+"    `then COMMANDS' list is executed.  Otherwise, each `elif COMMANDS' list is\n"
+"    executed in turn, and if its exit status is zero, the corresponding\n"
+"    `then COMMANDS' list is executed and the if command completes.  Otherwise,\n"
+"    the `else COMMANDS' list is executed, if present.  The exit status of the\n"
+"    entire construct is the exit status of the last command executed, or zero\n"
+"    if no condition tested true.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns the status of the last command executed."
+msgstr ""
+
+#: builtins.c:1596
+msgid ""
+"Execute commands as long as a test succeeds.\n"
+"    \n"
+"    Expand and execute COMMANDS as long as the final command in the\n"
+"    `while' COMMANDS has an exit status of zero.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns the status of the last command executed."
+msgstr ""
+
+#: builtins.c:1608
+msgid ""
+"Execute commands as long as a test does not succeed.\n"
+"    \n"
+"    Expand and execute COMMANDS as long as the final command in the\n"
+"    `until' COMMANDS has an exit status which is not zero.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns the status of the last command executed."
+msgstr ""
+
+#: builtins.c:1620
+msgid ""
+"Create a coprocess named NAME.\n"
+"    \n"
+"    Execute COMMAND asynchronously, with the standard output and standard\n"
+"    input of the command connected via a pipe to file descriptors assigned\n"
+"    to indices 0 and 1 of an array variable NAME in the executing shell.\n"
+"    The default NAME is \"COPROC\".\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns the exit status of COMMAND."
+msgstr ""
+
+#: builtins.c:1634
+msgid ""
+"Define shell function.\n"
+"    \n"
+"    Create a shell function named NAME.  When invoked as a simple command,\n"
+"    NAME runs COMMANDs in the calling shell's context.  When NAME is invoked,\n"
+"    the arguments are passed to the function as $1...$n, and the function's\n"
+"    name is in $FUNCNAME.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless NAME is readonly."
+msgstr ""
+
+#: builtins.c:1648
+msgid ""
+"Group commands as a unit.\n"
+"    \n"
+"    Run a set of commands in a group.  This is one way to redirect an\n"
+"    entire set of commands.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns the status of the last command executed."
+msgstr ""
+
+#: builtins.c:1660
+msgid ""
+"Resume job in foreground.\n"
+"    \n"
+"    Equivalent to the JOB_SPEC argument to the `fg' command.  Resume a\n"
+"    stopped or background job.  JOB_SPEC can specify either a job name\n"
+"    or a job number.  Following JOB_SPEC with a `&' places the job in\n"
+"    the background, as if the job specification had been supplied as an\n"
+"    argument to `bg'.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns the status of the resumed job."
+msgstr ""
+
+#: builtins.c:1675
+msgid ""
+"Evaluate arithmetic expression.\n"
+"    \n"
+"    The EXPRESSION is evaluated according to the rules for arithmetic\n"
+"    evaluation.  Equivalent to \"let EXPRESSION\".\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
+msgstr ""
+
+#: builtins.c:1687
+msgid ""
+"Execute conditional command.\n"
+"    \n"
+"    Returns a status of 0 or 1 depending on the evaluation of the conditional\n"
+"    expression EXPRESSION.  Expressions are composed of the same primaries used\n"
+"    by the `test' builtin, and may be combined using the following operators:\n"
+"    \n"
+"      ( EXPRESSION )\tReturns the value of EXPRESSION\n"
+"      ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n"
+"      EXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false\n"
+"      EXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false\n"
+"    \n"
+"    When the `==' and `!=' operators are used, the string to the right of\n"
+"    the operator is used as a pattern and pattern matching is performed.\n"
+"    When the `=~' operator is used, the string to the right of the operator\n"
+"    is matched as a regular expression.\n"
+"    \n"
+"    The && and || operators do not evaluate EXPR2 if EXPR1 is sufficient to\n"
+"    determine the expression's value.\n"
+"    \n"
+"    Exit Status:\n"
+"    0 or 1 depending on value of EXPRESSION."
+msgstr ""
+
+#: builtins.c:1713
+msgid ""
+"Common shell variable names and usage.\n"
+"    \n"
+"    BASH_VERSION\tVersion information for this Bash.\n"
+"    CDPATH\tA colon-separated list of directories to search\n"
+"    \t\tfor directories given as arguments to `cd'.\n"
+"    GLOBIGNORE\tA colon-separated list of patterns describing filenames to\n"
+"    \t\tbe ignored by pathname expansion.\n"
+"    HISTFILE\tThe name of the file where your command history is stored.\n"
+"    HISTFILESIZE\tThe maximum number of lines this file can contain.\n"
+"    HISTSIZE\tThe maximum number of history lines that a running\n"
+"    \t\tshell can access.\n"
+"    HOME\tThe complete pathname to your login directory.\n"
+"    HOSTNAME\tThe name of the current host.\n"
+"    HOSTTYPE\tThe type of CPU this version of Bash is running under.\n"
+"    IGNOREEOF\tControls the action of the shell on receipt of an EOF\n"
+"    \t\tcharacter as the sole input.  If set, then the value\n"
+"    \t\tof it is the number of EOF characters that can be seen\n"
+"    \t\tin a row on an empty line before the shell will exit\n"
+"    \t\t(default 10).  When unset, EOF signifies the end of input.\n"
+"    MACHTYPE\tA string describing the current system Bash is running on.\n"
+"    MAILCHECK\tHow often, in seconds, Bash checks for new mail.\n"
+"    MAILPATH\tA colon-separated list of filenames which Bash checks\n"
+"    \t\tfor new mail.\n"
+"    OSTYPE\tThe version of Unix this version of Bash is running on.\n"
+"    PATH\tA colon-separated list of directories to search when\n"
+"    \t\tlooking for commands.\n"
+"    PROMPT_COMMAND\tA command to be executed before the printing of each\n"
+"    \t\tprimary prompt.\n"
+"    PS1\t\tThe primary prompt string.\n"
+"    PS2\t\tThe secondary prompt string.\n"
+"    PWD\t\tThe full pathname of the current directory.\n"
+"    SHELLOPTS\tA colon-separated list of enabled shell options.\n"
+"    TERM\tThe name of the current terminal type.\n"
+"    TIMEFORMAT\tThe output format for timing statistics displayed by the\n"
+"    \t\t`time' reserved word.\n"
+"    auto_resume\tNon-null means a command word appearing on a line by\n"
+"    \t\titself is first looked for in the list of currently\n"
+"    \t\tstopped jobs.  If found there, that job is foregrounded.\n"
+"    \t\tA value of `exact' means that the command word must\n"
+"    \t\texactly match a command in the list of stopped jobs.  A\n"
+"    \t\tvalue of `substring' means that the command word must\n"
+"    \t\tmatch a substring of the job.  Any other value means that\n"
+"    \t\tthe command must be a prefix of a stopped job.\n"
+"    histchars\tCharacters controlling history expansion and quick\n"
+"    \t\tsubstitution.  The first character is the history\n"
+"    \t\tsubstitution character, usually `!'.  The second is\n"
+"    \t\tthe `quick substitution' character, usually `^'.  The\n"
+"    \t\tthird is the `history comment' character, usually `#'.\n"
+"    HISTIGNORE\tA colon-separated list of patterns used to decide which\n"
+"    \t\tcommands should be saved on the history list.\n"
+msgstr ""
+
+#: builtins.c:1770
+msgid ""
+"Add directories to stack.\n"
+"    \n"
+"    Adds a directory to the top of the directory stack, or rotates\n"
+"    the stack, making the new top of the stack the current working\n"
+"    directory.  With no arguments, exchanges the top two directories.\n"
+"    \n"
+"    Options:\n"
+"      -n\tSuppresses the normal change of directory when adding\n"
+"    \tdirectories to the stack, so only the stack is manipulated.\n"
+"    \n"
+"    Arguments:\n"
+"      +N\tRotates the stack so that the Nth directory (counting\n"
+"    \tfrom the left of the list shown by `dirs', starting with\n"
+"    \tzero) is at the top.\n"
+"    \n"
+"      -N\tRotates the stack so that the Nth directory (counting\n"
+"    \tfrom the right of the list shown by `dirs', starting with\n"
+"    \tzero) is at the top.\n"
+"    \n"
+"      dir\tAdds DIR to the directory stack at the top, making it the\n"
+"    \tnew current working directory.\n"
+"    \n"
+"    The `dirs' builtin displays the directory stack.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless an invalid argument is supplied or the directory\n"
+"    change fails."
+msgstr ""
+
+#: builtins.c:1804
+msgid ""
+"Remove directories from stack.\n"
+"    \n"
+"    Removes entries from the directory stack.  With no arguments, removes\n"
+"    the top directory from the stack, and changes to the new top directory.\n"
+"    \n"
+"    Options:\n"
+"      -n\tSuppresses the normal change of directory when removing\n"
+"    \tdirectories from the stack, so only the stack is manipulated.\n"
+"    \n"
+"    Arguments:\n"
+"      +N\tRemoves the Nth entry counting from the left of the list\n"
+"    \tshown by `dirs', starting with zero.  For example: `popd +0'\n"
+"    \tremoves the first directory, `popd +1' the second.\n"
+"    \n"
+"      -N\tRemoves the Nth entry counting from the right of the list\n"
+"    \tshown by `dirs', starting with zero.  For example: `popd -0'\n"
+"    \tremoves the last directory, `popd -1' the next to last.\n"
+"    \n"
+"    The `dirs' builtin displays the directory stack.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless an invalid argument is supplied or the directory\n"
+"    change fails."
+msgstr ""
+
+#: builtins.c:1834
+msgid ""
+"Display directory stack.\n"
+"    \n"
+"    Display the list of currently remembered directories.  Directories\n"
+"    find their way onto the list with the `pushd' command; you can get\n"
+"    back up through the list with the `popd' command.\n"
+"    \n"
+"    Options:\n"
+"      -c\tclear the directory stack by deleting all of the elements\n"
+"      -l\tdo not print tilde-prefixed versions of directories relative\n"
+"    \tto your home directory\n"
+"      -p\tprint the directory stack with one entry per line\n"
+"      -v\tprint the directory stack with one entry per line prefixed\n"
+"    \twith its position in the stack\n"
+"    \n"
+"    Arguments:\n"
+"      +N\tDisplays the Nth entry counting from the left of the list shown by\n"
+"    \tdirs when invoked without options, starting with zero.\n"
+"    \n"
+"      -N\tDisplays the Nth entry counting from the right of the list shown by\n"
+"    \tdirs when invoked without options, starting with zero.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless an invalid option is supplied or an error occurs."
+msgstr ""
+
+#: builtins.c:1863
+msgid ""
+"Set and unset shell options.\n"
+"    \n"
+"    Change the setting of each shell option OPTNAME.  Without any option\n"
+"    arguments, list all shell options with an indication of whether or not each\n"
+"    is set.\n"
+"    \n"
+"    Options:\n"
+"      -o\trestrict OPTNAMEs to those defined for use with `set -o'\n"
+"      -p\tprint each shell option with an indication of its status\n"
+"      -q\tsuppress output\n"
+"      -s\tenable (set) each OPTNAME\n"
+"      -u\tdisable (unset) each OPTNAME\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success if OPTNAME is enabled; fails if an invalid option is\n"
+"    given or OPTNAME is disabled."
+msgstr ""
+
+#: builtins.c:1884
+msgid ""
+"Formats and prints ARGUMENTS under control of the FORMAT.\n"
+"    \n"
+"    Options:\n"
+"      -v var\tassign the output to shell variable VAR rather than\n"
+"    \t\tdisplay it on the standard output\n"
+"    \n"
+"    FORMAT is a character string which contains three types of objects: plain\n"
+"    characters, which are simply copied to standard output; character escape\n"
+"    sequences, which are converted and copied to the standard output; and\n"
+"    format specifications, each of which causes printing of the next successive\n"
+"    argument.\n"
+"    \n"
+"    In addition to the standard format specifications described in printf(1)\n"
+"    and printf(3), printf interprets:\n"
+"    \n"
+"      %b\texpand backslash escape sequences in the corresponding argument\n"
+"      %q\tquote the argument in a way that can be reused as shell input\n"
+"      %(fmt)T output the date-time string resulting from using FMT as a format\n"
+"            string for strftime(3)\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless an invalid option is given or a write or assignment\n"
+"    error occurs."
+msgstr ""
+
+#: builtins.c:1913
+msgid ""
+"Specify how arguments are to be completed by Readline.\n"
+"    \n"
+"    For each NAME, specify how arguments are to be completed.  If no options\n"
+"    are supplied, existing completion specifications are printed in a way that\n"
+"    allows them to be reused as input.\n"
+"    \n"
+"    Options:\n"
+"      -p\tprint existing completion specifications in a reusable format\n"
+"      -r\tremove a completion specification for each NAME, or, if no\n"
+"    \tNAMEs are supplied, all completion specifications\n"
+"      -D\tapply the completions and actions as the default for commands\n"
+"    \twithout any specific completion defined\n"
+"      -E\tapply the completions and actions to \"empty\" commands --\n"
+"    \tcompletion attempted on a blank line\n"
+"    \n"
+"    When completion is attempted, the actions are applied in the order the\n"
+"    uppercase-letter options are listed above.  The -D option takes\n"
+"    precedence over -E.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless an invalid option is supplied or an error occurs."
+msgstr ""
+
+#: builtins.c:1941
+msgid ""
+"Display possible completions depending on the options.\n"
+"    \n"
+"    Intended to be used from within a shell function generating possible\n"
+"    completions.  If the optional WORD argument is supplied, matches against\n"
+"    WORD are generated.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless an invalid option is supplied or an error occurs."
+msgstr ""
+
+#: builtins.c:1956
+msgid ""
+"Modify or display completion options.\n"
+"    \n"
+"    Modify the completion options for each NAME, or, if no NAMEs are supplied,\n"
+"    the completion currently being executed.  If no OPTIONs are given, print\n"
+"    the completion options for each NAME or the current completion specification.\n"
+"    \n"
+"    Options:\n"
+"    \t-o option\tSet completion option OPTION for each NAME\n"
+"    \t-D\t\tChange options for the \"default\" command completion\n"
+"    \t-E\t\tChange options for the \"empty\" command completion\n"
+"    \n"
+"    Using `+o' instead of `-o' turns off the specified option.\n"
+"    \n"
+"    Arguments:\n"
+"    \n"
+"    Each NAME refers to a command for which a completion specification must\n"
+"    have previously been defined using the `complete' builtin.  If no NAMEs\n"
+"    are supplied, compopt must be called by a function currently generating\n"
+"    completions, and the options for that currently-executing completion\n"
+"    generator are modified.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless an invalid option is supplied or NAME does not\n"
+"    have a completion specification defined."
+msgstr ""
+
+#: builtins.c:1986
+msgid ""
+"Read lines from the standard input into an indexed array variable.\n"
+"    \n"
+"    Read lines from the standard input into the indexed array variable ARRAY, or\n"
+"    from file descriptor FD if the -u option is supplied.  The variable MAPFILE\n"
+"    is the default ARRAY.\n"
+"    \n"
+"    Options:\n"
+"      -n count\tCopy at most COUNT lines.  If COUNT is 0, all lines are copied.\n"
+"      -O origin\tBegin assigning to ARRAY at index ORIGIN.  The default index is 0.\n"
+"      -s count \tDiscard the first COUNT lines read.\n"
+"      -t\t\tRemove a trailing newline from each line read.\n"
+"      -u fd\t\tRead lines from file descriptor FD instead of the standard input.\n"
+"      -C callback\tEvaluate CALLBACK each time QUANTUM lines are read.\n"
+"      -c quantum\tSpecify the number of lines read between each call to CALLBACK.\n"
+"    \n"
+"    Arguments:\n"
+"      ARRAY\t\tArray variable name to use for file data.\n"
+"    \n"
+"    If -C is supplied without -c, the default quantum is 5000.  When\n"
+"    CALLBACK is evaluated, it is supplied the index of the next array\n"
+"    element to be assigned and the line to be assigned to that element\n"
+"    as additional arguments.\n"
+"    \n"
+"    If not supplied with an explicit origin, mapfile will clear ARRAY before\n"
+"    assigning to it.\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns success unless an invalid option is given or ARRAY is readonly or\n"
+"    not an indexed array."
+msgstr ""
+
+#: builtins.c:2020
+msgid ""
+"Read lines from a file into an array variable.\n"
+"    \n"
+"    A synonym for `mapfile'."
+msgstr ""