there are four or fewer, it uses the posix test algorithm on the
subexpression.
+68. The bind builtin's -p and -P options treat any arguments remaining after
+ option processing as bindable command names for which to print any key
+ bindings.
+
Shell Compatibility Level
=========================
compat52 (set using BASH_COMPAT)
- the test builtin uses its historical algorithm for parsing
expressions composed of five or more primaries.
+ - the -p and -P options to the bind builtin treat remaining arguments
+ as bindable command names for which to print any key bindings
-------------------------------------------------------------------------------
-\
+
12/6/2020
---------
expecting_in_command
- PST_FORCMD: new parser state, used to say if we're parsing a `for'
command and waiting for an IN token (not used yet)
+
+ 4/22
+ ----
+config-top.h
+ - MULTIPLE_COPROCS: now enabled by default
+
+ 4/23
+ ----
+doc/bash.1,doc/bashref.texi
+ - add text clarifying the difference between PIPESTATUS and $?
+
+expr.c,redir.c,jobs.c,parse.y,arrayfunc.c,test.c,subst.c
+builtins/declare.def,builtins/wait.def,builtins/printf.def
+ - went through and removed or modified TAGs for bash-5.3
+
+lib/readline/bind.c
+ - rl_print_keybinding: handle case where there are no key sequences
+ bound to the command name; don't just print out every unbound key
+
+builtins/bind.def
+ - bind_builtin: if the shell compatibility level is > 52, interpret
+ additional non-option arguments supplied with -P and -p as bindable
+ command names and print out any bindings for those names
+
+ 4/24
+ ----
+Makefile.in,doc/Makefile.in,builtins/Makefile.in
+lib/sh/Makefile.in,lib/glob/Makefile.in,lib/tilde/Makefile.in
+lib/readline/Makefile.in
+ - MFLAGS -> BASH_MAKEFLAGS, rely on make passing MAKEFLAGS in the
+ environment
+ From a report by Cedric Blancher <cedric.blancher@gmail.com>
+
+buildconf.h
+ - new build include file, construct from buildconf.h.in; contains a
+ subset of config.h for use by the build tools
+
+mksyntax.c
+ - now assumes a C90 compilation environment; includes buildconf.h for
+ any build-time configuration variables
+
+Makefile.in
+ - buildconf.h: add to CREATED_CONFIGURE
+ - mksyntax: now depends on buildconf.h instead of config.h
+
+ 4/25
+ ----
+support/bashversion.c,version.c
+ - now assumes a C90 compilation environment; includes buildconf.h for
+ any build-time configuration variables
+
+support/printenv.c,support/recho.c,support/xcase.c,support/zecho.c
+ - now assumes a C90 compilation environment and POSIX.1-1990 execution
+ environment
mailcheck.h f
xmalloc.h f
pathnames.h.in f
+buildconf.h.in f
# order is important here
y.tab.c F
y.tab.h F
support/Makefile.in f
support/bash.pc.in f
support/bashversion.c f
-support/checkbashisms f 755
+#support/checkbashisms f 755
support/config.guess f
support/config.rpath f 755
support/config.sub f
-# Makefile for bash-5.3, version 5.5
+# Makefile for bash-5.3, version 5.6
#
# Copyright (C) 1996-2024 Free Software Foundation, Inc.
$(MALLOC_LIBRARY): ${MALLOC_SOURCE} ${ALLOC_HEADERS} config.h
@(cd $(ALLOC_LIBDIR) && \
- $(MAKE) $(MFLAGS) \
+ $(MAKE) $(BASH_MAKEFLAGS) \
MALLOC_CFLAGS="$(MALLOC_CFLAGS)" ${MALLOC_TARGET} ) || exit 1
BASHINCDIR = ${srcdir}/include
bashversion.dSYM mksyntax.dSYM ${DEFDIR}/psize.aux.dSYM
CREATED_CONFIGURE = config.h config.cache config.status config.log \
stamp-h po/POTFILES config.status.lineno \
- stdckdint.h
+ stdckdint.h buildconf.h
CREATED_MAKEFILES = Makefile builtins/Makefile doc/Makefile \
lib/readline/Makefile lib/glob/Makefile \
lib/sh/Makefile lib/tilde/Makefile lib/malloc/Makefile \
-$(SIZE) $(Program)
lint:
- ${MAKE} ${MFLAGS} ADDON_CFLAGS='${GCC_LINT_FLAGS}' .made
+ ${MAKE} $(BASH_MAKEFLAGS) ADDON_CFLAGS='${GCC_LINT_FLAGS}' .made
asan:
- ${MAKE} ${MFLAGS} ADDON_CFLAGS='${ASAN_XCFLAGS}' ADDON_LDFLAGS='${ASAN_XLDFLAGS}' .made
+ ${MAKE} $(BASH_MAKEFLAGS) ADDON_CFLAGS='${ASAN_XCFLAGS}' ADDON_LDFLAGS='${ASAN_XLDFLAGS}' .made
ubsan:
- ${MAKE} ${MFLAGS} ADDON_CFLAGS='${UBSAN_XCFLAGS}' ADDON_LDFLAGS='${UBSAN_XLDFLAGS}' .made
+ ${MAKE} $(BASH_MAKEFLAGS) ADDON_CFLAGS='${UBSAN_XCFLAGS}' ADDON_LDFLAGS='${UBSAN_XLDFLAGS}' .made
valgrind:
- ${MAKE} ${MFLAGS} ADDON_CFLAGS='-DDISABLE_MALLOC_WRAPPERS' ADDON_LDFLAGS= .made
+ ${MAKE} $(BASH_MAKEFLAGS) ADDON_CFLAGS='-DDISABLE_MALLOC_WRAPPERS' ADDON_LDFLAGS= .made
lsan:
- ${MAKE} ${MFLAGS} CC=${LSAN_CC} ADDON_CFLAGS='${LSAN_XCFLAGS}' ADDON_LDFLAGS='${LSAN_XLDFLAGS}' .made
+ ${MAKE} $(BASH_MAKEFLAGS) CC=${LSAN_CC} ADDON_CFLAGS='${LSAN_XCFLAGS}' ADDON_LDFLAGS='${LSAN_XLDFLAGS}' .made
# cheating
gcov:
- ${MAKE} ${MFLAGS} CFLAGS=-g ADDON_CFLAGS='${GCOV_XCFLAGS}' ADDON_LDFLAGS='${GCOV_XLDFLAGS}' .made
+ ${MAKE} $(BASH_MAKEFLAGS) CFLAGS=-g ADDON_CFLAGS='${GCOV_XCFLAGS}' ADDON_LDFLAGS='${GCOV_XLDFLAGS}' .made
# have to make this separate because making tests depend on $(PROGRAM)
profiling-tests: ${PROGRAM}
@test "X$$PROFILE_FLAGS" == "X" && { echo "profiling-tests: must be built with profiling enabled" >&2; exit 1; }
- @${MAKE} ${MFLAGS} tests TESTSCRIPT=run-gprof
+ @${MAKE} $(BASH_MAKEFLAGS) tests TESTSCRIPT=run-gprof
version.h: $(SOURCES) config.h Makefile patchlevel.h
$(SHELL) $(SUPPORT_SRC)mkversion.sh -b -S ${topdir} -s $(RELSTATUS) -d $(Version) -o newversion.h \
bashversion$(EXEEXT): buildversion.o $(SUPPORT_SRC)bashversion.c
$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) ${LDFLAGS_FOR_BUILD} -o $@ $(SUPPORT_SRC)bashversion.c buildversion.o ${LIBS_FOR_BUILD}
+bashversion$(EXEEXT): buildconf.h
+
buildversion.o: $(srcdir)/version.c
$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -DBUILDTOOL -c -o $@ $(srcdir)/version.c
buildversion.o: bashintl.h $(BASHINCDIR)/gettext.h
buildversion.o: version.h patchlevel.h conftypes.h
+buildversion.o: buildconf.h
# old rules
GRAM_H = parser-built
$(READLINE_LIBRARY): config.h $(READLINE_SOURCE)
@echo making $@ in ${RL_LIBDIR}
@( { test "${RL_LIBDIR}" = "${libdir}" && exit 0; } || \
- cd ${RL_LIBDIR} && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} libreadline.a) || exit 1
+ cd ${RL_LIBDIR} && $(MAKE) $(BASH_MAKEFLAGS) DEBUG=${DEBUG} libreadline.a) || exit 1
$(HISTORY_LIBRARY): config.h $(HISTORY_SOURCE) $(READLINE_DEP)
@echo making $@ in ${HIST_LIBDIR}
@( { test "${HIST_LIBDIR}" = "${libdir}" && exit 0; } || \
- cd ${HIST_LIBDIR} && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} libhistory.a) || exit 1
+ cd ${HIST_LIBDIR} && $(MAKE) $(BASH_MAKEFLAGS) DEBUG=${DEBUG} libhistory.a) || exit 1
$(GLOB_LIBRARY): config.h $(GLOB_SOURCE)
@echo making $@ in ${GLOB_LIBDIR}
@(cd ${GLOB_LIBDIR} && \
- $(MAKE) $(MFLAGS) DEBUG=${DEBUG} libglob.a) || exit 1
+ $(MAKE) $(BASH_MAKEFLAGS) DEBUG=${DEBUG} libglob.a) || exit 1
$(TILDE_LIBRARY): config.h $(TILDE_SOURCE)
@echo making $@ in ${TILDE_LIBDIR}
@(cd ${TILDE_LIBDIR} && \
- $(MAKE) $(MFLAGS) libtilde.a) || exit 1
+ $(MAKE) $(BASH_MAKEFLAGS) libtilde.a) || exit 1
$(TERMCAP_LIBRARY): config.h ${TERMCAP_SOURCE}
@echo making $@ in ${TERM_LIBDIR}
@(cd ${TERM_LIBDIR} && \
- $(MAKE) $(MFLAGS) libtermcap.a) || exit 1
+ $(MAKE) $(BASH_MAKEFLAGS) libtermcap.a) || exit 1
$(SHLIB_LIBRARY): config.h ${SHLIB_SOURCE}
@echo making $@ in ${SH_LIBDIR}
@(cd ${SH_LIBDIR} && \
- $(MAKE) $(MFLAGS) DEBUG=${DEBUG} ${SHLIB_LIBNAME}) || exit 1
+ $(MAKE) $(BASH_MAKEFLAGS) DEBUG=${DEBUG} ${SHLIB_LIBNAME}) || exit 1
${INTL_LIBRARY}: config.h ${INTL_LIBDIR}/Makefile
@echo making $@ in ${INTL_LIBDIR}
@(cd ${INTL_LIBDIR} && \
- $(MAKE) $(MFLAGS) XCFLAGS="${LOCAL_CFLAGS}" all) || exit 1
+ $(MAKE) $(BASH_MAKEFLAGS) XCFLAGS="${LOCAL_CFLAGS}" all) || exit 1
${LIBINTL_H}: ${INTL_DEP}
+# If we are cross-compiling, we link in this file and initialize the array
+# of signal names at runtime
signames.o: $(SUPPORT_SRC)signames.c
$(RM) $@
$(CC) $(CCFLAGS) -c $(SUPPORT_SRC)signames.c
$(RM) $@
$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -DBUILDTOOL -c $(SUPPORT_SRC)mksignames.c
+# If we are not cross-compiling, we write out a header file (lsignames.h) with
+# the signal name definitions at build time
mksignames$(EXEEXT): mksignames.o buildsignames.o
$(RM) $@
$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) ${LDFLAGS_FOR_BUILD} -o $@ mksignames.o buildsignames.o ${LIBS_FOR_BUILD}
-mksyntax$(EXEEXT): ${srcdir}/mksyntax.c config.h syntax.h ${BASHINCDIR}/chartypes.h bashansi.h
+mksyntax$(EXEEXT): ${srcdir}/mksyntax.c buildconf.h syntax.h ${BASHINCDIR}/chartypes.h
$(RM) $@
${CC_FOR_BUILD} ${CCFLAGS_FOR_BUILD} ${LDFLAGS_FOR_BUILD} -o $@ ${srcdir}/mksyntax.c ${LIBS_FOR_BUILD}
./mksyntax$(EXEEXT) -o $@
$(BUILTINS_LIBRARY): $(DEFDIR)/builtext.h $(BUILTIN_DEFS) $(BUILTIN_C_SRC) config.h ${BASHINCDIR}/memalloc.h version.h
- @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} targets ) || exit 1
+ @(cd $(DEFDIR) && $(MAKE) $(BASH_MAKEFLAGS) DEBUG=${DEBUG} targets ) || exit 1
# these require special rules to circumvent make builtin rules
${DEFDIR}/common.o: $(BUILTIN_SRCDIR)/common.c
- @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} common.o) || exit 1
+ @(cd $(DEFDIR) && $(MAKE) $(BASH_MAKEFLAGS) DEBUG=${DEBUG} common.o) || exit 1
${DEFDIR}/bashgetopt.o: $(BUILTIN_SRCDIR)/bashgetopt.c
- @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} bashgetopt.o) || exit 1
+ @(cd $(DEFDIR) && $(MAKE) $(BASH_MAKEFLAGS) DEBUG=${DEBUG} bashgetopt.o) || exit 1
${DEFDIR}/builtext.h: $(BUILTIN_DEFS)
- @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) builtext.h ) || exit 1
+ @(cd $(DEFDIR) && $(MAKE) $(BASH_MAKEFLAGS) builtext.h ) || exit 1
${DEFDIR}/pipesize.h: ${BUILTINS_LIBRARY}
- @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) pipesize.h ) || exit 1
+ @(cd $(DEFDIR) && $(MAKE) $(BASH_MAKEFLAGS) pipesize.h ) || exit 1
$(SDIR)/man2html$(EXEEXT): ${SUPPORT_SRC}/man2html.c
- @(cd $(SDIR) && $(MAKE) $(MFLAGS) all ) || exit 1
+ @(cd $(SDIR) && $(MAKE) $(BASH_MAKEFLAGS) all ) || exit 1
# For the justification of the following Makefile rules, see node
# `Automatic Remaking' in GNU Autoconf documentation.
# force loadables to wait until the shell is built
loadables: .made
- cd $(LOADABLES_DIR) && $(MAKE) $(MFLAGS) all
+ cd $(LOADABLES_DIR) && $(MAKE) $(BASH_MAKEFLAGS) all
#newversion: mkversion
# $(RM) .build
# ./mkversion -dir $(srcdir) -dist
# mv -f newversion.h version.h
-# $(MAKE) -f $(srcdir)/Makefile $(MFLAGS) srcdir=$(srcdir)
+# $(MAKE) -f $(srcdir)/Makefile $(BASH_MAKEFLAGS) srcdir=$(srcdir)
doc documentation: force
- @(cd $(DOCDIR) ; $(MAKE) $(MFLAGS) )
+ @(cd $(DOCDIR) ; $(MAKE) $(BASH_MAKEFLAGS) )
info dvi ps: force
- @(cd $(DOCDIR) ; $(MAKE) $(MFLAGS) CFLAGS='$(CCFLAGS)' $@ )
+ @(cd $(DOCDIR) ; $(MAKE) $(BASH_MAKEFLAGS) CFLAGS='$(CCFLAGS)' $@ )
force:
@${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(man1dir)
@${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(infodir)
@${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(docdir)
- -( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
+ -( cd $(PO_DIR) ; $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
install: .made installdirs
$(INSTALL_PROGRAM) $(INSTALLMODE) $(Program) $(DESTDIR)$(bindir)/$(Program)
$(INSTALL_SCRIPT) $(INSTALLMODE2) bashbug $(DESTDIR)$(bindir)/bashbug
$(INSTALL_DATA) $(OTHER_DOCS) $(DESTDIR)$(docdir)
- -( cd $(DOCDIR) ; $(MAKE) $(MFLAGS) \
+ -( cd $(DOCDIR) ; $(MAKE) $(BASH_MAKEFLAGS) \
man1dir=$(man1dir) man1ext=$(man1ext) \
man3dir=$(man3dir) man3ext=$(man3ext) \
infodir=$(infodir) htmldir=$(htmldir) DESTDIR=$(DESTDIR) $@ )
- -( cd $(DEFDIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
- -( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
- -( cd $(LOADABLES_DIR) && $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
+ -( cd $(DEFDIR) ; $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
+ -( cd $(PO_DIR) ; $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
+ -( cd $(LOADABLES_DIR) && $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
install-strip:
- $(MAKE) $(MFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
+ $(MAKE) $(BASH_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
prefix=${prefix} exec_prefix=${exec_prefix} \
DESTDIR=$(DESTDIR) install
uninstall: .made
$(RM) $(DESTDIR)$(bindir)/$(Program) $(DESTDIR)$(bindir)/bashbug
-( cd $(DESTDIR)$(docdir) && ${RM} ${OTHER_INSTALLED_DOCS} )
- -( cd $(DOCDIR) ; $(MAKE) $(MFLAGS) \
+ -( cd $(DOCDIR) ; $(MAKE) $(BASH_MAKEFLAGS) \
man1dir=$(man1dir) man1ext=$(man1ext) \
man3dir=$(man3dir) man3ext=$(man3ext) \
infodir=$(infodir) htmldir=$(htmldir) DESTDIR=$(DESTDIR) $@ )
- -( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
- -( cd $(LOADABLES_DIR) && $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
+ -( cd $(PO_DIR) ; $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
+ -( cd $(LOADABLES_DIR) && $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
.PHONY: basic-clean clean maintainer-clean distclean mostlyclean maybe-clean
$(RM) .build .made version.h
clean: basic-clean
- ( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ )
- ( cd builtins && $(MAKE) $(MFLAGS) $@ )
- -( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ )
+ ( cd $(DOCDIR) && $(MAKE) $(BASH_MAKEFLAGS) $@ )
+ ( cd builtins && $(MAKE) $(BASH_MAKEFLAGS) $@ )
+ -( cd $(SDIR) && $(MAKE) $(BASH_MAKEFLAGS) $@ )
-for libdir in ${LIB_SUBDIRS}; do \
- (cd $$libdir && test -f Makefile && $(MAKE) $(MFLAGS) $@) ;\
+ (cd $$libdir && test -f Makefile && $(MAKE) $(BASH_MAKEFLAGS) $@) ;\
done
- -( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
- -( cd $(LOADABLES_DIR) && $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
+ -( cd $(PO_DIR) ; $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
+ -( cd $(LOADABLES_DIR) && $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
$(RM) $(CREATED_SUPPORT)
$(RM) -rf $(CREATED_MACOS)
mostlyclean: basic-clean
- ( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ )
- ( cd builtins && $(MAKE) $(MFLAGS) $@ )
- -( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ )
+ ( cd $(DOCDIR) && $(MAKE) $(BASH_MAKEFLAGS) $@ )
+ ( cd builtins && $(MAKE) $(BASH_MAKEFLAGS) $@ )
+ -( cd $(SDIR) && $(MAKE) $(BASH_MAKEFLAGS) $@ )
-for libdir in ${LIB_SUBDIRS}; do \
- (cd $$libdir && test -f Makefile && $(MAKE) $(MFLAGS) $@) ;\
+ (cd $$libdir && test -f Makefile && $(MAKE) $(BASH_MAKEFLAGS) $@) ;\
done
- -( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
- -( cd $(LOADABLES_DIR) && $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
+ -( cd $(PO_DIR) ; $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
+ -( cd $(LOADABLES_DIR) && $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
distclean: basic-clean maybe-clean
- ( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ )
- ( cd builtins && $(MAKE) $(MFLAGS) $@ )
- -( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ )
+ ( cd $(DOCDIR) && $(MAKE) $(BASH_MAKEFLAGS) $@ )
+ ( cd builtins && $(MAKE) $(BASH_MAKEFLAGS) $@ )
+ -( cd $(SDIR) && $(MAKE) $(BASH_MAKEFLAGS) $@ )
-for libdir in ${LIB_SUBDIRS}; do \
- (cd $$libdir && test -f Makefile && $(MAKE) $(MFLAGS) $@) ;\
+ (cd $$libdir && test -f Makefile && $(MAKE) $(BASH_MAKEFLAGS) $@) ;\
done
- -( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
- -( cd $(LOADABLES_DIR) && $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
+ -( cd $(PO_DIR) ; $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
+ -( cd $(LOADABLES_DIR) && $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
$(RM) $(CREATED_CONFIGURE) tags TAGS
$(RM) $(CREATED_SUPPORT) Makefile $(CREATED_MAKEFILES) $(CREATED_HEADERS)
$(RM) -rf $(CREATED_MACOS)
@echo This command is intended for maintainers to use.
@echo It deletes files that may require special tools to rebuild.
$(RM) y.tab.c y.tab.h parser-built tags TAGS
- ( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ )
- ( cd builtins && $(MAKE) $(MFLAGS) $@ )
- ( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ )
+ ( cd $(DOCDIR) && $(MAKE) $(BASH_MAKEFLAGS) $@ )
+ ( cd builtins && $(MAKE) $(BASH_MAKEFLAGS) $@ )
+ ( cd $(SDIR) && $(MAKE) $(BASH_MAKEFLAGS) $@ )
-for libdir in ${LIB_SUBDIRS}; do \
- (cd $$libdir && test -f Makefile && $(MAKE) $(MFLAGS) $@) ;\
+ (cd $$libdir && test -f Makefile && $(MAKE) $(BASH_MAKEFLAGS) $@) ;\
done
- -( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
- -( cd $(LOADABLES_DIR) && $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
+ -( cd $(PO_DIR) ; $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
+ -( cd $(LOADABLES_DIR) && $(MAKE) $(BASH_MAKEFLAGS) DESTDIR=$(DESTDIR) $@ )
$(RM) $(CREATED_CONFIGURE) Makefile $(CREATED_MAKEFILES)
$(RM) $(CREATED_SUPPORT) $(CREATED_HEADERS)
$(RM) -rf $(CREATED_MACOS)
@echo $(Program) $(srcdir)/support/mkdist -m $(srcdir)/MANIFEST -s $(srcdir) -r ${PACKAGE} -t $(PACKAGE_VERSION)
xdist: force
- ( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ )
- ( cd po && $(MAKE) $(MFLAGS) $@ )
+ ( cd $(DOCDIR) && $(MAKE) $(BASH_MAKEFLAGS) $@ )
+ ( cd po && $(MAKE) $(BASH_MAKEFLAGS) $@ )
depend: depends
variables.o: ${BASHINCDIR}/posixtime.h assoc.h ${DEFSRC}/getopt.h
variables.o: version.h $(DEFDIR)/builtext.h
version.o: conftypes.h patchlevel.h version.h
+version.o: buildconf.h
xmalloc.o: config.h bashtypes.h ${BASHINCDIR}/ansi_stdlib.h error.h
xmalloc.o: ${BASHINCDIR}/stdc.h $(ALLOC_LIBSRC)/shmalloc.h
exp = (char *)xmalloc (len);
strncpy (exp, s, len - 1);
exp[len - 1] = '\0';
-#if 1 /* TAG: bash-5.3 */
-#if 0
+#if 0 /* XXX - not dependent on compatibility mode for now */
if (shell_compatibility_level <= 52 || (flags & AV_NOEXPAND) == 0)
#else
if ((flags & AV_NOEXPAND) == 0)
t = expand_arith_string (exp, Q_DOUBLE_QUOTES|Q_ARITH|Q_ARRAYSUB); /* XXX - Q_ARRAYSUB for future use */
else
t = exp;
-#else
- t = expand_arith_string (exp, Q_DOUBLE_QUOTES|Q_ARITH|Q_ARRAYSUB); /* XXX - Q_ARRAYSUB for future use */
-#endif
savecmd = this_command_name;
this_command_name = (char *)NULL;
eflag = (shell_compatibility_level > 51) ? 0 : EXP_EXPANDED;
--- /dev/null
+/* buildconf.h -- config definitions from build environment for tools needed
+ at build time */
+
+/* Copyright (C) 2024 Free Software Foundation, Inc.
+
+ This file is part of GNU Bash, the Bourne Again SHell.
+
+ Bash is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Bash is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Bash. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#if !defined (BUILDCONF_H_)
+#define BUILDCONF_H_
+
+#undef HAVE_LOCALE_H
+
+#undef HAVE_UNISTD_H
+
+#undef HAVE_ISBLANK
+
+#undef PROCESS_SUBSTITUTION
+
+#undef EXTENDED_GLOB
+
+#endif /* BUILDCONF_H */
$(OFILES): $(MKBUILTINS) ../config.h
../version.h: ../config.h ../Makefile Makefile
- -( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} version.h )
+ -( cd ${BUILD_DIR} && ${MAKE} ${BASH_MAKEFLAGS} version.h )
# maintainer special - for now
po: builtins.c
${LIBINTL_H}:
@echo making $@ in ${INTL_BUILDDIR}
@(cd ${INTL_BUILDDIR} && \
- $(MAKE) $(MFLAGS) libintl.h) || exit 1
+ $(MAKE) $(BASH_MAKEFLAGS) libintl.h) || exit 1
# dependencies
This file is bind.def, from which is created bind.c.
It implements the builtin "bind" in Bash.
-Copyright (C) 1987-2023 Free Software Foundation, Inc.
+Copyright (C) 1987-2024 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
-X List key sequences bound with -x and associated commands
in a form that can be reused as input.
+If arguments remain after option processing, the -p and -P options treat
+them as readline command names and restrict output to those names.
+
Exit Status:
bind returns 0 unless an unrecognized option is given or an error occurs.
$END
Keymap kmap, saved_keymap;
int flags, opt;
char *initfile, *map_name, *fun_name, *unbind_name, *remove_seq, *cmd_seq, *t;
+ WORD_LIST *savelist;
if (no_line_editing)
builtin_warning (_("line editing not enabled"));
if (flags & PFLAG)
{
-#if 0 /* TAG:bash-5.3 */
- if (list == 0)
+ if (shell_compatibility_level <= 52 || list == 0)
rl_function_dumper (1);
else
- while (list)
- {
- rl_print_keybinding (list->word->word, kmap, 1);
- list = list->next;
- }
-#else
- rl_function_dumper (1);
-#endif
+ {
+ /* Allow both -p and -P to have a crack at the additional
+ arguments, just like supplying both -p and -P without
+ arguments displays the full set of bindings twice in
+ two separate formats. Otherwise, -p takes all the
+ arguments and -P prints all the bindings. */
+ savelist = (flags & PPFLAG) ? list : (WORD_LIST *)NULL;
+ while (list)
+ {
+ rl_print_keybinding (list->word->word, kmap, 1);
+ list = list->next;
+ }
+ list = savelist;
+ }
}
+ /* should combine this with the above clause */
if (flags & PPFLAG)
{
-#if 0 /* TAG:bash-5.3 */
- if (list == 0)
+ if (shell_compatibility_level <= 52 || list == 0)
rl_function_dumper (0);
else
while (list)
rl_print_keybinding (list->word->word, kmap, 0);
list = list->next;
}
-#else
- rl_function_dumper (0);
-#endif
}
EXECUTION_FAILURE would cause set -e to exit the shell. */
NEXT_VARIABLE ();
}
-#if 1
- /* TAG:bash-5.3 20240216 */
/* Cannot set or unset invalid attributes on readonly variables */
else if (readonly_p (var) && ((flags_on & invalid_readonly_attrs) || (flags_off & invalid_readonly_attrs)))
{
any_failed++;
NEXT_VARIABLE ();
}
-#endif
#if defined (ARRAY_VARS)
/* Array variable error checking. */
}
#endif
#if 0 /*TAG:bash-5.4*/
+ /* If altform, treat like %b */
if (altform == 0)
#endif
{
#if defined (JOB_CONTROL)
if (nflag)
{
-#if 0 /* TAG:bash-5.3 stevenpelley@gmail.com 01/22/2024 */
+#if 0 /* TAG:bash-5.4 stevenpelley@gmail.com 01/22/2024 */
/* First let's see if there are any requested pids that have already
been removed from the jobs list and saved on bgpids. */
if (list)
UNBLOCK_CHILD (oset);
}
-#if 0 /* TAG:bash-5.3 */
+#if 0 /* TAG:bash-5.4 */
static int
check_bgpids (WORD_LIST *list, struct procstat *pstat)
{
executing simultaneously */
/* TAG: bash-5.3 */
#ifndef MULTIPLE_COPROCS
-# define MULTIPLE_COPROCS 0
+# define MULTIPLE_COPROCS 1
#endif
/* Define to 0 if you want the checkwinsize option off by default, 1 if you
-ac_config_headers="$ac_config_headers config.h"
+ac_config_headers="$ac_config_headers config.h buildconf.h"
BASHVERS=5.3
do
case $ac_config_target in
"config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ "buildconf.h") CONFIG_HEADERS="$CONFIG_HEADERS buildconf.h" ;;
"po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"builtins/Makefile") CONFIG_FILES="$CONFIG_FILES builtins/Makefile" ;;
AC_CONFIG_SRCDIR(shell.h)
dnl where to find install.sh, config.sub, and config.guess
AC_CONFIG_AUX_DIR(./support)
-AC_CONFIG_HEADERS(config.h)
+AC_CONFIG_HEADERS(config.h buildconf.h)
dnl checks for version info
BASHVERS=bashvers
# This Makefile is for the Bash/documentation directory -*- text -*-.
#
-# Copyright (C) 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003-2024 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
OTHER_INSTALLED_DOCS = FAQ INTRO
$(MAN2HTML): ${topdir}/support/man2html.c
- -( cd ${BUILD_DIR}/support ; ${MAKE} ${MFLAGS} man2html)
+ -( cd ${BUILD_DIR}/support ; ${MAKE} ${BASH_MAKEFLAGS} man2html)
clean:
$(RM) *.aux *.bak *.cp *.fn *.ky *.log *.pg *.toc *.tp *.vr *.cps \
b\bba\bas\bsh\bh [options] [command_string | file]
C\bCO\bOP\bPY\bYR\bRI\bIG\bGH\bHT\bT
- Bash is Copyright (C) 1989-2023 by the Free Software Foundation, Inc.
+ Bash is Copyright (C) 1989-2024 by the Free Software Foundation, Inc.
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
B\bBa\bas\bsh\bh is an s\bsh\bh-compatible command language interpreter that executes
pand to nothing (i.e., they are removed).
#\b# Expands to the number of positional parameters in decimal.
?\b? Expands to the exit status of the most recently executed fore-
- ground pipeline.
+ ground command.
-\b- Expands to the current option flags as specified upon invoca-
tion, by the s\bse\bet\bt builtin command, or those set by the shell it-
self (such as the -\b-i\bi option).
P\bPI\bIP\bPE\bES\bST\bTA\bAT\bTU\bUS\bS
An array variable (see A\bAr\brr\bra\bay\bys\bs below) containing a list of exit
status values from the processes in the most-recently-executed
- foreground pipeline (which may contain only a single command).
- P\bPP\bPI\bID\bD The process ID of the shell's parent. This variable is read-
+ foreground pipeline, which may consist of only a simple command
+ (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above).
+ P\bPP\bPI\bID\bD The process ID of the shell's parent. This variable is read-
only.
P\bPW\bWD\bD The current working directory as set by the c\bcd\bd command.
- R\bRA\bAN\bND\bDO\bOM\bM Each time this parameter is referenced, it expands to a random
- integer between 0 and 32767. Assigning a value to R\bRA\bAN\bND\bDO\bOM\bM ini-
- tializes (seeds) the sequence of random numbers. If R\bRA\bAN\bND\bDO\bOM\bM is
- unset, it loses its special properties, even if it is subse-
+ R\bRA\bAN\bND\bDO\bOM\bM Each time this parameter is referenced, it expands to a random
+ integer between 0 and 32767. Assigning a value to R\bRA\bAN\bND\bDO\bOM\bM ini-
+ tializes (seeds) the sequence of random numbers. If R\bRA\bAN\bND\bDO\bOM\bM is
+ unset, it loses its special properties, even if it is subse-
quently reset.
R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_A\bAR\bRG\bGU\bUM\bME\bEN\bNT\bT
- Any numeric argument given to a readline command that was de-
+ Any numeric argument given to a readline command that was de-
fined using "bind -x" (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) when it
was invoked.
R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE
(see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_M\bMA\bAR\bRK\bK
The position of the mark (saved insertion point) in the r\bre\bea\bad\bdl\bli\bin\bne\be
- line buffer, for use with "bind -x" (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
+ line buffer, for use with "bind -x" (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
below). The characters between the insertion point and the mark
are often called the _\br_\be_\bg_\bi_\bo_\bn.
R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT
The position of the insertion point in the r\bre\bea\bad\bdl\bli\bin\bne\be line buffer,
for use with "bind -x" (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
- R\bRE\bEP\bPL\bLY\bY Set to the line of input read by the r\bre\bea\bad\bd builtin command when
+ R\bRE\bEP\bPL\bLY\bY Set to the line of input read by the r\bre\bea\bad\bd builtin command when
no arguments are supplied.
S\bSE\bEC\bCO\bON\bND\bDS\bS
Each time this parameter is referenced, it expands to the number
- of seconds since shell invocation. If a value is assigned to
- S\bSE\bEC\bCO\bON\bND\bDS\bS, the value returned upon subsequent references is the
- number of seconds since the assignment plus the value assigned.
- The number of seconds at shell invocation and the current time
- are always determined by querying the system clock. If S\bSE\bEC\bCO\bON\bND\bDS\bS
- is unset, it loses its special properties, even if it is subse-
+ of seconds since shell invocation. If a value is assigned to
+ S\bSE\bEC\bCO\bON\bND\bDS\bS, the value returned upon subsequent references is the
+ number of seconds since the assignment plus the value assigned.
+ The number of seconds at shell invocation and the current time
+ are always determined by querying the system clock. If S\bSE\bEC\bCO\bON\bND\bDS\bS
+ is unset, it loses its special properties, even if it is subse-
quently reset.
S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS
- A colon-separated list of enabled shell options. Each word in
- the list is a valid argument for the -\b-o\bo option to the s\bse\bet\bt
+ A colon-separated list of enabled shell options. Each word in
+ the list is a valid argument for the -\b-o\bo option to the s\bse\bet\bt
builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). The options
- appearing in S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS are those reported as _\bo_\bn by s\bse\bet\bt -\b-o\bo. If
- this variable is in the environment when b\bba\bas\bsh\bh starts up, each
- shell option in the list will be enabled before reading any
+ appearing in S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS are those reported as _\bo_\bn by s\bse\bet\bt -\b-o\bo. If
+ this variable is in the environment when b\bba\bas\bsh\bh starts up, each
+ shell option in the list will be enabled before reading any
startup files. This variable is read-only.
S\bSH\bHL\bLV\bVL\bL Incremented by one each time an instance of b\bba\bas\bsh\bh is started.
S\bSR\bRA\bAN\bND\bDO\bOM\bM
This variable expands to a 32-bit pseudo-random number each time
- it is referenced. The random number generator is not linear on
- systems that support _\b/_\bd_\be_\bv_\b/_\bu_\br_\ba_\bn_\bd_\bo_\bm or _\ba_\br_\bc_\b4_\br_\ba_\bn_\bd_\bo_\bm(3), so each re-
- turned number has no relationship to the numbers preceding it.
- The random number generator cannot be seeded, so assignments to
+ it is referenced. The random number generator is not linear on
+ systems that support _\b/_\bd_\be_\bv_\b/_\bu_\br_\ba_\bn_\bd_\bo_\bm or _\ba_\br_\bc_\b4_\br_\ba_\bn_\bd_\bo_\bm(3), so each re-
+ turned number has no relationship to the numbers preceding it.
+ The random number generator cannot be seeded, so assignments to
this variable have no effect. If S\bSR\bRA\bAN\bND\bDO\bOM\bM is unset, it loses its
special properties, even if it is subsequently reset.
U\bUI\bID\bD Expands to the user ID of the current user, initialized at shell
signs a default value to a variable; these cases are noted below.
B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT
- The value is used to set the shell's compatibility level. See
- S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE below for a description of the various
+ The value is used to set the shell's compatibility level. See
+ S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE below for a description of the various
compatibility levels and their effects. The value may be a dec-
- imal number (e.g., 4.2) or an integer (e.g., 42) corresponding
- to the desired compatibility level. If B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT is unset or
- set to the empty string, the compatibility level is set to the
- default for the current version. If B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT is set to a
- value that is not one of the valid compatibility levels, the
- shell prints an error message and sets the compatibility level
- to the default for the current version. A subset of the valid
- values correspond to the compatibility levels described below
- under 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. For example, 4.2 and 42 are
- valid values that correspond to the c\bco\bom\bmp\bpa\bat\bt4\b42\b2 s\bsh\bho\bop\bpt\bt option and
- set the compatibility level to 42. The current version is also
+ imal number (e.g., 4.2) or an integer (e.g., 42) corresponding
+ to the desired compatibility level. If B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT is unset or
+ set to the empty string, the compatibility level is set to the
+ default for the current version. If B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT is set to a
+ value that is not one of the valid compatibility levels, the
+ shell prints an error message and sets the compatibility level
+ to the default for the current version. A subset of the valid
+ values correspond to the compatibility levels described below
+ under 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. For example, 4.2 and 42 are
+ valid values that correspond to the c\bco\bom\bmp\bpa\bat\bt4\b42\b2 s\bsh\bho\bop\bpt\bt option and
+ set the compatibility level to 42. The current version is also
a valid value.
B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV
- If this parameter is set when b\bba\bas\bsh\bh is executing a shell script,
- its value is interpreted as a filename containing commands to
+ If this parameter is set when b\bba\bas\bsh\bh is executing a shell script,
+ its value is interpreted as a filename containing commands to
initialize the shell, as in _\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc. The value of B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV is
- subjected to parameter expansion, command substitution, and
- arithmetic expansion before being interpreted as a filename.
+ subjected to parameter expansion, command substitution, and
+ arithmetic expansion before being interpreted as a filename.
P\bPA\bAT\bTH\bH is not used to search for the resultant filename.
B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD
- If set to an integer corresponding to a valid file descriptor,
- b\bba\bas\bsh\bh will write the trace output generated when "set -x" is en-
- abled to that file descriptor. The file descriptor is closed
- when B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD is unset or assigned a new value. Unsetting
- B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD or assigning it the empty string causes the trace
- output to be sent to the standard error. Note that setting
+ If set to an integer corresponding to a valid file descriptor,
+ b\bba\bas\bsh\bh will write the trace output generated when "set -x" is en-
+ abled to that file descriptor. The file descriptor is closed
+ when B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD is unset or assigned a new value. Unsetting
+ B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD or assigning it the empty string causes the trace
+ output to be sent to the standard error. Note that setting
B\bBA\bAS\bSH\bH_\b_X\bXT\bTR\bRA\bAC\bCE\bEF\bFD\bD to 2 (the standard error file descriptor) and then
unsetting it will result in the standard error being closed.
- C\bCD\bDP\bPA\bAT\bTH\bH The search path for the c\bcd\bd command. This is a colon-separated
+ C\bCD\bDP\bPA\bAT\bTH\bH The search path for the c\bcd\bd command. This is a colon-separated
list of directories in which the shell looks for destination di-
- rectories specified by the c\bcd\bd command. A sample value is
+ rectories specified by the c\bcd\bd command. A sample value is
".:~:/usr".
C\bCH\bHI\bIL\bLD\bD_\b_M\bMA\bAX\bX
- Set the number of exited child status values for the shell to
- remember. B\bBa\bas\bsh\bh will not allow this value to be decreased below
- a POSIX-mandated minimum, and there is a maximum value (cur-
- rently 8192) that this may not exceed. The minimum value is
+ Set the number of exited child status values for the shell to
+ remember. B\bBa\bas\bsh\bh will not allow this value to be decreased below
+ a POSIX-mandated minimum, and there is a maximum value (cur-
+ rently 8192) that this may not exceed. The minimum value is
system-dependent.
C\bCO\bOL\bLU\bUM\bMN\bNS\bS
- Used by the s\bse\bel\ble\bec\bct\bt compound command to determine the terminal
- width when printing selection lists. Automatically set if the
- c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be option is enabled or in an interactive shell upon
+ Used by the s\bse\bel\ble\bec\bct\bt compound command to determine the terminal
+ width when printing selection lists. Automatically set if the
+ c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be option is enabled or in an interactive shell upon
receipt of a S\bSI\bIG\bGW\bWI\bIN\bNC\bCH\bH.
C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
An array variable from which b\bba\bas\bsh\bh reads the possible completions
- generated by a shell function invoked by the programmable com-
- pletion facility (see P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn below). Each ar-
+ generated by a shell function invoked by the programmable com-
+ pletion facility (see P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn below). Each ar-
ray element contains one possible completion.
- E\bEM\bMA\bAC\bCS\bS If b\bba\bas\bsh\bh finds this variable in the environment when the shell
- starts with value "t", it assumes that the shell is running in
+ E\bEM\bMA\bAC\bCS\bS If b\bba\bas\bsh\bh finds this variable in the environment when the shell
+ starts with value "t", it assumes that the shell is running in
an Emacs shell buffer and disables line editing.
- E\bEN\bNV\bV Expanded and executed similarly to B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV (see I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN
+ E\bEN\bNV\bV Expanded and executed similarly to B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV (see I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN
above) when an interactive shell is invoked in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be.
E\bEX\bXE\bEC\bCI\bIG\bGN\bNO\bOR\bRE\bE
- A colon-separated list of shell patterns (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg)
- defining the list of filenames to be ignored by command search
- using P\bPA\bAT\bTH\bH. Files whose full pathnames match one of these pat-
- terns are not considered executable files for the purposes of
+ A colon-separated list of shell patterns (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg)
+ defining the list of filenames to be ignored by command search
+ using P\bPA\bAT\bTH\bH. Files whose full pathnames match one of these pat-
+ terns are not considered executable files for the purposes of
completion and command execution via P\bPA\bAT\bTH\bH lookup. This does not
affect the behavior of the [\b[, t\bte\bes\bst\bt, and [\b[[\b[ commands. Full path-
- names in the command hash table are not subject to E\bEX\bXE\bEC\bCI\bIG\bGN\bNO\bOR\bRE\bE.
- Use this variable to ignore shared library files that have the
- executable bit set, but are not executable files. The pattern
+ names in the command hash table are not subject to E\bEX\bXE\bEC\bCI\bIG\bGN\bNO\bOR\bRE\bE.
+ Use this variable to ignore shared library files that have the
+ executable bit set, but are not executable files. The pattern
matching honors the setting of the e\bex\bxt\btg\bgl\blo\bob\bb shell option.
F\bFC\bCE\bED\bDI\bIT\bT The default editor for the f\bfc\bc builtin command.
F\bFI\bIG\bGN\bNO\bOR\bRE\bE
- A colon-separated list of suffixes to ignore when performing
+ A colon-separated list of suffixes to ignore when performing
filename completion (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE below). A filename whose suf-
- fix matches one of the entries in F\bFI\bIG\bGN\bNO\bOR\bRE\bE is excluded from the
+ fix matches one of the entries in F\bFI\bIG\bGN\bNO\bOR\bRE\bE is excluded from the
list of matched filenames. A sample value is ".o:~".
F\bFU\bUN\bNC\bCN\bNE\bES\bST\bT
- If set to a numeric value greater than 0, defines a maximum
- function nesting level. Function invocations that exceed this
+ If set to a numeric value greater than 0, defines a maximum
+ function nesting level. Function invocations that exceed this
nesting level will cause the current command to abort.
G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE
- A colon-separated list of patterns defining the set of file
- names to be ignored by pathname expansion. If a file name
- matched by a pathname expansion pattern also matches one of the
+ A colon-separated list of patterns defining the set of file
+ names to be ignored by pathname expansion. If a file name
+ matched by a pathname expansion pattern also matches one of the
patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE, it is removed from the list of matches.
G\bGL\bLO\bOB\bBS\bSO\bOR\bRT\bT
- Control how the results of pathname expansion are sorted. The
- value of this variable specifies the sort criteria and sort or-
- der for the results of pathname expansion. If this variable is
- unset or set to the null string, pathname expansion uses the
- historical behavior of sorting by name. If set, a valid value
- begins with an optional _\b+, which is ignored, or _\b-, which re-
- verses the sort order from ascending to descending, followed by
- a sort specifier. The valid sort specifiers are _\bn_\ba_\bm_\be, _\bs_\bi_\bz_\be,
- _\bm_\bt_\bi_\bm_\be, _\ba_\bt_\bi_\bm_\be, _\bc_\bt_\bi_\bm_\be, and _\bb_\bl_\bo_\bc_\bk_\bs, which sort the files on name,
- file size, modification time, access time, inode change time,
- and number of blocks, respectively. For example, a value of
- _\b-_\bm_\bt_\bi_\bm_\be sorts the results in descending order by modification
- time (newest first). A sort specifier of _\bn_\bo_\bs_\bo_\br_\bt disables sort-
- ing completely; the results are returned in the order they are
- read from the file system,. If the sort specifier is missing,
- it defaults to _\bn_\ba_\bm_\be, so a value of _\b+ is equivalent to the null
+ Control how the results of pathname expansion are sorted. The
+ value of this variable specifies the sort criteria and sort or-
+ der for the results of pathname expansion. If this variable is
+ unset or set to the null string, pathname expansion uses the
+ historical behavior of sorting by name. If set, a valid value
+ begins with an optional _\b+, which is ignored, or _\b-, which re-
+ verses the sort order from ascending to descending, followed by
+ a sort specifier. The valid sort specifiers are _\bn_\ba_\bm_\be, _\bs_\bi_\bz_\be,
+ _\bm_\bt_\bi_\bm_\be, _\ba_\bt_\bi_\bm_\be, _\bc_\bt_\bi_\bm_\be, and _\bb_\bl_\bo_\bc_\bk_\bs, which sort the files on name,
+ file size, modification time, access time, inode change time,
+ and number of blocks, respectively. For example, a value of
+ _\b-_\bm_\bt_\bi_\bm_\be sorts the results in descending order by modification
+ time (newest first). A sort specifier of _\bn_\bo_\bs_\bo_\br_\bt disables sort-
+ ing completely; the results are returned in the order they are
+ read from the file system,. If the sort specifier is missing,
+ it defaults to _\bn_\ba_\bm_\be, so a value of _\b+ is equivalent to the null
string, and a value of _\b- sorts by name in descending order. Any
invalid value restores the historical sorting behavior.
H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL
- A colon-separated list of values controlling how commands are
- saved on the history list. If the list of values includes
- _\bi_\bg_\bn_\bo_\br_\be_\bs_\bp_\ba_\bc_\be, lines which begin with a s\bsp\bpa\bac\bce\be character are not
- saved in the history list. A value of _\bi_\bg_\bn_\bo_\br_\be_\bd_\bu_\bp_\bs causes lines
+ A colon-separated list of values controlling how commands are
+ saved on the history list. If the list of values includes
+ _\bi_\bg_\bn_\bo_\br_\be_\bs_\bp_\ba_\bc_\be, lines which begin with a s\bsp\bpa\bac\bce\be character are not
+ saved in the history list. A value of _\bi_\bg_\bn_\bo_\br_\be_\bd_\bu_\bp_\bs causes lines
matching the previous history entry to not be saved. A value of
_\bi_\bg_\bn_\bo_\br_\be_\bb_\bo_\bt_\bh is shorthand for _\bi_\bg_\bn_\bo_\br_\be_\bs_\bp_\ba_\bc_\be and _\bi_\bg_\bn_\bo_\br_\be_\bd_\bu_\bp_\bs. A value
of _\be_\br_\ba_\bs_\be_\bd_\bu_\bp_\bs causes all previous lines matching the current line
- to be removed from the history list before that line is saved.
- Any value not in the above list is ignored. If H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL is
- unset, or does not include a valid value, all lines read by the
+ to be removed from the history list before that line is saved.
+ Any value not in the above list is ignored. If H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL is
+ unset, or does not include a valid value, all lines read by the
shell parser are saved on the history list, subject to the value
- of H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE. The second and subsequent lines of a multi-line
- compound command are not tested, and are added to the history
+ of H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE. The second and subsequent lines of a multi-line
+ compound command are not tested, and are added to the history
regardless of the value of H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL.
H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE
The name of the file in which command history is saved (see H\bHI\bIS\bS-\b-
- T\bTO\bOR\bRY\bY below). B\bBa\bas\bsh\bh assigns a default value of _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by.
- If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset or null, the command history is not saved
+ T\bTO\bOR\bRY\bY below). B\bBa\bas\bsh\bh assigns a default value of _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by.
+ If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset or null, the command history is not saved
when a shell exits.
H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE
The maximum number of lines contained in the history file. When
- this variable is assigned a value, the history file is trun-
- cated, if necessary, to contain no more than that number of
- lines by removing the oldest entries. The history file is also
- truncated to this size after writing it when a shell exits. If
- the value is 0, the history file is truncated to zero size.
- Non-numeric values and numeric values less than zero inhibit
- truncation. The shell sets the default value to the value of
+ this variable is assigned a value, the history file is trun-
+ cated, if necessary, to contain no more than that number of
+ lines by removing the oldest entries. The history file is also
+ truncated to this size after writing it when a shell exits. If
+ the value is 0, the history file is truncated to zero size.
+ Non-numeric values and numeric values less than zero inhibit
+ truncation. The shell sets the default value to the value of
H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE after reading any startup files.
H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE
- A colon-separated list of patterns used to decide which command
- lines should be saved on the history list. If a command line
- matches one of the patterns in the value of H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE, it is
- not saved on the history list. Each pattern is anchored at the
- beginning of the line and must match the complete line (b\bba\bas\bsh\bh
- will not implicitly append a "*\b*"). Each pattern is tested
- against the line after the checks specified by H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL are
+ A colon-separated list of patterns used to decide which command
+ lines should be saved on the history list. If a command line
+ matches one of the patterns in the value of H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE, it is
+ not saved on the history list. Each pattern is anchored at the
+ beginning of the line and must match the complete line (b\bba\bas\bsh\bh
+ will not implicitly append a "*\b*"). Each pattern is tested
+ against the line after the checks specified by H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL are
applied. In addition to the normal shell pattern matching char-
acters, "&\b&" matches the previous history line. A backslash will
- escape the "&\b&"; the backslash is removed before attempting a
+ escape the "&\b&"; the backslash is removed before attempting a
match. The second and subsequent lines of a multi-line compound
- command are not tested, and are added to the history regardless
- of the value of H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE. The pattern matching honors the
+ command are not tested, and are added to the history regardless
+ of the value of H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE. The pattern matching honors the
setting of the e\bex\bxt\btg\bgl\blo\bob\bb shell option.
H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE
- The number of commands to remember in the command history (see
- H\bHI\bIS\bST\bTO\bOR\bRY\bY below). If the value is 0, commands are not saved in
+ The number of commands to remember in the command history (see
+ H\bHI\bIS\bST\bTO\bOR\bRY\bY below). If the value is 0, commands are not saved in
the history list. Numeric values less than zero result in every
- command being saved on the history list (there is no limit).
- The shell sets the default value to 500 after reading any
+ command being saved on the history list (there is no limit).
+ The shell sets the default value to 500 after reading any
startup files.
H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT
- If this variable is set and not null, its value is used as a
+ If this variable is set and not null, its value is used as a
format string for _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) to print the time stamp associated
- with each history entry displayed by the h\bhi\bis\bst\bto\bor\bry\by builtin. If
- this variable is set, time stamps are written to the history
- file so they may be preserved across shell sessions. This uses
- the history comment character to distinguish timestamps from
+ with each history entry displayed by the h\bhi\bis\bst\bto\bor\bry\by builtin. If
+ this variable is set, time stamps are written to the history
+ file so they may be preserved across shell sessions. This uses
+ the history comment character to distinguish timestamps from
other history lines.
H\bHO\bOM\bME\bE The home directory of the current user; the default argument for
the c\bcd\bd builtin command. The value of this variable is also used
when performing tilde expansion.
H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE
- Contains the name of a file in the same format as _\b/_\be_\bt_\bc_\b/_\bh_\bo_\bs_\bt_\bs
+ Contains the name of a file in the same format as _\b/_\be_\bt_\bc_\b/_\bh_\bo_\bs_\bt_\bs
that should be read when the shell needs to complete a hostname.
- The list of possible hostname completions may be changed while
- the shell is running; the next time hostname completion is at-
- tempted after the value is changed, b\bba\bas\bsh\bh adds the contents of
- the new file to the existing list. If H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE is set, but has
- no value, or does not name a readable file, b\bba\bas\bsh\bh attempts to
- read _\b/_\be_\bt_\bc_\b/_\bh_\bo_\bs_\bt_\bs to obtain the list of possible hostname comple-
+ The list of possible hostname completions may be changed while
+ the shell is running; the next time hostname completion is at-
+ tempted after the value is changed, b\bba\bas\bsh\bh adds the contents of
+ the new file to the existing list. If H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE is set, but has
+ no value, or does not name a readable file, b\bba\bas\bsh\bh attempts to
+ read _\b/_\be_\bt_\bc_\b/_\bh_\bo_\bs_\bt_\bs to obtain the list of possible hostname comple-
tions. When H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE is unset, the hostname list is cleared.
I\bIF\bFS\bS The _\bI_\bn_\bt_\be_\br_\bn_\ba_\bl _\bF_\bi_\be_\bl_\bd _\bS_\be_\bp_\ba_\br_\ba_\bt_\bo_\br that is used for word splitting af-
- ter expansion and to split lines into words with the r\bre\bea\bad\bd
+ ter expansion and to split lines into words with the r\bre\bea\bad\bd
builtin command. The default value is "<space><tab><newline>".
I\bIG\bGN\bNO\bOR\bRE\bEE\bEO\bOF\bF
Controls the action of an interactive shell on receipt of an E\bEO\bOF\bF
character as the sole input. If set, the value is the number of
- consecutive E\bEO\bOF\bF characters which must be typed as the first
- characters on an input line before b\bba\bas\bsh\bh exits. If the variable
- exists but does not have a numeric value, or has no value, the
- default value is 10. If it does not exist, E\bEO\bOF\bF signifies the
+ consecutive E\bEO\bOF\bF characters which must be typed as the first
+ characters on an input line before b\bba\bas\bsh\bh exits. If the variable
+ exists but does not have a numeric value, or has no value, the
+ default value is 10. If it does not exist, E\bEO\bOF\bF signifies the
end of input to the shell.
I\bIN\bNP\bPU\bUT\bTR\bRC\bC
- The filename for the r\bre\bea\bad\bdl\bli\bin\bne\be startup file, overriding the de-
+ The filename for the r\bre\bea\bad\bdl\bli\bin\bne\be startup file, overriding the de-
fault of _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE below).
I\bIN\bNS\bSI\bID\bDE\bE_\b_E\bEM\bMA\bAC\bCS\bS
- If this variable appears in the environment when the shell
- starts, b\bba\bas\bsh\bh assumes that it is running inside an Emacs shell
- buffer and may disable line editing, depending on the value of
+ If this variable appears in the environment when the shell
+ starts, b\bba\bas\bsh\bh assumes that it is running inside an Emacs shell
+ buffer and may disable line editing, depending on the value of
T\bTE\bER\bRM\bM.
- L\bLA\bAN\bNG\bG Used to determine the locale category for any category not
+ L\bLA\bAN\bNG\bG Used to determine the locale category for any category not
specifically selected with a variable starting with L\bLC\bC_\b_.
- L\bLC\bC_\b_A\bAL\bLL\bL This variable overrides the value of L\bLA\bAN\bNG\bG and any other L\bLC\bC_\b_
+ L\bLC\bC_\b_A\bAL\bLL\bL This variable overrides the value of L\bLA\bAN\bNG\bG and any other L\bLC\bC_\b_
variable specifying a locale category.
L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE
- This variable determines the collation order used when sorting
- the results of pathname expansion, and determines the behavior
- of range expressions, equivalence classes, and collating se-
+ This variable determines the collation order used when sorting
+ the results of pathname expansion, and determines the behavior
+ of range expressions, equivalence classes, and collating se-
quences within pathname expansion and pattern matching.
L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE
- This variable determines the interpretation of characters and
- the behavior of character classes within pathname expansion and
+ This variable determines the interpretation of characters and
+ the behavior of character classes within pathname expansion and
pattern matching.
L\bLC\bC_\b_M\bME\bES\bSS\bSA\bAG\bGE\bES\bS
- This variable determines the locale used to translate double-
+ This variable determines the locale used to translate double-
quoted strings preceded by a $\b$.
L\bLC\bC_\b_N\bNU\bUM\bME\bER\bRI\bIC\bC
- This variable determines the locale category used for number
+ This variable determines the locale category used for number
formatting.
L\bLC\bC_\b_T\bTI\bIM\bME\bE
- This variable determines the locale category used for data and
+ This variable determines the locale category used for data and
time formatting.
- L\bLI\bIN\bNE\bES\bS Used by the s\bse\bel\ble\bec\bct\bt compound command to determine the column
- length for printing selection lists. Automatically set if the
- c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be option is enabled or in an interactive shell upon
+ L\bLI\bIN\bNE\bES\bS Used by the s\bse\bel\ble\bec\bct\bt compound command to determine the column
+ length for printing selection lists. Automatically set if the
+ c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be option is enabled or in an interactive shell upon
receipt of a S\bSI\bIG\bGW\bWI\bIN\bNC\bCH\bH.
- M\bMA\bAI\bIL\bL If this parameter is set to a file or directory name and the
- M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH variable is not set, b\bba\bas\bsh\bh informs the user of the ar-
+ M\bMA\bAI\bIL\bL If this parameter is set to a file or directory name and the
+ M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH variable is not set, b\bba\bas\bsh\bh informs the user of the ar-
rival of mail in the specified file or Maildir-format directory.
M\bMA\bAI\bIL\bLC\bCH\bHE\bEC\bCK\bK
- Specifies how often (in seconds) b\bba\bas\bsh\bh checks for mail. The de-
- fault is 60 seconds. When it is time to check for mail, the
- shell does so before displaying the primary prompt. If this
- variable is unset, or set to a value that is not a number
+ Specifies how often (in seconds) b\bba\bas\bsh\bh checks for mail. The de-
+ fault is 60 seconds. When it is time to check for mail, the
+ shell does so before displaying the primary prompt. If this
+ variable is unset, or set to a value that is not a number
greater than or equal to zero, the shell disables mail checking.
M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH
A colon-separated list of filenames to be checked for mail. The
message to be printed when mail arrives in a particular file may
- be specified by separating the filename from the message with a
- "?". When used in the text of the message, $\b$_\b_ expands to the
+ be specified by separating the filename from the message with a
+ "?". When used in the text of the message, $\b$_\b_ expands to the
name of the current mailfile. Example:
M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH='/var/mail/bfox?"You have mail":~/shell-mail?"$_ has mail!"'
- B\bBa\bas\bsh\bh can be configured to supply a default value for this vari-
- able (there is no value by default), but the location of the
+ B\bBa\bas\bsh\bh can be configured to supply a default value for this vari-
+ able (there is no value by default), but the location of the
user mail files that it uses is system dependent (e.g.,
/var/mail/$\b$U\bUS\bSE\bER\bR).
O\bOP\bPT\bTE\bER\bRR\bR If set to the value 1, b\bba\bas\bsh\bh displays error messages generated by
- the g\bge\bet\bto\bop\bpt\bts\bs builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
- O\bOP\bPT\bTE\bER\bRR\bR is initialized to 1 each time the shell is invoked or a
+ the g\bge\bet\bto\bop\bpt\bts\bs builtin command (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
+ O\bOP\bPT\bTE\bER\bRR\bR is initialized to 1 each time the shell is invoked or a
shell script is executed.
- P\bPA\bAT\bTH\bH The search path for commands. It is a colon-separated list of
- directories in which the shell looks for commands (see C\bCO\bOM\bMM\bMA\bAN\bND\bD
- E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN below). A zero-length (null) directory name in the
+ P\bPA\bAT\bTH\bH The search path for commands. It is a colon-separated list of
+ directories in which the shell looks for commands (see C\bCO\bOM\bMM\bMA\bAN\bND\bD
+ E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN below). A zero-length (null) directory name in the
value of P\bPA\bAT\bTH\bH indicates the current directory. A null directory
- name may appear as two adjacent colons, or as an initial or
- trailing colon. The default path is system-dependent, and is
+ name may appear as two adjacent colons, or as an initial or
+ trailing colon. The default path is system-dependent, and is
set by the administrator who installs b\bba\bas\bsh\bh. A common value is
"/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin".
P\bPO\bOS\bSI\bIX\bXL\bLY\bY_\b_C\bCO\bOR\bRR\bRE\bEC\bCT\bT
- If this variable is in the environment when b\bba\bas\bsh\bh starts, the
- shell enters _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be before reading the startup files, as if
- the -\b--\b-p\bpo\bos\bsi\bix\bx invocation option had been supplied. If it is set
- while the shell is running, b\bba\bas\bsh\bh enables _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, as if the
+ If this variable is in the environment when b\bba\bas\bsh\bh starts, the
+ shell enters _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be before reading the startup files, as if
+ the -\b--\b-p\bpo\bos\bsi\bix\bx invocation option had been supplied. If it is set
+ while the shell is running, b\bba\bas\bsh\bh enables _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, as if the
command "set -o posix" had been executed. When the shell enters
_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, it sets this variable if it was not already set.
P\bPR\bRO\bOM\bMP\bPT\bT_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD
- If this variable is set, and is an array, the value of each set
- element is executed as a command prior to issuing each primary
- prompt. If this is set but not an array variable, its value is
+ If this variable is set, and is an array, the value of each set
+ element is executed as a command prior to issuing each primary
+ prompt. If this is set but not an array variable, its value is
used as a command to execute instead.
P\bPR\bRO\bOM\bMP\bPT\bT_\b_D\bDI\bIR\bRT\bTR\bRI\bIM\bM
- If set to a number greater than zero, the value is used as the
+ If set to a number greater than zero, the value is used as the
number of trailing directory components to retain when expanding
- the \\b\w\bw and \\b\W\bW prompt string escapes (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below).
+ the \\b\w\bw and \\b\W\bW prompt string escapes (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below).
Characters removed are replaced with an ellipsis.
- P\bPS\bS0\b0 The value of this parameter is expanded (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below)
- and displayed by interactive shells after reading a command and
+ P\bPS\bS0\b0 The value of this parameter is expanded (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below)
+ and displayed by interactive shells after reading a command and
before the command is executed.
- P\bPS\bS1\b1 The value of this parameter is expanded (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below)
- and used as the primary prompt string. The default value is
+ P\bPS\bS1\b1 The value of this parameter is expanded (see P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below)
+ and used as the primary prompt string. The default value is
"\s-\v\$ ".
- P\bPS\bS2\b2 The value of this parameter is expanded as with P\bPS\bS1\b1 and used as
+ P\bPS\bS2\b2 The value of this parameter is expanded as with P\bPS\bS1\b1 and used as
the secondary prompt string. The default is "> ".
P\bPS\bS3\b3 The value of this parameter is used as the prompt for the s\bse\bel\ble\bec\bct\bt
command (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above).
- P\bPS\bS4\b4 The value of this parameter is expanded as with P\bPS\bS1\b1 and the
+ P\bPS\bS4\b4 The value of this parameter is expanded as with P\bPS\bS1\b1 and the
value is printed before each command b\bba\bas\bsh\bh displays during an ex-
ecution trace. The first character of the expanded value of P\bPS\bS4\b4
is replicated multiple times, as necessary, to indicate multiple
levels of indirection. The default is "+ ".
- S\bSH\bHE\bEL\bLL\bL This variable expands to the full pathname to the shell. If it
- is not set when the shell starts, b\bba\bas\bsh\bh assigns to it the full
+ S\bSH\bHE\bEL\bLL\bL This variable expands to the full pathname to the shell. If it
+ is not set when the shell starts, b\bba\bas\bsh\bh assigns to it the full
pathname of the current user's login shell.
T\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT
- The value of this parameter is used as a format string specify-
- ing how the timing information for pipelines prefixed with the
- t\bti\bim\bme\be reserved word should be displayed. The %\b% character intro-
- duces an escape sequence that is expanded to a time value or
- other information. The escape sequences and their meanings are
+ The value of this parameter is used as a format string specify-
+ ing how the timing information for pipelines prefixed with the
+ t\bti\bim\bme\be reserved word should be displayed. The %\b% character intro-
+ duces an escape sequence that is expanded to a time value or
+ other information. The escape sequences and their meanings are
as follows; the brackets denote optional portions.
%\b%%\b% A literal %\b%.
%\b%[\b[_\bp]\b][\b[l\bl]\b]R\bR The elapsed time in seconds.
%\b%[\b[_\bp]\b][\b[l\bl]\b]S\bS The number of CPU seconds spent in system mode.
%\b%P\bP The CPU percentage, computed as (%U + %S) / %R.
- The optional _\bp is a digit specifying the _\bp_\br_\be_\bc_\bi_\bs_\bi_\bo_\bn, the number
+ The optional _\bp is a digit specifying the _\bp_\br_\be_\bc_\bi_\bs_\bi_\bo_\bn, the number
of fractional digits after a decimal point. A value of 0 causes
- no decimal point or fraction to be output. At most six places
- after the decimal point may be specified; values of _\bp greater
- than 6 are changed to 6. If _\bp is not specified, the value 3 is
+ no decimal point or fraction to be output. At most six places
+ after the decimal point may be specified; values of _\bp greater
+ than 6 are changed to 6. If _\bp is not specified, the value 3 is
used.
- The optional l\bl specifies a longer format, including minutes, of
- the form _\bM_\bMm_\bS_\bS._\bF_\bFs. The value of _\bp determines whether or not
+ The optional l\bl specifies a longer format, including minutes, of
+ the form _\bM_\bMm_\bS_\bS._\bF_\bFs. The value of _\bp determines whether or not
the fraction is included.
- If this variable is not set, b\bba\bas\bsh\bh acts as if it had the value
- $\b$'\b'\\b\n\bnr\bre\bea\bal\bl\\b\t\bt%\b%3\b3l\blR\bR\\b\n\bnu\bus\bse\ber\br\\b\t\bt%\b%3\b3l\blU\bU\\b\n\bns\bsy\bys\bs\\b\t\bt%\b%3\b3l\blS\bS'\b'. If the value is null,
- b\bba\bas\bsh\bh does not display any timing information. A trailing new-
+ If this variable is not set, b\bba\bas\bsh\bh acts as if it had the value
+ $\b$'\b'\\b\n\bnr\bre\bea\bal\bl\\b\t\bt%\b%3\b3l\blR\bR\\b\n\bnu\bus\bse\ber\br\\b\t\bt%\b%3\b3l\blU\bU\\b\n\bns\bsy\bys\bs\\b\t\bt%\b%3\b3l\blS\bS'\b'. If the value is null,
+ b\bba\bas\bsh\bh does not display any timing information. A trailing new-
line is added when the format string is displayed.
T\bTM\bMO\bOU\bUT\bT If set to a value greater than zero, T\bTM\bMO\bOU\bUT\bT is treated as the de-
- fault timeout for the r\bre\bea\bad\bd builtin. The s\bse\bel\ble\bec\bct\bt command termi-
+ fault timeout for the r\bre\bea\bad\bd builtin. The s\bse\bel\ble\bec\bct\bt command termi-
nates if input does not arrive after T\bTM\bMO\bOU\bUT\bT seconds when input is
- coming from a terminal. In an interactive shell, the value is
+ coming from a terminal. In an interactive shell, the value is
interpreted as the number of seconds to wait for a line of input
after issuing the primary prompt. B\bBa\bas\bsh\bh terminates after waiting
- for that number of seconds if a complete line of input does not
+ for that number of seconds if a complete line of input does not
arrive.
- T\bTM\bMP\bPD\bDI\bIR\bR If set, b\bba\bas\bsh\bh uses its value as the name of a directory in which
+ T\bTM\bMP\bPD\bDI\bIR\bR If set, b\bba\bas\bsh\bh uses its value as the name of a directory in which
b\bba\bas\bsh\bh creates temporary files for the shell's use.
a\bau\but\bto\bo_\b_r\bre\bes\bsu\bum\bme\be
This variable controls how the shell interacts with the user and
- job control. If this variable is set, single word simple com-
+ job control. If this variable is set, single word simple com-
mands without redirections are treated as candidates for resump-
tion of an existing stopped job. There is no ambiguity allowed;
- if there is more than one job beginning with the string typed,
- the job most recently accessed is selected. The _\bn_\ba_\bm_\be of a
- stopped job, in this context, is the command line used to start
- it. If set to the value _\be_\bx_\ba_\bc_\bt, the string supplied must match
- the name of a stopped job exactly; if set to _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg, the
- string supplied needs to match a substring of the name of a
- stopped job. The _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg value provides functionality analo-
- gous to the %\b%?\b? job identifier (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL below). If set
- to any other value, the supplied string must be a prefix of a
+ if there is more than one job beginning with the string typed,
+ the job most recently accessed is selected. The _\bn_\ba_\bm_\be of a
+ stopped job, in this context, is the command line used to start
+ it. If set to the value _\be_\bx_\ba_\bc_\bt, the string supplied must match
+ the name of a stopped job exactly; if set to _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg, the
+ string supplied needs to match a substring of the name of a
+ stopped job. The _\bs_\bu_\bb_\bs_\bt_\br_\bi_\bn_\bg value provides functionality analo-
+ gous to the %\b%?\b? job identifier (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL below). If set
+ to any other value, the supplied string must be a prefix of a
stopped job's name; this provides functionality analogous to the
%\b%_\bs_\bt_\br_\bi_\bn_\bg job identifier.
h\bhi\bis\bst\btc\bch\bha\bar\brs\bs
- The two or three characters which control history expansion and
+ The two or three characters which control history expansion and
tokenization (see H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below). The first character
- is the _\bh_\bi_\bs_\bt_\bo_\br_\by _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn character, the character which signals
- the start of a history expansion, normally "!\b!". The second
- character is the _\bq_\bu_\bi_\bc_\bk _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn character, which is used as
- shorthand for re-running the previous command entered, substi-
+ is the _\bh_\bi_\bs_\bt_\bo_\br_\by _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn character, the character which signals
+ the start of a history expansion, normally "!\b!". The second
+ character is the _\bq_\bu_\bi_\bc_\bk _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn character, which is used as
+ shorthand for re-running the previous command entered, substi-
tuting one string for another in the command, when it appears as
- the first character on the line. The default is "^\b^". The op-
+ the first character on the line. The default is "^\b^". The op-
tional third character is the character which indicates that the
remainder of the line is a comment when found as the first char-
- acter of a word, normally "#\b#". The history comment character
- causes history substitution to be skipped for the remaining
- words on the line. It does not necessarily cause the shell
+ acter of a word, normally "#\b#". The history comment character
+ causes history substitution to be skipped for the remaining
+ words on the line. It does not necessarily cause the shell
parser to treat the rest of the line as a comment.
A\bAr\brr\bra\bay\bys\bs
- B\bBa\bas\bsh\bh provides one-dimensional indexed and associative array variables.
- Any variable may be used as an indexed array; the d\bde\bec\bcl\bla\bar\bre\be builtin will
- explicitly declare an array. There is no maximum limit on the size of
- an array, nor any requirement that members be indexed or assigned con-
- tiguously. Indexed arrays are referenced using integers (including
+ B\bBa\bas\bsh\bh provides one-dimensional indexed and associative array variables.
+ Any variable may be used as an indexed array; the d\bde\bec\bcl\bla\bar\bre\be builtin will
+ explicitly declare an array. There is no maximum limit on the size of
+ an array, nor any requirement that members be indexed or assigned con-
+ tiguously. Indexed arrays are referenced using integers (including
arithmetic expressions) and are zero-based; associative arrays are ref-
erenced using arbitrary strings. Unless otherwise noted, indexed array
indices must be non-negative integers.
- An indexed array is created automatically if any variable is assigned
+ An indexed array is created automatically if any variable is assigned
to using the syntax _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bv_\ba_\bl_\bu_\be. The _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is treated as
an arithmetic expression that must evaluate to a number. To explicitly
- declare an indexed array, use d\bde\bec\bcl\bla\bar\bre\be -\b-a\ba _\bn_\ba_\bm_\be (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bM-\b-
- M\bMA\bAN\bND\bDS\bS below). d\bde\bec\bcl\bla\bar\bre\be -\b-a\ba _\bn_\ba_\bm_\be[\b[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]\b] is also accepted; the _\bs_\bu_\bb_\b-
+ declare an indexed array, use d\bde\bec\bcl\bla\bar\bre\be -\b-a\ba _\bn_\ba_\bm_\be (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bM-\b-
+ M\bMA\bAN\bND\bDS\bS below). d\bde\bec\bcl\bla\bar\bre\be -\b-a\ba _\bn_\ba_\bm_\be[\b[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]\b] is also accepted; the _\bs_\bu_\bb_\b-
_\bs_\bc_\br_\bi_\bp_\bt is ignored.
Associative arrays are created using d\bde\bec\bcl\bla\bar\bre\be -\b-A\bA _\bn_\ba_\bm_\be.
Attributes may be specified for an array variable using the d\bde\bec\bcl\bla\bar\bre\be and
r\bre\bea\bad\bdo\bon\bnl\bly\by builtins. Each attribute applies to all members of an array.
- Arrays are assigned to using compound assignments of the form
- _\bn_\ba_\bm_\be=(\b(value_\b1 ... value_\bn)\b), where each _\bv_\ba_\bl_\bu_\be may be of the form [_\bs_\bu_\bb_\b-
- _\bs_\bc_\br_\bi_\bp_\bt]=_\bs_\bt_\br_\bi_\bn_\bg. Indexed array assignments do not require anything but
- _\bs_\bt_\br_\bi_\bn_\bg. Each _\bv_\ba_\bl_\bu_\be in the list is expanded using the shell expansions
+ Arrays are assigned to using compound assignments of the form
+ _\bn_\ba_\bm_\be=(\b(value_\b1 ... value_\bn)\b), where each _\bv_\ba_\bl_\bu_\be may be of the form [_\bs_\bu_\bb_\b-
+ _\bs_\bc_\br_\bi_\bp_\bt]=_\bs_\bt_\br_\bi_\bn_\bg. Indexed array assignments do not require anything but
+ _\bs_\bt_\br_\bi_\bn_\bg. Each _\bv_\ba_\bl_\bu_\be in the list is expanded using the shell expansions
described below under E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN, but _\bv_\ba_\bl_\bu_\bes that are valid variable as-
signments including the brackets and subscript do not undergo brace ex-
- pansion and word splitting, as with individual variable assignments.
- When assigning to indexed arrays, if the optional brackets and sub-
- script are supplied, that index is assigned to; otherwise the index of
- the element assigned is the last index assigned to by the statement
+ pansion and word splitting, as with individual variable assignments.
+ When assigning to indexed arrays, if the optional brackets and sub-
+ script are supplied, that index is assigned to; otherwise the index of
+ the element assigned is the last index assigned to by the statement
plus one. Indexing starts at zero.
When assigning to an associative array, the words in a compound assign-
- ment may be either assignment statements, for which the subscript is
- required, or a list of words that is interpreted as a sequence of al-
- ternating keys and values: _\bn_\ba_\bm_\be=(\b( _\bk_\be_\by_\b1 _\bv_\ba_\bl_\bu_\be_\b1 _\bk_\be_\by_\b2 _\bv_\ba_\bl_\bu_\be_\b2 ...)\b). These
- are treated identically to _\bn_\ba_\bm_\be=(\b( [_\bk_\be_\by_\b1]=_\bv_\ba_\bl_\bu_\be_\b1 [_\bk_\be_\by_\b2]=_\bv_\ba_\bl_\bu_\be_\b2 ...)\b).
- The first word in the list determines how the remaining words are in-
- terpreted; all assignments in a list must be of the same type. When
- using key/value pairs, the keys may not be missing or empty; a final
+ ment may be either assignment statements, for which the subscript is
+ required, or a list of words that is interpreted as a sequence of al-
+ ternating keys and values: _\bn_\ba_\bm_\be=(\b( _\bk_\be_\by_\b1 _\bv_\ba_\bl_\bu_\be_\b1 _\bk_\be_\by_\b2 _\bv_\ba_\bl_\bu_\be_\b2 ...)\b). These
+ are treated identically to _\bn_\ba_\bm_\be=(\b( [_\bk_\be_\by_\b1]=_\bv_\ba_\bl_\bu_\be_\b1 [_\bk_\be_\by_\b2]=_\bv_\ba_\bl_\bu_\be_\b2 ...)\b).
+ The first word in the list determines how the remaining words are in-
+ terpreted; all assignments in a list must be of the same type. When
+ using key/value pairs, the keys may not be missing or empty; a final
missing value is treated like the empty string.
- This syntax is also accepted by the d\bde\bec\bcl\bla\bar\bre\be builtin. Individual array
- elements may be assigned to using the _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bv_\ba_\bl_\bu_\be syntax in-
- troduced above. When assigning to an indexed array, if _\bn_\ba_\bm_\be is sub-
- scripted by a negative number, that number is interpreted as relative
- to one greater than the maximum index of _\bn_\ba_\bm_\be, so negative indices
+ This syntax is also accepted by the d\bde\bec\bcl\bla\bar\bre\be builtin. Individual array
+ elements may be assigned to using the _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]=_\bv_\ba_\bl_\bu_\be syntax in-
+ troduced above. When assigning to an indexed array, if _\bn_\ba_\bm_\be is sub-
+ scripted by a negative number, that number is interpreted as relative
+ to one greater than the maximum index of _\bn_\ba_\bm_\be, so negative indices
count back from the end of the array, and an index of -1 references the
last element.
- The += operator will append to an array variable when assigning using
+ The += operator will append to an array variable when assigning using
the compound assignment syntax; see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS above.
- Any element of an array may be referenced using ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}.
+ Any element of an array may be referenced using ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}.
The braces are required to avoid conflicts with pathname expansion. If
- _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is @\b@ or *\b*, the word expands to all members of _\bn_\ba_\bm_\be, unless
- noted in the description of a builtin or word expansion. These sub-
+ _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is @\b@ or *\b*, the word expands to all members of _\bn_\ba_\bm_\be, unless
+ noted in the description of a builtin or word expansion. These sub-
scripts differ only when the word appears within double quotes. If the
- word is double-quoted, ${_\bn_\ba_\bm_\be[*]} expands to a single word with the
- value of each array member separated by the first character of the I\bIF\bFS\bS
+ word is double-quoted, ${_\bn_\ba_\bm_\be[*]} expands to a single word with the
+ value of each array member separated by the first character of the I\bIF\bFS\bS
special variable, and ${_\bn_\ba_\bm_\be[@]} expands each element of _\bn_\ba_\bm_\be to a sep-
- arate word. When there are no array members, ${_\bn_\ba_\bm_\be[@]} expands to
- nothing. If the double-quoted expansion occurs within a word, the ex-
+ arate word. When there are no array members, ${_\bn_\ba_\bm_\be[@]} expands to
+ nothing. If the double-quoted expansion occurs within a word, the ex-
pansion of the first parameter is joined with the beginning part of the
- original word, and the expansion of the last parameter is joined with
+ original word, and the expansion of the last parameter is joined with
the last part of the original word. This is analogous to the expansion
- of the special parameters *\b* and @\b@ (see S\bSp\bpe\bec\bci\bia\bal\bl P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs above).
- ${#_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]} expands to the length of ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}. If
+ of the special parameters *\b* and @\b@ (see S\bSp\bpe\bec\bci\bia\bal\bl P\bPa\bar\bra\bam\bme\bet\bte\ber\brs\bs above).
+ ${#_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]} expands to the length of ${_\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt]}. If
_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is *\b* or @\b@, the expansion is the number of elements in the ar-
ray. If the _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt used to reference an element of an indexed array
- evaluates to a number less than zero, it is interpreted as relative to
- one greater than the maximum index of the array, so negative indices
+ evaluates to a number less than zero, it is interpreted as relative to
+ one greater than the maximum index of the array, so negative indices
count back from the end of the array, and an index of -1 references the
last element.
Referencing an array variable without a subscript is equivalent to ref-
- erencing the array with a subscript of 0. Any reference to a variable
+ erencing the array with a subscript of 0. Any reference to a variable
using a valid subscript is valid, and b\bba\bas\bsh\bh will create an array if nec-
essary.
- An array variable is considered set if a subscript has been assigned a
+ An array variable is considered set if a subscript has been assigned a
value. The null string is a valid value.
- It is possible to obtain the keys (indices) of an array as well as the
- values. ${!\b!_\bn_\ba_\bm_\be[_\b@]} and ${!\b!_\bn_\ba_\bm_\be[_\b*]} expand to the indices assigned in
+ It is possible to obtain the keys (indices) of an array as well as the
+ values. ${!\b!_\bn_\ba_\bm_\be[_\b@]} and ${!\b!_\bn_\ba_\bm_\be[_\b*]} expand to the indices assigned in
array variable _\bn_\ba_\bm_\be. The treatment when in double quotes is similar to
the expansion of the special parameters _\b@ and _\b* within double quotes.
The u\bun\bns\bse\bet\bt builtin is used to destroy arrays. u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt] de-
stroys the array element at index _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt, for both indexed and asso-
- ciative arrays. Negative subscripts to indexed arrays are interpreted
- as described above. Unsetting the last element of an array variable
- does not unset the variable. u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be, where _\bn_\ba_\bm_\be is an array, re-
+ ciative arrays. Negative subscripts to indexed arrays are interpreted
+ as described above. Unsetting the last element of an array variable
+ does not unset the variable. u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be, where _\bn_\ba_\bm_\be is an array, re-
moves the entire array. u\bun\bns\bse\bet\bt _\bn_\ba_\bm_\be[_\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt], where _\bs_\bu_\bb_\bs_\bc_\br_\bi_\bp_\bt is *\b* or
@\b@, behaves differently depending on whether _\bn_\ba_\bm_\be is an indexed or asso-
- ciative array. If _\bn_\ba_\bm_\be is an associative array, this unsets the ele-
+ ciative array. If _\bn_\ba_\bm_\be is an associative array, this unsets the ele-
ment with subscript *\b* or @\b@. If _\bn_\ba_\bm_\be is an indexed array, unset removes
all of the elements but does not remove the array itself.
- When using a variable name with a subscript as an argument to a com-
- mand, such as with u\bun\bns\bse\bet\bt, without using the word expansion syntax de-
+ When using a variable name with a subscript as an argument to a com-
+ mand, such as with u\bun\bns\bse\bet\bt, without using the word expansion syntax de-
scribed above, the argument is subject to pathname expansion. If path-
name expansion is not desired, the argument should be quoted.
- The d\bde\bec\bcl\bla\bar\bre\be, l\blo\boc\bca\bal\bl, and r\bre\bea\bad\bdo\bon\bnl\bly\by builtins each accept a -\b-a\ba option to
- specify an indexed array and a -\b-A\bA option to specify an associative ar-
- ray. If both options are supplied, -\b-A\bA takes precedence. The r\bre\bea\bad\bd
- builtin accepts a -\b-a\ba option to assign a list of words read from the
+ The d\bde\bec\bcl\bla\bar\bre\be, l\blo\boc\bca\bal\bl, and r\bre\bea\bad\bdo\bon\bnl\bly\by builtins each accept a -\b-a\ba option to
+ specify an indexed array and a -\b-A\bA option to specify an associative ar-
+ ray. If both options are supplied, -\b-A\bA takes precedence. The r\bre\bea\bad\bd
+ builtin accepts a -\b-a\ba option to assign a list of words read from the
standard input to an array. The s\bse\bet\bt and d\bde\bec\bcl\bla\bar\bre\be builtins display array
values in a way that allows them to be reused as assignments.
_\bm_\be_\bt_\bi_\bc _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, _\bw_\bo_\br_\bd _\bs_\bp_\bl_\bi_\bt_\bt_\bi_\bn_\bg, _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, and _\bq_\bu_\bo_\bt_\be _\br_\be_\bm_\bo_\bv_\ba_\bl.
The order of expansions is: brace expansion; tilde expansion, parameter
- and variable expansion, arithmetic expansion, and command substitution
- (done in a left-to-right fashion); word splitting; pathname expansion;
+ and variable expansion, arithmetic expansion, and command substitution
+ (done in a left-to-right fashion); word splitting; pathname expansion;
and quote removal.
On systems that can support it, there is an additional expansion avail-
- able: _\bp_\br_\bo_\bc_\be_\bs_\bs _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn. This is performed at the same time as
- tilde, parameter, variable, and arithmetic expansion and command sub-
+ able: _\bp_\br_\bo_\bc_\be_\bs_\bs _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn. This is performed at the same time as
+ tilde, parameter, variable, and arithmetic expansion and command sub-
stitution.
- _\bQ_\bu_\bo_\bt_\be _\br_\be_\bm_\bo_\bv_\ba_\bl is always performed last. It removes quote characters
- present in the original word, not ones resulting from one of the other
+ _\bQ_\bu_\bo_\bt_\be _\br_\be_\bm_\bo_\bv_\ba_\bl is always performed last. It removes quote characters
+ present in the original word, not ones resulting from one of the other
expansions, unless they have been quoted themselves.
- Only brace expansion, word splitting, and pathname expansion can in-
- crease the number of words of the expansion; other expansions expand a
- single word to a single word. The only exceptions to this are the ex-
+ Only brace expansion, word splitting, and pathname expansion can in-
+ crease the number of words of the expansion; other expansions expand a
+ single word to a single word. The only exceptions to this are the ex-
pansions of "\b"$\b$@\b@"\b" and "\b"$\b${\b{_\bn_\ba_\bm_\be[\b[@\b@]\b]}\b}"\b", and, in most cases, $\b$*\b* and
$\b${\b{_\bn_\ba_\bm_\be[\b[*\b*]\b]}\b} as explained above (see P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS).
B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
_\bB_\br_\ba_\bc_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn is a mechanism by which arbitrary strings may be gener-
- ated. This mechanism is similar to _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, but the file-
+ ated. This mechanism is similar to _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn, but the file-
names generated need not exist. Patterns to be brace expanded take the
form of an optional _\bp_\br_\be_\ba_\bm_\bb_\bl_\be, followed by either a series of comma-sep-
- arated strings or a sequence expression between a pair of braces, fol-
- lowed by an optional _\bp_\bo_\bs_\bt_\bs_\bc_\br_\bi_\bp_\bt. The preamble is prefixed to each
+ arated strings or a sequence expression between a pair of braces, fol-
+ lowed by an optional _\bp_\bo_\bs_\bt_\bs_\bc_\br_\bi_\bp_\bt. The preamble is prefixed to each
string contained within the braces, and the postscript is then appended
to each resulting string, expanding left to right.
- Brace expansions may be nested. The results of each expanded string
- are not sorted; left to right order is preserved. For example,
+ Brace expansions may be nested. The results of each expanded string
+ are not sorted; left to right order is preserved. For example,
a{\b{d,c,b}\b}e expands into "ade ace abe".
- A sequence expression takes the form {\b{_\bx.\b..\b._\by[\b[.\b..\b._\bi_\bn_\bc_\br]\b]}\b}, where _\bx and _\by are
- either integers or single letters, and _\bi_\bn_\bc_\br, an optional increment, is
+ A sequence expression takes the form {\b{_\bx.\b..\b._\by[\b[.\b..\b._\bi_\bn_\bc_\br]\b]}\b}, where _\bx and _\by are
+ either integers or single letters, and _\bi_\bn_\bc_\br, an optional increment, is
an integer. When integers are supplied, the expression expands to each
- number between _\bx and _\by, inclusive. If the supplied integers are pre-
- fixed with _\b0, each term will have the same width, zero-padding if nec-
- essary. When either _\bx or _\by begins with a zero, the shell attempts to
- force all generated terms to contain the same number of digits, zero-
+ number between _\bx and _\by, inclusive. If the supplied integers are pre-
+ fixed with _\b0, each term will have the same width, zero-padding if nec-
+ essary. When either _\bx or _\by begins with a zero, the shell attempts to
+ force all generated terms to contain the same number of digits, zero-
padding where necessary. When letters are supplied, the expression ex-
- pands to each character lexicographically between _\bx and _\by, inclusive,
+ pands to each character lexicographically between _\bx and _\by, inclusive,
using the default C locale. Note that both _\bx and _\by must be of the same
- type (integer or letter). When the increment is supplied, it is used
- as the difference between each term. The default increment is 1 or -1
+ type (integer or letter). When the increment is supplied, it is used
+ as the difference between each term. The default increment is 1 or -1
as appropriate.
Brace expansion is performed before any other expansions, and any char-
- acters special to other expansions are preserved in the result. It is
- strictly textual. B\bBa\bas\bsh\bh does not apply any syntactic interpretation to
+ acters special to other expansions are preserved in the result. It is
+ strictly textual. B\bBa\bas\bsh\bh does not apply any syntactic interpretation to
the context of the expansion or the text between the braces.
- A correctly-formed brace expansion must contain unquoted opening and
+ A correctly-formed brace expansion must contain unquoted opening and
closing braces, and at least one unquoted comma or a valid sequence ex-
pression. Any incorrectly formed brace expansion is left unchanged. A
- {\b{ or ,\b, may be quoted with a backslash to prevent its being considered
- part of a brace expression. To avoid conflicts with parameter expan-
+ {\b{ or ,\b, may be quoted with a backslash to prevent its being considered
+ part of a brace expression. To avoid conflicts with parameter expan-
sion, the string $\b${\b{ is not considered eligible for brace expansion, and
inhibits brace expansion until the closing }\b}.
or
chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}
- Brace expansion introduces a slight incompatibility with historical
- versions of s\bsh\bh. s\bsh\bh does not treat opening or closing braces specially
- when they appear as part of a word, and preserves them in the output.
- B\bBa\bas\bsh\bh removes braces from words as a consequence of brace expansion.
- For example, a word entered to s\bsh\bh as _\bf_\bi_\bl_\be_\b{_\b1_\b,_\b2_\b} appears identically in
- the output. The same word is output as _\bf_\bi_\bl_\be_\b1 _\bf_\bi_\bl_\be_\b2 after expansion by
- b\bba\bas\bsh\bh. If strict compatibility with s\bsh\bh is desired, start b\bba\bas\bsh\bh with the
+ Brace expansion introduces a slight incompatibility with historical
+ versions of s\bsh\bh. s\bsh\bh does not treat opening or closing braces specially
+ when they appear as part of a word, and preserves them in the output.
+ B\bBa\bas\bsh\bh removes braces from words as a consequence of brace expansion.
+ For example, a word entered to s\bsh\bh as _\bf_\bi_\bl_\be_\b{_\b1_\b,_\b2_\b} appears identically in
+ the output. The same word is output as _\bf_\bi_\bl_\be_\b1 _\bf_\bi_\bl_\be_\b2 after expansion by
+ b\bba\bas\bsh\bh. If strict compatibility with s\bsh\bh is desired, start b\bba\bas\bsh\bh with the
+\b+B\bB option or disable brace expansion with the +\b+B\bB option to the s\bse\bet\bt com-
mand (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
T\bTi\bil\bld\bde\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
- If a word begins with an unquoted tilde character ("~\b~"), all of the
- characters preceding the first unquoted slash (or all characters, if
- there is no unquoted slash) are considered a _\bt_\bi_\bl_\bd_\be_\b-_\bp_\br_\be_\bf_\bi_\bx. If none of
- the characters in the tilde-prefix are quoted, the characters in the
- tilde-prefix following the tilde are treated as a possible _\bl_\bo_\bg_\bi_\bn _\bn_\ba_\bm_\be.
- If this login name is the null string, the tilde is replaced with the
- value of the shell parameter H\bHO\bOM\bME\bE. If H\bHO\bOM\bME\bE is unset, the home direc-
- tory of the user executing the shell is substituted instead. Other-
- wise, the tilde-prefix is replaced with the home directory associated
+ If a word begins with an unquoted tilde character ("~\b~"), all of the
+ characters preceding the first unquoted slash (or all characters, if
+ there is no unquoted slash) are considered a _\bt_\bi_\bl_\bd_\be_\b-_\bp_\br_\be_\bf_\bi_\bx. If none of
+ the characters in the tilde-prefix are quoted, the characters in the
+ tilde-prefix following the tilde are treated as a possible _\bl_\bo_\bg_\bi_\bn _\bn_\ba_\bm_\be.
+ If this login name is the null string, the tilde is replaced with the
+ value of the shell parameter H\bHO\bOM\bME\bE. If H\bHO\bOM\bME\bE is unset, the home direc-
+ tory of the user executing the shell is substituted instead. Other-
+ wise, the tilde-prefix is replaced with the home directory associated
with the specified login name.
- If the tilde-prefix is a "~+", the value of the shell variable P\bPW\bWD\bD re-
- places the tilde-prefix. If the tilde-prefix is a "~-", the value of
- the shell variable O\bOL\bLD\bDP\bPW\bWD\bD, if it is set, is substituted. If the char-
- acters following the tilde in the tilde-prefix consist of a number _\bN,
- optionally prefixed by a "+" or a "-", the tilde-prefix is replaced
+ If the tilde-prefix is a "~+", the value of the shell variable P\bPW\bWD\bD re-
+ places the tilde-prefix. If the tilde-prefix is a "~-", the value of
+ the shell variable O\bOL\bLD\bDP\bPW\bWD\bD, if it is set, is substituted. If the char-
+ acters following the tilde in the tilde-prefix consist of a number _\bN,
+ optionally prefixed by a "+" or a "-", the tilde-prefix is replaced
with the corresponding element from the directory stack, as it would be
displayed by the d\bdi\bir\brs\bs builtin invoked with the tilde-prefix as an argu-
- ment. If the characters following the tilde in the tilde-prefix con-
+ ment. If the characters following the tilde in the tilde-prefix con-
sist of a number without a leading "+" or "-", "+" is assumed.
If the login name is invalid, or the tilde expansion fails, the word is
Each variable assignment is checked for unquoted tilde-prefixes immedi-
ately following a :\b: or the first =\b=. In these cases, tilde expansion is
also performed. Consequently, one may use filenames with tildes in as-
- signments to P\bPA\bAT\bTH\bH, M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH, and C\bCD\bDP\bPA\bAT\bTH\bH, and the shell assigns the ex-
+ signments to P\bPA\bAT\bTH\bH, M\bMA\bAI\bIL\bLP\bPA\bAT\bTH\bH, and C\bCD\bDP\bPA\bAT\bTH\bH, and the shell assigns the ex-
panded value.
- B\bBa\bas\bsh\bh also performs tilde expansion on words satisfying the conditions
+ B\bBa\bas\bsh\bh also performs tilde expansion on words satisfying the conditions
of variable assignments (as described above under P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS) when they
- appear as arguments to simple commands. B\bBa\bas\bsh\bh does not do this, except
+ appear as arguments to simple commands. B\bBa\bas\bsh\bh does not do this, except
for the _\bd_\be_\bc_\bl_\ba_\br_\ba_\bt_\bi_\bo_\bn commands listed above, when in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be.
P\bPa\bar\bra\bam\bme\bet\bte\ber\br E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
The "$\b$" character introduces parameter expansion, command substitution,
- or arithmetic expansion. The parameter name or symbol to be expanded
- may be enclosed in braces, which are optional but serve to protect the
- variable to be expanded from characters immediately following it which
+ or arithmetic expansion. The parameter name or symbol to be expanded
+ may be enclosed in braces, which are optional but serve to protect the
+ variable to be expanded from characters immediately following it which
could be interpreted as part of the name.
- When braces are used, the matching ending brace is the first "}\b}" not
+ When braces are used, the matching ending brace is the first "}\b}" not
escaped by a backslash or within a quoted string, and not within an em-
- bedded arithmetic expansion, command substitution, or parameter expan-
+ bedded arithmetic expansion, command substitution, or parameter expan-
sion.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}
- The value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is substituted. The braces are required
- when _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a positional parameter with more than one
+ The value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is substituted. The braces are required
+ when _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a positional parameter with more than one
digit, or when _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is followed by a character which is not
to be interpreted as part of its name. The _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a shell
- parameter as described above P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS) or an array reference
+ parameter as described above P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS) or an array reference
(A\bAr\brr\bra\bay\bys\bs).
- If the first character of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an exclamation point (!\b!), and
+ If the first character of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an exclamation point (!\b!), and
_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is not a _\bn_\ba_\bm_\be_\br_\be_\bf, it introduces a level of indirection. B\bBa\bas\bsh\bh
uses the value formed by expanding the rest of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br as the new _\bp_\ba_\b-
- _\br_\ba_\bm_\be_\bt_\be_\br; this is then expanded and that value is used in the rest of
- the expansion, rather than the expansion of the original _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.
+ _\br_\ba_\bm_\be_\bt_\be_\br; this is then expanded and that value is used in the rest of
+ the expansion, rather than the expansion of the original _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br.
This is known as _\bi_\bn_\bd_\bi_\br_\be_\bc_\bt _\be_\bx_\bp_\ba_\bn_\bs_\bi_\bo_\bn. The value is subject to tilde ex-
- pansion, parameter expansion, command substitution, and arithmetic ex-
- pansion. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a nameref, this expands to the name of the
- parameter referenced by _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br instead of performing the complete
- indirect expansion. The exceptions to this are the expansions of
- ${!\b!_\bp_\br_\be_\bf_\bi_\bx*\b*} and ${!\b!_\bn_\ba_\bm_\be[_\b@]} described below. The exclamation point
- must immediately follow the left brace in order to introduce indirec-
+ pansion, parameter expansion, command substitution, and arithmetic ex-
+ pansion. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is a nameref, this expands to the name of the
+ parameter referenced by _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br instead of performing the complete
+ indirect expansion. The exceptions to this are the expansions of
+ ${!\b!_\bp_\br_\be_\bf_\bi_\bx*\b*} and ${!\b!_\bn_\ba_\bm_\be[_\b@]} described below. The exclamation point
+ must immediately follow the left brace in order to introduce indirec-
tion.
In each of the cases below, _\bw_\bo_\br_\bd is subject to tilde expansion, parame-
ter expansion, command substitution, and arithmetic expansion.
When not performing substring expansion, using the forms documented be-
- low (e.g., :\b:-\b-), b\bba\bas\bsh\bh tests for a parameter that is unset or null.
- Omitting the colon results in a test only for a parameter that is un-
+ low (e.g., :\b:-\b-), b\bba\bas\bsh\bh tests for a parameter that is unset or null.
+ Omitting the colon results in a test only for a parameter that is un-
set.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:-\b-_\bw_\bo_\br_\bd}
- U\bUs\bse\be D\bDe\bef\bfa\bau\bul\blt\bt V\bVa\bal\blu\bue\bes\bs. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is unset or null, the expan-
- sion of _\bw_\bo_\br_\bd is substituted. Otherwise, the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+ U\bUs\bse\be D\bDe\bef\bfa\bau\bul\blt\bt V\bVa\bal\blu\bue\bes\bs. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is unset or null, the expan-
+ sion of _\bw_\bo_\br_\bd is substituted. Otherwise, the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
is substituted.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:=\b=_\bw_\bo_\br_\bd}
- A\bAs\bss\bsi\big\bgn\bn D\bDe\bef\bfa\bau\bul\blt\bt V\bVa\bal\blu\bue\bes\bs. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is unset or null, the ex-
- pansion of _\bw_\bo_\br_\bd is assigned to _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br. The value of _\bp_\ba_\br_\ba_\bm_\be_\b-
- _\bt_\be_\br is then substituted. Positional parameters and special pa-
+ A\bAs\bss\bsi\big\bgn\bn D\bDe\bef\bfa\bau\bul\blt\bt V\bVa\bal\blu\bue\bes\bs. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is unset or null, the ex-
+ pansion of _\bw_\bo_\br_\bd is assigned to _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br. The value of _\bp_\ba_\br_\ba_\bm_\be_\b-
+ _\bt_\be_\br is then substituted. Positional parameters and special pa-
rameters may not be assigned to in this way.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:?\b?_\bw_\bo_\br_\bd}
- D\bDi\bis\bsp\bpl\bla\bay\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
+ 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. Otherwise, the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
is substituted.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:+\b+_\bw_\bo_\br_\bd}
- U\bUs\bse\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
+ U\bUs\bse\be A\bAl\blt\bte\ber\brn\bna\bat\bte\be V\bVa\bal\blu\bue\be. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is null or unset, nothing is
substituted, otherwise the expansion of _\bw_\bo_\br_\bd is substituted.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:_\bo_\bf_\bf_\bs_\be_\bt}
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br:\b:_\bo_\bf_\bf_\bs_\be_\bt:\b:_\bl_\be_\bn_\bg_\bt_\bh}
- S\bSu\bub\bbs\bst\btr\bri\bin\bng\bg E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn. Expands to up to _\bl_\be_\bn_\bg_\bt_\bh characters of the
- value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br starting at the character specified by _\bo_\bf_\bf_\b-
- _\bs_\be_\bt. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, an indexed array subscripted by @\b@
- or *\b*, or an associative array name, the results differ as de-
- scribed below. If _\bl_\be_\bn_\bg_\bt_\bh is omitted, expands to the substring
+ S\bSu\bub\bbs\bst\btr\bri\bin\bng\bg E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn. Expands to up to _\bl_\be_\bn_\bg_\bt_\bh characters of the
+ value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br starting at the character specified by _\bo_\bf_\bf_\b-
+ _\bs_\be_\bt. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, an indexed array subscripted by @\b@
+ or *\b*, or an associative array name, the results differ as de-
+ scribed below. If _\bl_\be_\bn_\bg_\bt_\bh is omitted, expands to the substring
of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br starting at the character specified by
_\bo_\bf_\bf_\bs_\be_\bt and extending to the end of the value. _\bl_\be_\bn_\bg_\bt_\bh and _\bo_\bf_\bf_\bs_\be_\bt
are arithmetic expressions (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN below).
- If _\bo_\bf_\bf_\bs_\be_\bt evaluates to a number less than zero, the value is
+ If _\bo_\bf_\bf_\bs_\be_\bt evaluates to a number less than zero, the value is
used as an offset in characters from the end of the value of _\bp_\ba_\b-
- _\br_\ba_\bm_\be_\bt_\be_\br. If _\bl_\be_\bn_\bg_\bt_\bh evaluates to a number less than zero, it is
+ _\br_\ba_\bm_\be_\bt_\be_\br. If _\bl_\be_\bn_\bg_\bt_\bh evaluates to a number less than zero, it is
interpreted as an offset in characters from the end of the value
- of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br rather than a number of characters, and the expan-
- sion is the characters between _\bo_\bf_\bf_\bs_\be_\bt and that result. Note
- that a negative offset must be separated from the colon by at
+ of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br rather than a number of characters, and the expan-
+ sion is the characters between _\bo_\bf_\bf_\bs_\be_\bt and that result. Note
+ that a negative offset must be separated from the colon by at
least one space to avoid being confused with the :\b:-\b- expansion.
- If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the result is _\bl_\be_\bn_\bg_\bt_\bh positional parame-
- ters beginning at _\bo_\bf_\bf_\bs_\be_\bt. A negative _\bo_\bf_\bf_\bs_\be_\bt is taken relative
- to one greater than the greatest positional parameter, so an
+ If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the result is _\bl_\be_\bn_\bg_\bt_\bh positional parame-
+ ters beginning at _\bo_\bf_\bf_\bs_\be_\bt. A negative _\bo_\bf_\bf_\bs_\be_\bt is taken relative
+ to one greater than the greatest positional parameter, so an
offset of -1 evaluates to the last positional parameter (or 0 if
- there are no positional parameters). It is an expansion error
+ there are no positional parameters). It is an expansion error
if _\bl_\be_\bn_\bg_\bt_\bh evaluates to a number less than zero.
If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an indexed array name subscripted by @ or *, the
result is the _\bl_\be_\bn_\bg_\bt_\bh members of the array beginning with ${_\bp_\ba_\br_\ba_\b-
- _\bm_\be_\bt_\be_\br[_\bo_\bf_\bf_\bs_\be_\bt]}. A negative _\bo_\bf_\bf_\bs_\be_\bt is taken relative to one
+ _\bm_\be_\bt_\be_\br[_\bo_\bf_\bf_\bs_\be_\bt]}. A negative _\bo_\bf_\bf_\bs_\be_\bt is taken relative to one
greater than the maximum index of the specified array. It is an
expansion error if _\bl_\be_\bn_\bg_\bt_\bh evaluates to a number less than zero.
Substring expansion applied to an associative array produces un-
defined results.
- Substring indexing is zero-based unless the positional parame-
- ters are used, in which case the indexing starts at 1 by de-
- fault. If _\bo_\bf_\bf_\bs_\be_\bt is 0, and the positional parameters are used,
+ Substring indexing is zero-based unless the positional parame-
+ ters are used, in which case the indexing starts at 1 by de-
+ fault. If _\bo_\bf_\bf_\bs_\be_\bt is 0, and the positional parameters are used,
$\b$0\b0 is prefixed to the list.
${!\b!_\bp_\br_\be_\bf_\bi_\bx*\b*}
${!\b!_\bp_\br_\be_\bf_\bi_\bx@\b@}
- N\bNa\bam\bme\bes\bs m\bma\bat\btc\bch\bhi\bin\bng\bg p\bpr\bre\bef\bfi\bix\bx. Expands to the names of variables whose
+ N\bNa\bam\bme\bes\bs m\bma\bat\btc\bch\bhi\bin\bng\bg p\bpr\bre\bef\bfi\bix\bx. Expands to the names of variables whose
names begin with _\bp_\br_\be_\bf_\bi_\bx, separated by the first character of the
- I\bIF\bFS\bS special variable. When _\b@ is used and the expansion appears
- within double quotes, each variable name expands to a separate
+ I\bIF\bFS\bS special variable. When _\b@ is used and the expansion appears
+ within double quotes, each variable name expands to a separate
word.
${!\b!_\bn_\ba_\bm_\be[_\b@]}
${!\b!_\bn_\ba_\bm_\be[_\b*]}
- L\bLi\bis\bst\bt o\bof\bf a\bar\brr\bra\bay\by k\bke\bey\bys\bs. If _\bn_\ba_\bm_\be is an array variable, expands to
- the list of array indices (keys) assigned in _\bn_\ba_\bm_\be. If _\bn_\ba_\bm_\be is
- not an array, expands to 0 if _\bn_\ba_\bm_\be is set and null otherwise.
- When _\b@ is used and the expansion appears within double quotes,
+ L\bLi\bis\bst\bt o\bof\bf a\bar\brr\bra\bay\by k\bke\bey\bys\bs. If _\bn_\ba_\bm_\be is an array variable, expands to
+ the list of array indices (keys) assigned in _\bn_\ba_\bm_\be. If _\bn_\ba_\bm_\be is
+ not an array, expands to 0 if _\bn_\ba_\bm_\be is set and null otherwise.
+ When _\b@ is used and the expansion appears within double quotes,
each key expands to a separate word.
${#\b#_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}
- P\bPa\bar\bra\bam\bme\bet\bte\ber\br l\ble\ben\bng\bgt\bth\bh. The length in characters of the value of _\bp_\ba_\b-
- _\br_\ba_\bm_\be_\bt_\be_\br is substituted. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is *\b* or @\b@, the value sub-
- stituted is the number of positional parameters. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+ P\bPa\bar\bra\bam\bme\bet\bte\ber\br l\ble\ben\bng\bgt\bth\bh. The length in characters of the value of _\bp_\ba_\b-
+ _\br_\ba_\bm_\be_\bt_\be_\br is substituted. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is *\b* or @\b@, the value sub-
+ stituted is the number of positional parameters. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
is an array name subscripted by *\b* or @\b@, the value substituted is
the number of elements in the array. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an indexed
- array name subscripted by a negative number, that number is in-
- terpreted as relative to one greater than the maximum index of
- _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, so negative indices count back from the end of the
+ array name subscripted by a negative number, that number is in-
+ terpreted as relative to one greater than the maximum index of
+ _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, so negative indices count back from the end of the
array, and an index of -1 references the last element.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br#\b#_\bw_\bo_\br_\bd}
R\bRe\bem\bmo\bov\bve\be m\bma\bat\btc\bch\bhi\bin\bng\bg p\bpr\bre\bef\bfi\bix\bx p\bpa\bat\btt\bte\ber\brn\bn. The _\bw_\bo_\br_\bd is expanded to produce
a pattern just as in pathname expansion, and matched against the
expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br using the rules described under P\bPa\bat\bt-\b-
- t\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg below. If the pattern matches the beginning of
- the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the result of the expansion is the
- expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with the shortest matching pattern
- (the "#" case) or the longest matching pattern (the "##" case)
- deleted. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the pattern removal operation
- is applied to each positional parameter in turn, and the expan-
- sion is the resultant list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable
- subscripted with @\b@ or *\b*, the pattern removal operation is ap-
- plied to each member of the array in turn, and the expansion is
+ t\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg below. If the pattern matches the beginning of
+ the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the result of the expansion is the
+ expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with the shortest matching pattern
+ (the "#" case) or the longest matching pattern (the "##" case)
+ deleted. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the pattern removal operation
+ is applied to each positional parameter in turn, and the expan-
+ sion is the resultant list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable
+ subscripted with @\b@ or *\b*, the pattern removal operation is ap-
+ plied to each member of the array in turn, and the expansion is
the resultant list.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br%\b%_\bw_\bo_\br_\bd}
R\bRe\bem\bmo\bov\bve\be m\bma\bat\btc\bch\bhi\bin\bng\bg s\bsu\buf\bff\bfi\bix\bx p\bpa\bat\btt\bte\ber\brn\bn. The _\bw_\bo_\br_\bd is expanded to produce
a pattern just as in pathname expansion, and matched against the
expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br using the rules described under P\bPa\bat\bt-\b-
- t\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg below. If the pattern matches a trailing portion
- of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the result of the ex-
- pansion is the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with the shortest
- matching pattern (the "%" case) or the longest matching pattern
- (the "%%" case) deleted. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the pattern
- removal operation is applied to each positional parameter in
- turn, and the expansion is the resultant list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is
- an array variable subscripted with @\b@ or *\b*, the pattern removal
- operation is applied to each member of the array in turn, and
+ t\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg below. If the pattern matches a trailing portion
+ of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br, then the result of the ex-
+ pansion is the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with the shortest
+ matching pattern (the "%" case) or the longest matching pattern
+ (the "%%" case) deleted. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the pattern
+ removal operation is applied to each positional parameter in
+ turn, and the expansion is the resultant list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is
+ an array variable subscripted with @\b@ or *\b*, the pattern removal
+ operation is applied to each member of the array in turn, and
the expansion is the resultant list.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br/\b/_\bp_\ba_\bt_\bt_\be_\br_\bn/\b/_\bs_\bt_\br_\bi_\bn_\bg}
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br/\b/#\b#_\bp_\ba_\bt_\bt_\be_\br_\bn/\b/_\bs_\bt_\br_\bi_\bn_\bg}
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br/\b/%\b%_\bp_\ba_\bt_\bt_\be_\br_\bn/\b/_\bs_\bt_\br_\bi_\bn_\bg}
P\bPa\bat\btt\bte\ber\brn\bn s\bsu\bub\bbs\bst\bti\bit\btu\but\bti\bio\bon\bn. The _\bp_\ba_\bt_\bt_\be_\br_\bn is expanded to produce a pat-
- tern just as in pathname expansion. _\bP_\ba_\br_\ba_\bm_\be_\bt_\be_\br is expanded and
- the longest match of _\bp_\ba_\bt_\bt_\be_\br_\bn against its value is replaced with
- _\bs_\bt_\br_\bi_\bn_\bg. _\bs_\bt_\br_\bi_\bn_\bg undergoes tilde expansion, parameter and vari-
- able expansion, arithmetic expansion, command and process sub-
- stitution, and quote removal. The match is performed using the
+ tern just as in pathname expansion. _\bP_\ba_\br_\ba_\bm_\be_\bt_\be_\br is expanded and
+ the longest match of _\bp_\ba_\bt_\bt_\be_\br_\bn against its value is replaced with
+ _\bs_\bt_\br_\bi_\bn_\bg. _\bs_\bt_\br_\bi_\bn_\bg undergoes tilde expansion, parameter and vari-
+ able expansion, arithmetic expansion, command and process sub-
+ stitution, and quote removal. The match is performed using the
rules described under P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg below. In the first form
- above, only the first match is replaced. If there are two
+ above, only the first match is replaced. If there are two
slashes separating _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br and _\bp_\ba_\bt_\bt_\be_\br_\bn (the second form
- above), all matches of _\bp_\ba_\bt_\bt_\be_\br_\bn are replaced with _\bs_\bt_\br_\bi_\bn_\bg. If
- _\bp_\ba_\bt_\bt_\be_\br_\bn is preceded by #\b# (the third form above), it must match
+ above), all matches of _\bp_\ba_\bt_\bt_\be_\br_\bn are replaced with _\bs_\bt_\br_\bi_\bn_\bg. If
+ _\bp_\ba_\bt_\bt_\be_\br_\bn is preceded by #\b# (the third form above), it must match
at the beginning of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br. If _\bp_\ba_\bt_\bt_\be_\br_\bn
- is preceded by %\b% (the fourth form above), it must match at the
- end of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br. If the expansion of
- _\bs_\bt_\br_\bi_\bn_\bg is null, matches of _\bp_\ba_\bt_\bt_\be_\br_\bn are deleted. If _\bs_\bt_\br_\bi_\bn_\bg is
+ is preceded by %\b% (the fourth form above), it must match at the
+ end of the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br. If the expansion of
+ _\bs_\bt_\br_\bi_\bn_\bg is null, matches of _\bp_\ba_\bt_\bt_\be_\br_\bn are deleted. If _\bs_\bt_\br_\bi_\bn_\bg is
null, matches of _\bp_\ba_\bt_\bt_\be_\br_\bn are deleted and the /\b/ following _\bp_\ba_\bt_\bt_\be_\br_\bn
may be omitted.
- If the p\bpa\bat\bts\bsu\bub\bb_\b_r\bre\bep\bpl\bla\bac\bce\bem\bme\ben\bnt\bt shell option is enabled using s\bsh\bho\bop\bpt\bt,
- any unquoted instances of &\b& in _\bs_\bt_\br_\bi_\bn_\bg are replaced with the
+ If the p\bpa\bat\bts\bsu\bub\bb_\b_r\bre\bep\bpl\bla\bac\bce\bem\bme\ben\bnt\bt shell option is enabled using s\bsh\bho\bop\bpt\bt,
+ any unquoted instances of &\b& in _\bs_\bt_\br_\bi_\bn_\bg are replaced with the
matching portion of _\bp_\ba_\bt_\bt_\be_\br_\bn.
Quoting any part of _\bs_\bt_\br_\bi_\bn_\bg inhibits replacement in the expansion
- of the quoted portion, including replacement strings stored in
- shell variables. Backslash will escape &\b& in _\bs_\bt_\br_\bi_\bn_\bg; the back-
- slash is removed in order to permit a literal &\b& in the replace-
- ment string. Backslash can also be used to escape a backslash;
- \\b\\\b\ results in a literal backslash in the replacement. Users
- should take care if _\bs_\bt_\br_\bi_\bn_\bg is double-quoted to avoid unwanted
- interactions between the backslash and double-quoting, since
- backslash has special meaning within double quotes. Pattern
- substitution performs the check for unquoted &\b& after expanding
+ of the quoted portion, including replacement strings stored in
+ shell variables. Backslash will escape &\b& in _\bs_\bt_\br_\bi_\bn_\bg; the back-
+ slash is removed in order to permit a literal &\b& in the replace-
+ ment string. Backslash can also be used to escape a backslash;
+ \\b\\\b\ results in a literal backslash in the replacement. Users
+ should take care if _\bs_\bt_\br_\bi_\bn_\bg is double-quoted to avoid unwanted
+ interactions between the backslash and double-quoting, since
+ backslash has special meaning within double quotes. Pattern
+ substitution performs the check for unquoted &\b& after expanding
_\bs_\bt_\br_\bi_\bn_\bg; shell programmers should quote any occurrences of &\b& they
want to be taken literally in the replacement and ensure any in-
stances of &\b& they want to be replaced are unquoted.
- If the n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh shell option is enabled, the match is per-
- formed without regard to the case of alphabetic characters. If
- _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the substitution operation is applied to
- each positional parameter in turn, and the expansion is the re-
- sultant list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted
- with @\b@ or *\b*, the substitution operation is applied to each mem-
- ber of the array in turn, and the expansion is the resultant
+ If the n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh shell option is enabled, the match is per-
+ formed without regard to the case of alphabetic characters. If
+ _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the substitution operation is applied to
+ each positional parameter in turn, and the expansion is the re-
+ sultant list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted
+ with @\b@ or *\b*, the substitution operation is applied to each mem-
+ ber of the array in turn, and the expansion is the resultant
list.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br^\b^_\bp_\ba_\bt_\bt_\be_\br_\bn}
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br^\b^^\b^_\bp_\ba_\bt_\bt_\be_\br_\bn}
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br,\b,_\bp_\ba_\bt_\bt_\be_\br_\bn}
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br,\b,,\b,_\bp_\ba_\bt_\bt_\be_\br_\bn}
- C\bCa\bas\bse\be m\bmo\bod\bdi\bif\bfi\bic\bca\bat\bti\bio\bon\bn. This expansion modifies the case of alpha-
- betic characters in _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br. The _\bp_\ba_\bt_\bt_\be_\br_\bn is expanded to pro-
+ C\bCa\bas\bse\be m\bmo\bod\bdi\bif\bfi\bic\bca\bat\bti\bio\bon\bn. This expansion modifies the case of alpha-
+ betic characters in _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br. The _\bp_\ba_\bt_\bt_\be_\br_\bn is expanded to pro-
duce a pattern just as in pathname expansion. Each character in
- the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is tested against _\bp_\ba_\bt_\bt_\be_\br_\bn, and,
- if it matches the pattern, its case is converted. The pattern
- should not attempt to match more than one character. The ^\b^ op-
+ the expanded value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is tested against _\bp_\ba_\bt_\bt_\be_\br_\bn, and,
+ if it matches the pattern, its case is converted. The pattern
+ should not attempt to match more than one character. The ^\b^ op-
erator converts lowercase letters matching _\bp_\ba_\bt_\bt_\be_\br_\bn to uppercase;
the ,\b, operator converts matching uppercase letters to lowercase.
- The ^\b^^\b^ and ,\b,,\b, expansions convert each matched character in the
- expanded value; the ^\b^ and ,\b, expansions match and convert only
- the first character in the expanded value. If _\bp_\ba_\bt_\bt_\be_\br_\bn is omit-
- ted, it is treated like a ?\b?, which matches every character. If
- _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the case modification operation is applied
- to each positional parameter in turn, and the expansion is the
- resultant list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted
- with @\b@ or *\b*, the case modification operation is applied to each
- member of the array in turn, and the expansion is the resultant
+ The ^\b^^\b^ and ,\b,,\b, expansions convert each matched character in the
+ expanded value; the ^\b^ and ,\b, expansions match and convert only
+ the first character in the expanded value. If _\bp_\ba_\bt_\bt_\be_\br_\bn is omit-
+ ted, it is treated like a ?\b?, which matches every character. If
+ _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the case modification operation is applied
+ to each positional parameter in turn, and the expansion is the
+ resultant list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted
+ with @\b@ or *\b*, the case modification operation is applied to each
+ member of the array in turn, and the expansion is the resultant
list.
${_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br@\b@_\bo_\bp_\be_\br_\ba_\bt_\bo_\br}
P\bPa\bar\bra\bam\bme\bet\bte\ber\br t\btr\bra\ban\bns\bsf\bfo\bor\brm\bma\bat\bti\bio\bon\bn. The expansion is either a transforma-
- tion of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br or information about _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
- itself, depending on the value of _\bo_\bp_\be_\br_\ba_\bt_\bo_\br. Each _\bo_\bp_\be_\br_\ba_\bt_\bo_\br is a
+ tion of the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br or information about _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+ itself, depending on the value of _\bo_\bp_\be_\br_\ba_\bt_\bo_\br. Each _\bo_\bp_\be_\br_\ba_\bt_\bo_\br is a
single letter:
- U\bU The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
- with lowercase alphabetic characters converted to upper-
+ U\bU The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+ with lowercase alphabetic characters converted to upper-
case.
- u\bu The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+ u\bu The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
with the first character converted to uppercase, if it is
alphabetic.
- L\bL The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
- with uppercase alphabetic characters converted to lower-
+ L\bL The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+ with uppercase alphabetic characters converted to lower-
case.
- Q\bQ The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+ Q\bQ The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
quoted in a format that can be reused as input.
- E\bE The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
- with backslash escape sequences expanded as with the
+ E\bE The expansion is a string that is the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br
+ with backslash escape sequences expanded as with the
$\b$'\b'...'\b' quoting mechanism.
P\bP The expansion is a string that is the result of expanding
the value of _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br as if it were a prompt string (see
P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG below).
- A\bA The expansion is a string in the form of an assignment
- statement or d\bde\bec\bcl\bla\bar\bre\be command that, if evaluated, will
+ A\bA The expansion is a string in the form of an assignment
+ statement or d\bde\bec\bcl\bla\bar\bre\be command that, if evaluated, will
recreate _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br with its attributes and value.
- K\bK Produces a possibly-quoted version of the value of _\bp_\ba_\br_\ba_\b-
- _\bm_\be_\bt_\be_\br, except that it prints the values of indexed and
- associative arrays as a sequence of quoted key-value
+ K\bK Produces a possibly-quoted version of the value of _\bp_\ba_\br_\ba_\b-
+ _\bm_\be_\bt_\be_\br, except that it prints the values of indexed and
+ associative arrays as a sequence of quoted key-value
pairs (see A\bAr\brr\bra\bay\bys\bs above). The keys and values are quoted
in a format that can be reused as input.
- a\ba The expansion is a string consisting of flag values rep-
+ a\ba The expansion is a string consisting of flag values rep-
resenting _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br's attributes.
- k\bk Like the K transformation, but expands the keys and val-
- ues of indexed and associative arrays to separate words
+ k\bk Like the K transformation, but expands the keys and val-
+ ues of indexed and associative arrays to separate words
after word splitting.
- If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the operation is applied to each posi-
- tional parameter in turn, and the expansion is the resultant
- list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted with @\b@ or
+ If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is @\b@ or *\b*, the operation is applied to each posi-
+ tional parameter in turn, and the expansion is the resultant
+ list. If _\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br is an array variable subscripted with @\b@ or
*\b*, the operation is applied to each member of the array in turn,
and the expansion is the resultant list.
- The result of the expansion is subject to word splitting and
+ The result of the expansion is subject to word splitting and
pathname expansion as described below.
C\bCo\bom\bmm\bma\ban\bnd\bd S\bSu\bub\bbs\bst\bti\bit\btu\but\bti\bio\bon\bn
B\bBa\bas\bsh\bh performs the expansion by executing _\bc_\bo_\bm_\bm_\ba_\bn_\bd in a subshell environ-
ment and replacing the command substitution with the standard output of
the command, with any trailing newlines deleted. Embedded newlines are
- not deleted, but they may be removed during word splitting. The com-
- mand substitution $\b$(\b(c\bca\bat\bt _\bf_\bi_\bl_\be)\b) can be replaced by the equivalent but
+ not deleted, but they may be removed during word splitting. The com-
+ mand substitution $\b$(\b(c\bca\bat\bt _\bf_\bi_\bl_\be)\b) can be replaced by the equivalent but
faster $\b$(\b(<\b< _\bf_\bi_\bl_\be)\b).
- With the old-style backquote form of substitution, backslash retains
- its literal meaning except when followed by $\b$, `\b`, or \\b\. The first
- backquote not preceded by a backslash terminates the command substitu-
- tion. When using the $(_\bc_\bo_\bm_\bm_\ba_\bn_\bd) form, all characters between the
+ With the old-style backquote form of substitution, backslash retains
+ its literal meaning except when followed by $\b$, `\b`, or \\b\. The first
+ backquote not preceded by a backslash terminates the command substitu-
+ tion. When using the $(_\bc_\bo_\bm_\bm_\ba_\bn_\bd) form, all characters between the
parentheses make up the command; none are treated specially.
There is an alternate form of command substitution:
$\b${\b{_\bc _\bc_\bo_\bm_\bm_\ba_\bn_\bd;\b;}\b}
- which executes _\bc_\bo_\bm_\bm_\ba_\bn_\bd in the current execution environment and cap-
+ which executes _\bc_\bo_\bm_\bm_\ba_\bn_\bd in the current execution environment and cap-
tures its output, again with trailing newlines removed.
The character _\bc following the open brace must be a space, tab, newline,
- or |\b|, and the close brace must be in a position where a reserved word
- may appear (i.e., preceded by a command terminator such as semicolon).
+ or |\b|, and the close brace must be in a position where a reserved word
+ may appear (i.e., preceded by a command terminator such as semicolon).
B\bBa\bas\bsh\bh allows the close brace to be joined to the remaining characters in
- the word without being followed by a shell metacharacter as a reserved
+ the word without being followed by a shell metacharacter as a reserved
word would usually require.
Any side effects of _\bc_\bo_\bm_\bm_\ba_\bn_\bd take effect immediately in the current exe-
- cution environment and persist in the current environment after the
+ cution environment and persist in the current environment after the
command completes (e.g., the e\bex\bxi\bit\bt builtin will exit the shell).
- This type of command substitution superficially resembles executing an
- unnamed shell function: local variables are created as when a shell
- function is executing, and the r\bre\bet\btu\bur\brn\bn builtin forces _\bc_\bo_\bm_\bm_\ba_\bn_\bd to com-
- plete; however, the rest of the execution environment, including the
+ This type of command substitution superficially resembles executing an
+ unnamed shell function: local variables are created as when a shell
+ function is executing, and the r\bre\bet\btu\bur\brn\bn builtin forces _\bc_\bo_\bm_\bm_\ba_\bn_\bd to com-
+ plete; however, the rest of the execution environment, including the
positional parameters, is shared with the caller.
- If the first character following the open brace is a |\b|, the construct
- expands to the value of the R\bRE\bEP\bPL\bLY\bY shell variable after _\bc_\bo_\bm_\bm_\ba_\bn_\bd exe-
- cutes, without removing any trailing newlines, and the standard output
- of _\bc_\bo_\bm_\bm_\ba_\bn_\bd remains the same as in the calling shell. B\bBa\bas\bsh\bh creates R\bRE\bE-\b-
+ If the first character following the open brace is a |\b|, the construct
+ expands to the value of the R\bRE\bEP\bPL\bLY\bY shell variable after _\bc_\bo_\bm_\bm_\ba_\bn_\bd exe-
+ cutes, without removing any trailing newlines, and the standard output
+ of _\bc_\bo_\bm_\bm_\ba_\bn_\bd remains the same as in the calling shell. B\bBa\bas\bsh\bh creates R\bRE\bE-\b-
P\bPL\bLY\bY as an initially-unset local variable when _\bc_\bo_\bm_\bm_\ba_\bn_\bd executes, and re-
- stores R\bRE\bEP\bPL\bLY\bY to the value it had before the command substitution after
+ stores R\bRE\bEP\bPL\bLY\bY to the value it had before the command substitution after
_\bc_\bo_\bm_\bm_\ba_\bn_\bd completes, as with any local variable.
Command substitutions may be nested. To nest when using the backquoted
word splitting and pathname expansion on the results.
A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
- Arithmetic expansion allows the evaluation of an arithmetic expression
- and the substitution of the result. The format for arithmetic expan-
+ Arithmetic expansion allows the evaluation of an arithmetic expression
+ and the substitution of the result. The format for arithmetic expan-
sion is:
$\b$(\b((\b(_\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn)\b))\b)
- The _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn undergoes the same expansions as if it were within dou-
- ble quotes, but double quote characters in _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn are not treated
- specially and are removed. All tokens in the expression undergo para-
- meter and variable expansion, command substitution, and quote removal.
- The result is treated as the arithmetic expression to be evaluated.
+ The _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn undergoes the same expansions as if it were within dou-
+ ble quotes, but double quote characters in _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn are not treated
+ specially and are removed. All tokens in the expression undergo para-
+ meter and variable expansion, command substitution, and quote removal.
+ The result is treated as the arithmetic expression to be evaluated.
Arithmetic expansions may be nested.
- The evaluation is performed according to the rules listed below under
+ The evaluation is performed according to the rules listed below under
A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN. If _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn is invalid, b\bba\bas\bsh\bh prints a message
indicating failure and no substitution occurs.
P\bPr\bro\boc\bce\bes\bss\bs S\bSu\bub\bbs\bst\bti\bit\btu\but\bti\bio\bon\bn
- _\bP_\br_\bo_\bc_\be_\bs_\bs _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn allows a process's input or output to be referred
- to using a filename. It takes the form of <\b<(\b(_\bl_\bi_\bs_\bt)\b) or >\b>(\b(_\bl_\bi_\bs_\bt)\b). The
- process _\bl_\bi_\bs_\bt is run asynchronously, and its input or output appears as
+ _\bP_\br_\bo_\bc_\be_\bs_\bs _\bs_\bu_\bb_\bs_\bt_\bi_\bt_\bu_\bt_\bi_\bo_\bn allows a process's input or output to be referred
+ to using a filename. It takes the form of <\b<(\b(_\bl_\bi_\bs_\bt)\b) or >\b>(\b(_\bl_\bi_\bs_\bt)\b). The
+ process _\bl_\bi_\bs_\bt is run asynchronously, and its input or output appears as
a filename. This filename is passed as an argument to the current com-
- mand as the result of the expansion. If the >\b>(\b(_\bl_\bi_\bs_\bt)\b) form is used,
- writing to the file will provide input for _\bl_\bi_\bs_\bt. If the <\b<(\b(_\bl_\bi_\bs_\bt)\b) form
- is used, the file passed as an argument should be read to obtain the
+ mand as the result of the expansion. If the >\b>(\b(_\bl_\bi_\bs_\bt)\b) form is used,
+ writing to the file will provide input for _\bl_\bi_\bs_\bt. If the <\b<(\b(_\bl_\bi_\bs_\bt)\b) form
+ is used, the file passed as an argument should be read to obtain the
output of _\bl_\bi_\bs_\bt. Process substitution is supported on systems that sup-
port named pipes (_\bF_\bI_\bF_\bO_\bs) or the /\b/d\bde\bev\bv/\b/f\bfd\bd method of naming open files.
- When available, process substitution is performed simultaneously with
- parameter and variable expansion, command substitution, and arithmetic
+ When available, process substitution is performed simultaneously with
+ parameter and variable expansion, command substitution, and arithmetic
expansion.
W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg
- The shell scans the results of parameter expansion, command substitu-
- tion, and arithmetic expansion that did not occur within double quotes
+ The shell scans the results of parameter expansion, command substitu-
+ tion, and arithmetic expansion that did not occur within double quotes
for _\bw_\bo_\br_\bd _\bs_\bp_\bl_\bi_\bt_\bt_\bi_\bn_\bg.
- The shell treats each character of I\bIF\bFS\bS as a delimiter, and splits the
- results of the other expansions into words using these characters as
+ The shell treats each character of I\bIF\bFS\bS as a delimiter, and splits the
+ results of the other expansions into words using these characters as
field terminators.
If I\bIF\bFS\bS is unset, or its value is exactly <\b<s\bsp\bpa\bac\bce\be>\b><\b<t\bta\bab\bb>\b><\b<n\bne\bew\bwl\bli\bin\bne\be>\b>, the de-
- fault, then sequences of s\bsp\bpa\bac\bce\be, t\bta\bab\bb, and n\bne\bew\bwl\bli\bin\bne\be at the beginning and
- end of the results of the previous expansions are ignored, and any se-
- quence of I\bIF\bFS\bS characters not at the beginning or end serves to delimit
- words. If I\bIF\bFS\bS has a value other than the default, then sequences of
- the whitespace characters s\bsp\bpa\bac\bce\be, t\bta\bab\bb, and n\bne\bew\bwl\bli\bin\bne\be are ignored at the
- beginning and end of the word, as long as the whitespace character is
- in the value of I\bIF\bFS\bS (an I\bIF\bFS\bS whitespace character). Any character in
- I\bIF\bFS\bS that is not I\bIF\bFS\bS whitespace, along with any adjacent I\bIF\bFS\bS whitespace
- characters, delimits a field. A sequence of I\bIF\bFS\bS whitespace characters
+ fault, then sequences of s\bsp\bpa\bac\bce\be, t\bta\bab\bb, and n\bne\bew\bwl\bli\bin\bne\be at the beginning and
+ end of the results of the previous expansions are ignored, and any se-
+ quence of I\bIF\bFS\bS characters not at the beginning or end serves to delimit
+ words. If I\bIF\bFS\bS has a value other than the default, then sequences of
+ the whitespace characters s\bsp\bpa\bac\bce\be, t\bta\bab\bb, and n\bne\bew\bwl\bli\bin\bne\be are ignored at the
+ beginning and end of the word, as long as the whitespace character is
+ in the value of I\bIF\bFS\bS (an I\bIF\bFS\bS whitespace character). Any character in
+ I\bIF\bFS\bS that is not I\bIF\bFS\bS whitespace, along with any adjacent I\bIF\bFS\bS whitespace
+ characters, delimits a field. A sequence of I\bIF\bFS\bS whitespace characters
is also treated as a delimiter.
- If the value of I\bIF\bFS\bS is null, no word splitting occurs. If I\bIF\bFS\bS is un-
- set, word splitting behaves as if it contained the default value of
+ If the value of I\bIF\bFS\bS is null, no word splitting occurs. If I\bIF\bFS\bS is un-
+ set, word splitting behaves as if it contained the default value of
<\b<s\bsp\bpa\bac\bce\be>\b><\b<t\bta\bab\bb>\b><\b<n\bne\bew\bwl\bli\bin\bne\be>\b>.
- Explicit null arguments ("\b""\b" or '\b''\b') are retained and passed to commands
+ Explicit null arguments ("\b""\b" or '\b''\b') are retained and passed to commands
as empty strings. Unquoted implicit null arguments, resulting from the
expansion of parameters that have no values, are removed. If a parame-
ter with no value is expanded within double quotes, a null argument re-
sults and is retained and passed to a command as an empty string. When
- a quoted null argument appears as part of a word whose expansion is
- non-null, the null argument is removed. That is, the word "-d''" be-
+ a quoted null argument appears as part of a word whose expansion is
+ non-null, the null argument is removed. That is, the word "-d''" be-
comes "-d" after word splitting and null argument removal.
Note that if no expansion occurs, no splitting is performed.
P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
- After word splitting, unless the -\b-f\bf option has been set, b\bba\bas\bsh\bh scans
- each word for the characters *\b*, ?\b?, and [\b[. If one of these characters
+ After word splitting, unless the -\b-f\bf option has been set, b\bba\bas\bsh\bh scans
+ each word for the characters *\b*, ?\b?, and [\b[. If one of these characters
appears, and is not quoted, then the word is regarded as a _\bp_\ba_\bt_\bt_\be_\br_\bn, and
- replaced with an alphabetically sorted list of filenames matching the
- pattern (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg below). If no matching filenames are
- found, and the shell option n\bnu\bul\bll\blg\bgl\blo\bob\bb is not enabled, the word is left
- unchanged. If the n\bnu\bul\bll\blg\bgl\blo\bob\bb option is set, and no matches are found,
- the word is removed. If the f\bfa\bai\bil\blg\bgl\blo\bob\bb shell option is set, and no
- matches are found, an error message is printed and the command is not
+ replaced with an alphabetically sorted list of filenames matching the
+ pattern (see P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg below). If no matching filenames are
+ found, and the shell option n\bnu\bul\bll\blg\bgl\blo\bob\bb is not enabled, the word is left
+ unchanged. If the n\bnu\bul\bll\blg\bgl\blo\bob\bb option is set, and no matches are found,
+ the word is removed. If the f\bfa\bai\bil\blg\bgl\blo\bob\bb shell option is set, and no
+ matches are found, an error message is printed and the command is not
executed. If the shell option n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb is enabled, the match is per-
- formed without regard to the case of alphabetic characters. When a
- pattern is used for pathname expansion, the character "." at the start
- of a name or immediately following a slash must be matched explicitly,
- unless the shell option d\bdo\bot\btg\bgl\blo\bob\bb is set. In order to match the file-
- names "." and "..", the pattern must begin with "." (for example,
+ formed without regard to the case of alphabetic characters. When a
+ pattern is used for pathname expansion, the character "." at the start
+ of a name or immediately following a slash must be matched explicitly,
+ unless the shell option d\bdo\bot\btg\bgl\blo\bob\bb is set. In order to match the file-
+ names "." and "..", the pattern must begin with "." (for example,
".?"), even if d\bdo\bot\btg\bgl\blo\bob\bb is set. If the g\bgl\blo\bob\bbs\bsk\bki\bip\bpd\bdo\bot\bts\bs shell option is en-
- abled, the filenames "." and ".." never match, even if the pattern be-
- gins with a "." When not matching pathnames, the "." character is not
- treated specially. When matching a pathname, the slash character must
- always be matched explicitly by a slash in the pattern, but in other
- matching contexts it can be matched by a special pattern character as
- described below under P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg. See the description of s\bsh\bho\bop\bpt\bt
+ abled, the filenames "." and ".." never match, even if the pattern be-
+ gins with a "." When not matching pathnames, the "." character is not
+ treated specially. When matching a pathname, the slash character must
+ always be matched explicitly by a slash in the pattern, but in other
+ matching contexts it can be matched by a special pattern character as
+ described below under P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg. See the description of s\bsh\bho\bop\bpt\bt
below under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS for a description of the n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb,
n\bnu\bul\bll\blg\bgl\blo\bob\bb, g\bgl\blo\bob\bbs\bsk\bki\bip\bpd\bdo\bot\bts\bs, f\bfa\bai\bil\blg\bgl\blo\bob\bb, and d\bdo\bot\btg\bgl\blo\bob\bb shell options.
- The G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable may be used to restrict the set of file
- names matching a _\bp_\ba_\bt_\bt_\be_\br_\bn. If G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is set, each matching file
- name that also matches one of the patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is removed
- from the list of matches. If the n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb option is set, the match-
- ing against the patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is performed without regard to
+ The G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable may be used to restrict the set of file
+ names matching a _\bp_\ba_\bt_\bt_\be_\br_\bn. If G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is set, each matching file
+ name that also matches one of the patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is removed
+ from the list of matches. If the n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb option is set, the match-
+ ing against the patterns in G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is performed without regard to
case. The filenames "." and ".." are always ignored when G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is
- set and not null. However, setting G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE to a non-null value has
+ set and not null. However, setting G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE to a non-null value has
the effect of enabling the d\bdo\bot\btg\bgl\blo\bob\bb shell option, so all other filenames
- beginning with a Q . will match. To get the old behavior of ignoring
- filenames beginning with a ".", make ".*" one of the patterns in G\bGL\bLO\bO-\b-
+ beginning with a Q . will match. To get the old behavior of ignoring
+ filenames beginning with a ".", make ".*" one of the patterns in G\bGL\bLO\bO-\b-
B\bBI\bIG\bGN\bNO\bOR\bRE\bE. The d\bdo\bot\btg\bgl\blo\bob\bb option is disabled when G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE is unset. The
pattern matching honors the setting of the e\bex\bxt\btg\bgl\blo\bob\bb shell option.
- The G\bGL\bLO\bOB\bBS\bSO\bOR\bRT\bT variable controls how the results of pathname expansion
+ The G\bGL\bLO\bOB\bBS\bSO\bOR\bRT\bT variable controls how the results of pathname expansion
are sorted, as described above.
P\bPa\bat\btt\bte\ber\brn\bn M\bMa\bat\btc\bch\bhi\bin\bng\bg
Any character that appears in a pattern, other than the special pattern
- characters described below, matches itself. The NUL character may not
- occur in a pattern. A backslash escapes the following character; the
- escaping backslash is discarded when matching. The special pattern
+ characters described below, matches itself. The NUL character may not
+ occur in a pattern. A backslash escapes the following character; the
+ escaping backslash is discarded when matching. The special pattern
characters must be quoted if they are to be matched literally.
The special pattern characters have the following meanings:
- *\b* Matches any string, including the null string. When the
- g\bgl\blo\bob\bbs\bst\bta\bar\br shell option is enabled, and *\b* is used in a
- pathname expansion context, two adjacent *\b*s used as a
- single pattern will match all files and zero or more di-
- rectories and subdirectories. If followed by a /\b/, two
- adjacent *\b*s will match only directories and subdirecto-
+ *\b* Matches any string, including the null string. When the
+ g\bgl\blo\bob\bbs\bst\bta\bar\br shell option is enabled, and *\b* is used in a
+ pathname expansion context, two adjacent *\b*s used as a
+ single pattern will match all files and zero or more di-
+ rectories and subdirectories. If followed by a /\b/, two
+ adjacent *\b*s will match only directories and subdirecto-
ries.
?\b? Matches any single character.
- [\b[...]\b] Matches any one of the enclosed characters. A pair of
- characters separated by a hyphen denotes a _\br_\ba_\bn_\bg_\be _\be_\bx_\bp_\br_\be_\bs_\b-
- _\bs_\bi_\bo_\bn; any character that falls between those two charac-
+ [\b[...]\b] Matches any one of the enclosed characters. A pair of
+ characters separated by a hyphen denotes a _\br_\ba_\bn_\bg_\be _\be_\bx_\bp_\br_\be_\bs_\b-
+ _\bs_\bi_\bo_\bn; any character that falls between those two charac-
ters, inclusive, using the current locale's collating se-
quence and character set, is matched. If the first char-
- acter following the [\b[ is a !\b! or a ^\b^ then any character
+ acter following the [\b[ is a !\b! or a ^\b^ then any character
not enclosed is matched. The sorting order of characters
- in range expressions, and the characters included in the
- range, are determined by the current locale and the val-
- ues of the L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE or L\bLC\bC_\b_A\bAL\bLL\bL shell variables, if set.
+ in range expressions, and the characters included in the
+ range, are determined by the current locale and the val-
+ ues of the L\bLC\bC_\b_C\bCO\bOL\bLL\bLA\bAT\bTE\bE or L\bLC\bC_\b_A\bAL\bLL\bL shell variables, if set.
To obtain the traditional interpretation of range expres-
- sions, where [\b[a\ba-\b-d\bd]\b] is equivalent to [\b[a\bab\bbc\bcd\bd]\b], set value of
- the L\bLC\bC_\b_A\bAL\bLL\bL shell variable to C\bC, or enable the g\bgl\blo\bob\bba\bas\bsc\bci\bi-\b-
+ sions, where [\b[a\ba-\b-d\bd]\b] is equivalent to [\b[a\bab\bbc\bcd\bd]\b], set value of
+ the L\bLC\bC_\b_A\bAL\bLL\bL shell variable to C\bC, or enable the g\bgl\blo\bob\bba\bas\bsc\bci\bi-\b-
i\bir\bra\ban\bng\bge\bes\bs shell option. A -\b- may be matched by including it
- as the first or last character in the set. A ]\b] may be
- matched by including it as the first character in the
+ as the first or last character in the set. A ]\b] may be
+ matched by including it as the first character in the
set.
- Within [\b[ and ]\b], _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br _\bc_\bl_\ba_\bs_\bs_\be_\bs can be specified using
+ Within [\b[ and ]\b], _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br _\bc_\bl_\ba_\bs_\bs_\be_\bs can be specified using
the syntax [\b[:\b:_\bc_\bl_\ba_\bs_\bs:\b:]\b], where _\bc_\bl_\ba_\bs_\bs is one of the following
classes defined in the POSIX standard:
- a\bal\bln\bnu\bum\bm a\bal\blp\bph\bha\ba a\bas\bsc\bci\bii\bi b\bbl\bla\ban\bnk\bk c\bcn\bnt\btr\brl\bl d\bdi\big\bgi\bit\bt g\bgr\bra\bap\bph\bh l\blo\bow\bwe\ber\br p\bpr\bri\bin\bnt\bt
+ a\bal\bln\bnu\bum\bm a\bal\blp\bph\bha\ba a\bas\bsc\bci\bii\bi b\bbl\bla\ban\bnk\bk c\bcn\bnt\btr\brl\bl d\bdi\big\bgi\bit\bt g\bgr\bra\bap\bph\bh l\blo\bow\bwe\ber\br p\bpr\bri\bin\bnt\bt
p\bpu\bun\bnc\bct\bt s\bsp\bpa\bac\bce\be u\bup\bpp\bpe\ber\br w\bwo\bor\brd\bd x\bxd\bdi\big\bgi\bit\bt
A character class matches any character belonging to that
and the character _.
Within [\b[ and ]\b], an _\be_\bq_\bu_\bi_\bv_\ba_\bl_\be_\bn_\bc_\be _\bc_\bl_\ba_\bs_\bs can be specified us-
- ing the syntax [\b[=\b=_\bc=\b=]\b], which matches all characters with
- the same collation weight (as defined by the current lo-
+ ing the syntax [\b[=\b=_\bc=\b=]\b], which matches all characters with
+ the same collation weight (as defined by the current lo-
cale) as the character _\bc.
Within [\b[ and ]\b], the syntax [\b[.\b._\bs_\by_\bm_\bb_\bo_\bl.\b.]\b] matches the collat-
ing symbol _\bs_\by_\bm_\bb_\bo_\bl.
- If the e\bex\bxt\btg\bgl\blo\bob\bb shell option is enabled using the s\bsh\bho\bop\bpt\bt builtin, the
- shell recognizes several extended pattern matching operators. In the
+ If the e\bex\bxt\btg\bgl\blo\bob\bb shell option is enabled using the s\bsh\bho\bop\bpt\bt builtin, the
+ shell recognizes several extended pattern matching operators. In the
following description, a _\bp_\ba_\bt_\bt_\be_\br_\bn_\b-_\bl_\bi_\bs_\bt is a list of one or more patterns
- separated by a |\b|. Composite patterns may be formed using one or more
+ separated by a |\b|. Composite patterns may be formed using one or more
of the following sub-patterns:
?\b?(\b(_\bp_\ba_\bt_\bt_\be_\br_\bn_\b-_\bl_\bi_\bs_\bt)\b)
Matches anything except one of the given patterns
The e\bex\bxt\btg\bgl\blo\bob\bb option changes the behavior of the parser, since the paren-
- theses are normally treated as operators with syntactic meaning. To
- ensure that extended matching patterns are parsed correctly, make sure
- that e\bex\bxt\btg\bgl\blo\bob\bb is enabled before parsing constructs containing the pat-
+ theses are normally treated as operators with syntactic meaning. To
+ ensure that extended matching patterns are parsed correctly, make sure
+ that e\bex\bxt\btg\bgl\blo\bob\bb is enabled before parsing constructs containing the pat-
terns, including shell functions and command substitutions.
When matching filenames, the d\bdo\bot\btg\bgl\blo\bob\bb shell option determines the set of
- filenames that are tested: when d\bdo\bot\btg\bgl\blo\bob\bb is enabled, the set of file-
- names includes all files beginning with ".", but "." and ".." must be
- matched by a pattern or sub-pattern that begins with a dot; when it is
+ filenames that are tested: when d\bdo\bot\btg\bgl\blo\bob\bb is enabled, the set of file-
+ names includes all files beginning with ".", but "." and ".." must be
+ matched by a pattern or sub-pattern that begins with a dot; when it is
disabled, the set does not include any filenames beginning with "." un-
- less the pattern or sub-pattern begins with a ".". As above, "." only
+ less the pattern or sub-pattern begins with a ".". As above, "." only
has a special meaning when matching filenames.
Complicated extended pattern matching against long strings is slow, es-
pecially when the patterns contain alternations and the strings contain
- multiple matches. Using separate matches against shorter strings, or
+ multiple matches. Using separate matches against shorter strings, or
using arrays of strings instead of a single long string, may be faster.
Q\bQu\buo\bot\bte\be R\bRe\bem\bmo\bov\bva\bal\bl
After the preceding expansions, all unquoted occurrences of the charac-
- ters \\b\, '\b', and "\b" that did not result from one of the above expansions
+ ters \\b\, '\b', and "\b" that did not result from one of the above expansions
are removed.
R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN
- Before a command is executed, its input and output may be _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\be_\bd
- using a special notation interpreted by the shell. _\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bi_\bo_\bn allows
- commands' file handles to be duplicated, opened, closed, made to refer
+ Before a command is executed, its input and output may be _\br_\be_\bd_\bi_\br_\be_\bc_\bt_\be_\bd
+ using a special notation interpreted by the shell. _\bR_\be_\bd_\bi_\br_\be_\bc_\bt_\bi_\bo_\bn allows
+ commands' file handles to be duplicated, opened, closed, made to refer
to different files, and can change the files the command reads from and
- writes to. Redirection may also be used to modify file handles in the
- current shell execution environment. The following redirection opera-
+ writes to. Redirection may also be used to modify file handles in the
+ current shell execution environment. The following redirection opera-
tors may precede or appear anywhere within a _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd or may fol-
- low a _\bc_\bo_\bm_\bm_\ba_\bn_\bd. Redirections are processed in the order they appear,
+ low a _\bc_\bo_\bm_\bm_\ba_\bn_\bd. Redirections are processed in the order they appear,
from left to right.
- Each redirection that may be preceded by a file descriptor number may
+ Each redirection that may be preceded by a file descriptor number may
instead be preceded by a word of the form {_\bv_\ba_\br_\bn_\ba_\bm_\be}. In this case, for
each redirection operator except >&- and <&-, the shell will allocate a
- file descriptor greater than or equal to 10 and assign it to _\bv_\ba_\br_\bn_\ba_\bm_\be.
- If >&- or <&- is preceded by {_\bv_\ba_\br_\bn_\ba_\bm_\be}, the value of _\bv_\ba_\br_\bn_\ba_\bm_\be defines
- the file descriptor to close. If {_\bv_\ba_\br_\bn_\ba_\bm_\be} is supplied, the redirec-
- tion persists beyond the scope of the command, allowing the shell pro-
+ file descriptor greater than or equal to 10 and assign it to _\bv_\ba_\br_\bn_\ba_\bm_\be.
+ If >&- or <&- is preceded by {_\bv_\ba_\br_\bn_\ba_\bm_\be}, the value of _\bv_\ba_\br_\bn_\ba_\bm_\be defines
+ the file descriptor to close. If {_\bv_\ba_\br_\bn_\ba_\bm_\be} is supplied, the redirec-
+ tion persists beyond the scope of the command, allowing the shell pro-
grammer to manage the file descriptor's lifetime manually. The
v\bva\bar\brr\bre\bed\bdi\bir\br_\b_c\bcl\blo\bos\bse\be shell option manages this behavior.
- In the following descriptions, if the file descriptor number is omit-
- ted, and the first character of the redirection operator is <\b<, the
- redirection refers to the standard input (file descriptor 0). If the
- first character of the redirection operator is >\b>, the redirection
+ In the following descriptions, if the file descriptor number is omit-
+ ted, and the first character of the redirection operator is <\b<, the
+ redirection refers to the standard input (file descriptor 0). If the
+ first character of the redirection operator is >\b>, the redirection
refers to the standard output (file descriptor 1).
- The word following the redirection operator in the following descrip-
- tions, unless otherwise noted, is subjected to brace expansion, tilde
- expansion, parameter and variable expansion, command substitution,
- arithmetic expansion, quote removal, pathname expansion, and word
+ The word following the redirection operator in the following descrip-
+ tions, unless otherwise noted, is subjected to brace expansion, tilde
+ expansion, parameter and variable expansion, command substitution,
+ arithmetic expansion, quote removal, pathname expansion, and word
splitting. If it expands to more than one word, b\bba\bas\bsh\bh reports an error.
- Note that the order of redirections is significant. For example, the
+ Note that the order of redirections is significant. For example, the
command
ls >\b> dirlist 2>\b>&\b&1
- directs both standard output and standard error to the file _\bd_\bi_\br_\bl_\bi_\bs_\bt,
+ directs both standard output and standard error to the file _\bd_\bi_\br_\bl_\bi_\bs_\bt,
while the command
ls 2>\b>&\b&1 >\b> dirlist
- directs only the standard output to file _\bd_\bi_\br_\bl_\bi_\bs_\bt, because the standard
- error was duplicated from the standard output before the standard out-
+ directs only the standard output to file _\bd_\bi_\br_\bl_\bi_\bs_\bt, because the standard
+ error was duplicated from the standard output before the standard out-
put was redirected to _\bd_\bi_\br_\bl_\bi_\bs_\bt.
B\bBa\bas\bsh\bh handles several filenames specially when they are used in redirec-
tions, as described in the following table. If the operating system on
which b\bba\bas\bsh\bh is running provides these special files, bash will use them;
- otherwise it will emulate them internally with the behavior described
+ otherwise it will emulate them internally with the behavior described
below.
/\b/d\bde\bev\bv/\b/f\bfd\bd/\b/_\bf_\bd
- If _\bf_\bd is a valid integer, file descriptor _\bf_\bd is dupli-
+ If _\bf_\bd is a valid integer, file descriptor _\bf_\bd is dupli-
cated.
/\b/d\bde\bev\bv/\b/s\bst\btd\bdi\bin\bn
File descriptor 0 is duplicated.
File descriptor 2 is duplicated.
/\b/d\bde\bev\bv/\b/t\btc\bcp\bp/\b/_\bh_\bo_\bs_\bt/\b/_\bp_\bo_\br_\bt
If _\bh_\bo_\bs_\bt is a valid hostname or Internet address, and _\bp_\bo_\br_\bt
- is an integer port number or service name, b\bba\bas\bsh\bh attempts
+ is an integer port number or service name, b\bba\bas\bsh\bh attempts
to open the corresponding TCP socket.
/\b/d\bde\bev\bv/\b/u\bud\bdp\bp/\b/_\bh_\bo_\bs_\bt/\b/_\bp_\bo_\br_\bt
If _\bh_\bo_\bs_\bt is a valid hostname or Internet address, and _\bp_\bo_\br_\bt
- is an integer port number or service name, b\bba\bas\bsh\bh attempts
+ is an integer port number or service name, b\bba\bas\bsh\bh attempts
to open the corresponding UDP socket.
A failure to open or create a file causes the redirection to fail.
- Redirections using file descriptors greater than 9 should be used with
- care, as they may conflict with file descriptors the shell uses inter-
+ Redirections using file descriptors greater than 9 should be used with
+ care, as they may conflict with file descriptors the shell uses inter-
nally.
R\bRe\bed\bdi\bir\bre\bec\bct\bti\bin\bng\bg I\bIn\bnp\bpu\but\bt
Redirection of input causes the file whose name results from the expan-
- sion of _\bw_\bo_\br_\bd to be opened for reading on file descriptor _\bn, or the
+ sion of _\bw_\bo_\br_\bd to be opened for reading on file descriptor _\bn, or the
standard input (file descriptor 0) if _\bn is not specified.
The general format for redirecting input is:
[_\bn]<\b<_\bw_\bo_\br_\bd
R\bRe\bed\bdi\bir\bre\bec\bct\bti\bin\bng\bg O\bOu\but\btp\bpu\but\bt
- Redirection of output causes the file whose name results from the ex-
- pansion of _\bw_\bo_\br_\bd to be opened for writing on file descriptor _\bn, or the
+ Redirection of output causes the file whose name results from the ex-
+ pansion of _\bw_\bo_\br_\bd to be opened for writing on file descriptor _\bn, or the
standard output (file descriptor 1) if _\bn is not specified. If the file
- does not exist it is created; if it does exist it is truncated to zero
+ does not exist it is created; if it does exist it is truncated to zero
size.
The general format for redirecting output is:
[_\bn]>\b>_\bw_\bo_\br_\bd
- If the redirection operator is >\b>, and the n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br option to the s\bse\bet\bt
- builtin has been enabled, the redirection will fail if the file whose
- name results from the expansion of _\bw_\bo_\br_\bd exists and is a regular file.
+ If the redirection operator is >\b>, and the n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br option to the s\bse\bet\bt
+ builtin has been enabled, the redirection will fail if the file whose
+ name results from the expansion of _\bw_\bo_\br_\bd exists and is a regular file.
If the redirection operator is >\b>|\b|, or the redirection operator is >\b> and
- the n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br option to the s\bse\bet\bt builtin command is not enabled, the
+ the n\bno\boc\bcl\blo\bob\bbb\bbe\ber\br option to the s\bse\bet\bt builtin command is not enabled, the
redirection is attempted even if the file named by _\bw_\bo_\br_\bd exists.
A\bAp\bpp\bpe\ben\bnd\bdi\bin\bng\bg R\bRe\bed\bdi\bir\bre\bec\bct\bte\bed\bd O\bOu\but\btp\bpu\but\bt
- Redirection of output in this fashion causes the file whose name re-
+ Redirection of output in this fashion causes the file whose name re-
sults from the expansion of _\bw_\bo_\br_\bd to be opened for appending on file de-
- scriptor _\bn, or the standard output (file descriptor 1) if _\bn is not
+ scriptor _\bn, or the standard output (file descriptor 1) if _\bn is not
specified. If the file does not exist it is created.
The general format for appending output is:
[_\bn]>\b>>\b>_\bw_\bo_\br_\bd
R\bRe\bed\bdi\bir\bre\bec\bct\bti\bin\bng\bg S\bSt\bta\ban\bnd\bda\bar\brd\bd O\bOu\but\btp\bpu\but\bt a\ban\bnd\bd S\bSt\bta\ban\bnd\bda\bar\brd\bd E\bEr\brr\bro\bor\br
- This construct allows both the standard output (file descriptor 1) and
- the standard error output (file descriptor 2) to be redirected to the
+ This construct allows both the standard output (file descriptor 1) and
+ the standard error output (file descriptor 2) to be redirected to the
file whose name is the expansion of _\bw_\bo_\br_\bd.
- There are two formats for redirecting standard output and standard er-
+ There are two formats for redirecting standard output and standard er-
ror:
&\b&>\b>_\bw_\bo_\br_\bd
>\b>_\bw_\bo_\br_\bd 2>\b>&\b&1
- When using the second form, _\bw_\bo_\br_\bd may not expand to a number or -\b-. If
- it does, other redirection operators apply (see D\bDu\bup\bpl\bli\bic\bca\bat\bti\bin\bng\bg F\bFi\bil\ble\be D\bDe\be-\b-
+ When using the second form, _\bw_\bo_\br_\bd may not expand to a number or -\b-. If
+ it does, other redirection operators apply (see D\bDu\bup\bpl\bli\bic\bca\bat\bti\bin\bng\bg F\bFi\bil\ble\be D\bDe\be-\b-
s\bsc\bcr\bri\bip\bpt\bto\bor\brs\bs below) for compatibility reasons.
A\bAp\bpp\bpe\ben\bnd\bdi\bin\bng\bg S\bSt\bta\ban\bnd\bda\bar\brd\bd O\bOu\but\btp\bpu\but\bt a\ban\bnd\bd S\bSt\bta\ban\bnd\bda\bar\brd\bd E\bEr\brr\bro\bor\br
- This construct allows both the standard output (file descriptor 1) and
- the standard error output (file descriptor 2) to be appended to the
+ This construct allows both the standard output (file descriptor 1) and
+ the standard error output (file descriptor 2) to be appended to the
file whose name is the expansion of _\bw_\bo_\br_\bd.
The format for appending standard output and standard error is:
(see D\bDu\bup\bpl\bli\bic\bca\bat\bti\bin\bng\bg F\bFi\bil\ble\be D\bDe\bes\bsc\bcr\bri\bip\bpt\bto\bor\brs\bs below).
H\bHe\ber\bre\be D\bDo\boc\bcu\bum\bme\ben\bnt\bts\bs
- This type of redirection instructs the shell to read input from the
+ This type of redirection instructs the shell to read input from the
current source until it reads a line containing only _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br (with no
trailing blanks). All of the lines read up to that point are then used
- as the standard input (or file descriptor _\bn if _\bn is specified) for a
+ as the standard input (or file descriptor _\bn if _\bn is specified) for a
command.
The format of here-documents is:
_\bh_\be_\br_\be_\b-_\bd_\bo_\bc_\bu_\bm_\be_\bn_\bt
_\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br
- No parameter and variable expansion, command substitution, arithmetic
+ No parameter and variable expansion, command substitution, arithmetic
expansion, or pathname expansion is performed on _\bw_\bo_\br_\bd.
If any part of _\bw_\bo_\br_\bd is quoted, the _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br is the result of quote re-
moval on _\bw_\bo_\br_\bd, and the lines in the here-document are not expanded. If
- _\bw_\bo_\br_\bd is unquoted, the _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br is _\bw_\bo_\br_\bd itself, all lines of the here-
- document are subjected to parameter expansion, command substitution,
+ _\bw_\bo_\br_\bd is unquoted, the _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br is _\bw_\bo_\br_\bd itself, all lines of the here-
+ document are subjected to parameter expansion, command substitution,
and arithmetic expansion, the character sequence \\b\<\b<n\bne\bew\bwl\bli\bin\bne\be>\b> is ignored,
and \\b\ must be used to quote the characters \\b\, $\b$, and `\b`.
If the redirection operator is <\b<<\b<-\b-, then all leading tab characters are
- stripped from input lines and the line containing _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br. This al-
- lows here-documents within shell scripts to be indented in a natural
+ stripped from input lines and the line containing _\bd_\be_\bl_\bi_\bm_\bi_\bt_\be_\br. This al-
+ lows here-documents within shell scripts to be indented in a natural
fashion.
H\bHe\ber\bre\be S\bSt\btr\bri\bin\bng\bgs\bs
[_\bn]<\b<<\b<<\b<_\bw_\bo_\br_\bd
- The _\bw_\bo_\br_\bd undergoes tilde expansion, parameter and variable expansion,
- command substitution, arithmetic expansion, and quote removal. Path-
- name expansion and word splitting are not performed. The result is
+ The _\bw_\bo_\br_\bd undergoes tilde expansion, parameter and variable expansion,
+ command substitution, arithmetic expansion, and quote removal. Path-
+ name expansion and word splitting are not performed. The result is
supplied as a single string, with a newline appended, to the command on
its standard input (or file descriptor _\bn if _\bn is specified).
[_\bn]<\b<&\b&_\bw_\bo_\br_\bd
is used to duplicate input file descriptors. If _\bw_\bo_\br_\bd expands to one or
- more digits, the file descriptor denoted by _\bn is made to be a copy of
- that file descriptor. If the digits in _\bw_\bo_\br_\bd do not specify a file de-
+ more digits, the file descriptor denoted by _\bn is made to be a copy of
+ that file descriptor. If the digits in _\bw_\bo_\br_\bd do not specify a file de-
scriptor open for input, a redirection error occurs. If _\bw_\bo_\br_\bd evaluates
to -\b-, file descriptor _\bn is closed. If _\bn is not specified, the standard
input (file descriptor 0) is used.
[_\bn]>\b>&\b&_\bw_\bo_\br_\bd
- is used similarly to duplicate output file descriptors. If _\bn is not
- specified, the standard output (file descriptor 1) is used. If the
- digits in _\bw_\bo_\br_\bd do not specify a file descriptor open for output, a
+ is used similarly to duplicate output file descriptors. If _\bn is not
+ specified, the standard output (file descriptor 1) is used. If the
+ digits in _\bw_\bo_\br_\bd do not specify a file descriptor open for output, a
redirection error occurs. If _\bw_\bo_\br_\bd evaluates to -\b-, file descriptor _\bn is
- closed. As a special case, if _\bn is omitted, and _\bw_\bo_\br_\bd does not expand
- to one or more digits or -\b-, the standard output and standard error are
+ closed. As a special case, if _\bn is omitted, and _\bw_\bo_\br_\bd does not expand
+ to one or more digits or -\b-, the standard output and standard error are
redirected as described previously.
M\bMo\bov\bvi\bin\bng\bg F\bFi\bil\ble\be D\bDe\bes\bsc\bcr\bri\bip\bpt\bto\bor\brs\bs
[_\bn]<\b<&\b&_\bd_\bi_\bg_\bi_\bt-\b-
- moves the file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or the standard
+ moves the file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or the standard
input (file descriptor 0) if _\bn is not specified. _\bd_\bi_\bg_\bi_\bt is closed after
being duplicated to _\bn.
[_\bn]>\b>&\b&_\bd_\bi_\bg_\bi_\bt-\b-
- moves the file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or the standard
+ moves the file descriptor _\bd_\bi_\bg_\bi_\bt to file descriptor _\bn, or the standard
output (file descriptor 1) if _\bn is not specified.
O\bOp\bpe\ben\bni\bin\bng\bg F\bFi\bil\ble\be D\bDe\bes\bsc\bcr\bri\bip\bpt\bto\bor\brs\bs f\bfo\bor\br R\bRe\bea\bad\bdi\bin\bng\bg a\ban\bnd\bd W\bWr\bri\bit\bti\bin\bng\bg
[_\bn]<\b<>\b>_\bw_\bo_\br_\bd
- causes the file whose name is the expansion of _\bw_\bo_\br_\bd to be opened for
- both reading and writing on file descriptor _\bn, or on file descriptor 0
+ causes the file whose name is the expansion of _\bw_\bo_\br_\bd to be opened for
+ both reading and writing on file descriptor _\bn, or on file descriptor 0
if _\bn is not specified. If the file does not exist, it is created.
A\bAL\bLI\bIA\bAS\bSE\bES\bS
- _\bA_\bl_\bi_\ba_\bs_\be_\bs allow a string to be substituted for a word that is in a posi-
- tion in the input where it can be the first word of a simple command.
- Aliases have names and corresponding values that are set and unset us-
- ing the a\bal\bli\bia\bas\bs and u\bun\bna\bal\bli\bia\bas\bs builtin commands (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
+ _\bA_\bl_\bi_\ba_\bs_\be_\bs allow a string to be substituted for a word that is in a posi-
+ tion in the input where it can be the first word of a simple command.
+ Aliases have names and corresponding values that are set and unset us-
+ ing the a\bal\bli\bia\bas\bs and u\bun\bna\bal\bli\bia\bas\bs builtin commands (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
below).
- If the shell reads an unquoted word in the right position, it checks
- the word to see if it matches an alias name. If it matches, the shell
- replaces the word with the alias value, and reads that value as if it
+ If the shell reads an unquoted word in the right position, it checks
+ the word to see if it matches an alias name. If it matches, the shell
+ replaces the word with the alias value, and reads that value as if it
had been read instead of the word. The shell doesn't look at any char-
acters following the word before attempting alias substitution.
- The characters /\b/, $\b$, `\b`, and =\b= and any of the shell _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs or
- quoting characters listed above may not appear in an alias name. The
- replacement text may contain any valid shell input, including shell
- metacharacters. The first word of the replacement text is tested for
+ The characters /\b/, $\b$, `\b`, and =\b= and any of the shell _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br_\bs or
+ quoting characters listed above may not appear in an alias name. The
+ replacement text may contain any valid shell input, including shell
+ metacharacters. The first word of the replacement text is tested for
aliases, but a word that is identical to an alias being expanded is not
expanded a second time. This means that one may alias l\bls\bs to l\bls\bs -\b-F\bF, for
- instance, and b\bba\bas\bsh\bh does not try to recursively expand the replacement
+ instance, and b\bba\bas\bsh\bh does not try to recursively expand the replacement
text.
If the last character of the alias value is a _\bb_\bl_\ba_\bn_\bk, then the next com-
Aliases are created and listed with the a\bal\bli\bia\bas\bs command, and removed with
the u\bun\bna\bal\bli\bia\bas\bs command.
- There is no mechanism for using arguments in the replacement text. If
+ There is no mechanism for using arguments in the replacement text. If
arguments are needed, use a shell function (see F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS below).
- Aliases are not expanded when the shell is not interactive, unless the
- e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bs shell option is set using s\bsh\bho\bop\bpt\bt (see the description of
+ Aliases are not expanded when the shell is not interactive, unless the
+ e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bs shell option is set using s\bsh\bho\bop\bpt\bt (see the description of
s\bsh\bho\bop\bpt\bt under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
- The rules concerning the definition and use of aliases are somewhat
- confusing. B\bBa\bas\bsh\bh always reads at least one complete line of input, and
- all lines that make up a compound command, before executing any of the
- commands on that line or the compound command. Aliases are expanded
- when a command is read, not when it is executed. Therefore, an alias
- definition appearing on the same line as another command does not take
- effect until the next line of input is read. 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 af-
- ter that function is executed. To be safe, always put alias defini-
+ The rules concerning the definition and use of aliases are somewhat
+ confusing. B\bBa\bas\bsh\bh always reads at least one complete line of input, and
+ all lines that make up a compound command, before executing any of the
+ commands on that line or the compound command. Aliases are expanded
+ when a command is read, not when it is executed. Therefore, an alias
+ definition appearing on the same line as another command does not take
+ effect until the next line of input is read. 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 af-
+ ter that function is executed. To be safe, always put alias defini-
tions on a separate line, and do not use a\bal\bli\bia\bas\bs in compound commands.
For almost every purpose, aliases are superseded by shell functions.
F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS
- A shell function, defined as described above under S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR,
- stores a series of commands for later execution. When the name of a
- shell function is used as a simple command name, the list of commands
+ A shell function, defined as described above under S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR,
+ stores a series of commands for later execution. When the name of a
+ shell function is used as a simple command name, the list of commands
associated with that function name is executed. Functions are executed
- in the context of the current shell; no new process is created to in-
- terpret them (contrast this with the execution of a shell script).
- When a function is executed, the arguments to the function become the
+ in the context of the current shell; no new process is created to in-
+ terpret them (contrast this with the execution of a shell script).
+ When a function is executed, the arguments to the function become the
positional parameters during its execution. The special parameter #\b# is
- updated to reflect the change. Special parameter 0\b0 is unchanged. The
- first element of the F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE variable is set to the name of the func-
+ updated to reflect the change. Special parameter 0\b0 is unchanged. The
+ first element of the F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE variable is set to the name of the func-
tion while the function is executing.
- All other aspects of the shell execution environment are identical be-
- tween a function and its caller with these exceptions: the D\bDE\bEB\bBU\bUG\bG and
- R\bRE\bET\bTU\bUR\bRN\bN traps (see the description of the t\btr\bra\bap\bp builtin under S\bSH\bHE\bEL\bLL\bL
- B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) are not inherited unless the function has been
- given the t\btr\bra\bac\bce\be attribute (see the description of the d\bde\bec\bcl\bla\bar\bre\be builtin
- below) or the -\b-o\bo f\bfu\bun\bnc\bct\btr\bra\bac\bce\be shell option has been enabled with the s\bse\bet\bt
- builtin (in which case all functions inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN
- traps), and the E\bER\bRR\bR trap is not inherited unless the -\b-o\bo e\ber\brr\brt\btr\bra\bac\bce\be shell
+ All other aspects of the shell execution environment are identical be-
+ tween a function and its caller with these exceptions: the D\bDE\bEB\bBU\bUG\bG and
+ R\bRE\bET\bTU\bUR\bRN\bN traps (see the description of the t\btr\bra\bap\bp builtin under S\bSH\bHE\bEL\bLL\bL
+ B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) are not inherited unless the function has been
+ given the t\btr\bra\bac\bce\be attribute (see the description of the d\bde\bec\bcl\bla\bar\bre\be builtin
+ below) or the -\b-o\bo f\bfu\bun\bnc\bct\btr\bra\bac\bce\be shell option has been enabled with the s\bse\bet\bt
+ builtin (in which case all functions inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN
+ traps), and the E\bER\bRR\bR trap is not inherited unless the -\b-o\bo e\ber\brr\brt\btr\bra\bac\bce\be shell
option has been enabled.
- Variables local to the function may be declared with the l\blo\boc\bca\bal\bl builtin
- command (_\bl_\bo_\bc_\ba_\bl _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs). Ordinarily, variables and their values are
- shared between the function and its caller. If a variable is declared
- l\blo\boc\bca\bal\bl, the variable's visible scope is restricted to that function and
+ Variables local to the function may be declared with the l\blo\boc\bca\bal\bl builtin
+ command (_\bl_\bo_\bc_\ba_\bl _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs). Ordinarily, variables and their values are
+ shared between the function and its caller. If a variable is declared
+ l\blo\boc\bca\bal\bl, the variable's visible scope is restricted to that function and
its children (including the functions it calls).
In the following description, the _\bc_\bu_\br_\br_\be_\bn_\bt _\bs_\bc_\bo_\bp_\be is a currently- execut-
ing function. Previous scopes consist of that function's caller and so
- on, back to the "global" scope, where the shell is not executing any
+ on, back to the "global" scope, where the shell is not executing any
shell function. Consequently, a local variable at the current scope is
a variable declared using the l\blo\boc\bca\bal\bl or d\bde\bec\bcl\bla\bar\bre\be builtins in the function
that is currently executing.
- Local variables "shadow" variables with the same name declared at pre-
- vious scopes. For instance, a local variable declared in a function
- hides a global variable of the same name: references and assignments
- refer to the local variable, leaving the global variable unmodified.
+ Local variables "shadow" variables with the same name declared at pre-
+ vious scopes. For instance, a local variable declared in a function
+ hides a global variable of the same name: references and assignments
+ refer to the local variable, leaving the global variable unmodified.
When the function returns, the global variable is once again visible.
- The shell uses _\bd_\by_\bn_\ba_\bm_\bi_\bc _\bs_\bc_\bo_\bp_\bi_\bn_\bg to control a variable's visibility
- within functions. With dynamic scoping, visible variables and their
- values are a result of the sequence of function calls that caused exe-
- cution to reach the current function. The value of a variable that a
- function sees depends on its value within its caller, if any, whether
- that caller is the global scope or another shell function. This is
+ The shell uses _\bd_\by_\bn_\ba_\bm_\bi_\bc _\bs_\bc_\bo_\bp_\bi_\bn_\bg to control a variable's visibility
+ within functions. With dynamic scoping, visible variables and their
+ values are a result of the sequence of function calls that caused exe-
+ cution to reach the current function. The value of a variable that a
+ function sees depends on its value within its caller, if any, whether
+ that caller is the global scope or another shell function. This is
also the value that a local variable declaration shadows, and the value
that is restored when the function returns.
- For example, if a variable _\bv_\ba_\br is declared as local in function _\bf_\bu_\bn_\bc_\b1,
- and _\bf_\bu_\bn_\bc_\b1 calls another function _\bf_\bu_\bn_\bc_\b2, references to _\bv_\ba_\br made from
+ For example, if a variable _\bv_\ba_\br is declared as local in function _\bf_\bu_\bn_\bc_\b1,
+ and _\bf_\bu_\bn_\bc_\b1 calls another function _\bf_\bu_\bn_\bc_\b2, references to _\bv_\ba_\br made from
within _\bf_\bu_\bn_\bc_\b2 will resolve to the local variable _\bv_\ba_\br from _\bf_\bu_\bn_\bc_\b1, shadow-
ing any global variable named _\bv_\ba_\br.
The u\bun\bns\bse\bet\bt builtin also acts using the same dynamic scope: if a variable
is local to the current scope, u\bun\bns\bse\bet\bt will unset it; otherwise the unset
- will refer to the variable found in any calling scope as described
- above. If a variable at the current local scope is unset, it will re-
- main so (appearing as unset) until it is reset in that scope or until
- the function returns. Once the function returns, any instance of the
+ will refer to the variable found in any calling scope as described
+ above. If a variable at the current local scope is unset, it will re-
+ main so (appearing as unset) until it is reset in that scope or until
+ the function returns. Once the function returns, any instance of the
variable at a previous scope will become visible. If the unset acts on
- a variable at a previous scope, any instance of a variable with that
- name that had been shadowed will become visible (see below how the l\blo\bo-\b-
+ a variable at a previous scope, any instance of a variable with that
+ name that had been shadowed will become visible (see below how the l\blo\bo-\b-
c\bca\bal\blv\bva\bar\br_\b_u\bun\bns\bse\bet\bt shell option changes this behavior).
- The F\bFU\bUN\bNC\bCN\bNE\bES\bST\bT variable, if set to a numeric value greater than 0, de-
- fines a maximum function nesting level. Function invocations that ex-
+ The F\bFU\bUN\bNC\bCN\bNE\bES\bST\bT variable, if set to a numeric value greater than 0, de-
+ fines a maximum function nesting level. Function invocations that ex-
ceed the limit cause the entire command to abort.
- If the builtin command r\bre\bet\btu\bur\brn\bn is executed in a function, the function
- completes and execution resumes with the next command after the func-
+ If the builtin command r\bre\bet\btu\bur\brn\bn is executed in a function, the function
+ completes and execution resumes with the next command after the func-
tion call. Any command associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed be-
- fore execution resumes. When a function completes, the values of the
- positional parameters and the special parameter #\b# are restored to the
+ fore execution resumes. When a function completes, the values of the
+ positional parameters and the special parameter #\b# are restored to the
values they had prior to the function's execution.
- Function names and definitions may be listed with the -\b-f\bf option to the
+ Function names and definitions may be listed with the -\b-f\bf option to the
d\bde\bec\bcl\bla\bar\bre\be or t\bty\byp\bpe\bes\bse\bet\bt builtin commands. The -\b-F\bF option to d\bde\bec\bcl\bla\bar\bre\be or t\bty\byp\bpe\be-\b-
- s\bse\bet\bt will list the function names only (and optionally the source file
- and line number, if the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is enabled). Functions
- may be exported so that child shell processes (those created when exe-
- cuting a separate shell invocation) automatically have them defined
+ s\bse\bet\bt will list the function names only (and optionally the source file
+ and line number, if the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is enabled). Functions
+ may be exported so that child shell processes (those created when exe-
+ cuting a separate shell invocation) automatically have them defined
with the -\b-f\bf option to the e\bex\bxp\bpo\bor\brt\bt builtin. A function definition may be
deleted using the -\b-f\bf option to the u\bun\bns\bse\bet\bt builtin.
Functions may be recursive. The F\bFU\bUN\bNC\bCN\bNE\bES\bST\bT variable may be used to limit
- the depth of the function call stack and restrict the number of func-
+ the depth of the function call stack and restrict the number of func-
tion invocations. By default, no limit is imposed on the number of re-
cursive calls.
A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN
- The shell allows arithmetic expressions to be evaluated, under certain
- circumstances (see the l\ble\bet\bt and d\bde\bec\bcl\bla\bar\bre\be builtin commands, the (\b((\b( com-
+ The shell allows arithmetic expressions to be evaluated, under certain
+ circumstances (see the l\ble\bet\bt and d\bde\bec\bcl\bla\bar\bre\be builtin commands, the (\b((\b( com-
pound command, and A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn). Evaluation is done in fixed-
- width integers with no check for overflow, though division by 0 is
- trapped and flagged as an error. The operators and their precedence,
- associativity, and values are the same as in the C language. The fol-
+ width integers with no check for overflow, though division by 0 is
+ trapped and flagged as an error. The operators and their precedence,
+ associativity, and values are the same as in the C language. The fol-
lowing list of operators is grouped into levels of equal-precedence op-
erators. The levels are listed in order of decreasing precedence.
_\be_\bx_\bp_\br_\b1 ,\b, _\be_\bx_\bp_\br_\b2
comma
- Shell variables are allowed as operands; parameter expansion is per-
+ Shell variables are allowed as operands; parameter expansion is per-
formed before the expression is evaluated. Within an expression, shell
- variables may also be referenced by name without using the parameter
- expansion syntax. A shell variable that is null or unset evaluates to
+ variables may also be referenced by name without using the parameter
+ expansion syntax. A shell variable that is null or unset evaluates to
0 when referenced by name without using the parameter expansion syntax.
- The value of a variable is evaluated as an arithmetic expression when
- it is referenced, or when a variable which has been given the _\bi_\bn_\bt_\be_\bg_\be_\br
+ The value of a variable is evaluated as an arithmetic expression when
+ it is referenced, or when a variable which has been given the _\bi_\bn_\bt_\be_\bg_\be_\br
attribute using d\bde\bec\bcl\bla\bar\bre\be -\b-i\bi is assigned a value. A null value evaluates
- to 0. A shell variable need not have its _\bi_\bn_\bt_\be_\bg_\be_\br attribute turned on
+ to 0. A shell variable need not have its _\bi_\bn_\bt_\be_\bg_\be_\br attribute turned on
to be used in an expression.
Integer constants follow the C language definition, without suffixes or
character constants. Constants with a leading 0 are interpreted as oc-
- tal numbers. A leading 0x or 0X denotes hexadecimal. Otherwise, num-
- bers take the form [_\bb_\ba_\bs_\be_\b#]n, where the optional _\bb_\ba_\bs_\be is a decimal num-
- ber between 2 and 64 representing the arithmetic base, and _\bn is a num-
- ber in that base. If _\bb_\ba_\bs_\be_\b# is omitted, then base 10 is used. When
+ tal numbers. A leading 0x or 0X denotes hexadecimal. Otherwise, num-
+ bers take the form [_\bb_\ba_\bs_\be_\b#]n, where the optional _\bb_\ba_\bs_\be is a decimal num-
+ ber between 2 and 64 representing the arithmetic base, and _\bn is a num-
+ ber in that base. If _\bb_\ba_\bs_\be_\b# is omitted, then base 10 is used. When
specifying _\bn, if a non-digit is required, the digits greater than 9 are
- represented by the lowercase letters, the uppercase letters, @, and _,
- in that order. If _\bb_\ba_\bs_\be is less than or equal to 36, lowercase and up-
- percase letters may be used interchangeably to represent numbers be-
+ represented by the lowercase letters, the uppercase letters, @, and _,
+ in that order. If _\bb_\ba_\bs_\be is less than or equal to 36, lowercase and up-
+ percase letters may be used interchangeably to represent numbers be-
tween 10 and 35.
- Operators are evaluated in order of precedence. Sub-expressions in
- parentheses are evaluated first and may override the precedence rules
+ Operators are evaluated in order of precedence. Sub-expressions in
+ parentheses are evaluated first and may override the precedence rules
above.
C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS
- Conditional expressions are used by the [\b[[\b[ compound command and the
- t\bte\bes\bst\bt and [\b[ builtin commands to test file attributes and perform string
- and arithmetic comparisons. The t\bte\bes\bst\bt and [\b[ commands determine their
- behavior based on the number of arguments; see the descriptions of
+ Conditional expressions are used by the [\b[[\b[ compound command and the
+ t\bte\bes\bst\bt and [\b[ builtin commands to test file attributes and perform string
+ and arithmetic comparisons. The t\bte\bes\bst\bt and [\b[ commands determine their
+ behavior based on the number of arguments; see the descriptions of
those commands for any other command-specific actions.
- Expressions are formed from the following unary or binary primaries.
- B\bBa\bas\bsh\bh handles several filenames specially when they are used in expres-
+ Expressions are formed from the following unary or binary primaries.
+ B\bBa\bas\bsh\bh handles several filenames specially when they are used in expres-
sions. If the operating system on which b\bba\bas\bsh\bh is running provides these
- special files, bash will use them; otherwise it will emulate them in-
- ternally with this behavior: If any _\bf_\bi_\bl_\be argument to one of the pri-
+ special files, bash will use them; otherwise it will emulate them in-
+ ternally with this behavior: If any _\bf_\bi_\bl_\be argument to one of the pri-
maries is of the form _\b/_\bd_\be_\bv_\b/_\bf_\bd_\b/_\bn, then file descriptor _\bn is checked. If
- the _\bf_\bi_\bl_\be argument to one of the primaries is one of _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bi_\bn,
- _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bo_\bu_\bt, or _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\be_\br_\br, file descriptor 0, 1, or 2, respectively,
+ the _\bf_\bi_\bl_\be argument to one of the primaries is one of _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bi_\bn,
+ _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\bo_\bu_\bt, or _\b/_\bd_\be_\bv_\b/_\bs_\bt_\bd_\be_\br_\br, file descriptor 0, 1, or 2, respectively,
is checked.
Unless otherwise specified, primaries that operate on files follow sym-
bolic links and operate on the target of the link, rather than the link
itself.
- When used with [\b[[\b[, or when the shell is in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, the <\b< and >\b> op-
- erators sort lexicographically using the current locale. When the
- shell is not in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, the t\bte\bes\bst\bt command sorts using ASCII order-
+ When used with [\b[[\b[, or when the shell is in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, the <\b< and >\b> op-
+ erators sort lexicographically using the current locale. When the
+ shell is not in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, the t\bte\bes\bst\bt command sorts using ASCII order-
ing.
-\b-a\ba _\bf_\bi_\bl_\be
-\b-L\bL _\bf_\bi_\bl_\be
True if _\bf_\bi_\bl_\be exists and is a symbolic link.
-\b-N\bN _\bf_\bi_\bl_\be
- True if _\bf_\bi_\bl_\be exists and has been modified since it was last
+ True if _\bf_\bi_\bl_\be exists and has been modified since it was last
read.
-\b-O\bO _\bf_\bi_\bl_\be
True if _\bf_\bi_\bl_\be exists and is owned by the effective user id.
-\b-S\bS _\bf_\bi_\bl_\be
True if _\bf_\bi_\bl_\be exists and is a socket.
_\bf_\bi_\bl_\be_\b1 -\b-e\bef\bf _\bf_\bi_\bl_\be_\b2
- True if _\bf_\bi_\bl_\be_\b1 and _\bf_\bi_\bl_\be_\b2 refer to the same device and inode num-
+ True if _\bf_\bi_\bl_\be_\b1 and _\bf_\bi_\bl_\be_\b2 refer to the same device and inode num-
bers.
_\bf_\bi_\bl_\be_\b1 -n\bnt\bt _\bf_\bi_\bl_\be_\b2
- True if _\bf_\bi_\bl_\be_\b1 is newer (according to modification date) than
+ True if _\bf_\bi_\bl_\be_\b1 is newer (according to modification date) than
_\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b1 exists and _\bf_\bi_\bl_\be_\b2 does not.
_\bf_\bi_\bl_\be_\b1 -o\bot\bt _\bf_\bi_\bl_\be_\b2
- True if _\bf_\bi_\bl_\be_\b1 is older than _\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b2 exists and _\bf_\bi_\bl_\be_\b1
+ True if _\bf_\bi_\bl_\be_\b1 is older than _\bf_\bi_\bl_\be_\b2, or if _\bf_\bi_\bl_\be_\b2 exists and _\bf_\bi_\bl_\be_\b1
does not.
-\b-o\bo _\bo_\bp_\bt_\bn_\ba_\bm_\be
- True if the shell option _\bo_\bp_\bt_\bn_\ba_\bm_\be is enabled. See the list of
- options under the description of the -\b-o\bo option to the s\bse\bet\bt
+ True if the shell option _\bo_\bp_\bt_\bn_\ba_\bm_\be is enabled. See the list of
+ options under the description of the -\b-o\bo option to the s\bse\bet\bt
builtin below.
-\b-v\bv _\bv_\ba_\br_\bn_\ba_\bm_\be
- True if the shell variable _\bv_\ba_\br_\bn_\ba_\bm_\be is set (has been assigned a
- value). If _\bv_\ba_\br_\bn_\ba_\bm_\be is an indexed array variable name sub-
- scripted by _\b@ or _\b*, this returns true if the array has any set
+ True if the shell variable _\bv_\ba_\br_\bn_\ba_\bm_\be is set (has been assigned a
+ value). If _\bv_\ba_\br_\bn_\ba_\bm_\be is an indexed array variable name sub-
+ scripted by _\b@ or _\b*, this returns true if the array has any set
elements. If _\bv_\ba_\br_\bn_\ba_\bm_\be is an associative array variable name sub-
- scripted by _\b@ or _\b*, this returns true if an element with that
+ scripted by _\b@ or _\b*, this returns true if an element with that
key is set.
-\b-R\bR _\bv_\ba_\br_\bn_\ba_\bm_\be
- True if the shell variable _\bv_\ba_\br_\bn_\ba_\bm_\be is set and is a name refer-
+ True if the shell variable _\bv_\ba_\br_\bn_\ba_\bm_\be is set and is a name refer-
ence.
-\b-z\bz _\bs_\bt_\br_\bi_\bn_\bg
True if the length of _\bs_\bt_\br_\bi_\bn_\bg is zero.
_\bs_\bt_\br_\bi_\bn_\bg_\b1 =\b==\b= _\bs_\bt_\br_\bi_\bn_\bg_\b2
_\bs_\bt_\br_\bi_\bn_\bg_\b1 =\b= _\bs_\bt_\br_\bi_\bn_\bg_\b2
- True if the strings are equal. =\b= should be used with the t\bte\bes\bst\bt
- command for POSIX conformance. When used with the [\b[[\b[ command,
+ True if the strings are equal. =\b= should be used with the t\bte\bes\bst\bt
+ command for POSIX conformance. When used with the [\b[[\b[ command,
this performs pattern matching as described above (C\bCo\bom\bmp\bpo\bou\bun\bnd\bd C\bCo\bom\bm-\b-
m\bma\ban\bnd\bds\bs).
True if _\bs_\bt_\br_\bi_\bn_\bg_\b1 sorts after _\bs_\bt_\br_\bi_\bn_\bg_\b2 lexicographically.
_\ba_\br_\bg_\b1 O\bOP\bP _\ba_\br_\bg_\b2
- O\bOP\bP is one of -\b-e\beq\bq, -\b-n\bne\be, -\b-l\blt\bt, -\b-l\ble\be, -\b-g\bgt\bt, or -\b-g\bge\be. These arithmetic
- binary operators return true if _\ba_\br_\bg_\b1 is equal to, not equal to,
- less than, less than or equal to, greater than, or greater than
- or equal to _\ba_\br_\bg_\b2, respectively. _\bA_\br_\bg_\b1 and _\ba_\br_\bg_\b2 may be positive
- or negative integers. When used with the [\b[[\b[ command, _\bA_\br_\bg_\b1 and
- _\bA_\br_\bg_\b2 are evaluated as arithmetic expressions (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC
+ O\bOP\bP is one of -\b-e\beq\bq, -\b-n\bne\be, -\b-l\blt\bt, -\b-l\ble\be, -\b-g\bgt\bt, or -\b-g\bge\be. These arithmetic
+ binary operators return true if _\ba_\br_\bg_\b1 is equal to, not equal to,
+ less than, less than or equal to, greater than, or greater than
+ or equal to _\ba_\br_\bg_\b2, respectively. _\bA_\br_\bg_\b1 and _\ba_\br_\bg_\b2 may be positive
+ or negative integers. When used with the [\b[[\b[ command, _\bA_\br_\bg_\b1 and
+ _\bA_\br_\bg_\b2 are evaluated as arithmetic expressions (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC
E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN above).
S\bSI\bIM\bMP\bPL\bLE\bE C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
When a simple command is executed, the shell performs the following ex-
- pansions, assignments, and redirections, from left to right, in the
+ pansions, assignments, and redirections, from left to right, in the
following order.
- 1. The words that the parser has marked as variable assignments
- (those preceding the command name) and redirections are saved
+ 1. The words that the parser has marked as variable assignments
+ (those preceding the command name) and redirections are saved
for later processing.
- 2. The words that are not variable assignments or redirections are
- expanded. If any words remain after expansion, the first word
- is taken to be the name of the command and the remaining words
+ 2. The words that are not variable assignments or redirections are
+ expanded. If any words remain after expansion, the first word
+ is taken to be the name of the command and the remaining words
are the arguments.
3. Redirections are performed as described above under R\bRE\bED\bDI\bIR\bRE\bEC\bCT\bTI\bIO\bON\bN.
4. The text after the =\b= in each variable assignment undergoes tilde
expansion, parameter expansion, command substitution, arithmetic
- expansion, and quote removal before being assigned to the vari-
+ expansion, and quote removal before being assigned to the vari-
able.
If no command name results, the variable assignments affect the current
- shell environment. In the case of such a command (one that consists
- only of assignment statements and redirections), assignment statements
- are performed before redirections. Otherwise, the variables are added
- to the environment of the executed command and do not affect the cur-
+ shell environment. In the case of such a command (one that consists
+ only of assignment statements and redirections), assignment statements
+ are performed before redirections. Otherwise, the variables are added
+ to the environment of the executed command and do not affect the cur-
rent shell environment. If any of the assignments attempts to assign a
- value to a readonly variable, an error occurs, and the command exits
+ value to a readonly variable, an error occurs, and the command exits
with a non-zero status.
- If no command name results, redirections are performed, but do not af-
- fect the current shell environment. A redirection error causes the
+ If no command name results, redirections are performed, but do not af-
+ fect the current shell environment. A redirection error causes the
command to exit with a non-zero status.
- If there is a command name left after expansion, execution proceeds as
- described below. Otherwise, the command exits. If one of the expan-
- sions contained a command substitution, the exit status of the command
- is the exit status of the last command substitution performed. If
+ If there is a command name left after expansion, execution proceeds as
+ described below. Otherwise, the command exits. If one of the expan-
+ sions contained a command substitution, the exit status of the command
+ is the exit status of the last command substitution performed. If
there were no command substitutions, the command exits with a status of
zero.
C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN
- After a command has been split into words, if it results in a simple
- command and an optional list of arguments, the shell performs the fol-
+ After a command has been split into words, if it results in a simple
+ command and an optional list of arguments, the shell performs the fol-
lowing actions.
- If the command name contains no slashes, the shell attempts to locate
- it. If there exists a shell function by that name, that function is
- invoked as described above in F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS. If the name does not match a
- function, the shell searches for it in the list of shell builtins. If
+ If the command name contains no slashes, the shell attempts to locate
+ it. If there exists a shell function by that name, that function is
+ invoked as described above in F\bFU\bUN\bNC\bCT\bTI\bIO\bON\bNS\bS. If the name does not match a
+ function, the shell searches for it in the list of shell builtins. If
a match is found, that builtin is invoked.
- If the name is neither a shell function nor a builtin, and contains no
- slashes, b\bba\bas\bsh\bh searches each element of the P\bPA\bAT\bTH\bH for a directory con-
+ If the name is neither a shell function nor a builtin, and contains no
+ slashes, b\bba\bas\bsh\bh searches each element of the P\bPA\bAT\bTH\bH for a directory con-
taining an executable file by that name. B\bBa\bas\bsh\bh uses a hash table to re-
- member the full pathnames of executable files (see h\bha\bas\bsh\bh under S\bSH\bHE\bEL\bLL\bL
- B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). A full search of the directories in P\bPA\bAT\bTH\bH is
- performed only if the command is not found in the hash table. If the
+ member the full pathnames of executable files (see h\bha\bas\bsh\bh under S\bSH\bHE\bEL\bLL\bL
+ B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). A full search of the directories in P\bPA\bAT\bTH\bH is
+ performed only if the command is not found in the hash table. If the
search is unsuccessful, the shell searches for a defined shell function
named c\bco\bom\bmm\bma\ban\bnd\bd_\b_n\bno\bot\bt_\b_f\bfo\bou\bun\bnd\bd_\b_h\bha\ban\bnd\bdl\ble\be. If that function exists, it is invoked
- in a separate execution environment with the original command and the
- original command's arguments as its arguments, and the function's exit
- status becomes the exit status of that subshell. If that function is
+ in a separate execution environment with the original command and the
+ original command's arguments as its arguments, and the function's exit
+ status becomes the exit status of that subshell. If that function is
not defined, the shell prints an error message and returns an exit sta-
tus of 127.
- If the search is successful, or if the command name contains one or
+ If the search is successful, or if the command name contains one or
more slashes, the shell executes the named program in a separate execu-
tion environment. Argument 0 is set to the name given, and the remain-
ing arguments to the command are set to the arguments given, if any.
- If this execution fails because the file is not in executable format,
- and the file is not a directory, it is assumed to be a _\bs_\bh_\be_\bl_\bl _\bs_\bc_\br_\bi_\bp_\bt, a
+ If this execution fails because the file is not in executable format,
+ and the file is not a directory, it is assumed to be a _\bs_\bh_\be_\bl_\bl _\bs_\bc_\br_\bi_\bp_\bt, a
file containing shell commands, and the shell creates a new instance of
- itself to execute it. This subshell reinitializes itself, so that the
+ itself to execute it. This subshell reinitializes itself, so that the
effect is as if a new shell had been invoked to handle the script, with
- the exception that the locations of commands remembered by the parent
- (see h\bha\bas\bsh\bh below under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS) are retained by the
+ the exception that the locations of commands remembered by the parent
+ (see h\bha\bas\bsh\bh below under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS) are retained by the
child.
- If the program is a file beginning with #\b#!\b!, the remainder of the first
- line specifies an interpreter for the program. The shell executes the
+ If the program is a file beginning with #\b#!\b!, the remainder of the first
+ line specifies an interpreter for the program. The shell executes the
specified interpreter on operating systems that do not handle this exe-
cutable format themselves. The arguments to the interpreter consist of
- a single optional argument following the interpreter name on the first
- line of the program, followed by the name of the program, followed by
+ a single optional argument following the interpreter name on the first
+ line of the program, followed by the name of the program, followed by
the command arguments, if any.
C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
- The shell has an _\be_\bx_\be_\bc_\bu_\bt_\bi_\bo_\bn _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt, which consists of the follow-
+ The shell has an _\be_\bx_\be_\bc_\bu_\bt_\bi_\bo_\bn _\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt, which consists of the follow-
ing:
- +\bo open files inherited by the shell at invocation, as modified by
+ +\bo open files inherited by the shell at invocation, as modified by
redirections supplied to the e\bex\bxe\bec\bc builtin
- +\bo the current working directory as set by c\bcd\bd, p\bpu\bus\bsh\bhd\bd, or p\bpo\bop\bpd\bd, or
+ +\bo the current working directory as set by c\bcd\bd, p\bpu\bus\bsh\bhd\bd, or p\bpo\bop\bpd\bd, or
inherited by the shell at invocation
- +\bo the file creation mode mask as set by u\bum\bma\bas\bsk\bk or inherited from
+ +\bo the file creation mode mask as set by u\bum\bma\bas\bsk\bk or inherited from
the shell's parent
+\bo current traps set by t\btr\bra\bap\bp
+\bo shell parameters that are set by variable assignment or with s\bse\bet\bt
or inherited from the shell's parent in the environment
- +\bo shell functions defined during execution or inherited from the
+ +\bo shell functions defined during execution or inherited from the
shell's parent in the environment
- +\bo options enabled at invocation (either by default or with com-
+ +\bo options enabled at invocation (either by default or with com-
mand-line arguments) or by s\bse\bet\bt
+\bo options enabled by s\bsh\bho\bop\bpt\bt
+\bo shell aliases defined with a\bal\bli\bia\bas\bs
- +\bo various process IDs, including those of background jobs, the
+ +\bo various process IDs, including those of background jobs, the
value of $\b$$\b$, and the value of P\bPP\bPI\bID\bD
- When a simple command other than a builtin or shell function is to be
- executed, it is invoked in a separate execution environment that con-
- sists of the following. Unless otherwise noted, the values are inher-
+ When a simple command other than a builtin or shell function is to be
+ executed, it is invoked in a separate execution environment that con-
+ sists of the following. Unless otherwise noted, the values are inher-
ited from the shell.
- +\bo the shell's open files, plus any modifications and additions
+ +\bo the shell's open files, plus any modifications and additions
specified by redirections to the command
+\bo the current working directory
+\bo the file creation mode mask
- +\bo shell variables and functions marked for export, along with
+ +\bo shell variables and functions marked for export, along with
variables exported for the command, passed in the environment
+\bo traps caught by the shell are reset to the values inherited from
the shell's parent, and traps ignored by the shell are ignored
- A command invoked in this separate environment cannot affect the
+ A command invoked in this separate environment cannot affect the
shell's execution environment.
A _\bs_\bu_\bb_\bs_\bh_\be_\bl_\bl is a copy of the shell process.
- Command substitution, commands grouped with parentheses, and asynchro-
+ Command substitution, commands grouped with parentheses, and asynchro-
nous commands are invoked in a subshell environment that is a duplicate
of the shell environment, except that traps caught by the shell are re-
- set to the values that the shell inherited from its parent at invoca-
+ set to the values that the shell inherited from its parent at invoca-
tion. Builtin commands that are invoked as part of a pipeline are also
executed in a subshell environment. Changes made to the subshell envi-
ronment cannot affect the shell's execution environment.
- When the shell is in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, subshells spawned to execute command
- substitutions inherit the value of the -\b-e\be option from their parent
- shell. When not in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, b\bba\bas\bsh\bh clears the -\b-e\be option in such sub-
- shells. See the description of the i\bin\bnh\bhe\ber\bri\bit\bt_\b_e\ber\brr\bre\bex\bxi\bit\bt shell option below
+ When the shell is in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, subshells spawned to execute command
+ substitutions inherit the value of the -\b-e\be option from their parent
+ shell. When not in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, b\bba\bas\bsh\bh clears the -\b-e\be option in such sub-
+ shells. See the description of the i\bin\bnh\bhe\ber\bri\bit\bt_\b_e\ber\brr\bre\bex\bxi\bit\bt shell option below
for how to control this behavior when not in posix mode.
- If a command is followed by a &\b& and job control is not active, the de-
+ If a command is followed by a &\b& and job control is not active, the de-
fault standard input for the command is the empty file _\b/_\bd_\be_\bv_\b/_\bn_\bu_\bl_\bl. Oth-
- erwise, the invoked command inherits the file descriptors of the call-
+ erwise, the invoked command inherits the file descriptors of the call-
ing shell as modified by redirections.
E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
- When a program is invoked it is given an array of strings called the
+ When a program is invoked it is given an array of strings called the
_\be_\bn_\bv_\bi_\br_\bo_\bn_\bm_\be_\bn_\bt. This is a list of _\bn_\ba_\bm_\be-_\bv_\ba_\bl_\bu_\be pairs, of the form
_\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be.
- The shell provides several ways to manipulate the environment. On in-
- vocation, the shell scans its own environment and creates a parameter
- for each name found, automatically marking it for _\be_\bx_\bp_\bo_\br_\bt to child
- processes. Executed commands inherit the environment. The e\bex\bxp\bpo\bor\brt\bt and
- d\bde\bec\bcl\bla\bar\bre\be -\b-x\bx commands allow parameters and functions to be added to and
+ The shell provides several ways to manipulate the environment. On in-
+ vocation, the shell scans its own environment and creates a parameter
+ for each name found, automatically marking it for _\be_\bx_\bp_\bo_\br_\bt to child
+ processes. Executed commands inherit the environment. The e\bex\bxp\bpo\bor\brt\bt and
+ d\bde\bec\bcl\bla\bar\bre\be -\b-x\bx commands allow parameters and functions to be added to and
deleted from the environment. If the value of a parameter in the envi-
ronment is modified, the new value becomes part of the environment, re-
- placing the old. The environment inherited by any executed command
- consists of the shell's initial environment, whose values may be modi-
- fied in the shell, less any pairs removed by the u\bun\bns\bse\bet\bt command, plus
+ placing the old. The environment inherited by any executed command
+ consists of the shell's initial environment, whose values may be modi-
+ fied in the shell, less any pairs removed by the u\bun\bns\bse\bet\bt command, plus
any additions via the e\bex\bxp\bpo\bor\brt\bt and d\bde\bec\bcl\bla\bar\bre\be -\b-x\bx commands.
- The environment for any _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd or function may be augmented
- temporarily by prefixing it with parameter assignments, as described
+ The environment for any _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd or function may be augmented
+ temporarily by prefixing it with parameter assignments, as described
above in P\bPA\bAR\bRA\bAM\bME\bET\bTE\bER\bRS\bS. These assignment statements affect only the envi-
ronment seen by that command.
- If the -\b-k\bk option is set (see the s\bse\bet\bt builtin command below), then _\ba_\bl_\bl
- parameter assignments are placed in the environment for a command, not
+ If the -\b-k\bk option is set (see the s\bse\bet\bt builtin command below), then _\ba_\bl_\bl
+ parameter assignments are placed in the environment for a command, not
just those that precede the command name.
- When b\bba\bas\bsh\bh invokes an external command, the variable _\b_ is set to the
+ When b\bba\bas\bsh\bh invokes an external command, the variable _\b_ is set to the
full filename of the command and passed to that command in its environ-
ment.
E\bEX\bXI\bIT\bT S\bST\bTA\bAT\bTU\bUS\bS
- The exit status of an executed command is the value returned by the
+ The exit status of an executed command is the value returned by the
_\bw_\ba_\bi_\bt_\bp_\bi_\bd system call or equivalent function. Exit statuses fall between
- 0 and 255, though, as explained below, the shell may use values above
+ 0 and 255, though, as explained below, the shell may use values above
125 specially. Exit statuses from shell builtins and compound commands
are also limited to this range. Under certain circumstances, the shell
will use special values to indicate specific failure modes.
For the shell's purposes, a command which exits with a zero exit status
- has succeeded. An exit status of zero indicates success. A non-zero
- exit status indicates failure. When a command terminates on a fatal
+ has succeeded. An exit status of zero indicates success. A non-zero
+ exit status indicates failure. When a command terminates on a fatal
signal _\bN, b\bba\bas\bsh\bh uses the value of 128+_\bN as the exit status.
- If a command is not found, the child process created to execute it re-
- turns a status of 127. If a command is found but is not executable,
+ If a command is not found, the child process created to execute it re-
+ turns a status of 127. If a command is found but is not executable,
the return status is 126.
If a command fails because of an error during expansion or redirection,
the exit status is greater than zero.
- Shell builtin commands return a status of 0 (_\bt_\br_\bu_\be) if successful, and
- non-zero (_\bf_\ba_\bl_\bs_\be) if an error occurs while they execute. All builtins
- return an exit status of 2 to indicate incorrect usage, generally in-
+ Shell builtin commands return a status of 0 (_\bt_\br_\bu_\be) if successful, and
+ non-zero (_\bf_\ba_\bl_\bs_\be) if an error occurs while they execute. All builtins
+ return an exit status of 2 to indicate incorrect usage, generally in-
valid options or missing arguments.
The exit status of the last command is available in the special parame-
ter $?.
- B\bBa\bas\bsh\bh itself returns the exit status of the last command executed, un-
- less a syntax error occurs, in which case it exits with a non-zero
+ B\bBa\bas\bsh\bh itself returns the exit status of the last command executed, un-
+ less a syntax error occurs, in which case it exits with a non-zero
value. See also the e\bex\bxi\bit\bt builtin command below.
S\bSI\bIG\bGN\bNA\bAL\bLS\bS
- When b\bba\bas\bsh\bh is interactive, in the absence of any traps, it ignores
+ When b\bba\bas\bsh\bh is interactive, in the absence of any traps, it ignores
S\bSI\bIG\bGT\bTE\bER\bRM\bM (so that k\bki\bil\bll\bl 0\b0 does not kill an interactive shell), and S\bSI\bIG\bGI\bIN\bNT\bT
- is caught and handled (so that the w\bwa\bai\bit\bt builtin is interruptible). In
+ is caught and handled (so that the w\bwa\bai\bit\bt builtin is interruptible). In
all cases, b\bba\bas\bsh\bh ignores S\bSI\bIG\bGQ\bQU\bUI\bIT\bT. If job control is in effect, b\bba\bas\bsh\bh ig-
nores S\bSI\bIG\bGT\bTT\bTI\bIN\bN, S\bSI\bIG\bGT\bTT\bTO\bOU\bU, and S\bSI\bIG\bGT\bTS\bST\bTP\bP.
Non-builtin commands run by b\bba\bas\bsh\bh have signal handlers set to the values
inherited by the shell from its parent. When job control is not in ef-
- fect, asynchronous commands ignore S\bSI\bIG\bGI\bIN\bNT\bT and S\bSI\bIG\bGQ\bQU\bUI\bIT\bT in addition to
- these inherited handlers. Commands run as a result of command substi-
+ fect, asynchronous commands ignore S\bSI\bIG\bGI\bIN\bNT\bT and S\bSI\bIG\bGQ\bQU\bUI\bIT\bT in addition to
+ these inherited handlers. Commands run as a result of command substi-
tution ignore the keyboard-generated job control signals S\bSI\bIG\bGT\bTT\bTI\bIN\bN, S\bSI\bIG\bGT\bT-\b-
T\bTO\bOU\bU, and S\bSI\bIG\bGT\bTS\bST\bTP\bP.
- The shell exits by default upon receipt of a S\bSI\bIG\bGH\bHU\bUP\bP. Before exiting,
- an interactive shell resends the S\bSI\bIG\bGH\bHU\bUP\bP to all jobs, running or
+ The shell exits by default upon receipt of a S\bSI\bIG\bGH\bHU\bUP\bP. Before exiting,
+ an interactive shell resends the S\bSI\bIG\bGH\bHU\bUP\bP to all jobs, running or
stopped. Stopped jobs are sent S\bSI\bIG\bGC\bCO\bON\bNT\bT to ensure that they receive the
- S\bSI\bIG\bGH\bHU\bUP\bP. To prevent the shell from sending the signal to a particular
- job, it should be removed from the jobs table with the d\bdi\bis\bso\bow\bwn\bn builtin
- (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) or marked to not receive S\bSI\bIG\bGH\bHU\bUP\bP us-
+ S\bSI\bIG\bGH\bHU\bUP\bP. To prevent the shell from sending the signal to a particular
+ job, it should be removed from the jobs table with the d\bdi\bis\bso\bow\bwn\bn builtin
+ (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) or marked to not receive S\bSI\bIG\bGH\bHU\bUP\bP us-
ing d\bdi\bis\bso\bow\bwn\bn -\b-h\bh.
- If the h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt shell option has been set with s\bsh\bho\bop\bpt\bt, b\bba\bas\bsh\bh sends a
+ If the h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt shell option has been set with s\bsh\bho\bop\bpt\bt, b\bba\bas\bsh\bh sends a
S\bSI\bIG\bGH\bHU\bUP\bP to all jobs when an interactive login shell exits.
- If b\bba\bas\bsh\bh is waiting for a command to complete and receives a signal for
+ If b\bba\bas\bsh\bh is waiting for a command to complete and receives a signal for
which a trap has been set, the trap will not be executed until the com-
- mand completes. When b\bba\bas\bsh\bh is waiting for an asynchronous command via
- the w\bwa\bai\bit\bt builtin, the reception of a signal for which a trap has been
+ mand completes. When b\bba\bas\bsh\bh is waiting for an asynchronous command via
+ the w\bwa\bai\bit\bt builtin, the reception of a signal for which a trap has been
set will cause the w\bwa\bai\bit\bt builtin to return immediately with an exit sta-
tus greater than 128, immediately after which the trap is executed.
- When job control is not enabled, and b\bba\bas\bsh\bh is waiting for a foreground
+ When job control is not enabled, and b\bba\bas\bsh\bh is waiting for a foreground
command to complete, the shell receives keyboard-generated signals such
- as S\bSI\bIG\bGI\bIN\bNT\bT (usually generated by ^\b^C\bC) that users commonly intend to send
+ as S\bSI\bIG\bGI\bIN\bNT\bT (usually generated by ^\b^C\bC) that users commonly intend to send
to that command. This happens because the shell and the command are in
- the same process group as the terminal, and ^\b^C\bC sends S\bSI\bIG\bGI\bIN\bNT\bT to all
+ the same process group as the terminal, and ^\b^C\bC sends S\bSI\bIG\bGI\bIN\bNT\bT to all
processes in that process group.
- When b\bba\bas\bsh\bh is running without job control enabled and receives S\bSI\bIG\bGI\bIN\bNT\bT
- while waiting for a foreground command, it waits until that foreground
+ When b\bba\bas\bsh\bh is running without job control enabled and receives S\bSI\bIG\bGI\bIN\bNT\bT
+ while waiting for a foreground command, it waits until that foreground
command terminates and then decides what to do about the S\bSI\bIG\bGI\bIN\bNT\bT:
1. If the command terminates due to the S\bSI\bIG\bGI\bIN\bNT\bT, b\bba\bas\bsh\bh concludes that
- the user meant to end the entire script, and acts on the S\bSI\bIG\bGI\bIN\bNT\bT
+ the user meant to end the entire script, and acts on the S\bSI\bIG\bGI\bIN\bNT\bT
(e.g., by running a S\bSI\bIG\bGI\bIN\bNT\bT trap or exiting itself);
- 2. If the command does not terminate due to S\bSI\bIG\bGI\bIN\bNT\bT, the program
- handled the S\bSI\bIG\bGI\bIN\bNT\bT itself and did not treat it as a fatal sig-
- nal. In that case, b\bba\bas\bsh\bh does not treat S\bSI\bIG\bGI\bIN\bNT\bT as a fatal sig-
- nal, either, instead assuming that the S\bSI\bIG\bGI\bIN\bNT\bT was used as part
- of the program's normal operation (e.g., emacs uses it to abort
+ 2. If the command does not terminate due to S\bSI\bIG\bGI\bIN\bNT\bT, the program
+ handled the S\bSI\bIG\bGI\bIN\bNT\bT itself and did not treat it as a fatal sig-
+ nal. In that case, b\bba\bas\bsh\bh does not treat S\bSI\bIG\bGI\bIN\bNT\bT as a fatal sig-
+ nal, either, instead assuming that the S\bSI\bIG\bGI\bIN\bNT\bT was used as part
+ of the program's normal operation (e.g., emacs uses it to abort
editing commands) or deliberately discarded. However, b\bba\bas\bsh\bh will
- run any trap set on S\bSI\bIG\bGI\bIN\bNT\bT, as it does with any other trapped
- signal it receives while it is waiting for the foreground com-
+ run any trap set on S\bSI\bIG\bGI\bIN\bNT\bT, as it does with any other trapped
+ signal it receives while it is waiting for the foreground com-
mand to complete, for compatibility.
J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL
_\bJ_\bo_\bb _\bc_\bo_\bn_\bt_\br_\bo_\bl refers to the ability to selectively stop (_\bs_\bu_\bs_\bp_\be_\bn_\bd) the ex-
- ecution of processes and continue (_\br_\be_\bs_\bu_\bm_\be) their execution at a later
- point. A user typically employs this facility via an interactive in-
+ ecution of processes and continue (_\br_\be_\bs_\bu_\bm_\be) their execution at a later
+ point. A user typically employs this facility via an interactive in-
terface supplied jointly by the operating system kernel's terminal dri-
ver and b\bba\bas\bsh\bh.
- The shell associates a _\bj_\bo_\bb with each pipeline. It keeps a table of
- currently executing jobs, which 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
+ 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:
[1] 25647
indicating that this job is job number 1 and that the process ID of the
last process in the pipeline associated with this job is 25647. All of
- the processes in a single pipeline are members of the same job. B\bBa\bas\bsh\bh
+ the processes in a single pipeline are members of the same job. B\bBa\bas\bsh\bh
uses the _\bj_\bo_\bb abstraction as the basis for job control.
- To facilitate the implementation of the user interface to job control,
+ To facilitate the implementation of the user interface to job control,
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
+ 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.
+ 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
+ is in effect) the terminal are sent a S\bSI\bIG\bGT\bTT\bTI\bIN\bN (\b(S\bSI\bIG\bGT\bTT\bTO\bOU\bU)\b) signal by the
kernel's terminal driver, which, unless caught, suspends the process.
- If the operating system on which b\bba\bas\bsh\bh is running supports job control,
+ If the operating system on which b\bba\bas\bsh\bh is running supports job control,
b\bba\bas\bsh\bh contains facilities to use it. Typing the _\bs_\bu_\bs_\bp_\be_\bn_\bd character (typ-
ically ^\b^Z\bZ, Control-Z) while a process is running 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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,
+ 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. If the -\b-b\bb
+ in a job's status so as to not interrupt any other output. If the -\b-b\bb
option to the s\bse\bet\bt builtin command is enabled, b\bba\bas\bsh\bh reports such changes
- immediately. Any trap on S\bSI\bIG\bGC\bCH\bHL\bLD\bD is executed for each child that ex-
+ immediately. Any trap on S\bSI\bIG\bGC\bCH\bHL\bLD\bD is executed for each child that ex-
its.
- If an attempt to exit b\bba\bas\bsh\bh is made while jobs are stopped (or, if the
- c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs shell option has been enabled using the s\bsh\bho\bop\bpt\bt builtin, run-
+ If an attempt to exit b\bba\bas\bsh\bh is made 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
+ 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.
- 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-
+ When the shell is waiting for a job or process using the w\bwa\bai\bit\bt builtin,
+ and job control is enabled, w\bwa\bai\bit\bt will return when the job changes
+ state. The -\b-f\bf option causes w\bwa\bai\bit\bt to wait until the job or process ter-
minates before returning.
P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
When executing interactively, b\bba\bas\bsh\bh displays the primary prompt P\bPS\bS1\b1 when
- it is ready to read a command, and the secondary prompt P\bPS\bS2\b2 when it
- needs more input to complete a command. B\bBa\bas\bsh\bh displays P\bPS\bS0\b0 after it
- reads a command but before executing it. B\bBa\bas\bsh\bh displays P\bPS\bS4\b4 as de-
- scribed above before tracing each command when the -\b-x\bx option is en-
- abled. B\bBa\bas\bsh\bh allows these prompt strings to be customized by inserting
- a number of backslash-escaped special characters that are decoded as
+ it is ready to read a command, and the secondary prompt P\bPS\bS2\b2 when it
+ needs more input to complete a command. B\bBa\bas\bsh\bh displays P\bPS\bS0\b0 after it
+ reads a command but before executing it. B\bBa\bas\bsh\bh displays P\bPS\bS4\b4 as de-
+ scribed above before tracing each command when the -\b-x\bx option is en-
+ abled. B\bBa\bas\bsh\bh allows these prompt strings to be customized by inserting
+ a number of backslash-escaped special characters that are decoded as
follows:
\\b\a\ba an ASCII bell character (07)
- \\b\d\bd the date in "Weekday Month Date" format (e.g., "Tue May
+ \\b\d\bd the date in "Weekday Month Date" format (e.g., "Tue May
26")
\\b\D\bD{\b{_\bf_\bo_\br_\bm_\ba_\bt}\b}
the _\bf_\bo_\br_\bm_\ba_\bt is passed to _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) and the result is in-
serted into the prompt string; an empty _\bf_\bo_\br_\bm_\ba_\bt results in
- a locale-specific time representation. The braces are
+ a locale-specific time representation. The braces are
required
\\b\e\be an ASCII escape character (033)
\\b\h\bh the hostname up to the first "."
\\b\l\bl the basename of the shell's terminal device name
\\b\n\bn newline
\\b\r\br carriage return
- \\b\s\bs the name of the shell, the basename of $\b$0\b0 (the portion
+ \\b\s\bs the name of the shell, the basename of $\b$0\b0 (the portion
following the final slash)
\\b\t\bt the current time in 24-hour HH:MM:SS format
\\b\T\bT the current time in 12-hour HH:MM:SS format
\\b\u\bu the username of the current user
\\b\v\bv the version of b\bba\bas\bsh\bh (e.g., 2.00)
\\b\V\bV the release of b\bba\bas\bsh\bh, version + patch level (e.g., 2.00.0)
- \\b\w\bw the value of the P\bPW\bWD\bD shell variable ($\b$P\bPW\bWD\bD), with $\b$H\bHO\bOM\bME\bE
- abbreviated with a tilde (uses the value of the
+ \\b\w\bw the value of the P\bPW\bWD\bD shell variable ($\b$P\bPW\bWD\bD), with $\b$H\bHO\bOM\bME\bE
+ abbreviated with a tilde (uses the value of the
P\bPR\bRO\bOM\bMP\bPT\bT_\b_D\bDI\bIR\bRT\bTR\bRI\bIM\bM variable)
\\b\W\bW the basename of $\b$P\bPW\bWD\bD, with $\b$H\bHO\bOM\bME\bE abbreviated with a tilde
\\b\!\b! the history number of this command
\\b\$\b$ if the effective UID is 0, a #\b#, otherwise a $\b$
\\b\_\bn_\bn_\bn the character corresponding to the octal number _\bn_\bn_\bn
\\b\\\b\ a backslash
- \\b\[\b[ begin a sequence of non-printing characters, which could
- be used to embed a terminal control sequence into the
+ \\b\[\b[ begin a sequence of non-printing characters, which could
+ be used to embed a terminal control sequence into the
prompt
\\b\]\b] end a sequence of non-printing characters
- The command number and the history number are usually different: the
- history number of a command is its position in the history list, which
- may include commands restored from the history file (see H\bHI\bIS\bST\bTO\bOR\bRY\bY be-
- low), while the command number is the position in the sequence of com-
- mands executed during the current shell session. After the string is
- decoded, it is expanded via parameter expansion, command substitution,
- arithmetic expansion, and quote removal, subject to the value of the
+ The command number and the history number are usually different: the
+ history number of a command is its position in the history list, which
+ may include commands restored from the history file (see H\bHI\bIS\bST\bTO\bOR\bRY\bY be-
+ low), while the command number is the position in the sequence of com-
+ mands executed during the current shell session. After the string is
+ decoded, it is expanded via parameter expansion, command substitution,
+ arithmetic expansion, and quote removal, subject to the value of the
p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs shell option (see the description of the s\bsh\bho\bop\bpt\bt command under
- S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). This can have unwanted side effects if
- escaped portions of the string appear within command substitution or
+ S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). This can have unwanted side effects if
+ escaped portions of the string appear within command substitution or
contain characters special to word expansion.
R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
- This is the library that handles reading input when using an interac-
+ This is the library that handles reading input when using an interac-
tive shell, unless the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option is given at shell invocation.
Line editing is also used when using the -\b-e\be option to the r\bre\bea\bad\bd builtin.
By default, the line editing commands are similar to those of Emacs. A
vi-style line editing interface is also available. Line editing can be
- enabled at any time using the -\b-o\bo e\bem\bma\bac\bcs\bs or -\b-o\bo v\bvi\bi options to the s\bse\bet\bt
- builtin (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). To turn off line editing
- after the shell is running, use the +\b+o\bo e\bem\bma\bac\bcs\bs or +\b+o\bo v\bvi\bi options to the
+ enabled at any time using the -\b-o\bo e\bem\bma\bac\bcs\bs or -\b-o\bo v\bvi\bi options to the s\bse\bet\bt
+ builtin (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). To turn off line editing
+ after the shell is running, use the +\b+o\bo e\bem\bma\bac\bcs\bs or +\b+o\bo v\bvi\bi options to the
s\bse\bet\bt builtin.
R\bRe\bea\bad\bdl\bli\bin\bne\be N\bNo\bot\bta\bat\bti\bio\bon\bn
In this section, the Emacs-style notation is used to denote keystrokes.
- Control keys are denoted by C-_\bk_\be_\by, e.g., C-n means Control-N. Simi-
- larly, _\bm_\be_\bt_\ba keys are denoted by M-_\bk_\be_\by, so M-x means Meta-X. (On key-
- boards without a _\bm_\be_\bt_\ba key, M-_\bx means ESC _\bx, i.e., press the Escape key
+ Control keys are denoted by C-_\bk_\be_\by, e.g., C-n means Control-N. Simi-
+ larly, _\bm_\be_\bt_\ba keys are denoted by M-_\bk_\be_\by, so M-x means Meta-X. (On key-
+ boards without a _\bm_\be_\bt_\ba key, M-_\bx means ESC _\bx, i.e., press the Escape key
then the _\bx key. This makes ESC the _\bm_\be_\bt_\ba _\bp_\br_\be_\bf_\bi_\bx. The combination M-C-_\bx
- means ESC-Control-_\bx, or press the Escape key then hold the Control key
+ means ESC-Control-_\bx, or press the Escape key then hold the Control key
while pressing the _\bx key.)
Readline commands may be given numeric _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, which normally act as
- a repeat count. Sometimes, however, it is the sign of the argument
- that is significant. Passing a negative argument to a command that
- acts in the forward direction (e.g., k\bki\bil\bll\bl-\b-l\bli\bin\bne\be) causes that command to
- act in a backward direction. Commands whose behavior with arguments
+ a repeat count. Sometimes, however, it is the sign of the argument
+ that is significant. Passing a negative argument to a command that
+ acts in the forward direction (e.g., k\bki\bil\bll\bl-\b-l\bli\bin\bne\be) causes that command to
+ act in a backward direction. Commands whose behavior with arguments
deviates from this are noted below.
- When a command is described as _\bk_\bi_\bl_\bl_\bi_\bn_\bg text, the text deleted is saved
+ When a command is described as _\bk_\bi_\bl_\bl_\bi_\bn_\bg text, the text deleted is saved
for possible future retrieval (_\by_\ba_\bn_\bk_\bi_\bn_\bg). The killed text is saved in a
_\bk_\bi_\bl_\bl _\br_\bi_\bn_\bg. Consecutive kills cause the text to be accumulated into one
unit, which can be yanked all at once. Commands which do not kill text
separate the chunks of text on the kill ring.
R\bRe\bea\bad\bdl\bli\bin\bne\be I\bIn\bni\bit\bti\bia\bal\bli\biz\bza\bat\bti\bio\bon\bn
- Readline is customized by putting commands in an initialization file
- (the _\bi_\bn_\bp_\bu_\bt_\br_\bc file). The name of this file is taken from the value of
+ Readline is customized by putting commands in an initialization file
+ (the _\bi_\bn_\bp_\bu_\bt_\br_\bc file). The name of this file is taken from the value of
the I\bIN\bNP\bPU\bUT\bTR\bRC\bC variable. If that variable is unset, the default is _\b~_\b/_\b._\bi_\bn_\b-
- _\bp_\bu_\bt_\br_\bc. If that file does not exist or cannot be read, the ultimate
- default is _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc. When a program which uses the readline li-
- brary starts up, the initialization file is read, and the key bindings
- and variables are set. There are only a few basic constructs allowed
- in the readline initialization file. Blank lines are ignored. Lines
- beginning with a #\b# are comments. Lines beginning with a $\b$ indicate
- conditional constructs. Other lines denote key bindings and variable
+ _\bp_\bu_\bt_\br_\bc. If that file does not exist or cannot be read, the ultimate
+ default is _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc. When a program which uses the readline li-
+ brary starts up, the initialization file is read, and the key bindings
+ and variables are set. There are only a few basic constructs allowed
+ in the readline initialization file. Blank lines are ignored. Lines
+ beginning with a #\b# are comments. Lines beginning with a $\b$ indicate
+ conditional constructs. Other lines denote key bindings and variable
settings.
- The default key-bindings may be changed with an _\bi_\bn_\bp_\bu_\bt_\br_\bc file. Other
+ The default key-bindings may be changed with an _\bi_\bn_\bp_\bu_\bt_\br_\bc file. Other
programs that use this library may add their own commands and bindings.
For example, placing
or
C-Meta-u: universal-argument
- into the _\bi_\bn_\bp_\bu_\bt_\br_\bc would make M-C-u execute the readline command _\bu_\bn_\bi_\bv_\be_\br_\b-
+ into the _\bi_\bn_\bp_\bu_\bt_\br_\bc would make M-C-u execute the readline command _\bu_\bn_\bi_\bv_\be_\br_\b-
_\bs_\ba_\bl_\b-_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.
- The following symbolic character names are recognized: _\bR_\bU_\bB_\bO_\bU_\bT, _\bD_\bE_\bL,
+ The following symbolic character names are recognized: _\bR_\bU_\bB_\bO_\bU_\bT, _\bD_\bE_\bL,
_\bE_\bS_\bC, _\bL_\bF_\bD, _\bN_\bE_\bW_\bL_\bI_\bN_\bE, _\bR_\bE_\bT, _\bR_\bE_\bT_\bU_\bR_\bN, _\bS_\bP_\bC, _\bS_\bP_\bA_\bC_\bE, 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).
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
+ 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 name may be speci-
fied 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.
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
the symbolic character names are not 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 is
\\b\"\b" literal "
\\b\'\b' literal '
- 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. In the macro body, the backslash escapes described above
- are expanded. Backslash will quote any other character in the macro
+ tion name. In the macro body, the backslash escapes described above
+ are expanded. Backslash will quote any other character in the macro
text, including " and '.
- B\bBa\bas\bsh\bh allows the current readline key bindings to be displayed or modi-
- fied with the b\bbi\bin\bnd\bd builtin command. The editing mode may be switched
- during interactive use by using the -\b-o\bo option to the s\bse\bet\bt builtin com-
+ B\bBa\bas\bsh\bh allows the current readline key bindings to be displayed or modi-
+ fied with the b\bbi\bin\bnd\bd builtin command. The editing mode may be switched
+ during interactive use by using the -\b-o\bo option to the s\bse\bet\bt builtin com-
mand (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
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 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 (the default), readline attempts to bind the con-
+ If set to O\bOn\bn (the default), readline attempts to bind the con-
trol characters that are treated specially by the kernel's ter-
- minal driver to their readline equivalents. These override the
- default readline bindings described here. Type "stty -a" at a
+ minal 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 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 is inserted when the readline i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt
+ The string that is inserted when the readline i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt
command is executed. This command is bound to M\bM-\b-#\b# in emacs mode
and to #\b# in vi command 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 length in characters of the common prefix of a list of pos-
- sible completions that is displayed without modification. When
- set to a value greater than zero, common prefixes longer than
- this value are replaced with an ellipsis when displaying possi-
+ The length in characters of the common prefix of a list of pos-
+ sible completions that is displayed without modification. When
+ set to a value greater than zero, common prefixes longer than
+ this value are replaced with an ellipsis when displaying possi-
ble 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
- they are simply listed 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
+ they are simply listed 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 with the eighth
+ If set to O\bOn\bn, readline will convert characters with the eighth
bit set to an ASCII key sequence by stripping the eighth bit and
- prefixing an escape character (in effect, using escape as 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 eight-bit characters. This variable
- is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE locale category, and may change if
+ prefixing an escape character (in effect, using escape as 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 eight-bit characters. This variable
+ is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE locale category, and may change if
the locale is changed.
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)
ilar 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. Use the \1 and \2
- escapes to begin and end sequences of non-printing characters,
- which can be used to embed a terminal control sequence into the
+ key binding, so the standard set of meta- and control prefixes
+ and backslash escape sequences is available. Use the \1 and \2
+ escapes to 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
+ 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 prevents readline from executing any editing
commands bound to key sequences 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)
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
- key the terminal claims to support when it is called. On many
+ When set to O\bOn\bn, readline will try to enable any meta modifier
+ key the terminal claims to support when it is called. On many
terminals, the meta key is used to send eight-bit characters.
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, tilde expansion is performed when readline at-
+ If set to O\bOn\bn, tilde expansion is performed when readline at-
tempts word completion.
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, the
- number of history entries is set to the value of the H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE
- shell variable. If an attempt is made to set _\bh_\bi_\bs_\bt_\bo_\br_\by_\b-_\bs_\bi_\bz_\be to a
+ the number of history entries is not limited. By default, the
+ number of history entries is set to the value of the H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE
+ shell variable. If an attempt is made to set _\bh_\bi_\bs_\bt_\bo_\br_\by_\b-_\bs_\bi_\bz_\be to a
non-numeric value, the maximum number of history entries will be
set 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)
- When set to O\bOn\bn, makes readline use a single line for display,
+ When set 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 for terminals
+ 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
+ If set to O\bOn\bn, readline will enable eight-bit input (that is, it
will not strip the eighth bit from the characters it reads), re-
- gardless of what the terminal claims it can support. The name
- m\bme\bet\bta\ba-\b-f\bfl\bla\bag\bg is a synonym for this variable. The default is _\bO_\bf_\bf,
- but readline will set it to _\bO_\bn if the locale contains eight-bit
- characters. This variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE locale
+ gardless of what the terminal claims it can support. The name
+ m\bme\bet\bta\ba-\b-f\bfl\bla\bag\bg is a synonym for this variable. The default is _\bO_\bf_\bf,
+ but readline will set it to _\bO_\bn if the locale contains eight-bit
+ characters. This variable is dependent on the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE locale
category, and may change if the locale is changed.
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 no input is re-
- ceived within the timeout, _\br_\be_\ba_\bd_\bl_\bi_\bn_\be will use the shorter but
- complete key sequence. The value is specified in milliseconds,
- so a value of 1000 means that _\br_\be_\ba_\bd_\bl_\bi_\bn_\be will wait one second for
- additional input. If this variable is set to a value less than
- or equal to zero, or to a non-numeric value, _\br_\be_\ba_\bd_\bl_\bi_\bn_\be will wait
- until another key is pressed to decide which key sequence to
+ input to complete a longer key sequence). If no input is re-
+ ceived within the timeout, _\br_\be_\ba_\bd_\bl_\bi_\bn_\be will use the shorter but
+ complete key sequence. The value is specified in milliseconds,
+ so a value of 1000 means that _\br_\be_\ba_\bd_\bl_\bi_\bn_\be will wait one second for
+ additional input. If this variable is set to a value less than
+ or equal to zero, or to a non-numeric value, _\br_\be_\ba_\bd_\bl_\bi_\bn_\be will wait
+ until another key is pressed to decide which key sequence 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, history lines that have been modified are dis-
+ If set to O\bOn\bn, history lines that have been modified are dis-
played 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 eight-bit characters. This variable is dependent on
- the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE locale category, and may change if the locale is
+ contains eight-bit characters. This variable is dependent on
+ the L\bLC\bC_\b_C\bCT\bTY\bYP\bPE\bE locale category, and may change if the locale is
changed.
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\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
+ If set to O\bOn\bn, readline will undo all changes to history lines
before returning when a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be is executed. By default, his-
- tory lines may be modified and retain individual undo lists
+ 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.
- Use the \1 and \2 escapes to begin and end sequences of non-
- printing characters, which can be used to embed a terminal con-
+ control prefixes and backslash escape sequences is available.
+ Use the \1 and \2 escapes to begin and end sequences of non-
+ printing characters, which can be used to embed a terminal con-
trol sequence 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.
- Use the \1 and \2 escapes to begin and end sequences of non-
- printing characters, which can be used to embed a terminal con-
+ control prefixes and backslash escape sequences is available.
+ Use the \1 and \2 escapes to begin and end sequences of non-
+ printing characters, which can be used to embed a terminal con-
trol sequence 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 used.
- $\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 _\bs_\bu_\bn to match both _\bs_\bu_\bn and _\bs_\bu_\bn_\b-_\bc_\bm_\bd,
+ minal and the portion of the terminal name before the
+ first -\b-. This allows _\bs_\bu_\bn to match both _\bs_\bu_\bn and _\bs_\bu_\bn_\b-_\bc_\bm_\bd,
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 is assumed to be 0\b0.
+ If the minor version is omitted, it is assumed to be 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. Both string and boolean vari-
- ables may be tested. Boolean variables must be tested
+ operator may be separated from the value on the right
+ hand side by whitespace. Both string and boolean vari-
+ ables may be tested. Boolean variables must be tested
against the values _\bo_\bn and _\bo_\bf_\bf.
$\b$e\ben\bnd\bdi\bif\bf This command, as seen in the previous example, terminates an $\b$i\bif\bf
test fails.
$\b$i\bin\bnc\bcl\blu\bud\bde\be
- This directive takes a single filename as an argument and reads
- commands and bindings from that file. For example, the follow-
+ This directive takes a single filename as an argument and reads
+ commands and bindings from that file. For example, the follow-
ing 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. The characters 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
+ so far. An incremental search requires only as many characters as
+ needed to find the desired history entry. The characters 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 assigned a value the
- Escape and Control-J characters will terminate an incremental search.
- Control-G will abort an incremental search and restore the original
- line. When the search is terminated, the history entry containing the
+ Escape and Control-J characters will terminate an incremental search.
+ Control-G 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 Control-S or
- Control-R 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 execute that command. For instance, a _\bn_\be_\bw_\bl_\bi_\bn_\be will termi-
+ To find other matching entries in the history list, type Control-S or
+ Control-R 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 execute that command. For instance, a _\bn_\be_\bw_\bl_\bi_\bn_\be will termi-
nate the search and accept the line, thereby executing the command from
the history list.
Readline remembers the last incremental search string. If two Control-
- Rs are typed without any intervening characters defining a new search
+ Rs are 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
- to search for matching history lines. The search string may be typed
+ Non-incremental searches read the entire search string before starting
+ to search for matching history lines. 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 descrip-
- tions, _\bp_\bo_\bi_\bn_\bt refers to the current cursor position, and _\bm_\ba_\br_\bk refers to
- a cursor position saved by the s\bse\bet\bt-\b-m\bma\bar\brk\bk command. The text between the
+ tions, _\bp_\bo_\bi_\bn_\bt refers to the current cursor position, and _\bm_\ba_\br_\bk refers to
+ a cursor position saved by the s\bse\bet\bt-\b-m\bma\bar\brk\bk command. The text between the
point and mark is referred to as the _\br_\be_\bg_\bi_\bo_\bn.
C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br M\bMo\bov\bvi\bin\bng\bg
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
+ Attempt to move point to the same physical screen column on the
next physical screen line. This will not have the desired effect
- if the current readline line does not take up more than one
- physical line or if the length of the current readline line is
+ if the current readline line does not take up more than one
+ physical line or if the length of the current readline line is
not greater than the length of the prompt plus the screen width.
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 variable. If the line is a modified history
+ 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 variable. If the line is a modified history
line, then 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 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
+ Accept the current line for execution 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 backward starting at the current line and moving "up"
+ through the history as necessary. This is an incremental
search.
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 forward starting at the current line and moving "down"
+ through the history as necessary. This is an incremental
search.
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.
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.
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
- between the start of the current line and the point. This is a
+ Search forward through the history for the string of characters
+ between the start of the current line and the point. This is a
non-incremental search.
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
Search backward through the history for the string of characters
- between the start of the current line and the point. This is a
+ between the start of the current line and the point. This is a
non-incremental 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-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 current cursor po-
- sition (the _\bp_\bo_\bi_\bn_\bt). The search string may match anywhere in a
+ sition (the _\bp_\bo_\bi_\bn_\bt). The search string may match anywhere in a
history line. This is a non-incremental 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, the argument is extracted as if the
+ 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, the argument is extracted as if the
"!_\bn" history expansion 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
+ calls determines the direction to move through the history. A
+ negative argument switches the direction through the history
(back or forward). The history expansion facilities are used to
extract the last 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.
same character as the tty E\bEO\bOF\bF character, as C\bC-\b-d\bd commonly is, see
above for the effects.
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.
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.
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, charac-
- ters 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. Characters bound to b\bba\bac\bck\bk-\b-
- w\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br replace the character before point with a
+ ters 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. Characters bound to b\bba\bac\bck\bk-\b-
+ w\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br replace the character before point with a
space. By default, this command is unbound.
K\bKi\bil\bll\bli\bin\bng\bg a\ban\bnd\bd Y\bYa\ban\bnk\bki\bin\bng\bg
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 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. The
+ Kill backward from point to the beginning of the line. The
killed text is saved 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
- 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. The killed text is saved 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. The killed text is saved on
+ Kill the word behind point, using white space and the slash
+ character as the word boundaries. The killed text is saved on
the kill-ring.
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.
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.
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
+ Attempt to perform completion on the text before point. B\bBa\bas\bsh\bh
attempts completion treating the text as a variable (if the text
- begins with $\b$), username (if the text begins with ~\b~), hostname
- (if the text begins with @\b@), or command (including aliases and
+ begins with $\b$), username (if the text begins with ~\b~), hostname
+ (if the text begins with @\b@), or command (including aliases and
functions) in turn. If none of these produces a match, filename
completion is attempted.
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.
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.
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. Repeated
- execution of 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
+ 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. Repeated
+ execution of 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, the bell is rung (subject to the setting of
b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be) and the original text is restored. An argument of _\bn
moves _\bn positions forward in the list of matches; a negative ar-
gument may be used to move 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). If at the end of the
+ 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). If at the end of the
line, 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
- against lines from the history list for possible completion
+ Attempt completion on the text before point, comparing the text
+ against lines from the history list 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,
the mark is set 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. The current cursor position is
- set to the saved position, and the old cursor position is saved
+ Swap the point with the mark. The current cursor position is
+ set to the saved position, and the old cursor position is saved
as the mark.
c\bch\bha\bar\bra\bac\bct\bte\ber\br-\b-s\bse\bea\bar\brc\bch\bh (\b(C\bC-\b-]\b])\b)
A character is read and point is moved to the next occurrence of
- that character. A negative argument searches for previous oc-
+ that character. A negative argument searches for previous oc-
currences.
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)
- A character is read and point is moved to the previous occur-
- rence of that character. A negative argument searches for sub-
+ A character is read and point is moved to the previous occur-
+ rence of that character. A negative argument searches for sub-
sequent occurrences.
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. Such sequences begin
+ Read enough characters to consume a multi-key sequence such as
+ those defined for keys like Home and End. Such sequences begin
with a Control Sequence Indicator (CSI), usually ESC-[. If this
- sequence is bound to "\[", keys producing such 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 "\[", keys producing such 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, the value of the readline c\bco\bom\bm-\b-
- m\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn variable is inserted at the beginning of the current
+ Without a numeric argument, the value of the readline c\bco\bom\bm-\b-
+ m\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn variable is inserted 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, the value is inserted, other-
+ 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, the value is inserted, other-
wise the characters in c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn are deleted from the begin-
- ning 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 re-
+ ning 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 re-
moved, the line will be executed 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)
- The word before point is treated as a pattern for pathname ex-
- pansion, with an asterisk implicitly appended. This pattern is
- used to generate a list of matching filenames for possible com-
+ The word before point is treated as a pattern for pathname ex-
+ pansion, with an asterisk implicitly appended. This pattern is
+ used to generate a list of matching filenames for possible com-
pletions.
g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\bd (\b(C\bC-\b-x\bx *\b*)\b)
- The word before point is treated as a pattern for pathname ex-
+ The word before point is treated as a pattern for pathname ex-
pansion, and the list of matching filenames is inserted, replac-
ing the word. If a numeric argument is supplied, an asterisk is
appended before pathname expansion.
g\bgl\blo\bob\bb-\b-l\bli\bis\bst\bt-\b-e\bex\bxp\bpa\ban\bns\bsi\bio\bon\bns\bs (\b(C\bC-\b-x\bx g\bg)\b)
- 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 is displayed, and the line is redrawn. If a
- numeric argument is supplied, an asterisk is appended before
+ 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 is displayed, and the line is redrawn. If a
+ numeric argument is supplied, an asterisk is appended 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
- strings they output. If a numeric argument is supplied, the
+ Print all of the readline key sequences bound to macros and the
+ strings they output. 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\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 word completion is attempted for an argument to a command for
- which a completion specification (a _\bc_\bo_\bm_\bp_\bs_\bp_\be_\bc) has been defined using
+ When word completion is attempted 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), the programma-
ble completion facilities are invoked.
- First, the command name is identified. If the command word is the
- empty string (completion attempted at the beginning of an empty line),
- any compspec defined with the -\b-E\bE option to c\bco\bom\bmp\bpl\ble\bet\bte\be is used. If a
- compspec has been defined for that command, the compspec is used to
+ First, the command name is identified. If the command word is the
+ empty string (completion attempted at the beginning of an empty line),
+ any compspec defined with the -\b-E\bE option to c\bco\bom\bmp\bpl\ble\bet\bte\be is used. If a
+ compspec has been defined for that command, the compspec is used to
generate the list of possible completions for the word. If the command
- word is a full pathname, a compspec for the full pathname is searched
- for first. If no compspec is found for the full pathname, an attempt
- is made to 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
+ word is a full pathname, a compspec for the full pathname is searched
+ for first. If no compspec is found for the full pathname, an attempt
+ is made to 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.
- Once a compspec has been found, it is used to generate the list of
- matching words. If a compspec is not found, the default b\bba\bas\bsh\bh comple-
+ Once a compspec has been found, it is used to generate the list of
+ matching words. If a compspec is not found, the default b\bba\bas\bsh\bh comple-
tion as described above under C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg is performed.
- First, the actions specified by the compspec are used. 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 completion, the
+ First, the actions specified by the compspec are used. 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 completion, the
shell variable F\bFI\bIG\bGN\bNO\bOR\bRE\bE is used 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
- match the word being completed. The G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable is not
+ tion are generated next. The words generated by the pattern need not
+ match the word being completed. The G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable is not
used to filter the matches, but the F\bFI\bIG\bGN\bNO\bOR\bRE\bE variable is used.
- Next, the string specified as the argument to the -\b-W\bW option is consid-
- ered. The string is first split using the characters in the I\bIF\bFS\bS spe-
- cial 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, the string specified as the argument to the -\b-W\bW option is consid-
+ ered. The string is first split using the characters in the I\bIF\bFS\bS spe-
+ cial 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 the possible completions.
- After these matches have been generated, any shell function or command
- specified with the -\b-F\bF and -\b-C\bC options is invoked. When the command or
+ After these matches have been generated, any shell function or command
+ specified with the -\b-F\bF and -\b-C\bC options is invoked. 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 C\bCO\bOM\bMP\bP_\b_C\bCW\bWO\bOR\bRD\bD
- variables are also set. When the function or command is invoked, the
- first argument ($\b$1\b1) is the name of the command whose arguments are be-
- ing 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 com-
+ 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 invoked, the
+ first argument ($\b$1\b1) is the name of the command whose arguments are be-
+ ing 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 com-
pleted on the current command line. No filtering of the generated com-
pletions against the word being completed is performed; the function or
command has complete freedom in generating the matches.
- 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 builtin described
- below, to generate the matches. It must put the possible completions
+ 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 builtin 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
+ 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.
- 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 the readline completion code 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, directory name completion is attempted.
- 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
+ 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, directory name completion is attempted and any matches are
added to the results of the other actions.
- By default, if a compspec is found, whatever it generates is returned
- to the completion code as the full set of possible completions. The
+ 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 are not attempted, and the readline default of
filename completion is disabled. If the -\b-o\bo b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt option was sup-
- plied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was defined, the b\bba\bas\bsh\bh default com-
+ plied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was defined, the b\bba\bas\bsh\bh default com-
pletions are attempted if the compspec generates no matches. If the -\b-o\bo
- d\bde\bef\bfa\bau\bul\blt\bt option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was defined,
- readline's default completion will be performed if the compspec (and,
+ d\bde\bef\bfa\bau\bul\blt\bt option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was defined,
+ readline's default completion will be performed if the compspec (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 handlers 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 handlers 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
+ 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 text of the last H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE com-
- mands (default 500) is saved. The shell stores each command in the
- history list prior to parameter and variable expansion (see E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
- above) but after history expansion is performed, subject to the values
+ mands (default 500) is saved. The shell stores each command in the
+ history list prior to parameter and variable expansion (see E\bEX\bXP\bPA\bAN\bNS\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, the history is initialized from the file named by the vari-
- able H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE (default _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by). The file named by the value
- of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is truncated, if necessary, to contain no more than the
- number of lines specified by the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE. If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE-\b-
- S\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 truncated. When the history
- file is read, lines beginning with the history comment character fol-
+ able H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE (default _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by). The file named by the value
+ of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is truncated, if necessary, to contain no more than the
+ number of lines specified by the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE. If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE-\b-
+ S\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 truncated. When the history
+ file is read, lines beginning with the history comment character fol-
lowed immediately by a digit are interpreted as timestamps for the fol-
lowing history line. These timestamps are optionally displayed depend-
- ing on the value of the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable. When a shell with
- history enabled exits, the last $\b$H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE lines are copied 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), the
- lines are appended to the history file, otherwise the history file is
- overwritten. 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. If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable
- is set, time stamps are written to the history file, marked with the
- history comment character, so they may be preserved across shell ses-
- sions. This uses the history comment character to distinguish time-
+ ing on the value of the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable. When a shell with
+ history enabled exits, the last $\b$H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE lines are copied 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), the
+ lines are appended to the history file, otherwise the history file is
+ overwritten. 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. If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable
+ is set, time stamps are written to the history file, marked with the
+ history comment character, so they may be preserved across shell ses-
+ sions. This uses the history comment character to distinguish time-
stamps from other history lines. After saving the history, the history
file is truncated to contain no more than H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE lines. If H\bHI\bIS\bST\bT-\b-
- F\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE is unset, or set to null, a non-numeric value, or a numeric
+ F\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 truncated.
- The builtin command f\bfc\bc (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) may be used
+ The builtin command f\bfc\bc (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) may be used
to list or edit and re-execute a portion of the history list. The h\bhi\bis\bs-\b-
- t\bto\bor\bry\by builtin may be used to display or modify the history list and ma-
- nipulate the history file. When using command-line editing, search
- commands are available in each editing mode that provide access to the
+ t\bto\bor\bry\by builtin may be used to display or modify the history list and ma-
+ nipulate the history file. 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
- 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 cause the
+ 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 cause the
shell to save only a subset of the commands entered. The c\bcm\bmd\bdh\bhi\bis\bst\bt shell
- option, if enabled, causes the shell to attempt 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
- causes the shell to save the command with embedded newlines instead of
+ option, if enabled, causes the shell to attempt 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
+ causes the shell to save 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 op-
+ B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS for information on setting and unsetting shell op-
tions.
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
- are available. This feature is enabled by default for interactive
+ 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. This feature is enabled by default for interactive
shells, and can be disabled using the +\b+H\bH option to the s\bse\bet\bt builtin com-
mand (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). Non-interactive shells do not
perform history expansion by default.
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 without taking quoting on previous lines into ac-
- count. It takes place in two parts. The first is to determine which
- line from the history list to use during substitution. The second is
- to select portions of that line for inclusion into the current one.
- The line selected from the history is the _\be_\bv_\be_\bn_\bt, and the portions of
+ 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 without taking quoting on previous lines into ac-
+ count. It takes place in two parts. The first is to determine which
+ line from the history list to use during substitution. The second is
+ to select portions of that line for inclusion into the current one.
+ The line selected from the history is the _\be_\bv_\be_\bn_\bt, and the portions of
that line that are acted upon are _\bw_\bo_\br_\bd_\bs. The line is broken 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-
+ 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 entry, using an
- event designator equivalent to !\b!!\b!, and substitutes one string for an-
- other in that line. It is described below under E\bEv\bve\ben\bnt\bt D\bDe\bes\bsi\big\bgn\bna\bat\bto\bor\brs\bs.
+ event designator equivalent to !\b!!\b!, and substitutes one string for an-
+ other in that line. It is described below under E\bEv\bve\ben\bnt\bt D\bDe\bes\bsi\big\bgn\bna\bat\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 may be used to
- tailor the behavior of history expansion. If the h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by shell op-
- tion is enabled (see the description of the s\bsh\bho\bop\bpt\bt builtin below), and
- r\bre\bea\bad\bdl\bli\bin\bne\be is being used, history substitutions are not immediately
- passed to the shell parser. Instead, the expanded line is reloaded
+ Several shell options settable with the s\bsh\bho\bop\bpt\bt builtin may be used to
+ tailor the behavior of history expansion. If the h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by shell op-
+ tion is enabled (see the description of the s\bsh\bho\bop\bpt\bt builtin below), and
+ r\bre\bea\bad\bdl\bli\bin\bne\be is being 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 editing 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 will be 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 may be
- used to see what a history expansion will do before using it. The -\b-s\bs
+ is being used, and the h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt shell option is enabled, a failed
+ history substitution will be 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 may be
+ used to see what a history expansion will do before using it. The -\b-s\bs
option to the h\bhi\bis\bst\bto\bor\bry\by builtin may be used to add commands to the end of
- the history list without actually executing them, so that they are
+ the history list without actually executing 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 a command line entry in the his-
- tory list. The event designator consists of the portion of the word
+ An event designator is a reference to a command line entry in the his-
+ tory 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, events are relative to the current position in the history
+ 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 command line _\bn.
!\b!-\b-_\bn Refer to the current command minus _\bn.
!\b!!\b! Refer to the previous command. 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, the string from the most recent search is
+ 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, the string from the most recent search is
used; 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.
W\bWo\bor\brd\bd D\bDe\bes\bsi\big\bgn\bna\bat\bto\bor\brs\bs
- Word designators are used to select desired words from the 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 inserted into the current line sepa-
+ Word designators are used to select desired words from the 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 inserted into the current line sepa-
rated 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. That is, 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
+ %\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.
_\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; the empty string is returned 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.
M\bMo\bod\bdi\bif\bfi\bie\ber\brs\bs
- After the optional word designator, there may appear a sequence of one
+ After the optional word designator, there may appear a sequence of one
or more of the following modifiers, each preceded by a ":". These mod-
ify, or edit, the word or words selected from the history event.
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; the last one supplied is used.
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 final delimiter is optional if it is the last character of
the event line. The delimiter may be quoted in _\bo_\bl_\bd and _\bn_\be_\bw with
a single backslash. If & appears in _\bn_\be_\bw, it is replaced by _\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 substi-
- tutions took place, the last _\bs_\bt_\br_\bi_\bn_\bg in a !\b!?\b?_\bs_\bt_\br_\bi_\bn_\bg[\b[?\b?]\b] search.
+ 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 substi-
+ tutions 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. _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
s\bso\bou\bur\brc\bce\be _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
Read and execute commands from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be in the current shell en-
- vironment and return the exit status of the last command exe-
- cuted from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be. If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not contain a slash,
- filenames in P\bPA\bAT\bTH\bH are used to find the directory containing
+ vironment and return the exit status of the last command exe-
+ cuted from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be. If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not contain a slash,
+ filenames in P\bPA\bAT\bTH\bH are used to find the directory containing
_\bf_\bi_\bl_\be_\bn_\ba_\bm_\be, but _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not need to be executable. The file
- searched for in P\bPA\bAT\bTH\bH need not be executable. When b\bba\bas\bsh\bh is not
- in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, it searches the current directory if no file is
- found in P\bPA\bAT\bTH\bH. If the s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh option to the s\bsh\bho\bop\bpt\bt builtin
- command is turned off, the P\bPA\bAT\bTH\bH is not searched. If any _\ba_\br_\bg_\bu_\b-
- _\bm_\be_\bn_\bt_\bs are supplied, they become the positional parameters when
- _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is executed. Otherwise the positional parameters are
- unchanged. If the -\b-T\bT option is enabled, .\b. inherits any trap on
+ searched for in P\bPA\bAT\bTH\bH need not be executable. When b\bba\bas\bsh\bh is not
+ in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, it searches the current directory if no file is
+ found in P\bPA\bAT\bTH\bH. If the s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh option to the s\bsh\bho\bop\bpt\bt builtin
+ command is turned off, the P\bPA\bAT\bTH\bH is not searched. If any _\ba_\br_\bg_\bu_\b-
+ _\bm_\be_\bn_\bt_\bs are supplied, they become the positional parameters when
+ _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is executed. Otherwise the positional parameters 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 call to .\b., and .\b. unsets the D\bDE\bEB\bBU\bUG\bG trap while it exe-
+ around the call to .\b., and .\b. unsets the D\bDE\bEB\bBU\bUG\bG trap while it exe-
cutes. If -\b-T\bT is not set, and the sourced file changes the D\bDE\bEB\bBU\bUG\bG
- trap, the new value is retained when .\b. completes. The return
- status is the status of the last command exited within the
+ trap, the new value is retained when .\b. completes. The return
+ status is the status of the last command exited within the
script (0 if no commands are executed), and false 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] ...]
A\bAl\bli\bia\bas\bs with no arguments or with the -\b-p\bp option 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, an alias is defined 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
+ 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, an alias is defined 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.
- For each _\bn_\ba_\bm_\be in the argument list for which no _\bv_\ba_\bl_\bu_\be is sup-
- plied, the name and value of the alias is printed. A\bAl\bli\bia\bas\bs re-
- turns true unless a _\bn_\ba_\bm_\be is given for which no alias has been
+ For each _\bn_\ba_\bm_\be in the argument list for which no _\bv_\ba_\bl_\bu_\be is sup-
+ plied, the name and value of the alias is printed. A\bAl\bli\bia\bas\bs re-
+ turns true unless a _\bn_\ba_\bm_\be is given 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
+ 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
+ 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
without job control.
- b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] [-\b-l\blp\bps\bsv\bvP\bPS\bSV\bVX\bX]
+ 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-q\bq _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn] [-\b-u\bu _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn] [-\b-r\br _\bk_\be_\by_\bs_\be_\bq]
b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] -\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] -\b-x\bx _\bk_\be_\by_\bs_\be_\bq[:] _\bs_\bh_\be_\bl_\bl_\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:_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be
+ 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 set a r\bre\bea\bad\bdl\bli\bin\bne\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 set a r\bre\bea\bad\bdl\bli\bin\bne\be
variable. Each non-option argument is a command as it would ap-
- pear in a r\bre\bea\bad\bdl\bli\bin\bne\be initialization 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 de-
- scriptions, output available to be re-read is formatted as com-
- mands that would appear 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 com-
+ pear in a r\bre\bea\bad\bdl\bli\bin\bne\be initialization 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 de-
+ scriptions, output available to be re-read is formatted as com-
+ mands that would appear 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 com-
mand. Options, if supplied, 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 re-read.
- -\b-P\bP List current r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings.
+ -\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 re-read. 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
+ 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 re-
read.
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-
+ guments.
+ +\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
+ 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 restricted. A restricted shell is used
- to set up an environment more controlled than the standard shell. It
- behaves identically to b\bba\bas\bsh\bh with the exception that the following are
+ invocation, the shell becomes restricted. A restricted shell is used
+ to set up an environment more controlled than the standard shell. It
+ behaves identically to b\bba\bas\bsh\bh with the exception that the following are
disallowed or not performed:
+\bo changing directories with c\bcd\bd
- +\bo setting or unsetting the values of S\bSH\bHE\bEL\bLL\bL, P\bPA\bAT\bTH\bH, H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, E\bEN\bNV\bV,
+ +\bo setting or unsetting the values of S\bSH\bHE\bEL\bLL\bL, P\bPA\bAT\bTH\bH, H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE, E\bEN\bNV\bV,
or B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV
+\bo specifying command names containing /\b/
- +\bo specifying a filename containing a /\b/ as an argument to the .\b.
+ +\bo specifying a filename containing a /\b/ as an argument to the .\b.
builtin command
- +\bo specifying a filename containing a slash as an argument to the
+ +\bo specifying a filename containing a slash as an argument to the
h\bhi\bis\bst\bto\bor\bry\by builtin command
- +\bo specifying a filename containing a slash as an argument to the
+ +\bo specifying a filename containing a slash as an argument to the
-\b-p\bp option to the h\bha\bas\bsh\bh builtin command
- +\bo importing function definitions from the shell environment at
+ +\bo importing function definitions from the shell environment at
startup
- +\bo parsing the value of S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS from the shell environment at
+ +\bo parsing the value of S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS from the shell environment at
startup
- +\bo redirecting output using the >, >|, <>, >&, &>, and >> 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.
There may be only one active coprocess at a time.
-GNU Bash 5.3 2024 March 29 _\bB_\bA_\bS_\bH(1)
+GNU Bash 5.3 2024 April 23 _\bB_\bA_\bS_\bH(1)
.\" Case Western Reserve University
.\" chet.ramey@case.edu
.\"
-.\" Last Change: Fri Mar 29 11:54:22 EDT 2024
+.\" Last Change: Tue Apr 23 15:08:01 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 March 29" "GNU Bash 5.3"
+.TH BASH 1 "2024 April 23" "GNU Bash 5.3"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
[options]
[command_string | file]
.SH COPYRIGHT
-.if n Bash is Copyright (C) 1989-2023 by the Free Software Foundation, Inc.
-.if t Bash is Copyright \(co 1989-2023 by the Free Software Foundation, Inc.
+.if n Bash is Copyright (C) 1989-2024 by the Free Software Foundation, Inc.
+.if t Bash is Copyright \(co 1989-2024 by the Free Software Foundation, Inc.
.SH DESCRIPTION
.B Bash
is an \fBsh\fP-compatible command language interpreter that
.TP
.B ?
Expands to the exit status of the most recently executed foreground
-pipeline.
+command.
.TP
.B \-
Expands to the current option flags as specified upon invocation,
An array variable (see
.B Arrays
below) containing a list of exit status values from the processes
-in the most-recently-executed foreground pipeline (which may
-contain only a single command).
+in the most-recently-executed foreground pipeline, which may
+consist of only a simple command
+(see
+.B "SHELL GRAMMAR"
+above).
.TP
.B PPID
The process ID of the shell's parent. This variable is readonly.
job control enabled, any specified \fIjobspec\fP was not found
or was started without job control.
.TP
-\fBbind\fP [\fB\-m\fP \fIkeymap\fP] [\fB\-lpsvPSVX\fP]
+\fBbind\fP [\fB\-m\fP \fIkeymap\fP] [\fB\-lsvSVX\fP]
.PD 0
.TP
\fBbind\fP [\fB\-m\fP \fIkeymap\fP] [\fB\-q\fP \fIfunction\fP] [\fB\-u\fP \fIfunction\fP] [\fB\-r\fP \fIkeyseq\fP]
.TP
\fBbind\fP [\fB\-m\fP \fIkeymap\fP] \fIkeyseq\fP:\fIfunction\-name\fP
.TP
+\fBbind\fP [\fB\-m\fP \fIkeymap\fP] \fB\-p\fP|\fB\-P\fP [\fIreadline\-command\fP]
+.TP
\fBbind\fP [\fB\-m\fP \fIkeymap\fP] \fIkeyseq\fP:\fIreadline\-command\fP
.TP
\fBbind\fP \fIreadline-command-line\fP
.B \-p
Display \fBreadline\fP function names and bindings in such a way
that they can be re-read.
+If arguments remain after option processing, \fBbind\fP treats
+them as readline command names and restricts output to those names.
.TP
.B \-P
List current \fBreadline\fP function names and bindings.
+If arguments remain after option processing, \fBbind\fP treats
+them as readline command names and restricts output to those names.
.TP
.B \-s
Display \fBreadline\fP key sequences bound to macros and the strings
enabled by the time the command is executed.
.RE
.PD
+.TP
+\fBcompat52\fP
+.PD 0
+.RS
+.IP \(bu
+The \fBtest\fP builtin uses its historical algorithm to parse parenthesized
+subexpressions when given five or more arguments.
+.IP \(bu
+If the \fB\-p\fP or \fB\-P\fP option is supplied to the \fBbind\fP builtin,
+\fBbind\fP treats any arguments remaining after option processing
+as bindable command names, and
+displays any key sequences bound to those commands, instead of treating
+the arguments as key sequences to bind.
+.RE
+.PD
.\" bash_builtins
.if \n(zZ=1 .ig zZ
.SH "RESTRICTED SHELL"
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
-<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2024 March 29<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2024 April 23<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
<H3>COPYRIGHT</H3>
-Bash is Copyright © 1989-2023 by the Free Software Foundation, Inc.
+Bash is Copyright © 1989-2024 by the Free Software Foundation, Inc.
<A NAME="lbAE"> </A>
<H3>DESCRIPTION</H3>
<DD>
Expands to the exit status of the most recently executed foreground
-pipeline.
+command.
<DT><B>-</B>
<DD>
<B>Arrays</B>
below) containing a list of exit status values from the processes
-in the most-recently-executed foreground pipeline (which may
-contain only a single command).
+in the most-recently-executed foreground pipeline, which may
+consist of only a simple command
+(see
+<B>SHELL GRAMMAR</B>
+
+above).
<DT><B>PPID</B>
<DD>
returns 0 unless run when job control is disabled or, when run with
job control enabled, any specified <I>jobspec</I> was not found
or was started without job control.
-<DT><B>bind</B> [<B>-m</B> <I>keymap</I>] [<B>-lpsvPSVX</B>]<DD>
+<DT><B>bind</B> [<B>-m</B> <I>keymap</I>] [<B>-lsvSVX</B>]<DD>
<DT><B>bind</B> [<B>-m</B> <I>keymap</I>] [<B>-q</B> <I>function</I>] [<B>-u</B> <I>function</I>] [<B>-r</B> <I>keyseq</I>]<DD>
<DT><B>bind</B> [<B>-m</B> <I>keymap</I>] <B>-f</B> <I>filename</I><DD>
<DT><B>bind</B> [<B>-m</B> <I>keymap</I>] <B>-x</B> <I>keyseq</I>[:] <I>shell-command</I><DD>
<DT><B>bind</B> [<B>-m</B> <I>keymap</I>] <I>keyseq</I>:<I>function-name</I><DD>
+<DT><B>bind</B> [<B>-m</B> <I>keymap</I>] <B>-p</B>|<B>-P</B> [<I>readline-command</I>]<DD>
<DT><B>bind</B> [<B>-m</B> <I>keymap</I>] <I>keyseq</I>:<I>readline-command</I><DD>
<DT><B>bind</B> <I>readline-command-line</I><DD>
<DD>
Display <B>readline</B> function names and bindings in such a way
that they can be re-read.
+If arguments remain after option processing, <B>bind</B> treats
+them as readline command names and restricts output to those names.
<DT><B>-P</B>
<DD>
List current <B>readline</B> function names and bindings.
+If arguments remain after option processing, <B>bind</B> treats
+them as readline command names and restricts output to those names.
<DT><B>-s</B>
<DD>
</DL></DL>
+<DT><B>compat52</B><DD>
+
+<DL COMPACT><DT><DD>
+<DL COMPACT>
+<DT>*<DD>
+The <B>test</B> builtin uses its historical algorithm to parse parenthesized
+subexpressions when given five or more arguments.
+<DT>*<DD>
+If the <B>-p</B> or <B>-P</B> option is supplied to the <B>bind</B> builtin,
+<B>bind</B> treats any arguments remaining after option processing
+as bindable command names, and
+displays any key sequences bound to those commands, instead of treating
+the arguments as key sequences to bind.
+</DL></DL>
+
+
</DL>
<HR>
<TABLE WIDTH=100%>
<TR>
-<TH ALIGN=LEFT width=33%>GNU Bash 5.3<TH ALIGN=CENTER width=33%>2024 March 29<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>GNU Bash 5.3<TH ALIGN=CENTER width=33%>2024 April 23<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
<DT><A HREF="#lbDI">BUGS</A><DD>
</DL>
<HR>
-This document was created by man2html from /usr/local/src/bash/bash-20240402/doc/bash.1.<BR>
-Time: 04 April 2024 17:50:28 EDT
+This document was created by man2html from /usr/local/src/bash/bash-20240422/doc/bash.1.<BR>
+Time: 23 April 2024 17:29:53 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, 5 April 2024).
+Bash shell (version 5.3, 23 April 2024).
- This is Edition 5.3, last updated 5 April 2024, of ‘The GNU Bash
+ This is Edition 5.3, last updated 23 April 2024, of ‘The GNU Bash
Reference Manual’, for ‘Bash’, Version 5.3.
Copyright © 1988-2023 Free Software Foundation, Inc.
*************
This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 5 April 2024). The Bash home page is
+Bash shell (version 5.3, 23 April 2024). The Bash home page is
<http://www.gnu.org/software/bash/>.
- This is Edition 5.3, last updated 5 April 2024, of ‘The GNU Bash
+ This is Edition 5.3, last updated 23 April 2024, of ‘The GNU Bash
Reference Manual’, for ‘Bash’, Version 5.3.
Bash contains features that appear in other popular shells, and some
‘?’
($?) Expands to the exit status of the most recently executed
- foreground pipeline.
+ foreground command.
‘-’
($-, a hyphen.) Expands to the current option flags as specified
Aliases::.
‘bind’
- bind [-m KEYMAP] [-lpsvPSVX]
+ bind [-m KEYMAP] [-lsvSVX]
bind [-m KEYMAP] [-q FUNCTION] [-u FUNCTION] [-r KEYSEQ]
bind [-m KEYMAP] -f FILENAME
bind [-m KEYMAP] -x KEYSEQ[: ]SHELL-COMMAND
bind [-m KEYMAP] KEYSEQ:FUNCTION-NAME
bind [-m KEYMAP] KEYSEQ:READLINE-COMMAND
+ bind [-m KEYMAP] -p|-P [READLINE-COMMAND]
bind READLINE-COMMAND-LINE
Display current Readline (*note Command Line Editing::) key and
‘-p’
Display Readline function names and bindings in such a way
that they can be used as an argument to a subsequent ‘bind’
- command or in a Readline initialization file.
+ command or in a Readline initialization file. If arguments
+ remain after option processing, ‘bind’ treats them as readline
+ command names and restricts output to those names.
‘-P’
- List current Readline function names and bindings.
+ List current Readline function names and bindings. If
+ arguments remain after option processing, ‘bind’ treats them
+ as readline command names and restricts output to those names.
‘-v’
Display Readline variable names and values in such a way that
‘PIPESTATUS’
An array variable (*note Arrays::) containing a list of exit status
values from the processes in the most-recently-executed foreground
- pipeline (which may contain only a single command).
+ pipeline, which may consist of only a simple command (*note Shell
+ Commands::).
‘POSIXLY_CORRECT’
If this variable is in the environment when Bash starts, the shell
• The ‘test’ builtin uses its historical algorithm to parse
parenthesized subexpressions when given five or more
arguments.
+ • If the ‘-p’ or ‘-P’ option is supplied to the ‘bind’ builtin,
+ ‘bind’ treats any arguments remaining after option processing
+ as bindable command names, and displays any key sequences
+ bound to those commands, instead of treating the arguments as
+ key sequences to bind.
\1f
File: bash.info, Node: Job Control, Next: Command Line Editing, Prev: Bash Features, Up: Top
* bind: Bash Builtins. (line 21)
* break: Bourne Shell Builtins.
(line 37)
-* builtin: Bash Builtins. (line 119)
-* caller: Bash Builtins. (line 128)
+* builtin: Bash Builtins. (line 124)
+* caller: Bash Builtins. (line 133)
* cd: Bourne Shell Builtins.
(line 45)
-* command: Bash Builtins. (line 145)
+* command: Bash Builtins. (line 150)
* compgen: Programmable Completion Builtins.
(line 12)
* complete: Programmable Completion Builtins.
(line 248)
* continue: Bourne Shell Builtins.
(line 90)
-* declare: Bash Builtins. (line 165)
+* declare: Bash Builtins. (line 170)
* dirs: Directory Stack Builtins.
(line 7)
* disown: Job Control Builtins.
(line 104)
-* echo: Bash Builtins. (line 268)
-* enable: Bash Builtins. (line 317)
+* echo: Bash Builtins. (line 273)
+* enable: Bash Builtins. (line 322)
* eval: Bourne Shell Builtins.
(line 99)
* exec: Bourne Shell Builtins.
(line 153)
* hash: Bourne Shell Builtins.
(line 197)
-* help: Bash Builtins. (line 355)
+* help: Bash Builtins. (line 360)
* history: Bash History Builtins.
(line 46)
* jobs: Job Control Builtins.
(line 27)
* kill: Job Control Builtins.
(line 58)
-* let: Bash Builtins. (line 374)
-* local: Bash Builtins. (line 382)
-* logout: Bash Builtins. (line 399)
-* mapfile: Bash Builtins. (line 404)
+* let: Bash Builtins. (line 379)
+* local: Bash Builtins. (line 387)
+* logout: Bash Builtins. (line 404)
+* mapfile: Bash Builtins. (line 409)
* popd: Directory Stack Builtins.
(line 35)
-* printf: Bash Builtins. (line 450)
+* printf: Bash Builtins. (line 455)
* pushd: Directory Stack Builtins.
(line 69)
* pwd: Bourne Shell Builtins.
(line 222)
-* read: Bash Builtins. (line 518)
-* readarray: Bash Builtins. (line 624)
+* read: Bash Builtins. (line 523)
+* readarray: Bash Builtins. (line 629)
* readonly: Bourne Shell Builtins.
(line 232)
* return: Bourne Shell Builtins.
* shift: Bourne Shell Builtins.
(line 272)
* shopt: The Shopt Builtin. (line 9)
-* source: Bash Builtins. (line 633)
+* source: Bash Builtins. (line 638)
* suspend: Job Control Builtins.
(line 116)
* test: Bourne Shell Builtins.
(line 393)
* true: Bourne Shell Builtins.
(line 455)
-* type: Bash Builtins. (line 638)
-* typeset: Bash Builtins. (line 676)
-* ulimit: Bash Builtins. (line 682)
+* type: Bash Builtins. (line 643)
+* typeset: Bash Builtins. (line 681)
+* ulimit: Bash Builtins. (line 687)
* umask: Bourne Shell Builtins.
(line 460)
-* unalias: Bash Builtins. (line 788)
+* unalias: Bash Builtins. (line 793)
* unset: Bourne Shell Builtins.
(line 478)
* wait: Job Control Builtins.
* PATH: Bourne Shell Variables.
(line 42)
* PIPESTATUS: Bash Variables. (line 602)
-* POSIXLY_CORRECT: Bash Variables. (line 607)
-* PPID: Bash Variables. (line 617)
-* PROMPT_COMMAND: Bash Variables. (line 621)
-* PROMPT_DIRTRIM: Bash Variables. (line 627)
-* PS0: Bash Variables. (line 633)
+* POSIXLY_CORRECT: Bash Variables. (line 608)
+* PPID: Bash Variables. (line 618)
+* PROMPT_COMMAND: Bash Variables. (line 622)
+* PROMPT_DIRTRIM: Bash Variables. (line 628)
+* PS0: Bash Variables. (line 634)
* PS1: Bourne Shell Variables.
(line 48)
* PS2: Bourne Shell Variables.
(line 53)
-* PS3: Bash Variables. (line 638)
-* PS4: Bash Variables. (line 643)
-* PWD: Bash Variables. (line 651)
-* RANDOM: Bash Variables. (line 654)
-* READLINE_ARGUMENT: Bash Variables. (line 660)
-* READLINE_LINE: Bash Variables. (line 664)
-* READLINE_MARK: Bash Variables. (line 668)
-* READLINE_POINT: Bash Variables. (line 674)
-* REPLY: Bash Variables. (line 678)
+* PS3: Bash Variables. (line 639)
+* PS4: Bash Variables. (line 644)
+* PWD: Bash Variables. (line 652)
+* RANDOM: Bash Variables. (line 655)
+* READLINE_ARGUMENT: Bash Variables. (line 661)
+* READLINE_LINE: Bash Variables. (line 665)
+* READLINE_MARK: Bash Variables. (line 669)
+* READLINE_POINT: Bash Variables. (line 675)
+* REPLY: Bash Variables. (line 679)
* revert-all-at-newline: Readline Init File Syntax.
(line 325)
* search-ignore-case: Readline Init File Syntax.
(line 332)
-* SECONDS: Bash Variables. (line 681)
-* SHELL: Bash Variables. (line 690)
-* SHELLOPTS: Bash Variables. (line 695)
-* SHLVL: Bash Variables. (line 704)
+* SECONDS: Bash Variables. (line 682)
+* SHELL: Bash Variables. (line 691)
+* SHELLOPTS: Bash Variables. (line 696)
+* SHLVL: Bash Variables. (line 705)
* show-all-if-ambiguous: Readline Init File Syntax.
(line 337)
* show-all-if-unmodified: Readline Init File Syntax.
(line 352)
* skip-completed-text: Readline Init File Syntax.
(line 358)
-* SRANDOM: Bash Variables. (line 709)
+* SRANDOM: Bash Variables. (line 710)
* TEXTDOMAIN: Creating Internationalized Scripts.
(line 51)
* TEXTDOMAINDIR: Creating Internationalized Scripts.
(line 51)
-* TIMEFORMAT: Bash Variables. (line 718)
-* TMOUT: Bash Variables. (line 756)
-* TMPDIR: Bash Variables. (line 768)
-* UID: Bash Variables. (line 772)
+* TIMEFORMAT: Bash Variables. (line 719)
+* TMOUT: Bash Variables. (line 757)
+* TMPDIR: Bash Variables. (line 769)
+* UID: Bash Variables. (line 773)
* vi-cmd-mode-string: Readline Init File Syntax.
(line 371)
* vi-ins-mode-string: Readline Init File Syntax.
\1f
Tag Table:
-Node: Top\7f893
-Node: Introduction\7f2826
-Node: What is Bash?\7f3039
-Node: What is a shell?\7f4180
-Node: Definitions\7f6759
-Node: Basic Shell Features\7f9935
-Node: Shell Syntax\7f11155
-Node: Shell Operation\7f12182
-Node: Quoting\7f13480
-Node: Escape Character\7f14793
-Node: Single Quotes\7f15291
-Node: Double Quotes\7f15640
-Node: ANSI-C Quoting\7f16983
-Node: Locale Translation\7f18368
-Node: Creating Internationalized Scripts\7f19712
-Node: Comments\7f23910
-Node: Shell Commands\7f24545
-Node: Reserved Words\7f25484
-Node: Simple Commands\7f26349
-Node: Pipelines\7f27008
-Node: Lists\7f30071
-Node: Compound Commands\7f31943
-Node: Looping Constructs\7f32952
-Node: Conditional Constructs\7f35496
-Node: Command Grouping\7f50400
-Node: Coprocesses\7f51887
-Node: GNU Parallel\7f54583
-Node: Shell Functions\7f55501
-Node: Shell Parameters\7f63607
-Node: Positional Parameters\7f68140
-Node: Special Parameters\7f69075
-Node: Shell Expansions\7f72382
-Node: Brace Expansion\7f74571
-Node: Tilde Expansion\7f77234
-Node: Shell Parameter Expansion\7f80000
-Node: Command Substitution\7f99107
-Node: Arithmetic Expansion\7f102640
-Node: Process Substitution\7f103605
-Node: Word Splitting\7f104742
-Node: Filename Expansion\7f106883
-Node: Pattern Matching\7f109979
-Node: Quote Removal\7f115212
-Node: Redirections\7f115516
-Node: Executing Commands\7f125325
-Node: Simple Command Expansion\7f125992
-Node: Command Search and Execution\7f128103
-Node: Command Execution Environment\7f130511
-Node: Environment\7f133820
-Node: Exit Status\7f135524
-Node: Signals\7f137309
-Node: Shell Scripts\7f140923
-Node: Shell Builtin Commands\7f144015
-Node: Bourne Shell Builtins\7f146126
-Node: Bash Builtins\7f170530
-Node: Modifying Shell Behavior\7f205135
-Node: The Set Builtin\7f205477
-Node: The Shopt Builtin\7f216992
-Node: Special Builtins\7f233728
-Node: Shell Variables\7f234717
-Node: Bourne Shell Variables\7f235151
-Node: Bash Variables\7f237344
-Node: Bash Features\7f273894
-Node: Invoking Bash\7f274908
-Node: Bash Startup Files\7f281307
-Node: Interactive Shells\7f286619
-Node: What is an Interactive Shell?\7f287027
-Node: Is this Shell Interactive?\7f287693
-Node: Interactive Shell Behavior\7f288517
-Node: Bash Conditional Expressions\7f292271
-Node: Shell Arithmetic\7f297445
-Node: Aliases\7f300527
-Node: Arrays\7f303482
-Node: The Directory Stack\7f310281
-Node: Directory Stack Builtins\7f311078
-Node: Controlling the Prompt\7f315527
-Node: The Restricted Shell\7f318665
-Node: Bash POSIX Mode\7f321452
-Node: Shell Compatibility Mode\7f338963
-Node: Job Control\7f347647
-Node: Job Control Basics\7f348104
-Node: Job Control Builtins\7f353278
-Node: Job Control Variables\7f359238
-Node: Command Line Editing\7f360415
-Node: Introduction and Notation\7f362119
-Node: Readline Interaction\7f363763
-Node: Readline Bare Essentials\7f364951
-Node: Readline Movement Commands\7f366769
-Node: Readline Killing Commands\7f367766
-Node: Readline Arguments\7f369744
-Node: Searching\7f370801
-Node: Readline Init File\7f373030
-Node: Readline Init File Syntax\7f374312
-Node: Conditional Init Constructs\7f399250
-Node: Sample Init File\7f403615
-Node: Bindable Readline Commands\7f406736
-Node: Commands For Moving\7f407961
-Node: Commands For History\7f410061
-Node: Commands For Text\7f415144
-Node: Commands For Killing\7f419219
-Node: Numeric Arguments\7f422020
-Node: Commands For Completion\7f423172
-Node: Keyboard Macros\7f427488
-Node: Miscellaneous Commands\7f428189
-Node: Readline vi Mode\7f434843
-Node: Programmable Completion\7f435795
-Node: Programmable Completion Builtins\7f443752
-Node: A Programmable Completion Example\7f455318
-Node: Using History Interactively\7f460663
-Node: Bash History Facilities\7f461344
-Node: Bash History Builtins\7f464456
-Node: History Interaction\7f469699
-Node: Event Designators\7f474024
-Node: Word Designators\7f475607
-Node: Modifiers\7f477593
-Node: Installing Bash\7f479502
-Node: Basic Installation\7f480636
-Node: Compilers and Options\7f484515
-Node: Compiling For Multiple Architectures\7f485265
-Node: Installation Names\7f487014
-Node: Specifying the System Type\7f489248
-Node: Sharing Defaults\7f489994
-Node: Operation Controls\7f490708
-Node: Optional Features\7f491727
-Node: Reporting Bugs\7f503529
-Node: Major Differences From The Bourne Shell\7f504878
-Node: GNU Free Documentation License\7f524613
-Node: Indexes\7f549790
-Node: Builtin Index\7f550241
-Node: Reserved Word Index\7f557339
-Node: Variable Index\7f559784
-Node: Function Index\7f576915
-Node: Concept Index\7f590771
+Node: Top\7f895
+Node: Introduction\7f2830
+Node: What is Bash?\7f3043
+Node: What is a shell?\7f4184
+Node: Definitions\7f6763
+Node: Basic Shell Features\7f9939
+Node: Shell Syntax\7f11159
+Node: Shell Operation\7f12186
+Node: Quoting\7f13484
+Node: Escape Character\7f14797
+Node: Single Quotes\7f15295
+Node: Double Quotes\7f15644
+Node: ANSI-C Quoting\7f16987
+Node: Locale Translation\7f18372
+Node: Creating Internationalized Scripts\7f19716
+Node: Comments\7f23914
+Node: Shell Commands\7f24549
+Node: Reserved Words\7f25488
+Node: Simple Commands\7f26353
+Node: Pipelines\7f27012
+Node: Lists\7f30075
+Node: Compound Commands\7f31947
+Node: Looping Constructs\7f32956
+Node: Conditional Constructs\7f35500
+Node: Command Grouping\7f50404
+Node: Coprocesses\7f51891
+Node: GNU Parallel\7f54587
+Node: Shell Functions\7f55505
+Node: Shell Parameters\7f63611
+Node: Positional Parameters\7f68144
+Node: Special Parameters\7f69079
+Node: Shell Expansions\7f72385
+Node: Brace Expansion\7f74574
+Node: Tilde Expansion\7f77237
+Node: Shell Parameter Expansion\7f80003
+Node: Command Substitution\7f99110
+Node: Arithmetic Expansion\7f102643
+Node: Process Substitution\7f103608
+Node: Word Splitting\7f104745
+Node: Filename Expansion\7f106886
+Node: Pattern Matching\7f109982
+Node: Quote Removal\7f115215
+Node: Redirections\7f115519
+Node: Executing Commands\7f125328
+Node: Simple Command Expansion\7f125995
+Node: Command Search and Execution\7f128106
+Node: Command Execution Environment\7f130514
+Node: Environment\7f133823
+Node: Exit Status\7f135527
+Node: Signals\7f137312
+Node: Shell Scripts\7f140926
+Node: Shell Builtin Commands\7f144018
+Node: Bourne Shell Builtins\7f146129
+Node: Bash Builtins\7f170533
+Node: Modifying Shell Behavior\7f205492
+Node: The Set Builtin\7f205834
+Node: The Shopt Builtin\7f217349
+Node: Special Builtins\7f234085
+Node: Shell Variables\7f235074
+Node: Bourne Shell Variables\7f235508
+Node: Bash Variables\7f237701
+Node: Bash Features\7f274283
+Node: Invoking Bash\7f275297
+Node: Bash Startup Files\7f281696
+Node: Interactive Shells\7f287008
+Node: What is an Interactive Shell?\7f287416
+Node: Is this Shell Interactive?\7f288082
+Node: Interactive Shell Behavior\7f288906
+Node: Bash Conditional Expressions\7f292660
+Node: Shell Arithmetic\7f297834
+Node: Aliases\7f300916
+Node: Arrays\7f303871
+Node: The Directory Stack\7f310670
+Node: Directory Stack Builtins\7f311467
+Node: Controlling the Prompt\7f315916
+Node: The Restricted Shell\7f319054
+Node: Bash POSIX Mode\7f321841
+Node: Shell Compatibility Mode\7f339352
+Node: Job Control\7f348371
+Node: Job Control Basics\7f348828
+Node: Job Control Builtins\7f354002
+Node: Job Control Variables\7f359962
+Node: Command Line Editing\7f361139
+Node: Introduction and Notation\7f362843
+Node: Readline Interaction\7f364487
+Node: Readline Bare Essentials\7f365675
+Node: Readline Movement Commands\7f367493
+Node: Readline Killing Commands\7f368490
+Node: Readline Arguments\7f370468
+Node: Searching\7f371525
+Node: Readline Init File\7f373754
+Node: Readline Init File Syntax\7f375036
+Node: Conditional Init Constructs\7f399974
+Node: Sample Init File\7f404339
+Node: Bindable Readline Commands\7f407460
+Node: Commands For Moving\7f408685
+Node: Commands For History\7f410785
+Node: Commands For Text\7f415868
+Node: Commands For Killing\7f419943
+Node: Numeric Arguments\7f422744
+Node: Commands For Completion\7f423896
+Node: Keyboard Macros\7f428212
+Node: Miscellaneous Commands\7f428913
+Node: Readline vi Mode\7f435567
+Node: Programmable Completion\7f436519
+Node: Programmable Completion Builtins\7f444476
+Node: A Programmable Completion Example\7f456042
+Node: Using History Interactively\7f461387
+Node: Bash History Facilities\7f462068
+Node: Bash History Builtins\7f465180
+Node: History Interaction\7f470423
+Node: Event Designators\7f474748
+Node: Word Designators\7f476331
+Node: Modifiers\7f478317
+Node: Installing Bash\7f480226
+Node: Basic Installation\7f481360
+Node: Compilers and Options\7f485239
+Node: Compiling For Multiple Architectures\7f485989
+Node: Installation Names\7f487738
+Node: Specifying the System Type\7f489972
+Node: Sharing Defaults\7f490718
+Node: Operation Controls\7f491432
+Node: Optional Features\7f492451
+Node: Reporting Bugs\7f504253
+Node: Major Differences From The Bourne Shell\7f505602
+Node: GNU Free Documentation License\7f525337
+Node: Indexes\7f550514
+Node: Builtin Index\7f550965
+Node: Reserved Word Index\7f558063
+Node: Variable Index\7f560508
+Node: Function Index\7f577639
+Node: Concept Index\7f591495
\1f
End Tag Table
\entry{declare}{60}{\code {declare}}
\entry{echo}{61}{\code {echo}}
\entry{enable}{62}{\code {enable}}
-\entry{help}{62}{\code {help}}
+\entry{help}{63}{\code {help}}
\entry{let}{63}{\code {let}}
\entry{local}{63}{\code {local}}
\entry{logout}{63}{\code {logout}}
\entry{source}{67}{\code {source}}
\entry{type}{67}{\code {type}}
\entry{typeset}{67}{\code {typeset}}
-\entry{ulimit}{67}{\code {ulimit}}
+\entry{ulimit}{68}{\code {ulimit}}
\entry{unalias}{69}{\code {unalias}}
\entry{set}{69}{\code {set}}
\entry{shopt}{73}{\code {shopt}}
\entry{\code {getopts}}{51}
\initial {H}
\entry{\code {hash}}{52}
-\entry{\code {help}}{62}
+\entry{\code {help}}{63}
\entry{\code {history}}{160}
\initial {J}
\entry{\code {jobs}}{119}
\entry{\code {type}}{67}
\entry{\code {typeset}}{67}
\initial {U}
-\entry{\code {ulimit}}{67}
+\entry{\code {ulimit}}{68}
\entry{\code {umask}}{56}
\entry{\code {unalias}}{69}
\entry{\code {unset}}{57}
<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, 5 April 2024).
+the Bash shell (version 5.3, 23 April 2024).
-This is Edition 5.3, last updated 5 April 2024,
+This is Edition 5.3, last updated 23 April 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, 5 April 2024).
+the Bash shell (version 5.3, 23 April 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 5 April 2024,
+<p>This is Edition 5.3, last updated 23 April 2024,
of <cite class="cite">The GNU Bash Reference Manual</cite>,
for <code class="code">Bash</code>, Version 5.3.
</p>
<dt><a id="index-_003f"></a><span><code class="code">?</code><a class="copiable-link" href="#index-_003f"> ¶</a></span></dt>
<dd><a class="index-entry-id" id="index-_0024_003f"></a>
<p>($?) Expands to the exit status of the most recently executed foreground
-pipeline.
+command.
</p>
</dd>
<dt><a id="index-_002d"></a><span><code class="code">-</code><a class="copiable-link" href="#index-_002d"> ¶</a></span></dt>
</dd>
<dt><a id="index-bind"></a><span><code class="code">bind</code><a class="copiable-link" href="#index-bind"> ¶</a></span></dt>
<dd><div class="example">
-<pre class="example-preformatted">bind [-m <var class="var">keymap</var>] [-lpsvPSVX]
+<pre class="example-preformatted">bind [-m <var class="var">keymap</var>] [-lsvSVX]
bind [-m <var class="var">keymap</var>] [-q <var class="var">function</var>] [-u <var class="var">function</var>] [-r <var class="var">keyseq</var>]
bind [-m <var class="var">keymap</var>] -f <var class="var">filename</var>
bind [-m <var class="var">keymap</var>] -x <var class="var">keyseq[: ]shell-command</var>
bind [-m <var class="var">keymap</var>] <var class="var">keyseq:function-name</var>
bind [-m <var class="var">keymap</var>] <var class="var">keyseq:readline-command</var>
+bind [-m <var class="var">keymap</var>] -p|-P [<var class="var">readline-command</var>]
bind <var class="var">readline-command-line</var>
</pre></div>
in such a way that they can be used as
an argument to a subsequent <code class="code">bind</code> command
or in a Readline initialization file.
+If arguments remain after option processing, <code class="code">bind</code> treats
+them as readline command names and restricts output to those names.
</p>
</dd>
<dt><code class="code">-P</code></dt>
<dd><p>List current Readline function names and bindings.
+If arguments remain after option processing, <code class="code">bind</code> treats
+them as readline command names and restricts output to those names.
</p>
</dd>
<dt><code class="code">-v</code></dt>
<dt><a id="index-PIPESTATUS"></a><span><code class="code">PIPESTATUS</code><a class="copiable-link" href="#index-PIPESTATUS"> ¶</a></span></dt>
<dd><p>An array variable (see <a class="pxref" href="#Arrays">Arrays</a>)
containing a list of exit status values from the processes
-in the most-recently-executed foreground pipeline (which may
-contain only a single command).
+in the most-recently-executed foreground pipeline, which may
+consist of only a simple command
+(see <a class="pxref" href="#Shell-Commands">Shell Commands</a>).
</p>
</dd>
<dt><a id="index-POSIXLY_005fCORRECT"></a><span><code class="code">POSIXLY_CORRECT</code><a class="copiable-link" href="#index-POSIXLY_005fCORRECT"> ¶</a></span></dt>
<dd><ul class="itemize mark-bullet">
<li>The <code class="code">test</code> builtin uses its historical algorithm to parse parenthesized
subexpressions when given five or more arguments.
+</li><li>If the <samp class="option">-p</samp> or <samp class="option">-P</samp> option is supplied to the <code class="code">bind</code> builtin,
+<code class="code">bind</code> treats any arguments remaining after option processing
+as bindable command names, and
+displays any key sequences bound to those commands, instead of treating
+the arguments as key sequences to bind.
</li></ul>
</dd>
bashref.texi.
This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 5 April 2024).
+Bash shell (version 5.3, 23 April 2024).
- This is Edition 5.3, last updated 5 April 2024, of ‘The GNU Bash
+ This is Edition 5.3, last updated 23 April 2024, of ‘The GNU Bash
Reference Manual’, for ‘Bash’, Version 5.3.
Copyright © 1988-2023 Free Software Foundation, Inc.
*************
This text is a brief description of the features that are present in the
-Bash shell (version 5.3, 5 April 2024). The Bash home page is
+Bash shell (version 5.3, 23 April 2024). The Bash home page is
<http://www.gnu.org/software/bash/>.
- This is Edition 5.3, last updated 5 April 2024, of ‘The GNU Bash
+ This is Edition 5.3, last updated 23 April 2024, of ‘The GNU Bash
Reference Manual’, for ‘Bash’, Version 5.3.
Bash contains features that appear in other popular shells, and some
‘?’
($?) Expands to the exit status of the most recently executed
- foreground pipeline.
+ foreground command.
‘-’
($-, a hyphen.) Expands to the current option flags as specified
Aliases::.
‘bind’
- bind [-m KEYMAP] [-lpsvPSVX]
+ bind [-m KEYMAP] [-lsvSVX]
bind [-m KEYMAP] [-q FUNCTION] [-u FUNCTION] [-r KEYSEQ]
bind [-m KEYMAP] -f FILENAME
bind [-m KEYMAP] -x KEYSEQ[: ]SHELL-COMMAND
bind [-m KEYMAP] KEYSEQ:FUNCTION-NAME
bind [-m KEYMAP] KEYSEQ:READLINE-COMMAND
+ bind [-m KEYMAP] -p|-P [READLINE-COMMAND]
bind READLINE-COMMAND-LINE
Display current Readline (*note Command Line Editing::) key and
‘-p’
Display Readline function names and bindings in such a way
that they can be used as an argument to a subsequent ‘bind’
- command or in a Readline initialization file.
+ command or in a Readline initialization file. If arguments
+ remain after option processing, ‘bind’ treats them as readline
+ command names and restricts output to those names.
‘-P’
- List current Readline function names and bindings.
+ List current Readline function names and bindings. If
+ arguments remain after option processing, ‘bind’ treats them
+ as readline command names and restricts output to those names.
‘-v’
Display Readline variable names and values in such a way that
‘PIPESTATUS’
An array variable (*note Arrays::) containing a list of exit status
values from the processes in the most-recently-executed foreground
- pipeline (which may contain only a single command).
+ pipeline, which may consist of only a simple command (*note Shell
+ Commands::).
‘POSIXLY_CORRECT’
If this variable is in the environment when Bash starts, the shell
• The ‘test’ builtin uses its historical algorithm to parse
parenthesized subexpressions when given five or more
arguments.
+ • If the ‘-p’ or ‘-P’ option is supplied to the ‘bind’ builtin,
+ ‘bind’ treats any arguments remaining after option processing
+ as bindable command names, and displays any key sequences
+ bound to those commands, instead of treating the arguments as
+ key sequences to bind.
\1f
File: bashref.info, Node: Job Control, Next: Command Line Editing, Prev: Bash Features, Up: Top
* bind: Bash Builtins. (line 21)
* break: Bourne Shell Builtins.
(line 37)
-* builtin: Bash Builtins. (line 119)
-* caller: Bash Builtins. (line 128)
+* builtin: Bash Builtins. (line 124)
+* caller: Bash Builtins. (line 133)
* cd: Bourne Shell Builtins.
(line 45)
-* command: Bash Builtins. (line 145)
+* command: Bash Builtins. (line 150)
* compgen: Programmable Completion Builtins.
(line 12)
* complete: Programmable Completion Builtins.
(line 248)
* continue: Bourne Shell Builtins.
(line 90)
-* declare: Bash Builtins. (line 165)
+* declare: Bash Builtins. (line 170)
* dirs: Directory Stack Builtins.
(line 7)
* disown: Job Control Builtins.
(line 104)
-* echo: Bash Builtins. (line 268)
-* enable: Bash Builtins. (line 317)
+* echo: Bash Builtins. (line 273)
+* enable: Bash Builtins. (line 322)
* eval: Bourne Shell Builtins.
(line 99)
* exec: Bourne Shell Builtins.
(line 153)
* hash: Bourne Shell Builtins.
(line 197)
-* help: Bash Builtins. (line 355)
+* help: Bash Builtins. (line 360)
* history: Bash History Builtins.
(line 46)
* jobs: Job Control Builtins.
(line 27)
* kill: Job Control Builtins.
(line 58)
-* let: Bash Builtins. (line 374)
-* local: Bash Builtins. (line 382)
-* logout: Bash Builtins. (line 399)
-* mapfile: Bash Builtins. (line 404)
+* let: Bash Builtins. (line 379)
+* local: Bash Builtins. (line 387)
+* logout: Bash Builtins. (line 404)
+* mapfile: Bash Builtins. (line 409)
* popd: Directory Stack Builtins.
(line 35)
-* printf: Bash Builtins. (line 450)
+* printf: Bash Builtins. (line 455)
* pushd: Directory Stack Builtins.
(line 69)
* pwd: Bourne Shell Builtins.
(line 222)
-* read: Bash Builtins. (line 518)
-* readarray: Bash Builtins. (line 624)
+* read: Bash Builtins. (line 523)
+* readarray: Bash Builtins. (line 629)
* readonly: Bourne Shell Builtins.
(line 232)
* return: Bourne Shell Builtins.
* shift: Bourne Shell Builtins.
(line 272)
* shopt: The Shopt Builtin. (line 9)
-* source: Bash Builtins. (line 633)
+* source: Bash Builtins. (line 638)
* suspend: Job Control Builtins.
(line 116)
* test: Bourne Shell Builtins.
(line 393)
* true: Bourne Shell Builtins.
(line 455)
-* type: Bash Builtins. (line 638)
-* typeset: Bash Builtins. (line 676)
-* ulimit: Bash Builtins. (line 682)
+* type: Bash Builtins. (line 643)
+* typeset: Bash Builtins. (line 681)
+* ulimit: Bash Builtins. (line 687)
* umask: Bourne Shell Builtins.
(line 460)
-* unalias: Bash Builtins. (line 788)
+* unalias: Bash Builtins. (line 793)
* unset: Bourne Shell Builtins.
(line 478)
* wait: Job Control Builtins.
* PATH: Bourne Shell Variables.
(line 42)
* PIPESTATUS: Bash Variables. (line 602)
-* POSIXLY_CORRECT: Bash Variables. (line 607)
-* PPID: Bash Variables. (line 617)
-* PROMPT_COMMAND: Bash Variables. (line 621)
-* PROMPT_DIRTRIM: Bash Variables. (line 627)
-* PS0: Bash Variables. (line 633)
+* POSIXLY_CORRECT: Bash Variables. (line 608)
+* PPID: Bash Variables. (line 618)
+* PROMPT_COMMAND: Bash Variables. (line 622)
+* PROMPT_DIRTRIM: Bash Variables. (line 628)
+* PS0: Bash Variables. (line 634)
* PS1: Bourne Shell Variables.
(line 48)
* PS2: Bourne Shell Variables.
(line 53)
-* PS3: Bash Variables. (line 638)
-* PS4: Bash Variables. (line 643)
-* PWD: Bash Variables. (line 651)
-* RANDOM: Bash Variables. (line 654)
-* READLINE_ARGUMENT: Bash Variables. (line 660)
-* READLINE_LINE: Bash Variables. (line 664)
-* READLINE_MARK: Bash Variables. (line 668)
-* READLINE_POINT: Bash Variables. (line 674)
-* REPLY: Bash Variables. (line 678)
+* PS3: Bash Variables. (line 639)
+* PS4: Bash Variables. (line 644)
+* PWD: Bash Variables. (line 652)
+* RANDOM: Bash Variables. (line 655)
+* READLINE_ARGUMENT: Bash Variables. (line 661)
+* READLINE_LINE: Bash Variables. (line 665)
+* READLINE_MARK: Bash Variables. (line 669)
+* READLINE_POINT: Bash Variables. (line 675)
+* REPLY: Bash Variables. (line 679)
* revert-all-at-newline: Readline Init File Syntax.
(line 325)
* search-ignore-case: Readline Init File Syntax.
(line 332)
-* SECONDS: Bash Variables. (line 681)
-* SHELL: Bash Variables. (line 690)
-* SHELLOPTS: Bash Variables. (line 695)
-* SHLVL: Bash Variables. (line 704)
+* SECONDS: Bash Variables. (line 682)
+* SHELL: Bash Variables. (line 691)
+* SHELLOPTS: Bash Variables. (line 696)
+* SHLVL: Bash Variables. (line 705)
* show-all-if-ambiguous: Readline Init File Syntax.
(line 337)
* show-all-if-unmodified: Readline Init File Syntax.
(line 352)
* skip-completed-text: Readline Init File Syntax.
(line 358)
-* SRANDOM: Bash Variables. (line 709)
+* SRANDOM: Bash Variables. (line 710)
* TEXTDOMAIN: Creating Internationalized Scripts.
(line 51)
* TEXTDOMAINDIR: Creating Internationalized Scripts.
(line 51)
-* TIMEFORMAT: Bash Variables. (line 718)
-* TMOUT: Bash Variables. (line 756)
-* TMPDIR: Bash Variables. (line 768)
-* UID: Bash Variables. (line 772)
+* TIMEFORMAT: Bash Variables. (line 719)
+* TMOUT: Bash Variables. (line 757)
+* TMPDIR: Bash Variables. (line 769)
+* UID: Bash Variables. (line 773)
* vi-cmd-mode-string: Readline Init File Syntax.
(line 371)
* vi-ins-mode-string: Readline Init File Syntax.
\1f
Tag Table:
-Node: Top\7f896
-Node: Introduction\7f2832
-Node: What is Bash?\7f3048
-Node: What is a shell?\7f4192
-Node: Definitions\7f6774
-Node: Basic Shell Features\7f9953
-Node: Shell Syntax\7f11176
-Node: Shell Operation\7f12206
-Node: Quoting\7f13507
-Node: Escape Character\7f14823
-Node: Single Quotes\7f15324
-Node: Double Quotes\7f15676
-Node: ANSI-C Quoting\7f17022
-Node: Locale Translation\7f18410
-Node: Creating Internationalized Scripts\7f19757
-Node: Comments\7f23958
-Node: Shell Commands\7f24596
-Node: Reserved Words\7f25538
-Node: Simple Commands\7f26406
-Node: Pipelines\7f27068
-Node: Lists\7f30134
-Node: Compound Commands\7f32009
-Node: Looping Constructs\7f33021
-Node: Conditional Constructs\7f35568
-Node: Command Grouping\7f50475
-Node: Coprocesses\7f51965
-Node: GNU Parallel\7f54664
-Node: Shell Functions\7f55585
-Node: Shell Parameters\7f63694
-Node: Positional Parameters\7f68230
-Node: Special Parameters\7f69168
-Node: Shell Expansions\7f72478
-Node: Brace Expansion\7f74670
-Node: Tilde Expansion\7f77336
-Node: Shell Parameter Expansion\7f80105
-Node: Command Substitution\7f99215
-Node: Arithmetic Expansion\7f102751
-Node: Process Substitution\7f103719
-Node: Word Splitting\7f104859
-Node: Filename Expansion\7f107003
-Node: Pattern Matching\7f110102
-Node: Quote Removal\7f115338
-Node: Redirections\7f115645
-Node: Executing Commands\7f125457
-Node: Simple Command Expansion\7f126127
-Node: Command Search and Execution\7f128241
-Node: Command Execution Environment\7f130652
-Node: Environment\7f133964
-Node: Exit Status\7f135671
-Node: Signals\7f137459
-Node: Shell Scripts\7f141076
-Node: Shell Builtin Commands\7f144171
-Node: Bourne Shell Builtins\7f146285
-Node: Bash Builtins\7f170692
-Node: Modifying Shell Behavior\7f205300
-Node: The Set Builtin\7f205645
-Node: The Shopt Builtin\7f217163
-Node: Special Builtins\7f233902
-Node: Shell Variables\7f234894
-Node: Bourne Shell Variables\7f235331
-Node: Bash Variables\7f237527
-Node: Bash Features\7f274080
-Node: Invoking Bash\7f275097
-Node: Bash Startup Files\7f281499
-Node: Interactive Shells\7f286814
-Node: What is an Interactive Shell?\7f287225
-Node: Is this Shell Interactive?\7f287894
-Node: Interactive Shell Behavior\7f288721
-Node: Bash Conditional Expressions\7f292478
-Node: Shell Arithmetic\7f297655
-Node: Aliases\7f300740
-Node: Arrays\7f303698
-Node: The Directory Stack\7f310500
-Node: Directory Stack Builtins\7f311300
-Node: Controlling the Prompt\7f315752
-Node: The Restricted Shell\7f318893
-Node: Bash POSIX Mode\7f321683
-Node: Shell Compatibility Mode\7f339197
-Node: Job Control\7f347884
-Node: Job Control Basics\7f348344
-Node: Job Control Builtins\7f353521
-Node: Job Control Variables\7f359484
-Node: Command Line Editing\7f360664
-Node: Introduction and Notation\7f362371
-Node: Readline Interaction\7f364018
-Node: Readline Bare Essentials\7f365209
-Node: Readline Movement Commands\7f367030
-Node: Readline Killing Commands\7f368030
-Node: Readline Arguments\7f370011
-Node: Searching\7f371071
-Node: Readline Init File\7f373303
-Node: Readline Init File Syntax\7f374588
-Node: Conditional Init Constructs\7f399529
-Node: Sample Init File\7f403897
-Node: Bindable Readline Commands\7f407021
-Node: Commands For Moving\7f408249
-Node: Commands For History\7f410352
-Node: Commands For Text\7f415438
-Node: Commands For Killing\7f419516
-Node: Numeric Arguments\7f422320
-Node: Commands For Completion\7f423475
-Node: Keyboard Macros\7f427794
-Node: Miscellaneous Commands\7f428498
-Node: Readline vi Mode\7f435155
-Node: Programmable Completion\7f436110
-Node: Programmable Completion Builtins\7f444070
-Node: A Programmable Completion Example\7f455639
-Node: Using History Interactively\7f460987
-Node: Bash History Facilities\7f461671
-Node: Bash History Builtins\7f464786
-Node: History Interaction\7f470032
-Node: Event Designators\7f474360
-Node: Word Designators\7f475946
-Node: Modifiers\7f477935
-Node: Installing Bash\7f479847
-Node: Basic Installation\7f480984
-Node: Compilers and Options\7f484866
-Node: Compiling For Multiple Architectures\7f485619
-Node: Installation Names\7f487371
-Node: Specifying the System Type\7f489608
-Node: Sharing Defaults\7f490357
-Node: Operation Controls\7f491074
-Node: Optional Features\7f492096
-Node: Reporting Bugs\7f503901
-Node: Major Differences From The Bourne Shell\7f505253
-Node: GNU Free Documentation License\7f524991
-Node: Indexes\7f550171
-Node: Builtin Index\7f550625
-Node: Reserved Word Index\7f557726
-Node: Variable Index\7f560174
-Node: Function Index\7f577308
-Node: Concept Index\7f591167
+Node: Top\7f898
+Node: Introduction\7f2836
+Node: What is Bash?\7f3052
+Node: What is a shell?\7f4196
+Node: Definitions\7f6778
+Node: Basic Shell Features\7f9957
+Node: Shell Syntax\7f11180
+Node: Shell Operation\7f12210
+Node: Quoting\7f13511
+Node: Escape Character\7f14827
+Node: Single Quotes\7f15328
+Node: Double Quotes\7f15680
+Node: ANSI-C Quoting\7f17026
+Node: Locale Translation\7f18414
+Node: Creating Internationalized Scripts\7f19761
+Node: Comments\7f23962
+Node: Shell Commands\7f24600
+Node: Reserved Words\7f25542
+Node: Simple Commands\7f26410
+Node: Pipelines\7f27072
+Node: Lists\7f30138
+Node: Compound Commands\7f32013
+Node: Looping Constructs\7f33025
+Node: Conditional Constructs\7f35572
+Node: Command Grouping\7f50479
+Node: Coprocesses\7f51969
+Node: GNU Parallel\7f54668
+Node: Shell Functions\7f55589
+Node: Shell Parameters\7f63698
+Node: Positional Parameters\7f68234
+Node: Special Parameters\7f69172
+Node: Shell Expansions\7f72481
+Node: Brace Expansion\7f74673
+Node: Tilde Expansion\7f77339
+Node: Shell Parameter Expansion\7f80108
+Node: Command Substitution\7f99218
+Node: Arithmetic Expansion\7f102754
+Node: Process Substitution\7f103722
+Node: Word Splitting\7f104862
+Node: Filename Expansion\7f107006
+Node: Pattern Matching\7f110105
+Node: Quote Removal\7f115341
+Node: Redirections\7f115648
+Node: Executing Commands\7f125460
+Node: Simple Command Expansion\7f126130
+Node: Command Search and Execution\7f128244
+Node: Command Execution Environment\7f130655
+Node: Environment\7f133967
+Node: Exit Status\7f135674
+Node: Signals\7f137462
+Node: Shell Scripts\7f141079
+Node: Shell Builtin Commands\7f144174
+Node: Bourne Shell Builtins\7f146288
+Node: Bash Builtins\7f170695
+Node: Modifying Shell Behavior\7f205657
+Node: The Set Builtin\7f206002
+Node: The Shopt Builtin\7f217520
+Node: Special Builtins\7f234259
+Node: Shell Variables\7f235251
+Node: Bourne Shell Variables\7f235688
+Node: Bash Variables\7f237884
+Node: Bash Features\7f274469
+Node: Invoking Bash\7f275486
+Node: Bash Startup Files\7f281888
+Node: Interactive Shells\7f287203
+Node: What is an Interactive Shell?\7f287614
+Node: Is this Shell Interactive?\7f288283
+Node: Interactive Shell Behavior\7f289110
+Node: Bash Conditional Expressions\7f292867
+Node: Shell Arithmetic\7f298044
+Node: Aliases\7f301129
+Node: Arrays\7f304087
+Node: The Directory Stack\7f310889
+Node: Directory Stack Builtins\7f311689
+Node: Controlling the Prompt\7f316141
+Node: The Restricted Shell\7f319282
+Node: Bash POSIX Mode\7f322072
+Node: Shell Compatibility Mode\7f339586
+Node: Job Control\7f348608
+Node: Job Control Basics\7f349068
+Node: Job Control Builtins\7f354245
+Node: Job Control Variables\7f360208
+Node: Command Line Editing\7f361388
+Node: Introduction and Notation\7f363095
+Node: Readline Interaction\7f364742
+Node: Readline Bare Essentials\7f365933
+Node: Readline Movement Commands\7f367754
+Node: Readline Killing Commands\7f368754
+Node: Readline Arguments\7f370735
+Node: Searching\7f371795
+Node: Readline Init File\7f374027
+Node: Readline Init File Syntax\7f375312
+Node: Conditional Init Constructs\7f400253
+Node: Sample Init File\7f404621
+Node: Bindable Readline Commands\7f407745
+Node: Commands For Moving\7f408973
+Node: Commands For History\7f411076
+Node: Commands For Text\7f416162
+Node: Commands For Killing\7f420240
+Node: Numeric Arguments\7f423044
+Node: Commands For Completion\7f424199
+Node: Keyboard Macros\7f428518
+Node: Miscellaneous Commands\7f429222
+Node: Readline vi Mode\7f435879
+Node: Programmable Completion\7f436834
+Node: Programmable Completion Builtins\7f444794
+Node: A Programmable Completion Example\7f456363
+Node: Using History Interactively\7f461711
+Node: Bash History Facilities\7f462395
+Node: Bash History Builtins\7f465510
+Node: History Interaction\7f470756
+Node: Event Designators\7f475084
+Node: Word Designators\7f476670
+Node: Modifiers\7f478659
+Node: Installing Bash\7f480571
+Node: Basic Installation\7f481708
+Node: Compilers and Options\7f485590
+Node: Compiling For Multiple Architectures\7f486343
+Node: Installation Names\7f488095
+Node: Specifying the System Type\7f490332
+Node: Sharing Defaults\7f491081
+Node: Operation Controls\7f491798
+Node: Optional Features\7f492820
+Node: Reporting Bugs\7f504625
+Node: Major Differences From The Bourne Shell\7f505977
+Node: GNU Free Documentation License\7f525715
+Node: Indexes\7f550895
+Node: Builtin Index\7f551349
+Node: Reserved Word Index\7f558450
+Node: Variable Index\7f560898
+Node: Function Index\7f578032
+Node: Concept Index\7f591891
\1f
End Tag Table
-This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/MacPorts 2024.70613_0) (preloaded format=pdfetex 2024.4.2) 5 APR 2024 12:10
+This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/MacPorts 2024.70613_0) (preloaded format=pdfetex 2024.4.9) 23 APR 2024 17:29
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
%&-line parsing enabled.
-**\input /usr/local/src/bash/bash-20240402/doc/bashref.texi
-(/usr/local/src/bash/bash-20240402/doc/bashref.texi
-(/usr/local/src/bash/bash-20240402/doc/texinfo.tex
+**\input /usr/local/src/bash/bash-20240422/doc/bashref.texi
+(/usr/local/src/bash/bash-20240422/doc/bashref.texi
+(/usr/local/src/bash/bash-20240422/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-20240402/doc/version.texi) [1{/opt/local/var/db/texmf
+(/usr/local/src/bash/bash-20240422/doc/version.texi) [1{/opt/local/var/db/texmf
/fonts/map/pdftex/updmap/pdftex.map}] [2]
-(/usr/local/build/bash/bash-20240402/doc/bashref.toc [-1] [-2] [-3]) [-4]
-(/usr/local/build/bash/bash-20240402/doc/bashref.toc)
-(/usr/local/build/bash/bash-20240402/doc/bashref.toc) Chapter 1
+(/usr/local/build/bash/bash-20240422/doc/bashref.toc [-1] [-2] [-3]) [-4]
+(/usr/local/build/bash/bash-20240422/doc/bashref.toc)
+(/usr/local/build/bash/bash-20240422/doc/bashref.toc) Chapter 1
\openout0 = `bashref.toc'.
-(/usr/local/build/bash/bash-20240402/doc/bashref.aux)
+(/usr/local/build/bash/bash-20240422/doc/bashref.aux)
\openout1 = `bashref.aux'.
Chapter 2 [1] [2]
[49] [50] [51] [52]
[53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67]
[68]
-Overfull \hbox (38.26585pt too wide) in paragraph at lines 5436--5436
+Overfull \hbox (38.26585pt too wide) in paragraph at lines 5441--5441
[]@texttt set [-abefhkmnptuvxBCEHPT] [-o @textttsl option-name@texttt ] [--] [
-] [@textttsl ar-gu-ment []@texttt ][]
.etc.
-Overfull \hbox (38.26585pt too wide) in paragraph at lines 5437--5437
+Overfull \hbox (38.26585pt too wide) in paragraph at lines 5442--5442
[]@texttt set [+abefhkmnptuvxBCEHPT] [+o @textttsl option-name@texttt ] [--] [
-] [@textttsl ar-gu-ment []@texttt ][]
[119] [120]
texinfo.tex: doing @include of rluser.texi
- (/usr/local/src/bash/bash-20240402/lib/readline/doc/rluser.texi
+ (/usr/local/src/bash/bash-20240422/lib/readline/doc/rluser.texi
Chapter 8 [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131]
[132]
Underfull \hbox (badness 7540) in paragraph at lines 882--888
texinfo.tex: doing @include of hsuser.texi
-(/usr/local/src/bash/bash-20240402/lib/readline/doc/hsuser.texi Chapter 9
+(/usr/local/src/bash/bash-20240422/lib/readline/doc/hsuser.texi Chapter 9
[158] [159] [160] [161] [162] [163]) Chapter 10 [164] [165] [166] [167]
[168]
-Underfull \hbox (badness 10000) in paragraph at lines 9815--9824
+Underfull \hbox (badness 10000) in paragraph at lines 9827--9836
[]@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 9815--9824
+Underfull \hbox (badness 10000) in paragraph at lines 9827--9836
@textrm `@texttt disabled-builtins[]@textrm '[], `@texttt direxpand-default[]@t
extrm '[], `@texttt strict-posix-default[]@textrm '[], and
[178] [179] Appendix C [180]
texinfo.tex: doing @include of fdl.texi
- (/usr/local/src/bash/bash-20240402/doc/fdl.texi
+ (/usr/local/src/bash/bash-20240422/doc/fdl.texi
[181] [182] [183] [184] [185] [186] [187]) Appendix D [188] [189] [190]
[191] [192] [193] [194] [195] [196] [197] )
Here is how much of TeX's memory you used:
4105 strings out of 495840
47629 string characters out of 6171739
- 143196 words of memory out of 5000000
+ 143243 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
-texlive/fonts/type1/public/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texli
ve/fonts/type1/public/cm-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fon
ts/type1/public/cm-super/sfrm1440.pfb>
-Output written on bashref.pdf (203 pages, 818717 bytes).
+Output written on bashref.pdf (203 pages, 819186 bytes).
PDF statistics:
- 2832 PDF objects out of 2984 (max. 8388607)
- 2582 compressed objects within 26 object streams
+ 2834 PDF objects out of 2984 (max. 8388607)
+ 2584 compressed objects within 26 object streams
331 named destinations out of 1000 (max. 500000)
1157 words of extra memory for PDF output out of 10000 (max. 10000000)
%!PS-Adobe-2.0
%%Creator: dvips(k) 2024.1 (TeX Live 2024) Copyright 2024 Radical Eye Software
%%Title: bashref.dvi
-%%CreationDate: Fri Apr 5 16:10:55 2024
+%%CreationDate: Tue Apr 23 21:29:52 2024
%%Pages: 203
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2024.04.05:1210
+%DVIPSSource: TeX output 2024.04.23:1729
%%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(5)e(April)h
-(2024\).)150 4523 y(This)36 b(is)g(Edition)h(5.3,)j(last)d(up)s(dated)e
-(5)i(April)g(2024,)j(of)c Fr(The)h(GNU)g(Bash)g(Reference)g(Man)m(ual)p
-Fu(,)i(for)150 4633 y Ft(Bash)p Fu(,)29 b(V)-8 b(ersion)31
+(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.3,)c(23)f(April)f
+(2024\).)150 4523 y(This)j(is)h(Edition)f(5.3,)j(last)f(up)s(dated)d
+(23)j(April)e(2024,)k(of)d Fr(The)f(GNU)h(Bash)g(Reference)g(Man)m(ual)
+p Fu(,)i(for)150 4633 y Ft(Bash)p Fu(,)29 b(V)-8 b(ersion)31
b(5.3.)150 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577 4767
y Fq(\015)f Fu(1988{2023)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8
b(oundation,)31 b(Inc.)390 4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h
Fu(expand)f(to)h(nothing)g(\(i.e.,)630 4291 y(they)j(are)f(remo)m(v)m
(ed\).)150 4443 y Ft(#)432 b Fu(\($#\))31 b(Expands)e(to)i(the)g(n)m
(um)m(b)s(er)e(of)h(p)s(ositional)i(parameters)e(in)g(decimal.)150
-4596 y Ft(?)432 b Fu(\($?\))88 b(Expands)45 b(to)h(the)g(exit)h(status)
-f(of)g(the)g(most)h(recen)m(tly)g(executed)g(foreground)630
-4706 y(pip)s(eline.)150 4858 y Ft(-)432 b Fu(\($-,)24
-b(a)e(h)m(yphen.\))37 b(Expands)20 b(to)i(the)f(curren)m(t)h(option)f
-(\015ags)h(as)f(sp)s(eci\014ed)g(up)s(on)f(in)m(v)m(o)s(cation,)630
-4968 y(b)m(y)38 b(the)h Ft(set)f Fu(builtin)g(command,)j(or)d(those)i
-(set)f(b)m(y)f(the)h(shell)g(itself)g(\(suc)m(h)g(as)g(the)g
+4596 y Ft(?)432 b Fu(\($?\))41 b(Expands)27 b(to)i(the)g(exit)h(status)
+f(of)f(the)h(most)g(recen)m(tly)h(executed)f(foreground)f(com-)630
+4706 y(mand.)150 4858 y Ft(-)432 b Fu(\($-,)24 b(a)e(h)m(yphen.\))37
+b(Expands)20 b(to)i(the)f(curren)m(t)h(option)f(\015ags)h(as)f(sp)s
+(eci\014ed)g(up)s(on)f(in)m(v)m(o)s(cation,)630 4968
+y(b)m(y)38 b(the)h Ft(set)f Fu(builtin)g(command,)j(or)d(those)i(set)f
+(b)m(y)f(the)h(shell)g(itself)g(\(suc)m(h)g(as)g(the)g
Ft(-i)630 5078 y Fu(option\).)150 5230 y Ft($)432 b Fu(\($$\))39
b(Expands)c(to)j(the)f(pro)s(cess)g Fm(id)g Fu(of)g(the)g(shell.)61
b(In)36 b(a)h(subshell,)h(it)g(expands)e(to)i(the)630
y(input.)62 b(The)38 b(return)f(status)h(is)g(zero)g(if)g(the)g(mo)s
(de)g(is)g(successfully)g(c)m(hanged)g(or)g(if)g(no)630
518 y Fr(mo)s(de)d Fu(argumen)m(t)c(is)f(supplied,)g(and)f(non-zero)i
-(otherwise.)630 648 y(Note)38 b(that)e(when)g(the)g(mo)s(de)g(is)g(in)m
+(otherwise.)630 655 y(Note)38 b(that)e(when)g(the)g(mo)s(de)g(is)g(in)m
(terpreted)h(as)f(an)g(o)s(ctal)i(n)m(um)m(b)s(er,)e(eac)m(h)i(n)m(um)m
-(b)s(er)d(of)630 758 y(the)f(umask)g(is)h(subtracted)f(from)f
+(b)s(er)d(of)630 765 y(the)f(umask)g(is)h(subtracted)f(from)f
Ft(7)p Fu(.)53 b(Th)m(us,)34 b(a)h(umask)e(of)i Ft(022)e
-Fu(results)h(in)g(p)s(ermissions)630 867 y(of)d Ft(755)p
-Fu(.)150 1018 y Ft(unset)870 1148 y(unset)46 b([-fnv])g([)p
-Fj(name)p Ft(])630 1278 y Fu(Remo)m(v)m(e)36 b(eac)m(h)f(v)-5
+Fu(results)h(in)g(p)s(ermissions)630 874 y(of)d Ft(755)p
+Fu(.)150 1039 y Ft(unset)870 1176 y(unset)46 b([-fnv])g([)p
+Fj(name)p Ft(])630 1313 y Fu(Remo)m(v)m(e)36 b(eac)m(h)f(v)-5
b(ariable)35 b(or)f(function)f Fr(name)p Fu(.)52 b(If)33
b(the)i Ft(-v)e Fu(option)h(is)g(giv)m(en,)j(eac)m(h)e
-Fr(name)630 1388 y Fu(refers)27 b(to)h(a)g(shell)f(v)-5
+Fr(name)630 1422 y Fu(refers)27 b(to)h(a)g(shell)f(v)-5
b(ariable)28 b(and)f(that)h(v)-5 b(ariable)28 b(is)f(remo)m(v)m(ed.)41
b(If)27 b(the)g Ft(-f)g Fu(option)g(is)h(giv)m(en,)630
-1497 y(the)37 b Fr(name)5 b Fu(s)37 b(refer)f(to)i(shell)f(functions,)h
+1532 y(the)37 b Fr(name)5 b Fu(s)37 b(refer)f(to)i(shell)f(functions,)h
(and)e(the)h(function)g(de\014nition)f(is)h(remo)m(v)m(ed.)61
-b(If)630 1607 y(the)34 b Ft(-n)e Fu(option)i(is)f(supplied,)h(and)e
+b(If)630 1642 y(the)34 b Ft(-n)e Fu(option)i(is)f(supplied,)h(and)e
Fr(name)39 b Fu(is)33 b(a)h(v)-5 b(ariable)34 b(with)f(the)h
-Ft(nameref)d Fu(attribute,)630 1716 y Fr(name)42 b Fu(will)37
+Ft(nameref)d Fu(attribute,)630 1751 y Fr(name)42 b Fu(will)37
b(b)s(e)f(unset)g(rather)g(than)h(the)g(v)-5 b(ariable)37
b(it)g(references.)60 b Ft(-n)36 b Fu(has)g(no)h(e\013ect)h(if)630
-1826 y(the)h Ft(-f)g Fu(option)g(is)h(supplied.)65 b(If)39
+1861 y(the)h Ft(-f)g Fu(option)g(is)h(supplied.)65 b(If)39
b(no)g(options)h(are)f(supplied,)h(eac)m(h)h Fr(name)j
-Fu(refers)39 b(to)h(a)630 1936 y(v)-5 b(ariable;)45 b(if)39
+Fu(refers)39 b(to)h(a)630 1970 y(v)-5 b(ariable;)45 b(if)39
b(there)g(is)g(no)g(v)-5 b(ariable)40 b(b)m(y)f(that)h(name,)h(a)f
-(function)f(with)g(that)g(name,)j(if)630 2045 y(an)m(y)-8
+(function)f(with)g(that)g(name,)j(if)630 2080 y(an)m(y)-8
b(,)34 b(is)e(unset.)46 b(Readonly)33 b(v)-5 b(ariables)33
b(and)f(functions)g(ma)m(y)h(not)f(b)s(e)g(unset.)46
-b(Some)33 b(shell)630 2155 y(v)-5 b(ariables)29 b(lose)h(their)e(sp)s
+b(Some)33 b(shell)630 2190 y(v)-5 b(ariables)29 b(lose)h(their)e(sp)s
(ecial)h(b)s(eha)m(vior)g(if)f(they)h(are)g(unset;)g(suc)m(h)f(b)s(eha)
-m(vior)h(is)g(noted)f(in)630 2264 y(the)35 b(description)h(of)f(the)g
+m(vior)h(is)g(noted)f(in)630 2299 y(the)35 b(description)h(of)f(the)g
(individual)g(v)-5 b(ariables.)56 b(The)34 b(return)g(status)i(is)f
-(zero)h(unless)f(a)630 2374 y Fr(name)h Fu(is)30 b(readonly)g(or)h(ma)m
-(y)g(not)f(b)s(e)g(unset.)150 2606 y Fs(4.2)68 b(Bash)45
-b(Builtin)g(Commands)150 2765 y Fu(This)c(section)h(describ)s(es)f
+(zero)h(unless)f(a)630 2409 y Fr(name)h Fu(is)30 b(readonly)g(or)h(ma)m
+(y)g(not)f(b)s(e)g(unset.)150 2657 y Fs(4.2)68 b(Bash)45
+b(Builtin)g(Commands)150 2816 y Fu(This)c(section)h(describ)s(es)f
(builtin)f(commands)h(whic)m(h)g(are)h(unique)e(to)j(or)e(ha)m(v)m(e)h
-(b)s(een)f(extended)g(in)150 2875 y(Bash.)g(Some)30 b(of)h(these)g
+(b)s(een)f(extended)g(in)150 2926 y(Bash.)g(Some)30 b(of)h(these)g
(commands)f(are)g(sp)s(eci\014ed)g(in)g(the)h Fm(posix)e
-Fu(standard.)150 3025 y Ft(alias)870 3155 y(alias)46
+Fu(standard.)150 3093 y Ft(alias)870 3230 y(alias)46
b([-p])h([)p Fj(name)p Ft([=)p Fj(value)p Ft(])d(...)o(])630
-3285 y Fu(Without)26 b(argumen)m(ts)f(or)g(with)f(the)h
+3367 y Fu(Without)26 b(argumen)m(ts)f(or)g(with)f(the)h
Ft(-p)g Fu(option,)h Ft(alias)e Fu(prin)m(ts)g(the)h(list)h(of)f
-(aliases)h(on)f(the)630 3395 y(standard)g(output)g(in)g(a)h(form)f
+(aliases)h(on)f(the)630 3477 y(standard)g(output)g(in)g(a)h(form)f
(that)h(allo)m(ws)h(them)e(to)h(b)s(e)f(reused)g(as)g(input.)39
-b(If)25 b(argumen)m(ts)630 3505 y(are)j(supplied,)e(an)i(alias)g(is)f
+b(If)25 b(argumen)m(ts)630 3586 y(are)j(supplied,)e(an)i(alias)g(is)f
(de\014ned)f(for)h(eac)m(h)h Fr(name)33 b Fu(whose)27
b Fr(v)-5 b(alue)33 b Fu(is)27 b(giv)m(en.)41 b(If)26
-b(no)h Fr(v)-5 b(alue)630 3614 y Fu(is)37 b(giv)m(en,)j(the)d(name)g
+b(no)h Fr(v)-5 b(alue)630 3696 y Fu(is)37 b(giv)m(en,)j(the)d(name)g
(and)g(v)-5 b(alue)37 b(of)h(the)f(alias)h(is)f(prin)m(ted.)61
-b(Aliases)38 b(are)f(describ)s(ed)f(in)630 3724 y(Section)31
-b(6.6)h([Aliases],)g(page)f(103.)150 3874 y Ft(bind)870
-4004 y(bind)47 b([-m)g Fj(keymap)p Ft(])e([-lpsvPSVX])870
-4114 y(bind)i([-m)g Fj(keymap)p Ft(])e([-q)i Fj(function)p
+b(Aliases)38 b(are)f(describ)s(ed)f(in)630 3806 y(Section)31
+b(6.6)h([Aliases],)g(page)f(103.)150 3970 y Ft(bind)870
+4107 y(bind)47 b([-m)g Fj(keymap)p Ft(])e([-lsvSVX])870
+4217 y(bind)i([-m)g Fj(keymap)p Ft(])e([-q)i Fj(function)p
Ft(])f([-u)g Fj(function)p Ft(])g([-r)h Fj(keyseq)p Ft(])870
-4224 y(bind)g([-m)g Fj(keymap)p Ft(])e(-f)j Fj(filename)870
-4333 y Ft(bind)f([-m)g Fj(keymap)p Ft(])e(-x)j Fj(keyseq[:)d
-(]shell-command)870 4443 y Ft(bind)i([-m)g Fj(keymap)p
-Ft(])e Fj(keyseq:function-name)870 4552 y Ft(bind)i([-m)g
-Fj(keymap)p Ft(])e Fj(keyseq:readline-command)870 4662
-y Ft(bind)i Fj(readline-command-line)630 4792 y Fu(Displa)m(y)22
-b(curren)m(t)f(Readline)h(\(see)f(Chapter)g(8)g([Command)f(Line)h
-(Editing],)j(page)e(122\))g(k)m(ey)630 4902 y(and)36
-b(function)g(bindings,)i(bind)d(a)i(k)m(ey)g(sequence)g(to)h(a)f
-(Readline)g(function)f(or)h(macro,)630 5011 y(or)44 b(set)h(a)g
-(Readline)f(v)-5 b(ariable.)83 b(Eac)m(h)45 b(non-option)g(argumen)m(t)
-f(is)g(a)h(command)f(as)g(it)630 5121 y(w)m(ould)e(app)s(ear)f(in)h(a)h
-(Readline)g(initialization)i(\014le)d(\(see)h(Section)g(8.3)g
-([Readline)g(Init)630 5230 y(File],)c(page)d(125\),)j(but)c(eac)m(h)h
-(binding)f(or)g(command)h(m)m(ust)f(b)s(e)g(passed)g(as)h(a)g(separate)
-630 5340 y(argumen)m(t;)31 b(e.g.,)h(`)p Ft
-("\\C-x\\C-r":re-read-init-f)o(ile)p Fu('.)p eop end
+4326 y(bind)g([-m)g Fj(keymap)p Ft(])e(-f)j Fj(filename)870
+4436 y Ft(bind)f([-m)g Fj(keymap)p Ft(])e(-x)j Fj(keyseq[:)d
+(]shell-command)870 4545 y Ft(bind)i([-m)g Fj(keymap)p
+Ft(])e Fj(keyseq:function-name)870 4655 y Ft(bind)i([-m)g
+Fj(keymap)p Ft(])e Fj(keyseq:readline-command)870 4765
+y Ft(bind)i([-m)g Fj(keymap)p Ft(])e(-p|-P)i([)p Fj(readline-command)p
+Ft(])870 4874 y(bind)g Fj(readline-command-line)630 5011
+y Fu(Displa)m(y)22 b(curren)m(t)f(Readline)h(\(see)f(Chapter)g(8)g
+([Command)f(Line)h(Editing],)j(page)e(122\))g(k)m(ey)630
+5121 y(and)36 b(function)g(bindings,)i(bind)d(a)i(k)m(ey)g(sequence)g
+(to)h(a)f(Readline)g(function)f(or)h(macro,)630 5230
+y(or)44 b(set)h(a)g(Readline)f(v)-5 b(ariable.)83 b(Eac)m(h)45
+b(non-option)g(argumen)m(t)f(is)g(a)h(command)f(as)g(it)630
+5340 y(w)m(ould)e(app)s(ear)f(in)h(a)h(Readline)g(initialization)i
+(\014le)d(\(see)h(Section)g(8.3)g([Readline)g(Init)p
+eop end
%%Page: 58 64
TeXDict begin 58 63 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(58)630 299 y(Options,)30
-b(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h(meanings:)630
-459 y Ft(-m)e Fj(keymap)66 b Fu(Use)54 b Fr(k)m(eymap)j
-Fu(as)d(the)g(k)m(eymap)g(to)h(b)s(e)e(a\013ected)i(b)m(y)f(the)g
-(subsequen)m(t)1110 569 y(bindings.)46 b(Acceptable)34
+b(Shell)30 b(Builtin)h(Commands)2069 b(58)630 299 y(File],)39
+b(page)d(125\),)j(but)c(eac)m(h)h(binding)f(or)g(command)h(m)m(ust)f(b)
+s(e)g(passed)g(as)h(a)g(separate)630 408 y(argumen)m(t;)31
+b(e.g.,)h(`)p Ft("\\C-x\\C-r":re-read-init-f)o(ile)p
+Fu('.)630 542 y(Options,)e(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m
+(wing)h(meanings:)630 701 y Ft(-m)e Fj(keymap)66 b Fu(Use)54
+b Fr(k)m(eymap)j Fu(as)d(the)g(k)m(eymap)g(to)h(b)s(e)e(a\013ected)i(b)
+m(y)f(the)g(subsequen)m(t)1110 810 y(bindings.)46 b(Acceptable)34
b Fr(k)m(eymap)i Fu(names)c(are)h Ft(emacs)p Fu(,)f Ft(emacs-standard)p
-Fu(,)1110 678 y Ft(emacs-meta)p Fu(,)99 b Ft(emacs-ctlx)p
+Fu(,)1110 920 y Ft(emacs-meta)p Fu(,)99 b Ft(emacs-ctlx)p
Fu(,)f Ft(vi)p Fu(,)j Ft(vi-move)p Fu(,)f Ft(vi-command)p
-Fu(,)f(and)1110 788 y Ft(vi-insert)p Fu(.)81 b Ft(vi)44
+Fu(,)f(and)1110 1029 y Ft(vi-insert)p Fu(.)81 b Ft(vi)44
b Fu(is)h(equiv)-5 b(alen)m(t)46 b(to)g Ft(vi-command)c
-Fu(\()p Ft(vi-move)h Fu(is)i(also)h(a)1110 897 y(synon)m(ym\);)30
+Fu(\()p Ft(vi-move)h Fu(is)i(also)h(a)1110 1139 y(synon)m(ym\);)30
b Ft(emacs)f Fu(is)i(equiv)-5 b(alen)m(t)32 b(to)f Ft(emacs-standard)p
-Fu(.)630 1058 y Ft(-l)384 b Fu(List)31 b(the)f(names)g(of)h(all)g
-(Readline)g(functions.)630 1218 y Ft(-p)384 b Fu(Displa)m(y)34
+Fu(.)630 1297 y Ft(-l)384 b Fu(List)31 b(the)f(names)g(of)h(all)g
+(Readline)g(functions.)630 1456 y Ft(-p)384 b Fu(Displa)m(y)34
b(Readline)f(function)g(names)g(and)f(bindings)f(in)i(suc)m(h)f(a)i(w)m
-(a)m(y)f(that)1110 1327 y(they)h(can)g(b)s(e)f(used)f(as)i(an)g
+(a)m(y)f(that)1110 1565 y(they)h(can)g(b)s(e)f(used)f(as)i(an)g
(argumen)m(t)g(to)g(a)g(subsequen)m(t)f Ft(bind)f Fu(command)1110
-1437 y(or)e(in)g(a)h(Readline)g(initialization)i(\014le.)630
-1597 y Ft(-P)384 b Fu(List)31 b(curren)m(t)f(Readline)h(function)f
-(names)g(and)g(bindings.)630 1757 y Ft(-v)384 b Fu(Displa)m(y)25
-b(Readline)f(v)-5 b(ariable)25 b(names)f(and)f(v)-5 b(alues)24
-b(in)g(suc)m(h)f(a)i(w)m(a)m(y)f(that)h(they)1110 1867
-y(can)33 b(b)s(e)e(used)h(as)g(an)g(argumen)m(t)h(to)g(a)f(subsequen)m
-(t)g Ft(bind)f Fu(command)h(or)g(in)1110 1976 y(a)f(Readline)g
-(initialization)i(\014le.)630 2137 y Ft(-V)384 b Fu(List)31
-b(curren)m(t)f(Readline)h(v)-5 b(ariable)31 b(names)f(and)g(v)-5
-b(alues.)630 2297 y Ft(-s)384 b Fu(Displa)m(y)39 b(Readline)f(k)m(ey)g
+1675 y(or)37 b(in)g(a)h(Readline)f(initialization)k(\014le.)61
+b(If)36 b(argumen)m(ts)i(remain)f(after)h(op-)1110 1784
+y(tion)29 b(pro)s(cessing,)g Ft(bind)e Fu(treats)j(them)e(as)h
+(readline)g(command)f(names)h(and)1110 1894 y(restricts)i(output)f(to)h
+(those)g(names.)630 2052 y Ft(-P)384 b Fu(List)36 b(curren)m(t)f
+(Readline)h(function)f(names)h(and)f(bindings.)55 b(If)35
+b(argumen)m(ts)1110 2162 y(remain)d(after)h(option)f(pro)s(cessing,)h
+Ft(bind)e Fu(treats)i(them)f(as)h(readline)f(com-)1110
+2271 y(mand)e(names)g(and)g(restricts)h(output)f(to)h(those)g(names.)
+630 2430 y Ft(-v)384 b Fu(Displa)m(y)25 b(Readline)f(v)-5
+b(ariable)25 b(names)f(and)f(v)-5 b(alues)24 b(in)g(suc)m(h)f(a)i(w)m
+(a)m(y)f(that)h(they)1110 2539 y(can)33 b(b)s(e)e(used)h(as)g(an)g
+(argumen)m(t)h(to)g(a)f(subsequen)m(t)g Ft(bind)f Fu(command)h(or)g(in)
+1110 2649 y(a)f(Readline)g(initialization)i(\014le.)630
+2807 y Ft(-V)384 b Fu(List)31 b(curren)m(t)f(Readline)h(v)-5
+b(ariable)31 b(names)f(and)g(v)-5 b(alues.)630 2966 y
+Ft(-s)384 b Fu(Displa)m(y)39 b(Readline)f(k)m(ey)g(sequences)f(b)s
+(ound)f(to)i(macros)g(and)f(the)g(strings)1110 3075 y(they)e(output)f
+(in)g(suc)m(h)g(a)h(w)m(a)m(y)g(that)g(they)f(can)h(b)s(e)f(used)g(as)g
+(an)g(argumen)m(t)1110 3185 y(to)d(a)g(subsequen)m(t)f
+Ft(bind)f Fu(command)h(or)g(in)g(a)h(Readline)g(initialization)i
+(\014le.)630 3343 y Ft(-S)384 b Fu(Displa)m(y)39 b(Readline)f(k)m(ey)g
(sequences)f(b)s(ound)f(to)i(macros)g(and)f(the)g(strings)1110
-2406 y(they)e(output)f(in)g(suc)m(h)g(a)h(w)m(a)m(y)g(that)g(they)f
-(can)h(b)s(e)f(used)g(as)g(an)g(argumen)m(t)1110 2516
-y(to)d(a)g(subsequen)m(t)f Ft(bind)f Fu(command)h(or)g(in)g(a)h
-(Readline)g(initialization)i(\014le.)630 2676 y Ft(-S)384
-b Fu(Displa)m(y)39 b(Readline)f(k)m(ey)g(sequences)f(b)s(ound)f(to)i
-(macros)g(and)f(the)g(strings)1110 2786 y(they)31 b(output.)630
-2946 y Ft(-f)f Fj(filename)1110 3055 y Fu(Read)h(k)m(ey)g(bindings)e
-(from)h Fr(\014lename)p Fu(.)630 3216 y Ft(-q)g Fj(function)1110
-3325 y Fu(Query)g(ab)s(out)g(whic)m(h)g(k)m(eys)h(in)m(v)m(ok)m(e)h
-(the)f(named)f Fr(function)p Fu(.)630 3485 y Ft(-u)g
-Fj(function)1110 3595 y Fu(Un)m(bind)f(all)i(k)m(eys)g(b)s(ound)e(to)i
-(the)f(named)g Fr(function)p Fu(.)630 3755 y Ft(-r)g
-Fj(keyseq)66 b Fu(Remo)m(v)m(e)32 b(an)m(y)f(curren)m(t)f(binding)f
-(for)h Fr(k)m(eyseq)p Fu(.)630 3915 y Ft(-x)g Fj(keyseq:shell-command)
-1110 4025 y Fu(Cause)35 b Fr(shell-command)k Fu(to)d(b)s(e)f(executed)h
+3453 y(they)31 b(output.)630 3611 y Ft(-f)f Fj(filename)1110
+3720 y Fu(Read)h(k)m(ey)g(bindings)e(from)h Fr(\014lename)p
+Fu(.)630 3879 y Ft(-q)g Fj(function)1110 3988 y Fu(Query)g(ab)s(out)g
+(whic)m(h)g(k)m(eys)h(in)m(v)m(ok)m(e)h(the)f(named)f
+Fr(function)p Fu(.)630 4147 y Ft(-u)g Fj(function)1110
+4256 y Fu(Un)m(bind)f(all)i(k)m(eys)g(b)s(ound)e(to)i(the)f(named)g
+Fr(function)p Fu(.)630 4415 y Ft(-r)g Fj(keyseq)66 b
+Fu(Remo)m(v)m(e)32 b(an)m(y)f(curren)m(t)f(binding)f(for)h
+Fr(k)m(eyseq)p Fu(.)630 4573 y Ft(-x)g Fj(keyseq:shell-command)1110
+4682 y Fu(Cause)35 b Fr(shell-command)k Fu(to)d(b)s(e)f(executed)h
(whenev)m(er)f Fr(k)m(eyseq)j Fu(is)d(en)m(tered.)1110
-4134 y(The)c(separator)i(b)s(et)m(w)m(een)g Fr(k)m(eyseq)i
+4792 y(The)c(separator)i(b)s(et)m(w)m(een)g Fr(k)m(eyseq)i
Fu(and)c Fr(shell-command)36 b Fu(is)c(either)h(white-)1110
-4244 y(space)26 b(or)g(a)g(colon)h(optionally)g(follo)m(w)m(ed)g(b)m(y)
-e(whitespace.)40 b(If)25 b(the)h(separator)1110 4354
+4902 y(space)26 b(or)g(a)g(colon)h(optionally)g(follo)m(w)m(ed)g(b)m(y)
+e(whitespace.)40 b(If)25 b(the)h(separator)1110 5011
y(is)40 b(whitespace,)i Fr(shell-command)i Fu(m)m(ust)39
-b(b)s(e)g(enclosed)h(in)f(double)g(quotes)1110 4463 y(and)30
+b(b)s(e)g(enclosed)h(in)f(double)g(quotes)1110 5121 y(and)30
b(Readline)g(expands)g(an)m(y)g(of)h(its)f(sp)s(ecial)h(bac)m
-(kslash-escap)s(es)h(in)d Fr(shell-)1110 4573 y(command)47
+(kslash-escap)s(es)h(in)d Fr(shell-)1110 5230 y(command)47
b Fu(b)s(efore)c(sa)m(ving)i(it.)80 b(If)43 b(the)h(separator)g(is)g(a)
-g(colon,)k(an)m(y)c(en-)1110 4682 y(closing)35 b(double)e(quotes)g(are)
-h(optional,)i(and)d(Readline)h(do)s(es)f(not)h(expand)1110
-4792 y(the)40 b(command)g(string)f(b)s(efore)h(sa)m(ving)g(it.)70
-b(Since)40 b(the)g(en)m(tire)g(k)m(ey)h(bind-)1110 4902
-y(ing)g(expression)g(m)m(ust)g(b)s(e)f(a)h(single)h(argumen)m(t,)i(it)e
-(should)e(b)s(e)g(enclosed)1110 5011 y(in)k(quotes.)85
-b(When)44 b Fr(shell-command)49 b Fu(is)44 b(executed,)50
-b(the)45 b(shell)g(sets)g(the)1110 5121 y Ft(READLINE_LINE)25
-b Fu(v)-5 b(ariable)29 b(to)h(the)f(con)m(ten)m(ts)h(of)f(the)g
-(Readline)g(line)g(bu\013er)1110 5230 y(and)e(the)h Ft(READLINE_POINT)c
-Fu(and)j Ft(READLINE_MARK)d Fu(v)-5 b(ariables)29 b(to)f(the)g(cur-)
-1110 5340 y(ren)m(t)38 b(lo)s(cation)h(of)f(the)g(insertion)f(p)s(oin)m
-(t)h(and)f(the)h(sa)m(v)m(ed)g(insertion)g(p)s(oin)m(t)p
+g(colon,)k(an)m(y)c(en-)1110 5340 y(closing)35 b(double)e(quotes)g(are)
+h(optional,)i(and)d(Readline)h(do)s(es)f(not)h(expand)p
eop end
%%Page: 59 65
TeXDict begin 59 64 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(59)1110 299 y(\(the)34
-b Fr(mark)6 b Fu(\),)34 b(resp)s(ectiv)m(ely)-8 b(.)51
+b(Shell)30 b(Builtin)h(Commands)2069 b(59)1110 299 y(the)40
+b(command)g(string)f(b)s(efore)h(sa)m(ving)g(it.)70 b(Since)40
+b(the)g(en)m(tire)g(k)m(ey)h(bind-)1110 408 y(ing)g(expression)g(m)m
+(ust)g(b)s(e)f(a)h(single)h(argumen)m(t,)i(it)e(should)e(b)s(e)g
+(enclosed)1110 518 y(in)k(quotes.)85 b(When)44 b Fr(shell-command)49
+b Fu(is)44 b(executed,)50 b(the)45 b(shell)g(sets)g(the)1110
+628 y Ft(READLINE_LINE)25 b Fu(v)-5 b(ariable)29 b(to)h(the)f(con)m
+(ten)m(ts)h(of)f(the)g(Readline)g(line)g(bu\013er)1110
+737 y(and)e(the)h Ft(READLINE_POINT)c Fu(and)j Ft(READLINE_MARK)d
+Fu(v)-5 b(ariables)29 b(to)f(the)g(cur-)1110 847 y(ren)m(t)38
+b(lo)s(cation)h(of)f(the)g(insertion)f(p)s(oin)m(t)h(and)f(the)h(sa)m
+(v)m(ed)g(insertion)g(p)s(oin)m(t)1110 956 y(\(the)c
+Fr(mark)6 b Fu(\),)34 b(resp)s(ectiv)m(ely)-8 b(.)51
b(The)33 b(shell)g(assigns)h(an)m(y)f(n)m(umeric)g(argumen)m(t)1110
-408 y(the)28 b(user)f(supplied)f(to)j(the)f Ft(READLINE_ARGUMENT)23
+1066 y(the)28 b(user)f(supplied)f(to)j(the)f Ft(READLINE_ARGUMENT)23
b Fu(v)-5 b(ariable.)40 b(If)28 b(there)g(w)m(as)1110
-518 y(no)39 b(argumen)m(t,)j(that)d(v)-5 b(ariable)40
+1176 y(no)39 b(argumen)m(t,)j(that)d(v)-5 b(ariable)40
b(is)f(not)g(set.)68 b(If)38 b(the)h(executed)h(command)1110
-628 y(c)m(hanges)e(the)e(v)-5 b(alue)37 b(of)g(an)m(y)g(of)g
+1285 y(c)m(hanges)e(the)e(v)-5 b(alue)37 b(of)g(an)m(y)g(of)g
Ft(READLINE_LINE)p Fu(,)d Ft(READLINE_POINT)p Fu(,)h(or)1110
-737 y Ft(READLINE_MARK)p Fu(,)i(those)i(new)f(v)-5 b(alues)38
+1395 y Ft(READLINE_MARK)p Fu(,)i(those)i(new)f(v)-5 b(alues)38
b(will)h(b)s(e)f(re\015ected)h(in)f(the)g(editing)1110
-847 y(state.)630 1014 y Ft(-X)384 b Fu(List)27 b(all)i(k)m(ey)f
+1504 y(state.)630 1663 y Ft(-X)384 b Fu(List)27 b(all)i(k)m(ey)f
(sequences)f(b)s(ound)e(to)j(shell)g(commands)e(and)h(the)g(asso)s
-(ciated)1110 1124 y(commands)42 b(in)f(a)i(format)f(that)h(can)f(b)s(e)
-g(reused)f(as)h(an)g(argumen)m(t)h(to)g(a)1110 1233 y(subsequen)m(t)30
-b Ft(bind)f Fu(command.)630 1401 y(The)d(return)f(status)i(is)f(zero)i
+(ciated)1110 1772 y(commands)42 b(in)f(a)i(format)f(that)h(can)f(b)s(e)
+g(reused)f(as)h(an)g(argumen)m(t)h(to)g(a)1110 1882 y(subsequen)m(t)30
+b Ft(bind)f Fu(command.)630 2040 y(The)d(return)f(status)i(is)f(zero)i
(unless)d(an)i(in)m(v)-5 b(alid)27 b(option)g(is)f(supplied)f(or)i(an)f
-(error)g(o)s(ccurs.)150 1568 y Ft(builtin)870 1706 y(builtin)46
-b([)p Fj(shell-builtin)e Ft([)p Fj(args)p Ft(]])630 1845
+(error)g(o)s(ccurs.)150 2198 y Ft(builtin)870 2332 y(builtin)46
+b([)p Fj(shell-builtin)e Ft([)p Fj(args)p Ft(]])630 2466
y Fu(Run)35 b(a)i(shell)f(builtin,)i(passing)e(it)h Fr(args)p
Fu(,)h(and)e(return)f(its)i(exit)g(status.)59 b(This)35
-b(is)i(useful)630 1954 y(when)29 b(de\014ning)h(a)g(shell)h(function)f
+b(is)i(useful)630 2576 y(when)29 b(de\014ning)h(a)g(shell)h(function)f
(with)g(the)g(same)h(name)f(as)h(a)g(shell)f(builtin,)g(retaining)630
-2064 y(the)k(functionalit)m(y)h(of)f(the)f(builtin)g(within)g(the)h
+2685 y(the)k(functionalit)m(y)h(of)f(the)f(builtin)g(within)g(the)h
(function.)50 b(The)33 b(return)g(status)h(is)f(non-)630
-2173 y(zero)e(if)g Fr(shell-builtin)f Fu(is)g(not)h(a)g(shell)f
-(builtin)g(command.)150 2341 y Ft(caller)870 2479 y(caller)46
-b([)p Fj(expr)p Ft(])630 2618 y Fu(Returns)34 b(the)g(con)m(text)j(of)e
+2795 y(zero)e(if)g Fr(shell-builtin)f Fu(is)g(not)h(a)g(shell)f
+(builtin)g(command.)150 2953 y Ft(caller)870 3087 y(caller)46
+b([)p Fj(expr)p Ft(])630 3221 y Fu(Returns)34 b(the)g(con)m(text)j(of)e
(an)m(y)g(activ)m(e)i(subroutine)c(call)j(\(a)f(shell)g(function)f(or)h
-(a)g(script)630 2727 y(executed)c(with)f(the)h Ft(.)f
-Fu(or)g Ft(source)f Fu(builtins\).)630 2866 y(Without)45
+(a)g(script)630 3331 y(executed)c(with)f(the)h Ft(.)f
+Fu(or)g Ft(source)f Fu(builtins\).)630 3465 y(Without)45
b Fr(expr)p Fu(,)j Ft(caller)43 b Fu(displa)m(ys)i(the)f(line)h(n)m(um)
-m(b)s(er)f(and)g(source)g(\014lename)h(of)g(the)630 2975
+m(b)s(er)f(and)g(source)g(\014lename)h(of)g(the)630 3574
y(curren)m(t)35 b(subroutine)g(call.)58 b(If)35 b(a)h(non-negativ)m(e)i
(in)m(teger)f(is)f(supplied)e(as)i Fr(expr)p Fu(,)h Ft(caller)630
-3085 y Fu(displa)m(ys)k(the)f(line)h(n)m(um)m(b)s(er,)h(subroutine)d
+3684 y Fu(displa)m(ys)k(the)f(line)h(n)m(um)m(b)s(er,)h(subroutine)d
(name,)44 b(and)c(source)g(\014le)h(corresp)s(onding)e(to)630
-3194 y(that)c(p)s(osition)g(in)f(the)h(curren)m(t)f(execution)i(call)g
+3794 y(that)c(p)s(osition)g(in)f(the)h(curren)m(t)f(execution)i(call)g
(stac)m(k.)54 b(This)34 b(extra)h(information)g(ma)m(y)630
-3304 y(b)s(e)30 b(used,)g(for)g(example,)h(to)g(prin)m(t)f(a)h(stac)m
+3903 y(b)s(e)30 b(used,)g(for)g(example,)h(to)g(prin)m(t)f(a)h(stac)m
(k)h(trace.)42 b(The)29 b(curren)m(t)i(frame)f(is)g(frame)h(0.)630
-3442 y(The)d(return)g(v)-5 b(alue)29 b(is)g(0)g(unless)f(the)h(shell)g
+4037 y(The)d(return)g(v)-5 b(alue)29 b(is)g(0)g(unless)f(the)h(shell)g
(is)g(not)g(executing)h(a)f(subroutine)e(call)j(or)f
-Fr(expr)630 3552 y Fu(do)s(es)h(not)h(corresp)s(ond)e(to)i(a)g(v)-5
+Fr(expr)630 4147 y Fu(do)s(es)h(not)h(corresp)s(ond)e(to)i(a)g(v)-5
b(alid)30 b(p)s(osition)h(in)f(the)g(call)i(stac)m(k.)150
-3719 y Ft(command)870 3858 y(command)46 b([-pVv])g Fj(command)g
-Ft([)p Fj(arguments)f Ft(...)o(])630 3996 y Fu(Runs)32
+4305 y Ft(command)870 4439 y(command)46 b([-pVv])g Fj(command)g
+Ft([)p Fj(arguments)f Ft(...)o(])630 4573 y Fu(Runs)32
b Fr(command)k Fu(with)d Fr(argumen)m(ts)k Fu(ignoring)c(an)m(y)g
-(shell)h(function)e(named)h Fr(command)p Fu(.)630 4106
+(shell)h(function)e(named)h Fr(command)p Fu(.)630 4682
y(Only)39 b(shell)i(builtin)e(commands)h(or)g(commands)f(found)g(b)m(y)
-h(searc)m(hing)h(the)f Ft(PATH)f Fu(are)630 4215 y(executed.)59
+h(searc)m(hing)h(the)f Ft(PATH)f Fu(are)630 4792 y(executed.)59
b(If)36 b(there)h(is)f(a)h(shell)f(function)g(named)g
Ft(ls)p Fu(,)h(running)e(`)p Ft(command)29 b(ls)p Fu(')35
-b(within)630 4325 y(the)c(function)f(will)h(execute)g(the)g(external)g
+b(within)630 4902 y(the)c(function)f(will)h(execute)g(the)g(external)g
(command)g Ft(ls)f Fu(instead)g(of)h(calling)h(the)f(func-)630
-4434 y(tion)36 b(recursiv)m(ely)-8 b(.)56 b(The)34 b
+5011 y(tion)36 b(recursiv)m(ely)-8 b(.)56 b(The)34 b
Ft(-p)h Fu(option)g(means)g(to)h(use)f(a)g(default)h(v)-5
-b(alue)35 b(for)g Ft(PATH)f Fu(that)i(is)630 4544 y(guaran)m(teed)f(to)
+b(alue)35 b(for)g Ft(PATH)f Fu(that)i(is)630 5121 y(guaran)m(teed)f(to)
f(\014nd)e(all)j(of)f(the)g(standard)f(utilities.)52
-b(The)33 b(return)g(status)h(in)f(this)h(case)630 4654
+b(The)33 b(return)g(status)h(in)f(this)h(case)630 5230
y(is)29 b(127)g(if)g Fr(command)j Fu(cannot)d(b)s(e)e(found)h(or)g(an)g
(error)h(o)s(ccurred,)f(and)g(the)h(exit)g(status)g(of)630
-4763 y Fr(command)34 b Fu(otherwise.)630 4902 y(If)e(either)h(the)f
-Ft(-V)g Fu(or)g Ft(-v)g Fu(option)h(is)f(supplied,)g(a)h(description)f
-(of)h Fr(command)j Fu(is)c(prin)m(ted.)630 5011 y(The)f
-Ft(-v)h Fu(option)g(causes)g(a)g(single)h(w)m(ord)f(indicating)g(the)g
-(command)g(or)g(\014le)g(name)g(used)630 5121 y(to)40
-b(in)m(v)m(ok)m(e)h Fr(command)h Fu(to)e(b)s(e)e(displa)m(y)m(ed;)44
-b(the)39 b Ft(-V)f Fu(option)i(pro)s(duces)d(a)j(more)f(v)m(erb)s(ose)
-630 5230 y(description.)61 b(In)36 b(this)h(case,)j(the)e(return)e
-(status)h(is)g(zero)h(if)f Fr(command)k Fu(is)c(found,)h(and)630
-5340 y(non-zero)31 b(if)f(not.)p eop end
+5340 y Fr(command)34 b Fu(otherwise.)p eop end
%%Page: 60 66
TeXDict begin 60 65 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(60)150 299 y Ft(declare)870
-428 y(declare)46 b([-aAfFgiIlnrtux])d([-p])k([)p Fj(name)p
-Ft([=)p Fj(value)p Ft(])d(...)o(])630 558 y Fu(Declare)29
+b(Shell)30 b(Builtin)h(Commands)2069 b(60)630 299 y(If)32
+b(either)h(the)f Ft(-V)g Fu(or)g Ft(-v)g Fu(option)h(is)f(supplied,)g
+(a)h(description)f(of)h Fr(command)j Fu(is)c(prin)m(ted.)630
+408 y(The)f Ft(-v)h Fu(option)g(causes)g(a)g(single)h(w)m(ord)f
+(indicating)g(the)g(command)g(or)g(\014le)g(name)g(used)630
+518 y(to)40 b(in)m(v)m(ok)m(e)h Fr(command)h Fu(to)e(b)s(e)e(displa)m
+(y)m(ed;)44 b(the)39 b Ft(-V)f Fu(option)i(pro)s(duces)d(a)j(more)f(v)m
+(erb)s(ose)630 628 y(description.)61 b(In)36 b(this)h(case,)j(the)e
+(return)e(status)h(is)g(zero)h(if)f Fr(command)k Fu(is)c(found,)h(and)
+630 737 y(non-zero)31 b(if)f(not.)150 897 y Ft(declare)870
+1031 y(declare)46 b([-aAfFgiIlnrtux])d([-p])k([)p Fj(name)p
+Ft([=)p Fj(value)p Ft(])d(...)o(])630 1166 y Fu(Declare)29
b(v)-5 b(ariables)28 b(and)e(giv)m(e)j(them)e(attributes.)40
b(If)27 b(no)g Fr(name)5 b Fu(s)27 b(are)h(giv)m(en,)h(then)e(displa)m
-(y)630 667 y(the)k(v)-5 b(alues)30 b(of)h(v)-5 b(ariables)31
-b(instead.)630 797 y(The)k Ft(-p)f Fu(option)i(will)g(displa)m(y)f(the)
-h(attributes)g(and)e(v)-5 b(alues)36 b(of)f(eac)m(h)i
-Fr(name)p Fu(.)55 b(When)36 b Ft(-p)630 907 y Fu(is)i(used)g(with)g
+(y)630 1275 y(the)k(v)-5 b(alues)30 b(of)h(v)-5 b(ariables)31
+b(instead.)630 1410 y(The)k Ft(-p)f Fu(option)i(will)g(displa)m(y)f
+(the)h(attributes)g(and)e(v)-5 b(alues)36 b(of)f(eac)m(h)i
+Fr(name)p Fu(.)55 b(When)36 b Ft(-p)630 1519 y Fu(is)i(used)g(with)g
Fr(name)43 b Fu(argumen)m(ts,)e(additional)e(options,)i(other)d(than)g
-Ft(-f)g Fu(and)g Ft(-F)p Fu(,)i(are)630 1016 y(ignored.)630
-1146 y(When)g Ft(-p)g Fu(is)g(supplied)f(without)i Fr(name)k
+Ft(-f)g Fu(and)g Ft(-F)p Fu(,)i(are)630 1629 y(ignored.)630
+1763 y(When)g Ft(-p)g Fu(is)g(supplied)f(without)i Fr(name)k
Fu(argumen)m(ts,)f Ft(declare)38 b Fu(will)j(displa)m(y)f(the)h(at-)630
-1255 y(tributes)31 b(and)f(v)-5 b(alues)31 b(of)g(all)h(v)-5
+1873 y(tributes)31 b(and)f(v)-5 b(alues)31 b(of)g(all)h(v)-5
b(ariables)31 b(ha)m(ving)h(the)f(attributes)g(sp)s(eci\014ed)f(b)m(y)h
-(the)g(addi-)630 1365 y(tional)k(options.)52 b(If)34
+(the)g(addi-)630 1983 y(tional)k(options.)52 b(If)34
b(no)g(other)g(options)g(are)g(supplied)f(with)h Ft(-p)p
-Fu(,)g Ft(declare)e Fu(will)j(displa)m(y)630 1474 y(the)e(attributes)h
+Fu(,)g Ft(declare)e Fu(will)j(displa)m(y)630 2092 y(the)e(attributes)h
(and)e(v)-5 b(alues)33 b(of)g(all)h(shell)f(v)-5 b(ariables.)50
b(The)32 b Ft(-f)g Fu(option)i(will)f(restrict)h(the)630
-1584 y(displa)m(y)d(to)g(shell)f(functions.)630 1714
+2202 y(displa)m(y)d(to)g(shell)f(functions.)630 2336
y(The)41 b Ft(-F)f Fu(option)i(inhibits)e(the)i(displa)m(y)f(of)g
(function)g(de\014nitions;)47 b(only)41 b(the)g(function)630
-1823 y(name)30 b(and)f(attributes)i(are)f(prin)m(ted.)40
+2446 y(name)30 b(and)f(attributes)i(are)f(prin)m(ted.)40
b(If)30 b(the)g Ft(extdebug)e Fu(shell)i(option)g(is)g(enabled)g(using)
-630 1933 y Ft(shopt)24 b Fu(\(see)i(Section)g(4.3.2)i([The)d(Shopt)f
+630 2555 y Ft(shopt)24 b Fu(\(see)i(Section)g(4.3.2)i([The)d(Shopt)f
(Builtin],)k(page)e(73\),)i(the)d(source)h(\014le)f(name)h(and)630
-2042 y(line)31 b(n)m(um)m(b)s(er)e(where)h(eac)m(h)h
+2665 y(line)31 b(n)m(um)m(b)s(er)e(where)h(eac)m(h)h
Fr(name)36 b Fu(is)30 b(de\014ned)f(are)i(displa)m(y)m(ed)g(as)g(w)m
-(ell.)41 b Ft(-F)30 b Fu(implies)h Ft(-f)p Fu(.)630 2172
+(ell.)41 b Ft(-F)30 b Fu(implies)h Ft(-f)p Fu(.)630 2800
y(The)36 b Ft(-g)g Fu(option)h(forces)g(v)-5 b(ariables)37
b(to)g(b)s(e)f(created)i(or)e(mo)s(di\014ed)g(at)h(the)g(global)h(scop)
-s(e,)630 2281 y(ev)m(en)g(when)e Ft(declare)f Fu(is)j(executed)g(in)f
+s(e,)630 2909 y(ev)m(en)g(when)e Ft(declare)f Fu(is)j(executed)g(in)f
(a)g(shell)h(function.)61 b(It)37 b(is)g(ignored)h(in)f(all)h(other)630
-2391 y(cases.)630 2521 y(The)50 b Ft(-I)h Fu(option)g(causes)h(lo)s
+3019 y(cases.)630 3153 y(The)50 b Ft(-I)h Fu(option)g(causes)h(lo)s
(cal)g(v)-5 b(ariables)51 b(to)h(inherit)f(the)g(attributes)g(\(except)
-i(the)630 2630 y Ft(nameref)43 b Fu(attribute\))j(and)f(v)-5
+i(the)630 3263 y Ft(nameref)43 b Fu(attribute\))j(and)f(v)-5
b(alue)46 b(of)f(an)m(y)h(existing)g(v)-5 b(ariable)46
-b(with)f(the)g(same)h Fr(name)630 2740 y Fu(at)40 b(a)f(surrounding)d
+b(with)f(the)g(same)h Fr(name)630 3372 y Fu(at)40 b(a)f(surrounding)d
(scop)s(e.)66 b(If)39 b(there)g(is)g(no)f(existing)i(v)-5
b(ariable,)42 b(the)d(lo)s(cal)h(v)-5 b(ariable)40 b(is)630
-2849 y(initially)32 b(unset.)630 2979 y(The)27 b(follo)m(wing)h
+3482 y(initially)32 b(unset.)630 3616 y(The)27 b(follo)m(wing)h
(options)g(can)f(b)s(e)g(used)f(to)i(restrict)g(output)e(to)i(v)-5
-b(ariables)28 b(with)f(the)g(sp)s(ec-)630 3088 y(i\014ed)j(attributes)h
+b(ariables)28 b(with)f(the)g(sp)s(ec-)630 3726 y(i\014ed)j(attributes)h
(or)f(to)h(giv)m(e)h(v)-5 b(ariables)31 b(attributes:)630
-3238 y Ft(-a)384 b Fu(Eac)m(h)36 b Fr(name)k Fu(is)34
+3885 y Ft(-a)384 b Fu(Eac)m(h)36 b Fr(name)k Fu(is)34
b(an)h(indexed)g(arra)m(y)g(v)-5 b(ariable)36 b(\(see)f(Section)h(6.7)g
-([Arra)m(ys],)1110 3347 y(page)31 b(103\).)630 3497 y
+([Arra)m(ys],)1110 3995 y(page)31 b(103\).)630 4154 y
Ft(-A)384 b Fu(Eac)m(h)24 b Fr(name)k Fu(is)23 b(an)g(asso)s(ciativ)m
(e)j(arra)m(y)e(v)-5 b(ariable)24 b(\(see)g(Section)g(6.7)g([Arra)m
-(ys],)1110 3606 y(page)31 b(103\).)630 3756 y Ft(-f)384
-b Fu(Use)31 b(function)f(names)g(only)-8 b(.)630 3905
+(ys],)1110 4264 y(page)31 b(103\).)630 4423 y Ft(-f)384
+b Fu(Use)31 b(function)f(names)g(only)-8 b(.)630 4583
y Ft(-i)384 b Fu(The)36 b(v)-5 b(ariable)37 b(is)f(to)h(b)s(e)f
(treated)h(as)g(an)f(in)m(teger;)41 b(arithmetic)c(ev)-5
-b(aluation)1110 4015 y(\(see)41 b(Section)f(6.5)h([Shell)e
+b(aluation)1110 4692 y(\(see)41 b(Section)f(6.5)h([Shell)e
(Arithmetic],)44 b(page)c(101\))h(is)f(p)s(erformed)e(when)1110
-4125 y(the)31 b(v)-5 b(ariable)31 b(is)f(assigned)h(a)f(v)-5
-b(alue.)630 4274 y Ft(-l)384 b Fu(When)26 b(the)g(v)-5
+4802 y(the)31 b(v)-5 b(ariable)31 b(is)f(assigned)h(a)f(v)-5
+b(alue.)630 4961 y Ft(-l)384 b Fu(When)26 b(the)g(v)-5
b(ariable)27 b(is)f(assigned)g(a)g(v)-5 b(alue,)28 b(all)f(upp)s
-(er-case)e(c)m(haracters)j(are)1110 4384 y(con)m(v)m(erted)k(to)f(lo)m
+(er-case)e(c)m(haracters)j(are)1110 5071 y(con)m(v)m(erted)k(to)f(lo)m
(w)m(er-case.)43 b(The)30 b(upp)s(er-case)g(attribute)h(is)g(disabled.)
-630 4533 y Ft(-n)384 b Fu(Giv)m(e)28 b(eac)m(h)g Fr(name)k
+630 5230 y Ft(-n)384 b Fu(Giv)m(e)28 b(eac)m(h)g Fr(name)k
Fu(the)27 b Ft(nameref)d Fu(attribute,)29 b(making)e(it)g(a)g(name)f
-(reference)1110 4643 y(to)32 b(another)g(v)-5 b(ariable.)46
+(reference)1110 5340 y(to)32 b(another)g(v)-5 b(ariable.)46
b(That)31 b(other)h(v)-5 b(ariable)33 b(is)f(de\014ned)e(b)m(y)i(the)g
-(v)-5 b(alue)32 b(of)1110 4752 y Fr(name)p Fu(.)54 b(All)35
-b(references,)h(assignmen)m(ts,)h(and)d(attribute)h(mo)s(di\014cations)
-g(to)1110 4862 y Fr(name)p Fu(,)27 b(except)f(for)f(those)h(using)f(or)
-g(c)m(hanging)h(the)f Ft(-n)g Fu(attribute)h(itself,)i(are)1110
-4971 y(p)s(erformed)22 b(on)h(the)g(v)-5 b(ariable)25
-b(referenced)e(b)m(y)g Fr(name)5 b Fu('s)23 b(v)-5 b(alue.)39
-b(The)23 b(nameref)1110 5081 y(attribute)31 b(cannot)g(b)s(e)f(applied)
-g(to)h(arra)m(y)g(v)-5 b(ariables.)630 5230 y Ft(-r)384
-b Fu(Mak)m(e)25 b Fr(name)5 b Fu(s)23 b(readonly)-8 b(.)39
-b(These)24 b(names)f(cannot)h(then)f(b)s(e)g(assigned)h(v)-5
-b(alues)1110 5340 y(b)m(y)30 b(subsequen)m(t)g(assignmen)m(t)h
-(statemen)m(ts)h(or)f(unset.)p eop end
+(v)-5 b(alue)32 b(of)p eop end
%%Page: 61 67
TeXDict begin 61 66 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(61)630 299 y Ft(-t)384
-b Fu(Giv)m(e)33 b(eac)m(h)h Fr(name)j Fu(the)32 b Ft(trace)f
-Fu(attribute.)46 b(T)-8 b(raced)32 b(functions)g(inherit)g(the)1110
-408 y Ft(DEBUG)26 b Fu(and)h Ft(RETURN)f Fu(traps)h(from)g(the)h
-(calling)h(shell.)40 b(The)27 b(trace)i(attribute)1110
-518 y(has)h(no)g(sp)s(ecial)h(meaning)g(for)f(v)-5 b(ariables.)630
-676 y Ft(-u)384 b Fu(When)28 b(the)h(v)-5 b(ariable)29
+b(Shell)30 b(Builtin)h(Commands)2069 b(61)1110 299 y
+Fr(name)p Fu(.)54 b(All)35 b(references,)h(assignmen)m(ts,)h(and)d
+(attribute)h(mo)s(di\014cations)g(to)1110 408 y Fr(name)p
+Fu(,)27 b(except)f(for)f(those)h(using)f(or)g(c)m(hanging)h(the)f
+Ft(-n)g Fu(attribute)h(itself,)i(are)1110 518 y(p)s(erformed)22
+b(on)h(the)g(v)-5 b(ariable)25 b(referenced)e(b)m(y)g
+Fr(name)5 b Fu('s)23 b(v)-5 b(alue.)39 b(The)23 b(nameref)1110
+628 y(attribute)31 b(cannot)g(b)s(e)f(applied)g(to)h(arra)m(y)g(v)-5
+b(ariables.)630 785 y Ft(-r)384 b Fu(Mak)m(e)25 b Fr(name)5
+b Fu(s)23 b(readonly)-8 b(.)39 b(These)24 b(names)f(cannot)h(then)f(b)s
+(e)g(assigned)h(v)-5 b(alues)1110 894 y(b)m(y)30 b(subsequen)m(t)g
+(assignmen)m(t)h(statemen)m(ts)h(or)f(unset.)630 1052
+y Ft(-t)384 b Fu(Giv)m(e)33 b(eac)m(h)h Fr(name)j Fu(the)32
+b Ft(trace)f Fu(attribute.)46 b(T)-8 b(raced)32 b(functions)g(inherit)g
+(the)1110 1161 y Ft(DEBUG)26 b Fu(and)h Ft(RETURN)f Fu(traps)h(from)g
+(the)h(calling)h(shell.)40 b(The)27 b(trace)i(attribute)1110
+1271 y(has)h(no)g(sp)s(ecial)h(meaning)g(for)f(v)-5 b(ariables.)630
+1428 y Ft(-u)384 b Fu(When)28 b(the)h(v)-5 b(ariable)29
b(is)f(assigned)h(a)f(v)-5 b(alue,)30 b(all)f(lo)m(w)m(er-case)i(c)m
-(haracters)f(are)1110 786 y(con)m(v)m(erted)i(to)f(upp)s(er-case.)40
+(haracters)f(are)1110 1538 y(con)m(v)m(erted)i(to)f(upp)s(er-case.)40
b(The)30 b(lo)m(w)m(er-case)j(attribute)e(is)g(disabled.)630
-944 y Ft(-x)384 b Fu(Mark)30 b(eac)m(h)h Fr(name)k Fu(for)29
+1695 y Ft(-x)384 b Fu(Mark)30 b(eac)m(h)h Fr(name)k Fu(for)29
b(exp)s(ort)h(to)g(subsequen)m(t)f(commands)h(via)g(the)g(en)m(vi-)1110
-1054 y(ronmen)m(t.)630 1212 y(Using)e(`)p Ft(+)p Fu(')h(instead)f(of)g
+1805 y(ronmen)m(t.)630 1962 y(Using)e(`)p Ft(+)p Fu(')h(instead)f(of)g
(`)p Ft(-)p Fu(')g(turns)f(o\013)i(the)f(attribute)h(instead,)g(with)f
-(the)g(exceptions)h(that)630 1322 y(`)p Ft(+a)p Fu(')23
+(the)g(exceptions)h(that)630 2071 y(`)p Ft(+a)p Fu(')23
b(and)f(`)p Ft(+A)p Fu(')h(ma)m(y)h(not)f(b)s(e)f(used)g(to)i(destro)m
(y)g(arra)m(y)f(v)-5 b(ariables)24 b(and)e(`)p Ft(+r)p
-Fu(')h(will)g(not)g(remo)m(v)m(e)630 1431 y(the)36 b(readonly)h
+Fu(')h(will)g(not)g(remo)m(v)m(e)630 2181 y(the)36 b(readonly)h
(attribute.)59 b(When)36 b(used)f(in)h(a)h(function,)g
-Ft(declare)d Fu(mak)m(es)j(eac)m(h)h Fr(name)630 1541
+Ft(declare)d Fu(mak)m(es)j(eac)m(h)h Fr(name)630 2291
y Fu(lo)s(cal,)e(as)d(with)h(the)f Ft(local)f Fu(command,)j(unless)d
(the)i Ft(-g)f Fu(option)h(is)f(used.)49 b(If)33 b(a)h(v)-5
-b(ariable)630 1650 y(name)30 b(is)h(follo)m(w)m(ed)h(b)m(y)e(=)p
+b(ariable)630 2400 y(name)30 b(is)h(follo)m(w)m(ed)h(b)m(y)e(=)p
Fr(v)-5 b(alue)p Fu(,)31 b(the)f(v)-5 b(alue)31 b(of)g(the)f(v)-5
b(ariable)32 b(is)e(set)h(to)g Fr(v)-5 b(alue)p Fu(.)630
-1784 y(When)41 b(using)g Ft(-a)g Fu(or)h Ft(-A)e Fu(and)h(the)h(comp)s
+2534 y(When)41 b(using)g Ft(-a)g Fu(or)h Ft(-A)e Fu(and)h(the)h(comp)s
(ound)e(assignmen)m(t)i(syn)m(tax)g(to)g(create)h(arra)m(y)630
-1894 y(v)-5 b(ariables,)28 b(additional)f(attributes)g(do)f(not)h(tak)m
+2643 y(v)-5 b(ariables,)28 b(additional)f(attributes)g(do)f(not)h(tak)m
(e)h(e\013ect)g(un)m(til)e(subsequen)m(t)g(assignmen)m(ts.)630
-2028 y(The)35 b(return)f(status)i(is)g(zero)g(unless)f(an)g(in)m(v)-5
+2777 y(The)35 b(return)f(status)i(is)g(zero)g(unless)f(an)g(in)m(v)-5
b(alid)36 b(option)g(is)g(encoun)m(tered,)h(an)f(attempt)630
-2138 y(is)c(made)g(to)g(de\014ne)f(a)h(function)g(using)f(`)p
+2886 y(is)c(made)g(to)g(de\014ne)f(a)h(function)g(using)f(`)p
Ft(-f)f(foo=bar)p Fu(',)h(an)h(attempt)g(is)g(made)g(to)h(assign)630
-2247 y(a)42 b(v)-5 b(alue)43 b(to)g(a)f(readonly)g(v)-5
+2996 y(a)42 b(v)-5 b(alue)43 b(to)g(a)f(readonly)g(v)-5
b(ariable,)47 b(an)42 b(attempt)h(is)f(made)g(to)h(assign)f(a)h(v)-5
-b(alue)42 b(to)h(an)630 2357 y(arra)m(y)30 b(v)-5 b(ariable)30
+b(alue)42 b(to)h(an)630 3105 y(arra)m(y)30 b(v)-5 b(ariable)30
b(without)g(using)e(the)i(comp)s(ound)e(assignmen)m(t)i(syn)m(tax)g
-(\(see)h(Section)f(6.7)630 2466 y([Arra)m(ys],)43 b(page)d(103\),)k
+(\(see)h(Section)f(6.7)630 3215 y([Arra)m(ys],)43 b(page)d(103\),)k
(one)c(of)g(the)g Fr(name)5 b Fu(s)40 b(is)f(not)h(a)g(v)-5
b(alid)40 b(shell)g(v)-5 b(ariable)41 b(name,)h(an)630
-2576 y(attempt)28 b(is)f(made)h(to)f(turn)f(o\013)i(readonly)f(status)g
+3324 y(attempt)28 b(is)f(made)h(to)f(turn)f(o\013)i(readonly)f(status)g
(for)g(a)h(readonly)f(v)-5 b(ariable,)29 b(an)e(attempt)630
-2685 y(is)h(made)h(to)g(turn)e(o\013)i(arra)m(y)f(status)h(for)f(an)g
+3434 y(is)h(made)h(to)g(turn)e(o\013)i(arra)m(y)f(status)h(for)f(an)g
(arra)m(y)h(v)-5 b(ariable,)30 b(or)e(an)g(attempt)i(is)e(made)g(to)630
-2795 y(displa)m(y)j(a)f(non-existen)m(t)i(function)e(with)g
-Ft(-f)p Fu(.)150 2953 y Ft(echo)870 3087 y(echo)47 b([-neE])f([)p
-Fj(arg)g Ft(...])630 3221 y Fu(Output)31 b(the)i Fr(arg)8
+3544 y(displa)m(y)j(a)f(non-existen)m(t)i(function)e(with)g
+Ft(-f)p Fu(.)150 3701 y Ft(echo)870 3834 y(echo)47 b([-neE])f([)p
+Fj(arg)g Ft(...])630 3968 y Fu(Output)31 b(the)i Fr(arg)8
b Fu(s,)33 b(separated)g(b)m(y)g(spaces,)g(terminated)g(with)f(a)h
-(newline.)47 b(The)32 b(return)630 3331 y(status)f(is)f(0)h(unless)f(a)
+(newline.)47 b(The)32 b(return)630 4077 y(status)f(is)f(0)h(unless)f(a)
h(write)g(error)f(o)s(ccurs.)41 b(If)30 b Ft(-n)g Fu(is)h(sp)s
-(eci\014ed,)f(the)h(trailing)g(newline)g(is)630 3440
+(eci\014ed,)f(the)h(trailing)g(newline)g(is)630 4187
y(suppressed.)38 b(If)29 b(the)h Ft(-e)f Fu(option)h(is)f(giv)m(en,)i
(in)m(terpretation)g(of)e(the)h(follo)m(wing)h(bac)m(kslash-)630
-3550 y(escap)s(ed)22 b(c)m(haracters)i(is)e(enabled.)38
+4296 y(escap)s(ed)22 b(c)m(haracters)i(is)e(enabled.)38
b(The)21 b Ft(-E)h Fu(option)g(disables)g(the)h(in)m(terpretation)g(of)
-f(these)630 3660 y(escap)s(e)30 b(c)m(haracters,)i(ev)m(en)f(on)e
+f(these)630 4406 y(escap)s(e)30 b(c)m(haracters,)i(ev)m(en)f(on)e
(systems)h(where)g(they)g(are)g(in)m(terpreted)g(b)m(y)g(default.)40
-b(The)630 3769 y Ft(xpg_echo)33 b Fu(shell)i(option)h(ma)m(y)f(b)s(e)g
+b(The)630 4516 y Ft(xpg_echo)33 b Fu(shell)i(option)h(ma)m(y)f(b)s(e)g
(used)f(to)i(dynamically)g(determine)f(whether)g(or)g(not)630
-3879 y Ft(echo)j Fu(in)m(terprets)i(an)m(y)f(options)h(and)f(expands)f
+4625 y Ft(echo)j Fu(in)m(terprets)i(an)m(y)f(options)h(and)f(expands)f
(these)i(escap)s(e)g(c)m(haracters)g(b)m(y)f(default.)630
-3988 y Ft(echo)29 b Fu(do)s(es)h(not)h(in)m(terpret)g
+4735 y Ft(echo)29 b Fu(do)s(es)h(not)h(in)m(terpret)g
Ft(--)e Fu(to)j(mean)e(the)h(end)e(of)i(options.)630
-4122 y Ft(echo)e Fu(in)m(terprets)i(the)f(follo)m(wing)i(escap)s(e)f
-(sequences:)630 4281 y Ft(\\a)384 b Fu(alert)31 b(\(b)s(ell\))630
-4439 y Ft(\\b)384 b Fu(bac)m(kspace)630 4597 y Ft(\\c)g
-Fu(suppress)28 b(further)h(output)630 4756 y Ft(\\e)630
-4865 y(\\E)384 b Fu(escap)s(e)630 5023 y Ft(\\f)g Fu(form)30
-b(feed)630 5182 y Ft(\\n)384 b Fu(new)30 b(line)630 5340
-y Ft(\\r)384 b Fu(carriage)32 b(return)p eop end
+4868 y Ft(echo)e Fu(in)m(terprets)i(the)f(follo)m(wing)i(escap)s(e)f
+(sequences:)630 5026 y Ft(\\a)384 b Fu(alert)31 b(\(b)s(ell\))630
+5183 y Ft(\\b)384 b Fu(bac)m(kspace)630 5340 y Ft(\\c)g
+Fu(suppress)28 b(further)h(output)p eop end
%%Page: 62 68
TeXDict begin 62 67 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(62)630 299 y Ft(\\t)384
-b Fu(horizon)m(tal)32 b(tab)630 472 y Ft(\\v)384 b Fu(v)m(ertical)32
-b(tab)630 646 y Ft(\\\\)384 b Fu(bac)m(kslash)630 819
+b(Shell)30 b(Builtin)h(Commands)2069 b(62)630 299 y Ft(\\e)630
+408 y(\\E)384 b Fu(escap)s(e)630 565 y Ft(\\f)g Fu(form)30
+b(feed)630 722 y Ft(\\n)384 b Fu(new)30 b(line)630 878
+y Ft(\\r)384 b Fu(carriage)32 b(return)630 1035 y Ft(\\t)384
+b Fu(horizon)m(tal)32 b(tab)630 1191 y Ft(\\v)384 b Fu(v)m(ertical)32
+b(tab)630 1348 y Ft(\\\\)384 b Fu(bac)m(kslash)630 1504
y Ft(\\0)p Fj(nnn)240 b Fu(the)32 b(eigh)m(t-bit)i(c)m(haracter)g
(whose)e(v)-5 b(alue)33 b(is)f(the)g(o)s(ctal)i(v)-5
-b(alue)32 b Fr(nnn)f Fu(\(zero)i(to)1110 929 y(three)e(o)s(ctal)g
-(digits\))630 1103 y Ft(\\x)p Fj(HH)288 b Fu(the)38 b(eigh)m(t-bit)i(c)
+b(alue)32 b Fr(nnn)f Fu(\(zero)i(to)1110 1614 y(three)e(o)s(ctal)g
+(digits\))630 1771 y Ft(\\x)p Fj(HH)288 b Fu(the)38 b(eigh)m(t-bit)i(c)
m(haracter)g(whose)e(v)-5 b(alue)39 b(is)f(the)h(hexadecimal)g(v)-5
-b(alue)39 b Fr(HH)1110 1212 y Fu(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
-(digits\))630 1386 y Ft(\\u)p Fj(HHHH)192 b Fu(the)41
+b(alue)39 b Fr(HH)1110 1880 y Fu(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
+(digits\))630 2037 y Ft(\\u)p Fj(HHHH)192 b Fu(the)41
b(Unico)s(de)g(\(ISO/IEC)f(10646\))j(c)m(haracter)g(whose)e(v)-5
-b(alue)41 b(is)g(the)g(hex-)1110 1495 y(adecimal)32 b(v)-5
+b(alue)41 b(is)g(the)g(hex-)1110 2146 y(adecimal)32 b(v)-5
b(alue)31 b Fr(HHHH)41 b Fu(\(one)31 b(to)g(four)e(hex)h(digits\))630
-1669 y Ft(\\U)p Fj(HHHHHHHH)1110 1778 y Fu(the)41 b(Unico)s(de)g
+2303 y Ft(\\U)p Fj(HHHHHHHH)1110 2412 y Fu(the)41 b(Unico)s(de)g
(\(ISO/IEC)f(10646\))j(c)m(haracter)g(whose)e(v)-5 b(alue)41
-b(is)g(the)g(hex-)1110 1888 y(adecimal)32 b(v)-5 b(alue)31
+b(is)g(the)g(hex-)1110 2522 y(adecimal)32 b(v)-5 b(alue)31
b Fr(HHHHHHHH)41 b Fu(\(one)31 b(to)g(eigh)m(t)h(hex)e(digits\))150
-2061 y Ft(enable)870 2203 y(enable)46 b([-a])h([-dnps])f([-f)g
-Fj(filename)p Ft(])g([)p Fj(name)g Ft(...)o(])630 2345
+2679 y Ft(enable)870 2812 y(enable)46 b([-a])h([-dnps])f([-f)g
+Fj(filename)p Ft(])g([)p Fj(name)g Ft(...)o(])630 2945
y Fu(Enable)36 b(and)f(disable)h(builtin)g(shell)g(commands.)56
b(Disabling)37 b(a)g(builtin)e(allo)m(ws)i(a)f(disk)630
-2454 y(command)e(whic)m(h)g(has)g(the)g(same)h(name)f(as)h(a)f(shell)h
-(builtin)e(to)i(b)s(e)f(executed)h(without)630 2564 y(sp)s(ecifying)27
+3054 y(command)e(whic)m(h)g(has)g(the)g(same)h(name)f(as)h(a)f(shell)h
+(builtin)e(to)i(b)s(e)f(executed)h(without)630 3164 y(sp)s(ecifying)27
b(a)g(full)g(pathname,)g(ev)m(en)h(though)f(the)g(shell)g(normally)g
-(searc)m(hes)h(for)f(builtins)630 2673 y(b)s(efore)35
+(searc)m(hes)h(for)f(builtins)630 3273 y(b)s(efore)35
b(disk)g(commands.)55 b(If)35 b Ft(-n)g Fu(is)g(used,)h(the)g
Fr(name)5 b Fu(s)35 b(b)s(ecome)h(disabled.)55 b(Otherwise)630
-2783 y Fr(name)5 b Fu(s)44 b(are)h(enabled.)82 b(F)-8
+3383 y Fr(name)5 b Fu(s)44 b(are)h(enabled.)82 b(F)-8
b(or)45 b(example,)k(to)c(use)f(the)g Ft(test)f Fu(binary)h(found)f
-(via)h Ft($PATH)630 2892 y Fu(instead)31 b(of)f(the)h(shell)f(builtin)g
+(via)h Ft($PATH)630 3493 y Fu(instead)31 b(of)f(the)h(shell)f(builtin)g
(v)m(ersion,)h(t)m(yp)s(e)g(`)p Ft(enable)e(-n)h(test)p
-Fu('.)630 3034 y(If)45 b(the)i Ft(-p)e Fu(option)h(is)g(supplied,)j(or)
+Fu('.)630 3626 y(If)45 b(the)i Ft(-p)e Fu(option)h(is)g(supplied,)j(or)
d(no)g Fr(name)51 b Fu(argumen)m(ts)46 b(app)s(ear,)k(a)c(list)h(of)f
-(shell)630 3144 y(builtins)37 b(is)h(prin)m(ted.)63 b(With)38
+(shell)630 3735 y(builtins)37 b(is)h(prin)m(ted.)63 b(With)38
b(no)f(other)h(argumen)m(ts,)j(the)d(list)g(consists)g(of)g(all)h
-(enabled)630 3253 y(shell)d(builtins.)57 b(The)35 b Ft(-a)h
+(enabled)630 3845 y(shell)d(builtins.)57 b(The)35 b Ft(-a)h
Fu(option)g(means)g(to)g(list)h(eac)m(h)g(builtin)f(with)f(an)h
-(indication)h(of)630 3363 y(whether)30 b(or)g(not)h(it)g(is)f(enabled.)
-630 3504 y(The)22 b Ft(-f)f Fu(option)h(means)g(to)h(load)g(the)f(new)g
+(indication)h(of)630 3954 y(whether)30 b(or)g(not)h(it)g(is)f(enabled.)
+630 4088 y(The)22 b Ft(-f)f Fu(option)h(means)g(to)h(load)g(the)f(new)g
(builtin)f(command)h Fr(name)27 b Fu(from)22 b(shared)f(ob)5
-b(ject)630 3614 y Fr(\014lename)p Fu(,)41 b(on)d(systems)g(that)g(supp)
+b(ject)630 4197 y Fr(\014lename)p Fu(,)41 b(on)d(systems)g(that)g(supp)
s(ort)f(dynamic)h(loading.)65 b(Bash)38 b(will)g(use)g(the)g(v)-5
-b(alue)630 3724 y(of)28 b(the)g Ft(BASH_LOADABLES_PATH)23
+b(alue)630 4307 y(of)28 b(the)g Ft(BASH_LOADABLES_PATH)23
b Fu(v)-5 b(ariable)28 b(as)h(a)f(colon-separated)i(list)e(of)g
-(directories)h(in)630 3833 y(whic)m(h)c(to)g(searc)m(h)h(for)e
+(directories)h(in)630 4416 y(whic)m(h)c(to)g(searc)m(h)h(for)e
Fr(\014lename)p Fu(,)j(if)e Fr(\014lename)30 b Fu(do)s(es)24
b(not)h(con)m(tain)i(a)e(slash.)39 b(The)24 b(default)h(is)630
-3943 y(system-dep)s(enden)m(t,)d(and)e(ma)m(y)h(include)f
+4526 y(system-dep)s(enden)m(t,)d(and)e(ma)m(y)h(include)f
Ft(")p Fu(.)p Ft(")g Fu(to)h(force)g(a)g(searc)m(h)g(of)g(the)g(curren)
-m(t)f(directory)-8 b(.)630 4052 y(The)30 b Ft(-d)g Fu(option)g(will)h
+m(t)f(directory)-8 b(.)630 4635 y(The)30 b Ft(-d)g Fu(option)g(will)h
(delete)h(a)f(builtin)e(loaded)i(with)f Ft(-f)p Fu(.)630
-4194 y(If)j(there)i(are)f(no)g(options,)h(a)f(list)h(of)f(the)g(shell)g
+4769 y(If)j(there)i(are)f(no)g(options,)h(a)f(list)h(of)f(the)g(shell)g
(builtins)g(is)g(displa)m(y)m(ed.)52 b(The)33 b Ft(-s)g
-Fu(option)630 4303 y(restricts)j Ft(enable)d Fu(to)j(the)f
+Fu(option)630 4878 y(restricts)j Ft(enable)d Fu(to)j(the)f
Fm(posix)f Fu(sp)s(ecial)i(builtins.)54 b(If)34 b Ft(-s)h
-Fu(is)g(used)f(with)g Ft(-f)p Fu(,)i(the)f(new)630 4413
+Fu(is)g(used)f(with)g Ft(-f)p Fu(,)i(the)f(new)630 4988
y(builtin)30 b(b)s(ecomes)h(a)f(sp)s(ecial)h(builtin)f(\(see)i(Section)
-f(4.4)g([Sp)s(ecial)g(Builtins],)g(page)g(80\).)630 4555
+f(4.4)g([Sp)s(ecial)g(Builtins],)g(page)g(80\).)630 5121
y(If)24 b(no)g(options)h(are)g(supplied)e(and)h(a)h Fr(name)k
Fu(is)c(not)f(a)h(shell)g(builtin,)g Ft(enable)e Fu(will)i(attempt)630
-4664 y(to)c(load)g Fr(name)26 b Fu(from)20 b(a)g(shared)g(ob)5
+5230 y(to)c(load)g Fr(name)26 b Fu(from)20 b(a)g(shared)g(ob)5
b(ject)21 b(named)f Fr(name)p Fu(,)j(as)d(if)h(the)f(command)h(w)m(ere)
-f(`)p Ft(enable)630 4774 y(-f)30 b Fj(name)f(name)p Fu('.)630
-4915 y(The)d(return)f(status)h(is)g(zero)h(unless)e(a)i
-Fr(name)k Fu(is)26 b(not)g(a)h(shell)f(builtin)g(or)g(there)g(is)g(an)g
-(error)630 5025 y(loading)31 b(a)g(new)f(builtin)g(from)g(a)g(shared)g
-(ob)5 b(ject.)150 5198 y Ft(help)870 5340 y(help)47 b([-dms])f([)p
-Fj(pattern)p Ft(])p eop end
+f(`)p Ft(enable)630 5340 y(-f)30 b Fj(name)f(name)p Fu('.)p
+eop end
%%Page: 63 69
TeXDict begin 63 68 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(63)630 299 y(Displa)m(y)40
-b(helpful)e(information)h(ab)s(out)g(builtin)f(commands.)66
-b(If)38 b Fr(pattern)h Fu(is)g(sp)s(eci\014ed,)630 408
-y Ft(help)28 b Fu(giv)m(es)i(detailed)g(help)e(on)h(all)h(commands)e
-(matc)m(hing)i Fr(pattern)p Fu(,)g(otherwise)f(a)g(list)h(of)630
-518 y(the)h(builtins)e(is)i(prin)m(ted.)630 652 y(Options,)f(if)h
-(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h(meanings:)630
-811 y Ft(-d)384 b Fu(Displa)m(y)32 b(a)e(short)g(description)h(of)f
-(eac)m(h)i Fr(pattern)630 971 y Ft(-m)384 b Fu(Displa)m(y)32
-b(the)e(description)g(of)h(eac)m(h)h Fr(pattern)e Fu(in)g(a)h
-(manpage-lik)m(e)h(format)630 1130 y Ft(-s)384 b Fu(Displa)m(y)32
-b(only)e(a)h(short)f(usage)h(synopsis)e(for)i(eac)m(h)g
-Fr(pattern)630 1289 y Fu(The)f(return)f(status)i(is)f(zero)h(unless)f
-(no)g(command)h(matc)m(hes)g Fr(pattern)p Fu(.)150 1448
-y Ft(let)870 1582 y(let)47 b Fj(expression)e Ft([)p Fj(expression)g
-Ft(...)o(])630 1716 y Fu(The)c Ft(let)g Fu(builtin)g(allo)m(ws)i
-(arithmetic)f(to)h(b)s(e)d(p)s(erformed)g(on)i(shell)g(v)-5
-b(ariables.)74 b(Eac)m(h)630 1826 y Fr(expression)31
-b Fu(is)g(ev)-5 b(aluated)32 b(according)f(to)h(the)f(rules)g(giv)m(en)
-h(b)s(elo)m(w)f(in)f(Section)i(6.5)g([Shell)630 1936
-y(Arithmetic],)47 b(page)c(101.)78 b(If)41 b(the)i(last)g
-Fr(expression)f Fu(ev)-5 b(aluates)44 b(to)f(0,)j Ft(let)41
-b Fu(returns)g(1;)630 2045 y(otherwise)31 b(0)g(is)f(returned.)150
-2204 y Ft(local)870 2339 y(local)46 b([)p Fj(option)p
-Ft(])g Fj(name)p Ft([=)p Fj(value)p Ft(])e(...)630 2473
-y Fu(F)-8 b(or)27 b(eac)m(h)g(argumen)m(t,)g(a)f(lo)s(cal)h(v)-5
-b(ariable)27 b(named)e Fr(name)31 b Fu(is)26 b(created,)i(and)d
-(assigned)h Fr(v)-5 b(alue)p Fu(.)630 2583 y(The)28 b
-Fr(option)i Fu(can)f(b)s(e)f(an)m(y)i(of)f(the)g(options)g(accepted)i
-(b)m(y)d Ft(declare)p Fu(.)39 b Ft(local)27 b Fu(can)i(only)h(b)s(e)630
-2692 y(used)20 b(within)g(a)h(function;)j(it)d(mak)m(es)g(the)g(v)-5
+b(Shell)30 b(Builtin)h(Commands)2069 b(63)630 299 y(The)26
+b(return)f(status)h(is)g(zero)h(unless)e(a)i Fr(name)k
+Fu(is)26 b(not)g(a)h(shell)f(builtin)g(or)g(there)g(is)g(an)g(error)630
+408 y(loading)31 b(a)g(new)f(builtin)g(from)g(a)g(shared)g(ob)5
+b(ject.)150 553 y Ft(help)870 681 y(help)47 b([-dms])f([)p
+Fj(pattern)p Ft(])630 808 y Fu(Displa)m(y)40 b(helpful)e(information)h
+(ab)s(out)g(builtin)f(commands.)66 b(If)38 b Fr(pattern)h
+Fu(is)g(sp)s(eci\014ed,)630 918 y Ft(help)28 b Fu(giv)m(es)i(detailed)g
+(help)e(on)h(all)h(commands)e(matc)m(hing)i Fr(pattern)p
+Fu(,)g(otherwise)f(a)g(list)h(of)630 1027 y(the)h(builtins)e(is)i(prin)
+m(ted.)630 1154 y(Options,)f(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)
+m(wing)h(meanings:)630 1299 y Ft(-d)384 b Fu(Displa)m(y)32
+b(a)e(short)g(description)h(of)f(eac)m(h)i Fr(pattern)630
+1444 y Ft(-m)384 b Fu(Displa)m(y)32 b(the)e(description)g(of)h(eac)m(h)
+h Fr(pattern)e Fu(in)g(a)h(manpage-lik)m(e)h(format)630
+1589 y Ft(-s)384 b Fu(Displa)m(y)32 b(only)e(a)h(short)f(usage)h
+(synopsis)e(for)i(eac)m(h)g Fr(pattern)630 1734 y Fu(The)f(return)f
+(status)i(is)f(zero)h(unless)f(no)g(command)h(matc)m(hes)g
+Fr(pattern)p Fu(.)150 1879 y Ft(let)870 2006 y(let)47
+b Fj(expression)e Ft([)p Fj(expression)g Ft(...)o(])630
+2134 y Fu(The)c Ft(let)g Fu(builtin)g(allo)m(ws)i(arithmetic)f(to)h(b)s
+(e)d(p)s(erformed)g(on)i(shell)g(v)-5 b(ariables.)74
+b(Eac)m(h)630 2243 y Fr(expression)31 b Fu(is)g(ev)-5
+b(aluated)32 b(according)f(to)h(the)f(rules)g(giv)m(en)h(b)s(elo)m(w)f
+(in)f(Section)i(6.5)g([Shell)630 2353 y(Arithmetic],)47
+b(page)c(101.)78 b(If)41 b(the)i(last)g Fr(expression)f
+Fu(ev)-5 b(aluates)44 b(to)f(0,)j Ft(let)41 b Fu(returns)g(1;)630
+2462 y(otherwise)31 b(0)g(is)f(returned.)150 2607 y Ft(local)870
+2735 y(local)46 b([)p Fj(option)p Ft(])g Fj(name)p Ft([=)p
+Fj(value)p Ft(])e(...)630 2862 y Fu(F)-8 b(or)27 b(eac)m(h)g(argumen)m
+(t,)g(a)f(lo)s(cal)h(v)-5 b(ariable)27 b(named)e Fr(name)31
+b Fu(is)26 b(created,)i(and)d(assigned)h Fr(v)-5 b(alue)p
+Fu(.)630 2971 y(The)28 b Fr(option)i Fu(can)f(b)s(e)f(an)m(y)i(of)f
+(the)g(options)g(accepted)i(b)m(y)d Ft(declare)p Fu(.)39
+b Ft(local)27 b Fu(can)i(only)h(b)s(e)630 3081 y(used)20
+b(within)g(a)h(function;)j(it)d(mak)m(es)g(the)g(v)-5
b(ariable)22 b Fr(name)k Fu(ha)m(v)m(e)21 b(a)g(visible)h(scop)s(e)e
-(restricted)630 2802 y(to)28 b(that)g(function)f(and)g(its)h(c)m
+(restricted)630 3191 y(to)28 b(that)g(function)f(and)g(its)h(c)m
(hildren.)39 b(If)27 b Fr(name)33 b Fu(is)27 b(`)p Ft(-)p
Fu(',)i(the)f(set)f(of)h(shell)g(options)f(is)h(made)630
-2911 y(lo)s(cal)40 b(to)f(the)f(function)g(in)g(whic)m(h)h
+3300 y(lo)s(cal)40 b(to)f(the)f(function)g(in)g(whic)m(h)h
Ft(local)e Fu(is)h(in)m(v)m(ok)m(ed:)58 b(shell)39 b(options)f(c)m
-(hanged)h(using)630 3021 y(the)31 b Ft(set)f Fu(builtin)h(inside)g(the)
+(hanged)h(using)630 3410 y(the)31 b Ft(set)f Fu(builtin)h(inside)g(the)
g(function)f(after)i(the)f(call)h(to)g Ft(local)e Fu(are)h(restored)g
-(to)h(their)630 3131 y(original)h(v)-5 b(alues)33 b(when)e(the)i
+(to)h(their)630 3519 y(original)h(v)-5 b(alues)33 b(when)e(the)i
(function)f(returns.)45 b(The)32 b(restore)h(is)f(e\013ected)i(as)f(if)
-f(a)h(series)630 3240 y(of)c Ft(set)f Fu(commands)h(w)m(ere)g(executed)
+f(a)h(series)630 3629 y(of)c Ft(set)f Fu(commands)h(w)m(ere)g(executed)
h(to)g(restore)f(the)g(v)-5 b(alues)30 b(that)f(w)m(ere)h(in)e(place)i
-(b)s(efore)630 3350 y(the)f(function.)40 b(The)28 b(return)f(status)i
+(b)s(efore)630 3739 y(the)f(function.)40 b(The)28 b(return)f(status)i
(is)g(zero)g(unless)f Ft(local)f Fu(is)h(used)g(outside)h(a)g
-(function,)630 3459 y(an)h(in)m(v)-5 b(alid)31 b Fr(name)36
+(function,)630 3848 y(an)h(in)m(v)-5 b(alid)31 b Fr(name)36
b Fu(is)30 b(supplied,)f(or)i Fr(name)k Fu(is)c(a)g(readonly)f(v)-5
-b(ariable.)150 3618 y Ft(logout)870 3753 y(logout)46
-b([)p Fj(n)p Ft(])630 3887 y Fu(Exit)31 b(a)g(login)g(shell,)g
+b(ariable.)150 3993 y Ft(logout)870 4120 y(logout)46
+b([)p Fj(n)p Ft(])630 4248 y Fu(Exit)31 b(a)g(login)g(shell,)g
(returning)e(a)i(status)g(of)f Fr(n)g Fu(to)h(the)g(shell's)f(paren)m
-(t.)150 4046 y Ft(mapfile)870 4180 y(mapfile)46 b([-d)h
+(t.)150 4393 y Ft(mapfile)870 4520 y(mapfile)46 b([-d)h
Fj(delim)p Ft(])f([-n)h Fj(count)p Ft(])f([-O)h Fj(origin)p
-Ft(])f([-s)g Fj(count)p Ft(])1061 4290 y([-t])h([-u)f
+Ft(])f([-s)g Fj(count)p Ft(])1061 4629 y([-t])h([-u)f
Fj(fd)p Ft(])h([-C)g Fj(callback)p Ft(])f([-c)g Fj(quantum)p
-Ft(])g([)p Fj(array)p Ft(])630 4424 y Fu(Read)38 b(lines)f(from)g(the)h
+Ft(])g([)p Fj(array)p Ft(])630 4757 y Fu(Read)38 b(lines)f(from)g(the)h
(standard)e(input)g(in)m(to)j(the)e(indexed)g(arra)m(y)h(v)-5
-b(ariable)38 b Fr(arra)m(y)p Fu(,)i(or)630 4534 y(from)28
+b(ariable)38 b Fr(arra)m(y)p Fu(,)i(or)630 4866 y(from)28
b(\014le)h(descriptor)f Fr(fd)k Fu(if)c(the)h Ft(-u)f
Fu(option)h(is)g(supplied.)39 b(The)28 b(v)-5 b(ariable)29
-b Ft(MAPFILE)e Fu(is)i(the)630 4644 y(default)i Fr(arra)m(y)p
+b Ft(MAPFILE)e Fu(is)i(the)630 4976 y(default)i Fr(arra)m(y)p
Fu(.)41 b(Options,)30 b(if)g(supplied,)g(ha)m(v)m(e)h(the)g(follo)m
-(wing)h(meanings:)630 4803 y Ft(-d)384 b Fu(The)37 b(\014rst)g(c)m
+(wing)h(meanings:)630 5121 y Ft(-d)384 b Fu(The)37 b(\014rst)g(c)m
(haracter)i(of)f Fr(delim)g Fu(is)f(used)g(to)h(terminate)h(eac)m(h)g
-(input)d(line,)1110 4912 y(rather)41 b(than)h(newline.)74
+(input)d(line,)1110 5230 y(rather)41 b(than)h(newline.)74
b(If)41 b Fr(delim)h Fu(is)g(the)f(empt)m(y)h(string,)j
-Ft(mapfile)40 b Fu(will)1110 5022 y(terminate)31 b(a)g(line)g(when)e
-(it)i(reads)f(a)h(NUL)g(c)m(haracter.)630 5181 y Ft(-n)384
+Ft(mapfile)40 b Fu(will)1110 5340 y(terminate)31 b(a)g(line)g(when)e
+(it)i(reads)f(a)h(NUL)g(c)m(haracter.)p eop end
+%%Page: 64 70
+TeXDict begin 64 69 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(64)630 299 y Ft(-n)384
b Fu(Cop)m(y)30 b(at)h(most)g Fr(coun)m(t)i Fu(lines.)41
b(If)30 b Fr(coun)m(t)j Fu(is)d(0,)h(all)h(lines)e(are)h(copied.)630
-5340 y Ft(-O)384 b Fu(Begin)31 b(assigning)g(to)g Fr(arra)m(y)39
+454 y Ft(-O)384 b Fu(Begin)31 b(assigning)g(to)g Fr(arra)m(y)39
b Fu(at)31 b(index)f Fr(origin)p Fu(.)41 b(The)30 b(default)h(index)f
-(is)g(0.)p eop end
-%%Page: 64 70
-TeXDict begin 64 69 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(64)630 299 y Ft(-s)384
-b Fu(Discard)31 b(the)f(\014rst)g Fr(coun)m(t)j Fu(lines)e(read.)630
-461 y Ft(-t)384 b Fu(Remo)m(v)m(e)32 b(a)f(trailing)g
-Fr(delim)g Fu(\(default)g(newline\))f(from)g(eac)m(h)i(line)f(read.)630
-623 y Ft(-u)384 b Fu(Read)31 b(lines)f(from)g(\014le)h(descriptor)f
+(is)g(0.)630 609 y Ft(-s)384 b Fu(Discard)31 b(the)f(\014rst)g
+Fr(coun)m(t)j Fu(lines)e(read.)630 764 y Ft(-t)384 b
+Fu(Remo)m(v)m(e)32 b(a)f(trailing)g Fr(delim)g Fu(\(default)g
+(newline\))f(from)g(eac)m(h)i(line)f(read.)630 919 y
+Ft(-u)384 b Fu(Read)31 b(lines)f(from)g(\014le)h(descriptor)f
Fr(fd)j Fu(instead)e(of)f(the)h(standard)e(input.)630
-785 y Ft(-C)384 b Fu(Ev)-5 b(aluate)26 b Fr(callbac)m(k)33
+1074 y Ft(-C)384 b Fu(Ev)-5 b(aluate)26 b Fr(callbac)m(k)33
b Fu(eac)m(h)26 b(time)g Fr(quan)m(tum)f Fu(lines)g(are)g(read.)39
-b(The)25 b Ft(-c)f Fu(option)1110 895 y(sp)s(eci\014es)30
-b Fr(quan)m(tum)p Fu(.)630 1057 y Ft(-c)384 b Fu(Sp)s(ecify)30
+b(The)25 b Ft(-c)f Fu(option)1110 1183 y(sp)s(eci\014es)30
+b Fr(quan)m(tum)p Fu(.)630 1338 y Ft(-c)384 b Fu(Sp)s(ecify)30
b(the)g(n)m(um)m(b)s(er)f(of)i(lines)f(read)h(b)s(et)m(w)m(een)g(eac)m
-(h)g(call)h(to)f Fr(callbac)m(k)p Fu(.)630 1219 y(If)36
+(h)g(call)h(to)f Fr(callbac)m(k)p Fu(.)630 1493 y(If)36
b Ft(-C)g Fu(is)g(sp)s(eci\014ed)g(without)g Ft(-c)p
Fu(,)h(the)g(default)f(quan)m(tum)g(is)h(5000.)60 b(When)36
-b Fr(callbac)m(k)44 b Fu(is)630 1329 y(ev)-5 b(aluated,)30
+b Fr(callbac)m(k)44 b Fu(is)630 1603 y(ev)-5 b(aluated,)30
b(it)e(is)g(supplied)f(the)h(index)f(of)i(the)f(next)g(arra)m(y)g
-(elemen)m(t)h(to)g(b)s(e)e(assigned)i(and)630 1439 y(the)39
+(elemen)m(t)h(to)g(b)s(e)e(assigned)i(and)630 1712 y(the)39
b(line)g(to)h(b)s(e)e(assigned)h(to)h(that)f(elemen)m(t)i(as)e
(additional)h(argumen)m(ts.)66 b Fr(callbac)m(k)47 b
-Fu(is)630 1548 y(ev)-5 b(aluated)32 b(after)e(the)h(line)g(is)f(read)g
+Fu(is)630 1822 y(ev)-5 b(aluated)32 b(after)e(the)h(line)g(is)f(read)g
(but)g(b)s(efore)g(the)h(arra)m(y)g(elemen)m(t)g(is)g(assigned.)630
-1684 y(If)25 b(not)g(supplied)f(with)h(an)g(explicit)i(origin,)g
+1954 y(If)25 b(not)g(supplied)f(with)h(an)g(explicit)i(origin,)g
Ft(mapfile)c Fu(will)j(clear)g Fr(arra)m(y)34 b Fu(b)s(efore)24
-b(assigning)630 1794 y(to)31 b(it.)630 1930 y Ft(mapfile)41
+b(assigning)630 2064 y(to)31 b(it.)630 2196 y Ft(mapfile)41
b Fu(returns)g(successfully)i(unless)e(an)i(in)m(v)-5
b(alid)43 b(option)g(or)g(option)g(argumen)m(t)g(is)630
-2039 y(supplied,)29 b Fr(arra)m(y)39 b Fu(is)30 b(in)m(v)-5
+2305 y(supplied,)29 b Fr(arra)m(y)39 b Fu(is)30 b(in)m(v)-5
b(alid)31 b(or)g(unassignable,)f(or)h Fr(arra)m(y)38
b Fu(is)31 b(not)f(an)h(indexed)e(arra)m(y)-8 b(.)150
-2201 y Ft(printf)870 2337 y(printf)46 b([-v)h Fj(var)p
-Ft(])g Fj(format)f Ft([)p Fj(arguments)p Ft(])630 2473
+2460 y Ft(printf)870 2593 y(printf)46 b([-v)h Fj(var)p
+Ft(])g Fj(format)f Ft([)p Fj(arguments)p Ft(])630 2725
y Fu(W)-8 b(rite)27 b(the)g(formatted)f Fr(argumen)m(ts)k
Fu(to)d(the)f(standard)f(output)h(under)e(the)i(con)m(trol)i(of)e(the)
-630 2583 y Fr(format)p Fu(.)66 b(The)39 b Ft(-v)f Fu(option)h(causes)g
+630 2835 y Fr(format)p Fu(.)66 b(The)39 b Ft(-v)f Fu(option)h(causes)g
(the)g(output)g(to)g(b)s(e)f(assigned)h(to)h(the)f(v)-5
-b(ariable)39 b Fr(v)-5 b(ar)630 2692 y Fu(rather)30 b(than)g(b)s(eing)g
-(prin)m(ted)g(to)h(the)g(standard)e(output.)630 2828
+b(ariable)39 b Fr(v)-5 b(ar)630 2944 y Fu(rather)30 b(than)g(b)s(eing)g
+(prin)m(ted)g(to)h(the)g(standard)e(output.)630 3076
y(The)36 b Fr(format)i Fu(is)f(a)f(c)m(haracter)i(string)e(whic)m(h)g
(con)m(tains)i(three)e(t)m(yp)s(es)g(of)h(ob)5 b(jects:)53
-b(plain)630 2938 y(c)m(haracters,)41 b(whic)m(h)c(are)h(simply)e
+b(plain)630 3186 y(c)m(haracters,)41 b(whic)m(h)c(are)h(simply)e
(copied)i(to)g(standard)f(output,)i(c)m(haracter)g(escap)s(e)e(se-)630
-3047 y(quences,)g(whic)m(h)f(are)g(con)m(v)m(erted)h(and)f(copied)g(to)
-g(the)g(standard)f(output,)i(and)f(format)630 3157 y(sp)s
+3296 y(quences,)g(whic)m(h)f(are)g(con)m(v)m(erted)h(and)f(copied)g(to)
+g(the)g(standard)f(output,)i(and)f(format)630 3405 y(sp)s
(eci\014cations,)j(eac)m(h)e(of)g(whic)m(h)f(causes)g(prin)m(ting)g(of)
h(the)f(next)h(successiv)m(e)g Fr(argumen)m(t)p Fu(.)630
-3267 y(In)27 b(addition)g(to)h(the)g(standard)e Ft(printf\(3\))f
+3515 y(In)27 b(addition)g(to)h(the)g(standard)e Ft(printf\(3\))f
Fu(format)j(c)m(haracters)g Ft(csndiouxXeEfFgGaA)p Fu(,)630
-3376 y Ft(printf)h Fu(in)m(terprets)h(the)h(follo)m(wing)h(additional)f
-(format)g(sp)s(eci\014ers:)630 3538 y Ft(\045b)384 b
+3624 y Ft(printf)h Fu(in)m(terprets)h(the)h(follo)m(wing)h(additional)f
+(format)g(sp)s(eci\014ers:)630 3779 y Ft(\045b)384 b
Fu(Causes)38 b Ft(printf)f Fu(to)j(expand)e(bac)m(kslash)h(escap)s(e)g
-(sequences)g(in)f(the)h(cor-)1110 3648 y(resp)s(onding)31
+(sequences)g(in)f(the)h(cor-)1110 3889 y(resp)s(onding)31
b Fr(argumen)m(t)j Fu(in)e(the)h(same)f(w)m(a)m(y)h(as)g
-Ft(echo)c(-e)j Fu(\(see)h(Section)g(4.2)1110 3758 y([Bash)e(Builtins],)
-g(page)g(57\).)630 3920 y Ft(\045q)384 b Fu(Causes)32
+Ft(echo)c(-e)j Fu(\(see)h(Section)g(4.2)1110 3998 y([Bash)e(Builtins],)
+g(page)g(57\).)630 4153 y Ft(\045q)384 b Fu(Causes)32
b Ft(printf)e Fu(to)i(output)g(the)g(corresp)s(onding)f
-Fr(argumen)m(t)j Fu(in)d(a)i(format)1110 4029 y(that)42
+Fr(argumen)m(t)j Fu(in)d(a)i(format)1110 4263 y(that)42
b(can)f(b)s(e)g(reused)g(as)g(shell)h(input.)72 b Ft(\045q)41
b Fu(and)f Ft(\045Q)p Fu(P)h(use)g(the)g(ANSI-C)1110
-4139 y(quoting)29 b(st)m(yle)h(\(see)g(Section)g(3.1.2.4)h([ANSI-C)e
-(Quoting],)h(page)f(6\))h(if)f(an)m(y)1110 4248 y(c)m(haracters)g(in)e
+4373 y(quoting)29 b(st)m(yle)h(\(see)g(Section)g(3.1.2.4)h([ANSI-C)e
+(Quoting],)h(page)f(6\))h(if)f(an)m(y)1110 4482 y(c)m(haracters)g(in)e
(the)h(argumen)m(t)g(string)f(require)h(it,)g(and)f(bac)m(kslash)h
-(quoting)1110 4358 y(otherwise.)79 b(If)42 b(the)h(format)h(string)f
+(quoting)1110 4592 y(otherwise.)79 b(If)42 b(the)h(format)h(string)f
(uses)f(the)h Ft(printf)e Fr(alternate)k(form)p Fu(,)1110
-4468 y(these)31 b(t)m(w)m(o)h(formats)e(quote)h(the)g(argumen)m(t)f
-(string)h(using)f(single)h(quotes.)630 4630 y Ft(\045Q)384
+4701 y(these)31 b(t)m(w)m(o)h(formats)e(quote)h(the)g(argumen)m(t)f
+(string)h(using)f(single)h(quotes.)630 4856 y Ft(\045Q)384
b Fu(lik)m(e)34 b Ft(\045q)p Fu(,)f(but)f(applies)g(an)m(y)h(supplied)e
(precision)i(to)h(the)e Fr(argumen)m(t)j Fu(b)s(efore)1110
-4739 y(quoting)c(it.)630 4902 y Ft(\045\()p Fj(datefmt)p
-Ft(\)T)1110 5011 y Fu(Causes)e Ft(printf)e Fu(to)j(output)f(the)g
-(date-time)i(string)e(resulting)h(from)e(using)1110 5121
+4966 y(quoting)c(it.)630 5121 y Ft(\045\()p Fj(datefmt)p
+Ft(\)T)1110 5230 y Fu(Causes)e Ft(printf)e Fu(to)j(output)f(the)g
+(date-time)i(string)e(resulting)h(from)e(using)1110 5340
y Fr(datefm)m(t)45 b Fu(as)d(a)g(format)g(string)g(for)g
-Ft(strftime)p Fu(\(3\).)74 b(The)41 b(corresp)s(onding)1110
-5230 y Fr(argumen)m(t)h Fu(is)e(an)g(in)m(teger)i(represen)m(ting)e
-(the)g(n)m(um)m(b)s(er)f(of)h(seconds)g(since)1110 5340
-y(the)24 b(ep)s(o)s(c)m(h.)38 b(Tw)m(o)24 b(sp)s(ecial)h(argumen)m(t)f
-(v)-5 b(alues)24 b(ma)m(y)h(b)s(e)e(used:)36 b(-1)25
-b(represen)m(ts)p eop end
+Ft(strftime)p Fu(\(3\).)74 b(The)41 b(corresp)s(onding)p
+eop end
%%Page: 65 71
TeXDict begin 65 70 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(65)1110 299 y(the)30
-b(curren)m(t)g(time,)h(and)e(-2)i(represen)m(ts)f(the)g(time)h(the)f
-(shell)g(w)m(as)g(in)m(v)m(ok)m(ed.)1110 408 y(If)38
-b(no)g(argumen)m(t)h(is)f(sp)s(eci\014ed,)i(con)m(v)m(ersion)f(b)s(eha)
-m(v)m(es)g(as)g(if)f(-1)h(had)f(b)s(een)1110 518 y(giv)m(en.)k(This)29
-b(is)i(an)f(exception)i(to)f(the)f(usual)g Ft(printf)f
-Fu(b)s(eha)m(vior.)630 679 y(The)39 b(\045b,)i(\045q,)g(and)e(\045T)f
-(format)i(sp)s(eci\014ers)e(all)i(use)f(the)h(\014eld)f(width)f(and)h
-(precision)630 789 y(argumen)m(ts)e(from)f(the)h(format)g(sp)s
-(eci\014cation)g(and)f(write)h(that)h(man)m(y)e(b)m(ytes)h(from)g(\(or)
-630 898 y(use)29 b(that)h(wide)f(a)g(\014eld)g(for\))g(the)h(expanded)e
-(argumen)m(t,)i(whic)m(h)f(usually)g(con)m(tains)i(more)630
-1008 y(c)m(haracters)h(than)e(the)h(original.)630 1143
+b(Shell)30 b(Builtin)h(Commands)2069 b(65)1110 299 y
+Fr(argumen)m(t)42 b Fu(is)e(an)g(in)m(teger)i(represen)m(ting)e(the)g
+(n)m(um)m(b)s(er)f(of)h(seconds)g(since)1110 408 y(the)24
+b(ep)s(o)s(c)m(h.)38 b(Tw)m(o)24 b(sp)s(ecial)h(argumen)m(t)f(v)-5
+b(alues)24 b(ma)m(y)h(b)s(e)e(used:)36 b(-1)25 b(represen)m(ts)1110
+518 y(the)30 b(curren)m(t)g(time,)h(and)e(-2)i(represen)m(ts)f(the)g
+(time)h(the)f(shell)g(w)m(as)g(in)m(v)m(ok)m(ed.)1110
+628 y(If)38 b(no)g(argumen)m(t)h(is)f(sp)s(eci\014ed,)i(con)m(v)m
+(ersion)f(b)s(eha)m(v)m(es)g(as)g(if)f(-1)h(had)f(b)s(een)1110
+737 y(giv)m(en.)k(This)29 b(is)i(an)f(exception)i(to)f(the)f(usual)g
+Ft(printf)f Fu(b)s(eha)m(vior.)630 905 y(The)39 b(\045b,)i(\045q,)g
+(and)e(\045T)f(format)i(sp)s(eci\014ers)e(all)i(use)f(the)h(\014eld)f
+(width)f(and)h(precision)630 1015 y(argumen)m(ts)e(from)f(the)h(format)
+g(sp)s(eci\014cation)g(and)f(write)h(that)h(man)m(y)e(b)m(ytes)h(from)g
+(\(or)630 1124 y(use)29 b(that)h(wide)f(a)g(\014eld)g(for\))g(the)h
+(expanded)e(argumen)m(t,)i(whic)m(h)f(usually)g(con)m(tains)i(more)630
+1234 y(c)m(haracters)h(than)e(the)h(original.)630 1373
y(The)e(\045n)f(format)h(sp)s(eci\014er)g(accepts)h(a)g(corresp)s
(onding)e(argumen)m(t)h(that)h(is)f(treated)h(as)g(a)630
-1253 y(shell)h(v)-5 b(ariable)31 b(name.)630 1388 y(The)26
+1482 y(shell)h(v)-5 b(ariable)31 b(name.)630 1621 y(The)26
b(\045s)g(and)h(\045c)f(format)h(sp)s(eci\014ers)f(accept)i(an)f(l)g
(\(long\))h(mo)s(di\014er,)e(whic)m(h)h(forces)g(them)630
-1498 y(to)21 b(con)m(v)m(ert)i(the)e(argumen)m(t)g(string)g(to)g(a)g
+1731 y(to)21 b(con)m(v)m(ert)i(the)e(argumen)m(t)g(string)g(to)g(a)g
(wide-c)m(haracter)i(string)e(and)f(apply)g(an)m(y)h(supplied)630
-1608 y(\014eld)30 b(width)g(and)f(precision)i(in)f(terms)g(of)h(c)m
-(haracters,)h(not)e(b)m(ytes.)630 1743 y(Argumen)m(ts)e(to)h
+1840 y(\014eld)30 b(width)g(and)f(precision)i(in)f(terms)g(of)h(c)m
+(haracters,)h(not)e(b)m(ytes.)630 1979 y(Argumen)m(ts)e(to)h
(non-string)e(format)i(sp)s(eci\014ers)e(are)h(treated)h(as)g(C)e
-(language)j(constan)m(ts,)630 1852 y(except)22 b(that)g(a)g(leading)g
+(language)j(constan)m(ts,)630 2089 y(except)22 b(that)g(a)g(leading)g
(plus)e(or)h(min)m(us)f(sign)i(is)f(allo)m(w)m(ed,)k(and)c(if)g(the)g
-(leading)h(c)m(haracter)h(is)630 1962 y(a)i(single)g(or)f(double)h
+(leading)h(c)m(haracter)h(is)630 2198 y(a)i(single)g(or)f(double)h
(quote,)h(the)f(v)-5 b(alue)25 b(is)f(the)h(ASCI)s(I)e(v)-5
b(alue)25 b(of)f(the)h(follo)m(wing)h(c)m(haracter.)630
-2097 y(The)31 b Fr(format)i Fu(is)f(reused)e(as)i(necessary)f(to)i
+2337 y(The)31 b Fr(format)i Fu(is)f(reused)e(as)i(necessary)f(to)i
(consume)e(all)h(of)f(the)h Fr(argumen)m(ts)p Fu(.)44
-b(If)30 b(the)i Fr(for-)630 2207 y(mat)c Fu(requires)e(more)g
+b(If)30 b(the)i Fr(for-)630 2447 y(mat)c Fu(requires)e(more)g
Fr(argumen)m(ts)k Fu(than)25 b(are)i(supplied,)e(the)h(extra)h(format)f
-(sp)s(eci\014cations)630 2317 y(b)s(eha)m(v)m(e)j(as)g(if)f(a)h(zero)g
+(sp)s(eci\014cations)630 2556 y(b)s(eha)m(v)m(e)j(as)g(if)f(a)h(zero)g
(v)-5 b(alue)29 b(or)g(n)m(ull)f(string,)h(as)g(appropriate,)g(had)f(b)
-s(een)g(supplied.)38 b(The)630 2426 y(return)e(v)-5 b(alue)38
+s(een)g(supplied.)38 b(The)630 2666 y(return)e(v)-5 b(alue)38
b(is)g(zero)g(on)f(success,)j(non-zero)e(if)f(an)h(in)m(v)-5
-b(alid)38 b(option)g(is)f(supplied)f(or)i(a)630 2536
+b(alid)38 b(option)g(is)f(supplied)f(or)i(a)630 2776
y(write)31 b(or)f(assignmen)m(t)h(error)f(o)s(ccurs.)150
-2697 y Ft(read)870 2832 y(read)47 b([-Eers])e([-a)i Fj(aname)p
+2944 y Ft(read)870 3082 y(read)47 b([-Eers])e([-a)i Fj(aname)p
Ft(])f([-d)h Fj(delim)p Ft(])f([-i)h Fj(text)p Ft(])g([-n)g
-Fj(nchars)p Ft(])1061 2942 y([-N)g Fj(nchars)p Ft(])f([-p)h
+Fj(nchars)p Ft(])1061 3192 y([-N)g Fj(nchars)p Ft(])f([-p)h
Fj(prompt)p Ft(])e([-t)i Fj(timeout)p Ft(])f([-u)h Fj(fd)p
-Ft(])g([)p Fj(name)f Ft(...)o(])630 3077 y Fu(One)38
+Ft(])g([)p Fj(name)f Ft(...)o(])630 3331 y Fu(One)38
b(line)g(is)g(read)g(from)g(the)g(standard)f(input,)j(or)e(from)f(the)i
-(\014le)f(descriptor)g Fr(fd)j Fu(sup-)630 3187 y(plied)34
+(\014le)f(descriptor)g Fr(fd)j Fu(sup-)630 3440 y(plied)34
b(as)h(an)f(argumen)m(t)h(to)g(the)f Ft(-u)g Fu(option,)i(split)f(in)m
(to)g(w)m(ords)f(as)g(describ)s(ed)g(ab)s(o)m(v)m(e)h(in)630
-3296 y(Section)j(3.5.7)h([W)-8 b(ord)38 b(Splitting],)i(page)e(36,)j
+3550 y(Section)j(3.5.7)h([W)-8 b(ord)38 b(Splitting],)i(page)e(36,)j
(and)36 b(the)i(\014rst)f(w)m(ord)g(is)g(assigned)h(to)g(the)630
-3406 y(\014rst)32 b Fr(name)p Fu(,)h(the)g(second)g(w)m(ord)f(to)h(the)
+3660 y(\014rst)32 b Fr(name)p Fu(,)h(the)g(second)g(w)m(ord)f(to)h(the)
g(second)g Fr(name)p Fu(,)g(and)f(so)h(on.)47 b(If)32
-b(there)h(are)g(more)630 3516 y(w)m(ords)39 b(than)g(names,)j(the)e
+b(there)h(are)g(more)630 3769 y(w)m(ords)39 b(than)g(names,)j(the)e
(remaining)f(w)m(ords)g(and)g(their)h(in)m(terv)m(ening)g(delimiters)h
-(are)630 3625 y(assigned)29 b(to)h(the)g(last)g Fr(name)p
+(are)630 3879 y(assigned)29 b(to)h(the)g(last)g Fr(name)p
Fu(.)40 b(If)29 b(there)g(are)h(few)m(er)f(w)m(ords)g(read)g(from)g
-(the)g(input)g(stream)630 3735 y(than)35 b(names,)i(the)e(remaining)h
+(the)g(input)g(stream)630 3988 y(than)35 b(names,)i(the)e(remaining)h
(names)f(are)h(assigned)f(empt)m(y)h(v)-5 b(alues.)56
-b(The)34 b(c)m(haracters)630 3844 y(in)e(the)h(v)-5 b(alue)33
+b(The)34 b(c)m(haracters)630 4098 y(in)e(the)h(v)-5 b(alue)33
b(of)g(the)g Ft(IFS)f Fu(v)-5 b(ariable)33 b(are)h(used)d(to)j(split)f
-(the)g(line)g(in)m(to)g(w)m(ords)g(using)f(the)630 3954
+(the)g(line)g(in)m(to)g(w)m(ords)g(using)f(the)630 4208
y(same)d(rules)f(the)g(shell)h(uses)f(for)g(expansion)g(\(describ)s(ed)
g(ab)s(o)m(v)m(e)i(in)e(Section)h(3.5.7)h([W)-8 b(ord)630
-4064 y(Splitting],)38 b(page)f(36\).)60 b(The)35 b(bac)m(kslash)i(c)m
+4317 y(Splitting],)38 b(page)f(36\).)60 b(The)35 b(bac)m(kslash)i(c)m
(haracter)h(`)p Ft(\\)p Fu(')e(ma)m(y)h(b)s(e)f(used)f(to)i(remo)m(v)m
-(e)h(an)m(y)630 4173 y(sp)s(ecial)31 b(meaning)g(for)f(the)g(next)h(c)m
+(e)h(an)m(y)630 4427 y(sp)s(ecial)31 b(meaning)g(for)f(the)g(next)h(c)m
(haracter)h(read)e(and)g(for)g(line)h(con)m(tin)m(uation.)630
-4309 y(Options,)f(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h
-(meanings:)630 4470 y Ft(-a)e Fj(aname)114 b Fu(The)34
+4566 y(Options,)f(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h
+(meanings:)630 4734 y Ft(-a)e Fj(aname)114 b Fu(The)34
b(w)m(ords)f(are)i(assigned)f(to)h(sequen)m(tial)h(indices)e(of)g(the)g
-(arra)m(y)h(v)-5 b(ariable)1110 4579 y Fr(aname)p Fu(,)29
+(arra)m(y)h(v)-5 b(ariable)1110 4843 y Fr(aname)p Fu(,)29
b(starting)h(at)f(0.)40 b(All)29 b(elemen)m(ts)h(are)e(remo)m(v)m(ed)i
-(from)d Fr(aname)34 b Fu(b)s(efore)1110 4689 y(the)d(assignmen)m(t.)41
+(from)d Fr(aname)34 b Fu(b)s(efore)1110 4953 y(the)d(assignmen)m(t.)41
b(Other)30 b Fr(name)36 b Fu(argumen)m(ts)30 b(are)h(ignored.)630
-4850 y Ft(-d)f Fj(delim)114 b Fu(The)41 b(\014rst)h(c)m(haracter)h(of)f
+5121 y Ft(-d)f Fj(delim)114 b Fu(The)41 b(\014rst)h(c)m(haracter)h(of)f
Fr(delim)g Fu(is)g(used)g(to)g(terminate)h(the)f(input)f(line,)1110
-4960 y(rather)31 b(than)g(newline.)42 b(If)30 b Fr(delim)h
+5230 y(rather)31 b(than)g(newline.)42 b(If)30 b Fr(delim)h
Fu(is)g(the)h(empt)m(y)f(string,)g Ft(read)f Fu(will)h(termi-)1110
-5069 y(nate)g(a)g(line)f(when)g(it)h(reads)f(a)h(NUL)f(c)m(haracter.)
-630 5230 y Ft(-e)384 b Fu(Readline)46 b(\(see)g(Chapter)e(8)h([Command)
-f(Line)h(Editing],)50 b(page)45 b(122\))i(is)1110 5340
-y(used)37 b(to)i(obtain)g(the)f(line.)65 b(Readline)39
-b(uses)e(the)i(curren)m(t)f(\(or)g(default,)j(if)p eop
-end
+5340 y(nate)g(a)g(line)f(when)g(it)h(reads)f(a)h(NUL)f(c)m(haracter.)p
+eop end
%%Page: 66 72
TeXDict begin 66 71 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(66)1110 299 y(line)42
-b(editing)g(w)m(as)g(not)g(previously)f(activ)m(e\))k(editing)d
-(settings,)j(but)c(uses)1110 408 y(Readline's)31 b(default)g
-(\014lename)f(completion.)630 560 y Ft(-E)384 b Fu(Readline)46
-b(\(see)g(Chapter)e(8)h([Command)f(Line)h(Editing],)50
-b(page)45 b(122\))i(is)1110 669 y(used)37 b(to)i(obtain)g(the)f(line.)
+b(Shell)30 b(Builtin)h(Commands)2069 b(66)630 299 y Ft(-e)384
+b Fu(Readline)46 b(\(see)g(Chapter)e(8)h([Command)f(Line)h(Editing],)50
+b(page)45 b(122\))i(is)1110 408 y(used)37 b(to)i(obtain)g(the)f(line.)
+65 b(Readline)39 b(uses)e(the)i(curren)m(t)f(\(or)g(default,)j(if)1110
+518 y(line)h(editing)g(w)m(as)g(not)g(previously)f(activ)m(e\))k
+(editing)d(settings,)j(but)c(uses)1110 628 y(Readline's)31
+b(default)g(\014lename)f(completion.)630 781 y Ft(-E)384
+b Fu(Readline)46 b(\(see)g(Chapter)e(8)h([Command)f(Line)h(Editing],)50
+b(page)45 b(122\))i(is)1110 891 y(used)37 b(to)i(obtain)g(the)f(line.)
65 b(Readline)39 b(uses)e(the)i(curren)m(t)f(\(or)g(default,)j(if)1110
-779 y(line)h(editing)g(w)m(as)g(not)g(previously)f(activ)m(e\))k
-(editing)d(settings,)j(but)c(uses)1110 889 y(Bash's)31
+1000 y(line)h(editing)g(w)m(as)g(not)g(previously)f(activ)m(e\))k
+(editing)d(settings,)j(but)c(uses)1110 1110 y(Bash's)31
b(default)f(completion,)i(including)e(programmable)h(completion.)630
-1040 y Ft(-i)f Fj(text)162 b Fu(If)36 b(Readline)i(is)f(b)s(eing)g
+1263 y Ft(-i)f Fj(text)162 b Fu(If)36 b(Readline)i(is)f(b)s(eing)g
(used)f(to)h(read)g(the)g(line,)j Fr(text)f Fu(is)e(placed)h(in)m(to)g
-(the)1110 1149 y(editing)31 b(bu\013er)e(b)s(efore)h(editing)h(b)s
-(egins.)630 1301 y Ft(-n)f Fj(nchars)66 b Ft(read)38
+(the)1110 1373 y(editing)31 b(bu\013er)e(b)s(efore)h(editing)h(b)s
+(egins.)630 1526 y Ft(-n)f Fj(nchars)66 b Ft(read)38
b Fu(returns)f(after)j(reading)f Fr(nc)m(hars)j Fu(c)m(haracters)e
-(rather)f(than)g(w)m(aiting)1110 1410 y(for)d(a)h(complete)h(line)f(of)
+(rather)f(than)g(w)m(aiting)1110 1636 y(for)d(a)h(complete)h(line)f(of)
g(input,)g(but)f(honors)g(a)h(delimiter)g(if)f(few)m(er)h(than)1110
-1520 y Fr(nc)m(hars)d Fu(c)m(haracters)e(are)e(read)h(b)s(efore)f(the)g
-(delimiter.)630 1671 y Ft(-N)g Fj(nchars)66 b Ft(read)39
+1745 y Fr(nc)m(hars)d Fu(c)m(haracters)e(are)e(read)h(b)s(efore)f(the)g
+(delimiter.)630 1899 y Ft(-N)g Fj(nchars)66 b Ft(read)39
b Fu(returns)f(after)j(reading)e(exactly)j Fr(nc)m(hars)h
-Fu(c)m(haracters)f(rather)d(than)1110 1781 y(w)m(aiting)32
+Fu(c)m(haracters)f(rather)d(than)1110 2008 y(w)m(aiting)32
b(for)f(a)g(complete)i(line)e(of)g(input,)g(unless)f(EOF)h(is)g(encoun)
-m(tered)g(or)1110 1891 y Ft(read)f Fu(times)i(out.)43
+m(tered)g(or)1110 2118 y Ft(read)f Fu(times)i(out.)43
b(Delimiter)33 b(c)m(haracters)f(encoun)m(tered)g(in)f(the)g(input)g
-(are)1110 2000 y(not)g(treated)h(sp)s(ecially)f(and)f(do)h(not)g(cause)
+(are)1110 2228 y(not)g(treated)h(sp)s(ecially)f(and)f(do)h(not)g(cause)
g Ft(read)e Fu(to)j(return)d(un)m(til)i Fr(nc)m(hars)1110
-2110 y Fu(c)m(haracters)26 b(are)f(read.)38 b(The)24
+2337 y Fu(c)m(haracters)26 b(are)f(read.)38 b(The)24
b(result)g(is)h(not)f(split)h(on)f(the)h(c)m(haracters)h(in)e
-Ft(IFS)p Fu(;)1110 2219 y(the)e(in)m(ten)m(t)i(is)e(that)h(the)f(v)-5
+Ft(IFS)p Fu(;)1110 2447 y(the)e(in)m(ten)m(t)i(is)e(that)h(the)f(v)-5
b(ariable)23 b(is)f(assigned)g(exactly)i(the)e(c)m(haracters)i(read)
-1110 2329 y(\(with)30 b(the)h(exception)h(of)e(bac)m(kslash;)h(see)g
-(the)g Ft(-r)f Fu(option)h(b)s(elo)m(w\).)630 2480 y
+1110 2556 y(\(with)30 b(the)h(exception)h(of)e(bac)m(kslash;)h(see)g
+(the)g Ft(-r)f Fu(option)h(b)s(elo)m(w\).)630 2710 y
Ft(-p)f Fj(prompt)66 b Fu(Displa)m(y)38 b Fr(prompt)p
Fu(,)g(without)e(a)h(trailing)h(newline,)h(b)s(efore)d(attempting)i(to)
-1110 2590 y(read)f(an)m(y)h(input.)60 b(The)37 b(prompt)g(is)g(displa)m
-(y)m(ed)h(only)f(if)g(input)g(is)g(coming)1110 2699 y(from)30
-b(a)h(terminal.)630 2851 y Ft(-r)384 b Fu(If)21 b(this)h(option)g(is)f
+1110 2819 y(read)f(an)m(y)h(input.)60 b(The)37 b(prompt)g(is)g(displa)m
+(y)m(ed)h(only)f(if)g(input)g(is)g(coming)1110 2929 y(from)30
+b(a)h(terminal.)630 3082 y Ft(-r)384 b Fu(If)21 b(this)h(option)g(is)f
(giv)m(en,)k(bac)m(kslash)d(do)s(es)f(not)h(act)h(as)f(an)f(escap)s(e)h
-(c)m(haracter.)1110 2960 y(The)30 b(bac)m(kslash)i(is)f(considered)g
+(c)m(haracter.)1110 3192 y(The)30 b(bac)m(kslash)i(is)f(considered)g
(to)h(b)s(e)e(part)h(of)g(the)g(line.)43 b(In)30 b(particular,)i(a)1110
-3070 y(bac)m(kslash-newline)26 b(pair)e(ma)m(y)h(not)g(then)g(b)s(e)f
-(used)g(as)h(a)g(line)g(con)m(tin)m(uation.)630 3221
+3302 y(bac)m(kslash-newline)26 b(pair)e(ma)m(y)h(not)g(then)g(b)s(e)f
+(used)g(as)h(a)g(line)g(con)m(tin)m(uation.)630 3455
y Ft(-s)384 b Fu(Silen)m(t)28 b(mo)s(de.)40 b(If)27 b(input)f(is)i
(coming)g(from)f(a)h(terminal,)h(c)m(haracters)g(are)f(not)1110
-3331 y(ec)m(ho)s(ed.)630 3482 y Ft(-t)i Fj(timeout)1110
-3592 y Fu(Cause)23 b Ft(read)f Fu(to)i(time)f(out)h(and)e(return)g
+3565 y(ec)m(ho)s(ed.)630 3718 y Ft(-t)i Fj(timeout)1110
+3828 y Fu(Cause)23 b Ft(read)f Fu(to)i(time)f(out)h(and)e(return)g
(failure)h(if)g(a)h(complete)g(line)g(of)f(input)1110
-3701 y(\(or)h(a)f(sp)s(eci\014ed)g(n)m(um)m(b)s(er)f(of)i(c)m
+3937 y(\(or)h(a)f(sp)s(eci\014ed)g(n)m(um)m(b)s(er)f(of)i(c)m
(haracters\))h(is)e(not)h(read)f(within)g Fr(timeout)j
-Fu(sec-)1110 3811 y(onds.)43 b Fr(timeout)34 b Fu(ma)m(y)e(b)s(e)e(a)i
+Fu(sec-)1110 4047 y(onds.)43 b Fr(timeout)34 b Fu(ma)m(y)e(b)s(e)e(a)i
(decimal)g(n)m(um)m(b)s(er)e(with)h(a)h(fractional)g(p)s(ortion)1110
-3921 y(follo)m(wing)39 b(the)f(decimal)g(p)s(oin)m(t.)63
+4156 y(follo)m(wing)39 b(the)f(decimal)g(p)s(oin)m(t.)63
b(This)37 b(option)h(is)g(only)f(e\013ectiv)m(e)k(if)c
-Ft(read)1110 4030 y Fu(is)c(reading)h(input)e(from)h(a)h(terminal,)h
+Ft(read)1110 4266 y Fu(is)c(reading)h(input)e(from)h(a)h(terminal,)h
(pip)s(e,)e(or)h(other)f(sp)s(ecial)h(\014le;)h(it)f(has)1110
-4140 y(no)f(e\013ect)i(when)d(reading)i(from)f(regular)g(\014les.)50
-b(If)33 b Ft(read)f Fu(times)i(out,)g Ft(read)1110 4249
+4376 y(no)f(e\013ect)i(when)d(reading)i(from)f(regular)g(\014les.)50
+b(If)33 b Ft(read)f Fu(times)i(out,)g Ft(read)1110 4485
y Fu(sa)m(v)m(es)41 b(an)m(y)f(partial)h(input)e(read)g(in)m(to)i(the)f
(sp)s(eci\014ed)f(v)-5 b(ariable)40 b Fr(name)p Fu(.)69
-b(If)1110 4359 y Fr(timeout)31 b Fu(is)c(0,)i Ft(read)d
+b(If)1110 4595 y Fr(timeout)31 b Fu(is)c(0,)i Ft(read)d
Fu(returns)h(immediately)-8 b(,)30 b(without)d(trying)h(to)g(read)g(an)
-m(y)1110 4468 y(data.)49 b(The)33 b(exit)h(status)f(is)g(0)g(if)g
+m(y)1110 4704 y(data.)49 b(The)33 b(exit)h(status)f(is)g(0)g(if)g
(input)f(is)h(a)m(v)-5 b(ailable)36 b(on)c(the)i(sp)s(eci\014ed)e
-(\014le)1110 4578 y(descriptor,)37 b(or)e(the)h(read)f(will)h(return)e
-(EOF,)h(non-zero)h(otherwise.)56 b(The)1110 4688 y(exit)31
+(\014le)1110 4814 y(descriptor,)37 b(or)e(the)h(read)f(will)h(return)e
+(EOF,)h(non-zero)h(otherwise.)56 b(The)1110 4924 y(exit)31
b(status)g(is)f(greater)i(than)e(128)i(if)e(the)h(timeout)g(is)f
-(exceeded.)630 4839 y Ft(-u)g Fj(fd)258 b Fu(Read)31
+(exceeded.)630 5077 y Ft(-u)g Fj(fd)258 b Fu(Read)31
b(input)e(from)h(\014le)g(descriptor)h Fr(fd)p Fu(.)630
-4990 y(Other)36 b(than)g(the)h(case)h(where)e Fr(delim)g
+5230 y(Other)36 b(than)g(the)h(case)h(where)e Fr(delim)g
Fu(is)h(the)f(empt)m(y)h(string,)i Ft(read)c Fu(ignores)i(an)m(y)g(NUL)
-630 5100 y(c)m(haracters)32 b(in)e(the)g(input.)630 5230
-y(If)i(no)g Fr(name)5 b Fu(s)33 b(are)f(supplied,)g(the)h(line)g(read,)
-g(without)f(the)h(ending)f(delimiter)h(but)e(oth-)630
-5340 y(erwise)36 b(unmo)s(di\014ed,)e(is)i(assigned)f(to)h(the)g(v)-5
-b(ariable)36 b Ft(REPLY)p Fu(.)55 b(The)34 b(exit)j(status)e(is)h
-(zero,)p eop end
+630 5340 y(c)m(haracters)32 b(in)e(the)g(input.)p eop
+end
%%Page: 67 73
-TeXDict begin 67 72 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(67)630 299 y(unless)38
-b(end-of-\014le)h(is)f(encoun)m(tered,)j Ft(read)d Fu(times)h(out)f
-(\(in)h(whic)m(h)f(case)h(the)g(status)g(is)630 408 y(greater)31
-b(than)f(128\),)i(a)e(v)-5 b(ariable)30 b(assignmen)m(t)h(error)f
-(\(suc)m(h)f(as)i(assigning)f(to)h(a)f(readonly)630 518
-y(v)-5 b(ariable\))30 b(o)s(ccurs,)f(or)f(an)h(in)m(v)-5
-b(alid)29 b(\014le)g(descriptor)f(is)h(supplied)e(as)i(the)g(argumen)m
-(t)g(to)g Ft(-u)p Fu(.)150 678 y Ft(readarray)870 788
-y(readarray)45 b([-d)i Fj(delim)p Ft(])f([-n)h Fj(count)p
+TeXDict begin 67 72 bop 150 -116 a Fu(Chapter)30 b(4:)h(Shell)f
+(Builtin)h(Commands)2079 b(67)630 299 y(If)32 b(no)g
+Fr(name)5 b Fu(s)33 b(are)f(supplied,)g(the)h(line)g(read,)g(without)f
+(the)h(ending)f(delimiter)h(but)e(oth-)630 408 y(erwise)36
+b(unmo)s(di\014ed,)e(is)i(assigned)f(to)h(the)g(v)-5
+b(ariable)36 b Ft(REPLY)p Fu(.)55 b(The)34 b(exit)j(status)e(is)h
+(zero,)630 518 y(unless)i(end-of-\014le)h(is)f(encoun)m(tered,)j
+Ft(read)d Fu(times)h(out)f(\(in)h(whic)m(h)f(case)h(the)g(status)g(is)
+630 628 y(greater)31 b(than)f(128\),)i(a)e(v)-5 b(ariable)30
+b(assignmen)m(t)h(error)f(\(suc)m(h)f(as)i(assigning)f(to)h(a)f
+(readonly)630 737 y(v)-5 b(ariable\))30 b(o)s(ccurs,)f(or)f(an)h(in)m
+(v)-5 b(alid)29 b(\014le)g(descriptor)f(is)h(supplied)e(as)i(the)g
+(argumen)m(t)g(to)g Ft(-u)p Fu(.)150 904 y Ft(readarray)870
+1014 y(readarray)45 b([-d)i Fj(delim)p Ft(])f([-n)h Fj(count)p
Ft(])f([-O)h Fj(origin)p Ft(])f([-s)h Fj(count)p Ft(])1061
-897 y([-t])g([-u)f Fj(fd)p Ft(])h([-C)g Fj(callback)p
+1123 y([-t])g([-u)f Fj(fd)p Ft(])h([-C)g Fj(callback)p
Ft(])f([-c)g Fj(quantum)p Ft(])g([)p Fj(array)p Ft(])630
-1032 y Fu(Read)38 b(lines)f(from)g(the)h(standard)e(input)g(in)m(to)j
+1261 y Fu(Read)38 b(lines)f(from)g(the)h(standard)e(input)g(in)m(to)j
(the)e(indexed)g(arra)m(y)h(v)-5 b(ariable)38 b Fr(arra)m(y)p
-Fu(,)i(or)630 1142 y(from)30 b(\014le)g(descriptor)h
+Fu(,)i(or)630 1371 y(from)30 b(\014le)g(descriptor)h
Fr(fd)i Fu(if)d(the)h Ft(-u)e Fu(option)i(is)g(supplied.)630
-1277 y(A)f(synon)m(ym)g(for)g Ft(mapfile)p Fu(.)150 1437
-y Ft(source)870 1572 y(source)46 b Fj(filename)630 1707
+1509 y(A)f(synon)m(ym)g(for)g Ft(mapfile)p Fu(.)150 1676
+y Ft(source)870 1814 y(source)46 b Fj(filename)630 1952
y Fu(A)30 b(synon)m(ym)g(for)g Ft(.)g Fu(\(see)i(Section)f(4.1)g
-([Bourne)g(Shell)f(Builtins],)h(page)g(49\).)150 1867
-y Ft(type)870 2002 y(type)47 b([-afptP])e([)p Fj(name)i
-Ft(...)o(])630 2137 y Fu(F)-8 b(or)42 b(eac)m(h)g Fr(name)p
+([Bourne)g(Shell)f(Builtins],)h(page)g(49\).)150 2119
+y Ft(type)870 2257 y(type)47 b([-afptP])e([)p Fj(name)i
+Ft(...)o(])630 2395 y Fu(F)-8 b(or)42 b(eac)m(h)g Fr(name)p
Fu(,)i(indicate)e(ho)m(w)g(it)f(w)m(ould)g(b)s(e)g(in)m(terpreted)g(if)
-g(used)f(as)i(a)f(command)630 2246 y(name.)630 2381 y(If)g(the)g
+g(used)f(as)i(a)f(command)630 2505 y(name.)630 2643 y(If)g(the)g
Ft(-t)g Fu(option)h(is)f(used,)j Ft(type)c Fu(prin)m(ts)h(a)h(single)g
(w)m(ord)f(whic)m(h)g(is)g(one)h(of)g(`)p Ft(alias)p
-Fu(',)630 2491 y(`)p Ft(keyword)p Fu(',)32 b(`)p Ft(function)p
+Fu(',)630 2753 y(`)p Ft(keyword)p Fu(',)32 b(`)p Ft(function)p
Fu(',)g(`)p Ft(builtin)p Fu(',)g(or)h(`)p Ft(file)p Fu(',)g(if)g
Fr(name)38 b Fu(is)33 b(an)g(alias,)i(shell)e(reserv)m(ed)630
-2600 y(w)m(ord,)39 b(shell)e(function,)i(shell)e(builtin,)i(or)e
+2862 y(w)m(ord,)39 b(shell)e(function,)i(shell)e(builtin,)i(or)e
(executable)i(disk)d(\014le,)j(resp)s(ectiv)m(ely)-8
-b(.)63 b(If)37 b(the)630 2710 y Fr(name)f Fu(is)30 b(not)h(found,)e
+b(.)63 b(If)37 b(the)630 2972 y Fr(name)f Fu(is)30 b(not)h(found,)e
(then)h(nothing)g(is)h(prin)m(ted,)f(and)g Ft(type)f
-Fu(returns)g(a)i(failure)f(status.)630 2845 y(If)25 b(the)h
+Fu(returns)g(a)i(failure)f(status.)630 3110 y(If)25 b(the)h
Ft(-p)f Fu(option)g(is)h(used,)g Ft(type)e Fu(either)i(returns)e(the)i
-(name)f(of)h(the)g(executable)h(\014le)e(that)630 2954
+(name)f(of)h(the)g(executable)h(\014le)e(that)630 3220
y(w)m(ould)30 b(b)s(e)g(found)f(b)m(y)h(searc)m(hing)h
Ft($PATH)p Fu(,)f(or)g(nothing)g(if)h Ft(-t)e Fu(w)m(ould)i(not)f
-(return)f(`)p Ft(file)p Fu('.)630 3089 y(The)h Ft(-P)g
+(return)f(`)p Ft(file)p Fu('.)630 3358 y(The)h Ft(-P)g
Fu(option)h(forces)g(a)g(path)f(searc)m(h)h(for)g(eac)m(h)g
Fr(name)p Fu(,)g(ev)m(en)g(if)g Ft(-t)f Fu(w)m(ould)g(not)h(return)630
-3199 y(`)p Ft(file)p Fu('.)630 3334 y(If)e(a)h Fr(name)k
+3467 y(`)p Ft(file)p Fu('.)630 3606 y(If)e(a)h Fr(name)k
Fu(is)29 b(presen)m(t)h(in)f(the)g(table)h(of)g(hashed)e(commands,)i
-(options)f Ft(-p)g Fu(and)g Ft(-P)f Fu(prin)m(t)630 3443
+(options)f Ft(-p)g Fu(and)g Ft(-P)f Fu(prin)m(t)630 3715
y(the)j(hashed)e(v)-5 b(alue,)31 b(whic)m(h)f(is)h(not)f(necessarily)i
(the)e(\014le)h(that)g(app)s(ears)e(\014rst)h(in)g Ft($PATH)p
-Fu(.)630 3578 y(If)e(the)h Ft(-a)f Fu(option)h(is)f(used,)h
+Fu(.)630 3853 y(If)e(the)h Ft(-a)f Fu(option)h(is)f(used,)h
Ft(type)e Fu(returns)g(all)j(of)e(the)h(places)g(that)g(con)m(tain)h(a)
-f(command)630 3688 y(named)c Fr(name)p Fu(.)39 b(This)25
+f(command)630 3963 y(named)c Fr(name)p Fu(.)39 b(This)25
b(includes)g(aliases,)j(reserv)m(ed)e(w)m(ords,)g(functions,)h(and)d
-(builtins,)j(but)630 3797 y(the)34 b(path)f(searc)m(h)i(options)f(\()p
+(builtins,)j(but)630 4073 y(the)34 b(path)f(searc)m(h)i(options)f(\()p
Ft(-p)f Fu(and)h Ft(-P)p Fu(\))f(can)h(b)s(e)f(supplied)g(to)h
-(restrict)h(the)f(output)f(to)630 3907 y(executable)k(\014les.)55
+(restrict)h(the)f(output)f(to)630 4182 y(executable)k(\014les.)55
b(If)34 b Ft(-a)h Fu(is)g(supplied)f(with)h Ft(-p)p Fu(,)h
Ft(type)e Fu(do)s(es)g(not)i(lo)s(ok)g(in)e(the)i(table)g(of)630
-4016 y(hashed)30 b(commands,)g(and)g(only)g(p)s(erforms)f(a)i
-Ft(PATH)e Fu(searc)m(h)i(for)f Fr(name)p Fu(.)630 4151
+4292 y(hashed)30 b(commands,)g(and)g(only)g(p)s(erforms)f(a)i
+Ft(PATH)e Fu(searc)m(h)i(for)f Fr(name)p Fu(.)630 4430
y(If)g(the)g Ft(-f)g Fu(option)g(is)h(used,)e Ft(type)g
Fu(do)s(es)h(not)h(attempt)g(to)g(\014nd)d(shell)j(functions,)f(as)g
-(with)630 4261 y(the)h Ft(command)d Fu(builtin.)630 4396
+(with)630 4539 y(the)h Ft(command)d Fu(builtin.)630 4678
y(The)j(return)e(status)j(is)f(zero)h(if)f(all)g(of)h(the)f
Fr(name)5 b Fu(s)31 b(are)g(found,)f(non-zero)i(if)f(an)m(y)g(are)h
-(not)630 4505 y(found.)150 4666 y Ft(typeset)870 4800
+(not)630 4787 y(found.)150 4954 y Ft(typeset)870 5092
y(typeset)46 b([-afFgrxilnrtux])d([-p])k([)p Fj(name)p
-Ft([=)p Fj(value)p Ft(])d(...)o(])630 4935 y Fu(The)31
+Ft([=)p Fj(value)p Ft(])d(...)o(])630 5230 y Fu(The)31
b Ft(typeset)e Fu(command)i(is)g(supplied)f(for)h(compatibilit)m(y)i
-(with)e(the)g(Korn)f(shell.)44 b(It)31 b(is)630 5045
-y(a)g(synon)m(ym)f(for)g(the)g Ft(declare)f Fu(builtin)h(command.)150
-5205 y Ft(ulimit)870 5340 y(ulimit)46 b([-HS])g(-a)p
+(with)e(the)g(Korn)f(shell.)44 b(It)31 b(is)630 5340
+y(a)g(synon)m(ym)f(for)g(the)g Ft(declare)f Fu(builtin)h(command.)p
eop end
%%Page: 68 74
TeXDict begin 68 73 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(68)870 299 y Ft(ulimit)46
-b([-HS])g([-bcdefiklmnpqrstuvxPRT])c([)p Fj(limit)p Ft(])630
-432 y(ulimit)25 b Fu(pro)m(vides)h(con)m(trol)i(o)m(v)m(er)g(the)f
+b(Shell)30 b(Builtin)h(Commands)2069 b(68)150 299 y Ft(ulimit)870
+437 y(ulimit)46 b([-HS])g(-a)870 547 y(ulimit)g([-HS])g
+([-bcdefiklmnpqrstuvxPRT])c([)p Fj(limit)p Ft(])630 685
+y(ulimit)25 b Fu(pro)m(vides)h(con)m(trol)i(o)m(v)m(er)g(the)f
(resources)f(a)m(v)-5 b(ailable)29 b(to)e(pro)s(cesses)f(started)h(b)m
-(y)g(the)630 542 y(shell,)i(on)f(systems)g(that)h(allo)m(w)h(suc)m(h)e
+(y)g(the)630 794 y(shell,)i(on)f(systems)g(that)h(allo)m(w)h(suc)m(h)e
(con)m(trol.)41 b(If)28 b(an)g(option)h(is)f(giv)m(en,)i(it)e(is)h(in)m
-(terpreted)630 651 y(as)i(follo)m(ws:)630 808 y Ft(-S)384
+(terpreted)630 904 y(as)i(follo)m(ws:)630 1070 y Ft(-S)384
b Fu(Change)30 b(and)g(rep)s(ort)g(the)g(soft)h(limit)g(asso)s(ciated)h
-(with)e(a)h(resource.)630 965 y Ft(-H)384 b Fu(Change)30
+(with)e(a)h(resource.)630 1237 y Ft(-H)384 b Fu(Change)30
b(and)g(rep)s(ort)g(the)g(hard)g(limit)h(asso)s(ciated)h(with)e(a)h
-(resource.)630 1122 y Ft(-a)384 b Fu(All)31 b(curren)m(t)f(limits)h
-(are)g(rep)s(orted;)f(no)g(limits)h(are)g(set.)630 1279
+(resource.)630 1404 y Ft(-a)384 b Fu(All)31 b(curren)m(t)f(limits)h
+(are)g(rep)s(orted;)f(no)g(limits)h(are)g(set.)630 1570
y Ft(-b)384 b Fu(The)30 b(maxim)m(um)g(so)s(c)m(k)m(et)i(bu\013er)e
-(size.)630 1436 y Ft(-c)384 b Fu(The)30 b(maxim)m(um)g(size)h(of)g
-(core)g(\014les)f(created.)630 1592 y Ft(-d)384 b Fu(The)30
+(size.)630 1737 y Ft(-c)384 b Fu(The)30 b(maxim)m(um)g(size)h(of)g
+(core)g(\014les)f(created.)630 1903 y Ft(-d)384 b Fu(The)30
b(maxim)m(um)g(size)h(of)g(a)g(pro)s(cess's)f(data)h(segmen)m(t.)630
-1749 y Ft(-e)384 b Fu(The)30 b(maxim)m(um)g(sc)m(heduling)h(priorit)m
-(y)f(\()p Ft(")p Fu(nice)p Ft(")p Fu(\).)630 1906 y Ft(-f)384
+2070 y Ft(-e)384 b Fu(The)30 b(maxim)m(um)g(sc)m(heduling)h(priorit)m
+(y)f(\()p Ft(")p Fu(nice)p Ft(")p Fu(\).)630 2236 y Ft(-f)384
b Fu(The)30 b(maxim)m(um)g(size)h(of)g(\014les)f(written)h(b)m(y)f(the)
-g(shell)h(and)f(its)h(c)m(hildren.)630 2063 y Ft(-i)384
+g(shell)h(and)f(its)h(c)m(hildren.)630 2403 y Ft(-i)384
b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(p)s(ending)e
-(signals.)630 2220 y Ft(-k)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s
+(signals.)630 2570 y Ft(-k)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s
(er)f(of)i(kqueues)f(that)h(ma)m(y)g(b)s(e)e(allo)s(cated.)630
-2377 y Ft(-l)384 b Fu(The)30 b(maxim)m(um)g(size)h(that)g(ma)m(y)g(b)s
-(e)f(lo)s(c)m(k)m(ed)i(in)m(to)f(memory)-8 b(.)630 2534
+2736 y Ft(-l)384 b Fu(The)30 b(maxim)m(um)g(size)h(that)g(ma)m(y)g(b)s
+(e)f(lo)s(c)m(k)m(ed)i(in)m(to)f(memory)-8 b(.)630 2903
y Ft(-m)384 b Fu(The)36 b(maxim)m(um)g(residen)m(t)h(set)g(size)g
-(\(man)m(y)g(systems)f(do)h(not)f(honor)g(this)1110 2643
-y(limit\).)630 2800 y Ft(-n)384 b Fu(The)38 b(maxim)m(um)h(n)m(um)m(b)s
+(\(man)m(y)g(systems)f(do)h(not)f(honor)g(this)1110 3012
+y(limit\).)630 3179 y Ft(-n)384 b Fu(The)38 b(maxim)m(um)h(n)m(um)m(b)s
(er)e(of)i(op)s(en)f(\014le)h(descriptors)g(\(most)g(systems)g(do)1110
-2910 y(not)31 b(allo)m(w)g(this)g(v)-5 b(alue)31 b(to)g(b)s(e)e(set\).)
-630 3067 y Ft(-p)384 b Fu(The)30 b(pip)s(e)f(bu\013er)h(size.)630
-3223 y Ft(-q)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(b)m
-(ytes)g(in)f Fm(posix)f Fu(message)j(queues.)630 3380
+3288 y(not)31 b(allo)m(w)g(this)g(v)-5 b(alue)31 b(to)g(b)s(e)e(set\).)
+630 3455 y Ft(-p)384 b Fu(The)30 b(pip)s(e)f(bu\013er)h(size.)630
+3622 y Ft(-q)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(b)m
+(ytes)g(in)f Fm(posix)f Fu(message)j(queues.)630 3788
y Ft(-r)384 b Fu(The)30 b(maxim)m(um)g(real-time)i(sc)m(heduling)f
-(priorit)m(y)-8 b(.)630 3537 y Ft(-s)384 b Fu(The)30
-b(maxim)m(um)g(stac)m(k)i(size.)630 3694 y Ft(-t)384
+(priorit)m(y)-8 b(.)630 3955 y Ft(-s)384 b Fu(The)30
+b(maxim)m(um)g(stac)m(k)i(size.)630 4121 y Ft(-t)384
b Fu(The)30 b(maxim)m(um)g(amoun)m(t)h(of)f(cpu)g(time)h(in)f(seconds.)
-630 3851 y Ft(-u)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
+630 4288 y Ft(-u)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
(pro)s(cesses)f(a)m(v)-5 b(ailable)33 b(to)e(a)f(single)i(user.)630
-4008 y Ft(-v)384 b Fu(The)41 b(maxim)m(um)h(amoun)m(t)g(of)h(virtual)f
+4454 y Ft(-v)384 b Fu(The)41 b(maxim)m(um)h(amoun)m(t)g(of)h(virtual)f
(memory)g(a)m(v)-5 b(ailable)44 b(to)e(the)g(shell,)1110
-4117 y(and,)30 b(on)g(some)h(systems,)g(to)g(its)g(c)m(hildren.)630
-4274 y Ft(-x)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
-(\014le)f(lo)s(c)m(ks.)630 4431 y Ft(-P)384 b Fu(The)30
+4564 y(and,)30 b(on)g(some)h(systems,)g(to)g(its)g(c)m(hildren.)630
+4731 y Ft(-x)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
+(\014le)f(lo)s(c)m(ks.)630 4897 y Ft(-P)384 b Fu(The)30
b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(pseudoterminals.)630
-4588 y Ft(-R)384 b Fu(The)27 b(maxim)m(um)h(time)h(a)f(real-time)i(pro)
+5064 y Ft(-R)384 b Fu(The)27 b(maxim)m(um)h(time)h(a)f(real-time)i(pro)
s(cess)d(can)i(run)d(b)s(efore)i(blo)s(c)m(king,)h(in)1110
-4697 y(microseconds.)630 4854 y Ft(-T)384 b Fu(The)30
-b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(threads.)630 5011
-y(If)36 b Fr(limit)k Fu(is)c(giv)m(en,)k(and)c(the)h
-Ft(-a)f Fu(option)h(is)f(not)h(used,)h Fr(limit)h Fu(is)e(the)g(new)f
-(v)-5 b(alue)37 b(of)g(the)630 5121 y(sp)s(eci\014ed)c(resource.)51
+5173 y(microseconds.)630 5340 y Ft(-T)384 b Fu(The)30
+b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(threads.)p eop
+end
+%%Page: 69 75
+TeXDict begin 69 74 bop 150 -116 a Fu(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(69)630 299 y(If)36
+b Fr(limit)k Fu(is)c(giv)m(en,)k(and)c(the)h Ft(-a)f
+Fu(option)h(is)f(not)h(used,)h Fr(limit)h Fu(is)e(the)g(new)f(v)-5
+b(alue)37 b(of)g(the)630 408 y(sp)s(eci\014ed)c(resource.)51
b(The)34 b(sp)s(ecial)g Fr(limit)j Fu(v)-5 b(alues)34
b Ft(hard)p Fu(,)g Ft(soft)p Fu(,)g(and)f Ft(unlimited)e
-Fu(stand)630 5230 y(for)h(the)g(curren)m(t)g(hard)f(limit,)i(the)g
+Fu(stand)630 518 y(for)h(the)g(curren)m(t)g(hard)f(limit,)i(the)g
(curren)m(t)f(soft)g(limit,)h(and)f(no)g(limit,)h(resp)s(ectiv)m(ely)-8
-b(.)48 b(A)630 5340 y(hard)24 b(limit)i(cannot)g(b)s(e)e(increased)h(b)
-m(y)g(a)h(non-ro)s(ot)f(user)f(once)i(it)g(is)f(set;)j(a)d(soft)g
-(limit)h(ma)m(y)p eop end
-%%Page: 69 75
-TeXDict begin 69 74 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(69)630 299 y(b)s(e)37
-b(increased)h(up)e(to)j(the)f(v)-5 b(alue)38 b(of)f(the)h(hard)f
-(limit.)63 b(Otherwise,)39 b(the)f(curren)m(t)f(v)-5
-b(alue)630 408 y(of)39 b(the)g(soft)h(limit)g(for)f(the)g(sp)s
-(eci\014ed)f(resource)h(is)g(prin)m(ted,)i(unless)e(the)g
-Ft(-H)f Fu(option)i(is)630 518 y(supplied.)47 b(When)33
-b(more)g(than)g(one)g(resource)g(is)g(sp)s(eci\014ed,)g(the)g(limit)h
-(name)f(and)f(unit,)630 628 y(if)27 b(appropriate,)h(are)f(prin)m(ted)g
-(b)s(efore)g(the)g(v)-5 b(alue.)40 b(When)27 b(setting)h(new)e(limits,)
-j(if)e(neither)630 737 y Ft(-H)38 b Fu(nor)g Ft(-S)g
-Fu(is)h(supplied,)h(b)s(oth)e(the)h(hard)f(and)g(soft)h(limits)g(are)g
-(set.)67 b(If)38 b(no)h(option)g(is)630 847 y(giv)m(en,)c(then)f
-Ft(-f)e Fu(is)i(assumed.)49 b(V)-8 b(alues)35 b(are)e(in)h(1024-b)m
-(yte)i(incremen)m(ts,)f(except)f(for)f Ft(-t)p Fu(,)630
-956 y(whic)m(h)e(is)g(in)g(seconds;)h Ft(-R)p Fu(,)g(whic)m(h)f(is)g
-(in)g(microseconds;)h Ft(-p)p Fu(,)g(whic)m(h)f(is)g(in)g(units)g(of)g
-(512-)630 1066 y(b)m(yte)k(blo)s(c)m(ks;)j Ft(-P)p Fu(,)e
-Ft(-T)p Fu(,)f Ft(-b)p Fu(,)h Ft(-k)p Fu(,)f Ft(-n)g
-Fu(and)f Ft(-u)p Fu(,)h(whic)m(h)g(are)g(unscaled)g(v)-5
-b(alues;)37 b(and,)f(when)630 1176 y(in)g Fm(posix)f
-Fu(Mo)s(de)h(\(see)g(Section)h(6.11)g([Bash)g(POSIX)d(Mo)s(de],)k(page)
-f(109\),)i Ft(-c)c Fu(and)g Ft(-f)p Fu(,)630 1285 y(whic)m(h)30
-b(are)h(in)f(512-b)m(yte)j(incremen)m(ts.)630 1418 y(The)h(return)g
-(status)h(is)f(zero)i(unless)e(an)g(in)m(v)-5 b(alid)36
-b(option)f(or)f(argumen)m(t)i(is)e(supplied,)h(or)630
-1528 y(an)30 b(error)g(o)s(ccurs)g(while)h(setting)g(a)g(new)f(limit.)
-150 1685 y Ft(unalias)870 1818 y(unalias)46 b([-a])g([)p
-Fj(name)h Ft(...)g(])630 1951 y Fu(Remo)m(v)m(e)42 b(eac)m(h)f
+b(.)48 b(A)630 628 y(hard)24 b(limit)i(cannot)g(b)s(e)e(increased)h(b)m
+(y)g(a)h(non-ro)s(ot)f(user)f(once)i(it)g(is)f(set;)j(a)d(soft)g(limit)
+h(ma)m(y)630 737 y(b)s(e)37 b(increased)h(up)e(to)j(the)f(v)-5
+b(alue)38 b(of)f(the)h(hard)f(limit.)63 b(Otherwise,)39
+b(the)f(curren)m(t)f(v)-5 b(alue)630 847 y(of)39 b(the)g(soft)h(limit)g
+(for)f(the)g(sp)s(eci\014ed)f(resource)h(is)g(prin)m(ted,)i(unless)e
+(the)g Ft(-H)f Fu(option)i(is)630 956 y(supplied.)47
+b(When)33 b(more)g(than)g(one)g(resource)g(is)g(sp)s(eci\014ed,)g(the)g
+(limit)h(name)f(and)f(unit,)630 1066 y(if)27 b(appropriate,)h(are)f
+(prin)m(ted)g(b)s(efore)g(the)g(v)-5 b(alue.)40 b(When)27
+b(setting)h(new)e(limits,)j(if)e(neither)630 1176 y Ft(-H)38
+b Fu(nor)g Ft(-S)g Fu(is)h(supplied,)h(b)s(oth)e(the)h(hard)f(and)g
+(soft)h(limits)g(are)g(set.)67 b(If)38 b(no)h(option)g(is)630
+1285 y(giv)m(en,)c(then)f Ft(-f)e Fu(is)i(assumed.)49
+b(V)-8 b(alues)35 b(are)e(in)h(1024-b)m(yte)i(incremen)m(ts,)f(except)f
+(for)f Ft(-t)p Fu(,)630 1395 y(whic)m(h)e(is)g(in)g(seconds;)h
+Ft(-R)p Fu(,)g(whic)m(h)f(is)g(in)g(microseconds;)h Ft(-p)p
+Fu(,)g(whic)m(h)f(is)g(in)g(units)g(of)g(512-)630 1504
+y(b)m(yte)k(blo)s(c)m(ks;)j Ft(-P)p Fu(,)e Ft(-T)p Fu(,)f
+Ft(-b)p Fu(,)h Ft(-k)p Fu(,)f Ft(-n)g Fu(and)f Ft(-u)p
+Fu(,)h(whic)m(h)g(are)g(unscaled)g(v)-5 b(alues;)37 b(and,)f(when)630
+1614 y(in)g Fm(posix)f Fu(Mo)s(de)h(\(see)g(Section)h(6.11)g([Bash)g
+(POSIX)d(Mo)s(de],)k(page)f(109\),)i Ft(-c)c Fu(and)g
+Ft(-f)p Fu(,)630 1724 y(whic)m(h)30 b(are)h(in)f(512-b)m(yte)j
+(incremen)m(ts.)630 1853 y(The)h(return)g(status)h(is)f(zero)i(unless)e
+(an)g(in)m(v)-5 b(alid)36 b(option)f(or)f(argumen)m(t)i(is)e(supplied,)
+h(or)630 1963 y(an)30 b(error)g(o)s(ccurs)g(while)h(setting)g(a)g(new)f
+(limit.)150 2112 y Ft(unalias)870 2242 y(unalias)46 b([-a])g([)p
+Fj(name)h Ft(...)g(])630 2371 y Fu(Remo)m(v)m(e)42 b(eac)m(h)f
Fr(name)k Fu(from)39 b(the)i(list)f(of)g(aliases.)71
b(If)40 b Ft(-a)f Fu(is)h(supplied,)h(all)g(aliases)h(are)630
-2061 y(remo)m(v)m(ed.)g(Aliases)31 b(are)g(describ)s(ed)e(in)h(Section)
-i(6.6)f([Aliases],)h(page)f(103.)150 2299 y Fs(4.3)68
-b(Mo)t(difying)45 b(Shell)g(Beha)l(vior)150 2522 y Fk(4.3.1)63
-b(The)41 b(Set)g(Builtin)150 2669 y Fu(This)35 b(builtin)h(is)g(so)g
+2481 y(remo)m(v)m(ed.)g(Aliases)31 b(are)g(describ)s(ed)e(in)h(Section)
+i(6.6)f([Aliases],)h(page)f(103.)150 2712 y Fs(4.3)68
+b(Mo)t(difying)45 b(Shell)g(Beha)l(vior)150 2931 y Fk(4.3.1)63
+b(The)41 b(Set)g(Builtin)150 3078 y Fu(This)35 b(builtin)h(is)g(so)g
(complicated)i(that)f(it)f(deserv)m(es)h(its)f(o)m(wn)g(section.)59
b Ft(set)35 b Fu(allo)m(ws)j(y)m(ou)e(to)h(c)m(hange)150
-2779 y(the)c(v)-5 b(alues)34 b(of)f(shell)g(options)h(and)e(set)i(the)f
+3188 y(the)c(v)-5 b(alues)34 b(of)f(shell)g(options)h(and)e(set)i(the)f
(p)s(ositional)h(parameters,)h(or)e(to)h(displa)m(y)f(the)g(names)h
-(and)150 2888 y(v)-5 b(alues)31 b(of)f(shell)h(v)-5 b(ariables.)150
-3045 y Ft(set)870 3178 y(set)47 b([-abefhkmnptuvxBCEHPT])42
+(and)150 3297 y(v)-5 b(alues)31 b(of)f(shell)h(v)-5 b(ariables.)150
+3447 y Ft(set)870 3576 y(set)47 b([-abefhkmnptuvxBCEHPT])42
b([-o)47 b Fj(option-name)p Ft(])d([--])j([-])g([)p Fj(argument)e
-Ft(...)o(])870 3288 y(set)i([+abefhkmnptuvxBCEHPT])42
+Ft(...)o(])870 3686 y(set)i([+abefhkmnptuvxBCEHPT])42
b([+o)47 b Fj(option-name)p Ft(])d([--])j([-])g([)p Fj(argument)e
-Ft(...)o(])870 3397 y(set)i(-o)870 3507 y(set)g(+o)630
-3640 y Fu(If)22 b(no)h(options)g(or)g(argumen)m(ts)g(are)g(supplied,)g
+Ft(...)o(])870 3795 y(set)i(-o)870 3905 y(set)g(+o)630
+4035 y Fu(If)22 b(no)h(options)g(or)g(argumen)m(ts)g(are)g(supplied,)g
Ft(set)f Fu(displa)m(ys)g(the)h(names)g(and)f(v)-5 b(alues)23
-b(of)g(all)630 3750 y(shell)j(v)-5 b(ariables)27 b(and)e(functions,)h
+b(of)g(all)630 4144 y(shell)j(v)-5 b(ariables)27 b(and)e(functions,)h
(sorted)g(according)h(to)g(the)f(curren)m(t)f(lo)s(cale,)k(in)c(a)i
-(format)630 3859 y(that)i(ma)m(y)h(b)s(e)e(reused)g(as)h(input)f(for)h
+(format)630 4254 y(that)i(ma)m(y)h(b)s(e)e(reused)g(as)h(input)f(for)h
(setting)h(or)e(resetting)i(the)f(curren)m(tly-set)h(v)-5
-b(ariables.)630 3969 y(Read-only)37 b(v)-5 b(ariables)37
+b(ariables.)630 4363 y(Read-only)37 b(v)-5 b(ariables)37
b(cannot)h(b)s(e)e(reset.)59 b(In)36 b Fm(posix)g Fu(mo)s(de,)i(only)f
-(shell)f(v)-5 b(ariables)38 b(are)630 4079 y(listed.)630
-4212 y(When)29 b(options)g(are)g(supplied,)f(they)h(set)h(or)f(unset)f
+(shell)f(v)-5 b(ariables)38 b(are)630 4473 y(listed.)630
+4603 y(When)29 b(options)g(are)g(supplied,)f(they)h(set)h(or)f(unset)f
(shell)h(attributes.)41 b(Options,)29 b(if)g(sp)s(ec-)630
-4321 y(i\014ed,)h(ha)m(v)m(e)i(the)e(follo)m(wing)i(meanings:)630
-4478 y Ft(-a)384 b Fu(Eac)m(h)37 b(v)-5 b(ariable)36
+4712 y(i\014ed,)h(ha)m(v)m(e)i(the)e(follo)m(wing)i(meanings:)630
+4862 y Ft(-a)384 b Fu(Eac)m(h)37 b(v)-5 b(ariable)36
b(or)g(function)g(that)g(is)g(created)h(or)f(mo)s(di\014ed)f(is)h(giv)m
-(en)h(the)1110 4588 y(exp)s(ort)28 b(attribute)h(and)f(mark)m(ed)g(for)
+(en)h(the)1110 4971 y(exp)s(ort)28 b(attribute)h(and)f(mark)m(ed)g(for)
g(exp)s(ort)g(to)h(the)g(en)m(vironmen)m(t)f(of)h(sub-)1110
-4697 y(sequen)m(t)i(commands.)630 4854 y Ft(-b)384 b
+5081 y(sequen)m(t)i(commands.)630 5230 y Ft(-b)384 b
Fu(Cause)44 b(the)h(status)g(of)f(terminated)h(bac)m(kground)g(jobs)f
-(to)h(b)s(e)f(rep)s(orted)1110 4964 y(immediately)-8
+(to)h(b)s(e)f(rep)s(orted)1110 5340 y(immediately)-8
b(,)30 b(rather)d(than)f(b)s(efore)h(prin)m(ting)g(the)g(next)g
-(primary)g(prompt.)630 5121 y Ft(-e)384 b Fu(Exit)65
-b(immediately)g(if)f(a)h(pip)s(eline)e(\(see)i(Section)g(3.2.3)h([Pip)s
-(elines],)1110 5230 y(page)51 b(10\),)58 b(whic)m(h)50
-b(ma)m(y)h(consist)h(of)e(a)i(single)f(simple)g(command)f(\(see)1110
-5340 y(Section)30 b(3.2.2)i([Simple)d(Commands],)g(page)h(9\),)h(a)f
-(list)g(\(see)h(Section)f(3.2.4)p eop end
+(primary)g(prompt.)p eop end
%%Page: 70 76
TeXDict begin 70 75 bop 150 -116 a Fu(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(70)1110 299 y([Lists],)60
+b(Shell)30 b(Builtin)h(Commands)2069 b(70)630 299 y Ft(-e)384
+b Fu(Exit)65 b(immediately)g(if)f(a)h(pip)s(eline)e(\(see)i(Section)g
+(3.2.3)h([Pip)s(elines],)1110 408 y(page)51 b(10\),)58
+b(whic)m(h)50 b(ma)m(y)h(consist)h(of)e(a)i(single)f(simple)g(command)f
+(\(see)1110 518 y(Section)30 b(3.2.2)i([Simple)d(Commands],)g(page)h
+(9\),)h(a)f(list)g(\(see)h(Section)f(3.2.4)1110 628 y([Lists],)60
b(page)55 b(10\),)60 b(or)54 b(a)g(comp)s(ound)e(command)h(\(see)i
-(Section)f(3.2.5)1110 408 y([Comp)s(ound)60 b(Commands],)70
+(Section)f(3.2.5)1110 737 y([Comp)s(ound)60 b(Commands],)70
b(page)63 b(11\))g(returns)e(a)i(non-zero)f(status.)1110
-518 y(The)41 b(shell)g(do)s(es)g(not)g(exit)h(if)f(the)h(command)f
-(that)h(fails)f(is)g(part)g(of)h(the)1110 628 y(command)g(list)h
+847 y(The)41 b(shell)g(do)s(es)g(not)g(exit)h(if)f(the)h(command)f
+(that)h(fails)f(is)g(part)g(of)h(the)1110 956 y(command)g(list)h
(immediately)g(follo)m(wing)g(a)g Ft(while)e Fu(or)h
-Ft(until)e Fu(k)m(eyw)m(ord,)1110 737 y(part)61 b(of)g(the)g(test)h(in)
-e(an)h Ft(if)f Fu(statemen)m(t,)71 b(part)61 b(of)g(an)m(y)g(command)
-1110 847 y(executed)50 b(in)e(a)h Ft(&&)f Fu(or)h Ft(||)f
-Fu(list)h(except)g(the)g(command)g(follo)m(wing)h(the)1110
-956 y(\014nal)37 b Ft(&&)g Fu(or)g Ft(||)p Fu(,)h(an)m(y)g(command)f
+Ft(until)e Fu(k)m(eyw)m(ord,)1110 1066 y(part)61 b(of)g(the)g(test)h
+(in)e(an)h Ft(if)f Fu(statemen)m(t,)71 b(part)61 b(of)g(an)m(y)g
+(command)1110 1176 y(executed)50 b(in)e(a)h Ft(&&)f Fu(or)h
+Ft(||)f Fu(list)h(except)g(the)g(command)g(follo)m(wing)h(the)1110
+1285 y(\014nal)37 b Ft(&&)g Fu(or)g Ft(||)p Fu(,)h(an)m(y)g(command)f
(in)g(a)g(pip)s(eline)g(but)g(the)g(last,)j(or)e(if)f(the)1110
-1066 y(command's)c(return)f(status)h(is)g(b)s(eing)g(in)m(v)m(erted)h
+1395 y(command's)c(return)f(status)h(is)g(b)s(eing)g(in)m(v)m(erted)h
(with)e Ft(!)p Fu(.)48 b(If)33 b(a)g(comp)s(ound)1110
-1176 y(command)g(other)g(than)f(a)i(subshell)d(returns)h(a)h(non-zero)h
-(status)f(b)s(ecause)1110 1285 y(a)k(command)g(failed)g(while)g
+1504 y(command)g(other)g(than)f(a)i(subshell)d(returns)h(a)h(non-zero)h
+(status)f(b)s(ecause)1110 1614 y(a)k(command)g(failed)g(while)g
Ft(-e)f Fu(w)m(as)i(b)s(eing)e(ignored,)j(the)e(shell)g(do)s(es)g(not)
-1110 1395 y(exit.)42 b(A)30 b(trap)g(on)h Ft(ERR)p Fu(,)e(if)i(set,)g
+1110 1724 y(exit.)42 b(A)30 b(trap)g(on)h Ft(ERR)p Fu(,)e(if)i(set,)g
(is)f(executed)i(b)s(efore)e(the)g(shell)h(exits.)1110
-1532 y(This)f(option)h(applies)f(to)h(the)g(shell)g(en)m(vironmen)m(t)g
-(and)f(eac)m(h)h(subshell)f(en-)1110 1641 y(vironmen)m(t)j(separately)i
+1857 y(This)f(option)h(applies)f(to)h(the)g(shell)g(en)m(vironmen)m(t)g
+(and)f(eac)m(h)h(subshell)f(en-)1110 1966 y(vironmen)m(t)j(separately)i
(\(see)f(Section)g(3.7.3)h([Command)d(Execution)i(En-)1110
-1751 y(vironmen)m(t],)i(page)f(44\),)i(and)d(ma)m(y)h(cause)f
-(subshells)g(to)h(exit)g(b)s(efore)f(exe-)1110 1861 y(cuting)d(all)g
-(the)g(commands)f(in)g(the)g(subshell.)1110 1998 y(If)41
+2076 y(vironmen)m(t],)i(page)f(44\),)i(and)d(ma)m(y)h(cause)f
+(subshells)g(to)h(exit)g(b)s(efore)f(exe-)1110 2185 y(cuting)d(all)g
+(the)g(commands)f(in)g(the)g(subshell.)1110 2318 y(If)41
b(a)g(comp)s(ound)e(command)i(or)g(shell)g(function)g(executes)h(in)f
-(a)g(con)m(text)1110 2107 y(where)31 b Ft(-e)g Fu(is)g(b)s(eing)g
+(a)g(con)m(text)1110 2428 y(where)31 b Ft(-e)g Fu(is)g(b)s(eing)g
(ignored,)h(none)f(of)h(the)f(commands)g(executed)h(within)1110
-2217 y(the)j(comp)s(ound)f(command)h(or)g(function)f(b)s(o)s(dy)g(will)
-h(b)s(e)f(a\013ected)j(b)m(y)e(the)1110 2326 y Ft(-e)25
+2538 y(the)j(comp)s(ound)f(command)h(or)g(function)f(b)s(o)s(dy)g(will)
+h(b)s(e)f(a\013ected)j(b)m(y)e(the)1110 2647 y Ft(-e)25
b Fu(setting,)j(ev)m(en)e(if)g Ft(-e)f Fu(is)h(set)g(and)f(a)h(command)
-g(returns)e(a)i(failure)g(status.)1110 2436 y(If)32 b(a)i(comp)s(ound)d
+g(returns)e(a)i(failure)g(status.)1110 2757 y(If)32 b(a)i(comp)s(ound)d
(command)i(or)g(shell)g(function)f(sets)i Ft(-e)e Fu(while)h(executing)
-1110 2545 y(in)40 b(a)h(con)m(text)i(where)d Ft(-e)g
+1110 2866 y(in)40 b(a)h(con)m(text)i(where)d Ft(-e)g
Fu(is)h(ignored,)j(that)d(setting)h(will)f(not)g(ha)m(v)m(e)h(an)m(y)
-1110 2655 y(e\013ect)g(un)m(til)e(the)h(comp)s(ound)e(command)h(or)g
-(the)g(command)g(con)m(taining)1110 2765 y(the)31 b(function)f(call)h
-(completes.)630 2929 y Ft(-f)384 b Fu(Disable)31 b(\014lename)g
-(expansion)f(\(globbing\).)630 3093 y Ft(-h)384 b Fu(Lo)s(cate)33
+1110 2976 y(e\013ect)g(un)m(til)e(the)h(comp)s(ound)e(command)h(or)g
+(the)g(command)g(con)m(taining)1110 3086 y(the)31 b(function)f(call)h
+(completes.)630 3242 y Ft(-f)384 b Fu(Disable)31 b(\014lename)g
+(expansion)f(\(globbing\).)630 3399 y Ft(-h)384 b Fu(Lo)s(cate)33
b(and)e(remem)m(b)s(er)h(\(hash\))g(commands)f(as)h(they)g(are)g(lo)s
-(ok)m(ed)h(up)e(for)1110 3203 y(execution.)42 b(This)29
-b(option)i(is)g(enabled)f(b)m(y)g(default.)630 3367 y
+(ok)m(ed)h(up)e(for)1110 3508 y(execution.)42 b(This)29
+b(option)i(is)g(enabled)f(b)m(y)g(default.)630 3665 y
Ft(-k)384 b Fu(All)34 b(argumen)m(ts)g(in)f(the)h(form)f(of)g
(assignmen)m(t)h(statemen)m(ts)i(are)d(placed)h(in)1110
-3477 y(the)k(en)m(vironmen)m(t)g(for)g(a)g(command,)h(not)f(just)f
-(those)i(that)f(precede)g(the)1110 3587 y(command)30
-b(name.)630 3751 y Ft(-m)384 b Fu(Job)28 b(con)m(trol)h(is)f(enabled)g
+3774 y(the)k(en)m(vironmen)m(t)g(for)g(a)g(command,)h(not)f(just)f
+(those)i(that)f(precede)g(the)1110 3884 y(command)30
+b(name.)630 4041 y Ft(-m)384 b Fu(Job)28 b(con)m(trol)h(is)f(enabled)g
(\(see)h(Chapter)f(7)g([Job)g(Con)m(trol],)i(page)f(118\).)41
-b(All)1110 3861 y(pro)s(cesses)27 b(run)f(in)i(a)g(separate)g(pro)s
+b(All)1110 4150 y(pro)s(cesses)27 b(run)f(in)i(a)g(separate)g(pro)s
(cess)f(group.)40 b(When)27 b(a)h(bac)m(kground)f(job)1110
-3970 y(completes,)32 b(the)f(shell)f(prin)m(ts)g(a)h(line)f(con)m
-(taining)i(its)f(exit)g(status.)630 4134 y Ft(-n)384
+4260 y(completes,)32 b(the)f(shell)f(prin)m(ts)g(a)h(line)f(con)m
+(taining)i(its)f(exit)g(status.)630 4416 y Ft(-n)384
b Fu(Read)38 b(commands)f(but)f(do)i(not)f(execute)i(them.)62
-b(This)37 b(ma)m(y)h(b)s(e)f(used)f(to)1110 4244 y(c)m(hec)m(k)d(a)e
+b(This)37 b(ma)m(y)h(b)s(e)f(used)f(to)1110 4526 y(c)m(hec)m(k)d(a)e
(script)g(for)g(syn)m(tax)h(errors.)42 b(This)30 b(option)i(is)f
-(ignored)g(b)m(y)g(in)m(terac-)1110 4354 y(tiv)m(e)h(shells.)630
-4518 y Ft(-o)e Fj(option-name)1110 4628 y Fu(Set)44 b(the)h(option)f
+(ignored)g(b)m(y)g(in)m(terac-)1110 4635 y(tiv)m(e)h(shells.)630
+4792 y Ft(-o)e Fj(option-name)1110 4902 y Fu(Set)44 b(the)h(option)f
(corresp)s(onding)f(to)i Fr(option-name)p Fu(.)83 b(If)44
-b Ft(-o)f Fu(is)h(supplied)1110 4737 y(with)29 b(no)h
+b Ft(-o)f Fu(is)h(supplied)1110 5011 y(with)29 b(no)h
Fr(option-name)p Fu(,)h Ft(set)e Fu(prin)m(ts)g(the)g(curren)m(t)h
-(shell)g(options)g(settings.)1110 4847 y(If)37 b Ft(+o)g
+(shell)g(options)g(settings.)1110 5121 y(If)37 b Ft(+o)g
Fu(is)h(supplied)e(with)h(no)h Fr(option-name)p Fu(,)i
Ft(set)d Fu(prin)m(ts)g(a)h(series)g(of)g Ft(set)1110
-4956 y Fu(commands)31 b(to)i(recreate)g(the)f(curren)m(t)g(option)g
-(settings)h(on)f(the)g(standard)1110 5066 y(output.)40
-b(V)-8 b(alid)32 b(option)f(names)f(are:)1110 5230 y
-Ft(allexport)1590 5340 y Fu(Same)g(as)h Ft(-a)p Fu(.)p
-eop end
+5230 y Fu(commands)31 b(to)i(recreate)g(the)f(curren)m(t)g(option)g
+(settings)h(on)f(the)g(standard)1110 5340 y(output.)40
+b(V)-8 b(alid)32 b(option)f(names)f(are:)p eop end
%%Page: 71 77
TeXDict begin 71 76 bop 150 -116 a Fu(Chapter)30 b(4:)41
b(Shell)30 b(Builtin)h(Commands)2069 b(71)1110 299 y
-Ft(braceexpand)1590 408 y Fu(Same)30 b(as)h Ft(-B)p Fu(.)1110
-573 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 682
-y([Command)33 b(Line)g(Editing],)h(page)h(122\).)51 b(This)32
-b(also)i(a\013ects)1590 792 y(the)d(editing)g(in)m(terface)h(used)d
-(for)h Ft(read)f(-e)p Fu(.)1110 956 y Ft(errexit)144
-b Fu(Same)30 b(as)h Ft(-e)p Fu(.)1110 1121 y Ft(errtrace)96
-b Fu(Same)30 b(as)h Ft(-E)p Fu(.)1110 1285 y Ft(functrace)1590
-1395 y Fu(Same)f(as)h Ft(-T)p Fu(.)1110 1559 y Ft(hashall)144
-b Fu(Same)30 b(as)h Ft(-h)p Fu(.)1110 1724 y Ft(histexpand)1590
-1833 y Fu(Same)f(as)h Ft(-H)p Fu(.)1110 1998 y Ft(history)144
+Ft(allexport)1590 408 y Fu(Same)30 b(as)h Ft(-a)p Fu(.)1110
+560 y Ft(braceexpand)1590 669 y Fu(Same)f(as)h Ft(-B)p
+Fu(.)1110 821 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
+930 y([Command)33 b(Line)g(Editing],)h(page)h(122\).)51
+b(This)32 b(also)i(a\013ects)1590 1040 y(the)d(editing)g(in)m(terface)h
+(used)d(for)h Ft(read)f(-e)p Fu(.)1110 1191 y Ft(errexit)144
+b Fu(Same)30 b(as)h Ft(-e)p Fu(.)1110 1343 y Ft(errtrace)96
+b Fu(Same)30 b(as)h Ft(-E)p Fu(.)1110 1494 y Ft(functrace)1590
+1604 y Fu(Same)f(as)h Ft(-T)p Fu(.)1110 1755 y Ft(hashall)144
+b Fu(Same)30 b(as)h Ft(-h)p Fu(.)1110 1906 y Ft(histexpand)1590
+2016 y Fu(Same)f(as)h Ft(-H)p Fu(.)1110 2167 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 2107 y([Bash)d(History)g(F)-8 b(acilities],)41
-b(page)c(159.)60 b(This)36 b(option)h(is)f(on)1590 2217
+(Section)h(9.1)1590 2277 y([Bash)d(History)g(F)-8 b(acilities],)41
+b(page)c(159.)60 b(This)36 b(option)h(is)f(on)1590 2386
y(b)m(y)30 b(default)h(in)f(in)m(teractiv)m(e)j(shells.)1110
-2381 y Ft(ignoreeof)1590 2491 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 2655
+2538 y Ft(ignoreeof)1590 2647 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 2799
y Ft(keyword)144 b Fu(Same)30 b(as)h Ft(-k)p Fu(.)1110
-2819 y Ft(monitor)144 b Fu(Same)30 b(as)h Ft(-m)p Fu(.)1110
-2984 y Ft(noclobber)1590 3093 y Fu(Same)f(as)h Ft(-C)p
-Fu(.)1110 3258 y Ft(noexec)192 b Fu(Same)30 b(as)h Ft(-n)p
-Fu(.)1110 3422 y Ft(noglob)192 b Fu(Same)30 b(as)h Ft(-f)p
-Fu(.)1110 3587 y Ft(nolog)240 b Fu(Curren)m(tly)30 b(ignored.)1110
-3751 y Ft(notify)192 b Fu(Same)30 b(as)h Ft(-b)p Fu(.)1110
-3915 y Ft(nounset)144 b Fu(Same)30 b(as)h Ft(-u)p Fu(.)1110
-4080 y Ft(onecmd)192 b Fu(Same)30 b(as)h Ft(-t)p Fu(.)1110
-4244 y Ft(physical)96 b Fu(Same)30 b(as)h Ft(-P)p Fu(.)1110
-4408 y Ft(pipefail)96 b Fu(If)44 b(set,)k(the)d(return)e(v)-5
+2950 y Ft(monitor)144 b Fu(Same)30 b(as)h Ft(-m)p Fu(.)1110
+3101 y Ft(noclobber)1590 3211 y Fu(Same)f(as)h Ft(-C)p
+Fu(.)1110 3362 y Ft(noexec)192 b Fu(Same)30 b(as)h Ft(-n)p
+Fu(.)1110 3513 y Ft(noglob)192 b Fu(Same)30 b(as)h Ft(-f)p
+Fu(.)1110 3665 y Ft(nolog)240 b Fu(Curren)m(tly)30 b(ignored.)1110
+3816 y Ft(notify)192 b Fu(Same)30 b(as)h Ft(-b)p Fu(.)1110
+3968 y Ft(nounset)144 b Fu(Same)30 b(as)h Ft(-u)p Fu(.)1110
+4119 y Ft(onecmd)192 b Fu(Same)30 b(as)h Ft(-t)p Fu(.)1110
+4270 y Ft(physical)96 b Fu(Same)30 b(as)h Ft(-P)p Fu(.)1110
+4422 y Ft(pipefail)96 b Fu(If)44 b(set,)k(the)d(return)e(v)-5
b(alue)45 b(of)f(a)h(pip)s(eline)e(is)i(the)f(v)-5 b(alue)45
-b(of)1590 4518 y(the)33 b(last)h(\(righ)m(tmost\))h(command)e(to)h
-(exit)g(with)f(a)g(non-zero)1590 4628 y(status,)28 b(or)f(zero)g(if)f
+b(of)1590 4531 y(the)33 b(last)h(\(righ)m(tmost\))h(command)e(to)h
+(exit)g(with)f(a)g(non-zero)1590 4641 y(status,)28 b(or)f(zero)g(if)f
(all)i(commands)e(in)g(the)h(pip)s(eline)f(exit)i(suc-)1590
-4737 y(cessfully)-8 b(.)41 b(This)30 b(option)h(is)f(disabled)g(b)m(y)h
+4750 y(cessfully)-8 b(.)41 b(This)30 b(option)h(is)f(disabled)g(b)m(y)h
(default.)1110 4902 y Ft(posix)240 b Fu(Change)30 b(the)g(b)s(eha)m
(vior)h(of)f(Bash)g(where)g(the)g(default)h(op)s(era-)1590
5011 y(tion)25 b(di\013ers)f(from)g(the)h Fm(posix)f
408 y(this)37 b(v)-5 b(ariable)38 b(is)f(unset,)h(or)f(set)h(to)g(a)f
(v)-5 b(alue)38 b(that)f(is)g(not)h(a)f(n)m(um)m(b)s(er)f(greater)i
(than)f(or)630 518 y(equal)31 b(to)g(zero,)g(the)g(shell)g(disables)f
-(mail)h(c)m(hec)m(king.)150 675 y Ft(MAPFILE)144 b Fu(An)35
+(mail)h(c)m(hec)m(king.)150 678 y Ft(MAPFILE)144 b Fu(An)35
b(arra)m(y)h(v)-5 b(ariable)36 b(created)g(to)h(hold)e(the)g(text)i
(read)e(b)m(y)g(the)h Ft(mapfile)d Fu(builtin)i(when)630
-784 y(no)30 b(v)-5 b(ariable)31 b(name)g(is)f(supplied.)150
-941 y Ft(OLDPWD)192 b Fu(The)30 b(previous)g(w)m(orking)g(directory)h
-(as)g(set)g(b)m(y)f(the)h Ft(cd)e Fu(builtin.)150 1097
+788 y(no)30 b(v)-5 b(ariable)31 b(name)g(is)f(supplied.)150
+948 y Ft(OLDPWD)192 b Fu(The)30 b(previous)g(w)m(orking)g(directory)h
+(as)g(set)g(b)m(y)f(the)h Ft(cd)e Fu(builtin.)150 1108
y Ft(OPTERR)192 b Fu(If)35 b(set)i(to)f(the)h(v)-5 b(alue)36
b(1,)i(Bash)e(displa)m(ys)g(error)f(messages)i(generated)g(b)m(y)f(the)
-g Ft(getopts)630 1207 y Fu(builtin)30 b(command.)150
-1363 y Ft(OSTYPE)192 b Fu(A)30 b(string)h(describing)f(the)g(op)s
-(erating)h(system)g(Bash)f(is)h(running)d(on.)150 1520
-y Ft(PIPESTATUS)630 1630 y Fu(An)48 b(arra)m(y)g(v)-5
+g Ft(getopts)630 1218 y Fu(builtin)30 b(command.)150
+1378 y Ft(OSTYPE)192 b Fu(A)30 b(string)h(describing)f(the)g(op)s
+(erating)h(system)g(Bash)f(is)h(running)d(on.)150 1538
+y Ft(PIPESTATUS)630 1648 y Fu(An)48 b(arra)m(y)g(v)-5
b(ariable)49 b(\(see)g(Section)g(6.7)g([Arra)m(ys],)k(page)c(103\))g
-(con)m(taining)h(a)e(list)h(of)630 1739 y(exit)32 b(status)f(v)-5
+(con)m(taining)h(a)e(list)h(of)630 1757 y(exit)32 b(status)f(v)-5
b(alues)31 b(from)f(the)h(pro)s(cesses)g(in)g(the)g(most-recen)m
-(tly-executed)j(foreground)630 1849 y(pip)s(eline)c(\(whic)m(h)g(ma)m
-(y)h(con)m(tain)h(only)f(a)f(single)h(command\).)150
-2005 y Ft(POSIXLY_CORRECT)630 2115 y Fu(If)h(this)g(v)-5
-b(ariable)34 b(is)e(in)g(the)h(en)m(vironmen)m(t)g(when)e(Bash)i
-(starts,)g(the)g(shell)g(en)m(ters)g Fm(posix)630 2225
-y Fu(mo)s(de)46 b(\(see)h(Section)g(6.11)g([Bash)g(POSIX)e(Mo)s(de],)50
-b(page)d(109\))h(b)s(efore)e(reading)g(the)630 2334 y(startup)38
+(tly-executed)j(foreground)630 1867 y(pip)s(eline,)i(whic)m(h)f(ma)m(y)
+g(consist)h(of)f(only)h(a)f(simple)g(command)g(\(see)h(Section)g(3.2)g
+([Shell)630 1976 y(Commands],)30 b(page)h(9\).)150 2137
+y Ft(POSIXLY_CORRECT)630 2246 y Fu(If)h(this)g(v)-5 b(ariable)34
+b(is)e(in)g(the)h(en)m(vironmen)m(t)g(when)e(Bash)i(starts,)g(the)g
+(shell)g(en)m(ters)g Fm(posix)630 2356 y Fu(mo)s(de)46
+b(\(see)h(Section)g(6.11)g([Bash)g(POSIX)e(Mo)s(de],)50
+b(page)d(109\))h(b)s(efore)e(reading)g(the)630 2465 y(startup)38
b(\014les,)j(as)e(if)g(the)g Ft(--posix)d Fu(in)m(v)m(o)s(cation)41
b(option)e(had)f(b)s(een)g(supplied.)64 b(If)39 b(it)g(is)630
-2444 y(set)31 b(while)f(the)h(shell)f(is)h(running,)e(Bash)h(enables)h
+2575 y(set)31 b(while)f(the)h(shell)f(is)h(running,)e(Bash)h(enables)h
Fm(posix)f Fu(mo)s(de,)g(as)g(if)h(the)f(command)870
-2577 y Ft(set)47 b(-o)g(posix)630 2710 y Fu(had)33 b(b)s(een)g
+2710 y Ft(set)47 b(-o)g(posix)630 2845 y Fu(had)33 b(b)s(een)g
(executed.)51 b(When)33 b(the)h(shell)f(en)m(ters)h Fm(posix)f
Fu(mo)s(de,)h(it)g(sets)g(this)g(v)-5 b(ariable)34 b(if)630
-2819 y(it)d(w)m(as)g(not)f(already)h(set.)150 2976 y
+2954 y(it)d(w)m(as)g(not)f(already)h(set.)150 3114 y
Ft(PPID)288 b Fu(The)30 b(pro)s(cess)g Fm(id)g Fu(of)h(the)f(shell's)h
(paren)m(t)g(pro)s(cess.)40 b(This)30 b(v)-5 b(ariable)31
-b(is)f(readonly)-8 b(.)150 3133 y Ft(PROMPT_COMMAND)630
-3242 y Fu(If)23 b(this)h(v)-5 b(ariable)24 b(is)g(set,)i(and)d(is)h(an)
+b(is)f(readonly)-8 b(.)150 3275 y Ft(PROMPT_COMMAND)630
+3384 y Fu(If)23 b(this)h(v)-5 b(ariable)24 b(is)g(set,)i(and)d(is)h(an)
f(arra)m(y)-8 b(,)27 b(the)d(v)-5 b(alue)24 b(of)g(eac)m(h)g(set)h
-(elemen)m(t)g(is)f(in)m(terpreted)630 3352 y(as)29 b(a)g(command)f(to)i
+(elemen)m(t)g(is)f(in)m(terpreted)630 3494 y(as)29 b(a)g(command)f(to)i
(execute)g(b)s(efore)e(prin)m(ting)h(the)g(primary)f(prompt)f(\()p
-Ft($PS1)p Fu(\).)40 b(If)28 b(this)h(is)630 3461 y(set)c(but)f(not)g
+Ft($PS1)p Fu(\).)40 b(If)28 b(this)h(is)630 3603 y(set)c(but)f(not)g
(an)h(arra)m(y)g(v)-5 b(ariable,)26 b(its)f(v)-5 b(alue)25
b(is)f(used)g(as)h(a)f(command)g(to)i(execute)f(instead.)150
-3618 y Ft(PROMPT_DIRTRIM)630 3727 y Fu(If)i(set)g(to)h(a)g(n)m(um)m(b)s
+3764 y Ft(PROMPT_DIRTRIM)630 3873 y Fu(If)i(set)g(to)h(a)g(n)m(um)m(b)s
(er)e(greater)i(than)f(zero,)i(the)e(v)-5 b(alue)28 b(is)f(used)g(as)g
-(the)h(n)m(um)m(b)s(er)e(of)h(trailing)630 3837 y(directory)c(comp)s
+(the)h(n)m(um)m(b)s(er)e(of)h(trailing)630 3983 y(directory)c(comp)s
(onen)m(ts)h(to)f(retain)h(when)e(expanding)g(the)h Ft(\\w)g
-Fu(and)f Ft(\\W)g Fu(prompt)h(string)f(es-)630 3947 y(cap)s(es)i(\(see)
+Fu(and)f Ft(\\W)g Fu(prompt)h(string)f(es-)630 4092 y(cap)s(es)i(\(see)
h(Section)g(6.9)g([Con)m(trolling)g(the)f(Prompt],)i(page)e(107\).)41
-b(Characters)24 b(remo)m(v)m(ed)630 4056 y(are)31 b(replaced)g(with)f
-(an)g(ellipsis.)150 4213 y Ft(PS0)336 b Fu(The)32 b(v)-5
+b(Characters)24 b(remo)m(v)m(ed)630 4202 y(are)31 b(replaced)g(with)f
+(an)g(ellipsis.)150 4362 y Ft(PS0)336 b Fu(The)32 b(v)-5
b(alue)33 b(of)g(this)g(parameter)g(is)g(expanded)e(lik)m(e)j
Ft(PS1)e Fu(and)g(displa)m(y)m(ed)i(b)m(y)e(in)m(teractiv)m(e)630
-4322 y(shells)e(after)h(reading)g(a)g(command)f(and)f(b)s(efore)h(the)h
-(command)f(is)h(executed.)150 4479 y Ft(PS3)336 b Fu(The)34
+4472 y(shells)e(after)h(reading)g(a)g(command)f(and)f(b)s(efore)h(the)h
+(command)f(is)h(executed.)150 4632 y Ft(PS3)336 b Fu(The)34
b(v)-5 b(alue)35 b(of)f(this)g(v)-5 b(ariable)35 b(is)g(used)e(as)i
(the)f(prompt)g(for)g(the)g Ft(select)f Fu(command.)52
-b(If)630 4589 y(this)30 b(v)-5 b(ariable)31 b(is)g(not)f(set,)i(the)e
+b(If)630 4741 y(this)30 b(v)-5 b(ariable)31 b(is)g(not)f(set,)i(the)e
Ft(select)f Fu(command)h(prompts)f(with)h(`)p Ft(#?)g
-Fu(')150 4745 y Ft(PS4)336 b Fu(The)38 b(v)-5 b(alue)39
+Fu(')150 4902 y Ft(PS4)336 b Fu(The)38 b(v)-5 b(alue)39
b(of)g(this)g(parameter)g(is)g(expanded)f(lik)m(e)i Ft(PS1)e
-Fu(and)g(the)h(expanded)f(v)-5 b(alue)39 b(is)630 4855
+Fu(and)g(the)h(expanded)f(v)-5 b(alue)39 b(is)630 5011
y(the)c(prompt)f(prin)m(ted)g(b)s(efore)g(the)h(command)f(line)h(is)g
(ec)m(ho)s(ed)g(when)f(the)h Ft(-x)f Fu(option)h(is)630
-4964 y(set)k(\(see)h(Section)g(4.3.1)g([The)f(Set)g(Builtin],)j(page)e
+5121 y(set)k(\(see)h(Section)g(4.3.1)g([The)f(Set)g(Builtin],)j(page)e
(69\).)67 b(The)38 b(\014rst)g(c)m(haracter)j(of)e(the)630
-5074 y(expanded)33 b(v)-5 b(alue)33 b(is)h(replicated)g(m)m(ultiple)g
+5230 y(expanded)33 b(v)-5 b(alue)33 b(is)h(replicated)g(m)m(ultiple)g
(times,)h(as)f(necessary)-8 b(,)35 b(to)f(indicate)g(m)m(ultiple)630
-5183 y(lev)m(els)e(of)e(indirection.)42 b(The)29 b(default)i(is)f(`)p
-Ft(+)h Fu('.)150 5340 y Ft(PWD)336 b Fu(The)30 b(curren)m(t)g(w)m
-(orking)h(directory)g(as)f(set)h(b)m(y)f(the)h Ft(cd)f
-Fu(builtin.)p eop end
+5340 y(lev)m(els)e(of)e(indirection.)42 b(The)29 b(default)i(is)f(`)p
+Ft(+)h Fu('.)p eop end
%%Page: 92 98
TeXDict begin 92 97 bop 150 -116 a Fu(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(92)150 299 y Ft(RANDOM)192
-b Fu(Eac)m(h)26 b(time)g(this)f(parameter)h(is)g(referenced,)g(it)g
+b(Shell)30 b(V)-8 b(ariables)2459 b(92)150 299 y Ft(PWD)336
+b Fu(The)30 b(curren)m(t)g(w)m(orking)h(directory)g(as)f(set)h(b)m(y)f
+(the)h Ft(cd)f Fu(builtin.)150 448 y Ft(RANDOM)192 b
+Fu(Eac)m(h)26 b(time)g(this)f(parameter)h(is)g(referenced,)g(it)g
(expands)f(to)h(a)g(random)e(in)m(teger)j(b)s(et)m(w)m(een)630
-408 y(0)e(and)e(32767.)41 b(Assigning)25 b(a)f(v)-5 b(alue)25
+558 y(0)e(and)e(32767.)41 b(Assigning)25 b(a)f(v)-5 b(alue)25
b(to)g(this)f(v)-5 b(ariable)25 b(seeds)f(the)h(random)e(n)m(um)m(b)s
-(er)g(gener-)630 518 y(ator.)41 b(If)27 b Ft(RANDOM)f
+(er)g(gener-)630 667 y(ator.)41 b(If)27 b Ft(RANDOM)f
Fu(is)h(unset,)h(it)g(loses)h(its)f(sp)s(ecial)g(prop)s(erties,)g(ev)m
-(en)g(if)g(it)g(is)f(subsequen)m(tly)630 628 y(reset.)150
-792 y Ft(READLINE_ARGUMENT)630 902 y Fu(An)m(y)37 b(n)m(umeric)f
+(en)g(if)g(it)g(is)f(subsequen)m(tly)630 777 y(reset.)150
+927 y Ft(READLINE_ARGUMENT)630 1036 y Fu(An)m(y)37 b(n)m(umeric)f
(argumen)m(t)h(giv)m(en)g(to)g(a)g(Readline)g(command)f(that)h(w)m(as)g
-(de\014ned)e(using)630 1011 y(`)p Ft(bind)29 b(-x)p Fu(')h(\(see)i
+(de\014ned)e(using)630 1146 y(`)p Ft(bind)29 b(-x)p Fu(')h(\(see)i
(Section)f(4.2)g([Bash)g(Builtins],)g(page)h(57,)f(when)e(it)i(w)m(as)g
-(in)m(v)m(ok)m(ed.)150 1176 y Ft(READLINE_LINE)630 1285
+(in)m(v)m(ok)m(ed.)150 1295 y Ft(READLINE_LINE)630 1405
y Fu(The)c(con)m(ten)m(ts)i(of)f(the)g(Readline)g(line)g(bu\013er,)f
(for)h(use)f(with)g(`)p Ft(bind)j(-x)p Fu(')d(\(see)h(Section)h(4.2)630
-1395 y([Bash)i(Builtins],)g(page)g(57\).)150 1559 y Ft(READLINE_MARK)
-630 1669 y Fu(The)26 b(p)s(osition)h(of)g(the)g Fr(mark)32
+1514 y([Bash)i(Builtins],)g(page)g(57\).)150 1664 y Ft(READLINE_MARK)
+630 1773 y Fu(The)26 b(p)s(osition)h(of)g(the)g Fr(mark)32
b Fu(\(sa)m(v)m(ed)c(insertion)f(p)s(oin)m(t\))g(in)g(the)g(Readline)g
-(line)g(bu\013er,)g(for)630 1778 y(use)36 b(with)f(`)p
+(line)g(bu\013er,)g(for)630 1883 y(use)36 b(with)f(`)p
Ft(bind)30 b(-x)p Fu(')35 b(\(see)i(Section)g(4.2)g([Bash)f(Builtins],)
-i(page)f(57\).)58 b(The)35 b(c)m(haracters)630 1888 y(b)s(et)m(w)m(een)
+i(page)f(57\).)58 b(The)35 b(c)m(haracters)630 1993 y(b)s(et)m(w)m(een)
c(the)g(insertion)f(p)s(oin)m(t)g(and)g(the)h(mark)f(are)h(often)f
-(called)i(the)f Fr(region)p Fu(.)150 2052 y Ft(READLINE_POINT)630
-2162 y Fu(The)23 b(p)s(osition)g(of)g(the)h(insertion)f(p)s(oin)m(t)g
+(called)i(the)f Fr(region)p Fu(.)150 2142 y Ft(READLINE_POINT)630
+2252 y Fu(The)23 b(p)s(osition)g(of)g(the)h(insertion)f(p)s(oin)m(t)g
(in)g(the)g(Readline)h(line)f(bu\013er,)h(for)f(use)g(with)g(`)p
-Ft(bind)630 2271 y(-x)p Fu(')30 b(\(see)h(Section)h(4.2)f([Bash)g
-(Builtins],)g(page)g(57\).)150 2436 y Ft(REPLY)240 b
+Ft(bind)630 2361 y(-x)p Fu(')30 b(\(see)h(Section)h(4.2)f([Bash)g
+(Builtins],)g(page)g(57\).)150 2511 y Ft(REPLY)240 b
Fu(The)30 b(default)g(v)-5 b(ariable)32 b(for)e(the)g
-Ft(read)g Fu(builtin.)150 2600 y Ft(SECONDS)144 b Fu(This)40
+Ft(read)g Fu(builtin.)150 2660 y Ft(SECONDS)144 b Fu(This)40
b(v)-5 b(ariable)41 b(expands)f(to)h(the)g(n)m(um)m(b)s(er)e(of)i
(seconds)g(since)g(the)f(shell)h(w)m(as)g(started.)630
-2710 y(Assignmen)m(t)i(to)g(this)g(v)-5 b(ariable)43
+2770 y(Assignmen)m(t)i(to)g(this)g(v)-5 b(ariable)43
b(resets)g(the)g(coun)m(t)g(to)g(the)g(v)-5 b(alue)43
-b(assigned,)j(and)c(the)630 2819 y(expanded)35 b(v)-5
+b(assigned,)j(and)c(the)630 2879 y(expanded)35 b(v)-5
b(alue)36 b(b)s(ecomes)h(the)f(v)-5 b(alue)36 b(assigned)g(plus)f(the)h
-(n)m(um)m(b)s(er)f(of)h(seconds)g(since)630 2929 y(the)41
+(n)m(um)m(b)s(er)f(of)h(seconds)g(since)630 2989 y(the)41
b(assignmen)m(t.)72 b(The)40 b(n)m(um)m(b)s(er)f(of)i(seconds)f(at)h
(shell)g(in)m(v)m(o)s(cation)i(and)c(the)i(curren)m(t)630
-3039 y(time)30 b(are)g(alw)m(a)m(ys)g(determined)f(b)m(y)g(querying)g
+3098 y(time)30 b(are)g(alw)m(a)m(ys)g(determined)f(b)m(y)g(querying)g
(the)h(system)f(clo)s(c)m(k.)42 b(If)29 b Ft(SECONDS)e
-Fu(is)i(unset,)630 3148 y(it)i(loses)g(its)g(sp)s(ecial)g(prop)s
+Fu(is)i(unset,)630 3208 y(it)i(loses)g(its)g(sp)s(ecial)g(prop)s
(erties,)f(ev)m(en)h(if)f(it)h(is)g(subsequen)m(tly)e(reset.)150
-3313 y Ft(SHELL)240 b Fu(This)24 b(en)m(vironmen)m(t)i(v)-5
+3357 y Ft(SHELL)240 b Fu(This)24 b(en)m(vironmen)m(t)i(v)-5
b(ariable)26 b(expands)e(to)i(the)g(full)f(pathname)g(to)h(the)f
-(shell.)39 b(If)25 b(it)g(is)h(not)630 3422 y(set)36
+(shell.)39 b(If)25 b(it)g(is)h(not)630 3467 y(set)36
b(when)f(the)h(shell)g(starts,)i(Bash)e(assigns)h(to)f(it)h(the)f(full)
-f(pathname)h(of)g(the)g(curren)m(t)630 3532 y(user's)30
-b(login)h(shell.)150 3696 y Ft(SHELLOPTS)630 3806 y Fu(A)g
+f(pathname)h(of)g(the)g(curren)m(t)630 3577 y(user's)30
+b(login)h(shell.)150 3726 y Ft(SHELLOPTS)630 3836 y Fu(A)g
(colon-separated)h(list)f(of)g(enabled)f(shell)h(options.)41
b(Eac)m(h)31 b(w)m(ord)f(in)g(the)h(list)g(is)g(a)g(v)-5
-b(alid)630 3915 y(argumen)m(t)28 b(for)f(the)h Ft(-o)e
+b(alid)630 3945 y(argumen)m(t)28 b(for)f(the)h Ft(-o)e
Fu(option)i(to)g(the)g Ft(set)e Fu(builtin)h(command)g(\(see)i(Section)
-f(4.3.1)h([The)630 4025 y(Set)g(Builtin],)h(page)f(69\).)42
+f(4.3.1)h([The)630 4055 y(Set)g(Builtin],)h(page)f(69\).)42
b(The)28 b(options)h(app)s(earing)f(in)g Ft(SHELLOPTS)e
-Fu(are)j(those)h(rep)s(orted)630 4134 y(as)g(`)p Ft(on)p
+Fu(are)j(those)h(rep)s(orted)630 4164 y(as)g(`)p Ft(on)p
Fu(')f(b)m(y)h(`)p Ft(set)g(-o)p Fu('.)40 b(If)29 b(this)h(v)-5
b(ariable)30 b(is)g(in)f(the)h(en)m(vironmen)m(t)g(when)f(Bash)h
-(starts)g(up,)630 4244 y(eac)m(h)41 b(shell)e(option)h(in)f(the)h(list)
+(starts)g(up,)630 4274 y(eac)m(h)41 b(shell)e(option)h(in)f(the)h(list)
g(will)f(b)s(e)g(enabled)h(b)s(efore)f(reading)g(an)m(y)h(startup)f
-(\014les.)630 4354 y(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8
-b(.)150 4518 y Ft(SHLVL)240 b Fu(Incremen)m(ted)21 b(b)m(y)g(one)g(eac)
+(\014les.)630 4384 y(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8
+b(.)150 4533 y Ft(SHLVL)240 b Fu(Incremen)m(ted)21 b(b)m(y)g(one)g(eac)
m(h)h(time)f(a)h(new)e(instance)h(of)g(Bash)g(is)g(started.)38
-b(This)20 b(is)h(in)m(tended)630 4628 y(to)31 b(b)s(e)f(a)h(coun)m(t)g
+b(This)20 b(is)h(in)m(tended)630 4643 y(to)31 b(b)s(e)f(a)h(coun)m(t)g
(of)f(ho)m(w)h(deeply)f(y)m(our)g(Bash)h(shells)f(are)h(nested.)150
4792 y Ft(SRANDOM)144 b Fu(This)36 b(v)-5 b(ariable)37
b(expands)f(to)h(a)g(32-bit)h(pseudo-random)d(n)m(um)m(b)s(er)g(eac)m
(using)g(BASH_COMPAT\))705 3153 y Fq(\017)60 b Fu(The)23
b Ft(test)g Fu(builtin)g(uses)h(its)g(historical)h(algorithm)g(to)f
(parse)g(paren)m(thesized)g(sub)s(ex-)810 3263 y(pressions)30
-b(when)f(giv)m(en)i(\014v)m(e)g(or)f(more)h(argumen)m(ts.)p
-eop end
+b(when)f(giv)m(en)i(\014v)m(e)g(or)f(more)h(argumen)m(ts.)705
+3397 y Fq(\017)60 b Fu(If)25 b(the)h Ft(-p)f Fu(or)h
+Ft(-P)f Fu(option)h(is)g(supplied)e(to)j(the)f Ft(bind)e
+Fu(builtin,)i Ft(bind)f Fu(treats)i(an)m(y)f(argu-)810
+3507 y(men)m(ts)h(remaining)g(after)h(option)f(pro)s(cessing)g(as)g
+(bindable)f(command)h(names,)h(and)810 3616 y(displa)m(ys)k(an)m(y)f(k)
+m(ey)i(sequences)f(b)s(ound)d(to)j(those)g(commands,)g(instead)g(of)g
+(treating)810 3726 y(the)f(argumen)m(ts)f(as)h(k)m(ey)g(sequences)g(to)
+g(bind.)p eop end
%%Page: 118 124
TeXDict begin 118 123 bop 3614 -116 a Fu(118)150 299
y Fp(7)80 b(Job)54 b(Con)l(trol)150 518 y Fu(This)25
y Fe(help)11 b Fc(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b
-Fb(62)2025 1544 y Fe(history)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)
+Fb(63)2025 1544 y Fe(history)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(160)2021
1806 y Fs(J)2025 1924 y Fe(jobs)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h
b Fb(67)146 1090 y Fs(U)150 1206 y Fe(ulimit)6 b Fc(:)15
b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)20 b Fb(67)150 1293 y Fe(umask)9
+g(:)g(:)g(:)h(:)f(:)20 b Fb(68)150 1293 y Fe(umask)9
b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(56)150 1380 y
b Fb(91)150 1456 y Fe(PWD)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28
-b Fb(91)146 1689 y Fs(R)150 1804 y Fe(RANDOM)6 b Fc(:)15
+b Fb(92)146 1689 y Fs(R)150 1804 y Fe(RANDOM)6 b Fc(:)15
b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)20 b Fb(92)150 1892 y Fe(READLINE_ARGUMENT)12
@item ?
@vindex $?
($?) Expands to the exit status of the most recently executed foreground
-pipeline.
+command.
@item -
@vindex $-
@item bind
@btindex bind
@example
-bind [-m @var{keymap}] [-lpsvPSVX]
+bind [-m @var{keymap}] [-lsvSVX]
bind [-m @var{keymap}] [-q @var{function}] [-u @var{function}] [-r @var{keyseq}]
bind [-m @var{keymap}] -f @var{filename}
bind [-m @var{keymap}] -x @var{keyseq[: ]shell-command}
bind [-m @var{keymap}] @var{keyseq:function-name}
bind [-m @var{keymap}] @var{keyseq:readline-command}
+bind [-m @var{keymap}] -p|-P [@var{readline-command}]
bind @var{readline-command-line}
@end example
in such a way that they can be used as
an argument to a subsequent @code{bind} command
or in a Readline initialization file.
+If arguments remain after option processing, @code{bind} treats
+them as readline command names and restricts output to those names.
@item -P
List current Readline function names and bindings.
+If arguments remain after option processing, @code{bind} treats
+them as readline command names and restricts output to those names.
@item -v
Display Readline variable names and values
@item PIPESTATUS
An array variable (@pxref{Arrays})
containing a list of exit status values from the processes
-in the most-recently-executed foreground pipeline (which may
-contain only a single command).
+in the most-recently-executed foreground pipeline, which may
+consist of only a simple command
+(@pxref{Shell Commands}).
@item POSIXLY_CORRECT
If this variable is in the environment when Bash starts, the shell
@item
The @code{test} builtin uses its historical algorithm to parse parenthesized
subexpressions when given five or more arguments.
+@item
+If the @option{-p} or @option{-P} option is supplied to the @code{bind} builtin,
+@code{bind} treats any arguments remaining after option processing
+as bindable command names, and
+displays any key sequences bound to those commands, instead of treating
+the arguments as key sequences to bind.
@end itemize
@end table
\entry{PS0}{91}{\code {PS0}}
\entry{PS3}{91}{\code {PS3}}
\entry{PS4}{91}{\code {PS4}}
-\entry{PWD}{91}{\code {PWD}}
+\entry{PWD}{92}{\code {PWD}}
\entry{RANDOM}{92}{\code {RANDOM}}
\entry{READLINE_ARGUMENT}{92}{\code {READLINE_ARGUMENT}}
\entry{READLINE_LINE}{92}{\code {READLINE_LINE}}
\entry{\code {PS2}}{81}
\entry{\code {PS3}}{91}
\entry{\code {PS4}}{91}
-\entry{\code {PWD}}{91}
+\entry{\code {PWD}}{92}
\initial {R}
\entry{\code {RANDOM}}{92}
\entry{\code {READLINE_ARGUMENT}}{92}
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\blp\bps\bsv\bvP\bPS\bSV\bVX\bX]
+ 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-q\bq _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn] [-\b-u\bu _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn] [-\b-r\br _\bk_\be_\by_\bs_\be_\bq]
b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] -\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] -\b-x\bx _\bk_\be_\by_\bs_\be_\bq[:] _\bs_\bh_\be_\bl_\bl_\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:_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be
+ 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
_\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 re-read.
- -\b-P\bP List current r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings.
- -\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 re-
+ way that they can be re-read. 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
+ 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 re-
read.
- -\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 re-read.
-\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
-\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 quotes. When _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\b-
- _\bm_\ba_\bn_\bd is executed, the shell sets the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE vari-
- able to the contents of the r\bre\bea\bad\bdl\bli\bin\bne\be line buffer and the
+ 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 quotes. When _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\b-
+ _\bm_\ba_\bn_\bd is executed, the shell sets the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE vari-
+ able 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\bU-\b-
- M\bME\bEN\bNT\bT variable. If there was no argument, that variable
+ 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\bU-\b-
+ M\bME\bEN\bNT\bT variable. If there was no argument, 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\bDL\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,
+ any of R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE, R\bRE\bEA\bAD\bDL\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
+ -\b-X\bX List all key sequences bound to shell commands and the
associated commands in a format that can be reused as in-
put.
- The return value is 0 unless an unrecognized option is given or
+ The return value is 0 unless an unrecognized option is given 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
- specified, break _\bn levels. _\bn must be >= 1. If _\bn is greater
- than the number of enclosing loops, all enclosing loops are ex-
- ited. The return value is 0 unless _\bn is not greater than or
+ 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, break _\bn levels. _\bn must be >= 1. If _\bn is greater
+ than the number of enclosing loops, all enclosing loops are ex-
+ ited. 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, passing it _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, and
+ Execute the specified shell builtin, 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 func-
+ whose name is the same as a shell builtin, retaining the func-
tionality of the builtin within the function. The c\bcd\bd builtin is
- commonly redefined this way. The return status is false if
+ commonly redefined this way. The return status 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). With-
out _\be_\bx_\bp_\br, c\bca\bal\bll\ble\ber\br displays the line number and source filename of
- the current subroutine call. If a non-negative integer is sup-
+ the current subroutine call. If a non-negative integer is sup-
plied 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 current
- 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
+ and source file corresponding to that position in the current
+ execution call stack. This extra information may be used, for
+ example, to print a stack trace. The current frame is frame 0.
+ 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 the default. The vari-
+ 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 the default. The vari-
able C\bCD\bDP\bPA\bAT\bTH\bH defines the search path for the directory containing
- _\bd_\bi_\br: the shell searches each directory name in C\bCD\bDP\bPA\bAT\bTH\bH for _\bd_\bi_\br.
- Alternative directory names in C\bCD\bDP\bPA\bAT\bTH\bH are separated by a colon
+ _\bd_\bi_\br: the shell searches each directory name in C\bCD\bDP\bPA\bAT\bTH\bH for _\bd_\bi_\br.
+ Alternative directory names in C\bCD\bDP\bPA\bAT\bTH\bH are separated by a colon
(:). A null directory name in C\bCD\bDP\bPA\bAT\bTH\bH is 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
+ 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 by resolving symbolic links while traversing _\bd_\bi_\br and
+ structure by resolving symbolic links while traversing _\bd_\bi_\br and
before processing 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 link after processing instances
+ 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 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 success-
- fully determined after a successful directory change, c\bcd\bd will
- return an unsuccessful status. 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
+ 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 success-
+ fully determined after a successful directory change, c\bcd\bd will
+ return an unsuccessful status. 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 the directory change is attempted. If a non-empty direc-
- tory name from C\bCD\bDP\bPA\bAT\bTH\bH is used, or if -\b- is the first argument,
+ tory name from C\bCD\bDP\bPA\bAT\bTH\bH is used, or if -\b- is the first argument,
and the directory change is successful, the absolute pathname of
the new working directory is written to the standard output. 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
- directory before the change. The return value is true if the
+ 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
+ directory before the change. The return value is true if the
directory was successfully changed; false otherwise.
c\bco\bom\bmm\bma\ban\bnd\bd [-\b-p\bpV\bVv\bv] _\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg ...]
- Run _\bc_\bo_\bm_\bm_\ba_\bn_\bd with _\ba_\br_\bg_\bs suppressing the normal shell function
+ Run _\bc_\bo_\bm_\bm_\ba_\bn_\bd with _\ba_\br_\bg_\bs suppressing the normal shell function
lookup. Only builtin commands or commands found in the P\bPA\bAT\bTH\bH are
- executed. If the -\b-p\bp option is given, the search for _\bc_\bo_\bm_\bm_\ba_\bn_\bd is
- performed using a default value for P\bPA\bAT\bTH\bH that is guaranteed to
- find all of the standard utilities. If either the -\b-V\bV or -\b-v\bv op-
- tion is supplied, a description of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is printed. The -\b-v\bv
- option causes a single word indicating the command or filename
+ executed. If the -\b-p\bp option is given, the search for _\bc_\bo_\bm_\bm_\ba_\bn_\bd is
+ performed using a default value for P\bPA\bAT\bTH\bH that is guaranteed to
+ find all of the standard utilities. If either the -\b-V\bV or -\b-v\bv op-
+ tion is supplied, a description of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is printed. The -\b-v\bv
+ option causes a single word indicating the command or filename
used to invoke _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be displayed; the -\b-V\bV option produces a
- more verbose description. If the -\b-V\bV or -\b-v\bv option is supplied,
- the exit status is 0 if _\bc_\bo_\bm_\bm_\ba_\bn_\bd was found, and 1 if not. If
+ more verbose description. If the -\b-V\bV or -\b-v\bv option is supplied,
+ the exit status is 0 if _\bc_\bo_\bm_\bm_\ba_\bn_\bd was found, and 1 if not. If
neither option is supplied and an error occurred or _\bc_\bo_\bm_\bm_\ba_\bn_\bd can-
- not be found, the exit status is 127. Otherwise, the exit sta-
+ not be found, the exit status is 127. Otherwise, the exit sta-
tus of the c\bco\bom\bmm\bma\ban\bnd\bd builtin is the exit status of _\bc_\bo_\bm_\bm_\ba_\bn_\bd.
c\bco\bom\bmp\bpg\bge\ben\bn [-\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 sup-
+ the matches to the standard output. If the -\b-V\bV option is sup-
plied, c\bco\bom\bmp\bpg\bge\ben\bn stores the generated completions 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 by the programmable completion facilities, while
+ 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 by the programmable completion facilities, while
available, will not have useful values.
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,
+ tion specification with the same flags. If _\bw_\bo_\br_\bd is specified,
only those completions matching _\bw_\bo_\br_\bd will be displayed.
- The return value is true unless an invalid option is supplied,
+ The return value is true unless an invalid option is supplied,
or no matches were generated.
c\bco\bom\bmp\bpl\ble\bet\bte\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]
[-\b-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt] [-\b-W\bW _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt] [-\b-F\bF _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn] [-\b-C\bC _\bc_\bo_\bm_\bm_\ba_\bn_\bd]
[-\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt] [-\b-P\bP _\bp_\br_\be_\bf_\bi_\bx] [-\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx] _\bn_\ba_\bm_\be [_\bn_\ba_\bm_\be ...]
c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-p\bpr\br [-\b-D\bDE\bEI\bI] [_\bn_\ba_\bm_\be ...]
- 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 supplied,
+ 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 supplied,
existing completion specifications are printed in a way that al-
- lows 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-
- plied, all completion specifications. The -\b-D\bD option indicates
+ lows 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-
+ plied, all completion specifications. The -\b-D\bD option indicates
that other supplied options and actions should apply to the com-
- mand completion; that is, completion attempted on a command for
- which no completion has previously been defined. The -\b-E\bE option
- indicates that other supplied options and actions should apply
- to command completion; that is, completion attempted on a blank
- line. The -\b-I\bI option indicates that other supplied options and
+ mand completion; that is, completion attempted on a command for
+ which no completion has previously been defined. The -\b-E\bE option
+ indicates that other supplied options and actions should apply
+ to command completion; 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 usually 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,
+ word on the line, or after a command delimiter such as ;\b; or |\b|,
+ which is usually 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 ap-
ply to the case specified by the option.
- The process of applying these completion specifications when
+ The process of applying these completion specifications when
word completion is attempted is described in _\bb_\ba_\bs_\bh(1).
- 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 readline's default filename completion if
+ d\bde\bef\bfa\bau\bul\blt\bt Use readline's default filename completion if
the compspec generates no matches.
d\bdi\bir\brn\bna\bam\bme\bes\bs
- Perform directory name completion if the comp-
+ Perform directory name completion if the comp-
spec generates no matches.
f\bfi\bil\ble\ben\bna\bam\bme\bes\bs
- Tell readline that the compspec generates file-
- names, so it can perform any filename-specific
- processing (like adding a slash to directory
- names, quoting special characters, or suppress-
- ing trailing spaces). Intended to be used with
+ Tell readline that the compspec generates file-
+ names, so it can perform any filename-specific
+ processing (like adding a slash to directory
+ names, quoting special characters, or suppress-
+ ing trailing spaces). Intended to be used with
shell functions.
f\bfu\bul\bll\blq\bqu\buo\bot\bte\be
- Tell readline to quote all the completed words
+ Tell readline to quote all the completed words
even if they are not filenames.
- n\bno\boq\bqu\buo\bot\bte\be Tell readline not to quote the completed words
- if they are filenames (quoting filenames is the
+ n\bno\boq\bqu\buo\bot\bte\be Tell readline not to quote the completed words
+ if they are filenames (quoting filenames is the
default).
- n\bno\bos\bso\bor\brt\bt Tell readline not to sort the list of possible
+ n\bno\bos\bso\bor\brt\bt Tell readline not to sort the list of possible
completions alphabetically.
- n\bno\bos\bsp\bpa\bac\bce\be Tell readline 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 readline 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 any matches defined by the compspec are
+ After any matches defined by the compspec are
generated, directory name completion is at-
tempted and any matches are added to the results
of the other actions.
-\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn
- The _\ba_\bc_\bt_\bi_\bo_\bn may be one of the following to generate a
+ The _\ba_\bc_\bt_\bi_\bo_\bn may be one of the following to generate a
list of possible completions:
a\bal\bli\bia\bas\bs Alias names. May also be specified as -\b-a\ba.
a\bar\brr\bra\bay\byv\bva\bar\br
Array variable names.
b\bbi\bin\bnd\bdi\bin\bng\bg R\bRe\bea\bad\bdl\bli\bin\bne\be key binding names.
- b\bbu\bui\bil\blt\bti\bin\bn Names of shell builtin commands. May also be
+ b\bbu\bui\bil\blt\bti\bin\bn Names of shell builtin commands. May also be
specified as -\b-b\bb.
c\bco\bom\bmm\bma\ban\bnd\bd Command names. May also be specified as -\b-c\bc.
d\bdi\bir\bre\bec\bct\bto\bor\bry\by
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-
- rent command line. When it finishes, the possible com-
- pletions are retrieved from the value of the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
+ the word preceding the word being completed on the cur-
+ rent command line. When it finishes, the possible com-
+ pletions are retrieved from the value of the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
array variable.
-\b-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt
- The pathname expansion pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt is expanded to
+ The pathname expansion pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt is expanded to
generate the possible completions.
-\b-P\bP _\bp_\br_\be_\bf_\bi_\bx
- _\bp_\br_\be_\bf_\bi_\bx is added at the beginning of each possible com-
+ _\bp_\br_\be_\bf_\bi_\bx is added at the beginning of each possible com-
pletion after all other options have been applied.
-\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx
_\bs_\bu_\bf_\bf_\bi_\bx is appended to each possible completion after all
other options have been applied.
-\b-W\bW _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
- The _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt is split using the characters in the I\bIF\bFS\bS
- special variable as delimiters, and each resultant word
- is expanded. Shell quoting is honored within _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt,
+ The _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt is split using the characters in the I\bIF\bFS\bS
+ special variable as delimiters, and each resultant word
+ is expanded. Shell quoting is honored within _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt,
in order 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-
+ 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 the word being completed.
-\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 given, display the completion op-
- tions 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 op-
- tions should apply to the command completion; that is, comple-
- tion attempted on a command for which no completion has previ-
+ supplied. If no _\bo_\bp_\bt_\bi_\bo_\bns are given, display the completion op-
+ tions 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 op-
+ tions should apply to the command completion; that is, comple-
+ tion attempted on a command for which no completion has previ-
ously been defined. The -\b-E\bE option indicates that other supplied
- options should apply to command completion; that is, completion
- attempted on a blank line. The -\b-I\bI option indicates that other
- supplied options should apply to completion on the initial non-
- assignment word on the line, or after a command delimiter such
+ options should apply to command completion; that is, completion
+ attempted on a blank line. The -\b-I\bI option indicates that other
+ supplied options should apply to completion on the initial non-
+ assignment word on the line, or after a command delimiter such
as ;\b; or |\b|, which is usually command name completion.
- The return value is true unless an invalid option is supplied,
+ The return value is true unless an invalid option is supplied,
an attempt is made to modify the options for a _\bn_\ba_\bm_\be for which no
completion specification exists, or an output error occurs.
c\bco\bon\bnt\bti\bin\bnu\bue\be [_\bn]
Resume the next iteration of the enclosing f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or
- s\bse\bel\ble\bec\bct\bt loop. If _\bn is specified, resume at the _\bnth enclosing
- loop. _\bn must be >= 1. If _\bn is greater than the number of en-
- closing loops, the shell resumes the last enclosing loop (the
- loop). The return value is 0 unless _\bn is not greater than or
+ s\bse\bel\ble\bec\bct\bt loop. If _\bn is specified, resume at the _\bnth enclosing
+ loop. _\bn must be >= 1. If _\bn is greater than the number of en-
+ closing loops, the shell resumes the last enclosing loop (the
+ 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
- given then display the values of variables. The -\b-p\bp option will
+ Declare variables and/or give them attributes. If no _\bn_\ba_\bm_\bes are
+ given then display the values of variables. The -\b-p\bp option will
display the attributes and values of each _\bn_\ba_\bm_\be. When -\b-p\bp is used
- with _\bn_\ba_\bm_\be arguments, additional options, other than -\b-f\bf and -\b-F\bF,
- are ignored. When -\b-p\bp is supplied without _\bn_\ba_\bm_\be arguments, it
- will display the attributes and values of all variables having
+ 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, it
+ will display the attributes and values of all variables having
the attributes specified by the additional options. If no other
- options are supplied with -\b-p\bp, d\bde\bec\bcl\bla\bar\bre\be will display the attrib-
- utes and values of all shell variables. The -\b-f\bf option will re-
- strict the display to shell functions. The -\b-F\bF option inhibits
- the display of function definitions; only the function name and
+ options are supplied with -\b-p\bp, d\bde\bec\bcl\bla\bar\bre\be will display the attrib-
+ utes and values of all shell variables. The -\b-f\bf option will re-
+ strict 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 -\b-F\bF option implies
+ 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 global scope, even when d\bde\bec\bcl\bla\bar\bre\be is executed in a shell func-
- tion. It is ignored in all other cases. The -\b-I\bI option causes
- local variables to inherit the attributes (except the _\bn_\ba_\bm_\be_\br_\be_\bf
+ tion. It is ignored in all other cases. 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 variable with the same _\bn_\ba_\bm_\be
- at a surrounding scope. If there is no existing variable, the
+ 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 variables with the specified at-
+ used to restrict output to variables with the specified at-
tribute or to give variables attributes:
- -\b-a\ba Each _\bn_\ba_\bm_\be is an indexed array variable (see A\bAr\brr\bra\bay\bys\bs in
+ -\b-a\ba Each _\bn_\ba_\bm_\be is an indexed array variable (see A\bAr\brr\bra\bay\bys\bs in
_\bb_\ba_\bs_\bh(1)).
-\b-A\bA Each _\bn_\ba_\bm_\be is an associative array variable (see A\bAr\brr\bra\bay\bys\bs in
_\bb_\ba_\bs_\bh(1)).
-\b-f\bf Use function names only.
-\b-i\bi The variable is treated as an integer; arithmetic evalua-
- tion (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN in _\bb_\ba_\bs_\bh(1)) is performed
+ tion (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN in _\bb_\ba_\bs_\bh(1)) 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 _\bn_\ba_\bm_\bes for export to subsequent commands via the en-
+ -\b-x\bx Mark _\bn_\ba_\bm_\bes for export to subsequent commands via the en-
vironment.
- Using instead of turns off the attribute instead, with the ex-
- ceptions that +\b+a\ba and +\b+A\bA may not be used to destroy array vari-
- ables and +\b+r\br will not remove the readonly attribute. When used
+ Using instead of turns off the attribute instead, with the ex-
+ ceptions that +\b+a\ba and +\b+A\bA may not be used to destroy array vari-
+ ables and +\b+r\br will not remove the readonly attribute. When used
in a function, d\bde\bec\bcl\bla\bar\bre\be and t\bty\byp\bpe\bes\bse\bet\bt make each _\bn_\ba_\bm_\be local, as with
the l\blo\boc\bca\bal\bl command, unless the -\b-g\bg option is supplied. If a vari-
- able name is followed by =_\bv_\ba_\bl_\bu_\be, the value of the variable is
- set to _\bv_\ba_\bl_\bu_\be. When using -\b-a\ba or -\b-A\bA and the compound assignment
- syntax to create array variables, additional attributes do not
+ able 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 compound 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 an attempt is made to assign a value to
- a readonly variable, an attempt is made to assign a value to an
+ unless an invalid option is encountered, an attempt is made to
+ define a function using an attempt is made to assign a value to
+ a readonly variable, an attempt is made to assign a value to an
array variable without using the compound assignment syntax (see
- A\bAr\brr\bra\bay\bys\bs in _\bb_\ba_\bs_\bh(1)), one of the _\bn_\ba_\bm_\be_\bs is not a valid shell vari-
- able name, an attempt is made to turn off readonly status for a
- readonly variable, an attempt is made to turn off array status
- for an array variable, or an attempt is made to display a non-
+ A\bAr\brr\bra\bay\bys\bs in _\bb_\ba_\bs_\bh(1)), one of the _\bn_\ba_\bm_\be_\bs is not a valid shell vari-
+ able name, an attempt is made to turn off readonly status for a
+ readonly variable, an attempt is made to turn off array status
+ for an array variable, or an attempt is made to display a non-
existent function with -\b-f\bf.
d\bdi\bir\brs\bs [\b[-\b-c\bcl\blp\bpv\bv]\b] [\b[+\b+_\bn]\b] [\b[-\b-_\bn]\b]
- Without options, displays the list of currently remembered di-
- rectories. The default display is on a single line with direc-
- tory 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
+ Without options, displays the list of currently remembered di-
+ rectories. The default display is on a single line with direc-
+ tory 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 direc-
tory in the stack.
- -\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] [_\bj_\bo_\bb_\bs_\bp_\be_\bc ... | _\bp_\bi_\bd ... ]
- Without options, remove each _\bj_\bo_\bb_\bs_\bp_\be_\bc from the table of active
- jobs. If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, and neither the -\b-a\ba nor the -\b-r\br
- option is supplied, the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used. If the -\b-h\bh option
- is given, each _\bj_\bo_\bb_\bs_\bp_\be_\bc is not removed from the table, but is
- marked so that S\bSI\bIG\bGH\bHU\bUP\bP is not sent to the job if the shell re-
+ Without options, remove each _\bj_\bo_\bb_\bs_\bp_\be_\bc from the table of active
+ jobs. If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, and neither the -\b-a\ba nor the -\b-r\br
+ option is supplied, the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used. If the -\b-h\bh option
+ is given, each _\bj_\bo_\bb_\bs_\bp_\be_\bc is not removed from the table, but is
+ marked so that S\bSI\bIG\bGH\bHU\bUP\bP is not sent to the job if the shell re-
ceives a S\bSI\bIG\bGH\bHU\bUP\bP. If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied, the -\b-a\ba option means
- to remove or mark all jobs; the -\b-r\br option without a _\bj_\bo_\bb_\bs_\bp_\be_\bc ar-
+ to remove or mark all jobs; the -\b-r\br option without a _\bj_\bo_\bb_\bs_\bp_\be_\bc ar-
gument restricts operation to running jobs. The return value is
0 unless a _\bj_\bo_\bb_\bs_\bp_\be_\bc does not specify a valid job.
e\bec\bch\bho\bo [-\b-n\bne\beE\bE] [_\ba_\br_\bg ...]
- Output the _\ba_\br_\bgs, separated by spaces, followed by a newline.
- The return status is 0 unless a write error occurs. If -\b-n\bn is
+ Output the _\ba_\br_\bgs, separated by spaces, followed by a newline.
+ The return status is 0 unless a write error occurs. If -\b-n\bn is
specified, the trailing newline is suppressed. If the -\b-e\be option
- is given, interpretation of the following backslash-escaped
- characters is enabled. The -\b-E\bE option disables the interpreta-
- tion of these escape characters, even on systems where they are
- interpreted by default. The x\bxp\bpg\bg_\b_e\bec\bch\bho\bo shell option may be used
- to dynamically determine whether or not e\bec\bch\bho\bo interprets any op-
+ is given, interpretation of the following backslash-escaped
+ characters is enabled. The -\b-E\bE option disables the interpreta-
+ tion of these escape characters, even on systems where they are
+ interpreted by default. The x\bxp\bpg\bg_\b_e\bec\bch\bho\bo shell option may be used
+ to dynamically determine whether or not e\bec\bch\bho\bo interprets any op-
tions and expands these escape characters by default. e\bec\bch\bho\bo does
- not interpret -\b--\b- to mean the end of options. e\bec\bch\bho\bo interprets
+ not interpret -\b--\b- to mean the end of options. e\bec\bch\bho\bo interprets
the following escape sequences:
\\b\a\ba alert (bell)
\\b\b\bb backspace
\\b\t\bt horizontal tab
\\b\v\bv vertical tab
\\b\\\b\ backslash
- \\b\0\b0_\bn_\bn_\bn the eight-bit character whose value is the octal value
+ \\b\0\b0_\bn_\bn_\bn the eight-bit character whose value is the octal value
_\bn_\bn_\bn (zero to three octal digits)
- \\b\x\bx_\bH_\bH the eight-bit character whose value is the hexadecimal
+ \\b\x\bx_\bH_\bH the eight-bit character whose value is the hexadecimal
value _\bH_\bH (one or two hex digits)
- \\b\u\bu_\bH_\bH_\bH_\bH the Unicode (ISO/IEC 10646) character whose value is the
+ \\b\u\bu_\bH_\bH_\bH_\bH the Unicode (ISO/IEC 10646) character whose value is the
hexadecimal value _\bH_\bH_\bH_\bH (one to four hex digits)
\\b\U\bU_\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH
- the Unicode (ISO/IEC 10646) character whose value is the
+ the Unicode (ISO/IEC 10646) character whose value is the
hexadecimal value _\bH_\bH_\bH_\bH_\bH_\bH_\bH_\bH (one to eight hex digits)
e\ben\bna\bab\bbl\ble\be [-\b-a\ba] [-\b-d\bdn\bnp\bps\bs] [-\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [_\bn_\ba_\bm_\be ...]
- Enable and disable builtin shell commands. Disabling a builtin
+ Enable and disable builtin shell commands. Disabling a builtin
allows a disk command which has the same name as a shell builtin
- to be executed without specifying a full pathname, even though
- the shell normally searches for builtins before disk commands.
- If -\b-n\bn is used, each _\bn_\ba_\bm_\be is disabled; otherwise, _\bn_\ba_\bm_\be_\bs are en-
- abled. For example, to use the t\bte\bes\bst\bt binary found via the P\bPA\bAT\bTH\bH
+ to be executed without specifying a full pathname, even though
+ the shell normally searches for builtins before disk commands.
+ If -\b-n\bn is used, each _\bn_\ba_\bm_\be is disabled; otherwise, _\bn_\ba_\bm_\be_\bs are en-
+ abled. For example, to use the t\bte\bes\bst\bt binary found via the P\bPA\bAT\bTH\bH
instead of the shell builtin version, run 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. 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
+ 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. 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, if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
- does not contain a slash. The default 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 no
- _\bn_\ba_\bm_\be arguments are given, or if the -\b-p\bp option is supplied, a
- list of shell builtins is printed. With no other option argu-
- ments, the list consists of all enabled shell builtins. If -\b-n\bn
- is supplied, only disabled builtins are printed. If -\b-a\ba is sup-
- plied, the list printed includes all builtins, with an indica-
- tion of whether or not each is enabled. If -\b-s\bs is supplied, the
- output is restricted to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins. If no op-
- tions are supplied and a _\bn_\ba_\bm_\be is not a shell builtin, e\ben\bna\bab\bbl\ble\be
+ does not contain a slash. The default 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 no
+ _\bn_\ba_\bm_\be arguments are given, or if the -\b-p\bp option is supplied, a
+ list of shell builtins is printed. With no other option argu-
+ ments, the list consists of all enabled shell builtins. If -\b-n\bn
+ is supplied, only disabled builtins are printed. If -\b-a\ba is sup-
+ plied, the list printed includes all builtins, with an indica-
+ tion of whether or not each is enabled. If -\b-s\bs is supplied, the
+ output is restricted to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins. If no op-
+ tions 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 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
+ the command were The return value is 0 unless a _\bn_\ba_\bm_\be is not a
+ shell builtin or there is an error loading a new builtin from a
shared object.
e\bev\bva\bal\bl [_\ba_\br_\bg ...]
- The _\ba_\br_\bgs are read and concatenated together into a single com-
- mand. This command is then read and executed by the shell, and
- its exit status is returned as the value of e\bev\bva\bal\bl. If there are
+ The _\ba_\br_\bgs are read and concatenated together into a single com-
+ mand. This command is then read and executed by the shell, and
+ its exit status is returned as the value of e\bev\bva\bal\bl. If there are
no _\ba_\br_\bg_\bs, or only null arguments, e\bev\bva\bal\bl returns 0.
e\bex\bxe\bec\bc [-\b-c\bcl\bl] [-\b-a\ba _\bn_\ba_\bm_\be] [_\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]]
- If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell. No new process
- is created. The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd. If
+ If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell. No new process
+ is created. The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd. If
the -\b-l\bl option is supplied, the shell places a dash at the begin-
ning of the zeroth argument passed to _\bc_\bo_\bm_\bm_\ba_\bn_\bd. This is what _\bl_\bo_\b-
- _\bg_\bi_\bn(1) does. The -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed with
- an empty environment. If -\b-a\ba is supplied, the shell passes _\bn_\ba_\bm_\be
+ _\bg_\bi_\bn(1) does. The -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed with
+ an empty environment. If -\b-a\ba is supplied, the shell passes _\bn_\ba_\bm_\be
as the zeroth argument to the executed command. If _\bc_\bo_\bm_\bm_\ba_\bn_\bd can-
- not be executed for some reason, a non-interactive shell exits,
- unless the e\bex\bxe\bec\bcf\bfa\bai\bil\bl shell option is enabled. In that case, it
- returns failure. An interactive shell returns failure if the
- file cannot be executed. 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
+ not be executed for some reason, a non-interactive shell exits,
+ unless the e\bex\bxe\bec\bcf\bfa\bai\bil\bl shell option is enabled. In that case, it
+ returns failure. An interactive shell returns failure if the
+ file cannot be executed. 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 redirection error, the return status is 1.
e\bex\bxi\bit\bt [_\bn]
- Cause the shell to exit with a status of _\bn. If _\bn is omitted,
+ Cause the shell to exit with a status of _\bn. If _\bn is omitted,
the exit status is that of the last command executed. A trap on
E\bEX\bXI\bIT\bT is executed before the shell terminates.
e\bex\bxp\bpo\bor\brt\bt [-\b-f\bfn\bn] [_\bn_\ba_\bm_\be[=_\bw_\bo_\br_\bd]] ...
e\bex\bxp\bpo\bor\brt\bt -\b-p\bp
- The supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the envi-
- ronment of subsequently executed commands. If the -\b-f\bf option is
- given, the _\bn_\ba_\bm_\be_\bs refer to functions. If no _\bn_\ba_\bm_\be_\bs are given, or
- if the -\b-p\bp option is supplied, a list of names of all exported
- variables is printed. The -\b-n\bn option causes the export property
+ The supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the envi-
+ ronment of subsequently executed commands. If the -\b-f\bf option is
+ given, the _\bn_\ba_\bm_\be_\bs refer to functions. If no _\bn_\ba_\bm_\be_\bs are given, or
+ if the -\b-p\bp option is supplied, a list of names of all exported
+ variables is printed. The -\b-n\bn option causes the export property
to be removed from each _\bn_\ba_\bm_\be. If a variable name is followed by
=_\bw_\bo_\br_\bd, the value of the variable is set to _\bw_\bo_\br_\bd. e\bex\bxp\bpo\bor\brt\bt returns
an exit status of 0 unless an invalid option is encountered, one
- of the _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, or -\b-f\bf is sup-
+ of the _\bn_\ba_\bm_\be_\bs is not a valid shell variable name, or -\b-f\bf is sup-
plied with a _\bn_\ba_\bm_\be that is not a function.
f\bfa\bal\bls\bse\be Does nothing, returns a non-zero status.
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
- 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); otherwise 0 is
- equivalent to -1 and -0 is invalid. If _\bl_\ba_\bs_\bt is not specified,
+ 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); otherwise 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 prints the
last 10 commands) and to _\bf_\bi_\br_\bs_\bt otherwise. If _\bf_\bi_\br_\bs_\bt is not spec-
ified, it is set to the previous command for editing and -16 for
listing.
- The -\b-n\bn option suppresses the command numbers when listing. The
- -\b-r\br option reverses the order of the commands. If the -\b-l\bl option
- is given, the commands are listed on standard output. Other-
- wise, the editor given by _\be_\bn_\ba_\bm_\be is invoked on a file containing
- those commands. If _\be_\bn_\ba_\bm_\be is not given, the value of the F\bFC\bCE\bED\bDI\bIT\bT
- variable is used, 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, _\bv_\bi is used. When editing is com-
+ The -\b-n\bn option suppresses the command numbers when listing. The
+ -\b-r\br option reverses the order of the commands. If the -\b-l\bl option
+ is given, the commands are listed on standard output. Other-
+ wise, the editor given by _\be_\bn_\ba_\bm_\be is invoked on a file containing
+ those commands. If _\be_\bn_\ba_\bm_\be is not given, the value of the F\bFC\bCE\bED\bDI\bIT\bT
+ variable is used, 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, _\bv_\bi is used. When editing is com-
plete, the edited commands are echoed and executed.
- In the second form, _\bc_\bo_\bm_\bm_\ba_\bn_\bd is re-executed after each instance
- of _\bp_\ba_\bt is replaced by _\br_\be_\bp. _\bC_\bo_\bm_\bm_\ba_\bn_\bd is interpreted the same as
- _\bf_\bi_\br_\bs_\bt above. A useful alias to use with this is so that typing
- runs the last command beginning with and typing re-executes the
+ In the second form, _\bc_\bo_\bm_\bm_\ba_\bn_\bd is re-executed after each instance
+ of _\bp_\ba_\bt is replaced by _\br_\be_\bp. _\bC_\bo_\bm_\bm_\ba_\bn_\bd is interpreted the same as
+ _\bf_\bi_\br_\bs_\bt above. A useful alias to use with this is so that typing
+ runs the last command beginning with and typing re-executes the
last command.
- If the first form is used, the return value is 0 unless an in-
- valid option is encountered or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt specify history
- lines out of range. If the -\b-e\be option is supplied, the return
+ If the first form is used, the return value is 0 unless an in-
+ valid option is encountered or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt specify history
+ lines out of range. If the -\b-e\be option is supplied, the return
value is the value of the last command executed or failure if an
error occurs with the temporary file of commands. If the second
- form is used, the return status is that of the command re-exe-
- cuted, unless _\bc_\bm_\bd does not specify a valid history line, in
+ form is used, the return status is that of the command re-exe-
+ cuted, unless _\bc_\bm_\bd does not specify a valid history line, in
which case f\bfc\bc returns failure.
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.
+ 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, the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb
- is used. The return value is that of the command placed into
- the foreground, or failure if run when job control is disabled
+ is used. 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 spec-
- ify a valid job or _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies a job that was started
+ ify 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 procedures to parse positional parame-
- ters. _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg contains the option characters to be recog-
- nized; if a character is followed by a colon, the option is ex-
+ g\bge\bet\bto\bop\bpt\bts\bs is used by shell procedures to parse positional parame-
+ ters. _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg contains the option characters to be recog-
+ nized; if a character is followed by a colon, the option is ex-
pected to have 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 shell variable _\bn_\ba_\bm_\be, initializing
+ 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 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 op-
tion 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 manually reset between multiple calls to g\bge\bet\bto\bop\bpt\bts\bs
- within the same shell invocation if a new set of parameters is
+ it must be manually reset between multiple calls to g\bge\bet\bto\bop\bpt\bts\bs
+ within the same shell invocation if a new set of parameters is
to be used.
When the end of options is encountered, g\bge\bet\bto\bop\bpt\bts\bs exits with a re-
turn 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, _\bs_\bi_\bl_\be_\bn_\bt error reporting is used. In
- normal operation, diagnostic messages are printed when invalid
- options or missing option arguments are encountered. If the
- variable O\bOP\bPT\bTE\bER\bRR\bR is set to 0, no error messages will be dis-
+ g\bge\bet\bto\bop\bpt\bts\bs can report errors in two ways. If the first character
+ of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is a colon, _\bs_\bi_\bl_\be_\bn_\bt error reporting is used. In
+ normal operation, diagnostic messages are printed when invalid
+ options or missing option arguments are encountered. If the
+ variable O\bOP\bPT\bTE\bER\bRR\bR is set to 0, no error messages will be dis-
played, even if the first character of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is not a colon.
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, the full pathname of the command _\bn_\ba_\bm_\be
- is determined by searching the directories in $\b$P\bPA\bAT\bTH\bH and remem-
+ is determined by searching the directories in $\b$P\bPA\bAT\bTH\bH and remem-
bered. Any previously-remembered pathname is discarded. If the
- -\b-p\bp option is supplied, h\bha\bas\bsh\bh uses _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be as the full filename
- of the command. The -\b-r\br option causes the shell to forget all
- remembered locations. 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 remembered location of each _\bn_\ba_\bm_\be. If the -\b-t\bt option
+ -\b-p\bp option is supplied, h\bha\bas\bsh\bh uses _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be as the full filename
+ of the command. The -\b-r\br option causes the shell to forget all
+ remembered locations. 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 remembered location of each _\bn_\ba_\bm_\be. If the -\b-t\bt option
is supplied, the full pathname to which each _\bn_\ba_\bm_\be corresponds is
- printed. If multiple _\bn_\ba_\bm_\be arguments are supplied with -\b-t\bt, the
- _\bn_\ba_\bm_\be is printed before the hashed full pathname. The -\b-l\bl option
- causes output to be displayed in a format that may be reused as
- input. If no arguments are given, or if only -\b-l\bl is supplied,
- information about remembered commands is printed. The -\b-t\bt, -\b-d\bd,
- and -\b-p\bp options (the options that act on the _\bn_\ba_\bm_\be arguments) are
- mutually exclusive. Only one will be active. If more than one
+ printed. If multiple _\bn_\ba_\bm_\be arguments are supplied with -\b-t\bt, the
+ _\bn_\ba_\bm_\be is printed before the hashed full pathname. The -\b-l\bl option
+ causes output to be displayed in a format that may be reused as
+ input. If no arguments are given, or if only -\b-l\bl is supplied,
+ information about remembered commands is printed. The -\b-t\bt, -\b-d\bd,
+ and -\b-p\bp options (the options that act on the _\bn_\ba_\bm_\be arguments) are
+ mutually exclusive. Only one will be active. If more than one
is supplied, -\b-t\bt has higher priority than -\b-p\bp, and both are higher
- priority than -\b-d\bd. The return status is true unless a _\bn_\ba_\bm_\be is
+ priority than -\b-d\bd. The return status is true unless a _\bn_\ba_\bm_\be is
not found or an invalid 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 help for all the builtins and shell control
+ 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 help for all the builtins and shell control
structures is printed.
-\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-s\bs _\ba_\br_\bg [_\ba_\br_\bg ...]
With no options, display the command history list with line num-
bers. Lines listed with a *\b* have been modified. An argument of
- _\bn lists only the last _\bn lines. 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. No intervening blank is printed between
- the formatted time stamp and the history line. If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is
- supplied, it is used as the name of the history file; if not,
- the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is used. 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
+ _\bn lists only the last _\bn lines. 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. No intervening blank is printed between
+ the formatted time stamp and the history line. If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is
+ supplied, it is used as the name of the history file; if not,
+ the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is used. 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:
-\b-c\bc Clear the history list by deleting all the entries.
-\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
- file into the current history list. These are lines ap-
- pended to the history file since the beginning of the
+ -\b-n\bn Read the history lines not already read from the history
+ file into the current history list. These are lines ap-
+ pended to the history file since the beginning of the
current b\bba\bas\bsh\bh session.
- -\b-r\br Read the contents of the history file and append them to
+ -\b-r\br Read the contents of the history file and append them to
the current history list.
-\b-w\bw Write the current history list to the history file, over-
writing the history file's contents.
- -\b-p\bp Perform history substitution on the following _\ba_\br_\bg_\bs and
- display the result on the standard output. Does not
- store the results in the history list. Each _\ba_\br_\bg must be
+ -\b-p\bp Perform history substitution on the following _\ba_\br_\bg_\bs and
+ display the result on the standard output. Does not
+ store the results in the history list. Each _\ba_\br_\bg must be
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
the _\ba_\br_\bg_\bs are added.
- If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, the time stamp informa-
- tion associated with each history entry is written to the his-
- tory file, marked with the history comment character. When the
- history file is read, lines beginning with the history comment
- character followed immediately by a digit are interpreted as
+ If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable is set, the time stamp informa-
+ tion associated with each history entry is written to the his-
+ tory file, marked with the history comment character. When the
+ history file is read, lines beginning with the history comment
+ character followed immediately by a digit are interpreted as
timestamps for the following history entry. 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 sup-
+ 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 sup-
plied as an argument to -\b-p\bp fails.
j\bjo\bob\bbs\bs [-\b-l\bln\bnp\bpr\brs\bs] [ _\bj_\bo_\bb_\bs_\bp_\be_\bc ... ]
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 given, output is restricted to information about
- that job. The return status is 0 unless an invalid option is
+ If _\bj_\bo_\bb_\bs_\bp_\be_\bc is given, output is restricted to information about
+ that job. The return status is 0 unless an invalid option is
encountered or an invalid _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied.
If the -\b-x\bx option is supplied, j\bjo\bob\bbs\bs replaces any _\bj_\bo_\bb_\bs_\bp_\be_\bc found in
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-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 named 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
- present, then S\bSI\bIG\bGT\bTE\bER\bRM\bM is assumed. An argument of -\b-l\bl lists the
- signal names. If any arguments are supplied when -\b-l\bl is given,
- the names of the signals corresponding to the arguments are
+ Send the signal named 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
+ present, then S\bSI\bIG\bGT\bTE\bER\bRM\bM is assumed. An argument of -\b-l\bl lists the
+ signal names. If any arguments are supplied when -\b-l\bl is given,
+ the names of the signals corresponding to the arguments are
listed, 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 signal number or the exit
- status of a process terminated by a signal. The -\b-L\bL option is
- equivalent to -\b-l\bl. k\bki\bil\bll\bl returns true if at least one signal was
+ -\b-l\bl is a number specifying either a signal number or the exit
+ status of a process terminated by a signal. 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 op-
tion is encountered.
l\ble\bet\bt _\ba_\br_\bg [_\ba_\br_\bg ...]
Each _\ba_\br_\bg is an arithmetic expression to be evaluated (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,
+ 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; 0 is returned otherwise.
l\blo\boc\bca\bal\bl [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ... | - ]
- For each argument, a local variable named _\bn_\ba_\bm_\be is created, and
- assigned _\bv_\ba_\bl_\bu_\be. The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the options accepted
+ For each argument, a local variable named _\bn_\ba_\bm_\be is created, and
+ assigned _\bv_\ba_\bl_\bu_\be. The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the options accepted
by d\bde\bec\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. If _\bn_\ba_\bm_\be is -, the set of shell options
- is made local to the function in which l\blo\boc\bca\bal\bl is invoked: shell
- options changed using the s\bse\bet\bt builtin inside the function after
+ variable _\bn_\ba_\bm_\be to have a visible scope restricted to that func-
+ tion and its children. If _\bn_\ba_\bm_\be is -, the set of shell options
+ is made local to the function in which l\blo\boc\bca\bal\bl is invoked: shell
+ options changed using the s\bse\bet\bt builtin inside the function after
the call to l\blo\boc\bca\bal\bl are restored to their original values when the
function returns. The restore is effected 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 standard output. It is an error to use
+ 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 standard output. It is an error to use
l\blo\boc\bca\bal\bl when not within 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,
+ 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 Exit a login shell.
_\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 into the indexed array vari-
- able _\ba_\br_\br_\ba_\by, or from file descriptor _\bf_\bd if the -\b-u\bu option is sup-
- plied. 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 into the indexed array vari-
+ able _\ba_\br_\br_\ba_\by, or from file descriptor _\bf_\bd if the -\b-u\bu option is sup-
+ plied. 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 The first character of _\bd_\be_\bl_\bi_\bm is used to terminate each
- input line, rather than newline. If _\bd_\be_\bl_\bi_\bm is the empty
+ -\b-d\bd The first character of _\bd_\be_\bl_\bi_\bm is used 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
character.
- -\b-n\bn Copy at most _\bc_\bo_\bu_\bn_\bt lines. If _\bc_\bo_\bu_\bn_\bt is 0, all lines are
+ -\b-n\bn Copy at most _\bc_\bo_\bu_\bn_\bt lines. If _\bc_\bo_\bu_\bn_\bt is 0, all lines are
copied.
- -\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 successfully unless an invalid option or option
- argument is supplied, _\ba_\br_\br_\ba_\by is invalid or unassignable, or if
+ m\bma\bap\bpf\bfi\bil\ble\be returns successfully 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 not an indexed array.
p\bpo\bop\bpd\bd [-n\bn] [+_\bn] [-_\bn]
Removes entries from the directory stack. The elements are num-
- bered from 0 starting at the first directory listed by d\bdi\bir\brs\bs.
- With no arguments, p\bpo\bop\bpd\bd removes the top directory from the
+ bered from 0 starting at the first directory listed by d\bdi\bir\brs\bs.
+ With no arguments, p\bpo\bop\bpd\bd removes the top directory from the
stack, and changes to the new top directory. Arguments, if sup-
plied, have the following meanings:
- -\b-n\bn Suppresses the normal change of directory when removing
+ -\b-n\bn Suppresses the normal change of directory when removing
directories from the stack, so that only the stack is ma-
nipulated.
- +\b+_\bn Removes 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 Removes 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 Removes the _\bnth entry counting from the right of the list
- shown by d\bdi\bir\brs\bs, starting with zero. For example: removes
+ 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 encoun-
+ Otherwise, p\bpo\bop\bpd\bd returns false if an invalid option is encoun-
tered, the directory stack is empty, or a non-existent directory
stack entry is specified.
- If the p\bpo\bop\bpd\bd command is successful, bash 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, bash 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 causes the output to be
- assigned to the variable _\bv_\ba_\br rather than being printed 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 causes the output to be
+ assigned to the variable _\bv_\ba_\br rather than being printed 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
+ 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\bcs\bsn\bnd\bdi\bio\bou\bux\bxX\bXe\be-\b-
E\bEf\bfF\bFg\bgG\bGa\baA\bA, p\bpr\bri\bin\bnt\btf\bf interprets the following additional format spec-
ifiers:
%\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. Two special argument
- values may be used: -1 represents the current time, and
- -2 represents the time the shell was invoked. If no ar-
+ number of seconds since the epoch. Two special argument
+ values may be used: -1 represents the current time, and
+ -2 represents the time the shell was invoked. If no ar-
gument is specified, conversion behaves as if -1 had been
- given. This is an exception to the usual p\bpr\bri\bin\bnt\btf\bf behav-
+ given. This is an exception to the usual p\bpr\bri\bin\bnt\btf\bf behav-
ior.
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.
- 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
+ if the leading character is a single or double quote, the value
is the ASCII value of the following character.
- 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]
- Adds a directory to the top of the directory stack, or rotates
- the stack, making the new top of the stack the current working
- directory. With no arguments, p\bpu\bus\bsh\bhd\bd exchanges the top two ele-
- ments of the directory stack. Arguments, if supplied, have the
+ Adds a directory to the top of the directory stack, or rotates
+ the stack, making the new top of the stack the current working
+ directory. 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 Suppresses the normal change of directory when rotating
- or adding directories to the stack, so that only the
+ -\b-n\bn Suppresses the normal change of directory when rotating
+ or adding directories to the stack, so that only the
stack is manipulated.
- +\b+_\bn Rotates the stack so that the _\bnth directory (counting
- from the left 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 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 0 unless
- the directory stack is empty. When rotating the directory
- stack, p\bpu\bus\bsh\bhd\bd returns 0 unless the directory stack is empty or a
+ Otherwise, if no arguments are supplied, p\bpu\bus\bsh\bhd\bd returns 0 unless
+ the directory stack is empty. When rotating the directory
+ stack, p\bpu\bus\bsh\bhd\bd returns 0 unless the directory stack is empty or a
non-existent directory stack element is specified.
- If the p\bpu\bus\bsh\bhd\bd command is successful, bash runs d\bdi\bir\brs\bs to show the
+ If the p\bpu\bus\bsh\bhd\bd command is successful, bash 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 ...]
- One line is read from the standard input, or from the file de-
+ One line is read from the standard input, or from the file de-
scriptor _\bf_\bd supplied as an argument to the -\b-u\bu option, split 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 the
+ 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 the
first word is assigned to the first _\bn_\ba_\bm_\be, the second word to the
second _\bn_\ba_\bm_\be, and so on. If there are more words than names, the
remaining 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 I\bIF\bFS\bS are used to split the line into
- words using the same rules the shell uses for expansion (de-
- scribed in _\bb_\ba_\bs_\bh (1) under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg). The backslash char-
+ 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 I\bIF\bFS\bS are used to split the line into
+ words using the same rules the shell uses for expansion (de-
+ scribed in _\bb_\ba_\bs_\bh (1) under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg). The backslash char-
acter (\\b\) may be used to remove any special meaning for the next
character read and for line continuation. Options, if supplied,
have the following meanings:
-\b-a\ba _\ba_\bn_\ba_\bm_\be
The words are assigned to sequential indices of the array
variable _\ba_\bn_\ba_\bm_\be, starting at 0. _\ba_\bn_\ba_\bm_\be is unset before any
- new values are assigned. Other _\bn_\ba_\bm_\be arguments are ig-
+ new values are assigned. Other _\bn_\ba_\bm_\be arguments are ig-
nored.
-\b-d\bd _\bd_\be_\bl_\bi_\bm
The first character of _\bd_\be_\bl_\bi_\bm is used to terminate the in-
- put 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
+ put 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, _\bt_\be_\bx_\bt is
+ If r\bre\bea\bad\bdl\bli\bin\bne\be is being used to read the line, _\bt_\be_\bx_\bt is
placed 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
+ r\bre\bea\bad\bd returns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather than
waiting for a complete line of input, but honors a delim-
- iter if fewer than _\bn_\bc_\bh_\ba_\br_\bs characters are read before the
+ iter if fewer than _\bn_\bc_\bh_\ba_\br_\bs characters are read before the
delimiter.
-\b-N\bN _\bn_\bc_\bh_\ba_\br_\bs
- r\bre\bea\bad\bd returns after reading exactly _\bn_\bc_\bh_\ba_\br_\bs characters
- rather than waiting for a complete line of input, unless
- EOF is encountered or r\bre\bea\bad\bd times out. Delimiter charac-
- ters encountered in the input are not treated specially
- and do not cause r\bre\bea\bad\bd to return until _\bn_\bc_\bh_\ba_\br_\bs characters
- are read. The result is not split on the characters in
- I\bIF\bFS\bS; the intent is that the variable is assigned exactly
+ 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
+ EOF is encountered or r\bre\bea\bad\bd times out. Delimiter charac-
+ ters encountered in the input are not treated specially
+ and do not cause r\bre\bea\bad\bd to return until _\bn_\bc_\bh_\ba_\br_\bs characters
+ are read. The result is not split on the characters in
+ I\bIF\bFS\bS; the intent is that the variable is assigned exactly
the characters read (with the exception of backslash; see
the -\b-r\br option below).
-\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt
line, before attempting to read any input. The prompt is
displayed only if input is coming from a terminal.
-\b-r\br Backslash does not act as an escape character. The back-
- slash is considered to be part of the line. In particu-
- lar, a backslash-newline pair may not 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 a complete
- line of input (or a specified number of characters) is
- not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds. _\bt_\bi_\bm_\be_\bo_\bu_\bt may be a deci-
- mal number with a fractional portion following the deci-
- mal 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.
+ Cause r\bre\bea\bad\bd to time out and return failure if a complete
+ line of input (or a specified number of characters) is
+ not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds. _\bt_\bi_\bm_\be_\bo_\bu_\bt may be a deci-
+ mal number with a fractional portion following the deci-
+ mal 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, r\bre\bea\bad\bd saves any partial input read into
- the specified variable _\bn_\ba_\bm_\be. If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0, r\bre\bea\bad\bd re-
- turns immediately, without trying to read any data. The
- exit status is 0 if input is available on the specified
- file descriptor, or the read will return EOF, non-zero
- otherwise. The exit status is greater than 128 if the
+ the specified variable _\bn_\ba_\bm_\be. If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0, r\bre\bea\bad\bd re-
+ turns immediately, without trying to read any data. The
+ exit status is 0 if input is available on the specified
+ file descriptor, or the read will return EOF, non-zero
+ otherwise. The exit status is greater than 128 if the
timeout is exceeded.
-\b-u\bu _\bf_\bd Read input from file descriptor _\bf_\bd.
- 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, the line read, without the ending de-
- limiter but otherwise unmodified, is assigned to the variable
- R\bRE\bEP\bPL\bLY\bY. The exit status is zero, unless end-of-file is encoun-
- tered, r\bre\bea\bad\bd times out (in which case the status is greater than
- 128), a variable assignment error (such as assigning to a read-
+ If no _\bn_\ba_\bm_\be_\bs are supplied, the line read, without the ending de-
+ limiter but otherwise unmodified, is assigned to the variable
+ R\bRE\bEP\bPL\bLY\bY. The exit status is zero, unless end-of-file is encoun-
+ tered, r\bre\bea\bad\bd times out (in which case the status is greater than
+ 128), a variable assignment error (such as assigning to a read-
only variable) 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
- may not be changed by subsequent assignment. If the -\b-f\bf option
- is supplied, the functions corresponding to the _\bn_\ba_\bm_\be_\bs are so
- marked. The -\b-a\ba option restricts the variables to indexed ar-
- rays; the -\b-A\bA option restricts the variables to associative ar-
+ 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. If the -\b-f\bf option
+ is supplied, the functions corresponding to the _\bn_\ba_\bm_\be_\bs are so
+ marked. The -\b-a\ba option restricts the variables to indexed ar-
+ rays; the -\b-A\bA option restricts the variables to associative ar-
rays. If both options are supplied, -\b-A\bA takes precedence. If no
- _\bn_\ba_\bm_\be arguments are given, or if the -\b-p\bp option is supplied, a
+ _\bn_\ba_\bm_\be arguments are given, or if the -\b-p\bp option is supplied, a
list of all readonly names is printed. The other options may be
- used to restrict the output to a subset of the set of readonly
- names. The -\b-p\bp option causes output to be displayed in a format
- that may be reused as input. If a variable name is followed by
- =_\bw_\bo_\br_\bd, the value of the variable is set to _\bw_\bo_\br_\bd. The return
- status is 0 unless an invalid option is encountered, one of the
+ used to restrict the output to a subset of the set of readonly
+ names. The -\b-p\bp option causes output to be displayed in a format
+ that may be reused as input. If a variable name is followed by
+ =_\bw_\bo_\br_\bd, the value of the variable is set to _\bw_\bo_\br_\bd. 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]
- Causes a function to stop executing and return the value speci-
- fied by _\bn to its caller. If _\bn is omitted, the return status is
- that of the last command executed in the function body. If r\bre\be-\b-
+ Causes a function to stop executing and return the value speci-
+ fied by _\bn to its caller. If _\bn is omitted, the return status is
+ that of the last command executed in the function body. If r\bre\be-\b-
t\btu\bur\brn\bn is executed by a trap handler, the last command used to de-
- termine 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 exe-
- cuted by the trap handler before r\bre\bet\btu\bur\brn\bn was invoked. If r\bre\bet\btu\bur\brn\bn
- is used outside a function, but during execution of a script by
- the .\b. (s\bso\bou\bur\brc\bce\be) command, it causes the shell to stop executing
- that script and return either _\bn or the exit status of the last
- command executed within the script as the exit status of the
+ termine 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 exe-
+ cuted by the trap handler before r\bre\bet\btu\bur\brn\bn was invoked. If r\bre\bet\btu\bur\brn\bn
+ is used outside a function, but during execution of a script by
+ the .\b. (s\bso\bou\bur\brc\bce\be) command, it causes the shell to stop executing
+ that script and return either _\bn or the exit status of the last
+ command executed within the script as the exit status of the
script. If _\bn is supplied, the return value is its least signif-
- icant 8 bits. The return status is non-zero if r\bre\bet\btu\bur\brn\bn is sup-
- plied a non-numeric argument, or is used outside a function and
- not during execution of a script by .\b. or s\bso\bou\bur\brc\bce\be. Any command
+ icant 8 bits. The return status is non-zero if r\bre\bet\btu\bur\brn\bn is sup-
+ plied a non-numeric argument, or is used outside a function and
+ not during execution of a script by .\b. or s\bso\bou\bur\brc\bce\be. Any command
associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is executed before execution re-
sumes after the function or script.
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. 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-
+ 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, 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 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
+ 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)).
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.
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 $\b$E\bEN\bNV\bV and
- $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV files are not processed, shell functions are
- not inherited from the environment, and the S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS,
- B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS, C\bCD\bDP\bPA\bAT\bTH\bH, and G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE variables, if they ap-
- pear in the environment, are ignored. If the shell is
- started with the effective user (group) id not equal to
- the real user (group) id, and the -\b-p\bp option is not sup-
+ -\b-p\bp Turn on _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd mode. In this mode, the $\b$E\bEN\bNV\bV and
+ $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV files are not processed, shell functions are
+ not inherited from the environment, and the S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS,
+ B\bBA\bAS\bSH\bHO\bOP\bPT\bTS\bS, C\bCD\bDP\bPA\bAT\bTH\bH, and G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE variables, if they ap-
+ pear in the environment, are ignored. If the shell is
+ started with the effective user (group) id not equal to
+ the real user (group) id, and the -\b-p\bp option is not sup-
plied, these actions are taken and the effective user id
- is set to the real user id. If the -\b-p\bp option is sup-
- plied at startup, the effective user id is not reset.
- Turning this option off causes the effective user and
+ is set to the real user id. If the -\b-p\bp option is sup-
+ plied at startup, the effective user id is not reset.
+ Turning this option off causes the effective user and
group ids to be set to the real user and group ids.
-\b-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
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. This may be
+ -\b-C\bC If set, b\bba\bas\bsh\bh does not overwrite an existing file with
+ the >\b>, >\b>&\b&, and <\b<>\b> redirection operators. This may be
overridden when creating output files by using the redi-
rection operator >\b>|\b| instead of >\b>.
-\b-E\bE If set, any trap on E\bER\bRR\bR is inherited by shell functions,
- command substitutions, and commands executed in a sub-
- shell environment. The E\bER\bRR\bR trap is normally not inher-
+ command substitutions, and commands executed in a sub-
+ shell environment. The E\bER\bRR\bR trap is normally not inher-
ited in such cases.
-\b-H\bH Enable !\b! style history substitution. This option is on
by default when the shell is interactive.
- -\b-P\bP If set, the shell does not 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, then the positional
+ -\b--\b- If no arguments follow this option, then the positional
parameters are unset. Otherwise, the positional parame-
- ters are set to the _\ba_\br_\bgs, even if some of them begin
+ ters are set to the _\ba_\br_\bgs, even if some of them begin
with a -\b-.
- -\b- Signal the end of options, cause all remaining _\ba_\br_\bgs to
+ -\b- Signal the end of options, cause all remaining _\ba_\br_\bgs to
be assigned to the positional parameters. The -\b-x\bx and -\b-v\bv
options are turned off. If there are no _\ba_\br_\bgs, the posi-
tional parameters remain unchanged.
- The options are off by default unless otherwise noted. Using +
- rather than - causes these options to be turned off. The 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 true unless an invalid option is encoun-
+ shell. The current set of options may be found in $\b$-\b-. The re-
+ turn status is always true unless an invalid option is encoun-
tered.
s\bsh\bhi\bif\bft\bt [_\bn]
- The positional parameters from _\bn+1 ... are renamed to $\b$1\b1 .\b..\b..\b..\b.
- Parameters represented by the numbers $\b$#\b# down to $\b$#\b#-_\bn+1 are un-
- set. _\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 para-
- meters are not changed. The return status is greater than zero
+ The positional parameters from _\bn+1 ... are renamed to $\b$1\b1 .\b..\b..\b..\b.
+ Parameters represented by the numbers $\b$#\b# down to $\b$#\b#-_\bn+1 are un-
+ set. _\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 para-
+ meters 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, a list
- of all settable options is displayed, with an indication of
+ of all settable options is displayed, with an indication of
whether or not each is set; if _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are supplied, the output
- is restricted to those options. The -\b-p\bp option causes output to
- be displayed in a form that may be reused as input. Other op-
+ is restricted to those options. The -\b-p\bp option causes output to
+ be displayed in a form that may be reused as input. Other op-
tions 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 given with -\b-q\bq, the return sta-
- tus is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero other-
+ ple _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are given with -\b-q\bq, the return sta-
+ tus is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero other-
wise.
- -\b-o\bo Restricts the values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those defined for
+ -\b-o\bo Restricts the values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those defined for
the -\b-o\bo option to the s\bse\bet\bt builtin.
- If either -\b-s\bs or -\b-u\bu is used with no _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments, 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.
c\bcd\bda\bab\bbl\ble\be_\b_v\bva\bar\brs\bs
- If set, an argument to the c\bcd\bd builtin command that is
- not a directory is assumed to be the name of a variable
+ If set, an argument to the c\bcd\bd builtin command that is
+ not a directory is assumed to be the name of a variable
whose value is the directory to change to.
c\bcd\bds\bsp\bpe\bel\bll\bl If set, minor errors in the spelling of a directory com-
- ponent in a c\bcd\bd command will be corrected. The errors
+ ponent in a c\bcd\bd command will be corrected. The errors
checked for are transposed characters, a missing charac-
- ter, and one character too many. If a correction is
- found, the corrected filename is printed, and the com-
- mand proceeds. This option is only used by interactive
+ ter, and one character too many. If a correction is
+ found, the corrected filename is printed, and the com-
+ mand proceeds. This option is only used by interactive
shells.
c\bch\bhe\bec\bck\bkh\bha\bas\bsh\bh
If set, b\bba\bas\bsh\bh checks that a command found in the hash ta-
- ble exists before trying to execute it. If a hashed
- command no longer exists, a normal path search is per-
+ ble exists before trying to execute it. If a hashed
+ command no longer exists, a normal path search is per-
formed.
c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs
If set, b\bba\bas\bsh\bh lists the status of any stopped and running
- jobs before exiting an interactive shell. If any jobs
+ jobs before exiting an interactive shell. If any jobs
are running, this causes the exit to be deferred until a
- second exit is attempted without an intervening command
- (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL in _\bb_\ba_\bs_\bh(1)). The shell always post-
+ second exit is attempted without an intervening command
+ (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL in _\bb_\ba_\bs_\bh(1)). The shell always post-
pones 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. This option is enabled by
+ 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. 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 command. An interactive shell does not
+ not execute the file specified as an argument to the
+ e\bex\bxe\bec\bc builtin command. An interactive shell does not
exit if e\bex\bxe\bec\bc fails.
e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bs
If set, aliases are expanded as described 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, 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 are enabled.
e\bex\bxt\btq\bqu\buo\bot\bte\be
- If set, $\b$_\bs_\bt_\br_\bi_\bn_\bg and $\b$_\bs_\bt_\br_\bi_\bn_\bg quoting is performed within
+ 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, the current locale's collating
- sequence is not taken into account, so b\bb will not col-
- late between A\bA and B\bB, and upper-case and lower-case
+ comparisons. That is, the current locale's collating
+ sequence is not taken into account, so b\bb will not col-
+ late 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
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, a user is given the
+ If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, a user is given the
opportunity to re-edit a failed history substitution.
h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by
- If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of his-
- tory substitution are not immediately passed to the
- shell parser. Instead, the resulting line is loaded
+ If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of his-
+ tory substitution are not immediately passed to the
+ shell parser. Instead, the resulting line is loaded
into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer, allowing further modi-
fication.
h\bho\bos\bst\btc\bco\bom\bmp\bpl\ble\bet\bte\be
If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh will attempt to
- perform hostname completion when a word containing a @\b@
- is being completed (see C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg under R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE 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
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
If set, allow a word beginning with #\b# to cause that word
- and all remaining characters on that line to be ignored
+ and all remaining characters on that line to be ignored
in an 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.
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
- them unset until that function returns. This is identi-
- cal to the behavior of unsetting local variables at the
+ 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
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 will not at-
- tempt to search the P\bPA\bAT\bTH\bH for possible completions when
+ If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh will not at-
+ tempt to search the P\bPA\bAT\bTH\bH for possible completions when
completion is attempted on an empty line.
n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb
- If set, b\bba\bas\bsh\bh matches filenames in a case-insensitive
+ If set, b\bba\bas\bsh\bh matches filenames in a case-insensitive
fashion when performing pathname expansion (see P\bPa\bat\bth\bhn\bna\bam\bme\be
E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn 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, the programmable completion facilities (see P\bPr\bro\bo-\b-
- g\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn in _\bb_\ba_\bs_\bh(1)) are enabled. This op-
+ g\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)) are enabled. This op-
tion 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
- as a possible alias and attempts alias expansion. If it
- has an alias, b\bba\bas\bsh\bh attempts programmable completion us-
+ 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-
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
+ find the directory containing the file supplied as an
argument. This option 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 can be used to 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
+ 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 can be used to 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 supplied.
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-
- pends on the number of arguments; see below. Operator prece-
+ 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. Operator prece-
dence is used when there are five or more arguments.
!\b! _\be_\bx_\bp_\br True if _\be_\bx_\bp_\br is false.
(\b( _\be_\bx_\bp_\br )\b)
- Returns the value of _\be_\bx_\bp_\br. This may be used to override
+ Returns the value of _\be_\bx_\bp_\br. This may be used to override
the normal precedence of operators.
_\be_\bx_\bp_\br_\b1 -a\ba _\be_\bx_\bp_\br_\b2
True if both _\be_\bx_\bp_\br_\b1 and _\be_\bx_\bp_\br_\b2 are true.
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. the two-argument test using the second and
- third arguments. If the first argument is exactly (\b( and
- the fourth argument is exactly )\b), the result is the two-
- argument test of the second and third arguments. Other-
+ the three-argument expression composed of the remaining
+ arguments. the two-argument test using the second and
+ third arguments. If the first argument is exactly (\b( and
+ the fourth argument is exactly )\b), the result is the two-
+ argument test of the second and third arguments. Other-
wise, 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.
- t\bti\bim\bme\bes\bs Print the accumulated user and system times for the shell and
+ t\bti\bim\bme\bes\bs Print the accumulated user and system times for the shell and
for processes run from the shell. The return status is 0.
t\btr\bra\bap\bp [-\b-l\blp\bp] [[_\ba_\bc_\bt_\bi_\bo_\bn] _\bs_\bi_\bg_\bs_\bp_\be_\bc ...]
The _\ba_\bc_\bt_\bi_\bo_\bn is a command that is read and executed when the shell
receives signal(s) _\bs_\bi_\bg_\bs_\bp_\be_\bc. If _\ba_\bc_\bt_\bi_\bo_\bn is absent (and there is a
- single _\bs_\bi_\bg_\bs_\bp_\be_\bc) or -\b-, each specified signal is reset to its
- original disposition (the value it had upon entrance to the
- shell). If _\ba_\bc_\bt_\bi_\bo_\bn is the null string the signal specified by
- each _\bs_\bi_\bg_\bs_\bp_\be_\bc is ignored by the shell and by the commands it in-
+ single _\bs_\bi_\bg_\bs_\bp_\be_\bc) or -\b-, each specified signal is reset to its
+ original disposition (the value it had upon entrance to the
+ shell). If _\ba_\bc_\bt_\bi_\bo_\bn is the null string the signal specified by
+ each _\bs_\bi_\bg_\bs_\bp_\be_\bc is ignored by the shell and by the commands it in-
vokes.
- If no arguments are supplied, t\btr\bra\bap\bp displays the actions associ-
+ 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 to
- t\btr\bra\bap\bp may be used in a subshell environment (e.g., command sub-
- stitution) 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 par-
+ 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 to
+ t\btr\bra\bap\bp may be used in a subshell environment (e.g., command sub-
+ stitution) 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 par-
ent's traps.
- The -\b-l\bl option causes t\btr\bra\bap\bp to print a list of signal names and
- their corresponding numbers. Each _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a signal
- name defined in <_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh>, or a signal number. Signal names
+ The -\b-l\bl option causes t\btr\bra\bap\bp to print a list of signal names and
+ their corresponding numbers. Each _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a signal
+ name defined in <_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh>, or a signal number. Signal names
are case insensitive and the S\bSI\bIG\bG prefix is optional.
- If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0) the command _\ba_\bc_\bt_\bi_\bo_\bn is executed on exit
- from the shell. If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\bc_\bt_\bi_\bo_\bn is
+ If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bEX\bXI\bIT\bT (0) the command _\ba_\bc_\bt_\bi_\bo_\bn is executed on exit
+ from the shell. If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\bc_\bt_\bi_\bo_\bn is
executed before every _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br command, _\bc_\ba_\bs_\be command,
- _\bs_\be_\bl_\be_\bc_\bt command, (( arithmetic command, [[ conditional command,
+ _\bs_\be_\bl_\be_\bc_\bt command, (( arithmetic command, [[ conditional command,
arithmetic _\bf_\bo_\br command, and before the first command executes in
- a shell function (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR in _\bb_\ba_\bs_\bh(1)). Refer to the
- description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to the s\bsh\bho\bop\bpt\bt builtin for de-
- tails of its effect on the D\bDE\bEB\bBU\bUG\bG trap. If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is R\bRE\bET\bTU\bUR\bRN\bN,
- the command _\ba_\bc_\bt_\bi_\bo_\bn is executed each time a shell function or a
- script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins finishes execut-
+ 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 option to the s\bsh\bho\bop\bpt\bt builtin for de-
+ tails of its effect on the D\bDE\bEB\bBU\bUG\bG trap. If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is R\bRE\bET\bTU\bUR\bRN\bN,
+ the command _\ba_\bc_\bt_\bi_\bo_\bn is executed each time a shell function or a
+ script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins finishes execut-
ing.
- If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR, the command _\ba_\bc_\bt_\bi_\bo_\bn is executed whenever a
+ If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR, the command _\ba_\bc_\bt_\bi_\bo_\bn is executed whenever a
pipeline (which may consist of a single simple command), a list,
or a compound command returns a non-zero exit status, subject to
- the following conditions. The E\bER\bRR\bR trap is not executed if the
+ 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, or if the command's return value is being inverted using
+ following the final &\b&&\b& or |\b||\b|, any command in a pipeline but the
+ last, or if the command's return value is being inverted using
!\b!. These are the same conditions obeyed by the e\ber\brr\bre\bex\bxi\bit\bt (-\b-e\be) op-
tion.
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.
t\bty\byp\bpe\be [-\b-a\baf\bft\btp\bpP\bP] _\bn_\ba_\bm_\be [_\bn_\ba_\bm_\be ...]
- With no options, indicate how each _\bn_\ba_\bm_\be would be interpreted if
+ With no options, indicate how each _\bn_\ba_\bm_\be would be interpreted if
used as a command name. If the -\b-t\bt option is used, t\bty\byp\bpe\be prints a
- string which is one of _\ba_\bl_\bi_\ba_\bs, _\bk_\be_\by_\bw_\bo_\br_\bd, _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn, _\bb_\bu_\bi_\bl_\bt_\bi_\bn, or
- _\bf_\bi_\bl_\be if _\bn_\ba_\bm_\be is an alias, shell reserved word, function,
- builtin, or executable disk file, respectively. If the _\bn_\ba_\bm_\be is
- not found, then nothing is printed, and t\bty\byp\bpe\be returns a non-zero
- exit status. If the -\b-p\bp option is used, t\bty\byp\bpe\be either returns the
- name of the executable file that would be found by searching
- $\b$P\bPA\bAT\bTH\bH if _\bn_\ba_\bm_\be were specified as a command name, 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 a command is
+ 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 disk file, respectively. If the _\bn_\ba_\bm_\be is
+ not found, then nothing is printed, and t\bty\byp\bpe\be returns a non-zero
+ exit status. If the -\b-p\bp option is used, t\bty\byp\bpe\be either returns the
+ name of the executable file that would be found by searching
+ $\b$P\bPA\bAT\bTH\bH if _\bn_\ba_\bm_\be were specified as a command name, 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 a command is
hashed, -\b-p\bp and -\b-P\bP print the hashed value, which is not necessar-
- ily the file that appears first in P\bPA\bAT\bTH\bH. If the -\b-a\ba option is
+ ily the file that appears first in P\bPA\bAT\bTH\bH. If the -\b-a\ba option is
used, t\bty\byp\bpe\be prints all of the places that contain 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 sup-
+ _\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 sup-
plied 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\bmm\bma\ban\bnd\bd builtin. t\bty\byp\bpe\be re-
- turns true if all of the arguments are found, false if any are
+ 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\bmm\bma\ban\bnd\bd builtin. t\bty\byp\bpe\be re-
+ turns true if all of the arguments are found, false if any are
not found.
u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bS] -\b-a\ba
u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bS] [-\b-b\bbc\bcd\bde\bef\bfi\bik\bkl\blm\bmn\bnp\bpq\bqr\brs\bst\btu\buv\bvx\bxP\bPR\bRT\bT [_\bl_\bi_\bm_\bi_\bt]]
- Provides control over the resources available to the shell and
- to processes started by it, on systems that allow such control.
+ Provides control over the resources available to the shell and
+ to processes started by it, on systems that allow such control.
The -\b-H\bH and -\b-S\bS options specify that the hard or soft limit is set
- for the given resource. A hard limit cannot be increased by a
- non-root user once it is set; a soft limit may be increased up
- to the value of the hard limit. If neither -\b-H\bH nor -\b-S\bS is speci-
+ for the given resource. A hard limit cannot be increased by a
+ non-root user once it is set; a soft limit may be increased up
+ to the value of the hard limit. If neither -\b-H\bH nor -\b-S\bS is speci-
fied, both the soft and hard limits are set. The value of _\bl_\bi_\bm_\bi_\bt
can be a number in the unit specified for the resource or one of
the special values h\bha\bar\brd\bd, s\bso\bof\bft\bt, or u\bun\bnl\bli\bim\bmi\bit\bte\bed\bd, which stand for the
- current hard limit, the current soft limit, and no limit, re-
- spectively. If _\bl_\bi_\bm_\bi_\bt is omitted, the current value of the soft
+ current hard limit, the current soft limit, and no limit, re-
+ spectively. If _\bl_\bi_\bm_\bi_\bt is omitted, the current value of the soft
limit of the resource is printed, unless the -\b-H\bH option is given.
- When more than one resource is specified, the limit name and
- unit, if appropriate, are printed before the value. Other op-
+ When more than one resource is specified, the limit name and
+ unit, if appropriate, are printed before the value. Other op-
tions are interpreted as follows:
-\b-a\ba All current limits are reported; no limits are set
-\b-b\bb The maximum socket buffer size
-\b-c\bc The maximum size of core files created
-\b-d\bd The maximum size of a process's data segment
-\b-e\be The maximum scheduling priority (
- -\b-f\bf The maximum size of files written by the shell and its
+ -\b-f\bf The maximum size of files written by the shell and its
children
-\b-i\bi The maximum number of pending signals
-\b-k\bk The maximum number of kqueues that may be allocated
-\b-l\bl The maximum size that may be locked into memory
- -\b-m\bm The maximum resident set size (many systems do not honor
+ -\b-m\bm The maximum resident set size (many systems do not honor
this limit)
-\b-n\bn The maximum number of open file descriptors (most systems
do not allow this value to be set)
-\b-r\br The maximum real-time scheduling priority
-\b-s\bs The maximum stack size
-\b-t\bt The maximum amount of cpu time in seconds
- -\b-u\bu The maximum number of processes available to a single
+ -\b-u\bu The maximum number of processes available to a single
user
- -\b-v\bv The maximum amount of virtual memory available to the
+ -\b-v\bv The maximum amount of virtual memory available to the
shell and, on some systems, to its children
-\b-x\bx The maximum number of file locks
-\b-P\bP The maximum number of pseudoterminals
- -\b-R\bR The maximum time a real-time process can run before
+ -\b-R\bR The maximum time a real-time process can run before
blocking, in microseconds
-\b-T\bT The maximum number of threads
- If _\bl_\bi_\bm_\bi_\bt is given, and the -\b-a\ba option is not used, _\bl_\bi_\bm_\bi_\bt is the
- new value of the specified resource. If no option is given,
- then -\b-f\bf is assumed. Values are in 1024-byte increments, except
- for -\b-t\bt, which is in seconds; -\b-R\bR, which is in microseconds; -\b-p\bp,
- which is in units of 512-byte blocks; -\b-P\bP, -\b-T\bT, -\b-b\bb, -\b-k\bk, -\b-n\bn, and
- -\b-u\bu, which are unscaled values; and, when in posix mode, -\b-c\bc and
- -\b-f\bf, which are in 512-byte increments. The return status is 0
- unless an invalid option or argument is supplied, or an error
+ If _\bl_\bi_\bm_\bi_\bt is given, and the -\b-a\ba option is not used, _\bl_\bi_\bm_\bi_\bt is the
+ new value of the specified resource. If no option is given,
+ then -\b-f\bf is assumed. Values are in 1024-byte increments, except
+ for -\b-t\bt, which is in seconds; -\b-R\bR, which is in microseconds; -\b-p\bp,
+ which is in units of 512-byte blocks; -\b-P\bP, -\b-T\bT, -\b-b\bb, -\b-k\bk, -\b-n\bn, and
+ -\b-u\bu, which are unscaled values; and, when in posix mode, -\b-c\bc and
+ -\b-f\bf, which are in 512-byte increments. The return status is 0
+ unless an invalid option or argument is supplied, or an error
occurs while setting a new limit.
u\bum\bma\bas\bsk\bk [-\b-p\bp] [-\b-S\bS] [_\bm_\bo_\bd_\be]
The user file-creation mask is set to _\bm_\bo_\bd_\be. If _\bm_\bo_\bd_\be begins with
- a digit, it is interpreted as an octal number; otherwise it is
- interpreted as a symbolic mode mask similar to that accepted by
- _\bc_\bh_\bm_\bo_\bd(1). If _\bm_\bo_\bd_\be is omitted, the current value of the mask is
- printed. The -\b-S\bS option causes the mask to be printed in sym-
- bolic form; the default output is an octal number. If the -\b-p\bp
+ a digit, it is interpreted as an octal number; otherwise it is
+ interpreted as a symbolic mode mask similar to that accepted by
+ _\bc_\bh_\bm_\bo_\bd(1). If _\bm_\bo_\bd_\be is omitted, the current value of the mask is
+ printed. The -\b-S\bS option causes the mask to be printed in sym-
+ bolic form; the default output is an octal number. If the -\b-p\bp
option is supplied, and _\bm_\bo_\bd_\be is omitted, the output is in a form
that may be reused as input. The return status is 0 if the mode
- was successfully changed or if no _\bm_\bo_\bd_\be argument was supplied,
+ was successfully changed or if no _\bm_\bo_\bd_\be argument was supplied,
and false otherwise.
u\bun\bna\bal\bli\bia\bas\bs [-a\ba] [_\bn_\ba_\bm_\be ...]
- Remove each _\bn_\ba_\bm_\be from the list of defined aliases. If -\b-a\ba is
- supplied, all alias definitions are removed. The return value
+ Remove each _\bn_\ba_\bm_\be from the list of defined aliases. If -\b-a\ba is
+ supplied, all alias definitions are removed. The return value
is true unless a supplied _\bn_\ba_\bm_\be is not a defined alias.
u\bun\bns\bse\bet\bt [-f\bfv\bv] [-n\bn] [_\bn_\ba_\bm_\be ...]
- For each _\bn_\ba_\bm_\be, remove the corresponding variable or function.
+ For each _\bn_\ba_\bm_\be, remove the corresponding variable or function.
If the -\b-v\bv option is given, each _\bn_\ba_\bm_\be refers to a shell variable,
- and that variable is removed. Read-only variables may not be
- unset. If -\b-f\bf is specified, each _\bn_\ba_\bm_\be refers to a shell func-
- tion, and the function definition is removed. If the -\b-n\bn option
- is supplied, and _\bn_\ba_\bm_\be is a variable with the _\bn_\ba_\bm_\be_\br_\be_\bf attribute,
- _\bn_\ba_\bm_\be will be unset rather than the variable it references. -\b-n\bn
- has no effect if the -\b-f\bf option is supplied. If no options are
- supplied, each _\bn_\ba_\bm_\be refers to a variable; if there is no vari-
- able by that name, a function with that name, if any, is unset.
- Each unset variable or function is removed from the environment
- passed to subsequent commands. If any of B\bBA\bAS\bSH\bH_\b_A\bAL\bLI\bIA\bAS\bSE\bES\bS,
+ and that variable is removed. Read-only variables may not be
+ unset. If -\b-f\bf is specified, each _\bn_\ba_\bm_\be refers to a shell func-
+ tion, and the function definition is removed. If the -\b-n\bn option
+ is supplied, and _\bn_\ba_\bm_\be is a variable with the _\bn_\ba_\bm_\be_\br_\be_\bf attribute,
+ _\bn_\ba_\bm_\be will be unset rather than the variable it references. -\b-n\bn
+ has no effect if the -\b-f\bf option is supplied. If no options are
+ supplied, each _\bn_\ba_\bm_\be refers to a variable; if there is no vari-
+ able by that name, a function with that name, if any, is unset.
+ Each unset variable or function is removed from the environment
+ passed to subsequent commands. If any of B\bBA\bAS\bSH\bH_\b_A\bAL\bLI\bIA\bAS\bSE\bES\bS,
B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV0\b0, B\bBA\bAS\bSH\bH_\b_C\bCM\bMD\bDS\bS, B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMM\bMA\bAN\bND\bD, B\bBA\bAS\bSH\bH_\b_S\bSU\bUB\bBS\bSH\bHE\bEL\bLL\bL, B\bBA\bAS\bSH\bHP\bPI\bID\bD,
- C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS, D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK, E\bEP\bPO\bOC\bCH\bHR\bRE\bEA\bAL\bLT\bTI\bIM\bME\bE, E\bEP\bPO\bOC\bCH\bHS\bSE\bEC\bCO\bON\bND\bDS\bS, F\bFU\bUN\bNC\bC-\b-
- N\bNA\bAM\bME\bE, G\bGR\bRO\bOU\bUP\bPS\bS, H\bHI\bIS\bST\bTC\bCM\bMD\bD, L\bLI\bIN\bNE\bEN\bNO\bO, R\bRA\bAN\bND\bDO\bOM\bM, S\bSE\bEC\bCO\bON\bND\bDS\bS, or S\bSR\bRA\bAN\bND\bDO\bOM\bM are
+ C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDB\bBR\bRE\bEA\bAK\bKS\bS, D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK, E\bEP\bPO\bOC\bCH\bHR\bRE\bEA\bAL\bLT\bTI\bIM\bME\bE, E\bEP\bPO\bOC\bCH\bHS\bSE\bEC\bCO\bON\bND\bDS\bS, F\bFU\bUN\bNC\bC-\b-
+ N\bNA\bAM\bME\bE, G\bGR\bRO\bOU\bUP\bPS\bS, H\bHI\bIS\bST\bTC\bCM\bMD\bD, L\bLI\bIN\bNE\bEN\bNO\bO, R\bRA\bAN\bND\bDO\bOM\bM, S\bSE\bEC\bCO\bON\bND\bDS\bS, or S\bSR\bRA\bAN\bND\bDO\bOM\bM are
unset, they lose their special properties, even if they are sub-
sequently reset. The exit status is true unless a _\bn_\ba_\bm_\be is read-
only or may not be unset.
w\bwa\bai\bit\bt [-\b-f\bfn\bn] [-\b-p\bp _\bv_\ba_\br_\bn_\ba_\bm_\be] [_\bi_\bd ...]
Wait for each specified child process and return its termination
- status. Each _\bi_\bd may be a process ID or a job specification; if
- a job spec is given, all processes in that job's pipeline are
- waited for. If _\bi_\bd is not given, w\bwa\bai\bit\bt waits for all running
- background jobs and the last-executed process substitution, if
+ status. Each _\bi_\bd may be a process ID or a job specification; if
+ a job spec is given, all processes in that job's pipeline are
+ waited for. If _\bi_\bd is not given, w\bwa\bai\bit\bt waits for all running
+ background jobs and the last-executed process substitution, if
its process id is the same as $\b$!\b!, and the return status is zero.
- If the -\b-n\bn option is supplied, w\bwa\bai\bit\bt waits for a single job from
+ If the -\b-n\bn option is supplied, w\bwa\bai\bit\bt waits for a single job from
the list of _\bi_\bds or, if no _\bi_\bds are supplied, any job, to complete
- and returns its exit status. If none of the supplied arguments
+ and returns its exit status. If none of the supplied arguments
is a child of the shell, or if no arguments are supplied and the
- shell has no unwaited-for children, the exit status is 127. If
- the -\b-p\bp option is supplied, the process or job identifier of the
- job for which the exit status is returned is assigned to the
- variable _\bv_\ba_\br_\bn_\ba_\bm_\be named by the option argument. The variable
- will be unset initially, before any assignment. This is useful
- only when the -\b-n\bn option is supplied. Supplying the -\b-f\bf option,
- when job control is enabled, forces w\bwa\bai\bit\bt to wait for _\bi_\bd to ter-
+ shell has no unwaited-for children, the exit status is 127. If
+ the -\b-p\bp option is supplied, the process or job identifier of the
+ job for which the exit status is returned is assigned to the
+ variable _\bv_\ba_\br_\bn_\ba_\bm_\be named by the option argument. The variable
+ will be unset initially, before any assignment. This is useful
+ only when the -\b-n\bn option is supplied. Supplying the -\b-f\bf option,
+ when job control is enabled, forces w\bwa\bai\bit\bt to wait for _\bi_\bd to ter-
minate before returning its status, instead of returning when it
- changes status. If _\bi_\bd specifies a non-existent process or job,
- the return status is 127. If w\bwa\bai\bit\bt is interrupted by a signal,
- the return status will be greater than 128, as described under
- S\bSI\bIG\bGN\bNA\bAL\bLS\bS in _\bb_\ba_\bs_\bh(1). Otherwise, the return status is the exit
+ changes status. If _\bi_\bd specifies a non-existent process or job,
+ the return status is 127. If w\bwa\bai\bit\bt is interrupted by a signal,
+ the return status will be greater than 128, as described under
+ S\bSI\bIG\bGN\bNA\bAL\bLS\bS in _\bb_\ba_\bs_\bh(1). Otherwise, the return status is the exit
status of the last process or job waited for.
S\bSH\bHE\bEL\bLL\bL C\bCO\bOM\bMP\bPA\bAT\bTI\bIB\bBI\bIL\bLI\bIT\bTY\bY M\bMO\bOD\bDE\bE
- Bash-4.0 introduced the concept of a _\bs_\bh_\be_\bl_\bl _\bc_\bo_\bm_\bp_\ba_\bt_\bi_\bb_\bi_\bl_\bi_\bt_\by _\bl_\be_\bv_\be_\bl, speci-
+ 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 rhs of the
- regexp matching operator quotes special regexp characters in the word,
+ This section does not mention behavior that is standard for a particu-
+ lar version (e.g., setting c\bco\bom\bmp\bpa\bat\bt3\b32\b2 means that quoting the rhs of the
+ regexp matching operator quotes special regexp characters in the word,
which is default behavior in bash-3.2 and subsequent versions).
- If a user enables, say, c\bco\bom\bmp\bpa\bat\bt3\b32\b2, it may affect the behavior of other
- compatibility levels up to and including the current compatibility
- level. The idea is that each compatibility level controls behavior
- that changed in that version of b\bba\bas\bsh\bh, but that behavior may have been
- present in earlier versions. For instance, the change to use locale-
- based comparisons with the [\b[[\b[ command came in bash-4.1, and earlier
+ If a user enables, say, c\bco\bom\bmp\bpa\bat\bt3\b32\b2, it may affect the behavior of other
+ compatibility levels up to and including the current compatibility
+ level. The idea is that each compatibility level controls behavior
+ that changed in that version of b\bba\bas\bsh\bh, but that behavior may have been
+ present in earlier versions. For instance, the change to use locale-
+ based comparisons with the [\b[[\b[ command came in bash-4.1, and earlier
versions used ASCII-based comparisons, so enabling c\bco\bom\bmp\bpa\bat\bt3\b32\b2 will enable
- ASCII-based comparisons as well. That granularity may not be suffi-
- cient for all uses, and as a result users should employ compatibility
- levels carefully. Read the documentation for a particular feature to
+ ASCII-based comparisons as well. That granularity may not be suffi-
+ cient for all uses, and as a result users should employ compatibility
+ levels carefully. Read the documentation for a particular feature to
find out the current behavior.
- Bash-4.3 introduced a new shell variable: B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT. The value as-
+ Bash-4.3 introduced a new shell variable: B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT. The value as-
signed to this variable (a decimal version number like 4.2, or an inte-
- ger corresponding to the c\bco\bom\bmp\bpa\bat\bt_\bN_\bN option, like 42) determines the com-
+ ger corresponding to the c\bco\bom\bmp\bpa\bat\bt_\bN_\bN option, like 42) determines the com-
patibility level.
- Starting with bash-4.4, b\bba\bas\bsh\bh has begun deprecating older compatibility
- levels. Eventually, the options will be removed in favor of B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bM-\b-
+ Starting with bash-4.4, b\bba\bas\bsh\bh has begun deprecating older compatibility
+ levels. Eventually, the options will be removed in favor of B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bM-\b-
P\bPA\bAT\bT.
- Bash-5.0 was the final version for which there will be an individual
+ Bash-5.0 was the final version for which there will be an individual
shopt option for the previous version. Users should control the compat-
ibility level with B\bBA\bAS\bSH\bH_\b_C\bCO\bOM\bMP\bPA\bAT\bT.
- 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 the shell does not print a warning message if an attempt
- is made to use a quoted compound assignment as an argu-
- ment to declare (e.g., declare -a foo=(1 2)). Later ver-
+ +\bo the shell does not print a warning message if an attempt
+ is made to use a quoted compound assignment as an argu-
+ ment to declare (e.g., declare -a foo=(1 2)). Later ver-
sions warn that this usage is deprecated
- +\bo word expansion errors are considered non-fatal errors
- that cause the current command to fail, even in posix
- mode (the default behavior is to make them fatal errors
+ +\bo word expansion errors are considered non-fatal errors
+ that cause the current command to fail, even in posix
+ mode (the default behavior is to make them fatal errors
that cause the shell to exit)
- +\bo when executing a shell function, the loop state
+ +\bo when executing a shell function, the loop state
(while/until/etc.) is not reset, so b\bbr\bre\bea\bak\bk or c\bco\bon\bnt\bti\bin\bnu\bue\be in
that function will break or continue loops in the calling
- context. Bash-4.4 and later reset the loop state to pre-
+ context. Bash-4.4 and later reset the loop state to pre-
vent this
c\bco\bom\bmp\bpa\bat\bt4\b44\b4
- +\bo the shell sets up the values used by B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV and
- B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC so they can expand to the shell's positional
+ +\bo the shell sets up the values used by B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV and
+ B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC so they can expand to the shell's positional
parameters even if extended debugging mode is not enabled
- +\bo a subshell inherits loops from its parent context, so
- b\bbr\bre\bea\bak\bk or c\bco\bon\bnt\bti\bin\bnu\bue\be will cause the subshell to exit.
- Bash-5.0 and later reset the loop state to prevent the
+ +\bo a subshell inherits loops from its parent context, so
+ b\bbr\bre\bea\bak\bk or c\bco\bon\bnt\bti\bin\bnu\bue\be will cause the subshell to exit.
+ Bash-5.0 and later reset the loop state to prevent the
exit
- +\bo variable assignments preceding builtins like e\bex\bxp\bpo\bor\brt\bt and
+ +\bo variable assignments preceding builtins like e\bex\bxp\bpo\bor\brt\bt and
r\bre\bea\bad\bdo\bon\bnl\bly\by that set attributes continue to affect variables
with the same name in the calling environment even if the
shell is not in posix mode
c\bco\bom\bmp\bpa\bat\bt5\b50\b0
- +\bo Bash-5.1 changed the way $\b$R\bRA\bAN\bND\bDO\bOM\bM is generated to intro-
+ +\bo Bash-5.1 changed the way $\b$R\bRA\bAN\bND\bDO\bOM\bM is generated to intro-
duce slightly more randomness. If the shell compatibility
- level is set to 50 or lower, it reverts to the method
- from bash-5.0 and previous versions, so seeding the ran-
- dom number generator by assigning a value to R\bRA\bAN\bND\bDO\bOM\bM will
+ level is set to 50 or lower, it reverts to the method
+ from bash-5.0 and previous versions, so seeding the ran-
+ dom number generator by assigning a value to R\bRA\bAN\bND\bDO\bOM\bM will
produce the same sequence as in bash-5.0
- +\bo If the command hash table is empty, bash versions prior
- to bash-5.1 printed an informational message to that ef-
- fect, even when producing output that can be reused as
- input. Bash-5.1 suppresses that message when the -\b-l\bl op-
+ +\bo If the command hash table is empty, bash versions prior
+ to bash-5.1 printed an informational message to that ef-
+ fect, even when producing output that can be reused as
+ input. Bash-5.1 suppresses that message when the -\b-l\bl op-
tion is supplied.
c\bco\bom\bmp\bpa\bat\bt5\b51\b1
- +\bo The u\bun\bns\bse\bet\bt builtin treats attempts to unset array sub-
- scripts @\b@ and *\b* differently depending on whether the ar-
- ray is indexed or associative, and differently than in
+ +\bo The u\bun\bns\bse\bet\bt builtin treats attempts to unset array sub-
+ scripts @\b@ and *\b* differently depending on whether the ar-
+ ray is indexed or associative, and differently than in
previous versions.
+\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
+ +\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-
+ guments.
+ +\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
+ arguments as key sequences to bind.
+
S\bSE\bEE\bE A\bAL\bLS\bSO\bO
bash(1), sh(1)
Copyright (C) 1988-2024 Free Software Foundation, Inc.
@end ignore
-@set LASTCHANGE Fri Apr 5 12:10:00 EDT 2024
+@set LASTCHANGE Tue Apr 23 15:08:20 EDT 2024
@set EDITION 5.3
@set VERSION 5.3
-@set UPDATED 5 April 2024
+@set UPDATED 23 April 2024
@set UPDATED-MONTH April 2024
-/* Copyright (C) 1991-2023 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2024 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software; you can redistribute it and/or modify
if (c->call != PATHCONF && path)
continue; /* Only print pathconf vars if path supplied */
#endif
- printf("%-35s", c->name);
+ /* The output format for getconf -a is required by POSIX interp 1808 */
+ printf("%s: ", c->name);
if (getconf_print (c, path, 1) == EXECUTION_FAILURE)
r = EXECUTION_FAILURE;
}
val = EXP_LOWEST ();
- /*TAG:bash-5.3 make it clear that these are arithmetic syntax errors */
if (curtok != 0)
evalerror (_("arithmetic syntax error in expression"));
/* declarations for functions defined in lib/sh/wcsnwidth.c */
#if defined (HANDLE_MULTIBYTE)
-extern int wcsnwidth (const wchar_t *, size_t, int);
+extern int wcsnwidth (const wchar_t *, size_t, size_t);
#endif
/* declarations for functions defined in lib/sh/winsize.c */
if (jobs_list_frozen == 0) /* must be running a funsub to get here */
{
notify_of_job_status (); /* XXX */
-#if 1 /* TAG: bash-5.3 kre@munnari.oz.au 01/30/2024 */
+#if 1 /* kre@munnari.oz.au 01/30/2024 */
delete_job (i, posixly_correct ? DEL_NOBGPID : 0);
#else
delete_job (i, 0);
# #
####################################################################
#
-# Copyright (C) 1996-2009 Free Software Foundation, Inc.
+# Copyright (C) 1996-2024 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
done
documentation: force
- -(cd doc; $(MAKE) $(MFLAGS))
+ -(cd doc; $(MAKE) $(BASH_MAKEFLAGS))
force:
# The rule for 'includes' is written funny so that the if statement
clean:
rm -f $(OBJECTS) $(LIBRARY_NAME)
- -(cd doc && $(MAKE) $(MFLAGS) $@ )
+ -(cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
realclean distclean maintainer-clean: clean
- -( cd doc && $(MAKE) $(MFLAGS) $@ )
+ -( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
$(RM) -f Makefile
mostlyclean: clean
- -( cd doc && $(MAKE) $(MFLAGS) $@ )
+ -( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
${BUILD_DIR}/pathnames.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
- -( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} pathnames.h )
+ -( cd ${BUILD_DIR} && ${MAKE} ${BASH_MAKEFLAGS} pathnames.h )
######################################################################
# #
# #
#############################################################################
-# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+# Copyright (C) 1994-2024 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
documentation: force
test -d doc || mkdir doc
- -( cd doc && $(MAKE) $(MFLAGS) )
+ -( cd doc && $(MAKE) $(BASH_MAKEFLAGS) )
# Since tilde.c is shared between readline and bash, make sure we compile
# it with the right flags when it's built as part of readline
clean: force
$(RM) $(OBJECTS) *.a
- -( cd doc && $(MAKE) $(MFLAGS) $@ )
+ -( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
mostlyclean: clean
- -( cd doc && $(MAKE) $(MFLAGS) $@ )
+ -( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
distclean maintainer-clean: clean
- -( cd doc && $(MAKE) $(MFLAGS) $@ )
+ -( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
$(RM) Makefile
$(RM) TAGS tags
/* bind.c -- key binding and startup file support for the readline library. */
-/* Copyright (C) 1987-2023 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2024 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
map[i].function = (rl_command_func_t *)NULL;
rval = 1;
}
- else if (map[i].type == ISKMAP) /* TAG:readline-8.1 */
+ else if (map[i].type == ISKMAP)
{
int r;
r = rl_unbind_function_in_map (func, FUNCTION_TO_KEYMAP (map, i));
char **invokers;
function = rl_named_function (name);
- invokers = rl_invoking_keyseqs_in_map (function, kmap ? kmap : _rl_keymap);
+ invokers = function ? rl_invoking_keyseqs_in_map (function, kmap ? kmap : _rl_keymap) : (char **)NULL;
if (print_readably)
{
#endif
{
#if 0
- /* TAG: readline-8.3 20230227 */
+ /* TAG: readline-8.4 20230227 */
/* https://savannah.gnu.org/support/index.php?110830
asking for non-printing meta characters to be printed using an
escape sequence. */
# Makefile for the Bash library
#
#
-# Copyright (C) 1998-2022 Free Software Foundation, Inc.
+# Copyright (C) 1998-2024 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# Dependencies
${BUILD_DIR}/version.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
- -( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} version.h )
+ -( cd ${BUILD_DIR} && ${MAKE} ${BASH_MAKEFLAGS} version.h )
${BUILD_DIR}/pathnames.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
- -( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} pathnames.h )
+ -( cd ${BUILD_DIR} && ${MAKE} ${BASH_MAKEFLAGS} pathnames.h )
# rules for losing makes, like SunOS
anonfile.o: anonfile.c
#define CASE_USEWORDS 0x1000 /* modify behavior to act on words in passed string */
-extern char *substring (char *, int, int);
+extern char *substring (char *, size_t, size_t);
#ifndef UCHAR_MAX
# define UCHAR_MAX TYPE_MAXIMUM(unsigned char)
# #
####################################################################
-# Copyright (C) 1996-2021 Free Software Foundation, Inc.
+# Copyright (C) 1996-2024 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
-test -n "$(RANLIB)" && $(RANLIB) $@
documentation: force
- -(cd doc; $(MAKE) $(MFLAGS))
+ -(cd doc; $(MAKE) $(BASH_MAKEFLAGS))
force:
clean:
$(RM) -f $(OBJECTS) $(LIBRARY_NAME)
- -( cd doc && $(MAKE) $(MFLAGS) $@ )
+ -( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
realclean distclean maintainer-clean: clean
- -( cd doc && $(MAKE) $(MFLAGS) $@ )
+ -( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
$(RM) -f Makefile
mostlyclean: clean
- -( cd doc && $(MAKE) $(MFLAGS) $@ )
+ -( cd doc && $(MAKE) $(BASH_MAKEFLAGS) $@ )
######################################################################
# #
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "config.h"
+/* assume C90 compilation environment */
#include <stdio.h>
-#include "bashansi.h"
-#include "chartypes.h"
+#include <string.h>
+#include <stdlib.h>
#include <errno.h>
+#include <unistd.h>
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#else
-extern int optind;
-extern char *optarg;
-#endif
+#include <buildconf.h>
+#include "chartypes.h"
#include "syntax.h"
#ifndef errno
extern int errno;
#endif
-#ifndef HAVE_STRERROR
-extern char *strerror();
-#endif
-
struct wordflag {
int flag;
char *fstr;
fclose (fp);
exit (0);
}
-
-
-#if !defined (HAVE_STRERROR)
-
-#include <bashtypes.h>
-#if defined (HAVE_SYS_PARAM_H)
-# include <sys/param.h>
-#endif
-
-#if defined (HAVE_UNISTD_H)
-# include <unistd.h>
-#endif
-
-/* Return a string corresponding to the error number E. From
- the ANSI C spec. */
-#if defined (strerror)
-# undef strerror
-#endif
-
-char *
-strerror (int e)
-{
- static char emsg[40];
-#if defined (HAVE_SYS_ERRLIST)
- extern int sys_nerr;
- extern char *sys_errlist[];
-
- if (e > 0 && e < sys_nerr)
- return (sys_errlist[e]);
- else
-#endif /* HAVE_SYS_ERRLIST */
- {
- sprintf (emsg, "Unknown system error %d", e);
- return (&emsg[0]);
- }
-}
-#endif /* HAVE_STRERROR */
/* We want to make read errors cancel execution of any partial
line, so we set i = 0 if shell_input_line_terminator == READERR. */
- /* XXX TAG: bash-5.3 austingroup interp 1629 */
+ /* austin group interp 1629 */
#if defined (FATAL_READERROR)
if (shell_input_line_terminator == READERR)
i = 0; /* no-op for now */
free (ttrans);
nestlen = strlen (nestret);
}
-#if 0 /* TAG:bash-5.3 */
+#if 0 /* XXX - this is a different condition than the one immediately previous */
/* This single-quotes PARAM in ${PARAM OP WORD} when PARAM
contains a $'...' even when extended_quote is set. */
else if ((rflags & P_DQUOTE) && (dolbrace_state == DOLBRACE_PARAM) && (flags & P_DOLBRACE))
/* patchlevel.h -- current bash patch level */
-/* Copyright (C) 2001-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2024 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
/* pathnames.h -- absolute filenames that bash wants for various defaults. */
-/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2009,2024 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
}
while (fd < 0 && errno == EINTR);
-#if 0 /* TAG: bash-5.3 champetier.etienne@gmail.com 01/28/2024 */
+#if 0 /* reportedly no longer needed */
#if defined (AFS)
if ((fd < 0) && (errno == EACCES))
{
/* This is expanded version of expand_string_internal as it's called by
expand_string_leave_quoted */
td.flags = W_NOPROCSUB|W_NOTILDE; /* don't want process substitution or tilde expansion */
-#if 0 /* TAG: bash-5.2 */
+#if 0 /* TAG: notyet */
if (quoted & Q_ARRAYSUB)
td.flags |= W_NOCOMSUB;
#endif
sprintf (ret, "declare -%s %s", flags, v->name); /* just attributes, unset */
else if (i > 0)
sprintf (ret, "declare -%s %s=%s", flags, v->name, val); /* attributes, set */
-#if 1 /*TAG: tentative */
+#if 1 /*TAG: bash-5.3 tentative */
else if (i == 0 && val && local_p (v) && variable_context == v->context)
sprintf (ret, "declare %s=%s", v->name, val); /* set local variable at current scope */
else if (i == 0 && val == 0 && local_p (v) && variable_context == v->context)
/* bashversion.c -- Display bash version information. */
-/* Copyright (C) 2001-2022,2023 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2024 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "config.h"
+#include <buildconf.h>
-#include "stdc.h"
+/* assume C90 compilation environment */
#include <stdio.h>
-
-#if defined (HAVE_UNISTD_H)
-# include <unistd.h>
-extern int optind;
-extern char *optarg;
-#endif
-
-#include "bashansi.h"
+#include <string.h>
+#include <stdlib.h>
+#include <stddef.h>
+#include <unistd.h>
#include "version.h"
#include "conftypes.h"
chet@po.cwru.edu
*/
-/* Copyright (C) 1997-2002,2023 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2002,2023-2024 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
-#if defined (HAVE_CONFIG_H)
-# include <config.h>
-#endif
-
-#include "bashansi.h"
#include <stdio.h> /* puts */
+#include <stdlib.h> /* exit */
+#include <string.h> /* strncmp */
extern char **environ;
chet@po.cwru.edu
*/
-/* Copyright (C) 2002-2005,2023 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2005,2023-2024 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
-#if defined (HAVE_CONFIG_H)
-# include <config.h>
-#endif
-
-#include "bashansi.h"
#include <stdio.h>
+#include <stdlib.h>
void strprint(char *);
#endif
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
#include <ctype.h>
-
-#if HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#include "bashansi.h"
#include <errno.h>
+#include <unistd.h>
#ifndef errno
extern int errno;
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
-#if defined (HAVE_CONFIG_H)
-# include <config.h>
-#endif
-
-#include "bashansi.h"
#include <stdio.h>
+#include <stdlib.h>
int
main(int argc, char **argv)
array_eltstate_t es;
/* Let's assume that this has already been expanded once. */
- /* XXX - TAG:bash-5.2 fix with corresponding fix to execute_cmd.c:
+ /* bash-5.2 fix with corresponding fix to execute_cmd.c:
execute_cond_node() that passes TEST_ARRAYEXP in FLAGS */
if (shell_compatibility_level > 51)
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
-#include <config.h>
+#include <buildconf.h>
#include <stdio.h>
-#include "stdc.h"
-
#include "version.h"
#include "patchlevel.h"
#include "conftypes.h"