- next set of updates for consistency between formats, update language,
fix formatting conventions
+ 10/11
+ -----
+lib/readline/doc/rltech.texi,lib/readline/doc/hstech.texi
+ - next set of updates for consistency between formats, update language,
+ fix formatting conventions
+
+ 10/12
+ -----
+Makefile.in,builtins/Makefile.in
+ - update dependencies on readline, history include files
+builtins/shopt.def
+ - update bash_source_fullpath reset to use new default
+
+configure.ac
+ - update to use the right option name for bash-source-fullpath-default
+ Report and patch from Grisha Levit <grishalevit@gmail.com>
+
+braces.c
+ - mkseq: fix loop condition to avoid integer overflow
+ Report and patch from Grisha Levit <grishalevit@gmail.com>
+
+builtins/help.def
+ - show_desc: don't assume that long_doc[0] ends with a newline,
+ just add one manually when we hit a newline or NULL
+ Report and patch from Grisha Levit <grishalevit@gmail.com>
+
+builtins/read.def
+ - read_builtin: don't check the timeout after breaking out of the
+ character read loop unless we didn't read anything (i == 0) and
+ the last read return EOF or error
+ - read_builtin: move check_read_timeout call to the end of the read
+ loop, after we check for the delimiter and whether or not we've
+ read the right number of characters, so we always return any
+ valid data
+ Report from Thomas Oettli <thomas.oettli@sfs.com>
+
+ 10/14
+ -----
+jobs.c
+ - wait_for_any_job: in posix mode, take any terminated pid from bgpids
+ before waiting for a running job to terminate
+ Inspired by report from Zachary Santer <zsanter@gmail.com>
+
+ 10/14
+ -----
+doc/bash.1,doc/bashref.texi
+ - next set of updates for consistency between formats, update language,
+ fix formatting conventions (job control section)
+doc/bash.1,doc/bashref.texi,lib/readline/doc/readline.3,lib/readline/doc/rluser.texi
+ - minor wording updates and typo fixes from
+ G. Branden Robinson <g.branden.robinson@gmail.com>
HISTORY_LDFLAGS = -L$(HIST_LIBDIR)
HISTORY_DEP = @HISTORY_DEP@
+HIST_INCLUDEDIR = @HIST_INCLUDEDIR@
+
# The source, object and documentation of the history library.
HISTORY_SOURCE = $(HIST_LIBSRC)/history.c $(HIST_LIBSRC)/histexpand.c \
$(HIST_LIBSRC)/histsearch.c $(HIST_LIBSRC)/histfile.c \
shell.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
shell.o: make_cmd.h subst.h sig.h pathnames.h externs.h parser.h
shell.o: flags.h trap.h mailcheck.h builtins.h $(DEFSRC)/common.h
-shell.o: jobs.h siglist.h input.h execute_cmd.h findcmd.h bashhist.h bashline.h
+shell.o: jobs.h siglist.h input.h execute_cmd.h findcmd.h bashhist.h bashline.h
shell.o: ${GLOB_LIBSRC}/strmatch.h ${BASHINCDIR}/posixtime.h ${BASHINCDIR}/posixwait.h
shell.o: ${BASHINCDIR}/ocache.h ${BASHINCDIR}/chartypes.h assoc.h alias.h
shell.o: $(BASHINCDIR)/unlocked-io.h
pcomplete.o: $(RL_LIBSRC)/chardefs.h $(RL_LIBSRC)/readline.h
pcomplete.o: $(RL_LIBSRC)/rltypedefs.h ${RL_LIBSRC}/rlmbutil.h
-shell.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
+bashhist.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
+bashline.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
+bracecomp.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
+error.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
+eval.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
+execute_cmd.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
+flags.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
variables.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
subst.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
-bashline.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
-bashhist.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
y.tab.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
pcomplete.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
+shell.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
bashline.o: $(TILDE_LIBSRC)/tilde.h
bracecomp.o: $(TILDE_LIBSRC)/tilde.h
builtins/bind.o: $(RL_LIBSRC)/chardefs.h $(RL_LIBSRC)/readline.h
builtins/bind.o: $(RL_LIBSRC)/keymaps.h $(RL_LIBSRC)/rlstdc.h
+builtins/common.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
+builtins/evalfile.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
+builtins/evalstring.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
builtins/bind.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
builtins/fc.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
builtins/history.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
+builtins/shopt.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
builtins/common.o: $(TILDE_LIBSRC)/tilde.h
builtins/cd.o: $(TILDE_LIBSRC)/tilde.h
return ((char **)NULL);
}
+ if (i >= nelem - 1)
+ break;
+
n += incr;
}
- while (i < nelem - 1);
+ while (1);
result[i] = (char *)0;
return (result);
RL_INCLUDEDIR = @RL_INCLUDEDIR@
+HIST_LIBSRC = ${topdir}/lib/readline
+RL_LIBSRC = ${topdir}/lib/readline
+
INTL_LIBSRC = ${topdir}/lib/intl
INTL_BUILDDIR = ${LIBBUILD}/intl
INTL_LIBDIR = ${INTL_BUILDDIR}
mapfile.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/variables.h $(topdir)/conftypes.h
mapfile.o: $(topdir)/arrayfunc.h ../pathnames.h
-#bind.o: $(RL_LIBSRC)chardefs.h $(RL_LIBSRC)readline.h $(RL_LIBSRC)keymaps.h
+bind.o: $(RL_LIBSRC)/rlconf.h
+bind.o: $(RL_LIBSRC)/keymaps.h $(RL_LIBSRC)/rlstdc.h
+bind.o: $(RL_LIBSRC)/chardefs.h $(RL_LIBSRC)/readline.h
+bind.o: $(RL_LIBSRC)/rltypedefs.h ${RL_LIBSRC}/rlmbutil.h
+complete.o: $(RL_LIBSRC)/rlconf.h
+complete.o: $(RL_LIBSRC)/keymaps.h $(RL_LIBSRC)/rlstdc.h
+complete.o: $(RL_LIBSRC)/chardefs.h $(RL_LIBSRC)/readline.h
+complete.o: $(RL_LIBSRC)/rltypedefs.h ${RL_LIBSRC}/rlmbutil.h
+history.o: $(RL_LIBSRC)/rlconf.h
+history.o: $(RL_LIBSRC)/keymaps.h $(RL_LIBSRC)/rlstdc.h
+history.o: $(RL_LIBSRC)/chardefs.h $(RL_LIBSRC)/readline.h
+history.o: $(RL_LIBSRC)/rltypedefs.h ${RL_LIBSRC}/rlmbutil.h
+read.o: $(RL_LIBSRC)/rlconf.h
+read.o: $(RL_LIBSRC)/keymaps.h $(RL_LIBSRC)/rlstdc.h
+read.o: $(RL_LIBSRC)/chardefs.h $(RL_LIBSRC)/readline.h
+read.o: $(RL_LIBSRC)/rltypedefs.h ${RL_LIBSRC}/rlmbutil.h
+set.o: $(RL_LIBSRC)/rlconf.h
+set.o: $(RL_LIBSRC)/keymaps.h $(RL_LIBSRC)/rlstdc.h
+set.o: $(RL_LIBSRC)/chardefs.h $(RL_LIBSRC)/readline.h
+set.o: $(RL_LIBSRC)/rltypedefs.h ${RL_LIBSRC}/rlmbutil.h
+
+common.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
+evalfile.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
+evalstring.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
+bind.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
+fc.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
+history.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
+shopt.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
# libintl dependencies
bind.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
line = doc ? doc[0] : (char *)NULL;
printf ("%s - ", name);
- for (j = 0; line && line[j]; j++)
- {
- putchar (line[j]);
- if (line[j] == '\n')
- break;
- }
+ /* Don't assume LINE ends with a newline. */
+ for (j = 0; line && line[j] && line[j] != '\n'; j++)
+ putchar (line[j]);
+ putchar ('\n');
fflush (stdout);
add_char:
input_string[i++] = c;
- check_read_timeout ();
#if defined (HANDLE_MULTIBYTE)
/* XXX - what if C == 127? Can DEL introduce a multibyte sequence? */
if (nchars > 0 && nr >= nchars)
break;
+
+ check_read_timeout ();
}
/* Back up over trailing CTLESC if the input ends with an unescaped
backslash */
saw_escape = 0; /* Avoid dequoting bare CTLNUL */
input_string[i] = '\0';
- check_read_timeout ();
+ /* Don't check the timeout unless we didn't read anything and zread returned
+ EOF or error. */
+ if (i == 0 && retval <= 0)
+ check_read_timeout ();
#if defined (READLINE)
if (edit)
glob_ignore_case = match_ignore_case = 0;
print_shift_error = 0;
source_uses_path = promptvars = 1;
- bash_source_fullpath = 0;
varassign_redir_autoclose = 0;
singlequote_translations = 0;
patsub_replacement = PATSUB_REPLACE_DEFAULT;
+ bash_source_fullpath = BASH_SOURCE_FULLPATH_DEFAULT;
#if defined (JOB_CONTROL)
check_jobs_at_exit = 0;
#! /bin/sh
-# From configure.ac for Bash 5.3, version 5.069.
+# From configure.ac for Bash 5.3, version 5.071.
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.72 for bash 5.3-beta.
#
INSTALL_SCRIPT
INSTALL_PROGRAM
TILDE_LIB
+HIST_INCLUDEDIR
HIST_LIBDIR
HISTORY_DEP
HISTORY_LIB
opt_dev_fd_stat_broken=no
opt_alt_array_impl=no
opt_translatable_strings=yes
-opt_bash_source_fullpath=no
+opt_bash_source_fullpath_default=no
ARRAY_O=array.o
opt_casemod_attrs=no opt_casemod_expansions=no opt_extglob_default=no
opt_translatable_strings=no
opt_globascii_default=yes
- opt_bash_source_fullpath=no
+ opt_bash_source_fullpath_default=no
fi
# Check whether --enable-alias was given.
else
RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
READLINE_DEP='$(READLINE_LIBRARY)'
+ # for dependencies
+ RL_INCLUDEDIR='$(RL_LIBDIR)'
# section for OS versions that ship an older/broken version of
# readline as a standard dynamic library and don't allow a
# static version specified as -llibname to override the
else
RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
READLINE_LIB= READLINE_DEP=
+ RL_INCLUDEDIR=
fi
if test $opt_history = yes || test $opt_bang_history = yes; then
if test $opt_history = yes; then
else
HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
HISTORY_DEP='$(HISTORY_LIBRARY)'
+ # for dependencies
+ HIST_INCLUDEDIR='$(HIST_LIBDIR)'
# section for OS versions that ship an older version of
# readline as a standard dynamic library and don't allow a
# static version specified as -llibname to override the
else
HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
HISTORY_LIB= HISTORY_DEP=
+ HIST_INCLUDEDIR=
fi
+
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# incompatible versions:
LIBS=$save_LIBS
test $gl_pthread_api = yes && break
done
- echo "$as_me:9221: gl_pthread_api=$gl_pthread_api" >&5
- echo "$as_me:9222: LIBPTHREAD=$LIBPTHREAD" >&5
+ echo "$as_me:9229: gl_pthread_api=$gl_pthread_api" >&5
+ echo "$as_me:9230: LIBPTHREAD=$LIBPTHREAD" >&5
gl_pthread_in_glibc=no
# On Linux with glibc >= 2.34, libc contains the fully functional
;;
esac
- echo "$as_me:9248: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
+ echo "$as_me:9256: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
# Test for libpthread by looking for pthread_kill. (Not pthread_self,
# since it is defined as a macro on OSF/1.)
fi
fi
- echo "$as_me:9426: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
+ echo "$as_me:9434: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads API is available" >&5
printf %s "checking whether POSIX threads API is available... " >&6; }
LIBS=$save_LIBS
test $gl_pthread_api = yes && break
done
- echo "$as_me:9673: gl_pthread_api=$gl_pthread_api" >&5
- echo "$as_me:9674: LIBPTHREAD=$LIBPTHREAD" >&5
+ echo "$as_me:9681: gl_pthread_api=$gl_pthread_api" >&5
+ echo "$as_me:9682: LIBPTHREAD=$LIBPTHREAD" >&5
gl_pthread_in_glibc=no
# On Linux with glibc >= 2.34, libc contains the fully functional
;;
esac
- echo "$as_me:9700: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
+ echo "$as_me:9708: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
# Test for libpthread by looking for pthread_kill. (Not pthread_self,
# since it is defined as a macro on OSF/1.)
fi
fi
- echo "$as_me:9878: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
+ echo "$as_me:9886: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads API is available" >&5
printf %s "checking whether POSIX threads API is available... " >&6; }
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-AC_REVISION([for Bash 5.3, version 5.069])dnl
+AC_REVISION([for Bash 5.3, version 5.071])dnl
define(bashvers, 5.3)
define(relstatus, beta)
opt_dev_fd_stat_broken=no
opt_alt_array_impl=no
opt_translatable_strings=yes
-opt_bash_source_fullpath=no
+opt_bash_source_fullpath_default=no
dnl modified by alternate array implementation option
ARRAY_O=array.o
opt_casemod_attrs=no opt_casemod_expansions=no opt_extglob_default=no
opt_translatable_strings=no
opt_globascii_default=yes
- opt_bash_source_fullpath=no
+ opt_bash_source_fullpath_default=no
fi
AC_ARG_ENABLE(alias, AS_HELP_STRING([--enable-alias], [enable shell aliases]), opt_alias=$enableval)
else
RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
READLINE_DEP='$(READLINE_LIBRARY)'
+ # for dependencies
+ RL_INCLUDEDIR='$(RL_LIBDIR)'
# section for OS versions that ship an older/broken version of
# readline as a standard dynamic library and don't allow a
# static version specified as -llibname to override the
else
RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
READLINE_LIB= READLINE_DEP=
+ RL_INCLUDEDIR=
fi
if test $opt_history = yes || test $opt_bang_history = yes; then
if test $opt_history = yes; then
else
HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
HISTORY_DEP='$(HISTORY_LIBRARY)'
+ # for dependencies
+ HIST_INCLUDEDIR='$(HIST_LIBDIR)'
# section for OS versions that ship an older version of
# readline as a standard dynamic library and don't allow a
# static version specified as -llibname to override the
else
HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
HISTORY_LIB= HISTORY_DEP=
+ HIST_INCLUDEDIR=
fi
AC_SUBST(READLINE_LIB)
AC_SUBST(READLINE_DEP)
AC_SUBST(HISTORY_LIB)
AC_SUBST(HISTORY_DEP)
AC_SUBST(HIST_LIBDIR)
+AC_SUBST(HIST_INCLUDEDIR)
AC_SUBST(TILDE_LIB)
dnl END READLINE and HISTORY LIBRARY SECTION
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-
- 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 most recently accessed job 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.
+ job control. If this variable is set, simple commands consist-
+ ing of only a single word, without redirections, are treated as
+ candidates for resumption of an existing stopped job. There is
+ no ambiguity allowed; if there is more than one job beginning
+ with or containing the word, this selects the most recently ac-
+ cessed job. The _\bn_\ba_\bm_\be of a stopped job, in this context, is the
+ command line used to start it, as displayed by j\bjo\bob\bbs\bs. If set to
+ the value _\be_\bx_\ba_\bc_\bt, the word must match the name of a stopped job
+ exactly; if set to _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg, the word needs to match a sub-
+ string of the name of a stopped job. The _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg value pro-
+ vides functionality analogous to the %\b%?\b? job identifier (see J\bJO\bOB\bB
+ C\bCO\bON\bNT\bTR\bRO\bOL\bL below). If set to any other value (e.g., _\bp_\br_\be_\bf_\bi_\bx), the
+ word must be a prefix of a stopped job's name; this provides
+ 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
tokenization (see H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below). The first character
displayed by the d\bdi\bir\brs\bs builtin invoked with the characters following the
tilde in the tilde-prefix as an argument. If the characters following
the tilde in the tilde-prefix consist of a number without a leading "+"
- or "-", "+" is assumed.
+ or "-", tilde expansion assumes "+".
The results of tilde expansion are treated as if they were quoted, so
the replacement is not subject to word splitting and pathname expan-
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:?\b?_\bw_\bo_\br_\bd}
D\bDi\bis\bsp\bpl\bla\bay\by E\bEr\brr\bro\bor\br i\bif\bf N\bNu\bul\bll\bl o\bor\br U\bUn\bns\bse\bet\bt. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or unset,
- 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 with a non-zero status. An inter-
- active shell does not exit, but does not execute the command as-
- sociated with the expansion. Otherwise, the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
- is substituted.
+ the shell writes the expansion of _\bw_\bo_\br_\bd (or a message to that ef-
+ fect if _\bw_\bo_\br_\bd is not present) to the standard error and, if it is
+ not interactive, exits with a non-zero status. An interactive
+ shell does not exit, but does not execute the command associated
+ with the expansion. Otherwise, the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is sub-
+ stituted.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:+\b+_\bw_\bo_\br_\bd}
U\bUs\bse\be A\bAl\blt\bte\ber\brn\bna\bat\bte\be V\bVa\bal\blu\bue\be. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or unset, nothing is
commands on that line or the compound command. Aliases are expanded
when a command is read, not when it is executed. Therefore, an alias
definition appearing on the same line as another command does not take
- effect until the shell reads the next line of input. The commands fol-
- lowing the alias definition on that line are not affected by the new
- alias. This behavior is also an issue when functions are executed.
- Aliases are expanded when a function definition is read, not when the
- function is executed, because a function definition is itself a com-
- mand. As a consequence, aliases defined in a function are not avail-
- able until after that function is executed. To be safe, always put
- alias definitions on a separate line, and do not use a\bal\bli\bia\bas\bs in compound
- commands.
+ effect until the shell reads the next line of input, and an alias defi-
+ nition in a compound command does not take effect until the shell
+ parses and executes the entire compound command. The commands follow-
+ ing the alias definition on that line, or in the rest of a compound
+ command, are not affected by the new alias. This behavior is also an
+ issue when functions are executed. Aliases are expanded when a func-
+ tion definition is read, not when the function is executed, because a
+ function definition is itself a command. As a consequence, aliases de-
+ fined in a function are not available until after that function is exe-
+ cuted. To be safe, always put alias definitions on a separate line,
+ and do not use a\bal\bli\bia\bas\bs in compound commands.
For almost every purpose, shell functions are preferable to aliases.
ver and b\bba\bas\bsh\bh.
The shell associates a _\bj_\bo_\bb with each pipeline. It keeps a table of
- currently executing jobs, which may be listed with the j\bjo\bob\bbs\bs command.
- When b\bba\bas\bsh\bh starts a job asynchronously (in the _\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd), it prints a
- line that looks like:
+ currently executing jobs, which the j\bjo\bob\bbs\bs command will display. Each
+ job has a _\bj_\bo_\bb _\bn_\bu_\bm_\bb_\be_\br, which j\bjo\bob\bbs\bs displays between brackets. Job num-
+ bers start at 1. When b\bba\bas\bsh\bh starts a job asynchronously (in the _\bb_\ba_\bc_\bk_\b-
+ _\bg_\br_\bo_\bu_\bn_\bd), it prints a line that looks like:
[1] 25647
indicating that this job is job number 1 and that the process ID of the
last process in the pipeline associated with this job is 25647. All of
- the processes in a single pipeline are members of the same job. B\bBa\bas\bsh\bh
+ the processes in a single pipeline are members of the same job. B\bBa\bas\bsh\bh
uses the _\bj_\bo_\bb abstraction as the basis for job control.
- To facilitate the implementation of the user interface to job control,
- the operating system maintains the notion of a _\bc_\bu_\br_\br_\be_\bn_\bt _\bt_\be_\br_\bm_\bi_\bn_\ba_\bl _\bp_\br_\bo_\bc_\be_\bs_\bs
- _\bg_\br_\bo_\bu_\bp _\bI_\bD. Members of this process group (processes whose process group
- ID is equal to the current terminal process group ID) receive keyboard-
- generated signals such as S\bSI\bIG\bGI\bIN\bNT\bT. These processes are said to be in
- the _\bf_\bo_\br_\be_\bg_\br_\bo_\bu_\bn_\bd. _\bB_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd processes are those whose process group ID
- differs from the terminal's; such processes are immune to keyboard-gen-
- erated signals. Only foreground processes are allowed to read from or,
- if the user so specifies with "stty tostop", write to the terminal.
- Background processes which attempt to read from (write to when "tostop"
- is in effect) the terminal are sent a S\bSI\bIG\bGT\bTT\bTI\bIN\bN (\b(S\bSI\bIG\bGT\bTT\bTO\bOU\bU)\b) signal by the
- kernel's terminal driver, which, unless caught, suspends the process.
+ To facilitate the implementation of the user interface to job control,
+ each process has a _\bp_\br_\bo_\bc_\be_\bs_\bs _\bg_\br_\bo_\bu_\bp _\bI_\bD, and the operating system maintains
+ the notion of a _\bc_\bu_\br_\br_\be_\bn_\bt _\bt_\be_\br_\bm_\bi_\bn_\ba_\bl _\bp_\br_\bo_\bc_\be_\bs_\bs _\bg_\br_\bo_\bu_\bp _\bI_\bD. Processes that have
+ the same process group ID are said to be part of the same _\bp_\br_\bo_\bc_\be_\bs_\bs
+ _\bg_\br_\bo_\bu_\bp. Members of the _\bf_\bo_\br_\be_\bg_\br_\bo_\bu_\bn_\bd process group (processes whose
+ process group ID is equal to the current terminal process group ID) re-
+ ceive keyboard-generated signals such as S\bSI\bIG\bGI\bIN\bNT\bT. Processes in the
+ foreground process group are said to be _\bf_\bo_\br_\be_\bg_\br_\bo_\bu_\bn_\bd processes. _\bB_\ba_\bc_\bk_\b-
+ _\bg_\br_\bo_\bu_\bn_\bd processes are those whose process group ID differs from the ter-
+ minal's; such processes are immune to keyboard-generated signals. Only
+ foreground processes are allowed to read from or, if the user so speci-
+ fies with "stty tostop", write to the terminal. Background processes
+ which attempt to read from (write to when "tostop" is in effect) the
+ terminal are sent a S\bSI\bIG\bGT\bTT\bTI\bIN\bN (\b(S\bSI\bIG\bGT\bTT\bTO\bOU\bU)\b) signal by the kernel's terminal
+ driver, which, unless caught, suspends the process.
If the operating system on which b\bba\bas\bsh\bh is running supports job control,
b\bba\bas\bsh\bh contains facilities to use it. Typing the _\bs_\bu_\bs_\bp_\be_\bn_\bd character (typ-
- ically ^\b^Z\bZ, Control-Z) while a process is running causes that process to
- be stopped and returns control to b\bba\bas\bsh\bh. Typing the _\bd_\be_\bl_\ba_\by_\be_\bd _\bs_\bu_\bs_\bp_\be_\bn_\bd
- character (typically ^\b^Y\bY, Control-Y) causes the process to be stopped
- when it attempts to read input from the terminal, and control to be re-
- turned to b\bba\bas\bsh\bh. The user may then manipulate the state of this job,
- using the b\bbg\bg command to continue it in the background, the f\bfg\bg command
- to continue it in the foreground, or the k\bki\bil\bll\bl command to kill it. A ^\b^Z\bZ
- takes effect immediately, and has the additional side effect of causing
- pending output and typeahead to be discarded.
-
- There are a number of ways to refer to a job in the shell. The charac-
- ter %\b% introduces a job specification (_\bj_\bo_\bb_\bs_\bp_\be_\bc). Job number _\bn may be
- referred to as %\b%n\bn. A job may also be referred to using a prefix of the
- name used to start it, or using a substring that appears in its command
- line. For example, %\b%c\bce\be refers to a stopped job whose command name be-
- gins with c\bce\be. If a prefix matches more than one job, b\bba\bas\bsh\bh reports an
- error. Using %\b%?\b?c\bce\be, on the other hand, refers to any job containing the
- string c\bce\be in its command line. If the substring matches more than one
- job, b\bba\bas\bsh\bh reports an error. The symbols %\b%%\b% and %\b%+\b+ refer to the shell's
- notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb, which is the last job stopped while it was
- in the foreground or started in the background. The _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs _\bj_\bo_\bb may
- be referenced using %\b%-\b-. If there is only a single job, %\b%+\b+ and %\b%-\b- can
- both be used to refer to that job. In output pertaining to jobs (e.g.,
- the output of the j\bjo\bob\bbs\bs command), the current job is always flagged with
- a +\b+, and the previous job with a -\b-. A single % (with no accompanying
- job specification) also refers to the current job.
-
- Simply naming a job can be used to bring it into the foreground: %\b%1\b1 is
- a synonym for "fg %1", bringing job 1 from the background into the
+ ically ^\b^Z\bZ, Control-Z) while a process is running stops that process and
+ returns control to b\bba\bas\bsh\bh. Typing the _\bd_\be_\bl_\ba_\by_\be_\bd _\bs_\bu_\bs_\bp_\be_\bn_\bd character (typi-
+ cally ^\b^Y\bY, Control-Y) causes the process stop when it attempts to read
+ input from the terminal, and returns control to b\bba\bas\bsh\bh. The user then
+ manipulates the state of this job, using the b\bbg\bg command to continue it
+ in the background, the f\bfg\bg command to continue it in the foreground, or
+ the k\bki\bil\bll\bl command to kill it. The suspend character takes effect imme-
+ diately, and has the additional side effect of discarding any pending
+ output and typeahead. To force a background process to stop, or stop a
+ process that's not associated with the current terminal session, send
+ it the S\bSI\bIG\bGS\bST\bTO\bOP\bP signal using k\bki\bil\bll\bl.
+
+ There are a number of ways to refer to a job in the shell. The %\b% char-
+ acter introduces a job specification (jobspec).
+
+ Job number _\bn may be referred to as %\b%n\bn. A job may also be referred to
+ using a prefix of the name used to start it, or using a substring that
+ appears in its command line. For example, %\b%c\bce\be refers to a job whose
+ command name begins with c\bce\be. Using %\b%?\b?c\bce\be, on the other hand, refers to
+ any job containing the string c\bce\be in its command line. If the prefix or
+ substring matches more than one job, b\bba\bas\bsh\bh reports an error.
+
+ The symbols %\b%%\b% and %\b%+\b+ refer to the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb.
+ A single % (with no accompanying job specification) also refers to the
+ current job. %\b%-\b- refers to the _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs _\bj_\bo_\bb. When a job starts in the
+ background, a job stops while in the foreground, or a job is resumed in
+ the background, it becomes the current job. The job that was the cur-
+ rent job becomes the previous job. When the current job terminates,
+ the previous job becomes the current job. If there is only a single
+ job, %\b%+\b+ and %\b%-\b- can both be used to refer to that job. In output per-
+ taining to jobs (e.g., the output of the j\bjo\bob\bbs\bs command), the current job
+ is always marked with a +\b+, and the previous job with a -\b-.
+
+ Simply naming a job can be used to bring it into the foreground: %\b%1\b1 is
+ a synonym for "fg %1", bringing job 1 from the background into the
foreground. Similarly, "%1 &" resumes job 1 in the background, equiva-
lent to "bg %1".
- The shell learns immediately whenever a job changes state. Normally,
- b\bba\bas\bsh\bh waits until it is about to print a prompt before reporting changes
- in a job's status so as to not interrupt any other output, though it
- will notify of changes in a job's status after a foreground command in
- a list completes, before executing the next command. If the -\b-b\bb option
- to the s\bse\bet\bt builtin command is enabled, b\bba\bas\bsh\bh reports such changes imme-
- diately. Any trap on S\bSI\bIG\bGC\bCH\bHL\bLD\bD is executed for each child that exits.
-
- If an attempt to exit b\bba\bas\bsh\bh is made while jobs are stopped (or, if the
+ The shell learns immediately whenever a job changes state. Normally,
+ b\bba\bas\bsh\bh waits until it is about to print a prompt before notifying the
+ user about changes in a job's status so as to not interrupt any other
+ output, though it will notify of changes in a job's status after a
+ foreground command in a list completes, before executing the next com-
+ mand in the list. If the -\b-b\bb option to the s\bse\bet\bt builtin command is en-
+ abled, b\bba\bas\bsh\bh reports such changes immediately. B\bBa\bas\bsh\bh executes any trap
+ on S\bSI\bIG\bGC\bCH\bHL\bLD\bD for each child that terminates.
+
+ When a job terminates and b\bba\bas\bsh\bh notifies the user about it, b\bba\bas\bsh\bh removes
+ the job from the table. It will not appear in j\bjo\bob\bbs\bs output, but w\bwa\bai\bit\bt
+ will report its exit status, as long as it's supplied the process ID
+ associated with the job as an argument. When the table is empty, job
+ numbers start over at 1.
+
+ If a user attempts to exit b\bba\bas\bsh\bh while jobs are stopped (or, if the
c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs shell option has been enabled using the s\bsh\bho\bop\bpt\bt builtin, run-
ning), the shell prints a warning message, and, if the c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs option
is enabled, lists the jobs and their statuses. The j\bjo\bob\bbs\bs command may
- then be used to inspect their status. If a second attempt to exit is
- made without an intervening command, the shell does not print another
- warning, and any stopped jobs are terminated.
+ then be used to inspect their status. If the user immediately attempts
+ to exit again, without an intervening command, b\bba\bas\bsh\bh does not print an-
+ other warning, and terminates any stopped jobs.
- When the shell is waiting for a job or process using the w\bwa\bai\bit\bt builtin,
- and job control is enabled, w\bwa\bai\bit\bt will return when the job changes
+ When the shell is waiting for a job or process using the w\bwa\bai\bit\bt builtin,
+ and job control is enabled, w\bwa\bai\bit\bt will return when the job changes
state. The -\b-f\bf option causes w\bwa\bai\bit\bt to wait until the job or process ter-
minates before returning.
_\bs_\ba_\bl_\b-_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.
Key bindings may contain the following symbolic character names: _\bD_\bE_\bL,
- _\bE_\bS_\bC, _\bE_\bS_\bC_\bA_\bP_\bE, _\bL_\bF_\bD, _\bN_\bE_\bW_\bL_\bI_\bN_\bE, _\bR_\bE_\bT, _\bR_\bE_\bT_\bU_\bR_\bN, _\bR_\bU_\bB_\bO_\bU_\bT, _\bS_\bP_\bA_\bC_\bE, _\bS_\bP_\bC, and _\bT_\bA_\bB.
+ _\bE_\bS_\bC, _\bE_\bS_\bC_\bA_\bP_\bE, _\bL_\bF_\bD, _\bN_\bE_\bW_\bL_\bI_\bN_\bE, _\bR_\bE_\bT, _\bR_\bE_\bT_\bU_\bR_\bN, _\bR_\bU_\bB_\bO_\bU_\bT(a_\bd_\be_\bs_\bt_\br_\bu_\bc_\bt_\bi_\bv_\bebackspace),
+ _\bS_\bP_\bA_\bC_\bE, _\bS_\bP_\bC, and _\bT_\bA_\bB.
- In addition to command names, readline allows keys to be bound to a
+ In addition to command names, readline allows keys to be bound to a
string that is inserted when the key is pressed (a _\bm_\ba_\bc_\br_\bo). The differ-
- ence between a macro and a command is that a macro is enclosed in sin-
+ ence between a macro and a command is that a macro is enclosed in sin-
gle or double quotes.
R\bRe\bea\bad\bdl\bli\bin\bne\be K\bKe\bey\by B\bBi\bin\bnd\bdi\bin\bng\bgs\bs
- The syntax for controlling key bindings in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file is simple.
- All that is required is the name of the command or the text of a macro
- and a key sequence to which it should be bound. The key sequence may
- be specified in one of two ways: as a symbolic key name, possibly with
- _\bM_\be_\bt_\ba_\b- or _\bC_\bo_\bn_\bt_\br_\bo_\bl_\b- prefixes, or as a key sequence composed of one or
- more characters enclosed in double quotes. The key sequence and name
- are separated by a colon. There can be no whitespace between the name
+ The syntax for controlling key bindings in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file is simple.
+ All that is required is the name of the command or the text of a macro
+ and a key sequence to which it should be bound. The key sequence may
+ be specified in one of two ways: as a symbolic key name, possibly with
+ _\bM_\be_\bt_\ba_\b- or _\bC_\bo_\bn_\bt_\br_\bo_\bl_\b- prefixes, or as a key sequence composed of one or
+ more characters enclosed in double quotes. The key sequence and name
+ are separated by a colon. There can be no whitespace between the name
and the colon.
When using the form k\bke\bey\byn\bna\bam\bme\be:_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be or _\bm_\ba_\bc_\br_\bo, _\bk_\be_\by_\bn_\ba_\bm_\be is the name
Meta-Rubout: backward-kill-word
Control-o: "> output"
- In the above example, _\bC_\b-_\bu is bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt,
- _\bM_\b-_\bD_\bE_\bL is bound to the function b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd, and _\bC_\b-_\bo is bound to
- run the macro expressed on the right hand side (that is, to insert the
+ In the above example, _\bC_\b-_\bu is bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt,
+ _\bM_\b-_\bD_\bE_\bL is bound to the function b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd, and _\bC_\b-_\bo is bound to
+ run the macro expressed on the right hand side (that is, to insert the
text "> output" into the line).
- In the second form, "\b"k\bke\bey\bys\bse\beq\bq"\b":_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be or _\bm_\ba_\bc_\br_\bo, k\bke\bey\bys\bse\beq\bq differs
- from k\bke\bey\byn\bna\bam\bme\be above in that strings denoting an entire key sequence may
- be specified by placing the sequence within double quotes. Some GNU
- Emacs style key escapes can be used, as in the following example, but
+ In the second form, "\b"k\bke\bey\bys\bse\beq\bq"\b":_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be or _\bm_\ba_\bc_\br_\bo, k\bke\bey\bys\bse\beq\bq differs
+ from k\bke\bey\byn\bna\bam\bme\be above in that strings denoting an entire key sequence may
+ be specified by placing the sequence within double quotes. Some GNU
+ Emacs style key escapes can be used, as in the following example, but
none of the symbolic character names are recognized.
"\C-u": universal-argument
"\e[11~": "Function Key 1"
In this example, _\bC_\b-_\bu is again bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt.
- _\bC_\b-_\bx _\bC_\b-_\br is bound to the function r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be, and _\bE_\bS_\bC _\b[ _\b1 _\b1 _\b~ is
+ _\bC_\b-_\bx _\bC_\b-_\br is bound to the function r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be, and _\bE_\bS_\bC _\b[ _\b1 _\b1 _\b~ is
bound to insert the text "Function Key 1".
- The full set of GNU Emacs style escape sequences available when speci-
+ The full set of GNU Emacs style escape sequences available when speci-
fying key sequences is
\\b\C\bC-\b- A control prefix.
- \\b\M\bM-\b- Adding the meta prefix or converting the following char-
- acter to a meta character, as described below under
+ \\b\M\bM-\b- Adding the meta prefix or converting the following char-
+ acter to a meta character, as described below under
f\bfo\bor\brc\bce\be-\b-m\bme\bet\bta\ba-\b-p\bpr\bre\bef\bfi\bix\bx.
\\b\e\be An escape character.
\\b\\\b\ Backslash.
\\b\"\b" Literal ", a double quote.
\\b\'\b' Literal ', a single quote.
- In addition to the GNU Emacs style escape sequences, a second set of
+ In addition to the GNU Emacs style escape sequences, a second set of
backslash escapes is available:
\\b\a\ba alert (bell)
\\b\b\bb backspace
\\b\r\br carriage return
\\b\t\bt horizontal tab
\\b\v\bv vertical tab
- \\b\_\bn_\bn_\bn The eight-bit character whose value is the octal value
+ \\b\_\bn_\bn_\bn The eight-bit character whose value is the octal value
_\bn_\bn_\bn (one to three digits).
- \\b\x\bx_\bH_\bH The eight-bit character whose value is the hexadecimal
+ \\b\x\bx_\bH_\bH The eight-bit character whose value is the hexadecimal
value _\bH_\bH (one or two hex digits).
When entering the text of a macro, single or double quotes must be used
to indicate a macro definition. Unquoted text is assumed to be a func-
- tion name. Tthe backslash escapes described above are expanded in the
- macro body. Backslash will quote any other character in the macro
+ tion name. Tthe backslash escapes described above are expanded in the
+ macro body. Backslash will quote any other character in the macro
text, including " and '.
- B\bBa\bas\bsh\bh will display or modify the current readline key bindings with the
+ B\bBa\bas\bsh\bh will display or modify the current readline key bindings with the
b\bbi\bin\bnd\bd builtin command. The -\b-o\bo e\bem\bma\bac\bcs\bs or -\b-o\bo v\bvi\bi options to the s\bse\bet\bt builtin
- (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) will change the editing mode during
+ (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) will change the editing mode during
interactive use.
R\bRe\bea\bad\bdl\bli\bin\bne\be V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs
s\bse\bet\bt _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b-_\bn_\ba_\bm_\be _\bv_\ba_\bl_\bu_\be
or using the b\bbi\bin\bnd\bd builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
- Except where noted, readline variables can take the values O\bOn\bn or O\bOf\bff\bf
- (without regard to case). Unrecognized variable names are ignored.
+ Except where noted, readline variables can take the values O\bOn\bn or O\bOf\bff\bf
+ (without regard to case). Unrecognized variable names are ignored.
When readline reads a variable value, empty or null values, "on" (case-
- insensitive), and "1" are equivalent to O\bOn\bn. All other values are
+ insensitive), and "1" are equivalent to O\bOn\bn. All other values are
equivalent to O\bOf\bff\bf.
- The b\bbi\bin\bnd\bd -\b-V\bV command lists the current readline variable names and val-
+ The b\bbi\bin\bnd\bd -\b-V\bV command lists the current readline variable names and val-
ues (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
The variables and their default values are:
a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\br
- A string variable that controls the text color and background
- when displaying the text in the active region (see the descrip-
- tion of e\ben\bna\bab\bbl\ble\be-\b-a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn below). This string must not take
+ A string variable that controls the text color and background
+ when displaying the text in the active region (see the descrip-
+ tion of e\ben\bna\bab\bbl\ble\be-\b-a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn below). This string must not take
up any physical character positions on the display, so it should
- consist only of terminal escape sequences. It is output to the
- terminal before displaying the text in the active region. This
- variable is reset to the default value whenever the terminal
- type changes. The default value is the string that puts the
- terminal in standout mode, as obtained from the terminal's ter-
+ consist only of terminal escape sequences. It is output to the
+ terminal before displaying the text in the active region. This
+ variable is reset to the default value whenever the terminal
+ type changes. The default value is the string that puts the
+ terminal in standout mode, as obtained from the terminal's ter-
minfo description. A sample value might be "\e[01;33m".
a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn-\b-e\ben\bnd\bd-\b-c\bco\bol\blo\bor\br
- A string variable that "undoes" the effects of a\bac\bct\bti\biv\bve\be-\b-r\bre\be-\b-
- g\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\br and restores "normal" terminal display appear-
- ance after displaying text in the active region. This string
- must not take up any physical character positions on the dis-
- play, so it should consist only of terminal escape sequences.
- It is output to the terminal after displaying the text in the
- active region. This variable is reset to the default value
- whenever the terminal type changes. The default value is the
- string that restores the terminal from standout mode, as ob-
+ A string variable that "undoes" the effects of a\bac\bct\bti\biv\bve\be-\b-r\bre\be-\b-
+ g\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\br and restores "normal" terminal display appear-
+ ance after displaying text in the active region. This string
+ must not take up any physical character positions on the dis-
+ play, so it should consist only of terminal escape sequences.
+ It is output to the terminal after displaying the text in the
+ active region. This variable is reset to the default value
+ whenever the terminal type changes. The default value is the
+ string that restores the terminal from standout mode, as ob-
tained from the terminal's terminfo description. A sample value
might be "\e[0m".
b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be (\b(a\bau\bud\bdi\bib\bbl\ble\be)\b)
- Controls what happens when readline wants to ring the terminal
+ Controls what happens when readline wants to ring the terminal
bell. If set to n\bno\bon\bne\be, readline never rings the bell. If set to
- v\bvi\bis\bsi\bib\bbl\ble\be, readline uses a visible bell if one is available. If
+ v\bvi\bis\bsi\bib\bbl\ble\be, readline uses a visible bell if one is available. If
set to a\bau\bud\bdi\bib\bbl\ble\be, readline attempts to ring the terminal's bell.
b\bbi\bin\bnd\bd-\b-t\btt\bty\by-\b-s\bsp\bpe\bec\bci\bia\bal\bl-\b-c\bch\bha\bar\brs\bs (\b(O\bOn\bn)\b)
- If set to O\bOn\bn, readline attempts to bind the control characters
- that are treated specially by the kernel's terminal driver to
+ If set to O\bOn\bn, readline attempts to bind the control characters
+ that are treated specially by the kernel's terminal driver to
their readline equivalents. These override the default readline
bindings described here. Type "stty -a" at a b\bba\bas\bsh\bh prompt to see
- your current terminal settings, including the special control
+ your current terminal settings, including the special control
characters (usually c\bcc\bch\bha\bar\brs\bs).
b\bbl\bli\bin\bnk\bk-\b-m\bma\bat\btc\bch\bhi\bin\bng\bg-\b-p\bpa\bar\bre\ben\bn (\b(O\bOf\bff\bf)\b)
If set to O\bOn\bn, readline attempts to briefly move the cursor to an
opening parenthesis when a closing parenthesis is inserted.
c\bco\bol\blo\bor\bre\bed\bd-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-p\bpr\bre\bef\bfi\bix\bx (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, when listing completions, readline displays the
+ If set to O\bOn\bn, when listing completions, readline displays the
common prefix of the set of possible completions using a differ-
- ent color. The color definitions are taken from the value of
+ ent color. The color definitions are taken from the value of
the L\bLS\bS_\b_C\bCO\bOL\bLO\bOR\bRS\bS environment variable. If there is a color defini-
- tion in $\b$L\bLS\bS_\b_C\bCO\bOL\bLO\bOR\bRS\bS for the custom suffix "readline-colored-com-
- pletion-prefix", readline uses this color for the common prefix
+ tion in $\b$L\bLS\bS_\b_C\bCO\bOL\bLO\bOR\bRS\bS for the custom suffix "readline-colored-com-
+ pletion-prefix", readline uses this color for the common prefix
instead of its default.
c\bco\bol\blo\bor\bre\bed\bd-\b-s\bst\bta\bat\bts\bs (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, readline displays possible completions using dif-
- ferent colors to indicate their file type. The color defini-
- tions are taken from the value of the L\bLS\bS_\b_C\bCO\bOL\bLO\bOR\bRS\bS environment
+ If set to O\bOn\bn, readline displays possible completions using dif-
+ ferent colors to indicate their file type. The color defini-
+ tions are taken from the value of the L\bLS\bS_\b_C\bCO\bOL\bLO\bOR\bRS\bS environment
variable.
c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn (\b("#\b#")\b)
- The string that the readline i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt command inserts.
- This command is bound to M\bM-\b-#\b# in emacs mode and to #\b# in vi com-
+ The string that the readline i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt command inserts.
+ This command is bound to M\bM-\b-#\b# in emacs mode and to #\b# in vi com-
mand mode.
c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-w\bwi\bid\bdt\bth\bh (\b(-\b-1\b1)\b)
- The number of screen columns used to display possible matches
- when performing completion. The value is ignored if it is less
- than 0 or greater than the terminal screen width. A value of 0
- will cause matches to be displayed one per line. The default
+ The number of screen columns used to display possible matches
+ when performing completion. The value is ignored if it is less
+ than 0 or greater than the terminal screen width. A value of 0
+ will cause matches to be displayed one per line. The default
value is -1.
c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-i\big\bgn\bno\bor\bre\be-\b-c\bca\bas\bse\be (\b(O\bOf\bff\bf)\b)
If set to O\bOn\bn, readline performs filename matching and completion
in a case-insensitive fashion.
c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-m\bma\bap\bp-\b-c\bca\bas\bse\be (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, and c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-i\big\bgn\bno\bor\bre\be-\b-c\bca\bas\bse\be is enabled, readline
- treats hyphens (_\b-) and underscores (_\b_) as equivalent when per-
+ If set to O\bOn\bn, and c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-i\big\bgn\bno\bor\bre\be-\b-c\bca\bas\bse\be is enabled, readline
+ treats hyphens (_\b-) and underscores (_\b_) as equivalent when per-
forming case-insensitive filename matching and completion.
c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-p\bpr\bre\bef\bfi\bix\bx-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-l\ble\ben\bng\bgt\bth\bh (\b(0\b0)\b)
- The maximum length in characters of the common prefix of a list
- of possible completions that is displayed without modification.
- When set to a value greater than zero, readline replaces common
+ The maximum length in characters of the common prefix of a list
+ of possible completions that is displayed without modification.
+ When set to a value greater than zero, readline replaces common
prefixes longer than this value with an ellipsis when displaying
possible completions.
c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-q\bqu\bue\ber\bry\by-\b-i\bit\bte\bem\bms\bs (\b(1\b10\b00\b0)\b)
- This determines when the user is queried about viewing the num-
- ber of possible completions generated by the p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\be-\b-
- t\bti\bio\bon\bns\bs command. It may be set to any integer value greater than
- or equal to zero. If the number of possible completions is
- greater than or equal to the value of this variable, readline
- will ask whether or not the user wishes to view them; otherwise
- readline simply lists them on the terminal. A zero value means
+ This determines when the user is queried about viewing the num-
+ ber of possible completions generated by the p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\be-\b-
+ t\bti\bio\bon\bns\bs command. It may be set to any integer value greater than
+ or equal to zero. If the number of possible completions is
+ greater than or equal to the value of this variable, readline
+ will ask whether or not the user wishes to view them; otherwise
+ readline simply lists them on the terminal. A zero value means
readline should never ask; negative values are treated as zero.
c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba (\b(O\bOn\bn)\b)
- If set to O\bOn\bn, readline will convert characters it reads that
+ If set to O\bOn\bn, readline will convert characters it reads that
have the eighth bit set to an ASCII key sequence by clearing the
eighth bit and prefixing it with an escape character (converting
- the character to have the _\bm_\be_\bt_\ba _\bp_\br_\be_\bf_\bi_\bx). The default is _\bO_\bn, but
- readline will set it to _\bO_\bf_\bf if the locale contains characters
+ the character to have the _\bm_\be_\bt_\ba _\bp_\br_\be_\bf_\bi_\bx). The default is _\bO_\bn, but
+ readline will set it to _\bO_\bf_\bf if the locale contains characters
whose encodings may include bytes with the eighth bit set. This
- variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE locale category, and may
- change if the locale changes. This variable also affects key
+ variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE locale category, and may
+ change if the locale changes. This variable also affects key
bindings; see the description of f\bfo\bor\brc\bce\be-\b-m\bme\bet\bta\ba-\b-p\bpr\bre\bef\bfi\bix\bx below.
d\bdi\bis\bsa\bab\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn (\b(O\bOf\bff\bf)\b)
If set to O\bOn\bn, readline will inhibit word completion. Completion
- characters will be inserted into the line as if they had been
+ characters will be inserted into the line as if they had been
mapped to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt.
e\bec\bch\bho\bo-\b-c\bco\bon\bnt\btr\bro\bol\bl-\b-c\bch\bha\bar\bra\bac\bct\bte\ber\brs\bs (\b(O\bOn\bn)\b)
- When set to O\bOn\bn, on operating systems that indicate they support
+ When set to O\bOn\bn, on operating systems that indicate they support
it, readline echoes a character corresponding to a signal gener-
ated from the keyboard.
e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be (\b(e\bem\bma\bac\bcs\bs)\b)
- Controls whether readline uses a set of key bindings similar to
+ Controls whether readline uses a set of key bindings similar to
_\bE_\bm_\ba_\bc_\bs or _\bv_\bi. e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be can be set to either e\bem\bma\bac\bcs\bs or v\bvi\bi.
e\bem\bma\bac\bcs\bs-\b-m\bmo\bod\bde\be-\b-s\bst\btr\bri\bin\bng\bg (\b(@\b@)\b)
- If the _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this string is
+ If the _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this string is
displayed immediately before the last line of the primary prompt
when emacs editing mode is active. The value is expanded like a
- key binding, so the standard set of meta- and control- prefixes
- and backslash escape sequences is available. The \1 and \2 es-
- capes begin and end sequences of non-printing characters, which
- can be used to embed a terminal control sequence into the mode
+ key binding, so the standard set of meta- and control- prefixes
+ and backslash escape sequences is available. The \1 and \2 es-
+ capes begin and end sequences of non-printing characters, which
+ can be used to embed a terminal control sequence into the mode
string.
e\ben\bna\bab\bbl\ble\be-\b-a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn (\b(O\bOn\bn)\b)
- The _\bp_\bo_\bi_\bn_\bt is the current cursor position, and _\bm_\ba_\br_\bk refers to a
- saved cursor position. The text between the point and mark is
- referred to as the _\br_\be_\bg_\bi_\bo_\bn. When this variable is set to _\bO_\bn,
- readline allows certain commands to designate the region as _\ba_\bc_\b-
- _\bt_\bi_\bv_\be. When the region is active, readline highlights the text
- in the region using the value of the a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\br,
- which defaults to the string that enables the terminal's stand-
- out mode. The active region shows the text inserted by brack-
- eted-paste and any matching text found by incremental and non-
+ The _\bp_\bo_\bi_\bn_\bt is the current cursor position, and _\bm_\ba_\br_\bk refers to a
+ saved cursor position. The text between the point and mark is
+ referred to as the _\br_\be_\bg_\bi_\bo_\bn. When this variable is set to _\bO_\bn,
+ readline allows certain commands to designate the region as _\ba_\bc_\b-
+ _\bt_\bi_\bv_\be. When the region is active, readline highlights the text
+ in the region using the value of the a\bac\bct\bti\biv\bve\be-\b-r\bre\beg\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\br,
+ which defaults to the string that enables the terminal's stand-
+ out mode. The active region shows the text inserted by brack-
+ eted-paste and any matching text found by incremental and non-
incremental history searches.
e\ben\bna\bab\bbl\ble\be-\b-b\bbr\bra\bac\bck\bke\bet\bte\bed\bd-\b-p\bpa\bas\bst\bte\be (\b(O\bOn\bn)\b)
- When set to O\bOn\bn, readline configures the terminal to insert each
- paste into the editing buffer as a single string of characters,
- instead of treating each character as if it had been read from
- the keyboard. This is called _\bb_\br_\ba_\bc_\bk_\be_\bt_\be_\bd_\b-_\bp_\ba_\bs_\bt_\be _\bm_\bo_\bd_\be; it prevents
- readline from executing any editing commands bound to key se-
+ When set to O\bOn\bn, readline configures the terminal to insert each
+ paste into the editing buffer as a single string of characters,
+ instead of treating each character as if it had been read from
+ the keyboard. This is called _\bb_\br_\ba_\bc_\bk_\be_\bt_\be_\bd_\b-_\bp_\ba_\bs_\bt_\be _\bm_\bo_\bd_\be; it prevents
+ readline from executing any editing commands bound to key se-
quences appearing in the pasted text.
e\ben\bna\bab\bbl\ble\be-\b-k\bke\bey\byp\bpa\bad\bd (\b(O\bOf\bff\bf)\b)
When set to O\bOn\bn, readline will try to enable the application key-
pad when it is called. Some systems need this to enable the ar-
row keys.
e\ben\bna\bab\bbl\ble\be-\b-m\bme\bet\bta\ba-\b-k\bke\bey\by (\b(O\bOn\bn)\b)
- When set to O\bOn\bn, readline will try to enable any meta modifier
+ When set to O\bOn\bn, readline will try to enable any meta modifier
key the terminal claims to support. On many terminals, the Meta
- key is used to send eight-bit characters; this variable checks
- for the terminal capability that indicates the terminal can en-
- able and disable a mode that sets the eighth bit of a character
- (0200) if the Meta key is held down when the character is typed
+ key is used to send eight-bit characters; this variable checks
+ for the terminal capability that indicates the terminal can en-
+ able and disable a mode that sets the eighth bit of a character
+ (0200) if the Meta key is held down when the character is typed
(a meta character).
e\bex\bxp\bpa\ban\bnd\bd-\b-t\bti\bil\bld\bde\be (\b(O\bOf\bff\bf)\b)
If set to O\bOn\bn, readline performs tilde expansion when it attempts
word completion.
f\bfo\bor\brc\bce\be-\b-m\bme\bet\bta\ba-\b-p\bpr\bre\bef\bfi\bix\bx (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, readline modifies its behavior when binding key
- sequences containing \M- or Meta- (see K\bKe\bey\by B\bBi\bin\bnd\bdi\bin\bng\bgs\bs above) by
+ If set to O\bOn\bn, readline modifies its behavior when binding key
+ sequences containing \M- or Meta- (see K\bKe\bey\by B\bBi\bin\bnd\bdi\bin\bng\bgs\bs above) by
converting a key sequence of the form \M-_\bC or Meta-_\bC to the two-
- character sequence E\bES\bSC\bC_\bC (adding the _\bm_\be_\bt_\ba _\bp_\br_\be_\bf_\bi_\bx). If
+ character sequence E\bES\bSC\bC_\bC (adding the _\bm_\be_\bt_\ba _\bp_\br_\be_\bf_\bi_\bx). If
f\bfo\bor\brc\bce\be-\b-m\bme\bet\bta\ba-\b-p\bpr\bre\bef\bfi\bix\bx is set to O\bOf\bff\bf (the default), readline uses the
- value of the c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba variable to determine whether to per-
- form this conversion: if c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba is O\bOn\bn, readline performs
- the conversion described above; if it is O\bOf\bff\bf, readline converts
+ value of the c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba variable to determine whether to per-
+ form this conversion: if c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba is O\bOn\bn, readline performs
+ the conversion described above; if it is O\bOf\bff\bf, readline converts
_\bC to a meta character by setting the eighth bit (0200).
h\bhi\bis\bst\bto\bor\bry\by-\b-p\bpr\bre\bes\bse\ber\brv\bve\be-\b-p\bpo\boi\bin\bnt\bt (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, the history code attempts to place point at the
- same location on each history line retrieved with p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bs-\b-
+ If set to O\bOn\bn, the history code attempts to place point at the
+ same location on each history line retrieved with p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bs-\b-
t\bto\bor\bry\by or n\bne\bex\bxt\bt-\b-h\bhi\bis\bst\bto\bor\bry\by.
h\bhi\bis\bst\bto\bor\bry\by-\b-s\bsi\biz\bze\be (\b(u\bun\bns\bse\bet\bt)\b)
- Set the maximum number of history entries saved in the history
- list. If set to zero, any existing history entries are deleted
+ Set the maximum number of history entries saved in the history
+ list. If set to zero, any existing history entries are deleted
and no new entries are saved. If set to a value less than zero,
- the number of history entries is not limited. By default, b\bba\bas\bsh\bh
- sets the the maximum number of history entries to the value of
- the H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE shell variable. Setting _\bh_\bi_\bs_\bt_\bo_\br_\by_\b-_\bs_\bi_\bz_\be to a non-nu-
- meric value will set the maximum number of history entries to
+ the number of history entries is not limited. By default, b\bba\bas\bsh\bh
+ sets the the maximum number of history entries to the value of
+ the H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE shell variable. Setting _\bh_\bi_\bs_\bt_\bo_\br_\by_\b-_\bs_\bi_\bz_\be to a non-nu-
+ meric value will set the maximum number of history entries to
500.
h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bl-\b-s\bsc\bcr\bro\bol\bll\bl-\b-m\bmo\bod\bde\be (\b(O\bOf\bff\bf)\b)
Setting this variable to O\bOn\bn makes readline use a single line for
- display, scrolling the input horizontally on a single screen
- line when it becomes longer than the screen width rather than
- wrapping to a new line. This setting is automatically enabled
+ display, scrolling the input horizontally on a single screen
+ line when it becomes longer than the screen width rather than
+ wrapping to a new line. This setting is automatically enabled
for terminals of height 1.
i\bin\bnp\bpu\but\bt-\b-m\bme\bet\bta\ba (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, readline will enable eight-bit input (that is, it
- will not clear the eighth bit in the characters it reads), re-
- gardless of what the terminal claims it can support. The de-
- fault is _\bO_\bf_\bf, but readline will set it to _\bO_\bn if the locale con-
- tains characters whose encodings may include bytes with the
- eighth bit set. This variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE lo-
- cale category, and its value may change if the locale changes.
+ If set to O\bOn\bn, readline will enable eight-bit input (that is, it
+ will not clear the eighth bit in the characters it reads), re-
+ gardless of what the terminal claims it can support. The de-
+ fault is _\bO_\bf_\bf, but readline will set it to _\bO_\bn if the locale con-
+ tains characters whose encodings may include bytes with the
+ eighth bit set. This variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE lo-
+ cale category, and its value may change if the locale changes.
The name m\bme\bet\bta\ba-\b-f\bfl\bla\bag\bg is a synonym for i\bin\bnp\bpu\but\bt-\b-m\bme\bet\bta\ba.
i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs (\b("C\bC-\b-[\b[C\bC-\b-J\bJ")\b)
- The string of characters that should terminate an incremental
- search without subsequently executing the character as a com-
- mand. If this variable has not been given a value, the charac-
+ The string of characters that should terminate an incremental
+ search without subsequently executing the character as a com-
+ mand. If this variable has not been given a value, the charac-
ters _\bE_\bS_\bC and _\bC_\b-_\bJ will terminate an incremental search.
k\bke\bey\bym\bma\bap\bp (\b(e\bem\bma\bac\bcs\bs)\b)
- Set the current readline keymap. The set of valid keymap names
- is _\be_\bm_\ba_\bc_\bs_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b, _\bv_\bi_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\b-
- _\bm_\ba_\bn_\bd, and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt. _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd; _\be_\bm_\ba_\bc_\bs is
- equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd. The default value is _\be_\bm_\ba_\bc_\bs; the
+ Set the current readline keymap. The set of valid keymap names
+ is _\be_\bm_\ba_\bc_\bs_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b, _\bv_\bi_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\b-
+ _\bm_\ba_\bn_\bd, and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt. _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd; _\be_\bm_\ba_\bc_\bs is
+ equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd. The default value is _\be_\bm_\ba_\bc_\bs; the
value of e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be also affects the default keymap.
k\bke\bey\bys\bse\beq\bq-\b-t\bti\bim\bme\beo\bou\but\bt (\b(5\b50\b00\b0)\b)
- Specifies the duration _\br_\be_\ba_\bd_\bl_\bi_\bn_\be will wait for a character when
- reading an ambiguous key sequence (one that can form a complete
+ Specifies the duration _\br_\be_\ba_\bd_\bl_\bi_\bn_\be will wait for a character when
+ reading an ambiguous key sequence (one that can form a complete
key sequence using the input read so far, or can take additional
- input to complete a longer key sequence). If readline does not
- receive any input within the timeout, it will use the shorter
- but complete key sequence. The value is specified in millisec-
- onds, so a value of 1000 means that readline will wait one sec-
- ond for additional input. If this variable is set to a value
- less than or equal to zero, or to a non-numeric value, readline
- will wait until another key is pressed to decide which key se-
+ input to complete a longer key sequence). If readline does not
+ receive any input within the timeout, it will use the shorter
+ but complete key sequence. The value is specified in millisec-
+ onds, so a value of 1000 means that readline will wait one sec-
+ ond for additional input. If this variable is set to a value
+ less than or equal to zero, or to a non-numeric value, readline
+ will wait until another key is pressed to decide which key se-
quence to complete.
m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs (\b(O\bOn\bn)\b)
If set to O\bOn\bn, completed directory names have a slash appended.
m\bma\bar\brk\bk-\b-m\bmo\bod\bdi\bif\bfi\bie\bed\bd-\b-l\bli\bin\bne\bes\bs (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, readline displays history lines that have been
+ If set to O\bOn\bn, readline displays history lines that have been
modified with a preceding asterisk (*\b*).
m\bma\bar\brk\bk-\b-s\bsy\bym\bml\bli\bin\bnk\bke\bed\bd-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs (\b(O\bOf\bff\bf)\b)
If set to O\bOn\bn, completed names which are symbolic links to direc-
- tories have a slash appended, subject to the value of m\bma\bar\brk\bk-\b-d\bdi\bi-\b-
+ tories have a slash appended, subject to the value of m\bma\bar\brk\bk-\b-d\bdi\bi-\b-
r\bre\bec\bct\bto\bor\bri\bie\bes\bs.
m\bma\bat\btc\bch\bh-\b-h\bhi\bid\bdd\bde\ben\bn-\b-f\bfi\bil\ble\bes\bs (\b(O\bOn\bn)\b)
- This variable, when set to O\bOn\bn, forces readline to match files
- whose names begin with a "." (hidden files) when performing
- filename completion. If set to O\bOf\bff\bf, the user must include the
+ This variable, when set to O\bOn\bn, forces readline to match files
+ whose names begin with a "." (hidden files) when performing
+ filename completion. If set to O\bOf\bff\bf, the user must include the
leading "." in the filename to be completed.
m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-p\bpr\bre\bef\bfi\bix\bx (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, menu completion displays the common prefix of the
+ If set to O\bOn\bn, menu completion displays the common prefix of the
list of possible completions (which may be empty) before cycling
through the list.
o\bou\but\btp\bpu\but\bt-\b-m\bme\bet\bta\ba (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, readline will display characters with the eighth
+ If set to O\bOn\bn, readline will display characters with the eighth
bit set directly rather than as a meta-prefixed escape sequence.
The default is _\bO_\bf_\bf, but readline will set it to _\bO_\bn if the locale
- contains characters whose encodings may include bytes with the
- eighth bit set. This variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE lo-
+ contains characters whose encodings may include bytes with the
+ eighth bit set. This variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE lo-
cale category, and its value may change if the locale changes.
p\bpa\bag\bge\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(O\bOn\bn)\b)
- If set to O\bOn\bn, readline uses an internal _\bm_\bo_\br_\be-like pager to dis-
+ If set to O\bOn\bn, readline uses an internal _\bm_\bo_\br_\be-like pager to dis-
play a screenful of possible completions at a time.
p\bpr\bre\bef\bfe\ber\br-\b-v\bvi\bis\bsi\bib\bbl\ble\be-\b-b\bbe\bel\bll\bl
See b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be.
p\bpr\bri\bin\bnt\bt-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs-\b-h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bll\bly\by (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, readline will display completions with matches
- sorted horizontally in alphabetical order, rather than down the
+ If set to O\bOn\bn, readline will display completions with matches
+ sorted horizontally in alphabetical order, rather than down the
screen.
r\bre\bev\bve\ber\brt\bt-\b-a\bal\bll\bl-\b-a\bat\bt-\b-n\bne\bew\bwl\bli\bin\bne\be (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, readline will undo all changes to history lines
- before returning when executing a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be. By default, his-
- tory lines may be modified and retain individual undo lists
+ If set to O\bOn\bn, readline will undo all changes to history lines
+ before returning when executing a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be. By default, his-
+ tory lines may be modified and retain individual undo lists
across calls to r\bre\bea\bad\bdl\bli\bin\bne\be.
s\bse\bea\bar\brc\bch\bh-\b-i\big\bgn\bno\bor\bre\be-\b-c\bca\bas\bse\be (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, readline performs incremental and non-incremental
+ If set to O\bOn\bn, readline performs incremental and non-incremental
history list searches in a case-insensitive fashion.
s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-a\bam\bmb\bbi\big\bgu\buo\bou\bus\bs (\b(O\bOf\bff\bf)\b)
- This alters the default behavior of the completion functions.
+ This alters the default behavior of the completion functions.
If set to O\bOn\bn, words which have more than one possible completion
- cause the matches to be listed immediately instead of ringing
+ cause the matches to be listed immediately instead of ringing
the bell.
s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-u\bun\bnm\bmo\bod\bdi\bif\bfi\bie\bed\bd (\b(O\bOf\bff\bf)\b)
- This alters the default behavior of the completion functions in
+ This alters the default behavior of the completion functions in
a fashion similar to s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-a\bam\bmb\bbi\big\bgu\buo\bou\bus\bs. If set to O\bOn\bn, words
- which have more than one possible completion without any possi-
- ble partial completion (the possible completions don't share a
- common prefix) cause the matches to be listed immediately in-
+ which have more than one possible completion without any possi-
+ ble partial completion (the possible completions don't share a
+ common prefix) cause the matches to be listed immediately in-
stead of ringing the bell.
s\bsh\bho\bow\bw-\b-m\bmo\bod\bde\be-\b-i\bin\bn-\b-p\bpr\bro\bom\bmp\bpt\bt (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, add a string to the beginning of the prompt indi-
- cating the editing mode: emacs, vi command, or vi insertion.
+ If set to O\bOn\bn, add a string to the beginning of the prompt indi-
+ cating the editing mode: emacs, vi command, or vi insertion.
The mode strings are user-settable (e.g., _\be_\bm_\ba_\bc_\bs_\b-_\bm_\bo_\bd_\be_\b-_\bs_\bt_\br_\bi_\bn_\bg).
s\bsk\bki\bip\bp-\b-c\bco\bom\bmp\bpl\ble\bet\bte\bed\bd-\b-t\bte\bex\bxt\bt (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, this alters the default completion behavior when
- inserting a single match into the line. It's only active when
- performing completion in the middle of a word. If enabled,
- readline does not insert characters from the completion that
- match characters after point in the word being completed, so
+ If set to O\bOn\bn, this alters the default completion behavior when
+ inserting a single match into the line. It's only active when
+ performing completion in the middle of a word. If enabled,
+ readline does not insert characters from the completion that
+ match characters after point in the word being completed, so
portions of the word following the cursor are not duplicated.
v\bvi\bi-\b-c\bcm\bmd\bd-\b-m\bmo\bod\bde\be-\b-s\bst\btr\bri\bin\bng\bg (\b((\b(c\bcm\bmd\bd)\b))\b)
- If the _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this string is
+ If the _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this string is
displayed immediately before the last line of the primary prompt
- when vi editing mode is active and in command mode. The value
+ when vi editing mode is active and in command mode. The value
is expanded like a key binding, so the standard set of meta- and
- control- prefixes and backslash escape sequences is available.
- The \1 and \2 escapes begin and end sequences of non-printing
- characters, which can be used to embed a terminal control se-
+ control- prefixes and backslash escape sequences is available.
+ The \1 and \2 escapes begin and end sequences of non-printing
+ characters, which can be used to embed a terminal control se-
quence into the mode string.
v\bvi\bi-\b-i\bin\bns\bs-\b-m\bmo\bod\bde\be-\b-s\bst\btr\bri\bin\bng\bg (\b((\b(i\bin\bns\bs)\b))\b)
- If the _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this string is
+ If the _\bs_\bh_\bo_\bw_\b-_\bm_\bo_\bd_\be_\b-_\bi_\bn_\b-_\bp_\br_\bo_\bm_\bp_\bt variable is enabled, this string is
displayed immediately before the last line of the primary prompt
when vi editing mode is active and in insertion mode. The value
is expanded like a key binding, so the standard set of meta- and
- control- prefixes and backslash escape sequences is available.
- The \1 and \2 escapes begin and end sequences of non-printing
- characters, which can be used to embed a terminal control se-
+ control- prefixes and backslash escape sequences is available.
+ The \1 and \2 escapes begin and end sequences of non-printing
+ characters, which can be used to embed a terminal control se-
quence into the mode string.
v\bvi\bis\bsi\bib\bbl\ble\be-\b-s\bst\bta\bat\bts\bs (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, a character denoting a file's type as reported by
- _\bs_\bt_\ba_\bt(2) is appended to the filename when listing possible com-
+ If set to O\bOn\bn, a character denoting a file's type as reported by
+ _\bs_\bt_\ba_\bt(2) is appended to the filename when listing possible com-
pletions.
R\bRe\bea\bad\bdl\bli\bin\bne\be C\bCo\bon\bnd\bdi\bit\bti\bio\bon\bna\bal\bl C\bCo\bon\bns\bst\btr\bru\buc\bct\bts\bs
- Readline implements a facility similar in spirit to the conditional
- compilation features of the C preprocessor which allows key bindings
- and variable settings to be performed as the result of tests. There
+ Readline implements a facility similar in spirit to the conditional
+ compilation features of the C preprocessor which allows key bindings
+ and variable settings to be performed as the result of tests. There
are four parser directives available.
- $\b$i\bif\bf The $\b$i\bif\bf construct allows bindings to be made based on the edit-
- ing mode, the terminal being used, or the application using
- readline. The text of the test, after any comparison operator,
+ $\b$i\bif\bf The $\b$i\bif\bf construct allows bindings to be made based on the edit-
+ ing mode, the terminal being used, or the application using
+ readline. The text of the test, after any comparison operator,
extends to the end of the line; unless otherwise noted, no char-
acters are required to isolate it.
- m\bmo\bod\bde\be The m\bmo\bod\bde\be=\b= form of the $\b$i\bif\bf directive is used to test
- whether readline is in emacs or vi mode. This may be
- used in conjunction with the s\bse\bet\bt k\bke\bey\bym\bma\bap\bp command, for in-
- stance, to set bindings in the _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd and
- _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx keymaps only if readline is starting out in
+ m\bmo\bod\bde\be The m\bmo\bod\bde\be=\b= form of the $\b$i\bif\bf directive is used to test
+ whether readline is in emacs or vi mode. This may be
+ used in conjunction with the s\bse\bet\bt k\bke\bey\bym\bma\bap\bp command, for in-
+ stance, to set bindings in the _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd and
+ _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx keymaps only if readline is starting out in
emacs mode.
- t\bte\ber\brm\bm The t\bte\ber\brm\bm=\b= form may be used to include terminal-specific
+ t\bte\ber\brm\bm The t\bte\ber\brm\bm=\b= form may be used to include terminal-specific
key bindings, perhaps to bind the key sequences output by
the terminal's function keys. The word on the right side
of the =\b= is tested against both the full name of the ter-
- minal and the portion of the terminal name before the
- first -\b-. This allows _\bx_\bt_\be_\br_\bm to match both _\bx_\bt_\be_\br_\bm and
+ minal and the portion of the terminal name before the
+ first -\b-. This allows _\bx_\bt_\be_\br_\bm to match both _\bx_\bt_\be_\br_\bm and
_\bx_\bt_\be_\br_\bm_\b-_\b2_\b5_\b6_\bc_\bo_\bl_\bo_\br, for instance.
v\bve\ber\brs\bsi\bio\bon\bn
- The v\bve\ber\brs\bsi\bio\bon\bn test may be used to perform comparisons
- against specific readline versions. The v\bve\ber\brs\bsi\bio\bon\bn expands
- to the current readline version. The set of comparison
- operators includes =\b=, (and =\b==\b=), !\b!=\b=, <\b<=\b=, >\b>=\b=, <\b<, and >\b>.
- The version number supplied on the right side of the op-
- erator consists of a major version number, an optional
+ The v\bve\ber\brs\bsi\bio\bon\bn test may be used to perform comparisons
+ against specific readline versions. The v\bve\ber\brs\bsi\bio\bon\bn expands
+ to the current readline version. The set of comparison
+ operators includes =\b=, (and =\b==\b=), !\b!=\b=, <\b<=\b=, >\b>=\b=, <\b<, and >\b>.
+ The version number supplied on the right side of the op-
+ erator consists of a major version number, an optional
decimal point, and an optional minor version (e.g., 7\b7.\b.1\b1).
- If the minor version is omitted, it defaults to 0\b0. The
- operator may be separated from the string v\bve\ber\brs\bsi\bio\bon\bn and
+ If the minor version is omitted, it defaults to 0\b0. The
+ operator may be separated from the string v\bve\ber\brs\bsi\bio\bon\bn and
from the version number argument by whitespace.
_\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn
The _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn construct is used to include application-
- specific settings. Each program using the readline li-
- brary sets the _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn _\bn_\ba_\bm_\be, and an initialization
+ specific settings. Each program using the readline li-
+ brary sets the _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn _\bn_\ba_\bm_\be, and an initialization
file can test for a particular value. This could be used
- to bind key sequences to functions useful for a specific
- program. For instance, the following command adds a key
- sequence that quotes the current or previous word in
+ to bind key sequences to functions useful for a specific
+ program. For instance, the following command adds a key
+ sequence that quotes the current or previous word in
b\bba\bas\bsh\bh:
$\b$i\bif\bf Bash
_\bv_\ba_\br_\bi_\ba_\bb_\bl_\be
The _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be construct provides simple equality tests for
- readline variables and values. The permitted comparison
- operators are _\b=, _\b=_\b=, and _\b!_\b=. The variable name must be
+ readline variables and values. The permitted comparison
+ operators are _\b=, _\b=_\b=, and _\b!_\b=. The variable name must be
separated from the comparison operator by whitespace; the
- operator may be separated from the value on the right
- hand side by whitespace. String and boolean variables
- may be tested. Boolean variables must be tested against
+ operator may be separated from the value on the right
+ hand side by whitespace. String and boolean variables
+ may be tested. Boolean variables must be tested against
the values _\bo_\bn and _\bo_\bf_\bf.
$\b$e\bel\bls\bse\be Commands in this branch of the $\b$i\bif\bf directive are executed if the
command.
$\b$i\bin\bnc\bcl\blu\bud\bde\be
- This directive takes a single filename as an argument and reads
+ This directive takes a single filename as an argument and reads
commands and key bindings from that file. For example, the fol-
lowing directive would read _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc:
$\b$i\bin\bnc\bcl\blu\bud\bde\be _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc
S\bSe\bea\bar\brc\bch\bhi\bin\bng\bg
- Readline provides commands for searching through the command history
+ Readline provides commands for searching through the command history
(see H\bHI\bIS\bST\bTO\bOR\bRY\bY below) for lines containing a specified string. There are
two search modes: _\bi_\bn_\bc_\br_\be_\bm_\be_\bn_\bt_\ba_\bl and _\bn_\bo_\bn_\b-_\bi_\bn_\bc_\br_\be_\bm_\be_\bn_\bt_\ba_\bl.
- Incremental searches begin before the user has finished typing the
- search string. As each character of the search string is typed, read-
+ Incremental searches begin before the user has finished typing the
+ search string. As each character of the search string is typed, read-
line displays the next entry from the history matching the string typed
- so far. An incremental search requires only as many characters as
- needed to find the desired history entry. When using emacs editing
- mode, type C\bC-\b-r\br to search backward in the history for a particular
- string. Typing C\bC-\b-s\bs searches forward through the history. The charac-
- ters present in the value of the i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs variable are used
- to terminate an incremental search. If that variable has not been as-
- signed a value, _\bE_\bS_\bC and _\bC_\b-_\bJ will terminate an incremental search. _\bC_\b-_\bg
- will abort an incremental search and restore the original line. When
- the search is terminated, the history entry containing the search
+ so far. An incremental search requires only as many characters as
+ needed to find the desired history entry. When using emacs editing
+ mode, type C\bC-\b-r\br to search backward in the history for a particular
+ string. Typing C\bC-\b-s\bs searches forward through the history. The charac-
+ ters present in the value of the i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs variable are used
+ to terminate an incremental search. If that variable has not been as-
+ signed a value, _\bE_\bS_\bC and _\bC_\b-_\bJ will terminate an incremental search. _\bC_\b-_\bg
+ will abort an incremental search and restore the original line. When
+ the search is terminated, the history entry containing the search
string becomes the current line.
- To find other matching entries in the history list, type C\bC-\b-r\br or C\bC-\b-s\bs as
- appropriate. This will search backward or forward in the history for
- the next entry matching the search string typed so far. Any other key
+ To find other matching entries in the history list, type C\bC-\b-r\br or C\bC-\b-s\bs as
+ appropriate. This will search backward or forward in the history for
+ the next entry matching the search string typed so far. Any other key
sequence bound to a readline command will terminate the search and exe-
- cute that command. For instance, a newline will terminate the search
- and accept the line, thereby executing the command from the history
+ cute that command. For instance, a newline will terminate the search
+ and accept the line, thereby executing the command from the history
list. A movement command will terminate the search, make the last line
found the current line, and begin editing.
Readline remembers the last incremental search string. If two C\bC-\b-r\brs are
- typed without any intervening characters defining a new search string,
+ typed without any intervening characters defining a new search string,
readline uses any remembered search string.
- Non-incremental searches read the entire search string before starting
+ Non-incremental searches read the entire search string before starting
to search for matching history entries. The search string may be typed
by the user or be part of the contents of the current line.
R\bRe\bea\bad\bdl\bli\bin\bne\be C\bCo\bom\bmm\bma\ban\bnd\bd N\bNa\bam\bme\bes\bs
- The following is a list of the names of the commands and the default
+ The following is a list of the names of the commands and the default
key sequences to which they are bound. Command names without an accom-
panying key sequence are unbound by default.
In the following descriptions, _\bp_\bo_\bi_\bn_\bt refers to the current cursor posi-
- tion, and _\bm_\ba_\br_\bk refers to a cursor position saved by the s\bse\bet\bt-\b-m\bma\bar\brk\bk com-
- mand. The text between the point and mark is referred to as the _\br_\be_\b-
+ tion, and _\bm_\ba_\br_\bk refers to a cursor position saved by the s\bse\bet\bt-\b-m\bma\bar\brk\bk com-
+ mand. The text between the point and mark is referred to as the _\br_\be_\b-
_\bg_\bi_\bo_\bn. Readline has the concept of an _\ba_\bc_\bt_\bi_\bv_\be _\br_\be_\bg_\bi_\bo_\bn: when the region is
- active, readline redisplay uses the value of the a\bac\bct\bti\biv\bve\be-\b-r\bre\be-\b-
- g\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\br v\bva\bar\bri\bia\bab\bbl\ble\be t\bto\bo d\bde\ben\bno\bot\bte\be t\bth\bhe\be r\bre\beg\bgi\bio\bon\bn.\b. S\bSe\bev\bve\ber\bra\bal\bl c\bco\bom\bmm\bma\ban\bnd\bds\bs s\bse\bet\bt
+ active, readline redisplay uses the value of the a\bac\bct\bti\biv\bve\be-\b-r\bre\be-\b-
+ g\bgi\bio\bon\bn-\b-s\bst\bta\bar\brt\bt-\b-c\bco\bol\blo\bor\br v\bva\bar\bri\bia\bab\bbl\ble\be t\bto\bo d\bde\ben\bno\bot\bte\be t\bth\bhe\be r\bre\beg\bgi\bio\bon\bn.\b. S\bSe\bev\bve\ber\bra\bal\bl c\bco\bom\bmm\bma\ban\bnd\bds\bs s\bse\bet\bt
t\bth\bhe\be r\bre\beg\bgi\bio\bon\bn t\bto\bo a\bac\bct\bti\biv\bve\be;\b; t\bth\bho\bos\bse\be a\bar\bre\be n\bno\bot\bte\bed\bd b\bbe\bel\blo\bow\bw.\b.
C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br M\bMo\bov\bvi\bin\bng\bg
b\bbe\beg\bgi\bin\bnn\bni\bin\bng\bg-\b-o\bof\bf-\b-l\bli\bin\bne\be (\b(C\bC-\b-a\ba)\b)
- Move to the start of the current line. This may also be bound
+ Move to the start of the current line. This may also be bound
to the Home key on some keyboards.
e\ben\bnd\bd-\b-o\bof\bf-\b-l\bli\bin\bne\be (\b(C\bC-\b-e\be)\b)
- Move to the end of the line. This may also be bound to the End
+ Move to the end of the line. This may also be bound to the End
key on some keyboards.
f\bfo\bor\brw\bwa\bar\brd\bd-\b-c\bch\bha\bar\br (\b(C\bC-\b-f\bf)\b)
Move forward a character.
Move forward to the end of the next word. Words are composed of
alphanumeric characters (letters and digits).
b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-b\bb)\b)
- Move back to the start of the current or previous word. Words
+ Move back to the start of the current or previous word. Words
are composed of alphanumeric characters (letters and digits).
s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
- Move forward to the end of the next word. Words are delimited
+ Move forward to the end of the next word. Words are delimited
by non-quoted shell metacharacters.
s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
- Move back to the start of the current or previous word. Words
+ Move back to the start of the current or previous word. Words
are delimited by non-quoted shell metacharacters.
p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-s\bsc\bcr\bre\bee\ben\bn-\b-l\bli\bin\bne\be
- Attempt to move point to the same physical screen column on the
- previous physical screen line. This will not have the desired
- effect if the current readline line does not take up more than
- one physical line or if point is not greater than the length of
+ Attempt to move point to the same physical screen column on the
+ previous physical screen line. This will not have the desired
+ effect if the current readline line does not take up more than
+ one physical line or if point is not greater than the length of
the prompt plus the screen width.
n\bne\bex\bxt\bt-\b-s\bsc\bcr\bre\bee\ben\bn-\b-l\bli\bin\bne\be
- Attempt to move point to the same physical screen column on the
- next physical screen line. This will not have the desired ef-
+ Attempt to move point to the same physical screen column on the
+ next physical screen line. This will not have the desired ef-
fect if the current readline line does not take up more than one
- physical line or if the length of the current readline line is
+ physical line or if the length of the current readline line is
not greater than the length of the prompt plus the screen width.
c\bcl\ble\bea\bar\br-\b-d\bdi\bis\bsp\bpl\bla\bay\by (\b(M\bM-\b-C\bC-\b-l\bl)\b)
- Clear the screen and, if possible, the terminal's scrollback
- buffer, then redraw the current line, leaving the current line
+ Clear the screen and, if possible, the terminal's scrollback
+ buffer, then redraw the current line, leaving the current line
at the top of the screen.
c\bcl\ble\bea\bar\br-\b-s\bsc\bcr\bre\bee\ben\bn (\b(C\bC-\b-l\bl)\b)
Clear the screen, then redraw the current line, leaving the cur-
- rent line at the top of the screen. With an argument, refresh
+ rent line at the top of the screen. With an argument, refresh
the current line without clearing the screen.
r\bre\bed\bdr\bra\baw\bw-\b-c\bcu\bur\brr\bre\ben\bnt\bt-\b-l\bli\bin\bne\be
Refresh the current line.
C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br M\bMa\ban\bni\bip\bpu\bul\bla\bat\bti\bin\bng\bg t\bth\bhe\be H\bHi\bis\bst\bto\bor\bry\by
a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be (\b(N\bNe\bew\bwl\bli\bin\bne\be,\b, R\bRe\bet\btu\bur\brn\bn)\b)
Accept the line regardless of where the cursor is. If this line
- is non-empty, add it to the history list according to the state
- of the H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL and H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE variables. If the line is a
- modified history line, restore the history line to its original
+ is non-empty, add it to the history list according to the state
+ of the H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL and H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE variables. If the line is a
+ modified history line, restore the history line to its original
state.
p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-p\bp)\b)
Fetch the previous command from the history list, moving back in
the list.
n\bne\bex\bxt\bt-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-n\bn)\b)
- Fetch the next command from the history list, moving forward in
+ Fetch the next command from the history list, moving forward in
the list.
b\bbe\beg\bgi\bin\bnn\bni\bin\bng\bg-\b-o\bof\bf-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-<\b<)\b)
Move to the first line in the history.
e\ben\bnd\bd-\b-o\bof\bf-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b->\b>)\b)
- Move to the end of the input history, i.e., the line currently
+ Move to the end of the input history, i.e., the line currently
being entered.
o\bop\bpe\ber\bra\bat\bte\be-\b-a\ban\bnd\bd-\b-g\bge\bet\bt-\b-n\bne\bex\bxt\bt (\b(C\bC-\b-o\bo)\b)
- Accept the current line for execution as if a newline had been
- entered, and fetch the next line relative to the current line
- from the history for editing. A numeric argument, if supplied,
+ Accept the current line for execution as if a newline had been
+ entered, and fetch the next line relative to the current line
+ from the history for editing. A numeric argument, if supplied,
specifies the history entry to use instead of the current line.
f\bfe\bet\btc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by
- With a numeric argument, fetch that entry from the history list
+ With a numeric argument, fetch that entry from the history list
and make it the current line. Without an argument, move back to
the first entry in the history list.
r\bre\bev\bve\ber\brs\bse\be-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-r\br)\b)
- Search backward starting at the current line and moving "up"
- through the history as necessary. This is an incremental
- search. This command sets the region to the matched text and
- activates the region.
- f\bfo\bor\brw\bwa\bar\brd\bd-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-s\bs)\b)
- Search forward starting at the current line and moving "down"
+ Search backward starting at the current line and moving "up"
through the history as necessary. This is an incremental
search. This command sets the region to the matched text and
activates the region.
+ f\bfo\bor\brw\bwa\bar\brd\bd-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-s\bs)\b)
+ Search forward starting at the current line and moving "down"
+ through the history as necessary. This is an incremental
+ search. This command sets the region to the matched text and
+ activates the region.
n\bno\bon\bn-\b-i\bin\bnc\bcr\bre\bem\bme\ben\bnt\bta\bal\bl-\b-r\bre\bev\bve\ber\brs\bse\be-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-p\bp)\b)
Search backward through the history starting at the current line
- using a non-incremental search for a string supplied by the
+ using a non-incremental search for a string supplied by the
user. The search string may match anywhere in a history line.
n\bno\bon\bn-\b-i\bin\bnc\bcr\bre\bem\bme\ben\bnt\bta\bal\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-n\bn)\b)
- Search forward through the history using a non-incremental
+ Search forward through the history using a non-incremental
search for a string supplied by the user. The search string may
match anywhere in a history line.
h\bhi\bis\bst\bto\bor\bry\by-\b-s\bse\bea\bar\brc\bch\bh-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd
non-incremental search. This may be bound to the Page Up key on
some keyboards.
h\bhi\bis\bst\bto\bor\bry\by-\b-s\bse\bea\bar\brc\bch\bh-\b-f\bfo\bor\brw\bwa\bar\brd\bd
- Search forward through the history for the string of characters
+ Search forward through the history for the string of characters
between the start of the current line and the point. The search
string must match at the beginning of a history line. This is a
- non-incremental search. This may be bound to the Page Down key
+ non-incremental search. This may be bound to the Page Down key
on some keyboards.
h\bhi\bis\bst\bto\bor\bry\by-\b-s\bsu\bub\bbs\bst\btr\bri\bin\bng\bg-\b-s\bse\bea\bar\brc\bch\bh-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd
Search backward through the history for the string of characters
between the start of the current line and the point. The search
- string may match anywhere in a history line. This is a non-in-
+ string may match anywhere in a history line. This is a non-in-
cremental search.
h\bhi\bis\bst\bto\bor\bry\by-\b-s\bsu\bub\bbs\bst\btr\bri\bin\bng\bg-\b-s\bse\bea\bar\brc\bch\bh-\b-f\bfo\bor\brw\bwa\bar\brd\bd
- Search forward through the history for the string of characters
+ Search forward through the history for the string of characters
between the start of the current line and the point. The search
- string may match anywhere in a history line. This is a non-in-
+ string may match anywhere in a history line. This is a non-in-
cremental search.
y\bya\ban\bnk\bk-\b-n\bnt\bth\bh-\b-a\bar\brg\bg (\b(M\bM-\b-C\bC-\b-y\by)\b)
- Insert the first argument to the previous command (usually the
+ Insert the first argument to the previous command (usually the
second word on the previous line) at point. With an argument _\bn,
- insert the _\bnth word from the previous command (the words in the
- previous command begin with word 0). A negative argument in-
- serts the _\bnth word from the end of the previous command. Once
- the argument _\bn is computed, this uses the history expansion fa-
- cilities to extract the _\bnth word, as if the "!_\bn" history expan-
+ insert the _\bnth word from the previous command (the words in the
+ previous command begin with word 0). A negative argument in-
+ serts the _\bnth word from the end of the previous command. Once
+ the argument _\bn is computed, this uses the history expansion fa-
+ cilities to extract the _\bnth word, as if the "!_\bn" history expan-
sion had been specified.
y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg (\b(M\bM-\b-.\b.,\b, M\bM-\b-_\b_)\b)
- Insert the last argument to the previous command (the last word
+ Insert the last argument to the previous command (the last word
of the previous history entry). With a numeric argument, behave
- exactly like y\bya\ban\bnk\bk-\b-n\bnt\bth\bh-\b-a\bar\brg\bg. Successive calls to y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg
- move back through the history list, inserting the last word (or
- the word specified by the argument to the first call) of each
+ exactly like y\bya\ban\bnk\bk-\b-n\bnt\bth\bh-\b-a\bar\brg\bg. Successive calls to y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg
+ move back through the history list, inserting the last word (or
+ the word specified by the argument to the first call) of each
line in turn. Any numeric argument supplied to these successive
- calls determines the direction to move through the history. A
- negative argument switches the direction through the history
- (back or forward). This uses the history expansion facilities
- to extract the last word, as if the "!$" history expansion had
+ calls determines the direction to move through the history. A
+ negative argument switches the direction through the history
+ (back or forward). This uses the history expansion facilities
+ to extract the last word, as if the "!$" history expansion had
been specified.
s\bsh\bhe\bel\bll\bl-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be (\b(M\bM-\b-C\bC-\b-e\be)\b)
- Expand the line by performing shell word expansions. This per-
+ Expand the line by performing shell word expansions. This per-
forms alias and history expansion, $\b$'_\bs_\bt_\br_\bi_\bn_\bg' and $\b$"_\bs_\bt_\br_\bi_\bn_\bg" quot-
- ing, tilde expansion, parameter and variable expansion, arith-
- metic expansion, command and process substitution, word split-
- ting, and quote removal. An explicit argument suppresses com-
- mand and process substitution. See H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for
+ ing, tilde expansion, parameter and variable expansion, arith-
+ metic expansion, command and process substitution, word split-
+ ting, and quote removal. An explicit argument suppresses com-
+ mand and process substitution. See H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for
a description of history expansion.
h\bhi\bis\bst\bto\bor\bry\by-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be (\b(M\bM-\b-^\b^)\b)
- Perform history expansion on the current line. See H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bX-\b-
+ Perform history expansion on the current line. See H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bX-\b-
P\bPA\bAN\bNS\bSI\bIO\bON\bN below for a description of history expansion.
m\bma\bag\bgi\bic\bc-\b-s\bsp\bpa\bac\bce\be
- Perform history expansion on the current line and insert a
+ Perform history expansion on the current line and insert a
space. See H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for a description of history
expansion.
a\bal\bli\bia\bas\bs-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be
- Perform alias expansion on the current line. See A\bAL\bLI\bIA\bAS\bSE\bES\bS above
+ Perform alias expansion on the current line. See A\bAL\bLI\bIA\bAS\bSE\bES\bS above
for a description of alias expansion.
h\bhi\bis\bst\bto\bor\bry\by-\b-a\ban\bnd\bd-\b-a\bal\bli\bia\bas\bs-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be
Perform history and alias expansion on the current line.
i\bin\bns\bse\ber\brt\bt-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt (\b(M\bM-\b-.\b.,\b, M\bM-\b-_\b_)\b)
A synonym for y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg.
e\bed\bdi\bit\bt-\b-a\ban\bnd\bd-\b-e\bex\bxe\bec\bcu\but\bte\be-\b-c\bco\bom\bmm\bma\ban\bnd\bd (\b(C\bC-\b-x\bx C\bC-\b-e\be)\b)
- Invoke an editor on the current command line, and execute the
+ Invoke an editor on the current command line, and execute the
result as shell commands. B\bBa\bas\bsh\bh attempts to invoke $\b$V\bVI\bIS\bSU\bUA\bAL\bL, $\b$E\bED\bD-\b-
I\bIT\bTO\bOR\bR, and _\be_\bm_\ba_\bc_\bs as the editor, in that order.
C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br C\bCh\bha\ban\bng\bgi\bin\bng\bg T\bTe\bex\bxt\bt
_\be_\bn_\bd_\b-_\bo_\bf_\b-_\bf_\bi_\bl_\be (\b(u\bus\bsu\bua\bal\bll\bly\by C\bC-\b-d\bd)\b)
- The character indicating end-of-file as set, for example, by
+ The character indicating end-of-file as set, for example, by
_\bs_\bt_\bt_\by(1). If this character is read when there are no characters
on the line, and point is at the beginning of the line, readline
interprets it as the end of input and returns E\bEO\bOF\bF.
d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br (\b(C\bC-\b-d\bd)\b)
Delete the character at point. If this function is bound to the
same character as the tty E\bEO\bOF\bF character, as C\bC-\b-d\bd commonly is, see
- above for the effects.
+ above for the effects. This may also be bound to the Delete key
+ on some keyboards.
b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br (\b(R\bRu\bub\bbo\bou\but\bt)\b)
- Delete the character behind the cursor. When given a numeric
+ Delete the character behind the cursor. When given a numeric
argument, save the deleted text on the kill ring.
f\bfo\bor\brw\bwa\bar\brd\bd-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br
- Delete the character under the cursor, unless the cursor is at
+ Delete the character under the cursor, unless the cursor is at
the end of the line, in which case the character behind the cur-
sor is deleted.
q\bqu\buo\bot\bte\bed\bd-\b-i\bin\bns\bse\ber\brt\bt (\b(C\bC-\b-q\bq,\b, C\bC-\b-v\bv)\b)
- Add the next character typed to the line verbatim. This is how
+ Add the next character typed to the line verbatim. This is how
to insert characters like C\bC-\b-q\bq, for example.
t\bta\bab\bb-\b-i\bin\bns\bse\ber\brt\bt (\b(C\bC-\b-v\bv T\bTA\bAB\bB)\b)
Insert a tab character.
s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt (\b(a\ba,\b, b\bb,\b, A\bA,\b, 1\b1,\b, !\b!,\b, ...)\b)
Insert the character typed.
b\bbr\bra\bac\bck\bke\bet\bte\bed\bd-\b-p\bpa\bas\bst\bte\be-\b-b\bbe\beg\bgi\bin\bn
- This function is intended to be bound to the "bracketed paste"
- escape sequence sent by some terminals, and such a binding is
- assigned by default. It allows readline to insert the pasted
- text as a single unit without treating each character as if it
- had been read from the keyboard. The pasted characters are in-
- serted as if each one was bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt instead of exe-
+ This function is intended to be bound to the "bracketed paste"
+ escape sequence sent by some terminals, and such a binding is
+ assigned by default. It allows readline to insert the pasted
+ text as a single unit without treating each character as if it
+ had been read from the keyboard. The pasted characters are in-
+ serted as if each one was bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt instead of exe-
cuting any editing commands.
- Bracketed paste sets the region to the inserted text and acti-
+ Bracketed paste sets the region to the inserted text and acti-
vates the region.
t\btr\bra\ban\bns\bsp\bpo\bos\bse\be-\b-c\bch\bha\bar\brs\bs (\b(C\bC-\b-t\bt)\b)
- Drag the character before point forward over the character at
- point, moving point forward as well. If point is at the end of
- the line, then this transposes the two characters before point.
+ Drag the character before point forward over the character at
+ point, moving point forward as well. If point is at the end of
+ the line, then this transposes the two characters before point.
Negative arguments have no effect.
t\btr\bra\ban\bns\bsp\bpo\bos\bse\be-\b-w\bwo\bor\brd\bds\bs (\b(M\bM-\b-t\bt)\b)
- Drag the word before point past the word after point, moving
- point over that word as well. If point is at the end of the
+ Drag the word before point past the word after point, moving
+ point over that word as well. If point is at the end of the
line, this transposes the last two words on the line.
s\bsh\bhe\bel\bll\bl-\b-t\btr\bra\ban\bns\bsp\bpo\bos\bse\be-\b-w\bwo\bor\brd\bds\bs (\b(M\bM-\b-C\bC-\b-t\bt)\b)
- Drag the word before point past the word after point, moving
- point past that word as well. If the insertion point is at the
+ Drag the word before point past the word after point, moving
+ point past that word as well. If the insertion point is at the
end of the line, this transposes the last two words on the line.
- Word boundaries are the same as s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd and
+ Word boundaries are the same as s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd and
s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
u\bup\bpc\bca\bas\bse\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-u\bu)\b)
- Uppercase the current (or following) word. With a negative ar-
+ Uppercase the current (or following) word. With a negative ar-
gument, uppercase the previous word, but do not move point.
d\bdo\bow\bwn\bnc\bca\bas\bse\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-l\bl)\b)
- Lowercase the current (or following) word. With a negative ar-
+ Lowercase the current (or following) word. With a negative ar-
gument, lowercase the previous word, but do not move point.
c\bca\bap\bpi\bit\bta\bal\bli\biz\bze\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-c\bc)\b)
Capitalize the current (or following) word. With a negative ar-
gument, capitalize the previous word, but do not move point.
o\bov\bve\ber\brw\bwr\bri\bit\bte\be-\b-m\bmo\bod\bde\be
- Toggle overwrite mode. With an explicit positive numeric argu-
+ Toggle overwrite mode. With an explicit positive numeric argu-
ment, switches to overwrite mode. With an explicit non-positive
numeric argument, switches to insert mode. This command affects
- only e\bem\bma\bac\bcs\bs mode; v\bvi\bi mode does overwrite differently. Each call
+ only e\bem\bma\bac\bcs\bs mode; v\bvi\bi mode does overwrite differently. Each call
to _\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b(_\b) starts in insert mode.
- In overwrite mode, characters bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt replace the
- text at point rather than pushing the text to the right. Char-
- acters bound to b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br replace the character be-
- fore point with a space. By default, this command is unbound,
+ In overwrite mode, characters bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt replace the
+ text at point rather than pushing the text to the right. Char-
+ acters bound to b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br replace the character be-
+ fore point with a space. By default, this command is unbound,
but may be bound to the Insert key on some keyboards.
K\bKi\bil\bll\bli\bin\bng\bg a\ban\bnd\bd Y\bYa\ban\bnk\bki\bin\bng\bg
k\bki\bil\bll\bl-\b-l\bli\bin\bne\be (\b(C\bC-\b-k\bk)\b)
Kill the text from point to the end of the current line. With a
- negative numeric argument, kill backward from the cursor to the
+ negative numeric argument, kill backward from the cursor to the
beginning of the line.
b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-l\bli\bin\bne\be (\b(C\bC-\b-x\bx R\bRu\bub\bbo\bou\but\bt)\b)
Kill backward to the beginning of the current line. With a neg-
- ative numeric argument, kill forward from the cursor to the end
+ ative numeric argument, kill forward from the cursor to the end
of the line.
u\bun\bni\bix\bx-\b-l\bli\bin\bne\be-\b-d\bdi\bis\bsc\bca\bar\brd\bd (\b(C\bC-\b-u\bu)\b)
- Kill backward from point to the beginning of the line, saving
+ Kill backward from point to the beginning of the line, saving
the killed text on the kill-ring.
k\bki\bil\bll\bl-\b-w\bwh\bho\bol\ble\be-\b-l\bli\bin\bne\be
- Kill all characters on the current line, no matter where point
+ Kill all characters on the current line, no matter where point
is.
k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-d\bd)\b)
- Kill from point to the end of the current word, or if between
- words, to the end of the next word. Word boundaries are the
+ Kill from point to the end of the current word, or if between
+ words, to the end of the next word. Word boundaries are the
same as those used by f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-R\bRu\bub\bbo\bou\but\bt)\b)
- Kill the word behind point. Word boundaries are the same as
+ Kill the word behind point. Word boundaries are the same as
those used by b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
s\bsh\bhe\bel\bll\bl-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-C\bC-\b-d\bd)\b)
- Kill from point to the end of the current word, or if between
- words, to the end of the next word. Word boundaries are the
+ Kill from point to the end of the current word, or if between
+ words, to the end of the next word. Word boundaries are the
same as those used by s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd
- Kill the word behind point. Word boundaries are the same as
+ Kill the word behind point. Word boundaries are the same as
those used by s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
u\bun\bni\bix\bx-\b-w\bwo\bor\brd\bd-\b-r\bru\bub\bbo\bou\but\bt (\b(C\bC-\b-w\bw)\b)
- Kill the word behind point, using white space as a word bound-
+ Kill the word behind point, using white space as a word bound-
ary, saving the killed text on the kill-ring.
u\bun\bni\bix\bx-\b-f\bfi\bil\ble\ben\bna\bam\bme\be-\b-r\bru\bub\bbo\bou\but\bt
- Kill the word behind point, using white space and the slash
- character as the word boundaries, saving the killed text on the
+ Kill the word behind point, using white space and the slash
+ character as the word boundaries, saving the killed text on the
kill-ring.
d\bde\bel\ble\bet\bte\be-\b-h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bl-\b-s\bsp\bpa\bac\bce\be (\b(M\bM-\b-\\b\)\b)
Delete all spaces and tabs around point.
k\bki\bil\bll\bl-\b-r\bre\beg\bgi\bio\bon\bn
Kill the text in the current region.
c\bco\bop\bpy\by-\b-r\bre\beg\bgi\bio\bon\bn-\b-a\bas\bs-\b-k\bki\bil\bll\bl
- Copy the text in the region to the kill buffer, so it can be
+ Copy the text in the region to the kill buffer, so it can be
yanked immediately.
c\bco\bop\bpy\by-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
- Copy the word before point to the kill buffer. The word bound-
+ Copy the word before point to the kill buffer. The word bound-
aries are the same as b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
c\bco\bop\bpy\by-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
- Copy the word following point to the kill buffer. The word
+ Copy the word following point to the kill buffer. The word
boundaries are the same as f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
y\bya\ban\bnk\bk (\b(C\bC-\b-y\by)\b)
Yank the top of the kill ring into the buffer at point.
y\bya\ban\bnk\bk-\b-p\bpo\bop\bp (\b(M\bM-\b-y\by)\b)
- Rotate the kill ring, and yank the new top. Only works follow-
+ Rotate the kill ring, and yank the new top. Only works follow-
ing y\bya\ban\bnk\bk or y\bya\ban\bnk\bk-\b-p\bpo\bop\bp.
N\bNu\bum\bme\ber\bri\bic\bc A\bAr\brg\bgu\bum\bme\ben\bnt\bts\bs
d\bdi\big\bgi\bit\bt-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt (\b(M\bM-\b-0\b0,\b, M\bM-\b-1\b1,\b, ...,\b, M\bM-\b--\b-)\b)
- Add this digit to the argument already accumulating, or start a
+ Add this digit to the argument already accumulating, or start a
new argument. M-- starts a negative argument.
u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt
- This is another way to specify an argument. If this command is
- followed by one or more digits, optionally with a leading minus
- sign, those digits define the argument. If the command is fol-
+ This is another way to specify an argument. If this command is
+ followed by one or more digits, optionally with a leading minus
+ sign, those digits define the argument. If the command is fol-
lowed by digits, executing u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt again ends the nu-
meric argument, but is otherwise ignored. As a special case, if
this command is immediately followed by a character that is nei-
- ther a digit nor minus sign, the argument count for the next
- command is multiplied by four. The argument count is initially
- one, so executing this function the first time makes the argu-
+ ther a digit nor minus sign, the argument count for the next
+ command is multiplied by four. The argument count is initially
+ one, so executing this function the first time makes the argu-
ment count four, a second time makes the argument count sixteen,
and so on.
C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg
c\bco\bom\bmp\bpl\ble\bet\bte\be (\b(T\bTA\bAB\bB)\b)
- Attempt to perform completion on the text before point. B\bBa\bas\bsh\bh
- attempts completion by first checking for any programmable com-
- pletions for the command word (see P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn be-
+ Attempt to perform completion on the text before point. B\bBa\bas\bsh\bh
+ attempts completion by first checking for any programmable com-
+ pletions for the command word (see P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn be-
low), otherwise treating the text as a variable (if the text be-
gins with $\b$), username (if the text begins with ~\b~), hostname (if
- the text begins with @\b@), or command (including aliases, func-
- tions, and builtins) in turn. If none of these produces a
+ the text begins with @\b@), or command (including aliases, func-
+ tions, and builtins) in turn. If none of these produces a
match, it falls back to filename completion.
p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(M\bM-\b-?\b?)\b)
- List the possible completions of the text before point. When
+ List the possible completions of the text before point. When
displaying completions, readline sets the number of columns used
- for display to the value of c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-w\bwi\bid\bdt\bth\bh, the value
- of the shell variable C\bCO\bOL\bLU\bUM\bMN\bNS\bS, or the screen width, in that or-
+ for display to the value of c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-w\bwi\bid\bdt\bth\bh, the value
+ of the shell variable C\bCO\bOL\bLU\bUM\bMN\bNS\bS, or the screen width, in that or-
der.
i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(M\bM-\b-*\b*)\b)
- Insert all completions of the text before point that would have
+ Insert all completions of the text before point that would have
been generated by p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs, separated by a space.
m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be
- Similar to c\bco\bom\bmp\bpl\ble\bet\bte\be, but replaces the word to be completed with
- a single match from the list of possible completions. Repeat-
- edly executing m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be steps through the list of possible
- completions, inserting each match in turn. At the end of the
- list of completions, m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be rings the bell (subject to
- the setting of b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be) and restores the original text. An
- argument of _\bn moves _\bn positions forward in the list of matches;
- a negative argument moves backward through the list. This com-
+ Similar to c\bco\bom\bmp\bpl\ble\bet\bte\be, but replaces the word to be completed with
+ a single match from the list of possible completions. Repeat-
+ edly executing m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be steps through the list of possible
+ completions, inserting each match in turn. At the end of the
+ list of completions, m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be rings the bell (subject to
+ the setting of b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be) and restores the original text. An
+ argument of _\bn moves _\bn positions forward in the list of matches;
+ a negative argument moves backward through the list. This com-
mand is intended to be bound to T\bTA\bAB\bB, but is unbound by default.
m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd
- Identical to m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be, but moves backward through the list
- of possible completions, as if m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be had been given a
+ Identical to m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be, but moves backward through the list
+ of possible completions, as if m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be had been given a
negative argument. This command is unbound by default.
d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br-\b-o\bor\br-\b-l\bli\bis\bst\bt
- Deletes the character under the cursor if not at the beginning
- or end of the line (like d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br). At the end of the line,
+ Deletes the character under the cursor if not at the beginning
+ or end of the line (like d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br). At the end of the line,
it behaves identically to p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs. This command is
unbound by default.
c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-f\bfi\bil\ble\ben\bna\bam\bme\be (\b(M\bM-\b-/\b/)\b)
List the possible completions of the text before point, treating
it as a filename.
c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-u\bus\bse\ber\brn\bna\bam\bme\be (\b(M\bM-\b-~\b~)\b)
- Attempt completion on the text before point, treating it as a
+ Attempt completion on the text before point, treating it as a
username.
p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-u\bus\bse\ber\brn\bna\bam\bme\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx ~\b~)\b)
List the possible completions of the text before point, treating
it as a username.
c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-v\bva\bar\bri\bia\bab\bbl\ble\be (\b(M\bM-\b-$\b$)\b)
- Attempt completion on the text before point, treating it as a
+ Attempt completion on the text before point, treating it as a
shell variable.
p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-v\bva\bar\bri\bia\bab\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx $\b$)\b)
List the possible completions of the text before point, treating
it as a shell variable.
c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-h\bho\bos\bst\btn\bna\bam\bme\be (\b(M\bM-\b-@\b@)\b)
- Attempt completion on the text before point, treating it as a
+ Attempt completion on the text before point, treating it as a
hostname.
p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-h\bho\bos\bst\btn\bna\bam\bme\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx @\b@)\b)
List the possible completions of the text before point, treating
it as a hostname.
c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-c\bco\bom\bmm\bma\ban\bnd\bd (\b(M\bM-\b-!\b!)\b)
- Attempt completion on the text before point, treating it as a
- command name. Command completion attempts to match the text
- against aliases, reserved words, shell functions, shell
+ Attempt completion on the text before point, treating it as a
+ command name. Command completion attempts to match the text
+ against aliases, reserved words, shell functions, shell
builtins, and finally executable filenames, in that order.
p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmm\bma\ban\bnd\bd-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx !\b!)\b)
List the possible completions of the text before point, treating
it as a command name.
d\bdy\byn\bna\bam\bmi\bic\bc-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-T\bTA\bAB\bB)\b)
- Attempt completion on the text before point, comparing the text
+ Attempt completion on the text before point, comparing the text
against history list entries for possible completion matches.
d\bda\bab\bbb\bbr\bre\bev\bv-\b-e\bex\bxp\bpa\ban\bnd\bd
- Attempt menu completion on the text before point, comparing the
+ Attempt menu completion on the text before point, comparing the
text against lines from the history list for possible completion
matches.
c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-i\bin\bnt\bto\bo-\b-b\bbr\bra\bac\bce\bes\bs (\b(M\bM-\b-{\b{)\b)
Perform filename completion and insert the list of possible com-
- pletions enclosed within braces so the list is available to the
+ pletions enclosed within braces so the list is available to the
shell (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above).
K\bKe\bey\byb\bbo\boa\bar\brd\bd M\bMa\bac\bcr\bro\bos\bs
s\bst\bta\bar\brt\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx (\b()\b)
- Begin saving the characters typed into the current keyboard
+ Begin saving the characters typed into the current keyboard
macro.
e\ben\bnd\bd-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx )\b))\b)
Stop saving the characters typed into the current keyboard macro
and store the definition.
c\bca\bal\bll\bl-\b-l\bla\bas\bst\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx e\be)\b)
- Re-execute the last keyboard macro defined, by making the char-
+ Re-execute the last keyboard macro defined, by making the char-
acters in the macro appear as if typed at the keyboard.
p\bpr\bri\bin\bnt\bt-\b-l\bla\bas\bst\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b()\b)
- Print the last keyboard macro defined in a format suitable for
+ Print the last keyboard macro defined in a format suitable for
the _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
M\bMi\bis\bsc\bce\bel\bll\bla\ban\bne\beo\bou\bus\bs
r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be (\b(C\bC-\b-x\bx C\bC-\b-r\br)\b)
- Read in the contents of the _\bi_\bn_\bp_\bu_\bt_\br_\bc file, and incorporate any
+ Read in the contents of the _\bi_\bn_\bp_\bu_\bt_\br_\bc file, and incorporate any
bindings or variable assignments found there.
a\bab\bbo\bor\brt\bt (\b(C\bC-\b-g\bg)\b)
- Abort the current editing command and ring the terminal's bell
+ Abort the current editing command and ring the terminal's bell
(subject to the setting of b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be).
d\bdo\bo-\b-l\blo\bow\bwe\ber\brc\bca\bas\bse\be-\b-v\bve\ber\brs\bsi\bio\bon\bn (\b(M\bM-\b-A\bA,\b, M\bM-\b-B\bB,\b, M\bM-\b-_\bx,\b, ...)\b)
- If the metafied character _\bx is uppercase, run the command that
+ If the metafied character _\bx is uppercase, run the command that
is bound to the corresponding metafied lowercase character. The
behavior is undefined if _\bx is already lowercase.
p\bpr\bre\bef\bfi\bix\bx-\b-m\bme\bet\bta\ba (\b(E\bES\bSC\bC)\b)
u\bun\bnd\bdo\bo (\b(C\bC-\b-_\b_,\b, C\bC-\b-x\bx C\bC-\b-u\bu)\b)
Incremental undo, separately remembered for each line.
r\bre\bev\bve\ber\brt\bt-\b-l\bli\bin\bne\be (\b(M\bM-\b-r\br)\b)
- Undo all changes made to this line. This is like executing the
- u\bun\bnd\bdo\bo command enough times to return the line to its initial
+ Undo all changes made to this line. This is like executing the
+ u\bun\bnd\bdo\bo command enough times to return the line to its initial
state.
t\bti\bil\bld\bde\be-\b-e\bex\bxp\bpa\ban\bnd\bd (\b(M\bM-\b-&\b&)\b)
Perform tilde expansion on the current word.
s\bse\bet\bt-\b-m\bma\bar\brk\bk (\b(C\bC-\b-@\b@,\b, M\bM-\b-<\b<s\bsp\bpa\bac\bce\be>\b>)\b)
- Set the mark to the point. If a numeric argument is supplied,
+ Set the mark to the point. If a numeric argument is supplied,
set the mark to that position.
e\bex\bxc\bch\bha\ban\bng\bge\be-\b-p\bpo\boi\bin\bnt\bt-\b-a\ban\bnd\bd-\b-m\bma\bar\brk\bk (\b(C\bC-\b-x\bx C\bC-\b-x\bx)\b)
- Swap the point with the mark. Set the current cursor position
+ Swap the point with the mark. Set the current cursor position
to the saved position, then set the mark to the old cursor posi-
tion.
c\bch\bha\bar\bra\bac\bct\bte\ber\br-\b-s\bse\bea\bar\brc\bch\bh (\b(C\bC-\b-]\b])\b)
- Read a character and move point to the next occurrence of that
- character. A negative argument searches for previous occur-
+ Read a character and move point to the next occurrence of that
+ character. A negative argument searches for previous occur-
rences.
c\bch\bha\bar\bra\bac\bct\bte\ber\br-\b-s\bse\bea\bar\brc\bch\bh-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd (\b(M\bM-\b-C\bC-\b-]\b])\b)
- Read a character and move point to the previous occurrence of
+ Read a character and move point to the previous occurrence of
that character. A negative argument searches for subsequent oc-
currences.
s\bsk\bki\bip\bp-\b-c\bcs\bsi\bi-\b-s\bse\beq\bqu\bue\ben\bnc\bce\be
- Read enough characters to consume a multi-key sequence such as
- those defined for keys like Home and End. CSI sequences begin
+ Read enough characters to consume a multi-key sequence such as
+ those defined for keys like Home and End. CSI sequences begin
with a Control Sequence Indicator (CSI), usually ESC-[. If this
- sequence is bound to "\e[", keys producing CSI sequences will
- have no effect unless explicitly bound to a readline command,
- instead of inserting stray characters into the editing buffer.
+ sequence is bound to "\e[", keys producing CSI sequences will
+ have no effect unless explicitly bound to a readline command,
+ instead of inserting stray characters into the editing buffer.
This is unbound by default, but usually bound to ESC-[.
i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt (\b(M\bM-\b-#\b#)\b)
- Without a numeric argument, insert the value of the readline
+ Without a numeric argument, insert the value of the readline
c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn variable at the beginning of the current line. If
- a numeric argument is supplied, this command acts as a toggle:
- if the characters at the beginning of the line do not match the
- value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn, insert the value; otherwise delete the
- characters in c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn from the beginning of the line. In
- either case, the line is accepted as if a newline had been
- typed. The default value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn causes this command
+ a numeric argument is supplied, this command acts as a toggle:
+ if the characters at the beginning of the line do not match the
+ value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn, insert the value; otherwise delete the
+ characters in c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn from the beginning of the line. In
+ either case, the line is accepted as if a newline had been
+ typed. The default value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn causes this command
to make the current line a shell comment. If a numeric argument
causes the comment character to be removed, the line will be ex-
ecuted by the shell.
s\bsp\bpe\bel\bll\bl-\b-c\bco\bor\brr\bre\bec\bct\bt-\b-w\bwo\bor\brd\bd (\b(C\bC-\b-x\bx s\bs)\b)
- Perform spelling correction on the current word, treating it as
- a directory or filename, in the same way as the c\bcd\bds\bsp\bpe\bel\bll\bl shell
- option. Word boundaries are the same as those used by
+ Perform spelling correction on the current word, treating it as
+ a directory or filename, in the same way as the c\bcd\bds\bsp\bpe\bel\bll\bl shell
+ option. Word boundaries are the same as those used by
s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
g\bgl\blo\bob\bb-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-g\bg)\b)
Treat the word before point as a pattern for pathname expansion,
- with an asterisk implicitly appended, then use the pattern to
+ with an asterisk implicitly appended, then use the pattern to
generate a list of matching file names for possible completions.
g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\bd (\b(C\bC-\b-x\bx *\b*)\b)
Treat the word before point as a pattern for pathname expansion,
- and insert the list of matching file names, replacing the word.
- If a numeric argument is supplied, append a *\b* before pathname
+ and insert the list of matching file names, replacing the word.
+ If a numeric argument is supplied, append a *\b* before pathname
expansion.
g\bgl\blo\bob\bb-\b-l\bli\bis\bst\bt-\b-e\bex\bxp\bpa\ban\bns\bsi\bio\bon\bns\bs (\b(C\bC-\b-x\bx g\bg)\b)
Display the list of expansions that would have been generated by
- g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\bd and redisplay the line. If a numeric argument
+ g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\bd and redisplay the line. If a numeric argument
is supplied, append a *\b* before pathname expansion.
d\bdu\bum\bmp\bp-\b-f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs
- Print all of the functions and their key bindings to the read-
+ Print all of the functions and their key bindings to the read-
line output stream. If a numeric argument is supplied, the out-
- put is formatted in such a way that it can be made part of an
+ put is formatted in such a way that it can be made part of an
_\bi_\bn_\bp_\bu_\bt_\br_\bc file.
d\bdu\bum\bmp\bp-\b-v\bva\bar\bri\bia\bab\bbl\ble\bes\bs
Print all of the settable readline variables and their values to
- the readline output stream. If a numeric argument is supplied,
- the output is formatted in such a way that it can be made part
+ the readline output stream. If a numeric argument is supplied,
+ the output is formatted in such a way that it can be made part
of an _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
d\bdu\bum\bmp\bp-\b-m\bma\bac\bcr\bro\bos\bs
- Print all of the readline key sequences bound to macros and the
+ Print all of the readline key sequences bound to macros and the
strings they output to the readline output stream. If a numeric
argument is supplied, the output is formatted in such a way that
it can be made part of an _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
e\bex\bxe\bec\bcu\but\bte\be-\b-n\bna\bam\bme\bed\bd-\b-c\bco\bom\bmm\bma\ban\bnd\bd (\b(M\bM-\b-x\bx)\b)
Read a bindable readline command name from the input and execute
- the function to which it's bound, as if the key sequence to
- which it was bound appeared in the input. If this function is
+ the function to which it's bound, as if the key sequence to
+ which it was bound appeared in the input. If this function is
supplied with a numeric argument, it passes that argument to the
function it executes.
d\bdi\bis\bsp\bpl\bla\bay\by-\b-s\bsh\bhe\bel\bll\bl-\b-v\bve\ber\brs\bsi\bio\bon\bn (\b(C\bC-\b-x\bx C\bC-\b-v\bv)\b)
Display version information about the current instance of b\bba\bas\bsh\bh.
P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
- When a user attempts word completion for an argument to a command for
- which a completion specification (a _\bc_\bo_\bm_\bp_\bs_\bp_\be_\bc) has been defined using
- the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), r\bre\bea\bad\bdl\bli\bin\bne\be in-
+ When a user attempts word completion for an argument to a command for
+ which a completion specification (a _\bc_\bo_\bm_\bp_\bs_\bp_\be_\bc) has been defined using
+ the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), r\bre\bea\bad\bdl\bli\bin\bne\be in-
vokes the programmable completion facilities.
- First, b\bba\bas\bsh\bh identifies the command name. If a compspec has been de-
- fined for that command, the compspec is used to generate the list of
- possible completions for the word. If the command word is the empty
- string (completion attempted at the beginning of an empty line), b\bba\bas\bsh\bh
- uses any compspec defined with the -\b-E\bE option to c\bco\bom\bmp\bpl\ble\bet\bte\be. If the com-
+ First, b\bba\bas\bsh\bh identifies the command name. If a compspec has been de-
+ fined for that command, the compspec is used to generate the list of
+ possible completions for the word. If the command word is the empty
+ string (completion attempted at the beginning of an empty line), b\bba\bas\bsh\bh
+ uses any compspec defined with the -\b-E\bE option to c\bco\bom\bmp\bpl\ble\bet\bte\be. If the com-
mand word is a full pathname, b\bba\bas\bsh\bh searches for a compspec for the full
- pathname first. If there is no compspec for the full pathname, b\bba\bas\bsh\bh
- attempts to find a compspec for the portion following the final slash.
- If those searches do not result in a compspec, any compspec defined
- with the -\b-D\bD option to c\bco\bom\bmp\bpl\ble\bet\bte\be is used as the default. If there is no
- default compspec, b\bba\bas\bsh\bh attempts alias expansion on the command word as
- a final resort, and attempts to find a compspec for the command word
+ pathname first. If there is no compspec for the full pathname, b\bba\bas\bsh\bh
+ attempts to find a compspec for the portion following the final slash.
+ If those searches do not result in a compspec, any compspec defined
+ with the -\b-D\bD option to c\bco\bom\bmp\bpl\ble\bet\bte\be is used as the default. If there is no
+ default compspec, b\bba\bas\bsh\bh attempts alias expansion on the command word as
+ a final resort, and attempts to find a compspec for the command word
from any successful expansion.
If a compspec is not found, b\bba\bas\bsh\bh performs its default completion as de-
- scribed above under C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg. Otherwise, once a compspec has been
+ scribed above under C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg. Otherwise, once a compspec has been
found, b\bba\bas\bsh\bh uses it to generate the list of matching words.
- First, b\bba\bas\bsh\bh performs the _\ba_\bc_\bt_\bi_\bo_\bn_\bs specified by the compspec. Only
- matches which are prefixed by the word being completed are returned.
+ First, b\bba\bas\bsh\bh performs the _\ba_\bc_\bt_\bi_\bo_\bn_\bs specified by the compspec. Only
+ matches which are prefixed by the word being completed are returned.
When the -\b-f\bf or -\b-d\bd option is used for filename or directory name comple-
tion, b\bba\bas\bsh\bh uses the shell variable F\bFI\bIG\bGN\bNO\bOR\bRE\bE to filter the matches.
Any completions specified by a pathname expansion pattern to the -\b-G\bG op-
- tion are generated next. The words generated by the pattern need not
+ tion are generated next. The words generated by the pattern need not
match the word being completed. B\bBa\bas\bsh\bh uses the F\bFI\bIG\bGN\bNO\bOR\bRE\bE variable to fil-
ter the matches, but does not use the G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable.
- Next, completion considers the string specified as the argument to the
- -\b-W\bW option. The string is first split using the characters in the I\bIF\bFS\bS
- special variable as delimiters. Shell quoting is honored. Each word
- is then expanded using brace expansion, tilde expansion, parameter and
- variable expansion, command substitution, and arithmetic expansion, as
+ Next, completion considers the string specified as the argument to the
+ -\b-W\bW option. The string is first split using the characters in the I\bIF\bFS\bS
+ special variable as delimiters. Shell quoting is honored. Each word
+ is then expanded using brace expansion, tilde expansion, parameter and
+ variable expansion, command substitution, and arithmetic expansion, as
described above under E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN. The results are split using the rules
described above under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg. The results of the expansion are
prefix-matched against the word being completed, and the matching words
become possible completions.
- After these matches have been generated, b\bba\bas\bsh\bh executes any shell func-
+ After these matches have been generated, b\bba\bas\bsh\bh executes any shell func-
tion or command specified with the -\b-F\bF and -\b-C\bC options. When the command
- or function is invoked, the C\bCO\bOM\bMP\bP_\b_L\bLI\bIN\bNE\bE, C\bCO\bOM\bMP\bP_\b_P\bPO\bOI\bIN\bNT\bT, C\bCO\bOM\bMP\bP_\b_K\bKE\bEY\bY, and
- C\bCO\bOM\bMP\bP_\b_T\bTY\bYP\bPE\bE variables are assigned values as described above under S\bSh\bhe\bel\bll\bl
- V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs. If a shell function is being invoked, the C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDS\bS and
+ or function is invoked, the C\bCO\bOM\bMP\bP_\b_L\bLI\bIN\bNE\bE, C\bCO\bOM\bMP\bP_\b_P\bPO\bOI\bIN\bNT\bT, C\bCO\bOM\bMP\bP_\b_K\bKE\bEY\bY, and
+ C\bCO\bOM\bMP\bP_\b_T\bTY\bYP\bPE\bE variables are assigned values as described above under S\bSh\bhe\bel\bll\bl
+ V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs. If a shell function is being invoked, the C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDS\bS and
C\bCO\bOM\bMP\bP_\b_C\bCW\bWO\bOR\bRD\bD variables are also set. When the function or command is in-
- voked, the first argument ($\b$1\b1) is the name of the command whose argu-
- ments are being completed, the second argument ($\b$2\b2) is the word being
- completed, and the third argument ($\b$3\b3) is the word preceding the word
- being completed on the current command line. There is no filtering of
- the generated completions against the word being completed; the func-
+ voked, the first argument ($\b$1\b1) is the name of the command whose argu-
+ ments are being completed, the second argument ($\b$2\b2) is the word being
+ completed, and the third argument ($\b$3\b3) is the word preceding the word
+ being completed on the current command line. There is no filtering of
+ the generated completions against the word being completed; the func-
tion or command has complete freedom in generating the matches.
- Any function specified with -\b-F\bF is invoked first. The function may use
+ Any function specified with -\b-F\bF is invoked first. The function may use
any of the shell facilities, including the c\bco\bom\bmp\bpg\bge\ben\bn and c\bco\bom\bmp\bpo\bop\bpt\bt builtins
- described below, to generate the matches. It must put the possible
+ described below, to generate the matches. It must put the possible
completions in the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY array variable, one per array element.
- Next, any command specified with the -\b-C\bC option is invoked in an envi-
- ronment equivalent to command substitution. It should print a list of
- completions, one per line, to the standard output. Backslash may be
- used to escape a newline, if necessary. These are added to the set of
+ Next, any command specified with the -\b-C\bC option is invoked in an envi-
+ ronment equivalent to command substitution. It should print a list of
+ completions, one per line, to the standard output. Backslash may be
+ used to escape a newline, if necessary. These are added to the set of
possible completions.
- After all of the possible completions are generated, any filter speci-
- fied with the -\b-X\bX option is applied to the list. The filter is a pat-
- tern as used for pathname expansion; a &\b& in the pattern is replaced
- with the text of the word being completed. A literal &\b& may be escaped
- with a backslash; the backslash is removed before attempting a match.
- Any completion that matches the pattern will be removed from the list.
+ After all of the possible completions are generated, any filter speci-
+ fied with the -\b-X\bX option is applied to the list. The filter is a pat-
+ tern as used for pathname expansion; a &\b& in the pattern is replaced
+ with the text of the word being completed. A literal &\b& may be escaped
+ with a backslash; the backslash is removed before attempting a match.
+ Any completion that matches the pattern will be removed from the list.
A leading !\b! negates the pattern; in this case any completion not match-
- ing the pattern will be removed. If the n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh shell option is
- enabled, the match is performed without regard to the case of alpha-
+ ing the pattern will be removed. If the n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh shell option is
+ enabled, the match is performed without regard to the case of alpha-
betic characters.
Finally, any prefix and suffix specified with the -\b-P\bP and -\b-S\bS options are
added to each member of the completion list, and the result is returned
to r\bre\bea\bad\bdl\bli\bin\bne\be as the list of possible completions.
- If the previously-applied actions do not generate any matches, and the
- -\b-o\bo d\bdi\bir\brn\bna\bam\bme\bes\bs option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was de-
+ If the previously-applied actions do not generate any matches, and the
+ -\b-o\bo d\bdi\bir\brn\bna\bam\bme\bes\bs option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was de-
fined, b\bba\bas\bsh\bh attempts directory name completion.
- If the -\b-o\bo p\bpl\blu\bus\bsd\bdi\bir\brs\bs option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec
- was defined, b\bba\bas\bsh\bh attempts directory name completion and adds any
+ If the -\b-o\bo p\bpl\blu\bus\bsd\bdi\bir\brs\bs option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec
+ was defined, b\bba\bas\bsh\bh attempts directory name completion and adds any
matches to the set of possible completions.
- By default, if a compspec is found, whatever it generates is returned
- to the completion code as the full set of possible completions. The
- default b\bba\bas\bsh\bh completions and the r\bre\bea\bad\bdl\bli\bin\bne\be default of filename comple-
- tion are disabled. If the -\b-o\bo b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt option was supplied to c\bco\bom\bm-\b-
- p\bpl\ble\bet\bte\be when the compspec was defined, if the compspec generates no
- matches, b\bba\bas\bsh\bh attempts its default completions. If the -\b-o\bo d\bde\bef\bfa\bau\bul\blt\bt op-
+ By default, if a compspec is found, whatever it generates is returned
+ to the completion code as the full set of possible completions. The
+ default b\bba\bas\bsh\bh completions and the r\bre\bea\bad\bdl\bli\bin\bne\be default of filename comple-
+ tion are disabled. If the -\b-o\bo b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt option was supplied to c\bco\bom\bm-\b-
+ p\bpl\ble\bet\bte\be when the compspec was defined, if the compspec generates no
+ matches, b\bba\bas\bsh\bh attempts its default completions. If the -\b-o\bo d\bde\bef\bfa\bau\bul\blt\bt op-
tion was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was defined, programma-
- ble completion will perform readline's default completion if the comp-
- spec (and, if attempted, the default b\bba\bas\bsh\bh completions) generate no
+ ble completion will perform readline's default completion if the comp-
+ spec (and, if attempted, the default b\bba\bas\bsh\bh completions) generate no
matches.
- When a compspec indicates that directory name completion is desired,
- the programmable completion functions force readline to append a slash
- to completed names which are symbolic links to directories, subject to
- the value of the m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs readline variable, regardless of the
+ When a compspec indicates that directory name completion is desired,
+ the programmable completion functions force readline to append a slash
+ to completed names which are symbolic links to directories, subject to
+ the value of the m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs readline variable, regardless of the
setting of the m\bma\bar\brk\bk-\b-s\bsy\bym\bml\bli\bin\bnk\bke\bed\bd-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs readline variable.
- There is some support for dynamically modifying completions. This is
- most useful when used in combination with a default completion speci-
- fied with c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-D\bD. It's possible for shell functions executed as
- completion functions to indicate that completion should be retried by
- returning an exit status of 124. If a shell function returns 124, and
+ There is some support for dynamically modifying completions. This is
+ most useful when used in combination with a default completion speci-
+ fied with c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-D\bD. It's possible for shell functions executed as
+ completion functions to indicate that completion should be retried by
+ returning an exit status of 124. If a shell function returns 124, and
changes the compspec associated with the command on which completion is
- being attempted (supplied as the first argument when the function is
+ being attempted (supplied as the first argument when the function is
executed), programmable completion restarts from the beginning, with an
- attempt to find a new compspec for that command. This allows a set of
- completions to be built dynamically as completion is attempted, rather
+ attempt to find a new compspec for that command. This allows a set of
+ completions to be built dynamically as completion is attempted, rather
than being loaded all at once.
- For instance, assuming that there is a library of compspecs, each kept
- in a file corresponding to the name of the command, the following de-
+ For instance, assuming that there is a library of compspecs, each kept
+ in a file corresponding to the name of the command, the following de-
fault completion function would load completions dynamically:
_completion_loader()
{
-o bashdefault -o default
H\bHI\bIS\bST\bTO\bOR\bRY\bY
- When the -\b-o\bo h\bhi\bis\bst\bto\bor\bry\by option to the s\bse\bet\bt builtin is enabled, the shell
+ When the -\b-o\bo h\bhi\bis\bst\bto\bor\bry\by option to the s\bse\bet\bt builtin is enabled, the shell
provides access to the _\bc_\bo_\bm_\bm_\ba_\bn_\bd _\bh_\bi_\bs_\bt_\bo_\br_\by, the list of commands previously
- typed. The value of the H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE variable is used as the number of
- commands to save in a history list: the shell saves the text of the
+ typed. The value of the H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE variable is used as the number of
+ commands to save in a history list: the shell saves the text of the
last H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE commands (default 500). The shell stores each command in
- the history list prior to parameter and variable expansion (see E\bEX\bXP\bPA\bAN\bN-\b-
- S\bSI\bIO\bON\bN above) but after history expansion is performed, subject to the
+ the history list prior to parameter and variable expansion (see E\bEX\bXP\bPA\bAN\bN-\b-
+ S\bSI\bIO\bON\bN above) but after history expansion is performed, subject to the
values of the shell variables H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE and H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL.
- On startup, b\bba\bas\bsh\bh initializes the history list by reading history en-
- tries from the the file named by the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE variable (default
- _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by). That file is referred to as the _\bh_\bi_\bs_\bt_\bo_\br_\by _\bf_\bi_\bl_\be. The
- history file is truncated, if necessary, to contain no more than the
- number of history entries specified by the value of the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE
- variable. If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE is unset, or set to null, a non-numeric
+ On startup, b\bba\bas\bsh\bh initializes the history list by reading history en-
+ tries from the the file named by the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE variable (default
+ _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by). That file is referred to as the _\bh_\bi_\bs_\bt_\bo_\br_\by _\bf_\bi_\bl_\be. The
+ history file is truncated, if necessary, to contain no more than the
+ number of history entries specified by the value of the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE
+ variable. If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE is unset, or set to null, a non-numeric
value, or a numeric value less than zero, the history file is not trun-
cated.
When the history file is read, lines beginning with the history comment
character followed immediately by a digit are interpreted as timestamps
- for the following history line. These timestamps are optionally dis-
- played depending on the value of the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable. When
- present, history timestamps delimit history entries, making multi-line
+ for the following history line. These timestamps are optionally dis-
+ played depending on the value of the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable. When
+ present, history timestamps delimit history entries, making multi-line
entries possible.
When a shell with history enabled exits, b\bba\bas\bsh\bh copies the last $\b$H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE
- entries from the history list to $\b$H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE. If the h\bhi\bis\bst\bta\bap\bpp\bpe\ben\bnd\bd shell
- option is enabled (see the description of s\bsh\bho\bop\bpt\bt under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN
- C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), b\bba\bas\bsh\bh appends the entries to the history file, other-
- wise it overwrites the history file. If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset or null, or
- if the history file is unwritable, the history is not saved. After
- saving the history, b\bba\bas\bsh\bh truncates the history file to contain no more
+ entries from the history list to $\b$H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE. If the h\bhi\bis\bst\bta\bap\bpp\bpe\ben\bnd\bd shell
+ option is enabled (see the description of s\bsh\bho\bop\bpt\bt under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN
+ C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), b\bba\bas\bsh\bh appends the entries to the history file, other-
+ wise it overwrites the history file. If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset or null, or
+ if the history file is unwritable, the history is not saved. After
+ saving the history, b\bba\bas\bsh\bh truncates the history file to contain no more
than H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE lines as described above.
- If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, the shell writes the timestamp
- information associated with each history entry to the history file,
- marked with the history comment character, so timestamps are preserved
+ If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, the shell writes the timestamp
+ information associated with each history entry to the history file,
+ marked with the history comment character, so timestamps are preserved
across shell sessions. This uses the history comment character to dis-
- tinguish timestamps from other history lines. As above, when using
+ tinguish timestamps from other history lines. As above, when using
H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT, the timestamps delimit multi-line history entries.
- The f\bfc\bc builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) will list or
+ The f\bfc\bc builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) will list or
edit and re-execute a portion of the history list. The h\bhi\bis\bst\bto\bor\bry\by builtin
can display or modify the history list and manipulate the history file.
- When using command-line editing, search commands are available in each
+ When using command-line editing, search commands are available in each
editing mode that provide access to the history list.
- The shell allows control over which commands are saved on the history
+ The shell allows control over which commands are saved on the history
list. The H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL and H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE variables are used to save only a
- subset of the commands entered. If the c\bcm\bmd\bdh\bhi\bis\bst\bt shell option is en-
- abled, the shell attempts to save each line of a multi-line command in
- the same history entry, adding semicolons where necessary to preserve
- syntactic correctness. The l\bli\bit\bth\bhi\bis\bst\bt shell option modifies c\bcm\bmd\bdh\bhi\bis\bst\bt by
- saving the command with embedded newlines instead of semicolons. See
+ subset of the commands entered. If the c\bcm\bmd\bdh\bhi\bis\bst\bt shell option is en-
+ abled, the shell attempts to save each line of a multi-line command in
+ the same history entry, adding semicolons where necessary to preserve
+ syntactic correctness. The l\bli\bit\bth\bhi\bis\bst\bt shell option modifies c\bcm\bmd\bdh\bhi\bis\bst\bt by
+ saving the command with embedded newlines instead of semicolons. See
the description of the s\bsh\bho\bop\bpt\bt builtin below under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
for information on setting and unsetting shell options.
H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
- The shell supports a history expansion feature that is similar to the
- history expansion in c\bcs\bsh\bh. This section describes what syntax features
+ The shell supports a history expansion feature that is similar to the
+ history expansion in c\bcs\bsh\bh. This section describes what syntax features
are available.
History expansion is enabled by default for interactive shells, and can
- be disabled using the +\b+H\bH option to the s\bse\bet\bt builtin command (see S\bSH\bHE\bEL\bLL\bL
+ be disabled using the +\b+H\bH option to the s\bse\bet\bt builtin command (see S\bSH\bHE\bEL\bLL\bL
B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). Non-interactive shells do not perform history
expansion by default, but it can be enabled with "set -H".
History expansions introduce words from the history list into the input
- stream, making it easy to repeat commands, insert the arguments to a
+ stream, making it easy to repeat commands, insert the arguments to a
previous command into the current input line, or fix errors in previous
commands quickly.
- History expansion is performed immediately after a complete line is
- read, before the shell breaks it into words, and is performed on each
- line individually. The shell attempts to inform the history expansion
+ History expansion is performed immediately after a complete line is
+ read, before the shell breaks it into words, and is performed on each
+ line individually. The shell attempts to inform the history expansion
functions about quoting still in effect from previous lines.
- It takes place in two parts. The first is to determine which history
- list entry to use during substitution. The second is to select por-
+ It takes place in two parts. The first is to determine which history
+ list entry to use during substitution. The second is to select por-
tions of that entry to include into the current one.
- The entry selected from the history is the _\be_\bv_\be_\bn_\bt, and the portions of
+ The entry selected from the history is the _\be_\bv_\be_\bn_\bt, and the portions of
that entry that are acted upon are _\bw_\bo_\br_\bd_\bs. Various _\bm_\bo_\bd_\bi_\bf_\bi_\be_\br_\bs are avail-
- able to manipulate the selected words. The entry is split into words
- in the same fashion as when reading input, so that several _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\b-
- _\bt_\be_\br-separated words surrounded by quotes are considered one word. The
- _\be_\bv_\be_\bn_\bt _\bd_\be_\bs_\bi_\bg_\bn_\ba_\bt_\bo_\br selects the event, the optional _\bw_\bo_\br_\bd _\bd_\be_\bs_\bi_\bg_\bn_\ba_\bt_\bo_\br se-
- lects words from the event, and various optional _\bm_\bo_\bd_\bi_\bf_\bi_\be_\br_\bs are avail-
+ able to manipulate the selected words. The entry is split into words
+ in the same fashion as when reading input, so that several _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\b-
+ _\bt_\be_\br-separated words surrounded by quotes are considered one word. The
+ _\be_\bv_\be_\bn_\bt _\bd_\be_\bs_\bi_\bg_\bn_\ba_\bt_\bo_\br selects the event, the optional _\bw_\bo_\br_\bd _\bd_\be_\bs_\bi_\bg_\bn_\ba_\bt_\bo_\br se-
+ lects words from the event, and various optional _\bm_\bo_\bd_\bi_\bf_\bi_\be_\br_\bs are avail-
able to manipulate the selected words.
- History expansions are introduced by the appearance of the history ex-
- pansion character, which is !\b! by default. History expansions may ap-
+ History expansions are introduced by the appearance of the history ex-
+ pansion character, which is !\b! by default. History expansions may ap-
pear anywhere in the input, but do not nest.
- Only backslash (\\b\) and single quotes can quote the history expansion
- character, but the history expansion character is also treated as
+ Only backslash (\\b\) and single quotes can quote the history expansion
+ character, but the history expansion character is also treated as
quoted if it immediately precedes the closing double quote in a double-
quoted string.
- Several characters inhibit history expansion if found immediately fol-
- lowing the history expansion character, even if it is unquoted: space,
- tab, newline, carriage return, =\b=, and the other shell metacharacters
+ Several characters inhibit history expansion if found immediately fol-
+ lowing the history expansion character, even if it is unquoted: space,
+ tab, newline, carriage return, =\b=, and the other shell metacharacters
defined above.
There is a special abbreviation for substitution, active when the _\bq_\bu_\bi_\bc_\bk
- _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn character (described above under h\bhi\bis\bst\btc\bch\bha\bar\brs\bs) is the first
+ _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn character (described above under h\bhi\bis\bst\btc\bch\bha\bar\brs\bs) is the first
character on the line. It selects the previous history list entry, us-
- ing an event designator equivalent to !\b!!\b!, and substitutes one string
- for another in that entry. It is described below under E\bEv\bve\ben\bnt\bt D\bDe\bes\bsi\big\bgn\bna\ba-\b-
- t\bto\bor\brs\bs. This is the only history expansion that does not begin with the
+ ing an event designator equivalent to !\b!!\b!, and substitutes one string
+ for another in that entry. It is described below under E\bEv\bve\ben\bnt\bt D\bDe\bes\bsi\big\bgn\bna\ba-\b-
+ t\bto\bor\brs\bs. This is the only history expansion that does not begin with the
history expansion character.
- Several shell options settable with the s\bsh\bho\bop\bpt\bt builtin will modify his-
- tory expansion behavior (see the description of the s\bsh\bho\bop\bpt\bt builtin be-
+ Several shell options settable with the s\bsh\bho\bop\bpt\bt builtin will modify his-
+ tory expansion behavior (see the description of the s\bsh\bho\bop\bpt\bt builtin be-
low).and If the h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by shell option is enabled, and r\bre\bea\bad\bdl\bli\bin\bne\be is be-
ing used, history substitutions are not immediately passed to the shell
parser. Instead, the expanded line is reloaded into the r\bre\bea\bad\bdl\bli\bin\bne\be edit-
- ing buffer for further modification. If r\bre\bea\bad\bdl\bli\bin\bne\be is being used, and
- the h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt shell option is enabled, a failed history substitution
+ ing buffer for further modification. If r\bre\bea\bad\bdl\bli\bin\bne\be is being used, and
+ the h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt shell option is enabled, a failed history substitution
is reloaded into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer for correction.
- The -\b-p\bp option to the h\bhi\bis\bst\bto\bor\bry\by builtin command shows what a history ex-
- pansion will do before using it. The -\b-s\bs option to the h\bhi\bis\bst\bto\bor\bry\by builtin
- will add commands to the end of the history list without actually exe-
+ The -\b-p\bp option to the h\bhi\bis\bst\bto\bor\bry\by builtin command shows what a history ex-
+ pansion will do before using it. The -\b-s\bs option to the h\bhi\bis\bst\bto\bor\bry\by builtin
+ will add commands to the end of the history list without actually exe-
cuting them, so that they are available for subsequent recall.
- The shell allows control of the various characters used by the history
+ The shell allows control of the various characters used by the history
expansion mechanism (see the description of h\bhi\bis\bst\btc\bch\bha\bar\brs\bs above under S\bSh\bhe\bel\bll\bl
- V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs). The shell uses the history comment character to mark his-
+ V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs). The shell uses the history comment character to mark his-
tory timestamps when writing the history file.
E\bEv\bve\ben\bnt\bt D\bDe\bes\bsi\big\bgn\bna\bat\bto\bor\brs\bs
- An event designator is a reference to an entry in the history list.
+ An event designator is a reference to an entry in the history list.
The event designator consists of the portion of the word beginning with
- the history expansion character and ending with the word designator if
- present, or the end of the word. Unless the reference is absolute,
+ the history expansion character and ending with the word designator if
+ present, or the end of the word. Unless the reference is absolute,
events are relative to the current position in the history list.
- !\b! Start a history substitution, except when followed by a b\bbl\bla\ban\bnk\bk,
- newline, carriage return, =, or, when the e\bex\bxt\btg\bgl\blo\bob\bb shell option
+ !\b! Start a history substitution, except when followed by a b\bbl\bla\ban\bnk\bk,
+ newline, carriage return, =, or, when the e\bex\bxt\btg\bgl\blo\bob\bb shell option
is enabled using the s\bsh\bho\bop\bpt\bt builtin, (.
!\b!_\bn Refer to history list entry _\bn.
!\b!-\b-_\bn Refer to the current entry minus _\bn.
!\b!!\b! Refer to the previous entry. This is a synonym for "!-1".
!\b!_\bs_\bt_\br_\bi_\bn_\bg
- Refer to the most recent command preceding the current position
+ Refer to the most recent command preceding the current position
in the history list starting with _\bs_\bt_\br_\bi_\bn_\bg.
!\b!?\b?_\bs_\bt_\br_\bi_\bn_\bg[\b[?\b?]\b]
- Refer to the most recent command preceding the current position
- in the history list containing _\bs_\bt_\br_\bi_\bn_\bg. The trailing ?\b? may be
- omitted if _\bs_\bt_\br_\bi_\bn_\bg is followed immediately by a newline. If
- _\bs_\bt_\br_\bi_\bn_\bg is missing, this uses the string from the most recent
+ Refer to the most recent command preceding the current position
+ in the history list containing _\bs_\bt_\br_\bi_\bn_\bg. The trailing ?\b? may be
+ omitted if _\bs_\bt_\br_\bi_\bn_\bg is followed immediately by a newline. If
+ _\bs_\bt_\br_\bi_\bn_\bg is missing, this uses the string from the most recent
search; it is an error if there is no previous search string.
^\b^_\bs_\bt_\br_\bi_\bn_\bg_\b1^\b^_\bs_\bt_\br_\bi_\bn_\bg_\b2^\b^
- Quick substitution. Repeat the previous command, replacing
- _\bs_\bt_\br_\bi_\bn_\bg_\b1 with _\bs_\bt_\br_\bi_\bn_\bg_\b2. Equivalent to "!!:s^_\bs_\bt_\br_\bi_\bn_\bg_\b1^_\bs_\bt_\br_\bi_\bn_\bg_\b2^"
+ Quick substitution. Repeat the previous command, replacing
+ _\bs_\bt_\br_\bi_\bn_\bg_\b1 with _\bs_\bt_\br_\bi_\bn_\bg_\b2. Equivalent to "!!:s^_\bs_\bt_\br_\bi_\bn_\bg_\b1^_\bs_\bt_\br_\bi_\bn_\bg_\b2^"
(see M\bMo\bod\bdi\bif\bfi\bie\ber\brs\bs below).
!\b!#\b# The entire command line typed so far.
Word designators are used to select desired words from the event. They
are optional; if the word designator isn't supplied, the history expan-
sion uses the entire event. A :\b: separates the event specification from
- the word designator. It may be omitted if the word designator begins
- with a ^\b^, $\b$, *\b*, -\b-, or %\b%. Words are numbered from the beginning of the
- line, with the first word being denoted by 0 (zero). Words are in-
+ the word designator. It may be omitted if the word designator begins
+ with a ^\b^, $\b$, *\b*, -\b-, or %\b%. Words are numbered from the beginning of the
+ line, with the first word being denoted by 0 (zero). Words are in-
serted into the current line separated by single spaces.
0\b0 (\b(z\bze\ber\bro\bo)\b)
The zeroth word. For the shell, this is the command word.
_\bn The _\bnth word.
^\b^ The first argument: word 1.
- $\b$ The last word. This is usually the last argument, but will ex-
+ $\b$ The last word. This is usually the last argument, but will ex-
pand to the zeroth word if there is only one word in the line.
%\b% The first word matched by the most recent "?_\bs_\bt_\br_\bi_\bn_\bg?" search, if
- the search string begins with a character that is part of a
- word. By default, searches begin at the end of each line and
- proceed to the beginning, so the first word matched is the one
+ the search string begins with a character that is part of a
+ word. By default, searches begin at the end of each line and
+ proceed to the beginning, so the first word matched is the one
closest to the end of the line.
_\bx-\b-_\by A range of words; "-_\by" abbreviates "0-_\by".
- *\b* All of the words but the zeroth. This is a synonym for "_\b1_\b-_\b$".
- It is not an error to use *\b* if there is just one word in the
+ *\b* All of the words but the zeroth. This is a synonym for "_\b1_\b-_\b$".
+ It is not an error to use *\b* if there is just one word in the
event; it expands to the empty string in that case.
x\bx*\b* Abbreviates _\bx_\b-_\b$.
x\bx-\b- Abbreviates _\bx_\b-_\b$ like x\bx*\b*, but omits the last word. If x\bx is miss-
ing, it defaults to 0.
- If a word designator is supplied without an event specification, the
+ If a word designator is supplied without an event specification, the
previous command is used as the event, equivalent to !\b!!\b!.
M\bMo\bod\bdi\bif\bfi\bie\ber\brs\bs
- After the optional word designator, the expansion may include a se-
- quence of one or more of the following modifiers, each preceded by a
- ":". These modify, or edit, the word or words selected from the his-
+ After the optional word designator, the expansion may include a se-
+ quence of one or more of the following modifiers, each preceded by a
+ ":". These modify, or edit, the word or words selected from the his-
tory event.
h\bh Remove a trailing pathname component, leaving only the head.
e\be Remove all but the trailing suffix.
p\bp Print the new command but do not execute it.
q\bq Quote the substituted words, escaping further substitutions.
- x\bx Quote the substituted words as with q\bq, but break into words at
- b\bbl\bla\ban\bnk\bks\bs and newlines. The q\bq and x\bx modifiers are mutually exclu-
+ x\bx Quote the substituted words as with q\bq, but break into words at
+ b\bbl\bla\ban\bnk\bks\bs and newlines. The q\bq and x\bx modifiers are mutually exclu-
sive; expansion uses the last one supplied.
s\bs/\b/_\bo_\bl_\bd/\b/_\bn_\be_\bw/\b/
- Substitute _\bn_\be_\bw for the first occurrence of _\bo_\bl_\bd in the event
+ Substitute _\bn_\be_\bw for the first occurrence of _\bo_\bl_\bd in the event
line. Any character may be used as the delimiter in place of /.
- The final delimiter is optional if it is the last character of
- the event line. A single backslash will quote the delimiter in
- _\bo_\bl_\bd and _\bn_\be_\bw. If & appears in _\bn_\be_\bw, it is replaced with _\bo_\bl_\bd. A
+ The final delimiter is optional if it is the last character of
+ the event line. A single backslash will quote the delimiter in
+ _\bo_\bl_\bd and _\bn_\be_\bw. If & appears in _\bn_\be_\bw, it is replaced with _\bo_\bl_\bd. A
single backslash will quote the &. If _\bo_\bl_\bd is null, it is set to
- the last _\bo_\bl_\bd substituted, or, if no previous history substitu-
- tions took place, the last _\bs_\bt_\br_\bi_\bn_\bg in a !\b!?\b?_\bs_\bt_\br_\bi_\bn_\bg[\b[?\b?]\b] search. If
+ the last _\bo_\bl_\bd substituted, or, if no previous history substitu-
+ tions took place, the last _\bs_\bt_\br_\bi_\bn_\bg in a !\b!?\b?_\bs_\bt_\br_\bi_\bn_\bg[\b[?\b?]\b] search. If
_\bn_\be_\bw is null, each matching _\bo_\bl_\bd is deleted.
&\b& Repeat the previous substitution.
g\bg Cause changes to be applied over the entire event line. This is
- used in conjunction with ":\b:s\bs" (e.g., ":\b:g\bgs\bs/\b/_\bo_\bl_\bd/\b/_\bn_\be_\bw/\b/") or ":\b:&\b&".
- If used with ":\b:s\bs", any delimiter can be used in place of /, and
- the final delimiter is optional if it is the last character of
+ used in conjunction with ":\b:s\bs" (e.g., ":\b:g\bgs\bs/\b/_\bo_\bl_\bd/\b/_\bn_\be_\bw/\b/") or ":\b:&\b&".
+ If used with ":\b:s\bs", any delimiter can be used in place of /, and
+ the final delimiter is optional if it is the last character of
the event line. An a\ba may be used as a synonym for g\bg.
G\bG Apply the following "s\bs" or "&\b&" modifier once to each word in the
event line.
Unless otherwise noted, each builtin command documented in this section
as accepting options preceded by -\b- accepts -\b--\b- to signify the end of the
options. The :\b:, t\btr\bru\bue\be, f\bfa\bal\bls\bse\be, and t\bte\bes\bst\bt/[\b[ builtins do not accept options
- and do not treat -\b--\b- specially. The e\bex\bxi\bit\bt, l\blo\bog\bgo\bou\but\bt, r\bre\bet\btu\bur\brn\bn, b\bbr\bre\bea\bak\bk, c\bco\bon\bn-\b-
- t\bti\bin\bnu\bue\be, l\ble\bet\bt, and s\bsh\bhi\bif\bft\bt builtins accept and process arguments beginning
- with -\b- without requiring -\b--\b-. Other builtins that accept arguments but
- are not specified as accepting options interpret arguments beginning
- with -\b- as invalid options and require -\b--\b- to prevent this interpreta-
+ and do not treat -\b--\b- specially. The e\bex\bxi\bit\bt, l\blo\bog\bgo\bou\but\bt, r\bre\bet\btu\bur\brn\bn, b\bbr\bre\bea\bak\bk, c\bco\bon\bn-\b-
+ t\bti\bin\bnu\bue\be, l\ble\bet\bt, and s\bsh\bhi\bif\bft\bt builtins accept and process arguments beginning
+ with -\b- without requiring -\b--\b-. Other builtins that accept arguments but
+ are not specified as accepting options interpret arguments beginning
+ with -\b- as invalid options and require -\b--\b- to prevent this interpreta-
tion.
:\b: [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
- No effect; the command does nothing beyond expanding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs
+ No effect; the command does nothing beyond expanding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs
and performing any specified redirections. The return status is
zero.
- .\b. [-\b-p\bp _\bp_\ba_\bt_\bh] _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
+ .\b. [-\b-p\bp _\bp_\ba_\bt_\bh] _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
s\bso\bou\bur\brc\bce\be [-\b-p\bp _\bp_\ba_\bt_\bh] _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
- The .\b. command (s\bso\bou\bur\brc\bce\be) reads and execute commands from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
+ The .\b. command (s\bso\bou\bur\brc\bce\be) reads and execute commands from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
in the current shell environment and returns the exit status of
the last command executed from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.
- If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not contain a slash, .\b. searchs for it. If the
- -\b-p\bp option is supplied, .\b. treats _\bp_\ba_\bt_\bh as a colon-separated list
- of directories in which to find _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be; otherwise, .\b. uses the
- entries in P\bPA\bAT\bTH\bH to find the directory containing _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.
- _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not need to be executable. When b\bba\bas\bsh\bh is not in
+ If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not contain a slash, .\b. searches for it. If the
+ -\b-p\bp option is supplied, .\b. treats _\bp_\ba_\bt_\bh as a colon-separated list
+ of directories in which to find _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be; otherwise, .\b. uses the
+ entries in P\bPA\bAT\bTH\bH to find the directory containing _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.
+ _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not need to be executable. When b\bba\bas\bsh\bh is not in
_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, it searches the current directory if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is not
- found in P\bPA\bAT\bTH\bH, but does not search the current directory if -\b-p\bp
+ found in P\bPA\bAT\bTH\bH, but does not search the current directory if -\b-p\bp
is supplied. If the s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh option to the s\bsh\bho\bop\bpt\bt builtin com-
- mand is turned off, .\b. does not search P\bPA\bAT\bTH\bH.
+ mand is turned off, .\b. does not search P\bPA\bAT\bTH\bH.
- If any _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs are supplied, they become the positional para-
- meters when _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is executed. Otherwise the positional pa-
+ If any _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs are supplied, they become the positional para-
+ meters when _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is executed. Otherwise the positional pa-
rameters are unchanged.
If the -\b-T\bT option is enabled, .\b. inherits any trap on D\bDE\bEB\bBU\bUG\bG; if it
- is not, any D\bDE\bEB\bBU\bUG\bG trap string is saved and restored around the
+ is not, any D\bDE\bEB\bBU\bUG\bG trap string is saved and restored around the
call to .\b., and .\b. unsets the D\bDE\bEB\bBU\bUG\bG trap while it executes. If -\b-T\bT
is not set, and the sourced file changes the D\bDE\bEB\bBU\bUG\bG trap, the new
value persists after .\b. completes. The return status is the sta-
tus of the last command executed from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be (0 if no commands
- are executed), and non-zero if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is not found or cannot
+ are executed), and non-zero if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is not found or cannot
be read.
a\bal\bli\bia\bas\bs [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
With no arguments or with the -\b-p\bp option,a\bal\bli\bia\bas\bs prints the list of
- aliases in the form a\bal\bli\bia\bas\bs _\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be on standard output. When
- arguments are supplied, define an alias for each _\bn_\ba_\bm_\be whose
- _\bv_\ba_\bl_\bu_\be is given. A trailing space in _\bv_\ba_\bl_\bu_\be causes the next word
- to be checked for alias substitution when the alias is expanded
- during command parsing. For each _\bn_\ba_\bm_\be in the argument list for
- which no _\bv_\ba_\bl_\bu_\be is supplied, print the name and value of the
- alias _\bn_\ba_\bm_\be. a\bal\bli\bia\bas\bs returns true unless a _\bn_\ba_\bm_\be is given (without
+ aliases in the form a\bal\bli\bia\bas\bs _\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be on standard output. When
+ arguments are supplied, define an alias for each _\bn_\ba_\bm_\be whose
+ _\bv_\ba_\bl_\bu_\be is given. A trailing space in _\bv_\ba_\bl_\bu_\be causes the next word
+ to be checked for alias substitution when the alias is expanded
+ during command parsing. For each _\bn_\ba_\bm_\be in the argument list for
+ which no _\bv_\ba_\bl_\bu_\be is supplied, print the name and value of the
+ alias _\bn_\ba_\bm_\be. a\bal\bli\bia\bas\bs returns true unless a _\bn_\ba_\bm_\be is given (without
a corresponding =_\bv_\ba_\bl_\bu_\be) for which no alias has been defined.
b\bbg\bg [_\bj_\bo_\bb_\bs_\bp_\be_\bc ...]
- Resume each suspended job _\bj_\bo_\bb_\bs_\bp_\be_\bc in the background, as if it
- had been started with &\b&. If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell's
- notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used. b\bbg\bg _\bj_\bo_\bb_\bs_\bp_\be_\bc returns 0 unless
- run when job control is disabled or, when run with job control
- enabled, any specified _\bj_\bo_\bb_\bs_\bp_\be_\bc was not found or was started
+ Resume each suspended job _\bj_\bo_\bb_\bs_\bp_\be_\bc in the background, as if it
+ had been started with &\b&. If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell
+ uses its notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb. b\bbg\bg _\bj_\bo_\bb_\bs_\bp_\be_\bc returns 0 unless
+ run when job control is disabled or, when run with job control
+ enabled, any specified _\bj_\bo_\bb_\bs_\bp_\be_\bc was not found or was started
without job control.
b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] [-\b-l\bls\bsv\bvS\bSV\bVX\bX]
b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] -\b-p\bp|-\b-P\bP [_\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd]
b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] _\bk_\be_\by_\bs_\be_\bq:_\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd
b\bbi\bin\bnd\bd _\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b-_\bl_\bi_\bn_\be
- Display current r\bre\bea\bad\bdl\bli\bin\bne\be key and function bindings, bind a key
- sequence to a r\bre\bea\bad\bdl\bli\bin\bne\be function or macro or to a shell command,
- or set a r\bre\bea\bad\bdl\bli\bin\bne\be variable. Each non-option argument is a key
- binding or command as it would appear in a r\bre\bea\bad\bdl\bli\bin\bne\be initializa-
- tion file such as _\b._\bi_\bn_\bp_\bu_\bt_\br_\bc, but each binding or command must be
- passed as a separate argument; e.g., '"\C-x\C-r":
- re-read-init-file'. In the following descriptions, output
- available to be re-read is formatted as commands that would ap-
+ Display current r\bre\bea\bad\bdl\bli\bin\bne\be key and function bindings, bind a key
+ sequence to a r\bre\bea\bad\bdl\bli\bin\bne\be function or macro or to a shell command,
+ or set a r\bre\bea\bad\bdl\bli\bin\bne\be variable. Each non-option argument is a key
+ binding or command as it would appear in a r\bre\bea\bad\bdl\bli\bin\bne\be initializa-
+ tion file such as _\b._\bi_\bn_\bp_\bu_\bt_\br_\bc, but each binding or command must be
+ passed as a separate argument; e.g., '"\C-x\C-r":
+ re-read-init-file'. In the following descriptions, output
+ available to be re-read is formatted as commands that would ap-
pear in a r\bre\bea\bad\bdl\bli\bin\bne\be initialization file or that would be supplied
- as individual arguments to a b\bbi\bin\bnd\bd command. Options, if sup-
+ as individual arguments to a b\bbi\bin\bnd\bd command. Options, if sup-
plied, have the following meanings:
-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp
Use _\bk_\be_\by_\bm_\ba_\bp as the keymap to be affected by the subsequent
bindings. Acceptable _\bk_\be_\by_\bm_\ba_\bp names are _\be_\bm_\ba_\bc_\bs_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\b-
- _\bd_\ba_\br_\bd_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b, _\bv_\bi_\b, _\bv_\bi_\b-_\bm_\bo_\bv_\be_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd,
- and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt. _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd (_\bv_\bi_\b-_\bm_\bo_\bv_\be
- is also a synonym); _\be_\bm_\ba_\bc_\bs is equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\b-
+ _\bd_\ba_\br_\bd_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b, _\bv_\bi_\b, _\bv_\bi_\b-_\bm_\bo_\bv_\be_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd,
+ and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt. _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd (_\bv_\bi_\b-_\bm_\bo_\bv_\be
+ is also a synonym); _\be_\bm_\ba_\bc_\bs is equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\b-
_\bd_\ba_\br_\bd.
-\b-l\bl List the names of all r\bre\bea\bad\bdl\bli\bin\bne\be functions.
- -\b-p\bp Display r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings in such a
- way that they can be used as an argument to a subsequent
- b\bbi\bin\bnd\bd command or in a r\bre\bea\bad\bdl\bli\bin\bne\be initialization file. If
- arguments remain after option processing, b\bbi\bin\bnd\bd treats
- them as readline command names and restricts output to
- those names.
- -\b-P\bP List current r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings. If
+ -\b-p\bp Display r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings in such a
+ way that they can be used as an argument to a subsequent
+ b\bbi\bin\bnd\bd command or in a r\bre\bea\bad\bdl\bli\bin\bne\be initialization file. If
arguments remain after option processing, b\bbi\bin\bnd\bd treats
them as readline command names and restricts output to
those names.
- -\b-s\bs Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to macros and the
- strings they output in such a way that they can be used
+ -\b-P\bP List current r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings. If
+ arguments remain after option processing, b\bbi\bin\bnd\bd treats
+ them as readline command names and restricts output to
+ those names.
+ -\b-s\bs Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to macros and the
+ strings they output in such a way that they can be used
as an argument to a subsequent b\bbi\bin\bnd\bd command or in a r\bre\bea\bad\bd-\b-
l\bli\bin\bne\be initialization file.
- -\b-S\bS Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to macros and the
+ -\b-S\bS Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to macros and the
strings they output.
- -\b-v\bv Display r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values in such a way
+ -\b-v\bv Display r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values in such a way
that they can be used as an argument to a subsequent b\bbi\bin\bnd\bd
command or in a r\bre\bea\bad\bdl\bli\bin\bne\be initialization file.
-\b-V\bV List current r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values.
-\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
Read key bindings from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.
-\b-q\bq _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn
- Display key sequences that invoke the named r\bre\bea\bad\bdl\bli\bin\bne\be
+ Display key sequences that invoke the named r\bre\bea\bad\bdl\bli\bin\bne\be
_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn.
-\b-u\bu _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn
- Unbind all key sequences bound to the named r\bre\bea\bad\bdl\bli\bin\bne\be
+ Unbind all key sequences bound to the named r\bre\bea\bad\bdl\bli\bin\bne\be
_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn.
-\b-r\br _\bk_\be_\by_\bs_\be_\bq
Remove any current binding for _\bk_\be_\by_\bs_\be_\bq.
-\b-x\bx _\bk_\be_\by_\bs_\be_\bq[\b[:\b: ]\b]_\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd
Cause _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed whenever _\bk_\be_\by_\bs_\be_\bq is en-
tered. The separator between _\bk_\be_\by_\bs_\be_\bq and _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd is
- either whitespace or a colon optionally followed by
- whitespace. If the separator is whitespace, _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\b-
- _\bm_\ba_\bn_\bd must be enclosed in double quotes and r\bre\bea\bad\bdl\bli\bin\bne\be ex-
- pands any of its special backslash-escapes in _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\b-
- _\bm_\ba_\bn_\bd before saving it. If the separator is a colon, any
- enclosing double quotes are optional, and r\bre\bea\bad\bdl\bli\bin\bne\be does
- not expand the command string before saving it. Since
- the entire key binding expression must be a single argu-
- ment, it should be enclosed in single quotes. When
- _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed, the shell sets the R\bRE\bEA\bAD\bD-\b-
- L\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE variable to the contents of the r\bre\bea\bad\bdl\bli\bin\bne\be line
+ either whitespace or a colon optionally followed by
+ whitespace. If the separator is whitespace, _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\b-
+ _\bm_\ba_\bn_\bd must be enclosed in double quotes and r\bre\bea\bad\bdl\bli\bin\bne\be ex-
+ pands any of its special backslash-escapes in _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\b-
+ _\bm_\ba_\bn_\bd before saving it. If the separator is a colon, any
+ enclosing double quotes are optional, and r\bre\bea\bad\bdl\bli\bin\bne\be does
+ not expand the command string before saving it. Since
+ the entire key binding expression must be a single argu-
+ ment, it should be enclosed in single quotes. When
+ _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed, the shell sets the R\bRE\bEA\bAD\bD-\b-
+ L\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE variable to the contents of the r\bre\bea\bad\bdl\bli\bin\bne\be line
buffer and the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT and R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_M\bMA\bAR\bRK\bK variables
- to the current location of the insertion point and the
- saved insertion point (the mark), respectively. The
- shell assigns any numeric argument the user supplied to
- the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_A\bAR\bRG\bGU\bUM\bME\bEN\bNT\bT variable. If there was no argu-
- ment, that variable is not set. If the executed command
- changes the value of any of R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE, R\bRE\bEA\bAD\bD-\b-
- L\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT, or R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_M\bMA\bAR\bRK\bK, those new values will be
+ to the current location of the insertion point and the
+ saved insertion point (the mark), respectively. The
+ shell assigns any numeric argument the user supplied to
+ the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_A\bAR\bRG\bGU\bUM\bME\bEN\bNT\bT variable. If there was no argu-
+ ment, that variable is not set. If the executed command
+ changes the value of any of R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE, R\bRE\bEA\bAD\bD-\b-
+ L\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT, or R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_M\bMA\bAR\bRK\bK, those new values will be
reflected in the editing state.
- -\b-X\bX List all key sequences bound to shell commands and the
- associated commands in a format that can be reused as an
+ -\b-X\bX List all key sequences bound to shell commands and the
+ associated commands in a format that can be reused as an
argument to a subsequent @code{bind} command.
- The return value is 0 unless an unrecognized option is supplied
+ The return value is 0 unless an unrecognized option is supplied
or an error occurred.
b\bbr\bre\bea\bak\bk [_\bn]
- Exit from within a f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or s\bse\bel\ble\bec\bct\bt loop. If _\bn is
+ Exit from within a f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or s\bse\bel\ble\bec\bct\bt loop. If _\bn is
specified, b\bbr\bre\bea\bak\bk exits _\bn enclosing loops. _\bn must be >= 1. If _\bn
- is greater than the number of enclosing loops, all enclosing
+ is greater than the number of enclosing loops, all enclosing
loops are exited. The return value is 0 unless _\bn is not greater
than or equal to 1.
b\bbu\bui\bil\blt\bti\bin\bn _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
- Execute the specified shell builtin _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn, passing it
- _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, and return its exit status. This is useful when
- defining a function whose name is the same as a shell builtin,
- retaining the functionality of the builtin within the function.
- The c\bcd\bd builtin is commonly redefined this way. The return sta-
+ Execute the specified shell builtin _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn, passing it
+ _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, and return its exit status. This is useful when
+ defining a function whose name is the same as a shell builtin,
+ retaining the functionality of the builtin within the function.
+ The c\bcd\bd builtin is commonly redefined this way. The return sta-
tus is false if _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn is not a shell builtin command.
c\bca\bal\bll\ble\ber\br [_\be_\bx_\bp_\br]
Returns the context of any active subroutine call (a shell func-
tion or a script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins).
- Without _\be_\bx_\bp_\br, c\bca\bal\bll\ble\ber\br displays the line number and source file-
- name of the current subroutine call. If a non-negative integer
+ Without _\be_\bx_\bp_\br, c\bca\bal\bll\ble\ber\br displays the line number and source file-
+ name of the current subroutine call. If a non-negative integer
is supplied as _\be_\bx_\bp_\br, c\bca\bal\bll\ble\ber\br displays the line number, subroutine
name, and source file corresponding to that position in the cur-
- rent execution call stack. This extra information may be used,
+ rent execution call stack. This extra information may be used,
for example, to print a stack trace. The current frame is frame
0.
- The return value is 0 unless the shell is not executing a sub-
- routine call or _\be_\bx_\bp_\br does not correspond to a valid position in
+ The return value is 0 unless the shell is not executing a sub-
+ routine call or _\be_\bx_\bp_\br does not correspond to a valid position in
the call stack.
c\bcd\bd [-\b-L\bL|[-\b-P\bP [-\b-e\be]]] [-@] [_\bd_\bi_\br]
- Change the current directory to _\bd_\bi_\br. if _\bd_\bi_\br is not supplied,
- the value of the H\bHO\bOM\bME\bE shell variable is used as _\bd_\bi_\br. The vari-
- able C\bCD\bDP\bPA\bAT\bTH\bH exists, c\bcd\bd uses it as a search path: the shell
+ Change the current directory to _\bd_\bi_\br. if _\bd_\bi_\br is not supplied,
+ the value of the H\bHO\bOM\bME\bE shell variable is used as _\bd_\bi_\br. The vari-
+ able C\bCD\bDP\bPA\bAT\bTH\bH exists, c\bcd\bd uses it as a search path: the shell
searches each directory name in C\bCD\bDP\bPA\bAT\bTH\bH for _\bd_\bi_\br. Alternative di-
- rectory names in C\bCD\bDP\bPA\bAT\bTH\bH are separated by a colon (:). A null
- directory name in C\bCD\bDP\bPA\bAT\bTH\bH is the same as the current directory,
- i.e., ".". If _\bd_\bi_\br begins with a slash (/), then C\bCD\bDP\bPA\bAT\bTH\bH is not
+ rectory names in C\bCD\bDP\bPA\bAT\bTH\bH are separated by a colon (:). A null
+ directory name in C\bCD\bDP\bPA\bAT\bTH\bH is the same as the current directory,
+ i.e., ".". If _\bd_\bi_\br begins with a slash (/), then C\bCD\bDP\bPA\bAT\bTH\bH is not
used.
- The -\b-P\bP option causes c\bcd\bd to use the physical directory structure
+ The -\b-P\bP option causes c\bcd\bd to use the physical directory structure
by resolving symbolic links while traversing _\bd_\bi_\br and before pro-
- cessing instances of _\b._\b. in _\bd_\bi_\br (see also the -\b-P\bP option to the
+ cessing instances of _\b._\b. in _\bd_\bi_\br (see also the -\b-P\bP option to the
s\bse\bet\bt builtin command).
- The -\b-L\bL option forces symbolic links to be followed by resolving
+ The -\b-L\bL option forces symbolic links to be followed by resolving
the link after processing instances of _\b._\b. in _\bd_\bi_\br. If _\b._\b. appears
- in _\bd_\bi_\br, it is processed by removing the immediately previous
+ in _\bd_\bi_\br, it is processed by removing the immediately previous
pathname component from _\bd_\bi_\br, back to a slash or the beginning of
_\bd_\bi_\br.
- If the -\b-e\be option is supplied with -\b-P\bP, and the current working
- directory cannot be successfully determined after a successful
+ If the -\b-e\be option is supplied with -\b-P\bP, and the current working
+ directory cannot be successfully determined after a successful
directory change, c\bcd\bd will return a non-zero status.
- On systems that support it, the -\b-@\b@ option presents the extended
+ On systems that support it, the -\b-@\b@ option presents the extended
attributes associated with a file as a directory.
- An argument of -\b- is converted to $\b$O\bOL\bLD\bDP\bPW\bWD\bD before attempting the
+ An argument of -\b- is converted to $\b$O\bOL\bLD\bDP\bPW\bWD\bD before attempting the
directory change.
- If c\bcd\bd uses a non-empty directory name from C\bCD\bDP\bPA\bAT\bTH\bH,\b, or if -\b- is
- the first argument, and the directory change is successful, c\bcd\bd
+ If c\bcd\bd uses a non-empty directory name from C\bCD\bDP\bPA\bAT\bTH\bH,\b, or if -\b- is
+ the first argument, and the directory change is successful, c\bcd\bd
writes the absolute pathname of the new working directory to the
standard output.
- If the directory change is successful, c\bcd\bd sets the value of the
+ If the directory change is successful, c\bcd\bd sets the value of the
P\bPW\bWD\bD environment variable to the new directory name, and sets the
- O\bOL\bLD\bDP\bPW\bWD\bD environment variable to the value of the current working
+ O\bOL\bLD\bDP\bPW\bWD\bD environment variable to the value of the current working
directory before the change.
- The return value is true if the directory was successfully
+ The return value is true if the directory was successfully
changed; false otherwise.
c\bco\bom\bmm\bma\ban\bnd\bd [-\b-p\bpV\bVv\bv] _\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg ...]
- The c\bco\bom\bmm\bma\ban\bnd\bd builtin runs _\bc_\bo_\bm_\bm_\ba_\bn_\bd with _\ba_\br_\bg_\bs suppressing the nor-
+ The c\bco\bom\bmm\bma\ban\bnd\bd builtin runs _\bc_\bo_\bm_\bm_\ba_\bn_\bd with _\ba_\br_\bg_\bs suppressing the nor-
mal shell function lookup for _\bc_\bo_\bm_\bm_\ba_\bn_\bd. Only builtin commands or
- commands found in the P\bPA\bAT\bTH\bH named _\bc_\bo_\bm_\bm_\ba_\bn_\bd are executed. If the
+ commands found in the P\bPA\bAT\bTH\bH named _\bc_\bo_\bm_\bm_\ba_\bn_\bd are executed. If the
-\b-p\bp option is supplied, the search for _\bc_\bo_\bm_\bm_\ba_\bn_\bd is performed using
- a default value for P\bPA\bAT\bTH\bH that is guaranteed to find all of the
+ a default value for P\bPA\bAT\bTH\bH that is guaranteed to find all of the
standard utilities.
- If either the -\b-V\bV or -\b-v\bv option is supplied, c\bco\bom\bmm\bma\ban\bnd\bd prints a de-
- scription of _\bc_\bo_\bm_\bm_\ba_\bn_\bd. The -\b-v\bv option displays a single word in-
- dicating the command or filename used to invoke _\bc_\bo_\bm_\bm_\ba_\bn_\bd; the -\b-V\bV
+ If either the -\b-V\bV or -\b-v\bv option is supplied, c\bco\bom\bmm\bma\ban\bnd\bd prints a de-
+ scription of _\bc_\bo_\bm_\bm_\ba_\bn_\bd. The -\b-v\bv option displays a single word in-
+ dicating the command or filename used to invoke _\bc_\bo_\bm_\bm_\ba_\bn_\bd; the -\b-V\bV
option produces a more verbose description.
- If the -\b-V\bV or -\b-v\bv option is supplied, the exit status is zero if
- _\bc_\bo_\bm_\bm_\ba_\bn_\bd was found, and non-zero if not. If neither option is
- supplied and an error occurred or _\bc_\bo_\bm_\bm_\ba_\bn_\bd cannot be found, the
- exit status is 127. Otherwise, the exit status of the c\bco\bom\bmm\bma\ban\bnd\bd
+ If the -\b-V\bV or -\b-v\bv option is supplied, the exit status is zero if
+ _\bc_\bo_\bm_\bm_\ba_\bn_\bd was found, and non-zero if not. If neither option is
+ supplied and an error occurred or _\bc_\bo_\bm_\bm_\ba_\bn_\bd cannot be found, the
+ exit status is 127. Otherwise, the exit status of the c\bco\bom\bmm\bma\ban\bnd\bd
builtin is the exit status of _\bc_\bo_\bm_\bm_\ba_\bn_\bd.
c\bco\bom\bmp\bpg\bge\ben\bn [-\b-V\bV _\bv_\ba_\br_\bn_\ba_\bm_\be] [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bw_\bo_\br_\bd]
- Generate possible completion matches for _\bw_\bo_\br_\bd according to the
- _\bo_\bp_\bt_\bi_\bo_\bns, which may be any option accepted by the c\bco\bom\bmp\bpl\ble\bet\bte\be
+ Generate possible completion matches for _\bw_\bo_\br_\bd according to the
+ _\bo_\bp_\bt_\bi_\bo_\bns, which may be any option accepted by the c\bco\bom\bmp\bpl\ble\bet\bte\be
builtin with the exceptions of -\b-p\bp, -\b-r\br, -\b-D\bD, -\b-E\bE, and -\b-I\bI, and write
the matches to the standard output.
- If the -\b-V\bV option is supplied, c\bco\bom\bmp\bpg\bge\ben\bn stores the generated com-
- pletions into the indexed array variable _\bv_\ba_\br_\bn_\ba_\bm_\be instead of
+ If the -\b-V\bV option is supplied, c\bco\bom\bmp\bpg\bge\ben\bn stores the generated com-
+ pletions into the indexed array variable _\bv_\ba_\br_\bn_\ba_\bm_\be instead of
writing them to the standard output.
When using the -\b-F\bF or -\b-C\bC options, the various shell variables set
The matches will be generated in the same way as if the program-
mable completion code had generated them directly from a comple-
- tion specification with the same flags. If _\bw_\bo_\br_\bd is specified,
- only those completions matching _\bw_\bo_\br_\bd will be displayed or
+ tion specification with the same flags. If _\bw_\bo_\br_\bd is specified,
+ only those completions matching _\bw_\bo_\br_\bd will be displayed or
stored.
- The return value is true unless an invalid option is supplied,
+ The return value is true unless an invalid option is supplied,
or no matches were generated.
c\bco\bom\bmp\bpl\ble\bet\bte\be [-\b-a\bab\bbc\bcd\bde\bef\bfg\bgj\bjk\bks\bsu\buv\bv] [-\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bEI\bI] [-\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn]
Specify how arguments to each _\bn_\ba_\bm_\be should be completed.
If the -\b-p\bp option is supplied, or if no options or _\bn_\ba_\bm_\bes are sup-
- plied, print existing completion specifications in a way that
+ plied, print existing completion specifications in a way that
allows them to be reused as input. The -\b-r\br option removes a com-
- pletion specification for each _\bn_\ba_\bm_\be, or, if no _\bn_\ba_\bm_\bes are sup-
+ pletion specification for each _\bn_\ba_\bm_\be, or, if no _\bn_\ba_\bm_\bes are sup-
plied, all completion specifications.
- The -\b-D\bD option indicates that other supplied options and actions
- should apply to the "default" command completion; that is, com-
- pletion attempted on a command for which no completion has pre-
- viously been defined. The -\b-E\bE option indicates that other sup-
- plied options and actions should apply to "empty" command com-
- pletion; that is, completion attempted on a blank line. The -\b-I\bI
- option indicates that other supplied options and actions should
- apply to completion on the initial non-assignment word on the
+ The -\b-D\bD option indicates that other supplied options and actions
+ should apply to the "default" command completion; that is, com-
+ pletion attempted on a command for which no completion has pre-
+ viously been defined. The -\b-E\bE option indicates that other sup-
+ plied options and actions should apply to "empty" command com-
+ pletion; that is, completion attempted on a blank line. The -\b-I\bI
+ option indicates that other supplied options and actions should
+ apply to completion on the initial non-assignment word on the
line, or after a command delimiter such as ;\b; or |\b|, which is usu-
ally command name completion. If multiple options are supplied,
the -\b-D\bD option takes precedence over -\b-E\bE, and both take precedence
- over -\b-I\bI. If any of -\b-D\bD, -\b-E\bE, or -\b-I\bI are supplied, any other _\bn_\ba_\bm_\be
- arguments are ignored; these completions only apply to the case
+ over -\b-I\bI. If any of -\b-D\bD, -\b-E\bE, or -\b-I\bI are supplied, any other _\bn_\ba_\bm_\be
+ arguments are ignored; these completions only apply to the case
specified by the option.
The process of applying these completion specifications when at-
- tempting word completion is described above under P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be
+ tempting word completion is described above under P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be
C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn.
- Other options, if specified, have the following meanings. The
- arguments to the -\b-G\bG, -\b-W\bW, and -\b-X\bX options (and, if necessary, the
- -\b-P\bP and -\b-S\bS options) should be quoted to protect them from expan-
+ Other options, if specified, have the following meanings. The
+ arguments to the -\b-G\bG, -\b-W\bW, and -\b-X\bX options (and, if necessary, the
+ -\b-P\bP and -\b-S\bS options) should be quoted to protect them from expan-
sion before the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin is invoked.
-\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn
- The _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn controls several aspects of the comp-
- spec's behavior beyond the simple generation of comple-
+ The _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn controls several aspects of the comp-
+ spec's behavior beyond the simple generation of comple-
tions. _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn may be one of:
b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt
Perform the rest of the default b\bba\bas\bsh\bh completions
if the compspec generates no matches.
- d\bde\bef\bfa\bau\bul\blt\bt Use r\bre\bea\bad\bdl\bli\bin\bne\be's default filename completion if
+ d\bde\bef\bfa\bau\bul\blt\bt Use r\bre\bea\bad\bdl\bli\bin\bne\be's default filename completion if
the compspec generates no matches.
d\bdi\bir\brn\bna\bam\bme\bes\bs
- Perform directory name completion if the comp-
+ Perform directory name completion if the comp-
spec generates no matches.
f\bfi\bil\ble\ben\bna\bam\bme\bes\bs
- Tell r\bre\bea\bad\bdl\bli\bin\bne\be that the compspec generates file-
- names, so it can perform any filename-specific
- processing (such as adding a slash to directory
- names, quoting special characters, or suppress-
- ing trailing spaces). This is intended to be
+ Tell r\bre\bea\bad\bdl\bli\bin\bne\be that the compspec generates file-
+ names, so it can perform any filename-specific
+ processing (such as adding a slash to directory
+ names, quoting special characters, or suppress-
+ ing trailing spaces). This is intended to be
used with shell functions.
f\bfu\bul\bll\blq\bqu\buo\bot\bte\be
- Tell r\bre\bea\bad\bdl\bli\bin\bne\be to quote all the completed words
+ Tell r\bre\bea\bad\bdl\bli\bin\bne\be to quote all the completed words
even if they are not filenames.
- n\bno\boq\bqu\buo\bot\bte\be Tell r\bre\bea\bad\bdl\bli\bin\bne\be not to quote the completed words
- if they are filenames (quoting filenames is the
+ n\bno\boq\bqu\buo\bot\bte\be Tell r\bre\bea\bad\bdl\bli\bin\bne\be not to quote the completed words
+ if they are filenames (quoting filenames is the
default).
- n\bno\bos\bso\bor\brt\bt Tell r\bre\bea\bad\bdl\bli\bin\bne\be not to sort the list of possible
+ n\bno\bos\bso\bor\brt\bt Tell r\bre\bea\bad\bdl\bli\bin\bne\be not to sort the list of possible
completions alphabetically.
- n\bno\bos\bsp\bpa\bac\bce\be Tell r\bre\bea\bad\bdl\bli\bin\bne\be not to append a space (the de-
- fault) to words completed at the end of the
+ n\bno\bos\bsp\bpa\bac\bce\be Tell r\bre\bea\bad\bdl\bli\bin\bne\be not to append a space (the de-
+ fault) to words completed at the end of the
line.
p\bpl\blu\bus\bsd\bdi\bir\brs\bs
- After generating any matches defined by the
- compspec, attempt directory name completion and
- add any matches to the results of the other ac-
+ After generating any matches defined by the
+ compspec, attempt directory name completion and
+ add any matches to the results of the other ac-
tions.
-\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn
- The _\ba_\bc_\bt_\bi_\bo_\bn may be one of the following to generate a
+ The _\ba_\bc_\bt_\bi_\bo_\bn may be one of the following to generate a
list of possible completions:
a\bal\bli\bia\bas\bs Alias names. May also be specified as -\b-a\ba.
a\bar\brr\bra\bay\byv\bva\bar\br
Array variable names.
b\bbi\bin\bnd\bdi\bin\bng\bg R\bRe\bea\bad\bdl\bli\bin\bne\be key binding names.
- b\bbu\bui\bil\blt\bti\bin\bn Names of shell builtin commands. May also be
+ b\bbu\bui\bil\blt\bti\bin\bn Names of shell builtin commands. May also be
specified as -\b-b\bb.
c\bco\bom\bmm\bma\ban\bnd\bd Command names. May also be specified as -\b-c\bc.
d\bdi\bir\bre\bec\bct\bto\bor\bry\by
d\bdi\bis\bsa\bab\bbl\ble\bed\bd
Names of disabled shell builtins.
e\ben\bna\bab\bbl\ble\bed\bd Names of enabled shell builtins.
- e\bex\bxp\bpo\bor\brt\bt Names of exported shell variables. May also be
+ e\bex\bxp\bpo\bor\brt\bt Names of exported shell variables. May also be
specified as -\b-e\be.
f\bfi\bil\ble\be File names. May also be specified as -\b-f\bf.
f\bfu\bun\bnc\bct\bti\bio\bon\bn
h\bhe\bel\blp\bpt\bto\bop\bpi\bic\bc
Help topics as accepted by the h\bhe\bel\blp\bp builtin.
h\bho\bos\bst\btn\bna\bam\bme\be
- Hostnames, as taken from the file specified by
+ Hostnames, as taken from the file specified by
the H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE shell variable.
- j\bjo\bob\bb Job names, if job control is active. May also
+ j\bjo\bob\bb Job names, if job control is active. May also
be specified as -\b-j\bj.
- k\bke\bey\byw\bwo\bor\brd\bd Shell reserved words. May also be specified as
+ k\bke\bey\byw\bwo\bor\brd\bd Shell reserved words. May also be specified as
-\b-k\bk.
r\bru\bun\bnn\bni\bin\bng\bg Names of running jobs, if job control is active.
s\bse\ber\brv\bvi\bic\bce\be Service names. May also be specified as -\b-s\bs.
- s\bse\bet\bto\bop\bpt\bt Valid arguments for the -\b-o\bo option to the s\bse\bet\bt
+ s\bse\bet\bto\bop\bpt\bt Valid arguments for the -\b-o\bo option to the s\bse\bet\bt
builtin.
- s\bsh\bho\bop\bpt\bt Shell option names as accepted by the s\bsh\bho\bop\bpt\bt
+ s\bsh\bho\bop\bpt\bt Shell option names as accepted by the s\bsh\bho\bop\bpt\bt
builtin.
s\bsi\big\bgn\bna\bal\bl Signal names.
s\bst\bto\bop\bpp\bpe\bed\bd Names of stopped jobs, if job control is active.
Names of all shell variables. May also be spec-
ified as -\b-v\bv.
-\b-C\bC _\bc_\bo_\bm_\bm_\ba_\bn_\bd
- _\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed in a subshell environment, and its
- output is used as the possible completions. Arguments
+ _\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed in a subshell environment, and its
+ output is used as the possible completions. Arguments
are passed as with the -\b-F\bF option.
-\b-F\bF _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn
- The shell function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in the current
- shell environment. When the function is executed, the
+ The shell function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in the current
+ shell environment. When the function is executed, the
first argument ($\b$1\b1) is the name of the command whose ar-
guments are being completed, the second argument ($\b$2\b2) is
the word being completed, and the third argument ($\b$3\b3) is
- the word preceding the word being completed on the cur-
+ the word preceding the word being completed on the cur-
rent command line. When _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn finishes, programmable
- completion retrieves the possible completions from the
+ completion retrieves the possible completions from the
value of the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY array variable.
-\b-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt
- Expand the pathname expansion pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt to gener-
+ Expand the pathname expansion pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt to gener-
ate the possible completions.
-\b-P\bP _\bp_\br_\be_\bf_\bi_\bx
- Add _\bp_\br_\be_\bf_\bi_\bx to the beginning of each possible completion
+ Add _\bp_\br_\be_\bf_\bi_\bx to the beginning of each possible completion
after all other options have been applied.
-\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx
- Append _\bs_\bu_\bf_\bf_\bi_\bx to each possible completion after all
+ Append _\bs_\bu_\bf_\bf_\bi_\bx to each possible completion after all
other options have been applied.
-\b-W\bW _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
- Split the _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt using the characters in the I\bIF\bFS\bS spe-
- cial variable as delimiters, and expand each resulting
- word. Shell quoting is honored within _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt, in or-
- der to provide a mechanism for the words to contain
- shell metacharacters or characters in the value of I\bIF\bFS\bS.
- The possible completions are the members of the resul-
- tant list which match a prefix of the word being com-
+ Split the _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt using the characters in the I\bIF\bFS\bS spe-
+ cial variable as delimiters, and expand each resulting
+ word. Shell quoting is honored within _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt, in or-
+ der to provide a mechanism for the words to contain
+ shell metacharacters or characters in the value of I\bIF\bFS\bS.
+ The possible completions are the members of the resul-
+ tant list which match a prefix of the word being com-
pleted.
-\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt
- _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is a pattern as used for pathname expansion.
+ _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is a pattern as used for pathname expansion.
It is applied to the list of possible completions gener-
- ated by the preceding options and arguments, and each
- completion matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the list.
- A leading !\b! in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the pattern; in this
+ ated by the preceding options and arguments, and each
+ completion matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the list.
+ A leading !\b! in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the pattern; in this
case, any completion not matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed.
- The return value is true unless an invalid option is supplied,
+ The return value is true unless an invalid option is supplied,
an option other than -\b-p\bp, -\b-r\br, -\b-D\bD, -\b-E\bE, or -\b-I\bI is supplied without a
- _\bn_\ba_\bm_\be argument, an attempt is made to remove a completion speci-
+ _\bn_\ba_\bm_\be argument, an attempt is made to remove a completion speci-
fication for a _\bn_\ba_\bm_\be for which no specification exists, or an er-
ror occurs adding a completion specification.
c\bco\bom\bmp\bpo\bop\bpt\bt [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [-\b-D\bDE\bEI\bI] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be]
- Modify completion options for each _\bn_\ba_\bm_\be according to the _\bo_\bp_\b-
+ Modify completion options for each _\bn_\ba_\bm_\be according to the _\bo_\bp_\b-
_\bt_\bi_\bo_\bns, or for the currently-executing completion if no _\bn_\ba_\bm_\bes are
- supplied. If no _\bo_\bp_\bt_\bi_\bo_\bns are supplied, display the completion
- options for each _\bn_\ba_\bm_\be or the current completion. The possible
- values of _\bo_\bp_\bt_\bi_\bo_\bn are those valid for the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin de-
+ supplied. If no _\bo_\bp_\bt_\bi_\bo_\bns are supplied, display the completion
+ options for each _\bn_\ba_\bm_\be or the current completion. The possible
+ values of _\bo_\bp_\bt_\bi_\bo_\bn are those valid for the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin de-
scribed above.
The -\b-D\bD option indicates that other supplied options should apply
- to the "default" command completion; the -\b-E\bE option indicates
+ to the "default" command completion; the -\b-E\bE option indicates
that other supplied options should apply to "empty" command com-
pletion; and the -\b-I\bI option indicates that other supplied options
- should apply to completion on the initial word on the line.
+ should apply to completion on the initial word on the line.
These are determined in the same way as the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin.
If multiple options are supplied, the -\b-D\bD option takes precedence
over -\b-E\bE, and both take precedence over -\b-I\bI.
- The return value is true unless an invalid option is supplied,
+ The return value is true unless an invalid option is supplied,
an attempt is made to modify the options for a _\bn_\ba_\bm_\be for which no
completion specification exists, or an output error occurs.
c\bco\bon\bnt\bti\bin\bnu\bue\be [_\bn]
c\bco\bon\bnt\bti\bin\bnu\bue\be resumes the next iteration of the enclosing f\bfo\bor\br, w\bwh\bhi\bil\ble\be,
- u\bun\bnt\bti\bil\bl, or s\bse\bel\ble\bec\bct\bt loop. If _\bn is specified, b\bba\bas\bsh\bh resumes the _\bnth
- enclosing loop. _\bn must be >= 1. If _\bn is greater than the num-
- ber of enclosing loops, the shell resumes the last enclosing
- loop (the "top-level" loop). The return value is 0 unless _\bn is
+ u\bun\bnt\bti\bil\bl, or s\bse\bel\ble\bec\bct\bt loop. If _\bn is specified, b\bba\bas\bsh\bh resumes the _\bnth
+ enclosing loop. _\bn must be >= 1. If _\bn is greater than the num-
+ ber of enclosing loops, the shell resumes the last enclosing
+ loop (the "top-level" loop). The return value is 0 unless _\bn is
not greater than or equal to 1.
d\bde\bec\bcl\bla\bar\bre\be [-\b-a\baA\bAf\bfF\bFg\bgi\biI\bIl\bln\bnr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
t\bty\byp\bpe\bes\bse\bet\bt [-\b-a\baA\bAf\bfF\bFg\bgi\biI\bIl\bln\bnr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
- Declare variables and/or give them attributes. If no _\bn_\ba_\bm_\bes are
+ Declare variables and/or give them attributes. If no _\bn_\ba_\bm_\bes are
given then display the values of variables or functions. The -\b-p\bp
- option will display the attributes and values of each _\bn_\ba_\bm_\be.
- When -\b-p\bp is used with _\bn_\ba_\bm_\be arguments, additional options, other
+ option will display the attributes and values of each _\bn_\ba_\bm_\be.
+ When -\b-p\bp is used with _\bn_\ba_\bm_\be arguments, additional options, other
than -\b-f\bf and -\b-F\bF, are ignored.
When -\b-p\bp is supplied without _\bn_\ba_\bm_\be arguments, d\bde\bec\bcl\bla\bar\bre\be will display
the attributes and values of all variables having the attributes
- specified by the additional options. If no other options are
+ specified by the additional options. If no other options are
supplied with -\b-p\bp, d\bde\bec\bcl\bla\bar\bre\be will display the attributes and values
- of all shell variables. The -\b-f\bf option restricts the display to
+ of all shell variables. The -\b-f\bf option restricts the display to
shell functions.
The -\b-F\bF option inhibits the display of function definitions; only
- the function name and attributes are printed. If the e\bex\bxt\btd\bde\beb\bbu\bug\bg
- shell option is enabled using s\bsh\bho\bop\bpt\bt, the source file name and
- line number where each _\bn_\ba_\bm_\be is defined are displayed as well.
+ the function name and attributes are printed. If the e\bex\bxt\btd\bde\beb\bbu\bug\bg
+ shell option is enabled using s\bsh\bho\bop\bpt\bt, the source file name and
+ line number where each _\bn_\ba_\bm_\be is defined are displayed as well.
The -\b-F\bF option implies -\b-f\bf.
- The -\b-g\bg option forces variables to be created or modified at the
+ The -\b-g\bg option forces variables to be created or modified at the
global scope, even when d\bde\bec\bcl\bla\bar\bre\be is executed in a shell function.
It is ignored when d\bde\bec\bcl\bla\bar\bre\be is not executed in a shell function.
- The -\b-I\bI option causes local variables to inherit the attributes
- (except the _\bn_\ba_\bm_\be_\br_\be_\bf attribute) and value of any existing vari-
- able with the same _\bn_\ba_\bm_\be at a surrounding scope. If there is no
+ The -\b-I\bI option causes local variables to inherit the attributes
+ (except the _\bn_\ba_\bm_\be_\br_\be_\bf attribute) and value of any existing vari-
+ able with the same _\bn_\ba_\bm_\be at a surrounding scope. If there is no
existing variable, the local variable is initially unset.
- The following options can be used to restrict output to vari-
- ables with the specified attribute or to give variables attrib-
+ The following options can be used to restrict output to vari-
+ ables with the specified attribute or to give variables attrib-
utes:
- -\b-a\ba Each _\bn_\ba_\bm_\be is an indexed array variable (see A\bAr\brr\bra\bay\bys\bs
+ -\b-a\ba Each _\bn_\ba_\bm_\be is an indexed array variable (see A\bAr\brr\bra\bay\bys\bs
above).
- -\b-A\bA Each _\bn_\ba_\bm_\be is an associative array variable (see A\bAr\brr\bra\bay\bys\bs
+ -\b-A\bA Each _\bn_\ba_\bm_\be is an associative array variable (see A\bAr\brr\bra\bay\bys\bs
above).
-\b-f\bf Each _\bn_\ba_\bm_\be refers to a shell function.
-\b-i\bi The variable is treated as an integer; arithmetic evalua-
- tion (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above) is performed when
+ tion (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above) is performed when
the variable is assigned a value.
- -\b-l\bl When the variable is assigned a value, all upper-case
- characters are converted to lower-case. The upper-case
+ -\b-l\bl When the variable is assigned a value, all upper-case
+ characters are converted to lower-case. The upper-case
attribute is disabled.
- -\b-n\bn Give each _\bn_\ba_\bm_\be the _\bn_\ba_\bm_\be_\br_\be_\bf attribute, making it a name
- reference to another variable. That other variable is
- defined by the value of _\bn_\ba_\bm_\be. All references, assign-
- ments, and attribute modifications to _\bn_\ba_\bm_\be, except those
- using or changing the -\b-n\bn attribute itself, are performed
- on the variable referenced by _\bn_\ba_\bm_\be's value. The nameref
+ -\b-n\bn Give each _\bn_\ba_\bm_\be the _\bn_\ba_\bm_\be_\br_\be_\bf attribute, making it a name
+ reference to another variable. That other variable is
+ defined by the value of _\bn_\ba_\bm_\be. All references, assign-
+ ments, and attribute modifications to _\bn_\ba_\bm_\be, except those
+ using or changing the -\b-n\bn attribute itself, are performed
+ on the variable referenced by _\bn_\ba_\bm_\be's value. The nameref
attribute cannot be applied to array variables.
-\b-r\br Make _\bn_\ba_\bm_\bes readonly. These names cannot then be assigned
values by subsequent assignment statements or unset.
-\b-t\bt Give each _\bn_\ba_\bm_\be the _\bt_\br_\ba_\bc_\be attribute. Traced functions in-
- herit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps from the calling shell.
+ herit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps from the calling shell.
The trace attribute has no special meaning for variables.
- -\b-u\bu When the variable is assigned a value, all lower-case
- characters are converted to upper-case. The lower-case
+ -\b-u\bu When the variable is assigned a value, all lower-case
+ characters are converted to upper-case. The lower-case
attribute is disabled.
- -\b-x\bx Mark each _\bn_\ba_\bm_\be for export to subsequent commands via the
+ -\b-x\bx Mark each _\bn_\ba_\bm_\be for export to subsequent commands via the
environment.
- Using "+" instead of "-" turns off the specified attribute in-
+ Using "+" instead of "-" turns off the specified attribute in-
stead, with the exceptions that +\b+a\ba and +\b+A\bA may not be used to de-
- stroy array variables and +\b+r\br will not remove the readonly at-
+ stroy array variables and +\b+r\br will not remove the readonly at-
tribute.
- When used in a function, d\bde\bec\bcl\bla\bar\bre\be and t\bty\byp\bpe\bes\bse\bet\bt make each _\bn_\ba_\bm_\be lo-
- cal, as with the l\blo\boc\bca\bal\bl command, unless the -\b-g\bg option is sup-
- plied. If a variable name is followed by =_\bv_\ba_\bl_\bu_\be, the value of
- the variable is set to _\bv_\ba_\bl_\bu_\be. When using -\b-a\ba or -\b-A\bA and the com-
- pound assignment syntax to create array variables, additional
+ When used in a function, d\bde\bec\bcl\bla\bar\bre\be and t\bty\byp\bpe\bes\bse\bet\bt make each _\bn_\ba_\bm_\be lo-
+ cal, as with the l\blo\boc\bca\bal\bl command, unless the -\b-g\bg option is sup-
+ plied. If a variable name is followed by =_\bv_\ba_\bl_\bu_\be, the value of
+ the variable is set to _\bv_\ba_\bl_\bu_\be. When using -\b-a\ba or -\b-A\bA and the com-
+ pound assignment syntax to create array variables, additional
attributes do not take effect until subsequent assignments.
- The return value is 0 unless an invalid option is encountered,
- an attempt is made to define a function using "-f foo=bar". an
+ The return value is 0 unless an invalid option is encountered,
+ an attempt is made to define a function using "-f foo=bar". an
attempt is made to assign a value to a readonly variable, an at-
tempt is made to assign a value to an array variable without us-
- ing the compound assignment syntax (see A\bAr\brr\bra\bay\bys\bs above), one of
+ ing the compound assignment syntax (see A\bAr\brr\bra\bay\bys\bs above), one of
the _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, an attempt is made
- to turn off readonly status for a readonly variable, an attempt
- is made to turn off array status for an array variable, or an
+ to turn off readonly status for a readonly variable, an attempt
+ is made to turn off array status for an array variable, or an
attempt is made to display a non-existent function with -\b-f\bf.
d\bdi\bir\brs\bs [\b[-\b-c\bcl\blp\bpv\bv]\b] [\b[+\b+_\bn]\b] [\b[-\b-_\bn]\b]
Without options, display the list of currently remembered direc-
- tories. The default display is on a single line with directory
- names separated by spaces. Directories are added to the list
- with the p\bpu\bus\bsh\bhd\bd command; the p\bpo\bop\bpd\bd command removes entries from
- the list. The current directory is always the first directory
+ tories. The default display is on a single line with directory
+ names separated by spaces. Directories are added to the list
+ with the p\bpu\bus\bsh\bhd\bd command; the p\bpo\bop\bpd\bd command removes entries from
+ the list. The current directory is always the first directory
in the stack.
Options, if supplied, have the following meanings:
- -\b-c\bc Clears the directory stack by deleting all of the en-
+ -\b-c\bc Clears the directory stack by deleting all of the en-
tries.
- -\b-l\bl Produces a listing using full pathnames; the default
+ -\b-l\bl Produces a listing using full pathnames; the default
listing format uses a tilde to denote the home directory.
-\b-p\bp Print the directory stack with one entry per line.
- -\b-v\bv Print the directory stack with one entry per line, pre-
+ -\b-v\bv Print the directory stack with one entry per line, pre-
fixing each entry with its index in the stack.
+\b+_\bn Displays the _\bnth entry counting from the left of the list
shown by d\bdi\bir\brs\bs when invoked without options, starting with
zero.
- -\b-_\bn Displays the _\bnth entry counting from the right of the
+ -\b-_\bn Displays the _\bnth entry counting from the right of the
list shown by d\bdi\bir\brs\bs when invoked without options, starting
with zero.
- The return value is 0 unless an invalid option is supplied or _\bn
+ The return value is 0 unless an invalid option is supplied or _\bn
indexes beyond the end of the directory stack.
d\bdi\bis\bso\bow\bwn\bn [-\b-a\bar\br] [-\b-h\bh] [_\bi_\bd ...]
- Without options, remove each _\bi_\bd from the table of active jobs.
- Each _\bi_\bd may be a job specification _\bj_\bo_\bb_\bs_\bp_\be_\bc or a process ID _\bp_\bi_\bd;
- if _\bi_\bd is a _\bp_\bi_\bd, d\bdi\bis\bso\bow\bwn\bn uses the job containing _\bp_\bi_\bd as _\bj_\bo_\bb_\bs_\bp_\be_\bc.
- If _\bi_\bd is not present, and neither the -\b-a\ba nor the -\b-r\br option is
- supplied, d\bdi\bis\bso\bow\bwn\bn removes the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb. If the -\b-h\bh option is
- supplied, the job corresponding to each _\bi_\bd 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 _\bi_\bd is supplied, the -\b-a\ba option means to remove or mark all
- jobs; the -\b-r\br option without an _\bi_\bd argument restricts operation
- to running jobs.
+ Without options, remove each _\bi_\bd from the table of active jobs.
+ Each _\bi_\bd may be a job specification _\bj_\bo_\bb_\bs_\bp_\be_\bc or a process ID _\bp_\bi_\bd;
+ if _\bi_\bd is a _\bp_\bi_\bd, d\bdi\bis\bso\bow\bwn\bn uses the job containing _\bp_\bi_\bd as _\bj_\bo_\bb_\bs_\bp_\be_\bc.
+
+ If the -\b-h\bh option is supplied, d\bdi\bis\bso\bow\bwn\bn does not remove the jobs
+ corresponding to each _\bi_\bd from the jobs table, but rather marks
+ them so the shell does not send S\bSI\bIG\bGH\bHU\bUP\bP to the job if the shell
+ receives a S\bSI\bIG\bGH\bHU\bUP\bP.
+
+ If no _\bi_\bd is supplied, the -\b-a\ba option means to remove or mark all
+ jobs; the -\b-r\br option without an _\bi_\bd argument removes or marks run-
+ ning jobs. If no _\bi_\bd is supplied, and neither the -\b-a\ba nor the -\b-r\br
+ option is supplied, d\bdi\bis\bso\bow\bwn\bn removes or marks the current job.
The return value is 0 unless an _\bi_\bd does not specify a valid job.
e\bec\bch\bho\bo [-\b-n\bne\beE\bE] [_\ba_\br_\bg ...]
- Output the _\ba_\br_\bgs, separated by spaces, followed by a newline.
- The return status is 0 unless a write error occurs. If -\b-n\bn is
+ Output the _\ba_\br_\bgs, separated by spaces, followed by a newline.
+ The return status is 0 unless a write error occurs. If -\b-n\bn is
specified, the trailing newline is not printed.
- If the -\b-e\be option is given, e\bec\bch\bho\bo interprets the following back-
+ If the -\b-e\be option is given, e\bec\bch\bho\bo interprets the following back-
slash-escaped characters. The -\b-E\bE option disables interpretation
- of these escape characters, even on systems where they are in-
- terpreted by default. The x\bxp\bpg\bg_\b_e\bec\bch\bho\bo shell option determines
+ of these escape characters, even on systems where they are in-
+ terpreted by default. The x\bxp\bpg\bg_\b_e\bec\bch\bho\bo shell option determines
whether or not e\bec\bch\bho\bo interprets any options and expands these es-
- cape characters. e\bec\bch\bho\bo does not interpret -\b--\b- to mean the end of
+ cape characters. e\bec\bch\bho\bo does not interpret -\b--\b- to mean the end of
options.
e\bec\bch\bho\bo interprets the following escape sequences:
\\b\t\bt horizontal tab
\\b\v\bv vertical tab
\\b\\\b\ backslash
- \\b\0\b0_\bn_\bn_\bn The eight-bit character whose value is the octal value
+ \\b\0\b0_\bn_\bn_\bn The eight-bit character whose value is the octal value
_\bn_\bn_\bn (zero to three octal digits).
- \\b\x\bx_\bH_\bH The eight-bit character whose value is the hexadecimal
+ \\b\x\bx_\bH_\bH The eight-bit character whose value is the hexadecimal
value _\bH_\bH (one or two hex digits).
- \\b\u\bu_\bH_\bH_\bH_\bH The Unicode (ISO/IEC 10646) character whose value is the
+ \\b\u\bu_\bH_\bH_\bH_\bH The Unicode (ISO/IEC 10646) character whose value is the
hexadecimal value _\bH_\bH_\bH_\bH (one to four hex digits).
\\b\U\bU_\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH
- The Unicode (ISO/IEC 10646) character whose value is the
+ The Unicode (ISO/IEC 10646) character whose value is the
hexadecimal value _\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH (one to eight hex digits).
- e\bec\bch\bho\bo writes any unrecognized backslash-escaped characters un-
+ e\bec\bch\bho\bo writes any unrecognized backslash-escaped characters un-
changed.
e\ben\bna\bab\bbl\ble\be [-\b-a\ba] [-\b-d\bdn\bnp\bps\bs] [-\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [_\bn_\ba_\bm_\be ...]
- Enable and disable builtin shell commands. Disabling a builtin
- allows an executable file which has the same name as a shell
- builtin to be executed without specifying a full pathname, even
+ Enable and disable builtin shell commands. Disabling a builtin
+ allows an executable file which has the same name as a shell
+ builtin to be executed without specifying a full pathname, even
though the shell normally searches for builtins before files.
- If -\b-n\bn is supplied, each _\bn_\ba_\bm_\be is disabled; otherwise, _\bn_\ba_\bm_\bes are
- enabled. For example, to use the t\bte\bes\bst\bt binary found usin g P\bPA\bAT\bTH\bH
+ If -\b-n\bn is supplied, each _\bn_\ba_\bm_\be is disabled; otherwise, _\bn_\ba_\bm_\bes are
+ enabled. For example, to use the t\bte\bes\bst\bt binary found usin g P\bPA\bAT\bTH\bH
instead of the shell builtin version, run "enable -n test".
- If no _\bn_\ba_\bm_\be arguments are supplied, or if the -\b-p\bp option is sup-
+ If no _\bn_\ba_\bm_\be arguments are supplied, or if the -\b-p\bp option is sup-
plied, print a list of shell builtins. With no other option ar-
guments, the list consists of all enabled shell builtins. If -\b-n\bn
- is supplied, print only disabled builtins. If -\b-a\ba is supplied,
- the list printed includes all builtins, with an indication of
+ is supplied, print only disabled builtins. If -\b-a\ba is supplied,
+ the list printed includes all builtins, with an indication of
whether or not each is enabled. The -\b-s\bs option means to restrict
the output to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins.
- The -\b-f\bf option means to load the new builtin command _\bn_\ba_\bm_\be from
+ The -\b-f\bf option means to load the new builtin command _\bn_\ba_\bm_\be from
shared object _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be, on systems that support dynamic loading.
If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not contain a slash, B\bBa\bas\bsh\bh will use the value of
- the B\bBA\bAS\bSH\bH_\b_L\bLO\bOA\bAD\bDA\bAB\bBL\bLE\bES\bS_\b_P\bPA\bAT\bTH\bH variable as a colon-separated list of
- directories in which to search for _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be. The default for
- B\bBA\bAS\bSH\bH_\b_L\bLO\bOA\bAD\bDA\bAB\bBL\bLE\bES\bS_\b_P\bPA\bAT\bTH\bH is system-dependent, and may include "." to
- force a search of the current directory. The -\b-d\bd option will
- delete a builtin previously loaded with -\b-f\bf. If _\b-_\bs is used with
+ the B\bBA\bAS\bSH\bH_\b_L\bLO\bOA\bAD\bDA\bAB\bBL\bLE\bES\bS_\b_P\bPA\bAT\bTH\bH variable as a colon-separated list of
+ directories in which to search for _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be. The default for
+ B\bBA\bAS\bSH\bH_\b_L\bLO\bOA\bAD\bDA\bAB\bBL\bLE\bES\bS_\b_P\bPA\bAT\bTH\bH is system-dependent, and may include "." to
+ force a search of the current directory. The -\b-d\bd option will
+ delete a builtin previously loaded with -\b-f\bf. If _\b-_\bs is used with
_\b-_\bf, the new builtin becomes a POSIX special builtin.
- If no options are supplied and a _\bn_\ba_\bm_\be is not a shell builtin,
- e\ben\bna\bab\bbl\ble\be will attempt to load _\bn_\ba_\bm_\be from a shared object named
+ If no options are supplied and a _\bn_\ba_\bm_\be is not a shell builtin,
+ e\ben\bna\bab\bbl\ble\be will attempt to load _\bn_\ba_\bm_\be from a shared object named
_\bn_\ba_\bm_\be, as if the command were "enable -f _\bn_\ba_\bm_\be _\bn_\ba_\bm_\be".
- The return value is 0 unless a _\bn_\ba_\bm_\be is not a shell builtin or
+ The return value is 0 unless a _\bn_\ba_\bm_\be is not a shell builtin or
there is an error loading a new builtin from a shared object.
e\bev\bva\bal\bl [_\ba_\br_\bg ...]
- Concatenate the _\ba_\br_\bgs together into a single command, separating
+ Concatenate the _\ba_\br_\bgs together into a single command, separating
them with spaces. B\bBa\bas\bsh\bh then reads and execute this command, and
- returns its exit status as the return status of e\bev\bva\bal\bl. If there
+ returns its exit status as the return status of e\bev\bva\bal\bl. If there
are no _\ba_\br_\bg_\bs, or only null arguments, e\bev\bva\bal\bl returns 0.
e\bex\bxe\bec\bc [-\b-c\bcl\bl] [-\b-a\ba _\bn_\ba_\bm_\be] [_\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]]
- If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell without creating
- a new process. _\bc_\bo_\bm_\bm_\ba_\bn_\bd cannot be a shell builtin or function.
+ If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell without creating
+ a new process. _\bc_\bo_\bm_\bm_\ba_\bn_\bd cannot be a shell builtin or function.
The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd. If the -\b-l\bl option
is supplied, the shell places a dash at the beginning of the ze-
- roth argument passed to _\bc_\bo_\bm_\bm_\ba_\bn_\bd. This is what _\bl_\bo_\bg_\bi_\bn(1) does.
- The -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed with an empty envi-
+ roth argument passed to _\bc_\bo_\bm_\bm_\ba_\bn_\bd. This is what _\bl_\bo_\bg_\bi_\bn(1) does.
+ The -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed with an empty envi-
ronment. If -\b-a\ba is supplied, the shell passes _\bn_\ba_\bm_\be as the zeroth
argument to the executed command.
If _\bc_\bo_\bm_\bm_\ba_\bn_\bd cannot be executed for some reason, a non-interactive
- shell exits, unless the e\bex\bxe\bec\bcf\bfa\bai\bil\bl shell option is enabled. In
- that case, it returns a non-zero status. An interactive shell
- returns a non-zero status if the file cannot be executed. A
+ shell exits, unless the e\bex\bxe\bec\bcf\bfa\bai\bil\bl shell option is enabled. In
+ that case, it returns a non-zero status. An interactive shell
+ returns a non-zero status if the file cannot be executed. A
subshell exits unconditionally if e\bex\bxe\bec\bc fails.
If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is not specified, any redirections take effect in the
- current shell, and the return status is 0. If there is a redi-
+ current shell, and the return status is 0. If there is a redi-
rection error, the return status is 1.
e\bex\bxi\bit\bt [_\bn]
- Cause the shell to exit with a status of _\bn. If _\bn is omitted,
- the exit status is that of the last command executed. Any trap
+ Cause the shell to exit with a status of _\bn. If _\bn is omitted,
+ the exit status is that of the last command executed. Any trap
on E\bEX\bXI\bIT\bT is executed before the shell terminates.
e\bex\bxp\bpo\bor\brt\bt [-\b-f\bfn\bn] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be]] ...
e\bex\bxp\bpo\bor\brt\bt -\b-p\bp
- The supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the envi-
- ronment of subsequently executed commands. If the -\b-f\bf option is
+ The supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the envi-
+ ronment of subsequently executed commands. If the -\b-f\bf option is
given, the _\bn_\ba_\bm_\be_\bs refer to functions.
- The -\b-n\bn option unexports, or removes the export attribute, from
- each _\bn_\ba_\bm_\be. If no _\bn_\ba_\bm_\be_\bs are given, or if the -\b-p\bp option is sup-
- plied, e\bex\bxp\bpo\bor\brt\bt prints a list of names of all exported variables
+ The -\b-n\bn option unexports, or removes the export attribute, from
+ each _\bn_\ba_\bm_\be. If no _\bn_\ba_\bm_\be_\bs are given, or if the -\b-p\bp option is sup-
+ plied, e\bex\bxp\bpo\bor\brt\bt prints a list of names of all exported variables
on the standard output.
- e\bex\bxp\bpo\bor\brt\bt allows the value of a variable to be set when it is ex-
+ e\bex\bxp\bpo\bor\brt\bt allows the value of a variable to be set when it is ex-
ported or unexported by following the variable name with =_\bv_\ba_\bl_\bu_\be.
This sets the value of the variable to _\bv_\ba_\bl_\bu_\be while modifying the
- export attribute. e\bex\bxp\bpo\bor\brt\bt returns an exit status of 0 unless an
- invalid option is encountered, one of the _\bn_\ba_\bm_\be_\bs is not a valid
+ export attribute. e\bex\bxp\bpo\bor\brt\bt returns an exit status of 0 unless an
+ invalid option is encountered, one of the _\bn_\ba_\bm_\be_\bs is not a valid
shell variable name, or -\b-f\bf is supplied with a _\bn_\ba_\bm_\be that is not a
function.
f\bfc\bc [-\b-e\be _\be_\bn_\ba_\bm_\be] [-\b-l\bln\bnr\br] [_\bf_\bi_\br_\bs_\bt] [_\bl_\ba_\bs_\bt]
f\bfc\bc -\b-s\bs [_\bp_\ba_\bt=_\br_\be_\bp] [_\bc_\bm_\bd]
- The first form selects a range of commands from _\bf_\bi_\br_\bs_\bt to _\bl_\ba_\bs_\bt
- from the history list and displays or edits and re-executes
- them. _\bF_\bi_\br_\bs_\bt and _\bl_\ba_\bs_\bt may be specified as a string (to locate
- the last command beginning with that string) or as a number (an
- index into the history list, where a negative number is used as
+ The first form selects a range of commands from _\bf_\bi_\br_\bs_\bt to _\bl_\ba_\bs_\bt
+ from the history list and displays or edits and re-executes
+ them. _\bF_\bi_\br_\bs_\bt and _\bl_\ba_\bs_\bt may be specified as a string (to locate
+ the last command beginning with that string) or as a number (an
+ index into the history list, where a negative number is used as
an offset from the current command number).
When listing, a _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt of 0 is equivalent to -1 and -0 is
equivalent to the current command (usually the f\bfc\bc command); oth-
- erwise 0 is equivalent to -1 and -0 is invalid. If _\bl_\ba_\bs_\bt is not
+ erwise 0 is equivalent to -1 and -0 is invalid. If _\bl_\ba_\bs_\bt is not
specified, it is set to the current command for listing (so that
"fc -l -10" prints the last 10 commands) and to _\bf_\bi_\br_\bs_\bt otherwise.
If _\bf_\bi_\br_\bs_\bt is not specified, it is set to the previous command for
editing and -16 for listing.
- If the -\b-l\bl option is supplied, the commands are listed on the
- standard output. The -\b-n\bn option suppresses the command numbers
+ If the -\b-l\bl option is supplied, the commands are listed on the
+ standard output. The -\b-n\bn option suppresses the command numbers
when listing. The -\b-r\br option reverses the order of the commands.
- Otherwise, f\bfc\bc invokes the editor named by _\be_\bn_\ba_\bm_\be on a file con-
- taining those commands. If _\be_\bn_\ba_\bm_\be is not supplied, f\bfc\bc uses the
- value of the F\bFC\bCE\bED\bDI\bIT\bT variable, and the value of E\bED\bDI\bIT\bTO\bOR\bR if F\bFC\bCE\bED\bDI\bIT\bT
- is not set. If neither variable is set, f\bfc\bc uses _\bv_\bi_\b. When edit-
- ing is complete, f\bfc\bc reads the file containing the edited com-
+ Otherwise, f\bfc\bc invokes the editor named by _\be_\bn_\ba_\bm_\be on a file con-
+ taining those commands. If _\be_\bn_\ba_\bm_\be is not supplied, f\bfc\bc uses the
+ value of the F\bFC\bCE\bED\bDI\bIT\bT variable, and the value of E\bED\bDI\bIT\bTO\bOR\bR if F\bFC\bCE\bED\bDI\bIT\bT
+ is not set. If neither variable is set, f\bfc\bc uses _\bv_\bi_\b. When edit-
+ ing is complete, f\bfc\bc reads the file containing the edited com-
mands and echoes and executes them.
- In the second form, f\bfc\bc re-executes _\bc_\bo_\bm_\bm_\ba_\bn_\bd after replacing each
- instance of _\bp_\ba_\bt with _\br_\be_\bp. _\bC_\bo_\bm_\bm_\ba_\bn_\bd is interpreted the same as
+ In the second form, f\bfc\bc re-executes _\bc_\bo_\bm_\bm_\ba_\bn_\bd after replacing each
+ instance of _\bp_\ba_\bt with _\br_\be_\bp. _\bC_\bo_\bm_\bm_\ba_\bn_\bd is interpreted the same as
_\bf_\bi_\br_\bs_\bt above.
- A useful alias to use with f\bfc\bc is "r="fc -s"", so that typing "r
+ A useful alias to use with f\bfc\bc is "r="fc -s"", so that typing "r
cc" runs the last command beginning with "cc" and typing "r" re-
executes the last command.
- If the first form is used, the return value is zero unless an
- invalid option is encountered or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt specify history
- lines out of range. When editing and re-executing a file of
+ If the first form is used, the return value is zero unless an
+ invalid option is encountered or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt specify history
+ lines out of range. When editing and re-executing a file of
commands, the return value is the value of the last command exe-
cuted or failure if an error occurs with the temporary file. If
the second form is used, the return status is that of the re-ex-
- ecuted command, unless _\bc_\bm_\bd does not specify a valid history en-
+ ecuted command, unless _\bc_\bm_\bd does not specify a valid history en-
try, in which case f\bfc\bc returns a non-zero status.
f\bfg\bg [_\bj_\bo_\bb_\bs_\bp_\be_\bc]
- Resume _\bj_\bo_\bb_\bs_\bp_\be_\bc in the foreground, and make it the current job.
- If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, use the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt
- _\bj_\bo_\bb. The return value is that of the command placed into the
- foreground, or failure if run when job control is disabled or,
- when run with job control enabled, if _\bj_\bo_\bb_\bs_\bp_\be_\bc does not specify a
- valid job or _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies a job that was started without
- job control.
+ Resume _\bj_\bo_\bb_\bs_\bp_\be_\bc in the foreground, and make it the current job.
+ If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, f\bfg\bg uses the shell's notion of the
+ _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb. The return value is that of the command placed
+ into the foreground, or failure if run when job control is dis-
+ abled or, when run with job control enabled, if _\bj_\bo_\bb_\bs_\bp_\be_\bc does not
+ specify a valid job or _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies a job that was started
+ without job control.
g\bge\bet\bto\bop\bpt\bts\bs _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg _\bn_\ba_\bm_\be [_\ba_\br_\bg ...]
g\bge\bet\bto\bop\bpt\bts\bs is used by shell scripts and functions to parse posi-
_\bc_\bo_\bm_\bm_\ba_\bn_\bd or _\ba_\br_\bg_\bs with the corresponding process group ID, and ex-
ecutes _\bc_\bo_\bm_\bm_\ba_\bn_\bd, passing it _\ba_\br_\bg_\bs, returning its exit status.
- k\bki\bil\bll\bl [-\b-s\bs _\bs_\bi_\bg_\bs_\bp_\be_\bc | -\b-n\bn _\bs_\bi_\bg_\bn_\bu_\bm | -\b-_\bs_\bi_\bg_\bs_\bp_\be_\bc] [_\bp_\bi_\bd | _\bj_\bo_\bb_\bs_\bp_\be_\bc] ...
+ k\bki\bil\bll\bl [-\b-s\bs _\bs_\bi_\bg_\bs_\bp_\be_\bc | -\b-n\bn _\bs_\bi_\bg_\bn_\bu_\bm | -\b-_\bs_\bi_\bg_\bs_\bp_\be_\bc] _\bi_\bd [ ... ]
k\bki\bil\bll\bl -\b-l\bl|-\b-L\bL [_\bs_\bi_\bg_\bs_\bp_\be_\bc | _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs]
Send the signal specified by _\bs_\bi_\bg_\bs_\bp_\be_\bc or _\bs_\bi_\bg_\bn_\bu_\bm to the processes
- named by _\bp_\bi_\bd or _\bj_\bo_\bb_\bs_\bp_\be_\bc. _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a case-insensitive
- signal name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix) or
- a signal number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number. If _\bs_\bi_\bg_\bs_\bp_\be_\bc is not
- supplied, then k\bki\bil\bll\bl sends S\bSI\bIG\bGT\bTE\bER\bRM\bM.
-
- An argument of -\b-l\bl lists the signal names. If any arguments are
- supplied when -\b-l\bl is given, k\bki\bil\bll\bl lists the names of the signals
- corresponding to the arguments, and the return status is 0. The
- _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs argument to -\b-l\bl is a number specifying either a sig-
- nal number or the exit status of a process terminated by a sig-
- nal. The -\b-L\bL option is equivalent to -\b-l\bl.
+ named by each _\bi_\bd. Each _\bi_\bd may be a job specification _\bj_\bo_\bb_\bs_\bp_\be_\bc or
+ a process ID _\bp_\bi_\bd. _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a case-insensitive signal
+ name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix) or a sig-
+ nal number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number. If _\bs_\bi_\bg_\bs_\bp_\be_\bc is not sup-
+ plied, then k\bki\bil\bll\bl sends S\bSI\bIG\bGT\bTE\bER\bRM\bM.
+
+ The -\b-l\bl option lists the signal names. If any arguments are sup-
+ plied when -\b-l\bl is given, k\bki\bil\bll\bl lists the names of the signals cor-
+ responding to the arguments, and the return status is 0. The
+ _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs argument to -\b-l\bl is a number specifying either a sig-
+ nal number or the exit status of a process terminated by a sig-
+ nal; if it is supplied, k\bki\bil\bll\bl prints the name of the signal that
+ caused the process to terminate. k\bki\bil\bll\bl assumes that process exit
+ statuses are greater than 128; anything less than that is a sig-
+ nal number. The -\b-L\bL option is equivalent to -\b-l\bl.
k\bki\bil\bll\bl returns true if at least one signal was successfully sent,
or false if an error occurs or an invalid option is encountered.
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
- V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs above).
+ V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs <\b< 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.
n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br
w\bwa\bai\bit\bt [-\b-f\bfn\bn] [-\b-p\bp _\bv_\ba_\br_\bn_\ba_\bm_\be] [_\bi_\bd ...]
Wait for each specified child process _\bi_\bd and return the termina-
- tion status of the last _\bi_\bd. Each _\bi_\bd may be a process ID or a
- job specification; if a job spec is supplied, w\bwa\bai\bit\bt waits for all
- processes in the job.
+ tion status of the last _\bi_\bd. Each _\bi_\bd may be a process ID _\bp_\bi_\bd or
+ a job specification _\bj_\bo_\bb_\bs_\bp_\be_\bc; if a jobspec is supplied, w\bwa\bai\bit\bt
+ waits for all processes in the job.
- If no options or _\bi_\bds are supplied, w\bwa\bai\bit\bt waits for all running
- background jobs and the last-executed process substitution, if
+ If no options or _\bi_\bds are supplied, w\bwa\bai\bit\bt waits for all running
+ background jobs and the last-executed process substitution, if
its process id is the same as $\b$!\b!, and the return status is zero.
- If the -\b-n\bn option is supplied, w\bwa\bai\bit\bt waits for any one of the
+ If the -\b-n\bn option is supplied, w\bwa\bai\bit\bt waits for any one of the
given _\bi_\bds or, if no _\bi_\bds are supplied, any job or process substi-
tution, to complete and returns its exit status. If none of the
- supplied _\bi_\bds is a child of the shell, or if no _\bi_\bds are supplied
- and the shell has no unwaited-for children, the exit status is
+ supplied _\bi_\bds is a child of the shell, or if no _\bi_\bds are supplied
+ and the shell has no unwaited-for children, the exit status is
127.
- If the -\b-p\bp option is supplied, the process or job identifier of
- the job for which the exit status is returned is assigned to the
- variable _\bv_\ba_\br_\bn_\ba_\bm_\be named by the option argument. The variable,
- which cannot be readonly, will be unset initially, before any
- assignment. This is useful only when the -\b-n\bn option is supplied.
+ If the -\b-p\bp option is supplied, w\bwa\bai\bit\bt assigns the process or job
+ identifier of the job for which the exit status is returned to
+ the variable _\bv_\ba_\br_\bn_\ba_\bm_\be named by the option argument. The vari-
+ able, which cannot be readonly, will be unset initially, before
+ any assignment. This is useful only when used with the -\b-n\bn op-
+ tion.
- Supplying the -\b-f\bf option, when job control is enabled, forces
- w\bwa\bai\bit\bt to wait for each _\bi_\bd to terminate before returning its sta-
+ Supplying the -\b-f\bf option, when job control is enabled, forces
+ w\bwa\bai\bit\bt to wait for each _\bi_\bd to terminate before returning its sta-
tus, instead of returning when it changes status.
- If none of the _\bi_\bds specify one of the shell's active child
- processes, the return status is 127. If w\bwa\bai\bit\bt is interrupted by
- a signal, any _\bv_\ba_\br_\bn_\ba_\bm_\be will remain unset, and the return status
- will be greater than 128, as described under S\bSI\bIG\bGN\bNA\bAL\bLS\bS above.
+ If none of the _\bi_\bds specify one of the shell's active child
+ processes, the return status is 127. If w\bwa\bai\bit\bt is interrupted by
+ a signal, any _\bv_\ba_\br_\bn_\ba_\bm_\be will remain unset, and the return status
+ will be greater than 128, as described under S\bSI\bIG\bGN\bNA\bAL\bLS\bS above.
Otherwise, the return status is the exit status of the last _\bi_\bd.
S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE
- Bash-4.0 introduced the concept of a _\bs_\bh_\be_\bl_\bl _\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bi_\bl_\bi_\bt_\by _\bl_\be_\bv_\be_\bl, speci-
+ Bash-4.0 introduced the concept of a _\bs_\bh_\be_\bl_\bl _\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bi_\bl_\bi_\bt_\by _\bl_\be_\bv_\be_\bl, speci-
fied as a set of options to the shopt builtin (c\bco\bom\bmp\bpa\bat\bt3\b31\b1, c\bco\bom\bmp\bpa\bat\bt3\b32\b2, c\bco\bom\bm-\b-
- p\bpa\bat\bt4\b40\b0, c\bco\bom\bmp\bpa\bat\bt4\b41\b1, and so on). There is only one current compatibility
+ p\bpa\bat\bt4\b40\b0, c\bco\bom\bmp\bpa\bat\bt4\b41\b1, and so on). There is only one current compatibility
level -- each option is mutually exclusive. The compatibility level is
- intended to allow users to select behavior from previous versions that
- is incompatible with newer versions while they migrate scripts to use
- current features and behavior. It's intended to be a temporary solu-
+ intended to allow users to select behavior from previous versions that
+ is incompatible with newer versions while they migrate scripts to use
+ current features and behavior. It's intended to be a temporary solu-
tion.
- This section does not mention behavior that is standard for a particu-
- lar version (e.g., setting c\bco\bom\bmp\bpa\bat\bt3\b32\b2 means that quoting the right hand
- side of the regexp matching operator quotes special regexp characters
- in the word, which is default behavior in bash-3.2 and subsequent ver-
+ This section does not mention behavior that is standard for a particu-
+ lar version (e.g., setting c\bco\bom\bmp\bpa\bat\bt3\b32\b2 means that quoting the right hand
+ side of the regexp matching operator quotes special regexp characters
+ in the word, which is default behavior in bash-3.2 and subsequent ver-
sions).
- If a user enables, say, c\bco\bom\bmp\bpa\bat\bt3\b32\b2, it may affect the behavior of other
- compatibility levels up to and including the current compatibility
- level. The idea is that each compatibility level controls behavior
- that changed in that version of b\bba\bas\bsh\bh, but that behavior may have been
- present in earlier versions. For instance, the change to use locale-
- based comparisons with the [\b[[\b[ command came in bash-4.1, and earlier
+ If a user enables, say, c\bco\bom\bmp\bpa\bat\bt3\b32\b2, it may affect the behavior of other
+ compatibility levels up to and including the current compatibility
+ level. The idea is that each compatibility level controls behavior
+ that changed in that version of b\bba\bas\bsh\bh, but that behavior may have been
+ present in earlier versions. For instance, the change to use locale-
+ based comparisons with the [\b[[\b[ command came in bash-4.1, and earlier
versions used ASCII-based comparisons, so enabling c\bco\bom\bmp\bpa\bat\bt3\b32\b2 will enable
- ASCII-based comparisons as well. That granularity may not be suffi-
- cient for all uses, and as a result users should employ compatibility
- levels carefully. Read the documentation for a particular feature to
+ ASCII-based comparisons as well. That granularity may not be suffi-
+ cient for all uses, and as a result users should employ compatibility
+ levels carefully. Read the documentation for a particular feature to
find out the current behavior.
- Bash-4.3 introduced a new shell variable: B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT. The value as-
+ Bash-4.3 introduced a new shell variable: B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT. The value as-
signed to this variable (a decimal version number like 4.2, or an inte-
- ger corresponding to the c\bco\bom\bmp\bpa\bat\bt_\bN_\bN option, like 42) determines the com-
+ ger corresponding to the c\bco\bom\bmp\bpa\bat\bt_\bN_\bN option, like 42) determines the com-
patibility level.
Starting with bash-4.4, b\bba\bas\bsh\bh began deprecating older compatibility lev-
els. Eventually, the options will be removed in favor of B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT.
- Bash-5.0 was the final version for which there was an individual shopt
- option for the previous version. B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT is the only mechanism to
+ Bash-5.0 was the final version for which there was an individual shopt
+ option for the previous version. B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT is the only mechanism to
control the compatibility level in versions newer than bash-5.0.
- The following table describes the behavior changes controlled by each
+ The following table describes the behavior changes controlled by each
compatibility level setting. The c\bco\bom\bmp\bpa\bat\bt_\bN_\bN tag is used as shorthand for
setting the compatibility level to _\bN_\bN using one of the following mecha-
- nisms. For versions prior to bash-5.0, the compatibility level may be
- set using the corresponding c\bco\bom\bmp\bpa\bat\bt_\bN_\bN shopt option. For bash-4.3 and
- later versions, the B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT variable is preferred, and it is re-
+ nisms. For versions prior to bash-5.0, the compatibility level may be
+ set using the corresponding c\bco\bom\bmp\bpa\bat\bt_\bN_\bN shopt option. For bash-4.3 and
+ later versions, the B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT variable is preferred, and it is re-
quired for bash-5.1 and later versions.
c\bco\bom\bmp\bpa\bat\bt3\b31\b1
ator (=~) has no special effect.
c\bco\bom\bmp\bpa\bat\bt3\b32\b2
- +\bo The <\b< and >\b> operators to the [\b[[\b[ command do not consider
+ +\bo The <\b< and >\b> operators to the [\b[[\b[ command do not consider
the current locale when comparing strings; they use ASCII
ordering.
c\bco\bom\bmp\bpa\bat\bt4\b40\b0
- +\bo The <\b< and >\b> operators to the [\b[[\b[ command do not consider
+ +\bo The <\b< and >\b> operators to the [\b[[\b[ command do not consider
the current locale when comparing strings; they use ASCII
ordering. B\bBa\bas\bsh\bh versions prior to bash-4.1 use ASCII col-
- lation and _\bs_\bt_\br_\bc_\bm_\bp(3); bash-4.1 and later use the current
+ lation and _\bs_\bt_\br_\bc_\bm_\bp(3); bash-4.1 and later use the current
locale's collation sequence and _\bs_\bt_\br_\bc_\bo_\bl_\bl(3).
c\bco\bom\bmp\bpa\bat\bt4\b41\b1
- +\bo In _\bp_\bo_\bs_\bi_\bx mode, t\bti\bim\bme\be may be followed by options and still
+ +\bo In _\bp_\bo_\bs_\bi_\bx mode, t\bti\bim\bme\be may be followed by options and still
be recognized as a reserved word (this is POSIX interpre-
tation 267).
+\bo In _\bp_\bo_\bs_\bi_\bx mode, the parser requires that an even number of
- single quotes occur in the _\bw_\bo_\br_\bd portion of a double-
- quoted parameter expansion and treats them specially, so
- that characters within the single quotes are considered
+ single quotes occur in the _\bw_\bo_\br_\bd portion of a double-
+ quoted parameter expansion and treats them specially, so
+ that characters within the single quotes are considered
quoted (this is POSIX interpretation 221).
c\bco\bom\bmp\bpa\bat\bt4\b42\b2
+\bo The replacement string in double-quoted pattern substitu-
- tion does not undergo quote removal, as it does in ver-
+ tion does not undergo quote removal, as it does in ver-
sions after bash-4.2.
- +\bo In posix mode, single quotes are considered special when
- expanding the _\bw_\bo_\br_\bd portion of a double-quoted parameter
- expansion and can be used to quote a closing brace or
- other special character (this is part of POSIX interpre-
- tation 221); in later versions, single quotes are not
+ +\bo In posix mode, single quotes are considered special when
+ expanding the _\bw_\bo_\br_\bd portion of a double-quoted parameter
+ expansion and can be used to quote a closing brace or
+ other special character (this is part of POSIX interpre-
+ tation 221); in later versions, single quotes are not
special within double-quoted word expansions.
c\bco\bom\bmp\bpa\bat\bt4\b43\b3
- +\bo Word expansion errors are considered non-fatal errors
- that cause the current command to fail, even in posix
- mode (the default behavior is to make them fatal errors
+ +\bo Word expansion errors are considered non-fatal errors
+ that cause the current command to fail, even in posix
+ mode (the default behavior is to make them fatal errors
that cause the shell to exit).
- +\bo When executing a shell function, the loop state
+ +\bo When executing a shell function, the loop state
(while/until/etc.) is not reset, so b\bbr\bre\bea\bak\bk or c\bco\bon\bnt\bti\bin\bnu\bue\be in
that function will break or continue loops in the calling
context. Bash-4.4 and later reset the loop state to pre-
vent this.
c\bco\bom\bmp\bpa\bat\bt4\b44\b4
- +\bo The shell sets up the values used by B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV and
- B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC so they can expand to the shell's positional
- parameters even if extended debugging mode is not en-
+ +\bo The shell sets up the values used by B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV and
+ B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC so they can expand to the shell's positional
+ parameters even if extended debugging mode is not en-
abled.
- +\bo A subshell inherits loops from its parent context, so
- b\bbr\bre\bea\bak\bk or c\bco\bon\bnt\bti\bin\bnu\bue\be will cause the subshell to exit.
- Bash-5.0 and later reset the loop state to prevent the
+ +\bo A subshell inherits loops from its parent context, so
+ b\bbr\bre\bea\bak\bk or c\bco\bon\bnt\bti\bin\bnu\bue\be will cause the subshell to exit.
+ Bash-5.0 and later reset the loop state to prevent the
exit
- +\bo Variable assignments preceding builtins like e\bex\bxp\bpo\bor\brt\bt and
+ +\bo Variable assignments preceding builtins like e\bex\bxp\bpo\bor\brt\bt and
r\bre\bea\bad\bdo\bon\bnl\bly\by that set attributes continue to affect variables
with the same name in the calling environment even if the
shell is not in posix mode.
c\bco\bom\bmp\bpa\bat\bt5\b50\b0
- +\bo Bash-5.1 changed the way $\b$R\bRA\bAN\bND\bDO\bOM\bM is generated to intro-
- duce slightly more randomness. If the shell compatibil-
+ +\bo Bash-5.1 changed the way $\b$R\bRA\bAN\bND\bDO\bOM\bM is generated to intro-
+ duce slightly more randomness. If the shell compatibil-
ity level is set to 50 or lower, it reverts to the method
- from bash-5.0 and previous versions, so seeding the ran-
- dom number generator by assigning a value to R\bRA\bAN\bND\bDO\bOM\bM will
+ from bash-5.0 and previous versions, so seeding the ran-
+ dom number generator by assigning a value to R\bRA\bAN\bND\bDO\bOM\bM will
produce the same sequence as in bash-5.0.
- +\bo If the command hash table is empty, bash versions prior
- to bash-5.1 printed an informational message to that ef-
- fect, even when producing output that can be reused as
- input. Bash-5.1 suppresses that message when the -\b-l\bl op-
+ +\bo If the command hash table is empty, bash versions prior
+ to bash-5.1 printed an informational message to that ef-
+ fect, even when producing output that can be reused as
+ input. Bash-5.1 suppresses that message when the -\b-l\bl op-
tion is supplied.
c\bco\bom\bmp\bpa\bat\bt5\b51\b1
- +\bo The u\bun\bns\bse\bet\bt builtin treats attempts to unset array sub-
- scripts @\b@ and *\b* differently depending on whether the ar-
- ray is indexed or associative, and differently than in
+ +\bo The u\bun\bns\bse\bet\bt builtin treats attempts to unset array sub-
+ scripts @\b@ and *\b* differently depending on whether the ar-
+ ray is indexed or associative, and differently than in
previous versions.
+\bo Arithmetic commands ( (\b((\b(...)\b))\b) ) and the expressions in an
arithmetic for statement can be expanded more than once.
- +\bo Expressions used as arguments to arithmetic operators in
- the [\b[[\b[ conditional command can be expanded more than
+ +\bo Expressions used as arguments to arithmetic operators in
+ the [\b[[\b[ conditional command can be expanded more than
once.
- +\bo The expressions in substring parameter brace expansion
+ +\bo The expressions in substring parameter brace expansion
can be expanded more than once.
+\bo The expressions in the $\b$(\b((\b(...)\b))\b) word expansion can be ex-
panded more than once.
- +\bo Arithmetic expressions used as indexed array subscripts
+ +\bo Arithmetic expressions used as indexed array subscripts
can be expanded more than once.
- +\bo t\bte\bes\bst\bt -\b-v\bv, when given an argument of A\bA[\b[@\b@]\b], where A\bA is an
+ +\bo t\bte\bes\bst\bt -\b-v\bv, when given an argument of A\bA[\b[@\b@]\b], where A\bA is an
existing associative array, will return true if the array
- has any set elements. Bash-5.2 will look for and report
+ has any set elements. Bash-5.2 will look for and report
on a key named @\b@.
+\bo The ${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br[\b[:\b:]\b]=\b=_\bv_\ba_\bl_\bu_\be} word expansion will return
- _\bv_\ba_\bl_\bu_\be, before any variable-specific transformations have
+ _\bv_\ba_\bl_\bu_\be, before any variable-specific transformations have
been performed (e.g., converting to lowercase). Bash-5.2
will return the final value assigned to the variable.
- +\bo Parsing command substitutions will behave as if extended
+ +\bo Parsing command substitutions will behave as if extended
globbing (see the description of the s\bsh\bho\bop\bpt\bt builtin above)
- is enabled, so that parsing a command substitution con-
+ is enabled, so that parsing a command substitution con-
taining an extglob pattern (say, as part of a shell func-
- tion) will not fail. This assumes the intent is to en-
- able extglob before the command is executed and word ex-
- pansions are performed. It will fail at word expansion
- time if extglob hasn't been enabled by the time the com-
+ tion) will not fail. This assumes the intent is to en-
+ able extglob before the command is executed and word ex-
+ pansions are performed. It will fail at word expansion
+ time if extglob hasn't been enabled by the time the com-
mand is executed.
c\bco\bom\bmp\bpa\bat\bt5\b52\b2
- +\bo The t\bte\bes\bst\bt builtin uses its historical algorithm to parse
- parenthesized subexpressions when given five or more ar-
+ +\bo The t\bte\bes\bst\bt builtin uses its historical algorithm to parse
+ parenthesized subexpressions when given five or more ar-
guments.
- +\bo If the -\b-p\bp or -\b-P\bP option is supplied to the b\bbi\bin\bnd\bd builtin,
+ +\bo If the -\b-p\bp or -\b-P\bP option is supplied to the b\bbi\bin\bnd\bd builtin,
b\bbi\bin\bnd\bd treats any arguments remaining after option process-
- ing as bindable command names, and displays any key se-
- quences bound to those commands, instead of treating the
+ ing as bindable command names, and displays any key se-
+ quences bound to those commands, instead of treating the
arguments as key sequences to bind.
R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
If b\bba\bas\bsh\bh is started with the name r\brb\bba\bas\bsh\bh, or the -\b-r\br option is supplied at
- invocation, the shell becomes _\br_\be_\bs_\bt_\br_\bi_\bc_\bt_\be_\bd. A restricted shell is used
- to set up an environment more controlled than the standard shell. It
- behaves identically to b\bba\bas\bsh\bh with the exception that the following are
+ invocation, the shell becomes _\br_\be_\bs_\bt_\br_\bi_\bc_\bt_\be_\bd. A restricted shell is used
+ to set up an environment more controlled than the standard shell. It
+ behaves identically to b\bba\bas\bsh\bh with the exception that the following are
disallowed or not performed:
+\bo Changing directories with c\bcd\bd.
- +\bo Setting or unsetting the values of S\bSH\bHE\bEL\bLL\bL, P\bPA\bAT\bTH\bH, H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, E\bEN\bNV\bV,
+ +\bo Setting or unsetting the values of S\bSH\bHE\bEL\bLL\bL, P\bPA\bAT\bTH\bH, H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, E\bEN\bNV\bV,
or B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV.
+\bo Specifying command names containing /\b/.
- +\bo Specifying a filename containing a /\b/ as an argument to the .\b.
+ +\bo Specifying a filename containing a /\b/ as an argument to the .\b.
builtin command.
- +\bo Using the -\b-p\bp option to the .\b. builtin command to specify a
+ +\bo Using the -\b-p\bp option to the .\b. builtin command to specify a
search path.
- +\bo Specifying a filename containing a slash as an argument to the
+ +\bo Specifying a filename containing a slash as an argument to the
h\bhi\bis\bst\bto\bor\bry\by builtin command.
- +\bo Specifying a filename containing a slash as an argument to the
+ +\bo Specifying a filename containing a slash as an argument to the
-\b-p\bp option to the h\bha\bas\bsh\bh builtin command.
- +\bo Importing function definitions from the shell environment at
+ +\bo Importing function definitions from the shell environment at
startup.
- +\bo Parsing the value of S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS from the shell environment at
+ +\bo Parsing the value of S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS from the shell environment at
startup.
- +\bo Redirecting output using the >, >|, <>, >&, &>, and >> redirec-
+ +\bo Redirecting output using the >, >|, <>, >&, &>, and >> redirec-
tion operators.
+\bo Using the e\bex\bxe\bec\bc builtin command to replace the shell with another
command.
- +\bo Adding or deleting builtin commands with the -\b-f\bf and -\b-d\bd options
+ +\bo Adding or deleting builtin commands with the -\b-f\bf and -\b-d\bd options
to the e\ben\bna\bab\bbl\ble\be builtin command.
- +\bo Using the e\ben\bna\bab\bbl\ble\be builtin command to enable disabled shell
+ +\bo Using the e\ben\bna\bab\bbl\ble\be builtin command to enable disabled shell
builtins.
+\bo Specifying the -\b-p\bp option to the c\bco\bom\bmm\bma\ban\bnd\bd builtin command.
- +\bo Turning off restricted mode with s\bse\bet\bt +\b+r\br or s\bsh\bho\bop\bpt\bt -\b-u\bu r\bre\be-\b-
+ +\bo Turning off restricted mode with s\bse\bet\bt +\b+r\br or s\bsh\bho\bop\bpt\bt -\b-u\bu r\bre\be-\b-
s\bst\btr\bri\bic\bct\bte\bed\bd_\b_s\bsh\bhe\bel\bll\bl.
These restrictions are enforced after any startup files are read.
When a command that is found to be a shell script is executed (see C\bCO\bOM\bM-\b-
- M\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN above), r\brb\bba\bas\bsh\bh turns off any restrictions in the shell
+ M\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN above), r\brb\bba\bas\bsh\bh turns off any restrictions in the shell
spawned to execute the script.
S\bSE\bEE\bE A\bAL\bLS\bSO\bO
_\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc
The individual per-interactive-shell startup file
_\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bl_\bo_\bg_\bo_\bu_\bt
- The individual login shell cleanup file, executed when a login
+ The individual login shell cleanup file, executed when a login
shell exits
_\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by
- The default value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, the file in which bash saves the
+ The default value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, the file in which bash saves the
command history
_\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc
Individual _\br_\be_\ba_\bd_\bl_\bi_\bn_\be initialization file
B\bBU\bUG\bG R\bRE\bEP\bPO\bOR\bRT\bTS\bS
If you find a bug in b\bba\bas\bsh\bh, you should report it. But first, you should
- make sure that it really is a bug, and that it appears in the latest
- version of b\bba\bas\bsh\bh. The latest version is always available from
+ make sure that it really is a bug, and that it appears in the latest
+ version of b\bba\bas\bsh\bh. The latest version is always available from
_\bf_\bt_\bp_\b:_\b/_\b/_\bf_\bt_\bp_\b._\bg_\bn_\bu_\b._\bo_\br_\bg_\b/_\bp_\bu_\bb_\b/_\bg_\bn_\bu_\b/_\bb_\ba_\bs_\bh_\b/ and _\bh_\bt_\bt_\bp_\b:_\b/_\b/_\bg_\bi_\bt_\b._\bs_\ba_\bv_\ba_\bn_\b-
_\bn_\ba_\bh_\b._\bg_\bn_\bu_\b._\bo_\br_\bg_\b/_\bc_\bg_\bi_\bt_\b/_\bb_\ba_\bs_\bh_\b._\bg_\bi_\bt_\b/_\bs_\bn_\ba_\bp_\bs_\bh_\bo_\bt_\b/_\bb_\ba_\bs_\bh_\b-_\bm_\ba_\bs_\bt_\be_\br_\b._\bt_\ba_\br_\b._\bg_\bz.
- Once you have determined that a bug actually exists, use the _\bb_\ba_\bs_\bh_\bb_\bu_\bg
- command to submit a bug report. If you have a fix, you are encouraged
+ Once you have determined that a bug actually exists, use the _\bb_\ba_\bs_\bh_\bb_\bu_\bg
+ command to submit a bug report. If you have a fix, you are encouraged
to mail that as well! You may send suggestions and "philosophical" bug
- reports to _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg or post them to the Usenet newsgroup
+ reports to _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg or post them to the Usenet newsgroup
g\bgn\bnu\bu.\b.b\bba\bas\bsh\bh.\b.b\bbu\bug\bg.
ALL bug reports should include:
A description of the bug behaviour
A short script or "recipe" which exercises the bug
- _\bb_\ba_\bs_\bh_\bb_\bu_\bg inserts the first three items automatically into the template
+ _\bb_\ba_\bs_\bh_\bb_\bu_\bg inserts the first three items automatically into the template
it provides for filing a bug report.
Comments and bug reports concerning this manual page should be directed
Shell builtin commands and functions are not stoppable/restartable.
Compound commands and command sequences of the form "a ; b ; c" are not
- handled gracefully when process suspension is attempted. When a
- process is stopped, the shell immediately executes the next command in
- the sequence. It suffices to place the sequence of commands between
- parentheses to force it into a subshell, which may be stopped as a
- unit, or to start the command in the background and immediately bring
+ handled gracefully when process suspension is attempted. When a
+ process is stopped, the shell immediately executes the next command in
+ the sequence. It suffices to place the sequence of commands between
+ parentheses to force it into a subshell, which may be stopped as a
+ unit, or to start the command in the background and immediately bring
it into the foreground.
Array variables may not (yet) be exported.
-GNU Bash 5.3 2024 October 10 _\bB_\bA_\bS_\bH(1)
+GNU Bash 5.3 2024 October 14 _\bB_\bA_\bS_\bH(1)
.\" Case Western Reserve University
.\" chet.ramey@case.edu
.\"
-.\" Last Change: Thu Oct 10 16:33:40 EDT 2024
+.\" Last Change: Mon Oct 14 11:41:21 EDT 2024
.\"
.\" bash_builtins, strip all but Built-Ins section
.\" avoid a warning about an undefined register
.\" .if !rzY .nr zY 0
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
-.TH BASH 1 "2024 October 10" "GNU Bash 5.3"
+.TH BASH 1 "2024 October 14" "GNU Bash 5.3"
.\"
.ie \n(.g \{\
.ds ' \(aq
.if n \fB| & ; ( ) < > space tab newline\fP
.RE
.TP
-.B control operator
+.B "control operator"
A \fItoken\fP that performs a control function.
It is one of the following symbols:
.RS
separate process.
See
.SM
-\fBCOMMAND EXECUTION ENVIRONMENT\fP
+.B "COMMAND EXECUTION ENVIRONMENT"
for a description of subshells and a subshell environment.
If the \fBlastpipe\fP option is enabled using the \fBshopt\fP builtin
(see the description of \fBshopt\fP below),
(\fIlist\fP)
\fIlist\fP is executed in a subshell (see
.SM
-\fBCOMMAND EXECUTION ENVIRONMENT\fP
+.B "COMMAND EXECUTION ENVIRONMENT"
below for a description of a subshell environment).
Variable assignments and builtin
commands that affect the shell's environment do not remain in effect
proceeding from first to last,
using the matching rules
described under
-.B Pattern Matching
+.B "Pattern Matching"
below.
A pattern list is a set of one or more patterns separated by \|,
and the ) operator terminates the pattern list.
When the command history expansion facilities are being used
(see
.SM
-.B HISTORY EXPANSION
+.B "HISTORY EXPANSION"
below), the
\fIhistory expansion\fP character, usually \fB!\fP, must be quoted
to prevent history expansion.
It is a colon-separated list of directories in which
the shell looks for commands (see
.SM
-.B COMMAND EXECUTION
+.B "COMMAND EXECUTION"
below).
A zero-length (null) directory name in the value of
.SM
.B select
command (see
.SM
-.B SHELL GRAMMAR
+.B "SHELL GRAMMAR"
above).
.TP
.B PS4
.B auto_resume
This variable controls how the shell interacts with the user and
job control.
-If this variable is set, single-word simple
-commands without redirections are treated as candidates for resumption
+If this variable is set, simple commands
+consisting of only a single word,
+without redirections, are treated as candidates for resumption
of an existing stopped job.
There is no ambiguity allowed; if there is more than one job
-beginning with the string typed, the most recently accessed job
-is selected.
+beginning with or containing
+the word, this selects the most recently accessed job.
The
.I name
of a stopped job, in this context, is the command line used to
-start it.
+start it, as displayed by \fBjobs\fP.
If set to the value
.IR exact ,
-the string supplied must match the name of a stopped job exactly;
+the word must match the name of a stopped job exactly;
if set to
.IR substring ,
-the string supplied needs to match a substring of the name of a
-stopped job. The
+the word needs to match a substring of the name of a stopped job.
+The
.I substring
value provides functionality analogous to the
.B %?
job identifier (see
.SM
-.B JOB CONTROL
-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 \fB%\fP\fIstring\fP job identifier.
+.B "JOB CONTROL"
+below).
+If set to any other value (e.g.,
+.IR prefix ),
+the word must be a prefix of a stopped job's name;
+this provides functionality analogous to the \fB%\fP\fIstring\fP job identifier.
.TP
.B histchars
The two or three characters which control history expansion
and tokenization (see
.SM
-.B HISTORY EXPANSION
+.B "HISTORY EXPANSION"
below).
The first character is the \fIhistory expansion\fP character,
the character which signals the start of a history
expansion of the original word.
This is analogous to the expansion
of the special parameters \fB*\fP and \fB@\fP (see
-.B Special Parameters
+.B "Special Parameters"
above).
.PP
${#\fIname\fP[\fIsubscript\fP]} expands to the length of
.Q +
or
.Q \- ,
-.Q +
-is assumed.
+tilde expansion assumes
+.Q + .
.PP
The results of tilde expansion are treated as if they were quoted, so
the replacement is not subject to word splitting and pathname expansion.
\fBDisplay Error if Null or Unset\fP.
If
.I parameter
-is null or unset, the expansion of \fIword\fP (or a message to that effect
+is null or unset, the shell writes
+the expansion of \fIword\fP (or a message to that effect
if
.I word
-is not present) is written to the standard error and the shell, if it
+is not present) to the standard error and, if it
is not interactive, exits with a non-zero status.
An interactive shell does not exit, but does not execute the command
associated with the expansion.
expansion, and matched against the expanded value of
.I parameter
using the rules described under
-.B Pattern Matching
+.B "Pattern Matching"
below.
If the pattern matches the beginning of
the value of
pathname expansion, and matched against the expanded value of
.I parameter
using the rules described under
-.B Pattern Matching
+.B "Pattern Matching"
below.
If the pattern matches a trailing portion of the expanded value of
.IR parameter ,
pathname expansion and matched against the expanded value of
\fIparameter\fP
using the rules described under
-.B Pattern Matching
+.B "Pattern Matching"
below.
The longest match of \fIpattern\fP
in the expanded value is replaced with \fIstring\fP.
Aliases are expanded when a command is read, not when it is executed.
Therefore, an
alias definition appearing on the same line as another
-command does not take effect until the shell reads the next line of input.
+command does not take effect until the shell reads the next line of input,
+and an alias definition in a compound command does not take
+effect until the shell parses and executes the entire compound command.
The commands following the alias definition
-on that line are not affected by the new alias.
+on that line,
+or in the rest of a compound command,
+are not affected by the new alias.
This behavior is also an issue when functions are executed.
Aliases are expanded when a function definition is read,
not when the function is executed, because a function definition
interpreter name on the first line of the program, followed
by the name of the program, followed by the command
arguments, if any.
-.SH COMMAND EXECUTION ENVIRONMENT
+.SH "COMMAND EXECUTION ENVIRONMENT"
The shell has an \fIexecution environment\fP, which consists of the
following:
.IP \(bu
.I Job control
refers to the ability to selectively stop (\fIsuspend\fP)
the execution of processes and continue (\fIresume\fP)
-their execution at a later point. A user typically employs
+their execution at a later point.
+A user typically employs
this facility via an interactive interface supplied jointly
by the operating system kernel's terminal driver and
.BR bash .
.PP
The shell associates a
.I job
-with each pipeline. It keeps a table of currently executing
-jobs, which may be listed with the
+with each pipeline.
+It keeps a table of currently executing
+jobs, which the
.B jobs
-command. When
+command will display.
+Each job has a \fIjob number\fP, which \fBjobs\fP displays between brackets.
+Job numbers start at 1.
+When
.B bash
starts a job asynchronously (in the
.IR background ),
.I job
abstraction as the basis for job control.
.PP
-To facilitate the implementation of the user interface to job
-control, the operating system maintains the notion of a \fIcurrent terminal
-process group ID\fP. Members of this process group (processes whose
+To facilitate the implementation of the user interface to job control,
+each process has a \fIprocess group ID\fP, and
+the operating system maintains the notion of a \fIcurrent terminal
+process group ID\fP.
+Processes that have the same process group ID are said to be part of
+the same \fIprocess group\fP.
+Members of the \fIforeground\fP process group (processes whose
process group ID is equal to the current terminal process group ID)
receive keyboard-generated signals such as
.SM
.BR SIGINT .
-These processes are said to be in the
-.IR foreground .
+Processes in the foreground process group are said to be
+.I foreground
+processes.
.I Background
processes are those whose process group ID differs from the terminal's;
such processes are immune to keyboard-generated signals.
.Q tostop
is in effect) the terminal are sent a
.SM
-.B SIGTTIN (SIGTTOU)
+.B "SIGTTIN (SIGTTOU)"
signal by the kernel's terminal driver,
which, unless caught, suspends the process.
.PP
character (typically
.BR \*^Z ,
Control-Z) while a process is running
-causes that process to be stopped and returns control to
+stops that process and returns control to
.BR bash .
Typing the
.I "delayed suspend"
character (typically
.BR \*^Y ,
-Control-Y) causes the process to be stopped when it
-attempts to read input from the terminal, and control to
-be returned to
+Control-Y) causes the process stop when it
+attempts to read input from the terminal, and returns control to
.BR bash .
-The user may then manipulate the state of this job, using the
+The user then manipulates the state of this job, using the
.B bg
command to continue it in the background, the
.B fg
-command to continue it in the foreground, or
-the
+command to continue it in the foreground, or the
.B kill
-command to kill it. A \fB\*^Z\fP takes effect immediately,
-and has the additional side effect of causing pending output
-and typeahead to be discarded.
+command to kill it.
+The suspend character takes effect immediately,
+and has the additional side effect of discarding any pending output
+and typeahead.
+To force a background process to stop, or stop a process
+that's not associated with the current terminal session,
+send it the
+.SM
+.B SIGSTOP
+signal using \fBkill\fP.
.PP
There are a number of ways to refer to a job in the shell.
-The character
+The
.B %
-introduces a job specification (\fIjobspec\fP). Job number
+character introduces a job specification (jobspec).
+.PP
+Job number
.I n
may be referred to as
.BR %n .
start it, or using a substring that appears in its command line.
For example,
.B %ce
-refers to a stopped
-job whose command name begins with
+refers to a job whose command name begins with
.BR ce .
-If a prefix matches more than one job,
-.B bash
-reports an error. Using
+Using
.BR %?ce ,
on the other hand, refers to any job containing the string
.B ce
-in its command line. If the substring matches more than one job,
+in its command line.
+If the prefix or substring matches more than one job,
.B bash
-reports an error. The symbols
+reports an error.
+.PP
+The symbols
.B %%
and
.B %+
refer to the shell's notion of the
-.IR "current job" ,
-which is the last job stopped while it was in
-the foreground or started in the background.
-The
-.I "previous job"
-may be referenced using
-.BR %\- .
+.IR "current job" .
+A single % (with no accompanying job specification) also refers to the
+current job.
+.B %\-
+refers to the
+.IR "previous job" .
+When a job starts in the background,
+a job stops while in the foreground,
+or a job is resumed in the background,
+it becomes the current job.
+The job that was the current job becomes the previous job.
+When the current job terminates, the previous job becomes the
+current job.
If there is only a single job, \fB%+\fP and \fB%\-\fP can both be used
to refer to that job.
In output pertaining to jobs (e.g., the output of the
.B jobs
-command), the current job is always flagged with a
+command), the current job is always marked with a
.BR + ,
and the previous job with a
.BR \- .
-A single % (with no accompanying job specification) also refers to the
-current job.
.PP
-Simply naming a job can be used to bring it into the
-foreground:
+Simply naming a job can be used to bring it into the foreground:
.B %1
is a synonym for
.Q "fg %1" ,
The shell learns immediately whenever a job changes state.
Normally,
.B bash
-waits until it is about to print a prompt before reporting
+waits until it is about to print a prompt before
+notifying the user about
changes in a job's status so as to not interrupt
any other output,
though it will notify of changes in a job's status after a
foreground command in
-a list completes, before executing the next command.
+a list completes, before executing the next command in the list.
If the
.B \-b
option to the
is enabled,
.B bash
reports such changes immediately.
-Any trap on
+\fBBash\fP executes any trap on
.SM
.B SIGCHLD
-is executed for each child that exits.
+for each child that terminates.
+.PP
+When a job terminates and \fBbash\fP notifies the user about it,
+\fBbash\fP removes the job from the table.
+It will not appear in \fBjobs\fP output, but \fBwait\fP will
+report its exit status, as long as it's supplied the process ID
+associated with the job as an argument.
+When the table is empty, job numbers start over at 1.
.PP
-If an attempt to exit
+If a user attempts to exit
.B bash
-is made while jobs are stopped (or, if the \fBcheckjobs\fP shell option has
+while jobs are stopped (or, if the \fBcheckjobs\fP shell option has
been enabled using the \fBshopt\fP builtin, running), the shell prints a
warning message, and, if the \fBcheckjobs\fP option is enabled, lists the
jobs and their statuses.
The
.B jobs
command may then be used to inspect their status.
-If a second attempt to exit is made without an intervening command,
-the shell does not print another warning, and any stopped
-jobs are terminated.
+If the user immediately attempts to exit again,
+without an intervening command,
+\fBbash\fP does not print another warning, and
+terminates any stopped jobs.
.PP
When the shell is waiting for a job or process using the \fBwait\fP
builtin, and job control is enabled, \fBwait\fP will return when the
-job changes state. The \fB\-f\fP option causes \fBwait\fP to wait
+job changes state.
+The \fB\-f\fP option causes \fBwait\fP to wait
until the job or process terminates before returning.
.SH PROMPTING
When executing interactively,
.IR NEWLINE ,
.IR RET ,
.IR RETURN ,
-.IR RUBOUT ,
+.IR RUBOUT (a destructive backspace),
.IR SPACE ,
.IR SPC ,
and
If this function is bound to the
same character as the tty \fBEOF\fP character, as \fBC\-d\fP
commonly is, see above for the effects.
+This may also be bound to the Delete key on some keyboards.
.TP
.B backward\-delete\-char (Rubout)
Delete the character behind the cursor.
.B complete\-into\-braces (M\-{)
Perform filename completion and insert the list of possible completions
enclosed within braces so the list is available to the shell (see
-.B Brace Expansion
+.B "Brace Expansion"
above).
.PD
.SS "Keyboard Macros"
redirections.
The return status is zero.
.TP
-\fB\&.\| \fP [\fB\-p\fP \fIpath\fP] \fIfilename\fP [\fIarguments\fP]
+\fB\&.\&\fP [\fB\-p\fP \fIpath\fP] \fIfilename\fP [\fIarguments\fP]
.PD 0
.TP
\fBsource\fP [\fB\-p\fP \fIpath\fP] \fIfilename\fP [\fIarguments\fP]
.PD
-The \fB\&.\| \fP command (\fBsource\fP) reads and execute commands from
+The \fB\&.\&\fP command (\fBsource\fP) reads and execute commands from
.I filename
in the current shell environment and returns the exit status of the
last command executed from
.IR filename .
.IP
-If \fIfilename\fP does not contain a slash, \fB\&.\| \fP searchs for it.
-If the \fB\-p\fP option is supplied, \fB\&.\| \fP treats \fIpath\fP
+If \fIfilename\fP does not contain a slash, \fB\&.\&\fP searches for it.
+If the \fB\-p\fP option is supplied, \fB\&.\&\fP treats \fIpath\fP
as a colon-separated list of directories in which to find \fIfilename\fP;
-otherwise, \fB\&.\| \fP uses the entries in
+otherwise, \fB\&.\&\fP uses the entries in
.SM
.B PATH
to find the directory containing
.B sourcepath
option to the
.B shopt
-builtin command is turned off, \fB\&.\| \fP does not search
+builtin command is turned off, \fB\&.\&\fP does not search
.SM
.BR PATH .
.IP
.BR & .
If
.I jobspec
-is not present, the shell's notion of the \fIcurrent job\fP is used.
+is not present, the shell uses its notion of the \fIcurrent job\fP.
.B bg
.I jobspec
returns 0 unless run when job control is disabled or, when run with
.I id
from the table of active jobs.
Each \fIid\fP may be a job specification \fIjobspec\fP
-or a process ID
-\fIpid\fP; if \fIid\fP is a \fIpid\fP,
+or a process ID \fIpid\fP;
+if \fIid\fP is a \fIpid\fP,
\fBdisown\fP uses the job containing \fIpid\fP as \fIjobspec\fP.
-If
-.I id
-is not present, and neither the \fB\-a\fP nor the \fB\-r\fP option
-is supplied, \fBdisown\fP removes the \fIcurrent job\fP.
-If the \fB\-h\fP option is supplied, the job corresponding to each
+.IP
+If the \fB\-h\fP option is supplied,
+\fBdisown\fP does not remove the jobs corresponding to each
.I id
-is not removed from the table, but is marked so that
+from the jobs table,
+but rather marks them so the shell does not send
.SM
.B SIGHUP
-is not sent to the job if the shell receives a
+to the job if the shell receives a
.SM
.BR SIGHUP .
.IP
.B \-r
option without an
.I id
-argument restricts operation to running jobs.
+argument removes or marks running jobs.
+If no
+.I id
+is supplied, and neither the \fB\-a\fP nor the \fB\-r\fP option
+is supplied, \fBdisown\fP removes or marks the current job.
.IP
The return value is 0 unless an
.I id
in the foreground, and make it the current job.
If
.I jobspec
-is not present, use the shell's notion of the \fIcurrent job\fP.
+is not present, \fBfg\fP uses the shell's notion of the \fIcurrent job\fP.
The return value is that of the command placed into the foreground,
or failure if run when job control is disabled or, when run with
job control enabled, if
returning its exit status.
.TP
\fBkill\fP [\fB\-s\fP \fIsigspec\fP | \fB\-n\fP \fIsignum\fP | \fB\-\fP\fIsigspec\fP] \
-[\fIpid\fP | \fIjobspec\fP] .\|.\|.
+\fIid\fP [ .\|.\|. ]
.PD 0
.TP
\fBkill\fP \fB\-l\fP|\fB\-L\fP [\fIsigspec\fP | \fIexit_status\fP]
.I sigspec
or
.I signum
-to the processes named by
-.I pid
-or
-.IR jobspec .
+to the processes named by each
+.IR id .
+Each
+.I id
+may be a job specification \fIjobspec\fP
+or a process ID \fIpid\fP.
.I sigspec
is either a case-insensitive signal name such as
.SM
.SM
.BR SIGTERM .
.IP
-An argument of
+The
.B \-l
-lists the signal names.
+option lists the signal names.
If any arguments are supplied when
.B \-l
is given,
The \fIexit_status\fP argument to
.B \-l
is a number specifying either a signal number or the exit status of
-a process terminated by a signal.
+a process terminated by a signal;
+if it is supplied, \fBkill\fP prints the name of the signal that caused
+the process to terminate.
+\fBkill\fP assumes that process exit statuses are greater than 128;
+anything less than that is a signal number.
The
.B \-L
option is equivalent to \fB\-l\fP.
or a \fIcompound command\fP
(see
.SM
-.B SHELL GRAMMAR
+.B "SHELL GRAMMAR"
.ie \n(zZ=1 in \fIbash\fP(1)),
.el above),
exits with a non-zero status.
This option is on by default for interactive shells on systems
that support it (see
.SM
-.B JOB CONTROL
+.B "JOB CONTROL"
.ie \n(zZ=1 in \fIbash\fP(1)).
.el above).
All processes run in a separate process group.
.QN "IGNOREEOF=10"
had been executed
(see
-.B Shell Variables
+.B "Shell Variables"<
.ie \n(zZ=1 in \fIbash\fP(1)).
.el above).
.TP 8
.TP 8
.B \-B
The shell performs brace expansion (see
-.B Brace Expansion
+.B "Brace Expansion"
.ie \n(zZ=1 in \fIbash\fP(1)).
.el above).
This is on by default.
.B globasciiranges
If set, range expressions used in pattern matching bracket expressions (see
.SM
-.B Pattern Matching
+.B "Pattern Matching"
.ie \n(zZ=1 in \fIbash\fP(1))
.el above)
behave as if in the traditional C locale when performing comparisons.
.B bash
matches filenames in a case\-insensitive fashion when performing pathname
expansion (see
-.B Pathname Expansion
+.B "Pathname Expansion"
.ie \n(zZ=1 in \fIbash\fP(1)).
.el above).
.TP 8
.B nullglob
If set, pathname expansion patterns which match no files
(see
-.B Pathname Expansion
+.B "Pathname Expansion"
.ie \n(zZ=1 in \fIbash\fP(1))
.el above)
expand to nothing and are removed, rather than expanding to themselves.
arithmetic \fIfor\fP command, and before the first command executes
in a shell function (see
.SM
-.B SHELL GRAMMAR
+.B "SHELL GRAMMAR"
.ie \n(zZ=1 in \fIbash\fP(1)).
.el above).
Refer to the description of the \fBextdebug\fP shell option
\fBwait\fP [\fB\-fn\fP] [\fP\-p\fP \fIvarname\fP] [\fIid\fP .\|.\|.]
Wait for each specified child process \fIid\fP and return the
termination status of the last \fIid\fP.
-Each \fIid\fP may be a process ID or a job specification;
-if a job spec is supplied, \fBwait\fP waits for all processes in the job.
+Each \fIid\fP may be a process ID \fIpid\fP
+or a job specification \fIjobspec\fP;
+if a jobspec is supplied, \fBwait\fP waits for all processes in the job.
.IP
If no options or \fIid\fPs are supplied,
\fBwait\fP waits for all running background jobs and
and the return status is zero.
.IP
If the \fB\-n\fP option is supplied, \fBwait\fP waits for any one of
-the given \fIid\fPs or, if no \fIid\fPs are supplied, any job
-or process substitution,
+the given \fIid\fPs or,
+if no \fIid\fPs are supplied, any job or process substitution,
to complete and returns its exit status.
If none of the supplied \fIid\fPs is a child of the shell,
or if no \fIid\fPs are supplied and the shell has no unwaited-for children,
the exit status is 127.
.IP
-If the \fB\-p\fP option is supplied, the process or job identifier
-of the job for which the exit status is returned is assigned to the
+If the \fB\-p\fP option is supplied, \fBwait\fP assigns
+the process or job identifier of the job
+for which the exit status is returned to the
variable \fIvarname\fP named by the option argument.
The variable,
which cannot be readonly,
will be unset initially, before any assignment.
-This is useful only when the \fB\-n\fP option is supplied.
+This is useful only when used with the \fB\-n\fP option.
.IP
Supplying the \fB\-f\fP option, when job control is enabled,
forces \fBwait\fP to wait for each \fIid\fP to terminate before
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
-<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2024 October 10<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2024 October 14<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
is executed in a <I>subshell</I>, which is a
separate process.
See
-<FONT SIZE=-1><B>COMMAND EXECUTION ENVIRONMENT</B></FONT>
+<FONT SIZE=-1><B>COMMAND EXECUTION ENVIRONMENT</B>
+
+</FONT>
for a description of subshells and a subshell environment.
If the <B>lastpipe</B> option is enabled using the <B>shopt</B> builtin
(see the description of <B>shopt</B> below),
<DL COMPACT>
<DT>(<I>list</I>)<DD>
<I>list</I> is executed in a subshell (see
-<FONT SIZE=-1><B>COMMAND EXECUTION ENVIRONMENT</B></FONT>
+<FONT SIZE=-1><B>COMMAND EXECUTION ENVIRONMENT</B>
+
+</FONT>
below for a description of a subshell environment).
Variable assignments and builtin
commands that affect the shell's environment do not remain in effect
<DD>
This variable controls how the shell interacts with the user and
job control.
-If this variable is set, single-word simple
-commands without redirections are treated as candidates for resumption
+If this variable is set, simple commands
+consisting of only a single word,
+without redirections, are treated as candidates for resumption
of an existing stopped job.
There is no ambiguity allowed; if there is more than one job
-beginning with the string typed, the most recently accessed job
-is selected.
+beginning with or containing
+the word, this selects the most recently accessed job.
The
<I>name</I>
of a stopped job, in this context, is the command line used to
-start it.
+start it, as displayed by <B>jobs</B>.
If set to the value
<I>exact</I>,
-the string supplied must match the name of a stopped job exactly;
+the word must match the name of a stopped job exactly;
if set to
<I>substring</I>,
-the string supplied needs to match a substring of the name of a
-stopped job. The
+the word needs to match a substring of the name of a stopped job.
+The
<I>substring</I>
value provides functionality analogous to the
<FONT SIZE=-1><B>JOB CONTROL</B>
</FONT>
-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>%</B><I>string</I> job identifier.
+below).
+If set to any other value (e.g.,
+<I>prefix</I>),
+
+the word must be a prefix of a stopped job's name;
+this provides functionality analogous to the <B>%</B><I>string</I> job identifier.
<DT><B>histchars</B>
<DD>
or
+tilde expansion assumes
-is assumed.
<P>
The results of tilde expansion are treated as if they were quoted, so
If
<I>parameter</I>
-is null or unset, the expansion of <I>word</I> (or a message to that effect
+is null or unset, the shell writes
+the expansion of <I>word</I> (or a message to that effect
if
<I>word</I>
-is not present) is written to the standard error and the shell, if it
+is not present) to the standard error and, if it
is not interactive, exits with a non-zero status.
An interactive shell does not exit, but does not execute the command
associated with the expansion.
Aliases are expanded when a command is read, not when it is executed.
Therefore, an
alias definition appearing on the same line as another
-command does not take effect until the shell reads the next line of input.
+command does not take effect until the shell reads the next line of input,
+and an alias definition in a compound command does not take
+effect until the shell parses and executes the entire compound command.
The commands following the alias definition
-on that line are not affected by the new alias.
+on that line,
+or in the rest of a compound command,
+are not affected by the new alias.
This behavior is also an issue when functions are executed.
Aliases are expanded when a function definition is read,
not when the function is executed, because a function definition
refers to the ability to selectively stop (<I>suspend</I>)
the execution of processes and continue (<I>resume</I>)
-their execution at a later point. A user typically employs
+their execution at a later point.
+A user typically employs
this facility via an interactive interface supplied jointly
by the operating system kernel's terminal driver and
<B>bash</B>.
The shell associates a
<I>job</I>
-with each pipeline. It keeps a table of currently executing
-jobs, which may be listed with the
+with each pipeline.
+It keeps a table of currently executing
+jobs, which the
<B>jobs</B>
-command. When
+command will display.
+Each job has a <I>job number</I>, which <B>jobs</B> displays between brackets.
+Job numbers start at 1.
+When
<B>bash</B>
starts a job asynchronously (in the
abstraction as the basis for job control.
<P>
-To facilitate the implementation of the user interface to job
-control, the operating system maintains the notion of a <I>current terminal
-process group ID</I>. Members of this process group (processes whose
+To facilitate the implementation of the user interface to job control,
+each process has a <I>process group ID</I>, and
+the operating system maintains the notion of a <I>current terminal
+process group ID</I>.
+Processes that have the same process group ID are said to be part of
+the same <I>process group</I>.
+Members of the <I>foreground</I> process group (processes whose
process group ID is equal to the current terminal process group ID)
receive keyboard-generated signals such as
<FONT SIZE=-1><B>SIGINT</B>.
</FONT>
-These processes are said to be in the
-<I>foreground</I>.
+Processes in the foreground process group are said to be
+<I>foreground</I>
+processes.
<I>Background</I>
processes are those whose process group ID differs from the terminal's;
<B>^Z</B>,
Control-Z) while a process is running
-causes that process to be stopped and returns control to
+stops that process and returns control to
<B>bash</B>.
Typing the
character (typically
<B>^Y</B>,
-Control-Y) causes the process to be stopped when it
-attempts to read input from the terminal, and control to
-be returned to
+Control-Y) causes the process stop when it
+attempts to read input from the terminal, and returns control to
<B>bash</B>.
-The user may then manipulate the state of this job, using the
+The user then manipulates the state of this job, using the
<B>bg</B>
command to continue it in the background, the
<B>fg</B>
-command to continue it in the foreground, or
-the
+command to continue it in the foreground, or the
<B>kill</B>
-command to kill it. A <B>^Z</B> takes effect immediately,
-and has the additional side effect of causing pending output
-and typeahead to be discarded.
+command to kill it.
+The suspend character takes effect immediately,
+and has the additional side effect of discarding any pending output
+and typeahead.
+To force a background process to stop, or stop a process
+that's not associated with the current terminal session,
+send it the
+<FONT SIZE=-1><B>SIGSTOP</B>
+
+</FONT>
+signal using <B>kill</B>.
<P>
There are a number of ways to refer to a job in the shell.
-The character
+The
<B>%</B>
-introduces a job specification (<I>jobspec</I>). Job number
+character introduces a job specification (jobspec).
+<P>
+
+Job number
<I>n</I>
may be referred to as
For example,
<B>%ce</B>
-refers to a stopped
-job whose command name begins with
+refers to a job whose command name begins with
<B>ce</B>.
-If a prefix matches more than one job,
-<B>bash</B>
-
-reports an error. Using
+Using
<B>%?ce</B>,
on the other hand, refers to any job containing the string
<B>ce</B>
-in its command line. If the substring matches more than one job,
+in its command line.
+If the prefix or substring matches more than one job,
<B>bash</B>
-reports an error. The symbols
+reports an error.
+<P>
+
+The symbols
<B>%%</B>
and
<B>%+</B>
refer to the shell's notion of the
-<I>current job</I>,
+<I>current job</I>.
-which is the last job stopped while it was in
-the foreground or started in the background.
-The
-<I>previous job</I>
+A single % (with no accompanying job specification) also refers to the
+current job.
+<B>%-</B>
-may be referenced using
-<B>%-</B>.
+refers to the
+<I>previous job</I>.
+When a job starts in the background,
+a job stops while in the foreground,
+or a job is resumed in the background,
+it becomes the current job.
+The job that was the current job becomes the previous job.
+When the current job terminates, the previous job becomes the
+current job.
If there is only a single job, <B>%+</B> and <B>%-</B> can both be used
to refer to that job.
In output pertaining to jobs (e.g., the output of the
<B>jobs</B>
-command), the current job is always flagged with a
+command), the current job is always marked with a
<B>+</B>,
and the previous job with a
<B>-</B>.
-A single % (with no accompanying job specification) also refers to the
-current job.
<P>
-Simply naming a job can be used to bring it into the
-foreground:
+Simply naming a job can be used to bring it into the foreground:
<B>%1</B>
is a synonym for
Normally,
<B>bash</B>
-waits until it is about to print a prompt before reporting
+waits until it is about to print a prompt before
+notifying the user about
changes in a job's status so as to not interrupt
any other output,
though it will notify of changes in a job's status after a
foreground command in
-a list completes, before executing the next command.
+a list completes, before executing the next command in the list.
If the
<B>-b</B>
<B>bash</B>
reports such changes immediately.
-Any trap on
+<B>Bash</B> executes any trap on
<FONT SIZE=-1><B>SIGCHLD</B>
</FONT>
-is executed for each child that exits.
+for each child that terminates.
<P>
-If an attempt to exit
+When a job terminates and <B>bash</B> notifies the user about it,
+<B>bash</B> removes the job from the table.
+It will not appear in <B>jobs</B> output, but <B>wait</B> will
+report its exit status, as long as it's supplied the process ID
+associated with the job as an argument.
+When the table is empty, job numbers start over at 1.
+<P>
+
+If a user attempts to exit
<B>bash</B>
-is made while jobs are stopped (or, if the <B>checkjobs</B> shell option has
+while jobs are stopped (or, if the <B>checkjobs</B> shell option has
been enabled using the <B>shopt</B> builtin, running), the shell prints a
warning message, and, if the <B>checkjobs</B> option is enabled, lists the
jobs and their statuses.
<B>jobs</B>
command may then be used to inspect their status.
-If a second attempt to exit is made without an intervening command,
-the shell does not print another warning, and any stopped
-jobs are terminated.
+If the user immediately attempts to exit again,
+without an intervening command,
+<B>bash</B> does not print another warning, and
+terminates any stopped jobs.
<P>
When the shell is waiting for a job or process using the <B>wait</B>
builtin, and job control is enabled, <B>wait</B> will return when the
-job changes state. The <B>-f</B> option causes <B>wait</B> to wait
+job changes state.
+The <B>-f</B> option causes <B>wait</B> to wait
until the job or process terminates before returning.
<A NAME="lbCF"> </A>
<H3>PROMPTING</H3>
<I>RETURN</I>,
-<I>RUBOUT</I>,
+<I>RUBOUT</I>(a<I>destructive</I>backspace),
<I>SPACE</I>,
If this function is bound to the
same character as the tty <B>EOF</B> character, as <B>C-d</B>
commonly is, see above for the effects.
+This may also be bound to the Delete key on some keyboards.
<DT><B>backward-delete-char (Rubout)</B>
<DD>
and performing any specified
redirections.
The return status is zero.
-<DT><B>. </B> [<B>-p</B> <I>path</I>] <I>filename</I> [<I>arguments</I>]<DD>
+<DT><B>.</B> [<B>-p</B> <I>path</I>] <I>filename</I> [<I>arguments</I>]<DD>
<DT><B>source</B> [<B>-p</B> <I>path</I>] <I>filename</I> [<I>arguments</I>]<DD>
-The <B>. </B> command (<B>source</B>) reads and execute commands from
+The <B>.</B> command (<B>source</B>) reads and execute commands from
<I>filename</I>
in the current shell environment and returns the exit status of the
<I>filename</I>.
<DT><DD>
-If <I>filename</I> does not contain a slash, <B>. </B> searchs for it.
-If the <B>-p</B> option is supplied, <B>. </B> treats <I>path</I>
+If <I>filename</I> does not contain a slash, <B>.</B> searches for it.
+If the <B>-p</B> option is supplied, <B>.</B> treats <I>path</I>
as a colon-separated list of directories in which to find <I>filename</I>;
-otherwise, <B>. </B> uses the entries in
+otherwise, <B>.</B> uses the entries in
<FONT SIZE=-1><B>PATH</B>
</FONT>
option to the
<B>shopt</B>
-builtin command is turned off, <B>. </B> does not search
+builtin command is turned off, <B>.</B> does not search
<FONT SIZE=-1><B>PATH</B>.
</FONT>
If
<I>jobspec</I>
-is not present, the shell's notion of the <I>current job</I> is used.
+is not present, the shell uses its notion of the <I>current job</I>.
<B>bg</B>
<I>jobspec</I>
from the table of active jobs.
Each <I>id</I> may be a job specification <I>jobspec</I>
-or a process ID
-<I>pid</I>; if <I>id</I> is a <I>pid</I>,
+or a process ID <I>pid</I>;
+if <I>id</I> is a <I>pid</I>,
<B>disown</B> uses the job containing <I>pid</I> as <I>jobspec</I>.
-If
-<I>id</I>
-
-is not present, and neither the <B>-a</B> nor the <B>-r</B> option
-is supplied, <B>disown</B> removes the <I>current job</I>.
-If the <B>-h</B> option is supplied, the job corresponding to each
+<DT><DD>
+If the <B>-h</B> option is supplied,
+<B>disown</B> does not remove the jobs corresponding to each
<I>id</I>
-is not removed from the table, but is marked so that
+from the jobs table,
+but rather marks them so the shell does not send
<FONT SIZE=-1><B>SIGHUP</B>
</FONT>
-is not sent to the job if the shell receives a
+to the job if the shell receives a
<FONT SIZE=-1><B>SIGHUP</B>.
</FONT>
option without an
<I>id</I>
-argument restricts operation to running jobs.
+argument removes or marks running jobs.
+If no
+<I>id</I>
+
+is supplied, and neither the <B>-a</B> nor the <B>-r</B> option
+is supplied, <B>disown</B> removes or marks the current job.
<DT><DD>
The return value is 0 unless an
<I>id</I>
If
<I>jobspec</I>
-is not present, use the shell's notion of the <I>current job</I>.
+is not present, <B>fg</B> uses the shell's notion of the <I>current job</I>.
The return value is that of the command placed into the foreground,
or failure if run when job control is disabled or, when run with
job control enabled, if
<I>args</I>,
returning its exit status.
-<DT><B>kill</B> [<B>-s</B> <I>sigspec</I> | <B>-n</B> <I>signum</I> | <B>-</B><I>sigspec</I>] [<I>pid</I> | <I>jobspec</I>] ...<DD>
+<DT><B>kill</B> [<B>-s</B> <I>sigspec</I> | <B>-n</B> <I>signum</I> | <B>-</B><I>sigspec</I>] <I>id</I> [ ... ]<DD>
<DT><B>kill</B> <B>-l</B>|<B>-L</B> [<I>sigspec</I> | <I>exit_status</I>]<DD>
or
<I>signum</I>
-to the processes named by
-<I>pid</I>
+to the processes named by each
+<I>id</I>.
-or
-<I>jobspec</I>.
+Each
+<I>id</I>
+may be a job specification <I>jobspec</I>
+or a process ID <I>pid</I>.
<I>sigspec</I>
is either a case-insensitive signal name such as
</FONT>
<DT><DD>
-An argument of
+The
<B>-l</B>
-lists the signal names.
+option lists the signal names.
If any arguments are supplied when
<B>-l</B>
<B>-l</B>
is a number specifying either a signal number or the exit status of
-a process terminated by a signal.
+a process terminated by a signal;
+if it is supplied, <B>kill</B> prints the name of the signal that caused
+the process to terminate.
+<B>kill</B> assumes that process exit statuses are greater than 128;
+anything less than that is a signal number.
The
<B>-L</B>
had been executed
(see
-<B>Shell Variables</B>
+<B>Shell Variables<</B>
above).
<DT><B>wait</B> [<B>-fn</B>] [-p <I>varname</I>] [<I>id</I> ...]<DD>
Wait for each specified child process <I>id</I> and return the
termination status of the last <I>id</I>.
-Each <I>id</I> may be a process ID or a job specification;
-if a job spec is supplied, <B>wait</B> waits for all processes in the job.
+Each <I>id</I> may be a process ID <I>pid</I>
+or a job specification <I>jobspec</I>;
+if a jobspec is supplied, <B>wait</B> waits for all processes in the job.
<DT><DD>
If no options or <I>id</I>s are supplied,
<B>wait</B> waits for all running background jobs and
and the return status is zero.
<DT><DD>
If the <B>-n</B> option is supplied, <B>wait</B> waits for any one of
-the given <I>id</I>s or, if no <I>id</I>s are supplied, any job
-or process substitution,
+the given <I>id</I>s or,
+if no <I>id</I>s are supplied, any job or process substitution,
to complete and returns its exit status.
If none of the supplied <I>id</I>s is a child of the shell,
or if no <I>id</I>s are supplied and the shell has no unwaited-for children,
the exit status is 127.
<DT><DD>
-If the <B>-p</B> option is supplied, the process or job identifier
-of the job for which the exit status is returned is assigned to the
+If the <B>-p</B> option is supplied, <B>wait</B> assigns
+the process or job identifier of the job
+for which the exit status is returned to the
variable <I>varname</I> named by the option argument.
The variable,
which cannot be readonly,
will be unset initially, before any assignment.
-This is useful only when the <B>-n</B> option is supplied.
+This is useful only when used with the <B>-n</B> option.
<DT><DD>
Supplying the <B>-f</B> option, when job control is enabled,
forces <B>wait</B> to wait for each <I>id</I> to terminate before
<HR>
<TABLE WIDTH=100%>
<TR>
-<TH ALIGN=LEFT width=33%>GNU Bash 5.3<TH ALIGN=CENTER width=33%>2024 October 10<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>GNU Bash 5.3<TH ALIGN=CENTER width=33%>2024 October 14<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
<DT><A HREF="#lbDJ">BUGS</A><DD>
</DL>
<HR>
-This document was created by man2html from /usr/local/src/bash/bash-20241007/doc/bash.1.<BR>
-Time: 10 October 2024 17:47:42 EDT
+This document was created by man2html from /usr/local/src/bash/bash-20241012/doc/bash.1.<BR>
+Time: 14 October 2024 17:00:24 EDT
</BODY>
</HTML>
This is bash.info, produced by makeinfo version 7.1 from bashref.texi.
This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 10 October 2024).
+Bash shell (version 5.3, 14 October 2024).
- This is Edition 5.3, last updated 10 October 2024, of ‘The GNU Bash
+ This is Edition 5.3, last updated 14 October 2024, of ‘The GNU Bash
Reference Manual’, for ‘Bash’, Version 5.3.
Copyright © 1988-2024 Free Software Foundation, Inc.
*************
This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 10 October 2024). The Bash home page is
+Bash shell (version 5.3, 14 October 2024). The Bash home page is
<http://www.gnu.org/software/bash/>.
- This is Edition 5.3, last updated 10 October 2024, of ‘The GNU Bash
+ This is Edition 5.3, last updated 14 October 2024, of ‘The GNU Bash
Reference Manual’, for ‘Bash’, Version 5.3.
Bash contains features that appear in other popular shells, and some
would be displayed by the ‘dirs’ builtin invoked with the characters
following tilde in the tilde-prefix as an argument (*note The Directory
Stack::). If the tilde-prefix, sans the tilde, consists of a number
-without a leading ‘+’ or ‘-’, ‘+’ is assumed.
+without a leading ‘+’ or ‘-’, tilde expansion assumes ‘+’.
The results of tilde expansion are treated as if they were quoted, so
the replacement is not subject to word splitting and filename expansion.
DEFAULT
‘${PARAMETER:?WORD}’
- If PARAMETER is null or unset, the expansion of WORD (or a message
- to that effect if WORD is not present) is written to the standard
- error and the shell, if it is not interactive, exits with a
- non-zero status. An interactive shell does not exit, but does not
- execute the command associated with the expansion. Otherwise, the
- value of PARAMETER is substituted.
+ If PARAMETER is null or unset, the shell writes the expansion of
+ WORD (or a message to that effect if WORD is not present) to the
+ standard error and, if it is not interactive, exits with a non-zero
+ status. An interactive shell does not exit, but does not execute
+ the command associated with the expansion. Otherwise, the value of
+ PARAMETER is substituted.
$ var=
$ : ${var:?var is unset or null}
commands on that line or the compound command. Aliases are expanded
when a command is read, not when it is executed. Therefore, an alias
definition appearing on the same line as another command does not take
-effect until the shell reads the next line of input. The commands
-following the alias definition on that line are not affected by the new
-alias. This behavior is also an issue when functions are executed.
-Aliases are expanded when a function definition is read, not when the
-function is executed, because a function definition is itself a command.
-As a consequence, aliases defined in a function are not available until
-after that function is executed. To be safe, always put alias
-definitions on a separate line, and do not use ‘alias’ in compound
-commands.
+effect until the shell reads the next line of input, and an alias
+definition in a compound command does not take effect until the shell
+parses and executes the entire compound command. The commands following
+the alias definition on that line, or in the rest of a compound command,
+are not affected by the new alias. This behavior is also an issue when
+functions are executed. Aliases are expanded when a function definition
+is read, not when the function is executed, because a function
+definition is itself a command. As a consequence, aliases defined in a
+function are not available until after that function is executed. To be
+safe, always put alias definitions on a separate line, and do not use
+‘alias’ in compound commands.
For almost every purpose, shell functions are preferred over aliases.
driver and Bash.
The shell associates a JOB with each pipeline. It keeps a table of
-currently executing jobs, which may be listed with the ‘jobs’ command.
-When Bash starts a job asynchronously, it prints a line that looks like:
+currently executing jobs, which the ‘jobs’ command will display. Each
+job has a “job number”, which ‘jobs’ displays between brackets. Job
+numbers start at 1. When Bash starts a job asynchronously, it prints a
+line that looks like:
[1] 25647
indicating that this job is job number 1 and that the process ID of the
last process in the pipeline associated with this job is 25647. All of
uses the JOB abstraction as the basis for job control.
To facilitate the implementation of the user interface to job
-control, the operating system maintains the notion of a current terminal
-process group ID. Members of this process group (processes whose
-process group ID is equal to the current terminal process group ID)
-receive keyboard-generated signals such as ‘SIGINT’. These processes
-are said to be in the foreground. Background processes are those whose
-process group ID differs from the terminal's; such processes are immune
-to keyboard-generated signals. Only foreground processes are allowed to
-read from or, if the user so specifies with ‘stty tostop’, write to the
-terminal. Background processes which attempt to read from (write to
-when ‘tostop’ is in effect) the terminal are sent a ‘SIGTTIN’
-(‘SIGTTOU’) signal by the kernel's terminal driver, which, unless
-caught, suspends the process.
+control, each process has a “process group ID”, and the operating system
+maintains the notion of a current terminal process group ID. Processes
+that have the same process group ID are said to be part of the same
+“process group”. Members of the foreground process group (processes
+whose process group ID is equal to the current terminal process group
+ID) receive keyboard-generated signals such as ‘SIGINT’. Processes in
+the foreground process group are said to be foreground processes.
+Background processes are those whose process group ID differs from the
+terminal's; such processes are immune to keyboard-generated signals.
+Only foreground processes are allowed to read from or, if the user so
+specifies with ‘stty tostop’, write to the terminal. Background
+processes which attempt to read from (write to when ‘tostop’ is in
+effect) the terminal are sent a ‘SIGTTIN’ (‘SIGTTOU’) signal by the
+kernel's terminal driver, which, unless caught, suspends the process.
If the operating system on which Bash is running supports job
control, Bash contains facilities to use it. Typing the “suspend”
-character (typically ‘^Z’, Control-Z) while a process is running causes
-that process to be stopped and returns control to Bash. Typing the
-“delayed suspend” character (typically ‘^Y’, Control-Y) causes the
-process to be stopped when it attempts to read input from the terminal,
-and control to be returned to Bash. The user then manipulates the state
-of this job, using the ‘bg’ command to continue it in the background,
-the ‘fg’ command to continue it in the foreground, or the ‘kill’ command
-to kill it. A ‘^Z’ takes effect immediately, and has the additional
-side effect of causing pending output and typeahead to be discarded.
-
- There are a number of ways to refer to a job in the shell. The
-character ‘%’ introduces a job specification (“jobspec”).
-
- Job number ‘n’ may be referred to as ‘%n’. The symbols ‘%%’ and ‘%+’
-refer to the shell's notion of the current job, which is the last job
-stopped while it was in the foreground or started in the background. A
-single ‘%’ (with no accompanying job specification) also refers to the
-current job. The previous job may be referenced using ‘%-’. If there
-is only a single job, ‘%+’ and ‘%-’ can both be used to refer to that
-job. In output pertaining to jobs (e.g., the output of the ‘jobs’
-command), the current job is always flagged with a ‘+’, and the 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 job whose command name begins with
-‘ce’. 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.
+character (typically ‘^Z’, Control-Z) while a process is running stops
+that process and returns control to Bash. Typing the “delayed suspend”
+character (typically ‘^Y’, Control-Y) causes the process to stop when it
+attempts to read input from the terminal, and returns control to Bash.
+The user then manipulates the state of this job, using the ‘bg’ command
+to continue it in the background, the ‘fg’ command to continue it in the
+foreground, or the ‘kill’ command to kill it. The suspend character
+takes effect immediately, and has the additional side effect of
+discarding any pending output and typeahead. If you want to force a
+background process to stop, or stop a process that's not associated with
+your terminal session, send it the ‘SIGSTOP’ signal using ‘kill’.
+
+ There are a number of ways to refer to a job in the shell. The ‘%’
+character introduces a “job specification” (jobspec).
+
+ Job number ‘n’ may be referred to as ‘%n’. 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 job whose command name begins with ‘ce’. 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.
+
+ The symbols ‘%%’ and ‘%+’ refer to the shell's notion of the “current
+job”. A single ‘%’ (with no accompanying job specification) also refers
+to the current job. ‘%-’ refers to the “previous job”. When a job
+starts in the background, a job stops while in the foreground, or a job
+is resumed in the background, it becomes the current job. The job that
+was the current job becomes the previous job. When the current job
+terminates, the previous job becomes the current job. If there is only
+a single job, ‘%+’ and ‘%-’ can both be used to refer to that job. In
+output pertaining to jobs (e.g., the output of the ‘jobs’ command), the
+current job is always marked with a ‘+’, and the previous job with a
+‘-’.
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 the
foreground. Similarly, ‘%1 &’ resumes job 1 in the background,
-equivalent to ‘bg %1’
+equivalent to ‘bg %1’.
The shell learns immediately whenever a job changes state. Normally,
-Bash waits until it is about to print a prompt before reporting changes
-in a job's status so as to not interrupt any other output, though it
-will notify of changes in a job's status after a foreground command in a
-list completes, before executing the next command. If the ‘-b’ option
-to the ‘set’ builtin is enabled, Bash reports such changes immediately
-(*note The Set Builtin::). Any trap on ‘SIGCHLD’ is executed for each
-child process that exits.
-
- If an attempt to exit Bash is made while jobs are stopped, (or
-running, if the ‘checkjobs’ option is enabled - see *note The Shopt
-Builtin::), the shell prints a warning message, and if the ‘checkjobs’
-option is enabled, lists the jobs and their statuses. The ‘jobs’
-command may then be used to inspect their status. If a second attempt
-to exit is made without an intervening command, Bash does not print
-another warning, and any stopped jobs are terminated.
+Bash waits until it is about to print a prompt before notifying the user
+about changes in a job's status so as to not interrupt any other output,
+though it will notify of changes in a job's status after a foreground
+command in a list completes, before executing the next command in the
+list. If the ‘-b’ option to the ‘set’ builtin is enabled, Bash reports
+such changes immediately (*note The Set Builtin::). Bash executes any
+trap on ‘SIGCHLD’ for each child process that terminates.
+
+ When a job terminates and Bash notifies the user about it, Bash
+removes the job from the jobs table. It will not appear in ‘jobs’
+output, but ‘wait’ will report its exit status, as long as it's supplied
+the process ID associated with the job as an argument. When the table
+is empty, job numbers start over at 1.
+
+ If a user attempts to exit Bash while jobs are stopped, (or running,
+if the ‘checkjobs’ option is enabled - see *note The Shopt Builtin::),
+the shell prints a warning message, and if the ‘checkjobs’ option is
+enabled, lists the jobs and their statuses. The ‘jobs’ command may then
+be used to inspect their status. If the user immediately attempts to
+exit again, without an intervening command, Bash does not print another
+warning, and terminates any stopped jobs.
When the shell is waiting for a job or process using the ‘wait’
builtin, and job control is enabled, ‘wait’ will return when the job
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
- control is not enabled, or, when run with job control enabled, any
- JOBSPEC was not found or specifies a job that was started without
- job control.
+ been started with ‘&’. If JOBSPEC is not supplied, the shell uses
+ its notion of the current job. ‘bg’ returns zero unless it is run
+ when job control is not enabled, or, when run with job control
+ enabled, any JOBSPEC was not found or specifies a job that was
+ started without job control.
‘fg’
fg [JOBSPEC]
Resume the job JOBSPEC in the foreground and make it the current
- job. If JOBSPEC is not supplied, resume the current job. The
- return status is that of the command placed into the foreground, or
- non-zero if run when job control is disabled or, when run with job
- control enabled, JOBSPEC does not specify a valid job or JOBSPEC
- specifies a job that was started without job control.
+ job. If JOBSPEC is not supplied, ‘fg’ resumes the current job.
+ The return status is that of the command placed into the
+ foreground, or non-zero if run when job control is disabled or,
+ when run with job control enabled, JOBSPEC does not specify a valid
+ job or JOBSPEC specifies a job that was started without job
+ control.
‘jobs’
jobs [-lnprs] [JOBSPEC]
If JOBSPEC is supplied, ‘jobs’ restricts output to information
about that job. If JOBSPEC is not supplied, ‘jobs’ lists the
- status of all jobs.
+ status of all jobs. The return status is zero unless an invalid
+ option is encountered or an invalid JOBSPEC is supplied.
If the ‘-x’ option is supplied, ‘jobs’ replaces any JOBSPEC found
in COMMAND or ARGUMENTS with the corresponding process group ID,
status.
‘kill’
- kill [-s SIGSPEC] [-n SIGNUM] [-SIGSPEC] JOBSPEC or PID
+ kill [-s SIGSPEC] [-n SIGNUM] [-SIGSPEC] ID [...]
kill -l|-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
- the ‘SIG’ prefix) or a signal number; SIGNUM is a signal number.
- If SIGSPEC and SIGNUM are not present, ‘kill’ sends ‘SIGTERM’.
+ Send a signal specified by SIGSPEC or SIGNUM to the processes named
+ by each ID. Each ID may be a job specification JOBSPEC or process
+ ID PID. SIGSPEC is either a case-insensitive signal name such as
+ ‘SIGINT’ (with or without the ‘SIG’ prefix) or a signal number;
+ SIGNUM is a signal number. If SIGSPEC and SIGNUM are not present,
+ ‘kill’ sends ‘SIGTERM’.
The ‘-l’ option lists the signal names. If any arguments are
- supplied when ‘-l’ is supplied, the names of the signals
- corresponding to the arguments are listed, and the return status is
+ supplied when ‘-l’ is supplied, ‘kill’ lists the names of the
+ signals corresponding to the arguments, and the return status is
zero. EXIT_STATUS is a number specifying a signal number or the
- exit status of a process terminated by a signal. The ‘-L’ option
- is equivalent to ‘-l’.
+ exit status of a process terminated by a signal; if it is supplied,
+ ‘kill’ prints the name of the signal that caused the process to
+ terminate. ‘kill’ assumes that process exit statuses are greater
+ than 128; anything less than that is a signal number. The ‘-L’
+ option is equivalent to ‘-l’.
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
wait [-fn] [-p VARNAME] [ID ...]
Wait until the child process specified by each ID exits and return
- the exit status of the last ID. Each ID may be a PID or job
- specification JOBSPEC; if a job spec is supplied, ‘wait’ waits for
- all processes in the job.
+ the exit status of the last ID. Each ID may be a process ID PID or
+ a job specification JOBSPEC; if a jobspec is supplied, ‘wait’ waits
+ for all processes in the job.
If no options or IDs are supplied, ‘wait’ waits for all running
background jobs and the last-executed process substitution, if its
is a child of the shell, or if no arguments are supplied and the
shell has no unwaited-for children, the exit status is 127.
- If the ‘-p’ option is supplied, the process or job identifier of
- the job for which the exit status is returned is assigned to the
+ If the ‘-p’ option is supplied, ‘wait’ assigns the process or job
+ identifier of the job for which the exit status is returned to the
variable VARNAME named by the option argument. The variable, which
cannot be readonly, will be unset initially, before any assignment.
- This is useful only when the ‘-n’ option is supplied.
+ This is useful only when used with the ‘-n’ option.
Supplying the ‘-f’ option, when job control is enabled, forces
‘wait’ to wait for each ID to terminate before returning its
disown [-ar] [-h] [ID ...]
Without options, remove each ID from the table of active jobs.
- Each ID may be a PID or job specification JOBSPEC; if ID is a PID,
- ‘disown’ uses the job containing PID. If the ‘-h’ option is
- supplied, 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 ID is not present, and neither the ‘-a’ nor the ‘-r’
- option is supplied, ‘disown’ removes the current job.
+ Each ID may be a job specification JOBSPEC or a process ID PID; if
+ ID is a PID, ‘disown’ uses the job containing PID as JOBSPEC.
+
+ If the ‘-h’ option is supplied, ‘disown’ does not remove the jobs
+ corresponding to each ‘id’ from the jobs table, but rather marks
+ them so the shell does not send ‘SIGHUP’ to the job if the shell
+ receives a ‘SIGHUP’.
If no ID is supplied, the ‘-a’ option means to remove or mark all
- jobs; the ‘-r’ option without an ID argument restricts operation to
- running jobs.
+ jobs; the ‘-r’ option without an ID argument removes or marks
+ running jobs. If no ID is supplied, and neither the ‘-a’ nor the
+ ‘-r’ option is supplied, ‘disown’ removes or marks the current job.
The return value is 0 unless an ID does not specify a valid job.
‘auto_resume’
This variable controls how the shell interacts with the user and
- job control. If this variable exists then single-word simple
- commands without redirections are treated as candidates for
- resumption of an existing job. There is no ambiguity allowed; if
- there is more than one job beginning with the string typed, then
- the most recently accessed job is selected. The name of a stopped
- job, in this context, is the command line used to start it. If
- this variable is set to the value ‘exact’, the string supplied must
- match the name of a stopped job exactly; if set to ‘substring’, the
- string supplied needs to match a substring of the name of a stopped
- job. The ‘substring’ value provides functionality analogous to the
- ‘%?’ job ID (*note Job Control Basics::). 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 ‘%’ job ID.
+ job control. If this variable exists then simple commands
+ consisting of only a single word, without redirections, are treated
+ as candidates for resumption of an existing job. There is no
+ ambiguity allowed; if there is more than one job beginning with or
+ containing the word, then this selects the most recently accessed
+ job. The name of a stopped job, in this context, is the command
+ line used to start it, as displayed by ‘jobs’. If this variable is
+ set to the value ‘exact’, the word must match the name of a stopped
+ job exactly; if set to ‘substring’, the word needs to match a
+ substring of the name of a stopped job. The ‘substring’ value
+ provides functionality analogous to the ‘%?string’ job ID (*note
+ Job Control Basics::). If set to any other value (e.g., ‘prefix’),
+ the word must be a prefix of a stopped job's name; this provides
+ functionality analogous to the ‘%string’ job ID.
\1f
File: bash.info, Node: Command Line Editing, Next: Using History Interactively, Prev: Job Control, Up: Top
This key binding syntax recognizes a number of symbolic
character names: DEL, ESC, ESCAPE, LFD, NEWLINE, RET, RETURN,
- RUBOUT, SPACE, SPC, and TAB.
+ RUBOUT (a destructive backspace), SPACE, SPC, and TAB.
"KEYSEQ": FUNCTION-NAME or MACRO
KEYSEQ differs from KEYNAME above in that strings denoting an
‘delete-char (C-d)’
Delete the character at point. If this function is bound to the
same character as the tty EOF character, as ‘C-d’ commonly is, see
- above for the effects.
+ above for the effects. This may also be bound to the Delete key on
+ some keyboards.
‘backward-delete-char (Rubout)’
Delete the character behind the cursor. A numeric argument means
* dirs: Directory Stack Builtins.
(line 7)
* disown: Job Control Builtins.
- (line 114)
+ (line 120)
* echo: Bash Builtins. (line 284)
* enable: Bash Builtins. (line 337)
* eval: Bourne Shell Builtins.
* history: Bash History Builtins.
(line 59)
* jobs: Job Control Builtins.
- (line 27)
+ (line 28)
* kill: Job Control Builtins.
- (line 59)
+ (line 61)
* let: Bash Builtins. (line 394)
* local: Bash Builtins. (line 403)
* logout: Bash Builtins. (line 428)
* shopt: The Shopt Builtin. (line 9)
* source: Bash Builtins. (line 668)
* suspend: Job Control Builtins.
- (line 131)
+ (line 139)
* test: Bourne Shell Builtins.
(line 333)
* times: Bourne Shell Builtins.
* unset: Bourne Shell Builtins.
(line 528)
* wait: Job Control Builtins.
- (line 80)
+ (line 86)
\1f
File: bash.info, Node: Reserved Word Index, Next: Variable Index, Prev: Builtin Index, Up: Indexes
* alias-expand-line (): Miscellaneous Commands.
(line 133)
* backward-char (C-b): Commands For Moving. (line 17)
-* backward-delete-char (Rubout): Commands For Text. (line 17)
+* backward-delete-char (Rubout): Commands For Text. (line 18)
* backward-kill-line (C-x Rubout): Commands For Killing.
(line 11)
* backward-kill-word (M-<DEL>): Commands For Killing.
* beginning-of-history (M-<): Commands For History.
(line 20)
* beginning-of-line (C-a): Commands For Moving. (line 6)
-* bracketed-paste-begin (): Commands For Text. (line 34)
+* bracketed-paste-begin (): Commands For Text. (line 35)
* call-last-kbd-macro (C-x e): Keyboard Macros. (line 13)
-* capitalize-word (M-c): Commands For Text. (line 72)
+* capitalize-word (M-c): Commands For Text. (line 73)
* character-search (C-]): Miscellaneous Commands.
(line 41)
* character-search-backward (M-C-]): Miscellaneous Commands.
(line 147)
* do-lowercase-version (M-A, M-B, M-X, ...): Miscellaneous Commands.
(line 14)
-* downcase-word (M-l): Commands For Text. (line 68)
+* downcase-word (M-l): Commands For Text. (line 69)
* dump-functions (): Miscellaneous Commands.
(line 71)
* dump-macros (): Miscellaneous Commands.
(line 90)
* fetch-history (): Commands For History.
(line 106)
-* forward-backward-delete-char (): Commands For Text. (line 22)
+* forward-backward-delete-char (): Commands For Text. (line 23)
* forward-char (C-f): Commands For Moving. (line 14)
* forward-search-history (C-s): Commands For History.
(line 33)
(line 39)
* operate-and-get-next (C-o): Commands For History.
(line 99)
-* overwrite-mode (): Commands For Text. (line 76)
+* overwrite-mode (): Commands For Text. (line 77)
* possible-command-completions (C-x !): Commands For Completion.
(line 87)
* possible-completions (M-?): Commands For Completion.
(line 13)
* previous-screen-line (): Commands For Moving. (line 36)
* print-last-kbd-macro (): Keyboard Macros. (line 17)
-* quoted-insert (C-q or C-v): Commands For Text. (line 27)
+* quoted-insert (C-q or C-v): Commands For Text. (line 28)
* re-read-init-file (C-x C-r): Miscellaneous Commands.
(line 6)
* redraw-current-line (): Commands For Moving. (line 59)
(line 27)
* revert-line (M-r): Miscellaneous Commands.
(line 26)
-* self-insert (a, b, A, 1, !, ...): Commands For Text. (line 31)
+* self-insert (a, b, A, 1, !, ...): Commands For Text. (line 32)
* set-mark (C-@): Miscellaneous Commands.
(line 33)
* shell-backward-kill-word (): Commands For Killing.
* shell-forward-word (M-C-f): Commands For Moving. (line 28)
* shell-kill-word (M-C-d): Commands For Killing.
(line 32)
-* shell-transpose-words (M-C-t): Commands For Text. (line 57)
+* shell-transpose-words (M-C-t): Commands For Text. (line 58)
* skip-csi-sequence (): Miscellaneous Commands.
(line 50)
* spell-correct-word (C-x s): Miscellaneous Commands.
* start-kbd-macro (C-x (): Keyboard Macros. (line 6)
* tilde-expand (M-&): Miscellaneous Commands.
(line 30)
-* transpose-chars (C-t): Commands For Text. (line 46)
-* transpose-words (M-t): Commands For Text. (line 52)
+* transpose-chars (C-t): Commands For Text. (line 47)
+* transpose-words (M-t): Commands For Text. (line 53)
* undo (C-_ or C-x C-u): Miscellaneous Commands.
(line 23)
* universal-argument (): Numeric Arguments. (line 10)
(line 16)
* unix-word-rubout (C-w): Commands For Killing.
(line 41)
-* upcase-word (M-u): Commands For Text. (line 64)
+* upcase-word (M-u): Commands For Text. (line 65)
* yank (C-y): Commands For Killing.
(line 72)
* yank-last-arg (M-. or M-_): Commands For History.
* quoting: Quoting. (line 6)
* quoting, ANSI: ANSI-C Quoting. (line 6)
* Readline, how to use: Job Control Variables.
- (line 22)
+ (line 23)
* redirection: Redirections. (line 6)
* reserved word: Definitions. (line 70)
* reserved words: Reserved Words. (line 6)
Node: Shell Expansions\7f73761
Node: Brace Expansion\7f75950
Node: Tilde Expansion\7f78678
-Node: Shell Parameter Expansion\7f81620
-Node: Command Substitution\7f101392
-Node: Arithmetic Expansion\7f104925
-Node: Process Substitution\7f105938
-Node: Word Splitting\7f107054
-Node: Filename Expansion\7f109151
-Node: Pattern Matching\7f112419
-Node: Quote Removal\7f117753
-Node: Redirections\7f118057
-Node: Executing Commands\7f128272
-Node: Simple Command Expansion\7f128939
-Node: Command Search and Execution\7f131047
-Node: Command Execution Environment\7f133491
-Node: Environment\7f136939
-Node: Exit Status\7f138842
-Node: Signals\7f140900
-Node: Shell Scripts\7f144798
-Node: Shell Builtin Commands\7f148096
-Node: Bourne Shell Builtins\7f150207
-Node: Bash Builtins\7f176508
-Node: Modifying Shell Behavior\7f212956
-Node: The Set Builtin\7f213298
-Node: The Shopt Builtin\7f225234
-Node: Special Builtins\7f242286
-Node: Shell Variables\7f243275
-Node: Bourne Shell Variables\7f243709
-Node: Bash Variables\7f246217
-Node: Bash Features\7f284474
-Node: Invoking Bash\7f285488
-Node: Bash Startup Files\7f291914
-Node: Interactive Shells\7f297227
-Node: What is an Interactive Shell?\7f297635
-Node: Is this Shell Interactive?\7f298297
-Node: Interactive Shell Behavior\7f299121
-Node: Bash Conditional Expressions\7f302882
-Node: Shell Arithmetic\7f308099
-Node: Aliases\7f311438
-Node: Arrays\7f314400
-Node: The Directory Stack\7f321463
-Node: Directory Stack Builtins\7f322260
-Node: Controlling the Prompt\7f326705
-Node: The Restricted Shell\7f329589
-Node: Bash POSIX Mode\7f332471
-Node: Shell Compatibility Mode\7f350612
-Node: Job Control\7f359623
-Node: Job Control Basics\7f360080
-Node: Job Control Builtins\7f365388
-Node: Job Control Variables\7f371556
-Node: Command Line Editing\7f372724
-Node: Introduction and Notation\7f374427
-Node: Readline Interaction\7f376777
-Node: Readline Bare Essentials\7f377965
-Node: Readline Movement Commands\7f379773
-Node: Readline Killing Commands\7f380769
-Node: Readline Arguments\7f382792
-Node: Searching\7f383849
-Node: Readline Init File\7f386110
-Node: Readline Init File Syntax\7f387414
-Node: Conditional Init Constructs\7f414134
-Node: Sample Init File\7f418519
-Node: Bindable Readline Commands\7f421640
-Node: Commands For Moving\7f423112
-Node: Commands For History\7f425339
-Node: Commands For Text\7f430592
-Node: Commands For Killing\7f434651
-Node: Numeric Arguments\7f437439
-Node: Commands For Completion\7f438591
-Node: Keyboard Macros\7f443091
-Node: Miscellaneous Commands\7f443792
-Node: Readline vi Mode\7f450345
-Node: Programmable Completion\7f451322
-Node: Programmable Completion Builtins\7f459374
-Node: A Programmable Completion Example\7f471039
-Node: Using History Interactively\7f476384
-Node: Bash History Facilities\7f477065
-Node: Bash History Builtins\7f480800
-Node: History Interaction\7f487271
-Node: Event Designators\7f492225
-Node: Word Designators\7f493803
-Node: Modifiers\7f496111
-Node: Installing Bash\7f498052
-Node: Basic Installation\7f499168
-Node: Compilers and Options\7f503044
-Node: Compiling For Multiple Architectures\7f503794
-Node: Installation Names\7f505543
-Node: Specifying the System Type\7f507777
-Node: Sharing Defaults\7f508523
-Node: Operation Controls\7f509237
-Node: Optional Features\7f510256
-Node: Reporting Bugs\7f522636
-Node: Major Differences From The Bourne Shell\7f523994
-Node: GNU Free Documentation License\7f545414
-Node: Indexes\7f570591
-Node: Builtin Index\7f571042
-Node: Reserved Word Index\7f578140
-Node: Variable Index\7f580585
-Node: Function Index\7f597998
-Node: Concept Index\7f611854
+Node: Shell Parameter Expansion\7f81633
+Node: Command Substitution\7f101401
+Node: Arithmetic Expansion\7f104934
+Node: Process Substitution\7f105947
+Node: Word Splitting\7f107063
+Node: Filename Expansion\7f109160
+Node: Pattern Matching\7f112428
+Node: Quote Removal\7f117762
+Node: Redirections\7f118066
+Node: Executing Commands\7f128281
+Node: Simple Command Expansion\7f128948
+Node: Command Search and Execution\7f131056
+Node: Command Execution Environment\7f133500
+Node: Environment\7f136948
+Node: Exit Status\7f138851
+Node: Signals\7f140909
+Node: Shell Scripts\7f144807
+Node: Shell Builtin Commands\7f148105
+Node: Bourne Shell Builtins\7f150216
+Node: Bash Builtins\7f176517
+Node: Modifying Shell Behavior\7f212965
+Node: The Set Builtin\7f213307
+Node: The Shopt Builtin\7f225243
+Node: Special Builtins\7f242295
+Node: Shell Variables\7f243284
+Node: Bourne Shell Variables\7f243718
+Node: Bash Variables\7f246226
+Node: Bash Features\7f284483
+Node: Invoking Bash\7f285497
+Node: Bash Startup Files\7f291923
+Node: Interactive Shells\7f297236
+Node: What is an Interactive Shell?\7f297644
+Node: Is this Shell Interactive?\7f298306
+Node: Interactive Shell Behavior\7f299130
+Node: Bash Conditional Expressions\7f302891
+Node: Shell Arithmetic\7f308108
+Node: Aliases\7f311447
+Node: Arrays\7f314582
+Node: The Directory Stack\7f321645
+Node: Directory Stack Builtins\7f322442
+Node: Controlling the Prompt\7f326887
+Node: The Restricted Shell\7f329771
+Node: Bash POSIX Mode\7f332653
+Node: Shell Compatibility Mode\7f350794
+Node: Job Control\7f359805
+Node: Job Control Basics\7f360262
+Node: Job Control Builtins\7f366538
+Node: Job Control Variables\7f373220
+Node: Command Line Editing\7f374451
+Node: Introduction and Notation\7f376154
+Node: Readline Interaction\7f378504
+Node: Readline Bare Essentials\7f379692
+Node: Readline Movement Commands\7f381500
+Node: Readline Killing Commands\7f382496
+Node: Readline Arguments\7f384519
+Node: Searching\7f385576
+Node: Readline Init File\7f387837
+Node: Readline Init File Syntax\7f389141
+Node: Conditional Init Constructs\7f415887
+Node: Sample Init File\7f420272
+Node: Bindable Readline Commands\7f423393
+Node: Commands For Moving\7f424865
+Node: Commands For History\7f427092
+Node: Commands For Text\7f432345
+Node: Commands For Killing\7f436470
+Node: Numeric Arguments\7f439258
+Node: Commands For Completion\7f440410
+Node: Keyboard Macros\7f444910
+Node: Miscellaneous Commands\7f445611
+Node: Readline vi Mode\7f452164
+Node: Programmable Completion\7f453141
+Node: Programmable Completion Builtins\7f461193
+Node: A Programmable Completion Example\7f472858
+Node: Using History Interactively\7f478203
+Node: Bash History Facilities\7f478884
+Node: Bash History Builtins\7f482619
+Node: History Interaction\7f489090
+Node: Event Designators\7f494044
+Node: Word Designators\7f495622
+Node: Modifiers\7f497930
+Node: Installing Bash\7f499871
+Node: Basic Installation\7f500987
+Node: Compilers and Options\7f504863
+Node: Compiling For Multiple Architectures\7f505613
+Node: Installation Names\7f507362
+Node: Specifying the System Type\7f509596
+Node: Sharing Defaults\7f510342
+Node: Operation Controls\7f511056
+Node: Optional Features\7f512075
+Node: Reporting Bugs\7f524455
+Node: Major Differences From The Bourne Shell\7f525813
+Node: GNU Free Documentation License\7f547233
+Node: Indexes\7f572410
+Node: Builtin Index\7f572861
+Node: Reserved Word Index\7f579959
+Node: Variable Index\7f582404
+Node: Function Index\7f599817
+Node: Concept Index\7f613673
\1f
End Tag Table
@xrdef{Job Control Builtins-pg}{124}
@xrdef{Job Control Variables-title}{Job Control Variables}
@xrdef{Job Control Variables-snt}{Section@tie 7.3}
-@xrdef{Job Control Variables-pg}{126}
+@xrdef{Job Control Variables-pg}{127}
@xrdef{Command Line Editing-title}{Command Line Editing}
@xrdef{Command Line Editing-snt}{Chapter@tie 8}
@xrdef{Introduction and Notation-title}{Introduction to Line Editing}
@xrdef{Introduction and Notation-snt}{Section@tie 8.1}
@xrdef{Readline Interaction-title}{Readline Interaction}
@xrdef{Readline Interaction-snt}{Section@tie 8.2}
-@xrdef{Command Line Editing-pg}{127}
-@xrdef{Introduction and Notation-pg}{127}
-@xrdef{Readline Interaction-pg}{127}
+@xrdef{Command Line Editing-pg}{128}
+@xrdef{Introduction and Notation-pg}{128}
+@xrdef{Readline Interaction-pg}{128}
@xrdef{Readline Bare Essentials-title}{Readline Bare Essentials}
@xrdef{Readline Bare Essentials-snt}{Section@tie 8.2.1}
@xrdef{Readline Movement Commands-title}{Readline Movement Commands}
@xrdef{Readline Movement Commands-snt}{Section@tie 8.2.2}
-@xrdef{Readline Bare Essentials-pg}{128}
-@xrdef{Readline Movement Commands-pg}{128}
+@xrdef{Readline Bare Essentials-pg}{129}
+@xrdef{Readline Movement Commands-pg}{129}
@xrdef{Readline Killing Commands-title}{Readline Killing Commands}
@xrdef{Readline Killing Commands-snt}{Section@tie 8.2.3}
@xrdef{Readline Arguments-title}{Readline Arguments}
@xrdef{Readline Arguments-snt}{Section@tie 8.2.4}
@xrdef{Searching-title}{Searching for Commands in the History}
@xrdef{Searching-snt}{Section@tie 8.2.5}
-@xrdef{Readline Killing Commands-pg}{129}
-@xrdef{Readline Arguments-pg}{129}
+@xrdef{Readline Killing Commands-pg}{130}
+@xrdef{Readline Arguments-pg}{130}
@xrdef{Readline Init File-title}{Readline Init File}
@xrdef{Readline Init File-snt}{Section@tie 8.3}
@xrdef{Readline Init File Syntax-title}{Readline Init File Syntax}
@xrdef{Readline Init File Syntax-snt}{Section@tie 8.3.1}
-@xrdef{Searching-pg}{130}
-@xrdef{Readline Init File-pg}{130}
-@xrdef{Readline Init File Syntax-pg}{130}
+@xrdef{Searching-pg}{131}
+@xrdef{Readline Init File-pg}{131}
+@xrdef{Readline Init File Syntax-pg}{131}
@xrdef{Conditional Init Constructs-title}{Conditional Init Constructs}
@xrdef{Conditional Init Constructs-snt}{Section@tie 8.3.2}
-@xrdef{Conditional Init Constructs-pg}{140}
+@xrdef{Conditional Init Constructs-pg}{141}
@xrdef{Sample Init File-title}{Sample Init File}
@xrdef{Sample Init File-snt}{Section@tie 8.3.3}
-@xrdef{Sample Init File-pg}{141}
+@xrdef{Sample Init File-pg}{142}
@xrdef{Bindable Readline Commands-title}{Bindable Readline Commands}
@xrdef{Bindable Readline Commands-snt}{Section@tie 8.4}
@xrdef{Commands For Moving-title}{Commands For Moving}
@xrdef{Commands For Moving-snt}{Section@tie 8.4.1}
-@xrdef{Bindable Readline Commands-pg}{144}
-@xrdef{Commands For Moving-pg}{144}
+@xrdef{Bindable Readline Commands-pg}{145}
+@xrdef{Commands For Moving-pg}{145}
@xrdef{Commands For History-title}{Commands For Manipulating The History}
@xrdef{Commands For History-snt}{Section@tie 8.4.2}
-@xrdef{Commands For History-pg}{145}
+@xrdef{Commands For History-pg}{146}
@xrdef{Commands For Text-title}{Commands For Changing Text}
@xrdef{Commands For Text-snt}{Section@tie 8.4.3}
-@xrdef{Commands For Text-pg}{147}
+@xrdef{Commands For Text-pg}{148}
@xrdef{Commands For Killing-title}{Killing And Yanking}
@xrdef{Commands For Killing-snt}{Section@tie 8.4.4}
-@xrdef{Commands For Killing-pg}{148}
+@xrdef{Commands For Killing-pg}{149}
@xrdef{Numeric Arguments-title}{Specifying Numeric Arguments}
@xrdef{Numeric Arguments-snt}{Section@tie 8.4.5}
@xrdef{Commands For Completion-title}{Letting Readline Type For You}
@xrdef{Commands For Completion-snt}{Section@tie 8.4.6}
-@xrdef{Numeric Arguments-pg}{150}
-@xrdef{Commands For Completion-pg}{150}
+@xrdef{Numeric Arguments-pg}{151}
+@xrdef{Commands For Completion-pg}{151}
@xrdef{Keyboard Macros-title}{Keyboard Macros}
@xrdef{Keyboard Macros-snt}{Section@tie 8.4.7}
@xrdef{Miscellaneous Commands-title}{Some Miscellaneous Commands}
@xrdef{Miscellaneous Commands-snt}{Section@tie 8.4.8}
-@xrdef{Keyboard Macros-pg}{152}
-@xrdef{Miscellaneous Commands-pg}{152}
+@xrdef{Keyboard Macros-pg}{153}
+@xrdef{Miscellaneous Commands-pg}{153}
@xrdef{Readline vi Mode-title}{Readline vi Mode}
@xrdef{Readline vi Mode-snt}{Section@tie 8.5}
@xrdef{Programmable Completion-title}{Programmable Completion}
@xrdef{Programmable Completion-snt}{Section@tie 8.6}
-@xrdef{Readline vi Mode-pg}{155}
-@xrdef{Programmable Completion-pg}{155}
+@xrdef{Readline vi Mode-pg}{156}
+@xrdef{Programmable Completion-pg}{156}
@xrdef{Programmable Completion Builtins-title}{Programmable Completion Builtins}
@xrdef{Programmable Completion Builtins-snt}{Section@tie 8.7}
-@xrdef{Programmable Completion Builtins-pg}{157}
+@xrdef{Programmable Completion Builtins-pg}{158}
@xrdef{A Programmable Completion Example-title}{A Programmable Completion Example}
@xrdef{A Programmable Completion Example-snt}{Section@tie 8.8}
-@xrdef{A Programmable Completion Example-pg}{161}
+@xrdef{A Programmable Completion Example-pg}{162}
@xrdef{Using History Interactively-title}{Using History Interactively}
@xrdef{Using History Interactively-snt}{Chapter@tie 9}
@xrdef{Bash History Facilities-title}{Bash History Facilities}
@xrdef{Bash History Facilities-snt}{Section@tie 9.1}
-@xrdef{Using History Interactively-pg}{164}
-@xrdef{Bash History Facilities-pg}{164}
+@xrdef{Using History Interactively-pg}{165}
+@xrdef{Bash History Facilities-pg}{165}
@xrdef{Bash History Builtins-title}{Bash History Builtins}
@xrdef{Bash History Builtins-snt}{Section@tie 9.2}
-@xrdef{Bash History Builtins-pg}{165}
+@xrdef{Bash History Builtins-pg}{166}
@xrdef{History Interaction-title}{History Expansion}
@xrdef{History Interaction-snt}{Section@tie 9.3}
-@xrdef{History Interaction-pg}{167}
+@xrdef{History Interaction-pg}{168}
@xrdef{Event Designators-title}{Event Designators}
@xrdef{Event Designators-snt}{Section@tie 9.3.1}
-@xrdef{Event Designators-pg}{168}
+@xrdef{Event Designators-pg}{169}
@xrdef{Word Designators-title}{Word Designators}
@xrdef{Word Designators-snt}{Section@tie 9.3.2}
@xrdef{Modifiers-title}{Modifiers}
@xrdef{Modifiers-snt}{Section@tie 9.3.3}
-@xrdef{Word Designators-pg}{169}
-@xrdef{Modifiers-pg}{170}
+@xrdef{Word Designators-pg}{170}
+@xrdef{Modifiers-pg}{171}
@xrdef{Installing Bash-title}{Installing Bash}
@xrdef{Installing Bash-snt}{Chapter@tie 10}
@xrdef{Basic Installation-title}{Basic Installation}
@xrdef{Basic Installation-snt}{Section@tie 10.1}
-@xrdef{Installing Bash-pg}{171}
-@xrdef{Basic Installation-pg}{171}
+@xrdef{Installing Bash-pg}{172}
+@xrdef{Basic Installation-pg}{172}
@xrdef{Compilers and Options-title}{Compilers and Options}
@xrdef{Compilers and Options-snt}{Section@tie 10.2}
@xrdef{Compiling For Multiple Architectures-title}{Compiling For Multiple Architectures}
@xrdef{Compiling For Multiple Architectures-snt}{Section@tie 10.3}
@xrdef{Installation Names-title}{Installation Names}
@xrdef{Installation Names-snt}{Section@tie 10.4}
-@xrdef{Compilers and Options-pg}{172}
-@xrdef{Compiling For Multiple Architectures-pg}{172}
+@xrdef{Compilers and Options-pg}{173}
+@xrdef{Compiling For Multiple Architectures-pg}{173}
@xrdef{Specifying the System Type-title}{Specifying the System Type}
@xrdef{Specifying the System Type-snt}{Section@tie 10.5}
@xrdef{Sharing Defaults-title}{Sharing Defaults}
@xrdef{Sharing Defaults-snt}{Section@tie 10.6}
@xrdef{Operation Controls-title}{Operation Controls}
@xrdef{Operation Controls-snt}{Section@tie 10.7}
-@xrdef{Installation Names-pg}{173}
-@xrdef{Specifying the System Type-pg}{173}
-@xrdef{Sharing Defaults-pg}{173}
+@xrdef{Installation Names-pg}{174}
+@xrdef{Specifying the System Type-pg}{174}
+@xrdef{Sharing Defaults-pg}{174}
@xrdef{Optional Features-title}{Optional Features}
@xrdef{Optional Features-snt}{Section@tie 10.8}
-@xrdef{Operation Controls-pg}{174}
-@xrdef{Optional Features-pg}{174}
+@xrdef{Operation Controls-pg}{175}
+@xrdef{Optional Features-pg}{175}
@xrdef{Reporting Bugs-title}{Reporting Bugs}
@xrdef{Reporting Bugs-snt}{Appendix@tie @char65{}}
-@xrdef{Reporting Bugs-pg}{180}
+@xrdef{Reporting Bugs-pg}{181}
@xrdef{Major Differences From The Bourne Shell-title}{Major Differences From The Bourne Shell}
@xrdef{Major Differences From The Bourne Shell-snt}{Appendix@tie @char66{}}
-@xrdef{Major Differences From The Bourne Shell-pg}{181}
+@xrdef{Major Differences From The Bourne Shell-pg}{182}
@xrdef{GNU Free Documentation License-title}{GNU Free Documentation License}
@xrdef{GNU Free Documentation License-snt}{Appendix@tie @char67{}}
-@xrdef{GNU Free Documentation License-pg}{188}
+@xrdef{GNU Free Documentation License-pg}{189}
@xrdef{Indexes-title}{Indexes}
@xrdef{Indexes-snt}{Appendix@tie @char68{}}
@xrdef{Builtin Index-title}{Index of Shell Builtin Commands}
@xrdef{Builtin Index-snt}{Section@tie @char68.1}
-@xrdef{Indexes-pg}{196}
-@xrdef{Builtin Index-pg}{196}
+@xrdef{Indexes-pg}{197}
+@xrdef{Builtin Index-pg}{197}
@xrdef{Reserved Word Index-title}{Index of Shell Reserved Words}
@xrdef{Reserved Word Index-snt}{Section@tie @char68.2}
@xrdef{Variable Index-title}{Parameter and Variable Index}
@xrdef{Variable Index-snt}{Section@tie @char68.3}
-@xrdef{Reserved Word Index-pg}{197}
-@xrdef{Variable Index-pg}{198}
+@xrdef{Reserved Word Index-pg}{198}
+@xrdef{Variable Index-pg}{199}
@xrdef{Function Index-title}{Function Index}
@xrdef{Function Index-snt}{Section@tie @char68.4}
-@xrdef{Function Index-pg}{200}
+@xrdef{Function Index-pg}{201}
@xrdef{Concept Index-title}{Concept Index}
@xrdef{Concept Index-snt}{Section@tie @char68.5}
-@xrdef{Concept Index-pg}{202}
+@xrdef{Concept Index-pg}{203}
\entry{popd}{110}{\code {popd}}
\entry{pushd}{111}{\code {pushd}}
\entry{bg}{124}{\code {bg}}
-\entry{fg}{124}{\code {fg}}
-\entry{jobs}{124}{\code {jobs}}
+\entry{fg}{125}{\code {fg}}
+\entry{jobs}{125}{\code {jobs}}
\entry{kill}{125}{\code {kill}}
-\entry{wait}{125}{\code {wait}}
+\entry{wait}{126}{\code {wait}}
\entry{disown}{126}{\code {disown}}
\entry{suspend}{126}{\code {suspend}}
-\entry{compgen}{157}{\code {compgen}}
-\entry{complete}{158}{\code {complete}}
-\entry{compopt}{161}{\code {compopt}}
-\entry{fc}{165}{\code {fc}}
-\entry{history}{165}{\code {history}}
+\entry{compgen}{158}{\code {compgen}}
+\entry{complete}{159}{\code {complete}}
+\entry{compopt}{162}{\code {compopt}}
+\entry{fc}{166}{\code {fc}}
+\entry{history}{166}{\code {history}}
\entry{\code {caller}}{61}
\entry{\code {cd}}{51}
\entry{\code {command}}{61}
-\entry{\code {compgen}}{157}
-\entry{\code {complete}}{158}
-\entry{\code {compopt}}{161}
+\entry{\code {compgen}}{158}
+\entry{\code {complete}}{159}
+\entry{\code {compopt}}{162}
\entry{\code {continue}}{52}
\initial {D}
\entry{\code {declare}}{62}
\entry{\code {export}}{52}
\initial {F}
\entry{\code {false}}{53}
-\entry{\code {fc}}{165}
-\entry{\code {fg}}{124}
+\entry{\code {fc}}{166}
+\entry{\code {fg}}{125}
\initial {G}
\entry{\code {getopts}}{53}
\initial {H}
\entry{\code {hash}}{54}
\entry{\code {help}}{65}
-\entry{\code {history}}{165}
+\entry{\code {history}}{166}
\initial {J}
-\entry{\code {jobs}}{124}
+\entry{\code {jobs}}{125}
\initial {K}
\entry{\code {kill}}{125}
\initial {L}
\entry{\code {unalias}}{71}
\entry{\code {unset}}{58}
\initial {W}
-\entry{\code {wait}}{125}
+\entry{\code {wait}}{126}
\entry{foreground}{123}{foreground}
\entry{background}{123}{background}
\entry{suspending jobs}{123}{suspending jobs}
-\entry{Readline, how to use}{126}{Readline, how to use}
-\entry{interaction, readline}{127}{interaction, readline}
-\entry{notation, readline}{128}{notation, readline}
-\entry{command editing}{128}{command editing}
-\entry{editing command lines}{128}{editing command lines}
-\entry{killing text}{129}{killing text}
-\entry{yanking text}{129}{yanking text}
-\entry{kill ring}{129}{kill ring}
-\entry{initialization file, readline}{130}{initialization file, readline}
-\entry{variables, readline}{131}{variables, readline}
-\entry{programmable completion}{155}{programmable completion}
-\entry{completion builtins}{157}{completion builtins}
-\entry{History, how to use}{163}{History, how to use}
-\entry{command history}{164}{command history}
-\entry{history list}{164}{history list}
-\entry{history builtins}{165}{history builtins}
-\entry{history expansion}{167}{history expansion}
-\entry{event designators}{168}{event designators}
-\entry{history events}{168}{history events}
-\entry{installation}{171}{installation}
-\entry{configuration}{171}{configuration}
-\entry{Bash installation}{171}{Bash installation}
-\entry{Bash configuration}{171}{Bash configuration}
+\entry{Readline, how to use}{127}{Readline, how to use}
+\entry{interaction, readline}{128}{interaction, readline}
+\entry{notation, readline}{129}{notation, readline}
+\entry{command editing}{129}{command editing}
+\entry{editing command lines}{129}{editing command lines}
+\entry{killing text}{130}{killing text}
+\entry{yanking text}{130}{yanking text}
+\entry{kill ring}{130}{kill ring}
+\entry{initialization file, readline}{131}{initialization file, readline}
+\entry{variables, readline}{132}{variables, readline}
+\entry{programmable completion}{156}{programmable completion}
+\entry{completion builtins}{158}{completion builtins}
+\entry{History, how to use}{164}{History, how to use}
+\entry{command history}{165}{command history}
+\entry{history list}{165}{history list}
+\entry{history builtins}{166}{history builtins}
+\entry{history expansion}{168}{history expansion}
+\entry{event designators}{169}{event designators}
+\entry{history events}{169}{history events}
+\entry{installation}{172}{installation}
+\entry{configuration}{172}{configuration}
+\entry{Bash installation}{172}{Bash installation}
+\entry{Bash configuration}{172}{Bash configuration}
\entry{arrays}{108}
\initial {B}
\entry{background}{123}
-\entry{Bash configuration}{171}
-\entry{Bash installation}{171}
+\entry{Bash configuration}{172}
+\entry{Bash installation}{172}
\entry{binary arithmetic operators}{106}
\entry{bitwise arithmetic operators}{106}
\entry{Bourne shell}{5}
\entry{brace expansion}{25}
\entry{builtin}{3}
\initial {C}
-\entry{command editing}{128}
+\entry{command editing}{129}
\entry{command execution}{44}
\entry{command expansion}{44}
-\entry{command history}{164}
+\entry{command history}{165}
\entry{command search}{44}
\entry{command substitution}{35}
\entry{command timing}{10}
\entry{comments, shell}{9}
\entry{Compatibility Level}{119}
\entry{Compatibility Mode}{119}
-\entry{completion builtins}{157}
+\entry{completion builtins}{158}
\entry{conditional arithmetic operator}{106}
-\entry{configuration}{171}
+\entry{configuration}{172}
\entry{control operator}{3}
\entry{coprocess}{18}
\initial {D}
\entry{directory stack}{110}
\entry{dollar-single quote quoting}{6}
\initial {E}
-\entry{editing command lines}{128}
+\entry{editing command lines}{129}
\entry{environment}{46}
\entry{evaluation, arithmetic}{105}
-\entry{event designators}{168}
+\entry{event designators}{169}
\entry{execution environment}{45}
\entry{exit status}{3, 47}
\entry{expansion}{24}
\entry{foreground}{123}
\entry{functions, shell}{19}
\initial {H}
-\entry{history builtins}{165}
-\entry{history events}{168}
-\entry{history expansion}{167}
-\entry{history list}{164}
-\entry{History, how to use}{163}
+\entry{history builtins}{166}
+\entry{history events}{169}
+\entry{history expansion}{168}
+\entry{history list}{165}
+\entry{History, how to use}{164}
\initial {I}
\entry{identifier}{3}
-\entry{initialization file, readline}{130}
-\entry{installation}{171}
-\entry{interaction, readline}{127}
+\entry{initialization file, readline}{131}
+\entry{installation}{172}
+\entry{interaction, readline}{128}
\entry{interactive shell}{100, 102}
\entry{internationalization}{7}
\entry{internationalized scripts}{8}
\entry{job}{3}
\entry{job control}{3, 123}
\initial {K}
-\entry{kill ring}{129}
-\entry{killing text}{129}
+\entry{kill ring}{130}
+\entry{killing text}{130}
\initial {L}
\entry{localization}{7}
\entry{login shell}{100}
\initial {N}
\entry{name}{3}
\entry{native languages}{7}
-\entry{notation, readline}{128}
+\entry{notation, readline}{129}
\initial {O}
\entry{operator, shell}{3}
\initial {P}
\entry{process group}{3}
\entry{process group ID}{3}
\entry{process substitution}{36}
-\entry{programmable completion}{155}
+\entry{programmable completion}{156}
\entry{prompting}{111}
\initial {Q}
\entry{quoting}{6}
\entry{quoting, ANSI}{6}
\initial {R}
-\entry{Readline, how to use}{126}
+\entry{Readline, how to use}{127}
\entry{redirection}{40}
\entry{reserved word}{3}
\entry{reserved words}{9}
\entry{unary arithmetic operators}{106}
\initial {V}
\entry{variable, shell}{22}
-\entry{variables, readline}{131}
+\entry{variables, readline}{132}
\initial {W}
\entry{word}{4}
\entry{word splitting}{37}
\initial {Y}
-\entry{yanking text}{129}
+\entry{yanking text}{130}
-\entry{beginning-of-line (C-a)}{144}{\code {beginning-of-line (C-a)}}
-\entry{end-of-line (C-e)}{144}{\code {end-of-line (C-e)}}
-\entry{forward-char (C-f)}{144}{\code {forward-char (C-f)}}
-\entry{backward-char (C-b)}{144}{\code {backward-char (C-b)}}
-\entry{forward-word (M-f)}{144}{\code {forward-word (M-f)}}
-\entry{backward-word (M-b)}{144}{\code {backward-word (M-b)}}
-\entry{shell-forward-word (M-C-f)}{144}{\code {shell-forward-word (M-C-f)}}
-\entry{shell-backward-word (M-C-b)}{144}{\code {shell-backward-word (M-C-b)}}
-\entry{previous-screen-line ()}{145}{\code {previous-screen-line ()}}
-\entry{next-screen-line ()}{145}{\code {next-screen-line ()}}
-\entry{clear-display (M-C-l)}{145}{\code {clear-display (M-C-l)}}
-\entry{clear-screen (C-l)}{145}{\code {clear-screen (C-l)}}
-\entry{redraw-current-line ()}{145}{\code {redraw-current-line ()}}
-\entry{accept-line (Newline or Return)}{145}{\code {accept-line (Newline or Return)}}
-\entry{previous-history (C-p)}{145}{\code {previous-history (C-p)}}
-\entry{next-history (C-n)}{145}{\code {next-history (C-n)}}
-\entry{beginning-of-history (M-<)}{145}{\code {beginning-of-history (M-<)}}
-\entry{end-of-history (M->)}{145}{\code {end-of-history (M->)}}
-\entry{reverse-search-history (C-r)}{145}{\code {reverse-search-history (C-r)}}
-\entry{forward-search-history (C-s)}{145}{\code {forward-search-history (C-s)}}
-\entry{non-incremental-reverse-search-history (M-p)}{146}{\code {non-incremental-reverse-search-history (M-p)}}
-\entry{non-incremental-forward-search-history (M-n)}{146}{\code {non-incremental-forward-search-history (M-n)}}
-\entry{history-search-backward ()}{146}{\code {history-search-backward ()}}
-\entry{history-search-forward ()}{146}{\code {history-search-forward ()}}
-\entry{history-substring-search-backward ()}{146}{\code {history-substring-search-backward ()}}
-\entry{history-substring-search-forward ()}{146}{\code {history-substring-search-forward ()}}
-\entry{yank-nth-arg (M-C-y)}{146}{\code {yank-nth-arg (M-C-y)}}
-\entry{yank-last-arg (M-. or M-_)}{146}{\code {yank-last-arg (M-. or M-_)}}
-\entry{operate-and-get-next (C-o)}{147}{\code {operate-and-get-next (C-o)}}
-\entry{fetch-history ()}{147}{\code {fetch-history ()}}
-\entry{end-of-file (usually C-d)}{147}{\code {\i {end-of-file} (usually C-d)}}
-\entry{delete-char (C-d)}{147}{\code {delete-char (C-d)}}
-\entry{backward-delete-char (Rubout)}{147}{\code {backward-delete-char (Rubout)}}
-\entry{forward-backward-delete-char ()}{147}{\code {forward-backward-delete-char ()}}
-\entry{quoted-insert (C-q or C-v)}{147}{\code {quoted-insert (C-q or C-v)}}
-\entry{self-insert (a, b, A, 1, !, ...{})}{147}{\code {self-insert (a, b, A, 1, !, \dots {})}}
-\entry{bracketed-paste-begin ()}{147}{\code {bracketed-paste-begin ()}}
-\entry{transpose-chars (C-t)}{148}{\code {transpose-chars (C-t)}}
-\entry{transpose-words (M-t)}{148}{\code {transpose-words (M-t)}}
-\entry{shell-transpose-words (M-C-t)}{148}{\code {shell-transpose-words (M-C-t)}}
-\entry{upcase-word (M-u)}{148}{\code {upcase-word (M-u)}}
-\entry{downcase-word (M-l)}{148}{\code {downcase-word (M-l)}}
-\entry{capitalize-word (M-c)}{148}{\code {capitalize-word (M-c)}}
-\entry{overwrite-mode ()}{148}{\code {overwrite-mode ()}}
-\entry{kill-line (C-k)}{148}{\code {kill-line (C-k)}}
-\entry{backward-kill-line (C-x Rubout)}{148}{\code {backward-kill-line (C-x Rubout)}}
-\entry{unix-line-discard (C-u)}{148}{\code {unix-line-discard (C-u)}}
-\entry{kill-whole-line ()}{149}{\code {kill-whole-line ()}}
-\entry{kill-word (M-d)}{149}{\code {kill-word (M-d)}}
-\entry{backward-kill-word (M-DEL)}{149}{\code {backward-kill-word (M-\key {DEL})}}
-\entry{shell-kill-word (M-C-d)}{149}{\code {shell-kill-word (M-C-d)}}
-\entry{shell-backward-kill-word ()}{149}{\code {shell-backward-kill-word ()}}
-\entry{unix-word-rubout (C-w)}{149}{\code {unix-word-rubout (C-w)}}
-\entry{unix-filename-rubout ()}{149}{\code {unix-filename-rubout ()}}
-\entry{delete-horizontal-space ()}{149}{\code {delete-horizontal-space ()}}
-\entry{kill-region ()}{149}{\code {kill-region ()}}
-\entry{copy-region-as-kill ()}{149}{\code {copy-region-as-kill ()}}
-\entry{copy-backward-word ()}{149}{\code {copy-backward-word ()}}
-\entry{copy-forward-word ()}{149}{\code {copy-forward-word ()}}
-\entry{yank (C-y)}{149}{\code {yank (C-y)}}
-\entry{yank-pop (M-y)}{149}{\code {yank-pop (M-y)}}
-\entry{digit-argument (M-0, M-1, ...{} M--)}{150}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}
-\entry{universal-argument ()}{150}{\code {universal-argument ()}}
-\entry{complete (TAB)}{150}{\code {complete (\key {TAB})}}
-\entry{possible-completions (M-?)}{150}{\code {possible-completions (M-?)}}
-\entry{insert-completions (M-*)}{150}{\code {insert-completions (M-*)}}
-\entry{menu-complete ()}{150}{\code {menu-complete ()}}
-\entry{menu-complete-backward ()}{151}{\code {menu-complete-backward ()}}
-\entry{delete-char-or-list ()}{151}{\code {delete-char-or-list ()}}
-\entry{complete-filename (M-/)}{151}{\code {complete-filename (M-/)}}
-\entry{possible-filename-completions (C-x /)}{151}{\code {possible-filename-completions (C-x /)}}
-\entry{complete-username (M-~)}{151}{\code {complete-username (M-~)}}
-\entry{possible-username-completions (C-x ~)}{151}{\code {possible-username-completions (C-x ~)}}
-\entry{complete-variable (M-$)}{151}{\code {complete-variable (M-$)}}
-\entry{possible-variable-completions (C-x $)}{151}{\code {possible-variable-completions (C-x $)}}
-\entry{complete-hostname (M-@)}{151}{\code {complete-hostname (M-@)}}
-\entry{possible-hostname-completions (C-x @)}{151}{\code {possible-hostname-completions (C-x @)}}
-\entry{complete-command (M-!)}{151}{\code {complete-command (M-!)}}
-\entry{possible-command-completions (C-x !)}{151}{\code {possible-command-completions (C-x !)}}
-\entry{dynamic-complete-history (M-TAB)}{151}{\code {dynamic-complete-history (M-\key {TAB})}}
-\entry{dabbrev-expand ()}{151}{\code {dabbrev-expand ()}}
-\entry{complete-into-braces (M-{\indexlbrace })}{152}{\code {complete-into-braces (M-{\tt \char 123})}}
-\entry{start-kbd-macro (C-x ()}{152}{\code {start-kbd-macro (C-x ()}}
-\entry{end-kbd-macro (C-x ))}{152}{\code {end-kbd-macro (C-x ))}}
-\entry{call-last-kbd-macro (C-x e)}{152}{\code {call-last-kbd-macro (C-x e)}}
-\entry{print-last-kbd-macro ()}{152}{\code {print-last-kbd-macro ()}}
-\entry{re-read-init-file (C-x C-r)}{152}{\code {re-read-init-file (C-x C-r)}}
-\entry{abort (C-g)}{152}{\code {abort (C-g)}}
-\entry{do-lowercase-version (M-A, M-B, M-x, ...{})}{152}{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}
-\entry{prefix-meta (ESC)}{152}{\code {prefix-meta (\key {ESC})}}
-\entry{undo (C-_ or C-x C-u)}{152}{\code {undo (C-_ or C-x C-u)}}
-\entry{revert-line (M-r)}{152}{\code {revert-line (M-r)}}
-\entry{tilde-expand (M-&)}{152}{\code {tilde-expand (M-&)}}
-\entry{set-mark (C-@)}{152}{\code {set-mark (C-@)}}
-\entry{exchange-point-and-mark (C-x C-x)}{152}{\code {exchange-point-and-mark (C-x C-x)}}
-\entry{character-search (C-])}{153}{\code {character-search (C-])}}
-\entry{character-search-backward (M-C-])}{153}{\code {character-search-backward (M-C-])}}
-\entry{skip-csi-sequence ()}{153}{\code {skip-csi-sequence ()}}
-\entry{insert-comment (M-#)}{153}{\code {insert-comment (M-#)}}
-\entry{dump-functions ()}{153}{\code {dump-functions ()}}
-\entry{dump-variables ()}{153}{\code {dump-variables ()}}
-\entry{dump-macros ()}{153}{\code {dump-macros ()}}
-\entry{execute-named-command (M-x)}{153}{\code {execute-named-command (M-x)}}
-\entry{spell-correct-word (C-x s)}{154}{\code {spell-correct-word (C-x s)}}
-\entry{glob-complete-word (M-g)}{154}{\code {glob-complete-word (M-g)}}
-\entry{glob-expand-word (C-x *)}{154}{\code {glob-expand-word (C-x *)}}
-\entry{glob-list-expansions (C-x g)}{154}{\code {glob-list-expansions (C-x g)}}
-\entry{shell-expand-line (M-C-e)}{154}{\code {shell-expand-line (M-C-e)}}
-\entry{history-expand-line (M-^)}{154}{\code {history-expand-line (M-^)}}
-\entry{magic-space ()}{154}{\code {magic-space ()}}
-\entry{alias-expand-line ()}{154}{\code {alias-expand-line ()}}
-\entry{history-and-alias-expand-line ()}{154}{\code {history-and-alias-expand-line ()}}
-\entry{insert-last-argument (M-. or M-_)}{154}{\code {insert-last-argument (M-. or M-_)}}
-\entry{edit-and-execute-command (C-x C-e)}{154}{\code {edit-and-execute-command (C-x C-e)}}
-\entry{display-shell-version (C-x C-v)}{154}{\code {display-shell-version (C-x C-v)}}
+\entry{beginning-of-line (C-a)}{145}{\code {beginning-of-line (C-a)}}
+\entry{end-of-line (C-e)}{145}{\code {end-of-line (C-e)}}
+\entry{forward-char (C-f)}{145}{\code {forward-char (C-f)}}
+\entry{backward-char (C-b)}{145}{\code {backward-char (C-b)}}
+\entry{forward-word (M-f)}{145}{\code {forward-word (M-f)}}
+\entry{backward-word (M-b)}{145}{\code {backward-word (M-b)}}
+\entry{shell-forward-word (M-C-f)}{145}{\code {shell-forward-word (M-C-f)}}
+\entry{shell-backward-word (M-C-b)}{145}{\code {shell-backward-word (M-C-b)}}
+\entry{previous-screen-line ()}{146}{\code {previous-screen-line ()}}
+\entry{next-screen-line ()}{146}{\code {next-screen-line ()}}
+\entry{clear-display (M-C-l)}{146}{\code {clear-display (M-C-l)}}
+\entry{clear-screen (C-l)}{146}{\code {clear-screen (C-l)}}
+\entry{redraw-current-line ()}{146}{\code {redraw-current-line ()}}
+\entry{accept-line (Newline or Return)}{146}{\code {accept-line (Newline or Return)}}
+\entry{previous-history (C-p)}{146}{\code {previous-history (C-p)}}
+\entry{next-history (C-n)}{146}{\code {next-history (C-n)}}
+\entry{beginning-of-history (M-<)}{146}{\code {beginning-of-history (M-<)}}
+\entry{end-of-history (M->)}{146}{\code {end-of-history (M->)}}
+\entry{reverse-search-history (C-r)}{146}{\code {reverse-search-history (C-r)}}
+\entry{forward-search-history (C-s)}{146}{\code {forward-search-history (C-s)}}
+\entry{non-incremental-reverse-search-history (M-p)}{147}{\code {non-incremental-reverse-search-history (M-p)}}
+\entry{non-incremental-forward-search-history (M-n)}{147}{\code {non-incremental-forward-search-history (M-n)}}
+\entry{history-search-backward ()}{147}{\code {history-search-backward ()}}
+\entry{history-search-forward ()}{147}{\code {history-search-forward ()}}
+\entry{history-substring-search-backward ()}{147}{\code {history-substring-search-backward ()}}
+\entry{history-substring-search-forward ()}{147}{\code {history-substring-search-forward ()}}
+\entry{yank-nth-arg (M-C-y)}{147}{\code {yank-nth-arg (M-C-y)}}
+\entry{yank-last-arg (M-. or M-_)}{147}{\code {yank-last-arg (M-. or M-_)}}
+\entry{operate-and-get-next (C-o)}{148}{\code {operate-and-get-next (C-o)}}
+\entry{fetch-history ()}{148}{\code {fetch-history ()}}
+\entry{end-of-file (usually C-d)}{148}{\code {\i {end-of-file} (usually C-d)}}
+\entry{delete-char (C-d)}{148}{\code {delete-char (C-d)}}
+\entry{backward-delete-char (Rubout)}{148}{\code {backward-delete-char (Rubout)}}
+\entry{forward-backward-delete-char ()}{148}{\code {forward-backward-delete-char ()}}
+\entry{quoted-insert (C-q or C-v)}{148}{\code {quoted-insert (C-q or C-v)}}
+\entry{self-insert (a, b, A, 1, !, ...{})}{148}{\code {self-insert (a, b, A, 1, !, \dots {})}}
+\entry{bracketed-paste-begin ()}{148}{\code {bracketed-paste-begin ()}}
+\entry{transpose-chars (C-t)}{149}{\code {transpose-chars (C-t)}}
+\entry{transpose-words (M-t)}{149}{\code {transpose-words (M-t)}}
+\entry{shell-transpose-words (M-C-t)}{149}{\code {shell-transpose-words (M-C-t)}}
+\entry{upcase-word (M-u)}{149}{\code {upcase-word (M-u)}}
+\entry{downcase-word (M-l)}{149}{\code {downcase-word (M-l)}}
+\entry{capitalize-word (M-c)}{149}{\code {capitalize-word (M-c)}}
+\entry{overwrite-mode ()}{149}{\code {overwrite-mode ()}}
+\entry{kill-line (C-k)}{149}{\code {kill-line (C-k)}}
+\entry{backward-kill-line (C-x Rubout)}{149}{\code {backward-kill-line (C-x Rubout)}}
+\entry{unix-line-discard (C-u)}{149}{\code {unix-line-discard (C-u)}}
+\entry{kill-whole-line ()}{150}{\code {kill-whole-line ()}}
+\entry{kill-word (M-d)}{150}{\code {kill-word (M-d)}}
+\entry{backward-kill-word (M-DEL)}{150}{\code {backward-kill-word (M-\key {DEL})}}
+\entry{shell-kill-word (M-C-d)}{150}{\code {shell-kill-word (M-C-d)}}
+\entry{shell-backward-kill-word ()}{150}{\code {shell-backward-kill-word ()}}
+\entry{unix-word-rubout (C-w)}{150}{\code {unix-word-rubout (C-w)}}
+\entry{unix-filename-rubout ()}{150}{\code {unix-filename-rubout ()}}
+\entry{delete-horizontal-space ()}{150}{\code {delete-horizontal-space ()}}
+\entry{kill-region ()}{150}{\code {kill-region ()}}
+\entry{copy-region-as-kill ()}{150}{\code {copy-region-as-kill ()}}
+\entry{copy-backward-word ()}{150}{\code {copy-backward-word ()}}
+\entry{copy-forward-word ()}{150}{\code {copy-forward-word ()}}
+\entry{yank (C-y)}{150}{\code {yank (C-y)}}
+\entry{yank-pop (M-y)}{150}{\code {yank-pop (M-y)}}
+\entry{digit-argument (M-0, M-1, ...{} M--)}{151}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}
+\entry{universal-argument ()}{151}{\code {universal-argument ()}}
+\entry{complete (TAB)}{151}{\code {complete (\key {TAB})}}
+\entry{possible-completions (M-?)}{151}{\code {possible-completions (M-?)}}
+\entry{insert-completions (M-*)}{151}{\code {insert-completions (M-*)}}
+\entry{menu-complete ()}{151}{\code {menu-complete ()}}
+\entry{menu-complete-backward ()}{152}{\code {menu-complete-backward ()}}
+\entry{delete-char-or-list ()}{152}{\code {delete-char-or-list ()}}
+\entry{complete-filename (M-/)}{152}{\code {complete-filename (M-/)}}
+\entry{possible-filename-completions (C-x /)}{152}{\code {possible-filename-completions (C-x /)}}
+\entry{complete-username (M-~)}{152}{\code {complete-username (M-~)}}
+\entry{possible-username-completions (C-x ~)}{152}{\code {possible-username-completions (C-x ~)}}
+\entry{complete-variable (M-$)}{152}{\code {complete-variable (M-$)}}
+\entry{possible-variable-completions (C-x $)}{152}{\code {possible-variable-completions (C-x $)}}
+\entry{complete-hostname (M-@)}{152}{\code {complete-hostname (M-@)}}
+\entry{possible-hostname-completions (C-x @)}{152}{\code {possible-hostname-completions (C-x @)}}
+\entry{complete-command (M-!)}{152}{\code {complete-command (M-!)}}
+\entry{possible-command-completions (C-x !)}{152}{\code {possible-command-completions (C-x !)}}
+\entry{dynamic-complete-history (M-TAB)}{152}{\code {dynamic-complete-history (M-\key {TAB})}}
+\entry{dabbrev-expand ()}{152}{\code {dabbrev-expand ()}}
+\entry{complete-into-braces (M-{\indexlbrace })}{153}{\code {complete-into-braces (M-{\tt \char 123})}}
+\entry{start-kbd-macro (C-x ()}{153}{\code {start-kbd-macro (C-x ()}}
+\entry{end-kbd-macro (C-x ))}{153}{\code {end-kbd-macro (C-x ))}}
+\entry{call-last-kbd-macro (C-x e)}{153}{\code {call-last-kbd-macro (C-x e)}}
+\entry{print-last-kbd-macro ()}{153}{\code {print-last-kbd-macro ()}}
+\entry{re-read-init-file (C-x C-r)}{153}{\code {re-read-init-file (C-x C-r)}}
+\entry{abort (C-g)}{153}{\code {abort (C-g)}}
+\entry{do-lowercase-version (M-A, M-B, M-x, ...{})}{153}{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}
+\entry{prefix-meta (ESC)}{153}{\code {prefix-meta (\key {ESC})}}
+\entry{undo (C-_ or C-x C-u)}{153}{\code {undo (C-_ or C-x C-u)}}
+\entry{revert-line (M-r)}{153}{\code {revert-line (M-r)}}
+\entry{tilde-expand (M-&)}{153}{\code {tilde-expand (M-&)}}
+\entry{set-mark (C-@)}{153}{\code {set-mark (C-@)}}
+\entry{exchange-point-and-mark (C-x C-x)}{153}{\code {exchange-point-and-mark (C-x C-x)}}
+\entry{character-search (C-])}{154}{\code {character-search (C-])}}
+\entry{character-search-backward (M-C-])}{154}{\code {character-search-backward (M-C-])}}
+\entry{skip-csi-sequence ()}{154}{\code {skip-csi-sequence ()}}
+\entry{insert-comment (M-#)}{154}{\code {insert-comment (M-#)}}
+\entry{dump-functions ()}{154}{\code {dump-functions ()}}
+\entry{dump-variables ()}{154}{\code {dump-variables ()}}
+\entry{dump-macros ()}{154}{\code {dump-macros ()}}
+\entry{execute-named-command (M-x)}{154}{\code {execute-named-command (M-x)}}
+\entry{spell-correct-word (C-x s)}{155}{\code {spell-correct-word (C-x s)}}
+\entry{glob-complete-word (M-g)}{155}{\code {glob-complete-word (M-g)}}
+\entry{glob-expand-word (C-x *)}{155}{\code {glob-expand-word (C-x *)}}
+\entry{glob-list-expansions (C-x g)}{155}{\code {glob-list-expansions (C-x g)}}
+\entry{shell-expand-line (M-C-e)}{155}{\code {shell-expand-line (M-C-e)}}
+\entry{history-expand-line (M-^)}{155}{\code {history-expand-line (M-^)}}
+\entry{magic-space ()}{155}{\code {magic-space ()}}
+\entry{alias-expand-line ()}{155}{\code {alias-expand-line ()}}
+\entry{history-and-alias-expand-line ()}{155}{\code {history-and-alias-expand-line ()}}
+\entry{insert-last-argument (M-. or M-_)}{155}{\code {insert-last-argument (M-. or M-_)}}
+\entry{edit-and-execute-command (C-x C-e)}{155}{\code {edit-and-execute-command (C-x C-e)}}
+\entry{display-shell-version (C-x C-v)}{155}{\code {display-shell-version (C-x C-v)}}
\initial {A}
-\entry{\code {abort (C-g)}}{152}
-\entry{\code {accept-line (Newline or Return)}}{145}
-\entry{\code {alias-expand-line ()}}{154}
+\entry{\code {abort (C-g)}}{153}
+\entry{\code {accept-line (Newline or Return)}}{146}
+\entry{\code {alias-expand-line ()}}{155}
\initial {B}
-\entry{\code {backward-char (C-b)}}{144}
-\entry{\code {backward-delete-char (Rubout)}}{147}
-\entry{\code {backward-kill-line (C-x Rubout)}}{148}
-\entry{\code {backward-kill-word (M-\key {DEL})}}{149}
-\entry{\code {backward-word (M-b)}}{144}
-\entry{\code {beginning-of-history (M-<)}}{145}
-\entry{\code {beginning-of-line (C-a)}}{144}
-\entry{\code {bracketed-paste-begin ()}}{147}
+\entry{\code {backward-char (C-b)}}{145}
+\entry{\code {backward-delete-char (Rubout)}}{148}
+\entry{\code {backward-kill-line (C-x Rubout)}}{149}
+\entry{\code {backward-kill-word (M-\key {DEL})}}{150}
+\entry{\code {backward-word (M-b)}}{145}
+\entry{\code {beginning-of-history (M-<)}}{146}
+\entry{\code {beginning-of-line (C-a)}}{145}
+\entry{\code {bracketed-paste-begin ()}}{148}
\initial {C}
-\entry{\code {call-last-kbd-macro (C-x e)}}{152}
-\entry{\code {capitalize-word (M-c)}}{148}
-\entry{\code {character-search (C-])}}{153}
-\entry{\code {character-search-backward (M-C-])}}{153}
-\entry{\code {clear-display (M-C-l)}}{145}
-\entry{\code {clear-screen (C-l)}}{145}
-\entry{\code {complete (\key {TAB})}}{150}
-\entry{\code {complete-command (M-!)}}{151}
-\entry{\code {complete-filename (M-/)}}{151}
-\entry{\code {complete-hostname (M-@)}}{151}
-\entry{\code {complete-into-braces (M-{\tt \char 123})}}{152}
-\entry{\code {complete-username (M-~)}}{151}
-\entry{\code {complete-variable (M-$)}}{151}
-\entry{\code {copy-backward-word ()}}{149}
-\entry{\code {copy-forward-word ()}}{149}
-\entry{\code {copy-region-as-kill ()}}{149}
+\entry{\code {call-last-kbd-macro (C-x e)}}{153}
+\entry{\code {capitalize-word (M-c)}}{149}
+\entry{\code {character-search (C-])}}{154}
+\entry{\code {character-search-backward (M-C-])}}{154}
+\entry{\code {clear-display (M-C-l)}}{146}
+\entry{\code {clear-screen (C-l)}}{146}
+\entry{\code {complete (\key {TAB})}}{151}
+\entry{\code {complete-command (M-!)}}{152}
+\entry{\code {complete-filename (M-/)}}{152}
+\entry{\code {complete-hostname (M-@)}}{152}
+\entry{\code {complete-into-braces (M-{\tt \char 123})}}{153}
+\entry{\code {complete-username (M-~)}}{152}
+\entry{\code {complete-variable (M-$)}}{152}
+\entry{\code {copy-backward-word ()}}{150}
+\entry{\code {copy-forward-word ()}}{150}
+\entry{\code {copy-region-as-kill ()}}{150}
\initial {D}
-\entry{\code {dabbrev-expand ()}}{151}
-\entry{\code {delete-char (C-d)}}{147}
-\entry{\code {delete-char-or-list ()}}{151}
-\entry{\code {delete-horizontal-space ()}}{149}
-\entry{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{150}
-\entry{\code {display-shell-version (C-x C-v)}}{154}
-\entry{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}{152}
-\entry{\code {downcase-word (M-l)}}{148}
-\entry{\code {dump-functions ()}}{153}
-\entry{\code {dump-macros ()}}{153}
-\entry{\code {dump-variables ()}}{153}
-\entry{\code {dynamic-complete-history (M-\key {TAB})}}{151}
+\entry{\code {dabbrev-expand ()}}{152}
+\entry{\code {delete-char (C-d)}}{148}
+\entry{\code {delete-char-or-list ()}}{152}
+\entry{\code {delete-horizontal-space ()}}{150}
+\entry{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{151}
+\entry{\code {display-shell-version (C-x C-v)}}{155}
+\entry{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}{153}
+\entry{\code {downcase-word (M-l)}}{149}
+\entry{\code {dump-functions ()}}{154}
+\entry{\code {dump-macros ()}}{154}
+\entry{\code {dump-variables ()}}{154}
+\entry{\code {dynamic-complete-history (M-\key {TAB})}}{152}
\initial {E}
-\entry{\code {edit-and-execute-command (C-x C-e)}}{154}
-\entry{\code {end-kbd-macro (C-x ))}}{152}
-\entry{\code {\i {end-of-file} (usually C-d)}}{147}
-\entry{\code {end-of-history (M->)}}{145}
-\entry{\code {end-of-line (C-e)}}{144}
-\entry{\code {exchange-point-and-mark (C-x C-x)}}{152}
-\entry{\code {execute-named-command (M-x)}}{153}
+\entry{\code {edit-and-execute-command (C-x C-e)}}{155}
+\entry{\code {end-kbd-macro (C-x ))}}{153}
+\entry{\code {\i {end-of-file} (usually C-d)}}{148}
+\entry{\code {end-of-history (M->)}}{146}
+\entry{\code {end-of-line (C-e)}}{145}
+\entry{\code {exchange-point-and-mark (C-x C-x)}}{153}
+\entry{\code {execute-named-command (M-x)}}{154}
\initial {F}
-\entry{\code {fetch-history ()}}{147}
-\entry{\code {forward-backward-delete-char ()}}{147}
-\entry{\code {forward-char (C-f)}}{144}
-\entry{\code {forward-search-history (C-s)}}{145}
-\entry{\code {forward-word (M-f)}}{144}
+\entry{\code {fetch-history ()}}{148}
+\entry{\code {forward-backward-delete-char ()}}{148}
+\entry{\code {forward-char (C-f)}}{145}
+\entry{\code {forward-search-history (C-s)}}{146}
+\entry{\code {forward-word (M-f)}}{145}
\initial {G}
-\entry{\code {glob-complete-word (M-g)}}{154}
-\entry{\code {glob-expand-word (C-x *)}}{154}
-\entry{\code {glob-list-expansions (C-x g)}}{154}
+\entry{\code {glob-complete-word (M-g)}}{155}
+\entry{\code {glob-expand-word (C-x *)}}{155}
+\entry{\code {glob-list-expansions (C-x g)}}{155}
\initial {H}
-\entry{\code {history-and-alias-expand-line ()}}{154}
-\entry{\code {history-expand-line (M-^)}}{154}
-\entry{\code {history-search-backward ()}}{146}
-\entry{\code {history-search-forward ()}}{146}
-\entry{\code {history-substring-search-backward ()}}{146}
-\entry{\code {history-substring-search-forward ()}}{146}
+\entry{\code {history-and-alias-expand-line ()}}{155}
+\entry{\code {history-expand-line (M-^)}}{155}
+\entry{\code {history-search-backward ()}}{147}
+\entry{\code {history-search-forward ()}}{147}
+\entry{\code {history-substring-search-backward ()}}{147}
+\entry{\code {history-substring-search-forward ()}}{147}
\initial {I}
-\entry{\code {insert-comment (M-#)}}{153}
-\entry{\code {insert-completions (M-*)}}{150}
-\entry{\code {insert-last-argument (M-. or M-_)}}{154}
+\entry{\code {insert-comment (M-#)}}{154}
+\entry{\code {insert-completions (M-*)}}{151}
+\entry{\code {insert-last-argument (M-. or M-_)}}{155}
\initial {K}
-\entry{\code {kill-line (C-k)}}{148}
-\entry{\code {kill-region ()}}{149}
-\entry{\code {kill-whole-line ()}}{149}
-\entry{\code {kill-word (M-d)}}{149}
+\entry{\code {kill-line (C-k)}}{149}
+\entry{\code {kill-region ()}}{150}
+\entry{\code {kill-whole-line ()}}{150}
+\entry{\code {kill-word (M-d)}}{150}
\initial {M}
-\entry{\code {magic-space ()}}{154}
-\entry{\code {menu-complete ()}}{150}
-\entry{\code {menu-complete-backward ()}}{151}
+\entry{\code {magic-space ()}}{155}
+\entry{\code {menu-complete ()}}{151}
+\entry{\code {menu-complete-backward ()}}{152}
\initial {N}
-\entry{\code {next-history (C-n)}}{145}
-\entry{\code {next-screen-line ()}}{145}
-\entry{\code {non-incremental-forward-search-history (M-n)}}{146}
-\entry{\code {non-incremental-reverse-search-history (M-p)}}{146}
+\entry{\code {next-history (C-n)}}{146}
+\entry{\code {next-screen-line ()}}{146}
+\entry{\code {non-incremental-forward-search-history (M-n)}}{147}
+\entry{\code {non-incremental-reverse-search-history (M-p)}}{147}
\initial {O}
-\entry{\code {operate-and-get-next (C-o)}}{147}
-\entry{\code {overwrite-mode ()}}{148}
+\entry{\code {operate-and-get-next (C-o)}}{148}
+\entry{\code {overwrite-mode ()}}{149}
\initial {P}
-\entry{\code {possible-command-completions (C-x !)}}{151}
-\entry{\code {possible-completions (M-?)}}{150}
-\entry{\code {possible-filename-completions (C-x /)}}{151}
-\entry{\code {possible-hostname-completions (C-x @)}}{151}
-\entry{\code {possible-username-completions (C-x ~)}}{151}
-\entry{\code {possible-variable-completions (C-x $)}}{151}
-\entry{\code {prefix-meta (\key {ESC})}}{152}
-\entry{\code {previous-history (C-p)}}{145}
-\entry{\code {previous-screen-line ()}}{145}
-\entry{\code {print-last-kbd-macro ()}}{152}
+\entry{\code {possible-command-completions (C-x !)}}{152}
+\entry{\code {possible-completions (M-?)}}{151}
+\entry{\code {possible-filename-completions (C-x /)}}{152}
+\entry{\code {possible-hostname-completions (C-x @)}}{152}
+\entry{\code {possible-username-completions (C-x ~)}}{152}
+\entry{\code {possible-variable-completions (C-x $)}}{152}
+\entry{\code {prefix-meta (\key {ESC})}}{153}
+\entry{\code {previous-history (C-p)}}{146}
+\entry{\code {previous-screen-line ()}}{146}
+\entry{\code {print-last-kbd-macro ()}}{153}
\initial {Q}
-\entry{\code {quoted-insert (C-q or C-v)}}{147}
+\entry{\code {quoted-insert (C-q or C-v)}}{148}
\initial {R}
-\entry{\code {re-read-init-file (C-x C-r)}}{152}
-\entry{\code {redraw-current-line ()}}{145}
-\entry{\code {reverse-search-history (C-r)}}{145}
-\entry{\code {revert-line (M-r)}}{152}
+\entry{\code {re-read-init-file (C-x C-r)}}{153}
+\entry{\code {redraw-current-line ()}}{146}
+\entry{\code {reverse-search-history (C-r)}}{146}
+\entry{\code {revert-line (M-r)}}{153}
\initial {S}
-\entry{\code {self-insert (a, b, A, 1, !, \dots {})}}{147}
-\entry{\code {set-mark (C-@)}}{152}
-\entry{\code {shell-backward-kill-word ()}}{149}
-\entry{\code {shell-backward-word (M-C-b)}}{144}
-\entry{\code {shell-expand-line (M-C-e)}}{154}
-\entry{\code {shell-forward-word (M-C-f)}}{144}
-\entry{\code {shell-kill-word (M-C-d)}}{149}
-\entry{\code {shell-transpose-words (M-C-t)}}{148}
-\entry{\code {skip-csi-sequence ()}}{153}
-\entry{\code {spell-correct-word (C-x s)}}{154}
-\entry{\code {start-kbd-macro (C-x ()}}{152}
+\entry{\code {self-insert (a, b, A, 1, !, \dots {})}}{148}
+\entry{\code {set-mark (C-@)}}{153}
+\entry{\code {shell-backward-kill-word ()}}{150}
+\entry{\code {shell-backward-word (M-C-b)}}{145}
+\entry{\code {shell-expand-line (M-C-e)}}{155}
+\entry{\code {shell-forward-word (M-C-f)}}{145}
+\entry{\code {shell-kill-word (M-C-d)}}{150}
+\entry{\code {shell-transpose-words (M-C-t)}}{149}
+\entry{\code {skip-csi-sequence ()}}{154}
+\entry{\code {spell-correct-word (C-x s)}}{155}
+\entry{\code {start-kbd-macro (C-x ()}}{153}
\initial {T}
-\entry{\code {tilde-expand (M-&)}}{152}
-\entry{\code {transpose-chars (C-t)}}{148}
-\entry{\code {transpose-words (M-t)}}{148}
+\entry{\code {tilde-expand (M-&)}}{153}
+\entry{\code {transpose-chars (C-t)}}{149}
+\entry{\code {transpose-words (M-t)}}{149}
\initial {U}
-\entry{\code {undo (C-_ or C-x C-u)}}{152}
-\entry{\code {universal-argument ()}}{150}
-\entry{\code {unix-filename-rubout ()}}{149}
-\entry{\code {unix-line-discard (C-u)}}{148}
-\entry{\code {unix-word-rubout (C-w)}}{149}
-\entry{\code {upcase-word (M-u)}}{148}
+\entry{\code {undo (C-_ or C-x C-u)}}{153}
+\entry{\code {universal-argument ()}}{151}
+\entry{\code {unix-filename-rubout ()}}{150}
+\entry{\code {unix-line-discard (C-u)}}{149}
+\entry{\code {unix-word-rubout (C-w)}}{150}
+\entry{\code {upcase-word (M-u)}}{149}
\initial {Y}
-\entry{\code {yank (C-y)}}{149}
-\entry{\code {yank-last-arg (M-. or M-_)}}{146}
-\entry{\code {yank-nth-arg (M-C-y)}}{146}
-\entry{\code {yank-pop (M-y)}}{149}
+\entry{\code {yank (C-y)}}{150}
+\entry{\code {yank-last-arg (M-. or M-_)}}{147}
+\entry{\code {yank-nth-arg (M-C-y)}}{147}
+\entry{\code {yank-pop (M-y)}}{150}
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- This text is a brief description of the features that are present in
-the Bash shell (version 5.3, 10 October 2024).
+the Bash shell (version 5.3, 14 October 2024).
-This is Edition 5.3, last updated 10 October 2024,
+This is Edition 5.3, last updated 14 October 2024,
of The GNU Bash Reference Manual,
for Bash, Version 5.3.
<h1 class="top" id="Bash-Features-1"><span>Bash Features<a class="copiable-link" href="#Bash-Features-1"> ¶</a></span></h1>
<p>This text is a brief description of the features that are present in
-the Bash shell (version 5.3, 10 October 2024).
+the Bash shell (version 5.3, 14 October 2024).
The Bash home page is <a class="url" href="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</a>.
</p>
-<p>This is Edition 5.3, last updated 10 October 2024,
+<p>This is Edition 5.3, last updated 14 October 2024,
of <cite class="cite">The GNU Bash Reference Manual</cite>,
for <code class="code">Bash</code>, Version 5.3.
</p>
by the <code class="code">dirs</code> builtin invoked with the characters following tilde
in the tilde-prefix as an argument (see <a class="pxref" href="#The-Directory-Stack">The Directory Stack</a>).
If the tilde-prefix, sans the tilde, consists of a number without a
-leading ‘<samp class="samp">+</samp>’ or ‘<samp class="samp">-</samp>’, ‘<samp class="samp">+</samp>’ is assumed.
+leading ‘<samp class="samp">+</samp>’ or ‘<samp class="samp">-</samp>’, tilde expansion assumes ‘<samp class="samp">+</samp>’.
</p>
<p>The results of tilde expansion are treated as if they were quoted, so
the replacement is not subject to word splitting and filename expansion.
<dt><code class="code">${<var class="var">parameter</var>:=<var class="var">word</var>}</code></dt>
<dd><p>If <var class="var">parameter</var> is unset or null, the expansion of <var class="var">word</var>
is assigned to <var class="var">parameter</var>,
-and the result of the expansion
+and the result of the expansion
is the final value of <var class="var">parameter</var>.
Positional parameters and special parameters may not be assigned
in this way.
</dd>
<dt><code class="code">${<var class="var">parameter</var>:?<var class="var">word</var>}</code></dt>
<dd><p>If <var class="var">parameter</var>
-is null or unset, the expansion of <var class="var">word</var> (or a message
+is null or unset, the shell writes
+the expansion of <var class="var">word</var> (or a message
to that effect if <var class="var">word</var>
-is not present) is written to the standard error and the shell, if it
+is not present) to the standard error and, if it
is not interactive, exits with a non-zero status.
An interactive shell does not exit, but does not execute the command
associated with the expansion.
Aliases are expanded when a command is read, not when it is executed.
Therefore, an
alias definition appearing on the same line as another
-command does not take effect until the shell reads the next line of input.
+command does not take effect until the shell reads the next line of input,
+and an alias definition in a compound command does not take
+effect until the shell parses and executes the entire compound command.
The commands following the alias definition
-on that line are not affected by the new alias.
+on that line,
+or in the rest of a compound command,
+are not affected by the new alias.
This behavior is also an issue when functions are executed.
Aliases are expanded when a function definition is read,
not when the function is executed, because a function definition
<p>Job control
refers to the ability to selectively stop (suspend)
the execution of processes and continue (resume)
-their execution at a later point. A user typically employs
+their execution at a later point.
+A user typically employs
this facility via an interactive interface supplied jointly
by the operating system kernel’s terminal driver and Bash.
</p>
-<p>The shell associates a <var class="var">job</var> with each pipeline. It keeps a
-table of currently executing jobs, which may be listed with the
-<code class="code">jobs</code> command. When Bash starts a job
-asynchronously, it prints a line that looks
+<p>The shell associates a <var class="var">job</var> with each pipeline.
+It keeps a
+table of currently executing jobs, which the
+<code class="code">jobs</code> command will display.
+Each job has a <em class="dfn">job number</em>, which <code class="code">jobs</code> displays between brackets.
+Job numbers start at 1.
+When Bash starts a job asynchronously, it prints a line that looks
like:
</p><div class="example">
<pre class="example-preformatted">[1] 25647
</pre></div>
<p>indicating that this job is job number 1 and that the process <small class="sc">ID</small>
of the last process in the pipeline associated with this job is
-25647. All of the processes in a single pipeline are members of
-the same job. Bash uses the <var class="var">job</var> abstraction as the
-basis for job control.
-</p>
-<p>To facilitate the implementation of the user interface to job
-control, the operating system maintains the notion of a current terminal
-process group <small class="sc">ID</small>. Members of this process group (processes whose
+25647.
+All of the processes in a single pipeline are members of
+the same job.
+Bash uses the <var class="var">job</var> abstraction as the basis for job control.
+</p>
+<p>To facilitate the implementation of the user interface to job control,
+each process has a <em class="dfn">process group <small class="sc">ID</small></em>, and
+the operating system maintains the notion of a current terminal
+process group <small class="sc">ID</small>.
+Processes that have the same process group ID are said to be part of
+the same <em class="dfn">process group</em>.
+Members of the foreground process group (processes whose
process group <small class="sc">ID</small> is equal to the current terminal process group
<small class="sc">ID</small>) receive keyboard-generated signals such as <code class="code">SIGINT</code>.
-These processes are said to be in the foreground. Background
-processes are those whose process group <small class="sc">ID</small> differs from the
-terminal’s; such processes are immune to keyboard-generated
-signals. Only foreground processes are allowed to read from or, if
+Processes in the foreground process group are said to be
+foreground processes.
+Background processes
+are those whose process group <small class="sc">ID</small> differs from the terminal’s;
+such processes are immune to keyboard-generated signals.
+Only foreground processes are allowed to read from or, if
the user so specifies with <code class="code">stty tostop</code>, write to the terminal.
Background processes which attempt to
read from (write to when <code class="code">tostop</code> is in effect) the
which, unless caught, suspends the process.
</p>
<p>If the operating system on which Bash is running supports
-job control, Bash contains facilities to use it. Typing the
+job control, Bash contains facilities to use it.
+Typing the
<em class="dfn">suspend</em> character (typically ‘<samp class="samp">^Z</samp>’, Control-Z) while a
-process is running causes that process to be stopped and returns
-control to Bash. Typing the <em class="dfn">delayed suspend</em> character
-(typically ‘<samp class="samp">^Y</samp>’, Control-Y) causes the process to be stopped
-when it attempts to read input from the terminal, and control to
-be returned to Bash. The user then manipulates the state of
-this job, using the <code class="code">bg</code> command to continue it in the
-background, the <code class="code">fg</code> command to continue it in the
-foreground, or the <code class="code">kill</code> command to kill it. A ‘<samp class="samp">^Z</samp>’
+process is running stops that process
+and returns control to Bash.
+Typing the <em class="dfn">delayed suspend</em> character
+(typically ‘<samp class="samp">^Y</samp>’, Control-Y) causes the process to stop
+when it attempts to read input from the terminal,
+and returns control to Bash.
+The user then manipulates the state of
+this job, using
+the <code class="code">bg</code> command to continue it in the background,
+the <code class="code">fg</code> command to continue it in the foreground, or
+the <code class="code">kill</code> command to kill it.
+The suspend character
takes effect immediately, and has the additional side effect of
-causing pending output and typeahead to be discarded.
+discarding any pending output and typeahead.
+If you want to force a background process to stop, or stop a process
+that’s not associated with your terminal session,
+send it the <code class="code">SIGSTOP</code> signal using <code class="code">kill</code>.
</p>
-<p>There are a number of ways to refer to a job in the shell. The
-character ‘<samp class="samp">%</samp>’ introduces a job specification (<em class="dfn">jobspec</em>).
+<p>There are a number of ways to refer to a job in the shell.
+The ‘<samp class="samp">%</samp>’ character introduces a <em class="dfn">job specification</em> (jobspec).
</p>
<p>Job number <code class="code">n</code> may be referred to as ‘<samp class="samp">%n</samp>’.
-The symbols ‘<samp class="samp">%%</samp>’ and ‘<samp class="samp">%+</samp>’ refer to the shell’s notion of the
-current job, which is the last job stopped while it was in the foreground
-or started in the background.
+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 class="samp">%ce</samp>’ refers
+to a job whose command name begins with ‘<samp class="samp">ce</samp>’.
+Using ‘<samp class="samp">%?ce</samp>’, on the
+other hand, refers to any job containing the string ‘<samp class="samp">ce</samp>’ in
+its command line.
+If the prefix or substring matches more than one job,
+Bash reports an error.
+</p>
+<p>The symbols ‘<samp class="samp">%%</samp>’ and ‘<samp class="samp">%+</samp>’ refer to the shell’s notion of the
+<em class="dfn">current job</em>.
A single ‘<samp class="samp">%</samp>’ (with no accompanying job specification) also refers
to the current job.
-The previous job may be referenced using ‘<samp class="samp">%-</samp>’.
+‘<samp class="samp">%-</samp>’ refers to the <em class="dfn">previous job</em>.
+When a job starts in the background,
+a job stops while in the foreground,
+or a job is resumed in the background,
+it becomes the current job.
+The job that was the current job becomes the previous job.
+When the current job terminates, the previous job becomes the
+current job.
If there is only a single job, ‘<samp class="samp">%+</samp>’ and ‘<samp class="samp">%-</samp>’ can both be used
to refer to that job.
In output pertaining to jobs (e.g., the output of the <code class="code">jobs</code>
-command), the current job is always flagged with a ‘<samp class="samp">+</samp>’, and the
+command), the current job is always marked with a ‘<samp class="samp">+</samp>’, and the
previous job with a ‘<samp class="samp">-</samp>’.
</p>
-<p>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 class="samp">%ce</samp>’ refers
-to a stopped job whose command name begins with ‘<samp class="samp">ce</samp>’.
-Using ‘<samp class="samp">%?ce</samp>’, on the
-other hand, refers to any job containing the string ‘<samp class="samp">ce</samp>’ in
-its command line. If the prefix or substring matches more than one job,
-Bash reports an error.
-</p>
<p>Simply naming a job can be used to bring it into the foreground:
‘<samp class="samp">%1</samp>’ is a synonym for ‘<samp class="samp">fg %1</samp>’, bringing job 1 from the
-background into the foreground. Similarly, ‘<samp class="samp">%1 &</samp>’ resumes
-job 1 in the background, equivalent to ‘<samp class="samp">bg %1</samp>’
+background into the foreground.
+Similarly, ‘<samp class="samp">%1 &</samp>’ resumes
+job 1 in the background, equivalent to ‘<samp class="samp">bg %1</samp>’.
</p>
<p>The shell learns immediately whenever a job changes state.
-Normally, Bash waits until it is about to print a prompt
-before reporting changes in a job’s status so as to not interrupt
+Normally, Bash waits until it is about to print a prompt before
+notifying the user about
+changes in a job’s status so as to not interrupt
any other output,
though it will notify of changes in a job’s status after a
foreground command in
-a list completes, before executing the next command.
+a list completes, before executing the next command in the list.
If the <samp class="option">-b</samp> option to the <code class="code">set</code> builtin is enabled,
Bash reports such changes immediately (see <a class="pxref" href="#The-Set-Builtin">The Set Builtin</a>).
-Any trap on <code class="code">SIGCHLD</code> is executed for each child process
-that exits.
-</p>
-<p>If an attempt to exit Bash is made while jobs are stopped, (or running, if
+Bash executes any trap on <code class="code">SIGCHLD</code>
+for each child process that terminates.
+</p>
+<p>When a job terminates and Bash notifies the user about it,
+Bash removes the job from the jobs table.
+It will not appear in <code class="code">jobs</code> output, but <code class="code">wait</code> will
+report its exit status, as long as it’s supplied the process ID
+associated with the job as an argument.
+When the table is empty, job numbers start over at 1.
+</p>
+<p>If a user attempts to exit
+Bash while jobs are stopped, (or running, if
the <code class="code">checkjobs</code> option is enabled – see <a class="ref" href="#The-Shopt-Builtin">The Shopt Builtin</a>), the
shell prints a warning message, and if the <code class="code">checkjobs</code> option is
enabled, lists the jobs and their statuses.
The <code class="code">jobs</code> command may then be used to inspect their status.
-If a second attempt to exit is made without an intervening command,
-Bash does not print another warning, and any stopped jobs are terminated.
+If the user immediately attempts to exit again,
+without an intervening command,
+Bash does not print another warning, and
+terminates any stopped jobs.
</p>
<p>When the shell is waiting for a job or process using the <code class="code">wait</code>
builtin, and job control is enabled, <code class="code">wait</code> will return when the
-job changes state. The <samp class="option">-f</samp> option causes <code class="code">wait</code> to wait
+job changes state.
+The <samp class="option">-f</samp> option causes <code class="code">wait</code> to wait
until the job or process terminates before returning.
</p>
<hr>
<p>Resume each suspended job <var class="var">jobspec</var> in the background, as if it
had been started with ‘<samp class="samp">&</samp>’.
-If <var class="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
+If <var class="var">jobspec</var> is not supplied, the shell uses its
+notion of the current job.
+<code class="code">bg</code> returns zero unless it is run when job control is not
enabled, or, when run with job control enabled, any
<var class="var">jobspec</var> was not found or specifies a job
that was started without job control.
</pre></div>
<p>Resume the job <var class="var">jobspec</var> in the foreground and make it the current job.
-If <var class="var">jobspec</var> is not supplied, resume the current job.
+If <var class="var">jobspec</var> is not supplied, <code class="code">fg</code> resumes the current job.
The return status is that of the command placed into the foreground,
or non-zero if run when job control is disabled or, when run with
job control enabled, <var class="var">jobspec</var> does not specify a valid job or
<p>If <var class="var">jobspec</var> is supplied,
<code class="code">jobs</code> restricts output to information about that job.
If <var class="var">jobspec</var> is not supplied, <code class="code">jobs</code> lists the status of all jobs.
+The return status is zero unless an invalid option is encountered
+or an invalid
+<var class="var">jobspec</var>
+is supplied.
</p>
<p>If the <samp class="option">-x</samp> option is supplied, <code class="code">jobs</code> replaces any
<var class="var">jobspec</var> found in <var class="var">command</var> or <var class="var">arguments</var> with the
</dd>
<dt><a id="index-kill"></a><span><code class="code">kill</code><a class="copiable-link" href="#index-kill"> ¶</a></span></dt>
<dd><div class="example">
-<pre class="example-preformatted">kill [-s <var class="var">sigspec</var>] [-n <var class="var">signum</var>] [-<var class="var">sigspec</var>] <var class="var">jobspec</var> or <var class="var">pid</var>
+<pre class="example-preformatted">kill [-s <var class="var">sigspec</var>] [-n <var class="var">signum</var>] [-<var class="var">sigspec</var>] <var class="var">id</var> [...]
kill -l|-L [<var class="var">exit_status</var>]
</pre></div>
-<p>Send a signal specified by <var class="var">sigspec</var> or <var class="var">signum</var> to the process
-named by job specification <var class="var">jobspec</var> or process <small class="sc">ID</small> <var class="var">pid</var>.
+<p>Send a signal specified by <var class="var">sigspec</var> or <var class="var">signum</var> to the processes
+named by each <var class="var">id</var>.
+Each <var class="var">id</var> may be a
+job specification <var class="var">jobspec</var> or process <small class="sc">ID</small> <var class="var">pid</var>.
<var class="var">sigspec</var> is either a case-insensitive signal name such as
<code class="code">SIGINT</code> (with or without the <code class="code">SIG</code> prefix)
or a signal number; <var class="var">signum</var> is a signal number.
sends <code class="code">SIGTERM</code>.
</p>
<p>The <samp class="option">-l</samp> option lists the signal names.
-If any arguments are supplied when <samp class="option">-l</samp> is supplied, the names of the
-signals corresponding to the arguments are listed, and the return status
-is zero.
+If any arguments are supplied when <samp class="option">-l</samp> is supplied,
+<code class="code">kill</code> lists the names of the signals corresponding to the arguments,
+and the return status is zero.
<var class="var">exit_status</var> is a number specifying a signal number or the exit
-status of a process terminated by a signal.
+status of a process terminated by a signal;
+if it is supplied, <code class="code">kill</code> prints the name of the signal that caused
+the process to terminate.
+<code class="code">kill</code> assumes that process exit statuses are greater than 128;
+anything less than that is a signal number.
The <samp class="option">-L</samp> option is equivalent to <samp class="option">-l</samp>.
</p>
<p>The return status is zero if at least one signal was successfully sent,
<p>Wait until the child process specified by each <var class="var">id</var> exits and
return the exit status of the last <var class="var">id</var>.
-Each <var class="var">id</var> may be a <var class="var">pid</var> or job specification <var class="var">jobspec</var>;
-if a job spec is supplied, <code class="code">wait</code> waits for all processes in the job.
+Each <var class="var">id</var> may be a process <small class="sc">ID</small> <var class="var">pid</var>
+or a job specification <var class="var">jobspec</var>;
+if a jobspec is supplied, <code class="code">wait</code> waits for all processes in the job.
</p>
<p>If no options or <var class="var">id</var>s are supplied,
<code class="code">wait</code> waits for all running background jobs and
and the return status is zero.
</p>
<p>If the <samp class="option">-n</samp> option is supplied, <code class="code">wait</code> waits for any one of
-the <var class="var">id</var>s or, if no <var class="var">id</var>s are supplied, any job
-or process substitution,
+the <var class="var">id</var>s or,
+if no <var class="var">id</var>s are supplied, any job or process substitution,
to complete and returns its exit status.
If none of the supplied <var class="var">id</var>s is a child of the shell,
or if no arguments are supplied and the shell has no unwaited-for children,
the exit status is 127.
</p>
-<p>If the <samp class="option">-p</samp> option is supplied, the process or job identifier
-of the job for which the exit status is returned is assigned to the
+<p>If the <samp class="option">-p</samp> option is supplied, <code class="code">wait</code> assigns
+the process or job identifier of the job
+for which the exit status is returned to the
variable <var class="var">varname</var> named by the option argument.
The variable,
which cannot be readonly,
will be unset initially, before any assignment.
-This is useful only when the <samp class="option">-n</samp> option is supplied.
+This is useful only when used with the <samp class="option">-n</samp> option.
</p>
<p>Supplying the <samp class="option">-f</samp> option, when job control is enabled,
forces <code class="code">wait</code> to wait for each <var class="var">id</var> to terminate before
<p>Without options, remove each <var class="var">id</var> from the table of
active jobs.
-Each <var class="var">id</var> may be a <var class="var">pid</var> or job specification <var class="var">jobspec</var>;
+Each <var class="var">id</var> may be a job specification <var class="var">jobspec</var>
+or a process <small class="sc">ID</small> <var class="var">pid</var>;
if <var class="var">id</var> is a <var class="var">pid</var>,
-<code class="code">disown</code> uses the job containing <var class="var">pid</var>.
-If the <samp class="option">-h</samp> option is supplied, the job is not removed from the table,
-but is marked so that <code class="code">SIGHUP</code> is not sent to the job if the shell
-receives a <code class="code">SIGHUP</code>.
-If <var class="var">id</var> is not present, and neither the <samp class="option">-a</samp> nor the
-<samp class="option">-r</samp> option is supplied, <code class="code">disown</code> removes the current job.
+<code class="code">disown</code> uses the job containing <var class="var">pid</var> as <var class="var">jobspec</var>.
+</p>
+<p>If the <samp class="option">-h</samp> option is supplied,
+<code class="code">disown</code> does not remove the jobs corresponding to each <code class="code">id</code>
+from the jobs table,
+but rather marks them so the shell does not send
+<code class="code">SIGHUP</code>
+to the job if the shell receives a
+<code class="code">SIGHUP</code>.
</p>
<p>If no <var class="var">id</var> is supplied, the <samp class="option">-a</samp> option means to remove or
mark all jobs; the <samp class="option">-r</samp> option without an <var class="var">id</var>
-argument restricts operation to running jobs.
+argument removes or marks running jobs.
+If no <var class="var">id</var> is supplied,
+and neither the <samp class="option">-a</samp> nor the <samp class="option">-r</samp> option is supplied,
+<code class="code">disown</code> removes or marks the current job.
</p>
-<p>The return value is 0 unless an <var class="var">id</var>
-does not specify a valid job.
+<p>The return value is 0 unless an <var class="var">id</var> does not specify a valid job.
</p>
</dd>
<dt><a id="index-suspend"></a><span><code class="code">suspend</code><a class="copiable-link" href="#index-suspend"> ¶</a></span></dt>
</dl>
<p>When job control is not active, the <code class="code">kill</code> and <code class="code">wait</code>
-builtins do not accept <var class="var">jobspec</var> arguments. They must be
-supplied process <small class="sc">ID</small>s.
+builtins do not accept <var class="var">jobspec</var> arguments.
+They must be supplied process <small class="sc">ID</small>s.
</p>
<hr>
</div>
<dt><a id="index-auto_005fresume"></a><span><code class="code">auto_resume</code><a class="copiable-link" href="#index-auto_005fresume"> ¶</a></span></dt>
<dd><p>This variable controls how the shell interacts with the user and
job control.
-If this variable exists then single-word simple
-commands without redirections are treated as candidates for resumption
+If this variable exists then simple commands
+consisting of only a single word,
+without redirections, are treated as candidates for resumption
of an existing job.
There is no ambiguity allowed; if there is more than one job
-beginning with the string typed, then
-the most recently accessed job is selected.
+beginning with or containing the word, then
+this selects the most recently accessed job.
The name of a stopped job, in this context, is the command line
-used to start it.
+used to start it, as displayed by <code class="code">jobs</code>.
If this variable is set to the value ‘<samp class="samp">exact</samp>’,
-the string supplied must match the name of a stopped job exactly;
+the word must match the name of a stopped job exactly;
if set to ‘<samp class="samp">substring</samp>’,
-the string supplied needs to match a substring of the name of a
-stopped job.
+the word needs to match a substring of the name of a stopped job.
The ‘<samp class="samp">substring</samp>’ value provides functionality
-analogous to the ‘<samp class="samp">%?</samp>’ job <small class="sc">ID</small> (see <a class="pxref" href="#Job-Control-Basics">Job Control Basics</a>).
-If set to any other value, the supplied string must
-be a prefix of a stopped job’s name; this provides functionality
-analogous to the ‘<samp class="samp">%</samp>’ job <small class="sc">ID</small>.
+analogous to the ‘<samp class="samp">%?string</samp>’ job <small class="sc">ID</small> (see <a class="pxref" href="#Job-Control-Basics">Job Control Basics</a>).
+If set to any other value (e.g., ‘<samp class="samp">prefix</samp>’),
+the word must be a prefix of a stopped job’s name;
+this provides functionality analogous to the ‘<samp class="samp">%string</samp>’ job <small class="sc">ID</small>.
</p>
</dd>
</dl>
<var class="var">NEWLINE</var>,
<var class="var">RET</var>,
<var class="var">RETURN</var>,
-<var class="var">RUBOUT</var>,
+<var class="var">RUBOUT</var> (a destructive backspace),
<var class="var">SPACE</var>,
<var class="var">SPC</var>,
and
If this function is bound to the
same character as the tty <small class="sc">EOF</small> character, as <kbd class="kbd">C-d</kbd>
commonly is, see above for the effects.
+This may also be bound to the Delete key on some keyboards.
</p>
</dd>
<dt><a id="index-backward_002ddelete_002dchar-_0028Rubout_0029"></a><span><code class="code">backward-delete-char (Rubout)</code><a class="copiable-link" href="#index-backward_002ddelete_002dchar-_0028Rubout_0029"> ¶</a></span></dt>
bashref.texi.
This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 10 October 2024).
+Bash shell (version 5.3, 14 October 2024).
- This is Edition 5.3, last updated 10 October 2024, of ‘The GNU Bash
+ This is Edition 5.3, last updated 14 October 2024, of ‘The GNU Bash
Reference Manual’, for ‘Bash’, Version 5.3.
Copyright © 1988-2024 Free Software Foundation, Inc.
*************
This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 10 October 2024). The Bash home page is
+Bash shell (version 5.3, 14 October 2024). The Bash home page is
<http://www.gnu.org/software/bash/>.
- This is Edition 5.3, last updated 10 October 2024, of ‘The GNU Bash
+ This is Edition 5.3, last updated 14 October 2024, of ‘The GNU Bash
Reference Manual’, for ‘Bash’, Version 5.3.
Bash contains features that appear in other popular shells, and some
would be displayed by the ‘dirs’ builtin invoked with the characters
following tilde in the tilde-prefix as an argument (*note The Directory
Stack::). If the tilde-prefix, sans the tilde, consists of a number
-without a leading ‘+’ or ‘-’, ‘+’ is assumed.
+without a leading ‘+’ or ‘-’, tilde expansion assumes ‘+’.
The results of tilde expansion are treated as if they were quoted, so
the replacement is not subject to word splitting and filename expansion.
DEFAULT
‘${PARAMETER:?WORD}’
- If PARAMETER is null or unset, the expansion of WORD (or a message
- to that effect if WORD is not present) is written to the standard
- error and the shell, if it is not interactive, exits with a
- non-zero status. An interactive shell does not exit, but does not
- execute the command associated with the expansion. Otherwise, the
- value of PARAMETER is substituted.
+ If PARAMETER is null or unset, the shell writes the expansion of
+ WORD (or a message to that effect if WORD is not present) to the
+ standard error and, if it is not interactive, exits with a non-zero
+ status. An interactive shell does not exit, but does not execute
+ the command associated with the expansion. Otherwise, the value of
+ PARAMETER is substituted.
$ var=
$ : ${var:?var is unset or null}
commands on that line or the compound command. Aliases are expanded
when a command is read, not when it is executed. Therefore, an alias
definition appearing on the same line as another command does not take
-effect until the shell reads the next line of input. The commands
-following the alias definition on that line are not affected by the new
-alias. This behavior is also an issue when functions are executed.
-Aliases are expanded when a function definition is read, not when the
-function is executed, because a function definition is itself a command.
-As a consequence, aliases defined in a function are not available until
-after that function is executed. To be safe, always put alias
-definitions on a separate line, and do not use ‘alias’ in compound
-commands.
+effect until the shell reads the next line of input, and an alias
+definition in a compound command does not take effect until the shell
+parses and executes the entire compound command. The commands following
+the alias definition on that line, or in the rest of a compound command,
+are not affected by the new alias. This behavior is also an issue when
+functions are executed. Aliases are expanded when a function definition
+is read, not when the function is executed, because a function
+definition is itself a command. As a consequence, aliases defined in a
+function are not available until after that function is executed. To be
+safe, always put alias definitions on a separate line, and do not use
+‘alias’ in compound commands.
For almost every purpose, shell functions are preferred over aliases.
driver and Bash.
The shell associates a JOB with each pipeline. It keeps a table of
-currently executing jobs, which may be listed with the ‘jobs’ command.
-When Bash starts a job asynchronously, it prints a line that looks like:
+currently executing jobs, which the ‘jobs’ command will display. Each
+job has a “job number”, which ‘jobs’ displays between brackets. Job
+numbers start at 1. When Bash starts a job asynchronously, it prints a
+line that looks like:
[1] 25647
indicating that this job is job number 1 and that the process ID of the
last process in the pipeline associated with this job is 25647. All of
uses the JOB abstraction as the basis for job control.
To facilitate the implementation of the user interface to job
-control, the operating system maintains the notion of a current terminal
-process group ID. Members of this process group (processes whose
-process group ID is equal to the current terminal process group ID)
-receive keyboard-generated signals such as ‘SIGINT’. These processes
-are said to be in the foreground. Background processes are those whose
-process group ID differs from the terminal's; such processes are immune
-to keyboard-generated signals. Only foreground processes are allowed to
-read from or, if the user so specifies with ‘stty tostop’, write to the
-terminal. Background processes which attempt to read from (write to
-when ‘tostop’ is in effect) the terminal are sent a ‘SIGTTIN’
-(‘SIGTTOU’) signal by the kernel's terminal driver, which, unless
-caught, suspends the process.
+control, each process has a “process group ID”, and the operating system
+maintains the notion of a current terminal process group ID. Processes
+that have the same process group ID are said to be part of the same
+“process group”. Members of the foreground process group (processes
+whose process group ID is equal to the current terminal process group
+ID) receive keyboard-generated signals such as ‘SIGINT’. Processes in
+the foreground process group are said to be foreground processes.
+Background processes are those whose process group ID differs from the
+terminal's; such processes are immune to keyboard-generated signals.
+Only foreground processes are allowed to read from or, if the user so
+specifies with ‘stty tostop’, write to the terminal. Background
+processes which attempt to read from (write to when ‘tostop’ is in
+effect) the terminal are sent a ‘SIGTTIN’ (‘SIGTTOU’) signal by the
+kernel's terminal driver, which, unless caught, suspends the process.
If the operating system on which Bash is running supports job
control, Bash contains facilities to use it. Typing the “suspend”
-character (typically ‘^Z’, Control-Z) while a process is running causes
-that process to be stopped and returns control to Bash. Typing the
-“delayed suspend” character (typically ‘^Y’, Control-Y) causes the
-process to be stopped when it attempts to read input from the terminal,
-and control to be returned to Bash. The user then manipulates the state
-of this job, using the ‘bg’ command to continue it in the background,
-the ‘fg’ command to continue it in the foreground, or the ‘kill’ command
-to kill it. A ‘^Z’ takes effect immediately, and has the additional
-side effect of causing pending output and typeahead to be discarded.
-
- There are a number of ways to refer to a job in the shell. The
-character ‘%’ introduces a job specification (“jobspec”).
-
- Job number ‘n’ may be referred to as ‘%n’. The symbols ‘%%’ and ‘%+’
-refer to the shell's notion of the current job, which is the last job
-stopped while it was in the foreground or started in the background. A
-single ‘%’ (with no accompanying job specification) also refers to the
-current job. The previous job may be referenced using ‘%-’. If there
-is only a single job, ‘%+’ and ‘%-’ can both be used to refer to that
-job. In output pertaining to jobs (e.g., the output of the ‘jobs’
-command), the current job is always flagged with a ‘+’, and the 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 job whose command name begins with
-‘ce’. 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.
+character (typically ‘^Z’, Control-Z) while a process is running stops
+that process and returns control to Bash. Typing the “delayed suspend”
+character (typically ‘^Y’, Control-Y) causes the process to stop when it
+attempts to read input from the terminal, and returns control to Bash.
+The user then manipulates the state of this job, using the ‘bg’ command
+to continue it in the background, the ‘fg’ command to continue it in the
+foreground, or the ‘kill’ command to kill it. The suspend character
+takes effect immediately, and has the additional side effect of
+discarding any pending output and typeahead. If you want to force a
+background process to stop, or stop a process that's not associated with
+your terminal session, send it the ‘SIGSTOP’ signal using ‘kill’.
+
+ There are a number of ways to refer to a job in the shell. The ‘%’
+character introduces a “job specification” (jobspec).
+
+ Job number ‘n’ may be referred to as ‘%n’. 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 job whose command name begins with ‘ce’. 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.
+
+ The symbols ‘%%’ and ‘%+’ refer to the shell's notion of the “current
+job”. A single ‘%’ (with no accompanying job specification) also refers
+to the current job. ‘%-’ refers to the “previous job”. When a job
+starts in the background, a job stops while in the foreground, or a job
+is resumed in the background, it becomes the current job. The job that
+was the current job becomes the previous job. When the current job
+terminates, the previous job becomes the current job. If there is only
+a single job, ‘%+’ and ‘%-’ can both be used to refer to that job. In
+output pertaining to jobs (e.g., the output of the ‘jobs’ command), the
+current job is always marked with a ‘+’, and the previous job with a
+‘-’.
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 the
foreground. Similarly, ‘%1 &’ resumes job 1 in the background,
-equivalent to ‘bg %1’
+equivalent to ‘bg %1’.
The shell learns immediately whenever a job changes state. Normally,
-Bash waits until it is about to print a prompt before reporting changes
-in a job's status so as to not interrupt any other output, though it
-will notify of changes in a job's status after a foreground command in a
-list completes, before executing the next command. If the ‘-b’ option
-to the ‘set’ builtin is enabled, Bash reports such changes immediately
-(*note The Set Builtin::). Any trap on ‘SIGCHLD’ is executed for each
-child process that exits.
-
- If an attempt to exit Bash is made while jobs are stopped, (or
-running, if the ‘checkjobs’ option is enabled - see *note The Shopt
-Builtin::), the shell prints a warning message, and if the ‘checkjobs’
-option is enabled, lists the jobs and their statuses. The ‘jobs’
-command may then be used to inspect their status. If a second attempt
-to exit is made without an intervening command, Bash does not print
-another warning, and any stopped jobs are terminated.
+Bash waits until it is about to print a prompt before notifying the user
+about changes in a job's status so as to not interrupt any other output,
+though it will notify of changes in a job's status after a foreground
+command in a list completes, before executing the next command in the
+list. If the ‘-b’ option to the ‘set’ builtin is enabled, Bash reports
+such changes immediately (*note The Set Builtin::). Bash executes any
+trap on ‘SIGCHLD’ for each child process that terminates.
+
+ When a job terminates and Bash notifies the user about it, Bash
+removes the job from the jobs table. It will not appear in ‘jobs’
+output, but ‘wait’ will report its exit status, as long as it's supplied
+the process ID associated with the job as an argument. When the table
+is empty, job numbers start over at 1.
+
+ If a user attempts to exit Bash while jobs are stopped, (or running,
+if the ‘checkjobs’ option is enabled - see *note The Shopt Builtin::),
+the shell prints a warning message, and if the ‘checkjobs’ option is
+enabled, lists the jobs and their statuses. The ‘jobs’ command may then
+be used to inspect their status. If the user immediately attempts to
+exit again, without an intervening command, Bash does not print another
+warning, and terminates any stopped jobs.
When the shell is waiting for a job or process using the ‘wait’
builtin, and job control is enabled, ‘wait’ will return when the job
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
- control is not enabled, or, when run with job control enabled, any
- JOBSPEC was not found or specifies a job that was started without
- job control.
+ been started with ‘&’. If JOBSPEC is not supplied, the shell uses
+ its notion of the current job. ‘bg’ returns zero unless it is run
+ when job control is not enabled, or, when run with job control
+ enabled, any JOBSPEC was not found or specifies a job that was
+ started without job control.
‘fg’
fg [JOBSPEC]
Resume the job JOBSPEC in the foreground and make it the current
- job. If JOBSPEC is not supplied, resume the current job. The
- return status is that of the command placed into the foreground, or
- non-zero if run when job control is disabled or, when run with job
- control enabled, JOBSPEC does not specify a valid job or JOBSPEC
- specifies a job that was started without job control.
+ job. If JOBSPEC is not supplied, ‘fg’ resumes the current job.
+ The return status is that of the command placed into the
+ foreground, or non-zero if run when job control is disabled or,
+ when run with job control enabled, JOBSPEC does not specify a valid
+ job or JOBSPEC specifies a job that was started without job
+ control.
‘jobs’
jobs [-lnprs] [JOBSPEC]
If JOBSPEC is supplied, ‘jobs’ restricts output to information
about that job. If JOBSPEC is not supplied, ‘jobs’ lists the
- status of all jobs.
+ status of all jobs. The return status is zero unless an invalid
+ option is encountered or an invalid JOBSPEC is supplied.
If the ‘-x’ option is supplied, ‘jobs’ replaces any JOBSPEC found
in COMMAND or ARGUMENTS with the corresponding process group ID,
status.
‘kill’
- kill [-s SIGSPEC] [-n SIGNUM] [-SIGSPEC] JOBSPEC or PID
+ kill [-s SIGSPEC] [-n SIGNUM] [-SIGSPEC] ID [...]
kill -l|-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
- the ‘SIG’ prefix) or a signal number; SIGNUM is a signal number.
- If SIGSPEC and SIGNUM are not present, ‘kill’ sends ‘SIGTERM’.
+ Send a signal specified by SIGSPEC or SIGNUM to the processes named
+ by each ID. Each ID may be a job specification JOBSPEC or process
+ ID PID. SIGSPEC is either a case-insensitive signal name such as
+ ‘SIGINT’ (with or without the ‘SIG’ prefix) or a signal number;
+ SIGNUM is a signal number. If SIGSPEC and SIGNUM are not present,
+ ‘kill’ sends ‘SIGTERM’.
The ‘-l’ option lists the signal names. If any arguments are
- supplied when ‘-l’ is supplied, the names of the signals
- corresponding to the arguments are listed, and the return status is
+ supplied when ‘-l’ is supplied, ‘kill’ lists the names of the
+ signals corresponding to the arguments, and the return status is
zero. EXIT_STATUS is a number specifying a signal number or the
- exit status of a process terminated by a signal. The ‘-L’ option
- is equivalent to ‘-l’.
+ exit status of a process terminated by a signal; if it is supplied,
+ ‘kill’ prints the name of the signal that caused the process to
+ terminate. ‘kill’ assumes that process exit statuses are greater
+ than 128; anything less than that is a signal number. The ‘-L’
+ option is equivalent to ‘-l’.
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
wait [-fn] [-p VARNAME] [ID ...]
Wait until the child process specified by each ID exits and return
- the exit status of the last ID. Each ID may be a PID or job
- specification JOBSPEC; if a job spec is supplied, ‘wait’ waits for
- all processes in the job.
+ the exit status of the last ID. Each ID may be a process ID PID or
+ a job specification JOBSPEC; if a jobspec is supplied, ‘wait’ waits
+ for all processes in the job.
If no options or IDs are supplied, ‘wait’ waits for all running
background jobs and the last-executed process substitution, if its
is a child of the shell, or if no arguments are supplied and the
shell has no unwaited-for children, the exit status is 127.
- If the ‘-p’ option is supplied, the process or job identifier of
- the job for which the exit status is returned is assigned to the
+ If the ‘-p’ option is supplied, ‘wait’ assigns the process or job
+ identifier of the job for which the exit status is returned to the
variable VARNAME named by the option argument. The variable, which
cannot be readonly, will be unset initially, before any assignment.
- This is useful only when the ‘-n’ option is supplied.
+ This is useful only when used with the ‘-n’ option.
Supplying the ‘-f’ option, when job control is enabled, forces
‘wait’ to wait for each ID to terminate before returning its
disown [-ar] [-h] [ID ...]
Without options, remove each ID from the table of active jobs.
- Each ID may be a PID or job specification JOBSPEC; if ID is a PID,
- ‘disown’ uses the job containing PID. If the ‘-h’ option is
- supplied, 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 ID is not present, and neither the ‘-a’ nor the ‘-r’
- option is supplied, ‘disown’ removes the current job.
+ Each ID may be a job specification JOBSPEC or a process ID PID; if
+ ID is a PID, ‘disown’ uses the job containing PID as JOBSPEC.
+
+ If the ‘-h’ option is supplied, ‘disown’ does not remove the jobs
+ corresponding to each ‘id’ from the jobs table, but rather marks
+ them so the shell does not send ‘SIGHUP’ to the job if the shell
+ receives a ‘SIGHUP’.
If no ID is supplied, the ‘-a’ option means to remove or mark all
- jobs; the ‘-r’ option without an ID argument restricts operation to
- running jobs.
+ jobs; the ‘-r’ option without an ID argument removes or marks
+ running jobs. If no ID is supplied, and neither the ‘-a’ nor the
+ ‘-r’ option is supplied, ‘disown’ removes or marks the current job.
The return value is 0 unless an ID does not specify a valid job.
‘auto_resume’
This variable controls how the shell interacts with the user and
- job control. If this variable exists then single-word simple
- commands without redirections are treated as candidates for
- resumption of an existing job. There is no ambiguity allowed; if
- there is more than one job beginning with the string typed, then
- the most recently accessed job is selected. The name of a stopped
- job, in this context, is the command line used to start it. If
- this variable is set to the value ‘exact’, the string supplied must
- match the name of a stopped job exactly; if set to ‘substring’, the
- string supplied needs to match a substring of the name of a stopped
- job. The ‘substring’ value provides functionality analogous to the
- ‘%?’ job ID (*note Job Control Basics::). 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 ‘%’ job ID.
+ job control. If this variable exists then simple commands
+ consisting of only a single word, without redirections, are treated
+ as candidates for resumption of an existing job. There is no
+ ambiguity allowed; if there is more than one job beginning with or
+ containing the word, then this selects the most recently accessed
+ job. The name of a stopped job, in this context, is the command
+ line used to start it, as displayed by ‘jobs’. If this variable is
+ set to the value ‘exact’, the word must match the name of a stopped
+ job exactly; if set to ‘substring’, the word needs to match a
+ substring of the name of a stopped job. The ‘substring’ value
+ provides functionality analogous to the ‘%?string’ job ID (*note
+ Job Control Basics::). If set to any other value (e.g., ‘prefix’),
+ the word must be a prefix of a stopped job's name; this provides
+ functionality analogous to the ‘%string’ job ID.
\1f
File: bashref.info, Node: Command Line Editing, Next: Using History Interactively, Prev: Job Control, Up: Top
This key binding syntax recognizes a number of symbolic
character names: DEL, ESC, ESCAPE, LFD, NEWLINE, RET, RETURN,
- RUBOUT, SPACE, SPC, and TAB.
+ RUBOUT (a destructive backspace), SPACE, SPC, and TAB.
"KEYSEQ": FUNCTION-NAME or MACRO
KEYSEQ differs from KEYNAME above in that strings denoting an
‘delete-char (C-d)’
Delete the character at point. If this function is bound to the
same character as the tty EOF character, as ‘C-d’ commonly is, see
- above for the effects.
+ above for the effects. This may also be bound to the Delete key on
+ some keyboards.
‘backward-delete-char (Rubout)’
Delete the character behind the cursor. A numeric argument means
* dirs: Directory Stack Builtins.
(line 7)
* disown: Job Control Builtins.
- (line 114)
+ (line 120)
* echo: Bash Builtins. (line 284)
* enable: Bash Builtins. (line 337)
* eval: Bourne Shell Builtins.
* history: Bash History Builtins.
(line 59)
* jobs: Job Control Builtins.
- (line 27)
+ (line 28)
* kill: Job Control Builtins.
- (line 59)
+ (line 61)
* let: Bash Builtins. (line 394)
* local: Bash Builtins. (line 403)
* logout: Bash Builtins. (line 428)
* shopt: The Shopt Builtin. (line 9)
* source: Bash Builtins. (line 668)
* suspend: Job Control Builtins.
- (line 131)
+ (line 139)
* test: Bourne Shell Builtins.
(line 333)
* times: Bourne Shell Builtins.
* unset: Bourne Shell Builtins.
(line 528)
* wait: Job Control Builtins.
- (line 80)
+ (line 86)
\1f
File: bashref.info, Node: Reserved Word Index, Next: Variable Index, Prev: Builtin Index, Up: Indexes
* alias-expand-line (): Miscellaneous Commands.
(line 133)
* backward-char (C-b): Commands For Moving. (line 17)
-* backward-delete-char (Rubout): Commands For Text. (line 17)
+* backward-delete-char (Rubout): Commands For Text. (line 18)
* backward-kill-line (C-x Rubout): Commands For Killing.
(line 11)
* backward-kill-word (M-<DEL>): Commands For Killing.
* beginning-of-history (M-<): Commands For History.
(line 20)
* beginning-of-line (C-a): Commands For Moving. (line 6)
-* bracketed-paste-begin (): Commands For Text. (line 34)
+* bracketed-paste-begin (): Commands For Text. (line 35)
* call-last-kbd-macro (C-x e): Keyboard Macros. (line 13)
-* capitalize-word (M-c): Commands For Text. (line 72)
+* capitalize-word (M-c): Commands For Text. (line 73)
* character-search (C-]): Miscellaneous Commands.
(line 41)
* character-search-backward (M-C-]): Miscellaneous Commands.
(line 147)
* do-lowercase-version (M-A, M-B, M-X, ...): Miscellaneous Commands.
(line 14)
-* downcase-word (M-l): Commands For Text. (line 68)
+* downcase-word (M-l): Commands For Text. (line 69)
* dump-functions (): Miscellaneous Commands.
(line 71)
* dump-macros (): Miscellaneous Commands.
(line 90)
* fetch-history (): Commands For History.
(line 106)
-* forward-backward-delete-char (): Commands For Text. (line 22)
+* forward-backward-delete-char (): Commands For Text. (line 23)
* forward-char (C-f): Commands For Moving. (line 14)
* forward-search-history (C-s): Commands For History.
(line 33)
(line 39)
* operate-and-get-next (C-o): Commands For History.
(line 99)
-* overwrite-mode (): Commands For Text. (line 76)
+* overwrite-mode (): Commands For Text. (line 77)
* possible-command-completions (C-x !): Commands For Completion.
(line 87)
* possible-completions (M-?): Commands For Completion.
(line 13)
* previous-screen-line (): Commands For Moving. (line 36)
* print-last-kbd-macro (): Keyboard Macros. (line 17)
-* quoted-insert (C-q or C-v): Commands For Text. (line 27)
+* quoted-insert (C-q or C-v): Commands For Text. (line 28)
* re-read-init-file (C-x C-r): Miscellaneous Commands.
(line 6)
* redraw-current-line (): Commands For Moving. (line 59)
(line 27)
* revert-line (M-r): Miscellaneous Commands.
(line 26)
-* self-insert (a, b, A, 1, !, ...): Commands For Text. (line 31)
+* self-insert (a, b, A, 1, !, ...): Commands For Text. (line 32)
* set-mark (C-@): Miscellaneous Commands.
(line 33)
* shell-backward-kill-word (): Commands For Killing.
* shell-forward-word (M-C-f): Commands For Moving. (line 28)
* shell-kill-word (M-C-d): Commands For Killing.
(line 32)
-* shell-transpose-words (M-C-t): Commands For Text. (line 57)
+* shell-transpose-words (M-C-t): Commands For Text. (line 58)
* skip-csi-sequence (): Miscellaneous Commands.
(line 50)
* spell-correct-word (C-x s): Miscellaneous Commands.
* start-kbd-macro (C-x (): Keyboard Macros. (line 6)
* tilde-expand (M-&): Miscellaneous Commands.
(line 30)
-* transpose-chars (C-t): Commands For Text. (line 46)
-* transpose-words (M-t): Commands For Text. (line 52)
+* transpose-chars (C-t): Commands For Text. (line 47)
+* transpose-words (M-t): Commands For Text. (line 53)
* undo (C-_ or C-x C-u): Miscellaneous Commands.
(line 23)
* universal-argument (): Numeric Arguments. (line 10)
(line 16)
* unix-word-rubout (C-w): Commands For Killing.
(line 41)
-* upcase-word (M-u): Commands For Text. (line 64)
+* upcase-word (M-u): Commands For Text. (line 65)
* yank (C-y): Commands For Killing.
(line 72)
* yank-last-arg (M-. or M-_): Commands For History.
* quoting: Quoting. (line 6)
* quoting, ANSI: ANSI-C Quoting. (line 6)
* Readline, how to use: Job Control Variables.
- (line 22)
+ (line 23)
* redirection: Redirections. (line 6)
* reserved word: Definitions. (line 70)
* reserved words: Reserved Words. (line 6)
Node: Shell Expansions\7f73857
Node: Brace Expansion\7f76049
Node: Tilde Expansion\7f78780
-Node: Shell Parameter Expansion\7f81725
-Node: Command Substitution\7f101500
-Node: Arithmetic Expansion\7f105036
-Node: Process Substitution\7f106052
-Node: Word Splitting\7f107171
-Node: Filename Expansion\7f109271
-Node: Pattern Matching\7f112542
-Node: Quote Removal\7f117879
-Node: Redirections\7f118186
-Node: Executing Commands\7f128404
-Node: Simple Command Expansion\7f129074
-Node: Command Search and Execution\7f131185
-Node: Command Execution Environment\7f133632
-Node: Environment\7f137083
-Node: Exit Status\7f138989
-Node: Signals\7f141050
-Node: Shell Scripts\7f144951
-Node: Shell Builtin Commands\7f148252
-Node: Bourne Shell Builtins\7f150366
-Node: Bash Builtins\7f176670
-Node: Modifying Shell Behavior\7f213121
-Node: The Set Builtin\7f213466
-Node: The Shopt Builtin\7f225405
-Node: Special Builtins\7f242460
-Node: Shell Variables\7f243452
-Node: Bourne Shell Variables\7f243889
-Node: Bash Variables\7f246400
-Node: Bash Features\7f284660
-Node: Invoking Bash\7f285677
-Node: Bash Startup Files\7f292106
-Node: Interactive Shells\7f297422
-Node: What is an Interactive Shell?\7f297833
-Node: Is this Shell Interactive?\7f298498
-Node: Interactive Shell Behavior\7f299325
-Node: Bash Conditional Expressions\7f303089
-Node: Shell Arithmetic\7f308309
-Node: Aliases\7f311651
-Node: Arrays\7f314616
-Node: The Directory Stack\7f321682
-Node: Directory Stack Builtins\7f322482
-Node: Controlling the Prompt\7f326930
-Node: The Restricted Shell\7f329817
-Node: Bash POSIX Mode\7f332702
-Node: Shell Compatibility Mode\7f350846
-Node: Job Control\7f359860
-Node: Job Control Basics\7f360320
-Node: Job Control Builtins\7f365631
-Node: Job Control Variables\7f371802
-Node: Command Line Editing\7f372973
-Node: Introduction and Notation\7f374679
-Node: Readline Interaction\7f377032
-Node: Readline Bare Essentials\7f378223
-Node: Readline Movement Commands\7f380034
-Node: Readline Killing Commands\7f381033
-Node: Readline Arguments\7f383059
-Node: Searching\7f384119
-Node: Readline Init File\7f386383
-Node: Readline Init File Syntax\7f387690
-Node: Conditional Init Constructs\7f414413
-Node: Sample Init File\7f418801
-Node: Bindable Readline Commands\7f421925
-Node: Commands For Moving\7f423400
-Node: Commands For History\7f425630
-Node: Commands For Text\7f430886
-Node: Commands For Killing\7f434948
-Node: Numeric Arguments\7f437739
-Node: Commands For Completion\7f438894
-Node: Keyboard Macros\7f443397
-Node: Miscellaneous Commands\7f444101
-Node: Readline vi Mode\7f450657
-Node: Programmable Completion\7f451637
-Node: Programmable Completion Builtins\7f459692
-Node: A Programmable Completion Example\7f471360
-Node: Using History Interactively\7f476708
-Node: Bash History Facilities\7f477392
-Node: Bash History Builtins\7f481130
-Node: History Interaction\7f487604
-Node: Event Designators\7f492561
-Node: Word Designators\7f494142
-Node: Modifiers\7f496453
-Node: Installing Bash\7f498397
-Node: Basic Installation\7f499516
-Node: Compilers and Options\7f503395
-Node: Compiling For Multiple Architectures\7f504148
-Node: Installation Names\7f505900
-Node: Specifying the System Type\7f508137
-Node: Sharing Defaults\7f508886
-Node: Operation Controls\7f509603
-Node: Optional Features\7f510625
-Node: Reporting Bugs\7f523008
-Node: Major Differences From The Bourne Shell\7f524369
-Node: GNU Free Documentation License\7f545792
-Node: Indexes\7f570972
-Node: Builtin Index\7f571426
-Node: Reserved Word Index\7f578527
-Node: Variable Index\7f580975
-Node: Function Index\7f598391
-Node: Concept Index\7f612250
+Node: Shell Parameter Expansion\7f81738
+Node: Command Substitution\7f101509
+Node: Arithmetic Expansion\7f105045
+Node: Process Substitution\7f106061
+Node: Word Splitting\7f107180
+Node: Filename Expansion\7f109280
+Node: Pattern Matching\7f112551
+Node: Quote Removal\7f117888
+Node: Redirections\7f118195
+Node: Executing Commands\7f128413
+Node: Simple Command Expansion\7f129083
+Node: Command Search and Execution\7f131194
+Node: Command Execution Environment\7f133641
+Node: Environment\7f137092
+Node: Exit Status\7f138998
+Node: Signals\7f141059
+Node: Shell Scripts\7f144960
+Node: Shell Builtin Commands\7f148261
+Node: Bourne Shell Builtins\7f150375
+Node: Bash Builtins\7f176679
+Node: Modifying Shell Behavior\7f213130
+Node: The Set Builtin\7f213475
+Node: The Shopt Builtin\7f225414
+Node: Special Builtins\7f242469
+Node: Shell Variables\7f243461
+Node: Bourne Shell Variables\7f243898
+Node: Bash Variables\7f246409
+Node: Bash Features\7f284669
+Node: Invoking Bash\7f285686
+Node: Bash Startup Files\7f292115
+Node: Interactive Shells\7f297431
+Node: What is an Interactive Shell?\7f297842
+Node: Is this Shell Interactive?\7f298507
+Node: Interactive Shell Behavior\7f299334
+Node: Bash Conditional Expressions\7f303098
+Node: Shell Arithmetic\7f308318
+Node: Aliases\7f311660
+Node: Arrays\7f314798
+Node: The Directory Stack\7f321864
+Node: Directory Stack Builtins\7f322664
+Node: Controlling the Prompt\7f327112
+Node: The Restricted Shell\7f329999
+Node: Bash POSIX Mode\7f332884
+Node: Shell Compatibility Mode\7f351028
+Node: Job Control\7f360042
+Node: Job Control Basics\7f360502
+Node: Job Control Builtins\7f366781
+Node: Job Control Variables\7f373466
+Node: Command Line Editing\7f374700
+Node: Introduction and Notation\7f376406
+Node: Readline Interaction\7f378759
+Node: Readline Bare Essentials\7f379950
+Node: Readline Movement Commands\7f381761
+Node: Readline Killing Commands\7f382760
+Node: Readline Arguments\7f384786
+Node: Searching\7f385846
+Node: Readline Init File\7f388110
+Node: Readline Init File Syntax\7f389417
+Node: Conditional Init Constructs\7f416166
+Node: Sample Init File\7f420554
+Node: Bindable Readline Commands\7f423678
+Node: Commands For Moving\7f425153
+Node: Commands For History\7f427383
+Node: Commands For Text\7f432639
+Node: Commands For Killing\7f436767
+Node: Numeric Arguments\7f439558
+Node: Commands For Completion\7f440713
+Node: Keyboard Macros\7f445216
+Node: Miscellaneous Commands\7f445920
+Node: Readline vi Mode\7f452476
+Node: Programmable Completion\7f453456
+Node: Programmable Completion Builtins\7f461511
+Node: A Programmable Completion Example\7f473179
+Node: Using History Interactively\7f478527
+Node: Bash History Facilities\7f479211
+Node: Bash History Builtins\7f482949
+Node: History Interaction\7f489423
+Node: Event Designators\7f494380
+Node: Word Designators\7f495961
+Node: Modifiers\7f498272
+Node: Installing Bash\7f500216
+Node: Basic Installation\7f501335
+Node: Compilers and Options\7f505214
+Node: Compiling For Multiple Architectures\7f505967
+Node: Installation Names\7f507719
+Node: Specifying the System Type\7f509956
+Node: Sharing Defaults\7f510705
+Node: Operation Controls\7f511422
+Node: Optional Features\7f512444
+Node: Reporting Bugs\7f524827
+Node: Major Differences From The Bourne Shell\7f526188
+Node: GNU Free Documentation License\7f547611
+Node: Indexes\7f572791
+Node: Builtin Index\7f573245
+Node: Reserved Word Index\7f580346
+Node: Variable Index\7f582794
+Node: Function Index\7f600210
+Node: Concept Index\7f614069
\1f
End Tag Table
-This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/MacPorts 2024.70613_0) (preloaded format=etex 2024.4.9) 11 OCT 2024 09:00
+This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/MacPorts 2024.70613_0) (preloaded format=pdfetex 2024.4.9) 14 OCT 2024 17:00
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
%&-line parsing enabled.
-**\nonstopmode \input /usr/local/src/bash/bash-20241007/doc/bashref.texi \input
- /usr/local/src/bash/bash-20241007/doc/bashref.texi
-(/usr/local/src/bash/bash-20241007/doc/bashref.texi
-(/usr/local/src/bash/bash-20241007/doc/texinfo.tex
+**\input /usr/local/src/bash/bash-20241012/doc/bashref.texi
+(/usr/local/src/bash/bash-20241012/doc/bashref.texi
+(/usr/local/src/bash/bash-20241012/doc/texinfo.tex
Loading texinfo [version 2015-11-22.14]:
\outerhsize=\dimen16
\outervsize=\dimen17
texinfo.tex: doing @include of version.texi
-(/usr/local/src/bash/bash-20241007/doc/version.texi) [1] [2]
-(/usr/local/build/bash/bash-20241007/doc/bashref.toc [-1] [-2] [-3]) [-4]
-Chapter 1
+(/usr/local/src/bash/bash-20241012/doc/version.texi) [1{/opt/local/var/db/texmf
+/fonts/map/pdftex/updmap/pdftex.map}] [2]
+(/usr/local/build/bash/bash-20241012/doc/bashref.toc [-1] [-2] [-3]) [-4]
+(/usr/local/build/bash/bash-20241012/doc/bashref.toc)
+(/usr/local/build/bash/bash-20241012/doc/bashref.toc) Chapter 1
\openout0 = `bashref.toc'.
- (/usr/local/build/bash/bash-20241007/doc/bashref.aux)
+
+(/usr/local/build/bash/bash-20241012/doc/bashref.aux)
\openout1 = `bashref.aux'.
- [1] Chapter 2
-[2]
+ [1] Chapter 2 [2]
@cpindfile=@write2
\openout2 = `bashref.cp'.
- [3] Chapter 3 [4] [5] [6] [7]
+
+[3] Chapter 3 [4] [5] [6] [7]
@vrindfile=@write3
\openout3 = `bashref.vr'.
@rwindfile=@write4
\openout4 = `bashref.rw'.
- [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23]
-[24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38]
-[39] [40] [41] [42] [43] [44] [45] [46] [47] [48] Chapter 4 [49]
+ [10] [11] [12] [13] [14] [15] [16] [17] [18] [19{/opt/local/share/texmf-texliv
+e/fonts/enc/dvips/cm-super/cm-super-t1.enc}] [20] [21] [22] [23] [24]
+[25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39]
+[40] [41] [42] [43] [44] [45] [46] [47] [48] Chapter 4 [49]
@btindfile=@write5
\openout5 = `bashref.bt'.
- [50] [51]
-[52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66]
-[67] [68] [69] [70]
-Overfull \hbox (38.26585pt too wide) in paragraph at lines 5702--5702
+ [50] [51] [52]
+[53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67]
+[68] [69] [70]
+Overfull \hbox (38.26585pt too wide) in paragraph at lines 5703--5703
[]@texttt set [-abefhkmnptuvxBCEHPT] [-o @textttsl option-name@texttt ] [--] [
-] [@textttsl ar-gu-ment []@texttt ][]
.etc.
-Overfull \hbox (38.26585pt too wide) in paragraph at lines 5703--5703
+Overfull \hbox (38.26585pt too wide) in paragraph at lines 5704--5704
[]@texttt set [+abefhkmnptuvxBCEHPT] [+o @textttsl option-name@texttt ] [--] [
-] [@textttsl ar-gu-ment []@texttt ][]
[84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] Chapter 6
[97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109]
[110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121]
-Chapter 7 [122] [123] [124] [125]
+Chapter 7 [122] [123] [124] [125] [126]
texinfo.tex: doing @include of rluser.texi
-(/usr/local/src/bash/bash-20241007/lib/readline/doc/rluser.texi Chapter 8
-[126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137]
+(/usr/local/src/bash/bash-20241012/lib/readline/doc/rluser.texi Chapter 8
+[127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138]
Underfull \hbox (badness 7540) in paragraph at lines 959--965
[]@textrm In the ex-am-ple above, @textttsl C-u[] @textrm is bound to the func
-tion
.@texttt v
.etc.
-[138] [139] [140] [141]
+[139] [140] [141] [142]
Overfull \hbox (26.43913pt too wide) in paragraph at lines 1204--1204
[]@texttt Meta-Control-h: backward-kill-word Text after the function name is i
gnored[]
.@texttt t
.etc.
-[142] [143]
+[143] [144]
@fnindfile=@write6
\openout6 = `bashref.fn'.
- [144] [145] [146] [147] [148] [149] [150] [151] [152] [153]
-[154] [155] [156] [157] [158] [159] [160] [161] [162])
+ [145] [146] [147] [148] [149] [150] [151] [152] [153] [154]
+[155] [156] [157] [158] [159] [160] [161] [162] [163])
texinfo.tex: doing @include of hsuser.texi
-(/usr/local/src/bash/bash-20241007/lib/readline/doc/hsuser.texi Chapter 9
-[163] [164] [165] [166] [167] [168] [169]) Chapter 10 [170] [171] [172]
-[173] [174]
-Underfull \hbox (badness 10000) in paragraph at lines 10283--10292
+(/usr/local/src/bash/bash-20241012/lib/readline/doc/hsuser.texi Chapter 9
+[164] [165] [166] [167] [168] [169] [170]) Chapter 10 [171] [172] [173]
+[174] [175]
+Underfull \hbox (badness 10000) in paragraph at lines 10347--10356
[]@textrm All of the fol-low-ing op-tions ex-cept for `@texttt alt-array-implem
entation[]@textrm '[],
.etc.
-Underfull \hbox (badness 10000) in paragraph at lines 10283--10292
+Underfull \hbox (badness 10000) in paragraph at lines 10347--10356
@textrm `@texttt disabled-builtins[]@textrm '[], `@texttt direxpand-default[]@t
extrm '[], `@texttt strict-posix-default[]@textrm '[], and
.@texttt a
.etc.
-[175] [176] [177] [178] Appendix A [179] Appendix B [180] [181] [182] [183]
-[184] [185] [186] Appendix C [187]
+[176] [177] [178] [179] Appendix A [180] Appendix B [181] [182] [183] [184]
+[185] [186] [187] Appendix C [188]
texinfo.tex: doing @include of fdl.texi
-(/usr/local/src/bash/bash-20241007/doc/fdl.texi [188] [189] [190] [191]
-[192] [193] [194]) Appendix D [195] [196] [197] [198] [199] [200] [201]
-[202] [203] [204] )
+(/usr/local/src/bash/bash-20241012/doc/fdl.texi [189] [190] [191] [192]
+[193] [194] [195]) Appendix D [196] [197] [198] [199] [200] [201] [202]
+[203] [204] [205] )
Here is how much of TeX's memory you used:
- 3531 strings out of 495850
- 40273 string characters out of 6172145
- 88586 words of memory out of 5000000
- 4879 multiletter control sequences out of 15000+600000
+ 4113 strings out of 495840
+ 47653 string characters out of 6171739
+ 144667 words of memory out of 5000000
+ 5048 multiletter control sequences out of 15000+600000
34315 words of font info for 116 fonts, out of 8000000 for 9000
701 hyphenation exceptions out of 8191
- 16i,6n,16p,402b,942s stack positions out of 10000i,1000n,20000p,200000b,200000s
+ 16i,6n,16p,331b,983s stack positions out of 10000i,1000n,20000p,200000b,200000s
+</opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/
+cm/cmbx12.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cm
+csc10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi10
+.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi12.pfb>
+</opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi9.pfb></opt/
+local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr10.pfb></opt/local/
+share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr9.pfb></opt/local/share/t
+exmf-texlive/fonts/type1/public/amsfonts/cm/cmsl10.pfb></opt/local/share/texmf-
+texlive/fonts/type1/public/amsfonts/cm/cmsltt10.pfb></opt/local/share/texmf-tex
+live/fonts/type1/public/amsfonts/cm/cmsy10.pfb></opt/local/share/texmf-texlive/
+fonts/type1/public/amsfonts/cm/cmti10.pfb></opt/local/share/texmf-texlive/fonts
+/type1/public/amsfonts/cm/cmtt10.pfb></opt/local/share/texmf-texlive/fonts/type
+1/public/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf-texlive/fonts/type1/pub
+lic/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm
+-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm-super
+/sfrm1440.pfb>
+Output written on bashref.pdf (211 pages, 844363 bytes).
+PDF statistics:
+ 2923 PDF objects out of 2984 (max. 8388607)
+ 2664 compressed objects within 27 object streams
+ 339 named destinations out of 1000 (max. 500000)
+ 1157 words of extra memory for PDF output out of 10000 (max. 10000000)
-Output written on bashref.dvi (210 pages, 880460 bytes).
%!PS-Adobe-2.0
%%Creator: dvips(k) 2024.1 (TeX Live 2024) Copyright 2024 Radical Eye Software
%%Title: bashref.dvi
-%%CreationDate: Fri Oct 11 13:00:34 2024
-%%Pages: 210
+%%CreationDate: Mon Oct 14 21:00:23 2024
+%%Pages: 211
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%DocumentFonts: CMBX12 CMR10 CMTT10 CMSL10 CMSY10 CMMI12 CMMI10 CMCSC10
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2024.10.11:0900
+%DVIPSSource: TeX output 2024.10.14:1700
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
%%Page: 2 2
TeXDict begin 2 1 bop 150 4279 a Fu(This)35 b(text)h(is)g(a)g(brief)f
(description)h(of)f(the)h(features)g(that)g(are)g(presen)m(t)g(in)f
-(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.3,)c(10)f(Octob)s(er)f
+(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.3,)c(14)f(Octob)s(er)f
(2024\).)150 4523 y(This)35 b(is)g(Edition)h(5.3,)i(last)f(up)s(dated)d
-(10)i(Octob)s(er)g(2024,)j(of)c Fr(The)h(GNU)g(Bash)f(Reference)i(Man)m
+(14)i(Octob)s(er)g(2024,)j(of)c Fr(The)h(GNU)g(Bash)f(Reference)i(Man)m
(ual)p Fu(,)150 4633 y(for)30 b Ft(Bash)p Fu(,)g(V)-8
b(ersion)31 b(5.3.)150 4767 y(Cop)m(yrigh)m(t)602 4764
y(c)577 4767 y Fq(\015)f Fu(1988{2024)35 b(F)-8 b(ree)31
(:)f(:)24 b Fu(124)275 1019 y(7.3)92 b(Job)30 b(Con)m(trol)h(V)-8
b(ariables)26 b Fn(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)38 b Fu(126)150
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)38 b Fu(127)150
1269 y Fs(8)135 b(Command)45 b(Line)g(Editing)11 b Fo(:)20
b(:)g(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)k Fs(127)275 1406 y Fu(8.1)92 b(In)m(tro)s(duction)
+(:)g(:)h(:)f(:)h(:)k Fs(128)275 1406 y Fu(8.1)92 b(In)m(tro)s(duction)
30 b(to)h(Line)f(Editing)12 b Fn(:)k(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)25 b Fu(127)275 1516 y(8.2)92
+(:)h(:)f(:)g(:)h(:)f(:)h(:)25 b Fu(128)275 1516 y(8.2)92
b(Readline)31 b(In)m(teraction)14 b Fn(:)j(:)e(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)27
-b Fu(127)399 1626 y(8.2.1)93 b(Readline)31 b(Bare)g(Essen)m(tials)13
+b Fu(128)399 1626 y(8.2.1)93 b(Readline)31 b(Bare)g(Essen)m(tials)13
b Fn(:)j(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)26
-b Fu(128)399 1735 y(8.2.2)93 b(Readline)31 b(Mo)m(v)m(emen)m(t)i
+b Fu(129)399 1735 y(8.2.2)93 b(Readline)31 b(Mo)m(v)m(emen)m(t)i
(Commands)13 b Fn(:)i(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)27
-b Fu(128)399 1845 y(8.2.3)93 b(Readline)31 b(Killing)g(Commands)24
+b Fu(129)399 1845 y(8.2.3)93 b(Readline)31 b(Killing)g(Commands)24
b Fn(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)38
-b Fu(129)399 1954 y(8.2.4)93 b(Readline)31 b(Argumen)m(ts)17
+b Fu(130)399 1954 y(8.2.4)93 b(Readline)31 b(Argumen)m(ts)17
b Fn(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)30 b Fu(129)399 2064 y(8.2.5)93 b(Searc)m(hing)31
+(:)f(:)h(:)30 b Fu(130)399 2064 y(8.2.5)93 b(Searc)m(hing)31
b(for)f(Commands)f(in)h(the)h(History)15 b Fn(:)g(:)h(:)f(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)28 b Fu(130)275
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)28 b Fu(131)275
2174 y(8.3)92 b(Readline)31 b(Init)f(File)8 b Fn(:)17
b(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)22 b Fu(130)399 2283
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)22 b Fu(131)399 2283
y(8.3.1)93 b(Readline)31 b(Init)f(File)i(Syn)m(tax)21
b Fn(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)34
-b Fu(130)399 2393 y(8.3.2)93 b(Conditional)31 b(Init)f(Constructs)14
+b Fu(131)399 2393 y(8.3.2)93 b(Conditional)31 b(Init)f(Constructs)14
b Fn(:)h(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)27
-b Fu(140)399 2502 y(8.3.3)93 b(Sample)30 b(Init)g(File)20
+b Fu(141)399 2502 y(8.3.3)93 b(Sample)30 b(Init)g(File)20
b Fn(:)d(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)33 b Fu(141)275 2612 y(8.4)92
+(:)h(:)f(:)g(:)h(:)f(:)h(:)33 b Fu(142)275 2612 y(8.4)92
b(Bindable)30 b(Readline)h(Commands)19 b Fn(:)c(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)33 b Fu(144)399 2721 y(8.4.1)93
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)33 b Fu(145)399 2721 y(8.4.1)93
b(Commands)29 b(F)-8 b(or)31 b(Mo)m(ving)16 b Fn(:)h(:)e(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)29 b Fu(144)399
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)29 b Fu(145)399
2831 y(8.4.2)93 b(Commands)29 b(F)-8 b(or)31 b(Manipulating)g(The)f
(History)c Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)39 b Fu(145)399 2941 y(8.4.3)93 b(Commands)29 b(F)-8
+f(:)39 b Fu(146)399 2941 y(8.4.3)93 b(Commands)29 b(F)-8
b(or)31 b(Changing)f(T)-8 b(ext)9 b Fn(:)17 b(:)e(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)23 b Fu(147)399 3050 y(8.4.4)93 b(Killing)31
+h(:)f(:)23 b Fu(148)399 3050 y(8.4.4)93 b(Killing)31
b(And)e(Y)-8 b(anking)10 b Fn(:)17 b(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)24 b Fu(148)399
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)24 b Fu(149)399
3160 y(8.4.5)93 b(Sp)s(ecifying)30 b(Numeric)g(Argumen)m(ts)25
b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)39 b Fu(150)399
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)39 b Fu(151)399
3269 y(8.4.6)93 b(Letting)31 b(Readline)g(T)m(yp)s(e)f(F)-8
b(or)31 b(Y)-8 b(ou)20 b Fn(:)c(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)33
-b Fu(150)399 3379 y(8.4.7)93 b(Keyb)s(oard)29 b(Macros)9
+b Fu(151)399 3379 y(8.4.7)93 b(Keyb)s(oard)29 b(Macros)9
b Fn(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)22 b Fu(152)399 3489 y(8.4.8)93
+h(:)f(:)h(:)f(:)g(:)h(:)22 b Fu(153)399 3489 y(8.4.8)93
b(Some)30 b(Miscellaneous)j(Commands)14 b Fn(:)f(:)j(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)27 b Fu(152)275 3598 y(8.5)92 b(Readline)31 b(vi)f(Mo)s(de)e
+(:)f(:)27 b Fu(153)275 3598 y(8.5)92 b(Readline)31 b(vi)f(Mo)s(de)e
Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)41 b Fu(155)275
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)41 b Fu(156)275
3708 y(8.6)92 b(Programmable)30 b(Completion)25 b Fn(:)15
b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)37
-b Fu(155)275 3817 y(8.7)92 b(Programmable)30 b(Completion)h(Builtins)14
+b Fu(156)275 3817 y(8.7)92 b(Programmable)30 b(Completion)h(Builtins)14
b Fn(:)i(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)28 b Fu(157)275
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)28 b Fu(158)275
3927 y(8.8)92 b(A)30 b(Programmable)h(Completion)g(Example)8
b Fn(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)22 b Fu(161)150 4178 y
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)22 b Fu(162)150 4178 y
Fs(9)135 b(Using)45 b(History)h(In)l(teractiv)l(ely)28
b Fo(:)22 b(:)d(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g
-(:)h(:)41 b Fs(164)275 4315 y Fu(9.1)92 b(Bash)30 b(History)h(F)-8
+(:)h(:)41 b Fs(165)275 4315 y Fu(9.1)92 b(Bash)30 b(History)h(F)-8
b(acilities)9 b Fn(:)19 b(:)c(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)22 b Fu(164)275
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)22 b Fu(165)275
4424 y(9.2)92 b(Bash)30 b(History)h(Builtins)d Fn(:)16
b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)h(:)f(:)41 b Fu(165)275 4534 y(9.3)92 b(History)31
+h(:)f(:)h(:)f(:)41 b Fu(166)275 4534 y(9.3)92 b(History)31
b(Expansion)10 b Fn(:)k(:)h(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)23
-b Fu(167)399 4643 y(9.3.1)93 b(Ev)m(en)m(t)31 b(Designators)19
+b Fu(168)399 4643 y(9.3.1)93 b(Ev)m(en)m(t)31 b(Designators)19
b Fn(:)e(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)32 b Fu(168)399 4753 y(9.3.2)93 b(W)-8
+(:)h(:)f(:)g(:)h(:)32 b Fu(169)399 4753 y(9.3.2)93 b(W)-8
b(ord)31 b(Designators)c Fn(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)39 b Fu(169)399
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)39 b Fu(170)399
4863 y(9.3.3)93 b(Mo)s(di\014ers)15 b Fn(:)g(:)g(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)29 b Fu(170)p eop end
+h(:)f(:)h(:)f(:)g(:)29 b Fu(171)p eop end
%%Page: -4 6
TeXDict begin -4 5 bop 3677 -116 a Fu(iv)150 83 y Fs(10)135
b(Installing)46 b(Bash)16 b Fo(:)j(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)h(:)f(:)29 b Fs(171)275 220 y Fu(10.1)92 b(Basic)32
+f(:)h(:)f(:)29 b Fs(172)275 220 y Fu(10.1)92 b(Basic)32
b(Installation)8 b Fn(:)17 b(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)22
-b Fu(171)275 330 y(10.2)92 b(Compilers)30 b(and)g(Options)17
+b Fu(172)275 330 y(10.2)92 b(Compilers)30 b(and)g(Options)17
b Fn(:)d(:)i(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)30 b Fu(172)275 439 y(10.3)92 b(Compiling)30
+(:)f(:)h(:)f(:)30 b Fu(173)275 439 y(10.3)92 b(Compiling)30
b(F)-8 b(or)32 b(Multiple)f(Arc)m(hitectures)10 b Fn(:)16
b(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)23 b Fu(172)275 549 y(10.4)92
+(:)g(:)h(:)f(:)h(:)f(:)23 b Fu(173)275 549 y(10.4)92
b(Installation)32 b(Names)22 b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)35
-b Fu(173)275 658 y(10.5)92 b(Sp)s(ecifying)30 b(the)g(System)h(T)m(yp)s
+b Fu(174)275 658 y(10.5)92 b(Sp)s(ecifying)30 b(the)g(System)h(T)m(yp)s
(e)21 b Fn(:)14 b(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)34 b Fu(173)275 768 y(10.6)92 b(Sharing)30 b(Defaults)24
+h(:)34 b Fu(174)275 768 y(10.6)92 b(Sharing)30 b(Defaults)24
b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)37 b Fu(173)275
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)37 b Fu(174)275
878 y(10.7)92 b(Op)s(eration)30 b(Con)m(trols)12 b Fn(:)k(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)25 b Fu(174)275 987 y(10.8)92 b(Optional)31
+(:)h(:)f(:)25 b Fu(175)275 987 y(10.8)92 b(Optional)31
b(F)-8 b(eatures)19 b Fn(:)d(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)32
-b Fu(174)150 1238 y Fs(App)t(endix)44 b(A)119 b(Rep)t(orting)46
+b Fu(175)150 1238 y Fs(App)t(endix)44 b(A)119 b(Rep)t(orting)46
b(Bugs)21 b Fo(:)f(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)35 b Fs(180)150 1498 y(App)t(endix)44
+(:)f(:)g(:)h(:)f(:)35 b Fs(181)150 1498 y(App)t(endix)44
b(B)125 b(Ma)7 b(jor)46 b(Di\013erences)g(F)-11 b(rom)284
1639 y(The)45 b(Bourne)f(Shell)35 b Fo(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)47 b Fs(181)275 1776 y Fu(B.1)92
+f(:)g(:)h(:)f(:)h(:)47 b Fs(182)275 1776 y Fu(B.1)92
b(Implemen)m(tation)31 b(Di\013erences)h(F)-8 b(rom)31
b(The)e(SVR4.2)j(Shell)22 b Fn(:)15 b(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)35 b Fu(186)150 2027 y Fs(App)t(endix)44 b(C)124 b(GNU)36
+(:)35 b Fu(187)150 2027 y Fs(App)t(endix)44 b(C)124 b(GNU)36
b(F)-11 b(ree)35 b(Do)t(cumen)l(tation)i(License)25 b
-Fo(:)20 b(:)29 b Fs(188)150 2305 y(App)t(endix)44 b(D)118
+Fo(:)20 b(:)29 b Fs(189)150 2305 y(App)t(endix)44 b(D)118
b(Indexes)27 b Fo(:)20 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)40
-b Fs(196)275 2442 y Fu(D.1)92 b(Index)29 b(of)i(Shell)f(Builtin)h
+b Fs(197)275 2442 y Fu(D.1)92 b(Index)29 b(of)i(Shell)f(Builtin)h
(Commands)23 b Fn(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)38
-b Fu(196)275 2552 y(D.2)92 b(Index)29 b(of)i(Shell)f(Reserv)m(ed)h(W)-8
+b Fu(197)275 2552 y(D.2)92 b(Index)29 b(of)i(Shell)f(Reserv)m(ed)h(W)-8
b(ords)20 b Fn(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)34
-b Fu(197)275 2661 y(D.3)92 b(P)m(arameter)31 b(and)f(V)-8
+b Fu(198)275 2661 y(D.3)92 b(P)m(arameter)31 b(and)f(V)-8
b(ariable)32 b(Index)27 b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)42 b Fu(198)275 2771 y(D.4)92 b(F)-8 b(unction)31
+h(:)f(:)g(:)42 b Fu(199)275 2771 y(D.4)92 b(F)-8 b(unction)31
b(Index)24 b Fn(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)38
-b Fu(200)275 2880 y(D.5)92 b(Concept)30 b(Index)15 b
+b Fu(201)275 2880 y(D.5)92 b(Concept)30 b(Index)15 b
Fn(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)29 b
-Fu(202)p eop end
+Fu(203)p eop end
%%Page: 1 7
TeXDict begin 1 6 bop 3705 -116 a Fu(1)150 299 y Fp(1)80
b(In)l(tro)t(duction)150 604 y Fs(1.1)68 b(What)45 b(is)g(Bash?)150
(quoted)h(if)f(it)h(is)f(to)h(represen)m(t)g(itself.)275
1065 y(When)d(the)i(command)e(history)h(expansion)g(facilities)j(are)d
(b)s(eing)g(used)f(\(see)i(Section)g(9.3)g([History)150
-1175 y(In)m(teraction],)46 b(page)c(167\),)k(the)c Fr(history)f
+1175 y(In)m(teraction],)46 b(page)c(168\),)k(the)c Fr(history)f
(expansion)g Fu(c)m(haracter,)46 b(usually)41 b(`)p Ft(!)p
Fu(',)k(m)m(ust)c(b)s(e)g(quoted)g(to)150 1284 y(prev)m(en)m(t)f
(history)g(expansion.)69 b(See)40 b(Section)h(9.1)g([Bash)f(History)g
-(F)-8 b(acilities],)46 b(page)41 b(164,)i(for)d(more)150
+(F)-8 b(acilities],)46 b(page)41 b(165,)i(for)d(more)150
1394 y(details)31 b(concerning)g(history)f(expansion.)275
1539 y(There)f(are)i(four)f(quoting)g(mec)m(hanisms:)41
b(the)31 b Fr(escap)s(e)f(c)m(haracter)p Fu(,)i(single)f(quotes,)g
e(Directory)i(Stac)m(k],)150 2783 y(page)34 b(110\).)50
b(If)32 b(the)h(tilde-pre\014x,)h(sans)e(the)h(tilde,)i(consists)e(of)g
(a)h(n)m(um)m(b)s(er)d(without)i(a)g(leading)h(`)p Ft(+)p
-Fu(')f(or)150 2893 y(`)p Ft(-)p Fu(',)e(`)p Ft(+)p Fu(')f(is)h
-(assumed.)275 3034 y(The)g(results)h(of)h(tilde)g(expansion)f(are)h
-(treated)g(as)f(if)h(they)f(w)m(ere)h(quoted,)g(so)g(the)f(replacemen)m
-(t)i(is)150 3144 y(not)d(sub)5 b(ject)30 b(to)h(w)m(ord)f(splitting)h
-(and)f(\014lename)g(expansion.)275 3285 y(If)24 b(the)i(login)g(name)f
-(is)g(in)m(v)-5 b(alid,)27 b(or)f(the)f(tilde)h(expansion)f(fails,)i
-(the)f(tilde-pre\014x)f(is)g(left)h(unc)m(hanged.)275
-3427 y(Bash)k(c)m(hec)m(ks)j(eac)m(h)f(v)-5 b(ariable)31
-b(assignmen)m(t)h(for)e(unquoted)g(tilde-pre\014xes)h(immediately)h
-(follo)m(wing)150 3536 y(a)26 b(`)p Ft(:)p Fu(')f(or)h(the)f(\014rst)g
-(`)p Ft(=)p Fu(',)i(and)e(p)s(erforms)f(tilde)i(expansion)f(in)g(these)
-h(cases.)40 b(Consequen)m(tly)-8 b(,)27 b(one)f(ma)m(y)g(use)150
-3646 y(\014lenames)32 b(with)f(tildes)h(in)f(assignmen)m(ts)i(to)f
-Ft(PATH)p Fu(,)f Ft(MAILPATH)p Fu(,)f(and)h Ft(CDPATH)p
-Fu(,)f(and)h(the)h(shell)g(assigns)150 3755 y(the)f(expanded)e(v)-5
-b(alue.)275 3897 y(The)29 b(follo)m(wing)j(table)g(sho)m(ws)e(ho)m(w)g
-(Bash)h(treats)g(unquoted)e(tilde-pre\014xes:)150 4067
-y Ft(~)432 b Fu(The)30 b(v)-5 b(alue)31 b(of)f Ft($HOME)p
-Fu(.)150 4233 y Ft(~/foo)240 b($HOME/foo)150 4399 y(~fred/foo)630
+Fu(')f(or)150 2893 y(`)p Ft(-)p Fu(',)e(tilde)g(expansion)f(assumes)g
+(`)p Ft(+)p Fu('.)275 3034 y(The)h(results)h(of)h(tilde)g(expansion)f
+(are)h(treated)g(as)f(if)h(they)f(w)m(ere)h(quoted,)g(so)g(the)f
+(replacemen)m(t)i(is)150 3144 y(not)d(sub)5 b(ject)30
+b(to)h(w)m(ord)f(splitting)h(and)f(\014lename)g(expansion.)275
+3285 y(If)24 b(the)i(login)g(name)f(is)g(in)m(v)-5 b(alid,)27
+b(or)f(the)f(tilde)h(expansion)f(fails,)i(the)f(tilde-pre\014x)f(is)g
+(left)h(unc)m(hanged.)275 3427 y(Bash)k(c)m(hec)m(ks)j(eac)m(h)f(v)-5
+b(ariable)31 b(assignmen)m(t)h(for)e(unquoted)g(tilde-pre\014xes)h
+(immediately)h(follo)m(wing)150 3536 y(a)26 b(`)p Ft(:)p
+Fu(')f(or)h(the)f(\014rst)g(`)p Ft(=)p Fu(',)i(and)e(p)s(erforms)f
+(tilde)i(expansion)f(in)g(these)h(cases.)40 b(Consequen)m(tly)-8
+b(,)27 b(one)f(ma)m(y)g(use)150 3646 y(\014lenames)32
+b(with)f(tildes)h(in)f(assignmen)m(ts)i(to)f Ft(PATH)p
+Fu(,)f Ft(MAILPATH)p Fu(,)f(and)h Ft(CDPATH)p Fu(,)f(and)h(the)h(shell)
+g(assigns)150 3755 y(the)f(expanded)e(v)-5 b(alue.)275
+3897 y(The)29 b(follo)m(wing)j(table)g(sho)m(ws)e(ho)m(w)g(Bash)h
+(treats)g(unquoted)e(tilde-pre\014xes:)150 4067 y Ft(~)432
+b Fu(The)30 b(v)-5 b(alue)31 b(of)f Ft($HOME)p Fu(.)150
+4233 y Ft(~/foo)240 b($HOME/foo)150 4399 y(~fred/foo)630
4509 y Fu(The)30 b(directory)h(or)f(\014le)h Ft(foo)e
Fu(in)h(the)h(home)f(directory)h(of)g(the)f(user)g Ft(fred)p
Fu(.)150 4675 y Ft(~+/foo)192 b($PWD/foo)150 4841 y(~-/foo)g
2002 y(DEFAULT)870 2112 y($)g(var=)870 2222 y($)g(:)h(${var:=DEFAULT})
870 2331 y($)f(echo)g($var)870 2441 y(DEFAULT)150 2590
y(${)p Fj(parameter)p Ft(:?)p Fj(word)p Ft(})630 2700
-y Fu(If)26 b Fr(parameter)33 b Fu(is)26 b(n)m(ull)g(or)g(unset,)h(the)f
-(expansion)g(of)g Fr(w)m(ord)k Fu(\(or)c(a)h(message)g(to)g(that)f
-(e\013ect)630 2809 y(if)i Fr(w)m(ord)j Fu(is)d(not)g(presen)m(t\))h(is)
-f(written)g(to)h(the)f(standard)f(error)h(and)f(the)h(shell,)h(if)f(it)
-h(is)f(not)630 2919 y(in)m(teractiv)m(e,)j(exits)d(with)f(a)g(non-zero)
-h(status.)40 b(An)27 b(in)m(teractiv)m(e)j(shell)d(do)s(es)g(not)h
-(exit,)h(but)630 3029 y(do)s(es)j(not)g(execute)i(the)e(command)g(asso)
-s(ciated)h(with)f(the)g(expansion.)46 b(Otherwise,)33
-b(the)630 3138 y(v)-5 b(alue)31 b(of)f Fr(parameter)38
-b Fu(is)30 b(substituted.)870 3268 y Ft($)47 b(var=)870
-3377 y($)g(:)h(${var:?var)d(is)i(unset)f(or)i(null})870
-3487 y(bash:)e(var:)h(var)g(is)g(unset)f(or)i(null)150
+y Fu(If)d Fr(parameter)52 b Fu(is)44 b(n)m(ull)h(or)f(unset,)k(the)d
+(shell)g(writes)f(the)h(expansion)f(of)h Fr(w)m(ord)j
+Fu(\(or)d(a)630 2809 y(message)31 b(to)g(that)g(e\013ect)h(if)e
+Fr(w)m(ord)k Fu(is)c(not)h(presen)m(t\))f(to)h(the)g(standard)e(error)h
+(and,)g(if)g(it)h(is)630 2919 y(not)d(in)m(teractiv)m(e,)j(exits)e
+(with)e(a)h(non-zero)h(status.)40 b(An)27 b(in)m(teractiv)m(e)k(shell)c
+(do)s(es)h(not)g(exit,)630 3029 y(but)j(do)s(es)g(not)g(execute)i(the)e
+(command)g(asso)s(ciated)i(with)e(the)h(expansion.)43
+b(Otherwise,)630 3138 y(the)31 b(v)-5 b(alue)30 b(of)h
+Fr(parameter)37 b Fu(is)31 b(substituted.)870 3268 y
+Ft($)47 b(var=)870 3377 y($)g(:)h(${var:?var)d(is)i(unset)f(or)i(null})
+870 3487 y(bash:)e(var:)h(var)g(is)g(unset)f(or)i(null)150
3636 y(${)p Fj(parameter)p Ft(:+)p Fj(word)p Ft(})630
3746 y Fu(If)35 b Fr(parameter)42 b Fu(is)36 b(n)m(ull)f(or)h(unset,)g
(nothing)g(is)f(substituted,)i(otherwise)e(the)h(expansion)630
(Builtins],)150 1590 y(page)33 b(124\),)i(the)e(directory)g(stac)m(k)h
(\(see)f(Section)h(6.8.1)g([Directory)g(Stac)m(k)g(Builtins],)g(page)f
(110\),)i(the)150 1699 y(command)23 b(history)h(\(see)g(Section)g(9.2)h
-([Bash)f(History)g(Builtins],)h(page)g(165\),)h(and)d(the)h
+([Bash)f(History)g(Builtins],)h(page)g(166\),)h(and)d(the)h
(programmable)150 1809 y(completion)32 b(facilities)g(\(see)g(Section)f
-(8.7)g([Programmable)g(Completion)g(Builtins],)g(page)h(157\).)275
+(8.7)g([Programmable)g(Completion)g(Builtins],)g(page)h(158\).)275
1947 y(Man)m(y)f(of)f(the)h(builtins)e(ha)m(v)m(e)j(b)s(een)e(extended)
g(b)m(y)g Fm(posix)g Fu(or)g(Bash.)275 2086 y(Unless)20
b(otherwise)h(noted,)h(eac)m(h)g(builtin)e(command)g(do)s(cumen)m(ted)g
y Ft(bind)i([-m)g Fj(keymap)p Ft(])e(-p|-P)i([)p Fj(readline-command)p
Ft(])870 4408 y(bind)g Fj(readline-command-line)630 4545
y Fu(Displa)m(y)38 b(curren)m(t)e(Readline)h(\(see)g(Chapter)f(8)h
-([Command)f(Line)g(Editing],)j(page)e(127\))630 4655
+([Command)f(Line)g(Editing],)j(page)e(128\))630 4655
y(k)m(ey)26 b(and)f(function)g(bindings,)h(bind)e(a)i(k)m(ey)g
(sequence)g(to)h(a)e(Readline)i(function)e(or)g(macro)630
4765 y(or)g(to)i(a)f(shell)f(command,)i(or)e(set)h(a)g(Readline)g(v)-5
b(ariable.)40 b(Eac)m(h)26 b(non-option)g(argumen)m(t)g(is)630
4874 y(a)c(k)m(ey)g(binding)e(or)h(command)g(as)h(it)f(w)m(ould)g(app)s
(ear)g(in)g(a)h(Readline)f(initialization)k(\014le)c(\(see)630
-4984 y(Section)30 b(8.3)h([Readline)f(Init)g(File],)h(page)g(130\),)g
+4984 y(Section)30 b(8.3)h([Readline)f(Init)g(File],)h(page)g(131\),)g
(but)e(eac)m(h)i(binding)d(or)i(command)f(m)m(ust)630
5093 y(b)s(e)h(passed)g(as)g(a)h(separate)g(argumen)m(t;)g(e.g.,)h(`)p
Ft("\\C-x\\C-r":re-read-init-fi)o(le)p Fu('.)630 5230
(NUL)g(c)m(haracter.)630 1870 y Ft(-e)384 b Fu(If)33
b(the)h(standard)f(input)g(is)h(coming)h(from)e(a)h(terminal,)h
Ft(read)e Fu(uses)g(Read-)1110 1979 y(line)h(\(see)h(Chapter)e(8)i
-([Command)e(Line)g(Editing],)j(page)e(127\))i(to)e(obtain)1110
+([Command)e(Line)g(Editing],)j(page)e(128\))i(to)e(obtain)1110
2089 y(the)h(line.)53 b(Readline)36 b(uses)e(the)h(curren)m(t)f(\(or)h
(default,)h(if)e(line)h(editing)h(w)m(as)1110 2198 y(not)c(previously)g
(activ)m(e\))i(editing)e(settings,)i(but)d(uses)g(Readline's)i(default)
1110 2308 y(\014lename)e(completion.)630 2459 y Ft(-E)384
b Fu(If)23 b(the)h(standard)f(input)g(is)g(coming)i(from)e(a)h
(terminal,)i Ft(read)c Fu(uses)h(Readline)1110 2569 y(\(see)36
-b(Chapter)f(8)h([Command)e(Line)i(Editing],)h(page)f(127\))h(to)f
+b(Chapter)f(8)h([Command)e(Line)i(Editing],)h(page)f(128\))h(to)f
(obtain)g(the)1110 2679 y(line.)53 b(Readline)34 b(uses)g(the)g(curren)
m(t)g(\(or)h(default,)h(if)e(line)g(editing)h(w)m(as)g(not)1110
2788 y(previously)28 b(activ)m(e\))j(editing)e(settings,)h(but)d(uses)h
2852 y Ft(braceexpand)1590 2961 y Fu(Same)f(as)h Ft(-B)p
Fu(.)1110 3122 y Ft(emacs)240 b Fu(Use)25 b(an)f Ft(emacs)p
Fu(-st)m(yle)h(line)f(editing)h(in)m(terface)h(\(see)g(Chapter)e(8)1590
-3232 y([Command)33 b(Line)g(Editing],)h(page)h(127\).)51
+3232 y([Command)33 b(Line)g(Editing],)h(page)h(128\).)51
b(This)32 b(also)i(a\013ects)1590 3342 y(the)d(editing)g(in)m(terface)h
(used)d(for)h Ft(read)f(-e)p Fu(.)1110 3503 y Ft(errexit)144
b Fu(Same)30 b(as)h Ft(-e)p Fu(.)1110 3664 y Ft(errtrace)96
4367 y Fu(Same)f(as)h Ft(-H)p Fu(.)1110 4528 y Ft(history)144
b Fu(Enable)39 b(command)g(history)-8 b(,)42 b(as)d(describ)s(ed)f(in)h
(Section)h(9.1)1590 4637 y([Bash)d(History)g(F)-8 b(acilities],)41
-b(page)c(164.)60 b(This)36 b(option)h(is)f(on)1590 4747
+b(page)c(165.)60 b(This)36 b(option)h(is)f(on)1590 4747
y(b)m(y)30 b(default)h(in)f(in)m(teractiv)m(e)j(shells.)1110
4908 y Ft(ignoreeof)1590 5018 y Fu(An)d(in)m(teractiv)m(e)j(shell)e
(will)g(not)f(exit)h(up)s(on)e(reading)i(EOF.)1110 5179
Ft(ERR)f Fu(trap)i(is)f(normally)h(not)f(inherited)g(in)g(suc)m(h)g
(cases.)630 2754 y Ft(-H)384 b Fu(Enable)38 b(`)p Ft(!)p
Fu(')h(st)m(yle)h(history)e(substitution)g(\(see)h(Section)h(9.3)f
-([History)g(In-)1110 2863 y(teraction],)g(page)d(167\).)57
+([History)g(In-)1110 2863 y(teraction],)g(page)d(168\).)57
b(This)34 b(option)i(is)f(on)g(b)m(y)h(default)f(for)g(in)m(teractiv)m
(e)1110 2973 y(shells.)630 3126 y Ft(-P)384 b Fu(If)36
b(set,)j(Bash)d(do)s(es)g(not)h(resolv)m(e)h(sym)m(b)s(olic)f(links)f
TeXDict begin 78 83 bop 150 -116 a Fu(Chapter)30 b(4:)41
b(Shell)30 b(Builtin)h(Commands)2069 b(78)1110 299 y(e\013ect)30
b(if)e(command)g(history)g(is)h(enabled)f(\(see)h(Section)g(9.1)h
-([Bash)e(History)1110 408 y(F)-8 b(acilities],)34 b(page)d(164\).)630
+([Bash)e(History)1110 408 y(F)-8 b(acilities],)34 b(page)d(165\).)630
559 y Ft(compat31)630 669 y(compat32)630 778 y(compat40)630
888 y(compat41)630 998 y(compat42)630 1107 y(compat43)630
1217 y(compat44)96 b Fu(These)39 b(con)m(trol)i(asp)s(ects)f(of)f(the)h
2929 y(hostname)d(completion)h(when)e(a)h(w)m(ord)f(con)m(taining)i(a)f
(`)p Ft(@)p Fu(')g(is)g(b)s(eing)f(com-)1110 3039 y(pleted)g(\(see)h
(Section)f(8.4.6)i([Commands)d(F)-8 b(or)36 b(Completion],)g(page)g
-(150\).)1110 3148 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)
+(151\).)1110 3148 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)
630 3324 y Ft(huponexit)1110 3433 y Fu(If)i(set,)i(Bash)f(will)h(send)d
Ft(SIGHUP)h Fu(to)h(all)h(jobs)e(when)g(an)g(in)m(teractiv)m(e)k(login)
1110 3543 y(shell)31 b(exits)g(\(see)g(Section)g(3.7.6)h([Signals],)g
b(option)g(is)h(enabled)f(b)m(y)g(default.)630 5121 y
Ft(progcomp)96 b Fu(If)81 b(set,)94 b(enable)82 b(the)f(programmable)g
(completion)i(facilities)g(\(see)1110 5230 y(Section)31
-b(8.6)f([Programmable)h(Completion],)g(page)f(155\).)43
+b(8.6)f([Programmable)h(Completion],)g(page)f(156\).)43
b(This)29 b(option)h(is)1110 5340 y(enabled)g(b)m(y)h(default.)p
eop end
%%Page: 82 88
(di\013eren)m(t)g(c)m(hapters:)38 b(v)-5 b(ariables)25
b(for)f(con)m(trolling)150 806 y(the)31 b(job)f(con)m(trol)h
(facilities)i(\(see)e(Section)g(7.3)h([Job)e(Con)m(trol)h(V)-8
-b(ariables],)32 b(page)g(126\).)150 952 y Ft(_)432 b
+b(ariables],)32 b(page)g(127\).)150 952 y Ft(_)432 b
Fu(\($)p 716 952 28 4 v 41 w(,)30 b(an)f(underscore.\))40
b(This)28 b(has)h(a)h(n)m(um)m(b)s(er)e(of)h(meanings)h(dep)s(ending)e
(on)h(con)m(text.)42 b(A)m(t)630 1062 y(shell)d(startup,)h($)p
b(v)-5 b(ariable)41 b(is)f(a)m(v)-5 b(ailable)43 b(only)e(in)f(shell)h
(functions)f(in)m(v)m(ok)m(ed)i(b)m(y)e(the)h(pro-)630
4244 y(grammable)36 b(completion)g(facilities)i(\(see)e(Section)g(8.6)g
-([Programmable)g(Completion],)630 4354 y(page)31 b(155\).)150
+([Programmable)g(Completion],)630 4354 y(page)31 b(156\).)150
4518 y Ft(COMP_KEY)96 b Fu(The)38 b(k)m(ey)i(\(or)g(\014nal)e(k)m(ey)i
(of)f(a)h(k)m(ey)f(sequence\))h(used)e(to)i(in)m(v)m(ok)m(e)h(the)e
(curren)m(t)g(comple-)630 4628 y(tion)h(function.)70
b(only)e(in)g(shell)g(functions)g(and)f(external)630
4737 y(commands)32 b(in)m(v)m(ok)m(ed)i(b)m(y)e(the)g(programmable)h
(completion)g(facilities)i(\(see)e(Section)g(8.6)630
-4847 y([Programmable)e(Completion],)h(page)f(155\).)150
+4847 y([Programmable)e(Completion],)h(page)f(156\).)150
5011 y Ft(COMP_LINE)630 5121 y Fu(The)38 b(curren)m(t)h(command)f
(line.)66 b(This)37 b(v)-5 b(ariable)40 b(is)f(a)m(v)-5
b(ailable)41 b(only)d(in)h(shell)f(functions)630 5230
y(and)25 b(external)h(commands)f(in)m(v)m(ok)m(ed)h(b)m(y)f(the)h
(programmable)f(completion)i(facilities)g(\(see)630 5340
-y(Section)k(8.6)h([Programmable)f(Completion],)g(page)g(155\).)p
+y(Section)k(8.6)h([Programmable)f(Completion],)g(page)g(156\).)p
eop end
%%Page: 89 95
TeXDict begin 89 94 bop 150 -116 a Fu(Chapter)30 b(5:)41
y(only)36 b(in)f(shell)h(functions)f(and)g(external)h(commands)g(in)m
(v)m(ok)m(ed)h(b)m(y)e(the)h(programmable)630 847 y(completion)c
(facilities)g(\(see)g(Section)f(8.6)g([Programmable)g(Completion],)h
-(page)f(155\).)150 998 y Ft(COMP_TYPE)630 1107 y Fu(Set)c(to)h(an)f(in)
+(page)f(156\).)150 998 y Ft(COMP_TYPE)630 1107 y Fu(Set)c(to)h(an)f(in)
m(teger)h(v)-5 b(alue)28 b(corresp)s(onding)e(to)h(the)h(t)m(yp)s(e)f
(of)g(attempted)h(completion)g(that)630 1217 y(caused)j(a)g(completion)
h(function)e(to)h(b)s(e)f(called:)43 b Ft(TAB)p Fu(,)30
b(only)f(in)f(shell)g(functions)g(and)g(external)630
1655 y(commands)32 b(in)m(v)m(ok)m(ed)i(b)m(y)e(the)g(programmable)h
(completion)g(facilities)i(\(see)e(Section)g(8.6)630
-1765 y([Programmable)e(Completion],)h(page)f(155\).)150
+1765 y([Programmable)e(Completion],)h(page)f(156\).)150
1915 y Ft(COMP_WORDBREAKS)630 2025 y Fu(The)e(set)i(of)e(c)m(haracters)
j(that)e(the)g(Readline)g(library)g(treats)g(as)g(w)m(ord)g(separators)
g(when)630 2134 y(p)s(erforming)i(w)m(ord)h(completion.)51
b(This)36 b(v)-5 b(ariable)37 b(is)f(a)m(v)-5 b(ailable)39
b(only)e(in)f(shell)h(func-)630 2833 y(tions)32 b(in)m(v)m(ok)m(ed)i(b)
m(y)d(the)i(programmable)f(completion)h(facilities)h(\(see)f(Section)g
-(8.6)g([Pro-)630 2943 y(grammable)e(Completion],)g(page)g(155\).)150
+(8.6)g([Pro-)630 2943 y(grammable)e(Completion],)g(page)g(156\).)150
3093 y Ft(COMPREPLY)630 3203 y Fu(An)37 b(arra)m(y)h(v)-5
b(ariable)38 b(from)f(whic)m(h)g(Bash)g(reads)g(the)h(p)s(ossible)e
(completions)j(generated)630 3313 y(b)m(y)33 b(a)g(shell)h(function)f
(in)m(v)m(ok)m(ed)h(b)m(y)f(the)g(programmable)h(completion)g(facilit)m
(y)h(\(see)f(Sec-)630 3422 y(tion)g(8.6)g([Programmable)g(Completion],)
-h(page)f(155\).)51 b(Eac)m(h)34 b(arra)m(y)g(elemen)m(t)h(con)m(tains)
+h(page)f(156\).)51 b(Eac)m(h)34 b(arra)m(y)g(elemen)m(t)h(con)m(tains)
630 3532 y(one)c(p)s(ossible)f(completion.)150 3682 y
Ft(COPROC)192 b Fu(An)27 b(arra)m(y)g(v)-5 b(ariable)28
b(created)g(to)f(hold)g(the)g(\014le)g(descriptors)g(for)g(output)f
3608 y Fu(Up)c(to)g(three)g(c)m(haracters)i(whic)m(h)d(con)m(trol)j
(history)d(expansion,)i(quic)m(k)g(substitution,)g(and)630
3718 y(tok)m(enization)k(\(see)f(Section)f(9.3)h([History)f(In)m
-(teraction],)i(page)f(167\).)41 b(The)29 b(\014rst)e(c)m(harac-)630
+(teraction],)i(page)f(168\).)41 b(The)29 b(\014rst)e(c)m(harac-)630
3828 y(ter)j(is)f(the)g Fr(history)g(expansion)g Fu(c)m(haracter,)j
(that)e(is,)f(the)h(c)m(haracter)h(whic)m(h)d(signi\014es)i(the)630
3937 y(start)25 b(of)f(a)h(history)f(expansion,)i(normally)e(`)p
3765 y Ft(--login)144 b Fu(Equiv)-5 b(alen)m(t)31 b(to)g
Ft(-l)p Fu(.)150 3912 y Ft(--noediting)630 4022 y Fu(Do)h(not)e(use)h
(the)g Fm(gnu)f Fu(Readline)i(library)e(\(see)h(Chapter)g(8)g([Command)
-f(Line)g(Editing],)630 4131 y(page)h(127\))h(to)f(read)g(command)f
+f(Line)g(Editing],)630 4131 y(page)h(128\))h(to)f(read)g(command)f
(lines)g(when)g(the)g(shell)h(is)f(in)m(teractiv)m(e.)150
4278 y Ft(--noprofile)630 4388 y Fu(Don't)22 b(load)g(the)g
(system-wide)f(startup)g(\014le)h Ft(/etc/profile)c Fu(or)j(an)m(y)h
(trolling)i(the)d(Prompt],)i(page)g(111,)h(for)d(a)h(complete)i(list)e
(of)g(prompt)330 4759 y(string)30 b(escap)s(e)h(sequences.)199
4885 y(5.)61 b(Bash)34 b(uses)g(Readline)h(\(see)g(Chapter)f(8)h
-([Command)e(Line)h(Editing],)i(page)f(127\))h(to)f(read)f(com-)330
+([Command)e(Line)h(Editing],)i(page)f(128\))h(to)f(read)f(com-)330
4995 y(mands)29 b(from)h(the)h(user's)f(terminal.)199
5121 y(6.)61 b(Bash)36 b(insp)s(ects)g(the)h(v)-5 b(alue)37
b(of)f(the)g Ft(ignoreeof)e Fu(option)j(to)g Ft(set)29
TeXDict begin 103 108 bop 150 -116 a Fu(Chapter)30 b(6:)41
b(Bash)30 b(F)-8 b(eatures)2439 b(103)199 299 y(7.)61
b(Bash)23 b(enables)h(Command)e(history)h(\(see)h(Section)g(9.1)g
-([Bash)g(History)g(F)-8 b(acilities],)28 b(page)c(164\))h(and)330
+([Bash)g(History)g(F)-8 b(acilities],)28 b(page)c(165\))h(and)330
408 y(history)k(expansion)g(\(see)i(Section)f(9.3)g([History)g(In)m
-(teraction],)i(page)e(167\))h(b)m(y)e(default.)40 b(When)30
+(teraction],)i(page)e(168\))h(b)m(y)e(default.)40 b(When)30
b(a)330 518 y(shell)g(with)f(history)g(enabled)h(exits,)g(Bash)g(sa)m
(v)m(es)h(the)f(command)f(history)g(to)i(the)e(\014le)h(named)f(b)m(y)
330 628 y Ft($HISTFILE)p Fu(.)199 760 y(8.)61 b(Alias)31
Fu(is)23 b(less)h(than)g(or)f(equal)h(to)h(36,)h(lo)m(w)m(ercase)g(and)
d(upp)s(ercase)150 518 y(letters)32 b(ma)m(y)f(b)s(e)e(used)h(in)m
(terc)m(hangeably)i(to)f(represen)m(t)g(n)m(um)m(b)s(ers)e(b)s(et)m(w)m
-(een)i(10)g(and)f(35.)275 677 y(Op)s(erators)g(are)i(ev)-5
+(een)i(10)g(and)f(35.)275 656 y(Op)s(erators)g(are)i(ev)-5
b(aluated)33 b(in)e(precedence)h(order.)44 b(Sub-expressions)29
-b(in)j(paren)m(theses)f(are)h(ev)-5 b(alu-)150 786 y(ated)31
+b(in)j(paren)m(theses)f(are)h(ev)-5 b(alu-)150 765 y(ated)31
b(\014rst)f(and)f(ma)m(y)i(o)m(v)m(erride)h(the)e(precedence)h(rules)f
-(ab)s(o)m(v)m(e.)150 1063 y Fs(6.6)68 b(Aliases)150 1222
+(ab)s(o)m(v)m(e.)150 1011 y Fs(6.6)68 b(Aliases)150 1170
y Fr(Aliases)31 b Fu(allo)m(w)d(a)f(string)f(to)i(b)s(e)d(substituted)h
(for)g(a)h(w)m(ord)f(that)h(is)g(in)f(a)h(p)s(osition)f(in)g(the)h
-(input)e(where)h(it)150 1332 y(can)33 b(b)s(e)e(the)i(\014rst)f(w)m
+(input)e(where)h(it)150 1280 y(can)33 b(b)s(e)e(the)i(\014rst)f(w)m
(ord)g(of)g(a)h(simple)f(command.)47 b(Aliases)34 b(ha)m(v)m(e)f(names)
-f(and)g(corresp)s(onding)g(v)-5 b(alues)150 1442 y(that)25
+f(and)g(corresp)s(onding)g(v)-5 b(alues)150 1389 y(that)25
b(are)g(set)g(and)f(unset)g(using)g(the)h Ft(alias)e
Fu(and)h Ft(unalias)f Fu(builtin)h(commands)g(\(see)i(Chapter)e(4)h
-([Shell)150 1551 y(Builtin)31 b(Commands],)f(page)h(50\).)275
-1710 y(If)g(the)g(shell)h(reads)f(an)g(unquoted)g(w)m(ord)g(in)g(the)h
+([Shell)150 1499 y(Builtin)31 b(Commands],)f(page)h(50\).)275
+1637 y(If)g(the)g(shell)h(reads)f(an)g(unquoted)g(w)m(ord)g(in)g(the)h
(righ)m(t)g(p)s(osition,)g(it)g(c)m(hec)m(ks)h(the)f(w)m(ord)f(to)h
-(see)g(if)f(it)150 1819 y(matc)m(hes)h(an)f(alias)h(name.)43
+(see)g(if)f(it)150 1746 y(matc)m(hes)h(an)f(alias)h(name.)43
b(If)30 b(it)i(matc)m(hes,)g(the)f(shell)g(replaces)h(the)f(w)m(ord)g
-(with)f(the)i(alias)g(v)-5 b(alue,)32 b(and)150 1929
+(with)f(the)i(alias)g(v)-5 b(alue,)32 b(and)150 1856
y(reads)h(that)h(v)-5 b(alue)33 b(as)h(if)f(it)h(had)e(b)s(een)h(read)g
(instead)g(of)h(the)f(w)m(ord.)49 b(The)33 b(shell)g(do)s(esn't)g(lo)s
-(ok)h(at)g(an)m(y)150 2038 y(c)m(haracters)e(follo)m(wing)g(the)e(w)m
+(ok)h(at)g(an)m(y)150 1965 y(c)m(haracters)e(follo)m(wing)g(the)e(w)m
(ord)g(b)s(efore)g(attempting)i(alias)f(substitution.)275
-2197 y(The)d(c)m(haracters)i(`)p Ft(/)p Fu(',)f(`)p Ft($)p
+2103 y(The)d(c)m(haracters)i(`)p Ft(/)p Fu(',)f(`)p Ft($)p
Fu(',)g(`)p Ft(`)p Fu(',)g(`)p Ft(=)p Fu(')g(and)f(an)m(y)h(of)g(the)f
(shell)h(metac)m(haracters)i(or)e(quoting)f(c)m(haracters)150
-2307 y(listed)g(ab)s(o)m(v)m(e)h(ma)m(y)f(not)g(app)s(ear)f(in)g(an)g
+2213 y(listed)g(ab)s(o)m(v)m(e)h(ma)m(y)f(not)g(app)s(ear)f(in)g(an)g
(alias)i(name.)40 b(The)27 b(replacemen)m(t)i(text)g(ma)m(y)f(con)m
-(tain)h(an)m(y)f(v)-5 b(alid)150 2416 y(shell)28 b(input,)g(including)g
+(tain)h(an)m(y)f(v)-5 b(alid)150 2322 y(shell)28 b(input,)g(including)g
(shell)g(metac)m(haracters.)42 b(The)28 b(\014rst)f(w)m(ord)h(of)g(the)
-g(replacemen)m(t)i(text)f(is)f(tested)150 2526 y(for)e(aliases,)j(but)d
+g(replacemen)m(t)i(text)f(is)f(tested)150 2432 y(for)e(aliases,)j(but)d
(a)h(w)m(ord)f(that)h(is)g(iden)m(tical)h(to)f(an)g(alias)g(b)s(eing)f
-(expanded)g(is)h(not)f(expanded)g(a)h(second)150 2635
+(expanded)g(is)h(not)f(expanded)g(a)h(second)150 2541
y(time.)41 b(This)28 b(means)h(that)g(one)g(ma)m(y)h(alias)g
Ft(ls)e Fu(to)i Ft("ls)f(-F")p Fu(,)g(for)f(instance,)j(and)d(Bash)h
-(do)s(es)f(not)h(try)g(to)150 2745 y(recursiv)m(ely)i(expand)f(the)g
-(replacemen)m(t)i(text.)275 2903 y(If)23 b(the)i(last)g(c)m(haracter)h
+(do)s(es)f(not)h(try)g(to)150 2651 y(recursiv)m(ely)i(expand)f(the)g
+(replacemen)m(t)i(text.)275 2789 y(If)23 b(the)i(last)g(c)m(haracter)h
(of)e(the)h(alias)g(v)-5 b(alue)25 b(is)f(a)h Ft(blank)p
Fu(,)f(then)g(the)h(shell)f(c)m(hec)m(ks)i(the)f(next)f(command)150
-3013 y(w)m(ord)30 b(follo)m(wing)i(the)e(alias)i(for)e(alias)i
-(expansion.)275 3172 y(Aliases)d(are)f(created)i(and)d(listed)i(with)f
+2898 y(w)m(ord)30 b(follo)m(wing)i(the)e(alias)i(for)e(alias)i
+(expansion.)275 3036 y(Aliases)d(are)f(created)i(and)d(listed)i(with)f
(the)g Ft(alias)f Fu(command,)h(and)g(remo)m(v)m(ed)h(with)f(the)g
-Ft(unalias)150 3281 y Fu(command.)275 3440 y(There)44
+Ft(unalias)150 3146 y Fu(command.)275 3283 y(There)44
b(is)h(no)g(mec)m(hanism)g(for)f(using)h(argumen)m(ts)g(in)f(the)h
(replacemen)m(t)i(text,)i(as)d(in)e Ft(csh)p Fu(.)83
-b(If)150 3549 y(argumen)m(ts)44 b(are)g(needed,)j(use)d(a)g(shell)g
+b(If)150 3393 y(argumen)m(ts)44 b(are)g(needed,)j(use)d(a)g(shell)g
(function)g(\(see)g(Section)h(3.3)g([Shell)f(F)-8 b(unctions],)48
-b(page)d(19\))150 3659 y(instead.)275 3817 y(Aliases)33
+b(page)d(19\))150 3502 y(instead.)275 3640 y(Aliases)33
b(are)h(not)e(expanded)g(when)g(the)h(shell)g(is)g(not)g(in)m(teractiv)
-m(e,)j(unless)c(the)h Ft(expand_aliases)150 3927 y Fu(shell)e(option)f
+m(e,)j(unless)c(the)h Ft(expand_aliases)150 3750 y Fu(shell)e(option)f
(is)h(set)g(using)f Ft(shopt)f Fu(\(see)i(Section)g(4.3.2)h([The)e
-(Shopt)g(Builtin],)h(page)g(76\).)275 4086 y(The)38 b(rules)h
+(Shopt)g(Builtin],)h(page)g(76\).)275 3887 y(The)38 b(rules)h
(concerning)h(the)f(de\014nition)g(and)g(use)g(of)g(aliases)i(are)e
-(somewhat)h(confusing.)67 b(Bash)150 4195 y(alw)m(a)m(ys)37
+(somewhat)h(confusing.)67 b(Bash)150 3997 y(alw)m(a)m(ys)37
b(reads)f(at)h(least)g(one)f(complete)i(line)e(of)g(input,)h(and)e(all)
-i(lines)f(that)g(mak)m(e)h(up)e(a)h(comp)s(ound)150 4305
+i(lines)f(that)g(mak)m(e)h(up)e(a)h(comp)s(ound)150 4106
y(command,)29 b(b)s(efore)g(executing)i(an)m(y)e(of)h(the)f(commands)g
(on)g(that)h(line)f(or)h(the)f(comp)s(ound)f(command.)150
-4414 y(Aliases)g(are)g(expanded)e(when)g(a)i(command)f(is)g(read,)h
+4216 y(Aliases)g(are)g(expanded)e(when)g(a)i(command)f(is)g(read,)h
(not)f(when)f(it)i(is)f(executed.)41 b(Therefore,)28
-b(an)f(alias)150 4524 y(de\014nition)36 b(app)s(earing)h(on)f(the)h
-(same)g(line)g(as)g(another)g(command)f(do)s(es)g(not)h(tak)m(e)i
-(e\013ect)f(un)m(til)f(the)150 4633 y(shell)30 b(reads)f(the)g(next)h
-(line)g(of)f(input.)40 b(The)29 b(commands)g(follo)m(wing)i(the)e
-(alias)i(de\014nition)e(on)h(that)g(line)150 4743 y(are)24
-b(not)f(a\013ected)h(b)m(y)f(the)h(new)e(alias.)40 b(This)22
-b(b)s(eha)m(vior)h(is)h(also)g(an)f(issue)g(when)f(functions)g(are)i
-(executed.)150 4853 y(Aliases)29 b(are)g(expanded)e(when)g(a)i
-(function)e(de\014nition)h(is)g(read,)h(not)f(when)g(the)g(function)g
-(is)g(executed,)150 4962 y(b)s(ecause)36 b(a)h(function)f(de\014nition)
-f(is)i(itself)g(a)f(command.)58 b(As)36 b(a)h(consequence,)h(aliases)g
-(de\014ned)d(in)h(a)150 5072 y(function)28 b(are)h(not)g(a)m(v)-5
-b(ailable)31 b(un)m(til)e(after)g(that)g(function)f(is)g(executed.)41
+b(an)f(alias)150 4326 y(de\014nition)22 b(app)s(earing)g(on)g(the)h
+(same)g(line)f(as)h(another)g(command)f(do)s(es)g(not)h(tak)m(e)h
+(e\013ect)f(un)m(til)g(the)g(shell)150 4435 y(reads)28
+b(the)h(next)g(line)g(of)g(input,)f(and)g(an)g(alias)i(de\014nition)e
+(in)h(a)g(comp)s(ound)e(command)h(do)s(es)g(not)h(tak)m(e)150
+4545 y(e\013ect)36 b(un)m(til)f(the)g(shell)g(parses)f(and)g(executes)i
+(the)e(en)m(tire)i(comp)s(ound)d(command.)53 b(The)34
+b(commands)150 4654 y(follo)m(wing)44 b(the)f(alias)i(de\014nition)d
+(on)h(that)g(line,)k(or)c(in)g(the)g(rest)g(of)g(a)g(comp)s(ound)e
+(command,)47 b(are)150 4764 y(not)33 b(a\013ected)h(b)m(y)f(the)g(new)f
+(alias.)49 b(This)32 b(b)s(eha)m(vior)h(is)g(also)g(an)g(issue)g(when)e
+(functions)i(are)g(executed.)150 4874 y(Aliases)c(are)g(expanded)e
+(when)g(a)i(function)e(de\014nition)h(is)g(read,)h(not)f(when)g(the)g
+(function)g(is)g(executed,)150 4983 y(b)s(ecause)36 b(a)h(function)f
+(de\014nition)f(is)i(itself)g(a)f(command.)58 b(As)36
+b(a)h(consequence,)h(aliases)g(de\014ned)d(in)h(a)150
+5093 y(function)28 b(are)h(not)g(a)m(v)-5 b(ailable)31
+b(un)m(til)e(after)g(that)g(function)f(is)g(executed.)41
b(T)-8 b(o)29 b(b)s(e)f(safe,)i(alw)m(a)m(ys)g(put)e(alias)150
-5181 y(de\014nitions)i(on)g(a)h(separate)g(line,)g(and)f(do)g(not)h
+5202 y(de\014nitions)i(on)g(a)h(separate)g(line,)g(and)f(do)g(not)h
(use)f Ft(alias)f Fu(in)h(comp)s(ound)f(commands.)275
5340 y(F)-8 b(or)31 b(almost)g(ev)m(ery)g(purp)s(ose,)e(shell)i
(functions)f(are)g(preferred)g(o)m(v)m(er)h(aliases.)p
y(of)h(a)f(command)h(is)f(its)h(p)s(osition)f(in)g(the)h(history)f
(list,)i(whic)m(h)f(ma)m(y)g(include)f(commands)g(restored)g(from)150
5340 y(the)39 b(history)h(\014le)f(\(see)h(Section)g(9.1)h([Bash)e
-(History)h(F)-8 b(acilities],)45 b(page)40 b(164\),)j(while)d(the)f
+(History)h(F)-8 b(acilities],)45 b(page)40 b(165\),)j(while)d(the)f
(command)p eop end
%%Page: 113 119
TeXDict begin 113 118 bop 150 -116 a Fu(Chapter)30 b(6:)41
Fm(posix)p Fu(-conforman)m(t)g(b)m(y)g(default,)h(b)m(y)f(sp)s
(ecifying)g(the)g Ft(--enable-)150 1460 y(strict-posix-default)c
Fu(to)27 b Ft(configure)e Fu(when)h(building)h(\(see)h(Section)g(10.8)g
-([Optional)g(F)-8 b(eatures],)150 1570 y(page)31 b(174\).)150
+([Optional)g(F)-8 b(eatures],)150 1570 y(page)31 b(175\).)150
1819 y Fs(6.12)68 b(Shell)46 b(Compatibilit)l(y)h(Mo)t(de)150
1978 y Fu(Bash-4.0)33 b(in)m(tro)s(duced)f(the)f(concept)i(of)f(a)g
Fr(shell)g(compatibilit)m(y)i(lev)m(el)p Fu(,)g(sp)s(eci\014ed)d(as)h
(execution)i(completes.)p eop end
%%Page: 123 129
TeXDict begin 123 128 bop 3614 -116 a Fu(123)150 299
-y Fp(7)80 b(Job)54 b(Con)l(trol)150 518 y Fu(This)25
+y Fp(7)80 b(Job)54 b(Con)l(trol)150 551 y Fu(This)25
b(c)m(hapter)i(discusses)f(what)g(job)f(con)m(trol)j(is,)f(ho)m(w)f(it)
h(w)m(orks,)g(and)f(ho)m(w)g(Bash)g(allo)m(ws)h(y)m(ou)g(to)g(access)
-150 628 y(its)k(facilities.)150 863 y Fs(7.1)68 b(Job)45
-b(Con)l(trol)h(Basics)150 1022 y Fu(Job)27 b(con)m(trol)i(refers)e(to)h
+150 660 y(its)k(facilities.)150 910 y Fs(7.1)68 b(Job)45
+b(Con)l(trol)h(Basics)150 1069 y Fu(Job)27 b(con)m(trol)i(refers)e(to)h
(the)g(abilit)m(y)h(to)f(selectiv)m(ely)j(stop)c(\(susp)s(end\))f(the)i
-(execution)h(of)e(pro)s(cesses)h(and)150 1132 y(con)m(tin)m(ue)38
+(execution)h(of)e(pro)s(cesses)h(and)150 1179 y(con)m(tin)m(ue)38
b(\(resume\))g(their)f(execution)h(at)g(a)g(later)g(p)s(oin)m(t.)61
b(A)37 b(user)g(t)m(ypically)i(emplo)m(ys)f(this)f(facilit)m(y)150
-1241 y(via)27 b(an)e(in)m(teractiv)m(e)k(in)m(terface)f(supplied)d
+1289 y(via)27 b(an)e(in)m(teractiv)m(e)k(in)m(terface)f(supplied)d
(join)m(tly)h(b)m(y)g(the)h(op)s(erating)f(system)g(k)m(ernel's)h
-(terminal)f(driv)m(er)150 1351 y(and)k(Bash.)275 1482
+(terminal)f(driv)m(er)150 1398 y(and)k(Bash.)275 1539
y(The)23 b(shell)i(asso)s(ciates)h(a)f Fr(job)h Fu(with)e(eac)m(h)i
(pip)s(eline.)38 b(It)25 b(k)m(eeps)f(a)h(table)h(of)e(curren)m(tly)h
-(executing)g(jobs,)150 1592 y(whic)m(h)33 b(ma)m(y)i(b)s(e)e(listed)h
-(with)f(the)h Ft(jobs)f Fu(command.)50 b(When)33 b(Bash)h(starts)g(a)g
-(job)g(async)m(hronously)-8 b(,)34 b(it)150 1701 y(prin)m(ts)c(a)h
-(line)f(that)h(lo)s(oks)g(lik)m(e:)390 1833 y Ft([1])47
-b(25647)150 1965 y Fu(indicating)34 b(that)g(this)f(job)g(is)g(job)g(n)
-m(um)m(b)s(er)f(1)i(and)f(that)g(the)h(pro)s(cess)f Fm(id)g
-Fu(of)g(the)h(last)g(pro)s(cess)f(in)g(the)150 2074 y(pip)s(eline)42
-b(asso)s(ciated)i(with)e(this)g(job)g(is)h(25647.)78
-b(All)43 b(of)g(the)g(pro)s(cesses)f(in)g(a)h(single)g(pip)s(eline)f
-(are)150 2184 y(mem)m(b)s(ers)30 b(of)g(the)h(same)f(job.)41
+(executing)g(jobs,)150 1648 y(whic)m(h)37 b(the)h Ft(jobs)e
+Fu(command)i(will)f(displa)m(y)-8 b(.)63 b(Eac)m(h)38
+b(job)g(has)f(a)h Fr(job)f(n)m(um)m(b)s(er)p Fu(,)h(whic)m(h)f
+Ft(jobs)g Fu(displa)m(ys)150 1758 y(b)s(et)m(w)m(een)25
+b(brac)m(k)m(ets.)40 b(Job)25 b(n)m(um)m(b)s(ers)e(start)i(at)g(1.)39
+b(When)24 b(Bash)h(starts)g(a)g(job)f(async)m(hronously)-8
+b(,)26 b(it)f(prin)m(ts)150 1867 y(a)31 b(line)f(that)h(lo)s(oks)g(lik)
+m(e:)390 2008 y Ft([1])47 b(25647)150 2148 y Fu(indicating)34
+b(that)g(this)f(job)g(is)g(job)g(n)m(um)m(b)s(er)f(1)i(and)f(that)g
+(the)h(pro)s(cess)f Fm(id)g Fu(of)g(the)h(last)g(pro)s(cess)f(in)g(the)
+150 2258 y(pip)s(eline)42 b(asso)s(ciated)i(with)e(this)g(job)g(is)h
+(25647.)78 b(All)43 b(of)g(the)g(pro)s(cesses)f(in)g(a)h(single)g(pip)s
+(eline)f(are)150 2367 y(mem)m(b)s(ers)30 b(of)g(the)h(same)f(job.)41
b(Bash)30 b(uses)g(the)h Fr(job)h Fu(abstraction)f(as)g(the)g(basis)f
-(for)g(job)g(con)m(trol.)275 2315 y(T)-8 b(o)23 b(facilitate)j(the)d
-(implemen)m(tation)i(of)f(the)f(user)f(in)m(terface)j(to)f(job)f(con)m
-(trol,)j(the)d(op)s(erating)h(system)150 2425 y(main)m(tains)j(the)f
-(notion)h(of)f(a)g(curren)m(t)g(terminal)g(pro)s(cess)g(group)g
-Fm(id)p Fu(.)39 b(Mem)m(b)s(ers)26 b(of)g(this)g(pro)s(cess)f(group)150
-2534 y(\(pro)s(cesses)h(whose)g(pro)s(cess)g(group)g
-Fm(id)g Fu(is)h(equal)g(to)g(the)f(curren)m(t)g(terminal)h(pro)s(cess)f
-(group)f Fm(id)p Fu(\))i(receiv)m(e)150 2644 y(k)m(eyb)s
-(oard-generated)22 b(signals)g(suc)m(h)e(as)h Ft(SIGINT)p
-Fu(.)36 b(These)21 b(pro)s(cesses)g(are)g(said)g(to)g(b)s(e)g(in)f(the)
-h(foreground.)150 2754 y(Bac)m(kground)38 b(pro)s(cesses)f(are)h(those)
-g(whose)f(pro)s(cess)g(group)g Fm(id)h Fu(di\013ers)f(from)g(the)g
-(terminal's;)42 b(suc)m(h)150 2863 y(pro)s(cesses)24
-b(are)g(imm)m(une)g(to)g(k)m(eyb)s(oard-generated)h(signals.)40
-b(Only)23 b(foreground)g(pro)s(cesses)h(are)g(allo)m(w)m(ed)150
-2973 y(to)g(read)e(from)h(or,)h(if)f(the)g(user)f(so)i(sp)s(eci\014es)e
-(with)h Ft(stty)29 b(tostop)p Fu(,)23 b(write)g(to)g(the)h(terminal.)38
-b(Bac)m(kground)150 3082 y(pro)s(cesses)32 b(whic)m(h)f(attempt)i(to)g
-(read)f(from)f(\(write)h(to)h(when)e Ft(tostop)f Fu(is)i(in)f
-(e\013ect\))j(the)e(terminal)h(are)150 3192 y(sen)m(t)44
-b(a)h Ft(SIGTTIN)c Fu(\()p Ft(SIGTTOU)p Fu(\))i(signal)i(b)m(y)e(the)h
-(k)m(ernel's)h(terminal)f(driv)m(er,)j(whic)m(h,)g(unless)d(caugh)m(t,)
-150 3302 y(susp)s(ends)28 b(the)i(pro)s(cess.)275 3433
-y(If)k(the)i(op)s(erating)g(system)f(on)h(whic)m(h)f(Bash)g(is)h
-(running)d(supp)s(orts)h(job)h(con)m(trol,)j(Bash)e(con)m(tains)150
-3543 y(facilities)30 b(to)f(use)f(it.)40 b(T)m(yping)28
+(for)g(job)g(con)m(trol.)275 2508 y(T)-8 b(o)37 b(facilitate)j(the)d
+(implemen)m(tation)i(of)e(the)g(user)g(in)m(terface)h(to)g(job)f(con)m
+(trol,)j(eac)m(h)f(pro)s(cess)d(has)150 2617 y(a)h Fr(pro)s(cess)e
+(group)h Fm(id)p Fu(,)i(and)d(the)i(op)s(erating)f(system)h(main)m
+(tains)g(the)f(notion)h(of)f(a)g(curren)m(t)g(terminal)150
+2727 y(pro)s(cess)28 b(group)g Fm(id)p Fu(.)41 b(Pro)s(cesses)28
+b(that)i(ha)m(v)m(e)f(the)g(same)g(pro)s(cess)g(group)f(ID)g(are)h
+(said)g(to)g(b)s(e)f(part)h(of)g(the)150 2837 y(same)38
+b Fr(pro)s(cess)f(group)p Fu(.)62 b(Mem)m(b)s(ers)38
+b(of)f(the)h(foreground)f(pro)s(cess)g(group)g(\(pro)s(cesses)h(whose)f
+(pro)s(cess)150 2946 y(group)28 b Fm(id)h Fu(is)g(equal)h(to)f(the)g
+(curren)m(t)g(terminal)g(pro)s(cess)g(group)f Fm(id)p
+Fu(\))h(receiv)m(e)i(k)m(eyb)s(oard-generated)f(sig-)150
+3056 y(nals)j(suc)m(h)g(as)g Ft(SIGINT)p Fu(.)47 b(Pro)s(cesses)33
+b(in)g(the)h(foreground)e(pro)s(cess)g(group)h(are)g(said)g(to)h(b)s(e)
+f(foreground)150 3165 y(pro)s(cesses.)50 b(Bac)m(kground)34
+b(pro)s(cesses)f(are)h(those)f(whose)h(pro)s(cess)f(group)f
+Fm(id)i Fu(di\013ers)f(from)g(the)g(termi-)150 3275 y(nal's;)c(suc)m(h)
+e(pro)s(cesses)g(are)g(imm)m(une)g(to)h(k)m(eyb)s(oard-generated)h
+(signals.)40 b(Only)27 b(foreground)f(pro)s(cesses)150
+3384 y(are)h(allo)m(w)m(ed)h(to)f(read)f(from)f(or,)j(if)e(the)g(user)g
+(so)g(sp)s(eci\014es)g(with)g Ft(stty)j(tostop)p Fu(,)c(write)i(to)g
+(the)f(terminal.)150 3494 y(Bac)m(kground)33 b(pro)s(cesses)g(whic)m(h)
+g(attempt)g(to)h(read)f(from)f(\(write)h(to)h(when)e
+Ft(tostop)f Fu(is)i(in)f(e\013ect\))j(the)150 3604 y(terminal)29
+b(are)f(sen)m(t)h(a)g Ft(SIGTTIN)d Fu(\()p Ft(SIGTTOU)p
+Fu(\))h(signal)i(b)m(y)f(the)h(k)m(ernel's)g(terminal)f(driv)m(er,)h
+(whic)m(h,)g(unless)150 3713 y(caugh)m(t,)j(susp)s(ends)c(the)i(pro)s
+(cess.)275 3854 y(If)k(the)i(op)s(erating)g(system)f(on)h(whic)m(h)f
+(Bash)g(is)h(running)d(supp)s(orts)h(job)h(con)m(trol,)j(Bash)e(con)m
+(tains)150 3963 y(facilities)30 b(to)f(use)f(it.)40 b(T)m(yping)28
b(the)g Fr(susp)s(end)h Fu(c)m(haracter)h(\(t)m(ypically)g(`)p
Ft(^Z)p Fu(',)f(Con)m(trol-Z\))g(while)f(a)g(pro)s(cess)150
-3652 y(is)42 b(running)f(causes)i(that)g(pro)s(cess)f(to)h(b)s(e)f
-(stopp)s(ed)f(and)h(returns)f(con)m(trol)j(to)f(Bash.)77
-b(T)m(yping)42 b(the)150 3762 y Fr(dela)m(y)m(ed)k(susp)s(end)f
-Fu(c)m(haracter)h(\(t)m(ypically)g(`)p Ft(^Y)p Fu(',)i(Con)m(trol-Y\))e
-(causes)e(the)h(pro)s(cess)e(to)i(b)s(e)f(stopp)s(ed)150
-3871 y(when)26 b(it)i(attempts)h(to)f(read)f(input)g(from)f(the)i
-(terminal,)h(and)e(con)m(trol)h(to)g(b)s(e)f(returned)f(to)j(Bash.)39
-b(The)150 3981 y(user)e(then)g(manipulates)h(the)g(state)h(of)f(this)f
-(job,)j(using)d(the)h Ft(bg)f Fu(command)g(to)h(con)m(tin)m(ue)h(it)f
-(in)g(the)150 4091 y(bac)m(kground,)g(the)f Ft(fg)g Fu(command)f(to)i
-(con)m(tin)m(ue)g(it)f(in)f(the)h(foreground,)h(or)f(the)g
-Ft(kill)f Fu(command)g(to)150 4200 y(kill)27 b(it.)40
-b(A)27 b(`)p Ft(^Z)p Fu(')g(tak)m(es)h(e\013ect)g(immediately)-8
-b(,)29 b(and)d(has)h(the)f(additional)i(side)e(e\013ect)j(of)d(causing)
-h(p)s(ending)150 4310 y(output)j(and)g(t)m(yp)s(eahead)h(to)g(b)s(e)e
-(discarded.)275 4441 y(There)j(are)g(a)h(n)m(um)m(b)s(er)e(of)i(w)m(a)m
-(ys)g(to)h(refer)e(to)h(a)g(job)f(in)g(the)h(shell.)47
-b(The)32 b(c)m(haracter)i(`)p Ft(\045)p Fu(')f(in)m(tro)s(duces)150
-4551 y(a)e(job)f(sp)s(eci\014cation)h(\()p Fr(jobsp)s(ec)6
-b Fu(\).)275 4682 y(Job)31 b(n)m(um)m(b)s(er)f Ft(n)h
-Fu(ma)m(y)h(b)s(e)f(referred)g(to)h(as)g(`)p Ft(\045n)p
-Fu('.)44 b(The)31 b(sym)m(b)s(ols)g(`)p Ft(\045\045)p
-Fu(')h(and)f(`)p Ft(\045+)p Fu(')g(refer)h(to)g(the)g(shell's)150
-4792 y(notion)k(of)f(the)g(curren)m(t)g(job,)h(whic)m(h)f(is)g(the)g
-(last)h(job)f(stopp)s(ed)f(while)h(it)h(w)m(as)g(in)e(the)i(foreground)
-e(or)150 4902 y(started)27 b(in)g(the)g(bac)m(kground.)40
-b(A)27 b(single)g(`)p Ft(\045)p Fu(')g(\(with)g(no)g(accompan)m(ying)i
-(job)d(sp)s(eci\014cation\))i(also)g(refers)150 5011
-y(to)k(the)e(curren)m(t)h(job.)42 b(The)30 b(previous)g(job)h(ma)m(y)g
-(b)s(e)f(referenced)h(using)f(`)p Ft(\045-)p Fu('.)42
-b(If)30 b(there)h(is)g(only)g(a)g(single)150 5121 y(job,)g(`)p
-Ft(\045+)p Fu(')g(and)f(`)p Ft(\045-)p Fu(')h(can)h(b)s(oth)e(b)s(e)g
-(used)h(to)g(refer)g(to)h(that)g(job.)42 b(In)30 b(output)h(p)s
-(ertaining)g(to)g(jobs)g(\(e.g.,)150 5230 y(the)39 b(output)f(of)g(the)
-h Ft(jobs)e Fu(command\),)k(the)d(curren)m(t)h(job)f(is)g(alw)m(a)m(ys)
-i(\015agged)f(with)f(a)h(`)p Ft(+)p Fu(',)i(and)d(the)150
-5340 y(previous)30 b(job)g(with)g(a)h(`)p Ft(-)p Fu('.)p
-eop end
+4073 y(is)40 b(running)e(stops)i(that)g(pro)s(cess)f(and)g(returns)g
+(con)m(trol)i(to)g(Bash.)69 b(T)m(yping)39 b(the)h Fr(dela)m(y)m(ed)h
+(susp)s(end)150 4182 y Fu(c)m(haracter)d(\(t)m(ypically)g(`)p
+Ft(^Y)p Fu(',)f(Con)m(trol-Y\))h(causes)e(the)g(pro)s(cess)f(to)i(stop)
+f(when)f(it)h(attempts)h(to)g(read)150 4292 y(input)28
+b(from)g(the)i(terminal,)g(and)e(returns)g(con)m(trol)i(to)g(Bash.)40
+b(The)28 b(user)h(then)f(manipulates)h(the)h(state)150
+4402 y(of)36 b(this)f(job,)i(using)e(the)g Ft(bg)g Fu(command)h(to)g
+(con)m(tin)m(ue)h(it)f(in)f(the)h(bac)m(kground,)g(the)g
+Ft(fg)f Fu(command)g(to)150 4511 y(con)m(tin)m(ue)30
+b(it)f(in)f(the)g(foreground,)g(or)h(the)f Ft(kill)g
+Fu(command)g(to)h(kill)g(it.)41 b(The)28 b(susp)s(end)d(c)m(haracter)30
+b(tak)m(es)150 4621 y(e\013ect)g(immediately)-8 b(,)31
+b(and)d(has)g(the)h(additional)h(side)e(e\013ect)i(of)f(discarding)f
+(an)m(y)h(p)s(ending)e(output)i(and)150 4730 y(t)m(yp)s(eahead.)42
+b(If)30 b(y)m(ou)h(w)m(an)m(t)g(to)h(force)f(a)g(bac)m(kground)f(pro)s
+(cess)h(to)g(stop,)g(or)g(stop)f(a)h(pro)s(cess)f(that's)i(not)150
+4840 y(asso)s(ciated)g(with)e(y)m(our)g(terminal)h(session,)g(send)e
+(it)i(the)g Ft(SIGSTOP)d Fu(signal)j(using)f Ft(kill)p
+Fu(.)275 4980 y(There)i(are)g(a)h(n)m(um)m(b)s(er)e(of)i(w)m(a)m(ys)g
+(to)h(refer)e(to)h(a)g(job)f(in)g(the)h(shell.)47 b(The)32
+b(`)p Ft(\045)p Fu(')h(c)m(haracter)h(in)m(tro)s(duces)150
+5090 y(a)d Fr(job)f(sp)s(eci\014cation)h Fu(\(jobsp)s(ec\).)275
+5230 y(Job)i(n)m(um)m(b)s(er)f Ft(n)h Fu(ma)m(y)h(b)s(e)e(referred)h
+(to)h(as)g(`)p Ft(\045n)p Fu('.)49 b(A)34 b(job)f(ma)m(y)h(also)g(b)s
+(e)f(referred)f(to)i(using)f(a)h(pre\014x)150 5340 y(of)i(the)g(name)g
+(used)f(to)h(start)h(it,)g(or)f(using)g(a)g(substring)e(that)j(app)s
+(ears)e(in)g(its)h(command)g(line.)57 b(F)-8 b(or)p eop
+end
%%Page: 124 130
TeXDict begin 124 129 bop 150 -116 a Fu(Chapter)30 b(7:)41
-b(Job)30 b(Con)m(trol)2526 b(124)275 299 y(A)38 b(job)g(ma)m(y)h(also)g
-(b)s(e)f(referred)f(to)j(using)d(a)i(pre\014x)e(of)i(the)f(name)h(used)
-e(to)i(start)g(it,)i(or)e(using)f(a)150 408 y(substring)g(that)j(app)s
-(ears)e(in)g(its)h(command)f(line.)69 b(F)-8 b(or)41
-b(example,)i(`)p Ft(\045ce)p Fu(')c(refers)g(to)i(a)f(stopp)s(ed)e(job)
-150 518 y(whose)30 b(command)g(name)g(b)s(egins)g(with)g(`)p
-Ft(ce)p Fu('.)40 b(Using)31 b(`)p Ft(\045?ce)p Fu(',)f(on)g(the)g
-(other)h(hand,)e(refers)h(to)h(an)m(y)f(job)150 628 y(con)m(taining)e
-(the)e(string)h(`)p Ft(ce)p Fu(')f(in)g(its)h(command)f(line.)40
-b(If)26 b(the)g(pre\014x)g(or)g(substring)f(matc)m(hes)j(more)e(than)
-150 737 y(one)31 b(job,)f(Bash)g(rep)s(orts)g(an)g(error.)275
-884 y(Simply)g(naming)h(a)g(job)g(can)g(b)s(e)f(used)h(to)g(bring)f(it)
-i(in)m(to)g(the)f(foreground:)41 b(`)p Ft(\0451)p Fu(')31
-b(is)g(a)h(synon)m(ym)e(for)150 993 y(`)p Ft(fg)g(\0451)p
-Fu(',)i(bringing)f(job)g(1)g(from)g(the)h(bac)m(kground)f(in)m(to)i
-(the)e(foreground.)44 b(Similarly)-8 b(,)32 b(`)p Ft(\0451)e(&)p
-Fu(')i(resumes)150 1103 y(job)e(1)h(in)f(the)g(bac)m(kground,)h(equiv)
--5 b(alen)m(t)32 b(to)f(`)p Ft(bg)f(\0451)p Fu(')275
-1250 y(The)23 b(shell)h(learns)g(immediately)h(whenev)m(er)f(a)h(job)e
-(c)m(hanges)i(state.)40 b(Normally)-8 b(,)27 b(Bash)d(w)m(aits)h(un)m
-(til)f(it)150 1359 y(is)30 b(ab)s(out)f(to)i(prin)m(t)e(a)h(prompt)f(b)
-s(efore)g(rep)s(orting)g(c)m(hanges)i(in)f(a)g(job's)f(status)h(so)g
-(as)g(to)g(not)g(in)m(terrupt)150 1469 y(an)m(y)45 b(other)f(output,)j
-(though)d(it)h(will)g(notify)f(of)g(c)m(hanges)i(in)d(a)i(job's)f
-(status)g(after)h(a)g(foreground)150 1579 y(command)32
-b(in)f(a)h(list)g(completes,)i(b)s(efore)d(executing)i(the)f(next)g
-(command.)45 b(If)31 b(the)h Ft(-b)f Fu(option)h(to)h(the)150
-1688 y Ft(set)f Fu(builtin)g(is)h(enabled,)g(Bash)g(rep)s(orts)f(suc)m
-(h)g(c)m(hanges)i(immediately)g(\(see)f(Section)h(4.3.1)g([The)f(Set)
-150 1798 y(Builtin],)e(page)g(71\).)42 b(An)m(y)31 b(trap)f(on)g
-Ft(SIGCHLD)f Fu(is)h(executed)h(for)g(eac)m(h)g(c)m(hild)g(pro)s(cess)f
-(that)h(exits.)275 1944 y(If)25 b(an)h(attempt)h(to)g(exit)g(Bash)f(is)
-h(made)f(while)g(jobs)f(are)i(stopp)s(ed,)f(\(or)h(running,)e(if)h(the)
-g Ft(checkjobs)150 2054 y Fu(option)e(is)f(enabled)h({)g(see)g(Section)
-g(4.3.2)h([The)e(Shopt)g(Builtin],)j(page)e(76\),)i(the)e(shell)f(prin)
-m(ts)g(a)h(w)m(arning)150 2164 y(message,)k(and)c(if)i(the)f
-Ft(checkjobs)e Fu(option)j(is)f(enabled,)i(lists)e(the)h(jobs)f(and)f
-(their)i(statuses.)39 b(The)25 b Ft(jobs)150 2273 y Fu(command)36
-b(ma)m(y)h(then)f(b)s(e)f(used)g(to)i(insp)s(ect)f(their)g(status.)59
-b(If)36 b(a)g(second)g(attempt)i(to)f(exit)g(is)f(made)150
-2383 y(without)e(an)f(in)m(terv)m(ening)i(command,)f(Bash)g(do)s(es)f
-(not)h(prin)m(t)g(another)f(w)m(arning,)i(and)e(an)m(y)h(stopp)s(ed)150
-2492 y(jobs)c(are)h(terminated.)275 2639 y(When)f(the)h(shell)g(is)f(w)
-m(aiting)i(for)f(a)g(job)f(or)h(pro)s(cess)f(using)g(the)h
-Ft(wait)f Fu(builtin,)g(and)g(job)h(con)m(trol)h(is)150
-2749 y(enabled,)i Ft(wait)f Fu(will)g(return)g(when)f(the)i(job)f(c)m
-(hanges)h(state.)51 b(The)33 b Ft(-f)g Fu(option)h(causes)f
-Ft(wait)g Fu(to)h(w)m(ait)150 2858 y(un)m(til)d(the)f(job)g(or)h(pro)s
-(cess)f(terminates)h(b)s(efore)f(returning.)150 3117
-y Fs(7.2)68 b(Job)45 b(Con)l(trol)h(Builtins)150 3308
-y Ft(bg)870 3448 y(bg)h([)p Fj(jobspec)f Ft(...)o(])630
-3589 y Fu(Resume)24 b(eac)m(h)h(susp)s(ended)d(job)i
+b(Job)30 b(Con)m(trol)2526 b(124)150 299 y(example,)30
+b(`)p Ft(\045ce)p Fu(')f(refers)f(to)i(a)f(job)f(whose)h(command)f
+(name)h(b)s(egins)g(with)f(`)p Ft(ce)p Fu('.)40 b(Using)29
+b(`)p Ft(\045?ce)p Fu(',)g(on)g(the)150 408 y(other)34
+b(hand,)g(refers)g(to)h(an)m(y)f(job)g(con)m(taining)i(the)e(string)g
+(`)p Ft(ce)p Fu(')g(in)g(its)g(command)g(line.)52 b(If)34
+b(the)g(pre\014x)150 518 y(or)c(substring)g(matc)m(hes)h(more)g(than)f
+(one)g(job,)h(Bash)f(rep)s(orts)g(an)g(error.)275 668
+y(The)25 b(sym)m(b)s(ols)g(`)p Ft(\045\045)p Fu(')h(and)f(`)p
+Ft(\045+)p Fu(')h(refer)f(to)i(the)f(shell's)g(notion)g(of)g(the)g
+Fr(curren)m(t)g(job)p Fu(.)39 b(A)25 b(single)i(`)p Ft(\045)p
+Fu(')f(\(with)150 778 y(no)h(accompan)m(ying)h(job)e(sp)s
+(eci\014cation\))i(also)g(refers)f(to)g(the)g(curren)m(t)g(job.)39
+b(`)p Ft(\045-)p Fu(')27 b(refers)f(to)h(the)g Fr(previous)150
+888 y(job)p Fu(.)46 b(When)31 b(a)i(job)f(starts)g(in)g(the)g(bac)m
+(kground,)h(a)f(job)g(stops)g(while)g(in)g(the)h(foreground,)f(or)g(a)g
+(job)g(is)150 997 y(resumed)g(in)g(the)h(bac)m(kground,)g(it)g(b)s
+(ecomes)g(the)g(curren)m(t)f(job.)47 b(The)33 b(job)f(that)h(w)m(as)g
+(the)g(curren)m(t)f(job)150 1107 y(b)s(ecomes)f(the)g(previous)f(job.)
+41 b(When)30 b(the)h(curren)m(t)f(job)g(terminates,)i(the)f(previous)f
+(job)g(b)s(ecomes)h(the)150 1216 y(curren)m(t)36 b(job.)59
+b(If)36 b(there)h(is)g(only)f(a)h(single)g(job,)h(`)p
+Ft(\045+)p Fu(')f(and)f(`)p Ft(\045-)p Fu(')g(can)h(b)s(oth)f(b)s(e)g
+(used)g(to)h(refer)f(to)h(that)150 1326 y(job.)45 b(In)31
+b(output)h(p)s(ertaining)f(to)i(jobs)e(\(e.g.,)j(the)f(output)e(of)h
+(the)g Ft(jobs)f Fu(command\),)i(the)f(curren)m(t)f(job)150
+1436 y(is)f(alw)m(a)m(ys)i(mark)m(ed)f(with)f(a)h(`)p
+Ft(+)p Fu(',)f(and)g(the)h(previous)f(job)g(with)g(a)g(`)p
+Ft(-)p Fu('.)275 1586 y(Simply)g(naming)h(a)g(job)g(can)g(b)s(e)f(used)
+h(to)g(bring)f(it)i(in)m(to)g(the)f(foreground:)41 b(`)p
+Ft(\0451)p Fu(')31 b(is)g(a)h(synon)m(ym)e(for)150 1695
+y(`)p Ft(fg)g(\0451)p Fu(',)i(bringing)f(job)g(1)g(from)g(the)h(bac)m
+(kground)f(in)m(to)i(the)e(foreground.)44 b(Similarly)-8
+b(,)32 b(`)p Ft(\0451)e(&)p Fu(')i(resumes)150 1805 y(job)e(1)h(in)f
+(the)g(bac)m(kground,)h(equiv)-5 b(alen)m(t)32 b(to)f(`)p
+Ft(bg)f(\0451)p Fu('.)275 1955 y(The)g(shell)i(learns)f(immediately)i
+(whenev)m(er)e(a)h(job)f(c)m(hanges)h(state.)45 b(Normally)-8
+b(,)33 b(Bash)e(w)m(aits)i(un)m(til)150 2065 y(it)i(is)g(ab)s(out)f(to)
+i(prin)m(t)e(a)h(prompt)f(b)s(efore)g(notifying)h(the)g(user)f(ab)s
+(out)g(c)m(hanges)i(in)e(a)h(job's)g(status)g(so)150
+2175 y(as)29 b(to)g(not)g(in)m(terrupt)g(an)m(y)g(other)g(output,)g
+(though)f(it)h(will)h(notify)f(of)g(c)m(hanges)g(in)g(a)g(job's)f
+(status)h(after)150 2284 y(a)i(foreground)g(command)f(in)h(a)h(list)f
+(completes,)i(b)s(efore)e(executing)h(the)f(next)g(command)g(in)g(the)g
+(list.)150 2394 y(If)g(the)g Ft(-b)f Fu(option)i(to)g(the)f
+Ft(set)f Fu(builtin)h(is)g(enabled,)g(Bash)g(rep)s(orts)g(suc)m(h)g(c)m
+(hanges)h(immediately)g(\(see)150 2503 y(Section)c(4.3.1)h([The)e(Set)g
+(Builtin],)i(page)f(71\).)40 b(Bash)28 b(executes)g(an)m(y)f(trap)g(on)
+g Ft(SIGCHLD)e Fu(for)i(eac)m(h)i(c)m(hild)150 2613 y(pro)s(cess)h
+(that)h(terminates.)275 2763 y(When)g(a)h(job)f(terminates)i(and)e
+(Bash)h(noti\014es)g(the)f(user)g(ab)s(out)h(it,)g(Bash)g(remo)m(v)m
+(es)h(the)f(job)f(from)150 2873 y(the)k(jobs)g(table.)55
+b(It)36 b(will)f(not)g(app)s(ear)g(in)f Ft(jobs)g Fu(output,)i(but)f
+Ft(wait)f Fu(will)h(rep)s(ort)f(its)i(exit)g(status,)h(as)150
+2983 y(long)26 b(as)g(it's)g(supplied)e(the)i(pro)s(cess)f(ID)h(asso)s
+(ciated)g(with)g(the)f(job)g(as)h(an)g(argumen)m(t.)39
+b(When)25 b(the)h(table)150 3092 y(is)k(empt)m(y)-8 b(,)32
+b(job)e(n)m(um)m(b)s(ers)f(start)i(o)m(v)m(er)g(at)h(1.)275
+3242 y(If)j(a)i(user)e(attempts)i(to)g(exit)g(Bash)f(while)h(jobs)e
+(are)i(stopp)s(ed,)g(\(or)f(running,)g(if)g(the)g Ft(checkjobs)150
+3352 y Fu(option)24 b(is)f(enabled)h({)g(see)g(Section)g(4.3.2)h([The)e
+(Shopt)g(Builtin],)j(page)e(76\),)i(the)e(shell)f(prin)m(ts)g(a)h(w)m
+(arning)150 3462 y(message,)k(and)c(if)i(the)f Ft(checkjobs)e
+Fu(option)j(is)f(enabled,)i(lists)e(the)h(jobs)f(and)f(their)i
+(statuses.)39 b(The)25 b Ft(jobs)150 3571 y Fu(command)35
+b(ma)m(y)i(then)e(b)s(e)g(used)g(to)h(insp)s(ect)f(their)h(status.)57
+b(If)35 b(the)h(user)f(immediately)i(attempts)f(to)150
+3681 y(exit)k(again,)i(without)d(an)f(in)m(terv)m(ening)i(command,)h
+(Bash)e(do)s(es)f(not)h(prin)m(t)g(another)g(w)m(arning,)i(and)150
+3790 y(terminates)31 b(an)m(y)g(stopp)s(ed)e(jobs.)275
+3941 y(When)h(the)h(shell)g(is)f(w)m(aiting)i(for)f(a)g(job)f(or)h(pro)
+s(cess)f(using)g(the)h Ft(wait)f Fu(builtin,)g(and)g(job)h(con)m(trol)h
+(is)150 4050 y(enabled,)i Ft(wait)f Fu(will)g(return)g(when)f(the)i
+(job)f(c)m(hanges)h(state.)51 b(The)33 b Ft(-f)g Fu(option)h(causes)f
+Ft(wait)g Fu(to)h(w)m(ait)150 4160 y(un)m(til)d(the)f(job)g(or)h(pro)s
+(cess)f(terminates)h(b)s(efore)f(returning.)150 4425
+y Fs(7.2)68 b(Job)45 b(Con)l(trol)h(Builtins)150 4617
+y Ft(bg)870 4759 y(bg)h([)p Fj(jobspec)f Ft(...)o(])630
+4902 y Fu(Resume)24 b(eac)m(h)h(susp)s(ended)d(job)i
Fr(jobsp)s(ec)29 b Fu(in)24 b(the)g(bac)m(kground,)h(as)g(if)f(it)h
-(had)e(b)s(een)g(started)630 3698 y(with)32 b(`)p Ft(&)p
-Fu('.)45 b(If)31 b Fr(jobsp)s(ec)37 b Fu(is)32 b(not)g(supplied,)f(the)
-h(curren)m(t)g(job)f(is)h(used.)45 b(The)31 b(return)g(status)630
-3808 y(is)i(zero)g(unless)f(it)h(is)g(run)e(when)h(job)g(con)m(trol)i
-(is)f(not)g(enabled,)h(or,)f(when)f(run)f(with)h(job)630
-3918 y(con)m(trol)h(enabled,)g(an)m(y)f Fr(jobsp)s(ec)37
-b Fu(w)m(as)32 b(not)g(found)f(or)g(sp)s(eci\014es)h(a)g(job)g(that)g
-(w)m(as)g(started)630 4027 y(without)e(job)g(con)m(trol.)150
-4199 y Ft(fg)870 4339 y(fg)47 b([)p Fj(jobspec)p Ft(])630
-4480 y Fu(Resume)c(the)g(job)g Fr(jobsp)s(ec)48 b Fu(in)43
-b(the)g(foreground)g(and)f(mak)m(e)j(it)e(the)h(curren)m(t)f(job.)78
-b(If)630 4589 y Fr(jobsp)s(ec)41 b Fu(is)36 b(not)g(supplied,)h(resume)
-e(the)i(curren)m(t)f(job.)57 b(The)36 b(return)f(status)h(is)g(that)h
-(of)630 4699 y(the)d(command)g(placed)h(in)m(to)g(the)f(foreground,)g
-(or)g(non-zero)h(if)f(run)f(when)g(job)g(con)m(trol)630
-4809 y(is)i(disabled)g(or,)i(when)d(run)g(with)h(job)g(con)m(trol)h
-(enabled,)h Fr(jobsp)s(ec)j Fu(do)s(es)35 b(not)h(sp)s(ecify)f(a)630
-4918 y(v)-5 b(alid)31 b(job)f(or)g Fr(jobsp)s(ec)35 b
-Fu(sp)s(eci\014es)30 b(a)h(job)f(that)h(w)m(as)g(started)g(without)f
-(job)g(con)m(trol.)150 5090 y Ft(jobs)870 5230 y(jobs)47
-b([-lnprs])e([)p Fj(jobspec)p Ft(])870 5340 y(jobs)i(-x)g
-Fj(command)f Ft([)p Fj(arguments)p Ft(])p eop end
+(had)e(b)s(een)g(started)630 5011 y(with)30 b(`)p Ft(&)p
+Fu('.)41 b(If)30 b Fr(jobsp)s(ec)35 b Fu(is)30 b(not)h(supplied,)e(the)
+i(shell)f(uses)g(its)h(notion)g(of)f(the)h(curren)m(t)f(job.)630
+5121 y Ft(bg)j Fu(returns)f(zero)j(unless)e(it)h(is)g(run)e(when)g(job)
+i(con)m(trol)h(is)f(not)f(enabled,)i(or,)g(when)d(run)630
+5230 y(with)c(job)f(con)m(trol)j(enabled,)f(an)m(y)f
+Fr(jobsp)s(ec)33 b Fu(w)m(as)28 b(not)g(found)f(or)h(sp)s(eci\014es)g
+(a)g(job)g(that)h(w)m(as)630 5340 y(started)i(without)f(job)g(con)m
+(trol.)p eop end
%%Page: 125 131
TeXDict begin 125 130 bop 150 -116 a Fu(Chapter)30 b(7:)41
-b(Job)30 b(Con)m(trol)2526 b(125)630 299 y(The)30 b(\014rst)f(form)h
-(lists)h(the)g(activ)m(e)h(jobs.)41 b(The)30 b(options)g(ha)m(v)m(e)i
-(the)e(follo)m(wing)i(meanings:)630 451 y Ft(-l)384 b
-Fu(List)31 b(pro)s(cess)f Fm(id)p Fu(s)g(in)g(addition)h(to)g(the)f
-(normal)h(information.)630 602 y Ft(-n)384 b Fu(Displa)m(y)26
-b(information)f(only)h(ab)s(out)e(jobs)h(that)g(ha)m(v)m(e)i(c)m
-(hanged)e(status)h(since)1110 712 y(the)31 b(user)e(w)m(as)i(last)g
-(noti\014ed)f(of)h(their)f(status.)630 864 y Ft(-p)384
-b Fu(List)31 b(only)f(the)h(pro)s(cess)f Fm(id)g Fu(of)h(the)f(job's)g
-(pro)s(cess)g(group)g(leader.)630 1015 y Ft(-r)384 b
-Fu(Displa)m(y)32 b(only)e(running)f(jobs.)630 1167 y
-Ft(-s)384 b Fu(Displa)m(y)32 b(only)e(stopp)s(ed)f(jobs.)630
-1319 y(If)k Fr(jobsp)s(ec)38 b Fu(is)c(supplied,)f Ft(jobs)f
+b(Job)30 b(Con)m(trol)2526 b(125)150 299 y Ft(fg)870
+439 y(fg)47 b([)p Fj(jobspec)p Ft(])630 579 y Fu(Resume)c(the)g(job)g
+Fr(jobsp)s(ec)48 b Fu(in)43 b(the)g(foreground)g(and)f(mak)m(e)j(it)e
+(the)h(curren)m(t)f(job.)78 b(If)630 689 y Fr(jobsp)s(ec)37
+b Fu(is)32 b(not)h(supplied,)f Ft(fg)f Fu(resumes)h(the)g(curren)m(t)g
+(job.)47 b(The)31 b(return)g(status)i(is)f(that)630 799
+y(of)26 b(the)g(command)g(placed)g(in)m(to)h(the)f(foreground,)g(or)g
+(non-zero)g(if)g(run)e(when)h(job)g(con)m(trol)630 908
+y(is)35 b(disabled)g(or,)i(when)d(run)g(with)h(job)g(con)m(trol)h
+(enabled,)h Fr(jobsp)s(ec)j Fu(do)s(es)35 b(not)h(sp)s(ecify)f(a)630
+1018 y(v)-5 b(alid)31 b(job)f(or)g Fr(jobsp)s(ec)35 b
+Fu(sp)s(eci\014es)30 b(a)h(job)f(that)h(w)m(as)g(started)g(without)f
+(job)g(con)m(trol.)150 1189 y Ft(jobs)870 1329 y(jobs)47
+b([-lnprs])e([)p Fj(jobspec)p Ft(])870 1439 y(jobs)i(-x)g
+Fj(command)f Ft([)p Fj(arguments)p Ft(])630 1579 y Fu(The)30
+b(\014rst)f(form)h(lists)h(the)g(activ)m(e)h(jobs.)41
+b(The)30 b(options)g(ha)m(v)m(e)i(the)e(follo)m(wing)i(meanings:)630
+1750 y Ft(-l)384 b Fu(List)31 b(pro)s(cess)f Fm(id)p
+Fu(s)g(in)g(addition)h(to)g(the)f(normal)h(information.)630
+1921 y Ft(-n)384 b Fu(Displa)m(y)26 b(information)f(only)h(ab)s(out)e
+(jobs)h(that)g(ha)m(v)m(e)i(c)m(hanged)e(status)h(since)1110
+2030 y(the)31 b(user)e(w)m(as)i(last)g(noti\014ed)f(of)h(their)f
+(status.)630 2201 y Ft(-p)384 b Fu(List)31 b(only)f(the)h(pro)s(cess)f
+Fm(id)g Fu(of)h(the)f(job's)g(pro)s(cess)g(group)g(leader.)630
+2372 y Ft(-r)384 b Fu(Displa)m(y)32 b(only)e(running)f(jobs.)630
+2543 y Ft(-s)384 b Fu(Displa)m(y)32 b(only)e(stopp)s(ed)f(jobs.)630
+2714 y(If)k Fr(jobsp)s(ec)38 b Fu(is)c(supplied,)f Ft(jobs)f
Fu(restricts)i(output)g(to)g(information)f(ab)s(out)h(that)g(job.)49
-b(If)630 1428 y Fr(jobsp)s(ec)35 b Fu(is)c(not)f(supplied,)g
-Ft(jobs)f Fu(lists)i(the)f(status)h(of)g(all)g(jobs.)630
-1559 y(If)k(the)g Ft(-x)f Fu(option)i(is)f(supplied,)g
+b(If)630 2824 y Fr(jobsp)s(ec)40 b Fu(is)34 b(not)h(supplied,)g
+Ft(jobs)e Fu(lists)i(the)g(status)g(of)g(all)g(jobs.)53
+b(The)34 b(return)g(status)h(is)630 2933 y(zero)c(unless)f(an)g(in)m(v)
+-5 b(alid)31 b(option)g(is)f(encoun)m(tered)h(or)f(an)h(in)m(v)-5
+b(alid)31 b Fr(jobsp)s(ec)k Fu(is)30 b(supplied.)630
+3074 y(If)35 b(the)g Ft(-x)f Fu(option)i(is)f(supplied,)g
Ft(jobs)f Fu(replaces)i(an)m(y)f Fr(jobsp)s(ec)40 b Fu(found)34
-b(in)h Fr(command)j Fu(or)630 1669 y Fr(argumen)m(ts)j
+b(in)h Fr(command)j Fu(or)630 3183 y Fr(argumen)m(ts)j
Fu(with)c(the)h(corresp)s(onding)e(pro)s(cess)h(group)f
Fm(id)p Fu(,)k(and)c(executes)j Fr(command)p Fu(,)630
-1778 y(passing)30 b(it)h Fr(argumen)m(t)r Fu(s,)g(returning)f(its)g
-(exit)i(status.)150 1930 y Ft(kill)870 2061 y(kill)47
+3293 y(passing)30 b(it)h Fr(argumen)m(t)r Fu(s,)g(returning)f(its)g
+(exit)i(status.)150 3464 y Ft(kill)870 3604 y(kill)47
b([-s)g Fj(sigspec)p Ft(])e([-n)i Fj(signum)p Ft(])f([-)p
-Fj(sigspec)p Ft(])f Fj(jobspec)h Ft(or)h Fj(pid)870 2170
-y Ft(kill)g(-l|-L)f([)p Fj(exit_status)p Ft(])630 2301
-y Fu(Send)22 b(a)i(signal)g(sp)s(eci\014ed)f(b)m(y)g
-Fr(sigsp)s(ec)29 b Fu(or)24 b Fr(sign)m(um)f Fu(to)h(the)g(pro)s(cess)f
-(named)g(b)m(y)g(job)g(sp)s(eci\014-)630 2411 y(cation)k
-Fr(jobsp)s(ec)j Fu(or)25 b(pro)s(cess)g Fm(id)h Fr(pid)p
-Fu(.)38 b Fr(sigsp)s(ec)31 b Fu(is)25 b(either)h(a)g(case-insensitiv)m
-(e)i(signal)e(name)630 2520 y(suc)m(h)k(as)h Ft(SIGINT)d
-Fu(\(with)j(or)f(without)h(the)f Ft(SIG)g Fu(pre\014x\))f(or)i(a)f
-(signal)h(n)m(um)m(b)s(er;)f Fr(sign)m(um)g Fu(is)630
-2630 y(a)h(signal)g(n)m(um)m(b)s(er.)39 b(If)30 b Fr(sigsp)s(ec)36
-b Fu(and)30 b Fr(sign)m(um)g Fu(are)h(not)g(presen)m(t,)f
-Ft(kill)f Fu(sends)h Ft(SIGTERM)p Fu(.)630 2760 y(The)43
-b Ft(-l)g Fu(option)h(lists)g(the)g(signal)g(names.)81
-b(If)43 b(an)m(y)h(argumen)m(ts)g(are)g(supplied)e(when)630
-2870 y Ft(-l)d Fu(is)h(supplied,)h(the)e(names)h(of)g(the)g(signals)g
-(corresp)s(onding)e(to)j(the)f(argumen)m(ts)g(are)630
-2980 y(listed,)29 b(and)e(the)h(return)f(status)g(is)h(zero.)41
-b Fr(exit)p 2235 2980 28 4 v 41 w(status)32 b Fu(is)27
-b(a)h(n)m(um)m(b)s(er)f(sp)s(ecifying)g(a)h(signal)630
-3089 y(n)m(um)m(b)s(er)k(or)i(the)g(exit)g(status)g(of)g(a)g(pro)s
-(cess)f(terminated)h(b)m(y)f(a)h(signal.)51 b(The)34
-b Ft(-L)e Fu(option)630 3199 y(is)e(equiv)-5 b(alen)m(t)32
-b(to)f Ft(-l)p Fu(.)630 3329 y(The)26 b(return)f(status)i(is)f(zero)h
-(if)g(at)g(least)g(one)g(signal)g(w)m(as)g(successfully)f(sen)m(t,)i
-(or)e(non-zero)630 3439 y(if)k(an)h(error)f(o)s(ccurs)g(or)g(an)g(in)m
-(v)-5 b(alid)31 b(option)g(is)f(encoun)m(tered.)150 3591
-y Ft(wait)870 3721 y(wait)47 b([-fn])f([-p)h Fj(varname)p
-Ft(])e([)p Fj(id)i Ft(...])630 3852 y Fu(W)-8 b(ait)28
-b(un)m(til)e(the)g(c)m(hild)h(pro)s(cess)e(sp)s(eci\014ed)g(b)m(y)h
-(eac)m(h)h Fr(id)j Fu(exits)c(and)g(return)f(the)h(exit)h(status)630
-3962 y(of)32 b(the)g(last)h Fr(id)p Fu(.)46 b(Eac)m(h)33
-b Fr(id)i Fu(ma)m(y)e(b)s(e)e(a)i Fr(pid)h Fu(or)e(job)g(sp)s
-(eci\014cation)h Fr(jobsp)s(ec)6 b Fu(;)32 b(if)g(a)h(job)e(sp)s(ec)630
-4071 y(is)f(supplied,)g Ft(wait)f Fu(w)m(aits)i(for)f(all)i(pro)s
-(cesses)e(in)g(the)h(job.)630 4202 y(If)36 b(no)g(options)h(or)g
-Fr(id)t Fu(s)e(are)i(supplied,)g Ft(wait)e Fu(w)m(aits)j(for)e(all)h
-(running)e(bac)m(kground)h(jobs)630 4312 y(and)f(the)h(last-executed)i
-(pro)s(cess)e(substitution,)h(if)f(its)g(pro)s(cess)g(id)f(is)h(the)h
-(same)f(as)g Fr($!)p Fu(,)630 4421 y(and)30 b(the)g(return)g(status)g
-(is)h(zero.)630 4552 y(If)41 b(the)g Ft(-n)f Fu(option)i(is)f
-(supplied,)i Ft(wait)d Fu(w)m(aits)i(for)e(an)m(y)i(one)f(of)g(the)h
-Fr(id)t Fu(s)e(or,)k(if)d(no)g Fr(id)t Fu(s)630 4661
+Fj(sigspec)p Ft(])f Fj(id)i Ft([...)o(])870 3714 y(kill)g(-l|-L)f([)p
+Fj(exit_status)p Ft(])630 3854 y Fu(Send)26 b(a)h(signal)h(sp)s
+(eci\014ed)e(b)m(y)g Fr(sigsp)s(ec)33 b Fu(or)27 b Fr(sign)m(um)f
+Fu(to)i(the)f(pro)s(cesses)g(named)f(b)m(y)h(eac)m(h)h
+Fr(id)p Fu(.)630 3964 y(Eac)m(h)k Fr(id)j Fu(ma)m(y)d(b)s(e)g(a)g(job)f
+(sp)s(eci\014cation)h Fr(jobsp)s(ec)37 b Fu(or)32 b(pro)s(cess)f
+Fm(id)h Fr(pid)p Fu(.)43 b Fr(sigsp)s(ec)38 b Fu(is)31
+b(either)630 4073 y(a)f(case-insensitiv)m(e)j(signal)d(name)g(suc)m(h)g
+(as)g Ft(SIGINT)f Fu(\(with)h(or)f(without)h(the)h Ft(SIG)e
+Fu(pre\014x\))630 4183 y(or)k(a)g(signal)h(n)m(um)m(b)s(er;)f
+Fr(sign)m(um)g Fu(is)f(a)i(signal)f(n)m(um)m(b)s(er.)47
+b(If)33 b Fr(sigsp)s(ec)38 b Fu(and)33 b Fr(sign)m(um)f
+Fu(are)i(not)630 4292 y(presen)m(t,)d Ft(kill)e Fu(sends)g
+Ft(SIGTERM)p Fu(.)630 4433 y(The)e Ft(-l)h Fu(option)g(lists)h(the)f
+(signal)h(names.)39 b(If)28 b(an)m(y)g(argumen)m(ts)h(are)f(supplied)f
+(when)g Ft(-l)g Fu(is)630 4542 y(supplied,)35 b Ft(kill)e
+Fu(lists)i(the)g(names)g(of)g(the)f(signals)i(corresp)s(onding)d(to)j
+(the)e(argumen)m(ts,)630 4652 y(and)22 b(the)h(return)e(status)i(is)g
+(zero.)39 b Fr(exit)p 1942 4652 28 4 v 41 w(status)27
+b Fu(is)22 b(a)h(n)m(um)m(b)s(er)e(sp)s(ecifying)i(a)g(signal)g(n)m(um)
+m(b)s(er)630 4761 y(or)e(the)g(exit)h(status)g(of)f(a)g(pro)s(cess)g
+(terminated)g(b)m(y)g(a)h(signal;)j(if)c(it)h(is)f(supplied,)h
+Ft(kill)d Fu(prin)m(ts)630 4871 y(the)26 b(name)f(of)h(the)g(signal)g
+(that)g(caused)g(the)f(pro)s(cess)g(to)i(terminate.)40
+b Ft(kill)24 b Fu(assumes)h(that)630 4981 y(pro)s(cess)35
+b(exit)h(statuses)f(are)h(greater)g(than)f(128;)k(an)m(ything)d(less)f
+(than)g(that)h(is)f(a)g(signal)630 5090 y(n)m(um)m(b)s(er.)k(The)30
+b Ft(-L)g Fu(option)h(is)f(equiv)-5 b(alen)m(t)32 b(to)f
+Ft(-l)p Fu(.)630 5230 y(The)26 b(return)f(status)i(is)f(zero)h(if)g(at)
+g(least)g(one)g(signal)g(w)m(as)g(successfully)f(sen)m(t,)i(or)e
+(non-zero)630 5340 y(if)k(an)h(error)f(o)s(ccurs)g(or)g(an)g(in)m(v)-5
+b(alid)31 b(option)g(is)f(encoun)m(tered.)p eop end
+%%Page: 126 132
+TeXDict begin 126 131 bop 150 -116 a Fu(Chapter)30 b(7:)41
+b(Job)30 b(Con)m(trol)2526 b(126)150 299 y Ft(wait)870
+427 y(wait)47 b([-fn])f([-p)h Fj(varname)p Ft(])e([)p
+Fj(id)i Ft(...])630 555 y Fu(W)-8 b(ait)28 b(un)m(til)e(the)g(c)m(hild)
+h(pro)s(cess)e(sp)s(eci\014ed)g(b)m(y)h(eac)m(h)h Fr(id)j
+Fu(exits)c(and)g(return)f(the)h(exit)h(status)630 664
+y(of)33 b(the)f(last)i Fr(id)p Fu(.)47 b(Eac)m(h)33 b
+Fr(id)j Fu(ma)m(y)d(b)s(e)f(a)h(pro)s(cess)f Fm(id)g
+Fr(pid)k Fu(or)c(a)h(job)f(sp)s(eci\014cation)i Fr(jobsp)s(ec)6
+b Fu(;)630 774 y(if)30 b(a)h(jobsp)s(ec)f(is)g(supplied,)g
+Ft(wait)f Fu(w)m(aits)i(for)f(all)i(pro)s(cesses)e(in)g(the)g(job.)630
+902 y(If)36 b(no)g(options)h(or)g Fr(id)t Fu(s)e(are)i(supplied,)g
+Ft(wait)e Fu(w)m(aits)j(for)e(all)h(running)e(bac)m(kground)h(jobs)630
+1011 y(and)f(the)h(last-executed)i(pro)s(cess)e(substitution,)h(if)f
+(its)g(pro)s(cess)g(id)f(is)h(the)h(same)f(as)g Fr($!)p
+Fu(,)630 1121 y(and)30 b(the)g(return)g(status)g(is)h(zero.)630
+1249 y(If)41 b(the)g Ft(-n)f Fu(option)i(is)f(supplied,)i
+Ft(wait)d Fu(w)m(aits)i(for)e(an)m(y)i(one)f(of)g(the)h
+Fr(id)t Fu(s)e(or,)k(if)d(no)g Fr(id)t Fu(s)630 1358
y(are)34 b(supplied,)f(an)m(y)g(job)g(or)h(pro)s(cess)f(substitution,)h
-(to)g(complete)g(and)f(returns)f(its)i(exit)630 4771
+(to)g(complete)g(and)f(returns)f(its)i(exit)630 1468
y(status.)41 b(If)28 b(none)h(of)g(the)g(supplied)f Fr(id)t
Fu(s)g(is)h(a)h(c)m(hild)f(of)g(the)h(shell,)f(or)g(if)g(no)g(argumen)m
-(ts)h(are)630 4881 y(supplied)f(and)h(the)g(shell)h(has)f(no)g(un)m(w)m
+(ts)h(are)630 1577 y(supplied)f(and)h(the)g(shell)h(has)f(no)g(un)m(w)m
(aited-for)h(c)m(hildren,)g(the)f(exit)i(status)e(is)h(127.)630
-5011 y(If)25 b(the)h Ft(-p)g Fu(option)g(is)g(supplied,)f(the)h(pro)s
-(cess)g(or)g(job)f(iden)m(ti\014er)h(of)g(the)g(job)g(for)f(whic)m(h)h
-(the)630 5121 y(exit)i(status)f(is)f(returned)g(is)g(assigned)h(to)h
-(the)f(v)-5 b(ariable)27 b Fr(v)-5 b(arname)32 b Fu(named)26
-b(b)m(y)h(the)f(option)630 5230 y(argumen)m(t.)38 b(The)22
-b(v)-5 b(ariable,)25 b(whic)m(h)c(cannot)i(b)s(e)f(readonly)-8
-b(,)24 b(will)e(b)s(e)g(unset)f(initially)-8 b(,)26 b(b)s(efore)630
-5340 y(an)m(y)31 b(assignmen)m(t.)41 b(This)30 b(is)g(useful)g(only)g
-(when)g(the)g Ft(-n)g Fu(option)h(is)f(supplied.)p eop
-end
-%%Page: 126 132
-TeXDict begin 126 131 bop 150 -116 a Fu(Chapter)30 b(7:)41
-b(Job)30 b(Con)m(trol)2526 b(126)630 299 y(Supplying)33
-b(the)i Ft(-f)f Fu(option,)j(when)d(job)g(con)m(trol)i(is)f(enabled,)h
-(forces)f Ft(wait)f Fu(to)h(w)m(ait)h(for)630 408 y(eac)m(h)h
+1705 y(If)38 b(the)g Ft(-p)g Fu(option)h(is)f(supplied,)h
+Ft(wait)e Fu(assigns)i(the)f(pro)s(cess)g(or)g(job)g(iden)m(ti\014er)g
+(of)h(the)630 1815 y(job)h(for)h(whic)m(h)f(the)h(exit)g(status)g(is)f
+(returned)g(to)h(the)g(v)-5 b(ariable)41 b Fr(v)-5 b(arname)46
+b Fu(named)40 b(b)m(y)630 1924 y(the)e(option)h(argumen)m(t.)65
+b(The)38 b(v)-5 b(ariable,)41 b(whic)m(h)d(cannot)h(b)s(e)e(readonly)-8
+b(,)41 b(will)e(b)s(e)e(unset)630 2034 y(initially)-8
+b(,)46 b(b)s(efore)41 b(an)m(y)h(assignmen)m(t.)74 b(This)40
+b(is)i(useful)e(only)h(when)g(used)f(with)h(the)h Ft(-n)630
+2144 y Fu(option.)630 2271 y(Supplying)33 b(the)i Ft(-f)f
+Fu(option,)j(when)d(job)g(con)m(trol)i(is)f(enabled,)h(forces)f
+Ft(wait)f Fu(to)h(w)m(ait)h(for)630 2381 y(eac)m(h)h
Fr(id)j Fu(to)d(terminate)g(b)s(efore)f(returning)g(its)g(status,)j
-(instead)d(of)h(returning)e(when)g(it)630 518 y(c)m(hanges)c(status.)
-630 653 y(If)d(none)h(of)g(the)g Fr(id)t Fu(s)f(sp)s(ecify)h(one)g(of)g
-(the)g(shell's)g(an)g(activ)m(e)i(c)m(hild)f(pro)s(cesses,)f(the)g
-(return)630 762 y(status)44 b(is)g(127.)82 b(If)43 b
+(instead)d(of)h(returning)e(when)g(it)630 2491 y(c)m(hanges)c(status.)
+630 2619 y(If)d(none)h(of)g(the)g Fr(id)t Fu(s)f(sp)s(ecify)h(one)g(of)
+g(the)g(shell's)g(an)g(activ)m(e)i(c)m(hild)f(pro)s(cesses,)f(the)g
+(return)630 2728 y(status)44 b(is)g(127.)82 b(If)43 b
Ft(wait)g Fu(is)g(in)m(terrupted)g(b)m(y)h(a)g(signal,)k(an)m(y)c
-Fr(v)-5 b(arname)49 b Fu(will)44 b(remain)630 872 y(unset,)34
+Fr(v)-5 b(arname)49 b Fu(will)44 b(remain)630 2838 y(unset,)34
b(and)f(the)g(return)f(status)i(will)g(b)s(e)e(greater)j(than)e(128,)j
-(as)d(describ)s(ed)f(ab)s(o)m(v)m(e)j(\(see)630 981 y(Section)29
-b(3.7.6)g([Signals],)g(page)g(47\).)41 b(Otherwise,)28
+(as)d(describ)s(ed)f(ab)s(o)m(v)m(e)j(\(see)630 2947
+y(Section)29 b(3.7.6)g([Signals],)g(page)g(47\).)41 b(Otherwise,)28
b(the)g(return)f(status)h(is)g(the)g(exit)h(status)630
-1091 y(of)i(the)f(last)h Fr(id)p Fu(.)150 1250 y Ft(disown)870
-1385 y(disown)46 b([-ar])g([-h])h([)p Fj(id)g Ft(...)o(])630
-1519 y Fu(Without)29 b(options,)g(remo)m(v)m(e)g(eac)m(h)g
+3057 y(of)i(the)f(last)h Fr(id)p Fu(.)150 3203 y Ft(disown)870
+3331 y(disown)46 b([-ar])g([-h])h([)p Fj(id)g Ft(...)o(])630
+3459 y Fu(Without)29 b(options,)g(remo)m(v)m(e)g(eac)m(h)g
Fr(id)j Fu(from)27 b(the)h(table)h(of)f(activ)m(e)j(jobs.)39
-b(Eac)m(h)29 b Fr(id)i Fu(ma)m(y)e(b)s(e)630 1629 y(a)g
-Fr(pid)i Fu(or)e(job)f(sp)s(eci\014cation)h Fr(jobsp)s(ec)6
-b Fu(;)28 b(if)h Fr(id)i Fu(is)e(a)g Fr(pid)p Fu(,)f
-Ft(disown)f Fu(uses)h(the)g(job)g(con)m(taining)630 1738
-y Fr(pid)p Fu(.)59 b(If)36 b(the)h Ft(-h)f Fu(option)h(is)g(supplied,)g
-(the)g(job)g(is)f(not)h(remo)m(v)m(ed)h(from)e(the)h(table,)j(but)630
-1848 y(is)33 b(mark)m(ed)h(so)f(that)h Ft(SIGHUP)e Fu(is)h(not)g(sen)m
-(t)h(to)g(the)g(job)f(if)g(the)g(shell)h(receiv)m(es)h(a)e
-Ft(SIGHUP)p Fu(.)630 1958 y(If)h Fr(id)k Fu(is)d(not)g(presen)m(t,)h
-(and)f(neither)f(the)h Ft(-a)f Fu(nor)h(the)g Ft(-r)f
-Fu(option)h(is)g(supplied,)g Ft(disown)630 2067 y Fu(remo)m(v)m(es)d
-(the)e(curren)m(t)g(job.)630 2202 y(If)37 b(no)g Fr(id)j
-Fu(is)d(supplied,)h(the)f Ft(-a)f Fu(option)i(means)f(to)h(remo)m(v)m
-(e)g(or)f(mark)g(all)h(jobs;)i(the)e Ft(-r)630 2311 y
-Fu(option)31 b(without)f(an)g Fr(id)k Fu(argumen)m(t)d(restricts)g(op)s
-(eration)g(to)g(running)e(jobs.)630 2446 y(The)h(return)f(v)-5
+b(Eac)m(h)29 b Fr(id)i Fu(ma)m(y)e(b)s(e)630 3568 y(a)34
+b(job)g(sp)s(eci\014cation)h Fr(jobsp)s(ec)k Fu(or)34
+b(a)g(pro)s(cess)g Fm(id)g Fr(pid)t Fu(;)h(if)f Fr(id)j
+Fu(is)d(a)g Fr(pid)p Fu(,)h Ft(disown)d Fu(uses)i(the)630
+3678 y(job)c(con)m(taining)i Fr(pid)h Fu(as)e Fr(jobsp)s(ec)p
+Fu(.)630 3806 y(If)e(the)g Ft(-h)f Fu(option)i(is)f(supplied,)f
+Ft(disown)f Fu(do)s(es)i(not)g(remo)m(v)m(e)i(the)e(jobs)f(corresp)s
+(onding)g(to)630 3915 y(eac)m(h)k Ft(id)f Fu(from)g(the)g(jobs)g
+(table,)h(but)f(rather)g(marks)g(them)g(so)h(the)f(shell)g(do)s(es)g
+(not)h(send)630 4025 y Ft(SIGHUP)d Fu(to)i(the)f(job)g(if)h(the)f
+(shell)h(receiv)m(es)h(a)f Ft(SIGHUP)p Fu(.)630 4153
+y(If)37 b(no)g Fr(id)j Fu(is)d(supplied,)h(the)f Ft(-a)f
+Fu(option)i(means)f(to)h(remo)m(v)m(e)g(or)f(mark)g(all)h(jobs;)i(the)e
+Ft(-r)630 4262 y Fu(option)43 b(without)f(an)g Fr(id)j
+Fu(argumen)m(t)d(remo)m(v)m(es)i(or)e(marks)f(running)g(jobs.)75
+b(If)42 b(no)g Fr(id)j Fu(is)630 4372 y(supplied,)31
+b(and)h(neither)g(the)g Ft(-a)f Fu(nor)g(the)h Ft(-r)g
+Fu(option)g(is)g(supplied,)f Ft(disown)g Fu(remo)m(v)m(es)i(or)630
+4482 y(marks)d(the)h(curren)m(t)f(job.)630 4609 y(The)g(return)f(v)-5
b(alue)31 b(is)f(0)h(unless)f(an)g Fr(id)k Fu(do)s(es)c(not)g(sp)s
-(ecify)g(a)h(v)-5 b(alid)31 b(job.)150 2605 y Ft(suspend)870
-2740 y(suspend)46 b([-f])630 2874 y Fu(Susp)s(end)31
+(ecify)g(a)h(v)-5 b(alid)31 b(job.)150 4756 y Ft(suspend)870
+4883 y(suspend)46 b([-f])630 5011 y Fu(Susp)s(end)31
b(the)i(execution)h(of)g(this)f(shell)g(un)m(til)h(it)g(receiv)m(es)h
-(a)e Ft(SIGCONT)f Fu(signal.)50 b(A)33 b(login)630 2984
+(a)e Ft(SIGCONT)f Fu(signal.)50 b(A)33 b(login)630 5121
y(shell,)25 b(or)f(a)g(shell)f(without)h(job)f(con)m(trol)i(enabled,)g
(cannot)f(b)s(e)f(susp)s(ended;)h(the)g Ft(-f)e Fu(option)630
-3093 y(will)36 b(o)m(v)m(erride)i(this)e(and)f(force)i(the)f(susp)s
+5230 y(will)36 b(o)m(v)m(erride)i(this)e(and)f(force)i(the)f(susp)s
(ension.)56 b(The)36 b(return)f(status)i(is)f(0)g(unless)g(the)630
-3203 y(shell)31 b(is)f(a)h(login)g(shell)g(or)f(job)g(con)m(trol)i(is)e
-(not)h(enabled)f(and)g Ft(-f)g Fu(is)g(not)h(supplied.)275
-3362 y(When)f(job)f(con)m(trol)j(is)e(not)h(activ)m(e,)i(the)d
-Ft(kill)f Fu(and)h Ft(wait)f Fu(builtins)g(do)h(not)h(accept)h
-Fr(jobsp)s(ec)j Fu(argu-)150 3472 y(men)m(ts.)41 b(They)30
-b(m)m(ust)g(b)s(e)g(supplied)f(pro)s(cess)h Fm(id)p Fu(s.)150
-3713 y Fs(7.3)68 b(Job)45 b(Con)l(trol)h(V)-11 b(ariables)150
-3897 y Ft(auto_resume)630 4007 y Fu(This)31 b(v)-5 b(ariable)32
-b(con)m(trols)g(ho)m(w)g(the)f(shell)h(in)m(teracts)h(with)e(the)h
-(user)e(and)h(job)g(con)m(trol.)45 b(If)630 4116 y(this)28
-b(v)-5 b(ariable)29 b(exists)g(then)f(single-w)m(ord)h(simple)f
-(commands)g(without)h(redirections)g(are)630 4226 y(treated)i(as)g
-(candidates)f(for)g(resumption)g(of)g(an)g(existing)h(job.)41
-b(There)29 b(is)h(no)h(am)m(biguit)m(y)630 4335 y(allo)m(w)m(ed;)44
-b(if)38 b(there)h(is)f(more)h(than)f(one)g(job)g(b)s(eginning)g(with)f
-(the)i(string)f(t)m(yp)s(ed,)i(then)630 4445 y(the)33
-b(most)g(recen)m(tly)h(accessed)f(job)g(is)f(selected.)49
-b(The)32 b(name)h(of)f(a)h(stopp)s(ed)f(job,)h(in)f(this)630
-4555 y(con)m(text,)e(is)e(the)g(command)g(line)g(used)f(to)h(start)g
-(it.)41 b(If)27 b(this)h(v)-5 b(ariable)28 b(is)g(set)g(to)h(the)e(v)-5
-b(alue)630 4664 y(`)p Ft(exact)p Fu(',)33 b(the)g(string)g(supplied)f
-(m)m(ust)h(matc)m(h)g(the)h(name)f(of)g(a)g(stopp)s(ed)f(job)h
-(exactly;)j(if)630 4774 y(set)29 b(to)h(`)p Ft(substring)p
-Fu(',)d(the)i(string)g(supplied)e(needs)i(to)g(matc)m(h)h(a)f
-(substring)f(of)h(the)g(name)630 4883 y(of)38 b(a)f(stopp)s(ed)g(job.)
-62 b(The)37 b(`)p Ft(substring)p Fu(')e(v)-5 b(alue)38
-b(pro)m(vides)f(functionalit)m(y)i(analogous)g(to)630
-4993 y(the)c(`)p Ft(\045?)p Fu(')g(job)g Fm(id)g Fu(\(see)h(Section)g
-(7.1)g([Job)e(Con)m(trol)i(Basics],)i(page)e(123\).)56
-b(If)34 b(set)i(to)g(an)m(y)630 5103 y(other)c(v)-5 b(alue,)32
-b(the)g(supplied)e(string)i(m)m(ust)f(b)s(e)g(a)h(pre\014x)f(of)h(a)g
-(stopp)s(ed)e(job's)i(name;)g(this)630 5212 y(pro)m(vides)e
-(functionalit)m(y)i(analogous)g(to)f(the)g(`)p Ft(\045)p
-Fu(')f(job)g Fm(id)p Fu(.)p eop end
+5340 y(shell)31 b(is)f(a)h(login)g(shell)g(or)f(job)g(con)m(trol)i(is)e
+(not)h(enabled)f(and)g Ft(-f)g Fu(is)g(not)h(supplied.)p
+eop end
%%Page: 127 133
-TeXDict begin 127 132 bop 3614 -116 a Fu(127)150 299
+TeXDict begin 127 132 bop 150 -116 a Fu(Chapter)30 b(7:)41
+b(Job)30 b(Con)m(trol)2526 b(127)275 299 y(When)30 b(job)f(con)m(trol)j
+(is)e(not)h(activ)m(e,)i(the)d Ft(kill)f Fu(and)h Ft(wait)f
+Fu(builtins)g(do)h(not)h(accept)h Fr(jobsp)s(ec)j Fu(argu-)150
+408 y(men)m(ts.)41 b(They)30 b(m)m(ust)g(b)s(e)g(supplied)f(pro)s(cess)
+h Fm(id)p Fu(s.)150 649 y Fs(7.3)68 b(Job)45 b(Con)l(trol)h(V)-11
+b(ariables)150 834 y Ft(auto_resume)630 943 y Fu(This)39
+b(v)-5 b(ariable)41 b(con)m(trols)g(ho)m(w)g(the)f(shell)g(in)m
+(teracts)i(with)d(the)i(user)e(and)h(job)f(con)m(trol.)630
+1053 y(If)34 b(this)g(v)-5 b(ariable)35 b(exists)g(then)f(simple)g
+(commands)g(consisting)h(of)g(only)f(a)h(single)g(w)m(ord,)630
+1162 y(without)k(redirections,)j(are)d(treated)h(as)f(candidates)h(for)
+f(resumption)f(of)h(an)g(existing)630 1272 y(job.)64
+b(There)37 b(is)i(no)f(am)m(biguit)m(y)h(allo)m(w)m(ed;)44
+b(if)39 b(there)f(is)g(more)g(than)g(one)h(job)f(b)s(eginning)630
+1381 y(with)c(or)h(con)m(taining)h(the)f(w)m(ord,)h(then)e(this)h
+(selects)h(the)f(most)g(recen)m(tly)h(accessed)g(job.)630
+1491 y(The)24 b(name)g(of)g(a)h(stopp)s(ed)e(job,)i(in)f(this)g(con)m
+(text,)j(is)e(the)f(command)g(line)g(used)g(to)g(start)h(it,)630
+1601 y(as)j(displa)m(y)m(ed)g(b)m(y)g Ft(jobs)p Fu(.)38
+b(If)28 b(this)f(v)-5 b(ariable)29 b(is)f(set)g(to)g(the)g(v)-5
+b(alue)28 b(`)p Ft(exact)p Fu(',)g(the)g(w)m(ord)f(m)m(ust)630
+1710 y(matc)m(h)h(the)g(name)g(of)f(a)h(stopp)s(ed)f(job)g(exactly;)j
+(if)e(set)g(to)g(`)p Ft(substring)p Fu(',)e(the)i(w)m(ord)f(needs)630
+1820 y(to)41 b(matc)m(h)g(a)g(substring)e(of)h(the)h(name)f(of)g(a)h
+(stopp)s(ed)e(job.)70 b(The)40 b(`)p Ft(substring)p Fu(')e(v)-5
+b(alue)630 1929 y(pro)m(vides)30 b(functionalit)m(y)h(analogous)g(to)g
+(the)f(`)p Ft(\045?string)p Fu(')e(job)i Fm(id)g Fu(\(see)g(Section)h
+(7.1)g([Job)630 2039 y(Con)m(trol)h(Basics],)i(page)e(123\).)45
+b(If)31 b(set)h(to)g(an)m(y)g(other)g(v)-5 b(alue)32
+b(\(e.g.,)i(`)p Ft(prefix)p Fu('\),)d(the)g(w)m(ord)630
+2149 y(m)m(ust)d(b)s(e)g(a)h(pre\014x)e(of)i(a)g(stopp)s(ed)e(job's)i
+(name;)g(this)f(pro)m(vides)h(functionalit)m(y)h(analogous)630
+2258 y(to)h(the)g(`)p Ft(\045string)p Fu(')e(job)h Fm(id)p
+Fu(.)p eop end
+%%Page: 128 134
+TeXDict begin 128 133 bop 3614 -116 a Fu(128)150 299
y Fp(8)80 b(Command)54 b(Line)f(Editing)150 525 y Fu(This)28
b(c)m(hapter)i(describ)s(es)e(the)h(basic)g(features)h(of)f(the)g
Fm(gnu)f Fu(command)h(line)g(editing)h(in)m(terface.)42
(mak)m(e)g Fj(M-key)150 3910 y Fu(k)m(ey)40 b(bindings)e(y)m(ou)i(sp)s
(ecify)f(\(see)i Ft(Key)29 b(Bindings)37 b Fu(in)i(Section)i(8.3.1)g
([Readline)f(Init)g(File)g(Syn)m(tax],)150 4020 y(page)31
-b(130\))h(do)e(the)h(same)g(thing)f(b)m(y)g(setting)i(the)e
+b(131\))h(do)e(the)h(same)g(thing)f(b)m(y)g(setting)i(the)e
Ft(force-meta-prefix)c Fu(v)-5 b(ariable.)275 4153 y(The)39
b(text)j Fj(M-C-k)d Fu(is)h(read)g(as)h(`Meta-Con)m(trol-k')j(and)39
b(describ)s(es)h(the)g(c)m(haracter)i(pro)s(duced)d(b)m(y)150
Fu(,)g Ft(LFD)p Fu(,)g Ft(SPC)p Fu(,)g Ft(RET)p Fu(,)150
4505 y(and)d Ft(TAB)f Fu(all)j(stand)e(for)g(themselv)m(es)i(when)d
(seen)i(in)f(this)g(text,)j(or)d(in)h(an)f(init)h(\014le)f(\(see)i
-(Section)f(8.3)150 4614 y([Readline)28 b(Init)e(File],)k(page)d(130\).)
+(Section)f(8.3)150 4614 y([Readline)28 b(Init)e(File],)k(page)d(131\).)
41 b(If)27 b(y)m(our)f(k)m(eyb)s(oard)h(lac)m(ks)h(a)f
Ft(LFD)f Fu(k)m(ey)-8 b(,)29 b(t)m(yping)e Ft(C-j)f Fu(will)h(output)g
(the)150 4724 y(appropriate)j(c)m(haracter.)43 b(The)30
(as)f(y)m(ou)g(t)m(yp)s(e)g(it)g(in,)g(allo)m(wing)h(y)m(ou)f(to)h
(just)e(\014x)g(y)m(our)h(t)m(yp)s(o,)g(and)g(not)g(forcing)p
eop end
-%%Page: 128 134
-TeXDict begin 128 133 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(128)150 299 y(y)m(ou)28
+%%Page: 129 135
+TeXDict begin 129 134 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(129)150 299 y(y)m(ou)28
b(to)h(ret)m(yp)s(e)g(the)f(ma)5 b(jorit)m(y)29 b(of)f(the)h(line.)40
b(Using)28 b(these)h(editing)g(commands,)f(y)m(ou)h(mo)m(v)m(e)g(the)g
(cursor)150 408 y(to)35 b(the)f(place)i(that)e(needs)g(correction,)j
g(w)m(ord.)150 5340 y Fj(C-l)336 b Fu(Clear)31 b(the)f(screen,)h
(reprin)m(ting)f(the)h(curren)m(t)f(line)h(at)g(the)f(top.)p
eop end
-%%Page: 129 135
-TeXDict begin 129 134 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(129)275 299 y(Notice)26
+%%Page: 130 136
+TeXDict begin 130 135 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(130)275 299 y(Notice)26
b(ho)m(w)f Fj(C-f)e Fu(mo)m(v)m(es)j(forw)m(ard)e(a)h(c)m(haracter,)j
(while)d Fj(M-f)e Fu(mo)m(v)m(es)j(forw)m(ard)e(a)h(w)m(ord.)39
b(It)24 b(is)h(a)g(lo)s(ose)150 408 y(con)m(v)m(en)m(tion)32
(t)m(yp)s(e)h(`)p Ft(M-1)29 b(0)h(C-d)p Fu(',)39 b(whic)m(h)e(will)h
(delete)h(the)e(next)h(ten)150 5340 y(c)m(haracters)32
b(on)e(the)h(input)e(line.)p eop end
-%%Page: 130 136
-TeXDict begin 130 135 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(130)150 299 y Fk(8.2.5)63
+%%Page: 131 137
+TeXDict begin 131 136 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(131)150 299 y Fk(8.2.5)63
b(Searc)m(hing)40 b(for)i(Commands)g(in)f(the)g(History)150
446 y Fu(Readline)35 b(pro)m(vides)f(commands)g(for)g(searc)m(hing)h
(through)e(the)i(command)f(history)g(\(see)h(Section)g(9.1)150
555 y([Bash)i(History)h(F)-8 b(acilities],)42 b(page)37
-b(164\))i(for)d(lines)h(con)m(taining)i(a)e(sp)s(eci\014ed)f(string.)60
+b(165\))i(for)d(lines)h(con)m(taining)i(a)e(sp)s(eci\014ed)f(string.)60
b(There)36 b(are)i(t)m(w)m(o)150 665 y(searc)m(h)31 b(mo)s(des:)40
b Fr(incremen)m(tal)35 b Fu(and)30 b Fr(non-incremen)m(tal)p
Fu(.)275 794 y(Incremen)m(tal)c(searc)m(hes)h(b)s(egin)e(b)s(efore)g
(a)g(`)p Ft(#)p Fu(')g(are)h(commen)m(ts.)73 b(Lines)41
b(b)s(eginning)f(with)g(a)i(`)p Ft($)p Fu(')f(indicate)150
5230 y(conditional)e(constructs)f(\(see)g(Section)h(8.3.2)g
-([Conditional)g(Init)e(Constructs],)j(page)e(140\).)64
+([Conditional)g(Init)e(Constructs],)j(page)e(141\).)64
b(Other)150 5340 y(lines)31 b(denote)g(v)-5 b(ariable)31
b(settings)g(and)f(k)m(ey)h(bindings.)p eop end
-%%Page: 131 137
-TeXDict begin 131 136 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(131)150 299 y(V)-8
+%%Page: 132 138
+TeXDict begin 132 137 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(132)150 299 y(V)-8
b(ariable)32 b(Settings)630 408 y(Y)-8 b(ou)41 b(can)g(mo)s(dify)e(the)
i(run-time)f(b)s(eha)m(vior)g(of)h(Readline)g(b)m(y)f(altering)h(the)g
(v)-5 b(alues)41 b(of)630 518 y(v)-5 b(ariables)34 b(in)f(Readline)i
5230 y(`)p Ft(audible)p Fu(')j(\(the)i(default\),)i(Readline)e
(attempts)g(to)h(ring)e(the)g(terminal's)1110 5340 y(b)s(ell.)p
eop end
-%%Page: 132 138
-TeXDict begin 132 137 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(132)630 299 y Ft
+%%Page: 133 139
+TeXDict begin 133 138 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(133)630 299 y Ft
(bind-tty-special-chars)1110 408 y Fu(If)35 b(set)g(to)h(`)p
Ft(on)p Fu(')f(\(the)g(default\),)i(Readline)f(attempts)g(to)g(bind)d
(the)i(con)m(trol)1110 518 y(c)m(haracters)28 b(that)g(are)f(treated)g
(haracters)i(of)f(the)f(common)h(pre\014x)e(of)i(a)g(list)g(of)1110
5340 y(p)s(ossible)i(completions)h(that)g(is)g(displa)m(y)m(ed)g
(without)f(mo)s(di\014cation.)40 b(When)p eop end
-%%Page: 133 139
-TeXDict begin 133 138 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(133)1110 299 y(set)29
+%%Page: 134 140
+TeXDict begin 134 139 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(134)1110 299 y(set)29
b(to)h(a)f(v)-5 b(alue)30 b(greater)g(than)e(zero,)j(readline)e
(replaces)h(common)f(pre\014xes)1110 408 y(longer)46
b(than)f(this)h(v)-5 b(alue)46 b(with)f(an)h(ellipsis)g(when)e(displa)m
5230 y(b)s(ed)i(a)i(terminal)g(con)m(trol)h(sequence)f(in)m(to)h(the)e
(mo)s(de)h(string.)41 b(The)30 b(default)1110 5340 y(is)g(`)p
Ft(@)p Fu('.)p eop end
-%%Page: 134 140
-TeXDict begin 134 139 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(134)630 299 y Ft
+%%Page: 135 141
+TeXDict begin 135 140 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(135)630 299 y Ft
(enable-active-region)1110 408 y Fr(p)s(oin)m(t)27 b
Fu(is)e(the)h(curren)m(t)f(cursor)f(p)s(osition,)j(and)d
Fr(mark)31 b Fu(refers)24 b(to)i(a)g(sa)m(v)m(ed)g(cur-)1110
518 y(sor)i(p)s(osition)g(\(see)h(Section)g(8.4.1)h([Commands)d(F)-8
-b(or)29 b(Mo)m(ving],)h(page)f(144\).)1110 628 y(The)46
+b(or)29 b(Mo)m(ving],)h(page)f(145\).)1110 628 y(The)46
b(text)h(b)s(et)m(w)m(een)h(the)e(p)s(oin)m(t)h(and)f(mark)g(is)g
(referred)g(to)h(as)g(the)g Fr(re-)1110 737 y(gion)p
Fu(.)80 b(When)44 b(this)f(v)-5 b(ariable)44 b(is)f(set)h(to)g(`)p
f(binding)g(k)m(ey)h(se-)1110 4463 y(quences)22 b(con)m(taining)i
Fj(\\M-)e Fu(or)h Ft(Meta-)e Fu(\(see)i Ft(Key)29 b(Bindings)21
b Fu(in)h(Section)h(8.3.1)1110 4573 y([Readline)k(Init)f(File)i(Syn)m
-(tax],)g(page)f(130\))h(b)m(y)e(con)m(v)m(erting)i(a)e(k)m(ey)i
+(tax],)g(page)f(131\))h(b)m(y)e(con)m(v)m(erting)i(a)e(k)m(ey)i
(sequence)1110 4682 y(of)34 b(the)g(form)f Fj(\\M-)p
Fr(C)41 b Fu(or)34 b Ft(Meta-)p Fr(C)39 b Fu(to)c(the)f(t)m(w)m(o-c)m
(haracter)j(sequence)d Fj(ESC)p Fr(C)1110 4792 y Fu(\(adding)23
Fr(C)41 b Fu(to)33 b(a)g(meta)h(c)m(haracter)g(b)m(y)f(setting)g(the)g
(eigh)m(th)h(bit)1110 5340 y(\(0200\).)43 b(The)30 b(default)h(is)f(`)p
Ft(off)p Fu('.)p eop end
-%%Page: 135 141
-TeXDict begin 135 140 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(135)630 299 y Ft
+%%Page: 136 142
+TeXDict begin 136 141 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(136)630 299 y Ft
(history-preserve-point)1110 408 y Fu(If)41 b(set)h(to)h(`)p
Ft(on)p Fu(',)i(the)c(history)h(co)s(de)g(attempts)h(to)f(place)h(the)f
(p)s(oin)m(t)f(\(the)1110 518 y(curren)m(t)35 b(cursor)g(p)s(osition\))
b(string)h(of)g(c)m(haracters)h(that)f(should)e(terminate)j(an)f
(incremen)m(tal)1110 3806 y(searc)m(h)25 b(without)g(subsequen)m(tly)g
(executing)h(the)f(c)m(haracter)h(as)f(a)g(command)1110
-3915 y(\(see)38 b(Section)g(8.2.5)h([Searc)m(hing],)h(page)e(130\).)62
+3915 y(\(see)38 b(Section)g(8.2.5)h([Searc)m(hing],)h(page)e(131\).)62
b(If)37 b(this)g(v)-5 b(ariable)38 b(has)f(not)1110 4025
y(b)s(een)e(giv)m(en)h(a)g(v)-5 b(alue,)37 b(the)f(c)m(haracters)h
Ft(ESC)d Fu(and)h Fj(C-J)g Fu(will)h(terminate)g(an)1110
(ait)g(for)g(a)f(c)m(haracter)i(when)e(read-)1110 5340
y(ing)30 b(an)g(am)m(biguous)g(k)m(ey)h(sequence)f(\(one)g(that)h(can)f
(form)g(a)g(complete)h(k)m(ey)p eop end
-%%Page: 136 142
-TeXDict begin 136 141 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(136)1110 299 y(sequence)34
+%%Page: 137 143
+TeXDict begin 137 142 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(137)1110 299 y(sequence)34
b(using)e(the)i(input)e(read)h(so)g(far,)h(or)g(can)f(tak)m(e)i
(additional)f(input)1110 408 y(to)43 b(complete)h(a)f(longer)h(k)m(ey)f
(sequence\).)78 b(If)42 b(Readline)i(do)s(esn't)e(receiv)m(e)1110
47 b(This)31 b(v)-5 b(ariable)34 b(is)e(`)p Ft(on)p Fu(')1110
5066 y(b)m(y)e(default.)630 5230 y Ft(prefer-visible-bell)1110
5340 y Fu(See)h Ft(bell-style)p Fu(.)p eop end
-%%Page: 137 143
-TeXDict begin 137 142 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(137)630 299 y Ft
+%%Page: 138 144
+TeXDict begin 138 143 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(138)630 299 y Ft
(print-completions-horizo)o(ntal)o(ly)1110 408 y Fu(If)23
b(set)i(to)g(`)p Ft(on)p Fu(',)g(Readline)g(will)f(displa)m(y)g
(completions)h(with)f(matc)m(hes)h(sorted)1110 518 y(horizon)m(tally)45
b(ariable)35 b(is)e(enabled,)i(this)f(string)f(is)h(dis-)1110
5340 y(pla)m(y)m(ed)24 b(immediately)g(b)s(efore)f(the)g(last)h(line)f
(of)h(the)f(primary)f(prompt)g(when)p eop end
-%%Page: 138 144
-TeXDict begin 138 143 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(138)1110 299 y(vi)32
+%%Page: 139 145
+TeXDict begin 139 144 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(139)1110 299 y(vi)32
b(editing)h(mo)s(de)f(is)g(activ)m(e)j(and)c(in)h(command)g(mo)s(de.)46
b(The)31 b(v)-5 b(alue)33 b(is)f(ex-)1110 408 y(panded)23
b(lik)m(e)j(a)e(k)m(ey)h(binding,)g(so)g(the)f(standard)g(set)h(of)f
g(hand)e(side)i(\(that)h(is,)i(to)e(insert)e(the)h(text)h(`)p
Ft(>)1110 5340 y(output)p Fu(')29 b(in)m(to)i(the)g(line\).)p
eop end
-%%Page: 139 145
-TeXDict begin 139 144 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(139)1110 299 y(This)26
+%%Page: 140 146
+TeXDict begin 140 145 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(140)1110 299 y(This)26
b(k)m(ey)h(binding)e(syn)m(tax)i(recognizes)i(a)e(n)m(um)m(b)s(er)e(of)
h(sym)m(b)s(olic)h(c)m(haracter)1110 408 y(names:)43
b Fr(DEL)p Fu(,)32 b Fr(ESC)p Fu(,)f Fr(ESCAPE)p Fu(,)g
Fr(LFD)p Fu(,)h Fr(NEWLINE)p Fu(,)h Fr(RET)p Fu(,)e Fr(RETURN)p
-Fu(,)1110 518 y Fr(R)m(UBOUT)p Fu(,)g Fr(SP)-8 b(A)m(CE)p
-Fu(,)31 b Fr(SPC)p Fu(,)e(and)h Fr(T)-8 b(AB)p Fu(.)630
-674 y Ft(")p Fr(k)m(eyseq)r Ft(")p Fu(:)41 b Fr(function-name)36
-b Fu(or)30 b Fr(macro)1110 783 y(k)m(eyseq)24 b Fu(di\013ers)c(from)g
-Fr(k)m(eyname)27 b Fu(ab)s(o)m(v)m(e)22 b(in)e(that)h(strings)g
-(denoting)f(an)h(en)m(tire)1110 893 y(k)m(ey)i(sequence)f(can)h(b)s(e)e
-(sp)s(eci\014ed,)j(b)m(y)e(placing)h(the)f(k)m(ey)h(sequence)g(in)e
-(double)1110 1003 y(quotes.)46 b(Some)32 b Fm(gnu)f Fu(Emacs)h(st)m
-(yle)h(k)m(ey)g(escap)s(es)f(can)g(b)s(e)f(used,)h(as)g(in)g(the)1110
+Fu(,)1110 518 y Fr(R)m(UBOUT)37 b Fu(\(a)31 b(destructiv)m(e)h(bac)m
+(kspace\),)g Fr(SP)-8 b(A)m(CE)p Fu(,)31 b Fr(SPC)p Fu(,)e(and)h
+Fr(T)-8 b(AB)p Fu(.)630 674 y Ft(")p Fr(k)m(eyseq)r Ft(")p
+Fu(:)41 b Fr(function-name)36 b Fu(or)30 b Fr(macro)1110
+783 y(k)m(eyseq)24 b Fu(di\013ers)c(from)g Fr(k)m(eyname)27
+b Fu(ab)s(o)m(v)m(e)22 b(in)e(that)h(strings)g(denoting)f(an)h(en)m
+(tire)1110 893 y(k)m(ey)i(sequence)f(can)h(b)s(e)e(sp)s(eci\014ed,)j(b)
+m(y)e(placing)h(the)f(k)m(ey)h(sequence)g(in)e(double)1110
+1003 y(quotes.)46 b(Some)32 b Fm(gnu)f Fu(Emacs)h(st)m(yle)h(k)m(ey)g
+(escap)s(es)f(can)g(b)s(e)f(used,)h(as)g(in)g(the)1110
1112 y(follo)m(wing)47 b(example,)j(but)44 b(none)i(of)f(the)g(sp)s
(ecial)h(c)m(haracter)h(names)f(are)1110 1222 y(recognized.)1350
1354 y Ft("\\C-u":)g(universal-argument)1350 1464 y("\\C-x\\C-r":)f
2721 y(meta)27 b(c)m(haracter,)h(as)e(describ)s(ed)e(ab)s(o)m(v)m(e)j
(under)d Ft(force-meta-prefix)d Fu(\(see)1110 2831 y
Ft(Variable)28 b(Settings)42 b Fu(in)h(Section)i(8.3.1)g([Readline)g
-(Init)e(File)i(Syn)m(tax],)1110 2941 y(page)31 b(130\).)630
+(Init)e(File)i(Syn)m(tax],)1110 2941 y(page)31 b(131\).)630
3096 y Fj(\\e)384 b Fu(An)30 b(escap)s(e)h(c)m(haracter.)630
3252 y Fj(\\\\)384 b Fu(Bac)m(kslash.)630 3408 y Fj(\\)p
Ft(")g(")p Fu(,)30 b(a)h(double)f(quotation)i(mark.)630
Fj(nnn)288 b Fu(The)31 b(eigh)m(t-bit)j(c)m(haracter)f(whose)f(v)-5
b(alue)32 b(is)f(the)h(o)s(ctal)h(v)-5 b(alue)33 b Fr(nnn)d
Fu(\(one)i(to)1110 5340 y(three)f(digits\).)p eop end
-%%Page: 140 146
-TeXDict begin 140 145 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(140)630 299 y Ft(\\x)p
+%%Page: 141 147
+TeXDict begin 141 146 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(141)630 299 y Ft(\\x)p
Fj(HH)288 b Fu(The)34 b(eigh)m(t-bit)j(c)m(haracter)f(whose)f(v)-5
b(alue)35 b(is)g(the)g(hexadecimal)h(v)-5 b(alue)36 b
Fr(HH)1110 408 y Fu(\(one)31 b(or)f(t)m(w)m(o)i(hex)e(digits\).)630
(7.0)i(or)e(new)m(er:)1350 5121 y Ft($if)47 b(version)f(>=)h(7.0)1350
5230 y(set)g(show-mode-in-prompt)42 b(on)1350 5340 y($endif)p
eop end
-%%Page: 141 147
-TeXDict begin 141 146 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(141)630 299 y Ft(application)1110
+%%Page: 142 148
+TeXDict begin 142 147 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(142)630 299 y Ft(application)1110
408 y Fu(The)21 b Fr(application)j Fu(construct)e(is)g(used)f(to)i
(include)f(application-sp)s(eci\014c)h(set-)1110 518
y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h(Readline)g(library)g
(of)f(an)h Fr(inputrc)k Fu(\014le.)39 b(This)26 b(illustrates)h(k)m(ey)
h(binding,)e(v)-5 b(ariable)27 b(assignmen)m(t,)i(and)150
3988 y(conditional)j(syn)m(tax.)p eop end
-%%Page: 142 148
-TeXDict begin 142 147 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(142)390 408 y Ft(#)47
+%%Page: 143 149
+TeXDict begin 143 148 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(143)390 408 y Ft(#)47
b(This)g(file)g(controls)e(the)i(behaviour)e(of)j(line)e(input)h
(editing)e(for)390 518 y(#)i(programs)f(that)h(use)g(the)f(GNU)h
(Readline)f(library.)93 b(Existing)390 628 y(#)47 b(programs)f(include)
4902 y(#)390 5011 y(#)47 b(Arrow)g(keys)f(in)i(8)f(bit)g(ANSI)g(mode)
390 5121 y(#)390 5230 y(#"\\M-\\C-[D":)331 b(backward-char)390
5340 y(#"\\M-\\C-[C":)g(forward-char)p eop end
-%%Page: 143 149
-TeXDict begin 143 148 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(143)390 299 y Ft(#"\\M-\\C-[A":)
+%%Page: 144 150
+TeXDict begin 144 149 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(144)390 299 y Ft(#"\\M-\\C-[A":)
331 b(previous-history)390 408 y(#"\\M-\\C-[B":)g(next-history)390
628 y(C-q:)47 b(quoted-insert)390 847 y($endif)390 1066
y(#)g(An)h(old-style)d(binding.)93 b(This)47 b(happens)f(to)h(be)g(the)
g(for)i(a)g(word,)390 5121 y(#)g(ask)g(whether)f(or)h(not)g(the)g(user)
g(wants)f(to)h(see)g(all)g(of)g(them)390 5230 y(set)g
(completion-query-items)42 b(150)p eop end
-%%Page: 144 150
-TeXDict begin 144 149 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(144)390 299 y Ft(#)47
+%%Page: 145 151
+TeXDict begin 145 150 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(145)390 299 y Ft(#)47
b(For)g(FTP)390 408 y($if)g(Ftp)390 518 y("\\C-xg":)f("get)g(\\M-?")390
628 y("\\C-xt":)g("put)g(\\M-?")390 737 y("\\M-.":)g(yank-last-arg)390
847 y($endif)150 1111 y Fs(8.4)68 b(Bindable)45 b(Readline)i(Commands)
(t)g(or)f(previous)h(w)m(ord.)53 b(W)-8 b(ords)35 b(are)g(delimited)630
5340 y(b)m(y)30 b(non-quoted)h(shell)f(metac)m(haracters.)p
eop end
-%%Page: 145 151
-TeXDict begin 145 150 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(145)150 299 y Ft
+%%Page: 146 152
+TeXDict begin 146 151 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(146)150 299 y Ft
(previous-screen-line)25 b(\(\))630 408 y Fu(A)m(ttempt)41
b(to)g(mo)m(v)m(e)h(p)s(oin)m(t)e(to)h(the)f(same)h(ph)m(ysical)g
(screen)f(column)g(on)g(the)g(previous)630 518 y(ph)m(ysical)26
b(command)h(sets)h(the)630 5340 y(region)31 b(to)g(the)g(matc)m(hed)g
(text)g(and)f(activ)-5 b(ates)33 b(the)d(region.)p eop
end
-%%Page: 146 152
-TeXDict begin 146 151 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(146)150 299 y Ft
+%%Page: 147 153
+TeXDict begin 147 152 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(147)150 299 y Ft
(non-incremental-reverse-)o(sear)o(ch-h)o(ist)o(ory)24
b(\(M-p\))630 408 y Fu(Searc)m(h)31 b(bac)m(kw)m(ard)h(starting)g(at)g
(the)f(curren)m(t)g(line)g(and)g(mo)m(ving)h(`up')e(through)h(the)g
(switc)m(hes)h(the)630 5340 y(direction)23 b(through)e(the)i(history)f
(\(bac)m(k)h(or)g(forw)m(ard\).)37 b(This)22 b(uses)g(the)g(history)g
(expansion)p eop end
-%%Page: 147 153
-TeXDict begin 147 152 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(147)630 299 y(facilities)44
+%%Page: 148 154
+TeXDict begin 148 153 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(148)630 299 y(facilities)44
b(to)e(extract)g(the)g(last)g(w)m(ord,)i(as)e(if)f(the)g(`)p
Ft(!$)p Fu(')h(history)f(expansion)g(had)g(b)s(een)630
-408 y(sp)s(eci\014ed.)150 587 y Ft(operate-and-get-next)25
-b(\(C-o\))630 697 y Fu(Accept)30 b(the)g(curren)m(t)e(line)i(for)f
+408 y(sp)s(eci\014ed.)150 576 y Ft(operate-and-get-next)25
+b(\(C-o\))630 686 y Fu(Accept)30 b(the)g(curren)m(t)e(line)i(for)f
(return)f(to)h(the)h(calling)g(application)h(as)e(if)g(a)h(newline)f
-(had)630 806 y(b)s(een)22 b(en)m(tered,)k(and)d(fetc)m(h)h(the)f(next)g
+(had)630 795 y(b)s(een)22 b(en)m(tered,)k(and)d(fetc)m(h)h(the)f(next)g
(line)h(relativ)m(e)h(to)f(the)f(curren)m(t)g(line)h(from)f(the)g
-(history)630 916 y(for)31 b(editing.)43 b(A)31 b(n)m(umeric)f(argumen)m
+(history)630 905 y(for)31 b(editing.)43 b(A)31 b(n)m(umeric)f(argumen)m
(t,)i(if)f(supplied,)f(sp)s(eci\014es)h(the)g(history)f(en)m(try)i(to)f
-(use)630 1025 y(instead)g(of)f(the)h(curren)m(t)f(line.)150
-1204 y Ft(fetch-history)d(\(\))630 1314 y Fu(With)e(a)f(n)m(umeric)g
+(use)630 1014 y(instead)g(of)f(the)h(curren)m(t)f(line.)150
+1182 y Ft(fetch-history)d(\(\))630 1292 y Fu(With)e(a)f(n)m(umeric)g
(argumen)m(t,)i(fetc)m(h)f(that)g(en)m(try)f(from)g(the)g(history)g
-(list)h(and)e(mak)m(e)i(it)g(the)630 1423 y(curren)m(t)30
+(list)h(and)e(mak)m(e)i(it)g(the)630 1401 y(curren)m(t)30
b(line.)41 b(Without)30 b(an)g(argumen)m(t,)h(mo)m(v)m(e)g(bac)m(k)g
(to)f(the)g(\014rst)f(en)m(try)h(in)g(the)g(history)630
-1533 y(list.)150 1751 y Fk(8.4.3)63 b(Commands)42 b(F)-10
-b(or)41 b(Changing)g(T)-10 b(ext)150 1933 y Fj(end-of-file)27
-b Ft(\(usually)h(C-d\))630 2042 y Fu(The)e(c)m(haracter)h(indicating)h
+1511 y(list.)150 1718 y Fk(8.4.3)63 b(Commands)42 b(F)-10
+b(or)41 b(Changing)g(T)-10 b(ext)150 1894 y Fj(end-of-file)27
+b Ft(\(usually)h(C-d\))630 2004 y Fu(The)e(c)m(haracter)h(indicating)h
(end-of-\014le)e(as)h(set,)g(for)f(example,)i(b)m(y)e
-Ft(stty)p Fu(.)39 b(If)25 b(this)h(c)m(harac-)630 2152
+Ft(stty)p Fu(.)39 b(If)25 b(this)h(c)m(harac-)630 2113
y(ter)c(is)g(read)g(when)e(there)i(are)h(no)e(c)m(haracters)j(on)d(the)
h(line,)i(and)d(p)s(oin)m(t)h(is)g(at)h(the)f(b)s(eginning)630
-2261 y(of)31 b(the)f(line,)h(Readline)g(in)m(terprets)g(it)g(as)f(the)h
+2223 y(of)31 b(the)f(line,)h(Readline)g(in)m(terprets)g(it)g(as)f(the)h
(end)f(of)g(input)f(and)h(returns)f Fm(eof)p Fu(.)150
-2440 y Ft(delete-char)e(\(C-d\))630 2550 y Fu(Delete)35
+2391 y Ft(delete-char)e(\(C-d\))630 2500 y Fu(Delete)35
b(the)f(c)m(haracter)h(at)f(p)s(oin)m(t.)49 b(If)33 b(this)g(function)g
-(is)g(b)s(ound)e(to)j(the)g(same)f(c)m(haracter)630 2659
-y(as)e(the)f(tt)m(y)i Fm(eof)d Fu(c)m(haracter,)j(as)f
-Fj(C-d)e Fu(commonly)i(is,)g(see)g(ab)s(o)m(v)m(e)h(for)e(the)g
-(e\013ects.)150 2838 y Ft(backward-delete-char)25 b(\(Rubout\))630
-2947 y Fu(Delete)32 b(the)f(c)m(haracter)g(b)s(ehind)e(the)h(cursor.)40
+(is)g(b)s(ound)e(to)j(the)g(same)f(c)m(haracter)630 2610
+y(as)i(the)f(tt)m(y)i Fm(eof)e Fu(c)m(haracter,)j(as)e
+Fj(C-d)e Fu(commonly)j(is,)f(see)g(ab)s(o)m(v)m(e)h(for)e(the)h
+(e\013ects.)55 b(This)630 2719 y(ma)m(y)31 b(also)g(b)s(e)f(b)s(ound)e
+(to)j(the)g(Delete)i(k)m(ey)e(on)f(some)h(k)m(eyb)s(oards.)150
+2887 y Ft(backward-delete-char)25 b(\(Rubout\))630 2997
+y Fu(Delete)32 b(the)f(c)m(haracter)g(b)s(ehind)e(the)h(cursor.)40
b(A)30 b(n)m(umeric)g(argumen)m(t)h(means)f(to)h(kill)g(the)630
-3057 y(c)m(haracters,)h(sa)m(ving)f(them)g(on)f(the)h(kill)g(ring,)f
-(instead)h(of)f(deleting)i(them.)150 3235 y Ft
-(forward-backward-delete-)o(char)24 b(\(\))630 3345 y
+3106 y(c)m(haracters,)h(sa)m(ving)f(them)g(on)f(the)h(kill)g(ring,)f
+(instead)h(of)f(deleting)i(them.)150 3274 y Ft
+(forward-backward-delete-)o(char)24 b(\(\))630 3383 y
Fu(Delete)40 b(the)f(c)m(haracter)h(under)c(the)j(cursor,)h(unless)d
-(the)i(cursor)e(is)h(at)h(the)g(end)e(of)i(the)630 3455
+(the)i(cursor)e(is)h(at)h(the)g(end)e(of)i(the)630 3493
y(line,)33 b(in)e(whic)m(h)g(case)i(the)f(c)m(haracter)h(b)s(ehind)d
(the)i(cursor)f(is)g(deleted.)46 b(By)32 b(default,)g(this)630
-3564 y(is)e(not)h(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150
-3743 y Ft(quoted-insert)27 b(\(C-q)i(or)h(C-v\))630 3852
+3603 y(is)e(not)h(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150
+3770 y Ft(quoted-insert)27 b(\(C-q)i(or)h(C-v\))630 3880
y Fu(Add)j(the)i(next)f(c)m(haracter)i(t)m(yp)s(ed)e(to)h(the)f(line)h
(v)m(erbatim.)53 b(This)33 b(is)i(ho)m(w)f(to)h(insert)f(k)m(ey)630
-3962 y(sequences)d(lik)m(e)g Fj(C-q)p Fu(,)f(for)g(example.)150
-4141 y Ft(self-insert)d(\(a,)j(b,)g(A,)f(1,)h(!,)g(...)o(\))630
-4250 y Fu(Insert)g(the)g(c)m(haracter)i(t)m(yp)s(ed.)150
-4429 y Ft(bracketed-paste-begin)25 b(\(\))630 4538 y
+3989 y(sequences)d(lik)m(e)g Fj(C-q)p Fu(,)f(for)g(example.)150
+4157 y Ft(self-insert)d(\(a,)j(b,)g(A,)f(1,)h(!,)g(...)o(\))630
+4267 y Fu(Insert)g(the)g(c)m(haracter)i(t)m(yp)s(ed.)150
+4434 y Ft(bracketed-paste-begin)25 b(\(\))630 4544 y
Fu(This)f(function)h(is)f(in)m(tended)h(to)h(b)s(e)e(b)s(ound)f(to)i
(the)g Ft(")p Fu(brac)m(k)m(eted)h(paste)p Ft(")f Fu(escap)s(e)h
-(sequence)630 4648 y(sen)m(t)38 b(b)m(y)f(some)h(terminals,)i(and)d
+(sequence)630 4653 y(sen)m(t)38 b(b)m(y)f(some)h(terminals,)i(and)d
(suc)m(h)g(a)h(binding)e(is)i(assigned)f(b)m(y)h(default.)62
-b(It)38 b(allo)m(ws)630 4758 y(Readline)33 b(to)g(insert)g(the)f
+b(It)38 b(allo)m(ws)630 4763 y(Readline)33 b(to)g(insert)g(the)f
(pasted)h(text)g(as)g(a)g(single)g(unit)f(without)h(treating)h(eac)m(h)
-f(c)m(har-)630 4867 y(acter)40 b(as)f(if)g(it)g(had)f(b)s(een)g(read)h
+f(c)m(har-)630 4873 y(acter)40 b(as)f(if)g(it)g(had)f(b)s(een)g(read)h
(from)f(the)h(k)m(eyb)s(oard.)66 b(The)39 b(c)m(haracters)h(are)f
-(inserted)630 4977 y(as)44 b(if)g(eac)m(h)i(one)e(w)m(as)g(b)s(ound)e
+(inserted)630 4982 y(as)44 b(if)g(eac)m(h)i(one)e(w)m(as)g(b)s(ound)e
(to)j Ft(self-insert)c Fu(instead)j(of)h(executing)g(an)m(y)f(editing)
-630 5086 y(commands.)630 5230 y(Brac)m(k)m(eted)38 b(paste)f(sets)f
+630 5092 y(commands.)630 5230 y(Brac)m(k)m(eted)38 b(paste)f(sets)f
(the)h(region)f(\(the)h(c)m(haracters)g(b)s(et)m(w)m(een)g(p)s(oin)m(t)
f(and)g(the)g(mark\))630 5340 y(to)31 b(the)g(inserted)f(text.)42
b(It)30 b(sets)h(the)f Fl(active)j(r)-5 b(e)g(gion)p
Fu(.)p eop end
-%%Page: 148 154
-TeXDict begin 148 153 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(148)150 299 y Ft(transpose-chars)
+%%Page: 149 155
+TeXDict begin 149 154 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(149)150 299 y Ft(transpose-chars)
26 b(\(C-t\))630 408 y Fu(Drag)33 b(the)f(c)m(haracter)h(b)s(efore)f
(the)g(cursor)f(forw)m(ard)h(o)m(v)m(er)h(the)f(c)m(haracter)i(at)e
(the)g(cursor,)630 518 y(mo)m(ving)k(the)g(cursor)f(forw)m(ard)g(as)g
(line.)150 5230 y Ft(unix-line-discard)d(\(C-u\))630
5340 y Fu(Kill)31 b(bac)m(kw)m(ard)g(from)e(the)i(cursor)f(to)h(the)f
(b)s(eginning)g(of)h(the)f(curren)m(t)g(line.)p eop end
-%%Page: 149 155
-TeXDict begin 149 154 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(149)150 299 y Ft(kill-whole-line)
+%%Page: 150 156
+TeXDict begin 150 155 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(150)150 299 y Ft(kill-whole-line)
26 b(\(\))630 408 y Fu(Kill)37 b(all)g(c)m(haracters)h(on)f(the)f
(curren)m(t)h(line,)h(no)f(matter)g(where)f(p)s(oin)m(t)h(is.)59
b(By)36 b(default,)630 518 y(this)30 b(is)h(un)m(b)s(ound.)150
b(Y)-8 b(ou)35 b(can)g(only)f(do)h(this)f(if)h(the)g(prior)630
5320 y(command)30 b(is)h Ft(yank)e Fu(or)h Ft(yank-pop)p
Fu(.)p eop end
-%%Page: 150 156
-TeXDict begin 150 155 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(150)150 299 y Fk(8.4.5)63
+%%Page: 151 157
+TeXDict begin 151 156 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(151)150 299 y Fk(8.4.5)63
b(Sp)s(ecifying)42 b(Numeric)f(Argumen)m(ts)150 500 y
Ft(digit-argument)26 b(\()p Fj(M-0)p Ft(,)j Fj(M-1)p
Ft(,)h(...)f Fj(M--)p Ft(\))630 610 y Fu(Add)d(this)h(digit)g(to)h(the)
b(Bash)35 b(attempts)h(completion)h(b)m(y)e(\014rst)f(c)m(hec)m(king)
630 2712 y(for)23 b(an)m(y)i(programmable)e(completions)i(for)f(the)g
(command)f(w)m(ord)h(\(see)g(Section)h(8.6)g([Pro-)630
-2822 y(grammable)i(Completion],)h(page)g(155\),)h(otherwise)e(treating)
+2822 y(grammable)i(Completion],)h(page)g(156\),)h(otherwise)e(treating)
h(the)e(text)i(as)e(a)h(v)-5 b(ariable)28 b(\(if)630
2932 y(the)23 b(text)h(b)s(egins)e(with)g(`)p Ft($)p
Fu('\),)j(username)d(\(if)h(the)g(text)h(b)s(egins)e(with)h(`)p
b(command)g(is)h(in)m(tended)g(to)g(b)s(e)f(b)s(ound)f(to)i
Ft(TAB)p Fu(,)g(but)630 5340 y(is)h(un)m(b)s(ound)e(b)m(y)i(default.)p
eop end
-%%Page: 151 157
-TeXDict begin 151 156 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(151)150 299 y Ft
+%%Page: 152 158
+TeXDict begin 152 157 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(152)150 299 y Ft
(menu-complete-backward)24 b(\(\))630 408 y Fu(Iden)m(tical)36
b(to)g Ft(menu-complete)p Fu(,)d(but)h(mo)m(v)m(es)j(bac)m(kw)m(ard)e
(through)f(the)i(list)f(of)g(p)s(ossible)630 518 y(completions,)j(as)e
(p)s(oin)m(t,)i(comparing)f(the)g(text)h(against)630
5340 y(lines)j(from)e(the)i(history)f(list)h(for)g(p)s(ossible)e
(completion)j(matc)m(hes.)p eop end
-%%Page: 152 158
-TeXDict begin 152 157 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(152)150 299 y Ft
+%%Page: 153 159
+TeXDict begin 153 158 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(153)150 299 y Ft
(complete-into-braces)25 b(\(M-{\))630 408 y Fu(P)m(erform)f
(\014lename)f(completion)i(and)f(insert)f(the)h(list)g(of)g(p)s
(ossible)f(completions)i(enclosed)630 518 y(within)34
b(Set)38 b(the)h(curren)m(t)f(cursor)g(p)s(osition)g(to)h(the)g(sa)m(v)
m(ed)630 5340 y(p)s(osition,)31 b(then)f(set)h(the)f(mark)g(to)h(the)g
(old)g(cursor)e(p)s(osition.)p eop end
-%%Page: 153 159
-TeXDict begin 153 158 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(153)150 299 y Ft(character-search)
+%%Page: 154 160
+TeXDict begin 154 159 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(154)150 299 y Ft(character-search)
26 b(\(C-]\))630 408 y Fu(Read)33 b(a)h(c)m(haracter)g(and)e(mo)m(v)m
(e)j(p)s(oin)m(t)e(to)h(the)f(next)g(o)s(ccurrence)g(of)g(that)h(c)m
(haracter.)50 b(A)630 518 y(negativ)m(e)33 b(argumen)m(t)d(searc)m(hes)
h(n)m(umeric)f(argumen)m(t,)j(it)e(passes)630 5340 y(that)31
b(argumen)m(t)g(to)g(the)f(function)h(it)f(executes.)p
eop end
-%%Page: 154 160
-TeXDict begin 154 159 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(154)150 299 y Ft
+%%Page: 155 161
+TeXDict begin 155 160 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(155)150 299 y Ft
(spell-correct-word)25 b(\(C-x)30 b(s\))630 408 y Fu(P)m(erform)36
b(sp)s(elling)h(correction)h(on)e(the)h(curren)m(t)f(w)m(ord,)i
(treating)f(it)g(as)g(a)g(directory)g(or)630 518 y(\014lename,)g(in)e
3398 y Ft(magic-space)d(\(\))630 3507 y Fu(P)m(erform)c(history)g
(expansion)g(on)g(the)g(curren)m(t)g(line)g(and)g(insert)g(a)g(space)h
(\(see)g(Section)g(9.3)630 3617 y([History)31 b(In)m(teraction],)i
-(page)e(167\).)150 3804 y Ft(alias-expand-line)26 b(\(\))630
+(page)e(168\).)150 3804 y Ft(alias-expand-line)26 b(\(\))630
3914 y Fu(P)m(erform)e(alias)i(expansion)e(on)h(the)g(curren)m(t)f
(line)h(\(see)g(Section)h(6.6)f([Aliases],)j(page)d(107\).)150
4102 y Ft(history-and-alias-expand)o(-lin)o(e)f(\(\))630
5213 y Ft(display-shell-version)25 b(\(C-x)k(C-v\))630
5322 y Fu(Displa)m(y)j(v)m(ersion)e(information)h(ab)s(out)f(the)h
(curren)m(t)f(instance)h(of)f(Bash.)p eop end
-%%Page: 155 161
-TeXDict begin 155 160 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(155)150 299 y Fs(8.5)68
+%%Page: 156 162
+TeXDict begin 156 161 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(156)150 299 y Fs(8.5)68
b(Readline)47 b(vi)e(Mo)t(de)150 458 y Fu(While)32 b(the)g(Readline)g
(library)f(do)s(es)g(not)h(ha)m(v)m(e)h(a)f(full)f(set)h(of)g
Ft(vi)f Fu(editing)h(functions,)f(it)h(do)s(es)g(con)m(tain)150
(eci\014cation)f(\(a)g Fr(compsp)s(ec)6 b Fu(\))41 b(has)f(b)s(een)g
(de\014ned)f(using)h(the)h Ft(complete)d Fu(builtin)i(\(see)150
2127 y(Section)j(8.7)g([Programmable)g(Completion)g(Builtins],)i(page)e
-(157\),)k Ft(\\)p Fu(fBreadline)p Ft(\\)p Fu(fP)42 b(in)m(v)m(ok)m(es)i
+(158\),)k Ft(\\)p Fu(fBreadline)p Ft(\\)p Fu(fP)42 b(in)m(v)m(ok)m(es)i
(the)150 2237 y(programmable)31 b(completion)g(facilities.)275
2375 y(First,)47 b(Bash)c(iden)m(ti\014es)h(the)f(command)g(name.)80
b(If)43 b(a)h(compsp)s(ec)f(has)g(b)s(een)f(de\014ned)g(for)h(that)150
(y)h(successful)f(expansion.)275 3500 y(If)j(a)h(compsp)s(ec)g(is)g
(not)h(found,)e(Bash)i(p)s(erforms)d(its)i(default)h(completion)g
(describ)s(ed)e(ab)s(o)m(v)m(e)i(\(see)150 3610 y(Section)41
-b(8.4.6)g([Commands)f(F)-8 b(or)40 b(Completion],)k(page)c(150\).)71
+b(8.4.6)g([Commands)f(F)-8 b(or)40 b(Completion],)k(page)c(151\).)71
b(Otherwise,)43 b(once)d(a)h(compsp)s(ec)e(has)150 3719
y(b)s(een)30 b(found,)f(Bash)h(uses)g(it)h(to)g(generate)h(the)f(list)g
(of)f(matc)m(hing)i(w)m(ords.)275 3858 y(First,)39 b(Bash)f(p)s
5340 y(arithmetic)c(expansion,)f(as)g(describ)s(ed)e(ab)s(o)m(v)m(e)i
(\(see)h(Section)f(3.5)g([Shell)g(Expansions],)g(page)g(24\).)40
b(The)p eop end
-%%Page: 156 162
-TeXDict begin 156 161 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(156)150 299 y(results)23
+%%Page: 157 163
+TeXDict begin 157 162 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(157)150 299 y(results)23
b(are)h(split)g(using)f(the)h(rules)f(describ)s(ed)f(ab)s(o)m(v)m(e)j
(\(see)g(Section)f(3.5.7)h([W)-8 b(ord)24 b(Splitting],)i(page)e(37\).)
150 408 y(The)j(results)h(of)f(the)h(expansion)g(are)g(pre\014x-matc)m
1915 y(facilities,)50 b(including)44 b(the)h Ft(compgen)d
Fu(and)i Ft(compopt)e Fu(builtins)i(describ)s(ed)f(b)s(elo)m(w)h(\(see)
i(Section)f(8.7)150 2025 y([Programmable)31 b(Completion)h(Builtins],)f
-(page)h(157\),)g(to)g(generate)g(the)f(matc)m(hes.)42
+(page)h(158\),)g(to)g(generate)g(the)f(matc)m(hes.)42
b(It)31 b(m)m(ust)g(put)f(the)150 2134 y(p)s(ossible)g(completions)h
(in)f(the)h Ft(COMPREPLY)d Fu(arra)m(y)j(v)-5 b(ariable,)31
b(one)g(p)s(er)e(arra)m(y)i(elemen)m(t.)275 2285 y(Next,)26
Ft(complete)d Fu(when)150 5340 y(the)31 b(compsp)s(ec)f(w)m(as)h
(de\014ned,)f(programmable)h(completion)h(will)f(p)s(erform)e
(Readline's)i(default)g(com-)p eop end
-%%Page: 157 163
-TeXDict begin 157 162 bop 150 -116 a Fu(Chapter)47 b(8:)i(Command)d
-(Line)i(Editing)2003 b(157)150 299 y(pletion)45 b(if)f(the)h(compsp)s
+%%Page: 158 164
+TeXDict begin 158 163 bop 150 -116 a Fu(Chapter)47 b(8:)i(Command)d
+(Line)i(Editing)2003 b(158)150 299 y(pletion)45 b(if)f(the)h(compsp)s
(ec)f(\(and,)k(if)c(attempted,)50 b(the)44 b(default)h(Bash)f
(completions\))i(generate)g(no)150 408 y(matc)m(hes.)275
550 y(When)20 b(a)i(compsp)s(ec)e(indicates)i(that)g(directory)g(name)f
630 5230 y(The)24 b(return)g(v)-5 b(alue)25 b(is)g(true)f(unless)g(an)h
(in)m(v)-5 b(alid)25 b(option)g(is)g(supplied,)f(or)h(no)g(matc)m(hes)g
(w)m(ere)630 5340 y(generated.)p eop end
-%%Page: 158 164
-TeXDict begin 158 163 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(158)150 299 y Ft(complete)870
+%%Page: 159 165
+TeXDict begin 159 164 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(159)150 299 y Ft(complete)870
436 y(complete)46 b([-abcdefgjksuv])d([-o)k Fj(comp-option)p
Ft(])e([-DEI])h([-A)h Fj(action)p Ft(])870 545 y([-G)g
Fj(globpat)p Ft(])e([-W)i Fj(wordlist)p Ft(])f([-F)h
(of)h(applying)g(these)g(completion)g(sp)s(eci\014cations)h(when)d(w)m
(ord)i(completion)630 2847 y(is)35 b(attempted)h(is)f(describ)s(ed)f
(ab)s(o)m(v)m(e)j(\(see)f(Section)g(8.6)g([Programmable)g(Completion],)
-630 2956 y(page)31 b(155\).)630 3093 y(Other)d(options,)i(if)f(sp)s
+630 2956 y(page)31 b(156\).)630 3093 y(Other)d(options,)i(if)f(sp)s
(eci\014ed,)g(ha)m(v)m(e)h(the)f(follo)m(wing)i(meanings.)40
b(The)29 b(argumen)m(ts)g(to)h(the)630 3203 y Ft(-G)p
Fu(,)41 b Ft(-W)p Fu(,)h(and)c Ft(-X)h Fu(options)h(\(and,)h(if)f
5230 y(as)37 b(adding)g(a)g(slash)f(to)i(directory)f(names,)i(quoting)e
(sp)s(ecial)1590 5340 y(c)m(haracters,)28 b(or)e(suppressing)e
(trailing)j(spaces\).)40 b(This)24 b(option)p eop end
-%%Page: 159 165
-TeXDict begin 159 164 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(159)1590 299 y(is)44
+%%Page: 160 166
+TeXDict begin 160 165 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(160)1590 299 y(is)44
b(in)m(tended)h(to)g(b)s(e)e(used)h(with)g(shell)h(functions)f(sp)s
(eci\014ed)1590 408 y(with)30 b Ft(-F)p Fu(.)1110 567
y Ft(fullquote)1590 677 y Fu(T)-8 b(ell)32 b(Readline)g(to)g(quote)f
2556 y Ft(arrayvar)96 b Fu(Arra)m(y)31 b(v)-5 b(ariable)31
b(names.)1110 2715 y Ft(binding)144 b Fu(Readline)30
b(k)m(ey)f(binding)f(names)h(\(see)h(Section)f(8.4)h([Bindable)1590
-2825 y(Readline)h(Commands],)f(page)h(144\).)1110 2984
+2825 y(Readline)h(Commands],)f(page)h(145\).)1110 2984
y Ft(builtin)144 b Fu(Names)21 b(of)g(shell)f(builtin)h(commands.)37
b(Ma)m(y)21 b(also)h(b)s(e)e(sp)s(eci\014ed)1590 3093
y(as)31 b Ft(-b)p Fu(.)1110 3252 y Ft(command)144 b Fu(Command)29
Ft(HOSTFILE)e Fu(shell)j(v)-5 b(ariable)56 b(\(see)g(Section)g(5.2)h
([Bash)1590 5340 y(V)-8 b(ariables],)32 b(page)f(85\).)p
eop end
-%%Page: 160 166
-TeXDict begin 160 165 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(160)1110 299 y Ft(job)336
+%%Page: 161 167
+TeXDict begin 161 166 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(161)1110 299 y Ft(job)336
b Fu(Job)31 b(names,)h(if)g(job)f(con)m(trol)i(is)f(activ)m(e.)46
b(Ma)m(y)33 b(also)g(b)s(e)e(sp)s(eci-)1590 408 y(\014ed)f(as)g
Ft(-j)p Fu(.)1110 569 y Ft(keyword)144 b Fu(Shell)30
b(and)45 b(the)h(third)1110 3382 y(argumen)m(t)c(\($3\))i(is)e(the)g(w)
m(ord)f(preceding)h(the)g(w)m(ord)f(b)s(eing)h(completed,)1110
3492 y(as)f(describ)s(ed)f(ab)s(o)m(v)m(e)i(\(see)g(Section)f(8.6)h
-([Programmable)g(Completion],)1110 3601 y(page)31 b(155\).)42
+([Programmable)g(Completion],)1110 3601 y(page)31 b(156\).)42
b(When)29 b Ft(function)f Fu(\014nishes,)h(programmable)h(completion)h
(re-)1110 3711 y(triev)m(es)38 b(the)f(p)s(ossible)f(completions)i
(from)e(the)h(v)-5 b(alue)37 b(of)g(the)f Ft(COMPREPLY)1110
(for)g(the)1110 5340 y(w)m(ords)29 b(to)i(con)m(tain)g(shell)f(metac)m
(haracters)j(or)c(c)m(haracters)j(in)d(the)h(v)-5 b(alue)31
b(of)p eop end
-%%Page: 161 167
-TeXDict begin 161 166 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(161)1110 299 y Ft(IFS)p
+%%Page: 162 168
+TeXDict begin 162 167 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(162)1110 299 y Ft(IFS)p
Fu(.)66 b(The)39 b(p)s(ossible)g(completions)h(are)g(the)f(mem)m(b)s
(ers)f(of)i(the)f(resultan)m(t)1110 408 y(list)31 b(whic)m(h)f(matc)m
(h)h(a)g(pre\014x)e(of)i(the)g(w)m(ord)f(b)s(eing)f(completed.)630
b(alue)31 b(of)g Fr(IFS)36 b Fu(so)31 b(that)g(it)g(con)m(tains)h(only)
f(a)g(newline)g(to)h(accommo)s(date)g(\014le)f(names)p
eop end
-%%Page: 162 168
-TeXDict begin 162 167 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(162)150 299 y(con)m(taining)33
+%%Page: 163 169
+TeXDict begin 163 168 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(163)150 299 y(con)m(taining)33
b(spaces)g(and)e(tabs)h({)g Ft(compgen)e Fu(prin)m(ts)h(the)h(p)s
(ossible)f(completions)i(it)g(generates)g(one)f(p)s(er)150
408 y(line.)275 573 y(P)m(ossible)24 b(completions)h(go)g(in)m(to)g
(if)h(appropriate)e(shell)i(option)f(set)h(and)f(no)i(completions)581
5340 y(if)f(shopt)f(-q)i(cdable_vars)c(&&)k([[)f(${#COMPREPLY[@]})c
(-eq)k(0)g(]];)g(then)p eop end
-%%Page: 163 169
-TeXDict begin 163 168 bop 150 -116 a Fu(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(163)772 299 y Ft(COMPREPLY=\()45
+%%Page: 164 170
+TeXDict begin 164 169 bop 150 -116 a Fu(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(164)772 299 y Ft(COMPREPLY=\()45
b($\(compgen)g(-v)i(--)g("$cur"\))f(\))581 408 y(fi)581
628 y(return)g(0)390 737 y(})275 872 y Fu(W)-8 b(e)31
b(install)g(the)g(completion)h(function)e(using)f(the)i
40 w(completion)h(pac)m(k)-5 b(age)57 b(is)e(distributed)f(with)h(bash)
f(in)h(the)150 3626 y Ft(examples/complete)26 b Fu(sub)s(directory)-8
b(.)p eop end
-%%Page: 164 170
-TeXDict begin 164 169 bop 3614 -116 a Fu(164)150 299
+%%Page: 165 171
+TeXDict begin 165 170 bop 3614 -116 a Fu(165)150 299
y Fp(9)80 b(Using)53 b(History)g(In)l(teractiv)l(ely)150
527 y Fu(This)42 b(c)m(hapter)h(describ)s(es)f(ho)m(w)g(to)h(use)g(the)
f Fm(gnu)h Fu(History)g(Library)e(in)m(teractiv)m(ely)-8
(editing,)i(searc)m(h)e(commands)f(are)h(a)m(v)-5 b(ailable)25
b(in)d(eac)m(h)h(editing)g(mo)s(de)f(that)150 4878 y(pro)m(vide)30
b(access)i(to)f(the)g(history)f(list)h(\(see)h(Section)f(8.4.2)h
-([Commands)d(F)-8 b(or)31 b(History],)h(page)f(145\).)275
+([Commands)d(F)-8 b(or)31 b(History],)h(page)f(146\).)275
5011 y(The)47 b(shell)i(allo)m(ws)h(con)m(trol)f(o)m(v)m(er)h(whic)m(h)
e(commands)g(are)h(sa)m(v)m(ed)g(on)f(the)h(history)f(list.)95
b(The)150 5121 y Ft(HISTCONTROL)34 b Fu(and)i Ft(HISTIGNORE)e
5340 y(a)h(m)m(ulti-line)h(command)f(in)f(the)h(same)g(history)g(en)m
(try)-8 b(,)47 b(adding)42 b(semicolons)i(where)e(necessary)h(to)p
eop end
-%%Page: 165 171
-TeXDict begin 165 170 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(165)150
+%%Page: 166 172
+TeXDict begin 166 171 bop 150 -116 a Fu(Chapter)30 b(9:)41
+b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(166)150
299 y(preserv)m(e)36 b(syn)m(tactic)h(correctness.)57
b(The)35 b Ft(lithist)e Fu(shell)j(option)g(mo)s(di\014es)f
Ft(cmdhist)e Fu(b)m(y)i(sa)m(ving)i(the)150 408 y(command)31
Ft(fc)e Fu(returns)630 5063 y(a)31 b(non-zero)g(status.)150
5211 y Ft(history)870 5340 y(history)46 b([)p Fj(n)p
Ft(])p eop end
-%%Page: 166 172
-TeXDict begin 166 171 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(166)870
+%%Page: 167 173
+TeXDict begin 167 172 bop 150 -116 a Fu(Chapter)30 b(9:)41
+b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(167)870
299 y Ft(history)46 b(-c)870 408 y(history)g(-d)h Fj(offset)870
518 y Ft(history)f(-d)h Fj(start)p Ft(-)p Fj(end)870
628 y Ft(history)f([-anrw])g([)p Fj(filename)p Ft(])870
630 5340 y(mation)33 b(asso)s(ciated)g(with)f(eac)m(h)h(history)f(en)m
(try)h(to)g(the)f(history)g(\014le,)h(mark)m(ed)f(with)g(the)p
eop end
-%%Page: 167 173
-TeXDict begin 167 172 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(167)630
+%%Page: 168 174
+TeXDict begin 168 173 bop 150 -116 a Fu(Chapter)30 b(9:)41
+b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(168)630
299 y(history)35 b(commen)m(t)g(c)m(haracter)h(as)f(describ)s(ed)f(ab)s
(o)m(v)m(e.)55 b(When)34 b(the)h(history)f(\014le)h(is)g(read,)630
408 y(lines)30 b(b)s(eginning)g(with)f(the)i(history)f(commen)m(t)h(c)m
(as)e(quoted)h(if)g(it)g(immediately)150 5340 y(precedes)30
b(the)h(closing)g(double)f(quote)h(in)f(a)h(double-quoted)g(string.)p
eop end
-%%Page: 168 174
-TeXDict begin 168 173 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(168)275
+%%Page: 169 175
+TeXDict begin 169 174 bop 150 -116 a Fu(Chapter)30 b(9:)41
+b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(169)275
299 y(Sev)m(eral)34 b(c)m(haracters)i(inhibit)d(history)h(expansion)g
(if)g(found)e(immediately)k(follo)m(wing)f(the)f(history)150
408 y(expansion)i(c)m(haracter,)j(ev)m(en)e(if)f(it)h(is)f(unquoted:)52
b(to)f Ft(!!)p Fu(,)f(and)g(substitutes)g(one)150 993
y(string)25 b(for)g(another)h(in)f(that)g(en)m(try)-8
b(.)40 b(It)25 b(is)h(describ)s(ed)e(b)s(elo)m(w)h(\(see)h(Section)g
-(9.3.1)h([Ev)m(en)m(t)g(Designators],)150 1102 y(page)d(168\).)40
+(9.3.1)h([Ev)m(en)m(t)g(Designators],)150 1102 y(page)d(169\).)40
b(This)22 b(is)h(the)h(only)f(history)g(expansion)g(that)h(do)s(es)f
(not)g(b)s(egin)g(with)g(the)g(history)g(expansion)150
1212 y(c)m(haracter.)275 1358 y(Sev)m(eral)48 b(shell)g(options)h
h(the)630 5340 y(most)31 b(recen)m(t)g(searc)m(h;)g(it)g(is)g(an)f
(error)g(if)g(there)h(is)f(no)h(previous)e(searc)m(h)i(string.)p
eop end
-%%Page: 169 175
-TeXDict begin 169 174 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(169)150
+%%Page: 170 176
+TeXDict begin 170 175 bop 150 -116 a Fu(Chapter)30 b(9:)41
+b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(170)150
299 y Ft(^)p Fj(string1)p Ft(^)p Fj(string2)p Ft(^)630
408 y Fu(Quic)m(k)32 b(Substitution.)44 b(Rep)s(eat)32
b(the)g(last)h(command,)f(replacing)g Fr(string1)40 b
(the)e(previous)f(command)150 5340 y(is)d(used)g(as)h(the)f(ev)m(en)m
(t,)i(equiv)-5 b(alen)m(t)32 b(to)f Ft(!!)p Fu(.)p eop
end
-%%Page: 170 176
-TeXDict begin 170 175 bop 150 -116 a Fu(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(170)150
+%%Page: 171 177
+TeXDict begin 171 176 bop 150 -116 a Fu(Chapter)30 b(9:)41
+b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(171)150
299 y Fk(9.3.3)63 b(Mo)s(di\014ers)150 446 y Fu(After)29
b(the)g(optional)g(w)m(ord)g(designator,)g(y)m(ou)g(can)g(add)f(a)h
(sequence)g(of)g(one)g(or)f(more)h(of)g(the)f(follo)m(wing)150
Ft(G)432 b Fu(Apply)30 b(the)g(follo)m(wing)i(`)p Ft(s)p
Fu(')f(or)f(`)p Ft(&)p Fu(')h(mo)s(di\014er)e(once)i(to)g(eac)m(h)h(w)m
(ord)e(in)g(the)g(ev)m(en)m(t.)p eop end
-%%Page: 171 177
-TeXDict begin 171 176 bop 3614 -116 a Fu(171)150 299
+%%Page: 172 178
+TeXDict begin 172 177 bop 3614 -116 a Fu(172)150 299
y Fp(10)80 b(Installing)52 b(Bash)150 539 y Fu(This)31
b(c)m(hapter)h(pro)m(vides)g(basic)g(instructions)f(for)g(installing)i
(Bash)f(on)f(the)h(v)-5 b(arious)31 b(supp)s(orted)f(plat-)150
e(con)m(trol-)330 3071 y(ling)38 b(the)f(lo)s(cations)i(where)e
Ft(bash)f Fu(and)h(other)g(\014les)g(are)h(installed)g(is)g(b)s(elo)m
(w)f(\(see)h(Section)g(10.4)330 3181 y([Installation)32
-b(Names],)g(page)f(173\).)275 3343 y(The)20 b Ft(configure)f
+b(Names],)g(page)f(174\).)275 3343 y(The)20 b Ft(configure)f
Fu(shell)i(script)g(attempts)h(to)g(guess)f(correct)i(v)-5
b(alues)21 b(for)g(v)-5 b(arious)21 b(system-dep)s(enden)m(t)150
3453 y(v)-5 b(ariables)38 b(used)f(during)f(compilation.)64
y(co)s(de)31 b(in)f Ft(/usr/local/src/bash-4.4)o Fu(:)390
5340 y Ft(mkdir)46 b(/usr/local/build/bash-4.4)p eop
end
-%%Page: 172 178
-TeXDict begin 172 177 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(172)390 299 y Ft(cd)47
+%%Page: 173 179
+TeXDict begin 173 178 bop 150 -116 a Fu(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(173)390 299 y Ft(cd)47
b(/usr/local/build/bash-4.4)390 408 y(bash)g(/usr/local/src/bash-4.4)o
(/con)o(fig)o(ure)390 518 y(make)275 652 y Fu(See)27
b(Section)h(10.3)g([Compiling)g(F)-8 b(or)27 b(Multiple)h(Arc)m
-(hitectures],)i(page)d(172,)j(for)c(more)i(information)150
+(hitectures],)i(page)d(173,)j(for)c(more)i(information)150
762 y(ab)s(out)i(building)g(in)g(a)g(directory)h(separate)h(from)e(the)
g(source.)275 896 y(If)53 b(y)m(ou)h(need)f(to)i(do)e(un)m(usual)g
(things)g(to)i(compile)g(Bash,)k(please)c(try)e(to)i(\014gure)e(out)h
3817 y(y)m(ou)k(w)m(an)m(t)h(the)g(ob)5 b(ject)41 b(\014les)f(and)f
(executables)j(to)e(go)h(and)f(run)e(the)j Ft(configure)c
Fu(script)j(from)g(the)150 3926 y(source)32 b(directory)h(\(see)g
-(Section)f(10.1)i([Basic)f(Installation],)i(page)e(171\).)47
+(Section)f(10.1)i([Basic)f(Installation],)i(page)e(172\).)47
b(Y)-8 b(ou)32 b(ma)m(y)h(need)f(to)g(supply)150 4036
y(the)43 b Ft(--srcdir=PATH)c Fu(argumen)m(t)k(to)h(tell)g
Ft(configure)c Fu(where)i(the)h(source)g(\014les)g(are.)78
h(one)150 5340 y(arc)m(hitecture)32 b(b)s(efore)e(y)m(ou)h(can)f
(create)i(build)e(directories)h(for)f(other)h(arc)m(hitectures.)p
eop end
-%%Page: 173 179
-TeXDict begin 173 178 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(173)150 299 y Fs(10.4)68
+%%Page: 174 180
+TeXDict begin 174 179 bop 150 -116 a Fu(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(174)150 299 y Fs(10.4)68
b(Installation)47 b(Names)150 458 y Fu(By)36 b(default,)g(`)p
Ft(make)30 b(install)p Fu(')j(will)j(install)g(in)m(to)g
Ft(/usr/local/bin)p Fu(,)d Ft(/usr/local/man)p Fu(,)g(etc.;)39
b(A)40 b(w)m(arning:)58 b(the)40 b(Bash)g Ft(configure)c
Fu(lo)s(oks)k(for)f(a)h(site)150 5340 y(script,)31 b(but)e(not)i(all)g
Ft(configure)d Fu(scripts)i(do.)p eop end
-%%Page: 174 180
-TeXDict begin 174 179 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(174)150 299 y Fs(10.7)68
+%%Page: 175 181
+TeXDict begin 175 180 bop 150 -116 a Fu(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(175)150 299 y Fs(10.7)68
b(Op)t(eration)46 b(Con)l(trols)150 458 y Ft(configure)28
b Fu(recognizes)k(the)e(follo)m(wing)i(options)f(to)g(con)m(trol)h(ho)m
(w)e(it)h(op)s(erates.)150 619 y Ft(--cache-file=)p Fj(file)630
b(.)150 5230 y Ft(--with-gnu-malloc)630 5340 y Fu(A)30
b(synon)m(ym)g(for)g Ft(--with-bash-malloc)p Fu(.)p eop
end
-%%Page: 175 181
-TeXDict begin 175 180 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(175)150 299 y Ft
+%%Page: 176 182
+TeXDict begin 176 181 bop 150 -116 a Fu(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(176)150 299 y Ft
(--with-installed-readlin)o(e[=)p Fj(P)o(REFI)o(X)p Ft(])630
408 y Fu(De\014ne)26 b(this)f(to)h(mak)m(e)h(Bash)f(link)f(with)g(a)h
(lo)s(cally-installed)i(v)m(ersion)e(of)g(Readline)g(rather)630
y(`)p Ft(disabled-builtins)p Fu(',)212 b(`)p Ft(direxpand-default)p
Fu(',)h(`)p Ft(strict-posix-default)p Fu(',)f(and)p eop
end
-%%Page: 176 182
-TeXDict begin 176 181 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(176)150 299 y(`)p Ft(xpg-echo-default)p
+%%Page: 177 183
+TeXDict begin 177 182 bop 150 -116 a Fu(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(177)150 299 y(`)p Ft(xpg-echo-default)p
Fu(')28 b(are)33 b(enabled)f(b)m(y)g(default,)h(unless)e(the)i(op)s
(erating)f(system)h(do)s(es)e(not)i(pro)m(vide)150 408
y(the)e(necessary)f(supp)s(ort.)150 555 y Ft(--enable-alias)630
2125 y Ft(--enable-bang-history)630 2235 y Fu(Include)36
b(supp)s(ort)f(for)h Ft(csh)p Fu(-lik)m(e)h(history)g(substitution)f
(\(see)h(Section)g(9.3)h([History)f(In-)630 2345 y(teraction],)c(page)e
-(167\).)150 2491 y Ft(--enable-bash-source-ful)o(lpat)o(h-de)o(fau)o
+(168\).)150 2491 y Ft(--enable-bash-source-ful)o(lpat)o(h-de)o(fau)o
(lt)630 2600 y Fu(Set)21 b(the)f(default)h(v)-5 b(alue)21
b(of)g(the)g Ft(bash_source_fullpath)15 b Fu(shell)20
b(option)h(describ)s(ed)f(ab)s(o)m(v)m(e)630 2710 y(under)30
Ft([[)f Fu(conditional)h(command.)39 b(\(see)25 b(Section)h(3.2.5.2)h
([Conditional)e(Con-)630 5340 y(structs],)31 b(page)g(12\).)p
eop end
-%%Page: 177 183
-TeXDict begin 177 182 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(177)150 299 y Ft(--enable-coprocesses)630
+%%Page: 178 184
+TeXDict begin 178 183 bop 150 -116 a Fu(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(178)150 299 y Ft(--enable-coprocesses)630
408 y Fu(Include)23 b(supp)s(ort)f(for)i(copro)s(cesses)g(and)f(the)h
Ft(coproc)e Fu(reserv)m(ed)i(w)m(ord)g(\(see)h(Section)f(3.2.3)630
518 y([Pip)s(elines],)31 b(page)g(10\).)150 664 y Ft(--enable-debugger)
(59\).)150 5121 y Ft(--enable-history)630 5230 y Fu(Include)e(command)g
(history)h(and)f(the)h Ft(fc)f Fu(and)g Ft(history)e
Fu(builtin)j(commands)f(\(see)h(Sec-)630 5340 y(tion)h(9.1)g([Bash)g
-(History)g(F)-8 b(acilities],)34 b(page)d(164\).)p eop
+(History)g(F)-8 b(acilities],)34 b(page)d(165\).)p eop
end
-%%Page: 178 184
-TeXDict begin 178 183 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(178)150 299 y Ft(--enable-job-control)630
+%%Page: 179 185
+TeXDict begin 179 184 bop 150 -116 a Fu(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(179)150 299 y Ft(--enable-job-control)630
408 y Fu(This)32 b(enables)i(the)f(job)g(con)m(trol)i(features)e(\(see)
i(Chapter)d(7)i([Job)f(Con)m(trol],)i(page)f(123\),)630
518 y(if)c(the)h(op)s(erating)g(system)f(supp)s(orts)f(them.)150
(erating)f(system)h(pro)m(vides)f(the)h(necessary)g(supp)s(ort.)150
1906 y Ft(--enable-progcomp)630 2016 y Fu(Enable)d(the)g(programmable)g
(completion)i(facilities)g(\(see)f(Section)g(8.6)g([Programmable)630
-2125 y(Completion],)i(page)h(155\).)42 b(If)30 b(Readline)h(is)f(not)h
+2125 y(Completion],)i(page)h(156\).)42 b(If)30 b(Readline)h(is)f(not)h
(enabled,)f(this)h(option)g(has)f(no)g(e\013ect.)150
2281 y Ft(--enable-prompt-string-d)o(ecod)o(ing)630 2390
y Fu(T)-8 b(urn)30 b(on)i(the)f(in)m(terpretation)i(of)f(a)g(n)m(um)m
2874 y Fu(Include)e(supp)s(ort)f(for)h(command-line)h(editing)g(and)f
(history)g(with)g(the)h(Bash)g(v)m(ersion)g(of)630 2984
y(the)i(Readline)g(library)f(\(see)h(Chapter)f(8)g([Command)g(Line)g
-(Editing],)h(page)g(127\).)150 3139 y Ft(--enable-restricted)630
+(Editing],)h(page)g(128\).)150 3139 y Ft(--enable-restricted)630
3249 y Fu(Include)25 b(supp)s(ort)e(for)i(a)h Fr(restricted)g(shell)p
Fu(.)39 b(If)25 b(this)g(is)h(enabled,)g(Bash)g(en)m(ters)g(a)f
(restricted)630 3358 y(mo)s(de)30 b(when)f(called)i(as)g
b(page)f(7\).)150 5230 y Ft(--enable-usg-echo-defaul)o(t)630
5340 y Fu(A)f(synon)m(ym)g(for)g Ft(--enable-xpg-echo-default)p
Fu(.)p eop end
-%%Page: 179 185
-TeXDict begin 179 184 bop 150 -116 a Fu(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(179)150 299 y Ft
+%%Page: 180 186
+TeXDict begin 180 185 bop 150 -116 a Fu(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(180)150 299 y Ft
(--enable-xpg-echo-defaul)o(t)630 408 y Fu(Mak)m(e)26
b(the)f Ft(echo)e Fu(builtin)i(expand)f(bac)m(kslash-escap)s(ed)h(c)m
(haracters)h(b)m(y)f(default,)h(without)630 518 y(requiring)d(the)h
b(the)g(commen)m(ts)g(asso)s(ciated)h(with)e(eac)m(h)i(de\014nition)e
(for)g(more)150 1335 y(information)c(ab)s(out)f(its)h(e\013ect.)p
eop end
-%%Page: 180 186
-TeXDict begin 180 185 bop 3614 -116 a Fu(180)150 299
+%%Page: 181 187
+TeXDict begin 181 186 bop 3614 -116 a Fu(181)150 299
y Fp(App)t(endix)52 b(A)81 b(Rep)t(orting)53 b(Bugs)150
533 y Fu(Please)33 b(rep)s(ort)e(all)h(bugs)f(y)m(ou)h(\014nd)e(in)i
(Bash.)44 b(But)32 b(\014rst,)g(y)m(ou)g(should)e(mak)m(e)j(sure)e
2511 y(bug)h(rep)s(ort.)275 2645 y(Please)h(send)f(all)h(rep)s(orts)f
(concerning)g(this)h(man)m(ual)f(to)h Ft(bug-bash@gnu.org)p
Fu(.)p eop end
-%%Page: 181 187
-TeXDict begin 181 186 bop 3614 -116 a Fu(181)150 141
+%%Page: 182 188
+TeXDict begin 182 187 bop 3614 -116 a Fu(182)150 141
y Fp(App)t(endix)58 b(B)81 b(Ma)9 b(jor)54 b(Di\013erences)d(F)-13
b(rom)54 b(The)g(Bourne)1088 299 y(Shell)150 518 y Fu(Bash)26
b(implemen)m(ts)h(essen)m(tially)g(the)g(same)f(grammar,)h(parameter)f
(Shell],)330 1789 y(page)31 b(113\);)h(the)f(SVR4.2)g(shell)g
(restricted)g(mo)s(de)f(is)g(to)s(o)h(limited.)225 1921
y Fq(\017)60 b Fu(Bash)40 b(has)f(command-line)h(editing)g(\(see)h
-(Chapter)e(8)h([Command)f(Line)g(Editing],)k(page)d(127\))330
+(Chapter)e(8)h([Command)f(Line)g(Editing],)k(page)d(128\))330
2030 y(and)30 b(the)g Ft(bind)g Fu(builtin.)225 2162
y Fq(\017)60 b Fu(Bash)46 b(pro)m(vides)g(a)g(programmable)g(w)m(ord)f
(completion)i(mec)m(hanism)f(\(see)h(Section)g(8.6)g([Pro-)330
-2271 y(grammable)39 b(Completion],)i(page)e(155\),)i(and)d(builtin)g
+2271 y(grammable)39 b(Completion],)i(page)e(156\),)i(and)d(builtin)g
(commands)f Ft(complete)p Fu(,)h Ft(compgen)p Fu(,)h(and)330
2381 y Ft(compopt)p Fu(,)29 b(to)i(manipulate)g(it.)225
2513 y Fq(\017)60 b Fu(Bash)35 b(deco)s(des)g(a)h(n)m(um)m(b)s(er)e(of)
b(b)s(efore)e(issuing)h(eac)m(h)330 2995 y(primary)29
b(prompt.)225 3126 y Fq(\017)60 b Fu(Bash)26 b(has)f(command)h(history)
f(\(see)i(Section)f(9.1)h([Bash)f(History)h(F)-8 b(acilities],)30
-b(page)c(164\))i(and)d(the)330 3236 y Ft(history)k Fu(and)h
+b(page)c(165\))i(and)d(the)330 3236 y Ft(history)k Fu(and)h
Ft(fc)g Fu(builtins)g(to)h(manipulate)g(it.)42 b(The)30
b(Bash)h(history)g(list)g(main)m(tains)g(timestamp)330
3345 y(information)g(and)e(uses)h(the)h(v)-5 b(alue)31
b(to)f(displa)m(y)f(it.)225 3477 y Fq(\017)60 b Fu(Bash)48
b(implemen)m(ts)h Ft(csh)p Fu(-lik)m(e)g(history)f(expansion)g(\(see)h
(Section)g(9.3)h([History)f(In)m(teraction],)330 3587
-y(page)31 b(167\).)225 3718 y Fq(\017)60 b Fu(Bash)34
+y(page)31 b(168\).)225 3718 y Fq(\017)60 b Fu(Bash)34
b(supp)s(orts)e(the)i Ft($'...)o(')f Fu(quoting)h(syn)m(tax,)i(whic)m
(h)d(expands)g(ANSI-C)h(bac)m(kslash-escap)s(ed)330 3828
y(c)m(haracters)28 b(in)e(the)h(text)h(b)s(et)m(w)m(een)f(the)g(single)
(pip)s(eline)f(to)i(return)330 5340 y(a)31 b(failure)f(status)h(if)f
(an)m(y)h(command)f(fails)h(\(see)g(Section)h(4.3.1)g([The)e(Set)g
(Builtin],)i(page)f(71\).)p eop end
-%%Page: 182 188
-TeXDict begin 182 187 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 183 189
+TeXDict begin 183 188 bop 150 -116 a Fu(App)s(endix)29
b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(182)225 299 y Fq(\017)60
+b(The)f(Bourne)g(Shell)1258 b(183)225 299 y Fq(\017)60
b Fu(Bash)34 b(has)g(the)g Ft(time)f Fu(reserv)m(ed)h(w)m(ord)g(and)f
(command)h(timing)h(\(see)g(Section)g(3.2.3)g([Pip)s(elines],)330
408 y(page)d(10\).)43 b(The)31 b(displa)m(y)g(of)g(the)g(timing)h
5340 y(Expansion],)g(page)h(27\),)h(with)e(a)h(mec)m(hanism)g(to)g(use)
f(the)g(matc)m(hed)i(text)f(in)f Fr(replacemen)m(t)p
Fu(.)p eop end
-%%Page: 183 189
-TeXDict begin 183 188 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 184 190
+TeXDict begin 184 189 bop 150 -116 a Fu(App)s(endix)29
b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(183)225 299 y Fq(\017)60
+b(The)f(Bourne)g(Shell)1258 b(184)225 299 y Fq(\017)60
b Fu(The)33 b(expansion)g Ft(${!)p Fj(prefix)p Ft(*})d
Fu(expansion,)k(whic)m(h)e(expands)h(to)h(the)f(names)g(of)g(all)h
(shell)f(v)-5 b(ari-)330 408 y(ables)36 b(whose)g(names)g(b)s(egin)g
Fu(builtin,)i(and)e(th)m(us)330 5340 y(users)i(can)g(write)h(useful)e
(recursiv)m(e)i(functions)f(\(see)h(Section)h(4.2)f([Bash)g(Builtins],)
g(page)g(59\).)p eop end
-%%Page: 184 190
-TeXDict begin 184 189 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 185 191
+TeXDict begin 185 190 bop 150 -116 a Fu(App)s(endix)29
b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(184)225 299 y Fq(\017)60
+b(The)f(Bourne)g(Shell)1258 b(185)225 299 y Fq(\017)60
b Fu(Bash)44 b(p)s(erforms)e(\014lename)i(expansion)f(on)h(\014lenames)
g(sp)s(eci\014ed)f(as)h(op)s(erands)e(to)j(input)e(and)330
408 y(output)30 b(redirection)h(op)s(erators)g(\(see)g(Section)g(3.6)h
(sending)i Ft(SIGHUP)e Fu(to)i(a)g(job)g(when)f(the)h(shell)330
5340 y(exits)d(as)g(the)f(result)h(of)f(a)h Ft(SIGHUP)p
Fu(.)p eop end
-%%Page: 185 191
-TeXDict begin 185 190 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 186 192
+TeXDict begin 186 191 bop 150 -116 a Fu(App)s(endix)29
b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(185)225 299 y Fq(\017)60
+b(The)f(Bourne)g(Shell)1258 b(186)225 299 y Fq(\017)60
b Fu(The)40 b Ft(enable)e Fu(builtin)i(\(see)h(Section)g(4.2)g([Bash)f
(Builtins],)k(page)c(59\))i(can)e(enable)h(or)f(disable)330
408 y(individual)28 b(builtins)h(and)f(implemen)m(ts)i(supp)s(ort)d
5340 y(unset)30 b(at)h(shell)g(in)m(v)m(o)s(cation)h(\(see)f(Section)h
(6.1)f([In)m(v)m(oking)g(Bash],)g(page)h(98\).)p eop
end
-%%Page: 186 192
-TeXDict begin 186 191 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 187 193
+TeXDict begin 187 192 bop 150 -116 a Fu(App)s(endix)29
b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(186)225 299 y Fq(\017)60
+b(The)f(Bourne)g(Shell)1258 b(187)225 299 y Fq(\017)60
b Fu(The)28 b Ft(test)g Fu(builtin)h(\(see)h(Section)f(4.1)h([Bourne)f
(Shell)g(Builtins],)h(page)g(50\))g(is)f(sligh)m(tly)h(di\013eren)m(t,)
330 408 y(as)23 b(it)g(implemen)m(ts)f(the)h Fm(posix)f
(or)e(out)h(of)g(a)g(shell)f(con)m(trol)i(structure)330
5340 y(suc)m(h)d(as)h(an)f Ft(if)g Fu(or)g Ft(while)f
Fu(statemen)m(t.)p eop end
-%%Page: 187 193
-TeXDict begin 187 192 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 188 194
+TeXDict begin 188 193 bop 150 -116 a Fu(App)s(endix)29
b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(187)225 299 y Fq(\017)60
+b(The)f(Bourne)g(Shell)1258 b(188)225 299 y Fq(\017)60
b Fu(Bash)29 b(do)s(es)f(not)h(allo)m(w)h(un)m(balanced)f(quotes.)41
b(The)28 b(SVR4.2)h(shell)g(will)g(silen)m(tly)i(insert)d(a)h(needed)
330 408 y(closing)g(quote)g(at)f Ft(EOF)f Fu(under)g(certain)h
h(con)m(trol)i(is)e(not)h(activ)m(e,)k(Bash)38 b(runs)f(the)h(last)330
2690 y(elemen)m(t)32 b(of)e(a)h(pip)s(eline)f(in)g(the)h(curren)m(t)f
(shell)g(execution)i(en)m(vironmen)m(t.)p eop end
-%%Page: 188 194
-TeXDict begin 188 193 bop 3614 -116 a Fu(188)150 299
+%%Page: 189 195
+TeXDict begin 189 194 bop 3614 -116 a Fu(189)150 299
y Fp(App)t(endix)52 b(C)81 b(GNU)54 b(F)-13 b(ree)53
b(Do)t(cumen)l(tation)e(License)1359 502 y Fu(V)-8 b(ersion)31
b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390 635 y(Cop)m(yrigh)m(t)842
5340 y(b)s(eing)e(those)h(of)g(In)m(v)-5 b(arian)m(t)27
b(Sections,)i(in)d(the)h(notice)h(that)f(sa)m(ys)g(that)g(the)g(Do)s
(cumen)m(t)g(is)g(released)p eop end
-%%Page: 189 195
-TeXDict begin 189 194 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 190 196
+TeXDict begin 190 195 bop 150 -116 a Fu(App)s(endix)29
b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(189)330 299 y(under)26 b(this)i(License.)40 b(If)27
+b(190)330 299 y(under)26 b(this)i(License.)40 b(If)27
b(a)h(section)h(do)s(es)f(not)f(\014t)h(the)g(ab)s(o)m(v)m(e)h
(de\014nition)e(of)h(Secondary)f(then)h(it)g(is)330 408
y(not)k(allo)m(w)m(ed)i(to)e(b)s(e)g(designated)g(as)g(In)m(v)-5
b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g(and)f(has)h(no)330
5189 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h(this)f(License.)199
5340 y(2.)61 b(VERBA)-8 b(TIM)31 b(COPYING)p eop end
-%%Page: 190 196
-TeXDict begin 190 195 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 191 197
+TeXDict begin 191 196 bop 150 -116 a Fu(App)s(endix)29
b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(190)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h
+b(191)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h
(the)g(Do)s(cumen)m(t)h(in)f(an)m(y)g(medium,)h(either)g(commercially)h
(or)330 408 y(noncommercially)-8 b(,)48 b(pro)m(vided)42
b(that)h(this)f(License,)47 b(the)42 b(cop)m(yrigh)m(t)i(notices,)j
5340 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m
(ersions)h(\(whic)m(h)g(should,)g(if)g(there)g(w)m(ere)g(an)m(y)-8
b(,)p eop end
-%%Page: 191 197
-TeXDict begin 191 196 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 192 198
+TeXDict begin 192 197 bop 150 -116 a Fu(App)s(endix)29
b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(191)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
+b(192)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
(the)f(Do)s(cumen)m(t\).)45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same)
h(title)h(as)510 408 y(a)e(previous)f(v)m(ersion)g(if)h(the)f(original)
i(publisher)d(of)h(that)h(v)m(ersion)g(giv)m(es)h(p)s(ermission.)360
(designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e(in)m(v)-5
b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)p
eop end
-%%Page: 192 198
-TeXDict begin 192 197 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 193 199
+TeXDict begin 193 198 bop 150 -116 a Fu(App)s(endix)29
b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(192)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5
+b(193)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5
b(arian)m(t)36 b(Sections)g(in)f(the)h(Mo)s(di\014ed)f(V)-8
b(ersion's)36 b(license)g(notice.)57 b(These)330 408
y(titles)32 b(m)m(ust)e(b)s(e)g(distinct)h(from)e(an)m(y)i(other)g
5230 y(do)s(cumen)m(t,)d(and)f(follo)m(w)i(this)e(License)h(in)g(all)g
(other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330
5340 y(that)d(do)s(cumen)m(t.)p eop end
-%%Page: 193 199
-TeXDict begin 193 198 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 194 200
+TeXDict begin 194 199 bop 150 -116 a Fu(App)s(endix)29
b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(193)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h
+b(194)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h
(W)m(ORKS)330 441 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f
(its)g(deriv)-5 b(ativ)m(es)30 b(with)d(other)i(separate)g(and)e(indep)
s(enden)m(t)330 551 y(do)s(cumen)m(ts)33 b(or)g(w)m(orks,)h(in)f(or)h
(reinstated,)i(receipt)f(of)f(a)g(cop)m(y)h(of)f(some)h(or)f(all)h(of)f
(the)330 5340 y(same)31 b(material)h(do)s(es)e(not)g(giv)m(e)i(y)m(ou)f
(an)m(y)g(righ)m(ts)f(to)i(use)e(it.)p eop end
-%%Page: 194 200
-TeXDict begin 194 199 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 195 201
+TeXDict begin 195 200 bop 150 -116 a Fu(App)s(endix)29
b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(194)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)
+b(195)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)
330 433 y(The)41 b(F)-8 b(ree)43 b(Soft)m(w)m(are)f(F)-8
b(oundation)43 b(ma)m(y)f(publish)e(new,)k(revised)d(v)m(ersions)h(of)g
(the)g(GNU)g(F)-8 b(ree)330 543 y(Do)s(cumen)m(tation)34
g(under)330 3895 y(CC-BY-SA)30 b(on)g(the)h(same)f(site)h(at)g(an)m(y)g
(time)g(b)s(efore)e(August)h(1,)h(2009,)h(pro)m(vided)e(the)g(MMC)h(is)
330 4005 y(eligible)h(for)e(relicensing.)p eop end
-%%Page: 195 201
-TeXDict begin 195 200 bop 150 -116 a Fu(App)s(endix)29
+%%Page: 196 202
+TeXDict begin 196 201 bop 150 -116 a Fu(App)s(endix)29
b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(195)150 299 y Fs(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
+b(196)150 299 y Fs(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f
(for)g(y)l(our)g(do)t(cumen)l(ts)150 458 y Fu(T)-8 b(o)35
b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m(t)g(y)m(ou)f(ha)m(v)m(e)
i(written,)g(include)f(a)f(cop)m(y)i(of)f(the)f(License)h(in)g(the)150
b(as)g(the)g(GNU)150 2331 y(General)31 b(Public)f(License,)i(to)f(p)s
(ermit)e(their)i(use)f(in)g(free)g(soft)m(w)m(are.)p
eop end
-%%Page: 196 202
-TeXDict begin 196 201 bop 3614 -116 a Fu(196)150 299
+%%Page: 197 203
+TeXDict begin 197 202 bop 3614 -116 a Fu(197)150 299
y Fp(App)t(endix)52 b(D)81 b(Indexes)150 639 y Fs(D.1)68
b(Index)45 b(of)g(Shell)g(Builtin)g(Commands)146 806
y(.)150 922 y Fe(.)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
h(:)f(:)g(:)g(:)g(:)35 b Fb(61)150 3203 y Fe(compgen)18
b Fc(:)d(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)33 b Fb(157)150 3290 y Fe(complete)16
+(:)h(:)f(:)g(:)33 b Fb(158)150 3290 y Fe(complete)16
b Fc(:)f(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)31 b Fb(158)150 3378 y Fe(compopt)18 b Fc(:)d(:)e(:)g(:)h(:)
+(:)g(:)g(:)31 b Fb(159)150 3378 y Fe(compopt)18 b Fc(:)d(:)e(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33
-b Fb(161)150 3465 y Fe(continue)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g
+b Fb(162)150 3465 y Fe(continue)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b
Fb(52)146 3699 y Fs(D)150 3816 y Fe(declare)22 b Fc(:)13
g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(53)150 5227 y Fe(fc)14
b Fc(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)29 b Fb(165)150
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)29 b Fb(166)150
5314 y Fe(fg)14 b Fc(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)29
-b Fb(124)2021 871 y Fs(G)2025 988 y Fe(getopts)22 b Fc(:)13
+b Fb(125)2021 871 y Fs(G)2025 988 y Fe(getopts)22 b Fc(:)13
b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)35 b Fb(53)2021 1250 y Fs(H)2025 1369 y Fe(hash)11
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b
Fb(65)2025 1544 y Fe(history)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(165)2021
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(166)2021
1806 y Fs(J)2025 1924 y Fe(jobs)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24
-b Fb(124)2021 2186 y Fs(K)2025 2303 y Fe(kill)9 b Fc(:)14
+b Fb(125)2021 2186 y Fs(K)2025 2303 y Fe(kill)9 b Fc(:)14
b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(125)2021 2554 y Fs(L)2025
5235 y Fe(suspend)d Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(126)p eop end
-%%Page: 197 203
-TeXDict begin 197 202 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(197)146 294 y Fs(T)150 410 y Fe(test)11
+%%Page: 198 204
+TeXDict begin 198 203 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(198)146 294 y Fs(T)150 410 y Fe(test)11
b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25 b Fb(55)150 497
294 y Fs(W)2025 434 y Fe(wait)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24
-b Fb(125)150 2167 y Fs(D.2)68 b(Index)45 b(of)g(Shell)g(Reserv)l(ed)h
+b Fb(126)150 2167 y Fs(D.2)68 b(Index)45 b(of)g(Shell)g(Reserv)l(ed)h
(W)-11 b(ords)146 2704 y(!)150 2820 y Fe(!)19 b Fc(:)13
b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23
b Fb(12)p eop end
-%%Page: 198 204
-TeXDict begin 198 203 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(198)150 299 y Fs(D.3)68 b(P)l(arameter)47
+%%Page: 199 205
+TeXDict begin 199 204 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(199)150 299 y Fs(D.3)68 b(P)l(arameter)47
b(and)d(V)-11 b(ariable)46 b(Index)146 955 y(!)150 1072
y Fe(!)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33
b Fb(24)146 4991 y Fs(A)150 5108 y Fe(active-region-end-color)12
b Fc(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)26 b Fb(131)150 5196 y Fe(active-region-start-color)
+(:)g(:)g(:)g(:)h(:)26 b Fb(132)150 5196 y Fe(active-region-start-color)
7 b Fc(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)21 b Fb(131)150 5283 y Fe(auto_resume)8 b
+g(:)g(:)h(:)21 b Fb(132)150 5283 y Fe(auto_resume)8 b
Fc(:)16 b(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-23 b Fb(126)2021 954 y Fs(B)2025 1071 y Fe(BASH)11 b
+23 b Fb(127)2021 954 y Fs(B)2025 1071 y Fe(BASH)11 b
Fc(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(85)2025 1159
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35
b Fb(85)2025 2998 y Fe(bell-style)11 b Fc(:)k(:)e(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)26 b Fb(131)2025
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)26 b Fb(132)2025
3086 y Fe(bind-tty-special-chars)14 b Fc(:)k(:)13 b(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)29
-b Fb(132)2025 3173 y Fe(blink-matching-paren)24 b Fc(:)13
+b Fb(133)2025 3173 y Fe(blink-matching-paren)24 b Fc(:)13
b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)34 b Fb(132)2021 3426 y Fs(C)2025
+(:)g(:)g(:)g(:)h(:)34 b Fb(133)2021 3426 y Fs(C)2025
3543 y Fe(CDPATH)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(88)2025
3719 y Fe(colored-completion-prefix)7 b Fc(:)18 b(:)13
b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22
-b Fb(132)2025 3806 y Fe(colored-stats)h Fc(:)13 b(:)g(:)g(:)g(:)h(:)f
+b Fb(133)2025 3806 y Fe(colored-stats)h Fc(:)13 b(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(132)2025 3894 y Fe(COLUMNS)22
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(133)2025 3894 y Fe(COLUMNS)22
b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)35 b Fb(88)2025 3981 y Fe(comment-begin)23
b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35
-b Fb(132)2025 4069 y Fe(COMP_CWORD)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g
+b Fb(133)2025 4069 y Fe(COMP_CWORD)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(88)2025
4157 y Fe(COMP_KEY)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)27 b Fb(89)2025 4682 y Fe(completion-display-width)9
b Fc(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)24 b Fb(132)2025 4770 y Fe(completion-ignore-case)14
+(:)h(:)f(:)g(:)24 b Fb(133)2025 4770 y Fe(completion-ignore-case)14
b Fc(:)k(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)29 b Fb(132)2025 4857 y Fe(completion-map-case)d
+(:)g(:)g(:)h(:)f(:)29 b Fb(133)2025 4857 y Fe(completion-map-case)d
Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(132)2025 4945
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(133)2025 4945
y Fe(completion-prefix-display-leng)q(th)29 b Fc(:)13
-b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)38 b Fb(132)2025 5033
+b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)38 b Fb(133)2025 5033
y Fe(completion-query-items)14 b Fc(:)k(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)29
-b Fb(133)2025 5120 y Fe(COMPREPLY)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g
+b Fb(134)2025 5120 y Fe(COMPREPLY)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b
Fb(89)2025 5208 y Fe(convert-meta)25 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(133)2025 5295
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(134)2025 5295
y Fe(COPROC)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(89)p
eop end
-%%Page: 199 205
-TeXDict begin 199 204 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(199)146 294 y Fs(D)150 411 y Fe(DIRSTACK)18
+%%Page: 200 206
+TeXDict begin 200 205 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(200)146 294 y Fs(D)150 411 y Fe(DIRSTACK)18
b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)32 b Fb(89)150 499 y Fe(disable-completion)7
b Fc(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(133)146
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(134)146
754 y Fs(E)150 872 y Fe(echo-control-characters)12 b
Fc(:)18 b(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)26 b Fb(133)150 959 y Fe(editing-mode)f
+g(:)g(:)g(:)h(:)26 b Fb(134)150 959 y Fe(editing-mode)f
Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)37
-b Fb(133)150 1047 y Fe(emacs-mode-string)10 b Fc(:)17
+b Fb(134)150 1047 y Fe(emacs-mode-string)10 b Fc(:)17
b(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)25 b Fb(133)150 1135
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)25 b Fb(134)150 1135
y Fe(EMACS)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(89)150
1222 y Fe(enable-active-region)30 b(The)16 b Fc(:)e(:)f(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)31
-b Fb(134)150 1310 y Fe(enable-bracketed-paste)14 b Fc(:)k(:)c(:)f(:)g
+b Fb(135)150 1310 y Fe(enable-bracketed-paste)14 b Fc(:)k(:)c(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)29
-b Fb(134)150 1398 y Fe(enable-keypad)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g
+b Fb(135)150 1398 y Fe(enable-keypad)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(134)150 1486 y Fe(enable-meta-key)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(135)150 1486 y Fe(enable-meta-key)
15 b Fc(:)i(:)c(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)30
-b Fb(134)150 1573 y Fe(ENV)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+b Fb(135)150 1573 y Fe(ENV)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28
b Fb(89)150 1661 y Fe(EPOCHREALTIME)d Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)27 b Fb(90)150
2011 y Fe(expand-tilde)e Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)37 b Fb(134)146 2267 y Fs(F)150 2384
+g(:)g(:)g(:)h(:)37 b Fb(135)146 2267 y Fs(F)150 2384
y Fe(FCEDIT)6 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)20 b Fb(90)150
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(90)150
2560 y Fe(force-meta-prefix)10 b Fc(:)17 b(:)c(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)25 b Fb(134)150 2647 y Fe(FUNCNAME)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h
+g(:)25 b Fb(135)150 2647 y Fe(FUNCNAME)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32
b Fb(90)150 2735 y Fe(FUNCNEST)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)27 b Fb(92)150 4159 y
Fe(history-preserve-point)14 b Fc(:)k(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)29 b Fb(135)150
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)29 b Fb(136)150
4247 y Fe(history-size)c Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)37 b Fb(135)150 4334 y Fe(HISTSIZE)18
+g(:)g(:)g(:)h(:)37 b Fb(136)150 4334 y Fe(HISTSIZE)18
b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)32 b Fb(92)150 4422 y Fe(HISTTIMEFORMAT)23
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25
b Fb(84)150 4598 y Fe(horizontal-scroll-mode)14 b Fc(:)k(:)c(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)29
-b Fb(135)150 4685 y Fe(HOSTFILE)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g
+b Fb(136)150 4685 y Fe(HOSTFILE)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b
Fb(93)150 4773 y Fe(HOSTNAME)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(93)2025
600 y Fe(input-meta)11 b Fc(:)k(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)26 b Fb(135)2025 691 y Fe(INPUTRC)c
+h(:)f(:)g(:)g(:)g(:)g(:)26 b Fb(136)2025 691 y Fe(INPUTRC)c
Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)35 b Fb(93)2025 781 y Fe(INSIDE_EMACS)8
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
22 b Fb(93)2025 868 y Fe(isearch-terminators)k Fc(:)13
b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(135)2021 1167 y Fs(K)2025
+(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(136)2021 1167 y Fs(K)2025
1290 y Fe(keymap)22 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 b Fb(135)2021
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 b Fb(136)2021
1601 y Fs(L)2025 1727 y Fe(LANG)20 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)35
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(94)2025 3323
y Fe(mark-modified-lines)26 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
-b Fb(136)2025 3414 y Fe(mark-symlinked-directories)27
+b Fb(137)2025 3414 y Fe(mark-symlinked-directories)27
b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-36 b Fb(136)2025 3504 y Fe(match-hidden-files)7 b Fc(:)17
+36 b Fb(137)2025 3504 y Fe(match-hidden-files)7 b Fc(:)17
b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)22 b Fb(136)2025 3594
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)22 b Fb(137)2025 3594
y Fe(menu-complete-display-prefix)17 b Fc(:)h(:)13 b(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)31 b Fb(136)2025 3681 y Fe(meta-flag)13
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)31 b Fb(137)2025 3681 y Fe(meta-flag)13
b Fc(:)i(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)28 b Fb(135)2021 3992 y Fs(O)2025 4118 y Fe(OLDPWD)6
+(:)f(:)28 b Fb(136)2021 3992 y Fs(O)2025 4118 y Fe(OLDPWD)6
b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(94)2025 4208 y Fe(OPTARG)6
h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(94)2025 4567 y Fe(output-meta)8
b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-23 b Fb(136)p eop end
-%%Page: 200 206
-TeXDict begin 200 205 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(200)146 294 y Fs(P)150 410 y Fe(page-completions)
+23 b Fb(137)p eop end
+%%Page: 201 207
+TeXDict begin 201 206 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(201)146 294 y Fs(P)150 410 y Fe(page-completions)
13 b Fc(:)j(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)27 b Fb(136)150
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)27 b Fb(137)150
497 y Fe(PATH)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(95)150 2327 y
Fe(revert-all-at-newline)17 b Fc(:)h(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)32
-b Fb(137)146 2560 y Fs(S)150 2676 y Fe(search-ignore-case)7
+b Fb(138)146 2560 y Fs(S)150 2676 y Fe(search-ignore-case)7
b Fc(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(137)150
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(138)150
2763 y Fe(SECONDS)g Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(95)150
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23
b Fb(96)150 3112 y Fe(show-all-if-ambiguous)17 b Fc(:)h(:)13
b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)32 b Fb(137)150 3199 y Fe(show-all-if-unmodified)14
+(:)g(:)g(:)32 b Fb(138)150 3199 y Fe(show-all-if-unmodified)14
b Fc(:)k(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)29 b Fb(137)2025 260 y Fe(show-mode-in-prompt)d
+h(:)f(:)g(:)g(:)29 b Fb(138)2025 260 y Fe(show-mode-in-prompt)d
Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(137)2025 351 y
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(138)2025 351 y
Fe(skip-completed-text)26 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
-b Fb(137)2025 438 y Fe(SRANDOM)22 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
+b Fb(138)2025 438 y Fe(SRANDOM)22 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35
b Fb(96)2021 758 y Fs(T)2025 887 y Fe(TEXTDOMAIN)15 b
(:)g(:)h(:)f(:)28 b Fb(97)2021 2012 y Fs(V)2025 2140
y Fe(vi-cmd-mode-string)7 b Fc(:)17 b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)22
-b Fb(137)2025 2232 y Fe(vi-ins-mode-string)7 b Fc(:)17
+b Fb(138)2025 2232 y Fe(vi-ins-mode-string)7 b Fc(:)17
b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)22 b Fb(138)2025 2319
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)22 b Fb(139)2025 2319
y Fe(visible-stats)h Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)35 b Fb(138)150 3838 y Fs(D.4)68 b(F)-11 b(unction)44
+f(:)g(:)35 b Fb(139)150 3838 y Fs(D.4)68 b(F)-11 b(unction)44
b(Index)146 4324 y(A)150 4441 y Fe(abort)27 b(\(C-g\))15
b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)30
-b Fb(152)150 4529 y Fe(accept-line)e(\(Newline)g(or)e(Return\))12
+b Fb(153)150 4529 y Fe(accept-line)e(\(Newline)g(or)e(Return\))12
b Fc(:)i(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)27
-b Fb(145)150 4616 y Fe(alias-expand-line)i(\(\))9 b Fc(:)14
+b Fb(146)150 4616 y Fe(alias-expand-line)i(\(\))9 b Fc(:)14
b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(154)146 4872 y Fs(B)150
+(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(155)146 4872 y Fs(B)150
4989 y Fe(backward-char)29 b(\(C-b\))12 b Fc(:)i(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)26 b Fb(144)150 5077 y Fe(backward-delete-char)k(\(Rubout\))22
+(:)26 b Fb(145)150 5077 y Fe(backward-delete-char)k(\(Rubout\))22
b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35
-b Fb(147)150 5165 y Fe(backward-kill-line)30 b(\(C-x)c(Rubout\))e
+b Fb(148)150 5165 y Fe(backward-kill-line)30 b(\(C-x)c(Rubout\))e
Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b
-Fb(148)150 5252 y Fe(backward-kill-word)30 b(\(M-DEL\))11
+Fb(149)150 5252 y Fe(backward-kill-word)30 b(\(M-DEL\))11
b Fc(:)j(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-26 b Fb(149)150 5340 y Fe(backward-word)j(\(M-b\))12
+26 b Fb(150)150 5340 y Fe(backward-word)j(\(M-b\))12
b Fc(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(144)2025 4294
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(145)2025 4294
y Fe(beginning-of-history)k(\(M-<\))11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)26 b Fb(145)2025
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)26 b Fb(146)2025
4383 y Fe(beginning-of-line)j(\(C-a\))20 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34
-b Fb(144)2025 4471 y Fe(bracketed-paste-begin)c(\(\))16
+b Fb(145)2025 4471 y Fe(bracketed-paste-begin)c(\(\))16
b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)31 b Fb(147)2021 4768 y Fs(C)2025 4891 y Fe
+g(:)g(:)31 b Fb(148)2021 4768 y Fs(C)2025 4891 y Fe
(call-last-kbd-macro)f(\(C-x)c(e\))15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)30 b Fb(152)2025 4981
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)30 b Fb(153)2025 4981
y Fe(capitalize-word)f(\(M-c\))7 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22
-b Fb(148)2025 5071 y Fe(character-search)29 b(\(C-]\))22
+b Fb(149)2025 5071 y Fe(character-search)29 b(\(C-]\))22
b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)36 b Fb(153)2025 5161 y Fe
+(:)h(:)f(:)g(:)g(:)36 b Fb(154)2025 5161 y Fe
(character-search-backward)31 b(\(M-C-]\))10 b Fc(:)15
-b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)25 b Fb(153)2025 5250
+b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)25 b Fb(154)2025 5250
y Fe(clear-display)j(\(M-C-l\))7 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22
-b Fb(145)2025 5340 y Fe(clear-screen)28 b(\(C-l\))14
+b Fb(146)2025 5340 y Fe(clear-screen)28 b(\(C-l\))14
b Fc(:)h(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)29 b Fb(145)p eop
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)29 b Fb(146)p eop
end
-%%Page: 201 207
-TeXDict begin 201 206 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(201)150 264 y Fe(complete)27 b(\(TAB\))7
+%%Page: 202 208
+TeXDict begin 202 207 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(202)150 264 y Fe(complete)27 b(\(TAB\))7
b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22
-b Fb(150)150 351 y Fe(complete-command)29 b(\(M-!\))23
+b Fb(151)150 351 y Fe(complete-command)29 b(\(M-!\))23
b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)36 b Fb(151)150 439 y Fe(complete-filename)29
+(:)f(:)g(:)g(:)g(:)36 b Fb(152)150 439 y Fe(complete-filename)29
b(\(M-/\))20 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(151)150 527 y Fe(complete-hostname)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(152)150 527 y Fe(complete-hostname)
c(\(M-@\))20 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(151)150 615 y Fe
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(152)150 615 y Fe
(complete-into-braces)d(\(M-{\))11 b Fc(:)j(:)f(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(152)150 702
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(153)150 702
y Fe(complete-username)j(\(M-~\))20 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33
-b Fb(151)150 790 y Fe(complete-variable)c(\(M-$\))20
+b Fb(152)150 790 y Fe(complete-variable)c(\(M-$\))20
b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)33 b Fb(151)150 878 y Fe(copy-backward-word)d(\(\))7
+(:)g(:)h(:)f(:)33 b Fb(152)150 878 y Fe(copy-backward-word)d(\(\))7
b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)21 b Fb(149)150 966 y Fe(copy-forward-word)
+(:)g(:)g(:)g(:)g(:)h(:)f(:)21 b Fb(150)150 966 y Fe(copy-forward-word)
29 b(\(\))9 b Fc(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(149)150
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(150)150
1053 y Fe(copy-region-as-kill)30 b(\(\))22 b Fc(:)13
b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)36 b Fb(149)146 1310 y Fs(D)150 1428 y Fe(dabbrev-expand)29
+(:)g(:)g(:)36 b Fb(150)146 1310 y Fs(D)150 1428 y Fe(dabbrev-expand)29
b(\(\))17 b Fc(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)32
-b Fb(151)150 1515 y Fe(delete-char)c(\(C-d\))17 b Fc(:)d(:)f(:)g(:)h(:)
+b Fb(152)150 1515 y Fe(delete-char)c(\(C-d\))17 b Fc(:)d(:)f(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)32 b Fb(147)150 1603 y Fe(delete-char-or-list)e
+(:)g(:)g(:)g(:)g(:)32 b Fb(148)150 1603 y Fe(delete-char-or-list)e
(\(\))22 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 b Fb(151)150 1691 y Fe
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 b Fb(152)150 1691 y Fe
(delete-horizontal-space)31 b(\(\))11 b Fc(:)i(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(149)150
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(150)150
1779 y Fe(digit-argument)j(\()p Fd(M-0)p Fe(,)e Fd(M-1)p
Fe(,)f(...)g Fd(M--)p Fe(\))11 b Fc(:)j(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)
-26 b Fb(150)150 1866 y Fe(display-shell-version)k(\(C-x)d(C-v\))c
+26 b Fb(151)150 1866 y Fe(display-shell-version)k(\(C-x)d(C-v\))c
Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b
-Fb(154)150 1945 y Fe(do-lowercase-version)30 b(\(M-A,)227
+Fb(155)150 1945 y Fe(do-lowercase-version)30 b(\(M-A,)227
2033 y(M-B,)c(M-)p Fd(x)p Fe(,)h(...\))10 b Fc(:)k(:)f(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)25 b Fb(152)150 2120 y Fe(downcase-word)k(\(M-l\))
+g(:)g(:)g(:)g(:)g(:)25 b Fb(153)150 2120 y Fe(downcase-word)k(\(M-l\))
12 b Fc(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(148)150 2208
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)26 b Fb(149)150 2208
y Fe(dump-functions)j(\(\))17 b Fc(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-32 b Fb(153)150 2296 y Fe(dump-macros)c(\(\))7 b Fc(:)14
+32 b Fb(154)150 2296 y Fe(dump-macros)c(\(\))7 b Fc(:)14
b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22
-b Fb(153)150 2384 y Fe(dump-variables)29 b(\(\))17 b
+b Fb(154)150 2384 y Fe(dump-variables)29 b(\(\))17 b
Fc(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)32 b Fb(153)150
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)32 b Fb(154)150
2471 y Fe(dynamic-complete-history)f(\(M-TAB\))13 b Fc(:)i(:)e(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(151)146 2728 y Fs(E)150
+(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(152)146 2728 y Fs(E)150
2845 y Fe(edit-and-execute-command)k(\(C-x)c(C-e\))14
-b Fc(:)g(:)f(:)g(:)g(:)h(:)f(:)g(:)29 b Fb(154)150 2933
+b Fc(:)g(:)f(:)g(:)g(:)h(:)f(:)g(:)29 b Fb(155)150 2933
y Fe(end-kbd-macro)g(\(C-x)d(\)\))13 b Fc(:)h(:)f(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)28
-b Fb(152)150 3021 y Fd(end-of-file)g Fe(\(usually)g(C-d\))21
+b Fb(153)150 3021 y Fd(end-of-file)g Fe(\(usually)g(C-d\))21
b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)35 b Fb(147)150 3109 y Fe(end-of-history)29 b(\(M->\))9
+(:)g(:)35 b Fb(148)150 3109 y Fe(end-of-history)29 b(\(M->\))9
b Fc(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(145)150 3196 y
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(146)150 3196 y
Fe(end-of-line)k(\(C-e\))17 b Fc(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)32
-b Fb(144)150 3284 y Fe(exchange-point-and-mark)f(\(C-x)26
+b Fb(145)150 3284 y Fe(exchange-point-and-mark)f(\(C-x)26
b(C-x\))17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)32
-b Fb(152)150 3371 y Fe(execute-named-command)e(\(M-x\))8
+b Fb(153)150 3371 y Fe(execute-named-command)e(\(M-x\))8
b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-23 b Fb(153)146 3618 y Fs(F)150 3736 y Fe(fetch-history)29
+23 b Fb(154)146 3618 y Fs(F)150 3736 y Fe(fetch-history)29
b(\(\))19 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34
-b Fb(147)150 3823 y Fe(forward-backward-delete-char)e(\(\))15
-b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(147)150
+b Fb(148)150 3823 y Fe(forward-backward-delete-char)e(\(\))15
+b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(148)150
3911 y Fe(forward-char)e(\(C-f\))14 b Fc(:)h(:)e(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)29 b Fb(144)150 3999 y Fe(forward-search-history)i(\(C-s\))24
+(:)29 b Fb(145)150 3999 y Fe(forward-search-history)i(\(C-s\))24
b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)38
-b Fb(145)150 4086 y Fe(forward-word)28 b(\(M-f\))14 b
+b Fb(146)150 4086 y Fe(forward-word)28 b(\(M-f\))14 b
Fc(:)h(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)29 b Fb(144)146 4333
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)29 b Fb(145)146 4333
y Fs(G)150 4450 y Fe(glob-complete-word)h(\(M-g\))16
b Fc(:)e(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)31 b Fb(154)150 4538 y Fe(glob-expand-word)e(\(C-x)e(*\))c
+g(:)g(:)31 b Fb(155)150 4538 y Fe(glob-expand-word)e(\(C-x)e(*\))c
Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)38 b Fb(154)150 4625 y Fe(glob-list-expansions)30
+(:)g(:)g(:)38 b Fb(155)150 4625 y Fe(glob-list-expansions)30
b(\(C-x)d(g\))13 b Fc(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)27 b Fb(154)2021 294 y Fs(H)2025 422 y Fe
+(:)g(:)h(:)27 b Fb(155)2021 294 y Fs(H)2025 422 y Fe
(history-and-alias-expand-line)32 b(\(\))13 b Fc(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)28 b Fb(154)2025 513 y Fe(history-expand-line)i
+g(:)g(:)g(:)g(:)28 b Fb(155)2025 513 y Fe(history-expand-line)i
(\(M-^\))13 b Fc(:)h(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)28 b Fb(154)2025 604 y Fe(history-search-backward)j
+g(:)g(:)g(:)h(:)28 b Fb(155)2025 604 y Fe(history-search-backward)j
(\(\))11 b Fc(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)26 b Fb(146)2025 695 y Fe(history-search-forward)k(\(\))13
+(:)g(:)g(:)26 b Fb(147)2025 695 y Fe(history-search-forward)k(\(\))13
b Fc(:)h(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)28 b Fb(146)2025 786 y Fe(history-substring-search-backw)q(ard)k
-(\(\))20 b Fc(:)13 b(:)g(:)g(:)g(:)35 b Fb(146)2025 874
+h(:)28 b Fb(147)2025 786 y Fe(history-substring-search-backw)q(ard)k
+(\(\))20 b Fc(:)13 b(:)g(:)g(:)g(:)35 b Fb(147)2025 874
y Fe(history-substring-search-forwa)q(rd)d(\(\))22 b
-Fc(:)13 b(:)h(:)f(:)g(:)g(:)37 b Fb(146)2021 1200 y Fs(I)2025
+Fc(:)13 b(:)h(:)f(:)g(:)g(:)37 b Fb(147)2021 1200 y Fs(I)2025
1329 y Fe(insert-comment)29 b(\(M-#\))9 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-24 b Fb(153)2025 1420 y Fe(insert-completions)29 b(\(M-*\))16
+24 b Fb(154)2025 1420 y Fe(insert-completions)29 b(\(M-*\))16
b Fc(:)f(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)31 b Fb(150)2025 1507 y Fe(insert-last-argument)f(\(M-.)c(or)g
+g(:)g(:)31 b Fb(151)2025 1507 y Fe(insert-last-argument)f(\(M-.)c(or)g
(M-_\))7 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22
-b Fb(154)2021 1834 y Fs(K)2025 1962 y Fe(kill-line)27
+b Fb(155)2021 1834 y Fs(K)2025 1962 y Fe(kill-line)27
b(\(C-k\))c Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
-b Fb(148)2025 2053 y Fe(kill-region)28 b(\(\))7 b Fc(:)14
+b Fb(149)2025 2053 y Fe(kill-region)28 b(\(\))7 b Fc(:)14
b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)22
-b Fb(149)2025 2144 y Fe(kill-whole-line)29 b(\(\))14
+b Fb(150)2025 2144 y Fe(kill-whole-line)29 b(\(\))14
b Fc(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)29 b Fb(149)2025
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)29 b Fb(150)2025
2231 y Fe(kill-word)e(\(M-d\))c Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)37 b Fb(149)2021 2548 y Fs(M)2025 2676 y
+g(:)g(:)g(:)37 b Fb(150)2021 2548 y Fs(M)2025 2676 y
Fe(magic-space)28 b(\(\))7 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)22 b Fb(154)2025 2767 y Fe(menu-complete)28
+g(:)g(:)h(:)f(:)22 b Fb(155)2025 2767 y Fe(menu-complete)28
b(\(\))20 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34
-b Fb(150)2025 2854 y Fe(menu-complete-backward)c(\(\))13
+b Fb(151)2025 2854 y Fe(menu-complete-backward)c(\(\))13
b Fc(:)h(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)28 b Fb(151)2021 3181 y Fs(N)2025 3309 y Fe(next-history)g(\(C-n\))
+h(:)28 b Fb(152)2021 3181 y Fs(N)2025 3309 y Fe(next-history)g(\(C-n\))
14 b Fc(:)h(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)29 b Fb(145)2025
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)29 b Fb(146)2025
3401 y Fe(next-screen-line)g(\(\))12 b Fc(:)h(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-27 b Fb(145)2025 3472 y Fe(non-incremental-forward-)2102
+27 b Fb(146)2025 3472 y Fe(non-incremental-forward-)2102
3560 y(search-history)h(\(M-n\))23 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
-b Fb(146)2025 3647 y Fe(non-incremental-reverse-)2102
+b Fb(147)2025 3647 y Fe(non-incremental-reverse-)2102
3734 y(search-history)28 b(\(M-p\))23 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
-b Fb(146)2021 4070 y Fs(O)2025 4198 y Fe(operate-and-get-next)30
+b Fb(147)2021 4070 y Fs(O)2025 4198 y Fe(operate-and-get-next)30
b(\(C-o\))11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)26 b Fb(147)2025 4285 y Fe(overwrite-mode)j(\(\))17
+(:)g(:)g(:)g(:)26 b Fb(148)2025 4285 y Fe(overwrite-mode)j(\(\))17
b Fc(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)32 b Fb(148)p
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)32 b Fb(149)p
eop end
-%%Page: 202 208
-TeXDict begin 202 207 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(202)146 294 y Fs(P)150 411 y Fe
+%%Page: 203 209
+TeXDict begin 203 208 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(203)146 294 y Fs(P)150 411 y Fe
(possible-command-completions)32 b(\(C-x)26 b(!\))9 b
-Fc(:)14 b(:)g(:)f(:)g(:)g(:)24 b Fb(151)150 499 y Fe
+Fc(:)14 b(:)g(:)f(:)g(:)g(:)24 b Fb(152)150 499 y Fe
(possible-completions)30 b(\(M-?\))11 b Fc(:)j(:)f(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(150)150
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(151)150
586 y Fe(possible-filename-completions)32 b(\(C-x)27
-b(/\))7 b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(151)150 674
+b(/\))7 b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(152)150 674
y Fe(possible-hostname-completions)32 b(\(C-x)27 b(@\))7
-b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(151)150 762 y Fe
+b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(152)150 762 y Fe
(possible-username-completions)32 b(\(C-x)27 b(~\))7
-b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(151)150 849 y Fe
+b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(152)150 849 y Fe
(possible-variable-completions)32 b(\(C-x)27 b($\))7
-b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(151)150 937 y Fe(prefix-meta)28
+b Fc(:)13 b(:)g(:)g(:)g(:)22 b Fb(152)150 937 y Fe(prefix-meta)28
b(\(ESC\))17 b Fc(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)32
-b Fb(152)150 1025 y Fe(previous-history)d(\(C-p\))23
+b Fb(153)150 1025 y Fe(previous-history)d(\(C-p\))23
b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)36 b Fb(145)150 1112 y Fe(previous-screen-line)30
+(:)f(:)g(:)g(:)g(:)36 b Fb(146)150 1112 y Fe(previous-screen-line)30
b(\(\))19 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(145)150 1200 y Fe
+(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(146)150 1200 y Fe
(print-last-kbd-macro)d(\(\))19 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(152)146
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(153)146
1454 y Fs(Q)150 1571 y Fe(quoted-insert)c(\(C-q)d(or)g(C-v\))8
b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)22 b Fb(147)146 1825 y Fs(R)150 1943 y Fe(re-read-init-file)29
+(:)g(:)22 b Fb(148)146 1825 y Fs(R)150 1943 y Fe(re-read-init-file)29
b(\(C-x)e(C-r\))15 b Fc(:)f(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)30 b Fb(152)150 2030 y Fe(redraw-current-line)g(\(\))22
+(:)g(:)g(:)g(:)30 b Fb(153)150 2030 y Fe(redraw-current-line)g(\(\))22
b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)36 b Fb(145)150 2118 y Fe(reverse-search-history)31
+(:)f(:)g(:)g(:)g(:)36 b Fb(146)150 2118 y Fe(reverse-search-history)31
b(\(C-r\))24 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)38 b Fb(145)150 2205 y Fe(revert-line)28 b(\(M-r\))17
+g(:)38 b Fb(146)150 2205 y Fe(revert-line)28 b(\(M-r\))17
b Fc(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)32 b Fb(152)146
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)32 b Fb(153)146
2449 y Fs(S)150 2567 y Fe(self-insert)c(\(a,)e(b,)g(A,)g(1,)h(!,)f
(...\))13 b Fc(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)27
-b Fb(147)150 2654 y Fe(set-mark)g(\(C-@\))7 b Fc(:)15
+b Fb(148)150 2654 y Fe(set-mark)g(\(C-@\))7 b Fc(:)15
b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22
-b Fb(152)150 2742 y Fe(shell-backward-kill-word)31 b(\(\))8
+b Fb(153)150 2742 y Fe(shell-backward-kill-word)31 b(\(\))8
b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-23 b Fb(149)150 2830 y Fe(shell-backward-word)30 b(\(M-C-b\))8
+23 b Fb(150)150 2830 y Fe(shell-backward-word)30 b(\(M-C-b\))8
b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-23 b Fb(144)150 2917 y Fe(shell-expand-line)29 b(\(M-C-e\))13
+23 b Fb(145)150 2917 y Fe(shell-expand-line)29 b(\(M-C-e\))13
b Fc(:)j(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)28 b Fb(154)150 3005 y Fe(shell-forward-word)i(\(M-C-f\))11
+g(:)28 b Fb(155)150 3005 y Fe(shell-forward-word)i(\(M-C-f\))11
b Fc(:)j(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-26 b Fb(144)150 3093 y Fe(shell-kill-word)j(\(M-C-d\))20
+26 b Fb(145)150 3093 y Fe(shell-kill-word)j(\(M-C-d\))20
b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)33 b Fb(149)150 3180 y Fe(shell-transpose-words)d
+(:)g(:)h(:)f(:)33 b Fb(150)150 3180 y Fe(shell-transpose-words)d
(\(M-C-t\))22 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)35 b Fb(148)2025 264 y Fe(skip-csi-sequence)29 b(\(\))9
+(:)35 b Fb(149)2025 264 y Fe(skip-csi-sequence)29 b(\(\))9
b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)24 b Fb(153)2025 361 y
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)24 b Fb(154)2025 361 y
Fe(spell-correct-word)29 b(\(C-x)e(s\))18 b Fc(:)13 b(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)33 b Fb(154)2025
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)33 b Fb(155)2025
448 y Fe(start-kbd-macro)c(\(C-x)d(\(\))8 b Fc(:)14 b(:)f(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)23
-b Fb(152)2021 891 y Fs(T)2025 1038 y Fe(tilde-expand)28
+b Fb(153)2021 891 y Fs(T)2025 1038 y Fe(tilde-expand)28
b(\(M-&\))14 b Fc(:)h(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)29
-b Fb(152)2025 1135 y Fe(transpose-chars)g(\(C-t\))7 b
+b Fb(153)2025 1135 y Fe(transpose-chars)g(\(C-t\))7 b
Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(148)2025 1222 y Fe(transpose-words)
+(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(149)2025 1222 y Fe(transpose-words)
29 b(\(M-t\))7 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(148)2021
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(149)2021
1676 y Fs(U)2025 1823 y Fe(undo)k(\(C-_)h(or)f(C-x)g(C-u\))10
b Fc(:)k(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)25 b Fb(152)2025 1920 y Fe
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)25 b Fb(153)2025 1920 y Fe
(universal-argument)k(\(\))7 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)22
-b Fb(150)2025 2017 y Fe(unix-filename-rubout)30 b(\(\))19
+b Fb(151)2025 2017 y Fe(unix-filename-rubout)30 b(\(\))19
b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)34 b Fb(149)2025 2114 y Fe(unix-line-discard)29
+(:)g(:)g(:)g(:)34 b Fb(150)2025 2114 y Fe(unix-line-discard)29
b(\(C-u\))20 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(148)2025 2211 y Fe
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(149)2025 2211 y Fe
(unix-word-rubout)29 b(\(C-w\))22 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36
-b Fb(149)2025 2298 y Fe(upcase-word)28 b(\(M-u\))17 b
+b Fb(150)2025 2298 y Fe(upcase-word)28 b(\(M-u\))17 b
Fc(:)d(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)32 b Fb(148)2021
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)32 b Fb(149)2021
2752 y Fs(Y)2025 2899 y Fe(yank)26 b(\(C-y\))18 b Fc(:)c(:)f(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33
-b Fb(149)2025 2996 y Fe(yank-last-arg)28 b(\(M-.)f(or)f(M-_\))8
+b Fb(150)2025 2996 y Fe(yank-last-arg)28 b(\(M-.)f(or)f(M-_\))8
b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)22 b Fb(146)2025 3093 y Fe(yank-nth-arg)28 b(\(M-C-y\))9
+(:)h(:)22 b Fb(147)2025 3093 y Fe(yank-nth-arg)28 b(\(M-C-y\))9
b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)24 b Fb(146)2025 3180
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)24 b Fb(147)2025 3180
y Fe(yank-pop)j(\(M-y\))7 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)22 b Fb(149)150 3929 y Fs(D.5)68 b(Concept)45
+g(:)g(:)h(:)f(:)22 b Fb(150)150 3929 y Fs(D.5)68 b(Concept)45
b(Index)146 4523 y(A)150 4645 y Fb(alias)27 b(expansion)22
b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)28 b Fb(123)2025 4729 y(Bash)e(con\014guration)
11 b Fc(:)j(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)26 b Fb(171)2025
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)26 b Fb(172)2025
4817 y(Bash)g(installation)9 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)24 b Fb(171)2025 4905 y(binary)h(arithmetic)h(op)r
+(:)g(:)g(:)g(:)24 b Fb(172)2025 4905 y(binary)h(arithmetic)h(op)r
(erators)16 b Fc(:)f(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)31 b Fb(106)2025 4993 y(bit)n(wise)26
b(arithmetic)h(op)r(erators)8 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)30 b Fb(3)p eop end
-%%Page: 203 209
-TeXDict begin 203 208 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(203)146 294 y Fs(C)150 412 y Fb(command)26
+%%Page: 204 210
+TeXDict begin 204 209 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(204)146 294 y Fs(C)150 412 y Fb(command)26
b(editing)19 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)34
-b Fb(128)150 500 y(command)26 b(execution)12 b Fc(:)h(:)g(:)g(:)g(:)g
+b Fb(129)150 500 y(command)26 b(execution)12 b Fc(:)h(:)g(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)26 b Fb(44)150 587 y(command)g(expansion)c
Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)36 b Fb(44)150
675 y(command)26 b(history)18 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)33 b Fb(164)150 763 y(command)26 b(searc)n(h)16
+g(:)g(:)g(:)33 b Fb(165)150 763 y(command)26 b(searc)n(h)16
b Fc(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30
b Fb(44)150 851 y(command)c(substitution)21 b Fc(:)13
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fb(119)150
1993 y(completion)27 b(builtins)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)36 b Fb(157)150 2081 y(conditional)27 b(arithmetic)f(op)r
+g(:)g(:)36 b Fb(158)150 2081 y(conditional)27 b(arithmetic)f(op)r
(erator)d Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)37 b Fb(106)150 2169 y(con\014guration)22 b Fc(:)13
b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36
-b Fb(171)150 2256 y(con)n(trol)26 b(op)r(erator)8 b Fc(:)15
+b Fb(172)150 2256 y(con)n(trol)26 b(op)r(erator)8 b Fc(:)15
b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23
b Fb(3)150 2344 y(copro)r(cess)18 b Fc(:)c(:)f(:)h(:)f(:)g(:)g(:)g(:)g
f(:)g(:)g(:)g(:)g(:)34 b Fb(6)146 3061 y Fs(E)150 3179
y Fb(editing)26 b(command)g(lines)17 b Fc(:)d(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)32
-b Fb(128)150 3267 y(en)n(vironmen)n(t)18 b Fc(:)12 b(:)h(:)h(:)f(:)g(:)
+b Fb(129)150 3267 y(en)n(vironmen)n(t)18 b Fc(:)12 b(:)h(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(46)150
3355 y(ev)l(aluation,)26 b(arithmetic)9 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g
g(:)24 b Fb(105)150 3443 y(ev)n(en)n(t)h(designators)c
Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)34
-b Fb(168)150 3531 y(execution)26 b(en)n(vironmen)n(t)17
+b Fb(169)150 3531 y(execution)26 b(en)n(vironmen)n(t)17
b Fc(:)12 b(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)31 b Fb(45)150 3618
y(exit)25 b(status)7 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
b Fb(19)2021 1038 y Fs(H)2025 1158 y Fb(history)h(builtins)20
b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)35
-b Fb(165)2025 1247 y(history)25 b(ev)n(en)n(ts)8 b Fc(:)13
+b Fb(166)2025 1247 y(history)25 b(ev)n(en)n(ts)8 b Fc(:)13
b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23
-b Fb(168)2025 1335 y(history)i(expansion)14 b Fc(:)g(:)f(:)g(:)g(:)h(:)
+b Fb(169)2025 1335 y(history)i(expansion)14 b Fc(:)g(:)f(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)29 b Fb(167)2025 1424 y(history)c(list)9
+(:)g(:)g(:)g(:)h(:)f(:)29 b Fb(168)2025 1424 y(history)c(list)9
b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)24 b Fb(164)2025 1511 y(History)-6 b(,)25 b(ho)n(w)h(to)g(use)
+g(:)g(:)24 b Fb(165)2025 1511 y(History)-6 b(,)25 b(ho)n(w)h(to)g(use)
19 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(163)2021
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(164)2021
1782 y Fs(I)2025 1903 y Fb(iden)n(ti\014er)12 b Fc(:)g(:)h(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)27
b Fb(3)2025 1991 y(initialization)h(\014le,)e(readline)17
b Fc(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)32 b Fb(130)2025 2080 y(installation)21
+f(:)g(:)g(:)g(:)32 b Fb(131)2025 2080 y(installation)21
b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)34 b Fb(171)2025 2168 y(in)n(teraction,)26 b(readline)7
+g(:)34 b Fb(172)2025 2168 y(in)n(teraction,)26 b(readline)7
b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(127)2025
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(128)2025
2257 y(in)n(teractiv)n(e)k(shell)16 b Fc(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)31 b Fb(100,)c(102)2025 2346 y(in)n(ternationalization)22
3183 y Fs(K)2025 3303 y Fb(kill)f(ring)7 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)22
-b Fb(129)2025 3390 y(killing)k(text)6 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g
+b Fb(130)2025 3390 y(killing)k(text)6 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)21 b
-Fb(129)2021 3661 y Fs(L)2025 3782 y Fb(lo)r(calization)i
+Fb(130)2021 3661 y Fs(L)2025 3782 y Fb(lo)r(calization)i
Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)35 b Fb(7)2025 3869 y(login)26 b(shell)c
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)22 b Fb(3)p
eop end
-%%Page: 204 210
-TeXDict begin 204 209 bop 150 -116 a Fu(App)s(endix)29
-b(D:)i(Indexes)2623 b(204)146 294 y Fs(N)150 410 y Fb(name)19
+%%Page: 205 211
+TeXDict begin 205 210 bop 150 -116 a Fu(App)s(endix)29
+b(D:)i(Indexes)2623 b(205)146 294 y Fs(N)150 410 y Fb(name)19
b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(3)150 497
h(:)f(:)g(:)g(:)g(:)34 b Fb(7)150 584 y(notation,)27
b(readline)13 b Fc(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)27
-b Fb(128)146 827 y Fs(O)150 943 y Fb(op)r(erator,)g(shell)c
+b Fb(129)146 827 y Fs(O)150 943 y Fb(op)r(erator,)g(shell)c
Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
37 b Fb(3)146 1186 y Fs(P)150 1302 y Fb(parameter)26
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)25 b Fb(36)150
2435 y(programmable)i(completion)8 b Fc(:)14 b(:)g(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)23
-b Fb(155)150 2522 y(prompting)15 b Fc(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+b Fb(156)150 2522 y(prompting)15 b Fc(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)30 b Fb(111)146
2765 y Fs(Q)150 2881 y Fb(quoting)16 b Fc(:)d(:)g(:)g(:)g(:)g(:)h(:)f
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(6)146
3211 y Fs(R)150 3327 y Fb(Readline,)26 b(ho)n(w)g(to)g(use)11
b Fc(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(126)150 3414
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(127)150 3414
y(redirection)13 b Fc(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)27 b Fb(40)150 3501 y(reserv)n(ed)f(w)n
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28 b Fb(22)2025 2837
y(v)l(ariables,)f(readline)7 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)22 b Fb(131)2021 3134 y Fs(W)2025 3258 y Fb(w)n(ord)10
+(:)g(:)g(:)22 b Fb(132)2021 3134 y Fs(W)2025 3258 y Fb(w)n(ord)10
b Fc(:)j(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)25 b Fb(4)2025
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)24 b Fb(37)2021 3642 y
Fs(Y)2025 3763 y Fb(y)n(anking)h(text)13 b Fc(:)f(:)h(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)28 b Fb(129)p
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)28 b Fb(130)p
eop end
%%Trailer
by the @code{dirs} builtin invoked with the characters following tilde
in the tilde-prefix as an argument (@pxref{The Directory Stack}).
If the tilde-prefix, sans the tilde, consists of a number without a
-leading @samp{+} or @samp{-}, @samp{+} is assumed.
+leading @samp{+} or @samp{-}, tilde expansion assumes @samp{+}.
The results of tilde expansion are treated as if they were quoted, so
the replacement is not subject to word splitting and filename expansion.
@item $@{@var{parameter}:=@var{word}@}
If @var{parameter} is unset or null, the expansion of @var{word}
is assigned to @var{parameter},
-and the result of the expansion
+and the result of the expansion
is the final value of @var{parameter}.
Positional parameters and special parameters may not be assigned
in this way.
@item $@{@var{parameter}:?@var{word}@}
If @var{parameter}
-is null or unset, the expansion of @var{word} (or a message
+is null or unset, the shell writes
+the expansion of @var{word} (or a message
to that effect if @var{word}
-is not present) is written to the standard error and the shell, if it
+is not present) to the standard error and, if it
is not interactive, exits with a non-zero status.
An interactive shell does not exit, but does not execute the command
associated with the expansion.
Aliases are expanded when a command is read, not when it is executed.
Therefore, an
alias definition appearing on the same line as another
-command does not take effect until the shell reads the next line of input.
+command does not take effect until the shell reads the next line of input,
+and an alias definition in a compound command does not take
+effect until the shell parses and executes the entire compound command.
The commands following the alias definition
-on that line are not affected by the new alias.
+on that line,
+or in the rest of a compound command,
+are not affected by the new alias.
This behavior is also an issue when functions are executed.
Aliases are expanded when a function definition is read,
not when the function is executed, because a function definition
Job control
refers to the ability to selectively stop (suspend)
the execution of processes and continue (resume)
-their execution at a later point. A user typically employs
+their execution at a later point.
+A user typically employs
this facility via an interactive interface supplied jointly
by the operating system kernel's terminal driver and Bash.
-The shell associates a @var{job} with each pipeline. It keeps a
-table of currently executing jobs, which may be listed with the
-@code{jobs} command. When Bash starts a job
-asynchronously, it prints a line that looks
+The shell associates a @var{job} with each pipeline.
+It keeps a
+table of currently executing jobs, which the
+@code{jobs} command will display.
+Each job has a @dfn{job number}, which @code{jobs} displays between brackets.
+Job numbers start at 1.
+When Bash starts a job asynchronously, it prints a line that looks
like:
@example
[1] 25647
@noindent
indicating that this job is job number 1 and that the process @sc{id}
of the last process in the pipeline associated with this job is
-25647. All of the processes in a single pipeline are members of
-the same job. Bash uses the @var{job} abstraction as the
-basis for job control.
-
-To facilitate the implementation of the user interface to job
-control, the operating system maintains the notion of a current terminal
-process group @sc{id}. Members of this process group (processes whose
+25647.
+All of the processes in a single pipeline are members of
+the same job.
+Bash uses the @var{job} abstraction as the basis for job control.
+
+To facilitate the implementation of the user interface to job control,
+each process has a @dfn{process group @sc{id}}, and
+the operating system maintains the notion of a current terminal
+process group @sc{id}.
+Processes that have the same process group ID are said to be part of
+the same @dfn{process group}.
+Members of the foreground process group (processes whose
process group @sc{id} is equal to the current terminal process group
@sc{id}) receive keyboard-generated signals such as @code{SIGINT}.
-These processes are said to be in the foreground. Background
-processes are those whose process group @sc{id} differs from the
-terminal's; such processes are immune to keyboard-generated
-signals. Only foreground processes are allowed to read from or, if
+Processes in the foreground process group are said to be
+foreground processes.
+Background processes
+are those whose process group @sc{id} differs from the terminal's;
+such processes are immune to keyboard-generated signals.
+Only foreground processes are allowed to read from or, if
the user so specifies with @code{stty tostop}, write to the terminal.
Background processes which attempt to
read from (write to when @code{tostop} is in effect) the
which, unless caught, suspends the process.
If the operating system on which Bash is running supports
-job control, Bash contains facilities to use it. Typing the
+job control, Bash contains facilities to use it.
+Typing the
@dfn{suspend} character (typically @samp{^Z}, Control-Z) while a
-process is running causes that process to be stopped and returns
-control to Bash. Typing the @dfn{delayed suspend} character
-(typically @samp{^Y}, Control-Y) causes the process to be stopped
-when it attempts to read input from the terminal, and control to
-be returned to Bash. The user then manipulates the state of
-this job, using the @code{bg} command to continue it in the
-background, the @code{fg} command to continue it in the
-foreground, or the @code{kill} command to kill it. A @samp{^Z}
+process is running stops that process
+and returns control to Bash.
+Typing the @dfn{delayed suspend} character
+(typically @samp{^Y}, Control-Y) causes the process to stop
+when it attempts to read input from the terminal,
+and returns control to Bash.
+The user then manipulates the state of
+this job, using
+the @code{bg} command to continue it in the background,
+the @code{fg} command to continue it in the foreground, or
+the @code{kill} command to kill it.
+The suspend character
takes effect immediately, and has the additional side effect of
-causing pending output and typeahead to be discarded.
+discarding any pending output and typeahead.
+If you want to force a background process to stop, or stop a process
+that's not associated with your terminal session,
+send it the @code{SIGSTOP} signal using @code{kill}.
-There are a number of ways to refer to a job in the shell. The
-character @samp{%} introduces a job specification (@dfn{jobspec}).
+There are a number of ways to refer to a job in the shell.
+The @samp{%} character introduces a @dfn{job specification} (jobspec).
Job number @code{n} may be referred to as @samp{%n}.
+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} refers
+to a job whose command name begins with @samp{ce}.
+Using @samp{%?ce}, on the
+other hand, refers to any job containing the string @samp{ce} in
+its command line.
+If the prefix or substring matches more than one job,
+Bash reports an error.
+
The symbols @samp{%%} and @samp{%+} refer to the shell's notion of the
-current job, which is the last job stopped while it was in the foreground
-or started in the background.
+@dfn{current job}.
A single @samp{%} (with no accompanying job specification) also refers
to the current job.
-The previous job may be referenced using @samp{%-}.
+@samp{%-} refers to the @dfn{previous job}.
+When a job starts in the background,
+a job stops while in the foreground,
+or a job is resumed in the background,
+it becomes the current job.
+The job that was the current job becomes the previous job.
+When the current job terminates, the previous job becomes the
+current job.
If there is only a single job, @samp{%+} and @samp{%-} can both be used
to refer to that job.
In output pertaining to jobs (e.g., the output of the @code{jobs}
-command), the current job is always flagged with a @samp{+}, and the
+command), the current job is always marked with a @samp{+}, and the
previous job with a @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} refers
-to a stopped job whose command name begins with @samp{ce}.
-Using @samp{%?ce}, on the
-other hand, refers to any job containing the string @samp{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:
@samp{%1} is a synonym for @samp{fg %1}, bringing job 1 from the
-background into the foreground. Similarly, @samp{%1 &} resumes
-job 1 in the background, equivalent to @samp{bg %1}
+background into the foreground.
+Similarly, @samp{%1 &} resumes
+job 1 in the background, equivalent to @samp{bg %1}.
The shell learns immediately whenever a job changes state.
-Normally, Bash waits until it is about to print a prompt
-before reporting changes in a job's status so as to not interrupt
+Normally, Bash waits until it is about to print a prompt before
+notifying the user about
+changes in a job's status so as to not interrupt
any other output,
though it will notify of changes in a job's status after a
foreground command in
-a list completes, before executing the next command.
+a list completes, before executing the next command in the list.
If the @option{-b} option to the @code{set} builtin is enabled,
Bash reports such changes immediately (@pxref{The Set Builtin}).
-Any trap on @code{SIGCHLD} is executed for each child process
-that exits.
-
-If an attempt to exit Bash is made while jobs are stopped, (or running, if
+Bash executes any trap on @code{SIGCHLD}
+for each child process that terminates.
+
+When a job terminates and Bash notifies the user about it,
+Bash removes the job from the jobs table.
+It will not appear in @code{jobs} output, but @code{wait} will
+report its exit status, as long as it's supplied the process ID
+associated with the job as an argument.
+When the table is empty, job numbers start over at 1.
+
+If a user attempts to exit
+Bash while jobs are stopped, (or running, if
the @code{checkjobs} option is enabled -- see @ref{The Shopt Builtin}), the
shell prints a warning message, and if the @code{checkjobs} option is
enabled, lists the jobs and their statuses.
The @code{jobs} command may then be used to inspect their status.
-If a second attempt to exit is made without an intervening command,
-Bash does not print another warning, and any stopped jobs are terminated.
+If the user immediately attempts to exit again,
+without an intervening command,
+Bash does not print another warning, and
+terminates any stopped jobs.
When the shell is waiting for a job or process using the @code{wait}
builtin, and job control is enabled, @code{wait} will return when the
-job changes state. The @option{-f} option causes @code{wait} to wait
+job changes state.
+The @option{-f} option causes @code{wait} to wait
until the job or process terminates before returning.
@node Job Control Builtins
Resume each suspended job @var{jobspec} in the background, as if it
had been started with @samp{&}.
-If @var{jobspec} is not supplied, the current job is used.
-The return status is zero unless it is run when job control is not
+If @var{jobspec} is not supplied, the shell uses its
+notion of the current job.
+@code{bg} returns zero unless it is run when job control is not
enabled, or, when run with job control enabled, any
@var{jobspec} was not found or specifies a job
that was started without job control.
@end example
Resume the job @var{jobspec} in the foreground and make it the current job.
-If @var{jobspec} is not supplied, resume the current job.
+If @var{jobspec} is not supplied, @code{fg} resumes the current job.
The return status is that of the command placed into the foreground,
or non-zero if run when job control is disabled or, when run with
job control enabled, @var{jobspec} does not specify a valid job or
If @var{jobspec} is supplied,
@code{jobs} restricts output to information about that job.
If @var{jobspec} is not supplied, @code{jobs} lists the status of all jobs.
+The return status is zero unless an invalid option is encountered
+or an invalid
+@var{jobspec}
+is supplied.
If the @option{-x} option is supplied, @code{jobs} replaces any
@var{jobspec} found in @var{command} or @var{arguments} with the
@item kill
@btindex kill
@example
-kill [-s @var{sigspec}] [-n @var{signum}] [-@var{sigspec}] @var{jobspec} or @var{pid}
+kill [-s @var{sigspec}] [-n @var{signum}] [-@var{sigspec}] @var{id} [@dots{}]
kill -l|-L [@var{exit_status}]
@end example
-Send a signal specified by @var{sigspec} or @var{signum} to the process
-named by job specification @var{jobspec} or process @sc{id} @var{pid}.
+Send a signal specified by @var{sigspec} or @var{signum} to the processes
+named by each @var{id}.
+Each @var{id} may be a
+job specification @var{jobspec} or process @sc{id} @var{pid}.
@var{sigspec} is either a case-insensitive signal name such as
@code{SIGINT} (with or without the @code{SIG} prefix)
or a signal number; @var{signum} is a signal number.
sends @code{SIGTERM}.
The @option{-l} option lists the signal names.
-If any arguments are supplied when @option{-l} is supplied, the names of the
-signals corresponding to the arguments are listed, and the return status
-is zero.
+If any arguments are supplied when @option{-l} is supplied,
+@code{kill} lists the names of the signals corresponding to the arguments,
+and the return status is zero.
@var{exit_status} is a number specifying a signal number or the exit
-status of a process terminated by a signal.
+status of a process terminated by a signal;
+if it is supplied, @code{kill} prints the name of the signal that caused
+the process to terminate.
+@code{kill} assumes that process exit statuses are greater than 128;
+anything less than that is a signal number.
The @option{-L} option is equivalent to @option{-l}.
The return status is zero if at least one signal was successfully sent,
Wait until the child process specified by each @var{id} exits and
return the exit status of the last @var{id}.
-Each @var{id} may be a @var{pid} or job specification @var{jobspec};
-if a job spec is supplied, @code{wait} waits for all processes in the job.
+Each @var{id} may be a process @sc{id} @var{pid}
+or a job specification @var{jobspec};
+if a jobspec is supplied, @code{wait} waits for all processes in the job.
If no options or @var{id}s are supplied,
@code{wait} waits for all running background jobs and
and the return status is zero.
If the @option{-n} option is supplied, @code{wait} waits for any one of
-the @var{id}s or, if no @var{id}s are supplied, any job
-or process substitution,
+the @var{id}s or,
+if no @var{id}s are supplied, any job or process substitution,
to complete and returns its exit status.
If none of the supplied @var{id}s is a child of the shell,
or if no arguments are supplied and the shell has no unwaited-for children,
the exit status is 127.
-If the @option{-p} option is supplied, the process or job identifier
-of the job for which the exit status is returned is assigned to the
+If the @option{-p} option is supplied, @code{wait} assigns
+the process or job identifier of the job
+for which the exit status is returned to the
variable @var{varname} named by the option argument.
The variable,
which cannot be readonly,
will be unset initially, before any assignment.
-This is useful only when the @option{-n} option is supplied.
+This is useful only when used with the @option{-n} option.
Supplying the @option{-f} option, when job control is enabled,
forces @code{wait} to wait for each @var{id} to terminate before
Without options, remove each @var{id} from the table of
active jobs.
-Each @var{id} may be a @var{pid} or job specification @var{jobspec};
+Each @var{id} may be a job specification @var{jobspec}
+or a process @sc{id} @var{pid};
if @var{id} is a @var{pid},
-@code{disown} uses the job containing @var{pid}.
-If the @option{-h} option is supplied, the job is not removed from the table,
-but is marked so that @code{SIGHUP} is not sent to the job if the shell
-receives a @code{SIGHUP}.
-If @var{id} is not present, and neither the @option{-a} nor the
-@option{-r} option is supplied, @code{disown} removes the current job.
+@code{disown} uses the job containing @var{pid} as @var{jobspec}.
+
+If the @option{-h} option is supplied,
+@code{disown} does not remove the jobs corresponding to each @code{id}
+from the jobs table,
+but rather marks them so the shell does not send
+@code{SIGHUP}
+to the job if the shell receives a
+@code{SIGHUP}.
If no @var{id} is supplied, the @option{-a} option means to remove or
mark all jobs; the @option{-r} option without an @var{id}
-argument restricts operation to running jobs.
+argument removes or marks running jobs.
+If no @var{id} is supplied,
+and neither the @option{-a} nor the @option{-r} option is supplied,
+@code{disown} removes or marks the current job.
-The return value is 0 unless an @var{id}
-does not specify a valid job.
+The return value is 0 unless an @var{id} does not specify a valid job.
@item suspend
@btindex suspend
@end table
When job control is not active, the @code{kill} and @code{wait}
-builtins do not accept @var{jobspec} arguments. They must be
-supplied process @sc{id}s.
+builtins do not accept @var{jobspec} arguments.
+They must be supplied process @sc{id}s.
@node Job Control Variables
@section Job Control Variables
@item auto_resume
This variable controls how the shell interacts with the user and
job control.
-If this variable exists then single-word simple
-commands without redirections are treated as candidates for resumption
+If this variable exists then simple commands
+consisting of only a single word,
+without redirections, are treated as candidates for resumption
of an existing job.
There is no ambiguity allowed; if there is more than one job
-beginning with the string typed, then
-the most recently accessed job is selected.
+beginning with or containing the word, then
+this selects the most recently accessed job.
The name of a stopped job, in this context, is the command line
-used to start it.
+used to start it, as displayed by @code{jobs}.
If this variable is set to the value @samp{exact},
-the string supplied must match the name of a stopped job exactly;
+the word must match the name of a stopped job exactly;
if set to @samp{substring},
-the string supplied needs to match a substring of the name of a
-stopped job.
+the word needs to match a substring of the name of a stopped job.
The @samp{substring} value provides functionality
-analogous to the @samp{%?} job @sc{id} (@pxref{Job Control Basics}).
-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 @samp{%} job @sc{id}.
+analogous to the @samp{%?string} job @sc{id} (@pxref{Job Control Basics}).
+If set to any other value (e.g., @samp{prefix}),
+the word must be a prefix of a stopped job's name;
+this provides functionality analogous to the @samp{%string} job @sc{id}.
@end vtable
@numchapentry{Job Control}{7}{Job Control}{123}
@numsecentry{Job Control Basics}{7.1}{Job Control Basics}{123}
@numsecentry{Job Control Builtins}{7.2}{Job Control Builtins}{124}
-@numsecentry{Job Control Variables}{7.3}{Job Control Variables}{126}
-@numchapentry{Command Line Editing}{8}{Command Line Editing}{127}
-@numsecentry{Introduction to Line Editing}{8.1}{Introduction and Notation}{127}
-@numsecentry{Readline Interaction}{8.2}{Readline Interaction}{127}
-@numsubsecentry{Readline Bare Essentials}{8.2.1}{Readline Bare Essentials}{128}
-@numsubsecentry{Readline Movement Commands}{8.2.2}{Readline Movement Commands}{128}
-@numsubsecentry{Readline Killing Commands}{8.2.3}{Readline Killing Commands}{129}
-@numsubsecentry{Readline Arguments}{8.2.4}{Readline Arguments}{129}
-@numsubsecentry{Searching for Commands in the History}{8.2.5}{Searching}{130}
-@numsecentry{Readline Init File}{8.3}{Readline Init File}{130}
-@numsubsecentry{Readline Init File Syntax}{8.3.1}{Readline Init File Syntax}{130}
-@numsubsecentry{Conditional Init Constructs}{8.3.2}{Conditional Init Constructs}{140}
-@numsubsecentry{Sample Init File}{8.3.3}{Sample Init File}{141}
-@numsecentry{Bindable Readline Commands}{8.4}{Bindable Readline Commands}{144}
-@numsubsecentry{Commands For Moving}{8.4.1}{Commands For Moving}{144}
-@numsubsecentry{Commands For Manipulating The History}{8.4.2}{Commands For History}{145}
-@numsubsecentry{Commands For Changing Text}{8.4.3}{Commands For Text}{147}
-@numsubsecentry{Killing And Yanking}{8.4.4}{Commands For Killing}{148}
-@numsubsecentry{Specifying Numeric Arguments}{8.4.5}{Numeric Arguments}{150}
-@numsubsecentry{Letting Readline Type For You}{8.4.6}{Commands For Completion}{150}
-@numsubsecentry{Keyboard Macros}{8.4.7}{Keyboard Macros}{152}
-@numsubsecentry{Some Miscellaneous Commands}{8.4.8}{Miscellaneous Commands}{152}
-@numsecentry{Readline vi Mode}{8.5}{Readline vi Mode}{155}
-@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{155}
-@numsecentry{Programmable Completion Builtins}{8.7}{Programmable Completion Builtins}{157}
-@numsecentry{A Programmable Completion Example}{8.8}{A Programmable Completion Example}{161}
-@numchapentry{Using History Interactively}{9}{Using History Interactively}{164}
-@numsecentry{Bash History Facilities}{9.1}{Bash History Facilities}{164}
-@numsecentry{Bash History Builtins}{9.2}{Bash History Builtins}{165}
-@numsecentry{History Expansion}{9.3}{History Interaction}{167}
-@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{168}
-@numsubsecentry{Word Designators}{9.3.2}{Word Designators}{169}
-@numsubsecentry{Modifiers}{9.3.3}{Modifiers}{170}
-@numchapentry{Installing Bash}{10}{Installing Bash}{171}
-@numsecentry{Basic Installation}{10.1}{Basic Installation}{171}
-@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{172}
-@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{172}
-@numsecentry{Installation Names}{10.4}{Installation Names}{173}
-@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{173}
-@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{173}
-@numsecentry{Operation Controls}{10.7}{Operation Controls}{174}
-@numsecentry{Optional Features}{10.8}{Optional Features}{174}
-@appentry{Reporting Bugs}{A}{Reporting Bugs}{180}
-@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{181}
-@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{186}
-@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{188}
-@appentry{Indexes}{D}{Indexes}{196}
-@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{196}
-@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{197}
-@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{198}
-@appsecentry{Function Index}{D.4}{Function Index}{200}
-@appsecentry{Concept Index}{D.5}{Concept Index}{202}
+@numsecentry{Job Control Variables}{7.3}{Job Control Variables}{127}
+@numchapentry{Command Line Editing}{8}{Command Line Editing}{128}
+@numsecentry{Introduction to Line Editing}{8.1}{Introduction and Notation}{128}
+@numsecentry{Readline Interaction}{8.2}{Readline Interaction}{128}
+@numsubsecentry{Readline Bare Essentials}{8.2.1}{Readline Bare Essentials}{129}
+@numsubsecentry{Readline Movement Commands}{8.2.2}{Readline Movement Commands}{129}
+@numsubsecentry{Readline Killing Commands}{8.2.3}{Readline Killing Commands}{130}
+@numsubsecentry{Readline Arguments}{8.2.4}{Readline Arguments}{130}
+@numsubsecentry{Searching for Commands in the History}{8.2.5}{Searching}{131}
+@numsecentry{Readline Init File}{8.3}{Readline Init File}{131}
+@numsubsecentry{Readline Init File Syntax}{8.3.1}{Readline Init File Syntax}{131}
+@numsubsecentry{Conditional Init Constructs}{8.3.2}{Conditional Init Constructs}{141}
+@numsubsecentry{Sample Init File}{8.3.3}{Sample Init File}{142}
+@numsecentry{Bindable Readline Commands}{8.4}{Bindable Readline Commands}{145}
+@numsubsecentry{Commands For Moving}{8.4.1}{Commands For Moving}{145}
+@numsubsecentry{Commands For Manipulating The History}{8.4.2}{Commands For History}{146}
+@numsubsecentry{Commands For Changing Text}{8.4.3}{Commands For Text}{148}
+@numsubsecentry{Killing And Yanking}{8.4.4}{Commands For Killing}{149}
+@numsubsecentry{Specifying Numeric Arguments}{8.4.5}{Numeric Arguments}{151}
+@numsubsecentry{Letting Readline Type For You}{8.4.6}{Commands For Completion}{151}
+@numsubsecentry{Keyboard Macros}{8.4.7}{Keyboard Macros}{153}
+@numsubsecentry{Some Miscellaneous Commands}{8.4.8}{Miscellaneous Commands}{153}
+@numsecentry{Readline vi Mode}{8.5}{Readline vi Mode}{156}
+@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{156}
+@numsecentry{Programmable Completion Builtins}{8.7}{Programmable Completion Builtins}{158}
+@numsecentry{A Programmable Completion Example}{8.8}{A Programmable Completion Example}{162}
+@numchapentry{Using History Interactively}{9}{Using History Interactively}{165}
+@numsecentry{Bash History Facilities}{9.1}{Bash History Facilities}{165}
+@numsecentry{Bash History Builtins}{9.2}{Bash History Builtins}{166}
+@numsecentry{History Expansion}{9.3}{History Interaction}{168}
+@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{169}
+@numsubsecentry{Word Designators}{9.3.2}{Word Designators}{170}
+@numsubsecentry{Modifiers}{9.3.3}{Modifiers}{171}
+@numchapentry{Installing Bash}{10}{Installing Bash}{172}
+@numsecentry{Basic Installation}{10.1}{Basic Installation}{172}
+@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{173}
+@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{173}
+@numsecentry{Installation Names}{10.4}{Installation Names}{174}
+@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{174}
+@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{174}
+@numsecentry{Operation Controls}{10.7}{Operation Controls}{175}
+@numsecentry{Optional Features}{10.8}{Optional Features}{175}
+@appentry{Reporting Bugs}{A}{Reporting Bugs}{181}
+@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{182}
+@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{187}
+@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{189}
+@appentry{Indexes}{D}{Indexes}{197}
+@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{197}
+@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{198}
+@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{199}
+@appsecentry{Function Index}{D.4}{Function Index}{201}
+@appsecentry{Concept Index}{D.5}{Concept Index}{203}
\entry{TMOUT}{97}{\code {TMOUT}}
\entry{TMPDIR}{97}{\code {TMPDIR}}
\entry{UID}{97}{\code {UID}}
-\entry{auto_resume}{126}{\code {auto_resume}}
-\entry{active-region-start-color}{131}{\code {active-region-start-color}}
-\entry{active-region-end-color}{131}{\code {active-region-end-color}}
-\entry{bell-style}{131}{\code {bell-style}}
-\entry{bind-tty-special-chars}{132}{\code {bind-tty-special-chars}}
-\entry{blink-matching-paren}{132}{\code {blink-matching-paren}}
-\entry{colored-completion-prefix}{132}{\code {colored-completion-prefix}}
-\entry{colored-stats}{132}{\code {colored-stats}}
-\entry{comment-begin}{132}{\code {comment-begin}}
-\entry{completion-display-width}{132}{\code {completion-display-width}}
-\entry{completion-ignore-case}{132}{\code {completion-ignore-case}}
-\entry{completion-map-case}{132}{\code {completion-map-case}}
-\entry{completion-prefix-display-length}{132}{\code {completion-prefix-display-length}}
-\entry{completion-query-items}{133}{\code {completion-query-items}}
-\entry{convert-meta}{133}{\code {convert-meta}}
-\entry{disable-completion}{133}{\code {disable-completion}}
-\entry{echo-control-characters}{133}{\code {echo-control-characters}}
-\entry{editing-mode}{133}{\code {editing-mode}}
-\entry{emacs-mode-string}{133}{\code {emacs-mode-string}}
-\entry{enable-active-region The}{134}{\code {enable-active-region The}}
-\entry{enable-bracketed-paste}{134}{\code {enable-bracketed-paste}}
-\entry{enable-keypad}{134}{\code {enable-keypad}}
-\entry{enable-meta-key}{134}{\code {enable-meta-key}}
-\entry{expand-tilde}{134}{\code {expand-tilde}}
-\entry{force-meta-prefix}{134}{\code {force-meta-prefix}}
-\entry{history-preserve-point}{135}{\code {history-preserve-point}}
-\entry{history-size}{135}{\code {history-size}}
-\entry{horizontal-scroll-mode}{135}{\code {horizontal-scroll-mode}}
-\entry{input-meta}{135}{\code {input-meta}}
-\entry{meta-flag}{135}{\code {meta-flag}}
-\entry{isearch-terminators}{135}{\code {isearch-terminators}}
-\entry{keymap}{135}{\code {keymap}}
-\entry{mark-modified-lines}{136}{\code {mark-modified-lines}}
-\entry{mark-symlinked-directories}{136}{\code {mark-symlinked-directories}}
-\entry{match-hidden-files}{136}{\code {match-hidden-files}}
-\entry{menu-complete-display-prefix}{136}{\code {menu-complete-display-prefix}}
-\entry{output-meta}{136}{\code {output-meta}}
-\entry{page-completions}{136}{\code {page-completions}}
-\entry{revert-all-at-newline}{137}{\code {revert-all-at-newline}}
-\entry{search-ignore-case}{137}{\code {search-ignore-case}}
-\entry{show-all-if-ambiguous}{137}{\code {show-all-if-ambiguous}}
-\entry{show-all-if-unmodified}{137}{\code {show-all-if-unmodified}}
-\entry{show-mode-in-prompt}{137}{\code {show-mode-in-prompt}}
-\entry{skip-completed-text}{137}{\code {skip-completed-text}}
-\entry{vi-cmd-mode-string}{137}{\code {vi-cmd-mode-string}}
-\entry{vi-ins-mode-string}{138}{\code {vi-ins-mode-string}}
-\entry{visible-stats}{138}{\code {visible-stats}}
+\entry{auto_resume}{127}{\code {auto_resume}}
+\entry{active-region-start-color}{132}{\code {active-region-start-color}}
+\entry{active-region-end-color}{132}{\code {active-region-end-color}}
+\entry{bell-style}{132}{\code {bell-style}}
+\entry{bind-tty-special-chars}{133}{\code {bind-tty-special-chars}}
+\entry{blink-matching-paren}{133}{\code {blink-matching-paren}}
+\entry{colored-completion-prefix}{133}{\code {colored-completion-prefix}}
+\entry{colored-stats}{133}{\code {colored-stats}}
+\entry{comment-begin}{133}{\code {comment-begin}}
+\entry{completion-display-width}{133}{\code {completion-display-width}}
+\entry{completion-ignore-case}{133}{\code {completion-ignore-case}}
+\entry{completion-map-case}{133}{\code {completion-map-case}}
+\entry{completion-prefix-display-length}{133}{\code {completion-prefix-display-length}}
+\entry{completion-query-items}{134}{\code {completion-query-items}}
+\entry{convert-meta}{134}{\code {convert-meta}}
+\entry{disable-completion}{134}{\code {disable-completion}}
+\entry{echo-control-characters}{134}{\code {echo-control-characters}}
+\entry{editing-mode}{134}{\code {editing-mode}}
+\entry{emacs-mode-string}{134}{\code {emacs-mode-string}}
+\entry{enable-active-region The}{135}{\code {enable-active-region The}}
+\entry{enable-bracketed-paste}{135}{\code {enable-bracketed-paste}}
+\entry{enable-keypad}{135}{\code {enable-keypad}}
+\entry{enable-meta-key}{135}{\code {enable-meta-key}}
+\entry{expand-tilde}{135}{\code {expand-tilde}}
+\entry{force-meta-prefix}{135}{\code {force-meta-prefix}}
+\entry{history-preserve-point}{136}{\code {history-preserve-point}}
+\entry{history-size}{136}{\code {history-size}}
+\entry{horizontal-scroll-mode}{136}{\code {horizontal-scroll-mode}}
+\entry{input-meta}{136}{\code {input-meta}}
+\entry{meta-flag}{136}{\code {meta-flag}}
+\entry{isearch-terminators}{136}{\code {isearch-terminators}}
+\entry{keymap}{136}{\code {keymap}}
+\entry{mark-modified-lines}{137}{\code {mark-modified-lines}}
+\entry{mark-symlinked-directories}{137}{\code {mark-symlinked-directories}}
+\entry{match-hidden-files}{137}{\code {match-hidden-files}}
+\entry{menu-complete-display-prefix}{137}{\code {menu-complete-display-prefix}}
+\entry{output-meta}{137}{\code {output-meta}}
+\entry{page-completions}{137}{\code {page-completions}}
+\entry{revert-all-at-newline}{138}{\code {revert-all-at-newline}}
+\entry{search-ignore-case}{138}{\code {search-ignore-case}}
+\entry{show-all-if-ambiguous}{138}{\code {show-all-if-ambiguous}}
+\entry{show-all-if-unmodified}{138}{\code {show-all-if-unmodified}}
+\entry{show-mode-in-prompt}{138}{\code {show-mode-in-prompt}}
+\entry{skip-completed-text}{138}{\code {skip-completed-text}}
+\entry{vi-cmd-mode-string}{138}{\code {vi-cmd-mode-string}}
+\entry{vi-ins-mode-string}{139}{\code {vi-ins-mode-string}}
+\entry{visible-stats}{139}{\code {visible-stats}}
\initial {0}
\entry{\code {0}}{24}
\initial {A}
-\entry{\code {active-region-end-color}}{131}
-\entry{\code {active-region-start-color}}{131}
-\entry{\code {auto_resume}}{126}
+\entry{\code {active-region-end-color}}{132}
+\entry{\code {active-region-start-color}}{132}
+\entry{\code {auto_resume}}{127}
\initial {B}
\entry{\code {BASH}}{85}
\entry{\code {BASH_ALIASES}}{85}
\entry{\code {BASH_XTRACEFD}}{88}
\entry{\code {BASHOPTS}}{85}
\entry{\code {BASHPID}}{85}
-\entry{\code {bell-style}}{131}
-\entry{\code {bind-tty-special-chars}}{132}
-\entry{\code {blink-matching-paren}}{132}
+\entry{\code {bell-style}}{132}
+\entry{\code {bind-tty-special-chars}}{133}
+\entry{\code {blink-matching-paren}}{133}
\initial {C}
\entry{\code {CDPATH}}{84}
\entry{\code {CHILD_MAX}}{88}
-\entry{\code {colored-completion-prefix}}{132}
-\entry{\code {colored-stats}}{132}
+\entry{\code {colored-completion-prefix}}{133}
+\entry{\code {colored-stats}}{133}
\entry{\code {COLUMNS}}{88}
-\entry{\code {comment-begin}}{132}
+\entry{\code {comment-begin}}{133}
\entry{\code {COMP_CWORD}}{88}
\entry{\code {COMP_KEY}}{88}
\entry{\code {COMP_LINE}}{88}
\entry{\code {COMP_TYPE}}{89}
\entry{\code {COMP_WORDBREAKS}}{89}
\entry{\code {COMP_WORDS}}{89}
-\entry{\code {completion-display-width}}{132}
-\entry{\code {completion-ignore-case}}{132}
-\entry{\code {completion-map-case}}{132}
-\entry{\code {completion-prefix-display-length}}{132}
-\entry{\code {completion-query-items}}{133}
+\entry{\code {completion-display-width}}{133}
+\entry{\code {completion-ignore-case}}{133}
+\entry{\code {completion-map-case}}{133}
+\entry{\code {completion-prefix-display-length}}{133}
+\entry{\code {completion-query-items}}{134}
\entry{\code {COMPREPLY}}{89}
-\entry{\code {convert-meta}}{133}
+\entry{\code {convert-meta}}{134}
\entry{\code {COPROC}}{89}
\initial {D}
\entry{\code {DIRSTACK}}{89}
-\entry{\code {disable-completion}}{133}
+\entry{\code {disable-completion}}{134}
\initial {E}
-\entry{\code {echo-control-characters}}{133}
-\entry{\code {editing-mode}}{133}
-\entry{\code {emacs-mode-string}}{133}
+\entry{\code {echo-control-characters}}{134}
+\entry{\code {editing-mode}}{134}
+\entry{\code {emacs-mode-string}}{134}
\entry{\code {EMACS}}{89}
-\entry{\code {enable-active-region The}}{134}
-\entry{\code {enable-bracketed-paste}}{134}
-\entry{\code {enable-keypad}}{134}
-\entry{\code {enable-meta-key}}{134}
+\entry{\code {enable-active-region The}}{135}
+\entry{\code {enable-bracketed-paste}}{135}
+\entry{\code {enable-keypad}}{135}
+\entry{\code {enable-meta-key}}{135}
\entry{\code {ENV}}{89}
\entry{\code {EPOCHREALTIME}}{90}
\entry{\code {EPOCHSECONDS}}{90}
\entry{\code {EUID}}{90}
\entry{\code {EXECIGNORE}}{90}
-\entry{\code {expand-tilde}}{134}
+\entry{\code {expand-tilde}}{135}
\initial {F}
\entry{\code {FCEDIT}}{90}
\entry{\code {FIGNORE}}{90}
-\entry{\code {force-meta-prefix}}{134}
+\entry{\code {force-meta-prefix}}{135}
\entry{\code {FUNCNAME}}{90}
\entry{\code {FUNCNEST}}{90}
\initial {G}
\entry{\code {HISTFILE}}{92}
\entry{\code {HISTFILESIZE}}{92}
\entry{\code {HISTIGNORE}}{92}
-\entry{\code {history-preserve-point}}{135}
-\entry{\code {history-size}}{135}
+\entry{\code {history-preserve-point}}{136}
+\entry{\code {history-size}}{136}
\entry{\code {HISTSIZE}}{92}
\entry{\code {HISTTIMEFORMAT}}{93}
\entry{\code {HOME}}{84}
-\entry{\code {horizontal-scroll-mode}}{135}
+\entry{\code {horizontal-scroll-mode}}{136}
\entry{\code {HOSTFILE}}{93}
\entry{\code {HOSTNAME}}{93}
\entry{\code {HOSTTYPE}}{93}
\initial {I}
\entry{\code {IFS}}{84}
\entry{\code {IGNOREEOF}}{93}
-\entry{\code {input-meta}}{135}
+\entry{\code {input-meta}}{136}
\entry{\code {INPUTRC}}{93}
\entry{\code {INSIDE_EMACS}}{93}
-\entry{\code {isearch-terminators}}{135}
+\entry{\code {isearch-terminators}}{136}
\initial {K}
-\entry{\code {keymap}}{135}
+\entry{\code {keymap}}{136}
\initial {L}
\entry{\code {LANG}}{8, 93}
\entry{\code {LC_ALL}}{93}
\entry{\code {MAILCHECK}}{94}
\entry{\code {MAILPATH}}{84}
\entry{\code {MAPFILE}}{94}
-\entry{\code {mark-modified-lines}}{136}
-\entry{\code {mark-symlinked-directories}}{136}
-\entry{\code {match-hidden-files}}{136}
-\entry{\code {menu-complete-display-prefix}}{136}
-\entry{\code {meta-flag}}{135}
+\entry{\code {mark-modified-lines}}{137}
+\entry{\code {mark-symlinked-directories}}{137}
+\entry{\code {match-hidden-files}}{137}
+\entry{\code {menu-complete-display-prefix}}{137}
+\entry{\code {meta-flag}}{136}
\initial {O}
\entry{\code {OLDPWD}}{94}
\entry{\code {OPTARG}}{84}
\entry{\code {OPTERR}}{94}
\entry{\code {OPTIND}}{84}
\entry{\code {OSTYPE}}{94}
-\entry{\code {output-meta}}{136}
+\entry{\code {output-meta}}{137}
\initial {P}
-\entry{\code {page-completions}}{136}
+\entry{\code {page-completions}}{137}
\entry{\code {PATH}}{84}
\entry{\code {PIPESTATUS}}{94}
\entry{\code {POSIXLY_CORRECT}}{94}
\entry{\code {READLINE_MARK}}{95}
\entry{\code {READLINE_POINT}}{95}
\entry{\code {REPLY}}{95}
-\entry{\code {revert-all-at-newline}}{137}
+\entry{\code {revert-all-at-newline}}{138}
\initial {S}
-\entry{\code {search-ignore-case}}{137}
+\entry{\code {search-ignore-case}}{138}
\entry{\code {SECONDS}}{95}
\entry{\code {SHELL}}{96}
\entry{\code {SHELLOPTS}}{96}
\entry{\code {SHLVL}}{96}
-\entry{\code {show-all-if-ambiguous}}{137}
-\entry{\code {show-all-if-unmodified}}{137}
-\entry{\code {show-mode-in-prompt}}{137}
-\entry{\code {skip-completed-text}}{137}
+\entry{\code {show-all-if-ambiguous}}{138}
+\entry{\code {show-all-if-unmodified}}{138}
+\entry{\code {show-mode-in-prompt}}{138}
+\entry{\code {skip-completed-text}}{138}
\entry{\code {SRANDOM}}{96}
\initial {T}
\entry{\code {TEXTDOMAIN}}{8}
\initial {U}
\entry{\code {UID}}{97}
\initial {V}
-\entry{\code {vi-cmd-mode-string}}{137}
-\entry{\code {vi-ins-mode-string}}{138}
-\entry{\code {visible-stats}}{138}
+\entry{\code {vi-cmd-mode-string}}{138}
+\entry{\code {vi-ins-mode-string}}{139}
+\entry{\code {visible-stats}}{139}
and performing any specified redirections. The return status is
zero.
- .\b. [-\b-p\bp _\bp_\ba_\bt_\bh] _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
+ .\b. [-\b-p\bp _\bp_\ba_\bt_\bh] _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
s\bso\bou\bur\brc\bce\be [-\b-p\bp _\bp_\ba_\bt_\bh] _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
- The .\b. command (s\bso\bou\bur\brc\bce\be) reads and execute commands from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
- in the current shell environment and returns the exit status of
+ The .\b. command (s\bso\bou\bur\brc\bce\be) reads and execute commands from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
+ in the current shell environment and returns the exit status of
the last command executed from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.
- If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not contain a slash, .\b. searchs for it. If the
- -\b-p\bp option is supplied, .\b. treats _\bp_\ba_\bt_\bh as a colon-separated list
- of directories in which to find _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be; otherwise, .\b. uses the
+ If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not contain a slash, .\b. searches for it. If the
+ -\b-p\bp option is supplied, .\b. treats _\bp_\ba_\bt_\bh as a colon-separated list
+ of directories in which to find _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be; otherwise, .\b. uses the
entries in P\bPA\bAT\bTH\bH to find the directory containing _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be.
_\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not need to be executable. When b\bba\bas\bsh\bh is not in
_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, it searches the current directory if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is not
found in P\bPA\bAT\bTH\bH, but does not search the current directory if -\b-p\bp
is supplied. If the s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh option to the s\bsh\bho\bop\bpt\bt builtin com-
- mand is turned off, .\b. does not search P\bPA\bAT\bTH\bH.
+ mand is turned off, .\b. does not search P\bPA\bAT\bTH\bH.
If any _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs are supplied, they become the positional para-
meters when _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is executed. Otherwise the positional pa-
b\bbg\bg [_\bj_\bo_\bb_\bs_\bp_\be_\bc ...]
Resume each suspended job _\bj_\bo_\bb_\bs_\bp_\be_\bc in the background, as if it
- had been started with &\b&. If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell's
- notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used. b\bbg\bg _\bj_\bo_\bb_\bs_\bp_\be_\bc returns 0 unless
+ had been started with &\b&. If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell
+ uses its notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb. b\bbg\bg _\bj_\bo_\bb_\bs_\bp_\be_\bc returns 0 unless
run when job control is disabled or, when run with job control
enabled, any specified _\bj_\bo_\bb_\bs_\bp_\be_\bc was not found or was started
without job control.
d\bdi\bis\bso\bow\bwn\bn [-\b-a\bar\br] [-\b-h\bh] [_\bi_\bd ...]
Without options, remove each _\bi_\bd from the table of active jobs.
Each _\bi_\bd may be a job specification _\bj_\bo_\bb_\bs_\bp_\be_\bc or a process ID _\bp_\bi_\bd;
- if _\bi_\bd is a _\bp_\bi_\bd, d\bdi\bis\bso\bow\bwn\bn uses the job containing _\bp_\bi_\bd as _\bj_\bo_\bb_\bs_\bp_\be_\bc.
- If _\bi_\bd is not present, and neither the -\b-a\ba nor the -\b-r\br option is
- supplied, d\bdi\bis\bso\bow\bwn\bn removes the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb. If the -\b-h\bh option is
- supplied, the job corresponding to each _\bi_\bd 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 _\bi_\bd is a _\bp_\bi_\bd, d\bdi\bis\bso\bow\bwn\bn uses the job containing _\bp_\bi_\bd as _\bj_\bo_\bb_\bs_\bp_\be_\bc.
+
+ If the -\b-h\bh option is supplied, d\bdi\bis\bso\bow\bwn\bn does not remove the jobs
+ corresponding to each _\bi_\bd from the jobs table, but rather marks
+ them so the shell does not send S\bSI\bIG\bGH\bHU\bUP\bP to the job if the shell
+ receives a S\bSI\bIG\bGH\bHU\bUP\bP.
If no _\bi_\bd is supplied, the -\b-a\ba option means to remove or mark all
- jobs; the -\b-r\br option without an _\bi_\bd argument restricts operation
- to running jobs.
+ jobs; the -\b-r\br option without an _\bi_\bd argument removes or marks run-
+ ning jobs. If no _\bi_\bd is supplied, and neither the -\b-a\ba nor the -\b-r\br
+ option is supplied, d\bdi\bis\bso\bow\bwn\bn removes or marks the current job.
The return value is 0 unless an _\bi_\bd does not specify a valid job.
f\bfg\bg [_\bj_\bo_\bb_\bs_\bp_\be_\bc]
Resume _\bj_\bo_\bb_\bs_\bp_\be_\bc in the foreground, and make it the current job.
- If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, use the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt
- _\bj_\bo_\bb. The return value is that of the command placed into the
- foreground, or failure if run when job control is disabled or,
- when run with job control enabled, if _\bj_\bo_\bb_\bs_\bp_\be_\bc does not specify a
- valid job or _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies a job that was started without
- job control.
+ If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, f\bfg\bg uses the shell's notion of the
+ _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb. The return value is that of the command placed
+ into the foreground, or failure if run when job control is dis-
+ abled or, when run with job control enabled, if _\bj_\bo_\bb_\bs_\bp_\be_\bc does not
+ specify a valid job or _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies a job that was started
+ without job control.
g\bge\bet\bto\bop\bpt\bts\bs _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg _\bn_\ba_\bm_\be [_\ba_\br_\bg ...]
- g\bge\bet\bto\bop\bpt\bts\bs is used by shell scripts and functions to parse posi-
- tional parameters and obtain options and their arguments. _\bo_\bp_\bt_\b-
- _\bs_\bt_\br_\bi_\bn_\bg contains the option characters to be recognized; if a
+ g\bge\bet\bto\bop\bpt\bts\bs is used by shell scripts and functions to parse posi-
+ tional parameters and obtain options and their arguments. _\bo_\bp_\bt_\b-
+ _\bs_\bt_\br_\bi_\bn_\bg contains the option characters to be recognized; if a
character is followed by a colon, the option is expected to have
- an argument, which should be separated from it by white space.
+ an argument, which should be separated from it by white space.
The colon and question mark characters may not be used as option
characters.
- Each time it is invoked, g\bge\bet\bto\bop\bpt\bts\bs places the next option in the
+ Each time it is invoked, g\bge\bet\bto\bop\bpt\bts\bs places the next option in the
shell variable _\bn_\ba_\bm_\be, initializing _\bn_\ba_\bm_\be if it does not exist, and
the index of the next argument to be processed into the variable
- O\bOP\bPT\bTI\bIN\bND\bD. O\bOP\bPT\bTI\bIN\bND\bD is initialized to 1 each time the shell or a
- shell script is invoked. When an option requires an argument,
+ O\bOP\bPT\bTI\bIN\bND\bD. O\bOP\bPT\bTI\bIN\bND\bD is initialized to 1 each time the shell or a
+ shell script is invoked. When an option requires an argument,
g\bge\bet\bto\bop\bpt\bts\bs places that argument into the variable O\bOP\bPT\bTA\bAR\bRG\bG.
- The shell does not reset O\bOP\bPT\bTI\bIN\bND\bD automatically; it must be manu-
- ally reset between multiple calls to g\bge\bet\bto\bop\bpt\bts\bs within the same
+ The shell does not reset O\bOP\bPT\bTI\bIN\bND\bD automatically; it must be manu-
+ ally reset between multiple calls to g\bge\bet\bto\bop\bpt\bts\bs within the same
shell invocation to use a new set of parameters.
- When it reaches the end of options, g\bge\bet\bto\bop\bpt\bts\bs exits with a return
- value greater than zero. O\bOP\bPT\bTI\bIN\bND\bD is set to the index of the
+ When it reaches the end of options, g\bge\bet\bto\bop\bpt\bts\bs exits with a return
+ value greater than zero. O\bOP\bPT\bTI\bIN\bND\bD is set to the index of the
first non-option argument, and _\bn_\ba_\bm_\be is set to ?.
- g\bge\bet\bto\bop\bpt\bts\bs normally parses the positional parameters, but if more
- arguments are supplied as _\ba_\br_\bg values, g\bge\bet\bto\bop\bpt\bts\bs parses those in-
+ g\bge\bet\bto\bop\bpt\bts\bs normally parses the positional parameters, but if more
+ arguments are supplied as _\ba_\br_\bg values, g\bge\bet\bto\bop\bpt\bts\bs parses those in-
stead.
- g\bge\bet\bto\bop\bpt\bts\bs can report errors in two ways. If the first character
- of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is a colon, g\bge\bet\bto\bop\bpt\bts\bs uses _\bs_\bi_\bl_\be_\bn_\bt error reporting.
- In normal operation, g\bge\bet\bto\bop\bpt\bts\bs prints diagnostic messages when it
- encounters invalid options or missing option arguments. If the
- variable O\bOP\bPT\bTE\bER\bRR\bR is set to 0, no error messages will be dis-
+ g\bge\bet\bto\bop\bpt\bts\bs can report errors in two ways. If the first character
+ of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is a colon, g\bge\bet\bto\bop\bpt\bts\bs uses _\bs_\bi_\bl_\be_\bn_\bt error reporting.
+ In normal operation, g\bge\bet\bto\bop\bpt\bts\bs prints diagnostic messages when it
+ encounters invalid options or missing option arguments. If the
+ variable O\bOP\bPT\bTE\bER\bRR\bR is set to 0, no error messages will be dis-
played, even if the first character of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is not a colon.
If g\bge\bet\bto\bop\bpt\bts\bs detects an invalid option, it places ? into _\bn_\ba_\bm_\be and,
- if not silent, prints an error message and unsets O\bOP\bPT\bTA\bAR\bRG\bG. If
- g\bge\bet\bto\bop\bpt\bts\bs is silent, it assigns the option character found to O\bOP\bP-\b-
+ if not silent, prints an error message and unsets O\bOP\bPT\bTA\bAR\bRG\bG. If
+ g\bge\bet\bto\bop\bpt\bts\bs is silent, it assigns the option character found to O\bOP\bP-\b-
T\bTA\bAR\bRG\bG and does not print a diagnostic message.
- If a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not silent,
+ If a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not silent,
it sets the value of _\bn_\ba_\bm_\be to a question mark (?\b?), unsets O\bOP\bPT\bTA\bAR\bRG\bG,
- and prints a diagnostic message. If g\bge\bet\bto\bop\bpt\bts\bs is silent, it sets
- the value of _\bn_\ba_\bm_\be to a colon (:\b:) and sets O\bOP\bPT\bTA\bAR\bRG\bG to the option
+ and prints a diagnostic message. If g\bge\bet\bto\bop\bpt\bts\bs is silent, it sets
+ the value of _\bn_\ba_\bm_\be to a colon (:\b:) and sets O\bOP\bPT\bTA\bAR\bRG\bG to the option
character found.
- g\bge\bet\bto\bop\bpt\bts\bs returns true if an option, specified or unspecified, is
+ g\bge\bet\bto\bop\bpt\bts\bs returns true if an option, specified or unspecified, is
found. It returns false if the end of options is encountered or
an error occurs.
h\bha\bas\bsh\bh [-\b-l\blr\br] [-\b-p\bp _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [-\b-d\bdt\bt] [_\bn_\ba_\bm_\be]
Each time h\bha\bas\bsh\bh is invoked, it remembers the full pathname of the
- command _\bn_\ba_\bm_\be as determined by searching the directories in
- $\b$P\bPA\bAT\bTH\bH. Any previously-remembered pathname associated with _\bn_\ba_\bm_\be
- is discarded. If the -\b-p\bp option is supplied, h\bha\bas\bsh\bh uses _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
+ command _\bn_\ba_\bm_\be as determined by searching the directories in
+ $\b$P\bPA\bAT\bTH\bH. Any previously-remembered pathname associated with _\bn_\ba_\bm_\be
+ is discarded. If the -\b-p\bp option is supplied, h\bha\bas\bsh\bh uses _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
as the full pathname of the command.
- The -\b-r\br option causes the shell to forget all remembered loca-
- tions. Assigning to the P\bPA\bAT\bTH\bH variable also clears all hashed
- filenames. The -\b-d\bd option causes the shell to forget the remem-
+ The -\b-r\br option causes the shell to forget all remembered loca-
+ tions. Assigning to the P\bPA\bAT\bTH\bH variable also clears all hashed
+ filenames. The -\b-d\bd option causes the shell to forget the remem-
bered location of each _\bn_\ba_\bm_\be.
If the -\b-t\bt option is supplied, h\bha\bas\bsh\bh prints the full pathname cor-
- responding to each _\bn_\ba_\bm_\be. If multiple _\bn_\ba_\bm_\be arguments are sup-
- plied with -\b-t\bt, h\bha\bas\bsh\bh prints the _\bn_\ba_\bm_\be before the corresponding
+ responding to each _\bn_\ba_\bm_\be. If multiple _\bn_\ba_\bm_\be arguments are sup-
+ plied with -\b-t\bt, h\bha\bas\bsh\bh prints the _\bn_\ba_\bm_\be before the corresponding
hashed full pathname. The -\b-l\bl option displays output in a format
that may be reused as input.
- If no arguments are given, or if only -\b-l\bl is supplied, h\bha\bas\bsh\bh
- prints information about remembered commands. The -\b-t\bt, -\b-d\bd, and
- -\b-p\bp options (the options that act on the _\bn_\ba_\bm_\be arguments) are mu-
+ If no arguments are given, or if only -\b-l\bl is supplied, h\bha\bas\bsh\bh
+ prints information about remembered commands. The -\b-t\bt, -\b-d\bd, and
+ -\b-p\bp options (the options that act on the _\bn_\ba_\bm_\be arguments) are mu-
tually exclusive. Only one will be active. If more than one is
- supplied, -\b-t\bt has higher priority than -\b-p\bp, and both have higher
+ supplied, -\b-t\bt has higher priority than -\b-p\bp, and both have higher
priority than -\b-d\bd.
- The return status is zero unless a _\bn_\ba_\bm_\be is not found or an in-
+ The return status is zero unless a _\bn_\ba_\bm_\be is not found or an in-
valid option is supplied.
h\bhe\bel\blp\bp [-\b-d\bdm\bms\bs] [_\bp_\ba_\bt_\bt_\be_\br_\bn]
- Display helpful information about builtin commands. If _\bp_\ba_\bt_\bt_\be_\br_\bn
- is specified, h\bhe\bel\blp\bp gives detailed help on all commands matching
- _\bp_\ba_\bt_\bt_\be_\br_\bn; otherwise it displays a list of all the builtins and
+ Display helpful information about builtin commands. If _\bp_\ba_\bt_\bt_\be_\br_\bn
+ is specified, h\bhe\bel\blp\bp gives detailed help on all commands matching
+ _\bp_\ba_\bt_\bt_\be_\br_\bn; otherwise it displays a list of all the builtins and
shell compound commands.
-\b-d\bd Display a short description of each _\bp_\ba_\bt_\bt_\be_\br_\bn
-\b-m\bm Display the description of each _\bp_\ba_\bt_\bt_\be_\br_\bn in a manpage-like
h\bhi\bis\bst\bto\bor\bry\by -\b-a\ban\bnr\brw\bw [_\bf_\bi_\bl_\be_\bn_\ba_\bm_\be]
h\bhi\bis\bst\bto\bor\bry\by -\b-p\bp _\ba_\br_\bg [_\ba_\br_\bg ...]
h\bhi\bis\bst\bto\bor\bry\by -\b-s\bs _\ba_\br_\bg [_\ba_\br_\bg ...]
- With no options, display the command history list with numbers.
- Entries prefixed with a *\b* have been modified. An argument of _\bn
- lists only the last _\bn entries. If the shell variable H\bHI\bIS\bST\bTT\bTI\bIM\bME\bE-\b-
- F\bFO\bOR\bRM\bMA\bAT\bT is set and not null, it is used as a format string for
- _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) to display the time stamp associated with each dis-
- played history entry. If h\bhi\bis\bst\bto\bor\bry\by uses H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT, it does
- not print an intervening space between the formatted time stamp
+ With no options, display the command history list with numbers.
+ Entries prefixed with a *\b* have been modified. An argument of _\bn
+ lists only the last _\bn entries. If the shell variable H\bHI\bIS\bST\bTT\bTI\bIM\bME\bE-\b-
+ F\bFO\bOR\bRM\bMA\bAT\bT is set and not null, it is used as a format string for
+ _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) to display the time stamp associated with each dis-
+ played history entry. If h\bhi\bis\bst\bto\bor\bry\by uses H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT, it does
+ not print an intervening space between the formatted time stamp
and the history entry.
If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is supplied, h\bhi\bis\bst\bto\bor\bry\by uses it as the name of the his-
- tory file; if not, it uses the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE. If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
- is not supplied and H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset or null, the -\b-a\ba,\b, -\b-n\bn,\b, -\b-r\br,\b,
+ tory file; if not, it uses the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE. If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
+ is not supplied and H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset or null, the -\b-a\ba,\b, -\b-n\bn,\b, -\b-r\br,\b,
and -\b-w\bw options have no effect.
Options, if supplied, have the following meanings:
can be used with the other options to replace the history
list.
-\b-d\bd _\bo_\bf_\bf_\bs_\be_\bt
- Delete the history entry at position _\bo_\bf_\bf_\bs_\be_\bt. If _\bo_\bf_\bf_\bs_\be_\bt
+ Delete the history entry at position _\bo_\bf_\bf_\bs_\be_\bt. If _\bo_\bf_\bf_\bs_\be_\bt
is negative, it is interpreted as relative to one greater
than the last history position, so negative indices count
- back from the end of the history, and an index of -1
+ back from the end of the history, and an index of -1
refers to the current h\bhi\bis\bst\bto\bor\bry\by -\b-d\bd command.
-\b-d\bd _\bs_\bt_\ba_\br_\bt-_\be_\bn_\bd
- Delete the range of history entries between positions
- _\bs_\bt_\ba_\br_\bt and _\be_\bn_\bd, inclusive. Positive and negative values
+ Delete the range of history entries between positions
+ _\bs_\bt_\ba_\br_\bt and _\be_\bn_\bd, inclusive. Positive and negative values
for _\bs_\bt_\ba_\br_\bt and _\be_\bn_\bd are interpreted as described above.
- -\b-a\ba Append the history lines to the history file. These are
- history lines entered since the beginning of the current
- b\bba\bas\bsh\bh session, but not already appended to the history
+ -\b-a\ba Append the history lines to the history file. These are
+ history lines entered since the beginning of the current
+ b\bba\bas\bsh\bh session, but not already appended to the history
file.
- -\b-n\bn Read the history lines not already read from the history
+ -\b-n\bn Read the history lines not already read from the history
file and add them to the current history list. These are
lines appended to the history file since the beginning of
the current b\bba\bas\bsh\bh session.
rent history list.
-\b-w\bw Write the current history list to the history file, over-
writing the history file.
- -\b-p\bp Perform history substitution on the following _\ba_\br_\bg_\bs and
- display the result on the standard output, without stor-
- ing the results in the history list. Each _\ba_\br_\bg must be
+ -\b-p\bp Perform history substitution on the following _\ba_\br_\bg_\bs and
+ display the result on the standard output, without stor-
+ ing the results in the history list. Each _\ba_\br_\bg must be
quoted to disable normal history expansion.
- -\b-s\bs Store the _\ba_\br_\bg_\bs in the history list as a single entry.
- The last command in the history list is removed before
+ -\b-s\bs Store the _\ba_\br_\bg_\bs in the history list as a single entry.
+ The last command in the history list is removed before
adding the _\ba_\br_\bg_\bs.
- If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, h\bhi\bis\bst\bto\bor\bry\by writes the time
+ If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, h\bhi\bis\bst\bto\bor\bry\by writes the time
stamp information associated with each history entry to the his-
- tory file, marked with the history comment character as de-
- scribed above. When the history file is read, lines beginning
- with the history comment character followed immediately by a
- digit are interpreted as timestamps for the following history
+ tory file, marked with the history comment character as de-
+ scribed above. When the history file is read, lines beginning
+ with the history comment character followed immediately by a
+ digit are interpreted as timestamps for the following history
entry.
- The return value is 0 unless an invalid option is encountered,
- an error occurs while reading or writing the history file, an
+ The return value is 0 unless an invalid option is encountered,
+ an error occurs while reading or writing the history file, an
invalid _\bo_\bf_\bf_\bs_\be_\bt or range is supplied as an argument to -\b-d\bd, or the
history expansion supplied as an argument to -\b-p\bp fails.
The first form lists the active jobs. The options have the fol-
lowing meanings:
-\b-l\bl List process IDs in addition to the normal information.
- -\b-n\bn Display information only about jobs that have changed
+ -\b-n\bn Display information only about jobs that have changed
status since the user was last notified of their status.
- -\b-p\bp List only the process ID of the job's process group
+ -\b-p\bp List only the process ID of the job's process group
leader.
-\b-r\br Display only running jobs.
-\b-s\bs Display only stopped jobs.
- If _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied, j\bjo\bob\bbs\bs restricts output to information
+ If _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied, j\bjo\bob\bbs\bs restricts output to information
about that job. The return status is 0 unless an invalid option
is encountered or an invalid _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied.
_\bc_\bo_\bm_\bm_\ba_\bn_\bd or _\ba_\br_\bg_\bs with the corresponding process group ID, and ex-
ecutes _\bc_\bo_\bm_\bm_\ba_\bn_\bd, passing it _\ba_\br_\bg_\bs, returning its exit status.
- k\bki\bil\bll\bl [-\b-s\bs _\bs_\bi_\bg_\bs_\bp_\be_\bc | -\b-n\bn _\bs_\bi_\bg_\bn_\bu_\bm | -\b-_\bs_\bi_\bg_\bs_\bp_\be_\bc] [_\bp_\bi_\bd | _\bj_\bo_\bb_\bs_\bp_\be_\bc] ...
+ k\bki\bil\bll\bl [-\b-s\bs _\bs_\bi_\bg_\bs_\bp_\be_\bc | -\b-n\bn _\bs_\bi_\bg_\bn_\bu_\bm | -\b-_\bs_\bi_\bg_\bs_\bp_\be_\bc] _\bi_\bd [ ... ]
k\bki\bil\bll\bl -\b-l\bl|-\b-L\bL [_\bs_\bi_\bg_\bs_\bp_\be_\bc | _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs]
- Send the signal specified by _\bs_\bi_\bg_\bs_\bp_\be_\bc or _\bs_\bi_\bg_\bn_\bu_\bm to the processes
- named by _\bp_\bi_\bd or _\bj_\bo_\bb_\bs_\bp_\be_\bc. _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a case-insensitive
- signal name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix) or
- a signal number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number. If _\bs_\bi_\bg_\bs_\bp_\be_\bc is not
- supplied, then k\bki\bil\bll\bl sends S\bSI\bIG\bGT\bTE\bER\bRM\bM.
-
- An argument of -\b-l\bl lists the signal names. If any arguments are
- supplied when -\b-l\bl is given, k\bki\bil\bll\bl lists the names of the signals
- corresponding to the arguments, and the return status is 0. The
+ Send the signal specified by _\bs_\bi_\bg_\bs_\bp_\be_\bc or _\bs_\bi_\bg_\bn_\bu_\bm to the processes
+ named by each _\bi_\bd. Each _\bi_\bd may be a job specification _\bj_\bo_\bb_\bs_\bp_\be_\bc or
+ a process ID _\bp_\bi_\bd. _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a case-insensitive signal
+ name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix) or a sig-
+ nal number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number. If _\bs_\bi_\bg_\bs_\bp_\be_\bc is not sup-
+ plied, then k\bki\bil\bll\bl sends S\bSI\bIG\bGT\bTE\bER\bRM\bM.
+
+ The -\b-l\bl option lists the signal names. If any arguments are sup-
+ plied when -\b-l\bl is given, k\bki\bil\bll\bl lists the names of the signals cor-
+ responding to the arguments, and the return status is 0. The
_\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs argument to -\b-l\bl is a number specifying either a sig-
nal number or the exit status of a process terminated by a sig-
- nal. The -\b-L\bL option is equivalent to -\b-l\bl.
+ nal; if it is supplied, k\bki\bil\bll\bl prints the name of the signal that
+ caused the process to terminate. k\bki\bil\bll\bl assumes that process exit
+ statuses are greater than 128; anything less than that is a sig-
+ nal number. The -\b-L\bL option is equivalent to -\b-l\bl.
- k\bki\bil\bll\bl returns true if at least one signal was successfully sent,
+ k\bki\bil\bll\bl returns true if at least one signal was successfully sent,
or false if an error occurs or an invalid option is encountered.
l\ble\bet\bt _\ba_\br_\bg [_\ba_\br_\bg ...]
- Each _\ba_\br_\bg is evaluated as an arithmetic expression (see A\bAR\bRI\bIT\bTH\bH-\b-
- M\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN in _\bb_\ba_\bs_\bh(1)). If the last _\ba_\br_\bg evaluates to 0,
+ Each _\ba_\br_\bg is evaluated as an arithmetic expression (see A\bAR\bRI\bIT\bTH\bH-\b-
+ M\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN in _\bb_\ba_\bs_\bh(1)). If the last _\ba_\br_\bg evaluates to 0,
l\ble\bet\bt returns 1; otherwise l\ble\bet\bt returns 0.
l\blo\boc\bca\bal\bl [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ... | - ]
For each argument, create a local variable named _\bn_\ba_\bm_\be and assign
- it _\bv_\ba_\bl_\bu_\be. The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the options accepted by d\bde\be-\b-
- c\bcl\bla\bar\bre\be. When l\blo\boc\bca\bal\bl is used within a function, it causes the
- variable _\bn_\ba_\bm_\be to have a visible scope restricted to that func-
- tion and its children. It is an error to use l\blo\boc\bca\bal\bl when not
+ it _\bv_\ba_\bl_\bu_\be. The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the options accepted by d\bde\be-\b-
+ c\bcl\bla\bar\bre\be. When l\blo\boc\bca\bal\bl is used within a function, it causes the
+ variable _\bn_\ba_\bm_\be to have a visible scope restricted to that func-
+ tion and its children. It is an error to use l\blo\boc\bca\bal\bl when not
within a function.
- If _\bn_\ba_\bm_\be is -, it makes the set of shell options local to the
- function in which l\blo\boc\bca\bal\bl is invoked: any shell options changed
- using the s\bse\bet\bt builtin inside the function after the call to l\blo\bo-\b-
- c\bca\bal\bl are restored to their original values when the function re-
- turns. The restore is performed as if a series of s\bse\bet\bt commands
- were executed to restore the values that were in place before
+ If _\bn_\ba_\bm_\be is -, it makes the set of shell options local to the
+ function in which l\blo\boc\bca\bal\bl is invoked: any shell options changed
+ using the s\bse\bet\bt builtin inside the function after the call to l\blo\bo-\b-
+ c\bca\bal\bl are restored to their original values when the function re-
+ turns. The restore is performed as if a series of s\bse\bet\bt commands
+ were executed to restore the values that were in place before
the function.
- With no operands, l\blo\boc\bca\bal\bl writes a list of local variables to the
+ With no operands, l\blo\boc\bca\bal\bl writes a list of local variables to the
standard output.
- The return status is 0 unless l\blo\boc\bca\bal\bl is used outside a function,
+ The return status is 0 unless l\blo\boc\bca\bal\bl is used outside a function,
an invalid _\bn_\ba_\bm_\be is supplied, or _\bn_\ba_\bm_\be is a readonly variable.
l\blo\bog\bgo\bou\but\bt [\b[_\bn]\b]
- Exit a login shell, returning a status of _\bn to the shell's par-
+ Exit a login shell, returning a status of _\bn to the shell's par-
ent.
m\bma\bap\bpf\bfi\bil\ble\be [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC
_\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk] [-\b-c\bc _\bq_\bu_\ba_\bn_\bt_\bu_\bm] [_\ba_\br_\br_\ba_\by]
r\bre\bea\bad\bda\bar\brr\bra\bay\by [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC
_\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk] [-\b-c\bc _\bq_\bu_\ba_\bn_\bt_\bu_\bm] [_\ba_\br_\br_\ba_\by]
- Read lines from the standard input, or from file descriptor _\bf_\bd
- if the -\b-u\bu option is supplied, into the indexed array variable
- _\ba_\br_\br_\ba_\by. The variable M\bMA\bAP\bPF\bFI\bIL\bLE\bE is the default _\ba_\br_\br_\ba_\by. Options, if
+ Read lines from the standard input, or from file descriptor _\bf_\bd
+ if the -\b-u\bu option is supplied, into the indexed array variable
+ _\ba_\br_\br_\ba_\by. The variable M\bMA\bAP\bPF\bFI\bIL\bLE\bE is the default _\ba_\br_\br_\ba_\by. Options, if
supplied, have the following meanings:
- -\b-d\bd Use the first character of _\bd_\be_\bl_\bi_\bm to terminate each input
+ -\b-d\bd Use the first character of _\bd_\be_\bl_\bi_\bm to terminate each input
line, rather than newline. If _\bd_\be_\bl_\bi_\bm is the empty string,
m\bma\bap\bpf\bfi\bil\ble\be will terminate a line when it reads a NUL charac-
ter.
-\b-n\bn Copy at most _\bc_\bo_\bu_\bn_\bt lines. If _\bc_\bo_\bu_\bn_\bt is 0, copy all lines.
- -\b-O\bO Begin assigning to _\ba_\br_\br_\ba_\by at index _\bo_\br_\bi_\bg_\bi_\bn. The default
+ -\b-O\bO Begin assigning to _\ba_\br_\br_\ba_\by at index _\bo_\br_\bi_\bg_\bi_\bn. The default
index is 0.
-\b-s\bs Discard the first _\bc_\bo_\bu_\bn_\bt lines read.
- -\b-t\bt Remove a trailing _\bd_\be_\bl_\bi_\bm (default newline) from each line
+ -\b-t\bt Remove a trailing _\bd_\be_\bl_\bi_\bm (default newline) from each line
read.
- -\b-u\bu Read lines from file descriptor _\bf_\bd instead of the stan-
+ -\b-u\bu Read lines from file descriptor _\bf_\bd instead of the stan-
dard input.
- -\b-C\bC Evaluate _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read. The
+ -\b-C\bC Evaluate _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read. The
-\b-c\bc option specifies _\bq_\bu_\ba_\bn_\bt_\bu_\bm.
- -\b-c\bc Specify the number of lines read between each call to
+ -\b-c\bc Specify the number of lines read between each call to
_\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk.
- If -\b-C\bC is specified without -\b-c\bc, the default quantum is 5000.
+ If -\b-C\bC is specified without -\b-c\bc, the default quantum is 5000.
When _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk is evaluated, it is supplied the index of the next
array element to be assigned and the line to be assigned to that
- element as additional arguments. _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk is evaluated after
+ element as additional arguments. _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk is evaluated after
the line is read but before the array element is assigned.
- If not supplied with an explicit origin, m\bma\bap\bpf\bfi\bil\ble\be will clear _\ba_\br_\b-
+ If not supplied with an explicit origin, m\bma\bap\bpf\bfi\bil\ble\be will clear _\ba_\br_\b-
_\br_\ba_\by before assigning to it.
m\bma\bap\bpf\bfi\bil\ble\be returns zero unless an invalid option or option argument
- is supplied, _\ba_\br_\br_\ba_\by is invalid or unassignable, or if _\ba_\br_\br_\ba_\by is
+ is supplied, _\ba_\br_\br_\ba_\by is invalid or unassignable, or if _\ba_\br_\br_\ba_\by is
not an indexed array.
p\bpo\bop\bpd\bd [-n\bn] [+_\bn] [-_\bn]
- Remove entries from the directory stack. The elements are num-
- bered from 0 starting at the first directory listed by d\bdi\bir\brs\bs, so
- p\bpo\bop\bpd\bd is equivalent to With no arguments, p\bpo\bop\bpd\bd removes the top
- directory from the stack, and changes to the new top directory.
+ Remove entries from the directory stack. The elements are num-
+ bered from 0 starting at the first directory listed by d\bdi\bir\brs\bs, so
+ p\bpo\bop\bpd\bd is equivalent to With no arguments, p\bpo\bop\bpd\bd removes the top
+ directory from the stack, and changes to the new top directory.
Arguments, if supplied, have the following meanings:
-\b-n\bn Suppress the normal change of directory when removing di-
rectories from the stack, only manipulate the stack.
- +\b+_\bn Remove the _\bnth entry counting from the left of the list
- shown by d\bdi\bir\brs\bs, starting with zero, from the stack. For
+ +\b+_\bn Remove the _\bnth entry counting from the left of the list
+ shown by d\bdi\bir\brs\bs, starting with zero, from the stack. For
example: removes the first directory, the second.
- -\b-_\bn Remove the _\bnth entry counting from the right of the list
- shown by d\bdi\bir\brs\bs, starting with zero. For example: removes
+ -\b-_\bn Remove the _\bnth entry counting from the right of the list
+ shown by d\bdi\bir\brs\bs, starting with zero. For example: removes
the last directory, the next to last.
- If the top element of the directory stack is modified, and the
- _\b-_\bn option was not supplied, p\bpo\bop\bpd\bd uses the c\bcd\bd builtin to change
+ If the top element of the directory stack is modified, and the
+ _\b-_\bn option was not supplied, p\bpo\bop\bpd\bd uses the c\bcd\bd builtin to change
to the directory at the top of the stack. If the c\bcd\bd fails, p\bpo\bop\bpd\bd
returns a non-zero value.
- Otherwise, p\bpo\bop\bpd\bd returns false if an invalid option is supplied,
- the directory stack is empty, or _\bn specifies a non-existent di-
+ Otherwise, p\bpo\bop\bpd\bd returns false if an invalid option is supplied,
+ the directory stack is empty, or _\bn specifies a non-existent di-
rectory stack entry.
- If the p\bpo\bop\bpd\bd command is successful, b\bba\bas\bsh\bh runs d\bdi\bir\brs\bs to show the
- final contents of the directory stack, and the return status is
+ If the p\bpo\bop\bpd\bd command is successful, b\bba\bas\bsh\bh runs d\bdi\bir\brs\bs to show the
+ final contents of the directory stack, and the return status is
0.
p\bpr\bri\bin\bnt\btf\bf [-\b-v\bv _\bv_\ba_\br] _\bf_\bo_\br_\bm_\ba_\bt [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
- Write the formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output under the
- control of the _\bf_\bo_\br_\bm_\ba_\bt. The -\b-v\bv option assigns the output to the
+ Write the formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output under the
+ control of the _\bf_\bo_\br_\bm_\ba_\bt. The -\b-v\bv option assigns the output to the
variable _\bv_\ba_\br rather than printing it to the standard output.
- The _\bf_\bo_\br_\bm_\ba_\bt is a character string which contains three types of
- objects: plain characters, which are simply copied to standard
- output, character escape sequences, which are converted and
- copied to the standard output, and format specifications, each
- of which causes printing of the next successive _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt. In
- addition to the standard _\bp_\br_\bi_\bn_\bt_\bf(3) format characters c\bcC\bCs\bsS\bS-\b-
+ The _\bf_\bo_\br_\bm_\ba_\bt is a character string which contains three types of
+ objects: plain characters, which are simply copied to standard
+ output, character escape sequences, which are converted and
+ copied to the standard output, and format specifications, each
+ of which causes printing of the next successive _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt. In
+ addition to the standard _\bp_\br_\bi_\bn_\bt_\bf(3) format characters c\bcC\bCs\bsS\bS-\b-
n\bnd\bdi\bio\bou\bux\bxX\bXe\beE\bEf\bfF\bFg\bgG\bGa\baA\bA, p\bpr\bri\bin\bnt\btf\bf interprets the following additional for-
mat specifiers:
%\b%b\bb causes p\bpr\bri\bin\bnt\btf\bf to expand backslash escape sequences in the
corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt in the same way as e\bec\bch\bho\bo -\b-e\be.
- %\b%q\bq causes p\bpr\bri\bin\bnt\btf\bf to output the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt in a
- format that can be reused as shell input. %\b%q\bq and %\b%Q\bQ use
- the $\b$ quoting style if any characters in the argument
- string require it, and backslash quoting otherwise. If
- the format string uses the _\bp_\br_\bi_\bn_\bt_\bf alternate form, these
+ %\b%q\bq causes p\bpr\bri\bin\bnt\btf\bf to output the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt in a
+ format that can be reused as shell input. %\b%q\bq and %\b%Q\bQ use
+ the $\b$ quoting style if any characters in the argument
+ string require it, and backslash quoting otherwise. If
+ the format string uses the _\bp_\br_\bi_\bn_\bt_\bf alternate form, these
two formats quote the argument string using single
quotes.
- %\b%Q\bQ like %\b%q\bq, but applies any supplied precision to the _\ba_\br_\bg_\bu_\b-
+ %\b%Q\bQ like %\b%q\bq, but applies any supplied precision to the _\ba_\br_\bg_\bu_\b-
_\bm_\be_\bn_\bt before quoting it.
%\b%(\b(_\bd_\ba_\bt_\be_\bf_\bm_\bt)\b)T\bT
- causes p\bpr\bri\bin\bnt\btf\bf to output the date-time string resulting
- from using _\bd_\ba_\bt_\be_\bf_\bm_\bt as a format string for _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3).
+ causes p\bpr\bri\bin\bnt\btf\bf to output the date-time string resulting
+ from using _\bd_\ba_\bt_\be_\bf_\bm_\bt as a format string for _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3).
The corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt is an integer representing the
number of seconds since the epoch. This format specifier
recognizes two special argument values: -1 represents the
- current time, and -2 represents the time the shell was
+ current time, and -2 represents the time the shell was
invoked. If no argument is specified, conversion behaves
- as if -1 had been supplied. This is an exception to the
+ as if -1 had been supplied. This is an exception to the
usual p\bpr\bri\bin\bnt\btf\bf behavior.
The %b, %q, and %T format specifiers all use the field width and
precision arguments from the format specification and write that
- many bytes from (or use that wide a field for) the expanded ar-
- gument, which usually contains more characters than the origi-
+ many bytes from (or use that wide a field for) the expanded ar-
+ gument, which usually contains more characters than the origi-
nal.
The %n format specifier accepts a corresponding argument that is
treated as a shell variable name.
- The %s and %c format specifiers accept an l (long) modifier,
+ The %s and %c format specifiers accept an l (long) modifier,
which forces them to convert the argument string to a wide-char-
acter string and apply any supplied field width and precision in
terms of characters, not bytes. The %S and %C format specifiers
are equivalent to %ls and %lc, respectively.
- Arguments to non-string format specifiers are treated as C con-
+ Arguments to non-string format specifiers are treated as C con-
stants, except that a leading plus or minus sign is allowed, and
- if the leading character is a single or double quote, the value
- is the numeric value of the following character, using the cur-
+ if the leading character is a single or double quote, the value
+ is the numeric value of the following character, using the cur-
rent locale.
- The _\bf_\bo_\br_\bm_\ba_\bt is reused as necessary to consume all of the _\ba_\br_\bg_\bu_\b-
+ The _\bf_\bo_\br_\bm_\ba_\bt is reused as necessary to consume all of the _\ba_\br_\bg_\bu_\b-
_\bm_\be_\bn_\bt_\bs. If the _\bf_\bo_\br_\bm_\ba_\bt requires more _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs than are supplied,
- the extra format specifications behave as if a zero value or
- null string, as appropriate, had been supplied. The return
- value is zero on success, non-zero if an invalid option is sup-
+ the extra format specifications behave as if a zero value or
+ null string, as appropriate, had been supplied. The return
+ value is zero on success, non-zero if an invalid option is sup-
plied or a write or assignment error occurs.
p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [+_\bn] [-_\bn]
p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [_\bd_\bi_\br]
Add a directory to the top of the directory stack, or rotate the
- stack, making the new top of the stack the current working di-
- rectory. With no arguments, p\bpu\bus\bsh\bhd\bd exchanges the top two ele-
- ments of the directory stack. Arguments, if supplied, have the
+ stack, making the new top of the stack the current working di-
+ rectory. With no arguments, p\bpu\bus\bsh\bhd\bd exchanges the top two ele-
+ ments of the directory stack. Arguments, if supplied, have the
following meanings:
- -\b-n\bn Suppress the normal change of directory when rotating or
- adding directories to the stack, only manipulate the
+ -\b-n\bn Suppress the normal change of directory when rotating or
+ adding directories to the stack, only manipulate the
stack.
+\b+_\bn Rotate the stack so that the _\bnth directory (counting from
- the left of the list shown by d\bdi\bir\brs\bs, starting with zero)
+ the left of the list shown by d\bdi\bir\brs\bs, starting with zero)
is at the top.
- -\b-_\bn Rotates the stack so that the _\bnth directory (counting
- from the right of the list shown by d\bdi\bir\brs\bs, starting with
+ -\b-_\bn Rotates the stack so that the _\bnth directory (counting
+ from the right of the list shown by d\bdi\bir\brs\bs, starting with
zero) is at the top.
_\bd_\bi_\br Adds _\bd_\bi_\br to the directory stack at the top.
After the stack has been modified, if the -\b-n\bn option was not sup-
- plied, p\bpu\bus\bsh\bhd\bd uses the c\bcd\bd builtin to change to the directory at
+ plied, p\bpu\bus\bsh\bhd\bd uses the c\bcd\bd builtin to change to the directory at
the top of the stack. If the c\bcd\bd fails, p\bpu\bus\bsh\bhd\bd returns a non-zero
value.
- Otherwise, if no arguments are supplied, p\bpu\bus\bsh\bhd\bd returns zero un-
- less the directory stack is empty. When rotating the directory
+ Otherwise, if no arguments are supplied, p\bpu\bus\bsh\bhd\bd returns zero un-
+ less the directory stack is empty. When rotating the directory
stack, p\bpu\bus\bsh\bhd\bd returns zero unless the directory stack is empty or
_\bn specifies a non-existent directory stack element.
- If the p\bpu\bus\bsh\bhd\bd command is successful, b\bba\bas\bsh\bh runs d\bdi\bir\brs\bs to show the
+ If the p\bpu\bus\bsh\bhd\bd command is successful, b\bba\bas\bsh\bh runs d\bdi\bir\brs\bs to show the
final contents of the directory stack.
p\bpw\bwd\bd [-\b-L\bLP\bP]
- Print the absolute pathname of the current working directory.
+ Print the absolute pathname of the current working directory.
The pathname printed contains no symbolic links if the -\b-P\bP option
is supplied or the -\b-o\bo p\bph\bhy\bys\bsi\bic\bca\bal\bl option to the s\bse\bet\bt builtin command
- is enabled. If the -\b-L\bL option is used, the pathname printed may
- contain symbolic links. The return status is 0 unless an error
+ is enabled. If the -\b-L\bL option is used, the pathname printed may
+ contain symbolic links. The return status is 0 unless an error
occurs while reading the name of the current directory or an in-
valid option is supplied.
r\bre\bea\bad\bd [-\b-E\bEe\ber\brs\bs] [-\b-a\ba _\ba_\bn_\ba_\bm_\be] [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-i\bi _\bt_\be_\bx_\bt] [-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs] [-\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs]
[-\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt] [-\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt] [-\b-u\bu _\bf_\bd] [_\bn_\ba_\bm_\be ...]
Read one line from the standard input, or from the file descrip-
- tor _\bf_\bd supplied as an argument to the -\b-u\bu option, split it into
- words as described in _\bb_\ba_\bs_\bh (1) under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg, and assign
- the first word to the first _\bn_\ba_\bm_\be, the second word to the second
- _\bn_\ba_\bm_\be, and so on. If there are more words than names, the re-
- maining words and their intervening delimiters are assigned to
- the last _\bn_\ba_\bm_\be. If there are fewer words read from the input
- stream than names, the remaining names are assigned empty val-
- ues. The characters in the value of the I\bIF\bFS\bS variable are used
+ tor _\bf_\bd supplied as an argument to the -\b-u\bu option, split it into
+ words as described in _\bb_\ba_\bs_\bh (1) under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg, and assign
+ the first word to the first _\bn_\ba_\bm_\be, the second word to the second
+ _\bn_\ba_\bm_\be, and so on. If there are more words than names, the re-
+ maining words and their intervening delimiters are assigned to
+ the last _\bn_\ba_\bm_\be. If there are fewer words read from the input
+ stream than names, the remaining names are assigned empty val-
+ ues. The characters in the value of the I\bIF\bFS\bS variable are used
to split the line into words using the same rules the shell uses
for expansion (described in _\bb_\ba_\bs_\bh (1) under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg). The
backslash character (\\b\) removes any special meaning for the next
-\b-a\ba _\ba_\bn_\ba_\bm_\be
The words are assigned to sequential indices of the array
variable _\ba_\bn_\ba_\bm_\be, starting at 0. _\ba_\bn_\ba_\bm_\be is unset before any
- new values are assigned. Other _\bn_\ba_\bm_\be arguments are ig-
+ new values are assigned. Other _\bn_\ba_\bm_\be arguments are ig-
nored.
-\b-d\bd _\bd_\be_\bl_\bi_\bm
- The first character of _\bd_\be_\bl_\bi_\bm terminates the input line,
- rather than newline. If _\bd_\be_\bl_\bi_\bm is the empty string, r\bre\bea\bad\bd
+ The first character of _\bd_\be_\bl_\bi_\bm terminates the input line,
+ rather than newline. If _\bd_\be_\bl_\bi_\bm is the empty string, r\bre\bea\bad\bd
will terminate a line when it reads a NUL character.
- -\b-e\be If the standard input is coming from a terminal, r\bre\bea\bad\bd
- uses r\bre\bea\bad\bdl\bli\bin\bne\be (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE in _\bb_\ba_\bs_\bh(1)) to obtain the
- line. Readline uses the current (or default, if line
- editing was not previously active) editing settings, but
+ -\b-e\be If the standard input is coming from a terminal, r\bre\bea\bad\bd
+ uses r\bre\bea\bad\bdl\bli\bin\bne\be (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE in _\bb_\ba_\bs_\bh(1)) to obtain the
+ line. Readline uses the current (or default, if line
+ editing was not previously active) editing settings, but
uses readline's default filename completion.
- -\b-E\bE If the standard input is coming from a terminal, r\bre\bea\bad\bd
- uses r\bre\bea\bad\bdl\bli\bin\bne\be (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE in _\bb_\ba_\bs_\bh(1)) to obtain the
- line. Readline uses the current (or default, if line
- editing was not previously active) editing settings, but
- uses bash's default completion, including programmable
+ -\b-E\bE If the standard input is coming from a terminal, r\bre\bea\bad\bd
+ uses r\bre\bea\bad\bdl\bli\bin\bne\be (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE in _\bb_\ba_\bs_\bh(1)) to obtain the
+ line. Readline uses the current (or default, if line
+ editing was not previously active) editing settings, but
+ uses bash's default completion, including programmable
completion.
-\b-i\bi _\bt_\be_\bx_\bt
- If r\bre\bea\bad\bdl\bli\bin\bne\be is being used to read the line, r\bre\bea\bad\bd places
+ If r\bre\bea\bad\bdl\bli\bin\bne\be is being used to read the line, r\bre\bea\bad\bd places
_\bt_\be_\bx_\bt into the editing buffer before editing begins.
-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs
- r\bre\bea\bad\bd returns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather than
- waiting for a complete line of input, unless it encoun-
- ters EOF or r\bre\bea\bad\bd times out, but honors a delimiter if it
+ r\bre\bea\bad\bd returns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather than
+ waiting for a complete line of input, unless it encoun-
+ ters EOF or r\bre\bea\bad\bd times out, but honors a delimiter if it
reads fewer than _\bn_\bc_\bh_\ba_\br_\bs characters before the delimiter.
-\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs
- r\bre\bea\bad\bd returns after reading exactly _\bn_\bc_\bh_\ba_\br_\bs characters
- rather than waiting for a complete line of input, unless
+ r\bre\bea\bad\bd returns after reading exactly _\bn_\bc_\bh_\ba_\br_\bs characters
+ rather than waiting for a complete line of input, unless
it encounters EOF or r\bre\bea\bad\bd times out. Any delimiter char-
- acters in the input are not treated specially and do not
+ acters in the input are not treated specially and do not
cause r\bre\bea\bad\bd to return until it has read _\bn_\bc_\bh_\ba_\br_\bs characters.
The result is not split on the characters in I\bIF\bFS\bS; the in-
tent is that the variable is assigned exactly the charac-
- ters read (with the exception of backslash; see the -\b-r\br
+ ters read (with the exception of backslash; see the -\b-r\br
option below).
-\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt
Display _\bp_\br_\bo_\bm_\bp_\bt on standard error, without a trailing new-
- line, before attempting to read any input, but only if
+ line, before attempting to read any input, but only if
input is coming from a terminal.
-\b-r\br Backslash does not act as an escape character. The back-
- slash is considered to be part of the line. In particu-
- lar, a backslash-newline pair may not then be used as a
+ slash is considered to be part of the line. In particu-
+ lar, a backslash-newline pair may not then be used as a
line continuation.
-\b-s\bs Silent mode. If input is coming from a terminal, charac-
ters are not echoed.
-\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt
- Cause r\bre\bea\bad\bd to time out and return failure if it does not
- read a complete line of input (or a specified number of
- characters) within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds. _\bt_\bi_\bm_\be_\bo_\bu_\bt may be a
- decimal number with a fractional portion following the
- decimal point. This option is only effective if r\bre\bea\bad\bd is
- reading input from a terminal, pipe, or other special
- file; it has no effect when reading from regular files.
- If r\bre\bea\bad\bd times out, it saves any partial input read into
- the specified variable _\bn_\ba_\bm_\be, and the exit status is
- greater than 128. If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0, r\bre\bea\bad\bd returns immedi-
- ately, without trying to read any data. In this case,
- the exit status is 0 if input is available on the speci-
- fied file descriptor, or the read will return EOF, non-
+ Cause r\bre\bea\bad\bd to time out and return failure if it does not
+ read a complete line of input (or a specified number of
+ characters) within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds. _\bt_\bi_\bm_\be_\bo_\bu_\bt may be a
+ decimal number with a fractional portion following the
+ decimal point. This option is only effective if r\bre\bea\bad\bd is
+ reading input from a terminal, pipe, or other special
+ file; it has no effect when reading from regular files.
+ If r\bre\bea\bad\bd times out, it saves any partial input read into
+ the specified variable _\bn_\ba_\bm_\be, and the exit status is
+ greater than 128. If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0, r\bre\bea\bad\bd returns immedi-
+ ately, without trying to read any data. In this case,
+ the exit status is 0 if input is available on the speci-
+ fied file descriptor, or the read will return EOF, non-
zero otherwise.
- -\b-u\bu _\bf_\bd Read input from file descriptor _\bf_\bd instead of the stan-
+ -\b-u\bu _\bf_\bd Read input from file descriptor _\bf_\bd instead of the stan-
dard input.
- Other than the case where _\bd_\be_\bl_\bi_\bm is the empty string, r\bre\bea\bad\bd ig-
+ Other than the case where _\bd_\be_\bl_\bi_\bm is the empty string, r\bre\bea\bad\bd ig-
nores any NUL characters in the input.
- If no _\bn_\ba_\bm_\be_\bs are supplied, r\bre\bea\bad\bd assigns the line read, without
- the ending delimiter but otherwise unmodified, to the variable
+ If no _\bn_\ba_\bm_\be_\bs are supplied, r\bre\bea\bad\bd assigns the line read, without
+ the ending delimiter but otherwise unmodified, to the variable
R\bRE\bEP\bPL\bLY\bY.
The exit status is zero, unless end-of-file is encountered, r\bre\bea\bad\bd
- times out (in which case the status is greater than 128), a
+ times out (in which case the status is greater than 128), a
variable assignment error (such as assigning to a readonly vari-
- able) occurs, or an invalid file descriptor is supplied as the
+ able) occurs, or an invalid file descriptor is supplied as the
argument to -\b-u\bu.
r\bre\bea\bad\bdo\bon\bnl\bly\by [-\b-a\baA\bAf\bf] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bw_\bo_\br_\bd] ...]
- The given _\bn_\ba_\bm_\be_\bs are marked readonly; the values of these _\bn_\ba_\bm_\be_\bs
+ The given _\bn_\ba_\bm_\be_\bs are marked readonly; the values of these _\bn_\ba_\bm_\be_\bs
may not be changed by subsequent assignment or unset. If the -\b-f\bf
- option is supplied, each _\bn_\ba_\bm_\be refers to a shell function. The
- -\b-a\ba option restricts the variables to indexed arrays; the -\b-A\bA op-
+ option is supplied, each _\bn_\ba_\bm_\be refers to a shell function. The
+ -\b-a\ba option restricts the variables to indexed arrays; the -\b-A\bA op-
tion restricts the variables to associative arrays. If both op-
- tions are supplied, -\b-A\bA takes precedence. If no _\bn_\ba_\bm_\be arguments
- are supplied, or if the -\b-p\bp option is supplied, print a list of
- all readonly names. The other options may be used to restrict
+ tions are supplied, -\b-A\bA takes precedence. If no _\bn_\ba_\bm_\be arguments
+ are supplied, or if the -\b-p\bp option is supplied, print a list of
+ all readonly names. The other options may be used to restrict
the output to a subset of the set of readonly names. The -\b-p\bp op-
tion displays output in a format that may be reused as input.
- r\bre\bea\bad\bdo\bon\bnl\bly\by allows the value of a variable to be set at the same
+ r\bre\bea\bad\bdo\bon\bnl\bly\by allows the value of a variable to be set at the same
time the readonly attribute is changed by following the variable
- name with =_\bv_\ba_\bl_\bu_\be. This sets the value of the variable is to
+ name with =_\bv_\ba_\bl_\bu_\be. This sets the value of the variable is to
_\bv_\ba_\bl_\bu_\be while modifying the readonly attribute.
- The return status is 0 unless an invalid option is encountered,
- one of the _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, or -\b-f\bf is
+ The return status is 0 unless an invalid option is encountered,
+ one of the _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, or -\b-f\bf is
supplied with a _\bn_\ba_\bm_\be that is not a function.
r\bre\bet\btu\bur\brn\bn [_\bn]
- Stop executing a shell function or sourced file and return the
+ Stop executing a shell function or sourced file and return the
value specified by _\bn to its caller. If _\bn is omitted, the return
- status is that of the last command executed. If r\bre\bet\btu\bur\brn\bn is exe-
- cuted by a trap handler, the last command used to determine the
+ status is that of the last command executed. If r\bre\bet\btu\bur\brn\bn is exe-
+ cuted by a trap handler, the last command used to determine the
status is the last command executed before the trap handler. If
r\bre\bet\btu\bur\brn\bn is executed during a D\bDE\bEB\bBU\bUG\bG trap, the last command used to
- determine the status is the last command executed by the trap
+ determine the status is the last command executed by the trap
handler before r\bre\bet\btu\bur\brn\bn was invoked.
When r\bre\bet\btu\bur\brn\bn is used to terminate execution of a script being ex-
- ecuted by the .\b. (s\bso\bou\bur\brc\bce\be) command, it causes the shell to stop
- executing that script and return either _\bn or the exit status of
- the last command executed within the script as the exit status
- of the script. If _\bn is supplied, the return value is its least
+ ecuted by the .\b. (s\bso\bou\bur\brc\bce\be) command, it causes the shell to stop
+ executing that script and return either _\bn or the exit status of
+ the last command executed within the script as the exit status
+ of the script. If _\bn is supplied, the return value is its least
significant 8 bits.
- Any command associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed before
+ Any command associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed before
execution resumes after the function or script.
- The return status is non-zero if r\bre\bet\btu\bur\brn\bn is supplied a non-nu-
+ The return status is non-zero if r\bre\bet\btu\bur\brn\bn is supplied a non-nu-
meric argument, or is used outside a function and not during ex-
ecution of a script by .\b. or s\bso\bou\bur\brc\bce\be.
s\bse\bet\bt [-\b-a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [-\b--\b-] [-\b-] [_\ba_\br_\bg ...]
s\bse\bet\bt [+\b+a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be] [-\b--\b-] [-\b-] [_\ba_\br_\bg ...]
s\bse\bet\bt -\b-o\bo
- s\bse\bet\bt +\b+o\bo Without options, display the name and value of each shell vari-
- able in a format that can be reused as input for setting or re-
+ s\bse\bet\bt +\b+o\bo Without options, display the name and value of each shell vari-
+ able in a format that can be reused as input for setting or re-
setting the currently-set variables. Read-only variables cannot
- be reset. In _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, only shell variables are listed. The
- output is sorted according to the current locale. When options
- are specified, they set or unset shell attributes. Any argu-
- ments remaining after option processing are treated as values
+ be reset. In _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, only shell variables are listed. The
+ output is sorted according to the current locale. When options
+ are specified, they set or unset shell attributes. Any argu-
+ ments remaining after option processing are treated as values
for the positional parameters and are assigned, in order, to $\b$1\b1,
- $\b$2\b2, ..., $\b$_\bn. Options, if specified, have the following mean-
+ $\b$2\b2, ..., $\b$_\bn. Options, if specified, have the following mean-
ings:
-\b-a\ba Each variable or function that is created or modified is
- given the export attribute and marked for export to the
+ given the export attribute and marked for export to the
environment of subsequent commands.
- -\b-b\bb Report the status of terminated background jobs immedi-
+ -\b-b\bb Report the status of terminated background jobs immedi-
ately, rather than before the next primary prompt or af-
- ter a foreground command terminates. This is effective
+ ter a foreground command terminates. This is effective
only when job control is enabled.
- -\b-e\be Exit immediately if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist of a
- single _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd), a _\bl_\bi_\bs_\bt, or a _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd _\bc_\bo_\bm_\bm_\ba_\bn_\bd
- (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR in _\bb_\ba_\bs_\bh(1)), exits with a non-zero
- status. The shell does not exit if the command that
- fails is part of the command list immediately following
+ -\b-e\be Exit immediately if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist of a
+ single _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd), a _\bl_\bi_\bs_\bt, or a _\bc_\bo_\bm_\bp_\bo_\bu_\bn_\bd _\bc_\bo_\bm_\bm_\ba_\bn_\bd
+ (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR in _\bb_\ba_\bs_\bh(1)), 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 fi-
- nal &\b&&\b& or |\b||\b|, any command in a pipeline but the last
- (subject to the state of the p\bpi\bip\bpe\bef\bfa\bai\bil\bl shell option), or
- if the command's return value is being inverted with !\b!.
- If a compound command other than a subshell returns a
- non-zero status because a command failed while -\b-e\be was
- being ignored, the shell does not exit. A trap on E\bER\bRR\bR,
+ 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 fi-
+ nal &\b&&\b& or |\b||\b|, any command in a pipeline but the last
+ (subject to the state of the p\bpi\bip\bpe\bef\bfa\bai\bil\bl shell option), or
+ if the command's return value is being inverted with !\b!.
+ If a compound command other than a subshell returns a
+ non-zero status because a command failed while -\b-e\be was
+ being ignored, the shell does not exit. A trap on E\bER\bRR\bR,
if set, is executed before the shell exits. This option
applies to the shell environment and each subshell envi-
ronment separately (see C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT in
_\bb_\ba_\bs_\bh(1)), and may cause subshells to exit before execut-
ing all the commands in the subshell.
- If a compound command or shell function executes in a
- context where -\b-e\be is being ignored, none of the commands
- executed within the compound command or function body
- will be affected by the -\b-e\be setting, even if -\b-e\be is set
- and a command returns a failure status. If a compound
- command or shell function sets -\b-e\be while executing in a
- context where -\b-e\be is ignored, that setting will not have
- any effect until the compound command or the command
+ If a compound command or shell function executes in a
+ context where -\b-e\be is being ignored, none of the commands
+ executed within the compound command or function body
+ will be affected by the -\b-e\be setting, even if -\b-e\be is set
+ and a command returns a failure status. If a compound
+ command or shell function sets -\b-e\be while executing in a
+ context where -\b-e\be is ignored, that setting will not have
+ any effect until the compound command or the command
containing the function call completes.
-\b-f\bf Disable pathname expansion.
- -\b-h\bh Remember the location of commands as they are looked up
+ -\b-h\bh Remember the location of commands as they are looked up
for execution. This is enabled by default.
- -\b-k\bk All arguments in the form of assignment statements are
- placed in the environment for a command, not just those
+ -\b-k\bk All arguments in the form of assignment statements are
+ placed in the environment for a command, not just those
that precede the command name.
- -\b-m\bm Monitor mode. Job control is enabled. This option is
- on by default for interactive shells on systems that
- support it (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL in _\bb_\ba_\bs_\bh(1)). All processes
- run in a separate process group. When a background job
- completes, the shell prints a line containing its exit
+ -\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 in _\bb_\ba_\bs_\bh(1)). All processes
+ run in a separate process group. When a background job
+ completes, the shell prints a line containing its exit
status.
-\b-n\bn Read commands but do not execute them. This may be used
- to check a shell script for syntax errors. This is ig-
+ to check a shell script for syntax errors. This is ig-
nored by interactive shells.
-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be
The _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be can be one of the following:
Same as -\b-a\ba.
b\bbr\bra\bac\bce\bee\bex\bxp\bpa\ban\bnd\bd
Same as -\b-B\bB.
- e\bem\bma\bac\bcs\bs Use an emacs-style command line editing inter-
+ e\bem\bma\bac\bcs\bs Use an emacs-style command line editing inter-
face. This is enabled by default when the shell
is interactive, unless the shell is started with
- the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option. This also affects the
+ the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option. This also affects the
editing interface used for r\bre\bea\bad\bd -\b-e\be.
e\ber\brr\bre\bex\bxi\bit\bt Same as -\b-e\be.
e\ber\brr\brt\btr\bra\bac\bce\be
h\bha\bas\bsh\bha\bal\bll\bl Same as -\b-h\bh.
h\bhi\bis\bst\bte\bex\bxp\bpa\ban\bnd\bd
Same as -\b-H\bH.
- h\bhi\bis\bst\bto\bor\bry\by Enable command history, as described in _\bb_\ba_\bs_\bh(1)
- under H\bHI\bIS\bST\bTO\bOR\bRY\bY. This option is on by default in
+ h\bhi\bis\bst\bto\bor\bry\by Enable command history, as described in _\bb_\ba_\bs_\bh(1)
+ under H\bHI\bIS\bST\bTO\bOR\bRY\bY. This option is on by default in
interactive shells.
i\big\bgn\bno\bor\bre\bee\beo\bof\bf
- The effect is as if the shell command had been
- executed (see S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs in _\bb_\ba_\bs_\bh(1)).
+ The effect is as if the shell command had been
+ executed (see S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs <\b< in _\bb_\ba_\bs_\bh(1)).
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.
n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br
p\bph\bhy\bys\bsi\bic\bca\bal\bl
Same as -\b-P\bP.
p\bpi\bip\bpe\bef\bfa\bai\bil\bl
- If set, the return value of a pipeline is the
- value of the last (rightmost) command to exit
- with a non-zero status, or zero if all commands
- in the pipeline exit successfully. This option
+ If set, the return value of a pipeline is the
+ value of the last (rightmost) command to exit
+ with a non-zero status, or zero if all commands
+ in the pipeline exit successfully. This option
is disabled by default.
- p\bpo\bos\bsi\bix\bx Change the behavior of b\bba\bas\bsh\bh where the default
- operation differs from the POSIX standard to
- match the standard (_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be). See S\bSE\bEE\bE A\bAL\bLS\bSO\bO
- in _\bb_\ba_\bs_\bh(1) for a reference to a document that
+ p\bpo\bos\bsi\bix\bx Change the behavior of b\bba\bas\bsh\bh where the default
+ operation differs from the POSIX standard to
+ match the standard (_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be). See S\bSE\bEE\bE A\bAL\bLS\bSO\bO
+ in _\bb_\ba_\bs_\bh(1) for a reference to a document that
details how posix mode affects bash's behavior.
p\bpr\bri\biv\bvi\bil\ble\beg\bge\bed\bd
Same as -\b-p\bp.
v\bve\ber\brb\bbo\bos\bse\be Same as -\b-v\bv.
- v\bvi\bi Use a vi-style command line editing interface.
+ v\bvi\bi Use a vi-style command line editing interface.
This also affects the editing interface used for
r\bre\bea\bad\bd -\b-e\be.
x\bxt\btr\bra\bac\bce\be Same as -\b-x\bx.
- If -\b-o\bo is supplied with no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, s\bse\bet\bt prints the
- current shell option settings. If +\b+o\bo is supplied with
- no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, s\bse\bet\bt prints a series of s\bse\bet\bt commands to
- recreate the current option settings on the standard
+ If -\b-o\bo is supplied with no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, s\bse\bet\bt prints the
+ current shell option settings. If +\b+o\bo is supplied with
+ no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, s\bse\bet\bt prints a series of s\bse\bet\bt commands to
+ recreate the current option settings on the standard
output.
- -\b-p\bp Turn on _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd mode. In this mode, the shell does
- not read the $\b$E\bEN\bNV\bV and $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV files, shell functions
- are not inherited from the environment, and the S\bSH\bHE\bEL\bL-\b-
- L\bLO\bOP\bPT\bTS\bS, B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS, C\bCD\bDP\bPA\bAT\bTH\bH, and G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE variables, if
- they appear in the environment, are ignored. If the
- shell is started with the effective user (group) id not
- equal to the real user (group) id, and the -\b-p\bp option is
- not supplied, these actions are taken and the effective
+ -\b-p\bp Turn on _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd mode. In this mode, the shell does
+ not read the $\b$E\bEN\bNV\bV and $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV files, shell functions
+ are not inherited from the environment, and the S\bSH\bHE\bEL\bL-\b-
+ L\bLO\bOP\bPT\bTS\bS, B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS, C\bCD\bDP\bPA\bAT\bTH\bH, and G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE variables, if
+ they appear in the environment, are ignored. If the
+ shell is started with the effective user (group) id not
+ equal to the real user (group) id, and the -\b-p\bp option is
+ not supplied, these actions are taken and the effective
user id is set to the real user id. If the -\b-p\bp option is
supplied at startup, the effective user id is not reset.
- Turning this option off causes the effective user and
+ Turning this option off causes the effective user and
group ids to be set to the real user and group ids.
-\b-r\br Enable restricted shell mode. This option cannot be un-
set once it has been set.
-\b-t\bt Exit after reading and executing one command.
-\b-u\bu Treat unset variables and parameters other than the spe-
- cial parameters and or array variables subscripted with
- or as an error when performing parameter expansion. If
- expansion is attempted on an unset variable or parame-
- ter, the shell prints an error message, and, if not in-
+ cial parameters and or array variables subscripted with
+ or as an error when performing parameter expansion. If
+ expansion is attempted on an unset variable or parame-
+ ter, the shell prints an error message, and, if not in-
teractive, exits with a non-zero status.
-\b-v\bv Print shell input lines as they are read.
- -\b-x\bx After expanding each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br command, c\bca\bas\bse\be
+ -\b-x\bx After expanding each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br command, c\bca\bas\bse\be
command, s\bse\bel\ble\bec\bct\bt command, or arithmetic f\bfo\bor\br command, dis-
- play the expanded value of P\bPS\bS4\b4, followed by the command
- and its expanded arguments or associated word list, to
+ play the expanded value of P\bPS\bS4\b4, followed by the command
+ and its expanded arguments or associated word list, to
the standard error.
- -\b-B\bB The shell performs brace expansion (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
+ -\b-B\bB The shell performs brace expansion (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
in _\bb_\ba_\bs_\bh(1)). This is on by default.
- -\b-C\bC If set, b\bba\bas\bsh\bh does not overwrite an existing file with
- the >\b>, >\b>&\b&, and <\b<>\b> redirection operators. Using the
- redirection operator >\b>|\b| instead of >\b> will override this
+ -\b-C\bC If set, b\bba\bas\bsh\bh does not overwrite an existing file with
+ the >\b>, >\b>&\b&, and <\b<>\b> redirection operators. Using the
+ redirection operator >\b>|\b| instead of >\b> will override this
and force the creation of an output file.
-\b-E\bE If set, any trap on E\bER\bRR\bR is inherited by shell functions,
- command substitutions, and commands executed in a sub-
- shell environment. The E\bER\bRR\bR trap is normally not inher-
+ command substitutions, and commands executed in a sub-
+ shell environment. The E\bER\bRR\bR trap is normally not inher-
ited in such cases.
-\b-H\bH Enable !\b! style history substitution. This option is on
by default when the shell is interactive.
- -\b-P\bP If set, the shell does not resolve symbolic links when
- executing commands such as c\bcd\bd that change the current
+ -\b-P\bP If set, the shell does not resolve symbolic links when
+ executing commands such as c\bcd\bd that change the current
working directory. It uses the physical directory
structure instead. By default, b\bba\bas\bsh\bh follows the logical
- chain of directories when performing commands which
+ chain of directories when performing commands which
change the current directory.
- -\b-T\bT If set, any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are inherited by
+ -\b-T\bT If set, any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are inherited by
shell functions, command substitutions, and commands ex-
- ecuted in a subshell environment. The D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN
+ ecuted in a subshell environment. The D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN
traps are normally not inherited in such cases.
-\b--\b- If no arguments follow this option, unset the positional
parameters. Otherwise, set the positional parameters to
the _\ba_\br_\bgs, even if some of them begin with a -\b-.
-\b- Signal the end of options, and assign all remaining _\ba_\br_\bgs
to the positional parameters. The -\b-x\bx and -\b-v\bv options are
- turned off. If there are no _\ba_\br_\bgs, the positional para-
+ turned off. If there are no _\ba_\br_\bgs, the positional para-
meters remain unchanged.
- The options are off by default unless otherwise noted. Using +
- rather than - causes these options to be turned off. The op-
+ The options are off by default unless otherwise noted. Using +
+ rather than - causes these options to be turned off. The op-
tions can also be specified as arguments to an invocation of the
- shell. The current set of options may be found in $\b$-\b-. The re-
- turn status is always zero unless an invalid option is encoun-
+ shell. The current set of options may be found in $\b$-\b-. The re-
+ turn status is always zero unless an invalid option is encoun-
tered.
s\bsh\bhi\bif\bft\bt [_\bn]
Rename positional parameters from _\bn+1 ... to $\b$1\b1 .\b..\b..\b..\b. Parameters
- represented by the numbers $\b$#\b# down to $\b$#\b#-_\bn+1 are unset. _\bn must
- be a non-negative number less than or equal to $\b$#\b#. If _\bn is 0,
- no parameters are changed. If _\bn is not given, it is assumed to
- be 1. If _\bn is greater than $\b$#\b#, the positional parameters are
- not changed. The return status is greater than zero if _\bn is
+ represented by the numbers $\b$#\b# down to $\b$#\b#-_\bn+1 are unset. _\bn must
+ be a non-negative number less than or equal to $\b$#\b#. If _\bn is 0,
+ no parameters are changed. If _\bn is not given, it is assumed to
+ be 1. If _\bn is greater than $\b$#\b#, the positional parameters are
+ not changed. The return status is greater than zero if _\bn is
greater than $\b$#\b# or less than zero; otherwise 0.
s\bsh\bho\bop\bpt\bt [-\b-p\bpq\bqs\bsu\bu] [-\b-o\bo] [_\bo_\bp_\bt_\bn_\ba_\bm_\be ...]
- Toggle the values of settings controlling optional shell behav-
- ior. The settings can be either those listed below, or, if the
+ Toggle the values of settings controlling optional shell behav-
+ ior. The settings can be either those listed below, or, if the
-\b-o\bo option is used, those available with the -\b-o\bo option to the s\bse\bet\bt
builtin command.
- With no options, or with the -\b-p\bp option, display a list of all
- settable options, with an indication of whether or not each is
- set; if any _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are supplied, the output is restricted to
+ With no options, or with the -\b-p\bp option, display a list of all
+ settable options, with an indication of whether or not each is
+ set; if any _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are supplied, the output is restricted to
those options. The -\b-p\bp option displays output in a form that may
be reused as input.
Other options have the following meanings:
-\b-s\bs Enable (set) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
-\b-u\bu Disable (unset) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
- -\b-q\bq Suppresses normal output (quiet mode); the return status
+ -\b-q\bq Suppresses normal output (quiet mode); the return status
indicates whether the _\bo_\bp_\bt_\bn_\ba_\bm_\be is set or unset. If multi-
- ple _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are supplied with -\b-q\bq, the return
+ ple _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are supplied with -\b-q\bq, the return
status is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero oth-
erwise.
- -\b-o\bo Restricts the values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those defined for
+ -\b-o\bo Restricts the values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those defined for
the -\b-o\bo option to the s\bse\bet\bt builtin.
- If either -\b-s\bs or -\b-u\bu is used with no _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments, s\bsh\bho\bop\bpt\bt
- shows only those options which are set or unset, respectively.
- Unless otherwise noted, the s\bsh\bho\bop\bpt\bt options are disabled (unset)
+ If either -\b-s\bs or -\b-u\bu is used with no _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments, s\bsh\bho\bop\bpt\bt
+ shows only those options which are set or unset, respectively.
+ Unless otherwise noted, the s\bsh\bho\bop\bpt\bt options are disabled (unset)
by default.
- The return status when listing options is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs
- are enabled, non-zero otherwise. When setting or unsetting op-
- tions, the return status is zero unless an _\bo_\bp_\bt_\bn_\ba_\bm_\be is not a
+ The return status when listing options is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs
+ are enabled, non-zero otherwise. When setting or unsetting op-
+ tions, the return status is zero unless an _\bo_\bp_\bt_\bn_\ba_\bm_\be is not a
valid shell option.
The list of s\bsh\bho\bop\bpt\bt options is:
a\bar\brr\bra\bay\by_\b_e\bex\bxp\bpa\ban\bnd\bd_\b_o\bon\bnc\bce\be
- If set, the shell suppresses multiple evaluation of as-
+ If set, the shell suppresses multiple evaluation of as-
sociative and indexed array subscripts during arithmetic
expression evaluation, while executing builtins that can
- perform variable assignments, and while executing
+ perform variable assignments, and while executing
builtins that perform array dereferencing.
a\bas\bss\bso\boc\bc_\b_e\bex\bxp\bpa\ban\bnd\bd_\b_o\bon\bnc\bce\be
Deprecated; a synonym for a\bar\brr\bra\bay\by_\b_e\bex\bxp\bpa\ban\bnd\bd_\b_o\bon\bnc\bce\be.
- a\bau\but\bto\boc\bcd\bd If set, a command name that is the name of a directory
- is executed as if it were the argument to the c\bcd\bd com-
+ a\bau\but\bto\boc\bcd\bd If set, a command name that is the name of a directory
+ is executed as if it were the argument to the c\bcd\bd com-
mand. This option is only used by interactive shells.
b\bba\bas\bsh\bh_\b_s\bso\bou\bur\brc\bce\be_\b_f\bfu\bul\bll\blp\bpa\bat\bth\bh
- If set, filenames added to the B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE array vari-
- able are converted to full pathnames (see S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bi-\b-
+ If set, filenames added to the B\bBA\bAS\bSH\bH_\b_S\bSO\bOU\bUR\bRC\bCE\bE array vari-
+ able are converted to full pathnames (see S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bi-\b-
a\bab\bbl\ble\bes\bs above).
c\bcd\bda\bab\bbl\ble\be_\b_v\bva\bar\brs\bs
- If set, an argument to the c\bcd\bd builtin command that is
- not a directory is assumed to be the name of a variable
+ If set, an argument to the c\bcd\bd builtin command that is
+ not a directory is assumed to be the name of a variable
whose value is the directory to change to.
- c\bcd\bds\bsp\bpe\bel\bll\bl If set, the c\bcd\bd command attempts to correct minor errors
- in the spelling of a directory component. Minor errors
- include transposed characters, a missing character, and
+ c\bcd\bds\bsp\bpe\bel\bll\bl If set, the c\bcd\bd command attempts to correct minor errors
+ in the spelling of a directory component. Minor errors
+ include transposed characters, a missing character, and
one extra character. If c\bcd\bd corrects the directory name,
- it prints the corrected filename, and the command pro-
+ it prints the corrected filename, and the command pro-
ceeds. This option is only used by interactive shells.
c\bch\bhe\bec\bck\bkh\bha\bas\bsh\bh
If set, b\bba\bas\bsh\bh checks that a command found in the hash ta-
- ble exists before trying to execute it. If a hashed
- command no longer exists, b\bba\bas\bsh\bh performs a normal path
+ ble exists before trying to execute it. If a hashed
+ command no longer exists, b\bba\bas\bsh\bh performs a normal path
search.
c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs
If set, b\bba\bas\bsh\bh lists the status of any stopped and running
- jobs before exiting an interactive shell. If any jobs
+ jobs before exiting an interactive shell. If any jobs
are running, b\bba\bas\bsh\bh defers the exit until a second exit is
- attempted without an intervening command (see J\bJO\bOB\bB C\bCO\bON\bN-\b-
+ attempted without an intervening command (see J\bJO\bOB\bB C\bCO\bON\bN-\b-
T\bTR\bRO\bOL\bL in _\bb_\ba_\bs_\bh(1)). The shell always postpones exiting if
any jobs are stopped.
c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be
- If set, b\bba\bas\bsh\bh checks the window size after each external
- (non-builtin) command and, if necessary, updates the
- values of L\bLI\bIN\bNE\bES\bS and C\bCO\bOL\bLU\bUM\bMN\bNS\bS, using the file descriptor
- associated with the standard error if it is a terminal.
+ If set, b\bba\bas\bsh\bh checks the window size after each external
+ (non-builtin) command and, if necessary, updates the
+ values of L\bLI\bIN\bNE\bES\bS and C\bCO\bOL\bLU\bUM\bMN\bNS\bS, using the file descriptor
+ associated with the standard error if it is a terminal.
This option is enabled by default.
- c\bcm\bmd\bdh\bhi\bis\bst\bt If set, b\bba\bas\bsh\bh attempts to save all lines of a multiple-
- line command in the same history entry. This allows
- easy re-editing of multi-line commands. This option is
- enabled by default, but only has an effect if command
- history is enabled, as described in _\bb_\ba_\bs_\bh(1) under H\bHI\bIS\bS-\b-
+ c\bcm\bmd\bdh\bhi\bis\bst\bt If set, b\bba\bas\bsh\bh attempts to save all lines of a multiple-
+ line command in the same history entry. This allows
+ easy re-editing of multi-line commands. This option is
+ enabled by default, but only has an effect if command
+ history is enabled, as described in _\bb_\ba_\bs_\bh(1) under H\bHI\bIS\bS-\b-
T\bTO\bOR\bRY\bY.
c\bco\bom\bmp\bpa\bat\bt3\b31\b1
c\bco\bom\bmp\bpa\bat\bt3\b32\b2
c\bco\bom\bmp\bpa\bat\bt4\b43\b3
c\bco\bom\bmp\bpa\bat\bt4\b44\b4
c\bco\bom\bmp\bpa\bat\bt5\b50\b0
- These control aspects of the shell's compatibility mode
+ These control aspects of the shell's compatibility mode
(see S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE in _\bb_\ba_\bs_\bh(1)).
c\bco\bom\bmp\bpl\ble\bet\bte\be_\b_f\bfu\bul\bll\blq\bqu\buo\bot\bte\be
- If set, b\bba\bas\bsh\bh quotes all shell metacharacters in file-
- names and directory names when performing completion.
+ If set, b\bba\bas\bsh\bh quotes all shell metacharacters in file-
+ names and directory names when performing completion.
If not set, b\bba\bas\bsh\bh removes metacharacters such as the dol-
- lar sign from the set of characters that will be quoted
- in completed filenames when these metacharacters appear
- in shell variable references in words to be completed.
- This means that dollar signs in variable names that ex-
- pand to directories will not be quoted; however, any
- dollar signs appearing in filenames will not be quoted,
- either. This is active only when bash is using back-
- slashes to quote completed filenames. This variable is
- set by default, which is the default bash behavior in
+ lar sign from the set of characters that will be quoted
+ in completed filenames when these metacharacters appear
+ in shell variable references in words to be completed.
+ This means that dollar signs in variable names that ex-
+ pand to directories will not be quoted; however, any
+ dollar signs appearing in filenames will not be quoted,
+ either. This is active only when bash is using back-
+ slashes to quote completed filenames. This variable is
+ set by default, which is the default bash behavior in
versions through 4.2.
d\bdi\bir\bre\bex\bxp\bpa\ban\bnd\bd
- If set, b\bba\bas\bsh\bh replaces directory names with the results
- of word expansion when performing filename completion.
+ If set, b\bba\bas\bsh\bh replaces directory names with the results
+ of word expansion when performing filename completion.
This changes the contents of the 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 the
- results of pathname expansion. The filenames and must
+ d\bdo\bot\btg\bgl\blo\bob\bb If set, b\bba\bas\bsh\bh includes filenames beginning with a in the
+ results of pathname expansion. The filenames and must
always be matched explicitly, even if d\bdo\bot\btg\bgl\blo\bob\bb is set.
e\bex\bxe\bec\bcf\bfa\bai\bil\bl
If set, a non-interactive shell will not exit if it can-
- not execute the file specified as an argument to the
- e\bex\bxe\bec\bc builtin. An interactive shell does not exit if
+ not execute the file specified as an argument to the
+ e\bex\bxe\bec\bc builtin. An interactive shell does not exit if
e\bex\bxe\bec\bc fails.
e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bs
If set, aliases are expanded as described in _\bb_\ba_\bs_\bh(1) un-
- der A\bAL\bLI\bIA\bAS\bSE\bES\bS. This option is enabled by default for in-
+ der A\bAL\bLI\bIA\bAS\bSE\bES\bS. This option is enabled by default for in-
teractive shells.
e\bex\bxt\btd\bde\beb\bbu\bug\bg
- If set at shell invocation, or in a shell startup file,
+ If set at shell invocation, or in a shell startup file,
arrange to execute the debugger profile before the shell
- starts, identical to the -\b--\b-d\bde\beb\bbu\bug\bgg\bge\ber\br option. If set af-
- ter invocation, behavior intended for use by debuggers
+ starts, identical to the -\b--\b-d\bde\beb\bbu\bug\bgg\bge\ber\br option. If set af-
+ ter invocation, behavior intended for use by debuggers
is enabled:
1\b1.\b. The -\b-F\bF option to the d\bde\bec\bcl\bla\bar\bre\be builtin displays the
source file name and line number corresponding to
each function name supplied as an argument.
- 2\b2.\b. If the command run by the D\bDE\bEB\bBU\bUG\bG trap returns a
- non-zero value, the next command is skipped and
+ 2\b2.\b. If the command run by the D\bDE\bEB\bBU\bUG\bG trap returns a
+ non-zero value, the next command is skipped and
not executed.
- 3\b3.\b. If the command run by the D\bDE\bEB\bBU\bUG\bG trap returns a
- value of 2, and the shell is executing in a sub-
- routine (a shell function or a shell script exe-
- cuted by the .\b. or s\bso\bou\bur\brc\bce\be builtins), the shell
+ 3\b3.\b. If the command run by the D\bDE\bEB\bBU\bUG\bG trap returns a
+ value of 2, and the shell is executing in a sub-
+ routine (a shell function or a shell script exe-
+ cuted by the .\b. or s\bso\bou\bur\brc\bce\be builtins), the shell
simulates a call to r\bre\bet\btu\bur\brn\bn.
- 4\b4.\b. B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC and B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as described
+ 4\b4.\b. B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC and B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as described
in their descriptions in _\bb_\ba_\bs_\bh(1)).
- 5\b5.\b. Function tracing is enabled: command substitu-
+ 5\b5.\b. Function tracing is enabled: command substitu-
tion, shell functions, and subshells invoked with
(\b( _\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps.
- 6\b6.\b. Error tracing is enabled: command substitution,
- shell functions, and subshells invoked with (\b(
+ 6\b6.\b. Error tracing is enabled: command substitution,
+ shell functions, and subshells invoked with (\b(
_\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the E\bER\bRR\bR trap.
- e\bex\bxt\btg\bgl\blo\bob\bb If set, enable the extended pattern matching features
+ e\bex\bxt\btg\bgl\blo\bob\bb If set, enable the extended pattern matching features
described in _\bb_\ba_\bs_\bh(1) under P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn.
e\bex\bxt\btq\bqu\buo\bot\bte\be
- If set, $\b$_\bs_\bt_\br_\bi_\bn_\bg and $\b$_\bs_\bt_\br_\bi_\bn_\bg quoting is performed within
+ If set, $\b$_\bs_\bt_\br_\bi_\bn_\bg and $\b$_\bs_\bt_\br_\bi_\bn_\bg quoting is performed within
$\b${\b{_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}\b} expansions enclosed in double quotes. This
option is enabled by default.
f\bfa\bai\bil\blg\bgl\blo\bob\bb
- If set, patterns which fail to match filenames during
+ If set, patterns which fail to match filenames during
pathname expansion result in an expansion error.
f\bfo\bor\brc\bce\be_\b_f\bfi\big\bgn\bno\bor\bre\be
- If set, the suffixes specified by the F\bFI\bIG\bGN\bNO\bOR\bRE\bE shell
- variable cause words to be ignored when performing word
+ If set, the suffixes specified by the F\bFI\bIG\bGN\bNO\bOR\bRE\bE shell
+ variable cause words to be ignored when performing word
completion even if the ignored words are the only possi-
- ble completions. See S\bSH\bHE\bEL\bLL\bL V\bVA\bAR\bRI\bIA\bAB\bBL\bLE\bES\bS in _\bb_\ba_\bs_\bh(1) for a
- description of F\bFI\bIG\bGN\bNO\bOR\bRE\bE. This option is enabled by de-
+ ble completions. See S\bSH\bHE\bEL\bLL\bL V\bVA\bAR\bRI\bIA\bAB\bBL\bLE\bES\bS in _\bb_\ba_\bs_\bh(1) for a
+ description of F\bFI\bIG\bGN\bNO\bOR\bRE\bE. This option is enabled by de-
fault.
g\bgl\blo\bob\bba\bas\bsc\bci\bii\bir\bra\ban\bng\bge\bes\bs
- If set, range expressions used in pattern matching
- bracket expressions (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg in _\bb_\ba_\bs_\bh(1))
+ If set, range expressions used in pattern matching
+ bracket expressions (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg in _\bb_\ba_\bs_\bh(1))
behave as if in the traditional C locale when performing
- comparisons. That is, pattern matching does not take
+ comparisons. That is, pattern matching does not take
the current locale's collating sequence into account, so
- b\bb will not collate between A\bA and B\bB, and upper-case and
+ b\bb will not collate between A\bA and B\bB, and upper-case and
lower-case ASCII characters will collate together.
g\bgl\blo\bob\bbs\bsk\bki\bip\bpd\bdo\bot\bts\bs
- If set, pathname expansion will never match the file-
- names and even if the pattern begins with a This option
+ If set, pathname expansion will never match the file-
+ names and even if the pattern begins with a This option
is enabled by default.
g\bgl\blo\bob\bbs\bst\bta\bar\br
If set, the pattern *\b**\b* used in a pathname expansion con-
- text will match all files and zero or more directories
- and subdirectories. If the pattern is followed by a /\b/,
+ text will match all files and zero or more directories
+ and subdirectories. If the pattern is followed by a /\b/,
only directories and subdirectories match.
g\bgn\bnu\bu_\b_e\ber\brr\brf\bfm\bmt\bt
If set, shell error messages are written in the standard
GNU error message format.
h\bhi\bis\bst\bta\bap\bpp\bpe\ben\bnd\bd
- If set, the history list is appended to the file named
+ If set, the history list is appended to the file named
by the value of the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE variable when the shell ex-
its, rather than overwriting the file.
h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt
- If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the user is given
- the opportunity to re-edit a failed history substitu-
+ If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the user is given
+ the opportunity to re-edit a failed history substitu-
tion.
h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by
- If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of his-
- tory substitution are not immediately passed to the
- shell parser. Instead, the resulting line is loaded
+ If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of his-
+ tory substitution are not immediately passed to the
+ shell parser. Instead, the resulting line is loaded
into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer, allowing further modi-
fication.
h\bho\bos\bst\btc\bco\bom\bmp\bpl\ble\bet\bte\be
If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh will attempt to
- perform hostname completion when a word containing a @\b@
- is being completed (see C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg under R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE in
+ 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 in
_\bb_\ba_\bs_\bh(1)). This is enabled by default.
h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt
If set, b\bba\bas\bsh\bh will send S\bSI\bIG\bGH\bHU\bUP\bP to all jobs when an inter-
active login shell exits.
i\bin\bnh\bhe\ber\bri\bit\bt_\b_e\ber\brr\bre\bex\bxi\bit\bt
- If set, command substitution inherits the value of the
- e\ber\brr\bre\bex\bxi\bit\bt option, instead of unsetting it in the subshell
- environment. This option is enabled when _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be is
+ If set, command substitution inherits the value of the
+ e\ber\brr\bre\bex\bxi\bit\bt option, instead of unsetting it in the subshell
+ environment. This option is enabled when _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be is
enabled.
i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs
- In an interactive shell, a word beginning with #\b# causes
- that word and all remaining characters on that line to
- be ignored, as in a non-interactive shell (see C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS
+ In an interactive shell, a word beginning with #\b# causes
+ that word and all remaining characters on that line to
+ be ignored, as in a non-interactive shell (see C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS
in _\bb_\ba_\bs_\bh(1)). This option is enabled by default.
l\bla\bas\bst\btp\bpi\bip\bpe\be
- If set, and job control is not active, the shell runs
+ If set, and job control is not active, the shell runs
the last command of a pipeline not executed in the back-
ground in the current shell environment.
- l\bli\bit\bth\bhi\bis\bst\bt If set, and the c\bcm\bmd\bdh\bhi\bis\bst\bt option is enabled, multi-line
+ l\bli\bit\bth\bhi\bis\bst\bt If set, and the c\bcm\bmd\bdh\bhi\bis\bst\bt option is enabled, multi-line
commands are saved to the history with embedded newlines
rather than using semicolon separators where possible.
l\blo\boc\bca\bal\blv\bva\bar\br_\b_i\bin\bnh\bhe\ber\bri\bit\bt
scope before any new value is assigned. The nameref at-
tribute is not inherited.
l\blo\boc\bca\bal\blv\bva\bar\br_\b_u\bun\bns\bse\bet\bt
- If set, calling u\bun\bns\bse\bet\bt on local variables in previous
- function scopes marks them so subsequent lookups find
+ If set, calling u\bun\bns\bse\bet\bt on local variables in previous
+ function scopes marks them so subsequent lookups find
them unset until that function returns. This is identi-
- cal to the behavior of unsetting local variables at the
+ cal to the behavior of unsetting local variables at the
current function scope.
l\blo\bog\bgi\bin\bn_\b_s\bsh\bhe\bel\bll\bl
- The shell sets this option if it is started as a login
+ 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 in _\bb_\ba_\bs_\bh(1)). The value may not be
changed.
m\bma\bai\bil\blw\bwa\bar\brn\bn
- If set, and a file that b\bba\bas\bsh\bh is checking for mail has
- been accessed since the last time it was checked, b\bba\bas\bsh\bh
+ If set, and a file that b\bba\bas\bsh\bh is checking for mail has
+ been accessed since the last time it was checked, b\bba\bas\bsh\bh
displays the message
n\bno\bo_\b_e\bem\bmp\bpt\bty\by_\b_c\bcm\bmd\bd_\b_c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh does not search
- P\bPA\bAT\bTH\bH for possible completions when completion is at-
+ P\bPA\bAT\bTH\bH for possible completions when completion is at-
tempted on an empty line.
n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb
- If set, b\bba\bas\bsh\bh matches filenames in a case-insensitive
+ If set, b\bba\bas\bsh\bh matches filenames in a case-insensitive
fashion when performing pathname expansion (see P\bPa\bat\bth\bhn\bna\bam\bme\be
E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn in _\bb_\ba_\bs_\bh(1)).
n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh
- If set, b\bba\bas\bsh\bh matches patterns in a case-insensitive
+ If set, b\bba\bas\bsh\bh matches patterns in a case-insensitive
fashion when performing matching while executing c\bca\bas\bse\be or
[\b[[\b[ conditional commands, when performing pattern substi-
- tution word expansions, or when filtering possible com-
+ tution word expansions, or when filtering possible com-
pletions as part of programmable completion.
n\bno\boe\bex\bxp\bpa\ban\bnd\bd_\b_t\btr\bra\ban\bns\bsl\bla\bat\bti\bio\bon\bn
- If set, b\bba\bas\bsh\bh encloses the translated results of $\b$...
- quoting in single quotes instead of double quotes. If
+ If set, b\bba\bas\bsh\bh encloses the translated results of $\b$...
+ quoting in single quotes instead of double quotes. If
the string is not translated, this has no effect.
n\bnu\bul\bll\blg\bgl\blo\bob\bb
If set, pathname expansion patterns which match no files
- (see P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn in _\bb_\ba_\bs_\bh(1)) expand to nothing
+ (see P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn in _\bb_\ba_\bs_\bh(1)) expand to nothing
and are removed, rather than expanding to themselves.
p\bpa\bat\bts\bsu\bub\bb_\b_r\bre\bep\bpl\bla\bac\bce\bem\bme\ben\bnt\bt
If set, b\bba\bas\bsh\bh expands occurrences of &\b& in the replacement
- string of pattern substitution to the text matched by
- the pattern, as described under P\bPa\bar\bra\bam\bme\bet\bte\ber\br E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn in
+ string of pattern substitution to the text matched by
+ the pattern, as described under P\bPa\bar\bra\bam\bme\bet\bte\ber\br E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn in
_\bb_\ba_\bs_\bh(1). This option is enabled by default.
p\bpr\bro\bog\bgc\bco\bom\bmp\bp
- If set, enable the programmable completion facilities
- (see P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn in _\bb_\ba_\bs_\bh(1)). This option
+ If set, enable the programmable completion facilities
+ (see P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn in _\bb_\ba_\bs_\bh(1)). This option
is enabled by default.
p\bpr\bro\bog\bgc\bco\bom\bmp\bp_\b_a\bal\bli\bia\bas\bs
- If set, and programmable completion is enabled, b\bba\bas\bsh\bh
- treats a command name that doesn't have any completions
+ If set, and programmable completion is enabled, b\bba\bas\bsh\bh
+ treats a command name that doesn't have any completions
as a possible alias and attempts alias expansion. If it
- has an alias, b\bba\bas\bsh\bh attempts programmable completion us-
+ has an alias, b\bba\bas\bsh\bh attempts programmable completion us-
ing the command word resulting from the expanded alias.
p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs
If set, prompt strings undergo parameter expansion, com-
- mand substitution, arithmetic expansion, and quote re-
- moval after being expanded as described in P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG in
+ mand substitution, arithmetic expansion, and quote re-
+ moval after being expanded as described in P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG in
_\bb_\ba_\bs_\bh(1). This option is enabled by default.
r\bre\bes\bst\btr\bri\bic\bct\bte\bed\bd_\b_s\bsh\bhe\bel\bll\bl
- The shell sets this option if it is started in re-
- stricted mode (see R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL in _\bb_\ba_\bs_\bh(1)). The
- value may not be changed. This is not reset when the
- startup files are executed, allowing the startup files
+ The shell sets this option if it is started in re-
+ stricted mode (see R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL in _\bb_\ba_\bs_\bh(1)). The
+ value may not be changed. This is not reset when the
+ startup files are executed, allowing the startup files
to discover whether or not a shell is restricted.
s\bsh\bhi\bif\bft\bt_\b_v\bve\ber\brb\bbo\bos\bse\be
- If set, the s\bsh\bhi\bif\bft\bt builtin prints an error message when
+ If set, the s\bsh\bhi\bif\bft\bt builtin prints an error message when
the shift count exceeds the number of positional parame-
ters.
s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh
If set, the .\b. (s\bso\bou\bur\brc\bce\be) builtin uses the value of P\bPA\bAT\bTH\bH to
- find the directory containing the file supplied as an
- argument when the -\b-p\bp option is not supplied. This op-
+ find the directory containing the file supplied as an
+ argument when the -\b-p\bp option is not supplied. This op-
tion is enabled by default.
v\bva\bar\brr\bre\bed\bdi\bir\br_\b_c\bcl\blo\bos\bse\be
- If set, the shell automatically closes file descriptors
- assigned using the _\b{_\bv_\ba_\br_\bn_\ba_\bm_\be_\b} redirection syntax (see
- R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN in _\bb_\ba_\bs_\bh(1)) instead of leaving them open
+ If set, the shell automatically closes file descriptors
+ assigned using the _\b{_\bv_\ba_\br_\bn_\ba_\bm_\be_\b} redirection syntax (see
+ R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN in _\bb_\ba_\bs_\bh(1)) instead of leaving them open
when the command completes.
x\bxp\bpg\bg_\b_e\bec\bch\bho\bo
- If set, the e\bec\bch\bho\bo builtin expands backslash-escape se-
- quences by default. If the p\bpo\bos\bsi\bix\bx shell option is also
+ If set, the e\bec\bch\bho\bo builtin expands backslash-escape se-
+ quences by default. If the p\bpo\bos\bsi\bix\bx shell option is also
enabled, e\bec\bch\bho\bo does not interpret any options.
s\bsu\bus\bsp\bpe\ben\bnd\bd [-\b-f\bf]
- Suspend the execution of this shell until it receives a S\bSI\bIG\bGC\bCO\bON\bNT\bT
- signal. A login shell, or a shell without job control enabled,
- cannot be suspended; the -\b-f\bf option will override this and force
- the suspension. The return status is 0 unless the shell is a
- login shell or job control is not enabled and -\b-f\bf is not sup-
+ Suspend the execution of this shell until it receives a S\bSI\bIG\bGC\bCO\bON\bNT\bT
+ signal. A login shell, or a shell without job control enabled,
+ cannot be suspended; the -\b-f\bf option will override this and force
+ the suspension. The return status is 0 unless the shell is a
+ login shell or job control is not enabled and -\b-f\bf is not sup-
plied.
t\bte\bes\bst\bt _\be_\bx_\bp_\br
[\b[ _\be_\bx_\bp_\br ]\b]
Return a status of 0 (true) or 1 (false) depending on the evalu-
- ation of the conditional expression _\be_\bx_\bp_\br. Each operator and
- operand must be a separate argument. Expressions are composed
- of the primaries described in _\bb_\ba_\bs_\bh(1) under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bS-\b-
+ ation of the conditional expression _\be_\bx_\bp_\br. Each operator and
+ operand must be a separate argument. Expressions are composed
+ of the primaries described in _\bb_\ba_\bs_\bh(1) under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bS-\b-
S\bSI\bIO\bON\bNS\bS. t\bte\bes\bst\bt does not accept any options, nor does it accept and
ignore an argument of -\b--\b- as signifying the end of options.
- Expressions may be combined using the following operators,
- listed in decreasing order of precedence. The evaluation de-
+ Expressions may be combined using the following operators,
+ listed in decreasing order of precedence. The evaluation de-
pends on the number of arguments; see below. t\bte\bes\bst\bt uses operator
precedence when there are five or more arguments.
!\b! _\be_\bx_\bp_\br True if _\be_\bx_\bp_\br is false.
(\b( _\be_\bx_\bp_\br )\b)
- Returns the value of _\be_\bx_\bp_\br. This may be used to override
+ Returns the value of _\be_\bx_\bp_\br. This may be used to override
normal operator precedence.
_\be_\bx_\bp_\br_\b1 -a\ba _\be_\bx_\bp_\br_\b2
True if both _\be_\bx_\bp_\br_\b1 and _\be_\bx_\bp_\br_\b2 are true.
null.
2 arguments
If the first argument is !\b!, the expression is true if and
- only if the second argument is null. If the first argu-
- ment is one of the unary conditional operators listed in
- _\bb_\ba_\bs_\bh(1) 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 in
+ _\bb_\ba_\bs_\bh(1) 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
- operators listed in _\bb_\ba_\bs_\bh(1) under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bS-\b-
- S\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
+ If the second argument is one of the binary conditional
+ operators listed in _\bb_\ba_\bs_\bh(1) under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bS-\b-
+ S\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-argu-
- ment test using the second and third arguments. If the
+ ment test using the second and third arguments. If the
first argument is exactly (\b( and the third argument is ex-
- actly )\b), the result is the one-argument test of the sec-
+ actly )\b), the result is the one-argument test of the sec-
ond argument. Otherwise, the expression is false.
4 arguments
The following conditions are applied in the order listed.
If the first argument is !\b!, the result is the negation of
- the three-argument expression composed of the remaining
- arguments. If the first argument is exactly (\b( and the
+ the three-argument expression composed of the remaining
+ arguments. If the first argument is exactly (\b( and the
fourth argument is exactly )\b), the result is the two-argu-
- ment test of the second and third arguments. Otherwise,
- the expression is parsed and evaluated according to
+ ment test of the second and third arguments. Otherwise,
+ the expression is parsed and evaluated according to
precedence using the rules listed above.
5 or more arguments
- The expression is parsed and evaluated according to
+ The expression is parsed and evaluated according to
precedence using the rules listed above.
When the shell is in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, or if the expression is part of
the [\b[[\b[ command, the <\b< and >\b> operators sort using the current lo-
- cale. If the shell is not in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, the t\bte\bes\bst\bt and [\b[ com-
+ cale. If the shell is not in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, the t\bte\bes\bst\bt and [\b[ com-
mands sort lexicographically using ASCII ordering.
- The historical operator-precedence parsing with 4 or more argu-
- ments can lead to ambiguities when it encounters strings that
- look like primaries. The POSIX standard has deprecated the -\b-a\ba
- and -\b-o\bo primaries and enclosing expressions within parentheses.
- Scripts should no longer use them. It's much more reliable to
- restrict test invocations to a single primary, and to replace
+ The historical operator-precedence parsing with 4 or more argu-
+ ments can lead to ambiguities when it encounters strings that
+ look like primaries. The POSIX standard has deprecated the -\b-a\ba
+ and -\b-o\bo primaries and enclosing expressions within parentheses.
+ Scripts should no longer use them. It's much more reliable to
+ restrict test invocations to a single primary, and to replace
uses of -\b-a\ba and -\b-o\bo with the shell's &\b&&\b& and |\b||\b| list operators.
- t\bti\bim\bme\bes\bs Print the accumulated user and system times for the shell and
+ t\bti\bim\bme\bes\bs Print the accumulated user and system times for the shell and
for processes run from the shell. The return status is 0.
t\btr\bra\bap\bp [-\b-l\blp\bpP\bP] [[_\ba_\bc_\bt_\bi_\bo_\bn] _\bs_\bi_\bg_\bs_\bp_\be_\bc ...]
The _\ba_\bc_\bt_\bi_\bo_\bn is a command that is read and executed when the shell
- receives any of the signals _\bs_\bi_\bg_\bs_\bp_\be_\bc. If _\ba_\bc_\bt_\bi_\bo_\bn is absent (and
+ receives any of the signals _\bs_\bi_\bg_\bs_\bp_\be_\bc. If _\ba_\bc_\bt_\bi_\bo_\bn is absent (and
there is a single _\bs_\bi_\bg_\bs_\bp_\be_\bc) or -\b-, each specified _\bs_\bi_\bg_\bs_\bp_\be_\bc is reset
- to the value it had when the shell was started. If _\ba_\bc_\bt_\bi_\bo_\bn is
- the null string the signal specified by each _\bs_\bi_\bg_\bs_\bp_\be_\bc is ignored
+ to the value it had when the shell was started. If _\ba_\bc_\bt_\bi_\bo_\bn is
+ the null string the signal specified by each _\bs_\bi_\bg_\bs_\bp_\be_\bc is ignored
by the shell and by the commands it invokes.
- If no arguments are supplied, t\btr\bra\bap\bp displays the actions associ-
+ If no arguments are supplied, t\btr\bra\bap\bp displays the actions associ-
ated with each trapped signal as a set of t\btr\bra\bap\bp commands that can
- be reused as shell input to restore the current signal disposi-
- tions. If -\b-p\bp is given, and _\ba_\bc_\bt_\bi_\bo_\bn is not present, then t\btr\bra\bap\bp
- displays the actions associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc or, if none
+ be reused as shell input to restore the current signal disposi-
+ tions. If -\b-p\bp is given, and _\ba_\bc_\bt_\bi_\bo_\bn is not present, then t\btr\bra\bap\bp
+ displays the actions associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc or, if none
are supplied, for all trapped signals, as a set of t\btr\bra\bap\bp commands
- that can be reused as shell input to restore the current signal
- dispositions. The -\b-P\bP option behaves similarly, but displays
- only the actions associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc argument. -\b-P\bP re-
- quires at least one _\bs_\bi_\bg_\bs_\bp_\be_\bc argument. The -\b-P\bP or -\b-p\bp options may
- be used in a subshell environment (e.g., command substitution)
- and, as long as they are used before t\btr\bra\bap\bp is used to change a
+ that can be reused as shell input to restore the current signal
+ dispositions. The -\b-P\bP option behaves similarly, but displays
+ only the actions associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc argument. -\b-P\bP re-
+ quires at least one _\bs_\bi_\bg_\bs_\bp_\be_\bc argument. The -\b-P\bP or -\b-p\bp options may
+ be used in a subshell environment (e.g., command substitution)
+ and, as long as they are used before t\btr\bra\bap\bp is used to change a
signal's handling, will display the state of its parent's traps.
- The -\b-l\bl option prints a list of signal names and their corre-
- sponding numbers. Each _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a signal name defined
+ The -\b-l\bl option prints a list of signal names and their corre-
+ sponding numbers. Each _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a signal name defined
in <_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh>, or a signal number. Signal names are case insen-
- sitive and the S\bSI\bIG\bG prefix is optional. If -\b-l\bl is supplied with
+ sitive and the S\bSI\bIG\bG prefix is optional. If -\b-l\bl is supplied with
no _\bs_\bi_\bg_\bs_\bp_\be_\bc arguments, it prints a list of valid signal names.
- If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0), _\ba_\bc_\bt_\bi_\bo_\bn is executed on exit from the
- shell. If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, _\ba_\bc_\bt_\bi_\bo_\bn is executed before every
- _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br command, _\bc_\ba_\bs_\be command, _\bs_\be_\bl_\be_\bc_\bt command, ((
- arithmetic command, [[ conditional command, arithmetic _\bf_\bo_\br com-
- mand, and before the first command executes in a shell function
+ If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0), _\ba_\bc_\bt_\bi_\bo_\bn is executed on exit from the
+ shell. If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, _\ba_\bc_\bt_\bi_\bo_\bn is executed before every
+ _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br command, _\bc_\ba_\bs_\be command, _\bs_\be_\bl_\be_\bc_\bt command, ((
+ arithmetic command, [[ conditional command, arithmetic _\bf_\bo_\br com-
+ mand, and before the first command executes in a shell function
(see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR in _\bb_\ba_\bs_\bh(1)). Refer to the description of the
- e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option (see s\bsh\bho\bop\bpt\bt in _\bb_\ba_\bs_\bh(1)) for details of its
+ e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option (see s\bsh\bho\bop\bpt\bt in _\bb_\ba_\bs_\bh(1)) 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, _\ba_\bc_\bt_\bi_\bo_\bn is ex-
- ecuted each time a shell function or a script executed with the
+ ecuted each time a shell function or a script executed with the
.\b. or s\bso\bou\bur\brc\bce\be builtins finishes executing.
- If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR, _\ba_\bc_\bt_\bi_\bo_\bn is executed whenever a pipeline
- (which may consist of a single simple command), a list, or a
- compound command returns a non-zero exit status, subject to the
- following conditions. The E\bER\bRR\bR trap is not executed if the
+ If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR, _\ba_\bc_\bt_\bi_\bo_\bn is executed whenever a pipeline
+ (which may consist of a single simple command), a list, or a
+ compound command returns a non-zero exit status, subject to the
+ following conditions. The E\bER\bRR\bR trap is not executed if the
failed command is part of the command list immediately following
- a w\bwh\bhi\bil\ble\be or u\bun\bnt\bti\bil\bl keyword, part of the test in an _\bi_\bf statement,
+ a w\bwh\bhi\bil\ble\be or u\bun\bnt\bti\bil\bl keyword, part of the test in an _\bi_\bf statement,
part of a command executed in a &\b&&\b& or |\b||\b| list except the command
- following the final &\b&&\b& or |\b||\b|, any command in a pipeline but the
- last (subject to the state of the p\bpi\bip\bpe\bef\bfa\bai\bil\bl shell option), or if
+ following the final &\b&&\b& or |\b||\b|, any command in a pipeline but the
+ last (subject to the state of the p\bpi\bip\bpe\bef\bfa\bai\bil\bl shell option), or if
the command's return value is being inverted using !\b!. These are
the same conditions obeyed by the e\ber\brr\bre\bex\bxi\bit\bt (-\b-e\be) option.
When the shell is not interactive, signals ignored upon entry to
the shell cannot be trapped or reset. Interactive shells permit
trapping signals ignored on entry. Trapped signals that are not
- being ignored are reset to their original values in a subshell
- or subshell environment when one is created. The return status
+ being ignored are reset to their original values in a subshell
+ or subshell environment when one is created. The return status
is false if any _\bs_\bi_\bg_\bs_\bp_\be_\bc is invalid; otherwise t\btr\bra\bap\bp returns true.
t\btr\bru\bue\be Does nothing, returns a 0 status.
Indicate how each _\bn_\ba_\bm_\be would be interpreted if used as a command
name.
- If the -\b-t\bt option is used, t\bty\byp\bpe\be prints a string which is one of
- _\ba_\bl_\bi_\ba_\bs, _\bk_\be_\by_\bw_\bo_\br_\bd, _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn, _\bb_\bu_\bi_\bl_\bt_\bi_\bn, or _\bf_\bi_\bl_\be if _\bn_\ba_\bm_\be is an alias,
- shell reserved word, function, builtin, or executable file, re-
- spectively. If the _\bn_\ba_\bm_\be is not found, t\bty\byp\bpe\be prints nothing and
+ If the -\b-t\bt option is used, t\bty\byp\bpe\be prints a string which is one of
+ _\ba_\bl_\bi_\ba_\bs, _\bk_\be_\by_\bw_\bo_\br_\bd, _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn, _\bb_\bu_\bi_\bl_\bt_\bi_\bn, or _\bf_\bi_\bl_\be if _\bn_\ba_\bm_\be is an alias,
+ shell reserved word, function, builtin, or executable file, re-
+ spectively. If the _\bn_\ba_\bm_\be is not found, t\bty\byp\bpe\be prints nothing and
returns a non-zero exit status.
- If the -\b-p\bp option is used, t\bty\byp\bpe\be either returns the pathname of
- the executable file that would be found by searching $\b$P\bPA\bAT\bTH\bH for
- _\bn_\ba_\bm_\be or nothing if would not return _\bf_\bi_\bl_\be. The -\b-P\bP option forces
- a P\bPA\bAT\bTH\bH search for each _\bn_\ba_\bm_\be, even if would not return _\bf_\bi_\bl_\be. If
+ If the -\b-p\bp option is used, t\bty\byp\bpe\be either returns the pathname of
+ the executable file that would be found by searching $\b$P\bPA\bAT\bTH\bH for
+ _\bn_\ba_\bm_\be or nothing if would not return _\bf_\bi_\bl_\be. The -\b-P\bP option forces
+ a P\bPA\bAT\bTH\bH search for each _\bn_\ba_\bm_\be, even if would not return _\bf_\bi_\bl_\be. If
_\bn_\ba_\bm_\be is present in the table of hashed commands, -\b-p\bp and -\b-P\bP print
the hashed value, which is not necessarily the file that appears
first in P\bPA\bAT\bTH\bH.
- If the -\b-a\ba option is used, t\bty\byp\bpe\be prints all of the places that
- contain a command named _\bn_\ba_\bm_\be. This includes aliases, reserved
- words, functions, and builtins, but the path search options (-\b-p\bp
- and -\b-P\bP) can be supplied to restrict the output to executable
- files. t\bty\byp\bpe\be does not consult the table of hashed commands when
+ If the -\b-a\ba option is used, t\bty\byp\bpe\be prints all of the places that
+ contain a command named _\bn_\ba_\bm_\be. This includes aliases, reserved
+ words, functions, and builtins, but the path search options (-\b-p\bp
+ and -\b-P\bP) can be supplied to restrict the output to executable
+ files. t\bty\byp\bpe\be does not consult the table of hashed commands when
using -\b-a\ba with -\b-p\bp, and only performs a P\bPA\bAT\bTH\bH search for _\bn_\ba_\bm_\be.
The -\b-f\bf option suppresses shell function lookup, as with the c\bco\bom\bm-\b-
- m\bma\ban\bnd\bd builtin. t\bty\byp\bpe\be returns true if all of the arguments are
+ m\bma\ban\bnd\bd builtin. t\bty\byp\bpe\be returns true if all of the arguments are
found, false if any are not found.
u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bS] -\b-a\ba
u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bS] [-\b-b\bbc\bcd\bde\bef\bfi\bik\bkl\blm\bmn\bnp\bpq\bqr\brs\bst\btu\buv\bvx\bxP\bPR\bRT\bT [_\bl_\bi_\bm_\bi_\bt]]
- Provides control over the resources available to the shell and
+ Provides control over the resources available to the shell and
to processes it starts, on systems that allow such control.
- The -\b-H\bH and -\b-S\bS options specify whether the hard or soft limit is
+ The -\b-H\bH and -\b-S\bS options specify whether the hard or soft limit is
set for the given resource. A hard limit cannot be increased by
a non-root user once it is set; a soft limit may be increased up
- to the value of the hard limit. If neither -\b-H\bH nor -\b-S\bS is speci-
+ to the value of the hard limit. If neither -\b-H\bH nor -\b-S\bS is speci-
fied, u\bul\bli\bim\bmi\bit\bt sets both the soft and hard limits.
The value of _\bl_\bi_\bm_\bi_\bt can be a number in the unit specified for the
- resource or one of the special values h\bha\bar\brd\bd, s\bso\bof\bft\bt, or u\bun\bnl\bli\bim\bmi\bit\bte\bed\bd,
- which stand for the current hard limit, the current soft limit,
- and no limit, respectively. If _\bl_\bi_\bm_\bi_\bt is omitted, u\bul\bli\bim\bmi\bit\bt prints
- the current value of the soft limit of the resource, unless the
- -\b-H\bH option is given. When more than one resource is specified,
- the limit name and unit, if appropriate, are printed before the
+ resource or one of the special values h\bha\bar\brd\bd, s\bso\bof\bft\bt, or u\bun\bnl\bli\bim\bmi\bit\bte\bed\bd,
+ which stand for the current hard limit, the current soft limit,
+ and no limit, respectively. If _\bl_\bi_\bm_\bi_\bt is omitted, u\bul\bli\bim\bmi\bit\bt prints
+ the current value of the soft limit of the resource, unless the
+ -\b-H\bH option is given. When more than one resource is specified,
+ the limit name and unit, if appropriate, are printed before the
value. Other options are interpreted as follows:
-\b-a\ba Report all current limits; no limits are set.
-\b-b\bb The maximum socket buffer size.
-\b-c\bc The maximum size of core files created.
-\b-d\bd The maximum size of a process's data segment.
-\b-e\be The maximum scheduling priority (
- -\b-f\bf The maximum size of files written by the shell and its
+ -\b-f\bf The maximum size of files written by the shell and its
children.
-\b-i\bi The maximum number of pending signals.
-\b-k\bk The maximum number of kqueues that may be allocated.
-\b-l\bl The maximum size that may be locked into memory.
- -\b-m\bm The maximum resident set size (many systems do not honor
+ -\b-m\bm The maximum resident set size (many systems do not honor
this limit).
-\b-n\bn The maximum number of open file descriptors (most systems
do not allow this value to be set).
-\b-r\br The maximum real-time scheduling priority.
-\b-s\bs The maximum stack size.
-\b-t\bt The maximum amount of cpu time in seconds.
- -\b-u\bu The maximum number of processes available to a single
+ -\b-u\bu The maximum number of processes available to a single
user.
- -\b-v\bv The maximum amount of virtual memory available to the
+ -\b-v\bv The maximum amount of virtual memory available to the
shell and, on some systems, to its children.
-\b-x\bx The maximum number of file locks.
-\b-P\bP The maximum number of pseudoterminals.
- -\b-R\bR The maximum time a real-time process can run before
+ -\b-R\bR The maximum time a real-time process can run before
blocking, in microseconds.
-\b-T\bT The maximum number of threads.
- If _\bl_\bi_\bm_\bi_\bt is supplied, and the -\b-a\ba option is not used, _\bl_\bi_\bm_\bi_\bt is
- the new value of the specified resource. If no option is sup-
+ If _\bl_\bi_\bm_\bi_\bt is supplied, and the -\b-a\ba option is not used, _\bl_\bi_\bm_\bi_\bt is
+ the new value of the specified resource. If no option is sup-
plied, then -\b-f\bf is assumed.
- Values are in 1024-byte increments, except for -\b-t\bt, which is in
- seconds; -\b-R\bR, which is in microseconds; -\b-p\bp, which is in units of
- 512-byte blocks; -\b-P\bP, -\b-T\bT, -\b-b\bb, -\b-k\bk, -\b-n\bn, and -\b-u\bu, which are unscaled
- values; and, when in posix mode, -\b-c\bc and -\b-f\bf, which are in
- 512-byte increments. The return status is 0 unless an invalid
+ Values are in 1024-byte increments, except for -\b-t\bt, which is in
+ seconds; -\b-R\bR, which is in microseconds; -\b-p\bp, which is in units of
+ 512-byte blocks; -\b-P\bP, -\b-T\bT, -\b-b\bb, -\b-k\bk, -\b-n\bn, and -\b-u\bu, which are unscaled
+ values; and, when in posix mode, -\b-c\bc and -\b-f\bf, which are in
+ 512-byte increments. The return status is 0 unless an invalid
option or argument is supplied, or an error occurs while setting
a new limit.
u\bum\bma\bas\bsk\bk [-\b-p\bp] [-\b-S\bS] [_\bm_\bo_\bd_\be]
- Set the user file-creation mask to _\bm_\bo_\bd_\be. If _\bm_\bo_\bd_\be begins with a
+ Set the user file-creation mask to _\bm_\bo_\bd_\be. If _\bm_\bo_\bd_\be begins with a
digit, it is interpreted as an octal number; otherwise it is in-
- terpreted as a symbolic mode mask similar to that accepted by
+ terpreted as a symbolic mode mask similar to that accepted by
_\bc_\bh_\bm_\bo_\bd(1). If _\bm_\bo_\bd_\be is omitted, u\bum\bma\bas\bsk\bk prints the current value of
the mask. The -\b-S\bS option without a _\bm_\bo_\bd_\be argument prints the mask
in a symbolic format; the default output is an octal number. If
the -\b-p\bp option is supplied, and _\bm_\bo_\bd_\be is omitted, the output is in
- a form that may be reused as input. The return status is zero
- if the mode was successfully changed or if no _\bm_\bo_\bd_\be argument was
+ a form that may be reused as input. The return status is zero
+ if the mode was successfully changed or if no _\bm_\bo_\bd_\be argument was
supplied, and non-zero otherwise.
u\bun\bna\bal\bli\bia\bas\bs [-a\ba] [_\bn_\ba_\bm_\be ...]
- Remove each _\bn_\ba_\bm_\be from the list of defined aliases. If -\b-a\ba is
- supplied, remove all alias definitions. The return value is
+ Remove each _\bn_\ba_\bm_\be from the list of defined aliases. If -\b-a\ba is
+ supplied, remove all alias definitions. The return value is
true unless a supplied _\bn_\ba_\bm_\be is not a defined alias.
u\bun\bns\bse\bet\bt [-f\bfv\bv] [-n\bn] [_\bn_\ba_\bm_\be ...]
- For each _\bn_\ba_\bm_\be, remove the corresponding variable or function.
+ For each _\bn_\ba_\bm_\be, remove the corresponding variable or function.
If the -\b-v\bv option is given, each _\bn_\ba_\bm_\be refers to a shell variable,
- and that variable is removed. If -\b-f\bf is specified, each _\bn_\ba_\bm_\be
- refers to a shell function, and the function definition is re-
- moved. If the -\b-n\bn option is supplied, and _\bn_\ba_\bm_\be is a variable
- with the _\bn_\ba_\bm_\be_\br_\be_\bf attribute, _\bn_\ba_\bm_\be will be unset rather than the
- variable it references. -\b-n\bn has no effect if the -\b-f\bf option is
- supplied. Read-only variables and functions may not be unset.
- When variables or functions are removed, they are also removed
- from the environment passed to subsequent commands. If no op-
- tions are supplied, each _\bn_\ba_\bm_\be refers to a variable; if there is
- no variable by that name, a function with that name, if any, is
- unset. Some shell variables may not be unset. If any of
+ and that variable is removed. If -\b-f\bf is specified, each _\bn_\ba_\bm_\be
+ refers to a shell function, and the function definition is re-
+ moved. If the -\b-n\bn option is supplied, and _\bn_\ba_\bm_\be is a variable
+ with the _\bn_\ba_\bm_\be_\br_\be_\bf attribute, _\bn_\ba_\bm_\be will be unset rather than the
+ variable it references. -\b-n\bn has no effect if the -\b-f\bf option is
+ supplied. Read-only variables and functions may not be unset.
+ When variables or functions are removed, they are also removed
+ from the environment passed to subsequent commands. If no op-
+ tions are supplied, each _\bn_\ba_\bm_\be refers to a variable; if there is
+ no variable by that name, a function with that name, if any, is
+ unset. Some shell variables may not be unset. If any of
B\bBA\bAS\bSH\bH_\b_A\bAL\bLI\bIA\bAS\bSE\bES\bS, B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV0\b0, B\bBA\bAS\bSH\bH_\b_C\bCM\bMD\bDS\bS, B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD, B\bBA\bAS\bSH\bH_\b_S\bSU\bUB\bB-\b-
- S\bSH\bHE\bEL\bLL\bL, B\bBA\bAS\bSH\bHP\bPI\bID\bD, C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS, D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK, E\bEP\bPO\bOC\bCH\bHR\bRE\bEA\bAL\bLT\bTI\bIM\bME\bE,
- E\bEP\bPO\bOC\bCH\bHS\bSE\bEC\bCO\bON\bND\bDS\bS, F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE, G\bGR\bRO\bOU\bUP\bPS\bS, H\bHI\bIS\bST\bTC\bCM\bMD\bD, L\bLI\bIN\bNE\bEN\bNO\bO, R\bRA\bAN\bND\bDO\bOM\bM, S\bSE\bEC\bC-\b-
- O\bON\bND\bDS\bS, or S\bSR\bRA\bAN\bND\bDO\bOM\bM are unset, they lose their special properties,
- even if they are subsequently reset. The exit status is true
+ S\bSH\bHE\bEL\bLL\bL, B\bBA\bAS\bSH\bHP\bPI\bID\bD, C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS, D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK, E\bEP\bPO\bOC\bCH\bHR\bRE\bEA\bAL\bLT\bTI\bIM\bME\bE,
+ E\bEP\bPO\bOC\bCH\bHS\bSE\bEC\bCO\bON\bND\bDS\bS, F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE, G\bGR\bRO\bOU\bUP\bPS\bS, H\bHI\bIS\bST\bTC\bCM\bMD\bD, L\bLI\bIN\bNE\bEN\bNO\bO, R\bRA\bAN\bND\bDO\bOM\bM, S\bSE\bEC\bC-\b-
+ O\bON\bND\bDS\bS, or S\bSR\bRA\bAN\bND\bDO\bOM\bM are unset, they lose their special properties,
+ even if they are subsequently reset. The exit status is true
unless a _\bn_\ba_\bm_\be is readonly or may not be unset.
w\bwa\bai\bit\bt [-\b-f\bfn\bn] [-\b-p\bp _\bv_\ba_\br_\bn_\ba_\bm_\be] [_\bi_\bd ...]
Wait for each specified child process _\bi_\bd and return the termina-
- tion status of the last _\bi_\bd. Each _\bi_\bd may be a process ID or a
- job specification; if a job spec is supplied, w\bwa\bai\bit\bt waits for all
- processes in the job.
+ tion status of the last _\bi_\bd. Each _\bi_\bd may be a process ID _\bp_\bi_\bd or
+ a job specification _\bj_\bo_\bb_\bs_\bp_\be_\bc; if a jobspec is supplied, w\bwa\bai\bit\bt
+ waits for all processes in the job.
If no options or _\bi_\bds are supplied, w\bwa\bai\bit\bt waits for all running
background jobs and the last-executed process substitution, if
and the shell has no unwaited-for children, the exit status is
127.
- If the -\b-p\bp option is supplied, the process or job identifier of
- the job for which the exit status is returned is assigned to the
- variable _\bv_\ba_\br_\bn_\ba_\bm_\be named by the option argument. The variable,
- which cannot be readonly, will be unset initially, before any
- assignment. This is useful only when the -\b-n\bn option is supplied.
+ If the -\b-p\bp option is supplied, w\bwa\bai\bit\bt assigns the process or job
+ identifier of the job for which the exit status is returned to
+ the variable _\bv_\ba_\br_\bn_\ba_\bm_\be named by the option argument. The vari-
+ able, which cannot be readonly, will be unset initially, before
+ any assignment. This is useful only when used with the -\b-n\bn op-
+ tion.
Supplying the -\b-f\bf option, when job control is enabled, forces
w\bwa\bai\bit\bt to wait for each _\bi_\bd to terminate before returning its sta-
Copyright (C) 1988-2024 Free Software Foundation, Inc.
@end ignore
-@set LASTCHANGE Thu Oct 10 10:31:59 EDT 2024
+@set LASTCHANGE Mon Oct 14 11:41:52 EDT 2024
@set EDITION 5.3
@set VERSION 5.3
-@set UPDATED 10 October 2024
+@set UPDATED 14 October 2024
@set UPDATED-MONTH October 2024
pid_t pid;
int i, r;
sigset_t set, oset;
+ struct pidstat *t;
PROCESS *p, *child;
/* Allow funsubs to run this, but don't remove jobs from the jobs table. */
}
if (jobs_list_frozen == 0) /* must be running a funsub to get here */
{
-#if 1
notify_of_job_status (i); /* XXX */
-#else
- maybe_print_job_notifications (i);
-#endif
/* kre@munnari.oz.au 01/30/2024 */
delete_job (i, posixly_correct ? DEL_NOBGPID : 0);
}
#endif
+ /* There aren't any dead jobs in the jobs table, but let's see if there's
+ one in bgpids. We can do this in posix mode because we'll remove any
+ one we find from the table, preserving existing semantics. */
+ if (posixly_correct && (t = bgp_findone ()))
+ {
+ pid = t->pid;
+ r = t->status;
+ if (ps)
+ {
+ ps->pid = pid;
+ ps->status = r;
+ }
+ bgp_delete (pid);
+ UNBLOCK_CHILD (oset);
+ return r;
+ }
+
UNBLOCK_CHILD (oset);
/* At this point, we have no dead jobs in the jobs table. Wait until we
if (i == js.j_jobslots && p == NULL)
{
- /* Ok, the job table is empty. If we're in posix mode, we can look
- in the bgpids table because we will remove the pid we find and
- this won't change existing semantics. Otherwise, we return
- failure as before. */
- struct pidstat *t;
-
- r = -1;
- if (posixly_correct && (t = bgp_findone ()))
- {
- pid = t->pid;
- r = t->status;
- if (ps)
- {
- ps->pid = pid;
- ps->status = r;
- }
- bgp_delete (pid);
- }
UNBLOCK_CHILD (oset);
- return r;
+ return -1;
}
UNBLOCK_CHILD (oset);
}
else
{
+#if 0
+ /* XXX TAG:bash-5.4 */
+ set_current_job (job);
+#else
reset_current ();
+#endif
UNBLOCK_CHILD (oset);
return (0);
}
.IR NEWLINE ,
.IR RET ,
.IR RETURN ,
-.IR RUBOUT ,
+.IR RUBOUT (a destructive backspace),
.IR SPACE ,
.IR SPC ,
and
If this function is bound to the
same character as the tty \fBEOF\fP character, as \fBC\-d\fP
commonly is, see above for the effects.
+This may also be bound to the Delete key on some keyboards.
.TP
.B backward\-delete\-char (Rubout)
Delete the character behind the cursor.
@var{NEWLINE},
@var{RET},
@var{RETURN},
-@var{RUBOUT},
+@var{RUBOUT} (a destructive backspace),
@var{SPACE},
@var{SPC},
and
If this function is bound to the
same character as the tty @sc{eof} character, as @kbd{C-d}
commonly is, see above for the effects.
+This may also be bound to the Delete key on some keyboards.
@item backward-delete-char (Rubout)
Delete the character behind the cursor.
@set EDITION 8.3
@set VERSION 8.3
-@set UPDATED 10 October 2024
+@set UPDATED 14 October 2024
@set UPDATED-MONTH October 2024
-@set LASTCHANGE Thu Oct 10 16:33:55 EDT 2024
+@set LASTCHANGE Mon Oct 14 11:42:19 EDT 2024