From: Chet Ramey Date: Tue, 13 Dec 2011 03:00:02 +0000 (-0500) Subject: commit bash-20100603 snapshot X-Git-Tag: bash-4.3-alpha~170 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=220537f23e7e18f09bb5560829d9ff77bbe28cbb;p=thirdparty%2Fbash.git commit bash-20100603 snapshot --- diff --git a/CWRU/CWRU.chlog b/CWRU/CWRU.chlog index f487faac9..781fb5875 100644 --- a/CWRU/CWRU.chlog +++ b/CWRU/CWRU.chlog @@ -10045,3 +10045,33 @@ builtins/hash.def - don't permit programs with slashes to be entered into the hash table at all, even with the -p option. Inconsistency pointed out by Jan Schampera + + 6/6 + --- +lib/readline/vi_mode.c + - finish restructuring rl_vi_domove and the functions that call it so + it works in callback mode, including numeric arguments. Requested + a long time ago by Bob Rossi + +lib/readline/callback.c + - arrange to call appropriate callback when readline state indicates + RL_STATE_VIMOTION, so vi motion commands like `cw' and `d2w' are + handled in callback mode + +lib/sh/wcswidth.c + - replacement wcswidth implementation + +aclocal.m4 + - add REPLACE_FUNCS(wcswidth) to BASH_CHECK_MULTIBYTE + +execute_cmd.c + - fix select_query and print_index_and_element to compute correct + display width of select list elements in presence of multibyte + characters. Bug reported by Bernd Eggink + +builtins/cd.def + - add posix-mandated -e option; currently ignored in most circumstances + +doc/{bash.1,bashref.texi} + - document new `cd -e' option + diff --git a/CWRU/CWRU.chlog~ b/CWRU/CWRU.chlog~ index eeb49aa45..8afb6f085 100644 --- a/CWRU/CWRU.chlog~ +++ b/CWRU/CWRU.chlog~ @@ -10041,3 +10041,31 @@ doc/{bash.1,bashref.texi} - document new %(datefmt)T printf format specifier and special arguments +builtins/hash.def + - don't permit programs with slashes to be entered into the hash table + at all, even with the -p option. Inconsistency pointed out by + Jan Schampera + + 6/6 + --- +lib/readline/vi_mode.c + - finish restructuring rl_vi_domove and the functions that call it so + it works in callback mode, including numeric arguments. Requested + a long time ago by Bob Rossi + +lib/readline/callback.c + - arrange to call appropriate callback when readline state indicates + RL_STATE_VIMOTION, so vi motion commands like `cw' and `d2w' are + handled in callback mode + +lib/sh/wcswidth.c + - replacement wcswidth implementation + +aclocal.m4 + - add REPLACE_FUNCS(wcswidth) to BASH_CHECK_MULTIBYTE + +execute_cmd.c + - fix select_query and print_index_and_element to compute correct + display width of select list elements in presence of multibyte + characters. Bug reported by Bernd Eggink + diff --git a/MANIFEST b/MANIFEST index 5bb3dab75..84e789af0 100644 --- a/MANIFEST +++ b/MANIFEST @@ -439,6 +439,7 @@ lib/sh/ufuncs.c f lib/sh/unicode.c f lib/sh/vprint.c f lib/sh/wcsdup.c f +lib/sh/wcswidth.c f lib/sh/winsize.c f lib/sh/zcatfd.c f lib/sh/zgetline.c f @@ -517,6 +518,8 @@ po/sv.gmo f po/sv.po f po/tr.gmo f po/tr.po f +po/uk.gmo f +po/uk.po f po/vi.gmo f po/vi.po f po/zh_CN.gmo f diff --git a/MANIFEST~ b/MANIFEST~ index 081cc3b7f..c9e3a71c6 100644 --- a/MANIFEST~ +++ b/MANIFEST~ @@ -517,6 +517,8 @@ po/sv.gmo f po/sv.po f po/tr.gmo f po/tr.po f +po/uk.gmo f +po/uk.po f po/vi.gmo f po/vi.po f po/zh_CN.gmo f @@ -942,6 +944,7 @@ tests/prec.right f tests/precedence f tests/printf.tests f tests/printf.right f +tests/printf1.sub f tests/printf2.sub f tests/printf3.sub f tests/quote.tests f diff --git a/Makefile.in b/Makefile.in index b63f7fc70..1444f47f9 100644 --- a/Makefile.in +++ b/Makefile.in @@ -214,7 +214,8 @@ SHLIB_SOURCE = ${SH_LIBSRC}/clktck.c ${SH_LIBSRC}/getcwd.c \ ${SH_LIBSRC}/casemod.c ${SH_LIBSRC}/uconvert.c \ ${SH_LIBSRC}/ufuncs.c ${SH_LIBSRC}/dprintf.c \ ${SH_LIBSRC}/input_avail.c ${SH_LIBSRC}/mbscasecmp.c \ - ${SH_LIBSRC}/fnxform.c ${SH_LIBSRC}/unicode.c + ${SH_LIBSRC}/fnxform.c ${SH_LIBSRC}/unicode.c \ + ${SH_LIBSRC}/wcswidth.c SHLIB_LIB = -lsh SHLIB_LIBNAME = libsh.a diff --git a/Makefile.in~ b/Makefile.in~ index 656de92f0..b63f7fc70 100644 --- a/Makefile.in~ +++ b/Makefile.in~ @@ -214,7 +214,7 @@ SHLIB_SOURCE = ${SH_LIBSRC}/clktck.c ${SH_LIBSRC}/getcwd.c \ ${SH_LIBSRC}/casemod.c ${SH_LIBSRC}/uconvert.c \ ${SH_LIBSRC}/ufuncs.c ${SH_LIBSRC}/dprintf.c \ ${SH_LIBSRC}/input_avail.c ${SH_LIBSRC}/mbscasecmp.c \ - ${SH_LIBSRC}/fnxform.c + ${SH_LIBSRC}/fnxform.c ${SH_LIBSRC}/unicode.c SHLIB_LIB = -lsh SHLIB_LIBNAME = libsh.a @@ -1022,7 +1022,7 @@ subst.o: config.h bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h ${BASHINCDI subst.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h subst.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h subst.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h -subst.o: make_cmd.h subst.h sig.h pathnames.h externs.h +subst.o: make_cmd.h subst.h sig.h pathnames.h externs.h parser.h subst.o: flags.h jobs.h siglist.h execute_cmd.h ${BASHINCDIR}/filecntl.h trap.h pathexp.h subst.o: mailcheck.h input.h $(DEFSRC)/getopt.h $(DEFSRC)/common.h subst.o: bashline.h bashhist.h ${GLOB_LIBSRC}/strmatch.h diff --git a/aclocal.m4 b/aclocal.m4 index 21ce4e990..9549f70ab 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1707,6 +1707,8 @@ AC_CHECK_FUNC(wcsdup, AC_DEFINE(HAVE_WCSDUP)) AC_CHECK_FUNC(wcwidth, AC_DEFINE(HAVE_WCWIDTH)) AC_CHECK_FUNC(wctype, AC_DEFINE(HAVE_WCTYPE)) +AC_REPLACE_FUNCS(wcswidth) + dnl checks for both mbrtowc and mbstate_t AC_FUNC_MBRTOWC if test $ac_cv_func_mbrtowc = yes; then diff --git a/aclocal.m4~ b/aclocal.m4~ index 10a4741e8..dd7360803 100644 --- a/aclocal.m4~ +++ b/aclocal.m4~ @@ -1695,16 +1695,21 @@ AC_CHECK_HEADERS(langinfo.h) AC_CHECK_FUNC(mbrlen, AC_DEFINE(HAVE_MBRLEN)) AC_CHECK_FUNC(mbscasecmp, AC_DEFINE(HAVE_MBSCMP)) AC_CHECK_FUNC(mbscmp, AC_DEFINE(HAVE_MBSCMP)) +AC_CHECK_FUNC(mbsnrtowcs, AC_DEFINE(HAVE_MBSNRTOWCS)) AC_CHECK_FUNC(mbsrtowcs, AC_DEFINE(HAVE_MBSRTOWCS)) + AC_REPLACE_FUNCS(mbschr) AC_CHECK_FUNC(wcrtomb, AC_DEFINE(HAVE_WCRTOMB)) AC_CHECK_FUNC(wcscoll, AC_DEFINE(HAVE_WCSCOLL)) AC_CHECK_FUNC(wcsdup, AC_DEFINE(HAVE_WCSDUP)) +AC_CHECK_FUNC(wcswidth, AC_DEFINE(HAVE_WCSWIDTH)) AC_CHECK_FUNC(wcwidth, AC_DEFINE(HAVE_WCWIDTH)) AC_CHECK_FUNC(wctype, AC_DEFINE(HAVE_WCTYPE)) +AC_REPLACE_FUNCS(wcswidth) + dnl checks for both mbrtowc and mbstate_t AC_FUNC_MBRTOWC if test $ac_cv_func_mbrtowc = yes; then diff --git a/autom4te.cache/output.0 b/autom4te.cache/output.0 index a9a53c8d3..e4c5dec0b 100644 --- a/autom4te.cache/output.0 +++ b/autom4te.cache/output.0 @@ -18314,6 +18314,116 @@ fi +for ac_func in wcswidth +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + case " $LIB@&t@OBJS " in + *" $ac_func.$ac_objext "* ) ;; + *) LIB@&t@OBJS="$LIB@&t@OBJS $ac_func.$ac_objext" + ;; +esac + +fi +done + + + + { $as_echo "$as_me:$LINENO: checking whether mbrtowc and mbstate_t are properly declared" >&5 $as_echo_n "checking whether mbrtowc and mbstate_t are properly declared... " >&6; } if test "${ac_cv_func_mbrtowc+set}" = set; then diff --git a/autom4te.cache/requests b/autom4te.cache/requests index 4a5e08c95..014c15267 100644 --- a/autom4te.cache/requests +++ b/autom4te.cache/requests @@ -15,25 +15,25 @@ 'configure.in' ], { - '_LT_AC_TAGCONFIG' => 1, 'AM_PROG_F77_C_O' => 1, - 'AC_INIT' => 1, + '_LT_AC_TAGCONFIG' => 1, 'm4_pattern_forbid' => 1, - '_AM_COND_IF' => 1, + 'AC_INIT' => 1, 'AC_CANONICAL_TARGET' => 1, - 'AC_SUBST' => 1, + '_AM_COND_IF' => 1, 'AC_CONFIG_LIBOBJ_DIR' => 1, - 'AC_FC_SRCEXT' => 1, + 'AC_SUBST' => 1, 'AC_CANONICAL_HOST' => 1, + 'AC_FC_SRCEXT' => 1, 'AC_PROG_LIBTOOL' => 1, 'AM_INIT_AUTOMAKE' => 1, 'AC_CONFIG_SUBDIRS' => 1, 'AM_AUTOMAKE_VERSION' => 1, 'LT_CONFIG_LTDL_DIR' => 1, - 'AC_REQUIRE_AUX_FILE' => 1, 'AC_CONFIG_LINKS' => 1, - 'm4_sinclude' => 1, + 'AC_REQUIRE_AUX_FILE' => 1, 'LT_SUPPORTED_TAG' => 1, + 'm4_sinclude' => 1, 'AM_MAINTAINER_MODE' => 1, 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, '_m4_warn' => 1, @@ -49,13 +49,13 @@ 'AC_CANONICAL_BUILD' => 1, 'AC_FC_FREEFORM' => 1, 'AH_OUTPUT' => 1, - '_AM_SUBST_NOTMAKE' => 1, 'AC_CONFIG_AUX_DIR' => 1, - 'sinclude' => 1, - 'm4_pattern_allow' => 1, + '_AM_SUBST_NOTMAKE' => 1, 'AM_PROG_CC_C_O' => 1, - 'AC_CANONICAL_SYSTEM' => 1, + 'm4_pattern_allow' => 1, + 'sinclude' => 1, 'AM_CONDITIONAL' => 1, + 'AC_CANONICAL_SYSTEM' => 1, 'AC_CONFIG_HEADERS' => 1, 'AC_DEFINE_TRACE_LITERAL' => 1, 'm4_include' => 1, diff --git a/autom4te.cache/traces.0 b/autom4te.cache/traces.0 index 0ac783acb..89910b77b 100644 --- a/autom4te.cache/traces.0 +++ b/autom4te.cache/traces.0 @@ -171,7 +171,7 @@ m4trace:configure.in:51: -1- AC_SUBST_TRACE([host_os]) m4trace:configure.in:51: -1- m4_pattern_allow([^host_os$]) m4trace:configure.in:101: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -aclocal.m4:1974: AM_PATH_LISPDIR is expanded from... +aclocal.m4:1976: AM_PATH_LISPDIR is expanded from... configure.in:101: the top level]) m4trace:configure.in:101: -1- AC_SUBST([EMACS]) m4trace:configure.in:101: -1- AC_SUBST_TRACE([EMACS]) @@ -583,7 +583,7 @@ m4trace:configure.in:505: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is ob You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from... ../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from... -aclocal.m4:1778: RL_LIB_READLINE_VERSION is expanded from... +aclocal.m4:1780: RL_LIB_READLINE_VERSION is expanded from... configure.in:505: the top level]) m4trace:configure.in:505: -1- AC_DEFINE_TRACE_LITERAL([RL_READLINE_VERSION]) m4trace:configure.in:505: -1- m4_pattern_allow([^RL_READLINE_VERSION$]) @@ -774,8 +774,8 @@ m4trace:configure.in:651: -1- AC_SUBST_TRACE([MSGMERGE]) m4trace:configure.in:651: -1- m4_pattern_allow([^MSGMERGE$]) m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_OUTPUT_COMMANDS' is obsolete. You should run autoupdate.], [../../lib/autoconf/status.m4:1022: AC_OUTPUT_COMMANDS is expanded from... -aclocal.m4:3679: AM_PO_SUBDIRS is expanded from... -aclocal.m4:2083: AM_GNU_GETTEXT is expanded from... +aclocal.m4:3681: AM_PO_SUBDIRS is expanded from... +aclocal.m4:2085: AM_GNU_GETTEXT is expanded from... configure.in:651: the top level]) m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([off_t]) m4trace:configure.in:651: -1- m4_pattern_allow([^off_t$]) @@ -835,9 +835,9 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is ../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from... ../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from... -aclocal.m4:2585: gt_INTDIV0 is expanded from... -aclocal.m4:2371: AM_INTL_SUBDIR is expanded from... -aclocal.m4:2083: AM_GNU_GETTEXT is expanded from... +aclocal.m4:2587: gt_INTDIV0 is expanded from... +aclocal.m4:2373: AM_INTL_SUBDIR is expanded from... +aclocal.m4:2085: AM_GNU_GETTEXT is expanded from... configure.in:651: the top level]) m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([INTDIV0_RAISES_SIGFPE]) m4trace:configure.in:651: -1- m4_pattern_allow([^INTDIV0_RAISES_SIGFPE$]) @@ -848,10 +848,10 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE ../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from... ../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from... -aclocal.m4:2687: jm_AC_HEADER_INTTYPES_H is expanded from... -aclocal.m4:3988: jm_AC_TYPE_UINTMAX_T is expanded from... -aclocal.m4:2371: AM_INTL_SUBDIR is expanded from... -aclocal.m4:2083: AM_GNU_GETTEXT is expanded from... +aclocal.m4:2689: jm_AC_HEADER_INTTYPES_H is expanded from... +aclocal.m4:3990: jm_AC_TYPE_UINTMAX_T is expanded from... +aclocal.m4:2373: AM_INTL_SUBDIR is expanded from... +aclocal.m4:2085: AM_GNU_GETTEXT is expanded from... configure.in:651: the top level]) m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H_WITH_UINTMAX]) m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_INTTYPES_H_WITH_UINTMAX$]) @@ -863,10 +863,10 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE ../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from... ../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from... -aclocal.m4:3958: jm_AC_HEADER_STDINT_H is expanded from... -aclocal.m4:3988: jm_AC_TYPE_UINTMAX_T is expanded from... -aclocal.m4:2371: AM_INTL_SUBDIR is expanded from... -aclocal.m4:2083: AM_GNU_GETTEXT is expanded from... +aclocal.m4:3960: jm_AC_HEADER_STDINT_H is expanded from... +aclocal.m4:3990: jm_AC_TYPE_UINTMAX_T is expanded from... +aclocal.m4:2373: AM_INTL_SUBDIR is expanded from... +aclocal.m4:2085: AM_GNU_GETTEXT is expanded from... configure.in:651: the top level]) m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STDINT_H_WITH_UINTMAX]) m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_STDINT_H_WITH_UINTMAX$]) @@ -878,10 +878,10 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is ../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from... ../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from... -aclocal.m4:4015: jm_AC_TYPE_UNSIGNED_LONG_LONG is expanded from... -aclocal.m4:3988: jm_AC_TYPE_UINTMAX_T is expanded from... -aclocal.m4:2371: AM_INTL_SUBDIR is expanded from... -aclocal.m4:2083: AM_GNU_GETTEXT is expanded from... +aclocal.m4:4017: jm_AC_TYPE_UNSIGNED_LONG_LONG is expanded from... +aclocal.m4:3990: jm_AC_TYPE_UINTMAX_T is expanded from... +aclocal.m4:2373: AM_INTL_SUBDIR is expanded from... +aclocal.m4:2085: AM_GNU_GETTEXT is expanded from... configure.in:651: the top level]) m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG]) m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_UNSIGNED_LONG_LONG$]) @@ -901,9 +901,9 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE ../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from... ../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from... -aclocal.m4:2660: gt_HEADER_INTTYPES_H is expanded from... -aclocal.m4:2371: AM_INTL_SUBDIR is expanded from... -aclocal.m4:2083: AM_GNU_GETTEXT is expanded from... +aclocal.m4:2662: gt_HEADER_INTTYPES_H is expanded from... +aclocal.m4:2373: AM_INTL_SUBDIR is expanded from... +aclocal.m4:2085: AM_GNU_GETTEXT is expanded from... configure.in:651: the top level]) m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H]) m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_INTTYPES_H$]) @@ -914,9 +914,9 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE ../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from... ../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from... -aclocal.m4:2715: gt_INTTYPES_PRI is expanded from... -aclocal.m4:2371: AM_INTL_SUBDIR is expanded from... -aclocal.m4:2083: AM_GNU_GETTEXT is expanded from... +aclocal.m4:2717: gt_INTTYPES_PRI is expanded from... +aclocal.m4:2373: AM_INTL_SUBDIR is expanded from... +aclocal.m4:2085: AM_GNU_GETTEXT is expanded from... configure.in:651: the top level]) m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([PRI_MACROS_BROKEN]) m4trace:configure.in:651: -1- m4_pattern_allow([^PRI_MACROS_BROKEN$]) @@ -993,20 +993,20 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is ../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from... ../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from... -aclocal.m4:2493: AM_ICONV_LINK is expanded from... -aclocal.m4:2548: AM_ICONV is expanded from... -aclocal.m4:2371: AM_INTL_SUBDIR is expanded from... -aclocal.m4:2083: AM_GNU_GETTEXT is expanded from... +aclocal.m4:2495: AM_ICONV_LINK is expanded from... +aclocal.m4:2550: AM_ICONV is expanded from... +aclocal.m4:2373: AM_INTL_SUBDIR is expanded from... +aclocal.m4:2085: AM_GNU_GETTEXT is expanded from... configure.in:651: the top level]) m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from... ../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from... -aclocal.m4:2493: AM_ICONV_LINK is expanded from... -aclocal.m4:2548: AM_ICONV is expanded from... -aclocal.m4:2371: AM_INTL_SUBDIR is expanded from... -aclocal.m4:2083: AM_GNU_GETTEXT is expanded from... +aclocal.m4:2495: AM_ICONV_LINK is expanded from... +aclocal.m4:2550: AM_ICONV is expanded from... +aclocal.m4:2373: AM_INTL_SUBDIR is expanded from... +aclocal.m4:2085: AM_GNU_GETTEXT is expanded from... configure.in:651: the top level]) m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ICONV]) m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_ICONV$]) @@ -1022,9 +1022,9 @@ m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' i You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from... ../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from... ../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from... -aclocal.m4:2548: AM_ICONV is expanded from... -aclocal.m4:2371: AM_INTL_SUBDIR is expanded from... -aclocal.m4:2083: AM_GNU_GETTEXT is expanded from... +aclocal.m4:2550: AM_ICONV is expanded from... +aclocal.m4:2373: AM_INTL_SUBDIR is expanded from... +aclocal.m4:2085: AM_GNU_GETTEXT is expanded from... configure.in:651: the top level]) m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([ICONV_CONST]) m4trace:configure.in:651: -1- m4_pattern_allow([^ICONV_CONST$]) @@ -1035,9 +1035,9 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is ../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from... ../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from... -aclocal.m4:2012: AM_LANGINFO_CODESET is expanded from... -aclocal.m4:2371: AM_INTL_SUBDIR is expanded from... -aclocal.m4:2083: AM_GNU_GETTEXT is expanded from... +aclocal.m4:2014: AM_LANGINFO_CODESET is expanded from... +aclocal.m4:2373: AM_INTL_SUBDIR is expanded from... +aclocal.m4:2085: AM_GNU_GETTEXT is expanded from... configure.in:651: the top level]) m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET]) m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_LANGINFO_CODESET$]) @@ -1048,9 +1048,9 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is ../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from... ../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from... -aclocal.m4:2782: AM_LC_MESSAGES is expanded from... -aclocal.m4:2371: AM_INTL_SUBDIR is expanded from... -aclocal.m4:2083: AM_GNU_GETTEXT is expanded from... +aclocal.m4:2784: AM_LC_MESSAGES is expanded from... +aclocal.m4:2373: AM_INTL_SUBDIR is expanded from... +aclocal.m4:2085: AM_GNU_GETTEXT is expanded from... configure.in:651: the top level]) m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LC_MESSAGES]) m4trace:configure.in:651: -1- m4_pattern_allow([^HAVE_LC_MESSAGES$]) @@ -1067,21 +1067,21 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is ../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from... ../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from... -aclocal.m4:2083: AM_GNU_GETTEXT is expanded from... +aclocal.m4:2085: AM_GNU_GETTEXT is expanded from... configure.in:651: the top level]) m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from... ../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from... -aclocal.m4:2083: AM_GNU_GETTEXT is expanded from... +aclocal.m4:2085: AM_GNU_GETTEXT is expanded from... configure.in:651: the top level]) m4trace:configure.in:651: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from... ../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from... -aclocal.m4:2083: AM_GNU_GETTEXT is expanded from... +aclocal.m4:2085: AM_GNU_GETTEXT is expanded from... configure.in:651: the top level]) m4trace:configure.in:651: -1- AC_DEFINE_TRACE_LITERAL([ENABLE_NLS]) m4trace:configure.in:651: -1- m4_pattern_allow([^ENABLE_NLS$]) @@ -1685,6 +1685,12 @@ m4trace:configure.in:805: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCWIDTH]) m4trace:configure.in:805: -2- m4_pattern_allow([^HAVE_WCWIDTH$]) m4trace:configure.in:805: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE]) m4trace:configure.in:805: -2- m4_pattern_allow([^HAVE_WCTYPE$]) +m4trace:configure.in:805: -1- AC_LIBSOURCE([wcswidth.c]) +m4trace:configure.in:805: -1- AH_OUTPUT([HAVE_WCSWIDTH], [/* Define to 1 if you have the `wcswidth\' function. */ +#undef HAVE_WCSWIDTH]) +m4trace:configure.in:805: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"]) +m4trace:configure.in:805: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.in:805: -1- m4_pattern_allow([^LIB@&t@OBJS$]) m4trace:configure.in:805: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBRTOWC]) m4trace:configure.in:805: -1- m4_pattern_allow([^HAVE_MBRTOWC$]) m4trace:configure.in:805: -1- AH_OUTPUT([HAVE_MBRTOWC], [/* Define to 1 if mbrtowc and mbstate_t are properly declared. */ @@ -2014,7 +2020,7 @@ m4trace:configure.in:886: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is ob You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from... ../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from... -aclocal.m4:1892: BASH_FUNC_CTYPE_NONASCII is expanded from... +aclocal.m4:1894: BASH_FUNC_CTYPE_NONASCII is expanded from... configure.in:886: the top level]) m4trace:configure.in:886: -1- AC_DEFINE_TRACE_LITERAL([CTYPE_NON_ASCII]) m4trace:configure.in:886: -1- m4_pattern_allow([^CTYPE_NON_ASCII$]) @@ -2301,7 +2307,7 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is ../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from... ../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from... -aclocal.m4:4037: BASH_FUNC_SNPRINTF is expanded from... +aclocal.m4:4039: BASH_FUNC_SNPRINTF is expanded from... configure.in:932: the top level]) m4trace:configure.in:932: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SNPRINTF]) m4trace:configure.in:932: -1- m4_pattern_allow([^HAVE_SNPRINTF$]) @@ -2314,7 +2320,7 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is ../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from... ../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from... -aclocal.m4:4065: BASH_FUNC_VSNPRINTF is expanded from... +aclocal.m4:4067: BASH_FUNC_VSNPRINTF is expanded from... configure.in:933: the top level]) m4trace:configure.in:933: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VSNPRINTF]) m4trace:configure.in:933: -1- m4_pattern_allow([^HAVE_VSNPRINTF$]) @@ -2398,7 +2404,7 @@ m4trace:configure.in:961: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is ob You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from... ../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from... -aclocal.m4:1936: BASH_CHECK_WCONTINUED is expanded from... +aclocal.m4:1938: BASH_CHECK_WCONTINUED is expanded from... configure.in:961: the top level]) m4trace:configure.in:961: -1- AC_DEFINE_TRACE_LITERAL([WCONTINUED_BROKEN]) m4trace:configure.in:961: -1- m4_pattern_allow([^WCONTINUED_BROKEN$]) diff --git a/builtins/cd.def b/builtins/cd.def index d558fa56a..56a46fb2b 100644 --- a/builtins/cd.def +++ b/builtins/cd.def @@ -67,9 +67,11 @@ int cdspelling = 0; int cdable_vars; +static int eflag; /* file scope so bindpwd() can see it */ + $BUILTIN cd $FUNCTION cd_builtin -$SHORT_DOC cd [-L|-P] [dir] +$SHORT_DOC cd [-L|[-P [-e]]] [dir] Change the shell working directory. Change the current directory to DIR. The default DIR is the value of the @@ -88,11 +90,14 @@ Options: -L force symbolic links to be followed -P use the physical directory structure without following symbolic links + -e if the -P option is supplied, and the current working directory + cannot be determined successfully, exit with a non-zero status The default is to follow symbolic links, as if `-L' were specified. Exit Status: -Returns 0 if the directory is changed; non-zero otherwise. +Returns 0 if the directory is changed, and if $PWD is set successfully when +-P is used; non-zero otherwise. $END /* Just set $PWD, don't change OLDPWD. Used by `pwd -P' in posix mode. */ @@ -138,6 +143,8 @@ bindpwd (no_symlinks) } setpwd (dirname); + if (dirname == 0 && eflag) + r = EXECUTION_FAILURE; if (dirname && dirname != the_current_working_directory) free (dirname); @@ -183,6 +190,7 @@ cd_builtin (list) } #endif /* RESTRICTED_SHELL */ + eflag = 0; no_symlinks = no_symbolic_links; reset_internal_getopt (); while ((opt = internal_getopt (list, "LP")) != -1) @@ -195,6 +203,9 @@ cd_builtin (list) case 'L': no_symlinks = 0; break; + case 'e': + eflag = 1; + break; default: builtin_usage (); return (EXECUTION_FAILURE); diff --git a/builtins/cd.def~ b/builtins/cd.def~ index 109e97e28..48cfcfa54 100644 --- a/builtins/cd.def~ +++ b/builtins/cd.def~ @@ -1,7 +1,7 @@ This file is cd.def, from which is created cd.c. It implements the builtins "cd" and "pwd" in Bash. -Copyright (C) 1987-2009 Free Software Foundation, Inc. +Copyright (C) 1987-2010 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. @@ -69,7 +69,7 @@ int cdable_vars; $BUILTIN cd $FUNCTION cd_builtin -$SHORT_DOC cd [-L|-P] [dir] +$SHORT_DOC cd [-L|[-P [-e]]] [dir] Change the shell working directory. Change the current directory to DIR. The default DIR is the value of the @@ -88,11 +88,14 @@ Options: -L force symbolic links to be followed -P use the physical directory structure without following symbolic links + -e if the -P option is supplied, and the current working directory + cannot be determined successfully, exit with a non-zero status The default is to follow symbolic links, as if `-L' were specified. Exit Status: -Returns 0 if the directory is changed; non-zero otherwise. +Returns 0 if the directory is changed, and if $PWD is set successfully when +-P is used; non-zero otherwise. $END /* Just set $PWD, don't change OLDPWD. Used by `pwd -P' in posix mode. */ @@ -173,7 +176,7 @@ cd_builtin (list) WORD_LIST *list; { char *dirname, *cdpath, *path, *temp; - int path_index, no_symlinks, opt, lflag; + int path_index, no_symlinks, opt, lflag, eflag; #if defined (RESTRICTED_SHELL) if (restricted) @@ -183,6 +186,7 @@ cd_builtin (list) } #endif /* RESTRICTED_SHELL */ + eflag = 0; no_symlinks = no_symbolic_links; reset_internal_getopt (); while ((opt = internal_getopt (list, "LP")) != -1) @@ -195,6 +199,9 @@ cd_builtin (list) case 'L': no_symlinks = 0; break; + case 'e': + eflag = 1; + break; default: builtin_usage (); return (EXECUTION_FAILURE); diff --git a/config.h.in b/config.h.in index 3e9f7665f..bb11a7c14 100644 --- a/config.h.in +++ b/config.h.in @@ -876,6 +876,9 @@ /* Define if you have the wctype function. */ #undef HAVE_WCTYPE +/* Define if you have the wcswidth function. */ +#undef HAVE_WCSWIDTH + /* Define if you have the wcwidth function. */ #undef HAVE_WCWIDTH diff --git a/config.h.in~ b/config.h.in~ index afc1c84dd..3e9f7665f 100644 --- a/config.h.in~ +++ b/config.h.in~ @@ -555,6 +555,9 @@ /* Define if you have the eaccess function. */ #undef HAVE_EACCESS +/* Define if you have the faccessat function. */ +#undef HAVE_FACCESSAT + /* Define if you have the fcntl function. */ #undef HAVE_FCNTL diff --git a/configure b/configure index 3ac81c7b4..6e8beb73b 100755 --- a/configure +++ b/configure @@ -18314,6 +18314,116 @@ fi +for ac_func in wcswidth +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + case " $LIBOBJS " in + *" $ac_func.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" + ;; +esac + +fi +done + + + + { $as_echo "$as_me:$LINENO: checking whether mbrtowc and mbstate_t are properly declared" >&5 $as_echo_n "checking whether mbrtowc and mbstate_t are properly declared... " >&6; } if test "${ac_cv_func_mbrtowc+set}" = set; then diff --git a/doc/bash.0 b/doc/bash.0 index 109e790dc..08127dbad 100644 --- a/doc/bash.0 +++ b/doc/bash.0 @@ -269,34 +269,39 @@ SSHHEELLLL GGRRAAMMMMAARR string that specifies how the timing information should be displayed; see the description of TTIIMMEEFFOORRMMAATT under SShheellll VVaarriiaabblleess below. - Each command in a pipeline is executed as a separate process (i.e., in + When the shell is in _p_o_s_i_x _m_o_d_e, ttiimmee may be followed by a newline. In + this case, the shell displays the total user and system time consumed + by the shell and its children. The TTIIMMEEFFOORRMMAATT variable may be used to + specify the format of the time information. + + Each command in a pipeline is executed as a separate process (i.e., in a subshell). LLiissttss - A _l_i_s_t is a sequence of one or more pipelines separated by one of the + A _l_i_s_t is a sequence of one or more pipelines separated by one of the operators ;;, &&, &&&&, or ||||, and optionally terminated by one of ;;, &&, or <>. Of these list operators, &&&& and |||| have equal precedence, followed by ;; and &&, which have equal precedence. - A sequence of one or more newlines may appear in a _l_i_s_t instead of a + A sequence of one or more newlines may appear in a _l_i_s_t instead of a semicolon to delimit commands. - If a command is terminated by the control operator &&, the shell exe- - cutes the command in the _b_a_c_k_g_r_o_u_n_d in a subshell. The shell does not - wait for the command to finish, and the return status is 0. Commands - separated by a ;; are executed sequentially; the shell waits for each - command to terminate in turn. The return status is the exit status of + If a command is terminated by the control operator &&, the shell exe- + cutes the command in the _b_a_c_k_g_r_o_u_n_d in a subshell. The shell does not + wait for the command to finish, and the return status is 0. Commands + separated by a ;; are executed sequentially; the shell waits for each + command to terminate in turn. The return status is the exit status of the last command executed. - AND and OR lists are sequences of one of more pipelines separated by - the &&&& and |||| control operators, respectively. AND and OR lists are + AND and OR lists are sequences of one of more pipelines separated by + the &&&& and |||| control operators, respectively. AND and OR lists are executed with left associativity. An AND list has the form _c_o_m_m_a_n_d_1 &&&& _c_o_m_m_a_n_d_2 - _c_o_m_m_a_n_d_2 is executed if, and only if, _c_o_m_m_a_n_d_1 returns an exit status + _c_o_m_m_a_n_d_2 is executed if, and only if, _c_o_m_m_a_n_d_1 returns an exit status of zero. An OR list has the form @@ -304,80 +309,80 @@ SSHHEELLLL GGRRAAMMMMAARR _c_o_m_m_a_n_d_1 |||| _c_o_m_m_a_n_d_2 - _c_o_m_m_a_n_d_2 is executed if and only if _c_o_m_m_a_n_d_1 returns a non-zero exit - status. The return status of AND and OR lists is the exit status of + _c_o_m_m_a_n_d_2 is executed if and only if _c_o_m_m_a_n_d_1 returns a non-zero exit + status. The return status of AND and OR lists is the exit status of the last command executed in the list. CCoommppoouunndd CCoommmmaannddss A _c_o_m_p_o_u_n_d _c_o_m_m_a_n_d is one of the following: - (_l_i_s_t) _l_i_s_t is executed in a subshell environment (see CCOOMMMMAANNDD EEXXEECCUU-- - TTIIOONN EENNVVIIRROONNMMEENNTT below). Variable assignments and builtin com- - mands that affect the shell's environment do not remain in - effect after the command completes. The return status is the + (_l_i_s_t) _l_i_s_t is executed in a subshell environment (see CCOOMMMMAANNDD EEXXEECCUU-- + TTIIOONN EENNVVIIRROONNMMEENNTT below). Variable assignments and builtin com- + mands that affect the shell's environment do not remain in + effect after the command completes. The return status is the exit status of _l_i_s_t. { _l_i_s_t; } - _l_i_s_t is simply executed in the current shell environment. _l_i_s_t - must be terminated with a newline or semicolon. This is known - as a _g_r_o_u_p _c_o_m_m_a_n_d. The return status is the exit status of - _l_i_s_t. Note that unlike the metacharacters (( and )), {{ and }} are + _l_i_s_t is simply executed in the current shell environment. _l_i_s_t + must be terminated with a newline or semicolon. This is known + as a _g_r_o_u_p _c_o_m_m_a_n_d. The return status is the exit status of + _l_i_s_t. Note that unlike the metacharacters (( and )), {{ and }} are _r_e_s_e_r_v_e_d _w_o_r_d_s and must occur where a reserved word is permitted - to be recognized. Since they do not cause a word break, they - must be separated from _l_i_s_t by whitespace or another shell + to be recognized. Since they do not cause a word break, they + must be separated from _l_i_s_t by whitespace or another shell metacharacter. ((_e_x_p_r_e_s_s_i_o_n)) - The _e_x_p_r_e_s_s_i_o_n is evaluated according to the rules described - below under AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN. If the value of the expres- - sion is non-zero, the return status is 0; otherwise the return + The _e_x_p_r_e_s_s_i_o_n is evaluated according to the rules described + below under AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN. If the value of the expres- + sion is non-zero, the return status is 0; otherwise the return status is 1. This is exactly equivalent to lleett ""_e_x_p_r_e_s_s_i_o_n"". [[[[ _e_x_p_r_e_s_s_i_o_n ]]]] - Return a status of 0 or 1 depending on the evaluation of the - conditional expression _e_x_p_r_e_s_s_i_o_n. Expressions are composed of - the primaries described below under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS. - Word splitting and pathname expansion are not performed on the - words between the [[[[ and ]]]]; tilde expansion, parameter and - variable expansion, arithmetic expansion, command substitution, - process substitution, and quote removal are performed. Condi- + Return a status of 0 or 1 depending on the evaluation of the + conditional expression _e_x_p_r_e_s_s_i_o_n. Expressions are composed of + the primaries described below under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS. + Word splitting and pathname expansion are not performed on the + words between the [[[[ and ]]]]; tilde expansion, parameter and + variable expansion, arithmetic expansion, command substitution, + process substitution, and quote removal are performed. Condi- tional operators such as --ff must be unquoted to be recognized as primaries. - When used with [[[[, The << and >> operators sort lexicographically + When used with [[[[, The << and >> operators sort lexicographically using the current locale. - When the ==== and !!== operators are used, the string to the right + When the ==== and !!== operators are used, the string to the right of the operator is considered a pattern and matched according to - the rules described below under PPaatttteerrnn MMaattcchhiinngg. If the shell - option nnooccaasseemmaattcchh is enabled, the match is performed without - regard to the case of alphabetic characters. The return value - is 0 if the string matches (====) or does not match (!!==) the pat- + the rules described below under PPaatttteerrnn MMaattcchhiinngg. If the shell + option nnooccaasseemmaattcchh is enabled, the match is performed without + regard to the case of alphabetic characters. The return value + is 0 if the string matches (====) or does not match (!!==) the pat- tern, and 1 otherwise. Any part of the pattern may be quoted to force it to be matched as a string. - An additional binary operator, ==~~, is available, with the same - precedence as ==== and !!==. When it is used, the string to the - right of the operator is considered an extended regular expres- + An additional binary operator, ==~~, is available, with the same + precedence as ==== and !!==. When it is used, the string to the + right of the operator is considered an extended regular expres- sion and matched accordingly (as in _r_e_g_e_x(3)). The return value is 0 if the string matches the pattern, and 1 otherwise. If the - regular expression is syntactically incorrect, the conditional + regular expression is syntactically incorrect, the conditional expression's return value is 2. If the shell option nnooccaasseemmaattcchh is enabled, the match is performed without regard to the case of alphabetic characters. Any part of the pattern may be quoted to - force it to be matched as a string. Substrings matched by - parenthesized subexpressions within the regular expression are - saved in the array variable BBAASSHH__RREEMMAATTCCHH. The element of - BBAASSHH__RREEMMAATTCCHH with index 0 is the portion of the string matching + force it to be matched as a string. Substrings matched by + parenthesized subexpressions within the regular expression are + saved in the array variable BBAASSHH__RREEMMAATTCCHH. The element of + BBAASSHH__RREEMMAATTCCHH with index 0 is the portion of the string matching the entire regular expression. The element of BBAASSHH__RREEMMAATTCCHH with - index _n is the portion of the string matching the _nth parenthe- + index _n is the portion of the string matching the _nth parenthe- sized subexpression. - Expressions may be combined using the following operators, + Expressions may be combined using the following operators, listed in decreasing order of precedence: (( _e_x_p_r_e_s_s_i_o_n )) - Returns the value of _e_x_p_r_e_s_s_i_o_n. This may be used to + Returns the value of _e_x_p_r_e_s_s_i_o_n. This may be used to override the normal precedence of operators. !! _e_x_p_r_e_s_s_i_o_n True if _e_x_p_r_e_s_s_i_o_n is false. @@ -387,187 +392,187 @@ SSHHEELLLL GGRRAAMMMMAARR True if either _e_x_p_r_e_s_s_i_o_n_1 or _e_x_p_r_e_s_s_i_o_n_2 is true. The &&&& and |||| operators do not evaluate _e_x_p_r_e_s_s_i_o_n_2 if the value - of _e_x_p_r_e_s_s_i_o_n_1 is sufficient to determine the return value of + of _e_x_p_r_e_s_s_i_o_n_1 is sufficient to determine the return value of the entire conditional expression. ffoorr _n_a_m_e [ [ iinn [ _w_o_r_d _._._. ] ] ; ] ddoo _l_i_s_t ; ddoonnee The list of words following iinn is expanded, generating a list of items. The variable _n_a_m_e is set to each element of this list in - turn, and _l_i_s_t is executed each time. If the iinn _w_o_r_d is omit- - ted, the ffoorr command executes _l_i_s_t once for each positional + turn, and _l_i_s_t is executed each time. If the iinn _w_o_r_d is omit- + ted, the ffoorr command executes _l_i_s_t once for each positional parameter that is set (see PPAARRAAMMEETTEERRSS below). The return status - is the exit status of the last command that executes. If the + is the exit status of the last command that executes. If the expansion of the items following iinn results in an empty list, no commands are executed, and the return status is 0. ffoorr (( _e_x_p_r_1 ; _e_x_p_r_2 ; _e_x_p_r_3 )) ; ddoo _l_i_s_t ; ddoonnee First, the arithmetic expression _e_x_p_r_1 is evaluated according to - the rules described below under AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN. The - arithmetic expression _e_x_p_r_2 is then evaluated repeatedly until - it evaluates to zero. Each time _e_x_p_r_2 evaluates to a non-zero - value, _l_i_s_t is executed and the arithmetic expression _e_x_p_r_3 is - evaluated. If any expression is omitted, it behaves as if it + the rules described below under AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN. The + arithmetic expression _e_x_p_r_2 is then evaluated repeatedly until + it evaluates to zero. Each time _e_x_p_r_2 evaluates to a non-zero + value, _l_i_s_t is executed and the arithmetic expression _e_x_p_r_3 is + evaluated. If any expression is omitted, it behaves as if it evaluates to 1. The return value is the exit status of the last command in _l_i_s_t that is executed, or false if any of the expres- sions is invalid. sseelleecctt _n_a_m_e [ iinn _w_o_r_d ] ; ddoo _l_i_s_t ; ddoonnee The list of words following iinn is expanded, generating a list of - items. The set of expanded words is printed on the standard - error, each preceded by a number. If the iinn _w_o_r_d is omitted, - the positional parameters are printed (see PPAARRAAMMEETTEERRSS below). - The PPSS33 prompt is then displayed and a line read from the stan- - dard input. If the line consists of a number corresponding to - one of the displayed words, then the value of _n_a_m_e is set to - that word. If the line is empty, the words and prompt are dis- + items. The set of expanded words is printed on the standard + error, each preceded by a number. If the iinn _w_o_r_d is omitted, + the positional parameters are printed (see PPAARRAAMMEETTEERRSS below). + The PPSS33 prompt is then displayed and a line read from the stan- + dard input. If the line consists of a number corresponding to + one of the displayed words, then the value of _n_a_m_e is set to + that word. If the line is empty, the words and prompt are dis- played again. If EOF is read, the command completes. Any other - value read causes _n_a_m_e to be set to null. The line read is - saved in the variable RREEPPLLYY. The _l_i_s_t is executed after each + value read causes _n_a_m_e to be set to null. The line read is + saved in the variable RREEPPLLYY. The _l_i_s_t is executed after each selection until a bbrreeaakk command is executed. The exit status of - sseelleecctt is the exit status of the last command executed in _l_i_s_t, + sseelleecctt is the exit status of the last command executed in _l_i_s_t, or zero if no commands were executed. ccaassee _w_o_r_d iinn [ [(] _p_a_t_t_e_r_n [ || _p_a_t_t_e_r_n ] ... ) _l_i_s_t ;; ] ... eessaacc A ccaassee command first expands _w_o_r_d, and tries to match it against each _p_a_t_t_e_r_n in turn, using the same matching rules as for path- - name expansion (see PPaatthhnnaammee EExxppaannssiioonn below). The _w_o_r_d is - expanded using tilde expansion, parameter and variable expan- - sion, arithmetic substitution, command substitution, process - substitution and quote removal. Each _p_a_t_t_e_r_n examined is + name expansion (see PPaatthhnnaammee EExxppaannssiioonn below). The _w_o_r_d is expanded using tilde expansion, parameter and variable expan- + sion, arithmetic substitution, command substitution, process + substitution and quote removal. Each _p_a_t_t_e_r_n examined is + expanded using tilde expansion, parameter and variable expan- sion, arithmetic substitution, command substitution, and process - substitution. If the shell option nnooccaasseemmaattcchh is enabled, the - match is performed without regard to the case of alphabetic - characters. When a match is found, the corresponding _l_i_s_t is + substitution. If the shell option nnooccaasseemmaattcchh is enabled, the + match is performed without regard to the case of alphabetic + characters. When a match is found, the corresponding _l_i_s_t is executed. If the ;;;; operator is used, no subsequent matches are - attempted after the first pattern match. Using ;;&& in place of - ;;;; causes execution to continue with the _l_i_s_t associated with - the next set of patterns. Using ;;;;&& in place of ;;;; causes the - shell to test the next pattern list in the statement, if any, + attempted after the first pattern match. Using ;;&& in place of + ;;;; causes execution to continue with the _l_i_s_t associated with + the next set of patterns. Using ;;;;&& in place of ;;;; causes the + shell to test the next pattern list in the statement, if any, and execute any associated _l_i_s_t on a successful match. The exit status is zero if no pattern matches. Otherwise, it is the exit status of the last command executed in _l_i_s_t. iiff _l_i_s_t; tthheenn _l_i_s_t_; [ eelliiff _l_i_s_t; tthheenn _l_i_s_t; ] ... [ eellssee _l_i_s_t; ] ffii - The iiff _l_i_s_t is executed. If its exit status is zero, the tthheenn - _l_i_s_t is executed. Otherwise, each eelliiff _l_i_s_t is executed in - turn, and if its exit status is zero, the corresponding tthheenn + The iiff _l_i_s_t is executed. If its exit status is zero, the tthheenn + _l_i_s_t is executed. Otherwise, each eelliiff _l_i_s_t is executed in + turn, and if its exit status is zero, the corresponding tthheenn _l_i_s_t is executed and the command completes. Otherwise, the eellssee - _l_i_s_t is executed, if present. The exit status is the exit sta- + _l_i_s_t is executed, if present. The exit status is the exit sta- tus of the last command executed, or zero if no condition tested true. wwhhiillee _l_i_s_t; ddoo _l_i_s_t; ddoonnee uunnttiill _l_i_s_t; ddoo _l_i_s_t; ddoonnee - The wwhhiillee command continuously executes the ddoo _l_i_s_t as long as - the last command in _l_i_s_t returns an exit status of zero. The + The wwhhiillee command continuously executes the ddoo _l_i_s_t as long as + the last command in _l_i_s_t returns an exit status of zero. The uunnttiill command is identical to the wwhhiillee command, except that the - test is negated; the ddoo _l_i_s_t is executed as long as the last + test is negated; the ddoo _l_i_s_t is executed as long as the last command in _l_i_s_t returns a non-zero exit status. The exit status - of the wwhhiillee and uunnttiill commands is the exit status of the last + of the wwhhiillee and uunnttiill commands is the exit status of the last ddoo _l_i_s_t command executed, or zero if none was executed. CCoopprroocceesssseess A _c_o_p_r_o_c_e_s_s is a shell command preceded by the ccoopprroocc reserved word. A - coprocess is executed asynchronously in a subshell, as if the command - had been terminated with the && control operator, with a two-way pipe + coprocess is executed asynchronously in a subshell, as if the command + had been terminated with the && control operator, with a two-way pipe established between the executing shell and the coprocess. The format for a coprocess is: ccoopprroocc [_N_A_M_E] _c_o_m_m_a_n_d [_r_e_d_i_r_e_c_t_i_o_n_s] - This creates a coprocess named _N_A_M_E. If _N_A_M_E is not supplied, the + This creates a coprocess named _N_A_M_E. If _N_A_M_E is not supplied, the default name is _C_O_P_R_O_C. _N_A_M_E must not be supplied if _c_o_m_m_a_n_d is a _s_i_m_- _p_l_e _c_o_m_m_a_n_d (see above); otherwise, it is interpreted as the first word - of the simple command. When the coproc is executed, the shell creates - an array variable (see AArrrraayyss below) named _N_A_M_E in the context of the - executing shell. The standard output of _c_o_m_m_a_n_d is connected via a - pipe to a file descriptor in the executing shell, and that file - descriptor is assigned to _N_A_M_E[0]. The standard input of _c_o_m_m_a_n_d is - connected via a pipe to a file descriptor in the executing shell, and - that file descriptor is assigned to _N_A_M_E[1]. This pipe is established - before any redirections specified by the command (see RREEDDIIRREECCTTIIOONN - below). The file descriptors can be utilized as arguments to shell - commands and redirections using standard word expansions. The process - id of the shell spawned to execute the coprocess is available as the - value of the variable _N_A_M_E_PID. The wwaaiitt builtin command may be used + of the simple command. When the coproc is executed, the shell creates + an array variable (see AArrrraayyss below) named _N_A_M_E in the context of the + executing shell. The standard output of _c_o_m_m_a_n_d is connected via a + pipe to a file descriptor in the executing shell, and that file + descriptor is assigned to _N_A_M_E[0]. The standard input of _c_o_m_m_a_n_d is + connected via a pipe to a file descriptor in the executing shell, and + that file descriptor is assigned to _N_A_M_E[1]. This pipe is established + before any redirections specified by the command (see RREEDDIIRREECCTTIIOONN + below). The file descriptors can be utilized as arguments to shell + commands and redirections using standard word expansions. The process + id of the shell spawned to execute the coprocess is available as the + value of the variable _N_A_M_E_PID. The wwaaiitt builtin command may be used to wait for the coprocess to terminate. The return status of a coprocess is the exit status of _c_o_m_m_a_n_d. SShheellll FFuunnccttiioonn DDeeffiinniittiioonnss - A shell function is an object that is called like a simple command and - executes a compound command with a new set of positional parameters. + A shell function is an object that is called like a simple command and + executes a compound command with a new set of positional parameters. Shell functions are declared as follows: [ ffuunnccttiioonn ] _n_a_m_e () _c_o_m_p_o_u_n_d_-_c_o_m_m_a_n_d [_r_e_d_i_r_e_c_t_i_o_n] - This defines a function named _n_a_m_e. The reserved word ffuunnccttiioonn - is optional. If the ffuunnccttiioonn reserved word is supplied, the - parentheses are optional. The _b_o_d_y of the function is the com- - pound command _c_o_m_p_o_u_n_d_-_c_o_m_m_a_n_d (see CCoommppoouunndd CCoommmmaannddss above). - That command is usually a _l_i_s_t of commands between { and }, but - may be any command listed under CCoommppoouunndd CCoommmmaannddss above. _c_o_m_- + This defines a function named _n_a_m_e. The reserved word ffuunnccttiioonn + is optional. If the ffuunnccttiioonn reserved word is supplied, the + parentheses are optional. The _b_o_d_y of the function is the com- + pound command _c_o_m_p_o_u_n_d_-_c_o_m_m_a_n_d (see CCoommppoouunndd CCoommmmaannddss above). + That command is usually a _l_i_s_t of commands between { and }, but + may be any command listed under CCoommppoouunndd CCoommmmaannddss above. _c_o_m_- _p_o_u_n_d_-_c_o_m_m_a_n_d is executed whenever _n_a_m_e is specified as the name - of a simple command. Any redirections (see RREEDDIIRREECCTTIIOONN below) - specified when a function is defined are performed when the - function is executed. The exit status of a function definition + of a simple command. Any redirections (see RREEDDIIRREECCTTIIOONN below) + specified when a function is defined are performed when the + function is executed. The exit status of a function definition is zero unless a syntax error occurs or a readonly function with the same name already exists. When executed, the exit status of - a function is the exit status of the last command executed in + a function is the exit status of the last command executed in the body. (See FFUUNNCCTTIIOONNSS below.) CCOOMMMMEENNTTSS In a non-interactive shell, or an interactive shell in which the iinntteerr-- - aaccttiivvee__ccoommmmeennttss option to the sshhoopptt builtin is enabled (see SSHHEELLLL - BBUUIILLTTIINN CCOOMMMMAANNDDSS below), a word beginning with ## causes that word and - all remaining characters on that line to be ignored. An interactive - shell without the iinntteerraaccttiivvee__ccoommmmeennttss option enabled does not allow + aaccttiivvee__ccoommmmeennttss option to the sshhoopptt builtin is enabled (see SSHHEELLLL + BBUUIILLTTIINN CCOOMMMMAANNDDSS below), a word beginning with ## causes that word and + all remaining characters on that line to be ignored. An interactive + shell without the iinntteerraaccttiivvee__ccoommmmeennttss option enabled does not allow comments. The iinntteerraaccttiivvee__ccoommmmeennttss option is on by default in interac- tive shells. QQUUOOTTIINNGG - _Q_u_o_t_i_n_g is used to remove the special meaning of certain characters or - words to the shell. Quoting can be used to disable special treatment + _Q_u_o_t_i_n_g is used to remove the special meaning of certain characters or + words to the shell. Quoting can be used to disable special treatment for special characters, to prevent reserved words from being recognized as such, and to prevent parameter expansion. - Each of the _m_e_t_a_c_h_a_r_a_c_t_e_r_s listed above under DDEEFFIINNIITTIIOONNSS has special + Each of the _m_e_t_a_c_h_a_r_a_c_t_e_r_s listed above under DDEEFFIINNIITTIIOONNSS has special meaning to the shell and must be quoted if it is to represent itself. - When the command history expansion facilities are being used (see HHIISS-- + When the command history expansion facilities are being used (see HHIISS-- TTOORRYY EEXXPPAANNSSIIOONN below), the _h_i_s_t_o_r_y _e_x_p_a_n_s_i_o_n character, usually !!, must be quoted to prevent history expansion. - There are three quoting mechanisms: the _e_s_c_a_p_e _c_h_a_r_a_c_t_e_r, single + There are three quoting mechanisms: the _e_s_c_a_p_e _c_h_a_r_a_c_t_e_r, single quotes, and double quotes. - A non-quoted backslash (\\) is the _e_s_c_a_p_e _c_h_a_r_a_c_t_e_r. It preserves the + A non-quoted backslash (\\) is the _e_s_c_a_p_e _c_h_a_r_a_c_t_e_r. It preserves the literal value of the next character that follows, with the exception of - . If a \\ pair appears, and the backslash is not - itself quoted, the \\ is treated as a line continuation (that + . If a \\ pair appears, and the backslash is not + itself quoted, the \\ is treated as a line continuation (that is, it is removed from the input stream and effectively ignored). - Enclosing characters in single quotes preserves the literal value of + Enclosing characters in single quotes preserves the literal value of each character within the quotes. A single quote may not occur between single quotes, even when preceded by a backslash. - Enclosing characters in double quotes preserves the literal value of - all characters within the quotes, with the exception of $$, ``, \\, and, - when history expansion is enabled, !!. The characters $$ and `` retain - their special meaning within double quotes. The backslash retains its - special meaning only when followed by one of the following characters: - $$, ``, "", \\, or <>. A double quote may be quoted within double + Enclosing characters in double quotes preserves the literal value of + all characters within the quotes, with the exception of $$, ``, \\, and, + when history expansion is enabled, !!. The characters $$ and `` retain + their special meaning within double quotes. The backslash retains its + special meaning only when followed by one of the following characters: + $$, ``, "", \\, or <>. A double quote may be quoted within double quotes by preceding it with a backslash. If enabled, history expansion - will be performed unless an !! appearing in double quotes is escaped + will be performed unless an !! appearing in double quotes is escaped using a backslash. The backslash preceding the !! is not removed. - The special parameters ** and @@ have special meaning when in double + The special parameters ** and @@ have special meaning when in double quotes (see PPAARRAAMMEETTEERRSS below). Words of the form $$'_s_t_r_i_n_g' are treated specially. The word expands to - _s_t_r_i_n_g, with backslash-escaped characters replaced as specified by the - ANSI C standard. Backslash escape sequences, if present, are decoded + _s_t_r_i_n_g, with backslash-escaped characters replaced as specified by the + ANSI C standard. Backslash escape sequences, if present, are decoded as follows: \\aa alert (bell) \\bb backspace @@ -581,210 +586,215 @@ QQUUOOTTIINNGG \\\\ backslash \\'' single quote \\"" double quote - \\_n_n_n the eight-bit character whose value is the octal value + \\_n_n_n the eight-bit character whose value is the octal value _n_n_n (one to three digits) - \\xx_H_H the eight-bit character whose value is the hexadecimal + \\xx_H_H the eight-bit character whose value is the hexadecimal value _H_H (one or two hex digits) + \\uu_H_H_H_H the Unicode (ISO/IEC 10646) character whose value is the + hexadecimal value _H_H_H_H (one to four hex digits) + \\UU_H_H_H_H_H_H_H_H + the Unicode (ISO/IEC 10646) character whose value is the + hexadecimal value _H_H_H_H_H_H_H_H (one to eight hex digits) \\cc_x a control-_x character - The expanded result is single-quoted, as if the dollar sign had not + The expanded result is single-quoted, as if the dollar sign had not been present. A double-quoted string preceded by a dollar sign ($$"_s_t_r_i_n_g") will cause - the string to be translated according to the current locale. If the - current locale is CC or PPOOSSIIXX, the dollar sign is ignored. If the + the string to be translated according to the current locale. If the + current locale is CC or PPOOSSIIXX, the dollar sign is ignored. If the string is translated and replaced, the replacement is double-quoted. PPAARRAAMMEETTEERRSS - A _p_a_r_a_m_e_t_e_r is an entity that stores values. It can be a _n_a_m_e, a num- + A _p_a_r_a_m_e_t_e_r is an entity that stores values. It can be a _n_a_m_e, a num- ber, or one of the special characters listed below under SSppeecciiaall PPaarraamm-- - eetteerrss. A _v_a_r_i_a_b_l_e is a parameter denoted by a _n_a_m_e. A variable has a - _v_a_l_u_e and zero or more _a_t_t_r_i_b_u_t_e_s. Attributes are assigned using the - ddeeccllaarree builtin command (see ddeeccllaarree below in SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS). + eetteerrss. A _v_a_r_i_a_b_l_e is a parameter denoted by a _n_a_m_e. A variable has a + _v_a_l_u_e and zero or more _a_t_t_r_i_b_u_t_e_s. Attributes are assigned using the + ddeeccllaarree builtin command (see ddeeccllaarree below in SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS). A parameter is set if it has been assigned a value. The null string is - a valid value. Once a variable is set, it may be unset only by using + a valid value. Once a variable is set, it may be unset only by using the uunnsseett builtin command (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). A _v_a_r_i_a_b_l_e may be assigned to by a statement of the form _n_a_m_e=[_v_a_l_u_e] - If _v_a_l_u_e is not given, the variable is assigned the null string. All - _v_a_l_u_e_s undergo tilde expansion, parameter and variable expansion, com- - mand substitution, arithmetic expansion, and quote removal (see EEXXPPAANN-- + If _v_a_l_u_e is not given, the variable is assigned the null string. All + _v_a_l_u_e_s undergo tilde expansion, parameter and variable expansion, com- + mand substitution, arithmetic expansion, and quote removal (see EEXXPPAANN-- SSIIOONN below). If the variable has its iinntteeggeerr attribute set, then _v_a_l_u_e is evaluated as an arithmetic expression even if the $((...)) expansion - is not used (see AArriitthhmmeettiicc EExxppaannssiioonn below). Word splitting is not - performed, with the exception of ""$$@@"" as explained below under SSppeecciiaall - PPaarraammeetteerrss. Pathname expansion is not performed. Assignment state- - ments may also appear as arguments to the aalliiaass, ddeeccllaarree, ttyyppeesseett, + is not used (see AArriitthhmmeettiicc EExxppaannssiioonn below). Word splitting is not + performed, with the exception of ""$$@@"" as explained below under SSppeecciiaall + PPaarraammeetteerrss. Pathname expansion is not performed. Assignment state- + ments may also appear as arguments to the aalliiaass, ddeeccllaarree, ttyyppeesseett, eexxppoorrtt, rreeaaddoonnllyy, and llooccaall builtin commands. - In the context where an assignment statement is assigning a value to a + In the context where an assignment statement is assigning a value to a shell variable or array index, the += operator can be used to append to or add to the variable's previous value. When += is applied to a vari- - able for which the integer attribute has been set, _v_a_l_u_e is evaluated - as an arithmetic expression and added to the variable's current value, + able for which the integer attribute has been set, _v_a_l_u_e is evaluated + as an arithmetic expression and added to the variable's current value, which is also evaluated. When += is applied to an array variable using - compound assignment (see AArrrraayyss below), the variable's value is not + compound assignment (see AArrrraayyss below), the variable's value is not unset (as it is when using =), and new values are appended to the array - beginning at one greater than the array's maximum index (for indexed + beginning at one greater than the array's maximum index (for indexed arrays) or added as additional key-value pairs in an associative array. - When applied to a string-valued variable, _v_a_l_u_e is expanded and + When applied to a string-valued variable, _v_a_l_u_e is expanded and appended to the variable's value. PPoossiittiioonnaall PPaarraammeetteerrss - A _p_o_s_i_t_i_o_n_a_l _p_a_r_a_m_e_t_e_r is a parameter denoted by one or more digits, + A _p_o_s_i_t_i_o_n_a_l _p_a_r_a_m_e_t_e_r is a parameter denoted by one or more digits, other than the single digit 0. Positional parameters are assigned from - the shell's arguments when it is invoked, and may be reassigned using - the sseett builtin command. Positional parameters may not be assigned to - with assignment statements. The positional parameters are temporarily + the shell's arguments when it is invoked, and may be reassigned using + the sseett builtin command. Positional parameters may not be assigned to + with assignment statements. The positional parameters are temporarily replaced when a shell function is executed (see FFUUNNCCTTIIOONNSS below). - When a positional parameter consisting of more than a single digit is + When a positional parameter consisting of more than a single digit is expanded, it must be enclosed in braces (see EEXXPPAANNSSIIOONN below). SSppeecciiaall PPaarraammeetteerrss - The shell treats several parameters specially. These parameters may + The shell treats several parameters specially. These parameters may only be referenced; assignment to them is not allowed. - ** Expands to the positional parameters, starting from one. When - the expansion occurs within double quotes, it expands to a sin- + ** Expands to the positional parameters, starting from one. When + the expansion occurs within double quotes, it expands to a sin- gle word with the value of each parameter separated by the first character of the IIFFSS special variable. That is, "$$**" is equiva- lent to "$$11_c$$22_c......", where _c is the first character of the value - of the IIFFSS variable. If IIFFSS is unset, the parameters are sepa- - rated by spaces. If IIFFSS is null, the parameters are joined + of the IIFFSS variable. If IIFFSS is unset, the parameters are sepa- + rated by spaces. If IIFFSS is null, the parameters are joined without intervening separators. - @@ Expands to the positional parameters, starting from one. When + @@ Expands to the positional parameters, starting from one. When the expansion occurs within double quotes, each parameter expands to a separate word. That is, "$$@@" is equivalent to "$$11" - "$$22" ... If the double-quoted expansion occurs within a word, - the expansion of the first parameter is joined with the begin- - ning part of the original word, and the expansion of the last - parameter is joined with the last part of the original word. - When there are no positional parameters, "$$@@" and $$@@ expand to + "$$22" ... If the double-quoted expansion occurs within a word, + the expansion of the first parameter is joined with the begin- + ning part of the original word, and the expansion of the last + parameter is joined with the last part of the original word. + When there are no positional parameters, "$$@@" and $$@@ expand to nothing (i.e., they are removed). ## Expands to the number of positional parameters in decimal. - ?? Expands to the exit status of the most recently executed fore- + ?? Expands to the exit status of the most recently executed fore- ground pipeline. - -- Expands to the current option flags as specified upon invoca- - tion, by the sseett builtin command, or those set by the shell + -- Expands to the current option flags as specified upon invoca- + tion, by the sseett builtin command, or those set by the shell itself (such as the --ii option). - $$ Expands to the process ID of the shell. In a () subshell, it - expands to the process ID of the current shell, not the sub- + $$ Expands to the process ID of the shell. In a () subshell, it + expands to the process ID of the current shell, not the sub- shell. - !! Expands to the process ID of the most recently executed back- + !! Expands to the process ID of the most recently executed back- ground (asynchronous) command. - 00 Expands to the name of the shell or shell script. This is set + 00 Expands to the name of the shell or shell script. This is set at shell initialization. If bbaasshh is invoked with a file of com- - mands, $$00 is set to the name of that file. If bbaasshh is started - with the --cc option, then $$00 is set to the first argument after - the string to be executed, if one is present. Otherwise, it is - set to the file name used to invoke bbaasshh, as given by argument + mands, $$00 is set to the name of that file. If bbaasshh is started + with the --cc option, then $$00 is set to the first argument after + the string to be executed, if one is present. Otherwise, it is + set to the file name used to invoke bbaasshh, as given by argument zero. - __ At shell startup, set to the absolute pathname used to invoke - the shell or shell script being executed as passed in the envi- - ronment or argument list. Subsequently, expands to the last - argument to the previous command, after expansion. Also set to - the full pathname used to invoke each command executed and + __ At shell startup, set to the absolute pathname used to invoke + the shell or shell script being executed as passed in the envi- + ronment or argument list. Subsequently, expands to the last + argument to the previous command, after expansion. Also set to + the full pathname used to invoke each command executed and placed in the environment exported to that command. When check- - ing mail, this parameter holds the name of the mail file cur- + ing mail, this parameter holds the name of the mail file cur- rently being checked. SShheellll VVaarriiaabblleess The following variables are set by the shell: - BBAASSHH Expands to the full file name used to invoke this instance of + BBAASSHH Expands to the full file name used to invoke this instance of bbaasshh. BBAASSHHOOPPTTSS - A colon-separated list of enabled shell options. Each word in - the list is a valid argument for the --ss option to the sshhoopptt + A colon-separated list of enabled shell options. Each word in + the list is a valid argument for the --ss option to the sshhoopptt builtin command (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). The options - appearing in BBAASSHHOOPPTTSS are those reported as _o_n by sshhoopptt. If - this variable is in the environment when bbaasshh starts up, each - shell option in the list will be enabled before reading any + appearing in BBAASSHHOOPPTTSS are those reported as _o_n by sshhoopptt. If + this variable is in the environment when bbaasshh starts up, each + shell option in the list will be enabled before reading any startup files. This variable is read-only. BBAASSHHPPIIDD - Expands to the process id of the current bbaasshh process. This - differs from $$$$ under certain circumstances, such as subshells + Expands to the process id of the current bbaasshh process. This + differs from $$$$ under certain circumstances, such as subshells that do not require bbaasshh to be re-initialized. BBAASSHH__AALLIIAASSEESS - An associative array variable whose members correspond to the - internal list of aliases as maintained by the aalliiaass builtin. + An associative array variable whose members correspond to the + internal list of aliases as maintained by the aalliiaass builtin. Elements added to this array appear in the alias list; unsetting - array elements cause aliases to be removed from the alias list. + array elements cause aliases to be removed from the alias list. BBAASSHH__AARRGGCC - An array variable whose values are the number of parameters in + An array variable whose values are the number of parameters in each frame of the current bbaasshh execution call stack. The number - of parameters to the current subroutine (shell function or - script executed with .. or ssoouurrccee) is at the top of the stack. - When a subroutine is executed, the number of parameters passed + of parameters to the current subroutine (shell function or + script executed with .. or ssoouurrccee) is at the top of the stack. + When a subroutine is executed, the number of parameters passed is pushed onto BBAASSHH__AARRGGCC. The shell sets BBAASSHH__AARRGGCC only when in - extended debugging mode (see the description of the eexxttddeebbuugg + extended debugging mode (see the description of the eexxttddeebbuugg option to the sshhoopptt builtin below) BBAASSHH__AARRGGVV - An array variable containing all of the parameters in the cur- + An array variable containing all of the parameters in the cur- rent bbaasshh execution call stack. The final parameter of the last - subroutine call is at the top of the stack; the first parameter + subroutine call is at the top of the stack; the first parameter of the initial call is at the bottom. When a subroutine is exe- - cuted, the parameters supplied are pushed onto BBAASSHH__AARRGGVV. The - shell sets BBAASSHH__AARRGGVV only when in extended debugging mode (see - the description of the eexxttddeebbuugg option to the sshhoopptt builtin + cuted, the parameters supplied are pushed onto BBAASSHH__AARRGGVV. The + shell sets BBAASSHH__AARRGGVV only when in extended debugging mode (see + the description of the eexxttddeebbuugg option to the sshhoopptt builtin below) BBAASSHH__CCMMDDSS - An associative array variable whose members correspond to the - internal hash table of commands as maintained by the hhaasshh + An associative array variable whose members correspond to the + internal hash table of commands as maintained by the hhaasshh builtin. Elements added to this array appear in the hash table; - unsetting array elements cause commands to be removed from the + unsetting array elements cause commands to be removed from the hash table. BBAASSHH__CCOOMMMMAANNDD - The command currently being executed or about to be executed, + The command currently being executed or about to be executed, unless the shell is executing a command as the result of a trap, - in which case it is the command executing at the time of the + in which case it is the command executing at the time of the trap. BBAASSHH__EEXXEECCUUTTIIOONN__SSTTRRIINNGG The command argument to the --cc invocation option. BBAASSHH__LLIINNEENNOO - An array variable whose members are the line numbers in source - files corresponding to each member of FFUUNNCCNNAAMMEE. - $${{BBAASSHH__LLIINNEENNOO[[_$_i]]}} is the line number in the source file where - $${{FFUUNNCCNNAAMMEE[[_$_i]]}} was called (or $${{BBAASSHH__LLIINNEENNOO[[_$_i_-_1]]}} if refer- - enced within another shell function). The corresponding source - file name is $${{BBAASSHH__SSOOUURRCCEE[[_$_i]]}}. Use LLIINNEENNOO to obtain the cur- + An array variable whose members are the line numbers in source + files corresponding to each member of FFUUNNCCNNAAMMEE. + $${{BBAASSHH__LLIINNEENNOO[[_$_i]]}} is the line number in the source file where + $${{FFUUNNCCNNAAMMEE[[_$_i]]}} was called (or $${{BBAASSHH__LLIINNEENNOO[[_$_i_-_1]]}} if refer- + enced within another shell function). The corresponding source + file name is $${{BBAASSHH__SSOOUURRCCEE[[_$_i]]}}. Use LLIINNEENNOO to obtain the cur- rent line number. BBAASSHH__RREEMMAATTCCHH - An array variable whose members are assigned by the ==~~ binary - operator to the [[[[ conditional command. The element with index - 0 is the portion of the string matching the entire regular - expression. The element with index _n is the portion of the + An array variable whose members are assigned by the ==~~ binary + operator to the [[[[ conditional command. The element with index + 0 is the portion of the string matching the entire regular + expression. The element with index _n is the portion of the string matching the _nth parenthesized subexpression. This vari- able is read-only. BBAASSHH__SSOOUURRCCEE - An array variable whose members are the source filenames corre- + An array variable whose members are the source filenames corre- sponding to the elements in the FFUUNNCCNNAAMMEE array variable. BBAASSHH__SSUUBBSSHHEELLLL - Incremented by one each time a subshell or subshell environment + Incremented by one each time a subshell or subshell environment is spawned. The initial value is 0. BBAASSHH__VVEERRSSIINNFFOO A readonly array variable whose members hold version information - for this instance of bbaasshh. The values assigned to the array + for this instance of bbaasshh. The values assigned to the array members are as follows: - BBAASSHH__VVEERRSSIINNFFOO[[0]] The major version number (the _r_e_l_e_a_s_e). - BBAASSHH__VVEERRSSIINNFFOO[[1]] The minor version number (the _v_e_r_s_i_o_n). + BBAASSHH__VVEERRSSIINNFFOO[[0]] The major version number (the _r_e_l_e_a_s_e). + BBAASSHH__VVEERRSSIINNFFOO[[1]] The minor version number (the _v_e_r_s_i_o_n). BBAASSHH__VVEERRSSIINNFFOO[[2]] The patch level. BBAASSHH__VVEERRSSIINNFFOO[[3]] The build version. BBAASSHH__VVEERRSSIINNFFOO[[4]] The release status (e.g., _b_e_t_a_1). BBAASSHH__VVEERRSSIINNFFOO[[5]] The value of MMAACCHHTTYYPPEE. BBAASSHH__VVEERRSSIIOONN - Expands to a string describing the version of this instance of + Expands to a string describing the version of this instance of bbaasshh. CCOOMMPP__CCWWOORRDD - An index into $${{CCOOMMPP__WWOORRDDSS}} of the word containing the current + An index into $${{CCOOMMPP__WWOORRDDSS}} of the word containing the current cursor position. This variable is available only in shell func- - tions invoked by the programmable completion facilities (see + tions invoked by the programmable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn below). CCOOMMPP__KKEEYY @@ -792,124 +802,124 @@ PPAARRAAMMEETTEERRSS rent completion function. CCOOMMPP__LLIINNEE - The current command line. This variable is available only in - shell functions and external commands invoked by the pro- - grammable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn + The current command line. This variable is available only in + shell functions and external commands invoked by the pro- + grammable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn below). CCOOMMPP__PPOOIINNTT - The index of the current cursor position relative to the begin- - ning of the current command. If the current cursor position is + The index of the current cursor position relative to the begin- + ning of the current command. If the current cursor position is at the end of the current command, the value of this variable is - equal to $${{##CCOOMMPP__LLIINNEE}}. This variable is available only in - shell functions and external commands invoked by the pro- - grammable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn + equal to $${{##CCOOMMPP__LLIINNEE}}. This variable is available only in + shell functions and external commands invoked by the pro- + grammable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn below). CCOOMMPP__TTYYPPEE - Set to an integer value corresponding to the type of completion - attempted that caused a completion function to be called: _T_A_B, - for normal completion, _?, for listing completions after succes- - sive tabs, _!, for listing alternatives on partial word comple- - tion, _@, to list completions if the word is not unmodified, or - _%, for menu completion. This variable is available only in - shell functions and external commands invoked by the pro- - grammable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn + Set to an integer value corresponding to the type of completion + attempted that caused a completion function to be called: _T_A_B, + for normal completion, _?, for listing completions after succes- + sive tabs, _!, for listing alternatives on partial word comple- + tion, _@, to list completions if the word is not unmodified, or + _%, for menu completion. This variable is available only in + shell functions and external commands invoked by the pro- + grammable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn below). CCOOMMPP__WWOORRDDBBRREEAAKKSS - The set of characters that the rreeaaddlliinnee library treats as word - separators when performing word completion. If CCOOMMPP__WWOORRDDBBRREEAAKKSS - is unset, it loses its special properties, even if it is subse- + The set of characters that the rreeaaddlliinnee library treats as word + separators when performing word completion. If CCOOMMPP__WWOORRDDBBRREEAAKKSS + is unset, it loses its special properties, even if it is subse- quently reset. CCOOMMPP__WWOORRDDSS - An array variable (see AArrrraayyss below) consisting of the individ- - ual words in the current command line. The line is split into - words as rreeaaddlliinnee would split it, using CCOOMMPP__WWOORRDDBBRREEAAKKSS as + An array variable (see AArrrraayyss below) consisting of the individ- + ual words in the current command line. The line is split into + words as rreeaaddlliinnee would split it, using CCOOMMPP__WWOORRDDBBRREEAAKKSS as described above. This variable is available only in shell func- - tions invoked by the programmable completion facilities (see + tions invoked by the programmable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn below). - CCOOPPRROOCC An array variable (see AArrrraayyss below) created to hold the file - descriptors for output from and input to an unnamed coprocess + CCOOPPRROOCC An array variable (see AArrrraayyss below) created to hold the file + descriptors for output from and input to an unnamed coprocess (see CCoopprroocceesssseess above). DDIIRRSSTTAACCKK An array variable (see AArrrraayyss below) containing the current con- - tents of the directory stack. Directories appear in the stack - in the order they are displayed by the ddiirrss builtin. Assigning + tents of the directory stack. Directories appear in the stack + in the order they are displayed by the ddiirrss builtin. Assigning to members of this array variable may be used to modify directo- - ries already in the stack, but the ppuusshhdd and ppooppdd builtins must + ries already in the stack, but the ppuusshhdd and ppooppdd builtins must be used to add and remove directories. Assignment to this vari- - able will not change the current directory. If DDIIRRSSTTAACCKK is - unset, it loses its special properties, even if it is subse- + able will not change the current directory. If DDIIRRSSTTAACCKK is + unset, it loses its special properties, even if it is subse- quently reset. - EEUUIIDD Expands to the effective user ID of the current user, initial- + EEUUIIDD Expands to the effective user ID of the current user, initial- ized at shell startup. This variable is readonly. FFUUNNCCNNAAMMEE - An array variable containing the names of all shell functions + An array variable containing the names of all shell functions currently in the execution call stack. The element with index 0 is the name of any currently-executing shell function. The bot- - tom-most element is "main". This variable exists only when a - shell function is executing. Assignments to FFUUNNCCNNAAMMEE have no - effect and return an error status. If FFUUNNCCNNAAMMEE is unset, it - loses its special properties, even if it is subsequently reset. - - GGRROOUUPPSS An array variable containing the list of groups of which the - current user is a member. Assignments to GGRROOUUPPSS have no effect - and return an error status. If GGRROOUUPPSS is unset, it loses its + tom-most element is "main". This variable exists only when a + shell function is executing. Assignments to FFUUNNCCNNAAMMEE have no + effect and return an error status. If FFUUNNCCNNAAMMEE is unset, it + loses its special properties, even if it is subsequently reset. + + GGRROOUUPPSS An array variable containing the list of groups of which the + current user is a member. Assignments to GGRROOUUPPSS have no effect + and return an error status. If GGRROOUUPPSS is unset, it loses its special properties, even if it is subsequently reset. HHIISSTTCCMMDD The history number, or index in the history list, of the current - command. If HHIISSTTCCMMDD is unset, it loses its special properties, + command. If HHIISSTTCCMMDD is unset, it loses its special properties, even if it is subsequently reset. HHOOSSTTNNAAMMEE Automatically set to the name of the current host. HHOOSSTTTTYYPPEE - Automatically set to a string that uniquely describes the type - of machine on which bbaasshh is executing. The default is system- + Automatically set to a string that uniquely describes the type + of machine on which bbaasshh is executing. The default is system- dependent. - LLIINNEENNOO Each time this parameter is referenced, the shell substitutes a - decimal number representing the current sequential line number - (starting with 1) within a script or function. When not in a - script or function, the value substituted is not guaranteed to + LLIINNEENNOO Each time this parameter is referenced, the shell substitutes a + decimal number representing the current sequential line number + (starting with 1) within a script or function. When not in a + script or function, the value substituted is not guaranteed to be meaningful. If LLIINNEENNOO is unset, it loses its special proper- ties, even if it is subsequently reset. MMAACCHHTTYYPPEE - Automatically set to a string that fully describes the system - type on which bbaasshh is executing, in the standard GNU _c_p_u_-_c_o_m_- + Automatically set to a string that fully describes the system + type on which bbaasshh is executing, in the standard GNU _c_p_u_-_c_o_m_- _p_a_n_y_-_s_y_s_t_e_m format. The default is system-dependent. MMAAPPFFIILLEE - An array variable (see AArrrraayyss below) created to hold the text + An array variable (see AArrrraayyss below) created to hold the text read by the mmaappffiillee builtin when no variable name is supplied. OOLLDDPPWWDD The previous working directory as set by the ccdd command. - OOPPTTAARRGG The value of the last option argument processed by the ggeettooppttss + OOPPTTAARRGG The value of the last option argument processed by the ggeettooppttss builtin command (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). - OOPPTTIINNDD The index of the next argument to be processed by the ggeettooppttss + OOPPTTIINNDD The index of the next argument to be processed by the ggeettooppttss builtin command (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). - OOSSTTYYPPEE Automatically set to a string that describes the operating sys- - tem on which bbaasshh is executing. The default is system-depen- + OOSSTTYYPPEE Automatically set to a string that describes the operating sys- + tem on which bbaasshh is executing. The default is system-depen- dent. PPIIPPEESSTTAATTUUSS - An array variable (see AArrrraayyss below) containing a list of exit - status values from the processes in the most-recently-executed + An array variable (see AArrrraayyss 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). - PPPPIIDD The process ID of the shell's parent. This variable is read- + PPPPIIDD The process ID of the shell's parent. This variable is read- only. PPWWDD The current working directory as set by the ccdd command. @@ -917,7 +927,7 @@ PPAARRAAMMEETTEERRSS RRAANNDDOOMM Each time this parameter is referenced, a random integer between 0 and 32767 is generated. The sequence of random numbers may be initialized by assigning a value to RRAANNDDOOMM. If RRAANNDDOOMM is unset, - it loses its special properties, even if it is subsequently + it loses its special properties, even if it is subsequently reset. RREEAADDLLIINNEE__LLIINNEE @@ -928,24 +938,24 @@ PPAARRAAMMEETTEERRSS The position of the insertion point in the rreeaaddlliinnee line buffer, for use with "bind -x" (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). - RREEPPLLYY Set to the line of input read by the rreeaadd builtin command when + RREEPPLLYY Set to the line of input read by the rreeaadd builtin command when no arguments are supplied. SSEECCOONNDDSS - Each time this parameter is referenced, the number of seconds - since shell invocation is returned. If a value is assigned to - SSEECCOONNDDSS, the value returned upon subsequent references is the - number of seconds since the assignment plus the value assigned. + Each time this parameter is referenced, the number of seconds + since shell invocation is returned. If a value is assigned to + SSEECCOONNDDSS, the value returned upon subsequent references is the + number of seconds since the assignment plus the value assigned. If SSEECCOONNDDSS is unset, it loses its special properties, even if it is subsequently reset. SSHHEELLLLOOPPTTSS - A colon-separated list of enabled shell options. Each word in - the list is a valid argument for the --oo option to the sseett + A colon-separated list of enabled shell options. Each word in + the list is a valid argument for the --oo option to the sseett builtin command (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). The options - appearing in SSHHEELLLLOOPPTTSS are those reported as _o_n by sseett --oo. If - this variable is in the environment when bbaasshh starts up, each - shell option in the list will be enabled before reading any + appearing in SSHHEELLLLOOPPTTSS are those reported as _o_n by sseett --oo. If + this variable is in the environment when bbaasshh starts up, each + shell option in the list will be enabled before reading any startup files. This variable is read-only. SSHHLLVVLL Incremented by one each time an instance of bbaasshh is started. @@ -953,220 +963,224 @@ PPAARRAAMMEETTEERRSS UUIIDD Expands to the user ID of the current user, initialized at shell startup. This variable is readonly. - The following variables are used by the shell. In some cases, bbaasshh + The following variables are used by the shell. In some cases, bbaasshh assigns a default value to a variable; these cases are noted below. BBAASSHH__EENNVV - If this parameter is set when bbaasshh is executing a shell script, - its value is interpreted as a filename containing commands to + If this parameter is set when bbaasshh is executing a shell script, + its value is interpreted as a filename containing commands to initialize the shell, as in _~_/_._b_a_s_h_r_c. The value of BBAASSHH__EENNVV is - subjected to parameter expansion, command substitution, and - arithmetic expansion before being interpreted as a file name. + subjected to parameter expansion, command substitution, and + arithmetic expansion before being interpreted as a file name. PPAATTHH is not used to search for the resultant file name. BBAASSHH__XXTTRRAACCEEFFDD - If set to an integer corresponding to a valid file descriptor, - bbaasshh will write the trace output generated when _s_e_t _-_x is - enabled to that file descriptor. The file descriptor is closed - when BBAASSHH__XXTTRRAACCEEFFDD is unset or assigned a new value. Unsetting - BBAASSHH__XXTTRRAACCEEFFDD 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, + bbaasshh will write the trace output generated when _s_e_t _-_x is + enabled to that file descriptor. The file descriptor is closed + when BBAASSHH__XXTTRRAACCEEFFDD is unset or assigned a new value. Unsetting + BBAASSHH__XXTTRRAACCEEFFDD or assigning it the empty string causes the trace + output to be sent to the standard error. Note that setting BBAASSHH__XXTTRRAACCEEFFDD to 2 (the standard error file descriptor) and then unsetting it will result in the standard error being closed. - CCDDPPAATTHH The search path for the ccdd command. This is a colon-separated - list of directories in which the shell looks for destination - directories specified by the ccdd command. A sample value is + CCDDPPAATTHH The search path for the ccdd command. This is a colon-separated + list of directories in which the shell looks for destination + directories specified by the ccdd command. A sample value is ".:~:/usr". CCOOLLUUMMNNSS - Used by the sseelleecctt builtin command to determine the terminal - width when printing selection lists. Automatically set upon + Used by the sseelleecctt builtin command to determine the terminal + width when printing selection lists. Automatically set upon receipt of a SSIIGGWWIINNCCHH. CCOOMMPPRREEPPLLYY An array variable from which bbaasshh reads the possible completions - generated by a shell function invoked by the programmable com- + generated by a shell function invoked by the programmable com- pletion facility (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn below). - EEMMAACCSS If bbaasshh finds this variable in the environment when the shell - starts with value "t", it assumes that the shell is running in + EEMMAACCSS If bbaasshh 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. - EENNVV Similar to BBAASSHH__EENNVV; used when the shell is invoked in POSIX + EENNVV Similar to BBAASSHH__EENNVV; used when the shell is invoked in POSIX mode. FFCCEEDDIITT The default editor for the ffcc builtin command. FFIIGGNNOORREE - A colon-separated list of suffixes to ignore when performing + A colon-separated list of suffixes to ignore when performing filename completion (see RREEAADDLLIINNEE below). A filename whose suf- - fix matches one of the entries in FFIIGGNNOORREE is excluded from the + fix matches one of the entries in FFIIGGNNOORREE is excluded from the list of matched filenames. A sample value is ".o:~". + FFUUNNCCNNEESSTT + 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. GGLLOOBBIIGGNNOORREE A colon-separated list of patterns defining the set of filenames to be ignored by pathname expansion. If a filename matched by a - pathname expansion pattern also matches one of the patterns in + pathname expansion pattern also matches one of the patterns in GGLLOOBBIIGGNNOORREE, it is removed from the list of matches. HHIISSTTCCOONNTTRROOLL - A colon-separated list of values controlling how commands are - saved on the history list. If the list of values includes - _i_g_n_o_r_e_s_p_a_c_e, lines which begin with a ssppaaccee character are not - saved in the history list. A value of _i_g_n_o_r_e_d_u_p_s causes lines + A colon-separated list of values controlling how commands are + saved on the history list. If the list of values includes + _i_g_n_o_r_e_s_p_a_c_e, lines which begin with a ssppaaccee character are not + saved in the history list. A value of _i_g_n_o_r_e_d_u_p_s causes lines matching the previous history entry to not be saved. A value of _i_g_n_o_r_e_b_o_t_h is shorthand for _i_g_n_o_r_e_s_p_a_c_e and _i_g_n_o_r_e_d_u_p_s. A value of _e_r_a_s_e_d_u_p_s 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 HHIISSTTCCOONNTTRROOLL 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 HHIISSTTCCOONNTTRROOLL 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 HHIISSTTIIGGNNOORREE. The second and subsequent lines of a multi-line - compound command are not tested, and are added to the history + of HHIISSTTIIGGNNOORREE. 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 HHIISSTTCCOONNTTRROOLL. HHIISSTTFFIILLEE The name of the file in which command history is saved (see HHIISS-- - TTOORRYY below). The default value is _~_/_._b_a_s_h___h_i_s_t_o_r_y. If unset, - the command history is not saved when an interactive shell + TTOORRYY below). The default value is _~_/_._b_a_s_h___h_i_s_t_o_r_y. If unset, + the command history is not saved when an interactive shell exits. HHIISSTTFFIILLEESSIIZZEE The maximum number of lines contained in the history file. When - this variable is assigned a value, the history file is trun- - cated, if necessary, by removing the oldest entries, to contain - no more than that number of lines. The default value is 500. + this variable is assigned a value, the history file is trun- + cated, if necessary, by removing the oldest entries, to contain + no more than that number of lines. The default value is 500. The history file is also truncated to this size after writing it when an interactive shell exits. HHIISSTTIIGGNNOORREE - A colon-separated list of patterns used to decide which command - lines should be saved on the history list. Each pattern is - anchored at the beginning of the line and must match the com- - plete line (no implicit `**' is appended). Each pattern is - tested against the line after the checks specified by HHIISSTTCCOONN-- - TTRROOLL are applied. In addition to the normal shell pattern + A colon-separated list of patterns used to decide which command + lines should be saved on the history list. Each pattern is + anchored at the beginning of the line and must match the com- + plete line (no implicit `**' is appended). Each pattern is + tested against the line after the checks specified by HHIISSTTCCOONN-- + TTRROOLL are applied. In addition to the normal shell pattern matching characters, `&&' matches the previous history line. `&&' - may be escaped using a backslash; the backslash is removed + may be escaped using a backslash; the backslash is removed before attempting a match. The second and subsequent lines of a multi-line compound command are not tested, and are added to the history regardless of the value of HHIISSTTIIGGNNOORREE. HHIISSTTSSIIZZEE - The number of commands to remember in the command history (see + The number of commands to remember in the command history (see HHIISSTTOORRYY below). The default value is 500. HHIISSTTTTIIMMEEFFOORRMMAATT - 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 _s_t_r_f_t_i_m_e(3) to print the time stamp associated - with each history entry displayed by the hhiissttoorryy 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 hhiissttoorryy 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. HHOOMMEE The home directory of the current user; the default argument for the ccdd builtin command. The value of this variable is also used when performing tilde expansion. HHOOSSTTFFIILLEE - Contains the name of a file in the same format as _/_e_t_c_/_h_o_s_t_s + Contains the name of a file in the same format as _/_e_t_c_/_h_o_s_t_s that should be read when the shell needs to complete a hostname. - The list of possible hostname completions may be changed while - the shell is running; the next time hostname completion is - attempted after the value is changed, bbaasshh adds the contents of - the new file to the existing list. If HHOOSSTTFFIILLEE is set, but has - no value, or does not name a readable file, bbaasshh attempts to - read _/_e_t_c_/_h_o_s_t_s to obtain the list of possible hostname comple- + The list of possible hostname completions may be changed while + the shell is running; the next time hostname completion is + attempted after the value is changed, bbaasshh adds the contents of + the new file to the existing list. If HHOOSSTTFFIILLEE is set, but has + no value, or does not name a readable file, bbaasshh attempts to + read _/_e_t_c_/_h_o_s_t_s to obtain the list of possible hostname comple- tions. When HHOOSSTTFFIILLEE is unset, the hostname list is cleared. - IIFFSS The _I_n_t_e_r_n_a_l _F_i_e_l_d _S_e_p_a_r_a_t_o_r that is used for word splitting - after expansion and to split lines into words with the rreeaadd + IIFFSS The _I_n_t_e_r_n_a_l _F_i_e_l_d _S_e_p_a_r_a_t_o_r that is used for word splitting + after expansion and to split lines into words with the rreeaadd builtin command. The default value is ``''. IIGGNNOORREEEEOOFF Controls the action of an interactive shell on receipt of an EEOOFF character as the sole input. If set, the value is the number of - consecutive EEOOFF characters which must be typed as the first - characters on an input line before bbaasshh 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, EEOOFF signifies the + consecutive EEOOFF characters which must be typed as the first + characters on an input line before bbaasshh 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, EEOOFF signifies the end of input to the shell. IINNPPUUTTRRCC - The filename for the rreeaaddlliinnee startup file, overriding the + The filename for the rreeaaddlliinnee startup file, overriding the default of _~_/_._i_n_p_u_t_r_c (see RREEAADDLLIINNEE below). - LLAANNGG Used to determine the locale category for any category not + LLAANNGG Used to determine the locale category for any category not specifically selected with a variable starting with LLCC__. - LLCC__AALLLL This variable overrides the value of LLAANNGG and any other LLCC__ + LLCC__AALLLL This variable overrides the value of LLAANNGG and any other LLCC__ variable specifying a locale category. LLCC__CCOOLLLLAATTEE - This variable determines the collation order used when sorting - the results of pathname expansion, and determines the behavior - of range expressions, equivalence classes, and collating + This variable determines the collation order used when sorting + the results of pathname expansion, and determines the behavior + of range expressions, equivalence classes, and collating sequences within pathname expansion and pattern matching. LLCC__CCTTYYPPEE - 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. LLCC__MMEESSSSAAGGEESS - This variable determines the locale used to translate double- + This variable determines the locale used to translate double- quoted strings preceded by a $$. LLCC__NNUUMMEERRIICC - This variable determines the locale category used for number + This variable determines the locale category used for number formatting. - LLIINNEESS Used by the sseelleecctt builtin command to determine the column - length for printing selection lists. Automatically set upon + LLIINNEESS Used by the sseelleecctt builtin command to determine the column + length for printing selection lists. Automatically set upon receipt of a SSIIGGWWIINNCCHH. - MMAAIILL If this parameter is set to a file name and the MMAAIILLPPAATTHH vari- + MMAAIILL If this parameter is set to a file name and the MMAAIILLPPAATTHH vari- able is not set, bbaasshh informs the user of the arrival of mail in the specified file. MMAAIILLCCHHEECCKK - Specifies how often (in seconds) bbaasshh checks for mail. The - default is 60 seconds. When it is time to check for mail, the - shell does so before displaying the primary prompt. If this - variable is unset, or set to a value that is not a number + Specifies how often (in seconds) bbaasshh checks for mail. The + default is 60 seconds. When it is time to check for mail, the + shell does so before displaying the primary prompt. If this + variable is unset, or set to a value that is not a number greater than or equal to zero, the shell disables mail checking. MMAAIILLPPAATTHH - A colon-separated list of file names to be checked for mail. + A colon-separated list of file names to be checked for mail. The message to be printed when mail arrives in a particular file - may be specified by separating the file name from the message + may be specified by separating the file name from the message with a `?'. When used in the text of the message, $$__ expands to the name of the current mailfile. Example: MMAAIILLPPAATTHH='/var/mail/bfox?"You have mail":~/shell-mail?"$_ has mail!"' - BBaasshh supplies a default value for this variable, but the loca- - tion of the user mail files that it uses is system dependent + BBaasshh supplies a default value for this variable, but the loca- + tion of the user mail files that it uses is system dependent (e.g., /var/mail/$$UUSSEERR). OOPPTTEERRRR If set to the value 1, bbaasshh displays error messages generated by - the ggeettooppttss builtin command (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). - OOPPTTEERRRR is initialized to 1 each time the shell is invoked or a + the ggeettooppttss builtin command (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). + OOPPTTEERRRR is initialized to 1 each time the shell is invoked or a shell script is executed. - PPAATTHH The search path for commands. It is a colon-separated list of - directories in which the shell looks for commands (see CCOOMMMMAANNDD - EEXXEECCUUTTIIOONN below). A zero-length (null) directory name in the + PPAATTHH The search path for commands. It is a colon-separated list of + directories in which the shell looks for commands (see CCOOMMMMAANNDD + EEXXEECCUUTTIIOONN below). A zero-length (null) directory name in the value of PPAATTHH indicates the current directory. A null directory - name may appear as two adjacent colons, or as an initial or - trailing colon. The default path is system-dependent, and is - set by the administrator who installs bbaasshh. A common value is + name may appear as two adjacent colons, or as an initial or + trailing colon. The default path is system-dependent, and is + set by the administrator who installs bbaasshh. A common value is ``/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin''. PPOOSSIIXXLLYY__CCOORRRREECCTT - If this variable is in the environment when bbaasshh starts, the - shell enters _p_o_s_i_x _m_o_d_e before reading the startup files, as if - the ----ppoossiixx invocation option had been supplied. If it is set - while the shell is running, bbaasshh enables _p_o_s_i_x _m_o_d_e, as if the + If this variable is in the environment when bbaasshh starts, the + shell enters _p_o_s_i_x _m_o_d_e before reading the startup files, as if + the ----ppoossiixx invocation option had been supplied. If it is set + while the shell is running, bbaasshh enables _p_o_s_i_x _m_o_d_e, as if the command _s_e_t _-_o _p_o_s_i_x had been executed. PPRROOMMPPTT__CCOOMMMMAANNDD If set, the value is executed as a command prior to issuing each primary prompt. PPRROOMMPPTT__DDIIRRTTRRIIMM - 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 \\ww and \\WW prompt string escapes (see PPRROOMMPPTTIINNGG below). + the \\ww and \\WW prompt string escapes (see PPRROOMMPPTTIINNGG below). Characters removed are replaced with an ellipsis. - PPSS11 The value of this parameter is expanded (see PPRROOMMPPTTIINNGG below) - and used as the primary prompt string. The default value is + PPSS11 The value of this parameter is expanded (see PPRROOMMPPTTIINNGG below) + and used as the primary prompt string. The default value is ``\\ss--\\vv\\$$ ''. - PPSS22 The value of this parameter is expanded as with PPSS11 and used as + PPSS22 The value of this parameter is expanded as with PPSS11 and used as the secondary prompt string. The default is ``>> ''. PPSS33 The value of this parameter is used as the prompt for the sseelleecctt command (see SSHHEELLLL GGRRAAMMMMAARR above). - PPSS44 The value of this parameter is expanded as with PPSS11 and the - value is printed before each command bbaasshh displays during an - execution trace. The first character of PPSS44 is replicated mul- - tiple times, as necessary, to indicate multiple levels of indi- + PPSS44 The value of this parameter is expanded as with PPSS11 and the + value is printed before each command bbaasshh displays during an + execution trace. The first character of PPSS44 is replicated mul- + tiple times, as necessary, to indicate multiple levels of indi- rection. The default is ``++ ''. SSHHEELLLL The full pathname to the shell is kept in this environment vari- - able. If it is not set when the shell starts, bbaasshh assigns to + able. If it is not set when the shell starts, bbaasshh assigns to it the full pathname of the current user's login shell. TTIIMMEEFFOORRMMAATT - The value of this parameter is used as a format string specify- - ing how the timing information for pipelines prefixed with the - ttiimmee reserved word should be displayed. The %% 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 + ttiimmee reserved word should be displayed. The %% character intro- + duces an escape sequence that is expanded to a time value or + other information. The escape sequences and their meanings are as follows; the braces denote optional portions. %%%% A literal %%. %%[[_p]][[ll]]RR The elapsed time in seconds. @@ -1174,189 +1188,189 @@ PPAARRAAMMEETTEERRSS %%[[_p]][[ll]]SS The number of CPU seconds spent in system mode. %%PP The CPU percentage, computed as (%U + %S) / %R. - The optional _p is a digit specifying the _p_r_e_c_i_s_i_o_n, the number + The optional _p is a digit specifying the _p_r_e_c_i_s_i_o_n, the number of fractional digits after a decimal point. A value of 0 causes no decimal point or fraction to be output. At most three places - after the decimal point may be specified; values of _p greater - than 3 are changed to 3. If _p is not specified, the value 3 is + after the decimal point may be specified; values of _p greater + than 3 are changed to 3. If _p is not specified, the value 3 is used. - The optional ll specifies a longer format, including minutes, of - the form _M_Mm_S_S._F_Fs. The value of _p determines whether or not + The optional ll specifies a longer format, including minutes, of + the form _M_Mm_S_S._F_Fs. The value of _p determines whether or not the fraction is included. - If this variable is not set, bbaasshh acts as if it had the value - $$''\\nnrreeaall\\tt%%33llRR\\nnuusseerr\\tt%%33llUU\\nnssyyss%%33llSS''. If the value is null, no - timing information is displayed. A trailing newline is added + If this variable is not set, bbaasshh acts as if it had the value + $$''\\nnrreeaall\\tt%%33llRR\\nnuusseerr\\tt%%33llUU\\nnssyyss%%33llSS''. If the value is null, no + timing information is displayed. A trailing newline is added when the format string is displayed. - TTMMOOUUTT If set to a value greater than zero, TTMMOOUUTT is treated as the + TTMMOOUUTT If set to a value greater than zero, TTMMOOUUTT is treated as the default timeout for the rreeaadd builtin. The sseelleecctt command termi- nates if input does not arrive after TTMMOOUUTT seconds when input is - coming from a terminal. In an interactive shell, the value is - interpreted as the number of seconds to wait for input after - issuing the primary prompt. BBaasshh terminates after waiting for + coming from a terminal. In an interactive shell, the value is + interpreted as the number of seconds to wait for input after + issuing the primary prompt. BBaasshh terminates after waiting for that number of seconds if input does not arrive. - TTMMPPDDIIRR If set, BBaasshh uses its value as the name of a directory in which + TTMMPPDDIIRR If set, BBaasshh uses its value as the name of a directory in which BBaasshh creates temporary files for the shell's use. aauuttoo__rreessuummee 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 _n_a_m_e of a - stopped job, in this context, is the command line used to start - it. If set to the value _e_x_a_c_t, the string supplied must match - the name of a stopped job exactly; if set to _s_u_b_s_t_r_i_n_g, the - string supplied needs to match a substring of the name of a - stopped job. The _s_u_b_s_t_r_i_n_g value provides functionality analo- - gous to the %%?? job identifier (see JJOOBB CCOONNTTRROOLL 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 _n_a_m_e of a + stopped job, in this context, is the command line used to start + it. If set to the value _e_x_a_c_t, the string supplied must match + the name of a stopped job exactly; if set to _s_u_b_s_t_r_i_n_g, the + string supplied needs to match a substring of the name of a + stopped job. The _s_u_b_s_t_r_i_n_g value provides functionality analo- + gous to the %%?? job identifier (see JJOOBB CCOONNTTRROOLL 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 %%_s_t_r_i_n_g job identifier. hhiissttcchhaarrss - The two or three characters which control history expansion and + The two or three characters which control history expansion and tokenization (see HHIISSTTOORRYY EEXXPPAANNSSIIOONN below). The first character - is the _h_i_s_t_o_r_y _e_x_p_a_n_s_i_o_n character, the character which signals - the start of a history expansion, normally `!!'. The second - character is the _q_u_i_c_k _s_u_b_s_t_i_t_u_t_i_o_n character, which is used as - shorthand for re-running the previous command entered, substi- - tuting one string for another in the command. The default is - `^^'. The optional third character is the character which indi- - cates that the remainder of the line is a comment when found as - the first character of a word, normally `##'. The history com- + is the _h_i_s_t_o_r_y _e_x_p_a_n_s_i_o_n character, the character which signals + the start of a history expansion, normally `!!'. The second + character is the _q_u_i_c_k _s_u_b_s_t_i_t_u_t_i_o_n character, which is used as + shorthand for re-running the previous command entered, substi- + tuting one string for another in the command. The default is + `^^'. The optional third character is the character which indi- + cates that the remainder of the line is a comment when found as + the first character of a word, normally `##'. The history com- ment character causes history substitution to be skipped for the - remaining words on the line. It does not necessarily cause the + remaining words on the line. It does not necessarily cause the shell parser to treat the rest of the line as a comment. AArrrraayyss - BBaasshh provides one-dimensional indexed and associative array variables. - Any variable may be used as an indexed array; the ddeeccllaarree 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 + BBaasshh provides one-dimensional indexed and associative array variables. + Any variable may be used as an indexed array; the ddeeccllaarree builtin will + explicitly declare an array. There is no maximum limit on the size of + an array, nor any requirement that members be indexed or assigned con- + tiguously. Indexed arrays are referenced using integers (including + arithmetic expressions) and are zero-based; associative arrays are referenced using arbitrary strings. - An indexed array is created automatically if any variable is assigned + An indexed array is created automatically if any variable is assigned to using the syntax _n_a_m_e[_s_u_b_s_c_r_i_p_t]=_v_a_l_u_e. The _s_u_b_s_c_r_i_p_t is treated as an arithmetic expression that must evaluate to a number greater than or - equal to zero. To explicitly declare an indexed array, use ddeeccllaarree --aa + equal to zero. To explicitly declare an indexed array, use ddeeccllaarree --aa _n_a_m_e (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). ddeeccllaarree --aa _n_a_m_e[[_s_u_b_s_c_r_i_p_t]] is also accepted; the _s_u_b_s_c_r_i_p_t is ignored. Associative arrays are created using ddeeccllaarree --AA _n_a_m_e. Attributes may be specified for an array variable using the ddeeccllaarree and - rreeaaddoonnllyy builtins. Each attribute applies to all members of an array. + rreeaaddoonnllyy builtins. Each attribute applies to all members of an array. - Arrays are assigned to using compound assignments of the form - _n_a_m_e=((value_1 ... value_n)), where each _v_a_l_u_e is of the form [_s_u_b_- - _s_c_r_i_p_t]=_s_t_r_i_n_g. Indexed array assignments do not require the bracket - and subscript. When assigning to indexed arrays, if the optional - brackets and subscript are supplied, that index is assigned to; other- + Arrays are assigned to using compound assignments of the form + _n_a_m_e=((value_1 ... value_n)), where each _v_a_l_u_e is of the form [_s_u_b_- + _s_c_r_i_p_t]=_s_t_r_i_n_g. Indexed array assignments do not require the bracket + and subscript. When assigning to indexed arrays, if the optional + brackets and subscript are supplied, that index is assigned to; other- wise the index of the element assigned is the last index assigned to by the statement plus one. Indexing starts at zero. When assigning to an associative array, the subscript is required. - This syntax is also accepted by the ddeeccllaarree builtin. Individual array - elements may be assigned to using the _n_a_m_e[_s_u_b_s_c_r_i_p_t]=_v_a_l_u_e syntax + This syntax is also accepted by the ddeeccllaarree builtin. Individual array + elements may be assigned to using the _n_a_m_e[_s_u_b_s_c_r_i_p_t]=_v_a_l_u_e syntax introduced above. - Any element of an array may be referenced using ${_n_a_m_e[_s_u_b_s_c_r_i_p_t]}. + Any element of an array may be referenced using ${_n_a_m_e[_s_u_b_s_c_r_i_p_t]}. The braces are required to avoid conflicts with pathname expansion. If - _s_u_b_s_c_r_i_p_t is @@ or **, the word expands to all members of _n_a_m_e. These - subscripts differ only when the word appears within double quotes. If + _s_u_b_s_c_r_i_p_t is @@ or **, the word expands to all members of _n_a_m_e. These + subscripts differ only when the word appears within double quotes. If the word is double-quoted, ${_n_a_m_e[*]} expands to a single word with the - value of each array member separated by the first character of the IIFFSS + value of each array member separated by the first character of the IIFFSS special variable, and ${_n_a_m_e[@]} expands each element of _n_a_m_e to a sep- - arate word. When there are no array members, ${_n_a_m_e[@]} expands to - nothing. If the double-quoted expansion occurs within a word, the - expansion of the first parameter is joined with the beginning part of - the original word, and the expansion of the last parameter is joined - with the last part of the original word. This is analogous to the - expansion of the special parameters ** and @@ (see SSppeecciiaall PPaarraammeetteerrss - above). ${#_n_a_m_e[_s_u_b_s_c_r_i_p_t]} expands to the length of ${_n_a_m_e[_s_u_b_- - _s_c_r_i_p_t]}. If _s_u_b_s_c_r_i_p_t is ** or @@, the expansion is the number of ele- - ments in the array. Referencing an array variable without a subscript + arate word. When there are no array members, ${_n_a_m_e[@]} expands to + nothing. If the double-quoted expansion occurs within a word, the + expansion of the first parameter is joined with the beginning part of + the original word, and the expansion of the last parameter is joined + with the last part of the original word. This is analogous to the + expansion of the special parameters ** and @@ (see SSppeecciiaall PPaarraammeetteerrss + above). ${#_n_a_m_e[_s_u_b_s_c_r_i_p_t]} expands to the length of ${_n_a_m_e[_s_u_b_- + _s_c_r_i_p_t]}. If _s_u_b_s_c_r_i_p_t is ** or @@, the expansion is the number of ele- + ments in the array. Referencing an array variable without a subscript is equivalent to referencing the array with a subscript of 0. - An array variable is considered set if a subscript has been assigned a + An array variable is considered set if a subscript has been assigned a value. The null string is a valid value. - The uunnsseett builtin is used to destroy arrays. uunnsseett _n_a_m_e[_s_u_b_s_c_r_i_p_t] - destroys the array element at index _s_u_b_s_c_r_i_p_t. Care must be taken to - avoid unwanted side effects caused by pathname expansion. uunnsseett _n_a_m_e, - where _n_a_m_e is an array, or uunnsseett _n_a_m_e[_s_u_b_s_c_r_i_p_t], where _s_u_b_s_c_r_i_p_t is ** + The uunnsseett builtin is used to destroy arrays. uunnsseett _n_a_m_e[_s_u_b_s_c_r_i_p_t] + destroys the array element at index _s_u_b_s_c_r_i_p_t. Care must be taken to + avoid unwanted side effects caused by pathname expansion. uunnsseett _n_a_m_e, + where _n_a_m_e is an array, or uunnsseett _n_a_m_e[_s_u_b_s_c_r_i_p_t], where _s_u_b_s_c_r_i_p_t is ** or @@, removes the entire array. - The ddeeccllaarree, llooccaall, and rreeaaddoonnllyy builtins each accept a --aa option to - specify an indexed array and a --AA option to specify an associative - array. The rreeaadd builtin accepts a --aa option to assign a list of words + The ddeeccllaarree, llooccaall, and rreeaaddoonnllyy builtins each accept a --aa option to + specify an indexed array and a --AA option to specify an associative + array. The rreeaadd builtin accepts a --aa option to assign a list of words read from the standard input to an array. The sseett and ddeeccllaarree builtins - display array values in a way that allows them to be reused as assign- + display array values in a way that allows them to be reused as assign- ments. EEXXPPAANNSSIIOONN Expansion is performed on the command line after it has been split into - words. There are seven kinds of expansion performed: _b_r_a_c_e _e_x_p_a_n_s_i_o_n, - _t_i_l_d_e _e_x_p_a_n_s_i_o_n, _p_a_r_a_m_e_t_e_r _a_n_d _v_a_r_i_a_b_l_e _e_x_p_a_n_s_i_o_n, _c_o_m_m_a_n_d _s_u_b_s_t_i_t_u_- + words. There are seven kinds of expansion performed: _b_r_a_c_e _e_x_p_a_n_s_i_o_n, + _t_i_l_d_e _e_x_p_a_n_s_i_o_n, _p_a_r_a_m_e_t_e_r _a_n_d _v_a_r_i_a_b_l_e _e_x_p_a_n_s_i_o_n, _c_o_m_m_a_n_d _s_u_b_s_t_i_t_u_- _t_i_o_n, _a_r_i_t_h_m_e_t_i_c _e_x_p_a_n_s_i_o_n, _w_o_r_d _s_p_l_i_t_t_i_n_g, and _p_a_t_h_n_a_m_e _e_x_p_a_n_s_i_o_n. - The order of expansions is: brace expansion, tilde expansion, parame- - ter, variable and arithmetic expansion and command substitution (done + The order of expansions is: brace expansion, tilde expansion, parame- + ter, variable and arithmetic expansion and command substitution (done in a left-to-right fashion), word splitting, and pathname expansion. On systems that can support it, there is an additional expansion avail- able: _p_r_o_c_e_s_s _s_u_b_s_t_i_t_u_t_i_o_n. Only brace expansion, word splitting, and pathname expansion can change - the number of words of the expansion; other expansions expand a single - word to a single word. The only exceptions to this are the expansions + the number of words of the expansion; other expansions expand a single + word to a single word. The only exceptions to this are the expansions of "$$@@" and "$${{_n_a_m_e[[@@]]}}" as explained above (see PPAARRAAMMEETTEERRSS). BBrraaccee EExxppaannssiioonn _B_r_a_c_e _e_x_p_a_n_s_i_o_n is a mechanism by which arbitrary strings may be gener- - ated. This mechanism is similar to _p_a_t_h_n_a_m_e _e_x_p_a_n_s_i_o_n, but the file- + ated. This mechanism is similar to _p_a_t_h_n_a_m_e _e_x_p_a_n_s_i_o_n, but the file- names generated need not exist. Patterns to be brace expanded take the form of an optional _p_r_e_a_m_b_l_e, followed by either a series of comma-sep- - arated strings or a sequence expression between a pair of braces, fol- - lowed by an optional _p_o_s_t_s_c_r_i_p_t. The preamble is prefixed to each + arated strings or a sequence expression between a pair of braces, fol- + lowed by an optional _p_o_s_t_s_c_r_i_p_t. 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{{d,c,b}}e expands into `ade ace abe'. - A sequence expression takes the form {{_x...._y[[...._i_n_c_r]]}}, where _x and _y are - either integers or single characters, and _i_n_c_r, an optional increment, - is an integer. When integers are supplied, the expression expands to - each number between _x and _y, inclusive. Supplied integers may be pre- - fixed with _0 to force each term to have the same width. When either _x - or _y begins with a zero, the shell attempts to force all generated - terms to contain the same number of digits, zero-padding where neces- - sary. When characters are supplied, the expression expands to each + A sequence expression takes the form {{_x...._y[[...._i_n_c_r]]}}, where _x and _y are + either integers or single characters, and _i_n_c_r, an optional increment, + is an integer. When integers are supplied, the expression expands to + each number between _x and _y, inclusive. Supplied integers may be pre- + fixed with _0 to force each term to have the same width. When either _x + or _y begins with a zero, the shell attempts to force all generated + terms to contain the same number of digits, zero-padding where neces- + sary. When characters are supplied, the expression expands to each character lexicographically between _x and _y, inclusive. Note that both - _x and _y must be of the same type. When the increment is supplied, it - is used as the difference between each term. The default increment is + _x and _y must be of the same type. When the increment is supplied, it + is used as the difference between each term. The default increment is 1 or -1 as appropriate. Brace expansion is performed before any other expansions, and any char- - acters special to other expansions are preserved in the result. It is - strictly textual. BBaasshh does not apply any syntactic interpretation to + acters special to other expansions are preserved in the result. It is + strictly textual. BBaasshh does not apply any syntactic interpretation to the context of the expansion or the text between the braces. - A correctly-formed brace expansion must contain unquoted opening and - closing braces, and at least one unquoted comma or a valid sequence - expression. Any incorrectly formed brace expansion is left unchanged. + A correctly-formed brace expansion must contain unquoted opening and + closing braces, and at least one unquoted comma or a valid sequence + expression. Any incorrectly formed brace expansion is left unchanged. A {{ or ,, may be quoted with a backslash to prevent its being considered - part of a brace expression. To avoid conflicts with parameter expan- + part of a brace expression. To avoid conflicts with parameter expan- sion, the string $${{ is not considered eligible for brace expansion. This construct is typically used as shorthand when the common prefix of @@ -1366,36 +1380,36 @@ EEXXPPAANNSSIIOONN or chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}} - Brace expansion introduces a slight incompatibility with historical - versions of sshh. sshh does not treat opening or closing braces specially - when they appear as part of a word, and preserves them in the output. - BBaasshh removes braces from words as a consequence of brace expansion. - For example, a word entered to sshh as _f_i_l_e_{_1_,_2_} appears identically in - the output. The same word is output as _f_i_l_e_1 _f_i_l_e_2 after expansion by - bbaasshh. If strict compatibility with sshh is desired, start bbaasshh with the + Brace expansion introduces a slight incompatibility with historical + versions of sshh. sshh does not treat opening or closing braces specially + when they appear as part of a word, and preserves them in the output. + BBaasshh removes braces from words as a consequence of brace expansion. + For example, a word entered to sshh as _f_i_l_e_{_1_,_2_} appears identically in + the output. The same word is output as _f_i_l_e_1 _f_i_l_e_2 after expansion by + bbaasshh. If strict compatibility with sshh is desired, start bbaasshh with the ++BB option or disable brace expansion with the ++BB option to the sseett com- mand (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). TTiillddee EExxppaannssiioonn - If a word begins with an unquoted tilde character (`~~'), all of the - characters preceding the first unquoted slash (or all characters, if - there is no unquoted slash) are considered a _t_i_l_d_e_-_p_r_e_f_i_x. 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 _l_o_g_i_n _n_a_m_e. - If this login name is the null string, the tilde is replaced with the - value of the shell parameter HHOOMMEE. If HHOOMMEE 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 (`~~'), all of the + characters preceding the first unquoted slash (or all characters, if + there is no unquoted slash) are considered a _t_i_l_d_e_-_p_r_e_f_i_x. 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 _l_o_g_i_n _n_a_m_e. + If this login name is the null string, the tilde is replaced with the + value of the shell parameter HHOOMMEE. If HHOOMMEE 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 PPWWDD + If the tilde-prefix is a `~+', the value of the shell variable PPWWDD replaces the tilde-prefix. If the tilde-prefix is a `~-', the value of - the shell variable OOLLDDPPWWDD, if it is set, is substituted. If the char- - acters following the tilde in the tilde-prefix consist of a number _N, - optionally prefixed by a `+' or a `-', the tilde-prefix is replaced + the shell variable OOLLDDPPWWDD, if it is set, is substituted. If the char- + acters following the tilde in the tilde-prefix consist of a number _N, + 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 ddiirrss builtin invoked with the tilde-prefix as an argu- - ment. If the characters following the tilde in the tilde-prefix con- + ment. If the characters following the tilde in the tilde-prefix con- sist of a number without a leading `+' or `-', `+' is assumed. If the login name is invalid, or the tilde expansion fails, the word is @@ -1403,172 +1417,172 @@ EEXXPPAANNSSIIOONN Each variable assignment is checked for unquoted tilde-prefixes immedi- ately following a :: or the first ==. In these cases, tilde expansion is - also performed. Consequently, one may use file names with tildes in - assignments to PPAATTHH, MMAAIILLPPAATTHH, and CCDDPPAATTHH, and the shell assigns the + also performed. Consequently, one may use file names with tildes in + assignments to PPAATTHH, MMAAIILLPPAATTHH, and CCDDPPAATTHH, and the shell assigns the expanded value. PPaarraammeetteerr EExxppaannssiioonn The `$$' 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 `}}' not - escaped by a backslash or within a quoted string, and not within an + When braces are used, the matching ending brace is the first `}}' not + escaped by a backslash or within a quoted string, and not within an embedded arithmetic expansion, command substitution, or parameter expansion. ${_p_a_r_a_m_e_t_e_r} - The value of _p_a_r_a_m_e_t_e_r is substituted. The braces are required - when _p_a_r_a_m_e_t_e_r is a positional parameter with more than one + The value of _p_a_r_a_m_e_t_e_r is substituted. The braces are required + when _p_a_r_a_m_e_t_e_r is a positional parameter with more than one digit, or when _p_a_r_a_m_e_t_e_r is followed by a character which is not to be interpreted as part of its name. - If the first character of _p_a_r_a_m_e_t_e_r is an exclamation point (!!), a - level of variable indirection is introduced. BBaasshh uses the value of + If the first character of _p_a_r_a_m_e_t_e_r is an exclamation point (!!), a + level of variable indirection is introduced. BBaasshh uses the value of the variable formed from the rest of _p_a_r_a_m_e_t_e_r as the name of the vari- able; this variable is then expanded and that value is used in the rest - of the substitution, rather than the value of _p_a_r_a_m_e_t_e_r itself. This - is known as _i_n_d_i_r_e_c_t _e_x_p_a_n_s_i_o_n. The exceptions to this are the expan- - sions of ${!_p_r_e_f_i_x*} and ${!!_n_a_m_e[_@]} described below. The exclamation - point must immediately follow the left brace in order to introduce + of the substitution, rather than the value of _p_a_r_a_m_e_t_e_r itself. This + is known as _i_n_d_i_r_e_c_t _e_x_p_a_n_s_i_o_n. The exceptions to this are the expan- + sions of ${!_p_r_e_f_i_x*} and ${!!_n_a_m_e[_@]} described below. The exclamation + point must immediately follow the left brace in order to introduce indirection. In each of the cases below, _w_o_r_d is subject to tilde expansion, parame- ter expansion, command substitution, and arithmetic expansion. - When not performing substring expansion, using the forms documented - below, bbaasshh tests for a parameter that is unset or null. Omitting the + When not performing substring expansion, using the forms documented + below, bbaasshh tests for a parameter that is unset or null. Omitting the colon results in a test only for a parameter that is unset. ${_p_a_r_a_m_e_t_e_r::--_w_o_r_d} - UUssee DDeeffaauulltt VVaalluueess. If _p_a_r_a_m_e_t_e_r is unset or null, the expan- - sion of _w_o_r_d is substituted. Otherwise, the value of _p_a_r_a_m_e_t_e_r + UUssee DDeeffaauulltt VVaalluueess. If _p_a_r_a_m_e_t_e_r is unset or null, the expan- + sion of _w_o_r_d is substituted. Otherwise, the value of _p_a_r_a_m_e_t_e_r is substituted. ${_p_a_r_a_m_e_t_e_r::==_w_o_r_d} - AAssssiiggnn DDeeffaauulltt VVaalluueess. If _p_a_r_a_m_e_t_e_r is unset or null, the + AAssssiiggnn DDeeffaauulltt VVaalluueess. If _p_a_r_a_m_e_t_e_r is unset or null, the expansion of _w_o_r_d is assigned to _p_a_r_a_m_e_t_e_r. The value of _p_a_r_a_m_- - _e_t_e_r is then substituted. Positional parameters and special + _e_t_e_r is then substituted. Positional parameters and special parameters may not be assigned to in this way. ${_p_a_r_a_m_e_t_e_r::??_w_o_r_d} - DDiissppllaayy EErrrroorr iiff NNuullll oorr UUnnsseett. If _p_a_r_a_m_e_t_e_r is null or unset, - the expansion of _w_o_r_d (or a message to that effect if _w_o_r_d is - not present) is written to the standard error and the shell, if + DDiissppllaayy EErrrroorr iiff NNuullll oorr UUnnsseett. If _p_a_r_a_m_e_t_e_r is null or unset, + the expansion of _w_o_r_d (or a message to that effect if _w_o_r_d is + not present) is written to the standard error and the shell, if it is not interactive, exits. Otherwise, the value of _p_a_r_a_m_e_t_e_r is substituted. ${_p_a_r_a_m_e_t_e_r::++_w_o_r_d} - UUssee AAlltteerrnnaattee VVaalluuee. If _p_a_r_a_m_e_t_e_r is null or unset, nothing is + UUssee AAlltteerrnnaattee VVaalluuee. If _p_a_r_a_m_e_t_e_r is null or unset, nothing is substituted, otherwise the expansion of _w_o_r_d is substituted. ${_p_a_r_a_m_e_t_e_r::_o_f_f_s_e_t} ${_p_a_r_a_m_e_t_e_r::_o_f_f_s_e_t::_l_e_n_g_t_h} - SSuubbssttrriinngg EExxppaannssiioonn.. Expands to up to _l_e_n_g_t_h characters of - _p_a_r_a_m_e_t_e_r starting at the character specified by _o_f_f_s_e_t. If - _l_e_n_g_t_h is omitted, expands to the substring of _p_a_r_a_m_e_t_e_r start- + SSuubbssttrriinngg EExxppaannssiioonn.. Expands to up to _l_e_n_g_t_h characters of + _p_a_r_a_m_e_t_e_r starting at the character specified by _o_f_f_s_e_t. If + _l_e_n_g_t_h is omitted, expands to the substring of _p_a_r_a_m_e_t_e_r start- ing at the character specified by _o_f_f_s_e_t. _l_e_n_g_t_h and _o_f_f_s_e_t are - arithmetic expressions (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN below). - _l_e_n_g_t_h must evaluate to a number greater than or equal to zero. - If _o_f_f_s_e_t evaluates to a number less than zero, the value is - used as an offset from the end of the value of _p_a_r_a_m_e_t_e_r. If - _p_a_r_a_m_e_t_e_r is @@, the result is _l_e_n_g_t_h positional parameters + arithmetic expressions (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN below). + _l_e_n_g_t_h must evaluate to a number greater than or equal to zero. + If _o_f_f_s_e_t evaluates to a number less than zero, the value is + used as an offset from the end of the value of _p_a_r_a_m_e_t_e_r. If + _p_a_r_a_m_e_t_e_r is @@, the result is _l_e_n_g_t_h positional parameters beginning at _o_f_f_s_e_t. If _p_a_r_a_m_e_t_e_r is an indexed array name sub- - scripted by @ or *, the result is the _l_e_n_g_t_h members of the + scripted by @ or *, the result is the _l_e_n_g_t_h members of the array beginning with ${_p_a_r_a_m_e_t_e_r[_o_f_f_s_e_t]}. A negative _o_f_f_s_e_t is - taken relative to one greater than the maximum index of the - specified array. Substring expansion applied to an associative - array produces undefined results. Note that a negative offset - must be separated from the colon by at least one space to avoid - being confused with the :- expansion. Substring indexing is - zero-based unless the positional parameters are used, in which - case the indexing starts at 1 by default. If _o_f_f_s_e_t is 0, and - the positional parameters are used, $$00 is prefixed to the list. + taken relative to one greater than the maximum index of the + specified array. Substring expansion applied to an associative + array produces undefined results. Note that a negative offset + must be separated from the colon by at least one space to avoid + being confused with the :- expansion. Substring indexing is + zero-based unless the positional parameters are used, in which + case the indexing starts at 1 by default. If _o_f_f_s_e_t is 0, and + the positional parameters are used, $$00 is prefixed to the list. ${!!_p_r_e_f_i_x**} ${!!_p_r_e_f_i_x@@} - NNaammeess mmaattcchhiinngg pprreeffiixx.. Expands to the names of variables whose + NNaammeess mmaattcchhiinngg pprreeffiixx.. Expands to the names of variables whose names begin with _p_r_e_f_i_x, separated by the first character of the - IIFFSS special variable. When _@ is used and the expansion appears - within double quotes, each variable name expands to a separate + IIFFSS special variable. When _@ is used and the expansion appears + within double quotes, each variable name expands to a separate word. ${!!_n_a_m_e[_@]} ${!!_n_a_m_e[_*]} - LLiisstt ooff aarrrraayy kkeeyyss.. If _n_a_m_e is an array variable, expands to - the list of array indices (keys) assigned in _n_a_m_e. If _n_a_m_e is - not an array, expands to 0 if _n_a_m_e is set and null otherwise. - When _@ is used and the expansion appears within double quotes, + LLiisstt ooff aarrrraayy kkeeyyss.. If _n_a_m_e is an array variable, expands to + the list of array indices (keys) assigned in _n_a_m_e. If _n_a_m_e is + not an array, expands to 0 if _n_a_m_e is set and null otherwise. + When _@ is used and the expansion appears within double quotes, each key expands to a separate word. ${##_p_a_r_a_m_e_t_e_r} - PPaarraammeetteerr lleennggtthh.. The length in characters of the value of - _p_a_r_a_m_e_t_e_r is substituted. If _p_a_r_a_m_e_t_e_r is ** or @@, the value - substituted is the number of positional parameters. If _p_a_r_a_m_e_- - _t_e_r is an array name subscripted by ** or @@, the value substi- + PPaarraammeetteerr lleennggtthh.. The length in characters of the value of + _p_a_r_a_m_e_t_e_r is substituted. If _p_a_r_a_m_e_t_e_r is ** or @@, the value + substituted is the number of positional parameters. If _p_a_r_a_m_e_- + _t_e_r is an array name subscripted by ** or @@, the value substi- tuted is the number of elements in the array. ${_p_a_r_a_m_e_t_e_r##_w_o_r_d} ${_p_a_r_a_m_e_t_e_r####_w_o_r_d} RReemmoovvee mmaattcchhiinngg pprreeffiixx ppaatttteerrnn.. The _w_o_r_d is expanded to produce a pattern just as in pathname expansion. If the pattern matches - the beginning of the value of _p_a_r_a_m_e_t_e_r, then the result of the - expansion is the expanded value of _p_a_r_a_m_e_t_e_r with the shortest - matching pattern (the ``##'' case) or the longest matching pat- - tern (the ``####'' case) deleted. If _p_a_r_a_m_e_t_e_r is @@ or **, the - pattern removal operation is applied to each positional parame- + the beginning of the value of _p_a_r_a_m_e_t_e_r, then the result of the + expansion is the expanded value of _p_a_r_a_m_e_t_e_r with the shortest + matching pattern (the ``##'' case) or the longest matching pat- + tern (the ``####'' case) deleted. If _p_a_r_a_m_e_t_e_r is @@ or **, the + pattern removal operation is applied to each positional parame- ter in turn, and the expansion is the resultant list. If _p_a_r_a_m_- - _e_t_e_r is an array variable subscripted with @@ or **, the pattern - removal operation is applied to each member of the array in + _e_t_e_r is an array variable subscripted with @@ or **, the pattern + removal operation is applied to each member of the array in turn, and the expansion is the resultant list. ${_p_a_r_a_m_e_t_e_r%%_w_o_r_d} ${_p_a_r_a_m_e_t_e_r%%%%_w_o_r_d} RReemmoovvee mmaattcchhiinngg ssuuffffiixx ppaatttteerrnn.. The _w_o_r_d is expanded to produce a pattern just as in pathname expansion. If the pattern matches - a trailing portion of the expanded value of _p_a_r_a_m_e_t_e_r, then the - result of the expansion is the expanded value of _p_a_r_a_m_e_t_e_r with - the shortest matching pattern (the ``%%'' case) or the longest - matching pattern (the ``%%%%'' case) deleted. If _p_a_r_a_m_e_t_e_r is @@ - or **, the pattern removal operation is applied to each posi- - tional parameter in turn, and the expansion is the resultant - list. If _p_a_r_a_m_e_t_e_r is an array variable subscripted with @@ or - **, the pattern removal operation is applied to each member of + a trailing portion of the expanded value of _p_a_r_a_m_e_t_e_r, then the + result of the expansion is the expanded value of _p_a_r_a_m_e_t_e_r with + the shortest matching pattern (the ``%%'' case) or the longest + matching pattern (the ``%%%%'' case) deleted. If _p_a_r_a_m_e_t_e_r is @@ + or **, the pattern removal operation is applied to each posi- + tional parameter in turn, and the expansion is the resultant + list. If _p_a_r_a_m_e_t_e_r is an array variable subscripted with @@ or + **, the pattern removal operation is applied to each member of the array in turn, and the expansion is the resultant list. ${_p_a_r_a_m_e_t_e_r//_p_a_t_t_e_r_n//_s_t_r_i_n_g} PPaatttteerrnn ssuubbssttiittuuttiioonn.. The _p_a_t_t_e_r_n is expanded to produce a pat- - tern just as in pathname expansion. _P_a_r_a_m_e_t_e_r is expanded and - the longest match of _p_a_t_t_e_r_n against its value is replaced with - _s_t_r_i_n_g. If _p_a_t_t_e_r_n begins with //, all matches of _p_a_t_t_e_r_n are - replaced with _s_t_r_i_n_g. Normally only the first match is + tern just as in pathname expansion. _P_a_r_a_m_e_t_e_r is expanded and + the longest match of _p_a_t_t_e_r_n against its value is replaced with + _s_t_r_i_n_g. If _p_a_t_t_e_r_n begins with //, all matches of _p_a_t_t_e_r_n are + replaced with _s_t_r_i_n_g. Normally only the first match is replaced. If _p_a_t_t_e_r_n begins with ##, it must match at the begin- ning of the expanded value of _p_a_r_a_m_e_t_e_r. If _p_a_t_t_e_r_n begins with - %%, it must match at the end of the expanded value of _p_a_r_a_m_e_t_e_r. + %%, it must match at the end of the expanded value of _p_a_r_a_m_e_t_e_r. If _s_t_r_i_n_g is null, matches of _p_a_t_t_e_r_n are deleted and the // fol- lowing _p_a_t_t_e_r_n may be omitted. If _p_a_r_a_m_e_t_e_r is @@ or **, the sub- - stitution operation is applied to each positional parameter in - turn, and the expansion is the resultant list. If _p_a_r_a_m_e_t_e_r is - an array variable subscripted with @@ or **, the substitution - operation is applied to each member of the array in turn, and + stitution operation is applied to each positional parameter in + turn, and the expansion is the resultant list. If _p_a_r_a_m_e_t_e_r is + an array variable subscripted with @@ or **, the substitution + operation is applied to each member of the array in turn, and the expansion is the resultant list. ${_p_a_r_a_m_e_t_e_r^^_p_a_t_t_e_r_n} ${_p_a_r_a_m_e_t_e_r^^^^_p_a_t_t_e_r_n} ${_p_a_r_a_m_e_t_e_r,,_p_a_t_t_e_r_n} ${_p_a_r_a_m_e_t_e_r,,,,_p_a_t_t_e_r_n} - CCaassee mmooddiiffiiccaattiioonn.. This expansion modifies the case of alpha- - betic characters in _p_a_r_a_m_e_t_e_r. The _p_a_t_t_e_r_n is expanded to pro- - duce a pattern just as in pathname expansion. The ^^ operator - converts lowercase letters matching _p_a_t_t_e_r_n to uppercase; the ,, - operator converts matching uppercase letters to lowercase. The - ^^^^ and ,,,, expansions convert each matched character in the - expanded value; the ^^ and ,, expansions match and convert only - the first character in the expanded value. If _p_a_t_t_e_r_n is omit- - ted, it is treated like a ??, which matches every character. If - _p_a_r_a_m_e_t_e_r is @@ or **, the case modification operation is applied - to each positional parameter in turn, and the expansion is the - resultant list. If _p_a_r_a_m_e_t_e_r is an array variable subscripted - with @@ or **, the case modification operation is applied to each - member of the array in turn, and the expansion is the resultant + CCaassee mmooddiiffiiccaattiioonn.. This expansion modifies the case of alpha- + betic characters in _p_a_r_a_m_e_t_e_r. The _p_a_t_t_e_r_n is expanded to pro- + duce a pattern just as in pathname expansion. The ^^ operator + converts lowercase letters matching _p_a_t_t_e_r_n to uppercase; the ,, + operator converts matching uppercase letters to lowercase. The + ^^^^ and ,,,, expansions convert each matched character in the + expanded value; the ^^ and ,, expansions match and convert only + the first character in the expanded value. If _p_a_t_t_e_r_n is omit- + ted, it is treated like a ??, which matches every character. If + _p_a_r_a_m_e_t_e_r is @@ or **, the case modification operation is applied + to each positional parameter in turn, and the expansion is the + resultant list. If _p_a_r_a_m_e_t_e_r is an array variable subscripted + with @@ or **, the case modification operation is applied to each + member of the array in turn, and the expansion is the resultant list. CCoommmmaanndd SSuubbssttiittuuttiioonn @@ -1581,160 +1595,160 @@ EEXXPPAANNSSIIOONN ``_c_o_m_m_a_n_d`` BBaasshh performs the expansion by executing _c_o_m_m_a_n_d and replacing the com- - mand substitution with the standard output of the command, with any + mand substitution with the standard output of the command, with any trailing newlines deleted. Embedded newlines are not deleted, but they - may be removed during word splitting. The command substitution $$((ccaatt + may be removed during word splitting. The command substitution $$((ccaatt _f_i_l_e)) can be replaced by the equivalent but faster $$((<< _f_i_l_e)). - When the old-style backquote form of substitution is used, backslash - retains its literal meaning except when followed by $$, ``, or \\. The + When the old-style backquote form of substitution is used, backslash + retains its literal meaning except when followed by $$, ``, or \\. The first backquote not preceded by a backslash terminates the command sub- - stitution. When using the $(_c_o_m_m_a_n_d) form, all characters between the + stitution. When using the $(_c_o_m_m_a_n_d) form, all characters between the parentheses make up the command; none are treated specially. Command substitutions may be nested. To nest when using the backquoted form, escape the inner backquotes with backslashes. - If the substitution appears within double quotes, word splitting and + If the substitution appears within double quotes, word splitting and pathname expansion are not performed on the results. AArriitthhmmeettiicc EExxppaannssiioonn - 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: $$((((_e_x_p_r_e_s_s_i_o_n)))) - The _e_x_p_r_e_s_s_i_o_n is treated as if it were within double quotes, but a - double quote inside the parentheses is not treated specially. All + The _e_x_p_r_e_s_s_i_o_n is treated as if it were within double quotes, but a + double quote inside the parentheses is not treated specially. All tokens in the expression undergo parameter expansion, string expansion, - command substitution, and quote removal. Arithmetic expansions may be + command substitution, and quote removal. Arithmetic expansions may be nested. - The evaluation is performed according to the rules listed below under + The evaluation is performed according to the rules listed below under AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN. If _e_x_p_r_e_s_s_i_o_n is invalid, bbaasshh prints a message indicating failure and no substitution occurs. PPrroocceessss SSuubbssttiittuuttiioonn - _P_r_o_c_e_s_s _s_u_b_s_t_i_t_u_t_i_o_n is supported on systems that support named pipes - (_F_I_F_O_s) or the //ddeevv//ffdd method of naming open files. It takes the form - of <<((_l_i_s_t)) or >>((_l_i_s_t)). The process _l_i_s_t is run with its input or out- + _P_r_o_c_e_s_s _s_u_b_s_t_i_t_u_t_i_o_n is supported on systems that support named pipes + (_F_I_F_O_s) or the //ddeevv//ffdd method of naming open files. It takes the form + of <<((_l_i_s_t)) or >>((_l_i_s_t)). The process _l_i_s_t is run with its input or out- put connected to a _F_I_F_O or some file in //ddeevv//ffdd. The name of this file - is passed as an argument to the current command as the result of the - expansion. If the >>((_l_i_s_t)) form is used, writing to the file will pro- - vide input for _l_i_s_t. If the <<((_l_i_s_t)) form is used, the file passed as + is passed as an argument to the current command as the result of the + expansion. If the >>((_l_i_s_t)) form is used, writing to the file will pro- + vide input for _l_i_s_t. If the <<((_l_i_s_t)) form is used, the file passed as an argument should be read to obtain the output of _l_i_s_t. - 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. WWoorrdd SSpplliittttiinngg - 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 _w_o_r_d _s_p_l_i_t_t_i_n_g. - The shell treats each character of IIFFSS as a delimiter, and splits the + The shell treats each character of IIFFSS as a delimiter, and splits the results of the other expansions into words on these characters. If IIFFSS - is unset, or its value is exactly <><><>, the default, - then sequences of <>, <>, and <> at the beginning and - end of the results of the previous expansions are ignored, and any - sequence of IIFFSS characters not at the beginning or end serves to - delimit words. If IIFFSS has a value other than the default, then + is unset, or its value is exactly <><><>, the default, + then sequences of <>, <>, and <> at the beginning and + end of the results of the previous expansions are ignored, and any + sequence of IIFFSS characters not at the beginning or end serves to + delimit words. If IIFFSS has a value other than the default, then sequences of the whitespace characters ssppaaccee and ttaabb are ignored at the - beginning and end of the word, as long as the whitespace character is - in the value of IIFFSS (an IIFFSS whitespace character). Any character in - IIFFSS that is not IIFFSS whitespace, along with any adjacent IIFFSS whitespace - characters, delimits a field. A sequence of IIFFSS whitespace characters - is also treated as a delimiter. If the value of IIFFSS is null, no word + beginning and end of the word, as long as the whitespace character is + in the value of IIFFSS (an IIFFSS whitespace character). Any character in + IIFFSS that is not IIFFSS whitespace, along with any adjacent IIFFSS whitespace + characters, delimits a field. A sequence of IIFFSS whitespace characters + is also treated as a delimiter. If the value of IIFFSS is null, no word splitting occurs. - Explicit null arguments ("""" or '''') are retained. Unquoted implicit + Explicit null arguments ("""" or '''') are retained. Unquoted implicit null arguments, resulting from the expansion of parameters that have no - values, are removed. If a parameter with no value is expanded within + values, are removed. If a parameter with no value is expanded within double quotes, a null argument results and is retained. Note that if no expansion occurs, no splitting is performed. PPaatthhnnaammee EExxppaannssiioonn - After word splitting, unless the --ff option has been set, bbaasshh scans - each word for the characters **, ??, and [[. If one of these characters - appears, then the word is regarded as a _p_a_t_t_e_r_n, and replaced with an - alphabetically sorted list of file names matching the pattern. If no - matching file names are found, and the shell option nnuullllgglloobb is not - enabled, the word is left unchanged. If the nnuullllgglloobb option is set, - and no matches are found, the word is removed. If the ffaaiillgglloobb shell - option is set, and no matches are found, an error message is printed - and the command is not executed. If the shell option nnooccaasseegglloobb is - enabled, the match is performed without regard to the case of alpha- - betic 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 ddoottgglloobb is - set. When matching a pathname, the slash character must always be - matched explicitly. In other cases, the ````..'''' character is not - treated specially. See the description of sshhoopptt below under SSHHEELLLL - BBUUIILLTTIINN CCOOMMMMAANNDDSS for a description of the nnooccaasseegglloobb, nnuullllgglloobb, ffaaiill-- + After word splitting, unless the --ff option has been set, bbaasshh scans + each word for the characters **, ??, and [[. If one of these characters + appears, then the word is regarded as a _p_a_t_t_e_r_n, and replaced with an + alphabetically sorted list of file names matching the pattern. If no + matching file names are found, and the shell option nnuullllgglloobb is not + enabled, the word is left unchanged. If the nnuullllgglloobb option is set, + and no matches are found, the word is removed. If the ffaaiillgglloobb shell + option is set, and no matches are found, an error message is printed + and the command is not executed. If the shell option nnooccaasseegglloobb is + enabled, the match is performed without regard to the case of alpha- + betic 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 ddoottgglloobb is + set. When matching a pathname, the slash character must always be + matched explicitly. In other cases, the ````..'''' character is not + treated specially. See the description of sshhoopptt below under SSHHEELLLL + BBUUIILLTTIINN CCOOMMMMAANNDDSS for a description of the nnooccaasseegglloobb, nnuullllgglloobb, ffaaiill-- gglloobb, and ddoottgglloobb shell options. - The GGLLOOBBIIGGNNOORREE shell variable may be used to restrict the set of file - names matching a _p_a_t_t_e_r_n. If GGLLOOBBIIGGNNOORREE is set, each matching file - name that also matches one of the patterns in GGLLOOBBIIGGNNOORREE is removed + The GGLLOOBBIIGGNNOORREE shell variable may be used to restrict the set of file + names matching a _p_a_t_t_e_r_n. If GGLLOOBBIIGGNNOORREE is set, each matching file + name that also matches one of the patterns in GGLLOOBBIIGGNNOORREE is removed from the list of matches. The file names ````..'''' and ````....'''' are always - ignored when GGLLOOBBIIGGNNOORREE is set and not null. However, setting GGLLOOBBIIGG-- - NNOORREE to a non-null value has the effect of enabling the ddoottgglloobb shell + ignored when GGLLOOBBIIGGNNOORREE is set and not null. However, setting GGLLOOBBIIGG-- + NNOORREE to a non-null value has the effect of enabling the ddoottgglloobb shell option, so all other file names beginning with a ````..'''' will match. To - get the old behavior of ignoring file names beginning with a ````..'''', - make ````..**'''' one of the patterns in GGLLOOBBIIGGNNOORREE. The ddoottgglloobb option is + get the old behavior of ignoring file names beginning with a ````..'''', + make ````..**'''' one of the patterns in GGLLOOBBIIGGNNOORREE. The ddoottgglloobb option is disabled when GGLLOOBBIIGGNNOORREE is unset. PPaatttteerrnn MMaattcchhiinngg 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: - ** Matches any string, including the null string. When the gglloobb-- + ** Matches any string, including the null string. When the gglloobb-- ssttaarr shell option is enabled, and ** is used in a pathname expan- - sion context, two adjacent **s used as a single pattern will + sion context, two adjacent **s used as a single pattern will match all files and zero or more directories and subdirectories. - If followed by a //, two adjacent **s will match only directories + If followed by a //, two adjacent **s will match only directories and subdirectories. ?? Matches any single character. - [[......]] Matches any one of the enclosed characters. A pair of charac- + [[......]] Matches any one of the enclosed characters. A pair of charac- ters separated by a hyphen denotes a _r_a_n_g_e _e_x_p_r_e_s_s_i_o_n; any char- - acter that sorts between those two characters, inclusive, using - the current locale's collating sequence and character set, is - matched. If the first character following the [[ is a !! or a ^^ - then any character not enclosed is matched. The sorting order - of characters in range expressions is determined by the current - locale and the value of the LLCC__CCOOLLLLAATTEE shell variable, if set. - A -- may be matched by including it as the first or last charac- + acter that sorts between those two characters, inclusive, using + the current locale's collating sequence and character set, is + matched. If the first character following the [[ is a !! or a ^^ + then any character not enclosed is matched. The sorting order + of characters in range expressions is determined by the current + locale and the value of the LLCC__CCOOLLLLAATTEE shell variable, if set. + A -- may be matched by including it as the first or last charac- ter in the set. A ]] may be matched by including it as the first character in the set. - Within [[ and ]], _c_h_a_r_a_c_t_e_r _c_l_a_s_s_e_s can be specified using the - syntax [[::_c_l_a_s_s::]], where _c_l_a_s_s is one of the following classes + Within [[ and ]], _c_h_a_r_a_c_t_e_r _c_l_a_s_s_e_s can be specified using the + syntax [[::_c_l_a_s_s::]], where _c_l_a_s_s is one of the following classes defined in the POSIX standard: - aallnnuumm aallpphhaa aasscciiii bbllaannkk ccnnttrrll ddiiggiitt ggrraapphh lloowweerr pprriinntt ppuunncctt + aallnnuumm aallpphhaa aasscciiii bbllaannkk ccnnttrrll ddiiggiitt ggrraapphh lloowweerr pprriinntt ppuunncctt ssppaaccee uuppppeerr wwoorrdd xxddiiggiitt A character class matches any character belonging to that class. - The wwoorrdd character class matches letters, digits, and the char- + The wwoorrdd character class matches letters, digits, and the char- acter _. - Within [[ and ]], an _e_q_u_i_v_a_l_e_n_c_e _c_l_a_s_s can be specified using the - syntax [[==_c==]], which matches all characters with the same colla- - tion weight (as defined by the current locale) as the character + Within [[ and ]], an _e_q_u_i_v_a_l_e_n_c_e _c_l_a_s_s can be specified using the + syntax [[==_c==]], which matches all characters with the same colla- + tion weight (as defined by the current locale) as the character _c. Within [[ and ]], the syntax [[.._s_y_m_b_o_l..]] matches the collating sym- bol _s_y_m_b_o_l. If the eexxttgglloobb shell option is enabled using the sshhoopptt builtin, several - extended pattern matching operators are recognized. In the following + extended pattern matching operators are recognized. In the following description, a _p_a_t_t_e_r_n_-_l_i_s_t is a list of one or more patterns separated by a ||. Composite patterns may be formed using one or more of the fol- lowing sub-patterns: @@ -1752,55 +1766,55 @@ EEXXPPAANNSSIIOONN QQuuoottee RReemmoovvaall After the preceding expansions, all unquoted occurrences of the charac- - ters \\, '', and "" that did not result from one of the above expansions + ters \\, '', and "" that did not result from one of the above expansions are removed. RREEDDIIRREECCTTIIOONN - Before a command is executed, its input and output may be _r_e_d_i_r_e_c_t_e_d - using a special notation interpreted by the shell. Redirection may - also be used to open and close files for the current shell execution + Before a command is executed, its input and output may be _r_e_d_i_r_e_c_t_e_d + using a special notation interpreted by the shell. Redirection may + also be used to open and close files for the current shell execution environment. The following redirection operators may precede or appear anywhere within a _s_i_m_p_l_e _c_o_m_m_a_n_d or may follow a _c_o_m_m_a_n_d. 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 {_v_a_r_n_a_m_e}. In this case, for each redirection operator except >&- and <&-, the shell will allocate a - file descriptor greater than 10 and assign it to _v_a_r_n_a_m_e. If >&- or - <&- is preceded by {_v_a_r_n_a_m_e}, the value of _v_a_r_n_a_m_e defines the file + file descriptor greater than 10 and assign it to _v_a_r_n_a_m_e. If >&- or + <&- is preceded by {_v_a_r_n_a_m_e}, the value of _v_a_r_n_a_m_e defines the file descriptor to close. - In the following descriptions, if the file descriptor number is omit- - ted, and the first character of the redirection operator is <<, the re- - direction refers to the standard input (file descriptor 0). If the - first character of the redirection operator is >>, the redirection + In the following descriptions, if the file descriptor number is omit- + ted, and the first character of the redirection operator is <<, the re- + direction refers to the standard input (file descriptor 0). If the + first character of the redirection operator is >>, 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 + The word following the redirection operator in the following descrip- + tions, unless otherwise noted, is subjected to brace expansion, tilde expansion, parameter expansion, command substitution, arithmetic expan- - sion, quote removal, pathname expansion, and word splitting. If it + sion, quote removal, pathname expansion, and word splitting. If it expands to more than one word, bbaasshh 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 >> dirlist 2>>&&1 - directs both standard output and standard error to the file _d_i_r_l_i_s_t, + directs both standard output and standard error to the file _d_i_r_l_i_s_t, while the command ls 2>>&&1 >> dirlist - directs only the standard output to file _d_i_r_l_i_s_t, because the standard - error was duplicated from the standard output before the standard out- + directs only the standard output to file _d_i_r_l_i_s_t, because the standard + error was duplicated from the standard output before the standard out- put was redirected to _d_i_r_l_i_s_t. BBaasshh handles several filenames specially when they are used in redirec- tions, as described in the following table: //ddeevv//ffdd//_f_d - If _f_d is a valid integer, file descriptor _f_d is dupli- + If _f_d is a valid integer, file descriptor _f_d is dupli- cated. //ddeevv//ssttddiinn File descriptor 0 is duplicated. @@ -1810,22 +1824,22 @@ RREEDDIIRREECCTTIIOONN File descriptor 2 is duplicated. //ddeevv//ttccpp//_h_o_s_t//_p_o_r_t If _h_o_s_t is a valid hostname or Internet address, and _p_o_r_t - is an integer port number or service name, bbaasshh attempts + is an integer port number or service name, bbaasshh attempts to open a TCP connection to the corresponding socket. //ddeevv//uuddpp//_h_o_s_t//_p_o_r_t If _h_o_s_t is a valid hostname or Internet address, and _p_o_r_t - is an integer port number or service name, bbaasshh attempts + is an integer port number or service name, bbaasshh attempts to open a UDP connection to the corresponding socket. A failure to open or create a file causes the redirection to fail. - Redirections using file descriptors greater than 9 should be used 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. RReeddiirreeccttiinngg IInnppuutt Redirection of input causes the file whose name results from the expan- - sion of _w_o_r_d to be opened for reading on file descriptor _n, or the + sion of _w_o_r_d to be opened for reading on file descriptor _n, or the standard input (file descriptor 0) if _n is not specified. The general format for redirecting input is: @@ -1833,27 +1847,27 @@ RREEDDIIRREECCTTIIOONN [_n]<<_w_o_r_d RReeddiirreeccttiinngg OOuuttppuutt - Redirection of output causes the file whose name results from the + Redirection of output causes the file whose name results from the expansion of _w_o_r_d to be opened for writing on file descriptor _n, or the standard output (file descriptor 1) if _n 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: [_n]>>_w_o_r_d - If the redirection operator is >>, and the nnoocclloobbbbeerr option to the sseett - builtin has been enabled, the redirection will fail if the file whose - name results from the expansion of _w_o_r_d exists and is a regular file. + If the redirection operator is >>, and the nnoocclloobbbbeerr option to the sseett + builtin has been enabled, the redirection will fail if the file whose + name results from the expansion of _w_o_r_d exists and is a regular file. If the redirection operator is >>||, or the redirection operator is >> and the nnoocclloobbbbeerr option to the sseett builtin command is not enabled, the re- direction is attempted even if the file named by _w_o_r_d exists. AAppppeennddiinngg RReeddiirreecctteedd OOuuttppuutt - Redirection of output in this fashion causes the file whose name - results from the expansion of _w_o_r_d to be opened for appending on file - descriptor _n, or the standard output (file descriptor 1) if _n is not + Redirection of output in this fashion causes the file whose name + results from the expansion of _w_o_r_d to be opened for appending on file + descriptor _n, or the standard output (file descriptor 1) if _n is not specified. If the file does not exist it is created. The general format for appending output is: @@ -1862,11 +1876,11 @@ RREEDDIIRREECCTTIIOONN RReeddiirreeccttiinngg SSttaannddaarrdd OOuuttppuutt aanndd SSttaannddaarrdd EErrrroorr - 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 _w_o_r_d. - There are two formats for redirecting standard output and standard + There are two formats for redirecting standard output and standard error: &&>>_w_o_r_d @@ -1880,8 +1894,8 @@ RREEDDIIRREECCTTIIOONN AAppppeennddiinngg SSttaannddaarrdd OOuuttppuutt aanndd SSttaannddaarrdd EErrrroorr - 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 _w_o_r_d. The format for appending standard output and standard error is: @@ -1893,9 +1907,9 @@ RREEDDIIRREECCTTIIOONN >>>>_w_o_r_d 2>>&&1 HHeerree DDooccuummeennttss - 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 a line containing only _d_e_l_i_m_i_t_e_r (with no trailing - blanks) is seen. All of the lines read up to that point are then used + blanks) is seen. All of the lines read up to that point are then used as the standard input for a command. The format of here-documents is: @@ -1904,18 +1918,18 @@ RREEDDIIRREECCTTIIOONN _h_e_r_e_-_d_o_c_u_m_e_n_t _d_e_l_i_m_i_t_e_r - No parameter expansion, command substitution, arithmetic expansion, or + No parameter expansion, command substitution, arithmetic expansion, or pathname expansion is performed on _w_o_r_d. If any characters in _w_o_r_d are - quoted, the _d_e_l_i_m_i_t_e_r is the result of quote removal on _w_o_r_d, and the - lines in the here-document are not expanded. If _w_o_r_d is unquoted, all - lines of the here-document are subjected to parameter expansion, com- - mand substitution, and arithmetic expansion. In the latter case, the - character sequence \\<> is ignored, and \\ must be used to quote + quoted, the _d_e_l_i_m_i_t_e_r is the result of quote removal on _w_o_r_d, and the + lines in the here-document are not expanded. If _w_o_r_d is unquoted, all + lines of the here-document are subjected to parameter expansion, com- + mand substitution, and arithmetic expansion. In the latter case, the + character sequence \\<> is ignored, and \\ must be used to quote the characters \\, $$, and ``. If the redirection operator is <<<<--, then all leading tab characters are - stripped from input lines and the line containing _d_e_l_i_m_i_t_e_r. This - allows here-documents within shell scripts to be indented in a natural + stripped from input lines and the line containing _d_e_l_i_m_i_t_e_r. This + allows here-documents within shell scripts to be indented in a natural fashion. HHeerree SSttrriinnggss @@ -1931,20 +1945,20 @@ RREEDDIIRREECCTTIIOONN [_n]<<&&_w_o_r_d is used to duplicate input file descriptors. If _w_o_r_d expands to one or - more digits, the file descriptor denoted by _n is made to be a copy of - that file descriptor. If the digits in _w_o_r_d do not specify a file - descriptor open for input, a redirection error occurs. If _w_o_r_d evalu- - ates to --, file descriptor _n is closed. If _n is not specified, the + more digits, the file descriptor denoted by _n is made to be a copy of + that file descriptor. If the digits in _w_o_r_d do not specify a file + descriptor open for input, a redirection error occurs. If _w_o_r_d evalu- + ates to --, file descriptor _n is closed. If _n is not specified, the standard input (file descriptor 0) is used. The operator [_n]>>&&_w_o_r_d - is used similarly to duplicate output file descriptors. If _n is not - specified, the standard output (file descriptor 1) is used. If the - digits in _w_o_r_d do not specify a file descriptor open for output, a re- - direction error occurs. As a special case, if _n is omitted, and _w_o_r_d + is used similarly to duplicate output file descriptors. If _n is not + specified, the standard output (file descriptor 1) is used. If the + digits in _w_o_r_d do not specify a file descriptor open for output, a re- + direction error occurs. As a special case, if _n is omitted, and _w_o_r_d does not expand to one or more digits, the standard output and standard error are redirected as described previously. @@ -1953,7 +1967,7 @@ RREEDDIIRREECCTTIIOONN [_n]<<&&_d_i_g_i_t-- - moves the file descriptor _d_i_g_i_t to file descriptor _n, or the standard + moves the file descriptor _d_i_g_i_t to file descriptor _n, or the standard input (file descriptor 0) if _n is not specified. _d_i_g_i_t is closed after being duplicated to _n. @@ -1961,7 +1975,7 @@ RREEDDIIRREECCTTIIOONN [_n]>>&&_d_i_g_i_t-- - moves the file descriptor _d_i_g_i_t to file descriptor _n, or the standard + moves the file descriptor _d_i_g_i_t to file descriptor _n, or the standard output (file descriptor 1) if _n is not specified. OOppeenniinngg FFiillee DDeessccrriippttoorrss ffoorr RReeaaddiinngg aanndd WWrriittiinngg @@ -1969,111 +1983,115 @@ RREEDDIIRREECCTTIIOONN [_n]<<>>_w_o_r_d - causes the file whose name is the expansion of _w_o_r_d to be opened for - both reading and writing on file descriptor _n, or on file descriptor 0 + causes the file whose name is the expansion of _w_o_r_d to be opened for + both reading and writing on file descriptor _n, or on file descriptor 0 if _n is not specified. If the file does not exist, it is created. AALLIIAASSEESS - _A_l_i_a_s_e_s allow a string to be substituted for a word when it is used as - the first word of a simple command. The shell maintains a list of - aliases that may be set and unset with the aalliiaass and uunnaalliiaass builtin - commands (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). The first word of each - simple command, if unquoted, is checked to see if it has an alias. If - so, that word is replaced by the text of the alias. The characters //, - $$, ``, and == and any of the shell _m_e_t_a_c_h_a_r_a_c_t_e_r_s or quoting characters + _A_l_i_a_s_e_s allow a string to be substituted for a word when it is used as + the first word of a simple command. The shell maintains a list of + aliases that may be set and unset with the aalliiaass and uunnaalliiaass builtin + commands (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). The first word of each + simple command, if unquoted, is checked to see if it has an alias. If + so, that word is replaced by the text of the alias. The characters //, + $$, ``, and == and any of the shell _m_e_t_a_c_h_a_r_a_c_t_e_r_s 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 llss to llss --FF, for instance, and - bbaasshh does not try to recursively expand the replacement text. If the - last character of the alias value is a _b_l_a_n_k, then the next command + 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 llss to llss --FF, for instance, and + bbaasshh does not try to recursively expand the replacement text. If the + last character of the alias value is a _b_l_a_n_k, then the next command word following the alias is also checked for alias expansion. Aliases are created and listed with the aalliiaass command, and removed with the uunnaalliiaass command. - There is no mechanism for using arguments in the replacement text. If - arguments are needed, a shell function should be used (see FFUUNNCCTTIIOONNSS + There is no mechanism for using arguments in the replacement text. If + arguments are needed, a shell function should be used (see FFUUNNCCTTIIOONNSS below). - Aliases are not expanded when the shell is not interactive, unless the - eexxppaanndd__aalliiaasseess shell option is set using sshhoopptt (see the description of + Aliases are not expanded when the shell is not interactive, unless the + eexxppaanndd__aalliiaasseess shell option is set using sshhoopptt (see the description of sshhoopptt under SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). - The rules concerning the definition and use of aliases are somewhat - confusing. BBaasshh always reads at least one complete line of input - before executing any of the commands on that line. 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 + The rules concerning the definition and use of aliases are somewhat + confusing. BBaasshh always reads at least one complete line of input + before executing any of the commands on that line. 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 com- + alias. This behavior is also an issue when functions are executed. + Aliases are expanded when a function definition is read, not when the + function is executed, because a function definition is itself a com- pound command. As a consequence, aliases defined in a function are not - available until after that function is executed. To be safe, always - put alias definitions on a separate line, and do not use aalliiaass in com- + available until after that function is executed. To be safe, always + put alias definitions on a separate line, and do not use aalliiaass in com- pound commands. For almost every purpose, aliases are superseded by shell functions. FFUUNNCCTTIIOONNSS - A shell function, defined as described above under SSHHEELLLL GGRRAAMMMMAARR, - 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 SSHHEELLLL GGRRAAMMMMAARR, + 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 - interpret 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 + interpret 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 ## is - updated to reflect the change. Special parameter 0 is unchanged. The - first element of the FFUUNNCCNNAAMMEE variable is set to the name of the func- + updated to reflect the change. Special parameter 0 is unchanged. The + first element of the FFUUNNCCNNAAMMEE 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 + All other aspects of the shell execution environment are identical between a function and its caller with these exceptions: the DDEEBBUUGG and - RREETTUURRNN traps (see the description of the ttrraapp builtin under SSHHEELLLL - BBUUIILLTTIINN CCOOMMMMAANNDDSS below) are not inherited unless the function has been - given the ttrraaccee attribute (see the description of the ddeeccllaarree builtin - below) or the --oo ffuunnccttrraaccee shell option has been enabled with the sseett - builtin (in which case all functions inherit the DDEEBBUUGG and RREETTUURRNN - traps), and the EERRRR trap is not inherited unless the --oo eerrrrttrraaccee shell + RREETTUURRNN traps (see the description of the ttrraapp builtin under SSHHEELLLL + BBUUIILLTTIINN CCOOMMMMAANNDDSS below) are not inherited unless the function has been + given the ttrraaccee attribute (see the description of the ddeeccllaarree builtin + below) or the --oo ffuunnccttrraaccee shell option has been enabled with the sseett + builtin (in which case all functions inherit the DDEEBBUUGG and RREETTUURRNN + traps), and the EERRRR trap is not inherited unless the --oo eerrrrttrraaccee shell option has been enabled. - Variables local to the function may be declared with the llooccaall builtin + Variables local to the function may be declared with the llooccaall builtin command. Ordinarily, variables and their values are shared between the function and its caller. - If the builtin command rreettuurrnn 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 RREETTUURRNN trap is executed + The FFUUNNCCNNEESSTT variable, if set to a numeric value greater than 0, + defines a maximum function nesting level. Function invocations that + exceed the limit cause the entire command to abort. + + If the builtin command rreettuurrnn 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 RREETTUURRNN trap is executed before execution resumes. When a function completes, the values of the - positional parameters and the special parameter ## are restored to the + positional parameters and the special parameter ## are restored to the values they had prior to the function's execution. - Function names and definitions may be listed with the --ff option to the + Function names and definitions may be listed with the --ff option to the ddeeccllaarree or ttyyppeesseett builtin commands. The --FF option to ddeeccllaarree or ttyyppee-- - sseett will list the function names only (and optionally the source file - and line number, if the eexxttddeebbuugg shell option is enabled). Functions - may be exported so that subshells automatically have them defined with - the --ff option to the eexxppoorrtt builtin. A function definition may be - deleted using the --ff option to the uunnsseett builtin. Note that shell + sseett will list the function names only (and optionally the source file + and line number, if the eexxttddeebbuugg shell option is enabled). Functions + may be exported so that subshells automatically have them defined with + the --ff option to the eexxppoorrtt builtin. A function definition may be + deleted using the --ff option to the uunnsseett builtin. Note that shell functions and variables with the same name may result in multiple iden- - tically-named entries in the environment passed to the shell's chil- + tically-named entries in the environment passed to the shell's chil- dren. Care should be taken in cases where this may cause a problem. - Functions may be recursive. No limit is imposed on the number of + Functions may be recursive. No limit is imposed on the number of recursive calls. AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN - The shell allows arithmetic expressions to be evaluated, under certain - circumstances (see the lleett and ddeeccllaarree builtin commands and AArriitthhmmeettiicc - EExxppaannssiioonn). 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 following list of operators is grouped - into levels of equal-precedence operators. The levels are listed in + The shell allows arithmetic expressions to be evaluated, under certain + circumstances (see the lleett and ddeeccllaarree builtin commands and AArriitthhmmeettiicc + EExxppaannssiioonn). 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 following list of operators is grouped + into levels of equal-precedence operators. The levels are listed in order of decreasing precedence. _i_d++++ _i_d---- @@ -2101,46 +2119,46 @@ AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN _e_x_p_r_1 ,, _e_x_p_r_2 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 _i_n_t_e_g_e_r + The value of a variable is evaluated as an arithmetic expression when + it is referenced, or when a variable which has been given the _i_n_t_e_g_e_r attribute using ddeeccllaarree --ii is assigned a value. A null value evaluates - to 0. A shell variable need not have its integer attribute turned on + to 0. A shell variable need not have its integer attribute turned on to be used in an expression. Constants with a leading 0 are interpreted as octal numbers. A leading - 0x or 0X denotes hexadecimal. Otherwise, numbers take the form - [_b_a_s_e_#]n, where the optional _b_a_s_e is a decimal number between 2 and 64 - representing the arithmetic base, and _n is a number in that base. If - _b_a_s_e_# is omitted, then base 10 is used. The digits greater than 9 are - represented by the lowercase letters, the uppercase letters, @, and _, - in that order. If _b_a_s_e is less than or equal to 36, lowercase and - uppercase letters may be used interchangeably to represent numbers + 0x or 0X denotes hexadecimal. Otherwise, numbers take the form + [_b_a_s_e_#]n, where the optional _b_a_s_e is a decimal number between 2 and 64 + representing the arithmetic base, and _n is a number in that base. If + _b_a_s_e_# is omitted, then base 10 is used. The digits greater than 9 are + represented by the lowercase letters, the uppercase letters, @, and _, + in that order. If _b_a_s_e is less than or equal to 36, lowercase and + uppercase letters may be used interchangeably to represent numbers between 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. CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS - Conditional expressions are used by the [[[[ compound command and the - tteesstt and [[ builtin commands to test file attributes and perform string - and arithmetic comparisons. Expressions are formed from the following - unary or binary primaries. If any _f_i_l_e argument to one of the pri- + Conditional expressions are used by the [[[[ compound command and the + tteesstt and [[ builtin commands to test file attributes and perform string + and arithmetic comparisons. Expressions are formed from the following + unary or binary primaries. If any _f_i_l_e argument to one of the pri- maries is of the form _/_d_e_v_/_f_d_/_n, then file descriptor _n is checked. If - the _f_i_l_e argument to one of the primaries is one of _/_d_e_v_/_s_t_d_i_n, - _/_d_e_v_/_s_t_d_o_u_t, or _/_d_e_v_/_s_t_d_e_r_r, file descriptor 0, 1, or 2, respectively, + the _f_i_l_e argument to one of the primaries is one of _/_d_e_v_/_s_t_d_i_n, + _/_d_e_v_/_s_t_d_o_u_t, or _/_d_e_v_/_s_t_d_e_r_r, 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 [[[[, The << and >> operators sort lexicographically using + When used with [[[[, The << and >> operators sort lexicographically using the current locale. --aa _f_i_l_e @@ -2179,25 +2197,28 @@ CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS --LL _f_i_l_e True if _f_i_l_e exists and is a symbolic link. --NN _f_i_l_e - True if _f_i_l_e exists and has been modified since it was last + True if _f_i_l_e exists and has been modified since it was last read. --OO _f_i_l_e True if _f_i_l_e exists and is owned by the effective user id. --SS _f_i_l_e True if _f_i_l_e exists and is a socket. _f_i_l_e_1 --eeff _f_i_l_e_2 - True if _f_i_l_e_1 and _f_i_l_e_2 refer to the same device and inode num- + True if _f_i_l_e_1 and _f_i_l_e_2 refer to the same device and inode num- bers. _f_i_l_e_1 -nntt _f_i_l_e_2 - True if _f_i_l_e_1 is newer (according to modification date) than + True if _f_i_l_e_1 is newer (according to modification date) than _f_i_l_e_2, or if _f_i_l_e_1 exists and _f_i_l_e_2 does not. _f_i_l_e_1 -oott _f_i_l_e_2 - True if _f_i_l_e_1 is older than _f_i_l_e_2, or if _f_i_l_e_2 exists and _f_i_l_e_1 + True if _f_i_l_e_1 is older than _f_i_l_e_2, or if _f_i_l_e_2 exists and _f_i_l_e_1 does not. --oo _o_p_t_n_a_m_e - True if shell option _o_p_t_n_a_m_e is enabled. See the list of - options under the description of the --oo option to the sseett + True if the shell option _o_p_t_n_a_m_e is enabled. See the list of + options under the description of the --oo option to the sseett builtin below. + --vv _v_a_r_n_a_m_e + True if the shell variable _v_a_r_n_a_m_e is set (has been assigned a + value). --zz _s_t_r_i_n_g True if the length of _s_t_r_i_n_g is zero. _s_t_r_i_n_g @@ -4017,8 +4038,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS loop) is resumed. The return value is 0 unless _n is not greater than or equal to 1. - ddeeccllaarree [--aaAAffFFiillrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...] - ttyyppeesseett [--aaAAffFFiillrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...] + ddeeccllaarree [--aaAAffFFggiillrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...] + ttyyppeesseett [--aaAAffFFggiillrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...] Declare variables and/or give them attributes. If no _n_a_m_es are given then display the values of variables. The --pp option will display the attributes and values of each _n_a_m_e. When --pp is used @@ -4032,94 +4053,97 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS nitions; only the function name and attributes are printed. If the eexxttddeebbuugg shell option is enabled using sshhoopptt, the source file name and line number where the function is defined are dis- - played as well. The --FF option implies --ff. The following - options can be used to restrict output to variables with the - specified attribute or to give variables attributes: - --aa Each _n_a_m_e is an indexed array variable (see AArrrraayyss + played as well. The --FF option implies --ff. The --gg option forces + variables to be created or modified at the global scope, even + when ddeeccllaarree is executed in a shell function. It is ignored in + all other cases. The following options can be used to restrict + output to variables with the specified attribute or to give + variables attributes: + --aa Each _n_a_m_e is an indexed array variable (see AArrrraayyss above). - --AA Each _n_a_m_e is an associative array variable (see AArrrraayyss + --AA Each _n_a_m_e is an associative array variable (see AArrrraayyss above). --ff Use function names only. --ii The variable is treated as an integer; arithmetic evalua- - tion (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN above) is performed when + tion (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN above) is performed when the variable is assigned a value. - --ll When the variable is assigned a value, all upper-case - characters are converted to lower-case. The upper-case + --ll When the variable is assigned a value, all upper-case + characters are converted to lower-case. The upper-case attribute is disabled. --rr Make _n_a_m_es readonly. These names cannot then be assigned values by subsequent assignment statements or unset. - --tt Give each _n_a_m_e the _t_r_a_c_e attribute. Traced functions - inherit the DDEEBBUUGG and RREETTUURRNN traps from the calling - shell. The trace attribute has no special meaning for + --tt Give each _n_a_m_e the _t_r_a_c_e attribute. Traced functions + inherit the DDEEBBUUGG and RREETTUURRNN traps from the calling + shell. The trace attribute has no special meaning for variables. - --uu When the variable is assigned a value, all lower-case - characters are converted to upper-case. The lower-case + --uu When the variable is assigned a value, all lower-case + characters are converted to upper-case. The lower-case attribute is disabled. - --xx Mark _n_a_m_es for export to subsequent commands via the + --xx Mark _n_a_m_es for export to subsequent commands via the environment. - Using `+' instead of `-' turns off the attribute instead, with + Using `+' instead of `-' turns off the attribute instead, with the exceptions that ++aa may not be used to destroy an array vari- - able and ++rr will not remove the readonly attribute. When used - in a function, makes each _n_a_m_e local, as with the llooccaall command. - If a variable name is followed by =_v_a_l_u_e, the value of the vari- - able is set to _v_a_l_u_e. The return value is 0 unless an invalid - option is encountered, an attempt is made to define a function - using ``-f foo=bar'', an attempt is made to assign a value to a - readonly variable, an attempt is made to assign a value to an - array variable without using the compound assignment syntax (see - AArrrraayyss above), one of the _n_a_m_e_s is not a valid shell variable - name, an attempt is made to turn off readonly status for a read- - only variable, an attempt is made to turn off array status for - an array variable, or an attempt is made to display a non-exis- - tent function with --ff. + able and ++rr will not remove the readonly attribute. When used + in a function, makes each _n_a_m_e local, as with the llooccaall command, + unless the --ggPP ooppttiioonn iiss ssuupppplliieedd,, IIff aa vvaarriiaabbllee nnaammee iiss ffooll-- + lloowweedd bbyy ==_v_a_l_u_e,, tthhee vvaalluuee ooff tthhee vvaarriiaabbllee iiss sseett ttoo _v_a_l_u_e.. TThhee + rreettuurrnn vvaalluuee iiss 00 uunnlleessss aann iinnvvaalliidd ooppttiioonn iiss eennccoouunntteerreedd,, aann + aatttteemmpptt iiss mmaaddee ttoo ddeeffiinnee aa ffuunnccttiioonn uussiinngg ````--ff ffoooo==bbaarr'''',, aann + aatttteemmpptt iiss mmaaddee ttoo aassssiiggnn aa vvaalluuee ttoo aa rreeaaddoonnllyy vvaarriiaabbllee,, aann + aatttteemmpptt iiss mmaaddee ttoo aassssiiggnn aa vvaalluuee ttoo aann aarrrraayy vvaarriiaabbllee wwiitthhoouutt + uussiinngg tthhee ccoommppoouunndd aassssiiggnnmmeenntt ssyynnttaaxx ((sseeee AArrrraayyss above), one of + the _n_a_m_e_s is not a valid shell variable name, an attempt is made + to turn off readonly status for a readonly variable, an attempt + is made to turn off array status for an array variable, or an + attempt is made to display a non-existent function with --ff. ddiirrss [[++_n]] [[--_n]] [[--ccllppvv]] - Without options, displays the list of currently remembered - directories. The default display is on a single line with - directory names separated by spaces. Directories are added to - the list with the ppuusshhdd command; the ppooppdd command removes + Without options, displays the list of currently remembered + directories. The default display is on a single line with + directory names separated by spaces. Directories are added to + the list with the ppuusshhdd command; the ppooppdd command removes entries from the list. ++_n Displays the _nth entry counting from the left of the list shown by ddiirrss when invoked without options, starting with zero. - --_n Displays the _nth entry counting from the right of the + --_n Displays the _nth entry counting from the right of the list shown by ddiirrss when invoked without options, starting with zero. --cc Clears the directory stack by deleting all of the entries. - --ll Produces a longer listing; the default listing format + --ll Produces a longer listing; the default listing format uses a tilde to denote the home directory. --pp Print the directory stack with one entry per line. - --vv Print the directory stack with one entry per line, pre- + --vv Print the directory stack with one entry per line, pre- fixing each entry with its index in the stack. - The return value is 0 unless an invalid option is supplied or _n + The return value is 0 unless an invalid option is supplied or _n indexes beyond the end of the directory stack. ddiissoowwnn [--aarr] [--hh] [_j_o_b_s_p_e_c ...] - Without options, each _j_o_b_s_p_e_c is removed from the table of - active jobs. If _j_o_b_s_p_e_c is not present, and neither --aa nor --rr - is supplied, the shell's notion of the _c_u_r_r_e_n_t _j_o_b is used. If + Without options, each _j_o_b_s_p_e_c is removed from the table of + active jobs. If _j_o_b_s_p_e_c is not present, and neither --aa nor --rr + is supplied, the shell's notion of the _c_u_r_r_e_n_t _j_o_b is used. If the --hh option is given, each _j_o_b_s_p_e_c is not removed from the ta- - ble, but is marked so that SSIIGGHHUUPP is not sent to the job if the - shell receives a SSIIGGHHUUPP. If no _j_o_b_s_p_e_c is present, and neither - the --aa nor the --rr option is supplied, the _c_u_r_r_e_n_t _j_o_b is used. + ble, but is marked so that SSIIGGHHUUPP is not sent to the job if the + shell receives a SSIIGGHHUUPP. If no _j_o_b_s_p_e_c is present, and neither + the --aa nor the --rr option is supplied, the _c_u_r_r_e_n_t _j_o_b is used. If no _j_o_b_s_p_e_c is supplied, the --aa option means to remove or mark - all jobs; the --rr option without a _j_o_b_s_p_e_c argument restricts - operation to running jobs. The return value is 0 unless a _j_o_b_- + all jobs; the --rr option without a _j_o_b_s_p_e_c argument restricts + operation to running jobs. The return value is 0 unless a _j_o_b_- _s_p_e_c does not specify a valid job. eecchhoo [--nneeEE] [_a_r_g ...] - Output the _a_r_gs, separated by spaces, followed by a newline. + Output the _a_r_gs, separated by spaces, followed by a newline. The return status is always 0. If --nn is specified, the trailing - newline is suppressed. If the --ee option is given, interpreta- - tion of the following backslash-escaped characters is enabled. - The --EE option disables the interpretation of these escape char- - acters, even on systems where they are interpreted by default. - The xxppgg__eecchhoo shell option may be used to dynamically determine - whether or not eecchhoo expands these escape characters by default. - eecchhoo does not interpret ---- to mean the end of options. eecchhoo + newline is suppressed. If the --ee option is given, interpreta- + tion of the following backslash-escaped characters is enabled. + The --EE option disables the interpretation of these escape char- + acters, even on systems where they are interpreted by default. + The xxppgg__eecchhoo shell option may be used to dynamically determine + whether or not eecchhoo expands these escape characters by default. + eecchhoo does not interpret ---- to mean the end of options. eecchhoo interprets the following escape sequences: \\aa alert (bell) \\bb backspace @@ -4131,185 +4155,190 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS \\tt horizontal tab \\vv vertical tab \\\\ backslash - \\00_n_n_n the eight-bit character whose value is the octal value + \\00_n_n_n the eight-bit character whose value is the octal value _n_n_n (zero to three octal digits) - \\xx_H_H the eight-bit character whose value is the hexadecimal + \\xx_H_H the eight-bit character whose value is the hexadecimal value _H_H (one or two hex digits) + \\uu_H_H_H_H the Unicode (ISO/IEC 10646) character whose value is the + hexadecimal value _H_H_H_H (one to four hex digits) + \\UU_H_H_H_H_H_H_H_H + the Unicode (ISO/IEC 10646) character whose value is the + hexadecimal value _H_H_H_H_H_H_H_H (one to eight hex digits) eennaabbllee [--aa] [--ddnnppss] [--ff _f_i_l_e_n_a_m_e] [_n_a_m_e ...] - 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 --nn is used, each _n_a_m_e is disabled; otherwise, _n_a_m_e_s are + to be executed without specifying a full pathname, even though + the shell normally searches for builtins before disk commands. + If --nn is used, each _n_a_m_e is disabled; otherwise, _n_a_m_e_s are enabled. For example, to use the tteesstt binary found via the PPAATTHH - instead of the shell builtin version, run ``enable -n test''. - The --ff option means to load the new builtin command _n_a_m_e from + instead of the shell builtin version, run ``enable -n test''. + The --ff option means to load the new builtin command _n_a_m_e from shared object _f_i_l_e_n_a_m_e, on systems that support dynamic loading. - The --dd option will delete a builtin previously loaded with --ff. + The --dd option will delete a builtin previously loaded with --ff. If no _n_a_m_e arguments are given, or if the --pp 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 --nn - is supplied, only disabled builtins are printed. If --aa is sup- - plied, the list printed includes all builtins, with an indica- - tion of whether or not each is enabled. If --ss is supplied, the - output is restricted to the POSIX _s_p_e_c_i_a_l builtins. The return - value is 0 unless a _n_a_m_e is not a shell builtin or there is an + ments, the list consists of all enabled shell builtins. If --nn + is supplied, only disabled builtins are printed. If --aa is sup- + plied, the list printed includes all builtins, with an indica- + tion of whether or not each is enabled. If --ss is supplied, the + output is restricted to the POSIX _s_p_e_c_i_a_l builtins. The return + value is 0 unless a _n_a_m_e is not a shell builtin or there is an error loading a new builtin from a shared object. eevvaall [_a_r_g ...] - The _a_r_gs 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 eevvaall. If there are + The _a_r_gs 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 eevvaall. If there are no _a_r_g_s, or only null arguments, eevvaall returns 0. eexxeecc [--ccll] [--aa _n_a_m_e] [_c_o_m_m_a_n_d [_a_r_g_u_m_e_n_t_s]] - If _c_o_m_m_a_n_d is specified, it replaces the shell. No new process - is created. The _a_r_g_u_m_e_n_t_s become the arguments to _c_o_m_m_a_n_d. If + If _c_o_m_m_a_n_d is specified, it replaces the shell. No new process + is created. The _a_r_g_u_m_e_n_t_s become the arguments to _c_o_m_m_a_n_d. If the --ll option is supplied, the shell places a dash at the begin- - ning of the zeroth argument passed to _c_o_m_m_a_n_d. This is what + ning of the zeroth argument passed to _c_o_m_m_a_n_d. This is what _l_o_g_i_n(1) does. The --cc option causes _c_o_m_m_a_n_d to be executed with - an empty environment. If --aa is supplied, the shell passes _n_a_m_e + an empty environment. If --aa is supplied, the shell passes _n_a_m_e as the zeroth argument to the executed command. If _c_o_m_m_a_n_d can- - not be executed for some reason, a non-interactive shell exits, - unless the shell option eexxeeccffaaiill is enabled, in which case it - returns failure. An interactive shell returns failure if the + not be executed for some reason, a non-interactive shell exits, + unless the shell option eexxeeccffaaiill is enabled, in which case it + returns failure. An interactive shell returns failure if the file cannot be executed. If _c_o_m_m_a_n_d is not specified, any redi- rections take effect in the current shell, and the return status - is 0. If there is a redirection error, the return status is 1. + is 0. If there is a redirection error, the return status is 1. eexxiitt [_n] - Cause the shell to exit with a status of _n. If _n is omitted, + Cause the shell to exit with a status of _n. If _n is omitted, the exit status is that of the last command executed. A trap on EEXXIITT is executed before the shell terminates. eexxppoorrtt [--ffnn] [_n_a_m_e[=_w_o_r_d]] ... eexxppoorrtt --pp - The supplied _n_a_m_e_s are marked for automatic export to the envi- - ronment of subsequently executed commands. If the --ff option is - given, the _n_a_m_e_s refer to functions. If no _n_a_m_e_s are given, or - if the --pp option is supplied, a list of all names that are - exported in this shell is printed. The --nn option causes the - export property to be removed from each _n_a_m_e. If a variable - name is followed by =_w_o_r_d, the value of the variable is set to - _w_o_r_d. eexxppoorrtt returns an exit status of 0 unless an invalid - option is encountered, one of the _n_a_m_e_s is not a valid shell + The supplied _n_a_m_e_s are marked for automatic export to the envi- + ronment of subsequently executed commands. If the --ff option is + given, the _n_a_m_e_s refer to functions. If no _n_a_m_e_s are given, or + if the --pp option is supplied, a list of all names that are + exported in this shell is printed. The --nn option causes the + export property to be removed from each _n_a_m_e. If a variable + name is followed by =_w_o_r_d, the value of the variable is set to + _w_o_r_d. eexxppoorrtt returns an exit status of 0 unless an invalid + option is encountered, one of the _n_a_m_e_s is not a valid shell variable name, or --ff is supplied with a _n_a_m_e that is not a func- tion. ffcc [--ee _e_n_a_m_e] [--llnnrr] [_f_i_r_s_t] [_l_a_s_t] ffcc --ss [_p_a_t=_r_e_p] [_c_m_d] - Fix Command. In the first form, a range of commands from _f_i_r_s_t - to _l_a_s_t is selected from the history list. _F_i_r_s_t and _l_a_s_t may - be specified as a string (to locate the last command beginning - with that string) or as a number (an index into the history + Fix Command. In the first form, a range of commands from _f_i_r_s_t + to _l_a_s_t is selected from the history list. _F_i_r_s_t and _l_a_s_t may + be specified as a string (to locate the last command beginning + with that string) or as a number (an index into the history list, where a negative number is used as an offset from the cur- rent command number). If _l_a_s_t is not specified it is set to the - current command for listing (so that ``fc -l -10'' prints the + current command for listing (so that ``fc -l -10'' prints the last 10 commands) and to _f_i_r_s_t otherwise. If _f_i_r_s_t is not spec- - ified it is set to the previous command for editing and -16 for + ified it is set to the previous command for editing and -16 for listing. - The --nn option suppresses the command numbers when listing. The - --rr option reverses the order of the commands. If the --ll option - is given, the commands are listed on standard output. Other- - wise, the editor given by _e_n_a_m_e is invoked on a file containing - those commands. If _e_n_a_m_e is not given, the value of the FFCCEEDDIITT - variable is used, and the value of EEDDIITTOORR if FFCCEEDDIITT is not set. - If neither variable is set, _v_i is used. When editing is com- + The --nn option suppresses the command numbers when listing. The + --rr option reverses the order of the commands. If the --ll option + is given, the commands are listed on standard output. Other- + wise, the editor given by _e_n_a_m_e is invoked on a file containing + those commands. If _e_n_a_m_e is not given, the value of the FFCCEEDDIITT + variable is used, and the value of EEDDIITTOORR if FFCCEEDDIITT is not set. + If neither variable is set, _v_i is used. When editing is com- plete, the edited commands are echoed and executed. - In the second form, _c_o_m_m_a_n_d is re-executed after each instance - of _p_a_t is replaced by _r_e_p. A useful alias to use with this is - ``r="fc -s"'', so that typing ``r cc'' runs the last command + In the second form, _c_o_m_m_a_n_d is re-executed after each instance + of _p_a_t is replaced by _r_e_p. A useful alias to use with this is + ``r="fc -s"'', so that typing ``r cc'' runs the last command beginning with ``cc'' and typing ``r'' re-executes the last com- mand. - If the first form is used, the return value is 0 unless an - invalid option is encountered or _f_i_r_s_t or _l_a_s_t specify history - lines out of range. If the --ee option is supplied, the return + If the first form is used, the return value is 0 unless an + invalid option is encountered or _f_i_r_s_t or _l_a_s_t specify history + lines out of range. If the --ee 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 _c_m_d does not specify a valid history line, in + form is used, the return status is that of the command re-exe- + cuted, unless _c_m_d does not specify a valid history line, in which case ffcc returns failure. ffgg [_j_o_b_s_p_e_c] - Resume _j_o_b_s_p_e_c in the foreground, and make it the current job. + Resume _j_o_b_s_p_e_c in the foreground, and make it the current job. If _j_o_b_s_p_e_c is not present, the shell's notion of the _c_u_r_r_e_n_t _j_o_b - 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 _j_o_b_s_p_e_c does not spec- - ify a valid job or _j_o_b_s_p_e_c specifies a job that was started + ify a valid job or _j_o_b_s_p_e_c specifies a job that was started without job control. ggeettooppttss _o_p_t_s_t_r_i_n_g _n_a_m_e [_a_r_g_s] - ggeettooppttss is used by shell procedures to parse positional parame- - ters. _o_p_t_s_t_r_i_n_g contains the option characters to be recog- - nized; if a character is followed by a colon, the option is - expected to have an argument, which should be separated from it - by white space. The colon and question mark characters may not - be used as option characters. Each time it is invoked, ggeettooppttss - places the next option in the shell variable _n_a_m_e, initializing + ggeettooppttss is used by shell procedures to parse positional parame- + ters. _o_p_t_s_t_r_i_n_g contains the option characters to be recog- + nized; if a character is followed by a colon, the option is + expected to have an argument, which should be separated from it + by white space. The colon and question mark characters may not + be used as option characters. Each time it is invoked, ggeettooppttss + places the next option in the shell variable _n_a_m_e, initializing _n_a_m_e if it does not exist, and the index of the next argument to be processed into the variable OOPPTTIINNDD. OOPPTTIINNDD is initialized to - 1 each time the shell or a shell script is invoked. When an - option requires an argument, ggeettooppttss places that argument into - the variable OOPPTTAARRGG. The shell does not reset OOPPTTIINNDD automati- - cally; it must be manually reset between multiple calls to + 1 each time the shell or a shell script is invoked. When an + option requires an argument, ggeettooppttss places that argument into + the variable OOPPTTAARRGG. The shell does not reset OOPPTTIINNDD automati- + cally; it must be manually reset between multiple calls to ggeettooppttss within the same shell invocation if a new set of parame- ters is to be used. - When the end of options is encountered, ggeettooppttss exits with a - return value greater than zero. OOPPTTIINNDD is set to the index of + When the end of options is encountered, ggeettooppttss exits with a + return value greater than zero. OOPPTTIINNDD is set to the index of the first non-option argument, and nnaammee is set to ?. - ggeettooppttss normally parses the positional parameters, but if more + ggeettooppttss normally parses the positional parameters, but if more arguments are given in _a_r_g_s, ggeettooppttss parses those instead. - ggeettooppttss can report errors in two ways. If the first character - of _o_p_t_s_t_r_i_n_g is a colon, _s_i_l_e_n_t error reporting is used. In - normal operation diagnostic messages are printed when invalid - options or missing option arguments are encountered. If the - variable OOPPTTEERRRR is set to 0, no error messages will be dis- + ggeettooppttss can report errors in two ways. If the first character + of _o_p_t_s_t_r_i_n_g is a colon, _s_i_l_e_n_t error reporting is used. In + normal operation diagnostic messages are printed when invalid + options or missing option arguments are encountered. If the + variable OOPPTTEERRRR is set to 0, no error messages will be dis- played, even if the first character of _o_p_t_s_t_r_i_n_g is not a colon. If an invalid option is seen, ggeettooppttss places ? into _n_a_m_e and, if - not silent, prints an error message and unsets OOPPTTAARRGG. If - ggeettooppttss is silent, the option character found is placed in + not silent, prints an error message and unsets OOPPTTAARRGG. If + ggeettooppttss is silent, the option character found is placed in OOPPTTAARRGG and no diagnostic message is printed. - If a required argument is not found, and ggeettooppttss is not silent, - a question mark (??) is placed in _n_a_m_e, OOPPTTAARRGG is unset, and a - diagnostic message is printed. If ggeettooppttss is silent, then a - colon (::) is placed in _n_a_m_e and OOPPTTAARRGG is set to the option + If a required argument is not found, and ggeettooppttss is not silent, + a question mark (??) is placed in _n_a_m_e, OOPPTTAARRGG is unset, and a + diagnostic message is printed. If ggeettooppttss is silent, then a + colon (::) is placed in _n_a_m_e and OOPPTTAARRGG is set to the option character found. - ggeettooppttss returns true if an option, specified or unspecified, is + ggeettooppttss returns true if an option, specified or unspecified, is found. It returns false if the end of options is encountered or an error occurs. hhaasshh [--llrr] [--pp _f_i_l_e_n_a_m_e] [--ddtt] [_n_a_m_e] Each time hhaasshh is invoked, the full pathname of the command _n_a_m_e - is determined by searching the directories in $$PPAATTHH and remem- + is determined by searching the directories in $$PPAATTHH and remem- bered. Any previously-remembered pathname is discarded. If the --pp option is supplied, no path search is performed, and _f_i_l_e_n_a_m_e - is used as the full file name of the command. The --rr option - causes the shell to forget all remembered locations. The --dd - option causes the shell to forget the remembered location of - each _n_a_m_e. If the --tt option is supplied, the full pathname to - which each _n_a_m_e corresponds is printed. If multiple _n_a_m_e argu- - ments are supplied with --tt, the _n_a_m_e is printed before the - hashed full pathname. The --ll option causes output to be dis- + is used as the full file name of the command. The --rr option + causes the shell to forget all remembered locations. The --dd + option causes the shell to forget the remembered location of + each _n_a_m_e. If the --tt option is supplied, the full pathname to + which each _n_a_m_e corresponds is printed. If multiple _n_a_m_e argu- + ments are supplied with --tt, the _n_a_m_e is printed before the + hashed full pathname. The --ll option causes output to be dis- played in a format that may be reused as input. If no arguments - are given, or if only --ll is supplied, information about remem- - bered commands is printed. The return status is true unless a + are given, or if only --ll is supplied, information about remem- + bered commands is printed. The return status is true unless a _n_a_m_e is not found or an invalid option is supplied. hheellpp [--ddmmss] [_p_a_t_t_e_r_n] - Display helpful information about builtin commands. If _p_a_t_t_e_r_n - is specified, hheellpp gives detailed help on all commands matching - _p_a_t_t_e_r_n; otherwise help for all the builtins and shell control + Display helpful information about builtin commands. If _p_a_t_t_e_r_n + is specified, hheellpp gives detailed help on all commands matching + _p_a_t_t_e_r_n; otherwise help for all the builtins and shell control structures is printed. --dd Display a short description of each _p_a_t_t_e_r_n --mm Display the description of each _p_a_t_t_e_r_n in a manpage-like @@ -4325,44 +4354,44 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS hhiissttoorryy --ss _a_r_g [_a_r_g _._._.] With no options, display the command history list with line num- bers. Lines listed with a ** have been modified. An argument of - _n lists only the last _n lines. If the shell variable HHIISSTTTTIIMMEE-- - FFOORRMMAATT is set and not null, it is used as a format string for - _s_t_r_f_t_i_m_e(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 _f_i_l_e_n_a_m_e is - supplied, it is used as the name of the history file; if not, - the value of HHIISSTTFFIILLEE is used. Options, if supplied, have the + _n lists only the last _n lines. If the shell variable HHIISSTTTTIIMMEE-- + FFOORRMMAATT is set and not null, it is used as a format string for + _s_t_r_f_t_i_m_e(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 _f_i_l_e_n_a_m_e is + supplied, it is used as the name of the history file; if not, + the value of HHIISSTTFFIILLEE is used. Options, if supplied, have the following meanings: --cc Clear the history list by deleting all the entries. --dd _o_f_f_s_e_t Delete the history entry at position _o_f_f_s_e_t. - --aa Append the ``new'' history lines (history lines entered - since the beginning of the current bbaasshh session) to the + --aa Append the ``new'' history lines (history lines entered + since the beginning of the current bbaasshh session) to the history file. - --nn Read the history lines not already read from the history - file into the current history list. These are lines - appended to the history file since the beginning of the + --nn Read the history lines not already read from the history + file into the current history list. These are lines + appended to the history file since the beginning of the current bbaasshh session. --rr Read the contents of the history file and use them as the current history. - --ww Write the current history to the history file, overwrit- + --ww Write the current history to the history file, overwrit- ing the history file's contents. - --pp Perform history substitution on the following _a_r_g_s and - display the result on the standard output. Does not - store the results in the history list. Each _a_r_g must be + --pp Perform history substitution on the following _a_r_g_s and + display the result on the standard output. Does not + store the results in the history list. Each _a_r_g must be quoted to disable normal history expansion. - --ss Store the _a_r_g_s in the history list as a single entry. - The last command in the history list is removed before + --ss Store the _a_r_g_s in the history list as a single entry. + The last command in the history list is removed before the _a_r_g_s are added. - If the HHIISSTTTTIIMMEEFFOORRMMAATT 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 HHIISSTTTTIIMMEEFFOORRMMAATT 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 previous history line. The return value is 0 - unless an invalid option is encountered, an error occurs while - reading or writing the history file, an invalid _o_f_f_s_e_t is sup- + unless an invalid option is encountered, an error occurs while + reading or writing the history file, an invalid _o_f_f_s_e_t is sup- plied as an argument to --dd, or the history expansion supplied as an argument to --pp fails. @@ -4371,186 +4400,195 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS The first form lists the active jobs. The options have the fol- lowing meanings: --ll List process IDs in addition to the normal information. - --nn Display information only about jobs that have changed - status since the user was last notified of their status. - --pp List only the process ID of the job's process group + --nn Display information only about jobs that have changed + status since the user was last notified of their status. + --pp List only the process ID of the job's process group leader. --rr Restrict output to running jobs. --ss Restrict output to stopped jobs. - If _j_o_b_s_p_e_c is given, output is restricted to information about - that job. The return status is 0 unless an invalid option is + If _j_o_b_s_p_e_c is given, output is restricted to information about + that job. The return status is 0 unless an invalid option is encountered or an invalid _j_o_b_s_p_e_c is supplied. If the --xx option is supplied, jjoobbss replaces any _j_o_b_s_p_e_c found in - _c_o_m_m_a_n_d or _a_r_g_s with the corresponding process group ID, and + _c_o_m_m_a_n_d or _a_r_g_s with the corresponding process group ID, and executes _c_o_m_m_a_n_d passing it _a_r_g_s, returning its exit status. kkiillll [--ss _s_i_g_s_p_e_c | --nn _s_i_g_n_u_m | --_s_i_g_s_p_e_c] [_p_i_d | _j_o_b_s_p_e_c] ... kkiillll --ll [_s_i_g_s_p_e_c | _e_x_i_t___s_t_a_t_u_s] - Send the signal named by _s_i_g_s_p_e_c or _s_i_g_n_u_m to the processes - named by _p_i_d or _j_o_b_s_p_e_c. _s_i_g_s_p_e_c is either a case-insensitive - signal name such as SSIIGGKKIILLLL (with or without the SSIIGG prefix) or - a signal number; _s_i_g_n_u_m is a signal number. If _s_i_g_s_p_e_c is not - present, then SSIIGGTTEERRMM is assumed. An argument of --ll lists the - signal names. If any arguments are supplied when --ll is given, - the names of the signals corresponding to the arguments are + Send the signal named by _s_i_g_s_p_e_c or _s_i_g_n_u_m to the processes + named by _p_i_d or _j_o_b_s_p_e_c. _s_i_g_s_p_e_c is either a case-insensitive + signal name such as SSIIGGKKIILLLL (with or without the SSIIGG prefix) or + a signal number; _s_i_g_n_u_m is a signal number. If _s_i_g_s_p_e_c is not + present, then SSIIGGTTEERRMM is assumed. An argument of --ll lists the + signal names. If any arguments are supplied when --ll is given, + the names of the signals corresponding to the arguments are listed, and the return status is 0. The _e_x_i_t___s_t_a_t_u_s argument to - --ll is a number specifying either a signal number or the exit - status of a process terminated by a signal. kkiillll returns true - if at least one signal was successfully sent, or false if an + --ll is a number specifying either a signal number or the exit + status of a process terminated by a signal. kkiillll returns true + if at least one signal was successfully sent, or false if an error occurs or an invalid option is encountered. lleett _a_r_g [_a_r_g ...] Each _a_r_g is an arithmetic expression to be evaluated (see AARRIITTHH-- - MMEETTIICC EEVVAALLUUAATTIIOONN above). If the last _a_r_g evaluates to 0, lleett + MMEETTIICC EEVVAALLUUAATTIIOONN above). If the last _a_r_g evaluates to 0, lleett returns 1; 0 is returned otherwise. llooccaall [_o_p_t_i_o_n] [_n_a_m_e[=_v_a_l_u_e] ...] - For each argument, a local variable named _n_a_m_e is created, and - assigned _v_a_l_u_e. The _o_p_t_i_o_n can be any of the options accepted + For each argument, a local variable named _n_a_m_e is created, and + assigned _v_a_l_u_e. The _o_p_t_i_o_n can be any of the options accepted by ddeeccllaarree. When llooccaall is used within a function, it causes the - variable _n_a_m_e to have a visible scope restricted to that func- + variable _n_a_m_e to have a visible scope restricted to that func- tion and its children. With no operands, llooccaall writes a list of - local variables to the standard output. It is an error to use + local variables to the standard output. It is an error to use llooccaall when not within a function. The return status is 0 unless - llooccaall is used outside a function, an invalid _n_a_m_e is supplied, + llooccaall is used outside a function, an invalid _n_a_m_e is supplied, or _n_a_m_e is a readonly variable. llooggoouutt Exit a login shell. - mmaappffiillee [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k] + mmaappffiillee [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k] [--cc _q_u_a_n_t_u_m] [_a_r_r_a_y] - rreeaaddaarrrraayy [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k] + rreeaaddaarrrraayy [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k] [--cc _q_u_a_n_t_u_m] [_a_r_r_a_y] - Read lines from the standard input into the indexed array vari- - able _a_r_r_a_y, or from file descriptor _f_d if the --uu option is sup- - plied. The variable MMAAPPFFIILLEE is the default _a_r_r_a_y. Options, if + Read lines from the standard input into the indexed array vari- + able _a_r_r_a_y, or from file descriptor _f_d if the --uu option is sup- + plied. The variable MMAAPPFFIILLEE is the default _a_r_r_a_y. Options, if supplied, have the following meanings: - --nn Copy at most _c_o_u_n_t lines. If _c_o_u_n_t is 0, all lines are + --nn Copy at most _c_o_u_n_t lines. If _c_o_u_n_t is 0, all lines are copied. - --OO Begin assigning to _a_r_r_a_y at index _o_r_i_g_i_n. The default + --OO Begin assigning to _a_r_r_a_y at index _o_r_i_g_i_n. The default index is 0. --ss Discard the first _c_o_u_n_t lines read. --tt Remove a trailing newline from each line read. - --uu Read lines from file descriptor _f_d instead of the stan- + --uu Read lines from file descriptor _f_d instead of the stan- dard input. - --CC Evaluate _c_a_l_l_b_a_c_k each time _q_u_a_n_t_u_m lines are read. The + --CC Evaluate _c_a_l_l_b_a_c_k each time _q_u_a_n_t_u_m lines are read. The --cc option specifies _q_u_a_n_t_u_m. - --cc Specify the number of lines read between each call to + --cc Specify the number of lines read between each call to _c_a_l_l_b_a_c_k. - If --CC is specified without --cc, the default quantum is 5000. + If --CC is specified without --cc, the default quantum is 5000. When _c_a_l_l_b_a_c_k is evaluated, it is supplied the index of the next - array element to be assigned as an additional argument. _c_a_l_l_- - _b_a_c_k is evaluated after the line is read but before the array - element is assigned. + array element to be assigned and the line to be assigned to that + element as additional arguments. _c_a_l_l_b_a_c_k is evaluated after + the line is read but before the array element is assigned. - If not supplied with an explicit origin, mmaappffiillee will clear + If not supplied with an explicit origin, mmaappffiillee will clear _a_r_r_a_y before assigning to it. - mmaappffiillee returns successfully unless an invalid option or option - argument is supplied, _a_r_r_a_y is invalid or unassignable, or if + mmaappffiillee returns successfully unless an invalid option or option + argument is supplied, _a_r_r_a_y is invalid or unassignable, or if _a_r_r_a_y is not an indexed array. ppooppdd [-nn] [+_n] [-_n] - Removes entries from the directory stack. With no arguments, - removes the top directory from the stack, and performs a ccdd to + Removes entries from the directory stack. With no arguments, + removes the top directory from the stack, and performs a ccdd to the new top directory. Arguments, if supplied, have the follow- ing meanings: - --nn Suppresses the normal change of directory when removing - directories from the stack, so that only the stack is + --nn Suppresses the normal change of directory when removing + directories from the stack, so that only the stack is manipulated. - ++_n Removes the _nth entry counting from the left of the list - shown by ddiirrss, starting with zero. For example: ``popd + ++_n Removes the _nth entry counting from the left of the list + shown by ddiirrss, starting with zero. For example: ``popd +0'' removes the first directory, ``popd +1'' the second. --_n Removes the _nth entry counting from the right of the list - shown by ddiirrss, starting with zero. For example: ``popd - -0'' removes the last directory, ``popd -1'' the next to + shown by ddiirrss, starting with zero. For example: ``popd + -0'' removes the last directory, ``popd -1'' the next to last. - If the ppooppdd command is successful, a ddiirrss is performed as well, - and the return status is 0. ppooppdd returns false if an invalid + If the ppooppdd command is successful, a ddiirrss is performed as well, + and the return status is 0. ppooppdd returns false if an invalid option is encountered, the directory stack is empty, a non-exis- tent directory stack entry is specified, or the directory change fails. pprriinnttff [--vv _v_a_r] _f_o_r_m_a_t [_a_r_g_u_m_e_n_t_s] - Write the formatted _a_r_g_u_m_e_n_t_s to the standard output under the - control of the _f_o_r_m_a_t. The _f_o_r_m_a_t 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 for- - mat specifications, each of which causes printing of the next - successive _a_r_g_u_m_e_n_t. In addition to the standard _p_r_i_n_t_f(1) for- - mats, %%bb causes pprriinnttff to expand backslash escape sequences in - the corresponding _a_r_g_u_m_e_n_t (except that \\cc terminates output, - backslashes in \\'', \\"", and \\?? are not removed, and octal escapes - beginning with \\00 may contain up to four digits), and %%qq causes - pprriinnttff to output the corresponding _a_r_g_u_m_e_n_t in a format that can - be reused as shell input. + Write the formatted _a_r_g_u_m_e_n_t_s to the standard output under the + control of the _f_o_r_m_a_t. The --vv option causes the output to be + assigned to the variable _v_a_r rather than being printed to the + standard output. + + The _f_o_r_m_a_t 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 _a_r_g_u_m_e_n_t. In + addition to the standard _p_r_i_n_t_f(1) format specifications, pprriinnttff + interprets the following extensions: + %%bb causes pprriinnttff to expand backslash escape sequences in the + corresponding _a_r_g_u_m_e_n_t (except that \\cc terminates output, + backslashes in \\'', \\"", and \\?? are not removed, and octal + escapes beginning with \\00 may contain up to four digits). + %%qq causes pprriinnttff to output the corresponding _a_r_g_u_m_e_n_t in a + format that can be reused as shell input. + %%((_d_a_t_e_f_m_t))TT + causes pprriinnttff to output the date-time string resulting + from using _d_a_t_e_f_m_t as a format string for _s_t_r_f_t_i_m_e(3). + The corresponding _a_r_g_u_m_e_n_t 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. Arguments to non-string format specifiers are treated as C con- stants, except that a leading plus or minus sign is allowed, and if the leading character is a single or double quote, the value is the ASCII value of the following character. - The --vv option causes the output to be assigned to the variable - _v_a_r rather than being printed to the standard output. - - The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_- + The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_- _m_e_n_t_s. If the _f_o_r_m_a_t requires more _a_r_g_u_m_e_n_t_s than are supplied, - the extra format specifications behave as if a zero value or - null string, as appropriate, had been supplied. The return + 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 on failure. ppuusshhdd [--nn] [+_n] [-_n] ppuusshhdd [--nn] [_d_i_r] - Adds a directory to the top of the directory stack, or rotates - the stack, making the new top of the stack the current working + 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, exchanges the top two directories - and returns 0, unless the directory stack is empty. Arguments, + and returns 0, unless the directory stack is empty. Arguments, if supplied, have the following meanings: - --nn Suppresses the normal change of directory when adding - directories to the stack, so that only the stack is + --nn Suppresses the normal change of directory when adding + directories to the stack, so that only the stack is manipulated. - ++_n Rotates the stack so that the _nth directory (counting - from the left of the list shown by ddiirrss, starting with + ++_n Rotates the stack so that the _nth directory (counting + from the left of the list shown by ddiirrss, starting with zero) is at the top. - --_n Rotates the stack so that the _nth directory (counting - from the right of the list shown by ddiirrss, starting with + --_n Rotates the stack so that the _nth directory (counting + from the right of the list shown by ddiirrss, starting with zero) is at the top. _d_i_r Adds _d_i_r to the directory stack at the top, making it the new current working directory. If the ppuusshhdd command is successful, a ddiirrss is performed as well. - If the first form is used, ppuusshhdd returns 0 unless the cd to _d_i_r - fails. With the second form, ppuusshhdd returns 0 unless the direc- - tory stack is empty, a non-existent directory stack element is - specified, or the directory change to the specified new current + If the first form is used, ppuusshhdd returns 0 unless the cd to _d_i_r + fails. With the second form, ppuusshhdd returns 0 unless the direc- + tory stack is empty, a non-existent directory stack element is + specified, or the directory change to the specified new current directory fails. ppwwdd [--LLPP] - 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 --PP option is supplied or the --oo pphhyyssiiccaall option to the sseett builtin command - is enabled. If the --LL option is used, the pathname printed may - contain symbolic links. The return status is 0 unless an error - occurs while reading the name of the current directory or an + is enabled. If the --LL option is used, the pathname printed may + contain symbolic links. The return status is 0 unless an error + occurs while reading the name of the current directory or an invalid option is supplied. rreeaadd [--eerrss] [--aa _a_n_a_m_e] [--dd _d_e_l_i_m] [--ii _t_e_x_t] [--nn _n_c_h_a_r_s] [--NN _n_c_h_a_r_s] [--pp _p_r_o_m_p_t] [--tt _t_i_m_e_o_u_t] [--uu _f_d] [_n_a_m_e ...] - One line is read from the standard input, or from the file - descriptor _f_d supplied as an argument to the --uu option, and the + One line is read from the standard input, or from the file + descriptor _f_d supplied as an argument to the --uu option, and the first word is assigned to the first _n_a_m_e, the second word to the - second _n_a_m_e, and so on, with leftover words and their interven- - ing separators assigned to the last _n_a_m_e. If there are fewer + second _n_a_m_e, and so on, with leftover words and their interven- + ing separators assigned to the last _n_a_m_e. If there are fewer words read from the input stream than names, the remaining names - are assigned empty values. The characters in IIFFSS are used to - split the line into words. The backslash character (\\) may be - used to remove any special meaning for the next character read - and for line continuation. Options, if supplied, have the fol- + are assigned empty values. The characters in IIFFSS are used to + split the line into words. The backslash character (\\) may be + used to remove any special meaning for the next character read + and for line continuation. Options, if supplied, have the fol- lowing meanings: --aa _a_n_a_m_e The words are assigned to sequential indices of the array @@ -4558,132 +4596,132 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS new values are assigned. Other _n_a_m_e arguments are ignored. --dd _d_e_l_i_m - The first character of _d_e_l_i_m is used to terminate the + The first character of _d_e_l_i_m is used to terminate the input line, rather than newline. --ee If the standard input is coming from a terminal, rreeaaddlliinnee - (see RREEAADDLLIINNEE above) is used to obtain the line. Read- - line uses the current (or default, if line editing was + (see RREEAADDLLIINNEE above) is used to obtain the line. Read- + line uses the current (or default, if line editing was not previously active) editing settings. --ii _t_e_x_t - If rreeaaddlliinnee is being used to read the line, _t_e_x_t is + If rreeaaddlliinnee is being used to read the line, _t_e_x_t is placed into the editing buffer before editing begins. --nn _n_c_h_a_r_s - rreeaadd returns after reading _n_c_h_a_r_s characters rather than - waiting for a complete line of input, but honor a delim- - iter if fewer than _n_c_h_a_r_s characters are read before the + rreeaadd returns after reading _n_c_h_a_r_s characters rather than + waiting for a complete line of input, but honor a delim- + iter if fewer than _n_c_h_a_r_s characters are read before the delimiter. --NN _n_c_h_a_r_s - rreeaadd returns after reading exactly _n_c_h_a_r_s characters - rather than waiting for a complete line of input, unless - EOF is encountered or rreeaadd times out. Delimiter charac- - ters encountered in the input are not treated specially - and do not cause rreeaadd to return until _n_c_h_a_r_s characters + rreeaadd returns after reading exactly _n_c_h_a_r_s characters + rather than waiting for a complete line of input, unless + EOF is encountered or rreeaadd times out. Delimiter charac- + ters encountered in the input are not treated specially + and do not cause rreeaadd to return until _n_c_h_a_r_s characters are read. --pp _p_r_o_m_p_t Display _p_r_o_m_p_t on standard error, without a trailing new- line, before attempting to read any input. The prompt is displayed only if input is coming from a terminal. --rr Backslash does not act as an escape character. The back- - slash is considered to be part of the line. In particu- - lar, a backslash-newline pair may not be used as a line + slash is considered to be part of the line. In particu- + lar, a backslash-newline pair may not be used as a line continuation. --ss Silent mode. If input is coming from a terminal, charac- ters are not echoed. --tt _t_i_m_e_o_u_t - Cause rreeaadd to time out and return failure if a complete - line of input is not read within _t_i_m_e_o_u_t seconds. _t_i_m_e_- - _o_u_t may be a decimal number with a fractional portion - following the decimal point. This option is only effec- - tive if rreeaadd is reading input from a terminal, pipe, or - other special file; it has no effect when reading from - regular files. If _t_i_m_e_o_u_t is 0, rreeaadd returns success if - input is available on the specified file descriptor, - failure otherwise. The exit status is greater than 128 + Cause rreeaadd to time out and return failure if a complete + line of input is not read within _t_i_m_e_o_u_t seconds. _t_i_m_e_- + _o_u_t may be a decimal number with a fractional portion + following the decimal point. This option is only effec- + tive if rreeaadd is reading input from a terminal, pipe, or + other special file; it has no effect when reading from + regular files. If _t_i_m_e_o_u_t is 0, rreeaadd returns success if + input is available on the specified file descriptor, + failure otherwise. The exit status is greater than 128 if the timeout is exceeded. --uu _f_d Read input from file descriptor _f_d. If no _n_a_m_e_s are supplied, the line read is assigned to the vari- - able RREEPPLLYY. The return code is zero, unless end-of-file is - encountered, rreeaadd times out (in which case the return code is - greater than 128), or an invalid file descriptor is supplied as + able RREEPPLLYY. The return code is zero, unless end-of-file is + encountered, rreeaadd times out (in which case the return code is + greater than 128), or an invalid file descriptor is supplied as the argument to --uu. rreeaaddoonnllyy [--aaAAppff] [_n_a_m_e[=_w_o_r_d] ...] - The given _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s - may not be changed by subsequent assignment. If the --ff option - is supplied, the functions corresponding to the _n_a_m_e_s are so - marked. The --aa option restricts the variables to indexed - arrays; the --AA option restricts the variables to associative - arrays. If no _n_a_m_e arguments are given, or if the --pp option is - supplied, a list of all readonly names is printed. The --pp - option causes output to be displayed in a format that may be - reused as input. If a variable name is followed by =_w_o_r_d, the - value of the variable is set to _w_o_r_d. The return status is 0 + The given _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s + may not be changed by subsequent assignment. If the --ff option + is supplied, the functions corresponding to the _n_a_m_e_s are so + marked. The --aa option restricts the variables to indexed + arrays; the --AA option restricts the variables to associative + arrays. If no _n_a_m_e arguments are given, or if the --pp option is + supplied, a list of all readonly names is printed. The --pp + option causes output to be displayed in a format that may be + reused as input. If a variable name is followed by =_w_o_r_d, the + value of the variable is set to _w_o_r_d. The return status is 0 unless an invalid option is encountered, one of the _n_a_m_e_s is not - a valid shell variable name, or --ff is supplied with a _n_a_m_e that + a valid shell variable name, or --ff is supplied with a _n_a_m_e that is not a function. rreettuurrnn [_n] - Causes a function to exit with the return value specified by _n. - If _n is omitted, the return status is that of the last command - executed in the function body. If used outside a function, but - during execution of a script by the .. (ssoouurrccee) command, it + Causes a function to exit with the return value specified by _n. + If _n is omitted, the return status is that of the last command + executed in the function body. If used outside a function, but + during execution of a script by the .. (ssoouurrccee) command, it causes the shell to stop executing that script and return either - _n or the exit status of the last command executed within the - script as the exit status of the script. If used outside a - function and not during execution of a script by .., the return + _n or the exit status of the last command executed within the + script as the exit status of the script. If used outside a + function and not during execution of a script by .., the return status is false. Any command associated with the RREETTUURRNN trap is - executed before execution resumes after the function or script. + executed before execution resumes after the function or script. sseett [----aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [--oo _o_p_t_i_o_n] [_a_r_g ...] sseett [++aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [++oo _o_p_t_i_o_n] [_a_r_g ...] - Without options, the name and value of each shell variable are + Without options, the name and value of each shell variable are displayed in a format that can be reused as input for setting or resetting the currently-set variables. Read-only variables can- - not be reset. In _p_o_s_i_x _m_o_d_e, 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 - arguments remaining after option processing are treated as val- + not be reset. In _p_o_s_i_x _m_o_d_e, 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 + arguments remaining after option processing are treated as val- ues for the positional parameters and are assigned, in order, to - $$11, $$22, ...... $$_n. Options, if specified, have the following + $$11, $$22, ...... $$_n. Options, if specified, have the following meanings: - --aa Automatically mark variables and functions which are - modified or created for export to the environment of + --aa Automatically mark variables and functions which are + modified or created for export to the environment of subsequent commands. - --bb Report the status of terminated background jobs immedi- + --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. - --ee Exit immediately if a _p_i_p_e_l_i_n_e (which may consist of a - single _s_i_m_p_l_e _c_o_m_m_a_n_d), a _s_u_b_s_h_e_l_l command enclosed in - parentheses, or one of the commands executed as part of - a command list enclosed by braces (see SSHHEELLLL GGRRAAMMMMAARR + --ee Exit immediately if a _p_i_p_e_l_i_n_e (which may consist of a + single _s_i_m_p_l_e _c_o_m_m_a_n_d), a _s_u_b_s_h_e_l_l command enclosed in + parentheses, or one of the commands executed as part of + a command list enclosed by braces (see SSHHEELLLL GGRRAAMMMMAARR above) exits with a non-zero status. The shell does not - exit if the command that fails is part of the command - list immediately following a wwhhiillee or uunnttiill keyword, - part of the test following the iiff or eelliiff reserved - words, part of any command executed in a &&&& or |||| list - except the command following the final &&&& or ||||, any - command in a pipeline but the last, or if the command's - return value is being inverted with !!. A trap on EERRRR, + exit if the command that fails is part of the command + list immediately following a wwhhiillee or uunnttiill keyword, + part of the test following the iiff or eelliiff reserved + words, part of any command executed in a &&&& or |||| list + except the command following the final &&&& or ||||, any + command in a pipeline but the last, or if the command's + return value is being inverted with !!. A trap on EERRRR, if set, is executed before the shell exits. This option applies to the shell environment and each subshell envi- - ronment separately (see CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENNTT + ronment separately (see CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENNTT above), and may cause subshells to exit before executing all the commands in the subshell. --ff Disable pathname expansion. - --hh Remember the location of commands as they are looked up + --hh Remember the location of commands as they are looked up for execution. This is enabled by default. - --kk All arguments in the form of assignment statements are - placed in the environment for a command, not just those + --kk All arguments in the form of assignment statements are + placed in the environment for a command, not just those that precede the command name. - --mm Monitor mode. Job control is enabled. This option is - on by default for interactive shells on systems that - support it (see JJOOBB CCOONNTTRROOLL above). Background pro- - cesses run in a separate process group and a line con- - taining their exit status is printed upon their comple- + --mm Monitor mode. Job control is enabled. This option is + on by default for interactive shells on systems that + support it (see JJOOBB CCOONNTTRROOLL above). Background pro- + cesses run in a separate process group and a line con- + taining their exit status is printed upon their comple- tion. --nn Read commands but do not execute them. This may be used - to check a shell script for syntax errors. This is + to check a shell script for syntax errors. This is ignored by interactive shells. --oo _o_p_t_i_o_n_-_n_a_m_e The _o_p_t_i_o_n_-_n_a_m_e can be one of the following: @@ -4691,10 +4729,10 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS Same as --aa. bbrraacceeeexxppaanndd Same as --BB. - eemmaaccss Use an emacs-style command line editing inter- + eemmaaccss 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 ----nnooeeddiittiinngg option. This also affects the + the ----nnooeeddiittiinngg option. This also affects the editing interface used for rreeaadd --ee. eerrrreexxiitt Same as --ee. eerrrrttrraaccee @@ -4708,8 +4746,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS HHIISSTTOORRYY. This option is on by default in inter- active shells. iiggnnoorreeeeooff - The effect is as if the shell command - ``IGNOREEOF=10'' had been executed (see SShheellll + The effect is as if the shell command + ``IGNOREEOF=10'' had been executed (see SShheellll VVaarriiaabblleess above). kkeeyywwoorrdd Same as --kk. mmoonniittoorr Same as --mm. @@ -4724,158 +4762,158 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS pphhyyssiiccaall Same as --PP. ppiippeeffaaiill - 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. - ppoossiixx Change the behavior of bbaasshh where the default - operation differs from the POSIX standard to + ppoossiixx Change the behavior of bbaasshh where the default + operation differs from the POSIX standard to match the standard (_p_o_s_i_x _m_o_d_e). pprriivviilleeggeedd Same as --pp. vveerrbboossee Same as --vv. - vvii Use a vi-style command line editing interface. + vvii Use a vi-style command line editing interface. This also affects the editing interface used for rreeaadd --ee. xxttrraaccee Same as --xx. If --oo is supplied with no _o_p_t_i_o_n_-_n_a_m_e, the values of the - current options are printed. If ++oo is supplied with no - _o_p_t_i_o_n_-_n_a_m_e, a series of sseett commands to recreate the - current option settings is displayed on the standard + current options are printed. If ++oo is supplied with no + _o_p_t_i_o_n_-_n_a_m_e, a series of sseett commands to recreate the + current option settings is displayed on the standard output. - --pp Turn on _p_r_i_v_i_l_e_g_e_d mode. In this mode, the $$EENNVV and - $$BBAASSHH__EENNVV files are not processed, shell functions are - not inherited from the environment, and the SSHHEELLLLOOPPTTSS, - BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they + --pp Turn on _p_r_i_v_i_l_e_g_e_d mode. In this mode, the $$EENNVV and + $$BBAASSHH__EENNVV files are not processed, shell functions are + not inherited from the environment, and the SSHHEELLLLOOPPTTSS, + BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they appear in the environment, are ignored. If the shell is - started with the effective user (group) id not equal to - the real user (group) id, and the --pp option is not sup- + started with the effective user (group) id not equal to + the real user (group) id, and the --pp option is not sup- plied, these actions are taken and the effective user id - is set to the real user id. If the --pp 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 --pp 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. --tt Exit after reading and executing one command. --uu Treat unset variables and parameters other than the spe- - cial parameters "@" and "*" as an error when performing - parameter expansion. If expansion is attempted on an - unset variable or parameter, the shell prints an error - message, and, if not interactive, exits with a non-zero + cial parameters "@" and "*" as an error when performing + parameter expansion. If expansion is attempted on an + unset variable or parameter, the shell prints an error + message, and, if not interactive, exits with a non-zero status. --vv Print shell input lines as they are read. - --xx After expanding each _s_i_m_p_l_e _c_o_m_m_a_n_d, ffoorr command, ccaassee + --xx After expanding each _s_i_m_p_l_e _c_o_m_m_a_n_d, ffoorr command, ccaassee command, sseelleecctt command, or arithmetic ffoorr command, dis- - play the expanded value of PPSS44, followed by the command + play the expanded value of PPSS44, followed by the command and its expanded arguments or associated word list. - --BB The shell performs brace expansion (see BBrraaccee EExxppaannssiioonn + --BB The shell performs brace expansion (see BBrraaccee EExxppaannssiioonn above). This is on by default. - --CC If set, bbaasshh does not overwrite an existing file with - the >>, >>&&, and <<>> redirection operators. This may be + --CC If set, bbaasshh does not overwrite an existing file with + the >>, >>&&, and <<>> redirection operators. This may be overridden when creating output files by using the redi- rection operator >>|| instead of >>. --EE If set, any trap on EERRRR is inherited by shell functions, - command substitutions, and commands executed in a sub- - shell environment. The EERRRR trap is normally not inher- + command substitutions, and commands executed in a sub- + shell environment. The EERRRR trap is normally not inher- ited in such cases. --HH Enable !! style history substitution. This option is on by default when the shell is interactive. - --PP If set, the shell does not follow symbolic links when - executing commands such as ccdd that change the current + --PP If set, the shell does not follow symbolic links when + executing commands such as ccdd that change the current working directory. It uses the physical directory structure instead. By default, bbaasshh follows the logical - chain of directories when performing commands which + chain of directories when performing commands which change the current directory. - --TT If set, any traps on DDEEBBUUGG and RREETTUURRNN are inherited by - shell functions, command substitutions, and commands - executed in a subshell environment. The DDEEBBUUGG and + --TT If set, any traps on DDEEBBUUGG and RREETTUURRNN are inherited by + shell functions, command substitutions, and commands + executed in a subshell environment. The DDEEBBUUGG and RREETTUURRNN traps are normally not inherited in such cases. - ---- If no arguments follow this option, then the positional + ---- If no arguments follow this option, then the positional parameters are unset. Otherwise, the positional parame- - ters are set to the _a_r_gs, even if some of them begin + ters are set to the _a_r_gs, even if some of them begin with a --. - -- Signal the end of options, cause all remaining _a_r_gs to + -- Signal the end of options, cause all remaining _a_r_gs to be assigned to the positional parameters. The --xx and --vv options are turned off. If there are no _a_r_gs, the posi- tional parameters remain unchanged. - The options are off by default unless otherwise noted. Using + - rather than - causes these options to be turned off. The - options can also be specified as arguments to an invocation of - the shell. The current set of options may be found in $$--. The + The options are off by default unless otherwise noted. Using + + rather than - causes these options to be turned off. The + options can also be specified as arguments to an invocation of + the shell. The current set of options may be found in $$--. The return status is always true unless an invalid option is encoun- tered. sshhiifftt [_n] - The positional parameters from _n+1 ... are renamed to $$11 ........ - Parameters represented by the numbers $$## down to $$##-_n+1 are - unset. _n must be a non-negative number less than or equal to - $$##. If _n is 0, no parameters are changed. If _n is not given, - it is assumed to be 1. If _n is greater than $$##, the positional - parameters are not changed. The return status is greater than + The positional parameters from _n+1 ... are renamed to $$11 ........ + Parameters represented by the numbers $$## down to $$##-_n+1 are + unset. _n must be a non-negative number less than or equal to + $$##. If _n is 0, no parameters are changed. If _n is not given, + it is assumed to be 1. If _n is greater than $$##, the positional + parameters are not changed. The return status is greater than zero if _n is greater than $$## or less than zero; otherwise 0. sshhoopptt [--ppqqssuu] [--oo] [_o_p_t_n_a_m_e ...] Toggle the values of variables controlling optional shell behav- ior. With no options, or with the --pp option, a list of all set- table options is displayed, with an indication of whether or not - each is set. The --pp option causes output to be displayed in a - form that may be reused as input. Other options have the fol- + each is set. The --pp option causes output to be displayed in a + form that may be reused as input. Other options have the fol- lowing meanings: --ss Enable (set) each _o_p_t_n_a_m_e. --uu Disable (unset) each _o_p_t_n_a_m_e. - --qq Suppresses normal output (quiet mode); the return status + --qq Suppresses normal output (quiet mode); the return status indicates whether the _o_p_t_n_a_m_e is set or unset. If multi- - ple _o_p_t_n_a_m_e arguments are given with --qq, the return sta- - tus is zero if all _o_p_t_n_a_m_e_s are enabled; non-zero other- + ple _o_p_t_n_a_m_e arguments are given with --qq, the return sta- + tus is zero if all _o_p_t_n_a_m_e_s are enabled; non-zero other- wise. - --oo Restricts the values of _o_p_t_n_a_m_e to be those defined for + --oo Restricts the values of _o_p_t_n_a_m_e to be those defined for the --oo option to the sseett builtin. - If either --ss or --uu is used with no _o_p_t_n_a_m_e arguments, the dis- + If either --ss or --uu is used with no _o_p_t_n_a_m_e arguments, the dis- play is limited to those options which are set or unset, respec- - tively. Unless otherwise noted, the sshhoopptt options are disabled + tively. Unless otherwise noted, the sshhoopptt options are disabled (unset) by default. - The return status when listing options is zero if all _o_p_t_n_a_m_e_s - are enabled, non-zero otherwise. When setting or unsetting - options, the return status is zero unless an _o_p_t_n_a_m_e is not a + The return status when listing options is zero if all _o_p_t_n_a_m_e_s + are enabled, non-zero otherwise. When setting or unsetting + options, the return status is zero unless an _o_p_t_n_a_m_e is not a valid shell option. The list of sshhoopptt options is: - aauuttooccdd If set, a command name that is the name of a directory - is executed as if it were the argument to the ccdd com- + aauuttooccdd If set, a command name that is the name of a directory + is executed as if it were the argument to the ccdd com- mand. This option is only used by interactive shells. ccddaabbllee__vvaarrss - If set, an argument to the ccdd builtin command that is - not a directory is assumed to be the name of a variable + If set, an argument to the ccdd builtin command that is + not a directory is assumed to be the name of a variable whose value is the directory to change to. ccddssppeellll If set, minor errors in the spelling of a directory com- - ponent in a ccdd command will be corrected. The errors + ponent in a ccdd command will be corrected. The errors checked for are transposed characters, a missing charac- - ter, and one character too many. If a correction is - found, the corrected file name is printed, and the com- - mand proceeds. This option is only used by interactive + ter, and one character too many. If a correction is + found, the corrected file name is printed, and the com- + mand proceeds. This option is only used by interactive shells. cchheecckkhhaasshh If set, bbaasshh 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. cchheecckkjjoobbss If set, bbaasshh 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 JJOOBB CCOONNTTRROOLL above). The shell always postpones + second exit is attempted without an intervening command + (see JJOOBB CCOONNTTRROOLL above). The shell always postpones exiting if any jobs are stopped. cchheecckkwwiinnssiizzee - If set, bbaasshh checks the window size after each command - and, if necessary, updates the values of LLIINNEESS and CCOOLL-- + If set, bbaasshh checks the window size after each command + and, if necessary, updates the values of LLIINNEESS and CCOOLL-- UUMMNNSS. - ccmmddhhiisstt If set, bbaasshh attempts to save all lines of a multiple- - line command in the same history entry. This allows + ccmmddhhiisstt If set, bbaasshh attempts to save all lines of a multiple- + line command in the same history entry. This allows easy re-editing of multi-line commands. ccoommppaatt3311 If set, bbaasshh changes its behavior to that of version 3.1 @@ -4883,65 +4921,65 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS mand's =~ operator. ccoommppaatt3322 If set, bbaasshh changes its behavior to that of version 3.2 - with respect to locale-specific string comparison when + with respect to locale-specific string comparison when using the conditional command's < and > operators. ccoommppaatt4400 If set, bbaasshh changes its behavior to that of version 4.0 - with respect to locale-specific string comparison when - using the conditional command's < and > operators and + with respect to locale-specific string comparison when + using the conditional command's < and > operators and the effect of interrupting a command list. ddiirrssppeellll - If set, bbaasshh attempts spelling correction on directory - names during word completion if the directory name ini- + If set, bbaasshh attempts spelling correction on directory + names during word completion if the directory name ini- tially supplied does not exist. - ddoottgglloobb If set, bbaasshh includes filenames beginning with a `.' in + ddoottgglloobb If set, bbaasshh includes filenames beginning with a `.' in the results of pathname expansion. eexxeeccffaaiill If set, a non-interactive shell will not exit if it can- - not execute the file specified as an argument to the - eexxeecc builtin command. An interactive shell does not + not execute the file specified as an argument to the + eexxeecc builtin command. An interactive shell does not exit if eexxeecc fails. eexxppaanndd__aalliiaasseess - If set, aliases are expanded as described above under + If set, aliases are expanded as described above under AALLIIAASSEESS. This option is enabled by default for interac- tive shells. eexxttddeebbuugg - If set, behavior intended for use by debuggers is + If set, behavior intended for use by debuggers is enabled: 11.. The --FF option to the ddeeccllaarree builtin displays the source file name and line number corresponding to each function name supplied as an argument. - 22.. If the command run by the DDEEBBUUGG trap returns a - non-zero value, the next command is skipped and + 22.. If the command run by the DDEEBBUUGG trap returns a + non-zero value, the next command is skipped and not executed. - 33.. If the command run by the DDEEBBUUGG 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 .. or ssoouurrccee builtins), a call to + 33.. If the command run by the DDEEBBUUGG 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 .. or ssoouurrccee builtins), a call to rreettuurrnn is simulated. - 44.. BBAASSHH__AARRGGCC and BBAASSHH__AARRGGVV are updated as described + 44.. BBAASSHH__AARRGGCC and BBAASSHH__AARRGGVV are updated as described in their descriptions above. - 55.. Function tracing is enabled: command substitu- + 55.. Function tracing is enabled: command substitu- tion, shell functions, and subshells invoked with (( _c_o_m_m_a_n_d )) inherit the DDEEBBUUGG and RREETTUURRNN traps. - 66.. Error tracing is enabled: command substitution, - shell functions, and subshells invoked with (( + 66.. Error tracing is enabled: command substitution, + shell functions, and subshells invoked with (( _c_o_m_m_a_n_d )) inherit the EERRRR trap. eexxttgglloobb If set, the extended pattern matching features described above under PPaatthhnnaammee EExxppaannssiioonn are enabled. eexxttqquuoottee - If set, $$'_s_t_r_i_n_g' and $$"_s_t_r_i_n_g" quoting is performed - within $${{_p_a_r_a_m_e_t_e_r}} expansions enclosed in double + If set, $$'_s_t_r_i_n_g' and $$"_s_t_r_i_n_g" quoting is performed + within $${{_p_a_r_a_m_e_t_e_r}} expansions enclosed in double quotes. This option is enabled by default. ffaaiillgglloobb - 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. ffoorrccee__ffiiggnnoorree - If set, the suffixes specified by the FFIIGGNNOORREE shell - variable cause words to be ignored when performing word + If set, the suffixes specified by the FFIIGGNNOORREE shell + variable cause words to be ignored when performing word completion even if the ignored words are the only possi- ble completions. See SSHHEELLLL VVAARRIIAABBLLEESS above for a - description of FFIIGGNNOORREE. This option is enabled by + description of FFIIGGNNOORREE. This option is enabled by default. gglloobbssttaarr If set, the pattern **** used in a pathname expansion con- @@ -4952,58 +4990,58 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS If set, shell error messages are written in the standard GNU error message format. hhiissttaappppeenndd - If set, the history list is appended to the file named - by the value of the HHIISSTTFFIILLEE variable when the shell + If set, the history list is appended to the file named + by the value of the HHIISSTTFFIILLEE variable when the shell exits, rather than overwriting the file. hhiissttrreeeeddiitt - If set, and rreeaaddlliinnee is being used, a user is given the + If set, and rreeaaddlliinnee is being used, a user is given the opportunity to re-edit a failed history substitution. hhiissttvveerriiffyy - If set, and rreeaaddlliinnee 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 rreeaaddlliinnee 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 rreeaaddlliinnee editing buffer, allowing further modi- fication. hhoossttccoommpplleettee If set, and rreeaaddlliinnee is being used, bbaasshh will attempt to - perform hostname completion when a word containing a @@ - is being completed (see CCoommpplleettiinngg under RREEAADDLLIINNEE + perform hostname completion when a word containing a @@ + is being completed (see CCoommpplleettiinngg under RREEAADDLLIINNEE above). This is enabled by default. hhuuppoonneexxiitt If set, bbaasshh will send SSIIGGHHUUPP to all jobs when an inter- active login shell exits. iinntteerraaccttiivvee__ccoommmmeennttss If set, allow a word beginning with ## to cause that word - and all remaining characters on that line to be ignored - in an interactive shell (see CCOOMMMMEENNTTSS above). This + and all remaining characters on that line to be ignored + in an interactive shell (see CCOOMMMMEENNTTSS above). This option is enabled by default. - lliitthhiisstt If set, and the ccmmddhhiisstt option is enabled, multi-line + lliitthhiisstt If set, and the ccmmddhhiisstt option is enabled, multi-line commands are saved to the history with embedded newlines rather than using semicolon separators where possible. llooggiinn__sshheellll - The shell sets this option if it is started as a login - shell (see IINNVVOOCCAATTIIOONN above). The value may not be + The shell sets this option if it is started as a login + shell (see IINNVVOOCCAATTIIOONN above). The value may not be changed. mmaaiillwwaarrnn - If set, and a file that bbaasshh is checking for mail has - been accessed since the last time it was checked, the - message ``The mail in _m_a_i_l_f_i_l_e has been read'' is dis- + If set, and a file that bbaasshh is checking for mail has + been accessed since the last time it was checked, the + message ``The mail in _m_a_i_l_f_i_l_e has been read'' is dis- played. nnoo__eemmppttyy__ccmmdd__ccoommpplleettiioonn - If set, and rreeaaddlliinnee is being used, bbaasshh will not + If set, and rreeaaddlliinnee is being used, bbaasshh will not attempt to search the PPAATTHH for possible completions when completion is attempted on an empty line. nnooccaasseegglloobb - If set, bbaasshh matches filenames in a case-insensitive + If set, bbaasshh matches filenames in a case-insensitive fashion when performing pathname expansion (see PPaatthhnnaammee EExxppaannssiioonn above). nnooccaasseemmaattcchh - If set, bbaasshh matches patterns in a case-insensitive + If set, bbaasshh matches patterns in a case-insensitive fashion when performing matching while executing ccaassee or [[[[ conditional commands. nnuullllgglloobb - If set, bbaasshh allows patterns which match no files (see - PPaatthhnnaammee EExxppaannssiioonn above) to expand to a null string, + If set, bbaasshh allows patterns which match no files (see + PPaatthhnnaammee EExxppaannssiioonn above) to expand to a null string, rather than themselves. pprrooggccoommpp If set, the programmable completion facilities (see PPrroo-- @@ -5011,47 +5049,47 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS enabled by default. pprroommppttvvaarrss If set, prompt strings undergo parameter expansion, com- - mand substitution, arithmetic expansion, and quote - removal after being expanded as described in PPRROOMMPPTTIINNGG + mand substitution, arithmetic expansion, and quote + removal after being expanded as described in PPRROOMMPPTTIINNGG above. This option is enabled by default. rreessttrriicctteedd__sshheellll - The shell sets this option if it is started in + The shell sets this option if it is started in restricted mode (see RREESSTTRRIICCTTEEDD SSHHEELLLL below). The value - may not be changed. This is not reset when the startup - files are executed, allowing the startup files to dis- + may not be changed. This is not reset when the startup + files are executed, allowing the startup files to dis- cover whether or not a shell is restricted. sshhiifftt__vveerrbboossee - If set, the sshhiifftt builtin prints an error message when + If set, the sshhiifftt builtin prints an error message when the shift count exceeds the number of positional parame- ters. ssoouurrcceeppaatthh If set, the ssoouurrccee (..) builtin uses the value of PPAATTHH 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. xxppgg__eecchhoo - If set, the eecchhoo builtin expands backslash-escape + If set, the eecchhoo builtin expands backslash-escape sequences by default. ssuussppeenndd [--ff] - Suspend the execution of this shell until it receives a SSIIGGCCOONNTT + Suspend the execution of this shell until it receives a SSIIGGCCOONNTT signal. A login shell cannot be suspended; the --ff option can be used to override this and force the suspension. The return sta- - tus is 0 unless the shell is a login shell and --ff is not sup- + tus is 0 unless the shell is a login shell and --ff is not sup- plied, or if job control is not enabled. tteesstt _e_x_p_r [[ _e_x_p_r ]] - Return a status of 0 or 1 depending on the evaluation of the - conditional expression _e_x_p_r. Each operator and operand must be - a separate argument. Expressions are composed of the primaries - described above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS. tteesstt does not + Return a status of 0 or 1 depending on the evaluation of the + conditional expression _e_x_p_r. Each operator and operand must be + a separate argument. Expressions are composed of the primaries + described above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS. tteesstt does not accept any options, nor does it accept and ignore an argument of ---- as signifying the end of options. - Expressions may be combined using the following operators, + Expressions may be combined using the following operators, listed in decreasing order of precedence. The evaluation depends on the number of arguments; see below. !! _e_x_p_r True if _e_x_p_r is false. (( _e_x_p_r )) - Returns the value of _e_x_p_r. This may be used to override + Returns the value of _e_x_p_r. This may be used to override the normal precedence of operators. _e_x_p_r_1 -aa _e_x_p_r_2 True if both _e_x_p_r_1 and _e_x_p_r_2 are true. @@ -5068,59 +5106,59 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS null. 2 arguments If the first argument is !!, the expression is true if and - only if the second argument is null. If the first argu- - ment is one of the unary conditional operators listed - above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the expression is + only if the second argument is null. If the first argu- + ment is one of the unary conditional operators listed + above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, 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 - If the second argument is one of the binary conditional + If the second argument is one of the binary conditional operators listed above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the result of the expression is the result of the binary test - using the first and third arguments as operands. The --aa - and --oo operators are considered binary operators when - there are three arguments. If the first argument is !!, - the value is the negation of the two-argument test using + using the first and third arguments as operands. The --aa + and --oo operators are considered binary operators when + there are three arguments. If the first argument is !!, + the value is the negation of the two-argument test using the second and third arguments. If the first argument is exactly (( and the third argument is exactly )), the result - is the one-argument test of the second argument. Other- + is the one-argument test of the second argument. Other- wise, the expression is false. 4 arguments If the first argument is !!, the result is the negation of - the three-argument expression composed of the remaining + the three-argument expression composed of the remaining arguments. Otherwise, the expression is parsed and eval- - uated according to precedence using the rules listed + uated according to precedence using the rules listed above. 5 or more arguments - The expression is parsed and evaluated according to + The expression is parsed and evaluated according to precedence using the rules listed above. - ttiimmeess Print the accumulated user and system times for the shell and + ttiimmeess Print the accumulated user and system times for the shell and for processes run from the shell. The return status is 0. ttrraapp [--llpp] [[_a_r_g] _s_i_g_s_p_e_c ...] - The command _a_r_g is to be read and executed when the shell - receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a - single _s_i_g_s_p_e_c) or --, each specified signal is reset to its - original disposition (the value it had upon entrance to the - shell). If _a_r_g is the null string the signal specified by each - _s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes. - If _a_r_g is not present and --pp has been supplied, then the trap - commands associated with each _s_i_g_s_p_e_c are displayed. If no - arguments are supplied or if only --pp is given, ttrraapp prints the - list of commands associated with each signal. The --ll option - causes the shell to print a list of signal names and their cor- - responding numbers. Each _s_i_g_s_p_e_c is either a signal name - defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are + The command _a_r_g is to be read and executed when the shell + receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a + single _s_i_g_s_p_e_c) or --, each specified signal is reset to its + original disposition (the value it had upon entrance to the + shell). If _a_r_g is the null string the signal specified by each + _s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes. + If _a_r_g is not present and --pp has been supplied, then the trap + commands associated with each _s_i_g_s_p_e_c are displayed. If no + arguments are supplied or if only --pp is given, ttrraapp prints the + list of commands associated with each signal. The --ll option + causes the shell to print a list of signal names and their cor- + responding numbers. Each _s_i_g_s_p_e_c is either a signal name + defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are case insensitive and the SSIIGG prefix is optional. - If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit - from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe- - cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command, - _s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the - first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR - above). Refer to the description of the eexxttddeebbuugg option to the + If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit + from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe- + cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command, + _s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the + first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR + above). Refer to the description of the eexxttddeebbuugg option to the sshhoopptt builtin for details of its effect on the DDEEBBUUGG trap. If a _s_i_g_s_p_e_c is RREETTUURRNN, the command _a_r_g is executed each time a shell function or a script executed with the .. or ssoouurrccee builtins fin- @@ -5128,53 +5166,53 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS If a _s_i_g_s_p_e_c is EERRRR, the command _a_r_g is executed whenever a sim- ple command has a non-zero exit status, subject to the following - conditions. The EERRRR trap is not executed if the failed command - is part of the command list immediately following a wwhhiillee or - uunnttiill keyword, part of the test in an _i_f statement, part of a - command executed in a &&&& or |||| list, or if the command's return - value is being inverted via !!. These are the same conditions + conditions. The EERRRR trap is not executed if the failed command + is part of the command list immediately following a wwhhiillee or + uunnttiill keyword, part of the test in an _i_f statement, part of a + command executed in a &&&& or |||| list, or if the command's return + value is being inverted via !!. These are the same conditions obeyed by the eerrrreexxiitt option. - Signals ignored upon entry to the shell cannot be trapped or - reset. Trapped signals that are not being ignored are reset to + Signals ignored upon entry to the shell cannot be trapped or + reset. Trapped signals that are not being ignored are reset to their original values in a subshell or subshell environment when - one is created. The return status is false if any _s_i_g_s_p_e_c is + one is created. The return status is false if any _s_i_g_s_p_e_c is invalid; otherwise ttrraapp returns true. ttyyppee [--aaffttppPP] _n_a_m_e [_n_a_m_e ...] - With no options, indicate how each _n_a_m_e would be interpreted if + With no options, indicate how each _n_a_m_e would be interpreted if used as a command name. If the --tt option is used, ttyyppee prints a - string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or - _f_i_l_e if _n_a_m_e is an alias, shell reserved word, function, - builtin, or disk file, respectively. If the _n_a_m_e is not found, - then nothing is printed, and an exit status of false is - returned. If the --pp option is used, ttyyppee either returns the + string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or + _f_i_l_e if _n_a_m_e is an alias, shell reserved word, function, + builtin, or disk file, respectively. If the _n_a_m_e is not found, + then nothing is printed, and an exit status of false is + returned. If the --pp option is used, ttyyppee either returns the name of the disk file that would be executed if _n_a_m_e were speci- fied as a command name, or nothing if ``type -t name'' would not - return _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e, + return _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e, even if ``type -t name'' would not return _f_i_l_e. If a command is - hashed, --pp and --PP print the hashed value, not necessarily the + hashed, --pp and --PP print the hashed value, not necessarily the file that appears first in PPAATTHH. If the --aa option is used, ttyyppee - prints all of the places that contain an executable named _n_a_m_e. - This includes aliases and functions, if and only if the --pp - option is not also used. The table of hashed commands is not - consulted when using --aa. The --ff option suppresses shell func- - tion lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true if + prints all of the places that contain an executable named _n_a_m_e. + This includes aliases and functions, if and only if the --pp + option is not also used. The table of hashed commands is not + consulted when using --aa. The --ff option suppresses shell func- + tion lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true if all of the arguments are found, false if any are not found. uulliimmiitt [--HHSSTTaabbccddeeffiillmmnnppqqrrssttuuvvxx [_l_i_m_i_t]] - 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 --HH and --SS 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 --HH nor --SS 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 --HH nor --SS is speci- fied, both the soft and hard limits are set. The value of _l_i_m_i_t can be a number in the unit specified for the resource or one of the special values hhaarrdd, ssoofftt, or uunnlliimmiitteedd, which stand for the - current hard limit, the current soft limit, and no limit, - respectively. If _l_i_m_i_t is omitted, the current value of the - soft limit of the resource is printed, unless the --HH option is + current hard limit, the current soft limit, and no limit, + respectively. If _l_i_m_i_t is omitted, the current value of the + soft limit of the resource is printed, unless the --HH option is given. When more than one resource is specified, the limit name and unit are printed before the value. Other options are inter- preted as follows: @@ -5183,11 +5221,11 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS --cc The maximum size of core files created --dd The maximum size of a process's data segment --ee The maximum scheduling priority ("nice") - --ff The maximum size of files written by the shell and its + --ff The maximum size of files written by the shell and its children --ii The maximum number of pending signals --ll The maximum size that may be locked into memory - --mm The maximum resident set size (many systems do not honor + --mm The maximum resident set size (many systems do not honor this limit) --nn The maximum number of open file descriptors (most systems do not allow this value to be set) @@ -5196,65 +5234,65 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS --rr The maximum real-time scheduling priority --ss The maximum stack size --tt The maximum amount of cpu time in seconds - --uu The maximum number of processes available to a single + --uu The maximum number of processes available to a single user - --vv The maximum amount of virtual memory available to the + --vv The maximum amount of virtual memory available to the shell and, on some systems, to its children --xx The maximum number of file locks --TT The maximum number of threads If _l_i_m_i_t is given, it is the new value of the specified resource (the --aa option is display only). If no option is given, then --ff - is assumed. Values are in 1024-byte increments, except for --tt, - which is in seconds, --pp, which is in units of 512-byte blocks, - and --TT, --bb, --nn, and --uu, which are unscaled values. The return + is assumed. Values are in 1024-byte increments, except for --tt, + which is in seconds, --pp, which is in units of 512-byte blocks, + and --TT, --bb, --nn, and --uu, which are unscaled values. The return status is 0 unless an invalid option or argument is supplied, or an error occurs while setting a new limit. uummaasskk [--pp] [--SS] [_m_o_d_e] The user file-creation mask is set to _m_o_d_e. If _m_o_d_e 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 - _c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is - printed. The --SS option causes the mask to be printed in sym- - bolic form; the default output is an octal number. If the --pp + a digit, it is interpreted as an octal number; otherwise it is + interpreted as a symbolic mode mask similar to that accepted by + _c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is + printed. The --SS option causes the mask to be printed in sym- + bolic form; the default output is an octal number. If the --pp option is supplied, and _m_o_d_e 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 _m_o_d_e argument was supplied, + was successfully changed or if no _m_o_d_e argument was supplied, and false otherwise. uunnaalliiaass [-aa] [_n_a_m_e ...] - Remove each _n_a_m_e from the list of defined aliases. If --aa is - supplied, all alias definitions are removed. The return value + Remove each _n_a_m_e from the list of defined aliases. If --aa is + supplied, all alias definitions are removed. The return value is true unless a supplied _n_a_m_e is not a defined alias. uunnsseett [-ffvv] [_n_a_m_e ...] - For each _n_a_m_e, remove the corresponding variable or function. + For each _n_a_m_e, remove the corresponding variable or function. If no options are supplied, or the --vv option is given, each _n_a_m_e - refers to a shell variable. Read-only variables may not be - unset. If --ff is specified, each _n_a_m_e refers to a shell func- - tion, and the function definition is removed. Each unset vari- - able or function is removed from the environment passed to sub- - sequent commands. If any of CCOOMMPP__WWOORRDDBBRREEAAKKSS, RRAANNDDOOMM, SSEECCOONNDDSS, - LLIINNEENNOO, HHIISSTTCCMMDD, FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are unset, they - lose their special properties, even if they are subsequently + refers to a shell variable. Read-only variables may not be + unset. If --ff is specified, each _n_a_m_e refers to a shell func- + tion, and the function definition is removed. Each unset vari- + able or function is removed from the environment passed to sub- + sequent commands. If any of CCOOMMPP__WWOORRDDBBRREEAAKKSS, RRAANNDDOOMM, SSEECCOONNDDSS, + LLIINNEENNOO, HHIISSTTCCMMDD, FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are unset, they + lose their special properties, even if they are subsequently reset. The exit status is true unless a _n_a_m_e is readonly. wwaaiitt [_n _._._.] - Wait for each specified process and return its termination sta- - tus. Each _n 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 _n is not given, all currently active child pro- - cesses are waited for, and the return status is zero. If _n - specifies a non-existent process or job, the return status is - 127. Otherwise, the return status is the exit status of the + Wait for each specified process and return its termination sta- + tus. Each _n 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 _n is not given, all currently active child pro- + cesses are waited for, and the return status is zero. If _n + specifies a non-existent process or job, the return status is + 127. Otherwise, the return status is the exit status of the last process or job waited for. RREESSTTRRIICCTTEEDD SSHHEELLLL If bbaasshh is started with the name rrbbaasshh, or the --rr 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 bbaasshh 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 bbaasshh with the exception that the following are disallowed or not performed: +o changing directories with ccdd @@ -5263,16 +5301,16 @@ RREESSTTRRIICCTTEEDD SSHHEELLLL +o specifying command names containing // - +o specifying a file name containing a // as an argument to the .. + +o specifying a file name containing a // as an argument to the .. builtin command - +o Specifying a filename containing a slash as an argument to the + +o Specifying a filename containing a slash as an argument to the --pp option to the hhaasshh builtin command - +o importing function definitions from the shell environment at + +o importing function definitions from the shell environment at startup - +o parsing the value of SSHHEELLLLOOPPTTSS from the shell environment at + +o parsing the value of SSHHEELLLLOOPPTTSS from the shell environment at startup +o redirecting output using the >, >|, <>, >&, &>, and >> redirect- @@ -5281,10 +5319,10 @@ RREESSTTRRIICCTTEEDD SSHHEELLLL +o using the eexxeecc builtin command to replace the shell with another command - +o adding or deleting builtin commands with the --ff and --dd options + +o adding or deleting builtin commands with the --ff and --dd options to the eennaabbllee builtin command - +o Using the eennaabbllee builtin command to enable disabled shell + +o Using the eennaabbllee builtin command to enable disabled shell builtins +o specifying the --pp option to the ccoommmmaanndd builtin command @@ -5294,14 +5332,14 @@ RREESSTTRRIICCTTEEDD SSHHEELLLL These restrictions are enforced after any startup files are read. When a command that is found to be a shell script is executed (see CCOOMM-- - MMAANNDD EEXXEECCUUTTIIOONN above), rrbbaasshh turns off any restrictions in the shell + MMAANNDD EEXXEECCUUTTIIOONN above), rrbbaasshh turns off any restrictions in the shell spawned to execute the script. SSEEEE AALLSSOO _B_a_s_h _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, Brian Fox and Chet Ramey _T_h_e _G_n_u _R_e_a_d_l_i_n_e _L_i_b_r_a_r_y, Brian Fox and Chet Ramey _T_h_e _G_n_u _H_i_s_t_o_r_y _L_i_b_r_a_r_y, Brian Fox and Chet Ramey - _P_o_r_t_a_b_l_e _O_p_e_r_a_t_i_n_g _S_y_s_t_e_m _I_n_t_e_r_f_a_c_e _(_P_O_S_I_X_) _P_a_r_t _2_: _S_h_e_l_l _a_n_d _U_t_i_l_i_- + _P_o_r_t_a_b_l_e _O_p_e_r_a_t_i_n_g _S_y_s_t_e_m _I_n_t_e_r_f_a_c_e _(_P_O_S_I_X_) _P_a_r_t _2_: _S_h_e_l_l _a_n_d _U_t_i_l_i_- _t_i_e_s, IEEE _s_h(1), _k_s_h(1), _c_s_h(1) _e_m_a_c_s(1), _v_i(1) @@ -5317,7 +5355,7 @@ FFIILLEESS _~_/_._b_a_s_h_r_c The individual per-interactive-shell startup file _~_/_._b_a_s_h___l_o_g_o_u_t - The individual login shell cleanup file, executed when a login + The individual login shell cleanup file, executed when a login shell exits _~_/_._i_n_p_u_t_r_c Individual _r_e_a_d_l_i_n_e initialization file @@ -5331,14 +5369,14 @@ AAUUTTHHOORRSS BBUUGG RREEPPOORRTTSS If you find a bug in bbaasshh,, 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 bbaasshh. The latest version is always available from + make sure that it really is a bug, and that it appears in the latest + version of bbaasshh. The latest version is always available from _f_t_p_:_/_/_f_t_p_._g_n_u_._o_r_g_/_p_u_b_/_g_n_u_/_b_a_s_h_/. - Once you have determined that a bug actually exists, use the _b_a_s_h_b_u_g - command to submit a bug report. If you have a fix, you are encouraged - to mail that as well! Suggestions and `philosophical' bug reports may - be mailed to _b_u_g_-_b_a_s_h_@_g_n_u_._o_r_g or posted to the Usenet newsgroup + Once you have determined that a bug actually exists, use the _b_a_s_h_b_u_g + command to submit a bug report. If you have a fix, you are encouraged + to mail that as well! Suggestions and `philosophical' bug reports may + be mailed to _b_u_g_-_b_a_s_h_@_g_n_u_._o_r_g or posted to the Usenet newsgroup ggnnuu..bbaasshh..bbuugg. ALL bug reports should include: @@ -5349,7 +5387,7 @@ BBUUGG RREEPPOORRTTSS A description of the bug behaviour A short script or `recipe' which exercises the bug - _b_a_s_h_b_u_g inserts the first three items automatically into the template + _b_a_s_h_b_u_g 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 @@ -5366,10 +5404,10 @@ BBUUGGSS Shell builtin commands and functions are not stoppable/restartable. Compound commands and command sequences of the form `a ; b ; c' are not - handled gracefully when process suspension is attempted. When a - process is stopped, the shell immediately executes the next command in - the sequence. It suffices to place the sequence of commands between - parentheses to force it into a subshell, which may be stopped as a + handled gracefully when process suspension is attempted. When a + process is stopped, the shell immediately executes the next command in + the sequence. It suffices to place the sequence of commands between + parentheses to force it into a subshell, which may be stopped as a unit. Array variables may not (yet) be exported. @@ -5378,4 +5416,4 @@ BBUUGGSS -GNU Bash-4.1 2010 April 17 BASH(1) +GNU Bash-4.1 2010 May 30 BASH(1) diff --git a/doc/bash.1 b/doc/bash.1 index 28edf4a9a..1d0143f41 100644 --- a/doc/bash.1 +++ b/doc/bash.1 @@ -6737,7 +6737,7 @@ The return value is 0 unless the shell is not executing a subroutine call or \fIexpr\fP does not correspond to a valid position in the call stack. .TP -\fBcd\fP [\fB\-L|-P\fP] [\fIdir\fP] +\fBcd\fP [\fB\-L\fP|[\fB\-P\fP [\fB\-e\fP]]] [\fIdir\fP] Change the current directory to \fIdir\fP. The variable .SM .B HOME @@ -6770,7 +6770,15 @@ option to the .B set builtin command); the .B \-L -option forces symbolic links to be followed. An argument of +option forces symbolic links to be followed. +If the +.B \-e +option is supplied with +.BR \-P , +and the current working directory cannot be successfully determined +after a successful directory change, \fBcd\fP will return an unsuccessful +status. +An argument of .B \- is equivalent to .SM diff --git a/doc/bash.1~ b/doc/bash.1~ index b05e721bb..28edf4a9a 100644 --- a/doc/bash.1~ +++ b/doc/bash.1~ @@ -5,12 +5,12 @@ .\" Case Western Reserve University .\" chet@po.cwru.edu .\" -.\" Last Change: Sat May 29 20:59:17 EDT 2010 +.\" Last Change: Sun May 30 17:03:08 EDT 2010 .\" .\" bash_builtins, strip all but Built-Ins section .if \n(zZ=1 .ig zZ .if \n(zY=1 .ig zY -.TH BASH 1 "2010 May 29" "GNU Bash-4.1" +.TH BASH 1 "2010 May 30" "GNU Bash-4.1" .\" .\" There's some problem with having a `@' .\" in a tagged paragraph with the BSD man macros. diff --git a/doc/bash.html b/doc/bash.html index aba06c852..c5962717e 100644 --- a/doc/bash.html +++ b/doc/bash.html @@ -3,7 +3,7 @@ -
BASH(1)2010 April 17BASH(1) +BASH(1)2010 May 30BASH(1)

Index @@ -751,6 +751,17 @@ under below.

+When the shell is in posix mode, time +may be followed by a newline. In this case, the shell displays the +total user and system time consumed by the shell and its children. +The +TIMEFORMAT + + +variable may be used to specify the format of +the time information. +

+ Each command in a pipeline is executed as a separate process (i.e., in a subshell).   @@ -1423,6 +1434,16 @@ the eight-bit character whose value is the octal value nnn

the eight-bit character whose value is the hexadecimal value HH (one or two hex digits) +
\uHHHH + +
+the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value +HHHH (one to four hex digits) +
\UHHHHHHHH + +
+the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value +HHHHHHHH (one to eight hex digits)
\cx
@@ -2413,6 +2434,12 @@ is excluded from the list of matched filenames. A sample value is ".o:~". +
FUNCNEST + +
+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.
GLOBIGNORE
@@ -4878,6 +4905,12 @@ builtin command. Ordinarily, variables and their values are shared between the function and its caller.

+The FUNCNEST variable, if set to a numeric value greater +than 0, defines a maximum function nesting level. Function +invocations that exceed the limit cause the entire command to +abort. +

+ If the builtin command return @@ -5182,7 +5215,7 @@ and file1 does not.

-o optname
-True if shell option +True if the shell option optname is enabled. @@ -5193,6 +5226,13 @@ option to the set builtin below. +
-v varname + +
+True if the shell variable +varname + +is set (has been assigned a value).
-z string
@@ -9068,9 +9108,9 @@ must be >= 1. If is greater than the number of enclosing loops, the last enclosing loop (the ``top-level'' loop) is resumed. The return value is 0 unless n is not greater than or equal to 1. -
declare [-aAfFilrtux] [-p] [name[=value] ...]
+
declare [-aAfFgilrtux] [-p] [name[=value] ...]
-
typeset [-aAfFilrtux] [-p] [name[=value] ...]
+
typeset [-aAfFgilrtux] [-p] [name[=value] ...]
Declare variables and/or give them attributes. If no names are given then display the values of variables. @@ -9106,6 +9146,12 @@ are displayed as well. The option implies -f. +The +-g + +option forces variables to be created or modified at the global scope, +even when declare is executed in a shell function. +It is ignored in all other cases. The following options can be used to restrict output to variables with the specified attribute or to give variables attributes: @@ -9175,13 +9221,13 @@ turns off the attribute instead, with the exceptions that +a may not be used to destroy an array variable and +r will not remove the readonly attribute. -When used in a function, -makes each +When used in a function, makes each name local, as with the local -command. -If a variable name is followed by =value, the value of +command, +unless the -gP option is supplied, +If a variable name is followed by =value, the value of the variable is set to value. The return value is 0 unless an invalid option is encountered, an attempt is made to define a function using @@ -9373,6 +9419,16 @@ the eight-bit character whose value is the octal value nnn
the eight-bit character whose value is the hexadecimal value HH (one or two hex digits) +
\uHHHH + +
+the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value +HHHH (one to four hex digits) +
\UHHHHHHHH + +
+the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value +HHHHHHHH (one to eight hex digits) @@ -10242,7 +10298,8 @@ is specified without the default quantum is 5000. When callback is evaluated, it is supplied the index of the next -array element to be assigned as an additional argument. +array element to be assigned and the line to be assigned to that element +as additional arguments. callback is evaluated after the line is read but before the array element is assigned.

@@ -10316,32 +10373,57 @@ directory change fails.

printf [-v var] format [arguments]
Write the formatted arguments to the standard output under the control of the format. +The -v option causes the output to be assigned to the variable +var rather than being printed to the standard output. +

The format 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 argument. -In addition to the standard printf(1) formats, %b causes +In addition to the standard printf(1) format specifications, +printf interprets the following extensions: +

+ +
+
%b + +
+causes printf to expand backslash escape sequences in the corresponding argument (except that \c terminates output, backslashes in \aq, \", and \? are not removed, and octal escapes -beginning with \0 may contain up to four digits), -and %q causes printf to output the corresponding +beginning with \0 may contain up to four digits). +
%q + +
+causes printf to output the corresponding argument in a format that can be reused as shell input. +
%(datefmt)T + +
+causes printf to output the date-time string resulting from using +datefmt as a format string for strftime(3). The corresponding +argument is an integer representing the number of seconds since the +epoch. Two special argument values may be used: -1 represents the current +time, and -2 represents the time the shell was invoked. + +

+ Arguments to non-string format specifiers are treated as C constants, except that a leading plus or minus sign is allowed, and if the leading character is a single or double quote, the value is the ASCII value of the following character.

-The -v option causes the output to be assigned to the variable -var rather than being printed to the standard output. -

+ The format is reused as necessary to consume all of the arguments. If the format requires more arguments 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 on failure. +appropriate, had been supplied. +The return value is zero on success, non-zero on failure. +

+
pushd [-n] [+n] [-n]
pushd [-n] [dir]
@@ -12516,7 +12598,7 @@ There may be only one active coprocess at a time.
-
GNU Bash-4.12010 April 17BASH(1) +GNU Bash-4.12010 May 30BASH(1)

@@ -12622,6 +12704,6 @@ There may be only one active coprocess at a time.
This document was created by man2html from bash.1.
-Time: 20 May 2010 16:33:15 EDT +Time: 01 June 2010 11:58:46 EDT diff --git a/doc/bash.pdf b/doc/bash.pdf index 040a3a35d..4e7e4858a 100644 Binary files a/doc/bash.pdf and b/doc/bash.pdf differ diff --git a/doc/bash.ps b/doc/bash.ps index 2a24a9751..bf25c00d5 100644 --- a/doc/bash.ps +++ b/doc/bash.ps @@ -1,13 +1,13 @@ %!PS-Adobe-3.0 %%Creator: groff version 1.19.2 -%%CreationDate: Thu May 20 16:33:06 2010 +%%CreationDate: Tue Jun 1 11:58:35 2010 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic %%+ font Courier %%+ font Symbol %%DocumentSuppliedResources: procset grops 1.19 2 -%%Pages: 70 +%%Pages: 71 %%PageOrder: Ascend %%DocumentMedia: Default 595 842 0 () () %%Orientation: Portrait @@ -330,7 +330,7 @@ F .475(xtended deb)-.15 F(ug-)-.2 E 144 686.4 Q .3 -.15(ve \()-.25 H(see).15 E F4(INV)2.5 E(OCA)-.405 E (TION)-.855 E F0(belo)2.25 E(w\).)-.25 E F2(\255\255login)108 703.2 Q F0 (Equi)144 715.2 Q -.25(va)-.25 G(lent to).25 E F22.5 E F0(.)A -(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(1)200.945 E 0 Cg EP +(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(1)202.335 E 0 Cg EP %%Page: 2 2 %%BeginPageSetup BP @@ -452,7 +452,7 @@ F(ariable)-.25 E F3 -.27(BA)108 679.2 S(SH_ENV).27 E F0 1.01(in the en) 108 727.2 S 2.5(tt).2 G(he v)-2.5 E(alue of the)-.25 E F3 -.666(PA)2.5 G (TH)-.189 E F0 -.25(va)2.25 G (riable is not used to search for the \214le name.).25 E(GNU Bash-4.1)72 -768 Q(2010 April 17)145.955 E(2)200.945 E 0 Cg EP +768 Q(2010 May 30)147.345 E(2)202.335 E 0 Cg EP %%Page: 3 3 %%BeginPageSetup BP @@ -580,7 +580,7 @@ F1(Pipelines)87 691.2 Q F0(A)108 703.2 Q F2(pipeline)2.996 E F0 .496(is\ a sequence of one or more commands separated by one of the control ope\ rators)2.996 F F1(|)2.996 E F0(or)2.996 E F1(|&)2.996 E F0 5.496(.T)C (he)-5.496 E(format for a pipeline is:)108 715.2 Q(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(3)200.945 E 0 Cg EP +(2010 May 30)147.345 E(3)202.335 E 0 Cg EP %%Page: 4 4 %%BeginPageSetup BP @@ -627,7612 +627,7656 @@ F12.639 E F0 .139(option changes the output format to that spec-) -.25 G .78(he timing)-3.28 F (information should be displayed; see the description of)108 266.4 Q F4 (TIMEFORMA)2.5 E(T)-.855 E F0(under)2.25 E F1(Shell V)2.5 E(ariables) --.92 E F0(belo)2.5 E -.65(w.)-.25 G(Each command in a pipeline is e)108 -283.2 Q -.15(xe)-.15 G +-.92 E F0(belo)2.5 E -.65(w.)-.25 G .85(When the shell is in)108 283.2 R +F2 .85(posix mode)3.35 F F0(,)A F1(time)3.35 E F0 .85(may be follo)3.35 +F .85(wed by a ne)-.25 F 3.35(wline. In)-.25 F .85 +(this case, the shell displays the)3.35 F 1.073 +(total user and system time consumed by the shell and its children.)108 +295.2 R(The)6.074 E F4(TIMEFORMA)3.574 E(T)-.855 E F0 -.25(va)3.324 G +1.074(riable may be).25 F +(used to specify the format of the time information.)108 307.2 Q +(Each command in a pipeline is e)108 324 Q -.15(xe)-.15 G (cuted as a separate process \(i.e., in a subshell\).).15 E F1(Lists)87 -300 Q F0(A)108 312 Q F2(list)2.601 E F0 .101(is a sequence of one or mo\ -re pipelines separated by one of the operators)2.601 F F1(;)2.6 E F0(,)A -F1(&)2.6 E F0(,)A F1(&&)2.6 E F0 2.6(,o)C(r)-2.6 E F32.6 E F0 2.6 -(,a)C .1(nd option-)-2.6 F(ally terminated by one of)108 324 Q F1(;)2.5 -E F0(,)A F1(&)2.5 E F0 2.5(,o)C(r)-2.5 E F1()2.5 E F0(.)A .656 -(Of these list operators,)108 340.8 R F1(&&)3.156 E F0(and)3.156 E F3 -3.156 E F0(ha)3.156 E .956 -.15(ve e)-.2 H .656 +340.8 Q F0(A)108 352.8 Q F2(list)2.601 E F0 .101(is a sequence of one o\ +r more pipelines separated by one of the operators)2.601 F F1(;)2.6 E F0 +(,)A F1(&)2.6 E F0(,)A F1(&&)2.6 E F0 2.6(,o)C(r)-2.6 E F32.6 E F0 +2.6(,a)C .1(nd option-)-2.6 F(ally terminated by one of)108 364.8 Q F1 +(;)2.5 E F0(,)A F1(&)2.5 E F0 2.5(,o)C(r)-2.5 E F1()2.5 E F0(.) +A .656(Of these list operators,)108 381.6 R F1(&&)3.156 E F0(and)3.156 E +F33.156 E F0(ha)3.156 E .956 -.15(ve e)-.2 H .656 (qual precedence, follo).15 F .656(wed by)-.25 F F1(;)3.156 E F0(and) 3.156 E F1(&)3.156 E F0 3.156(,w)C .656(hich ha)-3.156 F .957 -.15(ve e) --.2 H .657(qual prece-).15 F(dence.)108 352.8 Q 2.5(As)108 369.6 S +-.2 H .657(qual prece-).15 F(dence.)108 393.6 Q 2.5(As)108 410.4 S (equence of one or more ne)-2.5 E(wlines may appear in a)-.25 E F2(list) 2.5 E F0(instead of a semicolon to delimit commands.)2.5 E .029 -(If a command is terminated by the control operator)108 386.4 R F1(&) +(If a command is terminated by the control operator)108 427.2 R F1(&) 2.529 E F0 2.529(,t)C .029(he shell e)-2.529 F -.15(xe)-.15 G .029 (cutes the command in the).15 F F2(bac)2.528 E(kgr)-.2 E(ound)-.45 E F0 -(in)2.528 E 2.875(as)108 398.4 S 2.875(ubshell. The)-2.875 F .375 +(in)2.528 E 2.875(as)108 439.2 S 2.875(ubshell. The)-2.875 F .375 (shell does not w)2.875 F .375 (ait for the command to \214nish, and the return status is 0.)-.1 F .376 -(Commands sepa-)5.376 F .849(rated by a)108 410.4 R F1(;)3.349 E F0 .849 +(Commands sepa-)5.376 F .849(rated by a)108 451.2 R F1(;)3.349 E F0 .849 (are e)3.349 F -.15(xe)-.15 G .848(cuted sequentially; the shell w).15 F .848(aits for each command to terminate in turn.)-.1 F .848(The return) -5.848 F(status is the e)108 422.4 Q(xit status of the last command e) +5.848 F(status is the e)108 463.2 Q(xit status of the last command e) -.15 E -.15(xe)-.15 G(cuted.).15 E .632(AND and OR lists are sequences \ -of one of more pipelines separated by the)108 439.2 R F1(&&)3.132 E F0 +of one of more pipelines separated by the)108 480 R F1(&&)3.132 E F0 (and)3.133 E F33.133 E F0 .633(control operators,)3.133 F -(respecti)108 451.2 Q -.15(ve)-.25 G(ly).15 E 5(.A)-.65 G +(respecti)108 492 Q -.15(ve)-.25 G(ly).15 E 5(.A)-.65 G (ND and OR lists are e)-5 E -.15(xe)-.15 G(cuted with left associati).15 E(vity)-.25 E 5(.A)-.65 G 2.5(nA)-5 G(ND list has the form)-2.5 E F2 -(command1)144 468 Q F1(&&)2.5 E F2(command2)2.5 E(command2)108.2 484.8 Q -F0(is e)2.52 E -.15(xe)-.15 G(cuted if, and only if,).15 E F2(command1) -2.7 E F0(returns an e)2.5 E(xit status of zero.)-.15 E -(An OR list has the form)108 501.6 Q F2(command1)144 518.4 Q F32.5 -E F2(command2)2.5 E(command2)108.2 540 Q F0 .729(is e)3.249 F -.15(xe) +(command1)144 508.8 Q F1(&&)2.5 E F2(command2)2.5 E(command2)108.2 525.6 +Q F0(is e)2.52 E -.15(xe)-.15 G(cuted if, and only if,).15 E F2 +(command1)2.7 E F0(returns an e)2.5 E(xit status of zero.)-.15 E +(An OR list has the form)108 542.4 Q F2(command1)144 559.2 Q F32.5 +E F2(command2)2.5 E(command2)108.2 580.8 Q F0 .729(is e)3.249 F -.15(xe) -.15 G .729(cuted if and only if).15 F F2(command1)3.429 E F0 .729 (returns a non-zero e)3.229 F .729(xit status.)-.15 F .728 -(The return status of AND)5.729 F(and OR lists is the e)108 552 Q +(The return status of AND)5.729 F(and OR lists is the e)108 592.8 Q (xit status of the last command e)-.15 E -.15(xe)-.15 G -(cuted in the list.).15 E F1(Compound Commands)87 568.8 Q F0(A)108 580.8 +(cuted in the list.).15 E F1(Compound Commands)87 609.6 Q F0(A)108 621.6 Q F2(compound command)2.5 E F0(is one of the follo)2.5 E(wing:)-.25 E -(\()108 597.6 Q F2(list)A F0(\))A F2(list)17.11 E F0 .011(is e)2.511 F +(\()108 638.4 Q F2(list)A F0(\))A F2(list)17.11 E F0 .011(is e)2.511 F -.15(xe)-.15 G .011(cuted in a subshell en).15 F .011(vironment \(see) -.4 F F4 .011(COMMAND EXECUTION ENVIR)2.511 F(ONMENT)-.27 E F0(belo) -2.262 E(w\).)-.25 E -1.11(Va)144 609.6 S 1.064(riable assignments and b) +2.262 E(w\).)-.25 E -1.11(Va)144 650.4 S 1.064(riable assignments and b) 1.11 F 1.064(uiltin commands that af)-.2 F 1.064(fect the shell')-.25 F 3.564(se)-.55 G -.4(nv)-3.564 G 1.064(ironment do not remain in).4 F(ef) -144 621.6 Q(fect after the command completes.)-.25 E +144 662.4 Q(fect after the command completes.)-.25 E (The return status is the e)5 E(xit status of)-.15 E F2(list)2.5 E F0(.) -A({)108 638.4 Q F2(list)2.5 E F0 2.5(;})C F2(list)3.89 E F0 .401 +A({)108 679.2 Q F2(list)2.5 E F0 2.5(;})C F2(list)3.89 E F0 .401 (is simply e)2.901 F -.15(xe)-.15 G .401(cuted in the current shell en) .15 F(vironment.)-.4 E F2(list)5.401 E F0 .402 (must be terminated with a ne)2.901 F .402(wline or)-.25 F 3.215 -(semicolon. This)144 650.4 R .715(is kno)3.215 F .715(wn as a)-.25 F F2 +(semicolon. This)144 691.2 R .715(is kno)3.215 F .715(wn as a)-.25 F F2 (gr)3.215 E .715(oup command)-.45 F F0 5.715(.T)C .715 (he return status is the e)-5.715 F .714(xit status of)-.15 F F2(list) -3.214 E F0 5.714(.N)C(ote)-5.714 E .219(that unlik)144 662.4 R 2.719(et) +3.214 E F0 5.714(.N)C(ote)-5.714 E .219(that unlik)144 703.2 R 2.719(et) -.1 G .219(he metacharacters)-2.719 F F1(\()2.719 E F0(and)2.719 E F1 (\))2.719 E F0(,)A F1({)2.719 E F0(and)2.719 E F1(})2.719 E F0(are)2.719 E F2 -.37(re)2.72 G .22(served wor).37 F(ds)-.37 E F0 .22 -(and must occur where a reserv)2.72 F(ed)-.15 E -.1(wo)144 674.4 S .257 +(and must occur where a reserv)2.72 F(ed)-.15 E -.1(wo)144 715.2 S .257 (rd is permitted to be recognized.).1 F .257(Since the)5.257 F 2.757(yd) -.15 G 2.756(on)-2.757 G .256(ot cause a w)-2.756 F .256(ord break, the) --.1 F 2.756(ym)-.15 G .256(ust be separated)-2.756 F(from)144 686.4 Q F2 +-.1 F 2.756(ym)-.15 G .256(ust be separated)-2.756 F(from)144 727.2 Q F2 (list)2.5 E F0(by whitespace or another shell metacharacter)2.5 E(.)-.55 -E(\(\()108 703.2 Q F2 -.2(ex)C(pr).2 E(ession)-.37 E F0(\)\))A(The)144 -715.2 Q F2 -.2(ex)2.551 G(pr).2 E(ession)-.37 E F0 .051(is e)2.551 F --.25(va)-.25 G .051(luated according to the rules described belo).25 F -2.552(wu)-.25 G(nder)-2.552 E F4 .052(ARITHMETIC EV)2.552 F(ALU)-1.215 E -(A-)-.54 E(TION)144 727.2 Q/F5 9/Times-Roman@0 SF(.)A F0 .411(If the v) -4.911 F .411(alue of the e)-.25 F .411(xpression is non-zero, the retur\ -n status is 0; otherwise the return status)-.15 F(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(4)200.945 E 0 Cg EP +E(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(4)202.335 E 0 Cg EP %%Page: 5 5 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(is 1.)144 84 Q(This is e)5 E(xactly equi)-.15 E -.25(va)-.25 G -(lent to).25 E/F1 10/Times-Bold@0 SF(let ")2.5 E/F2 10/Times-Italic@0 SF --.2(ex)C(pr).2 E(ession)-.37 E F1(")A F0(.)A F1([[)108 100.8 Q F2 -.2 -(ex)2.5 G(pr).2 E(ession)-.37 E F1(]])2.5 E F0 1.299 -(Return a status of 0 or 1 depending on the e)144 112.8 R -.25(va)-.25 G -1.3(luation of the conditional e).25 F(xpression)-.15 E F2 -.2(ex)3.8 G -(pr).2 E(ession)-.37 E F0(.)A 2.274 -(Expressions are composed of the primaries described belo)144 124.8 R -4.773(wu)-.25 G(nder)-4.773 E/F3 9/Times-Bold@0 SF(CONDITION)4.773 E -2.273(AL EXPRES-)-.18 F(SIONS)144 136.8 Q/F4 9/Times-Roman@0 SF(.)A F0 --.8(Wo)5.632 G 1.133(rd splitting and pathname e).8 F 1.133 +-.35 E(\(\()108 84 Q/F1 10/Times-Italic@0 SF -.2(ex)C(pr).2 E(ession) +-.37 E F0(\)\))A(The)144 96 Q F1 -.2(ex)2.551 G(pr).2 E(ession)-.37 E F0 +.051(is e)2.551 F -.25(va)-.25 G .051 +(luated according to the rules described belo).25 F 2.552(wu)-.25 G +(nder)-2.552 E/F2 9/Times-Bold@0 SF .052(ARITHMETIC EV)2.552 F(ALU) +-1.215 E(A-)-.54 E(TION)144 108 Q/F3 9/Times-Roman@0 SF(.)A F0 .411 +(If the v)4.911 F .411(alue of the e)-.25 F .411(xpression is non-zero,\ + the return status is 0; otherwise the return status)-.15 F(is 1.)144 +120 Q(This is e)5 E(xactly equi)-.15 E -.25(va)-.25 G(lent to).25 E/F4 +10/Times-Bold@0 SF(let ")2.5 E F1 -.2(ex)C(pr).2 E(ession)-.37 E F4(")A +F0(.)A F4([[)108 136.8 Q F1 -.2(ex)2.5 G(pr).2 E(ession)-.37 E F4(]])2.5 +E F0 1.299(Return a status of 0 or 1 depending on the e)144 148.8 R -.25 +(va)-.25 G 1.3(luation of the conditional e).25 F(xpression)-.15 E F1 +-.2(ex)3.8 G(pr).2 E(ession)-.37 E F0(.)A 2.274 +(Expressions are composed of the primaries described belo)144 160.8 R +4.773(wu)-.25 G(nder)-4.773 E F2(CONDITION)4.773 E 2.273(AL EXPRES-)-.18 +F(SIONS)144 172.8 Q F3(.)A F0 -.8(Wo)5.632 G 1.133 +(rd splitting and pathname e).8 F 1.133 (xpansion are not performed on the w)-.15 F 1.133(ords between the)-.1 F -F1([[)3.633 E F0(and)144 148.8 Q F1(]])2.964 E F0 2.964(;t)C .464 +F4([[)3.633 E F0(and)144 184.8 Q F4(]])2.964 E F0 2.964(;t)C .464 (ilde e)-2.964 F .464(xpansion, parameter and v)-.15 F .464(ariable e) -.25 F .463(xpansion, arithmetic e)-.15 F .463 (xpansion, command substi-)-.15 F 1.081 -(tution, process substitution, and quote remo)144 160.8 R -.25(va)-.15 G +(tution, process substitution, and quote remo)144 196.8 R -.25(va)-.15 G 3.581(la).25 G 1.081(re performed.)-3.581 F 1.081 -(Conditional operators such as)6.081 F F13.581 E F0 -(must be unquoted to be recognized as primaries.)144 172.8 Q -(When used with)144 190.8 Q F1([[)2.5 E F0 2.5(,T)C(he)-2.5 E F1(<)2.5 E -F0(and)2.5 E F1(>)2.5 E F0(operators sort le)2.5 E +(Conditional operators such as)6.081 F F43.581 E F0 +(must be unquoted to be recognized as primaries.)144 208.8 Q +(When used with)144 226.8 Q F4([[)2.5 E F0 2.5(,T)C(he)-2.5 E F4(<)2.5 E +F0(and)2.5 E F4(>)2.5 E F0(operators sort le)2.5 E (xicographically using the current locale.)-.15 E .503(When the)144 -208.8 R F1(==)3.003 E F0(and)3.002 E F1(!=)3.002 E F0 .502(operators ar\ +244.8 R F4(==)3.003 E F0(and)3.002 E F4(!=)3.002 E F0 .502(operators ar\ e used, the string to the right of the operator is considered a pat-) 3.002 F 1.224(tern and matched according to the rules described belo)144 -220.8 R 3.724(wu)-.25 G(nder)-3.724 E F1 -.1(Pa)3.724 G(tter).1 E 3.725 +256.8 R 3.724(wu)-.25 G(nder)-3.724 E F4 -.1(Pa)3.724 G(tter).1 E 3.725 (nM)-.15 G(atching)-3.725 E F0 6.225(.I)C 3.725(ft)-6.225 G 1.225 -(he shell)-3.725 F(option)144 232.8 Q F1(nocasematch)3.405 E F0 .904 +(he shell)-3.725 F(option)144 268.8 Q F4(nocasematch)3.405 E F0 .904 (is enabled, the match is performed without re)3.405 F -.05(ga)-.15 G -.904(rd to the case of alphabetic).05 F 2.751(characters. The)144 244.8 +.904(rd to the case of alphabetic).05 F 2.751(characters. The)144 280.8 R .251(return v)2.751 F .251(alue is 0 if the string matches \()-.25 F -F1(==)A F0 2.751(\)o)C 2.751(rd)-2.751 G .251(oes not match \()-2.751 F -F1(!=)A F0 2.751(\)t)C .252(he pattern, and)-2.751 F 2.5(1o)144 256.8 S +F4(==)A F0 2.751(\)o)C 2.751(rd)-2.751 G .251(oes not match \()-2.751 F +F4(!=)A F0 2.751(\)t)C .252(he pattern, and)-2.751 F 2.5(1o)144 292.8 S 2.5(therwise. An)-2.5 F 2.5(yp)-.15 G(art of the pattern may be quoted \ to force it to be matched as a string.)-2.5 E .243 -(An additional binary operator)144 274.8 R(,)-.4 E F1(=~)2.743 E F0 +(An additional binary operator)144 310.8 R(,)-.4 E F4(=~)2.743 E F0 2.743(,i)C 2.743(sa)-2.743 G -.25(va)-2.943 G .243 -(ilable, with the same precedence as).25 F F1(==)2.743 E F0(and)2.743 E -F1(!=)2.743 E F0 5.243(.W)C .243(hen it is)-5.243 F 1.953 +(ilable, with the same precedence as).25 F F4(==)2.743 E F0(and)2.743 E +F4(!=)2.743 E F0 5.243(.W)C .243(hen it is)-5.243 F 1.953 (used, the string to the right of the operator is considered an e)144 -286.8 R 1.954(xtended re)-.15 F 1.954(gular e)-.15 F 1.954 -(xpression and)-.15 F .207(matched accordingly \(as in)144 298.8 R F2 +322.8 R 1.954(xtended re)-.15 F 1.954(gular e)-.15 F 1.954 +(xpression and)-.15 F .207(matched accordingly \(as in)144 334.8 R F1 -.37(re)2.707 G -.1(ge)-.03 G(x)-.1 E F0 2.707(\(3\)\). The)B .207 (return v)2.707 F .207 (alue is 0 if the string matches the pattern, and 1)-.25 F 3.345 -(otherwise. If)144 310.8 R .845(the re)3.345 F .845(gular e)-.15 F .846 +(otherwise. If)144 346.8 R .845(the re)3.345 F .845(gular e)-.15 F .846 (xpression is syntactically incorrect, the conditional e)-.15 F -(xpression')-.15 E 3.346(sr)-.55 G(eturn)-3.346 E -.25(va)144 322.8 S -.667(lue is 2.).25 F .667(If the shell option)5.667 F F1(nocasematch) +(xpression')-.15 E 3.346(sr)-.55 G(eturn)-3.346 E -.25(va)144 358.8 S +.667(lue is 2.).25 F .667(If the shell option)5.667 F F4(nocasematch) 3.167 E F0 .667(is enabled, the match is performed without re)3.167 F -.05(ga)-.15 G .666(rd to).05 F .378(the case of alphabetic characters.) -144 334.8 R(An)5.378 E 2.878(yp)-.15 G .378 +144 370.8 R(An)5.378 E 2.878(yp)-.15 G .378 (art of the pattern may be quoted to force it to be matched)-2.878 F -.265(as a string.)144 346.8 R .265 +.265(as a string.)144 382.8 R .265 (Substrings matched by parenthesized sube)5.265 F .265 (xpressions within the re)-.15 F .265(gular e)-.15 F .265(xpression are) --.15 F(sa)144 358.8 Q -.15(ve)-.2 G 3.096(di).15 G 3.097(nt)-3.096 G -.597(he array v)-3.097 F(ariable)-.25 E F3 -.27(BA)3.097 G(SH_REMA).27 E -(TCH)-.855 E F4(.)A F0 .597(The element of)5.097 F F3 -.27(BA)3.097 G +-.15 F(sa)144 394.8 Q -.15(ve)-.2 G 3.096(di).15 G 3.097(nt)-3.096 G +.597(he array v)-3.097 F(ariable)-.25 E F2 -.27(BA)3.097 G(SH_REMA).27 E +(TCH)-.855 E F3(.)A F0 .597(The element of)5.097 F F2 -.27(BA)3.097 G (SH_REMA).27 E(TCH)-.855 E F0 .597(with inde)2.847 F 3.097(x0i)-.15 G(s) --3.097 E .049(the portion of the string matching the entire re)144 370.8 +-3.097 E .049(the portion of the string matching the entire re)144 406.8 R .049(gular e)-.15 F 2.549(xpression. The)-.15 F .049(element of)2.549 -F F3 -.27(BA)2.549 G(SH_REMA).27 E(TCH)-.855 E F0(with inde)144 382.8 Q -(x)-.15 E F2(n)2.5 E F0(is the portion of the string matching the)2.5 E -F2(n)2.5 E F0(th parenthesized sube)A(xpression.)-.15 E .785 -(Expressions may be combined using the follo)144 400.8 R .786 +F F2 -.27(BA)2.549 G(SH_REMA).27 E(TCH)-.855 E F0(with inde)144 418.8 Q +(x)-.15 E F1(n)2.5 E F0(is the portion of the string matching the)2.5 E +F1(n)2.5 E F0(th parenthesized sube)A(xpression.)-.15 E .785 +(Expressions may be combined using the follo)144 436.8 R .786 (wing operators, listed in decreasing order of prece-)-.25 F(dence:)144 -412.8 Q F1(\()144 430.8 Q F2 -.2(ex)2.5 G(pr).2 E(ession)-.37 E F1(\)) -2.5 E F0 .523(Returns the v)180 442.8 R .522(alue of)-.25 F F2 -.2(ex) +448.8 Q F4(\()144 466.8 Q F1 -.2(ex)2.5 G(pr).2 E(ession)-.37 E F4(\)) +2.5 E F0 .523(Returns the v)180 478.8 R .522(alue of)-.25 F F1 -.2(ex) 3.022 G(pr).2 E(ession)-.37 E F0 5.522(.T)C .522(his may be used to o) -5.522 F -.15(ve)-.15 G .522(rride the normal precedence of).15 F -(operators.)180 454.8 Q F1(!)144 466.8 Q F2 -.2(ex)2.5 G(pr).2 E(ession) --.37 E F0 -.35(Tr)180 478.8 S(ue if).35 E F2 -.2(ex)2.5 G(pr).2 E -(ession)-.37 E F0(is f)2.74 E(alse.)-.1 E F2 -.2(ex)144 490.8 S(pr).2 E -(ession1)-.37 E F1(&&)2.5 E F2 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0 --.35(Tr)180 502.8 S(ue if both).35 E F2 -.2(ex)2.5 G(pr).2 E(ession1) --.37 E F0(and)2.5 E F2 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0(are true.) -2.52 E F2 -.2(ex)144 514.8 S(pr).2 E(ession1)-.37 E/F5 10/Symbol SF -2.5 E F2 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0 -.35(Tr)180 526.8 -S(ue if either).35 E F2 -.2(ex)2.5 G(pr).2 E(ession1)-.37 E F0(or)2.5 E -F2 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0(is true.)2.52 E(The)144 543.6 -Q F1(&&)3.298 E F0(and)3.298 E F53.298 E F0 .798 -(operators do not e)3.298 F -.25(va)-.25 G(luate).25 E F2 -.2(ex)3.298 G -(pr).2 E(ession2)-.37 E F0 .798(if the v)3.298 F .798(alue of)-.25 F F2 +(operators.)180 490.8 Q F4(!)144 502.8 Q F1 -.2(ex)2.5 G(pr).2 E(ession) +-.37 E F0 -.35(Tr)180 514.8 S(ue if).35 E F1 -.2(ex)2.5 G(pr).2 E +(ession)-.37 E F0(is f)2.74 E(alse.)-.1 E F1 -.2(ex)144 526.8 S(pr).2 E +(ession1)-.37 E F4(&&)2.5 E F1 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0 +-.35(Tr)180 538.8 S(ue if both).35 E F1 -.2(ex)2.5 G(pr).2 E(ession1) +-.37 E F0(and)2.5 E F1 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0(are true.) +2.52 E F1 -.2(ex)144 550.8 S(pr).2 E(ession1)-.37 E/F5 10/Symbol SF +2.5 E F1 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0 -.35(Tr)180 562.8 +S(ue if either).35 E F1 -.2(ex)2.5 G(pr).2 E(ession1)-.37 E F0(or)2.5 E +F1 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0(is true.)2.52 E(The)144 579.6 +Q F4(&&)3.298 E F0(and)3.298 E F53.298 E F0 .798 +(operators do not e)3.298 F -.25(va)-.25 G(luate).25 E F1 -.2(ex)3.298 G +(pr).2 E(ession2)-.37 E F0 .798(if the v)3.298 F .798(alue of)-.25 F F1 -.2(ex)3.298 G(pr).2 E(ession1)-.37 E F0 .799(is suf)3.298 F .799 -(\214cient to)-.25 F(determine the return v)144 555.6 Q -(alue of the entire conditional e)-.25 E(xpression.)-.15 E F1 -.25(fo) -108 572.4 S(r).25 E F2(name)2.5 E F0 2.5([[)2.5 G F1(in)A F0([)2.5 E F2 -(wor)2.5 E 2.5(d.)-.37 G(..)-2.5 E F0 2.5(]];])2.5 G F1(do)A F2(list)2.5 -E F0(;)2.5 E F1(done)2.5 E F0 .424(The list of w)144 584.4 R .424 -(ords follo)-.1 F(wing)-.25 E F1(in)2.924 E F0 .423(is e)2.924 F .423 +(\214cient to)-.25 F(determine the return v)144 591.6 Q +(alue of the entire conditional e)-.25 E(xpression.)-.15 E F4 -.25(fo) +108 608.4 S(r).25 E F1(name)2.5 E F0 2.5([[)2.5 G F4(in)A F0([)2.5 E F1 +(wor)2.5 E 2.5(d.)-.37 G(..)-2.5 E F0 2.5(]];])2.5 G F4(do)A F1(list)2.5 +E F0(;)2.5 E F4(done)2.5 E F0 .424(The list of w)144 620.4 R .424 +(ords follo)-.1 F(wing)-.25 E F4(in)2.924 E F0 .423(is e)2.924 F .423 (xpanded, generating a list of items.)-.15 F .423(The v)5.423 F(ariable) --.25 E F2(name)2.923 E F0 .423(is set to)2.923 F .653 -(each element of this list in turn, and)144 596.4 R F2(list)3.153 E F0 +-.25 E F1(name)2.923 E F0 .423(is set to)2.923 F .653 +(each element of this list in turn, and)144 632.4 R F1(list)3.153 E F0 .653(is e)3.153 F -.15(xe)-.15 G .653(cuted each time.).15 F .653 -(If the)5.653 F F1(in)3.153 E F2(wor)3.153 E(d)-.37 E F0 .653 -(is omitted, the)3.153 F F1 -.25(fo)3.153 G(r).25 E F0 .649(command e) -144 608.4 R -.15(xe)-.15 G(cutes).15 E F2(list)3.149 E F0 .648 -(once for each positional parameter that is set \(see)3.148 F F3 -.666 +(If the)5.653 F F4(in)3.153 E F1(wor)3.153 E(d)-.37 E F0 .653 +(is omitted, the)3.153 F F4 -.25(fo)3.153 G(r).25 E F0 .649(command e) +144 644.4 R -.15(xe)-.15 G(cutes).15 E F1(list)3.149 E F0 .648 +(once for each positional parameter that is set \(see)3.148 F F2 -.666 (PA)3.148 G(RAMETERS).666 E F0(belo)2.898 E(w\).)-.25 E .153 -(The return status is the e)144 620.4 R .153 +(The return status is the e)144 656.4 R .153 (xit status of the last command that e)-.15 F -.15(xe)-.15 G 2.654 (cutes. If).15 F .154(the e)2.654 F .154(xpansion of the items)-.15 F -(follo)144 632.4 Q(wing)-.25 E F1(in)2.5 E F0 +(follo)144 668.4 Q(wing)-.25 E F4(in)2.5 E F0 (results in an empty list, no commands are e)2.5 E -.15(xe)-.15 G -(cuted, and the return status is 0.).15 E F1 -.25(fo)108 649.2 S(r).25 E -F0(\(\()2.5 E F2 -.2(ex)2.5 G(pr1).2 E F0(;)2.5 E F2 -.2(ex)2.5 G(pr2).2 -E F0(;)2.5 E F2 -.2(ex)2.5 G(pr3).2 E F0(\)\) ;)2.5 E F1(do)2.5 E F2 -(list)2.5 E F0(;)2.5 E F1(done)2.5 E F0 1.236(First, the arithmetic e) -144 661.2 R(xpression)-.15 E F2 -.2(ex)3.736 G(pr1).2 E F0 1.235(is e) +(cuted, and the return status is 0.).15 E F4 -.25(fo)108 685.2 S(r).25 E +F0(\(\()2.5 E F1 -.2(ex)2.5 G(pr1).2 E F0(;)2.5 E F1 -.2(ex)2.5 G(pr2).2 +E F0(;)2.5 E F1 -.2(ex)2.5 G(pr3).2 E F0(\)\) ;)2.5 E F4(do)2.5 E F1 +(list)2.5 E F0(;)2.5 E F4(done)2.5 E F0 1.236(First, the arithmetic e) +144 697.2 R(xpression)-.15 E F1 -.2(ex)3.736 G(pr1).2 E F0 1.235(is e) 3.736 F -.25(va)-.25 G 1.235 (luated according to the rules described belo).25 F 3.735(wu)-.25 G -(nder)-3.735 E F3 .561(ARITHMETIC EV)144 673.2 R(ALU)-1.215 E -.855(AT) --.54 G(ION).855 E F4(.)A F0 .561(The arithmetic e)5.061 F(xpression)-.15 -E F2 -.2(ex)3.061 G(pr2).2 E F0 .562(is then e)3.062 F -.25(va)-.25 G -.562(luated repeatedly until).25 F .592(it e)144 685.2 R -.25(va)-.25 G -.592(luates to zero.).25 F .592(Each time)5.592 F F2 -.2(ex)3.092 G(pr2) -.2 E F0 -.25(eva)3.092 G .592(luates to a non-zero v).25 F(alue,)-.25 E -F2(list)3.092 E F0 .591(is e)3.092 F -.15(xe)-.15 G .591 -(cuted and the arith-).15 F .228(metic e)144 697.2 R(xpression)-.15 E F2 --.2(ex)2.728 G(pr3).2 E F0 .229(is e)2.728 F -.25(va)-.25 G 2.729 -(luated. If).25 F(an)2.729 E 2.729(ye)-.15 G .229 -(xpression is omitted, it beha)-2.879 F -.15(ve)-.2 G 2.729(sa).15 G -2.729(si)-2.729 G 2.729(fi)-2.729 G 2.729(te)-2.729 G -.25(va)-2.979 G -.229(luates to 1.).25 F .228(The return v)144 709.2 R .228 -(alue is the e)-.25 F .228(xit status of the last command in)-.15 F F2 -(list)2.728 E F0 .227(that is e)2.728 F -.15(xe)-.15 G .227(cuted, or f) -.15 F .227(alse if an)-.1 F 2.727(yo)-.15 G 2.727(ft)-2.727 G(he)-2.727 -E -.15(ex)144 721.2 S(pressions is in).15 E -.25(va)-.4 G(lid.).25 E -(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(5)200.945 E 0 Cg EP +(nder)-3.735 E F2 .561(ARITHMETIC EV)144 709.2 R(ALU)-1.215 E -.855(AT) +-.54 G(ION).855 E F3(.)A F0 .561(The arithmetic e)5.061 F(xpression)-.15 +E F1 -.2(ex)3.061 G(pr2).2 E F0 .562(is then e)3.062 F -.25(va)-.25 G +.562(luated repeatedly until).25 F 2.139(it e)144 721.2 R -.25(va)-.25 G +2.139(luates to zero.).25 F 2.139(Each time)7.139 F F1 -.2(ex)4.639 G +(pr2).2 E F0 -.25(eva)4.639 G 2.139(luates to a non-zero v).25 F(alue,) +-.25 E F1(list)4.639 E F0 2.138(is e)4.638 F -.15(xe)-.15 G 2.138 +(cuted and the).15 F(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(5) +202.335 E 0 Cg EP %%Page: 6 6 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(select)108 84 Q/F2 10/Times-Italic@0 SF -(name)2.5 E F0([)2.5 E F1(in)2.5 E F2(wor)2.5 E(d)-.37 E F0 2.5(];)2.5 G -F1(do)A F2(list)2.5 E F0(;)2.5 E F1(done)2.5 E F0 .432(The list of w)144 -96 R .432(ords follo)-.1 F(wing)-.25 E F1(in)2.932 E F0 .432(is e)2.932 -F .432(xpanded, generating a list of items.)-.15 F .433(The set of e) -5.433 F .433(xpanded w)-.15 F(ords)-.1 E .843 -(is printed on the standard error)144 108 R 3.342(,e)-.4 G .842 +-.35 E .389(arithmetic e)144 84 R(xpression)-.15 E/F1 10/Times-Italic@0 +SF -.2(ex)2.889 G(pr3).2 E F0 .389(is e)2.889 F -.25(va)-.25 G 2.889 +(luated. If).25 F(an)2.889 E 2.889(ye)-.15 G .389 +(xpression is omitted, it beha)-3.039 F -.15(ve)-.2 G 2.89(sa).15 G 2.89 +(si)-2.89 G 2.89(fi)-2.89 G 2.89(te)-2.89 G -.25(va)-3.14 G(luates).25 E +.36(to 1.)144 96 R .36(The return v)5.36 F .36(alue is the e)-.25 F .36 +(xit status of the last command in)-.15 F F1(list)2.859 E F0 .359 +(that is e)2.859 F -.15(xe)-.15 G .359(cuted, or f).15 F .359 +(alse if an)-.1 F(y)-.15 E(of the e)144 108 Q(xpressions is in)-.15 E +-.25(va)-.4 G(lid.).25 E/F2 10/Times-Bold@0 SF(select)108 124.8 Q F1 +(name)2.5 E F0([)2.5 E F2(in)2.5 E F1(wor)2.5 E(d)-.37 E F0 2.5(];)2.5 G +F2(do)A F1(list)2.5 E F0(;)2.5 E F2(done)2.5 E F0 .432(The list of w)144 +136.8 R .432(ords follo)-.1 F(wing)-.25 E F2(in)2.932 E F0 .432(is e) +2.932 F .432(xpanded, generating a list of items.)-.15 F .433 +(The set of e)5.433 F .433(xpanded w)-.15 F(ords)-.1 E .843 +(is printed on the standard error)144 148.8 R 3.342(,e)-.4 G .842 (ach preceded by a number)-3.342 F 5.842(.I)-.55 G 3.342(ft)-5.842 G(he) --3.342 E F1(in)3.342 E F2(wor)3.342 E(d)-.37 E F0 .842 +-3.342 E F2(in)3.342 E F1(wor)3.342 E(d)-.37 E F0 .842 (is omitted, the posi-)3.342 F .201(tional parameters are printed \(see) -144 120 R/F3 9/Times-Bold@0 SF -.666(PA)2.701 G(RAMETERS).666 E F0(belo) -2.451 E 2.701(w\). The)-.25 F F3(PS3)2.701 E F0 .201 +144 160.8 R/F3 9/Times-Bold@0 SF -.666(PA)2.701 G(RAMETERS).666 E F0 +(belo)2.451 E 2.701(w\). The)-.25 F F3(PS3)2.701 E F0 .201 (prompt is then displayed and a)2.451 F .214 -(line read from the standard input.)144 132 R .213 +(line read from the standard input.)144 172.8 R .213 (If the line consists of a number corresponding to one of the dis-)5.214 -F 1.537(played w)144 144 R 1.537(ords, then the v)-.1 F 1.537(alue of) --.25 F F2(name)4.397 E F0 1.537(is set to that w)4.217 F 4.037(ord. If) +F 1.537(played w)144 184.8 R 1.537(ords, then the v)-.1 F 1.537(alue of) +-.25 F F1(name)4.397 E F0 1.537(is set to that w)4.217 F 4.037(ord. If) -.1 F 1.538(the line is empty)4.038 F 4.038(,t)-.65 G 1.538(he w)-4.038 -F 1.538(ords and)-.1 F .066(prompt are displayed ag)144 156 R 2.566 +F 1.538(ords and)-.1 F .066(prompt are displayed ag)144 196.8 R 2.566 (ain. If)-.05 F .065(EOF is read, the command completes.)2.566 F(An) 5.065 E 2.565(yo)-.15 G .065(ther v)-2.565 F .065(alue read causes)-.25 -F F2(name)144 168 Q F0 .972(to be set to null.)3.652 F .972 +F F1(name)144 208.8 Q F0 .972(to be set to null.)3.652 F .972 (The line read is sa)5.972 F -.15(ve)-.2 G 3.473(di).15 G 3.473(nt) -3.473 G .973(he v)-3.473 F(ariable)-.25 E F3(REPL)3.473 E(Y)-.828 E/F4 -9/Times-Roman@0 SF(.)A F0(The)5.473 E F2(list)3.563 E F0 .973(is e)4.153 +9/Times-Roman@0 SF(.)A F0(The)5.473 E F1(list)3.563 E F0 .973(is e)4.153 F -.15(xe)-.15 G .973(cuted after).15 F .072(each selection until a)144 -180 R F1(br)2.571 E(eak)-.18 E F0 .071(command is e)2.571 F -.15(xe)-.15 -G 2.571(cuted. The).15 F -.15(ex)2.571 G .071(it status of).15 F F1 +220.8 R F2(br)2.571 E(eak)-.18 E F0 .071(command is e)2.571 F -.15(xe) +-.15 G 2.571(cuted. The).15 F -.15(ex)2.571 G .071(it status of).15 F F2 (select)2.571 E F0 .071(is the e)2.571 F .071(xit status of the)-.15 F -(last command e)144 192 Q -.15(xe)-.15 G(cuted in).15 E F2(list)2.5 E F0 -2.5(,o).68 G 2.5(rz)-2.5 G(ero if no commands were e)-2.5 E -.15(xe)-.15 -G(cuted.).15 E F1(case)108 208.8 Q F2(wor)2.5 E(d)-.37 E F1(in)2.5 E F0 -2.5([[)2.5 G(\(])-2.5 E F2(pattern)2.5 E F0([)2.5 E F1(|)2.5 E F2 -(pattern)2.5 E F0 2.5(].)2.5 G(.. \))-2.5 E F2(list)2.5 E F0(;; ] ...) -2.5 E F1(esac)2.5 E F0(A)144 220.8 Q F1(case)3.264 E F0 .764 -(command \214rst e)3.264 F(xpands)-.15 E F2(wor)3.264 E(d)-.37 E F0 +(last command e)144 232.8 Q -.15(xe)-.15 G(cuted in).15 E F1(list)2.5 E +F0 2.5(,o).68 G 2.5(rz)-2.5 G(ero if no commands were e)-2.5 E -.15(xe) +-.15 G(cuted.).15 E F2(case)108 249.6 Q F1(wor)2.5 E(d)-.37 E F2(in)2.5 +E F0 2.5([[)2.5 G(\(])-2.5 E F1(pattern)2.5 E F0([)2.5 E F2(|)2.5 E F1 +(pattern)2.5 E F0 2.5(].)2.5 G(.. \))-2.5 E F1(list)2.5 E F0(;; ] ...) +2.5 E F2(esac)2.5 E F0(A)144 261.6 Q F2(case)3.264 E F0 .764 +(command \214rst e)3.264 F(xpands)-.15 E F1(wor)3.264 E(d)-.37 E F0 3.264(,a)C .764(nd tries to match it ag)-3.264 F .764(ainst each)-.05 F -F2(pattern)3.264 E F0 .765(in turn, using the)3.264 F .596 -(same matching rules as for pathname e)144 232.8 R .595(xpansion \(see) --.15 F F1 -.1(Pa)3.095 G .595(thname Expansion).1 F F0(belo)3.095 E -3.095(w\). The)-.25 F F2(wor)3.095 E(d)-.37 E F0(is)3.095 E -.15(ex)144 -244.8 S 1.092(panded using tilde e).15 F 1.092 +F1(pattern)3.264 E F0 .765(in turn, using the)3.264 F .596 +(same matching rules as for pathname e)144 273.6 R .595(xpansion \(see) +-.15 F F2 -.1(Pa)3.095 G .595(thname Expansion).1 F F0(belo)3.095 E +3.095(w\). The)-.25 F F1(wor)3.095 E(d)-.37 E F0(is)3.095 E -.15(ex)144 +285.6 S 1.092(panded using tilde e).15 F 1.092 (xpansion, parameter and v)-.15 F 1.092(ariable e)-.25 F 1.092 (xpansion, arithmetic substitution, com-)-.15 F 1.268 -(mand substitution, process substitution and quote remo)144 256.8 R -.25 -(va)-.15 G 3.768(l. Each).25 F F2(pattern)3.768 E F0 -.15(ex)3.768 G -1.268(amined is e).15 F(xpanded)-.15 E .353(using tilde e)144 268.8 R +(mand substitution, process substitution and quote remo)144 297.6 R -.25 +(va)-.15 G 3.768(l. Each).25 F F1(pattern)3.768 E F0 -.15(ex)3.768 G +1.268(amined is e).15 F(xpanded)-.15 E .353(using tilde e)144 309.6 R .353(xpansion, parameter and v)-.15 F .353(ariable e)-.25 F .353 (xpansion, arithmetic substitution, command substi-)-.15 F 1.517 -(tution, and process substitution.)144 280.8 R 1.517 -(If the shell option)6.517 F F1(nocasematch)4.016 E F0 1.516 +(tution, and process substitution.)144 321.6 R 1.517 +(If the shell option)6.517 F F2(nocasematch)4.016 E F0 1.516 (is enabled, the match is per)4.016 F(-)-.2 E 1.346(formed without re) -144 292.8 R -.05(ga)-.15 G 1.346 +144 333.6 R -.05(ga)-.15 G 1.346 (rd to the case of alphabetic characters.).05 F 1.347 -(When a match is found, the corre-)6.347 F(sponding)144 304.8 Q F2(list) +(When a match is found, the corre-)6.347 F(sponding)144 345.6 Q F1(list) 2.777 E F0 .277(is e)2.777 F -.15(xe)-.15 G 2.777(cuted. If).15 F(the) -2.777 E F1(;;)2.777 E F0 .277 +2.777 E F2(;;)2.777 E F0 .277 (operator is used, no subsequent matches are attempted after the)2.777 F -.848(\214rst pattern match.)144 316.8 R(Using)5.848 E F1(;&)3.348 E F0 -.849(in place of)3.349 F F1(;;)3.349 E F0 .849(causes e)3.349 F -.15(xe) --.15 G .849(cution to continue with the).15 F F2(list)3.349 E F0 -(associated)3.349 E .078(with the ne)144 328.8 R .078 -(xt set of patterns.)-.15 F(Using)5.078 E F1(;;&)2.578 E F0 .078 -(in place of)2.578 F F1(;;)2.578 E F0 .077 +.848(\214rst pattern match.)144 357.6 R(Using)5.848 E F2(;&)3.348 E F0 +.849(in place of)3.349 F F2(;;)3.349 E F0 .849(causes e)3.349 F -.15(xe) +-.15 G .849(cution to continue with the).15 F F1(list)3.349 E F0 +(associated)3.349 E .078(with the ne)144 369.6 R .078 +(xt set of patterns.)-.15 F(Using)5.078 E F2(;;&)2.578 E F0 .078 +(in place of)2.578 F F2(;;)2.578 E F0 .077 (causes the shell to test the ne)2.578 F .077(xt pattern list in)-.15 F -.227(the statement, if an)144 340.8 R 1.527 -.65(y, a)-.15 H .227(nd e) +.227(the statement, if an)144 381.6 R 1.527 -.65(y, a)-.15 H .227(nd e) .65 F -.15(xe)-.15 G .227(cute an).15 F 2.727(ya)-.15 G(ssociated)-2.727 -E F2(list)2.727 E F0 .227(on a successful match.)2.727 F .227(The e) -5.227 F .227(xit status is zero)-.15 F(if no pattern matches.)144 352.8 +E F1(list)2.727 E F0 .227(on a successful match.)2.727 F .227(The e) +5.227 F .227(xit status is zero)-.15 F(if no pattern matches.)144 393.6 Q(Otherwise, it is the e)5 E(xit status of the last command e)-.15 E --.15(xe)-.15 G(cuted in).15 E F2(list)2.5 E F0(.)A F1(if)108 369.6 Q F2 -(list)2.5 E F0(;)A F1(then)2.5 E F2(list;)2.5 E F0([)2.5 E F1(elif)2.5 E -F2(list)2.5 E F0(;)A F1(then)2.5 E F2(list)2.5 E F0 2.5(;].)C(.. [)-2.5 -E F1(else)2.5 E F2(list)2.5 E F0 2.5(;])C F1<8c>A F0(The)144 381.6 Q F1 -(if)2.978 E F2(list)3.068 E F0 .478(is e)3.658 F -.15(xe)-.15 G 2.978 +-.15(xe)-.15 G(cuted in).15 E F1(list)2.5 E F0(.)A F2(if)108 410.4 Q F1 +(list)2.5 E F0(;)A F2(then)2.5 E F1(list;)2.5 E F0([)2.5 E F2(elif)2.5 E +F1(list)2.5 E F0(;)A F2(then)2.5 E F1(list)2.5 E F0 2.5(;].)C(.. [)-2.5 +E F2(else)2.5 E F1(list)2.5 E F0 2.5(;])C F2<8c>A F0(The)144 422.4 Q F2 +(if)2.978 E F1(list)3.068 E F0 .478(is e)3.658 F -.15(xe)-.15 G 2.978 (cuted. If).15 F .478(its e)2.978 F .478(xit status is zero, the)-.15 F -F1(then)2.978 E F2(list)2.978 E F0 .478(is e)2.978 F -.15(xe)-.15 G -2.978(cuted. Otherwise,).15 F(each)2.978 E F1(elif)2.977 E F2(list)2.977 -E F0 1.087(is e)144 393.6 R -.15(xe)-.15 G 1.087 +F2(then)2.978 E F1(list)2.978 E F0 .478(is e)2.978 F -.15(xe)-.15 G +2.978(cuted. Otherwise,).15 F(each)2.978 E F2(elif)2.977 E F1(list)2.977 +E F0 1.087(is e)144 434.4 R -.15(xe)-.15 G 1.087 (cuted in turn, and if its e).15 F 1.087 -(xit status is zero, the corresponding)-.15 F F1(then)3.587 E F2(list) +(xit status is zero, the corresponding)-.15 F F2(then)3.587 E F1(list) 3.587 E F0 1.088(is e)3.588 F -.15(xe)-.15 G 1.088(cuted and the).15 F -.104(command completes.)144 405.6 R .103(Otherwise, the)5.104 F F1(else) -2.603 E F2(list)2.603 E F0 .103(is e)2.603 F -.15(xe)-.15 G .103 +.104(command completes.)144 446.4 R .103(Otherwise, the)5.104 F F2(else) +2.603 E F1(list)2.603 E F0 .103(is e)2.603 F -.15(xe)-.15 G .103 (cuted, if present.).15 F .103(The e)5.103 F .103(xit status is the e) --.15 F .103(xit sta-)-.15 F(tus of the last command e)144 417.6 Q -.15 -(xe)-.15 G(cuted, or zero if no condition tested true.).15 E F1(while) -108 434.4 Q F2(list)2.5 E F0(;)A F1(do)2.5 E F2(list)2.5 E F0(;)A F1 -(done)2.5 E(until)108 446.4 Q F2(list)2.5 E F0(;)A F1(do)2.5 E F2(list) -2.5 E F0(;)A F1(done)2.5 E F0(The)144 458.4 Q F1(while)3.103 E F0 .603 -(command continuously e)3.103 F -.15(xe)-.15 G .603(cutes the).15 F F1 -(do)3.103 E F2(list)3.103 E F0 .603(as long as the last command in)3.103 -F F2(list)3.104 E F0(returns)3.104 E .471(an e)144 470.4 R .471 -(xit status of zero.)-.15 F(The)5.471 E F1(until)2.971 E F0 .471 -(command is identical to the)2.971 F F1(while)2.97 E F0 .47(command, e) -2.97 F .47(xcept that the test)-.15 F .095(is ne)144 482.4 R -.05(ga) --.15 G .095(ted; the).05 F F1(do)2.595 E F2(list)2.685 E F0 .095(is e) +-.15 F .103(xit sta-)-.15 F(tus of the last command e)144 458.4 Q -.15 +(xe)-.15 G(cuted, or zero if no condition tested true.).15 E F2(while) +108 475.2 Q F1(list)2.5 E F0(;)A F2(do)2.5 E F1(list)2.5 E F0(;)A F2 +(done)2.5 E(until)108 487.2 Q F1(list)2.5 E F0(;)A F2(do)2.5 E F1(list) +2.5 E F0(;)A F2(done)2.5 E F0(The)144 499.2 Q F2(while)3.103 E F0 .603 +(command continuously e)3.103 F -.15(xe)-.15 G .603(cutes the).15 F F2 +(do)3.103 E F1(list)3.103 E F0 .603(as long as the last command in)3.103 +F F1(list)3.104 E F0(returns)3.104 E .471(an e)144 511.2 R .471 +(xit status of zero.)-.15 F(The)5.471 E F2(until)2.971 E F0 .471 +(command is identical to the)2.971 F F2(while)2.97 E F0 .47(command, e) +2.97 F .47(xcept that the test)-.15 F .095(is ne)144 523.2 R -.05(ga) +-.15 G .095(ted; the).05 F F2(do)2.595 E F1(list)2.685 E F0 .095(is e) 3.275 F -.15(xe)-.15 G .095(cuted as long as the last command in).15 F -F2(list)2.685 E F0 .096(returns a non-zero e)3.276 F .096(xit status.) --.15 F 1.307(The e)144 494.4 R 1.307(xit status of the)-.15 F F1(while) -3.807 E F0(and)3.807 E F1(until)3.807 E F0 1.307(commands is the e)3.807 -F 1.306(xit status of the last)-.15 F F1(do)3.806 E F2(list)3.806 E F0 -(command)3.806 E -.15(exe)144 506.4 S(cuted, or zero if none w).15 E -(as e)-.1 E -.15(xe)-.15 G(cuted.).15 E F1(Copr)87 523.2 Q(ocesses)-.18 -E F0(A)108 535.2 Q F2(copr)3.712 E(ocess)-.45 E F0 1.212 -(is a shell command preceded by the)3.712 F F1(copr)3.713 E(oc)-.18 E F0 +F1(list)2.685 E F0 .096(returns a non-zero e)3.276 F .096(xit status.) +-.15 F 1.307(The e)144 535.2 R 1.307(xit status of the)-.15 F F2(while) +3.807 E F0(and)3.807 E F2(until)3.807 E F0 1.307(commands is the e)3.807 +F 1.306(xit status of the last)-.15 F F2(do)3.806 E F1(list)3.806 E F0 +(command)3.806 E -.15(exe)144 547.2 S(cuted, or zero if none w).15 E +(as e)-.1 E -.15(xe)-.15 G(cuted.).15 E F2(Copr)87 564 Q(ocesses)-.18 E +F0(A)108 576 Q F1(copr)3.712 E(ocess)-.45 E F0 1.212 +(is a shell command preceded by the)3.712 F F2(copr)3.713 E(oc)-.18 E F0 (reserv)3.713 E 1.213(ed w)-.15 F 3.713(ord. A)-.1 F 1.213 (coprocess is e)3.713 F -.15(xe)-.15 G 1.213(cuted asyn-).15 F .575(chr\ onously in a subshell, as if the command had been terminated with the) -108 547.2 R F1(&)3.074 E F0 .574(control operator)3.074 F 3.074(,w)-.4 G -.574(ith a tw)-3.074 F(o-)-.1 E -.1(wa)108 559.2 S 2.5(yp).1 G +108 588 R F2(&)3.074 E F0 .574(control operator)3.074 F 3.074(,w)-.4 G +.574(ith a tw)-3.074 F(o-)-.1 E -.1(wa)108 600 S 2.5(yp).1 G (ipe established between the e)-2.5 E -.15(xe)-.15 G (cuting shell and the coprocess.).15 E(The format for a coprocess is:) -108 576 Q F1(copr)144 592.8 Q(oc)-.18 E F0([)2.5 E F2 -.27(NA)C(ME).27 E -F0(])A F2(command)2.5 E F0([)2.5 E F2 -.37(re)C(dir).37 E(ections)-.37 E -F0(])A .922(This creates a coprocess named)108 609.6 R F2 -.27(NA)3.422 -G(ME).27 E F0 5.922(.I)C(f)-5.922 E F2 -.27(NA)3.422 G(ME).27 E F0 .923 -(is not supplied, the def)3.422 F .923(ault name is)-.1 F F2(COPR)3.423 -E(OC)-.4 E F0(.)A F2 -.27(NA)5.923 G(ME).27 E F0 .64 -(must not be supplied if)108 621.6 R F2(command)3.14 E F0 .64(is a)3.14 -F F2 .64(simple command)3.14 F F0 .64(\(see abo)3.14 F -.15(ve)-.15 G +108 616.8 Q F2(copr)144 633.6 Q(oc)-.18 E F0([)2.5 E F1 -.27(NA)C(ME).27 +E F0(])A F1(command)2.5 E F0([)2.5 E F1 -.37(re)C(dir).37 E(ections)-.37 +E F0(])A .922(This creates a coprocess named)108 650.4 R F1 -.27(NA) +3.422 G(ME).27 E F0 5.922(.I)C(f)-5.922 E F1 -.27(NA)3.422 G(ME).27 E F0 +.923(is not supplied, the def)3.422 F .923(ault name is)-.1 F F1(COPR) +3.423 E(OC)-.4 E F0(.)A F1 -.27(NA)5.923 G(ME).27 E F0 .64 +(must not be supplied if)108 662.4 R F1(command)3.14 E F0 .64(is a)3.14 +F F1 .64(simple command)3.14 F F0 .64(\(see abo)3.14 F -.15(ve)-.15 G .64(\); otherwise, it is interpreted as the \214rst).15 F -.1(wo)108 -633.6 S .163(rd of the simple command.).1 F .163(When the coproc is e) +674.4 S .163(rd of the simple command.).1 F .163(When the coproc is e) 5.163 F -.15(xe)-.15 G .163(cuted, the shell creates an array v).15 F -.163(ariable \(see)-.25 F F1(Arrays)2.663 E F0(belo)108 645.6 Q .512 -(w\) named)-.25 F F2 -.27(NA)3.012 G(ME).27 E F0 .512(in the conte)3.012 +.163(ariable \(see)-.25 F F2(Arrays)2.663 E F0(belo)108 686.4 Q .512 +(w\) named)-.25 F F1 -.27(NA)3.012 G(ME).27 E F0 .512(in the conte)3.012 F .511(xt of the e)-.15 F -.15(xe)-.15 G .511(cuting shell.).15 F .511 -(The standard output of)5.511 F F2(command)3.211 E F0 .511(is connected) -3.781 F .81(via a pipe to a \214le descriptor in the e)108 657.6 R -.15 +(The standard output of)5.511 F F1(command)3.211 E F0 .511(is connected) +3.781 F .81(via a pipe to a \214le descriptor in the e)108 698.4 R -.15 (xe)-.15 G .811(cuting shell, and that \214le descriptor is assigned to) -.15 F F2 -.27(NA)3.311 G(ME).27 E F0 3.311([0]. The)B .717 -(standard input of)108 669.6 R F2(command)3.417 E F0 .716 +.15 F F1 -.27(NA)3.311 G(ME).27 E F0 3.311([0]. The)B .717 +(standard input of)108 710.4 R F1(command)3.417 E F0 .716 (is connected via a pipe to a \214le descriptor in the e)3.987 F -.15 -(xe)-.15 G .716(cuting shell, and that \214le).15 F .702 -(descriptor is assigned to)108 681.6 R F2 -.27(NA)3.202 G(ME).27 E F0 -3.202([1]. This)B .703(pipe is established before an)3.203 F 3.203(yr) --.15 G .703(edirections speci\214ed by the com-)-3.203 F 1.184 -(mand \(see)108 693.6 R F3(REDIRECTION)3.684 E F0(belo)3.434 E 3.684 -(w\). The)-.25 F 1.183(\214le descriptors can be utilized as ar)3.684 F -1.183(guments to shell commands)-.18 F .07 -(and redirections using standard w)108 705.6 R .07(ord e)-.1 F 2.57 -(xpansions. The)-.15 F .07(process id of the shell spa)2.57 F .07 -(wned to e)-.15 F -.15(xe)-.15 G .07(cute the copro-).15 F .632 -(cess is a)108 717.6 R -.25(va)-.2 G .631(ilable as the v).25 F .631 -(alue of the v)-.25 F(ariable)-.25 E F2 -.27(NA)3.131 G(ME).27 E F0 -3.131(_PID. The)B F1(wait)3.131 E F0 -.2(bu)3.131 G .631 -(iltin command may be used to w).2 F(ait)-.1 E -(for the coprocess to terminate.)108 729.6 Q(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(6)200.945 E 0 Cg EP +(xe)-.15 G .716(cuting shell, and that \214le).15 F 2.399 +(descriptor is assigned to)108 722.4 R F1 -.27(NA)4.899 G(ME).27 E F0 +4.899([1]. This)B 2.399(pipe is established before an)4.899 F 4.9(yr) +-.15 G 2.4(edirections speci\214ed by the)-4.9 F(GNU Bash-4.1)72 768 Q +(2010 May 30)147.345 E(6)202.335 E 0 Cg EP %%Page: 7 7 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(The return status of a coprocess is the e)108 84 Q(xit status of) --.15 E/F1 10/Times-Italic@0 SF(command)2.5 E F0(.)A/F2 10/Times-Bold@0 -SF(Shell Function De\214nitions)87 100.8 Q F0 2.697(As)108 112.8 S .198 +-.35 E 1.581(command \(see)108 84 R/F1 9/Times-Bold@0 SF(REDIRECTION) +4.081 E F0(belo)3.831 E 4.081(w\). The)-.25 F 1.58 +(\214le descriptors can be utilized as ar)4.081 F 1.58 +(guments to shell com-)-.18 F .069 +(mands and redirections using standard w)108 96 R .069(ord e)-.1 F 2.569 +(xpansions. The)-.15 F .07(process id of the shell spa)2.569 F .07 +(wned to e)-.15 F -.15(xe)-.15 G .07(cute the).15 F .483(coprocess is a) +108 108 R -.25(va)-.2 G .483(ilable as the v).25 F .483(alue of the v) +-.25 F(ariable)-.25 E/F2 10/Times-Italic@0 SF -.27(NA)2.983 G(ME).27 E +F0 2.983(_PID. The)B/F3 10/Times-Bold@0 SF(wait)2.983 E F0 -.2(bu)2.983 +G .483(iltin command may be used to).2 F -.1(wa)108 120 S +(it for the coprocess to terminate.).1 E +(The return status of a coprocess is the e)108 136.8 Q(xit status of) +-.15 E F2(command)2.5 E F0(.)A F3(Shell Function De\214nitions)87 153.6 +Q F0 2.697(As)108 165.6 S .198 (hell function is an object that is called lik)-2.697 F 2.698(eas)-.1 G .198(imple command and e)-2.698 F -.15(xe)-.15 G .198 -(cutes a compound command with).15 F 2.5(an)108 124.8 S .5 -.25(ew s) +(cutes a compound command with).15 F 2.5(an)108 177.6 S .5 -.25(ew s) -2.5 H(et of positional parameters.).25 E -(Shell functions are declared as follo)5 E(ws:)-.25 E([)108 141.6 Q F2 -(function)2.5 E F0(])2.5 E F1(name)2.5 E F0(\(\))2.5 E F1 -(compound\255command)2.5 E F0([)2.5 E F1 -.37(re)C(dir).37 E(ection)-.37 -E F0(])A 1.403(This de\214nes a function named)144 153.6 R F1(name)3.902 -E F0 6.402(.T)C 1.402(he reserv)-6.402 F 1.402(ed w)-.15 F(ord)-.1 E F2 -(function)3.902 E F0 1.402(is optional.)3.902 F 1.402(If the)6.402 F F2 -(function)3.902 E F0(reserv)144 165.6 Q .162(ed w)-.15 F .162 -(ord is supplied, the parentheses are optional.)-.1 F(The)5.162 E F1 +(Shell functions are declared as follo)5 E(ws:)-.25 E([)108 194.4 Q F3 +(function)2.5 E F0(])2.5 E F2(name)2.5 E F0(\(\))2.5 E F2 +(compound\255command)2.5 E F0([)2.5 E F2 -.37(re)C(dir).37 E(ection)-.37 +E F0(])A 1.403(This de\214nes a function named)144 206.4 R F2(name)3.902 +E F0 6.402(.T)C 1.402(he reserv)-6.402 F 1.402(ed w)-.15 F(ord)-.1 E F3 +(function)3.902 E F0 1.402(is optional.)3.902 F 1.402(If the)6.402 F F3 +(function)3.902 E F0(reserv)144 218.4 Q .162(ed w)-.15 F .162 +(ord is supplied, the parentheses are optional.)-.1 F(The)5.162 E F2 (body)2.662 E F0 .162(of the function is the compound)2.662 F(command) -144 177.6 Q F1(compound\255command)2.784 E F0(\(see)3.354 E F2 .084 +144 230.4 Q F2(compound\255command)2.784 E F0(\(see)3.354 E F3 .084 (Compound Commands)2.584 F F0(abo)2.584 E -.15(ve)-.15 G 2.584(\). That) -.15 F .084(command is usually a)2.584 F F1(list)144 189.6 Q F0 .044 +.15 F .084(command is usually a)2.584 F F2(list)144 242.4 Q F0 .044 (of commands between { and }, b)2.544 F .044(ut may be an)-.2 F 2.544 -(yc)-.15 G .044(ommand listed under)-2.544 F F2 .044(Compound Commands) -2.544 F F0(abo)144 201.6 Q -.15(ve)-.15 G(.).15 E F1 +(yc)-.15 G .044(ommand listed under)-2.544 F F3 .044(Compound Commands) +2.544 F F0(abo)144 254.4 Q -.15(ve)-.15 G(.).15 E F2 (compound\255command)6.671 E F0 1.671(is e)4.171 F -.15(xe)-.15 G 1.671 -(cuted whene).15 F -.15(ve)-.25 G(r).15 E F1(name)4.171 E F0 1.671 +(cuted whene).15 F -.15(ve)-.25 G(r).15 E F2(name)4.171 E F0 1.671 (is speci\214ed as the name of a simple)4.171 F 3.008(command. An)144 -213.6 R 3.009(yr)-.15 G .509(edirections \(see)-3.009 F/F3 9 -/Times-Bold@0 SF(REDIRECTION)3.009 E F0(belo)2.759 E .509 +266.4 R 3.009(yr)-.15 G .509(edirections \(see)-3.009 F F1(REDIRECTION) +3.009 E F0(belo)2.759 E .509 (w\) speci\214ed when a function is de\214ned are)-.25 F .581 -(performed when the function is e)144 225.6 R -.15(xe)-.15 G 3.081 +(performed when the function is e)144 278.4 R -.15(xe)-.15 G 3.081 (cuted. The).15 F -.15(ex)3.081 G .58 (it status of a function de\214nition is zero unless a).15 F .177(synta\ x error occurs or a readonly function with the same name already e)144 -237.6 R 2.678(xists. When)-.15 F -.15(exe)2.678 G .178(cuted, the).15 F --.15(ex)144 249.6 S .64(it status of a function is the e).15 F .64 +290.4 R 2.678(xists. When)-.15 F -.15(exe)2.678 G .178(cuted, the).15 F +-.15(ex)144 302.4 S .64(it status of a function is the e).15 F .64 (xit status of the last command e)-.15 F -.15(xe)-.15 G .64 -(cuted in the body).15 F 5.64(.\()-.65 G(See)-5.64 E F3(FUNC-)3.14 E -(TIONS)144 261.6 Q F0(belo)2.25 E -.65(w.)-.25 G(\)).65 E/F4 10.95 -/Times-Bold@0 SF(COMMENTS)72 278.4 Q F0 .982(In a non-interacti)108 -290.4 R 1.282 -.15(ve s)-.25 H .982(hell, or an interacti).15 F 1.282 --.15(ve s)-.25 H .982(hell in which the).15 F F2(interacti)3.482 E -.1 -(ve)-.1 G(_comments).1 E F0 .982(option to the)3.482 F F2(shopt)3.482 E -F0 -.2(bu)108 302.4 S .952(iltin is enabled \(see).2 F F3 .952(SHELL B) +(cuted in the body).15 F 5.64(.\()-.65 G(See)-5.64 E F1(FUNC-)3.14 E +(TIONS)144 314.4 Q F0(belo)2.25 E -.65(w.)-.25 G(\)).65 E/F4 10.95 +/Times-Bold@0 SF(COMMENTS)72 331.2 Q F0 .982(In a non-interacti)108 +343.2 R 1.282 -.15(ve s)-.25 H .982(hell, or an interacti).15 F 1.282 +-.15(ve s)-.25 H .982(hell in which the).15 F F3(interacti)3.482 E -.1 +(ve)-.1 G(_comments).1 E F0 .982(option to the)3.482 F F3(shopt)3.482 E +F0 -.2(bu)108 355.2 S .952(iltin is enabled \(see).2 F F1 .952(SHELL B) 3.452 F(UIL)-.09 E .952(TIN COMMANDS)-.828 F F0(belo)3.202 E .952 -(w\), a w)-.25 F .952(ord be)-.1 F .952(ginning with)-.15 F F2(#)3.451 E +(w\), a w)-.25 F .952(ord be)-.1 F .952(ginning with)-.15 F F3(#)3.451 E F0 .951(causes that w)3.451 F(ord)-.1 E .604 -(and all remaining characters on that line to be ignored.)108 314.4 R +(and all remaining characters on that line to be ignored.)108 367.2 R .605(An interacti)5.605 F .905 -.15(ve s)-.25 H .605(hell without the) -.15 F F2(interacti)3.105 E -.1(ve)-.1 G(_com-).1 E(ments)108 326.4 Q F0 +.15 F F3(interacti)3.105 E -.1(ve)-.1 G(_com-).1 E(ments)108 379.2 Q F0 1.337(option enabled does not allo)3.837 F 3.837(wc)-.25 G 3.836 -(omments. The)-3.837 F F2(interacti)3.836 E -.1(ve)-.1 G(_comments).1 E +(omments. The)-3.837 F F3(interacti)3.836 E -.1(ve)-.1 G(_comments).1 E F0 1.336(option is on by def)3.836 F 1.336(ault in)-.1 F(interacti)108 -338.4 Q .3 -.15(ve s)-.25 H(hells.).15 E F4 -.11(QU)72 355.2 S -.438(OT) -.11 G(ING).438 E F1(Quoting)108 367.2 Q F0 .477(is used to remo)2.977 F +391.2 Q .3 -.15(ve s)-.25 H(hells.).15 E F4 -.11(QU)72 408 S -.438(OT) +.11 G(ING).438 E F2(Quoting)108 420 Q F0 .477(is used to remo)2.977 F .777 -.15(ve t)-.15 H .477 (he special meaning of certain characters or w).15 F .477 (ords to the shell.)-.1 F .478(Quoting can be)5.478 F .185 (used to disable special treatment for special characters, to pre)108 -379.2 R -.15(ve)-.25 G .185(nt reserv).15 F .184(ed w)-.15 F .184 -(ords from being recognized as)-.1 F(such, and to pre)108 391.2 Q -.15 -(ve)-.25 G(nt parameter e).15 E(xpansion.)-.15 E .288(Each of the)108 -408 R F1(metac)2.788 E(har)-.15 E(acter)-.15 E(s)-.1 E F0 .288 -(listed abo)2.788 F .588 -.15(ve u)-.15 H(nder).15 E F3(DEFINITIONS) -2.788 E F0 .288(has special meaning to the shell and must be)2.538 F -(quoted if it is to represent itself.)108 420 Q 1.345 -(When the command history e)108 436.8 R 1.344(xpansion f)-.15 F 1.344 -(acilities are being used \(see)-.1 F F3(HIST)3.844 E(OR)-.162 E 3.594 +432 R -.15(ve)-.25 G .185(nt reserv).15 F .184(ed w)-.15 F .184 +(ords from being recognized as)-.1 F(such, and to pre)108 444 Q -.15(ve) +-.25 G(nt parameter e).15 E(xpansion.)-.15 E .288(Each of the)108 460.8 +R F2(metac)2.788 E(har)-.15 E(acter)-.15 E(s)-.1 E F0 .288(listed abo) +2.788 F .588 -.15(ve u)-.15 H(nder).15 E F1(DEFINITIONS)2.788 E F0 .288 +(has special meaning to the shell and must be)2.538 F +(quoted if it is to represent itself.)108 472.8 Q 1.345 +(When the command history e)108 489.6 R 1.344(xpansion f)-.15 F 1.344 +(acilities are being used \(see)-.1 F F1(HIST)3.844 E(OR)-.162 E 3.594 (YE)-.315 G(XP)-3.594 E(ANSION)-.666 E F0(belo)3.594 E 1.344(w\), the) --.25 F F1(history e)108 448.8 Q(xpansion)-.2 E F0(character)2.5 E 2.5 -(,u)-.4 G(sually)-2.5 E F2(!)2.5 E F0 2.5(,m)C(ust be quoted to pre)-2.5 +-.25 F F2(history e)108 501.6 Q(xpansion)-.2 E F0(character)2.5 E 2.5 +(,u)-.4 G(sually)-2.5 E F3(!)2.5 E F0 2.5(,m)C(ust be quoted to pre)-2.5 E -.15(ve)-.25 G(nt history e).15 E(xpansion.)-.15 E -(There are three quoting mechanisms: the)108 465.6 Q F1(escape c)2.5 E +(There are three quoting mechanisms: the)108 518.4 Q F2(escape c)2.5 E (har)-.15 E(acter)-.15 E F0 2.5(,s).73 G -(ingle quotes, and double quotes.)-2.5 E 2.974(An)108 482.4 S .474 -(on-quoted backslash \()-2.974 F F2(\\)A F0 2.974(\)i)C 2.974(st)-2.974 -G(he)-2.974 E F1 .474(escape c)2.974 F(har)-.15 E(acter)-.15 E F0 5.474 +(ingle quotes, and double quotes.)-2.5 E 2.974(An)108 535.2 S .474 +(on-quoted backslash \()-2.974 F F3(\\)A F0 2.974(\)i)C 2.974(st)-2.974 +G(he)-2.974 E F2 .474(escape c)2.974 F(har)-.15 E(acter)-.15 E F0 5.474 (.I).73 G 2.974(tp)-5.474 G(reserv)-2.974 E .474(es the literal v)-.15 F -.474(alue of the ne)-.25 F .475(xt character that)-.15 F(follo)108 494.4 +.474(alue of the ne)-.25 F .475(xt character that)-.15 F(follo)108 547.2 Q 1.554(ws, with the e)-.25 F 1.553(xception of . If)-.25 F(a)4.053 E F2(\\)4.053 E F0(. If)-.25 F(a)4.053 E F3(\\)4.053 E F0( pair appears, and the backslash is not itself)-.25 F 1.122 -(quoted, the)108 506.4 R F2(\\)3.622 E F0( is treated as a line continuation \(that is, it is remo)-.25 F -.15(ve)-.15 G 3.622(df).15 G 1.123(rom the input stream and)-3.622 F -(ef)108 518.4 Q(fecti)-.25 E -.15(ve)-.25 G(ly ignored\).).15 E .295 -(Enclosing characters in single quotes preserv)108 535.2 R .295 +(ef)108 571.2 Q(fecti)-.25 E -.15(ve)-.25 G(ly ignored\).).15 E .295 +(Enclosing characters in single quotes preserv)108 588 R .295 (es the literal v)-.15 F .295(alue of each character within the quotes.) -.25 F 2.795(As)5.295 G(in-)-2.795 E -(gle quote may not occur between single quotes, e)108 547.2 Q -.15(ve) --.25 G 2.5(nw).15 G(hen preceded by a backslash.)-2.5 E .033 -(Enclosing characters in double quotes preserv)108 564 R .034 +(gle quote may not occur between single quotes, e)108 600 Q -.15(ve)-.25 +G 2.5(nw).15 G(hen preceded by a backslash.)-2.5 E .033 +(Enclosing characters in double quotes preserv)108 616.8 R .034 (es the literal v)-.15 F .034 (alue of all characters within the quotes, with the)-.25 F -.15(ex)108 -576 S .828(ception of).15 F F2($)3.328 E F0(,)A F2<92>3.328 E F0(,)A F2 -(\\)3.328 E F0 3.328(,a)C .828(nd, when history e)-3.328 F .828 -(xpansion is enabled,)-.15 F F2(!)3.328 E F0 5.828(.T)C .828 -(he characters)-5.828 F F2($)3.328 E F0(and)3.328 E F2<92>3.328 E F0 +628.8 S .828(ception of).15 F F3($)3.328 E F0(,)A F3<92>3.328 E F0(,)A +F3(\\)3.328 E F0 3.328(,a)C .828(nd, when history e)-3.328 F .828 +(xpansion is enabled,)-.15 F F3(!)3.328 E F0 5.828(.T)C .828 +(he characters)-5.828 F F3($)3.328 E F0(and)3.328 E F3<92>3.328 E F0 .827(retain their special)3.328 F .074(meaning within double quotes.)108 -588 R .074(The backslash retains its special meaning only when follo) -5.074 F .075(wed by one of the)-.25 F(follo)108 600 Q .205 -(wing characters:)-.25 F F2($)2.705 E F0(,)A F2<92>2.705 E F0(,)A F2(") -3.538 E F0(,).833 E F2(\\)2.705 E F0 2.705(,o)C(r)-2.705 E F2() +640.8 R .074(The backslash retains its special meaning only when follo) +5.074 F .075(wed by one of the)-.25 F(follo)108 652.8 Q .205 +(wing characters:)-.25 F F3($)2.705 E F0(,)A F3<92>2.705 E F0(,)A F3(") +3.538 E F0(,).833 E F3(\\)2.705 E F0 2.705(,o)C(r)-2.705 E F3() 2.705 E F0 5.205(.A)C .204 (double quote may be quoted within double quotes by pre-)-2.5 F .081 -(ceding it with a backslash.)108 612 R .082(If enabled, history e)5.082 -F .082(xpansion will be performed unless an)-.15 F F2(!)2.582 E F0 .082 -(appearing in double)5.082 F(quotes is escaped using a backslash.)108 -624 Q(The backslash preceding the)5 E F2(!)2.5 E F0(is not remo)5 E -.15 -(ve)-.15 G(d.).15 E(The special parameters)108 640.8 Q F2(*)2.5 E F0 -(and)2.5 E F2(@)2.5 E F0(ha)2.5 E .3 -.15(ve s)-.2 H -(pecial meaning when in double quotes \(see).15 E F3 -.666(PA)2.5 G -(RAMETERS).666 E F0(belo)2.25 E(w\).)-.25 E -.8(Wo)108 657.6 S .212 -(rds of the form).8 F F2($)2.712 E F0<08>A F1(string)A F0 2.712<0861>C +(ceding it with a backslash.)108 664.8 R .082(If enabled, history e) +5.082 F .082(xpansion will be performed unless an)-.15 F F3(!)2.582 E F0 +.082(appearing in double)5.082 F(quotes is escaped using a backslash.) +108 676.8 Q(The backslash preceding the)5 E F3(!)2.5 E F0(is not remo)5 +E -.15(ve)-.15 G(d.).15 E(The special parameters)108 693.6 Q F3(*)2.5 E +F0(and)2.5 E F3(@)2.5 E F0(ha)2.5 E .3 -.15(ve s)-.2 H +(pecial meaning when in double quotes \(see).15 E F1 -.666(PA)2.5 G +(RAMETERS).666 E F0(belo)2.25 E(w\).)-.25 E -.8(Wo)108 710.4 S .212 +(rds of the form).8 F F3($)2.712 E F0<08>A F2(string)A F0 2.712<0861>C .211(re treated specially)-2.712 F 5.211(.T)-.65 G .211(he w)-5.211 F -.211(ord e)-.1 F .211(xpands to)-.15 F F1(string)2.711 E F0 2.711(,w)C +.211(ord e)-.1 F .211(xpands to)-.15 F F2(string)2.711 E F0 2.711(,w)C .211(ith backslash-escaped char)-2.711 F(-)-.2 E .604 -(acters replaced as speci\214ed by the ANSI C standard.)108 669.6 R .605 -(Backslash escape sequences, if present, are decoded)5.605 F(as follo) -108 681.6 Q(ws:)-.25 E F2(\\a)144 693.6 Q F0(alert \(bell\))28.22 E F2 -(\\b)144 705.6 Q F0(backspace)27.66 E F2(\\e)144 717.6 Q F0 -(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(7)200.945 E 0 Cg EP +(acters replaced as speci\214ed by the ANSI C standard.)108 722.4 R .605 +(Backslash escape sequences, if present, are decoded)5.605 F +(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(7)202.335 E 0 Cg EP %%Page: 8 8 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(\\E)144 84 Q F0(an escape character)26.55 E -F1(\\f)144 96 Q F0(form feed)29.89 E F1(\\n)144 108 Q F0(ne)27.66 E 2.5 -(wl)-.25 G(ine)-2.5 E F1(\\r)144 120 Q F0(carriage return)28.78 E F1 -(\\t)144 132 Q F0(horizontal tab)29.89 E F1(\\v)144 144 Q F0 -.15(ve) -28.22 G(rtical tab).15 E F1(\\\\)144 156 Q F0(backslash)30.44 E F1<5c08> -144 168 Q F0(single quote)30.44 E F1(\\")144 180 Q F0(double quote)27.67 -E F1(\\)144 192 Q/F2 10/Times-Italic@0 SF(nnn)A F0 -(the eight-bit character whose v)18.22 E(alue is the octal v)-.25 E -(alue)-.25 E F2(nnn)2.5 E F0(\(one to three digits\))2.5 E F1(\\x)144 -204 Q F2(HH)A F0(the eight-bit character whose v)13.78 E(alue is the he) --.25 E(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0(\(one or tw)2.5 E -2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1(\\c)144 216 Q F2(x)A -F0 2.5(ac)24.34 G(ontrol-)-2.5 E F2(x)A F0(character)2.5 E(The e)108 -232.8 Q(xpanded result is single-quoted, as if the dollar sign had not \ -been present.)-.15 E 2.64(Ad)108 249.6 S .14 -(ouble-quoted string preceded by a dollar sign \()-2.64 F F1($)A F0(")A -F2(string)A F0 .14("\) will cause the string to be translated according) -B .495(to the current locale.)108 261.6 R .495(If the current locale is) -5.495 F F1(C)2.995 E F0(or)2.995 E F1(POSIX)2.995 E F0 2.995(,t)C .495 +-.35 E(as follo)108 84 Q(ws:)-.25 E/F1 10/Times-Bold@0 SF(\\a)144 96 Q +F0(alert \(bell\))28.22 E F1(\\b)144 108 Q F0(backspace)27.66 E F1(\\e) +144 120 Q(\\E)144 132 Q F0(an escape character)26.55 E F1(\\f)144 144 Q +F0(form feed)29.89 E F1(\\n)144 156 Q F0(ne)27.66 E 2.5(wl)-.25 G(ine) +-2.5 E F1(\\r)144 168 Q F0(carriage return)28.78 E F1(\\t)144 180 Q F0 +(horizontal tab)29.89 E F1(\\v)144 192 Q F0 -.15(ve)28.22 G(rtical tab) +.15 E F1(\\\\)144 204 Q F0(backslash)30.44 E F1<5c08>144 216 Q F0 +(single quote)30.44 E F1(\\")144 228 Q F0(double quote)27.67 E F1(\\)144 +240 Q/F2 10/Times-Italic@0 SF(nnn)A F0(the eight-bit character whose v) +18.22 E(alue is the octal v)-.25 E(alue)-.25 E F2(nnn)2.5 E F0 +(\(one to three digits\))2.5 E F1(\\x)144 252 Q F2(HH)A F0 +(the eight-bit character whose v)13.78 E(alue is the he)-.25 E +(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0(\(one or tw)2.5 E 2.5(oh) +-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1(\\u)144 264 Q F2(HHHH)A F0 +1.507(the Unicode \(ISO/IEC 10646\) character whose v)180 276 R 1.506 +(alue is the he)-.25 F 1.506(xadecimal v)-.15 F(alue)-.25 E F2(HHHH) +4.006 E F0(\(one to four he)180 288 Q 2.5(xd)-.15 G(igits\))-2.5 E F1 +(\\U)144 300 Q F2(HHHHHHHH)A F0 .547 +(the Unicode \(ISO/IEC 10646\) character whose v)180 312 R .547 +(alue is the he)-.25 F .548(xadecimal v)-.15 F(alue)-.25 E F2(HHHHH-) +3.048 E(HHH)180 324 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G(igits\)) +-2.5 E F1(\\c)144 336 Q F2(x)A F0 2.5(ac)24.34 G(ontrol-)-2.5 E F2(x)A +F0(character)2.5 E(The e)108 352.8 Q(xpanded result is single-quoted, a\ +s if the dollar sign had not been present.)-.15 E 2.64(Ad)108 369.6 S +.14(ouble-quoted string preceded by a dollar sign \()-2.64 F F1($)A F0 +(")A F2(string)A F0 .14 +("\) will cause the string to be translated according)B .495 +(to the current locale.)108 381.6 R .495(If the current locale is)5.495 +F F1(C)2.995 E F0(or)2.995 E F1(POSIX)2.995 E F0 2.995(,t)C .495 (he dollar sign is ignored.)-2.995 F .496(If the string is trans-)5.496 -F(lated and replaced, the replacement is double-quoted.)108 273.6 Q/F3 -10.95/Times-Bold@0 SF -.81(PA)72 290.4 S(RAMETERS).81 E F0(A)108 302.4 Q +F(lated and replaced, the replacement is double-quoted.)108 393.6 Q/F3 +10.95/Times-Bold@0 SF -.81(PA)72 410.4 S(RAMETERS).81 E F0(A)108 422.4 Q F2(par)4.593 E(ameter)-.15 E F0 .843(is an entity that stores v)4.073 F 3.343(alues. It)-.25 F .843(can be a)3.343 F F2(name)3.342 E F0 3.342 (,an).18 G(umber)-3.342 E 3.342(,o)-.4 G 3.342(ro)-3.342 G .842 -(ne of the special characters)-3.342 F .822(listed belo)108 314.4 R +(ne of the special characters)-3.342 F .822(listed belo)108 434.4 R 3.323(wu)-.25 G(nder)-3.323 E F1 .823(Special P)3.323 F(arameters)-.1 E F0 5.823(.A)C F2(variable)-2.21 E F0 .823(is a parameter denoted by a) 3.503 F F2(name)3.323 E F0 5.823(.A).18 G -.25(va)-2.5 G .823 -(riable has a).25 F F2(value)108 326.4 Q F0 .369(and zero or more)2.869 +(riable has a).25 F F2(value)108 446.4 Q F0 .369(and zero or more)2.869 F F2(attrib)2.869 E(utes)-.2 E F0 5.369(.A)C(ttrib)-5.369 E .369 (utes are assigned using the)-.2 F F1(declar)2.868 E(e)-.18 E F0 -.2(bu) 2.868 G .368(iltin command \(see).2 F F1(declar)2.868 E(e)-.18 E F0 -(belo)108 338.4 Q 2.5(wi)-.25 G(n)-2.5 E/F4 9/Times-Bold@0 SF(SHELL B) +(belo)108 458.4 Q 2.5(wi)-.25 G(n)-2.5 E/F4 9/Times-Bold@0 SF(SHELL B) 2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E/F5 9/Times-Roman@0 SF(\).)A F0 -2.754(Ap)108 355.2 S .254(arameter is set if it has been assigned a v) +2.754(Ap)108 475.2 S .254(arameter is set if it has been assigned a v) -2.754 F 2.754(alue. The)-.25 F .254(null string is a v)2.754 F .255 (alid v)-.25 F 2.755(alue. Once)-.25 F 2.755(av)2.755 G .255 -(ariable is set, it)-3.005 F(may be unset only by using the)108 367.2 Q +(ariable is set, it)-3.005 F(may be unset only by using the)108 487.2 Q F1(unset)2.5 E F0 -.2(bu)2.5 G(iltin command \(see).2 E F4(SHELL B)2.5 E -(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E(A)108 384 Q +(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E(A)108 504 Q F2(variable)2.79 E F0(may be assigned to by a statement of the form)2.68 -E F2(name)144 400.8 Q F0(=[)A F2(value)A F0(])A(If)108 417.6 Q F2(value) +E F2(name)144 520.8 Q F0(=[)A F2(value)A F0(])A(If)108 537.6 Q F2(value) 3.023 E F0 .233(is not gi)2.913 F -.15(ve)-.25 G .233(n, the v).15 F .232(ariable is assigned the null string.)-.25 F(All)5.232 E F2(values) 3.022 E F0(under)3.002 E .232(go tilde e)-.18 F .232 -(xpansion, parameter)-.15 F .515(and v)108 429.6 R .515(ariable e)-.25 F +(xpansion, parameter)-.15 F .515(and v)108 549.6 R .515(ariable e)-.25 F .515(xpansion, command substitution, arithmetic e)-.15 F .515 (xpansion, and quote remo)-.15 F -.25(va)-.15 G 3.015(l\().25 G(see) --3.015 E F4(EXP)3.015 E(ANSION)-.666 E F0(belo)108 441.6 Q 2.699 +-3.015 E F4(EXP)3.015 E(ANSION)-.666 E F0(belo)108 561.6 Q 2.699 (w\). If)-.25 F .199(the v)2.699 F .199(ariable has its)-.25 F F1 (integer)2.698 E F0(attrib)2.698 E .198(ute set, then)-.2 F F2(value) 2.988 E F0 .198(is e)2.878 F -.25(va)-.25 G .198 (luated as an arithmetic e).25 F .198(xpression e)-.15 F -.15(ve)-.25 G -(n).15 E .901(if the $\(\(...\)\) e)108 453.6 R .901 +(n).15 E .901(if the $\(\(...\)\) e)108 573.6 R .901 (xpansion is not used \(see)-.15 F F1 .901(Arithmetic Expansion)3.401 F F0(belo)3.401 E 3.402(w\). W)-.25 F .902 -(ord splitting is not performed,)-.8 F 1.179(with the e)108 465.6 R +(ord splitting is not performed,)-.8 F 1.179(with the e)108 585.6 R 1.179(xception of)-.15 F F1("$@")3.679 E F0 1.179(as e)3.679 F 1.179 (xplained belo)-.15 F 3.679(wu)-.25 G(nder)-3.679 E F1 1.178(Special P) 3.678 F(arameters)-.1 E F0 6.178(.P)C 1.178(athname e)-6.328 F 1.178 -(xpansion is not)-.15 F 3.648(performed. Assignment)108 477.6 R 1.148 +(xpansion is not)-.15 F 3.648(performed. Assignment)108 597.6 R 1.148 (statements may also appear as ar)3.648 F 1.149(guments to the)-.18 F F1 (alias)3.649 E F0(,)A F1(declar)3.649 E(e)-.18 E F0(,)A F1(typeset)3.649 -E F0(,)A F1(export)3.649 E F0(,)A F1 -.18(re)108 489.6 S(adonly).18 E F0 +E F0(,)A F1(export)3.649 E F0(,)A F1 -.18(re)108 609.6 S(adonly).18 E F0 2.5(,a)C(nd)-2.5 E F1(local)2.5 E F0 -.2(bu)2.5 G(iltin commands.).2 E -.377(In the conte)108 506.4 R .377 +.377(In the conte)108 626.4 R .377 (xt where an assignment statement is assigning a v)-.15 F .376 (alue to a shell v)-.25 F .376(ariable or array inde)-.25 F .376 (x, the +=)-.15 F .257 -(operator can be used to append to or add to the v)108 518.4 R(ariable') +(operator can be used to append to or add to the v)108 638.4 R(ariable') -.25 E 2.757(sp)-.55 G(re)-2.757 E .257(vious v)-.25 F 2.757(alue. When) -.25 F .257(+= is applied to a v)2.757 F(ariable)-.25 E .373 -(for which the inte)108 530.4 R .373(ger attrib)-.15 F .372 +(for which the inte)108 650.4 R .373(ger attrib)-.15 F .372 (ute has been set,)-.2 F F2(value)2.872 E F0 .372(is e)2.872 F -.25(va) -.25 G .372(luated as an arithmetic e).25 F .372 -(xpression and added to the)-.15 F -.25(va)108 542.4 S(riable').25 E +(xpression and added to the)-.15 F -.25(va)108 662.4 S(riable').25 E 2.888(sc)-.55 G .388(urrent v)-2.888 F .388(alue, which is also e)-.25 F -.25(va)-.25 G 2.889(luated. When).25 F .389 (+= is applied to an array v)2.889 F .389(ariable using compound)-.25 F -.186(assignment \(see)108 554.4 R F1(Arrays)2.686 E F0(belo)2.686 E .186 +.186(assignment \(see)108 674.4 R F1(Arrays)2.686 E F0(belo)2.686 E .186 (w\), the v)-.25 F(ariable')-.25 E 2.685(sv)-.55 G .185 (alue is not unset \(as it is when using =\), and ne)-2.935 F 2.685(wv) --.25 G .185(alues are)-2.935 F 1.384(appended to the array be)108 566.4 +-.25 G .185(alues are)-2.935 F 1.384(appended to the array be)108 686.4 R 1.384(ginning at one greater than the array')-.15 F 3.885(sm)-.55 G 1.385(aximum inde)-3.885 F 3.885(x\()-.15 G 1.385(for inde)-3.885 F -.15 (xe)-.15 G 3.885(da).15 G 1.385(rrays\) or)-3.885 F .123 -(added as additional k)108 578.4 R -.15(ey)-.1 G.15 E .123 +(added as additional k)108 698.4 R -.15(ey)-.1 G.15 E .123 (alue pairs in an associati)-.25 F .423 -.15(ve a)-.25 H(rray).15 E 5.123(.W)-.65 G .122(hen applied to a string-v)-5.123 F .122(alued v) --.25 F(ariable,)-.25 E F2(value)2.622 E F0(is e)108 590.4 Q +-.25 F(ariable,)-.25 E F2(value)2.622 E F0(is e)108 710.4 Q (xpanded and appended to the v)-.15 E(ariable')-.25 E 2.5(sv)-.55 G -(alue.)-2.75 E F1 -.2(Po)87 607.2 S(sitional P).2 E(arameters)-.1 E F0 -(A)108 619.2 Q F2 .705(positional par)4.455 F(ameter)-.15 E F0 .706(is \ -a parameter denoted by one or more digits, other than the single digit \ -0.)3.935 F(Posi-)5.706 E .445 -(tional parameters are assigned from the shell')108 631.2 R 2.944(sa) --.55 G -.18(rg)-2.944 G .444(uments when it is in).18 F -.2(vo)-.4 G -.1 -(ke).2 G .444(d, and may be reassigned using).1 F(the)108 643.2 Q F1 -(set)3.333 E F0 -.2(bu)3.333 G .833(iltin command.).2 F .834(Positional\ - parameters may not be assigned to with assignment statements.)5.833 F -(The)5.834 E .334(positional parameters are temporarily replaced when a\ - shell function is e)108 655.2 R -.15(xe)-.15 G .333(cuted \(see).15 F -F4(FUNCTIONS)2.833 E F0(belo)2.583 E(w\).)-.25 E 1.403(When a positiona\ -l parameter consisting of more than a single digit is e)108 672 R 1.404 -(xpanded, it must be enclosed in)-.15 F(braces \(see)108 684 Q F4(EXP) -2.5 E(ANSION)-.666 E F0(belo)2.25 E(w\).)-.25 E F1(Special P)87 700.8 Q -(arameters)-.1 E F0 1.675(The shell treats se)108 712.8 R -.15(ve)-.25 G -1.675(ral parameters specially).15 F 6.675(.T)-.65 G 1.674 -(hese parameters may only be referenced; assignment to)-6.675 F -(them is not allo)108 724.8 Q(wed.)-.25 E(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(8)200.945 E 0 Cg EP +(alue.)-2.75 E(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(8)202.335 E 0 +Cg EP %%Page: 9 9 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(*)108 84 Q F0 .605 -(Expands to the positional parameters, starting from one.)31 F .606 +-.35 E/F1 10/Times-Bold@0 SF -.2(Po)87 84 S(sitional P).2 E(arameters) +-.1 E F0(A)108 96 Q/F2 10/Times-Italic@0 SF .705(positional par)4.455 F +(ameter)-.15 E F0 .706(is a parameter denoted by one or more digits, ot\ +her than the single digit 0.)3.935 F(Posi-)5.706 E .445 +(tional parameters are assigned from the shell')108 108 R 2.944(sa)-.55 +G -.18(rg)-2.944 G .444(uments when it is in).18 F -.2(vo)-.4 G -.1(ke) +.2 G .444(d, and may be reassigned using).1 F(the)108 120 Q F1(set)3.333 +E F0 -.2(bu)3.333 G .833(iltin command.).2 F .834(Positional parameters\ + may not be assigned to with assignment statements.)5.833 F(The)5.834 E +.334(positional parameters are temporarily replaced when a shell functi\ +on is e)108 132 R -.15(xe)-.15 G .333(cuted \(see).15 F/F3 9 +/Times-Bold@0 SF(FUNCTIONS)2.833 E F0(belo)2.583 E(w\).)-.25 E 1.403(Wh\ +en a positional parameter consisting of more than a single digit is e) +108 148.8 R 1.404(xpanded, it must be enclosed in)-.15 F(braces \(see) +108 160.8 Q F3(EXP)2.5 E(ANSION)-.666 E F0(belo)2.25 E(w\).)-.25 E F1 +(Special P)87 177.6 Q(arameters)-.1 E F0 1.675(The shell treats se)108 +189.6 R -.15(ve)-.25 G 1.675(ral parameters specially).15 F 6.675(.T) +-.65 G 1.674(hese parameters may only be referenced; assignment to) +-6.675 F(them is not allo)108 201.6 Q(wed.)-.25 E F1(*)108 213.6 Q F0 +.605(Expands to the positional parameters, starting from one.)31 F .606 (When the e)5.605 F .606(xpansion occurs within dou-)-.15 F .084 -(ble quotes, it e)144 96 R .084(xpands to a single w)-.15 F .084 +(ble quotes, it e)144 225.6 R .084(xpands to a single w)-.15 F .084 (ord with the v)-.1 F .084 (alue of each parameter separated by the \214rst char)-.25 F(-)-.2 E -.003(acter of the)144 108 R/F2 9/Times-Bold@0 SF(IFS)2.503 E F0 .003 -(special v)2.253 F 2.503(ariable. That)-.25 F .003(is, ")2.503 F F1($*)A -F0 2.503("i)C 2.503(se)-2.503 G(qui)-2.503 E -.25(va)-.25 G .003 -(lent to ").25 F F1($1)A/F3 10/Times-Italic@0 SF(c)A F1($2)A F3(c)A F1 -(...)A F0 .003(", where)B F3(c)2.703 E F0 .004(is the \214rst char)2.813 -F(-)-.2 E .769(acter of the v)144 120 R .769(alue of the)-.25 F F2(IFS) -3.269 E F0 -.25(va)3.019 G 3.269(riable. If).25 F F2(IFS)3.268 E F0 .768 -(is unset, the parameters are separated by spaces.)3.018 F(If)5.768 E F2 -(IFS)144 132 Q F0(is null, the parameters are joined without interv)2.25 -E(ening separators.)-.15 E F1(@)108 144 Q F0 .605 +.003(acter of the)144 237.6 R F3(IFS)2.503 E F0 .003(special v)2.253 F +2.503(ariable. That)-.25 F .003(is, ")2.503 F F1($*)A F0 2.503("i)C +2.503(se)-2.503 G(qui)-2.503 E -.25(va)-.25 G .003(lent to ").25 F F1 +($1)A F2(c)A F1($2)A F2(c)A F1(...)A F0 .003(", where)B F2(c)2.703 E F0 +.004(is the \214rst char)2.813 F(-)-.2 E .769(acter of the v)144 249.6 R +.769(alue of the)-.25 F F3(IFS)3.269 E F0 -.25(va)3.019 G 3.269 +(riable. If).25 F F3(IFS)3.268 E F0 .768 +(is unset, the parameters are separated by spaces.)3.018 F(If)5.768 E F3 +(IFS)144 261.6 Q F0(is null, the parameters are joined without interv) +2.25 E(ening separators.)-.15 E F1(@)108 273.6 Q F0 .605 (Expands to the positional parameters, starting from one.)26.7 F .606 (When the e)5.605 F .606(xpansion occurs within dou-)-.15 F .114 -(ble quotes, each parameter e)144 156 R .114(xpands to a separate w)-.15 -F 2.614(ord. That)-.1 F .113(is, ")2.613 F F1($@)A F0 2.613("i)C 2.613 -(se)-2.613 G(qui)-2.613 E -.25(va)-.25 G .113(lent to ").25 F F1($1)A F0 -2.613("")C F1($2)-2.613 E F0 2.613(".)C(..)-2.613 E .134 -(If the double-quoted e)144 168 R .134(xpansion occurs within a w)-.15 F -.135(ord, the e)-.1 F .135(xpansion of the \214rst parameter is joined) --.15 F .151(with the be)144 180 R .151(ginning part of the original w) --.15 F .151(ord, and the e)-.1 F .15 -(xpansion of the last parameter is joined with)-.15 F .337 -(the last part of the original w)144 192 R 2.837(ord. When)-.1 F .338 +(ble quotes, each parameter e)144 285.6 R .114(xpands to a separate w) +-.15 F 2.614(ord. That)-.1 F .113(is, ")2.613 F F1($@)A F0 2.613("i)C +2.613(se)-2.613 G(qui)-2.613 E -.25(va)-.25 G .113(lent to ").25 F F1 +($1)A F0 2.613("")C F1($2)-2.613 E F0 2.613(".)C(..)-2.613 E .134 +(If the double-quoted e)144 297.6 R .134(xpansion occurs within a w)-.15 +F .135(ord, the e)-.1 F .135 +(xpansion of the \214rst parameter is joined)-.15 F .151(with the be)144 +309.6 R .151(ginning part of the original w)-.15 F .151(ord, and the e) +-.1 F .15(xpansion of the last parameter is joined with)-.15 F .337 +(the last part of the original w)144 321.6 R 2.837(ord. When)-.1 F .338 (there are no positional parameters, ")2.837 F F1($@)A F0 2.838("a)C(nd) -2.838 E F1($@)2.838 E F0 -.15(ex)2.838 G(pand).15 E -(to nothing \(i.e., the)144 204 Q 2.5(ya)-.15 G(re remo)-2.5 E -.15(ve) --.15 G(d\).).15 E F1(#)108 216 Q F0 +(to nothing \(i.e., the)144 333.6 Q 2.5(ya)-.15 G(re remo)-2.5 E -.15 +(ve)-.15 G(d\).).15 E F1(#)108 345.6 Q F0 (Expands to the number of positional parameters in decimal.)31 E F1(?) -108 228 Q F0(Expands to the e)31 E(xit status of the most recently e) +108 357.6 Q F0(Expands to the e)31 E(xit status of the most recently e) -.15 E -.15(xe)-.15 G(cuted fore).15 E(ground pipeline.)-.15 E F1108 -240 Q F0 .882 +369.6 Q F0 .882 (Expands to the current option \215ags as speci\214ed upon in)30.3 F -.2 (vo)-.4 G .881(cation, by the).2 F F1(set)3.381 E F0 -.2(bu)3.381 G .881 (iltin command, or).2 F(those set by the shell itself \(such as the)144 -252 Q F12.5 E F0(option\).)2.5 E F1($)108 264 Q F0 .214 +381.6 Q F12.5 E F0(option\).)2.5 E F1($)108 393.6 Q F0 .214 (Expands to the process ID of the shell.)31 F .214 (In a \(\) subshell, it e)5.214 F .214 (xpands to the process ID of the current)-.15 F -(shell, not the subshell.)144 276 Q F1(!)108 288 Q F0 +(shell, not the subshell.)144 405.6 Q F1(!)108 417.6 Q F0 (Expands to the process ID of the most recently e)32.67 E -.15(xe)-.15 G -(cuted background \(asynchronous\) command.).15 E F1(0)108 300 Q F0 +(cuted background \(asynchronous\) command.).15 E F1(0)108 429.6 Q F0 1.692(Expands to the name of the shell or shell script.)31 F 1.691 (This is set at shell initialization.)6.692 F(If)6.691 E F1(bash)4.191 E -F0(is)4.191 E(in)144 312 Q -.2(vo)-.4 G -.1(ke).2 G 3.077(dw).1 G .577 +F0(is)4.191 E(in)144 441.6 Q -.2(vo)-.4 G -.1(ke).2 G 3.077(dw).1 G .577 (ith a \214le of commands,)-3.077 F F1($0)3.077 E F0 .578 (is set to the name of that \214le.)3.077 F(If)5.578 E F1(bash)3.078 E F0 .578(is started with the)3.078 F F13.078 E F0 .369 -(option, then)144 324 R F1($0)2.869 E F0 .369(is set to the \214rst ar) -2.869 F .369(gument after the string to be e)-.18 F -.15(xe)-.15 G .369 -(cuted, if one is present.).15 F(Other)5.368 E(-)-.2 E -(wise, it is set to the \214le name used to in)144 336 Q -.2(vo)-.4 G --.1(ke).2 G F1(bash)2.6 E F0 2.5(,a)C 2.5(sg)-2.5 G -2.15 -.25(iv e)-2.5 -H 2.5(nb).25 G 2.5(ya)-2.5 G -.18(rg)-2.5 G(ument zero.).18 E F1(_)108 -348 Q F0 .054(At shell startup, set to the absolute pathname used to in) -31 F -.2(vo)-.4 G .255 -.1(ke t).2 H .055 -(he shell or shell script being e).1 F -.15(xe)-.15 G(cuted).15 E .692 -(as passed in the en)144 360 R .692(vironment or ar)-.4 F .691 -(gument list.)-.18 F(Subsequently)5.691 E 3.191(,e)-.65 G .691 -(xpands to the last ar)-3.341 F .691(gument to the)-.18 F(pre)144 372 Q -.57(vious command, after e)-.25 F 3.07(xpansion. Also)-.15 F .571 -(set to the full pathname used to in)3.071 F -.2(vo)-.4 G .771 -.1(ke e) -.2 H .571(ach command).1 F -.15(exe)144 384 S 1.6 -(cuted and placed in the en).15 F 1.6(vironment e)-.4 F 1.6 +(option, then)144 453.6 R F1($0)2.869 E F0 .369 +(is set to the \214rst ar)2.869 F .369(gument after the string to be e) +-.18 F -.15(xe)-.15 G .369(cuted, if one is present.).15 F(Other)5.368 E +(-)-.2 E(wise, it is set to the \214le name used to in)144 465.6 Q -.2 +(vo)-.4 G -.1(ke).2 G F1(bash)2.6 E F0 2.5(,a)C 2.5(sg)-2.5 G -2.15 -.25 +(iv e)-2.5 H 2.5(nb).25 G 2.5(ya)-2.5 G -.18(rg)-2.5 G(ument zero.).18 E +F1(_)108 477.6 Q F0 .054 +(At shell startup, set to the absolute pathname used to in)31 F -.2(vo) +-.4 G .255 -.1(ke t).2 H .055(he shell or shell script being e).1 F -.15 +(xe)-.15 G(cuted).15 E .692(as passed in the en)144 489.6 R .692 +(vironment or ar)-.4 F .691(gument list.)-.18 F(Subsequently)5.691 E +3.191(,e)-.65 G .691(xpands to the last ar)-3.341 F .691(gument to the) +-.18 F(pre)144 501.6 Q .57(vious command, after e)-.25 F 3.07 +(xpansion. Also)-.15 F .571(set to the full pathname used to in)3.071 F +-.2(vo)-.4 G .771 -.1(ke e).2 H .571(ach command).1 F -.15(exe)144 513.6 +S 1.6(cuted and placed in the en).15 F 1.6(vironment e)-.4 F 1.6 (xported to that command.)-.15 F 1.6(When checking mail, this)6.6 F (parameter holds the name of the mail \214le currently being check)144 -396 Q(ed.)-.1 E F1(Shell V)87 412.8 Q(ariables)-.92 E F0(The follo)108 -424.8 Q(wing v)-.25 E(ariables are set by the shell:)-.25 E F1 -.3(BA) -108 441.6 S(SH).3 E F0(Expands to the full \214le name used to in)9.07 E +525.6 Q(ed.)-.1 E F1(Shell V)87 542.4 Q(ariables)-.92 E F0(The follo)108 +554.4 Q(wing v)-.25 E(ariables are set by the shell:)-.25 E F1 -.3(BA) +108 571.2 S(SH).3 E F0(Expands to the full \214le name used to in)9.07 E -.2(vo)-.4 G .2 -.1(ke t).2 H(his instance of).1 E F1(bash)2.5 E F0(.)A -F1 -.3(BA)108 453.6 S(SHOPTS).3 E F0 2.548(Ac)144 465.6 S .049 +F1 -.3(BA)108 583.2 S(SHOPTS).3 E F0 2.548(Ac)144 595.2 S .049 (olon-separated list of enabled shell options.)-2.548 F .049(Each w) 5.049 F .049(ord in the list is a v)-.1 F .049(alid ar)-.25 F .049 -(gument for the)-.18 F F12.549 E F0 1.398(option to the)144 477.6 -R F1(shopt)3.898 E F0 -.2(bu)3.898 G 1.398(iltin command \(see).2 F F2 +(gument for the)-.18 F F12.549 E F0 1.398(option to the)144 607.2 +R F1(shopt)3.898 E F0 -.2(bu)3.898 G 1.398(iltin command \(see).2 F F3 1.398(SHELL B)3.898 F(UIL)-.09 E 1.398(TIN COMMANDS)-.828 F F0(belo) 3.648 E 3.898(w\). The)-.25 F(options)3.898 E .476(appearing in)144 -489.6 R F2 -.27(BA)2.976 G(SHOPTS).27 E F0 .476(are those reported as) -2.726 F F3(on)3.206 E F0(by)3.217 E F1(shopt)2.977 E F0 5.477(.I)C 2.977 +619.2 R F3 -.27(BA)2.976 G(SHOPTS).27 E F0 .476(are those reported as) +2.726 F F2(on)3.206 E F0(by)3.217 E F1(shopt)2.977 E F0 5.477(.I)C 2.977 (ft)-5.477 G .477(his v)-2.977 F .477(ariable is in the en)-.25 F -(vironment)-.4 E(when)144 501.6 Q F1(bash)3.142 E F0 .642(starts up, ea\ +(vironment)-.4 E(when)144 631.2 Q F1(bash)3.142 E F0 .642(starts up, ea\ ch shell option in the list will be enabled before reading an)3.142 F -3.141(ys)-.15 G .641(tartup \214les.)-3.141 F(This v)144 513.6 Q -(ariable is read-only)-.25 E(.)-.65 E F1 -.3(BA)108 525.6 S(SHPID).3 E -F0 .36(Expands to the process id of the current)144 537.6 R F1(bash) +3.141(ys)-.15 G .641(tartup \214les.)-3.141 F(This v)144 643.2 Q +(ariable is read-only)-.25 E(.)-.65 E F1 -.3(BA)108 655.2 S(SHPID).3 E +F0 .36(Expands to the process id of the current)144 667.2 R F1(bash) 2.861 E F0 2.861(process. This)2.861 F(dif)2.861 E .361(fers from)-.25 F F1($$)2.861 E F0 .361(under certain circum-)2.861 F -(stances, such as subshells that do not require)144 549.6 Q F1(bash)2.5 -E F0(to be re-initialized.)2.5 E F1 -.3(BA)108 561.6 S(SH_ALIASES).3 E -F0 1.195(An associati)144 573.6 R 1.495 -.15(ve a)-.25 H 1.195(rray v) +(stances, such as subshells that do not require)144 679.2 Q F1(bash)2.5 +E F0(to be re-initialized.)2.5 E F1 -.3(BA)108 691.2 S(SH_ALIASES).3 E +F0 1.195(An associati)144 703.2 R 1.495 -.15(ve a)-.25 H 1.195(rray v) .15 F 1.195(ariable whose members correspond to the internal list of al\ -iases as main-)-.25 F .024(tained by the)144 585.6 R F1(alias)2.524 E F0 +iases as main-)-.25 F .024(tained by the)144 715.2 R F1(alias)2.524 E F0 -.2(bu)2.524 G 2.524(iltin. Elements).2 F .024 (added to this array appear in the alias list; unsetting array ele-) -2.524 F(ments cause aliases to be remo)144 597.6 Q -.15(ve)-.15 G 2.5 -(df).15 G(rom the alias list.)-2.5 E F1 -.3(BA)108 609.6 S(SH_ARGC).3 E -F0 .935(An array v)144 621.6 R .935(ariable whose v)-.25 F .934 -(alues are the number of parameters in each frame of the current)-.25 F -F1(bash)3.434 E F0 -.15(exe)144 633.6 S .535(cution call stack.).15 F -.535(The number of parameters to the current subroutine \(shell functio\ -n or script)5.535 F -.15(exe)144 645.6 S .142(cuted with).15 F F1(.) -2.642 E F0(or)2.642 E F1(sour)2.642 E(ce)-.18 E F0 2.642(\)i)C 2.642(sa) --2.642 G 2.642(tt)-2.642 G .142(he top of the stack.)-2.642 F .141 -(When a subroutine is e)5.141 F -.15(xe)-.15 G .141 -(cuted, the number of).15 F 2.63(parameters passed is pushed onto)144 -657.6 R F2 -.27(BA)5.13 G(SH_ARGC).27 E/F4 9/Times-Roman@0 SF(.)A F0 -2.63(The shell sets)7.13 F F2 -.27(BA)5.131 G(SH_ARGC).27 E F0 2.631 -(only when in)4.881 F -.15(ex)144 669.6 S(tended deb).15 E -(ugging mode \(see the description of the)-.2 E F1(extdeb)2.5 E(ug)-.2 E -F0(option to the)2.5 E F1(shopt)2.5 E F0 -.2(bu)2.5 G(iltin belo).2 E -(w\))-.25 E F1 -.3(BA)108 681.6 S(SH_ARGV).3 E F0 .98(An array v)144 -693.6 R .979(ariable containing all of the parameters in the current) --.25 F F1(bash)3.479 E F0 -.15(exe)3.479 G .979(cution call stack.).15 F -(The)5.979 E .275(\214nal parameter of the last subroutine call is at t\ -he top of the stack; the \214rst parameter of the initial)144 705.6 R -1.424(call is at the bottom.)144 717.6 R 1.424(When a subroutine is e) -6.424 F -.15(xe)-.15 G 1.424 -(cuted, the parameters supplied are pushed onto).15 F F2 -.27(BA)144 -729.6 S(SH_ARGV).27 E F4(.)A F0 2.197(The shell sets)6.697 F F2 -.27(BA) -4.697 G(SH_ARGV).27 E F0 2.197(only when in e)4.447 F 2.197(xtended deb) --.15 F 2.197(ugging mode \(see the)-.2 F(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(9)200.945 E 0 Cg EP +2.524 F(ments cause aliases to be remo)144 727.2 Q -.15(ve)-.15 G 2.5 +(df).15 G(rom the alias list.)-2.5 E(GNU Bash-4.1)72 768 Q(2010 May 30) +147.345 E(9)202.335 E 0 Cg EP %%Page: 10 10 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(description of the)144 84 Q/F1 10/Times-Bold@0 SF(extdeb)2.5 E -(ug)-.2 E F0(option to the)2.5 E F1(shopt)2.5 E F0 -.2(bu)2.5 G -(iltin belo).2 E(w\))-.25 E F1 -.3(BA)108 96 S(SH_CMDS).3 E F0 .668 -(An associati)144 108 R .968 -.15(ve a)-.25 H .668(rray v).15 F .668(ar\ -iable whose members correspond to the internal hash table of commands) --.25 F .146(as maintained by the)144 120 R F1(hash)2.646 E F0 -.2(bu) -2.646 G 2.646(iltin. Elements).2 F .146 -(added to this array appear in the hash table; unsetting)2.646 F -(array elements cause commands to be remo)144 132 Q -.15(ve)-.15 G 2.5 -(df).15 G(rom the hash table.)-2.5 E F1 -.3(BA)108 144 S(SH_COMMAND).3 E -F0 1.243(The command currently being e)144 156 R -.15(xe)-.15 G 1.243 +-.35 E/F1 10/Times-Bold@0 SF -.3(BA)108 84 S(SH_ARGC).3 E F0 .935 +(An array v)144 96 R .935(ariable whose v)-.25 F .934 +(alues are the number of parameters in each frame of the current)-.25 F +F1(bash)3.434 E F0 -.15(exe)144 108 S .535(cution call stack.).15 F .535 +(The number of parameters to the current subroutine \(shell function or\ + script)5.535 F -.15(exe)144 120 S .142(cuted with).15 F F1(.)2.642 E F0 +(or)2.642 E F1(sour)2.642 E(ce)-.18 E F0 2.642(\)i)C 2.642(sa)-2.642 G +2.642(tt)-2.642 G .142(he top of the stack.)-2.642 F .141 +(When a subroutine is e)5.141 F -.15(xe)-.15 G .141 +(cuted, the number of).15 F 2.63(parameters passed is pushed onto)144 +132 R/F2 9/Times-Bold@0 SF -.27(BA)5.13 G(SH_ARGC).27 E/F3 9 +/Times-Roman@0 SF(.)A F0 2.63(The shell sets)7.13 F F2 -.27(BA)5.131 G +(SH_ARGC).27 E F0 2.631(only when in)4.881 F -.15(ex)144 144 S +(tended deb).15 E(ugging mode \(see the description of the)-.2 E F1 +(extdeb)2.5 E(ug)-.2 E F0(option to the)2.5 E F1(shopt)2.5 E F0 -.2(bu) +2.5 G(iltin belo).2 E(w\))-.25 E F1 -.3(BA)108 156 S(SH_ARGV).3 E F0 .98 +(An array v)144 168 R .979 +(ariable containing all of the parameters in the current)-.25 F F1(bash) +3.479 E F0 -.15(exe)3.479 G .979(cution call stack.).15 F(The)5.979 E +.275(\214nal parameter of the last subroutine call is at the top of the\ + stack; the \214rst parameter of the initial)144 180 R 1.424 +(call is at the bottom.)144 192 R 1.424(When a subroutine is e)6.424 F +-.15(xe)-.15 G 1.424(cuted, the parameters supplied are pushed onto).15 +F F2 -.27(BA)144 204 S(SH_ARGV).27 E F3(.)A F0 2.197(The shell sets) +6.697 F F2 -.27(BA)4.697 G(SH_ARGV).27 E F0 2.197(only when in e)4.447 F +2.197(xtended deb)-.15 F 2.197(ugging mode \(see the)-.2 F +(description of the)144 216 Q F1(extdeb)2.5 E(ug)-.2 E F0(option to the) +2.5 E F1(shopt)2.5 E F0 -.2(bu)2.5 G(iltin belo).2 E(w\))-.25 E F1 -.3 +(BA)108 228 S(SH_CMDS).3 E F0 .668(An associati)144 240 R .968 -.15 +(ve a)-.25 H .668(rray v).15 F .668(ariable whose members correspond to\ + the internal hash table of commands)-.25 F .146(as maintained by the) +144 252 R F1(hash)2.646 E F0 -.2(bu)2.646 G 2.646(iltin. Elements).2 F +.146(added to this array appear in the hash table; unsetting)2.646 F +(array elements cause commands to be remo)144 264 Q -.15(ve)-.15 G 2.5 +(df).15 G(rom the hash table.)-2.5 E F1 -.3(BA)108 276 S(SH_COMMAND).3 E +F0 1.243(The command currently being e)144 288 R -.15(xe)-.15 G 1.243 (cuted or about to be e).15 F -.15(xe)-.15 G 1.242 (cuted, unless the shell is e).15 F -.15(xe)-.15 G 1.242(cuting a).15 F (command as the result of a trap, in which case it is the command e)144 -168 Q -.15(xe)-.15 G(cuting at the time of the trap.).15 E F1 -.3(BA)108 -180 S(SH_EXECUTION_STRING).3 E F0(The command ar)144 192 Q +300 Q -.15(xe)-.15 G(cuting at the time of the trap.).15 E F1 -.3(BA)108 +312 S(SH_EXECUTION_STRING).3 E F0(The command ar)144 324 Q (gument to the)-.18 E F12.5 E F0(in)2.5 E -.2(vo)-.4 G -(cation option.).2 E F1 -.3(BA)108 204 S(SH_LINENO).3 E F0 .034 -(An array v)144 216 R .034(ariable whose members are the line numbers i\ -n source \214les corresponding to each mem-)-.25 F 3.491(ber of)144 228 -R/F2 9/Times-Bold@0 SF(FUNCN)5.991 E(AME)-.18 E/F3 9/Times-Roman@0 SF(.) -A F1(${B)7.991 E(ASH_LINENO[)-.3 E/F4 10/Times-Italic@0 SF($i)A F1(]})A -F0 3.491(is the line number in the source \214le where)5.991 F F1 -(${FUNCN)144 240 Q(AME[)-.2 E F4($i)A F1(]})A F0 -.1(wa)3.311 G 3.311 -(sc).1 G .811(alled \(or)-3.311 F F1(${B)3.311 E(ASH_LINENO[)-.3 E F4 -($i-1)A F1(]})A F0 .811(if referenced within another shell)3.311 F 4.987 -(function\). The)144 252 R 2.487(corresponding source \214le name is) +(cation option.).2 E F1 -.3(BA)108 336 S(SH_LINENO).3 E F0 .034 +(An array v)144 348 R .034(ariable whose members are the line numbers i\ +n source \214les corresponding to each mem-)-.25 F 3.491(ber of)144 360 +R F2(FUNCN)5.991 E(AME)-.18 E F3(.)A F1(${B)7.991 E(ASH_LINENO[)-.3 E/F4 +10/Times-Italic@0 SF($i)A F1(]})A F0 3.491 +(is the line number in the source \214le where)5.991 F F1(${FUNCN)144 +372 Q(AME[)-.2 E F4($i)A F1(]})A F0 -.1(wa)3.311 G 3.311(sc).1 G .811 +(alled \(or)-3.311 F F1(${B)3.311 E(ASH_LINENO[)-.3 E F4($i-1)A F1(]})A +F0 .811(if referenced within another shell)3.311 F 4.987 +(function\). The)144 384 R 2.487(corresponding source \214le name is) 4.987 F F1(${B)4.986 E(ASH_SOURCE[)-.3 E F4($i)A F1(]})A F0 7.486(.U)C (se)-7.486 E F2(LINENO)4.986 E F0(to)4.736 E -(obtain the current line number)144 264 Q(.)-.55 E F1 -.3(BA)108 276 S -(SH_REMA).3 E(TCH)-.95 E F0 .005(An array v)144 288 R .005 +(obtain the current line number)144 396 Q(.)-.55 E F1 -.3(BA)108 408 S +(SH_REMA).3 E(TCH)-.95 E F0 .005(An array v)144 420 R .005 (ariable whose members are assigned by the)-.25 F F1(=~)2.506 E F0 .006 (binary operator to the)2.506 F F1([[)2.506 E F0 .006(conditional com-) -2.506 F 2.507(mand. The)144 300 R .007(element with inde)2.507 F 2.507 +2.506 F 2.507(mand. The)144 432 R .007(element with inde)2.507 F 2.507 (x0i)-.15 G 2.507(st)-2.507 G .007 (he portion of the string matching the entire re)-2.507 F .006(gular e) --.15 F(xpression.)-.15 E .997(The element with inde)144 312 R(x)-.15 E +-.15 F(xpression.)-.15 E .997(The element with inde)144 444 R(x)-.15 E F4(n)3.497 E F0 .997(is the portion of the string matching the)3.497 F F4(n)3.498 E F0 .998(th parenthesized sube)B(xpres-)-.15 E 2.5 -(sion. This)144 324 R -.25(va)2.5 G(riable is read-only).25 E(.)-.65 E -F1 -.3(BA)108 336 S(SH_SOURCE).3 E F0 .89(An array v)144 348 R .889(ari\ +(sion. This)144 456 R -.25(va)2.5 G(riable is read-only).25 E(.)-.65 E +F1 -.3(BA)108 468 S(SH_SOURCE).3 E F0 .89(An array v)144 480 R .889(ari\ able whose members are the source \214lenames corresponding to the elem\ -ents in the)-.25 F F2(FUNCN)144 360 Q(AME)-.18 E F0(array v)2.25 E -(ariable.)-.25 E F1 -.3(BA)108 372 S(SH_SUBSHELL).3 E F0 .401 -(Incremented by one each time a subshell or subshell en)144 384 R .401 +ents in the)-.25 F F2(FUNCN)144 492 Q(AME)-.18 E F0(array v)2.25 E +(ariable.)-.25 E F1 -.3(BA)108 504 S(SH_SUBSHELL).3 E F0 .401 +(Incremented by one each time a subshell or subshell en)144 516 R .401 (vironment is spa)-.4 F 2.902(wned. The)-.15 F .402(initial v)2.902 F -.402(alue is)-.25 F(0.)144 396 Q F1 -.3(BA)108 408 S(SH_VERSINFO).3 E F0 -2.645(Ar)144 420 S .145(eadonly array v)-2.645 F .144 +.402(alue is)-.25 F(0.)144 528 Q F1 -.3(BA)108 540 S(SH_VERSINFO).3 E F0 +2.645(Ar)144 552 S .145(eadonly array v)-2.645 F .144 (ariable whose members hold v)-.25 F .144 (ersion information for this instance of)-.15 F F1(bash)2.644 E F0 5.144 -(.T)C(he)-5.144 E -.25(va)144 432 S +(.T)C(he)-5.144 E -.25(va)144 564 S (lues assigned to the array members are as follo).25 E(ws:)-.25 E F1 -.3 -(BA)144 450 S(SH_VERSINFO[).3 E F0(0)A F1(])A F0(The major v)24.74 E +(BA)144 582 S(SH_VERSINFO[).3 E F0(0)A F1(])A F0(The major v)24.74 E (ersion number \(the)-.15 E F4 -.37(re)2.5 G(lease).37 E F0(\).)A F1 -.3 -(BA)144 462 S(SH_VERSINFO[).3 E F0(1)A F1(])A F0(The minor v)24.74 E +(BA)144 594 S(SH_VERSINFO[).3 E F0(1)A F1(])A F0(The minor v)24.74 E (ersion number \(the)-.15 E F4(ver)2.5 E(sion)-.1 E F0(\).)A F1 -.3(BA) -144 474 S(SH_VERSINFO[).3 E F0(2)A F1(])A F0(The patch le)24.74 E -.15 -(ve)-.25 G(l.).15 E F1 -.3(BA)144 486 S(SH_VERSINFO[).3 E F0(3)A F1(])A -F0(The b)24.74 E(uild v)-.2 E(ersion.)-.15 E F1 -.3(BA)144 498 S +144 606 S(SH_VERSINFO[).3 E F0(2)A F1(])A F0(The patch le)24.74 E -.15 +(ve)-.25 G(l.).15 E F1 -.3(BA)144 618 S(SH_VERSINFO[).3 E F0(3)A F1(])A +F0(The b)24.74 E(uild v)-.2 E(ersion.)-.15 E F1 -.3(BA)144 630 S (SH_VERSINFO[).3 E F0(4)A F1(])A F0(The release status \(e.g.,)24.74 E -F4(beta1)2.5 E F0(\).)A F1 -.3(BA)144 510 S(SH_VERSINFO[).3 E F0(5)A F1 +F4(beta1)2.5 E F0(\).)A F1 -.3(BA)144 642 S(SH_VERSINFO[).3 E F0(5)A F1 (])A F0(The v)24.74 E(alue of)-.25 E F2(MA)2.5 E(CHTYPE)-.495 E F3(.)A -F1 -.3(BA)108 526.8 S(SH_VERSION).3 E F0 -(Expands to a string describing the v)144 538.8 Q +F1 -.3(BA)108 658.8 S(SH_VERSION).3 E F0 +(Expands to a string describing the v)144 670.8 Q (ersion of this instance of)-.15 E F1(bash)2.5 E F0(.)A F1(COMP_CW)108 -555.6 Q(ORD)-.1 E F0 .396(An inde)144 567.6 R 2.896(xi)-.15 G(nto)-2.896 +687.6 Q(ORD)-.1 E F0 .396(An inde)144 699.6 R 2.896(xi)-.15 G(nto)-2.896 E F1(${COMP_W)2.896 E(ORDS})-.1 E F0 .396(of the w)2.896 F .396 (ord containing the current cursor position.)-.1 F .397(This v)5.397 F -(ari-)-.25 E 1.181(able is a)144 579.6 R -.25(va)-.2 G 1.181 +(ari-)-.25 E 1.181(able is a)144 711.6 R -.25(va)-.2 G 1.181 (ilable only in shell functions in).25 F -.2(vo)-.4 G -.1(ke).2 G 3.681 (db).1 G 3.681(yt)-3.681 G 1.18(he programmable completion f)-3.681 F -1.18(acilities \(see)-.1 F F1(Pr)144 591.6 Q(ogrammable Completion)-.18 -E F0(belo)2.5 E(w\).)-.25 E F1(COMP_KEY)108 608.4 Q F0(The k)144 620.4 Q -.3 -.15(ey \()-.1 H(or \214nal k).15 E .3 -.15(ey o)-.1 H 2.5(fak).15 G -.3 -.15(ey s)-2.6 H(equence\) used to in).15 E -.2(vo)-.4 G .2 -.1(ke t) -.2 H(he current completion function.).1 E F1(COMP_LINE)108 637.2 Q F0 -1.207(The current command line.)144 649.2 R 1.208(This v)6.208 F 1.208 +1.18(acilities \(see)-.1 F F1(Pr)144 723.6 Q(ogrammable Completion)-.18 +E F0(belo)2.5 E(w\).)-.25 E(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E +(10)197.335 E 0 Cg EP +%%Page: 11 11 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF(COMP_KEY)108 84 Q F0(The k)144 96 Q .3 -.15 +(ey \()-.1 H(or \214nal k).15 E .3 -.15(ey o)-.1 H 2.5(fak).15 G .3 -.15 +(ey s)-2.6 H(equence\) used to in).15 E -.2(vo)-.4 G .2 -.1(ke t).2 H +(he current completion function.).1 E F1(COMP_LINE)108 112.8 Q F0 1.207 +(The current command line.)144 124.8 R 1.208(This v)6.208 F 1.208 (ariable is a)-.25 F -.25(va)-.2 G 1.208 (ilable only in shell functions and e).25 F 1.208(xternal com-)-.15 F -2.849(mands in)144 661.2 R -.2(vo)-.4 G -.1(ke).2 G 5.349(db).1 G 5.349 +2.849(mands in)144 136.8 R -.2(vo)-.4 G -.1(ke).2 G 5.349(db).1 G 5.349 (yt)-5.349 G 2.849(he programmable completion f)-5.349 F 2.849 (acilities \(see)-.1 F F1(Pr)5.349 E 2.848(ogrammable Completion)-.18 F -F0(belo)144 673.2 Q(w\).)-.25 E F1(COMP_POINT)108 690 Q F0 .666 -(The inde)144 702 R 3.166(xo)-.15 G 3.166(ft)-3.166 G .666 +F0(belo)144 148.8 Q(w\).)-.25 E F1(COMP_POINT)108 165.6 Q F0 .666 +(The inde)144 177.6 R 3.166(xo)-.15 G 3.166(ft)-3.166 G .666 (he current cursor position relati)-3.166 F .966 -.15(ve t)-.25 H 3.166 (ot).15 G .666(he be)-3.166 F .666(ginning of the current command.)-.15 F .667(If the)5.667 F .535 (current cursor position is at the end of the current command, the v)144 -714 R .534(alue of this v)-.25 F .534(ariable is equal to)-.25 F F1 -(${#COMP_LINE})144 726 Q F0 7.005(.T)C 2.005(his v)-7.005 F 2.005 +189.6 R .534(alue of this v)-.25 F .534(ariable is equal to)-.25 F F1 +(${#COMP_LINE})144 201.6 Q F0 7.005(.T)C 2.005(his v)-7.005 F 2.005 (ariable is a)-.25 F -.25(va)-.2 G 2.006 (ilable only in shell functions and e).25 F 2.006(xternal commands)-.15 -F(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(10)195.945 E 0 Cg EP -%%Page: 11 11 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(in)144 84 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G -(he programmable completion f)-2.5 E(acilities \(see)-.1 E/F1 10 -/Times-Bold@0 SF(Pr)2.5 E(ogrammable Completion)-.18 E F0(belo)2.5 E -(w\).)-.25 E F1(COMP_TYPE)108 100.8 Q F0 .042(Set to an inte)144 112.8 R -.042(ger v)-.15 F .041(alue corresponding to the type of completion att\ -empted that caused a completion)-.25 F .337(function to be called:)144 -124.8 R/F2 10/Times-Italic@0 SF -.5(TA)2.837 G(B).5 E F0 2.837(,f)C .337 -(or normal completion,)-2.837 F F2(?)2.837 E F0 2.837(,f)C .337 -(or listing completions after successi)-2.837 F .638 -.15(ve t)-.25 H -(abs,).15 E F2(!)144 136.8 Q F0 4.092(,f)C 1.592(or listing alternati) --4.092 F -.15(ve)-.25 G 4.092(so).15 G 4.092(np)-4.092 G 1.592(artial w) --4.092 F 1.592(ord completion,)-.1 F F2(@)4.092 E F0 4.092(,t)C 4.092 -(ol)-4.092 G 1.592(ist completions if the w)-4.092 F 1.591(ord is not) --.1 F 1.552(unmodi\214ed, or)144 148.8 R F2(%)4.052 E F0 4.052(,f)C -1.552(or menu completion.)-4.052 F 1.552(This v)6.552 F 1.552 -(ariable is a)-.25 F -.25(va)-.2 G 1.552 -(ilable only in shell functions and).25 F -.15(ex)144 160.8 S 2.929 +F(in)144 213.6 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G +(he programmable completion f)-2.5 E(acilities \(see)-.1 E F1(Pr)2.5 E +(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E F1(COMP_TYPE)108 +230.4 Q F0 .042(Set to an inte)144 242.4 R .042(ger v)-.15 F .041(alue \ +corresponding to the type of completion attempted that caused a complet\ +ion)-.25 F .337(function to be called:)144 254.4 R/F2 10/Times-Italic@0 +SF -.5(TA)2.837 G(B).5 E F0 2.837(,f)C .337(or normal completion,)-2.837 +F F2(?)2.837 E F0 2.837(,f)C .337(or listing completions after successi) +-2.837 F .638 -.15(ve t)-.25 H(abs,).15 E F2(!)144 266.4 Q F0 4.092(,f)C +1.592(or listing alternati)-4.092 F -.15(ve)-.25 G 4.092(so).15 G 4.092 +(np)-4.092 G 1.592(artial w)-4.092 F 1.592(ord completion,)-.1 F F2(@) +4.092 E F0 4.092(,t)C 4.092(ol)-4.092 G 1.592(ist completions if the w) +-4.092 F 1.591(ord is not)-.1 F 1.552(unmodi\214ed, or)144 278.4 R F2(%) +4.052 E F0 4.052(,f)C 1.552(or menu completion.)-4.052 F 1.552(This v) +6.552 F 1.552(ariable is a)-.25 F -.25(va)-.2 G 1.552 +(ilable only in shell functions and).25 F -.15(ex)144 290.4 S 2.929 (ternal commands in).15 F -.2(vo)-.4 G -.1(ke).2 G 5.429(db).1 G 5.429 (yt)-5.429 G 2.929(he programmable completion f)-5.429 F 2.929 (acilities \(see)-.1 F F1(Pr)5.428 E(ogrammable)-.18 E(Completion)144 -172.8 Q F0(belo)2.5 E(w\).)-.25 E F1(COMP_W)108 189.6 Q(ORDBREAKS)-.1 E -F0 1.335(The set of characters that the)144 201.6 R F1 -.18(re)3.836 G +302.4 Q F0(belo)2.5 E(w\).)-.25 E F1(COMP_W)108 319.2 Q(ORDBREAKS)-.1 E +F0 1.335(The set of characters that the)144 331.2 R F1 -.18(re)3.836 G (adline).18 E F0 1.336(library treats as w)3.836 F 1.336 (ord separators when performing w)-.1 F(ord)-.1 E 3.126(completion. If) -144 213.6 R/F3 9/Times-Bold@0 SF(COMP_W)3.126 E(ORDBREAKS)-.09 E F0 .626 +144 343.2 R/F3 9/Times-Bold@0 SF(COMP_W)3.126 E(ORDBREAKS)-.09 E F0 .626 (is unset, it loses its special properties, e)2.876 F -.15(ve)-.25 G 3.125(ni).15 G 3.125(fi)-3.125 G 3.125(ti)-3.125 G 3.125(ss)-3.125 G -(ubse-)-3.125 E(quently reset.)144 225.6 Q F1(COMP_W)108 242.4 Q(ORDS) --.1 E F0 .653(An array v)144 254.4 R .653(ariable \(see)-.25 F F1 -(Arrays)3.153 E F0(belo)3.153 E .654(w\) consisting of the indi)-.25 F -.654(vidual w)-.25 F .654(ords in the current command)-.1 F 4.333 -(line. The)144 266.4 R 1.832(line is split into w)4.332 F 1.832(ords as) --.1 F F1 -.18(re)4.332 G(adline).18 E F0 -.1(wo)4.332 G 1.832 -(uld split it, using).1 F F3(COMP_W)4.332 E(ORDBREAKS)-.09 E F0(as)4.082 -E .831(described abo)144 278.4 R -.15(ve)-.15 G 5.831(.T).15 G .831 -(his v)-5.831 F .831(ariable is a)-.25 F -.25(va)-.2 G .832 +(ubse-)-3.125 E(quently reset.)144 355.2 Q F1(COMP_W)108 372 Q(ORDS)-.1 +E F0 .653(An array v)144 384 R .653(ariable \(see)-.25 F F1(Arrays)3.153 +E F0(belo)3.153 E .654(w\) consisting of the indi)-.25 F .654(vidual w) +-.25 F .654(ords in the current command)-.1 F 4.333(line. The)144 396 R +1.832(line is split into w)4.332 F 1.832(ords as)-.1 F F1 -.18(re)4.332 +G(adline).18 E F0 -.1(wo)4.332 G 1.832(uld split it, using).1 F F3 +(COMP_W)4.332 E(ORDBREAKS)-.09 E F0(as)4.082 E .831(described abo)144 +408 R -.15(ve)-.15 G 5.831(.T).15 G .831(his v)-5.831 F .831 +(ariable is a)-.25 F -.25(va)-.2 G .832 (ilable only in shell functions in).25 F -.2(vo)-.4 G -.1(ke).2 G 3.332 (db).1 G 3.332(yt)-3.332 G .832(he programmable)-3.332 F(completion f) -144 290.4 Q(acilities \(see)-.1 E F1(Pr)2.5 E(ogrammable Completion)-.18 -E F0(belo)2.5 E(w\).)-.25 E F1(COPR)108 307.2 Q(OC)-.3 E F0 .169 -(An array v)144 319.2 R .169(ariable \(see)-.25 F F1(Arrays)2.669 E F0 +144 420 Q(acilities \(see)-.1 E F1(Pr)2.5 E(ogrammable Completion)-.18 E +F0(belo)2.5 E(w\).)-.25 E F1(COPR)108 436.8 Q(OC)-.3 E F0 .169 +(An array v)144 448.8 R .169(ariable \(see)-.25 F F1(Arrays)2.669 E F0 (belo)2.669 E .169 (w\) created to hold the \214le descriptors for output from and input) --.25 F(to an unnamed coprocess \(see)144 331.2 Q F1(Copr)2.5 E(ocesses) --.18 E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1(DIRST)108 348 Q -.55(AC) --.9 G(K).55 E F0 2.26(An array v)144 360 R 2.26(ariable \(see)-.25 F F1 -(Arrays)4.76 E F0(belo)4.76 E 2.26 +-.25 F(to an unnamed coprocess \(see)144 460.8 Q F1(Copr)2.5 E(ocesses) +-.18 E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1(DIRST)108 477.6 Q -.55 +(AC)-.9 G(K).55 E F0 2.26(An array v)144 489.6 R 2.26(ariable \(see)-.25 +F F1(Arrays)4.76 E F0(belo)4.76 E 2.26 (w\) containing the current contents of the directory stack.)-.25 F -1.095(Directories appear in the stack in the order the)144 372 R 3.594 +1.095(Directories appear in the stack in the order the)144 501.6 R 3.594 (ya)-.15 G 1.094(re displayed by the)-3.594 F F1(dirs)3.594 E F0 -.2(bu) 3.594 G 3.594(iltin. Assigning).2 F(to)3.594 E 1.431 -(members of this array v)144 384 R 1.432 +(members of this array v)144 513.6 R 1.432 (ariable may be used to modify directories already in the stack, b)-.25 -F 1.432(ut the)-.2 F F1(pushd)144 396 Q F0(and)2.746 E F1(popd)2.746 E +F 1.432(ut the)-.2 F F1(pushd)144 525.6 Q F0(and)2.746 E F1(popd)2.746 E F0 -.2(bu)2.746 G .246(iltins must be used to add and remo).2 F .546 -.15(ve d)-.15 H 2.746(irectories. Assignment).15 F .246(to this v)2.746 -F(ariable)-.25 E .35(will not change the current directory)144 408 R +F(ariable)-.25 E .35(will not change the current directory)144 537.6 R 5.35(.I)-.65 G(f)-5.35 E F3(DIRST)2.85 E -.495(AC)-.81 G(K).495 E F0 .35 (is unset, it loses its special properties, e)2.6 F -.15(ve)-.25 G 2.851 -(ni).15 G(f)-2.851 E(it is subsequently reset.)144 420 Q F1(EUID)108 -436.8 Q F0 1.104(Expands to the ef)11 F(fecti)-.25 E 1.403 -.15(ve u) +(ni).15 G(f)-2.851 E(it is subsequently reset.)144 549.6 Q F1(EUID)108 +566.4 Q F0 1.104(Expands to the ef)11 F(fecti)-.25 E 1.403 -.15(ve u) -.25 H 1.103(ser ID of the current user).15 F 3.603(,i)-.4 G 1.103 (nitialized at shell startup.)-3.603 F 1.103(This v)6.103 F 1.103 -(ariable is)-.25 F(readonly)144 448.8 Q(.)-.65 E F1(FUNCN)108 465.6 Q -(AME)-.2 E F0 .478(An array v)144 477.6 R .479 +(ariable is)-.25 F(readonly)144 578.4 Q(.)-.65 E F1(FUNCN)108 595.2 Q +(AME)-.2 E F0 .478(An array v)144 607.2 R .479 (ariable containing the names of all shell functions currently in the e) -.25 F -.15(xe)-.15 G .479(cution call stack.).15 F .277 -(The element with inde)144 489.6 R 2.777(x0i)-.15 G 2.777(st)-2.777 G +(The element with inde)144 619.2 R 2.777(x0i)-.15 G 2.777(st)-2.777 G .276(he name of an)-2.777 F 2.776(yc)-.15 G(urrently-e)-2.776 E -.15(xe) -.15 G .276(cuting shell function.).15 F .276(The bottom-most)5.276 F -.25(element is)144 501.6 R/F4 10/Courier@0 SF("main")2.75 E F0 5.25(.T)C +.25(element is)144 631.2 R/F4 10/Courier@0 SF("main")2.75 E F0 5.25(.T)C .25(his v)-5.25 F .25(ariable e)-.25 F .25 (xists only when a shell function is e)-.15 F -.15(xe)-.15 G 2.75 -(cuting. Assignments).15 F(to)2.75 E F3(FUNCN)144 513.6 Q(AME)-.18 E F0 +(cuting. Assignments).15 F(to)2.75 E F3(FUNCN)144 643.2 Q(AME)-.18 E F0 (ha)2.635 E .685 -.15(ve n)-.2 H 2.885(oe).15 G -.25(ff)-2.885 G .385 (ect and return an error status.).25 F(If)5.385 E F3(FUNCN)2.885 E(AME) -.18 E F0 .384(is unset, it loses its special)2.634 F(properties, e)144 -525.6 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss) --2.5 G(ubsequently reset.)-2.5 E F1(GR)108 542.4 Q(OUPS)-.3 E F0 1.228 -(An array v)144 554.4 R 1.228(ariable containing the list of groups of \ -which the current user is a member)-.25 F 6.229(.A)-.55 G(ssign-)-6.229 -E .597(ments to)144 566.4 R F3(GR)3.097 E(OUPS)-.27 E F0(ha)2.847 E .897 +655.2 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss) +-2.5 G(ubsequently reset.)-2.5 E F1(GR)108 672 Q(OUPS)-.3 E F0 1.228 +(An array v)144 684 R 1.228(ariable containing the list of groups of wh\ +ich the current user is a member)-.25 F 6.229(.A)-.55 G(ssign-)-6.229 E +.597(ments to)144 696 R F3(GR)3.097 E(OUPS)-.27 E F0(ha)2.847 E .897 -.15(ve n)-.2 H 3.097(oe).15 G -.25(ff)-3.097 G .597 (ect and return an error status.).25 F(If)5.597 E F3(GR)3.097 E(OUPS) -.27 E F0 .597(is unset, it loses its spe-)2.847 F(cial properties, e) -144 578.4 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5 -(ss)-2.5 G(ubsequently reset.)-2.5 E F1(HISTCMD)108 595.2 Q F0 .355 -(The history number)144 607.2 R 2.855(,o)-.4 G 2.855(ri)-2.855 G(nde) --2.855 E 2.856(xi)-.15 G 2.856(nt)-2.856 G .356 -(he history list, of the current command.)-2.856 F(If)5.356 E F3 -(HISTCMD)2.856 E F0 .356(is unset, it)2.606 F -(loses its special properties, e)144 619.2 Q -.15(ve)-.25 G 2.5(ni).15 G -2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F1 -(HOSTN)108 636 Q(AME)-.2 E F0 -(Automatically set to the name of the current host.)144 648 Q F1 -(HOSTTYPE)108 664.8 Q F0 .223(Automatically set to a string that unique\ -ly describes the type of machine on which)144 676.8 R F1(bash)2.722 E F0 -.222(is e)2.722 F -.15(xe)-.15 G(cut-).15 E 2.5(ing. The)144 688.8 R -(def)2.5 E(ault is system-dependent.)-.1 E F1(LINENO)108 705.6 Q F0 -1.408(Each time this parameter is referenced, the shell substitutes a d\ -ecimal number representing the)144 717.6 R .078(current sequential line\ - number \(starting with 1\) within a script or function.)144 729.6 R -.078(When not in a script or)5.078 F(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(11)195.945 E 0 Cg EP +144 708 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5 +(ss)-2.5 G(ubsequently reset.)-2.5 E(GNU Bash-4.1)72 768 Q(2010 May 30) +147.345 E(11)197.335 E 0 Cg EP %%Page: 12 12 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E .306(function, the v)144 84 R .306 -(alue substituted is not guaranteed to be meaningful.)-.25 F(If)5.307 E -/F1 9/Times-Bold@0 SF(LINENO)2.807 E F0 .307(is unset, it loses its) -2.557 F(special properties, e)144 96 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5 -(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E/F2 10 -/Times-Bold@0 SF(MA)108 112.8 Q(CHTYPE)-.55 E F0 .898(Automatically set\ - to a string that fully describes the system type on which)144 124.8 R -F2(bash)3.398 E F0 .898(is e)3.398 F -.15(xe)-.15 G .898(cuting, in).15 -F(the standard GNU)144 136.8 Q/F3 10/Times-Italic@0 SF -(cpu-company-system)2.5 E F0 2.5(format. The)2.5 F(def)2.5 E -(ault is system-dependent.)-.1 E F2(MAPFILE)108 153.6 Q F0 .293 -(An array v)144 165.6 R .293(ariable \(see)-.25 F F2(Arrays)2.793 E F0 -(belo)2.793 E .293(w\) created to hold the te)-.25 F .294 -(xt read by the)-.15 F F2(map\214le)2.794 E F0 -.2(bu)2.794 G .294 -(iltin when no).2 F -.25(va)144 177.6 S(riable name is supplied.).25 E -F2(OLDPWD)108 194.4 Q F0(The pre)144 206.4 Q(vious w)-.25 E -(orking directory as set by the)-.1 E F2(cd)2.5 E F0(command.)2.5 E F2 -(OPT)108 223.2 Q(ARG)-.9 E F0 1.627(The v)144 235.2 R 1.627 +-.35 E/F1 10/Times-Bold@0 SF(HISTCMD)108 84 Q F0 .355 +(The history number)144 96 R 2.855(,o)-.4 G 2.855(ri)-2.855 G(nde)-2.855 +E 2.856(xi)-.15 G 2.856(nt)-2.856 G .356 +(he history list, of the current command.)-2.856 F(If)5.356 E/F2 9 +/Times-Bold@0 SF(HISTCMD)2.856 E F0 .356(is unset, it)2.606 F +(loses its special properties, e)144 108 Q -.15(ve)-.25 G 2.5(ni).15 G +2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F1 +(HOSTN)108 124.8 Q(AME)-.2 E F0 +(Automatically set to the name of the current host.)144 136.8 Q F1 +(HOSTTYPE)108 153.6 Q F0 .223(Automatically set to a string that unique\ +ly describes the type of machine on which)144 165.6 R F1(bash)2.722 E F0 +.222(is e)2.722 F -.15(xe)-.15 G(cut-).15 E 2.5(ing. The)144 177.6 R +(def)2.5 E(ault is system-dependent.)-.1 E F1(LINENO)108 194.4 Q F0 +1.408(Each time this parameter is referenced, the shell substitutes a d\ +ecimal number representing the)144 206.4 R .078(current sequential line\ + number \(starting with 1\) within a script or function.)144 218.4 R +.078(When not in a script or)5.078 F .306(function, the v)144 230.4 R +.306(alue substituted is not guaranteed to be meaningful.)-.25 F(If) +5.307 E F2(LINENO)2.807 E F0 .307(is unset, it loses its)2.557 F +(special properties, e)144 242.4 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi) +-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F1(MA)108 +259.2 Q(CHTYPE)-.55 E F0 .898(Automatically set to a string that fully \ +describes the system type on which)144 271.2 R F1(bash)3.398 E F0 .898 +(is e)3.398 F -.15(xe)-.15 G .898(cuting, in).15 F(the standard GNU)144 +283.2 Q/F3 10/Times-Italic@0 SF(cpu-company-system)2.5 E F0 2.5 +(format. The)2.5 F(def)2.5 E(ault is system-dependent.)-.1 E F1(MAPFILE) +108 300 Q F0 .293(An array v)144 312 R .293(ariable \(see)-.25 F F1 +(Arrays)2.793 E F0(belo)2.793 E .293(w\) created to hold the te)-.25 F +.294(xt read by the)-.15 F F1(map\214le)2.794 E F0 -.2(bu)2.794 G .294 +(iltin when no).2 F -.25(va)144 324 S(riable name is supplied.).25 E F1 +(OLDPWD)108 340.8 Q F0(The pre)144 352.8 Q(vious w)-.25 E +(orking directory as set by the)-.1 E F1(cd)2.5 E F0(command.)2.5 E F1 +(OPT)108 369.6 Q(ARG)-.9 E F0 1.627(The v)144 381.6 R 1.627 (alue of the last option ar)-.25 F 1.627(gument processed by the)-.18 F -F2(getopts)4.127 E F0 -.2(bu)4.127 G 1.626(iltin command \(see).2 F F1 -(SHELL)4.126 E -.09(BU)144 247.2 S(IL).09 E(TIN COMMANDS)-.828 E F0 -(belo)2.25 E(w\).)-.25 E F2(OPTIND)108 264 Q F0 1.651(The inde)144 276 R -4.151(xo)-.15 G 4.151(ft)-4.151 G 1.651(he ne)-4.151 F 1.651(xt ar)-.15 -F 1.652(gument to be processed by the)-.18 F F2(getopts)4.152 E F0 -.2 -(bu)4.152 G 1.652(iltin command \(see).2 F F1(SHELL)4.152 E -.09(BU)144 -288 S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F2 -(OSTYPE)108 304.8 Q F0 .329(Automatically set to a string that describe\ -s the operating system on which)144 316.8 R F2(bash)2.829 E F0 .329 -(is e)2.829 F -.15(xe)-.15 G 2.829(cuting. The).15 F(def)144 328.8 Q -(ault is system-dependent.)-.1 E F2(PIPEST)108 345.6 Q -.95(AT)-.9 G(US) -.95 E F0 .61(An array v)144 357.6 R .61(ariable \(see)-.25 F F2(Arrays) +F1(getopts)4.127 E F0 -.2(bu)4.127 G 1.626(iltin command \(see).2 F F2 +(SHELL)4.126 E -.09(BU)144 393.6 S(IL).09 E(TIN COMMANDS)-.828 E F0 +(belo)2.25 E(w\).)-.25 E F1(OPTIND)108 410.4 Q F0 1.651(The inde)144 +422.4 R 4.151(xo)-.15 G 4.151(ft)-4.151 G 1.651(he ne)-4.151 F 1.651 +(xt ar)-.15 F 1.652(gument to be processed by the)-.18 F F1(getopts) +4.152 E F0 -.2(bu)4.152 G 1.652(iltin command \(see).2 F F2(SHELL)4.152 +E -.09(BU)144 434.4 S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).) +-.25 E F1(OSTYPE)108 451.2 Q F0 .329(Automatically set to a string that\ + describes the operating system on which)144 463.2 R F1(bash)2.829 E F0 +.329(is e)2.829 F -.15(xe)-.15 G 2.829(cuting. The).15 F(def)144 475.2 Q +(ault is system-dependent.)-.1 E F1(PIPEST)108 492 Q -.95(AT)-.9 G(US) +.95 E F0 .61(An array v)144 504 R .61(ariable \(see)-.25 F F1(Arrays) 3.11 E F0(belo)3.11 E .61(w\) containing a list of e)-.25 F .61 (xit status v)-.15 F .61(alues from the processes in)-.25 F -(the most-recently-e)144 369.6 Q -.15(xe)-.15 G(cuted fore).15 E -(ground pipeline \(which may contain only a single command\).)-.15 E F2 -(PPID)108 386.4 Q F0(The process ID of the shell')12.67 E 2.5(sp)-.55 G +(the most-recently-e)144 516 Q -.15(xe)-.15 G(cuted fore).15 E +(ground pipeline \(which may contain only a single command\).)-.15 E F1 +(PPID)108 532.8 Q F0(The process ID of the shell')12.67 E 2.5(sp)-.55 G 2.5(arent. This)-2.5 F -.25(va)2.5 G(riable is readonly).25 E(.)-.65 E -F2(PWD)108 403.2 Q F0(The current w)12.67 E -(orking directory as set by the)-.1 E F2(cd)2.5 E F0(command.)2.5 E F2 -(RANDOM)108 420 Q F0 .566 -(Each time this parameter is referenced, a random inte)144 432 R .565 +F1(PWD)108 549.6 Q F0(The current w)12.67 E +(orking directory as set by the)-.1 E F1(cd)2.5 E F0(command.)2.5 E F1 +(RANDOM)108 566.4 Q F0 .566 +(Each time this parameter is referenced, a random inte)144 578.4 R .565 (ger between 0 and 32767 is generated.)-.15 F(The)5.565 E .01 -(sequence of random numbers may be initialized by assigning a v)144 444 -R .01(alue to)-.25 F F1(RANDOM)2.51 E/F4 9/Times-Roman@0 SF(.)A F0(If) -4.51 E F1(RANDOM)2.51 E F0(is)2.26 E -(unset, it loses its special properties, e)144 456 Q -.15(ve)-.25 G 2.5 -(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.) --2.5 E F2(READLINE_LINE)108 472.8 Q F0 1.547(The contents of the)144 -484.8 R F2 -.18(re)4.047 G(adline).18 E F0 1.547(line b)4.047 F(uf)-.2 E -(fer)-.25 E 4.047(,f)-.4 G 1.547(or use with)-4.047 F/F5 10/Courier@0 SF -1.547(bind -x)4.047 F F0(\(see)4.047 E F1 1.546(SHELL B)4.047 F(UIL)-.09 -E 1.546(TIN COM-)-.828 F(MANDS)144 496.8 Q F0(belo)2.25 E(w\).)-.25 E F2 -(READLINE_POINT)108 513.6 Q F0 .313 -(The position of the insertion point in the)144 525.6 R F2 -.18(re)2.813 -G(adline).18 E F0 .313(line b)2.813 F(uf)-.2 E(fer)-.25 E 2.813(,f)-.4 G -.313(or use with)-2.813 F F5 .314(bind -x)2.814 F F0(\(see)2.814 E F1 -(SHELL)2.814 E -.09(BU)144 537.6 S(IL).09 E(TIN COMMANDS)-.828 E F0 -(belo)2.25 E(w\).)-.25 E F2(REPL)108 554.4 Q(Y)-.92 E F0 -(Set to the line of input read by the)144 566.4 Q F2 -.18(re)2.5 G(ad) +(sequence of random numbers may be initialized by assigning a v)144 +590.4 R .01(alue to)-.25 F F2(RANDOM)2.51 E/F4 9/Times-Roman@0 SF(.)A F0 +(If)4.51 E F2(RANDOM)2.51 E F0(is)2.26 E +(unset, it loses its special properties, e)144 602.4 Q -.15(ve)-.25 G +2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G +(ubsequently reset.)-2.5 E F1(READLINE_LINE)108 619.2 Q F0 1.547 +(The contents of the)144 631.2 R F1 -.18(re)4.047 G(adline).18 E F0 +1.547(line b)4.047 F(uf)-.2 E(fer)-.25 E 4.047(,f)-.4 G 1.547 +(or use with)-4.047 F/F5 10/Courier@0 SF 1.547(bind -x)4.047 F F0(\(see) +4.047 E F2 1.546(SHELL B)4.047 F(UIL)-.09 E 1.546(TIN COM-)-.828 F +(MANDS)144 643.2 Q F0(belo)2.25 E(w\).)-.25 E F1(READLINE_POINT)108 660 +Q F0 .313(The position of the insertion point in the)144 672 R F1 -.18 +(re)2.813 G(adline).18 E F0 .313(line b)2.813 F(uf)-.2 E(fer)-.25 E +2.813(,f)-.4 G .313(or use with)-2.813 F F5 .314(bind -x)2.814 F F0 +(\(see)2.814 E F2(SHELL)2.814 E -.09(BU)144 684 S(IL).09 E(TIN COMMANDS) +-.828 E F0(belo)2.25 E(w\).)-.25 E F1(REPL)108 700.8 Q(Y)-.92 E F0 +(Set to the line of input read by the)144 712.8 Q F1 -.18(re)2.5 G(ad) .18 E F0 -.2(bu)2.5 G(iltin command when no ar).2 E -(guments are supplied.)-.18 E F2(SECONDS)108 583.2 Q F0 .795(Each time \ -this parameter is referenced, the number of seconds since shell in)144 -595.2 R -.2(vo)-.4 G .795(cation is returned.).2 F .712(If a v)144 607.2 -R .712(alue is assigned to)-.25 F F1(SECONDS)3.212 E F4(,)A F0 .712 -(the v)2.962 F .712 -(alue returned upon subsequent references is the number)-.25 F .408 -(of seconds since the assignment plus the v)144 619.2 R .408 -(alue assigned.)-.25 F(If)5.408 E F1(SECONDS)2.908 E F0 .407 -(is unset, it loses its special)2.658 F(properties, e)144 631.2 Q -.15 -(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G -(ubsequently reset.)-2.5 E F2(SHELLOPTS)108 648 Q F0 3.262(Ac)144 660 S -.763(olon-separated list of enabled shell options.)-3.262 F .763(Each w) -5.763 F .763(ord in the list is a v)-.1 F .763(alid ar)-.25 F .763 -(gument for the)-.18 F F2144 672 Q F0 1.174(option to the)3.674 F -F2(set)3.674 E F0 -.2(bu)3.674 G 1.174(iltin command \(see).2 F F1 1.173 -(SHELL B)3.673 F(UIL)-.09 E 1.173(TIN COMMANDS)-.828 F F0(belo)3.423 E -3.673(w\). The)-.25 F(options)3.673 E .019(appearing in)144 684 R F1 -(SHELLOPTS)2.519 E F0 .019(are those reported as)2.269 F F3(on)2.749 E -F0(by)2.759 E F2 .019(set \255o)2.519 F F0 5.019(.I)C 2.519(ft)-5.019 G -.019(his v)-2.519 F .02(ariable is in the en)-.25 F(vironment)-.4 E -(when)144 696 Q F2(bash)3.142 E F0 .642(starts up, each shell option in\ - the list will be enabled before reading an)3.142 F 3.141(ys)-.15 G .641 -(tartup \214les.)-3.141 F(This v)144 708 Q(ariable is read-only)-.25 E -(.)-.65 E(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(12)195.945 E 0 -Cg EP +(guments are supplied.)-.18 E(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 +E(12)197.335 E 0 Cg EP %%Page: 13 13 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(SHL)108 84 Q(VL)-.92 E F0 -(Incremented by one each time an instance of)144 96 Q F1(bash)2.5 E F0 -(is started.)2.5 E F1(UID)108 112.8 Q F0 +-.35 E/F1 10/Times-Bold@0 SF(SECONDS)108 84 Q F0 .795(Each time this pa\ +rameter is referenced, the number of seconds since shell in)144 96 R -.2 +(vo)-.4 G .795(cation is returned.).2 F .712(If a v)144 108 R .712 +(alue is assigned to)-.25 F/F2 9/Times-Bold@0 SF(SECONDS)3.212 E/F3 9 +/Times-Roman@0 SF(,)A F0 .712(the v)2.962 F .712 +(alue returned upon subsequent references is the number)-.25 F .408 +(of seconds since the assignment plus the v)144 120 R .408 +(alue assigned.)-.25 F(If)5.408 E F2(SECONDS)2.908 E F0 .407 +(is unset, it loses its special)2.658 F(properties, e)144 132 Q -.15(ve) +-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G +(ubsequently reset.)-2.5 E F1(SHELLOPTS)108 148.8 Q F0 3.262(Ac)144 +160.8 S .763(olon-separated list of enabled shell options.)-3.262 F .763 +(Each w)5.763 F .763(ord in the list is a v)-.1 F .763(alid ar)-.25 F +.763(gument for the)-.18 F F1144 172.8 Q F0 1.174(option to the) +3.674 F F1(set)3.674 E F0 -.2(bu)3.674 G 1.174(iltin command \(see).2 F +F2 1.173(SHELL B)3.673 F(UIL)-.09 E 1.173(TIN COMMANDS)-.828 F F0(belo) +3.423 E 3.673(w\). The)-.25 F(options)3.673 E .019(appearing in)144 +184.8 R F2(SHELLOPTS)2.519 E F0 .019(are those reported as)2.269 F/F4 10 +/Times-Italic@0 SF(on)2.749 E F0(by)2.759 E F1 .019(set \255o)2.519 F F0 +5.019(.I)C 2.519(ft)-5.019 G .019(his v)-2.519 F .02 +(ariable is in the en)-.25 F(vironment)-.4 E(when)144 196.8 Q F1(bash) +3.142 E F0 .642(starts up, each shell option in the list will be enable\ +d before reading an)3.142 F 3.141(ys)-.15 G .641(tartup \214les.)-3.141 +F(This v)144 208.8 Q(ariable is read-only)-.25 E(.)-.65 E F1(SHL)108 +225.6 Q(VL)-.92 E F0(Incremented by one each time an instance of)144 +237.6 Q F1(bash)2.5 E F0(is started.)2.5 E F1(UID)108 254.4 Q F0 (Expands to the user ID of the current user)17.67 E 2.5(,i)-.4 G (nitialized at shell startup.)-2.5 E(This v)5 E(ariable is readonly)-.25 -E(.)-.65 E .993(The follo)108 129.6 R .993(wing v)-.25 F .994 +E(.)-.65 E .993(The follo)108 271.2 R .993(wing v)-.25 F .994 (ariables are used by the shell.)-.25 F .994(In some cases,)5.994 F F1 (bash)3.494 E F0 .994(assigns a def)3.494 F .994(ault v)-.1 F .994 -(alue to a v)-.25 F(ariable;)-.25 E(these cases are noted belo)108 141.6 -Q -.65(w.)-.25 G F1 -.3(BA)108 158.4 S(SH_ENV).3 E F0 .506 -(If this parameter is set when)144 170.4 R F1(bash)3.006 E F0 .506(is e) +(alue to a v)-.25 F(ariable;)-.25 E(these cases are noted belo)108 283.2 +Q -.65(w.)-.25 G F1 -.3(BA)108 300 S(SH_ENV).3 E F0 .506 +(If this parameter is set when)144 312 R F1(bash)3.006 E F0 .506(is e) 3.006 F -.15(xe)-.15 G .505(cuting a shell script, its v).15 F .505 (alue is interpreted as a \214lename)-.25 F .354 -(containing commands to initialize the shell, as in)144 182.4 R/F2 10 -/Times-Italic@0 SF(~/.bashr)2.855 E(c)-.37 E F0 5.355(.T).31 G .355 -(he v)-5.355 F .355(alue of)-.25 F/F3 9/Times-Bold@0 SF -.27(BA)2.855 G -(SH_ENV).27 E F0 .355(is subjected)2.605 F .525(to parameter e)144 194.4 -R .525(xpansion, command substitution, and arithmetic e)-.15 F .525 -(xpansion before being interpreted)-.15 F(as a \214le name.)144 206.4 Q -F3 -.666(PA)5 G(TH)-.189 E F0 +(containing commands to initialize the shell, as in)144 324 R F4 +(~/.bashr)2.855 E(c)-.37 E F0 5.355(.T).31 G .355(he v)-5.355 F .355 +(alue of)-.25 F F2 -.27(BA)2.855 G(SH_ENV).27 E F0 .355(is subjected) +2.605 F .525(to parameter e)144 336 R .525 +(xpansion, command substitution, and arithmetic e)-.15 F .525 +(xpansion before being interpreted)-.15 F(as a \214le name.)144 348 Q F2 +-.666(PA)5 G(TH)-.189 E F0 (is not used to search for the resultant \214le name.)2.25 E F1 -.3(BA) -108 218.4 S(SH_XTRA).3 E(CEFD)-.55 E F0 .48(If set to an inte)144 230.4 -R .48(ger corresponding to a v)-.15 F .481(alid \214le descriptor)-.25 F +108 360 S(SH_XTRA).3 E(CEFD)-.55 E F0 .48(If set to an inte)144 372 R +.48(ger corresponding to a v)-.15 F .481(alid \214le descriptor)-.25 F (,)-.4 E F1(bash)2.981 E F0 .481(will write the trace output gener)2.981 -F(-)-.2 E 3.114(ated when)144 242.4 R/F4 10/Courier@0 SF 3.114(set -x) +F(-)-.2 E 3.114(ated when)144 384 R/F5 10/Courier@0 SF 3.114(set -x) 5.614 F F0 3.114(is enabled to that \214le descriptor)5.614 F 8.114(.T) --.55 G 3.114(he \214le descriptor is closed when)-8.114 F F3 -.27(BA)144 -254.4 S(SH_XTRA).27 E(CEFD)-.495 E F0 .138(is unset or assigned a ne) -2.388 F 2.638(wv)-.25 G 2.638(alue. Unsetting)-2.888 F F3 -.27(BA)2.638 -G(SH_XTRA).27 E(CEFD)-.495 E F0 .138(or assigning it)2.388 F 2.531(the \ -empty string causes the trace output to be sent to the standard error) -144 266.4 R 7.53(.N)-.55 G 2.53(ote that setting)-7.53 F F3 -.27(BA)144 -278.4 S(SH_XTRA).27 E(CEFD)-.495 E F0 .74(to 2 \(the standard error \ -\214le descriptor\) and then unsetting it will result in the)2.99 F -(standard error being closed.)144 290.4 Q F1(CDP)108 302.4 Q -.95(AT) --.74 G(H).95 E F0 1.248(The search path for the)144 314.4 R F1(cd)3.748 -E F0 3.748(command. This)3.748 F 1.247 +-.55 G 3.114(he \214le descriptor is closed when)-8.114 F F2 -.27(BA)144 +396 S(SH_XTRA).27 E(CEFD)-.495 E F0 .138(is unset or assigned a ne)2.388 +F 2.638(wv)-.25 G 2.638(alue. Unsetting)-2.888 F F2 -.27(BA)2.638 G +(SH_XTRA).27 E(CEFD)-.495 E F0 .138(or assigning it)2.388 F 2.531(the e\ +mpty string causes the trace output to be sent to the standard error)144 +408 R 7.53(.N)-.55 G 2.53(ote that setting)-7.53 F F2 -.27(BA)144 420 S +(SH_XTRA).27 E(CEFD)-.495 E F0 .74(to 2 \(the standard error \214le des\ +criptor\) and then unsetting it will result in the)2.99 F +(standard error being closed.)144 432 Q F1(CDP)108 444 Q -.95(AT)-.74 G +(H).95 E F0 1.248(The search path for the)144 456 R F1(cd)3.748 E F0 +3.748(command. This)3.748 F 1.247 (is a colon-separated list of directories in which the)3.748 F 3.795 -(shell looks for destination directories speci\214ed by the)144 326.4 R -F1(cd)6.295 E F0 6.296(command. A)6.296 F 3.796(sample v)6.296 F 3.796 -(alue is)-.25 F F4(".:~:/usr")144 338.4 Q F0(.)A F1(COLUMNS)108 350.4 Q -F0 .425(Used by the)144 362.4 R F1(select)2.925 E F0 -.2(bu)2.925 G .425 -(iltin command to determine the terminal width when printing selection \ -lists.).2 F(Automatically set upon receipt of a)144 374.4 Q F3(SIGWINCH) -2.5 E/F5 9/Times-Roman@0 SF(.)A F1(COMPREPL)108 386.4 Q(Y)-.92 E F0 .847 -(An array v)144 398.4 R .848(ariable from which)-.25 F F1(bash)3.348 E -F0 .848(reads the possible completions generated by a shell function) -3.348 F(in)144 410.4 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 -G(he programmable completion f)-2.5 E(acility \(see)-.1 E F1(Pr)2.5 E -(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E F1(EMA)108 422.4 -Q(CS)-.55 E F0(If)144 434.4 Q F1(bash)2.536 E F0 .036(\214nds this v) -2.536 F .036(ariable in the en)-.25 F .036 -(vironment when the shell starts with v)-.4 F(alue)-.25 E F4(t)2.535 E +(shell looks for destination directories speci\214ed by the)144 468 R F1 +(cd)6.295 E F0 6.296(command. A)6.296 F 3.796(sample v)6.296 F 3.796 +(alue is)-.25 F F5(".:~:/usr")144 480 Q F0(.)A F1(COLUMNS)108 492 Q F0 +.425(Used by the)144 504 R F1(select)2.925 E F0 -.2(bu)2.925 G .425(ilt\ +in command to determine the terminal width when printing selection list\ +s.).2 F(Automatically set upon receipt of a)144 516 Q F2(SIGWINCH)2.5 E +F3(.)A F1(COMPREPL)108 528 Q(Y)-.92 E F0 .847(An array v)144 540 R .848 +(ariable from which)-.25 F F1(bash)3.348 E F0 .848 +(reads the possible completions generated by a shell function)3.348 F +(in)144 552 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G +(he programmable completion f)-2.5 E(acility \(see)-.1 E F1(Pr)2.5 E +(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E F1(EMA)108 564 Q +(CS)-.55 E F0(If)144 576 Q F1(bash)2.536 E F0 .036(\214nds this v)2.536 +F .036(ariable in the en)-.25 F .036 +(vironment when the shell starts with v)-.4 F(alue)-.25 E F5(t)2.535 E F0 2.535(,i)C 2.535(ta)-2.535 G .035(ssumes that the)-2.535 F -(shell is running in an emacs shell b)144 446.4 Q(uf)-.2 E -(fer and disables line editing.)-.25 E F1(ENV)108 458.4 Q F0(Similar to) -14.89 E F3 -.27(BA)2.5 G(SH_ENV).27 E F5(;)A F0 +(shell is running in an emacs shell b)144 588 Q(uf)-.2 E +(fer and disables line editing.)-.25 E F1(ENV)108 600 Q F0(Similar to) +14.89 E F2 -.27(BA)2.5 G(SH_ENV).27 E F3(;)A F0 (used when the shell is in)2.25 E -.2(vo)-.4 G -.1(ke).2 G 2.5(di).1 G -2.5(nP)-2.5 G(OSIX mode.)-2.5 E F1(FCEDIT)108 470.4 Q F0(The def)144 -482.4 Q(ault editor for the)-.1 E F1(fc)2.5 E F0 -.2(bu)2.5 G -(iltin command.).2 E F1(FIGNORE)108 494.4 Q F0 2.598(Ac)144 506.4 S .098 +2.5(nP)-2.5 G(OSIX mode.)-2.5 E F1(FCEDIT)108 612 Q F0(The def)144 624 Q +(ault editor for the)-.1 E F1(fc)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 +E F1(FIGNORE)108 636 Q F0 2.598(Ac)144 648 S .098 (olon-separated list of suf)-2.598 F<8c78>-.25 E .098 -(es to ignore when performing \214lename completion \(see)-.15 F F3 -(READLINE)2.599 E F0(belo)144 518.4 Q 2.705(w\). A)-.25 F .205 +(es to ignore when performing \214lename completion \(see)-.15 F F2 +(READLINE)2.599 E F0(belo)144 660 Q 2.705(w\). A)-.25 F .205 (\214lename whose suf)2.705 F .205(\214x matches one of the entries in) --.25 F F3(FIGNORE)2.705 E F0 .205(is e)2.455 F .204 -(xcluded from the list)-.15 F(of matched \214lenames.)144 530.4 Q 2.5 -(As)5 G(ample v)-2.5 E(alue is)-.25 E F4(".o:~")2.5 E F0(.)A F1 -(GLOBIGNORE)108 542.4 Q F0 3.118(Ac)144 554.4 S .618(olon-separated lis\ -t of patterns de\214ning the set of \214lenames to be ignored by pathna\ -me e)-3.118 F(xpan-)-.15 E 3.132(sion. If)144 566.4 R 3.132<618c>3.132 G -.632(lename matched by a pathname e)-3.132 F .632 -(xpansion pattern also matches one of the patterns in)-.15 F F3 -(GLOBIGNORE)144 578.4 Q F5(,)A F0(it is remo)2.25 E -.15(ve)-.15 G 2.5 -(df).15 G(rom the list of matches.)-2.5 E F1(HISTCONTR)108 590.4 Q(OL) --.3 E F0 2.653(Ac)144 602.4 S .153(olon-separated list of v)-2.653 F -.153(alues controlling ho)-.25 F 2.653(wc)-.25 G .153(ommands are sa) --2.653 F -.15(ve)-.2 G 2.653(do).15 G 2.653(nt)-2.653 G .153 -(he history list.)-2.653 F .154(If the list)5.153 F .491(of v)144 614.4 -R .491(alues includes)-.25 F F2(ignor)2.991 E(espace)-.37 E F0 2.991(,l) -.18 G .491(ines which be)-2.991 F .491(gin with a)-.15 F F1(space)2.991 -E F0 .49(character are not sa)2.991 F -.15(ve)-.2 G 2.99(di).15 G 2.99 -(nt)-2.99 G .49(he his-)-2.99 F .557(tory list.)144 626.4 R 3.057(Av) -5.557 G .557(alue of)-3.307 F F2(ignor)3.067 E(edups)-.37 E F0 .557 -(causes lines matching the pre)3.327 F .558 -(vious history entry to not be sa)-.25 F -.15(ve)-.2 G(d.).15 E 2.959 -(Av)144 638.4 S .459(alue of)-3.209 F F2(ignor)2.969 E(eboth)-.37 E F0 -.459(is shorthand for)3.239 F F2(ignor)2.959 E(espace)-.37 E F0(and) -2.959 E F2(ignor)2.958 E(edups)-.37 E F0 5.458(.A)C -.25(va)-2.5 G .458 -(lue of).25 F F2(er)2.958 E(asedups)-.15 E F0(causes)2.958 E .698 -(all pre)144 650.4 R .698 -(vious lines matching the current line to be remo)-.25 F -.15(ve)-.15 G -3.198(df).15 G .699(rom the history list before that line is)-3.198 F -(sa)144 662.4 Q -.15(ve)-.2 G 2.764(d. An).15 F 2.764(yv)-.15 G .264 -(alue not in the abo)-3.014 F .563 -.15(ve l)-.15 H .263 -(ist is ignored.).15 F(If)5.263 E F3(HISTCONTR)2.763 E(OL)-.27 E F0 .263 -(is unset, or does not include)2.513 F 2.941(av)144 674.4 S .441(alid v) --3.191 F .441(alue, all lines read by the shell parser are sa)-.25 F --.15(ve)-.2 G 2.942(do).15 G 2.942(nt)-2.942 G .442 -(he history list, subject to the v)-2.942 F .442(alue of)-.25 F F3 -(HISTIGNORE)144 686.4 Q F5(.)A F0 1.981(The second and subsequent lines\ - of a multi-line compound command are not)6.482 F -(tested, and are added to the history re)144 698.4 Q -.05(ga)-.15 G -(rdless of the v).05 E(alue of)-.25 E F3(HISTCONTR)2.5 E(OL)-.27 E F5(.) -A F0(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(13)195.945 E 0 Cg EP +-.25 F F2(FIGNORE)2.705 E F0 .205(is e)2.455 F .204 +(xcluded from the list)-.15 F(of matched \214lenames.)144 672 Q 2.5(As)5 +G(ample v)-2.5 E(alue is)-.25 E F5(".o:~")2.5 E F0(.)A F1(FUNCNEST)108 +684 Q F0 1.78(If set to a numeric v)144 696 R 1.78 +(alue greater than 0, de\214nes a maximum function nesting le)-.25 F +-.15(ve)-.25 G 4.28(l. Function).15 F(in)144 708 Q -.2(vo)-.4 G +(cations that e).2 E(xceed this nesting le)-.15 E -.15(ve)-.25 G 2.5(lw) +.15 G(ill cause the current command to abort.)-2.5 E(GNU Bash-4.1)72 768 +Q(2010 May 30)147.345 E(13)197.335 E 0 Cg EP %%Page: 14 14 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(HISTFILE)108 84 Q F0 .181 -(The name of the \214le in which command history is sa)144 96 R -.15(ve) --.2 G 2.681(d\().15 G(see)-2.681 E/F2 9/Times-Bold@0 SF(HIST)2.681 E(OR) --.162 E(Y)-.315 E F0(belo)2.431 E 2.682(w\). The)-.25 F(def)2.682 E .182 -(ault v)-.1 F(alue)-.25 E(is)144 108 Q/F3 10/Times-Italic@0 SF -(~/.bash_history)2.5 E F0 5(.I)C 2.5(fu)-5 G -(nset, the command history is not sa)-2.5 E -.15(ve)-.2 G 2.5(dw).15 G -(hen an interacti)-2.5 E .3 -.15(ve s)-.25 H(hell e).15 E(xits.)-.15 E -F1(HISTFILESIZE)108 120 Q F0 1.623 -(The maximum number of lines contained in the history \214le.)144 132 R -1.622(When this v)6.623 F 1.622(ariable is assigned a)-.25 F -.25(va)144 -144 S .305(lue, the history \214le is truncated, if necessary).25 F +-.35 E/F1 10/Times-Bold@0 SF(GLOBIGNORE)108 84 Q F0 3.118(Ac)144 96 S +.618(olon-separated list of patterns de\214ning the set of \214lenames \ +to be ignored by pathname e)-3.118 F(xpan-)-.15 E 3.131(sion. If)144 108 +R 3.132<618c>3.131 G .632(lename matched by a pathname e)-3.132 F .632 +(xpansion pattern also matches one of the patterns in)-.15 F/F2 9 +/Times-Bold@0 SF(GLOBIGNORE)144 120 Q/F3 9/Times-Roman@0 SF(,)A F0 +(it is remo)2.25 E -.15(ve)-.15 G 2.5(df).15 G(rom the list of matches.) +-2.5 E F1(HISTCONTR)108 132 Q(OL)-.3 E F0 2.654(Ac)144 144 S .153 +(olon-separated list of v)-2.654 F .153(alues controlling ho)-.25 F +2.653(wc)-.25 G .153(ommands are sa)-2.653 F -.15(ve)-.2 G 2.653(do).15 +G 2.653(nt)-2.653 G .153(he history list.)-2.653 F .153(If the list) +5.153 F .49(of v)144 156 R .49(alues includes)-.25 F/F4 10 +/Times-Italic@0 SF(ignor)2.99 E(espace)-.37 E F0 2.99(,l).18 G .49 +(ines which be)-2.99 F .491(gin with a)-.15 F F1(space)2.991 E F0 .491 +(character are not sa)2.991 F -.15(ve)-.2 G 2.991(di).15 G 2.991(nt) +-2.991 G .491(he his-)-2.991 F .558(tory list.)144 168 R 3.058(Av)5.558 +G .558(alue of)-3.308 F F4(ignor)3.068 E(edups)-.37 E F0 .558 +(causes lines matching the pre)3.328 F .557 +(vious history entry to not be sa)-.25 F -.15(ve)-.2 G(d.).15 E 2.958 +(Av)144 180 S .458(alue of)-3.208 F F4(ignor)2.968 E(eboth)-.37 E F0 +.458(is shorthand for)3.238 F F4(ignor)2.959 E(espace)-.37 E F0(and) +2.959 E F4(ignor)2.959 E(edups)-.37 E F0 5.459(.A)C -.25(va)-2.5 G .459 +(lue of).25 F F4(er)2.959 E(asedups)-.15 E F0(causes)2.959 E .699 +(all pre)144 192 R .698 +(vious lines matching the current line to be remo)-.25 F -.15(ve)-.15 G +3.198(df).15 G .698(rom the history list before that line is)-3.198 F +(sa)144 204 Q -.15(ve)-.2 G 2.763(d. An).15 F 2.763(yv)-.15 G .263 +(alue not in the abo)-3.013 F .563 -.15(ve l)-.15 H .263 +(ist is ignored.).15 F(If)5.263 E F2(HISTCONTR)2.763 E(OL)-.27 E F0 .264 +(is unset, or does not include)2.513 F 2.942(av)144 216 S .442(alid v) +-3.192 F .442(alue, all lines read by the shell parser are sa)-.25 F +-.15(ve)-.2 G 2.941(do).15 G 2.941(nt)-2.941 G .441 +(he history list, subject to the v)-2.941 F .441(alue of)-.25 F F2 +(HISTIGNORE)144 228 Q F3(.)A F0 1.981(The second and subsequent lines o\ +f a multi-line compound command are not)6.481 F +(tested, and are added to the history re)144 240 Q -.05(ga)-.15 G +(rdless of the v).05 E(alue of)-.25 E F2(HISTCONTR)2.5 E(OL)-.27 E F3(.) +A F1(HISTFILE)108 252 Q F0 .181 +(The name of the \214le in which command history is sa)144 264 R -.15 +(ve)-.2 G 2.681(d\().15 G(see)-2.681 E F2(HIST)2.681 E(OR)-.162 E(Y) +-.315 E F0(belo)2.431 E 2.681(w\). The)-.25 F(def)2.681 E .181(ault v) +-.1 F(alue)-.25 E(is)144 276 Q F4(~/.bash_history)2.5 E F0 5(.I)C 2.5 +(fu)-5 G(nset, the command history is not sa)-2.5 E -.15(ve)-.2 G 2.5 +(dw).15 G(hen an interacti)-2.5 E .3 -.15(ve s)-.25 H(hell e).15 E +(xits.)-.15 E F1(HISTFILESIZE)108 288 Q F0 1.622 +(The maximum number of lines contained in the history \214le.)144 300 R +1.623(When this v)6.623 F 1.623(ariable is assigned a)-.25 F -.25(va)144 +312 S .305(lue, the history \214le is truncated, if necessary).25 F 2.805(,b)-.65 G 2.805(yr)-2.805 G(emo)-2.805 E .305 -(ving the oldest entries, to contain no more)-.15 F .602 -(than that number of lines.)144 156 R .602(The def)5.602 F .602(ault v) --.1 F .602(alue is 500.)-.25 F .601 +(ving the oldest entries, to contain no more)-.15 F .601 +(than that number of lines.)144 324 R .601(The def)5.601 F .602(ault v) +-.1 F .602(alue is 500.)-.25 F .602 (The history \214le is also truncated to this size)5.602 F -(after writing it when an interacti)144 168 Q .3 -.15(ve s)-.25 H -(hell e).15 E(xits.)-.15 E F1(HISTIGNORE)108 180 Q F0 2.657(Ac)144 192 S -.157(olon-separated list of patterns used to decide which command lines\ - should be sa)-2.657 F -.15(ve)-.2 G 2.658(do).15 G 2.658(nt)-2.658 G -.158(he his-)-2.658 F .708(tory list.)144 204 R .708 -(Each pattern is anchored at the be)5.708 F .707 -(ginning of the line and must match the complete line)-.15 F .625 -(\(no implicit `)144 216 R F1(*)A F0 3.125('i)C 3.125(sa)-3.125 G 3.125 -(ppended\). Each)-3.125 F .626(pattern is tested ag)3.125 F .626 +(after writing it when an interacti)144 336 Q .3 -.15(ve s)-.25 H +(hell e).15 E(xits.)-.15 E F1(HISTIGNORE)108 348 Q F0 2.658(Ac)144 360 S +.158(olon-separated list of patterns used to decide which command lines\ + should be sa)-2.658 F -.15(ve)-.2 G 2.657(do).15 G 2.657(nt)-2.657 G +.157(he his-)-2.657 F .707(tory list.)144 372 R .707 +(Each pattern is anchored at the be)5.707 F .708 +(ginning of the line and must match the complete line)-.15 F .626 +(\(no implicit `)144 384 R F1(*)A F0 3.126('i)C 3.126(sa)-3.126 G 3.126 +(ppended\). Each)-3.126 F .626(pattern is tested ag)3.126 F .625 (ainst the line after the checks speci\214ed by)-.05 F F2(HISTCONTR)144 -228 Q(OL)-.27 E F0 1.793(are applied.)4.043 F 1.793 +396 Q(OL)-.27 E F0 1.793(are applied.)4.043 F 1.793 (In addition to the normal shell pattern matching characters, `)6.793 F -F1(&)A F0(')A 2.514(matches the pre)144 240 R 2.514(vious history line.) +F1(&)A F0(')A 2.515(matches the pre)144 408 R 2.515(vious history line.) -.25 F(`)7.514 E F1(&)A F0 5.014('m)C 2.514 -(ay be escaped using a backslash; the backslash is)-5.014 F(remo)144 252 -Q -.15(ve)-.15 G 3.353(db).15 G .853(efore attempting a match.)-3.353 F +(ay be escaped using a backslash; the backslash is)-5.014 F(remo)144 420 +Q -.15(ve)-.15 G 3.352(db).15 G .852(efore attempting a match.)-3.352 F .852(The second and subsequent lines of a multi-line compound)5.852 F -(command are not tested, and are added to the history re)144 264 Q -.05 -(ga)-.15 G(rdless of the v).05 E(alue of)-.25 E F2(HISTIGNORE)2.5 E/F4 9 -/Times-Roman@0 SF(.)A F1(HISTSIZE)108 276 Q F0 1.942 -(The number of commands to remember in the command history \(see)144 288 -R F2(HIST)4.443 E(OR)-.162 E(Y)-.315 E F0(belo)4.193 E 4.443(w\). The) --.25 F(def)144 300 Q(ault v)-.1 E(alue is 500.)-.25 E F1(HISTTIMEFORMA) -108 312 Q(T)-.95 E F0 .952(If this v)144 324 R .952 -(ariable is set and not null, its v)-.25 F .951 -(alue is used as a format string for)-.25 F F3(strftime)3.451 E F0 .951 -(\(3\) to print the)B .672 -(time stamp associated with each history entry displayed by the)144 336 -R F1(history)3.173 E F0 -.2(bu)3.173 G 3.173(iltin. If).2 F .673(this v) -3.173 F .673(ariable is)-.25 F .144 -(set, time stamps are written to the history \214le so the)144 348 R +(command are not tested, and are added to the history re)144 432 Q -.05 +(ga)-.15 G(rdless of the v).05 E(alue of)-.25 E F2(HISTIGNORE)2.5 E F3 +(.)A F1(HISTSIZE)108 444 Q F0 1.942 +(The number of commands to remember in the command history \(see)144 456 +R F2(HIST)4.442 E(OR)-.162 E(Y)-.315 E F0(belo)4.192 E 4.442(w\). The) +-.25 F(def)144 468 Q(ault v)-.1 E(alue is 500.)-.25 E F1(HISTTIMEFORMA) +108 480 Q(T)-.95 E F0 .951(If this v)144 492 R .951 +(ariable is set and not null, its v)-.25 F .952 +(alue is used as a format string for)-.25 F F4(strftime)3.452 E F0 .952 +(\(3\) to print the)B .673 +(time stamp associated with each history entry displayed by the)144 504 +R F1(history)3.173 E F0 -.2(bu)3.172 G 3.172(iltin. If).2 F .672(this v) +3.172 F .672(ariable is)-.25 F .144 +(set, time stamps are written to the history \214le so the)144 516 R 2.644(ym)-.15 G .144(ay be preserv)-2.644 F .144 -(ed across shell sessions.)-.15 F(This)5.144 E(uses the history comment\ - character to distinguish timestamps from other history lines.)144 360 Q -F1(HOME)108 372 Q F0 1.27 -(The home directory of the current user; the def)144 384 R 1.27(ault ar) +(ed across shell sessions.)-.15 F(This)5.145 E(uses the history comment\ + character to distinguish timestamps from other history lines.)144 528 Q +F1(HOME)108 540 Q F0 1.27 +(The home directory of the current user; the def)144 552 R 1.27(ault ar) -.1 F 1.27(gument for the)-.18 F F1(cd)3.77 E F0 -.2(bu)3.77 G 1.27 -(iltin command.).2 F(The)6.27 E -.25(va)144 396 S(lue of this v).25 E +(iltin command.).2 F(The)6.27 E -.25(va)144 564 S(lue of this v).25 E (ariable is also used when performing tilde e)-.25 E(xpansion.)-.15 E F1 -(HOSTFILE)108 408 Q F0 1.015 -(Contains the name of a \214le in the same format as)144 420 R F3 +(HOSTFILE)108 576 Q F0 1.015 +(Contains the name of a \214le in the same format as)144 588 R F4 (/etc/hosts)5.181 E F0 1.015(that should be read when the shell)5.181 F -.55(needs to complete a hostname.)144 432 R .551 +.551(needs to complete a hostname.)144 600 R .551 (The list of possible hostname completions may be changed while)5.551 F -1.059(the shell is running; the ne)144 444 R 1.059 -(xt time hostname completion is attempted after the v)-.15 F 1.058 -(alue is changed,)-.25 F F1(bash)144 456 Q F0 .138 -(adds the contents of the ne)2.638 F 2.638<778c>-.25 G .138(le to the e) +1.058(the shell is running; the ne)144 612 R 1.059 +(xt time hostname completion is attempted after the v)-.15 F 1.059 +(alue is changed,)-.25 F F1(bash)144 624 Q F0 .138 +(adds the contents of the ne)2.639 F 2.638<778c>-.25 G .138(le to the e) -2.638 F .138(xisting list.)-.15 F(If)5.138 E F2(HOSTFILE)2.638 E F0 -.138(is set, b)2.388 F .139(ut has no v)-.2 F .139(alue, or)-.25 F .518 -(does not name a readable \214le,)144 468 R F1(bash)3.018 E F0 .518 -(attempts to read)3.018 F F3(/etc/hosts)4.683 E F0 .517 -(to obtain the list of possible host-)4.683 F(name completions.)144 480 +.138(is set, b)2.388 F .138(ut has no v)-.2 F .138(alue, or)-.25 F .517 +(does not name a readable \214le,)144 636 R F1(bash)3.017 E F0 .517 +(attempts to read)3.017 F F4(/etc/hosts)4.684 E F0 .518 +(to obtain the list of possible host-)4.684 F(name completions.)144 648 Q(When)5 E F2(HOSTFILE)2.5 E F0(is unset, the hostname list is cleared.) -2.25 E F1(IFS)108 492 Q F0(The)20.44 E F3 .555(Internal F)3.635 F .555 -(ield Separ)-.45 F(ator)-.15 E F0 .555(that is used for w)3.785 F .556 -(ord splitting after e)-.1 F .556(xpansion and to split lines into)-.15 -F -.1(wo)144 504 S(rds with the).1 E F1 -.18(re)2.5 G(ad).18 E F0 -.2 +2.25 E F1(IFS)108 660 Q F0(The)20.44 E F4 .556(Internal F)3.636 F .556 +(ield Separ)-.45 F(ator)-.15 E F0 .556(that is used for w)3.786 F .556 +(ord splitting after e)-.1 F .555(xpansion and to split lines into)-.15 +F -.1(wo)144 672 S(rds with the).1 E F1 -.18(re)2.5 G(ad).18 E F0 -.2 (bu)2.5 G(iltin command.).2 E(The def)5 E(ault v)-.1 E(alue is `)-.25 E -(`')-.25 E('.)-.74 E F1(IGNOREEOF)108 516 Q -F0 .503(Controls the action of an interacti)144 528 R .803 -.15(ve s) +(`')-.25 E('.)-.74 E F1(IGNOREEOF)108 684 Q +F0 .503(Controls the action of an interacti)144 696 R .803 -.15(ve s) -.25 H .503(hell on receipt of an).15 F F2(EOF)3.003 E F0 .503 -(character as the sole input.)2.753 F .503(If set,)5.503 F .426(the v) -144 540 R .426(alue is the number of consecuti)-.25 F -.15(ve)-.25 G F2 +(character as the sole input.)2.753 F .504(If set,)5.504 F .426(the v) +144 708 R .426(alue is the number of consecuti)-.25 F -.15(ve)-.25 G F2 (EOF)3.076 E F0 .426 -(characters which must be typed as the \214rst characters)2.676 F .303 -(on an input line before)144 552 R F1(bash)2.802 E F0 -.15(ex)2.802 G +(characters which must be typed as the \214rst characters)2.676 F .302 +(on an input line before)144 720 R F1(bash)2.802 E F0 -.15(ex)2.802 G 2.802(its. If).15 F .302(the v)2.802 F .302(ariable e)-.25 F .302 (xists b)-.15 F .302(ut does not ha)-.2 F .602 -.15(ve a n)-.2 H .302 -(umeric v).15 F .302(alue, or has)-.25 F(no v)144 564 Q(alue, the def) --.25 E(ault v)-.1 E(alue is 10.)-.25 E(If it does not e)5 E(xist,)-.15 E -F2(EOF)2.5 E F0(signi\214es the end of input to the shell.)2.25 E F1 -(INPUTRC)108 576 Q F0 1.435(The \214lename for the)144 588 R F1 -.18(re) -3.936 G(adline).18 E F0 1.436(startup \214le, o)3.936 F -.15(ve)-.15 G -1.436(rriding the def).15 F 1.436(ault of)-.1 F F3(~/.inputr)5.602 E(c) --.37 E F0(\(see)5.602 E F2(READLINE)3.936 E F0(belo)144 600 Q(w\).)-.25 -E F1(LANG)108 612 Q F0 1.24(Used to determine the locale cate)7.11 F -1.239(gory for an)-.15 F 3.739(yc)-.15 G(ate)-3.739 E 1.239 -(gory not speci\214cally selected with a v)-.15 F(ariable)-.25 E -(starting with)144 624 Q F1(LC_)2.5 E F0(.)A F1(LC_ALL)108 636 Q F0 .973 -(This v)144 648 R .973(ariable o)-.25 F -.15(ve)-.15 G .973 -(rrides the v).15 F .973(alue of)-.25 F F2(LANG)3.473 E F0 .973(and an) -3.223 F 3.473(yo)-.15 G(ther)-3.473 E F1(LC_)3.473 E F0 -.25(va)3.473 G -.974(riable specifying a locale cate-).25 F(gory)144 660 Q(.)-.65 E F1 -(LC_COLLA)108 672 Q(TE)-.95 E F0 .412(This v)144 684 R .412(ariable det\ -ermines the collation order used when sorting the results of pathname e) --.25 F(xpansion,)-.15 E 1.464(and determines the beha)144 696 R 1.464 -(vior of range e)-.2 F 1.465(xpressions, equi)-.15 F -.25(va)-.25 G -1.465(lence classes, and collating sequences).25 F(within pathname e)144 -708 Q(xpansion and pattern matching.)-.15 E(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(14)195.945 E 0 Cg EP +(umeric v).15 F .303(alue, or has)-.25 F(GNU Bash-4.1)72 768 Q +(2010 May 30)147.345 E(14)197.335 E 0 Cg EP %%Page: 15 15 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(LC_CTYPE)108 84 Q F0 1.936(This v)144 96 R -1.936(ariable determines the interpretation of characters and the beha) --.25 F 1.935(vior of character classes)-.2 F(within pathname e)144 108 Q -(xpansion and pattern matching.)-.15 E F1(LC_MESSA)108 120 Q(GES)-.55 E -F0(This v)144 132 Q(ariable determines the locale used to translate dou\ -ble-quoted strings preceded by a)-.25 E F1($)2.5 E F0(.)A F1(LC_NUMERIC) -108 144 Q F0(This v)144 156 Q(ariable determines the locale cate)-.25 E -(gory used for number formatting.)-.15 E F1(LINES)108 168 Q F0 1.218 -(Used by the)5.99 F F1(select)3.718 E F0 -.2(bu)3.718 G 1.219(iltin com\ +-.35 E(no v)144 84 Q(alue, the def)-.25 E(ault v)-.1 E(alue is 10.)-.25 +E(If it does not e)5 E(xist,)-.15 E/F1 9/Times-Bold@0 SF(EOF)2.5 E F0 +(signi\214es the end of input to the shell.)2.25 E/F2 10/Times-Bold@0 SF +(INPUTRC)108 96 Q F0 1.436(The \214lename for the)144 108 R F2 -.18(re) +3.936 G(adline).18 E F0 1.436(startup \214le, o)3.936 F -.15(ve)-.15 G +1.436(rriding the def).15 F 1.436(ault of)-.1 F/F3 10/Times-Italic@0 SF +(~/.inputr)5.602 E(c)-.37 E F0(\(see)5.601 E F1(READLINE)3.935 E F0 +(belo)144 120 Q(w\).)-.25 E F2(LANG)108 132 Q F0 1.239 +(Used to determine the locale cate)7.11 F 1.239(gory for an)-.15 F 3.739 +(yc)-.15 G(ate)-3.739 E 1.24(gory not speci\214cally selected with a v) +-.15 F(ariable)-.25 E(starting with)144 144 Q F2(LC_)2.5 E F0(.)A F2 +(LC_ALL)108 156 Q F0 .974(This v)144 168 R .974(ariable o)-.25 F -.15 +(ve)-.15 G .974(rrides the v).15 F .973(alue of)-.25 F F1(LANG)3.473 E +F0 .973(and an)3.223 F 3.473(yo)-.15 G(ther)-3.473 E F2(LC_)3.473 E F0 +-.25(va)3.473 G .973(riable specifying a locale cate-).25 F(gory)144 180 +Q(.)-.65 E F2(LC_COLLA)108 192 Q(TE)-.95 E F0 .411(This v)144 204 R .412 +(ariable determines the collation order used when sorting the results o\ +f pathname e)-.25 F(xpansion,)-.15 E 1.465(and determines the beha)144 +216 R 1.465(vior of range e)-.2 F 1.464(xpressions, equi)-.15 F -.25(va) +-.25 G 1.464(lence classes, and collating sequences).25 F +(within pathname e)144 228 Q(xpansion and pattern matching.)-.15 E F2 +(LC_CTYPE)108 240 Q F0 1.935(This v)144 252 R 1.936 +(ariable determines the interpretation of characters and the beha)-.25 F +1.936(vior of character classes)-.2 F(within pathname e)144 264 Q +(xpansion and pattern matching.)-.15 E F2(LC_MESSA)108 276 Q(GES)-.55 E +F0(This v)144 288 Q(ariable determines the locale used to translate dou\ +ble-quoted strings preceded by a)-.25 E F2($)2.5 E F0(.)A F2(LC_NUMERIC) +108 300 Q F0(This v)144 312 Q(ariable determines the locale cate)-.25 E +(gory used for number formatting.)-.15 E F2(LINES)108 324 Q F0 1.219 +(Used by the)5.99 F F2(select)3.719 E F0 -.2(bu)3.719 G 1.218(iltin com\ mand to determine the column length for printing selection lists.).2 F -(Automatically set upon receipt of a)144 180 Q/F2 9/Times-Bold@0 SF -(SIGWINCH)2.5 E/F3 9/Times-Roman@0 SF(.)A F1(MAIL)108 192 Q F0 .188 -(If this parameter is set to a \214le name and the)8.78 F F2(MAILP)2.687 -E -.855(AT)-.666 G(H).855 E F0 -.25(va)2.437 G .187(riable is not set,) -.25 F F1(bash)2.687 E F0 .187(informs the user)2.687 F(of the arri)144 -204 Q -.25(va)-.25 G 2.5(lo).25 G 2.5(fm)-2.5 G -(ail in the speci\214ed \214le.)-2.5 E F1(MAILCHECK)108 216 Q F0 .098 -(Speci\214es ho)144 228 R 2.598(wo)-.25 G .098(ften \(in seconds\)) --2.598 F F1(bash)2.598 E F0 .098(checks for mail.)2.598 F .098(The def) -5.098 F .098(ault is 60 seconds.)-.1 F .099(When it is time)5.099 F .224 +(Automatically set upon receipt of a)144 336 Q F1(SIGWINCH)2.5 E/F4 9 +/Times-Roman@0 SF(.)A F2(MAIL)108 348 Q F0 .187 +(If this parameter is set to a \214le name and the)8.78 F F1(MAILP)2.687 +E -.855(AT)-.666 G(H).855 E F0 -.25(va)2.438 G .188(riable is not set,) +.25 F F2(bash)2.688 E F0 .188(informs the user)2.688 F(of the arri)144 +360 Q -.25(va)-.25 G 2.5(lo).25 G 2.5(fm)-2.5 G +(ail in the speci\214ed \214le.)-2.5 E F2(MAILCHECK)108 372 Q F0 .099 +(Speci\214es ho)144 384 R 2.599(wo)-.25 G .099(ften \(in seconds\)) +-2.599 F F2(bash)2.598 E F0 .098(checks for mail.)2.598 F .098(The def) +5.098 F .098(ault is 60 seconds.)-.1 F .098(When it is time)5.098 F .223 (to check for mail, the shell does so before displaying the primary pro\ -mpt.)144 240 R .223(If this v)5.223 F .223(ariable is unset,)-.25 F .066 -(or set to a v)144 252 R .066(alue that is not a number greater than or\ - equal to zero, the shell disables mail checking.)-.25 F F1(MAILP)108 -264 Q -.95(AT)-.74 G(H).95 E F0 2.815(Ac)144 276 S .314 -(olon-separated list of \214le names to be check)-2.815 F .314 +mpt.)144 396 R .224(If this v)5.224 F .224(ariable is unset,)-.25 F .066 +(or set to a v)144 408 R .066(alue that is not a number greater than or\ + equal to zero, the shell disables mail checking.)-.25 F F2(MAILP)108 +420 Q -.95(AT)-.74 G(H).95 E F0 2.814(Ac)144 432 S .314 +(olon-separated list of \214le names to be check)-2.814 F .314 (ed for mail.)-.1 F .314(The message to be printed when mail)5.314 F -(arri)144 288 Q -.15(ve)-.25 G 3.42(si).15 G 3.42(nap)-3.42 G .92(artic\ +(arri)144 444 Q -.15(ve)-.25 G 3.42(si).15 G 3.42(nap)-3.42 G .92(artic\ ular \214le may be speci\214ed by separating the \214le name from the m\ -essage with a)-3.42 F 2.808(`?'. When)144 300 R .308(used in the te) -2.808 F .308(xt of the message,)-.15 F F1($_)2.808 E F0 -.15(ex)2.808 G -.308(pands to the name of the current mail\214le.).15 F(Exam-)5.307 E -(ple:)144 312 Q F1(MAILP)144 324 Q -.95(AT)-.74 G(H).95 E F0(=\010/v)A +essage with a)-3.42 F 2.807(`?'. When)144 456 R .307(used in the te) +2.807 F .308(xt of the message,)-.15 F F2($_)2.808 E F0 -.15(ex)2.808 G +.308(pands to the name of the current mail\214le.).15 F(Exam-)5.308 E +(ple:)144 468 Q F2(MAILP)144 480 Q -.95(AT)-.74 G(H).95 E F0(=\010/v)A (ar/mail/bfox?"Y)-.25 E(ou ha)-1.1 E .3 -.15(ve m)-.2 H -(ail":~/shell\255mail?"$_ has mail!"\010).15 E F1(Bash)144 336 Q F0 .388 -(supplies a def)2.888 F .388(ault v)-.1 F .388(alue for this v)-.25 F -.388(ariable, b)-.25 F .389 +(ail":~/shell\255mail?"$_ has mail!"\010).15 E F2(Bash)144 492 Q F0 .389 +(supplies a def)2.889 F .389(ault v)-.1 F .389(alue for this v)-.25 F +.389(ariable, b)-.25 F .388 (ut the location of the user mail \214les that it uses is)-.2 F -(system dependent \(e.g., /v)144 348 Q(ar/mail/)-.25 E F1($USER)A F0 -(\).)A F1(OPTERR)108 360 Q F0 .39(If set to the v)144 372 R .39(alue 1,) --.25 F F1(bash)2.89 E F0 .389(displays error messages generated by the) -2.889 F F1(getopts)2.889 E F0 -.2(bu)2.889 G .389(iltin command \(see).2 -F F2 .359(SHELL B)144 384 R(UIL)-.09 E .359(TIN COMMANDS)-.828 F F0 -(belo)2.609 E(w\).)-.25 E F2(OPTERR)5.359 E F0 .36 -(is initialized to 1 each time the shell is in)2.609 F -.2(vo)-.4 G -.1 -(ke).2 G(d).1 E(or a shell script is e)144 396 Q -.15(xe)-.15 G(cuted.) -.15 E F1 -.74(PA)108 408 S(TH)-.21 E F0 .588 -(The search path for commands.)9.91 F .587 +(system dependent \(e.g., /v)144 504 Q(ar/mail/)-.25 E F2($USER)A F0 +(\).)A F2(OPTERR)108 516 Q F0 .389(If set to the v)144 528 R .389 +(alue 1,)-.25 F F2(bash)2.889 E F0 .389 +(displays error messages generated by the)2.889 F F2(getopts)2.89 E F0 +-.2(bu)2.89 G .39(iltin command \(see).2 F F1 .36(SHELL B)144 540 R(UIL) +-.09 E .36(TIN COMMANDS)-.828 F F0(belo)2.61 E(w\).)-.25 E F1(OPTERR) +5.36 E F0 .359(is initialized to 1 each time the shell is in)2.61 F -.2 +(vo)-.4 G -.1(ke).2 G(d).1 E(or a shell script is e)144 552 Q -.15(xe) +-.15 G(cuted.).15 E F2 -.74(PA)108 564 S(TH)-.21 E F0 .587 +(The search path for commands.)9.91 F .588 (It is a colon-separated list of directories in which the shell looks) -5.588 F .471(for commands \(see)144 420 R F2 .471(COMMAND EXECUTION) -2.971 F F0(belo)2.722 E 2.972(w\). A)-.25 F .472 -(zero-length \(null\) directory name in the)2.972 F -.25(va)144 432 S -.536(lue of).25 F F2 -.666(PA)3.036 G(TH)-.189 E F0 .535 -(indicates the current directory)2.786 F 5.535(.A)-.65 G .535 -(null directory name may appear as tw)-2.5 F 3.035(oa)-.1 G(djacent) --3.035 E .867(colons, or as an initial or trailing colon.)144 444 R .868 -(The def)5.868 F .868(ault path is system-dependent, and is set by the) --.1 F 26.329(administrator who installs)144 456 R F1(bash)28.829 E F0 -31.329(.A)C 26.328(common v)-2.501 F 26.328(alue is)-.25 F/F4 10 -/Courier@0 SF(/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin)144 468 -Q F0(.)A F1(POSIXL)108 480 Q(Y_CORRECT)-.92 E F0 .471(If this v)144 492 -R .471(ariable is in the en)-.25 F .471(vironment when)-.4 F F1(bash) -2.971 E F0 .471(starts, the shell enters)2.971 F/F5 10/Times-Italic@0 SF -.472(posix mode)2.972 F F0 .472(before reading)2.972 F .011 -(the startup \214les, as if the)144 504 R F1(\255\255posix)2.511 E F0 -(in)2.511 E -.2(vo)-.4 G .011(cation option had been supplied.).2 F .011 -(If it is set while the shell is)5.011 F(running,)144 516 Q F1(bash)2.5 -E F0(enables)2.5 E F5(posix mode)2.5 E F0 2.5(,a)C 2.5(si)-2.5 G 2.5(ft) --2.5 G(he command)-2.5 E F4(set -o posix)2.5 E F0(had been e)2.5 E -.15 -(xe)-.15 G(cuted.).15 E F1(PR)108 528 Q(OMPT_COMMAND)-.3 E F0 -(If set, the v)144 540 Q(alue is e)-.25 E -.15(xe)-.15 G -(cuted as a command prior to issuing each primary prompt.).15 E F1(PR) -108 552 Q(OMPT_DIR)-.3 E(TRIM)-.4 E F0 .676 -(If set to a number greater than zero, the v)144 564 R .676 +5.587 F .472(for commands \(see)144 576 R F1 .472(COMMAND EXECUTION) +2.972 F F0(belo)2.722 E 2.972(w\). A)-.25 F .471 +(zero-length \(null\) directory name in the)2.972 F -.25(va)144 588 S +.535(lue of).25 F F1 -.666(PA)3.035 G(TH)-.189 E F0 .535 +(indicates the current directory)2.785 F 5.535(.A)-.65 G .535 +(null directory name may appear as tw)-2.5 F 3.036(oa)-.1 G(djacent) +-3.036 E .868(colons, or as an initial or trailing colon.)144 600 R .868 +(The def)5.868 F .867(ault path is system-dependent, and is set by the) +-.1 F 26.328(administrator who installs)144 612 R F2(bash)28.828 E F0 +31.329(.A)C 26.329(common v)-2.5 F 26.329(alue is)-.25 F/F5 10/Courier@0 +SF(/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin)144 624 Q F0(.)A +F2(POSIXL)108 636 Q(Y_CORRECT)-.92 E F0 .472(If this v)144 648 R .472 +(ariable is in the en)-.25 F .471(vironment when)-.4 F F2(bash)2.971 E +F0 .471(starts, the shell enters)2.971 F F3 .471(posix mode)2.971 F F0 +.471(before reading)2.971 F .011(the startup \214les, as if the)144 660 +R F2(\255\255posix)2.511 E F0(in)2.511 E -.2(vo)-.4 G .011 +(cation option had been supplied.).2 F .011 +(If it is set while the shell is)5.011 F(running,)144 672 Q F2(bash)2.5 +E F0(enables)2.5 E F3(posix mode)2.5 E F0 2.5(,a)C 2.5(si)-2.5 G 2.5(ft) +-2.5 G(he command)-2.5 E F5(set -o posix)2.5 E F0(had been e)2.5 E -.15 +(xe)-.15 G(cuted.).15 E F2(PR)108 684 Q(OMPT_COMMAND)-.3 E F0 +(If set, the v)144 696 Q(alue is e)-.25 E -.15(xe)-.15 G +(cuted as a command prior to issuing each primary prompt.).15 E +(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(15)197.335 E 0 Cg EP +%%Page: 16 16 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF(PR)108 84 Q(OMPT_DIR)-.3 E(TRIM)-.4 E F0 +.676(If set to a number greater than zero, the v)144 96 R .676 (alue is used as the number of trailing directory compo-)-.25 F .923 -(nents to retain when e)144 576 R .923(xpanding the)-.15 F F1(\\w)3.423 +(nents to retain when e)144 108 R .923(xpanding the)-.15 F F1(\\w)3.423 E F0(and)3.423 E F1(\\W)3.423 E F0 .923(prompt string escapes \(see) -3.423 F F2(PR)3.423 E(OMPTING)-.27 E F0(belo)3.173 E(w\).)-.25 E -(Characters remo)144 588 Q -.15(ve)-.15 G 2.5(da).15 G -(re replaced with an ellipsis.)-2.5 E F1(PS1)108 600 Q F0 .064(The v) +3.423 F/F2 9/Times-Bold@0 SF(PR)3.423 E(OMPTING)-.27 E F0(belo)3.173 E +(w\).)-.25 E(Characters remo)144 120 Q -.15(ve)-.15 G 2.5(da).15 G +(re replaced with an ellipsis.)-2.5 E F1(PS1)108 132 Q F0 .065(The v) 19.33 F .065(alue of this parameter is e)-.25 F .065(xpanded \(see)-.15 F F2(PR)2.565 E(OMPTING)-.27 E F0(belo)2.315 E .065 -(w\) and used as the primary prompt)-.25 F 2.5(string. The)144 612 R +(w\) and used as the primary prompt)-.25 F 2.5(string. The)144 144 R (def)2.5 E(ault v)-.1 E(alue is `)-.25 E(`)-.74 E F1(\\s\255\\v\\$)A F0 --.74('')2.5 G(.).74 E F1(PS2)108 624 Q F0 .118(The v)19.33 F .118 -(alue of this parameter is e)-.25 F .118(xpanded as with)-.15 F F2(PS1) -2.617 E F0 .117(and used as the secondary prompt string.)2.367 F(The) -5.117 E(def)144 636 Q(ault is `)-.1 E(`)-.74 E F1(>)A F0 -.74('')2.5 G -(.).74 E F1(PS3)108 648 Q F0 1.115(The v)19.33 F 1.115 +-.74('')2.5 G(.).74 E F1(PS2)108 156 Q F0 .117(The v)19.33 F .117 +(alue of this parameter is e)-.25 F .117(xpanded as with)-.15 F F2(PS1) +2.617 E F0 .118(and used as the secondary prompt string.)2.368 F(The) +5.118 E(def)144 168 Q(ault is `)-.1 E(`)-.74 E F1(>)A F0 -.74('')2.5 G +(.).74 E F1(PS3)108 180 Q F0 1.116(The v)19.33 F 1.115 (alue of this parameter is used as the prompt for the)-.25 F F1(select) -3.615 E F0 1.116(command \(see)3.616 F F2 1.116(SHELL GRAM-)3.616 F(MAR) -144 660 Q F0(abo)2.25 E -.15(ve)-.15 G(\).).15 E F1(PS4)108 672 Q F0 -.101(The v)19.33 F .101(alue of this parameter is e)-.25 F .101 -(xpanded as with)-.15 F F2(PS1)2.6 E F0 .1(and the v)2.35 F .1 -(alue is printed before each command)-.25 F F1(bash)144 684 Q F0 .291 -(displays during an e)2.791 F -.15(xe)-.15 G .292(cution trace.).15 F -.292(The \214rst character of)5.292 F F2(PS4)2.792 E F0 .292 -(is replicated multiple times, as)2.542 F(necessary)144 696 Q 2.5(,t) +3.615 E F0 1.115(command \(see)3.615 F F2 1.115(SHELL GRAM-)3.615 F(MAR) +144 192 Q F0(abo)2.25 E -.15(ve)-.15 G(\).).15 E F1(PS4)108 204 Q F0 .1 +(The v)19.33 F .1(alue of this parameter is e)-.25 F .1(xpanded as with) +-.15 F F2(PS1)2.6 E F0 .101(and the v)2.35 F .101 +(alue is printed before each command)-.25 F F1(bash)144 216 Q F0 .292 +(displays during an e)2.792 F -.15(xe)-.15 G .292(cution trace.).15 F +.292(The \214rst character of)5.292 F F2(PS4)2.792 E F0 .291 +(is replicated multiple times, as)2.542 F(necessary)144 228 Q 2.5(,t) -.65 G 2.5(oi)-2.5 G(ndicate multiple le)-2.5 E -.15(ve)-.25 G (ls of indirection.).15 E(The def)5 E(ault is `)-.1 E(`)-.74 E F1(+)A F0 --.74('')2.5 G(.).74 E(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(15) -195.945 E 0 Cg EP -%%Page: 16 16 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(SHELL)108 84 Q F0 .664 -(The full pathname to the shell is k)144 96 R .664(ept in this en)-.1 F -.664(vironment v)-.4 F 3.164(ariable. If)-.25 F .663 -(it is not set when the shell)3.164 F(starts,)144 108 Q F1(bash)2.5 E F0 +-.74('')2.5 G(.).74 E F1(SHELL)108 240 Q F0 .663 +(The full pathname to the shell is k)144 252 R .664(ept in this en)-.1 F +.664(vironment v)-.4 F 3.164(ariable. If)-.25 F .664 +(it is not set when the shell)3.164 F(starts,)144 264 Q F1(bash)2.5 E F0 (assigns to it the full pathname of the current user')2.5 E 2.5(sl)-.55 -G(ogin shell.)-2.5 E F1(TIMEFORMA)108 120 Q(T)-.95 E F0 .826(The v)144 -132 R .826 +G(ogin shell.)-2.5 E F1(TIMEFORMA)108 276 Q(T)-.95 E F0 .827(The v)144 +288 R .826 (alue of this parameter is used as a format string specifying ho)-.25 F -3.327(wt)-.25 G .827(he timing information for)-3.327 F .649 -(pipelines pre\214x)144 144 R .649(ed with the)-.15 F F1(time)3.149 E F0 -(reserv)3.149 E .649(ed w)-.15 F .648(ord should be displayed.)-.1 F -(The)5.648 E F1(%)3.148 E F0 .648(character introduces)3.148 F .711 -(an escape sequence that is e)144 156 R .711(xpanded to a time v)-.15 F -.712(alue or other information.)-.25 F .712(The escape sequences)5.712 F -(and their meanings are as follo)144 168 Q -(ws; the braces denote optional portions.)-.25 E F1(%%)144 186 Q F0 2.5 -(Al)30 G(iteral)-2.5 E F1(%)2.5 E F0(.)A F1(%[)144 198 Q/F2 10 +3.326(wt)-.25 G .826(he timing information for)-3.326 F .648 +(pipelines pre\214x)144 300 R .648(ed with the)-.15 F F1(time)3.148 E F0 +(reserv)3.148 E .648(ed w)-.15 F .649(ord should be displayed.)-.1 F +(The)5.649 E F1(%)3.149 E F0 .649(character introduces)3.149 F .712 +(an escape sequence that is e)144 312 R .711(xpanded to a time v)-.15 F +.711(alue or other information.)-.25 F .711(The escape sequences)5.711 F +(and their meanings are as follo)144 324 Q +(ws; the braces denote optional portions.)-.25 E F1(%%)144 342 Q F0 2.5 +(Al)30 G(iteral)-2.5 E F1(%)2.5 E F0(.)A F1(%[)144 354 Q/F3 10 /Times-Italic@0 SF(p)A F1(][l]R)A F0(The elapsed time in seconds.)11.68 -E F1(%[)144 210 Q F2(p)A F1(][l]U)A F0 -(The number of CPU seconds spent in user mode.)11.68 E F1(%[)144 222 Q -F2(p)A F1(][l]S)A F0(The number of CPU seconds spent in system mode.) -13.34 E F1(%P)144 234 Q F0 +E F1(%[)144 366 Q F3(p)A F1(][l]U)A F0 +(The number of CPU seconds spent in user mode.)11.68 E F1(%[)144 378 Q +F3(p)A F1(][l]S)A F0(The number of CPU seconds spent in system mode.) +13.34 E F1(%P)144 390 Q F0 (The CPU percentage, computed as \(%U + %S\) / %R.)33.89 E .87 -(The optional)144 250.8 R F2(p)3.37 E F0 .87(is a digit specifying the) -3.37 F F2(pr)3.37 E(ecision)-.37 E F0 3.37(,t)C .87 -(he number of fractional digits after a decimal)-3.37 F 2.525(point. A) -144 262.8 R -.25(va)2.525 G .025 -(lue of 0 causes no decimal point or fraction to be output.).25 F .026 -(At most three places after the)5.025 F .538 -(decimal point may be speci\214ed; v)144 274.8 R .538(alues of)-.25 F F2 -(p)3.038 E F0 .537(greater than 3 are changed to 3.)3.037 F(If)5.537 E -F2(p)3.037 E F0 .537(is not speci\214ed,)3.037 F(the v)144 286.8 Q -(alue 3 is used.)-.25 E .667(The optional)144 303.6 R F1(l)3.167 E F0 +(The optional)144 406.8 R F3(p)3.37 E F0 .87(is a digit specifying the) +3.37 F F3(pr)3.37 E(ecision)-.37 E F0 3.37(,t)C .87 +(he number of fractional digits after a decimal)-3.37 F 2.526(point. A) +144 418.8 R -.25(va)2.526 G .025 +(lue of 0 causes no decimal point or fraction to be output.).25 F .025 +(At most three places after the)5.025 F .537 +(decimal point may be speci\214ed; v)144 430.8 R .537(alues of)-.25 F F3 +(p)3.037 E F0 .537(greater than 3 are changed to 3.)3.037 F(If)5.538 E +F3(p)3.038 E F0 .538(is not speci\214ed,)3.038 F(the v)144 442.8 Q +(alue 3 is used.)-.25 E .668(The optional)144 459.6 R F1(l)3.168 E F0 .668(speci\214es a longer format, including minutes, of the form)3.168 F -F2(MM)3.168 E F0(m)A F2(SS)A F0(.)A F2(FF)A F0 3.168(s. The)B -.25(va) -3.168 G(lue).25 E(of)144 315.6 Q F2(p)2.5 E F0 -(determines whether or not the fraction is included.)2.5 E .001 -(If this v)144 332.4 R .001(ariable is not set,)-.25 F F1(bash)2.501 E -F0 .001(acts as if it had the v)2.501 F(alue)-.25 E F1($\010\\nr)2.5 E -(eal\\t%3lR\\nuser\\t%3lU\\nsys%3lS\010)-.18 E F0(.)A .494(If the v)144 -344.4 R .494(alue is null, no timing information is displayed.)-.25 F +F3(MM)3.168 E F0(m)A F3(SS)A F0(.)A F3(FF)A F0 3.167(s. The)B -.25(va) +3.167 G(lue).25 E(of)144 471.6 Q F3(p)2.5 E F0 +(determines whether or not the fraction is included.)2.5 E(If this v)144 +488.4 Q(ariable is not set,)-.25 E F1(bash)2.501 E F0 .001 +(acts as if it had the v)2.501 F(alue)-.25 E F1($\010\\nr)2.501 E +(eal\\t%3lR\\nuser\\t%3lU\\nsys%3lS\010)-.18 E F0(.)A .495(If the v)144 +500.4 R .494(alue is null, no timing information is displayed.)-.25 F 2.994(At)5.494 G .494(railing ne)-2.994 F .494 (wline is added when the for)-.25 F(-)-.2 E(mat string is displayed.)144 -356.4 Q F1(TMOUT)108 373.2 Q F0 .941(If set to a v)144 385.2 R .941 -(alue greater than zero,)-.25 F/F3 9/Times-Bold@0 SF(TMOUT)3.441 E F0 -.941(is treated as the def)3.191 F .941(ault timeout for the)-.1 F F1 --.18(re)3.441 G(ad).18 E F0 -.2(bu)3.441 G(iltin.).2 E(The)144 397.2 Q -F1(select)2.81 E F0 .31(command terminates if input does not arri)2.81 F -.611 -.15(ve a)-.25 H(fter).15 E F3(TMOUT)2.811 E F0 .311 -(seconds when input is com-)2.561 F .886(ing from a terminal.)144 409.2 -R .886(In an interacti)5.886 F 1.185 -.15(ve s)-.25 H .885(hell, the v) -.15 F .885(alue is interpreted as the number of seconds to)-.25 F -.1 -(wa)144 421.2 S .546(it for input after issuing the primary prompt.).1 F -F1(Bash)5.546 E F0 .546(terminates after w)3.046 F .546 +512.4 Q F1(TMOUT)108 529.2 Q F0 .941(If set to a v)144 541.2 R .941 +(alue greater than zero,)-.25 F F2(TMOUT)3.441 E F0 .941 +(is treated as the def)3.191 F .941(ault timeout for the)-.1 F F1 -.18 +(re)3.441 G(ad).18 E F0 -.2(bu)3.441 G(iltin.).2 E(The)144 553.2 Q F1 +(select)2.811 E F0 .311(command terminates if input does not arri)2.811 +F .61 -.15(ve a)-.25 H(fter).15 E F2(TMOUT)2.81 E F0 .31 +(seconds when input is com-)2.56 F .885(ing from a terminal.)144 565.2 R +.885(In an interacti)5.885 F 1.185 -.15(ve s)-.25 H .885(hell, the v).15 +F .886(alue is interpreted as the number of seconds to)-.25 F -.1(wa)144 +577.2 S .546(it for input after issuing the primary prompt.).1 F F1 +(Bash)5.546 E F0 .546(terminates after w)3.046 F .546 (aiting for that number of)-.1 F(seconds if input does not arri)144 -433.2 Q -.15(ve)-.25 G(.).15 E F1(TMPDIR)108 450 Q F0 .274(If set,)144 -462 R F1(Bash)2.774 E F0 .274(uses its v)2.774 F .274 -(alue as the name of a directory in which)-.25 F F1(Bash)2.773 E F0 .273 -(creates temporary \214les for the)2.773 F(shell')144 474 Q 2.5(su)-.55 -G(se.)-2.5 E F1(auto_r)108 490.8 Q(esume)-.18 E F0 .53(This v)144 502.8 -R .53(ariable controls ho)-.25 F 3.03(wt)-.25 G .531 -(he shell interacts with the user and job control.)-3.03 F .531 -(If this v)5.531 F .531(ariable is set,)-.25 F .539(single w)144 514.8 R +589.2 Q -.15(ve)-.25 G(.).15 E F1(TMPDIR)108 606 Q F0 .273(If set,)144 +618 R F1(Bash)2.773 E F0 .273(uses its v)2.773 F .274 +(alue as the name of a directory in which)-.25 F F1(Bash)2.774 E F0 .274 +(creates temporary \214les for the)2.774 F(shell')144 630 Q 2.5(su)-.55 +G(se.)-2.5 E F1(auto_r)108 646.8 Q(esume)-.18 E F0 .531(This v)144 658.8 +R .531(ariable controls ho)-.25 F 3.031(wt)-.25 G .531 +(he shell interacts with the user and job control.)-3.031 F .53 +(If this v)5.53 F .53(ariable is set,)-.25 F .538(single w)144 670.8 R .538(ord simple commands without redirections are treated as candidates\ - for resumption of an)-.1 F -.15(ex)144 526.8 S .366(isting stopped job) -.15 F 5.366(.T)-.4 G .366(here is no ambiguity allo)-5.366 F .366 -(wed; if there is more than one job be)-.25 F .367(ginning with)-.15 F -1.125(the string typed, the job most recently accessed is selected.)144 -538.8 R(The)6.125 E F2(name)3.985 E F0 1.124(of a stopped job, in this) -3.805 F(conte)144 550.8 Q 1.132 + for resumption of an)-.1 F -.15(ex)144 682.8 S .367(isting stopped job) +.15 F 5.367(.T)-.4 G .366(here is no ambiguity allo)-5.367 F .366 +(wed; if there is more than one job be)-.25 F .366(ginning with)-.15 F +1.124(the string typed, the job most recently accessed is selected.)144 +694.8 R(The)6.125 E F3(name)3.985 E F0 1.125(of a stopped job, in this) +3.805 F(conte)144 706.8 Q 1.133 (xt, is the command line used to start it.)-.15 F 1.133(If set to the v) -6.133 F(alue)-.25 E F2 -.2(ex)3.633 G(act).2 E F0 3.633(,t).68 G 1.133 -(he string supplied must)-3.633 F .625 -(match the name of a stopped job e)144 562.8 R .624(xactly; if set to) --.15 F F2(substring)3.124 E F0 3.124(,t).22 G .624 -(he string supplied needs to match a)-3.124 F .884 -(substring of the name of a stopped job)144 574.8 R 5.884(.T)-.4 G(he) --5.884 E F2(substring)3.724 E F0 -.25(va)3.604 G .885(lue pro).25 F .885 -(vides functionality analogous to)-.15 F(the)144 586.8 Q F1(%?)3.334 E -F0 .834(job identi\214er \(see)5.834 F F3 .834(JOB CONTR)3.334 F(OL)-.27 -E F0(belo)3.084 E 3.334(w\). If)-.25 F .834(set to an)3.334 F 3.334(yo) --.15 G .834(ther v)-3.334 F .833(alue, the supplied string)-.25 F .315 -(must be a pre\214x of a stopped job')144 598.8 R 2.816(sn)-.55 G .316 -(ame; this pro)-2.816 F .316(vides functionality analogous to the)-.15 F -F1(%)2.816 E F2(string)A F0(job)2.816 E(identi\214er)144 610.8 Q(.)-.55 -E F1(histchars)108 627.6 Q F0 2.07(The tw)144 639.6 R 4.57(oo)-.1 G 4.57 -(rt)-4.57 G 2.07(hree characters which control history e)-4.57 F 2.07 -(xpansion and tok)-.15 F 2.07(enization \(see)-.1 F F3(HIST)4.569 E(OR) --.162 E(Y)-.315 E(EXP)144 651.6 Q(ANSION)-.666 E F0(belo)3.465 E 3.715 -(w\). The)-.25 F 1.215(\214rst character is the)3.715 F F2 1.216 -(history e)3.715 F(xpansion)-.2 E F0(character)3.716 E 3.716(,t)-.4 G -1.216(he character which)-3.716 F .798(signals the start of a history e) -144 663.6 R .798(xpansion, normally `)-.15 F F1(!)A F0 3.298('. The)B -.798(second character is the)3.298 F F2(quic)3.298 E 3.298(ks)-.2 G -(ubstitu-)-3.298 E(tion)144 675.6 Q F0(character)2.739 E 2.739(,w)-.4 G -.239(hich is used as shorthand for re-running the pre)-2.739 F .24 -(vious command entered, substitut-)-.25 F .576 -(ing one string for another in the command.)144 687.6 R .575(The def) -5.575 F .575(ault is `)-.1 F F1(^)A F0 3.075('. The)B .575 -(optional third character is the)3.075 F .223(character which indicates\ - that the remainder of the line is a comment when found as the \214rst \ -char)144 699.6 R(-)-.2 E 1.294(acter of a w)144 711.6 R 1.294 -(ord, normally `)-.1 F F1(#)A F0 3.794('. The)B 1.293 -(history comment character causes history substitution to be)3.794 F -.379(skipped for the remaining w)144 723.6 R .379(ords on the line.)-.1 -F .38(It does not necessarily cause the shell parser to treat)5.379 F -(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(16)195.945 E 0 Cg EP +6.133 F(alue)-.25 E F3 -.2(ex)3.633 G(act).2 E F0 3.632(,t).68 G 1.132 +(he string supplied must)-3.632 F .624 +(match the name of a stopped job e)144 718.8 R .624(xactly; if set to) +-.15 F F3(substring)3.125 E F0 3.125(,t).22 G .625 +(he string supplied needs to match a)-3.125 F .885 +(substring of the name of a stopped job)144 730.8 R 5.884(.T)-.4 G(he) +-5.884 E F3(substring)3.724 E F0 -.25(va)3.604 G .884(lue pro).25 F .884 +(vides functionality analogous to)-.15 F(GNU Bash-4.1)72 768 Q +(2010 May 30)147.345 E(16)197.335 E 0 Cg EP %%Page: 17 17 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(the rest of the line as a comment.)144 84 Q/F1 10/Times-Bold@0 SF -(Arrays)87 100.8 Q(Bash)108 112.8 Q F0(pro)3.391 E .891 -(vides one-dimensional inde)-.15 F -.15(xe)-.15 G 3.391(da).15 G .891 -(nd associati)-3.391 F 1.191 -.15(ve a)-.25 H .891(rray v).15 F 3.391 -(ariables. An)-.25 F 3.391(yv)-.15 G .89(ariable may be used as an) --3.641 F(inde)108 124.8 Q -.15(xe)-.15 G 2.573(da).15 G .073(rray; the) --2.573 F F1(declar)2.573 E(e)-.18 E F0 -.2(bu)2.573 G .073(iltin will e) -.2 F .073(xplicitly declare an array)-.15 F 5.073(.T)-.65 G .074 -(here is no maximum limit on the size of)-5.073 F .329(an array)108 -136.8 R 2.829(,n)-.65 G .329(or an)-2.829 F 2.829(yr)-.15 G .329 -(equirement that members be inde)-2.829 F -.15(xe)-.15 G 2.829(do).15 G -2.829(ra)-2.829 G .328(ssigned contiguously)-2.829 F 5.328(.I)-.65 G -(nde)-5.328 E -.15(xe)-.15 G 2.828(da).15 G .328(rrays are refer)-2.828 -F(-)-.2 E 1.386(enced using inte)108 148.8 R 1.386 -(gers \(including arithmetic e)-.15 F 3.887(xpressions\) and)-.15 F -1.387(are zero-based; associati)3.887 F 1.687 -.15(ve a)-.25 H 1.387 -(rrays are refer).15 F(-)-.2 E(enced using arbitrary strings.)108 160.8 -Q 2.463(An inde)108 177.6 R -.15(xe)-.15 G 4.963(da).15 G 2.463 -(rray is created automatically if an)-4.963 F 4.963(yv)-.15 G 2.462 -(ariable is assigned to using the syntax)-5.213 F/F2 10/Times-Italic@0 -SF(name)4.962 E F0([)A F2(sub-)A(script)108 189.6 Q F0(]=)A F2(value)A -F0 5.682(.T)C(he)-5.682 E F2(subscript)3.522 E F0 .682 -(is treated as an arithmetic e)3.862 F .682(xpression that must e)-.15 F --.25(va)-.25 G .682(luate to a number greater).25 F .75 -(than or equal to zero.)108 201.6 R 2.349 -.8(To e)5.749 H .749 -(xplicitly declare an inde).65 F -.15(xe)-.15 G 3.249(da).15 G(rray) --3.249 E 3.249(,u)-.65 G(se)-3.249 E F1(declar)3.249 E 3.249<65ad>-.18 G -(a)-3.249 E F2(name)3.249 E F0(\(see)3.249 E/F3 9/Times-Bold@0 SF .749 -(SHELL B)3.249 F(UIL)-.09 E(TIN)-.828 E(COMMANDS)108 213.6 Q F0(belo) -2.25 E(w\).)-.25 E F1(declar)5 E 2.5<65ad>-.18 G(a)-2.5 E F2(name)2.5 E -F1([)A F2(subscript)A F1(])A F0(is also accepted; the)2.5 E F2 -(subscript)2.5 E F0(is ignored.)2.5 E(Associati)108 230.4 Q .3 -.15 +-.35 E(the)144 84 Q/F1 10/Times-Bold@0 SF(%?)3.333 E F0 .833 +(job identi\214er \(see)5.833 F/F2 9/Times-Bold@0 SF .834(JOB CONTR) +3.334 F(OL)-.27 E F0(belo)3.084 E 3.334(w\). If)-.25 F .834(set to an) +3.334 F 3.334(yo)-.15 G .834(ther v)-3.334 F .834 +(alue, the supplied string)-.25 F .316 +(must be a pre\214x of a stopped job')144 96 R 2.816(sn)-.55 G .316 +(ame; this pro)-2.816 F .315(vides functionality analogous to the)-.15 F +F1(%)2.815 E/F3 10/Times-Italic@0 SF(string)A F0(job)2.815 E +(identi\214er)144 108 Q(.)-.55 E F1(histchars)108 124.8 Q F0 2.069 +(The tw)144 136.8 R 4.57(oo)-.1 G 4.57(rt)-4.57 G 2.07 +(hree characters which control history e)-4.57 F 2.07(xpansion and tok) +-.15 F 2.07(enization \(see)-.1 F F2(HIST)4.57 E(OR)-.162 E(Y)-.315 E +(EXP)144 148.8 Q(ANSION)-.666 E F0(belo)3.466 E 3.716(w\). The)-.25 F +1.216(\214rst character is the)3.716 F F3 1.215(history e)3.715 F +(xpansion)-.2 E F0(character)3.715 E 3.715(,t)-.4 G 1.215 +(he character which)-3.715 F .798(signals the start of a history e)144 +160.8 R .798(xpansion, normally `)-.15 F F1(!)A F0 3.298('. The)B .798 +(second character is the)3.298 F F3(quic)3.298 E 3.298(ks)-.2 G +(ubstitu-)-3.298 E(tion)144 172.8 Q F0(character)2.74 E 2.74(,w)-.4 G +.239(hich is used as shorthand for re-running the pre)-2.74 F .239 +(vious command entered, substitut-)-.25 F .575 +(ing one string for another in the command.)144 184.8 R .575(The def) +5.575 F .575(ault is `)-.1 F F1(^)A F0 3.075('. The)B .576 +(optional third character is the)3.076 F .223(character which indicates\ + that the remainder of the line is a comment when found as the \214rst \ +char)144 196.8 R(-)-.2 E 1.293(acter of a w)144 208.8 R 1.293 +(ord, normally `)-.1 F F1(#)A F0 3.793('. The)B 1.294 +(history comment character causes history substitution to be)3.794 F .38 +(skipped for the remaining w)144 220.8 R .38(ords on the line.)-.1 F +.379(It does not necessarily cause the shell parser to treat)5.379 F +(the rest of the line as a comment.)144 232.8 Q F1(Arrays)87 249.6 Q +(Bash)108 261.6 Q F0(pro)3.39 E .89(vides one-dimensional inde)-.15 F +-.15(xe)-.15 G 3.39(da).15 G .891(nd associati)-3.39 F 1.191 -.15(ve a) +-.25 H .891(rray v).15 F 3.391(ariables. An)-.25 F 3.391(yv)-.15 G .891 +(ariable may be used as an)-3.641 F(inde)108 273.6 Q -.15(xe)-.15 G +2.574(da).15 G .074(rray; the)-2.574 F F1(declar)2.574 E(e)-.18 E F0 -.2 +(bu)2.574 G .074(iltin will e).2 F .073(xplicitly declare an array)-.15 +F 5.073(.T)-.65 G .073(here is no maximum limit on the size of)-5.073 F +.328(an array)108 285.6 R 2.828(,n)-.65 G .328(or an)-2.828 F 2.828(yr) +-.15 G .329(equirement that members be inde)-2.828 F -.15(xe)-.15 G +2.829(do).15 G 2.829(ra)-2.829 G .329(ssigned contiguously)-2.829 F +5.329(.I)-.65 G(nde)-5.329 E -.15(xe)-.15 G 2.829(da).15 G .329 +(rrays are refer)-2.829 F(-)-.2 E 1.387(enced using inte)108 297.6 R +1.387(gers \(including arithmetic e)-.15 F 3.887(xpressions\) and)-.15 F +1.387(are zero-based; associati)3.887 F 1.686 -.15(ve a)-.25 H 1.386 +(rrays are refer).15 F(-)-.2 E(enced using arbitrary strings.)108 309.6 +Q 2.462(An inde)108 326.4 R -.15(xe)-.15 G 4.962(da).15 G 2.462 +(rray is created automatically if an)-4.962 F 4.963(yv)-.15 G 2.463 +(ariable is assigned to using the syntax)-5.213 F F3(name)4.963 E F0([)A +F3(sub-)A(script)108 338.4 Q F0(]=)A F3(value)A F0 5.682(.T)C(he)-5.682 +E F3(subscript)3.522 E F0 .682(is treated as an arithmetic e)3.862 F +.682(xpression that must e)-.15 F -.25(va)-.25 G .682 +(luate to a number greater).25 F .749(than or equal to zero.)108 350.4 R +2.349 -.8(To e)5.749 H .749(xplicitly declare an inde).65 F -.15(xe)-.15 +G 3.249(da).15 G(rray)-3.249 E 3.249(,u)-.65 G(se)-3.249 E F1(declar) +3.249 E 3.249<65ad>-.18 G(a)-3.249 E F3(name)3.249 E F0(\(see)3.25 E F2 +.75(SHELL B)3.25 F(UIL)-.09 E(TIN)-.828 E(COMMANDS)108 362.4 Q F0(belo) +2.25 E(w\).)-.25 E F1(declar)5 E 2.5<65ad>-.18 G(a)-2.5 E F3(name)2.5 E +F1([)A F3(subscript)A F1(])A F0(is also accepted; the)2.5 E F3 +(subscript)2.5 E F0(is ignored.)2.5 E(Associati)108 379.2 Q .3 -.15 (ve a)-.25 H(rrays are created using).15 E F1(declar)2.5 E 2.5<65ad>-.18 -G(A)-2.5 E F2(name)2.5 E F0(.)A(Attrib)108 247.2 Q .94 +G(A)-2.5 E F3(name)2.5 E F0(.)A(Attrib)108 396 Q .941 (utes may be speci\214ed for an array v)-.2 F .941(ariable using the) --.25 F F1(declar)3.441 E(e)-.18 E F0(and)3.441 E F1 -.18(re)3.441 G -(adonly).18 E F0 -.2(bu)3.441 G 3.441(iltins. Each).2 F(attrib)3.441 E -(ute)-.2 E(applies to all members of an array)108 259.2 Q(.)-.65 E 1.647 -(Arrays are assigned to using compound assignments of the form)108 276 R -F2(name)4.147 E F0(=)A F1(\()A F0 -.25(va)C(lue).25 E F2(1)A F0 1.647 -(... v)4.147 F(alue)-.25 E F2(n)A F1(\))A F0 4.147(,w)C 1.647(here each) --4.147 F F2(value)108 288 Q F0 .122(is of the form [)2.622 F F2 -(subscript)A F0(]=)A F2(string)A F0 5.122(.I)C(nde)-5.122 E -.15(xe)-.15 +-.25 F F1(declar)3.441 E(e)-.18 E F0(and)3.44 E F1 -.18(re)3.44 G +(adonly).18 E F0 -.2(bu)3.44 G 3.44(iltins. Each).2 F(attrib)3.44 E(ute) +-.2 E(applies to all members of an array)108 408 Q(.)-.65 E 1.647 +(Arrays are assigned to using compound assignments of the form)108 424.8 +R F3(name)4.147 E F0(=)A F1(\()A F0 -.25(va)C(lue).25 E F3(1)A F0 1.647 +(... v)4.147 F(alue)-.25 E F3(n)A F1(\))A F0 4.148(,w)C 1.648(here each) +-4.148 F F3(value)108 436.8 Q F0 .122(is of the form [)2.622 F F3 +(subscript)A F0(]=)A F3(string)A F0 5.122(.I)C(nde)-5.122 E -.15(xe)-.15 G 2.622(da).15 G .122(rray assignments do not require the brack)-2.622 F -.122(et and subscript.)-.1 F .164(When assigning to inde)108 300 R -.15 -(xe)-.15 G 2.663(da).15 G .163(rrays, if the optional brack)-2.663 F -.163(ets and subscript are supplied, that inde)-.1 F 2.663(xi)-.15 G -2.663(sa)-2.663 G(ssigned)-2.663 E 1.41(to; otherwise the inde)108 312 R -3.91(xo)-.15 G 3.91(ft)-3.91 G 1.41 -(he element assigned is the last inde)-3.91 F 3.911(xa)-.15 G 1.411 -(ssigned to by the statement plus one.)-3.911 F(Inde)108 324 Q -(xing starts at zero.)-.15 E(When assigning to an associati)108 340.8 Q +.122(et and subscript.)-.1 F .163(When assigning to inde)108 448.8 R +-.15(xe)-.15 G 2.663(da).15 G .163(rrays, if the optional brack)-2.663 F +.163(ets and subscript are supplied, that inde)-.1 F 2.664(xi)-.15 G +2.664(sa)-2.664 G(ssigned)-2.664 E 1.411(to; otherwise the inde)108 +460.8 R 3.911(xo)-.15 G 3.911(ft)-3.911 G 1.411 +(he element assigned is the last inde)-3.911 F 3.91(xa)-.15 G 1.41 +(ssigned to by the statement plus one.)-3.91 F(Inde)108 472.8 Q +(xing starts at zero.)-.15 E(When assigning to an associati)108 489.6 Q .3 -.15(ve a)-.25 H(rray).15 E 2.5(,t)-.65 G(he subscript is required.) --2.5 E .24(This syntax is also accepted by the)108 357.6 R F1(declar) -2.74 E(e)-.18 E F0 -.2(bu)2.739 G 2.739(iltin. Indi).2 F .239 -(vidual array elements may be assigned to using the)-.25 F F2(name)108 -369.6 Q F0([)A F2(subscript)A F0(]=)A F2(value)A F0 -(syntax introduced abo)2.5 E -.15(ve)-.15 G(.).15 E(An)108 386.4 Q 3.575 -(ye)-.15 G 1.075(lement of an array may be referenced using ${)-3.575 F -F2(name)A F0([)A F2(subscript)A F0 3.575(]}. The)B 1.076 -(braces are required to a)3.576 F -.2(vo)-.2 G(id).2 E 1.542 -(con\215icts with pathname e)108 398.4 R 4.041(xpansion. If)-.15 F F2 +-2.5 E .239(This syntax is also accepted by the)108 506.4 R F1(declar) +2.739 E(e)-.18 E F0 -.2(bu)2.739 G 2.739(iltin. Indi).2 F .24 +(vidual array elements may be assigned to using the)-.25 F F3(name)108 +518.4 Q F0([)A F3(subscript)A F0(]=)A F3(value)A F0 +(syntax introduced abo)2.5 E -.15(ve)-.15 G(.).15 E(An)108 535.2 Q 3.576 +(ye)-.15 G 1.076(lement of an array may be referenced using ${)-3.576 F +F3(name)A F0([)A F3(subscript)A F0 3.575(]}. The)B 1.075 +(braces are required to a)3.575 F -.2(vo)-.2 G(id).2 E 1.541 +(con\215icts with pathname e)108 547.2 R 4.041(xpansion. If)-.15 F F3 (subscript)4.041 E F0(is)4.041 E F1(@)4.041 E F0(or)4.041 E F1(*)4.041 E F0 4.041(,t)C 1.541(he w)-4.041 F 1.541(ord e)-.1 F 1.541 -(xpands to all members of)-.15 F F2(name)4.041 E F0(.)A 1.056 -(These subscripts dif)108 410.4 R 1.056(fer only when the w)-.25 F 1.057 -(ord appears within double quotes.)-.1 F 1.057(If the w)6.057 F 1.057 -(ord is double-quoted,)-.1 F(${)108 422.4 Q F2(name)A F0 .521([*]} e)B -.521(xpands to a single w)-.15 F .521(ord with the v)-.1 F .52 +(xpands to all members of)-.15 F F3(name)4.042 E F0(.)A 1.057 +(These subscripts dif)108 559.2 R 1.057(fer only when the w)-.25 F 1.057 +(ord appears within double quotes.)-.1 F 1.056(If the w)6.056 F 1.056 +(ord is double-quoted,)-.1 F(${)108 571.2 Q F3(name)A F0 .52([*]} e)B +.52(xpands to a single w)-.15 F .52(ord with the v)-.1 F .521 (alue of each array member separated by the \214rst character)-.25 F -1.374(of the)108 434.4 R F3(IFS)3.874 E F0 1.374(special v)3.624 F 1.375 -(ariable, and ${)-.25 F F2(name)A F0 1.375([@]} e)B 1.375 -(xpands each element of)-.15 F F2(name)3.875 E F0 1.375(to a separate w) -3.875 F 3.875(ord. When)-.1 F 2.028(there are no array members, ${)108 -446.4 R F2(name)A F0 2.028([@]} e)B 2.028(xpands to nothing.)-.15 F -2.027(If the double-quoted e)7.028 F 2.027(xpansion occurs)-.15 F .758 -(within a w)108 458.4 R .759(ord, the e)-.1 F .759 +1.375(of the)108 583.2 R F2(IFS)3.875 E F0 1.375(special v)3.625 F 1.375 +(ariable, and ${)-.25 F F3(name)A F0 1.375([@]} e)B 1.375 +(xpands each element of)-.15 F F3(name)3.875 E F0 1.374(to a separate w) +3.875 F 3.874(ord. When)-.1 F 2.027(there are no array members, ${)108 +595.2 R F3(name)A F0 2.028([@]} e)B 2.028(xpands to nothing.)-.15 F +2.028(If the double-quoted e)7.028 F 2.028(xpansion occurs)-.15 F .759 +(within a w)108 607.2 R .759(ord, the e)-.1 F .759 (xpansion of the \214rst parameter is joined with the be)-.15 F .759 -(ginning part of the original w)-.15 F(ord,)-.1 E .516(and the e)108 -470.4 R .516(xpansion of the last parameter is joined with the last par\ -t of the original w)-.15 F 3.015(ord. This)-.1 F .515(is analogous)3.015 -F .227(to the e)108 482.4 R .228(xpansion of the special parameters)-.15 +(ginning part of the original w)-.15 F(ord,)-.1 E .515(and the e)108 +619.2 R .516(xpansion of the last parameter is joined with the last par\ +t of the original w)-.15 F 3.016(ord. This)-.1 F .516(is analogous)3.016 +F .228(to the e)108 631.2 R .228(xpansion of the special parameters)-.15 F F1(*)2.728 E F0(and)2.728 E F1(@)2.728 E F0(\(see)2.728 E F1 .228 -(Special P)2.728 F(arameters)-.1 E F0(abo)2.728 E -.15(ve)-.15 G 2.728 -(\). ${#).15 F F2(name)A F0([)A F2(subscript)A F0(]})A -.15(ex)108 494.4 -S .886(pands to the length of ${).15 F F2(name)A F0([)A F2(subscript)A -F0 3.386(]}. If)B F2(subscript)3.386 E F0(is)3.386 E F1(*)3.386 E F0(or) +(Special P)2.728 F(arameters)-.1 E F0(abo)2.727 E -.15(ve)-.15 G 2.727 +(\). ${#).15 F F3(name)A F0([)A F3(subscript)A F0(]})A -.15(ex)108 643.2 +S .886(pands to the length of ${).15 F F3(name)A F0([)A F3(subscript)A +F0 3.386(]}. If)B F3(subscript)3.386 E F0(is)3.386 E F1(*)3.386 E F0(or) 3.386 E F1(@)3.386 E F0 3.386(,t)C .886(he e)-3.386 F .886 -(xpansion is the number of ele-)-.15 F .462(ments in the array)108 506.4 -R 5.462(.R)-.65 G .462(eferencing an array v)-5.462 F .463 -(ariable without a subscript is equi)-.25 F -.25(va)-.25 G .463 -(lent to referencing the array).25 F(with a subscript of 0.)108 518.4 Q -.168(An array v)108 535.2 R .168 +(xpansion is the number of ele-)-.15 F .463(ments in the array)108 655.2 +R 5.463(.R)-.65 G .463(eferencing an array v)-5.463 F .462 +(ariable without a subscript is equi)-.25 F -.25(va)-.25 G .462 +(lent to referencing the array).25 F(with a subscript of 0.)108 667.2 Q +.168(An array v)108 684 R .168 (ariable is considered set if a subscript has been assigned a v)-.25 F 2.668(alue. The)-.25 F .168(null string is a v)2.668 F .168(alid v)-.25 -F(alue.)-.25 E(The)108 552 Q F1(unset)2.766 E F0 -.2(bu)2.766 G .267 +F(alue.)-.25 E(The)108 700.8 Q F1(unset)2.767 E F0 -.2(bu)2.767 G .267 (iltin is used to destro).2 F 2.767(ya)-.1 G(rrays.)-2.767 E F1(unset) -5.267 E F2(name)2.767 E F0([)A F2(subscript)A F0 2.767(]d)C(estro)-2.767 -E .267(ys the array element at inde)-.1 F(x)-.15 E F2(sub-)2.767 E -(script)108 564 Q F0 6.205(.C)C 1.205(are must be tak)-6.205 F 1.205 +5.267 E F3(name)2.767 E F0([)A F3(subscript)A F0 2.767(]d)C(estro)-2.767 +E .267(ys the array element at inde)-.1 F(x)-.15 E F3(sub-)2.766 E +(script)108 712.8 Q F0 6.204(.C)C 1.204(are must be tak)-6.204 F 1.204 (en to a)-.1 F -.2(vo)-.2 G 1.205(id unw).2 F 1.205(anted side ef)-.1 F -1.204(fects caused by pathname e)-.25 F(xpansion.)-.15 E F1(unset)6.204 -E F2(name)3.704 E F0(,)A(where)108 576 Q F2(name)2.5 E F0(is an array) -2.5 E 2.5(,o)-.65 G(r)-2.5 E F1(unset)2.5 E F2(name)2.5 E F0([)A F2 -(subscript)A F0(], where)A F2(subscript)2.5 E F0(is)2.5 E F1(*)2.5 E F0 +1.205(fects caused by pathname e)-.25 F(xpansion.)-.15 E F1(unset)6.205 +E F3(name)3.705 E F0(,)A(where)108 724.8 Q F3(name)2.5 E F0(is an array) +2.5 E 2.5(,o)-.65 G(r)-2.5 E F1(unset)2.5 E F3(name)2.5 E F0([)A F3 +(subscript)A F0(], where)A F3(subscript)2.5 E F0(is)2.5 E F1(*)2.5 E F0 (or)2.5 E F1(@)2.5 E F0 2.5(,r)C(emo)-2.5 E -.15(ve)-.15 G 2.5(st).15 G -(he entire array)-2.5 E(.)-.65 E(The)108 592.8 Q F1(declar)3.573 E(e) --.18 E F0(,)A F1(local)3.573 E F0 3.573(,a)C(nd)-3.573 E F1 -.18(re) -3.573 G(adonly).18 E F0 -.2(bu)3.573 G 1.073(iltins each accept a).2 F -F13.573 E F0 1.073(option to specify an inde)3.573 F -.15(xe)-.15 -G 3.574(da).15 G 1.074(rray and a)-3.574 F F13.574 E F0 .752 -(option to specify an associati)108 604.8 R 1.052 -.15(ve a)-.25 H(rray) -.15 E 5.752(.T)-.65 G(he)-5.752 E F1 -.18(re)3.252 G(ad).18 E F0 -.2(bu) -3.252 G .752(iltin accepts a).2 F F13.252 E F0 .751 -(option to assign a list of w)3.251 F .751(ords read)-.1 F .502 -(from the standard input to an array)108 616.8 R 5.502(.T)-.65 G(he) --5.502 E F1(set)3.002 E F0(and)3.002 E F1(declar)3.002 E(e)-.18 E F0 -.2 -(bu)3.002 G .502(iltins display array v).2 F .502(alues in a w)-.25 F -.503(ay that allo)-.1 F(ws)-.25 E(them to be reused as assignments.)108 -628.8 Q/F4 10.95/Times-Bold@0 SF(EXP)72 645.6 Q(ANSION)-.81 E F0 .76(Ex\ -pansion is performed on the command line after it has been split into w) -108 657.6 R 3.26(ords. There)-.1 F .76(are se)3.26 F -.15(ve)-.25 G 3.26 -(nk).15 G .76(inds of)-3.26 F -.15(ex)108 669.6 S .369 -(pansion performed:).15 F F2(br)2.869 E .369(ace e)-.15 F(xpansion)-.2 E -F0(,).24 E F2 .369(tilde e)2.869 F(xpansion)-.2 E F0(,).24 E F2(par) -2.869 E .369(ameter and variable e)-.15 F(xpansion)-.2 E F0(,).24 E F2 -.37(command sub-)2.869 F(stitution)108 681.6 Q F0(,).24 E F2 -(arithmetic e)2.5 E(xpansion)-.2 E F0(,).24 E F2(wor)2.5 E 2.5(ds)-.37 G -(plitting)-2.5 E F0 2.5(,a).22 G(nd)-2.5 E F2(pathname e)2.5 E(xpansion) --.2 E F0(.).24 E .471(The order of e)108 698.4 R .471 -(xpansions is: brace e)-.15 F .471(xpansion, tilde e)-.15 F .471 -(xpansion, parameter)-.15 F 2.971(,v)-.4 G .47(ariable and arithmetic e) --3.221 F(xpansion)-.15 E -(and command substitution \(done in a left-to-right f)108 710.4 Q -(ashion\), w)-.1 E(ord splitting, and pathname e)-.1 E(xpansion.)-.15 E -(On systems that can support it, there is an additional e)108 727.2 Q -(xpansion a)-.15 E -.25(va)-.2 G(ilable:).25 E F2(pr)2.5 E -(ocess substitution)-.45 E F0(.)A(GNU Bash-4.1)72 768 Q(2010 April 17) -145.955 E(17)195.945 E 0 Cg EP +(he entire array)-2.5 E(.)-.65 E(GNU Bash-4.1)72 768 Q(2010 May 30) +147.345 E(17)197.335 E 0 Cg EP %%Page: 18 18 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E 1.486(Only brace e)108 84 R 1.486(xpansion, w)-.15 F 1.486 -(ord splitting, and pathname e)-.1 F 1.487 -(xpansion can change the number of w)-.15 F 1.487(ords of the)-.1 F -.15 -(ex)108 96 S 1.165(pansion; other e).15 F 1.165(xpansions e)-.15 F 1.165 -(xpand a single w)-.15 F 1.165(ord to a single w)-.1 F 3.665(ord. The) --.1 F 1.164(only e)3.665 F 1.164(xceptions to this are the)-.15 F -.15 -(ex)108 108 S(pansions of ").15 E/F1 10/Times-Bold@0 SF($@)A F0 2.5("a)C -(nd ")-2.5 E F1(${)A/F2 10/Times-Italic@0 SF(name)A F1([@]})A F0 2.5("a) -C 2.5(se)-2.5 G(xplained abo)-2.65 E .3 -.15(ve \()-.15 H(see).15 E/F3 9 -/Times-Bold@0 SF -.666(PA)2.5 G(RAMETERS).666 E/F4 9/Times-Roman@0 SF -(\).)A F1(Brace Expansion)87 124.8 Q F2(Br)108.58 136.8 Q .606(ace e) --.15 F(xpansion)-.2 E F0 .606 +-.35 E(The)108 84 Q/F1 10/Times-Bold@0 SF(declar)3.574 E(e)-.18 E F0(,)A +F1(local)3.574 E F0 3.574(,a)C(nd)-3.574 E F1 -.18(re)3.574 G(adonly).18 +E F0 -.2(bu)3.574 G 1.073(iltins each accept a).2 F F13.573 E F0 +1.073(option to specify an inde)3.573 F -.15(xe)-.15 G 3.573(da).15 G +1.073(rray and a)-3.573 F F13.573 E F0 .751 +(option to specify an associati)108 96 R 1.051 -.15(ve a)-.25 H(rray).15 +E 5.751(.T)-.65 G(he)-5.751 E F1 -.18(re)3.251 G(ad).18 E F0 -.2(bu) +3.251 G .752(iltin accepts a).2 F F13.252 E F0 .752 +(option to assign a list of w)3.252 F .752(ords read)-.1 F .502 +(from the standard input to an array)108 108 R 5.502(.T)-.65 G(he)-5.502 +E F1(set)3.002 E F0(and)3.002 E F1(declar)3.002 E(e)-.18 E F0 -.2(bu) +3.002 G .502(iltins display array v).2 F .502(alues in a w)-.25 F .502 +(ay that allo)-.1 F(ws)-.25 E(them to be reused as assignments.)108 120 +Q/F2 10.95/Times-Bold@0 SF(EXP)72 136.8 Q(ANSION)-.81 E F0 .76(Expansio\ +n is performed on the command line after it has been split into w)108 +148.8 R 3.26(ords. There)-.1 F .76(are se)3.26 F -.15(ve)-.25 G 3.26(nk) +.15 G .76(inds of)-3.26 F -.15(ex)108 160.8 S .37(pansion performed:).15 +F/F3 10/Times-Italic@0 SF(br)2.869 E .369(ace e)-.15 F(xpansion)-.2 E F0 +(,).24 E F3 .369(tilde e)2.869 F(xpansion)-.2 E F0(,).24 E F3(par)2.869 +E .369(ameter and variable e)-.15 F(xpansion)-.2 E F0(,).24 E F3 .369 +(command sub-)2.869 F(stitution)108 172.8 Q F0(,).24 E F3(arithmetic e) +2.5 E(xpansion)-.2 E F0(,).24 E F3(wor)2.5 E 2.5(ds)-.37 G(plitting)-2.5 +E F0 2.5(,a).22 G(nd)-2.5 E F3(pathname e)2.5 E(xpansion)-.2 E F0(.).24 +E .47(The order of e)108 189.6 R .471(xpansions is: brace e)-.15 F .471 +(xpansion, tilde e)-.15 F .471(xpansion, parameter)-.15 F 2.971(,v)-.4 G +.471(ariable and arithmetic e)-3.221 F(xpansion)-.15 E +(and command substitution \(done in a left-to-right f)108 201.6 Q +(ashion\), w)-.1 E(ord splitting, and pathname e)-.1 E(xpansion.)-.15 E +(On systems that can support it, there is an additional e)108 218.4 Q +(xpansion a)-.15 E -.25(va)-.2 G(ilable:).25 E F3(pr)2.5 E +(ocess substitution)-.45 E F0(.)A 1.487(Only brace e)108 235.2 R 1.487 +(xpansion, w)-.15 F 1.487(ord splitting, and pathname e)-.1 F 1.487 +(xpansion can change the number of w)-.15 F 1.486(ords of the)-.1 F -.15 +(ex)108 247.2 S 1.164(pansion; other e).15 F 1.164(xpansions e)-.15 F +1.164(xpand a single w)-.15 F 1.165(ord to a single w)-.1 F 3.665 +(ord. The)-.1 F 1.165(only e)3.665 F 1.165(xceptions to this are the) +-.15 F -.15(ex)108 259.2 S(pansions of ").15 E F1($@)A F0 2.5("a)C(nd ") +-2.5 E F1(${)A F3(name)A F1([@]})A F0 2.5("a)C 2.5(se)-2.5 G +(xplained abo)-2.65 E .3 -.15(ve \()-.15 H(see).15 E/F4 9/Times-Bold@0 +SF -.666(PA)2.5 G(RAMETERS).666 E/F5 9/Times-Roman@0 SF(\).)A F1 +(Brace Expansion)87 276 Q F3(Br)108.58 288 Q .606(ace e)-.15 F(xpansion) +-.2 E F0 .606 (is a mechanism by which arbitrary strings may be generated.)3.346 F -.606(This mechanism is similar)5.606 F(to)108 148.8 Q F2 .415 -(pathname e)2.915 F(xpansion)-.2 E F0 2.915(,b)C .415 +.606(This mechanism is similar)5.606 F(to)108 300 Q F3 .415(pathname e) +2.915 F(xpansion)-.2 E F0 2.915(,b)C .415 (ut the \214lenames generated need not e)-3.115 F 2.915(xist. P)-.15 F .415(atterns to be brace e)-.15 F .415(xpanded tak)-.15 F 2.915(et)-.1 G -(he)-2.915 E .151(form of an optional)108 160.8 R F2(pr)2.651 E(eamble) +(he)-2.915 E .152(form of an optional)108 312 R F3(pr)2.652 E(eamble) -.37 E F0 2.651(,f).18 G(ollo)-2.651 E .151 (wed by either a series of comma-separated strings or a sequence e)-.25 -F(xpres-)-.15 E .563(sion between a pair of braces, follo)108 172.8 R -.563(wed by an optional)-.25 F F2(postscript)3.063 E F0 5.563(.T).68 G -.563(he preamble is pre\214x)-5.563 F .563(ed to each string)-.15 F .659 -(contained within the braces, and the postscript is then appended to ea\ -ch resulting string, e)108 184.8 R .659(xpanding left to)-.15 F(right.) -108 196.8 Q .719(Brace e)108 213.6 R .719(xpansions may be nested.)-.15 -F .719(The results of each e)5.719 F .719 +F(xpres-)-.15 E .563(sion between a pair of braces, follo)108 324 R .563 +(wed by an optional)-.25 F F3(postscript)3.063 E F0 5.563(.T).68 G .563 +(he preamble is pre\214x)-5.563 F .563(ed to each string)-.15 F .659(co\ +ntained within the braces, and the postscript is then appended to each \ +resulting string, e)108 336 R .658(xpanding left to)-.15 F(right.)108 +348 Q .718(Brace e)108 364.8 R .719(xpansions may be nested.)-.15 F .719 +(The results of each e)5.719 F .719 (xpanded string are not sorted; left to right order is)-.15 F(preserv) -108 225.6 Q 2.5(ed. F)-.15 F(or e)-.15 E(xample, a)-.15 E F1({)A F0 -(d,c,b)A F1(})A F0 2.5(ee)C(xpands into `ade ace abe'.)-2.65 E 3.242(As) -108 242.4 S .742(equence e)-3.242 F .742(xpression tak)-.15 F .742 -(es the form)-.1 F F1({)3.242 E F2(x)A F1(..)A F2(y)A F1([..)A F2(incr)A -F1(]})A F0 3.242(,w)C(here)-3.242 E F2(x)3.242 E F0(and)3.243 E F2(y) -3.243 E F0 .743(are either inte)3.243 F .743(gers or single characters,) --.15 F(and)108 254.4 Q F2(incr)3.032 E F0 3.032(,a)C 3.032(no)-3.032 G +108 376.8 Q 2.5(ed. F)-.15 F(or e)-.15 E(xample, a)-.15 E F1({)A F0 +(d,c,b)A F1(})A F0 2.5(ee)C(xpands into `ade ace abe'.)-2.65 E 3.243(As) +108 393.6 S .743(equence e)-3.243 F .743(xpression tak)-.15 F .743 +(es the form)-.1 F F1({)3.243 E F3(x)A F1(..)A F3(y)A F1([..)A F3(incr)A +F1(]})A F0 3.243(,w)C(here)-3.243 E F3(x)3.243 E F0(and)3.242 E F3(y) +3.242 E F0 .742(are either inte)3.242 F .742(gers or single characters,) +-.15 F(and)108 405.6 Q F3(incr)3.031 E F0 3.031(,a)C 3.032(no)-3.031 G .532(ptional increment, is an inte)-3.032 F(ger)-.15 E 5.532(.W)-.55 G .532(hen inte)-5.532 F .532(gers are supplied, the e)-.15 F .532 -(xpression e)-.15 F .531(xpands to each)-.15 F .077(number between)108 -266.4 R F2(x)2.577 E F0(and)2.577 E F2(y)2.577 E F0 2.577(,i)C(nclusi) --2.577 E -.15(ve)-.25 G 5.077(.S).15 G .077(upplied inte)-5.077 F .077 -(gers may be pre\214x)-.15 F .077(ed with)-.15 F F2(0)2.577 E F0 .078 -(to force each term to ha)2.578 F .378 -.15(ve t)-.2 H(he).15 E .015 -(same width.)108 278.4 R .015(When either)5.015 F F2(x)2.515 E F0(or) -2.515 E F2(y)2.515 E F0(be)2.515 E .014(gins with a zero, the shell att\ +(xpression e)-.15 F .532(xpands to each)-.15 F .078(number between)108 +417.6 R F3(x)2.578 E F0(and)2.578 E F3(y)2.578 E F0 2.578(,i)C(nclusi) +-2.578 E -.15(ve)-.25 G 5.078(.S).15 G .078(upplied inte)-5.078 F .077 +(gers may be pre\214x)-.15 F .077(ed with)-.15 F F3(0)2.577 E F0 .077 +(to force each term to ha)2.577 F .377 -.15(ve t)-.2 H(he).15 E .014 +(same width.)108 429.6 R .014(When either)5.014 F F3(x)2.514 E F0(or) +2.514 E F3(y)2.514 E F0(be)2.514 E .015(gins with a zero, the shell att\ empts to force all generated terms to contain)-.15 F 1.143 -(the same number of digits, zero-padding where necessary)108 290.4 R +(the same number of digits, zero-padding where necessary)108 441.6 R 6.143(.W)-.65 G 1.143(hen characters are supplied, the e)-6.143 F -(xpression)-.15 E -.15(ex)108 302.4 S .542(pands to each character le) -.15 F .542(xicographically between)-.15 F F2(x)3.042 E F0(and)3.042 E F2 +(xpression)-.15 E -.15(ex)108 453.6 S .541(pands to each character le) +.15 F .541(xicographically between)-.15 F F3(x)3.041 E F0(and)3.042 E F3 (y)3.042 E F0 3.042(,i)C(nclusi)-3.042 E -.15(ve)-.25 G 5.542(.N).15 G -.542(ote that both)-5.542 F F2(x)3.041 E F0(and)3.041 E F2(y)3.041 E F0 -.541(must be of)3.041 F .182(the same type.)108 314.4 R .182 -(When the increment is supplied, it is used as the dif)5.182 F .183 -(ference between each term.)-.25 F .183(The def)5.183 F(ault)-.1 E -(increment is 1 or -1 as appropriate.)108 326.4 Q .582(Brace e)108 343.2 -R .582(xpansion is performed before an)-.15 F 3.082(yo)-.15 G .581 -(ther e)-3.082 F .581(xpansions, and an)-.15 F 3.081(yc)-.15 G .581 -(haracters special to other e)-3.081 F(xpansions)-.15 E .015 -(are preserv)108 355.2 R .015(ed in the result.)-.15 F .015 -(It is strictly te)5.015 F(xtual.)-.15 E F1(Bash)5.016 E F0 .016 -(does not apply an)2.516 F 2.516(ys)-.15 G .016 -(yntactic interpretation to the con-)-2.516 F(te)108 367.2 Q +.542(ote that both)-5.542 F F3(x)3.042 E F0(and)3.042 E F3(y)3.042 E F0 +.542(must be of)3.042 F .183(the same type.)108 465.6 R .182 +(When the increment is supplied, it is used as the dif)5.183 F .182 +(ference between each term.)-.25 F .182(The def)5.182 F(ault)-.1 E +(increment is 1 or -1 as appropriate.)108 477.6 Q .581(Brace e)108 494.4 +R .581(xpansion is performed before an)-.15 F 3.081(yo)-.15 G .581 +(ther e)-3.081 F .581(xpansions, and an)-.15 F 3.082(yc)-.15 G .582 +(haracters special to other e)-3.082 F(xpansions)-.15 E .016 +(are preserv)108 506.4 R .016(ed in the result.)-.15 F .016 +(It is strictly te)5.016 F(xtual.)-.15 E F1(Bash)5.016 E F0 .015 +(does not apply an)2.516 F 2.515(ys)-.15 G .015 +(yntactic interpretation to the con-)-2.515 F(te)108 518.4 Q (xt of the e)-.15 E(xpansion or the te)-.15 E(xt between the braces.) --.15 E 3.633(Ac)108 384 S 1.133(orrectly-formed brace e)-3.633 F 1.132(\ -xpansion must contain unquoted opening and closing braces, and at least\ - one)-.15 F 3.44(unquoted comma or a v)108 396 R 3.441(alid sequence e) --.25 F 5.941(xpression. An)-.15 F 5.941(yi)-.15 G 3.441 -(ncorrectly formed brace e)-5.941 F 3.441(xpansion is left)-.15 F 2.755 -(unchanged. A)108 408 R F1({)2.755 E F0(or)2.755 E F1(,)2.755 E F0 .255 -(may be quoted with a backslash to pre)2.755 F -.15(ve)-.25 G .255 -(nt its being considered part of a brace e).15 F(xpres-)-.15 E 2.91 -(sion. T)108 420 R 2.91(oa)-.8 G -.2(vo)-3.11 G .41 +-.15 E 3.632(Ac)108 535.2 S 1.132(orrectly-formed brace e)-3.632 F 1.132 +(xpansion must contain unquoted opening and closing braces, and at leas\ +t one)-.15 F 3.441(unquoted comma or a v)108 547.2 R 3.441 +(alid sequence e)-.25 F 5.941(xpression. An)-.15 F 5.941(yi)-.15 G 3.441 +(ncorrectly formed brace e)-5.941 F 3.44(xpansion is left)-.15 F 2.755 +(unchanged. A)108 559.2 R F1({)2.755 E F0(or)2.755 E F1(,)2.755 E F0 +.255(may be quoted with a backslash to pre)2.755 F -.15(ve)-.25 G .255 +(nt its being considered part of a brace e).15 F(xpres-)-.15 E 2.911 +(sion. T)108 571.2 R 2.911(oa)-.8 G -.2(vo)-3.111 G .411 (id con\215icts with parameter e).2 F .411(xpansion, the string)-.15 F -F1(${)2.911 E F0 .411(is not considered eligible for brace e)2.911 F -(xpan-)-.15 E(sion.)108 432 Q 1.476(This construct is typically used as\ - shorthand when the common pre\214x of the strings to be generated is) -108 448.8 R(longer than in the abo)108 460.8 Q .3 -.15(ve ex)-.15 H -(ample:).15 E(mkdir /usr/local/src/bash/{old,ne)144 477.6 Q -.65(w,)-.25 -G(dist,b).65 E(ugs})-.2 E(or)108 489.6 Q(cho)144 501.6 Q +F1(${)2.911 E F0 .41(is not considered eligible for brace e)2.911 F +(xpan-)-.15 E(sion.)108 583.2 Q 1.476(This construct is typically used \ +as shorthand when the common pre\214x of the strings to be generated is) +108 600 R(longer than in the abo)108 612 Q .3 -.15(ve ex)-.15 H(ample:) +.15 E(mkdir /usr/local/src/bash/{old,ne)144 628.8 Q -.65(w,)-.25 G +(dist,b).65 E(ugs})-.2 E(or)108 640.8 Q(cho)144 652.8 Q (wn root /usr/{ucb/{e)-.25 E(x,edit},lib/{e)-.15 E(x?.?*,ho)-.15 E(w_e) --.25 E(x}})-.15 E .618(Brace e)108 518.4 R .618 +-.25 E(x}})-.15 E .618(Brace e)108 669.6 R .618 (xpansion introduces a slight incompatibility with historical v)-.15 F .618(ersions of)-.15 F F1(sh)3.118 E F0(.)A F1(sh)5.618 E F0 .618 -(does not treat open-)3.118 F .248 -(ing or closing braces specially when the)108 530.4 R 2.748(ya)-.15 G -.247(ppear as part of a w)-2.748 F .247(ord, and preserv)-.1 F .247 -(es them in the output.)-.15 F F1(Bash)5.247 E F0(remo)108 542.4 Q -.15 +(does not treat open-)3.118 F .247 +(ing or closing braces specially when the)108 681.6 R 2.747(ya)-.15 G +.247(ppear as part of a w)-2.747 F .248(ord, and preserv)-.1 F .248 +(es them in the output.)-.15 F F1(Bash)5.248 E F0(remo)108 693.6 Q -.15 (ve)-.15 G 3.53(sb).15 G 1.03(races from w)-3.53 F 1.03 (ords as a consequence of brace e)-.1 F 3.53(xpansion. F)-.15 F 1.03 (or e)-.15 F 1.03(xample, a w)-.15 F 1.03(ord entered to)-.1 F F1(sh) -3.53 E F0(as)3.53 E F2(\214le{1,2})108 554.4 Q F0 .515 -(appears identically in the output.)3.015 F .515(The same w)5.515 F .515 -(ord is output as)-.1 F F2 .514(\214le1 \214le2)4.925 F F0 .514(after e) -3.034 F .514(xpansion by)-.15 F F1(bash)3.014 E F0(.)A .436 -(If strict compatibility with)108 566.4 R F1(sh)2.936 E F0 .436 +3.53 E F0(as)3.53 E F3(\214le{1,2})108 705.6 Q F0 .514 +(appears identically in the output.)3.014 F .515(The same w)5.515 F .515 +(ord is output as)-.1 F F3 .515(\214le1 \214le2)4.925 F F0 .515(after e) +3.035 F .515(xpansion by)-.15 F F1(bash)3.015 E F0(.)A .437 +(If strict compatibility with)108 717.6 R F1(sh)2.936 E F0 .436 (is desired, start)2.936 F F1(bash)2.936 E F0 .436(with the)2.936 F F1 -(+B)2.936 E F0 .436(option or disable brace e)2.936 F .437 -(xpansion with the)-.15 F F1(+B)108 578.4 Q F0(option to the)2.5 E F1 -(set)2.5 E F0(command \(see)2.5 E F3(SHELL B)2.5 E(UIL)-.09 E -(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1 -.18(Ti)87 595.2 S -(lde Expansion).18 E F0 1.087(If a w)108 607.2 R 1.087(ord be)-.1 F -1.087(gins with an unquoted tilde character \(`)-.15 F F1(~)A F0 1.086 -('\), all of the characters preceding the \214rst unquoted)B .185(slash\ - \(or all characters, if there is no unquoted slash\) are considered a) -108 619.2 R F2(tilde-pr)2.685 E(e\214x)-.37 E F0 5.185(.I)C 2.685(fn) --5.185 G .185(one of the characters)-2.685 F .726(in the tilde-pre\214x\ - are quoted, the characters in the tilde-pre\214x follo)108 631.2 R .725 -(wing the tilde are treated as a possible)-.25 F F2(lo)108 643.2 Q .522 -(gin name)-.1 F F0 5.522(.I)C 3.022(ft)-5.522 G .522 -(his login name is the null string, the tilde is replaced with the v) --3.022 F .523(alue of the shell parameter)-.25 F F3(HOME)108 655.2 Q F4 -(.)A F0(If)4.787 E F3(HOME)2.787 E F0 .287 -(is unset, the home directory of the user e)2.537 F -.15(xe)-.15 G .286 -(cuting the shell is substituted instead.).15 F(Other)5.286 E(-)-.2 E(w\ -ise, the tilde-pre\214x is replaced with the home directory associated \ -with the speci\214ed login name.)108 667.2 Q .092 -(If the tilde-pre\214x is a `~+', the v)108 684 R .092 -(alue of the shell v)-.25 F(ariable)-.25 E F3(PWD)2.592 E F0 .092 -(replaces the tilde-pre\214x.)2.342 F .093(If the tilde-pre\214x is) -5.093 F 3.404(a`)108 696 S .904(~\255', the v)-3.404 F .904 -(alue of the shell v)-.25 F(ariable)-.25 E F3(OLDPWD)3.404 E F4(,)A F0 -.904(if it is set, is substituted.)3.154 F .903(If the characters follo) -5.903 F .903(wing the)-.25 F 1.641 -(tilde in the tilde-pre\214x consist of a number)108 708 R F2(N)4.141 E -F0 4.142(,o)C 1.642(ptionally pre\214x)-4.142 F 1.642 -(ed by a `+' or a `\255', the tilde-pre\214x is)-.15 F 1.438(replaced w\ -ith the corresponding element from the directory stack, as it w)108 720 -R 1.437(ould be displayed by the)-.1 F F1(dirs)3.937 E F0(GNU Bash-4.1) -72 768 Q(2010 April 17)145.955 E(18)195.945 E 0 Cg EP +(+B)2.936 E F0 .436(option or disable brace e)2.936 F .436 +(xpansion with the)-.15 F F1(+B)108 729.6 Q F0(option to the)2.5 E F1 +(set)2.5 E F0(command \(see)2.5 E F4(SHELL B)2.5 E(UIL)-.09 E +(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E(GNU Bash-4.1)72 768 Q +(2010 May 30)147.345 E(18)197.335 E 0 Cg EP %%Page: 19 19 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E -.2(bu)108 84 S .454(iltin in).2 F -.2(vo)-.4 G -.1(ke).2 G 2.954 -(dw).1 G .454(ith the tilde-pre\214x as an ar)-2.954 F 2.954(gument. If) --.18 F .454(the characters follo)2.954 F .455 +-.35 E/F1 10/Times-Bold@0 SF -.18(Ti)87 84 S(lde Expansion).18 E F0 +1.086(If a w)108 96 R 1.086(ord be)-.1 F 1.086 +(gins with an unquoted tilde character \(`)-.15 F F1(~)A F0 1.087 +('\), all of the characters preceding the \214rst unquoted)B .185(slash\ + \(or all characters, if there is no unquoted slash\) are considered a) +108 108 R/F2 10/Times-Italic@0 SF(tilde-pr)2.685 E(e\214x)-.37 E F0 +5.185(.I)C 2.685(fn)-5.185 G .185(one of the characters)-2.685 F .725(i\ +n the tilde-pre\214x are quoted, the characters in the tilde-pre\214x f\ +ollo)108 120 R .726(wing the tilde are treated as a possible)-.25 F F2 +(lo)108 132 Q .523(gin name)-.1 F F0 5.523(.I)C 3.023(ft)-5.523 G .523 +(his login name is the null string, the tilde is replaced with the v) +-3.023 F .522(alue of the shell parameter)-.25 F/F3 9/Times-Bold@0 SF +(HOME)108 144 Q/F4 9/Times-Roman@0 SF(.)A F0(If)4.786 E F3(HOME)2.786 E +F0 .287(is unset, the home directory of the user e)2.536 F -.15(xe)-.15 +G .287(cuting the shell is substituted instead.).15 F(Other)5.287 E(-) +-.2 E(wise, the tilde-pre\214x is replaced with the home directory asso\ +ciated with the speci\214ed login name.)108 156 Q .093 +(If the tilde-pre\214x is a `~+', the v)108 172.8 R .092 +(alue of the shell v)-.25 F(ariable)-.25 E F3(PWD)2.592 E F0 .092 +(replaces the tilde-pre\214x.)2.342 F .092(If the tilde-pre\214x is) +5.092 F 3.403(a`)108 184.8 S .903(~\255', the v)-3.403 F .903 +(alue of the shell v)-.25 F(ariable)-.25 E F3(OLDPWD)3.404 E F4(,)A F0 +.904(if it is set, is substituted.)3.154 F .904(If the characters follo) +5.904 F .904(wing the)-.25 F 1.642 +(tilde in the tilde-pre\214x consist of a number)108 196.8 R F2(N)4.142 +E F0 4.142(,o)C 1.642(ptionally pre\214x)-4.142 F 1.641 +(ed by a `+' or a `\255', the tilde-pre\214x is)-.15 F 1.437(replaced w\ +ith the corresponding element from the directory stack, as it w)108 +208.8 R 1.438(ould be displayed by the)-.1 F F1(dirs)3.938 E F0 -.2(bu) +108 220.8 S .455(iltin in).2 F -.2(vo)-.4 G -.1(ke).2 G 2.955(dw).1 G +.455(ith the tilde-pre\214x as an ar)-2.955 F 2.954(gument. If)-.18 F +.454(the characters follo)2.954 F .454 (wing the tilde in the tilde-pre\214x)-.25 F (consist of a number without a leading `+' or `\255', `+' is assumed.) -108 96 Q(If the login name is in)108 112.8 Q -.25(va)-.4 G +108 232.8 Q(If the login name is in)108 249.6 Q -.25(va)-.4 G (lid, or the tilde e).25 E(xpansion f)-.15 E(ails, the w)-.1 E -(ord is unchanged.)-.1 E .167(Each v)108 129.6 R .167 +(ord is unchanged.)-.1 E .166(Each v)108 266.4 R .167 (ariable assignment is check)-.25 F .167(ed for unquoted tilde-pre\214x) --.1 F .167(es immediately follo)-.15 F .167(wing a)-.25 F/F1 10 -/Times-Bold@0 SF(:)2.667 E F0 .167(or the \214rst)2.667 F F1(=)2.666 E -F0 5.166(.I)C(n)-5.166 E .281(these cases, tilde e)108 141.6 R .282 -(xpansion is also performed.)-.15 F(Consequently)5.282 E 2.782(,o)-.65 G -.282(ne may use \214le names with tildes in assign-)-2.782 F(ments to) -108 153.6 Q/F2 9/Times-Bold@0 SF -.666(PA)2.5 G(TH)-.189 E/F3 9 -/Times-Roman@0 SF(,)A F2(MAILP)2.25 E -.855(AT)-.666 G(H).855 E F3(,)A -F0(and)2.25 E F2(CDP)2.5 E -.855(AT)-.666 G(H).855 E F3(,)A F0 -(and the shell assigns the e)2.25 E(xpanded v)-.15 E(alue.)-.25 E F1 -.1 -(Pa)87 170.4 S(rameter Expansion).1 E F0 1.606(The `)108 182.4 R F1($)A -F0 4.106('c)C 1.606(haracter introduces parameter e)-4.106 F 1.605 -(xpansion, command substitution, or arithmetic e)-.15 F 4.105 -(xpansion. The)-.15 F .406(parameter name or symbol to be e)108 194.4 R -.407(xpanded may be enclosed in braces, which are optional b)-.15 F .407 -(ut serv)-.2 F 2.907(et)-.15 G 2.907(op)-2.907 G(ro-)-2.907 E .033 -(tect the v)108 206.4 R .033(ariable to be e)-.25 F .033 -(xpanded from characters immediately follo)-.15 F .032 +-.1 F .167(es immediately follo)-.15 F .167(wing a)-.25 F F1(:)2.667 E +F0 .167(or the \214rst)2.667 F F1(=)2.667 E F0 5.167(.I)C(n)-5.167 E +.282(these cases, tilde e)108 278.4 R .282(xpansion is also performed.) +-.15 F(Consequently)5.282 E 2.782(,o)-.65 G .282 +(ne may use \214le names with tildes in assign-)-2.782 F(ments to)108 +290.4 Q F3 -.666(PA)2.5 G(TH)-.189 E F4(,)A F3(MAILP)2.25 E -.855(AT) +-.666 G(H).855 E F4(,)A F0(and)2.25 E F3(CDP)2.5 E -.855(AT)-.666 G(H) +.855 E F4(,)A F0(and the shell assigns the e)2.25 E(xpanded v)-.15 E +(alue.)-.25 E F1 -.1(Pa)87 307.2 S(rameter Expansion).1 E F0 1.605 +(The `)108 319.2 R F1($)A F0 4.105('c)C 1.605 +(haracter introduces parameter e)-4.105 F 1.606 +(xpansion, command substitution, or arithmetic e)-.15 F 4.106 +(xpansion. The)-.15 F .407(parameter name or symbol to be e)108 331.2 R +.407(xpanded may be enclosed in braces, which are optional b)-.15 F .406 +(ut serv)-.2 F 2.906(et)-.15 G 2.906(op)-2.906 G(ro-)-2.906 E .032 +(tect the v)108 343.2 R .032(ariable to be e)-.25 F .032 +(xpanded from characters immediately follo)-.15 F .033 (wing it which could be interpreted as part)-.25 F(of the name.)108 -218.4 Q 1.189 +355.2 Q 1.19 (When braces are used, the matching ending brace is the \214rst `)108 -235.2 R F1(})A F0 3.69('n)C 1.19(ot escaped by a backslash or within a) --3.69 F 2.15(quoted string, and not within an embedded arithmetic e)108 -247.2 R 2.15(xpansion, command substitution, or parameter)-.15 F -.15 -(ex)108 259.2 S(pansion.).15 E(${)108 276 Q/F4 10/Times-Italic@0 SF(par) -A(ameter)-.15 E F0(})A 1.204(The v)144 288 R 1.204(alue of)-.25 F F4 -(par)3.704 E(ameter)-.15 E F0 1.204(is substituted.)3.704 F 1.204 -(The braces are required when)6.204 F F4(par)4.955 E(ameter)-.15 E F0 -1.205(is a positional)4.435 F .264 -(parameter with more than one digit, or when)144 300 R F4(par)4.014 E -(ameter)-.15 E F0 .264(is follo)3.494 F .264 +372 R F1(})A F0 3.689('n)C 1.189(ot escaped by a backslash or within a) +-3.689 F 2.15(quoted string, and not within an embedded arithmetic e)108 +384 R 2.15(xpansion, command substitution, or parameter)-.15 F -.15(ex) +108 396 S(pansion.).15 E(${)108 412.8 Q F2(par)A(ameter)-.15 E F0(})A +1.205(The v)144 424.8 R 1.205(alue of)-.25 F F2(par)3.705 E(ameter)-.15 +E F0 1.204(is substituted.)3.705 F 1.204(The braces are required when) +6.204 F F2(par)4.954 E(ameter)-.15 E F0 1.204(is a positional)4.434 F +.264(parameter with more than one digit, or when)144 436.8 R F2(par) +4.014 E(ameter)-.15 E F0 .264(is follo)3.494 F .264 (wed by a character which is not to)-.25 F -(be interpreted as part of its name.)144 312 Q .685 -(If the \214rst character of)108 328.8 R F4(par)3.185 E(ameter)-.15 E F0 +(be interpreted as part of its name.)144 448.8 Q .686 +(If the \214rst character of)108 465.6 R F2(par)3.186 E(ameter)-.15 E F0 .685(is an e)3.185 F .685(xclamation point \()-.15 F F1(!)A F0 .685 -(\), a le)B -.15(ve)-.25 G 3.186(lo).15 G 3.186(fv)-3.186 G .686 -(ariable indirection is introduced.)-3.436 F F1(Bash)108 340.8 Q F0 .106 +(\), a le)B -.15(ve)-.25 G 3.185(lo).15 G 3.185(fv)-3.185 G .685 +(ariable indirection is introduced.)-3.435 F F1(Bash)108 477.6 Q F0 .106 (uses the v)2.606 F .106(alue of the v)-.25 F .106 -(ariable formed from the rest of)-.25 F F4(par)2.606 E(ameter)-.15 E F0 +(ariable formed from the rest of)-.25 F F2(par)2.606 E(ameter)-.15 E F0 .106(as the name of the v)2.606 F .106(ariable; this v)-.25 F(ari-)-.25 -E .351(able is then e)108 352.8 R .351(xpanded and that v)-.15 F .352 +E .352(able is then e)108 489.6 R .352(xpanded and that v)-.15 F .351 (alue is used in the rest of the substitution, rather than the v)-.25 F -.352(alue of)-.25 F F4(par)2.852 E(ame-)-.15 E(ter)108 364.8 Q F0 2.52 -(itself. This)2.52 F .02(is kno)2.52 F .02(wn as)-.25 F F4(indir)2.52 E -.02(ect e)-.37 F(xpansion)-.2 E F0 5.019(.T)C .019(he e)-5.019 F .019 -(xceptions to this are the e)-.15 F .019(xpansions of ${!)-.15 F F4(pr)A -(e\214x)-.37 E F0 .019(*} and)B(${)108 376.8 Q F1(!)A F4(name)A F0([)A -F4(@)A F0 .762(]} described belo)B 4.563 -.65(w. T)-.25 H .763(he e).65 -F .763(xclamation point must immediately follo)-.15 F 3.263(wt)-.25 G -.763(he left brace in order to)-3.263 F(introduce indirection.)108 388.8 -Q .334(In each of the cases belo)108 405.6 R -.65(w,)-.25 G F4(wor)3.484 -E(d)-.37 E F0 .334(is subject to tilde e)2.834 F .334 -(xpansion, parameter e)-.15 F .334(xpansion, command substitution,)-.15 -F(and arithmetic e)108 417.6 Q(xpansion.)-.15 E .697 -(When not performing substring e)108 434.4 R .698 +.351(alue of)-.25 F F2(par)2.851 E(ame-)-.15 E(ter)108 501.6 Q F0 2.519 +(itself. This)2.519 F .019(is kno)2.519 F .019(wn as)-.25 F F2(indir) +2.519 E .019(ect e)-.37 F(xpansion)-.2 E F0 5.019(.T)C .019(he e)-5.019 +F .02(xceptions to this are the e)-.15 F .02(xpansions of ${!)-.15 F F2 +(pr)A(e\214x)-.37 E F0 .02(*} and)B(${)108 513.6 Q F1(!)A F2(name)A F0 +([)A F2(@)A F0 .763(]} described belo)B 4.563 -.65(w. T)-.25 H .763 +(he e).65 F .763(xclamation point must immediately follo)-.15 F 3.263 +(wt)-.25 G .763(he left brace in order to)-3.263 F +(introduce indirection.)108 525.6 Q .334(In each of the cases belo)108 +542.4 R -.65(w,)-.25 G F2(wor)3.484 E(d)-.37 E F0 .334 +(is subject to tilde e)2.834 F .334(xpansion, parameter e)-.15 F .334 +(xpansion, command substitution,)-.15 F(and arithmetic e)108 554.4 Q +(xpansion.)-.15 E .698(When not performing substring e)108 571.2 R .698 (xpansion, using the forms documented belo)-.15 F -.65(w,)-.25 G F1 -(bash)3.848 E F0 .698(tests for a parameter)3.198 F -(that is unset or null.)108 446.4 Q(Omitting the colon results in a tes\ -t only for a parameter that is unset.)5 E(${)108 463.2 Q F4(par)A -(ameter)-.15 E F1<3aad>A F4(wor)A(d)-.37 E F0(})A F1 .723(Use Default V) -144 475.2 R(alues)-.92 E F0 5.723(.I)C(f)-5.723 E F4(par)4.473 E(ameter) --.15 E F0 .723(is unset or null, the e)3.953 F .722(xpansion of)-.15 F -F4(wor)3.562 E(d)-.37 E F0 .722(is substituted.)3.992 F(Other)5.722 E(-) --.2 E(wise, the v)144 487.2 Q(alue of)-.25 E F4(par)3.75 E(ameter)-.15 E -F0(is substituted.)3.23 E(${)108 499.2 Q F4(par)A(ameter)-.15 E F1(:=)A -F4(wor)A(d)-.37 E F0(})A F1 2.004(Assign Default V)144 511.2 R(alues) --.92 E F0 7.004(.I)C(f)-7.004 E F4(par)5.754 E(ameter)-.15 E F0 2.005 -(is unset or null, the e)5.234 F 2.005(xpansion of)-.15 F F4(wor)4.845 E -(d)-.37 E F0 2.005(is assigned to)5.275 F F4(par)144 523.2 Q(ameter)-.15 -E F0 5.279(.T).73 G .279(he v)-5.279 F .279(alue of)-.25 F F4(par)4.029 -E(ameter)-.15 E F0 .278(is then substituted.)3.508 F .278 +(bash)3.848 E F0 .697(tests for a parameter)3.198 F +(that is unset or null.)108 583.2 Q(Omitting the colon results in a tes\ +t only for a parameter that is unset.)5 E(${)108 600 Q F2(par)A(ameter) +-.15 E F1<3aad>A F2(wor)A(d)-.37 E F0(})A F1 .722(Use Default V)144 612 +R(alues)-.92 E F0 5.722(.I)C(f)-5.722 E F2(par)4.472 E(ameter)-.15 E F0 +.723(is unset or null, the e)3.952 F .723(xpansion of)-.15 F F2(wor) +3.563 E(d)-.37 E F0 .723(is substituted.)3.993 F(Other)5.723 E(-)-.2 E +(wise, the v)144 624 Q(alue of)-.25 E F2(par)3.75 E(ameter)-.15 E F0 +(is substituted.)3.23 E(${)108 636 Q F2(par)A(ameter)-.15 E F1(:=)A F2 +(wor)A(d)-.37 E F0(})A F1 2.005(Assign Default V)144 648 R(alues)-.92 E +F0 7.005(.I)C(f)-7.005 E F2(par)5.755 E(ameter)-.15 E F0 2.005 +(is unset or null, the e)5.235 F 2.004(xpansion of)-.15 F F2(wor)4.844 E +(d)-.37 E F0 2.004(is assigned to)5.274 F F2(par)144 660 Q(ameter)-.15 E +F0 5.278(.T).73 G .278(he v)-5.278 F .278(alue of)-.25 F F2(par)4.028 E +(ameter)-.15 E F0 .278(is then substituted.)3.508 F .279 (Positional parameters and special param-)5.278 F -(eters may not be assigned to in this w)144 535.2 Q(ay)-.1 E(.)-.65 E -(${)108 547.2 Q F4(par)A(ameter)-.15 E F1(:?)A F4(wor)A(d)-.37 E F0(})A -F1 .535(Display Err)144 559.2 R .535(or if Null or Unset)-.18 F F0 5.535 -(.I)C(f)-5.535 E F4(par)4.285 E(ameter)-.15 E F0 .535 -(is null or unset, the e)3.765 F .535(xpansion of)-.15 F F4(wor)3.035 E -(d)-.37 E F0 .535(\(or a mes-)3.035 F .662(sage to that ef)144 571.2 R -.662(fect if)-.25 F F4(wor)3.502 E(d)-.37 E F0 .661(is not present\) is\ - written to the standard error and the shell, if it is not)3.932 F -(interacti)144 583.2 Q -.15(ve)-.25 G 2.5(,e).15 G 2.5(xits. Otherwise,) --2.65 F(the v)2.5 E(alue of)-.25 E F4(par)2.5 E(ameter)-.15 E F0 -(is substituted.)2.5 E(${)108 595.2 Q F4(par)A(ameter)-.15 E F1(:+)A F4 -(wor)A(d)-.37 E F0(})A F1 .745(Use Alter)144 607.2 R .745(nate V)-.15 F -(alue)-.92 E F0 5.745(.I)C(f)-5.745 E F4(par)4.495 E(ameter)-.15 E F0 -.745(is null or unset, nothing is substituted, otherwise the e)3.975 F -(xpan-)-.15 E(sion of)144 619.2 Q F4(wor)2.84 E(d)-.37 E F0 -(is substituted.)3.27 E(${)108 631.2 Q F4(par)A(ameter)-.15 E F1(:)A F4 -(of)A(fset)-.18 E F0(})A(${)108 643.2 Q F4(par)A(ameter)-.15 E F1(:)A F4 -(of)A(fset)-.18 E F1(:)A F4(length)A F0(})A F1 .797 -(Substring Expansion.)144 655.2 R F0 .796(Expands to up to)5.797 F F4 -(length)3.296 E F0 .796(characters of)3.296 F F4(par)3.296 E(ameter)-.15 -E F0 .796(starting at the character)3.296 F .228(speci\214ed by)144 -667.2 R F4(of)2.728 E(fset)-.18 E F0 5.228(.I)C(f)-5.228 E F4(length) -2.728 E F0 .229(is omitted, e)2.729 F .229(xpands to the substring of) --.15 F F4(par)2.729 E(ameter)-.15 E F0 .229(starting at the char)2.729 F -(-)-.2 E .433(acter speci\214ed by)144 679.2 R F4(of)2.933 E(fset)-.18 E -F0(.)A F4(length)5.433 E F0(and)2.933 E F4(of)2.933 E(fset)-.18 E F0 -.433(are arithmetic e)2.933 F .433(xpressions \(see)-.15 F F2 .432 -(ARITHMETIC EV)2.933 F(ALU-)-1.215 E -.855(AT)144 691.2 S(ION).855 E F0 -(belo)2.576 E(w\).)-.25 E F4(length)5.326 E F0 .326(must e)2.826 F -.25 -(va)-.25 G .326(luate to a number greater than or equal to zero.).25 F -(If)5.327 E F4(of)2.827 E(fset)-.18 E F0 -.25(eva)2.827 G(luates).25 E -.016(to a number less than zero, the v)144 703.2 R .015 -(alue is used as an of)-.25 F .015(fset from the end of the v)-.25 F -.015(alue of)-.25 F F4(par)2.515 E(ameter)-.15 E F0 5.015(.I)C(f)-5.015 -E F4(par)144 715.2 Q(ameter)-.15 E F0(is)3.25 E F1(@)3.25 E F0 3.25(,t)C -.75(he result is)-3.25 F F4(length)3.25 E F0 .75 -(positional parameters be)3.25 F .75(ginning at)-.15 F F4(of)3.25 E -(fset)-.18 E F0 5.75(.I)C(f)-5.75 E F4(par)3.25 E(ameter)-.15 E F0 .75 -(is an)3.25 F(inde)144 727.2 Q -.15(xe)-.15 G 2.702(da).15 G .201 -(rray name subscripted by @ or *, the result is the)-2.702 F F4(length) -2.701 E F0 .201(members of the array be)2.701 F(ginning)-.15 E -(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(19)195.945 E 0 Cg EP +(eters may not be assigned to in this w)144 672 Q(ay)-.1 E(.)-.65 E(${) +108 684 Q F2(par)A(ameter)-.15 E F1(:?)A F2(wor)A(d)-.37 E F0(})A F1 +.535(Display Err)144 696 R .535(or if Null or Unset)-.18 F F0 5.535(.I)C +(f)-5.535 E F2(par)4.285 E(ameter)-.15 E F0 .535 +(is null or unset, the e)3.765 F .535(xpansion of)-.15 F F2(wor)3.035 E +(d)-.37 E F0 .535(\(or a mes-)3.035 F .661(sage to that ef)144 708 R +.661(fect if)-.25 F F2(wor)3.501 E(d)-.37 E F0 .662(is not present\) is\ + written to the standard error and the shell, if it is not)3.931 F +(interacti)144 720 Q -.15(ve)-.25 G 2.5(,e).15 G 2.5(xits. Otherwise,) +-2.65 F(the v)2.5 E(alue of)-.25 E F2(par)2.5 E(ameter)-.15 E F0 +(is substituted.)2.5 E(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(19) +197.335 E 0 Cg EP %%Page: 20 20 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E 1.282(with ${)144 84 R/F1 10/Times-Italic@0 SF(par)A(ameter)-.15 -E F0([)A F1(of)A(fset)-.18 E F0 3.782(]}. A)B(ne)3.782 E -.05(ga)-.15 G -(ti).05 E -.15(ve)-.25 G F1(of)3.932 E(fset)-.18 E F0 1.282(is tak)3.782 -F 1.282(en relati)-.1 F 1.582 -.15(ve t)-.25 H 3.782(oo).15 G 1.283 -(ne greater than the maximum)-3.782 F(inde)144 96 Q 3.435(xo)-.15 G -3.435(ft)-3.435 G .935(he speci\214ed array)-3.435 F 5.935(.S)-.65 G -.935(ubstring e)-5.935 F .935(xpansion applied to an associati)-.15 F -1.234 -.15(ve a)-.25 H .934(rray produces unde-).15 F .261 -(\214ned results.)144 108 R .261(Note that a ne)5.261 F -.05(ga)-.15 G -(ti).05 E .561 -.15(ve o)-.25 H -.25(ff).15 G .261 +-.35 E(${)108 84 Q/F1 10/Times-Italic@0 SF(par)A(ameter)-.15 E/F2 10 +/Times-Bold@0 SF(:+)A F1(wor)A(d)-.37 E F0(})A F2 .745(Use Alter)144 96 +R .745(nate V)-.15 F(alue)-.92 E F0 5.745(.I)C(f)-5.745 E F1(par)4.495 E +(ameter)-.15 E F0 .745 +(is null or unset, nothing is substituted, otherwise the e)3.975 F +(xpan-)-.15 E(sion of)144 108 Q F1(wor)2.84 E(d)-.37 E F0 +(is substituted.)3.27 E(${)108 120 Q F1(par)A(ameter)-.15 E F2(:)A F1 +(of)A(fset)-.18 E F0(})A(${)108 132 Q F1(par)A(ameter)-.15 E F2(:)A F1 +(of)A(fset)-.18 E F2(:)A F1(length)A F0(})A F2 .796 +(Substring Expansion.)144 144 R F0 .796(Expands to up to)5.796 F F1 +(length)3.296 E F0 .796(characters of)3.296 F F1(par)3.296 E(ameter)-.15 +E F0 .797(starting at the character)3.296 F .229(speci\214ed by)144 156 +R F1(of)2.729 E(fset)-.18 E F0 5.229(.I)C(f)-5.229 E F1(length)2.729 E +F0 .229(is omitted, e)2.729 F .229(xpands to the substring of)-.15 F F1 +(par)2.729 E(ameter)-.15 E F0 .228(starting at the char)2.728 F(-)-.2 E +.432(acter speci\214ed by)144 168 R F1(of)2.933 E(fset)-.18 E F0(.)A F1 +(length)5.433 E F0(and)2.933 E F1(of)2.933 E(fset)-.18 E F0 .433 +(are arithmetic e)2.933 F .433(xpressions \(see)-.15 F/F3 9/Times-Bold@0 +SF .433(ARITHMETIC EV)2.933 F(ALU-)-1.215 E -.855(AT)144 180 S(ION).855 +E F0(belo)2.577 E(w\).)-.25 E F1(length)5.327 E F0 .327(must e)2.827 F +-.25(va)-.25 G .326(luate to a number greater than or equal to zero.).25 +F(If)5.326 E F1(of)2.826 E(fset)-.18 E F0 -.25(eva)2.826 G(luates).25 E +.015(to a number less than zero, the v)144 192 R .015 +(alue is used as an of)-.25 F .015(fset from the end of the v)-.25 F +.016(alue of)-.25 F F1(par)2.516 E(ameter)-.15 E F0 5.016(.I)C(f)-5.016 +E F1(par)144 204 Q(ameter)-.15 E F0(is)3.25 E F2(@)3.25 E F0 3.25(,t)C +.75(he result is)-3.25 F F1(length)3.25 E F0 .75 +(positional parameters be)3.25 F .75(ginning at)-.15 F F1(of)3.25 E +(fset)-.18 E F0 5.75(.I)C(f)-5.75 E F1(par)3.25 E(ameter)-.15 E F0 .75 +(is an)3.25 F(inde)144 216 Q -.15(xe)-.15 G 2.701(da).15 G .201 +(rray name subscripted by @ or *, the result is the)-2.701 F F1(length) +2.701 E F0 .202(members of the array be)2.701 F(ginning)-.15 E 1.283 +(with ${)144 228 R F1(par)A(ameter)-.15 E F0([)A F1(of)A(fset)-.18 E F0 +3.783(]}. A)B(ne)3.783 E -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G F1(of) +3.933 E(fset)-.18 E F0 1.282(is tak)3.782 F 1.282(en relati)-.1 F 1.582 +-.15(ve t)-.25 H 3.782(oo).15 G 1.282(ne greater than the maximum)-3.782 +F(inde)144 240 Q 3.434(xo)-.15 G 3.434(ft)-3.434 G .934 +(he speci\214ed array)-3.434 F 5.934(.S)-.65 G .935(ubstring e)-5.934 F +.935(xpansion applied to an associati)-.15 F 1.235 -.15(ve a)-.25 H .935 +(rray produces unde-).15 F .262(\214ned results.)144 252 R .261 +(Note that a ne)5.262 F -.05(ga)-.15 G(ti).05 E .561 -.15(ve o)-.25 H +-.25(ff).15 G .261 (set must be separated from the colon by at least one space to).25 F -.2 -(avo)144 120 S .155(id being confused with the :- e).2 F 2.655 -(xpansion. Substring)-.15 F(inde)2.655 E .154 +(avo)144 264 S .154(id being confused with the :- e).2 F 2.655 +(xpansion. Substring)-.15 F(inde)2.655 E .155 (xing is zero-based unless the positional)-.15 F .532 -(parameters are used, in which case the inde)144 132 R .532 +(parameters are used, in which case the inde)144 276 R .532 (xing starts at 1 by def)-.15 F 3.032(ault. If)-.1 F F1(of)3.032 E(fset) -.18 E F0 .532(is 0, and the posi-)3.032 F(tional parameters are used,) -144 144 Q/F2 10/Times-Bold@0 SF($0)2.5 E F0(is pre\214x)2.5 E -(ed to the list.)-.15 E(${)108 160.8 Q F2(!)A F1(pr)A(e\214x)-.37 E F2 -(*)A F0(})A(${)108 172.8 Q F2(!)A F1(pr)A(e\214x)-.37 E F2(@)A F0(})A F2 -.085(Names matching pr)144 184.8 R(e\214x.)-.18 E F0 .084 -(Expands to the names of v)5.085 F .084(ariables whose names be)-.25 F -.084(gin with)-.15 F F1(pr)2.584 E(e\214x)-.37 E F0 2.584(,s)C(epa-) --2.584 E .257(rated by the \214rst character of the)144 196.8 R/F3 9 -/Times-Bold@0 SF(IFS)2.757 E F0 .257(special v)2.507 F 2.757 -(ariable. When)-.25 F F1(@)2.758 E F0 .258(is used and the e)2.758 F -.258(xpansion appears)-.15 F(within double quotes, each v)144 208.8 Q -(ariable name e)-.25 E(xpands to a separate w)-.15 E(ord.)-.1 E(${)108 -225.6 Q F2(!)A F1(name)A F0([)A F1(@)A F0(]})A(${)108 237.6 Q F2(!)A F1 -(name)A F0([)A F1(*)A F0(]})A F2 2.036(List of array k)144 249.6 R(eys.) --.1 E F0(If)7.036 E F1(name)4.536 E F0 2.036(is an array v)4.536 F 2.036 -(ariable, e)-.25 F 2.036(xpands to the list of array indices \(k)-.15 F --.15(ey)-.1 G(s\)).15 E .595(assigned in)144 261.6 R F1(name)3.095 E F0 -5.595(.I)C(f)-5.595 E F1(name)3.095 E F0 .595(is not an array)3.095 F -3.095(,e)-.65 G .595(xpands to 0 if)-3.245 F F1(name)3.095 E F0 .596 -(is set and null otherwise.)3.095 F(When)5.596 E F1(@)144 273.6 Q F0 +144 288 Q F2($0)2.5 E F0(is pre\214x)2.5 E(ed to the list.)-.15 E(${)108 +304.8 Q F2(!)A F1(pr)A(e\214x)-.37 E F2(*)A F0(})A(${)108 316.8 Q F2(!)A +F1(pr)A(e\214x)-.37 E F2(@)A F0(})A F2 .084(Names matching pr)144 328.8 +R(e\214x.)-.18 E F0 .084(Expands to the names of v)5.084 F .084 +(ariables whose names be)-.25 F .085(gin with)-.15 F F1(pr)2.585 E +(e\214x)-.37 E F0 2.585(,s)C(epa-)-2.585 E .258 +(rated by the \214rst character of the)144 340.8 R F3(IFS)2.758 E F0 +.257(special v)2.507 F 2.757(ariable. When)-.25 F F1(@)2.757 E F0 .257 +(is used and the e)2.757 F .257(xpansion appears)-.15 F +(within double quotes, each v)144 352.8 Q(ariable name e)-.25 E +(xpands to a separate w)-.15 E(ord.)-.1 E(${)108 369.6 Q F2(!)A F1(name) +A F0([)A F1(@)A F0(]})A(${)108 381.6 Q F2(!)A F1(name)A F0([)A F1(*)A F0 +(]})A F2 2.035(List of array k)144 393.6 R(eys.)-.1 E F0(If)7.036 E F1 +(name)4.536 E F0 2.036(is an array v)4.536 F 2.036(ariable, e)-.25 F +2.036(xpands to the list of array indices \(k)-.15 F -.15(ey)-.1 G(s\)) +.15 E .596(assigned in)144 405.6 R F1(name)3.096 E F0 5.596(.I)C(f) +-5.596 E F1(name)3.096 E F0 .595(is not an array)3.096 F 3.095(,e)-.65 G +.595(xpands to 0 if)-3.245 F F1(name)3.095 E F0 .595 +(is set and null otherwise.)3.095 F(When)5.595 E F1(@)144 417.6 Q F0 (is used and the e)2.5 E(xpansion appears within double quotes, each k) -.15 E .3 -.15(ey ex)-.1 H(pands to a separate w).15 E(ord.)-.1 E(${)108 -290.4 Q F2(#)A F1(par)A(ameter)-.15 E F0(})A F2 -.1(Pa)144 302.4 S .471 -(rameter length.).1 F F0 .471(The length in characters of the v)5.471 F -.471(alue of)-.25 F F1(par)2.971 E(ameter)-.15 E F0 .47(is substituted.) -2.97 F(If)5.47 E F1(par)4.22 E(ame-)-.15 E(ter)144 314.4 Q F0(is)4.438 E -F2(*)3.708 E F0(or)3.708 E F2(@)3.708 E F0 3.708(,t)C 1.208(he v)-3.708 -F 1.208(alue substituted is the number of positional parameters.)-.25 F -(If)6.209 E F1(par)4.959 E(ameter)-.15 E F0 1.209(is an)4.439 F -(array name subscripted by)144 326.4 Q F2(*)2.5 E F0(or)2.5 E F2(@)2.5 E +434.4 Q F2(#)A F1(par)A(ameter)-.15 E F0(})A F2 -.1(Pa)144 446.4 S .47 +(rameter length.).1 F F0 .471(The length in characters of the v)5.47 F +.471(alue of)-.25 F F1(par)2.971 E(ameter)-.15 E F0 .471 +(is substituted.)2.971 F(If)5.471 E F1(par)4.221 E(ame-)-.15 E(ter)144 +458.4 Q F0(is)4.439 E F2(*)3.709 E F0(or)3.709 E F2(@)3.709 E F0 3.708 +(,t)C 1.208(he v)-3.708 F 1.208 +(alue substituted is the number of positional parameters.)-.25 F(If) +6.208 E F1(par)4.958 E(ameter)-.15 E F0 1.208(is an)4.438 F +(array name subscripted by)144 470.4 Q F2(*)2.5 E F0(or)2.5 E F2(@)2.5 E F0 2.5(,t)C(he v)-2.5 E (alue substituted is the number of elements in the array)-.25 E(.)-.65 E -(${)108 343.2 Q F1(par)A(ameter)-.15 E F2(#)A F1(wor)A(d)-.37 E F0(})A -(${)108 355.2 Q F1(par)A(ameter)-.15 E F2(##)A F1(wor)A(d)-.37 E F0(})A -F2(Remo)144 367.2 Q 1.396 -.1(ve m)-.1 H 1.196(atching pr).1 F 1.196 +(${)108 487.2 Q F1(par)A(ameter)-.15 E F2(#)A F1(wor)A(d)-.37 E F0(})A +(${)108 499.2 Q F1(par)A(ameter)-.15 E F2(##)A F1(wor)A(d)-.37 E F0(})A +F2(Remo)144 511.2 Q 1.396 -.1(ve m)-.1 H 1.196(atching pr).1 F 1.196 (e\214x patter)-.18 F(n.)-.15 E F0(The)6.196 E F1(wor)4.036 E(d)-.37 E F0 1.196(is e)4.466 F 1.196 -(xpanded to produce a pattern just as in path-)-.15 F .151(name e)144 -379.2 R 2.651(xpansion. If)-.15 F .152(the pattern matches the be)2.652 +(xpanded to produce a pattern just as in path-)-.15 F .152(name e)144 +523.2 R 2.652(xpansion. If)-.15 F .152(the pattern matches the be)2.652 F .152(ginning of the v)-.15 F .152(alue of)-.25 F F1(par)2.652 E -(ameter)-.15 E F0 2.652(,t).73 G .152(hen the result of)-2.652 F 1.4 -(the e)144 391.2 R 1.4(xpansion is the e)-.15 F 1.4(xpanded v)-.15 F 1.4 +(ameter)-.15 E F0 2.652(,t).73 G .151(hen the result of)-2.652 F 1.4 +(the e)144 535.2 R 1.4(xpansion is the e)-.15 F 1.4(xpanded v)-.15 F 1.4 (alue of)-.25 F F1(par)5.15 E(ameter)-.15 E F0 1.4 (with the shortest matching pattern \(the `)4.63 F(`)-.74 E F2(#)A F0 --.74('')C .281(case\) or the longest matching pattern \(the `)144 403.2 +-.74('')C .281(case\) or the longest matching pattern \(the `)144 547.2 R(`)-.74 E F2(##)A F0 1.761 -.74('' c)D .281(ase\) deleted.).74 F(If) 5.281 E F1(par)4.031 E(ameter)-.15 E F0(is)3.511 E F2(@)2.781 E F0(or) -2.781 E F2(*)2.782 E F0 2.782(,t)C .282(he pattern)-2.782 F(remo)144 -415.2 Q -.25(va)-.15 G 3.274(lo).25 G .774 +2.781 E F2(*)2.781 E F0 2.781(,t)C .281(he pattern)-2.781 F(remo)144 +559.2 Q -.25(va)-.15 G 3.274(lo).25 G .774 (peration is applied to each positional parameter in turn, and the e) --3.274 F .774(xpansion is the resul-)-.15 F .401(tant list.)144 427.2 R -(If)5.401 E F1(par)4.151 E(ameter)-.15 E F0 .401(is an array v)3.631 F +-3.274 F .774(xpansion is the resul-)-.15 F .402(tant list.)144 571.2 R +(If)5.402 E F1(par)4.152 E(ameter)-.15 E F0 .401(is an array v)3.632 F .401(ariable subscripted with)-.25 F F2(@)2.901 E F0(or)2.901 E F2(*) -2.901 E F0 2.902(,t)C .402(he pattern remo)-2.902 F -.25(va)-.15 G 2.902 -(lo).25 G(peration)-2.902 E -(is applied to each member of the array in turn, and the e)144 439.2 Q -(xpansion is the resultant list.)-.15 E(${)108 456 Q F1(par)A(ameter) --.15 E F2(%)A F1(wor)A(d)-.37 E F0(})A(${)108 468 Q F1(par)A(ameter)-.15 -E F2(%%)A F1(wor)A(d)-.37 E F0(})A F2(Remo)144 480 Q .347 -.1(ve m)-.1 H -.147(atching suf\214x patter).1 F(n.)-.15 E F0(The)5.147 E F1(wor)2.647 -E(d)-.37 E F0 .147(is e)2.647 F .146 -(xpanded to produce a pattern just as in pathname)-.15 F -.15(ex)144 492 +2.901 E F0 2.901(,t)C .401(he pattern remo)-2.901 F -.25(va)-.15 G 2.901 +(lo).25 G(peration)-2.901 E +(is applied to each member of the array in turn, and the e)144 583.2 Q +(xpansion is the resultant list.)-.15 E(${)108 600 Q F1(par)A(ameter) +-.15 E F2(%)A F1(wor)A(d)-.37 E F0(})A(${)108 612 Q F1(par)A(ameter)-.15 +E F2(%%)A F1(wor)A(d)-.37 E F0(})A F2(Remo)144 624 Q .346 -.1(ve m)-.1 H +.146(atching suf\214x patter).1 F(n.)-.15 E F0(The)5.146 E F1(wor)2.646 +E(d)-.37 E F0 .147(is e)2.647 F .147 +(xpanded to produce a pattern just as in pathname)-.15 F -.15(ex)144 636 S 3.088(pansion. If).15 F .588 (the pattern matches a trailing portion of the e)3.088 F .588(xpanded v) -.15 F .588(alue of)-.25 F F1(par)3.088 E(ameter)-.15 E F0 3.088(,t).73 -G .588(hen the)-3.088 F .226(result of the e)144 504 R .226 +G .588(hen the)-3.088 F .226(result of the e)144 648 R .226 (xpansion is the e)-.15 F .226(xpanded v)-.15 F .226(alue of)-.25 F F1 (par)3.976 E(ameter)-.15 E F0 .226 -(with the shortest matching pattern \(the)3.456 F -.74(``)144 516 S F2 -(%).74 E F0 1.521 -.74('' c)D .042 +(with the shortest matching pattern \(the)3.456 F -.74(``)144 660 S F2 +(%).74 E F0 1.522 -.74('' c)D .042 (ase\) or the longest matching pattern \(the `).74 F(`)-.74 E F2(%%)A F0 1.522 -.74('' c)D .042(ase\) deleted.).74 F(If)5.042 E F1(par)3.792 E -(ameter)-.15 E F0(is)3.272 E F2(@)2.542 E F0(or)2.542 E F2(*)2.542 E F0 -2.542(,t)C(he)-2.542 E .441(pattern remo)144 528 R -.25(va)-.15 G 2.941 +(ameter)-.15 E F0(is)3.272 E F2(@)2.541 E F0(or)2.541 E F2(*)2.541 E F0 +2.541(,t)C(he)-2.541 E .44(pattern remo)144 672 R -.25(va)-.15 G 2.94 (lo).25 G .441 (peration is applied to each positional parameter in turn, and the e) --2.941 F .44(xpansion is the)-.15 F .24(resultant list.)144 540 R(If) -5.24 E F1(par)3.99 E(ameter)-.15 E F0 .24(is an array v)3.47 F .241 -(ariable subscripted with)-.25 F F2(@)2.741 E F0(or)2.741 E F2(*)2.741 E -F0 2.741(,t)C .241(he pattern remo)-2.741 F -.25(va)-.15 G 2.741(lo).25 -G(per)-2.741 E(-)-.2 E -(ation is applied to each member of the array in turn, and the e)144 552 -Q(xpansion is the resultant list.)-.15 E(${)108 568.8 Q F1(par)A(ameter) --.15 E F2(/)A F1(pattern)A F2(/)A F1(string)A F0(})A F2 -.1(Pa)144 580.8 -S(tter).1 E 3.607(ns)-.15 G(ubstitution.)-3.607 E F0(The)6.107 E F1 -(pattern)3.607 E F0 1.107(is e)3.607 F 1.106 -(xpanded to produce a pattern just as in pathname e)-.15 F(xpan-)-.15 E -(sion.)144 592.8 Q F1 -.8(Pa)6.033 G -.15(ra).8 G(meter).15 E F0 1.033 -(is e)3.533 F 1.033(xpanded and the longest match of)-.15 F F1(pattern) -3.533 E F0(ag)3.533 E 1.034(ainst its v)-.05 F 1.034 -(alue is replaced with)-.25 F F1(string)144 604.8 Q F0 5.161(.I)C(f) --5.161 E F1(pattern)2.661 E F0(be)2.661 E .161(gins with)-.15 F F2(/) -2.661 E F0 2.661(,a)C .161(ll matches of)-2.661 F F1(pattern)2.661 E F0 -.16(are replaced with)2.661 F F1(string)2.66 E F0 5.16(.N)C .16 -(ormally only the)-5.16 F .806(\214rst match is replaced.)144 616.8 R -(If)5.806 E F1(pattern)3.306 E F0(be)3.306 E .806(gins with)-.15 F F2(#) -3.306 E F0 3.306(,i)C 3.307(tm)-3.306 G .807(ust match at the be)-3.307 -F .807(ginning of the e)-.15 F(xpanded)-.15 E -.25(va)144 628.8 S .621 -(lue of).25 F F1(par)3.121 E(ameter)-.15 E F0 5.621(.I)C(f)-5.621 E F1 -(pattern)3.121 E F0(be)3.121 E .621(gins with)-.15 F F2(%)3.121 E F0 -3.121(,i)C 3.121(tm)-3.121 G .62(ust match at the end of the e)-3.121 F -.62(xpanded v)-.15 F .62(alue of)-.25 F F1(par)144 640.8 Q(ameter)-.15 E -F0 6.253(.I)C(f)-6.253 E F1(string)3.753 E F0 1.253(is null, matches of) -3.753 F F1(pattern)3.753 E F0 1.253(are deleted and the)3.753 F F2(/) -3.753 E F0(follo)3.753 E(wing)-.25 E F1(pattern)3.753 E F0 1.254(may be) -3.754 F 2.679(omitted. If)144 652.8 R F1(par)3.929 E(ameter)-.15 E F0 -(is)3.409 E F2(@)2.679 E F0(or)2.679 E F2(*)2.679 E F0 2.679(,t)C .178 -(he substitution operation is applied to each positional parameter) --2.679 F .618(in turn, and the e)144 664.8 R .619 -(xpansion is the resultant list.)-.15 F(If)5.619 E F1(par)4.369 E -(ameter)-.15 E F0 .619(is an array v)3.849 F .619 -(ariable subscripted with)-.25 F F2(@)144 676.8 Q F0(or)3.224 E F2(*) -3.224 E F0 3.224(,t)C .723(he substitution operation is applied to each\ - member of the array in turn, and the e)-3.224 F(xpan-)-.15 E -(sion is the resultant list.)144 688.8 Q(${)108 705.6 Q F1(par)A(ameter) --.15 E F2(^)A F1(pattern)A F0(})A(GNU Bash-4.1)72 768 Q(2010 April 17) -145.955 E(20)195.945 E 0 Cg EP +-2.94 F .441(xpansion is the)-.15 F .241(resultant list.)144 684 R(If) +5.241 E F1(par)3.991 E(ameter)-.15 E F0 .241(is an array v)3.471 F .241 +(ariable subscripted with)-.25 F F2(@)2.741 E F0(or)2.74 E F2(*)2.74 E +F0 2.74(,t)C .24(he pattern remo)-2.74 F -.25(va)-.15 G 2.74(lo).25 G +(per)-2.74 E(-)-.2 E +(ation is applied to each member of the array in turn, and the e)144 696 +Q(xpansion is the resultant list.)-.15 E(GNU Bash-4.1)72 768 Q +(2010 May 30)147.345 E(20)197.335 E 0 Cg EP %%Page: 21 21 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) -.35 E(${)108 84 Q/F1 10/Times-Italic@0 SF(par)A(ameter)-.15 E/F2 10 -/Times-Bold@0 SF(^^)A F1(pattern)A F0(})A(${)108 96 Q F1(par)A(ameter) --.15 E F2(,)A F1(pattern)A F0(})A(${)108 108 Q F1(par)A(ameter)-.15 E F2 -(,,)A F1(pattern)A F0(})A F2 .437(Case modi\214cation.)144 120 R F0 .437 -(This e)5.437 F .438 +/Times-Bold@0 SF(/)A F1(pattern)A F2(/)A F1(string)A F0(})A F2 -.1(Pa) +144 96 S(tter).1 E 3.606(ns)-.15 G(ubstitution.)-3.606 E F0(The)6.106 E +F1(pattern)3.606 E F0 1.106(is e)3.606 F 1.107 +(xpanded to produce a pattern just as in pathname e)-.15 F(xpan-)-.15 E +(sion.)144 108 Q F1 -.8(Pa)6.034 G -.15(ra).8 G(meter).15 E F0 1.034 +(is e)3.534 F 1.033(xpanded and the longest match of)-.15 F F1(pattern) +3.533 E F0(ag)3.533 E 1.033(ainst its v)-.05 F 1.033 +(alue is replaced with)-.25 F F1(string)144 120 Q F0 5.16(.I)C(f)-5.16 E +F1(pattern)2.66 E F0(be)2.66 E .16(gins with)-.15 F F2(/)2.66 E F0 2.66 +(,a)C .161(ll matches of)-2.66 F F1(pattern)2.661 E F0 .161 +(are replaced with)2.661 F F1(string)2.661 E F0 5.161(.N)C .161 +(ormally only the)-5.161 F .807(\214rst match is replaced.)144 132 R(If) +5.807 E F1(pattern)3.307 E F0(be)3.307 E .807(gins with)-.15 F F2(#) +3.307 E F0 3.306(,i)C 3.306(tm)-3.306 G .806(ust match at the be)-3.306 +F .806(ginning of the e)-.15 F(xpanded)-.15 E -.25(va)144 144 S .62 +(lue of).25 F F1(par)3.12 E(ameter)-.15 E F0 5.62(.I)C(f)-5.62 E F1 +(pattern)3.12 E F0(be)3.12 E .62(gins with)-.15 F F2(%)3.12 E F0 3.12 +(,i)C 3.121(tm)-3.12 G .621(ust match at the end of the e)-3.121 F .621 +(xpanded v)-.15 F .621(alue of)-.25 F F1(par)144 156 Q(ameter)-.15 E F0 +6.254(.I)C(f)-6.254 E F1(string)3.754 E F0 1.253(is null, matches of) +3.753 F F1(pattern)3.753 E F0 1.253(are deleted and the)3.753 F F2(/) +3.753 E F0(follo)3.753 E(wing)-.25 E F1(pattern)3.753 E F0 1.253(may be) +3.753 F 2.678(omitted. If)144 168 R F1(par)3.928 E(ameter)-.15 E F0(is) +3.408 E F2(@)2.678 E F0(or)2.678 E F2(*)2.679 E F0 2.679(,t)C .179 +(he substitution operation is applied to each positional parameter) +-2.679 F .619(in turn, and the e)144 180 R .619 +(xpansion is the resultant list.)-.15 F(If)5.619 E F1(par)4.369 E +(ameter)-.15 E F0 .618(is an array v)3.849 F .618 +(ariable subscripted with)-.25 F F2(@)144 192 Q F0(or)3.223 E F2(*)3.223 +E F0 3.223(,t)C .723(he substitution operation is applied to each membe\ +r of the array in turn, and the e)-3.223 F(xpan-)-.15 E +(sion is the resultant list.)144 204 Q(${)108 220.8 Q F1(par)A(ameter) +-.15 E F2(^)A F1(pattern)A F0(})A(${)108 232.8 Q F1(par)A(ameter)-.15 E +F2(^^)A F1(pattern)A F0(})A(${)108 244.8 Q F1(par)A(ameter)-.15 E F2(,)A +F1(pattern)A F0(})A(${)108 256.8 Q F1(par)A(ameter)-.15 E F2(,,)A F1 +(pattern)A F0(})A F2 .438(Case modi\214cation.)144 268.8 R F0 .438 +(This e)5.438 F .437 (xpansion modi\214es the case of alphabetic characters in)-.15 F F1(par) -2.938 E(ameter)-.15 E F0 5.438(.T)C(he)-5.438 E F1(pattern)144 132 Q F0 -.814(is e)3.314 F .813 -(xpanded to produce a pattern just as in pathname e)-.15 F 3.313 -(xpansion. The)-.15 F F2(^)3.313 E F0 .813(operator con)3.313 F -.15(ve) --.4 G(rts).15 E(lo)144 144 Q .18(wercase letters matching)-.25 F F1 +2.937 E(ameter)-.15 E F0 5.437(.T)C(he)-5.437 E F1(pattern)144 280.8 Q +F0 .813(is e)3.313 F .813 +(xpanded to produce a pattern just as in pathname e)-.15 F 3.314 +(xpansion. The)-.15 F F2(^)3.314 E F0 .814(operator con)3.314 F -.15(ve) +-.4 G(rts).15 E(lo)144 292.8 Q .181(wercase letters matching)-.25 F F1 (pattern)2.681 E F0 .181(to uppercase; the)2.681 F F2(,)2.681 E F0 .181 -(operator con)2.681 F -.15(ve)-.4 G .181(rts matching uppercase letters) -.15 F .085(to lo)144 156 R 2.585(wercase. The)-.25 F F2(^^)2.585 E F0 +(operator con)2.681 F -.15(ve)-.4 G .18(rts matching uppercase letters) +.15 F .085(to lo)144 304.8 R 2.585(wercase. The)-.25 F F2(^^)2.585 E F0 (and)2.585 E F2(,,)2.585 E F0 -.15(ex)2.585 G .085(pansions con).15 F -.15(ve)-.4 G .085(rt each matched character in the e).15 F .085 -(xpanded v)-.15 F .085(alue; the)-.25 F F2(^)2.585 E F0(and)144 168 Q F2 -(,)3.59 E F0 -.15(ex)3.59 G 1.09(pansions match and con).15 F -.15(ve) --.4 G 1.091(rt only the \214rst character in the e).15 F 1.091 -(xpanded v)-.15 F 3.591(alue. If)-.25 F F1(pattern)3.591 E F0(is)3.591 E -1.121(omitted, it is treated lik)144 180 R 3.621(ea)-.1 G F2(?)A F0 -3.621(,w)C 1.121(hich matches e)-3.621 F -.15(ve)-.25 G 1.121 -(ry character).15 F 6.12(.I)-.55 G(f)-6.12 E F1(par)4.87 E(ameter)-.15 E -F0(is)4.35 E F2(@)3.62 E F0(or)3.62 E F2(*)3.62 E F0 3.62(,t)C 1.12 -(he case)-3.62 F 1.335(modi\214cation operation is applied to each posi\ -tional parameter in turn, and the e)144 192 R 1.335(xpansion is the)-.15 -F 1.308(resultant list.)144 204 R(If)6.308 E F1(par)5.058 E(ameter)-.15 +(xpanded v)-.15 F .085(alue; the)-.25 F F2(^)2.585 E F0(and)144 316.8 Q +F2(,)3.591 E F0 -.15(ex)3.591 G 1.091(pansions match and con).15 F -.15 +(ve)-.4 G 1.091(rt only the \214rst character in the e).15 F 1.09 +(xpanded v)-.15 F 3.59(alue. If)-.25 F F1(pattern)3.59 E F0(is)3.59 E +1.12(omitted, it is treated lik)144 328.8 R 3.62(ea)-.1 G F2(?)A F0 3.62 +(,w)C 1.12(hich matches e)-3.62 F -.15(ve)-.25 G 1.121(ry character).15 +F 6.121(.I)-.55 G(f)-6.121 E F1(par)4.871 E(ameter)-.15 E F0(is)4.351 E +F2(@)3.621 E F0(or)3.621 E F2(*)3.621 E F0 3.621(,t)C 1.121(he case) +-3.621 F 1.335(modi\214cation operation is applied to each positional p\ +arameter in turn, and the e)144 340.8 R 1.335(xpansion is the)-.15 F +1.308(resultant list.)144 352.8 R(If)6.308 E F1(par)5.058 E(ameter)-.15 E F0 1.308(is an array v)4.538 F 1.308(ariable subscripted with)-.25 F F2(@)3.808 E F0(or)3.808 E F2(*)3.808 E F0 3.808(,t)C 1.308 (he case modi\214cation)-3.808 F (operation is applied to each member of the array in turn, and the e)144 -216 Q(xpansion is the resultant list.)-.15 E F2(Command Substitution)87 -232.8 Q F1 1.697(Command substitution)108 244.8 R F0(allo)4.197 E 1.697 -(ws the output of a command to replace the command name.)-.25 F 1.698 -(There are tw)6.698 F(o)-.1 E(forms:)108 256.8 Q F2($\()144 278.4 Q F1 -(command)A F2(\))1.666 E F0(or)108 290.4 Q F2<92>144 302.4 Q F1(command) -A F2<92>A(Bash)108 319.2 Q F0 .02(performs the e)2.52 F .02 +364.8 Q(xpansion is the resultant list.)-.15 E F2(Command Substitution) +87 381.6 Q F1 1.698(Command substitution)108 393.6 R F0(allo)4.198 E +1.697(ws the output of a command to replace the command name.)-.25 F +1.697(There are tw)6.697 F(o)-.1 E(forms:)108 405.6 Q F2($\()144 427.2 Q +F1(command)A F2(\))1.666 E F0(or)108 439.2 Q F2<92>144 451.2 Q F1 +(command)A F2<92>A(Bash)108 468 Q F0 .019(performs the e)2.519 F .019 (xpansion by e)-.15 F -.15(xe)-.15 G(cuting).15 E F1(command)2.519 E F0 -.019(and replacing the command substitution with the stan-)2.519 F .768 -(dard output of the command, with an)108 331.2 R 3.268(yt)-.15 G .768 +.02(and replacing the command substitution with the stan-)2.519 F .768 +(dard output of the command, with an)108 480 R 3.268(yt)-.15 G .768 (railing ne)-3.268 F .768(wlines deleted.)-.25 F .768(Embedded ne)5.768 -F .768(wlines are not deleted, b)-.25 F(ut)-.2 E(the)108 343.2 Q 3.219 -(ym)-.15 G .719(ay be remo)-3.219 F -.15(ve)-.15 G 3.219(dd).15 G .719 -(uring w)-3.219 F .719(ord splitting.)-.1 F .719 +F .768(wlines are not deleted, b)-.25 F(ut)-.2 E(the)108 492 Q 3.218(ym) +-.15 G .718(ay be remo)-3.218 F -.15(ve)-.15 G 3.218(dd).15 G .719 +(uring w)-3.218 F .719(ord splitting.)-.1 F .719 (The command substitution)5.719 F F2($\(cat)3.219 E F1(\214le)3.219 E F2 -(\))A F0 .718(can be replaced by the)3.219 F(equi)108 355.2 Q -.25(va) --.25 G(lent b).25 E(ut f)-.2 E(aster)-.1 E F2($\(<)2.5 E F1(\214le)2.5 E -F2(\))A F0(.)A 1.724(When the old-style backquote form of substitution \ -is used, backslash retains its literal meaning e)108 372 R(xcept)-.15 E -.315(when follo)108 384 R .315(wed by)-.25 F F2($)2.815 E F0(,)A F2<92> -2.815 E F0 2.815(,o)C(r)-2.815 E F2(\\)2.815 E F0 5.315(.T)C .314(he \ -\214rst backquote not preceded by a backslash terminates the command su\ -b-)-5.315 F 3.886(stitution. When)108 396 R 1.386(using the $\()3.886 F -F1(command).833 E F0 3.886(\)f)1.666 G 1.387 -(orm, all characters between the parentheses mak)-3.886 F 3.887(eu)-.1 G -3.887(pt)-3.887 G 1.387(he com-)-3.887 F -(mand; none are treated specially)108 408 Q(.)-.65 E .894 -(Command substitutions may be nested.)108 424.8 R 2.494 -.8(To n)5.894 H +(\))A F0 .719(can be replaced by the)3.219 F(equi)108 504 Q -.25(va)-.25 +G(lent b).25 E(ut f)-.2 E(aster)-.1 E F2($\(<)2.5 E F1(\214le)2.5 E F2 +(\))A F0(.)A 1.724(When the old-style backquote form of substitution is\ + used, backslash retains its literal meaning e)108 520.8 R(xcept)-.15 E +.314(when follo)108 532.8 R .314(wed by)-.25 F F2($)2.814 E F0(,)A F2 +<92>2.814 E F0 2.814(,o)C(r)-2.814 E F2(\\)2.814 E F0 5.314(.T)C .315(h\ +e \214rst backquote not preceded by a backslash terminates the command \ +sub-)-5.314 F 3.887(stitution. When)108 544.8 R 1.387(using the $\() +3.887 F F1(command).833 E F0 3.887(\)f)1.666 G 1.386 +(orm, all characters between the parentheses mak)-3.887 F 3.886(eu)-.1 G +3.886(pt)-3.886 G 1.386(he com-)-3.886 F +(mand; none are treated specially)108 556.8 Q(.)-.65 E .894 +(Command substitutions may be nested.)108 573.6 R 2.494 -.8(To n)5.894 H .894(est when using the backquoted form, escape the inner back-).8 F -(quotes with backslashes.)108 436.8 Q .422 -(If the substitution appears within double quotes, w)108 453.6 R .422 -(ord splitting and pathname e)-.1 F .423(xpansion are not performed)-.15 -F(on the results.)108 465.6 Q F2(Arithmetic Expansion)87 482.4 Q F0 -1.035(Arithmetic e)108 494.4 R 1.035(xpansion allo)-.15 F 1.035 +(quotes with backslashes.)108 585.6 Q .422 +(If the substitution appears within double quotes, w)108 602.4 R .422 +(ord splitting and pathname e)-.1 F .422(xpansion are not performed)-.15 +F(on the results.)108 614.4 Q F2(Arithmetic Expansion)87 631.2 Q F0 +1.034(Arithmetic e)108 643.2 R 1.034(xpansion allo)-.15 F 1.034 (ws the e)-.25 F -.25(va)-.25 G 1.034(luation of an arithmetic e).25 F -1.034(xpression and the substitution of the result.)-.15 F -(The format for arithmetic e)108 506.4 Q(xpansion is:)-.15 E F2($\(\() -144 523.2 Q F1 -.2(ex)C(pr).2 E(ession)-.37 E F2(\)\))A F0(The)108 540 Q -F1 -.2(ex)2.665 G(pr).2 E(ession)-.37 E F0 .165 -(is treated as if it were within double quotes, b)2.905 F .166 -(ut a double quote inside the parentheses is not)-.2 F 1.075 -(treated specially)108 552 R 6.075(.A)-.65 G 1.074(ll tok)-6.075 F 1.074 -(ens in the e)-.1 F 1.074(xpression under)-.15 F 1.074(go parameter e) --.18 F 1.074(xpansion, string e)-.15 F 1.074(xpansion, command)-.15 F -(substitution, and quote remo)108 564 Q -.25(va)-.15 G 2.5 -(l. Arithmetic).25 F -.15(ex)2.5 G(pansions may be nested.).15 E 1.378 -(The e)108 580.8 R -.25(va)-.25 G 1.378 -(luation is performed according to the rules listed belo).25 F 3.878(wu) --.25 G(nder)-3.878 E/F3 9/Times-Bold@0 SF 1.378(ARITHMETIC EV)3.878 F -(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E/F4 9/Times-Roman@0 SF(.)A F0 -(If)5.879 E F1 -.2(ex)108 592.8 S(pr).2 E(ession)-.37 E F0(is in)2.74 E --.25(va)-.4 G(lid,).25 E F2(bash)2.5 E F0(prints a message indicating f) -2.5 E(ailure and no substitution occurs.)-.1 E F2(Pr)87 609.6 Q -(ocess Substitution)-.18 E F1(Pr)108 621.6 Q .971(ocess substitution) --.45 F F0 .971(is supported on systems that support named pipes \()3.471 -F F1(FIFOs)A F0 3.47(\)o)C 3.47(rt)-3.47 G(he)-3.47 E F2(/de)3.47 E -(v/fd)-.15 E F0 .97(method of)3.47 F .021(naming open \214les.)108 633.6 -R .021(It tak)5.021 F .021(es the form of)-.1 F F2(<\()2.521 E F1(list)A -F2(\)).833 E F0(or)2.521 E F2(>\()2.521 E F1(list)A F2(\)).833 E F0 -5.021(.T)C .021(he process)-5.021 F F1(list)2.521 E F0 .021 -(is run with its input or output con-)2.521 F .059(nected to a)108 645.6 -R F1(FIFO)2.559 E F0 .058(or some \214le in)2.559 F F2(/de)2.558 E(v/fd) --.15 E F0 5.058(.T)C .058(he name of this \214le is passed as an ar) --5.058 F .058(gument to the current com-)-.18 F .13 -(mand as the result of the e)108 657.6 R 2.63(xpansion. If)-.15 F(the) -2.63 E F2(>\()2.63 E F1(list)A F2(\)).833 E F0 .13 -(form is used, writing to the \214le will pro)2.63 F .131 -(vide input for)-.15 F F1(list)2.631 E F0(.)A(If the)108 669.6 Q F2(<\() -2.5 E F1(list)A F2(\)).833 E F0 -(form is used, the \214le passed as an ar)2.5 E -(gument should be read to obtain the output of)-.18 E F1(list)2.5 E F0 -(.)A .897(When a)108 686.4 R -.25(va)-.2 G .896(ilable, process substit\ -ution is performed simultaneously with parameter and v).25 F .896 -(ariable e)-.25 F(xpansion,)-.15 E -(command substitution, and arithmetic e)108 698.4 Q(xpansion.)-.15 E -(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(21)195.945 E 0 Cg EP +1.035(xpression and the substitution of the result.)-.15 F +(The format for arithmetic e)108 655.2 Q(xpansion is:)-.15 E F2($\(\() +144 672 Q F1 -.2(ex)C(pr).2 E(ession)-.37 E F2(\)\))A F0(The)108 688.8 Q +F1 -.2(ex)2.666 G(pr).2 E(ession)-.37 E F0 .165 +(is treated as if it were within double quotes, b)2.906 F .165 +(ut a double quote inside the parentheses is not)-.2 F 1.074 +(treated specially)108 700.8 R 6.074(.A)-.65 G 1.074(ll tok)-6.074 F +1.074(ens in the e)-.1 F 1.074(xpression under)-.15 F 1.074 +(go parameter e)-.18 F 1.074(xpansion, string e)-.15 F 1.075 +(xpansion, command)-.15 F(substitution, and quote remo)108 712.8 Q -.25 +(va)-.15 G 2.5(l. Arithmetic).25 F -.15(ex)2.5 G +(pansions may be nested.).15 E 1.379(The e)108 729.6 R -.25(va)-.25 G +1.378(luation is performed according to the rules listed belo).25 F +3.878(wu)-.25 G(nder)-3.878 E/F3 9/Times-Bold@0 SF 1.378(ARITHMETIC EV) +3.878 F(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E/F4 9/Times-Roman@0 SF(.) +A F0(If)5.878 E(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(21)197.335 E +0 Cg EP %%Page: 22 22 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF -.75(Wo)87 84 S(rd Splitting).75 E F0 1.142 -(The shell scans the results of parameter e)108 96 R 1.143 -(xpansion, command substitution, and arithmetic e)-.15 F 1.143 -(xpansion that)-.15 F(did not occur within double quotes for)108 108 Q -/F2 10/Times-Italic@0 SF(wor)2.5 E 2.5(ds)-.37 G(plitting)-2.5 E F0(.) -.22 E .063(The shell treats each character of)108 124.8 R/F3 9 -/Times-Bold@0 SF(IFS)2.563 E F0 .063(as a delimiter)2.313 F 2.563(,a)-.4 -G .063(nd splits the results of the other e)-2.563 F .063 -(xpansions into w)-.15 F(ords)-.1 E 1.788(on these characters.)108 136.8 -R(If)6.788 E F3(IFS)4.288 E F0 1.788(is unset, or its v)4.038 F 1.789 -(alue is e)-.25 F(xactly)-.15 E F1()4.289 E F0 -4.289(,t)C 1.789(he def)-4.289 F 1.789(ault, then)-.1 F .022 -(sequences of)108 148.8 R F1()2.522 E F0(,)A F1()2.522 E F0 -2.521(,a)C(nd)-2.521 E F1()2.521 E F0 .021(at the be)2.521 F -.021(ginning and end of the results of the pre)-.15 F .021(vious e)-.25 -F(xpan-)-.15 E .585(sions are ignored, and an)108 160.8 R 3.086(ys)-.15 -G .586(equence of)-3.086 F F3(IFS)3.086 E F0 .586 -(characters not at the be)2.836 F .586(ginning or end serv)-.15 F .586 -(es to delimit w)-.15 F(ords.)-.1 E(If)108 172.8 Q F3(IFS)3.617 E F0 +-.35 E/F1 10/Times-Italic@0 SF -.2(ex)108 84 S(pr).2 E(ession)-.37 E F0 +(is in)2.74 E -.25(va)-.4 G(lid,).25 E/F2 10/Times-Bold@0 SF(bash)2.5 E +F0(prints a message indicating f)2.5 E +(ailure and no substitution occurs.)-.1 E F2(Pr)87 100.8 Q +(ocess Substitution)-.18 E F1(Pr)108 112.8 Q .97(ocess substitution)-.45 +F F0 .971(is supported on systems that support named pipes \()3.47 F F1 +(FIFOs)A F0 3.471(\)o)C 3.471(rt)-3.471 G(he)-3.471 E F2(/de)3.471 E +(v/fd)-.15 E F0 .971(method of)3.471 F .022(naming open \214les.)108 +124.8 R .021(It tak)5.022 F .021(es the form of)-.1 F F2(<\()2.521 E F1 +(list)A F2(\)).833 E F0(or)2.521 E F2(>\()2.521 E F1(list)A F2(\)).833 E +F0 5.021(.T)C .021(he process)-5.021 F F1(list)2.521 E F0 .021 +(is run with its input or output con-)2.521 F .058(nected to a)108 136.8 +R F1(FIFO)2.558 E F0 .058(or some \214le in)2.558 F F2(/de)2.558 E(v/fd) +-.15 E F0 5.058(.T)C .058(he name of this \214le is passed as an ar) +-5.058 F .059(gument to the current com-)-.18 F .131 +(mand as the result of the e)108 148.8 R 2.631(xpansion. If)-.15 F(the) +2.63 E F2(>\()2.63 E F1(list)A F2(\)).833 E F0 .13 +(form is used, writing to the \214le will pro)2.63 F .13(vide input for) +-.15 F F1(list)2.63 E F0(.)A(If the)108 160.8 Q F2(<\()2.5 E F1(list)A +F2(\)).833 E F0(form is used, the \214le passed as an ar)2.5 E +(gument should be read to obtain the output of)-.18 E F1(list)2.5 E F0 +(.)A .896(When a)108 177.6 R -.25(va)-.2 G .896(ilable, process substit\ +ution is performed simultaneously with parameter and v).25 F .897 +(ariable e)-.25 F(xpansion,)-.15 E +(command substitution, and arithmetic e)108 189.6 Q(xpansion.)-.15 E F2 +-.75(Wo)87 206.4 S(rd Splitting).75 E F0 1.143 +(The shell scans the results of parameter e)108 218.4 R 1.142 +(xpansion, command substitution, and arithmetic e)-.15 F 1.142 +(xpansion that)-.15 F(did not occur within double quotes for)108 230.4 Q +F1(wor)2.5 E 2.5(ds)-.37 G(plitting)-2.5 E F0(.).22 E .063 +(The shell treats each character of)108 247.2 R/F3 9/Times-Bold@0 SF +(IFS)2.563 E F0 .063(as a delimiter)2.313 F 2.563(,a)-.4 G .063 +(nd splits the results of the other e)-2.563 F .063(xpansions into w) +-.15 F(ords)-.1 E 1.789(on these characters.)108 259.2 R(If)6.789 E F3 +(IFS)4.289 E F0 1.788(is unset, or its v)4.039 F 1.788(alue is e)-.25 F +(xactly)-.15 E F2()4.288 E F0 4.288(,t)C 1.788 +(he def)-4.288 F 1.788(ault, then)-.1 F .021(sequences of)108 271.2 R F2 +()2.521 E F0(,)A F2()2.521 E F0 2.521(,a)C(nd)-2.521 E F2 +()2.521 E F0 .021(at the be)2.521 F .021 +(ginning and end of the results of the pre)-.15 F .022(vious e)-.25 F +(xpan-)-.15 E .586(sions are ignored, and an)108 283.2 R 3.086(ys)-.15 G +.586(equence of)-3.086 F F3(IFS)3.086 E F0 .586 +(characters not at the be)2.836 F .586(ginning or end serv)-.15 F .585 +(es to delimit w)-.15 F(ords.)-.1 E(If)108 295.2 Q F3(IFS)3.617 E F0 1.117(has a v)3.367 F 1.117(alue other than the def)-.25 F 1.117 -(ault, then sequences of the whitespace characters)-.1 F F1(space)3.617 -E F0(and)3.617 E F1(tab)3.617 E F0(are)3.617 E .315(ignored at the be) -108 184.8 R .315(ginning and end of the w)-.15 F .315 +(ault, then sequences of the whitespace characters)-.1 F F2(space)3.617 +E F0(and)3.617 E F2(tab)3.617 E F0(are)3.617 E .315(ignored at the be) +108 307.2 R .315(ginning and end of the w)-.15 F .315 (ord, as long as the whitespace character is in the v)-.1 F .315 -(alue of)-.25 F F3(IFS)2.815 E F0(\(an)2.566 E F3(IFS)108 196.8 Q F0 -1.054(whitespace character\).)3.304 F(An)6.054 E 3.554(yc)-.15 G 1.054 -(haracter in)-3.554 F F3(IFS)3.554 E F0 1.053(that is not)3.303 F F3 -(IFS)3.553 E F0 1.053(whitespace, along with an)3.303 F 3.553(ya)-.15 G -(djacent)-3.553 E F3(IFS)3.553 E F0 .331 -(whitespace characters, delimits a \214eld.)108 208.8 R 2.831(As)5.331 G -.332(equence of)-2.831 F F3(IFS)2.832 E F0 .332 +(alue of)-.25 F F3(IFS)2.815 E F0(\(an)2.565 E F3(IFS)108 319.2 Q F0 +1.053(whitespace character\).)3.303 F(An)6.053 E 3.553(yc)-.15 G 1.053 +(haracter in)-3.553 F F3(IFS)3.553 E F0 1.053(that is not)3.303 F F3 +(IFS)3.553 E F0 1.054(whitespace, along with an)3.304 F 3.554(ya)-.15 G +(djacent)-3.554 E F3(IFS)3.554 E F0 .332 +(whitespace characters, delimits a \214eld.)108 331.2 R 2.832(As)5.332 G +.332(equence of)-2.832 F F3(IFS)2.832 E F0 .331 (whitespace characters is also treated as a delim-)2.582 F(iter)108 -220.8 Q 5(.I)-.55 G 2.5(ft)-5 G(he v)-2.5 E(alue of)-.25 E F3(IFS)2.5 E -F0(is null, no w)2.25 E(ord splitting occurs.)-.1 E 1.879 -(Explicit null ar)108 237.6 R 1.879(guments \()-.18 F F1 .833("").833 G -F0(or)3.545 E F1 .833<0808>5.211 G F0 4.378(\)a)C 1.878(re retained.) --4.378 F 1.878(Unquoted implicit null ar)6.878 F 1.878 -(guments, resulting from the)-.18 F -.15(ex)108 249.6 S .176 -(pansion of parameters that ha).15 F .476 -.15(ve n)-.2 H 2.676(ov).15 G -.176(alues, are remo)-2.926 F -.15(ve)-.15 G 2.676(d. If).15 F 2.677(ap) -2.677 G .177(arameter with no v)-2.677 F .177(alue is e)-.25 F .177 -(xpanded within)-.15 F(double quotes, a null ar)108 261.6 Q -(gument results and is retained.)-.18 E(Note that if no e)108 278.4 Q -(xpansion occurs, no splitting is performed.)-.15 E F1 -.1(Pa)87 295.2 S -(thname Expansion).1 E F0 .371(After w)108 307.2 R .371 -(ord splitting, unless the)-.1 F F12.871 E F0 .371 -(option has been set,)2.871 F F1(bash)2.871 E F0 .37(scans each w)2.87 F -.37(ord for the characters)-.1 F F1(*)2.87 E F0(,)A F1(?)2.87 E F0 2.87 -(,a)C(nd)-2.87 E F1([)2.87 E F0(.)A .677 -(If one of these characters appears, then the w)108 319.2 R .677 -(ord is re)-.1 F -.05(ga)-.15 G .677(rded as a).05 F F2(pattern)3.177 E -F0 3.177(,a).24 G .678(nd replaced with an alphabeti-)-3.177 F 1.457 -(cally sorted list of \214le names matching the pattern.)108 331.2 R -1.456(If no matching \214le names are found, and the shell)6.457 F -(option)108 343.2 Q F1(nullglob)2.537 E F0 .038(is not enabled, the w) -2.537 F .038(ord is left unchanged.)-.1 F .038(If the)5.038 F F1 -(nullglob)2.538 E F0 .038(option is set, and no matches are)2.538 F .306 -(found, the w)108 355.2 R .306(ord is remo)-.1 F -.15(ve)-.15 G 2.806 -(d. If).15 F(the)2.805 E F1(failglob)2.805 E F0 .305 +343.2 Q 5(.I)-.55 G 2.5(ft)-5 G(he v)-2.5 E(alue of)-.25 E F3(IFS)2.5 E +F0(is null, no w)2.25 E(ord splitting occurs.)-.1 E 1.878 +(Explicit null ar)108 360 R 1.878(guments \()-.18 F F2 .833("").833 G F0 +(or)3.545 E F2 .833<0808>5.211 G F0 4.378(\)a)C 1.878(re retained.) +-4.378 F 1.878(Unquoted implicit null ar)6.878 F 1.879 +(guments, resulting from the)-.18 F -.15(ex)108 372 S .177 +(pansion of parameters that ha).15 F .477 -.15(ve n)-.2 H 2.677(ov).15 G +.177(alues, are remo)-2.927 F -.15(ve)-.15 G 2.676(d. If).15 F 2.676(ap) +2.676 G .176(arameter with no v)-2.676 F .176(alue is e)-.25 F .176 +(xpanded within)-.15 F(double quotes, a null ar)108 384 Q +(gument results and is retained.)-.18 E(Note that if no e)108 400.8 Q +(xpansion occurs, no splitting is performed.)-.15 E F2 -.1(Pa)87 417.6 S +(thname Expansion).1 E F0 .37(After w)108 429.6 R .37 +(ord splitting, unless the)-.1 F F22.87 E F0 .37 +(option has been set,)2.87 F F2(bash)2.87 E F0 .371(scans each w)2.871 F +.371(ord for the characters)-.1 F F2(*)2.871 E F0(,)A F2(?)2.871 E F0 +2.871(,a)C(nd)-2.871 E F2([)2.871 E F0(.)A .678 +(If one of these characters appears, then the w)108 441.6 R .677 +(ord is re)-.1 F -.05(ga)-.15 G .677(rded as a).05 F F1(pattern)3.177 E +F0 3.177(,a).24 G .677(nd replaced with an alphabeti-)-3.177 F 1.456 +(cally sorted list of \214le names matching the pattern.)108 453.6 R +1.457(If no matching \214le names are found, and the shell)6.457 F +(option)108 465.6 Q F2(nullglob)2.538 E F0 .038(is not enabled, the w) +2.538 F .038(ord is left unchanged.)-.1 F .038(If the)5.038 F F2 +(nullglob)2.538 E F0 .038(option is set, and no matches are)2.538 F .305 +(found, the w)108 477.6 R .305(ord is remo)-.1 F -.15(ve)-.15 G 2.805 +(d. If).15 F(the)2.805 E F2(failglob)2.805 E F0 .305 (shell option is set, and no matches are found, an error message)2.805 F -.928(is printed and the command is not e)108 367.2 R -.15(xe)-.15 G -3.428(cuted. If).15 F .928(the shell option)3.428 F F1(nocaseglob)3.428 -E F0 .929(is enabled, the match is per)3.429 F(-)-.2 E .033 -(formed without re)108 379.2 R -.05(ga)-.15 G .033 -(rd to the case of alphabetic characters.).05 F .032 -(When a pattern is used for pathname e)5.032 F(xpansion,)-.15 E .104 -(the character)108 391.2 R F1 -.63(``)2.604 G -.55(.').63 G(')-.08 E F0 -.104(at the start of a name or immediately follo)5.104 F .105 -(wing a slash must be matched e)-.25 F(xplicitly)-.15 E 2.605(,u)-.65 G -(nless)-2.605 E .888(the shell option)108 403.2 R F1(dotglob)3.388 E F0 -.888(is set.)3.388 F .887 -(When matching a pathname, the slash character must al)5.888 F -.1(wa) --.1 G .887(ys be matched).1 F -.15(ex)108 415.2 S(plicitly).15 E 6.165 -(.I)-.65 G 3.665(no)-6.165 G 1.165(ther cases, the)-3.665 F F1 -.63(``) -3.665 G -.55(.').63 G(')-.08 E F0 1.166 -(character is not treated specially)6.165 F 6.166(.S)-.65 G 1.166 -(ee the description of)-6.166 F F1(shopt)3.666 E F0(belo)3.666 E(w)-.25 -E(under)108 427.2 Q F3 .478(SHELL B)2.978 F(UIL)-.09 E .478 -(TIN COMMANDS)-.828 F F0 .477(for a description of the)2.728 F F1 -(nocaseglob)2.977 E F0(,)A F1(nullglob)2.977 E F0(,)A F1(failglob)2.977 -E F0 2.977(,a)C(nd)-2.977 E F1(dotglob)2.977 E F0(shell options.)108 -439.2 Q(The)108 456 Q F3(GLOBIGNORE)2.63 E F0 .13(shell v)2.38 F .131 -(ariable may be used to restrict the set of \214le names matching a)-.25 -F F2(pattern)2.631 E F0 5.131(.I).24 G(f)-5.131 E F3(GLO-)2.631 E -(BIGNORE)108 468 Q F0 2.015(is set, each matching \214le name that also\ - matches one of the patterns in)4.265 F F3(GLOBIGNORE)4.515 E F0(is) -4.264 E(remo)108 480 Q -.15(ve)-.15 G 2.503(df).15 G .003 -(rom the list of matches.)-2.503 F .003(The \214le names)5.003 F F1 -.63 -(``)2.503 G -.55(.').63 G(')-.08 E F0(and)5.003 E F1 -.63(``)2.503 G(..) -.63 E -.63('')-.55 G F0 .004(are al)5.633 F -.1(wa)-.1 G .004 -(ys ignored when).1 F F3(GLOBIGNORE)2.504 E F0(is)2.254 E .046 -(set and not null.)108 492 R(Ho)5.046 E(we)-.25 E -.15(ve)-.25 G .846 --.4(r, s).15 H(etting).4 E F3(GLOBIGNORE)2.546 E F0 .046 -(to a non-null v)2.296 F .045(alue has the ef)-.25 F .045 -(fect of enabling the)-.25 F F1(dotglob)2.545 E F0 .613 -(shell option, so all other \214le names be)108 504 R .614 -(ginning with a)-.15 F F1 -.63(``)3.114 G -.55(.').63 G(')-.08 E F0 .614 -(will match.)5.614 F 2.214 -.8(To g)5.614 H .614(et the old beha).8 F -.614(vior of ignoring)-.2 F .457(\214le names be)108 516 R .457 -(ginning with a)-.15 F F1 -.63(``)2.957 G -.55(.').63 G(')-.08 E F0 -2.957(,m)C(ak)-2.957 E(e)-.1 E F1 -.63(``)2.957 G(.*').63 E(')-.63 E F0 +.929(is printed and the command is not e)108 489.6 R -.15(xe)-.15 G +3.428(cuted. If).15 F .928(the shell option)3.428 F F2(nocaseglob)3.428 +E F0 .928(is enabled, the match is per)3.428 F(-)-.2 E .032 +(formed without re)108 501.6 R -.05(ga)-.15 G .032 +(rd to the case of alphabetic characters.).05 F .033 +(When a pattern is used for pathname e)5.033 F(xpansion,)-.15 E .105 +(the character)108 513.6 R F2 -.63(``)2.605 G -.55(.').63 G(')-.08 E F0 +.105(at the start of a name or immediately follo)5.105 F .104 +(wing a slash must be matched e)-.25 F(xplicitly)-.15 E 2.604(,u)-.65 G +(nless)-2.604 E .887(the shell option)108 525.6 R F2(dotglob)3.387 E F0 +.887(is set.)3.387 F .888 +(When matching a pathname, the slash character must al)5.887 F -.1(wa) +-.1 G .888(ys be matched).1 F -.15(ex)108 537.6 S(plicitly).15 E 6.166 +(.I)-.65 G 3.666(no)-6.166 G 1.166(ther cases, the)-3.666 F F2 -.63(``) +3.666 G -.55(.').63 G(')-.08 E F0 1.166 +(character is not treated specially)6.166 F 6.165(.S)-.65 G 1.165 +(ee the description of)-6.165 F F2(shopt)3.665 E F0(belo)3.665 E(w)-.25 +E(under)108 549.6 Q F3 .477(SHELL B)2.977 F(UIL)-.09 E .477 +(TIN COMMANDS)-.828 F F0 .477(for a description of the)2.727 F F2 +(nocaseglob)2.978 E F0(,)A F2(nullglob)2.978 E F0(,)A F2(failglob)2.978 +E F0 2.978(,a)C(nd)-2.978 E F2(dotglob)2.978 E F0(shell options.)108 +561.6 Q(The)108 578.4 Q F3(GLOBIGNORE)2.631 E F0 .131(shell v)2.381 F +.131(ariable may be used to restrict the set of \214le names matching a) +-.25 F F1(pattern)2.63 E F0 5.13(.I).24 G(f)-5.13 E F3(GLO-)2.63 E +(BIGNORE)108 590.4 Q F0 2.015(is set, each matching \214le name that al\ +so matches one of the patterns in)4.264 F F3(GLOBIGNORE)4.515 E F0(is) +4.265 E(remo)108 602.4 Q -.15(ve)-.15 G 2.504(df).15 G .004 +(rom the list of matches.)-2.504 F .003(The \214le names)5.003 F F2 -.63 +(``)2.503 G -.55(.').63 G(')-.08 E F0(and)5.003 E F2 -.63(``)2.503 G(..) +.63 E -.63('')-.55 G F0 .003(are al)5.633 F -.1(wa)-.1 G .003 +(ys ignored when).1 F F3(GLOBIGNORE)2.503 E F0(is)2.253 E .045 +(set and not null.)108 614.4 R(Ho)5.045 E(we)-.25 E -.15(ve)-.25 G .845 +-.4(r, s).15 H(etting).4 E F3(GLOBIGNORE)2.545 E F0 .046 +(to a non-null v)2.296 F .046(alue has the ef)-.25 F .046 +(fect of enabling the)-.25 F F2(dotglob)2.546 E F0 .614 +(shell option, so all other \214le names be)108 626.4 R .614 +(ginning with a)-.15 F F2 -.63(``)3.114 G -.55(.').63 G(')-.08 E F0 .614 +(will match.)5.614 F 2.213 -.8(To g)5.614 H .613(et the old beha).8 F +.613(vior of ignoring)-.2 F .456(\214le names be)108 638.4 R .456 +(ginning with a)-.15 F F2 -.63(``)2.957 G -.55(.').63 G(')-.08 E F0 +2.957(,m)C(ak)-2.957 E(e)-.1 E F2 -.63(``)2.957 G(.*').63 E(')-.63 E F0 .457(one of the patterns in)5.457 F F3(GLOBIGNORE)2.957 E/F4 9 -/Times-Roman@0 SF(.)A F0(The)4.957 E F1(dotglob)2.956 E F0 .456 -(option is)2.956 F(disabled when)108 528 Q F3(GLOBIGNORE)2.5 E F0 -(is unset.)2.25 E F1 -.1(Pa)108 544.8 S(tter).1 E 2.5(nM)-.15 G(atching) --2.5 E F0(An)108 561.6 Q 3.138(yc)-.15 G .638(haracter that appears in \ -a pattern, other than the special pattern characters described belo) --3.138 F 1.938 -.65(w, m)-.25 H(atches).65 E 3.62(itself. The)108 573.6 -R 1.12(NUL character may not occur in a pattern.)3.62 F 3.62(Ab)6.12 G -1.12(ackslash escapes the follo)-3.62 F 1.12(wing character; the)-.25 F -.576(escaping backslash is discarded when matching.)108 585.6 R .576 +/Times-Roman@0 SF(.)A F0(The)4.957 E F2(dotglob)2.957 E F0 .457 +(option is)2.957 F(disabled when)108 650.4 Q F3(GLOBIGNORE)2.5 E F0 +(is unset.)2.25 E F2 -.1(Pa)108 667.2 S(tter).1 E 2.5(nM)-.15 G(atching) +-2.5 E F0(An)108 684 Q 3.138(yc)-.15 G .638(haracter that appears in a \ +pattern, other than the special pattern characters described belo)-3.138 +F 1.938 -.65(w, m)-.25 H(atches).65 E 3.62(itself. The)108 696 R 1.12 +(NUL character may not occur in a pattern.)3.62 F 3.62(Ab)6.12 G 1.12 +(ackslash escapes the follo)-3.62 F 1.12(wing character; the)-.25 F .576 +(escaping backslash is discarded when matching.)108 708 R .576 (The special pattern characters must be quoted if the)5.576 F 3.076(ya) --.15 G(re)-3.076 E(to be matched literally)108 597.6 Q(.)-.65 E -(The special pattern characters ha)108 614.4 Q .3 -.15(ve t)-.2 H -(he follo).15 E(wing meanings:)-.25 E F1(*)108 631.2 Q F0 .455 -(Matches an)31 F 2.955(ys)-.15 G .455(tring, including the null string.) --2.955 F .455(When the)5.455 F F1(globstar)2.955 E F0 .455 -(shell option is enabled, and)2.955 F F1(*)2.955 E F0(is)2.955 E .314 -(used in a pathname e)144 643.2 R .314(xpansion conte)-.15 F .314 -(xt, tw)-.15 F 2.814(oa)-.1 G(djacent)-2.814 E F1(*)2.814 E F0 2.814(su) -C .314(sed as a single pattern will match all \214les)-2.814 F 1.183 -(and zero or more directories and subdirectories.)144 655.2 R 1.183 -(If follo)6.183 F 1.183(wed by a)-.25 F F1(/)3.683 E F0 3.683(,t)C 1.383 --.1(wo a)-3.683 H(djacent).1 E F1(*)3.683 E F0 3.683(sw)C 1.183 -(ill match)-3.683 F(only directories and subdirectories.)144 667.2 Q F1 -(?)108 679.2 Q F0(Matches an)31 E 2.5(ys)-.15 G(ingle character)-2.5 E -(.)-.55 E F1([...])108 691.2 Q F0 .256(Matches an)21.84 F 2.756(yo)-.15 -G .257(ne of the enclosed characters.)-2.756 F 2.757(Ap)5.257 G .257 -(air of characters separated by a h)-2.757 F .257(yphen denotes a)-.05 F -F2 -.15(ra)144 703.2 S(ng).15 E 3.29(ee)-.1 G(xpr)-3.49 E(ession)-.37 E -F0 3.29(;a)C 1.09 -.15(ny c)-3.29 H .789 -(haracter that sorts between those tw).15 F 3.289(oc)-.1 G .789 -(haracters, inclusi)-3.289 F -.15(ve)-.25 G 3.289(,u).15 G .789 -(sing the cur)-3.289 F(-)-.2 E .349(rent locale')144 715.2 R 2.849(sc) --.55 G .349(ollating sequence and character set, is matched.)-2.849 F -.35(If the \214rst character follo)5.349 F .35(wing the)-.25 F F1([)2.85 -E F0 .564(is a)144 727.2 R F1(!)3.064 E F0 .564(or a)5.564 F F1(^)3.064 -E F0 .564(then an)3.064 F 3.064(yc)-.15 G .564 -(haracter not enclosed is matched.)-3.064 F .563 -(The sorting order of characters in range)5.564 F(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(22)195.945 E 0 Cg EP +-.15 G(re)-3.076 E(to be matched literally)108 720 Q(.)-.65 E +(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(22)197.335 E 0 Cg EP %%Page: 23 23 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E -.15(ex)144 84 S .467 -(pressions is determined by the current locale and the v).15 F .467 -(alue of the)-.25 F/F1 9/Times-Bold@0 SF(LC_COLLA)2.967 E(TE)-.855 E F0 -.467(shell v)2.717 F(ariable,)-.25 E 1.077(if set.)144 96 R(A)6.077 E/F2 -10/Times-Bold@0 SF3.577 E F0 1.077(may be matched by including it a\ -s the \214rst or last character in the set.)3.577 F(A)6.076 E F2(])3.576 -E F0 1.076(may be)3.576 F -(matched by including it as the \214rst character in the set.)144 108 Q --.4(Wi)144 126 S(thin).4 E F2([)2.914 E F0(and)2.914 E F2(])2.914 E F0 -(,)A/F3 10/Times-Italic@0 SF -.15(ch)2.914 G(ar).15 E .414 -(acter classes)-.15 F F0 .415(can be speci\214ed using the syntax)2.915 -F F2([:)2.915 E F3(class)A F2(:])A F0 2.915(,w)C(here)-2.915 E F3(class) -2.915 E F0 .415(is one of)2.915 F(the follo)144 138 Q -(wing classes de\214ned in the POSIX standard:)-.25 E F2 5.421 -(alnum alpha ascii blank cntrl digit graph lo)144 150 R 5.421 -(wer print punct space upper w)-.1 F(ord)-.1 E(xdigit)144 162 Q F0 2.518 -(Ac)144 174 S .018(haracter class matches an)-2.518 F 2.518(yc)-.15 G -.019(haracter belonging to that class.)-2.518 F(The)5.019 E F2 -.1(wo) -2.519 G(rd).1 E F0 .019(character class matches)2.519 F -(letters, digits, and the character _.)144 186 Q -.4(Wi)144 204 S(thin) -.4 E F2([)3.547 E F0(and)3.547 E F2(])3.547 E F0 3.547(,a)C(n)-3.547 E -F3 1.046(equivalence class)3.546 F F0 1.046 -(can be speci\214ed using the syntax)3.546 F F2([=)3.546 E F3(c)A F2(=]) -A F0 3.546(,w)C 1.046(hich matches all)-3.546 F(characters with the sam\ +-.35 E(The special pattern characters ha)108 84 Q .3 -.15(ve t)-.2 H +(he follo).15 E(wing meanings:)-.25 E/F1 10/Times-Bold@0 SF(*)108 100.8 +Q F0 .455(Matches an)31 F 2.955(ys)-.15 G .455 +(tring, including the null string.)-2.955 F .455(When the)5.455 F F1 +(globstar)2.955 E F0 .455(shell option is enabled, and)2.955 F F1(*) +2.955 E F0(is)2.955 E .315(used in a pathname e)144 112.8 R .314 +(xpansion conte)-.15 F .314(xt, tw)-.15 F 2.814(oa)-.1 G(djacent)-2.814 +E F1(*)2.814 E F0 2.814(su)C .314 +(sed as a single pattern will match all \214les)-2.814 F 1.183 +(and zero or more directories and subdirectories.)144 124.8 R 1.183 +(If follo)6.183 F 1.183(wed by a)-.25 F F1(/)3.683 E F0 3.683(,t)C 1.383 +-.1(wo a)-3.683 H(djacent).1 E F1(*)3.683 E F0 3.684(sw)C 1.184 +(ill match)-3.684 F(only directories and subdirectories.)144 136.8 Q F1 +(?)108 148.8 Q F0(Matches an)31 E 2.5(ys)-.15 G(ingle character)-2.5 E +(.)-.55 E F1([...])108 160.8 Q F0 .257(Matches an)21.84 F 2.757(yo)-.15 +G .257(ne of the enclosed characters.)-2.757 F 2.757(Ap)5.257 G .257 +(air of characters separated by a h)-2.757 F .256(yphen denotes a)-.05 F +/F2 10/Times-Italic@0 SF -.15(ra)144 172.8 S(ng).15 E 3.289(ee)-.1 G +(xpr)-3.489 E(ession)-.37 E F0 3.289(;a)C 1.089 -.15(ny c)-3.289 H .789 +(haracter that sorts between those tw).15 F 3.289(oc)-.1 G .789 +(haracters, inclusi)-3.289 F -.15(ve)-.25 G 3.29(,u).15 G .79 +(sing the cur)-3.29 F(-)-.2 E .35(rent locale')144 184.8 R 2.85(sc)-.55 +G .35(ollating sequence and character set, is matched.)-2.85 F .349 +(If the \214rst character follo)5.349 F .349(wing the)-.25 F F1([)2.849 +E F0 .563(is a)144 196.8 R F1(!)3.063 E F0 .563(or a)5.563 F F1(^)3.063 +E F0 .564(then an)3.063 F 3.064(yc)-.15 G .564 +(haracter not enclosed is matched.)-3.064 F .564 +(The sorting order of characters in range)5.564 F -.15(ex)144 208.8 S +.467(pressions is determined by the current locale and the v).15 F .467 +(alue of the)-.25 F/F3 9/Times-Bold@0 SF(LC_COLLA)2.966 E(TE)-.855 E F0 +.466(shell v)2.716 F(ariable,)-.25 E 1.076(if set.)144 220.8 R(A)6.076 E +F13.576 E F0 1.077(may be matched by including it as the \214rst or\ + last character in the set.)3.576 F(A)6.077 E F1(])3.577 E F0 1.077 +(may be)3.577 F +(matched by including it as the \214rst character in the set.)144 232.8 +Q -.4(Wi)144 250.8 S(thin).4 E F1([)2.915 E F0(and)2.915 E F1(])2.915 E +F0(,)A F2 -.15(ch)2.915 G(ar).15 E .415(acter classes)-.15 F F0 .415 +(can be speci\214ed using the syntax)2.915 F F1([:)2.915 E F2(class)A F1 +(:])A F0 2.914(,w)C(here)-2.914 E F2(class)2.914 E F0 .414(is one of) +2.914 F(the follo)144 262.8 Q +(wing classes de\214ned in the POSIX standard:)-.25 E F1 5.421 +(alnum alpha ascii blank cntrl digit graph lo)144 274.8 R 5.421 +(wer print punct space upper w)-.1 F(ord)-.1 E(xdigit)144 286.8 Q F0 +2.519(Ac)144 298.8 S .019(haracter class matches an)-2.519 F 2.519(yc) +-.15 G .019(haracter belonging to that class.)-2.519 F(The)5.018 E F1 +-.1(wo)2.518 G(rd).1 E F0 .018(character class matches)2.518 F +(letters, digits, and the character _.)144 310.8 Q -.4(Wi)144 328.8 S +(thin).4 E F1([)3.546 E F0(and)3.546 E F1(])3.546 E F0 3.546(,a)C(n) +-3.546 E F2 1.046(equivalence class)3.546 F F0 1.046 +(can be speci\214ed using the syntax)3.546 F F1([=)3.547 E F2(c)A F1(=]) +A F0 3.547(,w)C 1.047(hich matches all)-3.547 F(characters with the sam\ e collation weight \(as de\214ned by the current locale\) as the charac\ -ter)144 216 Q F3(c)2.5 E F0(.)A -.4(Wi)144 234 S(thin).4 E F2([)2.5 E F0 -(and)2.5 E F2(])2.5 E F0 2.5(,t)C(he syntax)-2.5 E F2([.)2.5 E F3 -(symbol)A F2(.])A F0(matches the collating symbol)2.5 E F3(symbol)2.5 E -F0(.)A .704(If the)108 250.8 R F2(extglob)3.204 E F0 .705 -(shell option is enabled using the)3.204 F F2(shopt)3.205 E F0 -.2(bu) -3.205 G .705(iltin, se).2 F -.15(ve)-.25 G .705(ral e).15 F .705 -(xtended pattern matching operators)-.15 F .256(are recognized.)108 -262.8 R .256(In the follo)5.256 F .256(wing description, a)-.25 F F3 +ter)144 340.8 Q F2(c)2.5 E F0(.)A -.4(Wi)144 358.8 S(thin).4 E F1([)2.5 +E F0(and)2.5 E F1(])2.5 E F0 2.5(,t)C(he syntax)-2.5 E F1([.)2.5 E F2 +(symbol)A F1(.])A F0(matches the collating symbol)2.5 E F2(symbol)2.5 E +F0(.)A .705(If the)108 375.6 R F1(extglob)3.205 E F0 .705 +(shell option is enabled using the)3.205 F F1(shopt)3.205 E F0 -.2(bu) +3.205 G .704(iltin, se).2 F -.15(ve)-.25 G .704(ral e).15 F .704 +(xtended pattern matching operators)-.15 F .255(are recognized.)108 +387.6 R .255(In the follo)5.255 F .255(wing description, a)-.25 F F2 (pattern-list)2.755 E F0 .255 -(is a list of one or more patterns separated by a)2.755 F F2(|)2.755 E +(is a list of one or more patterns separated by a)2.755 F F1(|)2.756 E F0(.)A(Composite patterns may be formed using one or more of the follo) -108 274.8 Q(wing sub-patterns:)-.25 E F2(?\()144 298.8 Q F3 -(pattern-list).833 E F2(\)).833 E F0 -(Matches zero or one occurrence of the gi)180 310.8 Q -.15(ve)-.25 G 2.5 -(np).15 G(atterns)-2.5 E F2(*\()144 322.8 Q F3(pattern-list).833 E F2 -(\)).833 E F0(Matches zero or more occurrences of the gi)180 334.8 Q --.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F2(+\()144 346.8 Q F3 -(pattern-list).833 E F2(\)).833 E F0 -(Matches one or more occurrences of the gi)180 358.8 Q -.15(ve)-.25 G -2.5(np).15 G(atterns)-2.5 E F2(@\()144 370.8 Q F3(pattern-list).833 E F2 -(\)).833 E F0(Matches one of the gi)180 382.8 Q -.15(ve)-.25 G 2.5(np) -.15 G(atterns)-2.5 E F2(!\()144 394.8 Q F3(pattern-list).833 E F2(\)) -.833 E F0(Matches an)180 406.8 Q(ything e)-.15 E(xcept one of the gi) --.15 E -.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F2(Quote Remo)87 423.6 -Q -.1(va)-.1 G(l).1 E F0 1.112(After the preceding e)108 435.6 R 1.112 -(xpansions, all unquoted occurrences of the characters)-.15 F F2(\\) -3.613 E F0(,)A F2<08>3.613 E F0 3.613(,a)C(nd)-3.613 E F2(")4.446 E F0 -1.113(that did not result)4.446 F(from one of the abo)108 447.6 Q .3 +108 399.6 Q(wing sub-patterns:)-.25 E F1(?\()144 423.6 Q F2 +(pattern-list).833 E F1(\)).833 E F0 +(Matches zero or one occurrence of the gi)180 435.6 Q -.15(ve)-.25 G 2.5 +(np).15 G(atterns)-2.5 E F1(*\()144 447.6 Q F2(pattern-list).833 E F1 +(\)).833 E F0(Matches zero or more occurrences of the gi)180 459.6 Q +-.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(+\()144 471.6 Q F2 +(pattern-list).833 E F1(\)).833 E F0 +(Matches one or more occurrences of the gi)180 483.6 Q -.15(ve)-.25 G +2.5(np).15 G(atterns)-2.5 E F1(@\()144 495.6 Q F2(pattern-list).833 E F1 +(\)).833 E F0(Matches one of the gi)180 507.6 Q -.15(ve)-.25 G 2.5(np) +.15 G(atterns)-2.5 E F1(!\()144 519.6 Q F2(pattern-list).833 E F1(\)) +.833 E F0(Matches an)180 531.6 Q(ything e)-.15 E(xcept one of the gi) +-.15 E -.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(Quote Remo)87 548.4 +Q -.1(va)-.1 G(l).1 E F0 1.113(After the preceding e)108 560.4 R 1.113 +(xpansions, all unquoted occurrences of the characters)-.15 F F1(\\) +3.613 E F0(,)A F1<08>3.612 E F0 3.612(,a)C(nd)-3.612 E F1(")4.445 E F0 +1.112(that did not result)4.445 F(from one of the abo)108 572.4 Q .3 -.15(ve ex)-.15 H(pansions are remo).15 E -.15(ve)-.15 G(d.).15 E/F4 -10.95/Times-Bold@0 SF(REDIRECTION)72 464.4 Q F0 .545 -(Before a command is e)108 476.4 R -.15(xe)-.15 G .545 -(cuted, its input and output may be).15 F F3 -.37(re)3.045 G(dir).37 E -(ected)-.37 E F0 .545(using a special notation interpreted)3.815 F .616 -(by the shell.)108 488.4 R .617(Redirection may also be used to open an\ -d close \214les for the current shell e)5.616 F -.15(xe)-.15 G .617 -(cution en).15 F(viron-)-.4 E 3.275(ment. The)108 500.4 R(follo)3.275 E +10.95/Times-Bold@0 SF(REDIRECTION)72 589.2 Q F0 .545 +(Before a command is e)108 601.2 R -.15(xe)-.15 G .545 +(cuted, its input and output may be).15 F F2 -.37(re)3.045 G(dir).37 E +(ected)-.37 E F0 .545(using a special notation interpreted)3.815 F .617 +(by the shell.)108 613.2 R .617(Redirection may also be used to open an\ +d close \214les for the current shell e)5.617 F -.15(xe)-.15 G .616 +(cution en).15 F(viron-)-.4 E 3.274(ment. The)108 625.2 R(follo)3.274 E .774(wing redirection operators may precede or appear an)-.25 F .774 -(ywhere within a)-.15 F F3 .774(simple command)3.614 F F0(or)4.044 E -(may follo)108 512.4 Q 2.5(wa)-.25 G F3(command)A F0 5(.R).77 G +(ywhere within a)-.15 F F2 .775(simple command)3.615 F F0(or)4.045 E +(may follo)108 637.2 Q 2.5(wa)-.25 G F2(command)A F0 5(.R).77 G (edirections are processed in the order the)-5 E 2.5(ya)-.15 G(ppear) -2.5 E 2.5(,f)-.4 G(rom left to right.)-2.5 E .771(Each redirection tha\ t may be preceded by a \214le descriptor number may instead be preceded\ - by a w)108 529.2 R .772(ord of)-.1 F .293(the form {)108 541.2 R F3 + by a w)108 654 R .771(ord of)-.1 F .292(the form {)108 666 R F2 (varname)A F0 2.793(}. In)B .293 (this case, for each redirection operator e)2.793 F .293 -(xcept >&- and <&-, the shell will allocate)-.15 F 3.498<618c>108 553.2 -S .999(le descriptor greater than 10 and assign it to)-3.498 F F3 -(varname)3.499 E F0 5.999(.I)C 3.499(f>)-5.999 G .999 -(&- or <&- is preceded by {)-3.499 F F3(varname)A F0 .999(}, the)B -.25 -(va)108 565.2 S(lue of).25 E F3(varname)2.5 E F0 -(de\214nes the \214le descriptor to close.)2.5 E .284(In the follo)108 -582 R .283(wing descriptions, if the \214le descriptor number is omitte\ -d, and the \214rst character of the redirect-)-.25 F .512 -(ion operator is)108 594 R F2(<)3.012 E F0 3.012(,t)C .512 +(xcept >&- and <&-, the shell will allocate)-.15 F 3.499<618c>108 678 S +.999(le descriptor greater than 10 and assign it to)-3.499 F F2(varname) +3.499 E F0 5.999(.I)C 3.499(f>)-5.999 G .999(&- or <&- is preceded by {) +-3.499 F F2(varname)A F0 .998(}, the)B -.25(va)108 690 S(lue of).25 E F2 +(varname)2.5 E F0(de\214nes the \214le descriptor to close.)2.5 E .283 +(In the follo)108 706.8 R .284(wing descriptions, if the \214le descrip\ +tor number is omitted, and the \214rst character of the redirect-)-.25 F +.513(ion operator is)108 718.8 R F1(<)3.012 E F0 3.012(,t)C .512 (he redirection refers to the standard input \(\214le descriptor 0\).) -3.012 F .512(If the \214rst character of the)5.512 F -(redirection operator is)108 606 Q F2(>)2.5 E F0 2.5(,t)C +(redirection operator is)108 730.8 Q F1(>)2.5 E F0 2.5(,t)C (he redirection refers to the standard output \(\214le descriptor 1\).) --2.5 E .825(The w)108 622.8 R .825(ord follo)-.1 F .824 -(wing the redirection operator in the follo)-.25 F .824 -(wing descriptions, unless otherwise noted, is sub-)-.25 F .772 -(jected to brace e)108 634.8 R .773(xpansion, tilde e)-.15 F .773 -(xpansion, parameter e)-.15 F .773 -(xpansion, command substitution, arithmetic e)-.15 F(xpan-)-.15 E .844 -(sion, quote remo)108 646.8 R -.25(va)-.15 G .843(l, pathname e).25 F -.843(xpansion, and w)-.15 F .843(ord splitting.)-.1 F .843(If it e)5.843 -F .843(xpands to more than one w)-.15 F(ord,)-.1 E F2(bash)3.343 E F0 -(reports an error)108 658.8 Q(.)-.55 E -(Note that the order of redirections is signi\214cant.)108 675.6 Q -.15 -(Fo)5 G 2.5(re).15 G(xample, the command)-2.65 E(ls)144 692.4 Q F2(>)2.5 -E F0(dirlist 2)2.5 E F2(>&)A F0(1)A -(directs both standard output and standard error to the \214le)108 709.2 -Q F3(dirlist)2.5 E F0 2.5(,w).68 G(hile the command)-2.5 E(ls 2)144 726 -Q F2(>&)A F0(1)A F2(>)2.5 E F0(dirlist)2.5 E(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(23)195.945 E 0 Cg EP +-2.5 E(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(23)197.335 E 0 Cg EP %%Page: 24 24 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E .527(directs only the standard output to \214le)108 84 R/F1 10 -/Times-Italic@0 SF(dirlist)3.027 E F0 3.027(,b).68 G .527 -(ecause the standard error w)-3.027 F .527 -(as duplicated from the standard)-.1 F -(output before the standard output w)108 96 Q(as redirected to)-.1 E F1 -(dirlist)2.5 E F0(.).68 E/F2 10/Times-Bold@0 SF(Bash)108 112.8 Q F0 .599 -(handles se)3.099 F -.15(ve)-.25 G .599 -(ral \214lenames specially when the).15 F 3.099(ya)-.15 G .598 -(re used in redirections, as described in the follo)-3.099 F(wing)-.25 E -(table:)108 124.8 Q F2(/de)144 141.6 Q(v/fd/)-.15 E F1(fd)A F0(If)180 -153.6 Q F1(fd)2.5 E F0(is a v)2.5 E(alid inte)-.25 E(ger)-.15 E 2.5 -<2c8c>-.4 G(le descriptor)-2.5 E F1(fd)2.5 E F0(is duplicated.)2.5 E F2 -(/de)144 165.6 Q(v/stdin)-.15 E F0(File descriptor 0 is duplicated.)180 -177.6 Q F2(/de)144 189.6 Q(v/stdout)-.15 E F0 -(File descriptor 1 is duplicated.)180 201.6 Q F2(/de)144 213.6 Q -(v/stderr)-.15 E F0(File descriptor 2 is duplicated.)180 225.6 Q F2(/de) -144 237.6 Q(v/tcp/)-.15 E F1(host)A F2(/)A F1(port)A F0(If)180 249.6 Q -F1(host)2.996 E F0 .496(is a v)2.996 F .496 -(alid hostname or Internet address, and)-.25 F F1(port)2.997 E F0 .497 -(is an inte)2.997 F .497(ger port number or ser)-.15 F(-)-.2 E -(vice name,)180 261.6 Q F2(bash)2.5 E F0 -(attempts to open a TCP connection to the corresponding sock)2.5 E(et.) --.1 E F2(/de)144 273.6 Q(v/udp/)-.15 E F1(host)A F2(/)A F1(port)A F0(If) -180 285.6 Q F1(host)2.997 E F0 .497(is a v)2.997 F .497 -(alid hostname or Internet address, and)-.25 F F1(port)2.996 E F0 .496 +-.35 E .824(The w)108 84 R .824(ord follo)-.1 F .824 +(wing the redirection operator in the follo)-.25 F .825 +(wing descriptions, unless otherwise noted, is sub-)-.25 F .773 +(jected to brace e)108 96 R .773(xpansion, tilde e)-.15 F .773 +(xpansion, parameter e)-.15 F .772 +(xpansion, command substitution, arithmetic e)-.15 F(xpan-)-.15 E .843 +(sion, quote remo)108 108 R -.25(va)-.15 G .843(l, pathname e).25 F .843 +(xpansion, and w)-.15 F .843(ord splitting.)-.1 F .843(If it e)5.843 F +.843(xpands to more than one w)-.15 F(ord,)-.1 E/F1 10/Times-Bold@0 SF +(bash)3.344 E F0(reports an error)108 120 Q(.)-.55 E +(Note that the order of redirections is signi\214cant.)108 136.8 Q -.15 +(Fo)5 G 2.5(re).15 G(xample, the command)-2.65 E(ls)144 153.6 Q F1(>)2.5 +E F0(dirlist 2)2.5 E F1(>&)A F0(1)A +(directs both standard output and standard error to the \214le)108 170.4 +Q/F2 10/Times-Italic@0 SF(dirlist)2.5 E F0 2.5(,w).68 G +(hile the command)-2.5 E(ls 2)144 187.2 Q F1(>&)A F0(1)A F1(>)2.5 E F0 +(dirlist)2.5 E .527(directs only the standard output to \214le)108 204 R +F2(dirlist)3.027 E F0 3.027(,b).68 G .527(ecause the standard error w) +-3.027 F .527(as duplicated from the standard)-.1 F +(output before the standard output w)108 216 Q(as redirected to)-.1 E F2 +(dirlist)2.5 E F0(.).68 E F1(Bash)108 232.8 Q F0 .598(handles se)3.098 F +-.15(ve)-.25 G .598(ral \214lenames specially when the).15 F 3.099(ya) +-.15 G .599(re used in redirections, as described in the follo)-3.099 F +(wing)-.25 E(table:)108 244.8 Q F1(/de)144 261.6 Q(v/fd/)-.15 E F2(fd)A +F0(If)180 273.6 Q F2(fd)2.5 E F0(is a v)2.5 E(alid inte)-.25 E(ger)-.15 +E 2.5<2c8c>-.4 G(le descriptor)-2.5 E F2(fd)2.5 E F0(is duplicated.)2.5 +E F1(/de)144 285.6 Q(v/stdin)-.15 E F0(File descriptor 0 is duplicated.) +180 297.6 Q F1(/de)144 309.6 Q(v/stdout)-.15 E F0 +(File descriptor 1 is duplicated.)180 321.6 Q F1(/de)144 333.6 Q +(v/stderr)-.15 E F0(File descriptor 2 is duplicated.)180 345.6 Q F1(/de) +144 357.6 Q(v/tcp/)-.15 E F2(host)A F1(/)A F2(port)A F0(If)180 369.6 Q +F2(host)2.997 E F0 .497(is a v)2.997 F .497 +(alid hostname or Internet address, and)-.25 F F2(port)2.996 E F0 .496 (is an inte)2.996 F .496(ger port number or ser)-.15 F(-)-.2 E -(vice name,)180 297.6 Q F2(bash)2.5 E F0 +(vice name,)180 381.6 Q F1(bash)2.5 E F0 +(attempts to open a TCP connection to the corresponding sock)2.5 E(et.) +-.1 E F1(/de)144 393.6 Q(v/udp/)-.15 E F2(host)A F1(/)A F2(port)A F0(If) +180 405.6 Q F2(host)2.996 E F0 .496(is a v)2.996 F .496 +(alid hostname or Internet address, and)-.25 F F2(port)2.997 E F0 .497 +(is an inte)2.997 F .497(ger port number or ser)-.15 F(-)-.2 E +(vice name,)180 417.6 Q F1(bash)2.5 E F0 (attempts to open a UDP connection to the corresponding sock)2.5 E(et.) --.1 E 2.5(Af)108 314.4 S +-.1 E 2.5(Af)108 434.4 S (ailure to open or create a \214le causes the redirection to f)-2.6 E -(ail.)-.1 E .946(Redirections using \214le descriptors greater than 9 s\ -hould be used with care, as the)108 331.2 R 3.447(ym)-.15 G .947 -(ay con\215ict with \214le)-3.447 F -(descriptors the shell uses internally)108 343.2 Q(.)-.65 E F2(Redir)87 -360 Q(ecting Input)-.18 E F0 .391 +(ail.)-.1 E .947(Redirections using \214le descriptors greater than 9 s\ +hould be used with care, as the)108 451.2 R 3.446(ym)-.15 G .946 +(ay con\215ict with \214le)-3.446 F +(descriptors the shell uses internally)108 463.2 Q(.)-.65 E F1(Redir)87 +480 Q(ecting Input)-.18 E F0 .391 (Redirection of input causes the \214le whose name results from the e) -108 372 R .391(xpansion of)-.15 F F1(wor)3.231 E(d)-.37 E F0 .391 -(to be opened for read-)3.661 F(ing on \214le descriptor)108 384 Q F1(n) +108 492 R .391(xpansion of)-.15 F F2(wor)3.231 E(d)-.37 E F0 .391 +(to be opened for read-)3.661 F(ing on \214le descriptor)108 504 Q F2(n) 2.5 E F0 2.5(,o).24 G 2.5(rt)-2.5 G -(he standard input \(\214le descriptor 0\) if)-2.5 E F1(n)2.86 E F0 +(he standard input \(\214le descriptor 0\) if)-2.5 E F2(n)2.86 E F0 (is not speci\214ed.)2.74 E -(The general format for redirecting input is:)108 400.8 Q([)144 417.6 Q -F1(n)A F0(])A F2(<)A F1(wor)A(d)-.37 E F2(Redir)87 434.4 Q -(ecting Output)-.18 E F0 .174 +(The general format for redirecting input is:)108 520.8 Q([)144 537.6 Q +F2(n)A F0(])A F1(<)A F2(wor)A(d)-.37 E F1(Redir)87 554.4 Q +(ecting Output)-.18 E F0 .175 (Redirection of output causes the \214le whose name results from the e) -108 446.4 R .175(xpansion of)-.15 F F1(wor)3.015 E(d)-.37 E F0 .175 -(to be opened for writ-)3.445 F .825(ing on \214le descriptor)108 458.4 -R F1(n)3.325 E F0 3.325(,o).24 G 3.325(rt)-3.325 G .824 -(he standard output \(\214le descriptor 1\) if)-3.325 F F1(n)3.684 E F0 -.824(is not speci\214ed.)3.564 F .824(If the \214le does not)5.824 F --.15(ex)108 470.4 S(ist it is created; if it does e).15 E +108 566.4 R .174(xpansion of)-.15 F F2(wor)3.014 E(d)-.37 E F0 .174 +(to be opened for writ-)3.444 F .824(ing on \214le descriptor)108 578.4 +R F2(n)3.324 E F0 3.324(,o).24 G 3.324(rt)-3.324 G .824 +(he standard output \(\214le descriptor 1\) if)-3.324 F F2(n)3.684 E F0 +.824(is not speci\214ed.)3.564 F .825(If the \214le does not)5.825 F +-.15(ex)108 590.4 S(ist it is created; if it does e).15 E (xist it is truncated to zero size.)-.15 E -(The general format for redirecting output is:)108 487.2 Q([)144 504 Q -F1(n)A F0(])A F2(>)A F1(wor)A(d)-.37 E F0 .154 -(If the redirection operator is)108 520.8 R F2(>)2.654 E F0 2.654(,a)C -.154(nd the)-2.654 F F2(noclob)2.654 E(ber)-.1 E F0 .154(option to the) -2.654 F F2(set)2.655 E F0 -.2(bu)2.655 G .155 -(iltin has been enabled, the redirection).2 F .658(will f)108 532.8 R -.658(ail if the \214le whose name results from the e)-.1 F .658 -(xpansion of)-.15 F F1(wor)3.158 E(d)-.37 E F0 -.15(ex)3.158 G .657 -(ists and is a re).15 F .657(gular \214le.)-.15 F .657(If the redi-) -5.657 F .408(rection operator is)108 544.8 R F2(>|)2.909 E F0 2.909(,o)C -2.909(rt)-2.909 G .409(he redirection operator is)-2.909 F F2(>)2.909 E -F0 .409(and the)2.909 F F2(noclob)2.909 E(ber)-.1 E F0 .409 -(option to the)2.909 F F2(set)2.909 E F0 -.2(bu)2.909 G .409 +(The general format for redirecting output is:)108 607.2 Q([)144 624 Q +F2(n)A F0(])A F1(>)A F2(wor)A(d)-.37 E F0 .155 +(If the redirection operator is)108 640.8 R F1(>)2.655 E F0 2.655(,a)C +.155(nd the)-2.655 F F1(noclob)2.655 E(ber)-.1 E F0 .154(option to the) +2.654 F F1(set)2.654 E F0 -.2(bu)2.654 G .154 +(iltin has been enabled, the redirection).2 F .657(will f)108 652.8 R +.657(ail if the \214le whose name results from the e)-.1 F .658 +(xpansion of)-.15 F F2(wor)3.158 E(d)-.37 E F0 -.15(ex)3.158 G .658 +(ists and is a re).15 F .658(gular \214le.)-.15 F .658(If the redi-) +5.658 F .409(rection operator is)108 664.8 R F1(>|)2.909 E F0 2.909(,o)C +2.909(rt)-2.909 G .409(he redirection operator is)-2.909 F F1(>)2.909 E +F0 .409(and the)2.909 F F1(noclob)2.909 E(ber)-.1 E F0 .409 +(option to the)2.909 F F1(set)2.909 E F0 -.2(bu)2.908 G .408 (iltin command).2 F(is not enabled, the redirection is attempted e)108 -556.8 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214le named by) --2.5 E F1(wor)2.5 E(d)-.37 E F0 -.15(ex)2.5 G(ists.).15 E F2 -.25(Ap)87 -573.6 S(pending Redir).25 E(ected Output)-.18 E F0 .642 -(Redirection of output in this f)108 585.6 R .642 -(ashion causes the \214le whose name results from the e)-.1 F .641 -(xpansion of)-.15 F F1(wor)3.481 E(d)-.37 E F0 .641(to be)3.911 F .473 -(opened for appending on \214le descriptor)108 597.6 R F1(n)2.973 E F0 +676.8 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214le named by) +-2.5 E F2(wor)2.5 E(d)-.37 E F0 -.15(ex)2.5 G(ists.).15 E F1 -.25(Ap)87 +693.6 S(pending Redir).25 E(ected Output)-.18 E F0 .641 +(Redirection of output in this f)108 705.6 R .642 +(ashion causes the \214le whose name results from the e)-.1 F .642 +(xpansion of)-.15 F F2(wor)3.482 E(d)-.37 E F0 .642(to be)3.912 F .474 +(opened for appending on \214le descriptor)108 717.6 R F2(n)2.974 E F0 2.974(,o).24 G 2.974(rt)-2.974 G .474 -(he standard output \(\214le descriptor 1\) if)-2.974 F F1(n)3.334 E F0 -.474(is not speci\214ed.)3.214 F(If)5.474 E(the \214le does not e)108 -609.6 Q(xist it is created.)-.15 E -(The general format for appending output is:)108 626.4 Q([)144 643.2 Q -F1(n)A F0(])A F2(>>)A F1(wor)A(d)-.37 E F2(Redir)87 664.8 Q -(ecting Standard Output and Standard Err)-.18 E(or)-.18 E F0 .249 -(This construct allo)108 676.8 R .249(ws both the standard output \(\ -\214le descriptor 1\) and the standard error output \(\214le descrip-) --.25 F(tor 2\) to be redirected to the \214le whose name is the e)108 -688.8 Q(xpansion of)-.15 E F1(wor)2.5 E(d)-.37 E F0(.).77 E -(There are tw)108 705.6 Q 2.5(of)-.1 G -(ormats for redirecting standard output and standard error:)-2.5 E F2 -(&>)144 722.4 Q F1(wor)A(d)-.37 E F0(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(24)195.945 E 0 Cg EP +(he standard output \(\214le descriptor 1\) if)-2.974 F F2(n)3.333 E F0 +.473(is not speci\214ed.)3.213 F(If)5.473 E(the \214le does not e)108 +729.6 Q(xist it is created.)-.15 E(GNU Bash-4.1)72 768 Q(2010 May 30) +147.345 E(24)197.335 E 0 Cg EP %%Page: 25 25 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(and)108 84 Q/F1 10/Times-Bold@0 SF(>&)144 96 Q/F2 10 -/Times-Italic@0 SF(wor)A(d)-.37 E F0(Of the tw)108 112.8 Q 2.5(of)-.1 G +-.35 E(The general format for appending output is:)108 84 Q([)144 100.8 +Q/F1 10/Times-Italic@0 SF(n)A F0(])A/F2 10/Times-Bold@0 SF(>>)A F1(wor)A +(d)-.37 E F2(Redir)87 122.4 Q(ecting Standard Output and Standard Err) +-.18 E(or)-.18 E F0 .248(This construct allo)108 134.4 R .249(ws both t\ +he standard output \(\214le descriptor 1\) and the standard error outpu\ +t \(\214le descrip-)-.25 F +(tor 2\) to be redirected to the \214le whose name is the e)108 146.4 Q +(xpansion of)-.15 E F1(wor)2.5 E(d)-.37 E F0(.).77 E(There are tw)108 +163.2 Q 2.5(of)-.1 G +(ormats for redirecting standard output and standard error:)-2.5 E F2 +(&>)144 180 Q F1(wor)A(d)-.37 E F0(and)108 192 Q F2(>&)144 204 Q F1(wor) +A(d)-.37 E F0(Of the tw)108 220.8 Q 2.5(of)-.1 G (orms, the \214rst is preferred.)-2.5 E(This is semantically equi)5 E --.25(va)-.25 G(lent to).25 E F1(>)144 129.6 Q F2(wor)A(d)-.37 E F0(2)2.5 -E F1(>&)A F0(1)A F1 -.25(Ap)87 151.2 S -(pending Standard Output and Standard Err).25 E(or)-.18 E F0 .248 -(This construct allo)108 163.2 R .249(ws both the standard output \(\ +-.25(va)-.25 G(lent to).25 E F2(>)144 237.6 Q F1(wor)A(d)-.37 E F0(2)2.5 +E F2(>&)A F0(1)A F2 -.25(Ap)87 259.2 S +(pending Standard Output and Standard Err).25 E(or)-.18 E F0 .249 +(This construct allo)108 271.2 R .249(ws both the standard output \(\ \214le descriptor 1\) and the standard error output \(\214le descrip-) -.25 F(tor 2\) to be appended to the \214le whose name is the e)108 -175.2 Q(xpansion of)-.15 E F2(wor)2.5 E(d)-.37 E F0(.).77 E -(The format for appending standard output and standard error is:)108 192 -Q F1(&>>)144 208.8 Q F2(wor)A(d)-.37 E F0(This is semantically equi)108 -225.6 Q -.25(va)-.25 G(lent to).25 E F1(>>)144 242.4 Q F2(wor)A(d)-.37 E -F0(2)2.5 E F1(>&)A F0(1)A F1(Her)87 259.2 Q 2.5(eD)-.18 G(ocuments)-2.5 +283.2 Q(xpansion of)-.15 E F1(wor)2.5 E(d)-.37 E F0(.).77 E +(The format for appending standard output and standard error is:)108 300 +Q F2(&>>)144 316.8 Q F1(wor)A(d)-.37 E F0(This is semantically equi)108 +333.6 Q -.25(va)-.25 G(lent to).25 E F2(>>)144 350.4 Q F1(wor)A(d)-.37 E +F0(2)2.5 E F2(>&)A F0(1)A F2(Her)87 367.2 Q 2.5(eD)-.18 G(ocuments)-2.5 E F0 .33(This type of redirection instructs the shell to read input fro\ -m the current source until a line containing only)108 271.2 R F2 -(delimiter)108.35 283.2 Q F0 .614(\(with no trailing blanks\) is seen.) -3.844 F .615 +m the current source until a line containing only)108 379.2 R F1 +(delimiter)108.35 391.2 Q F0 .615(\(with no trailing blanks\) is seen.) +3.845 F .615 (All of the lines read up to that point are then used as the stan-)5.615 -F(dard input for a command.)108 295.2 Q -(The format of here-documents is:)108 312 Q F1(<<)144 328.8 Q F0([)A F1 -A F0(])A F2(wor)A(d)-.37 E(her)164 340.8 Q(e-document)-.37 E -(delimiter)144 352.8 Q F0 .128(No parameter e)108 369.6 R .127 +F(dard input for a command.)108 403.2 Q +(The format of here-documents is:)108 420 Q F2(<<)144 436.8 Q F0([)A F2 +A F0(])A F1(wor)A(d)-.37 E(her)164 448.8 Q(e-document)-.37 E +(delimiter)144 460.8 Q F0 .127(No parameter e)108 477.6 R .127 (xpansion, command substitution, arithmetic e)-.15 F .127 -(xpansion, or pathname e)-.15 F .127(xpansion is performed)-.15 F(on)108 -381.6 Q F2(wor)3.274 E(d)-.37 E F0 5.774(.I).77 G 3.274(fa)-5.774 G -1.074 -.15(ny c)-3.274 H .774(haracters in).15 F F2(wor)3.614 E(d)-.37 E -F0 .774(are quoted, the)4.044 F F2(delimiter)3.624 E F0 .774 -(is the result of quote remo)4.004 F -.25(va)-.15 G 3.275(lo).25 G(n) --3.275 E F2(wor)3.275 E(d)-.37 E F0 3.275(,a).77 G(nd)-3.275 E .905 -(the lines in the here-document are not e)108 393.6 R 3.405(xpanded. If) --.15 F F2(wor)3.405 E(d)-.37 E F0 .904 -(is unquoted, all lines of the here-document are)3.405 F .694 -(subjected to parameter e)108 405.6 R .695 -(xpansion, command substitution, and arithmetic e)-.15 F 3.195 -(xpansion. In)-.15 F .695(the latter case, the)3.195 F -(character sequence)108 417.6 Q F1(\\)2.5 E F0(is ignored, and) -2.5 E F1(\\)2.5 E F0(must be used to quote the characters)2.5 E F1(\\) -2.5 E F0(,)A F1($)2.5 E F0 2.5(,a)C(nd)-2.5 E F1<92>2.5 E F0(.)A .602 -(If the redirection operator is)108 434.4 R F1(<<\255)3.101 E F0 3.101 +(xpansion, or pathname e)-.15 F .128(xpansion is performed)-.15 F(on)108 +489.6 Q F1(wor)3.275 E(d)-.37 E F0 5.775(.I).77 G 3.275(fa)-5.775 G +1.075 -.15(ny c)-3.275 H .774(haracters in).15 F F1(wor)3.614 E(d)-.37 E +F0 .774(are quoted, the)4.044 F F1(delimiter)3.624 E F0 .774 +(is the result of quote remo)4.004 F -.25(va)-.15 G 3.274(lo).25 G(n) +-3.274 E F1(wor)3.274 E(d)-.37 E F0 3.274(,a).77 G(nd)-3.274 E .904 +(the lines in the here-document are not e)108 501.6 R 3.405(xpanded. If) +-.15 F F1(wor)3.405 E(d)-.37 E F0 .905 +(is unquoted, all lines of the here-document are)3.405 F .695 +(subjected to parameter e)108 513.6 R .695 +(xpansion, command substitution, and arithmetic e)-.15 F 3.194 +(xpansion. In)-.15 F .694(the latter case, the)3.194 F +(character sequence)108 525.6 Q F2(\\)2.5 E F0(is ignored, and) +2.5 E F2(\\)2.5 E F0(must be used to quote the characters)2.5 E F2(\\) +2.5 E F0(,)A F2($)2.5 E F0 2.5(,a)C(nd)-2.5 E F2<92>2.5 E F0(.)A .601 +(If the redirection operator is)108 542.4 R F2(<<\255)3.101 E F0 3.101 (,t)C .601(hen all leading tab characters are stripped from input lines\ - and the line)-3.101 F(containing)108 446.4 Q F2(delimiter)2.5 E F0 5 + and the line)-3.101 F(containing)108 554.4 Q F1(delimiter)2.5 E F0 5 (.T).73 G(his allo)-5 E (ws here-documents within shell scripts to be indented in a natural f) --.25 E(ashion.)-.1 E F1(Her)87 463.2 Q 2.5(eS)-.18 G(trings)-2.5 E F0 -2.5(Av)108 475.2 S(ariant of here documents, the format is:)-2.75 E F1 -(<<<)144 492 Q F2(wor)A(d)-.37 E F0(The)108 508.8 Q F2(wor)2.5 E(d)-.37 +-.25 E(ashion.)-.1 E F2(Her)87 571.2 Q 2.5(eS)-.18 G(trings)-2.5 E F0 +2.5(Av)108 583.2 S(ariant of here documents, the format is:)-2.75 E F2 +(<<<)144 600 Q F1(wor)A(d)-.37 E F0(The)108 616.8 Q F1(wor)2.5 E(d)-.37 E F0(is e)2.5 E -(xpanded and supplied to the command on its standard input.)-.15 E F1 -(Duplicating File Descriptors)87 525.6 Q F0(The redirection operator)108 -537.6 Q([)144 554.4 Q F2(n)A F0(])A F1(<&)A F2(wor)A(d)-.37 E F0 .126 -(is used to duplicate input \214le descriptors.)108 571.2 R(If)5.127 E -F2(wor)2.967 E(d)-.37 E F0 -.15(ex)3.397 G .127 +(xpanded and supplied to the command on its standard input.)-.15 E F2 +(Duplicating File Descriptors)87 633.6 Q F0(The redirection operator)108 +645.6 Q([)144 662.4 Q F1(n)A F0(])A F2(<&)A F1(wor)A(d)-.37 E F0 .127 +(is used to duplicate input \214le descriptors.)108 679.2 R(If)5.127 E +F1(wor)2.967 E(d)-.37 E F0 -.15(ex)3.397 G .126 (pands to one or more digits, the \214le descriptor denoted).15 F(by)108 -583.2 Q F2(n)3.318 E F0 .458(is made to be a cop)3.198 F 2.958(yo)-.1 G -2.958(ft)-2.958 G .457(hat \214le descriptor)-2.958 F 5.457(.I)-.55 G -2.957(ft)-5.457 G .457(he digits in)-2.957 F F2(wor)3.297 E(d)-.37 E F0 -.457(do not specify a \214le descriptor open)3.727 F .149 -(for input, a redirection error occurs.)108 595.2 R(If)5.149 E F2(wor) -2.989 E(d)-.37 E F0 -.25(eva)3.419 G .149(luates to).25 F F12.649 E -F0 2.65<2c8c>C .15(le descriptor)-2.65 F F2(n)3.01 E F0 .15(is closed.) -2.89 F(If)5.15 E F2(n)3.01 E F0 .15(is not speci\214ed,)2.89 F -(the standard input \(\214le descriptor 0\) is used.)108 607.2 Q -(The operator)108 624 Q([)144 640.8 Q F2(n)A F0(])A F1(>&)A F2(wor)A(d) --.37 E F0 .444 -(is used similarly to duplicate output \214le descriptors.)108 657.6 R -(If)5.444 E F2(n)3.304 E F0 .443 -(is not speci\214ed, the standard output \(\214le descrip-)3.183 F 1.357 -(tor 1\) is used.)108 669.6 R 1.357(If the digits in)6.357 F F2(wor) -4.197 E(d)-.37 E F0 1.358(do not specify a \214le descriptor open for o\ -utput, a redirection error)4.627 F 2.597(occurs. As)108 681.6 R 2.597 -(as)2.597 G .097(pecial case, if)-2.597 F F2(n)2.596 E F0 .096 -(is omitted, and)2.596 F F2(wor)2.596 E(d)-.37 E F0 .096(does not e) -2.596 F .096(xpand to one or more digits, the standard out-)-.15 F -(put and standard error are redirected as described pre)108 693.6 Q -(viously)-.25 E(.)-.65 E(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E -(25)195.945 E 0 Cg EP +691.2 Q F1(n)3.317 E F0 .457(is made to be a cop)3.197 F 2.957(yo)-.1 G +2.957(ft)-2.957 G .457(hat \214le descriptor)-2.957 F 5.457(.I)-.55 G +2.957(ft)-5.457 G .457(he digits in)-2.957 F F1(wor)3.298 E(d)-.37 E F0 +.458(do not specify a \214le descriptor open)3.728 F .15 +(for input, a redirection error occurs.)108 703.2 R(If)5.15 E F1(wor) +2.99 E(d)-.37 E F0 -.25(eva)3.42 G .15(luates to).25 F F22.65 E F0 +2.649<2c8c>C .149(le descriptor)-2.649 F F1(n)3.009 E F0 .149 +(is closed.)2.889 F(If)5.149 E F1(n)3.009 E F0 .149(is not speci\214ed,) +2.889 F(the standard input \(\214le descriptor 0\) is used.)108 715.2 Q +(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(25)197.335 E 0 Cg EP %%Page: 26 26 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(Mo)87 84 Q(ving File Descriptors)-.1 E F0 -(The redirection operator)108 96 Q([)144 112.8 Q/F2 10/Times-Italic@0 SF -(n)A F0(])A F1(<&)A F2(digit)A F1A F0(mo)108 129.6 Q -.15(ve)-.15 G -3.035(st).15 G .535(he \214le descriptor)-3.035 F F2(digit)3.035 E F0 -.535(to \214le descriptor)3.035 F F2(n)3.035 E F0 3.035(,o).24 G 3.035 -(rt)-3.035 G .536(he standard input \(\214le descriptor 0\) if)-3.035 F -F2(n)3.036 E F0 .536(is not speci-)3.036 F(\214ed.)108 141.6 Q F2(digit) -5 E F0(is closed after being duplicated to)2.5 E F2(n)2.5 E F0(.)A -(Similarly)108 158.4 Q 2.5(,t)-.65 G(he redirection operator)-2.5 E([) -144 175.2 Q F2(n)A F0(])A F1(>&)A F2(digit)A F1A F0(mo)108 192 Q --.15(ve)-.15 G 2.786(st).15 G .286(he \214le descriptor)-2.786 F F2 -(digit)2.786 E F0 .286(to \214le descriptor)2.786 F F2(n)2.786 E F0 -2.786(,o).24 G 2.786(rt)-2.786 G .285 -(he standard output \(\214le descriptor 1\) if)-2.786 F F2(n)2.785 E F0 -.285(is not speci-)2.785 F(\214ed.)108 204 Q F1 -(Opening File Descriptors f)87 220.8 Q(or Reading and Writing)-.25 E F0 -(The redirection operator)108 232.8 Q([)144 249.6 Q F2(n)A F0(])A F1(<>) -A F2(wor)A(d)-.37 E F0 1.349(causes the \214le whose name is the e)108 -266.4 R 1.349(xpansion of)-.15 F F2(wor)4.189 E(d)-.37 E F0 1.349 +-.35 E(The operator)108 84 Q([)144 100.8 Q/F1 10/Times-Italic@0 SF(n)A +F0(])A/F2 10/Times-Bold@0 SF(>&)A F1(wor)A(d)-.37 E F0 .443 +(is used similarly to duplicate output \214le descriptors.)108 117.6 R +(If)5.443 E F1(n)3.304 E F0 .444 +(is not speci\214ed, the standard output \(\214le descrip-)3.184 F 1.358 +(tor 1\) is used.)108 129.6 R 1.358(If the digits in)6.358 F F1(wor) +4.198 E(d)-.37 E F0 1.357(do not specify a \214le descriptor open for o\ +utput, a redirection error)4.628 F 2.596(occurs. As)108 141.6 R 2.596 +(as)2.596 G .096(pecial case, if)-2.596 F F1(n)2.596 E F0 .096 +(is omitted, and)2.596 F F1(wor)2.596 E(d)-.37 E F0 .096(does not e) +2.596 F .096(xpand to one or more digits, the standard out-)-.15 F +(put and standard error are redirected as described pre)108 153.6 Q +(viously)-.25 E(.)-.65 E F2(Mo)87 170.4 Q(ving File Descriptors)-.1 E F0 +(The redirection operator)108 182.4 Q([)144 199.2 Q F1(n)A F0(])A F2(<&) +A F1(digit)A F2A F0(mo)108 216 Q -.15(ve)-.15 G 3.036(st).15 G .536 +(he \214le descriptor)-3.036 F F1(digit)3.036 E F0 .536 +(to \214le descriptor)3.036 F F1(n)3.036 E F0 3.036(,o).24 G 3.036(rt) +-3.036 G .535(he standard input \(\214le descriptor 0\) if)-3.036 F F1 +(n)3.035 E F0 .535(is not speci-)3.035 F(\214ed.)108 228 Q F1(digit)5 E +F0(is closed after being duplicated to)2.5 E F1(n)2.5 E F0(.)A +(Similarly)108 244.8 Q 2.5(,t)-.65 G(he redirection operator)-2.5 E([) +144 261.6 Q F1(n)A F0(])A F2(>&)A F1(digit)A F2A F0(mo)108 278.4 Q +-.15(ve)-.15 G 2.785(st).15 G .285(he \214le descriptor)-2.785 F F1 +(digit)2.785 E F0 .285(to \214le descriptor)2.785 F F1(n)2.785 E F0 +2.785(,o).24 G 2.785(rt)-2.785 G .286 +(he standard output \(\214le descriptor 1\) if)-2.785 F F1(n)2.786 E F0 +.286(is not speci-)2.786 F(\214ed.)108 290.4 Q F2 +(Opening File Descriptors f)87 307.2 Q(or Reading and Writing)-.25 E F0 +(The redirection operator)108 319.2 Q([)144 336 Q F1(n)A F0(])A F2(<>)A +F1(wor)A(d)-.37 E F0 1.349(causes the \214le whose name is the e)108 +352.8 R 1.349(xpansion of)-.15 F F1(wor)4.189 E(d)-.37 E F0 1.349 (to be opened for both reading and writing on \214le)4.619 F(descriptor) -108 278.4 Q F2(n)2.5 E F0 2.5(,o).24 G 2.5(ro)-2.5 G 2.5<6e8c>-2.5 G -(le descriptor 0 if)-2.5 E F2(n)2.86 E F0(is not speci\214ed.)2.74 E +108 364.8 Q F1(n)2.5 E F0 2.5(,o).24 G 2.5(ro)-2.5 G 2.5<6e8c>-2.5 G +(le descriptor 0 if)-2.5 E F1(n)2.86 E F0(is not speci\214ed.)2.74 E (If the \214le does not e)5 E(xist, it is created.)-.15 E/F3 10.95 -/Times-Bold@0 SF(ALIASES)72 295.2 Q F2(Aliases)108 307.2 Q F0(allo)3.174 -E 3.174(was)-.25 G .674(tring to be substituted for a w)-3.174 F .674 -(ord when it is used as the \214rst w)-.1 F .673 +/Times-Bold@0 SF(ALIASES)72 381.6 Q F1(Aliases)108 393.6 Q F0(allo)3.173 +E 3.173(was)-.25 G .674(tring to be substituted for a w)-3.173 F .674 +(ord when it is used as the \214rst w)-.1 F .674 (ord of a simple command.)-.1 F .394(The shell maintains a list of alia\ -ses that may be set and unset with the)108 319.2 R F1(alias)2.894 E F0 -(and)2.894 E F1(unalias)2.894 E F0 -.2(bu)2.894 G .394(iltin commands).2 -F(\(see)108 331.2 Q/F4 9/Times-Bold@0 SF 1.98(SHELL B)4.48 F(UIL)-.09 E -1.98(TIN COMMANDS)-.828 F F0(belo)4.23 E 4.48(w\). The)-.25 F 1.98 -(\214rst w)4.48 F 1.979(ord of each simple command, if unquoted, is)-.1 -F(check)108 343.2 Q .472(ed to see if it has an alias.)-.1 F .472 -(If so, that w)5.472 F .473(ord is replaced by the te)-.1 F .473 -(xt of the alias.)-.15 F .473(The characters)5.473 F F1(/)2.973 E F0(,)A -F1($)2.973 E F0(,)A F1<92>2.973 E F0(,)A(and)108 355.2 Q F1(=)3.612 E F0 -1.112(and an)3.612 F 3.612(yo)-.15 G 3.612(ft)-3.612 G 1.112(he shell) --3.612 F F2(metac)3.612 E(har)-.15 E(acter)-.15 E(s)-.1 E F0 1.112 -(or quoting characters listed abo)3.612 F 1.411 -.15(ve m)-.15 H 1.111 -(ay not appear in an alias).15 F 3.619(name. The)108 367.2 R 1.119 -(replacement te)3.619 F 1.119(xt may contain an)-.15 F 3.619(yv)-.15 G -1.119(alid shell input, including shell metacharacters.)-3.869 F 1.12 -(The \214rst)6.12 F -.1(wo)108 379.2 S .514(rd of the replacement te).1 -F .514(xt is tested for aliases, b)-.15 F .514(ut a w)-.2 F .513 -(ord that is identical to an alias being e)-.1 F .513(xpanded is)-.15 F -.295(not e)108 391.2 R .295(xpanded a second time.)-.15 F .296 -(This means that one may alias)5.295 F F1(ls)2.796 E F0(to)2.796 E F1 -.296(ls \255F)2.796 F F0 2.796(,f)C .296(or instance, and)-2.796 F F1 -(bash)2.796 E F0 .296(does not try)2.796 F .543(to recursi)108 403.2 R --.15(ve)-.25 G .543(ly e).15 F .543(xpand the replacement te)-.15 F -3.043(xt. If)-.15 F .543(the last character of the alias v)3.043 F .542 -(alue is a)-.25 F F2(blank)3.042 E F0 3.042(,t).67 G .542(hen the ne) --3.042 F(xt)-.15 E(command w)108 415.2 Q(ord follo)-.1 E +ses that may be set and unset with the)108 405.6 R F2(alias)2.893 E F0 +(and)2.893 E F2(unalias)2.893 E F0 -.2(bu)2.893 G .393(iltin commands).2 +F(\(see)108 417.6 Q/F4 9/Times-Bold@0 SF 1.979(SHELL B)4.479 F(UIL)-.09 +E 1.979(TIN COMMANDS)-.828 F F0(belo)4.229 E 4.48(w\). The)-.25 F 1.98 +(\214rst w)4.48 F 1.98(ord of each simple command, if unquoted, is)-.1 F +(check)108 429.6 Q .473(ed to see if it has an alias.)-.1 F .473 +(If so, that w)5.473 F .472(ord is replaced by the te)-.1 F .472 +(xt of the alias.)-.15 F .472(The characters)5.472 F F2(/)2.972 E F0(,)A +F2($)2.972 E F0(,)A F2<92>2.972 E F0(,)A(and)108 441.6 Q F2(=)3.611 E F0 +1.111(and an)3.611 F 3.611(yo)-.15 G 3.611(ft)-3.611 G 1.111(he shell) +-3.611 F F1(metac)3.612 E(har)-.15 E(acter)-.15 E(s)-.1 E F0 1.112 +(or quoting characters listed abo)3.612 F 1.412 -.15(ve m)-.15 H 1.112 +(ay not appear in an alias).15 F 3.62(name. The)108 453.6 R 1.12 +(replacement te)3.62 F 1.119(xt may contain an)-.15 F 3.619(yv)-.15 G +1.119(alid shell input, including shell metacharacters.)-3.869 F 1.119 +(The \214rst)6.119 F -.1(wo)108 465.6 S .513(rd of the replacement te).1 +F .513(xt is tested for aliases, b)-.15 F .513(ut a w)-.2 F .514 +(ord that is identical to an alias being e)-.1 F .514(xpanded is)-.15 F +.296(not e)108 477.6 R .296(xpanded a second time.)-.15 F .296 +(This means that one may alias)5.296 F F2(ls)2.796 E F0(to)2.796 E F2 +.296(ls \255F)2.796 F F0 2.796(,f)C .295(or instance, and)-2.796 F F2 +(bash)2.795 E F0 .295(does not try)2.795 F .542(to recursi)108 489.6 R +-.15(ve)-.25 G .542(ly e).15 F .542(xpand the replacement te)-.15 F +3.042(xt. If)-.15 F .543(the last character of the alias v)3.042 F .543 +(alue is a)-.25 F F1(blank)3.043 E F0 3.043(,t).67 G .543(hen the ne) +-3.043 F(xt)-.15 E(command w)108 501.6 Q(ord follo)-.1 E (wing the alias is also check)-.25 E(ed for alias e)-.1 E(xpansion.)-.15 -E(Aliases are created and listed with the)108 432 Q F1(alias)2.5 E F0 -(command, and remo)2.5 E -.15(ve)-.15 G 2.5(dw).15 G(ith the)-2.5 E F1 +E(Aliases are created and listed with the)108 518.4 Q F2(alias)2.5 E F0 +(command, and remo)2.5 E -.15(ve)-.15 G 2.5(dw).15 G(ith the)-2.5 E F2 (unalias)2.5 E F0(command.)2.5 E .284 -(There is no mechanism for using ar)108 448.8 R .284 +(There is no mechanism for using ar)108 535.2 R .284 (guments in the replacement te)-.18 F 2.784(xt. If)-.15 F(ar)2.784 E .284(guments are needed, a shell func-)-.18 F(tion should be used \(see) -108 460.8 Q F4(FUNCTIONS)2.5 E F0(belo)2.25 E(w\).)-.25 E 1.22 -(Aliases are not e)108 477.6 R 1.22 +108 547.2 Q F4(FUNCTIONS)2.5 E F0(belo)2.25 E(w\).)-.25 E 1.22 +(Aliases are not e)108 564 R 1.22 (xpanded when the shell is not interacti)-.15 F -.15(ve)-.25 G 3.72(,u) -.15 G 1.22(nless the)-3.72 F F1(expand_aliases)3.72 E F0 1.22 -(shell option is set)3.72 F(using)108 489.6 Q F1(shopt)2.5 E F0 -(\(see the description of)2.5 E F1(shopt)2.5 E F0(under)2.5 E F4 +.15 G 1.22(nless the)-3.72 F F2(expand_aliases)3.72 E F0 1.22 +(shell option is set)3.72 F(using)108 576 Q F2(shopt)2.5 E F0 +(\(see the description of)2.5 E F2(shopt)2.5 E F0(under)2.5 E F4 (SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 -E .435 +E .436 (The rules concerning the de\214nition and use of aliases are some)108 -506.4 R .436(what confusing.)-.25 F F1(Bash)5.436 E F0(al)2.936 E -.1 -(wa)-.1 G .436(ys reads at least).1 F .338 -(one complete line of input before e)108 518.4 R -.15(xe)-.15 G .338 +592.8 R .435(what confusing.)-.25 F F2(Bash)5.435 E F0(al)2.935 E -.1 +(wa)-.1 G .435(ys reads at least).1 F .337 +(one complete line of input before e)108 604.8 R -.15(xe)-.15 G .338 (cuting an).15 F 2.838(yo)-.15 G 2.838(ft)-2.838 G .338 -(he commands on that line.)-2.838 F .337(Aliases are e)5.337 F .337 -(xpanded when)-.15 F 3.403(ac)108 530.4 S .904 -(ommand is read, not when it is e)-3.403 F -.15(xe)-.15 G 3.404 +(he commands on that line.)-2.838 F .338(Aliases are e)5.338 F .338 +(xpanded when)-.15 F 3.404(ac)108 616.8 S .904 +(ommand is read, not when it is e)-3.404 F -.15(xe)-.15 G 3.404 (cuted. Therefore,).15 F .904 -(an alias de\214nition appearing on the same line as)3.404 F 1.162 -(another command does not tak)108 542.4 R 3.662(ee)-.1 G -.25(ff)-3.662 +(an alias de\214nition appearing on the same line as)3.404 F 1.161 +(another command does not tak)108 628.8 R 3.662(ee)-.1 G -.25(ff)-3.662 G 1.162(ect until the ne).25 F 1.162(xt line of input is read.)-.15 F -1.161(The commands follo)6.161 F 1.161(wing the)-.25 F .277 -(alias de\214nition on that line are not af)108 554.4 R .277 +1.162(The commands follo)6.162 F 1.162(wing the)-.25 F .277 +(alias de\214nition on that line are not af)108 640.8 R .277 (fected by the ne)-.25 F 2.777(wa)-.25 G 2.777(lias. This)-2.777 F(beha) -2.777 E .277(vior is also an issue when functions)-.2 F .699(are e)108 -566.4 R -.15(xe)-.15 G 3.199(cuted. Aliases).15 F .699(are e)3.199 F +2.777 E .277(vior is also an issue when functions)-.2 F .698(are e)108 +652.8 R -.15(xe)-.15 G 3.198(cuted. Aliases).15 F .698(are e)3.198 F .699(xpanded when a function de\214nition is read, not when the functio\ -n is e)-.15 F -.15(xe)-.15 G(cuted,).15 E .494 -(because a function de\214nition is itself a compound command.)108 578.4 -R .495(As a consequence, aliases de\214ned in a func-)5.494 F .085 -(tion are not a)108 590.4 R -.25(va)-.2 G .084 +n is e)-.15 F -.15(xe)-.15 G(cuted,).15 E .495 +(because a function de\214nition is itself a compound command.)108 664.8 +R .494(As a consequence, aliases de\214ned in a func-)5.494 F .084 +(tion are not a)108 676.8 R -.25(va)-.2 G .084 (ilable until after that function is e).25 F -.15(xe)-.15 G 2.584 (cuted. T).15 F 2.584(ob)-.8 G 2.584(es)-2.584 G .084(afe, al)-2.584 F --.1(wa)-.1 G .084(ys put alias de\214nitions on a sepa-).1 F -(rate line, and do not use)108 602.4 Q F1(alias)2.5 E F0 -(in compound commands.)2.5 E -.15(Fo)108 619.2 S 2.5(ra).15 G(lmost e) +-.1(wa)-.1 G .085(ys put alias de\214nitions on a sepa-).1 F +(rate line, and do not use)108 688.8 Q F2(alias)2.5 E F0 +(in compound commands.)2.5 E -.15(Fo)108 705.6 S 2.5(ra).15 G(lmost e) -2.5 E -.15(ve)-.25 G -(ry purpose, aliases are superseded by shell functions.).15 E F3 -(FUNCTIONS)72 636 Q F0 3.467(As)108 648 S .967 -(hell function, de\214ned as described abo)-3.467 F 1.267 -.15(ve u)-.15 -H(nder).15 E F4 .967(SHELL GRAMMAR)3.467 F/F5 9/Times-Roman@0 SF(,)A F0 -.968(stores a series of commands for)3.217 F 1.002(later e)108 660 R --.15(xe)-.15 G 3.502(cution. When).15 F 1.002(the name of a shell funct\ -ion is used as a simple command name, the list of com-)3.502 F .315 -(mands associated with that function name is e)108 672 R -.15(xe)-.15 G -2.816(cuted. Functions).15 F .316(are e)2.816 F -.15(xe)-.15 G .316 -(cuted in the conte).15 F .316(xt of the current)-.15 F .036 -(shell; no ne)108 684 R 2.536(wp)-.25 G .036 -(rocess is created to interpret them \(contrast this with the e)-2.536 F --.15(xe)-.15 G .036(cution of a shell script\).).15 F .035(When a)5.035 -F .639(function is e)108 696 R -.15(xe)-.15 G .639(cuted, the ar).15 F -.639 -(guments to the function become the positional parameters during its e) --.18 F -.15(xe)-.15 G(cution.).15 E .533(The special parameter)108 708 R -F1(#)3.033 E F0 .532(is updated to re\215ect the change.)3.033 F .532 -(Special parameter 0 is unchanged.)5.532 F .532(The \214rst ele-)5.532 F -(ment of the)108 720 Q F4(FUNCN)2.5 E(AME)-.18 E F0 -.25(va)2.25 G -(riable is set to the name of the function while the function is e).25 E --.15(xe)-.15 G(cuting.).15 E(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 -E(26)195.945 E 0 Cg EP +(ry purpose, aliases are superseded by shell functions.).15 E +(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(26)197.335 E 0 Cg EP %%Page: 27 27 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E 1.25(All other aspects of the shell e)108 84 R -.15(xe)-.15 G -1.25(cution en).15 F 1.25 +-.35 E/F1 10.95/Times-Bold@0 SF(FUNCTIONS)72 84 Q F0 3.468(As)108 96 S +.968(hell function, de\214ned as described abo)-3.468 F 1.267 -.15(ve u) +-.15 H(nder).15 E/F2 9/Times-Bold@0 SF .967(SHELL GRAMMAR)3.467 F/F3 9 +/Times-Roman@0 SF(,)A F0 .967(stores a series of commands for)3.217 F +1.001(later e)108 108 R -.15(xe)-.15 G 3.501(cution. When).15 F 1.002(t\ +he name of a shell function is used as a simple command name, the list \ +of com-)3.501 F .316(mands associated with that function name is e)108 +120 R -.15(xe)-.15 G 2.816(cuted. Functions).15 F .316(are e)2.816 F +-.15(xe)-.15 G .315(cuted in the conte).15 F .315(xt of the current)-.15 +F .035(shell; no ne)108 132 R 2.535(wp)-.25 G .036 +(rocess is created to interpret them \(contrast this with the e)-2.535 F +-.15(xe)-.15 G .036(cution of a shell script\).).15 F .036(When a)5.036 +F .64(function is e)108 144 R -.15(xe)-.15 G .64(cuted, the ar).15 F +.639 +(guments to the function become the positional parameters during its e) +-.18 F -.15(xe)-.15 G(cution.).15 E .532(The special parameter)108 156 R +/F4 10/Times-Bold@0 SF(#)3.032 E F0 .532 +(is updated to re\215ect the change.)3.032 F .533 +(Special parameter 0 is unchanged.)5.532 F .533(The \214rst ele-)5.533 F +(ment of the)108 168 Q F2(FUNCN)2.5 E(AME)-.18 E F0 -.25(va)2.25 G +(riable is set to the name of the function while the function is e).25 E +-.15(xe)-.15 G(cuting.).15 E 1.25(All other aspects of the shell e)108 +184.8 R -.15(xe)-.15 G 1.25(cution en).15 F 1.25 (vironment are identical between a function and its caller with)-.4 F -1.049(these e)108 96 R 3.548(xceptions: the)-.15 F/F1 9/Times-Bold@0 SF -(DEB)3.548 E(UG)-.09 E F0(and)3.298 E/F2 10/Times-Bold@0 SF(RETURN)3.548 -E F0 1.048(traps \(see the description of the)3.548 F F2(trap)3.548 E F0 --.2(bu)3.548 G 1.048(iltin under).2 F F1(SHELL)3.548 E -.09(BU)108 108 S -(IL).09 E .478(TIN COMMANDS)-.828 F F0(belo)2.728 E .479 +1.048(these e)108 196.8 R 3.548(xceptions: the)-.15 F F2(DEB)3.548 E(UG) +-.09 E F0(and)3.298 E F4(RETURN)3.548 E F0 1.048 +(traps \(see the description of the)3.548 F F4(trap)3.548 E F0 -.2(bu) +3.548 G 1.048(iltin under).2 F F2(SHELL)3.549 E -.09(BU)108 208.8 S(IL) +.09 E .479(TIN COMMANDS)-.828 F F0(belo)2.729 E .479 (w\) are not inherited unless the function has been gi)-.25 F -.15(ve) --.25 G 2.979(nt).15 G(he)-2.979 E F2(trace)2.979 E F0(attrib)2.979 E -.479(ute \(see)-.2 F .421(the description of the)108 120 R F1(declar) +-.25 G 2.978(nt).15 G(he)-2.978 E F4(trace)2.978 E F0(attrib)2.978 E +.478(ute \(see)-.2 F .42(the description of the)108 220.8 R F2(declar) 2.92 E(e)-.162 E F0 -.2(bu)2.67 G .42(iltin belo).2 F .42(w\) or the) --.25 F F2 .42(\255o functrace)2.92 F F0 .42 -(shell option has been enabled with the)2.92 F F2(set)2.92 E F0 -.2(bu) -108 132 S .071(iltin \(in which case all functions inherit the).2 F F2 -(DEB)2.572 E(UG)-.1 E F0(and)2.572 E F2(RETURN)2.572 E F0 .072 -(traps\), and the)2.572 F F1(ERR)2.572 E F0 .072(trap is not inher)2.322 -F(-)-.2 E(ited unless the)108 144 Q F2(\255o errtrace)2.5 E F0 -(shell option has been enabled.)2.5 E -1.11(Va)108 160.8 S .656 -(riables local to the function may be declared with the)1.11 F F2(local) -3.155 E F0 -.2(bu)3.155 G .655(iltin command.).2 F(Ordinarily)5.655 E -3.155(,v)-.65 G .655(ariables and)-3.405 F(their v)108 172.8 Q +-.25 F F4 .42(\255o functrace)2.92 F F0 .42 +(shell option has been enabled with the)2.92 F F4(set)2.921 E F0 -.2(bu) +108 232.8 S .072(iltin \(in which case all functions inherit the).2 F F4 +(DEB)2.572 E(UG)-.1 E F0(and)2.572 E F4(RETURN)2.572 E F0 .072 +(traps\), and the)2.572 F F2(ERR)2.571 E F0 .071(trap is not inher)2.321 +F(-)-.2 E(ited unless the)108 244.8 Q F4(\255o errtrace)2.5 E F0 +(shell option has been enabled.)2.5 E -1.11(Va)108 261.6 S .655 +(riables local to the function may be declared with the)1.11 F F4(local) +3.155 E F0 -.2(bu)3.156 G .656(iltin command.).2 F(Ordinarily)5.656 E +3.156(,v)-.65 G .656(ariables and)-3.406 F(their v)108 273.6 Q (alues are shared between the function and its caller)-.25 E(.)-.55 E -.043(If the b)108 189.6 R .043(uiltin command)-.2 F F2 -.18(re)2.543 G -(tur).18 E(n)-.15 E F0 .043(is e)2.543 F -.15(xe)-.15 G .043 +(The)108 290.4 Q F4(FUNCNEST)3.529 E F0 -.25(va)3.529 G 1.028 +(riable, if set to a numeric v).25 F 1.028 +(alue greater than 0, de\214nes a maximum function nesting)-.25 F(le)108 +302.4 Q -.15(ve)-.25 G 2.5(l. Function).15 F(in)2.5 E -.2(vo)-.4 G +(cations that e).2 E(xceed the limit cause the entire command to abort.) +-.15 E .043(If the b)108 319.2 R .043(uiltin command)-.2 F F4 -.18(re) +2.543 G(tur).18 E(n)-.15 E F0 .043(is e)2.543 F -.15(xe)-.15 G .043 (cuted in a function, the function completes and e).15 F -.15(xe)-.15 G -.044(cution resumes with).15 F 1.012(the ne)108 201.6 R 1.012 +.044(cution resumes with).15 F 1.012(the ne)108 331.2 R 1.012 (xt command after the function call.)-.15 F(An)6.011 E 3.511(yc)-.15 G -1.011(ommand associated with the)-3.511 F F2(RETURN)3.511 E F0 1.011 -(trap is e)3.511 F -.15(xe)-.15 G(cuted).15 E .213(before e)108 213.6 R +1.011(ommand associated with the)-3.511 F F4(RETURN)3.511 E F0 1.011 +(trap is e)3.511 F -.15(xe)-.15 G(cuted).15 E .213(before e)108 343.2 R -.15(xe)-.15 G .213(cution resumes.).15 F .213 (When a function completes, the v)5.213 F .214 (alues of the positional parameters and the spe-)-.25 F(cial parameter) -108 225.6 Q F2(#)2.5 E F0(are restored to the v)2.5 E(alues the)-.25 E +108 355.2 Q F4(#)2.5 E F0(are restored to the v)2.5 E(alues the)-.25 E 2.5(yh)-.15 G(ad prior to the function')-2.5 E 2.5(se)-.55 G -.15(xe) -2.65 G(cution.).15 E 1.359 -(Function names and de\214nitions may be listed with the)108 242.4 R F2 -3.858 E F0 1.358(option to the)3.858 F F2(declar)3.858 E(e)-.18 E -F0(or)3.858 E F2(typeset)3.858 E F0 -.2(bu)3.858 G 1.358(iltin com-).2 F -3.39(mands. The)108 254.4 R F23.39 E F0 .89(option to)3.39 F F2 -(declar)3.39 E(e)-.18 E F0(or)3.39 E F2(typeset)3.39 E F0 .89 +(Function names and de\214nitions may be listed with the)108 372 R F4 +3.858 E F0 1.358(option to the)3.858 F F4(declar)3.858 E(e)-.18 E +F0(or)3.858 E F4(typeset)3.858 E F0 -.2(bu)3.858 G 1.358(iltin com-).2 F +3.39(mands. The)108 384 R F43.39 E F0 .89(option to)3.39 F F4 +(declar)3.39 E(e)-.18 E F0(or)3.39 E F4(typeset)3.39 E F0 .89 (will list the function names only \(and optionally the source)3.39 F -.327(\214le and line number)108 266.4 R 2.827(,i)-.4 G 2.827(ft)-2.827 G -(he)-2.827 E F2(extdeb)2.827 E(ug)-.2 E F0 .326 +.327(\214le and line number)108 396 R 2.827(,i)-.4 G 2.827(ft)-2.827 G +(he)-2.827 E F4(extdeb)2.827 E(ug)-.2 E F0 .326 (shell option is enabled\).)2.827 F .326(Functions may be e)5.326 F .326 -(xported so that subshells)-.15 F 1.297(automatically ha)108 278.4 R -1.597 -.15(ve t)-.2 H 1.297(hem de\214ned with the).15 F F23.797 E -F0 1.297(option to the)3.797 F F2(export)3.798 E F0 -.2(bu)3.798 G 3.798 +(xported so that subshells)-.15 F 1.297(automatically ha)108 408 R 1.597 +-.15(ve t)-.2 H 1.297(hem de\214ned with the).15 F F43.797 E F0 +1.297(option to the)3.797 F F4(export)3.798 E F0 -.2(bu)3.798 G 3.798 (iltin. A).2 F 1.298(function de\214nition may be)3.798 F .161 -(deleted using the)108 290.4 R F22.661 E F0 .161(option to the) -2.661 F F2(unset)2.661 E F0 -.2(bu)2.661 G 2.661(iltin. Note).2 F .16 +(deleted using the)108 420 R F42.661 E F0 .161(option to the)2.661 +F F4(unset)2.661 E F0 -.2(bu)2.661 G 2.661(iltin. Note).2 F .16 (that shell functions and v)2.661 F .16(ariables with the same name)-.25 F 1.325(may result in multiple identically-named entries in the en)108 -302.4 R 1.325(vironment passed to the shell')-.4 F 3.825(sc)-.55 G 3.825 -(hildren. Care)-3.825 F(should be tak)108 314.4 Q +432 R 1.325(vironment passed to the shell')-.4 F 3.825(sc)-.55 G 3.825 +(hildren. Care)-3.825 F(should be tak)108 444 Q (en in cases where this may cause a problem.)-.1 E -(Functions may be recursi)108 331.2 Q -.15(ve)-.25 G 5(.N).15 G 2.5(ol) +(Functions may be recursi)108 460.8 Q -.15(ve)-.25 G 5(.N).15 G 2.5(ol) -5 G(imit is imposed on the number of recursi)-2.5 E .3 -.15(ve c)-.25 H -(alls.).15 E/F3 10.95/Times-Bold@0 SF(ARITHMETIC EV)72 348 Q(ALU)-1.478 -E -1.04(AT)-.657 G(ION)1.04 E F0 2.298(The shell allo)108 360 R 2.297 -(ws arithmetic e)-.25 F 2.297(xpressions to be e)-.15 F -.25(va)-.25 G -2.297(luated, under certain circumstances \(see the).25 F F2(let)4.797 E -F0(and)4.797 E F2(declar)108 372 Q(e)-.18 E F0 -.2(bu)2.705 G .205 -(iltin commands and).2 F F2 .205(Arithmetic Expansion)2.705 F F0 2.705 +(alls.).15 E F1(ARITHMETIC EV)72 477.6 Q(ALU)-1.478 E -1.04(AT)-.657 G +(ION)1.04 E F0 2.298(The shell allo)108 489.6 R 2.297(ws arithmetic e) +-.25 F 2.297(xpressions to be e)-.15 F -.25(va)-.25 G 2.297 +(luated, under certain circumstances \(see the).25 F F4(let)4.797 E F0 +(and)4.797 E F4(declar)108 501.6 Q(e)-.18 E F0 -.2(bu)2.705 G .205 +(iltin commands and).2 F F4 .205(Arithmetic Expansion)2.705 F F0 2.705 (\). Ev)B .205(aluation is done in \214x)-.25 F .206(ed-width inte)-.15 -F .206(gers with no)-.15 F .429(check for o)108 384 R -.15(ve)-.15 G +F .206(gers with no)-.15 F .429(check for o)108 513.6 R -.15(ve)-.15 G (r\215o).15 E 1.729 -.65(w, t)-.25 H .429(hough di).65 F .428 (vision by 0 is trapped and \215agged as an error)-.25 F 5.428(.T)-.55 G .428(he operators and their prece-)-5.428 F 1.919(dence, associati)108 -396 R(vity)-.25 E 4.419(,a)-.65 G 1.919(nd v)-4.419 F 1.919 +525.6 R(vity)-.25 E 4.419(,a)-.65 G 1.919(nd v)-4.419 F 1.919 (alues are the same as in the C language.)-.25 F 1.92(The follo)6.92 F -1.92(wing list of operators is)-.25 F(grouped into le)108 408 Q -.15(ve) --.25 G(ls of equal-precedence operators.).15 E(The le)5 E -.15(ve)-.25 G -(ls are listed in order of decreasing precedence.).15 E/F4 10 -/Times-Italic@0 SF(id)108 424.8 Q F2(++)A F4(id)2.5 E F2A F0 -.25 -(va)144 436.8 S(riable post-increment and post-decrement).25 E F2(++)108 -448.8 Q F4(id)A F22.5 E F4(id)A F0 -.25(va)144 460.8 S -(riable pre-increment and pre-decrement).25 E F2 2.5108 472.8 S F0 -(unary minus and plus)19.6 E F2 2.5(!~)108 484.8 S F0 -(logical and bitwise ne)24.34 E -.05(ga)-.15 G(tion).05 E F2(**)108 -496.8 Q F0 -.15(ex)26 G(ponentiation).15 E F2 2.5(*/%)108 508.8 S F0 -(multiplication, di)10.72 E(vision, remainder)-.25 E F2 2.5<2bad>108 -520.8 S F0(addition, subtraction)19.6 E F2(<< >>)108 532.8 Q F0 -(left and right bitwise shifts)10.7 E F2(<= >= < >)108 544.8 Q F0 -(comparison)144 556.8 Q F2(== !=)108 568.8 Q F0(equality and inequality) -13.07 E F2(&)108 580.8 Q F0(bitwise AND)27.67 E F2(^)108 592.8 Q F0 -(bitwise e)32.67 E(xclusi)-.15 E .3 -.15(ve O)-.25 H(R).15 E F2(|)108 -604.8 Q F0(bitwise OR)33.8 E F2(&&)108 616.8 Q F0(logical AND)19.34 E F2 -(||)108 628.8 Q F0(logical OR)31.6 E F4 -.2(ex)108 640.8 S(pr).2 E F2(?) -A F4 -.2(ex)C(pr).2 E F2(:)A F4 -.2(ex)C(pr).2 E F0 -(conditional operator)144 652.8 Q F2 2.5(=*)108 664.8 S 2.5(=/)-2.5 G -2.5(=%)-2.5 G 2.5(=+)-2.5 G 2.5<3dad>-2.5 G 2.5(=<)-2.5 G -(<= >>= &= ^= |=)-2.5 E F0(assignment)144 676.8 Q F4 -.2(ex)108 688.8 S -(pr1).2 E F2(,)2.5 E F4 -.2(ex)2.5 G(pr2).2 E F0(comma)144 700.8 Q .68 -(Shell v)108 717.6 R .68(ariables are allo)-.25 F .68 -(wed as operands; parameter e)-.25 F .68 -(xpansion is performed before the e)-.15 F .68(xpression is e)-.15 F --.25(va)-.25 G(lu-).25 E 3.507(ated. W)108 729.6 R 1.007(ithin an e)-.4 -F 1.007(xpression, shell v)-.15 F 1.007 -(ariables may also be referenced by name without using the parameter) --.25 F(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(27)195.945 E 0 Cg -EP +1.92(wing list of operators is)-.25 F(grouped into le)108 537.6 Q -.15 +(ve)-.25 G(ls of equal-precedence operators.).15 E(The le)5 E -.15(ve) +-.25 G(ls are listed in order of decreasing precedence.).15 E/F5 10 +/Times-Italic@0 SF(id)108 554.4 Q F4(++)A F5(id)2.5 E F4A F0 -.25 +(va)144 566.4 S(riable post-increment and post-decrement).25 E F4(++)108 +578.4 Q F5(id)A F42.5 E F5(id)A F0 -.25(va)144 590.4 S +(riable pre-increment and pre-decrement).25 E F4 2.5108 602.4 S F0 +(unary minus and plus)19.6 E F4 2.5(!~)108 614.4 S F0 +(logical and bitwise ne)24.34 E -.05(ga)-.15 G(tion).05 E F4(**)108 +626.4 Q F0 -.15(ex)26 G(ponentiation).15 E F4 2.5(*/%)108 638.4 S F0 +(multiplication, di)10.72 E(vision, remainder)-.25 E F4 2.5<2bad>108 +650.4 S F0(addition, subtraction)19.6 E F4(<< >>)108 662.4 Q F0 +(left and right bitwise shifts)10.7 E F4(<= >= < >)108 674.4 Q F0 +(comparison)144 686.4 Q F4(== !=)108 698.4 Q F0(equality and inequality) +13.07 E F4(&)108 710.4 Q F0(bitwise AND)27.67 E(GNU Bash-4.1)72 768 Q +(2010 May 30)147.345 E(27)197.335 E 0 Cg EP %%Page: 28 28 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E -.15(ex)108 84 S 1.041(pansion syntax.).15 F 3.541(As)6.041 G +-.35 E/F1 10/Times-Bold@0 SF(^)108 84 Q F0(bitwise e)32.67 E(xclusi)-.15 +E .3 -.15(ve O)-.25 H(R).15 E F1(|)108 96 Q F0(bitwise OR)33.8 E F1(&&) +108 108 Q F0(logical AND)19.34 E F1(||)108 120 Q F0(logical OR)31.6 E/F2 +10/Times-Italic@0 SF -.2(ex)108 132 S(pr).2 E F1(?)A F2 -.2(ex)C(pr).2 E +F1(:)A F2 -.2(ex)C(pr).2 E F0(conditional operator)144 144 Q F1 2.5(=*) +108 156 S 2.5(=/)-2.5 G 2.5(=%)-2.5 G 2.5(=+)-2.5 G 2.5<3dad>-2.5 G 2.5 +(=<)-2.5 G(<= >>= &= ^= |=)-2.5 E F0(assignment)144 168 Q F2 -.2(ex)108 +180 S(pr1).2 E F1(,)2.5 E F2 -.2(ex)2.5 G(pr2).2 E F0(comma)144 192 Q +.68(Shell v)108 208.8 R .68(ariables are allo)-.25 F .68 +(wed as operands; parameter e)-.25 F .68 +(xpansion is performed before the e)-.15 F .68(xpression is e)-.15 F +-.25(va)-.25 G(lu-).25 E 3.507(ated. W)108 220.8 R 1.007(ithin an e)-.4 +F 1.007(xpression, shell v)-.15 F 1.007 +(ariables may also be referenced by name without using the parameter) +-.25 F -.15(ex)108 232.8 S 1.041(pansion syntax.).15 F 3.541(As)6.041 G 1.041(hell v)-3.541 F 1.041(ariable that is null or unset e)-.25 F -.25 (va)-.25 G 1.04(luates to 0 when referenced by name without).25 F 1.466 -(using the parameter e)108 96 R 1.466(xpansion syntax.)-.15 F 1.467 +(using the parameter e)108 244.8 R 1.466(xpansion syntax.)-.15 F 1.467 (The v)6.466 F 1.467(alue of a v)-.25 F 1.467(ariable is e)-.25 F -.25 (va)-.25 G 1.467(luated as an arithmetic e).25 F(xpression)-.15 E 1.39 -(when it is referenced, or when a v)108 108 R 1.389 +(when it is referenced, or when a v)108 256.8 R 1.389 (ariable which has been gi)-.25 F -.15(ve)-.25 G 3.889(nt).15 G(he) --3.889 E/F1 10/Times-Italic@0 SF(inte)3.889 E -.1(ge)-.4 G(r).1 E F0 -(attrib)3.889 E 1.389(ute using)-.2 F/F2 10/Times-Bold@0 SF(declar)3.889 -E 3.889(e-)-.18 G(i)-3.889 E F0(is)3.889 E .343(assigned a v)108 120 R -2.843(alue. A)-.25 F .343(null v)2.843 F .343(alue e)-.25 F -.25(va)-.25 -G .343(luates to 0.).25 F 2.843(As)5.343 G .343(hell v)-2.843 F .343 -(ariable need not ha)-.25 F .643 -.15(ve i)-.2 H .343(ts inte).15 F .344 -(ger attrib)-.15 F .344(ute turned on)-.2 F(to be used in an e)108 132 Q -(xpression.)-.15 E 1.406 -(Constants with a leading 0 are interpreted as octal numbers.)108 148.8 -R 3.906(Al)6.406 G 1.406(eading 0x or 0X denotes he)-3.906 F(xadecimal.) --.15 E .112(Otherwise, numbers tak)108 160.8 R 2.612(et)-.1 G .112 -(he form [)-2.612 F F1(base#)A F0 .112(]n, where the optional)B F1(base) -2.612 E F0 .113(is a decimal number between 2 and 64)2.612 F .534 -(representing the arithmetic base, and)108 172.8 R F1(n)3.034 E F0 .534 -(is a number in that base.)3.034 F(If)5.533 E F1(base#)3.033 E F0 .533 +-3.889 E F2(inte)3.889 E -.1(ge)-.4 G(r).1 E F0(attrib)3.889 E 1.389 +(ute using)-.2 F F1(declar)3.889 E 3.889(e-)-.18 G(i)-3.889 E F0(is) +3.889 E .343(assigned a v)108 268.8 R 2.843(alue. A)-.25 F .343(null v) +2.843 F .343(alue e)-.25 F -.25(va)-.25 G .343(luates to 0.).25 F 2.843 +(As)5.343 G .343(hell v)-2.843 F .343(ariable need not ha)-.25 F .643 +-.15(ve i)-.2 H .343(ts inte).15 F .344(ger attrib)-.15 F .344 +(ute turned on)-.2 F(to be used in an e)108 280.8 Q(xpression.)-.15 E +1.406(Constants with a leading 0 are interpreted as octal numbers.)108 +297.6 R 3.906(Al)6.406 G 1.406(eading 0x or 0X denotes he)-3.906 F +(xadecimal.)-.15 E .112(Otherwise, numbers tak)108 309.6 R 2.612(et)-.1 +G .112(he form [)-2.612 F F2(base#)A F0 .112(]n, where the optional)B F2 +(base)2.612 E F0 .113(is a decimal number between 2 and 64)2.612 F .534 +(representing the arithmetic base, and)108 321.6 R F2(n)3.034 E F0 .534 +(is a number in that base.)3.034 F(If)5.533 E F2(base#)3.033 E F0 .533 (is omitted, then base 10 is used.)3.033 F .915 -(The digits greater than 9 are represented by the lo)108 184.8 R .916 +(The digits greater than 9 are represented by the lo)108 333.6 R .916 (wercase letters, the uppercase letters, @, and _, in that)-.25 F(order) -108 196.8 Q 5.671(.I)-.55 G(f)-5.671 E F1(base)3.171 E F0 .671 +108 345.6 Q 5.671(.I)-.55 G(f)-5.671 E F2(base)3.171 E F0 .671 (is less than or equal to 36, lo)3.171 F .67 (wercase and uppercase letters may be used interchangeably to)-.25 F -(represent numbers between 10 and 35.)108 208.8 Q .234(Operators are e) -108 225.6 R -.25(va)-.25 G .234(luated in order of precedence.).25 F +(represent numbers between 10 and 35.)108 357.6 Q .234(Operators are e) +108 374.4 R -.25(va)-.25 G .234(luated in order of precedence.).25 F (Sub-e)5.234 E .234(xpressions in parentheses are e)-.15 F -.25(va)-.25 -G .235(luated \214rst and may).25 F -.15(ove)108 237.6 S +G .235(luated \214rst and may).25 F -.15(ove)108 386.4 S (rride the precedence rules abo).15 E -.15(ve)-.15 G(.).15 E/F3 10.95 -/Times-Bold@0 SF(CONDITION)72 254.4 Q(AL EXPRESSIONS)-.219 E F0 .256 -(Conditional e)108 266.4 R .256(xpressions are used by the)-.15 F F2([[) -2.755 E F0 .255(compound command and the)2.755 F F2(test)2.755 E F0(and) -2.755 E F2([)2.755 E F0 -.2(bu)2.755 G .255(iltin commands to test).2 F -.77(\214le attrib)108 278.4 R .77 +/Times-Bold@0 SF(CONDITION)72 403.2 Q(AL EXPRESSIONS)-.219 E F0 .256 +(Conditional e)108 415.2 R .256(xpressions are used by the)-.15 F F1([[) +2.755 E F0 .255(compound command and the)2.755 F F1(test)2.755 E F0(and) +2.755 E F1([)2.755 E F0 -.2(bu)2.755 G .255(iltin commands to test).2 F +.77(\214le attrib)108 427.2 R .77 (utes and perform string and arithmetic comparisons.)-.2 F .77 (Expressions are formed from the follo)5.77 F(wing)-.25 E 1.041 -(unary or binary primaries.)108 290.4 R 1.041(If an)6.041 F(y)-.15 E F1 +(unary or binary primaries.)108 439.2 R 1.041(If an)6.041 F(y)-.15 E F2 (\214le)3.541 E F0(ar)3.541 E 1.04 -(gument to one of the primaries is of the form)-.18 F F1(/de)3.54 E -(v/fd/n)-.15 E F0 3.54(,t)C 1.04(hen \214le)-3.54 F(descriptor)108 302.4 -Q F1(n)3.788 E F0 1.289(is check)3.788 F 3.789(ed. If)-.1 F(the)3.789 E -F1(\214le)3.789 E F0(ar)3.789 E 1.289 -(gument to one of the primaries is one of)-.18 F F1(/de)3.789 E(v/stdin) --.15 E F0(,)A F1(/de)3.789 E(v/stdout)-.15 E F0 3.789(,o)C(r)-3.789 E F1 -(/de)108 314.4 Q(v/stderr)-.15 E F0 2.5<2c8c>C +(gument to one of the primaries is of the form)-.18 F F2(/de)3.54 E +(v/fd/n)-.15 E F0 3.54(,t)C 1.04(hen \214le)-3.54 F(descriptor)108 451.2 +Q F2(n)3.788 E F0 1.289(is check)3.788 F 3.789(ed. If)-.1 F(the)3.789 E +F2(\214le)3.789 E F0(ar)3.789 E 1.289 +(gument to one of the primaries is one of)-.18 F F2(/de)3.789 E(v/stdin) +-.15 E F0(,)A F2(/de)3.789 E(v/stdout)-.15 E F0 3.789(,o)C(r)-3.789 E F2 +(/de)108 463.2 Q(v/stderr)-.15 E F0 2.5<2c8c>C (le descriptor 0, 1, or 2, respecti)-2.5 E -.15(ve)-.25 G(ly).15 E 2.5 (,i)-.65 G 2.5(sc)-2.5 G(heck)-2.5 E(ed.)-.1 E .722 (Unless otherwise speci\214ed, primaries that operate on \214les follo) -108 331.2 R 3.221(ws)-.25 G .721(ymbolic links and operate on the tar) --3.221 F(get)-.18 E(of the link, rather than the link itself.)108 343.2 -Q(When used with)108 361.2 Q F2([[)2.5 E F0 2.5(,T)C(he)-2.5 E F2(<)2.5 -E F0(and)2.5 E F2(>)2.5 E F0(operators sort le)2.5 E -(xicographically using the current locale.)-.15 E F2108 385.2 Q F1 -(\214le)2.5 E F0 -.35(Tr)10.58 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex) -2.5 G(ists.).15 E F2108 397.2 Q F1(\214le)2.5 E F0 -.35(Tr)10.02 G -(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G -(ists and is a block special \214le.).15 E F2108 409.2 Q F1 -(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex) -2.5 G(ists and is a character special \214le.).15 E F2108 421.2 Q -F1(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E F0 -.15 -(ex)2.5 G(ists and is a directory).15 E(.)-.65 E F2108 433.2 Q F1 -(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex) -2.5 G(ists.).15 E F2108 445.2 Q F1(\214le)2.5 E F0 -.35(Tr)12.25 G -(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is a re).15 E -(gular \214le.)-.15 E F2108 457.2 Q F1(\214le)2.5 E F0 -.35(Tr) -10.58 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G -(ists and is set-group-id.).15 E F2108 469.2 Q F1(\214le)2.5 E F0 --.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G -(ists and is a symbolic link.).15 E F2108 481.2 Q F1(\214le)2.5 E -F0 -.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G +108 480 R 3.221(ws)-.25 G .721(ymbolic links and operate on the tar) +-3.221 F(get)-.18 E(of the link, rather than the link itself.)108 492 Q +(When used with)108 510 Q F1([[)2.5 E F0 2.5(,T)C(he)-2.5 E F1(<)2.5 E +F0(and)2.5 E F1(>)2.5 E F0(operators sort le)2.5 E +(xicographically using the current locale.)-.15 E F1108 534 Q F2 +(\214le)2.5 E F0 -.35(Tr)10.58 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex) +2.5 G(ists.).15 E F1108 546 Q F2(\214le)2.5 E F0 -.35(Tr)10.02 G +(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G +(ists and is a block special \214le.).15 E F1108 558 Q F2(\214le) +2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G +(ists and is a character special \214le.).15 E F1108 570 Q F2 +(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex) +2.5 G(ists and is a directory).15 E(.)-.65 E F1108 582 Q F2 +(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex) +2.5 G(ists.).15 E F1108 594 Q F2(\214le)2.5 E F0 -.35(Tr)12.25 G +(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is a re).15 E +(gular \214le.)-.15 E F1108 606 Q F2(\214le)2.5 E F0 -.35(Tr)10.58 +G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G +(ists and is set-group-id.).15 E F1108 618 Q F2(\214le)2.5 E F0 +-.35(Tr)10.02 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G +(ists and is a symbolic link.).15 E F1108 630 Q F2(\214le)2.5 E F0 +-.35(Tr)10.02 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G (ists and its `).15 E(`stick)-.74 E(y')-.15 E 2.5('b)-.74 G(it is set.) --2.5 E F2108 493.2 Q F1(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 -E F1(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is a named pipe \(FIFO\).) -.15 E F2108 505.2 Q F1(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E -F1(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is readable.).15 E F2108 -517.2 Q F1(\214le)2.5 E F0 -.35(Tr)11.69 G(ue if).35 E F1(\214le)2.5 E -F0 -.15(ex)2.5 G(ists and has a size greater than zero.).15 E F2 -108 529.2 Q F1(fd)2.5 E F0 -.35(Tr)16.69 G(ue if \214le descriptor).35 E -F1(fd)4.47 E F0(is open and refers to a terminal.)3.27 E F2108 -541.2 Q F1(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E -F0 -.15(ex)2.5 G(ists and its set-user).15 E(-id bit is set.)-.2 E F2 -108 553.2 Q F1(\214le)2.5 E F0 -.35(Tr)8.36 G(ue if).35 E F1 -(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is writable.).15 E F2108 -565.2 Q F1(\214le)2.5 E F0 -.35(Tr)10.58 G(ue if).35 E F1(\214le)2.5 E -F0 -.15(ex)2.5 G(ists and is e).15 E -.15(xe)-.15 G(cutable.).15 E F2 -108 577.2 Q F1(\214le)2.5 E F0 -.35(Tr)7.8 G(ue if).35 E F1 -(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is o).15 E(wned by the ef)-.25 E -(fecti)-.25 E .3 -.15(ve g)-.25 H(roup id.).15 E F2108 589.2 Q F1 -(\214le)2.5 E F0 -.35(Tr)8.91 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex) -2.5 G(ists and is a symbolic link.).15 E F2108 601.2 Q F1(\214le) -2.5 E F0 -.35(Tr)8.36 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G -(ists and has been modi\214ed since it w).15 E(as last read.)-.1 E F2 -108 613.2 Q F1(\214le)2.5 E F0 -.35(Tr)7.8 G(ue if).35 E F1 -(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is o).15 E(wned by the ef)-.25 E -(fecti)-.25 E .3 -.15(ve u)-.25 H(ser id.).15 E F2108 625.2 Q F1 -(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex) -2.5 G(ists and is a sock).15 E(et.)-.1 E F1(\214le1)108 637.2 Q F2 -(\255ef)2.5 E F1(\214le2)2.5 E F0 -.35(Tr)144 649.2 S(ue if).35 E F1 -(\214le1)2.5 E F0(and)2.5 E F1(\214le2)2.5 E F0(refer to the same de)2.5 -E(vice and inode numbers.)-.25 E F1(\214le1)108 661.2 Q F02.5 E F2 -(nt)A F1(\214le2)2.5 E F0 -.35(Tr)144 673.2 S .038(ue if).35 F F1 -(\214le1)2.538 E F0 .039(is ne)2.539 F .039 -(wer \(according to modi\214cation date\) than)-.25 F F1(\214le2)2.539 E -F0 2.539(,o)C 2.539(ri)-2.539 G(f)-2.539 E F1(\214le1)2.539 E F0 -.15 -(ex)2.539 G .039(ists and).15 F F1(\214le2)2.539 E F0 .039(does not.) -2.539 F F1(\214le1)108 685.2 Q F02.5 E F2(ot)A F1(\214le2)2.5 E F0 --.35(Tr)144 697.2 S(ue if).35 E F1(\214le1)2.5 E F0(is older than)2.5 E -F1(\214le2)2.5 E F0 2.5(,o)C 2.5(ri)-2.5 G(f)-2.5 E F1(\214le2)2.5 E F0 --.15(ex)2.5 G(ists and).15 E F1(\214le1)2.5 E F0(does not.)2.5 E -(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(28)195.945 E 0 Cg EP +-2.5 E F1108 642 Q F2(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E +F2(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is a named pipe \(FIFO\).).15 +E F1108 654 Q F2(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F2 +(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is readable.).15 E F1108 +666 Q F2(\214le)2.5 E F0 -.35(Tr)11.69 G(ue if).35 E F2(\214le)2.5 E F0 +-.15(ex)2.5 G(ists and has a size greater than zero.).15 E F1108 +678 Q F2(fd)2.5 E F0 -.35(Tr)16.69 G(ue if \214le descriptor).35 E F2 +(fd)4.47 E F0(is open and refers to a terminal.)3.27 E F1108 690 Q +F2(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F2(\214le)2.5 E F0 -.15 +(ex)2.5 G(ists and its set-user).15 E(-id bit is set.)-.2 E F1108 +702 Q F2(\214le)2.5 E F0 -.35(Tr)8.36 G(ue if).35 E F2(\214le)2.5 E F0 +-.15(ex)2.5 G(ists and is writable.).15 E F1108 714 Q F2(\214le) +2.5 E F0 -.35(Tr)10.58 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G +(ists and is e).15 E -.15(xe)-.15 G(cutable.).15 E(GNU Bash-4.1)72 768 Q +(2010 May 30)147.345 E(28)197.335 E 0 Cg EP %%Page: 29 29 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF108 84 Q/F2 10/Times-Italic@0 SF -(optname)2.5 E F0 -.35(Tr)144 96 S 1.144(ue if shell option).35 F F2 -(optname)3.874 E F0 1.144(is enabled.)3.824 F 1.143 -(See the list of options under the description of the)6.144 F F1 -3.643 E F0(option to the)144 108 Q F1(set)2.5 E F0 -.2(bu)2.5 G -(iltin belo).2 E -.65(w.)-.25 G F1108 120 Q F2(string)2.5 E F0 --.35(Tr)144 132 S(ue if the length of).35 E F2(string)2.5 E F0(is zero.) -2.5 E F2(string)108 144 Q F1108 156 Q F2(string)2.5 E F0 -.35(Tr) -144 168 S(ue if the length of).35 E F2(string)2.84 E F0(is non-zero.) -2.72 E F2(string1)108 184.8 Q F1(==)2.5 E F2(string2)2.5 E(string1)108 -196.8 Q F1(=)2.5 E F2(string2)2.5 E F0 -.35(Tr)144 208.8 S -(ue if the strings are equal.).35 E F1(=)5 E F0(should be used with the) -2.5 E F1(test)2.5 E F0(command for POSIX conformance.)2.5 E F2(string1) -108 225.6 Q F1(!=)2.5 E F2(string2)2.5 E F0 -.35(Tr)144 237.6 S -(ue if the strings are not equal.).35 E F2(string1)108 254.4 Q F1(<)2.5 -E F2(string2)2.5 E F0 -.35(Tr)144 266.4 S(ue if).35 E F2(string1)2.5 E +-.35 E/F1 10/Times-Bold@0 SF108 84 Q/F2 10/Times-Italic@0 SF +(\214le)2.5 E F0 -.35(Tr)7.8 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex) +2.5 G(ists and is o).15 E(wned by the ef)-.25 E(fecti)-.25 E .3 -.15 +(ve g)-.25 H(roup id.).15 E F1108 96 Q F2(\214le)2.5 E F0 -.35(Tr) +8.91 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G +(ists and is a symbolic link.).15 E F1108 108 Q F2(\214le)2.5 E F0 +-.35(Tr)8.36 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G +(ists and has been modi\214ed since it w).15 E(as last read.)-.1 E F1 +108 120 Q F2(\214le)2.5 E F0 -.35(Tr)7.8 G(ue if).35 E F2(\214le) +2.5 E F0 -.15(ex)2.5 G(ists and is o).15 E(wned by the ef)-.25 E(fecti) +-.25 E .3 -.15(ve u)-.25 H(ser id.).15 E F1108 132 Q F2(\214le)2.5 +E F0 -.35(Tr)10.02 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G +(ists and is a sock).15 E(et.)-.1 E F2(\214le1)108 144 Q F1(\255ef)2.5 E +F2(\214le2)2.5 E F0 -.35(Tr)144 156 S(ue if).35 E F2(\214le1)2.5 E F0 +(and)2.5 E F2(\214le2)2.5 E F0(refer to the same de)2.5 E +(vice and inode numbers.)-.25 E F2(\214le1)108 168 Q F02.5 E F1(nt)A +F2(\214le2)2.5 E F0 -.35(Tr)144 180 S .038(ue if).35 F F2(\214le1)2.538 +E F0 .039(is ne)2.539 F .039 +(wer \(according to modi\214cation date\) than)-.25 F F2(\214le2)2.539 E +F0 2.539(,o)C 2.539(ri)-2.539 G(f)-2.539 E F2(\214le1)2.539 E F0 -.15 +(ex)2.539 G .039(ists and).15 F F2(\214le2)2.539 E F0 .039(does not.) +2.539 F F2(\214le1)108 192 Q F02.5 E F1(ot)A F2(\214le2)2.5 E F0 +-.35(Tr)144 204 S(ue if).35 E F2(\214le1)2.5 E F0(is older than)2.5 E F2 +(\214le2)2.5 E F0 2.5(,o)C 2.5(ri)-2.5 G(f)-2.5 E F2(\214le2)2.5 E F0 +-.15(ex)2.5 G(ists and).15 E F2(\214le1)2.5 E F0(does not.)2.5 E F1 +108 216 Q F2(optname)2.5 E F0 -.35(Tr)144 228 S .263 +(ue if the shell option).35 F F2(optname)2.992 E F0 .262(is enabled.) +2.942 F .262(See the list of options under the description of the)5.262 +F F12.762 E F0(option to the)144 240 Q F1(set)2.5 E F0 -.2(bu)2.5 +G(iltin belo).2 E -.65(w.)-.25 G F1108 252 Q F2(varname)2.5 E F0 +-.35(Tr)144 264 S(ue if the shell v).35 E(ariable)-.25 E F2(varname)2.79 +E F0(is set \(has been assigned a v)2.68 E(alue\).)-.25 E F1108 +276 Q F2(string)2.5 E F0 -.35(Tr)144 288 S(ue if the length of).35 E F2 +(string)2.5 E F0(is zero.)2.5 E F2(string)108 300 Q F1108 312 Q F2 +(string)2.5 E F0 -.35(Tr)144 324 S(ue if the length of).35 E F2(string) +2.84 E F0(is non-zero.)2.72 E F2(string1)108 340.8 Q F1(==)2.5 E F2 +(string2)2.5 E(string1)108 352.8 Q F1(=)2.5 E F2(string2)2.5 E F0 -.35 +(Tr)144 364.8 S(ue if the strings are equal.).35 E F1(=)5 E F0 +(should be used with the)2.5 E F1(test)2.5 E F0 +(command for POSIX conformance.)2.5 E F2(string1)108 381.6 Q F1(!=)2.5 E +F2(string2)2.5 E F0 -.35(Tr)144 393.6 S +(ue if the strings are not equal.).35 E F2(string1)108 410.4 Q F1(<)2.5 +E F2(string2)2.5 E F0 -.35(Tr)144 422.4 S(ue if).35 E F2(string1)2.5 E F0(sorts before)2.5 E F2(string2)2.5 E F0(le)2.5 E(xicographically)-.15 -E(.)-.65 E F2(string1)108 283.2 Q F1(>)2.5 E F2(string2)2.5 E F0 -.35 -(Tr)144 295.2 S(ue if).35 E F2(string1)2.5 E F0(sorts after)2.5 E F2 +E(.)-.65 E F2(string1)108 439.2 Q F1(>)2.5 E F2(string2)2.5 E F0 -.35 +(Tr)144 451.2 S(ue if).35 E F2(string1)2.5 E F0(sorts after)2.5 E F2 (string2)2.5 E F0(le)2.5 E(xicographically)-.15 E(.)-.65 E F2(ar)108.33 -312 Q(g1)-.37 E F1(OP)2.5 E F2(ar)2.5 E(g2)-.37 E/F3 9/Times-Bold@0 SF -(OP)144 324 Q F0 .385(is one of)2.634 F F1(\255eq)2.885 E F0(,)A F1 +468 Q(g1)-.37 E F1(OP)2.5 E F2(ar)2.5 E(g2)-.37 E/F3 9/Times-Bold@0 SF +(OP)144 480 Q F0 .385(is one of)2.634 F F1(\255eq)2.885 E F0(,)A F1 (\255ne)2.885 E F0(,)A F1(\255lt)2.885 E F0(,)A F1(\255le)2.885 E F0(,)A F1(\255gt)2.885 E F0 2.885(,o)C(r)-2.885 E F1(\255ge)2.885 E F0 5.385 (.T)C .385(hese arithmetic binary operators return true if)-5.385 F F2 (ar)2.885 E(g1)-.37 E F0 .845(is equal to, not equal to, less than, les\ -s than or equal to, greater than, or greater than or equal to)144 336 R -F2(ar)144 348 Q(g2)-.37 E F0 2.5(,r)C(especti)-2.5 E -.15(ve)-.25 G(ly) +s than or equal to, greater than, or greater than or equal to)144 492 R +F2(ar)144 504 Q(g2)-.37 E F0 2.5(,r)C(especti)-2.5 E -.15(ve)-.25 G(ly) .15 E(.)-.65 E F2(Ar)6.01 E(g1)-.37 E F0(and)2.5 E F2(ar)2.83 E(g2)-.37 E F0(may be positi)2.52 E .3 -.15(ve o)-.25 H 2.5(rn).15 G -2.25 -.15 (eg a)-2.5 H(ti).15 E .3 -.15(ve i)-.25 H(nte).15 E(gers.)-.15 E/F4 -10.95/Times-Bold@0 SF(SIMPLE COMMAND EXP)72 364.8 Q(ANSION)-.81 E F0 -.613(When a simple command is e)108 376.8 R -.15(xe)-.15 G .614 +10.95/Times-Bold@0 SF(SIMPLE COMMAND EXP)72 520.8 Q(ANSION)-.81 E F0 +.613(When a simple command is e)108 532.8 R -.15(xe)-.15 G .614 (cuted, the shell performs the follo).15 F .614(wing e)-.25 F .614 (xpansions, assignments, and redi-)-.15 F(rections, from left to right.) -108 388.8 Q 26(1. The)108 405.6 R -.1(wo)4.349 G 1.849 +108 544.8 Q 26(1. The)108 561.6 R -.1(wo)4.349 G 1.849 (rds that the parser has mark).1 F 1.848(ed as v)-.1 F 1.848 (ariable assignments \(those preceding the command)-.25 F -(name\) and redirections are sa)144 417.6 Q -.15(ve)-.2 G 2.5(df).15 G -(or later processing.)-2.5 E 26(2. The)108 434.4 R -.1(wo)3.663 G 1.163 +(name\) and redirections are sa)144 573.6 Q -.15(ve)-.2 G 2.5(df).15 G +(or later processing.)-2.5 E 26(2. The)108 590.4 R -.1(wo)3.663 G 1.163 (rds that are not v).1 F 1.164 (ariable assignments or redirections are e)-.25 F 3.664(xpanded. If)-.15 F(an)3.664 E 3.664(yw)-.15 G 1.164(ords remain)-3.764 F .776(after e)144 -446.4 R .776(xpansion, the \214rst w)-.15 F .776(ord is tak)-.1 F .775 +602.4 R .776(xpansion, the \214rst w)-.15 F .776(ord is tak)-.1 F .775 (en to be the name of the command and the remaining w)-.1 F(ords)-.1 E -(are the ar)144 458.4 Q(guments.)-.18 E 26(3. Redirections)108 475.2 R +(are the ar)144 614.4 Q(guments.)-.18 E 26(3. Redirections)108 631.2 R (are performed as described abo)2.5 E .3 -.15(ve u)-.15 H(nder).15 E F3 -(REDIRECTION)2.5 E/F5 9/Times-Roman@0 SF(.)A F0 26(4. The)108 492 R(te) +(REDIRECTION)2.5 E/F5 9/Times-Roman@0 SF(.)A F0 26(4. The)108 648 R(te) 3.216 E .717(xt after the)-.15 F F1(=)3.217 E F0 .717(in each v)3.217 F .717(ariable assignment under)-.25 F .717(goes tilde e)-.18 F .717 (xpansion, parameter e)-.15 F(xpansion,)-.15 E .34 -(command substitution, arithmetic e)144 504 R .339 +(command substitution, arithmetic e)144 660 R .339 (xpansion, and quote remo)-.15 F -.25(va)-.15 G 2.839(lb).25 G .339 -(efore being assigned to the v)-2.839 F(ari-)-.25 E(able.)144 516 Q .332 -(If no command name results, the v)108 532.8 R .332 +(efore being assigned to the v)-2.839 F(ari-)-.25 E(able.)144 672 Q .332 +(If no command name results, the v)108 688.8 R .332 (ariable assignments af)-.25 F .332(fect the current shell en)-.25 F -2.833(vironment. Otherwise,)-.4 F(the)2.833 E -.25(va)108 544.8 S .757 +2.833(vironment. Otherwise,)-.4 F(the)2.833 E -.25(va)108 700.8 S .757 (riables are added to the en).25 F .757(vironment of the e)-.4 F -.15 (xe)-.15 G .757(cuted command and do not af).15 F .757 -(fect the current shell en)-.25 F(vi-)-.4 E 3.176(ronment. If)108 556.8 +(fect the current shell en)-.25 F(vi-)-.4 E 3.176(ronment. If)108 712.8 R(an)3.176 E 3.176(yo)-.15 G 3.176(ft)-3.176 G .677 (he assignments attempts to assign a v)-3.176 F .677 (alue to a readonly v)-.25 F .677(ariable, an error occurs, and)-.25 F -(the command e)108 568.8 Q(xits with a non-zero status.)-.15 E .15 -(If no command name results, redirections are performed, b)108 585.6 R -.149(ut do not af)-.2 F .149(fect the current shell en)-.25 F 2.649 -(vironment. A)-.4 F(redirection error causes the command to e)108 597.6 -Q(xit with a non-zero status.)-.15 E 1.064 -(If there is a command name left after e)108 614.4 R 1.064(xpansion, e) +(the command e)108 724.8 Q(xits with a non-zero status.)-.15 E +(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(29)197.335 E 0 Cg EP +%%Page: 30 30 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E .15(If no command name results, redirections are performed, b)108 +84 R .149(ut do not af)-.2 F .149(fect the current shell en)-.25 F 2.649 +(vironment. A)-.4 F(redirection error causes the command to e)108 96 Q +(xit with a non-zero status.)-.15 E 1.064 +(If there is a command name left after e)108 112.8 R 1.064(xpansion, e) -.15 F -.15(xe)-.15 G 1.064(cution proceeds as described belo).15 F 4.864 -.65(w. O)-.25 H 1.064(therwise, the).65 F .069(command e)108 -626.4 R 2.569(xits. If)-.15 F .069(one of the e)2.569 F .069 +124.8 R 2.569(xits. If)-.15 F .069(one of the e)2.569 F .069 (xpansions contained a command substitution, the e)-.15 F .068 -(xit status of the command)-.15 F .466(is the e)108 638.4 R .466 +(xit status of the command)-.15 F .466(is the e)108 136.8 R .466 (xit status of the last command substitution performed.)-.15 F .467 -(If there were no command substitutions, the)5.466 F(command e)108 650.4 -Q(xits with a status of zero.)-.15 E F4(COMMAND EXECUTION)72 667.2 Q F0 -.547(After a command has been split into w)108 679.2 R .546 +(If there were no command substitutions, the)5.466 F(command e)108 148.8 +Q(xits with a status of zero.)-.15 E/F1 10.95/Times-Bold@0 SF +(COMMAND EXECUTION)72 165.6 Q F0 .547 +(After a command has been split into w)108 177.6 R .546 (ords, if it results in a simple command and an optional list of ar)-.1 -F(gu-)-.18 E(ments, the follo)108 691.2 Q(wing actions are tak)-.25 E +F(gu-)-.18 E(ments, the follo)108 189.6 Q(wing actions are tak)-.25 E (en.)-.1 E .379(If the command name contains no slashes, the shell atte\ -mpts to locate it.)108 708 R .379(If there e)5.379 F .379 -(xists a shell function by)-.15 F 1.649(that name, that function is in) -108 720 R -.2(vo)-.4 G -.1(ke).2 G 4.149(da).1 G 4.149(sd)-4.149 G 1.649 -(escribed abo)-4.149 F 1.949 -.15(ve i)-.15 H(n).15 E F3(FUNCTIONS)4.149 -E F5(.)A F0 1.648(If the name does not match a)6.149 F(GNU Bash-4.1)72 -768 Q(2010 April 17)145.955 E(29)195.945 E 0 Cg EP -%%Page: 30 30 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(function, the shell searches for it in the list of shell b)108 84 -Q 2.5(uiltins. If)-.2 F 2.5(am)2.5 G(atch is found, that b)-2.5 E +mpts to locate it.)108 206.4 R .379(If there e)5.379 F .379 +(xists a shell function by)-.15 F .246(that name, that function is in) +108 218.4 R -.2(vo)-.4 G -.1(ke).2 G 2.746(da).1 G 2.746(sd)-2.746 G +.246(escribed abo)-2.746 F .546 -.15(ve i)-.15 H(n).15 E/F2 9 +/Times-Bold@0 SF(FUNCTIONS)2.746 E/F3 9/Times-Roman@0 SF(.)A F0 .246 +(If the name does not match a func-)4.746 F +(tion, the shell searches for it in the list of shell b)108 230.4 Q 2.5 +(uiltins. If)-.2 F 2.5(am)2.5 G(atch is found, that b)-2.5 E (uiltin is in)-.2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E .309 -(If the name is neither a shell function nor a b)108 100.8 R .31 -(uiltin, and contains no slashes,)-.2 F/F1 10/Times-Bold@0 SF(bash)2.81 -E F0 .31(searches each element of)2.81 F(the)108 112.8 Q/F2 9 -/Times-Bold@0 SF -.666(PA)3.163 G(TH)-.189 E F0 .662 -(for a directory containing an e)2.913 F -.15(xe)-.15 G .662 -(cutable \214le by that name.).15 F F1(Bash)5.662 E F0 .662 -(uses a hash table to remember)3.162 F 1.914(the full pathnames of e)108 -124.8 R -.15(xe)-.15 G 1.915(cutable \214les \(see).15 F F1(hash)4.415 E -F0(under)4.415 E F2 1.915(SHELL B)4.415 F(UIL)-.09 E 1.915(TIN COMMANDS) --.828 F F0(belo)4.165 E 4.415(w\). A)-.25 F(full)4.415 E .72 -(search of the directories in)108 136.8 R F2 -.666(PA)3.22 G(TH)-.189 E -F0 .719 +(If the name is neither a shell function nor a b)108 247.2 R .31 +(uiltin, and contains no slashes,)-.2 F/F4 10/Times-Bold@0 SF(bash)2.81 +E F0 .31(searches each element of)2.81 F(the)108 259.2 Q F2 -.666(PA) +3.163 G(TH)-.189 E F0 .662(for a directory containing an e)2.913 F -.15 +(xe)-.15 G .662(cutable \214le by that name.).15 F F4(Bash)5.662 E F0 +.662(uses a hash table to remember)3.162 F 1.914 +(the full pathnames of e)108 271.2 R -.15(xe)-.15 G 1.915 +(cutable \214les \(see).15 F F4(hash)4.415 E F0(under)4.415 E F2 1.915 +(SHELL B)4.415 F(UIL)-.09 E 1.915(TIN COMMANDS)-.828 F F0(belo)4.165 E +4.415(w\). A)-.25 F(full)4.415 E .72(search of the directories in)108 +283.2 R F2 -.666(PA)3.22 G(TH)-.189 E F0 .719 (is performed only if the command is not found in the hash table.)2.97 F .719(If the)5.719 F .956(search is unsuccessful, the shell searches for\ - a de\214ned shell function named)108 148.8 R F1(command_not_f)3.456 E -(ound_han-)-.25 E(dle)108 160.8 Q F0 5.278(.I)C 2.778(ft)-5.278 G .278 + a de\214ned shell function named)108 295.2 R F4(command_not_f)3.456 E +(ound_han-)-.25 E(dle)108 307.2 Q F0 5.278(.I)C 2.778(ft)-5.278 G .278 (hat function e)-2.778 F .278(xists, it is in)-.15 F -.2(vo)-.4 G -.1 (ke).2 G 2.778(dw).1 G .277 (ith the original command and the original command')-2.778 F 2.777(sa) --.55 G -.18(rg)-2.777 G(uments).18 E .775(as its ar)108 172.8 R .775 +-.55 G -.18(rg)-2.777 G(uments).18 E .775(as its ar)108 319.2 R .775 (guments, and the function')-.18 F 3.275(se)-.55 G .775 (xit status becomes the e)-3.425 F .775(xit status of the shell.)-.15 F .776(If that function is not)5.776 F -(de\214ned, the shell prints an error message and returns an e)108 184.8 +(de\214ned, the shell prints an error message and returns an e)108 331.2 Q(xit status of 127.)-.15 E 1.089(If the search is successful, or if th\ -e command name contains one or more slashes, the shell e)108 201.6 R --.15(xe)-.15 G 1.089(cutes the).15 F .197(named program in a separate e) -108 213.6 R -.15(xe)-.15 G .197(cution en).15 F 2.698(vironment. Ar)-.4 -F .198(gument 0 is set to the name gi)-.18 F -.15(ve)-.25 G .198 -(n, and the remain-).15 F(ing ar)108 225.6 Q +e command name contains one or more slashes, the shell e)108 348 R -.15 +(xe)-.15 G 1.089(cutes the).15 F .197(named program in a separate e)108 +360 R -.15(xe)-.15 G .197(cution en).15 F 2.698(vironment. Ar)-.4 F .198 +(gument 0 is set to the name gi)-.18 F -.15(ve)-.25 G .198 +(n, and the remain-).15 F(ing ar)108 372 Q (guments to the command are set to the ar)-.18 E(guments gi)-.18 E -.15 -(ve)-.25 G(n, if an).15 E -.65(y.)-.15 G 1.809(If this e)108 242.4 R +(ve)-.25 G(n, if an).15 E -.65(y.)-.15 G 1.809(If this e)108 388.8 R -.15(xe)-.15 G 1.809(cution f).15 F 1.809 (ails because the \214le is not in e)-.1 F -.15(xe)-.15 G 1.809 (cutable format, and the \214le is not a directory).15 F 4.309(,i)-.65 G -4.309(ti)-4.309 G(s)-4.309 E .677(assumed to be a)108 254.4 R/F3 10 +4.309(ti)-4.309 G(s)-4.309 E .677(assumed to be a)108 400.8 R/F5 10 /Times-Italic@0 SF .678(shell script)3.177 F F0 3.178(,a\214)C .678 (le containing shell commands.)-3.178 F 3.178(As)5.678 G .678 (ubshell is spa)-3.178 F .678(wned to e)-.15 F -.15(xe)-.15 G .678 (cute it.).15 F(This)5.678 E .33 -(subshell reinitializes itself, so that the ef)108 266.4 R .33 +(subshell reinitializes itself, so that the ef)108 412.8 R .33 (fect is as if a ne)-.25 F 2.829(ws)-.25 G .329(hell had been in)-2.829 F -.2(vo)-.4 G -.1(ke).2 G 2.829(dt).1 G 2.829(oh)-2.829 G .329 -(andle the script, with)-2.829 F 1.219(the e)108 278.4 R 1.219 +(andle the script, with)-2.829 F 1.219(the e)108 424.8 R 1.219 (xception that the locations of commands remembered by the parent \(see) --.15 F F1(hash)3.719 E F0(belo)3.719 E 3.719(wu)-.25 G(nder)-3.719 E F2 -(SHELL)3.719 E -.09(BU)108 290.4 S(IL).09 E(TIN COMMANDS)-.828 E/F4 9 -/Times-Roman@0 SF(\))A F0(are retained by the child.)2.25 E .348 -(If the program is a \214le be)108 307.2 R .348(ginning with)-.15 F F1 -(#!)2.848 E F0 2.848(,t)C .347(he remainder of the \214rst line speci\ -\214es an interpreter for the pro-)-2.848 F 3.178(gram. The)108 319.2 R -.678(shell e)3.178 F -.15(xe)-.15 G .678(cutes the speci\214ed interpre\ -ter on operating systems that do not handle this e).15 F -.15(xe)-.15 G -(cutable).15 E 1.193(format themselv)108 331.2 R 3.693(es. The)-.15 F -(ar)3.693 E 1.193 +-.15 F F4(hash)3.719 E F0(belo)3.719 E 3.719(wu)-.25 G(nder)-3.719 E F2 +(SHELL)3.719 E -.09(BU)108 436.8 S(IL).09 E(TIN COMMANDS)-.828 E F3(\))A +F0(are retained by the child.)2.25 E .348(If the program is a \214le be) +108 453.6 R .348(ginning with)-.15 F F4(#!)2.848 E F0 2.848(,t)C .347(h\ +e remainder of the \214rst line speci\214es an interpreter for the pro-) +-2.848 F 3.178(gram. The)108 465.6 R .678(shell e)3.178 F -.15(xe)-.15 G +.678(cutes the speci\214ed interpreter on operating systems that do not\ + handle this e).15 F -.15(xe)-.15 G(cutable).15 E 1.193(format themselv) +108 477.6 R 3.693(es. The)-.15 F(ar)3.693 E 1.193 (guments to the interpreter consist of a single optional ar)-.18 F 1.192 (gument follo)-.18 F 1.192(wing the)-.25 F 1.13 -(interpreter name on the \214rst line of the program, follo)108 343.2 R +(interpreter name on the \214rst line of the program, follo)108 489.6 R 1.131(wed by the name of the program, follo)-.25 F 1.131(wed by the)-.25 -F(command ar)108 355.2 Q(guments, if an)-.18 E -.65(y.)-.15 G/F5 10.95 -/Times-Bold@0 SF(COMMAND EXECUTION ENVIR)72 372 Q(ONMENT)-.329 E F0 -(The shell has an)108 384 Q F3 -.2(ex)2.5 G(ecution en).2 E(vir)-.4 E -(onment)-.45 E F0 2.5(,w)C(hich consists of the follo)-2.5 E(wing:)-.25 -E 32.5<836f>108 400.8 S 1.406(pen \214les inherited by the shell at in) --32.5 F -.2(vo)-.4 G 1.405 -(cation, as modi\214ed by redirections supplied to the).2 F F1(exec) -3.905 E F0 -.2(bu)144 412.8 S(iltin).2 E 32.5<8374>108 429.6 S -(he current w)-32.5 E(orking directory as set by)-.1 E F1(cd)2.5 E F0(,) -A F1(pushd)2.5 E F0 2.5(,o)C(r)-2.5 E F1(popd)2.5 E F0 2.5(,o)C 2.5(ri) +F(command ar)108 501.6 Q(guments, if an)-.18 E -.65(y.)-.15 G F1 +(COMMAND EXECUTION ENVIR)72 518.4 Q(ONMENT)-.329 E F0(The shell has an) +108 530.4 Q F5 -.2(ex)2.5 G(ecution en).2 E(vir)-.4 E(onment)-.45 E F0 +2.5(,w)C(hich consists of the follo)-2.5 E(wing:)-.25 E 32.5<836f>108 +547.2 S 1.406(pen \214les inherited by the shell at in)-32.5 F -.2(vo) +-.4 G 1.405(cation, as modi\214ed by redirections supplied to the).2 F +F4(exec)3.905 E F0 -.2(bu)144 559.2 S(iltin).2 E 32.5<8374>108 576 S +(he current w)-32.5 E(orking directory as set by)-.1 E F4(cd)2.5 E F0(,) +A F4(pushd)2.5 E F0 2.5(,o)C(r)-2.5 E F4(popd)2.5 E F0 2.5(,o)C 2.5(ri) -2.5 G(nherited by the shell at in)-2.5 E -.2(vo)-.4 G(cation).2 E 32.5 -<8374>108 446.4 S(he \214le creation mode mask as set by)-32.5 E F1 +<8374>108 592.8 S(he \214le creation mode mask as set by)-32.5 E F4 (umask)2.5 E F0(or inherited from the shell')2.5 E 2.5(sp)-.55 G(arent) --2.5 E 32.5<8363>108 463.2 S(urrent traps set by)-32.5 E F1(trap)2.5 E -F0 32.5<8373>108 480 S .256(hell parameters that are set by v)-32.5 F -.256(ariable assignment or with)-.25 F F1(set)2.756 E F0 .257 +-2.5 E 32.5<8363>108 609.6 S(urrent traps set by)-32.5 E F4(trap)2.5 E +F0 32.5<8373>108 626.4 S .256(hell parameters that are set by v)-32.5 F +.256(ariable assignment or with)-.25 F F4(set)2.756 E F0 .257 (or inherited from the shell')2.756 F 2.757(sp)-.55 G(arent)-2.757 E -(in the en)144 492 Q(vironment)-.4 E 32.5<8373>108 508.8 S +(in the en)144 638.4 Q(vironment)-.4 E 32.5<8373>108 655.2 S (hell functions de\214ned during e)-32.5 E -.15(xe)-.15 G (cution or inherited from the shell').15 E 2.5(sp)-.55 G -(arent in the en)-2.5 E(vironment)-.4 E 32.5<836f>108 525.6 S +(arent in the en)-2.5 E(vironment)-.4 E 32.5<836f>108 672 S (ptions enabled at in)-32.5 E -.2(vo)-.4 G(cation \(either by def).2 E -(ault or with command-line ar)-.1 E(guments\) or by)-.18 E F1(set)2.5 E -F0 32.5<836f>108 542.4 S(ptions enabled by)-32.5 E F1(shopt)2.5 E F0 -32.5<8373>108 559.2 S(hell aliases de\214ned with)-32.5 E F1(alias)2.5 E -F0 32.5<8376>108 576 S +(ault or with command-line ar)-.1 E(guments\) or by)-.18 E F4(set)2.5 E +F0 32.5<836f>108 688.8 S(ptions enabled by)-32.5 E F4(shopt)2.5 E F0 +32.5<8373>108 705.6 S(hell aliases de\214ned with)-32.5 E F4(alias)2.5 E +F0(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(30)197.335 E 0 Cg EP +%%Page: 31 31 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E 32.5<8376>108 84 S (arious process IDs, including those of background jobs, the v)-32.75 E -(alue of)-.25 E F1($$)2.5 E F0 2.5(,a)C(nd the v)-2.5 E(alue of)-.25 E -F2(PPID)2.5 E F0 .427(When a simple command other than a b)108 592.8 R -.426(uiltin or shell function is to be e)-.2 F -.15(xe)-.15 G .426 +(alue of)-.25 E/F1 10/Times-Bold@0 SF($$)2.5 E F0 2.5(,a)C(nd the v)-2.5 +E(alue of)-.25 E/F2 9/Times-Bold@0 SF(PPID)2.5 E F0 .427 +(When a simple command other than a b)108 100.8 R .426 +(uiltin or shell function is to be e)-.2 F -.15(xe)-.15 G .426 (cuted, it is in).15 F -.2(vo)-.4 G -.1(ke).2 G 2.926(di).1 G 2.926(nas) --2.926 G(eparate)-2.926 E -.15(exe)108 604.8 S .133(cution en).15 F .133 +-2.926 G(eparate)-2.926 E -.15(exe)108 112.8 S .133(cution en).15 F .133 (vironment that consists of the follo)-.4 F 2.634(wing. Unless)-.25 F .134(otherwise noted, the v)2.634 F .134(alues are inherited from)-.25 F -(the shell.)108 616.8 Q 32.5<8374>108 633.6 S 1.056(he shell')-32.5 F +(the shell.)108 124.8 Q 32.5<8374>108 141.6 S 1.056(he shell')-32.5 F 3.556(so)-.55 G 1.056(pen \214les, plus an)-3.556 F 3.556(ym)-.15 G 1.056 (odi\214cations and additions speci\214ed by redirections to the com-) --3.556 F(mand)144 645.6 Q 32.5<8374>108 662.4 S(he current w)-32.5 E -(orking directory)-.1 E 32.5<8374>108 679.2 S -(he \214le creation mode mask)-32.5 E 32.5<8373>108 696 S .856(hell v) +-3.556 F(mand)144 153.6 Q 32.5<8374>108 170.4 S(he current w)-32.5 E +(orking directory)-.1 E 32.5<8374>108 187.2 S +(he \214le creation mode mask)-32.5 E 32.5<8373>108 204 S .856(hell v) -32.5 F .857(ariables and functions mark)-.25 F .857(ed for e)-.1 F .857 (xport, along with v)-.15 F .857(ariables e)-.25 F .857 -(xported for the command,)-.15 F(passed in the en)144 708 Q(vironment) --.4 E(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(30)195.945 E 0 Cg EP -%%Page: 31 31 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E 32.5<8374>108 84 S .307 +(xported for the command,)-.15 F(passed in the en)144 216 Q(vironment) +-.4 E 32.5<8374>108 232.8 S .307 (raps caught by the shell are reset to the v)-32.5 F .306 (alues inherited from the shell')-.25 F 2.806(sp)-.55 G .306 -(arent, and traps ignored)-2.806 F(by the shell are ignored)144 96 Q 2.5 -(Ac)108 112.8 S(ommand in)-2.5 E -.2(vo)-.4 G -.1(ke).2 G 2.5(di).1 G +(arent, and traps ignored)-2.806 F(by the shell are ignored)144 244.8 Q +2.5(Ac)108 261.6 S(ommand in)-2.5 E -.2(vo)-.4 G -.1(ke).2 G 2.5(di).1 G 2.5(nt)-2.5 G(his separate en)-2.5 E(vironment cannot af)-.4 E (fect the shell')-.25 E 2.5(se)-.55 G -.15(xe)-2.65 G(cution en).15 E (vironment.)-.4 E .577(Command substitution, commands grouped with pare\ -ntheses, and asynchronous commands are in)108 129.6 R -.2(vo)-.4 G -.1 -(ke).2 G 3.078(di).1 G(n)-3.078 E 2.745(as)108 141.6 S .245(ubshell en) +ntheses, and asynchronous commands are in)108 278.4 R -.2(vo)-.4 G -.1 +(ke).2 G 3.078(di).1 G(n)-3.078 E 2.745(as)108 290.4 S .245(ubshell en) -2.745 F .245(vironment that is a duplicate of the shell en)-.4 F .244 (vironment, e)-.4 F .244(xcept that traps caught by the shell are)-.15 F -.358(reset to the v)108 153.6 R .358 +.358(reset to the v)108 302.4 R .358 (alues that the shell inherited from its parent at in)-.25 F -.2(vo)-.4 G 2.858(cation. Builtin).2 F .359(commands that are in)2.859 F -.2(vo) --.4 G -.1(ke).2 G(d).1 E .857(as part of a pipeline are also e)108 165.6 +-.4 G -.1(ke).2 G(d).1 E .857(as part of a pipeline are also e)108 314.4 R -.15(xe)-.15 G .856(cuted in a subshell en).15 F 3.356 (vironment. Changes)-.4 F .856(made to the subshell en)3.356 F(viron-) --.4 E(ment cannot af)108 177.6 Q(fect the shell')-.25 E 2.5(se)-.55 G +-.4 E(ment cannot af)108 326.4 Q(fect the shell')-.25 E 2.5(se)-.55 G -.15(xe)-2.65 G(cution en).15 E(vironment.)-.4 E 1.376(Subshells spa)108 -194.4 R 1.376(wned to e)-.15 F -.15(xe)-.15 G 1.377 +343.2 R 1.376(wned to e)-.15 F -.15(xe)-.15 G 1.377 (cute command substitutions inherit the v).15 F 1.377(alue of the)-.25 F -/F1 10/Times-Bold@0 SF3.877 E F0 1.377(option from the parent) -3.877 F 2.5(shell. When)108 206.4 R(not in posix mode, Bash clears the) -2.5 E F12.5 E F0(option in such subshells.)2.5 E .405 -(If a command is follo)108 223.2 R .405(wed by a)-.25 F F1(&)2.905 E F0 -.404(and job control is not acti)2.905 F -.15(ve)-.25 G 2.904(,t).15 G -.404(he def)-2.904 F .404(ault standard input for the command)-.1 F .197 -(is the empty \214le)108 235.2 R/F2 10/Times-Italic@0 SF(/de)2.697 E -(v/null)-.15 E F0 5.197(.O)C .197(therwise, the in)-5.197 F -.2(vo)-.4 G --.1(ke).2 G 2.697(dc).1 G .198 -(ommand inherits the \214le descriptors of the calling shell)-2.697 F -(as modi\214ed by redirections.)108 247.2 Q/F3 10.95/Times-Bold@0 SF -(ENVIR)72 264 Q(ONMENT)-.329 E F0 2.354(When a program is in)108 276 R --.2(vo)-.4 G -.1(ke).2 G 4.853(di).1 G 4.853(ti)-4.853 G 4.853(sg)-4.853 -G -2.15 -.25(iv e)-4.853 H 4.853(na).25 G 4.853(na)-4.853 G 2.353 -(rray of strings called the)-4.853 F F2(en)4.853 E(vir)-.4 E(onment)-.45 -E F0 7.353(.T).68 G 2.353(his is a list of)-7.353 F F2(name)108 288 Q F0 -A F2(value)A F0(pairs, of the form)2.5 E F2(name)2.5 E F0(=)A F2 -(value)A F0(.).18 E 1.485(The shell pro)108 304.8 R 1.485(vides se)-.15 +F13.877 E F0 1.377(option from the parent)3.877 F 2.5(shell. When) +108 355.2 R(not in posix mode, Bash clears the)2.5 E F12.5 E F0 +(option in such subshells.)2.5 E .405(If a command is follo)108 372 R +.405(wed by a)-.25 F F1(&)2.905 E F0 .404(and job control is not acti) +2.905 F -.15(ve)-.25 G 2.904(,t).15 G .404(he def)-2.904 F .404 +(ault standard input for the command)-.1 F .197(is the empty \214le)108 +384 R/F3 10/Times-Italic@0 SF(/de)2.697 E(v/null)-.15 E F0 5.197(.O)C +.197(therwise, the in)-5.197 F -.2(vo)-.4 G -.1(ke).2 G 2.697(dc).1 G +.198(ommand inherits the \214le descriptors of the calling shell)-2.697 +F(as modi\214ed by redirections.)108 396 Q/F4 10.95/Times-Bold@0 SF +(ENVIR)72 412.8 Q(ONMENT)-.329 E F0 2.354(When a program is in)108 424.8 +R -.2(vo)-.4 G -.1(ke).2 G 4.853(di).1 G 4.853(ti)-4.853 G 4.853(sg) +-4.853 G -2.15 -.25(iv e)-4.853 H 4.853(na).25 G 4.853(na)-4.853 G 2.353 +(rray of strings called the)-4.853 F F3(en)4.853 E(vir)-.4 E(onment)-.45 +E F0 7.353(.T).68 G 2.353(his is a list of)-7.353 F F3(name)108 436.8 Q +F0A F3(value)A F0(pairs, of the form)2.5 E F3(name)2.5 E F0(=)A F3 +(value)A F0(.).18 E 1.485(The shell pro)108 453.6 R 1.485(vides se)-.15 F -.15(ve)-.25 G 1.485(ral w).15 F 1.485(ays to manipulate the en)-.1 F 3.985(vironment. On)-.4 F(in)3.985 E -.2(vo)-.4 G 1.486 -(cation, the shell scans its o).2 F(wn)-.25 E(en)108 316.8 Q .144(viron\ +(cation, the shell scans its o).2 F(wn)-.25 E(en)108 465.6 Q .144(viron\ ment and creates a parameter for each name found, automatically marking\ - it for)-.4 F F2 -.2(ex)2.643 G(port).2 E F0 .143(to child pro-)3.323 F -2.703(cesses. Ex)108 328.8 R .203(ecuted commands inherit the en)-.15 F + it for)-.4 F F3 -.2(ex)2.643 G(port).2 E F0 .143(to child pro-)3.323 F +2.703(cesses. Ex)108 477.6 R .203(ecuted commands inherit the en)-.15 F 2.703(vironment. The)-.4 F F1(export)2.703 E F0(and)2.703 E F1(declar) 2.703 E 2.703<65ad>-.18 G(x)-2.703 E F0 .203(commands allo)2.703 F 2.704 (wp)-.25 G(aram-)-2.704 E 1.153 -(eters and functions to be added to and deleted from the en)108 340.8 R +(eters and functions to be added to and deleted from the en)108 489.6 R 3.653(vironment. If)-.4 F 1.153(the v)3.653 F 1.153 -(alue of a parameter in the)-.25 F(en)108 352.8 Q .64 +(alue of a parameter in the)-.25 F(en)108 501.6 Q .64 (vironment is modi\214ed, the ne)-.4 F 3.14(wv)-.25 G .64 (alue becomes part of the en)-3.39 F .64(vironment, replacing the old.) --.4 F .64(The en)5.64 F(viron-)-.4 E .58(ment inherited by an)108 364.8 +-.4 F .64(The en)5.64 F(viron-)-.4 E .58(ment inherited by an)108 513.6 R 3.08(ye)-.15 G -.15(xe)-3.23 G .58 (cuted command consists of the shell').15 F 3.08(si)-.55 G .58 (nitial en)-3.08 F .58(vironment, whose v)-.4 F .58(alues may be)-.25 F -.3(modi\214ed in the shell, less an)108 376.8 R 2.8(yp)-.15 G .3 +.3(modi\214ed in the shell, less an)108 525.6 R 2.8(yp)-.15 G .3 (airs remo)-2.8 F -.15(ve)-.15 G 2.8(db).15 G 2.801(yt)-2.8 G(he)-2.801 E F1(unset)2.801 E F0 .301(command, plus an)2.801 F 2.801(ya)-.15 G .301 (dditions via the)-2.801 F F1(export)2.801 E F0(and)2.801 E F1(declar) -108 388.8 Q 2.5<65ad>-.18 G(x)-2.5 E F0(commands.)2.5 E .563(The en)108 -405.6 R .563(vironment for an)-.4 F(y)-.15 E F2 .563(simple command) +108 537.6 Q 2.5<65ad>-.18 G(x)-2.5 E F0(commands.)2.5 E .563(The en)108 +554.4 R .563(vironment for an)-.4 F(y)-.15 E F3 .563(simple command) 3.403 F F0 .562 (or function may be augmented temporarily by pre\214xing it with)3.833 F -.202(parameter assignments, as described abo)108 417.6 R .502 -.15(ve i) --.15 H(n).15 E/F4 9/Times-Bold@0 SF -.666(PA)2.702 G(RAMETERS).666 E/F5 -9/Times-Roman@0 SF(.)A F0 .202(These assignment statements af)4.702 F -.203(fect only the)-.25 F(en)108 429.6 Q -(vironment seen by that command.)-.4 E .81(If the)108 446.4 R F1 -3.31 E F0 .81(option is set \(see the)3.31 F F1(set)3.31 E F0 -.2(bu) -3.31 G .81(iltin command belo).2 F .81(w\), then)-.25 F F2(all)3.64 E F0 -.81(parameter assignments are placed in)3.82 F(the en)108 458.4 Q +.202(parameter assignments, as described abo)108 566.4 R .502 -.15(ve i) +-.15 H(n).15 E F2 -.666(PA)2.702 G(RAMETERS).666 E/F5 9/Times-Roman@0 SF +(.)A F0 .202(These assignment statements af)4.702 F .203(fect only the) +-.25 F(en)108 578.4 Q(vironment seen by that command.)-.4 E .81(If the) +108 595.2 R F13.31 E F0 .81(option is set \(see the)3.31 F F1(set) +3.31 E F0 -.2(bu)3.31 G .81(iltin command belo).2 F .81(w\), then)-.25 F +F3(all)3.64 E F0 .81(parameter assignments are placed in)3.82 F(the en) +108 607.2 Q (vironment for a command, not just those that precede the command name.) --.4 E(When)108 475.2 Q F1(bash)3.396 E F0(in)3.396 E -.2(vo)-.4 G -.1 -(ke).2 G 3.396(sa).1 G 3.397(ne)-3.396 G .897(xternal command, the v) --3.547 F(ariable)-.25 E F1(_)3.397 E F0 .897 +-.4 E(When)108 624 Q F1(bash)3.396 E F0(in)3.396 E -.2(vo)-.4 G -.1(ke) +.2 G 3.396(sa).1 G 3.397(ne)-3.396 G .897(xternal command, the v)-3.547 +F(ariable)-.25 E F1(_)3.397 E F0 .897 (is set to the full \214le name of the command and)3.397 F -(passed to that command in its en)108 487.2 Q(vironment.)-.4 E F3 -(EXIT ST)72 504 Q -1.04(AT)-.986 G(US)1.04 E F0 .151(The e)108 516 R -.151(xit status of an e)-.15 F -.15(xe)-.15 G .151 -(cuted command is the v).15 F .15(alue returned by the)-.25 F F2 -(waitpid)2.65 E F0 .15(system call or equi)2.65 F -.25(va)-.25 G .15 -(lent func-).25 F 2.847(tion. Exit)108 528 R .347(statuses f)2.847 F -.347(all between 0 and 255, though, as e)-.1 F .347(xplained belo)-.15 F +(passed to that command in its en)108 636 Q(vironment.)-.4 E F4(EXIT ST) +72 652.8 Q -1.04(AT)-.986 G(US)1.04 E F0 .151(The e)108 664.8 R .151 +(xit status of an e)-.15 F -.15(xe)-.15 G .151(cuted command is the v) +.15 F .15(alue returned by the)-.25 F F3(waitpid)2.65 E F0 .15 +(system call or equi)2.65 F -.25(va)-.25 G .15(lent func-).25 F 2.847 +(tion. Exit)108 676.8 R .347(statuses f)2.847 F .347 +(all between 0 and 255, though, as e)-.1 F .347(xplained belo)-.15 F 1.647 -.65(w, t)-.25 H .347(he shell may use v).65 F .348(alues abo)-.25 -F .648 -.15(ve 1)-.15 H(25).15 E(specially)108 540 Q 5.674(.E)-.65 G +F .648 -.15(ve 1)-.15 H(25).15 E(specially)108 688.8 Q 5.674(.E)-.65 G .674(xit statuses from shell b)-5.674 F .673 (uiltins and compound commands are also limited to this range. Under)-.2 -F(certain circumstances, the shell will use special v)108 552 Q +F(certain circumstances, the shell will use special v)108 700.8 Q (alues to indicate speci\214c f)-.25 E(ailure modes.)-.1 E -.15(Fo)108 -568.8 S 3.372(rt).15 G .872(he shell')-3.372 F 3.372(sp)-.55 G .873 +717.6 S 3.372(rt).15 G .872(he shell')-3.372 F 3.372(sp)-.55 G .873 (urposes, a command which e)-3.372 F .873(xits with a zero e)-.15 F .873 (xit status has succeeded.)-.15 F .873(An e)5.873 F .873(xit status of) --.15 F .049(zero indicates success.)108 580.8 R 2.549(An)5.049 G .049 -(on-zero e)-2.549 F .049(xit status indicates f)-.15 F 2.549 -(ailure. When)-.1 F 2.549(ac)2.549 G .048(ommand terminates on a f) --2.549 F .048(atal sig-)-.1 F(nal)108 592.8 Q F2(N)2.5 E F0(,)A F1(bash) -2.5 E F0(uses the v)2.5 E(alue of 128+)-.25 E F2(N)A F0(as the e)2.5 E -(xit status.)-.15 E .404 -(If a command is not found, the child process created to e)108 609.6 R +-.15 F 1.219(zero indicates success.)108 729.6 R 3.719(An)6.219 G 1.219 +(on-zero e)-3.719 F 1.219(xit status indicates f)-.15 F 3.719 +(ailure. When)-.1 F 3.718(ac)3.719 G 1.218(ommand terminates on a f) +-3.718 F(atal)-.1 E(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(31) +197.335 E 0 Cg EP +%%Page: 32 32 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E(signal)108 84 Q/F1 10/Times-Italic@0 SF(N)2.5 E F0(,)A/F2 10 +/Times-Bold@0 SF(bash)2.5 E F0(uses the v)2.5 E(alue of 128+)-.25 E F1 +(N)A F0(as the e)2.5 E(xit status.)-.15 E .404 +(If a command is not found, the child process created to e)108 100.8 R -.15(xe)-.15 G .404(cute it returns a status of 127.).15 F .405 -(If a command is)5.405 F(found b)108 621.6 Q(ut is not e)-.2 E -.15(xe) --.15 G(cutable, the return status is 126.).15 E(If a command f)108 638.4 +(If a command is)5.405 F(found b)108 112.8 Q(ut is not e)-.2 E -.15(xe) +-.15 G(cutable, the return status is 126.).15 E(If a command f)108 129.6 Q(ails because of an error during e)-.1 E (xpansion or redirection, the e)-.15 E(xit status is greater than zero.) --.15 E .081(Shell b)108 655.2 R .081 -(uiltin commands return a status of 0 \()-.2 F F2(true)A F0 2.581(\)i)C -2.581(fs)-2.581 G .08(uccessful, and non-zero \()-2.581 F F2(false)A F0 +-.15 E .081(Shell b)108 146.4 R .081 +(uiltin commands return a status of 0 \()-.2 F F1(true)A F0 2.581(\)i)C +2.581(fs)-2.581 G .08(uccessful, and non-zero \()-2.581 F F1(false)A F0 2.58(\)i)C 2.58(fa)-2.58 G 2.58(ne)-2.58 G .08(rror occurs while)-2.58 F -(the)108 667.2 Q 2.5(ye)-.15 G -.15(xe)-2.65 G 2.5(cute. All).15 F -.2 +(the)108 158.4 Q 2.5(ye)-.15 G -.15(xe)-2.65 G 2.5(cute. All).15 F -.2 (bu)2.5 G(iltins return an e).2 E -(xit status of 2 to indicate incorrect usage.)-.15 E F1(Bash)108 684 Q +(xit status of 2 to indicate incorrect usage.)-.15 E F2(Bash)108 175.2 Q F0 .201(itself returns the e)2.701 F .202 (xit status of the last command e)-.15 F -.15(xe)-.15 G .202 -(cuted, unless a syntax error occurs, in which case).15 F(it e)108 696 Q -(xits with a non-zero v)-.15 E 2.5(alue. See)-.25 F(also the)2.5 E F1 -(exit)2.5 E F0 -.2(bu)2.5 G(iltin command belo).2 E -.65(w.)-.25 G -(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(31)195.945 E 0 Cg EP -%%Page: 32 32 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10.95/Times-Bold@0 SF(SIGN)72 84 Q(ALS)-.219 E F0(When)108 96 -Q/F2 10/Times-Bold@0 SF(bash)3.183 E F0 .683(is interacti)3.183 F -.15 -(ve)-.25 G 3.183(,i).15 G 3.183(nt)-3.183 G .683(he absence of an)-3.183 -F 3.183(yt)-.15 G .683(raps, it ignores)-3.183 F/F3 9/Times-Bold@0 SF -(SIGTERM)3.183 E F0 .682(\(so that)2.933 F F2 .682(kill 0)3.182 F F0 -.682(does not kill an)3.182 F(interacti)108 108 Q .757 -.15(ve s)-.25 H -.457(hell\), and).15 F F3(SIGINT)2.957 E F0 .458 -(is caught and handled \(so that the)2.707 F F2(wait)2.958 E F0 -.2(bu) -2.958 G .458(iltin is interruptible\).).2 F .458(In all cases,)5.458 F -F2(bash)108 120 Q F0(ignores)2.5 E F3(SIGQ)2.5 E(UIT)-.09 E/F4 9 -/Times-Roman@0 SF(.)A F0(If job control is in ef)4.5 E(fect,)-.25 E F2 -(bash)2.5 E F0(ignores)2.5 E F3(SIGTTIN)2.5 E F4(,)A F3(SIGTT)2.25 E(OU) --.162 E F4(,)A F0(and)2.25 E F3(SIGTSTP)2.5 E F4(.)A F0(Non-b)108 136.8 -Q 1.065(uiltin commands run by)-.2 F F2(bash)3.565 E F0(ha)3.565 E 1.365 --.15(ve s)-.2 H 1.065(ignal handlers set to the v).15 F 1.064 -(alues inherited by the shell from its)-.25 F 3.247(parent. When)108 -148.8 R .747(job control is not in ef)3.247 F .747 -(fect, asynchronous commands ignore)-.25 F F3(SIGINT)3.248 E F0(and) -2.998 E F3(SIGQ)3.248 E(UIT)-.09 E F0 .748(in addi-)2.998 F .653 -(tion to these inherited handlers.)108 160.8 R .653 +(cuted, unless a syntax error occurs, in which case).15 F(it e)108 187.2 +Q(xits with a non-zero v)-.15 E 2.5(alue. See)-.25 F(also the)2.5 E F2 +(exit)2.5 E F0 -.2(bu)2.5 G(iltin command belo).2 E -.65(w.)-.25 G/F3 +10.95/Times-Bold@0 SF(SIGN)72 204 Q(ALS)-.219 E F0(When)108 216 Q F2 +(bash)3.183 E F0 .683(is interacti)3.183 F -.15(ve)-.25 G 3.183(,i).15 G +3.183(nt)-3.183 G .683(he absence of an)-3.183 F 3.183(yt)-.15 G .683 +(raps, it ignores)-3.183 F/F4 9/Times-Bold@0 SF(SIGTERM)3.183 E F0 .682 +(\(so that)2.933 F F2 .682(kill 0)3.182 F F0 .682(does not kill an)3.182 +F(interacti)108 228 Q .757 -.15(ve s)-.25 H .457(hell\), and).15 F F4 +(SIGINT)2.957 E F0 .458(is caught and handled \(so that the)2.707 F F2 +(wait)2.958 E F0 -.2(bu)2.958 G .458(iltin is interruptible\).).2 F .458 +(In all cases,)5.458 F F2(bash)108 240 Q F0(ignores)2.5 E F4(SIGQ)2.5 E +(UIT)-.09 E/F5 9/Times-Roman@0 SF(.)A F0(If job control is in ef)4.5 E +(fect,)-.25 E F2(bash)2.5 E F0(ignores)2.5 E F4(SIGTTIN)2.5 E F5(,)A F4 +(SIGTT)2.25 E(OU)-.162 E F5(,)A F0(and)2.25 E F4(SIGTSTP)2.5 E F5(.)A F0 +(Non-b)108 256.8 Q 1.065(uiltin commands run by)-.2 F F2(bash)3.565 E F0 +(ha)3.565 E 1.365 -.15(ve s)-.2 H 1.065(ignal handlers set to the v).15 +F 1.064(alues inherited by the shell from its)-.25 F 3.247(parent. When) +108 268.8 R .747(job control is not in ef)3.247 F .747 +(fect, asynchronous commands ignore)-.25 F F4(SIGINT)3.248 E F0(and) +2.998 E F4(SIGQ)3.248 E(UIT)-.09 E F0 .748(in addi-)2.998 F .653 +(tion to these inherited handlers.)108 280.8 R .653 (Commands run as a result of command substitution ignore the k)5.653 F --.15(ey)-.1 G(board-).15 E(generated job control signals)108 172.8 Q F3 -(SIGTTIN)2.5 E F4(,)A F3(SIGTT)2.25 E(OU)-.162 E F4(,)A F0(and)2.25 E F3 -(SIGTSTP)2.5 E F4(.)A F0 2.045(The shell e)108 189.6 R 2.045 -(xits by def)-.15 F 2.045(ault upon receipt of a)-.1 F F3(SIGHUP)4.545 E -F4(.)A F0 2.045(Before e)6.545 F 2.045(xiting, an interacti)-.15 F 2.346 --.15(ve s)-.25 H 2.046(hell resends the).15 F F3(SIGHUP)108 201.6 Q F0 +-.15(ey)-.1 G(board-).15 E(generated job control signals)108 292.8 Q F4 +(SIGTTIN)2.5 E F5(,)A F4(SIGTT)2.25 E(OU)-.162 E F5(,)A F0(and)2.25 E F4 +(SIGTSTP)2.5 E F5(.)A F0 2.045(The shell e)108 309.6 R 2.045 +(xits by def)-.15 F 2.045(ault upon receipt of a)-.1 F F4(SIGHUP)4.545 E +F5(.)A F0 2.045(Before e)6.545 F 2.045(xiting, an interacti)-.15 F 2.346 +-.15(ve s)-.25 H 2.046(hell resends the).15 F F4(SIGHUP)108 321.6 Q F0 1.005(to all jobs, running or stopped.)3.255 F 1.004 -(Stopped jobs are sent)6.005 F F3(SIGCONT)3.504 E F0 1.004 +(Stopped jobs are sent)6.005 F F4(SIGCONT)3.504 E F0 1.004 (to ensure that the)3.254 F 3.504(yr)-.15 G(ecei)-3.504 E 1.304 -.15 -(ve t)-.25 H(he).15 E F3(SIGHUP)108 213.6 Q F4(.)A F0 2.529 -.8(To p) +(ve t)-.25 H(he).15 E F4(SIGHUP)108 333.6 Q F5(.)A F0 2.529 -.8(To p) 5.429 H(re).8 E -.15(ve)-.25 G .93(nt the shell from sending the signal\ to a particular job, it should be remo).15 F -.15(ve)-.15 G 3.43(df).15 -G .93(rom the)-3.43 F 1.357(jobs table with the)108 225.6 R F2(diso) -3.857 E(wn)-.1 E F0 -.2(bu)3.857 G 1.357(iltin \(see).2 F F3 1.356 +G .93(rom the)-3.43 F 1.357(jobs table with the)108 345.6 R F2(diso) +3.857 E(wn)-.1 E F0 -.2(bu)3.857 G 1.357(iltin \(see).2 F F4 1.356 (SHELL B)3.856 F(UIL)-.09 E 1.356(TIN COMMANDS)-.828 F F0(belo)3.606 E -1.356(w\) or mark)-.25 F 1.356(ed to not recei)-.1 F -.15(ve)-.25 G F3 -(SIGHUP)108 237.6 Q F0(using)2.25 E F2(diso)2.5 E(wn \255h)-.1 E F0(.)A -.166(If the)108 254.4 R F2(huponexit)2.666 E F0 .166 +1.356(w\) or mark)-.25 F 1.356(ed to not recei)-.1 F -.15(ve)-.25 G F4 +(SIGHUP)108 357.6 Q F0(using)2.25 E F2(diso)2.5 E(wn \255h)-.1 E F0(.)A +.166(If the)108 374.4 R F2(huponexit)2.666 E F0 .166 (shell option has been set with)2.666 F F2(shopt)2.666 E F0(,)A F2(bash) -2.666 E F0 .166(sends a)2.666 F F3(SIGHUP)2.666 E F0 .166 +2.666 E F0 .166(sends a)2.666 F F4(SIGHUP)2.666 E F0 .166 (to all jobs when an interacti)2.416 F -.15(ve)-.25 G(login shell e)108 -266.4 Q(xits.)-.15 E(If)108 283.2 Q F2(bash)3.047 E F0 .547(is w)3.047 F +386.4 Q(xits.)-.15 E(If)108 403.2 Q F2(bash)3.047 E F0 .547(is w)3.047 F .546(aiting for a command to complete and recei)-.1 F -.15(ve)-.25 G 3.046(sas).15 G .546(ignal for which a trap has been set, the trap) --3.046 F .662(will not be e)108 295.2 R -.15(xe)-.15 G .662 +-3.046 F .662(will not be e)108 415.2 R -.15(xe)-.15 G .662 (cuted until the command completes.).15 F(When)5.663 E F2(bash)3.163 E F0 .663(is w)3.163 F .663(aiting for an asynchronous command)-.1 F .99 -(via the)108 307.2 R F2(wait)3.49 E F0 -.2(bu)3.49 G .99(iltin, the rec\ +(via the)108 427.2 R F2(wait)3.49 E F0 -.2(bu)3.49 G .99(iltin, the rec\ eption of a signal for which a trap has been set will cause the).2 F F2 (wait)3.49 E F0 -.2(bu)3.49 G .99(iltin to).2 F -(return immediately with an e)108 319.2 Q +(return immediately with an e)108 439.2 Q (xit status greater than 128, immediately after which the trap is e)-.15 -E -.15(xe)-.15 G(cuted.).15 E F1(JOB CONTR)72 336 Q(OL)-.329 E/F5 10 -/Times-Italic@0 SF -.25(Jo)108 348 S 4.567(bc).25 G(ontr)-4.567 E(ol) --.45 E F0 2.067(refers to the ability to selecti)5.077 F -.15(ve)-.25 G -2.067(ly stop \().15 F F5(suspend)A F0 4.567(\)t)C 2.068(he e)-4.567 F --.15(xe)-.15 G 2.068(cution of processes and continue).15 F(\()108 360 Q -F5 -.37(re)C(sume).37 E F0 3.202(\)t)C .702(heir e)-3.202 F -.15(xe)-.15 -G .702(cution at a later point.).15 F 3.202(Au)5.702 G .702 +E -.15(xe)-.15 G(cuted.).15 E F3(JOB CONTR)72 456 Q(OL)-.329 E F1 -.25 +(Jo)108 468 S 4.567(bc).25 G(ontr)-4.567 E(ol)-.45 E F0 2.067 +(refers to the ability to selecti)5.077 F -.15(ve)-.25 G 2.067 +(ly stop \().15 F F1(suspend)A F0 4.567(\)t)C 2.068(he e)-4.567 F -.15 +(xe)-.15 G 2.068(cution of processes and continue).15 F(\()108 480 Q F1 +-.37(re)C(sume).37 E F0 3.202(\)t)C .702(heir e)-3.202 F -.15(xe)-.15 G +.702(cution at a later point.).15 F 3.202(Au)5.702 G .702 (ser typically emplo)-3.202 F .702(ys this f)-.1 F .702 (acility via an interacti)-.1 F 1.001 -.15(ve i)-.25 H(nterf).15 E(ace) --.1 E(supplied jointly by the operating system k)108 372 Q(ernel')-.1 E +-.1 E(supplied jointly by the operating system k)108 492 Q(ernel')-.1 E 2.5(st)-.55 G(erminal dri)-2.5 E -.15(ve)-.25 G 2.5(ra).15 G(nd)-2.5 E -F2(bash)2.5 E F0(.)A .784(The shell associates a)108 388.8 R F5(job) +F2(bash)2.5 E F0(.)A .784(The shell associates a)108 508.8 R F1(job) 5.024 E F0 .784(with each pipeline.)3.514 F .784(It k)5.784 F .785 (eeps a table of currently e)-.1 F -.15(xe)-.15 G .785 -(cuting jobs, which may be).15 F .341(listed with the)108 400.8 R F2 +(cuting jobs, which may be).15 F .341(listed with the)108 520.8 R F2 (jobs)2.841 E F0 2.841(command. When)2.841 F F2(bash)2.841 E F0 .341 -(starts a job asynchronously \(in the)2.841 F F5(bac)2.84 E(kgr)-.2 E -(ound)-.45 E F0 .34(\), it prints a line).77 F(that looks lik)108 412.8 -Q(e:)-.1 E([1] 25647)144 429.6 Q .241(indicating that this job is job n\ +(starts a job asynchronously \(in the)2.841 F F1(bac)2.84 E(kgr)-.2 E +(ound)-.45 E F0 .34(\), it prints a line).77 F(that looks lik)108 532.8 +Q(e:)-.1 E([1] 25647)144 549.6 Q .241(indicating that this job is job n\ umber 1 and that the process ID of the last process in the pipeline ass\ -ociated)108 446.4 R .733(with this job is 25647.)108 458.4 R .732 +ociated)108 566.4 R .733(with this job is 25647.)108 578.4 R .732 (All of the processes in a single pipeline are members of the same job) -5.733 F(.)-.4 E F2(Bash)5.732 E F0(uses)3.232 E(the)108 470.4 Q F5(job) +5.733 F(.)-.4 E F2(Bash)5.732 E F0(uses)3.232 E(the)108 590.4 Q F1(job) 4.24 E F0(abstraction as the basis for job control.)2.73 E 3.062 -.8 -(To f)108 487.2 T 1.462(acilitate the implementation of the user interf) +(To f)108 607.2 T 1.462(acilitate the implementation of the user interf) .7 F 1.463(ace to job control, the operating system maintains the)-.1 F -.871(notion of a)108 499.2 R F5(curr)3.371 E .871(ent terminal pr)-.37 F +.871(notion of a)108 619.2 R F1(curr)3.371 E .871(ent terminal pr)-.37 F .871(ocess gr)-.45 F .871(oup ID)-.45 F F0 5.871(.M)C .87 (embers of this process group \(processes whose process)-5.871 F .023 (group ID is equal to the current terminal process group ID\) recei)108 -511.2 R .323 -.15(ve k)-.25 H -.15(ey).05 G .023 -(board-generated signals such as).15 F F3(SIG-)2.523 E(INT)108 523.2 Q -F4(.)A F0 1.347(These processes are said to be in the)5.847 F F5(for) -3.846 E -.4(eg)-.37 G -.45(ro).4 G(und).45 E F0(.).77 E F5(Bac)6.926 E +631.2 R .323 -.15(ve k)-.25 H -.15(ey).05 G .023 +(board-generated signals such as).15 F F4(SIG-)2.523 E(INT)108 643.2 Q +F5(.)A F0 1.347(These processes are said to be in the)5.847 F F1(for) +3.846 E -.4(eg)-.37 G -.45(ro).4 G(und).45 E F0(.).77 E F1(Bac)6.926 E (kgr)-.2 E(ound)-.45 E F0 1.346(processes are those whose process)4.616 -F .145(group ID dif)108 535.2 R .145(fers from the terminal')-.25 F .146 +F .145(group ID dif)108 655.2 R .145(fers from the terminal')-.25 F .146 (s; such processes are immune to k)-.55 F -.15(ey)-.1 G .146 (board-generated signals.).15 F .146(Only fore-)5.146 F .16 -(ground processes are allo)108 547.2 R .16(wed to read from or)-.25 F +(ground processes are allo)108 667.2 R .16(wed to read from or)-.25 F 2.66(,i)-.4 G 2.66(ft)-2.66 G .16(he user so speci\214es with)-2.66 F/F6 10/Courier@0 SF .16(stty tostop)2.66 F F0 2.66(,w)C .16(rite to the ter) --2.66 F(-)-.2 E 3.051(minal. Background)108 559.2 R .551 +-2.66 F(-)-.2 E 3.051(minal. Background)108 679.2 R .551 (processes which attempt to read from \(write to when)3.051 F F6 .551 (stty tostop)3.051 F F0 .552(is in ef)3.052 F .552(fect\) the)-.25 F -.718(terminal are sent a)108 571.2 R F3 .718(SIGTTIN \(SIGTT)3.218 F +.718(terminal are sent a)108 691.2 R F4 .718(SIGTTIN \(SIGTT)3.218 F (OU\))-.162 E F0 .718(signal by the k)2.968 F(ernel')-.1 E 3.217(st)-.55 G .717(erminal dri)-3.217 F -.15(ve)-.25 G 1.517 -.4(r, w).15 H .717 -(hich, unless caught, sus-).4 F(pends the process.)108 583.2 Q 1.087 -(If the operating system on which)108 600 R F2(bash)3.587 E F0 1.088 +(hich, unless caught, sus-).4 F(pends the process.)108 703.2 Q 1.087 +(If the operating system on which)108 720 R F2(bash)3.587 E F0 1.088 (is running supports job control,)3.588 F F2(bash)3.588 E F0 1.088 -(contains f)3.588 F 1.088(acilities to use it.)-.1 F -.8(Ty)108 612 S -.302(ping the).8 F F5(suspend)3.142 E F0 .302(character \(typically) -3.572 F F2(^Z)2.801 E F0 2.801(,C)C .301 +(contains f)3.588 F 1.088(acilities to use it.)-.1 F(GNU Bash-4.1)72 768 +Q(2010 May 30)147.345 E(32)197.335 E 0 Cg EP +%%Page: 33 33 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E -.8(Ty)108 84 S .302(ping the).8 F/F1 10/Times-Italic@0 SF +(suspend)3.142 E F0 .302(character \(typically)3.572 F/F2 10 +/Times-Bold@0 SF(^Z)2.801 E F0 2.801(,C)C .301 (ontrol-Z\) while a process is running causes that process to be)-2.801 -F 2.142(stopped and returns control to)108 624 R F2(bash)4.642 E F0 -7.142(.T)C 2.142(yping the)-7.942 F F5 2.142(delayed suspend)4.992 F F0 -2.143(character \(typically)5.413 F F2(^Y)4.643 E F0 4.643(,C)C -(ontrol-Y\))-4.643 E .021(causes the process to be stopped when it atte\ -mpts to read input from the terminal, and control to be returned)108 636 -R(to)108 648 Q F2(bash)3.392 E F0 5.892(.T)C .892 +F 2.142(stopped and returns control to)108 96 R F2(bash)4.642 E F0 7.142 +(.T)C 2.142(yping the)-7.942 F F1 2.142(delayed suspend)4.992 F F0 2.143 +(character \(typically)5.413 F F2(^Y)4.643 E F0 4.643(,C)C(ontrol-Y\)) +-4.643 E .021(causes the process to be stopped when it attempts to read\ + input from the terminal, and control to be returned)108 108 R(to)108 +120 Q F2(bash)3.392 E F0 5.892(.T)C .892 (he user may then manipulate the state of this job, using the)-5.892 F F2(bg)3.392 E F0 .892(command to continue it in the)3.392 F .895 -(background, the)108 660 R F2(fg)3.395 E F0 .895 +(background, the)108 132 R F2(fg)3.395 E F0 .895 (command to continue it in the fore)3.395 F .895(ground, or the)-.15 F F2(kill)3.395 E F0 .894(command to kill it.)3.395 F(A)5.894 E F2(^Z) -3.394 E F0(tak)3.394 E(es)-.1 E(ef)108 672 Q .948(fect immediately)-.25 +3.394 E F0(tak)3.394 E(es)-.1 E(ef)108 144 Q .948(fect immediately)-.25 F 3.448(,a)-.65 G .948(nd has the additional side ef)-3.448 F .948 (fect of causing pending output and typeahead to be dis-)-.25 F(carded.) -108 684 Q .777(There are a number of w)108 700.8 R .777 +108 156 Q .777(There are a number of w)108 172.8 R .777 (ays to refer to a job in the shell.)-.1 F .777(The character)5.777 F F2 -(%)3.277 E F0 .777(introduces a job speci\214cation)3.277 F(\()108 712.8 -Q F5(jobspec)A F0 3.457(\). Job)B(number)3.457 E F5(n)3.817 E F0 .957 +(%)3.277 E F0 .777(introduces a job speci\214cation)3.277 F(\()108 184.8 +Q F1(jobspec)A F0 3.457(\). Job)B(number)3.457 E F1(n)3.817 E F0 .957 (may be referred to as)3.697 F F2(%n)3.457 E F0 5.957(.A)C .957 (job may also be referred to using a pre\214x of the)-2.5 F .59(name us\ ed to start it, or using a substring that appears in its command line.) -108 724.8 R -.15(Fo)5.59 G 3.09(re).15 G(xample,)-3.24 E F2(%ce)3.09 E -F0 .59(refers to a)3.09 F(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E -(32)195.945 E 0 Cg EP -%%Page: 33 33 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(stopped)108 84 Q/F1 10/Times-Bold@0 SF(ce)3.463 E F0(job)3.463 E -5.963(.I)-.4 G 3.463(fap)-5.963 G .963 -(re\214x matches more than one job,)-3.463 F F1(bash)3.463 E F0 .963 -(reports an error)3.463 F 5.963(.U)-.55 G(sing)-5.963 E F1(%?ce)3.463 E +108 196.8 R -.15(Fo)5.59 G 3.09(re).15 G(xample,)-3.24 E F2(%ce)3.09 E +F0 .59(refers to a)3.09 F(stopped)108 208.8 Q F2(ce)3.463 E F0(job)3.463 +E 5.963(.I)-.4 G 3.463(fap)-5.963 G .963 +(re\214x matches more than one job,)-3.463 F F2(bash)3.463 E F0 .963 +(reports an error)3.463 F 5.963(.U)-.55 G(sing)-5.963 E F2(%?ce)3.463 E F0 3.464(,o)C 3.464(nt)-3.464 G .964(he other)-3.464 F .087 -(hand, refers to an)108 96 R 2.587(yj)-.15 G .087 -(ob containing the string)-2.587 F F1(ce)2.587 E F0 .087 +(hand, refers to an)108 220.8 R 2.587(yj)-.15 G .087 +(ob containing the string)-2.587 F F2(ce)2.587 E F0 .087 (in its command line.)2.587 F .087 -(If the substring matches more than one)5.087 F(job,)108 108 Q F1(bash) -2.518 E F0 .018(reports an error)2.518 F 5.018(.T)-.55 G .018 -(he symbols)-5.018 F F1(%%)2.518 E F0(and)2.518 E F1(%+)2.518 E F0 .018 +(If the substring matches more than one)5.087 F(job,)108 232.8 Q F2 +(bash)2.518 E F0 .018(reports an error)2.518 F 5.018(.T)-.55 G .018 +(he symbols)-5.018 F F2(%%)2.518 E F0(and)2.518 E F2(%+)2.518 E F0 .018 (refer to the shell')2.518 F 2.518(sn)-.55 G .018(otion of the)-2.518 F -/F2 10/Times-Italic@0 SF(curr)2.518 E .018(ent job)-.37 F F0 2.518(,w) -.23 G .018(hich is)-2.518 F .495(the last job stopped while it w)108 120 -R .495(as in the fore)-.1 F .495(ground or started in the background.) --.15 F(The)5.494 E F2(pr)4.244 E -.15(ev)-.37 G .494(ious job).15 F F0 -.494(may be)3.224 F .787(referenced using)108 132 R F1<25ad>3.287 E F0 -5.787(.I)C 3.287(ft)-5.787 G .787(here is only a single job,)-3.287 F F1 -(%+)3.287 E F0(and)3.287 E F1<25ad>3.287 E F0 .788 +F1(curr)2.518 E .018(ent job)-.37 F F0 2.518(,w).23 G .018(hich is) +-2.518 F .495(the last job stopped while it w)108 244.8 R .495 +(as in the fore)-.1 F .495(ground or started in the background.)-.15 F +(The)5.494 E F1(pr)4.244 E -.15(ev)-.37 G .494(ious job).15 F F0 .494 +(may be)3.224 F .787(referenced using)108 256.8 R F2<25ad>3.287 E F0 +5.787(.I)C 3.287(ft)-5.787 G .787(here is only a single job,)-3.287 F F2 +(%+)3.287 E F0(and)3.287 E F2<25ad>3.287 E F0 .788 (can both be used to refer to that job)3.287 F 5.788(.I)-.4 G(n)-5.788 E -.257(output pertaining to jobs \(e.g., the output of the)108 144 R F1 +.257(output pertaining to jobs \(e.g., the output of the)108 268.8 R F2 (jobs)2.756 E F0 .256(command\), the current job is al)2.756 F -.1(wa) --.1 G .256(ys \215agged with a).1 F F1(+)2.756 E F0(,)A .41(and the pre) -108 156 R .41(vious job with a)-.25 F F12.91 E F0 5.41(.A)C .411 +-.1 G .256(ys \215agged with a).1 F F2(+)2.756 E F0(,)A .41(and the pre) +108 280.8 R .41(vious job with a)-.25 F F22.91 E F0 5.41(.A)C .411 (single % \(with no accompan)-2.5 F .411 (ying job speci\214cation\) also refers to the cur)-.15 F(-)-.2 E -(rent job)108 168 Q(.)-.4 E .444 -(Simply naming a job can be used to bring it into the fore)108 184.8 R -(ground:)-.15 E F1(%1)2.943 E F0 .443(is a synon)2.943 F .443(ym for) --.15 F F1 -.63(``)2.943 G .443(fg %1').63 F(')-.63 E F0 2.943(,b)C +(rent job)108 292.8 Q(.)-.4 E .444 +(Simply naming a job can be used to bring it into the fore)108 309.6 R +(ground:)-.15 E F2(%1)2.943 E F0 .443(is a synon)2.943 F .443(ym for) +-.15 F F2 -.63(``)2.943 G .443(fg %1').63 F(')-.63 E F0 2.943(,b)C (ringing)-2.943 E 1.472(job 1 from the background into the fore)108 -196.8 R 3.972(ground. Similarly)-.15 F(,)-.65 E F1 -.63(``)3.973 G 1.473 +321.6 R 3.972(ground. Similarly)-.15 F(,)-.65 E F2 -.63(``)3.973 G 1.473 (%1 &').63 F(')-.63 E F0 1.473(resumes job 1 in the background,)3.973 F -(equi)108 208.8 Q -.25(va)-.25 G(lent to).25 E F1 -.63(``)2.5 G(bg %1') -.63 E(')-.63 E F0(.)A .131(The shell learns immediately whene)108 225.6 +(equi)108 333.6 Q -.25(va)-.25 G(lent to).25 E F2 -.63(``)2.5 G(bg %1') +.63 E(')-.63 E F0(.)A .131(The shell learns immediately whene)108 350.4 R -.15(ve)-.25 G 2.631(raj).15 G .131(ob changes state.)-2.631 F -(Normally)5.131 E(,)-.65 E F1(bash)2.631 E F0 -.1(wa)2.63 G .13 +(Normally)5.131 E(,)-.65 E F2(bash)2.631 E F0 -.1(wa)2.63 G .13 (its until it is about to print a).1 F .157 -(prompt before reporting changes in a job')108 237.6 R 2.657(ss)-.55 G +(prompt before reporting changes in a job')108 362.4 R 2.657(ss)-.55 G .157(tatus so as to not interrupt an)-2.657 F 2.658(yo)-.15 G .158 -(ther output.)-2.658 F .158(If the)5.158 F F12.658 E F0 .158 -(option to)2.658 F(the)108 249.6 Q F1(set)3.952 E F0 -.2(bu)3.952 G -1.452(iltin command is enabled,).2 F F1(bash)3.952 E F0 1.451 +(ther output.)-2.658 F .158(If the)5.158 F F22.658 E F0 .158 +(option to)2.658 F(the)108 374.4 Q F2(set)3.952 E F0 -.2(bu)3.952 G +1.452(iltin command is enabled,).2 F F2(bash)3.952 E F0 1.451 (reports such changes immediately)3.952 F 6.451(.A)-.65 G 1.751 -.15 (ny t)-6.451 H 1.451(rap on).15 F/F3 9/Times-Bold@0 SF(SIGCHLD)3.951 E -F0(is)3.701 E -.15(exe)108 261.6 S(cuted for each child that e).15 E -(xits.)-.15 E .032(If an attempt to e)108 278.4 R(xit)-.15 E F1(bash) +F0(is)3.701 E -.15(exe)108 386.4 S(cuted for each child that e).15 E +(xits.)-.15 E .032(If an attempt to e)108 403.2 R(xit)-.15 E F2(bash) 2.532 E F0 .032(is made while jobs are stopped \(or)2.532 F 2.533(,i)-.4 -G 2.533(ft)-2.533 G(he)-2.533 E F1(checkjobs)2.533 E F0 .033 -(shell option has been enabled)2.533 F 2.02(using the)108 290.4 R F1 +G 2.533(ft)-2.533 G(he)-2.533 E F2(checkjobs)2.533 E F0 .033 +(shell option has been enabled)2.533 F 2.02(using the)108 415.2 R F2 (shopt)4.52 E F0 -.2(bu)4.52 G 2.02 (iltin, running\), the shell prints a w).2 F 2.019 -(arning message, and, if the)-.1 F F1(checkjobs)4.519 E F0 2.019 +(arning message, and, if the)-.1 F F2(checkjobs)4.519 E F0 2.019 (option is)4.519 F .458(enabled, lists the jobs and their statuses.)108 -302.4 R(The)5.458 E F1(jobs)2.958 E F0 .459 +427.2 R(The)5.458 E F2(jobs)2.958 E F0 .459 (command may then be used to inspect their status.)2.958 F .459(If a) -5.459 F .604(second attempt to e)108 314.4 R .604 +5.459 F .604(second attempt to e)108 439.2 R .604 (xit is made without an interv)-.15 F .604 (ening command, the shell does not print another w)-.15 F(arning,)-.1 E -(and an)108 326.4 Q 2.5(ys)-.15 G(topped jobs are terminated.)-2.5 E/F4 -10.95/Times-Bold@0 SF(PR)72 343.2 Q(OMPTING)-.329 E F0 .644(When e)108 -355.2 R -.15(xe)-.15 G .644(cuting interacti).15 F -.15(ve)-.25 G(ly).15 -E(,)-.65 E F1(bash)3.144 E F0 .645(displays the primary prompt)3.145 F -F3(PS1)3.145 E F0 .645(when it is ready to read a command,)2.895 F 1.826 -(and the secondary prompt)108 367.2 R F3(PS2)4.326 E F0 1.825 -(when it needs more input to complete a command.)4.076 F F1(Bash)6.825 E +(and an)108 451.2 Q 2.5(ys)-.15 G(topped jobs are terminated.)-2.5 E/F4 +10.95/Times-Bold@0 SF(PR)72 468 Q(OMPTING)-.329 E F0 .644(When e)108 480 +R -.15(xe)-.15 G .644(cuting interacti).15 F -.15(ve)-.25 G(ly).15 E(,) +-.65 E F2(bash)3.144 E F0 .645(displays the primary prompt)3.145 F F3 +(PS1)3.145 E F0 .645(when it is ready to read a command,)2.895 F 1.826 +(and the secondary prompt)108 492 R F3(PS2)4.326 E F0 1.825 +(when it needs more input to complete a command.)4.076 F F2(Bash)6.825 E F0(allo)4.325 E 1.825(ws these)-.25 F 1.499(prompt strings to be custom\ ized by inserting a number of backslash-escaped special characters that\ - are)108 379.2 R(decoded as follo)108 391.2 Q(ws:)-.25 E F1(\\a)144 -403.2 Q F0(an ASCII bell character \(07\))28.22 E F1(\\d)144 415.2 Q F0 + are)108 504 R(decoded as follo)108 516 Q(ws:)-.25 E F2(\\a)144 528 Q F0 +(an ASCII bell character \(07\))28.22 E F2(\\d)144 540 Q F0 (the date in "W)27.66 E(eekday Month Date" format \(e.g., "T)-.8 E -(ue May 26"\))-.45 E F1(\\D{)144 427.2 Q F2(format)A F1(})A F0(the)180 -439.2 Q F2(format)3.927 E F0 1.427(is passed to)3.927 F F2(strftime) -3.927 E F0 1.427 -(\(3\) and the result is inserted into the prompt string; an)B(empty)180 -451.2 Q F2(format)2.5 E F0 +(ue May 26"\))-.45 E F2(\\D{)144 552 Q F1(format)A F2(})A F0(the)180 564 +Q F1(format)3.927 E F0 1.427(is passed to)3.927 F F1(strftime)3.927 E F0 +1.427(\(3\) and the result is inserted into the prompt string; an)B +(empty)180 576 Q F1(format)2.5 E F0 (results in a locale-speci\214c time representation.)2.5 E -(The braces are required)5 E F1(\\e)144 463.2 Q F0 -(an ASCII escape character \(033\))28.78 E F1(\\h)144 475.2 Q F0 -(the hostname up to the \214rst `.)27.66 E(')-.7 E F1(\\H)144 487.2 Q F0 -(the hostname)25.44 E F1(\\j)144 499.2 Q F0 -(the number of jobs currently managed by the shell)29.89 E F1(\\l)144 -511.2 Q F0(the basename of the shell')30.44 E 2.5(st)-.55 G(erminal de) --2.5 E(vice name)-.25 E F1(\\n)144 523.2 Q F0(ne)27.66 E(wline)-.25 E F1 -(\\r)144 535.2 Q F0(carriage return)28.78 E F1(\\s)144 547.2 Q F0 -(the name of the shell, the basename of)29.33 E F1($0)2.5 E F0 -(\(the portion follo)2.5 E(wing the \214nal slash\))-.25 E F1(\\t)144 -559.2 Q F0(the current time in 24-hour HH:MM:SS format)29.89 E F1(\\T) -144 571.2 Q F0(the current time in 12-hour HH:MM:SS format)26.55 E F1 -(\\@)144 583.2 Q F0(the current time in 12-hour am/pm format)23.92 E F1 -(\\A)144 595.2 Q F0(the current time in 24-hour HH:MM format)26 E F1 -(\\u)144 607.2 Q F0(the username of the current user)27.66 E F1(\\v)144 -619.2 Q F0(the v)28.22 E(ersion of)-.15 E F1(bash)2.5 E F0 -(\(e.g., 2.00\))2.5 E F1(\\V)144 631.2 Q F0(the release of)26 E F1(bash) -2.5 E F0 2.5(,v)C(ersion + patch le)-2.65 E -.15(ve)-.25 G 2.5(l\().15 G -(e.g., 2.00.0\))-2.5 E F1(\\w)144 643.2 Q F0 .115(the current w)26 F -.115(orking directory)-.1 F 2.615(,w)-.65 G(ith)-2.615 E F3($HOME)2.615 -E F0(abbre)2.365 E .116(viated with a tilde \(uses the v)-.25 F .116 -(alue of the)-.25 F F3(PR)180 655.2 Q(OMPT_DIR)-.27 E(TRIM)-.36 E F0 --.25(va)2.25 G(riable\)).25 E F1(\\W)144 667.2 Q F0 -(the basename of the current w)23.22 E(orking directory)-.1 E 2.5(,w) --.65 G(ith)-2.5 E F3($HOME)2.5 E F0(abbre)2.25 E(viated with a tilde) --.25 E F1(\\!)144 679.2 Q F0(the history number of this command)29.89 E -F1(\\#)144 691.2 Q F0(the command number of this command)28.22 E F1(\\$) -144 703.2 Q F0(if the ef)28.22 E(fecti)-.25 E .3 -.15(ve U)-.25 H -(ID is 0, a).15 E F1(#)2.5 E F0 2.5(,o)C(therwise a)-2.5 E F1($)2.5 E -(\\)144 715.2 Q F2(nnn)A F0 -(the character corresponding to the octal number)18.22 E F2(nnn)2.5 E F0 -(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(33)195.945 E 0 Cg EP +(The braces are required)5 E F2(\\e)144 588 Q F0 +(an ASCII escape character \(033\))28.78 E F2(\\h)144 600 Q F0 +(the hostname up to the \214rst `.)27.66 E(')-.7 E F2(\\H)144 612 Q F0 +(the hostname)25.44 E F2(\\j)144 624 Q F0 +(the number of jobs currently managed by the shell)29.89 E F2(\\l)144 +636 Q F0(the basename of the shell')30.44 E 2.5(st)-.55 G(erminal de) +-2.5 E(vice name)-.25 E F2(\\n)144 648 Q F0(ne)27.66 E(wline)-.25 E F2 +(\\r)144 660 Q F0(carriage return)28.78 E F2(\\s)144 672 Q F0 +(the name of the shell, the basename of)29.33 E F2($0)2.5 E F0 +(\(the portion follo)2.5 E(wing the \214nal slash\))-.25 E F2(\\t)144 +684 Q F0(the current time in 24-hour HH:MM:SS format)29.89 E F2(\\T)144 +696 Q F0(the current time in 12-hour HH:MM:SS format)26.55 E F2(\\@)144 +708 Q F0(the current time in 12-hour am/pm format)23.92 E(GNU Bash-4.1) +72 768 Q(2010 May 30)147.345 E(33)197.335 E 0 Cg EP %%Page: 34 34 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(\\\\)144 84 Q F0 2.5(ab)30.44 G(ackslash) --2.5 E F1(\\[)144 96 Q F0(be)29.89 E 1.257(gin a sequence of non-printi\ -ng characters, which could be used to embed a terminal)-.15 F -(control sequence into the prompt)180 108 Q F1(\\])144 120 Q F0 -(end a sequence of non-printing characters)29.89 E .119 -(The command number and the history number are usually dif)108 136.8 R -.12(ferent: the history number of a command is its)-.25 F 1.585(positio\ -n in the history list, which may include commands restored from the his\ -tory \214le \(see)108 148.8 R/F2 9/Times-Bold@0 SF(HIST)4.084 E(OR)-.162 -E(Y)-.315 E F0(belo)108 160.8 Q .541(w\), while the command number is t\ -he position in the sequence of commands e)-.25 F -.15(xe)-.15 G .541 -(cuted during the cur).15 F(-)-.2 E .546(rent shell session.)108 172.8 R +-.35 E/F1 10/Times-Bold@0 SF(\\A)144 84 Q F0 +(the current time in 24-hour HH:MM format)26 E F1(\\u)144 96 Q F0 +(the username of the current user)27.66 E F1(\\v)144 108 Q F0(the v) +28.22 E(ersion of)-.15 E F1(bash)2.5 E F0(\(e.g., 2.00\))2.5 E F1(\\V) +144 120 Q F0(the release of)26 E F1(bash)2.5 E F0 2.5(,v)C +(ersion + patch le)-2.65 E -.15(ve)-.25 G 2.5(l\().15 G(e.g., 2.00.0\)) +-2.5 E F1(\\w)144 132 Q F0 .115(the current w)26 F .115 +(orking directory)-.1 F 2.615(,w)-.65 G(ith)-2.615 E/F2 9/Times-Bold@0 +SF($HOME)2.615 E F0(abbre)2.365 E .116(viated with a tilde \(uses the v) +-.25 F .116(alue of the)-.25 F F2(PR)180 144 Q(OMPT_DIR)-.27 E(TRIM)-.36 +E F0 -.25(va)2.25 G(riable\)).25 E F1(\\W)144 156 Q F0 +(the basename of the current w)23.22 E(orking directory)-.1 E 2.5(,w) +-.65 G(ith)-2.5 E F2($HOME)2.5 E F0(abbre)2.25 E(viated with a tilde) +-.25 E F1(\\!)144 168 Q F0(the history number of this command)29.89 E F1 +(\\#)144 180 Q F0(the command number of this command)28.22 E F1(\\$)144 +192 Q F0(if the ef)28.22 E(fecti)-.25 E .3 -.15(ve U)-.25 H(ID is 0, a) +.15 E F1(#)2.5 E F0 2.5(,o)C(therwise a)-2.5 E F1($)2.5 E(\\)144 204 Q +/F3 10/Times-Italic@0 SF(nnn)A F0 +(the character corresponding to the octal number)18.22 E F3(nnn)2.5 E F1 +(\\\\)144 216 Q F0 2.5(ab)30.44 G(ackslash)-2.5 E F1(\\[)144 228 Q F0 +(be)29.89 E 1.257(gin a sequence of non-printing characters, which coul\ +d be used to embed a terminal)-.15 F(control sequence into the prompt) +180 240 Q F1(\\])144 252 Q F0(end a sequence of non-printing characters) +29.89 E .119(The command number and the history number are usually dif) +108 268.8 R .12(ferent: the history number of a command is its)-.25 F +1.585(position in the history list, which may include commands restored\ + from the history \214le \(see)108 280.8 R F2(HIST)4.084 E(OR)-.162 E(Y) +-.315 E F0(belo)108 292.8 Q .541(w\), while the command number is the p\ +osition in the sequence of commands e)-.25 F -.15(xe)-.15 G .541 +(cuted during the cur).15 F(-)-.2 E .546(rent shell session.)108 304.8 R .546(After the string is decoded, it is e)5.546 F .546 (xpanded via parameter e)-.15 F .546(xpansion, command substitu-)-.15 F -.351(tion, arithmetic e)108 184.8 R .352(xpansion, and quote remo)-.15 F +.351(tion, arithmetic e)108 316.8 R .352(xpansion, and quote remo)-.15 F -.25(va)-.15 G .352(l, subject to the v).25 F .352(alue of the)-.25 F F1 (pr)2.852 E(omptv)-.18 E(ars)-.1 E F0 .352(shell option \(see the)2.852 -F(description of the)108 196.8 Q F1(shopt)2.5 E F0(command under)2.5 E +F(description of the)108 328.8 Q F1(shopt)2.5 E F0(command under)2.5 E F2(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).) --.25 E/F3 10.95/Times-Bold@0 SF(READLINE)72 213.6 Q F0 .151 +-.25 E/F4 10.95/Times-Bold@0 SF(READLINE)72 345.6 Q F0 .151 (This is the library that handles reading input when using an interacti) -108 225.6 R .45 -.15(ve s)-.25 H .15(hell, unless the).15 F F1 -(\255\255noediting)2.65 E F0(option)2.65 E 1.208(is gi)108 237.6 R -.15 +108 357.6 R .45 -.15(ve s)-.25 H .15(hell, unless the).15 F F1 +(\255\255noediting)2.65 E F0(option)2.65 E 1.208(is gi)108 369.6 R -.15 (ve)-.25 G 3.708(na).15 G 3.708(ts)-3.708 G 1.208(hell in)-3.708 F -.2 (vo)-.4 G 3.708(cation. Line).2 F 1.208 (editing is also used when using the)3.708 F F13.709 E F0 1.209 (option to the)3.709 F F1 -.18(re)3.709 G(ad).18 E F0 -.2(bu)3.709 G -3.709(iltin. By).2 F(def)108 249.6 Q .95 +3.709(iltin. By).2 F(def)108 381.6 Q .95 (ault, the line editing commands are similar to those of emacs.)-.1 F 3.449(Av)5.949 G .949(i-style line editing interf)-3.449 F .949 -(ace is also)-.1 F -.2(av)108 261.6 S 3.35(ailable. Line)-.05 F .85 +(ace is also)-.1 F -.2(av)108 393.6 S 3.35(ailable. Line)-.05 F .85 (editing can be enabled at an)3.35 F 3.35(yt)-.15 G .85(ime using the) -3.35 F F1 .85(\255o emacs)3.35 F F0(or)3.35 E F1 .85(\255o vi)3.35 F F0 .85(options to the)3.35 F F1(set)3.35 E F0 -.2(bu)3.35 G(iltin).2 E -(\(see)108 273.6 Q F2 .763(SHELL B)3.263 F(UIL)-.09 E .763(TIN COMMANDS) +(\(see)108 405.6 Q F2 .763(SHELL B)3.263 F(UIL)-.09 E .763(TIN COMMANDS) -.828 F F0(belo)3.013 E 3.263(w\). T)-.25 F 3.263(ot)-.8 G .763(urn of) -3.263 F 3.263(fl)-.25 G .763 (ine editing after the shell is running, use the)-3.263 F F1(+o)3.262 E -(emacs)108 285.6 Q F0(or)2.5 E F1(+o vi)2.5 E F0(options to the)2.5 E F1 -(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(Readline Notation)87 302.4 Q +(emacs)108 417.6 Q F0(or)2.5 E F1(+o vi)2.5 E F0(options to the)2.5 E F1 +(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(Readline Notation)87 434.4 Q F0 .567(In this section, the emacs-style notation is used to denote k) -108 314.4 R -.15(ey)-.1 G(strok).15 E 3.068(es. Control)-.1 F -.1(ke) -3.068 G .568(ys are denoted by C\255)-.05 F/F4 10/Times-Italic@0 SF -.1 -(ke)C(y)-.2 E F0(,)A 1.153(e.g., C\255n means Control\255N.)108 326.4 R -(Similarly)6.153 E(,)-.65 E F4(meta)4.033 E F0 -.1(ke)3.913 G 1.153 -(ys are denoted by M\255)-.05 F F4 -.1(ke)C(y)-.2 E F0 3.652(,s)C 3.652 -(oM)-3.652 G 1.152(\255x means Meta\255X.)-3.652 F(\(On)6.152 E -.1(ke) -108 338.4 S .83(yboards without a)-.05 F F4(meta)3.71 E F0 -.1(ke)3.59 G -2.13 -.65(y, M)-.05 H.65 E F4(x)A F0 .83(means ESC)3.33 F F4(x)3.33 -E F0 3.33(,i)C .831(.e., press the Escape k)-3.33 F 1.131 -.15(ey t)-.1 -H .831(hen the).15 F F4(x)4.101 E F0 -.1(ke)3.861 G 4.631 -.65(y. T)-.05 -H .831(his mak).65 F(es)-.1 E .6(ESC the)108 350.4 R F4 .6(meta pr)3.1 F -(e\214x)-.37 E F0 5.6(.T)C .6(he combination M\255C\255)-5.6 F F4(x)A F0 -.599(means ESC\255Control\255)3.099 F F4(x)A F0 3.099(,o)C 3.099(rp) +108 446.4 R -.15(ey)-.1 G(strok).15 E 3.068(es. Control)-.1 F -.1(ke) +3.068 G .568(ys are denoted by C\255)-.05 F F3 -.1(ke)C(y)-.2 E F0(,)A +1.153(e.g., C\255n means Control\255N.)108 458.4 R(Similarly)6.153 E(,) +-.65 E F3(meta)4.033 E F0 -.1(ke)3.913 G 1.153(ys are denoted by M\255) +-.05 F F3 -.1(ke)C(y)-.2 E F0 3.652(,s)C 3.652(oM)-3.652 G 1.152 +(\255x means Meta\255X.)-3.652 F(\(On)6.152 E -.1(ke)108 470.4 S .83 +(yboards without a)-.05 F F3(meta)3.71 E F0 -.1(ke)3.59 G 2.13 -.65 +(y, M)-.05 H.65 E F3(x)A F0 .83(means ESC)3.33 F F3(x)3.33 E F0 3.33 +(,i)C .831(.e., press the Escape k)-3.33 F 1.131 -.15(ey t)-.1 H .831 +(hen the).15 F F3(x)4.101 E F0 -.1(ke)3.861 G 4.631 -.65(y. T)-.05 H +.831(his mak).65 F(es)-.1 E .6(ESC the)108 482.4 R F3 .6(meta pr)3.1 F +(e\214x)-.37 E F0 5.6(.T)C .6(he combination M\255C\255)-5.6 F F3(x)A F0 +.599(means ESC\255Control\255)3.099 F F3(x)A F0 3.099(,o)C 3.099(rp) -3.099 G .599(ress the Escape k)-3.099 F .899 -.15(ey t)-.1 H .599 -(hen hold).15 F(the Control k)108 362.4 Q .3 -.15(ey w)-.1 H -(hile pressing the).15 E F4(x)3.27 E F0 -.1(ke)3.03 G -.65(y.)-.05 G(\)) -.65 E .619(Readline commands may be gi)108 379.2 R -.15(ve)-.25 G 3.119 -(nn).15 G(umeric)-3.119 E F4(ar)3.119 E(guments)-.37 E F0 3.119(,w).27 G +(hen hold).15 F(the Control k)108 494.4 Q .3 -.15(ey w)-.1 H +(hile pressing the).15 E F3(x)3.27 E F0 -.1(ke)3.03 G -.65(y.)-.05 G(\)) +.65 E .619(Readline commands may be gi)108 511.2 R -.15(ve)-.25 G 3.119 +(nn).15 G(umeric)-3.119 E F3(ar)3.119 E(guments)-.37 E F0 3.119(,w).27 G .619(hich normally act as a repeat count.)-3.119 F(Sometimes,)5.62 E(ho) -108 391.2 Q(we)-.25 E -.15(ve)-.25 G 1.419 -.4(r, i).15 H 3.119(ti).4 G +108 523.2 Q(we)-.25 E -.15(ve)-.25 G 1.419 -.4(r, i).15 H 3.119(ti).4 G 3.119(st)-3.119 G .619(he sign of the ar)-3.119 F .619 (gument that is signi\214cant.)-.18 F -.15(Pa)5.619 G .619(ssing a ne) .15 F -.05(ga)-.15 G(ti).05 E .919 -.15(ve a)-.25 H -.18(rg).15 G .619 -(ument to a command that).18 F 1.018(acts in the forw)108 403.2 R 1.018 +(ument to a command that).18 F 1.018(acts in the forw)108 535.2 R 1.018 (ard direction \(e.g.,)-.1 F F1(kill\255line)3.518 E F0 3.518(\)c)C 1.018(auses that command to act in a backw)-3.518 F 1.019 -(ard direction.)-.1 F(Com-)6.019 E(mands whose beha)108 415.2 Q +(ard direction.)-.1 F(Com-)6.019 E(mands whose beha)108 547.2 Q (vior with ar)-.2 E(guments de)-.18 E(viates from this are noted belo) --.25 E -.65(w.)-.25 G .812(When a command is described as)108 432 R F4 +-.25 E -.65(w.)-.25 G .812(When a command is described as)108 564 R F3 (killing)3.311 E F0(te)3.311 E .811(xt, the te)-.15 F .811 (xt deleted is sa)-.15 F -.15(ve)-.2 G 3.311(df).15 G .811 -(or possible future retrie)-3.311 F -.25(va)-.25 G 3.311(l\().25 G F4 -(yank-)-3.311 E(ing)108 444 Q F0 2.529(\). The)B .029(killed te)2.529 F -.029(xt is sa)-.15 F -.15(ve)-.2 G 2.529(di).15 G 2.529(na)-2.529 G F4 +(or possible future retrie)-3.311 F -.25(va)-.25 G 3.311(l\().25 G F3 +(yank-)-3.311 E(ing)108 576 Q F0 2.529(\). The)B .029(killed te)2.529 F +.029(xt is sa)-.15 F -.15(ve)-.2 G 2.529(di).15 G 2.529(na)-2.529 G F3 .029(kill ring)B F0 5.029(.C)C(onsecuti)-5.029 E .329 -.15(ve k)-.25 H .029(ills cause the te).15 F .029(xt to be accumulated into one unit,) --.15 F .567(which can be yank)108 456 R .567(ed all at once.)-.1 F .567 +-.15 F .567(which can be yank)108 588 R .567(ed all at once.)-.1 F .567 (Commands which do not kill te)5.567 F .567 (xt separate the chunks of te)-.15 F .567(xt on the kill)-.15 F(ring.) -108 468 Q F1(Readline Initialization)87 484.8 Q F0 .091(Readline is cus\ -tomized by putting commands in an initialization \214le \(the)108 496.8 -R F4(inputr)2.591 E(c)-.37 E F0 2.591(\214le\). The)2.591 F .092 -(name of this \214le)2.591 F .197(is tak)108 508.8 R .196(en from the v) +108 600 Q F1(Readline Initialization)87 616.8 Q F0 .091(Readline is cus\ +tomized by putting commands in an initialization \214le \(the)108 628.8 +R F3(inputr)2.591 E(c)-.37 E F0 2.591(\214le\). The)2.591 F .092 +(name of this \214le)2.591 F .197(is tak)108 640.8 R .196(en from the v) -.1 F .196(alue of the)-.25 F F2(INPUTRC)2.696 E F0 -.25(va)2.446 G 2.696(riable. If).25 F .196(that v)2.696 F .196 -(ariable is unset, the def)-.25 F .196(ault is)-.1 F F4(~/.inputr)2.696 +(ariable is unset, the def)-.25 F .196(ault is)-.1 F F3(~/.inputr)2.696 E(c)-.37 E F0 5.196(.W).31 G .196(hen a)-5.196 F 1.034(program which us\ es the readline library starts up, the initialization \214le is read, a\ -nd the k)108 520.8 R 1.335 -.15(ey b)-.1 H 1.035(indings and).15 F -.25 -(va)108 532.8 S 1.15(riables are set.).25 F 1.15(There are only a fe) +nd the k)108 652.8 R 1.335 -.15(ey b)-.1 H 1.035(indings and).15 F -.25 +(va)108 664.8 S 1.15(riables are set.).25 F 1.15(There are only a fe) 6.15 F 3.649(wb)-.25 G 1.149(asic constructs allo)-3.649 F 1.149 (wed in the readline initialization \214le.)-.25 F(Blank)6.149 E .736 -(lines are ignored.)108 544.8 R .737(Lines be)5.737 F .737 +(lines are ignored.)108 676.8 R .737(Lines be)5.737 F .737 (ginning with a)-.15 F F1(#)3.237 E F0 .737(are comments.)3.237 F .737 (Lines be)5.737 F .737(ginning with a)-.15 F F1($)3.237 E F0 .737 -(indicate conditional)3.237 F 2.5(constructs. Other)108 556.8 R +(indicate conditional)3.237 F 2.5(constructs. Other)108 688.8 R (lines denote k)2.5 E .3 -.15(ey b)-.1 H(indings and v).15 E -(ariable settings.)-.25 E .987(The def)108 573.6 R .987(ault k)-.1 F --.15(ey)-.1 G .987(-bindings may be changed with an).15 F F4(inputr) +(ariable settings.)-.25 E .987(The def)108 705.6 R .987(ault k)-.1 F +-.15(ey)-.1 G .987(-bindings may be changed with an).15 F F3(inputr) 3.497 E(c)-.37 E F0 3.487(\214le. Other)3.797 F .987 -(programs that use this library may)3.487 F(add their o)108 585.6 Q -(wn commands and bindings.)-.25 E -.15(Fo)108 602.4 S 2.5(re).15 G -(xample, placing)-2.65 E(M\255Control\255u: uni)144 619.2 Q -.15(ve)-.25 -G(rsal\255ar).15 E(gument)-.18 E(or)108 631.2 Q(C\255Meta\255u: uni)144 -643.2 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E(into the)108 655.2 -Q F4(inputr)2.51 E(c)-.37 E F0 -.1(wo)2.81 G(uld mak).1 E 2.5(eM)-.1 G -(\255C\255u e)-2.5 E -.15(xe)-.15 G(cute the readline command).15 E F4 -(univer)2.5 E(sal\255ar)-.1 E(gument)-.37 E F0(.).68 E 1.26(The follo) -108 672 R 1.261(wing symbolic character names are recognized:)-.25 F F4 --.4(RU)3.761 G(BOUT).4 E F0(,)1.27 E F4(DEL)3.761 E F0(,).53 E F4(ESC) -3.761 E F0(,).72 E F4(LFD)3.761 E F0(,).28 E F4(NEWLINE)3.761 E F0(,).73 -E F4(RET)3.761 E F0(,)1.27 E F4(RETURN)108 684 Q F0(,)1.1 E F4(SPC)2.5 E -F0(,).72 E F4(SP)2.5 E -.3(AC)-.9 G(E).3 E F0 2.5(,a).73 G(nd)-2.5 E F4 --.5(TA)2.5 G(B).5 E F0(.).27 E .209 -(In addition to command names, readline allo)108 700.8 R .209(ws k)-.25 -F -.15(ey)-.1 G 2.709(st).15 G 2.709(ob)-2.709 G 2.709(eb)-2.709 G .209 -(ound to a string that is inserted when the k)-2.709 F .509 -.15(ey i) --.1 H(s).15 E(pressed \(a)108 712.8 Q F4(macr)2.5 E(o)-.45 E F0(\).)A -(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(34)195.945 E 0 Cg EP +(programs that use this library may)3.487 F(add their o)108 717.6 Q +(wn commands and bindings.)-.25 E(GNU Bash-4.1)72 768 Q(2010 May 30) +147.345 E(34)197.335 E 0 Cg EP %%Page: 35 35 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(Readline K)87 84 Q(ey Bindings)-.25 E F0 -.366(The syntax for controlling k)108 96 R .666 -.15(ey b)-.1 H .366 -(indings in the).15 F/F2 10/Times-Italic@0 SF(inputr)2.876 E(c)-.37 E F0 -.366(\214le is simple.)3.176 F .366 +-.35 E -.15(Fo)108 84 S 2.5(re).15 G(xample, placing)-2.65 E +(M\255Control\255u: uni)144 100.8 Q -.15(ve)-.25 G(rsal\255ar).15 E +(gument)-.18 E(or)108 112.8 Q(C\255Meta\255u: uni)144 124.8 Q -.15(ve) +-.25 G(rsal\255ar).15 E(gument)-.18 E(into the)108 136.8 Q/F1 10 +/Times-Italic@0 SF(inputr)2.51 E(c)-.37 E F0 -.1(wo)2.81 G(uld mak).1 E +2.5(eM)-.1 G(\255C\255u e)-2.5 E -.15(xe)-.15 G +(cute the readline command).15 E F1(univer)2.5 E(sal\255ar)-.1 E(gument) +-.37 E F0(.).68 E 1.26(The follo)108 153.6 R 1.261 +(wing symbolic character names are recognized:)-.25 F F1 -.4(RU)3.761 G +(BOUT).4 E F0(,)1.27 E F1(DEL)3.761 E F0(,).53 E F1(ESC)3.761 E F0(,).72 +E F1(LFD)3.761 E F0(,).28 E F1(NEWLINE)3.761 E F0(,).73 E F1(RET)3.761 E +F0(,)1.27 E F1(RETURN)108 165.6 Q F0(,)1.1 E F1(SPC)2.5 E F0(,).72 E F1 +(SP)2.5 E -.3(AC)-.9 G(E).3 E F0 2.5(,a).73 G(nd)-2.5 E F1 -.5(TA)2.5 G +(B).5 E F0(.).27 E .209(In addition to command names, readline allo)108 +182.4 R .209(ws k)-.25 F -.15(ey)-.1 G 2.709(st).15 G 2.709(ob)-2.709 G +2.709(eb)-2.709 G .209(ound to a string that is inserted when the k) +-2.709 F .509 -.15(ey i)-.1 H(s).15 E(pressed \(a)108 194.4 Q F1(macr) +2.5 E(o)-.45 E F0(\).)A/F2 10/Times-Bold@0 SF(Readline K)87 211.2 Q +(ey Bindings)-.25 E F0 .366(The syntax for controlling k)108 223.2 R +.666 -.15(ey b)-.1 H .366(indings in the).15 F F1(inputr)2.876 E(c)-.37 +E F0 .366(\214le is simple.)3.176 F .366 (All that is required is the name of the)5.366 F .383(command or the te) -108 108 R .383(xt of a macro and a k)-.15 F .683 -.15(ey s)-.1 H .383 +108 235.2 R .383(xt of a macro and a k)-.15 F .683 -.15(ey s)-.1 H .383 (equence to which it should be bound. The name may be speci-).15 F .853 -(\214ed in one of tw)108 120 R 3.353(ow)-.1 G .853(ays: as a symbolic k) --3.453 F 1.153 -.15(ey n)-.1 H .853(ame, possibly with).15 F F2 -(Meta\255)3.353 E F0(or)3.353 E F2(Contr)3.353 E(ol\255)-.45 E F0 -(pre\214x)3.353 E .853(es, or as a k)-.15 F -.15(ey)-.1 G(sequence.)108 -132 Q 1.542(When using the form)108 148.8 R F1 -.1(ke)4.042 G(yname).1 E -F0(:)A F2(function\255name).833 E F0(or)4.042 E F2(macr)4.042 E(o)-.45 E -F0(,)A F2 -.1(ke)4.042 G(yname)-.2 E F0 1.542(is the name of a k)4.222 F -1.841 -.15(ey s)-.1 H 1.541(pelled out in).15 F 2.5(English. F)108 160.8 -R(or e)-.15 E(xample:)-.15 E(Control-u: uni)144 184.8 Q -.15(ve)-.25 G -(rsal\255ar).15 E(gument)-.18 E(Meta-Rubout: backw)144 196.8 Q -(ard-kill-w)-.1 E(ord)-.1 E(Control-o: "> output")144 208.8 Q .698 -(In the abo)108 225.6 R .998 -.15(ve ex)-.15 H(ample,).15 E F2(C\255u) -3.038 E F0 .698(is bound to the function)3.448 F F1(uni)3.198 E -.1(ve) --.1 G(rsal\255ar).1 E(gument)-.1 E F0(,)A F2(M\255DEL)3.878 E F0 .698 -(is bound to the func-)3.728 F(tion)108 237.6 Q F1 -(backward\255kill\255w)2.759 E(ord)-.1 E F0 2.759(,a)C(nd)-2.759 E F2 +(\214ed in one of tw)108 247.2 R 3.353(ow)-.1 G .853 +(ays: as a symbolic k)-3.453 F 1.153 -.15(ey n)-.1 H .853 +(ame, possibly with).15 F F1(Meta\255)3.353 E F0(or)3.353 E F1(Contr) +3.353 E(ol\255)-.45 E F0(pre\214x)3.353 E .853(es, or as a k)-.15 F -.15 +(ey)-.1 G(sequence.)108 259.2 Q 1.542(When using the form)108 276 R F2 +-.1(ke)4.042 G(yname).1 E F0(:)A F1(function\255name).833 E F0(or)4.042 +E F1(macr)4.042 E(o)-.45 E F0(,)A F1 -.1(ke)4.042 G(yname)-.2 E F0 1.542 +(is the name of a k)4.222 F 1.841 -.15(ey s)-.1 H 1.541(pelled out in) +.15 F 2.5(English. F)108 288 R(or e)-.15 E(xample:)-.15 E +(Control-u: uni)144 312 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E +(Meta-Rubout: backw)144 324 Q(ard-kill-w)-.1 E(ord)-.1 E +(Control-o: "> output")144 336 Q .698(In the abo)108 352.8 R .998 -.15 +(ve ex)-.15 H(ample,).15 E F1(C\255u)3.038 E F0 .698 +(is bound to the function)3.448 F F2(uni)3.198 E -.1(ve)-.1 G +(rsal\255ar).1 E(gument)-.1 E F0(,)A F1(M\255DEL)3.878 E F0 .698 +(is bound to the func-)3.728 F(tion)108 364.8 Q F2 +(backward\255kill\255w)2.759 E(ord)-.1 E F0 2.759(,a)C(nd)-2.759 E F1 (C\255o)2.599 E F0 .258(is bound to run the macro e)2.939 F .258 (xpressed on the right hand side \(that is, to)-.15 F(insert the te)108 -249.6 Q(xt)-.15 E/F3 10/Courier@0 SF 6(>o)2.5 G(utput)-6 E F0 -(into the line\).)2.5 E .055(In the second form,)108 266.4 R F1("k)2.555 -E(eyseq")-.1 E F0(:)A F2(function\255name).833 E F0(or)2.555 E F2(macr) -2.555 E(o)-.45 E F0(,)A F1 -.1(ke)2.555 G(yseq).1 E F0(dif)2.556 E .056 -(fers from)-.25 F F1 -.1(ke)2.556 G(yname).1 E F0(abo)2.556 E .356 -.15 +376.8 Q(xt)-.15 E/F3 10/Courier@0 SF 6(>o)2.5 G(utput)-6 E F0 +(into the line\).)2.5 E .055(In the second form,)108 393.6 R F2("k)2.555 +E(eyseq")-.1 E F0(:)A F1(function\255name).833 E F0(or)2.555 E F1(macr) +2.555 E(o)-.45 E F0(,)A F2 -.1(ke)2.555 G(yseq).1 E F0(dif)2.556 E .056 +(fers from)-.25 F F2 -.1(ke)2.556 G(yname).1 E F0(abo)2.556 E .356 -.15 (ve i)-.15 H 2.556(nt).15 G .056(hat strings)-2.556 F 1.284 -(denoting an entire k)108 278.4 R 1.584 -.15(ey s)-.1 H 1.284(equence m\ +(denoting an entire k)108 405.6 R 1.584 -.15(ey s)-.1 H 1.284(equence m\ ay be speci\214ed by placing the sequence within double quotes.).15 F -(Some)6.284 E .385(GNU Emacs style k)108 290.4 R .685 -.15(ey e)-.1 H +(Some)6.284 E .385(GNU Emacs style k)108 417.6 R .685 -.15(ey e)-.1 H .385(scapes can be used, as in the follo).15 F .385(wing e)-.25 F .386 (xample, b)-.15 F .386(ut the symbolic character names)-.2 F -(are not recognized.)108 302.4 Q("\\C\255u": uni)144 326.4 Q -.15(ve) +(are not recognized.)108 429.6 Q("\\C\255u": uni)144 453.6 Q -.15(ve) -.25 G(rsal\255ar).15 E(gument)-.18 E -("\\C\255x\\C\255r": re\255read\255init\255\214le)144 338.4 Q -("\\e[11~": "Function K)144 350.4 Q .3 -.15(ey 1)-.25 H(").15 E .315 -(In this e)108 367.2 R(xample,)-.15 E F2(C\255u)2.655 E F0 .315(is ag) -3.065 F .315(ain bound to the function)-.05 F F1(uni)2.815 E -.1(ve)-.1 -G(rsal\255ar).1 E(gument)-.1 E F0(.)A F2 .315(C\255x C\255r)5.155 F F0 -.314(is bound to the func-)3.544 F(tion)108 379.2 Q F1 -.18(re)2.5 G -.18 E(ead\255init\255\214le)-.18 E F0 2.5(,a)C(nd)-2.5 E F2 +("\\C\255x\\C\255r": re\255read\255init\255\214le)144 465.6 Q +("\\e[11~": "Function K)144 477.6 Q .3 -.15(ey 1)-.25 H(").15 E .315 +(In this e)108 494.4 R(xample,)-.15 E F1(C\255u)2.655 E F0 .315(is ag) +3.065 F .315(ain bound to the function)-.05 F F2(uni)2.815 E -.1(ve)-.1 +G(rsal\255ar).1 E(gument)-.1 E F0(.)A F1 .315(C\255x C\255r)5.155 F F0 +.314(is bound to the func-)3.544 F(tion)108 506.4 Q F2 -.18(re)2.5 G +.18 E(ead\255init\255\214le)-.18 E F0 2.5(,a)C(nd)-2.5 E F1 (ESC [ 1 1 ~)3.01 E F0(is bound to insert the te)3.94 E(xt)-.15 E F3 (Function Key 1)2.5 E F0(.)A -(The full set of GNU Emacs style escape sequences is)108 396 Q F1 -<5c43ad>144 408 Q F0(control pre\214x)20.3 E F1<5c4dad>144 420 Q F0 -(meta pre\214x)18.08 E F1(\\e)144 432 Q F0(an escape character)28.78 E -F1(\\\\)144 444 Q F0(backslash)30.44 E F1(\\")144 456 Q F0(literal ") -27.67 E F1<5c08>144 468 Q F0(literal \010)30.44 E(In addition to the GN\ -U Emacs style escape sequences, a second set of backslash escapes is a) -108 484.8 Q -.25(va)-.2 G(ilable:).25 E F1(\\a)144 496.8 Q F0 -(alert \(bell\))28.22 E F1(\\b)144 508.8 Q F0(backspace)27.66 E F1(\\d) -144 520.8 Q F0(delete)27.66 E F1(\\f)144 532.8 Q F0(form feed)29.89 E F1 -(\\n)144 544.8 Q F0(ne)27.66 E(wline)-.25 E F1(\\r)144 556.8 Q F0 -(carriage return)28.78 E F1(\\t)144 568.8 Q F0(horizontal tab)29.89 E F1 -(\\v)144 580.8 Q F0 -.15(ve)28.22 G(rtical tab).15 E F1(\\)144 592.8 Q -F2(nnn)A F0(the eight-bit character whose v)18.22 E(alue is the octal v) --.25 E(alue)-.25 E F2(nnn)2.5 E F0(\(one to three digits\))2.5 E F1(\\x) -144 604.8 Q F2(HH)A F0(the eight-bit character whose v)13.78 E -(alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0 -(\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E 1.141 -(When entering the te)108 621.6 R 1.141(xt of a macro, single or double\ - quotes must be used to indicate a macro de\214nition.)-.15 F .09 -(Unquoted te)108 633.6 R .09(xt is assumed to be a function name.)-.15 F -.089(In the macro body)5.089 F 2.589(,t)-.65 G .089 -(he backslash escapes described abo)-2.589 F -.15(ve)-.15 G(are e)108 -645.6 Q 2.5(xpanded. Backslash)-.15 F(will quote an)2.5 E 2.5(yo)-.15 G -(ther character in the macro te)-2.5 E(xt, including " and \010.)-.15 E -F1(Bash)108 662.4 Q F0(allo)2.929 E .429(ws the current readline k)-.25 -F .729 -.15(ey b)-.1 H .429 +(The full set of GNU Emacs style escape sequences is)108 523.2 Q F2 +<5c43ad>144 535.2 Q F0(control pre\214x)20.3 E F2<5c4dad>144 547.2 Q F0 +(meta pre\214x)18.08 E F2(\\e)144 559.2 Q F0(an escape character)28.78 E +F2(\\\\)144 571.2 Q F0(backslash)30.44 E F2(\\")144 583.2 Q F0 +(literal ")27.67 E F2<5c08>144 595.2 Q F0(literal \010)30.44 E(In addit\ +ion to the GNU Emacs style escape sequences, a second set of backslash \ +escapes is a)108 612 Q -.25(va)-.2 G(ilable:).25 E F2(\\a)144 624 Q F0 +(alert \(bell\))28.22 E F2(\\b)144 636 Q F0(backspace)27.66 E F2(\\d)144 +648 Q F0(delete)27.66 E F2(\\f)144 660 Q F0(form feed)29.89 E F2(\\n)144 +672 Q F0(ne)27.66 E(wline)-.25 E F2(\\r)144 684 Q F0(carriage return) +28.78 E F2(\\t)144 696 Q F0(horizontal tab)29.89 E F2(\\v)144 708 Q F0 +-.15(ve)28.22 G(rtical tab).15 E(GNU Bash-4.1)72 768 Q(2010 May 30) +147.345 E(35)197.335 E 0 Cg EP +%%Page: 36 36 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF(\\)144 84 Q/F2 10/Times-Italic@0 SF(nnn)A +F0(the eight-bit character whose v)18.22 E(alue is the octal v)-.25 E +(alue)-.25 E F2(nnn)2.5 E F0(\(one to three digits\))2.5 E F1(\\x)144 96 +Q F2(HH)A F0(the eight-bit character whose v)13.78 E(alue is the he)-.25 +E(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0(\(one or tw)2.5 E 2.5 +(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E 1.141(When entering the te) +108 112.8 R 1.141(xt of a macro, single or double quotes must be used t\ +o indicate a macro de\214nition.)-.15 F .09(Unquoted te)108 124.8 R .09 +(xt is assumed to be a function name.)-.15 F .089(In the macro body) +5.089 F 2.589(,t)-.65 G .089(he backslash escapes described abo)-2.589 F +-.15(ve)-.15 G(are e)108 136.8 Q 2.5(xpanded. Backslash)-.15 F +(will quote an)2.5 E 2.5(yo)-.15 G(ther character in the macro te)-2.5 E +(xt, including " and \010.)-.15 E F1(Bash)108 153.6 Q F0(allo)2.929 E +.429(ws the current readline k)-.25 F .729 -.15(ey b)-.1 H .429 (indings to be displayed or modi\214ed with the).15 F F1(bind)2.93 E F0 -.2(bu)2.93 G .43(iltin command.).2 F .046 -(The editing mode may be switched during interacti)108 674.4 R .346 -.15 +(The editing mode may be switched during interacti)108 165.6 R .346 -.15 (ve u)-.25 H .046(se by using the).15 F F12.545 E F0 .045 (option to the)2.545 F F1(set)2.545 E F0 -.2(bu)2.545 G .045 -(iltin command).2 F(\(see)108 686.4 Q/F4 9/Times-Bold@0 SF(SHELL B)2.5 E +(iltin command).2 F(\(see)108 177.6 Q/F3 9/Times-Bold@0 SF(SHELL B)2.5 E (UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1 -(Readline V)87 703.2 Q(ariables)-.92 E F0 .043(Readline has v)108 715.2 +(Readline V)87 194.4 Q(ariables)-.92 E F0 .043(Readline has v)108 206.4 R .043(ariables that can be used to further customize its beha)-.25 F (vior)-.2 E 5.043(.A)-.55 G -.25(va)-2.5 G .043 -(riable may be set in the).25 F F2(inpu-)2.554 E(tr)108 727.2 Q(c)-.37 E -F0(\214le with a statement of the form)2.81 E(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(35)195.945 E 0 Cg EP -%%Page: 36 36 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(set)144 84 Q/F2 10/Times-Italic@0 SF +(riable may be set in the).25 F F2(inpu-)2.554 E(tr)108 218.4 Q(c)-.37 E +F0(\214le with a statement of the form)2.81 E F1(set)144 235.2 Q F2 (variable\255name value)2.5 E F0 .79(Except where noted, readline v)108 -100.8 R .79(ariables can tak)-.25 F 3.29(et)-.1 G .79(he v)-3.29 F -(alues)-.25 E F1(On)3.29 E F0(or)3.29 E F1(Off)3.29 E F0 .79 -(\(without re)3.29 F -.05(ga)-.15 G .79(rd to case\).).05 F(Unrecog-) -5.79 E .448(nized v)108 112.8 R .448(ariable names are ignored.)-.25 F -.448(When a v)5.448 F .448(ariable v)-.25 F .448 -(alue is read, empty or null v)-.25 F .449(alues, "on" \(case-insensi-) --.25 F(ti)108 124.8 Q -.15(ve)-.25 G .468(\), and "1" are equi).15 F --.25(va)-.25 G .468(lent to).25 F F1(On)2.968 E F0 5.468(.A)C .468 -(ll other v)-5.468 F .468(alues are equi)-.25 F -.25(va)-.25 G .468 -(lent to).25 F F1(Off)2.968 E F0 5.468(.T)C .467(he v)-5.468 F .467 -(ariables and their def)-.25 F(ault)-.1 E -.25(va)108 136.8 S(lues are:) -.25 E F1(bell\255style \(audible\))108 153.6 Q F0 .01 -(Controls what happens when readline w)144 165.6 R .011 +252 R .79(ariables can tak)-.25 F 3.29(et)-.1 G .79(he v)-3.29 F(alues) +-.25 E F1(On)3.29 E F0(or)3.29 E F1(Off)3.29 E F0 .79(\(without re)3.29 +F -.05(ga)-.15 G .79(rd to case\).).05 F(Unrecog-)5.79 E .448(nized v) +108 264 R .448(ariable names are ignored.)-.25 F .448(When a v)5.448 F +.448(ariable v)-.25 F .448(alue is read, empty or null v)-.25 F .449 +(alues, "on" \(case-insensi-)-.25 F(ti)108 276 Q -.15(ve)-.25 G .468 +(\), and "1" are equi).15 F -.25(va)-.25 G .468(lent to).25 F F1(On) +2.968 E F0 5.468(.A)C .468(ll other v)-5.468 F .468(alues are equi)-.25 +F -.25(va)-.25 G .468(lent to).25 F F1(Off)2.968 E F0 5.468(.T)C .467 +(he v)-5.468 F .467(ariables and their def)-.25 F(ault)-.1 E -.25(va)108 +288 S(lues are:).25 E F1(bell\255style \(audible\))108 304.8 Q F0 .01 +(Controls what happens when readline w)144 316.8 R .011 (ants to ring the terminal bell.)-.1 F .011(If set to)5.011 F F1(none) 2.511 E F0 2.511(,r)C .011(eadline ne)-2.511 F -.15(ve)-.25 G(r).15 E -.94(rings the bell.)144 177.6 R .94(If set to)5.94 F F1(visible)3.44 E +.94(rings the bell.)144 328.8 R .94(If set to)5.94 F F1(visible)3.44 E F0 3.44(,r)C .94(eadline uses a visible bell if one is a)-3.44 F -.25 (va)-.2 G 3.44(ilable. If).25 F .94(set to)3.44 F F1(audible)3.44 E F0 -(,)A(readline attempts to ring the terminal')144 189.6 Q 2.5(sb)-.55 G -(ell.)-2.5 E F1(bind\255tty\255special\255chars \(On\))108 201.6 Q F0 -.055(If set to)144 213.6 R F1(On)2.555 E F0 2.555(,r)C .056(eadline att\ +(,)A(readline attempts to ring the terminal')144 340.8 Q 2.5(sb)-.55 G +(ell.)-2.5 E F1(bind\255tty\255special\255chars \(On\))108 352.8 Q F0 +.055(If set to)144 364.8 R F1(On)2.555 E F0 2.555(,r)C .056(eadline att\ empts to bind the control characters treated specially by the k)-2.555 F -(ernel')-.1 E 2.556(st)-.55 G(ermi-)-2.556 E(nal dri)144 225.6 Q -.15 +(ernel')-.1 E 2.556(st)-.55 G(ermi-)-2.556 E(nal dri)144 376.8 Q -.15 (ve)-.25 G 2.5(rt).15 G 2.5(ot)-2.5 G(heir readline equi)-2.5 E -.25(va) --.25 G(lents.).25 E F1(comment\255begin \(`)108 237.6 Q(`#')-.63 E('\)) --.63 E F0 .885(The string that is inserted when the readline)144 249.6 R +-.25 G(lents.).25 E F1(comment\255begin \(`)108 388.8 Q(`#')-.63 E('\)) +-.63 E F0 .885(The string that is inserted when the readline)144 400.8 R F1(insert\255comment)3.385 E F0 .884(command is e)3.384 F -.15(xe)-.15 G -3.384(cuted. This).15 F(com-)3.384 E(mand is bound to)144 261.6 Q F1 +3.384(cuted. This).15 F(com-)3.384 E(mand is bound to)144 412.8 Q F1 (M\255#)2.5 E F0(in emacs mode and to)2.5 E F1(#)2.5 E F0 -(in vi command mode.)2.5 E F1(completion\255ignor)108 273.6 Q -(e\255case \(Off\))-.18 E F0(If set to)144 285.6 Q F1(On)2.5 E F0 2.5 +(in vi command mode.)2.5 E F1(completion\255ignor)108 424.8 Q +(e\255case \(Off\))-.18 E F0(If set to)144 436.8 Q F1(On)2.5 E F0 2.5 (,r)C(eadline performs \214lename matching and completion in a case\255\ insensiti)-2.5 E .3 -.15(ve f)-.25 H(ashion.).05 E F1(completion\255pr) -108 297.6 Q(e\214x\255display\255length \(0\))-.18 E F0 .829(The length\ +108 448.8 Q(e\214x\255display\255length \(0\))-.18 E F0 .829(The length\ in characters of the common pre\214x of a list of possible completions\ - that is displayed)144 309.6 R 1.275(without modi\214cation.)144 321.6 R + that is displayed)144 460.8 R 1.275(without modi\214cation.)144 472.8 R 1.275(When set to a v)6.275 F 1.274 (alue greater than zero, common pre\214x)-.25 F 1.274 -(es longer than this)-.15 F -.25(va)144 333.6 S(lue are replaced with a\ +(es longer than this)-.15 F -.25(va)144 484.8 S(lue are replaced with a\ n ellipsis when displaying possible completions.).25 E F1 -(completion\255query\255items \(100\))108 345.6 Q F0 .529 -(This determines when the user is queried about vie)144 357.6 R .53 +(completion\255query\255items \(100\))108 496.8 Q F0 .529 +(This determines when the user is queried about vie)144 508.8 R .53 (wing the number of possible completions gen-)-.25 F .561(erated by the) -144 369.6 R F1(possible\255completions)3.061 E F0 3.061(command. It) +144 520.8 R F1(possible\255completions)3.061 E F0 3.061(command. It) 3.061 F .561(may be set to an)3.061 F 3.06(yi)-.15 G(nte)-3.06 E .56 (ger v)-.15 F .56(alue greater than or)-.25 F .782(equal to zero.)144 -381.6 R .783(If the number of possible completions is greater than or e\ -qual to the v)5.782 F .783(alue of this)-.25 F -.25(va)144 393.6 S .237 +532.8 R .783(If the number of possible completions is greater than or e\ +qual to the v)5.782 F .783(alue of this)-.25 F -.25(va)144 544.8 S .237 (riable, the user is ask).25 F .237(ed whether or not he wishes to vie) -.1 F 2.737(wt)-.25 G .237(hem; otherwise the)-2.737 F 2.737(ya)-.15 G -.237(re simply listed)-2.737 F(on the terminal.)144 405.6 Q F1(con)108 -417.6 Q -.1(ve)-.4 G(rt\255meta \(On\)).1 E F0 .612(If set to)144 429.6 +.237(re simply listed)-2.737 F(on the terminal.)144 556.8 Q F1(con)108 +568.8 Q -.1(ve)-.4 G(rt\255meta \(On\)).1 E F0 .612(If set to)144 580.8 R F1(On)3.112 E F0 3.112(,r)C .613(eadline will con)-3.112 F -.15(ve)-.4 G .613(rt characters with the eighth bit set to an ASCII k).15 F .913 -.15(ey s)-.1 H .613(equence by).15 F .541 (stripping the eighth bit and pre\214xing an escape character \(in ef) -144 441.6 R .541(fect, using escape as the)-.25 F F2 .541(meta pr)3.041 -F(e-)-.37 E<8c78>144 453.6 Q F0(\).)A F1(disable\255completion \(Off\)) -108 465.6 Q F0 .038(If set to)144 477.6 R F1(On)2.538 E F0 2.538(,r)C +144 592.8 R .541(fect, using escape as the)-.25 F F2 .541(meta pr)3.041 +F(e-)-.37 E<8c78>144 604.8 Q F0(\).)A F1(disable\255completion \(Off\)) +108 616.8 Q F0 .038(If set to)144 628.8 R F1(On)2.538 E F0 2.538(,r)C .038(eadline will inhibit w)-2.538 F .038(ord completion.)-.1 F .038 (Completion characters will be inserted into the)5.038 F(line as if the) -144 489.6 Q 2.5(yh)-.15 G(ad been mapped to)-2.5 E F1(self-insert)2.5 E -F0(.)A F1(editing\255mode \(emacs\))108 501.6 Q F0 .253 -(Controls whether readline be)144 513.6 R .253(gins with a set of k)-.15 +144 640.8 Q 2.5(yh)-.15 G(ad been mapped to)-2.5 E F1(self-insert)2.5 E +F0(.)A F1(editing\255mode \(emacs\))108 652.8 Q F0 .253 +(Controls whether readline be)144 664.8 R .253(gins with a set of k)-.15 F .553 -.15(ey b)-.1 H .253(indings similar to).15 F F2(emacs)2.752 E F0 (or)2.752 E F2(vi)2.752 E F0(.)A F1(editing\255mode)5.252 E F0 -(can be set to either)144 525.6 Q F1(emacs)2.5 E F0(or)2.5 E F1(vi)2.5 E -F0(.)A F1(echo\255contr)108 537.6 Q(ol\255characters \(On\))-.18 E F0 -1.21(When set to)144 549.6 R F1(On)3.71 E F0 3.71(,o)C 3.71(no)-3.71 G +(can be set to either)144 676.8 Q F1(emacs)2.5 E F0(or)2.5 E F1(vi)2.5 E +F0(.)A F1(echo\255contr)108 688.8 Q(ol\255characters \(On\))-.18 E F0 +1.21(When set to)144 700.8 R F1(On)3.71 E F0 3.71(,o)C 3.71(no)-3.71 G 1.211(perating systems that indicate the)-3.71 F 3.711(ys)-.15 G 1.211 (upport it, readline echoes a character)-3.711 F -(corresponding to a signal generated from the k)144 561.6 Q -.15(ey)-.1 -G(board.).15 E F1(enable\255k)108 573.6 Q(eypad \(Off\))-.1 E F0 .893 -(When set to)144 585.6 R F1(On)3.393 E F0 3.393(,r)C .893 +(corresponding to a signal generated from the k)144 712.8 Q -.15(ey)-.1 +G(board.).15 E(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(36)197.335 E +0 Cg EP +%%Page: 37 37 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF(enable\255k)108 84 Q(eypad \(Off\))-.1 E F0 +.893(When set to)144 96 R F1(On)3.393 E F0 3.393(,r)C .893 (eadline will try to enable the application k)-3.393 F -.15(ey)-.1 G .893(pad when it is called.).15 F .892(Some sys-)5.893 F -(tems need this to enable the arro)144 597.6 Q 2.5(wk)-.25 G -.15(ey) --2.6 G(s.).15 E F1(enable\255meta\255k)108 609.6 Q(ey \(On\))-.1 E F0 -.64(When set to)144 621.6 R F1(On)3.14 E F0 3.14(,r)C .64 +(tems need this to enable the arro)144 108 Q 2.5(wk)-.25 G -.15(ey)-2.6 +G(s.).15 E F1(enable\255meta\255k)108 120 Q(ey \(On\))-.1 E F0 .64 +(When set to)144 132 R F1(On)3.14 E F0 3.14(,r)C .64 (eadline will try to enable an)-3.14 F 3.14(ym)-.15 G .64 (eta modi\214er k)-3.14 F .94 -.15(ey t)-.1 H .64 -(he terminal claims to support).15 F(when it is called.)144 633.6 Q +(he terminal claims to support).15 F(when it is called.)144 144 Q (On man)5 E 2.5(yt)-.15 G(erminals, the meta k)-2.5 E .3 -.15(ey i)-.1 H 2.5(su).15 G(sed to send eight-bit characters.)-2.5 E F1 -(expand\255tilde \(Off\))108 645.6 Q F0(If set to)144 657.6 Q F1(on)2.5 -E F0 2.5(,t)C(ilde e)-2.5 E -(xpansion is performed when readline attempts w)-.15 E(ord completion.) --.1 E F1(history\255pr)108 669.6 Q(eser)-.18 E -.1(ve)-.1 G -(\255point \(Off\)).1 E F0 1.493(If set to)144 681.6 R F1(on)3.993 E F0 -3.993(,t)C 1.493(he history code attempts to place point at the same lo\ -cation on each history line)-3.993 F(retrie)144 693.6 Q -.15(ve)-.25 G -2.5(dw).15 G(ith)-2.5 E F1(pr)2.5 E -.15(ev)-.18 G(ious-history).15 E F0 -(or)2.5 E F1(next-history)2.5 E F0(.)A F1(history\255size \(0\))108 -705.6 Q F0 .462(Set the maximum number of history entries sa)144 717.6 R --.15(ve)-.2 G 2.963(di).15 G 2.963(nt)-2.963 G .463(he history list.) --2.963 F .463(If set to zero, the number of)5.463 F -(entries in the history list is not limited.)144 729.6 Q(GNU Bash-4.1)72 -768 Q(2010 April 17)145.955 E(36)195.945 E 0 Cg EP -%%Page: 37 37 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(horizontal\255scr)108 84 Q -(oll\255mode \(Off\))-.18 E F0 .449(When set to)144 96 R F1(On)2.949 E -F0 2.949(,m)C(ak)-2.949 E .448 +(expand\255tilde \(Off\))108 156 Q F0(If set to)144 168 Q F1(on)2.5 E F0 +2.5(,t)C(ilde e)-2.5 E(xpansion is performed when readline attempts w) +-.15 E(ord completion.)-.1 E F1(history\255pr)108 180 Q(eser)-.18 E -.1 +(ve)-.1 G(\255point \(Off\)).1 E F0 1.493(If set to)144 192 R F1(on) +3.993 E F0 3.993(,t)C 1.493(he history code attempts to place point at \ +the same location on each history line)-3.993 F(retrie)144 204 Q -.15 +(ve)-.25 G 2.5(dw).15 G(ith)-2.5 E F1(pr)2.5 E -.15(ev)-.18 G +(ious-history).15 E F0(or)2.5 E F1(next-history)2.5 E F0(.)A F1 +(history\255size \(0\))108 216 Q F0 .462 +(Set the maximum number of history entries sa)144 228 R -.15(ve)-.2 G +2.963(di).15 G 2.963(nt)-2.963 G .463(he history list.)-2.963 F .463 +(If set to zero, the number of)5.463 F +(entries in the history list is not limited.)144 240 Q F1 +(horizontal\255scr)108 252 Q(oll\255mode \(Off\))-.18 E F0 .449 +(When set to)144 264 R F1(On)2.949 E F0 2.949(,m)C(ak)-2.949 E .448 (es readline use a single line for display)-.1 F 2.948(,s)-.65 G .448 (crolling the input horizontally on a)-2.948 F 1.194(single screen line\ when it becomes longer than the screen width rather than wrapping to a\ - ne)144 108 R(w)-.25 E(line.)144 120 Q F1(input\255meta \(Off\))108 132 -Q F0 .228(If set to)144 144 R F1(On)2.728 E F0 2.728(,r)C .227(eadline \ + ne)144 276 R(w)-.25 E(line.)144 288 Q F1(input\255meta \(Off\))108 300 +Q F0 .228(If set to)144 312 R F1(On)2.728 E F0 2.728(,r)C .227(eadline \ will enable eight-bit input \(that is, it will not strip the high bit f\ -rom the char)-2.728 F(-)-.2 E .956(acters it reads\), re)144 156 R -.05 +rom the char)-2.728 F(-)-.2 E .956(acters it reads\), re)144 324 R -.05 (ga)-.15 G .956(rdless of what the terminal claims it can support.).05 F .957(The name)5.956 F F1(meta\255\215ag)3.457 E F0 .957(is a)3.457 F -(synon)144 168 Q(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 180 Q +(synon)144 336 Q(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 348 Q (ch\255terminators \(`)-.18 E(`C\255[C\255J')-.63 E('\))-.63 E F0 .439(\ The string of characters that should terminate an incremental search wi\ -thout subsequently e)144 192 R -.15(xe)-.15 G(cut-).15 E .934 -(ing the character as a command.)144 204 R .935(If this v)5.935 F .935 +thout subsequently e)144 360 R -.15(xe)-.15 G(cut-).15 E .934 +(ing the character as a command.)144 372 R .935(If this v)5.935 F .935 (ariable has not been gi)-.25 F -.15(ve)-.25 G 3.435(nav).15 G .935 (alue, the characters)-3.685 F/F2 10/Times-Italic@0 SF(ESC)3.435 E F0 -(and)144 216 Q F2(C\255J)2.5 E F0(will terminate an incremental search.) -2.5 E F1 -.1(ke)108 228 S(ymap \(emacs\)).1 E F0 2.021 -(Set the current readline k)144 240 R -.15(ey)-.1 G 4.521(map. The).15 F +(and)144 384 Q F2(C\255J)2.5 E F0(will terminate an incremental search.) +2.5 E F1 -.1(ke)108 396 S(ymap \(emacs\)).1 E F0 2.021 +(Set the current readline k)144 408 R -.15(ey)-.1 G 4.521(map. The).15 F 2.021(set of v)4.521 F 2.021(alid k)-.25 F -.15(ey)-.1 G 2.021 (map names is).15 F F2 2.02(emacs, emacs\255standar)4.52 F(d,)-.37 E -.068(emacs\255meta, emacs\255ctlx, vi, vi\255command)144 252 R F0 2.568 +.068(emacs\255meta, emacs\255ctlx, vi, vi\255command)144 420 R F0 2.568 (,a)C(nd)-2.568 E F2(vi\255insert)2.568 E F0(.).68 E F2(vi)5.068 E F0 .068(is equi)2.568 F -.25(va)-.25 G .068(lent to).25 F F2(vi\255command) -2.569 E F0(;)A F2(emacs)2.569 E F0 1.544(is equi)144 264 R -.25(va)-.25 +2.569 E F0(;)A F2(emacs)2.569 E F0 1.544(is equi)144 432 R -.25(va)-.25 G 1.544(lent to).25 F F2(emacs\255standar)4.044 E(d)-.37 E F0 6.544(.T)C 1.544(he def)-6.544 F 1.544(ault v)-.1 F 1.544(alue is)-.25 F F2(emacs) 4.044 E F0 4.044(;t).27 G 1.544(he v)-4.044 F 1.544(alue of)-.25 F F1 -(editing\255mode)4.043 E F0(also)4.043 E(af)144 276 Q(fects the def)-.25 -E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F1(mark\255dir)108 288 Q -(ectories \(On\))-.18 E F0(If set to)144 300 Q F1(On)2.5 E F0 2.5(,c)C +(editing\255mode)4.043 E F0(also)4.043 E(af)144 444 Q(fects the def)-.25 +E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F1(mark\255dir)108 456 Q +(ectories \(On\))-.18 E F0(If set to)144 468 Q F1(On)2.5 E F0 2.5(,c)C (ompleted directory names ha)-2.5 E .3 -.15(ve a s)-.2 H(lash appended.) -.15 E F1(mark\255modi\214ed\255lines \(Off\))108 312 Q F0(If set to)144 -324 Q F1(On)2.5 E F0 2.5(,h)C(istory lines that ha)-2.5 E .3 -.15(ve b) +.15 E F1(mark\255modi\214ed\255lines \(Off\))108 480 Q F0(If set to)144 +492 Q F1(On)2.5 E F0 2.5(,h)C(istory lines that ha)-2.5 E .3 -.15(ve b) -.2 H(een modi\214ed are displayed with a preceding asterisk \().15 E F1 -(*)A F0(\).)A F1(mark\255symlink)108 336 Q(ed\255dir)-.1 E -(ectories \(Off\))-.18 E F0 .175(If set to)144 348 R F1(On)2.675 E F0 +(*)A F0(\).)A F1(mark\255symlink)108 504 Q(ed\255dir)-.1 E +(ectories \(Off\))-.18 E F0 .175(If set to)144 516 R F1(On)2.675 E F0 2.675(,c)C .175 (ompleted names which are symbolic links to directories ha)-2.675 F .475 --.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 360 +-.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 528 Q(alue of)-.25 E F1(mark\255dir)2.5 E(ectories)-.18 E F0(\).)A F1 -(match\255hidden\255\214les \(On\))108 372 Q F0 .193(This v)144 384 R +(match\255hidden\255\214les \(On\))108 540 Q F0 .193(This v)144 552 R .193(ariable, when set to)-.25 F F1(On)2.693 E F0 2.693(,c)C .192 (auses readline to match \214les whose names be)-2.693 F .192 (gin with a `.)-.15 F 2.692('\()-.7 G(hidden)-2.692 E .456 -(\214les\) when performing \214lename completion.)144 396 R .456 +(\214les\) when performing \214lename completion.)144 564 R .456 (If set to)5.456 F F1(Off)2.956 E F0 2.956(,t)C .456(he leading `.) -2.956 F 2.956('m)-.7 G .457(ust be supplied by the)-2.956 F -(user in the \214lename to be completed.)144 408 Q F1 -(output\255meta \(Off\))108 420 Q F0 .507(If set to)144 432 R F1(On) +(user in the \214lename to be completed.)144 576 Q F1 +(output\255meta \(Off\))108 588 Q F0 .507(If set to)144 600 R F1(On) 3.007 E F0 3.007(,r)C .507(eadline will display characters with the eig\ -hth bit set directly rather than as a meta-)-3.007 F(pre\214x)144 444 Q -(ed escape sequence.)-.15 E F1(page\255completions \(On\))108 456 Q F0 -.808(If set to)144 468 R F1(On)3.308 E F0 3.308(,r)C .808 +hth bit set directly rather than as a meta-)-3.007 F(pre\214x)144 612 Q +(ed escape sequence.)-.15 E F1(page\255completions \(On\))108 624 Q F0 +.808(If set to)144 636 R F1(On)3.308 E F0 3.308(,r)C .808 (eadline uses an internal)-3.308 F F2(mor)3.308 E(e)-.37 E F0(-lik)A 3.308(ep)-.1 G .808(ager to display a screenful of possible comple-) --3.308 F(tions at a time.)144 480 Q F1 -(print\255completions\255horizontally \(Off\))108 492 Q F0 1.319 -(If set to)144 504 R F1(On)3.819 E F0 3.819(,r)C 1.318(eadline will dis\ +-3.308 F(tions at a time.)144 648 Q F1 +(print\255completions\255horizontally \(Off\))108 660 Q F0 1.319 +(If set to)144 672 R F1(On)3.819 E F0 3.819(,r)C 1.318(eadline will dis\ play completions with matches sorted horizontally in alphabetical)-3.819 -F(order)144 516 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25 -E F1 -2.29 -.18(re v)108 528 T(ert\255all\255at\255newline \(Off\)).08 E -F0 .872(If set to)144 540 R F1(on)3.372 E F0 3.372(,r)C .873 +F(order)144 684 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25 +E F1 -2.29 -.18(re v)108 696 T(ert\255all\255at\255newline \(Off\)).08 E +F0 .872(If set to)144 708 R F1(on)3.372 E F0 3.372(,r)C .873 (eadline will undo all changes to history lines before returning when) --3.372 F F1(accept\255line)3.373 E F0(is)3.373 E -.15(exe)144 552 S +-3.372 F F1(accept\255line)3.373 E F0(is)3.373 E -.15(exe)144 720 S 2.686(cuted. By).15 F(def)2.686 E .186 (ault, history lines may be modi\214ed and retain indi)-.1 F .186 -(vidual undo lists across calls to)-.25 F F1 -.18(re)144 564 S(adline) -.18 E F0(.)A F1(sho)108 576 Q(w\255all\255if\255ambiguous \(Off\))-.1 E -F0 .477(This alters the def)144 588 R .477(ault beha)-.1 F .477 +(vidual undo lists across calls to)-.25 F(GNU Bash-4.1)72 768 Q +(2010 May 30)147.345 E(37)197.335 E 0 Cg EP +%%Page: 38 38 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF -.18(re)144 84 S(adline).18 E F0(.)A F1 +(sho)108 96 Q(w\255all\255if\255ambiguous \(Off\))-.1 E F0 .477 +(This alters the def)144 108 R .477(ault beha)-.1 F .477 (vior of the completion functions.)-.2 F .478(If set to)5.478 F F1(on) 2.978 E F0 2.978(,w)C .478(ords which ha)-3.078 F .778 -.15(ve m)-.2 H (ore).15 E 1.264(than one possible completion cause the matches to be l\ -isted immediately instead of ringing the)144 600 R(bell.)144 612 Q F1 -(sho)108 624 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.345 -(This alters the def)144 636 R 5.345(ault beha)-.1 F 5.345 +isted immediately instead of ringing the)144 120 R(bell.)144 132 Q F1 +(sho)108 144 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.345 +(This alters the def)144 156 R 5.345(ault beha)-.1 F 5.345 (vior of the completion functions in a f)-.2 F 5.346(ashion similar to) --.1 F F1(sho)144 648 Q(w\255all\255if\255ambiguous)-.1 E F0 6.923(.I)C +-.1 F F1(sho)144 168 Q(w\255all\255if\255ambiguous)-.1 E F0 6.923(.I)C 4.423(fs)-6.923 G 1.923(et to)-4.423 F F1(on)4.423 E F0 4.423(,w)C 1.923 (ords which ha)-4.523 F 2.222 -.15(ve m)-.2 H 1.922 -(ore than one possible completion).15 F 1.039(without an)144 660 R 3.539 +(ore than one possible completion).15 F 1.039(without an)144 180 R 3.539 (yp)-.15 G 1.039 (ossible partial completion \(the possible completions don')-3.539 F 3.539(ts)-.18 G 1.04(hare a common pre\214x\))-3.539 F(cause the matche\ -s to be listed immediately instead of ringing the bell.)144 672 Q F1 -(skip\255completed\255text \(Off\))108 684 Q F0 .095(If set to)144 696 R +s to be listed immediately instead of ringing the bell.)144 192 Q F1 +(skip\255completed\255text \(Off\))108 204 Q F0 .095(If set to)144 216 R F1(On)2.595 E F0 2.595(,t)C .095(his alters the def)-2.595 F .095 (ault completion beha)-.1 F .094 -(vior when inserting a single match into the line.)-.2 F(It')144 708 Q +(vior when inserting a single match into the line.)-.2 F(It')144 228 Q 2.545(so)-.55 G .045(nly acti)-2.545 F .345 -.15(ve w)-.25 H .046 (hen performing completion in the middle of a w).15 F 2.546(ord. If)-.1 -F .046(enabled, readline does not)2.546 F 3.275(insert characters from \ -the completion that match characters after point in the w)144 720 R -3.274(ord being)-.1 F(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(37) -195.945 E 0 Cg EP -%%Page: 38 38 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(completed, so portions of the w)144 84 Q(ord follo)-.1 E -(wing the cursor are not duplicated.)-.25 E/F1 10/Times-Bold@0 SF -(visible\255stats \(Off\))108 96 Q F0 .846(If set to)144 108 R F1(On) +F .046(enabled, readline does not)2.546 F 1.394(insert characters from \ +the completion that match characters after point in the w)144 240 R +1.394(ord being com-)-.1 F(pleted, so portions of the w)144 252 Q +(ord follo)-.1 E(wing the cursor are not duplicated.)-.25 E F1 +(visible\255stats \(Off\))108 264 Q F0 .846(If set to)144 276 R F1(On) 3.346 E F0 3.346(,ac)C .846(haracter denoting a \214le')-3.346 F 3.346 (st)-.55 G .846(ype as reported by)-3.346 F/F2 10/Times-Italic@0 SF (stat)3.346 E F0 .846(\(2\) is appended to the \214lename)B -(when listing possible completions.)144 120 Q F1 -(Readline Conditional Constructs)87 136.8 Q F0 .05 -(Readline implements a f)108 148.8 R .05(acility similar in spirit to t\ +(when listing possible completions.)144 288 Q F1 +(Readline Conditional Constructs)87 304.8 Q F0 .05 +(Readline implements a f)108 316.8 R .05(acility similar in spirit to t\ he conditional compilation features of the C preprocessor)-.1 F .096 -(which allo)108 160.8 R .096(ws k)-.25 F .396 -.15(ey b)-.1 H .096 +(which allo)108 328.8 R .096(ws k)-.25 F .396 -.15(ey b)-.1 H .096 (indings and v).15 F .096 (ariable settings to be performed as the result of tests.)-.25 F .097 -(There are four parser)5.096 F(directi)108 172.8 Q -.15(ve)-.25 G 2.5 -(su).15 G(sed.)-2.5 E F1($if)108 189.6 Q F0(The)24.89 E F1($if)2.963 E +(There are four parser)5.096 F(directi)108 340.8 Q -.15(ve)-.25 G 2.5 +(su).15 G(sed.)-2.5 E F1($if)108 357.6 Q F0(The)24.89 E F1($if)2.963 E F0 .463(construct allo)2.963 F .462(ws bindings to be made based on the\ editing mode, the terminal being used,)-.25 F .477 -(or the application using readline.)144 201.6 R .477(The te)5.477 F .477 +(or the application using readline.)144 369.6 R .477(The te)5.477 F .477 (xt of the test e)-.15 F .477 (xtends to the end of the line; no characters)-.15 F -(are required to isolate it.)144 213.6 Q F1(mode)144 230.4 Q F0(The) +(are required to isolate it.)144 381.6 Q F1(mode)144 398.4 Q F0(The) 12.67 E F1(mode=)3.712 E F0 1.212(form of the)3.712 F F1($if)3.711 E F0 (directi)3.711 E 1.511 -.15(ve i)-.25 H 3.711(su).15 G 1.211 (sed to test whether readline is in emacs or vi)-3.711 F 3.065 -(mode. This)180 242.4 R .565(may be used in conjunction with the)3.065 F +(mode. This)180 410.4 R .565(may be used in conjunction with the)3.065 F F1 .565(set k)3.065 F(eymap)-.1 E F0 .565(command, for instance, to) -3.065 F .735(set bindings in the)180 254.4 R F2(emacs\255standar)3.235 E +3.065 F .735(set bindings in the)180 422.4 R F2(emacs\255standar)3.235 E (d)-.37 E F0(and)3.235 E F2(emacs\255ctlx)3.235 E F0 -.1(ke)3.235 G .735 -(ymaps only if readline is starting)-.05 F(out in emacs mode.)180 266.4 -Q F1(term)144 283.2 Q F0(The)15.46 E F1(term=)3.196 E F0 .696 +(ymaps only if readline is starting)-.05 F(out in emacs mode.)180 434.4 +Q F1(term)144 451.2 Q F0(The)15.46 E F1(term=)3.196 E F0 .696 (form may be used to include terminal-speci\214c k)3.196 F .996 -.15 -(ey b)-.1 H .697(indings, perhaps to bind).15 F .654(the k)180 295.2 R +(ey b)-.1 H .697(indings, perhaps to bind).15 F .654(the k)180 463.2 R .954 -.15(ey s)-.1 H .654(equences output by the terminal').15 F 3.154 (sf)-.55 G .654(unction k)-3.154 F -.15(ey)-.1 G 3.154(s. The).15 F -.1 -(wo)3.154 G .654(rd on the right side of).1 F(the)180 307.2 Q F1(=)3.231 +(wo)3.154 G .654(rd on the right side of).1 F(the)180 475.2 Q F1(=)3.231 E F0 .731(is tested ag)3.231 F .732(ainst the both full name of the ter\ minal and the portion of the terminal)-.05 F(name before the \214rst)180 -319.2 Q F12.5 E F0 5(.T)C(his allo)-5 E(ws)-.25 E F2(sun)2.84 E F0 +487.2 Q F12.5 E F0 5(.T)C(his allo)-5 E(ws)-.25 E F2(sun)2.84 E F0 (to match both)2.74 E F2(sun)2.84 E F0(and)2.74 E F2(sun\255cmd)2.5 E F0 -2.5(,f).77 G(or instance.)-2.5 E F1(application)144 336 Q F0(The)180 348 +2.5(,f).77 G(or instance.)-2.5 E F1(application)144 504 Q F0(The)180 516 Q F1(application)3.003 E F0 .503 (construct is used to include application-speci\214c settings.)3.003 F .503(Each program)5.503 F .114(using the readline library sets the)180 -360 R F2 .114(application name)2.614 F F0 2.614(,a)C .114 +528 R F2 .114(application name)2.614 F F0 2.614(,a)C .114 (nd an initialization \214le can test for a)-2.614 F .501(particular v) -180 372 R 3.001(alue. This)-.25 F .501(could be used to bind k)3.001 F +180 540 R 3.001(alue. This)-.25 F .501(could be used to bind k)3.001 F .801 -.15(ey s)-.1 H .5(equences to functions useful for a spe-).15 F -.396(ci\214c program.)180 384 R -.15(Fo)5.396 G 2.896(ri).15 G .396 +.396(ci\214c program.)180 552 R -.15(Fo)5.396 G 2.896(ri).15 G .396 (nstance, the follo)-2.896 F .396(wing command adds a k)-.25 F .696 -.15 -(ey s)-.1 H .397(equence that quotes the).15 F(current or pre)180 396 Q -(vious w)-.25 E(ord in Bash:)-.1 E F1($if)180 420 Q F0(Bash)2.5 E 2.5 -(#Q)180 432 S(uote the current or pre)-2.5 E(vious w)-.25 E(ord)-.1 E -("\\C\255xq": "\\eb\\"\\ef\\"")180 444 Q F1($endif)180 456 Q($endif)108 -472.8 Q F0(This command, as seen in the pre)9.33 E(vious e)-.25 E +(ey s)-.1 H .397(equence that quotes the).15 F(current or pre)180 564 Q +(vious w)-.25 E(ord in Bash:)-.1 E F1($if)180 588 Q F0(Bash)2.5 E 2.5 +(#Q)180 600 S(uote the current or pre)-2.5 E(vious w)-.25 E(ord)-.1 E +("\\C\255xq": "\\eb\\"\\ef\\"")180 612 Q F1($endif)180 624 Q($endif)108 +640.8 Q F0(This command, as seen in the pre)9.33 E(vious e)-.25 E (xample, terminates an)-.15 E F1($if)2.5 E F0(command.)2.5 E F1($else) -108 489.6 Q F0(Commands in this branch of the)15.45 E F1($if)2.5 E F0 +108 657.6 Q F0(Commands in this branch of the)15.45 E F1($if)2.5 E F0 (directi)2.5 E .3 -.15(ve a)-.25 H(re e).15 E -.15(xe)-.15 G -(cuted if the test f).15 E(ails.)-.1 E F1($include)108 506.4 Q F0 .357 -(This directi)144 518.4 R .657 -.15(ve t)-.25 H(ak).15 E .357 +(cuted if the test f).15 E(ails.)-.1 E F1($include)108 674.4 Q F0 .357 +(This directi)144 686.4 R .657 -.15(ve t)-.25 H(ak).15 E .357 (es a single \214lename as an ar)-.1 F .356 (gument and reads commands and bindings from that)-.18 F 2.5(\214le. F) -144 530.4 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3 +144 698.4 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3 -.15(ve w)-.25 H(ould read).05 E F2(/etc/inputr)2.5 E(c)-.37 E F0(:)A F1 -($include)144 554.4 Q F2(/etc/inputr)5.833 E(c)-.37 E F1(Sear)87 571.2 Q -(ching)-.18 E F0 .834(Readline pro)108 583.2 R .834 +($include)144 722.4 Q F2(/etc/inputr)5.833 E(c)-.37 E F0(GNU Bash-4.1)72 +768 Q(2010 May 30)147.345 E(38)197.335 E 0 Cg EP +%%Page: 39 39 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF(Sear)87 84 Q(ching)-.18 E F0 .834 +(Readline pro)108 96 R .834 (vides commands for searching through the command history \(see)-.15 F -/F3 9/Times-Bold@0 SF(HIST)3.335 E(OR)-.162 E(Y)-.315 E F0(belo)3.085 E -.835(w\) for lines)-.25 F(containing a speci\214ed string.)108 595.2 Q -(There are tw)5 E 2.5(os)-.1 G(earch modes:)-2.5 E F2(incr)2.51 E -(emental)-.37 E F0(and)3.01 E F2(non-incr)2.5 E(emental)-.37 E F0(.).51 -E .698(Incremental searches be)108 612 R .698 +/F2 9/Times-Bold@0 SF(HIST)3.335 E(OR)-.162 E(Y)-.315 E F0(belo)3.085 E +.835(w\) for lines)-.25 F(containing a speci\214ed string.)108 108 Q +(There are tw)5 E 2.5(os)-.1 G(earch modes:)-2.5 E/F3 10/Times-Italic@0 +SF(incr)2.51 E(emental)-.37 E F0(and)3.01 E F3(non-incr)2.5 E(emental) +-.37 E F0(.).51 E .698(Incremental searches be)108 124.8 R .698 (gin before the user has \214nished typing the search string.)-.15 F .697(As each character of the)5.697 F .112 -(search string is typed, readline displays the ne)108 624 R .112 +(search string is typed, readline displays the ne)108 136.8 R .112 (xt entry from the history matching the string typed so f)-.15 F(ar)-.1 E 5.113(.A)-.55 G(n)-5.113 E .542 -(incremental search requires only as man)108 636 R 3.042(yc)-.15 G .542 -(haracters as needed to \214nd the desired history entry)-3.042 F 5.541 -(.T)-.65 G .541(he char)-5.541 F(-)-.2 E .224(acters present in the v) -108 648 R .224(alue of the)-.25 F F1(isear)2.724 E(ch-terminators)-.18 E -F0 -.25(va)2.724 G .224 +(incremental search requires only as man)108 148.8 R 3.042(yc)-.15 G +.542(haracters as needed to \214nd the desired history entry)-3.042 F +5.541(.T)-.65 G .541(he char)-5.541 F(-)-.2 E .224 +(acters present in the v)108 160.8 R .224(alue of the)-.25 F F1(isear) +2.724 E(ch-terminators)-.18 E F0 -.25(va)2.724 G .224 (riable are used to terminate an incremental search.).25 F .66 -(If that v)108 660 R .66(ariable has not been assigned a v)-.25 F .66 +(If that v)108 172.8 R .66(ariable has not been assigned a v)-.25 F .66 (alue the Escape and Control-J characters will terminate an incre-)-.25 -F .096(mental search.)108 672 R .096(Control-G will abort an incrementa\ -l search and restore the original line.)5.096 F .097(When the search is) -5.097 F(terminated, the history entry containing the search string beco\ -mes the current line.)108 684 Q 2.939 -.8(To \214)108 700.8 T 1.339(nd \ -other matching entries in the history list, type Control-S or Control-R\ - as appropriate.).8 F 1.338(This will)6.338 F .674(search backw)108 -712.8 R .674(ard or forw)-.1 F .674(ard in the history for the ne)-.1 F -.675(xt entry matching the search string typed so f)-.15 F(ar)-.1 E -5.675(.A)-.55 G -.15(ny)-5.675 G .175(other k)108 724.8 R .475 -.15 -(ey s)-.1 H .174 +F .096(mental search.)108 184.8 R .096(Control-G will abort an incremen\ +tal search and restore the original line.)5.096 F .097 +(When the search is)5.097 F(terminated, the history entry containing th\ +e search string becomes the current line.)108 196.8 Q 2.939 -.8(To \214) +108 213.6 T 1.339(nd other matching entries in the history list, type C\ +ontrol-S or Control-R as appropriate.).8 F 1.338(This will)6.338 F .674 +(search backw)108 225.6 R .674(ard or forw)-.1 F .674 +(ard in the history for the ne)-.1 F .675 +(xt entry matching the search string typed so f)-.15 F(ar)-.1 E 5.675 +(.A)-.55 G -.15(ny)-5.675 G .175(other k)108 237.6 R .475 -.15(ey s)-.1 +H .174 (equence bound to a readline command will terminate the search and e).15 F -.15(xe)-.15 G .174(cute that command.).15 F -.15(Fo)5.174 G(r).15 E -(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(38)195.945 E 0 Cg EP -%%Page: 39 39 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E .54(instance, a)108 84 R/F1 10/Times-Italic@0 SF(ne)3.04 E(wline) --.15 E F0 .541(will terminate the search and accept the line, thereby e) -3.04 F -.15(xe)-.15 G .541(cuting the command from the).15 F -(history list.)108 96 Q .653 -(Readline remembers the last incremental search string.)108 112.8 R .653 -(If tw)5.653 F 3.153(oC)-.1 G .653(ontrol-Rs are typed without an)-3.153 -F 3.152(yi)-.15 G(nterv)-3.152 E(en-)-.15 E -(ing characters de\214ning a ne)108 124.8 Q 2.5(ws)-.25 G +.54(instance, a)108 249.6 R F3(ne)3.04 E(wline)-.15 E F0 .541 +(will terminate the search and accept the line, thereby e)3.04 F -.15 +(xe)-.15 G .541(cuting the command from the).15 F(history list.)108 +261.6 Q .653(Readline remembers the last incremental search string.)108 +278.4 R .653(If tw)5.653 F 3.153(oC)-.1 G .653 +(ontrol-Rs are typed without an)-3.153 F 3.152(yi)-.15 G(nterv)-3.152 E +(en-)-.15 E(ing characters de\214ning a ne)108 290.4 Q 2.5(ws)-.25 G (earch string, an)-2.5 E 2.5(yr)-.15 G(emembered search string is used.) -2.5 E .567(Non-incremental searches read the entire search string befo\ -re starting to search for matching history lines.)108 141.6 R(The searc\ +re starting to search for matching history lines.)108 307.2 R(The searc\ h string may be typed by the user or be part of the contents of the cur\ -rent line.)108 153.6 Q/F2 10/Times-Bold@0 SF(Readline Command Names)87 -170.4 Q F0 1.392(The follo)108 182.4 R 1.391 +rent line.)108 319.2 Q F1(Readline Command Names)87 336 Q F0 1.392 +(The follo)108 348 R 1.391 (wing is a list of the names of the commands and the def)-.25 F 1.391 (ault k)-.1 F 1.691 -.15(ey s)-.1 H 1.391(equences to which the).15 F -3.891(ya)-.15 G(re)-3.891 E 2.621(bound. Command)108 194.4 R .121 +3.891(ya)-.15 G(re)-3.891 E 2.621(bound. Command)108 360 R .121 (names without an accompan)2.621 F .121(ying k)-.15 F .421 -.15(ey s)-.1 H .122(equence are unbound by def).15 F 2.622(ault. In)-.1 F .122 -(the follo)2.622 F(wing)-.25 E(descriptions,)108 206.4 Q F1(point)3.411 -E F0 .911(refers to the current cursor position, and)3.411 F F1(mark) -3.411 E F0 .91(refers to a cursor position sa)3.411 F -.15(ve)-.2 G 3.41 -(db).15 G 3.41(yt)-3.41 G(he)-3.41 E F2(set\255mark)108 218.4 Q F0 2.5 +(the follo)2.622 F(wing)-.25 E(descriptions,)108 372 Q F3(point)3.411 E +F0 .911(refers to the current cursor position, and)3.411 F F3(mark)3.411 +E F0 .91(refers to a cursor position sa)3.411 F -.15(ve)-.2 G 3.41(db) +.15 G 3.41(yt)-3.41 G(he)-3.41 E F1(set\255mark)108 384 Q F0 2.5 (command. The)2.5 F(te)2.5 E -(xt between the point and mark is referred to as the)-.15 E F1 -.37(re) -2.5 G(gion)-.03 E F0(.)A F2(Commands f)87 235.2 Q(or Mo)-.25 E(ving)-.1 -E(beginning\255of\255line \(C\255a\))108 247.2 Q F0(Mo)144 259.2 Q .3 --.15(ve t)-.15 H 2.5(ot).15 G(he start of the current line.)-2.5 E F2 -(end\255of\255line \(C\255e\))108 271.2 Q F0(Mo)144 283.2 Q .3 -.15 -(ve t)-.15 H 2.5(ot).15 G(he end of the line.)-2.5 E F2 -.25(fo)108 -295.2 S(rward\255char \(C\255f\)).25 E F0(Mo)144 307.2 Q .3 -.15(ve f) --.15 H(orw).15 E(ard a character)-.1 E(.)-.55 E F2 -(backward\255char \(C\255b\))108 319.2 Q F0(Mo)144 331.2 Q .3 -.15(ve b) --.15 H(ack a character).15 E(.)-.55 E F2 -.25(fo)108 343.2 S(rward\255w) -.25 E(ord \(M\255f\))-.1 E F0(Mo)144 355.2 Q .822 -.15(ve f)-.15 H(orw) +(xt between the point and mark is referred to as the)-.15 E F3 -.37(re) +2.5 G(gion)-.03 E F0(.)A F1(Commands f)87 400.8 Q(or Mo)-.25 E(ving)-.1 +E(beginning\255of\255line \(C\255a\))108 412.8 Q F0(Mo)144 424.8 Q .3 +-.15(ve t)-.15 H 2.5(ot).15 G(he start of the current line.)-2.5 E F1 +(end\255of\255line \(C\255e\))108 436.8 Q F0(Mo)144 448.8 Q .3 -.15 +(ve t)-.15 H 2.5(ot).15 G(he end of the line.)-2.5 E F1 -.25(fo)108 +460.8 S(rward\255char \(C\255f\)).25 E F0(Mo)144 472.8 Q .3 -.15(ve f) +-.15 H(orw).15 E(ard a character)-.1 E(.)-.55 E F1 +(backward\255char \(C\255b\))108 484.8 Q F0(Mo)144 496.8 Q .3 -.15(ve b) +-.15 H(ack a character).15 E(.)-.55 E F1 -.25(fo)108 508.8 S(rward\255w) +.25 E(ord \(M\255f\))-.1 E F0(Mo)144 520.8 Q .822 -.15(ve f)-.15 H(orw) .15 E .522(ard to the end of the ne)-.1 F .523(xt w)-.15 F 3.023(ord. W) -.1 F .523(ords are composed of alphanumeric characters \(let-)-.8 F -(ters and digits\).)144 367.2 Q F2(backward\255w)108 379.2 Q -(ord \(M\255b\))-.1 E F0(Mo)144 391.2 Q 1.71 -.15(ve b)-.15 H 1.41 +(ters and digits\).)144 532.8 Q F1(backward\255w)108 544.8 Q +(ord \(M\255b\))-.1 E F0(Mo)144 556.8 Q 1.71 -.15(ve b)-.15 H 1.41 (ack to the start of the current or pre).15 F 1.41(vious w)-.25 F 3.91 (ord. W)-.1 F 1.41(ords are composed of alphanumeric)-.8 F -(characters \(letters and digits\).)144 403.2 Q F2(shell\255f)108 415.2 -Q(orward\255w)-.25 E(ord)-.1 E F0(Mo)144 427.2 Q .784 -.15(ve f)-.15 H +(characters \(letters and digits\).)144 568.8 Q F1(shell\255f)108 580.8 +Q(orward\255w)-.25 E(ord)-.1 E F0(Mo)144 592.8 Q .784 -.15(ve f)-.15 H (orw).15 E .484(ard to the end of the ne)-.1 F .484(xt w)-.15 F 2.984 (ord. W)-.1 F .484(ords are delimited by non-quoted shell metacharac-) --.8 F(ters.)144 439.2 Q F2(shell\255backward\255w)108 451.2 Q(ord)-.1 E -F0(Mo)144 463.2 Q .909 -.15(ve b)-.15 H .609 +-.8 F(ters.)144 604.8 Q F1(shell\255backward\255w)108 616.8 Q(ord)-.1 E +F0(Mo)144 628.8 Q .909 -.15(ve b)-.15 H .609 (ack to the start of the current or pre).15 F .609(vious w)-.25 F 3.109 (ord. W)-.1 F .608(ords are delimited by non-quoted shell)-.8 F -(metacharacters.)144 475.2 Q F2(clear\255scr)108 487.2 Q(een \(C\255l\)) --.18 E F0 .993(Clear the screen lea)144 499.2 R .993 +(metacharacters.)144 640.8 Q F1(clear\255scr)108 652.8 Q(een \(C\255l\)) +-.18 E F0 .993(Clear the screen lea)144 664.8 R .993 (ving the current line at the top of the screen.)-.2 F -.4(Wi)5.993 G .993(th an ar).4 F .993(gument, refresh the)-.18 F -(current line without clearing the screen.)144 511.2 Q F2 -.18(re)108 -523.2 S(draw\255curr).18 E(ent\255line)-.18 E F0 -(Refresh the current line.)144 535.2 Q F2(Commands f)87 552 Q -(or Manipulating the History)-.25 E(accept\255line \(Newline, Retur)108 -564 Q(n\))-.15 E F0 .159(Accept the line re)144 576 R -.05(ga)-.15 G -.159(rdless of where the cursor is.).05 F .158 -(If this line is non-empty)5.158 F 2.658(,a)-.65 G .158 -(dd it to the history list)-2.658 F .699(according to the state of the) -144 588 R/F3 9/Times-Bold@0 SF(HISTCONTR)3.199 E(OL)-.27 E F0 -.25(va) -2.949 G 3.199(riable. If).25 F .699 -(the line is a modi\214ed history line, then)3.199 F -(restore the history line to its original state.)144 600 Q F2(pr)108 612 -Q -.15(ev)-.18 G(ious\255history \(C\255p\)).15 E F0(Fetch the pre)144 -624 Q(vious command from the history list, mo)-.25 E -(ving back in the list.)-.15 E F2(next\255history \(C\255n\))108 636 Q -F0(Fetch the ne)144 648 Q(xt command from the history list, mo)-.15 E -(ving forw)-.15 E(ard in the list.)-.1 E F2 -(beginning\255of\255history \(M\255<\))108 660 Q F0(Mo)144 672 Q .3 -.15 -(ve t)-.15 H 2.5(ot).15 G(he \214rst line in the history)-2.5 E(.)-.65 E -F2(end\255of\255history \(M\255>\))108 684 Q F0(Mo)144 696 Q .3 -.15 -(ve t)-.15 H 2.5(ot).15 G(he end of the input history)-2.5 E 2.5(,i)-.65 -G(.e., the line currently being entered.)-2.5 E(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(39)195.945 E 0 Cg EP +(current line without clearing the screen.)144 676.8 Q F1 -.18(re)108 +688.8 S(draw\255curr).18 E(ent\255line)-.18 E F0 +(Refresh the current line.)144 700.8 Q(GNU Bash-4.1)72 768 Q +(2010 May 30)147.345 E(39)197.335 E 0 Cg EP %%Page: 40 40 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF -2.29 -.18(re v)108 84 T(erse\255sear).08 E -(ch\255history \(C\255r\))-.18 E F0 1.471(Search backw)144 96 R 1.471 -(ard starting at the current line and mo)-.1 F 1.47 -(ving `up' through the history as necessary)-.15 F(.)-.65 E -(This is an incremental search.)144 108 Q F1 -.25(fo)108 120 S +-.35 E/F1 10/Times-Bold@0 SF(Commands f)87 84 Q +(or Manipulating the History)-.25 E(accept\255line \(Newline, Retur)108 +96 Q(n\))-.15 E F0 .159(Accept the line re)144 108 R -.05(ga)-.15 G .159 +(rdless of where the cursor is.).05 F .158(If this line is non-empty) +5.158 F 2.658(,a)-.65 G .158(dd it to the history list)-2.658 F .699 +(according to the state of the)144 120 R/F2 9/Times-Bold@0 SF(HISTCONTR) +3.199 E(OL)-.27 E F0 -.25(va)2.949 G 3.199(riable. If).25 F .699 +(the line is a modi\214ed history line, then)3.199 F +(restore the history line to its original state.)144 132 Q F1(pr)108 144 +Q -.15(ev)-.18 G(ious\255history \(C\255p\)).15 E F0(Fetch the pre)144 +156 Q(vious command from the history list, mo)-.25 E +(ving back in the list.)-.15 E F1(next\255history \(C\255n\))108 168 Q +F0(Fetch the ne)144 180 Q(xt command from the history list, mo)-.15 E +(ving forw)-.15 E(ard in the list.)-.1 E F1 +(beginning\255of\255history \(M\255<\))108 192 Q F0(Mo)144 204 Q .3 -.15 +(ve t)-.15 H 2.5(ot).15 G(he \214rst line in the history)-2.5 E(.)-.65 E +F1(end\255of\255history \(M\255>\))108 216 Q F0(Mo)144 228 Q .3 -.15 +(ve t)-.15 H 2.5(ot).15 G(he end of the input history)-2.5 E 2.5(,i)-.65 +G(.e., the line currently being entered.)-2.5 E F1 -2.29 -.18(re v)108 +240 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0 1.471 +(Search backw)144 252 R 1.471(ard starting at the current line and mo) +-.1 F 1.47(ving `up' through the history as necessary)-.15 F(.)-.65 E +(This is an incremental search.)144 264 Q F1 -.25(fo)108 276 S (rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F0 1.131 -(Search forw)144 132 R 1.131(ard starting at the current line and mo)-.1 +(Search forw)144 288 R 1.131(ard starting at the current line and mo)-.1 F 1.132(ving `do)-.15 F 1.132(wn' through the history as necessary)-.25 -F(.)-.65 E(This is an incremental search.)144 144 Q F1(non\255incr)108 -156 Q(emental\255r)-.18 E -2.3 -.15(ev e)-.18 H(rse\255sear).15 E -(ch\255history \(M\255p\))-.18 E F0 .165(Search backw)144 168 R .164(ar\ +F(.)-.65 E(This is an incremental search.)144 300 Q F1(non\255incr)108 +312 Q(emental\255r)-.18 E -2.3 -.15(ev e)-.18 H(rse\255sear).15 E +(ch\255history \(M\255p\))-.18 E F0 .165(Search backw)144 324 R .164(ar\ d through the history starting at the current line using a non-incremen\ -tal search for)-.1 F 2.5(as)144 180 S(tring supplied by the user)-2.5 E -(.)-.55 E F1(non\255incr)108 192 Q(emental\255f)-.18 E(orward\255sear) --.25 E(ch\255history \(M\255n\))-.18 E F0 1.353(Search forw)144 204 R +tal search for)-.1 F 2.5(as)144 336 S(tring supplied by the user)-2.5 E +(.)-.55 E F1(non\255incr)108 348 Q(emental\255f)-.18 E(orward\255sear) +-.25 E(ch\255history \(M\255n\))-.18 E F0 1.353(Search forw)144 360 R 1.354(ard through the history using a non-incremental search for a stri\ -ng supplied by the)-.1 F(user)144 216 Q(.)-.55 E F1(history\255sear)108 -228 Q(ch\255f)-.18 E(orward)-.25 E F0 .249(Search forw)144 240 R .249(a\ +ng supplied by the)-.1 F(user)144 372 Q(.)-.55 E F1(history\255sear)108 +384 Q(ch\255f)-.18 E(orward)-.25 E F0 .249(Search forw)144 396 R .249(a\ rd through the history for the string of characters between the start o\ -f the current line)-.1 F(and the point.)144 252 Q -(This is a non-incremental search.)5 E F1(history\255sear)108 264 Q -(ch\255backward)-.18 E F0 .95(Search backw)144 276 R .951(ard through t\ +f the current line)-.1 F(and the point.)144 408 Q +(This is a non-incremental search.)5 E F1(history\255sear)108 420 Q +(ch\255backward)-.18 E F0 .95(Search backw)144 432 R .951(ard through t\ he history for the string of characters between the start of the curren\ -t)-.1 F(line and the point.)144 288 Q(This is a non-incremental search.) -5 E F1(yank\255nth\255ar)108 300 Q 2.5(g\()-.1 G<4dad43ad7929>-2.5 E F0 -.622(Insert the \214rst ar)144 312 R .622(gument to the pre)-.18 F .622 +t)-.1 F(line and the point.)144 444 Q(This is a non-incremental search.) +5 E F1(yank\255nth\255ar)108 456 Q 2.5(g\()-.1 G<4dad43ad7929>-2.5 E F0 +.622(Insert the \214rst ar)144 468 R .622(gument to the pre)-.18 F .622 (vious command \(usually the second w)-.25 F .622(ord on the pre)-.1 F -.622(vious line\))-.25 F .794(at point.)144 324 R -.4(Wi)5.794 G .794 -(th an ar).4 F(gument)-.18 E/F2 10/Times-Italic@0 SF(n)3.294 E F0 3.294 -(,i).24 G .794(nsert the)-3.294 F F2(n)3.294 E F0 .794(th w)B .794 +.622(vious line\))-.25 F .794(at point.)144 480 R -.4(Wi)5.794 G .794 +(th an ar).4 F(gument)-.18 E/F3 10/Times-Italic@0 SF(n)3.294 E F0 3.294 +(,i).24 G .794(nsert the)-3.294 F F3(n)3.294 E F0 .794(th w)B .794 (ord from the pre)-.1 F .794(vious command \(the w)-.25 F .795 -(ords in the)-.1 F(pre)144 336 Q .292(vious command be)-.25 F .292 +(ords in the)-.1 F(pre)144 492 Q .292(vious command be)-.25 F .292 (gin with w)-.15 F .291(ord 0\).)-.1 F 2.791(An)5.291 G -2.25 -.15(eg a) -2.791 H(ti).15 E .591 -.15(ve a)-.25 H -.18(rg).15 G .291 -(ument inserts the).18 F F2(n)2.791 E F0 .291(th w)B .291 -(ord from the end of)-.1 F .281(the pre)144 348 R .281(vious command.) --.25 F .281(Once the ar)5.281 F(gument)-.18 E F2(n)2.781 E F0 .281 +(ument inserts the).18 F F3(n)2.791 E F0 .291(th w)B .291 +(ord from the end of)-.1 F .281(the pre)144 504 R .281(vious command.) +-.25 F .281(Once the ar)5.281 F(gument)-.18 E F3(n)2.781 E F0 .281 (is computed, the ar)2.781 F .281(gument is e)-.18 F .282 -(xtracted as if the "!)-.15 F F2(n)A F0(")A(history e)144 360 Q -(xpansion had been speci\214ed.)-.15 E F1(yank\255last\255ar)108 372 Q +(xtracted as if the "!)-.15 F F3(n)A F0(")A(history e)144 516 Q +(xpansion had been speci\214ed.)-.15 E F1(yank\255last\255ar)108 528 Q 2.5(g\()-.1 G -1.667(M\255. ,)-2.5 F -1.667(M\255_ \))2.5 F F0 1.308 -(Insert the last ar)144 384 R 1.308(gument to the pre)-.18 F 1.307 +(Insert the last ar)144 540 R 1.308(gument to the pre)-.18 F 1.307 (vious command \(the last w)-.25 F 1.307(ord of the pre)-.1 F 1.307 -(vious history entry\).)-.25 F -.4(Wi)144 396 S .735(th an ar).4 F .735 +(vious history entry\).)-.25 F -.4(Wi)144 552 S .735(th an ar).4 F .735 (gument, beha)-.18 F 1.035 -.15(ve ex)-.2 H .735(actly lik).15 F(e)-.1 E F1(yank\255nth\255ar)3.235 E(g)-.1 E F0 5.736(.S)C(uccessi)-5.736 E 1.036 -.15(ve c)-.25 H .736(alls to).15 F F1(yank\255last\255ar)3.236 E (g)-.1 E F0(mo)3.236 E -.15(ve)-.15 G .728 -(back through the history list, inserting the last ar)144 408 R .728 +(back through the history list, inserting the last ar)144 564 R .728 (gument of each line in turn.)-.18 F .728(The history e)5.728 F(xpan-) --.15 E .14(sion f)144 420 R .14(acilities are used to e)-.1 F .14 +-.15 E .14(sion f)144 576 R .14(acilities are used to e)-.1 F .14 (xtract the last ar)-.15 F .14(gument, as if the "!$" history e)-.18 F -.14(xpansion had been speci-)-.15 F(\214ed.)144 432 Q F1 -(shell\255expand\255line \(M\255C\255e\))108 444 Q F0 .623 -(Expand the line as the shell does.)144 456 R .622 +.14(xpansion had been speci-)-.15 F(\214ed.)144 588 Q F1 +(shell\255expand\255line \(M\255C\255e\))108 600 Q F0 .623 +(Expand the line as the shell does.)144 612 R .622 (This performs alias and history e)5.622 F .622 -(xpansion as well as all of the)-.15 F(shell w)144 468 Q(ord e)-.1 E 2.5 -(xpansions. See)-.15 F/F3 9/Times-Bold@0 SF(HIST)2.5 E(OR)-.162 E 2.25 -(YE)-.315 G(XP)-2.25 E(ANSION)-.666 E F0(belo)2.25 E 2.5(wf)-.25 G +(xpansion as well as all of the)-.15 F(shell w)144 624 Q(ord e)-.1 E 2.5 +(xpansions. See)-.15 F F2(HIST)2.5 E(OR)-.162 E 2.25(YE)-.315 G(XP)-2.25 +E(ANSION)-.666 E F0(belo)2.25 E 2.5(wf)-.25 G (or a description of history e)-2.5 E(xpansion.)-.15 E F1 -(history\255expand\255line \(M\255^\))108 480 Q F0 .938 -(Perform history e)144 492 R .939(xpansion on the current line.)-.15 F -(See)5.939 E F3(HIST)3.439 E(OR)-.162 E 3.189(YE)-.315 G(XP)-3.189 E +(history\255expand\255line \(M\255^\))108 636 Q F0 .938 +(Perform history e)144 648 R .939(xpansion on the current line.)-.15 F +(See)5.939 E F2(HIST)3.439 E(OR)-.162 E 3.189(YE)-.315 G(XP)-3.189 E (ANSION)-.666 E F0(belo)3.189 E 3.439(wf)-.25 G .939(or a descrip-) --3.439 F(tion of history e)144 504 Q(xpansion.)-.15 E F1(magic\255space) -108 516 Q F0 1.627(Perform history e)144 528 R 1.627 -(xpansion on the current line and insert a space.)-.15 F(See)6.626 E F3 +-3.439 F(tion of history e)144 660 Q(xpansion.)-.15 E F1(magic\255space) +108 672 Q F0 1.627(Perform history e)144 684 R 1.627 +(xpansion on the current line and insert a space.)-.15 F(See)6.626 E F2 (HIST)4.126 E(OR)-.162 E 3.876(YE)-.315 G(XP)-3.876 E(ANSION)-.666 E F0 -(belo)144 540 Q 2.5(wf)-.25 G(or a description of history e)-2.5 E -(xpansion.)-.15 E F1(alias\255expand\255line)108 552 Q F0 .394 -(Perform alias e)144 564 R .394(xpansion on the current line.)-.15 F -(See)5.395 E F3(ALIASES)2.895 E F0(abo)2.645 E .695 -.15(ve f)-.15 H -.395(or a description of alias e).15 F(xpan-)-.15 E(sion.)144 576 Q F1 -(history\255and\255alias\255expand\255line)108 588 Q F0 -(Perform history and alias e)144 600 Q(xpansion on the current line.) --.15 E F1(insert\255last\255ar)108 612 Q(gument \(M\255.)-.1 E 2.5(,M) -.833 G -1.667(\255_ \))-2.5 F F0 2.5(As)144 624 S(ynon)-2.5 E(ym for) +(belo)144 696 Q 2.5(wf)-.25 G(or a description of history e)-2.5 E +(xpansion.)-.15 E(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(40)197.335 +E 0 Cg EP +%%Page: 41 41 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF(alias\255expand\255line)108 84 Q F0 .394 +(Perform alias e)144 96 R .394(xpansion on the current line.)-.15 F(See) +5.395 E/F2 9/Times-Bold@0 SF(ALIASES)2.895 E F0(abo)2.645 E .695 -.15 +(ve f)-.15 H .395(or a description of alias e).15 F(xpan-)-.15 E(sion.) +144 108 Q F1(history\255and\255alias\255expand\255line)108 120 Q F0 +(Perform history and alias e)144 132 Q(xpansion on the current line.) +-.15 E F1(insert\255last\255ar)108 144 Q(gument \(M\255.)-.1 E 2.5(,M) +.833 G -1.667(\255_ \))-2.5 F F0 2.5(As)144 156 S(ynon)-2.5 E(ym for) -.15 E F1(yank\255last\255ar)2.5 E(g)-.1 E F0(.)A F1 -(operate\255and\255get\255next \(C\255o\))108 636 Q F0 .948 -(Accept the current line for e)144 648 R -.15(xe)-.15 G .948 +(operate\255and\255get\255next \(C\255o\))108 168 Q F0 .948 +(Accept the current line for e)144 180 R -.15(xe)-.15 G .948 (cution and fetch the ne).15 F .948(xt line relati)-.15 F 1.247 -.15 (ve t)-.25 H 3.447(ot).15 G .947(he current line from the)-3.447 F -(history for editing.)144 660 Q(An)5 E 2.5(ya)-.15 G -.18(rg)-2.5 G +(history for editing.)144 192 Q(An)5 E 2.5(ya)-.15 G -.18(rg)-2.5 G (ument is ignored.).18 E F1 -(edit\255and\255execute\255command \(C\255xC\255e\))108 672 Q F0(In)144 -684 Q -.2(vo)-.4 G 1.226 -.1(ke a).2 H 3.526(ne).1 G 1.026 +(edit\255and\255execute\255command \(C\255xC\255e\))108 204 Q F0(In)144 +216 Q -.2(vo)-.4 G 1.226 -.1(ke a).2 H 3.526(ne).1 G 1.026 (ditor on the current command line, and e)-3.526 F -.15(xe)-.15 G 1.026 (cute the result as shell commands.).15 F F1(Bash)6.026 E F0 -(attempts to in)144 696 Q -.2(vo)-.4 G -.1(ke).2 G F3($VISU)2.6 E(AL) --.54 E/F4 9/Times-Roman@0 SF(,)A F3($EDIT)2.25 E(OR)-.162 E F4(,)A F0 -(and)2.25 E F2(emacs)2.5 E F0(as the editor)2.5 E 2.5(,i)-.4 G 2.5(nt) --2.5 G(hat order)-2.5 E(.)-.55 E(GNU Bash-4.1)72 768 Q(2010 April 17) -145.955 E(40)195.945 E 0 Cg EP -%%Page: 41 41 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(Commands f)87 84 Q(or Changing T)-.25 E -(ext)-.92 E(delete\255char \(C\255d\))108 96 Q F0 .358 -(Delete the character at point.)144 108 R .358(If point is at the be) -5.358 F .358(ginning of the line, there are no characters in the)-.15 F -(line, and the last character typed w)144 120 Q(as not bound to)-.1 E F1 -(delete\255char)2.5 E F0 2.5(,t)C(hen return)-2.5 E/F2 9/Times-Bold@0 SF -(EOF)2.5 E/F3 9/Times-Roman@0 SF(.)A F1 -(backward\255delete\255char \(Rubout\))108 132 Q F0 .552 -(Delete the character behind the cursor)144 144 R 5.553(.W)-.55 G .553 +(attempts to in)144 228 Q -.2(vo)-.4 G -.1(ke).2 G F2($VISU)2.6 E(AL) +-.54 E/F3 9/Times-Roman@0 SF(,)A F2($EDIT)2.25 E(OR)-.162 E F3(,)A F0 +(and)2.25 E/F4 10/Times-Italic@0 SF(emacs)2.5 E F0(as the editor)2.5 E +2.5(,i)-.4 G 2.5(nt)-2.5 G(hat order)-2.5 E(.)-.55 E F1(Commands f)87 +244.8 Q(or Changing T)-.25 E(ext)-.92 E(delete\255char \(C\255d\))108 +256.8 Q F0 .358(Delete the character at point.)144 268.8 R .358 +(If point is at the be)5.358 F .358 +(ginning of the line, there are no characters in the)-.15 F +(line, and the last character typed w)144 280.8 Q(as not bound to)-.1 E +F1(delete\255char)2.5 E F0 2.5(,t)C(hen return)-2.5 E F2(EOF)2.5 E F3(.) +A F1(backward\255delete\255char \(Rubout\))108 292.8 Q F0 .552 +(Delete the character behind the cursor)144 304.8 R 5.553(.W)-.55 G .553 (hen gi)-5.553 F -.15(ve)-.25 G 3.053(nan).15 G .553(umeric ar)-3.053 F .553(gument, sa)-.18 F .853 -.15(ve t)-.2 H .553(he deleted te).15 F -.553(xt on)-.15 F(the kill ring.)144 156 Q F1 -.25(fo)108 168 S +.553(xt on)-.15 F(the kill ring.)144 316.8 Q F1 -.25(fo)108 328.8 S (rward\255backward\255delete\255char).25 E F0 .474 -(Delete the character under the cursor)144 180 R 2.974(,u)-.4 G .474 +(Delete the character under the cursor)144 340.8 R 2.974(,u)-.4 G .474 (nless the cursor is at the end of the line, in which case the)-2.974 F -(character behind the cursor is deleted.)144 192 Q F1 -(quoted\255insert \(C\255q, C\255v\))108 204 Q F0 .778(Add the ne)144 -216 R .779(xt character typed to the line v)-.15 F 3.279(erbatim. This) --.15 F .779(is ho)3.279 F 3.279(wt)-.25 G 3.279(oi)-3.279 G .779 -(nsert characters lik)-3.279 F(e)-.1 E F1(C\255q)3.279 E F0 3.279(,f)C -(or)-3.279 E -.15(ex)144 228 S(ample.).15 E F1(tab\255insert \(C\255v T) -108 240 Q(AB\))-.9 E F0(Insert a tab character)144 252 Q(.)-.55 E F1 -(self\255insert \(a, b, A, 1, !, ...\))108 264 Q F0 -(Insert the character typed.)144 276 Q F1(transpose\255chars \(C\255t\)) -108 288 Q F0 .322(Drag the character before point forw)144 300 R .321 -(ard o)-.1 F -.15(ve)-.15 G 2.821(rt).15 G .321 -(he character at point, mo)-2.821 F .321(ving point forw)-.15 F .321 -(ard as well.)-.1 F 1.182 -(If point is at the end of the line, then this transposes the tw)144 312 -R 3.683(oc)-.1 G 1.183(haracters before point.)-3.683 F(Ne)6.183 E -.05 -(ga)-.15 G(ti).05 E -.15(ve)-.25 G(ar)144 324 Q(guments ha)-.18 E .3 --.15(ve n)-.2 H 2.5(oe).15 G -.25(ff)-2.5 G(ect.).25 E F1 -(transpose\255w)108 336 Q(ords \(M\255t\))-.1 E F0 .024(Drag the w)144 -348 R .024(ord before point past the w)-.1 F .023(ord after point, mo) +(character behind the cursor is deleted.)144 352.8 Q F1 +(quoted\255insert \(C\255q, C\255v\))108 364.8 Q F0 .778(Add the ne)144 +376.8 R .779(xt character typed to the line v)-.15 F 3.279 +(erbatim. This)-.15 F .779(is ho)3.279 F 3.279(wt)-.25 G 3.279(oi)-3.279 +G .779(nsert characters lik)-3.279 F(e)-.1 E F1(C\255q)3.279 E F0 3.279 +(,f)C(or)-3.279 E -.15(ex)144 388.8 S(ample.).15 E F1 +(tab\255insert \(C\255v T)108 400.8 Q(AB\))-.9 E F0 +(Insert a tab character)144 412.8 Q(.)-.55 E F1 +(self\255insert \(a, b, A, 1, !, ...\))108 424.8 Q F0 +(Insert the character typed.)144 436.8 Q F1 +(transpose\255chars \(C\255t\))108 448.8 Q F0 .322 +(Drag the character before point forw)144 460.8 R .321(ard o)-.1 F -.15 +(ve)-.15 G 2.821(rt).15 G .321(he character at point, mo)-2.821 F .321 +(ving point forw)-.15 F .321(ard as well.)-.1 F 1.182 +(If point is at the end of the line, then this transposes the tw)144 +472.8 R 3.683(oc)-.1 G 1.183(haracters before point.)-3.683 F(Ne)6.183 E +-.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G(ar)144 484.8 Q(guments ha)-.18 E +.3 -.15(ve n)-.2 H 2.5(oe).15 G -.25(ff)-2.5 G(ect.).25 E F1 +(transpose\255w)108 496.8 Q(ords \(M\255t\))-.1 E F0 .024(Drag the w)144 +508.8 R .024(ord before point past the w)-.1 F .023(ord after point, mo) -.1 F .023(ving point o)-.15 F -.15(ve)-.15 G 2.523(rt).15 G .023(hat w) -2.523 F .023(ord as well.)-.1 F .023(If point)5.023 F -(is at the end of the line, this transposes the last tw)144 360 Q 2.5 -(ow)-.1 G(ords on the line.)-2.6 E F1(upcase\255w)108 372 Q -(ord \(M\255u\))-.1 E F0 1.698(Uppercase the current \(or follo)144 384 -R 1.698(wing\) w)-.25 F 4.198(ord. W)-.1 F 1.698(ith a ne)-.4 F -.05(ga) --.15 G(ti).05 E 1.999 -.15(ve a)-.25 H -.18(rg).15 G 1.699 -(ument, uppercase the pre).18 F(vious)-.25 E -.1(wo)144 396 S(rd, b).1 E -(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1(do)108 408 Q -(wncase\255w)-.1 E(ord \(M\255l\))-.1 E F0(Lo)144 420 Q 1.648 +(is at the end of the line, this transposes the last tw)144 520.8 Q 2.5 +(ow)-.1 G(ords on the line.)-2.6 E F1(upcase\255w)108 532.8 Q +(ord \(M\255u\))-.1 E F0 1.698(Uppercase the current \(or follo)144 +544.8 R 1.698(wing\) w)-.25 F 4.198(ord. W)-.1 F 1.698(ith a ne)-.4 F +-.05(ga)-.15 G(ti).05 E 1.999 -.15(ve a)-.25 H -.18(rg).15 G 1.699 +(ument, uppercase the pre).18 F(vious)-.25 E -.1(wo)144 556.8 S(rd, b).1 +E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1(do)108 568.8 Q +(wncase\255w)-.1 E(ord \(M\255l\))-.1 E F0(Lo)144 580.8 Q 1.648 (wercase the current \(or follo)-.25 F 1.648(wing\) w)-.25 F 4.148 (ord. W)-.1 F 1.647(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.947 -.15 (ve a)-.25 H -.18(rg).15 G 1.647(ument, lo).18 F 1.647(wercase the pre) --.25 F(vious)-.25 E -.1(wo)144 432 S(rd, b).1 E(ut do not mo)-.2 E .3 --.15(ve p)-.15 H(oint.).15 E F1(capitalize\255w)108 444 Q -(ord \(M\255c\))-.1 E F0 1.974(Capitalize the current \(or follo)144 456 -R 1.974(wing\) w)-.25 F 4.474(ord. W)-.1 F 1.974(ith a ne)-.4 F -.05(ga) --.15 G(ti).05 E 2.274 -.15(ve a)-.25 H -.18(rg).15 G 1.975 -(ument, capitalize the pre).18 F(vious)-.25 E -.1(wo)144 468 S(rd, b).1 -E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1 -.1(ove)108 480 -S(rwrite\255mode).1 E F0 -.8(To)144 492 S .438(ggle o).8 F -.15(ve)-.15 -G .438(rwrite mode.).15 F -.4(Wi)5.438 G .438(th an e).4 F .438 +-.25 F(vious)-.25 E -.1(wo)144 592.8 S(rd, b).1 E(ut do not mo)-.2 E .3 +-.15(ve p)-.15 H(oint.).15 E F1(capitalize\255w)108 604.8 Q +(ord \(M\255c\))-.1 E F0 1.974(Capitalize the current \(or follo)144 +616.8 R 1.974(wing\) w)-.25 F 4.474(ord. W)-.1 F 1.974(ith a ne)-.4 F +-.05(ga)-.15 G(ti).05 E 2.274 -.15(ve a)-.25 H -.18(rg).15 G 1.975 +(ument, capitalize the pre).18 F(vious)-.25 E -.1(wo)144 628.8 S(rd, b) +.1 E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1 -.1(ove)108 +640.8 S(rwrite\255mode).1 E F0 -.8(To)144 652.8 S .438(ggle o).8 F -.15 +(ve)-.15 G .438(rwrite mode.).15 F -.4(Wi)5.438 G .438(th an e).4 F .438 (xplicit positi)-.15 F .737 -.15(ve n)-.25 H .437(umeric ar).15 F .437 (gument, switches to o)-.18 F -.15(ve)-.15 G .437(rwrite mode.).15 F -.4 -(Wi)144 504 S .78(th an e).4 F .781(xplicit non-positi)-.15 F 1.081 -.15 -(ve n)-.25 H .781(umeric ar).15 F .781(gument, switches to insert mode.) --.18 F .781(This command af)5.781 F(fects)-.25 E(only)144 516 Q F1 -(emacs)4.395 E F0(mode;)4.395 E F1(vi)4.395 E F0 1.894(mode does o)4.395 -F -.15(ve)-.15 G 1.894(rwrite dif).15 F(ferently)-.25 E 6.894(.E)-.65 G -1.894(ach call to)-6.894 F/F4 10/Times-Italic@0 SF -.37(re)4.394 G -(adline\(\)).37 E F0 1.894(starts in insert)4.394 F 3.968(mode. In)144 -528 R -.15(ove)3.968 G 1.468(rwrite mode, characters bound to).15 F F1 -(self\255insert)3.969 E F0 1.469(replace the te)3.969 F 1.469 -(xt at point rather than)-.15 F .958(pushing the te)144 540 R .958 -(xt to the right.)-.15 F .957(Characters bound to)5.958 F F1 -(backward\255delete\255char)3.457 E F0 .957(replace the character)3.457 -F(before point with a space.)144 552 Q(By def)5 E -(ault, this command is unbound.)-.1 E F1(Killing and Y)87 568.8 Q -(anking)-.85 E(kill\255line \(C\255k\))108 580.8 Q F0(Kill the te)144 -592.8 Q(xt from point to the end of the line.)-.15 E F1 -(backward\255kill\255line \(C\255x Rubout\))108 604.8 Q F0(Kill backw) -144 616.8 Q(ard to the be)-.1 E(ginning of the line.)-.15 E F1 -(unix\255line\255discard \(C\255u\))108 628.8 Q F0(Kill backw)144 640.8 -Q(ard from point to the be)-.1 E(ginning of the line.)-.15 E -(The killed te)5 E(xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt) --2.5 G(he kill-ring.)-2.5 E F1(kill\255whole\255line)108 652.8 Q F0 -(Kill all characters on the current line, no matter where point is.)144 -664.8 Q F1(kill\255w)108 676.8 Q(ord \(M\255d\))-.1 E F0 .728 -(Kill from point to the end of the current w)144 688.8 R .729 -(ord, or if between w)-.1 F .729(ords, to the end of the ne)-.1 F .729 -(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 700.8 S -(rd boundaries are the same as those used by).8 E F1 -.25(fo)2.5 G -(rward\255w).25 E(ord)-.1 E F0(.)A(GNU Bash-4.1)72 768 Q(2010 April 17) -145.955 E(41)195.945 E 0 Cg EP +(Wi)144 664.8 S .78(th an e).4 F .781(xplicit non-positi)-.15 F 1.081 +-.15(ve n)-.25 H .781(umeric ar).15 F .781 +(gument, switches to insert mode.)-.18 F .781(This command af)5.781 F +(fects)-.25 E(only)144 676.8 Q F1(emacs)4.395 E F0(mode;)4.395 E F1(vi) +4.395 E F0 1.894(mode does o)4.395 F -.15(ve)-.15 G 1.894(rwrite dif).15 +F(ferently)-.25 E 6.894(.E)-.65 G 1.894(ach call to)-6.894 F F4 -.37(re) +4.394 G(adline\(\)).37 E F0 1.894(starts in insert)4.394 F 3.968 +(mode. In)144 688.8 R -.15(ove)3.968 G 1.468 +(rwrite mode, characters bound to).15 F F1(self\255insert)3.969 E F0 +1.469(replace the te)3.969 F 1.469(xt at point rather than)-.15 F .958 +(pushing the te)144 700.8 R .958(xt to the right.)-.15 F .957 +(Characters bound to)5.958 F F1(backward\255delete\255char)3.457 E F0 +.957(replace the character)3.457 F(before point with a space.)144 712.8 +Q(By def)5 E(ault, this command is unbound.)-.1 E(GNU Bash-4.1)72 768 Q +(2010 May 30)147.345 E(41)197.335 E 0 Cg EP %%Page: 42 42 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(backward\255kill\255w)108 84 Q -(ord \(M\255Rubout\))-.1 E F0(Kill the w)144 96 Q(ord behind point.)-.1 +-.35 E/F1 10/Times-Bold@0 SF(Killing and Y)87 84 Q(anking)-.85 E +(kill\255line \(C\255k\))108 96 Q F0(Kill the te)144 108 Q +(xt from point to the end of the line.)-.15 E F1 +(backward\255kill\255line \(C\255x Rubout\))108 120 Q F0(Kill backw)144 +132 Q(ard to the be)-.1 E(ginning of the line.)-.15 E F1 +(unix\255line\255discard \(C\255u\))108 144 Q F0(Kill backw)144 156 Q +(ard from point to the be)-.1 E(ginning of the line.)-.15 E +(The killed te)5 E(xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt) +-2.5 G(he kill-ring.)-2.5 E F1(kill\255whole\255line)108 168 Q F0 +(Kill all characters on the current line, no matter where point is.)144 +180 Q F1(kill\255w)108 192 Q(ord \(M\255d\))-.1 E F0 .728 +(Kill from point to the end of the current w)144 204 R .729 +(ord, or if between w)-.1 F .729(ords, to the end of the ne)-.1 F .729 +(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 216 S +(rd boundaries are the same as those used by).8 E F1 -.25(fo)2.5 G +(rward\255w).25 E(ord)-.1 E F0(.)A F1(backward\255kill\255w)108 228 Q +(ord \(M\255Rubout\))-.1 E F0(Kill the w)144 240 Q(ord behind point.)-.1 E -.8(Wo)5 G(rd boundaries are the same as those used by).8 E F1 -(backward\255w)2.5 E(ord)-.1 E F0(.)A F1(shell\255kill\255w)108 108 Q +(backward\255w)2.5 E(ord)-.1 E F0(.)A F1(shell\255kill\255w)108 252 Q (ord \(M\255d\))-.1 E F0 .729 -(Kill from point to the end of the current w)144 120 R .728 +(Kill from point to the end of the current w)144 264 R .728 (ord, or if between w)-.1 F .728(ords, to the end of the ne)-.1 F .728 -(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 132 S +(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 276 S (rd boundaries are the same as those used by).8 E F1(shell\255f)2.5 E (orward\255w)-.25 E(ord)-.1 E F0(.)A F1(shell\255backward\255kill\255w) -108 144 Q(ord \(M\255Rubout\))-.1 E F0 3.025(Kill the w)144 156 R 3.025 +108 288 Q(ord \(M\255Rubout\))-.1 E F0 3.025(Kill the w)144 300 R 3.025 (ord behind point.)-.1 F -.8(Wo)8.025 G 3.025 (rd boundaries are the same as those used by).8 F F1(shell\255back-) -5.525 E(ward\255w)144 168 Q(ord)-.1 E F0(.)A F1(unix\255w)108 180 Q -(ord\255rubout \(C\255w\))-.1 E F0 .365(Kill the w)144 192 R .365 +5.525 E(ward\255w)144 312 Q(ord)-.1 E F0(.)A F1(unix\255w)108 324 Q +(ord\255rubout \(C\255w\))-.1 E F0 .365(Kill the w)144 336 R .365 (ord behind point, using white space as a w)-.1 F .364(ord boundary)-.1 F 5.364(.T)-.65 G .364(he killed te)-5.364 F .364(xt is sa)-.15 F -.15 (ve)-.2 G 2.864(do).15 G 2.864(nt)-2.864 G(he)-2.864 E(kill-ring.)144 -204 Q F1(unix\255\214lename\255rubout)108 216 Q F0 .166(Kill the w)144 -228 R .166 +348 Q F1(unix\255\214lename\255rubout)108 360 Q F0 .166(Kill the w)144 +372 R .166 (ord behind point, using white space and the slash character as the w) --.1 F .167(ord boundaries.)-.1 F(The)5.167 E(killed te)144 240 Q +-.1 F .167(ord boundaries.)-.1 F(The)5.167 E(killed te)144 384 Q (xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt)-2.5 G(he kill-ring.) --2.5 E F1(delete\255horizontal\255space \(M\255\\\))108 252 Q F0 -(Delete all spaces and tabs around point.)144 264 Q F1(kill\255r)108 276 -Q(egion)-.18 E F0(Kill the te)144 288 Q(xt in the current re)-.15 E -(gion.)-.15 E F1(copy\255r)108 300 Q(egion\255as\255kill)-.18 E F0(Cop) -144 312 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E +-2.5 E F1(delete\255horizontal\255space \(M\255\\\))108 396 Q F0 +(Delete all spaces and tabs around point.)144 408 Q F1(kill\255r)108 420 +Q(egion)-.18 E F0(Kill the te)144 432 Q(xt in the current re)-.15 E +(gion.)-.15 E F1(copy\255r)108 444 Q(egion\255as\255kill)-.18 E F0(Cop) +144 456 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E (gion to the kill b)-.15 E(uf)-.2 E(fer)-.25 E(.)-.55 E F1 -(copy\255backward\255w)108 324 Q(ord)-.1 E F0(Cop)144 336 Q 4.801(yt)-.1 +(copy\255backward\255w)108 468 Q(ord)-.1 E F0(Cop)144 480 Q 4.801(yt)-.1 G 2.301(he w)-4.801 F 2.301(ord before point to the kill b)-.1 F(uf)-.2 E(fer)-.25 E 7.301(.T)-.55 G 2.301(he w)-7.301 F 2.3 -(ord boundaries are the same as)-.1 F F1(back-)4.8 E(ward\255w)144 348 Q -(ord)-.1 E F0(.)A F1(copy\255f)108 360 Q(orward\255w)-.25 E(ord)-.1 E F0 -(Cop)144 372 Q 4.507(yt)-.1 G 2.007(he w)-4.507 F 2.007(ord follo)-.1 F +(ord boundaries are the same as)-.1 F F1(back-)4.8 E(ward\255w)144 492 Q +(ord)-.1 E F0(.)A F1(copy\255f)108 504 Q(orward\255w)-.25 E(ord)-.1 E F0 +(Cop)144 516 Q 4.507(yt)-.1 G 2.007(he w)-4.507 F 2.007(ord follo)-.1 F 2.007(wing point to the kill b)-.25 F(uf)-.2 E(fer)-.25 E 7.008(.T)-.55 G 2.008(he w)-7.008 F 2.008(ord boundaries are the same as)-.1 F F1 -.25 -(fo)4.508 G -.37(r-).25 G(ward\255w)144 384 Q(ord)-.1 E F0(.)A F1 -(yank \(C\255y\))108 396 Q F0 -1(Ya)144 408 S +(fo)4.508 G -.37(r-).25 G(ward\255w)144 528 Q(ord)-.1 E F0(.)A F1 +(yank \(C\255y\))108 540 Q F0 -1(Ya)144 552 S (nk the top of the kill ring into the b)1 E(uf)-.2 E(fer at point.)-.25 -E F1(yank\255pop \(M\255y\))108 420 Q F0 -(Rotate the kill ring, and yank the ne)144 432 Q 2.5(wt)-.25 G 2.5 +E F1(yank\255pop \(M\255y\))108 564 Q F0 +(Rotate the kill ring, and yank the ne)144 576 Q 2.5(wt)-.25 G 2.5 (op. Only)-2.5 F -.1(wo)2.5 G(rks follo).1 E(wing)-.25 E F1(yank)2.5 E -F0(or)2.5 E F1(yank\255pop)2.5 E F0(.)A F1(Numeric Ar)87 448.8 Q -(guments)-.1 E(digit\255ar)108 460.8 Q +F0(or)2.5 E F1(yank\255pop)2.5 E F0(.)A F1(Numeric Ar)87 592.8 Q +(guments)-.1 E(digit\255ar)108 604.8 Q (gument \(M\2550, M\2551, ..., M\255\255\))-.1 E F0 .642 -(Add this digit to the ar)144 472.8 R .641 +(Add this digit to the ar)144 616.8 R .641 (gument already accumulating, or start a ne)-.18 F 3.141(wa)-.25 G -.18 (rg)-3.141 G 3.141(ument. M\255\255).18 F .641(starts a ne)3.141 F(g-) --.15 E(ati)144 484.8 Q .3 -.15(ve a)-.25 H -.18(rg).15 G(ument.).18 E F1 -(uni)108 496.8 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .778 -(This is another w)144 508.8 R .779(ay to specify an ar)-.1 F 3.279 +-.15 E(ati)144 628.8 Q .3 -.15(ve a)-.25 H -.18(rg).15 G(ument.).18 E F1 +(uni)108 640.8 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .778 +(This is another w)144 652.8 R .779(ay to specify an ar)-.1 F 3.279 (gument. If)-.18 F .779(this command is follo)3.279 F .779 (wed by one or more digits,)-.25 F 1.376 (optionally with a leading minus sign, those digits de\214ne the ar)144 -520.8 R 3.876(gument. If)-.18 F 1.376(the command is fol-)3.876 F(lo)144 -532.8 Q 1.17(wed by digits, e)-.25 F -.15(xe)-.15 G(cuting).15 E F1(uni) +664.8 R 3.876(gument. If)-.18 F 1.376(the command is fol-)3.876 F(lo)144 +676.8 Q 1.17(wed by digits, e)-.25 F -.15(xe)-.15 G(cuting).15 E F1(uni) 3.67 E -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0(ag)3.67 E 1.17 (ain ends the numeric ar)-.05 F 1.17(gument, b)-.18 F 1.17(ut is other) --.2 F(-)-.2 E .899(wise ignored.)144 544.8 R .898 +-.2 F(-)-.2 E .899(wise ignored.)144 688.8 R .898 (As a special case, if this command is immediately follo)5.899 F .898 (wed by a character that is)-.25 F .243 -(neither a digit or minus sign, the ar)144 556.8 R .243 +(neither a digit or minus sign, the ar)144 700.8 R .243 (gument count for the ne)-.18 F .243(xt command is multiplied by four) --.15 F 5.243(.T)-.55 G(he)-5.243 E(ar)144 568.8 Q .378 +-.15 F 5.243(.T)-.55 G(he)-5.243 E(ar)144 712.8 Q .378 (gument count is initially one, so e)-.18 F -.15(xe)-.15 G .378 (cuting this function the \214rst time mak).15 F .378(es the ar)-.1 F -.378(gument count)-.18 F(four)144 580.8 Q 2.5(,as)-.4 G(econd time mak) --2.5 E(es the ar)-.1 E(gument count sixteen, and so on.)-.18 E F1 -(Completing)87 597.6 Q(complete \(T)108 609.6 Q(AB\))-.9 E F0 1.137 -(Attempt to perform completion on the te)144 621.6 R 1.137 -(xt before point.)-.15 F F1(Bash)6.137 E F0 1.137 -(attempts completion treating the)3.637 F(te)144 633.6 Q .533(xt as a v) --.15 F .533(ariable \(if the te)-.25 F .533(xt be)-.15 F .533(gins with) --.15 F F1($)3.033 E F0 .533(\), username \(if the te)B .532(xt be)-.15 F -.532(gins with)-.15 F F1(~)3.032 E F0 .532(\), hostname \(if the)B(te) -144 645.6 Q .701(xt be)-.15 F .701(gins with)-.15 F F1(@)3.201 E F0 .701 -(\), or command \(including aliases and functions\) in turn.)B .702 -(If none of these pro-)5.701 F -(duces a match, \214lename completion is attempted.)144 657.6 Q F1 -(possible\255completions \(M\255?\))108 669.6 Q F0 -(List the possible completions of the te)144 681.6 Q(xt before point.) --.15 E F1(insert\255completions \(M\255*\))108 693.6 Q F0 .783 -(Insert all completions of the te)144 705.6 R .783 -(xt before point that w)-.15 F .783(ould ha)-.1 F 1.083 -.15(ve b)-.2 H -.783(een generated by).15 F F1(possible\255com-)3.282 E(pletions)144 -717.6 Q F0(.)A(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(42)195.945 -E 0 Cg EP +.378(gument count)-.18 F(four)144 724.8 Q 2.5(,as)-.4 G(econd time mak) +-2.5 E(es the ar)-.1 E(gument count sixteen, and so on.)-.18 E +(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(42)197.335 E 0 Cg EP %%Page: 43 43 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(menu\255complete)108 84 Q F0 .928 -(Similar to)144 96 R F1(complete)3.428 E F0 3.428(,b)C .929 -(ut replaces the w)-3.628 F .929 +-.35 E/F1 10/Times-Bold@0 SF(Completing)87 84 Q(complete \(T)108 96 Q +(AB\))-.9 E F0 1.137(Attempt to perform completion on the te)144 108 R +1.137(xt before point.)-.15 F F1(Bash)6.137 E F0 1.137 +(attempts completion treating the)3.637 F(te)144 120 Q .533(xt as a v) +-.15 F .533(ariable \(if the te)-.25 F .533(xt be)-.15 F .533(gins with) +-.15 F F1($)3.033 E F0 .533(\), username \(if the te)B .532(xt be)-.15 F +.532(gins with)-.15 F F1(~)3.032 E F0 .532(\), hostname \(if the)B(te) +144 132 Q .701(xt be)-.15 F .701(gins with)-.15 F F1(@)3.201 E F0 .701 +(\), or command \(including aliases and functions\) in turn.)B .702 +(If none of these pro-)5.701 F +(duces a match, \214lename completion is attempted.)144 144 Q F1 +(possible\255completions \(M\255?\))108 156 Q F0 +(List the possible completions of the te)144 168 Q(xt before point.)-.15 +E F1(insert\255completions \(M\255*\))108 180 Q F0 .783 +(Insert all completions of the te)144 192 R .783(xt before point that w) +-.15 F .783(ould ha)-.1 F 1.083 -.15(ve b)-.2 H .783(een generated by) +.15 F F1(possible\255com-)3.282 E(pletions)144 204 Q F0(.)A F1 +(menu\255complete)108 216 Q F0 .928(Similar to)144 228 R F1(complete) +3.428 E F0 3.428(,b)C .929(ut replaces the w)-3.628 F .929 (ord to be completed with a single match from the list of)-.1 F 1.194 -(possible completions.)144 108 R 1.194(Repeated e)6.194 F -.15(xe)-.15 G +(possible completions.)144 240 R 1.194(Repeated e)6.194 F -.15(xe)-.15 G 1.194(cution of).15 F F1(menu\255complete)3.694 E F0 1.193 (steps through the list of possible)3.694 F .828 -(completions, inserting each match in turn.)144 120 R .828 +(completions, inserting each match in turn.)144 252 R .828 (At the end of the list of completions, the bell is rung)5.828 F .727 -(\(subject to the setting of)144 132 R F1(bell\255style)3.227 E F0 3.227 +(\(subject to the setting of)144 264 R F1(bell\255style)3.227 E F0 3.227 (\)a)C .727(nd the original te)-3.227 F .727(xt is restored.)-.15 F .727 (An ar)5.727 F .727(gument of)-.18 F/F2 10/Times-Italic@0 SF(n)3.227 E F0(mo)3.227 E -.15(ve)-.15 G(s).15 E F2(n)3.227 E F0 1.73 -(positions forw)144 144 R 1.73(ard in the list of matches; a ne)-.1 F +(positions forw)144 276 R 1.73(ard in the list of matches; a ne)-.1 F -.05(ga)-.15 G(ti).05 E 2.03 -.15(ve a)-.25 H -.18(rg).15 G 1.73 (ument may be used to mo).18 F 2.03 -.15(ve b)-.15 H(ackw).15 E(ard)-.1 -E(through the list.)144 156 Q(This command is intended to be bound to)5 +E(through the list.)144 288 Q(This command is intended to be bound to)5 E F1 -.9(TA)2.5 G(B).9 E F0 2.5(,b)C(ut is unbound by def)-2.7 E(ault.) --.1 E F1(menu\255complete-)108 168 Q(w)10 I(k)-7.22 -10 M(c)-5.56 -10 M -(rd)2.78 10 M F0 .82(Identical to)144 180 R F1(menu\255complete)3.32 E +-.1 E F1(menu\255complete-)108 300 Q(w)10 I(k)-7.22 -10 M(c)-5.56 -10 M +(rd)2.78 10 M F0 .82(Identical to)144 312 R F1(menu\255complete)3.32 E F0 3.32(,b)C .82(ut mo)-3.52 F -.15(ve)-.15 G 3.32(sb).15 G(ackw)-3.32 E .82(ard through the list of possible completions, as if)-.1 F F1 -(menu\255complete)144 192 Q F0(had been gi)2.5 E -.15(ve)-.25 G 2.5(nan) +(menu\255complete)144 324 Q F0(had been gi)2.5 E -.15(ve)-.25 G 2.5(nan) .15 G -2.25 -.15(eg a)-2.5 H(ti).15 E .3 -.15(ve a)-.25 H -.18(rg).15 G 2.5(ument. This).18 F(command is unbound by def)2.5 E(ault.)-.1 E F1 -(delete\255char\255or\255list)108 204 Q F0 .234 -(Deletes the character under the cursor if not at the be)144 216 R .234 +(delete\255char\255or\255list)108 336 Q F0 .234 +(Deletes the character under the cursor if not at the be)144 348 R .234 (ginning or end of the line \(lik)-.15 F(e)-.1 E F1(delete\255char)2.735 -E F0(\).)A .425(If at the end of the line, beha)144 228 R -.15(ve)-.2 G +E F0(\).)A .425(If at the end of the line, beha)144 360 R -.15(ve)-.2 G 2.925(si).15 G .425(dentically to)-2.925 F F1(possible\255completions) 2.925 E F0 5.425(.T)C .425(his command is unbound)-5.425 F(by def)144 -240 Q(ault.)-.1 E F1(complete\255\214lename \(M\255/\))108 252 Q F0 -(Attempt \214lename completion on the te)144 264 Q(xt before point.)-.15 -E F1(possible\255\214lename\255completions \(C\255x /\))108 276 Q F0 -(List the possible completions of the te)144 288 Q +372 Q(ault.)-.1 E F1(complete\255\214lename \(M\255/\))108 384 Q F0 +(Attempt \214lename completion on the te)144 396 Q(xt before point.)-.15 +E F1(possible\255\214lename\255completions \(C\255x /\))108 408 Q F0 +(List the possible completions of the te)144 420 Q (xt before point, treating it as a \214lename.)-.15 E F1 -(complete\255user)108 300 Q(name \(M\255~\))-.15 E F0 -(Attempt completion on the te)144 312 Q +(complete\255user)108 432 Q(name \(M\255~\))-.15 E F0 +(Attempt completion on the te)144 444 Q (xt before point, treating it as a username.)-.15 E F1(possible\255user) -108 324 Q(name\255completions \(C\255x ~\))-.15 E F0 -(List the possible completions of the te)144 336 Q +108 456 Q(name\255completions \(C\255x ~\))-.15 E F0 +(List the possible completions of the te)144 468 Q (xt before point, treating it as a username.)-.15 E F1(complete\255v)108 -348 Q(ariable \(M\255$\))-.1 E F0(Attempt completion on the te)144 360 Q +480 Q(ariable \(M\255$\))-.1 E F0(Attempt completion on the te)144 492 Q (xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E F1 -(possible\255v)108 372 Q(ariable\255completions \(C\255x $\))-.1 E F0 -(List the possible completions of the te)144 384 Q +(possible\255v)108 504 Q(ariable\255completions \(C\255x $\))-.1 E F0 +(List the possible completions of the te)144 516 Q (xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E F1 -(complete\255hostname \(M\255@\))108 396 Q F0 -(Attempt completion on the te)144 408 Q +(complete\255hostname \(M\255@\))108 528 Q F0 +(Attempt completion on the te)144 540 Q (xt before point, treating it as a hostname.)-.15 E F1 -(possible\255hostname\255completions \(C\255x @\))108 420 Q F0 -(List the possible completions of the te)144 432 Q +(possible\255hostname\255completions \(C\255x @\))108 552 Q F0 +(List the possible completions of the te)144 564 Q (xt before point, treating it as a hostname.)-.15 E F1 -(complete\255command \(M\255!\))108 444 Q F0 .58 -(Attempt completion on the te)144 456 R .581 +(complete\255command \(M\255!\))108 576 Q F0 .58 +(Attempt completion on the te)144 588 R .581 (xt before point, treating it as a command name.)-.15 F .581 -(Command comple-)5.581 F .715(tion attempts to match the te)144 468 R +(Command comple-)5.581 F .715(tion attempts to match the te)144 600 R .715(xt ag)-.15 F .715(ainst aliases, reserv)-.05 F .715(ed w)-.15 F .715(ords, shell functions, shell b)-.1 F .715(uiltins, and)-.2 F -(\214nally e)144 480 Q -.15(xe)-.15 G +(\214nally e)144 612 Q -.15(xe)-.15 G (cutable \214lenames, in that order).15 E(.)-.55 E F1 -(possible\255command\255completions \(C\255x !\))108 492 Q F0 -(List the possible completions of the te)144 504 Q +(possible\255command\255completions \(C\255x !\))108 624 Q F0 +(List the possible completions of the te)144 636 Q (xt before point, treating it as a command name.)-.15 E F1 -(dynamic\255complete\255history \(M\255T)108 516 Q(AB\))-.9 E F0 .424 -(Attempt completion on the te)144 528 R .425 +(dynamic\255complete\255history \(M\255T)108 648 Q(AB\))-.9 E F0 .424 +(Attempt completion on the te)144 660 R .425 (xt before point, comparing the te)-.15 F .425(xt ag)-.15 F .425 (ainst lines from the history list)-.05 F -(for possible completion matches.)144 540 Q F1(dab)108 552 Q(br)-.1 E +(for possible completion matches.)144 672 Q F1(dab)108 684 Q(br)-.1 E -.15(ev)-.18 G(\255expand).15 E F0 .611 -(Attempt menu completion on the te)144 564 R .611 +(Attempt menu completion on the te)144 696 R .611 (xt before point, comparing the te)-.15 F .61(xt ag)-.15 F .61 (ainst lines from the his-)-.05 F -(tory list for possible completion matches.)144 576 Q F1 -(complete\255into\255braces \(M\255{\))108 588 Q F0 .4(Perform \214lena\ -me completion and insert the list of possible completions enclosed with\ -in braces so)144 600 R(the list is a)144 612 Q -.25(va)-.2 G -(ilable to the shell \(see).25 E F1(Brace Expansion)2.5 E F0(abo)2.5 E --.15(ve)-.15 G(\).).15 E F1 -.25(Ke)87 628.8 S(yboard Macr).25 E(os)-.18 -E(start\255kbd\255macr)108 640.8 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\)) -.833 E F0(Be)144 652.8 Q(gin sa)-.15 E -(ving the characters typed into the current k)-.2 E -.15(ey)-.1 G -(board macro.).15 E F1(end\255kbd\255macr)108 664.8 Q 2.5(o\()-.18 G -(C\255x \))-2.5 E(\)).833 E F0(Stop sa)144 676.8 Q -(ving the characters typed into the current k)-.2 E -.15(ey)-.1 G -(board macro and store the de\214nition.).15 E F1 -(call\255last\255kbd\255macr)108 688.8 Q 2.5(o\()-.18 G(C\255x e\))-2.5 -E F0(Re-e)144 700.8 Q -.15(xe)-.15 G 1(cute the last k).15 F -.15(ey)-.1 -G .999(board macro de\214ned, by making the characters in the macro app\ -ear as if).15 F(typed at the k)144 712.8 Q -.15(ey)-.1 G(board.).15 E -(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(43)195.945 E 0 Cg EP +(tory list for possible completion matches.)144 708 Q(GNU Bash-4.1)72 +768 Q(2010 May 30)147.345 E(43)197.335 E 0 Cg EP %%Page: 44 44 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(Miscellaneous)87 84 Q -.18(re)108 96 S -.18 E(ead\255init\255\214le \(C\255x C\255r\))-.18 E F0 1.776 -(Read in the contents of the)144 108 R/F2 10/Times-Italic@0 SF(inputr) +-.35 E/F1 10/Times-Bold@0 SF(complete\255into\255braces \(M\255{\))108 +84 Q F0 .4(Perform \214lename completion and insert the list of possibl\ +e completions enclosed within braces so)144 96 R(the list is a)144 108 Q +-.25(va)-.2 G(ilable to the shell \(see).25 E F1(Brace Expansion)2.5 E +F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1 -.25(Ke)87 124.8 S(yboard Macr) +.25 E(os)-.18 E(start\255kbd\255macr)108 136.8 Q 2.5(o\()-.18 G +(C\255x \()-2.5 E(\)).833 E F0(Be)144 148.8 Q(gin sa)-.15 E +(ving the characters typed into the current k)-.2 E -.15(ey)-.1 G +(board macro.).15 E F1(end\255kbd\255macr)108 160.8 Q 2.5(o\()-.18 G +(C\255x \))-2.5 E(\)).833 E F0(Stop sa)144 172.8 Q +(ving the characters typed into the current k)-.2 E -.15(ey)-.1 G +(board macro and store the de\214nition.).15 E F1 +(call\255last\255kbd\255macr)108 184.8 Q 2.5(o\()-.18 G(C\255x e\))-2.5 +E F0(Re-e)144 196.8 Q -.15(xe)-.15 G 1(cute the last k).15 F -.15(ey)-.1 +G .999(board macro de\214ned, by making the characters in the macro app\ +ear as if).15 F(typed at the k)144 208.8 Q -.15(ey)-.1 G(board.).15 E F1 +(Miscellaneous)87 225.6 Q -.18(re)108 237.6 S.18 E +(ead\255init\255\214le \(C\255x C\255r\))-.18 E F0 1.776 +(Read in the contents of the)144 249.6 R/F2 10/Times-Italic@0 SF(inputr) 4.276 E(c)-.37 E F0 1.777(\214le, and incorporate an)4.276 F 4.277(yb) -.15 G 1.777(indings or v)-4.277 F 1.777(ariable assignments)-.25 F -(found there.)144 120 Q F1(abort \(C\255g\))108 132 Q F0 3.249 -(Abort the current editing command and ring the terminal')144 144 R +(found there.)144 261.6 Q F1(abort \(C\255g\))108 273.6 Q F0 3.249 +(Abort the current editing command and ring the terminal')144 285.6 R 5.748(sb)-.55 G 3.248(ell \(subject to the setting of)-5.748 F F1 -(bell\255style)144 156 Q F0(\).)A F1(do\255upper)108 168 Q(case\255v) --.18 E(ersion \(M\255a, M\255b, M\255)-.1 E F2(x)A F1 2.5(,.)C(..\))-2.5 -E F0 1.755(If the meta\214ed character)144 180 R F2(x)4.255 E F0 1.755 -(is lo)4.255 F 1.756 +(bell\255style)144 297.6 Q F0(\).)A F1(do\255upper)108 309.6 Q +(case\255v)-.18 E(ersion \(M\255a, M\255b, M\255)-.1 E F2(x)A F1 2.5(,.) +C(..\))-2.5 E F0 1.755(If the meta\214ed character)144 321.6 R F2(x) +4.255 E F0 1.755(is lo)4.255 F 1.756 (wercase, run the command that is bound to the corresponding)-.25 F -(uppercase character)144 192 Q(.)-.55 E F1(pr)108 204 Q -(e\214x\255meta \(ESC\))-.18 E F0(Metafy the ne)144 216 Q +(uppercase character)144 333.6 Q(.)-.55 E F1(pr)108 345.6 Q +(e\214x\255meta \(ESC\))-.18 E F0(Metafy the ne)144 357.6 Q (xt character typed.)-.15 E/F3 9/Times-Bold@0 SF(ESC)5 E F1(f)2.25 E F0 (is equi)2.5 E -.25(va)-.25 G(lent to).25 E F1(Meta\255f)2.5 E F0(.)A F1 -(undo \(C\255_, C\255x C\255u\))108 228 Q F0 -(Incremental undo, separately remembered for each line.)144 240 Q F1 --2.29 -.18(re v)108 252 T(ert\255line \(M\255r\)).08 E F0 1.095 -(Undo all changes made to this line.)144 264 R 1.095(This is lik)6.095 F -3.595(ee)-.1 G -.15(xe)-3.745 G 1.095(cuting the).15 F F1(undo)3.595 E +(undo \(C\255_, C\255x C\255u\))108 369.6 Q F0 +(Incremental undo, separately remembered for each line.)144 381.6 Q F1 +-2.29 -.18(re v)108 393.6 T(ert\255line \(M\255r\)).08 E F0 1.095 +(Undo all changes made to this line.)144 405.6 R 1.095(This is lik)6.095 +F 3.595(ee)-.1 G -.15(xe)-3.745 G 1.095(cuting the).15 F F1(undo)3.595 E F0 1.095(command enough times to)3.595 F -(return the line to its initial state.)144 276 Q F1 -(tilde\255expand \(M\255&\))108 288 Q F0(Perform tilde e)144 300 Q +(return the line to its initial state.)144 417.6 Q F1 +(tilde\255expand \(M\255&\))108 429.6 Q F0(Perform tilde e)144 441.6 Q (xpansion on the current w)-.15 E(ord.)-.1 E F1 -(set\255mark \(C\255@, M\255\))108 312 Q F0 -(Set the mark to the point.)144 324 Q(If a numeric ar)5 E +(set\255mark \(C\255@, M\255\))108 453.6 Q F0 +(Set the mark to the point.)144 465.6 Q(If a numeric ar)5 E (gument is supplied, the mark is set to that position.)-.18 E F1 -(exchange\255point\255and\255mark \(C\255x C\255x\))108 336 Q F0(Sw)144 -348 Q .282(ap the point with the mark.)-.1 F .283 +(exchange\255point\255and\255mark \(C\255x C\255x\))108 477.6 Q F0(Sw) +144 489.6 Q .282(ap the point with the mark.)-.1 F .283 (The current cursor position is set to the sa)5.283 F -.15(ve)-.2 G 2.783(dp).15 G .283(osition, and the old)-2.783 F(cursor position is sa) -144 360 Q -.15(ve)-.2 G 2.5(da).15 G 2.5(st)-2.5 G(he mark.)-2.5 E F1 -(character\255sear)108 372 Q(ch \(C\255]\))-.18 E F0 3.036(Ac)144 384 S -.536(haracter is read and point is mo)-3.036 F -.15(ve)-.15 G 3.035(dt) -.15 G 3.035(ot)-3.035 G .535(he ne)-3.035 F .535 +144 501.6 Q -.15(ve)-.2 G 2.5(da).15 G 2.5(st)-2.5 G(he mark.)-2.5 E F1 +(character\255sear)108 513.6 Q(ch \(C\255]\))-.18 E F0 3.036(Ac)144 +525.6 S .536(haracter is read and point is mo)-3.036 F -.15(ve)-.15 G +3.035(dt).15 G 3.035(ot)-3.035 G .535(he ne)-3.035 F .535 (xt occurrence of that character)-.15 F 5.535(.A)-.55 G(ne)-2.5 E -.05 (ga)-.15 G(ti).05 E .835 -.15(ve c)-.25 H(ount).15 E(searches for pre) -144 396 Q(vious occurrences.)-.25 E F1(character\255sear)108 408 Q -(ch\255backward \(M\255C\255]\))-.18 E F0 3.543(Ac)144 420 S 1.043 +144 537.6 Q(vious occurrences.)-.25 E F1(character\255sear)108 549.6 Q +(ch\255backward \(M\255C\255]\))-.18 E F0 3.543(Ac)144 561.6 S 1.043 (haracter is read and point is mo)-3.543 F -.15(ve)-.15 G 3.544(dt).15 G 3.544(ot)-3.544 G 1.044(he pre)-3.544 F 1.044 (vious occurrence of that character)-.25 F 6.044(.A)-.55 G(ne)-2.5 E -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G -(count searches for subsequent occurrences.)144 432 Q F1 -(skip\255csi\255sequence \(\))108 444 Q F0 1.827 -(Read enough characters to consume a multi-k)144 456 R 2.126 -.15(ey s) --.1 H 1.826(equence such as those de\214ned for k).15 F -.15(ey)-.1 G -4.326(sl).15 G(ik)-4.326 E(e)-.1 E .79(Home and End.)144 468 R .791 -(Such sequences be)5.79 F .791 +(count searches for subsequent occurrences.)144 573.6 Q F1 +(skip\255csi\255sequence \(\))108 585.6 Q F0 1.827 +(Read enough characters to consume a multi-k)144 597.6 R 2.126 -.15 +(ey s)-.1 H 1.826(equence such as those de\214ned for k).15 F -.15(ey) +-.1 G 4.326(sl).15 G(ik)-4.326 E(e)-.1 E .79(Home and End.)144 609.6 R +.791(Such sequences be)5.79 F .791 (gin with a Control Sequence Indicator \(CSI\), usually ESC\255[.)-.15 F -.332(If this sequence is bound to "\\[", k)144 480 R -.15(ey)-.1 G 2.831 -(sp).15 G .331(roducing such sequences will ha)-2.831 F .631 -.15(ve n) --.2 H 2.831(oe).15 G -.25(ff)-2.831 G .331(ect unless e).25 F(xplic-) --.15 E .026(itly bound to a readline command, instead of inserting stra\ -y characters into the editing b)144 492 R(uf)-.2 E(fer)-.25 E 5.026(.T) --.55 G(his)-5.026 E(is unbound by def)144 504 Q(ault, b)-.1 E +.332(If this sequence is bound to "\\[", k)144 621.6 R -.15(ey)-.1 G +2.831(sp).15 G .331(roducing such sequences will ha)-2.831 F .631 -.15 +(ve n)-.2 H 2.831(oe).15 G -.25(ff)-2.831 G .331(ect unless e).25 F +(xplic-)-.15 E .026(itly bound to a readline command, instead of insert\ +ing stray characters into the editing b)144 633.6 R(uf)-.2 E(fer)-.25 E +5.026(.T)-.55 G(his)-5.026 E(is unbound by def)144 645.6 Q(ault, b)-.1 E (ut usually bound to ESC\255[.)-.2 E F1(insert\255comment \(M\255#\))108 -516 Q F0 -.4(Wi)144 528 S .481(thout a numeric ar).4 F .481 +657.6 Q F0 -.4(Wi)144 669.6 S .481(thout a numeric ar).4 F .481 (gument, the v)-.18 F .481(alue of the readline)-.25 F F1 (comment\255begin)2.981 E F0 -.25(va)2.981 G .48 -(riable is inserted at the).25 F(be)144 540 Q .097 +(riable is inserted at the).25 F(be)144 681.6 Q .097 (ginning of the current line.)-.15 F .098(If a numeric ar)5.097 F .098 (gument is supplied, this command acts as a toggle:)-.18 F(if)5.098 E -.322(the characters at the be)144 552 R .321 +.322(the characters at the be)144 693.6 R .321 (ginning of the line do not match the v)-.15 F .321(alue of)-.25 F F1 (comment\255begin)2.821 E F0 2.821(,t)C .321(he v)-2.821 F .321(alue is) --.25 F .831(inserted, otherwise the characters in)144 564 R F1 +-.25 F .831(inserted, otherwise the characters in)144 705.6 R F1 (comment\255begin)3.331 E F0 .832(are deleted from the be)3.331 F .832 (ginning of the line.)-.15 F 1.469 -(In either case, the line is accepted as if a ne)144 576 R 1.468 +(In either case, the line is accepted as if a ne)144 717.6 R 1.468 (wline had been typed.)-.25 F 1.468(The def)6.468 F 1.468(ault v)-.1 F -1.468(alue of)-.25 F F1(com-)3.968 E(ment\255begin)144 588 Q F0 .839 -(causes this command to mak)3.339 F 3.339(et)-.1 G .839 -(he current line a shell comment.)-3.339 F .84(If a numeric ar)5.84 F -(gu-)-.18 E(ment causes the comment character to be remo)144 600 Q -.15 -(ve)-.15 G(d, the line will be e).15 E -.15(xe)-.15 G -(cuted by the shell.).15 E F1(glob\255complete\255w)108 612 Q -(ord \(M\255g\))-.1 E F0 .792(The w)144 624 R .791 +1.468(alue of)-.25 F F1(com-)3.968 E(ment\255begin)144 729.6 Q F0 2.572 +(causes this command to mak)5.072 F 5.072(et)-.1 G 2.572 +(he current line a shell comment.)-5.072 F 2.573(If a numeric)7.572 F +(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(44)197.335 E 0 Cg EP +%%Page: 45 45 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E(ar)144 84 Q(gument causes the comment character to be remo)-.18 E +-.15(ve)-.15 G(d, the line will be e).15 E -.15(xe)-.15 G +(cuted by the shell.).15 E/F1 10/Times-Bold@0 SF(glob\255complete\255w) +108 96 Q(ord \(M\255g\))-.1 E F0 .792(The w)144 108 R .791 (ord before point is treated as a pattern for pathname e)-.1 F .791 -(xpansion, with an asterisk implicitly)-.15 F 2.5(appended. This)144 636 +(xpansion, with an asterisk implicitly)-.15 F 2.5(appended. This)144 120 R(pattern is used to generate a list of matching \214le names for possi\ -ble completions.)2.5 E F1(glob\255expand\255w)108 648 Q -(ord \(C\255x *\))-.1 E F0 .371(The w)144 660 R .372 +ble completions.)2.5 E F1(glob\255expand\255w)108 132 Q +(ord \(C\255x *\))-.1 E F0 .371(The w)144 144 R .372 (ord before point is treated as a pattern for pathname e)-.1 F .372 (xpansion, and the list of matching \214le)-.15 F .516 -(names is inserted, replacing the w)144 672 R 3.016(ord. If)-.1 F 3.016 +(names is inserted, replacing the w)144 156 R 3.016(ord. If)-.1 F 3.016 (an)3.016 G .516(umeric ar)-3.016 F .516 (gument is supplied, an asterisk is appended)-.18 F(before pathname e) -144 684 Q(xpansion.)-.15 E F1(glob\255list\255expansions \(C\255x g\)) -108 696 Q F0 .923(The list of e)144 708 R .923(xpansions that w)-.15 F +144 168 Q(xpansion.)-.15 E F1(glob\255list\255expansions \(C\255x g\)) +108 180 Q F0 .923(The list of e)144 192 R .923(xpansions that w)-.15 F .923(ould ha)-.1 F 1.223 -.15(ve b)-.2 H .923(een generated by).15 F F1 (glob\255expand\255w)3.423 E(ord)-.1 E F0 .923(is displayed, and)3.423 F -.872(the line is redra)144 720 R 3.372(wn. If)-.15 F 3.372(an)3.372 G +.872(the line is redra)144 204 R 3.372(wn. If)-.15 F 3.372(an)3.372 G .872(umeric ar)-3.372 F .872 -(gument is supplied, an asterisk is appended before pathname)-.18 F -(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(44)195.945 E 0 Cg EP -%%Page: 45 45 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E -.15(ex)144 84 S(pansion.).15 E/F1 10/Times-Bold@0 SF -(dump\255functions)108 96 Q F0 .626 -(Print all of the functions and their k)144 108 R .926 -.15(ey b)-.1 H +(gument is supplied, an asterisk is appended before pathname)-.18 F -.15 +(ex)144 216 S(pansion.).15 E F1(dump\255functions)108 228 Q F0 .626 +(Print all of the functions and their k)144 240 R .926 -.15(ey b)-.1 H .627(indings to the readline output stream.).15 F .627(If a numeric ar) 5.627 F(gu-)-.18 E -(ment is supplied, the output is formatted in such a w)144 120 Q +(ment is supplied, the output is formatted in such a w)144 252 Q (ay that it can be made part of an)-.1 E/F2 10/Times-Italic@0 SF(inputr) -2.5 E(c)-.37 E F0(\214le.)2.5 E F1(dump\255v)108 132 Q(ariables)-.1 E F0 -1.8(Print all of the settable readline v)144 144 R 1.799 +2.5 E(c)-.37 E F0(\214le.)2.5 E F1(dump\255v)108 264 Q(ariables)-.1 E F0 +1.8(Print all of the settable readline v)144 276 R 1.799 (ariables and their v)-.25 F 1.799(alues to the readline output stream.) --.25 F 1.799(If a)6.799 F .304(numeric ar)144 156 R .304 +-.25 F 1.799(If a)6.799 F .304(numeric ar)144 288 R .304 (gument is supplied, the output is formatted in such a w)-.18 F .304 -(ay that it can be made part of an)-.1 F F2(inputr)144 168 Q(c)-.37 E F0 -(\214le.)2.5 E F1(dump\255macr)108 180 Q(os)-.18 E F0 .593 -(Print all of the readline k)144 192 R .893 -.15(ey s)-.1 H .592 +(ay that it can be made part of an)-.1 F F2(inputr)144 300 Q(c)-.37 E F0 +(\214le.)2.5 E F1(dump\255macr)108 312 Q(os)-.18 E F0 .593 +(Print all of the readline k)144 324 R .893 -.15(ey s)-.1 H .592 (equences bound to macros and the strings the).15 F 3.092(yo)-.15 G -3.092(utput. If)-3.092 F 3.092(an)3.092 G(umeric)-3.092 E(ar)144 204 Q +3.092(utput. If)-3.092 F 3.092(an)3.092 G(umeric)-3.092 E(ar)144 336 Q .528(gument is supplied, the output is formatted in such a w)-.18 F .528 (ay that it can be made part of an)-.1 F F2(inputr)3.028 E(c)-.37 E F0 -(\214le.)144 216 Q F1(display\255shell\255v)108 228 Q -(ersion \(C\255x C\255v\))-.1 E F0(Display v)144 240 Q +(\214le.)144 348 Q F1(display\255shell\255v)108 360 Q +(ersion \(C\255x C\255v\))-.1 E F0(Display v)144 372 Q (ersion information about the current instance of)-.15 E F1(bash)2.5 E -F0(.)A F1(Pr)87 256.8 Q(ogrammable Completion)-.18 E F0 .147(When w)108 -268.8 R .147(ord completion is attempted for an ar)-.1 F .147 +F0(.)A F1(Pr)87 388.8 Q(ogrammable Completion)-.18 E F0 .147(When w)108 +400.8 R .147(ord completion is attempted for an ar)-.1 F .147 (gument to a command for which a completion speci\214cation \(a)-.18 F -F2(compspec)108 280.8 Q F0 3.828(\)h)C 1.329 +F2(compspec)108 412.8 Q F0 3.828(\)h)C 1.329 (as been de\214ned using the)-3.828 F F1(complete)3.829 E F0 -.2(bu) 3.829 G 1.329(iltin \(see).2 F/F3 9/Times-Bold@0 SF 1.329(SHELL B)3.829 F(UIL)-.09 E 1.329(TIN COMMANDS)-.828 F F0(belo)3.579 E 1.329(w\), the) --.25 F(programmable completion f)108 292.8 Q(acilities are in)-.1 E -.2 +-.25 F(programmable completion f)108 424.8 Q(acilities are in)-.1 E -.2 (vo)-.4 G -.1(ke).2 G(d.).1 E .498 -(First, the command name is identi\214ed.)108 309.6 R .498 +(First, the command name is identi\214ed.)108 441.6 R .498 (If the command w)5.498 F .497 (ord is the empty string \(completion attempted at)-.1 F .233(the be)108 -321.6 R .233(ginning of an empty line\), an)-.15 F 2.733(yc)-.15 G .233 +453.6 R .233(ginning of an empty line\), an)-.15 F 2.733(yc)-.15 G .233 (ompspec de\214ned with the)-2.733 F F12.733 E F0 .233(option to) 2.733 F F1(complete)2.733 E F0 .233(is used.)2.733 F .234(If a comp-) 5.234 F .481(spec has been de\214ned for that command, the compspec is \ -used to generate the list of possible completions)108 333.6 R .822 -(for the w)108 345.6 R 3.322(ord. If)-.1 F .822(the command w)3.322 F +used to generate the list of possible completions)108 465.6 R .822 +(for the w)108 477.6 R 3.322(ord. If)-.1 F .822(the command w)3.322 F .823(ord is a full pathname, a compspec for the full pathname is search\ -ed for)-.1 F 2.867(\214rst. If)108 357.6 R .366(no compspec is found fo\ +ed for)-.1 F 2.867(\214rst. If)108 489.6 R .366(no compspec is found fo\ r the full pathname, an attempt is made to \214nd a compspec for the po\ -rtion)2.867 F(follo)108 369.6 Q .421(wing the \214nal slash.)-.25 F .422 +rtion)2.867 F(follo)108 501.6 Q .421(wing the \214nal slash.)-.25 F .422 (If those searches to not result in a compspec, an)5.421 F 2.922(yc)-.15 G .422(ompspec de\214ned with the)-2.922 F F12.922 E F0(option to) -108 381.6 Q F1(complete)2.5 E F0(is used as the def)2.5 E(ault.)-.1 E +108 513.6 Q F1(complete)2.5 E F0(is used as the def)2.5 E(ault.)-.1 E .817(Once a compspec has been found, it is used to generate the list of\ - matching w)108 398.4 R 3.317(ords. If)-.1 F 3.317(ac)3.317 G .817 -(ompspec is not)-3.317 F(found, the def)108 410.4 Q(ault)-.1 E F1(bash) + matching w)108 530.4 R 3.317(ords. If)-.1 F 3.317(ac)3.317 G .817 +(ompspec is not)-3.317 F(found, the def)108 542.4 Q(ault)-.1 E F1(bash) 2.5 E F0(completion as described abo)2.5 E .3 -.15(ve u)-.15 H(nder).15 E F1(Completing)2.5 E F0(is performed.)2.5 E .463 -(First, the actions speci\214ed by the compspec are used.)108 427.2 R +(First, the actions speci\214ed by the compspec are used.)108 559.2 R .464(Only matches which are pre\214x)5.464 F .464(ed by the w)-.15 F -.464(ord being)-.1 F .596(completed are returned.)108 439.2 R .596 +.464(ord being)-.1 F .596(completed are returned.)108 571.2 R .596 (When the)5.596 F F13.096 E F0(or)3.095 E F13.095 E F0 .595 (option is used for \214lename or directory name completion, the)3.095 F -(shell v)108 451.2 Q(ariable)-.25 E F3(FIGNORE)2.5 E F0 -(is used to \214lter the matches.)2.25 E(An)108 468 Q 4.084(yc)-.15 G +(shell v)108 583.2 Q(ariable)-.25 E F3(FIGNORE)2.5 E F0 +(is used to \214lter the matches.)2.25 E(An)108 600 Q 4.084(yc)-.15 G 1.584(ompletions speci\214ed by a pathname e)-4.084 F 1.584 (xpansion pattern to the)-.15 F F14.084 E F0 1.584 -(option are generated ne)4.084 F 4.084(xt. The)-.15 F -.1(wo)108 480 S +(option are generated ne)4.084 F 4.084(xt. The)-.15 F -.1(wo)108 612 S .555(rds generated by the pattern need not match the w).1 F .554 (ord being completed.)-.1 F(The)5.554 E F3(GLOBIGNORE)3.054 E F0 .554 (shell v)2.804 F(ari-)-.25 E -(able is not used to \214lter the matches, b)108 492 Q(ut the)-.2 E F3 -(FIGNORE)2.5 E F0 -.25(va)2.25 G(riable is used.).25 E(Ne)108 508.8 Q +(able is not used to \214lter the matches, b)108 624 Q(ut the)-.2 E F3 +(FIGNORE)2.5 E F0 -.25(va)2.25 G(riable is used.).25 E(Ne)108 640.8 Q .32(xt, the string speci\214ed as the ar)-.15 F .32(gument to the)-.18 F F12.82 E F0 .321(option is considered.)2.821 F .321 (The string is \214rst split using the)5.321 F .413(characters in the) -108 520.8 R F3(IFS)2.913 E F0 .412(special v)2.663 F .412 +108 652.8 R F3(IFS)2.913 E F0 .412(special v)2.663 F .412 (ariable as delimiters.)-.25 F .412(Shell quoting is honored.)5.412 F .412(Each w)5.412 F .412(ord is then e)-.1 F(xpanded)-.15 E .091 -(using brace e)108 532.8 R .091(xpansion, tilde e)-.15 F .092 +(using brace e)108 664.8 R .091(xpansion, tilde e)-.15 F .092 (xpansion, parameter and v)-.15 F .092(ariable e)-.25 F .092 (xpansion, command substitution, and arith-)-.15 F 1.397(metic e)108 -544.8 R 1.396(xpansion, as described abo)-.15 F 1.696 -.15(ve u)-.15 H +676.8 R 1.396(xpansion, as described abo)-.15 F 1.696 -.15(ve u)-.15 H (nder).15 E F3(EXP)3.896 E(ANSION)-.666 E/F4 9/Times-Roman@0 SF(.)A F0 1.396(The results are split using the rules described)5.896 F(abo)108 -556.8 Q .509 -.15(ve u)-.15 H(nder).15 E F1 -.75(Wo)2.709 G .209 +688.8 Q .509 -.15(ve u)-.15 H(nder).15 E F1 -.75(Wo)2.709 G .209 (rd Splitting).75 F F0 5.209(.T)C .209(he results of the e)-5.209 F .209 (xpansion are pre\214x-matched ag)-.15 F .21(ainst the w)-.05 F .21 -(ord being com-)-.1 F(pleted, and the matching w)108 568.8 Q +(ord being com-)-.1 F(pleted, and the matching w)108 700.8 Q (ords become the possible completions.)-.1 E 1.238 -(After these matches ha)108 585.6 R 1.538 -.15(ve b)-.2 H 1.238 +(After these matches ha)108 717.6 R 1.538 -.15(ve b)-.2 H 1.238 (een generated, an).15 F 3.738(ys)-.15 G 1.237 (hell function or command speci\214ed with the)-3.738 F F13.737 E -F0(and)3.737 E F13.737 E F0 3.375(options is in)108 597.6 R -.2 +F0(and)3.737 E F13.737 E F0 3.375(options is in)108 729.6 R -.2 (vo)-.4 G -.1(ke).2 G 5.875(d. When).1 F 3.375 (the command or function is in)5.875 F -.2(vo)-.4 G -.1(ke).2 G 3.375 -(d, the).1 F F3(COMP_LINE)5.876 E F4(,)A F3(COMP_POINT)5.626 E F4(,)A F3 -(COMP_KEY)108 609.6 Q F4(,)A F0(and)2.408 E F3(COMP_TYPE)2.658 E F0 -.25 -(va)2.408 G .157(riables are assigned v).25 F .157 -(alues as described abo)-.25 F .457 -.15(ve u)-.15 H(nder).15 E F1 .157 -(Shell V)2.657 F(ariables)-.92 E F0 5.157(.I)C(f)-5.157 E 3.485(as)108 -621.6 S .986(hell function is being in)-3.485 F -.2(vo)-.4 G -.1(ke).2 G -.986(d, the).1 F F3(COMP_W)3.486 E(ORDS)-.09 E F0(and)3.236 E F3 -(COMP_CW)3.486 E(ORD)-.09 E F0 -.25(va)3.236 G .986 -(riables are also set.).25 F(When)5.986 E .609 -(the function or command is in)108 633.6 R -.2(vo)-.4 G -.1(ke).2 G .608 -(d, the \214rst ar).1 F .608(gument is the name of the command whose ar) --.18 F .608(guments are)-.18 F .073(being completed, the second ar)108 -645.6 R .073(gument is the w)-.18 F .073 -(ord being completed, and the third ar)-.1 F .073(gument is the w)-.18 F -.073(ord pre-)-.1 F .608(ceding the w)108 657.6 R .607 -(ord being completed on the current command line.)-.1 F .607 -(No \214ltering of the generated completions)5.607 F(ag)108 669.6 Q .093 +(d, the).1 F F3(COMP_LINE)5.876 E F4(,)A F3(COMP_POINT)5.626 E F4(,)A F0 +(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(45)197.335 E 0 Cg EP +%%Page: 46 46 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 9/Times-Bold@0 SF(COMP_KEY)108 84 Q/F2 9/Times-Roman@0 SF(,)A +F0(and)2.408 E F1(COMP_TYPE)2.658 E F0 -.25(va)2.408 G .157 +(riables are assigned v).25 F .157(alues as described abo)-.25 F .457 +-.15(ve u)-.15 H(nder).15 E/F3 10/Times-Bold@0 SF .157(Shell V)2.657 F +(ariables)-.92 E F0 5.157(.I)C(f)-5.157 E 3.485(as)108 96 S .986 +(hell function is being in)-3.485 F -.2(vo)-.4 G -.1(ke).2 G .986 +(d, the).1 F F1(COMP_W)3.486 E(ORDS)-.09 E F0(and)3.236 E F1(COMP_CW) +3.486 E(ORD)-.09 E F0 -.25(va)3.236 G .986(riables are also set.).25 F +(When)5.986 E .609(the function or command is in)108 108 R -.2(vo)-.4 G +-.1(ke).2 G .608(d, the \214rst ar).1 F .608 +(gument is the name of the command whose ar)-.18 F .608(guments are)-.18 +F .073(being completed, the second ar)108 120 R .073(gument is the w) +-.18 F .073(ord being completed, and the third ar)-.1 F .073 +(gument is the w)-.18 F .073(ord pre-)-.1 F .608(ceding the w)108 132 R +.607(ord being completed on the current command line.)-.1 F .607 +(No \214ltering of the generated completions)5.607 F(ag)108 144 Q .093 (ainst the w)-.05 F .093(ord being completed is performed; the function\ or command has complete freedom in generat-)-.1 F(ing the matches.)108 -681.6 Q(An)108 698.4 Q 2.938(yf)-.15 G .437(unction speci\214ed with) --2.938 F F12.937 E F0 .437(is in)2.937 F -.2(vo)-.4 G -.1(ke).2 G +156 Q(An)108 172.8 Q 2.938(yf)-.15 G .437(unction speci\214ed with) +-2.938 F F32.937 E F0 .437(is in)2.937 F -.2(vo)-.4 G -.1(ke).2 G 2.937<648c>.1 G 2.937(rst. The)-2.937 F .437(function may use an)2.937 F 2.937(yo)-.15 G 2.937(ft)-2.937 G .437(he shell f)-2.937 F .437 -(acilities, including)-.1 F(the)108 710.4 Q F1(compgen)2.956 E F0 -.2 +(acilities, including)-.1 F(the)108 184.8 Q F3(compgen)2.956 E F0 -.2 (bu)2.956 G .456(iltin described belo).2 F 1.756 -.65(w, t)-.25 H 2.956 (og).65 G .456(enerate the matches.)-2.956 F .457 -(It must put the possible completions in the)5.456 F F3(COMPREPL)108 -722.4 Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E(GNU Bash-4.1)72 768 -Q(2010 April 17)145.955 E(45)195.945 E 0 Cg EP -%%Page: 46 46 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(Ne)108 84 Q .081(xt, an)-.15 F 2.581(yc)-.15 G .081 -(ommand speci\214ed with the)-2.581 F/F1 10/Times-Bold@0 SF2.581 E -F0 .081(option is in)2.581 F -.2(vo)-.4 G -.1(ke).2 G 2.581(di).1 G 2.58 -(na)-2.581 G 2.58(ne)-2.58 G -.4(nv)-2.58 G .08(ironment equi).4 F -.25 -(va)-.25 G .08(lent to command sub-).25 F 2.858(stitution. It)108 96 R -.359(should print a list of completions, one per line, to the standard \ -output.)2.858 F .359(Backslash may be used)5.359 F(to escape a ne)108 -108 Q(wline, if necessary)-.25 E(.)-.65 E .377 -(After all of the possible completions are generated, an)108 124.8 R -2.877<798c>-.15 G .377(lter speci\214ed with the)-2.877 F F12.876 -E F0 .376(option is applied to the)2.876 F 3.181(list. The)108 136.8 R +(It must put the possible completions in the)5.456 F F1(COMPREPL)108 +196.8 Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E(Ne)108 213.6 Q .081 +(xt, an)-.15 F 2.581(yc)-.15 G .081(ommand speci\214ed with the)-2.581 F +F32.581 E F0 .081(option is in)2.581 F -.2(vo)-.4 G -.1(ke).2 G +2.581(di).1 G 2.58(na)-2.581 G 2.58(ne)-2.58 G -.4(nv)-2.58 G .08 +(ironment equi).4 F -.25(va)-.25 G .08(lent to command sub-).25 F 2.858 +(stitution. It)108 225.6 R .359(should print a list of completions, one\ + per line, to the standard output.)2.858 F .359(Backslash may be used) +5.359 F(to escape a ne)108 237.6 Q(wline, if necessary)-.25 E(.)-.65 E +.377(After all of the possible completions are generated, an)108 254.4 R +2.877<798c>-.15 G .377(lter speci\214ed with the)-2.877 F F32.876 +E F0 .376(option is applied to the)2.876 F 3.181(list. The)108 266.4 R .681(\214lter is a pattern as used for pathname e)3.181 F .681 -(xpansion; a)-.15 F F1(&)3.181 E F0 .682 +(xpansion; a)-.15 F F3(&)3.181 E F0 .682 (in the pattern is replaced with the te)3.182 F .682(xt of)-.15 F .523 -(the w)108 148.8 R .523(ord being completed.)-.1 F 3.023(Al)5.523 G -(iteral)-3.023 E F1(&)3.023 E F0 .522 +(the w)108 278.4 R .523(ord being completed.)-.1 F 3.023(Al)5.523 G +(iteral)-3.023 E F3(&)3.023 E F0 .522 (may be escaped with a backslash; the backslash is remo)3.022 F -.15(ve) --.15 G 3.022(db).15 G(efore)-3.022 E .849(attempting a match.)108 160.8 +-.15 G 3.022(db).15 G(efore)-3.022 E .849(attempting a match.)108 290.4 R(An)5.849 E 3.349(yc)-.15 G .849 (ompletion that matches the pattern will be remo)-3.349 F -.15(ve)-.15 G -3.35(df).15 G .85(rom the list.)-3.35 F 3.35(Al)5.85 G(eading)-3.35 E F1 -(!)3.35 E F0(ne)108 172.8 Q -.05(ga)-.15 G +3.35(df).15 G .85(rom the list.)-3.35 F 3.35(Al)5.85 G(eading)-3.35 E F3 +(!)3.35 E F0(ne)108 302.4 Q -.05(ga)-.15 G (tes the pattern; in this case an).05 E 2.5(yc)-.15 G (ompletion not matching the pattern will be remo)-2.5 E -.15(ve)-.15 G -(d.).15 E(Finally)108 189.6 Q 3.087(,a)-.65 G .887 -.15(ny p)-3.087 H -.587(re\214x and suf).15 F .587(\214x speci\214ed with the)-.25 F F1 -3.087 E F0(and)3.087 E F13.087 E F0 .587 +(d.).15 E(Finally)108 319.2 Q 3.087(,a)-.65 G .887 -.15(ny p)-3.087 H +.587(re\214x and suf).15 F .587(\214x speci\214ed with the)-.25 F F3 +3.087 E F0(and)3.087 E F33.087 E F0 .587 (options are added to each member of the com-)3.087 F(pletion list, and\ the result is returned to the readline completion code as the list of \ -possible completions.)108 201.6 Q .246(If the pre)108 218.4 R .247 +possible completions.)108 331.2 Q .246(If the pre)108 348 R .247 (viously-applied actions do not generate an)-.25 F 2.747(ym)-.15 G .247 -(atches, and the)-2.747 F F1 .247(\255o dir)2.747 F(names)-.15 E F0 .247 -(option w)2.747 F .247(as supplied to)-.1 F F1(complete)108 230.4 Q F0 +(atches, and the)-2.747 F F3 .247(\255o dir)2.747 F(names)-.15 E F0 .247 +(option w)2.747 F .247(as supplied to)-.1 F F3(complete)108 360 Q F0 (when the compspec w)2.5 E (as de\214ned, directory name completion is attempted.)-.1 E .462 -(If the)108 247.2 R F1 .462(\255o plusdirs)2.962 F F0 .462(option w) -2.962 F .462(as supplied to)-.1 F F1(complete)2.962 E F0 .462 +(If the)108 376.8 R F3 .462(\255o plusdirs)2.962 F F0 .462(option w) +2.962 F .462(as supplied to)-.1 F F3(complete)2.962 E F0 .462 (when the compspec w)2.962 F .462(as de\214ned, directory name com-)-.1 -F(pletion is attempted and an)108 259.2 Q 2.5(ym)-.15 G +F(pletion is attempted and an)108 388.8 Q 2.5(ym)-.15 G (atches are added to the results of the other actions.)-2.5 E .559 -(By def)108 276 R .559(ault, if a compspec is found, whate)-.1 F -.15 +(By def)108 405.6 R .559(ault, if a compspec is found, whate)-.1 F -.15 (ve)-.25 G 3.059(ri).15 G 3.059(tg)-3.059 G .56 (enerates is returned to the completion code as the full set)-3.059 F -.632(of possible completions.)108 288 R .632(The def)5.632 F(ault)-.1 E -F1(bash)3.132 E F0 .631 +.632(of possible completions.)108 417.6 R .632(The def)5.632 F(ault)-.1 +E F3(bash)3.132 E F0 .631 (completions are not attempted, and the readline def)3.131 F .631 -(ault of \214le-)-.1 F .558(name completion is disabled.)108 300 R .558 -(If the)5.558 F F1 .559(\255o bashdefault)3.059 F F0 .559(option w)3.059 -F .559(as supplied to)-.1 F F1(complete)3.059 E F0 .559 -(when the compspec)3.059 F -.1(wa)108 312 S 3.172(sd).1 G .672 -(e\214ned, the)-3.172 F F1(bash)3.172 E F0(def)3.172 E .671 +(ault of \214le-)-.1 F .558(name completion is disabled.)108 429.6 R +.558(If the)5.558 F F3 .559(\255o bashdefault)3.059 F F0 .559(option w) +3.059 F .559(as supplied to)-.1 F F3(complete)3.059 E F0 .559 +(when the compspec)3.059 F -.1(wa)108 441.6 S 3.172(sd).1 G .672 +(e\214ned, the)-3.172 F F3(bash)3.172 E F0(def)3.172 E .671 (ault completions are attempted if the compspec generates no matches.) --.1 F .671(If the)5.671 F F13.171 E(default)108 324 Q F0 1.207 -(option w)3.706 F 1.207(as supplied to)-.1 F F1(complete)3.707 E F0 +-.1 F .671(If the)5.671 F F33.171 E(default)108 453.6 Q F0 1.207 +(option w)3.706 F 1.207(as supplied to)-.1 F F3(complete)3.707 E F0 1.207(when the compspec w)3.707 F 1.207(as de\214ned, readline')-.1 F 3.707(sd)-.55 G(ef)-3.707 E 1.207(ault completion)-.1 F -(will be performed if the compspec \(and, if attempted, the def)108 336 -Q(ault)-.1 E F1(bash)2.5 E F0(completions\) generate no matches.)2.5 E -.245(When a compspec indicates that directory name completion is desire\ -d, the programmable completion func-)108 352.8 R .632(tions force readl\ -ine to append a slash to completed names which are symbolic links to di\ -rectories, subject)108 364.8 R 2.762(to the v)108 376.8 R 2.762 -(alue of the)-.25 F F1(mark\255dir)5.262 E(ectories)-.18 E F0 2.761 +(will be performed if the compspec \(and, if attempted, the def)108 +465.6 Q(ault)-.1 E F3(bash)2.5 E F0(completions\) generate no matches.) +2.5 E .245(When a compspec indicates that directory name completion is \ +desired, the programmable completion func-)108 482.4 R .632(tions force\ + readline to append a slash to completed names which are symbolic links\ + to directories, subject)108 494.4 R 2.762(to the v)108 506.4 R 2.762 +(alue of the)-.25 F F3(mark\255dir)5.262 E(ectories)-.18 E F0 2.761 (readline v)5.262 F 2.761(ariable, re)-.25 F -.05(ga)-.15 G 2.761 -(rdless of the setting of the).05 F F1(mark-sym-)5.261 E(link)108 388.8 +(rdless of the setting of the).05 F F3(mark-sym-)5.261 E(link)108 518.4 Q(ed\255dir)-.1 E(ectories)-.18 E F0(readline v)2.5 E(ariable.)-.25 E .19(There is some support for dynamically modifying completions.)108 -405.6 R .191(This is most useful when used in combina-)5.191 F 1.33 -(tion with a def)108 417.6 R 1.33(ault completion speci\214ed with)-.1 F -F1 1.33(complete -D)3.83 F F0 6.33(.I)C(t')-6.33 E 3.83(sp)-.55 G 1.33 +535.2 R .191(This is most useful when used in combina-)5.191 F 1.33 +(tion with a def)108 547.2 R 1.33(ault completion speci\214ed with)-.1 F +F3 1.33(complete -D)3.83 F F0 6.33(.I)C(t')-6.33 E 3.83(sp)-.55 G 1.33 (ossible for shell functions e)-3.83 F -.15(xe)-.15 G 1.33(cuted as).15 F .93(completion handlers to indicate that completion should be retried\ - by returning an e)108 429.6 R .93(xit status of 124.)-.15 F .93(If a) + by returning an e)108 559.2 R .93(xit status of 124.)-.15 F .93(If a) 5.93 F .1(shell function returns 124, and changes the compspec associat\ -ed with the command on which completion is)108 441.6 R .665 -(being attempted \(supplied as the \214rst ar)108 453.6 R .666 +ed with the command on which completion is)108 571.2 R .665 +(being attempted \(supplied as the \214rst ar)108 583.2 R .666 (gument when the function is e)-.18 F -.15(xe)-.15 G .666 (cuted\), programmable completion).15 F .084(restarts from the be)108 -465.6 R .084(ginning, with an attempt to \214nd a ne)-.15 F 2.584(wc) +595.2 R .084(ginning, with an attempt to \214nd a ne)-.15 F 2.584(wc) -.25 G .084(ompspec for that command.)-2.584 F .083(This allo)5.083 F -.083(ws a set of)-.25 F(completions to be b)108 477.6 Q(uilt dynamicall\ +.083(ws a set of)-.25 F(completions to be b)108 607.2 Q(uilt dynamicall\ y as completion is attempted, rather than being loaded all at once.)-.2 -E -.15(Fo)108 494.4 S 2.636(ri).15 G .137 +E -.15(Fo)108 624 S 2.636(ri).15 G .137 (nstance, assuming that there is a library of compspecs, each k)-2.636 F .137(ept in a \214le corresponding to the name of)-.1 F -(the command, the follo)108 506.4 Q(wing def)-.25 E +(the command, the follo)108 636 Q(wing def)-.25 E (ault completion function w)-.1 E(ould load completions dynamically:)-.1 -E/F2 10/Courier@0 SF(_completion_loader\(\))108 523.2 Q({)108 535.2 Q 6 -(.")144 547.2 S +E/F4 10/Courier@0 SF(_completion_loader\(\))108 652.8 Q({)108 664.8 Q 6 +(.")144 676.8 S (/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124)-6 E(})108 -559.2 Q(complete -D -F _completion_loader)108 571.2 Q/F3 10.95 -/Times-Bold@0 SF(HIST)72 600 Q(OR)-.197 E(Y)-.383 E F0 .372(When the)108 -612 R F1 .372(\255o history)2.872 F F0 .372(option to the)2.872 F F1 -(set)2.872 E F0 -.2(bu)2.872 G .372(iltin is enabled, the shell pro).2 F -.371(vides access to the)-.15 F/F4 10/Times-Italic@0 SF .371 -(command history)2.871 F F0(,)A .304(the list of commands pre)108 624 R -.304(viously typed.)-.25 F .304(The v)5.304 F .304(alue of the)-.25 F/F5 -9/Times-Bold@0 SF(HISTSIZE)2.804 E F0 -.25(va)2.554 G .305 -(riable is used as the number of com-).25 F .43(mands to sa)108 636 R -.73 -.15(ve i)-.2 H 2.93(nah).15 G .43(istory list.)-2.93 F .43(The te) -5.43 F .429(xt of the last)-.15 F F5(HISTSIZE)2.929 E F0 .429 -(commands \(def)2.679 F .429(ault 500\) is sa)-.1 F -.15(ve)-.2 G 2.929 -(d. The).15 F(shell)2.929 E .287 +688.8 Q(complete -D -F _completion_loader)108 700.8 Q F0(GNU Bash-4.1)72 +768 Q(2010 May 30)147.345 E(46)197.335 E 0 Cg EP +%%Page: 47 47 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10.95/Times-Bold@0 SF(HIST)72 84 Q(OR)-.197 E(Y)-.383 E F0 +.372(When the)108 96 R/F2 10/Times-Bold@0 SF .372(\255o history)2.872 F +F0 .372(option to the)2.872 F F2(set)2.872 E F0 -.2(bu)2.872 G .372 +(iltin is enabled, the shell pro).2 F .371(vides access to the)-.15 F/F3 +10/Times-Italic@0 SF .371(command history)2.871 F F0(,)A .304 +(the list of commands pre)108 108 R .304(viously typed.)-.25 F .304 +(The v)5.304 F .304(alue of the)-.25 F/F4 9/Times-Bold@0 SF(HISTSIZE) +2.804 E F0 -.25(va)2.554 G .305(riable is used as the number of com-).25 +F .43(mands to sa)108 120 R .73 -.15(ve i)-.2 H 2.93(nah).15 G .43 +(istory list.)-2.93 F .43(The te)5.43 F .429(xt of the last)-.15 F F4 +(HISTSIZE)2.929 E F0 .429(commands \(def)2.679 F .429(ault 500\) is sa) +-.1 F -.15(ve)-.2 G 2.929(d. The).15 F(shell)2.929 E .287 (stores each command in the history list prior to parameter and v)108 -648 R .287(ariable e)-.25 F .287(xpansion \(see)-.15 F F5(EXP)2.787 E -(ANSION)-.666 E F0(abo)2.537 E -.15(ve)-.15 G(\)).15 E -.2(bu)108 660 S +132 R .287(ariable e)-.25 F .287(xpansion \(see)-.15 F F4(EXP)2.787 E +(ANSION)-.666 E F0(abo)2.537 E -.15(ve)-.15 G(\)).15 E -.2(bu)108 144 S 4.066(ta).2 G 1.565(fter history e)-4.066 F 1.565 (xpansion is performed, subject to the v)-.15 F 1.565 -(alues of the shell v)-.25 F(ariables)-.25 E F5(HISTIGNORE)4.065 E F0 -(and)3.815 E F5(HISTCONTR)108 672 Q(OL)-.27 E/F6 9/Times-Roman@0 SF(.)A +(alues of the shell v)-.25 F(ariables)-.25 E F4(HISTIGNORE)4.065 E F0 +(and)3.815 E F4(HISTCONTR)108 156 Q(OL)-.27 E/F5 9/Times-Roman@0 SF(.)A F0 .082 (On startup, the history is initialized from the \214le named by the v) -108 688.8 R(ariable)-.25 E F5(HISTFILE)2.583 E F0(\(def)2.333 E(ault)-.1 -E F4(~/.bash_history)2.583 E F0(\).)A .315(The \214le named by the v)108 -700.8 R .315(alue of)-.25 F F5(HISTFILE)2.815 E F0 .315 +108 172.8 R(ariable)-.25 E F4(HISTFILE)2.583 E F0(\(def)2.333 E(ault)-.1 +E F3(~/.bash_history)2.583 E F0(\).)A .315(The \214le named by the v)108 +184.8 R .315(alue of)-.25 F F4(HISTFILE)2.815 E F0 .315 (is truncated, if necessary)2.565 F 2.815(,t)-.65 G 2.815(oc)-2.815 G .315(ontain no more than the number of)-2.815 F .532 -(lines speci\214ed by the v)108 712.8 R .532(alue of)-.25 F F5 -(HISTFILESIZE)3.032 E F6(.)A F0 .532 +(lines speci\214ed by the v)108 196.8 R .532(alue of)-.25 F F4 +(HISTFILESIZE)3.032 E F5(.)A F0 .532 (When the history \214le is read, lines be)5.032 F .532 (ginning with the his-)-.15 F 1.159(tory comment character follo)108 -724.8 R 1.158(wed immediately by a digit are interpreted as timestamps \ -for the preceding)-.25 F(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E -(46)195.945 E 0 Cg EP -%%Page: 47 47 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E .052(history line.)108 84 R .053 +208.8 R 1.158(wed immediately by a digit are interpreted as timestamps \ +for the preceding)-.25 F .052(history line.)108 220.8 R .053 (These timestamps are optionally displayed depending on the v)5.052 F -.053(alue of the)-.25 F/F1 9/Times-Bold@0 SF(HISTTIMEFORMA)2.553 E(T) --.855 E F0 -.25(va)108 96 S 4.387(riable. When).25 F 1.887(an interacti) -4.387 F 2.187 -.15(ve s)-.25 H 1.887(hell e).15 F 1.887(xits, the last) --.15 F F1($HISTSIZE)4.387 E F0 1.887 -(lines are copied from the history list to)4.137 F F1($HISTFILE)108 108 -Q/F2 9/Times-Roman@0 SF(.)A F0 .056(If the)4.556 F/F3 10/Times-Bold@0 SF +.053(alue of the)-.25 F F4(HISTTIMEFORMA)2.553 E(T)-.855 E F0 -.25(va) +108 232.8 S 4.387(riable. When).25 F 1.887(an interacti)4.387 F 2.187 +-.15(ve s)-.25 H 1.887(hell e).15 F 1.887(xits, the last)-.15 F F4 +($HISTSIZE)4.387 E F0 1.887(lines are copied from the history list to) +4.137 F F4($HISTFILE)108 244.8 Q F5(.)A F0 .056(If the)4.556 F F2 (histappend)2.556 E F0 .056 -(shell option is enabled \(see the description of)2.556 F F3(shopt)2.556 -E F0(under)2.556 E F1 .056(SHELL B)2.556 F(UIL)-.09 E(TIN)-.828 E -(COMMANDS)108 120 Q F0(belo)2.672 E .422(w\), the lines are appended to\ - the history \214le, otherwise the history \214le is o)-.25 F -.15(ve) --.15 G 2.921(rwritten. If).15 F F1(HISTFILE)108 132 Q F0 .435(is unset,\ - or if the history \214le is unwritable, the history is not sa)2.684 F --.15(ve)-.2 G 2.935(d. If).15 F(the)2.935 E F1(HISTTIMEFORMA)2.935 E(T) --.855 E F0 -.25(va)108 144 S .917 +(shell option is enabled \(see the description of)2.556 F F2(shopt)2.556 +E F0(under)2.556 E F4 .056(SHELL B)2.556 F(UIL)-.09 E(TIN)-.828 E +(COMMANDS)108 256.8 Q F0(belo)2.672 E .422(w\), the lines are appended \ +to the history \214le, otherwise the history \214le is o)-.25 F -.15(ve) +-.15 G 2.921(rwritten. If).15 F F4(HISTFILE)108 268.8 Q F0 .435(is unse\ +t, or if the history \214le is unwritable, the history is not sa)2.684 F +-.15(ve)-.2 G 2.935(d. If).15 F(the)2.935 E F4(HISTTIMEFORMA)2.935 E(T) +-.855 E F0 -.25(va)108 280.8 S .917 (riable is set, time stamps are written to the history \214le, mark).25 F .916(ed with the history comment character)-.1 F 3.416(,s)-.4 G(o) --3.416 E(the)108 156 Q 3.082(ym)-.15 G .582(ay be preserv)-3.082 F .582 -(ed across shell sessions.)-.15 F .583 +-3.416 E(the)108 292.8 Q 3.082(ym)-.15 G .582(ay be preserv)-3.082 F +.582(ed across shell sessions.)-.15 F .583 (This uses the history comment character to distinguish time-)5.583 F -.987(stamps from other history lines.)108 168 R .987(After sa)5.987 F +.987(stamps from other history lines.)108 304.8 R .987(After sa)5.987 F .987(ving the history)-.2 F 3.486(,t)-.65 G .986 -(he history \214le is truncated to contain no more)-3.486 F(than)108 180 -Q F1(HISTFILESIZE)2.5 E F0 2.5(lines. If)2.25 F F1(HISTFILESIZE)2.5 E F0 -(is not set, no truncation is performed.)2.25 E 1.293(The b)108 196.8 R -1.293(uiltin command)-.2 F F3(fc)3.793 E F0(\(see)3.793 E F1 1.293 -(SHELL B)3.793 F(UIL)-.09 E 1.293(TIN COMMANDS)-.828 F F0(belo)3.543 E -1.294(w\) may be used to list or edit and re-)-.25 F -.15(exe)108 208.8 -S .674(cute a portion of the history list.).15 F(The)5.673 E F3(history) -3.173 E F0 -.2(bu)3.173 G .673 +(he history \214le is truncated to contain no more)-3.486 F(than)108 +316.8 Q F4(HISTFILESIZE)2.5 E F0 2.5(lines. If)2.25 F F4(HISTFILESIZE) +2.5 E F0(is not set, no truncation is performed.)2.25 E 1.293(The b)108 +333.6 R 1.293(uiltin command)-.2 F F2(fc)3.793 E F0(\(see)3.793 E F4 +1.293(SHELL B)3.793 F(UIL)-.09 E 1.293(TIN COMMANDS)-.828 F F0(belo) +3.543 E 1.294(w\) may be used to list or edit and re-)-.25 F -.15(exe) +108 345.6 S .674(cute a portion of the history list.).15 F(The)5.673 E +F2(history)3.173 E F0 -.2(bu)3.173 G .673 (iltin may be used to display or modify the history list).2 F .279 -(and manipulate the history \214le.)108 220.8 R .279 +(and manipulate the history \214le.)108 357.6 R .279 (When using command-line editing, search commands are a)5.279 F -.25(va) --.2 G .28(ilable in each).25 F(editing mode that pro)108 232.8 Q -(vide access to the history list.)-.15 E 1.486(The shell allo)108 249.6 +-.2 G .28(ilable in each).25 F(editing mode that pro)108 369.6 Q +(vide access to the history list.)-.15 E 1.486(The shell allo)108 386.4 R 1.486(ws control o)-.25 F -.15(ve)-.15 G 3.986(rw).15 G 1.486 (hich commands are sa)-3.986 F -.15(ve)-.2 G 3.986(do).15 G 3.986(nt) --3.986 G 1.486(he history list.)-3.986 F(The)6.485 E F1(HISTCONTR)3.985 -E(OL)-.27 E F0(and)3.735 E F1(HISTIGNORE)108 261.6 Q F0 -.25(va)2.707 G +-3.986 G 1.486(he history list.)-3.986 F(The)6.485 E F4(HISTCONTR)3.985 +E(OL)-.27 E F0(and)3.735 E F4(HISTIGNORE)108 398.4 Q F0 -.25(va)2.707 G .457(riables may be set to cause the shell to sa).25 F .758 -.15(ve o) --.2 H .458(nly a subset of the commands entered.).15 F(The)5.458 E F3 -(cmdhist)108 273.6 Q F0 .75 +-.2 H .458(nly a subset of the commands entered.).15 F(The)5.458 E F2 +(cmdhist)108 410.4 Q F0 .75 (shell option, if enabled, causes the shell to attempt to sa)3.25 F 1.05 -.15(ve e)-.2 H .75(ach line of a multi-line command in).15 F 1.077 -(the same history entry)108 285.6 R 3.577(,a)-.65 G 1.077 +(the same history entry)108 422.4 R 3.577(,a)-.65 G 1.077 (dding semicolons where necessary to preserv)-3.577 F 3.577(es)-.15 G -1.077(yntactic correctness.)-3.577 F(The)6.077 E F3(lithist)3.577 E F0 -.374(shell option causes the shell to sa)108 297.6 R .674 -.15(ve t)-.2 +1.077(yntactic correctness.)-3.577 F(The)6.077 E F2(lithist)3.577 E F0 +.374(shell option causes the shell to sa)108 434.4 R .674 -.15(ve t)-.2 H .374(he command with embedded ne).15 F .373 (wlines instead of semicolons.)-.25 F .373(See the)5.373 F .318 -(description of the)108 309.6 R F3(shopt)2.818 E F0 -.2(bu)2.818 G .318 -(iltin belo).2 F 2.818(wu)-.25 G(nder)-2.818 E F1 .318(SHELL B)2.818 F +(description of the)108 446.4 R F2(shopt)2.818 E F0 -.2(bu)2.818 G .318 +(iltin belo).2 F 2.818(wu)-.25 G(nder)-2.818 E F4 .318(SHELL B)2.818 F (UIL)-.09 E .318(TIN COMMANDS)-.828 F F0 .319 (for information on setting and)2.568 F(unsetting shell options.)108 -321.6 Q/F4 10.95/Times-Bold@0 SF(HIST)72 338.4 Q(OR)-.197 E 2.738(YE) --.383 G(XP)-2.738 E(ANSION)-.81 E F0 .611 -(The shell supports a history e)108 350.4 R .611 +458.4 Q F1(HIST)72 475.2 Q(OR)-.197 E 2.738(YE)-.383 G(XP)-2.738 E +(ANSION)-.81 E F0 .611(The shell supports a history e)108 487.2 R .611 (xpansion feature that is similar to the history e)-.15 F .61 -(xpansion in)-.15 F F3(csh.)3.11 E F0 .61(This section)5.61 F .87 -(describes what syntax features are a)108 362.4 R -.25(va)-.2 G 3.371 +(xpansion in)-.15 F F2(csh.)3.11 E F0 .61(This section)5.61 F .87 +(describes what syntax features are a)108 499.2 R -.25(va)-.2 G 3.371 (ilable. This).25 F .871(feature is enabled by def)3.371 F .871 (ault for interacti)-.1 F 1.171 -.15(ve s)-.25 H .871(hells, and).15 F -2.014(can be disabled using the)108 374.4 R F3(+H)4.514 E F0 2.014 -(option to the)4.514 F F3(set)4.514 E F0 -.2(bu)4.514 G 2.014 -(iltin command \(see).2 F F1 2.013(SHELL B)4.513 F(UIL)-.09 E 2.013 -(TIN COMMANDS)-.828 F F0(belo)108 386.4 Q 2.5(w\). Non-interacti)-.25 F +2.014(can be disabled using the)108 511.2 R F2(+H)4.514 E F0 2.014 +(option to the)4.514 F F2(set)4.514 E F0 -.2(bu)4.514 G 2.014 +(iltin command \(see).2 F F4 2.013(SHELL B)4.513 F(UIL)-.09 E 2.013 +(TIN COMMANDS)-.828 F F0(belo)108 523.2 Q 2.5(w\). Non-interacti)-.25 F .3 -.15(ve s)-.25 H(hells do not perform history e).15 E -(xpansion by def)-.15 E(ault.)-.1 E 1.305(History e)108 403.2 R 1.305 +(xpansion by def)-.15 E(ault.)-.1 E 1.305(History e)108 540 R 1.305 (xpansions introduce w)-.15 F 1.306(ords from the history list into the\ input stream, making it easy to repeat)-.1 F .21 -(commands, insert the ar)108 415.2 R .21(guments to a pre)-.18 F .209 +(commands, insert the ar)108 552 R .21(guments to a pre)-.18 F .209 (vious command into the current input line, or \214x errors in pre)-.25 -F(vious)-.25 E(commands quickly)108 427.2 Q(.)-.65 E 1.163(History e)108 -444 R 1.163(xpansion is performed immediately after a complete line is \ -read, before the shell breaks it into)-.15 F -.1(wo)108 456 S 3.2 +F(vious)-.25 E(commands quickly)108 564 Q(.)-.65 E 1.163(History e)108 +580.8 R 1.163(xpansion is performed immediately after a complete line i\ +s read, before the shell breaks it into)-.15 F -.1(wo)108 592.8 S 3.2 (rds. It).1 F(tak)3.2 E .7(es place in tw)-.1 F 3.2(op)-.1 G 3.2 (arts. The)-3.2 F .7 (\214rst is to determine which line from the history list to use during) -3.2 F 4.367(substitution. The)108 468 R 1.868(second is to select porti\ -ons of that line for inclusion into the current one.)4.367 F 1.868 -(The line)6.868 F .663(selected from the history is the)108 480 R/F5 10 -/Times-Italic@0 SF -.15(ev)3.163 G(ent).15 E F0 3.163(,a)C .663 -(nd the portions of that line that are acted upon are)-3.163 F F5(wor) -3.162 E(ds)-.37 E F0 5.662(.V)C(arious)-6.772 E F5(modi\214er)108 492 Q -(s)-.1 E F0 .226(are a)2.726 F -.25(va)-.2 G .226 +3.2 F 4.367(substitution. The)108 604.8 R 1.868(second is to select por\ +tions of that line for inclusion into the current one.)4.367 F 1.868 +(The line)6.868 F .663(selected from the history is the)108 616.8 R F3 +-.15(ev)3.163 G(ent).15 E F0 3.163(,a)C .663 +(nd the portions of that line that are acted upon are)-3.163 F F3(wor) +3.162 E(ds)-.37 E F0 5.662(.V)C(arious)-6.772 E F3(modi\214er)108 628.8 +Q(s)-.1 E F0 .226(are a)2.726 F -.25(va)-.2 G .226 (ilable to manipulate the selected w).25 F 2.726(ords. The)-.1 F .227 (line is brok)2.726 F .227(en into w)-.1 F .227(ords in the same f)-.1 F -(ashion)-.1 E .352(as when reading input, so that se)108 504 R -.15(ve) --.25 G(ral).15 E F5(metac)2.852 E(har)-.15 E(acter)-.15 E F0 .351 +(ashion)-.1 E .352(as when reading input, so that se)108 640.8 R -.15 +(ve)-.25 G(ral).15 E F3(metac)2.852 E(har)-.15 E(acter)-.15 E F0 .351 (-separated w)B .351(ords surrounded by quotes are considered)-.1 F .624 -(one w)108 516 R 3.124(ord. History)-.1 F -.15(ex)3.124 G .624 +(one w)108 652.8 R 3.124(ord. History)-.1 F -.15(ex)3.124 G .624 (pansions are introduced by the appearance of the history e).15 F .625 -(xpansion character)-.15 F 3.125(,w)-.4 G(hich)-3.125 E(is)108 528 Q F3 -(!)3.333 E F0(by def)3.333 E 2.5(ault. Only)-.1 F(backslash \()2.5 E F3 -(\\).833 E F0 2.5(\)a).833 G(nd single quotes can quote the history e) --2.5 E(xpansion character)-.15 E(.)-.55 E(Se)108 544.8 Q -.15(ve)-.25 G +(xpansion character)-.15 F 3.125(,w)-.4 G(hich)-3.125 E(is)108 664.8 Q +F2(!)3.333 E F0(by def)3.333 E 2.5(ault. Only)-.1 F(backslash \()2.5 E +F2(\\).833 E F0 2.5(\)a).833 G(nd single quotes can quote the history e) +-2.5 E(xpansion character)-.15 E(.)-.55 E(Se)108 681.6 Q -.15(ve)-.25 G .03(ral characters inhibit history e).15 F .03 (xpansion if found immediately follo)-.15 F .03(wing the history e)-.25 -F .03(xpansion character)-.15 F(,)-.4 E -2.15 -.25(ev e)108 556.8 T +F .03(xpansion character)-.15 F(,)-.4 E -2.15 -.25(ev e)108 693.6 T 3.162(ni).25 G 3.162(fi)-3.162 G 3.162(ti)-3.162 G 3.162(su)-3.162 G .662(nquoted: space, tab, ne)-3.162 F .662(wline, carriage return, and) --.25 F F3(=)3.162 E F0 5.662(.I)C 3.162(ft)-5.662 G(he)-3.162 E F3 -(extglob)3.162 E F0 .662(shell option is enabled,)3.162 F F3(\()3.163 E -F0(will also inhibit e)108 568.8 Q(xpansion.)-.15 E(Se)108 585.6 Q -.15 -(ve)-.25 G .11(ral shell options settable with the).15 F F3(shopt)2.61 E +-.25 F F2(=)3.162 E F0 5.662(.I)C 3.162(ft)-5.662 G(he)-3.162 E F2 +(extglob)3.162 E F0 .662(shell option is enabled,)3.162 F F2(\()3.163 E +F0(will also inhibit e)108 705.6 Q(xpansion.)-.15 E(Se)108 722.4 Q -.15 +(ve)-.25 G .11(ral shell options settable with the).15 F F2(shopt)2.61 E F0 -.2(bu)2.61 G .109(iltin may be used to tailor the beha).2 F .109 -(vior of history e)-.2 F(xpansion.)-.15 E 1.142(If the)108 597.6 R F3 -(histv)3.643 E(erify)-.1 E F0 1.143 -(shell option is enabled \(see the description of the)3.643 F F3(shopt) -3.643 E F0 -.2(bu)3.643 G 1.143(iltin belo).2 F 1.143(w\), and)-.25 F F3 --.18(re)3.643 G(adline).18 E F0(is)3.643 E .461(being used, history sub\ -stitutions are not immediately passed to the shell parser)108 609.6 R -5.46(.I)-.55 G .46(nstead, the e)-5.46 F .46(xpanded line)-.15 F 1.515 -(is reloaded into the)108 621.6 R F3 -.18(re)4.015 G(adline).18 E F0 -1.515(editing b)4.015 F(uf)-.2 E 1.516(fer for further modi\214cation.) --.25 F(If)6.516 E F3 -.18(re)4.016 G(adline).18 E F0 1.516 -(is being used, and the)4.016 F F3(histr)108 633.6 Q(eedit)-.18 E F0 -1.202(shell option is enabled, a f)3.702 F 1.202 -(ailed history substitution will be reloaded into the)-.1 F F3 -.18(re) -3.702 G(adline).18 E F0(editing)3.702 E -.2(bu)108 645.6 S -.25(ff).2 G -1.16(er for correction.).25 F(The)6.16 E F33.66 E F0 1.16 -(option to the)3.66 F F3(history)3.66 E F0 -.2(bu)3.661 G 1.161 -(iltin command may be used to see what a history).2 F -.15(ex)108 657.6 -S .056(pansion will do before using it.).15 F(The)5.056 E F32.556 -E F0 .056(option to the)2.556 F F3(history)2.555 E F0 -.2(bu)2.555 G -.055(iltin may be used to add commands to the).2 F -(end of the history list without actually e)108 669.6 Q -.15(xe)-.15 G -(cuting them, so that the).15 E 2.5(ya)-.15 G(re a)-2.5 E -.25(va)-.2 G -(ilable for subsequent recall.).25 E 2.2(The shell allo)108 686.4 R 2.2 -(ws control of the v)-.25 F 2.2(arious characters used by the history e) --.25 F 2.2(xpansion mechanism \(see the)-.15 F 1.147(description of)108 -698.4 R F3(histchars)3.647 E F0(abo)3.647 E 1.447 -.15(ve u)-.15 H(nder) -.15 E F3 1.147(Shell V)3.647 F(ariables)-.92 E F0 3.646(\). The)B 1.146 -(shell uses the history comment character to)3.646 F -(mark history timestamps when writing the history \214le.)108 710.4 Q -(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(47)195.945 E 0 Cg EP +(vior of history e)-.2 F(xpansion.)-.15 E(GNU Bash-4.1)72 768 Q +(2010 May 30)147.345 E(47)197.335 E 0 Cg EP %%Page: 48 48 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(Ev)87 84 Q(ent Designators)-.1 E F0(An e) -108 96 Q -.15(ve)-.25 G(nt designator is a reference to a command line \ -entry in the history list.).15 E F1(!)108 112.8 Q F0 1.607 -(Start a history substitution, e)32.67 F 1.607(xcept when follo)-.15 F -1.607(wed by a)-.25 F F1(blank)4.107 E F0 4.107(,n)C -.25(ew)-4.107 G -1.608(line, carriage return, = or \().25 F(\(when the)144 124.8 Q F1 -(extglob)2.5 E F0(shell option is enabled using the)2.5 E F1(shopt)2.5 E -F0 -.2(bu)2.5 G(iltin\).).2 E F1(!)108 136.8 Q/F2 10/Times-Italic@0 SF -(n)A F0(Refer to command line)27.67 E F2(n)2.5 E F0(.).24 E F1<21ad>108 -148.8 Q F2(n)A F0(Refer to the current command line minus)21.97 E F2(n) -2.5 E F0(.).24 E F1(!!)108 160.8 Q F0(Refer to the pre)29.34 E -(vious command.)-.25 E(This is a synon)5 E(ym for `!\2551'.)-.15 E F1(!) -108 172.8 Q F2(string)A F0 -(Refer to the most recent command starting with)9.33 E F2(string)2.5 E -F0(.).22 E F1(!?)108 184.8 Q F2(string)A F1([?])A F0 1.022 -(Refer to the most recent command containing)144 196.8 R F2(string)3.522 +-.35 E 1.142(If the)108 84 R/F1 10/Times-Bold@0 SF(histv)3.643 E(erify) +-.1 E F0 1.143(shell option is enabled \(see the description of the) +3.643 F F1(shopt)3.643 E F0 -.2(bu)3.643 G 1.143(iltin belo).2 F 1.143 +(w\), and)-.25 F F1 -.18(re)3.643 G(adline).18 E F0(is)3.643 E .461(bei\ +ng used, history substitutions are not immediately passed to the shell \ +parser)108 96 R 5.46(.I)-.55 G .46(nstead, the e)-5.46 F .46 +(xpanded line)-.15 F 1.515(is reloaded into the)108 108 R F1 -.18(re) +4.015 G(adline).18 E F0 1.515(editing b)4.015 F(uf)-.2 E 1.516 +(fer for further modi\214cation.)-.25 F(If)6.516 E F1 -.18(re)4.016 G +(adline).18 E F0 1.516(is being used, and the)4.016 F F1(histr)108 120 Q +(eedit)-.18 E F0 1.202(shell option is enabled, a f)3.702 F 1.202 +(ailed history substitution will be reloaded into the)-.1 F F1 -.18(re) +3.702 G(adline).18 E F0(editing)3.702 E -.2(bu)108 132 S -.25(ff).2 G +1.16(er for correction.).25 F(The)6.16 E F13.66 E F0 1.16 +(option to the)3.66 F F1(history)3.66 E F0 -.2(bu)3.661 G 1.161 +(iltin command may be used to see what a history).2 F -.15(ex)108 144 S +.056(pansion will do before using it.).15 F(The)5.056 E F12.556 E +F0 .056(option to the)2.556 F F1(history)2.555 E F0 -.2(bu)2.555 G .055 +(iltin may be used to add commands to the).2 F +(end of the history list without actually e)108 156 Q -.15(xe)-.15 G +(cuting them, so that the).15 E 2.5(ya)-.15 G(re a)-2.5 E -.25(va)-.2 G +(ilable for subsequent recall.).25 E 2.2(The shell allo)108 172.8 R 2.2 +(ws control of the v)-.25 F 2.2(arious characters used by the history e) +-.25 F 2.2(xpansion mechanism \(see the)-.15 F 1.147(description of)108 +184.8 R F1(histchars)3.647 E F0(abo)3.647 E 1.447 -.15(ve u)-.15 H(nder) +.15 E F1 1.147(Shell V)3.647 F(ariables)-.92 E F0 3.646(\). The)B 1.146 +(shell uses the history comment character to)3.646 F +(mark history timestamps when writing the history \214le.)108 196.8 Q F1 +(Ev)87 213.6 Q(ent Designators)-.1 E F0(An e)108 225.6 Q -.15(ve)-.25 G +(nt designator is a reference to a command line entry in the history li\ +st.).15 E F1(!)108 242.4 Q F0 1.607(Start a history substitution, e) +32.67 F 1.607(xcept when follo)-.15 F 1.607(wed by a)-.25 F F1(blank) +4.107 E F0 4.107(,n)C -.25(ew)-4.107 G 1.608 +(line, carriage return, = or \().25 F(\(when the)144 254.4 Q F1(extglob) +2.5 E F0(shell option is enabled using the)2.5 E F1(shopt)2.5 E F0 -.2 +(bu)2.5 G(iltin\).).2 E F1(!)108 266.4 Q/F2 10/Times-Italic@0 SF(n)A F0 +(Refer to command line)27.67 E F2(n)2.5 E F0(.).24 E F1<21ad>108 278.4 Q +F2(n)A F0(Refer to the current command line minus)21.97 E F2(n)2.5 E F0 +(.).24 E F1(!!)108 290.4 Q F0(Refer to the pre)29.34 E(vious command.) +-.25 E(This is a synon)5 E(ym for `!\2551'.)-.15 E F1(!)108 302.4 Q F2 +(string)A F0(Refer to the most recent command starting with)9.33 E F2 +(string)2.5 E F0(.).22 E F1(!?)108 314.4 Q F2(string)A F1([?])A F0 1.022 +(Refer to the most recent command containing)144 326.4 R F2(string)3.522 E F0 6.022(.T).22 G 1.022(he trailing)-6.022 F F1(?)3.522 E F0 1.022 (may be omitted if)3.522 F F2(string)3.861 E F0(is)3.741 E(follo)144 -208.8 Q(wed immediately by a ne)-.25 E(wline.)-.25 E/F3 12/Times-Bold@0 -SF(^)108 225.8 Q F2(string1)-5 I F3(^)5 I F2(string2)-5 I F3(^)5 I F0 -2.629(Quick substitution.)144 232.8 R 2.629 +338.4 Q(wed immediately by a ne)-.25 E(wline.)-.25 E/F3 12/Times-Bold@0 +SF(^)108 355.4 Q F2(string1)-5 I F3(^)5 I F2(string2)-5 I F3(^)5 I F0 +2.629(Quick substitution.)144 362.4 R 2.629 (Repeat the last command, replacing)7.629 F F2(string1)5.469 E F0(with) 5.129 E F2(string2)5.129 E F0 7.629(.E).02 G(qui)-7.629 E -.25(va)-.25 G -2.63(lent to).25 F -.74(``)144 244.8 S(!!:s/).74 E F2(string1)A F0(/)A +2.63(lent to).25 F -.74(``)144 374.4 S(!!:s/).74 E F2(string1)A F0(/)A F2(string2)A F0(/')A 2.5('\()-.74 G(see)-2.5 E F1(Modi\214ers)2.5 E F0 -(belo)2.5 E(w\).)-.25 E F1(!#)108 256.8 Q F0 +(belo)2.5 E(w\).)-.25 E F1(!#)108 386.4 Q F0 (The entire command line typed so f)27.67 E(ar)-.1 E(.)-.55 E F1 -.75 -(Wo)87 273.6 S(rd Designators).75 E F0 -.8(Wo)108 285.6 S 1.314 +(Wo)87 403.2 S(rd Designators).75 E F0 -.8(Wo)108 415.2 S 1.314 (rd designators are used to select desired w).8 F 1.314(ords from the e) -.1 F -.15(ve)-.25 G 3.814(nt. A).15 F F1(:)3.814 E F0 1.313 (separates the e)3.813 F -.15(ve)-.25 G 1.313(nt speci\214cation).15 F -.529(from the w)108 297.6 R .529(ord designator)-.1 F 5.529(.I)-.55 G +.529(from the w)108 427.2 R .529(ord designator)-.1 F 5.529(.I)-.55 G 3.029(tm)-5.529 G .529(ay be omitted if the w)-3.029 F .529 (ord designator be)-.1 F .529(gins with a)-.15 F F1(^)3.029 E F0(,)A F1 ($)3.029 E F0(,)A F1(*)3.029 E F0(,)A F13.029 E F0 3.029(,o)C(r) -3.029 E F1(%)3.029 E F0 5.53(.W)C(ords)-6.33 E 1.301 -(are numbered from the be)108 309.6 R 1.301 +(are numbered from the be)108 439.2 R 1.301 (ginning of the line, with the \214rst w)-.15 F 1.3 (ord being denoted by 0 \(zero\).)-.1 F -.8(Wo)6.3 G 1.3(rds are).8 F -(inserted into the current line separated by single spaces.)108 321.6 Q -F1 2.5(0\()108 338.4 S(zer)-2.5 E(o\))-.18 E F0(The zeroth w)144 350.4 Q -2.5(ord. F)-.1 F(or the shell, this is the command w)-.15 E(ord.)-.1 E -F2(n)108.36 362.4 Q F0(The)30.64 E F2(n)2.5 E F0(th w)A(ord.)-.1 E F1(^) -108 374.4 Q F0(The \214rst ar)32.67 E 2.5(gument. That)-.18 F(is, w)2.5 -E(ord 1.)-.1 E F1($)108 386.4 Q F0(The last ar)31 E(gument.)-.18 E F1(%) -108 398.4 Q F0(The w)26 E(ord matched by the most recent `?)-.1 E F2 -(string)A F0(?' search.)A F2(x)108.77 410.4 Q F1A F2(y)A F0 2.5(Ar) -20.65 G(ange of w)-2.5 E(ords; `\255)-.1 E F2(y)A F0 2.5('a)C(bbre)-2.5 -E(viates `0\255)-.25 E F2(y)A F0('.)A F1(*)108 422.4 Q F0 .315 +(inserted into the current line separated by single spaces.)108 451.2 Q +F1 2.5(0\()108 468 S(zer)-2.5 E(o\))-.18 E F0(The zeroth w)144 480 Q 2.5 +(ord. F)-.1 F(or the shell, this is the command w)-.15 E(ord.)-.1 E F2 +(n)108.36 492 Q F0(The)30.64 E F2(n)2.5 E F0(th w)A(ord.)-.1 E F1(^)108 +504 Q F0(The \214rst ar)32.67 E 2.5(gument. That)-.18 F(is, w)2.5 E +(ord 1.)-.1 E F1($)108 516 Q F0(The last ar)31 E(gument.)-.18 E F1(%)108 +528 Q F0(The w)26 E(ord matched by the most recent `?)-.1 E F2(string)A +F0(?' search.)A F2(x)108.77 540 Q F1A F2(y)A F0 2.5(Ar)20.65 G +(ange of w)-2.5 E(ords; `\255)-.1 E F2(y)A F0 2.5('a)C(bbre)-2.5 E +(viates `0\255)-.25 E F2(y)A F0('.)A F1(*)108 552 Q F0 .315 (All of the w)31 F .315(ords b)-.1 F .315(ut the zeroth.)-.2 F .315 (This is a synon)5.315 F .315(ym for `)-.15 F F2(1\255$)A F0 2.815 ('. It)B .315(is not an error to use)2.815 F F1(*)2.816 E F0 .316 -(if there is)2.816 F(just one w)144 434.4 Q(ord in the e)-.1 E -.15(ve) +(if there is)2.816 F(just one w)144 564 Q(ord in the e)-.1 E -.15(ve) -.25 G(nt; the empty string is returned in that case.).15 E F1(x*)108 -446.4 Q F0(Abbre)26 E(viates)-.25 E F2(x\255$)2.5 E F0(.)A F1<78ad>108 -458.4 Q F0(Abbre)25.3 E(viates)-.25 E F2(x\255$)2.5 E F0(lik)2.5 E(e)-.1 -E F1(x*)2.5 E F0 2.5(,b)C(ut omits the last w)-2.7 E(ord.)-.1 E(If a w) -108 475.2 Q(ord designator is supplied without an e)-.1 E -.15(ve)-.25 G +576 Q F0(Abbre)26 E(viates)-.25 E F2(x\255$)2.5 E F0(.)A F1<78ad>108 588 +Q F0(Abbre)25.3 E(viates)-.25 E F2(x\255$)2.5 E F0(lik)2.5 E(e)-.1 E F1 +(x*)2.5 E F0 2.5(,b)C(ut omits the last w)-2.7 E(ord.)-.1 E(If a w)108 +604.8 Q(ord designator is supplied without an e)-.1 E -.15(ve)-.25 G (nt speci\214cation, the pre).15 E(vious command is used as the e)-.25 E --.15(ve)-.25 G(nt.).15 E F1(Modi\214ers)87 492 Q F0 .184 -(After the optional w)108 504 R .184(ord designator)-.1 F 2.684(,t)-.4 G -.183(here may appear a sequence of one or more of the follo)-2.684 F -.183(wing modi\214ers,)-.25 F(each preceded by a `:'.)108 516 Q F1(h)108 -532.8 Q F0(Remo)30.44 E .3 -.15(ve a t)-.15 H +-.15(ve)-.25 G(nt.).15 E F1(Modi\214ers)87 621.6 Q F0 .184 +(After the optional w)108 633.6 R .184(ord designator)-.1 F 2.684(,t)-.4 +G .183(here may appear a sequence of one or more of the follo)-2.684 F +.183(wing modi\214ers,)-.25 F(each preceded by a `:'.)108 645.6 Q F1(h) +108 662.4 Q F0(Remo)30.44 E .3 -.15(ve a t)-.15 H (railing \214le name component, lea).15 E(ving only the head.)-.2 E F1 -(t)108 544.8 Q F0(Remo)32.67 E .3 -.15(ve a)-.15 H +(t)108 674.4 Q F0(Remo)32.67 E .3 -.15(ve a)-.15 H (ll leading \214le name components, lea).15 E(ving the tail.)-.2 E F1(r) -108 556.8 Q F0(Remo)31.56 E .3 -.15(ve a t)-.15 H(railing suf).15 E +108 686.4 Q F0(Remo)31.56 E .3 -.15(ve a t)-.15 H(railing suf).15 E (\214x of the form)-.25 E F2(.xxx)2.5 E F0 2.5(,l)C(ea)-2.5 E -(ving the basename.)-.2 E F1(e)108 568.8 Q F0(Remo)31.56 E .3 -.15(ve a) --.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E F1(p)108 580.8 +(ving the basename.)-.2 E F1(e)108 698.4 Q F0(Remo)31.56 E .3 -.15(ve a) +-.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E F1(p)108 710.4 Q F0(Print the ne)30.44 E 2.5(wc)-.25 G(ommand b)-2.5 E(ut do not e)-.2 -E -.15(xe)-.15 G(cute it.).15 E F1(q)108 592.8 Q F0 -(Quote the substituted w)30.44 E(ords, escaping further substitutions.) --.1 E F1(x)108 604.8 Q F0(Quote the substituted w)31 E(ords as with)-.1 -E F1(q)2.5 E F0 2.5(,b)C(ut break into w)-2.7 E(ords at)-.1 E F1(blanks) -2.5 E F0(and ne)2.5 E(wlines.)-.25 E F1(s/)108 616.8 Q F2(old)A F1(/)A -F2(ne)A(w)-.15 E F1(/)A F0(Substitute)144 628.8 Q F2(ne)3.081 E(w)-.15 E -F0 .221(for the \214rst occurrence of)3.031 F F2(old)2.951 E F0 .221 +E -.15(xe)-.15 G(cute it.).15 E(GNU Bash-4.1)72 768 Q(2010 May 30) +147.345 E(48)197.335 E 0 Cg EP +%%Page: 49 49 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF(q)108 84 Q F0(Quote the substituted w)30.44 +E(ords, escaping further substitutions.)-.1 E F1(x)108 96 Q F0 +(Quote the substituted w)31 E(ords as with)-.1 E F1(q)2.5 E F0 2.5(,b)C +(ut break into w)-2.7 E(ords at)-.1 E F1(blanks)2.5 E F0(and ne)2.5 E +(wlines.)-.25 E F1(s/)108 108 Q/F2 10/Times-Italic@0 SF(old)A F1(/)A F2 +(ne)A(w)-.15 E F1(/)A F0(Substitute)144 120 Q F2(ne)3.081 E(w)-.15 E F0 +.221(for the \214rst occurrence of)3.031 F F2(old)2.951 E F0 .221 (in the e)3.491 F -.15(ve)-.25 G .221(nt line.).15 F(An)5.221 E 2.721 (yd)-.15 G .221(elimiter can be used in place)-2.721 F .617(of /.)144 -640.8 R .617 +132 R .617 (The \214nal delimiter is optional if it is the last character of the e) 5.617 F -.15(ve)-.25 G .617(nt line.).15 F .616(The delimiter may)5.616 -F .666(be quoted in)144 652.8 R F2(old)3.396 E F0(and)3.936 E F2(ne) -3.526 E(w)-.15 E F0 .666(with a single backslash.)3.476 F .666 +F .666(be quoted in)144 144 R F2(old)3.396 E F0(and)3.936 E F2(ne)3.526 +E(w)-.15 E F0 .666(with a single backslash.)3.476 F .666 (If & appears in)5.666 F F2(ne)3.166 E(w)-.15 E F0 3.166(,i).31 G 3.166 (ti)-3.166 G 3.166(sr)-3.166 G .666(eplaced by)-3.166 F F2(old)3.166 E -F0 5.666(.A).77 G .275(single backslash will quote the &.)144 664.8 R -(If)5.275 E F2(old)3.004 E F0 .274(is null, it is set to the last)3.544 -F F2(old)3.004 E F0 .274(substituted, or)3.544 F 2.774(,i)-.4 G 2.774 -(fn)-2.774 G 2.774(op)-2.774 G(re)-2.774 E(vi-)-.25 E -(ous history substitutions took place, the last)144 676.8 Q F2(string) -2.84 E F0(in a)2.72 E F1(!?)2.5 E F2(string)A F1([?])A F0(search.)5 E F1 -(&)108 688.8 Q F0(Repeat the pre)27.67 E(vious substitution.)-.25 E F1 -(g)108 700.8 Q F0 .397(Cause changes to be applied o)31 F -.15(ve)-.15 G -2.897(rt).15 G .398(he entire e)-2.897 F -.15(ve)-.25 G .398(nt line.) -.15 F .398(This is used in conjunction with `)5.398 F F1(:s)A F0 2.898 -('\()C(e.g.,)-2.898 E(`)144 712.8 Q F1(:gs/)A F2(old)A F1(/)A F2(ne)A(w) --.15 E F1(/)A F0 1.219('\) or `)B F1(:&)A F0 3.719('. If)B 1.219 -(used with `)3.719 F F1(:s)A F0 1.218(', an)B 3.718(yd)-.15 G 1.218 +F0 5.666(.A).77 G .275(single backslash will quote the &.)144 156 R(If) +5.275 E F2(old)3.004 E F0 .274(is null, it is set to the last)3.544 F F2 +(old)3.004 E F0 .274(substituted, or)3.544 F 2.774(,i)-.4 G 2.774(fn) +-2.774 G 2.774(op)-2.774 G(re)-2.774 E(vi-)-.25 E +(ous history substitutions took place, the last)144 168 Q F2(string)2.84 +E F0(in a)2.72 E F1(!?)2.5 E F2(string)A F1([?])A F0(search.)5 E F1(&) +108 180 Q F0(Repeat the pre)27.67 E(vious substitution.)-.25 E F1(g)108 +192 Q F0 .397(Cause changes to be applied o)31 F -.15(ve)-.15 G 2.897 +(rt).15 G .398(he entire e)-2.897 F -.15(ve)-.25 G .398(nt line.).15 F +.398(This is used in conjunction with `)5.398 F F1(:s)A F0 2.898('\()C +(e.g.,)-2.898 E(`)144 204 Q F1(:gs/)A F2(old)A F1(/)A F2(ne)A(w)-.15 E +F1(/)A F0 1.219('\) or `)B F1(:&)A F0 3.719('. If)B 1.219(used with `) +3.719 F F1(:s)A F0 1.218(', an)B 3.718(yd)-.15 G 1.218 (elimiter can be used in place of /, and the \214nal)-3.718 F .089 -(delimiter is optional if it is the last character of the e)144 724.8 R +(delimiter is optional if it is the last character of the e)144 216 R -.15(ve)-.25 G .09(nt line.).15 F(An)5.09 E F1(a)2.59 E F0 .09 -(may be used as a synon)2.59 F .09(ym for)-.15 F(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(48)195.945 E 0 Cg EP -%%Page: 49 49 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(g)144 84 Q F0(.)A F1(G)108 96 Q F0 -(Apply the follo)28.22 E(wing `)-.25 E F1(s)A F0 2.5('m)C -(odi\214er once to each w)-2.5 E(ord in the e)-.1 E -.15(ve)-.25 G -(nt line.).15 E/F2 10.95/Times-Bold@0 SF(SHELL B)72 112.8 Q(UIL)-.11 E -(TIN COMMANDS)-1.007 E F0 .063(Unless otherwise noted, each b)108 124.8 +(may be used as a synon)2.59 F .09(ym for)-.15 F F1(g)144 228 Q F0(.)A +F1(G)108 240 Q F0(Apply the follo)28.22 E(wing `)-.25 E F1(s)A F0 2.5 +('m)C(odi\214er once to each w)-2.5 E(ord in the e)-.1 E -.15(ve)-.25 G +(nt line.).15 E/F3 10.95/Times-Bold@0 SF(SHELL B)72 256.8 Q(UIL)-.11 E +(TIN COMMANDS)-1.007 E F0 .063(Unless otherwise noted, each b)108 268.8 R .062(uiltin command documented in this section as accepting options p\ -receded by)-.2 F F1108 136.8 Q F0(accepts)2.533 E F12.533 E F0 +receded by)-.2 F F1108 280.8 Q F0(accepts)2.533 E F12.533 E F0 .034(to signify the end of the options.)2.533 F(The)5.034 E F1(:)2.534 E F0(,)A F1(true)2.534 E F0(,)A F1(false)2.534 E F0 2.534(,a)C(nd)-2.534 E F1(test)2.534 E F0 -.2(bu)2.534 G .034(iltins do not accept options and) -.2 F .078(do not treat)108 148.8 R F12.577 E F0(specially)2.577 E +.2 F .078(do not treat)108 292.8 R F12.577 E F0(specially)2.577 E 5.077(.T)-.65 G(he)-5.077 E F1(exit)2.577 E F0(,)A F1(logout)2.577 E F0 (,)A F1(br)2.577 E(eak)-.18 E F0(,)A F1(continue)2.577 E F0(,)A F1(let) 2.577 E F0 2.577(,a)C(nd)-2.577 E F1(shift)2.577 E F0 -.2(bu)2.577 G .077(iltins accept and process ar).2 F(gu-)-.18 E .319(ments be)108 -160.8 R .319(ginning with)-.15 F F12.819 E F0 .319 +304.8 R .319(ginning with)-.15 F F12.819 E F0 .319 (without requiring)2.819 F F12.819 E F0 5.319(.O)C .319(ther b) -5.319 F .319(uiltins that accept ar)-.2 F .32(guments b)-.18 F .32 (ut are not speci\214ed as)-.2 F 1.144(accepting options interpret ar) -108 172.8 R 1.144(guments be)-.18 F 1.144(ginning with)-.15 F F1 +108 316.8 R 1.144(guments be)-.18 F 1.144(ginning with)-.15 F F1 3.643 E F0 1.143(as in)3.643 F -.25(va)-.4 G 1.143 (lid options and require).25 F F13.643 E F0 1.143(to pre)3.643 F --.15(ve)-.25 G 1.143(nt this).15 F(interpretation.)108 184.8 Q F1(:)108 -202.8 Q F0([)2.5 E/F3 10/Times-Italic@0 SF(ar)A(guments)-.37 E F0(])A -.451(No ef)144 214.8 R .451(fect; the command does nothing be)-.25 F -.452(yond e)-.15 F(xpanding)-.15 E F3(ar)3.282 E(guments)-.37 E F0 .452 -(and performing an)3.222 F 2.952(ys)-.15 G(peci\214ed)-2.952 E 2.5 -(redirections. A)144 226.8 R(zero e)2.5 E(xit code is returned.)-.15 E -F1(.)110.5 243.6 Q F3(\214lename)6.666 E F0([)2.5 E F3(ar)A(guments)-.37 -E F0(])A F1(sour)108 255.6 Q(ce)-.18 E F3(\214lename)2.5 E F0([)2.5 E F3 -(ar)A(guments)-.37 E F0(])A 1.02(Read and e)144 267.6 R -.15(xe)-.15 G -1.02(cute commands from).15 F F3(\214lename)5.43 E F0 1.02 +-.15(ve)-.25 G 1.143(nt this).15 F(interpretation.)108 328.8 Q F1(:)108 +346.8 Q F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A .451(No ef)144 358.8 R +.451(fect; the command does nothing be)-.25 F .452(yond e)-.15 F +(xpanding)-.15 E F2(ar)3.282 E(guments)-.37 E F0 .452(and performing an) +3.222 F 2.952(ys)-.15 G(peci\214ed)-2.952 E 2.5(redirections. A)144 +370.8 R(zero e)2.5 E(xit code is returned.)-.15 E F1(.)110.5 387.6 Q F2 +(\214lename)6.666 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A F1(sour)108 +399.6 Q(ce)-.18 E F2(\214lename)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E +F0(])A 1.02(Read and e)144 411.6 R -.15(xe)-.15 G 1.02 +(cute commands from).15 F F2(\214lename)5.43 E F0 1.02 (in the current shell en)3.7 F 1.02(vironment and return the e)-.4 F -(xit)-.15 E 1.68(status of the last command e)144 279.6 R -.15(xe)-.15 G -1.68(cuted from).15 F F3(\214lename)4.18 E F0 6.68(.I).18 G(f)-6.68 E F3 +(xit)-.15 E 1.68(status of the last command e)144 423.6 R -.15(xe)-.15 G +1.68(cuted from).15 F F2(\214lename)4.18 E F0 6.68(.I).18 G(f)-6.68 E F2 (\214lename)6.09 E F0 1.68(does not contain a slash, \214le)4.36 F .608 -(names in)144 291.6 R/F4 9/Times-Bold@0 SF -.666(PA)3.108 G(TH)-.189 E -F0 .608(are used to \214nd the directory containing)2.858 F F3 +(names in)144 435.6 R/F4 9/Times-Bold@0 SF -.666(PA)3.108 G(TH)-.189 E +F0 .608(are used to \214nd the directory containing)2.858 F F2 (\214lename)3.108 E F0 5.608(.T).18 G .608(he \214le searched for in) --5.608 F F4 -.666(PA)3.108 G(TH)-.189 E F0 .832(need not be e)144 303.6 +-5.608 F F4 -.666(PA)3.108 G(TH)-.189 E F0 .832(need not be e)144 447.6 R -.15(xe)-.15 G 3.332(cutable. When).15 F F1(bash)3.332 E F0 .832 -(is not in)3.332 F F3 .832(posix mode)3.332 F F0 3.332(,t)C .833 +(is not in)3.332 F F2 .832(posix mode)3.332 F F0 3.332(,t)C .833 (he current directory is searched if no)-3.332 F .982 -(\214le is found in)144 315.6 R F4 -.666(PA)3.481 G(TH)-.189 E/F5 9 +(\214le is found in)144 459.6 R F4 -.666(PA)3.481 G(TH)-.189 E/F5 9 /Times-Roman@0 SF(.)A F0 .981(If the)5.481 F F1(sour)3.481 E(cepath)-.18 E F0 .981(option to the)3.481 F F1(shopt)3.481 E F0 -.2(bu)3.481 G .981 (iltin command is turned of).2 F .981(f, the)-.25 F F4 -.666(PA)144 -327.6 S(TH)-.189 E F0 .112(is not searched.)2.362 F .112(If an)5.112 F -(y)-.15 E F3(ar)2.612 E(guments)-.37 E F0 .112(are supplied, the)2.612 F -2.612(yb)-.15 G .112(ecome the positional parameters when)-2.612 F F3 -(\214lename)144 339.6 Q F0 .342(is e)2.842 F -.15(xe)-.15 G 2.842 +471.6 S(TH)-.189 E F0 .112(is not searched.)2.362 F .112(If an)5.112 F +(y)-.15 E F2(ar)2.612 E(guments)-.37 E F0 .112(are supplied, the)2.612 F +2.612(yb)-.15 G .112(ecome the positional parameters when)-2.612 F F2 +(\214lename)144 483.6 Q F0 .342(is e)2.842 F -.15(xe)-.15 G 2.842 (cuted. Otherwise).15 F .342(the positional parameters are unchanged.) 2.842 F .341(The return status is the)5.341 F .716 -(status of the last command e)144 351.6 R .716 +(status of the last command e)144 495.6 R .716 (xited within the script \(0 if no commands are e)-.15 F -.15(xe)-.15 G -.716(cuted\), and f).15 F .716(alse if)-.1 F F3(\214lename)145.91 363.6 -Q F0(is not found or cannot be read.)2.68 E F1(alias)108 380.4 Q F0([) -2.5 E F1A F0 2.5(][)C F3(name)-2.5 E F0([=)A F3(value)A F0 2.5(].) -C(..])-2.5 E F1(Alias)144 392.4 Q F0 2.725(with no ar)5.225 F 2.724 +.716(cuted\), and f).15 F .716(alse if)-.1 F F2(\214lename)145.91 507.6 +Q F0(is not found or cannot be read.)2.68 E F1(alias)108 524.4 Q F0([) +2.5 E F1A F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].) +C(..])-2.5 E F1(Alias)144 536.4 Q F0 2.725(with no ar)5.225 F 2.724 (guments or with the)-.18 F F15.224 E F0 2.724 (option prints the list of aliases in the form)5.224 F F1(alias)5.224 E -F3(name)144 404.4 Q F0(=)A F3(value)A F0 .58(on standard output.)3.08 F +F2(name)144 548.4 Q F0(=)A F2(value)A F0 .58(on standard output.)3.08 F .58(When ar)5.58 F .58 -(guments are supplied, an alias is de\214ned for each)-.18 F F3(name) -3.08 E F0(whose)144 416.4 Q F3(value)2.895 E F0 .395(is gi)2.895 F -.15 -(ve)-.25 G 2.895(n. A).15 F .395(trailing space in)2.895 F F3(value) +(guments are supplied, an alias is de\214ned for each)-.18 F F2(name) +3.08 E F0(whose)144 560.4 Q F2(value)2.895 E F0 .395(is gi)2.895 F -.15 +(ve)-.25 G 2.895(n. A).15 F .395(trailing space in)2.895 F F2(value) 5.395 E F0 .395(causes the ne)2.895 F .395(xt w)-.15 F .395 (ord to be check)-.1 F .395(ed for alias sub-)-.1 F .054 -(stitution when the alias is e)144 428.4 R 2.554(xpanded. F)-.15 F .054 -(or each)-.15 F F3(name)2.554 E F0 .054(in the ar)2.554 F .054 -(gument list for which no)-.18 F F3(value)2.554 E F0 .054(is sup-)2.554 -F 1.314(plied, the name and v)144 440.4 R 1.314 +(stitution when the alias is e)144 572.4 R 2.554(xpanded. F)-.15 F .054 +(or each)-.15 F F2(name)2.554 E F0 .054(in the ar)2.554 F .054 +(gument list for which no)-.18 F F2(value)2.554 E F0 .054(is sup-)2.554 +F 1.314(plied, the name and v)144 584.4 R 1.314 (alue of the alias is printed.)-.25 F F1(Alias)6.314 E F0 1.314 -(returns true unless a)3.814 F F3(name)3.814 E F0 1.313(is gi)3.814 F +(returns true unless a)3.814 F F2(name)3.814 E F0 1.313(is gi)3.814 F -.15(ve)-.25 G 3.813(nf).15 G(or)-3.813 E -(which no alias has been de\214ned.)144 452.4 Q F1(bg)108 469.2 Q F0([) -2.5 E F3(jobspec)A F0(...])2.5 E .744(Resume each suspended job)144 -481.2 R F3(jobspec)3.244 E F0 .745 +(which no alias has been de\214ned.)144 596.4 Q F1(bg)108 613.2 Q F0([) +2.5 E F2(jobspec)A F0(...])2.5 E .744(Resume each suspended job)144 +625.2 R F2(jobspec)3.244 E F0 .745 (in the background, as if it had been started with)3.244 F F1(&)3.245 E -F0 5.745(.I)C(f)-5.745 E F3(job-)4.985 E(spec)144 493.2 Q F0 .672 +F0 5.745(.I)C(f)-5.745 E F2(job-)4.985 E(spec)144 637.2 Q F0 .672 (is not present, the shell')3.482 F 3.172(sn)-.55 G .672(otion of the) --3.172 F F3(curr)3.172 E .672(ent job)-.37 F F0 .672(is used.)3.172 F F1 -(bg)5.671 E F3(jobspec)4.911 E F0 .671(returns 0 unless run)3.481 F .418 -(when job control is disabled or)144 505.2 R 2.919(,w)-.4 G .419 +-3.172 F F2(curr)3.172 E .672(ent job)-.37 F F0 .672(is used.)3.172 F F1 +(bg)5.671 E F2(jobspec)4.911 E F0 .671(returns 0 unless run)3.481 F .418 +(when job control is disabled or)144 649.2 R 2.919(,w)-.4 G .419 (hen run with job control enabled, an)-2.919 F 2.919(ys)-.15 G -(peci\214ed)-2.919 E F3(jobspec)2.919 E F0 -.1(wa)2.919 G 2.919(sn).1 G -(ot)-2.919 E(found or w)144 517.2 Q(as started without job control.)-.1 -E F1(bind)108 534 Q F0([)2.5 E F1A F3 -.1(ke)2.5 G(ymap)-.2 E F0 -2.5(][)C F1(\255lpsvPSV)-2.5 E F0(])A F1(bind)108 546 Q F0([)2.5 E F1 -A F3 -.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C F1-2.5 E F3 -(function)2.5 E F0 2.5(][)C F1-2.5 E F3(function)2.5 E F0 2.5(][)C -F1-2.5 E F3 -.1(ke)2.5 G(yseq)-.2 E F0(])A F1(bind)108 558 Q F0([) -2.5 E F1A F3 -.1(ke)2.5 G(ymap)-.2 E F0(])A F12.5 E F3 -(\214lename)2.5 E F1(bind)108 570 Q F0([)2.5 E F1A F3 -.1(ke)2.5 G -(ymap)-.2 E F0(])A F12.5 E F3 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F3 -(shell\255command)A F1(bind)108 582 Q F0([)2.5 E F1A F3 -.1(ke)2.5 -G(ymap)-.2 E F0(])A F3 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F3 -(function\255name)A F1(bind)108 594 Q F3 -.37(re)2.5 G -(adline\255command).37 E F0 .239(Display current)144 606 R F1 -.18(re) +(peci\214ed)-2.919 E F2(jobspec)2.919 E F0 -.1(wa)2.919 G 2.919(sn).1 G +(ot)-2.919 E(found or w)144 661.2 Q(as started without job control.)-.1 +E F1(bind)108 678 Q F0([)2.5 E F1A F2 -.1(ke)2.5 G(ymap)-.2 E F0 +2.5(][)C F1(\255lpsvPSV)-2.5 E F0(])A F1(bind)108 690 Q F0([)2.5 E F1 +A F2 -.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C F1-2.5 E F2 +(function)2.5 E F0 2.5(][)C F1-2.5 E F2(function)2.5 E F0 2.5(][)C +F1-2.5 E F2 -.1(ke)2.5 G(yseq)-.2 E F0(])A F1(bind)108 702 Q F0([) +2.5 E F1A F2 -.1(ke)2.5 G(ymap)-.2 E F0(])A F12.5 E F2 +(\214lename)2.5 E F0(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(49) +197.335 E 0 Cg EP +%%Page: 50 50 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF(bind)108 84 Q F0([)2.5 E F1A/F2 10 +/Times-Italic@0 SF -.1(ke)2.5 G(ymap)-.2 E F0(])A F12.5 E F2 -.1 +(ke)2.5 G(yseq)-.2 E F0(:)A F2(shell\255command)A F1(bind)108 96 Q F0([) +2.5 E F1A F2 -.1(ke)2.5 G(ymap)-.2 E F0(])A F2 -.1(ke)2.5 G(yseq) +-.2 E F0(:)A F2(function\255name)A F1(bind)108 108 Q F2 -.37(re)2.5 G +(adline\255command).37 E F0 .239(Display current)144 120 R F1 -.18(re) 2.739 G(adline).18 E F0 -.1(ke)2.739 G 2.739(ya)-.05 G .239 (nd function bindings, bind a k)-2.739 F .539 -.15(ey s)-.1 H .238 (equence to a).15 F F1 -.18(re)2.738 G(adline).18 E F0 .238(function or) -2.738 F .475(macro, or set a)144 618 R F1 -.18(re)2.975 G(adline).18 E +2.738 F .475(macro, or set a)144 132 R F1 -.18(re)2.975 G(adline).18 E F0 -.25(va)2.975 G 2.975(riable. Each).25 F .476(non-option ar)2.976 F -.476(gument is a command as it w)-.18 F .476(ould appear in)-.1 F F3 -(.inputr)144 630 Q(c)-.37 E F0 2.984(,b).31 G .484 +.476(gument is a command as it w)-.18 F .476(ould appear in)-.1 F F2 +(.inputr)144 144 Q(c)-.37 E F0 2.984(,b).31 G .484 (ut each binding or command must be passed as a separate ar)-3.184 F .483(gument; e.g., '"\\C\255x\\C\255r":)-.18 F 2.5 -(re\255read\255init\255\214le'. Options,)144 642 R(if supplied, ha)2.5 E -.3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1144 654 -Q F3 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 666 Q F3 -.1(ke)5.158 G(ymap)-.2 +(re\255read\255init\255\214le'. Options,)144 156 R(if supplied, ha)2.5 E +.3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1144 168 +Q F2 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 180 Q F2 -.1(ke)5.158 G(ymap)-.2 E F0 2.658(as the k)5.348 F -.15(ey)-.1 G 2.658(map to be af).15 F 2.659 -(fected by the subsequent bindings.)-.25 F(Acceptable)7.659 E F3 -.1(ke) -180 678 S(ymap)-.2 E F0 3.193(names are)5.883 F F3 3.193 +(fected by the subsequent bindings.)-.25 F(Acceptable)7.659 E F2 -.1(ke) +180 192 S(ymap)-.2 E F0 3.193(names are)5.883 F F2 3.193 (emacs, emacs\255standar)5.693 F 3.192 (d, emacs\255meta, emacs\255ctlx, vi, vi\255mo)-.37 F(ve)-.1 E(,)-.1 E -(vi\255command)180 690 Q F0 4.429(,a)C(nd)-4.429 E F3(vi\255insert)4.429 -E F0(.).68 E F3(vi)6.929 E F0 1.929(is equi)4.429 F -.25(va)-.25 G 1.929 -(lent to).25 F F3(vi\255command)4.429 E F0(;)A F3(emacs)4.429 E F0 1.929 -(is equi)4.429 F -.25(va)-.25 G 1.93(lent to).25 F F3(emacs\255standar) -180 702 Q(d)-.37 E F0(.)A F1144 714 Q F0(List the names of all) -27.52 E F1 -.18(re)2.5 G(adline).18 E F0(functions.)2.5 E(GNU Bash-4.1) -72 768 Q(2010 April 17)145.955 E(49)195.945 E 0 Cg EP -%%Page: 50 50 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF144 84 Q F0(Display)24.74 E F1 -.18 -(re)2.5 G(adline).18 E F0(function names and bindings in such a w)2.5 E -(ay that the)-.1 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1144 96 Q -F0(List current)24.19 E F1 -.18(re)2.5 G(adline).18 E F0 -(function names and bindings.)2.5 E F1144 108 Q F0(Display)26.41 E -F1 -.18(re)3.655 G(adline).18 E F0 -.1(ke)3.655 G 3.655(ys)-.05 G 1.155 +(vi\255command)180 204 Q F0 4.429(,a)C(nd)-4.429 E F2(vi\255insert)4.429 +E F0(.).68 E F2(vi)6.929 E F0 1.929(is equi)4.429 F -.25(va)-.25 G 1.929 +(lent to).25 F F2(vi\255command)4.429 E F0(;)A F2(emacs)4.429 E F0 1.929 +(is equi)4.429 F -.25(va)-.25 G 1.93(lent to).25 F F2(emacs\255standar) +180 216 Q(d)-.37 E F0(.)A F1144 228 Q F0(List the names of all) +27.52 E F1 -.18(re)2.5 G(adline).18 E F0(functions.)2.5 E F1144 +240 Q F0(Display)24.74 E F1 -.18(re)2.5 G(adline).18 E F0 +(function names and bindings in such a w)2.5 E(ay that the)-.1 E 2.5(yc) +-.15 G(an be re-read.)-2.5 E F1144 252 Q F0(List current)24.19 E +F1 -.18(re)2.5 G(adline).18 E F0(function names and bindings.)2.5 E F1 +144 264 Q F0(Display)26.41 E F1 -.18(re)3.655 G(adline).18 E F0 +-.1(ke)3.655 G 3.655(ys)-.05 G 1.155 (equences bound to macros and the strings the)-3.655 F 3.655(yo)-.15 G -1.155(utput in such a)-3.655 F -.1(wa)180 120 S 2.5(yt).1 G(hat the)-2.5 -E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1144 132 Q F0(Display)24.74 +1.155(utput in such a)-3.655 F -.1(wa)180 276 S 2.5(yt).1 G(hat the)-2.5 +E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1144 288 Q F0(Display)24.74 E F1 -.18(re)2.5 G(adline).18 E F0 -.1(ke)2.5 G 2.5(ys)-.05 G (equences bound to macros and the strings the)-2.5 E 2.5(yo)-.15 G -(utput.)-2.5 E F1144 144 Q F0(Display)25.3 E F1 -.18(re)2.5 G +(utput.)-2.5 E F1144 300 Q F0(Display)25.3 E F1 -.18(re)2.5 G (adline).18 E F0 -.25(va)2.5 G(riable names and v).25 E (alues in such a w)-.25 E(ay that the)-.1 E 2.5(yc)-.15 G -(an be re-read.)-2.5 E F1144 156 Q F0(List current)23.08 E F1 -.18 +(an be re-read.)-2.5 E F1144 312 Q F0(List current)23.08 E F1 -.18 (re)2.5 G(adline).18 E F0 -.25(va)2.5 G(riable names and v).25 E(alues.) --.25 E F1144 168 Q/F2 10/Times-Italic@0 SF(\214lename)2.5 E F0 -(Read k)180 180 Q .3 -.15(ey b)-.1 H(indings from).15 E F2(\214lename) -2.5 E F0(.)A F1144 192 Q F2(function)2.5 E F0(Query about which k) -180 204 Q -.15(ey)-.1 G 2.5(si).15 G -1.9 -.4(nv o)-2.5 H .2 -.1(ke t).4 -H(he named).1 E F2(function)2.5 E F0(.)A F1144 216 Q F2(function) -2.5 E F0(Unbind all k)180 228 Q -.15(ey)-.1 G 2.5(sb).15 G -(ound to the named)-2.5 E F2(function)2.5 E F0(.)A F1144 240 Q F2 --.1(ke)2.5 G(yseq)-.2 E F0(Remo)180 252 Q .3 -.15(ve a)-.15 H .3 -.15 -(ny c).15 H(urrent binding for).15 E F2 -.1(ke)2.5 G(yseq)-.2 E F0(.)A -F1144 264 Q F2 -.1(ke)2.5 G(yseq)-.2 E F1(:)A F2(shell\255command) -A F0(Cause)180 276 Q F2(shell\255command)4.325 E F0 1.825(to be e)4.325 -F -.15(xe)-.15 G 1.825(cuted whene).15 F -.15(ve)-.25 G(r).15 E F2 -.1 -(ke)4.325 G(yseq)-.2 E F0 1.825(is entered.)4.325 F(When)6.825 E F2 -(shell\255com-)4.325 E(mand)180 288 Q F0 1.765(is e)4.265 F -.15(xe)-.15 -G 1.765(cuted, the shell sets the).15 F/F3 9/Times-Bold@0 SF -(READLINE_LINE)4.265 E F0 -.25(va)4.015 G 1.765 -(riable to the contents of the).25 F F1 -.18(re)180 300 S(adline).18 E -F0 1.353(line b)3.852 F(uf)-.2 E 1.353(fer and the)-.25 F F3 -(READLINE_POINT)3.853 E F0 -.25(va)3.603 G 1.353 +-.25 E F1144 324 Q F2(\214lename)2.5 E F0(Read k)180 336 Q .3 -.15 +(ey b)-.1 H(indings from).15 E F2(\214lename)2.5 E F0(.)A F1144 +348 Q F2(function)2.5 E F0(Query about which k)180 360 Q -.15(ey)-.1 G +2.5(si).15 G -1.9 -.4(nv o)-2.5 H .2 -.1(ke t).4 H(he named).1 E F2 +(function)2.5 E F0(.)A F1144 372 Q F2(function)2.5 E F0 +(Unbind all k)180 384 Q -.15(ey)-.1 G 2.5(sb).15 G(ound to the named) +-2.5 E F2(function)2.5 E F0(.)A F1144 396 Q F2 -.1(ke)2.5 G(yseq) +-.2 E F0(Remo)180 408 Q .3 -.15(ve a)-.15 H .3 -.15(ny c).15 H +(urrent binding for).15 E F2 -.1(ke)2.5 G(yseq)-.2 E F0(.)A F1144 +420 Q F2 -.1(ke)2.5 G(yseq)-.2 E F1(:)A F2(shell\255command)A F0(Cause) +180 432 Q F2(shell\255command)4.325 E F0 1.825(to be e)4.325 F -.15(xe) +-.15 G 1.825(cuted whene).15 F -.15(ve)-.25 G(r).15 E F2 -.1(ke)4.325 G +(yseq)-.2 E F0 1.825(is entered.)4.325 F(When)6.825 E F2(shell\255com-) +4.325 E(mand)180 444 Q F0 1.765(is e)4.265 F -.15(xe)-.15 G 1.765 +(cuted, the shell sets the).15 F/F3 9/Times-Bold@0 SF(READLINE_LINE) +4.265 E F0 -.25(va)4.015 G 1.765(riable to the contents of the).25 F F1 +-.18(re)180 456 S(adline).18 E F0 1.353(line b)3.852 F(uf)-.2 E 1.353 +(fer and the)-.25 F F3(READLINE_POINT)3.853 E F0 -.25(va)3.603 G 1.353 (riable to the current location of the).25 F 2.012(insertion point.)180 -312 R 2.011(If the e)7.012 F -.15(xe)-.15 G 2.011 +468 R 2.011(If the e)7.012 F -.15(xe)-.15 G 2.011 (cuted command changes the v).15 F 2.011(alue of)-.25 F F3 -(READLINE_LINE)4.511 E F0(or)4.261 E F3(READLINE_POINT)180 324 Q/F4 9 +(READLINE_LINE)4.511 E F0(or)4.261 E F3(READLINE_POINT)180 480 Q/F4 9 /Times-Roman@0 SF(,)A F0(those ne)2.25 E 2.5(wv)-.25 G (alues will be re\215ected in the editing state.)-2.75 E(The return v) -144 340.8 Q(alue is 0 unless an unrecognized option is gi)-.25 E -.15 +144 496.8 Q(alue is 0 unless an unrecognized option is gi)-.25 E -.15 (ve)-.25 G 2.5(no).15 G 2.5(ra)-2.5 G 2.5(ne)-2.5 G(rror occurred.)-2.5 -E F1(br)108 357.6 Q(eak)-.18 E F0([)2.5 E F2(n)A F0(])A .054 -(Exit from within a)144 369.6 R F1 -.25(fo)2.554 G(r).25 E F0(,)A F1 +E F1(br)108 513.6 Q(eak)-.18 E F0([)2.5 E F2(n)A F0(])A .054 +(Exit from within a)144 525.6 R F1 -.25(fo)2.554 G(r).25 E F0(,)A F1 (while)2.554 E F0(,)A F1(until)2.555 E F0 2.555(,o)C(r)-2.555 E F1 (select)2.555 E F0 2.555(loop. If)2.555 F F2(n)2.555 E F0 .055 (is speci\214ed, break)2.555 F F2(n)2.555 E F0(le)2.555 E -.15(ve)-.25 G (ls.).15 E F2(n)5.415 E F0 .055(must be)2.795 F/F5 10/Symbol SF2.555 -E F0(1.)2.555 E(If)144 381.6 Q F2(n)3.075 E F0 .215(is greater than the\ +E F0(1.)2.555 E(If)144 537.6 Q F2(n)3.075 E F0 .215(is greater than the\ number of enclosing loops, all enclosing loops are e)2.955 F 2.714 (xited. The)-.15 F .214(return v)2.714 F(alue)-.25 E(is 0 unless)144 -393.6 Q F2(n)2.5 E F0(is not greater than or equal to 1.)2.5 E F1 -.2 -(bu)108 410.4 S(iltin).2 E F2(shell\255b)2.5 E(uiltin)-.2 E F0([)2.5 E -F2(ar)A(guments)-.37 E F0(])A(Ex)144 422.4 Q .792 +549.6 Q F2(n)2.5 E F0(is not greater than or equal to 1.)2.5 E F1 -.2 +(bu)108 566.4 S(iltin).2 E F2(shell\255b)2.5 E(uiltin)-.2 E F0([)2.5 E +F2(ar)A(guments)-.37 E F0(])A(Ex)144 578.4 Q .792 (ecute the speci\214ed shell b)-.15 F .792(uiltin, passing it)-.2 F F2 (ar)3.293 E(guments)-.37 E F0 3.293(,a).27 G .793(nd return its e)-3.293 F .793(xit status.)-.15 F .793(This is useful)5.793 F .616 (when de\214ning a function whose name is the same as a shell b)144 -434.4 R .615(uiltin, retaining the functionality of)-.2 F .57(the b)144 -446.4 R .57(uiltin within the function.)-.2 F(The)5.57 E F1(cd)3.07 E F0 +590.4 R .615(uiltin, retaining the functionality of)-.2 F .57(the b)144 +602.4 R .57(uiltin within the function.)-.2 F(The)5.57 E F1(cd)3.07 E F0 -.2(bu)3.07 G .57(iltin is commonly rede\214ned this w).2 F(ay)-.1 E -5.57(.T)-.65 G .57(he return status)-5.57 F(is f)144 458.4 Q(alse if)-.1 +5.57(.T)-.65 G .57(he return status)-5.57 F(is f)144 614.4 Q(alse if)-.1 E F2(shell\255b)2.84 E(uiltin)-.2 E F0(is not a shell b)2.74 E -(uiltin command.)-.2 E F1(caller)108 475.2 Q F0([)2.5 E F2 -.2(ex)C(pr) -.2 E F0(])A .254(Returns the conte)144 487.2 R .254(xt of an)-.15 F +(uiltin command.)-.2 E F1(caller)108 631.2 Q F0([)2.5 E F2 -.2(ex)C(pr) +.2 E F0(])A .254(Returns the conte)144 643.2 R .254(xt of an)-.15 F 2.754(ya)-.15 G(cti)-2.754 E .554 -.15(ve s)-.25 H .254 (ubroutine call \(a shell function or a script e).15 F -.15(xe)-.15 G -.254(cuted with the).15 F F1(.)2.753 E F0(or)2.753 E F1(sour)144 499.2 Q +.254(cuted with the).15 F F1(.)2.753 E F0(or)2.753 E F1(sour)144 655.2 Q (ce)-.18 E F0 -.2(bu)2.824 G 2.824(iltins\). W).2 F(ithout)-.4 E F2 -.2 (ex)2.824 G(pr).2 E F0(,)A F1(caller)2.824 E F0 .324 (displays the line number and source \214lename of the current)2.824 F -.254(subroutine call.)144 511.2 R .254(If a non-ne)5.254 F -.05(ga)-.15 +.254(subroutine call.)144 667.2 R .254(If a non-ne)5.254 F -.05(ga)-.15 G(ti).05 E .554 -.15(ve i)-.25 H(nte).15 E .253(ger is supplied as)-.15 F F2 -.2(ex)2.753 G(pr).2 E F0(,)A F1(caller)2.753 E F0 .253 (displays the line number)2.753 F 2.753(,s)-.4 G(ub-)-2.753 E 1.327(rou\ tine name, and source \214le corresponding to that position in the curr\ -ent e)144 523.2 R -.15(xe)-.15 G 1.328(cution call stack.).15 F .001 -(This e)144 535.2 R .001(xtra information may be used, for e)-.15 F .001 +ent e)144 679.2 R -.15(xe)-.15 G 1.328(cution call stack.).15 F .001 +(This e)144 691.2 R .001(xtra information may be used, for e)-.15 F .001 (xample, to print a stack trace.)-.15 F(The current frame is frame)5 E -3.019(0. The)144 547.2 R .519(return v)3.019 F .519 +3.019(0. The)144 703.2 R .519(return v)3.019 F .519 (alue is 0 unless the shell is not e)-.25 F -.15(xe)-.15 G .52 (cuting a subroutine call or).15 F F2 -.2(ex)3.02 G(pr).2 E F0 .52 -(does not corre-)3.02 F(spond to a v)144 559.2 Q -(alid position in the call stack.)-.25 E F1(cd)108 576 Q F0([)2.5 E F1 -(\255L|-P)A F0 2.5(][)C F2(dir)-2.5 E F0(])A .21 -(Change the current directory to)144 588 R F2(dir)2.71 E F0 5.21(.T)C -.21(he v)-5.21 F(ariable)-.25 E F3(HOME)2.71 E F0 .21(is the def)2.46 F -(ault)-.1 E F2(dir)2.71 E F0 5.21(.T).73 G .21(he v)-5.21 F(ariable)-.25 -E F3(CDP)2.71 E -.855(AT)-.666 G(H).855 E F0 .776 -(de\214nes the search path for the directory containing)144 600 R F2 +(does not corre-)3.02 F(spond to a v)144 715.2 Q +(alid position in the call stack.)-.25 E(GNU Bash-4.1)72 768 Q +(2010 May 30)147.345 E(50)197.335 E 0 Cg EP +%%Page: 51 51 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF(cd)108 84 Q F0([)2.5 E F1(\255L|-P)A F0 2.5 +(][)C/F2 10/Times-Italic@0 SF(dir)-2.5 E F0(])A .21 +(Change the current directory to)144 96 R F2(dir)2.71 E F0 5.21(.T)C .21 +(he v)-5.21 F(ariable)-.25 E/F3 9/Times-Bold@0 SF(HOME)2.71 E F0 .21 +(is the def)2.46 F(ault)-.1 E F2(dir)2.71 E F0 5.21(.T).73 G .21(he v) +-5.21 F(ariable)-.25 E F3(CDP)2.71 E -.855(AT)-.666 G(H).855 E F0 .776 +(de\214nes the search path for the directory containing)144 108 R F2 (dir)3.276 E F0 5.777(.A).73 G(lternati)-5.777 E 1.077 -.15(ve d)-.25 H .777(irectory names in).15 F F3(CDP)3.277 E -.855(AT)-.666 G(H).855 E F0 -.764(are separated by a colon \(:\).)144 612 R 3.264(An)5.764 G .764 +.764(are separated by a colon \(:\).)144 120 R 3.264(An)5.764 G .764 (ull directory name in)-3.264 F F3(CDP)3.264 E -.855(AT)-.666 G(H).855 E -F0 .764(is the same as the current direc-)3.014 F(tory)144 624 Q 2.973 +F0 .764(is the same as the current direc-)3.014 F(tory)144 132 Q 2.973 (,i)-.65 G .473(.e., `)-2.973 F(`)-.74 E F1(.)A F0 -.74('')C 5.473(.I) .74 G(f)-5.473 E F2(dir)3.323 E F0(be)3.703 E .474 (gins with a slash \(/\), then)-.15 F F3(CDP)2.974 E -.855(AT)-.666 G(H) .855 E F0 .474(is not used. The)2.724 F F12.974 E F0 .474 -(option says to use)2.974 F .58(the ph)144 636 R .58 +(option says to use)2.974 F .58(the ph)144 144 R .58 (ysical directory structure instead of follo)-.05 F .579 (wing symbolic links \(see also the)-.25 F F13.079 E F0 .579 -(option to the)3.079 F F1(set)144 648 Q F0 -.2(bu)3.383 G .883 +(option to the)3.079 F F1(set)144 156 Q F0 -.2(bu)3.383 G .883 (iltin command\); the).2 F F13.383 E F0 .884 (option forces symbolic links to be follo)3.384 F 3.384(wed. An)-.25 F (ar)3.384 E .884(gument of)-.18 F F13.384 E F0(is)3.384 E(equi)144 -660 Q -.25(va)-.25 G .316(lent to).25 F F3($OLDPWD)2.816 E F4(.)A F0 -.316(If a non-empty directory name from)4.816 F F3(CDP)2.815 E -.855(AT) --.666 G(H).855 E F0 .315(is used, or if)2.565 F F12.815 E F0 .315 -(is the \214rst)2.815 F(ar)144 672 Q .116(gument, and the directory cha\ -nge is successful, the absolute pathname of the ne)-.18 F 2.616(ww)-.25 -G .116(orking direc-)-2.716 F 1.165 -(tory is written to the standard output.)144 684 R 1.164(The return v) +168 Q -.25(va)-.25 G .316(lent to).25 F F3($OLDPWD)2.816 E/F4 9 +/Times-Roman@0 SF(.)A F0 .316(If a non-empty directory name from)4.816 F +F3(CDP)2.815 E -.855(AT)-.666 G(H).855 E F0 .315(is used, or if)2.565 F +F12.815 E F0 .315(is the \214rst)2.815 F(ar)144 180 Q .116(gument, \ +and the directory change is successful, the absolute pathname of the ne) +-.18 F 2.616(ww)-.25 G .116(orking direc-)-2.716 F 1.165 +(tory is written to the standard output.)144 192 R 1.164(The return v) 6.164 F 1.164(alue is true if the directory w)-.25 F 1.164 -(as successfully)-.1 F(changed; f)144 696 Q(alse otherwise.)-.1 E -(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(50)195.945 E 0 Cg EP -%%Page: 51 51 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(command)108 84 Q F0([)2.5 E F1(\255pVv)A F0 -(])A/F2 10/Times-Italic@0 SF(command)2.5 E F0([)2.5 E F2(ar)A(g)-.37 E -F0(...])2.5 E(Run)144 96 Q F2(command)2.956 E F0(with)3.527 E F2(ar) -3.087 E(gs)-.37 E F0 .257 +(as successfully)-.1 F(changed; f)144 204 Q(alse otherwise.)-.1 E F1 +(command)108 220.8 Q F0([)2.5 E F1(\255pVv)A F0(])A F2(command)2.5 E F0 +([)2.5 E F2(ar)A(g)-.37 E F0(...])2.5 E(Run)144 232.8 Q F2(command)2.956 +E F0(with)3.527 E F2(ar)3.087 E(gs)-.37 E F0 .257 (suppressing the normal shell function lookup. Only b)3.027 F .257 -(uiltin commands or)-.2 F .502(commands found in the)144 108 R/F3 9 -/Times-Bold@0 SF -.666(PA)3.002 G(TH)-.189 E F0 .502(are e)2.752 F -.15 -(xe)-.15 G 3.002(cuted. If).15 F(the)3.002 E F13.002 E F0 .502 -(option is gi)3.002 F -.15(ve)-.25 G .501(n, the search for).15 F F2 -(command)3.201 E F0(is)3.771 E .399(performed using a def)144 120 R .399 -(ault v)-.1 F .399(alue for)-.25 F F3 -.666(PA)2.899 G(TH)-.189 E F0 .4 +(uiltin commands or)-.2 F .502(commands found in the)144 244.8 R F3 +-.666(PA)3.002 G(TH)-.189 E F0 .502(are e)2.752 F -.15(xe)-.15 G 3.002 +(cuted. If).15 F(the)3.002 E F13.002 E F0 .502(option is gi)3.002 +F -.15(ve)-.25 G .501(n, the search for).15 F F2(command)3.201 E F0(is) +3.771 E .399(performed using a def)144 256.8 R .399(ault v)-.1 F .399 +(alue for)-.25 F F3 -.666(PA)2.899 G(TH)-.189 E F0 .4 (that is guaranteed to \214nd all of the standard utilities.)2.649 F(If) -5.4 E .175(either the)144 132 R F12.675 E F0(or)2.675 E F1 +5.4 E .175(either the)144 268.8 R F12.675 E F0(or)2.675 E F1 2.675 E F0 .175(option is supplied, a description of)2.675 F F2(command) 2.875 E F0 .174(is printed.)3.445 F(The)5.174 E F12.674 E F0 .174 -(option causes)2.674 F 3.11(as)144 144 S .61(ingle w)-3.11 F .61 +(option causes)2.674 F 3.11(as)144 280.8 S .61(ingle w)-3.11 F .61 (ord indicating the command or \214le name used to in)-.1 F -.2(vo)-.4 G -.1(ke).2 G F2(command)3.41 E F0 .61(to be displayed; the)3.88 F F1 -144 156 Q F0 .25(option produces a more v)2.75 F .25 +144 292.8 Q F0 .25(option produces a more v)2.75 F .25 (erbose description.)-.15 F .249(If the)5.25 F F12.749 E F0(or) 2.749 E F12.749 E F0 .249(option is supplied, the e)2.749 F .249 -(xit status)-.15 F 1.004(is 0 if)144 168 R F2(command)3.704 E F0 -.1(wa) -4.274 G 3.504(sf).1 G 1.005(ound, and 1 if not.)-3.504 F 1.005 +(xit status)-.15 F 1.004(is 0 if)144 304.8 R F2(command)3.704 E F0 -.1 +(wa)4.274 G 3.504(sf).1 G 1.005(ound, and 1 if not.)-3.504 F 1.005 (If neither option is supplied and an error occurred or)6.005 F F2 -(command)144.2 180 Q F0 1.599(cannot be found, the e)4.869 F 1.599 +(command)144.2 316.8 Q F0 1.599(cannot be found, the e)4.869 F 1.599 (xit status is 127.)-.15 F 1.599(Otherwise, the e)6.599 F 1.598 -(xit status of the)-.15 F F1(command)4.098 E F0 -.2(bu)144 192 S +(xit status of the)-.15 F F1(command)4.098 E F0 -.2(bu)144 328.8 S (iltin is the e).2 E(xit status of)-.15 E F2(command)2.5 E F0(.).77 E F1 -(compgen)108 208.8 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(wor)-2.5 E(d) --.37 E F0(])A .012(Generate possible completion matches for)144 220.8 R +(compgen)108 345.6 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(wor)-2.5 E(d) +-.37 E F0(])A .012(Generate possible completion matches for)144 357.6 R F2(wor)2.513 E(d)-.37 E F0 .013(according to the)2.513 F F2(option)2.513 E F0 .013(s, which may be an)B 2.513(yo)-.15 G(ption)-2.513 E .982 -(accepted by the)144 232.8 R F1(complete)3.482 E F0 -.2(bu)3.481 G .981 +(accepted by the)144 369.6 R F1(complete)3.482 E F0 -.2(bu)3.481 G .981 (iltin with the e).2 F .981(xception of)-.15 F F13.481 E F0(and) 3.481 E F13.481 E F0 3.481(,a)C .981(nd write the matches to the) --3.481 F 1.415(standard output.)144 244.8 R 1.415(When using the)6.415 F +-3.481 F 1.415(standard output.)144 381.6 R 1.415(When using the)6.415 F F13.915 E F0(or)3.915 E F13.915 E F0 1.415(options, the v) 3.915 F 1.415(arious shell v)-.25 F 1.415(ariables set by the pro-)-.25 -F(grammable completion f)144 256.8 Q(acilities, while a)-.1 E -.25(va) +F(grammable completion f)144 393.6 Q(acilities, while a)-.1 E -.25(va) -.2 G(ilable, will not ha).25 E .3 -.15(ve u)-.2 H(seful v).15 E(alues.) --.25 E .352(The matches will be generated in the same w)144 280.8 R .352 +-.25 E .352(The matches will be generated in the same w)144 417.6 R .352 (ay as if the programmable completion code had gen-)-.1 F .02(erated th\ em directly from a completion speci\214cation with the same \215ags.)144 -292.8 R(If)5.02 E F2(wor)2.52 E(d)-.37 E F0 .02(is speci\214ed, only) -2.52 F(those completions matching)144 304.8 Q F2(wor)2.5 E(d)-.37 E F0 -(will be displayed.)2.5 E(The return v)144 328.8 Q +429.6 R(If)5.02 E F2(wor)2.52 E(d)-.37 E F0 .02(is speci\214ed, only) +2.52 F(those completions matching)144 441.6 Q F2(wor)2.5 E(d)-.37 E F0 +(will be displayed.)2.5 E(The return v)144 465.6 Q (alue is true unless an in)-.25 E -.25(va)-.4 G (lid option is supplied, or no matches were generated.).25 E F1 -(complete)108 345.6 Q F0([)3.729 E F1(\255abcdefgjksuv)A F0 3.729(][)C +(complete)108 482.4 Q F0([)3.729 E F1(\255abcdefgjksuv)A F0 3.729(][)C F1-3.729 E F2(comp-option)3.729 E F0 3.729(][)C F1(\255DE)-3.729 E F0 3.728(][)C F1-3.728 E F2(action)3.728 E F0 3.728(][)C F1 -3.728 E F2(globpat)3.728 E F0 3.728(][)C F1-3.728 E F2(wor)3.728 E(dlist)-.37 E F0 3.728(][)C F1-3.728 E F2(func-)3.728 E(tion)108 -357.6 Q F0 2.5(][)C F1-2.5 E F2(command)2.5 E F0(])A([)144 369.6 Q +494.4 Q F0 2.5(][)C F1-2.5 E F2(command)2.5 E F0(])A([)144 506.4 Q F1A F2(\214lterpat)2.5 E F0 2.5(][)C F1-2.5 E F2(pr)2.5 E (e\214x)-.37 E F0 2.5(][)C F1-2.5 E F2(suf)2.5 E<8c78>-.18 E F0(]) A F2(name)2.5 E F0([)2.5 E F2(name ...)A F0(])A F1(complete \255pr)108 -381.6 Q F0([)2.5 E F1(\255DE)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.634(Specify ho)144 393.6 R 3.134(wa)-.25 G -.18(rg)-3.134 G .634 +518.4 Q F0([)2.5 E F1(\255DE)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E +.634(Specify ho)144 530.4 R 3.134(wa)-.25 G -.18(rg)-3.134 G .634 (uments to each).18 F F2(name)3.134 E F0 .634(should be completed.)3.134 F .633(If the)5.634 F F13.133 E F0 .633 (option is supplied, or if no)3.133 F .139(options are supplied, e)144 -405.6 R .139(xisting completion speci\214cations are printed in a w)-.15 +542.4 R .139(xisting completion speci\214cations are printed in a w)-.15 F .14(ay that allo)-.1 F .14(ws them to be)-.25 F .31(reused as input.) -144 417.6 R(The)5.31 E F12.81 E F0 .31(option remo)2.81 F -.15(ve) +144 554.4 R(The)5.31 E F12.81 E F0 .31(option remo)2.81 F -.15(ve) -.15 G 2.81(sac).15 G .31(ompletion speci\214cation for each)-2.81 F F2 (name)2.81 E F0 2.81(,o)C 1.11 -.4(r, i)-2.81 H 2.81(fn).4 G(o)-2.81 E F2(name)2.81 E F0(s)A 1.346 -(are supplied, all completion speci\214cations.)144 429.6 R(The)6.347 E +(are supplied, all completion speci\214cations.)144 566.4 R(The)6.347 E F13.847 E F0 1.347(option indicates that the remaining options) -3.847 F .5(and actions should apply to the `)144 441.6 R(`def)-.74 E +3.847 F .5(and actions should apply to the `)144 578.4 R(`def)-.74 E (ault')-.1 E 3('c)-.74 G .5 (ommand completion; that is, completion attempted on)-3 F 3.455(ac)144 -453.6 S .955(ommand for which no completion has pre)-3.455 F .955 +590.4 S .955(ommand for which no completion has pre)-3.455 F .955 (viously been de\214ned.)-.25 F(The)5.955 E F13.455 E F0 .955 (option indicates that)3.455 F .065 -(the remaining options and actions should apply to `)144 465.6 R +(the remaining options and actions should apply to `)144 602.4 R (`empty')-.74 E 2.564('c)-.74 G .064 (ommand completion; that is, comple-)-2.564 F -(tion attempted on a blank line.)144 477.6 Q 1.437 +(tion attempted on a blank line.)144 614.4 Q 1.437 (The process of applying these completion speci\214cations when w)144 -501.6 R 1.438(ord completion is attempted is)-.1 F(described abo)144 -513.6 Q .3 -.15(ve u)-.15 H(nder).15 E F1(Pr)2.5 E +638.4 R 1.438(ord completion is attempted is)-.1 F(described abo)144 +650.4 Q .3 -.15(ve u)-.15 H(nder).15 E F1(Pr)2.5 E (ogrammable Completion)-.18 E F0(.)A .556 -(Other options, if speci\214ed, ha)144 537.6 R .856 -.15(ve t)-.2 H .555 +(Other options, if speci\214ed, ha)144 674.4 R .856 -.15(ve t)-.2 H .555 (he follo).15 F .555(wing meanings.)-.25 F .555(The ar)5.555 F .555 (guments to the)-.18 F F13.055 E F0(,)A F13.055 E F0 3.055 (,a)C(nd)-3.055 E F13.055 E F0 .722(options \(and, if necessary) -144 549.6 R 3.222(,t)-.65 G(he)-3.222 E F13.222 E F0(and)3.222 E +144 686.4 R 3.222(,t)-.65 G(he)-3.222 E F13.222 E F0(and)3.222 E F13.222 E F0 .723 (options\) should be quoted to protect them from e)3.222 F(xpan-)-.15 E -(sion before the)144 561.6 Q F1(complete)2.5 E F0 -.2(bu)2.5 G -(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F1144 573.6 Q -F2(comp-option)2.5 E F0(The)184 585.6 Q F2(comp-option)2.791 E F0 .291 -(controls se)2.791 F -.15(ve)-.25 G .291(ral aspects of the compspec') -.15 F 2.791(sb)-.55 G(eha)-2.791 E .291(vior be)-.2 F .291 -(yond the simple)-.15 F(generation of completions.)184 597.6 Q F2 -(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 609.6 Q F0 -.281(Perform the rest of the def)224 621.6 R(ault)-.1 E F1(bash)2.781 E -F0 .281(completions if the compspec generates no)2.781 F(matches.)224 -633.6 Q F1(default)184 645.6 Q F0 2.876(Use readline')10 F 5.376(sd)-.55 -G(ef)-5.376 E 2.875 -(ault \214lename completion if the compspec generates no)-.1 F(matches.) -224 657.6 Q F1(dir)184 669.6 Q(names)-.15 E F0(Perform directory name c\ -ompletion if the compspec generates no matches.)224 681.6 Q F1 -(\214lenames)184 693.6 Q F0 -.7(Te)224 705.6 S .137(ll readline that th\ -e compspec generates \214lenames, so it can perform an).7 F 2.637<798c> --.15 G(le-)-2.637 E .134(name\255speci\214c processing \(lik)224 717.6 R -2.634(ea)-.1 G .134(dding a slash to directory names, quoting spe-) --2.634 F .45(cial characters, or suppressing trailing spaces\).)224 -729.6 R .45(Intended to be used with shell)5.45 F(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(51)195.945 E 0 Cg EP +(sion before the)144 698.4 Q F1(complete)2.5 E F0 -.2(bu)2.5 G +(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E(GNU Bash-4.1)72 768 Q +(2010 May 30)147.345 E(51)197.335 E 0 Cg EP %%Page: 52 52 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(functions.)224 84 Q/F1 10/Times-Bold@0 SF(nospace)184 96 Q F0 -.7 -(Te)6.11 G .22(ll readline not to append a space \(the def).7 F .22 -(ault\) to w)-.1 F .22(ords completed at the end)-.1 F(of the line.)224 -108 Q F1(plusdirs)184 120 Q F0 1.985(After an)5.54 F 4.485(ym)-.15 G -1.985(atches de\214ned by the compspec are generated, directory name) --4.485 F .584(completion is attempted and an)224 132 R 3.084(ym)-.15 G -.584(atches are added to the results of the other)-3.084 F(actions.)224 -144 Q F1144 156 Q/F2 10/Times-Italic@0 SF(action)2.5 E F0(The)184 -168 Q F2(action)2.5 E F0(may be one of the follo)2.5 E +-.35 E/F1 10/Times-Bold@0 SF144 84 Q/F2 10/Times-Italic@0 SF +(comp-option)2.5 E F0(The)184 96 Q F2(comp-option)2.791 E F0 .291 +(controls se)2.791 F -.15(ve)-.25 G .291(ral aspects of the compspec') +.15 F 2.791(sb)-.55 G(eha)-2.791 E .291(vior be)-.2 F .291 +(yond the simple)-.15 F(generation of completions.)184 108 Q F2 +(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 120 Q F0 +.281(Perform the rest of the def)224 132 R(ault)-.1 E F1(bash)2.781 E F0 +.281(completions if the compspec generates no)2.781 F(matches.)224 144 Q +F1(default)184 156 Q F0 2.876(Use readline')10 F 5.376(sd)-.55 G(ef) +-5.376 E 2.875(ault \214lename completion if the compspec generates no) +-.1 F(matches.)224 168 Q F1(dir)184 180 Q(names)-.15 E F0(Perform direc\ +tory name completion if the compspec generates no matches.)224 192 Q F1 +(\214lenames)184 204 Q F0 -.7(Te)224 216 S .137(ll readline that the co\ +mpspec generates \214lenames, so it can perform an).7 F 2.637<798c>-.15 +G(le-)-2.637 E .134(name\255speci\214c processing \(lik)224 228 R 2.634 +(ea)-.1 G .134(dding a slash to directory names, quoting spe-)-2.634 F +.45(cial characters, or suppressing trailing spaces\).)224 240 R .45 +(Intended to be used with shell)5.45 F(functions.)224 252 Q F1(nospace) +184 264 Q F0 -.7(Te)6.11 G .22 +(ll readline not to append a space \(the def).7 F .22(ault\) to w)-.1 F +.22(ords completed at the end)-.1 F(of the line.)224 276 Q F1(plusdirs) +184 288 Q F0 1.985(After an)5.54 F 4.485(ym)-.15 G 1.985 +(atches de\214ned by the compspec are generated, directory name)-4.485 F +.584(completion is attempted and an)224 300 R 3.084(ym)-.15 G .584 +(atches are added to the results of the other)-3.084 F(actions.)224 312 +Q F1144 324 Q F2(action)2.5 E F0(The)184 336 Q F2(action)2.5 E F0 +(may be one of the follo)2.5 E (wing to generate a list of possible completions:)-.25 E F1(alias)184 -180 Q F0(Alias names.)20.55 E(May also be speci\214ed as)5 E F12.5 -E F0(.)A F1(arrayv)184 192 Q(ar)-.1 E F0(Array v)224 204 Q -(ariable names.)-.25 E F1 4.7(binding Readline)184 216 R F0 -.1(ke)2.5 G -2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 228 S(iltin).2 E F0 +348 Q F0(Alias names.)20.55 E(May also be speci\214ed as)5 E F12.5 +E F0(.)A F1(arrayv)184 360 Q(ar)-.1 E F0(Array v)224 372 Q +(ariable names.)-.25 E F1 4.7(binding Readline)184 384 R F0 -.1(ke)2.5 G +2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 396 S(iltin).2 E F0 (Names of shell b)11.85 E(uiltin commands.)-.2 E -(May also be speci\214ed as)5 E F12.5 E F0(.)A F1(command)184 240 -Q F0(Command names.)224 252 Q(May also be speci\214ed as)5 E F12.5 -E F0(.)A F1(dir)184 264 Q(ectory)-.18 E F0(Directory names.)224 276 Q -(May also be speci\214ed as)5 E F12.5 E F0(.)A F1(disabled)184 288 -Q F0(Names of disabled shell b)224 300 Q(uiltins.)-.2 E F1(enabled)184 -312 Q F0(Names of enabled shell b)6.66 E(uiltins.)-.2 E F1(export)184 -324 Q F0(Names of e)12.23 E(xported shell v)-.15 E 2.5(ariables. May) +(May also be speci\214ed as)5 E F12.5 E F0(.)A F1(command)184 408 +Q F0(Command names.)224 420 Q(May also be speci\214ed as)5 E F12.5 +E F0(.)A F1(dir)184 432 Q(ectory)-.18 E F0(Directory names.)224 444 Q +(May also be speci\214ed as)5 E F12.5 E F0(.)A F1(disabled)184 456 +Q F0(Names of disabled shell b)224 468 Q(uiltins.)-.2 E F1(enabled)184 +480 Q F0(Names of enabled shell b)6.66 E(uiltins.)-.2 E F1(export)184 +492 Q F0(Names of e)12.23 E(xported shell v)-.15 E 2.5(ariables. May) -.25 F(also be speci\214ed as)2.5 E F12.5 E F0(.)A F1(\214le)184 -336 Q F0(File names.)27.22 E(May also be speci\214ed as)5 E F12.5 -E F0(.)A F1(function)184 348 Q F0(Names of shell functions.)224 360 Q F1 -(gr)184 372 Q(oup)-.18 E F0(Group names.)14.62 E +504 Q F0(File names.)27.22 E(May also be speci\214ed as)5 E F12.5 +E F0(.)A F1(function)184 516 Q F0(Names of shell functions.)224 528 Q F1 +(gr)184 540 Q(oup)-.18 E F0(Group names.)14.62 E (May also be speci\214ed as)5 E F12.5 E F0(.)A F1(helptopic)184 -384 Q F0(Help topics as accepted by the)224 396 Q F1(help)2.5 E F0 -.2 -(bu)2.5 G(iltin.).2 E F1(hostname)184 408 Q F0(Hostnames, as tak)224 420 +552 Q F0(Help topics as accepted by the)224 564 Q F1(help)2.5 E F0 -.2 +(bu)2.5 G(iltin.).2 E F1(hostname)184 576 Q F0(Hostnames, as tak)224 588 Q(en from the \214le speci\214ed by the)-.1 E/F3 9/Times-Bold@0 SF -(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E F1(job)184 432 Q F0 +(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E F1(job)184 600 Q F0 (Job names, if job control is acti)26.11 E -.15(ve)-.25 G 5(.M).15 G -(ay also be speci\214ed as)-5 E F12.5 E F0(.)A F1 -.1(ke)184 444 S -(yw).1 E(ord)-.1 E F0(Shell reserv)224 456 Q(ed w)-.15 E 2.5(ords. May) +(ay also be speci\214ed as)-5 E F12.5 E F0(.)A F1 -.1(ke)184 612 S +(yw).1 E(ord)-.1 E F0(Shell reserv)224 624 Q(ed w)-.15 E 2.5(ords. May) -.1 F(also be speci\214ed as)2.5 E F12.5 E F0(.)A F1(running)184 -468 Q F0(Names of running jobs, if job control is acti)5.54 E -.15(ve) --.25 G(.).15 E F1(ser)184 480 Q(vice)-.1 E F0(Service names.)10.67 E -(May also be speci\214ed as)5 E F12.5 E F0(.)A F1(setopt)184 492 Q +636 Q F0(Names of running jobs, if job control is acti)5.54 E -.15(ve) +-.25 G(.).15 E F1(ser)184 648 Q(vice)-.1 E F0(Service names.)10.67 E +(May also be speci\214ed as)5 E F12.5 E F0(.)A F1(setopt)184 660 Q F0 -1.11(Va)14.45 G(lid ar)1.11 E(guments for the)-.18 E F12.5 E F0(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1 -(shopt)184 504 Q F0(Shell option names as accepted by the)16.66 E F1 -(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 516 Q F0 -(Signal names.)14.99 E F1(stopped)184 528 Q F0 +(shopt)184 672 Q F0(Shell option names as accepted by the)16.66 E F1 +(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 684 Q F0 +(Signal names.)14.99 E F1(stopped)184 696 Q F0 (Names of stopped jobs, if job control is acti)6.66 E -.15(ve)-.25 G(.) -.15 E F1(user)184 540 Q F0(User names.)21.67 E -(May also be speci\214ed as)5 E F12.5 E F0(.)A F1 -.1(va)184 552 S -(riable).1 E F0(Names of all shell v)5.1 E 2.5(ariables. May)-.25 F -(also be speci\214ed as)2.5 E F12.5 E F0(.)A F1144 564 Q F2 -(command)2.5 E(command)184 576 Q F0 1.055(is e)3.555 F -.15(xe)-.15 G -1.055(cuted in a subshell en).15 F 1.056 -(vironment, and its output is used as the possible)-.4 F(completions.) -184 588 Q F1144 600 Q F2(function)2.5 E F0 1.181 -(The shell function)184 612 R F2(function)3.681 E F0 1.181(is e)3.681 F --.15(xe)-.15 G 1.181(cuted in the current shell en).15 F 3.68 -(vironment. When)-.4 F 1.18(it \214n-)3.68 F .932 -(ishes, the possible completions are retrie)184 624 R -.15(ve)-.25 G -3.432(df).15 G .932(rom the v)-3.432 F .932(alue of the)-.25 F F3 -(COMPREPL)3.432 E(Y)-.828 E F0(array)3.182 E -.25(va)184 636 S(riable.) -.25 E F1144 648 Q F2(globpat)2.5 E F0 1.008(The pathname e)184 660 -R 1.008(xpansion pattern)-.15 F F2(globpat)3.507 E F0 1.007(is e)3.507 F -1.007(xpanded to generate the possible comple-)-.15 F(tions.)184 672 Q -F1144 684 Q F2(pr)2.5 E(e\214x)-.37 E(pr)184 696 Q(e\214x)-.37 E -F0 .534(is added at the be)3.034 F .534 -(ginning of each possible completion after all other options ha)-.15 F --.15(ve)-.2 G(been applied.)184 708 Q(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(52)195.945 E 0 Cg EP +.15 E F1(user)184 708 Q F0(User names.)21.67 E +(May also be speci\214ed as)5 E F12.5 E F0(.)A(GNU Bash-4.1)72 768 +Q(2010 May 30)147.345 E(52)197.335 E 0 Cg EP %%Page: 53 53 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF144 84 Q/F2 10/Times-Italic@0 SF(suf) -2.5 E 2.81(\214x suf)-.18 F<8c78>-.18 E F0 +-.35 E/F1 10/Times-Bold@0 SF -.1(va)184 84 S(riable).1 E F0 +(Names of all shell v)5.1 E 2.5(ariables. May)-.25 F +(also be speci\214ed as)2.5 E F12.5 E F0(.)A F1144 96 Q/F2 +10/Times-Italic@0 SF(command)2.5 E(command)184 108 Q F0 1.055(is e)3.555 +F -.15(xe)-.15 G 1.055(cuted in a subshell en).15 F 1.056 +(vironment, and its output is used as the possible)-.4 F(completions.) +184 120 Q F1144 132 Q F2(function)2.5 E F0 1.181 +(The shell function)184 144 R F2(function)3.681 E F0 1.181(is e)3.681 F +-.15(xe)-.15 G 1.181(cuted in the current shell en).15 F 3.68 +(vironment. When)-.4 F 1.18(it \214n-)3.68 F .932 +(ishes, the possible completions are retrie)184 156 R -.15(ve)-.25 G +3.432(df).15 G .932(rom the v)-3.432 F .932(alue of the)-.25 F/F3 9 +/Times-Bold@0 SF(COMPREPL)3.432 E(Y)-.828 E F0(array)3.182 E -.25(va)184 +168 S(riable.).25 E F1144 180 Q F2(globpat)2.5 E F0 1.008 +(The pathname e)184 192 R 1.008(xpansion pattern)-.15 F F2(globpat)3.507 +E F0 1.007(is e)3.507 F 1.007(xpanded to generate the possible comple-) +-.15 F(tions.)184 204 Q F1144 216 Q F2(pr)2.5 E(e\214x)-.37 E(pr) +184 228 Q(e\214x)-.37 E F0 .534(is added at the be)3.034 F .534 +(ginning of each possible completion after all other options ha)-.15 F +-.15(ve)-.2 G(been applied.)184 240 Q F1144 252 Q F2(suf)2.5 E +2.81(\214x suf)-.18 F<8c78>-.18 E F0 (is appended to each possible completion after all other options ha)2.5 -E .3 -.15(ve b)-.2 H(een applied.).15 E F1144 96 Q F2(wor)2.5 E -(dlist)-.37 E F0(The)184 108 Q F2(wor)3.64 E(dlist)-.37 E F0 1.14 -(is split using the characters in the)3.64 F/F3 9/Times-Bold@0 SF(IFS) -3.64 E F0 1.139(special v)3.39 F 1.139(ariable as delimiters, and)-.25 F -2.007(each resultant w)184 120 R 2.007(ord is e)-.1 F 4.507 -(xpanded. The)-.15 F 2.008(possible completions are the members of the) -4.507 F(resultant list which match the w)184 132 Q(ord being completed.) --.1 E F1144 144 Q F2(\214lterpat)2.5 E(\214lterpat)184 156 Q F0 -.456(is a pattern as used for pathname e)2.956 F 2.956(xpansion. It)-.15 -F .455(is applied to the list of possible)2.956 F 1.596 -(completions generated by the preceding options and ar)184 168 R 1.596 -(guments, and each completion)-.18 F(matching)184 180 Q F2(\214lterpat) +E .3 -.15(ve b)-.2 H(een applied.).15 E F1144 264 Q F2(wor)2.5 E +(dlist)-.37 E F0(The)184 276 Q F2(wor)3.64 E(dlist)-.37 E F0 1.14 +(is split using the characters in the)3.64 F F3(IFS)3.64 E F0 1.139 +(special v)3.39 F 1.139(ariable as delimiters, and)-.25 F 2.007 +(each resultant w)184 288 R 2.007(ord is e)-.1 F 4.507(xpanded. The)-.15 +F 2.008(possible completions are the members of the)4.507 F +(resultant list which match the w)184 300 Q(ord being completed.)-.1 E +F1144 312 Q F2(\214lterpat)2.5 E(\214lterpat)184 324 Q F0 .456 +(is a pattern as used for pathname e)2.956 F 2.956(xpansion. It)-.15 F +.455(is applied to the list of possible)2.956 F 1.596 +(completions generated by the preceding options and ar)184 336 R 1.596 +(guments, and each completion)-.18 F(matching)184 348 Q F2(\214lterpat) 3.205 E F0 .705(is remo)3.205 F -.15(ve)-.15 G 3.205(df).15 G .704 (rom the list.)-3.205 F 3.204(Al)5.704 G(eading)-3.204 E F1(!)3.204 E F0 (in)3.204 E F2(\214lterpat)3.204 E F0(ne)3.204 E -.05(ga)-.15 G .704 -(tes the pattern;).05 F(in this case, an)184 192 Q 2.5(yc)-.15 G +(tes the pattern;).05 F(in this case, an)184 360 Q 2.5(yc)-.15 G (ompletion not matching)-2.5 E F2(\214lterpat)2.5 E F0(is remo)2.5 E --.15(ve)-.15 G(d.).15 E .466(The return v)144 208.8 R .466 +-.15(ve)-.15 G(d.).15 E .466(The return v)144 376.8 R .466 (alue is true unless an in)-.25 F -.25(va)-.4 G .466 (lid option is supplied, an option other than).25 F F12.967 E F0 (or)2.967 E F12.967 E F0 .467(is sup-)2.967 F 1.362 -(plied without a)144 220.8 R F2(name)3.862 E F0(ar)3.862 E 1.361 +(plied without a)144 388.8 R F2(name)3.862 E F0(ar)3.862 E 1.361 (gument, an attempt is made to remo)-.18 F 1.661 -.15(ve a c)-.15 H -1.361(ompletion speci\214cation for a).15 F F2(name)144 232.8 Q F0 +1.361(ompletion speci\214cation for a).15 F F2(name)144 400.8 Q F0 (for which no speci\214cation e)2.5 E (xists, or an error occurs adding a completion speci\214cation.)-.15 E -F1(compopt)108 249.6 Q F0([)2.5 E F1A F2(option)2.5 E F0 2.5(][)C +F1(compopt)108 417.6 Q F0([)2.5 E F1A F2(option)2.5 E F0 2.5(][)C F1(\255DE)-2.5 E F0 2.5(][)C F1(+o)-2.5 E F2(option)2.5 E F0 2.5(][)C F2 -(name)-2.5 E F0(])A .447(Modify completion options for each)144 261.6 R +(name)-2.5 E F0(])A .447(Modify completion options for each)144 429.6 R F2(name)2.947 E F0 .447(according to the)2.947 F F2(option)2.947 E F0 .447(s, or for the currently-e)B -.15(xe)-.15 G(cuting).15 E .726 -(completion if no)144 273.6 R F2(name)3.226 E F0 3.226(sa)C .726 +(completion if no)144 441.6 R F2(name)3.226 E F0 3.226(sa)C .726 (re supplied.)-3.226 F .725(If no)5.725 F F2(option)3.225 E F0 3.225(sa) C .725(re gi)-3.225 F -.15(ve)-.25 G .725 -(n, display the completion options for).15 F(each)144 285.6 Q F2(name) +(n, display the completion options for).15 F(each)144 453.6 Q F2(name) 3.223 E F0 .723(or the current completion.)3.223 F .724(The possible v) 5.724 F .724(alues of)-.25 F F2(option)3.224 E F0 .724(are those v)3.224 -F .724(alid for the)-.25 F F1(com-)3.224 E(plete)144 297.6 Q F0 -.2(bu) +F .724(alid for the)-.25 F F1(com-)3.224 E(plete)144 465.6 Q F0 -.2(bu) 2.798 G .298(iltin described abo).2 F -.15(ve)-.15 G 5.297(.T).15 G(he) -5.297 E F12.797 E F0 .297 (option indicates that the remaining options should apply to)2.797 F -1.227(the `)144 309.6 R(`def)-.74 E(ault')-.1 E 3.727('c)-.74 G 1.228(o\ +1.227(the `)144 477.6 R(`def)-.74 E(ault')-.1 E 3.727('c)-.74 G 1.228(o\ mmand completion; that is, completion attempted on a command for which \ -no)-3.727 F 2.178(completion has pre)144 321.6 R 2.178 +no)-3.727 F 2.178(completion has pre)144 489.6 R 2.178 (viously been de\214ned.)-.25 F(The)7.178 E F14.678 E F0 2.177 (option indicates that the remaining options)4.677 F(should apply to `) -144 333.6 Q(`empty')-.74 E 2.5('c)-.74 G +144 501.6 Q(`empty')-.74 E 2.5('c)-.74 G (ommand completion; that is, completion attempted on a blank line.)-2.5 -E 1.387(The return v)144 357.6 R 1.387(alue is true unless an in)-.25 F +E 1.387(The return v)144 525.6 R 1.387(alue is true unless an in)-.25 F -.25(va)-.4 G 1.388 (lid option is supplied, an attempt is made to modify the).25 F -(options for a)144 369.6 Q F2(name)2.5 E F0 +(options for a)144 537.6 Q F2(name)2.5 E F0 (for which no completion speci\214cation e)2.5 E -(xists, or an output error occurs.)-.15 E F1(continue)108 386.4 Q F0([) -2.5 E F2(n)A F0(])A 1.754(Resume the ne)144 398.4 R 1.754 +(xists, or an output error occurs.)-.15 E F1(continue)108 554.4 Q F0([) +2.5 E F2(n)A F0(])A 1.754(Resume the ne)144 566.4 R 1.754 (xt iteration of the enclosing)-.15 F F1 -.25(fo)4.254 G(r).25 E F0(,)A F1(while)4.254 E F0(,)A F1(until)4.254 E F0 4.254(,o)C(r)-4.254 E F1 (select)4.254 E F0 4.253(loop. If)4.254 F F2(n)4.613 E F0 1.753 -(is speci\214ed,)4.493 F 1.208(resume at the)144 410.4 R F2(n)3.709 E F0 +(is speci\214ed,)4.493 F 1.208(resume at the)144 578.4 R F2(n)3.709 E F0 1.209(th enclosing loop.)B F2(n)6.569 E F0 1.209(must be)3.949 F/F4 10 /Symbol SF3.709 E F0 3.709(1. If)3.709 F F2(n)4.069 E F0 1.209 (is greater than the number of enclosing)3.949 F .514 -(loops, the last enclosing loop \(the `)144 422.4 R(`top-le)-.74 E -.15 +(loops, the last enclosing loop \(the `)144 590.4 R(`top-le)-.74 E -.15 (ve)-.25 G(l').15 E 3.014('l)-.74 G .514(oop\) is resumed.)-3.014 F .513 (The return v)5.513 F .513(alue is 0 unless)-.25 F F2(n)3.013 E F0(is) -3.013 E(not greater than or equal to 1.)144 434.4 Q F1(declar)108 451.2 -Q(e)-.18 E F0([)2.5 E F1(\255aAfFilrtux)A F0 2.5(][)C F1-2.5 E F0 +3.013 E(not greater than or equal to 1.)144 602.4 Q F1(declar)108 619.2 +Q(e)-.18 E F0([)2.5 E F1(\255aAfFgilrtux)A F0 2.5(][)C F1-2.5 E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E F1 -(typeset)108 463.2 Q F0([)2.5 E F1(\255aAfFilrtux)A F0 2.5(][)C F1 --2.5 E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C(..]) --2.5 E 1.264(Declare v)144 475.2 R 1.264(ariables and/or gi)-.25 F 1.564 --.15(ve t)-.25 H 1.264(hem attrib).15 F 3.765(utes. If)-.2 F(no)3.765 E -F2(name)3.765 E F0 3.765(sa)C 1.265(re gi)-3.765 F -.15(ve)-.25 G 3.765 -(nt).15 G 1.265(hen display the v)-3.765 F 1.265(alues of)-.25 F -.25 -(va)144 487.2 S 3.483(riables. The).25 F F13.483 E F0 .983 +(typeset)108 631.2 Q F0([)2.5 E F1(\255aAfFgilrtux)A F0 2.5(][)C F1 +-2.5 E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C +(..])-2.5 E 1.264(Declare v)144 643.2 R 1.264(ariables and/or gi)-.25 F +1.564 -.15(ve t)-.25 H 1.264(hem attrib).15 F 3.765(utes. If)-.2 F(no) +3.765 E F2(name)3.765 E F0 3.765(sa)C 1.265(re gi)-3.765 F -.15(ve)-.25 +G 3.765(nt).15 G 1.265(hen display the v)-3.765 F 1.265(alues of)-.25 F +-.25(va)144 655.2 S 3.483(riables. The).25 F F13.483 E F0 .983 (option will display the attrib)3.483 F .983(utes and v)-.2 F .982 (alues of each)-.25 F F2(name)3.482 E F0 5.982(.W).18 G(hen)-5.982 E F1 -3.482 E F0 .982(is used)3.482 F(with)144 499.2 Q F2(name)3.579 E +3.482 E F0 .982(is used)3.482 F(with)144 667.2 Q F2(name)3.579 E F0(ar)3.579 E 1.079(guments, additional options are ignored.)-.18 F (When)6.079 E F13.579 E F0 1.079(is supplied without)3.579 F F2 (name)3.58 E F0(ar)3.58 E(gu-)-.18 E .151 -(ments, it will display the attrib)144 511.2 R .151(utes and v)-.2 F +(ments, it will display the attrib)144 679.2 R .151(utes and v)-.2 F .151(alues of all v)-.25 F .15(ariables ha)-.25 F .15(ving the attrib) -.2 F .15(utes speci\214ed by the)-.2 F .046(additional options.)144 -523.2 R .046(If no other options are supplied with)5.046 F F12.547 +691.2 R .046(If no other options are supplied with)5.046 F F12.547 E F0(,)A F1(declar)2.547 E(e)-.18 E F0 .047(will display the attrib) -2.547 F .047(utes and)-.2 F -.25(va)144 535.2 S 1.363 +2.547 F .047(utes and)-.2 F -.25(va)144 703.2 S 1.363 (lues of all shell v).25 F 3.863(ariables. The)-.25 F F13.863 E F0 1.362(option will restrict the display to shell functions.)3.863 F(The) 6.362 E F13.862 E F0 2.422(option inhibits the display of functio\ -n de\214nitions; only the function name and attrib)144 547.2 R 2.423 -(utes are)-.2 F 2.664(printed. If)144 559.2 R(the)2.664 E F1(extdeb) +n de\214nitions; only the function name and attrib)144 715.2 R 2.423 +(utes are)-.2 F 2.664(printed. If)144 727.2 R(the)2.664 E F1(extdeb) 2.664 E(ug)-.2 E F0 .164(shell option is enabled using)2.664 F F1(shopt) 2.664 E F0 2.664(,t)C .163(he source \214le name and line number)-2.664 -F 1.382(where the function is de\214ned are displayed as well.)144 571.2 -R(The)6.382 E F13.882 E F0 1.382(option implies)3.882 F F1 -3.882 E F0 6.382(.T)C 1.382(he follo)-6.382 F(wing)-.25 E .794 -(options can be used to restrict output to v)144 583.2 R .794 -(ariables with the speci\214ed attrib)-.25 F .793(ute or to gi)-.2 F -1.093 -.15(ve v)-.25 H(ariables)-.1 E(attrib)144 595.2 Q(utes:)-.2 E F1 -144 607.2 Q F0(Each)25.3 E F2(name)2.5 E F0(is an inde)2.5 E -.15 -(xe)-.15 G 2.5(da).15 G(rray v)-2.5 E(ariable \(see)-.25 E F1(Arrays)2.5 -E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1144 619.2 Q F0(Each) -23.08 E F2(name)2.5 E F0(is an associati)2.5 E .3 -.15(ve a)-.25 H -(rray v).15 E(ariable \(see)-.25 E F1(Arrays)2.5 E F0(abo)2.5 E -.15(ve) --.15 G(\).).15 E F1144 631.2 Q F0(Use function names only)26.97 E -(.)-.65 E F1144 643.2 Q F0 .557(The v)27.52 F .558 -(ariable is treated as an inte)-.25 F .558(ger; arithmetic e)-.15 F -.25 -(va)-.25 G .558(luation \(see).25 F F3 .558(ARITHMETIC EV)3.058 F(ALU) --1.215 E(A-)-.54 E(TION)180 655.2 Q F0(abo)2.25 E -.15(ve)-.15 G 2.5 -(\)i).15 G 2.5(sp)-2.5 G(erformed when the v)-2.5 E -(ariable is assigned a v)-.25 E(alue.)-.25 E F1144 667.2 Q F0 .91 -(When the v)27.52 F .909(ariable is assigned a v)-.25 F .909 -(alue, all upper)-.25 F .909(-case characters are con)-.2 F -.15(ve)-.4 -G .909(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 679.2 R -(upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1144 691.2 -Q F0(Mak)25.86 E(e)-.1 E F2(name)5.046 E F0 5.046(sr)C(eadonly)-5.046 E -7.546(.T)-.65 G 2.546(hese names cannot then be assigned v)-7.546 F -2.547(alues by subsequent)-.25 F(assignment statements or unset.)180 -703.2 Q F1144 715.2 Q F0(Gi)26.97 E .73 -.15(ve e)-.25 H(ach).15 E -F2(name)2.93 E F0(the)2.929 E F2(tr)2.929 E(ace)-.15 E F0(attrib)2.929 E -2.929(ute. T)-.2 F .429(raced functions inherit the)-.35 F F1(DEB)2.929 -E(UG)-.1 E F0(and)2.929 E F1(RETURN)2.929 E F0 -(traps from the calling shell.)180 727.2 Q(The trace attrib)5 E -(ute has no special meaning for v)-.2 E(ariables.)-.25 E(GNU Bash-4.1)72 -768 Q(2010 April 17)145.955 E(53)195.945 E 0 Cg EP +F(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(53)197.335 E 0 Cg EP %%Page: 54 54 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF144 84 Q F0 .909(When the v)24.74 F -.909(ariable is assigned a v)-.25 F .909(alue, all lo)-.25 F(wer)-.25 E -.909(-case characters are con)-.2 F -.15(ve)-.4 G .91(rted to upper).15 -F(-)-.2 E 2.5(case. The)180 96 R(lo)2.5 E(wer)-.25 E(-case attrib)-.2 E -(ute is disabled.)-.2 E F1144 108 Q F0(Mark)25.3 E/F2 10 -/Times-Italic@0 SF(name)2.5 E F0 2.5(sf)C(or e)-2.5 E -(xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .121 -(Using `+' instead of `\255' turns of)144 124.8 R 2.621(ft)-.25 G .121 -(he attrib)-2.621 F .121(ute instead, with the e)-.2 F .12 -(xceptions that)-.15 F F1(+a)2.62 E F0 .12(may not be used)2.62 F .644 -(to destro)144 136.8 R 3.144(ya)-.1 G 3.144(na)-3.144 G .644(rray v) --3.144 F .644(ariable and)-.25 F F1(+r)3.145 E F0 .645(will not remo) -3.145 F .945 -.15(ve t)-.15 H .645(he readonly attrib).15 F 3.145 -(ute. When)-.2 F .645(used in a func-)3.145 F 1.945(tion, mak)144 148.8 -R 1.945(es each)-.1 F F2(name)4.445 E F0 1.945(local, as with the)4.445 -F F1(local)4.444 E F0 4.444(command. If)4.444 F 4.444(av)4.444 G 1.944 -(ariable name is follo)-4.694 F 1.944(wed by)-.25 F(=)144 160.8 Q F2 -(value)A F0 3.238(,t)C .738(he v)-3.238 F .738(alue of the v)-.25 F .738 -(ariable is set to)-.25 F F2(value)3.238 E F0 5.738(.T)C .738 -(he return v)-5.738 F .739(alue is 0 unless an in)-.25 F -.25(va)-.4 G -.739(lid option is).25 F .603 -(encountered, an attempt is made to de\214ne a function using)144 172.8 -R/F3 10/Courier@0 SF .603(\255f foo=bar)3.103 F F0 3.103(,a)C 3.103(na) --3.103 G .603(ttempt is made to)-3.103 F 1.242(assign a v)144 184.8 R -1.242(alue to a readonly v)-.25 F 1.242 -(ariable, an attempt is made to assign a v)-.25 F 1.243 -(alue to an array v)-.25 F(ariable)-.25 E 1.386 -(without using the compound assignment syntax \(see)144 196.8 R F1 -(Arrays)3.886 E F0(abo)3.886 E -.15(ve)-.15 G 1.386(\), one of the).15 F -F2(names)3.886 E F0 1.386(is not a)3.886 F -.25(va)144 208.8 S .171 -(lid shell v).25 F .171(ariable name, an attempt is made to turn of)-.25 -F 2.671(fr)-.25 G .171(eadonly status for a readonly v)-2.671 F .172 -(ariable, an)-.25 F .96(attempt is made to turn of)144 220.8 R 3.46(fa) --.25 G .96(rray status for an array v)-3.46 F .96 -(ariable, or an attempt is made to display a)-.25 F(non-e)144 232.8 Q -(xistent function with)-.15 E F12.5 E F0(.)A F1(dirs [+)108 249.6 +-.35 E 1.288(where the function is de\214ned are displayed as well.)144 +84 R(The)6.288 E/F1 10/Times-Bold@0 SF3.788 E F0 1.288 +(option implies)3.788 F F13.788 E F0 6.288(.T)C(he)-6.288 E F1 +3.789 E F0(option)3.789 E .491(forces v)144 96 R .491 +(ariables to be created or modi\214ed at the global scope, e)-.25 F -.15 +(ve)-.25 G 2.99(nw).15 G(hen)-2.99 E F1(declar)2.99 E(e)-.18 E F0 .49 +(is e)2.99 F -.15(xe)-.15 G .49(cuted in a).15 F .124(shell function.) +144 108 R .124(It is ignored in all other cases.)5.124 F .125(The follo) +5.125 F .125(wing options can be used to restrict output)-.25 F(to v)144 +120 Q(ariables with the speci\214ed attrib)-.25 E(ute or to gi)-.2 E .3 +-.15(ve v)-.25 H(ariables attrib)-.1 E(utes:)-.2 E F1144 132 Q F0 +(Each)25.3 E/F2 10/Times-Italic@0 SF(name)2.5 E F0(is an inde)2.5 E -.15 +(xe)-.15 G 2.5(da).15 G(rray v)-2.5 E(ariable \(see)-.25 E F1(Arrays)2.5 +E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1144 144 Q F0(Each)23.08 +E F2(name)2.5 E F0(is an associati)2.5 E .3 -.15(ve a)-.25 H(rray v).15 +E(ariable \(see)-.25 E F1(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).) +.15 E F1144 156 Q F0(Use function names only)26.97 E(.)-.65 E F1 +144 168 Q F0 .558(The v)27.52 F .558 +(ariable is treated as an inte)-.25 F .558(ger; arithmetic e)-.15 F -.25 +(va)-.25 G .558(luation \(see).25 F/F3 9/Times-Bold@0 SF .557 +(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)180 180 Q F0(abo)2.25 +E -.15(ve)-.15 G 2.5(\)i).15 G 2.5(sp)-2.5 G(erformed when the v)-2.5 E +(ariable is assigned a v)-.25 E(alue.)-.25 E F1144 192 Q F0 .909 +(When the v)27.52 F .909(ariable is assigned a v)-.25 F .909 +(alue, all upper)-.25 F .909(-case characters are con)-.2 F -.15(ve)-.4 +G .91(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 204 R(upper) +2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1144 216 Q F0 +(Mak)25.86 E(e)-.1 E F2(name)5.047 E F0 5.047(sr)C(eadonly)-5.047 E +7.547(.T)-.65 G 2.546(hese names cannot then be assigned v)-7.547 F +2.546(alues by subsequent)-.25 F(assignment statements or unset.)180 228 +Q F1144 240 Q F0(Gi)26.97 E .729 -.15(ve e)-.25 H(ach).15 E F2 +(name)2.929 E F0(the)2.929 E F2(tr)2.929 E(ace)-.15 E F0(attrib)2.929 E +2.929(ute. T)-.2 F .429(raced functions inherit the)-.35 F F1(DEB)2.929 +E(UG)-.1 E F0(and)2.93 E F1(RETURN)2.93 E F0 +(traps from the calling shell.)180 252 Q(The trace attrib)5 E +(ute has no special meaning for v)-.2 E(ariables.)-.25 E F1144 264 +Q F0 .91(When the v)24.74 F .909(ariable is assigned a v)-.25 F .909 +(alue, all lo)-.25 F(wer)-.25 E .909(-case characters are con)-.2 F -.15 +(ve)-.4 G .909(rted to upper).15 F(-)-.2 E 2.5(case. The)180 276 R(lo) +2.5 E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1144 +288 Q F0(Mark)25.3 E F2(name)2.5 E F0 2.5(sf)C(or e)-2.5 E +(xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .12 +(Using `+' instead of `\255' turns of)144 304.8 R 2.62(ft)-.25 G .12 +(he attrib)-2.62 F .121(ute instead, with the e)-.2 F .121 +(xceptions that)-.15 F F1(+a)2.621 E F0 .121(may not be used)2.621 F +.645(to destro)144 316.8 R 3.145(ya)-.1 G 3.145(na)-3.145 G .645(rray v) +-3.145 F .645(ariable and)-.25 F F1(+r)3.145 E F0 .645(will not remo) +3.145 F .945 -.15(ve t)-.15 H .645(he readonly attrib).15 F 3.144 +(ute. When)-.2 F .644(used in a func-)3.144 F .53(tion, mak)144 328.8 R +.53(es each)-.1 F F2(name)3.03 E F0 .53(local, as with the)3.03 F F1 +(local)3.031 E F0 .531(command, unless the)3.031 F F1 .531 +(\255gP option is supplied, If a)3.031 F -.1(va)144 340.8 S 1.558 +(riable name is f).1 F(ollo)-.25 E 1.558(wed by =)-.1 F F2(value)A F1 +4.058(,t)C 1.558(he v)-4.058 F 1.557(alue of the v)-.1 F 1.557 +(ariable is set to)-.1 F F2(value)4.057 E F1 6.557(.T)C 1.557(he r) +-6.557 F(etur)-.18 E(n)-.15 E -.1(va)144 352.8 S 1.168 +(lue is 0 unless an in).1 F -.1(va)-.4 G 1.168(lid option is encounter) +.1 F 1.168(ed, an attempt is made to de\214ne a function)-.18 F(using) +144 364.8 Q/F4 10/Courier@0 SF .312(\255f foo=bar)2.812 F F1 2.812(,a)C +2.812(na)-2.812 G .312(ttempt is made to assign a v)-2.812 F .312 +(alue to a r)-.1 F .312(eadonly v)-.18 F .311(ariable, an attempt)-.1 F +.615(is made to assign a v)144 376.8 R .615(alue to an array v)-.1 F +.616(ariable without using the compound assignment syn-)-.1 F .26 +(tax \(see Arrays)144 388.8 R F0(abo)2.76 E -.15(ve)-.15 G .26 +(\), one of the).15 F F2(names)2.76 E F0 .259(is not a v)2.76 F .259 +(alid shell v)-.25 F .259(ariable name, an attempt is made to)-.25 F +.703(turn of)144 400.8 R 3.203(fr)-.25 G .704 +(eadonly status for a readonly v)-3.203 F .704 +(ariable, an attempt is made to turn of)-.25 F 3.204(fa)-.25 G .704 +(rray status for an)-3.204 F(array v)144 412.8 Q +(ariable, or an attempt is made to display a non-e)-.25 E +(xistent function with)-.15 E F12.5 E F0(.)A F1(dirs [+)108 429.6 Q F2(n)A F1 2.5(][)C-2.5 E F2(n)A F1 2.5(][)C(\255clpv])-2.5 E F0 --.4(Wi)144 261.6 S .328 +-.4(Wi)144 441.6 S .329 (thout options, displays the list of currently remembered directories.) -.4 F .329(The def)5.329 F .329(ault display is on a)-.1 F 1.238 -(single line with directory names separated by spaces.)144 273.6 R 1.238 -(Directories are added to the list with the)6.238 F F1(pushd)144 285.6 Q +.4 F .328(The def)5.328 F .328(ault display is on a)-.1 F 1.238 +(single line with directory names separated by spaces.)144 453.6 R 1.238 +(Directories are added to the list with the)6.238 F F1(pushd)144 465.6 Q F0(command; the)2.5 E F1(popd)2.5 E F0(command remo)2.5 E -.15(ve)-.15 G -2.5(se).15 G(ntries from the list.)-2.5 E F1(+)144 297.6 Q F2(n)A F0 -1.564(Displays the)25.3 F F2(n)4.064 E F0 1.565 -(th entry counting from the left of the list sho)B 1.565(wn by)-.25 F F1 -(dirs)4.065 E F0 1.565(when in)4.065 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E -(without options, starting with zero.)180 309.6 Q F1144 321.6 Q F2 +2.5(se).15 G(ntries from the list.)-2.5 E F1(+)144 477.6 Q F2(n)A F0 +1.565(Displays the)25.3 F F2(n)4.065 E F0 1.565 +(th entry counting from the left of the list sho)B 1.564(wn by)-.25 F F1 +(dirs)4.064 E F0 1.564(when in)4.064 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E +(without options, starting with zero.)180 489.6 Q F1144 501.6 Q F2 (n)A F0 1.194(Displays the)25.3 F F2(n)3.694 E F0 1.194 (th entry counting from the right of the list sho)B 1.194(wn by)-.25 F F1(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E -(without options, starting with zero.)180 333.6 Q F1144 345.6 Q F0 +(without options, starting with zero.)180 513.6 Q F1144 525.6 Q F0 (Clears the directory stack by deleting all of the entries.)25.86 E F1 -144 357.6 Q F0 .324(Produces a longer listing; the def)27.52 F +144 537.6 Q F0 .324(Produces a longer listing; the def)27.52 F .324(ault listing format uses a tilde to denote the home direc-)-.1 F -(tory)180 369.6 Q(.)-.65 E F1144 381.6 Q F0 +(tory)180 549.6 Q(.)-.65 E F1144 561.6 Q F0 (Print the directory stack with one entry per line.)24.74 E F1144 -393.6 Q F0 .273(Print the directory stack with one entry per line, pre\ -\214xing each entry with its inde)25.3 F 2.772(xi)-.15 G 2.772(nt)-2.772 -G(he)-2.772 E(stack.)180 405.6 Q .257(The return v)144 422.4 R .258 +573.6 Q F0 .272(Print the directory stack with one entry per line, pre\ +\214xing each entry with its inde)25.3 F 2.773(xi)-.15 G 2.773(nt)-2.773 +G(he)-2.773 E(stack.)180 585.6 Q .258(The return v)144 602.4 R .258 (alue is 0 unless an in)-.25 F -.25(va)-.4 G .258 (lid option is supplied or).25 F F2(n)2.758 E F0(inde)2.758 E -.15(xe) -.15 G 2.758(sb).15 G -.15(ey)-2.758 G .258(ond the end of the direc-) -.15 F(tory stack.)144 434.4 Q F1(diso)108 451.2 Q(wn)-.1 E F0([)2.5 E F1 +.15 F(tory stack.)144 614.4 Q F1(diso)108 631.2 Q(wn)-.1 E F0([)2.5 E F1 (\255ar)A F0 2.5(][)C F1-2.5 E F0 2.5(][)C F2(jobspec)-2.5 E F0 -(...])2.5 E -.4(Wi)144 463.2 S .295(thout options, each).4 F F2(jobspec) +(...])2.5 E -.4(Wi)144 643.2 S .295(thout options, each).4 F F2(jobspec) 4.535 E F0 .295(is remo)3.105 F -.15(ve)-.15 G 2.795(df).15 G .295 (rom the table of acti)-2.795 F .595 -.15(ve j)-.25 H 2.795(obs. If).15 -F F2(jobspec)4.535 E F0 .295(is not present,)3.105 F .422(and neither) -144 475.2 R F12.922 E F0(nor)2.922 E F12.922 E F0 .422 -(is supplied, the shell')2.922 F 2.922(sn)-.55 G .422(otion of the) --2.922 F F2(curr)2.923 E .423(ent job)-.37 F F0 .423(is used.)2.923 F -.423(If the)5.423 F F12.923 E F0 .423(option is)2.923 F(gi)144 -487.2 Q -.15(ve)-.25 G .141(n, each).15 F F2(jobspec)4.381 E F0 .141 -(is not remo)2.951 F -.15(ve)-.15 G 2.641(df).15 G .141 -(rom the table, b)-2.641 F .141(ut is mark)-.2 F .141(ed so that)-.1 F -/F4 9/Times-Bold@0 SF(SIGHUP)2.641 E F0 .14(is not sent to the)2.39 F -.004(job if the shell recei)144 499.2 R -.15(ve)-.25 G 2.504(sa).15 G F4 -(SIGHUP)A/F5 9/Times-Roman@0 SF(.)A F0 .004(If no)4.504 F F2(jobspec) -4.244 E F0 .004(is present, and neither the)2.814 F F12.504 E F0 -.005(nor the)2.504 F F12.505 E F0 .005(option is)2.505 F 1.229 -(supplied, the)144 511.2 R F2(curr)3.729 E 1.229(ent job)-.37 F F0 1.229 -(is used.)3.729 F 1.229(If no)6.229 F F2(jobspec)5.469 E F0 1.229 -(is supplied, the)4.039 F F13.729 E F0 1.228(option means to remo) -3.729 F 1.528 -.15(ve o)-.15 H(r).15 E .656(mark all jobs; the)144 523.2 -R F13.156 E F0 .657(option without a)3.156 F F2(jobspec)4.897 E F0 -(ar)3.467 E .657(gument restricts operation to running jobs.)-.18 F(The) -5.657 E(return v)144 535.2 Q(alue is 0 unless a)-.25 E F2(jobspec)4.24 E -F0(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E F1(echo)108 552 Q -F0([)2.5 E F1(\255neE)A F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E -.395(Output the)144 564 R F2(ar)2.895 E(g)-.37 E F0 .395 -(s, separated by spaces, follo)B .395(wed by a ne)-.25 F 2.895 -(wline. The)-.25 F .394(return status is al)2.895 F -.1(wa)-.1 G .394 -(ys 0.).1 F(If)5.394 E F12.894 E F0 .548 -(is speci\214ed, the trailing ne)144 576 R .548(wline is suppressed.) --.25 F .548(If the)5.548 F F13.048 E F0 .548(option is gi)3.048 F --.15(ve)-.25 G .548(n, interpretation of the fol-).15 F(lo)144 588 Q -.053(wing backslash-escaped characters is enabled.)-.25 F(The)5.053 E F1 -2.553 E F0 .052(option disables the interpretation of these)2.552 -F 1.502(escape characters, e)144 600 R -.15(ve)-.25 G 4.002(no).15 G -4.002(ns)-4.002 G 1.502(ystems where the)-4.002 F 4.002(ya)-.15 G 1.502 -(re interpreted by def)-4.002 F 4.003(ault. The)-.1 F F1(xpg_echo)4.003 -E F0(shell)4.003 E .009 -(option may be used to dynamically determine whether or not)144 612 R F1 -(echo)2.509 E F0 -.15(ex)2.509 G .009(pands these escape characters).15 -F .659(by def)144 624 R(ault.)-.1 E F1(echo)5.659 E F0 .659 -(does not interpret)3.159 F F13.159 E F0 .659 -(to mean the end of options.)3.159 F F1(echo)5.66 E F0 .66 -(interprets the follo)3.16 F(wing)-.25 E(escape sequences:)144 636 Q F1 -(\\a)144 648 Q F0(alert \(bell\))28.22 E F1(\\b)144 660 Q F0(backspace) -27.66 E F1(\\c)144 672 Q F0(suppress further output)28.78 E F1(\\e)144 -684 Q F0(an escape character)28.78 E F1(\\f)144 696 Q F0(form feed)29.89 -E F1(\\n)144 708 Q F0(ne)27.66 E 2.5(wl)-.25 G(ine)-2.5 E(GNU Bash-4.1) -72 768 Q(2010 April 17)145.955 E(54)195.945 E 0 Cg EP +F F2(jobspec)4.535 E F0 .295(is not present,)3.105 F .423(and neither) +144 655.2 R F12.923 E F0(nor)2.923 E F12.923 E F0 .423 +(is supplied, the shell')2.923 F 2.923(sn)-.55 G .423(otion of the) +-2.923 F F2(curr)2.922 E .422(ent job)-.37 F F0 .422(is used.)2.922 F +.422(If the)5.422 F F12.922 E F0 .422(option is)2.922 F(gi)144 +667.2 Q -.15(ve)-.25 G .14(n, each).15 F F2(jobspec)4.38 E F0 .14 +(is not remo)2.95 F -.15(ve)-.15 G 2.641(df).15 G .141(rom the table, b) +-2.641 F .141(ut is mark)-.2 F .141(ed so that)-.1 F F3(SIGHUP)2.641 E +F0 .141(is not sent to the)2.391 F .005(job if the shell recei)144 679.2 +R -.15(ve)-.25 G 2.504(sa).15 G F3(SIGHUP)A/F5 9/Times-Roman@0 SF(.)A F0 +.004(If no)4.504 F F2(jobspec)4.244 E F0 .004 +(is present, and neither the)2.814 F F12.504 E F0 .004(nor the) +2.504 F F12.504 E F0 .004(option is)2.504 F 1.228(supplied, the) +144 691.2 R F2(curr)3.728 E 1.228(ent job)-.37 F F0 1.229(is used.)3.729 +F 1.229(If no)6.229 F F2(jobspec)5.469 E F0 1.229(is supplied, the)4.039 +F F13.729 E F0 1.229(option means to remo)3.729 F 1.529 -.15(ve o) +-.15 H(r).15 E .657(mark all jobs; the)144 703.2 R F13.157 E F0 +.657(option without a)3.157 F F2(jobspec)4.897 E F0(ar)3.467 E .656 +(gument restricts operation to running jobs.)-.18 F(The)5.656 E +(return v)144 715.2 Q(alue is 0 unless a)-.25 E F2(jobspec)4.24 E F0 +(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E(GNU Bash-4.1)72 768 +Q(2010 May 30)147.345 E(54)197.335 E 0 Cg EP %%Page: 55 55 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(\\r)144 84 Q F0(carriage return)28.78 E F1 -(\\t)144 96 Q F0(horizontal tab)29.89 E F1(\\v)144 108 Q F0 -.15(ve) -28.22 G(rtical tab).15 E F1(\\\\)144 120 Q F0(backslash)30.44 E F1(\\0) -144 132 Q/F2 10/Times-Italic@0 SF(nnn)A F0 +-.35 E/F1 10/Times-Bold@0 SF(echo)108 84 Q F0([)2.5 E F1(\255neE)A F0 +2.5(][)C/F2 10/Times-Italic@0 SF(ar)-2.5 E(g)-.37 E F0(...])2.5 E .394 +(Output the)144 96 R F2(ar)2.894 E(g)-.37 E F0 .394 +(s, separated by spaces, follo)B .395(wed by a ne)-.25 F 2.895 +(wline. The)-.25 F .395(return status is al)2.895 F -.1(wa)-.1 G .395 +(ys 0.).1 F(If)5.395 E F12.895 E F0 .549 +(is speci\214ed, the trailing ne)144 108 R .548(wline is suppressed.) +-.25 F .548(If the)5.548 F F13.048 E F0 .548(option is gi)3.048 F +-.15(ve)-.25 G .548(n, interpretation of the fol-).15 F(lo)144 120 Q +.052(wing backslash-escaped characters is enabled.)-.25 F(The)5.052 E F1 +2.552 E F0 .053(option disables the interpretation of these)2.553 +F 1.503(escape characters, e)144 132 R -.15(ve)-.25 G 4.003(no).15 G +4.003(ns)-4.003 G 1.502(ystems where the)-4.003 F 4.002(ya)-.15 G 1.502 +(re interpreted by def)-4.002 F 4.002(ault. The)-.1 F F1(xpg_echo)4.002 +E F0(shell)4.002 E .009 +(option may be used to dynamically determine whether or not)144 144 R F1 +(echo)2.509 E F0 -.15(ex)2.51 G .01(pands these escape characters).15 F +.66(by def)144 156 R(ault.)-.1 E F1(echo)5.66 E F0 .66 +(does not interpret)3.16 F F13.16 E F0 .659 +(to mean the end of options.)3.159 F F1(echo)5.659 E F0 .659 +(interprets the follo)3.159 F(wing)-.25 E(escape sequences:)144 168 Q F1 +(\\a)144 180 Q F0(alert \(bell\))28.22 E F1(\\b)144 192 Q F0(backspace) +27.66 E F1(\\c)144 204 Q F0(suppress further output)28.78 E F1(\\e)144 +216 Q F0(an escape character)28.78 E F1(\\f)144 228 Q F0(form feed)29.89 +E F1(\\n)144 240 Q F0(ne)27.66 E 2.5(wl)-.25 G(ine)-2.5 E F1(\\r)144 252 +Q F0(carriage return)28.78 E F1(\\t)144 264 Q F0(horizontal tab)29.89 E +F1(\\v)144 276 Q F0 -.15(ve)28.22 G(rtical tab).15 E F1(\\\\)144 288 Q +F0(backslash)30.44 E F1(\\0)144 300 Q F2(nnn)A F0 (the eight-bit character whose v)13.22 E(alue is the octal v)-.25 E (alue)-.25 E F2(nnn)2.5 E F0(\(zero to three octal digits\))2.5 E F1 -(\\x)144 144 Q F2(HH)A F0(the eight-bit character whose v)13.78 E +(\\x)144 312 Q F2(HH)A F0(the eight-bit character whose v)13.78 E (alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0 (\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1 -(enable)108 160.8 Q F0([)2.5 E F1A F0 2.5(][)C F1(\255dnps)-2.5 E -F0 2.5(][)C F1-2.5 E F2(\214lename)2.5 E F0 2.5(][)C F2(name)-2.5 -E F0(...])2.5 E .278(Enable and disable b)144 172.8 R .278 -(uiltin shell commands.)-.2 F .278(Disabling a b)5.278 F .278 -(uiltin allo)-.2 F .278(ws a disk command which has)-.25 F .833 -(the same name as a shell b)144 184.8 R .834(uiltin to be e)-.2 F -.15 +(\\u)144 324 Q F2(HHHH)A F0 1.506 +(the Unicode \(ISO/IEC 10646\) character whose v)180 336 R 1.507 +(alue is the he)-.25 F 1.507(xadecimal v)-.15 F(alue)-.25 E F2(HHHH) +4.007 E F0(\(one to four he)180 348 Q 2.5(xd)-.15 G(igits\))-2.5 E F1 +(\\U)144 360 Q F2(HHHHHHHH)A F0 .548 +(the Unicode \(ISO/IEC 10646\) character whose v)180 372 R .547 +(alue is the he)-.25 F .547(xadecimal v)-.15 F(alue)-.25 E F2(HHHHH-) +3.047 E(HHH)180 384 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G(igits\)) +-2.5 E F1(enable)108 400.8 Q F0([)2.5 E F1A F0 2.5(][)C F1 +(\255dnps)-2.5 E F0 2.5(][)C F1-2.5 E F2(\214lename)2.5 E F0 2.5 +(][)C F2(name)-2.5 E F0(...])2.5 E .277(Enable and disable b)144 412.8 R +.278(uiltin shell commands.)-.2 F .278(Disabling a b)5.278 F .278 +(uiltin allo)-.2 F .278(ws a disk command which has)-.25 F .834 +(the same name as a shell b)144 424.8 R .834(uiltin to be e)-.2 F -.15 (xe)-.15 G .834(cuted without specifying a full pathname, e).15 F -.15 -(ve)-.25 G 3.334(nt).15 G(hough)-3.334 E .99 -(the shell normally searches for b)144 196.8 R .989 -(uiltins before disk commands.)-.2 F(If)5.989 E F13.489 E F0 .989 -(is used, each)3.489 F F2(name)3.489 E F0 .989(is dis-)3.489 F 1.581 -(abled; otherwise,)144 208.8 R F2(names)4.082 E F0 1.582(are enabled.) +(ve)-.25 G 3.333(nt).15 G(hough)-3.333 E .989 +(the shell normally searches for b)144 436.8 R .989 +(uiltins before disk commands.)-.2 F(If)5.989 E F13.489 E F0 .99 +(is used, each)3.49 F F2(name)3.49 E F0 .99(is dis-)3.49 F 1.582 +(abled; otherwise,)144 448.8 R F2(names)4.082 E F0 1.582(are enabled.) 4.082 F -.15(Fo)6.582 G 4.082(re).15 G 1.582(xample, to use the)-4.232 F F1(test)4.082 E F0 1.582(binary found via the)4.082 F/F3 9/Times-Bold@0 -SF -.666(PA)4.082 G(TH)-.189 E F0 .081(instead of the shell b)144 220.8 -R .081(uiltin v)-.2 F .081(ersion, run)-.15 F/F4 10/Courier@0 SF .081 -(enable -n test)2.581 F F0 5.081(.T)C(he)-5.081 E F12.58 E F0 .08 -(option means to load the ne)2.58 F(w)-.25 E -.2(bu)144 232.8 S 1.524 -(iltin command).2 F F2(name)4.384 E F0 1.524(from shared object)4.204 F +SF -.666(PA)4.081 G(TH)-.189 E F0 .08(instead of the shell b)144 460.8 R +.08(uiltin v)-.2 F .08(ersion, run)-.15 F/F4 10/Courier@0 SF .081 +(enable -n test)2.58 F F0 5.081(.T)C(he)-5.081 E F12.581 E F0 .081 +(option means to load the ne)2.581 F(w)-.25 E -.2(bu)144 472.8 S 1.525 +(iltin command).2 F F2(name)4.385 E F0 1.524(from shared object)4.204 F F2(\214lename)4.024 E F0 4.024(,o).18 G 4.024(ns)-4.024 G 1.524 -(ystems that support dynamic loading.)-4.024 F(The)144 244.8 Q F1 -2.867 E F0 .367(option will delete a b)2.867 F .367(uiltin pre)-.2 F -.367(viously loaded with)-.25 F F12.866 E F0 5.366(.I)C 2.866(fn) --5.366 G(o)-2.866 E F2(name)2.866 E F0(ar)2.866 E .366(guments are gi) --.18 F -.15(ve)-.25 G .366(n, or).15 F .398(if the)144 256.8 R F1 -2.898 E F0 .399(option is supplied, a list of shell b)2.899 F .399 +(ystems that support dynamic loading.)-4.024 F(The)144 484.8 Q F1 +2.866 E F0 .366(option will delete a b)2.866 F .366(uiltin pre)-.2 F +.366(viously loaded with)-.25 F F12.867 E F0 5.367(.I)C 2.867(fn) +-5.367 G(o)-2.867 E F2(name)2.867 E F0(ar)2.867 E .367(guments are gi) +-.18 F -.15(ve)-.25 G .367(n, or).15 F .399(if the)144 496.8 R F1 +2.899 E F0 .399(option is supplied, a list of shell b)2.899 F .399 (uiltins is printed.)-.2 F -.4(Wi)5.399 G .399(th no other option ar).4 -F .399(guments, the)-.18 F .099(list consists of all enabled shell b)144 -268.8 R 2.598(uiltins. If)-.2 F F12.598 E F0 .098 -(is supplied, only disabled b)2.598 F .098(uiltins are printed.)-.2 F -(If)5.098 E F12.598 E F0 1.916 -(is supplied, the list printed includes all b)144 280.8 R 1.916 -(uiltins, with an indication of whether or not each is)-.2 F 2.879 -(enabled. If)144 292.8 R F12.879 E F0 .379 -(is supplied, the output is restricted to the POSIX)2.879 F F2(special) -2.879 E F0 -.2(bu)2.878 G 2.878(iltins. The).2 F .378(return v)2.878 F -(alue)-.25 E .994(is 0 unless a)144 304.8 R F2(name)3.854 E F0 .994 -(is not a shell b)3.674 F .994(uiltin or there is an error loading a ne) --.2 F 3.495(wb)-.25 G .995(uiltin from a shared)-3.695 F(object.)144 -316.8 Q F1 -2.3 -.15(ev a)108 333.6 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37 -E F0(...])2.5 E(The)144 345.6 Q F2(ar)3.171 E(g)-.37 E F0 3.171(sa)C -.671(re read and concatenated together into a single command.)-3.171 F -.67(This command is then read)5.67 F .495(and e)144 357.6 R -.15(xe)-.15 -G .495(cuted by the shell, and its e).15 F .495 +F .398(guments, the)-.18 F .098(list consists of all enabled shell b)144 +508.8 R 2.598(uiltins. If)-.2 F F12.598 E F0 .098 +(is supplied, only disabled b)2.598 F .099(uiltins are printed.)-.2 F +(If)5.099 E F12.599 E F0 1.917 +(is supplied, the list printed includes all b)144 520.8 R 1.916 +(uiltins, with an indication of whether or not each is)-.2 F 2.878 +(enabled. If)144 532.8 R F12.878 E F0 .379 +(is supplied, the output is restricted to the POSIX)2.878 F F2(special) +2.879 E F0 -.2(bu)2.879 G 2.879(iltins. The).2 F .379(return v)2.879 F +(alue)-.25 E .995(is 0 unless a)144 544.8 R F2(name)3.855 E F0 .994 +(is not a shell b)3.675 F .994(uiltin or there is an error loading a ne) +-.2 F 3.494(wb)-.25 G .994(uiltin from a shared)-3.694 F(object.)144 +556.8 Q F1 -2.3 -.15(ev a)108 573.6 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37 +E F0(...])2.5 E(The)144 585.6 Q F2(ar)3.17 E(g)-.37 E F0 3.17(sa)C .671 +(re read and concatenated together into a single command.)-3.17 F .671 +(This command is then read)5.671 F .495(and e)144 597.6 R -.15(xe)-.15 G +.495(cuted by the shell, and its e).15 F .495 (xit status is returned as the v)-.15 F .495(alue of)-.25 F F1 -2.3 -.15 (ev a)2.995 H(l).15 E F0 5.495(.I)C 2.995(ft)-5.495 G .495(here are no) --2.995 F F2(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 369.6 Q +-2.995 F F2(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 609.6 Q (guments,)-.18 E F1 -2.3 -.15(ev a)2.5 H(l).15 E F0(returns 0.)2.5 E F1 -(exec)108 386.4 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1-2.5 E F2 +(exec)108 626.4 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1-2.5 E F2 (name)2.5 E F0 2.5(][)C F2(command)-2.5 E F0([)2.5 E F2(ar)A(guments) --.37 E F0(]])A(If)144 398.4 Q F2(command)3.006 E F0 .306 -(is speci\214ed, it replaces the shell.)3.576 F .305(No ne)5.305 F 2.805 -(wp)-.25 G .305(rocess is created.)-2.805 F(The)5.305 E F2(ar)3.135 E -(guments)-.37 E F0(become)3.075 E .176(the ar)144 410.4 R .176 +-.37 E F0(]])A(If)144 638.4 Q F2(command)3.005 E F0 .305 +(is speci\214ed, it replaces the shell.)3.575 F .305(No ne)5.305 F 2.805 +(wp)-.25 G .306(rocess is created.)-2.805 F(The)5.306 E F2(ar)3.136 E +(guments)-.37 E F0(become)3.076 E .177(the ar)144 650.4 R .177 (guments to)-.18 F F2(command)2.676 E F0 5.176(.I)C 2.676(ft)-5.176 G (he)-2.676 E F12.676 E F0 .176 -(option is supplied, the shell places a dash at the be)2.676 F .177 -(ginning of)-.15 F .5(the zeroth ar)144 422.4 R .5(gument passed to)-.18 -F F2(command)3 E F0 5.499(.T).77 G .499(his is what)-5.499 F F2(lo)2.999 -E(gin)-.1 E F0 .499(\(1\) does.).24 F(The)5.499 E F12.999 E F0 -.499(option causes)2.999 F F2(com-)3.199 E(mand)144 434.4 Q F0 .638 -(to be e)3.908 F -.15(xe)-.15 G .638(cuted with an empty en).15 F 3.138 +(option is supplied, the shell places a dash at the be)2.676 F .176 +(ginning of)-.15 F .499(the zeroth ar)144 662.4 R .499(gument passed to) +-.18 F F2(command)2.999 E F0 5.499(.T).77 G .499(his is what)-5.499 F F2 +(lo)2.999 E(gin)-.1 E F0 .499(\(1\) does.).24 F(The)5.5 E F13 E F0 +.5(option causes)3 F F2(com-)3.2 E(mand)144 674.4 Q F0 .639(to be e) +3.909 F -.15(xe)-.15 G .638(cuted with an empty en).15 F 3.138 (vironment. If)-.4 F F13.138 E F0 .638 -(is supplied, the shell passes)3.138 F F2(name)3.499 E F0 .639(as the) -3.319 F 1.078(zeroth ar)144 446.4 R 1.077(gument to the e)-.18 F -.15 +(is supplied, the shell passes)3.138 F F2(name)3.498 E F0 .638(as the) +3.318 F 1.077(zeroth ar)144 686.4 R 1.077(gument to the e)-.18 F -.15 (xe)-.15 G 1.077(cuted command.).15 F(If)6.077 E F2(command)3.777 E F0 1.077(cannot be e)4.347 F -.15(xe)-.15 G 1.077(cuted for some reason, a) -.15 F(non-interacti)144 458.4 Q .617 -.15(ve s)-.25 H .317(hell e).15 F -.317(xits, unless the shell option)-.15 F F1(execfail)2.817 E F0 .318 +.15 F(non-interacti)144 698.4 Q .618 -.15(ve s)-.25 H .318(hell e).15 F +.318(xits, unless the shell option)-.15 F F1(execfail)2.817 E F0 .317 (is enabled, in which case it returns f)2.817 F(ail-)-.1 E 2.505 -(ure. An)144 470.4 R(interacti)2.505 E .305 -.15(ve s)-.25 H .005 +(ure. An)144 710.4 R(interacti)2.505 E .305 -.15(ve s)-.25 H .005 (hell returns f).15 F .005(ailure if the \214le cannot be e)-.1 F -.15 (xe)-.15 G 2.505(cuted. If).15 F F2(command)2.705 E F0 .005 -(is not speci\214ed,)3.275 F(an)144 482.4 Q 3.036(yr)-.15 G .536 -(edirections tak)-3.036 F 3.036(ee)-.1 G -.25(ff)-3.036 G .536 +(is not speci\214ed,)3.275 F(an)144 722.4 Q 3.037(yr)-.15 G .537 +(edirections tak)-3.037 F 3.036(ee)-.1 G -.25(ff)-3.036 G .536 (ect in the current shell, and the return status is 0.).25 F .536 -(If there is a redirection)5.536 F(error)144 494.4 Q 2.5(,t)-.4 G -(he return status is 1.)-2.5 E F1(exit)108 511.2 Q F0([)2.5 E F2(n)A F0 -6.29(]C)C .096(ause the shell to e)-6.29 F .096(xit with a status of) --.15 F F2(n)2.596 E F0 5.096(.I)C(f)-5.096 E F2(n)2.955 E F0 .095 -(is omitted, the e)2.835 F .095(xit status is that of the last command) --.15 F -.15(exe)144 523.2 S 2.5(cuted. A).15 F(trap on)2.5 E F3(EXIT)2.5 -E F0(is e)2.25 E -.15(xe)-.15 G(cuted before the shell terminates.).15 E -F1(export)108 540 Q F0([)2.5 E F1(\255fn)A F0 2.5(][).833 G F2(name)-2.5 -E F0([=)A F2(wor)A(d)-.37 E F0(]] ...)A F1(export \255p)108 552 Q F0 -.256(The supplied)144 564 R F2(names)3.117 E F0 .257(are mark)3.027 F -.257(ed for automatic e)-.1 F .257(xport to the en)-.15 F .257 -(vironment of subsequently e)-.4 F -.15(xe)-.15 G(cuted).15 E 2.627 -(commands. If)144 576 R(the)2.627 E F12.627 E F0 .127 -(option is gi)2.627 F -.15(ve)-.25 G .127(n, the).15 F F2(names)2.987 E -F0 .127(refer to functions.)2.897 F .127(If no)5.127 F F2(names)2.987 E -F0 .127(are gi)2.897 F -.15(ve)-.25 G .126(n, or if the).15 F F1 -144 588 Q F0 .659(option is supplied, a list of all names that are e) -3.159 F .66(xported in this shell is printed.)-.15 F(The)5.66 E F1 -3.16 E F0(option)3.16 E 1.587(causes the e)144 600 R 1.587 -(xport property to be remo)-.15 F -.15(ve)-.15 G 4.086(df).15 G 1.586 -(rom each)-4.086 F F2(name)4.086 E F0 6.586(.I)C 4.086(fav)-6.586 G -1.586(ariable name is follo)-4.336 F 1.586(wed by)-.25 F(=)144 612 Q F2 -(wor)A(d)-.37 E F0 2.803(,t)C .303(he v)-2.803 F .303(alue of the v)-.25 -F .304(ariable is set to)-.25 F F2(wor)2.804 E(d)-.37 E F0(.)A F1 -(export)5.304 E F0 .304(returns an e)2.804 F .304 -(xit status of 0 unless an in)-.15 F -.25(va)-.4 G(lid).25 E .294 -(option is encountered, one of the)144 624 R F2(names)2.793 E F0 .293 -(is not a v)2.793 F .293(alid shell v)-.25 F .293(ariable name, or)-.25 -F F12.793 E F0 .293(is supplied with a)2.793 F F2(name)144.36 636 -Q F0(that is not a function.)2.68 E F1(fc)108 652.8 Q F0([)2.5 E F1 -A F2(ename)2.5 E F0 2.5(][)C F1(\255lnr)-2.5 E F0 2.5(][)C F2 -<8c72>-2.5 E(st)-.1 E F0 2.5(][)C F2(last)-2.5 E F0(])A F1(fc \255s)108 -664.8 Q F0([)2.5 E F2(pat)A F0(=)A F2 -.37(re)C(p).37 E F0 2.5(][)C F2 -(cmd)-2.5 E F0(])A .477(Fix Command.)144 676.8 R .478 -(In the \214rst form, a range of commands from)5.477 F F2<8c72>4.888 E -(st)-.1 E F0(to)3.658 E F2(last)3.068 E F0 .478 -(is selected from the his-)3.658 F .882(tory list.)144 688.8 R F2 -.45 -(Fi)5.882 G -.1(rs).45 G(t).1 E F0(and)4.062 E F2(last)3.472 E F0 .882 -(may be speci\214ed as a string \(to locate the last command be)4.062 F -.881(ginning with)-.15 F .797(that string\) or as a number \(an inde)144 -700.8 R 3.297(xi)-.15 G .797(nto the history list, where a ne)-3.297 F --.05(ga)-.15 G(ti).05 E 1.097 -.15(ve n)-.25 H .797(umber is used as an) -.15 F(of)144 712.8 Q .277(fset from the current command number\).)-.25 F -(If)5.277 E F2(last)2.867 E F0 .276 -(is not speci\214ed it is set to the current command)3.457 F .092 -(for listing \(so that)144 724.8 R F4 .092(fc \255l \25510)2.592 F F0 -.092(prints the last 10 commands\) and to)2.592 F F2<8c72>4.502 E(st)-.1 -E F0 2.592(otherwise. If)3.272 F F2<8c72>4.502 E(st)-.1 E F0 .093 -(is not)3.273 F(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(55)195.945 -E 0 Cg EP +(If there is a redirection)5.536 F(GNU Bash-4.1)72 768 Q(2010 May 30) +147.345 E(55)197.335 E 0 Cg EP %%Page: 56 56 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(speci\214ed it is set to the pre)144 84 Q -(vious command for editing and \25516 for listing.)-.25 E(The)144 108 Q -/F1 10/Times-Bold@0 SF2.522 E F0 .022 +-.35 E(error)144 84 Q 2.5(,t)-.4 G(he return status is 1.)-2.5 E/F1 10 +/Times-Bold@0 SF(exit)108 100.8 Q F0([)2.5 E/F2 10/Times-Italic@0 SF(n)A +F0 6.29(]C)C .095(ause the shell to e)-6.29 F .095(xit with a status of) +-.15 F F2(n)2.595 E F0 5.095(.I)C(f)-5.095 E F2(n)2.955 E F0 .096 +(is omitted, the e)2.835 F .096(xit status is that of the last command) +-.15 F -.15(exe)144 112.8 S 2.5(cuted. A).15 F(trap on)2.5 E/F3 9 +/Times-Bold@0 SF(EXIT)2.5 E F0(is e)2.25 E -.15(xe)-.15 G +(cuted before the shell terminates.).15 E F1(export)108 129.6 Q F0([)2.5 +E F1(\255fn)A F0 2.5(][).833 G F2(name)-2.5 E F0([=)A F2(wor)A(d)-.37 E +F0(]] ...)A F1(export \255p)108 141.6 Q F0 .257(The supplied)144 153.6 R +F2(names)3.117 E F0 .257(are mark)3.027 F .257(ed for automatic e)-.1 F +.257(xport to the en)-.15 F .257(vironment of subsequently e)-.4 F -.15 +(xe)-.15 G(cuted).15 E 2.626(commands. If)144 165.6 R(the)2.626 E F1 +2.626 E F0 .127(option is gi)2.627 F -.15(ve)-.25 G .127(n, the) +.15 F F2(names)2.987 E F0 .127(refer to functions.)2.897 F .127(If no) +5.127 F F2(names)2.987 E F0 .127(are gi)2.897 F -.15(ve)-.25 G .127 +(n, or if the).15 F F1144 177.6 Q F0 .66 +(option is supplied, a list of all names that are e)3.16 F .659 +(xported in this shell is printed.)-.15 F(The)5.659 E F13.159 E F0 +(option)3.159 E 1.586(causes the e)144 189.6 R 1.586 +(xport property to be remo)-.15 F -.15(ve)-.15 G 4.086(df).15 G 1.586 +(rom each)-4.086 F F2(name)4.086 E F0 6.586(.I)C 4.086(fav)-6.586 G +1.587(ariable name is follo)-4.336 F 1.587(wed by)-.25 F(=)144 201.6 Q +F2(wor)A(d)-.37 E F0 2.804(,t)C .304(he v)-2.804 F .304(alue of the v) +-.25 F .304(ariable is set to)-.25 F F2(wor)2.804 E(d)-.37 E F0(.)A F1 +(export)5.304 E F0 .304(returns an e)2.804 F .303 +(xit status of 0 unless an in)-.15 F -.25(va)-.4 G(lid).25 E .293 +(option is encountered, one of the)144 213.6 R F2(names)2.793 E F0 .293 +(is not a v)2.793 F .293(alid shell v)-.25 F .293(ariable name, or)-.25 +F F12.793 E F0 .294(is supplied with a)2.793 F F2(name)144.36 +225.6 Q F0(that is not a function.)2.68 E F1(fc)108 242.4 Q F0([)2.5 E +F1A F2(ename)2.5 E F0 2.5(][)C F1(\255lnr)-2.5 E F0 2.5(][)C F2 +<8c72>-2.5 E(st)-.1 E F0 2.5(][)C F2(last)-2.5 E F0(])A F1(fc \255s)108 +254.4 Q F0([)2.5 E F2(pat)A F0(=)A F2 -.37(re)C(p).37 E F0 2.5(][)C F2 +(cmd)-2.5 E F0(])A .478(Fix Command.)144 266.4 R .478 +(In the \214rst form, a range of commands from)5.478 F F2<8c72>4.888 E +(st)-.1 E F0(to)3.658 E F2(last)3.068 E F0 .477 +(is selected from the his-)3.658 F .881(tory list.)144 278.4 R F2 -.45 +(Fi)5.881 G -.1(rs).45 G(t).1 E F0(and)4.061 E F2(last)3.471 E F0 .882 +(may be speci\214ed as a string \(to locate the last command be)4.062 F +.882(ginning with)-.15 F .797(that string\) or as a number \(an inde)144 +290.4 R 3.297(xi)-.15 G .797(nto the history list, where a ne)-3.297 F +-.05(ga)-.15 G(ti).05 E 1.097 -.15(ve n)-.25 H .796(umber is used as an) +.15 F(of)144 302.4 Q .276(fset from the current command number\).)-.25 F +(If)5.276 E F2(last)2.866 E F0 .277 +(is not speci\214ed it is set to the current command)3.456 F .093 +(for listing \(so that)144 314.4 R/F4 10/Courier@0 SF .092 +(fc \255l \25510)2.592 F F0 .092(prints the last 10 commands\) and to) +2.592 F F2<8c72>4.502 E(st)-.1 E F0 2.592(otherwise. If)3.272 F F2<8c72> +4.502 E(st)-.1 E F0 .092(is not)3.272 F +(speci\214ed it is set to the pre)144 326.4 Q +(vious command for editing and \25516 for listing.)-.25 E(The)144 350.4 +Q F12.522 E F0 .022 (option suppresses the command numbers when listing.)2.522 F(The)5.022 E F12.522 E F0 .022(option re)2.522 F -.15(ve)-.25 G .022 -(rses the order of).15 F .438(the commands.)144 120 R .438(If the)5.438 -F F12.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438 +(rses the order of).15 F .438(the commands.)144 362.4 R .438(If the) +5.438 F F12.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438 (n, the commands are listed on standard output.).15 F(Otherwise,)5.438 E -.335(the editor gi)144 132 R -.15(ve)-.25 G 2.835(nb).15 G(y)-2.835 E/F2 -10/Times-Italic@0 SF(ename)3.025 E F0 .335(is in)3.015 F -.2(vo)-.4 G --.1(ke).2 G 2.835(do).1 G 2.835(na\214)-2.835 G .335 -(le containing those commands.)-2.835 F(If)5.334 E F2(ename)3.024 E F0 -.334(is not gi)3.014 F -.15(ve)-.25 G(n,).15 E .63(the v)144 144 R .63 -(alue of the)-.25 F/F3 9/Times-Bold@0 SF(FCEDIT)3.13 E F0 -.25(va)2.88 G -.631(riable is used, and the v).25 F .631(alue of)-.25 F F3(EDIT)3.131 E -(OR)-.162 E F0(if)2.881 E F3(FCEDIT)3.131 E F0 .631(is not set.)2.881 F -.631(If nei-)5.631 F .951(ther v)144 156 R .951(ariable is set,)-.25 F -F2(vi)5.117 E F0 .951(is used.)5.117 F .95 -(When editing is complete, the edited commands are echoed and)5.951 F --.15(exe)144 168 S(cuted.).15 E .039(In the second form,)144 192 R F2 -(command)2.539 E F0 .039(is re-e)2.539 F -.15(xe)-.15 G .039 -(cuted after each instance of).15 F F2(pat)2.54 E F0 .04(is replaced by) -2.54 F F2 -.37(re)2.54 G(p).37 E F0 5.04(.A)C(useful)-2.5 E .406 -(alias to use with this is)144 204 R/F4 10/Courier@0 SF .406 -(r='fc \255s')2.906 F F0 2.906(,s)C 2.906(ot)-2.906 G .406(hat typing) --2.906 F F4 6.406(rc)2.906 G(c)-6.406 E F0 .406 -(runs the last command be)2.906 F .406(ginning with)-.15 F F4(cc)144 216 -Q F0(and typing)2.5 E F4(r)2.5 E F0(re-e)2.5 E -.15(xe)-.15 G -(cutes the last command.).15 E .142 -(If the \214rst form is used, the return v)144 240 R .142 +.334(the editor gi)144 374.4 R -.15(ve)-.25 G 2.834(nb).15 G(y)-2.834 E +F2(ename)3.024 E F0 .335(is in)3.014 F -.2(vo)-.4 G -.1(ke).2 G 2.835 +(do).1 G 2.835(na\214)-2.835 G .335(le containing those commands.)-2.835 +F(If)5.335 E F2(ename)3.025 E F0 .335(is not gi)3.015 F -.15(ve)-.25 G +(n,).15 E .631(the v)144 386.4 R .631(alue of the)-.25 F F3(FCEDIT)3.131 +E F0 -.25(va)2.881 G .631(riable is used, and the v).25 F .631(alue of) +-.25 F F3(EDIT)3.131 E(OR)-.162 E F0(if)2.881 E F3(FCEDIT)3.13 E F0 .63 +(is not set.)2.88 F .63(If nei-)5.63 F .95(ther v)144 398.4 R .95 +(ariable is set,)-.25 F F2(vi)5.116 E F0 .95(is used.)5.116 F .951 +(When editing is complete, the edited commands are echoed and)5.95 F +-.15(exe)144 410.4 S(cuted.).15 E .04(In the second form,)144 434.4 R F2 +(command)2.54 E F0 .04(is re-e)2.54 F -.15(xe)-.15 G .039 +(cuted after each instance of).15 F F2(pat)2.539 E F0 .039 +(is replaced by)2.539 F F2 -.37(re)2.539 G(p).37 E F0 5.039(.A)C(useful) +-2.5 E .406(alias to use with this is)144 446.4 R F4 .406(r='fc \255s') +2.906 F F0 2.906(,s)C 2.906(ot)-2.906 G .406(hat typing)-2.906 F F4 +6.406(rc)2.906 G(c)-6.406 E F0 .406(runs the last command be)2.906 F +.407(ginning with)-.15 F F4(cc)144 458.4 Q F0(and typing)2.5 E F4(r)2.5 +E F0(re-e)2.5 E -.15(xe)-.15 G(cutes the last command.).15 E .142 +(If the \214rst form is used, the return v)144 482.4 R .142 (alue is 0 unless an in)-.25 F -.25(va)-.4 G .142 (lid option is encountered or).25 F F2<8c72>4.552 E(st)-.1 E F0(or)3.322 -E F2(last)2.732 E F0 .455(specify history lines out of range.)144 252 R -.454(If the)5.454 F F12.954 E F0 .454 -(option is supplied, the return v)2.954 F .454(alue is the v)-.25 F .454 -(alue of the)-.25 F .787(last command e)144 264 R -.15(xe)-.15 G .787 -(cuted or f).15 F .788 +E F2(last)2.732 E F0 .454(specify history lines out of range.)144 494.4 +R .454(If the)5.454 F F12.954 E F0 .454 +(option is supplied, the return v)2.954 F .455(alue is the v)-.25 F .455 +(alue of the)-.25 F .788(last command e)144 506.4 R -.15(xe)-.15 G .788 +(cuted or f).15 F .787 (ailure if an error occurs with the temporary \214le of commands.)-.1 F -.788(If the)5.788 F 1.136 +.787(If the)5.787 F 1.135 (second form is used, the return status is that of the command re-e)144 -276 R -.15(xe)-.15 G 1.135(cuted, unless).15 F F2(cmd)3.835 E F0 1.135 -(does not)4.405 F(specify a v)144 288 Q +518.4 R -.15(xe)-.15 G 1.136(cuted, unless).15 F F2(cmd)3.836 E F0 1.136 +(does not)4.406 F(specify a v)144 530.4 Q (alid history line, in which case)-.25 E F1(fc)2.5 E F0(returns f)2.5 E -(ailure.)-.1 E F1(fg)108 304.8 Q F0([)2.5 E F2(jobspec)A F0(])A(Resume) -144 316.8 Q F2(jobspec)5.653 E F0 1.413(in the fore)4.223 F 1.413 +(ailure.)-.1 E F1(fg)108 547.2 Q F0([)2.5 E F2(jobspec)A F0(])A(Resume) +144 559.2 Q F2(jobspec)5.654 E F0 1.413(in the fore)4.224 F 1.413 (ground, and mak)-.15 F 3.913(ei)-.1 G 3.913(tt)-3.913 G 1.413 (he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F2(jobspec)5.653 E F0 -1.414(is not present, the)4.223 F(shell')144 328.8 Q 3.117(sn)-.55 G -.617(otion of the)-3.117 F F2(curr)3.117 E .617(ent job)-.37 F F0 .617 -(is used.)3.117 F .617(The return v)5.617 F .616 -(alue is that of the command placed into the)-.25 F(fore)144 340.8 Q -.362(ground, or f)-.15 F .362 -(ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .363 -(hen run with job control enabled, if)-2.862 F F2(jobspec)145.74 352.8 Q -F0 .004(does not specify a v)2.815 F .004(alid job or)-.25 F F2(jobspec) +1.413(is not present, the)4.223 F(shell')144 571.2 Q 3.116(sn)-.55 G +.616(otion of the)-3.116 F F2(curr)3.116 E .616(ent job)-.37 F F0 .617 +(is used.)3.116 F .617(The return v)5.617 F .617 +(alue is that of the command placed into the)-.25 F(fore)144 583.2 Q +.363(ground, or f)-.15 F .363 +(ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .362 +(hen run with job control enabled, if)-2.862 F F2(jobspec)145.74 595.2 Q +F0 .004(does not specify a v)2.814 F .004(alid job or)-.25 F F2(jobspec) 4.244 E F0 .004(speci\214es a job that w)2.814 F .004 -(as started without job control.)-.1 F F1(getopts)108 369.6 Q F2 +(as started without job control.)-.1 F F1(getopts)108 612 Q F2 (optstring name)2.5 E F0([)2.5 E F2(ar)A(gs)-.37 E F0(])A F1(getopts)144 -381.6 Q F0 .793 -(is used by shell procedures to parse positional parameters.)3.293 F F2 -(optstring)6.023 E F0 .793(contains the option)3.513 F .15 -(characters to be recognized; if a character is follo)144 393.6 R .149 -(wed by a colon, the option is e)-.25 F .149(xpected to ha)-.15 F .449 --.15(ve a)-.2 H(n).15 E(ar)144 405.6 Q .578 -(gument, which should be separated from it by white space.)-.18 F .579 +624 Q F0 .793 +(is used by shell procedures to parse positional parameters.)3.294 F F2 +(optstring)6.023 E F0 .793(contains the option)3.513 F .149 +(characters to be recognized; if a character is follo)144 636 R .15 +(wed by a colon, the option is e)-.25 F .15(xpected to ha)-.15 F .45 +-.15(ve a)-.2 H(n).15 E(ar)144 648 Q .579 +(gument, which should be separated from it by white space.)-.18 F .578 (The colon and question mark char)5.579 F(-)-.2 E 1.665 -(acters may not be used as option characters.)144 417.6 R 1.665 +(acters may not be used as option characters.)144 660 R 1.665 (Each time it is in)6.665 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F1(getopts) -4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .796 -(option in the shell v)144 429.6 R(ariable)-.25 E F2(name)3.296 E F0 -3.296(,i).18 G(nitializing)-3.296 E F2(name)3.657 E F0 .797 -(if it does not e)3.477 F .797(xist, and the inde)-.15 F 3.297(xo)-.15 G -3.297(ft)-3.297 G .797(he ne)-3.297 F(xt)-.15 E(ar)144 441.6 Q .085 +4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .797 +(option in the shell v)144 672 R(ariable)-.25 E F2(name)3.297 E F0 3.297 +(,i).18 G(nitializing)-3.297 E F2(name)3.657 E F0 .797(if it does not e) +3.477 F .796(xist, and the inde)-.15 F 3.296(xo)-.15 G 3.296(ft)-3.296 G +.796(he ne)-3.296 F(xt)-.15 E(ar)144 684 Q .085 (gument to be processed into the v)-.18 F(ariable)-.25 E F3(OPTIND)2.585 E/F5 9/Times-Roman@0 SF(.)A F3(OPTIND)4.585 E F0 .085 -(is initialized to 1 each time the shell)2.335 F .845 -(or a shell script is in)144 453.6 R -.2(vo)-.4 G -.1(ke).2 G 3.345 +(is initialized to 1 each time the shell)2.335 F .846 +(or a shell script is in)144 696 R -.2(vo)-.4 G -.1(ke).2 G 3.345 (d. When).1 F .845(an option requires an ar)3.345 F(gument,)-.18 E F1 -(getopts)3.346 E F0 .846(places that ar)3.346 F(gument)-.18 E .804 -(into the v)144 465.6 R(ariable)-.25 E F3(OPT)3.304 E(ARG)-.81 E F5(.)A -F0 .803(The shell does not reset)5.304 F F3(OPTIND)3.303 E F0 .803 -(automatically; it must be manually)3.053 F .293 -(reset between multiple calls to)144 477.6 R F1(getopts)2.793 E F0 .293 +(getopts)3.345 E F0 .845(places that ar)3.345 F(gument)-.18 E .803 +(into the v)144 708 R(ariable)-.25 E F3(OPT)3.303 E(ARG)-.81 E F5(.)A F0 +.803(The shell does not reset)5.303 F F3(OPTIND)3.303 E F0 .804 +(automatically; it must be manually)3.054 F .294 +(reset between multiple calls to)144 720 R F1(getopts)2.793 E F0 .293 (within the same shell in)2.793 F -.2(vo)-.4 G .293(cation if a ne).2 F -2.793(ws)-.25 G .294(et of parameters)-2.793 F(is to be used.)144 489.6 -Q 2.044(When the end of options is encountered,)144 513.6 R F1(getopts) -4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.043 -(alue greater than zero.)-.25 F F3(OPTIND)144 525.6 Q F0 -(is set to the inde)2.25 E 2.5(xo)-.15 G 2.5(ft)-2.5 G -(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F1(name)2.5 E F0 -(is set to ?.)2.5 E F1(getopts)144 549.6 Q F0 2.392 -(normally parses the positional parameters, b)4.892 F 2.392 -(ut if more ar)-.2 F 2.393(guments are gi)-.18 F -.15(ve)-.25 G 4.893 -(ni).15 G(n)-4.893 E F2(ar)4.893 E(gs)-.37 E F0(,).27 E F1(getopts)144 -561.6 Q F0(parses those instead.)2.5 E F1(getopts)144 585.6 Q F0 1.166 -(can report errors in tw)3.666 F 3.665(ow)-.1 G 3.665(ays. If)-3.765 F -1.165(the \214rst character of)3.665 F F2(optstring)3.895 E F0 1.165 -(is a colon,)3.885 F F2(silent)4.005 E F0(error)4.345 E 1.263 -(reporting is used.)144 597.6 R 1.263 -(In normal operation diagnostic messages are printed when in)6.263 F --.25(va)-.4 G 1.263(lid options or).25 F .394(missing option ar)144 -609.6 R .394(guments are encountered.)-.18 F .394(If the v)5.394 F -(ariable)-.25 E F3(OPTERR)2.894 E F0 .394 -(is set to 0, no error messages)2.644 F(will be displayed, e)144 621.6 Q --.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214rst character of)-2.5 E -F2(optstring)2.73 E F0(is not a colon.)2.72 E .666(If an in)144 645.6 R --.25(va)-.4 G .666(lid option is seen,).25 F F1(getopts)3.166 E F0 .667 -(places ? into)3.167 F F2(name)3.527 E F0 .667 -(and, if not silent, prints an error message)3.347 F .4(and unsets)144 -657.6 R F3(OPT)2.9 E(ARG)-.81 E F5(.)A F0(If)4.899 E F1(getopts)2.899 E -F0 .399(is silent, the option character found is placed in)2.899 F F3 -(OPT)2.899 E(ARG)-.81 E F0 .399(and no)2.649 F -(diagnostic message is printed.)144 669.6 Q 1.241(If a required ar)144 -693.6 R 1.241(gument is not found, and)-.18 F F1(getopts)3.741 E F0 -1.241(is not silent, a question mark \()3.741 F F1(?).833 E F0 3.742 -(\)i).833 G 3.742(sp)-3.742 G 1.242(laced in)-3.742 F F2(name)144 705.6 -Q F0(,).18 E F3(OPT)2.735 E(ARG)-.81 E F0 .234 -(is unset, and a diagnostic message is printed.)2.485 F(If)5.234 E F1 -(getopts)2.734 E F0 .234(is silent, then a colon \()2.734 F F1(:).833 E -F0(\)).833 E(is placed in)144 717.6 Q F2(name)2.86 E F0(and)2.68 E F3 -(OPT)2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 E -(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(56)195.945 E 0 Cg EP +2.793(ws)-.25 G .293(et of parameters)-2.793 F(GNU Bash-4.1)72 768 Q +(2010 May 30)147.345 E(56)197.335 E 0 Cg EP %%Page: 57 57 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(getopts)144 84 Q F0 .902 +-.35 E(is to be used.)144 84 Q 2.043 +(When the end of options is encountered,)144 108 R/F1 10/Times-Bold@0 SF +(getopts)4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F +2.044(alue greater than zero.)-.25 F/F2 9/Times-Bold@0 SF(OPTIND)144 120 +Q F0(is set to the inde)2.25 E 2.5(xo)-.15 G 2.5(ft)-2.5 G +(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F1(name)2.5 E F0 +(is set to ?.)2.5 E F1(getopts)144 144 Q F0 2.393 +(normally parses the positional parameters, b)4.893 F 2.392 +(ut if more ar)-.2 F 2.392(guments are gi)-.18 F -.15(ve)-.25 G 4.892 +(ni).15 G(n)-4.892 E/F3 10/Times-Italic@0 SF(ar)4.892 E(gs)-.37 E F0(,) +.27 E F1(getopts)144 156 Q F0(parses those instead.)2.5 E F1(getopts)144 +180 Q F0 1.165(can report errors in tw)3.665 F 3.665(ow)-.1 G 3.665 +(ays. If)-3.765 F 1.165(the \214rst character of)3.665 F F3(optstring) +3.895 E F0 1.166(is a colon,)3.886 F F3(silent)4.006 E F0(error)4.346 E +1.264(reporting is used.)144 192 R 1.263 +(In normal operation diagnostic messages are printed when in)6.263 F +-.25(va)-.4 G 1.263(lid options or).25 F .393(missing option ar)144 204 +R .393(guments are encountered.)-.18 F .394(If the v)5.394 F(ariable) +-.25 E F2(OPTERR)2.894 E F0 .394(is set to 0, no error messages)2.644 F +(will be displayed, e)144 216 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 +G(he \214rst character of)-2.5 E F3(optstring)2.73 E F0(is not a colon.) +2.72 E .667(If an in)144 240 R -.25(va)-.4 G .667(lid option is seen,) +.25 F F1(getopts)3.167 E F0 .667(places ? into)3.167 F F3(name)3.527 E +F0 .666(and, if not silent, prints an error message)3.347 F .399 +(and unsets)144 252 R F2(OPT)2.899 E(ARG)-.81 E/F4 9/Times-Roman@0 SF(.) +A F0(If)4.899 E F1(getopts)2.899 E F0 .399 +(is silent, the option character found is placed in)2.899 F F2(OPT)2.899 +E(ARG)-.81 E F0 .4(and no)2.65 F(diagnostic message is printed.)144 264 +Q 1.242(If a required ar)144 288 R 1.242(gument is not found, and)-.18 F +F1(getopts)3.741 E F0 1.241(is not silent, a question mark \()3.741 F F1 +(?).833 E F0 3.741(\)i).833 G 3.741(sp)-3.741 G 1.241(laced in)-3.741 F +F3(name)144 300 Q F0(,).18 E F2(OPT)2.734 E(ARG)-.81 E F0 .234 +(is unset, and a diagnostic message is printed.)2.484 F(If)5.234 E F1 +(getopts)2.734 E F0 .235(is silent, then a colon \()2.734 F F1(:).833 E +F0(\)).833 E(is placed in)144 312 Q F3(name)2.86 E F0(and)2.68 E F2(OPT) +2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 E F1 +(getopts)144 336 Q F0 .902 (returns true if an option, speci\214ed or unspeci\214ed, is found.) -3.401 F .902(It returns f)5.902 F .902(alse if the end of)-.1 F -(options is encountered or an error occurs.)144 96 Q F1(hash)108 112.8 Q -F0([)2.5 E F1(\255lr)A F0 2.5(][)C F1-2.5 E/F2 10/Times-Italic@0 -SF(\214lename)2.5 E F0 2.5(][)C F1(\255dt)-2.5 E F0 2.5(][)C F2(name) --2.5 E F0(])A .858(Each time)144 124.8 R F1(hash)3.358 E F0 .858(is in) -3.358 F -.2(vo)-.4 G -.1(ke).2 G .858 -(d, the full pathname of the command).1 F F2(name)3.718 E F0 .858 -(is determined by searching)3.538 F .956(the directories in)144 136.8 R -F1($P)3.456 E -.95(AT)-.74 G(H).95 E F0 .956(and remembered.)3.456 F(An) -5.956 E 3.456(yp)-.15 G(re)-3.456 E .956 -(viously-remembered pathname is discarded.)-.25 F .099(If the)144 148.8 -R F12.599 E F0 .099 -(option is supplied, no path search is performed, and)2.599 F F2 -(\214lename)4.508 E F0 .098(is used as the full \214le name)2.778 F -1.711(of the command.)144 160.8 R(The)6.711 E F14.211 E F0 1.711 -(option causes the shell to for)4.211 F 1.712 -(get all remembered locations.)-.18 F(The)6.712 E F14.212 E F0 -.833(option causes the shell to for)144 172.8 R .833 -(get the remembered location of each)-.18 F F2(name)3.333 E F0 5.833(.I) +3.402 F .902(It returns f)5.902 F .901(alse if the end of)-.1 F +(options is encountered or an error occurs.)144 348 Q F1(hash)108 364.8 +Q F0([)2.5 E F1(\255lr)A F0 2.5(][)C F1-2.5 E F3(\214lename)2.5 E +F0 2.5(][)C F1(\255dt)-2.5 E F0 2.5(][)C F3(name)-2.5 E F0(])A .858 +(Each time)144 376.8 R F1(hash)3.358 E F0 .858(is in)3.358 F -.2(vo)-.4 +G -.1(ke).2 G .858(d, the full pathname of the command).1 F F3(name) +3.718 E F0 .858(is determined by searching)3.538 F .956 +(the directories in)144 388.8 R F1($P)3.456 E -.95(AT)-.74 G(H).95 E F0 +.956(and remembered.)3.456 F(An)5.956 E 3.456(yp)-.15 G(re)-3.456 E .956 +(viously-remembered pathname is discarded.)-.25 F .098(If the)144 400.8 +R F12.598 E F0 .098 +(option is supplied, no path search is performed, and)2.598 F F3 +(\214lename)4.509 E F0 .099(is used as the full \214le name)2.779 F +1.712(of the command.)144 412.8 R(The)6.712 E F14.212 E F0 1.711 +(option causes the shell to for)4.212 F 1.711 +(get all remembered locations.)-.18 F(The)6.711 E F14.211 E F0 +.833(option causes the shell to for)144 424.8 R .833 +(get the remembered location of each)-.18 F F3(name)3.333 E F0 5.833(.I) C 3.333(ft)-5.833 G(he)-3.333 E F13.333 E F0 .833(option is sup-) -3.333 F .703(plied, the full pathname to which each)144 184.8 R F2(name) -3.204 E F0 .704(corresponds is printed.)3.204 F .704(If multiple)5.704 F -F2(name)3.204 E F0(ar)3.204 E(guments)-.18 E .795(are supplied with)144 -196.8 R F13.295 E F0 3.295(,t)C(he)-3.295 E F2(name)3.295 E F0 +3.333 F .704(plied, the full pathname to which each)144 436.8 R F3(name) +3.204 E F0 .703(corresponds is printed.)3.204 F .703(If multiple)5.703 F +F3(name)3.203 E F0(ar)3.203 E(guments)-.18 E .795(are supplied with)144 +448.8 R F13.295 E F0 3.295(,t)C(he)-3.295 E F3(name)3.295 E F0 .795(is printed before the hashed full pathname.)3.295 F(The)5.795 E F1 3.295 E F0 .795(option causes)3.295 F .934 (output to be displayed in a format that may be reused as input.)144 -208.8 R .934(If no ar)5.934 F .935(guments are gi)-.18 F -.15(ve)-.25 G -.935(n, or if).15 F(only)144 220.8 Q F12.822 E F0 .322 -(is supplied, information about remembered commands is printed.)2.822 F -.321(The return status is true)5.321 F(unless a)144 232.8 Q F2(name)2.86 +460.8 R .934(If no ar)5.934 F .934(guments are gi)-.18 F -.15(ve)-.25 G +.934(n, or if).15 F(only)144 472.8 Q F12.821 E F0 .321 +(is supplied, information about remembered commands is printed.)2.821 F +.322(The return status is true)5.322 F(unless a)144 484.8 Q F3(name)2.86 E F0(is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.) -.25 E F1(help)108 249.6 Q F0([)2.5 E F1(\255dms)A F0 2.5(][)C F2 -(pattern)-2.5 E F0(])A .866(Display helpful information about b)144 -261.6 R .867(uiltin commands.)-.2 F(If)5.867 E F2(pattern)4.617 E F0 -.867(is speci\214ed,)3.607 F F1(help)3.367 E F0(gi)3.367 E -.15(ve)-.25 -G 3.367(sd).15 G(etailed)-3.367 E .307(help on all commands matching)144 -273.6 R F2(pattern)2.807 E F0 2.807(;o).24 G .307 -(therwise help for all the b)-2.807 F .306 -(uiltins and shell control struc-)-.2 F(tures is printed.)144 285.6 Q F1 -144 297.6 Q F0(Display a short description of each)24.74 E F2 -(pattern)2.5 E F1144 309.6 Q F0(Display the description of each) -21.97 E F2(pattern)2.5 E F0(in a manpage-lik)2.5 E 2.5(ef)-.1 G(ormat) --2.5 E F1144 321.6 Q F0 -(Display only a short usage synopsis for each)26.41 E F2(pattern)2.5 E -F0(The return status is 0 unless no command matches)108 333.6 Q F2 -(pattern)2.5 E F0(.).24 E F1(history [)108 350.4 Q F2(n)A F1(])A -(history \255c)108 362.4 Q(history \255d)108 374.4 Q F2(of)2.5 E(fset) --.18 E F1(history \255anrw)108 386.4 Q F0([)2.5 E F2(\214lename)A F0(])A -F1(history \255p)108 398.4 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A 2.5 -(g.)-.37 G(..)-2.5 E F0(])A F1(history \255s)108 410.4 Q F2(ar)2.5 E(g) --.37 E F0([)2.5 E F2(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi)144 -422.4 S .752 +.25 E F1(help)108 501.6 Q F0([)2.5 E F1(\255dms)A F0 2.5(][)C F3 +(pattern)-2.5 E F0(])A .867(Display helpful information about b)144 +513.6 R .867(uiltin commands.)-.2 F(If)5.867 E F3(pattern)4.617 E F0 +.866(is speci\214ed,)3.607 F F1(help)3.366 E F0(gi)3.366 E -.15(ve)-.25 +G 3.366(sd).15 G(etailed)-3.366 E .306(help on all commands matching)144 +525.6 R F3(pattern)2.806 E F0 2.807(;o).24 G .307 +(therwise help for all the b)-2.807 F .307 +(uiltins and shell control struc-)-.2 F(tures is printed.)144 537.6 Q F1 +144 549.6 Q F0(Display a short description of each)24.74 E F3 +(pattern)2.5 E F1144 561.6 Q F0(Display the description of each) +21.97 E F3(pattern)2.5 E F0(in a manpage-lik)2.5 E 2.5(ef)-.1 G(ormat) +-2.5 E F1144 573.6 Q F0 +(Display only a short usage synopsis for each)26.41 E F3(pattern)2.5 E +F0(The return status is 0 unless no command matches)108 585.6 Q F3 +(pattern)2.5 E F0(.).24 E F1(history [)108 602.4 Q F3(n)A F1(])A +(history \255c)108 614.4 Q(history \255d)108 626.4 Q F3(of)2.5 E(fset) +-.18 E F1(history \255anrw)108 638.4 Q F0([)2.5 E F3(\214lename)A F0(])A +F1(history \255p)108 650.4 Q F3(ar)2.5 E(g)-.37 E F0([)2.5 E F3(ar)A 2.5 +(g.)-.37 G(..)-2.5 E F0(])A F1(history \255s)108 662.4 Q F3(ar)2.5 E(g) +-.37 E F0([)2.5 E F3(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi)144 +674.4 S .752 (th no options, display the command history list with line numbers.).4 F -.752(Lines listed with a)5.752 F F1(*)3.252 E F0(ha)3.252 E -.15(ve)-.2 -G .381(been modi\214ed.)144 434.4 R .38(An ar)5.38 F .38(gument of)-.18 -F F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88 -(lines. If)3.12 F .38(the shell v)2.88 F(ariable)-.25 E/F3 9 -/Times-Bold@0 SF(HISTTIMEFOR-)2.88 E(MA)144 446.4 Q(T)-.855 E F0 .264 -(is set and not null, it is used as a format string for)2.514 F F2 -(strftime)2.765 E F0 .265(\(3\) to display the time stamp asso-)B 1.02 -(ciated with each displayed history entry)144 458.4 R 6.019(.N)-.65 G +.752(Lines listed with a)5.752 F F1(*)3.251 E F0(ha)3.251 E -.15(ve)-.2 +G .38(been modi\214ed.)144 686.4 R .38(An ar)5.38 F .38(gument of)-.18 F +F3(n)3.24 E F0 .38(lists only the last)3.12 F F3(n)3.24 E F0 2.88 +(lines. If)3.12 F .38(the shell v)2.88 F(ariable)-.25 E F2(HISTTIMEFOR-) +2.881 E(MA)144 698.4 Q(T)-.855 E F0 .265 +(is set and not null, it is used as a format string for)2.515 F F3 +(strftime)2.764 E F0 .264(\(3\) to display the time stamp asso-)B 1.019 +(ciated with each displayed history entry)144 710.4 R 6.019(.N)-.65 G 3.519(oi)-6.019 G(nterv)-3.519 E 1.019 (ening blank is printed between the formatted)-.15 F .176 -(time stamp and the history line.)144 470.4 R(If)5.176 E F2(\214lename) +(time stamp and the history line.)144 722.4 R(If)5.176 E F3(\214lename) 2.676 E F0 .176 (is supplied, it is used as the name of the history \214le; if)2.676 F -(not, the v)144 482.4 Q(alue of)-.25 E F3(HISTFILE)2.5 E F0(is used.) -2.25 E(Options, if supplied, ha)5 E .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F1144 494.4 Q F0 -(Clear the history list by deleting all the entries.)25.86 E F1144 -506.4 Q F2(of)2.5 E(fset)-.18 E F0(Delete the history entry at position) -180 518.4 Q F2(of)2.5 E(fset)-.18 E F0(.)A F1144 530.4 Q F0 .599 -(Append the `)25.3 F(`ne)-.74 E(w')-.25 E 3.099('h)-.74 G .598 -(istory lines \(history lines entered since the be)-3.099 F .598 -(ginning of the current)-.15 F F1(bash)180 542.4 Q F0 -(session\) to the history \214le.)2.5 E F1144 554.4 Q F0 .854(Rea\ -d the history lines not already read from the history \214le into the c\ -urrent history list.)24.74 F .773 -(These are lines appended to the history \214le since the be)180 566.4 R -.772(ginning of the current)-.15 F F1(bash)3.272 E F0(ses-)3.272 E -(sion.)180 578.4 Q F1144 590.4 Q F0(Read the contents of the hist\ -ory \214le and use them as the current history)25.86 E(.)-.65 E F1 -144 602.4 Q F0(Write the current history to the history \214le, o)23.08 -E -.15(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G -(ontents.)-2.5 E F1144 614.4 Q F0 .625 -(Perform history substitution on the follo)24.74 F(wing)-.25 E F2(ar) -3.125 E(gs)-.37 E F0 .626(and display the result on the standard)3.125 F -2.975(output. Does)180 626.4 R .475 -(not store the results in the history list.)2.975 F(Each)5.475 E F2(ar) -2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F -(normal history e)180 638.4 Q(xpansion.)-.15 E F1144 650.4 Q F0 -.362(Store the)26.41 F F2(ar)3.192 E(gs)-.37 E F0 .363 -(in the history list as a single entry)3.132 F 5.363(.T)-.65 G .363 -(he last command in the history list is)-5.363 F(remo)180 662.4 Q -.15 -(ve)-.15 G 2.5(db).15 G(efore the)-2.5 E F2(ar)2.83 E(gs)-.37 E F0 -(are added.)2.77 E .146(If the)144 679.2 R F3(HISTTIMEFORMA)2.645 E(T) --.855 E F0 -.25(va)2.395 G .145 -(riable is set, the time stamp information associated with each history) -.25 F .668(entry is written to the history \214le, mark)144 691.2 R .669 -(ed with the history comment character)-.1 F 5.669(.W)-.55 G .669 -(hen the history)-5.669 F .956(\214le is read, lines be)144 703.2 R .956 -(ginning with the history comment character follo)-.15 F .955 -(wed immediately by a digit)-.25 F .415 -(are interpreted as timestamps for the pre)144 715.2 R .416 -(vious history line.)-.25 F .416(The return v)5.416 F .416 -(alue is 0 unless an in)-.25 F -.25(va)-.4 G(lid).25 E .499(option is e\ -ncountered, an error occurs while reading or writing the history \214le\ -, an in)144 727.2 R -.25(va)-.4 G(lid).25 E F2(of)2.999 E(fset)-.18 E F0 -(is)2.999 E(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(57)195.945 E 0 -Cg EP +(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(57)197.335 E 0 Cg EP %%Page: 58 58 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(supplied as an ar)144 84 Q(gument to)-.18 E/F1 10/Times-Bold@0 SF -2.5 E F0 2.5(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E -(xpansion supplied as an ar)-.15 E(gument to)-.18 E F12.5 E F0 -.1 -(fa)2.5 G(ils.).1 E F1(jobs)108 100.8 Q F0([)2.5 E F1(\255lnprs)A F0 2.5 -(][)C/F2 10/Times-Italic@0 SF(jobspec)A F0(... ])2.5 E F1(jobs \255x)108 -112.8 Q F2(command)2.5 E F0([)2.5 E F2(ar)2.5 E(gs)-.37 E F0(... ])2.5 E -(The \214rst form lists the acti)144 124.8 Q .3 -.15(ve j)-.25 H 2.5 -(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F1144 136.8 Q F0 -(List process IDs in addition to the normal information.)27.52 E F1 -144 148.8 Q F0 .193(Display information only about jobs that ha) -24.74 F .494 -.15(ve c)-.2 H .194(hanged status since the user w).15 F -.194(as last noti-)-.1 F(\214ed of their status.)180 160.8 Q F1144 -172.8 Q F0(List only the process ID of the job')24.74 E 2.5(sp)-.55 G -(rocess group leader)-2.5 E(.)-.55 E F1144 184.8 Q F0 -(Restrict output to running jobs.)25.86 E F1144 196.8 Q F0 -(Restrict output to stopped jobs.)26.41 E(If)144 213.6 Q F2(jobspec) -4.554 E F0 .314(is gi)3.124 F -.15(ve)-.25 G .314 -(n, output is restricted to information about that job).15 F 5.313(.T) --.4 G .313(he return status is 0 unless)-5.313 F(an in)144 225.6 Q -.25 +-.35 E(not, the v)144 84 Q(alue of)-.25 E/F1 9/Times-Bold@0 SF(HISTFILE) +2.5 E F0(is used.)2.25 E(Options, if supplied, ha)5 E .3 -.15(ve t)-.2 H +(he follo).15 E(wing meanings:)-.25 E/F2 10/Times-Bold@0 SF144 96 +Q F0(Clear the history list by deleting all the entries.)25.86 E F2 +144 108 Q/F3 10/Times-Italic@0 SF(of)2.5 E(fset)-.18 E F0 +(Delete the history entry at position)180 120 Q F3(of)2.5 E(fset)-.18 E +F0(.)A F2144 132 Q F0 .598(Append the `)25.3 F(`ne)-.74 E(w')-.25 +E 3.098('h)-.74 G .598 +(istory lines \(history lines entered since the be)-3.098 F .599 +(ginning of the current)-.15 F F2(bash)180 144 Q F0 +(session\) to the history \214le.)2.5 E F2144 156 Q F0 .854(Read \ +the history lines not already read from the history \214le into the cur\ +rent history list.)24.74 F .772 +(These are lines appended to the history \214le since the be)180 168 R +.773(ginning of the current)-.15 F F2(bash)3.273 E F0(ses-)3.273 E +(sion.)180 180 Q F2144 192 Q F0(Read the contents of the history \ +\214le and use them as the current history)25.86 E(.)-.65 E F2144 +204 Q F0(Write the current history to the history \214le, o)23.08 E -.15 +(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G(ontents.) +-2.5 E F2144 216 Q F0 .626 +(Perform history substitution on the follo)24.74 F(wing)-.25 E F3(ar) +3.125 E(gs)-.37 E F0 .625(and display the result on the standard)3.125 F +2.975(output. Does)180 228 R .475 +(not store the results in the history list.)2.975 F(Each)5.475 E F3(ar) +2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F +(normal history e)180 240 Q(xpansion.)-.15 E F2144 252 Q F0 .363 +(Store the)26.41 F F3(ar)3.193 E(gs)-.37 E F0 .363 +(in the history list as a single entry)3.133 F 5.363(.T)-.65 G .362 +(he last command in the history list is)-5.363 F(remo)180 264 Q -.15(ve) +-.15 G 2.5(db).15 G(efore the)-2.5 E F3(ar)2.83 E(gs)-.37 E F0 +(are added.)2.77 E .145(If the)144 280.8 R F1(HISTTIMEFORMA)2.645 E(T) +-.855 E F0 -.25(va)2.395 G .145 +(riable is set, the time stamp information associated with each history) +.25 F .669(entry is written to the history \214le, mark)144 292.8 R .669 +(ed with the history comment character)-.1 F 5.668(.W)-.55 G .668 +(hen the history)-5.668 F .955(\214le is read, lines be)144 304.8 R .956 +(ginning with the history comment character follo)-.15 F .956 +(wed immediately by a digit)-.25 F .416 +(are interpreted as timestamps for the pre)144 316.8 R .416 +(vious history line.)-.25 F .416(The return v)5.416 F .415 +(alue is 0 unless an in)-.25 F -.25(va)-.4 G(lid).25 E .499(option is e\ +ncountered, an error occurs while reading or writing the history \214le\ +, an in)144 328.8 R -.25(va)-.4 G(lid).25 E F3(of)3 E(fset)-.18 E F0(is) +3 E(supplied as an ar)144 340.8 Q(gument to)-.18 E F22.5 E F0 2.5 +(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E(xpansion supplied as an ar)-.15 +E(gument to)-.18 E F22.5 E F0 -.1(fa)2.5 G(ils.).1 E F2(jobs)108 +357.6 Q F0([)2.5 E F2(\255lnprs)A F0 2.5(][)C F3(jobspec)A F0(... ])2.5 +E F2(jobs \255x)108 369.6 Q F3(command)2.5 E F0([)2.5 E F3(ar)2.5 E(gs) +-.37 E F0(... ])2.5 E(The \214rst form lists the acti)144 381.6 Q .3 +-.15(ve j)-.25 H 2.5(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H +(he follo).15 E(wing meanings:)-.25 E F2144 393.6 Q F0 +(List process IDs in addition to the normal information.)27.52 E F2 +144 405.6 Q F0 .194(Display information only about jobs that ha) +24.74 F .494 -.15(ve c)-.2 H .193(hanged status since the user w).15 F +.193(as last noti-)-.1 F(\214ed of their status.)180 417.6 Q F2144 +429.6 Q F0(List only the process ID of the job')24.74 E 2.5(sp)-.55 G +(rocess group leader)-2.5 E(.)-.55 E F2144 441.6 Q F0 +(Restrict output to running jobs.)25.86 E F2144 453.6 Q F0 +(Restrict output to stopped jobs.)26.41 E(If)144 470.4 Q F3(jobspec) +4.553 E F0 .313(is gi)3.123 F -.15(ve)-.25 G .313 +(n, output is restricted to information about that job).15 F 5.314(.T) +-.4 G .314(he return status is 0 unless)-5.314 F(an in)144 482.4 Q -.25 (va)-.4 G(lid option is encountered or an in).25 E -.25(va)-.4 G(lid).25 -E F2(jobspec)4.24 E F0(is supplied.)2.81 E .394(If the)144 242.4 R F1 -2.894 E F0 .394(option is supplied,)2.894 F F1(jobs)2.894 E F0 -.394(replaces an)2.894 F(y)-.15 E F2(jobspec)4.634 E F0 .394(found in) -3.204 F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .395 -(with the corre-)3.164 F(sponding process group ID, and e)144 254.4 Q --.15(xe)-.15 G(cutes).15 E F2(command)2.7 E F0(passing it)3.27 E F2(ar) +E F3(jobspec)4.24 E F0(is supplied.)2.81 E .395(If the)144 499.2 R F2 +2.895 E F0 .394(option is supplied,)2.894 F F2(jobs)2.894 E F0 +.394(replaces an)2.894 F(y)-.15 E F3(jobspec)4.634 E F0 .394(found in) +3.204 F F3(command)3.094 E F0(or)3.664 E F3(ar)3.224 E(gs)-.37 E F0 .394 +(with the corre-)3.164 F(sponding process group ID, and e)144 511.2 Q +-.15(xe)-.15 G(cutes).15 E F3(command)2.7 E F0(passing it)3.27 E F3(ar) 2.5 E(gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)-.15 E -F1(kill)108 271.2 Q F0([)2.5 E F1A F2(sigspec)2.5 E F0(|)2.5 E F1 -2.5 E F2(signum)2.5 E F0(|)2.5 E F12.5 E F2(sigspec)A F0 2.5 -(][)C F2(pid)-2.5 E F0(|)2.5 E F2(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F1 -(kill \255l)108 283.2 Q F0([)2.5 E F2(sigspec)A F0(|)2.5 E F2 -.2(ex)2.5 -G(it_status).2 E F0(])A .12(Send the signal named by)144 295.2 R F2 -(sigspec)2.96 E F0(or)2.93 E F2(signum)2.96 E F0 .119 -(to the processes named by)2.939 F F2(pid)3.869 E F0(or)3.389 E F2 -(jobspec)2.619 E F0(.).31 E F2(sigspec)5.459 E F0(is)2.929 E .318 -(either a case-insensiti)144 307.2 R .618 -.15(ve s)-.25 H .318 -(ignal name such as).15 F/F3 9/Times-Bold@0 SF(SIGKILL)2.818 E F0 .319 -(\(with or without the)2.569 F F3(SIG)2.819 E F0 .319 -(pre\214x\) or a signal)2.569 F(number;)144 319.2 Q F2(signum)4.189 E F0 -1.349(is a signal number)4.169 F 6.349(.I)-.55 G(f)-6.349 E F2(sigspec) -4.189 E F0 1.349(is not present, then)4.159 F F3(SIGTERM)3.849 E F0 -1.348(is assumed.)3.599 F(An)6.348 E(ar)144 331.2 Q .522(gument of)-.18 -F F13.023 E F0 .523(lists the signal names.)3.023 F .523(If an) -5.523 F 3.023(ya)-.15 G -.18(rg)-3.023 G .523(uments are supplied when) -.18 F F13.023 E F0 .523(is gi)3.023 F -.15(ve)-.25 G .523 -(n, the names).15 F .28(of the signals corresponding to the ar)144 343.2 -R .28(guments are listed, and the return status is 0.)-.18 F(The)5.28 E -F2 -.2(ex)2.78 G(it_status).2 E F0(ar)144 355.2 Q .377(gument to)-.18 F -F12.877 E F0 .378 -(is a number specifying either a signal number or the e)2.877 F .378 -(xit status of a process termi-)-.15 F .594(nated by a signal.)144 367.2 -R F1(kill)5.593 E F0 .593(returns true if at least one signal w)3.093 F -.593(as successfully sent, or f)-.1 F .593(alse if an error)-.1 F -(occurs or an in)144 379.2 Q -.25(va)-.4 G(lid option is encountered.) -.25 E F1(let)108 396 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A(g)-.37 E -F0(...])2.5 E(Each)144 408 Q F2(ar)3.026 E(g)-.37 E F0 .196 -(is an arithmetic e)2.916 F .197(xpression to be e)-.15 F -.25(va)-.25 G -.197(luated \(see).25 F F3 .197(ARITHMETIC EV)2.697 F(ALU)-1.215 E -.855 -(AT)-.54 G(ION).855 E F0(abo)2.447 E -.15(ve)-.15 G 2.697(\). If).15 F -(the last)144 420 Q F2(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G -(luates to 0,).25 E F1(let)2.5 E F0(returns 1; 0 is returned otherwise.) -2.5 E F1(local)108 436.8 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(name) --2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E -.15(Fo)144 448.8 S +F2(kill)108 528 Q F0([)2.5 E F2A F3(sigspec)2.5 E F0(|)2.5 E F2 +2.5 E F3(signum)2.5 E F0(|)2.5 E F22.5 E F3(sigspec)A F0 2.5 +(][)C F3(pid)-2.5 E F0(|)2.5 E F3(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F2 +(kill \255l)108 540 Q F0([)2.5 E F3(sigspec)A F0(|)2.5 E F3 -.2(ex)2.5 G +(it_status).2 E F0(])A .119(Send the signal named by)144 552 R F3 +(sigspec)2.959 E F0(or)2.929 E F3(signum)2.959 E F0 .119 +(to the processes named by)2.939 F F3(pid)3.87 E F0(or)3.39 E F3 +(jobspec)2.62 E F0(.).31 E F3(sigspec)5.46 E F0(is)2.93 E .319 +(either a case-insensiti)144 564 R .619 -.15(ve s)-.25 H .319 +(ignal name such as).15 F F1(SIGKILL)2.819 E F0 .318 +(\(with or without the)2.569 F F1(SIG)2.818 E F0 .318 +(pre\214x\) or a signal)2.568 F(number;)144 576 Q F3(signum)4.188 E F0 +1.349(is a signal number)4.168 F 6.349(.I)-.55 G(f)-6.349 E F3(sigspec) +4.189 E F0 1.349(is not present, then)4.159 F F1(SIGTERM)3.849 E F0 +1.349(is assumed.)3.599 F(An)6.349 E(ar)144 588 Q .523(gument of)-.18 F +F23.023 E F0 .523(lists the signal names.)3.023 F .523(If an)5.523 +F 3.023(ya)-.15 G -.18(rg)-3.023 G .523(uments are supplied when).18 F +F23.023 E F0 .523(is gi)3.023 F -.15(ve)-.25 G .523(n, the names) +.15 F .28(of the signals corresponding to the ar)144 600 R .28 +(guments are listed, and the return status is 0.)-.18 F(The)5.28 E F3 +-.2(ex)2.78 G(it_status).2 E F0(ar)144 612 Q .378(gument to)-.18 F F2 +2.878 E F0 .378 +(is a number specifying either a signal number or the e)2.878 F .377 +(xit status of a process termi-)-.15 F .593(nated by a signal.)144 624 R +F2(kill)5.593 E F0 .593(returns true if at least one signal w)3.093 F +.593(as successfully sent, or f)-.1 F .594(alse if an error)-.1 F +(occurs or an in)144 636 Q -.25(va)-.4 G(lid option is encountered.).25 +E F2(let)108 652.8 Q F3(ar)2.5 E(g)-.37 E F0([)2.5 E F3(ar)A(g)-.37 E F0 +(...])2.5 E(Each)144 664.8 Q F3(ar)3.027 E(g)-.37 E F0 .197 +(is an arithmetic e)2.917 F .197(xpression to be e)-.15 F -.25(va)-.25 G +.196(luated \(see).25 F F1 .196(ARITHMETIC EV)2.696 F(ALU)-1.215 E -.855 +(AT)-.54 G(ION).855 E F0(abo)2.446 E -.15(ve)-.15 G 2.696(\). If).15 F +(the last)144 676.8 Q F3(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G +(luates to 0,).25 E F2(let)2.5 E F0(returns 1; 0 is returned otherwise.) +2.5 E F2(local)108 693.6 Q F0([)2.5 E F3(option)A F0 2.5(][)C F3(name) +-2.5 E F0([=)A F3(value)A F0 2.5(].)C(..])-2.5 E -.15(Fo)144 705.6 S 2.56(re).15 G .06(ach ar)-2.56 F .06(gument, a local v)-.18 F .06 -(ariable named)-.25 F F2(name)2.92 E F0 .06(is created, and assigned) -2.74 F F2(value)2.56 E F0 5.06(.T).18 G(he)-5.06 E F2(option)2.56 E F0 -.06(can be)2.56 F(an)144 460.8 Q 3.152(yo)-.15 G 3.152(ft)-3.152 G .652 -(he options accepted by)-3.152 F F1(declar)3.152 E(e)-.18 E F0 5.652(.W) -C(hen)-5.652 E F1(local)3.152 E F0 .653 +(ariable named)-.25 F F3(name)2.92 E F0 .06(is created, and assigned) +2.74 F F3(value)2.56 E F0 5.06(.T).18 G(he)-5.06 E F3(option)2.56 E F0 +.06(can be)2.56 F(an)144 717.6 Q 3.153(yo)-.15 G 3.153(ft)-3.153 G .653 +(he options accepted by)-3.153 F F2(declar)3.153 E(e)-.18 E F0 5.652(.W) +C(hen)-5.652 E F2(local)3.152 E F0 .652 (is used within a function, it causes the v)3.152 F(ari-)-.25 E(able)144 -472.8 Q F2(name)3.721 E F0 .861(to ha)3.541 F 1.161 -.15(ve a v)-.2 H -.861(isible scope restricted to that function and its children.).15 F --.4(Wi)5.86 G .86(th no operands,).4 F F1(local)144 484.8 Q F0 1.164 -(writes a list of local v)3.664 F 1.165 +729.6 Q F3(name)3.72 E F0 .86(to ha)3.54 F 1.16 -.15(ve a v)-.2 H .861 +(isible scope restricted to that function and its children.).15 F -.4 +(Wi)5.861 G .861(th no operands,).4 F(GNU Bash-4.1)72 768 Q(2010 May 30) +147.345 E(58)197.335 E 0 Cg EP +%%Page: 59 59 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF(local)144 84 Q F0 1.165 +(writes a list of local v)3.665 F 1.165 (ariables to the standard output.)-.25 F 1.165(It is an error to use) -6.165 F F1(local)3.665 E F0 1.165(when not)3.665 F .233 -(within a function.)144 496.8 R .233(The return status is 0 unless)5.233 -F F1(local)2.733 E F0 .233(is used outside a function, an in)2.733 F --.25(va)-.4 G(lid).25 E F2(name)3.092 E F0(is)2.912 E(supplied, or)144 -508.8 Q F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F1 -(logout)108 525.6 Q F0(Exit a login shell.)9.33 E F1(map\214le)108 542.4 -Q F0([)2.5 E F1A F2(count)2.5 E F0 2.5(][)C F1-2.5 E F2 -(origin)2.5 E F0 2.5(][)C F1-2.5 E F2(count)2.5 E F0 2.5(][)C F1 --2.5 E F0 2.5(][)C F1-2.5 E F2(fd)2.5 E F0 2.5(][)C F1 --2.5 E F2(callbac)2.5 E(k)-.2 E F0 2.5(][)C F1-2.5 E F2(quantum) -2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0(])A F1 -.18(re)108 554.4 S -(adarray).18 E F0([)2.5 E F1A F2(count)2.5 E F0 2.5(][)C F1 --2.5 E F2(origin)2.5 E F0 2.5(][)C F1-2.5 E F2(count)2.5 E F0 2.5 -(][)C F1-2.5 E F0 2.5(][)C F1-2.5 E F2(fd)2.5 E F0 2.5(][)C -F1-2.5 E F2(callbac)2.5 E(k)-.2 E F0 2.5(][)C F1-2.5 E F2 -(quantum)2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0(])A .35 -(Read lines from the standard input into the inde)144 566.4 R -.15(xe) --.15 G 2.851(da).15 G .351(rray v)-2.851 F(ariable)-.25 E F2(arr)2.851 E -(ay)-.15 E F0 2.851(,o).32 G 2.851(rf)-2.851 G .351 -(rom \214le descriptor)-2.851 F F2(fd)2.851 E F0 1.249(if the)144 578.4 -R F13.749 E F0 1.249(option is supplied.)3.749 F 1.249(The v)6.249 -F(ariable)-.25 E F3(MAPFILE)3.749 E F0 1.249(is the def)3.499 F(ault)-.1 -E F2(arr)3.748 E(ay)-.15 E F0 6.248(.O)C 1.248(ptions, if supplied,) --6.248 F(ha)144 590.4 Q .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F1144 602.4 Q F0(Cop)24.74 E 2.5(ya)-.1 G -2.5(tm)-2.5 G(ost)-2.5 E F2(count)2.7 E F0 2.5(lines. If)3.18 F F2 -(count)2.5 E F0(is 0, all lines are copied.)2.5 E F1144 614.4 Q F0 -(Be)22.52 E(gin assigning to)-.15 E F2(arr)2.83 E(ay)-.15 E F0(at inde) -2.82 E(x)-.15 E F2(origin)2.5 E F0 5(.T).24 G(he def)-5 E(ault inde)-.1 -E 2.5(xi)-.15 G 2.5(s0)-2.5 G(.)-2.5 E F1144 626.4 Q F0 +6.165 F F1(local)3.664 E F0 1.164(when not)3.664 F .232 +(within a function.)144 96 R .233(The return status is 0 unless)5.232 F +F1(local)2.733 E F0 .233(is used outside a function, an in)2.733 F -.25 +(va)-.4 G(lid).25 E/F2 10/Times-Italic@0 SF(name)3.093 E F0(is)2.913 E +(supplied, or)144 108 Q F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.) +-.25 E F1(logout)108 124.8 Q F0(Exit a login shell.)9.33 E F1(map\214le) +108 141.6 Q F0([)2.5 E F1A F2(count)2.5 E F0 2.5(][)C F1-2.5 +E F2(origin)2.5 E F0 2.5(][)C F1-2.5 E F2(count)2.5 E F0 2.5(][)C +F1-2.5 E F0 2.5(][)C F1-2.5 E F2(fd)2.5 E F0 2.5(][)C F1 +-2.5 E F2(callbac)2.5 E(k)-.2 E F0 2.5(][)C F1-2.5 E F2 +(quantum)2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0(])A F1 -.18(re)108 +153.6 S(adarray).18 E F0([)2.5 E F1A F2(count)2.5 E F0 2.5(][)C F1 +-2.5 E F2(origin)2.5 E F0 2.5(][)C F1-2.5 E F2(count)2.5 E +F0 2.5(][)C F1-2.5 E F0 2.5(][)C F1-2.5 E F2(fd)2.5 E F0 2.5 +(][)C F1-2.5 E F2(callbac)2.5 E(k)-.2 E F0 2.5(][)C F1-2.5 E +F2(quantum)2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0(])A .351 +(Read lines from the standard input into the inde)144 165.6 R -.15(xe) +-.15 G 2.851(da).15 G .351(rray v)-2.851 F(ariable)-.25 E F2(arr)2.85 E +(ay)-.15 E F0 2.85(,o).32 G 2.85(rf)-2.85 G .35(rom \214le descriptor) +-2.85 F F2(fd)2.85 E F0 1.248(if the)144 177.6 R F13.748 E F0 +1.248(option is supplied.)3.748 F 1.249(The v)6.249 F(ariable)-.25 E/F3 +9/Times-Bold@0 SF(MAPFILE)3.749 E F0 1.249(is the def)3.499 F(ault)-.1 E +F2(arr)3.749 E(ay)-.15 E F0 6.249(.O)C 1.249(ptions, if supplied,)-6.249 +F(ha)144 189.6 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E +F1144 201.6 Q F0(Cop)24.74 E 2.5(ya)-.1 G 2.5(tm)-2.5 G(ost)-2.5 E +F2(count)2.7 E F0 2.5(lines. If)3.18 F F2(count)2.5 E F0 +(is 0, all lines are copied.)2.5 E F1144 213.6 Q F0(Be)22.52 E +(gin assigning to)-.15 E F2(arr)2.83 E(ay)-.15 E F0(at inde)2.82 E(x) +-.15 E F2(origin)2.5 E F0 5(.T).24 G(he def)-5 E(ault inde)-.1 E 2.5(xi) +-.15 G 2.5(s0)-2.5 G(.)-2.5 E F1144 225.6 Q F0 (Discard the \214rst)26.41 E F2(count)2.5 E F0(lines read.)2.5 E F1 -144 638.4 Q F0(Remo)26.97 E .3 -.15(ve a t)-.15 H(railing ne).15 E -(wline from each line read.)-.25 E F1144 650.4 Q F0 +144 237.6 Q F0(Remo)26.97 E .3 -.15(ve a t)-.15 H(railing ne).15 E +(wline from each line read.)-.25 E F1144 249.6 Q F0 (Read lines from \214le descriptor)24.74 E F2(fd)2.5 E F0 -(instead of the standard input.)2.5 E F1144 662.4 Q F0(Ev)23.08 E +(instead of the standard input.)2.5 E F1144 261.6 Q F0(Ev)23.08 E (aluate)-.25 E F2(callbac)2.7 E(k)-.2 E F0(each time)3.17 E F2(quantum) 2.5 E F0(lines are read.)2.5 E(The)5 E F12.5 E F0 -(option speci\214es)2.5 E F2(quantum)2.5 E F0(.).32 E F1144 674.4 +(option speci\214es)2.5 E F2(quantum)2.5 E F0(.).32 E F1144 273.6 Q F0(Specify the number of lines read between each call to)25.86 E F2 -(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 691.2 Q F12.967 E F0 .467 +(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 290.4 Q F12.968 E F0 .467 (is speci\214ed without)2.967 F F12.967 E F0 2.967(,t)C .467 (he def)-2.967 F .467(ault quantum is 5000.)-.1 F(When)5.467 E F2 (callbac)2.967 E(k)-.2 E F0 .467(is e)2.967 F -.25(va)-.25 G .467 -(luated, it is sup-).25 F 1.22(plied the inde)144 703.2 R 3.72(xo)-.15 G -3.72(ft)-3.72 G 1.22(he ne)-3.72 F 1.22 -(xt array element to be assigned as an additional ar)-.15 F(gument.)-.18 -E F2(callbac)6.22 E(k)-.2 E F0(is)3.72 E -.25(eva)144 715.2 S -(luated after the line is read b).25 E -(ut before the array element is assigned.)-.2 E(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(58)195.945 E 0 Cg EP -%%Page: 59 59 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E(If not supplied with an e)144 84 Q(xplicit origin,)-.15 E/F1 10 -/Times-Bold@0 SF(map\214le)2.5 E F0(will clear)2.5 E/F2 10 -/Times-Italic@0 SF(arr)2.5 E(ay)-.15 E F0(before assigning to it.)2.5 E -F1(map\214le)144 100.8 Q F0 1.905(returns successfully unless an in) -4.405 F -.25(va)-.4 G 1.905(lid option or option ar).25 F 1.906 -(gument is supplied,)-.18 F F2(arr)4.406 E(ay)-.15 E F0(is)4.406 E(in) -144 112.8 Q -.25(va)-.4 G(lid or unassignable, or if).25 E F2(arr)2.5 E -(ay)-.15 E F0(is not an inde)2.5 E -.15(xe)-.15 G 2.5(da).15 G(rray)-2.5 -E(.)-.65 E F1(popd)108 129.6 Q F0<5bad>2.5 E F1(n)A F0 2.5(][)C(+)-2.5 E -F2(n)A F0 2.5(][)C-2.5 E F2(n)A F0(])A(Remo)144 141.6 Q -.15(ve)-.15 -G 2.8(se).15 G .3(ntries from the directory stack.)-2.8 F -.4(Wi)5.299 G -.299(th no ar).4 F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15 -G .299(he top directory from the)-2.799 F 1.478(stack, and performs a) -144 153.6 R F1(cd)3.978 E F0 1.479(to the ne)3.978 F 3.979(wt)-.25 G -1.479(op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.479 +(luated, it is sup-).25 F .261(plied the inde)144 302.4 R 2.761(xo)-.15 +G 2.761(ft)-2.761 G .261(he ne)-2.761 F .262(xt array element to be ass\ +igned and the line to be assigned to that element)-.15 F .275 +(as additional ar)144 314.4 R(guments.)-.18 E F2(callbac)5.275 E(k)-.2 E +F0 .275(is e)2.775 F -.25(va)-.25 G .274 +(luated after the line is read b).25 F .274 +(ut before the array element is)-.2 F(assigned.)144 326.4 Q +(If not supplied with an e)144 343.2 Q(xplicit origin,)-.15 E F1 +(map\214le)2.5 E F0(will clear)2.5 E F2(arr)2.5 E(ay)-.15 E F0 +(before assigning to it.)2.5 E F1(map\214le)144 360 Q F0 1.905 +(returns successfully unless an in)4.405 F -.25(va)-.4 G 1.905 +(lid option or option ar).25 F 1.906(gument is supplied,)-.18 F F2(arr) +4.406 E(ay)-.15 E F0(is)4.406 E(in)144 372 Q -.25(va)-.4 G +(lid or unassignable, or if).25 E F2(arr)2.5 E(ay)-.15 E F0 +(is not an inde)2.5 E -.15(xe)-.15 G 2.5(da).15 G(rray)-2.5 E(.)-.65 E +F1(popd)108 388.8 Q F0<5bad>2.5 E F1(n)A F0 2.5(][)C(+)-2.5 E F2(n)A F0 +2.5(][)C-2.5 E F2(n)A F0(])A(Remo)144 400.8 Q -.15(ve)-.15 G 2.8(se) +.15 G .3(ntries from the directory stack.)-2.8 F -.4(Wi)5.299 G .299 +(th no ar).4 F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15 G +.299(he top directory from the)-2.799 F 1.478(stack, and performs a)144 +412.8 R F1(cd)3.978 E F0 1.479(to the ne)3.978 F 3.979(wt)-.25 G 1.479 +(op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.479 (uments, if supplied, ha).18 F 1.779 -.15(ve t)-.2 H 1.479(he follo).15 -F(wing)-.25 E(meanings:)144 165.6 Q F1144 177.6 Q F0 .551 +F(wing)-.25 E(meanings:)144 424.8 Q F1144 436.8 Q F0 .551 (Suppresses the normal change of directory when remo)24.74 F .551 (ving directories from the stack, so)-.15 F -(that only the stack is manipulated.)180 189.6 Q F1(+)144 201.6 Q F2(n)A +(that only the stack is manipulated.)180 448.8 Q F1(+)144 460.8 Q F2(n)A F0(Remo)25.3 E -.15(ve)-.15 G 2.64(st).15 G(he)-2.64 E F2(n)2.64 E F0 .14(th entry counting from the left of the list sho)B .14(wn by)-.25 F F1(dirs)2.64 E F0 2.64(,s)C .14(tarting with zero.)-2.64 F -.15(Fo)180 -213.6 S 2.5(re).15 G(xample:)-2.65 E/F3 10/Courier@0 SF(popd +0)2.5 E F0 +472.8 S 2.5(re).15 G(xample:)-2.65 E/F4 10/Courier@0 SF(popd +0)2.5 E F0 (remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he \214rst directory)-2.5 E(,) --.65 E F3(popd +1)2.5 E F0(the second.)2.5 E F1144 225.6 Q F2(n)A F0 +-.65 E F4(popd +1)2.5 E F0(the second.)2.5 E F1144 484.8 Q F2(n)A F0 (Remo)25.3 E -.15(ve)-.15 G 3.76(st).15 G(he)-3.76 E F2(n)3.76 E F0 1.259(th entry counting from the right of the list sho)B 1.259(wn by) -.25 F F1(dirs)3.759 E F0 3.759(,s)C 1.259(tarting with)-3.759 F 2.5 -(zero. F)180 237.6 R(or e)-.15 E(xample:)-.15 E F3(popd -0)2.5 E F0 +(zero. F)180 496.8 R(or e)-.15 E(xample:)-.15 E F4(popd -0)2.5 E F0 (remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he last directory)-2.5 E(,)-.65 -E F3(popd -1)2.5 E F0(the ne)2.5 E(xt to last.)-.15 E .643(If the)144 -254.4 R F1(popd)3.143 E F0 .643(command is successful, a)3.143 F F1 +E F4(popd -1)2.5 E F0(the ne)2.5 E(xt to last.)-.15 E .643(If the)144 +513.6 R F1(popd)3.143 E F0 .643(command is successful, a)3.143 F F1 (dirs)3.143 E F0 .644(is performed as well, and the return status is 0.) -3.143 F F1(popd)5.644 E F0 .416(returns f)144 266.4 R .416 +3.143 F F1(popd)5.644 E F0 .416(returns f)144 525.6 R .416 (alse if an in)-.1 F -.25(va)-.4 G .415 (lid option is encountered, the directory stack is empty).25 F 2.915 (,an)-.65 G(on-e)-2.915 E .415(xistent direc-)-.15 F -(tory stack entry is speci\214ed, or the directory change f)144 278.4 Q -(ails.)-.1 E F1(printf)108 295.2 Q F0([)2.5 E F1A F2(var)2.5 E F0 -(])A F2(format)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A .372 -(Write the formatted)144 307.2 R F2(ar)2.872 E(guments)-.37 E F0 .372 -(to the standard output under the control of the)2.872 F F2(format)2.872 -E F0 5.372(.T)C(he)-5.372 E F2(format)2.872 E F0 1.804(is a character s\ -tring which contains three types of objects: plain characters, which ar\ -e simply)144 319.2 R .158 -(copied to standard output, character escape sequences, which are con) -144 331.2 R -.15(ve)-.4 G .159(rted and copied to the stan-).15 F .499(\ -dard output, and format speci\214cations, each of which causes printing\ - of the ne)144 343.2 R .499(xt successi)-.15 F -.15(ve)-.25 G F2(ar) -3.149 E(gu-)-.37 E(ment)144 355.2 Q F0 5.423(.I)C 2.923(na)-5.423 G .423 -(ddition to the standard)-2.923 F F2(printf)2.923 E F0 .424 -(\(1\) formats,)B F1(%b)2.924 E F0(causes)2.924 E F1(printf)2.924 E F0 -.424(to e)2.924 F .424(xpand backslash escape)-.15 F .977 -(sequences in the corresponding)144 367.2 R F2(ar)3.476 E(gument)-.37 E -F0(\(e)3.476 E .976(xcept that)-.15 F F1(\\c)3.476 E F0 .976 -(terminates output, backslashes in)3.476 F F1<5c08>3.476 E F0(,)A F1 -(\\")3.476 E F0(,)A(and)144 379.2 Q F1(\\?)3.421 E F0 .921(are not remo) -3.421 F -.15(ve)-.15 G .922(d, and octal escapes be).15 F .922 -(ginning with)-.15 F F1(\\0)3.422 E F0 .922 -(may contain up to four digits\), and)3.422 F F1(%q)144 391.2 Q F0 -(causes)3.631 E F1(printf)3.631 E F0 1.131(to output the corresponding) -3.631 F F2(ar)3.631 E(gument)-.37 E F0 1.13 -(in a format that can be reused as shell)3.631 F(input.)144 403.2 Q(Ar) -144 427.2 Q .463(guments to non-string format speci\214ers are treated \ -as C constants, e)-.18 F .464(xcept that a leading plus or)-.15 F 1.259 -(minus sign is allo)144 439.2 R 1.259 -(wed, and if the leading character is a single or double quote, the v) --.25 F 1.258(alue is the)-.25 F(ASCII v)144 451.2 Q(alue of the follo) --.25 E(wing character)-.25 E(.)-.55 E(The)144 475.2 Q F12.903 E F0 -.404(option causes the output to be assigned to the v)2.903 F(ariable) --.25 E F2(var)2.904 E F0 .404(rather than being printed to the)2.904 F -(standard output.)144 487.2 Q(The)144 511.2 Q F2(format)3.424 E F0 .923 -(is reused as necessary to consume all of the)3.424 F F2(ar)3.423 E -(guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F2(format) -3.423 E F0 .923(requires more)3.423 F F2(ar)144 523.2 Q(guments)-.37 E -F0 .033(than are supplied, the e)2.533 F .033 -(xtra format speci\214cations beha)-.15 F .333 -.15(ve a)-.2 H 2.533(si) -.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .034(alue or null string,) --.25 F(as appropriate, had been supplied.)144 535.2 Q(The return v)5 E -(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E F1(pushd) -108 552 Q F0([)2.5 E F1A F0 2.5(][)C(+)-2.5 E F2(n)A F0 2.5(][)C --2.5 E F2(n)A F0(])A F1(pushd)108 564 Q F0([)2.5 E F1A F0 2.5 -(][)C F2(dir)-2.5 E F0(])A .64(Adds a directory to the top of the direc\ -tory stack, or rotates the stack, making the ne)144 576 R 3.139(wt)-.25 -G .639(op of the)-3.139 F 1.315(stack the current w)144 588 R 1.315 -(orking directory)-.1 F 6.315(.W)-.65 G 1.315(ith no ar)-6.715 F 1.315 -(guments, e)-.18 F 1.316(xchanges the top tw)-.15 F 3.816(od)-.1 G 1.316 -(irectories and)-3.816 F .872 -(returns 0, unless the directory stack is empty)144 600 R 5.871(.A)-.65 -G -.18(rg)-5.871 G .871(uments, if supplied, ha).18 F 1.171 -.15(ve t) --.2 H .871(he follo).15 F .871(wing mean-)-.25 F(ings:)144 612 Q F1 -144 624 Q F0 .902(Suppresses the normal change of directory when \ -adding directories to the stack, so that)24.74 F -(only the stack is manipulated.)180 636 Q F1(+)144 648 Q F2(n)A F0 1.268 -(Rotates the stack so that the)25.3 F F2(n)3.768 E F0 1.267 -(th directory \(counting from the left of the list sho)B 1.267(wn by) --.25 F F1(dirs)180 660 Q F0 2.5(,s)C(tarting with zero\) is at the top.) --2.5 E F1144 672 Q F2(n)A F0 .92(Rotates the stack so that the)25.3 -F F2(n)3.42 E F0 .92 -(th directory \(counting from the right of the list sho)B .92(wn by)-.25 -F F1(dirs)180 684 Q F0 2.5(,s)C(tarting with zero\) is at the top.)-2.5 -E F2(dir)144.35 696 Q F0(Adds)23.98 E F2(dir)2.85 E F0 -(to the directory stack at the top, making it the ne)3.23 E 2.5(wc)-.25 -G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .489(If the)144 712.8 -R F1(pushd)2.989 E F0 .489(command is successful, a)2.989 F F1(dirs) -2.988 E F0 .488(is performed as well.)2.988 F .488 -(If the \214rst form is used,)5.488 F F1(pushd)2.988 E F0 1.039 -(returns 0 unless the cd to)144 724.8 R F2(dir)3.889 E F0 -.1(fa)4.269 G -3.539(ils. W).1 F 1.039(ith the second form,)-.4 F F1(pushd)3.54 E F0 -1.04(returns 0 unless the directory)3.54 F(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(59)195.945 E 0 Cg EP +(tory stack entry is speci\214ed, or the directory change f)144 537.6 Q +(ails.)-.1 E F1(printf)108 554.4 Q F0([)2.5 E F1A F2(var)2.5 E F0 +(])A F2(format)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A 1.436 +(Write the formatted)144 566.4 R F2(ar)3.936 E(guments)-.37 E F0 1.437 +(to the standard output under the control of the)3.936 F F2(format)3.937 +E F0 6.437(.T)C(he)-6.437 E F13.937 E F0 .126 +(option causes the output to be assigned to the v)144 578.4 R(ariable) +-.25 E F2(var)2.626 E F0 .126(rather than being printed to the standard) +2.626 F(output.)144 590.4 Q(The)144 614.4 Q F2(format)3.017 E F0 .517(i\ +s a character string which contains three types of objects: plain chara\ +cters, which are)3.017 F .704(simply copied to standard output, charact\ +er escape sequences, which are con)144 626.4 R -.15(ve)-.4 G .703 +(rted and copied to).15 F .036(the standard output, and format speci\ +\214cations, each of which causes printing of the ne)144 638.4 R .037 +(xt successi)-.15 F -.15(ve)-.25 G F2(ar)144 650.4 Q(gument)-.37 E F0 +5.532(.I)C 3.032(na)-5.532 G .532(ddition to the standard)-3.032 F F2 +(printf)3.032 E F0 .532(\(1\) format speci\214cations,)B F1(printf)3.031 +E F0 .531(interprets the follo)3.031 F(w-)-.25 E(ing e)144 662.4 Q +(xtensions:)-.15 E F1(%b)144 674.4 Q F0(causes)20.44 E F1(printf)5.115 E +F0 2.615(to e)5.115 F 2.615 +(xpand backslash escape sequences in the corresponding)-.15 F F2(ar) +5.115 E(gument)-.37 E F0(\(e)180 686.4 Q .608(xcept that)-.15 F F1(\\c) +3.108 E F0 .608(terminates output, backslashes in)3.108 F F1<5c08>3.108 +E F0(,)A F1(\\")3.108 E F0 3.108(,a)C(nd)-3.108 E F1(\\?)3.108 E F0 .608 +(are not remo)3.108 F -.15(ve)-.15 G .608(d, and octal).15 F(escapes be) +180 698.4 Q(ginning with)-.15 E F1(\\0)2.5 E F0 +(may contain up to four digits\).)2.5 E F1(%q)144 710.4 Q F0(causes) +20.44 E F1(printf)2.51 E F0 .01(to output the corresponding)2.51 F F2 +(ar)2.51 E(gument)-.37 E F0 .01(in a format that can be reused as shell) +2.51 F(input.)180 722.4 Q(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E +(59)197.335 E 0 Cg EP %%Page: 60 60 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E .847(stack is empty)144 84 R 3.347(,an)-.65 G(on-e)-3.347 E .847 -(xistent directory stack element is speci\214ed, or the directory chang\ -e to the)-.15 F(speci\214ed ne)144 96 Q 2.5(wc)-.25 G -(urrent directory f)-2.5 E(ails.)-.1 E/F1 10/Times-Bold@0 SF(pwd)108 -112.8 Q F0([)2.5 E F1(\255LP)A F0(])A .844 -(Print the absolute pathname of the current w)144 124.8 R .845 -(orking directory)-.1 F 5.845(.T)-.65 G .845 -(he pathname printed contains no)-5.845 F .182(symbolic links if the)144 -136.8 R F12.681 E F0 .181(option is supplied or the)2.681 F F1 -.181(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F1 -(set)2.681 E F0 -.2(bu)2.681 G .181(iltin command is).2 F 3.263 -(enabled. If)144 148.8 R(the)3.263 E F13.263 E F0 .763 -(option is used, the pathname printed may contain symbolic links.)3.263 -F .764(The return)5.764 F 1.36(status is 0 unless an error occurs while\ - reading the name of the current directory or an in)144 160.8 R -.25(va) --.4 G(lid).25 E(option is supplied.)144 172.8 Q F1 -.18(re)108 189.6 S -(ad).18 E F0([)3.816 E F1(\255ers)A F0 3.816(][)C F1-3.816 E/F2 10 -/Times-Italic@0 SF(aname)3.816 E F0 3.816(][)C F1-3.816 E F2 -(delim)3.816 E F0 3.816(][)C F1-3.816 E F2(te)3.816 E(xt)-.2 E F0 -3.816(][)C F1-3.816 E F2(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.817 -(][)C F1-3.817 E F2(nc)3.817 E(har)-.15 E(s)-.1 E F0 3.817(][)C F1 --3.817 E F2(pr)3.817 E(ompt)-.45 E F0 3.817(][)C F1-3.817 E -F2(timeout)3.817 E F0 3.817(][)C F1-3.817 E F2(fd)3.817 E F0(])A -([)108 201.6 Q F2(name)A F0(...])2.5 E .516(One line is read from the s\ -tandard input, or from the \214le descriptor)144 213.6 R F2(fd)3.016 E -F0 .516(supplied as an ar)3.016 F .517(gument to)-.18 F(the)144 225.6 Q -F12.539 E F0 .039(option, and the \214rst w)2.539 F .038 -(ord is assigned to the \214rst)-.1 F F2(name)2.538 E F0 2.538(,t).18 G -.038(he second w)-2.538 F .038(ord to the second)-.1 F F2(name)2.538 E -F0(,).18 E .42(and so on, with lefto)144 237.6 R -.15(ve)-.15 G 2.92(rw) -.15 G .42(ords and their interv)-3.02 F .42 +-.35 E/F1 10/Times-Bold@0 SF(%\()144 84 Q/F2 10/Times-Italic@0 SF +(datefmt)A F1(\)T)A F0(causes)180 96 Q F1(printf)4.404 E F0 1.904 +(to output the date-time string resulting from using)4.404 F F2(datefmt) +4.404 E F0 1.903(as a format)4.404 F .38(string for)180 108 R F2 +(strftime)2.881 E F0 2.881(\(3\). The)B(corresponding)2.881 E F2(ar) +2.881 E(gument)-.37 E F0 .381(is an inte)2.881 F .381 +(ger representing the number)-.15 F .458(of seconds since the epoch.)180 +120 R -1 -.8(Tw o)5.458 H .458(special ar)3.758 F .458(gument v)-.18 F +.458(alues may be used: -1 represents the)-.25 F +(current time, and -2 represents the time the shell w)180 132 Q(as in) +-.1 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E(Ar)144 148.8 Q .463(guments to n\ +on-string format speci\214ers are treated as C constants, e)-.18 F .464 +(xcept that a leading plus or)-.15 F 1.259(minus sign is allo)144 160.8 +R 1.259 +(wed, and if the leading character is a single or double quote, the v) +-.25 F 1.258(alue is the)-.25 F(ASCII v)144 172.8 Q(alue of the follo) +-.25 E(wing character)-.25 E(.)-.55 E(The)144 189.6 Q F2(format)3.423 E +F0 .923(is reused as necessary to consume all of the)3.423 F F2(ar)3.423 +E(guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F2(format) +3.423 E F0 .924(requires more)3.424 F F2(ar)144 201.6 Q(guments)-.37 E +F0 .033(than are supplied, the e)2.534 F .033 +(xtra format speci\214cations beha)-.15 F .333 -.15(ve a)-.2 H 2.533(si) +.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .033(alue or null string,) +-.25 F(as appropriate, had been supplied.)144 213.6 Q(The return v)5 E +(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E F1(pushd) +108 230.4 Q F0([)2.5 E F1A F0 2.5(][)C(+)-2.5 E F2(n)A F0 2.5(][)C +-2.5 E F2(n)A F0(])A F1(pushd)108 242.4 Q F0([)2.5 E F1A F0 +2.5(][)C F2(dir)-2.5 E F0(])A .639(Adds a directory to the top of the d\ +irectory stack, or rotates the stack, making the ne)144 254.4 R 3.14(wt) +-.25 G .64(op of the)-3.14 F 1.316(stack the current w)144 266.4 R 1.316 +(orking directory)-.1 F 6.316(.W)-.65 G 1.315(ith no ar)-6.716 F 1.315 +(guments, e)-.18 F 1.315(xchanges the top tw)-.15 F 3.815(od)-.1 G 1.315 +(irectories and)-3.815 F .871 +(returns 0, unless the directory stack is empty)144 278.4 R 5.871(.A) +-.65 G -.18(rg)-5.871 G .872(uments, if supplied, ha).18 F 1.172 -.15 +(ve t)-.2 H .872(he follo).15 F .872(wing mean-)-.25 F(ings:)144 290.4 Q +F1144 302.4 Q F0 .902(Suppresses the normal change of directory w\ +hen adding directories to the stack, so that)24.74 F +(only the stack is manipulated.)180 314.4 Q F1(+)144 326.4 Q F2(n)A F0 +1.267(Rotates the stack so that the)25.3 F F2(n)3.767 E F0 1.268 +(th directory \(counting from the left of the list sho)B 1.268(wn by) +-.25 F F1(dirs)180 338.4 Q F0 2.5(,s)C +(tarting with zero\) is at the top.)-2.5 E F1144 350.4 Q F2(n)A F0 +.92(Rotates the stack so that the)25.3 F F2(n)3.42 E F0 .92 +(th directory \(counting from the right of the list sho)B .92(wn by)-.25 +F F1(dirs)180 362.4 Q F0 2.5(,s)C(tarting with zero\) is at the top.) +-2.5 E F2(dir)144.35 374.4 Q F0(Adds)23.98 E F2(dir)2.85 E F0 +(to the directory stack at the top, making it the ne)3.23 E 2.5(wc)-.25 +G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .488(If the)144 391.2 +R F1(pushd)2.988 E F0 .488(command is successful, a)2.988 F F1(dirs) +2.988 E F0 .488(is performed as well.)2.988 F .489 +(If the \214rst form is used,)5.488 F F1(pushd)2.989 E F0 1.04 +(returns 0 unless the cd to)144 403.2 R F2(dir)3.89 E F0 -.1(fa)4.27 G +3.539(ils. W).1 F 1.039(ith the second form,)-.4 F F1(pushd)3.539 E F0 +1.039(returns 0 unless the directory)3.539 F .846(stack is empty)144 +415.2 R 3.346(,an)-.65 G(on-e)-3.346 E .847(xistent directory stack ele\ +ment is speci\214ed, or the directory change to the)-.15 F +(speci\214ed ne)144 427.2 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E +(ails.)-.1 E F1(pwd)108 444 Q F0([)2.5 E F1(\255LP)A F0(])A .845 +(Print the absolute pathname of the current w)144 456 R .845 +(orking directory)-.1 F 5.844(.T)-.65 G .844 +(he pathname printed contains no)-5.844 F .181(symbolic links if the)144 +468 R F12.681 E F0 .181(option is supplied or the)2.681 F F1 .181 +(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F1(set) +2.681 E F0 -.2(bu)2.681 G .182(iltin command is).2 F 3.264(enabled. If) +144 480 R(the)3.264 E F13.264 E F0 .763 +(option is used, the pathname printed may contain symbolic links.)3.264 +F .763(The return)5.763 F 1.36(status is 0 unless an error occurs while\ + reading the name of the current directory or an in)144 492 R -.25(va) +-.4 G(lid).25 E(option is supplied.)144 504 Q F1 -.18(re)108 520.8 S(ad) +.18 E F0([)3.817 E F1(\255ers)A F0 3.817(][)C F1-3.817 E F2(aname) +3.817 E F0 3.817(][)C F1-3.817 E F2(delim)3.817 E F0 3.817(][)C F1 +-3.817 E F2(te)3.817 E(xt)-.2 E F0 3.817(][)C F1-3.817 E F2 +(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F1-3.816 E F2(nc) +3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F1-3.816 E F2(pr)3.816 E +(ompt)-.45 E F0 3.816(][)C F1-3.816 E F2(timeout)3.816 E F0 3.816 +(][)C F1-3.816 E F2(fd)3.816 E F0(])A([)108 532.8 Q F2(name)A F0 +(...])2.5 E .516(One line is read from the standard input, or from the \ +\214le descriptor)144 544.8 R F2(fd)3.016 E F0 .516(supplied as an ar) +3.016 F .516(gument to)-.18 F(the)144 556.8 Q F12.538 E F0 .038 +(option, and the \214rst w)2.538 F .038(ord is assigned to the \214rst) +-.1 F F2(name)2.539 E F0 2.539(,t).18 G .039(he second w)-2.539 F .039 +(ord to the second)-.1 F F2(name)2.539 E F0(,).18 E .42 +(and so on, with lefto)144 568.8 R -.15(ve)-.15 G 2.92(rw).15 G .42 +(ords and their interv)-3.02 F .42 (ening separators assigned to the last)-.15 F F2(name)2.92 E F0 5.42(.I) -.18 G 2.92(ft)-5.42 G(here)-2.92 E .541(are fe)144 249.6 R .541(wer w) --.25 F .541(ords read from the input stream than names, the remaining n\ -ames are assigned empty)-.1 F -.25(va)144 261.6 S 2.51(lues. The).25 F -.011(characters in)2.511 F/F3 9/Times-Bold@0 SF(IFS)2.511 E F0 .011 +.18 G 2.92(ft)-5.42 G(here)-2.92 E .54(are fe)144 580.8 R .54(wer w)-.25 +F .541(ords read from the input stream than names, the remaining names \ +are assigned empty)-.1 F -.25(va)144 592.8 S 2.511(lues. The).25 F .011 +(characters in)2.511 F/F3 9/Times-Bold@0 SF(IFS)2.511 E F0 .011 (are used to split the line into w)2.261 F 2.511(ords. The)-.1 F .011 -(backslash character \()2.511 F F1(\\)A F0 2.511(\)m)C(ay)-2.511 E 1.891 -(be used to remo)144 273.6 R 2.191 -.15(ve a)-.15 H 2.191 -.15(ny s).15 -H 1.891(pecial meaning for the ne).15 F 1.89 +(backslash character \()2.511 F F1(\\)A F0 2.51(\)m)C(ay)-2.51 E 1.89 +(be used to remo)144 604.8 R 2.19 -.15(ve a)-.15 H 2.19 -.15(ny s).15 H +1.891(pecial meaning for the ne).15 F 1.891 (xt character read and for line continuation.)-.15 F -(Options, if supplied, ha)144 285.6 Q .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F1144 297.6 Q F2(aname)2.5 E F0 1.049 -(The w)180 309.6 R 1.049 +(Options, if supplied, ha)144 616.8 Q .3 -.15(ve t)-.2 H(he follo).15 E +(wing meanings:)-.25 E F1144 628.8 Q F2(aname)2.5 E F0 1.05(The w) +180 640.8 R 1.049 (ords are assigned to sequential indices of the array v)-.1 F(ariable) --.25 E F2(aname)3.55 E F0 3.55(,s).18 G 1.05(tarting at 0.)-3.55 F F2 -(aname)180.33 321.6 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5 -.25 -(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F2(name)2.5 E F0(ar)2.5 -E(guments are ignored.)-.18 E F1144 333.6 Q F2(delim)2.5 E F0 -(The \214rst character of)180 345.6 Q F2(delim)2.5 E F0 +-.25 E F2(aname)3.549 E F0 3.549(,s).18 G 1.049(tarting at 0.)-3.549 F +F2(aname)180.33 652.8 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5 +-.25(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F2(name)2.5 E F0 +(ar)2.5 E(guments are ignored.)-.18 E F1144 664.8 Q F2(delim)2.5 E +F0(The \214rst character of)180 676.8 Q F2(delim)2.5 E F0 (is used to terminate the input line, rather than ne)2.5 E(wline.)-.25 E -F1144 357.6 Q F0 .373 +F1144 688.8 Q F0 .372 (If the standard input is coming from a terminal,)25.86 F F1 -.18(re) -2.873 G(adline).18 E F0(\(see)2.873 E F3(READLINE)2.872 E F0(abo)2.622 E --.15(ve)-.15 G 2.872(\)i).15 G 2.872(su)-2.872 G(sed)-2.872 E .218 -(to obtain the line.)180 369.6 R .218 +2.873 G(adline).18 E F0(\(see)2.873 E F3(READLINE)2.873 E F0(abo)2.623 E +-.15(ve)-.15 G 2.873(\)i).15 G 2.873(su)-2.873 G(sed)-2.873 E .218 +(to obtain the line.)180 700.8 R .218 (Readline uses the current \(or def)5.218 F .218 (ault, if line editing w)-.1 F .218(as not pre)-.1 F(viously)-.25 E -(acti)180 381.6 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings.)-2.5 E -F1144 393.6 Q F2(te)2.5 E(xt)-.2 E F0(If)10.78 E F1 -.18(re)2.716 -G(adline).18 E F0 .216(is being used to read the line,)2.716 F F2(te) -2.716 E(xt)-.2 E F0 .216(is placed into the editing b)2.716 F(uf)-.2 E -.215(fer before edit-)-.25 F(ing be)180 405.6 Q(gins.)-.15 E F1144 -417.6 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 429.6 S(ad).18 E -F0 1.394(returns after reading)3.894 F F2(nc)3.894 E(har)-.15 E(s)-.1 E -F0 1.395(characters rather than w)3.894 F 1.395 -(aiting for a complete line of)-.1 F(input, b)180 441.6 Q -(ut honor a delimiter if fe)-.2 E(wer than)-.25 E F2(nc)2.5 E(har)-.15 E -(s)-.1 E F0(characters are read before the delimiter)2.5 E(.)-.55 E F1 -144 453.6 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 465.6 S -(ad).18 E F0 1.269(returns after reading e)3.77 F(xactly)-.15 E F2(nc) -3.769 E(har)-.15 E(s)-.1 E F0 1.269(characters rather than w)3.769 F -1.269(aiting for a complete)-.1 F .274 -(line of input, unless EOF is encountered or)180 477.6 R F1 -.18(re) -2.775 G(ad).18 E F0 .275(times out.)2.775 F .275 -(Delimiter characters encoun-)5.275 F 1.003 -(tered in the input are not treated specially and do not cause)180 489.6 -R F1 -.18(re)3.502 G(ad).18 E F0 1.002(to return until)3.502 F F2(nc) -3.502 E(har)-.15 E(s)-.1 E F0(characters are read.)180 501.6 Q F1 -144 513.6 Q F2(pr)2.5 E(ompt)-.45 E F0(Display)180 525.6 Q F2(pr)3.66 E -(ompt)-.45 E F0 1.161(on standard error)3.66 F 3.661(,w)-.4 G 1.161 +(acti)180 712.8 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings.)-2.5 E +(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(60)197.335 E 0 Cg EP +%%Page: 61 61 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF144 84 Q/F2 10/Times-Italic@0 SF(te) +2.5 E(xt)-.2 E F0(If)10.78 E F1 -.18(re)2.715 G(adline).18 E F0 .216 +(is being used to read the line,)2.715 F F2(te)2.716 E(xt)-.2 E F0 .216 +(is placed into the editing b)2.716 F(uf)-.2 E .216(fer before edit-) +-.25 F(ing be)180 96 Q(gins.)-.15 E F1144 108 Q F2(nc)2.5 E(har) +-.15 E(s)-.1 E F1 -.18(re)180 120 S(ad).18 E F0 1.395 +(returns after reading)3.895 F F2(nc)3.895 E(har)-.15 E(s)-.1 E F0 1.395 +(characters rather than w)3.895 F 1.394(aiting for a complete line of) +-.1 F(input, b)180 132 Q(ut honor a delimiter if fe)-.2 E(wer than)-.25 +E F2(nc)2.5 E(har)-.15 E(s)-.1 E F0 +(characters are read before the delimiter)2.5 E(.)-.55 E F1144 144 +Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 156 S(ad).18 E F0 1.269 +(returns after reading e)3.769 F(xactly)-.15 E F2(nc)3.769 E(har)-.15 E +(s)-.1 E F0 1.269(characters rather than w)3.769 F 1.27 +(aiting for a complete)-.1 F .275 +(line of input, unless EOF is encountered or)180 168 R F1 -.18(re)2.775 +G(ad).18 E F0 .274(times out.)2.774 F .274(Delimiter characters encoun-) +5.274 F 1.002 +(tered in the input are not treated specially and do not cause)180 180 R +F1 -.18(re)3.503 G(ad).18 E F0 1.003(to return until)3.503 F F2(nc)3.503 +E(har)-.15 E(s)-.1 E F0(characters are read.)180 192 Q F1144 204 Q +F2(pr)2.5 E(ompt)-.45 E F0(Display)180 216 Q F2(pr)3.661 E(ompt)-.45 E +F0 1.161(on standard error)3.661 F 3.661(,w)-.4 G 1.161 (ithout a trailing ne)-3.661 F 1.161(wline, before attempting to read) --.25 F(an)180 537.6 Q 2.5(yi)-.15 G 2.5(nput. The)-2.5 F +-.25 F(an)180 228 Q 2.5(yi)-.15 G 2.5(nput. The)-2.5 F (prompt is displayed only if input is coming from a terminal.)2.5 E F1 -144 549.6 Q F0 .544(Backslash does not act as an escape character) -25.86 F 5.543(.T)-.55 G .543(he backslash is considered to be part of) --5.543 F(the line.)180 561.6 Q(In particular)5 E 2.5(,ab)-.4 G +144 240 Q F0 .543(Backslash does not act as an escape character) +25.86 F 5.543(.T)-.55 G .544(he backslash is considered to be part of) +-5.543 F(the line.)180 252 Q(In particular)5 E 2.5(,ab)-.4 G (ackslash-ne)-2.5 E(wline pair may not be used as a line continuation.) --.25 E F1144 573.6 Q F0(Silent mode.)26.41 E +-.25 E F1144 264 Q F0(Silent mode.)26.41 E (If input is coming from a terminal, characters are not echoed.)5 E F1 -144 585.6 Q F2(timeout)2.5 E F0(Cause)180 597.6 Q F1 -.18(re)3.548 -G(ad).18 E F0 1.048(to time out and return f)3.548 F 1.048 +144 276 Q F2(timeout)2.5 E F0(Cause)180 288 Q F1 -.18(re)3.549 G +(ad).18 E F0 1.048(to time out and return f)3.549 F 1.048 (ailure if a complete line of input is not read within)-.1 F F2(timeout) -180 609.6 Q F0(seconds.)3.497 E F2(timeout)5.997 E F0 .997 -(may be a decimal number with a fractional portion follo)3.497 F(wing) --.25 E .576(the decimal point.)180 621.6 R .576(This option is only ef) +180 300 Q F0(seconds.)3.496 E F2(timeout)5.996 E F0 .997 +(may be a decimal number with a fractional portion follo)3.496 F(wing) +-.25 E .576(the decimal point.)180 312 R .576(This option is only ef) 5.576 F(fecti)-.25 E .876 -.15(ve i)-.25 H(f).15 E F1 -.18(re)3.076 G -(ad).18 E F0 .576(is reading input from a terminal,)3.076 F .142 -(pipe, or other special \214le; it has no ef)180 633.6 R .142 -(fect when reading from re)-.25 F .142(gular \214les.)-.15 F(If)5.141 E -F2(timeout)2.641 E F0 .141(is 0,)2.641 F F1 -.18(re)180 645.6 S(ad).18 E -F0 .113(returns success if input is a)2.613 F -.25(va)-.2 G .113 -(ilable on the speci\214ed \214le descriptor).25 F 2.613(,f)-.4 G .114 -(ailure otherwise.)-2.713 F(The e)180 657.6 Q +(ad).18 E F0 .576(is reading input from a terminal,)3.076 F .141 +(pipe, or other special \214le; it has no ef)180 324 R .142 +(fect when reading from re)-.25 F .142(gular \214les.)-.15 F(If)5.142 E +F2(timeout)2.642 E F0 .142(is 0,)2.642 F F1 -.18(re)180 336 S(ad).18 E +F0 .113(returns success if input is a)2.614 F -.25(va)-.2 G .113 +(ilable on the speci\214ed \214le descriptor).25 F 2.613(,f)-.4 G .113 +(ailure otherwise.)-2.713 F(The e)180 348 Q (xit status is greater than 128 if the timeout is e)-.15 E(xceeded.)-.15 -E F1144 669.6 Q F2(fd)2.5 E F0(Read input from \214le descriptor) -14.46 E F2(fd)2.5 E F0(.)A .192(If no)144 686.4 R F2(names)3.052 E F0 -.192(are supplied, the line read is assigned to the v)2.962 F(ariable) --.25 E F3(REPL)2.691 E(Y)-.828 E/F4 9/Times-Roman@0 SF(.)A F0 .191 -(The return code is zero,)4.691 F 1.343 -(unless end-of-\214le is encountered,)144 698.4 R F1 -.18(re)3.843 G(ad) +E F1144 360 Q F2(fd)2.5 E F0(Read input from \214le descriptor) +14.46 E F2(fd)2.5 E F0(.)A .191(If no)144 376.8 R F2(names)3.051 E F0 +.191(are supplied, the line read is assigned to the v)2.961 F(ariable) +-.25 E/F3 9/Times-Bold@0 SF(REPL)2.692 E(Y)-.828 E/F4 9/Times-Roman@0 SF +(.)A F0 .192(The return code is zero,)4.692 F 1.344 +(unless end-of-\214le is encountered,)144 388.8 R F1 -.18(re)3.844 G(ad) .18 E F0 1.343 -(times out \(in which case the return code is greater than)3.843 F -(128\), or an in)144 710.4 Q -.25(va)-.4 G +(times out \(in which case the return code is greater than)3.844 F +(128\), or an in)144 400.8 Q -.25(va)-.4 G (lid \214le descriptor is supplied as the ar).25 E(gument to)-.18 E F1 -2.5 E F0(.)A(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(60) -195.945 E 0 Cg EP -%%Page: 61 61 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF -.18(re)108 84 S(adonly).18 E F0([)2.5 E F1 -(\255aA)A(pf)-.25 E F0 2.5(][)C/F2 10/Times-Italic@0 SF(name)-2.5 E F0 -([=)A F2(wor)A(d)-.37 E F0 2.5(].)C(..])-2.5 E .77(The gi)144 96 R -.15 -(ve)-.25 G(n).15 E F2(names)3.27 E F0 .77(are mark)3.27 F .77 -(ed readonly; the v)-.1 F .77(alues of these)-.25 F F2(names)3.63 E F0 -.77(may not be changed by subse-)3.54 F 1.096(quent assignment.)144 108 -R 1.096(If the)6.096 F F13.596 E F0 1.097 -(option is supplied, the functions corresponding to the)3.596 F F2 -(names)3.597 E F0 1.097(are so)3.597 F(mark)144 120 Q 3.334(ed. The)-.1 -F F13.334 E F0 .834(option restricts the v)3.334 F .834 +2.5 E F0(.)A F1 -.18(re)108 417.6 S(adonly).18 E F0([)2.5 E F1 +(\255aA)A(pf)-.25 E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(wor)A(d)-.37 E +F0 2.5(].)C(..])-2.5 E .77(The gi)144 429.6 R -.15(ve)-.25 G(n).15 E F2 +(names)3.27 E F0 .77(are mark)3.27 F .77(ed readonly; the v)-.1 F .77 +(alues of these)-.25 F F2(names)3.63 E F0 .77 +(may not be changed by subse-)3.54 F 1.097(quent assignment.)144 441.6 R +1.097(If the)6.097 F F13.597 E F0 1.097 +(option is supplied, the functions corresponding to the)3.597 F F2 +(names)3.596 E F0 1.096(are so)3.596 F(mark)144 453.6 Q 3.334(ed. The) +-.1 F F13.334 E F0 .834(option restricts the v)3.334 F .834 (ariables to inde)-.25 F -.15(xe)-.15 G 3.334(da).15 G .834(rrays; the) -3.334 F F13.334 E F0 .834(option restricts the v)3.334 F(ari-) --.25 E .537(ables to associati)144 132 R .837 -.15(ve a)-.25 H 3.037 +-.25 E .538(ables to associati)144 465.6 R .838 -.15(ve a)-.25 H 3.038 (rrays. If).15 F(no)3.038 E F2(name)3.398 E F0(ar)3.218 E .538 (guments are gi)-.18 F -.15(ve)-.25 G .538(n, or if the).15 F F1 -3.038 E F0 .538(option is supplied, a list)3.038 F .081 -(of all readonly names is printed.)144 144 R(The)5.081 E F12.581 E -F0 .08(option causes output to be displayed in a format that may)2.581 F -1.176(be reused as input.)144 156 R 1.176(If a v)6.176 F 1.176 +3.038 E F0 .537(option is supplied, a list)3.038 F .08 +(of all readonly names is printed.)144 477.6 R(The)5.08 E F12.58 E +F0 .081(option causes output to be displayed in a format that may)2.58 F +1.177(be reused as input.)144 489.6 R 1.177(If a v)6.177 F 1.176 (ariable name is follo)-.25 F 1.176(wed by =)-.25 F F2(wor)A(d)-.37 E F0 -3.676(,t)C 1.176(he v)-3.676 F 1.177(alue of the v)-.25 F 1.177 -(ariable is set to)-.25 F F2(wor)144 168 Q(d)-.37 E F0 6.206(.T)C 1.206 -(he return status is 0 unless an in)-6.206 F -.25(va)-.4 G 1.205 -(lid option is encountered, one of the).25 F F2(names)4.065 E F0 1.205 -(is not a)3.975 F -.25(va)144 180 S(lid shell v).25 E(ariable name, or) --.25 E F12.5 E F0(is supplied with a)2.5 E F2(name)2.86 E F0 -(that is not a function.)2.68 E F1 -.18(re)108 196.8 S(tur).18 E(n)-.15 -E F0([)2.5 E F2(n)A F0(])A .586(Causes a function to e)144 208.8 R .587 -(xit with the return v)-.15 F .587(alue speci\214ed by)-.25 F F2(n)3.087 -E F0 5.587(.I).24 G(f)-5.587 E F2(n)3.447 E F0 .587 -(is omitted, the return status is)3.327 F 1.335 -(that of the last command e)144 220.8 R -.15(xe)-.15 G 1.335 +3.676(,t)C 1.176(he v)-3.676 F 1.176(alue of the v)-.25 F 1.176 +(ariable is set to)-.25 F F2(wor)144 501.6 Q(d)-.37 E F0 6.205(.T)C +1.205(he return status is 0 unless an in)-6.205 F -.25(va)-.4 G 1.206 +(lid option is encountered, one of the).25 F F2(names)4.066 E F0 1.206 +(is not a)3.976 F -.25(va)144 513.6 S(lid shell v).25 E +(ariable name, or)-.25 E F12.5 E F0(is supplied with a)2.5 E F2 +(name)2.86 E F0(that is not a function.)2.68 E F1 -.18(re)108 530.4 S +(tur).18 E(n)-.15 E F0([)2.5 E F2(n)A F0(])A .587 +(Causes a function to e)144 542.4 R .587(xit with the return v)-.15 F +.587(alue speci\214ed by)-.25 F F2(n)3.087 E F0 5.587(.I).24 G(f)-5.587 +E F2(n)3.447 E F0 .586(is omitted, the return status is)3.327 F 1.335 +(that of the last command e)144 554.4 R -.15(xe)-.15 G 1.335 (cuted in the function body).15 F 6.335(.I)-.65 G 3.835(fu)-6.335 G 1.335(sed outside a function, b)-3.835 F 1.335(ut during)-.2 F -.15(exe) -144 232.8 S .794(cution of a script by the).15 F F1(.)3.294 E F0(\() +144 566.4 S .794(cution of a script by the).15 F F1(.)3.294 E F0(\() 5.794 E F1(sour)A(ce)-.18 E F0 3.294(\)c)C .794 -(ommand, it causes the shell to stop e)-3.294 F -.15(xe)-.15 G .795 -(cuting that script).15 F .246(and return either)144 244.8 R F2(n)3.106 -E F0 .246(or the e)2.986 F .246(xit status of the last command e)-.15 F --.15(xe)-.15 G .246(cuted within the script as the e).15 F .245 -(xit sta-)-.15 F .081(tus of the script.)144 256.8 R .082 +(ommand, it causes the shell to stop e)-3.294 F -.15(xe)-.15 G .794 +(cuting that script).15 F .245(and return either)144 578.4 R F2(n)3.105 +E F0 .246(or the e)2.985 F .246(xit status of the last command e)-.15 F +-.15(xe)-.15 G .246(cuted within the script as the e).15 F .246 +(xit sta-)-.15 F .082(tus of the script.)144 590.4 R .082 (If used outside a function and not during e)5.082 F -.15(xe)-.15 G .082 -(cution of a script by).15 F F1(.)2.582 E F0 2.582(,t).833 G .082 -(he return sta-)-2.582 F 2.306(tus is f)144 268.8 R 4.806(alse. An)-.1 F -4.806(yc)-.15 G 2.305(ommand associated with the)-4.806 F F1(RETURN) -4.805 E F0 2.305(trap is e)4.805 F -.15(xe)-.15 G 2.305(cuted before e) +(cution of a script by).15 F F1(.)2.582 E F0 2.581(,t).833 G .081 +(he return sta-)-2.581 F 2.305(tus is f)144 602.4 R 4.805(alse. An)-.1 F +4.805(yc)-.15 G 2.305(ommand associated with the)-4.805 F F1(RETURN) +4.805 E F0 2.306(trap is e)4.806 F -.15(xe)-.15 G 2.306(cuted before e) .15 F -.15(xe)-.15 G(cution).15 E(resumes after the function or script.) -144 280.8 Q F1(set)108 297.6 Q F0([)2.5 E F1 +144 614.4 Q F1(set)108 631.2 Q F0([)2.5 E F1 (\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1-2.5 E F2(option)2.5 -E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E F1(set)108 309.6 Q F0 +E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E F1(set)108 643.2 Q F0 ([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1(+o)-2.5 E F2(option) -2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E -.4(Wi)144 321.6 S -.835(thout options, the name and v).4 F .835(alue of each shell v)-.25 F -.836(ariable are displayed in a format that can be)-.25 F .784 -(reused as input for setting or resetting the currently-set v)144 333.6 -R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .783 -(riables cannot be).25 F 2.946(reset. In)144 345.6 R F2 .447(posix mode) -2.946 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447 +2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E -.4(Wi)144 655.2 S +.836(thout options, the name and v).4 F .835(alue of each shell v)-.25 F +.835(ariable are displayed in a format that can be)-.25 F .784 +(reused as input for setting or resetting the currently-set v)144 667.2 +R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .784 +(riables cannot be).25 F 2.947(reset. In)144 679.2 R F2 .447(posix mode) +2.947 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447 (ariables are listed.)-.25 F .447 -(The output is sorted according to the current)5.447 F 3.531 -(locale. When)144 357.6 R 1.031(options are speci\214ed, the)3.531 F -3.531(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.53(utes. An) --.2 F 3.53(ya)-.15 G -.18(rg)-3.53 G 1.03(uments remaining).18 F 1.623 -(after option processing are treated as v)144 369.6 R 1.624 +(The output is sorted according to the current)5.447 F 3.53 +(locale. When)144 691.2 R 1.031(options are speci\214ed, the)3.53 F +3.531(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.531(utes. An) +-.2 F 3.531(ya)-.15 G -.18(rg)-3.531 G 1.031(uments remaining).18 F +1.624(after option processing are treated as v)144 703.2 R 1.623 (alues for the positional parameters and are assigned, in)-.25 F(order) -144 381.6 Q 2.5(,t)-.4 G(o)-2.5 E F1($1)2.5 E F0(,)A F1($2)2.5 E F0(,)A +144 715.2 Q 2.5(,t)-.4 G(o)-2.5 E F1($1)2.5 E F0(,)A F1($2)2.5 E F0(,)A F1 2.5(... $)2.5 F F2(n)A F0 5(.O)C(ptions, if speci\214ed, ha)-5 E .3 --.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1144 393.6 Q -F0 .54(Automatically mark v)29.3 F .539 -(ariables and functions which are modi\214ed or created for e)-.25 F -.539(xport to)-.15 F(the en)184 405.6 Q -(vironment of subsequent commands.)-.4 E F1144 417.6 Q F0 .131 +-.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E(GNU Bash-4.1)72 768 +Q(2010 May 30)147.345 E(61)197.335 E 0 Cg EP +%%Page: 62 62 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF144 84 Q F0 .539(Automatically mark v) +29.3 F .539 +(ariables and functions which are modi\214ed or created for e)-.25 F .54 +(xport to)-.15 F(the en)184 96 Q(vironment of subsequent commands.)-.4 E +F1144 108 Q F0 .132 (Report the status of terminated background jobs immediately)28.74 F -2.632(,r)-.65 G .132(ather than before the ne)-2.632 F(xt)-.15 E -(primary prompt.)184 429.6 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o) --.25 H(nly when job control is enabled.).15 E F1144 441.6 Q F0 -.511(Exit immediately if a)29.86 F F2(pipeline)3.011 E F0 .511 -(\(which may consist of a single)3.011 F F2 .51(simple command)3.01 F F0 -3.01(\), a)B F2(sub-)3.01 E(shell)184 453.6 Q F0 .872 -(command enclosed in parentheses, or one of the commands e)3.372 F -.15 +2.632(,r)-.65 G .131(ather than before the ne)-2.632 F(xt)-.15 E +(primary prompt.)184 120 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)-.25 +H(nly when job control is enabled.).15 E F1144 132 Q F0 .51 +(Exit immediately if a)29.86 F/F2 10/Times-Italic@0 SF(pipeline)3.01 E +F0 .511(\(which may consist of a single)3.011 F F2 .511(simple command) +3.011 F F0 3.011(\), a)B F2(sub-)3.011 E(shell)184 144 Q F0 .872 +(command enclosed in parentheses, or one of the commands e)3.373 F -.15 (xe)-.15 G .872(cuted as part of a).15 F .399 -(command list enclosed by braces \(see)184 465.6 R/F3 9/Times-Bold@0 SF +(command list enclosed by braces \(see)184 156 R/F3 9/Times-Bold@0 SF .399(SHELL GRAMMAR)2.899 F F0(abo)2.649 E -.15(ve)-.15 G 2.899(\)e).15 G -.399(xits with a non-zero)-3.049 F 3.968(status. The)184 477.6 R 1.468 -(shell does not e)3.968 F 1.468(xit if the command that f)-.15 F 1.468 -(ails is part of the command list)-.1 F .57(immediately follo)184 489.6 -R .57(wing a)-.25 F F1(while)3.07 E F0(or)3.07 E F1(until)3.07 E F0 -.1 -(ke)3.069 G(yw)-.05 E .569(ord, part of the test follo)-.1 F .569 -(wing the)-.25 F F1(if)3.069 E F0(or)3.069 E F1(elif)3.069 E F0(reserv) -184 501.6 Q .544(ed w)-.15 F .544(ords, part of an)-.1 F 3.044(yc)-.15 G -.544(ommand e)-3.044 F -.15(xe)-.15 G .544(cuted in a).15 F F1(&&)3.044 -E F0(or)3.044 E/F4 10/Symbol SF3.044 E F0 .544(list e)3.044 F .544 -(xcept the command)-.15 F(follo)184 513.6 Q 1.231(wing the \214nal)-.25 -F F1(&&)3.731 E F0(or)3.731 E F43.731 E F0 3.731(,a)C 1.531 -.15 -(ny c)-3.731 H 1.231(ommand in a pipeline b).15 F 1.23 -(ut the last, or if the com-)-.2 F(mand')184 525.6 Q 3.19(sr)-.55 G .69 -(eturn v)-3.19 F .69(alue is being in)-.25 F -.15(ve)-.4 G .69 +.399(xits with a non-zero)-3.049 F 3.969(status. The)184 168 R 1.468 +(shell does not e)3.969 F 1.468(xit if the command that f)-.15 F 1.468 +(ails is part of the command list)-.1 F .569(immediately follo)184 180 R +.569(wing a)-.25 F F1(while)3.069 E F0(or)3.069 E F1(until)3.069 E F0 +-.1(ke)3.069 G(yw)-.05 E .569(ord, part of the test follo)-.1 F .57 +(wing the)-.25 F F1(if)3.07 E F0(or)3.07 E F1(elif)3.07 E F0(reserv)184 +192 Q .544(ed w)-.15 F .544(ords, part of an)-.1 F 3.044(yc)-.15 G .544 +(ommand e)-3.044 F -.15(xe)-.15 G .544(cuted in a).15 F F1(&&)3.044 E F0 +(or)3.044 E/F4 10/Symbol SF3.044 E F0 .544(list e)3.044 F .544 +(xcept the command)-.15 F(follo)184 204 Q 1.23(wing the \214nal)-.25 F +F1(&&)3.73 E F0(or)3.73 E F43.73 E F0 3.73(,a)C 1.53 -.15(ny c) +-3.73 H 1.231(ommand in a pipeline b).15 F 1.231 +(ut the last, or if the com-)-.2 F(mand')184 216 Q 3.191(sr)-.55 G .691 +(eturn v)-3.191 F .691(alue is being in)-.25 F -.15(ve)-.4 G .691 (rted with).15 F F1(!)3.191 E F0 5.691(.A)C .691(trap on)-2.5 F F1(ERR) -3.191 E F0 3.191(,i)C 3.191(fs)-3.191 G .691(et, is e)-3.191 F -.15(xe) --.15 G .691(cuted before).15 F .687(the shell e)184 537.6 R 3.186 -(xits. This)-.15 F .686(option applies to the shell en)3.186 F .686 +3.19 E F0 3.19(,i)C 3.19(fs)-3.19 G .69(et, is e)-3.19 F -.15(xe)-.15 G +.69(cuted before).15 F .686(the shell e)184 228 R 3.186(xits. This)-.15 +F .686(option applies to the shell en)3.186 F .686 (vironment and each subshell en)-.4 F(viron-)-.4 E .068 -(ment separately \(see)184 549.6 R F3 .068(COMMAND EXECUTION ENVIR)2.568 -F(ONMENT)-.27 E F0(abo)2.318 E -.15(ve)-.15 G .068(\), and may cause).15 -F(subshells to e)184 561.6 Q(xit before e)-.15 E -.15(xe)-.15 G -(cuting all the commands in the subshell.).15 E F1144 573.6 Q F0 -(Disable pathname e)30.97 E(xpansion.)-.15 E F1144 585.6 Q F0 -2.239(Remember the location of commands as the)28.74 F 4.738(ya)-.15 G -2.238(re look)-4.738 F 2.238(ed up for e)-.1 F -.15(xe)-.15 G 4.738 -(cution. This).15 F(is)4.738 E(enabled by def)184 597.6 Q(ault.)-.1 E F1 -144 609.6 Q F0 .513(All ar)28.74 F .514 +(ment separately \(see)184 240 R F3 .068(COMMAND EXECUTION ENVIR)2.568 F +(ONMENT)-.27 E F0(abo)2.318 E -.15(ve)-.15 G .068(\), and may cause).15 +F(subshells to e)184 252 Q(xit before e)-.15 E -.15(xe)-.15 G +(cuting all the commands in the subshell.).15 E F1144 264 Q F0 +(Disable pathname e)30.97 E(xpansion.)-.15 E F1144 276 Q F0 2.238 +(Remember the location of commands as the)28.74 F 4.738(ya)-.15 G 2.239 +(re look)-4.738 F 2.239(ed up for e)-.1 F -.15(xe)-.15 G 4.739 +(cution. This).15 F(is)4.739 E(enabled by def)184 288 Q(ault.)-.1 E F1 +144 300 Q F0 .514(All ar)28.74 F .514 (guments in the form of assignment statements are placed in the en)-.18 -F .514(vironment for a)-.4 F -(command, not just those that precede the command name.)184 621.6 Q F1 -144 633.6 Q F0 .149(Monitor mode.)25.97 F .149 -(Job control is enabled.)5.149 F .148(This option is on by def)5.149 F -.148(ault for interacti)-.1 F .448 -.15(ve s)-.25 H(hells).15 E .636 -(on systems that support it \(see)184 645.6 R F3 .636(JOB CONTR)3.136 F -(OL)-.27 E F0(abo)2.886 E -.15(ve)-.15 G 3.136(\). Background).15 F .637 -(processes run in a)3.136 F .642 -(separate process group and a line containing their e)184 657.6 R .641 -(xit status is printed upon their com-)-.15 F(pletion.)184 669.6 Q F1 -144 681.6 Q F0 .652(Read commands b)28.74 F .652(ut do not e)-.2 F --.15(xe)-.15 G .652(cute them.).15 F .653 -(This may be used to check a shell script for)5.652 F(syntax errors.)184 -693.6 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15 -E F1144 705.6 Q F2(option\255name)2.5 E F0(The)184 717.6 Q F2 -(option\255name)2.5 E F0(can be one of the follo)2.5 E(wing:)-.25 E -(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(61)195.945 E 0 Cg EP -%%Page: 62 62 +F .513(vironment for a)-.4 F +(command, not just those that precede the command name.)184 312 Q F1 +144 324 Q F0 .148(Monitor mode.)25.97 F .148 +(Job control is enabled.)5.148 F .149(This option is on by def)5.148 F +.149(ault for interacti)-.1 F .449 -.15(ve s)-.25 H(hells).15 E .637 +(on systems that support it \(see)184 336 R F3 .636(JOB CONTR)3.136 F +(OL)-.27 E F0(abo)2.886 E -.15(ve)-.15 G 3.136(\). Background).15 F .636 +(processes run in a)3.136 F .641 +(separate process group and a line containing their e)184 348 R .642 +(xit status is printed upon their com-)-.15 F(pletion.)184 360 Q F1 +144 372 Q F0 .653(Read commands b)28.74 F .653(ut do not e)-.2 F +-.15(xe)-.15 G .653(cute them.).15 F .652 +(This may be used to check a shell script for)5.653 F(syntax errors.)184 +384 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15 E +F1144 396 Q F2(option\255name)2.5 E F0(The)184 408 Q F2 +(option\255name)2.5 E F0(can be one of the follo)2.5 E(wing:)-.25 E F1 +(allexport)184 420 Q F0(Same as)224 432 Q F12.5 E F0(.)A F1 +(braceexpand)184 444 Q F0(Same as)224 456 Q F12.5 E F0(.)A F1 +(emacs)184 468 Q F0 .089(Use an emacs-style command line editing interf) +13.9 F 2.589(ace. This)-.1 F .089(is enabled by def)2.589 F(ault)-.1 E +.95(when the shell is interacti)224 480 R -.15(ve)-.25 G 3.45(,u).15 G +.95(nless the shell is started with the)-3.45 F F1(\255\255noediting) +3.45 E F0 2.5(option. This)224 492 R(also af)2.5 E +(fects the editing interf)-.25 E(ace used for)-.1 E F1 -.18(re)2.5 G +(ad \255e).18 E F0(.)A F1(err)184 504 Q(exit)-.18 E F0(Same as)11.31 E +F12.5 E F0(.)A F1(errtrace)184 516 Q F0(Same as)5.03 E F12.5 +E F0(.)A F1(functrace)184 528 Q F0(Same as)224 540 Q F12.5 E F0(.) +A F1(hashall)184 552 Q F0(Same as)9.43 E F12.5 E F0(.)A F1 +(histexpand)184 564 Q F0(Same as)224 576 Q F12.5 E F0(.)A F1 +(history)184 588 Q F0 .586(Enable command history)10 F 3.087(,a)-.65 G +3.087(sd)-3.087 G .587(escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder) +.15 E F3(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F5 9/Times-Roman@0 SF(.)A F0 +.587(This option is)5.087 F(on by def)224 600 Q(ault in interacti)-.1 E +.3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184 612 Q(eeof)-.18 E F0 1.657 +(The ef)224 624 R 1.657(fect is as if the shell command)-.25 F/F6 10 +/Courier@0 SF(IGNOREEOF=10)4.156 E F0 1.656(had been e)4.156 F -.15(xe) +-.15 G(cuted).15 E(\(see)224 636 Q F1(Shell V)2.5 E(ariables)-.92 E F0 +(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1 -.1(ke)184 648 S(yw).1 E(ord)-.1 +E F0(Same as)224 660 Q F12.5 E F0(.)A F1(monitor)184 672 Q F0 +(Same as)5.56 E F12.5 E F0(.)A F1(noclob)184 684 Q(ber)-.1 E F0 +(Same as)224 696 Q F12.5 E F0(.)A F1(noexec)184 708 Q F0(Same as) +11.12 E F12.5 E F0(.)A(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E +(62)197.335 E 0 Cg EP +%%Page: 63 63 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(allexport)184 84 Q F0(Same as)224 96 Q F1 -2.5 E F0(.)A F1(braceexpand)184 108 Q F0(Same as)224 120 Q F1 -2.5 E F0(.)A F1(emacs)184 132 Q F0 .089 -(Use an emacs-style command line editing interf)13.9 F 2.589(ace. This) --.1 F .089(is enabled by def)2.589 F(ault)-.1 E .95 -(when the shell is interacti)224 144 R -.15(ve)-.25 G 3.45(,u).15 G .95 -(nless the shell is started with the)-3.45 F F1(\255\255noediting)3.45 E -F0 2.5(option. This)224 156 R(also af)2.5 E(fects the editing interf) --.25 E(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1(err) -184 168 Q(exit)-.18 E F0(Same as)11.31 E F12.5 E F0(.)A F1 -(errtrace)184 180 Q F0(Same as)5.03 E F12.5 E F0(.)A F1(functrace) -184 192 Q F0(Same as)224 204 Q F12.5 E F0(.)A F1(hashall)184 216 Q -F0(Same as)9.43 E F12.5 E F0(.)A F1(histexpand)184 228 Q F0 -(Same as)224 240 Q F12.5 E F0(.)A F1(history)184 252 Q F0 .587 -(Enable command history)10 F 3.087(,a)-.65 G 3.087(sd)-3.087 G .587 -(escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder).15 E/F2 9 -/Times-Bold@0 SF(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F3 9/Times-Roman@0 SF -(.)A F0 .587(This option is)5.087 F(on by def)224 264 Q -(ault in interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184 -276 Q(eeof)-.18 E F0 1.656(The ef)224 288 R 1.656 -(fect is as if the shell command)-.25 F/F4 10/Courier@0 SF(IGNOREEOF=10) -4.157 E F0 1.657(had been e)4.157 F -.15(xe)-.15 G(cuted).15 E(\(see)224 -300 Q F1(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15(ve)-.15 G(\).) -.15 E F1 -.1(ke)184 312 S(yw).1 E(ord)-.1 E F0(Same as)224 324 Q F1 -2.5 E F0(.)A F1(monitor)184 336 Q F0(Same as)5.56 E F12.5 E -F0(.)A F1(noclob)184 348 Q(ber)-.1 E F0(Same as)224 360 Q F12.5 E -F0(.)A F1(noexec)184 372 Q F0(Same as)11.12 E F12.5 E F0(.)A F1 -(noglob)184 384 Q F0(Same as)11.1 E F12.5 E F0(.)A F1(nolog)184 -396 Q F0(Currently ignored.)16.66 E F1(notify)184 408 Q F0(Same as)15 E -F12.5 E F0(.)A F1(nounset)184 420 Q F0(Same as)6.66 E F12.5 -E F0(.)A F1(onecmd)184 432 Q F0(Same as)6.67 E F12.5 E F0(.)A F1 -(ph)184 444 Q(ysical)-.15 E F0(Same as)5.14 E F12.5 E F0(.)A F1 -(pipefail)184 456 Q F0 1.03(If set, the return v)7.77 F 1.029 -(alue of a pipeline is the v)-.25 F 1.029 -(alue of the last \(rightmost\) com-)-.25 F 1.136(mand to e)224 468 R -1.136 +-.35 E/F1 10/Times-Bold@0 SF(noglob)184 84 Q F0(Same as)11.1 E F1 +2.5 E F0(.)A F1(nolog)184 96 Q F0(Currently ignored.)16.66 E F1(notify) +184 108 Q F0(Same as)15 E F12.5 E F0(.)A F1(nounset)184 120 Q F0 +(Same as)6.66 E F12.5 E F0(.)A F1(onecmd)184 132 Q F0(Same as)6.67 +E F12.5 E F0(.)A F1(ph)184 144 Q(ysical)-.15 E F0(Same as)5.14 E +F12.5 E F0(.)A F1(pipefail)184 156 Q F0 1.029 +(If set, the return v)7.77 F 1.029(alue of a pipeline is the v)-.25 F +1.03(alue of the last \(rightmost\) com-)-.25 F 1.137(mand to e)224 168 +R 1.136 (xit with a non-zero status, or zero if all commands in the pipeline) --.15 F -.15(ex)224 480 S(it successfully).15 E 5(.T)-.65 G -(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 492 Q F0 -2.091(Change the beha)17.77 F 2.091(vior of)-.2 F F1(bash)4.591 E F0 +-.15 F -.15(ex)224 180 S(it successfully).15 E 5(.T)-.65 G +(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 192 Q F0 +2.09(Change the beha)17.77 F 2.091(vior of)-.2 F F1(bash)4.591 E F0 2.091(where the def)4.591 F 2.091(ault operation dif)-.1 F 2.091 -(fers from the)-.25 F(POSIX standard to match the standard \()224 504 Q -/F5 10/Times-Italic@0 SF(posix mode)A F0(\).)A F1(pri)184 516 Q(vileged) --.1 E F0(Same as)224 528 Q F12.5 E F0(.)A F1 -.1(ve)184 540 S -(rbose).1 E F0(Same as)7.33 E F12.5 E F0(.)A F1(vi)184 552 Q F0 -1.465(Use a vi-style command line editing interf)32.22 F 3.966 -(ace. This)-.1 F 1.466(also af)3.966 F 1.466(fects the editing)-.25 F -(interf)224 564 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0 -(.)A F1(xtrace)184 576 Q F0(Same as)13.35 E F12.5 E F0(.)A(If)184 -594 Q F13.053 E F0 .553(is supplied with no)3.053 F F5 -(option\255name)3.053 E F0 3.053(,t)C .553(he v)-3.053 F .552 -(alues of the current options are printed.)-.25 F(If)5.552 E F1(+o)184 -606 Q F0 1.071(is supplied with no)3.571 F F5(option\255name)3.571 E F0 -3.571(,as)C 1.071(eries of)-3.571 F F1(set)3.572 E F0 1.072 -(commands to recreate the current)3.572 F -(option settings is displayed on the standard output.)184 618 Q F1 -144 630 Q F0 -.45(Tu)28.74 G 1.072(rn on).45 F F5(privile)4.822 E -.1 -(ge)-.4 G(d).1 E F0 3.572(mode. In)4.342 F 1.072(this mode, the)3.572 F -F2($ENV)3.572 E F0(and)3.322 E F2($B)3.572 E(ASH_ENV)-.27 E F0 1.071 -(\214les are not pro-)3.322 F 1.5 -(cessed, shell functions are not inherited from the en)184 642 R 1.501 -(vironment, and the)-.4 F F2(SHELLOPTS)4.001 E F3(,)A F2 -.27(BA)184 654 -S(SHOPTS).27 E F3(,)A F2(CDP)2.775 E -.855(AT)-.666 G(H).855 E F3(,)A F0 -(and)2.775 E F2(GLOBIGNORE)3.025 E F0 -.25(va)2.775 G .524 -(riables, if the).25 F 3.024(ya)-.15 G .524(ppear in the en)-3.024 F -(vironment,)-.4 E .379(are ignored.)184 666 R .379 -(If the shell is started with the ef)5.379 F(fecti)-.25 E .679 -.15 -(ve u)-.25 H .38(ser \(group\) id not equal to the real).15 F .462 -(user \(group\) id, and the)184 678 R F12.961 E F0 .461 -(option is not supplied, these actions are tak)2.961 F .461 -(en and the ef)-.1 F(fec-)-.25 E(ti)184 690 Q .694 -.15(ve u)-.25 H .394 +(fers from the)-.25 F(POSIX standard to match the standard \()224 204 Q +/F2 10/Times-Italic@0 SF(posix mode)A F0(\).)A F1(pri)184 216 Q(vileged) +-.1 E F0(Same as)224 228 Q F12.5 E F0(.)A F1 -.1(ve)184 240 S +(rbose).1 E F0(Same as)7.33 E F12.5 E F0(.)A F1(vi)184 252 Q F0 +1.466(Use a vi-style command line editing interf)32.22 F 3.965 +(ace. This)-.1 F 1.465(also af)3.965 F 1.465(fects the editing)-.25 F +(interf)224 264 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0 +(.)A F1(xtrace)184 276 Q F0(Same as)13.35 E F12.5 E F0(.)A(If)184 +294 Q F13.052 E F0 .552(is supplied with no)3.052 F F2 +(option\255name)3.053 E F0 3.053(,t)C .553(he v)-3.053 F .553 +(alues of the current options are printed.)-.25 F(If)5.553 E F1(+o)184 +306 Q F0 1.072(is supplied with no)3.572 F F2(option\255name)3.572 E F0 +3.572(,a)C 1.071(series of)-.001 F F1(set)3.571 E F0 1.071 +(commands to recreate the current)3.571 F +(option settings is displayed on the standard output.)184 318 Q F1 +144 330 Q F0 -.45(Tu)28.74 G 1.071(rn on).45 F F2(privile)4.821 E -.1 +(ge)-.4 G(d).1 E F0 3.572(mode. In)4.341 F 1.072(this mode, the)3.572 F +/F3 9/Times-Bold@0 SF($ENV)3.572 E F0(and)3.322 E F3($B)3.572 E(ASH_ENV) +-.27 E F0 1.072(\214les are not pro-)3.322 F 1.501 +(cessed, shell functions are not inherited from the en)184 342 R 1.5 +(vironment, and the)-.4 F F3(SHELLOPTS)4 E/F4 9/Times-Roman@0 SF(,)A F3 +-.27(BA)184 354 S(SHOPTS).27 E F4(,)A F3(CDP)2.774 E -.855(AT)-.666 G(H) +.855 E F4(,)A F0(and)2.774 E F3(GLOBIGNORE)3.024 E F0 -.25(va)2.774 G +.524(riables, if the).25 F 3.025(ya)-.15 G .525(ppear in the en)-3.025 F +(vironment,)-.4 E .38(are ignored.)184 366 R .38 +(If the shell is started with the ef)5.38 F(fecti)-.25 E .679 -.15(ve u) +-.25 H .379(ser \(group\) id not equal to the real).15 F .461 +(user \(group\) id, and the)184 378 R F12.961 E F0 .461 +(option is not supplied, these actions are tak)2.961 F .462 +(en and the ef)-.1 F(fec-)-.25 E(ti)184 390 Q .695 -.15(ve u)-.25 H .395 (ser id is set to the real user id.).15 F .395(If the)5.395 F F1 -2.895 E F0 .395(option is supplied at startup, the ef)2.895 F(fecti)-.25 -E -.15(ve)-.25 G .387(user id is not reset.)184 702 R -.45(Tu)5.387 G -.387(rning this option of).45 F 2.886(fc)-.25 G .386(auses the ef)-2.886 -F(fecti)-.25 E .686 -.15(ve u)-.25 H .386(ser and group ids to be).15 F -(set to the real user and group ids.)184 714 Q(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(62)195.945 E 0 Cg EP -%%Page: 63 63 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF144 84 Q F0(Exit after reading and e) -30.97 E -.15(xe)-.15 G(cuting one command.).15 E F1144 96 Q F0 --.35(Tr)28.74 G .043(eat unset v).35 F .044(ariables and parameters oth\ -er than the special parameters "@" and "*" as an)-.25 F .183 -(error when performing parameter e)184 108 R 2.683(xpansion. If)-.15 F --.15(ex)2.683 G .182(pansion is attempted on an unset v).15 F(ari-)-.25 -E .746(able or parameter)184 120 R 3.246(,t)-.4 G .746 +2.895 E F0 .394(option is supplied at startup, the ef)2.895 F(fecti)-.25 +E -.15(ve)-.25 G .386(user id is not reset.)184 402 R -.45(Tu)5.386 G +.386(rning this option of).45 F 2.886(fc)-.25 G .387(auses the ef)-2.886 +F(fecti)-.25 E .687 -.15(ve u)-.25 H .387(ser and group ids to be).15 F +(set to the real user and group ids.)184 414 Q F1144 426 Q F0 +(Exit after reading and e)30.97 E -.15(xe)-.15 G(cuting one command.).15 +E F1144 438 Q F0 -.35(Tr)28.74 G .044(eat unset v).35 F .044(aria\ +bles and parameters other than the special parameters "@" and "*" as an) +-.25 F .182(error when performing parameter e)184 450 R 2.682 +(xpansion. If)-.15 F -.15(ex)2.682 G .183 +(pansion is attempted on an unset v).15 F(ari-)-.25 E .746 +(able or parameter)184 462 R 3.246(,t)-.4 G .746 (he shell prints an error message, and, if not interacti)-3.246 F -.15 (ve)-.25 G 3.246(,e).15 G .746(xits with a)-3.396 F(non-zero status.)184 -132 Q F1144 144 Q F0(Print shell input lines as the)29.3 E 2.5(ya) --.15 G(re read.)-2.5 E F1144 156 Q F0 .315(After e)29.3 F .315 -(xpanding each)-.15 F/F2 10/Times-Italic@0 SF .315(simple command)2.815 -F F0(,)A F1 -.25(fo)2.815 G(r).25 E F0(command,)2.815 E F1(case)2.815 E -F0(command,)2.815 E F1(select)2.815 E F0(command,)2.815 E 1.235 -(or arithmetic)184 168 R F1 -.25(fo)3.736 G(r).25 E F0 1.236 -(command, display the e)3.736 F 1.236(xpanded v)-.15 F 1.236(alue of) --.25 F/F3 9/Times-Bold@0 SF(PS4)3.736 E/F4 9/Times-Roman@0 SF(,)A F0 -(follo)3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 180 Q +474 Q F1144 486 Q F0(Print shell input lines as the)29.3 E 2.5(ya) +-.15 G(re read.)-2.5 E F1144 498 Q F0 .315(After e)29.3 F .315 +(xpanding each)-.15 F F2 .315(simple command)2.815 F F0(,)A F1 -.25(fo) +2.815 G(r).25 E F0(command,)2.815 E F1(case)2.815 E F0(command,)2.815 E +F1(select)2.815 E F0(command,)2.815 E 1.236(or arithmetic)184 510 R F1 +-.25(fo)3.736 G(r).25 E F0 1.236(command, display the e)3.736 F 1.236 +(xpanded v)-.15 F 1.236(alue of)-.25 F F3(PS4)3.736 E F4(,)A F0(follo) +3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 522 Q (xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E F1 -144 192 Q F0 2.579(The shell performs brace e)27.63 F 2.578 +144 534 Q F0 2.578(The shell performs brace e)27.63 F 2.578 (xpansion \(see)-.15 F F1 2.578(Brace Expansion)5.078 F F0(abo)5.078 E --.15(ve)-.15 G 5.078(\). This).15 F 2.578(is on by)5.078 F(def)184 204 Q -(ault.)-.1 E F1144 216 Q F0 .213(If set,)27.08 F F1(bash)2.713 E -F0 .213(does not o)2.713 F -.15(ve)-.15 G .214(rwrite an e).15 F .214 +-.15(ve)-.15 G 5.079(\). This).15 F 2.579(is on by)5.079 F(def)184 546 Q +(ault.)-.1 E F1144 558 Q F0 .214(If set,)27.08 F F1(bash)2.714 E +F0 .214(does not o)2.714 F -.15(ve)-.15 G .214(rwrite an e).15 F .214 (xisting \214le with the)-.15 F F1(>)2.714 E F0(,)A F1(>&)2.714 E F0 -2.714(,a)C(nd)-2.714 E F1(<>)2.714 E F0 .214(redirection opera-)2.714 F -3.054(tors. This)184 228 R .553(may be o)3.053 F -.15(ve)-.15 G .553 +2.713(,a)C(nd)-2.713 E F1(<>)2.713 E F0 .213(redirection opera-)2.713 F +3.053(tors. This)184 570 R .553(may be o)3.053 F -.15(ve)-.15 G .553 (rridden when creating output \214les by using the redirection opera-) -.15 F(tor)184 240 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1 -144 252 Q F0 .103(If set, an)27.63 F 2.603(yt)-.15 G .103(rap on) --2.603 F F1(ERR)2.603 E F0 .104 -(is inherited by shell functions, command substitutions, and com-)2.603 -F .839(mands e)184 264 R -.15(xe)-.15 G .839(cuted in a subshell en).15 -F 3.339(vironment. The)-.4 F F1(ERR)3.338 E F0 .838 -(trap is normally not inherited in)3.338 F(such cases.)184 276 Q F1 -144 288 Q F0(Enable)26.52 E F1(!)3.031 E F0 .531 -(style history substitution.)5.531 F .531(This option is on by def)5.531 -F .532(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 300 Q -.15 -(ve)-.25 G(.).15 E F1144 312 Q F0 1.165 +.15 F(tor)184 582 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1 +144 594 Q F0 .104(If set, an)27.63 F 2.604(yt)-.15 G .104(rap on) +-2.604 F F1(ERR)2.604 E F0 .103 +(is inherited by shell functions, command substitutions, and com-)2.604 +F .838(mands e)184 606 R -.15(xe)-.15 G .838(cuted in a subshell en).15 +F 3.338(vironment. The)-.4 F F1(ERR)3.338 E F0 .839 +(trap is normally not inherited in)3.339 F(such cases.)184 618 Q F1 +144 630 Q F0(Enable)26.52 E F1(!)3.032 E F0 .532 +(style history substitution.)5.532 F .531(This option is on by def)5.532 +F .531(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 642 Q -.15 +(ve)-.25 G(.).15 E F1144 654 Q F0 1.164 (If set, the shell does not follo)28.19 F 3.664(ws)-.25 G 1.164 -(ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.164 -(cuting commands such as).15 F F1(cd)3.664 E F0 2.821 -(that change the current w)184 324 R 2.822(orking directory)-.1 F 7.822 -(.I)-.65 G 5.322(tu)-7.822 G 2.822(ses the ph)-5.322 F 2.822 -(ysical directory structure)-.05 F 2.686(instead. By)184 336 R(def)2.686 +(ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.165 +(cuting commands such as).15 F F1(cd)3.665 E F0 2.822 +(that change the current w)184 666 R 2.822(orking directory)-.1 F 7.822 +(.I)-.65 G 5.322(tu)-7.822 G 2.822(ses the ph)-5.322 F 2.821 +(ysical directory structure)-.05 F 2.685(instead. By)184 678 R(def)2.685 E(ault,)-.1 E F1(bash)2.686 E F0(follo)2.686 E .186 (ws the logical chain of directories when performing com-)-.25 F -(mands which change the current directory)184 348 Q(.)-.65 E F1144 -360 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G .89(raps on)-3.39 F F1 +(mands which change the current directory)184 690 Q(.)-.65 E F1144 +702 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G .89(raps on)-3.39 F F1 (DEB)3.39 E(UG)-.1 E F0(and)3.39 E F1(RETURN)3.39 E F0 .89 (are inherited by shell functions, command)3.39 F 1.932 -(substitutions, and commands e)184 372 R -.15(xe)-.15 G 1.932 +(substitutions, and commands e)184 714 R -.15(xe)-.15 G 1.932 (cuted in a subshell en).15 F 4.432(vironment. The)-.4 F F1(DEB)4.432 E -(UG)-.1 E F0(and)4.432 E F1(RETURN)184 384 Q F0 -(traps are normally not inherited in such cases.)2.5 E F1144 396 Q -F0 .4(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401 +(UG)-.1 E F0(and)4.432 E F1(RETURN)184 726 Q F0 +(traps are normally not inherited in such cases.)2.5 E(GNU Bash-4.1)72 +768 Q(2010 May 30)147.345 E(63)197.335 E 0 Cg EP +%%Page: 64 64 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF144 84 Q F0 .401(If no ar)28.6 F .401 +(guments follo)-.18 F 2.901(wt)-.25 G .401 (his option, then the positional parameters are unset.)-2.901 F -(Otherwise,)5.401 E(the positional parameters are set to the)184 408 Q -F2(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5(ni).15 G 2.5(fs)-2.5 G -(ome of them be)-2.5 E(gin with a)-.15 E F12.5 E F0(.)A F1144 -420 Q F0 1.945(Signal the end of options, cause all remaining)34.3 F F2 -(ar)4.444 E(g)-.37 E F0 4.444(st)C 4.444(ob)-4.444 G 4.444(ea)-4.444 G -1.944(ssigned to the positional)-4.444 F 3.445(parameters. The)184 432 R -F13.445 E F0(and)3.445 E F13.445 E F0 .945 -(options are turned of)3.445 F 3.445(f. If)-.25 F .946(there are no) -3.445 F F2(ar)3.446 E(g)-.37 E F0 .946(s, the positional)B -(parameters remain unchanged.)184 444 Q .425(The options are of)144 -460.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425 +(Otherwise,)5.4 E(the positional parameters are set to the)184 96 Q/F2 +10/Times-Italic@0 SF(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5(ni) +.15 G 2.5(fs)-2.5 G(ome of them be)-2.5 E(gin with a)-.15 E F12.5 E +F0(.)A F1144 108 Q F0 1.944 +(Signal the end of options, cause all remaining)34.3 F F2(ar)4.444 E(g) +-.37 E F0 4.444(st)C 4.444(ob)-4.444 G 4.445(ea)-4.444 G 1.945 +(ssigned to the positional)-4.445 F 3.446(parameters. The)184 120 R F1 +3.446 E F0(and)3.446 E F13.446 E F0 .945 +(options are turned of)3.446 F 3.445(f. If)-.25 F .945(there are no) +3.445 F F2(ar)3.445 E(g)-.37 E F0 .945(s, the positional)B +(parameters remain unchanged.)184 132 Q .425(The options are of)144 +148.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425 (ault unless otherwise noted.)-.1 F .425 -(Using + rather than \255 causes these options)5.425 F .177 -(to be turned of)144 472.8 R 2.677(f. The)-.25 F .178 +(Using + rather than \255 causes these options)5.425 F .178 +(to be turned of)144 160.8 R 2.678(f. The)-.25 F .178 (options can also be speci\214ed as ar)2.678 F .178(guments to an in) --.18 F -.2(vo)-.4 G .178(cation of the shell.).2 F(The)5.178 E .066 -(current set of options may be found in)144 484.8 R F1<24ad>2.566 E F0 +-.18 F -.2(vo)-.4 G .177(cation of the shell.).2 F(The)5.177 E .066 +(current set of options may be found in)144 172.8 R F1<24ad>2.566 E F0 5.066(.T)C .066(he return status is al)-5.066 F -.1(wa)-.1 G .066 -(ys true unless an in).1 F -.25(va)-.4 G .066(lid option).25 F -(is encountered.)144 496.8 Q F1(shift)108 513.6 Q F0([)2.5 E F2(n)A F0 -(])A .428(The positional parameters from)144 525.6 R F2(n)2.928 E F0 -.429(+1 ... are renamed to)B F1 .429($1 ....)2.929 F F0 -.15(Pa)5.429 G -.429(rameters represented by the num-).15 F(bers)144 537.6 Q F1($#)2.583 -E F0(do)2.583 E .083(wn to)-.25 F F1($#)2.583 E F0A F2(n)A F0 .083 -(+1 are unset.)B F2(n)5.443 E F0 .083(must be a non-ne)2.823 F -.05(ga) --.15 G(ti).05 E .382 -.15(ve n)-.25 H .082(umber less than or equal to) -.15 F F1($#)2.582 E F0 5.082(.I)C(f)-5.082 E F2(n)2.942 E F0 .06 -(is 0, no parameters are changed.)144 549.6 R(If)5.06 E F2(n)2.92 E F0 +(ys true unless an in).1 F -.25(va)-.4 G .067(lid option).25 F +(is encountered.)144 184.8 Q F1(shift)108 201.6 Q F0([)2.5 E F2(n)A F0 +(])A .429(The positional parameters from)144 213.6 R F2(n)2.929 E F0 +.429(+1 ... are renamed to)B F1 .429($1 ....)2.929 F F0 -.15(Pa)5.428 G +.428(rameters represented by the num-).15 F(bers)144 225.6 Q F1($#)2.582 +E F0(do)2.582 E .082(wn to)-.25 F F1($#)2.582 E F0A F2(n)A F0 .082 +(+1 are unset.)B F2(n)5.442 E F0 .082(must be a non-ne)2.822 F -.05(ga) +-.15 G(ti).05 E .383 -.15(ve n)-.25 H .083(umber less than or equal to) +.15 F F1($#)2.583 E F0 5.083(.I)C(f)-5.083 E F2(n)2.943 E F0 .06 +(is 0, no parameters are changed.)144 237.6 R(If)5.06 E F2(n)2.92 E F0 .06(is not gi)2.8 F -.15(ve)-.25 G .06(n, it is assumed to be 1.).15 F (If)5.06 E F2(n)2.92 E F0 .06(is greater than)2.8 F F1($#)2.56 E F0 2.56 -(,t)C(he)-2.56 E .144(positional parameters are not changed.)144 561.6 R -.144(The return status is greater than zero if)5.144 F F2(n)3.003 E F0 -.143(is greater than)2.883 F F1($#)2.643 E F0 -(or less than zero; otherwise 0.)144 573.6 Q F1(shopt)108 590.4 Q F0([) +(,t)C(he)-2.56 E .143(positional parameters are not changed.)144 249.6 R +.144(The return status is greater than zero if)5.143 F F2(n)3.004 E F0 +.144(is greater than)2.884 F F1($#)2.644 E F0 +(or less than zero; otherwise 0.)144 261.6 Q F1(shopt)108 278.4 Q F0([) 2.5 E F1(\255pqsu)A F0 2.5(][)C F1-2.5 E F0 2.5(][)C F2(optname) --2.5 E F0(...])2.5 E -.8(To)144 602.4 S .222(ggle the v).8 F .222 +-2.5 E F0(...])2.5 E -.8(To)144 290.4 S .222(ggle the v).8 F .222 (alues of v)-.25 F .222(ariables controlling optional shell beha)-.25 F (vior)-.2 E 5.222(.W)-.55 G .222(ith no options, or with the)-5.622 F F1 2.722 E F0 .721(option, a list of all settable options is display\ -ed, with an indication of whether or not each is set.)144 614.4 R(The) -144 626.4 Q F12.827 E F0 .327(option causes output to be displaye\ -d in a form that may be reused as input.)2.827 F .328(Other options) -5.328 F(ha)144 638.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:) --.25 E F1144 650.4 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5 -E F0(.)A F1144 662.4 Q F0(Disable \(unset\) each)24.74 E F2 -(optname)2.5 E F0(.)A F1144 674.4 Q F0 .003(Suppresses normal out\ +ed, with an indication of whether or not each is set.)144 302.4 R(The) +144 314.4 Q F12.828 E F0 .327(option causes output to be displaye\ +d in a form that may be reused as input.)2.828 F .327(Other options) +5.327 F(ha)144 326.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:) +-.25 E F1144 338.4 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5 +E F0(.)A F1144 350.4 Q F0(Disable \(unset\) each)24.74 E F2 +(optname)2.5 E F0(.)A F1144 362.4 Q F0 .003(Suppresses normal out\ put \(quiet mode\); the return status indicates whether the)24.74 F F2 -(optname)2.503 E F0(is)2.503 E .255(set or unset.)180 686.4 R .255 -(If multiple)5.255 F F2(optname)2.755 E F0(ar)2.755 E .256 +(optname)2.504 E F0(is)2.504 E .256(set or unset.)180 374.4 R .256 +(If multiple)5.256 F F2(optname)2.756 E F0(ar)2.756 E .256 (guments are gi)-.18 F -.15(ve)-.25 G 2.756(nw).15 G(ith)-2.756 E F1 -2.756 E F0 2.756(,t)C .256(he return status is zero if)-2.756 F -(all)180 698.4 Q F2(optnames)2.5 E F0(are enabled; non-zero otherwise.) -2.5 E F1144 710.4 Q F0(Restricts the v)25.3 E(alues of)-.25 E F2 +2.756 E F0 2.755(,t)C .255(he return status is zero if)-2.755 F +(all)180 386.4 Q F2(optnames)2.5 E F0(are enabled; non-zero otherwise.) +2.5 E F1144 398.4 Q F0(Restricts the v)25.3 E(alues of)-.25 E F2 (optname)2.5 E F0(to be those de\214ned for the)2.5 E F12.5 E F0 -(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .128 -(If either)144 727.2 R F12.628 E F0(or)2.628 E F12.628 E F0 +(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .127 +(If either)144 415.2 R F12.627 E F0(or)2.627 E F12.627 E F0 .127(is used with no)2.627 F F2(optname)2.627 E F0(ar)2.627 E .127 -(guments, the display is limited to those options which)-.18 F -(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(63)195.945 E 0 Cg EP -%%Page: 64 64 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E 1.023(are set or unset, respecti)144 84 R -.15(ve)-.25 G(ly).15 E -6.023(.U)-.65 G 1.024(nless otherwise noted, the)-6.023 F/F1 10 -/Times-Bold@0 SF(shopt)3.524 E F0 1.024 -(options are disabled \(unset\) by)3.524 F(def)144 96 Q(ault.)-.1 E -1.544(The return status when listing options is zero if all)144 112.8 R -/F2 10/Times-Italic@0 SF(optnames)4.044 E F0 1.544 -(are enabled, non-zero otherwise.)4.044 F .696 +(guments, the display is limited to those options which)-.18 F 1.024 +(are set or unset, respecti)144 427.2 R -.15(ve)-.25 G(ly).15 E 6.024 +(.U)-.65 G 1.024(nless otherwise noted, the)-6.024 F F1(shopt)3.523 E F0 +1.023(options are disabled \(unset\) by)3.523 F(def)144 439.2 Q(ault.) +-.1 E 1.544(The return status when listing options is zero if all)144 +456 R F2(optnames)4.044 E F0 1.545(are enabled, non-zero otherwise.) +4.045 F .696 (When setting or unsetting options, the return status is zero unless an) -144 124.8 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .696 -(alid shell)-.25 F(option.)144 136.8 Q(The list of)144 153.6 Q F1(shopt) -2.5 E F0(options is:)2.5 E F1(autocd)144 171.6 Q F0 .2 +144 468 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .695(alid shell) +-.25 F(option.)144 480 Q(The list of)144 496.8 Q F1(shopt)2.5 E F0 +(options is:)2.5 E F1(autocd)144 514.8 Q F0 .199 (If set, a command name that is the name of a directory is e)11.11 F --.15(xe)-.15 G .199(cuted as if it were the ar).15 F(gu-)-.18 E -(ment to the)184 183.6 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F +-.15(xe)-.15 G .2(cuted as if it were the ar).15 F(gu-)-.18 E +(ment to the)184 526.8 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F (option is only used by interacti)2.5 E .3 -.15(ve s)-.25 H(hells.).15 E -F1(cdable_v)144 195.6 Q(ars)-.1 E F0 .155(If set, an ar)184 207.6 R .155 -(gument to the)-.18 F F1(cd)2.655 E F0 -.2(bu)2.655 G .156 +F1(cdable_v)144 538.8 Q(ars)-.1 E F0 .156(If set, an ar)184 550.8 R .156 +(gument to the)-.18 F F1(cd)2.656 E F0 -.2(bu)2.656 G .155 (iltin command that is not a directory is assumed to be the).2 F -(name of a v)184 219.6 Q(ariable whose v)-.25 E -(alue is the directory to change to.)-.25 E F1(cdspell)144 231.6 Q F0 +(name of a v)184 562.8 Q(ariable whose v)-.25 E +(alue is the directory to change to.)-.25 E F1(cdspell)144 574.8 Q F0 1.055 (If set, minor errors in the spelling of a directory component in a) -10.55 F F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.987 -(corrected. The)184 243.6 R 1.487(errors check)3.987 F 1.487 -(ed for are transposed characters, a missing character)-.1 F 3.988(,a) --.4 G(nd)-3.988 E .552(one character too man)184 255.6 R 4.352 -.65 +10.55 F F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.988 +(corrected. The)184 586.8 R 1.488(errors check)3.988 F 1.487 +(ed for are transposed characters, a missing character)-.1 F 3.987(,a) +-.4 G(nd)-3.987 E .552(one character too man)184 598.8 R 4.352 -.65 (y. I)-.15 H 3.052(fac).65 G .552 (orrection is found, the corrected \214le name is printed, and)-3.052 F -(the command proceeds.)184 267.6 Q +(the command proceeds.)184 610.8 Q (This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.) -.15 E F1(checkhash)144 279.6 Q F0 2.079(If set,)184 291.6 R F1(bash) -4.579 E F0 2.079(checks that a command found in the hash table e)4.579 F -2.08(xists before trying to)-.15 F -.15(exe)184 303.6 S(cute it.).15 E +.15 E F1(checkhash)144 622.8 Q F0 2.08(If set,)184 634.8 R F1(bash)4.58 +E F0 2.079(checks that a command found in the hash table e)4.58 F 2.079 +(xists before trying to)-.15 F -.15(exe)184 646.8 S(cute it.).15 E (If a hashed command no longer e)5 E -(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 315.6 -Q F0 .449(If set,)184 327.6 R F1(bash)2.949 E F0 .449 -(lists the status of an)2.949 F 2.949(ys)-.15 G .448 -(topped and running jobs before e)-2.949 F .448(xiting an interacti)-.15 -F -.15(ve)-.25 G 3.438(shell. If)184 339.6 R(an)3.438 E 3.438(yj)-.15 G -.938(obs are running, this causes the e)-3.438 F .938 -(xit to be deferred until a second e)-.15 F .939(xit is)-.15 F 2.203 -(attempted without an interv)184 351.6 R 2.203(ening command \(see)-.15 +(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 658.8 +Q F0 .448(If set,)184 670.8 R F1(bash)2.948 E F0 .448 +(lists the status of an)2.948 F 2.949(ys)-.15 G .449 +(topped and running jobs before e)-2.949 F .449(xiting an interacti)-.15 +F -.15(ve)-.25 G 3.439(shell. If)184 682.8 R(an)3.439 E 3.439(yj)-.15 G +.938(obs are running, this causes the e)-3.439 F .938 +(xit to be deferred until a second e)-.15 F .938(xit is)-.15 F 2.203 +(attempted without an interv)184 694.8 R 2.203(ening command \(see)-.15 F/F3 9/Times-Bold@0 SF 2.203(JOB CONTR)4.703 F(OL)-.27 E F0(abo)4.453 E --.15(ve)-.15 G 4.703(\). The).15 F(shell)4.703 E(al)184 363.6 Q -.1(wa) +-.15(ve)-.15 G 4.703(\). The).15 F(shell)4.704 E(al)184 706.8 Q -.1(wa) -.1 G(ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G -(obs are stopped.)-2.5 E F1(checkwinsize)144 375.6 Q F0 .796(If set,)184 -387.6 R F1(bash)3.296 E F0 .796(checks the windo)3.296 F 3.296(ws)-.25 G -.797(ize after each command and, if necessary)-3.296 F 3.297(,u)-.65 G -.797(pdates the)-3.297 F -.25(va)184 399.6 S(lues of).25 E F3(LINES)2.5 -E F0(and)2.25 E F3(COLUMNS)2.5 E/F4 9/Times-Roman@0 SF(.)A F1(cmdhist) -144 411.6 Q F0 1.202(If set,)6.11 F F1(bash)3.702 E F0 1.202 -(attempts to sa)3.702 F 1.502 -.15(ve a)-.2 H 1.202 -(ll lines of a multiple-line command in the same history).15 F(entry)184 -423.6 Q 5(.T)-.65 G(his allo)-5 E -(ws easy re-editing of multi-line commands.)-.25 E F1(compat31)144 435.6 -Q F0 .419(If set,)184 447.6 R F1(bash)2.919 E F0 .419(changes its beha) -2.919 F .419(vior to that of v)-.2 F .42 -(ersion 3.1 with respect to quoted ar)-.15 F(guments)-.18 E -(to the conditional command')184 459.6 Q 2.5(s=)-.55 G 2.5(~o)-2.5 G -(perator)-2.5 E(.)-.55 E F1(compat32)144 471.6 Q F0 1.41(If set,)184 -483.6 R F1(bash)3.91 E F0 1.41(changes its beha)3.91 F 1.409 -(vior to that of v)-.2 F 1.409 -(ersion 3.2 with respect to locale-speci\214c)-.15 F -(string comparison when using the conditional command')184 495.6 Q 2.5 -(s operators.)-2.5 E F1(compat40)144 507.6 Q F0 1.409 -(If set,)184 519.6 R F1(bash)3.909 E F0 1.409(changes its beha)3.909 F +(obs are stopped.)-2.5 E(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(64) +197.335 E 0 Cg EP +%%Page: 65 65 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF(checkwinsize)144 84 Q F0 .797(If set,)184 +96 R F1(bash)3.297 E F0 .797(checks the windo)3.297 F 3.297(ws)-.25 G +.796(ize after each command and, if necessary)-3.297 F 3.296(,u)-.65 G +.796(pdates the)-3.296 F -.25(va)184 108 S(lues of).25 E/F2 9 +/Times-Bold@0 SF(LINES)2.5 E F0(and)2.25 E F2(COLUMNS)2.5 E/F3 9 +/Times-Roman@0 SF(.)A F1(cmdhist)144 120 Q F0 1.202(If set,)6.11 F F1 +(bash)3.702 E F0 1.202(attempts to sa)3.702 F 1.502 -.15(ve a)-.2 H +1.202(ll lines of a multiple-line command in the same history).15 F +(entry)184 132 Q 5(.T)-.65 G(his allo)-5 E +(ws easy re-editing of multi-line commands.)-.25 E F1(compat31)144 144 Q +F0 .42(If set,)184 156 R F1(bash)2.92 E F0 .42(changes its beha)2.92 F +.419(vior to that of v)-.2 F .419(ersion 3.1 with respect to quoted ar) +-.15 F(guments)-.18 E(to the conditional command')184 168 Q 2.5(s=)-.55 +G 2.5(~o)-2.5 G(perator)-2.5 E(.)-.55 E F1(compat32)144 180 Q F0 1.409 +(If set,)184 192 R F1(bash)3.909 E F0 1.409(changes its beha)3.909 F 1.409(vior to that of v)-.2 F 1.41 -(ersion 4.0 with respect to locale-speci\214c)-.15 F 1.693 -(string comparison when using the conditional command')184 531.6 R 4.192 -(s operators and the)-4.192 F(ef)184 543.6 Q -(fect of interrupting a command list.)-.25 E F1(dirspell)144 555.6 Q F0 -.858(If set,)7.77 F F1(bash)3.358 E F0 .858 -(attempts spelling correction on directory names during w)3.358 F .859 +(ersion 3.2 with respect to locale-speci\214c)-.15 F +(string comparison when using the conditional command')184 204 Q 2.5 +(s operators.)-2.5 E F1(compat40)144 216 Q F0 1.41 +(If set,)184 228 R F1(bash)3.91 E F0 1.41(changes its beha)3.91 F 1.409 +(vior to that of v)-.2 F 1.409 +(ersion 4.0 with respect to locale-speci\214c)-.15 F 1.692 +(string comparison when using the conditional command')184 240 R 4.193 +(s operators and the)-4.193 F(ef)184 252 Q +(fect of interrupting a command list.)-.25 E F1(dirspell)144 264 Q F0 +.859(If set,)7.77 F F1(bash)3.359 E F0 .858 +(attempts spelling correction on directory names during w)3.359 F .858 (ord completion if)-.1 F -(the directory name initially supplied does not e)184 567.6 Q(xist.)-.15 -E F1(dotglob)144 579.6 Q F0 .165(If set,)7.77 F F1(bash)2.665 E F0 .165 +(the directory name initially supplied does not e)184 276 Q(xist.)-.15 E +F1(dotglob)144 288 Q F0 .165(If set,)7.77 F F1(bash)2.665 E F0 .165 (includes \214lenames be)2.665 F .165(ginning with a `.)-.15 F 2.665('i) -.7 G 2.665(nt)-2.665 G .165(he results of pathname e)-2.665 F -(xpansion.)-.15 E F1(execfail)144 591.6 Q F0 1.386 -(If set, a non-interacti)7.79 F 1.686 -.15(ve s)-.25 H 1.386 +(xpansion.)-.15 E F1(execfail)144 300 Q F0 1.387 +(If set, a non-interacti)7.79 F 1.687 -.15(ve s)-.25 H 1.386 (hell will not e).15 F 1.386(xit if it cannot e)-.15 F -.15(xe)-.15 G -1.387(cute the \214le speci\214ed as an).15 F(ar)184 603.6 Q +1.386(cute the \214le speci\214ed as an).15 F(ar)184 312 Q (gument to the)-.18 E F1(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E (An interacti)5 E .3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15 -E F1(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 615.6 Q -F0 .717(If set, aliases are e)184 627.6 R .717(xpanded as described abo) --.15 F 1.017 -.15(ve u)-.15 H(nder).15 E F3(ALIASES)3.217 E F4(.)A F0 -.716(This option is enabled)5.217 F(by def)184 639.6 Q -(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F1(extdeb)144 -651.6 Q(ug)-.2 E F0(If set, beha)184 663.6 Q -(vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F1(1.)184 -675.6 Q F0(The)28.5 E F14.25 E F0 1.75(option to the)4.25 F F1 -(declar)4.251 E(e)-.18 E F0 -.2(bu)4.251 G 1.751 -(iltin displays the source \214le name and line).2 F -(number corresponding to each function name supplied as an ar)220 687.6 -Q(gument.)-.18 E F1(2.)184 699.6 Q F0 1.667(If the command run by the) -28.5 F F1(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167 -F 1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 -711.6 Q -.15(xe)-.15 G(cuted.).15 E(GNU Bash-4.1)72 768 Q(2010 April 17) -145.955 E(64)195.945 E 0 Cg EP -%%Page: 65 65 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(3.)184 84 Q F0 .84 -(If the command run by the)28.5 F F1(DEB)3.34 E(UG)-.1 E F0 .841 -(trap returns a v)3.341 F .841(alue of 2, and the shell is)-.25 F -.15 -(exe)220 96 S .488 +E F1(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 324 Q F0 +.716(If set, aliases are e)184 336 R .717(xpanded as described abo)-.15 +F 1.017 -.15(ve u)-.15 H(nder).15 E F2(ALIASES)3.217 E F3(.)A F0 .717 +(This option is enabled)5.217 F(by def)184 348 Q(ault for interacti)-.1 +E .3 -.15(ve s)-.25 H(hells.).15 E F1(extdeb)144 360 Q(ug)-.2 E F0 +(If set, beha)184 372 Q(vior intended for use by deb)-.2 E +(uggers is enabled:)-.2 E F1(1.)184 384 Q F0(The)28.5 E F14.251 E +F0 1.751(option to the)4.251 F F1(declar)4.251 E(e)-.18 E F0 -.2(bu) +4.251 G 1.751(iltin displays the source \214le name and line).2 F +(number corresponding to each function name supplied as an ar)220 396 Q +(gument.)-.18 E F1(2.)184 408 Q F0 1.667(If the command run by the)28.5 +F F1(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167 F +1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 420 +Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 432 Q F0 .841 +(If the command run by the)28.5 F F1(DEB)3.341 E(UG)-.1 E F0 .841 +(trap returns a v)3.341 F .84(alue of 2, and the shell is)-.25 F -.15 +(exe)220 444 S .488 (cuting in a subroutine \(a shell function or a shell script e).15 F -.15(xe)-.15 G .488(cuted by the).15 F F1(.)2.988 E F0(or)2.988 E F1 -(sour)220 108 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F1 --.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E F1(4.)184 120 Q -/F2 9/Times-Bold@0 SF -.27(BA)28.5 G(SH_ARGC).27 E F0(and)3.153 E F2 --.27(BA)3.403 G(SH_ARGV).27 E F0 .904 -(are updated as described in their descriptions)3.154 F(abo)220 132 Q --.15(ve)-.15 G(.).15 E F1(5.)184 144 Q F0 1.359 +(sour)220 456 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F1 +-.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E F1(4.)184 468 Q +F2 -.27(BA)28.5 G(SH_ARGC).27 E F0(and)3.154 E F2 -.27(BA)3.404 G +(SH_ARGV).27 E F0 .904(are updated as described in their descriptions) +3.154 F(abo)220 480 Q -.15(ve)-.15 G(.).15 E F1(5.)184 492 Q F0 1.359 (Function tracing is enabled:)28.5 F 1.359 (command substitution, shell functions, and sub-)6.359 F(shells in)220 -156 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F3 10 +504 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F4 10 /Times-Italic@0 SF(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1 (DEB)2.5 E(UG)-.1 E F0(and)2.5 E F1(RETURN)2.5 E F0(traps.)2.5 E F1(6.) -184 168 Q F0 .804(Error tracing is enabled:)28.5 F .805 -(command substitution, shell functions, and subshells)5.804 F(in)220 180 -Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F3 +184 516 Q F0 .805(Error tracing is enabled:)28.5 F .804 +(command substitution, shell functions, and subshells)5.805 F(in)220 528 +Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F4 (command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E F0(trap.) -2.5 E F1(extglob)144 192 Q F0 .4(If set, the e)8.89 F .4 +2.5 E F1(extglob)144 540 Q F0 .4(If set, the e)8.89 F .4 (xtended pattern matching features described abo)-.15 F .7 -.15(ve u) --.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 204 Q -F0(are enabled.)2.5 E F1(extquote)144 216 Q F0 2.473(If set,)184 228 R -F1($)4.973 E F0<08>A F3(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973 -E F0(")A F3(string)A F0 4.973("q)C 2.473(uoting is performed within) --4.973 F F1(${)4.973 E F3(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G -(pansions).15 E(enclosed in double quotes.)184 240 Q -(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 252 Q F0 -1.425(If set, patterns which f)7.77 F 1.425 -(ail to match \214lenames during pathname e)-.1 F 1.424 -(xpansion result in an)-.15 F -.15(ex)184 264 S(pansion error).15 E(.) --.55 E F1 -.25(fo)144 276 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0 -.936(If set, the suf)184 288 R<8c78>-.25 E .936(es speci\214ed by the) +-.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 552 Q +F0(are enabled.)2.5 E F1(extquote)144 564 Q F0 2.473(If set,)184 576 R +F1($)4.973 E F0<08>A F4(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973 +E F0(")A F4(string)A F0 4.973("q)C 2.473(uoting is performed within) +-4.973 F F1(${)4.973 E F4(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G +(pansions).15 E(enclosed in double quotes.)184 588 Q +(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 600 Q F0 +1.424(If set, patterns which f)7.77 F 1.425 +(ail to match \214lenames during pathname e)-.1 F 1.425 +(xpansion result in an)-.15 F -.15(ex)184 612 S(pansion error).15 E(.) +-.55 E F1 -.25(fo)144 624 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0 +.937(If set, the suf)184 636 R<8c78>-.25 E .936(es speci\214ed by the) -.15 F F2(FIGNORE)3.436 E F0 .936(shell v)3.186 F .936(ariable cause w) --.25 F .937(ords to be ignored)-.1 F .32(when performing w)184 300 R .32 +-.25 F .936(ords to be ignored)-.1 F .32(when performing w)184 648 R .32 (ord completion e)-.1 F -.15(ve)-.25 G 2.82(ni).15 G 2.82(ft)-2.82 G .32 -(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 2.947 -(pletions. See)184 312 R F2 .447(SHELL V)2.947 F(ARIABLES)-1.215 E F0 -(abo)2.697 E .747 -.15(ve f)-.15 H .448(or a description of).15 F F2 -(FIGNORE)2.948 E/F4 9/Times-Roman@0 SF(.)A F0 .448(This option is)4.948 -F(enabled by def)184 324 Q(ault.)-.1 E F1(globstar)144 336 Q F0 .179 -(If set, the pattern)5 F F1(**)2.679 E F0 .178(used in a pathname e) -2.678 F .178(xpansion conte)-.15 F .178 -(xt will match a \214les and zero or)-.15 F 1.297 -(more directories and subdirectories.)184 348 R 1.298 -(If the pattern is follo)6.297 F 1.298(wed by a)-.25 F F1(/)3.798 E F0 -3.798(,o)C 1.298(nly directories)-3.798 F(and subdirectories match.)184 -360 Q F1(gnu_errfmt)144 372 Q F0(If set, shell error messages are writt\ -en in the standard GNU error message format.)184 384 Q F1(histappend)144 -396 Q F0 .676 +(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 2.948 +(pletions. See)184 660 R F2 .448(SHELL V)2.948 F(ARIABLES)-1.215 E F0 +(abo)2.698 E .748 -.15(ve f)-.15 H .448(or a description of).15 F F2 +(FIGNORE)2.947 E F3(.)A F0 .447(This option is)4.947 F(enabled by def) +184 672 Q(ault.)-.1 E F1(globstar)144 684 Q F0 .178(If set, the pattern) +5 F F1(**)2.678 E F0 .178(used in a pathname e)2.678 F .178 +(xpansion conte)-.15 F .179(xt will match a \214les and zero or)-.15 F +1.298(more directories and subdirectories.)184 696 R 1.298 +(If the pattern is follo)6.298 F 1.298(wed by a)-.25 F F1(/)3.797 E F0 +3.797(,o)C 1.297(nly directories)-3.797 F(and subdirectories match.)184 +708 Q(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(65)197.335 E 0 Cg EP +%%Page: 66 66 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF(gnu_errfmt)144 84 Q F0(If set, shell error\ + messages are written in the standard GNU error message format.)184 96 Q +F1(histappend)144 108 Q F0 .676 (If set, the history list is appended to the \214le named by the v)184 -408 R .676(alue of the)-.25 F F2(HISTFILE)3.176 E F0 -.25(va)2.926 G -(ri-).25 E(able when the shell e)184 420 Q(xits, rather than o)-.15 E --.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 432 Q(eedit)-.18 -E F0 .575(If set, and)184 444 R F1 -.18(re)3.075 G(adline).18 E F0 .575 -(is being used, a user is gi)3.075 F -.15(ve)-.25 G 3.075(nt).15 G .576 -(he opportunity to re-edit a f)-3.075 F .576(ailed his-)-.1 F -(tory substitution.)184 456 Q F1(histv)144 468 Q(erify)-.1 E F0 .403 -(If set, and)184 480 R F1 -.18(re)2.903 G(adline).18 E F0 .403 +120 R .676(alue of the)-.25 F/F2 9/Times-Bold@0 SF(HISTFILE)3.177 E F0 +-.25(va)2.927 G(ri-).25 E(able when the shell e)184 132 Q +(xits, rather than o)-.15 E -.15(ve)-.15 G(rwriting the \214le.).15 E F1 +(histr)144 144 Q(eedit)-.18 E F0 .576(If set, and)184 156 R F1 -.18(re) +3.076 G(adline).18 E F0 .575(is being used, a user is gi)3.076 F -.15 +(ve)-.25 G 3.075(nt).15 G .575(he opportunity to re-edit a f)-3.075 F +.575(ailed his-)-.1 F(tory substitution.)184 168 Q F1(histv)144 180 Q +(erify)-.1 E F0 .402(If set, and)184 192 R F1 -.18(re)2.903 G(adline).18 +E F0 .403 (is being used, the results of history substitution are not immediately) -2.903 F .661(passed to the shell parser)184 492 R 5.661(.I)-.55 G .662 -(nstead, the resulting line is loaded into the)-5.661 F F1 -.18(re)3.162 -G(adline).18 E F0(editing)3.162 E -.2(bu)184 504 S -.25(ff).2 G(er).25 E +2.903 F .662(passed to the shell parser)184 204 R 5.662(.I)-.55 G .661 +(nstead, the resulting line is loaded into the)-5.662 F F1 -.18(re)3.161 +G(adline).18 E F0(editing)3.161 E -.2(bu)184 216 S -.25(ff).2 G(er).25 E 2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E F1 -(hostcomplete)144 516 Q F0 1.182(If set, and)184 528 R F1 -.18(re)3.682 -G(adline).18 E F0 1.182(is being used,)3.682 F F1(bash)3.682 E F0 1.181 -(will attempt to perform hostname completion)3.681 F 1.38(when a w)184 -540 R 1.38(ord containing a)-.1 F F1(@)3.881 E F0 1.381 -(is being completed \(see)3.881 F F1(Completing)3.881 E F0(under)3.881 E -F2(READLINE)3.881 E F0(abo)184 552 Q -.15(ve)-.15 G 2.5(\). This).15 F -(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 564 Q F0(If set,) -184 576 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)2.5 E F0 +(hostcomplete)144 228 Q F0 1.181(If set, and)184 240 R F1 -.18(re)3.681 +G(adline).18 E F0 1.181(is being used,)3.681 F F1(bash)3.682 E F0 1.182 +(will attempt to perform hostname completion)3.682 F 1.381(when a w)184 +252 R 1.381(ord containing a)-.1 F F1(@)3.881 E F0 1.381 +(is being completed \(see)3.881 F F1(Completing)3.88 E F0(under)3.88 E +F2(READLINE)3.88 E F0(abo)184 264 Q -.15(ve)-.15 G 2.5(\). This).15 F +(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 276 Q F0(If set,) +184 288 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)2.5 E F0 (to all jobs when an interacti)2.25 E .3 -.15(ve l)-.25 H(ogin shell e) -.15 E(xits.)-.15 E F1(interacti)144 588 Q -.1(ve)-.1 G(_comments).1 E F0 -.33(If set, allo)184 600 R 2.83(waw)-.25 G .33(ord be)-2.93 F .33 +.15 E(xits.)-.15 E F1(interacti)144 300 Q -.1(ve)-.1 G(_comments).1 E F0 +.33(If set, allo)184 312 R 2.83(waw)-.25 G .33(ord be)-2.93 F .33 (ginning with)-.15 F F1(#)2.83 E F0 .33(to cause that w)2.83 F .33 (ord and all remaining characters on)-.1 F .967 -(that line to be ignored in an interacti)184 612 R 1.267 -.15(ve s)-.25 +(that line to be ignored in an interacti)184 324 R 1.267 -.15(ve s)-.25 H .967(hell \(see).15 F F2(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve)-.15 -G 3.467(\). This).15 F .968(option is)3.468 F(enabled by def)184 624 Q -(ault.)-.1 E F1(lithist)144 636 Q F0 .655(If set, and the)15.55 F F1 -(cmdhist)3.155 E F0 .654(option is enabled, multi-line commands are sa) -3.154 F -.15(ve)-.2 G 3.154(dt).15 G 3.154(ot)-3.154 G .654(he history) --3.154 F(with embedded ne)184 648 Q +G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184 336 Q +(ault.)-.1 E F1(lithist)144 348 Q F0 .654(If set, and the)15.55 F F1 +(cmdhist)3.154 E F0 .654(option is enabled, multi-line commands are sa) +3.154 F -.15(ve)-.2 G 3.155(dt).15 G 3.155(ot)-3.155 G .655(he history) +-3.155 F(with embedded ne)184 360 Q (wlines rather than using semicolon separators where possible.)-.25 E F1 -(login_shell)144 660 Q F0 .486 +(login_shell)144 372 Q F0 .486 (The shell sets this option if it is started as a login shell \(see)184 -672 R F2(INV)2.987 E(OCA)-.405 E(TION)-.855 E F0(abo)2.737 E -.15(ve) --.15 G 2.987(\). The).15 F -.25(va)184 684 S(lue may not be changed.).25 -E F1(mailwar)144 696 Q(n)-.15 E F0 .815(If set, and a \214le that)184 -708 R F1(bash)3.315 E F0 .814 -(is checking for mail has been accessed since the last time it)3.315 F --.1(wa)184 720 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E -(`The mail in)-.74 E F3(mail\214le)2.5 E F0(has been read')2.5 E 2.5('i) --.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(65)195.945 E 0 Cg EP -%%Page: 66 66 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(no_empty_cmd_completion)144 84 Q F0 .324 -(If set, and)184 96 R F1 -.18(re)2.824 G(adline).18 E F0 .324 -(is being used,)2.824 F F1(bash)2.824 E F0 .324 -(will not attempt to search the)2.824 F/F2 9/Times-Bold@0 SF -.666(PA) -2.825 G(TH)-.189 E F0 .325(for possible)2.575 F -(completions when completion is attempted on an empty line.)184 108 Q F1 -(nocaseglob)144 120 Q F0 .437(If set,)184 132 R F1(bash)2.937 E F0 .436 -(matches \214lenames in a case\255insensiti)2.937 F .736 -.15(ve f)-.25 -H .436(ashion when performing pathname).05 F -.15(ex)184 144 S +384 R F2(INV)2.986 E(OCA)-.405 E(TION)-.855 E F0(abo)2.736 E -.15(ve) +-.15 G 2.986(\). The).15 F -.25(va)184 396 S(lue may not be changed.).25 +E F1(mailwar)144 408 Q(n)-.15 E F0 .814(If set, and a \214le that)184 +420 R F1(bash)3.314 E F0 .815 +(is checking for mail has been accessed since the last time it)3.314 F +-.1(wa)184 432 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E +(`The mail in)-.74 E/F3 10/Times-Italic@0 SF(mail\214le)2.5 E F0 +(has been read')2.5 E 2.5('i)-.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1 +(no_empty_cmd_completion)144 444 Q F0 .325(If set, and)184 456 R F1 -.18 +(re)2.825 G(adline).18 E F0 .325(is being used,)2.825 F F1(bash)2.824 E +F0 .324(will not attempt to search the)2.824 F F2 -.666(PA)2.824 G(TH) +-.189 E F0 .324(for possible)2.574 F +(completions when completion is attempted on an empty line.)184 468 Q F1 +(nocaseglob)144 480 Q F0 .436(If set,)184 492 R F1(bash)2.936 E F0 .436 +(matches \214lenames in a case\255insensiti)2.936 F .737 -.15(ve f)-.25 +H .437(ashion when performing pathname).05 F -.15(ex)184 504 S (pansion \(see).15 E F1 -.1(Pa)2.5 G(thname Expansion).1 E F0(abo)2.5 E --.15(ve)-.15 G(\).).15 E F1(nocasematch)144 156 Q F0 1.193(If set,)184 -168 R F1(bash)3.693 E F0 1.194(matches patterns in a case\255insensiti) -3.693 F 1.494 -.15(ve f)-.25 H 1.194(ashion when performing matching).05 -F(while e)184 180 Q -.15(xe)-.15 G(cuting).15 E F1(case)2.5 E F0(or)2.5 -E F1([[)2.5 E F0(conditional commands.)2.5 E F1(nullglob)144 192 Q F0 -.855(If set,)184 204 R F1(bash)3.355 E F0(allo)3.355 E .855 -(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa)3.354 G .854 -(thname Expansion).1 F F0(abo)3.354 E -.15(ve)-.15 G 3.354(\)t).15 G(o) --3.354 E -.15(ex)184 216 S(pand to a null string, rather than themselv) -.15 E(es.)-.15 E F1(pr)144 228 Q(ogcomp)-.18 E F0 .676 -(If set, the programmable completion f)184 240 R .677(acilities \(see) --.1 F F1(Pr)3.177 E .677(ogrammable Completion)-.18 F F0(abo)3.177 E --.15(ve)-.15 G(\)).15 E(are enabled.)184 252 Q -(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 264 Q(omptv) --.18 E(ars)-.1 E F0 1.448(If set, prompt strings under)184 276 R 1.448 -(go parameter e)-.18 F 1.447(xpansion, command substitution, arithmetic) --.15 F -.15(ex)184 288 S .17(pansion, and quote remo).15 F -.25(va)-.15 +-.15(ve)-.15 G(\).).15 E F1(nocasematch)144 516 Q F0 1.194(If set,)184 +528 R F1(bash)3.694 E F0 1.194(matches patterns in a case\255insensiti) +3.694 F 1.493 -.15(ve f)-.25 H 1.193(ashion when performing matching).05 +F(while e)184 540 Q -.15(xe)-.15 G(cuting).15 E F1(case)2.5 E F0(or)2.5 +E F1([[)2.5 E F0(conditional commands.)2.5 E F1(nullglob)144 552 Q F0 +.854(If set,)184 564 R F1(bash)3.354 E F0(allo)3.354 E .855 +(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa)3.355 G .855 +(thname Expansion).1 F F0(abo)3.355 E -.15(ve)-.15 G 3.355(\)t).15 G(o) +-3.355 E -.15(ex)184 576 S(pand to a null string, rather than themselv) +.15 E(es.)-.15 E F1(pr)144 588 Q(ogcomp)-.18 E F0 .677 +(If set, the programmable completion f)184 600 R .677(acilities \(see) +-.1 F F1(Pr)3.176 E .676(ogrammable Completion)-.18 F F0(abo)3.176 E +-.15(ve)-.15 G(\)).15 E(are enabled.)184 612 Q +(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 624 Q(omptv) +-.18 E(ars)-.1 E F0 1.447(If set, prompt strings under)184 636 R 1.448 +(go parameter e)-.18 F 1.448(xpansion, command substitution, arithmetic) +-.15 F -.15(ex)184 648 S .171(pansion, and quote remo).15 F -.25(va)-.15 G 2.67(la).25 G .17(fter being e)-2.67 F .17(xpanded as described in) --.15 F F2(PR)2.671 E(OMPTING)-.27 E F0(abo)2.421 E -.15(ve)-.15 G(.).15 -E(This option is enabled by def)184 300 Q(ault.)-.1 E F1 -.18(re)144 312 +-.15 F F2(PR)2.67 E(OMPTING)-.27 E F0(abo)2.42 E -.15(ve)-.15 G(.).15 E +(This option is enabled by def)184 660 Q(ault.)-.1 E F1 -.18(re)144 672 S(stricted_shell).18 E F0 1.069 (The shell sets this option if it is started in restricted mode \(see) -184 324 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 336 Q 4.178 +184 684 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 696 Q 4.178 (w\). The)-.25 F -.25(va)4.178 G 1.678(lue may not be changed.).25 F 1.678(This is not reset when the startup \214les are)6.678 F -.15(exe) -184 348 S(cuted, allo).15 E(wing the startup \214les to disco)-.25 E +184 708 S(cuted, allo).15 E(wing the startup \214les to disco)-.25 E -.15(ve)-.15 G 2.5(rw).15 G(hether or not a shell is restricted.)-2.5 E -F1(shift_v)144 360 Q(erbose)-.1 E F0 .502(If set, the)184 372 R F1 -(shift)3.002 E F0 -.2(bu)3.002 G .501 -(iltin prints an error message when the shift count e).2 F .501 -(xceeds the number)-.15 F(of positional parameters.)184 384 Q F1(sour) -144 396 Q(cepath)-.18 E F0 .77(If set, the)184 408 R F1(sour)3.27 E(ce) --.18 E F0(\()3.27 E F1(.)A F0 3.27(\)b)C .77(uiltin uses the v)-3.47 F -.771(alue of)-.25 F F2 -.666(PA)3.271 G(TH)-.189 E F0 .771 -(to \214nd the directory containing the)3.021 F -(\214le supplied as an ar)184 420 Q 2.5(gument. This)-.18 F -(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 432 Q F0 -(If set, the)184 444 Q F1(echo)2.5 E F0 -.2(bu)2.5 G(iltin e).2 E +(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(66)197.335 E 0 Cg EP +%%Page: 67 67 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF(shift_v)144 84 Q(erbose)-.1 E F0 .501 +(If set, the)184 96 R F1(shift)3.001 E F0 -.2(bu)3.001 G .501 +(iltin prints an error message when the shift count e).2 F .502 +(xceeds the number)-.15 F(of positional parameters.)184 108 Q F1(sour) +144 120 Q(cepath)-.18 E F0 .771(If set, the)184 132 R F1(sour)3.271 E +(ce)-.18 E F0(\()3.271 E F1(.)A F0 3.271(\)b)C .771(uiltin uses the v) +-3.471 F .771(alue of)-.25 F/F2 9/Times-Bold@0 SF -.666(PA)3.27 G(TH) +-.189 E F0 .77(to \214nd the directory containing the)3.02 F +(\214le supplied as an ar)184 144 Q 2.5(gument. This)-.18 F +(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 156 Q F0 +(If set, the)184 168 Q F1(echo)2.5 E F0 -.2(bu)2.5 G(iltin e).2 E (xpands backslash-escape sequences by def)-.15 E(ault.)-.1 E F1(suspend) -108 456 Q F0([)2.5 E F1A F0(])A 1.002(Suspend the e)144 468 R -.15 -(xe)-.15 G 1.002(cution of this shell until it recei).15 F -.15(ve)-.25 -G 3.501(sa).15 G F2(SIGCONT)A F0 3.501(signal. A)3.251 F 1.001 -(login shell cannot be)3.501 F .022(suspended; the)144 480 R F1 -2.522 E F0 .022(option can be used to o)2.522 F -.15(ve)-.15 G .022 -(rride this and force the suspension.).15 F .023(The return status is) -5.023 F 2.5(0u)144 492 S(nless the shell is a login shell and)-2.5 E F1 +108 180 Q F0([)2.5 E F1A F0(])A 1.001(Suspend the e)144 192 R -.15 +(xe)-.15 G 1.001(cution of this shell until it recei).15 F -.15(ve)-.25 +G 3.501(sa).15 G F2(SIGCONT)A F0 3.502(signal. A)3.252 F 1.002 +(login shell cannot be)3.502 F .023(suspended; the)144 204 R F1 +2.523 E F0 .023(option can be used to o)2.523 F -.15(ve)-.15 G .022 +(rride this and force the suspension.).15 F .022(The return status is) +5.022 F 2.5(0u)144 216 S(nless the shell is a login shell and)-2.5 E F1 2.5 E F0(is not supplied, or if job control is not enabled.)2.5 E -F1(test)108 504 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([)108 -516 Q F3 -.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 1.15 +F1(test)108 228 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([)108 +240 Q F3 -.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 1.15 (Return a status of 0 or 1 depending on the e)6.77 F -.25(va)-.25 G 1.15 (luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)3.65 G -(pr).2 E F0 6.15(.E).73 G(ach)-6.15 E 1.187 -(operator and operand must be a separate ar)144 528 R 3.688 -(gument. Expressions)-.18 F 1.188(are composed of the primaries)3.688 F -1.89(described abo)144 540 R 2.19 -.15(ve u)-.15 H(nder).15 E F2 -(CONDITION)4.39 E 1.89(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A -F1(test)6.39 E F0 1.889(does not accept an)4.389 F 4.389(yo)-.15 G 1.889 -(ptions, nor)-4.389 F(does it accept and ignore an ar)144 552 Q +(pr).2 E F0 6.15(.E).73 G(ach)-6.15 E 1.188 +(operator and operand must be a separate ar)144 252 R 3.688 +(gument. Expressions)-.18 F 1.187(are composed of the primaries)3.688 F +1.889(described abo)144 264 R 2.189 -.15(ve u)-.15 H(nder).15 E F2 +(CONDITION)4.389 E 1.889(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A +F1(test)6.389 E F0 1.89(does not accept an)4.389 F 4.39(yo)-.15 G 1.89 +(ptions, nor)-4.39 F(does it accept and ignore an ar)144 276 Q (gument of)-.18 E F12.5 E F0(as signifying the end of options.)2.5 -E .785(Expressions may be combined using the follo)144 570 R .786 +E .786(Expressions may be combined using the follo)144 294 R .785 (wing operators, listed in decreasing order of prece-)-.25 F 2.5 -(dence. The)144 582 R -.25(eva)2.5 G +(dence. The)144 306 R -.25(eva)2.5 G (luation depends on the number of ar).25 E(guments; see belo)-.18 E -.65 -(w.)-.25 G F1(!)144 594 Q F3 -.2(ex)2.5 G(pr).2 E F0 -.35(Tr)12.6 G +(w.)-.25 G F1(!)144 318 Q F3 -.2(ex)2.5 G(pr).2 E F0 -.35(Tr)12.6 G (ue if).35 E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 E(alse.)-.1 E F1(\() -144 606 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26(Returns the v)6.77 +144 330 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26(Returns the v)6.77 F .26(alue of)-.25 F F3 -.2(ex)2.76 G(pr).2 E F0 5.26(.T)C .26 (his may be used to o)-5.26 F -.15(ve)-.15 G .26 -(rride the normal precedence of opera-).15 F(tors.)180 618 Q F3 -.2(ex) -144 630 S(pr1).2 E F02.5 E F1(a)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35 -(Tr)180 642 S(ue if both).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(and)2.5 E F3 --.2(ex)2.5 G(pr2).2 E F0(are true.)2.52 E F3 -.2(ex)144 654 S(pr1).2 E -F02.5 E F1(o)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180 666 S +(rride the normal precedence of opera-).15 F(tors.)180 342 Q F3 -.2(ex) +144 354 S(pr1).2 E F02.5 E F1(a)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35 +(Tr)180 366 S(ue if both).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(and)2.5 E F3 +-.2(ex)2.5 G(pr2).2 E F0(are true.)2.52 E F3 -.2(ex)144 378 S(pr1).2 E +F02.5 E F1(o)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180 390 S (ue if either).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(or)2.5 E F3 -.2(ex)2.5 G -(pr2).2 E F0(is true.)2.52 E F1(test)144 682.8 Q F0(and)2.5 E F1([)2.5 E +(pr2).2 E F0(is true.)2.52 E F1(test)144 406.8 Q F0(and)2.5 E F1([)2.5 E F0 -.25(eva)2.5 G(luate conditional e).25 E (xpressions using a set of rules based on the number of ar)-.15 E -(guments.)-.18 E 2.5(0a)144 700.8 S -.18(rg)-2.5 G(uments).18 E(The e) -180 712.8 Q(xpression is f)-.15 E(alse.)-.1 E(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(66)195.945 E 0 Cg EP -%%Page: 67 67 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E 2.5(1a)144 84 S -.18(rg)-2.5 G(ument).18 E(The e)180 96 Q +(guments.)-.18 E 2.5(0a)144 424.8 S -.18(rg)-2.5 G(uments).18 E(The e) +180 436.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 448.8 S -.18 +(rg)-2.5 G(ument).18 E(The e)180 460.8 Q (xpression is true if and only if the ar)-.15 E(gument is not null.)-.18 -E 2.5(2a)144 108 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)180 -120 R .37(gument is)-.18 F/F1 10/Times-Bold@0 SF(!)2.87 E F0 2.87(,t)C -.37(he e)-2.87 F .37(xpression is true if and only if the second ar)-.15 -F .37(gument is null.)-.18 F .38(If the \214rst ar)180 132 R .38 -(gument is one of the unary conditional operators listed abo)-.18 F .679 --.15(ve u)-.15 H(nder).15 E/F2 9/Times-Bold@0 SF(CONDI-)2.879 E(TION)180 -144 Q .552(AL EXPRESSIONS)-.18 F/F3 9/Times-Roman@0 SF(,)A F0 .552 -(the e)2.802 F .552(xpression is true if the unary test is true.)-.15 F -.552(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 156 Q +E 2.5(2a)144 472.8 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar) +180 484.8 R .37(gument is)-.18 F F1(!)2.87 E F0 2.87(,t)C .37(he e)-2.87 +F .37(xpression is true if and only if the second ar)-.15 F .37 +(gument is null.)-.18 F .379(If the \214rst ar)180 496.8 R .38 +(gument is one of the unary conditional operators listed abo)-.18 F .68 +-.15(ve u)-.15 H(nder).15 E F2(CONDI-)2.88 E(TION)180 508.8 Q .553 +(AL EXPRESSIONS)-.18 F F4(,)A F0 .552(the e)2.802 F .552 +(xpression is true if the unary test is true.)-.15 F .552 +(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 520.8 Q (alid unary conditional operator)-.25 E 2.5(,t)-.4 G(he e)-2.5 E -(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 168 S -.18(rg)-2.5 G -(uments).18 E .024(If the second ar)180 180 R .023 +(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 532.8 S -.18(rg)-2.5 G +(uments).18 E .023(If the second ar)180 544.8 R .023 (gument is one of the binary conditional operators listed abo)-.18 F -.323 -.15(ve u)-.15 H(nder).15 E F2(CON-)2.523 E(DITION)180 192 Q 1.477 -(AL EXPRESSIONS)-.18 F F3(,)A F0 1.477(the result of the e)3.727 F 1.477 -(xpression is the result of the binary test)-.15 F .513 -(using the \214rst and third ar)180 204 R .513(guments as operands.)-.18 -F(The)5.513 E F13.013 E F0(and)3.013 E F13.013 E F0 .512 -(operators are considered)3.013 F .972 -(binary operators when there are three ar)180 216 R 3.472(guments. If) +.324 -.15(ve u)-.15 H(nder).15 E F2(CON-)2.524 E(DITION)180 556.8 Q +1.478(AL EXPRESSIONS)-.18 F F4(,)A F0 1.477(the result of the e)3.727 F +1.477(xpression is the result of the binary test)-.15 F .513 +(using the \214rst and third ar)180 568.8 R .513(guments as operands.) +-.18 F(The)5.513 E F13.013 E F0(and)3.013 E F13.013 E F0 +.513(operators are considered)3.013 F .972 +(binary operators when there are three ar)180 580.8 R 3.472(guments. If) -.18 F .972(the \214rst ar)3.472 F .972(gument is)-.18 F F1(!)3.472 E F0 -3.472(,t)C .972(he v)-3.472 F .972(alue is)-.25 F .884(the ne)180 228 R --.05(ga)-.15 G .884(tion of the tw).05 F(o-ar)-.1 E .884 -(gument test using the second and third ar)-.18 F 3.383(guments. If)-.18 -F .883(the \214rst)3.383 F(ar)180 240 Q .874(gument is e)-.18 F(xactly) --.15 E F1(\()3.374 E F0 .875(and the third ar)3.374 F .875(gument is e) --.18 F(xactly)-.15 E F1(\))3.375 E F0 3.375(,t)C .875 -(he result is the one-ar)-3.375 F(gument)-.18 E(test of the second ar) -180 252 Q 2.5(gument. Otherwise,)-.18 F(the e)2.5 E(xpression is f)-.15 -E(alse.)-.1 E 2.5(4a)144 264 S -.18(rg)-2.5 G(uments).18 E .385 -(If the \214rst ar)180 276 R .385(gument is)-.18 F F1(!)2.885 E F0 2.885 -(,t)C .385(he result is the ne)-2.885 F -.05(ga)-.15 G .384 -(tion of the three-ar).05 F .384(gument e)-.18 F .384(xpression com-) --.15 F 1.647(posed of the remaining ar)180 288 R 4.147 -(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.648 +3.472(,t)C .972(he v)-3.472 F .972(alue is)-.25 F .883(the ne)180 592.8 +R -.05(ga)-.15 G .883(tion of the tw).05 F(o-ar)-.1 E .884 +(gument test using the second and third ar)-.18 F 3.384(guments. If)-.18 +F .884(the \214rst)3.384 F(ar)180 604.8 Q .875(gument is e)-.18 F +(xactly)-.15 E F1(\()3.375 E F0 .875(and the third ar)3.375 F .875 +(gument is e)-.18 F(xactly)-.15 E F1(\))3.375 E F0 3.374(,t)C .874 +(he result is the one-ar)-3.374 F(gument)-.18 E(test of the second ar) +180 616.8 Q 2.5(gument. Otherwise,)-.18 F(the e)2.5 E(xpression is f) +-.15 E(alse.)-.1 E 2.5(4a)144 628.8 S -.18(rg)-2.5 G(uments).18 E .384 +(If the \214rst ar)180 640.8 R .384(gument is)-.18 F F1(!)2.884 E F0 +2.885(,t)C .385(he result is the ne)-2.885 F -.05(ga)-.15 G .385 +(tion of the three-ar).05 F .385(gument e)-.18 F .385(xpression com-) +-.15 F 1.648(posed of the remaining ar)180 652.8 R 4.147 +(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.647 (xpression is parsed and e)-.15 F -.25(va)-.25 G(luated).25 E -(according to precedence using the rules listed abo)180 300 Q -.15(ve) --.15 G(.).15 E 2.5(5o)144 312 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments)-.18 -E 1.635(The e)180 324 R 1.635(xpression is parsed and e)-.15 F -.25(va) --.25 G 1.635(luated according to precedence using the rules listed).25 F -(abo)180 336 Q -.15(ve)-.15 G(.).15 E F1(times)108 352.8 Q F0 1.229(Pri\ -nt the accumulated user and system times for the shell and for processe\ -s run from the shell.)13.23 F(The return status is 0.)144 364.8 Q F1 -(trap)108 381.6 Q F0([)2.5 E F1(\255lp)A F0 2.5(][)C([)-2.5 E/F4 10 -/Times-Italic@0 SF(ar)A(g)-.37 E F0(])A F4(sigspec)2.5 E F0(...])2.5 E -.703(The command)144 393.6 R F4(ar)3.533 E(g)-.37 E F0 .703 -(is to be read and e)3.423 F -.15(xe)-.15 G .702 -(cuted when the shell recei).15 F -.15(ve)-.25 G 3.202(ss).15 G -(ignal\(s\))-3.202 E F4(sigspec)3.202 E F0 5.702(.I).31 G(f)-5.702 E F4 -(ar)3.532 E(g)-.37 E F0(is)3.422 E .608(absent \(and there is a single) -144 405.6 R F4(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F13.108 E -F0 3.108(,e)C .608 +(according to precedence using the rules listed abo)180 664.8 Q -.15(ve) +-.15 G(.).15 E 2.5(5o)144 676.8 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments) +-.18 E 1.635(The e)180 688.8 R 1.635(xpression is parsed and e)-.15 F +-.25(va)-.25 G 1.635 +(luated according to precedence using the rules listed).25 F(abo)180 +700.8 Q -.15(ve)-.15 G(.).15 E F1(times)108 717.6 Q F0 1.229(Print the \ +accumulated user and system times for the shell and for processes run f\ +rom the shell.)13.23 F(The return status is 0.)144 729.6 Q(GNU Bash-4.1) +72 768 Q(2010 May 30)147.345 E(67)197.335 E 0 Cg EP +%%Page: 68 68 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF(trap)108 84 Q F0([)2.5 E F1(\255lp)A F0 2.5 +(][)C([)-2.5 E/F2 10/Times-Italic@0 SF(ar)A(g)-.37 E F0(])A F2(sigspec) +2.5 E F0(...])2.5 E .702(The command)144 96 R F2(ar)3.532 E(g)-.37 E F0 +.702(is to be read and e)3.422 F -.15(xe)-.15 G .702 +(cuted when the shell recei).15 F -.15(ve)-.25 G 3.203(ss).15 G +(ignal\(s\))-3.203 E F2(sigspec)3.203 E F0 5.703(.I).31 G(f)-5.703 E F2 +(ar)3.533 E(g)-.37 E F0(is)3.423 E .609(absent \(and there is a single) +144 108 R F2(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F13.108 E F0 +3.108(,e)C .608 (ach speci\214ed signal is reset to its original disposition)-3.108 F -.659(\(the v)144 417.6 R .659(alue it had upon entrance to the shell\).) --.25 F(If)5.658 E F4(ar)3.488 E(g)-.37 E F0 .658 -(is the null string the signal speci\214ed by each)3.378 F F4(sigspec) -144.34 429.6 Q F0 .58(is ignored by the shell and by the commands it in) -3.39 F -.2(vo)-.4 G -.1(ke).2 G 3.081(s. If).1 F F4(ar)3.411 E(g)-.37 E -F0 .581(is not present and)3.301 F F13.081 E F0(has)3.081 E 1.215 -(been supplied, then the trap commands associated with each)144 441.6 R -F4(sigspec)4.054 E F0 1.214(are displayed.)4.024 F 1.214(If no ar)6.214 -F(gu-)-.18 E .86(ments are supplied or if only)144 453.6 R F13.36 -E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F1(trap)3.36 E F0 .86 +.658(\(the v)144 120 R .658(alue it had upon entrance to the shell\).) +-.25 F(If)5.658 E F2(ar)3.488 E(g)-.37 E F0 .659 +(is the null string the signal speci\214ed by each)3.378 F F2(sigspec) +144.34 132 Q F0 .581(is ignored by the shell and by the commands it in) +3.391 F -.2(vo)-.4 G -.1(ke).2 G 3.08(s. If).1 F F2(ar)3.41 E(g)-.37 E +F0 .58(is not present and)3.3 F F13.08 E F0(has)3.08 E 1.214 +(been supplied, then the trap commands associated with each)144 144 R F2 +(sigspec)4.054 E F0 1.215(are displayed.)4.024 F 1.215(If no ar)6.215 F +(gu-)-.18 E .86(ments are supplied or if only)144 156 R F13.36 E +F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F1(trap)3.36 E F0 .86 (prints the list of commands associated with each)3.36 F 2.83 -(signal. The)144 465.6 R F12.83 E F0 .33(option causes the shell \ -to print a list of signal names and their corresponding num-)2.83 F 4.31 -(bers. Each)144 477.6 R F4(sigspec)4.65 E F0 1.811 -(is either a signal name de\214ned in <)4.62 F F4(signal.h)A F0 1.811 -(>, or a signal number)B 6.811(.S)-.55 G(ignal)-6.811 E -(names are case insensiti)144 489.6 Q .3 -.15(ve a)-.25 H(nd the).15 E -F2(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.649(If a)144 507.6 R F4 -(sigspec)4.489 E F0(is)4.459 E F2(EXIT)4.149 E F0 1.649 -(\(0\) the command)3.899 F F4(ar)4.479 E(g)-.37 E F0 1.649(is e)4.369 F --.15(xe)-.15 G 1.649(cuted on e).15 F 1.648(xit from the shell.)-.15 F -1.648(If a)6.648 F F4(sigspec)4.488 E F0(is)4.458 E F2(DEB)144 519.6 Q -(UG)-.09 E F3(,)A F0 1.167(the command)3.417 F F4(ar)3.997 E(g)-.37 E F0 -1.167(is e)3.887 F -.15(xe)-.15 G 1.167(cuted before e).15 F -.15(ve) --.25 G(ry).15 E F4 1.168(simple command)3.667 F F0(,)A F4(for)3.668 E F0 -(command,)3.668 E F4(case)3.668 E F0(com-)3.668 E(mand,)144 531.6 Q F4 -(select)2.647 E F0 .147(command, e)2.647 F -.15(ve)-.25 G .147 -(ry arithmetic).15 F F4(for)2.647 E F0 .146 -(command, and before the \214rst command e)2.647 F -.15(xe)-.15 G .146 -(cutes in a).15 F .145(shell function \(see)144 543.6 R F2 .145 -(SHELL GRAMMAR)2.645 F F0(abo)2.395 E -.15(ve)-.15 G 2.646(\). Refer).15 -F .146(to the description of the)2.646 F F1(extdeb)2.646 E(ug)-.2 E F0 -.146(option to)2.646 F(the)144 555.6 Q F1(shopt)3.201 E F0 -.2(bu)3.201 -G .7(iltin for details of its ef).2 F .7(fect on the)-.25 F F1(DEB)3.2 E -(UG)-.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F4(sigspec)3.54 E F0(is)3.51 E -F2(RETURN)3.2 E F3(,)A F0 .7(the com-)2.95 F(mand)144 567.6 Q F4(ar) -3.473 E(g)-.37 E F0 .643(is e)3.363 F -.15(xe)-.15 G .643 +(signal. The)144 168 R F12.83 E F0 .33(option causes the shell to\ + print a list of signal names and their corresponding num-)2.83 F 4.311 +(bers. Each)144 180 R F2(sigspec)4.651 E F0 1.811 +(is either a signal name de\214ned in <)4.621 F F2(signal.h)A F0 1.81 +(>, or a signal number)B 6.81(.S)-.55 G(ignal)-6.81 E +(names are case insensiti)144 192 Q .3 -.15(ve a)-.25 H(nd the).15 E/F3 +9/Times-Bold@0 SF(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.648(If a) +144 210 R F2(sigspec)4.488 E F0(is)4.458 E F3(EXIT)4.148 E F0 1.648 +(\(0\) the command)3.898 F F2(ar)4.479 E(g)-.37 E F0 1.649(is e)4.369 F +-.15(xe)-.15 G 1.649(cuted on e).15 F 1.649(xit from the shell.)-.15 F +1.649(If a)6.649 F F2(sigspec)4.489 E F0(is)4.459 E F3(DEB)144 222 Q(UG) +-.09 E/F4 9/Times-Roman@0 SF(,)A F0 1.168(the command)3.418 F F2(ar) +3.998 E(g)-.37 E F0 1.168(is e)3.888 F -.15(xe)-.15 G 1.167 +(cuted before e).15 F -.15(ve)-.25 G(ry).15 E F2 1.167(simple command) +3.667 F F0(,)A F2(for)3.667 E F0(command,)3.667 E F2(case)3.667 E F0 +(com-)3.667 E(mand,)144 234 Q F2(select)2.646 E F0 .146(command, e)2.646 +F -.15(ve)-.25 G .146(ry arithmetic).15 F F2(for)2.646 E F0 .147 +(command, and before the \214rst command e)2.646 F -.15(xe)-.15 G .147 +(cutes in a).15 F .146(shell function \(see)144 246 R F3 .146 +(SHELL GRAMMAR)2.646 F F0(abo)2.396 E -.15(ve)-.15 G 2.646(\). Refer).15 +F .146(to the description of the)2.646 F F1(extdeb)2.645 E(ug)-.2 E F0 +.145(option to)2.645 F(the)144 258 Q F1(shopt)3.2 E F0 -.2(bu)3.2 G .7 +(iltin for details of its ef).2 F .7(fect on the)-.25 F F1(DEB)3.2 E(UG) +-.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F2(sigspec)3.54 E F0(is)3.51 E F3 +(RETURN)3.2 E F4(,)A F0 .701(the com-)2.951 F(mand)144 270 Q F2(ar)3.474 +E(g)-.37 E F0 .644(is e)3.364 F -.15(xe)-.15 G .643 (cuted each time a shell function or a script e).15 F -.15(xe)-.15 G -.644(cuted with the).15 F F1(.)3.144 E F0(or)3.144 E F1(sour)3.144 E(ce) --.18 E F0 -.2(bu)3.144 G(iltins).2 E(\214nishes e)144 579.6 Q -.15(xe) --.15 G(cuting.).15 E .929(If a)144 597.6 R F4(sigspec)3.769 E F0(is) -3.739 E F2(ERR)3.429 E F3(,)A F0 .929(the command)3.179 F F4(ar)3.759 E -(g)-.37 E F0 .929(is e)3.649 F -.15(xe)-.15 G .929(cuted whene).15 F --.15(ve)-.25 G 3.429(ras).15 G .928(imple command has a non\255zero) --3.429 F -.15(ex)144 609.6 S 1.008(it status, subject to the follo).15 F -1.009(wing conditions.)-.25 F(The)6.009 E F2(ERR)3.509 E F0 1.009 -(trap is not e)3.259 F -.15(xe)-.15 G 1.009(cuted if the f).15 F 1.009 +.643(cuted with the).15 F F1(.)3.143 E F0(or)3.143 E F1(sour)3.143 E(ce) +-.18 E F0 -.2(bu)3.143 G(iltins).2 E(\214nishes e)144 282 Q -.15(xe)-.15 +G(cuting.).15 E .928(If a)144 300 R F2(sigspec)3.768 E F0(is)3.738 E F3 +(ERR)3.429 E F4(,)A F0 .929(the command)3.179 F F2(ar)3.759 E(g)-.37 E +F0 .929(is e)3.649 F -.15(xe)-.15 G .929(cuted whene).15 F -.15(ve)-.25 +G 3.429(ras).15 G .929(imple command has a non\255zero)-3.429 F -.15(ex) +144 312 S 1.009(it status, subject to the follo).15 F 1.009 +(wing conditions.)-.25 F(The)6.009 E F3(ERR)3.509 E F0 1.009 +(trap is not e)3.259 F -.15(xe)-.15 G 1.008(cuted if the f).15 F 1.008 (ailed com-)-.1 F .324 -(mand is part of the command list immediately follo)144 621.6 R .324 +(mand is part of the command list immediately follo)144 324 R .324 (wing a)-.25 F F1(while)2.824 E F0(or)2.824 E F1(until)2.824 E F0 -.1 -(ke)2.824 G(yw)-.05 E .324(ord, part of the test)-.1 F 1.128(in an)144 -633.6 R F4(if)3.639 E F0 1.129(statement, part of a command e)5.589 F --.15(xe)-.15 G 1.129(cuted in a).15 F F1(&&)3.629 E F0(or)3.629 E/F5 10 -/Symbol SF3.629 E F0 1.129(list, or if the command')3.629 F 3.629 -(sr)-.55 G(eturn)-3.629 E -.25(va)144 645.6 S(lue is being in).25 E -.15 +(ke)2.824 G(yw)-.05 E .324(ord, part of the test)-.1 F 1.129(in an)144 +336 R F2(if)3.639 E F0 1.129(statement, part of a command e)5.589 F -.15 +(xe)-.15 G 1.129(cuted in a).15 F F1(&&)3.629 E F0(or)3.629 E/F5 10 +/Symbol SF3.629 E F0 1.129(list, or if the command')3.629 F 3.628 +(sr)-.55 G(eturn)-3.628 E -.25(va)144 348 S(lue is being in).25 E -.15 (ve)-.4 G(rted via).15 E F1(!)2.5 E F0 5(.T)C (hese are the same conditions obe)-5 E(yed by the)-.15 E F1(err)2.5 E (exit)-.18 E F0(option.)2.5 E 1.095 (Signals ignored upon entry to the shell cannot be trapped or reset.)144 -663.6 R -.35(Tr)6.095 G 1.095(apped signals that are not).35 F .662 -(being ignored are reset to their original v)144 675.6 R .662 -(alues in a subshell or subshell en)-.25 F .662(vironment when one is) --.4 F 2.5(created. The)144 687.6 R(return status is f)2.5 E(alse if an) --.1 E(y)-.15 E F4(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4 G +366 R -.35(Tr)6.095 G 1.095(apped signals that are not).35 F .662 +(being ignored are reset to their original v)144 378 R .662 +(alues in a subshell or subshell en)-.25 F .661(vironment when one is) +-.4 F 2.5(created. The)144 390 R(return status is f)2.5 E(alse if an)-.1 +E(y)-.15 E F2(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4 G (lid; otherwise).25 E F1(trap)2.5 E F0(returns true.)2.5 E F1(type)108 -704.4 Q F0([)2.5 E F1(\255aftpP)A F0(])A F4(name)2.5 E F0([)2.5 E F4 -(name)A F0(...])2.5 E -.4(Wi)144 716.4 S .174 -(th no options, indicate ho).4 F 2.674(we)-.25 G(ach)-2.674 E F4(name) -3.034 E F0 -.1(wo)2.854 G .173 -(uld be interpreted if used as a command name.).1 F .173(If the)5.173 F -F1144 728.4 Q F0 .842(option is used,)3.342 F F1(type)3.342 E F0 -.843(prints a string which is one of)3.343 F F4(alias)3.343 E F0(,).27 E -F4 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F4(function)3.343 E F0 -(,).24 E F4 -.2(bu)3.343 G(iltin).2 E F0 3.343(,o).24 G(r)-3.343 E F4 -(\214le)5.253 E F0(if)3.523 E(GNU Bash-4.1)72 768 Q(2010 April 17) -145.955 E(67)195.945 E 0 Cg EP -%%Page: 68 68 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Italic@0 SF(name)144.36 84 Q F0 .087 -(is an alias, shell reserv)2.767 F .087(ed w)-.15 F .087 -(ord, function, b)-.1 F .086(uiltin, or disk \214le, respecti)-.2 F -.15 -(ve)-.25 G(ly).15 E 5.086(.I)-.65 G 2.586(ft)-5.086 G(he)-2.586 E F1 -(name)2.946 E F0 .086(is not)2.766 F .118 -(found, then nothing is printed, and an e)144 96 R .118(xit status of f) --.15 F .118(alse is returned.)-.1 F .119(If the)5.119 F/F2 10 -/Times-Bold@0 SF2.619 E F0 .119(option is used,)2.619 F F2(type) -2.619 E F0 .855(either returns the name of the disk \214le that w)144 -108 R .855(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F1(name) -3.715 E F0 .855(were speci\214ed as a com-)3.535 F .64 -(mand name, or nothing if)144 120 R/F3 10/Courier@0 SF .64(type -t name) -3.14 F F0 -.1(wo)3.14 G .641(uld not return).1 F F1(\214le)3.141 E F0 -5.641(.T).18 G(he)-5.641 E F23.141 E F0 .641(option forces a)3.141 -F/F4 9/Times-Bold@0 SF -.666(PA)3.141 G(TH)-.189 E F0 .113 -(search for each)144 132 R F1(name)2.613 E F0 2.613(,e)C -.15(ve)-2.863 -G 2.613(ni).15 G(f)-2.613 E F3 .113(type -t name)2.613 F F0 -.1(wo)2.613 -G .113(uld not return).1 F F1(\214le)2.613 E F0 5.113(.I).18 G 2.613(fa) --5.113 G .112(command is hashed,)-.001 F F22.612 E F0(and)144 144 -Q F22.944 E F0 .444(print the hashed v)2.944 F .444 -(alue, not necessarily the \214le that appears \214rst in)-.25 F F4 --.666(PA)2.945 G(TH)-.189 E/F5 9/Times-Roman@0 SF(.)A F0 .445(If the) -4.945 F F22.945 E F0(option)2.945 E .265(is used,)144 156 R F2 -(type)2.765 E F0 .265(prints all of the places that contain an e)2.765 F --.15(xe)-.15 G .265(cutable named).15 F F1(name)2.765 E F0 5.265(.T).18 -G .265(his includes aliases)-5.265 F .426 -(and functions, if and only if the)144 168 R F22.926 E F0 .426 -(option is not also used.)2.926 F .427 -(The table of hashed commands is not)5.426 F .549(consulted when using) -144 180 R F23.049 E F0 5.549(.T)C(he)-5.549 E F23.049 E F0 -.548(option suppresses shell function lookup, as with the)3.049 F F2 -(command)3.048 E F0 -.2(bu)144 192 S(iltin.).2 E F2(type)5 E F0 +406.8 Q F0([)2.5 E F1(\255aftpP)A F0(])A F2(name)2.5 E F0([)2.5 E F2 +(name)A F0(...])2.5 E -.4(Wi)144 418.8 S .173 +(th no options, indicate ho).4 F 2.673(we)-.25 G(ach)-2.673 E F2(name) +3.033 E F0 -.1(wo)2.853 G .174 +(uld be interpreted if used as a command name.).1 F .174(If the)5.174 F +F1144 430.8 Q F0 .843(option is used,)3.343 F F1(type)3.343 E F0 +.843(prints a string which is one of)3.343 F F2(alias)3.343 E F0(,).27 E +F2 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F2(function)3.343 E F0 +(,).24 E F2 -.2(bu)3.342 G(iltin).2 E F0 3.342(,o).24 G(r)-3.342 E F2 +(\214le)5.252 E F0(if)3.522 E F2(name)144.36 442.8 Q F0 .086 +(is an alias, shell reserv)2.766 F .086(ed w)-.15 F .086 +(ord, function, b)-.1 F .087(uiltin, or disk \214le, respecti)-.2 F -.15 +(ve)-.25 G(ly).15 E 5.087(.I)-.65 G 2.587(ft)-5.087 G(he)-2.587 E F2 +(name)2.947 E F0 .087(is not)2.767 F .119 +(found, then nothing is printed, and an e)144 454.8 R .118 +(xit status of f)-.15 F .118(alse is returned.)-.1 F .118(If the)5.118 F +F12.618 E F0 .118(option is used,)2.618 F F1(type)2.618 E F0 .855 +(either returns the name of the disk \214le that w)144 466.8 R .855 +(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F2(name)3.715 E F0 +.855(were speci\214ed as a com-)3.535 F .641(mand name, or nothing if) +144 478.8 R/F6 10/Courier@0 SF .641(type -t name)3.141 F F0 -.1(wo)3.141 +G .641(uld not return).1 F F2(\214le)3.14 E F0 5.64(.T).18 G(he)-5.64 E +F13.14 E F0 .64(option forces a)3.14 F F3 -.666(PA)3.14 G(TH)-.189 +E F0 .112(search for each)144 490.8 R F2(name)2.612 E F0 2.612(,e)C -.15 +(ve)-2.862 G 2.613(ni).15 G(f)-2.613 E F6 .113(type -t name)2.613 F F0 +-.1(wo)2.613 G .113(uld not return).1 F F2(\214le)2.613 E F0 5.113(.I) +.18 G 2.613(fac)-5.113 G .113(ommand is hashed,)-2.613 F F12.613 E +F0(and)144 502.8 Q F12.945 E F0 .445(print the hashed v)2.945 F +.444(alue, not necessarily the \214le that appears \214rst in)-.25 F F3 +-.666(PA)2.944 G(TH)-.189 E F4(.)A F0 .444(If the)4.944 F F12.944 +E F0(option)2.944 E .265(is used,)144 514.8 R F1(type)2.765 E F0 .265 +(prints all of the places that contain an e)2.765 F -.15(xe)-.15 G .265 +(cutable named).15 F F2(name)2.765 E F0 5.265(.T).18 G .265 +(his includes aliases)-5.265 F .427(and functions, if and only if the) +144 526.8 R F12.926 E F0 .426(option is not also used.)2.926 F +.426(The table of hashed commands is not)5.426 F .548 +(consulted when using)144 538.8 R F13.048 E F0 5.548(.T)C(he) +-5.548 E F13.048 E F0 .549 +(option suppresses shell function lookup, as with the)3.048 F F1 +(command)3.049 E F0 -.2(bu)144 550.8 S(iltin.).2 E F1(type)5 E F0 (returns true if all of the ar)2.5 E(guments are found, f)-.18 E -(alse if an)-.1 E 2.5(ya)-.15 G(re not found.)-2.5 E F2(ulimit)108 208.8 -Q F0([)2.5 E F2(\255HST)A(abcde\214lmnpqrstuvx)-.92 E F0([)2.5 E F1 -(limit)A F0(]])A(Pro)144 220.8 Q .243(vides control o)-.15 F -.15(ve) --.15 G 2.743(rt).15 G .243(he resources a)-2.743 F -.25(va)-.2 G .244 +(alse if an)-.1 E 2.5(ya)-.15 G(re not found.)-2.5 E F1(ulimit)108 567.6 +Q F0([)2.5 E F1(\255HST)A(abcde\214lmnpqrstuvx)-.92 E F0([)2.5 E F2 +(limit)A F0(]])A(Pro)144 579.6 Q .244(vides control o)-.15 F -.15(ve) +-.15 G 2.744(rt).15 G .244(he resources a)-2.744 F -.25(va)-.2 G .244 (ilable to the shell and to processes started by it, on systems).25 F -.944(that allo)144 232.8 R 3.444(ws)-.25 G .944(uch control.)-3.444 F -(The)5.944 E F23.444 E F0(and)3.444 E F23.444 E F0 .943 +.943(that allo)144 591.6 R 3.443(ws)-.25 G .943(uch control.)-3.443 F +(The)5.943 E F13.443 E F0(and)3.443 E F13.444 E F0 .944 (options specify that the hard or soft limit is set for the)3.444 F(gi) -144 244.8 Q -.15(ve)-.25 G 2.708(nr).15 G 2.708(esource. A)-2.708 F .208 +144 603.6 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208 (hard limit cannot be increased by a non-root user once it is set; a so\ -ft limit may)2.708 F .426(be increased up to the v)144 256.8 R .426 -(alue of the hard limit.)-.25 F .425(If neither)5.426 F F22.925 E -F0(nor)2.925 E F22.925 E F0 .425 -(is speci\214ed, both the soft and)2.925 F .139(hard limits are set.)144 -268.8 R .139(The v)5.139 F .139(alue of)-.25 F F1(limit)2.729 E F0 .139 +ft limit may)2.709 F .425(be increased up to the v)144 615.6 R .425 +(alue of the hard limit.)-.25 F .426(If neither)5.425 F F12.926 E +F0(nor)2.926 E F12.926 E F0 .426 +(is speci\214ed, both the soft and)2.926 F .139(hard limits are set.)144 +627.6 R .139(The v)5.139 F .139(alue of)-.25 F F2(limit)2.729 E F0 .139 (can be a number in the unit speci\214ed for the resource or one)3.319 F -.742(of the special v)144 280.8 R(alues)-.25 E F2(hard)3.242 E F0(,)A F2 -(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F2(unlimited)3.241 E F0 3.241(,w) +.741(of the special v)144 639.6 R(alues)-.25 E F1(hard)3.241 E F0(,)A F1 +(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F1(unlimited)3.241 E F0 3.241(,w) C .741(hich stand for the current hard limit, the current)-3.241 F .78 -(soft limit, and no limit, respecti)144 292.8 R -.15(ve)-.25 G(ly).15 E -5.78(.I)-.65 G(f)-5.78 E F1(limit)3.37 E F0 .78 +(soft limit, and no limit, respecti)144 651.6 R -.15(ve)-.25 G(ly).15 E +5.78(.I)-.65 G(f)-5.78 E F2(limit)3.37 E F0 .78 (is omitted, the current v)3.96 F .78(alue of the soft limit of the)-.25 -F .499(resource is printed, unless the)144 304.8 R F22.999 E F0 -.499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .498 +F .498(resource is printed, unless the)144 663.6 R F12.999 E F0 +.499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .499 (more than one resource is speci\214ed, the)2.999 F -(limit name and unit are printed before the v)144 316.8 Q 2.5 -(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F2 -144 328.8 Q F0(All current limits are reported)25.3 E F2144 -340.8 Q F0(The maximum sock)24.74 E(et b)-.1 E(uf)-.2 E(fer size)-.25 E -F2144 352.8 Q F0(The maximum size of core \214les created)25.86 E -F2144 364.8 Q F0(The maximum size of a process')24.74 E 2.5(sd) --.55 G(ata se)-2.5 E(gment)-.15 E F2144 376.8 Q F0 -(The maximum scheduling priority \("nice"\))25.86 E F2144 388.8 Q -F0(The maximum size of \214les written by the shell and its children) -26.97 E F2144 400.8 Q F0(The maximum number of pending signals) -27.52 E F2144 412.8 Q F0(The maximum size that may be lock)27.52 E -(ed into memory)-.1 E F2144 424.8 Q F0 +(limit name and unit are printed before the v)144 675.6 Q 2.5 +(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F1 +144 687.6 Q F0(All current limits are reported)25.3 E F1144 +699.6 Q F0(The maximum sock)24.74 E(et b)-.1 E(uf)-.2 E(fer size)-.25 E +F1144 711.6 Q F0(The maximum size of core \214les created)25.86 E +(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(68)197.335 E 0 Cg EP +%%Page: 69 69 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E/F1 10/Times-Bold@0 SF144 84 Q F0 +(The maximum size of a process')24.74 E 2.5(sd)-.55 G(ata se)-2.5 E +(gment)-.15 E F1144 96 Q F0 +(The maximum scheduling priority \("nice"\))25.86 E F1144 108 Q F0 +(The maximum size of \214les written by the shell and its children)26.97 +E F1144 120 Q F0(The maximum number of pending signals)27.52 E F1 +144 132 Q F0(The maximum size that may be lock)27.52 E +(ed into memory)-.1 E F1144 144 Q F0 (The maximum resident set size \(man)21.97 E 2.5(ys)-.15 G -(ystems do not honor this limit\))-2.5 E F2144 436.8 Q F0 .791(Th\ -e maximum number of open \214le descriptors \(most systems do not allo) -24.74 F 3.291(wt)-.25 G .791(his v)-3.291 F .791(alue to)-.25 F -(be set\))180 448.8 Q F2144 460.8 Q F0 -(The pipe size in 512-byte blocks \(this may not be set\))24.74 E F2 -144 472.8 Q F0 -(The maximum number of bytes in POSIX message queues)24.74 E F2144 -484.8 Q F0(The maximum real-time scheduling priority)25.86 E F2144 -496.8 Q F0(The maximum stack size)26.41 E F2144 508.8 Q F0 -(The maximum amount of cpu time in seconds)26.97 E F2144 520.8 Q -F0(The maximum number of processes a)24.74 E -.25(va)-.2 G -(ilable to a single user).25 E F2144 532.8 Q F0 .47 +(ystems do not honor this limit\))-2.5 E F1144 156 Q F0 .791(The \ +maximum number of open \214le descriptors \(most systems do not allo) +24.74 F 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F(be set\))180 +168 Q F1144 180 Q F0 +(The pipe size in 512-byte blocks \(this may not be set\))24.74 E F1 +144 192 Q F0(The maximum number of bytes in POSIX message queues) +24.74 E F1144 204 Q F0(The maximum real-time scheduling priority) +25.86 E F1144 216 Q F0(The maximum stack size)26.41 E F1144 +228 Q F0(The maximum amount of cpu time in seconds)26.97 E F1144 +240 Q F0(The maximum number of processes a)24.74 E -.25(va)-.2 G +(ilable to a single user).25 E F1144 252 Q F0 .47 (The maximum amount of virtual memory a)25.3 F -.25(va)-.2 G .47 -(ilable to the shell and, on some systems, to).25 F(its children)180 -544.8 Q F2144 556.8 Q F0(The maximum number of \214le locks)25.3 E -F2144 568.8 Q F0(The maximum number of threads)23.63 E(If)144 -585.6 Q F1(limit)2.933 E F0 .343(is gi)3.523 F -.15(ve)-.25 G .343 -(n, it is the ne).15 F 2.843(wv)-.25 G .343 -(alue of the speci\214ed resource \(the)-3.093 F F22.843 E F0 .343 -(option is display only\).)2.843 F .343(If no)5.343 F .176(option is gi) -144 597.6 R -.15(ve)-.25 G .176(n, then).15 F F22.676 E F0 .175 -(is assumed.)2.676 F -1.11(Va)5.175 G .175 -(lues are in 1024-byte increments, e)1.11 F .175(xcept for)-.15 F F2 -2.675 E F0 2.675(,w)C .175(hich is in)-2.675 F(seconds,)144 609.6 -Q F22.515 E F0 2.515(,w)C .015 -(hich is in units of 512-byte blocks, and)-2.515 F F22.516 E F0(,) -A F22.516 E F0(,)A F22.516 E F0 2.516(,a)C(nd)-2.516 E F2 -2.516 E F0 2.516(,w)C .016(hich are unscaled v)-2.516 F(al-)-.25 E -3.788(ues. The)144 621.6 R 1.287(return status is 0 unless an in)3.787 F +(ilable to the shell and, on some systems, to).25 F(its children)180 264 +Q F1144 276 Q F0(The maximum number of \214le locks)25.3 E F1 +144 288 Q F0(The maximum number of threads)23.63 E(If)144 304.8 Q +/F2 10/Times-Italic@0 SF(limit)2.933 E F0 .343(is gi)3.523 F -.15(ve) +-.25 G .343(n, it is the ne).15 F 2.843(wv)-.25 G .343 +(alue of the speci\214ed resource \(the)-3.093 F F12.843 E F0 .343 +(option is display only\).)2.843 F .343(If no)5.343 F .175(option is gi) +144 316.8 R -.15(ve)-.25 G .175(n, then).15 F F12.675 E F0 .175 +(is assumed.)2.675 F -1.11(Va)5.175 G .175 +(lues are in 1024-byte increments, e)1.11 F .176(xcept for)-.15 F F1 +2.676 E F0 2.676(,w)C .176(hich is in)-2.676 F(seconds,)144 328.8 +Q F12.516 E F0 2.516(,w)C .016 +(hich is in units of 512-byte blocks, and)-2.516 F F12.516 E F0(,) +A F12.515 E F0(,)A F12.515 E F0 2.515(,a)C(nd)-2.515 E F1 +2.515 E F0 2.515(,w)C .015(hich are unscaled v)-2.515 F(al-)-.25 E +3.787(ues. The)144 340.8 R 1.287(return status is 0 unless an in)3.787 F -.25(va)-.4 G 1.287(lid option or ar).25 F 1.287 (gument is supplied, or an error occurs)-.18 F(while setting a ne)144 -633.6 Q 2.5(wl)-.25 G(imit.)-2.5 E F2(umask)108 650.4 Q F0([)2.5 E F2 -A F0 2.5(][)C F2-2.5 E F0 2.5(][)C F1(mode)-2.5 E F0(])A .2 -(The user \214le-creation mask is set to)144 662.4 R F1(mode)2.7 E F0 -5.2(.I).18 G(f)-5.2 E F1(mode)3.08 E F0(be)2.88 E .2 +352.8 Q 2.5(wl)-.25 G(imit.)-2.5 E F1(umask)108 369.6 Q F0([)2.5 E F1 +A F0 2.5(][)C F1-2.5 E F0 2.5(][)C F2(mode)-2.5 E F0(])A .2 +(The user \214le-creation mask is set to)144 381.6 R F2(mode)2.7 E F0 +5.2(.I).18 G(f)-5.2 E F2(mode)3.08 E F0(be)2.88 E .2 (gins with a digit, it is interpreted as an octal)-.15 F .066(number; o\ therwise it is interpreted as a symbolic mode mask similar to that acce\ -pted by)144 674.4 R F1 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144 -686.4 Q F1(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382 -(alue of the mask is printed.)-.25 F(The)5.382 E F22.882 E F0 .382 +pted by)144 393.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144 +405.6 Q F2(mode)3.263 E F0 .382(is omitted, the current v)3.063 F .382 +(alue of the mask is printed.)-.25 F(The)5.382 E F12.882 E F0 .382 (option causes the mask to be)2.882 F .547 -(printed in symbolic form; the def)144 698.4 R .547 +(printed in symbolic form; the def)144 417.6 R .547 (ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G -(he)-3.047 E F23.047 E F0 .547(option is supplied, and)3.047 F F1 -(mode)144.38 710.4 Q F0 .551 -(is omitted, the output is in a form that may be reused as input.)3.231 -F .552(The return status is 0 if the)5.552 F(mode w)144 722.4 Q -(as successfully changed or if no)-.1 E F1(mode)2.5 E F0(ar)2.5 E -(gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E -(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E(68)195.945 E 0 Cg EP -%%Page: 69 69 -%%BeginPageSetup -BP -%%EndPageSetup -/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Bold@0 SF(unalias)108 84 Q F0<5bad>2.5 E F1(a)A F0 -2.5(][)C/F2 10/Times-Italic@0 SF(name)-2.5 E F0(...])2.5 E(Remo)144 96 Q -1.955 -.15(ve e)-.15 H(ach).15 E F2(name)4.155 E F0 1.655 -(from the list of de\214ned aliases.)4.155 F(If)6.655 E F14.155 E -F0 1.655(is supplied, all alias de\214nitions are)4.155 F(remo)144 108 Q --.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E +(he)-3.047 E F13.047 E F0 .547(option is supplied, and)3.047 F F2 +(mode)144.38 429.6 Q F0 .552 +(is omitted, the output is in a form that may be reused as input.)3.232 +F .551(The return status is 0 if the)5.551 F(mode w)144 441.6 Q +(as successfully changed or if no)-.1 E F2(mode)2.5 E F0(ar)2.5 E +(gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F1 +(unalias)108 458.4 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0 +(...])2.5 E(Remo)144 470.4 Q 1.955 -.15(ve e)-.15 H(ach).15 E F2(name) +4.155 E F0 1.655(from the list of de\214ned aliases.)4.155 F(If)6.655 E +F14.155 E F0 1.655(is supplied, all alias de\214nitions are)4.155 +F(remo)144 482.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E (alue is true unless a supplied)-.25 E F2(name)2.86 E F0 -(is not a de\214ned alias.)2.68 E F1(unset)108 124.8 Q F0<5bad>2.5 E F1 -(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 136.8 S 3.106 -(re).15 G(ach)-3.106 E F2(name)3.106 E F0 3.106(,r).18 G(emo)-3.106 E -.906 -.15(ve t)-.15 H .606(he corresponding v).15 F .607 -(ariable or function.)-.25 F .607(If no options are supplied, or the) -5.607 F F1144 148.8 Q F0 .305(option is gi)2.805 F -.15(ve)-.25 G -.305(n, each).15 F F2(name)3.165 E F0 .305(refers to a shell v)2.985 F -2.805(ariable. Read-only)-.25 F -.25(va)2.805 G .304 -(riables may not be unset.).25 F(If)5.304 E F1144 160.8 Q F0 .459 -(is speci\214ed, each)2.959 F F2(name)3.319 E F0 .459 -(refers to a shell function, and the function de\214nition is remo)3.139 -F -.15(ve)-.15 G 2.96(d. Each).15 F .903(unset v)144 172.8 R .903 +(is not a de\214ned alias.)2.68 E F1(unset)108 499.2 Q F0<5bad>2.5 E F1 +(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 511.2 S 3.107 +(re).15 G(ach)-3.107 E F2(name)3.107 E F0 3.107(,r).18 G(emo)-3.107 E +.907 -.15(ve t)-.15 H .607(he corresponding v).15 F .607 +(ariable or function.)-.25 F .606(If no options are supplied, or the) +5.607 F F1144 523.2 Q F0 .304(option is gi)2.804 F -.15(ve)-.25 G +.304(n, each).15 F F2(name)3.164 E F0 .305(refers to a shell v)2.985 F +2.805(ariable. Read-only)-.25 F -.25(va)2.805 G .305 +(riables may not be unset.).25 F(If)5.305 E F1144 535.2 Q F0 .46 +(is speci\214ed, each)2.96 F F2(name)3.32 E F0 .459 +(refers to a shell function, and the function de\214nition is remo)3.14 +F -.15(ve)-.15 G 2.959(d. Each).15 F .902(unset v)144 547.2 R .902 (ariable or function is remo)-.25 F -.15(ve)-.15 G 3.402(df).15 G .902 -(rom the en)-3.402 F .902(vironment passed to subsequent commands.)-.4 F -(If)5.902 E(an)144 184.8 Q 6.915(yo)-.15 G(f)-6.915 E/F3 9/Times-Bold@0 -SF(COMP_W)6.915 E(ORDBREAKS)-.09 E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM) +(rom the en)-3.402 F .903(vironment passed to subsequent commands.)-.4 F +(If)5.903 E(an)144 559.2 Q 6.916(yo)-.15 G(f)-6.916 E/F3 9/Times-Bold@0 +SF(COMP_W)6.916 E(ORDBREAKS)-.09 E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM) 6.665 E F4(,)A F3(SECONDS)6.665 E F4(,)A F3(LINENO)6.665 E F4(,)A F3 -(HISTCMD)6.666 E F4(,)A F3(FUNCN)6.666 E(AME)-.18 E F4(,)A F3(GR)144 -196.8 Q(OUPS)-.27 E F4(,)A F0(or)2.523 E F3(DIRST)2.773 E -.495(AC)-.81 +(HISTCMD)6.665 E F4(,)A F3(FUNCN)6.665 E(AME)-.18 E F4(,)A F3(GR)144 +571.2 Q(OUPS)-.27 E F4(,)A F0(or)2.522 E F3(DIRST)2.772 E -.495(AC)-.81 G(K).495 E F0 .272(are unset, the)2.522 F 2.772(yl)-.15 G .272 (ose their special properties, e)-2.772 F -.15(ve)-.25 G 2.772(ni).15 G -2.772(ft)-2.772 G(he)-2.772 E 2.772(ya)-.15 G .272(re subsequently) --2.772 F 2.5(reset. The)144 208.8 R -.15(ex)2.5 G +2.772(ft)-2.772 G(he)-2.772 E 2.773(ya)-.15 G .273(re subsequently) +-2.773 F 2.5(reset. The)144 583.2 R -.15(ex)2.5 G (it status is true unless a).15 E F2(name)2.86 E F0(is readonly)2.68 E -(.)-.65 E F1(wait)108 225.6 Q F0([)2.5 E F2 2.5(n.)C(..)-2.5 E F0(])A --.8(Wa)144 237.6 S .288 +(.)-.65 E F1(wait)108 600 Q F0([)2.5 E F2 2.5(n.)C(..)-2.5 E F0(])A -.8 +(Wa)144 612 S .288 (it for each speci\214ed process and return its termination status.).8 F -(Each)5.288 E F2(n)3.148 E F0 .288(may be a process ID or a)3.028 F .722 -(job speci\214cation; if a job spec is gi)144 249.6 R -.15(ve)-.25 G -.722(n, all processes in that job').15 F 3.222(sp)-.55 G .722 -(ipeline are w)-3.222 F .722(aited for)-.1 F 5.722(.I)-.55 G(f)-5.722 E -F2(n)3.582 E F0(is)3.462 E 1.265(not gi)144 261.6 R -.15(ve)-.25 G 1.265 -(n, all currently acti).15 F 1.565 -.15(ve c)-.25 H 1.265 -(hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.266 -(nd the return status is zero.)-3.765 F(If)6.266 E F2(n)4.126 E F0 .457 -(speci\214es a non-e)144 273.6 R .457 +(Each)5.288 E F2(n)3.148 E F0 .287(may be a process ID or a)3.028 F .722 +(job speci\214cation; if a job spec is gi)144 624 R -.15(ve)-.25 G .722 +(n, all processes in that job').15 F 3.222(sp)-.55 G .722(ipeline are w) +-3.222 F .722(aited for)-.1 F 5.722(.I)-.55 G(f)-5.722 E F2(n)3.583 E F0 +(is)3.463 E 1.266(not gi)144 636 R -.15(ve)-.25 G 1.266 +(n, all currently acti).15 F 1.566 -.15(ve c)-.25 H 1.265 +(hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.265 +(nd the return status is zero.)-3.765 F(If)6.265 E F2(n)4.125 E F0 .456 +(speci\214es a non-e)144 648 R .457 (xistent process or job, the return status is 127.)-.15 F .457 -(Otherwise, the return status is the)5.457 F -.15(ex)144 285.6 S +(Otherwise, the return status is the)5.457 F -.15(ex)144 660 S (it status of the last process or job w).15 E(aited for)-.1 E(.)-.55 E -/F5 10.95/Times-Bold@0 SF(RESTRICTED SHELL)72 302.4 Q F0(If)108 314.4 Q -F1(bash)4.396 E F0 1.896(is started with the name)4.396 F F1(rbash)4.397 -E F0 4.397(,o)C 4.397(rt)-4.397 G(he)-4.397 E F14.397 E F0 1.897 -(option is supplied at in)4.397 F -.2(vo)-.4 G 1.897 -(cation, the shell becomes).2 F 3.446(restricted. A)108 326.4 R .945 -(restricted shell is used to set up an en)3.446 F .945 -(vironment more controlled than the standard shell.)-.4 F(It)5.945 E -(beha)108 338.4 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E F1 +/F5 10.95/Times-Bold@0 SF(RESTRICTED SHELL)72 676.8 Q F0(If)108 688.8 Q +F1(bash)4.397 E F0 1.897(is started with the name)4.397 F F1(rbash)4.397 +E F0 4.397(,o)C 4.397(rt)-4.397 G(he)-4.397 E F14.397 E F0 1.896 +(option is supplied at in)4.397 F -.2(vo)-.4 G 1.896 +(cation, the shell becomes).2 F 3.445(restricted. A)108 700.8 R .945 +(restricted shell is used to set up an en)3.445 F .946 +(vironment more controlled than the standard shell.)-.4 F(It)5.946 E +(beha)108 712.8 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E F1 (bash)2.5 E F0(with the e)2.5 E(xception that the follo)-.15 E -(wing are disallo)-.25 E(wed or not performed:)-.25 E 32.5<8363>108 -355.2 S(hanging directories with)-32.5 E F1(cd)2.5 E F0 32.5<8373>108 -372 S(etting or unsetting the v)-32.5 E(alues of)-.25 E F3(SHELL)2.5 E -F4(,)A F3 -.666(PA)2.25 G(TH)-.189 E F4(,)A F3(ENV)2.25 E F4(,)A F0(or) -2.25 E F3 -.27(BA)2.5 G(SH_ENV).27 E F0 32.5<8373>108 388.8 S -(pecifying command names containing)-32.5 E F1(/)2.5 E F0 32.5<8373>108 -405.6 S(pecifying a \214le name containing a)-32.5 E F1(/)2.5 E F0 -(as an ar)2.5 E(gument to the)-.18 E F1(.)2.5 E F0 -.2(bu)5 G -(iltin command).2 E 32.5<8353>108 422.4 S .351 +(wing are disallo)-.25 E(wed or not performed:)-.25 E(GNU Bash-4.1)72 +768 Q(2010 May 30)147.345 E(69)197.335 E 0 Cg EP +%%Page: 70 70 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) +-.35 E 32.5<8363>108 84 S(hanging directories with)-32.5 E/F1 10 +/Times-Bold@0 SF(cd)2.5 E F0 32.5<8373>108 100.8 S +(etting or unsetting the v)-32.5 E(alues of)-.25 E/F2 9/Times-Bold@0 SF +(SHELL)2.5 E/F3 9/Times-Roman@0 SF(,)A F2 -.666(PA)2.25 G(TH)-.189 E F3 +(,)A F2(ENV)2.25 E F3(,)A F0(or)2.25 E F2 -.27(BA)2.5 G(SH_ENV).27 E F0 +32.5<8373>108 117.6 S(pecifying command names containing)-32.5 E F1(/) +2.5 E F0 32.5<8373>108 134.4 S(pecifying a \214le name containing a) +-32.5 E F1(/)2.5 E F0(as an ar)2.5 E(gument to the)-.18 E F1(.)2.5 E F0 +-.2(bu)5 G(iltin command).2 E 32.5<8353>108 151.2 S .351 (pecifying a \214lename containing a slash as an ar)-32.5 F .351 (gument to the)-.18 F F12.851 E F0 .351(option to the)2.851 F F1 -(hash)2.852 E F0 -.2(bu)2.852 G .352(iltin com-).2 F(mand)144 434.4 Q -32.5<8369>108 451.2 S(mporting function de\214nitions from the shell en) --32.5 E(vironment at startup)-.4 E 32.5<8370>108 468 S(arsing the v) --32.5 E(alue of)-.25 E F3(SHELLOPTS)2.5 E F0(from the shell en)2.25 E -(vironment at startup)-.4 E 32.5<8372>108 484.8 S(edirecting output usi\ +(hash)2.851 E F0 -.2(bu)2.851 G .351(iltin com-).2 F(mand)144 163.2 Q +32.5<8369>108 180 S(mporting function de\214nitions from the shell en) +-32.5 E(vironment at startup)-.4 E 32.5<8370>108 196.8 S(arsing the v) +-32.5 E(alue of)-.25 E F2(SHELLOPTS)2.5 E F0(from the shell en)2.25 E +(vironment at startup)-.4 E 32.5<8372>108 213.6 S(edirecting output usi\ ng the >, >|, <>, >&, &>, and >> redirection operators)-32.5 E 32.5 -<8375>108 501.6 S(sing the)-32.5 E F1(exec)2.5 E F0 -.2(bu)2.5 G +<8375>108 230.4 S(sing the)-32.5 E F1(exec)2.5 E F0 -.2(bu)2.5 G (iltin command to replace the shell with another command).2 E 32.5<8361> -108 518.4 S(dding or deleting b)-32.5 E(uiltin commands with the)-.2 E +108 247.2 S(dding or deleting b)-32.5 E(uiltin commands with the)-.2 E F12.5 E F0(and)2.5 E F12.5 E F0(options to the)2.5 E F1 -(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8355>108 535.2 S +(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8355>108 264 S (sing the)-32.5 E F1(enable)2.5 E F0 -.2(bu)2.5 G (iltin command to enable disabled shell b).2 E(uiltins)-.2 E 32.5<8373> -108 552 S(pecifying the)-32.5 E F12.5 E F0(option to the)2.5 E F1 -(command)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8374>108 568.8 S -(urning of)-32.5 E 2.5(fr)-.25 G(estricted mode with)-2.5 E F1(set +r) +108 280.8 S(pecifying the)-32.5 E F12.5 E F0(option to the)2.5 E +F1(command)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8374>108 297.6 +S(urning of)-32.5 E 2.5(fr)-.25 G(estricted mode with)-2.5 E F1(set +r) 2.5 E F0(or)2.5 E F1(set +o r)2.5 E(estricted)-.18 E F0(.)A -(These restrictions are enforced after an)108 585.6 Q 2.5(ys)-.15 G +(These restrictions are enforced after an)108 314.4 Q 2.5(ys)-.15 G (tartup \214les are read.)-2.5 E 1.566 -(When a command that is found to be a shell script is e)108 602.4 R -.15 -(xe)-.15 G 1.566(cuted \(see).15 F F3 1.566(COMMAND EXECUTION)4.066 F F0 -(abo)3.816 E -.15(ve)-.15 G(\),).15 E F1(rbash)108 614.4 Q F0(turns of) +(When a command that is found to be a shell script is e)108 331.2 R -.15 +(xe)-.15 G 1.567(cuted \(see).15 F F2 1.567(COMMAND EXECUTION)4.067 F F0 +(abo)3.817 E -.15(ve)-.15 G(\),).15 E F1(rbash)108 343.2 Q F0(turns of) 2.5 E 2.5(fa)-.25 G .3 -.15(ny r)-2.5 H(estrictions in the shell spa).15 -E(wned to e)-.15 E -.15(xe)-.15 G(cute the script.).15 E F5(SEE ALSO)72 -631.2 Q F2(Bash Refer)108 643.2 Q(ence Manual)-.37 E F0 2.5(,B)C(rian F) --2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F2(The Gnu Readline Libr)108 -655.2 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y) --.15 E F2(The Gnu History Libr)108 667.2 Q(ary)-.15 E F0 2.5(,B)C -(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F2 -.8(Po)108 679.2 S -(rtable Oper).8 E(ating System Interface \(POSIX\) P)-.15 E -(art 2: Shell and Utilities)-.8 E F0 2.5(,I)C(EEE)-2.5 E F2(sh)108 691.2 -Q F0(\(1\),)A F2(ksh)2.5 E F0(\(1\),)A F2(csh)2.5 E F0(\(1\))A F2(emacs) -108 703.2 Q F0(\(1\),)A F2(vi)2.5 E F0(\(1\))A(GNU Bash-4.1)72 768 Q -(2010 April 17)145.955 E(69)195.945 E 0 Cg EP -%%Page: 70 70 +E(wned to e)-.15 E -.15(xe)-.15 G(cute the script.).15 E/F4 10.95 +/Times-Bold@0 SF(SEE ALSO)72 360 Q/F5 10/Times-Italic@0 SF(Bash Refer) +108 372 Q(ence Manual)-.37 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame) +-.15 E(y)-.15 E F5(The Gnu Readline Libr)108 384 Q(ary)-.15 E F0 2.5(,B) +C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F5 +(The Gnu History Libr)108 396 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E +(ox and Chet Rame)-.15 E(y)-.15 E F5 -.8(Po)108 408 S(rtable Oper).8 E +(ating System Interface \(POSIX\) P)-.15 E(art 2: Shell and Utilities) +-.8 E F0 2.5(,I)C(EEE)-2.5 E F5(sh)108 420 Q F0(\(1\),)A F5(ksh)2.5 E F0 +(\(1\),)A F5(csh)2.5 E F0(\(1\))A F5(emacs)108 432 Q F0(\(1\),)A F5(vi) +2.5 E F0(\(1\))A F5 -.37(re)108 444 S(adline).37 E F0(\(3\))A F4(FILES) +72 460.8 Q F5(/bin/bash)109.666 472.8 Q F0(The)144 484.8 Q F1(bash)2.5 E +F0 -.15(exe)2.5 G(cutable).15 E F5(/etc/pr)109.666 496.8 Q(o\214le)-.45 +E F0(The systemwide initialization \214le, e)144 508.8 Q -.15(xe)-.15 G +(cuted for login shells).15 E F5(~/.bash_pr)109.666 520.8 Q(o\214le)-.45 +E F0(The personal initialization \214le, e)144 532.8 Q -.15(xe)-.15 G +(cuted for login shells).15 E F5(~/.bashr)109.666 544.8 Q(c)-.37 E F0 +(The indi)144 556.8 Q(vidual per)-.25 E(-interacti)-.2 E -.15(ve)-.25 G +(-shell startup \214le).15 E F5(~/.bash_lo)109.666 568.8 Q(gout)-.1 E F0 +(The indi)144 580.8 Q(vidual login shell cleanup \214le, e)-.25 E -.15 +(xe)-.15 G(cuted when a login shell e).15 E(xits)-.15 E F5(~/.inputr) +109.666 592.8 Q(c)-.37 E F0(Indi)144 604.8 Q(vidual)-.25 E F5 -.37(re) +2.5 G(adline).37 E F0(initialization \214le)2.5 E F4 -.548(AU)72 621.6 S +(THORS).548 E F0(Brian F)108 633.6 Q(ox, Free Softw)-.15 E(are F)-.1 E +(oundation)-.15 E(bfox@gnu.or)108 645.6 Q(g)-.18 E(Chet Rame)108 662.4 Q +1.3 -.65(y, C)-.15 H(ase W).65 E(estern Reserv)-.8 E 2.5(eU)-.15 G(ni) +-2.5 E -.15(ve)-.25 G(rsity).15 E(chet.rame)108 674.4 Q(y@case.edu)-.15 +E F4 -.11(BU)72 691.2 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .568 +(If you \214nd a b)108 703.2 R .568(ug in)-.2 F F1(bash,)3.068 E F0 .568 +(you should report it.)3.068 F .568(But \214rst, you should mak)5.568 F +3.068(es)-.1 G .568(ure that it really is a b)-3.068 F .567(ug, and)-.2 +F 5.625(that it appears in the latest v)108 715.2 R 5.625(ersion of)-.15 +F F1(bash)8.125 E F0 10.625(.T)C 5.625(he latest v)-10.625 F 5.626 +(ersion is al)-.15 F -.1(wa)-.1 G 5.626(ys a).1 F -.25(va)-.2 G 5.626 +(ilable from).25 F F5(ftp://ftp.gnu.or)108 727.2 Q(g/pub/gnu/bash/)-.37 +E F0(.)A(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E(70)197.335 E 0 Cg +EP +%%Page: 71 71 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\)) --.35 E/F1 10/Times-Italic@0 SF -.37(re)108 84 S(adline).37 E F0(\(3\))A -/F2 10.95/Times-Bold@0 SF(FILES)72 100.8 Q F1(/bin/bash)109.666 112.8 Q -F0(The)144 124.8 Q/F3 10/Times-Bold@0 SF(bash)2.5 E F0 -.15(exe)2.5 G -(cutable).15 E F1(/etc/pr)109.666 136.8 Q(o\214le)-.45 E F0 -(The systemwide initialization \214le, e)144 148.8 Q -.15(xe)-.15 G -(cuted for login shells).15 E F1(~/.bash_pr)109.666 160.8 Q(o\214le)-.45 -E F0(The personal initialization \214le, e)144 172.8 Q -.15(xe)-.15 G -(cuted for login shells).15 E F1(~/.bashr)109.666 184.8 Q(c)-.37 E F0 -(The indi)144 196.8 Q(vidual per)-.25 E(-interacti)-.2 E -.15(ve)-.25 G -(-shell startup \214le).15 E F1(~/.bash_lo)109.666 208.8 Q(gout)-.1 E F0 -(The indi)144 220.8 Q(vidual login shell cleanup \214le, e)-.25 E -.15 -(xe)-.15 G(cuted when a login shell e).15 E(xits)-.15 E F1(~/.inputr) -109.666 232.8 Q(c)-.37 E F0(Indi)144 244.8 Q(vidual)-.25 E F1 -.37(re) -2.5 G(adline).37 E F0(initialization \214le)2.5 E F2 -.548(AU)72 261.6 S -(THORS).548 E F0(Brian F)108 273.6 Q(ox, Free Softw)-.15 E(are F)-.1 E -(oundation)-.15 E(bfox@gnu.or)108 285.6 Q(g)-.18 E(Chet Rame)108 302.4 Q -1.3 -.65(y, C)-.15 H(ase W).65 E(estern Reserv)-.8 E 2.5(eU)-.15 G(ni) --2.5 E -.15(ve)-.25 G(rsity).15 E(chet.rame)108 314.4 Q(y@case.edu)-.15 -E F2 -.11(BU)72 331.2 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .567 -(If you \214nd a b)108 343.2 R .568(ug in)-.2 F F3(bash,)3.068 E F0 .568 -(you should report it.)3.068 F .568(But \214rst, you should mak)5.568 F -3.068(es)-.1 G .568(ure that it really is a b)-3.068 F .568(ug, and)-.2 -F 5.626(that it appears in the latest v)108 355.2 R 5.625(ersion of)-.15 -F F3(bash)8.125 E F0 10.625(.T)C 5.625(he latest v)-10.625 F 5.625 -(ersion is al)-.15 F -.1(wa)-.1 G 5.625(ys a).1 F -.25(va)-.2 G 5.625 -(ilable from).25 F F1(ftp://ftp.gnu.or)108 367.2 Q(g/pub/gnu/bash/)-.37 -E F0(.)A .41(Once you ha)108 384 R .71 -.15(ve d)-.2 H .41 -(etermined that a b).15 F .41(ug actually e)-.2 F .411(xists, use the) --.15 F F1(bashb)3.181 E(ug)-.2 E F0 .411(command to submit a b)3.131 F -.411(ug report.)-.2 F(If)5.411 E .595(you ha)108 396 R .895 -.15 -(ve a \214)-.2 H .595(x, you are encouraged to mail that as well!).15 F -.594(Suggestions and `philosophical' b)5.595 F .594(ug reports may)-.2 F -(be mailed to)108 408 Q F1 -.2(bu)2.5 G(g-bash@gnu.or).2 E(g)-.37 E F0 -(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E F3(gnu.bash.b)2.5 E(ug) --.2 E F0(.)A(ALL b)108 424.8 Q(ug reports should include:)-.2 E(The v) -108 441.6 Q(ersion number of)-.15 E F3(bash)2.5 E F0(The hardw)108 453.6 -Q(are and operating system)-.1 E(The compiler used to compile)108 465.6 -Q 2.5(Ad)108 477.6 S(escription of the b)-2.5 E(ug beha)-.2 E(viour)-.2 -E 2.5(As)108 489.6 S(hort script or `recipe' which e)-2.5 E -.15(xe)-.15 -G(rcises the b).15 E(ug)-.2 E F1(bashb)108.27 506.4 Q(ug)-.2 E F0 +-.35 E .411(Once you ha)108 84 R .711 -.15(ve d)-.2 H .411 +(etermined that a b).15 F .411(ug actually e)-.2 F .411(xists, use the) +-.15 F/F1 10/Times-Italic@0 SF(bashb)3.18 E(ug)-.2 E F0 .41 +(command to submit a b)3.13 F .41(ug report.)-.2 F(If)5.41 E .594 +(you ha)108 96 R .894 -.15(ve a \214)-.2 H .595 +(x, you are encouraged to mail that as well!).15 F .595 +(Suggestions and `philosophical' b)5.595 F .595(ug reports may)-.2 F +(be mailed to)108 108 Q F1 -.2(bu)2.5 G(g-bash@gnu.or).2 E(g)-.37 E F0 +(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E/F2 10/Times-Bold@0 SF +(gnu.bash.b)2.5 E(ug)-.2 E F0(.)A(ALL b)108 124.8 Q +(ug reports should include:)-.2 E(The v)108 141.6 Q(ersion number of) +-.15 E F2(bash)2.5 E F0(The hardw)108 153.6 Q(are and operating system) +-.1 E(The compiler used to compile)108 165.6 Q 2.5(Ad)108 177.6 S +(escription of the b)-2.5 E(ug beha)-.2 E(viour)-.2 E 2.5(As)108 189.6 S +(hort script or `recipe' which e)-2.5 E -.15(xe)-.15 G(rcises the b).15 +E(ug)-.2 E F1(bashb)108.27 206.4 Q(ug)-.2 E F0 (inserts the \214rst three items automatically into the template it pro) 2.72 E(vides for \214ling a b)-.15 E(ug report.)-.2 E(Comments and b)108 -523.2 Q(ug reports concerning this manual page should be directed to)-.2 -E F1 -.15(ch)2.5 G(et@po.cwru.edu).15 E F0(.).25 E F2 -.11(BU)72 540 S -(GS).11 E F0(It')108 552 Q 2.5(st)-.55 G(oo big and too slo)-2.5 E -.65 -(w.)-.25 G 1.868(There are some subtle dif)108 568.8 R 1.868 -(ferences between)-.25 F F3(bash)4.369 E F0 1.869(and traditional v) -4.369 F 1.869(ersions of)-.15 F F3(sh)4.369 E F0 4.369(,m)C 1.869 -(ostly because of the)-4.369 F/F4 9/Times-Bold@0 SF(POSIX)108 580.8 Q F0 -(speci\214cation.)2.25 E(Aliases are confusing in some uses.)108 597.6 Q -(Shell b)108 614.4 Q +223.2 Q(ug reports concerning this manual page should be directed to)-.2 +E F1 -.15(ch)2.5 G(et@po.cwru.edu).15 E F0(.).25 E/F3 10.95/Times-Bold@0 +SF -.11(BU)72 240 S(GS).11 E F0(It')108 252 Q 2.5(st)-.55 G +(oo big and too slo)-2.5 E -.65(w.)-.25 G 1.869 +(There are some subtle dif)108 268.8 R 1.869(ferences between)-.25 F F2 +(bash)4.369 E F0 1.869(and traditional v)4.369 F 1.869(ersions of)-.15 F +F2(sh)4.368 E F0 4.368(,m)C 1.868(ostly because of the)-4.368 F/F4 9 +/Times-Bold@0 SF(POSIX)108 280.8 Q F0(speci\214cation.)2.25 E +(Aliases are confusing in some uses.)108 297.6 Q(Shell b)108 314.4 Q (uiltin commands and functions are not stoppable/restartable.)-.2 E 1.315(Compound commands and command sequences of the form `a ; b ; c' a\ -re not handled gracefully when)108 631.2 R .389 -(process suspension is attempted.)108 643.2 R .389 -(When a process is stopped, the shell immediately e)5.389 F -.15(xe)-.15 -G .39(cutes the ne).15 F .39(xt com-)-.15 F .193(mand in the sequence.) -108 655.2 R .192(It suf)5.193 F .192(\214ces to place the sequence of c\ -ommands between parentheses to force it into a)-.25 F -(subshell, which may be stopped as a unit.)108 667.2 Q(Array v)108 684 Q -(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E -(There may be only one acti)108 700.8 Q .3 -.15(ve c)-.25 H -(oprocess at a time.).15 E(GNU Bash-4.1)72 768 Q(2010 April 17)145.955 E -(70)195.945 E 0 Cg EP +re not handled gracefully when)108 331.2 R .39 +(process suspension is attempted.)108 343.2 R .389 +(When a process is stopped, the shell immediately e)5.39 F -.15(xe)-.15 +G .389(cutes the ne).15 F .389(xt com-)-.15 F .192 +(mand in the sequence.)108 355.2 R .192(It suf)5.192 F .192(\214ces to \ +place the sequence of commands between parentheses to force it into a) +-.25 F(subshell, which may be stopped as a unit.)108 367.2 Q(Array v)108 +384 Q(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E +(There may be only one acti)108 400.8 Q .3 -.15(ve c)-.25 H +(oprocess at a time.).15 E(GNU Bash-4.1)72 768 Q(2010 May 30)147.345 E +(71)197.335 E 0 Cg EP %%Trailer end %%EOF diff --git a/doc/bashref.aux b/doc/bashref.aux index f901e06c2..428e2e0ed 100644 --- a/doc/bashref.aux +++ b/doc/bashref.aux @@ -40,195 +40,198 @@ @xrdef{Comments-snt}{Section@tie 3.1.3} @xrdef{Shell Commands-title}{Shell Commands} @xrdef{Shell Commands-snt}{Section@tie 3.2} -@xrdef{Simple Commands-title}{Simple Commands} -@xrdef{Simple Commands-snt}{Section@tie 3.2.1} @xrdef{Locale Translation-pg}{7} @xrdef{Comments-pg}{7} -@xrdef{Shell Commands-pg}{7} +@xrdef{Simple Commands-title}{Simple Commands} +@xrdef{Simple Commands-snt}{Section@tie 3.2.1} @xrdef{Pipelines-title}{Pipelines} @xrdef{Pipelines-snt}{Section@tie 3.2.2} -@xrdef{Lists-title}{Lists of Commands} -@xrdef{Lists-snt}{Section@tie 3.2.3} +@xrdef{Shell Commands-pg}{8} @xrdef{Simple Commands-pg}{8} @xrdef{Pipelines-pg}{8} -@xrdef{Lists-pg}{8} +@xrdef{Lists-title}{Lists of Commands} +@xrdef{Lists-snt}{Section@tie 3.2.3} @xrdef{Compound Commands-title}{Compound Commands} @xrdef{Compound Commands-snt}{Section@tie 3.2.4} @xrdef{Looping Constructs-title}{Looping Constructs} @xrdef{Looping Constructs-snt}{Section@tie 3.2.4.1} +@xrdef{Lists-pg}{9} @xrdef{Compound Commands-pg}{9} -@xrdef{Looping Constructs-pg}{9} @xrdef{Conditional Constructs-title}{Conditional Constructs} @xrdef{Conditional Constructs-snt}{Section@tie 3.2.4.2} +@xrdef{Looping Constructs-pg}{10} @xrdef{Conditional Constructs-pg}{10} @xrdef{Command Grouping-title}{Grouping Commands} @xrdef{Command Grouping-snt}{Section@tie 3.2.4.3} +@xrdef{Command Grouping-pg}{13} @xrdef{Coprocesses-title}{Coprocesses} @xrdef{Coprocesses-snt}{Section@tie 3.2.5} -@xrdef{Command Grouping-pg}{13} +@xrdef{GNU Parallel-title}{GNU Parallel} +@xrdef{GNU Parallel-snt}{Section@tie 3.2.6} +@xrdef{Coprocesses-pg}{14} +@xrdef{GNU Parallel-pg}{14} @xrdef{Shell Functions-title}{Shell Functions} @xrdef{Shell Functions-snt}{Section@tie 3.3} -@xrdef{Coprocesses-pg}{14} -@xrdef{Shell Functions-pg}{14} +@xrdef{Shell Functions-pg}{15} @xrdef{Shell Parameters-title}{Shell Parameters} @xrdef{Shell Parameters-snt}{Section@tie 3.4} -@xrdef{Shell Parameters-pg}{15} @xrdef{Positional Parameters-title}{Positional Parameters} @xrdef{Positional Parameters-snt}{Section@tie 3.4.1} @xrdef{Special Parameters-title}{Special Parameters} @xrdef{Special Parameters-snt}{Section@tie 3.4.2} -@xrdef{Positional Parameters-pg}{16} -@xrdef{Special Parameters-pg}{16} +@xrdef{Shell Parameters-pg}{17} +@xrdef{Positional Parameters-pg}{17} @xrdef{Shell Expansions-title}{Shell Expansions} @xrdef{Shell Expansions-snt}{Section@tie 3.5} -@xrdef{Shell Expansions-pg}{17} +@xrdef{Special Parameters-pg}{18} +@xrdef{Shell Expansions-pg}{18} @xrdef{Brace Expansion-title}{Brace Expansion} @xrdef{Brace Expansion-snt}{Section@tie 3.5.1} +@xrdef{Brace Expansion-pg}{19} @xrdef{Tilde Expansion-title}{Tilde Expansion} @xrdef{Tilde Expansion-snt}{Section@tie 3.5.2} -@xrdef{Brace Expansion-pg}{18} +@xrdef{Tilde Expansion-pg}{20} @xrdef{Shell Parameter Expansion-title}{Shell Parameter Expansion} @xrdef{Shell Parameter Expansion-snt}{Section@tie 3.5.3} -@xrdef{Tilde Expansion-pg}{19} -@xrdef{Shell Parameter Expansion-pg}{19} +@xrdef{Shell Parameter Expansion-pg}{21} @xrdef{Command Substitution-title}{Command Substitution} @xrdef{Command Substitution-snt}{Section@tie 3.5.4} -@xrdef{Command Substitution-pg}{22} @xrdef{Arithmetic Expansion-title}{Arithmetic Expansion} @xrdef{Arithmetic Expansion-snt}{Section@tie 3.5.5} @xrdef{Process Substitution-title}{Process Substitution} @xrdef{Process Substitution-snt}{Section@tie 3.5.6} @xrdef{Word Splitting-title}{Word Splitting} @xrdef{Word Splitting-snt}{Section@tie 3.5.7} -@xrdef{Arithmetic Expansion-pg}{23} -@xrdef{Process Substitution-pg}{23} -@xrdef{Word Splitting-pg}{23} +@xrdef{Command Substitution-pg}{24} +@xrdef{Arithmetic Expansion-pg}{24} +@xrdef{Process Substitution-pg}{24} @xrdef{Filename Expansion-title}{Filename Expansion} @xrdef{Filename Expansion-snt}{Section@tie 3.5.8} @xrdef{Pattern Matching-title}{Pattern Matching} @xrdef{Pattern Matching-snt}{Section@tie 3.5.8.1} -@xrdef{Filename Expansion-pg}{24} -@xrdef{Pattern Matching-pg}{24} +@xrdef{Word Splitting-pg}{25} +@xrdef{Filename Expansion-pg}{25} +@xrdef{Pattern Matching-pg}{26} @xrdef{Quote Removal-title}{Quote Removal} @xrdef{Quote Removal-snt}{Section@tie 3.5.9} @xrdef{Redirections-title}{Redirections} @xrdef{Redirections-snt}{Section@tie 3.6} -@xrdef{Quote Removal-pg}{25} -@xrdef{Redirections-pg}{26} +@xrdef{Quote Removal-pg}{27} +@xrdef{Redirections-pg}{27} @xrdef{Executing Commands-title}{Executing Commands} @xrdef{Executing Commands-snt}{Section@tie 3.7} @xrdef{Simple Command Expansion-title}{Simple Command Expansion} @xrdef{Simple Command Expansion-snt}{Section@tie 3.7.1} -@xrdef{Executing Commands-pg}{29} -@xrdef{Simple Command Expansion-pg}{29} +@xrdef{Executing Commands-pg}{30} +@xrdef{Simple Command Expansion-pg}{30} @xrdef{Command Search and Execution-title}{Command Search and Execution} @xrdef{Command Search and Execution-snt}{Section@tie 3.7.2} +@xrdef{Command Search and Execution-pg}{31} @xrdef{Command Execution Environment-title}{Command Execution Environment} @xrdef{Command Execution Environment-snt}{Section@tie 3.7.3} -@xrdef{Command Search and Execution-pg}{30} -@xrdef{Command Execution Environment-pg}{30} +@xrdef{Command Execution Environment-pg}{32} @xrdef{Environment-title}{Environment} @xrdef{Environment-snt}{Section@tie 3.7.4} -@xrdef{Environment-pg}{31} @xrdef{Exit Status-title}{Exit Status} @xrdef{Exit Status-snt}{Section@tie 3.7.5} +@xrdef{Environment-pg}{33} +@xrdef{Exit Status-pg}{33} @xrdef{Signals-title}{Signals} @xrdef{Signals-snt}{Section@tie 3.7.6} -@xrdef{Exit Status-pg}{32} -@xrdef{Signals-pg}{32} @xrdef{Shell Scripts-title}{Shell Scripts} @xrdef{Shell Scripts-snt}{Section@tie 3.8} -@xrdef{Shell Scripts-pg}{33} +@xrdef{Signals-pg}{34} +@xrdef{Shell Scripts-pg}{34} @xrdef{Shell Builtin Commands-title}{Shell Builtin Commands} @xrdef{Shell Builtin Commands-snt}{Chapter@tie 4} @xrdef{Bourne Shell Builtins-title}{Bourne Shell Builtins} @xrdef{Bourne Shell Builtins-snt}{Section@tie 4.1} -@xrdef{Shell Builtin Commands-pg}{35} -@xrdef{Bourne Shell Builtins-pg}{35} +@xrdef{Shell Builtin Commands-pg}{37} +@xrdef{Bourne Shell Builtins-pg}{37} @xrdef{Bash Builtins-title}{Bash Builtin Commands} @xrdef{Bash Builtins-snt}{Section@tie 4.2} -@xrdef{Bash Builtins-pg}{41} +@xrdef{Bash Builtins-pg}{43} @xrdef{Modifying Shell Behavior-title}{Modifying Shell Behavior} @xrdef{Modifying Shell Behavior-snt}{Section@tie 4.3} @xrdef{The Set Builtin-title}{The Set Builtin} @xrdef{The Set Builtin-snt}{Section@tie 4.3.1} -@xrdef{Modifying Shell Behavior-pg}{51} -@xrdef{The Set Builtin-pg}{51} +@xrdef{Modifying Shell Behavior-pg}{53} +@xrdef{The Set Builtin-pg}{53} @xrdef{The Shopt Builtin-title}{The Shopt Builtin} @xrdef{The Shopt Builtin-snt}{Section@tie 4.3.2} -@xrdef{The Shopt Builtin-pg}{55} +@xrdef{The Shopt Builtin-pg}{57} @xrdef{Special Builtins-title}{Special Builtins} @xrdef{Special Builtins-snt}{Section@tie 4.4} -@xrdef{Special Builtins-pg}{59} +@xrdef{Special Builtins-pg}{62} @xrdef{Shell Variables-title}{Shell Variables} @xrdef{Shell Variables-snt}{Chapter@tie 5} @xrdef{Bourne Shell Variables-title}{Bourne Shell Variables} @xrdef{Bourne Shell Variables-snt}{Section@tie 5.1} @xrdef{Bash Variables-title}{Bash Variables} @xrdef{Bash Variables-snt}{Section@tie 5.2} -@xrdef{Shell Variables-pg}{61} -@xrdef{Bourne Shell Variables-pg}{61} -@xrdef{Bash Variables-pg}{61} +@xrdef{Shell Variables-pg}{63} +@xrdef{Bourne Shell Variables-pg}{63} +@xrdef{Bash Variables-pg}{63} @xrdef{Bash Features-title}{Bash Features} @xrdef{Bash Features-snt}{Chapter@tie 6} @xrdef{Invoking Bash-title}{Invoking Bash} @xrdef{Invoking Bash-snt}{Section@tie 6.1} -@xrdef{Bash Features-pg}{71} -@xrdef{Invoking Bash-pg}{71} +@xrdef{Bash Features-pg}{73} +@xrdef{Invoking Bash-pg}{73} @xrdef{Bash Startup Files-title}{Bash Startup Files} @xrdef{Bash Startup Files-snt}{Section@tie 6.2} -@xrdef{Bash Startup Files-pg}{73} +@xrdef{Bash Startup Files-pg}{75} @xrdef{Interactive Shells-title}{Interactive Shells} @xrdef{Interactive Shells-snt}{Section@tie 6.3} @xrdef{What is an Interactive Shell?-title}{What is an Interactive Shell?} @xrdef{What is an Interactive Shell?-snt}{Section@tie 6.3.1} -@xrdef{Interactive Shells-pg}{74} +@xrdef{Interactive Shells-pg}{76} @xrdef{Is this Shell Interactive?-title}{Is this Shell Interactive?} @xrdef{Is this Shell Interactive?-snt}{Section@tie 6.3.2} @xrdef{Interactive Shell Behavior-title}{Interactive Shell Behavior} @xrdef{Interactive Shell Behavior-snt}{Section@tie 6.3.3} -@xrdef{What is an Interactive Shell?-pg}{75} -@xrdef{Is this Shell Interactive?-pg}{75} -@xrdef{Interactive Shell Behavior-pg}{75} +@xrdef{What is an Interactive Shell?-pg}{77} +@xrdef{Is this Shell Interactive?-pg}{77} +@xrdef{Interactive Shell Behavior-pg}{77} @xrdef{Bash Conditional Expressions-title}{Bash Conditional Expressions} @xrdef{Bash Conditional Expressions-snt}{Section@tie 6.4} -@xrdef{Bash Conditional Expressions-pg}{76} +@xrdef{Bash Conditional Expressions-pg}{78} @xrdef{Shell Arithmetic-title}{Shell Arithmetic} @xrdef{Shell Arithmetic-snt}{Section@tie 6.5} -@xrdef{Shell Arithmetic-pg}{78} +@xrdef{Shell Arithmetic-pg}{80} @xrdef{Aliases-title}{Aliases} @xrdef{Aliases-snt}{Section@tie 6.6} -@xrdef{Aliases-pg}{79} +@xrdef{Aliases-pg}{81} @xrdef{Arrays-title}{Arrays} @xrdef{Arrays-snt}{Section@tie 6.7} -@xrdef{Arrays-pg}{80} +@xrdef{Arrays-pg}{82} @xrdef{The Directory Stack-title}{The Directory Stack} @xrdef{The Directory Stack-snt}{Section@tie 6.8} @xrdef{Directory Stack Builtins-title}{Directory Stack Builtins} @xrdef{Directory Stack Builtins-snt}{Section@tie 6.8.1} -@xrdef{The Directory Stack-pg}{81} -@xrdef{Directory Stack Builtins-pg}{81} +@xrdef{The Directory Stack-pg}{83} +@xrdef{Directory Stack Builtins-pg}{83} @xrdef{Printing a Prompt-title}{Controlling the Prompt} @xrdef{Printing a Prompt-snt}{Section@tie 6.9} -@xrdef{Printing a Prompt-pg}{82} +@xrdef{Printing a Prompt-pg}{84} @xrdef{The Restricted Shell-title}{The Restricted Shell} @xrdef{The Restricted Shell-snt}{Section@tie 6.10} @xrdef{Bash POSIX Mode-title}{Bash POSIX Mode} @xrdef{Bash POSIX Mode-snt}{Section@tie 6.11} -@xrdef{The Restricted Shell-pg}{84} -@xrdef{Bash POSIX Mode-pg}{84} +@xrdef{The Restricted Shell-pg}{86} +@xrdef{Bash POSIX Mode-pg}{86} @xrdef{Job Control-title}{Job Control} @xrdef{Job Control-snt}{Chapter@tie 7} @xrdef{Job Control Basics-title}{Job Control Basics} @xrdef{Job Control Basics-snt}{Section@tie 7.1} -@xrdef{Job Control-pg}{89} -@xrdef{Job Control Basics-pg}{89} +@xrdef{Job Control-pg}{91} +@xrdef{Job Control Basics-pg}{91} @xrdef{Job Control Builtins-title}{Job Control Builtins} @xrdef{Job Control Builtins-snt}{Section@tie 7.2} -@xrdef{Job Control Builtins-pg}{90} +@xrdef{Job Control Builtins-pg}{92} @xrdef{Job Control Variables-title}{Job Control Variables} @xrdef{Job Control Variables-snt}{Section@tie 7.3} -@xrdef{Job Control Variables-pg}{92} +@xrdef{Job Control Variables-pg}{94} @xrdef{Command Line Editing-title}{Command Line Editing} @xrdef{Command Line Editing-snt}{Chapter@tie 8} @xrdef{Introduction and Notation-title}{Introduction to Line Editing} @@ -237,142 +240,142 @@ @xrdef{Readline Interaction-snt}{Section@tie 8.2} @xrdef{Readline Bare Essentials-title}{Readline Bare Essentials} @xrdef{Readline Bare Essentials-snt}{Section@tie 8.2.1} -@xrdef{Command Line Editing-pg}{93} -@xrdef{Introduction and Notation-pg}{93} -@xrdef{Readline Interaction-pg}{93} +@xrdef{Command Line Editing-pg}{95} +@xrdef{Introduction and Notation-pg}{95} +@xrdef{Readline Interaction-pg}{95} @xrdef{Readline Movement Commands-title}{Readline Movement Commands} @xrdef{Readline Movement Commands-snt}{Section@tie 8.2.2} @xrdef{Readline Killing Commands-title}{Readline Killing Commands} @xrdef{Readline Killing Commands-snt}{Section@tie 8.2.3} -@xrdef{Readline Bare Essentials-pg}{94} -@xrdef{Readline Movement Commands-pg}{94} +@xrdef{Readline Bare Essentials-pg}{96} +@xrdef{Readline Movement Commands-pg}{96} @xrdef{Readline Arguments-title}{Readline Arguments} @xrdef{Readline Arguments-snt}{Section@tie 8.2.4} @xrdef{Searching-title}{Searching for Commands in the History} @xrdef{Searching-snt}{Section@tie 8.2.5} -@xrdef{Readline Killing Commands-pg}{95} -@xrdef{Readline Arguments-pg}{95} -@xrdef{Searching-pg}{95} +@xrdef{Readline Killing Commands-pg}{97} +@xrdef{Readline Arguments-pg}{97} +@xrdef{Searching-pg}{97} @xrdef{Readline Init File-title}{Readline Init File} @xrdef{Readline Init File-snt}{Section@tie 8.3} @xrdef{Readline Init File Syntax-title}{Readline Init File Syntax} @xrdef{Readline Init File Syntax-snt}{Section@tie 8.3.1} -@xrdef{Readline Init File-pg}{96} -@xrdef{Readline Init File Syntax-pg}{96} +@xrdef{Readline Init File-pg}{98} +@xrdef{Readline Init File Syntax-pg}{98} @xrdef{Conditional Init Constructs-title}{Conditional Init Constructs} @xrdef{Conditional Init Constructs-snt}{Section@tie 8.3.2} -@xrdef{Conditional Init Constructs-pg}{102} +@xrdef{Conditional Init Constructs-pg}{104} @xrdef{Sample Init File-title}{Sample Init File} @xrdef{Sample Init File-snt}{Section@tie 8.3.3} -@xrdef{Sample Init File-pg}{103} +@xrdef{Sample Init File-pg}{105} @xrdef{Bindable Readline Commands-title}{Bindable Readline Commands} @xrdef{Bindable Readline Commands-snt}{Section@tie 8.4} @xrdef{Commands For Moving-title}{Commands For Moving} @xrdef{Commands For Moving-snt}{Section@tie 8.4.1} @xrdef{Commands For History-title}{Commands For Manipulating The History} @xrdef{Commands For History-snt}{Section@tie 8.4.2} -@xrdef{Bindable Readline Commands-pg}{106} -@xrdef{Commands For Moving-pg}{106} -@xrdef{Commands For History-pg}{107} +@xrdef{Bindable Readline Commands-pg}{108} +@xrdef{Commands For Moving-pg}{108} +@xrdef{Commands For History-pg}{109} @xrdef{Commands For Text-title}{Commands For Changing Text} @xrdef{Commands For Text-snt}{Section@tie 8.4.3} -@xrdef{Commands For Text-pg}{108} +@xrdef{Commands For Text-pg}{110} @xrdef{Commands For Killing-title}{Killing And Yanking} @xrdef{Commands For Killing-snt}{Section@tie 8.4.4} -@xrdef{Commands For Killing-pg}{109} +@xrdef{Commands For Killing-pg}{111} @xrdef{Numeric Arguments-title}{Specifying Numeric Arguments} @xrdef{Numeric Arguments-snt}{Section@tie 8.4.5} @xrdef{Commands For Completion-title}{Letting Readline Type For You} @xrdef{Commands For Completion-snt}{Section@tie 8.4.6} -@xrdef{Numeric Arguments-pg}{110} -@xrdef{Commands For Completion-pg}{110} +@xrdef{Numeric Arguments-pg}{112} +@xrdef{Commands For Completion-pg}{112} @xrdef{Keyboard Macros-title}{Keyboard Macros} @xrdef{Keyboard Macros-snt}{Section@tie 8.4.7} @xrdef{Miscellaneous Commands-title}{Some Miscellaneous Commands} @xrdef{Miscellaneous Commands-snt}{Section@tie 8.4.8} -@xrdef{Keyboard Macros-pg}{112} -@xrdef{Miscellaneous Commands-pg}{112} +@xrdef{Keyboard Macros-pg}{114} +@xrdef{Miscellaneous Commands-pg}{114} @xrdef{Readline vi Mode-title}{Readline vi Mode} @xrdef{Readline vi Mode-snt}{Section@tie 8.5} @xrdef{Programmable Completion-title}{Programmable Completion} @xrdef{Programmable Completion-snt}{Section@tie 8.6} -@xrdef{Readline vi Mode-pg}{115} -@xrdef{Programmable Completion-pg}{115} +@xrdef{Readline vi Mode-pg}{117} +@xrdef{Programmable Completion-pg}{117} @xrdef{Programmable Completion Builtins-title}{Programmable Completion Builtins} @xrdef{Programmable Completion Builtins-snt}{Section@tie 8.7} -@xrdef{Programmable Completion Builtins-pg}{117} +@xrdef{Programmable Completion Builtins-pg}{119} @xrdef{Using History Interactively-title}{Using History Interactively} @xrdef{Using History Interactively-snt}{Chapter@tie 9} @xrdef{Bash History Facilities-title}{Bash History Facilities} @xrdef{Bash History Facilities-snt}{Section@tie 9.1} @xrdef{Bash History Builtins-title}{Bash History Builtins} @xrdef{Bash History Builtins-snt}{Section@tie 9.2} -@xrdef{Using History Interactively-pg}{121} -@xrdef{Bash History Facilities-pg}{121} -@xrdef{Bash History Builtins-pg}{121} +@xrdef{Using History Interactively-pg}{123} +@xrdef{Bash History Facilities-pg}{123} +@xrdef{Bash History Builtins-pg}{123} @xrdef{History Interaction-title}{History Expansion} @xrdef{History Interaction-snt}{Section@tie 9.3} @xrdef{Event Designators-title}{Event Designators} @xrdef{Event Designators-snt}{Section@tie 9.3.1} -@xrdef{History Interaction-pg}{123} -@xrdef{Event Designators-pg}{123} +@xrdef{History Interaction-pg}{125} +@xrdef{Event Designators-pg}{125} @xrdef{Word Designators-title}{Word Designators} @xrdef{Word Designators-snt}{Section@tie 9.3.2} -@xrdef{Word Designators-pg}{124} +@xrdef{Word Designators-pg}{126} @xrdef{Modifiers-title}{Modifiers} @xrdef{Modifiers-snt}{Section@tie 9.3.3} -@xrdef{Modifiers-pg}{125} +@xrdef{Modifiers-pg}{127} @xrdef{Installing Bash-title}{Installing Bash} @xrdef{Installing Bash-snt}{Chapter@tie 10} @xrdef{Basic Installation-title}{Basic Installation} @xrdef{Basic Installation-snt}{Section@tie 10.1} @xrdef{Compilers and Options-title}{Compilers and Options} @xrdef{Compilers and Options-snt}{Section@tie 10.2} -@xrdef{Installing Bash-pg}{127} -@xrdef{Basic Installation-pg}{127} +@xrdef{Installing Bash-pg}{129} +@xrdef{Basic Installation-pg}{129} @xrdef{Compiling For Multiple Architectures-title}{Compiling For Multiple Architectures} @xrdef{Compiling For Multiple Architectures-snt}{Section@tie 10.3} @xrdef{Installation Names-title}{Installation Names} @xrdef{Installation Names-snt}{Section@tie 10.4} @xrdef{Specifying the System Type-title}{Specifying the System Type} @xrdef{Specifying the System Type-snt}{Section@tie 10.5} -@xrdef{Compilers and Options-pg}{128} -@xrdef{Compiling For Multiple Architectures-pg}{128} -@xrdef{Installation Names-pg}{128} -@xrdef{Specifying the System Type-pg}{128} +@xrdef{Compilers and Options-pg}{130} +@xrdef{Compiling For Multiple Architectures-pg}{130} +@xrdef{Installation Names-pg}{130} +@xrdef{Specifying the System Type-pg}{130} @xrdef{Sharing Defaults-title}{Sharing Defaults} @xrdef{Sharing Defaults-snt}{Section@tie 10.6} @xrdef{Operation Controls-title}{Operation Controls} @xrdef{Operation Controls-snt}{Section@tie 10.7} @xrdef{Optional Features-title}{Optional Features} @xrdef{Optional Features-snt}{Section@tie 10.8} -@xrdef{Sharing Defaults-pg}{129} -@xrdef{Operation Controls-pg}{129} -@xrdef{Optional Features-pg}{129} +@xrdef{Sharing Defaults-pg}{131} +@xrdef{Operation Controls-pg}{131} +@xrdef{Optional Features-pg}{131} @xrdef{Reporting Bugs-title}{Reporting Bugs} @xrdef{Reporting Bugs-snt}{Appendix@tie @char65{}} -@xrdef{Reporting Bugs-pg}{135} +@xrdef{Reporting Bugs-pg}{137} @xrdef{Major Differences From The Bourne Shell-title}{Major Differences From The Bourne Shell} @xrdef{Major Differences From The Bourne Shell-snt}{Appendix@tie @char66{}} -@xrdef{Major Differences From The Bourne Shell-pg}{137} +@xrdef{Major Differences From The Bourne Shell-pg}{139} @xrdef{GNU Free Documentation License-title}{GNU Free Documentation License} @xrdef{GNU Free Documentation License-snt}{Appendix@tie @char67{}} -@xrdef{GNU Free Documentation License-pg}{143} +@xrdef{GNU Free Documentation License-pg}{145} @xrdef{Indexes-title}{Indexes} @xrdef{Indexes-snt}{Appendix@tie @char68{}} @xrdef{Builtin Index-title}{Index of Shell Builtin Commands} @xrdef{Builtin Index-snt}{Section@tie @char68.1} -@xrdef{Indexes-pg}{151} -@xrdef{Builtin Index-pg}{151} +@xrdef{Indexes-pg}{153} +@xrdef{Builtin Index-pg}{153} @xrdef{Reserved Word Index-title}{Index of Shell Reserved Words} @xrdef{Reserved Word Index-snt}{Section@tie @char68.2} @xrdef{Variable Index-title}{Parameter and Variable Index} @xrdef{Variable Index-snt}{Section@tie @char68.3} -@xrdef{Reserved Word Index-pg}{152} -@xrdef{Variable Index-pg}{152} +@xrdef{Reserved Word Index-pg}{154} +@xrdef{Variable Index-pg}{154} @xrdef{Function Index-title}{Function Index} @xrdef{Function Index-snt}{Section@tie @char68.4} -@xrdef{Function Index-pg}{154} +@xrdef{Function Index-pg}{156} @xrdef{Concept Index-title}{Concept Index} @xrdef{Concept Index-snt}{Section@tie @char68.5} -@xrdef{Concept Index-pg}{156} +@xrdef{Concept Index-pg}{158} diff --git a/doc/bashref.bt b/doc/bashref.bt index 9b65ad071..99dbf88a9 100644 --- a/doc/bashref.bt +++ b/doc/bashref.bt @@ -1,59 +1,59 @@ -\entry{:}{35}{\code {:}} -\entry{.}{35}{\code {.}} -\entry{break}{35}{\code {break}} -\entry{cd}{36}{\code {cd}} -\entry{continue}{36}{\code {continue}} -\entry{eval}{36}{\code {eval}} -\entry{exec}{36}{\code {exec}} -\entry{exit}{36}{\code {exit}} -\entry{export}{36}{\code {export}} -\entry{getopts}{37}{\code {getopts}} -\entry{hash}{37}{\code {hash}} -\entry{pwd}{38}{\code {pwd}} -\entry{readonly}{38}{\code {readonly}} -\entry{return}{38}{\code {return}} -\entry{shift}{38}{\code {shift}} -\entry{test}{39}{\code {test}} -\entry{[}{39}{\code {[}} -\entry{times}{40}{\code {times}} -\entry{trap}{40}{\code {trap}} -\entry{umask}{41}{\code {umask}} -\entry{unset}{41}{\code {unset}} -\entry{alias}{41}{\code {alias}} -\entry{bind}{41}{\code {bind}} -\entry{builtin}{43}{\code {builtin}} -\entry{caller}{43}{\code {caller}} -\entry{command}{43}{\code {command}} -\entry{declare}{43}{\code {declare}} -\entry{echo}{45}{\code {echo}} -\entry{enable}{45}{\code {enable}} -\entry{help}{46}{\code {help}} -\entry{let}{46}{\code {let}} -\entry{local}{46}{\code {local}} -\entry{logout}{46}{\code {logout}} -\entry{mapfile}{46}{\code {mapfile}} -\entry{printf}{47}{\code {printf}} -\entry{read}{47}{\code {read}} -\entry{readarray}{49}{\code {readarray}} -\entry{source}{49}{\code {source}} -\entry{type}{49}{\code {type}} -\entry{typeset}{49}{\code {typeset}} -\entry{ulimit}{50}{\code {ulimit}} -\entry{unalias}{51}{\code {unalias}} -\entry{set}{51}{\code {set}} -\entry{shopt}{55}{\code {shopt}} -\entry{dirs}{81}{\code {dirs}} -\entry{popd}{82}{\code {popd}} -\entry{pushd}{82}{\code {pushd}} -\entry{bg}{90}{\code {bg}} -\entry{fg}{90}{\code {fg}} -\entry{jobs}{90}{\code {jobs}} -\entry{kill}{91}{\code {kill}} -\entry{wait}{91}{\code {wait}} -\entry{disown}{91}{\code {disown}} -\entry{suspend}{91}{\code {suspend}} -\entry{compgen}{117}{\code {compgen}} -\entry{complete}{117}{\code {complete}} -\entry{compopt}{120}{\code {compopt}} -\entry{fc}{121}{\code {fc}} -\entry{history}{122}{\code {history}} +\entry{:}{37}{\code {:}} +\entry{.}{37}{\code {.}} +\entry{break}{37}{\code {break}} +\entry{cd}{38}{\code {cd}} +\entry{continue}{38}{\code {continue}} +\entry{eval}{38}{\code {eval}} +\entry{exec}{38}{\code {exec}} +\entry{exit}{38}{\code {exit}} +\entry{export}{38}{\code {export}} +\entry{getopts}{39}{\code {getopts}} +\entry{hash}{39}{\code {hash}} +\entry{pwd}{40}{\code {pwd}} +\entry{readonly}{40}{\code {readonly}} +\entry{return}{40}{\code {return}} +\entry{shift}{40}{\code {shift}} +\entry{test}{41}{\code {test}} +\entry{[}{41}{\code {[}} +\entry{times}{42}{\code {times}} +\entry{trap}{42}{\code {trap}} +\entry{umask}{43}{\code {umask}} +\entry{unset}{43}{\code {unset}} +\entry{alias}{43}{\code {alias}} +\entry{bind}{43}{\code {bind}} +\entry{builtin}{45}{\code {builtin}} +\entry{caller}{45}{\code {caller}} +\entry{command}{45}{\code {command}} +\entry{declare}{45}{\code {declare}} +\entry{echo}{47}{\code {echo}} +\entry{enable}{47}{\code {enable}} +\entry{help}{48}{\code {help}} +\entry{let}{48}{\code {let}} +\entry{local}{48}{\code {local}} +\entry{logout}{48}{\code {logout}} +\entry{mapfile}{49}{\code {mapfile}} +\entry{printf}{49}{\code {printf}} +\entry{read}{50}{\code {read}} +\entry{readarray}{51}{\code {readarray}} +\entry{source}{51}{\code {source}} +\entry{type}{51}{\code {type}} +\entry{typeset}{52}{\code {typeset}} +\entry{ulimit}{52}{\code {ulimit}} +\entry{unalias}{53}{\code {unalias}} +\entry{set}{53}{\code {set}} +\entry{shopt}{57}{\code {shopt}} +\entry{dirs}{83}{\code {dirs}} +\entry{popd}{84}{\code {popd}} +\entry{pushd}{84}{\code {pushd}} +\entry{bg}{92}{\code {bg}} +\entry{fg}{92}{\code {fg}} +\entry{jobs}{92}{\code {jobs}} +\entry{kill}{93}{\code {kill}} +\entry{wait}{93}{\code {wait}} +\entry{disown}{93}{\code {disown}} +\entry{suspend}{93}{\code {suspend}} +\entry{compgen}{119}{\code {compgen}} +\entry{complete}{119}{\code {complete}} +\entry{compopt}{122}{\code {compopt}} +\entry{fc}{123}{\code {fc}} +\entry{history}{124}{\code {history}} diff --git a/doc/bashref.bts b/doc/bashref.bts index 75c4cb1e0..81befbb42 100644 --- a/doc/bashref.bts +++ b/doc/bashref.bts @@ -1,80 +1,80 @@ \initial {.} -\entry {\code {.}}{35} +\entry {\code {.}}{37} \initial {:} -\entry {\code {:}}{35} +\entry {\code {:}}{37} \initial {[} -\entry {\code {[}}{39} +\entry {\code {[}}{41} \initial {A} -\entry {\code {alias}}{41} +\entry {\code {alias}}{43} \initial {B} -\entry {\code {bg}}{90} -\entry {\code {bind}}{41} -\entry {\code {break}}{35} -\entry {\code {builtin}}{43} +\entry {\code {bg}}{92} +\entry {\code {bind}}{43} +\entry {\code {break}}{37} +\entry {\code {builtin}}{45} \initial {C} -\entry {\code {caller}}{43} -\entry {\code {cd}}{36} -\entry {\code {command}}{43} -\entry {\code {compgen}}{117} -\entry {\code {complete}}{117} -\entry {\code {compopt}}{120} -\entry {\code {continue}}{36} +\entry {\code {caller}}{45} +\entry {\code {cd}}{38} +\entry {\code {command}}{45} +\entry {\code {compgen}}{119} +\entry {\code {complete}}{119} +\entry {\code {compopt}}{122} +\entry {\code {continue}}{38} \initial {D} -\entry {\code {declare}}{43} -\entry {\code {dirs}}{81} -\entry {\code {disown}}{91} +\entry {\code {declare}}{45} +\entry {\code {dirs}}{83} +\entry {\code {disown}}{93} \initial {E} -\entry {\code {echo}}{45} -\entry {\code {enable}}{45} -\entry {\code {eval}}{36} -\entry {\code {exec}}{36} -\entry {\code {exit}}{36} -\entry {\code {export}}{36} +\entry {\code {echo}}{47} +\entry {\code {enable}}{47} +\entry {\code {eval}}{38} +\entry {\code {exec}}{38} +\entry {\code {exit}}{38} +\entry {\code {export}}{38} \initial {F} -\entry {\code {fc}}{121} -\entry {\code {fg}}{90} +\entry {\code {fc}}{123} +\entry {\code {fg}}{92} \initial {G} -\entry {\code {getopts}}{37} +\entry {\code {getopts}}{39} \initial {H} -\entry {\code {hash}}{37} -\entry {\code {help}}{46} -\entry {\code {history}}{122} +\entry {\code {hash}}{39} +\entry {\code {help}}{48} +\entry {\code {history}}{124} \initial {J} -\entry {\code {jobs}}{90} +\entry {\code {jobs}}{92} \initial {K} -\entry {\code {kill}}{91} +\entry {\code {kill}}{93} \initial {L} -\entry {\code {let}}{46} -\entry {\code {local}}{46} -\entry {\code {logout}}{46} +\entry {\code {let}}{48} +\entry {\code {local}}{48} +\entry {\code {logout}}{48} \initial {M} -\entry {\code {mapfile}}{46} +\entry {\code {mapfile}}{49} \initial {P} -\entry {\code {popd}}{82} -\entry {\code {printf}}{47} -\entry {\code {pushd}}{82} -\entry {\code {pwd}}{38} +\entry {\code {popd}}{84} +\entry {\code {printf}}{49} +\entry {\code {pushd}}{84} +\entry {\code {pwd}}{40} \initial {R} -\entry {\code {read}}{47} -\entry {\code {readarray}}{49} -\entry {\code {readonly}}{38} -\entry {\code {return}}{38} +\entry {\code {read}}{50} +\entry {\code {readarray}}{51} +\entry {\code {readonly}}{40} +\entry {\code {return}}{40} \initial {S} -\entry {\code {set}}{51} -\entry {\code {shift}}{38} -\entry {\code {shopt}}{55} -\entry {\code {source}}{49} -\entry {\code {suspend}}{91} +\entry {\code {set}}{53} +\entry {\code {shift}}{40} +\entry {\code {shopt}}{57} +\entry {\code {source}}{51} +\entry {\code {suspend}}{93} \initial {T} -\entry {\code {test}}{39} -\entry {\code {times}}{40} -\entry {\code {trap}}{40} -\entry {\code {type}}{49} -\entry {\code {typeset}}{49} +\entry {\code {test}}{41} +\entry {\code {times}}{42} +\entry {\code {trap}}{42} +\entry {\code {type}}{51} +\entry {\code {typeset}}{52} \initial {U} -\entry {\code {ulimit}}{50} -\entry {\code {umask}}{41} -\entry {\code {unalias}}{51} -\entry {\code {unset}}{41} +\entry {\code {ulimit}}{52} +\entry {\code {umask}}{43} +\entry {\code {unalias}}{53} +\entry {\code {unset}}{43} \initial {W} -\entry {\code {wait}}{91} +\entry {\code {wait}}{93} diff --git a/doc/bashref.cp b/doc/bashref.cp index d4447943e..a6873d91a 100644 --- a/doc/bashref.cp +++ b/doc/bashref.cp @@ -26,93 +26,93 @@ \entry{native languages}{7}{native languages} \entry{translation, native languages}{7}{translation, native languages} \entry{comments, shell}{7}{comments, shell} -\entry{commands, shell}{7}{commands, shell} +\entry{commands, shell}{8}{commands, shell} \entry{commands, simple}{8}{commands, simple} \entry{pipeline}{8}{pipeline} \entry{commands, pipelines}{8}{commands, pipelines} \entry{command timing}{8}{command timing} -\entry{commands, lists}{8}{commands, lists} +\entry{commands, lists}{9}{commands, lists} \entry{commands, compound}{9}{commands, compound} -\entry{commands, looping}{9}{commands, looping} +\entry{commands, looping}{10}{commands, looping} \entry{commands, conditional}{10}{commands, conditional} \entry{commands, grouping}{13}{commands, grouping} \entry{coprocess}{14}{coprocess} -\entry{shell function}{14}{shell function} -\entry{functions, shell}{14}{functions, shell} -\entry{parameters}{15}{parameters} -\entry{variable, shell}{15}{variable, shell} -\entry{shell variable}{15}{shell variable} -\entry{parameters, positional}{16}{parameters, positional} -\entry{parameters, special}{16}{parameters, special} -\entry{expansion}{17}{expansion} -\entry{brace expansion}{18}{brace expansion} -\entry{expansion, brace}{18}{expansion, brace} -\entry{tilde expansion}{19}{tilde expansion} -\entry{expansion, tilde}{19}{expansion, tilde} -\entry{parameter expansion}{19}{parameter expansion} -\entry{expansion, parameter}{19}{expansion, parameter} -\entry{command substitution}{22}{command substitution} -\entry{expansion, arithmetic}{23}{expansion, arithmetic} -\entry{arithmetic expansion}{23}{arithmetic expansion} -\entry{process substitution}{23}{process substitution} -\entry{word splitting}{23}{word splitting} -\entry{expansion, filename}{24}{expansion, filename} -\entry{expansion, pathname}{24}{expansion, pathname} -\entry{filename expansion}{24}{filename expansion} -\entry{pathname expansion}{24}{pathname expansion} -\entry{pattern matching}{24}{pattern matching} -\entry{matching, pattern}{24}{matching, pattern} -\entry{redirection}{26}{redirection} -\entry{command expansion}{29}{command expansion} -\entry{command execution}{30}{command execution} -\entry{command search}{30}{command search} -\entry{execution environment}{30}{execution environment} -\entry{environment}{31}{environment} -\entry{exit status}{32}{exit status} -\entry{signal handling}{32}{signal handling} -\entry{shell script}{33}{shell script} -\entry{special builtin}{59}{special builtin} -\entry{login shell}{73}{login shell} -\entry{interactive shell}{73}{interactive shell} -\entry{startup files}{73}{startup files} -\entry{interactive shell}{74}{interactive shell} -\entry{shell, interactive}{74}{shell, interactive} -\entry{expressions, conditional}{76}{expressions, conditional} -\entry{arithmetic, shell}{78}{arithmetic, shell} -\entry{shell arithmetic}{78}{shell arithmetic} -\entry{expressions, arithmetic}{78}{expressions, arithmetic} -\entry{evaluation, arithmetic}{78}{evaluation, arithmetic} -\entry{arithmetic evaluation}{78}{arithmetic evaluation} -\entry{alias expansion}{79}{alias expansion} -\entry{arrays}{80}{arrays} -\entry{directory stack}{81}{directory stack} -\entry{prompting}{82}{prompting} -\entry{restricted shell}{84}{restricted shell} -\entry{POSIX Mode}{84}{POSIX Mode} -\entry{job control}{89}{job control} -\entry{foreground}{89}{foreground} -\entry{background}{89}{background} -\entry{suspending jobs}{89}{suspending jobs} -\entry{Readline, how to use}{92}{Readline, how to use} -\entry{interaction, readline}{93}{interaction, readline} -\entry{notation, readline}{94}{notation, readline} -\entry{command editing}{94}{command editing} -\entry{editing command lines}{94}{editing command lines} -\entry{killing text}{95}{killing text} -\entry{yanking text}{95}{yanking text} -\entry{kill ring}{95}{kill ring} -\entry{initialization file, readline}{96}{initialization file, readline} -\entry{variables, readline}{97}{variables, readline} -\entry{programmable completion}{115}{programmable completion} -\entry{completion builtins}{117}{completion builtins} -\entry{History, how to use}{120}{History, how to use} -\entry{command history}{121}{command history} -\entry{history list}{121}{history list} -\entry{history builtins}{121}{history builtins} -\entry{history expansion}{123}{history expansion} -\entry{event designators}{123}{event designators} -\entry{history events}{123}{history events} -\entry{installation}{127}{installation} -\entry{configuration}{127}{configuration} -\entry{Bash installation}{127}{Bash installation} -\entry{Bash configuration}{127}{Bash configuration} +\entry{shell function}{15}{shell function} +\entry{functions, shell}{15}{functions, shell} +\entry{parameters}{17}{parameters} +\entry{variable, shell}{17}{variable, shell} +\entry{shell variable}{17}{shell variable} +\entry{parameters, positional}{17}{parameters, positional} +\entry{parameters, special}{18}{parameters, special} +\entry{expansion}{18}{expansion} +\entry{brace expansion}{19}{brace expansion} +\entry{expansion, brace}{19}{expansion, brace} +\entry{tilde expansion}{20}{tilde expansion} +\entry{expansion, tilde}{20}{expansion, tilde} +\entry{parameter expansion}{21}{parameter expansion} +\entry{expansion, parameter}{21}{expansion, parameter} +\entry{command substitution}{24}{command substitution} +\entry{expansion, arithmetic}{24}{expansion, arithmetic} +\entry{arithmetic expansion}{24}{arithmetic expansion} +\entry{process substitution}{24}{process substitution} +\entry{word splitting}{25}{word splitting} +\entry{expansion, filename}{25}{expansion, filename} +\entry{expansion, pathname}{25}{expansion, pathname} +\entry{filename expansion}{25}{filename expansion} +\entry{pathname expansion}{25}{pathname expansion} +\entry{pattern matching}{26}{pattern matching} +\entry{matching, pattern}{26}{matching, pattern} +\entry{redirection}{27}{redirection} +\entry{command expansion}{30}{command expansion} +\entry{command execution}{31}{command execution} +\entry{command search}{31}{command search} +\entry{execution environment}{32}{execution environment} +\entry{environment}{33}{environment} +\entry{exit status}{33}{exit status} +\entry{signal handling}{34}{signal handling} +\entry{shell script}{34}{shell script} +\entry{special builtin}{62}{special builtin} +\entry{login shell}{75}{login shell} +\entry{interactive shell}{75}{interactive shell} +\entry{startup files}{75}{startup files} +\entry{interactive shell}{76}{interactive shell} +\entry{shell, interactive}{76}{shell, interactive} +\entry{expressions, conditional}{78}{expressions, conditional} +\entry{arithmetic, shell}{80}{arithmetic, shell} +\entry{shell arithmetic}{80}{shell arithmetic} +\entry{expressions, arithmetic}{80}{expressions, arithmetic} +\entry{evaluation, arithmetic}{80}{evaluation, arithmetic} +\entry{arithmetic evaluation}{80}{arithmetic evaluation} +\entry{alias expansion}{81}{alias expansion} +\entry{arrays}{82}{arrays} +\entry{directory stack}{83}{directory stack} +\entry{prompting}{84}{prompting} +\entry{restricted shell}{86}{restricted shell} +\entry{POSIX Mode}{86}{POSIX Mode} +\entry{job control}{91}{job control} +\entry{foreground}{91}{foreground} +\entry{background}{91}{background} +\entry{suspending jobs}{91}{suspending jobs} +\entry{Readline, how to use}{94}{Readline, how to use} +\entry{interaction, readline}{95}{interaction, readline} +\entry{notation, readline}{96}{notation, readline} +\entry{command editing}{96}{command editing} +\entry{editing command lines}{96}{editing command lines} +\entry{killing text}{97}{killing text} +\entry{yanking text}{97}{yanking text} +\entry{kill ring}{97}{kill ring} +\entry{initialization file, readline}{98}{initialization file, readline} +\entry{variables, readline}{99}{variables, readline} +\entry{programmable completion}{117}{programmable completion} +\entry{completion builtins}{119}{completion builtins} +\entry{History, how to use}{122}{History, how to use} +\entry{command history}{123}{command history} +\entry{history list}{123}{history list} +\entry{history builtins}{123}{history builtins} +\entry{history expansion}{125}{history expansion} +\entry{event designators}{125}{event designators} +\entry{history events}{125}{history events} +\entry{installation}{129}{installation} +\entry{configuration}{129}{configuration} +\entry{Bash installation}{129}{Bash installation} +\entry{Bash configuration}{129}{Bash configuration} diff --git a/doc/bashref.cps b/doc/bashref.cps index 572521c31..5f447090b 100644 --- a/doc/bashref.cps +++ b/doc/bashref.cps @@ -1,136 +1,136 @@ \initial {A} -\entry {alias expansion}{79} -\entry {arithmetic evaluation}{78} -\entry {arithmetic expansion}{23} -\entry {arithmetic, shell}{78} -\entry {arrays}{80} +\entry {alias expansion}{81} +\entry {arithmetic evaluation}{80} +\entry {arithmetic expansion}{24} +\entry {arithmetic, shell}{80} +\entry {arrays}{82} \initial {B} -\entry {background}{89} -\entry {Bash configuration}{127} -\entry {Bash installation}{127} +\entry {background}{91} +\entry {Bash configuration}{129} +\entry {Bash installation}{129} \entry {Bourne shell}{5} -\entry {brace expansion}{18} +\entry {brace expansion}{19} \entry {builtin}{3} \initial {C} -\entry {command editing}{94} -\entry {command execution}{30} -\entry {command expansion}{29} -\entry {command history}{121} -\entry {command search}{30} -\entry {command substitution}{22} +\entry {command editing}{96} +\entry {command execution}{31} +\entry {command expansion}{30} +\entry {command history}{123} +\entry {command search}{31} +\entry {command substitution}{24} \entry {command timing}{8} \entry {commands, compound}{9} \entry {commands, conditional}{10} \entry {commands, grouping}{13} -\entry {commands, lists}{8} -\entry {commands, looping}{9} +\entry {commands, lists}{9} +\entry {commands, looping}{10} \entry {commands, pipelines}{8} -\entry {commands, shell}{7} +\entry {commands, shell}{8} \entry {commands, simple}{8} \entry {comments, shell}{7} -\entry {completion builtins}{117} -\entry {configuration}{127} +\entry {completion builtins}{119} +\entry {configuration}{129} \entry {control operator}{3} \entry {coprocess}{14} \initial {D} -\entry {directory stack}{81} +\entry {directory stack}{83} \initial {E} -\entry {editing command lines}{94} -\entry {environment}{31} -\entry {evaluation, arithmetic}{78} -\entry {event designators}{123} -\entry {execution environment}{30} -\entry {exit status}{3, 32} -\entry {expansion}{17} -\entry {expansion, arithmetic}{23} -\entry {expansion, brace}{18} -\entry {expansion, filename}{24} -\entry {expansion, parameter}{19} -\entry {expansion, pathname}{24} -\entry {expansion, tilde}{19} -\entry {expressions, arithmetic}{78} -\entry {expressions, conditional}{76} +\entry {editing command lines}{96} +\entry {environment}{33} +\entry {evaluation, arithmetic}{80} +\entry {event designators}{125} +\entry {execution environment}{32} +\entry {exit status}{3, 33} +\entry {expansion}{18} +\entry {expansion, arithmetic}{24} +\entry {expansion, brace}{19} +\entry {expansion, filename}{25} +\entry {expansion, parameter}{21} +\entry {expansion, pathname}{25} +\entry {expansion, tilde}{20} +\entry {expressions, arithmetic}{80} +\entry {expressions, conditional}{78} \initial {F} \entry {field}{3} \entry {filename}{3} -\entry {filename expansion}{24} -\entry {foreground}{89} -\entry {functions, shell}{14} +\entry {filename expansion}{25} +\entry {foreground}{91} +\entry {functions, shell}{15} \initial {H} -\entry {history builtins}{121} -\entry {history events}{123} -\entry {history expansion}{123} -\entry {history list}{121} -\entry {History, how to use}{120} +\entry {history builtins}{123} +\entry {history events}{125} +\entry {history expansion}{125} +\entry {history list}{123} +\entry {History, how to use}{122} \initial {I} \entry {identifier}{3} -\entry {initialization file, readline}{96} -\entry {installation}{127} -\entry {interaction, readline}{93} -\entry {interactive shell}{73, 74} +\entry {initialization file, readline}{98} +\entry {installation}{129} +\entry {interaction, readline}{95} +\entry {interactive shell}{75, 76} \entry {internationalization}{7} \initial {J} \entry {job}{3} -\entry {job control}{3, 89} +\entry {job control}{3, 91} \initial {K} -\entry {kill ring}{95} -\entry {killing text}{95} +\entry {kill ring}{97} +\entry {killing text}{97} \initial {L} \entry {localization}{7} -\entry {login shell}{73} +\entry {login shell}{75} \initial {M} -\entry {matching, pattern}{24} +\entry {matching, pattern}{26} \entry {metacharacter}{3} \initial {N} \entry {name}{3} \entry {native languages}{7} -\entry {notation, readline}{94} +\entry {notation, readline}{96} \initial {O} \entry {operator, shell}{3} \initial {P} -\entry {parameter expansion}{19} -\entry {parameters}{15} -\entry {parameters, positional}{16} -\entry {parameters, special}{16} -\entry {pathname expansion}{24} -\entry {pattern matching}{24} +\entry {parameter expansion}{21} +\entry {parameters}{17} +\entry {parameters, positional}{17} +\entry {parameters, special}{18} +\entry {pathname expansion}{25} +\entry {pattern matching}{26} \entry {pipeline}{8} \entry {POSIX}{3} -\entry {POSIX Mode}{84} +\entry {POSIX Mode}{86} \entry {process group}{3} \entry {process group ID}{3} -\entry {process substitution}{23} -\entry {programmable completion}{115} -\entry {prompting}{82} +\entry {process substitution}{24} +\entry {programmable completion}{117} +\entry {prompting}{84} \initial {Q} \entry {quoting}{6} \entry {quoting, ANSI}{6} \initial {R} -\entry {Readline, how to use}{92} -\entry {redirection}{26} +\entry {Readline, how to use}{94} +\entry {redirection}{27} \entry {reserved word}{3} -\entry {restricted shell}{84} +\entry {restricted shell}{86} \entry {return status}{4} \initial {S} -\entry {shell arithmetic}{78} -\entry {shell function}{14} -\entry {shell script}{33} -\entry {shell variable}{15} -\entry {shell, interactive}{74} +\entry {shell arithmetic}{80} +\entry {shell function}{15} +\entry {shell script}{34} +\entry {shell variable}{17} +\entry {shell, interactive}{76} \entry {signal}{4} -\entry {signal handling}{32} -\entry {special builtin}{4, 59} -\entry {startup files}{73} -\entry {suspending jobs}{89} +\entry {signal handling}{34} +\entry {special builtin}{4, 62} +\entry {startup files}{75} +\entry {suspending jobs}{91} \initial {T} -\entry {tilde expansion}{19} +\entry {tilde expansion}{20} \entry {token}{4} \entry {translation, native languages}{7} \initial {V} -\entry {variable, shell}{15} -\entry {variables, readline}{97} +\entry {variable, shell}{17} +\entry {variables, readline}{99} \initial {W} \entry {word}{4} -\entry {word splitting}{23} +\entry {word splitting}{25} \initial {Y} -\entry {yanking text}{95} +\entry {yanking text}{97} diff --git a/doc/bashref.dvi b/doc/bashref.dvi index 25aed0cb3..b5b2d8e40 100644 Binary files a/doc/bashref.dvi and b/doc/bashref.dvi differ diff --git a/doc/bashref.fn b/doc/bashref.fn index 2b27429a6..e81d63791 100644 --- a/doc/bashref.fn +++ b/doc/bashref.fn @@ -1,103 +1,103 @@ -\entry{beginning-of-line (C-a)}{106}{\code {beginning-of-line (C-a)}} -\entry{end-of-line (C-e)}{106}{\code {end-of-line (C-e)}} -\entry{forward-char (C-f)}{106}{\code {forward-char (C-f)}} -\entry{backward-char (C-b)}{106}{\code {backward-char (C-b)}} -\entry{forward-word (M-f)}{106}{\code {forward-word (M-f)}} -\entry{backward-word (M-b)}{106}{\code {backward-word (M-b)}} -\entry{shell-forward-word ()}{106}{\code {shell-forward-word ()}} -\entry{shell-backward-word ()}{106}{\code {shell-backward-word ()}} -\entry{clear-screen (C-l)}{106}{\code {clear-screen (C-l)}} -\entry{redraw-current-line ()}{106}{\code {redraw-current-line ()}} -\entry{accept-line (Newline or Return)}{107}{\code {accept-line (Newline or Return)}} -\entry{previous-history (C-p)}{107}{\code {previous-history (C-p)}} -\entry{next-history (C-n)}{107}{\code {next-history (C-n)}} -\entry{beginning-of-history (M-<)}{107}{\code {beginning-of-history (M-<)}} -\entry{end-of-history (M->)}{107}{\code {end-of-history (M->)}} -\entry{reverse-search-history (C-r)}{107}{\code {reverse-search-history (C-r)}} -\entry{forward-search-history (C-s)}{107}{\code {forward-search-history (C-s)}} -\entry{non-incremental-reverse-search-history (M-p)}{107}{\code {non-incremental-reverse-search-history (M-p)}} -\entry{non-incremental-forward-search-history (M-n)}{107}{\code {non-incremental-forward-search-history (M-n)}} -\entry{history-search-forward ()}{107}{\code {history-search-forward ()}} -\entry{history-search-backward ()}{107}{\code {history-search-backward ()}} -\entry{yank-nth-arg (M-C-y)}{107}{\code {yank-nth-arg (M-C-y)}} -\entry{yank-last-arg (M-. or M-_)}{108}{\code {yank-last-arg (M-. or M-_)}} -\entry{delete-char (C-d)}{108}{\code {delete-char (C-d)}} -\entry{backward-delete-char (Rubout)}{108}{\code {backward-delete-char (Rubout)}} -\entry{forward-backward-delete-char ()}{108}{\code {forward-backward-delete-char ()}} -\entry{quoted-insert (C-q or C-v)}{108}{\code {quoted-insert (C-q or C-v)}} -\entry{self-insert (a, b, A, 1, !, ...{})}{108}{\code {self-insert (a, b, A, 1, !, \dots {})}} -\entry{transpose-chars (C-t)}{108}{\code {transpose-chars (C-t)}} -\entry{transpose-words (M-t)}{108}{\code {transpose-words (M-t)}} -\entry{upcase-word (M-u)}{108}{\code {upcase-word (M-u)}} -\entry{downcase-word (M-l)}{108}{\code {downcase-word (M-l)}} -\entry{capitalize-word (M-c)}{109}{\code {capitalize-word (M-c)}} -\entry{overwrite-mode ()}{109}{\code {overwrite-mode ()}} -\entry{kill-line (C-k)}{109}{\code {kill-line (C-k)}} -\entry{backward-kill-line (C-x Rubout)}{109}{\code {backward-kill-line (C-x Rubout)}} -\entry{unix-line-discard (C-u)}{109}{\code {unix-line-discard (C-u)}} -\entry{kill-whole-line ()}{109}{\code {kill-whole-line ()}} -\entry{kill-word (M-d)}{109}{\code {kill-word (M-d)}} -\entry{backward-kill-word (M-DEL)}{109}{\code {backward-kill-word (M-\key {DEL})}} -\entry{shell-kill-word ()}{109}{\code {shell-kill-word ()}} -\entry{backward-kill-word ()}{109}{\code {backward-kill-word ()}} -\entry{unix-word-rubout (C-w)}{109}{\code {unix-word-rubout (C-w)}} -\entry{unix-filename-rubout ()}{109}{\code {unix-filename-rubout ()}} -\entry{delete-horizontal-space ()}{109}{\code {delete-horizontal-space ()}} -\entry{kill-region ()}{110}{\code {kill-region ()}} -\entry{copy-region-as-kill ()}{110}{\code {copy-region-as-kill ()}} -\entry{copy-backward-word ()}{110}{\code {copy-backward-word ()}} -\entry{copy-forward-word ()}{110}{\code {copy-forward-word ()}} -\entry{yank (C-y)}{110}{\code {yank (C-y)}} -\entry{yank-pop (M-y)}{110}{\code {yank-pop (M-y)}} -\entry{digit-argument (M-0, M-1, ...{} M--)}{110}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}} -\entry{universal-argument ()}{110}{\code {universal-argument ()}} -\entry{complete (TAB)}{110}{\code {complete (\key {TAB})}} -\entry{possible-completions (M-?)}{110}{\code {possible-completions (M-?)}} -\entry{insert-completions (M-*)}{111}{\code {insert-completions (M-*)}} -\entry{menu-complete ()}{111}{\code {menu-complete ()}} -\entry{menu-complete-backward ()}{111}{\code {menu-complete-backward ()}} -\entry{delete-char-or-list ()}{111}{\code {delete-char-or-list ()}} -\entry{complete-filename (M-/)}{111}{\code {complete-filename (M-/)}} -\entry{possible-filename-completions (C-x /)}{111}{\code {possible-filename-completions (C-x /)}} -\entry{complete-username (M-~)}{111}{\code {complete-username (M-~)}} -\entry{possible-username-completions (C-x ~)}{111}{\code {possible-username-completions (C-x ~)}} -\entry{complete-variable (M-$)}{111}{\code {complete-variable (M-$)}} -\entry{possible-variable-completions (C-x $)}{111}{\code {possible-variable-completions (C-x $)}} -\entry{complete-hostname (M-@)}{111}{\code {complete-hostname (M-@)}} -\entry{possible-hostname-completions (C-x @)}{111}{\code {possible-hostname-completions (C-x @)}} -\entry{complete-command (M-!)}{111}{\code {complete-command (M-!)}} -\entry{possible-command-completions (C-x !)}{112}{\code {possible-command-completions (C-x !)}} -\entry{dynamic-complete-history (M-TAB)}{112}{\code {dynamic-complete-history (M-\key {TAB})}} -\entry{dabbrev-expand ()}{112}{\code {dabbrev-expand ()}} -\entry{complete-into-braces (M-{\tt \char 123})}{112}{\code {complete-into-braces (M-{\tt \char 123})}} -\entry{start-kbd-macro (C-x ()}{112}{\code {start-kbd-macro (C-x ()}} -\entry{end-kbd-macro (C-x ))}{112}{\code {end-kbd-macro (C-x ))}} -\entry{call-last-kbd-macro (C-x e)}{112}{\code {call-last-kbd-macro (C-x e)}} -\entry{re-read-init-file (C-x C-r)}{112}{\code {re-read-init-file (C-x C-r)}} -\entry{abort (C-g)}{112}{\code {abort (C-g)}} -\entry{do-uppercase-version (M-a, M-b, M-x, ...{})}{112}{\code {do-uppercase-version (M-a, M-b, M-\var {x}, \dots {})}} -\entry{prefix-meta (ESC)}{112}{\code {prefix-meta (\key {ESC})}} -\entry{undo (C-_ or C-x C-u)}{112}{\code {undo (C-_ or C-x C-u)}} -\entry{revert-line (M-r)}{113}{\code {revert-line (M-r)}} -\entry{tilde-expand (M-&)}{113}{\code {tilde-expand (M-&)}} -\entry{set-mark (C-@)}{113}{\code {set-mark (C-@)}} -\entry{exchange-point-and-mark (C-x C-x)}{113}{\code {exchange-point-and-mark (C-x C-x)}} -\entry{character-search (C-])}{113}{\code {character-search (C-])}} -\entry{character-search-backward (M-C-])}{113}{\code {character-search-backward (M-C-])}} -\entry{skip-csi-sequence ()}{113}{\code {skip-csi-sequence ()}} -\entry{insert-comment (M-#)}{113}{\code {insert-comment (M-#)}} -\entry{dump-functions ()}{113}{\code {dump-functions ()}} -\entry{dump-variables ()}{113}{\code {dump-variables ()}} -\entry{dump-macros ()}{114}{\code {dump-macros ()}} -\entry{glob-complete-word (M-g)}{114}{\code {glob-complete-word (M-g)}} -\entry{glob-expand-word (C-x *)}{114}{\code {glob-expand-word (C-x *)}} -\entry{glob-list-expansions (C-x g)}{114}{\code {glob-list-expansions (C-x g)}} -\entry{display-shell-version (C-x C-v)}{114}{\code {display-shell-version (C-x C-v)}} -\entry{shell-expand-line (M-C-e)}{114}{\code {shell-expand-line (M-C-e)}} -\entry{history-expand-line (M-^)}{114}{\code {history-expand-line (M-^)}} -\entry{magic-space ()}{114}{\code {magic-space ()}} -\entry{alias-expand-line ()}{114}{\code {alias-expand-line ()}} -\entry{history-and-alias-expand-line ()}{114}{\code {history-and-alias-expand-line ()}} -\entry{insert-last-argument (M-. or M-_)}{114}{\code {insert-last-argument (M-. or M-_)}} -\entry{operate-and-get-next (C-o)}{114}{\code {operate-and-get-next (C-o)}} -\entry{edit-and-execute-command (C-xC-e)}{114}{\code {edit-and-execute-command (C-xC-e)}} +\entry{beginning-of-line (C-a)}{108}{\code {beginning-of-line (C-a)}} +\entry{end-of-line (C-e)}{108}{\code {end-of-line (C-e)}} +\entry{forward-char (C-f)}{108}{\code {forward-char (C-f)}} +\entry{backward-char (C-b)}{108}{\code {backward-char (C-b)}} +\entry{forward-word (M-f)}{108}{\code {forward-word (M-f)}} +\entry{backward-word (M-b)}{108}{\code {backward-word (M-b)}} +\entry{shell-forward-word ()}{108}{\code {shell-forward-word ()}} +\entry{shell-backward-word ()}{108}{\code {shell-backward-word ()}} +\entry{clear-screen (C-l)}{108}{\code {clear-screen (C-l)}} +\entry{redraw-current-line ()}{108}{\code {redraw-current-line ()}} +\entry{accept-line (Newline or Return)}{109}{\code {accept-line (Newline or Return)}} +\entry{previous-history (C-p)}{109}{\code {previous-history (C-p)}} +\entry{next-history (C-n)}{109}{\code {next-history (C-n)}} +\entry{beginning-of-history (M-<)}{109}{\code {beginning-of-history (M-<)}} +\entry{end-of-history (M->)}{109}{\code {end-of-history (M->)}} +\entry{reverse-search-history (C-r)}{109}{\code {reverse-search-history (C-r)}} +\entry{forward-search-history (C-s)}{109}{\code {forward-search-history (C-s)}} +\entry{non-incremental-reverse-search-history (M-p)}{109}{\code {non-incremental-reverse-search-history (M-p)}} +\entry{non-incremental-forward-search-history (M-n)}{109}{\code {non-incremental-forward-search-history (M-n)}} +\entry{history-search-forward ()}{109}{\code {history-search-forward ()}} +\entry{history-search-backward ()}{109}{\code {history-search-backward ()}} +\entry{yank-nth-arg (M-C-y)}{109}{\code {yank-nth-arg (M-C-y)}} +\entry{yank-last-arg (M-. or M-_)}{110}{\code {yank-last-arg (M-. or M-_)}} +\entry{delete-char (C-d)}{110}{\code {delete-char (C-d)}} +\entry{backward-delete-char (Rubout)}{110}{\code {backward-delete-char (Rubout)}} +\entry{forward-backward-delete-char ()}{110}{\code {forward-backward-delete-char ()}} +\entry{quoted-insert (C-q or C-v)}{110}{\code {quoted-insert (C-q or C-v)}} +\entry{self-insert (a, b, A, 1, !, ...{})}{110}{\code {self-insert (a, b, A, 1, !, \dots {})}} +\entry{transpose-chars (C-t)}{110}{\code {transpose-chars (C-t)}} +\entry{transpose-words (M-t)}{110}{\code {transpose-words (M-t)}} +\entry{upcase-word (M-u)}{110}{\code {upcase-word (M-u)}} +\entry{downcase-word (M-l)}{110}{\code {downcase-word (M-l)}} +\entry{capitalize-word (M-c)}{111}{\code {capitalize-word (M-c)}} +\entry{overwrite-mode ()}{111}{\code {overwrite-mode ()}} +\entry{kill-line (C-k)}{111}{\code {kill-line (C-k)}} +\entry{backward-kill-line (C-x Rubout)}{111}{\code {backward-kill-line (C-x Rubout)}} +\entry{unix-line-discard (C-u)}{111}{\code {unix-line-discard (C-u)}} +\entry{kill-whole-line ()}{111}{\code {kill-whole-line ()}} +\entry{kill-word (M-d)}{111}{\code {kill-word (M-d)}} +\entry{backward-kill-word (M-DEL)}{111}{\code {backward-kill-word (M-\key {DEL})}} +\entry{shell-kill-word ()}{111}{\code {shell-kill-word ()}} +\entry{backward-kill-word ()}{111}{\code {backward-kill-word ()}} +\entry{unix-word-rubout (C-w)}{111}{\code {unix-word-rubout (C-w)}} +\entry{unix-filename-rubout ()}{111}{\code {unix-filename-rubout ()}} +\entry{delete-horizontal-space ()}{111}{\code {delete-horizontal-space ()}} +\entry{kill-region ()}{112}{\code {kill-region ()}} +\entry{copy-region-as-kill ()}{112}{\code {copy-region-as-kill ()}} +\entry{copy-backward-word ()}{112}{\code {copy-backward-word ()}} +\entry{copy-forward-word ()}{112}{\code {copy-forward-word ()}} +\entry{yank (C-y)}{112}{\code {yank (C-y)}} +\entry{yank-pop (M-y)}{112}{\code {yank-pop (M-y)}} +\entry{digit-argument (M-0, M-1, ...{} M--)}{112}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}} +\entry{universal-argument ()}{112}{\code {universal-argument ()}} +\entry{complete (TAB)}{112}{\code {complete (\key {TAB})}} +\entry{possible-completions (M-?)}{112}{\code {possible-completions (M-?)}} +\entry{insert-completions (M-*)}{113}{\code {insert-completions (M-*)}} +\entry{menu-complete ()}{113}{\code {menu-complete ()}} +\entry{menu-complete-backward ()}{113}{\code {menu-complete-backward ()}} +\entry{delete-char-or-list ()}{113}{\code {delete-char-or-list ()}} +\entry{complete-filename (M-/)}{113}{\code {complete-filename (M-/)}} +\entry{possible-filename-completions (C-x /)}{113}{\code {possible-filename-completions (C-x /)}} +\entry{complete-username (M-~)}{113}{\code {complete-username (M-~)}} +\entry{possible-username-completions (C-x ~)}{113}{\code {possible-username-completions (C-x ~)}} +\entry{complete-variable (M-$)}{113}{\code {complete-variable (M-$)}} +\entry{possible-variable-completions (C-x $)}{113}{\code {possible-variable-completions (C-x $)}} +\entry{complete-hostname (M-@)}{113}{\code {complete-hostname (M-@)}} +\entry{possible-hostname-completions (C-x @)}{113}{\code {possible-hostname-completions (C-x @)}} +\entry{complete-command (M-!)}{113}{\code {complete-command (M-!)}} +\entry{possible-command-completions (C-x !)}{114}{\code {possible-command-completions (C-x !)}} +\entry{dynamic-complete-history (M-TAB)}{114}{\code {dynamic-complete-history (M-\key {TAB})}} +\entry{dabbrev-expand ()}{114}{\code {dabbrev-expand ()}} +\entry{complete-into-braces (M-{\tt \char 123})}{114}{\code {complete-into-braces (M-{\tt \char 123})}} +\entry{start-kbd-macro (C-x ()}{114}{\code {start-kbd-macro (C-x ()}} +\entry{end-kbd-macro (C-x ))}{114}{\code {end-kbd-macro (C-x ))}} +\entry{call-last-kbd-macro (C-x e)}{114}{\code {call-last-kbd-macro (C-x e)}} +\entry{re-read-init-file (C-x C-r)}{114}{\code {re-read-init-file (C-x C-r)}} +\entry{abort (C-g)}{114}{\code {abort (C-g)}} +\entry{do-uppercase-version (M-a, M-b, M-x, ...{})}{114}{\code {do-uppercase-version (M-a, M-b, M-\var {x}, \dots {})}} +\entry{prefix-meta (ESC)}{114}{\code {prefix-meta (\key {ESC})}} +\entry{undo (C-_ or C-x C-u)}{114}{\code {undo (C-_ or C-x C-u)}} +\entry{revert-line (M-r)}{115}{\code {revert-line (M-r)}} +\entry{tilde-expand (M-&)}{115}{\code {tilde-expand (M-&)}} +\entry{set-mark (C-@)}{115}{\code {set-mark (C-@)}} +\entry{exchange-point-and-mark (C-x C-x)}{115}{\code {exchange-point-and-mark (C-x C-x)}} +\entry{character-search (C-])}{115}{\code {character-search (C-])}} +\entry{character-search-backward (M-C-])}{115}{\code {character-search-backward (M-C-])}} +\entry{skip-csi-sequence ()}{115}{\code {skip-csi-sequence ()}} +\entry{insert-comment (M-#)}{115}{\code {insert-comment (M-#)}} +\entry{dump-functions ()}{115}{\code {dump-functions ()}} +\entry{dump-variables ()}{115}{\code {dump-variables ()}} +\entry{dump-macros ()}{116}{\code {dump-macros ()}} +\entry{glob-complete-word (M-g)}{116}{\code {glob-complete-word (M-g)}} +\entry{glob-expand-word (C-x *)}{116}{\code {glob-expand-word (C-x *)}} +\entry{glob-list-expansions (C-x g)}{116}{\code {glob-list-expansions (C-x g)}} +\entry{display-shell-version (C-x C-v)}{116}{\code {display-shell-version (C-x C-v)}} +\entry{shell-expand-line (M-C-e)}{116}{\code {shell-expand-line (M-C-e)}} +\entry{history-expand-line (M-^)}{116}{\code {history-expand-line (M-^)}} +\entry{magic-space ()}{116}{\code {magic-space ()}} +\entry{alias-expand-line ()}{116}{\code {alias-expand-line ()}} +\entry{history-and-alias-expand-line ()}{116}{\code {history-and-alias-expand-line ()}} +\entry{insert-last-argument (M-. or M-_)}{116}{\code {insert-last-argument (M-. or M-_)}} +\entry{operate-and-get-next (C-o)}{116}{\code {operate-and-get-next (C-o)}} +\entry{edit-and-execute-command (C-xC-e)}{116}{\code {edit-and-execute-command (C-xC-e)}} diff --git a/doc/bashref.fns b/doc/bashref.fns index 6e916ba35..8e4a990b3 100644 --- a/doc/bashref.fns +++ b/doc/bashref.fns @@ -1,123 +1,123 @@ \initial {A} -\entry {\code {abort (C-g)}}{112} -\entry {\code {accept-line (Newline or Return)}}{107} -\entry {\code {alias-expand-line ()}}{114} +\entry {\code {abort (C-g)}}{114} +\entry {\code {accept-line (Newline or Return)}}{109} +\entry {\code {alias-expand-line ()}}{116} \initial {B} -\entry {\code {backward-char (C-b)}}{106} -\entry {\code {backward-delete-char (Rubout)}}{108} -\entry {\code {backward-kill-line (C-x Rubout)}}{109} -\entry {\code {backward-kill-word ()}}{109} -\entry {\code {backward-kill-word (M-\key {DEL})}}{109} -\entry {\code {backward-word (M-b)}}{106} -\entry {\code {beginning-of-history (M-<)}}{107} -\entry {\code {beginning-of-line (C-a)}}{106} +\entry {\code {backward-char (C-b)}}{108} +\entry {\code {backward-delete-char (Rubout)}}{110} +\entry {\code {backward-kill-line (C-x Rubout)}}{111} +\entry {\code {backward-kill-word ()}}{111} +\entry {\code {backward-kill-word (M-\key {DEL})}}{111} +\entry {\code {backward-word (M-b)}}{108} +\entry {\code {beginning-of-history (M-<)}}{109} +\entry {\code {beginning-of-line (C-a)}}{108} \initial {C} -\entry {\code {call-last-kbd-macro (C-x e)}}{112} -\entry {\code {capitalize-word (M-c)}}{109} -\entry {\code {character-search (C-])}}{113} -\entry {\code {character-search-backward (M-C-])}}{113} -\entry {\code {clear-screen (C-l)}}{106} -\entry {\code {complete (\key {TAB})}}{110} -\entry {\code {complete-command (M-!)}}{111} -\entry {\code {complete-filename (M-/)}}{111} -\entry {\code {complete-hostname (M-@)}}{111} -\entry {\code {complete-into-braces (M-{\tt \char 123})}}{112} -\entry {\code {complete-username (M-~)}}{111} -\entry {\code {complete-variable (M-$)}}{111} -\entry {\code {copy-backward-word ()}}{110} -\entry {\code {copy-forward-word ()}}{110} -\entry {\code {copy-region-as-kill ()}}{110} +\entry {\code {call-last-kbd-macro (C-x e)}}{114} +\entry {\code {capitalize-word (M-c)}}{111} +\entry {\code {character-search (C-])}}{115} +\entry {\code {character-search-backward (M-C-])}}{115} +\entry {\code {clear-screen (C-l)}}{108} +\entry {\code {complete (\key {TAB})}}{112} +\entry {\code {complete-command (M-!)}}{113} +\entry {\code {complete-filename (M-/)}}{113} +\entry {\code {complete-hostname (M-@)}}{113} +\entry {\code {complete-into-braces (M-{\tt \char 123})}}{114} +\entry {\code {complete-username (M-~)}}{113} +\entry {\code {complete-variable (M-$)}}{113} +\entry {\code {copy-backward-word ()}}{112} +\entry {\code {copy-forward-word ()}}{112} +\entry {\code {copy-region-as-kill ()}}{112} \initial {D} -\entry {\code {dabbrev-expand ()}}{112} -\entry {\code {delete-char (C-d)}}{108} -\entry {\code {delete-char-or-list ()}}{111} -\entry {\code {delete-horizontal-space ()}}{109} -\entry {\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{110} -\entry {\code {display-shell-version (C-x C-v)}}{114} -\entry {\code {do-uppercase-version (M-a, M-b, M-\var {x}, \dots {})}}{112} -\entry {\code {downcase-word (M-l)}}{108} -\entry {\code {dump-functions ()}}{113} -\entry {\code {dump-macros ()}}{114} -\entry {\code {dump-variables ()}}{113} -\entry {\code {dynamic-complete-history (M-\key {TAB})}}{112} +\entry {\code {dabbrev-expand ()}}{114} +\entry {\code {delete-char (C-d)}}{110} +\entry {\code {delete-char-or-list ()}}{113} +\entry {\code {delete-horizontal-space ()}}{111} +\entry {\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{112} +\entry {\code {display-shell-version (C-x C-v)}}{116} +\entry {\code {do-uppercase-version (M-a, M-b, M-\var {x}, \dots {})}}{114} +\entry {\code {downcase-word (M-l)}}{110} +\entry {\code {dump-functions ()}}{115} +\entry {\code {dump-macros ()}}{116} +\entry {\code {dump-variables ()}}{115} +\entry {\code {dynamic-complete-history (M-\key {TAB})}}{114} \initial {E} -\entry {\code {edit-and-execute-command (C-xC-e)}}{114} -\entry {\code {end-kbd-macro (C-x ))}}{112} -\entry {\code {end-of-history (M->)}}{107} -\entry {\code {end-of-line (C-e)}}{106} -\entry {\code {exchange-point-and-mark (C-x C-x)}}{113} +\entry {\code {edit-and-execute-command (C-xC-e)}}{116} +\entry {\code {end-kbd-macro (C-x ))}}{114} +\entry {\code {end-of-history (M->)}}{109} +\entry {\code {end-of-line (C-e)}}{108} +\entry {\code {exchange-point-and-mark (C-x C-x)}}{115} \initial {F} -\entry {\code {forward-backward-delete-char ()}}{108} -\entry {\code {forward-char (C-f)}}{106} -\entry {\code {forward-search-history (C-s)}}{107} -\entry {\code {forward-word (M-f)}}{106} +\entry {\code {forward-backward-delete-char ()}}{110} +\entry {\code {forward-char (C-f)}}{108} +\entry {\code {forward-search-history (C-s)}}{109} +\entry {\code {forward-word (M-f)}}{108} \initial {G} -\entry {\code {glob-complete-word (M-g)}}{114} -\entry {\code {glob-expand-word (C-x *)}}{114} -\entry {\code {glob-list-expansions (C-x g)}}{114} +\entry {\code {glob-complete-word (M-g)}}{116} +\entry {\code {glob-expand-word (C-x *)}}{116} +\entry {\code {glob-list-expansions (C-x g)}}{116} \initial {H} -\entry {\code {history-and-alias-expand-line ()}}{114} -\entry {\code {history-expand-line (M-^)}}{114} -\entry {\code {history-search-backward ()}}{107} -\entry {\code {history-search-forward ()}}{107} +\entry {\code {history-and-alias-expand-line ()}}{116} +\entry {\code {history-expand-line (M-^)}}{116} +\entry {\code {history-search-backward ()}}{109} +\entry {\code {history-search-forward ()}}{109} \initial {I} -\entry {\code {insert-comment (M-#)}}{113} -\entry {\code {insert-completions (M-*)}}{111} -\entry {\code {insert-last-argument (M-. or M-_)}}{114} +\entry {\code {insert-comment (M-#)}}{115} +\entry {\code {insert-completions (M-*)}}{113} +\entry {\code {insert-last-argument (M-. or M-_)}}{116} \initial {K} -\entry {\code {kill-line (C-k)}}{109} -\entry {\code {kill-region ()}}{110} -\entry {\code {kill-whole-line ()}}{109} -\entry {\code {kill-word (M-d)}}{109} +\entry {\code {kill-line (C-k)}}{111} +\entry {\code {kill-region ()}}{112} +\entry {\code {kill-whole-line ()}}{111} +\entry {\code {kill-word (M-d)}}{111} \initial {M} -\entry {\code {magic-space ()}}{114} -\entry {\code {menu-complete ()}}{111} -\entry {\code {menu-complete-backward ()}}{111} +\entry {\code {magic-space ()}}{116} +\entry {\code {menu-complete ()}}{113} +\entry {\code {menu-complete-backward ()}}{113} \initial {N} -\entry {\code {next-history (C-n)}}{107} -\entry {\code {non-incremental-forward-search-history (M-n)}}{107} -\entry {\code {non-incremental-reverse-search-history (M-p)}}{107} +\entry {\code {next-history (C-n)}}{109} +\entry {\code {non-incremental-forward-search-history (M-n)}}{109} +\entry {\code {non-incremental-reverse-search-history (M-p)}}{109} \initial {O} -\entry {\code {operate-and-get-next (C-o)}}{114} -\entry {\code {overwrite-mode ()}}{109} +\entry {\code {operate-and-get-next (C-o)}}{116} +\entry {\code {overwrite-mode ()}}{111} \initial {P} -\entry {\code {possible-command-completions (C-x !)}}{112} -\entry {\code {possible-completions (M-?)}}{110} -\entry {\code {possible-filename-completions (C-x /)}}{111} -\entry {\code {possible-hostname-completions (C-x @)}}{111} -\entry {\code {possible-username-completions (C-x ~)}}{111} -\entry {\code {possible-variable-completions (C-x $)}}{111} -\entry {\code {prefix-meta (\key {ESC})}}{112} -\entry {\code {previous-history (C-p)}}{107} +\entry {\code {possible-command-completions (C-x !)}}{114} +\entry {\code {possible-completions (M-?)}}{112} +\entry {\code {possible-filename-completions (C-x /)}}{113} +\entry {\code {possible-hostname-completions (C-x @)}}{113} +\entry {\code {possible-username-completions (C-x ~)}}{113} +\entry {\code {possible-variable-completions (C-x $)}}{113} +\entry {\code {prefix-meta (\key {ESC})}}{114} +\entry {\code {previous-history (C-p)}}{109} \initial {Q} -\entry {\code {quoted-insert (C-q or C-v)}}{108} +\entry {\code {quoted-insert (C-q or C-v)}}{110} \initial {R} -\entry {\code {re-read-init-file (C-x C-r)}}{112} -\entry {\code {redraw-current-line ()}}{106} -\entry {\code {reverse-search-history (C-r)}}{107} -\entry {\code {revert-line (M-r)}}{113} +\entry {\code {re-read-init-file (C-x C-r)}}{114} +\entry {\code {redraw-current-line ()}}{108} +\entry {\code {reverse-search-history (C-r)}}{109} +\entry {\code {revert-line (M-r)}}{115} \initial {S} -\entry {\code {self-insert (a, b, A, 1, !, \dots {})}}{108} -\entry {\code {set-mark (C-@)}}{113} -\entry {\code {shell-backward-word ()}}{106} -\entry {\code {shell-expand-line (M-C-e)}}{114} -\entry {\code {shell-forward-word ()}}{106} -\entry {\code {shell-kill-word ()}}{109} -\entry {\code {skip-csi-sequence ()}}{113} -\entry {\code {start-kbd-macro (C-x ()}}{112} +\entry {\code {self-insert (a, b, A, 1, !, \dots {})}}{110} +\entry {\code {set-mark (C-@)}}{115} +\entry {\code {shell-backward-word ()}}{108} +\entry {\code {shell-expand-line (M-C-e)}}{116} +\entry {\code {shell-forward-word ()}}{108} +\entry {\code {shell-kill-word ()}}{111} +\entry {\code {skip-csi-sequence ()}}{115} +\entry {\code {start-kbd-macro (C-x ()}}{114} \initial {T} -\entry {\code {tilde-expand (M-&)}}{113} -\entry {\code {transpose-chars (C-t)}}{108} -\entry {\code {transpose-words (M-t)}}{108} +\entry {\code {tilde-expand (M-&)}}{115} +\entry {\code {transpose-chars (C-t)}}{110} +\entry {\code {transpose-words (M-t)}}{110} \initial {U} -\entry {\code {undo (C-_ or C-x C-u)}}{112} -\entry {\code {universal-argument ()}}{110} -\entry {\code {unix-filename-rubout ()}}{109} -\entry {\code {unix-line-discard (C-u)}}{109} -\entry {\code {unix-word-rubout (C-w)}}{109} -\entry {\code {upcase-word (M-u)}}{108} +\entry {\code {undo (C-_ or C-x C-u)}}{114} +\entry {\code {universal-argument ()}}{112} +\entry {\code {unix-filename-rubout ()}}{111} +\entry {\code {unix-line-discard (C-u)}}{111} +\entry {\code {unix-word-rubout (C-w)}}{111} +\entry {\code {upcase-word (M-u)}}{110} \initial {Y} -\entry {\code {yank (C-y)}}{110} -\entry {\code {yank-last-arg (M-. or M-_)}}{108} -\entry {\code {yank-nth-arg (M-C-y)}}{107} -\entry {\code {yank-pop (M-y)}}{110} +\entry {\code {yank (C-y)}}{112} +\entry {\code {yank-last-arg (M-. or M-_)}}{110} +\entry {\code {yank-nth-arg (M-C-y)}}{109} +\entry {\code {yank-pop (M-y)}}{112} diff --git a/doc/bashref.html b/doc/bashref.html index 36453b96e..eb98bd8f1 100644 --- a/doc/bashref.html +++ b/doc/bashref.html @@ -1,6 +1,6 @@ - + +

+ +GNU Parallel, as its name suggests, can be used to build and run commands +in parallel. You may run the same command with different arguments, whether +they are filenames, usernames, hostnames, or lines read from files. +

+ +For a complete description, refer to the GNU Parallel documentation. A few +examples should provide a brief introduction to its use. +

+ +For example, it is easy to prefix each line in a text file with a specified +string: +
 
cat file | parallel -k echo prefix_string
+
The `-k' option is required to preserve the lines' order. +

+ +Similarly, you can append a specified string to each line in a text file: +
 
cat file | parallel -k echo {} append_string
+

+ +You can use Parallel to move files from the current directory when the +number of files is too large to process with one mv invocation: +
 
ls | parallel mv {} destdir
+

+ +As you can see, the {} is replaced with each line read from standard input. +This will run as many mv commands as there are files in the current +directory. You can emulate a parallel xargs by adding the `-X' +option: +
 
ls | parallel -X mv {} destdir
+

+ +GNU Parallel can replace certain common idioms that operate on lines read +from a file (in this case, filenames): +
 
	for x in $(cat list); do
+		do-something1 $x config-$x
+		do-something2 < $x
+	done | process-output
+

+ +with a more compact syntax reminiscent of lambdas: +
 
cat list | parallel "do-something1 {} config-{} ; do-something2 < {}" | process-output
+

+ +Parallel provides a built-in mechanism to remove filename extensions, which +lends itself to batch file transformations or renaming: +
 
ls *.gz | parallel -j+0 "zcat {} | bzip2 >{.}.bz2 && rm {}"
+
This will recompress all files in the current directory with names ending +in .gz using bzip2, running one job per CPU (-j+0) in parallel. +

+ +If a command generates output, you may want to preserve the input order in +the output. For instance, the following command +
 
{ echo foss.org.my ; echo debian.org; echo freenetproject.org; } | parallel traceroute
+
will display as output the traceroute invocation that finishes first. Using +the `-k' option, as we saw above +
 
{ echo foss.org.my ; echo debian.org; echo freenetproject.org; } | parallel -k traceroute
+
will ensure that the output of traceroute foss.org.my is displayed first. +

+ + +


+ + + + + - + - +
[ < ][ > ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.3 Shell Functions

- +

Shell functions are a way to group commands for later execution @@ -1552,12 +1643,12 @@ That command is usually a list enclosed between { and }, but may be any compound command listed above. compound-command is executed whenever name is specified as the name of a command. -Any redirections (see section 3.6 Redirections) associated with the shell function +Any redirections (see section 3.6 Redirections) associated with the shell function are performed when the function is executed.

A function definition may be deleted using the `-f' option to the -unset builtin (see section 4.1 Bourne Shell Builtins). +unset builtin (see section 4.1 Bourne Shell Builtins).

The exit status of a function definition is zero unless a syntax error @@ -1578,7 +1669,7 @@ a `&', or a newline. When a function is executed, the arguments to the function become the positional parameters -during its execution (see section 3.4.1 Positional Parameters). +during its execution (see section 3.4.1 Positional Parameters). The special parameter `#' that expands to the number of positional parameters is updated to reflect the change. Special parameter 0 is unchanged. @@ -1597,10 +1688,16 @@ the set builtin, (in which case all functions inherit the DEBUG and RETURN traps), and the ERR trap is not inherited unless the -o errtrace shell option has been enabled. -See section 4.1 Bourne Shell Builtins, for the description of the +See section 4.1 Bourne Shell Builtins, for the description of the trap builtin.

+The FUNCNEST variable, if set to a numeric value greater +than 0, defines a maximum function nesting level. Function +invocations that exceed the limit cause the entire command to +abort. +

+ If the builtin command return is executed in a function, the function completes and execution resumes with the next command after the function @@ -1623,7 +1720,7 @@ the function and the commands it invokes. Function names and definitions may be listed with the `-f' option to the declare or typeset -builtin commands (see section 4.2 Bash Builtin Commands). +builtin commands (see section 4.2 Bash Builtin Commands). The `-F' option to declare or typeset will list the function names only (and optionally the source file and line number, if the extdebug @@ -1631,7 +1728,7 @@ shell option is enabled). Functions may be exported so that subshells automatically have them defined with the `-f' option to the export builtin -(see section 4.1 Bourne Shell Builtins). +(see section 4.1 Bourne Shell Builtins). Note that shell functions and variables with the same name may result in multiple identically-named entries in the environment passed to the shell's children. @@ -1644,25 +1741,25 @@ recursive calls.


- + - - - + + + - + - +
[ < ][ > ]   [ << ]
[ < ][ > ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.4 Shell Parameters

- +

- - + +
3.4.1 Positional Parameters  The shell's command-line arguments.
3.4.2 Special Parameters  Parameters denoted by special characters.
3.4.1 Positional Parameters  The shell's command-line arguments.
3.4.2 Special Parameters  Parameters denoted by special characters.

@@ -1672,7 +1769,7 @@ listed below. A variable is a parameter denoted by a name. A variable has a value and zero or more attributes. Attributes are assigned using the declare builtin command -(see the description of the declare builtin in 4.2 Bash Builtin Commands). +(see the description of the declare builtin in 4.2 Bash Builtin Commands).

A parameter is set if it has been assigned a value. The null string is @@ -1689,7 +1786,7 @@ command substitution, arithmetic expansion, and quote removal (detailed below). If the variable has its integer attribute set, then value is evaluated as an arithmetic expression even if the $((...)) -expansion is not used (see section 3.5.5 Arithmetic Expansion). +expansion is not used (see section 3.5.5 Arithmetic Expansion). Word splitting is not performed, with the exception of "$@" as explained below. Filename expansion is not performed. @@ -1700,14 +1797,14 @@ and local builtin commands.

In the context where an assignment statement is assigning a value -to a shell variable or array index (see section 6.7 Arrays), the `+=' +to a shell variable or array index (see section 6.7 Arrays), the `+=' operator can be used to append to or add to the variable's previous value. When `+=' is applied to a variable for which the integer attribute has been set, value is evaluated as an arithmetic expression and added to the variable's current value, which is also evaluated. When `+=' is applied to an array variable using compound assignment -(see section 6.7 Arrays), the +(see section 6.7 Arrays), the variable's value is not unset (as it is when using `='), and new values are appended to the array beginning at one greater than the array's maximum index (for indexed arrays), or added as additional key-value pairs @@ -1718,20 +1815,20 @@ appended to the variable's value.


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.4.1 Positional Parameters

- +

A positional parameter is a parameter denoted by one or more @@ -1742,10 +1839,10 @@ Positional parameter N may be referenced as ${N}, or as $N when N consists of a single digit. Positional parameters may not be assigned to with assignment statements. The set and shift builtins are used to set and -unset them (see section 4. Shell Builtin Commands). +unset them (see section 4. Shell Builtin Commands). The positional parameters are temporarily replaced when a shell function is executed -(see section 3.3 Shell Functions). +(see section 3.3 Shell Functions).

When a positional parameter consisting of more than a single @@ -1754,20 +1851,20 @@ digit is expanded, it must be enclosed in braces.


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.4.2 Special Parameters

- +

The shell treats several parameters specially. These parameters may @@ -1849,8 +1946,8 @@ Expands to the process ID of the most recently executed background

Expands to the name of the shell or shell script. This is set at shell initialization. If Bash is invoked with a file of commands -(see section 3.8 Shell Scripts), $0 is set to the name of that file. -If Bash is started with the `-c' option (see section 6.1 Invoking Bash), +(see section 3.8 Shell Scripts), $0 is set to the name of that file. +If Bash is started with the `-c' option (see section 6.1 Invoking Bash), then $0 is set to the first argument after the string to be executed, if one is present. Otherwise, it is set to the filename used to invoke Bash, as given by argument zero. @@ -1873,20 +1970,20 @@ When checking mail, this parameter holds the name of the mail file.
- + - - - + + + - + - +
[ < ][ > ]   [ << ]
[ < ][ > ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.5 Shell Expansions

- +

Expansion is performed on the command line after it has been split into @@ -1903,17 +2000,17 @@ Expansion is performed on the command line after it has been split into

- - - - - - + + + + + - - - +
3.5.1 Brace Expansion  Expansion of expressions within braces.
3.5.2 Tilde Expansion  Expansion of the ~ character.
3.5.3 Shell Parameter Expansion  How Bash expands variables to their values.
3.5.4 Command Substitution  Using the output of a command as an argument.
3.5.5 Arithmetic Expansion  How to use arithmetic in shell expansions.
3.5.6 Process Substitution  A way to write and read to and from a +
3.5.1 Brace Expansion  Expansion of expressions within braces.
3.5.2 Tilde Expansion  Expansion of the ~ character.
3.5.3 Shell Parameter Expansion  How Bash expands variables to their values.
3.5.4 Command Substitution  Using the output of a command as an argument.
3.5.5 Arithmetic Expansion  How to use arithmetic in shell expansions.
3.5.6 Process Substitution  A way to write and read to and from a command.
3.5.7 Word Splitting  How the results of expansion are split into separate +
3.5.7 Word Splitting  How the results of expansion are split into separate arguments.
3.5.8 Filename Expansion  A shorthand for specifying filenames matching patterns.
3.5.9 Quote Removal  How and when quote characters are removed from +
3.5.8 Filename Expansion  A shorthand for specifying filenames matching patterns.
3.5.9 Quote Removal  How and when quote characters are removed from words.

@@ -1935,35 +2032,35 @@ Only brace expansion, word splitting, and filename expansion can change the number of words of the expansion; other expansions expand a single word to a single word. The only exceptions to this are the expansions of -"$@" (see section 3.4.2 Special Parameters) and "${name[@]}" -(see section 6.7 Arrays). +"$@" (see section 3.4.2 Special Parameters) and "${name[@]}" +(see section 6.7 Arrays).

-After all expansions, quote removal (see section 3.5.9 Quote Removal) +After all expansions, quote removal (see section 3.5.9 Quote Removal) is performed.


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.5.1 Brace Expansion

- +

Brace expansion is a mechanism by which arbitrary strings may be generated. This mechanism is similar to -filename expansion (see section 3.5.8 Filename Expansion), +filename expansion (see section 3.5.8 Filename Expansion), but the file names generated need not exist. Patterns to be brace expanded take the form of an optional preamble, followed by either a series of comma-separated strings or a seqeunce expression @@ -2029,20 +2126,20 @@ above example:


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.5.2 Tilde Expansion

- +

If a word begins with an unquoted tilde character (`~'), all of the @@ -2070,7 +2167,7 @@ number N, optionally prefixed by a `+' or a `-'dirs builtin invoked with the characters following tilde -in the tilde-prefix as an argument (see section 6.8 The Directory Stack). +in the tilde-prefix as an argument (see section 6.8 The Directory Stack). If the tilde-prefix, sans the tilde, consists of a number without a leading `+' or `-', `+' is assumed.

@@ -2127,20 +2224,20 @@ The following table shows how Bash treats unquoted tilde-prefixes:


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.5.3 Shell Parameter Expansion

- +

The `$' character introduces parameter expansion, @@ -2231,7 +2328,7 @@ starting at the character specified by offset. If length is omitted, expands to the substring of parameter starting at the character specified by offset. length and offset are arithmetic expressions -(see section 6.5 Shell Arithmetic). +(see section 6.5 Shell Arithmetic). This is referred to as Substring Expansion.

@@ -2288,7 +2385,7 @@ the value substituted is the number of elements in the array.

${parameter##word}
The word is expanded to produce a pattern just as in filename -expansion (see section 3.5.8 Filename Expansion). If the pattern matches +expansion (see section 3.5.8 Filename Expansion). If the pattern matches the beginning of the expanded value of parameter, then the result of the expansion is the expanded value of parameter with the shortest matching pattern (the `#' case) or the @@ -2372,20 +2469,20 @@ array in turn, and the expansion is the resultant list.
- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.5.4 Command Substitution

- +

Command substitution allows the output of a command to replace @@ -2424,20 +2521,20 @@ filename expansion are not performed on the results.


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.5.5 Arithmetic Expansion

- +

Arithmetic expansion allows the evaluation of an arithmetic expression @@ -2455,27 +2552,27 @@ Arithmetic expansions may be nested.

The evaluation is performed according to the rules listed below -(see section 6.5 Shell Arithmetic). +(see section 6.5 Shell Arithmetic). If the expression is invalid, Bash prints a message indicating failure to the standard error and no substitution occurs.


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.5.6 Process Substitution

- +

Process substitution is supported on systems that support named @@ -2503,20 +2600,20 @@ expansion.


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.5.7 Word Splitting

- +

The shell scans the results of parameter expansion, command substitution, @@ -2557,22 +2654,22 @@ is performed.


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.5.8 Filename Expansion

- +
- +
3.5.8.1 Pattern Matching  How the shell matches patterns.
3.5.8.1 Pattern Matching  How the shell matches patterns.
@@ -2581,7 +2678,7 @@ is performed.

After word splitting, unless the `-f' option has been set -(see section 4.3.1 The Set Builtin), Bash scans each word for the characters +(see section 4.3.1 The Set Builtin), Bash scans each word for the characters `*', `?', and `['. If one of these characters appears, then the word is regarded as a pattern, @@ -2605,7 +2702,7 @@ matched explicitly. In other cases, the `.' character is not treated specially.

-See the description of shopt in 4.3.2 The Shopt Builtin, +See the description of shopt in 4.3.2 The Shopt Builtin, for a description of the nocaseglob, nullglob, failglob, and dotglob options.

@@ -2630,20 +2727,20 @@ is unset.


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.5.8.1 Pattern Matching

- +

Any character that appears in a pattern, other than the special pattern @@ -2746,20 +2843,20 @@ sub-patterns:


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.5.9 Quote Removal

- +

After the preceding expansions, all unquoted occurrences of the @@ -2769,20 +2866,20 @@ result from one of the above expansions are removed.


- + - - - + + + - + - +
[ < ][ > ]   [ << ]
[ < ][ > ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.6 Redirections

- +

Before a command is executed, its input and output @@ -2876,20 +2973,20 @@ internally.


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.6.1 Redirecting Input

- + Redirection of input causes the file whose name results from the expansion of word to be opened for reading on file descriptor n, @@ -2902,20 +2999,20 @@ The general format for redirecting input is:


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.6.2 Redirecting Output

- + Redirection of output causes the file whose name results from the expansion of word to be opened for writing on file descriptor n, @@ -2938,20 +3035,20 @@ is attempted even if the file named by word exists.


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.6.3 Appending Redirected Output

- + Redirection of output in this fashion causes the file whose name results from the expansion of word @@ -2965,20 +3062,20 @@ The general format for appending output is:


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.6.4 Redirecting Standard Output and Standard Error

- + This construct allows both the standard output (file descriptor 1) and the standard error output (file descriptor 2) @@ -2997,20 +3094,20 @@ This is semantically equivalent to


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.6.5 Appending Standard Output and Standard Error

- + This construct allows both the standard output (file descriptor 1) and the standard error output (file descriptor 2) @@ -3025,20 +3122,20 @@ The format for appending standard output and standard error is:


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.6.6 Here Documents

- + This type of redirection instructs the shell to read input from the current source until a line containing only word (with no trailing blanks) is seen. All of @@ -3073,20 +3170,20 @@ natural fashion.


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.6.7 Here Strings

- + A variant of here documents, the format is:
 
<<< word
 

@@ -3096,20 +3193,20 @@ input.


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.6.8 Duplicating File Descriptors

- + The redirection operator
 
[n]<&word
 
is used to duplicate input file descriptors. @@ -3135,20 +3232,20 @@ error are redirected as described previously.


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.6.9 Moving File Descriptors

- + The redirection operator
 
[n]<&digit-
 
moves the file descriptor digit to file descriptor n, @@ -3163,20 +3260,20 @@ or the standard output (file descriptor 1) if n is not specified.


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.6.10 Opening File Descriptors for Reading and Writing

- + The redirection operator
 
[n]<>word
 
causes the file whose name is the expansion of word @@ -3187,53 +3284,53 @@ is not specified. If the file does not exist, it is created.
- + - - - + + + - + - +
[ < ][ > ]   [ << ]
[ < ][ > ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.7 Executing Commands

- +

- - - + - - + -
3.7.1 Simple Command Expansion  How Bash expands simple commands before +
3.7.1 Simple Command Expansion  How Bash expands simple commands before executing them.
3.7.2 Command Search and Execution  How Bash finds commands and runs them.
3.7.3 Command Execution Environment  The environment in which Bash +
3.7.2 Command Search and Execution  How Bash finds commands and runs them.
3.7.3 Command Execution Environment  The environment in which Bash executes commands that are not shell builtins.
3.7.4 Environment  The environment given to a command.
3.7.5 Exit Status  The status returned by commands and how Bash +
3.7.4 Environment  The environment given to a command.
3.7.5 Exit Status  The status returned by commands and how Bash interprets it.
3.7.6 Signals  What happens when Bash or a command it runs +
3.7.6 Signals  What happens when Bash or a command it runs receives a signal.


- + - - - - - + + + + + - +
[ < ][ > ]   [ << ][ Up ][ >> ]
[ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

3.7.1 Simple Command Expansion

- +

When a simple command is executed, the shell performs the following @@ -3249,14 +3346,14 @@ processing.

  • The words that are not variable assignments or redirections are -expanded (see section 3.5 Shell Expansions). +expanded (see section 3.5 Shell Expansions). 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.

  • -Redirections are performed as described above (see section 3.6 Redirections). +Redirections are performed as described above (see section 3.6 Redirections).

  • @@ -3287,20 +3384,20 @@ were no command substitutions, the command exits with a status of zero.
    - + - - - - - + + + + + - +
    [ < ][ > ]   [ << ][ Up ][ >> ]
    [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

    3.7.2 Command Search and Execution

    - +

    After a command has been split into words, if it results in a @@ -3312,7 +3409,7 @@ actions are taken.

  • 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 in 3.3 Shell Functions. +function is invoked as described in 3.3 Shell Functions.

  • @@ -3327,7 +3424,7 @@ and contains no slashes, Bash searches each element of $PATH for a directory containing an executable file by that name. Bash uses a hash table to remember the full pathnames of executable files to avoid multiple PATH searches -(see the description of hash in 4.1 Bourne Shell Builtins). +(see the description of hash in 4.1 Bourne Shell Builtins). A full search of the directories in $PATH 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 @@ -3351,7 +3448,7 @@ to the command are set to the arguments supplied, 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 shell script and the shell executes it as described in -3.8 Shell Scripts. +3.8 Shell Scripts.

  • @@ -3364,20 +3461,20 @@ the command to complete and collects its exit status.
    - + - - - - - + + + + + - +
    [ < ][ > ]   [ << ][ Up ][ >> ]
    [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

    3.7.3 Command Execution Environment

    - +

    The shell has an execution environment, which consists of the @@ -3420,11 +3517,11 @@ arguments) or by set

  • -options enabled by shopt (see section 4.3.2 The Shopt Builtin) +options enabled by shopt (see section 4.3.2 The Shopt Builtin)

  • -shell aliases defined with alias (see section 6.6 Aliases) +shell aliases defined with alias (see section 6.6 Aliases)

  • @@ -3459,7 +3556,7 @@ the file creation mode mask
  • shell variables and functions marked for export, along with variables -exported for the command, passed in the environment (see section 3.7.4 Environment) +exported for the command, passed in the environment (see section 3.7.4 Environment)

  • @@ -3497,20 +3594,20 @@ shell as modified by redirections.
    - + - - - - - + + + + + - +
    [ < ][ > ]   [ << ][ Up ][ >> ]
    [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

    3.7.4 Environment

    - +

    When a program is invoked it is given an array of strings @@ -3537,12 +3634,12 @@ commands, plus any additions via the export and The environment for any simple command or function may be augmented temporarily by prefixing it with -parameter assignments, as described in 3.4 Shell Parameters. +parameter assignments, as described in 3.4 Shell Parameters. These assignment statements affect only the environment seen by that command.

    -If the `-k' option is set (see section 4.3.1 The Set Builtin), then all +If the `-k' option is set (see section 4.3.1 The Set Builtin), then all parameter assignments are placed in the environment for a command, not just those that precede the command name.

    @@ -3554,20 +3651,20 @@ command in its environment.


    - + - - - - - + + + + + - +
    [ < ][ > ]   [ << ][ Up ][ >> ]
    [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

    3.7.5 Exit Status

    - +

    The exit status of an executed command is the value returned by the @@ -3611,20 +3708,20 @@ All builtins return an exit status of 2 to indicate incorrect usage.


    - + - - - - - + + + + + - +
    [ < ][ > ]   [ << ][ Up ][ >> ]
    [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

    3.7.6 Signals

    - +

    When Bash is interactive, in the absence of any traps, it ignores @@ -3633,7 +3730,7 @@ and SIGINT is caught and handled (so that the wait builtin is interruptible). When Bash receives a SIGINT, it breaks out of any executing loops. In all cases, Bash ignores SIGQUIT. -If job control is in effect (see section 7. Job Control), Bash +If job control is in effect (see section 7. Job Control), Bash ignores SIGTTIN, SIGTTOU, and SIGTSTP.

    @@ -3655,12 +3752,12 @@ the SIGHUP. To prevent the shell from sending the SIGHUP signal to a particular job, it should be removed from the jobs table with the disown -builtin (see section 7.2 Job Control Builtins) or marked +builtin (see section 7.2 Job Control Builtins) or marked to not receive SIGHUP using disown -h.

    If the huponexit shell option has been set with shopt -(see section 4.3.2 The Shopt Builtin), Bash sends a SIGHUP to all jobs when +(see section 4.3.2 The Shopt Builtin), Bash sends a SIGHUP to all jobs when an interactive login shell exits.

    @@ -3676,26 +3773,26 @@ which the trap is executed.


    - + - - + + - + - +
    [ < ][ > ]
    [ < ][ > ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

    3.8 Shell Scripts

    - +

    A shell script is a text file containing shell commands. When such a file is used as the first non-option argument when invoking Bash, and neither the `-c' nor `-s' option is supplied -(see section 6.1 Invoking Bash), +(see section 6.1 Invoking Bash), Bash reads and executes commands from the file, then exits. This mode of operation creates a non-interactive shell. The shell first searches for the file in the current directory, and looks in the @@ -3723,7 +3820,7 @@ if filename is an executable shell script. This subshell reinitializes itself, so that the effect is as if a new shell had been invoked to interpret the script, with the exception that the locations of commands remembered by the parent -(see the description of hash in 4.1 Bourne Shell Builtins) +(see the description of hash in 4.1 Bourne Shell Builtins) are retained by the child.

    @@ -3752,29 +3849,29 @@ under another shell.


    - + - - - + + + - + - +
    [ < ][ > ]   [ << ]
    [ < ][ > ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

    4. Shell Builtin Commands

    - +

    - - - + -
    4.1 Bourne Shell Builtins  Builtin commands inherited from the Bourne +
    4.1 Bourne Shell Builtins  Builtin commands inherited from the Bourne Shell.
    4.2 Bash Builtin Commands  Table of builtins specific to Bash.
    4.3 Modifying Shell Behavior  Builtins to modify shell attributes and +
    4.2 Bash Builtin Commands  Table of builtins specific to Bash.
    4.3 Modifying Shell Behavior  Builtins to modify shell attributes and optional behavior.
    4.4 Special Builtins  Builtin commands classified specially by +
    4.4 Special Builtins  Builtin commands classified specially by POSIX.

    @@ -3794,10 +3891,10 @@ to or have been extended in Bash. Several builtin commands are described in other chapters: builtin commands which provide the Bash interface to the job control -facilities (see section 7.2 Job Control Builtins), the directory stack -(see section 6.8.1 Directory Stack Builtins), the command history -(see section 9.2 Bash History Builtins), and the programmable completion -facilities (see section 8.7 Programmable Completion Builtins). +facilities (see section 7.2 Job Control Builtins), the directory stack +(see section 6.8.1 Directory Stack Builtins), the command history +(see section 9.2 Bash History Builtins), and the programmable completion +facilities (see section 8.7 Programmable Completion Builtins).

    Many of the builtins have been extended by POSIX or Bash. @@ -3818,20 +3915,20 @@ require `--' to prevent this interpretation.


    - + - - - - - + + + + + - +
    [ < ][ > ]   [ << ][ Up ][ >> ]
    [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

    4.1 Bourne Shell Builtins

    - +

    The following shell builtin commands are inherited from the Bourne Shell. @@ -4119,7 +4216,7 @@ less than zero, non-zero otherwise. Evaluate a conditional expression expr. Each operator and operand must be a separate argument. Expressions are composed of the primaries described below in -6.4 Bash Conditional Expressions. +6.4 Bash Conditional Expressions. test does not accept any options, nor does it accept and ignore an argument of `--' as signifying the end of options.

    @@ -4169,7 +4266,7 @@ expressions using a set of rules based on the number of arguments.

    If the first argument is `!', the expression is true if and only if the second argument is null. If the first argument is one of the unary conditional operators -(see section 6.4 Bash Conditional Expressions), the expression +(see section 6.4 Bash Conditional Expressions), the expression is true if the unary test is true. If the first argument is not a valid unary operator, the expression is false. @@ -4177,7 +4274,7 @@ false.
    3 arguments
    If the second argument is one of the binary conditional -operators (see section 6.4 Bash Conditional Expressions), the +operators (see section 6.4 Bash Conditional Expressions), the result of the expression is the result of the binary test using the first and third arguments as operands. The `-a' and `-o' operators are considered binary operators @@ -4239,7 +4336,7 @@ before every simple command, for command, case command select command, every arithmetic for command, and before the first command executes in a shell function. Refer to the description of the extdebug option to the -shopt builtin (see section 4.3.2 The Shopt Builtin) for details of its +shopt builtin (see section 4.3.2 The Shopt Builtin) for details of its effect on the DEBUG trap. If a sigspec is RETURN, the command arg is executed each time a shell function or a script executed with the . or @@ -4303,20 +4400,20 @@ The return status is zero unless a name is readonly.
    - + - - - - - + + + + + - +
    [ < ][ > ]   [ << ][ Up ][ >> ]
    [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

    4.2 Bash Builtin Commands

    - +

    This section describes builtin commands which are unique to @@ -4337,7 +4434,7 @@ them to be reused as input. If arguments are supplied, an alias is defined for each name whose value is given. If no value is given, the name and value of the alias is printed. -Aliases are described in 6.6 Aliases. +Aliases are described in 6.6 Aliases.

    bind @@ -4350,12 +4447,12 @@ bind [-m keymap] keyseq:function-name bind readline-command

    -Display current Readline (see section 8. Command Line Editing) +Display current Readline (see section 8. Command Line Editing) key and function bindings, bind a key sequence to a Readline function or macro, or set a Readline variable. Each non-option argument is a command as it would appear in a -Readline initialization file (see section 8.3 Readline Init File), +Readline initialization file (see section 8.3 Readline Init File), but each binding or command must be passed as a separate argument; e.g., `"\C-x\C-r":re-read-init-file'.

    @@ -4528,20 +4625,27 @@ option will restrict the display to shell functions. The `-F' option inhibits the display of function definitions; only the function name and attributes are printed. If the extdebug shell option is enabled using shopt -(see section 4.3.2 The Shopt Builtin), the source file name and line number where +(see section 4.3.2 The Shopt Builtin), the source file name and line number where the function is defined are displayed as well. `-F' implies `-f'. +

    + +The `-g' option forces variables to be created or modified at +the global scope, even when \fBdeclare\fP is executed in a shell function. +It is ignored in all other cases. +

    + The following options can be used to restrict output to variables with the specified attributes or to give variables attributes:

    -a -
    Each name is an indexed array variable (see section 6.7 Arrays). +
    Each name is an indexed array variable (see section 6.7 Arrays).

    -A -
    Each name is an associative array variable (see section 6.7 Arrays). +
    Each name is an associative array variable (see section 6.7 Arrays).

    -f @@ -4550,7 +4654,7 @@ the specified attributes or to give variables attributes:
    -i
    The variable is to be treated as -an integer; arithmetic evaluation (see section 6.5 Shell Arithmetic) is +an integer; arithmetic evaluation (see section 6.5 Shell Arithmetic) is performed when the variable is assigned a value.

    @@ -4589,15 +4693,16 @@ with the exceptions that `+a' may not be used to destroy an array variable and `+r' will not remove the readonly attribute. When used in a function, declare makes each name local, -as with the local command. If a variable name is followed by -=value, the value of the variable is set to value. +as with the local command, unless the `-g' option is used. +If a variable name is followed by =value, the value of the variable +is set to value.

    The return status is zero unless an invalid option is encountered, an attempt is made to define a function using `-f foo=bar', an attempt is made to assign a value to a readonly variable, an attempt is made to assign a value to an array variable without -using the compound assignment syntax (see section 6.7 Arrays), +using the compound assignment syntax (see section 6.7 Arrays), one of the names is not a valid shell variable name, an attempt is made to turn off readonly status for a readonly variable, an attempt is made to turn off array status for an array variable, @@ -4649,6 +4754,12 @@ escape characters by default.

    \xHH
    the eight-bit character whose value is the hexadecimal value HH (one or two hex digits) +
    \uHHHH +
    the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value +HHHH (one to four hex digits) +
    \UHHHHHHHH +
    the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value +HHHHHHHH (one to eight hex digits)

    @@ -4680,7 +4791,7 @@ The `-d' option will delete a builtin loaded with `-f' If there are no options, a list of the shell builtins is displayed. The `-s' option restricts enable to the POSIX special builtins. If `-s' is used with `-f', the new builtin becomes -a special builtin (see section 4.4 Special Builtins). +a special builtin (see section 4.4 Special Builtins).

    The return status is zero unless a name is not a shell builtin @@ -4717,7 +4828,7 @@ The return status is zero unless no command matches pattern.
     
    let expression [expression]
     
    The let builtin allows arithmetic to be performed on shell variables. Each expression is evaluated according to the -rules given below in 6.5 Shell Arithmetic. If the +rules given below in 6.5 Shell Arithmetic. If the last expression evaluates to 0, let returns 1; otherwise 0 is returned.

    @@ -4775,7 +4886,8 @@ The `-c' option specifies quantum. If `-C' is specified without `-c', the default quantum is 5000. When callback is evaluated, it is supplied the index of the next -array element to be assigned as an additional argument. +array element to be assigned and the line to be assigned to that element +as additional arguments. callback is evaluated after the line is read but before the array element is assigned.

    @@ -4794,19 +4906,36 @@ is not an indexed array.
     
    printf [-v var] format [arguments]
     
    Write the formatted arguments to the standard output under the control of the format. +The `-v' option causes the output to be assigned to the variable +var rather than being printed to the standard output. +

    + The format 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 argument. -In addition to the standard printf(1) formats, `%b' causes -printf to expand backslash escape sequences in the corresponding -argument, +In addition to the standard printf(1) formats, printf +interprets the following extensions: +

    + +

    +
    %b +
    causes printf to expand backslash escape sequences in the +corresponding argument, (except that `\c' terminates output, backslashes in `\'', `\"', and `\?' are not removed, and octal escapes -beginning with `\0' may contain up to four digits), -and `%q' causes printf to output the +beginning with `\0' may contain up to four digits). +
    %q +
    causes printf to output the corresponding argument in a format that can be reused as shell input. +
    %(datefmt)T +
    causes printf to output the date-time string resulting from using +datefmt as a format string for strftime(3). The corresponding +argument is an integer representing the number of seconds since the +epoch. Two special argument values may be used: -1 represents the current +time, and -2 represents the time the shell was invoked. +

    Arguments to non-string format specifiers are treated as C language constants, @@ -4815,10 +4944,6 @@ character is a single or double quote, the value is the ASCII value of the following character.

    -The `-v' option causes the output to be assigned to the variable -var rather than being printed to the standard output. -

    - The format is reused as necessary to consume all of the arguments. If the format requires more arguments than are supplied, the extra format specifications behave as if a zero value or null string, as @@ -4864,7 +4989,7 @@ rather than newline.

    -e -
    Readline (see section 8. Command Line Editing) is used to obtain the line. +
    Readline (see section 8. Command Line Editing) is used to obtain the line. Readline uses the current (or default, if line editing was not previously active) editing settings.

    @@ -4942,7 +5067,7 @@ A synonym for mapfile.

    source
     
    source filename
    -
    A synonym for . (see section 4.1 Bourne Shell Builtins). +A synonym for . (see section 4.1 Bourne Shell Builtins).

    type @@ -5119,7 +5244,7 @@ or an error occurs while setting a new limit. Remove each name from the list of aliases. If `-a' is supplied, all aliases are removed. -Aliases are described in 6.6 Aliases. +Aliases are described in 6.6 Aliases.

    @@ -5127,44 +5252,44 @@ Aliases are described in 6.6 Aliases.


    - + - - - - - + + + + + - +
    [ < ][ > ]   [ << ][ Up ][ >> ]
    [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

    4.3 Modifying Shell Behavior

    - +
    - - +
    4.3.1 The Set Builtin  Change the values of shell attributes and +
    4.3.1 The Set Builtin  Change the values of shell attributes and positional parameters.
    4.3.2 The Shopt Builtin  Modify shell optional behavior.
    4.3.2 The Shopt Builtin  Modify shell optional behavior.


    - + - - - - - + + + + + - +
    [ < ][ > ]   [ << ][ Up ][ >> ]
    [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

    4.3.1 The Set Builtin

    - +

    This builtin is so complicated that it deserves its own section. set @@ -5220,7 +5345,7 @@ A trap on ERR, if set, is executed before the shell exits.

    This option applies to the shell environment and each subshell environment -separately (see section 3.7.3 Command Execution Environment), and may cause +separately (see section 3.7.3 Command Execution Environment), and may cause subshells to exit before executing all the commands in the subshell.

    @@ -5240,7 +5365,7 @@ the command name.

    -m -
    Job control is enabled (see section 7. Job Control). +
    Job control is enabled (see section 7. Job Control).

    -n @@ -5265,7 +5390,7 @@ Set the option corresponding to option-name:

    emacs -
    Use an emacs-style line editing interface (see section 8. Command Line Editing). +
    Use an emacs-style line editing interface (see section 8. Command Line Editing). This also affects the editing interface used for read -e.

    @@ -5290,7 +5415,7 @@ This also affects the editing interface used for read -e.

    history -
    Enable command history, as described in 9.1 Bash History Facilities. +
    Enable command history, as described in 9.1 Bash History Facilities. This option is on by default in interactive shells.

    @@ -5348,7 +5473,7 @@ This option is disabled by default.

    posix
    Change the behavior of Bash where the default operation differs from the POSIX standard to match the standard -(see section 6.11 Bash POSIX Mode). +(see section 6.11 Bash POSIX Mode). This is intended to make Bash behave as a strict superset of that standard.

    @@ -5411,7 +5536,7 @@ the command and its expanded arguments.

    -B -
    The shell will perform brace expansion (see section 3.5.1 Brace Expansion). +
    The shell will perform brace expansion (see section 3.5.1 Brace Expansion). This option is on by default.

    @@ -5427,7 +5552,7 @@ The ERR trap is normally not inherited in such cases.

    -H -
    Enable `!' style history substitution (see section 9.3 History Expansion). +
    Enable `!' style history substitution (see section 9.3 History Expansion). This option is on by default for interactive shells.

    @@ -5492,20 +5617,20 @@ The return status is always zero unless an invalid option is supplied.


    - + - - - - - + + + + + - +
    [ < ][ > ]   [ << ][ Up ][ >> ]
    [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

    4.3.2 The Shopt Builtin

    - +

    This builtin allows you to change additional shell optional behavior. @@ -5544,7 +5669,7 @@ non-zero otherwise.

    -o
    Restricts the values of optname to be those defined for the `-o' option to the -set builtin (see section 4.3.1 The Set Builtin). +set builtin (see section 4.3.1 The Set Builtin).

    @@ -5598,7 +5723,7 @@ longer exists, a normal path search is performed.

    If set, Bash lists the status of any stopped and running jobs before exiting an interactive shell. If any jobs are running, this causes the exit to be deferred until a second exit is attempted without an -intervening command (see section 7. Job Control). +intervening command (see section 7. Job Control). The shell always postpones exiting if any jobs are stopped.

    @@ -5654,7 +5779,7 @@ fails.

    expand_aliases
    If set, aliases are expanded as described below under Aliases, -6.6 Aliases. +6.6 Aliases. This option is enabled by default for interactive shells.

    @@ -5664,7 +5789,7 @@ This option is enabled by default for interactive shells.

    1. -The `-F' option to the declare builtin (see section 4.2 Bash Builtin Commands) +The `-F' option to the declare builtin (see section 4.2 Bash Builtin Commands) displays the source file name and line number corresponding to each function name supplied as an argument.

      @@ -5683,7 +5808,7 @@ executed by the . or source builtins), a call to

    2. BASH_ARGC and BASH_ARGV are updated as described in their -descriptions (see section 5.2 Bash Variables). +descriptions (see section 5.2 Bash Variables).

    3. @@ -5701,7 +5826,7 @@ subshells invoked with ( command ) inherit the
      extglob
      If set, the extended pattern matching features described above -(see section 3.5.8.1 Pattern Matching) are enabled. +(see section 3.5.8.1 Pattern Matching) are enabled.

      extquote @@ -5719,7 +5844,7 @@ result in an expansion error.
      If set, the suffixes specified by the FIGNORE shell variable cause words to be ignored when performing word completion even if the ignored words are the only possible completions. -See section 5.2 Bash Variables, for a description of FIGNORE. +See section 5.2 Bash Variables, for a description of FIGNORE. This option is enabled by default.

      @@ -5757,13 +5882,13 @@ the Readline editing buffer, allowing further modification.

      hostcomplete
      If set, and Readline is being used, Bash will attempt to perform hostname completion when a word containing a `@' is being -completed (see section 8.4.6 Letting Readline Type For You). This option is enabled +completed (see section 8.4.6 Letting Readline Type For You). This option is enabled by default.

      huponexit
      If set, Bash will send SIGHUP to all jobs when an interactive -login shell exits (see section 3.7.6 Signals). +login shell exits (see section 3.7.6 Signals).

      interactive_comments @@ -5781,7 +5906,7 @@ embedded newlines rather than using semicolon separators where possible.
      login_shell
      The shell sets this option if it is started as a login shell -(see section 6.1 Invoking Bash). +(see section 6.1 Invoking Bash). The value may not be changed.

      @@ -5815,7 +5940,7 @@ files to expand to a null string, rather than themselves.

      progcomp
      If set, the programmable completion facilities -(see section 8.6 Programmable Completion) are enabled. +(see section 8.6 Programmable Completion) are enabled. This option is enabled by default.

      @@ -5823,13 +5948,13 @@ This option is enabled by default.

      If set, prompt strings undergo parameter expansion, command substitution, arithmetic expansion, and quote removal after being expanded -as described below (see section 6.9 Controlling the Prompt). +as described below (see section 6.9 Controlling the Prompt). This option is enabled by default.

      restricted_shell
      The shell sets this option if it is started in restricted mode -(see section 6.10 The Restricted Shell). +(see section 6.10 The Restricted Shell). 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. @@ -5866,20 +5991,20 @@ When setting or unsetting options, the return status is zero unless an
      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      4.4 Special Builtins

      - +

      For historical reasons, the POSIX standard has classified @@ -5905,7 +6030,7 @@ environment after the command completes. When Bash is not executing in POSIX mode, these builtins behave no differently than the rest of the Bash builtin commands. -The Bash POSIX mode is described in 6.11 Bash POSIX Mode. +The Bash POSIX mode is described in 6.11 Bash POSIX Mode.

      These are the POSIX special builtins: @@ -5915,26 +6040,26 @@ shift trap unset


      - + - - - + + + - + - +
      [ < ][ > ]   [ << ]
      [ < ][ > ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      5. Shell Variables

      - +

      - - +
      5.1 Bourne Shell Variables  Variables which Bash uses in the same way +
      5.1 Bourne Shell Variables  Variables which Bash uses in the same way as the Bourne Shell.
      5.2 Bash Variables  List of variables that exist in Bash.
      5.2 Bash Variables  List of variables that exist in Bash.

      @@ -5944,20 +6069,20 @@ Bash automatically assigns default values to a number of variables.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      5.1 Bourne Shell Variables

      - +

      Bash uses certain shell variables in the same way as the Bourne shell. @@ -5979,7 +6104,7 @@ the cd builtin command. The current user's home directory; the default for the cd builtin command. The value of this variable is also used by tilde expansion -(see section 3.5.2 Tilde Expansion). +(see section 3.5.2 Tilde Expansion).

      @@ -6036,7 +6161,7 @@ or trailing colon.

      PS1
      The primary prompt string. The default value is `\s-\v\$ '. -See section 6.9 Controlling the Prompt, for the complete list of escape +See section 6.9 Controlling the Prompt, for the complete list of escape sequences that are expanded before PS1 is displayed.

      @@ -6051,20 +6176,20 @@ The secondary prompt string. The default value is `> '.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      5.2 Bash Variables

      - +

      These variables are set or used by Bash, but other shells @@ -6073,7 +6198,7 @@ do not normally treat them specially. A few variables used by Bash are described in different chapters: variables for controlling the job control facilities -(see section 7.3 Job Control Variables). +(see section 7.3 Job Control Variables).

      @@ -6089,7 +6214,7 @@ The full pathname used to execute the current instance of Bash.
      A colon-separated list of enabled shell options. Each word in the list is a valid argument for the `-s' option to the -shopt builtin command (see section 4.3.2 The Shopt Builtin). +shopt builtin command (see section 4.3.2 The Shopt Builtin). The options appearing in BASHOPTS are those reported as `on' by `shopt'. If this variable is in the environment when Bash @@ -6110,7 +6235,7 @@ that do not require Bash to be re-initialized.
      An associative array variable whose members correspond to the internal list of aliases as maintained by the alias builtin -(see section 4.1 Bourne Shell Builtins). +(see section 4.1 Bourne Shell Builtins). Elements added to this array appear in the alias list; unsetting array elements cause aliases to be removed from the alias list.

      @@ -6125,7 +6250,7 @@ with . or source) is at the top of the stack. When a subroutine is executed, the number of parameters passed is pushed onto BASH_ARGC. The shell sets BASH_ARGC only when in extended debugging mode -(see 4.3.2 The Shopt Builtin +(see 4.3.2 The Shopt Builtin for a description of the extdebug option to the shopt builtin).

      @@ -6139,7 +6264,7 @@ is at the top of the stack; the first parameter of the initial call is at the bottom. When a subroutine is executed, the parameters supplied are pushed onto BASH_ARGV. The shell sets BASH_ARGV only when in extended debugging mode -(see 4.3.2 The Shopt Builtin +(see 4.3.2 The Shopt Builtin for a description of the extdebug option to the shopt builtin).

      @@ -6149,7 +6274,7 @@ builtin).

      An associative array variable whose members correspond to the internal hash table of commands as maintained by the hash builtin -(see section 4.1 Bourne Shell Builtins). +(see section 4.1 Bourne Shell Builtins). Elements added to this array appear in the hash table; unsetting array elements cause commands to be removed from the hash table.

      @@ -6167,7 +6292,7 @@ in which case it is the command executing at the time of the trap.

      If this variable is set when Bash is invoked to execute a shell script, its value is expanded and used as the name of a startup file -to read before executing the script. See section 6.2 Bash Startup Files. +to read before executing the script. See section 6.2 Bash Startup Files.

      @@ -6218,7 +6343,7 @@ The initial value is 0.

      BASH_VERSINFO
      -A readonly array variable (see section 6.7 Arrays) +A readonly array variable (see section 6.7 Arrays) whose members hold version information for this instance of Bash. The values assigned to the array members are as follows:

      @@ -6289,7 +6414,7 @@ when printing selection lists. Automatically set upon receipt of a An index into ${COMP_WORDS} of the word containing the current cursor position. This variable is available only in shell functions invoked by the -programmable completion facilities (see section 8.6 Programmable Completion). +programmable completion facilities (see section 8.6 Programmable Completion).

      @@ -6298,7 +6423,7 @@ programmable completion facilities (see section 8. The current command line. This variable is available only in shell functions and external commands invoked by the -programmable completion facilities (see section 8.6 Programmable Completion). +programmable completion facilities (see section 8.6 Programmable Completion).

      @@ -6310,7 +6435,7 @@ If the current cursor position is at the end of the current command, the value of this variable is equal to ${#COMP_LINE}. This variable is available only in shell functions and external commands invoked by the -programmable completion facilities (see section 8.6 Programmable Completion). +programmable completion facilities (see section 8.6 Programmable Completion).

      @@ -6326,7 +6451,7 @@ or `%', for menu completion. This variable is available only in shell functions and external commands invoked by the -programmable completion facilities (see section 8.6 Programmable Completion). +programmable completion facilities (see section 8.6 Programmable Completion).

      @@ -6353,7 +6478,7 @@ words in the current command line. The line is split into words as Readline would split it, using COMP_WORDBREAKS as described above. This variable is available only in shell functions invoked by the -programmable completion facilities (see section 8.6 Programmable Completion). +programmable completion facilities (see section 8.6 Programmable Completion).

      @@ -6361,7 +6486,7 @@ programmable completion facilities (see section 8.

      An array variable from which Bash reads the possible completions generated by a shell function invoked by the programmable completion -facility (see section 8.6 Programmable Completion). +facility (see section 8.6 Programmable Completion).

      @@ -6397,7 +6522,7 @@ emacs shell buffer and disables line editing.

      ENV
      Similar to BASH_ENV; used when the shell is invoked in -POSIX Mode (see section 6.11 Bash POSIX Mode). +POSIX Mode (see section 6.11 Bash POSIX Mode).

      @@ -6440,8 +6565,16 @@ it is subsequently reset.

      -

      GLOBIGNORE +
      FUNCNEST
      +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. +

      + + +

      GLOBIGNORE +
      A colon-separated list of patterns defining the set of filenames to be ignored by filename expansion. If a filename matched by a filename expansion pattern also matches one @@ -6449,9 +6582,9 @@ of the patterns in GLOBIGNORE, it is removed from the list of matches.

      - +

      GROUPS -
      +
      An array variable containing the list of groups of which the current user is a member. Assignments to GROUPS have no effect and return an error status. @@ -6459,11 +6592,11 @@ If GROUPS is unset, it loses its special properties, even if it is subsequently reset.

      - +

      histchars -
      +
      Up to three characters which control history expansion, quick -substitution, and tokenization (see section 9.3 History Expansion). +substitution, and tokenization (see section 9.3 History Expansion). The first character is the history expansion character, that is, the character which signifies the start of a history expansion, normally `!'. The second character is the @@ -6476,17 +6609,17 @@ remaining words on the line. It does not necessarily cause the shell parser to treat the rest of the line as a comment.

      - +

      HISTCMD -
      +
      The history number, or index in the history list, of the current command. If HISTCMD is unset, it loses its special properties, even if it is subsequently reset.

      - +

      HISTCONTROL -
      +
      A colon-separated list of values controlling how commands are saved on the history list. If the list of values includes `ignorespace', lines which begin @@ -6507,16 +6640,16 @@ not tested, and are added to the history regardless of the value of HISTCONTROL.

      - +

      HISTFILE -
      +
      The name of the file to which the command history is saved. The default value is `~/.bash_history'.

      - +

      HISTFILESIZE -
      +
      The maximum number of lines contained in the history file. When this variable is assigned a value, the history file is truncated, if necessary, by removing the oldest entries, @@ -6526,9 +6659,9 @@ writing it when an interactive shell exits. The default value is 500.

      - +

      HISTIGNORE -
      +
      A colon-separated list of patterns used to decide which command lines should be saved on the history list. Each pattern is anchored at the beginning of the line and must match the complete @@ -6550,16 +6683,16 @@ Combining these two patterns, separating them with a colon, provides the functionality of ignoreboth.

      - +

      HISTSIZE -
      +
      The maximum number of commands to remember on the history list. The default value is 500.

      - +

      HISTTIMEFORMAT -
      +
      If this variable is set and not null, its value is used as a format string for strftime to print the time stamp associated with each history entry displayed by the history builtin. @@ -6569,9 +6702,9 @@ This uses the history comment character to distinguish timestamps from other history lines.

      - +

      HOSTFILE -
      +
      Contains the name of a file in the same format as `/etc/hosts' that should be read when the shell needs to complete a hostname. The list of possible hostname completions may be changed while the shell @@ -6585,21 +6718,21 @@ Bash attempts to read When HOSTFILE is unset, the hostname list is cleared.

      - +

      HOSTNAME -
      +
      The name of the current host.

      - +

      HOSTTYPE -
      +
      A string describing the machine Bash is running on.

      - +

      IGNOREEOF -
      +
      Controls the action of the shell on receipt of an EOF character as the sole input. If set, the value denotes the number of consecutive EOF characters that can be read as the @@ -6610,82 +6743,82 @@ If the variable does not exist, then EOF signifies the end of input to the shell. This is only in effect for interactive shells.

      - +

      INPUTRC -
      +
      The name of the Readline initialization file, overriding the default of `~/.inputrc'.

      - +

      LANG -
      +
      Used to determine the locale category for any category not specifically selected with a variable starting with LC_.

      - +

      LC_ALL -
      +
      This variable overrides the value of LANG and any other LC_ variable specifying a locale category.

      - +

      LC_COLLATE -
      +
      This variable determines the collation order used when sorting the results of filename expansion, and determines the behavior of range expressions, equivalence classes, and collating sequences within filename expansion and pattern matching -(see section 3.5.8 Filename Expansion). +(see section 3.5.8 Filename Expansion).

      - +

      LC_CTYPE -
      +
      This variable determines the interpretation of characters and the behavior of character classes within filename expansion and pattern -matching (see section 3.5.8 Filename Expansion). +matching (see section 3.5.8 Filename Expansion).

      - +

      LC_MESSAGES -
      +
      This variable determines the locale used to translate double-quoted strings preceded by a `$' (see section 3.1.2.5 Locale-Specific Translation).

      - +

      LC_NUMERIC -
      +
      This variable determines the locale category used for number formatting.

      - +

      LINENO -
      +
      The line number in the script or shell function currently executing.

      - +

      LINES -
      +
      Used by the select builtin command to determine the column length for printing selection lists. Automatically set upon receipt of a SIGWINCH.

      - +

      MACHTYPE -
      +
      A string that fully describes the system type on which Bash is executing, in the standard GNU cpu-company-system format.

      - +

      MAILCHECK -
      +
      How often (in seconds) that the shell should check for mail in the files specified in the MAILPATH or MAIL variables. The default is 60 seconds. When it is time to check @@ -6694,46 +6827,46 @@ 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.

      - +

      MAPFILE -
      +
      An array variable created to hold the text read by the mapfile builtin when no variable name is supplied.

      - +

      OLDPWD -
      +
      The previous working directory as set by the cd builtin.

      - +

      OPTERR -
      +
      If set to the value 1, Bash displays error messages generated by the getopts builtin command.

      - +

      OSTYPE -
      +
      A string describing the operating system Bash is running on.

      - +

      PIPESTATUS -
      -An array variable (see section 6.7 Arrays) +
      +An array variable (see section 6.7 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).

      - +

      POSIXLY_CORRECT -
      +
      If this variable is in the environment when bash starts, the shell -enters POSIX mode (see section 6.11 Bash POSIX Mode) before reading the +enters POSIX mode (see section 6.11 Bash POSIX Mode) before reading the startup files, as if the `--posix' invocation option had been supplied. If it is set while the shell is running, bash enables POSIX mode, as if the command @@ -6741,84 +6874,84 @@ as if the command had been executed.

      - +

      PPID -
      +
      The process ID of the shell's parent process. This variable is readonly.

      - +

      PROMPT_COMMAND -
      +
      If set, the value is interpreted as a command to execute before the printing of each primary prompt ($PS1).

      - +

      PROMPT_DIRTRIM -
      +
      If set to a number greater than zero, the value is used as the number of trailing directory components to retain when expanding the \w and -\W prompt string escapes (see section 6.9 Controlling the Prompt). +\W prompt string escapes (see section 6.9 Controlling the Prompt). Characters removed are replaced with an ellipsis.

      - +

      PS3 -
      +
      The value of this variable is used as the prompt for the select command. If this variable is not set, the select command prompts with `#? '

      - +

      PS4 -
      +
      The value is the prompt printed before the command line is echoed -when the `-x' option is set (see section 4.3.1 The Set Builtin). +when the `-x' option is set (see section 4.3.1 The Set Builtin). The first character of PS4 is replicated multiple times, as necessary, to indicate multiple levels of indirection. The default is `+ '.

      - +

      PWD -
      +
      The current working directory as set by the cd builtin.

      - +

      RANDOM -
      +
      Each time this parameter is referenced, a random integer between 0 and 32767 is generated. Assigning a value to this variable seeds the random number generator.

      - +

      READLINE_LINE -
      +
      The contents of the Readline line buffer, for use -with `bind -x' (see section 4.2 Bash Builtin Commands). +with `bind -x' (see section 4.2 Bash Builtin Commands).

      - +

      READLINE_POINT -
      +
      The position of the insertion point in the Readline line buffer, for use -with `bind -x' (see section 4.2 Bash Builtin Commands). +with `bind -x' (see section 4.2 Bash Builtin Commands).

      - +

      REPLY -
      +
      The default variable for the read builtin.

      - +

      SECONDS -
      +
      This variable expands to the number of seconds since the shell was started. Assignment to this variable resets the count to the value assigned, and the expanded value @@ -6826,20 +6959,20 @@ becomes the value assigned plus the number of seconds since the assignment.

      - +

      SHELL -
      +
      The full pathname to the shell is kept in this environment variable. If it is not set when the shell starts, Bash assigns to it the full pathname of the current user's login shell.

      - +

      SHELLOPTS -
      +
      A colon-separated list of enabled shell options. Each word in the list is a valid argument for the `-o' option to the -set builtin command (see section 4.3.1 The Set Builtin). +set builtin command (see section 4.3.1 The Set Builtin). The options appearing in SHELLOPTS are those reported as `on' by `set -o'. If this variable is in the environment when Bash @@ -6847,16 +6980,16 @@ starts up, each shell option in the list will be enabled before reading any startup files. This variable is readonly.

      - +

      SHLVL -
      +
      Incremented by one each time a new instance of Bash is started. This is intended to be a count of how deeply your Bash shells are nested.

      - +

      TIMEFORMAT -
      +
      The value of this parameter is used as a format string specifying how the timing information for pipelines prefixed with the time reserved word should be displayed. @@ -6909,11 +7042,11 @@ If this variable is not set, Bash acts as if it had the value A trailing newline is added when the format string is displayed.

      - +

      TMOUT -
      +
      If set to a value greater than zero, TMOUT is treated as the -default timeout for the read builtin (see section 4.2 Bash Builtin Commands). +default timeout for the read builtin (see section 4.2 Bash Builtin Commands). The select command (see section 3.2.4.2 Conditional Constructs) terminates if input does not arrive after TMOUT seconds when input is coming from a terminal. @@ -6926,16 +7059,16 @@ Bash terminates after that number of seconds if input does not arrive.

      - +

      TMPDIR -
      +
      If set, Bash uses its value as the name of a directory in which Bash creates temporary files for the shell's use.

      - +

      UID -
      +
      The numeric real user id of the current user. This variable is readonly.

      @@ -6944,59 +7077,59 @@ The numeric real user id of the current user. This variable is readonly.


      - + - - - + + + - + - +
      [ < ][ > ]   [ << ]
      [ < ][ > ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      6. Bash Features

      - +

      This section describes features unique to Bash.

      - - - - + + - - - - - - - + + + + + +
      6.1 Invoking Bash  Command line options that you can give +
      6.1 Invoking Bash  Command line options that you can give to Bash.
      6.2 Bash Startup Files  When and how Bash executes scripts.
      6.3 Interactive Shells  What an interactive shell is.
      6.4 Bash Conditional Expressions  Primitives used in composing expressions for +
      6.2 Bash Startup Files  When and how Bash executes scripts.
      6.3 Interactive Shells  What an interactive shell is.
      6.4 Bash Conditional Expressions  Primitives used in composing expressions for the test builtin.
      6.5 Shell Arithmetic  Arithmetic on shell variables.
      6.6 Aliases  Substituting one command for another.
      6.7 Arrays  Array Variables.
      6.8 The Directory Stack  History of visited directories.
      6.9 Controlling the Prompt  Controlling the PS1 string.
      6.10 The Restricted Shell  A more controlled mode of shell execution.
      6.11 Bash POSIX Mode  Making Bash behave more closely to what +
      6.5 Shell Arithmetic  Arithmetic on shell variables.
      6.6 Aliases  Substituting one command for another.
      6.7 Arrays  Array Variables.
      6.8 The Directory Stack  History of visited directories.
      6.9 Controlling the Prompt  Controlling the PS1 string.
      6.10 The Restricted Shell  A more controlled mode of shell execution.
      6.11 Bash POSIX Mode  Making Bash behave more closely to what the POSIX standard specifies.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      6.1 Invoking Bash

      - +

       
      bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o option] [-O shopt_option] [argument ...]
      @@ -7005,7 +7138,7 @@ bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o option] [-O shopt_
       

      All of the single-character options used with the set builtin -(see section 4.3.1 The Set Builtin) can be used as options when the shell is invoked. +(see section 4.3.1 The Set Builtin) can be used as options when the shell is invoked. In addition, there are several multi-character options that you can use. These options must appear on the command line before the single-character options to be recognized. @@ -7014,7 +7147,7 @@ line before the single-character options to be recognized.

      --debugger
      Arrange for the debugger profile to be executed before the shell -starts. Turns on extended debugging mode (see 4.3.2 The Shopt Builtin +starts. Turns on extended debugging mode (see 4.3.2 The Shopt Builtin for a description of the extdebug option to the shopt builtin).

      @@ -7045,7 +7178,7 @@ in an interactive shell.

      --noediting -
      Do not use the GNU Readline library (see section 8. Command Line Editing) +
      Do not use the GNU Readline library (see section 8. Command Line Editing) to read command lines when the shell is interactive.

      @@ -7066,12 +7199,12 @@ invoked as sh.

      Change the behavior of Bash where the default operation differs from the POSIX standard to match the standard. This is intended to make Bash behave as a strict superset of that -standard. See section 6.11 Bash POSIX Mode, for a description of the Bash +standard. See section 6.11 Bash POSIX Mode, for a description of the Bash POSIX mode.

      --restricted -
      Make the shell a restricted shell (see section 6.10 The Restricted Shell). +
      Make the shell a restricted shell (see section 6.10 The Restricted Shell).

      --verbose @@ -7099,7 +7232,7 @@ positional parameters, starting with $0.
      -i
      Force the shell to run interactively. Interactive shells are -described in 6.3 Interactive Shells. +described in 6.3 Interactive Shells.

      -l @@ -7110,12 +7243,12 @@ When the shell is not interactive, the login shell startup files will be executed. `exec bash -l' or `exec bash --login' will replace the current shell with a Bash login shell. -See section 6.2 Bash Startup Files, for a description of the special behavior +See section 6.2 Bash Startup Files, for a description of the special behavior of a login shell.

      -r -
      Make the shell a restricted shell (see section 6.10 The Restricted Shell). +
      Make the shell a restricted shell (see section 6.10 The Restricted Shell).

      -s @@ -7136,7 +7269,7 @@ This implies the `-n' option; no commands will be executed.
      [-+]O [shopt_option]
      shopt_option is one of the shell options accepted by the -shopt builtin (see section 4.3.2 The Shopt Builtin). +shopt builtin (see section 4.3.2 The Shopt Builtin). If shopt_option is present, `-O' sets the value of that option; `+O' unsets it. If shopt_option is not supplied, the names and values of the shell @@ -7154,24 +7287,24 @@ Any arguments after the -- are treated as filenames and arguments.

      - + A login shell is one whose first character of argument zero is `-', or one invoked with the `--login' option.

      - + An interactive shell is one started without non-option arguments, unless `-s' is specified, without specifying the `-c' option, and whose input and output are both connected to terminals (as determined by isatty(3)), or one -started with the `-i' option. See section 6.3 Interactive Shells, for more +started with the `-i' option. See section 6.3 Interactive Shells, for more information.

      If arguments remain after option processing, and neither the `-c' nor the `-s' option has been supplied, the first argument is assumed to -be the name of a file containing shell commands (see section 3.8 Shell Scripts). +be the name of a file containing shell commands (see section 3.8 Shell Scripts). When Bash is invoked in this fashion, $0 is set to the name of the file, and the positional parameters are set to the remaining arguments. @@ -7182,34 +7315,34 @@ in the script. If no commands are executed, the exit status is 0.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      6.2 Bash Startup Files

      - +

      This section describes how Bash executes its startup files. If any of the files exist but cannot be read, Bash reports an error. Tildes are expanded in file names as described above under -Tilde Expansion (see section 3.5.2 Tilde Expansion). +Tilde Expansion (see section 3.5.2 Tilde Expansion).

      -Interactive shells are described in 6.3 Interactive Shells. +Interactive shells are described in 6.3 Interactive Shells.

      - +

      Invoked as an interactive login shell, or with `--login'

      - +

      When Bash is invoked as an interactive login shell, or as a @@ -7226,9 +7359,9 @@ When a login shell exits, Bash reads and executes commands from the file `~/.bash_logout', if it exists.

      - +

      Invoked as an interactive non-login shell

      - +

      When an interactive shell that is not a login shell is started, Bash @@ -7243,9 +7376,9 @@ So, typically, your `~/.bash_profile' contains the line after (or before) any login-specific initializations.

      - +

      Invoked non-interactively

      - +

      When Bash is started non-interactively, to run a shell script, @@ -7263,9 +7396,9 @@ As noted above, if a non-interactive shell is invoked with the login shell startup files.

      - +

      Invoked with name sh

      - +

      If Bash is invoked with the name sh, it tries to mimic the @@ -7292,9 +7425,9 @@ When invoked as sh, Bash enters POSIX mode after the startup files are read.

      - +

      Invoked in POSIX mode

      - +

      When Bash is started in POSIX mode, as with the @@ -7306,9 +7439,9 @@ expanded value. No other startup files are read.

      - +

      Invoked by remote shell daemon

      - +

      Bash attempts to determine when it is being run with its standard input @@ -7324,9 +7457,9 @@ The `--norc' option may be used to inhibit this behavior, and the allow them to be specified.

      - +

      Invoked with unequal effective and real UID/GIDs

      - +

      If Bash is started with the effective user (group) id not equal to the @@ -7341,45 +7474,45 @@ the same, but the effective user id is not reset.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      6.3 Interactive Shells

      - +

      - - - + + +
      6.3.1 What is an Interactive Shell?  What determines whether a shell is Interactive.
      6.3.2 Is this Shell Interactive?  How to tell if a shell is interactive.
      6.3.3 Interactive Shell Behavior  What changes in a interactive shell?
      6.3.1 What is an Interactive Shell?  What determines whether a shell is Interactive.
      6.3.2 Is this Shell Interactive?  How to tell if a shell is interactive.
      6.3.3 Interactive Shell Behavior  What changes in a interactive shell?


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      6.3.1 What is an Interactive Shell?

      - +

      An interactive shell @@ -7400,20 +7533,20 @@ when an interactive shell is started.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      6.3.2 Is this Shell Interactive?

      - +

      To determine within a startup script whether or not Bash is @@ -7442,20 +7575,20 @@ fi


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      6.3.3 Interactive Shell Behavior

      - +

      When the shell is running interactively, it changes its behavior in @@ -7464,11 +7597,11 @@ several ways.

      1. -Startup files are read and executed as described in 6.2 Bash Startup Files. +Startup files are read and executed as described in 6.2 Bash Startup Files.

      2. -Job Control (see section 7. Job Control) is enabled by default. When job +Job Control (see section 7. Job Control) is enabled by default. When job control is in effect, Bash ignores the keyboard-generated job control signals SIGTTIN, SIGTTOU, and SIGTSTP.

        @@ -7482,69 +7615,69 @@ second and subsequent lines of a multi-line command.

      3. Bash executes the value of the PROMPT_COMMAND variable as a command before printing the primary prompt, $PS1 -(see section 5.2 Bash Variables). +(see section 5.2 Bash Variables).

      4. -Readline (see section 8. Command Line Editing) is used to read commands from +Readline (see section 8. Command Line Editing) is used to read commands from the user's terminal.

      5. Bash inspects the value of the ignoreeof option to set -o instead of exiting immediately when it receives an EOF on its -standard input when reading a command (see section 4.3.1 The Set Builtin). +standard input when reading a command (see section 4.3.1 The Set Builtin).

      6. -Command history (see section 9.1 Bash History Facilities) -and history expansion (see section 9.3 History Expansion) +Command history (see section 9.1 Bash History Facilities) +and history expansion (see section 9.3 History Expansion) are enabled by default. Bash will save the command history to the file named by $HISTFILE when an interactive shell exits.

      7. -Alias expansion (see section 6.6 Aliases) is performed by default. +Alias expansion (see section 6.6 Aliases) is performed by default.

      8. In the absence of any traps, Bash ignores SIGTERM -(see section 3.7.6 Signals). +(see section 3.7.6 Signals).

      9. In the absence of any traps, SIGINT is caught and handled -((see section 3.7.6 Signals). +((see section 3.7.6 Signals). SIGINT will interrupt some shell builtins.

      10. An interactive login shell sends a SIGHUP to all jobs on exit -if the huponexit shell option has been enabled (see section 3.7.6 Signals). +if the huponexit shell option has been enabled (see section 3.7.6 Signals).

      11. The `-n' invocation option is ignored, and `set -n' has -no effect (see section 4.3.1 The Set Builtin). +no effect (see section 4.3.1 The Set Builtin).

      12. Bash will check for mail periodically, depending on the values of the MAIL, MAILPATH, and MAILCHECK shell variables -(see section 5.2 Bash Variables). +(see section 5.2 Bash Variables).

      13. Expansion errors due to references to unbound shell variables after `set -u' has been enabled will not cause the shell to exit -(see section 4.3.1 The Set Builtin). +(see section 4.3.1 The Set Builtin).

      14. The shell will not exit on expansion errors caused by var being unset or null in ${var:?word} expansions -(see section 3.5.3 Shell Parameter Expansion). +(see section 3.5.3 Shell Parameter Expansion).

      15. @@ -7554,12 +7687,12 @@ shell to exit.
      16. When running in POSIX mode, a special builtin returning an error -status will not cause the shell to exit (see section 6.11 Bash POSIX Mode). +status will not cause the shell to exit (see section 6.11 Bash POSIX Mode).

      17. A failed exec will not cause the shell to exit -(see section 4.1 Bourne Shell Builtins). +(see section 4.1 Bourne Shell Builtins).

      18. @@ -7569,13 +7702,13 @@ Parser syntax errors will not cause the shell to exit.
      19. Simple spelling correction for directory arguments to the cd builtin is enabled by default (see the description of the cdspell -option to the shopt builtin in 4.3.2 The Shopt Builtin). +option to the shopt builtin in 4.3.2 The Shopt Builtin).

      20. The shell will check the value of the TMOUT variable and exit if a command is not read within the specified number of seconds after -printing $PS1 (see section 5.2 Bash Variables). +printing $PS1 (see section 5.2 Bash Variables).

      @@ -7583,20 +7716,20 @@ printing $PS1 (see section 5.2 Bash Va
      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      6.4 Bash Conditional Expressions

      - +

      Conditional expressions are used by the [[ compound command @@ -7722,9 +7855,13 @@ or if file2 exists and file1 does not.

      -o optname -
      True if shell option optname is enabled. +
      True if the shell option optname is enabled. The list of options appears in the description of the `-o' -option to the set builtin (see section 4.3.1 The Set Builtin). +option to the set builtin (see section 4.3.1 The Set Builtin). +

      + +

      -v varname +
      True if the shell variable varname is set (has been assigned a value).

      -z string @@ -7769,20 +7906,20 @@ may be positive or negative integers.
      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      6.5 Shell Arithmetic

      - +

      The shell allows arithmetic expressions to be evaluated, as one of @@ -7908,20 +8045,20 @@ rules above.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      6.6 Aliases

      - +

      Aliases allow a string to be substituted for a word when it is used @@ -7955,12 +8092,12 @@ command, and removed with the unalias command. There is no mechanism for using arguments in the replacement text, as in csh. If arguments are needed, a shell function should be used -(see section 3.3 Shell Functions). +(see section 3.3 Shell Functions).

      Aliases are not expanded when the shell is not interactive, unless the expand_aliases shell option is set using -shopt (see section 4.3.2 The Shopt Builtin). +shopt (see section 4.3.2 The Shopt Builtin).

      The rules concerning the definition and use of aliases are @@ -7988,20 +8125,20 @@ For almost every purpose, shell functions are preferred over aliases.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      6.7 Arrays

      - +

      Bash provides one-dimensional indexed and associative array variables. @@ -8011,7 +8148,7 @@ There is no maximum limit on the size of an array, nor any requirement that members be indexed or assigned contiguously. Indexed arrays are referenced using integers (including arithmetic -expressions (see section 6.5 Shell Arithmetic) and are zero-based; +expressions (see section 6.5 Shell Arithmetic) and are zero-based; associative arrays use arbitrary strings.

      @@ -8112,24 +8249,24 @@ reused as input.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      6.8 The Directory Stack

      - +

      -
      6.8.1 Directory Stack Builtins  Bash builtin commands to manipulate +
      6.8.1 Directory Stack Builtins  Bash builtin commands to manipulate the directory stack.

      @@ -8148,26 +8285,26 @@ as the value of the DIRSTACK shell variable.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      6.8.1 Directory Stack Builtins

      - +

      dirs -
      +
       
      dirs [+N | -N] [-clpv]
       
      Display the list of currently remembered directories. Directories are added to the list with the pushd command; the @@ -8196,7 +8333,7 @@ line, prefixing each entry with its index in the stack.

      popd -
      +
       
      popd [+N | -N] [-n]
       

      @@ -8220,7 +8357,7 @@ from the stack, so that only the stack is manipulated.

      - +

      pushd
       
      pushd [-n] [+N | -N | dir ]
       

      @@ -8254,20 +8391,20 @@ executes the equivalent of `cd dir'.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      6.9 Controlling the Prompt

      - +

      The value of the variable PROMPT_COMMAND is examined just before @@ -8346,7 +8483,7 @@ embed a terminal control sequence into the prompt. 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 section 9.1 Bash History Facilities), while the command number is +(see section 9.1 Bash History Facilities), while the command number is the position in the sequence of commands executed during the current shell session.

      @@ -8354,25 +8491,25 @@ 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 -promptvars shell option (see section 4.2 Bash Builtin Commands). +promptvars shell option (see section 4.2 Bash Builtin Commands).


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      6.10 The Restricted Shell

      - +

      If Bash is started with the name rbash, or the @@ -8425,26 +8562,26 @@ These restrictions are enforced after any startup files are read.

      When a command that is found to be a shell script is executed -(see section 3.8 Shell Scripts), rbash turns off any restrictions in +(see section 3.8 Shell Scripts), rbash turns off any restrictions in the shell spawned to execute the script.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      6.11 Bash POSIX Mode

      - +

      Starting Bash with the `--posix' command-line option or executing @@ -8531,6 +8668,12 @@ Non-interactive shells exit if a syntax error in an arithmetic expansion results in an invalid expression.

      +

    4. +Non-interactive shells exit if there is a syntax error in a script read +with the . or source builtins, or in a string processed by +the eval builtin. +

      +

    5. Redirection operators do not perform filename expansion on the word in the redirection unless the shell is interactive. @@ -8553,6 +8696,21 @@ POSIX special builtins are found before shell functions during command lookup.

      +

    6. +The time reserved word may be used by itself as a command. When +used in this way, it displays timing statistics for the shell and its +completed children. The TIMEFORMAT variable controls the format +of the timing information. +

      + +

    7. +When parsing and expanding a ${...} expansion that appears within +double quotes, single quotes are no longer special and cannot be used to +quote a closing brace or other special character, unless the operator is +one of those defined to perform pattern removal. In this case, they do +not have to appear as matched pairs. +

      +

    8. If a POSIX special builtin returns an error status, a non-interactive shell exits. The fatal errors are those listed in @@ -8732,25 +8890,25 @@ the echo builtin to be fully conformant. Bash can be configured to be POSIX-conformant by default, by specifying the `--enable-strict-posix-default' to configure when building -(see section 10.8 Optional Features). +(see section 10.8 Optional Features).


      - + - - - + + + - + - +
      [ < ][ > ]   [ << ]
      [ < ][ > ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      7. Job Control

      - +

      This chapter discusses what job control is, how it works, and how @@ -8758,30 +8916,30 @@ Bash allows you to access its facilities.

      - - + -
      7.1 Job Control Basics  How job control works.
      7.2 Job Control Builtins  Bash builtin commands used to interact +
      7.1 Job Control Basics  How job control works.
      7.2 Job Control Builtins  Bash builtin commands used to interact with job control.
      7.3 Job Control Variables  Variables Bash uses to customize job +
      7.3 Job Control Variables  Variables Bash uses to customize job control.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      7.1 Job Control Basics

      - +

      Job control @@ -8875,13 +9033,13 @@ Normally, Bash waits until it is about to print a prompt before reporting changes in a job's status so as to not interrupt any other output. If the `-b' option to the set builtin is enabled, -Bash reports such changes immediately (see section 4.3.1 The Set Builtin). +Bash reports such changes immediately (see section 4.3.1 The Set Builtin). Any trap on SIGCHLD is executed for each child process that exits.

      If an attempt to exit Bash is made while jobs are stopped, (or running, if -the checkjobs option is enabled -- see 4.3.2 The Shopt Builtin), the +the checkjobs option is enabled -- see 4.3.2 The Shopt Builtin), the shell prints a warning message, and if the checkjobs option is enabled, lists the jobs and their statuses. The jobs command may then be used to inspect their status. @@ -8891,26 +9049,26 @@ Bash does not print another warning, and any stopped jobs are terminated.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      7.2 Job Control Builtins

      - +

      bg -
      +
       
      bg [jobspec ...]
       
      Resume each suspended job jobspec in the background, as if it had been started with `&'. @@ -8922,7 +9080,7 @@ that was started without job control.

      fg -
      +
       
      fg [jobspec]
       
      Resume the job jobspec in the foreground and make it the current job. If jobspec is not supplied, the current job is used. @@ -8933,7 +9091,7 @@ job control enabled, jobspec does not specify a valid job or

      jobs -
      +
       
      jobs [-lnprs] [jobspec]
       jobs -x command [arguments]
       

      @@ -8978,7 +9136,7 @@ passing it arguments, returning its exit status.

      kill -
      +
       
      kill [-s sigspec] [-n signum] [-sigspec] jobspec or pid
       kill -l [exit_status]
       
      Send a signal specified by sigspec or signum to the process @@ -8998,7 +9156,7 @@ or non-zero if an error occurs or an invalid option is encountered.

      wait -
      +
       
      wait [jobspec or pid ...]
       
      Wait until the child process specified by each process ID pid or job specification jobspec exits and return the exit status of the @@ -9011,7 +9169,7 @@ of the shell, the return status is 127.

      disown -
      +
       
      disown [-ar] [-h] [jobspec ...]
       
      Without options, each jobspec is removed from the table of active jobs. @@ -9026,7 +9184,7 @@ argument restricts operation to running jobs.

      suspend -
      +
       
      suspend [-f]
       
      Suspend the execution of this shell until it receives a SIGCONT signal. @@ -9044,27 +9202,27 @@ supplied process IDs.
      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      7.3 Job Control Variables

      - +

      - +
      auto_resume -
      +
      This variable controls how the shell interacts with the user and job control. If this variable exists then single word simple commands without redirections are treated as candidates for resumption @@ -9077,7 +9235,7 @@ the string supplied must match the name of a stopped job exactly; if set to `substring', the string supplied needs to match a substring of the name of a stopped job. The `substring' value provides functionality -analogous to the `%?' job ID (see section 7.1 Job Control Basics). +analogous to the `%?' job ID (see section 7.1 Job Control Basics). If set to any other value, the supplied string must be a prefix of a stopped job's name; this provides functionality analogous to the `%' job ID. @@ -9086,25 +9244,25 @@ analogous to the `%' job ID.

      - +


      - + - - - + + + - + - +
      [ < ][ > ]   [ << ]
      [ < ][ > ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8. Command Line Editing

      - +

      This chapter describes the basic features of the GNU @@ -9114,46 +9272,46 @@ used by several different programs, including Bash. Command line editing is enabled by default when using an interactive shell, unless the `--noediting' option is supplied at shell invocation. Line editing is also used when using the `-e' option to the -read builtin command (see section 4.2 Bash Builtin Commands). +read builtin command (see section 4.2 Bash Builtin Commands). 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 `-o emacs' or `-o vi' options to the set builtin command -(see section 4.3.1 The Set Builtin), or disabled using the `+o emacs' or +(see section 4.3.1 The Set Builtin), or disabled using the `+o emacs' or `+o vi' options to set.

      - - - - + + + - - -
      8.1 Introduction to Line Editing  Notation used in this text.
      8.2 Readline Interaction  The minimum set of commands for editing a line.
      8.3 Readline Init File  Customizing Readline from a user's view.
      8.4 Bindable Readline Commands  A description of most of the Readline commands +
      8.1 Introduction to Line Editing  Notation used in this text.
      8.2 Readline Interaction  The minimum set of commands for editing a line.
      8.3 Readline Init File  Customizing Readline from a user's view.
      8.4 Bindable Readline Commands  A description of most of the Readline commands available for binding
      8.5 Readline vi Mode  A short description of how to make Readline +
      8.5 Readline vi Mode  A short description of how to make Readline behave like the vi editor.
      8.6 Programmable Completion  How to specify the possible completions for +
      8.6 Programmable Completion  How to specify the possible completions for a specific command.
      8.7 Programmable Completion Builtins  Builtin commands to specify how to +
      8.7 Programmable Completion Builtins  Builtin commands to specify how to complete arguments for a particular command.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.1 Introduction to Line Editing

      - +

      The following paragraphs describe the notation used to represent @@ -9190,7 +9348,7 @@ character produced by metafying C-k. In addition, several keys have their own names. Specifically, DEL, ESC, LFD, SPC, RET, and TAB all stand for themselves when seen in this text, or in an init file -(see section 8.3 Readline Init File). +(see section 8.3 Readline Init File). If your keyboard lacks a LFD key, typing C-j will produce the desired character. The RET key may be labeled Return or Enter on @@ -9199,20 +9357,20 @@ some keyboards.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.2 Readline Interaction

      - +

      Often during an interactive session you type in a long line of text, @@ -9228,30 +9386,30 @@ regardless of the location of the cursor within the line.

      - - - - - + + + + +
      8.2.1 Readline Bare Essentials  The least you need to know about Readline.
      8.2.2 Readline Movement Commands  Moving about the input line.
      8.2.3 Readline Killing Commands  How to delete text, and how to get it back!
      8.2.4 Readline Arguments  Giving numeric arguments to commands.
      8.2.5 Searching for Commands in the History  Searching through previous lines.
      8.2.1 Readline Bare Essentials  The least you need to know about Readline.
      8.2.2 Readline Movement Commands  Moving about the input line.
      8.2.3 Readline Killing Commands  How to delete text, and how to get it back!
      8.2.4 Readline Arguments  Giving numeric arguments to commands.
      8.2.5 Searching for Commands in the History  Searching through previous lines.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.2.1 Readline Bare Essentials

      - +

      In order to enter characters into the line, simply type them. The typed @@ -9300,20 +9458,20 @@ than the character to the left of the cursor.)


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.2.2 Readline Movement Commands

      - +

      The above table describes the most basic keystrokes that you need @@ -9344,24 +9502,24 @@ operate on characters while meta keystrokes operate on words.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.2.3 Readline Killing Commands

      - +

      - - + +

      Killing text means to delete the text from the line, but to save @@ -9381,7 +9539,7 @@ that when you yank it back, you get it all. The kill ring is not line specific; the text that you killed on a previously typed line is available to be yanked back later, when you are typing another line. - +

      Here is the list of commands for killing text. @@ -9429,20 +9587,20 @@ the prior command is C-y or M-y.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.2.4 Readline Arguments

      - +

      You can pass numeric arguments to Readline commands. Sometimes the @@ -9464,24 +9622,24 @@ which will delete the next ten characters on the input line.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.2.5 Searching for Commands in the History

      - +

      Readline provides commands for searching through the command history -(see section 9.1 Bash History Facilities) +(see section 9.1 Bash History Facilities) for lines containing a specified string. There are two search modes: incremental and non-incremental.

      @@ -9527,20 +9685,20 @@ typed by the user or be part of the contents of the current line.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.3 Readline Init File

      - +

      Although the Readline library comes with a set of Emacs-like @@ -9564,43 +9722,43 @@ incorporating any changes that you might have made to it.

      - +
      8.3.1 Readline Init File Syntax  Syntax for the commands in the inputrc file.
      8.3.1 Readline Init File Syntax  Syntax for the commands in the inputrc file.

      - +
      8.3.2 Conditional Init Constructs  Conditional key bindings in the inputrc file.
      8.3.2 Conditional Init Constructs  Conditional key bindings in the inputrc file.

      - +
      8.3.3 Sample Init File  An example inputrc file.
      8.3.3 Sample Init File  An example inputrc file.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.3.1 Readline Init File Syntax

      - +

      There are only a few basic constructs allowed in the Readline init file. Blank lines are ignored. Lines beginning with a `#' are comments. Lines beginning with a `$' indicate conditional -constructs (see section 8.3.2 Conditional Init Constructs). Other lines +constructs (see section 8.3.2 Conditional Init Constructs). Other lines denote variable settings and key bindings.

      @@ -9633,18 +9791,18 @@ value results in the variable being set to off.

      The bind -V command lists the current Readline variable names -and values. See section 4.2 Bash Builtin Commands. +and values. See section 4.2 Bash Builtin Commands.

      A great deal of run-time behavior is changeable with the following variables.

      - +

      bell-style -
      +
      Controls what happens when Readline wants to ring the terminal bell. If set to `none', Readline never rings the bell. If set to `visible', Readline uses a visible bell if one is available. @@ -9653,21 +9811,21 @@ the terminal's bell.

      bind-tty-special-chars -
      +
      If set to `on', Readline attempts to bind the control characters treated specially by the kernel's terminal driver to their Readline equivalents.

      comment-begin -
      +
      The string to insert at the beginning of the line when the insert-comment command is executed. The default value is "#".

      completion-display-width -
      +
      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 @@ -9677,14 +9835,21 @@ The default value is -1.

      completion-ignore-case -
      +
      If set to `on', Readline performs filename matching and completion in a case-insensitive fashion. The default value is `off'.

      +

      completion-map-case +
      +If set to `on', and completion-ignore-case is enabled, Readline +treats hyphens (`-') and underscores (`_') as equivalent when +performing case-insensitive filename matching and completion. +

      +

      completion-prefix-display-length -
      +
      The length in characters of the common prefix of a list of possible completions that is displayed without modification. When set to a value greater than zero, common prefixes longer than this value are @@ -9692,7 +9857,7 @@ replaced with an ellipsis when displaying possible completions.

      completion-query-items -
      +
      The number of possible completions that determines when the user is asked whether the list of possibilities should be displayed. If the number of possible completions is greater than this value, @@ -9704,7 +9869,7 @@ The default limit is 100.

      convert-meta -
      +
      If set to `on', Readline will convert characters with the eighth bit set to an ASCII key sequence by stripping the eighth bit and prefixing an ESC character, converting them to a @@ -9712,14 +9877,14 @@ meta-prefixed key sequence. The default value is `on'.

      disable-completion -
      +
      If set to `On', Readline will inhibit word completion. Completion characters will be inserted into the line as if they had been mapped to self-insert. The default is `off'.

      editing-mode -
      +
      The editing-mode variable controls which default set of key bindings is used. By default, Readline starts up in Emacs editing mode, where the keystrokes are most similar to Emacs. This variable can be @@ -9733,7 +9898,7 @@ keyboard. The default is `on'.

      enable-keypad -
      +
      When set to `on', Readline will try to enable the application keypad when it is called. Some systems need this to enable the arrow keys. The default is `off'. @@ -9747,13 +9912,13 @@ The default is `on'.

      expand-tilde -
      +
      If set to `on', tilde expansion is performed when Readline attempts word completion. The default is `off'.

      history-preserve-point -
      +
      If set to `on', the history code attempts to place the point (the current cursor position) at the same location on each history line retrieved with previous-history @@ -9761,13 +9926,13 @@ or next-history. The default is `off'.

      history-size -
      +
      Set the maximum number of history entries saved in the history list. If set to zero, the number of entries in the history list is not limited.

      horizontal-scroll-mode -
      +
      This variable can be set to either `on' or `off'. Setting it to `on' means that the text of the lines being edited will scroll horizontally on a single screen line when they are longer than the width @@ -9776,8 +9941,8 @@ this variable is set to `off'.

      input-meta -
      - +
      + If set to `on', Readline will enable eight-bit input (it will not clear the eighth bit in the characters it reads), regardless of what the terminal claims it can support. The @@ -9786,15 +9951,15 @@ synonym for this variable.

      isearch-terminators -
      +
      The string of characters that should terminate an incremental search without -subsequently executing the character as a command (see section 8.2.5 Searching for Commands in the History). +subsequently executing the character as a command (see section 8.2.5 Searching for Commands in the History). If this variable has not been given a value, the characters ESC and C-J will terminate an incremental search.

      keymap -
      +
      Sets Readline's idea of the current keymap for key binding commands. Acceptable keymap names are emacs, @@ -9817,14 +9982,14 @@ appended. The default is `on'.

      mark-modified-lines -
      +
      This variable, when set to `on', causes Readline to display an asterisk (`*') at the start of history lines which have been modified. This variable is `off' by default.

      mark-symlinked-directories -
      +
      If set to `on', completed names which are symbolic links to directories have a slash appended (subject to the value of mark-directories). @@ -9832,7 +9997,7 @@ The default is `off'.

      match-hidden-files -
      +
      This variable, when set to `on', causes Readline to match files whose names begin with a `.' (hidden files) when performing filename completion. @@ -9842,14 +10007,14 @@ This variable is `on' by default.

      output-meta -
      +
      If set to `on', Readline will display characters with the eighth bit set directly rather than as a meta-prefixed escape sequence. The default is `off'.

      page-completions -
      +
      If set to `on', Readline uses an internal more-like pager to display a screenful of possible completions at a time. This variable is `on' by default. @@ -9862,7 +10027,7 @@ The default is `off'.

      revert-all-at-newline -
      +
      If set to `on', Readline will undo all changes to history lines before returning when accept-line is executed. By default, history lines may be modified and retain individual undo lists across @@ -9870,7 +10035,7 @@ calls to readline. The default is `off'.

      show-all-if-ambiguous -
      +
      This alters the default behavior of the completion functions. If set to `on', words which have more than one possible completion cause the @@ -9879,7 +10044,7 @@ The default value is `off'.

      show-all-if-unmodified -
      +
      This alters the default behavior of the completion functions in a fashion similar to show-all-if-ambiguous. If set to `on', @@ -9891,7 +10056,7 @@ The default value is `off'.

      skip-completed-text -
      +
      If set to `on', 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 @@ -9906,7 +10071,7 @@ The default value is `off'.

      visible-stats -
      +
      If set to `on', a character denoting a file's type is appended to the filename when listing possible completions. The default is `off'. @@ -9939,7 +10104,7 @@ to a string that is inserted when the key is pressed (a macro). The bind -p command displays Readline function names and bindings in a format that can put directly into an initialization file. -See section 4.2 Bash Builtin Commands. +See section 4.2 Bash Builtin Commands.

      @@ -10063,20 +10228,20 @@ insert a single `\' into the line:
      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.3.2 Conditional Init Constructs

      - +

      Readline implements a facility similar in spirit to the conditional @@ -10148,20 +10313,20 @@ For example, the following directive reads from `/etc/inputrc':


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.3.3 Sample Init File

      - +

      Here is an example of an inputrc file. This illustrates key @@ -10271,31 +10436,31 @@ $endif


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.4 Bindable Readline Commands

      - +

      - - - - - - - - + + + + + + + +
      8.4.1 Commands For Moving  Moving about the line.
      8.4.2 Commands For Manipulating The History  Getting at previous lines.
      8.4.3 Commands For Changing Text  Commands for changing text.
      8.4.4 Killing And Yanking  Commands for killing and yanking.
      8.4.5 Specifying Numeric Arguments  Specifying numeric arguments, repeat counts.
      8.4.6 Letting Readline Type For You  Getting Readline to do the typing for you.
      8.4.7 Keyboard Macros  Saving and re-executing typed characters
      8.4.8 Some Miscellaneous Commands  Other miscellaneous commands.
      8.4.1 Commands For Moving  Moving about the line.
      8.4.2 Commands For Manipulating The History  Getting at previous lines.
      8.4.3 Commands For Changing Text  Commands for changing text.
      8.4.4 Killing And Yanking  Commands for killing and yanking.
      8.4.5 Specifying Numeric Arguments  Specifying numeric arguments, repeat counts.
      8.4.6 Letting Readline Type For You  Getting Readline to do the typing for you.
      8.4.7 Keyboard Macros  Saving and re-executing typed characters
      8.4.8 Some Miscellaneous Commands  Other miscellaneous commands.

      @@ -10303,7 +10468,7 @@ This section describes Readline commands that may be bound to key sequences. You can list your key bindings by executing bind -P or, for a more terse format, suitable for an -inputrc file, bind -p. (See section 4.2 Bash Builtin Commands.) +inputrc file, bind -p. (See section 4.2 Bash Builtin Commands.) Command names without an accompanying key sequence are unbound by default.

      @@ -10315,83 +10480,83 @@ The text between the point and mark is referred to as the region.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.4.1 Commands For Moving

      - +
      - +
      beginning-of-line (C-a) -
      +
      Move to the start of the current line.

      - +

      end-of-line (C-e) -
      +
      Move to the end of the line.

      - +

      forward-char (C-f) -
      +
      Move forward a character.

      - +

      backward-char (C-b) -
      +
      Move back a character.

      - +

      forward-word (M-f) -
      +
      Move forward to the end of the next word. Words are composed of letters and digits.

      - +

      backward-word (M-b) -
      +
      Move back to the start of the current or previous word. Words are composed of letters and digits.

      - +

      shell-forward-word () -
      +
      Move forward to the end of the next word. Words are delimited by non-quoted shell metacharacters.

      - +

      shell-backward-word () -
      +
      Move back to the start of the current or previous word. Words are delimited by non-quoted shell metacharacters.

      - +

      clear-screen (C-l) -
      +
      Clear the screen and redraw the current line, leaving the current line at the top of the screen.

      - +

      redraw-current-line () -
      +
      Refresh the current line. By default, this is unbound.

      @@ -10400,26 +10565,26 @@ Refresh the current line. By default, this is unbound.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.4.2 Commands For Manipulating The History

      - +

      - +
      accept-line (Newline or Return) -
      +
      Accept the line regardless of where the cursor is. If this line is non-empty, add it to the history list according to the setting of @@ -10428,81 +10593,81 @@ If this line is a modified history line, then restore the history line to its original state.

      - +

      previous-history (C-p) -
      +
      Move `back' through the history list, fetching the previous command.

      - +

      next-history (C-n) -
      +
      Move `forward' through the history list, fetching the next command.

      - +

      beginning-of-history (M-<) -
      +
      Move to the first line in the history.

      - +

      end-of-history (M->) -
      +
      Move to the end of the input history, i.e., the line currently being entered.

      - +

      reverse-search-history (C-r) -
      +
      Search backward starting at the current line and moving `up' through the history as necessary. This is an incremental search.

      - +

      forward-search-history (C-s) -
      +
      Search forward starting at the current line and moving `down' through the the history as necessary. This is an incremental search.

      - +

      non-incremental-reverse-search-history (M-p) -
      +
      Search backward starting at the current line and moving `up' through the history as necessary using a non-incremental search for a string supplied by the user.

      - +

      non-incremental-forward-search-history (M-n) -
      +
      Search forward starting at the current line and moving `down' through the the history as necessary using a non-incremental search for a string supplied by the user.

      - +

      history-search-forward () -
      +
      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. By default, this command is unbound.

      - +

      history-search-backward () -
      +
      Search backward through the history for the string of characters between the start of the current line and the point. This is a non-incremental search. By default, this command is unbound.

      - +

      yank-nth-arg (M-C-y) -
      +
      Insert the first argument to the previous command (usually the second word on the previous line) at point. With an argument n, @@ -10513,9 +10678,9 @@ Once the argument n is computed, the argument is extracted as if the `!n' history expansion had been specified.

      - +

      yank-last-arg (M-. or M-_) -
      +
      Insert last argument to the previous command (the last word of the previous history entry). With an argument, behave exactly like yank-nth-arg. @@ -10530,63 +10695,63 @@ as if the `!$' history expansion had been specified.
      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.4.3 Commands For Changing Text

      - +

      - +
      delete-char (C-d) -
      +
      Delete the character at point. If point is at the beginning of the line, there are no characters in the line, and the last character typed was not bound to delete-char, then return EOF.

      - +

      backward-delete-char (Rubout) -
      +
      Delete the character behind the cursor. A numeric argument means to kill the characters instead of deleting them.

      - +

      forward-backward-delete-char () -
      +
      Delete the character under the cursor, unless the cursor is at the end of the line, in which case the character behind the cursor is deleted. By default, this is not bound to a key.

      - +

      quoted-insert (C-q or C-v) -
      +
      Add the next character typed to the line verbatim. This is how to insert key sequences like C-q, for example.

      - +

      self-insert (a, b, A, 1, !, ...) -
      +
      Insert yourself.

      - +

      transpose-chars (C-t) -
      +
      Drag the character before the cursor forward over the character at the cursor, moving the cursor forward as well. If the insertion point @@ -10595,39 +10760,39 @@ transposes the last two characters of the line. Negative arguments have no effect.

      - +

      transpose-words (M-t) -
      +
      Drag the word before point past the word after point, moving point past that word as well. If the insertion point is at the end of the line, this transposes the last two words on the line.

      - +

      upcase-word (M-u) -
      +
      Uppercase the current (or following) word. With a negative argument, uppercase the previous word, but do not move the cursor.

      - +

      downcase-word (M-l) -
      +
      Lowercase the current (or following) word. With a negative argument, lowercase the previous word, but do not move the cursor.

      - +

      capitalize-word (M-c) -
      +
      Capitalize the current (or following) word. With a negative argument, capitalize the previous word, but do not move the cursor.

      - +

      overwrite-mode () -
      +
      Toggle overwrite mode. With an explicit positive numeric argument, switches to overwrite mode. With an explicit non-positive numeric argument, switches to insert mode. This command affects only @@ -10649,139 +10814,139 @@ By default, this command is unbound.
      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.4.4 Killing And Yanking

      - +

      - +
      kill-line (C-k) -
      +
      Kill the text from point to the end of the line.

      - +

      backward-kill-line (C-x Rubout) -
      +
      Kill backward to the beginning of the line.

      - +

      unix-line-discard (C-u) -
      +
      Kill backward from the cursor to the beginning of the current line.

      - +

      kill-whole-line () -
      +
      Kill all characters on the current line, no matter where point is. By default, this is unbound.

      - +

      kill-word (M-d) -
      +
      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 forward-word.

      - +

      backward-kill-word (M-DEL) -
      +
      Kill the word behind point. Word boundaries are the same as backward-word.

      - +

      shell-kill-word () -
      +
      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 shell-forward-word.

      - +

      backward-kill-word () -
      +
      Kill the word behind point. Word boundaries are the same as shell-backward-word.

      - +

      unix-word-rubout (C-w) -
      +
      Kill the word behind point, using white space as a word boundary. The killed text is saved on the kill-ring.

      - +

      unix-filename-rubout () -
      +
      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.

      - +

      delete-horizontal-space () -
      +
      Delete all spaces and tabs around point. By default, this is unbound.

      - +

      kill-region () -
      +
      Kill the text in the current region. By default, this command is unbound.

      - +

      copy-region-as-kill () -
      +
      Copy the text in the region to the kill buffer, so it can be yanked right away. By default, this command is unbound.

      - +

      copy-backward-word () -
      +
      Copy the word before point to the kill buffer. The word boundaries are the same as backward-word. By default, this command is unbound.

      - +

      copy-forward-word () -
      +
      Copy the word following point to the kill buffer. The word boundaries are the same as forward-word. By default, this command is unbound.

      - +

      yank (C-y) -
      +
      Yank the top of the kill ring into the buffer at point.

      - +

      yank-pop (M-y) -
      +
      Rotate the kill-ring, and yank the new top. You can only do this if the prior command is yank or yank-pop.
      @@ -10789,32 +10954,32 @@ the prior command is yank or yank-pop.
      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.4.5 Specifying Numeric Arguments

      - +
      - +
      digit-argument (M-0, M-1, ... M--) -
      +
      Add this digit to the argument already accumulating, or start a new argument. M-- starts a negative argument.

      - +

      universal-argument () -
      +
      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. @@ -10832,26 +10997,26 @@ By default, this is not bound to a key.
      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.4.6 Letting Readline Type For You

      - +

      - +
      complete (TAB) -
      +
      Attempt to perform completion on the text before point. The actual completion performed is application-specific. Bash attempts completion treating the text as a variable (if the @@ -10861,25 +11026,25 @@ command (including aliases and functions) in turn. If none of these produces a match, filename completion is attempted.

      - +

      possible-completions (M-?) -
      +
      List the possible completions of the text before point. When displaying completions, Readline sets the number of columns used for display to the value of completion-display-width, the value of the environment variable COLUMNS, or the screen width, in that order.

      - +

      insert-completions (M-*) -
      +
      Insert all completions of the text before point that would have been generated by possible-completions.

      - +

      menu-complete () -
      +
      Similar to complete, but replaces the word to be completed with a single match from the list of possible completions. Repeated execution of menu-complete steps through the list @@ -10894,17 +11059,17 @@ This command is intended to be bound to TAB, but is unbound by default.

      - +

      menu-complete-backward () -
      +
      Identical to menu-complete, but moves backward through the list of possible completions, as if menu-complete had been given a negative argument.

      - +

      delete-char-or-list () -
      +
      Deletes the character under the cursor if not at the beginning or end of the line (like delete-char). If at the end of the line, behaves identically to @@ -10912,64 +11077,64 @@ If at the end of the line, behaves identically to This command is unbound by default.

      - +

      complete-filename (M-/) -
      +
      Attempt filename completion on the text before point.

      - +

      possible-filename-completions (C-x /) -
      +
      List the possible completions of the text before point, treating it as a filename.

      - +

      complete-username (M-~) -
      +
      Attempt completion on the text before point, treating it as a username.

      - +

      possible-username-completions (C-x ~) -
      +
      List the possible completions of the text before point, treating it as a username.

      - +

      complete-variable (M-$) -
      +
      Attempt completion on the text before point, treating it as a shell variable.

      - +

      possible-variable-completions (C-x $) -
      +
      List the possible completions of the text before point, treating it as a shell variable.

      - +

      complete-hostname (M-@) -
      +
      Attempt completion on the text before point, treating it as a hostname.

      - +

      possible-hostname-completions (C-x @) -
      +
      List the possible completions of the text before point, treating it as a hostname.

      - +

      complete-command (M-!) -
      +
      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 @@ -10977,35 +11142,35 @@ functions, shell builtins, and finally executable filenames, in that order.

      - +

      possible-command-completions (C-x !) -
      +
      List the possible completions of the text before point, treating it as a command name.

      - +

      dynamic-complete-history (M-TAB) -
      +
      Attempt completion on the text before point, comparing the text against lines from the history list for possible completion matches.

      - +

      dabbrev-expand () -
      +
      Attempt menu completion on the text before point, comparing the text against lines from the history list for possible completion matches.

      - +

      complete-into-braces (M-{) -
      +
      Perform filename completion and insert the list of possible completions enclosed within braces so the list is available to the shell -(see section 3.5.1 Brace Expansion). +(see section 3.5.1 Brace Expansion).

      @@ -11013,38 +11178,38 @@ enclosed within braces so the list is available to the shell
      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.4.7 Keyboard Macros

      - +
      - +
      start-kbd-macro (C-x () -
      +
      Begin saving the characters typed into the current keyboard macro.

      - +

      end-kbd-macro (C-x )) -
      +
      Stop saving the characters typed into the current keyboard macro and save the definition.

      - +

      call-last-kbd-macro (C-x e) -
      +
      Re-execute the last keyboard macro defined, by making the characters in the macro appear as if typed at the keyboard.

      @@ -11054,103 +11219,103 @@ in the macro appear as if typed at the keyboard.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.4.8 Some Miscellaneous Commands

      - +
      - +
      re-read-init-file (C-x C-r) -
      +
      Read in the contents of the inputrc file, and incorporate any bindings or variable assignments found there.

      - +

      abort (C-g) -
      +
      Abort the current editing command and ring the terminal's bell (subject to the setting of bell-style).

      - +

      do-uppercase-version (M-a, M-b, M-x, ...) -
      +
      If the metafied character x is lowercase, run the command that is bound to the corresponding uppercase character.

      - +

      prefix-meta (ESC) -
      +
      Metafy the next character typed. This is for keyboards without a meta key. Typing `ESC f' is equivalent to typing M-f.

      - +

      undo (C-_ or C-x C-u) -
      +
      Incremental undo, separately remembered for each line.

      - +

      revert-line (M-r) -
      +
      Undo all changes made to this line. This is like executing the undo command enough times to get back to the beginning.

      - +

      tilde-expand (M-&) -
      +
      Perform tilde expansion on the current word.

      - +

      set-mark (C-@) -
      +
      Set the mark to the point. If a numeric argument is supplied, the mark is set to that position.

      - +

      exchange-point-and-mark (C-x C-x) -
      +
      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.

      - +

      character-search (C-]) -
      +
      A character is read and point is moved to the next occurrence of that character. A negative count searches for previous occurrences.

      - +

      character-search-backward (M-C-]) -
      +
      A character is read and point is moved to the previous occurrence of that character. A negative count searches for subsequent occurrences.

      - +

      skip-csi-sequence () -
      +
      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 @@ -11160,9 +11325,9 @@ stray characters into the editing buffer. This is unbound by default, but usually bound to ESC-[.

      - +

      insert-comment (M-#) -
      +
      Without a numeric argument, the value of the comment-begin variable is inserted at the beginning of the current line. If a numeric argument is supplied, this command acts as a toggle: if @@ -11177,115 +11342,115 @@ If a numeric argument causes the comment character to be removed, the line will be executed by the shell.

      - +

      dump-functions () -
      +
      Print all of the functions and their key bindings to the Readline output stream. If a numeric argument is supplied, the output is formatted in such a way that it can be made part of an inputrc file. This command is unbound by default.

      - +

      dump-variables () -
      +
      Print all of the settable variables and their values to the Readline output stream. If a numeric argument is supplied, the output is formatted in such a way that it can be made part of an inputrc file. This command is unbound by default.

      - +

      dump-macros () -
      +
      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 inputrc file. This command is unbound by default.

      - +

      glob-complete-word (M-g) -
      +
      The word before point is treated as a pattern for pathname expansion, with an asterisk implicitly appended. This pattern is used to generate a list of matching file names for possible completions.

      - +

      glob-expand-word (C-x *) -
      +
      The word before point is treated as a pattern for pathname expansion, and the list of matching file names is inserted, replacing the word. If a numeric argument is supplied, a `*' is appended before pathname expansion.

      - +

      glob-list-expansions (C-x g) -
      +
      The list of expansions that would have been generated by glob-expand-word is displayed, and the line is redrawn. If a numeric argument is supplied, a `*' is appended before pathname expansion.

      - +

      display-shell-version (C-x C-v) -
      +
      Display version information about the current instance of Bash.

      - +

      shell-expand-line (M-C-e) -
      +
      Expand the line as the shell does. This performs alias and history expansion as well as all of the shell -word expansions (see section 3.5 Shell Expansions). +word expansions (see section 3.5 Shell Expansions).

      - +

      history-expand-line (M-^) -
      +
      Perform history expansion on the current line.

      - +

      magic-space () -
      +
      Perform history expansion on the current line and insert a space -(see section 9.3 History Expansion). +(see section 9.3 History Expansion).

      - +

      alias-expand-line () -
      -Perform alias expansion on the current line (see section 6.6 Aliases). +
      +Perform alias expansion on the current line (see section 6.6 Aliases).

      - +

      history-and-alias-expand-line () -
      +
      Perform history and alias expansion on the current line.

      - +

      insert-last-argument (M-. or M-_) -
      +
      A synonym for yank-last-arg.

      - +

      operate-and-get-next (C-o) -
      +
      Accept the current line for execution and fetch the next line relative to the current line from the history for editing. Any argument is ignored.

      - +

      edit-and-execute-command (C-xC-e) -
      +
      Invoke an editor on the current command line, and execute the result as shell commands. Bash attempts to invoke @@ -11298,20 +11463,20 @@ as the editor, in that order.
      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.5 Readline vi Mode

      - +

      While the Readline library does not have a full set of vi @@ -11322,7 +11487,7 @@ the POSIX standard. In order to switch interactively between emacs and vi editing modes, use the `set -o emacs' and `set -o vi' -commands (see section 4.3.1 The Set Builtin). +commands (see section 4.3.1 The Set Builtin). The Readline default is emacs mode.

      @@ -11336,25 +11501,25 @@ so forth.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.6 Programmable Completion

      - +

      When word completion is attempted for an argument to a command for which a completion specification (a compspec) has been defined -using the complete builtin (see section 8.7 Programmable Completion Builtins), +using the complete builtin (see section 8.7 Programmable Completion Builtins), the programmable completion facilities are invoked.

      @@ -11375,7 +11540,7 @@ the `-D' option to complete is used as the default. Once a compspec has been found, it is used to generate the list of matching words. If a compspec is not found, the default Bash completion -described above (see section 8.4.6 Letting Readline Type For You) is performed. +described above (see section 8.4.6 Letting Readline Type For You) is performed.

      First, the actions specified by the compspec are used. @@ -11384,7 +11549,7 @@ returned. When the `-f' or `-d' option is used for filename or directory name completion, the shell variable FIGNORE is used to filter the matches. -See section 5.2 Bash Variables, for a description of FIGNORE. +See section 5.2 Bash Variables, for a description of FIGNORE.

      Any completions specified by a filename expansion pattern to the @@ -11402,9 +11567,9 @@ 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 (see section 3.5 Shell Expansions). +as described above (see section 3.5 Shell Expansions). The results are split using the rules described above -(see section 3.5.7 Word Splitting). +(see section 3.5.7 Word Splitting). The results of the expansion are prefix-matched against the word being completed, and the matching words become the possible completions.

      @@ -11413,7 +11578,7 @@ After these matches have been generated, any shell function or command specified with the `-F' and `-C' options is invoked. When the command or function is invoked, the COMP_LINE, COMP_POINT, COMP_KEY, and COMP_TYPE variables are -assigned values as described above (see section 5.2 Bash Variables). +assigned values as described above (see section 5.2 Bash Variables). If a shell function is being invoked, the COMP_WORDS and COMP_CWORD variables are also set. When the function or command is invoked, the first argument is the @@ -11428,7 +11593,7 @@ the matches. Any function specified with `-F' is invoked first. The function may use any of the shell facilities, including the compgen and compopt builtins described below -(see section 8.7 Programmable Completion Builtins), to generate the matches. +(see section 8.7 Programmable Completion Builtins), to generate the matches. It must put the possible completions in the COMPREPLY array variable.

      @@ -11514,20 +11679,20 @@ complete -D -F _completion_loader


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      8.7 Programmable Completion Builtins

      - +

      Two builtin commands are available to manipulate the programmable completion @@ -11536,7 +11701,7 @@ facilities.

      compgen -
      +
       
      compgen [option] [word]
       

      @@ -11562,7 +11727,7 @@ matches were generated.

      complete -
      +
       
      complete [-abcdefgjksuv] [-o comp-option] [-DE] [-A action] [-G globpat] [-W wordlist]
       [-F function] [-C command] [-X filterpat]
       [-P prefix] [-S suffix] name [name ...]
      @@ -11585,7 +11750,7 @@ blank line.
       

      The process of applying these completion specifications when word completion -is attempted is described above (see section 8.6 Programmable Completion). The +is attempted is described above (see section 8.6 Programmable Completion). The `-D' option takes precedence over `-E'.

      @@ -11656,7 +11821,7 @@ completions:

      binding -
      Readline key binding names (see section 8.4 Bindable Readline Commands). +
      Readline key binding names (see section 8.4 Bindable Readline Commands).

      builtin @@ -11696,12 +11861,12 @@ completions:

      helptopic -
      Help topics as accepted by the help builtin (see section 4.2 Bash Builtin Commands). +
      Help topics as accepted by the help builtin (see section 4.2 Bash Builtin Commands).

      hostname
      Hostnames, as taken from the file specified by the -HOSTFILE shell variable (see section 5.2 Bash Variables). +HOSTFILE shell variable (see section 5.2 Bash Variables).

      job @@ -11722,12 +11887,12 @@ completions:
      setopt
      Valid arguments for the `-o' option to the set builtin -(see section 4.3.1 The Set Builtin). +(see section 4.3.1 The Set Builtin).

      shopt
      Shell option names as accepted by the shopt builtin -(see section 4.2 Bash Builtin Commands). +(see section 4.2 Bash Builtin Commands).

      signal @@ -11800,7 +11965,7 @@ an error occurs adding a completion specification.

      compopt -
      +
       
      compopt [-o option] [-DE] [+o option] [name]
       
      Modify completion options for each name according to the options, or for the currently-executing completion if no names @@ -11828,25 +11993,25 @@ specification exists, or an output error occurs.

      - +


      - + - - + + - + - +
      [ < ][ > ]
      [ < ][ > ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      9. Using History Interactively

      - +

      This chapter describes how to use the GNU History Library @@ -11857,34 +12022,34 @@ see the GNU Readline Library Manual.

      - - - +
      9.1 Bash History Facilities  How Bash lets you manipulate your command +
      9.1 Bash History Facilities  How Bash lets you manipulate your command history.
      9.2 Bash History Builtins  The Bash builtin commands that manipulate +
      9.2 Bash History Builtins  The Bash builtin commands that manipulate the command history.
      9.3 History Expansion  What it feels like using History as a user.
      9.3 History Expansion  What it feels like using History as a user.


      - + - - + + - - + + - +
      [ < ][ > ]
      [ < ][ > ]   [ << ][ Up ][ >> ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      9.1 Bash History Facilities

      - +

      When the `-o history' option to the set builtin -is enabled (see section 4.3.1 The Set Builtin), +is enabled (see section 4.3.1 The Set Builtin), the shell provides access to the command history, the list of commands previously typed. The value of the HISTSIZE shell variable is used as the @@ -11906,7 +12071,7 @@ the value of the HISTFILESIZE variable. When an interactive shell exits, the last $HISTSIZE lines are copied from the history list to the file named by $HISTFILE. -If the histappend shell option is set (see section 4.2 Bash Builtin Commands), +If the histappend shell option is set (see section 4.2 Bash Builtin Commands), the lines are appended to the history file, otherwise the history file is overwritten. If HISTFILE @@ -11930,7 +12095,7 @@ The history builtin may be used to display or modify the history list and manipulate the history file. When using command-line editing, search commands are available in each editing mode that provide access to the -history list (see section 8.4.2 Commands For Manipulating The History). +history list (see section 8.4.2 Commands For Manipulating The History).

      The shell allows control over which commands are saved on the history @@ -11945,25 +12110,25 @@ The lithist shell option causes the shell to save the command with embedded newlines instead of semicolons. The shopt builtin is used to set these options. -See section 4.2 Bash Builtin Commands, for a description of shopt. +See section 4.2 Bash Builtin Commands, for a description of shopt.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      9.2 Bash History Builtins

      - +

      Bash provides two builtin commands which manipulate the @@ -11973,7 +12138,7 @@ history list and history file.

      fc -
      +
       
      fc [-e ename] [-lnr] [first] [last]
       fc -s [pat=rep] [command]
       

      @@ -12003,11 +12168,11 @@ of pat in the selected command is replaced by rep. A useful alias to use with the fc command is r='fc -s', so that typing `r cc' runs the last command beginning with cc -and typing `r' re-executes the last command (see section 6.6 Aliases). +and typing `r' re-executes the last command (see section 6.6 Aliases).

      history -
      +
       
      history [n]
       history -c
       history -d offset
      @@ -12085,20 +12250,20 @@ the value of the HISTFILE variable is used.
       
       
       
      - + - - + + - - + + - +
      [ < ][ > ]
      [ < ][ > ]   [ << ][ Up ][ >> ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      9.3 History Expansion

      - +

      The History library provides a history expansion feature that is similar @@ -12128,7 +12293,7 @@ character.

      Several shell options settable with the shopt -builtin (see section 4.2 Bash Builtin Commands) may be used to tailor +builtin (see section 4.2 Bash Builtin Commands) may be used to tailor the behavior of history expansion. If the histverify shell option is enabled, and Readline is being used, history substitutions are not immediately passed to @@ -12148,39 +12313,39 @@ This is most useful in conjunction with Readline. The shell allows control of the various characters used by the history expansion mechanism with the histchars variable, -as explained above (see section 5.2 Bash Variables). The shell uses +as explained above (see section 5.2 Bash Variables). The shell uses the history comment character to mark history timestamps when writing the history file.

      - - - + + +
      9.3.1 Event Designators  How to specify which history line to use.
      9.3.2 Word Designators  Specifying which words are of interest.
      9.3.3 Modifiers  Modifying the results of substitution.
      9.3.1 Event Designators  How to specify which history line to use.
      9.3.2 Word Designators  Specifying which words are of interest.
      9.3.3 Modifiers  Modifying the results of substitution.


      - + - - + + - - + + - +
      [ < ][ > ]
      [ < ][ > ]   [ << ][ Up ][ >> ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      9.3.1 Event Designators

      - +

      An event designator is a reference to a command line entry in the history list. - +

      @@ -12228,20 +12393,20 @@ with string2. Equivalent to
      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      9.3.2 Word Designators

      - +

      Word designators are used to select desired words from the event. @@ -12323,20 +12488,20 @@ previous command is used as the event.


      - + - - + + - - + + - +
      [ < ][ > ]
      [ < ][ > ]   [ << ][ Up ][ >> ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      9.3.3 Modifiers

      - +

      After the optional word designator, you can add a sequence of one or more @@ -12405,20 +12570,20 @@ or with `&'.


      - + - - + + - + - +
      [ < ][ > ]
      [ < ][ > ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      10. Installing Bash

      - +

      This chapter provides basic instructions for installing Bash on @@ -12430,38 +12595,38 @@ MS-DOS, OS/2, and Windows platforms.

      - - + - - - - + + - - +
      10.1 Basic Installation  Installation instructions.
      10.2 Compilers and Options  How to set special options for various +
      10.1 Basic Installation  Installation instructions.
      10.2 Compilers and Options  How to set special options for various systems.
      10.3 Compiling For Multiple Architectures  How to compile Bash for more +
      10.3 Compiling For Multiple Architectures  How to compile Bash for more than one kind of system from the same source tree.
      10.4 Installation Names  How to set the various paths used by the installation.
      10.5 Specifying the System Type  How to configure Bash for a particular system.
      10.6 Sharing Defaults  How to share default configuration values among GNU +
      10.4 Installation Names  How to set the various paths used by the installation.
      10.5 Specifying the System Type  How to configure Bash for a particular system.
      10.6 Sharing Defaults  How to share default configuration values among GNU programs.
      10.7 Operation Controls  Options recognized by the configuration program.
      10.8 Optional Features  How to enable and disable optional features when +
      10.7 Operation Controls  Options recognized by the configuration program.
      10.8 Optional Features  How to enable and disable optional features when building Bash.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      10.1 Basic Installation

      - +

      These are installation instructions for Bash. @@ -12551,20 +12716,20 @@ a different kind of computer), type `make distclean'.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      10.2 Compilers and Options

      - +

      Some systems require unusual options for compilation or linking @@ -12589,20 +12754,20 @@ is available.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      10.3 Compiling For Multiple Architectures

      - +

      You can compile Bash for more than one kind of computer at the @@ -12641,20 +12806,20 @@ directories for other architectures.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      10.4 Installation Names

      - +

      By default, `make install' will install into @@ -12675,20 +12840,20 @@ Documentation and other data files will still use the regular prefix.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      10.5 Specifying the System Type

      - +

      There may be some features configure can not figure out @@ -12707,20 +12872,20 @@ values of each field.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      10.6 Sharing Defaults

      - +

      If you want to set default values for configure scripts to @@ -12736,20 +12901,20 @@ but not all configure scripts do.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      10.7 Operation Controls

      - +

      configure recognizes the following options to control how it @@ -12792,20 +12957,20 @@ options. `configure --help' prints the complete list.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      10.8 Optional Features

      - +

      The Bash configure has a number of `--enable-feature' @@ -12912,7 +13077,7 @@ necessary support.

      --enable-alias
      Allow alias expansion and include the alias and unalias -builtins (see section 6.6 Aliases). +builtins (see section 6.6 Aliases).

      --enable-arith-for-command @@ -12923,18 +13088,18 @@ that behaves like the C language for statement
      --enable-array-variables
      Include support for one-dimensional array shell variables -(see section 6.7 Arrays). +(see section 6.7 Arrays).

      --enable-bang-history
      Include support for csh-like history substitution -(see section 9.3 History Expansion). +(see section 9.3 History Expansion).

      --enable-brace-expansion
      Include csh-like brace expansion ( b{a,b}c ==> bac bbc ). -See 3.5.1 Brace Expansion, for a complete description. +See 3.5.1 Brace Expansion, for a complete description.

      --enable-casemod-attributes @@ -12977,13 +13142,13 @@ This allows pipelines as well as shell builtins and functions to be timed.
      --enable-directory-stack
      Include support for a csh-like directory stack and the pushd, popd, and dirs builtins -(see section 6.8 The Directory Stack). +(see section 6.8 The Directory Stack).

      --enable-disabled-builtins
      Allow builtin commands to be invoked via `builtin xxx' even after xxx has been disabled using `enable -n xxx'. -See 4.2 Bash Builtin Commands, for details of the builtin and +See 4.2 Bash Builtin Commands, for details of the builtin and enable builtin commands.

      @@ -12994,26 +13159,26 @@ See 4.2 Bash Builtin Commands, for details of t

      --enable-extended-glob
      Include support for the extended pattern matching features described -above under 3.5.8.1 Pattern Matching. +above under 3.5.8.1 Pattern Matching.

      --enable-extended-glob-default
      Set the default value of the extglob shell option described -above under 4.3.2 The Shopt Builtin to be enabled. +above under 4.3.2 The Shopt Builtin to be enabled.

      --enable-help-builtin
      Include the help builtin, which displays help on shell builtins and -variables (see section 4.2 Bash Builtin Commands). +variables (see section 4.2 Bash Builtin Commands).

      --enable-history
      Include command history and the fc and history -builtin commands (see section 9.1 Bash History Facilities). +builtin commands (see section 9.1 Bash History Facilities).

      --enable-job-control -
      This enables the job control features (see section 7. Job Control), +
      This enables the job control features (see section 7. Job Control), if the operating system supports them.

      @@ -13026,36 +13191,36 @@ system provides the necessary support.

      This enables the special handling of filenames of the form /dev/tcp/host/port and /dev/udp/host/port -when used in redirections (see section 3.6 Redirections). +when used in redirections (see section 3.6 Redirections).

      --enable-process-substitution -
      This enables process substitution (see section 3.5.6 Process Substitution) if +
      This enables process substitution (see section 3.5.6 Process Substitution) if the operating system provides the necessary support.

      --enable-progcomp
      Enable the programmable completion facilities -(see section 8.6 Programmable Completion). +(see section 8.6 Programmable Completion). If Readline is not enabled, this option has no effect.

      --enable-prompt-string-decoding
      Turn on the interpretation of a number of backslash-escaped characters in the $PS1, $PS2, $PS3, and $PS4 prompt -strings. See 6.9 Controlling the Prompt, for a complete list of prompt +strings. See 6.9 Controlling the Prompt, for a complete list of prompt string escape sequences.

      --enable-readline
      Include support for command-line editing and history with the Bash -version of the Readline library (see section 8. Command Line Editing). +version of the Readline library (see section 8. Command Line Editing).

      --enable-restricted
      Include support for a restricted shell. If this is enabled, Bash, when called as rbash, enters a restricted mode. See -6.10 The Restricted Shell, for a description of restricted mode. +6.10 The Restricted Shell, for a description of restricted mode.

      --enable-select @@ -13076,7 +13241,7 @@ literals.

      --enable-strict-posix-default -
      Make Bash POSIX-conformant by default (see section 6.11 Bash POSIX Mode). +
      Make Bash POSIX-conformant by default (see section 6.11 Bash POSIX Mode).

      --enable-usg-echo-default @@ -13089,7 +13254,7 @@ without requiring the `-e' option. This sets the default value of the xpg_echo shell option to on, which makes the Bash echo behave more like the version specified in the Single Unix Specification, version 3. -See section 4.2 Bash Builtin Commands, for a description of the escape sequences that +See section 4.2 Bash Builtin Commands, for a description of the escape sequences that echo recognizes.

      @@ -13107,20 +13272,20 @@ information about its effect.


      - + - - - + + + - + - +
      [ < ][ > ]   [ << ]
      [ < ][ > ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      A. Reporting Bugs

      - +

      Please report all bugs you find in Bash. @@ -13165,20 +13330,20 @@ Please send all reports concerning this manual to


      - + - - - + + + - + - +
      [ < ][ > ]   [ << ]
      [ < ][ > ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      B. Major Differences From The Bourne Shell

      - +

      Bash implements essentially the same grammar, parameter and @@ -13197,27 +13362,27 @@ last version of the historical Bourne shell) as the baseline reference.

    9. Bash is POSIX-conformant, even where the POSIX specification -differs from traditional sh behavior (see section 6.11 Bash POSIX Mode). +differs from traditional sh behavior (see section 6.11 Bash POSIX Mode).

    10. -Bash has multi-character invocation options (see section 6.1 Invoking Bash). +Bash has multi-character invocation options (see section 6.1 Invoking Bash).

    11. -Bash has command-line editing (see section 8. Command Line Editing) and +Bash has command-line editing (see section 8. Command Line Editing) and the bind builtin.

    12. Bash provides a programmable word completion mechanism -(see section 8.6 Programmable Completion), and builtin commands +(see section 8.6 Programmable Completion), and builtin commands complete, compgen, and compopt, to manipulate it.

    13. -Bash has command history (see section 9.1 Bash History Facilities) and the +Bash has command history (see section 9.1 Bash History Facilities) and the history and fc builtins to manipulate it. The Bash history list maintains timestamp information and uses the value of the HISTTIMEFORMAT variable to display it. @@ -13225,11 +13390,11 @@ value of the HISTTIMEFORMAT variable to display it.
    14. Bash implements csh-like history expansion -(see section 9.3 History Expansion). +(see section 9.3 History Expansion).

    15. -Bash has one-dimensional array variables (see section 6.7 Arrays), and the +Bash has one-dimensional array variables (see section 6.7 Arrays), and the appropriate variable expansions and assignment syntax to use them. Several of the Bash builtins take options to act on arrays. Bash provides a number of built-in array variables. @@ -13285,19 +13450,19 @@ Bash provides optional case-insensitive matching for the case and

    16. -Bash includes brace expansion (see section 3.5.1 Brace Expansion) and tilde -expansion (see section 3.5.2 Tilde Expansion). +Bash includes brace expansion (see section 3.5.1 Brace Expansion) and tilde +expansion (see section 3.5.2 Tilde Expansion).

    17. Bash implements command aliases and the alias and unalias -builtins (see section 6.6 Aliases). +builtins (see section 6.6 Aliases).

    18. Bash provides shell arithmetic, the (( compound command (see section 3.2.4.2 Conditional Constructs), -and arithmetic expansion (see section 6.5 Shell Arithmetic). +and arithmetic expansion (see section 6.5 Shell Arithmetic).

    19. @@ -13315,37 +13480,37 @@ of the variable named on the left hand side.
    20. Bash includes the POSIX pattern removal `%', `#', `%%' and `##' expansions to remove leading or trailing substrings from -variable values (see section 3.5.3 Shell Parameter Expansion). +variable values (see section 3.5.3 Shell Parameter Expansion).

    21. The expansion ${#xx}, which returns the length of ${xx}, -is supported (see section 3.5.3 Shell Parameter Expansion). +is supported (see section 3.5.3 Shell Parameter Expansion).

    22. The expansion ${var:offset[:length]}, which expands to the substring of var's value of length length, beginning at offset, is present -(see section 3.5.3 Shell Parameter Expansion). +(see section 3.5.3 Shell Parameter Expansion).

    23. The expansion ${var/[/]pattern[/replacement]}, which matches pattern and replaces it with replacement in -the value of var, is available (see section 3.5.3 Shell Parameter Expansion). +the value of var, is available (see section 3.5.3 Shell Parameter Expansion).

    24. The expansion ${!prefix}* expansion, which expands to the names of all shell variables whose names begin with prefix, -is available (see section 3.5.3 Shell Parameter Expansion). +is available (see section 3.5.3 Shell Parameter Expansion).

    25. Bash has indirect variable expansion using ${!word} -(see section 3.5.3 Shell Parameter Expansion). +(see section 3.5.3 Shell Parameter Expansion).

    26. @@ -13355,13 +13520,13 @@ Bash can expand positional parameters beyond $9 using
    27. The POSIX $() form of command substitution -is implemented (see section 3.5.4 Command Substitution), +is implemented (see section 3.5.4 Command Substitution), and preferred to the Bourne shell's " (which is also implemented for backwards compatibility).

    28. -Bash has process substitution (see section 3.5.6 Process Substitution). +Bash has process substitution (see section 3.5.6 Process Substitution).

    29. @@ -13369,25 +13534,25 @@ Bash automatically assigns variables that provide information about the current user (UID, EUID, and GROUPS), the current host (HOSTTYPE, OSTYPE, MACHTYPE, and HOSTNAME), and the instance of Bash that is running (BASH, -BASH_VERSION, and BASH_VERSINFO). See section 5.2 Bash Variables, +BASH_VERSION, and BASH_VERSINFO). See section 5.2 Bash Variables, for details.

    30. The IFS variable is used to split only the results of expansion, -not all words (see section 3.5.7 Word Splitting). +not all words (see section 3.5.7 Word Splitting). This closes a longstanding shell security hole.

    31. Bash implements the full set of POSIX filename expansion operators, including character classes, equivalence classes, and -collating symbols (see section 3.5.8 Filename Expansion). +collating symbols (see section 3.5.8 Filename Expansion).

    32. Bash implements extended pattern matching features when the extglob -shell option is enabled (see section 3.5.8.1 Pattern Matching). +shell option is enabled (see section 3.5.8.1 Pattern Matching).

    33. @@ -13398,12 +13563,12 @@ It is possible to have a variable and a function with the same name;
    34. Bash functions are permitted to have local variables using the local builtin, and thus useful recursive functions may be written -(see section 4.2 Bash Builtin Commands). +(see section 4.2 Bash Builtin Commands).

    35. Variable assignments preceding commands affect only that command, even -builtins and functions (see section 3.7.4 Environment). +builtins and functions (see section 3.7.4 Environment). In sh, all variable assignments preceding commands are global unless the command is executed from the file system. @@ -13411,14 +13576,14 @@ file system.
    36. Bash performs filename expansion on filenames specified as operands -to input and output redirection operators (see section 3.6 Redirections). +to input and output redirection operators (see section 3.6 Redirections).

    37. Bash contains the `<>' redirection operator, allowing a file to be opened for both reading and writing, and the `&>' redirection operator, for directing standard output and standard error to the same -file (see section 3.6 Redirections). +file (see section 3.6 Redirections).

    38. @@ -13433,22 +13598,22 @@ redirection operators, which move one file descriptor to another.
    39. Bash treats a number of filenames specially when they are -used in redirection operators (see section 3.6 Redirections). +used in redirection operators (see section 3.6 Redirections).

    40. Bash can open network connections to arbitrary machines and services -with the redirection operators (see section 3.6 Redirections). +with the redirection operators (see section 3.6 Redirections).

    41. The noclobber option is available to avoid overwriting existing -files with output redirection (see section 4.3.1 The Set Builtin). +files with output redirection (see section 4.3.1 The Set Builtin). The `>|' redirection operator may be used to override noclobber.

    42. -The Bash cd and pwd builtins (see section 4.1 Bourne Shell Builtins) +The Bash cd and pwd builtins (see section 4.1 Bourne Shell Builtins) each take `-L' and `-P' options to switch between logical and physical modes.

      @@ -13456,29 +13621,29 @@ physical modes.

    43. Bash allows a function to override a builtin with the same name, and provides access to that builtin's functionality within the function via the -builtin and command builtins (see section 4.2 Bash Builtin Commands). +builtin and command builtins (see section 4.2 Bash Builtin Commands).

    44. The command builtin allows selective disabling of functions -when command lookup is performed (see section 4.2 Bash Builtin Commands). +when command lookup is performed (see section 4.2 Bash Builtin Commands).

    45. Individual builtins may be enabled or disabled using the enable -builtin (see section 4.2 Bash Builtin Commands). +builtin (see section 4.2 Bash Builtin Commands).

    46. The Bash exec builtin takes additional options that allow users to control the contents of the environment passed to the executed command, and what the zeroth argument to the command is to be -(see section 4.1 Bourne Shell Builtins). +(see section 4.1 Bourne Shell Builtins).

    47. Shell functions may be exported to children via the environment -using export -f (see section 3.3 Shell Functions). +using export -f (see section 3.3 Shell Functions).

    48. @@ -13494,21 +13659,21 @@ and values simultaneously. The Bash hash builtin allows a name to be associated with an arbitrary filename, even when that filename cannot be found by searching the $PATH, using `hash -p' -(see section 4.1 Bourne Shell Builtins). +(see section 4.1 Bourne Shell Builtins).

    49. Bash includes a help builtin for quick reference to shell -facilities (see section 4.2 Bash Builtin Commands). +facilities (see section 4.2 Bash Builtin Commands).

    50. The printf builtin is available to display formatted output -(see section 4.2 Bash Builtin Commands). +(see section 4.2 Bash Builtin Commands).

    51. -The Bash read builtin (see section 4.2 Bash Builtin Commands) +The Bash read builtin (see section 4.2 Bash Builtin Commands) will read a line ending in `\' with the `-r' option, and will use the REPLY variable as a default if no non-option arguments are supplied. @@ -13527,28 +13692,28 @@ until a particular character rather than newline.
    52. The return builtin may be used to abort execution of scripts executed with the . or source builtins -(see section 4.1 Bourne Shell Builtins). +(see section 4.1 Bourne Shell Builtins).

    53. Bash includes the shopt builtin, for finer control of shell -optional capabilities (see section 4.3.2 The Shopt Builtin), and allows these options -to be set and unset at shell invocation (see section 6.1 Invoking Bash). +optional capabilities (see section 4.3.2 The Shopt Builtin), and allows these options +to be set and unset at shell invocation (see section 6.1 Invoking Bash).

    54. Bash has much more optional behavior controllable with the set -builtin (see section 4.3.1 The Set Builtin). +builtin (see section 4.3.1 The Set Builtin).

    55. The `-x' (xtrace) option displays commands other than simple commands when performing an execution trace -(see section 4.3.1 The Set Builtin). +(see section 4.3.1 The Set Builtin).

    56. -The test builtin (see section 4.1 Bourne Shell Builtins) +The test builtin (see section 4.1 Bourne Shell Builtins) is slightly different, as it implements the POSIX algorithm, which specifies the behavior based on the number of arguments.

      @@ -13561,7 +13726,7 @@ debugger.

    57. -The trap builtin (see section 4.1 Bourne Shell Builtins) allows a +The trap builtin (see section 4.1 Bourne Shell Builtins) allows a DEBUG pseudo-signal specification, similar to EXIT. Commands specified with a DEBUG trap are executed before every simple command, for command, case command, @@ -13574,7 +13739,7 @@ The extdebug shell option has additional effects on the DEBUG trap.

      -The trap builtin (see section 4.1 Bourne Shell Builtins) allows an +The trap builtin (see section 4.1 Bourne Shell Builtins) allows an ERR pseudo-signal specification, similar to EXIT and DEBUG. Commands specified with an ERR trap are executed after a simple command fails, with a few exceptions. @@ -13582,7 +13747,7 @@ The ERR trap is not inherited by shell functions unless the -o errtrace option to the set builtin is enabled.

      -The trap builtin (see section 4.1 Bourne Shell Builtins) allows a +The trap builtin (see section 4.1 Bourne Shell Builtins) allows a RETURN pseudo-signal specification, similar to EXIT and DEBUG. Commands specified with an RETURN trap are executed before @@ -13595,36 +13760,36 @@ function has been given the trace attribute or the

    58. The Bash type builtin is more extensive and gives more information -about the names it finds (see section 4.2 Bash Builtin Commands). +about the names it finds (see section 4.2 Bash Builtin Commands).

    59. The Bash umask builtin permits a `-p' option to cause the output to be displayed in the form of a umask command -that may be reused as input (see section 4.1 Bourne Shell Builtins). +that may be reused as input (see section 4.1 Bourne Shell Builtins).

    60. Bash implements a csh-like directory stack, and provides the pushd, popd, and dirs builtins to manipulate it -(see section 6.8 The Directory Stack). +(see section 6.8 The Directory Stack). Bash also makes the directory stack visible as the value of the DIRSTACK shell variable.

    61. Bash interprets special backslash-escaped characters in the prompt -strings when interactive (see section 6.9 Controlling the Prompt). +strings when interactive (see section 6.9 Controlling the Prompt).

    62. -The Bash restricted mode is more useful (see section 6.10 The Restricted Shell); +The Bash restricted mode is more useful (see section 6.10 The Restricted Shell); the SVR4.2 shell restricted mode is too limited.

    63. The disown builtin can remove a job from the internal shell -job table (see section 7.2 Job Control Builtins) or suppress the sending +job table (see section 7.2 Job Control Builtins) or suppress the sending of SIGHUP to a job when the shell exits as the result of a SIGHUP.

      @@ -13655,24 +13820,24 @@ The SVR4.2 sh uses a TIMEOUT variable like Bash uses

      -More features unique to Bash may be found in 6. Bash Features. +More features unique to Bash may be found in 6. Bash Features.


      - + - - - - - + + + + + - +
      [ < ][ > ]   [ << ][ Up ][ >> ]
      [ < ][ > ]   [ << ][ Up ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      B.1 Implementation Differences From The SVR4.2 Shell

      - +

      Since Bash is a completely new implementation, it does not suffer from @@ -13744,20 +13909,20 @@ The SVR4.2 shell behaves differently when invoked as jsh


      - + - - - + + + - + - +
      [ < ][ > ]   [ << ]
      [ < ][ > ]   [ << ] [ Up ][ >> ][ >> ]         [Top] [Contents][Index][Index] [ ? ]

      C. GNU Free Documentation License

      - +

      @@ -14294,9 +14459,9 @@ provided the MMC is eligible for relicensing.

      - +

      ADDENDUM: How to use this License for your documents

      - +

      To use this License in a document you have written, include a copy of @@ -14335,49 +14500,49 @@ to permit their use in free software.


      - + - - + + - +
      [ < ][ > ]
      [ < ][ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents][Index][Index] [ ? ]

      D. Indexes

      - +

      - - - + + - - +
      D.1 Index of Shell Builtin Commands  Index of Bash builtin commands.
      D.2 Index of Shell Reserved Words  Index of Bash reserved words.
      D.3 Parameter and Variable Index  Quick reference helps you find the +
      D.1 Index of Shell Builtin Commands  Index of Bash builtin commands.
      D.2 Index of Shell Reserved Words  Index of Bash reserved words.
      D.3 Parameter and Variable Index  Quick reference helps you find the variable you want.
      D.4 Function Index  Index of bindable Readline functions.
      D.5 Concept Index  General index for concepts described in +
      D.4 Function Index  Index of bindable Readline functions.
      D.5 Concept Index  General index for concepts described in this manual.


      - + - - + + - + - +
      [ < ][ > ]
      [ < ][ > ]   [ << ][ Up ][ Up ] [ >> ]         [Top] [Contents][Index][Index] [ ? ]

      D.1 Index of Shell Builtin Commands

      - + - + - + - + - + - - - - + + + + - - - - - - - + + + + + + + - - - + + + - - - - - - + + + + + + - - + + - + - - - + + + - + - + - - - + + + - + - - - - + + + + - - - - + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - +
      Jump to:   .   : @@ -14426,105 +14591,105 @@ to permit their use in free software.
      Index Entry Section

      .
      .4.1 Bourne Shell Builtins
      .4.1 Bourne Shell Builtins

      :
      :4.1 Bourne Shell Builtins
      :4.1 Bourne Shell Builtins

      [
      [4.1 Bourne Shell Builtins
      [4.1 Bourne Shell Builtins

      A
      alias4.2 Bash Builtin Commands
      alias4.2 Bash Builtin Commands

      B
      bg7.2 Job Control Builtins
      bind4.2 Bash Builtin Commands
      break4.1 Bourne Shell Builtins
      builtin4.2 Bash Builtin Commands
      bg7.2 Job Control Builtins
      bind4.2 Bash Builtin Commands
      break4.1 Bourne Shell Builtins
      builtin4.2 Bash Builtin Commands

      C
      caller4.2 Bash Builtin Commands
      cd4.1 Bourne Shell Builtins
      command4.2 Bash Builtin Commands
      compgen8.7 Programmable Completion Builtins
      complete8.7 Programmable Completion Builtins
      compopt8.7 Programmable Completion Builtins
      continue4.1 Bourne Shell Builtins
      caller4.2 Bash Builtin Commands
      cd4.1 Bourne Shell Builtins
      command4.2 Bash Builtin Commands
      compgen8.7 Programmable Completion Builtins
      complete8.7 Programmable Completion Builtins
      compopt8.7 Programmable Completion Builtins
      continue4.1 Bourne Shell Builtins

      D
      declare4.2 Bash Builtin Commands
      dirs6.8.1 Directory Stack Builtins
      disown7.2 Job Control Builtins
      declare4.2 Bash Builtin Commands
      dirs6.8.1 Directory Stack Builtins
      disown7.2 Job Control Builtins

      E
      echo4.2 Bash Builtin Commands
      enable4.2 Bash Builtin Commands
      eval4.1 Bourne Shell Builtins
      exec4.1 Bourne Shell Builtins
      exit4.1 Bourne Shell Builtins
      export4.1 Bourne Shell Builtins
      echo4.2 Bash Builtin Commands
      enable4.2 Bash Builtin Commands
      eval4.1 Bourne Shell Builtins
      exec4.1 Bourne Shell Builtins
      exit4.1 Bourne Shell Builtins
      export4.1 Bourne Shell Builtins

      F
      fc9.2 Bash History Builtins
      fg7.2 Job Control Builtins
      fc9.2 Bash History Builtins
      fg7.2 Job Control Builtins

      G
      getopts4.1 Bourne Shell Builtins
      getopts4.1 Bourne Shell Builtins

      H
      hash4.1 Bourne Shell Builtins
      help4.2 Bash Builtin Commands
      history9.2 Bash History Builtins
      hash4.1 Bourne Shell Builtins
      help4.2 Bash Builtin Commands
      history9.2 Bash History Builtins

      J
      jobs7.2 Job Control Builtins
      jobs7.2 Job Control Builtins

      K
      kill7.2 Job Control Builtins
      kill7.2 Job Control Builtins

      L
      let4.2 Bash Builtin Commands
      local4.2 Bash Builtin Commands
      logout4.2 Bash Builtin Commands
      let4.2 Bash Builtin Commands
      local4.2 Bash Builtin Commands
      logout4.2 Bash Builtin Commands

      M
      mapfile4.2 Bash Builtin Commands
      mapfile4.2 Bash Builtin Commands

      P
      popd6.8.1 Directory Stack Builtins
      printf4.2 Bash Builtin Commands
      pushd6.8.1 Directory Stack Builtins
      pwd4.1 Bourne Shell Builtins
      popd6.8.1 Directory Stack Builtins
      printf4.2 Bash Builtin Commands
      pushd6.8.1 Directory Stack Builtins
      pwd4.1 Bourne Shell Builtins

      R
      read4.2 Bash Builtin Commands
      readarray4.2 Bash Builtin Commands
      readonly4.1 Bourne Shell Builtins
      return4.1 Bourne Shell Builtins
      read4.2 Bash Builtin Commands
      readarray4.2 Bash Builtin Commands
      readonly4.1 Bourne Shell Builtins
      return4.1 Bourne Shell Builtins

      S
      set4.3.1 The Set Builtin
      shift4.1 Bourne Shell Builtins
      shopt4.3.2 The Shopt Builtin
      source4.2 Bash Builtin Commands
      suspend7.2 Job Control Builtins
      set4.3.1 The Set Builtin
      shift4.1 Bourne Shell Builtins
      shopt4.3.2 The Shopt Builtin
      source4.2 Bash Builtin Commands
      suspend7.2 Job Control Builtins

      T
      test4.1 Bourne Shell Builtins
      times4.1 Bourne Shell Builtins
      trap4.1 Bourne Shell Builtins
      type4.2 Bash Builtin Commands
      typeset4.2 Bash Builtin Commands
      test4.1 Bourne Shell Builtins
      times4.1 Bourne Shell Builtins
      trap4.1 Bourne Shell Builtins
      type4.2 Bash Builtin Commands
      typeset4.2 Bash Builtin Commands

      U
      ulimit4.2 Bash Builtin Commands
      umask4.1 Bourne Shell Builtins
      unalias4.2 Bash Builtin Commands
      unset4.1 Bourne Shell Builtins
      ulimit4.2 Bash Builtin Commands
      umask4.1 Bourne Shell Builtins
      unalias4.2 Bash Builtin Commands
      unset4.1 Bourne Shell Builtins

      W
      wait7.2 Job Control Builtins
      wait7.2 Job Control Builtins

      Jump to:   .   @@ -14573,20 +14738,20 @@ to permit their use in free software.
      - + - - - - + + + + - +
      [ < ][ > ]   [ << ][ Up ]
      [ < ][ > ]   [ << ][ Up ] [ >> ]         [Top] [Contents][Index][Index] [ ? ]

      D.2 Index of Shell Reserved Words

      - + - + @@ -14702,20 +14867,20 @@ to permit their use in free software.
      - +
      Jump to:   !   [ @@ -14650,7 +14815,7 @@ to permit their use in free software.
      F
      fi3.2.4.2 Conditional Constructs
      for3.2.4.1 Looping Constructs
      function3.3 Shell Functions
      function3.3 Shell Functions

      I
      if3.2.4.2 Conditional Constructs
      - - - - + + + + - +
      [ < ][ > ]   [ << ][ Up ]
      [ < ][ > ]   [ << ][ Up ] [ >> ]         [Top] [Contents][Index][Index] [ ? ]

      D.3 Parameter and Variable Index

      - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - - - - - + + + + + + + + + - - - - - - + + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - + + - +
      Jump to:   !   # @@ -14778,298 +14943,301 @@ to permit their use in free software.
      Index Entry Section

      !
      !3.4.2 Special Parameters
      !3.4.2 Special Parameters
      !3.4.2 Special Parameters
      !3.4.2 Special Parameters

      #
      #3.4.2 Special Parameters
      #3.4.2 Special Parameters
      #3.4.2 Special Parameters
      #3.4.2 Special Parameters

      $
      $3.4.2 Special Parameters
      $3.4.2 Special Parameters
      $3.4.2 Special Parameters
      $3.4.2 Special Parameters

      *
      *3.4.2 Special Parameters
      *3.4.2 Special Parameters
      *3.4.2 Special Parameters
      *3.4.2 Special Parameters

      -
      -3.4.2 Special Parameters
      -3.4.2 Special Parameters
      -3.4.2 Special Parameters
      -3.4.2 Special Parameters

      0
      03.4.2 Special Parameters
      03.4.2 Special Parameters
      03.4.2 Special Parameters
      03.4.2 Special Parameters

      ?
      ?3.4.2 Special Parameters
      ?3.4.2 Special Parameters
      ?3.4.2 Special Parameters
      ?3.4.2 Special Parameters

      @
      @3.4.2 Special Parameters
      @3.4.2 Special Parameters
      @3.4.2 Special Parameters
      @3.4.2 Special Parameters

      _
      _3.4.2 Special Parameters
      _3.4.2 Special Parameters
      _3.4.2 Special Parameters
      _3.4.2 Special Parameters

      A
      auto_resume7.3 Job Control Variables
      auto_resume7.3 Job Control Variables
      auto_resume7.3 Job Control Variables
      auto_resume7.3 Job Control Variables

      B
      BASH5.2 Bash Variables
      BASH5.2 Bash Variables
      BASH_ALIASES5.2 Bash Variables
      BASH_ALIASES5.2 Bash Variables
      BASH_ARGC5.2 Bash Variables
      BASH_ARGC5.2 Bash Variables
      BASH_ARGV5.2 Bash Variables
      BASH_ARGV5.2 Bash Variables
      BASH_CMDS5.2 Bash Variables
      BASH_CMDS5.2 Bash Variables
      BASH_COMMAND5.2 Bash Variables
      BASH_COMMAND5.2 Bash Variables
      BASH_ENV5.2 Bash Variables
      BASH_ENV5.2 Bash Variables
      BASH_EXECUTION_STRING5.2 Bash Variables
      BASH_EXECUTION_STRING5.2 Bash Variables
      BASH_LINENO5.2 Bash Variables
      BASH_LINENO5.2 Bash Variables
      BASH_REMATCH5.2 Bash Variables
      BASH_REMATCH5.2 Bash Variables
      BASH_SOURCE5.2 Bash Variables
      BASH_SOURCE5.2 Bash Variables
      BASH_SUBSHELL5.2 Bash Variables
      BASH_SUBSHELL5.2 Bash Variables
      BASH_VERSINFO5.2 Bash Variables
      BASH_VERSINFO5.2 Bash Variables
      BASH_VERSION5.2 Bash Variables
      BASH_VERSION5.2 Bash Variables
      BASH_XTRACEFD5.2 Bash Variables
      BASH_XTRACEFD5.2 Bash Variables
      BASHOPTS5.2 Bash Variables
      BASHOPTS5.2 Bash Variables
      BASHPID5.2 Bash Variables
      BASHPID5.2 Bash Variables
      bell-style8.3.1 Readline Init File Syntax
      bind-tty-special-chars8.3.1 Readline Init File Syntax
      BASH5.2 Bash Variables
      BASH5.2 Bash Variables
      BASH_ALIASES5.2 Bash Variables
      BASH_ALIASES5.2 Bash Variables
      BASH_ARGC5.2 Bash Variables
      BASH_ARGC5.2 Bash Variables
      BASH_ARGV5.2 Bash Variables
      BASH_ARGV5.2 Bash Variables
      BASH_CMDS5.2 Bash Variables
      BASH_CMDS5.2 Bash Variables
      BASH_COMMAND5.2 Bash Variables
      BASH_COMMAND5.2 Bash Variables
      BASH_ENV5.2 Bash Variables
      BASH_ENV5.2 Bash Variables
      BASH_EXECUTION_STRING5.2 Bash Variables
      BASH_EXECUTION_STRING5.2 Bash Variables
      BASH_LINENO5.2 Bash Variables
      BASH_LINENO5.2 Bash Variables
      BASH_REMATCH5.2 Bash Variables
      BASH_REMATCH5.2 Bash Variables
      BASH_SOURCE5.2 Bash Variables
      BASH_SOURCE5.2 Bash Variables
      BASH_SUBSHELL5.2 Bash Variables
      BASH_SUBSHELL5.2 Bash Variables
      BASH_VERSINFO5.2 Bash Variables
      BASH_VERSINFO5.2 Bash Variables
      BASH_VERSION5.2 Bash Variables
      BASH_VERSION5.2 Bash Variables
      BASH_XTRACEFD5.2 Bash Variables
      BASH_XTRACEFD5.2 Bash Variables
      BASHOPTS5.2 Bash Variables
      BASHOPTS5.2 Bash Variables
      BASHPID5.2 Bash Variables
      BASHPID5.2 Bash Variables
      bell-style8.3.1 Readline Init File Syntax
      bind-tty-special-chars8.3.1 Readline Init File Syntax

      C
      CDPATH5.1 Bourne Shell Variables
      CDPATH5.1 Bourne Shell Variables
      COLUMNS5.2 Bash Variables
      COLUMNS5.2 Bash Variables
      comment-begin8.3.1 Readline Init File Syntax
      COMP_CWORD5.2 Bash Variables
      COMP_CWORD5.2 Bash Variables
      COMP_KEY5.2 Bash Variables
      COMP_KEY5.2 Bash Variables
      COMP_LINE5.2 Bash Variables
      COMP_LINE5.2 Bash Variables
      COMP_POINT5.2 Bash Variables
      COMP_POINT5.2 Bash Variables
      COMP_TYPE5.2 Bash Variables
      COMP_TYPE5.2 Bash Variables
      COMP_WORDBREAKS5.2 Bash Variables
      COMP_WORDBREAKS5.2 Bash Variables
      COMP_WORDS5.2 Bash Variables
      COMP_WORDS5.2 Bash Variables
      completion-display-width8.3.1 Readline Init File Syntax
      completion-ignore-case8.3.1 Readline Init File Syntax
      completion-prefix-display-length8.3.1 Readline Init File Syntax
      completion-query-items8.3.1 Readline Init File Syntax
      COMPREPLY5.2 Bash Variables
      COMPREPLY5.2 Bash Variables
      convert-meta8.3.1 Readline Init File Syntax
      COPROC5.2 Bash Variables
      COPROC5.2 Bash Variables
      CDPATH5.1 Bourne Shell Variables
      CDPATH5.1 Bourne Shell Variables
      COLUMNS5.2 Bash Variables
      COLUMNS5.2 Bash Variables
      comment-begin8.3.1 Readline Init File Syntax
      COMP_CWORD5.2 Bash Variables
      COMP_CWORD5.2 Bash Variables
      COMP_KEY5.2 Bash Variables
      COMP_KEY5.2 Bash Variables
      COMP_LINE5.2 Bash Variables
      COMP_LINE5.2 Bash Variables
      COMP_POINT5.2 Bash Variables
      COMP_POINT5.2 Bash Variables
      COMP_TYPE5.2 Bash Variables
      COMP_TYPE5.2 Bash Variables
      COMP_WORDBREAKS5.2 Bash Variables
      COMP_WORDBREAKS5.2 Bash Variables
      COMP_WORDS5.2 Bash Variables
      COMP_WORDS5.2 Bash Variables
      completion-display-width8.3.1 Readline Init File Syntax
      completion-ignore-case8.3.1 Readline Init File Syntax
      completion-map-case8.3.1 Readline Init File Syntax
      completion-prefix-display-length8.3.1 Readline Init File Syntax
      completion-query-items8.3.1 Readline Init File Syntax
      COMPREPLY5.2 Bash Variables
      COMPREPLY5.2 Bash Variables
      convert-meta8.3.1 Readline Init File Syntax
      COPROC5.2 Bash Variables
      COPROC5.2 Bash Variables

      D
      DIRSTACK5.2 Bash Variables
      DIRSTACK5.2 Bash Variables
      disable-completion8.3.1 Readline Init File Syntax
      DIRSTACK5.2 Bash Variables
      DIRSTACK5.2 Bash Variables
      disable-completion8.3.1 Readline Init File Syntax

      E
      editing-mode8.3.1 Readline Init File Syntax
      EMACS5.2 Bash Variables
      EMACS5.2 Bash Variables
      enable-keypad8.3.1 Readline Init File Syntax
      ENV5.2 Bash Variables
      ENV5.2 Bash Variables
      EUID5.2 Bash Variables
      EUID5.2 Bash Variables
      expand-tilde8.3.1 Readline Init File Syntax
      editing-mode8.3.1 Readline Init File Syntax
      EMACS5.2 Bash Variables
      EMACS5.2 Bash Variables
      enable-keypad8.3.1 Readline Init File Syntax
      ENV5.2 Bash Variables
      ENV5.2 Bash Variables
      EUID5.2 Bash Variables
      EUID5.2 Bash Variables
      expand-tilde8.3.1 Readline Init File Syntax

      F
      FCEDIT5.2 Bash Variables
      FCEDIT5.2 Bash Variables
      FIGNORE5.2 Bash Variables
      FIGNORE5.2 Bash Variables
      FUNCNAME5.2 Bash Variables
      FUNCNAME5.2 Bash Variables
      FCEDIT5.2 Bash Variables
      FCEDIT5.2 Bash Variables
      FIGNORE5.2 Bash Variables
      FIGNORE5.2 Bash Variables
      FUNCNAME5.2 Bash Variables
      FUNCNAME5.2 Bash Variables
      FUNCNEST5.2 Bash Variables
      FUNCNEST5.2 Bash Variables

      G
      GLOBIGNORE5.2 Bash Variables
      GLOBIGNORE5.2 Bash Variables
      GROUPS5.2 Bash Variables
      GROUPS5.2 Bash Variables
      GLOBIGNORE5.2 Bash Variables
      GLOBIGNORE5.2 Bash Variables
      GROUPS5.2 Bash Variables
      GROUPS5.2 Bash Variables

      H
      histchars5.2 Bash Variables
      histchars5.2 Bash Variables
      HISTCMD5.2 Bash Variables
      HISTCMD5.2 Bash Variables
      HISTCONTROL5.2 Bash Variables
      HISTCONTROL5.2 Bash Variables
      HISTFILE5.2 Bash Variables
      HISTFILE5.2 Bash Variables
      HISTFILESIZE5.2 Bash Variables
      HISTFILESIZE5.2 Bash Variables
      HISTIGNORE5.2 Bash Variables
      HISTIGNORE5.2 Bash Variables
      history-preserve-point8.3.1 Readline Init File Syntax
      history-size8.3.1 Readline Init File Syntax
      HISTSIZE5.2 Bash Variables
      HISTSIZE5.2 Bash Variables
      HISTTIMEFORMAT5.2 Bash Variables
      HISTTIMEFORMAT5.2 Bash Variables
      HOME5.1 Bourne Shell Variables
      HOME5.1 Bourne Shell Variables
      horizontal-scroll-mode8.3.1 Readline Init File Syntax
      HOSTFILE5.2 Bash Variables
      HOSTFILE5.2 Bash Variables
      HOSTNAME5.2 Bash Variables
      HOSTNAME5.2 Bash Variables
      HOSTTYPE5.2 Bash Variables
      HOSTTYPE5.2 Bash Variables
      histchars5.2 Bash Variables
      histchars5.2 Bash Variables
      HISTCMD5.2 Bash Variables
      HISTCMD5.2 Bash Variables
      HISTCONTROL5.2 Bash Variables
      HISTCONTROL5.2 Bash Variables
      HISTFILE5.2 Bash Variables
      HISTFILE5.2 Bash Variables
      HISTFILESIZE5.2 Bash Variables
      HISTFILESIZE5.2 Bash Variables
      HISTIGNORE5.2 Bash Variables
      HISTIGNORE5.2 Bash Variables
      history-preserve-point8.3.1 Readline Init File Syntax
      history-size8.3.1 Readline Init File Syntax
      HISTSIZE5.2 Bash Variables
      HISTSIZE5.2 Bash Variables
      HISTTIMEFORMAT5.2 Bash Variables
      HISTTIMEFORMAT5.2 Bash Variables
      HOME5.1 Bourne Shell Variables
      HOME5.1 Bourne Shell Variables
      horizontal-scroll-mode8.3.1 Readline Init File Syntax
      HOSTFILE5.2 Bash Variables
      HOSTFILE5.2 Bash Variables
      HOSTNAME5.2 Bash Variables
      HOSTNAME5.2 Bash Variables
      HOSTTYPE5.2 Bash Variables
      HOSTTYPE5.2 Bash Variables

      I
      IFS5.1 Bourne Shell Variables
      IFS5.1 Bourne Shell Variables
      IGNOREEOF5.2 Bash Variables
      IGNOREEOF5.2 Bash Variables
      input-meta8.3.1 Readline Init File Syntax
      INPUTRC5.2 Bash Variables
      INPUTRC5.2 Bash Variables
      isearch-terminators8.3.1 Readline Init File Syntax
      IFS5.1 Bourne Shell Variables
      IFS5.1 Bourne Shell Variables
      IGNOREEOF5.2 Bash Variables
      IGNOREEOF5.2 Bash Variables
      input-meta8.3.1 Readline Init File Syntax
      INPUTRC5.2 Bash Variables
      INPUTRC5.2 Bash Variables
      isearch-terminators8.3.1 Readline Init File Syntax

      K
      keymap8.3.1 Readline Init File Syntax
      keymap8.3.1 Readline Init File Syntax

      L
      LANG5.2 Bash Variables
      LANG5.2 Bash Variables
      LC_ALL5.2 Bash Variables
      LC_ALL5.2 Bash Variables
      LC_COLLATE5.2 Bash Variables
      LC_COLLATE5.2 Bash Variables
      LC_CTYPE5.2 Bash Variables
      LC_CTYPE5.2 Bash Variables
      LANG5.2 Bash Variables
      LANG5.2 Bash Variables
      LC_ALL5.2 Bash Variables
      LC_ALL5.2 Bash Variables
      LC_COLLATE5.2 Bash Variables
      LC_COLLATE5.2 Bash Variables
      LC_CTYPE5.2 Bash Variables
      LC_CTYPE5.2 Bash Variables
      LC_MESSAGES3.1.2.5 Locale-Specific Translation
      LC_MESSAGES5.2 Bash Variables
      LC_MESSAGES5.2 Bash Variables
      LC_NUMERIC5.2 Bash Variables
      LC_NUMERIC5.2 Bash Variables
      LINENO5.2 Bash Variables
      LINENO5.2 Bash Variables
      LINES5.2 Bash Variables
      LINES5.2 Bash Variables
      LC_MESSAGES5.2 Bash Variables
      LC_MESSAGES5.2 Bash Variables
      LC_NUMERIC5.2 Bash Variables
      LC_NUMERIC5.2 Bash Variables
      LINENO5.2 Bash Variables
      LINENO5.2 Bash Variables
      LINES5.2 Bash Variables
      LINES5.2 Bash Variables

      M
      MACHTYPE5.2 Bash Variables
      MACHTYPE5.2 Bash Variables
      MAIL5.1 Bourne Shell Variables
      MAIL5.1 Bourne Shell Variables
      MAILCHECK5.2 Bash Variables
      MAILCHECK5.2 Bash Variables
      MAILPATH5.1 Bourne Shell Variables
      MAILPATH5.1 Bourne Shell Variables
      MAPFILE5.2 Bash Variables
      MAPFILE5.2 Bash Variables
      mark-modified-lines8.3.1 Readline Init File Syntax
      mark-symlinked-directories8.3.1 Readline Init File Syntax
      match-hidden-files8.3.1 Readline Init File Syntax
      meta-flag8.3.1 Readline Init File Syntax
      MACHTYPE5.2 Bash Variables
      MACHTYPE5.2 Bash Variables
      MAIL5.1 Bourne Shell Variables
      MAIL5.1 Bourne Shell Variables
      MAILCHECK5.2 Bash Variables
      MAILCHECK5.2 Bash Variables
      MAILPATH5.1 Bourne Shell Variables
      MAILPATH5.1 Bourne Shell Variables
      MAPFILE5.2 Bash Variables
      MAPFILE5.2 Bash Variables
      mark-modified-lines8.3.1 Readline Init File Syntax
      mark-symlinked-directories8.3.1 Readline Init File Syntax
      match-hidden-files8.3.1 Readline Init File Syntax
      meta-flag8.3.1 Readline Init File Syntax

      O
      OLDPWD5.2 Bash Variables
      OLDPWD5.2 Bash Variables
      OPTARG5.1 Bourne Shell Variables
      OPTARG5.1 Bourne Shell Variables
      OPTERR5.2 Bash Variables
      OPTERR5.2 Bash Variables
      OPTIND5.1 Bourne Shell Variables
      OPTIND5.1 Bourne Shell Variables
      OSTYPE5.2 Bash Variables
      OSTYPE5.2 Bash Variables
      output-meta8.3.1 Readline Init File Syntax
      OLDPWD5.2 Bash Variables
      OLDPWD5.2 Bash Variables
      OPTARG5.1 Bourne Shell Variables
      OPTARG5.1 Bourne Shell Variables
      OPTERR5.2 Bash Variables
      OPTERR5.2 Bash Variables
      OPTIND5.1 Bourne Shell Variables
      OPTIND5.1 Bourne Shell Variables
      OSTYPE5.2 Bash Variables
      OSTYPE5.2 Bash Variables
      output-meta8.3.1 Readline Init File Syntax

      P
      page-completions8.3.1 Readline Init File Syntax
      PATH5.1 Bourne Shell Variables
      PATH5.1 Bourne Shell Variables
      PIPESTATUS5.2 Bash Variables
      PIPESTATUS5.2 Bash Variables
      POSIXLY_CORRECT5.2 Bash Variables
      POSIXLY_CORRECT5.2 Bash Variables
      PPID5.2 Bash Variables
      PPID5.2 Bash Variables
      PROMPT_COMMAND5.2 Bash Variables
      PROMPT_COMMAND5.2 Bash Variables
      PROMPT_DIRTRIM5.2 Bash Variables
      PROMPT_DIRTRIM5.2 Bash Variables
      PS15.1 Bourne Shell Variables
      PS15.1 Bourne Shell Variables
      PS25.1 Bourne Shell Variables
      PS25.1 Bourne Shell Variables
      PS35.2 Bash Variables
      PS35.2 Bash Variables
      PS45.2 Bash Variables
      PS45.2 Bash Variables
      PWD5.2 Bash Variables
      PWD5.2 Bash Variables
      page-completions8.3.1 Readline Init File Syntax
      PATH5.1 Bourne Shell Variables
      PATH5.1 Bourne Shell Variables
      PIPESTATUS5.2 Bash Variables
      PIPESTATUS5.2 Bash Variables
      POSIXLY_CORRECT5.2 Bash Variables
      POSIXLY_CORRECT5.2 Bash Variables
      PPID5.2 Bash Variables
      PPID5.2 Bash Variables
      PROMPT_COMMAND5.2 Bash Variables
      PROMPT_COMMAND5.2 Bash Variables
      PROMPT_DIRTRIM5.2 Bash Variables
      PROMPT_DIRTRIM5.2 Bash Variables
      PS15.1 Bourne Shell Variables
      PS15.1 Bourne Shell Variables
      PS25.1 Bourne Shell Variables
      PS25.1 Bourne Shell Variables
      PS35.2 Bash Variables
      PS35.2 Bash Variables
      PS45.2 Bash Variables
      PS45.2 Bash Variables
      PWD5.2 Bash Variables
      PWD5.2 Bash Variables

      R
      RANDOM5.2 Bash Variables
      RANDOM5.2 Bash Variables
      READLINE_LINE5.2 Bash Variables
      READLINE_LINE5.2 Bash Variables
      READLINE_POINT5.2 Bash Variables
      READLINE_POINT5.2 Bash Variables
      REPLY5.2 Bash Variables
      REPLY5.2 Bash Variables
      revert-all-at-newline8.3.1 Readline Init File Syntax
      RANDOM5.2 Bash Variables
      RANDOM5.2 Bash Variables
      READLINE_LINE5.2 Bash Variables
      READLINE_LINE5.2 Bash Variables
      READLINE_POINT5.2 Bash Variables
      READLINE_POINT5.2 Bash Variables
      REPLY5.2 Bash Variables
      REPLY5.2 Bash Variables
      revert-all-at-newline8.3.1 Readline Init File Syntax

      S
      SECONDS5.2 Bash Variables
      SECONDS5.2 Bash Variables
      SHELL5.2 Bash Variables
      SHELL5.2 Bash Variables
      SHELLOPTS5.2 Bash Variables
      SHELLOPTS5.2 Bash Variables
      SHLVL5.2 Bash Variables
      SHLVL5.2 Bash Variables
      show-all-if-ambiguous8.3.1 Readline Init File Syntax
      show-all-if-unmodified8.3.1 Readline Init File Syntax
      skip-completed-text8.3.1 Readline Init File Syntax
      SECONDS5.2 Bash Variables
      SECONDS5.2 Bash Variables
      SHELL5.2 Bash Variables
      SHELL5.2 Bash Variables
      SHELLOPTS5.2 Bash Variables
      SHELLOPTS5.2 Bash Variables
      SHLVL5.2 Bash Variables
      SHLVL5.2 Bash Variables
      show-all-if-ambiguous8.3.1 Readline Init File Syntax
      show-all-if-unmodified8.3.1 Readline Init File Syntax
      skip-completed-text8.3.1 Readline Init File Syntax

      T
      TEXTDOMAIN3.1.2.5 Locale-Specific Translation
      TEXTDOMAINDIR3.1.2.5 Locale-Specific Translation
      TIMEFORMAT5.2 Bash Variables
      TIMEFORMAT5.2 Bash Variables
      TMOUT5.2 Bash Variables
      TMOUT5.2 Bash Variables
      TMPDIR5.2 Bash Variables
      TMPDIR5.2 Bash Variables
      TIMEFORMAT5.2 Bash Variables
      TIMEFORMAT5.2 Bash Variables
      TMOUT5.2 Bash Variables
      TMOUT5.2 Bash Variables
      TMPDIR5.2 Bash Variables
      TMPDIR5.2 Bash Variables

      U
      UID5.2 Bash Variables
      UID5.2 Bash Variables
      UID5.2 Bash Variables
      UID5.2 Bash Variables

      V
      visible-stats8.3.1 Readline Init File Syntax
      visible-stats8.3.1 Readline Init File Syntax

      Jump to:   !   @@ -15132,20 +15300,20 @@ to permit their use in free software.
      - + - - - - + + + + - +
      [ < ][ > ]   [ << ][ Up ]
      [ < ][ > ]   [ << ][ Up ] [ >> ]         [Top] [Contents][Index][Index] [ ? ]

      D.4 Function Index

      - + - - - - - - + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - + + + + + + - - - - - - - - + + + + + + + + - - - - - - + + + + + + - - - - - - - - + + + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - + + + + + + + +
      Jump to:   A   B @@ -15191,250 +15359,250 @@ to permit their use in free software.
      Index Entry Section

      A
      abort (C-g)8.4.8 Some Miscellaneous Commands
      abort (C-g)8.4.8 Some Miscellaneous Commands
      accept-line (Newline or Return)8.4.2 Commands For Manipulating The History
      accept-line (Newline or Return)8.4.2 Commands For Manipulating The History
      alias-expand-line ()8.4.8 Some Miscellaneous Commands
      alias-expand-line ()8.4.8 Some Miscellaneous Commands
      abort (C-g)8.4.8 Some Miscellaneous Commands
      abort (C-g)8.4.8 Some Miscellaneous Commands
      accept-line (Newline or Return)8.4.2 Commands For Manipulating The History
      accept-line (Newline or Return)8.4.2 Commands For Manipulating The History
      alias-expand-line ()8.4.8 Some Miscellaneous Commands
      alias-expand-line ()8.4.8 Some Miscellaneous Commands

      B
      backward-char (C-b)8.4.1 Commands For Moving
      backward-char (C-b)8.4.1 Commands For Moving
      backward-delete-char (Rubout)8.4.3 Commands For Changing Text
      backward-delete-char (Rubout)8.4.3 Commands For Changing Text
      backward-kill-line (C-x Rubout)8.4.4 Killing And Yanking
      backward-kill-line (C-x Rubout)8.4.4 Killing And Yanking
      backward-kill-word ()8.4.4 Killing And Yanking
      backward-kill-word ()8.4.4 Killing And Yanking
      backward-kill-word (M-DEL)8.4.4 Killing And Yanking
      backward-kill-word (M-DEL)8.4.4 Killing And Yanking
      backward-word (M-b)8.4.1 Commands For Moving
      backward-word (M-b)8.4.1 Commands For Moving
      beginning-of-history (M-&#60;)8.4.2 Commands For Manipulating The History
      beginning-of-history (M-&#60;)8.4.2 Commands For Manipulating The History
      beginning-of-line (C-a)8.4.1 Commands For Moving
      beginning-of-line (C-a)8.4.1 Commands For Moving
      backward-char (C-b)8.4.1 Commands For Moving
      backward-char (C-b)8.4.1 Commands For Moving
      backward-delete-char (Rubout)8.4.3 Commands For Changing Text
      backward-delete-char (Rubout)8.4.3 Commands For Changing Text
      backward-kill-line (C-x Rubout)8.4.4 Killing And Yanking
      backward-kill-line (C-x Rubout)8.4.4 Killing And Yanking
      backward-kill-word ()8.4.4 Killing And Yanking
      backward-kill-word ()8.4.4 Killing And Yanking
      backward-kill-word (M-DEL)8.4.4 Killing And Yanking
      backward-kill-word (M-DEL)8.4.4 Killing And Yanking
      backward-word (M-b)8.4.1 Commands For Moving
      backward-word (M-b)8.4.1 Commands For Moving
      beginning-of-history (M-&#60;)8.4.2 Commands For Manipulating The History
      beginning-of-history (M-&#60;)8.4.2 Commands For Manipulating The History
      beginning-of-line (C-a)8.4.1 Commands For Moving
      beginning-of-line (C-a)8.4.1 Commands For Moving

      C
      call-last-kbd-macro (C-x e)8.4.7 Keyboard Macros
      call-last-kbd-macro (C-x e)8.4.7 Keyboard Macros
      capitalize-word (M-c)8.4.3 Commands For Changing Text
      capitalize-word (M-c)8.4.3 Commands For Changing Text
      character-search (C-])8.4.8 Some Miscellaneous Commands
      character-search (C-])8.4.8 Some Miscellaneous Commands
      character-search-backward (M-C-])8.4.8 Some Miscellaneous Commands
      character-search-backward (M-C-])8.4.8 Some Miscellaneous Commands
      clear-screen (C-l)8.4.1 Commands For Moving
      clear-screen (C-l)8.4.1 Commands For Moving
      complete (TAB)8.4.6 Letting Readline Type For You
      complete (TAB)8.4.6 Letting Readline Type For You
      complete-command (M-!)8.4.6 Letting Readline Type For You
      complete-command (M-!)8.4.6 Letting Readline Type For You
      complete-filename (M-/)8.4.6 Letting Readline Type For You
      complete-filename (M-/)8.4.6 Letting Readline Type For You
      complete-hostname (M-@)8.4.6 Letting Readline Type For You
      complete-hostname (M-@)8.4.6 Letting Readline Type For You
      complete-into-braces (M-{)8.4.6 Letting Readline Type For You
      complete-into-braces (M-{)8.4.6 Letting Readline Type For You
      complete-username (M-~)8.4.6 Letting Readline Type For You
      complete-username (M-~)8.4.6 Letting Readline Type For You
      complete-variable (M-$)8.4.6 Letting Readline Type For You
      complete-variable (M-$)8.4.6 Letting Readline Type For You
      copy-backward-word ()8.4.4 Killing And Yanking
      copy-backward-word ()8.4.4 Killing And Yanking
      copy-forward-word ()8.4.4 Killing And Yanking
      copy-forward-word ()8.4.4 Killing And Yanking
      copy-region-as-kill ()8.4.4 Killing And Yanking
      copy-region-as-kill ()8.4.4 Killing And Yanking
      call-last-kbd-macro (C-x e)8.4.7 Keyboard Macros
      call-last-kbd-macro (C-x e)8.4.7 Keyboard Macros
      capitalize-word (M-c)8.4.3 Commands For Changing Text
      capitalize-word (M-c)8.4.3 Commands For Changing Text
      character-search (C-])8.4.8 Some Miscellaneous Commands
      character-search (C-])8.4.8 Some Miscellaneous Commands
      character-search-backward (M-C-])8.4.8 Some Miscellaneous Commands
      character-search-backward (M-C-])8.4.8 Some Miscellaneous Commands
      clear-screen (C-l)8.4.1 Commands For Moving
      clear-screen (C-l)8.4.1 Commands For Moving
      complete (TAB)8.4.6 Letting Readline Type For You
      complete (TAB)8.4.6 Letting Readline Type For You
      complete-command (M-!)8.4.6 Letting Readline Type For You
      complete-command (M-!)8.4.6 Letting Readline Type For You
      complete-filename (M-/)8.4.6 Letting Readline Type For You
      complete-filename (M-/)8.4.6 Letting Readline Type For You
      complete-hostname (M-@)8.4.6 Letting Readline Type For You
      complete-hostname (M-@)8.4.6 Letting Readline Type For You
      complete-into-braces (M-{)8.4.6 Letting Readline Type For You
      complete-into-braces (M-{)8.4.6 Letting Readline Type For You
      complete-username (M-~)8.4.6 Letting Readline Type For You
      complete-username (M-~)8.4.6 Letting Readline Type For You
      complete-variable (M-$)8.4.6 Letting Readline Type For You
      complete-variable (M-$)8.4.6 Letting Readline Type For You
      copy-backward-word ()8.4.4 Killing And Yanking
      copy-backward-word ()8.4.4 Killing And Yanking
      copy-forward-word ()8.4.4 Killing And Yanking
      copy-forward-word ()8.4.4 Killing And Yanking
      copy-region-as-kill ()8.4.4 Killing And Yanking
      copy-region-as-kill ()8.4.4 Killing And Yanking

      D
      dabbrev-expand ()8.4.6 Letting Readline Type For You
      dabbrev-expand ()8.4.6 Letting Readline Type For You
      delete-char (C-d)8.4.3 Commands For Changing Text
      delete-char (C-d)8.4.3 Commands For Changing Text
      delete-char-or-list ()8.4.6 Letting Readline Type For You
      delete-char-or-list ()8.4.6 Letting Readline Type For You
      delete-horizontal-space ()8.4.4 Killing And Yanking
      delete-horizontal-space ()8.4.4 Killing And Yanking
      digit-argument (M-0, M-1, <small>...</small> M--)8.4.5 Specifying Numeric Arguments
      digit-argument (M-0, M-1, <small>...</small> M--)8.4.5 Specifying Numeric Arguments
      display-shell-version (C-x C-v)8.4.8 Some Miscellaneous Commands
      display-shell-version (C-x C-v)8.4.8 Some Miscellaneous Commands
      do-uppercase-version (M-a, M-b, M-x, <small>...</small>)8.4.8 Some Miscellaneous Commands
      do-uppercase-version (M-a, M-b, M-x, <small>...</small>)8.4.8 Some Miscellaneous Commands
      downcase-word (M-l)8.4.3 Commands For Changing Text
      downcase-word (M-l)8.4.3 Commands For Changing Text
      dump-functions ()8.4.8 Some Miscellaneous Commands
      dump-functions ()8.4.8 Some Miscellaneous Commands
      dump-macros ()8.4.8 Some Miscellaneous Commands
      dump-macros ()8.4.8 Some Miscellaneous Commands
      dump-variables ()8.4.8 Some Miscellaneous Commands
      dump-variables ()8.4.8 Some Miscellaneous Commands
      dynamic-complete-history (M-TAB)8.4.6 Letting Readline Type For You
      dynamic-complete-history (M-TAB)8.4.6 Letting Readline Type For You
      dabbrev-expand ()8.4.6 Letting Readline Type For You
      dabbrev-expand ()8.4.6 Letting Readline Type For You
      delete-char (C-d)8.4.3 Commands For Changing Text
      delete-char (C-d)8.4.3 Commands For Changing Text
      delete-char-or-list ()8.4.6 Letting Readline Type For You
      delete-char-or-list ()8.4.6 Letting Readline Type For You
      delete-horizontal-space ()8.4.4 Killing And Yanking
      delete-horizontal-space ()8.4.4 Killing And Yanking
      digit-argument (M-0, M-1, <small>...</small> M--)8.4.5 Specifying Numeric Arguments
      digit-argument (M-0, M-1, <small>...</small> M--)8.4.5 Specifying Numeric Arguments
      display-shell-version (C-x C-v)8.4.8 Some Miscellaneous Commands
      display-shell-version (C-x C-v)8.4.8 Some Miscellaneous Commands
      do-uppercase-version (M-a, M-b, M-x, <small>...</small>)8.4.8 Some Miscellaneous Commands
      do-uppercase-version (M-a, M-b, M-x, <small>...</small>)8.4.8 Some Miscellaneous Commands
      downcase-word (M-l)8.4.3 Commands For Changing Text
      downcase-word (M-l)8.4.3 Commands For Changing Text
      dump-functions ()8.4.8 Some Miscellaneous Commands
      dump-functions ()8.4.8 Some Miscellaneous Commands
      dump-macros ()8.4.8 Some Miscellaneous Commands
      dump-macros ()8.4.8 Some Miscellaneous Commands
      dump-variables ()8.4.8 Some Miscellaneous Commands
      dump-variables ()8.4.8 Some Miscellaneous Commands
      dynamic-complete-history (M-TAB)8.4.6 Letting Readline Type For You
      dynamic-complete-history (M-TAB)8.4.6 Letting Readline Type For You

      E
      edit-and-execute-command (C-xC-e)8.4.8 Some Miscellaneous Commands
      edit-and-execute-command (C-xC-e)8.4.8 Some Miscellaneous Commands
      end-kbd-macro (C-x ))8.4.7 Keyboard Macros
      end-kbd-macro (C-x ))8.4.7 Keyboard Macros
      end-of-history (M-&#62;)8.4.2 Commands For Manipulating The History
      end-of-history (M-&#62;)8.4.2 Commands For Manipulating The History
      end-of-line (C-e)8.4.1 Commands For Moving
      end-of-line (C-e)8.4.1 Commands For Moving
      exchange-point-and-mark (C-x C-x)8.4.8 Some Miscellaneous Commands
      exchange-point-and-mark (C-x C-x)8.4.8 Some Miscellaneous Commands
      edit-and-execute-command (C-xC-e)8.4.8 Some Miscellaneous Commands
      edit-and-execute-command (C-xC-e)8.4.8 Some Miscellaneous Commands
      end-kbd-macro (C-x ))8.4.7 Keyboard Macros
      end-kbd-macro (C-x ))8.4.7 Keyboard Macros
      end-of-history (M-&#62;)8.4.2 Commands For Manipulating The History
      end-of-history (M-&#62;)8.4.2 Commands For Manipulating The History
      end-of-line (C-e)8.4.1 Commands For Moving
      end-of-line (C-e)8.4.1 Commands For Moving
      exchange-point-and-mark (C-x C-x)8.4.8 Some Miscellaneous Commands
      exchange-point-and-mark (C-x C-x)8.4.8 Some Miscellaneous Commands

      F
      forward-backward-delete-char ()8.4.3 Commands For Changing Text
      forward-backward-delete-char ()8.4.3 Commands For Changing Text
      forward-char (C-f)8.4.1 Commands For Moving
      forward-char (C-f)8.4.1 Commands For Moving
      forward-search-history (C-s)8.4.2 Commands For Manipulating The History
      forward-search-history (C-s)8.4.2 Commands For Manipulating The History
      forward-word (M-f)8.4.1 Commands For Moving
      forward-word (M-f)8.4.1 Commands For Moving
      forward-backward-delete-char ()8.4.3 Commands For Changing Text
      forward-backward-delete-char ()8.4.3 Commands For Changing Text
      forward-char (C-f)8.4.1 Commands For Moving
      forward-char (C-f)8.4.1 Commands For Moving
      forward-search-history (C-s)8.4.2 Commands For Manipulating The History
      forward-search-history (C-s)8.4.2 Commands For Manipulating The History
      forward-word (M-f)8.4.1 Commands For Moving
      forward-word (M-f)8.4.1 Commands For Moving

      G
      glob-complete-word (M-g)8.4.8 Some Miscellaneous Commands
      glob-complete-word (M-g)8.4.8 Some Miscellaneous Commands
      glob-expand-word (C-x *)8.4.8 Some Miscellaneous Commands
      glob-expand-word (C-x *)8.4.8 Some Miscellaneous Commands
      glob-list-expansions (C-x g)8.4.8 Some Miscellaneous Commands
      glob-list-expansions (C-x g)8.4.8 Some Miscellaneous Commands
      glob-complete-word (M-g)8.4.8 Some Miscellaneous Commands
      glob-complete-word (M-g)8.4.8 Some Miscellaneous Commands
      glob-expand-word (C-x *)8.4.8 Some Miscellaneous Commands
      glob-expand-word (C-x *)8.4.8 Some Miscellaneous Commands
      glob-list-expansions (C-x g)8.4.8 Some Miscellaneous Commands
      glob-list-expansions (C-x g)8.4.8 Some Miscellaneous Commands

      H
      history-and-alias-expand-line ()8.4.8 Some Miscellaneous Commands
      history-and-alias-expand-line ()8.4.8 Some Miscellaneous Commands
      history-expand-line (M-^)8.4.8 Some Miscellaneous Commands
      history-expand-line (M-^)8.4.8 Some Miscellaneous Commands
      history-search-backward ()8.4.2 Commands For Manipulating The History
      history-search-backward ()8.4.2 Commands For Manipulating The History
      history-search-forward ()8.4.2 Commands For Manipulating The History
      history-search-forward ()8.4.2 Commands For Manipulating The History
      history-and-alias-expand-line ()8.4.8 Some Miscellaneous Commands
      history-and-alias-expand-line ()8.4.8 Some Miscellaneous Commands
      history-expand-line (M-^)8.4.8 Some Miscellaneous Commands
      history-expand-line (M-^)8.4.8 Some Miscellaneous Commands
      history-search-backward ()8.4.2 Commands For Manipulating The History
      history-search-backward ()8.4.2 Commands For Manipulating The History
      history-search-forward ()8.4.2 Commands For Manipulating The History
      history-search-forward ()8.4.2 Commands For Manipulating The History

      I
      insert-comment (M-#)8.4.8 Some Miscellaneous Commands
      insert-comment (M-#)8.4.8 Some Miscellaneous Commands
      insert-completions (M-*)8.4.6 Letting Readline Type For You
      insert-completions (M-*)8.4.6 Letting Readline Type For You
      insert-last-argument (M-. or M-_)8.4.8 Some Miscellaneous Commands
      insert-last-argument (M-. or M-_)8.4.8 Some Miscellaneous Commands
      insert-comment (M-#)8.4.8 Some Miscellaneous Commands
      insert-comment (M-#)8.4.8 Some Miscellaneous Commands
      insert-completions (M-*)8.4.6 Letting Readline Type For You
      insert-completions (M-*)8.4.6 Letting Readline Type For You
      insert-last-argument (M-. or M-_)8.4.8 Some Miscellaneous Commands
      insert-last-argument (M-. or M-_)8.4.8 Some Miscellaneous Commands

      K
      kill-line (C-k)8.4.4 Killing And Yanking
      kill-line (C-k)8.4.4 Killing And Yanking
      kill-region ()8.4.4 Killing And Yanking
      kill-region ()8.4.4 Killing And Yanking
      kill-whole-line ()8.4.4 Killing And Yanking
      kill-whole-line ()8.4.4 Killing And Yanking
      kill-word (M-d)8.4.4 Killing And Yanking
      kill-word (M-d)8.4.4 Killing And Yanking
      kill-line (C-k)8.4.4 Killing And Yanking
      kill-line (C-k)8.4.4 Killing And Yanking
      kill-region ()8.4.4 Killing And Yanking
      kill-region ()8.4.4 Killing And Yanking
      kill-whole-line ()8.4.4 Killing And Yanking
      kill-whole-line ()8.4.4 Killing And Yanking
      kill-word (M-d)8.4.4 Killing And Yanking
      kill-word (M-d)8.4.4 Killing And Yanking

      M
      magic-space ()8.4.8 Some Miscellaneous Commands
      magic-space ()8.4.8 Some Miscellaneous Commands
      menu-complete ()8.4.6 Letting Readline Type For You
      menu-complete ()8.4.6 Letting Readline Type For You
      menu-complete-backward ()8.4.6 Letting Readline Type For You
      menu-complete-backward ()8.4.6 Letting Readline Type For You
      magic-space ()8.4.8 Some Miscellaneous Commands
      magic-space ()8.4.8 Some Miscellaneous Commands
      menu-complete ()8.4.6 Letting Readline Type For You
      menu-complete ()8.4.6 Letting Readline Type For You
      menu-complete-backward ()8.4.6 Letting Readline Type For You
      menu-complete-backward ()8.4.6 Letting Readline Type For You

      N
      next-history (C-n)8.4.2 Commands For Manipulating The History
      next-history (C-n)8.4.2 Commands For Manipulating The History
      non-incremental-forward-search-history (M-n)8.4.2 Commands For Manipulating The History
      non-incremental-forward-search-history (M-n)8.4.2 Commands For Manipulating The History
      non-incremental-reverse-search-history (M-p)8.4.2 Commands For Manipulating The History
      non-incremental-reverse-search-history (M-p)8.4.2 Commands For Manipulating The History
      next-history (C-n)8.4.2 Commands For Manipulating The History
      next-history (C-n)8.4.2 Commands For Manipulating The History
      non-incremental-forward-search-history (M-n)8.4.2 Commands For Manipulating The History
      non-incremental-forward-search-history (M-n)8.4.2 Commands For Manipulating The History
      non-incremental-reverse-search-history (M-p)8.4.2 Commands For Manipulating The History
      non-incremental-reverse-search-history (M-p)8.4.2 Commands For Manipulating The History

      O
      operate-and-get-next (C-o)8.4.8 Some Miscellaneous Commands
      operate-and-get-next (C-o)8.4.8 Some Miscellaneous Commands
      overwrite-mode ()8.4.3 Commands For Changing Text
      overwrite-mode ()8.4.3 Commands For Changing Text
      operate-and-get-next (C-o)8.4.8 Some Miscellaneous Commands
      operate-and-get-next (C-o)8.4.8 Some Miscellaneous Commands
      overwrite-mode ()8.4.3 Commands For Changing Text
      overwrite-mode ()8.4.3 Commands For Changing Text

      P
      possible-command-completions (C-x !)8.4.6 Letting Readline Type For You
      possible-command-completions (C-x !)8.4.6 Letting Readline Type For You
      possible-completions (M-?)8.4.6 Letting Readline Type For You
      possible-completions (M-?)8.4.6 Letting Readline Type For You
      possible-filename-completions (C-x /)8.4.6 Letting Readline Type For You
      possible-filename-completions (C-x /)8.4.6 Letting Readline Type For You
      possible-hostname-completions (C-x @)8.4.6 Letting Readline Type For You
      possible-hostname-completions (C-x @)8.4.6 Letting Readline Type For You
      possible-username-completions (C-x ~)8.4.6 Letting Readline Type For You
      possible-username-completions (C-x ~)8.4.6 Letting Readline Type For You
      possible-variable-completions (C-x $)8.4.6 Letting Readline Type For You
      possible-variable-completions (C-x $)8.4.6 Letting Readline Type For You
      prefix-meta (ESC)8.4.8 Some Miscellaneous Commands
      prefix-meta (ESC)8.4.8 Some Miscellaneous Commands
      previous-history (C-p)8.4.2 Commands For Manipulating The History
      previous-history (C-p)8.4.2 Commands For Manipulating The History
      possible-command-completions (C-x !)8.4.6 Letting Readline Type For You
      possible-command-completions (C-x !)8.4.6 Letting Readline Type For You
      possible-completions (M-?)8.4.6 Letting Readline Type For You
      possible-completions (M-?)8.4.6 Letting Readline Type For You
      possible-filename-completions (C-x /)8.4.6 Letting Readline Type For You
      possible-filename-completions (C-x /)8.4.6 Letting Readline Type For You
      possible-hostname-completions (C-x @)8.4.6 Letting Readline Type For You
      possible-hostname-completions (C-x @)8.4.6 Letting Readline Type For You
      possible-username-completions (C-x ~)8.4.6 Letting Readline Type For You
      possible-username-completions (C-x ~)8.4.6 Letting Readline Type For You
      possible-variable-completions (C-x $)8.4.6 Letting Readline Type For You
      possible-variable-completions (C-x $)8.4.6 Letting Readline Type For You
      prefix-meta (ESC)8.4.8 Some Miscellaneous Commands
      prefix-meta (ESC)8.4.8 Some Miscellaneous Commands
      previous-history (C-p)8.4.2 Commands For Manipulating The History
      previous-history (C-p)8.4.2 Commands For Manipulating The History

      Q
      quoted-insert (C-q or C-v)8.4.3 Commands For Changing Text
      quoted-insert (C-q or C-v)8.4.3 Commands For Changing Text
      quoted-insert (C-q or C-v)8.4.3 Commands For Changing Text
      quoted-insert (C-q or C-v)8.4.3 Commands For Changing Text

      R
      re-read-init-file (C-x C-r)8.4.8 Some Miscellaneous Commands
      re-read-init-file (C-x C-r)8.4.8 Some Miscellaneous Commands
      redraw-current-line ()8.4.1 Commands For Moving
      redraw-current-line ()8.4.1 Commands For Moving
      reverse-search-history (C-r)8.4.2 Commands For Manipulating The History
      reverse-search-history (C-r)8.4.2 Commands For Manipulating The History
      revert-line (M-r)8.4.8 Some Miscellaneous Commands
      revert-line (M-r)8.4.8 Some Miscellaneous Commands
      re-read-init-file (C-x C-r)8.4.8 Some Miscellaneous Commands
      re-read-init-file (C-x C-r)8.4.8 Some Miscellaneous Commands
      redraw-current-line ()8.4.1 Commands For Moving
      redraw-current-line ()8.4.1 Commands For Moving
      reverse-search-history (C-r)8.4.2 Commands For Manipulating The History
      reverse-search-history (C-r)8.4.2 Commands For Manipulating The History
      revert-line (M-r)8.4.8 Some Miscellaneous Commands
      revert-line (M-r)8.4.8 Some Miscellaneous Commands

      S
      self-insert (a, b, A, 1, !, <small>...</small>)8.4.3 Commands For Changing Text
      self-insert (a, b, A, 1, !, <small>...</small>)8.4.3 Commands For Changing Text
      set-mark (C-@)8.4.8 Some Miscellaneous Commands
      set-mark (C-@)8.4.8 Some Miscellaneous Commands
      shell-backward-word ()8.4.1 Commands For Moving
      shell-backward-word ()8.4.1 Commands For Moving
      shell-expand-line (M-C-e)8.4.8 Some Miscellaneous Commands
      shell-expand-line (M-C-e)8.4.8 Some Miscellaneous Commands
      shell-forward-word ()8.4.1 Commands For Moving
      shell-forward-word ()8.4.1 Commands For Moving
      shell-kill-word ()8.4.4 Killing And Yanking
      shell-kill-word ()8.4.4 Killing And Yanking
      skip-csi-sequence ()8.4.8 Some Miscellaneous Commands
      skip-csi-sequence ()8.4.8 Some Miscellaneous Commands
      start-kbd-macro (C-x ()8.4.7 Keyboard Macros
      start-kbd-macro (C-x ()8.4.7 Keyboard Macros
      self-insert (a, b, A, 1, !, <small>...</small>)8.4.3 Commands For Changing Text
      self-insert (a, b, A, 1, !, <small>...</small>)8.4.3 Commands For Changing Text
      set-mark (C-@)8.4.8 Some Miscellaneous Commands
      set-mark (C-@)8.4.8 Some Miscellaneous Commands
      shell-backward-word ()8.4.1 Commands For Moving
      shell-backward-word ()8.4.1 Commands For Moving
      shell-expand-line (M-C-e)8.4.8 Some Miscellaneous Commands
      shell-expand-line (M-C-e)8.4.8 Some Miscellaneous Commands
      shell-forward-word ()8.4.1 Commands For Moving
      shell-forward-word ()8.4.1 Commands For Moving
      shell-kill-word ()8.4.4 Killing And Yanking
      shell-kill-word ()8.4.4 Killing And Yanking
      skip-csi-sequence ()8.4.8 Some Miscellaneous Commands
      skip-csi-sequence ()8.4.8 Some Miscellaneous Commands
      start-kbd-macro (C-x ()8.4.7 Keyboard Macros
      start-kbd-macro (C-x ()8.4.7 Keyboard Macros

      T
      tilde-expand (M-&#38;)8.4.8 Some Miscellaneous Commands
      tilde-expand (M-&#38;)8.4.8 Some Miscellaneous Commands
      transpose-chars (C-t)8.4.3 Commands For Changing Text
      transpose-chars (C-t)8.4.3 Commands For Changing Text
      transpose-words (M-t)8.4.3 Commands For Changing Text
      transpose-words (M-t)8.4.3 Commands For Changing Text
      tilde-expand (M-&#38;)8.4.8 Some Miscellaneous Commands
      tilde-expand (M-&#38;)8.4.8 Some Miscellaneous Commands
      transpose-chars (C-t)8.4.3 Commands For Changing Text
      transpose-chars (C-t)8.4.3 Commands For Changing Text
      transpose-words (M-t)8.4.3 Commands For Changing Text
      transpose-words (M-t)8.4.3 Commands For Changing Text

      U
      undo (C-_ or C-x C-u)8.4.8 Some Miscellaneous Commands
      undo (C-_ or C-x C-u)8.4.8 Some Miscellaneous Commands
      universal-argument ()8.4.5 Specifying Numeric Arguments
      universal-argument ()8.4.5 Specifying Numeric Arguments
      unix-filename-rubout ()8.4.4 Killing And Yanking
      unix-filename-rubout ()8.4.4 Killing And Yanking
      unix-line-discard (C-u)8.4.4 Killing And Yanking
      unix-line-discard (C-u)8.4.4 Killing And Yanking
      unix-word-rubout (C-w)8.4.4 Killing And Yanking
      unix-word-rubout (C-w)8.4.4 Killing And Yanking
      upcase-word (M-u)8.4.3 Commands For Changing Text
      upcase-word (M-u)8.4.3 Commands For Changing Text
      undo (C-_ or C-x C-u)8.4.8 Some Miscellaneous Commands
      undo (C-_ or C-x C-u)8.4.8 Some Miscellaneous Commands
      universal-argument ()8.4.5 Specifying Numeric Arguments
      universal-argument ()8.4.5 Specifying Numeric Arguments
      unix-filename-rubout ()8.4.4 Killing And Yanking
      unix-filename-rubout ()8.4.4 Killing And Yanking
      unix-line-discard (C-u)8.4.4 Killing And Yanking
      unix-line-discard (C-u)8.4.4 Killing And Yanking
      unix-word-rubout (C-w)8.4.4 Killing And Yanking
      unix-word-rubout (C-w)8.4.4 Killing And Yanking
      upcase-word (M-u)8.4.3 Commands For Changing Text
      upcase-word (M-u)8.4.3 Commands For Changing Text

      Y
      yank (C-y)8.4.4 Killing And Yanking
      yank (C-y)8.4.4 Killing And Yanking
      yank-last-arg (M-. or M-_)8.4.2 Commands For Manipulating The History
      yank-last-arg (M-. or M-_)8.4.2 Commands For Manipulating The History
      yank-nth-arg (M-C-y)8.4.2 Commands For Manipulating The History
      yank-nth-arg (M-C-y)8.4.2 Commands For Manipulating The History
      yank-pop (M-y)8.4.4 Killing And Yanking
      yank-pop (M-y)8.4.4 Killing And Yanking
      yank (C-y)8.4.4 Killing And Yanking
      yank (C-y)8.4.4 Killing And Yanking
      yank-last-arg (M-. or M-_)8.4.2 Commands For Manipulating The History
      yank-last-arg (M-. or M-_)8.4.2 Commands For Manipulating The History
      yank-nth-arg (M-C-y)8.4.2 Commands For Manipulating The History
      yank-nth-arg (M-C-y)8.4.2 Commands For Manipulating The History
      yank-pop (M-y)8.4.4 Killing And Yanking
      yank-pop (M-y)8.4.4 Killing And Yanking

      Jump to:   A   @@ -15480,20 +15648,20 @@ to permit their use in free software.
      - + - + - + - +
      [ < ]
      [ < ] [ > ]   [ << ][ Up ][ Up ] [ >> ]         [Top] [Contents][Index][Index] [ ? ]

      D.5 Concept Index

      - + - - - - - + + + + + - - - + + + - + - - - - - - + + + + + + @@ -15574,135 +15742,135 @@ to permit their use in free software. - - + + - + - - - - - + + + + + - - - - - - - - - - + + + + + + + + + + - - - + + + - - - - - + + + + + - - - - - + + + + + - + - - + + - + - + - + - - - - - - + + + + + + - + - - - + + + - - + + - + - - - - - + + + + + - + - - - + + + - + - - + + - + - +
      Jump to:   A   B @@ -15543,27 +15711,27 @@ to permit their use in free software.
      Index Entry Section

      A
      alias expansion6.6 Aliases
      arithmetic evaluation6.5 Shell Arithmetic
      arithmetic expansion3.5.5 Arithmetic Expansion
      arithmetic, shell6.5 Shell Arithmetic
      arrays6.7 Arrays
      alias expansion6.6 Aliases
      arithmetic evaluation6.5 Shell Arithmetic
      arithmetic expansion3.5.5 Arithmetic Expansion
      arithmetic, shell6.5 Shell Arithmetic
      arrays6.7 Arrays

      B
      background7.1 Job Control Basics
      Bash configuration10.1 Basic Installation
      Bash installation10.1 Basic Installation
      background7.1 Job Control Basics
      Bash configuration10.1 Basic Installation
      Bash installation10.1 Basic Installation
      Bourne shell3. Basic Shell Features
      brace expansion3.5.1 Brace Expansion
      brace expansion3.5.1 Brace Expansion
      builtin2. Definitions

      C
      command editing8.2.1 Readline Bare Essentials
      command execution3.7.2 Command Search and Execution
      command expansion3.7.1 Simple Command Expansion
      command history9.1 Bash History Facilities
      command search3.7.2 Command Search and Execution
      command substitution3.5.4 Command Substitution
      command editing8.2.1 Readline Bare Essentials
      command execution3.7.2 Command Search and Execution
      command expansion3.7.1 Simple Command Expansion
      command history9.1 Bash History Facilities
      command search3.7.2 Command Search and Execution
      command substitution3.5.4 Command Substitution
      command timing3.2.2 Pipelines
      commands, compound3.2.4 Compound Commands
      commands, conditional3.2.4.2 Conditional Constructs
      commands, shell3.2 Shell Commands
      commands, simple3.2.1 Simple Commands
      comments, shell3.1.3 Comments
      completion builtins8.7 Programmable Completion Builtins
      configuration10.1 Basic Installation
      completion builtins8.7 Programmable Completion Builtins
      configuration10.1 Basic Installation
      control operator2. Definitions
      coprocess3.2.5 Coprocesses

      D
      directory stack6.8 The Directory Stack
      directory stack6.8 The Directory Stack

      E
      editing command lines8.2.1 Readline Bare Essentials
      environment3.7.4 Environment
      evaluation, arithmetic6.5 Shell Arithmetic
      event designators9.3.1 Event Designators
      execution environment3.7.3 Command Execution Environment
      editing command lines8.2.1 Readline Bare Essentials
      environment3.7.4 Environment
      evaluation, arithmetic6.5 Shell Arithmetic
      event designators9.3.1 Event Designators
      execution environment3.7.3 Command Execution Environment
      exit status2. Definitions
      exit status3.7.5 Exit Status
      expansion3.5 Shell Expansions
      expansion, arithmetic3.5.5 Arithmetic Expansion
      expansion, brace3.5.1 Brace Expansion
      expansion, filename3.5.8 Filename Expansion
      expansion, parameter3.5.3 Shell Parameter Expansion
      expansion, pathname3.5.8 Filename Expansion
      expansion, tilde3.5.2 Tilde Expansion
      expressions, arithmetic6.5 Shell Arithmetic
      expressions, conditional6.4 Bash Conditional Expressions
      exit status3.7.5 Exit Status
      expansion3.5 Shell Expansions
      expansion, arithmetic3.5.5 Arithmetic Expansion
      expansion, brace3.5.1 Brace Expansion
      expansion, filename3.5.8 Filename Expansion
      expansion, parameter3.5.3 Shell Parameter Expansion
      expansion, pathname3.5.8 Filename Expansion
      expansion, tilde3.5.2 Tilde Expansion
      expressions, arithmetic6.5 Shell Arithmetic
      expressions, conditional6.4 Bash Conditional Expressions

      F
      field2. Definitions
      filename2. Definitions
      filename expansion3.5.8 Filename Expansion
      foreground7.1 Job Control Basics
      functions, shell3.3 Shell Functions
      filename expansion3.5.8 Filename Expansion
      foreground7.1 Job Control Basics
      functions, shell3.3 Shell Functions

      H
      history builtins9.2 Bash History Builtins
      history events9.3.1 Event Designators
      history expansion9.3 History Expansion
      history list9.1 Bash History Facilities
      History, how to use8.7 Programmable Completion Builtins
      history builtins9.2 Bash History Builtins
      history events9.3.1 Event Designators
      history expansion9.3 History Expansion
      history list9.1 Bash History Facilities
      History, how to use8.7 Programmable Completion Builtins

      I
      identifier2. Definitions
      initialization file, readline8.3 Readline Init File
      installation10.1 Basic Installation
      interaction, readline8.2 Readline Interaction
      interactive shell6.1 Invoking Bash
      interactive shell6.3 Interactive Shells
      initialization file, readline8.3 Readline Init File
      installation10.1 Basic Installation
      interaction, readline8.2 Readline Interaction
      interactive shell6.1 Invoking Bash
      interactive shell6.3 Interactive Shells
      internationalization3.1.2.5 Locale-Specific Translation

      J
      job2. Definitions
      job control2. Definitions
      job control7.1 Job Control Basics
      job control7.1 Job Control Basics

      K
      kill ring8.2.3 Readline Killing Commands
      killing text8.2.3 Readline Killing Commands
      kill ring8.2.3 Readline Killing Commands
      killing text8.2.3 Readline Killing Commands

      L
      localization3.1.2.5 Locale-Specific Translation
      login shell6.1 Invoking Bash
      login shell6.1 Invoking Bash

      M
      matching, pattern3.5.8.1 Pattern Matching
      matching, pattern3.5.8.1 Pattern Matching
      metacharacter2. Definitions

      N
      name2. Definitions
      native languages3.1.2.5 Locale-Specific Translation
      notation, readline8.2.1 Readline Bare Essentials
      notation, readline8.2.1 Readline Bare Essentials

      O
      operator, shell2. Definitions

      P
      parameter expansion3.5.3 Shell Parameter Expansion
      parameters3.4 Shell Parameters
      parameters, positional3.4.1 Positional Parameters
      parameters, special3.4.2 Special Parameters
      pathname expansion3.5.8 Filename Expansion
      pattern matching3.5.8.1 Pattern Matching
      parameter expansion3.5.3 Shell Parameter Expansion
      parameters3.4 Shell Parameters
      parameters, positional3.4.1 Positional Parameters
      parameters, special3.4.2 Special Parameters
      pathname expansion3.5.8 Filename Expansion
      pattern matching3.5.8.1 Pattern Matching
      pipeline3.2.2 Pipelines
      POSIX2. Definitions
      POSIX Mode6.11 Bash POSIX Mode
      POSIX Mode6.11 Bash POSIX Mode
      process group2. Definitions
      process group ID2. Definitions
      process substitution3.5.6 Process Substitution
      programmable completion8.6 Programmable Completion
      prompting6.9 Controlling the Prompt
      process substitution3.5.6 Process Substitution
      programmable completion8.6 Programmable Completion
      prompting6.9 Controlling the Prompt

      Q
      quoting3.1.2 Quoting
      quoting, ANSI3.1.2.4 ANSI-C Quoting

      R
      Readline, how to use7.3 Job Control Variables
      redirection3.6 Redirections
      Readline, how to use7.3 Job Control Variables
      redirection3.6 Redirections
      reserved word2. Definitions
      restricted shell6.10 The Restricted Shell
      restricted shell6.10 The Restricted Shell
      return status2. Definitions

      S
      shell arithmetic6.5 Shell Arithmetic
      shell function3.3 Shell Functions
      shell script3.8 Shell Scripts
      shell variable3.4 Shell Parameters
      shell, interactive6.3 Interactive Shells
      shell arithmetic6.5 Shell Arithmetic
      shell function3.3 Shell Functions
      shell script3.8 Shell Scripts
      shell variable3.4 Shell Parameters
      shell, interactive6.3 Interactive Shells
      signal2. Definitions
      signal handling3.7.6 Signals
      signal handling3.7.6 Signals
      special builtin2. Definitions
      special builtin4.4 Special Builtins
      startup files6.2 Bash Startup Files
      suspending jobs7.1 Job Control Basics
      special builtin4.4 Special Builtins
      startup files6.2 Bash Startup Files
      suspending jobs7.1 Job Control Basics

      T
      tilde expansion3.5.2 Tilde Expansion
      tilde expansion3.5.2 Tilde Expansion
      token2. Definitions
      translation, native languages3.1.2.5 Locale-Specific Translation

      V
      variable, shell3.4 Shell Parameters
      variables, readline8.3.1 Readline Init File Syntax
      variable, shell3.4 Shell Parameters
      variables, readline8.3.1 Readline Init File Syntax

      W
      word2. Definitions
      word splitting3.5.7 Word Splitting
      word splitting3.5.7 Word Splitting

      Y
      yanking text8.2.3 Readline Killing Commands
      yanking text8.2.3 Readline Killing Commands

      Jump to:   A   @@ -15755,7 +15923,7 @@ to permit their use in free software. - +
      [Top] [Contents][Index][Index] [ ? ]

      Table of Contents

      @@ -15816,276 +15984,278 @@ to permit their use in free software. 3.2.5 Coprocesses
      +3.2.6 GNU Parallel +
      -3.3 Shell Functions +3.3 Shell Functions
      -3.4 Shell Parameters +3.4 Shell Parameters
      -3.5 Shell Expansions +3.5 Shell Expansions
      -3.6 Redirections +3.6 Redirections
      -3.7 Executing Commands +3.7 Executing Commands
      -3.8 Shell Scripts +3.8 Shell Scripts
      -4. Shell Builtin Commands +4. Shell Builtin Commands
      -5. Shell Variables +5. Shell Variables
      -6. Bash Features +6. Bash Features
      -7. Job Control +7. Job Control
      -8. Command Line Editing +8. Command Line Editing
      -9. Using History Interactively +9. Using History Interactively
      -10. Installing Bash +10. Installing Bash
      -A. Reporting Bugs +A. Reporting Bugs
      -B. Major Differences From The Bourne Shell +B. Major Differences From The Bourne Shell
      -C. GNU Free Documentation License +C. GNU Free Documentation License
      -D. Indexes +D. Indexes
      @@ -16094,7 +16264,7 @@ to permit their use in free software. - +
      [Top] [Contents][Index][Index] [ ? ]

      Short Table of Contents

      @@ -16105,27 +16275,27 @@ to permit their use in free software.
      3. Basic Shell Features
      -4. Shell Builtin Commands +4. Shell Builtin Commands
      -5. Shell Variables +5. Shell Variables
      -6. Bash Features +6. Bash Features
      -7. Job Control +7. Job Control
      -8. Command Line Editing +8. Command Line Editing
      -9. Using History Interactively +9. Using History Interactively
      -10. Installing Bash +10. Installing Bash
      -A. Reporting Bugs +A. Reporting Bugs
      -B. Major Differences From The Bourne Shell +B. Major Differences From The Bourne Shell
      -C. GNU Free Documentation License +C. GNU Free Documentation License
      -D. Indexes +D. Indexes
      @@ -16134,11 +16304,11 @@ to permit their use in free software. - +
      [Top] [Contents][Index][Index] [ ? ]

      About this document

      -This document was generated by Chet Ramey on May, 20 2010 +This document was generated by Chet Ramey on June, 1 2010 using texi2html

      @@ -16300,7 +16470,7 @@ the following structure:
      This document was generated -by Chet Ramey on May, 20 2010 +by Chet Ramey on June, 1 2010 using texi2html diff --git a/doc/bashref.info b/doc/bashref.info index a08a73dc7..ec4dabbb0 100644 --- a/doc/bashref.info +++ b/doc/bashref.info @@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 4.13 from /Users/chet/src/bash/src/doc/bashref.texi. This text is a brief description of the features that are present in -the Bash shell (version 4.1, 17 April 2010). +the Bash shell (version 4.1, 30 May 2010). - This is Edition 4.1, last updated 17 April 2010, of `The GNU Bash + This is Edition 4.1, last updated 30 May 2010, of `The GNU Bash Reference Manual', for `Bash', Version 4.1. Copyright (C) 1988-2010 Free Software Foundation, Inc. @@ -38,9 +38,9 @@ Bash Features ************* This text is a brief description of the features that are present in -the Bash shell (version 4.1, 17 April 2010). +the Bash shell (version 4.1, 30 May 2010). - This is Edition 4.1, last updated 17 April 2010, of `The GNU Bash + This is Edition 4.1, last updated 30 May 2010, of `The GNU Bash Reference Manual', for `Bash', Version 4.1. Bash contains features that appear in other popular shells, and some @@ -477,6 +477,14 @@ decoded as follows: the eight-bit character whose value is the hexadecimal value HH (one or two hex digits) +`\uHHHH' + the Unicode (ISO/IEC 10646) character whose value is the + hexadecimal value HHHH (one to four hex digits) + +`\UHHHHHHHH' + the Unicode (ISO/IEC 10646) character whose value is the + hexadecimal value HHHHHHHH (one to eight hex digits) + `\cX' a control-X character @@ -539,6 +547,7 @@ construct, or in some other grouping. * Lists:: How to execute commands sequentially. * Compound Commands:: Shell commands for control flow. * Coprocesses:: Two-way communication between commands. +* GNU Parallel:: Running commands in parallel.  File: bashref.info, Node: Simple Commands, Next: Pipelines, Up: Shell Commands @@ -589,6 +598,12 @@ The use of `time' as a reserved word permits the timing of shell builtins, shell functions, and pipelines. An external `time' command cannot time these easily. + When the shell is in POSIX mode (*note Bash POSIX Mode::), `time' +may be followed by a newline. In this case, the shell displays the +total user and system time consumed by the shell and its children. The +`TIMEFORMAT' variable may be used to specify the format of the time +information. + If the pipeline is not executed asynchronously (*note Lists::), the shell waits for all commands in the pipeline to complete. @@ -948,7 +963,7 @@ they are not separated from the LIST by whitespace. LIST.  -File: bashref.info, Node: Coprocesses, Prev: Compound Commands, Up: Shell Commands +File: bashref.info, Node: Coprocesses, Next: GNU Parallel, Prev: Compound Commands, Up: Shell Commands 3.2.5 Coprocesses ----------------- @@ -983,6 +998,65 @@ command may be used to wait for the coprocess to terminate. The return status of a coprocess is the exit status of COMMAND. + +File: bashref.info, Node: GNU Parallel, Prev: Coprocesses, Up: Shell Commands + +3.2.6 GNU Parallel +------------------ + +GNU Parallel, as its name suggests, can be used to build and run +commands in parallel. You may run the same command with different +arguments, whether they are filenames, usernames, hostnames, or lines +read from files. + + For a complete description, refer to the GNU Parallel documentation. +A few examples should provide a brief introduction to its use. + + For example, it is easy to prefix each line in a text file with a +specified string: + cat file | parallel -k echo prefix_string + The `-k' option is required to preserve the lines' order. + + Similarly, you can append a specified string to each line in a text +file: + cat file | parallel -k echo {} append_string + + You can use Parallel to move files from the current directory when +the number of files is too large to process with one `mv' invocation: + ls | parallel mv {} destdir + + As you can see, the {} is replaced with each line read from standard +input. This will run as many `mv' commands as there are files in the +current directory. You can emulate a parallel `xargs' by adding the +`-X' option: + ls | parallel -X mv {} destdir + + GNU Parallel can replace certain common idioms that operate on lines +read from a file (in this case, filenames): + for x in $(cat list); do + do-something1 $x config-$x + do-something2 < $x + done | process-output + +with a more compact syntax reminiscent of lambdas: + cat list | parallel "do-something1 {} config-{} ; do-something2 < {}" | process-output + + Parallel provides a built-in mechanism to remove filename +extensions, which lends itself to batch file transformations or +renaming: + ls *.gz | parallel -j+0 "zcat {} | bzip2 >{.}.bz2 && rm {}" + This will recompress all files in the current directory with names +ending in .gz using bzip2, running one job per CPU (-j+0) in parallel. + + If a command generates output, you may want to preserve the input +order in the output. For instance, the following command + { echo foss.org.my ; echo debian.org; echo freenetproject.org; } | parallel traceroute + will display as output the traceroute invocation that finishes +first. Using the `-k' option, as we saw above + { echo foss.org.my ; echo debian.org; echo freenetproject.org; } | parallel -k traceroute + will ensure that the output of `traceroute foss.org.my' is displayed +first. +  File: bashref.info, Node: Shell Functions, Next: Shell Parameters, Prev: Shell Commands, Up: Basic Shell Features @@ -1043,6 +1117,10 @@ is not inherited unless the `-o errtrace' shell option has been enabled. *Note Bourne Shell Builtins::, for the description of the `trap' builtin. + The `FUNCNEST' variable, if set to a numeric value greater than 0, +defines a maximum function nesting level. Function invocations that +exceed the limit cause the entire command to abort. + If the builtin command `return' is executed in a function, the function completes and execution resumes with the next command after the function call. Any command associated with the `RETURN' trap is @@ -2945,9 +3023,14 @@ POSIX standard. the function name and attributes are printed. If the `extdebug' shell option is enabled using `shopt' (*note The Shopt Builtin::), the source file name and line number where the function is defined - are displayed as well. `-F' implies `-f'. The following options - can be used to restrict output to variables with the specified - attributes or to give variables attributes: + are displayed as well. `-F' implies `-f'. + + The `-g' option forces variables to be created or modified at the + global scope, even when \fBdeclare\fP is executed in a shell + function. It is ignored in all other cases. + + The following options can be used to restrict output to variables + with the specified attributes or to give variables attributes: `-a' Each NAME is an indexed array variable (*note Arrays::). @@ -2990,8 +3073,8 @@ POSIX standard. exceptions that `+a' may not be used to destroy an array variable and `+r' will not remove the readonly attribute. When used in a function, `declare' makes each NAME local, as with the `local' - command. If a variable name is followed by =VALUE, the value of - the variable is set to VALUE. + command, unless the `-g' option is used. If a variable name is + followed by =VALUE, the value of the variable is set to VALUE. The return status is zero unless an invalid option is encountered, an attempt is made to define a function using `-f foo=bar', an @@ -3055,6 +3138,14 @@ POSIX standard. the eight-bit character whose value is the hexadecimal value HH (one or two hex digits) + `\uHHHH' + the Unicode (ISO/IEC 10646) character whose value is the + hexadecimal value HHHH (one to four hex digits) + + `\UHHHHHHHH' + the Unicode (ISO/IEC 10646) character whose value is the + hexadecimal value HHHHHHHH (one to eight hex digits) + `enable' enable [-a] [-dnps] [-f FILENAME] [NAME ...] Enable and disable builtin shell commands. Disabling a builtin @@ -3159,9 +3250,9 @@ POSIX standard. If `-C' is specified without `-c', the default quantum is 5000. When CALLBACK is evaluated, it is supplied the index of the next - array element to be assigned as an additional argument. CALLBACK - is evaluated after the line is read but before the array element - is assigned. + array element to be assigned and the line to be assigned to that + element as additional arguments. CALLBACK is evaluated after the + line is read but before the array element is assigned. If not supplied with an explicit origin, `mapfile' will clear ARRAY before assigning to it. @@ -3173,27 +3264,42 @@ POSIX standard. `printf' printf [-v VAR] FORMAT [ARGUMENTS] Write the formatted ARGUMENTS to the standard output under the - control of the FORMAT. The FORMAT 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 ARGUMENT. In addition to the standard `printf(1)' - formats, `%b' causes `printf' to expand backslash escape sequences - in the corresponding ARGUMENT, (except that `\c' terminates - output, backslashes in `\'', `\"', and `\?' are not removed, and - octal escapes beginning with `\0' may contain up to four digits), - and `%q' causes `printf' to output the corresponding ARGUMENT in a - format that can be reused as shell input. + control of the FORMAT. The `-v' option causes the output to be + assigned to the variable VAR rather than being printed to the + standard output. + + The FORMAT 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 ARGUMENT. In addition to + the standard `printf(1)' formats, `printf' interprets the + following extensions: + + `%b' + causes `printf' to expand backslash escape sequences in the + corresponding ARGUMENT, (except that `\c' terminates output, + backslashes in `\'', `\"', and `\?' are not removed, and + octal escapes beginning with `\0' may contain up to four + digits). + + `%q' + causes `printf' to output the corresponding ARGUMENT in a + format that can be reused as shell input. + + `%(DATEFMT)T' + causes `printf' to output the date-time string resulting from + using DATEFMT as a format string for `strftime'(3). The + corresponding ARGUMENT is an integer representing the number + of seconds since the epoch. Two special argument values may + be used: -1 represents the current time, and -2 represents + the time the shell was invoked. Arguments to non-string format specifiers are treated as C language constants, except that a leading plus or minus sign is allowed, and if the leading character is a single or double quote, the value is the ASCII value of the following character. - The `-v' option causes the output to be assigned to the variable - VAR rather than being printed to the standard output. - The FORMAT is reused as necessary to consume all of the ARGUMENTS. If the FORMAT requires more ARGUMENTS than are supplied, the extra format specifications behave as if a zero value or null string, as @@ -4328,6 +4434,11 @@ Variables::). effect and return an error status. If `FUNCNAME' is unset, it loses its special properties, even if it is subsequently reset. +`FUNCNEST' + 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. + `GLOBIGNORE' A colon-separated list of patterns defining the set of filenames to be ignored by filename expansion. If a filename matched by a @@ -5170,10 +5281,14 @@ link itself. does not. `-o OPTNAME' - True if shell option OPTNAME is enabled. The list of options + True if the shell option OPTNAME is enabled. The list of options appears in the description of the `-o' option to the `set' builtin (*note The Set Builtin::). +`-v VARNAME' + True if the shell variable VARNAME is set (has been assigned a + value). + `-z STRING' True if the length of STRING is zero. @@ -5761,116 +5876,131 @@ startup files. 13. Non-interactive shells exit if a syntax error in an arithmetic expansion results in an invalid expression. - 14. Redirection operators do not perform filename expansion on the word + 14. Non-interactive shells exit if there is a syntax error in a script + read with the `.' or `source' builtins, or in a string processed by + the `eval' builtin. + + 15. Redirection operators do not perform filename expansion on the word in the redirection unless the shell is interactive. - 15. Redirection operators do not perform word splitting on the word in + 16. Redirection operators do not perform word splitting on the word in the redirection. - 16. Function names must be valid shell `name's. That is, they may not + 17. Function names must be valid shell `name's. That is, they may not contain characters other than letters, digits, and underscores, and may not start with a digit. Declaring a function with an invalid name causes a fatal syntax error in non-interactive shells. - 17. POSIX special builtins are found before shell functions during + 18. POSIX special builtins are found before shell functions during command lookup. - 18. If a POSIX special builtin returns an error status, a + 19. The `time' reserved word may be used by itself as a command. When + used in this way, it displays timing statistics for the shell and + its completed children. The `TIMEFORMAT' variable controls the + format of the timing information. + + 20. When parsing and expanding a ${...} expansion that appears within + double quotes, single quotes are no longer special and cannot be + used to quote a closing brace or other special character, unless + the operator is one of those defined to perform pattern removal. + In this case, they do not have to appear as matched pairs. + + 21. If a POSIX special builtin returns an error status, a non-interactive shell exits. The fatal errors are those listed in the POSIX standard, and include things like passing incorrect options, redirection errors, variable assignment errors for assignments preceding the command name, and so on. - 19. If `CDPATH' is set, the `cd' builtin will not implicitly append + 22. If `CDPATH' is set, the `cd' builtin will not implicitly append the current directory to it. This means that `cd' will fail if no valid directory name can be constructed from any of the entries in `$CDPATH', even if the a directory with the same name as the name given as an argument to `cd' exists in the current directory. - 20. A non-interactive shell exits with an error status if a variable + 23. A non-interactive shell exits with an error status if a variable assignment error occurs when no command name follows the assignment statements. A variable assignment error occurs, for example, when trying to assign a value to a readonly variable. - 21. A non-interactive shell exits with an error status if the iteration + 24. A non-interactive shell exits with an error status if the iteration variable in a `for' statement or the selection variable in a `select' statement is a readonly variable. - 22. Process substitution is not available. + 25. Process substitution is not available. - 23. Assignment statements preceding POSIX special builtins persist in + 26. Assignment statements preceding POSIX special builtins persist in the shell environment after the builtin completes. - 24. Assignment statements preceding shell function calls persist in the + 27. Assignment statements preceding shell function calls persist in the shell environment after the function returns, as if a POSIX special builtin command had been executed. - 25. The `export' and `readonly' builtin commands display their output + 28. The `export' and `readonly' builtin commands display their output in the format required by POSIX. - 26. The `trap' builtin displays signal names without the leading `SIG'. + 29. The `trap' builtin displays signal names without the leading `SIG'. - 27. The `trap' builtin doesn't check the first argument for a possible + 30. The `trap' builtin doesn't check the first argument for a possible signal specification and revert the signal handling to the original disposition if it is, unless that argument consists solely of digits and is a valid signal number. If users want to reset the handler for a given signal to the original disposition, they should use `-' as the first argument. - 28. The `.' and `source' builtins do not search the current directory + 31. The `.' and `source' builtins do not search the current directory for the filename argument if it is not found by searching `PATH'. - 29. Subshells spawned to execute command substitutions inherit the + 32. Subshells spawned to execute command substitutions inherit the value of the `-e' option from the parent shell. When not in POSIX mode, Bash clears the `-e' option in such subshells. - 30. Alias expansion is always enabled, even in non-interactive shells. + 33. Alias expansion is always enabled, even in non-interactive shells. - 31. When the `alias' builtin displays alias definitions, it does not + 34. When the `alias' builtin displays alias definitions, it does not display them with a leading `alias ' unless the `-p' option is supplied. - 32. When the `set' builtin is invoked without options, it does not + 35. When the `set' builtin is invoked without options, it does not display shell function names and definitions. - 33. When the `set' builtin is invoked without options, it displays + 36. When the `set' builtin is invoked without options, it displays variable values without quotes, unless they contain shell metacharacters, even if the result contains nonprinting characters. - 34. When the `cd' builtin is invoked in LOGICAL mode, and the pathname + 37. When the `cd' builtin is invoked in LOGICAL mode, and the pathname constructed from `$PWD' and the directory name supplied as an argument does not refer to an existing directory, `cd' will fail instead of falling back to PHYSICAL mode. - 35. When the `pwd' builtin is supplied the `-P' option, it resets + 38. When the `pwd' builtin is supplied the `-P' option, it resets `$PWD' to a pathname containing no symlinks. - 36. The `pwd' builtin verifies that the value it prints is the same as + 39. The `pwd' builtin verifies that the value it prints is the same as the current directory, even if it is not asked to check the file system with the `-P' option. - 37. When listing the history, the `fc' builtin does not include an + 40. When listing the history, the `fc' builtin does not include an indication of whether or not a history entry has been modified. - 38. The default editor used by `fc' is `ed'. + 41. The default editor used by `fc' is `ed'. - 39. The `type' and `command' builtins will not report a non-executable + 42. The `type' and `command' builtins will not report a non-executable file as having been found, though the shell will attempt to execute such a file if it is the only so-named file found in `$PATH'. - 40. The `vi' editing mode will invoke the `vi' editor directly when + 43. The `vi' editing mode will invoke the `vi' editor directly when the `v' command is run, instead of checking `$VISUAL' and `$EDITOR'. - 41. When the `xpg_echo' option is enabled, Bash does not attempt to + 44. When the `xpg_echo' option is enabled, Bash does not attempt to interpret any arguments to `echo' as options. Each argument is displayed, after escape characters are converted. - 42. The `ulimit' builtin uses a block size of 512 bytes for the `-c' + 45. The `ulimit' builtin uses a block size of 512 bytes for the `-c' and `-f' options. - 43. The arrival of `SIGCHLD' when a trap is set on `SIGCHLD' does not + 46. The arrival of `SIGCHLD' when a trap is set on `SIGCHLD' does not interrupt the `wait' builtin and cause it to return immediately. The trap command is run once for each child that exits. @@ -6507,6 +6637,12 @@ Variable Settings completion in a case-insensitive fashion. The default value is `off'. + `completion-map-case' + If set to `on', and COMPLETION-IGNORE-CASE is enabled, + Readline treats hyphens (`-') and underscores (`_') as + equivalent when performing case-insensitive filename matching + and completion. + `completion-prefix-display-length' The length in characters of the common prefix of a list of possible completions that is displayed without modification. @@ -9714,8 +9850,8 @@ D.1 Index of Shell Builtin Commands (line 7) * disown: Job Control Builtins. (line 83) -* echo: Bash Builtins. (line 221) -* enable: Bash Builtins. (line 273) +* echo: Bash Builtins. (line 226) +* enable: Bash Builtins. (line 286) * eval: Bourne Shell Builtins. (line 63) * exec: Bourne Shell Builtins. @@ -9732,26 +9868,26 @@ D.1 Index of Shell Builtin Commands (line 103) * hash: Bourne Shell Builtins. (line 145) -* help: Bash Builtins. (line 301) +* help: Bash Builtins. (line 314) * history: Bash History Builtins. (line 39) * jobs: Job Control Builtins. (line 25) * kill: Job Control Builtins. (line 57) -* let: Bash Builtins. (line 321) -* local: Bash Builtins. (line 328) -* logout: Bash Builtins. (line 338) -* mapfile: Bash Builtins. (line 342) +* let: Bash Builtins. (line 334) +* local: Bash Builtins. (line 341) +* logout: Bash Builtins. (line 351) +* mapfile: Bash Builtins. (line 355) * popd: Directory Stack Builtins. (line 37) -* printf: Bash Builtins. (line 388) +* printf: Bash Builtins. (line 401) * pushd: Directory Stack Builtins. (line 58) * pwd: Bourne Shell Builtins. (line 164) -* read: Bash Builtins. (line 418) -* readarray: Bash Builtins. (line 498) +* read: Bash Builtins. (line 446) +* readarray: Bash Builtins. (line 526) * readonly: Bourne Shell Builtins. (line 173) * return: Bourne Shell Builtins. @@ -9760,7 +9896,7 @@ D.1 Index of Shell Builtin Commands * shift: Bourne Shell Builtins. (line 202) * shopt: The Shopt Builtin. (line 9) -* source: Bash Builtins. (line 506) +* source: Bash Builtins. (line 534) * suspend: Job Control Builtins. (line 94) * test: Bourne Shell Builtins. @@ -9769,12 +9905,12 @@ D.1 Index of Shell Builtin Commands (line 282) * trap: Bourne Shell Builtins. (line 287) -* type: Bash Builtins. (line 510) -* typeset: Bash Builtins. (line 541) -* ulimit: Bash Builtins. (line 547) +* type: Bash Builtins. (line 538) +* typeset: Bash Builtins. (line 569) +* ulimit: Bash Builtins. (line 575) * umask: Bourne Shell Builtins. (line 333) -* unalias: Bash Builtins. (line 636) +* unalias: Bash Builtins. (line 664) * unset: Bourne Shell Builtins. (line 350) * wait: Job Control Builtins. @@ -9879,133 +10015,136 @@ D.3 Parameter and Variable Index (line 55) * completion-ignore-case: Readline Init File Syntax. (line 62) -* completion-prefix-display-length: Readline Init File Syntax. +* completion-map-case: Readline Init File Syntax. (line 67) +* completion-prefix-display-length: Readline Init File Syntax. + (line 73) * completion-query-items: Readline Init File Syntax. - (line 74) + (line 80) * COMPREPLY: Bash Variables. (line 193) * convert-meta: Readline Init File Syntax. - (line 84) + (line 90) * COPROC: Bash Variables. (line 198) * DIRSTACK: Bash Variables. (line 202) * disable-completion: Readline Init File Syntax. - (line 90) + (line 96) * editing-mode: Readline Init File Syntax. - (line 95) + (line 101) * EMACS: Bash Variables. (line 212) * enable-keypad: Readline Init File Syntax. - (line 106) + (line 112) * ENV: Bash Variables. (line 217) * EUID: Bash Variables. (line 221) * expand-tilde: Readline Init File Syntax. - (line 117) + (line 123) * FCEDIT: Bash Variables. (line 225) * FIGNORE: Bash Variables. (line 229) * FUNCNAME: Bash Variables. (line 235) -* GLOBIGNORE: Bash Variables. (line 244) -* GROUPS: Bash Variables. (line 250) -* histchars: Bash Variables. (line 256) -* HISTCMD: Bash Variables. (line 271) -* HISTCONTROL: Bash Variables. (line 276) -* HISTFILE: Bash Variables. (line 292) -* HISTFILESIZE: Bash Variables. (line 296) -* HISTIGNORE: Bash Variables. (line 304) +* FUNCNEST: Bash Variables. (line 244) +* GLOBIGNORE: Bash Variables. (line 249) +* GROUPS: Bash Variables. (line 255) +* histchars: Bash Variables. (line 261) +* HISTCMD: Bash Variables. (line 276) +* HISTCONTROL: Bash Variables. (line 281) +* HISTFILE: Bash Variables. (line 297) +* HISTFILESIZE: Bash Variables. (line 301) +* HISTIGNORE: Bash Variables. (line 309) * history-preserve-point: Readline Init File Syntax. - (line 121) -* history-size: Readline Init File Syntax. (line 127) -* HISTSIZE: Bash Variables. (line 323) -* HISTTIMEFORMAT: Bash Variables. (line 327) +* history-size: Readline Init File Syntax. + (line 133) +* HISTSIZE: Bash Variables. (line 328) +* HISTTIMEFORMAT: Bash Variables. (line 332) * HOME: Bourne Shell Variables. (line 13) * horizontal-scroll-mode: Readline Init File Syntax. - (line 132) -* HOSTFILE: Bash Variables. (line 336) -* HOSTNAME: Bash Variables. (line 347) -* HOSTTYPE: Bash Variables. (line 350) + (line 138) +* HOSTFILE: Bash Variables. (line 341) +* HOSTNAME: Bash Variables. (line 352) +* HOSTTYPE: Bash Variables. (line 355) * IFS: Bourne Shell Variables. (line 18) -* IGNOREEOF: Bash Variables. (line 353) +* IGNOREEOF: Bash Variables. (line 358) * input-meta: Readline Init File Syntax. - (line 139) -* INPUTRC: Bash Variables. (line 363) + (line 145) +* INPUTRC: Bash Variables. (line 368) * isearch-terminators: Readline Init File Syntax. - (line 146) + (line 152) * keymap: Readline Init File Syntax. - (line 153) -* LANG: Bash Variables. (line 367) -* LC_ALL: Bash Variables. (line 371) -* LC_COLLATE: Bash Variables. (line 375) -* LC_CTYPE: Bash Variables. (line 382) + (line 159) +* LANG: Bash Variables. (line 372) +* LC_ALL: Bash Variables. (line 376) +* LC_COLLATE: Bash Variables. (line 380) +* LC_CTYPE: Bash Variables. (line 387) * LC_MESSAGES <1>: Locale Translation. (line 11) -* LC_MESSAGES: Bash Variables. (line 387) -* LC_NUMERIC: Bash Variables. (line 391) -* LINENO: Bash Variables. (line 395) -* LINES: Bash Variables. (line 399) -* MACHTYPE: Bash Variables. (line 404) +* LC_MESSAGES: Bash Variables. (line 392) +* LC_NUMERIC: Bash Variables. (line 396) +* LINENO: Bash Variables. (line 400) +* LINES: Bash Variables. (line 404) +* MACHTYPE: Bash Variables. (line 409) * MAIL: Bourne Shell Variables. (line 22) -* MAILCHECK: Bash Variables. (line 408) +* MAILCHECK: Bash Variables. (line 413) * MAILPATH: Bourne Shell Variables. (line 27) -* MAPFILE: Bash Variables. (line 416) +* MAPFILE: Bash Variables. (line 421) * mark-modified-lines: Readline Init File Syntax. - (line 166) + (line 172) * mark-symlinked-directories: Readline Init File Syntax. - (line 171) + (line 177) * match-hidden-files: Readline Init File Syntax. - (line 176) + (line 182) * meta-flag: Readline Init File Syntax. - (line 139) -* OLDPWD: Bash Variables. (line 420) + (line 145) +* OLDPWD: Bash Variables. (line 425) * OPTARG: Bourne Shell Variables. (line 34) -* OPTERR: Bash Variables. (line 423) +* OPTERR: Bash Variables. (line 428) * OPTIND: Bourne Shell Variables. (line 38) -* OSTYPE: Bash Variables. (line 427) +* OSTYPE: Bash Variables. (line 432) * output-meta: Readline Init File Syntax. - (line 183) + (line 189) * page-completions: Readline Init File Syntax. - (line 188) + (line 194) * PATH: Bourne Shell Variables. (line 42) -* PIPESTATUS: Bash Variables. (line 430) -* POSIXLY_CORRECT: Bash Variables. (line 435) -* PPID: Bash Variables. (line 444) -* PROMPT_COMMAND: Bash Variables. (line 448) -* PROMPT_DIRTRIM: Bash Variables. (line 452) +* PIPESTATUS: Bash Variables. (line 435) +* POSIXLY_CORRECT: Bash Variables. (line 440) +* PPID: Bash Variables. (line 449) +* PROMPT_COMMAND: Bash Variables. (line 453) +* PROMPT_DIRTRIM: Bash Variables. (line 457) * PS1: Bourne Shell Variables. (line 48) * PS2: Bourne Shell Variables. (line 53) -* PS3: Bash Variables. (line 458) -* PS4: Bash Variables. (line 463) -* PWD: Bash Variables. (line 469) -* RANDOM: Bash Variables. (line 472) -* READLINE_LINE: Bash Variables. (line 477) -* READLINE_POINT: Bash Variables. (line 481) -* REPLY: Bash Variables. (line 485) +* PS3: Bash Variables. (line 463) +* PS4: Bash Variables. (line 468) +* PWD: Bash Variables. (line 474) +* RANDOM: Bash Variables. (line 477) +* READLINE_LINE: Bash Variables. (line 482) +* READLINE_POINT: Bash Variables. (line 486) +* REPLY: Bash Variables. (line 490) * revert-all-at-newline: Readline Init File Syntax. - (line 198) -* SECONDS: Bash Variables. (line 488) -* SHELL: Bash Variables. (line 494) -* SHELLOPTS: Bash Variables. (line 499) -* SHLVL: Bash Variables. (line 508) -* show-all-if-ambiguous: Readline Init File Syntax. (line 204) -* show-all-if-unmodified: Readline Init File Syntax. +* SECONDS: Bash Variables. (line 493) +* SHELL: Bash Variables. (line 499) +* SHELLOPTS: Bash Variables. (line 504) +* SHLVL: Bash Variables. (line 513) +* show-all-if-ambiguous: Readline Init File Syntax. (line 210) +* show-all-if-unmodified: Readline Init File Syntax. + (line 216) * skip-completed-text: Readline Init File Syntax. - (line 219) + (line 225) * TEXTDOMAIN: Locale Translation. (line 11) * TEXTDOMAINDIR: Locale Translation. (line 11) -* TIMEFORMAT: Bash Variables. (line 513) -* TMOUT: Bash Variables. (line 551) -* TMPDIR: Bash Variables. (line 563) -* UID: Bash Variables. (line 567) +* TIMEFORMAT: Bash Variables. (line 518) +* TMOUT: Bash Variables. (line 556) +* TMPDIR: Bash Variables. (line 568) +* UID: Bash Variables. (line 572) * visible-stats: Readline Init File Syntax. - (line 232) + (line 238)  File: bashref.info, Node: Function Index, Next: Concept Index, Prev: Variable Index, Up: Indexes @@ -10274,132 +10413,133 @@ D.5 Concept Index  Tag Table: -Node: Top1340 -Node: Introduction3173 -Node: What is Bash?3401 -Node: What is a shell?4514 -Node: Definitions7054 -Node: Basic Shell Features9972 -Node: Shell Syntax11191 -Node: Shell Operation12221 -Node: Quoting13515 -Node: Escape Character14818 -Node: Single Quotes15303 -Node: Double Quotes15651 -Node: ANSI-C Quoting16776 -Node: Locale Translation17761 -Node: Comments18657 -Node: Shell Commands19275 -Node: Simple Commands20099 -Node: Pipelines20730 -Node: Lists22986 -Node: Compound Commands24715 -Node: Looping Constructs25519 -Node: Conditional Constructs27974 -Node: Command Grouping36087 -Node: Coprocesses37566 -Node: Shell Functions39210 -Node: Shell Parameters43764 -Node: Positional Parameters46180 -Node: Special Parameters47080 -Node: Shell Expansions50044 -Node: Brace Expansion51969 -Node: Tilde Expansion54724 -Node: Shell Parameter Expansion57075 -Node: Command Substitution65976 -Node: Arithmetic Expansion67309 -Node: Process Substitution68159 -Node: Word Splitting69209 -Node: Filename Expansion70832 -Node: Pattern Matching72971 -Node: Quote Removal76610 -Node: Redirections76905 -Node: Executing Commands85430 -Node: Simple Command Expansion86100 -Node: Command Search and Execution88030 -Node: Command Execution Environment90367 -Node: Environment93353 -Node: Exit Status95013 -Node: Signals96634 -Node: Shell Scripts98602 -Node: Shell Builtin Commands101120 -Node: Bourne Shell Builtins103148 -Node: Bash Builtins120616 -Node: Modifying Shell Behavior145759 -Node: The Set Builtin146104 -Node: The Shopt Builtin155628 -Node: Special Builtins166962 -Node: Shell Variables167941 -Node: Bourne Shell Variables168381 -Node: Bash Variables170362 -Node: Bash Features194495 -Node: Invoking Bash195378 -Node: Bash Startup Files201142 -Node: Interactive Shells206154 -Node: What is an Interactive Shell?206564 -Node: Is this Shell Interactive?207213 -Node: Interactive Shell Behavior208028 -Node: Bash Conditional Expressions211308 -Node: Shell Arithmetic214957 -Node: Aliases217716 -Node: Arrays220288 -Node: The Directory Stack224246 -Node: Directory Stack Builtins224960 -Node: Printing a Prompt227852 -Node: The Restricted Shell230604 -Node: Bash POSIX Mode232436 -Node: Job Control240493 -Node: Job Control Basics240953 -Node: Job Control Builtins245670 -Node: Job Control Variables250034 -Node: Command Line Editing251192 -Node: Introduction and Notation252759 -Node: Readline Interaction254381 -Node: Readline Bare Essentials255572 -Node: Readline Movement Commands257361 -Node: Readline Killing Commands258326 -Node: Readline Arguments260246 -Node: Searching261290 -Node: Readline Init File263476 -Node: Readline Init File Syntax264623 -Node: Conditional Init Constructs279472 -Node: Sample Init File282005 -Node: Bindable Readline Commands285122 -Node: Commands For Moving286329 -Node: Commands For History287473 -Node: Commands For Text290628 -Node: Commands For Killing293301 -Node: Numeric Arguments295752 -Node: Commands For Completion296891 -Node: Keyboard Macros301083 -Node: Miscellaneous Commands301654 -Node: Readline vi Mode307460 -Node: Programmable Completion308367 -Node: Programmable Completion Builtins315577 -Node: Using History Interactively324713 -Node: Bash History Facilities325397 -Node: Bash History Builtins328311 -Node: History Interaction332168 -Node: Event Designators334873 -Node: Word Designators335888 -Node: Modifiers337527 -Node: Installing Bash338931 -Node: Basic Installation340068 -Node: Compilers and Options342760 -Node: Compiling For Multiple Architectures343501 -Node: Installation Names345165 -Node: Specifying the System Type345983 -Node: Sharing Defaults346699 -Node: Operation Controls347372 -Node: Optional Features348330 -Node: Reporting Bugs357889 -Node: Major Differences From The Bourne Shell359090 -Node: GNU Free Documentation License375777 -Node: Indexes400973 -Node: Builtin Index401427 -Node: Reserved Word Index408254 -Node: Variable Index410702 -Node: Function Index423442 -Node: Concept Index430451 +Node: Top1336 +Node: Introduction3165 +Node: What is Bash?3393 +Node: What is a shell?4506 +Node: Definitions7046 +Node: Basic Shell Features9964 +Node: Shell Syntax11183 +Node: Shell Operation12213 +Node: Quoting13507 +Node: Escape Character14810 +Node: Single Quotes15295 +Node: Double Quotes15643 +Node: ANSI-C Quoting16768 +Node: Locale Translation18012 +Node: Comments18908 +Node: Shell Commands19526 +Node: Simple Commands20398 +Node: Pipelines21029 +Node: Lists23576 +Node: Compound Commands25305 +Node: Looping Constructs26109 +Node: Conditional Constructs28564 +Node: Command Grouping36677 +Node: Coprocesses38156 +Node: GNU Parallel39821 +Node: Shell Functions42289 +Node: Shell Parameters47035 +Node: Positional Parameters49451 +Node: Special Parameters50351 +Node: Shell Expansions53315 +Node: Brace Expansion55240 +Node: Tilde Expansion57995 +Node: Shell Parameter Expansion60346 +Node: Command Substitution69247 +Node: Arithmetic Expansion70580 +Node: Process Substitution71430 +Node: Word Splitting72480 +Node: Filename Expansion74103 +Node: Pattern Matching76242 +Node: Quote Removal79881 +Node: Redirections80176 +Node: Executing Commands88701 +Node: Simple Command Expansion89371 +Node: Command Search and Execution91301 +Node: Command Execution Environment93638 +Node: Environment96624 +Node: Exit Status98284 +Node: Signals99905 +Node: Shell Scripts101873 +Node: Shell Builtin Commands104391 +Node: Bourne Shell Builtins106419 +Node: Bash Builtins123887 +Node: Modifying Shell Behavior150092 +Node: The Set Builtin150437 +Node: The Shopt Builtin159961 +Node: Special Builtins171295 +Node: Shell Variables172274 +Node: Bourne Shell Variables172714 +Node: Bash Variables174695 +Node: Bash Features199033 +Node: Invoking Bash199916 +Node: Bash Startup Files205680 +Node: Interactive Shells210692 +Node: What is an Interactive Shell?211102 +Node: Is this Shell Interactive?211751 +Node: Interactive Shell Behavior212566 +Node: Bash Conditional Expressions215846 +Node: Shell Arithmetic219594 +Node: Aliases222353 +Node: Arrays224925 +Node: The Directory Stack228883 +Node: Directory Stack Builtins229597 +Node: Printing a Prompt232489 +Node: The Restricted Shell235241 +Node: Bash POSIX Mode237073 +Node: Job Control245899 +Node: Job Control Basics246359 +Node: Job Control Builtins251076 +Node: Job Control Variables255440 +Node: Command Line Editing256598 +Node: Introduction and Notation258165 +Node: Readline Interaction259787 +Node: Readline Bare Essentials260978 +Node: Readline Movement Commands262767 +Node: Readline Killing Commands263732 +Node: Readline Arguments265652 +Node: Searching266696 +Node: Readline Init File268882 +Node: Readline Init File Syntax270029 +Node: Conditional Init Constructs285133 +Node: Sample Init File287666 +Node: Bindable Readline Commands290783 +Node: Commands For Moving291990 +Node: Commands For History293134 +Node: Commands For Text296289 +Node: Commands For Killing298962 +Node: Numeric Arguments301413 +Node: Commands For Completion302552 +Node: Keyboard Macros306744 +Node: Miscellaneous Commands307315 +Node: Readline vi Mode313121 +Node: Programmable Completion314028 +Node: Programmable Completion Builtins321238 +Node: Using History Interactively330374 +Node: Bash History Facilities331058 +Node: Bash History Builtins333972 +Node: History Interaction337829 +Node: Event Designators340534 +Node: Word Designators341549 +Node: Modifiers343188 +Node: Installing Bash344592 +Node: Basic Installation345729 +Node: Compilers and Options348421 +Node: Compiling For Multiple Architectures349162 +Node: Installation Names350826 +Node: Specifying the System Type351644 +Node: Sharing Defaults352360 +Node: Operation Controls353033 +Node: Optional Features353991 +Node: Reporting Bugs363550 +Node: Major Differences From The Bourne Shell364751 +Node: GNU Free Documentation License381438 +Node: Indexes406634 +Node: Builtin Index407088 +Node: Reserved Word Index413915 +Node: Variable Index416363 +Node: Function Index429317 +Node: Concept Index436326  End Tag Table diff --git a/doc/bashref.log b/doc/bashref.log index 9ef54e386..899bc1da1 100644 --- a/doc/bashref.log +++ b/doc/bashref.log @@ -1,4 +1,4 @@ -This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2008.12.11) 20 MAY 2010 16:33 +This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2008.12.11) 1 JUN 2010 14:16 **/Users/chet/src/bash/src/doc/bashref.texi (/Users/chet/src/bash/src/doc/bashref.texi (./texinfo.tex Loading texinfo [version 2009-01-18.17]: @@ -177,8 +177,8 @@ and turning on texinfo input format.) (./bashref.aux) \openout0 = `bashref.toc'. Chapter 2 -[1] [2] [3] Chapter 3 [4] [5] [6] [7] [8] [9] -Overfull \hbox (43.33539pt too wide) in paragraph at lines 856--856 +[1] [2] [3] Chapter 3 [4] [5] [6] [7] [8] [9] [10] +Overfull \hbox (43.33539pt too wide) in paragraph at lines 869--869 []@texttt case @textttsl word @texttt in [ [(] @textttsl pat-tern @texttt [| @ textttsl pat-tern@texttt ][]) @textttsl command-list @texttt ;;][] esac[][] @@ -190,10 +190,49 @@ textttsl pat-tern@texttt ][]) @textttsl command-list @texttt ;;][] esac[][] .@texttt s .etc. -[10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] -[25] [26] [27] [28] [29] [30] [31] [32] Chapter 4 [33] [34] [35] [36] [37] -[38] [39] [40] [41] -Underfull \hbox (badness 5231) in paragraph at lines 3302--3315 +[11] [12] [13] [14] +Overfull \hbox (89.6747pt too wide) in paragraph at lines 1191--1191 + []@texttt cat list | parallel "do-something1 {} config-{} ; do-something2 < {} +" | process-output[] + +@hbox(7.60416+2.43333)x433.62 +.@glue(@leftskip) 28.90755 +.@hbox(0.0+0.0)x0.0 +.@texttt c +.@texttt a +.@texttt t +.etc. + + +Overfull \hbox (89.6747pt too wide) in paragraph at lines 1206--1206 + []@texttt { echo foss.org.my ; echo debian.org; echo freenetproject.org; } | p +arallel traceroute[] + +@hbox(7.60416+2.43333)x433.62 +.@glue(@leftskip) 28.90755 +.@hbox(0.0+0.0)x0.0 +.@texttt { +.@penalty 10000 +.@glue 5.74869 +.etc. + + +Overfull \hbox (106.92076pt too wide) in paragraph at lines 1212--1212 + []@texttt { echo foss.org.my ; echo debian.org; echo freenetproject.org; } | p +arallel -k traceroute[] + +@hbox(7.60416+2.43333)x433.62 +.@glue(@leftskip) 28.90755 +.@hbox(0.0+0.0)x0.0 +.@texttt { +.@penalty 10000 +.@glue 5.74869 +.etc. + +[15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] +[30] [31] [32] [33] [34] Chapter 4 [35] [36] [37] [38] [39] [40] [41] [42] +[43] +Underfull \hbox (badness 5231) in paragraph at lines 3395--3408 @texttt emacs-meta[]@textrm , @texttt emacs-ctlx[]@textrm , @texttt vi[]@textr m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and @@ -205,8 +244,8 @@ m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and .@texttt c .etc. -[42] [43] [44] [45] [46] -Overfull \hbox (172.34125pt too wide) in paragraph at lines 3733--3733 +[44] [45] [46] [47] [48] [49] +Overfull \hbox (172.34125pt too wide) in paragraph at lines 3852--3852 []@texttt read [-ers] [-a @textttsl aname@texttt ] [-d @textttsl de-lim@texttt ] [-i @textttsl text@texttt ] [-n @textttsl nchars@texttt ] [-N @textttsl ncha rs@texttt ] [-p @textttsl prompt@texttt ] [-t @textttsl time- @@ -219,9 +258,9 @@ rs@texttt ] [-p @textttsl prompt@texttt ] [-t @textttsl time- .@texttt a .etc. -[47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] Chapter 5 [59] -[60] [61] [62] [63] [64] [65] [66] [67] [68] [69] Chapter 6 [70] -Overfull \hbox (51.96864pt too wide) in paragraph at lines 5321--5321 +[50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] Chapter 5 [62] +[63] [64] [65] [66] [67] [68] [69] [70] [71] Chapter 6 [72] +Overfull \hbox (51.96864pt too wide) in paragraph at lines 5445--5445 []@texttt bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@t exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar- @@ -234,7 +273,7 @@ exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar- .etc. -Overfull \hbox (76.23077pt too wide) in paragraph at lines 5322--5322 +Overfull \hbox (76.23077pt too wide) in paragraph at lines 5446--5446 []@texttt bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@texttt ] [-O @textttsl shopt_option@texttt ] -c @textttsl string @texttt [@textttsl ar - @@ -248,7 +287,7 @@ Overfull \hbox (76.23077pt too wide) in paragraph at lines 5322--5322 .etc. -Overfull \hbox (34.72258pt too wide) in paragraph at lines 5323--5323 +Overfull \hbox (34.72258pt too wide) in paragraph at lines 5447--5447 []@texttt bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@text tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar- @@ -260,8 +299,8 @@ tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar- .@texttt s .etc. -[71] [72] -Underfull \hbox (badness 2245) in paragraph at lines 5496--5498 +[73] [74] +Underfull \hbox (badness 2245) in paragraph at lines 5620--5622 []@textrm When a lo-gin shell ex-its, Bash reads and ex-e-cutes com-mands from the file @@ -273,8 +312,8 @@ the file .@textrm n .etc. -[73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] -Underfull \hbox (badness 2521) in paragraph at lines 6644--6647 +[75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] +Underfull \hbox (badness 2521) in paragraph at lines 6789--6792 @textrm `@texttt --enable-strict-posix-default[]@textrm '[] to @texttt configur e[] @textrm when build-ing (see Sec-tion 10.8 @@ -286,10 +325,10 @@ e[] @textrm when build-ing (see Sec-tion 10.8 .@texttt n .etc. -Chapter 7 [86] [87] [88] [89] [90] [91] -(/Users/chet/src/bash/src/lib/readline/doc/rluser.texi Chapter 8 [92] [93] -[94] [95] [96] [97] [98] -Underfull \hbox (badness 5231) in paragraph at lines 545--561 +Chapter 7 [89] [90] [91] [92] [93] +(/Users/chet/src/bash/src/lib/readline/doc/rluser.texi Chapter 8 [94] [95] +[96] [97] [98] [99] [100] +Underfull \hbox (badness 5231) in paragraph at lines 551--567 @texttt emacs-meta[]@textrm , @texttt emacs-ctlx[]@textrm , @texttt vi[]@textr m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and @@ -301,8 +340,8 @@ m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and .@texttt c .etc. -[99] [100] [101] [102] [103] -Overfull \hbox (26.43913pt too wide) in paragraph at lines 882--882 +[101] [102] [103] [104] [105] +Overfull \hbox (26.43913pt too wide) in paragraph at lines 888--888 []@texttt Meta-Control-h: backward-kill-word Text after the function name is i gnored[] @@ -314,9 +353,9 @@ gnored[] .@texttt t .etc. -[104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] -[116] -Overfull \hbox (12.05716pt too wide) in paragraph at lines 1803--1803 +[106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] +[118] +Overfull \hbox (12.05716pt too wide) in paragraph at lines 1809--1809 []@texttt complete [-abcdefgjksuv] [-o @textttsl comp-option@texttt ] [-DE] [- A @textttsl ac-tion@texttt ] [- @@ -328,8 +367,8 @@ A @textttsl ac-tion@texttt ] [- .@texttt m .etc. -[117] [118] -Underfull \hbox (badness 2753) in paragraph at lines 1913--1916 +[119] [120] +Underfull \hbox (badness 2753) in paragraph at lines 1919--1922 @texttt hostname[]@textrm Hostnames, as taken from the file spec-i-fied by @hbox(7.60416+2.12917)x433.62, glue set 3.02202 @@ -340,9 +379,9 @@ Underfull \hbox (badness 2753) in paragraph at lines 1913--1916 .@texttt o .etc. -[119]) (/Users/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9 -[120] [121] [122] [123] [124]) Chapter 10 [125] [126] [127] [128] [129] -Underfull \hbox (badness 2772) in paragraph at lines 7245--7249 +[121]) (/Users/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9 +[122] [123] [124] [125] [126]) Chapter 10 [127] [128] [129] [130] [131] +Underfull \hbox (badness 2772) in paragraph at lines 7390--7394 []@textrm Enable sup-port for large files (@texttt http://www.sas.com/standard s/large_ @@ -354,18 +393,18 @@ s/large_ .@textrm a .etc. -[130] [131] [132] Appendix A [133] [134] Appendix B [135] [136] [137] [138] -[139] [140] [141] Appendix C [142] (./fdl.texi [143] [144] [145] [146] [147] -[148] [149]) Appendix D [150] (./bashref.bts) [151] (./bashref.rws) -(./bashref.vrs [152] [153]) (./bashref.fns [154] [155]) (./bashref.cps [156]) -[157] [158] ) +[132] [133] [134] Appendix A [135] [136] Appendix B [137] [138] [139] [140] +[141] [142] [143] Appendix C [144] (./fdl.texi [145] [146] [147] [148] [149] +[150] [151]) Appendix D [152] (./bashref.bts) [153] (./bashref.rws) +(./bashref.vrs [154] [155]) (./bashref.fns [156] [157]) (./bashref.cps [158]) +[159] [160] ) Here is how much of TeX's memory you used: - 2078 strings out of 97980 - 28503 string characters out of 1221004 - 65573 words of memory out of 1500000 - 2894 multiletter control sequences out of 10000+50000 + 2081 strings out of 97980 + 28558 string characters out of 1221004 + 65603 words of memory out of 1500000 + 2897 multiletter control sequences out of 10000+50000 32127 words of font info for 112 fonts, out of 1200000 for 2000 51 hyphenation exceptions out of 8191 - 16i,6n,14p,315b,699s stack positions out of 5000i,500n,6000p,200000b,5000s + 16i,6n,14p,315b,702s stack positions out of 5000i,500n,6000p,200000b,5000s -Output written on bashref.dvi (164 pages, 668052 bytes). +Output written on bashref.dvi (166 pages, 675816 bytes). diff --git a/doc/bashref.pdf b/doc/bashref.pdf index 89da9cdc0..f7fa6ff9a 100644 Binary files a/doc/bashref.pdf and b/doc/bashref.pdf differ diff --git a/doc/bashref.ps b/doc/bashref.ps index 7fffc0131..4a270e9ca 100644 --- a/doc/bashref.ps +++ b/doc/bashref.ps @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 %%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software %%Title: bashref.dvi -%%Pages: 164 +%%Pages: 166 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%DocumentFonts: CMBX12 CMR10 CMTT10 CMSL10 CMSY10 CMMI12 CMMI10 CMCSC10 @@ -11,7 +11,7 @@ %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi %DVIPSParameters: dpi=600 -%DVIPSSource: TeX output 2010.05.20:1633 +%DVIPSSource: TeX output 2010.06.01:1416 %%BeginProcSet: tex.pro 0 0 %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S @@ -4277,9 +4277,9 @@ TeXDict begin 40258431 52099146 1000 600 600 (bashref.dvi) 48 48 1[48 48 48 1[48 48 48 48 1[48 6[48 6[48 48 48 48 2[48 2[48 2[48 39[{}50 90.9091 /CMSLTT10 rf /Fj 134[65 65 89 65 68 48 48 50 65 68 61 68 102 34 65 1[34 68 61 -37 56 68 55 68 60 34 6[93 1[127 2[85 68 92 92 84 92 96 -116 74 96 1[46 96 96 77 81 94 89 87 93 1[58 5[61 61 61 -61 61 61 61 61 61 61 1[34 41 34 4[34 26[68 72 11[{}63 +37 56 68 55 68 60 34 6[93 1[127 1[94 85 68 92 92 84 92 +96 116 74 96 1[46 96 96 77 81 94 89 87 93 1[58 5[61 61 +61 61 61 61 61 61 61 61 1[34 41 34 4[34 26[68 72 11[{}64 109.091 /CMBX12 rf /Fk 135[42 1[42 1[30 37 38 1[46 46 51 74 23 2[28 1[42 1[42 46 42 1[46 51[33 32[51 12[{}18 90.9091 /CMTI10 rf /Fl 135[56 2[56 1[42 55 1[51 58 56 @@ -4327,7 +4327,7 @@ letter TeXDict begin 1 0 bop 150 1318 a Fu(Bash)64 b(Reference)j(Man)-5 b(ual)p 150 1385 3600 34 v 2361 1481 a Ft(Reference)31 b(Do)s(cumen)m(tation)i(for)d(Bash)2428 1589 y(Edition)h(4.1,)g(for)f -Fs(Bash)g Ft(V)-8 b(ersion)31 b(4.1.)3333 1697 y(April)f(2010)150 +Fs(Bash)g Ft(V)-8 b(ersion)31 b(4.1.)3364 1697 y(Ma)m(y)g(2010)150 4935 y Fr(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11 b(estern)46 b(Reserv)l(e)g(Univ)l(ersit)l(y)150 5068 y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)-11 @@ -4335,21 +4335,21 @@ b(oundation)p 150 5141 3600 17 v eop end %%Page: 2 2 TeXDict begin 2 1 bop 150 2889 a Ft(This)35 b(text)h(is)g(a)g(brief)f (description)h(of)f(the)h(features)g(that)g(are)g(presen)m(t)g(in)f -(the)h(Bash)f(shell)h(\(v)m(ersion)150 2999 y(4.1,)c(17)f(April)f -(2010\).)150 3133 y(This)j(is)h(Edition)f(4.1,)j(last)f(up)s(dated)d -(17)j(April)e(2010,)k(of)d Fq(The)f(GNU)h(Bash)g(Reference)g(Man)m(ual) -p Ft(,)i(for)150 3243 y Fs(Bash)p Ft(,)29 b(V)-8 b(ersion)31 -b(4.1.)150 3377 y(Cop)m(yrigh)m(t)602 3374 y(c)577 3377 -y Fp(\015)f Ft(1988{2010)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 -b(oundation,)31 b(Inc.)150 3512 y(P)m(ermission)h(is)h(gran)m(ted)g(to) -f(mak)m(e)i(and)d(distribute)h(v)m(erbatim)h(copies)g(of)f(this)g(man)m -(ual)h(pro)m(vided)f(the)150 3621 y(cop)m(yrigh)m(t)g(notice)f(and)f -(this)g(p)s(ermission)g(notice)h(are)g(preserv)m(ed)f(on)h(all)g -(copies.)390 3756 y(P)m(ermission)k(is)h(gran)m(ted)f(to)h(cop)m(y)-8 -b(,)38 b(distribute)d(and/or)g(mo)s(dify)f(this)h(do)s(cumen)m(t)g -(under)390 3866 y(the)j(terms)g(of)g(the)g(GNU)h(F)-8 -b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8 b(ersion)39 -b(1.3)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28 +(the)h(Bash)f(shell)h(\(v)m(ersion)150 2999 y(4.1,)c(30)f(Ma)m(y)g +(2010\).)150 3133 y(This)k(is)h(Edition)f(4.1,)k(last)d(up)s(dated)e +(30)j(Ma)m(y)g(2010,)i(of)c Fq(The)h(GNU)g(Bash)g(Reference)g(Man)m +(ual)p Ft(,)i(for)150 3243 y Fs(Bash)p Ft(,)29 b(V)-8 +b(ersion)31 b(4.1.)150 3377 y(Cop)m(yrigh)m(t)602 3374 +y(c)577 3377 y Fp(\015)f Ft(1988{2010)35 b(F)-8 b(ree)31 +b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)150 3512 +y(P)m(ermission)h(is)h(gran)m(ted)g(to)f(mak)m(e)i(and)d(distribute)h +(v)m(erbatim)h(copies)g(of)f(this)g(man)m(ual)h(pro)m(vided)f(the)150 +3621 y(cop)m(yrigh)m(t)g(notice)f(and)f(this)g(p)s(ermission)g(notice)h +(are)g(preserv)m(ed)f(on)h(all)g(copies.)390 3756 y(P)m(ermission)k(is) +h(gran)m(ted)f(to)h(cop)m(y)-8 b(,)38 b(distribute)d(and/or)g(mo)s +(dify)f(this)h(do)s(cumen)m(t)g(under)390 3866 y(the)j(terms)g(of)g +(the)g(GNU)h(F)-8 b(ree)39 b(Do)s(cumen)m(tation)h(License,)g(V)-8 +b(ersion)39 b(1.3)g(or)f(an)m(y)g(later)390 3975 y(v)m(ersion)28 b(published)d(b)m(y)j(the)f(F)-8 b(ree)29 b(Soft)m(w)m(are)f(F)-8 b(oundation;)30 b(with)d(no)g(In)m(v)-5 b(arian)m(t)28 b(Sections,)390 4085 y(with)i(the)h(F)-8 b(ron)m(t-Co)m(v)m(er)33 @@ -4420,7 +4420,7 @@ g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)56 b Ft(7)275 2523 y(3.2)92 b(Shell)30 b(Commands)21 b Fm(:)14 b(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)51 b Ft(7)399 +h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)51 b Ft(8)399 2633 y(3.2.1)93 b(Simple)30 b(Commands)c Fm(:)15 b(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)57 @@ -4431,13 +4431,13 @@ h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h 2852 y(3.2.3)93 b(Lists)30 b(of)h(Commands)15 b Fm(:)f(:)h(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)45 -b Ft(8)399 2961 y(3.2.4)93 b(Comp)s(ound)28 b(Commands)22 +b Ft(9)399 2961 y(3.2.4)93 b(Comp)s(ound)28 b(Commands)22 b Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) f(:)g(:)54 b Ft(9)524 3071 y(3.2.4.1)93 b(Lo)s(oping)30 -b(Constructs)11 b Fm(:)k(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)g(:)h(:)f(:)41 b Ft(9)524 3181 y(3.2.4.2)93 b(Conditional)31 +b(Constructs)8 b Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h +(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) +f(:)h(:)f(:)g(:)38 b Ft(10)524 3181 y(3.2.4.2)93 b(Conditional)31 b(Constructs)18 b Fm(:)d(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)47 b Ft(10)524 3290 y(3.2.4.3)93 b(Grouping)30 b(Commands)15 @@ -4446,392 +4446,396 @@ h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)45 b Ft(13)399 3400 y(3.2.5)93 b(Copro)s(cesses)18 b Fm(:)d(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)h(:)47 b Ft(14)275 3509 y(3.3)92 -b(Shell)30 b(F)-8 b(unctions)29 b Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h -(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f -(:)g(:)h(:)f(:)58 b Ft(14)275 3619 y(3.4)92 b(Shell)30 -b(P)m(arameters)17 b Fm(:)f(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g -(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)46 -b Ft(15)399 3729 y(3.4.1)93 b(P)m(ositional)32 b(P)m(arameters)20 +h(:)f(:)g(:)h(:)f(:)h(:)47 b Ft(14)399 3509 y(3.2.6)93 +b(GNU)31 b(P)m(arallel)c Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) +f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)55 +b Ft(14)275 3619 y(3.3)92 b(Shell)30 b(F)-8 b(unctions)29 +b Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) +g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58 +b Ft(15)275 3729 y(3.4)92 b(Shell)30 b(P)m(arameters)17 +b Fm(:)f(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) +h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g +(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)46 b Ft(17)399 +3838 y(3.4.1)93 b(P)m(ositional)32 b(P)m(arameters)20 b Fm(:)d(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)50 b Ft(16)399 3838 y(3.4.2)93 b(Sp)s(ecial)30 +(:)f(:)50 b Ft(17)399 3948 y(3.4.2)93 b(Sp)s(ecial)30 b(P)m(arameters)16 b Fm(:)h(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)46 b Ft(16)275 3948 +f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)46 b Ft(18)275 4057 y(3.5)92 b(Shell)30 b(Expansions)17 b Fm(:)d(:)h(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)g(:)h(:)46 b Ft(17)399 4057 y(3.5.1)93 b(Brace)31 +f(:)g(:)h(:)46 b Ft(18)399 4167 y(3.5.1)93 b(Brace)31 b(Expansion)21 b Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)50 b Ft(18)399 -4167 y(3.5.2)93 b(Tilde)30 b(Expansion)10 b Fm(:)15 b(:)h(:)f(:)g(:)h +h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)50 b Ft(19)399 +4276 y(3.5.2)93 b(Tilde)30 b(Expansion)10 b Fm(:)15 b(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h -(:)f(:)40 b Ft(19)399 4276 y(3.5.3)93 b(Shell)30 b(P)m(arameter)i +(:)f(:)40 b Ft(20)399 4386 y(3.5.3)93 b(Shell)30 b(P)m(arameter)i (Expansion)18 b Fm(:)d(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:) -48 b Ft(19)399 4386 y(3.5.4)93 b(Command)29 b(Substitution)12 +48 b Ft(21)399 4496 y(3.5.4)93 b(Command)29 b(Substitution)12 b Fm(:)j(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g -(:)42 b Ft(22)399 4496 y(3.5.5)93 b(Arithmetic)31 b(Expansion)19 +(:)42 b Ft(24)399 4605 y(3.5.5)93 b(Arithmetic)31 b(Expansion)19 b Fm(:)c(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f -(:)h(:)48 b Ft(23)399 4605 y(3.5.6)93 b(Pro)s(cess)30 +(:)h(:)48 b Ft(24)399 4715 y(3.5.6)93 b(Pro)s(cess)30 b(Substitution)d Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)57 b Ft(23)399 4715 y(3.5.7)93 +h(:)f(:)h(:)f(:)g(:)h(:)f(:)57 b Ft(24)399 4824 y(3.5.7)93 b(W)-8 b(ord)31 b(Splitting)20 b Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)49 -b Ft(23)399 4824 y(3.5.8)93 b(Filename)32 b(Expansion)13 +b Ft(25)399 4934 y(3.5.8)93 b(Filename)32 b(Expansion)13 b Fm(:)i(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h -(:)f(:)h(:)f(:)43 b Ft(24)524 4934 y(3.5.8.1)93 b(P)m(attern)31 +(:)f(:)h(:)f(:)43 b Ft(25)524 5044 y(3.5.8.1)93 b(P)m(attern)31 b(Matc)m(hing)d Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)56 b Ft(24)399 5044 y(3.5.9)93 b(Quote)31 +h(:)f(:)g(:)h(:)f(:)56 b Ft(26)399 5153 y(3.5.9)93 b(Quote)31 b(Remo)m(v)-5 b(al)9 b Fm(:)17 b(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)39 -b Ft(25)275 5153 y(3.6)92 b(Redirections)26 b Fm(:)15 +b Ft(27)275 5263 y(3.6)92 b(Redirections)26 b Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)55 -b Ft(26)399 5263 y(3.6.1)93 b(Redirecting)31 b(Input)23 -b Fm(:)14 b(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f -(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)h(:)52 b Ft(27)p eop end +b Ft(27)p eop end %%Page: -2 4 TeXDict begin -2 3 bop 150 -116 a Ft(ii)2612 b(Bash)31 -b(Reference)g(Man)m(ual)399 83 y(3.6.2)93 b(Redirecting)31 -b(Output)26 b Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f -(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)g(:)h(:)56 b Ft(27)399 193 y(3.6.3)93 -b(App)s(ending)28 b(Redirected)k(Output)12 b Fm(:)h(:)j(:)f(:)h(:)f(:)g -(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)41 b Ft(27)399 302 y(3.6.4)93 b(Redirecting)31 -b(Standard)e(Output)h(and)f(Standard)h(Error)d Fm(:)15 -b(:)g(:)h(:)f(:)h(:)f(:)g(:)58 b Ft(27)399 412 y(3.6.5)93 -b(App)s(ending)28 b(Standard)i(Output)f(and)h(Standard)f(Error)19 -b Fm(:)14 b(:)h(:)h(:)f(:)h(:)f(:)g(:)h(:)48 b Ft(28)399 -521 y(3.6.6)93 b(Here)31 b(Do)s(cumen)m(ts)c Fm(:)15 -b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +b(Reference)g(Man)m(ual)399 83 y(3.6.1)93 b(Redirecting)31 +b(Input)23 b Fm(:)14 b(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f +(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) +f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)52 b Ft(28)399 193 +y(3.6.2)93 b(Redirecting)31 b(Output)26 b Fm(:)15 b(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)56 b Ft(28)399 631 y(3.6.7)93 b(Here)31 -b(Strings)c Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58 -b Ft(28)399 741 y(3.6.8)93 b(Duplicating)32 b(File)f(Descriptors)16 +g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)56 +b Ft(28)399 302 y(3.6.3)93 b(App)s(ending)28 b(Redirected)k(Output)12 +b Fm(:)h(:)j(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) +h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)41 b Ft(28)399 +412 y(3.6.4)93 b(Redirecting)31 b(Standard)e(Output)h(and)f(Standard)h +(Error)d Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)58 b Ft(29)399 +521 y(3.6.5)93 b(App)s(ending)28 b(Standard)i(Output)f(and)h(Standard)f +(Error)19 b Fm(:)14 b(:)h(:)h(:)f(:)h(:)f(:)g(:)h(:)48 +b Ft(29)399 631 y(3.6.6)93 b(Here)31 b(Do)s(cumen)m(ts)c +Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f +(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) +h(:)f(:)g(:)h(:)f(:)h(:)f(:)56 b Ft(29)399 741 y(3.6.7)93 +b(Here)31 b(Strings)c Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h +(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) +f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58 +b Ft(29)399 850 y(3.6.8)93 b(Duplicating)32 b(File)f(Descriptors)16 b Fm(:)g(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)46 -b Ft(28)399 850 y(3.6.9)93 b(Mo)m(ving)32 b(File)f(Descriptors)19 +b Ft(30)399 960 y(3.6.9)93 b(Mo)m(ving)32 b(File)f(Descriptors)19 b Fm(:)d(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)49 -b Ft(29)399 960 y(3.6.10)93 b(Op)s(ening)29 b(File)j(Descriptors)f(for) -f(Reading)h(and)f(W)-8 b(riting)19 b Fm(:)e(:)e(:)h(:)f(:)h(:)f(:)49 -b Ft(29)275 1069 y(3.7)92 b(Executing)31 b(Commands)17 +b Ft(30)399 1069 y(3.6.10)93 b(Op)s(ening)29 b(File)j(Descriptors)f +(for)f(Reading)h(and)f(W)-8 b(riting)19 b Fm(:)e(:)e(:)h(:)f(:)h(:)f(:) +49 b Ft(30)275 1179 y(3.7)92 b(Executing)31 b(Commands)17 b Fm(:)d(:)h(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f -(:)h(:)f(:)g(:)h(:)f(:)h(:)46 b Ft(29)399 1179 y(3.7.1)93 +(:)h(:)f(:)g(:)h(:)f(:)h(:)46 b Ft(30)399 1289 y(3.7.1)93 b(Simple)30 b(Command)f(Expansion)23 b Fm(:)15 b(:)g(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f -(:)g(:)h(:)f(:)h(:)52 b Ft(29)399 1289 y(3.7.2)93 b(Command)29 +(:)g(:)h(:)f(:)h(:)52 b Ft(30)399 1398 y(3.7.2)93 b(Command)29 b(Searc)m(h)i(and)f(Execution)d Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)56 -b Ft(30)399 1398 y(3.7.3)93 b(Command)29 b(Execution)i(En)m(vironmen)m +b Ft(31)399 1508 y(3.7.3)93 b(Command)29 b(Execution)i(En)m(vironmen)m (t)8 b Fm(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)38 b Ft(30)399 1508 +h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)38 b Ft(32)399 1617 y(3.7.4)93 b(En)m(vironmen)m(t)18 b Fm(:)d(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f -(:)h(:)47 b Ft(31)399 1617 y(3.7.5)93 b(Exit)31 b(Status)c +(:)h(:)47 b Ft(33)399 1727 y(3.7.5)93 b(Exit)31 b(Status)c Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)57 b -Ft(32)399 1727 y(3.7.6)93 b(Signals)15 b Fm(:)g(:)g(:)h(:)f(:)h(:)f(:)g +Ft(33)399 1836 y(3.7.6)93 b(Signals)15 b Fm(:)g(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)44 b Ft(32)275 1836 +(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)44 b Ft(34)275 1946 y(3.8)92 b(Shell)30 b(Scripts)23 b Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)g(:)h(:)53 b Ft(33)150 2079 y Fr(4)135 +g(:)h(:)f(:)h(:)f(:)g(:)h(:)53 b Ft(34)150 2188 y Fr(4)135 b(Shell)45 b(Builtin)g(Commands)22 b Fn(:)e(:)g(:)f(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)67 -b Fr(35)275 2216 y Ft(4.1)92 b(Bourne)30 b(Shell)g(Builtins)e +b Fr(37)275 2325 y Ft(4.1)92 b(Bourne)30 b(Shell)g(Builtins)e Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)h(:)f(:)57 b Ft(35)275 2325 y(4.2)92 +h(:)f(:)g(:)h(:)f(:)h(:)f(:)57 b Ft(37)275 2435 y(4.2)92 b(Bash)30 b(Builtin)h(Commands)24 b Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)54 -b Ft(41)275 2435 y(4.3)92 b(Mo)s(difying)30 b(Shell)g(Beha)m(vior)9 +b Ft(43)275 2545 y(4.3)92 b(Mo)s(difying)30 b(Shell)g(Beha)m(vior)9 b Fm(:)17 b(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)39 b Ft(51)399 2545 y(4.3.1)93 b(The)30 +h(:)f(:)h(:)f(:)39 b Ft(53)399 2654 y(4.3.1)93 b(The)30 b(Set)g(Builtin)c Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)55 b -Ft(51)399 2654 y(4.3.2)93 b(The)30 b(Shopt)f(Builtin)13 +Ft(53)399 2764 y(4.3.2)93 b(The)30 b(Shopt)f(Builtin)13 b Fm(:)j(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g -(:)h(:)f(:)h(:)f(:)g(:)43 b Ft(55)275 2764 y(4.4)92 b(Sp)s(ecial)30 +(:)h(:)f(:)h(:)f(:)g(:)43 b Ft(57)275 2873 y(4.4)92 b(Sp)s(ecial)30 b(Builtins)21 b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)50 -b Ft(59)150 3006 y Fr(5)135 b(Shell)45 b(V)-11 b(ariables)19 +b Ft(62)150 3116 y Fr(5)135 b(Shell)45 b(V)-11 b(ariables)19 b Fn(:)h(:)g(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)64 -b Fr(61)275 3143 y Ft(5.1)92 b(Bourne)30 b(Shell)g(V)-8 +b Fr(63)275 3253 y Ft(5.1)92 b(Bourne)30 b(Shell)g(V)-8 b(ariables)22 b Fm(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)51 b Ft(61)275 -3253 y(5.2)92 b(Bash)30 b(V)-8 b(ariables)16 b Fm(:)h(:)f(:)f(:)h(:)f +f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)51 b Ft(63)275 +3362 y(5.2)92 b(Bash)30 b(V)-8 b(ariables)16 b Fm(:)h(:)f(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f -(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)46 b Ft(61)150 3495 y +(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)46 b Ft(63)150 3605 y Fr(6)135 b(Bash)44 b(F)-11 b(eatures)13 b Fn(:)20 b(:)g(:)f(:)g(:)h(:)f (:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58 b Fr(71)275 -3632 y Ft(6.1)92 b(In)m(v)m(oking)31 b(Bash)d Fm(:)16 +f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58 b Fr(73)275 +3742 y Ft(6.1)92 b(In)m(v)m(oking)31 b(Bash)d Fm(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58 b -Ft(71)275 3742 y(6.2)92 b(Bash)30 b(Startup)g(Files)20 +Ft(73)275 3851 y(6.2)92 b(Bash)30 b(Startup)g(Files)20 b Fm(:)c(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f -(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)49 b Ft(73)275 -3851 y(6.3)92 b(In)m(teractiv)m(e)32 b(Shells)11 b Fm(:)16 +(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)49 b Ft(75)275 +3961 y(6.3)92 b(In)m(teractiv)m(e)32 b(Shells)11 b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)41 b Ft(74)399 -3961 y(6.3.1)93 b(What)31 b(is)f(an)h(In)m(teractiv)m(e)h(Shell?)17 +h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)41 b Ft(76)399 +4071 y(6.3.1)93 b(What)31 b(is)f(an)h(In)m(teractiv)m(e)h(Shell?)17 b Fm(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)47 b -Ft(75)399 4071 y(6.3.2)93 b(Is)30 b(this)g(Shell)g(In)m(teractiv)m(e?) +Ft(77)399 4180 y(6.3.2)93 b(Is)30 b(this)g(Shell)g(In)m(teractiv)m(e?) 14 b Fm(:)k(:)e(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -44 b Ft(75)399 4180 y(6.3.3)93 b(In)m(teractiv)m(e)33 +44 b Ft(77)399 4290 y(6.3.3)93 b(In)m(teractiv)m(e)33 b(Shell)d(Beha)m(vior)23 b Fm(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f -(:)g(:)h(:)f(:)h(:)52 b Ft(75)275 4290 y(6.4)92 b(Bash)30 +(:)g(:)h(:)f(:)h(:)52 b Ft(77)275 4399 y(6.4)92 b(Bash)30 b(Conditional)h(Expressions)22 b Fm(:)14 b(:)i(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)g(:)h(:)51 b Ft(76)275 4399 y(6.5)92 +g(:)h(:)f(:)h(:)f(:)g(:)h(:)51 b Ft(78)275 4509 y(6.5)92 b(Shell)30 b(Arithmetic)c Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f -(:)55 b Ft(78)275 4509 y(6.6)92 b(Aliases)12 b Fm(:)k(:)g(:)f(:)h(:)f +(:)55 b Ft(80)275 4619 y(6.6)92 b(Aliases)12 b Fm(:)k(:)g(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)42 -b Ft(79)275 4619 y(6.7)92 b(Arra)m(ys)17 b Fm(:)e(:)h(:)f(:)h(:)f(:)g +b Ft(81)275 4728 y(6.7)92 b(Arra)m(ys)17 b Fm(:)e(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)47 -b Ft(80)275 4728 y(6.8)92 b(The)29 b(Directory)j(Stac)m(k)e +b Ft(82)275 4838 y(6.8)92 b(The)29 b(Directory)j(Stac)m(k)e Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58 b Ft(81)399 4838 y(6.8.1)93 +g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58 b Ft(83)399 4947 y(6.8.1)93 b(Directory)32 b(Stac)m(k)f(Builtins)14 b Fm(:)i(:)g(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g -(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)44 b Ft(81)275 -4947 y(6.9)92 b(Con)m(trolling)31 b(the)g(Prompt)24 b +(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)44 b Ft(83)275 +5057 y(6.9)92 b(Con)m(trolling)31 b(the)g(Prompt)24 b Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)54 b Ft(82)275 5057 y(6.10)92 b(The)30 +g(:)h(:)f(:)h(:)f(:)54 b Ft(84)275 5166 y(6.10)92 b(The)30 b(Restricted)h(Shell)23 b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)53 -b Ft(84)275 5166 y(6.11)92 b(Bash)31 b(POSIX)e(Mo)s(de)9 +b Ft(86)275 5276 y(6.11)92 b(Bash)31 b(POSIX)e(Mo)s(de)9 b Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)38 b Ft(84)p eop +h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)38 b Ft(86)p eop end %%Page: -3 5 TeXDict begin -3 4 bop 3674 -116 a Ft(iii)150 83 y Fr(7)135 b(Job)45 b(Con)l(trol)24 b Fn(:)c(:)g(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)69 b Fr(89)275 220 y +f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)69 b Fr(91)275 220 y Ft(7.1)92 b(Job)30 b(Con)m(trol)h(Basics)17 b Fm(:)f(:)g(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)47 b Ft(89)275 330 y(7.2)92 b(Job)30 b(Con)m(trol)h +g(:)h(:)f(:)47 b Ft(91)275 330 y(7.2)92 b(Job)30 b(Con)m(trol)h (Builtins)25 b Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f -(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)55 b Ft(90)275 +(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)55 b Ft(92)275 439 y(7.3)92 b(Job)30 b(Con)m(trol)h(V)-8 b(ariables)19 b Fm(:)e(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h -(:)f(:)h(:)f(:)g(:)h(:)f(:)49 b Ft(92)150 682 y Fr(8)135 +(:)f(:)h(:)f(:)g(:)h(:)f(:)49 b Ft(94)150 682 y Fr(8)135 b(Command)45 b(Line)g(Editing)27 b Fn(:)20 b(:)g(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)72 -b Fr(93)275 819 y Ft(8.1)92 b(In)m(tro)s(duction)30 b(to)h(Line)f +b Fr(95)275 819 y Ft(8.1)92 b(In)m(tro)s(duction)30 b(to)h(Line)f (Editing)d Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f -(:)h(:)f(:)56 b Ft(93)275 928 y(8.2)92 b(Readline)31 +(:)h(:)f(:)56 b Ft(95)275 928 y(8.2)92 b(Readline)31 b(In)m(teraction)8 b Fm(:)17 b(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)38 -b Ft(93)399 1038 y(8.2.1)93 b(Readline)31 b(Bare)g(Essen)m(tials)d +b Ft(95)399 1038 y(8.2.1)93 b(Readline)31 b(Bare)g(Essen)m(tials)d Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)57 -b Ft(94)399 1147 y(8.2.2)93 b(Readline)31 b(Mo)m(v)m(emen)m(t)i +b Ft(96)399 1147 y(8.2.2)93 b(Readline)31 b(Mo)m(v)m(emen)m(t)i (Commands)27 b Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)57 -b Ft(94)399 1257 y(8.2.3)93 b(Readline)31 b(Killing)g(Commands)19 +b Ft(96)399 1257 y(8.2.3)93 b(Readline)31 b(Killing)g(Commands)19 b Fm(:)14 b(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)49 -b Ft(95)399 1367 y(8.2.4)93 b(Readline)31 b(Argumen)m(ts)11 +b Ft(97)399 1367 y(8.2.4)93 b(Readline)31 b(Argumen)m(ts)11 b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)g(:)h(:)f(:)41 b Ft(95)399 1476 y(8.2.5)93 b(Searc)m(hing)31 +f(:)g(:)h(:)f(:)41 b Ft(97)399 1476 y(8.2.5)93 b(Searc)m(hing)31 b(for)f(Commands)f(in)h(the)h(History)9 b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)38 -b Ft(95)275 1586 y(8.3)92 b(Readline)31 b(Init)f(File)23 +b Ft(97)275 1586 y(8.3)92 b(Readline)31 b(Init)f(File)23 b Fm(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)52 b Ft(96)399 +h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)52 b Ft(98)399 1695 y(8.3.1)93 b(Readline)31 b(Init)f(File)i(Syn)m(tax)15 b Fm(:)g(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)44 -b Ft(96)399 1805 y(8.3.2)93 b(Conditional)31 b(Init)f(Constructs)25 +b Ft(98)399 1805 y(8.3.2)93 b(Conditional)31 b(Init)f(Constructs)25 b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)56 -b Ft(102)399 1914 y(8.3.3)93 b(Sample)30 b(Init)g(File)12 +b Ft(104)399 1914 y(8.3.3)93 b(Sample)30 b(Init)g(File)12 b Fm(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)42 b Ft(103)275 2024 y(8.4)92 +h(:)f(:)h(:)f(:)g(:)h(:)f(:)42 b Ft(105)275 2024 y(8.4)92 b(Bindable)30 b(Readline)h(Commands)11 b Fm(:)k(:)g(:)g(:)h(:)f(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)g(:)h(:)41 b Ft(106)399 2134 y(8.4.1)93 +g(:)h(:)f(:)h(:)f(:)g(:)h(:)41 b Ft(108)399 2134 y(8.4.1)93 b(Commands)29 b(F)-8 b(or)31 b(Mo)m(ving)e Fm(:)16 b(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58 b Ft(106)399 +(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58 b Ft(108)399 2243 y(8.4.2)93 b(Commands)29 b(F)-8 b(or)31 b(Manipulating)g(The)f (History)17 b Fm(:)g(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)47 b Ft(107)399 2353 y(8.4.3)93 b(Commands)29 b(F)-8 +h(:)47 b Ft(109)399 2353 y(8.4.3)93 b(Commands)29 b(F)-8 b(or)31 b(Changing)f(T)-8 b(ext)21 b Fm(:)c(:)e(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -51 b Ft(108)399 2462 y(8.4.4)93 b(Killing)31 b(And)e(Y)-8 +51 b Ft(110)399 2462 y(8.4.4)93 b(Killing)31 b(And)e(Y)-8 b(anking)22 b Fm(:)17 b(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)g(:)h(:)f(:)h(:)52 b Ft(109)399 2572 y(8.4.5)93 b(Sp)s(ecifying)30 +f(:)g(:)h(:)f(:)h(:)52 b Ft(111)399 2572 y(8.4.5)93 b(Sp)s(ecifying)30 b(Numeric)g(Argumen)m(ts)17 b Fm(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)47 -b Ft(110)399 2682 y(8.4.6)93 b(Letting)31 b(Readline)g(T)m(yp)s(e)f(F) +b Ft(112)399 2682 y(8.4.6)93 b(Letting)31 b(Readline)g(T)m(yp)s(e)f(F) -8 b(or)31 b(Y)-8 b(ou)12 b Fm(:)k(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)42 -b Ft(110)399 2791 y(8.4.7)93 b(Keyb)s(oard)29 b(Macros)21 +b Ft(112)399 2791 y(8.4.7)93 b(Keyb)s(oard)29 b(Macros)21 b Fm(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)g(:)51 b Ft(112)399 2901 y(8.4.8)93 b(Some)30 +h(:)f(:)h(:)f(:)g(:)51 b Ft(114)399 2901 y(8.4.8)93 b(Some)30 b(Miscellaneous)j(Commands)24 b Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)55 -b Ft(112)275 3010 y(8.5)92 b(Readline)31 b(vi)f(Mo)s(de)20 +b Ft(114)275 3010 y(8.5)92 b(Readline)31 b(vi)f(Mo)s(de)20 b Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)50 b Ft(115)275 +h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)50 b Ft(117)275 3120 y(8.6)92 b(Programmable)30 b(Completion)16 b Fm(:)g(:)f(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)46 -b Ft(115)275 3230 y(8.7)92 b(Programmable)30 b(Completion)h(Builtins)c +b Ft(117)275 3230 y(8.7)92 b(Programmable)30 b(Completion)h(Builtins)c Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f -(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)56 b Ft(117)150 +(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)56 b Ft(119)150 3472 y Fr(9)135 b(Using)45 b(History)h(In)l(teractiv)l(ely)39 b Fn(:)19 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h -(:)80 b Fr(121)275 3609 y Ft(9.1)92 b(Bash)30 b(History)h(F)-8 +(:)80 b Fr(123)275 3609 y Ft(9.1)92 b(Bash)30 b(History)h(F)-8 b(acilities)21 b Fm(:)d(:)e(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)51 b Ft(121)275 3719 +g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)51 b Ft(123)275 3719 y(9.2)92 b(Bash)30 b(History)h(Builtins)19 b Fm(:)d(:)g(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)49 -b Ft(121)275 3828 y(9.3)92 b(History)31 b(Expansion)21 +b Ft(123)275 3828 y(9.3)92 b(History)31 b(Expansion)21 b Fm(:)15 b(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)52 b Ft(123)399 3938 +f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)52 b Ft(125)399 3938 y(9.3.1)93 b(Ev)m(en)m(t)31 b(Designators)10 b Fm(:)18 b(:)d(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)40 b Ft(123)399 4047 y(9.3.2)93 b(W)-8 b(ord)31 +h(:)f(:)h(:)40 b Ft(125)399 4047 y(9.3.2)93 b(W)-8 b(ord)31 b(Designators)17 b Fm(:)g(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)47 b Ft(124)399 4157 +h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)47 b Ft(126)399 4157 y(9.3.3)93 b(Mo)s(di\014ers)26 b Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)g(:)h(:)57 b Ft(125)150 4399 y Fr(10)135 b(Installing)46 +(:)f(:)g(:)h(:)57 b Ft(127)150 4399 y Fr(10)135 b(Installing)46 b(Bash)24 b Fn(:)c(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)68 -b Fr(127)275 4536 y Ft(10.1)92 b(Basic)32 b(Installation)20 +b Fr(129)275 4536 y Ft(10.1)92 b(Basic)32 b(Installation)20 b Fm(:)d(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g -(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)50 b Ft(127)275 4646 +(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)50 b Ft(129)275 4646 y(10.2)92 b(Compilers)30 b(and)g(Options)8 b Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)38 b Ft(128)275 4755 y(10.3)92 b(Compiling)30 +f(:)h(:)38 b Ft(130)275 4755 y(10.3)92 b(Compiling)30 b(F)-8 b(or)32 b(Multiple)f(Arc)m(hitectures)21 b Fm(:)c(:)e(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g -(:)52 b Ft(128)275 4865 y(10.4)92 b(Installation)32 b(Names)13 +(:)52 b Ft(130)275 4865 y(10.4)92 b(Installation)32 b(Names)13 b Fm(:)j(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)43 b Ft(128)275 4975 y(10.5)92 +(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)43 b Ft(130)275 4975 y(10.5)92 b(Sp)s(ecifying)30 b(the)g(System)h(T)m(yp)s(e)12 b Fm(:)j(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)42 b Ft(128)275 +g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)42 b Ft(130)275 5084 y(10.6)92 b(Sharing)30 b(Defaults)15 b Fm(:)i(:)e(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)g(:)46 b Ft(129)275 5194 y(10.7)92 b(Op)s(eration)30 +(:)f(:)g(:)46 b Ft(131)275 5194 y(10.7)92 b(Op)s(eration)30 b(Con)m(trols)24 b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f -(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)54 b Ft(129)275 +(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)54 b Ft(131)275 5303 y(10.8)92 b(Optional)31 b(F)-8 b(eatures)10 b Fm(:)17 b(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)f(:)g(:)h(:)f(:)h(:)40 b Ft(129)p eop end +f(:)h(:)f(:)g(:)h(:)f(:)h(:)40 b Ft(131)p eop end %%Page: -4 6 TeXDict begin -4 5 bop 150 -116 a Ft(iv)2589 b(Bash)31 b(Reference)g(Man)m(ual)150 83 y Fr(App)t(endix)44 b(A)160 b(Rep)t(orting)46 b(Bugs)35 b Fn(:)20 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f -(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)80 b Fr(135)150 353 y(App)t(endix)44 +(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)80 b Fr(137)150 353 y(App)t(endix)44 b(B)166 b(Ma)7 b(jor)45 b(Di\013erences)i(F)-11 b(rom)44 b(The)419 486 y(Bourne)g(Shell)35 b Fn(:)19 b(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)78 b Fr(137)275 623 y Ft(B.1)92 +h(:)f(:)h(:)f(:)g(:)h(:)f(:)78 b Fr(139)275 623 y Ft(B.1)92 b(Implemen)m(tation)31 b(Di\013erences)h(F)-8 b(rom)31 b(The)e(SVR4.2)j(Shell)13 b Fm(:)i(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)43 -b Ft(141)150 865 y Fr(App)t(endix)h(C)165 b(GNU)45 b(F)-11 +b Ft(143)150 865 y Fr(App)t(endix)h(C)165 b(GNU)45 b(F)-11 b(ree)45 b(Do)t(cumen)l(tation)h(License)439 998 y Fn(:)19 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)64 b Fr(143)150 +h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)64 b Fr(145)150 1268 y(App)t(endix)44 b(D)159 b(Indexes)15 b Fn(:)20 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f -(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)59 b Fr(151)275 1405 +(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)59 b Fr(153)275 1405 y Ft(D.1)92 b(Index)29 b(of)i(Shell)f(Builtin)h(Commands)16 b Fm(:)e(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)46 b Ft(151)275 +h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)46 b Ft(153)275 1514 y(D.2)92 b(Index)29 b(of)i(Shell)f(Reserv)m(ed)h(W)-8 b(ords)12 b Fm(:)j(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)42 -b Ft(152)275 1624 y(D.3)92 b(P)m(arameter)31 b(and)f(V)-8 +b Ft(154)275 1624 y(D.3)92 b(P)m(arameter)31 b(and)f(V)-8 b(ariable)32 b(Index)20 b Fm(:)14 b(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)f(:)50 b Ft(152)275 1733 y(D.4)92 b(F)-8 b(unction)31 +f(:)h(:)f(:)50 b Ft(154)275 1733 y(D.4)92 b(F)-8 b(unction)31 b(Index)16 b Fm(:)f(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)47 -b Ft(154)275 1843 y(D.5)92 b(Concept)30 b(Index)d Fm(:)15 +b Ft(156)275 1843 y(D.5)92 b(Concept)30 b(Index)d Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)57 b Ft(156)p +f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)57 b Ft(158)p eop end %%Page: 1 7 TeXDict begin 1 6 bop 150 -116 a Ft(Chapter)30 b(1:)41 @@ -4981,7 +4985,7 @@ b(ariable)24 b(and)e(function)h(names.)630 4020 y(Also)31 b(referred)f(to)h(as)f(an)h Fs(identifier)p Ft(.)150 4186 y Fs(operator)96 b Ft(A)38 b Fs(control)28 b(operator)36 b Ft(or)h(a)i Fs(redirection)27 b(operator)p Ft(.)61 -b(See)38 b(Section)g(3.6)h([Redirec-)630 4295 y(tions],)f(page)f(26,)i +b(See)38 b(Section)g(3.6)h([Redirec-)630 4295 y(tions],)f(page)f(27,)i (for)d(a)g(list)h(of)f(redirection)h(op)s(erators.)58 b(Op)s(erators)35 b(con)m(tain)j(at)f(least)630 4405 y(one)31 b(unquoted)e Fs(metacharacter)p Ft(.)150 4570 @@ -5055,34 +5059,34 @@ y Ft(The)c(follo)m(wing)h(is)f(a)h(brief)e(description)i(of)f(the)g (shell's)h(op)s(eration)f(when)f(it)i(reads)f(and)f(executes)j(a)150 3297 y(command.)h(Basically)-8 b(,)34 b(the)c(shell)h(do)s(es)f(the)h (follo)m(wing:)199 3454 y(1.)61 b(Reads)42 b(its)h(input)e(from)h(a)g -(\014le)h(\(see)g(Section)g(3.8)g([Shell)f(Scripts],)j(page)e(33\),)k +(\014le)h(\(see)g(Section)g(3.8)g([Shell)f(Scripts],)j(page)e(34\),)k (from)41 b(a)i(string)330 3564 y(supplied)26 b(as)i(an)f(argumen)m(t)g (to)h(the)g(`)p Fs(-c)p Ft(')f(in)m(v)m(o)s(cation)i(option)f(\(see)g -(Section)h(6.1)f([In)m(v)m(oking)g(Bash],)330 3673 y(page)j(71\),)h(or) +(Section)h(6.1)f([In)m(v)m(oking)g(Bash],)330 3673 y(page)j(73\),)h(or) e(from)g(the)h(user's)f(terminal.)199 3820 y(2.)61 b(Breaks)43 b(the)g(input)f(in)m(to)h(w)m(ords)f(and)g(op)s(erators,)k(ob)s(eying)d (the)g(quoting)g(rules)f(describ)s(ed)f(in)330 3929 y(Section)27 b(3.1.2)i([Quoting],)f(page)f(6.)40 b(These)26 b(tok)m(ens)i(are)f (separated)g(b)m(y)f Fs(metacharacters)p Ft(.)36 b(Alias)330 4039 y(expansion)30 b(is)h(p)s(erformed)d(b)m(y)j(this)f(step)g(\(see)i -(Section)f(6.6)g([Aliases],)i(page)e(79\).)199 4185 y(3.)61 +(Section)f(6.6)g([Aliases],)i(page)e(81\).)199 4185 y(3.)61 b(P)m(arses)35 b(the)g(tok)m(ens)g(in)m(to)h(simple)e(and)g(comp)s (ound)f(commands)h(\(see)h(Section)h(3.2)f([Shell)g(Com-)330 -4294 y(mands],)30 b(page)h(7\).)199 4441 y(4.)61 b(P)m(erforms)40 +4294 y(mands],)30 b(page)h(8\).)199 4441 y(4.)61 b(P)m(erforms)40 b(the)h(v)-5 b(arious)40 b(shell)h(expansions)f(\(see)h(Section)g(3.5)g -([Shell)g(Expansions],)h(page)f(17\),)330 4550 y(breaking)35 +([Shell)g(Expansions],)h(page)f(18\),)330 4550 y(breaking)35 b(the)g(expanded)g(tok)m(ens)h(in)m(to)g(lists)f(of)g(\014lenames)h (\(see)g(Section)f(3.5.8)i([Filename)g(Ex-)330 4660 y(pansion],)30 -b(page)h(24\))h(and)e(commands)g(and)g(argumen)m(ts.)199 +b(page)h(25\))h(and)e(commands)g(and)g(argumen)m(ts.)199 4806 y(5.)61 b(P)m(erforms)36 b(an)m(y)i(necessary)f(redirections)g -(\(see)h(Section)f(3.6)h([Redirections],)i(page)e(26\))g(and)e(re-)330 +(\(see)h(Section)f(3.6)h([Redirections],)i(page)e(27\))g(and)e(re-)330 4915 y(mo)m(v)m(es)c(the)e(redirection)h(op)s(erators)g(and)f(their)g (op)s(erands)f(from)h(the)h(argumen)m(t)f(list.)199 5062 y(6.)61 b(Executes)31 b(the)g(command)f(\(see)h(Section)g(3.7)h -([Executing)f(Commands],)f(page)h(29\).)199 5208 y(7.)61 +([Executing)f(Commands],)f(page)h(30\).)199 5208 y(7.)61 b(Optionally)40 b(w)m(aits)g(for)f(the)g(command)g(to)h(complete)g(and) f(collects)i(its)f(exit)g(status)f(\(see)h(Sec-)330 5317 -y(tion)31 b(3.7.5)h([Exit)f(Status],)g(page)g(32\).)p +y(tion)31 b(3.7.5)h([Exit)f(Status],)g(page)g(33\).)p eop end %%Page: 6 12 TeXDict begin 6 11 bop 150 -116 a Ft(6)2617 b(Bash)31 @@ -5099,11 +5103,11 @@ e(sp)s(ecial)i(meaning)150 902 y(to)40 b(the)g(shell)f(and)g(m)m(ust)g (b)s(e)g(quoted)g(if)h(it)g(is)f(to)h(represen)m(t)g(itself.)68 b(When)39 b(the)h(command)f(history)150 1012 y(expansion)i(facilities)j (are)e(b)s(eing)f(used)g(\(see)h(Section)h(9.3)f([History)h(In)m -(teraction],)j(page)c(123\),)47 b(the)150 1122 y Fq(history)30 +(teraction],)j(page)c(125\),)47 b(the)150 1122 y Fq(history)30 b(expansion)h Ft(c)m(haracter,)h(usually)f(`)p Fs(!)p Ft(',)g(m)m(ust)f(b)s(e)g(quoted)h(to)g(prev)m(en)m(t)g(history)g (expansion.)41 b(See)150 1231 y(Section)22 b(9.1)g([Bash)f(History)h(F) --8 b(acilities],)26 b(page)c(121,)j(for)20 b(more)h(details)h +-8 b(acilities],)26 b(page)c(123,)j(for)20 b(more)h(details)h (concerning)g(history)f(expansion.)275 1359 y(There)36 b(are)i(three)f(quoting)g(mec)m(hanisms:)55 b(the)37 b Fq(escap)s(e)h(c)m(haracter)7 b Ft(,)40 b(single)d(quotes,)j(and)c @@ -5134,7 +5138,7 @@ Ft(',)h(`)p Fs(`)p Ft(',)g(`)p Fs(\\)p Ft(',)g(and,)f(when)f(history)g y(The)25 b(c)m(haracters)h(`)p Fs($)p Ft(')g(and)f(`)p Fs(`)p Ft(')g(retain)h(their)f(sp)s(ecial)h(meaning)f(within)g(double)g (quotes)h(\(see)g(Section)g(3.5)150 3345 y([Shell)j(Expansions],)g -(page)h(17\).)41 b(The)28 b(bac)m(kslash)i(retains)f(its)h(sp)s(ecial)f +(page)h(18\).)41 b(The)28 b(bac)m(kslash)i(retains)f(its)h(sp)s(ecial)f (meaning)g(only)g(when)f(follo)m(w)m(ed)150 3454 y(b)m(y)41 b(one)f(of)h(the)g(follo)m(wing)h(c)m(haracters:)63 b(`)p Fs($)p Ft(',)43 b(`)p Fs(`)p Ft(',)h(`)p Fs(")p Ft(',)g(`)p @@ -5153,7 +5157,7 @@ b(preceding)f(the)h(`)p Fs(!)p Ft(')f(is)h(not)g(remo)m(v)m(ed.)275 4130 y(The)41 b(sp)s(ecial)h(parameters)f(`)p Fs(*)p Ft(')h(and)f(`)p Fs(@)p Ft(')h(ha)m(v)m(e)g(sp)s(ecial)g(meaning)g (when)f(in)g(double)g(quotes)h(\(see)150 4240 y(Section)31 -b(3.5.3)h([Shell)f(P)m(arameter)h(Expansion],)e(page)h(19\).)150 +b(3.5.3)h([Shell)f(P)m(arameter)h(Expansion],)e(page)h(21\).)150 4426 y Fj(3.1.2.4)63 b(ANSI-C)40 b(Quoting)150 4573 y Ft(W)-8 b(ords)41 b(of)h(the)f(form)g Fs($')p Fi(string)11 b Fs(')38 b Ft(are)k(treated)g(sp)s(ecially)-8 b(.)75 @@ -5168,2184 +5172,2274 @@ b Ft(alert)31 b(\(b)s(ell\))150 5084 y Fs(\\b)384 b Ft(bac)m(kspace)150 %%Page: 7 13 TeXDict begin 7 12 bop 150 -116 a Ft(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2292 b(7)150 299 -y Fs(\\f)384 b Ft(form)30 b(feed)150 475 y Fs(\\n)384 -b Ft(newline)150 652 y Fs(\\r)g Ft(carriage)32 b(return)150 -828 y Fs(\\t)384 b Ft(horizon)m(tal)32 b(tab)150 1005 -y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)150 1181 y Fs(\\\\)384 -b Ft(bac)m(kslash)150 1358 y Fs(\\')g Ft(single)31 b(quote)150 -1534 y Fs(\\")384 b Ft(double)30 b(quote)150 1711 y Fs(\\)p +y Fs(\\f)384 b Ft(form)30 b(feed)150 488 y Fs(\\n)384 +b Ft(newline)150 678 y Fs(\\r)g Ft(carriage)32 b(return)150 +868 y Fs(\\t)384 b Ft(horizon)m(tal)32 b(tab)150 1057 +y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)150 1247 y Fs(\\\\)384 +b Ft(bac)m(kslash)150 1436 y Fs(\\')g Ft(single)31 b(quote)150 +1626 y Fs(\\")384 b Ft(double)30 b(quote)150 1816 y Fs(\\)p Fi(nnn)288 b Ft(the)31 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e(v)-5 b(alue)31 b(is)f(the)h(o)s(ctal)g(v)-5 b(alue)31 b Fq(nnn)e -Ft(\(one)i(to)g(three)g(digits\))150 1887 y Fs(\\x)p +Ft(\(one)i(to)g(three)g(digits\))150 2005 y Fs(\\x)p Fi(HH)288 b Ft(the)36 b(eigh)m(t-bit)i(c)m(haracter)f(whose)f(v)-5 b(alue)36 b(is)g(the)g(hexadecimal)h(v)-5 b(alue)36 b -Fq(HH)46 b Ft(\(one)37 b(or)f(t)m(w)m(o)630 1997 y(hex)30 -b(digits\))150 2173 y Fs(\\c)p Fi(x)336 b Ft(a)31 b(con)m(trol-)p -Fq(x)38 b Ft(c)m(haracter)150 2358 y(The)30 b(expanded)f(result)i(is)f +Fq(HH)46 b Ft(\(one)37 b(or)f(t)m(w)m(o)630 2115 y(hex)30 +b(digits\))150 2304 y Fs(\\u)p Fi(HHHH)192 b Ft(the)33 +b(Unico)s(de)f(\(ISO/IEC)g(10646\))j(c)m(haracter)f(whose)e(v)-5 +b(alue)33 b(is)g(the)g(hexadecimal)g(v)-5 b(alue)630 +2414 y Fq(HHHH)41 b Ft(\(one)31 b(to)g(four)f(hex)g(digits\))150 +2604 y Fs(\\U)p Fi(HHHHHHHH)630 2713 y Ft(the)j(Unico)s(de)f(\(ISO/IEC) +g(10646\))j(c)m(haracter)f(whose)e(v)-5 b(alue)33 b(is)g(the)g +(hexadecimal)g(v)-5 b(alue)630 2823 y Fq(HHHHHHHH)42 +b Ft(\(one)31 b(to)g(eigh)m(t)g(hex)g(digits\))150 3012 +y Fs(\\c)p Fi(x)336 b Ft(a)31 b(con)m(trol-)p Fq(x)38 +b Ft(c)m(haracter)150 3217 y(The)30 b(expanded)f(result)i(is)f (single-quoted,)i(as)f(if)f(the)g(dollar)h(sign)g(had)e(not)i(b)s(een)f -(presen)m(t.)150 2575 y Fj(3.1.2.5)63 b(Lo)s(cale-Sp)s(eci\014c)41 -b(T)-10 b(ranslation)150 2722 y Ft(A)28 b(double-quoted)g(string)f +(presen)m(t.)150 3446 y Fj(3.1.2.5)63 b(Lo)s(cale-Sp)s(eci\014c)41 +b(T)-10 b(ranslation)150 3593 y Ft(A)28 b(double-quoted)g(string)f (preceded)h(b)m(y)f(a)h(dollar)h(sign)e(\(`)p Fs($)p Ft('\))i(will)f(cause)g(the)g(string)g(to)g(b)s(e)f(translated)150 -2831 y(according)f(to)f(the)g(curren)m(t)g(lo)s(cale.)41 +3703 y(according)f(to)f(the)g(curren)m(t)g(lo)s(cale.)41 b(If)24 b(the)h(curren)m(t)g(lo)s(cale)h(is)f Fs(C)g Ft(or)g Fs(POSIX)p Ft(,)f(the)h(dollar)h(sign)f(is)g(ignored.)150 -2941 y(If)30 b(the)g(string)h(is)f(translated)h(and)f(replaced,)h(the)g -(replacemen)m(t)h(is)e(double-quoted.)275 3093 y(Some)20 +3813 y(If)30 b(the)g(string)h(is)f(translated)h(and)f(replaced,)h(the)g +(replacemen)m(t)h(is)e(double-quoted.)275 3977 y(Some)20 b(systems)h(use)f(the)h(message)h(catalog)h(selected)f(b)m(y)f(the)g Fs(LC_MESSAGES)c Ft(shell)k(v)-5 b(ariable.)39 b(Others)150 -3202 y(create)g(the)e(name)g(of)g(the)g(message)h(catalog)i(from)d(the) +4087 y(create)g(the)e(name)g(of)g(the)g(message)h(catalog)i(from)d(the) g(v)-5 b(alue)37 b(of)g(the)h Fs(TEXTDOMAIN)c Ft(shell)j(v)-5 -b(ariable,)150 3312 y(p)s(ossibly)31 b(adding)g(a)g(su\016x)g(of)h(`)p +b(ariable,)150 4196 y(p)s(ossibly)31 b(adding)g(a)g(su\016x)g(of)h(`)p Fs(.mo)p Ft('.)43 b(If)31 b(y)m(ou)h(use)f(the)h Fs(TEXTDOMAIN)c Ft(v)-5 b(ariable,)33 b(y)m(ou)f(ma)m(y)g(need)f(to)h(set)150 -3421 y(the)22 b Fs(TEXTDOMAINDIR)d Ft(v)-5 b(ariable)23 +4306 y(the)22 b Fs(TEXTDOMAINDIR)d Ft(v)-5 b(ariable)23 b(to)g(the)f(lo)s(cation)i(of)e(the)h(message)g(catalog)i(\014les.)38 -b(Still)23 b(others)f(use)g(b)s(oth)150 3531 y(v)-5 b(ariables)31 +b(Still)23 b(others)f(use)g(b)s(oth)150 4416 y(v)-5 b(ariables)31 b(in)f(this)g(fashion:)41 b Fs(TEXTDOMAINDIR)p Ft(/)p -Fs(LC_MESSAGES)p Ft(/LC)p 2528 3531 28 4 v 34 w(MESSA)m(GES/)p -Fs(TEXTDOMAIN)p Ft(.mo.)150 3747 y Fj(3.1.3)63 b(Commen)m(ts)150 -3894 y Ft(In)21 b(a)i(non-in)m(teractiv)m(e)h(shell,)g(or)e(an)g(in)m +Fs(LC_MESSAGES)p Ft(/LC)p 2528 4416 28 4 v 34 w(MESSA)m(GES/)p +Fs(TEXTDOMAIN)p Ft(.mo.)150 4645 y Fj(3.1.3)63 b(Commen)m(ts)150 +4792 y Ft(In)21 b(a)i(non-in)m(teractiv)m(e)h(shell,)g(or)e(an)g(in)m (teractiv)m(e)j(shell)d(in)g(whic)m(h)g(the)g Fs(interactive_comments) -16 b Ft(option)150 4004 y(to)40 b(the)f Fs(shopt)e Ft(builtin)h(is)h +16 b Ft(option)150 4902 y(to)40 b(the)f Fs(shopt)e Ft(builtin)h(is)h (enabled)g(\(see)h(Section)g(4.3.2)g([The)f(Shopt)f(Builtin],)k(page)e -(55\),)i(a)d(w)m(ord)150 4113 y(b)s(eginning)26 b(with)g(`)p +(57\),)i(a)d(w)m(ord)150 5011 y(b)s(eginning)26 b(with)g(`)p Fs(#)p Ft(')g(causes)h(that)f(w)m(ord)g(and)g(all)h(remaining)g(c)m (haracters)g(on)f(that)h(line)g(to)g(b)s(e)f(ignored.)150 -4223 y(An)43 b(in)m(teractiv)m(e)j(shell)e(without)f(the)g +5121 y(An)43 b(in)m(teractiv)m(e)j(shell)e(without)f(the)g Fs(interactive_comments)38 b Ft(option)44 b(enabled)f(do)s(es)g(not)g -(allo)m(w)150 4333 y(commen)m(ts.)56 b(The)34 b Fs +(allo)m(w)150 5230 y(commen)m(ts.)56 b(The)34 b Fs (interactive_comments)c Ft(option)35 b(is)g(on)g(b)m(y)g(default)g(in)g -(in)m(teractiv)m(e)j(shells.)55 b(See)150 4442 y(Section)30 -b(6.3)f([In)m(teractiv)m(e)j(Shells],)d(page)h(74,)g(for)e(a)i -(description)e(of)h(what)g(mak)m(es)h(a)f(shell)g(in)m(teractiv)m(e.) -150 4700 y Fr(3.2)68 b(Shell)45 b(Commands)150 4860 y -Ft(A)d(simple)g(shell)g(command)f(suc)m(h)h(as)g Fs(echo)29 -b(a)h(b)g(c)41 b Ft(consists)i(of)f(the)f(command)h(itself)h(follo)m(w) -m(ed)g(b)m(y)150 4969 y(argumen)m(ts,)31 b(separated)g(b)m(y)f(spaces.) -275 5121 y(More)h(complex)h(shell)f(commands)g(are)g(comp)s(osed)g(of)g -(simple)g(commands)g(arranged)g(together)h(in)150 5230 -y(a)f(v)-5 b(ariet)m(y)32 b(of)f(w)m(a)m(ys:)41 b(in)31 -b(a)g(pip)s(eline)f(in)g(whic)m(h)g(the)h(output)f(of)h(one)f(command)h -(b)s(ecomes)f(the)h(input)f(of)150 5340 y(a)h(second,)f(in)h(a)f(lo)s -(op)h(or)f(conditional)i(construct,)f(or)f(in)g(some)h(other)g -(grouping.)p eop end +(in)m(teractiv)m(e)j(shells.)55 b(See)150 5340 y(Section)30 +b(6.3)f([In)m(teractiv)m(e)j(Shells],)d(page)h(76,)g(for)e(a)i +(description)e(of)h(what)g(mak)m(es)h(a)f(shell)g(in)m(teractiv)m(e.)p +eop end %%Page: 8 14 TeXDict begin 8 13 bop 150 -116 a Ft(8)2617 b(Bash)31 -b(Reference)g(Man)m(ual)150 299 y Fj(3.2.1)63 b(Simple)41 -b(Commands)150 446 y Ft(A)29 b(simple)f(command)g(is)h(the)g(kind)e(of) -i(command)f(encoun)m(tered)h(most)g(often.)40 b(It's)29 -b(just)f(a)h(sequence)g(of)150 555 y(w)m(ords)22 b(separated)i(b)m(y)e -Fs(blank)p Ft(s,)i(terminated)f(b)m(y)g(one)g(of)g(the)g(shell's)g(con) -m(trol)h(op)s(erators)f(\(see)h(Chapter)f(2)150 665 y([De\014nitions],) -37 b(page)e(3\).)54 b(The)35 b(\014rst)e(w)m(ord)i(generally)g(sp)s +b(Reference)g(Man)m(ual)150 299 y Fr(3.2)68 b(Shell)45 +b(Commands)150 458 y Ft(A)d(simple)g(shell)g(command)f(suc)m(h)h(as)g +Fs(echo)29 b(a)h(b)g(c)41 b Ft(consists)i(of)f(the)f(command)h(itself)h +(follo)m(w)m(ed)g(b)m(y)150 568 y(argumen)m(ts,)31 b(separated)g(b)m(y) +f(spaces.)275 702 y(More)h(complex)h(shell)f(commands)g(are)g(comp)s +(osed)g(of)g(simple)g(commands)g(arranged)g(together)h(in)150 +812 y(a)f(v)-5 b(ariet)m(y)32 b(of)f(w)m(a)m(ys:)41 b(in)31 +b(a)g(pip)s(eline)f(in)g(whic)m(h)g(the)h(output)f(of)h(one)f(command)h +(b)s(ecomes)f(the)h(input)f(of)150 921 y(a)h(second,)f(in)h(a)f(lo)s +(op)h(or)f(conditional)i(construct,)f(or)f(in)g(some)h(other)g +(grouping.)150 1120 y Fj(3.2.1)63 b(Simple)41 b(Commands)150 +1267 y Ft(A)29 b(simple)f(command)g(is)h(the)g(kind)e(of)i(command)f +(encoun)m(tered)h(most)g(often.)40 b(It's)29 b(just)f(a)h(sequence)g +(of)150 1376 y(w)m(ords)22 b(separated)i(b)m(y)e Fs(blank)p +Ft(s,)i(terminated)f(b)m(y)g(one)g(of)g(the)g(shell's)g(con)m(trol)h +(op)s(erators)f(\(see)h(Chapter)f(2)150 1486 y([De\014nitions],)37 +b(page)e(3\).)54 b(The)35 b(\014rst)e(w)m(ord)i(generally)g(sp)s (eci\014es)g(a)g(command)f(to)h(b)s(e)f(executed,)j(with)150 -775 y(the)31 b(rest)f(of)h(the)f(w)m(ords)g(b)s(eing)g(that)h -(command's)f(argumen)m(ts.)275 912 y(The)h(return)h(status)g(\(see)i -(Section)f(3.7.5)h([Exit)f(Status],)h(page)f(32\))g(of)g(a)g(simple)f -(command)g(is)h(its)150 1022 y(exit)38 b(status)f(as)g(pro)m(vided)f(b) +1595 y(the)31 b(rest)f(of)h(the)f(w)m(ords)g(b)s(eing)g(that)h +(command's)f(argumen)m(ts.)275 1730 y(The)h(return)h(status)g(\(see)i +(Section)f(3.7.5)h([Exit)f(Status],)h(page)f(33\))g(of)g(a)g(simple)f +(command)g(is)h(its)150 1839 y(exit)38 b(status)f(as)g(pro)m(vided)f(b) m(y)h(the)g Fl(posix)f Ft(1003.1)j Fs(waitpid)c Ft(function,)j(or)f -(128)p Fs(+)p Fq(n)g Ft(if)g(the)g(command)150 1131 y(w)m(as)31 -b(terminated)g(b)m(y)f(signal)h Fq(n)p Ft(.)150 1333 -y Fj(3.2.2)63 b(Pip)s(elines)150 1480 y Ft(A)35 b Fs(pipeline)e +(128)p Fs(+)p Fq(n)g Ft(if)g(the)g(command)150 1949 y(w)m(as)31 +b(terminated)g(b)m(y)f(signal)h Fq(n)p Ft(.)150 2147 +y Fj(3.2.2)63 b(Pip)s(elines)150 2294 y Ft(A)35 b Fs(pipeline)e Ft(is)j(a)f(sequence)h(of)f(simple)g(commands)g(separated)h(b)m(y)f -(one)g(of)h(the)f(con)m(trol)i(op)s(erators)150 1590 -y(`)p Fs(|)p Ft(')31 b(or)f(`)p Fs(|&)p Ft('.)275 1727 -y(The)f(format)i(for)f(a)h(pip)s(eline)f(is)390 1865 +(one)g(of)h(the)f(con)m(trol)i(op)s(erators)150 2404 +y(`)p Fs(|)p Ft(')31 b(or)f(`)p Fs(|&)p Ft('.)275 2538 +y(The)f(format)i(for)f(a)h(pip)s(eline)f(is)390 2672 y Fs([time)46 b([-p]])h([!])g Fi(command1)56 b Fs([)47 -b([|)g(or)h(|&])e Fi(command2)56 b Fs(...])150 2002 y +b([|)g(or)h(|&])e Fi(command2)56 b Fs(...])150 2806 y Ft(The)25 b(output)f(of)i(eac)m(h)g(command)f(in)f(the)i(pip)s(eline)e (is)i(connected)g(via)f(a)h(pip)s(e)e(to)i(the)f(input)f(of)h(the)h -(next)150 2112 y(command.)40 b(That)29 b(is,)h(eac)m(h)h(command)e +(next)150 2916 y(command.)40 b(That)29 b(is,)h(eac)m(h)h(command)e (reads)g(the)h(previous)f(command's)g(output.)40 b(This)29 -b(connection)150 2221 y(is)h(p)s(erformed)f(b)s(efore)h(an)m(y)h +b(connection)150 3025 y(is)h(p)s(erformed)f(b)s(efore)h(an)m(y)h (redirections)g(sp)s(eci\014ed)f(b)m(y)g(the)g(command.)275 -2359 y(If)j(`)p Fs(|&)p Ft(')h(is)h(used,)f(the)h(standard)e(error)h +3160 y(If)j(`)p Fs(|&)p Ft(')h(is)h(used,)f(the)h(standard)e(error)h (of)g Fq(command1)42 b Ft(is)34 b(connected)h(to)g Fq(command2)7 -b Ft('s)35 b(standard)150 2468 y(input)25 b(through)g(the)h(pip)s(e;)h +b Ft('s)35 b(standard)150 3269 y(input)25 b(through)g(the)h(pip)s(e;)h (it)f(is)g(shorthand)f(for)g Fs(2>&1)k(|)p Ft(.)39 b(This)25 -b(implicit)i(redirection)g(of)f(the)g(standard)150 2578 +b(implicit)i(redirection)g(of)f(the)g(standard)150 3379 y(error)k(is)g(p)s(erformed)f(after)i(an)m(y)g(redirections)g(sp)s -(eci\014ed)e(b)m(y)i(the)f(command.)275 2715 y(The)36 +(eci\014ed)e(b)m(y)i(the)f(command.)275 3513 y(The)36 b(reserv)m(ed)g(w)m(ord)g Fs(time)g Ft(causes)h(timing)g(statistics)h (to)f(b)s(e)f(prin)m(ted)g(for)g(the)h(pip)s(eline)f(once)h(it)150 -2825 y(\014nishes.)51 b(The)34 b(statistics)i(curren)m(tly)e(consist)h +3622 y(\014nishes.)51 b(The)34 b(statistics)i(curren)m(tly)e(consist)h (of)f(elapsed)h(\(w)m(all-clo)s(c)m(k\))i(time)e(and)f(user)f(and)h -(system)150 2935 y(time)i(consumed)f(b)m(y)g(the)h(command's)f +(system)150 3732 y(time)i(consumed)f(b)m(y)g(the)h(command's)f (execution.)57 b(The)35 b(`)p Fs(-p)p Ft(')h(option)f(c)m(hanges)i(the) -f(output)f(format)150 3044 y(to)i(that)f(sp)s(eci\014ed)f(b)m(y)h +f(output)f(format)150 3842 y(to)i(that)f(sp)s(eci\014ed)f(b)m(y)h Fl(posix)p Ft(.)57 b(The)35 b Fs(TIMEFORMAT)e Ft(v)-5 b(ariable)37 b(ma)m(y)g(b)s(e)e(set)h(to)h(a)f(format)g(string)g(that) -150 3154 y(sp)s(eci\014es)29 b(ho)m(w)g(the)g(timing)g(information)h +150 3951 y(sp)s(eci\014es)29 b(ho)m(w)g(the)g(timing)g(information)h (should)d(b)s(e)i(displa)m(y)m(ed.)41 b(See)29 b(Section)h(5.2)g([Bash) -f(V)-8 b(ariables],)150 3263 y(page)29 b(61,)h(for)e(a)g(description)h +f(V)-8 b(ariables],)150 4061 y(page)29 b(63,)h(for)e(a)g(description)h (of)f(the)g(a)m(v)-5 b(ailable)31 b(formats.)40 b(The)28 b(use)g(of)g Fs(time)f Ft(as)i(a)f(reserv)m(ed)h(w)m(ord)f(p)s(er-)150 -3373 y(mits)g(the)g(timing)g(of)g(shell)g(builtins,)g(shell)g +4170 y(mits)g(the)g(timing)g(of)g(shell)g(builtins,)g(shell)g (functions,)g(and)f(pip)s(elines.)40 b(An)27 b(external)i -Fs(time)d Ft(command)150 3483 y(cannot)31 b(time)g(these)g(easily)-8 -b(.)275 3620 y(If)24 b(the)h(pip)s(eline)g(is)g(not)g(executed)h(async) -m(hronously)f(\(see)h(Section)g(3.2.3)h([Lists],)g(page)e(8\),)i(the)f -(shell)150 3730 y(w)m(aits)31 b(for)f(all)i(commands)e(in)g(the)g(pip)s -(eline)g(to)h(complete.)275 3867 y(Eac)m(h)25 b(command)g(in)g(a)g(pip) -s(eline)g(is)g(executed)h(in)f(its)g(o)m(wn)h(subshell)e(\(see)i -(Section)g(3.7.3)h([Command)150 3977 y(Execution)36 b(En)m(vironmen)m -(t],)i(page)e(30\).)58 b(The)36 b(exit)g(status)g(of)g(a)g(pip)s(eline) -g(is)f(the)h(exit)h(status)f(of)g(the)150 4086 y(last)27 -b(command)f(in)f(the)i(pip)s(eline,)f(unless)g(the)g -Fs(pipefail)e Ft(option)i(is)g(enabled)g(\(see)h(Section)g(4.3.1)h -([The)150 4196 y(Set)34 b(Builtin],)j(page)e(51\).)53 -b(If)34 b Fs(pipefail)e Ft(is)i(enabled,)h(the)g(pip)s(eline's)f -(return)f(status)h(is)h(the)f(v)-5 b(alue)35 b(of)150 -4305 y(the)d(last)h(\(righ)m(tmost\))h(command)e(to)h(exit)g(with)e(a)i -(non-zero)f(status,)h(or)f(zero)h(if)f(all)h(commands)f(exit)150 -4415 y(successfully)-8 b(.)67 b(If)38 b(the)h(reserv)m(ed)g(w)m(ord)g -(`)p Fs(!)p Ft(')g(precedes)g(the)g(pip)s(eline,)h(the)g(exit)f(status) -g(is)g(the)g(logical)150 4525 y(negation)h(of)f(the)f(exit)i(status)f -(as)f(describ)s(ed)g(ab)s(o)m(v)m(e.)66 b(The)38 b(shell)h(w)m(aits)h -(for)e(all)h(commands)g(in)f(the)150 4634 y(pip)s(eline)30 -b(to)h(terminate)g(b)s(efore)f(returning)g(a)h(v)-5 b(alue.)150 -4836 y Fj(3.2.3)63 b(Lists)41 b(of)h(Commands)150 4983 -y Ft(A)37 b Fs(list)e Ft(is)i(a)g(sequence)g(of)g(one)g(or)f(more)h -(pip)s(elines)f(separated)h(b)m(y)g(one)g(of)f(the)h(op)s(erators)g(`)p -Fs(;)p Ft(',)i(`)p Fs(&)p Ft(',)150 5093 y(`)p Fs(&&)p +Fs(time)d Ft(command)150 4280 y(cannot)31 b(time)g(these)g(easily)-8 +b(.)275 4414 y(When)29 b(the)h(shell)h(is)f(in)f Fl(posix)g +Ft(mo)s(de)h(\(see)h(Section)f(6.11)i([Bash)e(POSIX)f(Mo)s(de],)i(page) +g(86\),)g Fs(time)150 4524 y Ft(ma)m(y)26 b(b)s(e)f(follo)m(w)m(ed)j(b) +m(y)d(a)h(newline.)39 b(In)25 b(this)h(case,)i(the)d(shell)h(displa)m +(ys)g(the)g(total)h(user)e(and)g(system)h(time)150 4633 +y(consumed)33 b(b)m(y)h(the)h(shell)f(and)f(its)i(c)m(hildren.)51 +b(The)34 b Fs(TIMEFORMAT)d Ft(v)-5 b(ariable)35 b(ma)m(y)g(b)s(e)e +(used)g(to)i(sp)s(ecify)150 4743 y(the)c(format)f(of)h(the)f(time)h +(information.)275 4877 y(If)24 b(the)h(pip)s(eline)g(is)g(not)g +(executed)h(async)m(hronously)f(\(see)h(Section)g(3.2.3)h([Lists],)g +(page)e(9\),)i(the)f(shell)150 4987 y(w)m(aits)31 b(for)f(all)i +(commands)e(in)g(the)g(pip)s(eline)g(to)h(complete.)275 +5121 y(Eac)m(h)25 b(command)g(in)g(a)g(pip)s(eline)g(is)g(executed)h +(in)f(its)g(o)m(wn)h(subshell)e(\(see)i(Section)g(3.7.3)h([Command)150 +5230 y(Execution)36 b(En)m(vironmen)m(t],)i(page)e(32\).)58 +b(The)36 b(exit)g(status)g(of)g(a)g(pip)s(eline)g(is)f(the)h(exit)h +(status)f(of)g(the)150 5340 y(last)27 b(command)f(in)f(the)i(pip)s +(eline,)f(unless)g(the)g Fs(pipefail)e Ft(option)i(is)g(enabled)g +(\(see)h(Section)g(4.3.1)h([The)p eop end +%%Page: 9 15 +TeXDict begin 9 14 bop 150 -116 a Ft(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2292 b(9)150 299 +y(Set)34 b(Builtin],)j(page)e(53\).)53 b(If)34 b Fs(pipefail)e +Ft(is)i(enabled,)h(the)g(pip)s(eline's)f(return)f(status)h(is)h(the)f +(v)-5 b(alue)35 b(of)150 408 y(the)d(last)h(\(righ)m(tmost\))h(command) +e(to)h(exit)g(with)e(a)i(non-zero)f(status,)h(or)f(zero)h(if)f(all)h +(commands)f(exit)150 518 y(successfully)-8 b(.)67 b(If)38 +b(the)h(reserv)m(ed)g(w)m(ord)g(`)p Fs(!)p Ft(')g(precedes)g(the)g(pip) +s(eline,)h(the)g(exit)f(status)g(is)g(the)g(logical)150 +628 y(negation)h(of)f(the)f(exit)i(status)f(as)f(describ)s(ed)g(ab)s(o) +m(v)m(e.)66 b(The)38 b(shell)h(w)m(aits)h(for)e(all)h(commands)g(in)f +(the)150 737 y(pip)s(eline)30 b(to)h(terminate)g(b)s(efore)f(returning) +g(a)h(v)-5 b(alue.)150 964 y Fj(3.2.3)63 b(Lists)41 b(of)h(Commands)150 +1111 y Ft(A)37 b Fs(list)e Ft(is)i(a)g(sequence)g(of)g(one)g(or)f(more) +h(pip)s(elines)f(separated)h(b)m(y)g(one)g(of)f(the)h(op)s(erators)g(`) +p Fs(;)p Ft(',)i(`)p Fs(&)p Ft(',)150 1220 y(`)p Fs(&&)p Ft(',)31 b(or)f(`)p Fs(||)p Ft(',)g(and)g(optionally)i(terminated)f(b)m (y)f(one)h(of)f(`)p Fs(;)p Ft(',)h(`)p Fs(&)p Ft(',)g(or)f(a)h -Fs(newline)p Ft(.)275 5230 y(Of)23 b(these)h(list)g(op)s(erators,)i(`)p +Fs(newline)p Ft(.)275 1382 y(Of)23 b(these)h(list)g(op)s(erators,)i(`)p Fs(&&)p Ft(')d(and)g(`)p Fs(||)p Ft(')h(ha)m(v)m(e)h(equal)f (precedence,)i(follo)m(w)m(ed)f(b)m(y)f(`)p Fs(;)p Ft(')g(and)f(`)p -Fs(&)p Ft(',)i(whic)m(h)150 5340 y(ha)m(v)m(e)32 b(equal)e(precedence.) -p eop end -%%Page: 9 15 -TeXDict begin 9 14 bop 150 -116 a Ft(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2292 b(9)275 299 -y(A)29 b(sequence)h(of)g(one)g(or)g(more)g(newlines)f(ma)m(y)h(app)s -(ear)f(in)h(a)g Fs(list)e Ft(to)j(delimit)f(commands,)g(equiv-)150 -408 y(alen)m(t)i(to)f(a)g(semicolon.)275 551 y(If)c(a)h(command)f(is)h -(terminated)g(b)m(y)g(the)g(con)m(trol)h(op)s(erator)f(`)p +Fs(&)p Ft(',)i(whic)m(h)150 1492 y(ha)m(v)m(e)32 b(equal)e(precedence.) +275 1653 y(A)f(sequence)h(of)g(one)g(or)g(more)g(newlines)f(ma)m(y)h +(app)s(ear)f(in)h(a)g Fs(list)e Ft(to)j(delimit)f(commands,)g(equiv-) +150 1763 y(alen)m(t)i(to)f(a)g(semicolon.)275 1925 y(If)c(a)h(command)f +(is)h(terminated)g(b)m(y)g(the)g(con)m(trol)h(op)s(erator)f(`)p Fs(&)p Ft(',)h(the)e(shell)h(executes)h(the)f(command)150 -661 y(async)m(hronously)g(in)g(a)h(subshell.)39 b(This)28 +2034 y(async)m(hronously)g(in)g(a)h(subshell.)39 b(This)28 b(is)g(kno)m(wn)g(as)h(executing)h(the)e(command)h(in)f(the)g -Fq(bac)m(kground)t Ft(.)150 770 y(The)g(shell)h(do)s(es)f(not)h(w)m +Fq(bac)m(kground)t Ft(.)150 2144 y(The)g(shell)h(do)s(es)f(not)h(w)m (ait)g(for)f(the)h(command)f(to)i(\014nish,)d(and)h(the)h(return)e -(status)i(is)g(0)g(\(true\).)40 b(When)150 880 y(job)g(con)m(trol)h(is) -g(not)f(activ)m(e)i(\(see)f(Chapter)f(7)h([Job)f(Con)m(trol],)j(page)e -(89\),)j(the)d(standard)e(input)g(for)150 990 y(async)m(hronous)k -(commands,)k(in)d(the)f(absence)i(of)f(an)m(y)g(explicit)h -(redirections,)j(is)43 b(redirected)h(from)150 1099 y -Fs(/dev/null)p Ft(.)275 1242 y(Commands)19 b(separated)j(b)m(y)f(a)g(`) -p Fs(;)p Ft(')g(are)h(executed)g(sequen)m(tially;)k(the)21 -b(shell)g(w)m(aits)h(for)f(eac)m(h)h(command)150 1352 +(status)i(is)g(0)g(\(true\).)40 b(When)150 2253 y(job)g(con)m(trol)h +(is)g(not)f(activ)m(e)i(\(see)f(Chapter)f(7)h([Job)f(Con)m(trol],)j +(page)e(91\),)j(the)d(standard)e(input)g(for)150 2363 +y(async)m(hronous)k(commands,)k(in)d(the)f(absence)i(of)f(an)m(y)g +(explicit)h(redirections,)j(is)43 b(redirected)h(from)150 +2473 y Fs(/dev/null)p Ft(.)275 2634 y(Commands)19 b(separated)j(b)m(y)f +(a)g(`)p Fs(;)p Ft(')g(are)h(executed)g(sequen)m(tially;)k(the)21 +b(shell)g(w)m(aits)h(for)f(eac)m(h)h(command)150 2744 y(to)31 b(terminate)h(in)e(turn.)39 b(The)30 b(return)f(status)i(is)f (the)h(exit)g(status)g(of)g(the)f(last)h(command)f(executed.)275 -1494 y Fl(and)g Ft(and)h Fl(or)g Ft(lists)h(are)g(sequences)f(of)h(one) +2906 y Fl(and)g Ft(and)h Fl(or)g Ft(lists)h(are)g(sequences)f(of)h(one) g(or)f(more)h(pip)s(elines)e(separated)i(b)m(y)g(the)f(con)m(trol)i(op) -s(er-)150 1604 y(ators)e(`)p Fs(&&)p Ft(')f(and)g(`)p +s(er-)150 3015 y(ators)e(`)p Fs(&&)p Ft(')f(and)g(`)p Fs(||)p Ft(',)h(resp)s(ectiv)m(ely)-8 b(.)42 b Fl(and)30 b Ft(and)f Fl(or)h Ft(lists)h(are)g(executed)g(with)f(left)h(asso)s -(ciativit)m(y)-8 b(.)275 1747 y(An)30 b Fl(and)f Ft(list)i(has)f(the)h -(form)390 1890 y Fi(command1)56 b Fs(&&)47 b Fi(command2)150 -2032 y Fq(command2)38 b Ft(is)30 b(executed)i(if,)e(and)g(only)g(if,)h +(ciativit)m(y)-8 b(.)275 3177 y(An)30 b Fl(and)f Ft(list)i(has)f(the)h +(form)390 3339 y Fi(command1)56 b Fs(&&)47 b Fi(command2)150 +3500 y Fq(command2)38 b Ft(is)30 b(executed)i(if,)e(and)g(only)g(if,)h Fq(command1)38 b Ft(returns)29 b(an)h(exit)h(status)g(of)g(zero.)275 -2175 y(An)f Fl(or)f Ft(list)i(has)f(the)h(form)390 2318 -y Fi(command1)56 b Fs(||)47 b Fi(command2)150 2461 y +3662 y(An)f Fl(or)f Ft(list)i(has)f(the)h(form)390 3824 +y Fi(command1)56 b Fs(||)47 b Fi(command2)150 3986 y Fq(command2)38 b Ft(is)30 b(executed)i(if,)e(and)g(only)g(if,)h Fq(command1)38 b Ft(returns)29 b(a)i(non-zero)g(exit)g(status.)275 -2604 y(The)h(return)g(status)i(of)f Fl(and)f Ft(and)h +4147 y(The)h(return)g(status)i(of)f Fl(and)f Ft(and)h Fl(or)f Ft(lists)i(is)f(the)g(exit)h(status)g(of)f(the)g(last)h -(command)f(executed)150 2713 y(in)d(the)h(list.)150 2921 -y Fj(3.2.4)63 b(Comp)s(ound)42 b(Commands)150 3068 y +(command)f(executed)150 4257 y(in)d(the)h(list.)150 4483 +y Fj(3.2.4)63 b(Comp)s(ound)42 b(Commands)150 4630 y Ft(Comp)s(ound)32 b(commands)j(are)g(the)g(shell)g(programming)f (constructs.)54 b(Eac)m(h)35 b(construct)g(b)s(egins)f(with)150 -3177 y(a)k(reserv)m(ed)f(w)m(ord)h(or)f(con)m(trol)i(op)s(erator)f(and) +4740 y(a)k(reserv)m(ed)f(w)m(ord)h(or)f(con)m(trol)i(op)s(erator)f(and) f(is)g(terminated)h(b)m(y)f(a)h(corresp)s(onding)f(reserv)m(ed)g(w)m -(ord)150 3287 y(or)44 b(op)s(erator.)81 b(An)m(y)44 b(redirections)g -(\(see)h(Section)g(3.6)g([Redirections],)j(page)d(26\))g(asso)s(ciated) -g(with)150 3396 y(a)g(comp)s(ound)e(command)i(apply)f(to)h(all)h +(ord)150 4849 y(or)44 b(op)s(erator.)81 b(An)m(y)44 b(redirections)g +(\(see)h(Section)g(3.6)g([Redirections],)j(page)d(27\))g(asso)s(ciated) +g(with)150 4959 y(a)g(comp)s(ound)e(command)i(apply)f(to)h(all)h (commands)e(within)g(that)h(comp)s(ound)e(command)i(unless)150 -3506 y(explicitly)32 b(o)m(v)m(erridden.)275 3649 y(Bash)45 +5069 y(explicitly)32 b(o)m(v)m(erridden.)275 5230 y(Bash)45 b(pro)m(vides)h(lo)s(oping)g(constructs,)j(conditional)e(commands,)j -(and)44 b(mec)m(hanisms)i(to)g(group)150 3758 y(commands)30 -b(and)g(execute)i(them)e(as)g(a)h(unit.)150 3966 y Fj(3.2.4.1)63 -b(Lo)s(oping)43 b(Constructs)150 4113 y Ft(Bash)31 b(supp)s(orts)d(the) -j(follo)m(wing)g(lo)s(oping)g(constructs.)275 4256 y(Note)k(that)f -(wherev)m(er)g(a)g(`)p Fs(;)p Ft(')g(app)s(ears)f(in)h(the)g -(description)g(of)g(a)g(command's)g(syn)m(tax,)i(it)e(ma)m(y)h(b)s(e) -150 4365 y(replaced)c(with)f(one)h(or)f(more)g(newlines.)150 -4537 y Fs(until)240 b Ft(The)30 b(syn)m(tax)h(of)f(the)h -Fs(until)e Ft(command)h(is:)870 4676 y Fs(until)46 b -Fi(test-commands)11 b Fs(;)44 b(do)j Fi(consequent-commands)11 -b Fs(;)42 b(done)630 4814 y Ft(Execute)g Fq(consequen)m(t-commands)k -Ft(as)41 b(long)h(as)f Fq(test-commands)46 b Ft(has)41 -b(an)g(exit)h(status)630 4924 y(whic)m(h)c(is)h(not)g(zero.)67 -b(The)38 b(return)g(status)h(is)f(the)h(exit)h(status)f(of)g(the)g -(last)g(command)630 5034 y(executed)31 b(in)f Fq(consequen)m -(t-commands)t Ft(,)h(or)g(zero)g(if)f(none)h(w)m(as)f(executed.)150 -5201 y Fs(while)240 b Ft(The)30 b(syn)m(tax)h(of)f(the)h -Fs(while)e Ft(command)h(is:)870 5340 y Fs(while)46 b -Fi(test-commands)11 b Fs(;)44 b(do)j Fi(consequent-commands)11 -b Fs(;)42 b(done)p eop end +(and)44 b(mec)m(hanisms)i(to)g(group)150 5340 y(commands)30 +b(and)g(execute)i(them)e(as)g(a)h(unit.)p eop end %%Page: 10 16 TeXDict begin 10 15 bop 150 -116 a Ft(10)2572 b(Bash)31 -b(Reference)g(Man)m(ual)630 299 y(Execute)42 b Fq(consequen)m -(t-commands)k Ft(as)41 b(long)h(as)f Fq(test-commands)46 -b Ft(has)41 b(an)g(exit)h(status)630 408 y(of)34 b(zero.)53 -b(The)34 b(return)f(status)h(is)h(the)f(exit)h(status)g(of)f(the)g -(last)h(command)f(executed)h(in)630 518 y Fq(consequen)m(t-commands)t +b(Reference)g(Man)m(ual)150 299 y Fj(3.2.4.1)63 b(Lo)s(oping)43 +b(Constructs)150 446 y Ft(Bash)31 b(supp)s(orts)d(the)j(follo)m(wing)g +(lo)s(oping)g(constructs.)275 580 y(Note)k(that)f(wherev)m(er)g(a)g(`)p +Fs(;)p Ft(')g(app)s(ears)f(in)h(the)g(description)g(of)g(a)g(command's) +g(syn)m(tax,)i(it)e(ma)m(y)h(b)s(e)150 690 y(replaced)c(with)f(one)h +(or)f(more)g(newlines.)150 849 y Fs(until)240 b Ft(The)30 +b(syn)m(tax)h(of)f(the)h Fs(until)e Ft(command)h(is:)870 +983 y Fs(until)46 b Fi(test-commands)11 b Fs(;)44 b(do)j +Fi(consequent-commands)11 b Fs(;)42 b(done)630 1117 y +Ft(Execute)g Fq(consequen)m(t-commands)k Ft(as)41 b(long)h(as)f +Fq(test-commands)46 b Ft(has)41 b(an)g(exit)h(status)630 +1227 y(whic)m(h)c(is)h(not)g(zero.)67 b(The)38 b(return)g(status)h(is)f +(the)h(exit)h(status)f(of)g(the)g(last)g(command)630 +1336 y(executed)31 b(in)f Fq(consequen)m(t-commands)t +Ft(,)h(or)g(zero)g(if)f(none)h(w)m(as)f(executed.)150 +1495 y Fs(while)240 b Ft(The)30 b(syn)m(tax)h(of)f(the)h +Fs(while)e Ft(command)h(is:)870 1630 y Fs(while)46 b +Fi(test-commands)11 b Fs(;)44 b(do)j Fi(consequent-commands)11 +b Fs(;)42 b(done)630 1764 y Ft(Execute)g Fq(consequen)m(t-commands)k +Ft(as)41 b(long)h(as)f Fq(test-commands)46 b Ft(has)41 +b(an)g(exit)h(status)630 1873 y(of)34 b(zero.)53 b(The)34 +b(return)f(status)h(is)h(the)f(exit)h(status)g(of)f(the)g(last)h +(command)f(executed)h(in)630 1983 y Fq(consequen)m(t-commands)t Ft(,)c(or)g(zero)g(if)f(none)g(w)m(as)h(executed.)150 -668 y Fs(for)336 b Ft(The)30 b(syn)m(tax)h(of)f(the)h -Fs(for)e Ft(command)i(is:)870 797 y Fs(for)47 b Fi(name)57 +2142 y Fs(for)336 b Ft(The)30 b(syn)m(tax)h(of)f(the)h +Fs(for)e Ft(command)i(is:)870 2276 y Fs(for)47 b Fi(name)57 b Fs([)48 b([in)e([)p Fi(words)57 b Fs(...)o(])48 b(])f(;)h(])f(do)g -Fi(commands)11 b Fs(;)45 b(done)630 927 y Ft(Expand)31 +Fi(commands)11 b Fs(;)45 b(done)630 2411 y Ft(Expand)31 b Fq(w)m(ords)t Ft(,)i(and)e(execute)j Fq(commands)i Ft(once)d(for)f(eac)m(h)i(mem)m(b)s(er)e(in)g(the)g(resultan)m(t)630 -1037 y(list,)d(with)f Fq(name)33 b Ft(b)s(ound)26 b(to)j(the)f(curren)m +2520 y(list,)d(with)f Fq(name)33 b Ft(b)s(ound)26 b(to)j(the)f(curren)m (t)g(mem)m(b)s(er.)40 b(If)27 b(`)p Fs(in)j Fi(words)11 -b Ft(')27 b(is)h(not)g(presen)m(t,)h(the)630 1146 y Fs(for)g +b Ft(')27 b(is)h(not)g(presen)m(t,)h(the)630 2630 y Fs(for)g Ft(command)g(executes)i(the)e Fq(commands)k Ft(once)d(for)f(eac)m(h)i -(p)s(ositional)f(parameter)g(that)630 1256 y(is)d(set,)h(as)f(if)g(`)p +(p)s(ositional)f(parameter)g(that)630 2739 y(is)d(set,)h(as)f(if)g(`)p Fs(in)j("$@")p Ft(')c(had)g(b)s(een)g(sp)s(eci\014ed)g(\(see)i(Section) -f(3.4.2)i([Sp)s(ecial)e(P)m(arameters],)630 1365 y(page)c(16\).)39 +f(3.4.2)i([Sp)s(ecial)e(P)m(arameters],)630 2849 y(page)c(18\).)39 b(The)21 b(return)g(status)h(is)g(the)g(exit)h(status)f(of)g(the)g -(last)g(command)g(that)g(executes.)630 1475 y(If)37 b(there)h(are)g(no) +(last)g(command)g(that)g(executes.)630 2958 y(If)37 b(there)h(are)g(no) g(items)g(in)g(the)g(expansion)g(of)f Fq(w)m(ords)t Ft(,)j(no)d -(commands)h(are)g(executed,)630 1585 y(and)30 b(the)g(return)g(status)g -(is)h(zero.)630 1714 y(An)f(alternate)i(form)e(of)h(the)f -Fs(for)g Ft(command)g(is)g(also)h(supp)s(orted:)870 1844 +(commands)h(are)g(executed,)630 3068 y(and)30 b(the)g(return)g(status)g +(is)h(zero.)630 3202 y(An)f(alternate)i(form)e(of)h(the)f +Fs(for)g Ft(command)g(is)g(also)h(supp)s(orted:)870 3337 y Fs(for)47 b(\(\()g Fi(expr1)57 b Fs(;)47 b Fi(expr2)57 b Fs(;)48 b Fi(expr3)57 b Fs(\)\))47 b(;)g(do)g Fi(commands)57 -b Fs(;)47 b(done)630 1974 y Ft(First,)38 b(the)f(arithmetic)h +b Fs(;)47 b(done)630 3471 y Ft(First,)38 b(the)f(arithmetic)h (expression)e Fq(expr1)43 b Ft(is)36 b(ev)-5 b(aluated)38 -b(according)f(to)g(the)g(rules)f(de-)630 2083 y(scrib)s(ed)41 +b(according)f(to)g(the)g(rules)f(de-)630 3580 y(scrib)s(ed)41 b(b)s(elo)m(w)h(\(see)h(Section)g(6.5)g([Shell)g(Arithmetic],)j(page)d -(78\).)77 b(The)42 b(arithmetic)630 2193 y(expression)33 +(80\).)77 b(The)42 b(arithmetic)630 3690 y(expression)33 b Fq(expr2)41 b Ft(is)34 b(then)f(ev)-5 b(aluated)35 b(rep)s(eatedly)f(un)m(til)g(it)g(ev)-5 b(aluates)35 -b(to)g(zero.)51 b(Eac)m(h)630 2302 y(time)23 b Fq(expr2)30 +b(to)g(zero.)51 b(Eac)m(h)630 3800 y(time)23 b Fq(expr2)30 b Ft(ev)-5 b(aluates)25 b(to)e(a)g(non-zero)h(v)-5 b(alue,)25 b Fq(commands)h Ft(are)d(executed)g(and)g(the)g(arith-)630 -2412 y(metic)29 b(expression)f Fq(expr3)36 b Ft(is)28 +3909 y(metic)29 b(expression)f Fq(expr3)36 b Ft(is)28 b(ev)-5 b(aluated.)41 b(If)28 b(an)m(y)h(expression)f(is)g(omitted,)i -(it)f(b)s(eha)m(v)m(es)g(as)630 2522 y(if)i(it)h(ev)-5 +(it)f(b)s(eha)m(v)m(es)g(as)630 4019 y(if)i(it)h(ev)-5 b(aluates)32 b(to)g(1.)44 b(The)30 b(return)g(v)-5 b(alue)32 b(is)f(the)g(exit)h(status)g(of)f(the)g(last)h(command)f(in)630 -2631 y Fq(list)i Ft(that)e(is)f(executed,)i(or)e(false)h(if)g(an)m(y)f +4128 y Fq(list)i Ft(that)e(is)f(executed,)i(or)e(false)h(if)g(an)m(y)f (of)h(the)f(expressions)g(is)h(in)m(v)-5 b(alid.)275 -2781 y(The)26 b Fs(break)g Ft(and)h Fs(continue)e Ft(builtins)i(\(see)h -(Section)h(4.1)f([Bourne)g(Shell)f(Builtins],)i(page)f(35\))g(ma)m(y) -150 2890 y(b)s(e)i(used)f(to)i(con)m(trol)h(lo)s(op)f(execution.)150 -3080 y Fj(3.2.4.2)63 b(Conditional)42 b(Constructs)150 -3247 y Fs(if)384 b Ft(The)30 b(syn)m(tax)h(of)f(the)h -Fs(if)f Ft(command)g(is:)870 3377 y Fs(if)47 b Fi(test-commands)11 -b Fs(;)44 b(then)965 3486 y Fi(consequent-commands)11 -b Fs(;)870 3596 y([elif)46 b Fi(more-test-commands)11 -b Fs(;)42 b(then)965 3705 y Fi(more-consequents)11 b -Fs(;])870 3815 y([else)46 b Fi(alternate-consequents)11 -b Fs(;])870 3925 y(fi)630 4054 y Ft(The)53 b Fq(test-commands)58 -b Ft(list)c(is)g(executed,)60 b(and)53 b(if)g(its)h(return)e(status)i -(is)f(zero,)61 b(the)630 4164 y Fq(consequen)m(t-commands)44 -b Ft(list)d(is)f(executed.)70 b(If)40 b Fq(test-commands)k -Ft(returns)39 b(a)h(non-zero)630 4273 y(status,)45 b(eac)m(h)e -Fs(elif)d Ft(list)i(is)g(executed)h(in)e(turn,)j(and)d(if)g(its)h(exit) -h(status)f(is)f(zero,)46 b(the)630 4383 y(corresp)s(onding)37 -b Fq(more-consequen)m(ts)42 b Ft(is)c(executed)g(and)f(the)h(command)g -(completes.)63 b(If)630 4493 y(`)p Fs(else)29 b Fi +4287 y(The)26 b Fs(break)g Ft(and)h Fs(continue)e Ft(builtins)i(\(see)h +(Section)h(4.1)f([Bourne)g(Shell)f(Builtins],)i(page)f(37\))g(ma)m(y) +150 4397 y(b)s(e)i(used)f(to)i(con)m(trol)h(lo)s(op)f(execution.)150 +4596 y Fj(3.2.4.2)63 b(Conditional)42 b(Constructs)150 +4767 y Fs(if)384 b Ft(The)30 b(syn)m(tax)h(of)f(the)h +Fs(if)f Ft(command)g(is:)870 4902 y Fs(if)47 b Fi(test-commands)11 +b Fs(;)44 b(then)965 5011 y Fi(consequent-commands)11 +b Fs(;)870 5121 y([elif)46 b Fi(more-test-commands)11 +b Fs(;)42 b(then)965 5230 y Fi(more-consequents)11 b +Fs(;])870 5340 y([else)46 b Fi(alternate-consequents)11 +b Fs(;])p eop end +%%Page: 11 17 +TeXDict begin 11 16 bop 150 -116 a Ft(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(11)870 299 +y Fs(fi)630 432 y Ft(The)53 b Fq(test-commands)58 b Ft(list)c(is)g +(executed,)60 b(and)53 b(if)g(its)h(return)e(status)i(is)f(zero,)61 +b(the)630 542 y Fq(consequen)m(t-commands)44 b Ft(list)d(is)f +(executed.)70 b(If)40 b Fq(test-commands)k Ft(returns)39 +b(a)h(non-zero)630 651 y(status,)45 b(eac)m(h)e Fs(elif)d +Ft(list)i(is)g(executed)h(in)e(turn,)j(and)d(if)g(its)h(exit)h(status)f +(is)f(zero,)46 b(the)630 761 y(corresp)s(onding)37 b +Fq(more-consequen)m(ts)42 b Ft(is)c(executed)g(and)f(the)h(command)g +(completes.)63 b(If)630 870 y(`)p Fs(else)29 b Fi (alternate-consequents)11 b Ft(')23 b(is)30 b(presen)m(t,)f(and)g(the)g -(\014nal)g(command)f(in)h(the)g(\014nal)630 4602 y Fs(if)44 +(\014nal)g(command)f(in)h(the)g(\014nal)630 980 y Fs(if)44 b Ft(or)g Fs(elif)f Ft(clause)i(has)f(a)h(non-zero)g(exit)g(status,)j -(then)c Fq(alternate-consequen)m(ts)51 b Ft(is)630 4712 +(then)c Fq(alternate-consequen)m(ts)51 b Ft(is)630 1089 y(executed.)k(The)34 b(return)g(status)h(is)f(the)h(exit)h(status)f(of) -g(the)g(last)g(command)g(executed,)630 4821 y(or)30 b(zero)i(if)e(no)g -(condition)h(tested)g(true.)150 4971 y Fs(case)288 b +g(the)g(last)g(command)g(executed,)630 1199 y(or)30 b(zero)i(if)e(no)g +(condition)h(tested)g(true.)150 1356 y Fs(case)288 b Ft(The)30 b(syn)m(tax)h(of)f(the)h Fs(case)e Ft(command)h(is:)870 -5101 y Fs(case)47 b Fi(word)57 b Fs(in)47 b([)g([\(])g +1489 y Fs(case)47 b Fi(word)57 b Fs(in)47 b([)g([\(])g Fi(pattern)57 b Fs([|)47 b Fi(pattern)11 b Fs(]...)l(\))48 -b Fi(command-list)55 b Fs(;;]...)46 b(esac)630 5230 y(case)20 +b Fi(command-list)55 b Fs(;;]...)46 b(esac)630 1622 y(case)20 b Ft(will)i(selectiv)m(ely)j(execute)e(the)e Fq(command-list)k Ft(corresp)s(onding)20 b(to)i(the)g(\014rst)f Fq(pattern)630 -5340 y Ft(that)42 b(matc)m(hes)g Fq(w)m(ord)t Ft(.)71 +1731 y Ft(that)42 b(matc)m(hes)g Fq(w)m(ord)t Ft(.)71 b(If)41 b(the)g(shell)g(option)g Fs(nocasematch)d Ft(\(see)k(the)f -(description)g(of)p eop end -%%Page: 11 17 -TeXDict begin 11 16 bop 150 -116 a Ft(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(11)630 299 -y Fs(shopt)34 b Ft(in)h(Section)h(4.3.2)h([The)e(Shopt)f(Builtin],)k -(page)e(55\))g(is)g(enabled,)g(the)g(matc)m(h)g(is)630 -408 y(p)s(erformed)29 b(without)i(regard)g(to)g(the)g(case)h(of)f -(alphab)s(etic)g(c)m(haracters.)44 b(The)30 b(`)p Fs(|)p -Ft(')h(is)g(used)630 518 y(to)e(separate)g(m)m(ultiple)g(patterns,)g -(and)e(the)i(`)p Fs(\))p Ft(')f(op)s(erator)g(terminates)h(a)g(pattern) -f(list.)41 b(A)630 628 y(list)31 b(of)g(patterns)f(and)g(an)g(asso)s -(ciated)i(command-list)f(is)f(kno)m(wn)g(as)h(a)g Fq(clause)5 -b Ft(.)630 754 y(Eac)m(h)42 b(clause)g(m)m(ust)f(b)s(e)g(terminated)h -(with)e(`)p Fs(;;)p Ft(',)45 b(`)p Fs(;&)p Ft(',)f(or)d(`)p -Fs(;;&)p Ft('.)73 b(The)41 b Fq(w)m(ord)j Ft(under-)630 -864 y(go)s(es)35 b(tilde)f(expansion,)h(parameter)g(expansion,)g -(command)f(substitution,)h(arithmetic)630 973 y(expansion,)47 -b(and)d(quote)g(remo)m(v)-5 b(al)45 b(b)s(efore)f(matc)m(hing)h(is)f -(attempted.)82 b(Eac)m(h)45 b Fq(pattern)630 1083 y Ft(undergo)s(es)38 -b(tilde)h(expansion,)i(parameter)e(expansion,)i(command)d -(substitution,)j(and)630 1192 y(arithmetic)32 b(expansion.)630 -1319 y(There)e(ma)m(y)g(b)s(e)f(an)h(arbitrary)g(n)m(um)m(b)s(er)f(of)h -Fs(case)f Ft(clauses,)i(eac)m(h)g(terminated)g(b)m(y)e(a)i(`)p -Fs(;;)p Ft(',)630 1428 y(`)p Fs(;&)p Ft(',)c(or)e(`)p -Fs(;;&)p Ft('.)39 b(The)25 b(\014rst)g(pattern)h(that)g(matc)m(hes)h -(determines)e(the)h(command-list)g(that)630 1538 y(is)k(executed.)630 -1665 y(Here)35 b(is)g(an)g(example)h(using)e Fs(case)g -Ft(in)g(a)h(script)g(that)h(could)f(b)s(e)f(used)g(to)h(describ)s(e)g -(one)630 1774 y(in)m(teresting)d(feature)f(of)f(an)g(animal:)870 -1901 y Fs(echo)47 b(-n)g("Enter)f(the)h(name)f(of)i(an)f(animal:)f(") -870 2010 y(read)h(ANIMAL)870 2120 y(echo)g(-n)g("The)f($ANIMAL)g(has)h -(")870 2229 y(case)g($ANIMAL)e(in)965 2339 y(horse)i(|)g(dog)g(|)h -(cat\))e(echo)h(-n)g("four";;)965 2449 y(man)g(|)h(kangaroo)d(\))j -(echo)e(-n)i("two";;)965 2558 y(*\))g(echo)e(-n)h("an)g(unknown)f -(number)g(of";;)870 2668 y(esac)870 2777 y(echo)h(")g(legs.")630 -2921 y Ft(If)25 b(the)h(`)p Fs(;;)p Ft(')g(op)s(erator)g(is)g(used,)g +(description)g(of)630 1841 y Fs(shopt)34 b Ft(in)h(Section)h(4.3.2)h +([The)e(Shopt)f(Builtin],)k(page)e(57\))g(is)g(enabled,)g(the)g(matc)m +(h)g(is)630 1951 y(p)s(erformed)29 b(without)i(regard)g(to)g(the)g +(case)h(of)f(alphab)s(etic)g(c)m(haracters.)44 b(The)30 +b(`)p Fs(|)p Ft(')h(is)g(used)630 2060 y(to)e(separate)g(m)m(ultiple)g +(patterns,)g(and)e(the)i(`)p Fs(\))p Ft(')f(op)s(erator)g(terminates)h +(a)g(pattern)f(list.)41 b(A)630 2170 y(list)31 b(of)g(patterns)f(and)g +(an)g(asso)s(ciated)i(command-list)f(is)f(kno)m(wn)g(as)h(a)g +Fq(clause)5 b Ft(.)630 2303 y(Eac)m(h)42 b(clause)g(m)m(ust)f(b)s(e)g +(terminated)h(with)e(`)p Fs(;;)p Ft(',)45 b(`)p Fs(;&)p +Ft(',)f(or)d(`)p Fs(;;&)p Ft('.)73 b(The)41 b Fq(w)m(ord)j +Ft(under-)630 2412 y(go)s(es)35 b(tilde)f(expansion,)h(parameter)g +(expansion,)g(command)f(substitution,)h(arithmetic)630 +2522 y(expansion,)47 b(and)d(quote)g(remo)m(v)-5 b(al)45 +b(b)s(efore)f(matc)m(hing)h(is)f(attempted.)82 b(Eac)m(h)45 +b Fq(pattern)630 2632 y Ft(undergo)s(es)38 b(tilde)h(expansion,)i +(parameter)e(expansion,)i(command)d(substitution,)j(and)630 +2741 y(arithmetic)32 b(expansion.)630 2874 y(There)e(ma)m(y)g(b)s(e)f +(an)h(arbitrary)g(n)m(um)m(b)s(er)f(of)h Fs(case)f Ft(clauses,)i(eac)m +(h)g(terminated)g(b)m(y)e(a)i(`)p Fs(;;)p Ft(',)630 2984 +y(`)p Fs(;&)p Ft(',)c(or)e(`)p Fs(;;&)p Ft('.)39 b(The)25 +b(\014rst)g(pattern)h(that)g(matc)m(hes)h(determines)e(the)h +(command-list)g(that)630 3093 y(is)k(executed.)630 3226 +y(Here)35 b(is)g(an)g(example)h(using)e Fs(case)g Ft(in)g(a)h(script)g +(that)h(could)f(b)s(e)f(used)g(to)h(describ)s(e)g(one)630 +3336 y(in)m(teresting)d(feature)f(of)f(an)g(animal:)870 +3469 y Fs(echo)47 b(-n)g("Enter)f(the)h(name)f(of)i(an)f(animal:)f(") +870 3579 y(read)h(ANIMAL)870 3688 y(echo)g(-n)g("The)f($ANIMAL)g(has)h +(")870 3798 y(case)g($ANIMAL)e(in)965 3907 y(horse)i(|)g(dog)g(|)h +(cat\))e(echo)h(-n)g("four";;)965 4017 y(man)g(|)h(kangaroo)d(\))j +(echo)e(-n)i("two";;)965 4127 y(*\))g(echo)e(-n)h("an)g(unknown)f +(number)g(of";;)870 4236 y(esac)870 4346 y(echo)h(")g(legs.")630 +4502 y Ft(If)25 b(the)h(`)p Fs(;;)p Ft(')g(op)s(erator)g(is)g(used,)g (no)g(subsequen)m(t)f(matc)m(hes)i(are)f(attempted)h(after)g(the)f -(\014rst)630 3030 y(pattern)g(matc)m(h.)40 b(Using)26 +(\014rst)630 4612 y(pattern)g(matc)m(h.)40 b(Using)26 b(`)p Fs(;&)p Ft(')f(in)h(place)g(of)g(`)p Fs(;;)p Ft(')g(causes)g -(execution)h(to)f(con)m(tin)m(ue)h(with)f(the)630 3140 +(execution)h(to)f(con)m(tin)m(ue)h(with)f(the)630 4722 y Fq(command-list)39 b Ft(asso)s(ciated)f(with)e(the)g(next)g(clause,)j (if)d(an)m(y)-8 b(.)59 b(Using)37 b(`)p Fs(;;&)p Ft(')f(in)g(place)h -(of)630 3249 y(`)p Fs(;;)p Ft(')30 b(causes)g(the)g(shell)g(to)g(test)h +(of)630 4831 y(`)p Fs(;;)p Ft(')30 b(causes)g(the)g(shell)g(to)g(test)h (the)f(patterns)g(in)f(the)h(next)g(clause,)h(if)e(an)m(y)-8 -b(,)31 b(and)f(execute)630 3359 y(an)m(y)h(asso)s(ciated)h +b(,)31 b(and)f(execute)630 4941 y(an)m(y)h(asso)s(ciated)h Fq(command-list)h Ft(on)d(a)h(successful)f(matc)m(h.)630 -3485 y(The)c(return)f(status)h(is)g(zero)h(if)f(no)g +5074 y(The)c(return)f(status)h(is)g(zero)h(if)f(no)g Fq(pattern)g Ft(is)g(matc)m(hed.)40 b(Otherwise,)27 b(the)g(return)e -(status)630 3595 y(is)30 b(the)h(exit)g(status)g(of)f(the)h -Fq(command-list)i Ft(executed.)150 3738 y Fs(select)630 -3865 y Ft(The)g Fs(select)f Ft(construct)i(allo)m(ws)h(the)f(easy)g -(generation)h(of)e(men)m(us.)50 b(It)34 b(has)f(almost)i(the)630 -3974 y(same)c(syn)m(tax)g(as)f(the)h Fs(for)e Ft(command:)870 -4101 y Fs(select)46 b Fi(name)57 b Fs([in)47 b Fi(words)57 -b Fs(...)o(];)47 b(do)h Fi(commands)11 b Fs(;)44 b(done)630 -4227 y Ft(The)d(list)i(of)e(w)m(ords)h(follo)m(wing)h -Fs(in)e Ft(is)h(expanded,)i(generating)f(a)f(list)g(of)g(items.)75 -b(The)630 4337 y(set)41 b(of)f(expanded)f(w)m(ords)g(is)i(prin)m(ted)e -(on)h(the)g(standard)f(error)h(output)g(stream,)j(eac)m(h)630 -4446 y(preceded)30 b(b)m(y)g(a)h(n)m(um)m(b)s(er.)40 +(status)630 5183 y(is)30 b(the)h(exit)g(status)g(of)f(the)h +Fq(command-list)i Ft(executed.)150 5340 y Fs(select)p +eop end +%%Page: 12 18 +TeXDict begin 12 17 bop 150 -116 a Ft(12)2572 b(Bash)31 +b(Reference)g(Man)m(ual)630 299 y(The)i Fs(select)f Ft(construct)i +(allo)m(ws)h(the)f(easy)g(generation)h(of)e(men)m(us.)50 +b(It)34 b(has)f(almost)i(the)630 408 y(same)c(syn)m(tax)g(as)f(the)h +Fs(for)e Ft(command:)870 544 y Fs(select)46 b Fi(name)57 +b Fs([in)47 b Fi(words)57 b Fs(...)o(];)47 b(do)h Fi(commands)11 +b Fs(;)44 b(done)630 679 y Ft(The)d(list)i(of)e(w)m(ords)h(follo)m +(wing)h Fs(in)e Ft(is)h(expanded,)i(generating)f(a)f(list)g(of)g +(items.)75 b(The)630 789 y(set)41 b(of)f(expanded)f(w)m(ords)g(is)i +(prin)m(ted)e(on)h(the)g(standard)f(error)h(output)g(stream,)j(eac)m(h) +630 898 y(preceded)30 b(b)m(y)g(a)h(n)m(um)m(b)s(er.)40 b(If)29 b(the)i(`)p Fs(in)f Fi(words)11 b Ft(')29 b(is)h(omitted,)i -(the)e(p)s(ositional)i(parameters)630 4556 y(are)22 b(prin)m(ted,)h(as) +(the)e(p)s(ositional)i(parameters)630 1008 y(are)22 b(prin)m(ted,)h(as) f(if)f(`)p Fs(in)30 b("$@")p Ft(')21 b(had)g(b)s(een)f(sp)s(eci\014ed.) 37 b(The)21 b Fs(PS3)g Ft(prompt)g(is)g(then)g(displa)m(y)m(ed)630 -4666 y(and)38 b(a)h(line)g(is)f(read)h(from)f(the)h(standard)e(input.) +1118 y(and)38 b(a)h(line)g(is)f(read)h(from)f(the)h(standard)e(input.) 65 b(If)38 b(the)h(line)g(consists)g(of)f(a)h(n)m(um)m(b)s(er)630 -4775 y(corresp)s(onding)33 b(to)i(one)f(of)g(the)g(displa)m(y)m(ed)h(w) +1227 y(corresp)s(onding)33 b(to)i(one)f(of)g(the)g(displa)m(y)m(ed)h(w) m(ords,)f(then)g(the)g(v)-5 b(alue)34 b(of)h Fq(name)k -Ft(is)34 b(set)g(to)630 4885 y(that)g(w)m(ord.)49 b(If)32 +Ft(is)34 b(set)g(to)630 1337 y(that)g(w)m(ord.)49 b(If)32 b(the)i(line)f(is)h(empt)m(y)-8 b(,)35 b(the)e(w)m(ords)g(and)f(prompt) -h(are)g(displa)m(y)m(ed)h(again.)50 b(If)630 4994 y Fs(EOF)23 +h(are)g(displa)m(y)m(ed)h(again.)50 b(If)630 1446 y Fs(EOF)23 b Ft(is)g(read,)j(the)d Fs(select)f Ft(command)i(completes.)40 b(An)m(y)23 b(other)h(v)-5 b(alue)24 b(read)g(causes)g -Fq(name)630 5104 y Ft(to)31 b(b)s(e)f(set)h(to)g(n)m(ull.)41 +Fq(name)630 1556 y Ft(to)31 b(b)s(e)f(set)h(to)g(n)m(ull.)41 b(The)29 b(line)i(read)f(is)h(sa)m(v)m(ed)g(in)f(the)h(v)-5 -b(ariable)31 b Fs(REPLY)p Ft(.)630 5230 y(The)42 b Fq(commands)j +b(ariable)31 b Fs(REPLY)p Ft(.)630 1691 y(The)42 b Fq(commands)j Ft(are)d(executed)h(after)g(eac)m(h)g(selection)h(un)m(til)e(a)h -Fs(break)d Ft(command)i(is)630 5340 y(executed,)32 b(at)f(whic)m(h)f(p) -s(oin)m(t)g(the)h Fs(select)d Ft(command)i(completes.)p -eop end -%%Page: 12 18 -TeXDict begin 12 17 bop 150 -116 a Ft(12)2572 b(Bash)31 -b(Reference)g(Man)m(ual)630 299 y(Here)39 b(is)g(an)g(example)h(that)f -(allo)m(ws)i(the)e(user)f(to)i(pic)m(k)f(a)g(\014lename)h(from)e(the)h -(curren)m(t)630 408 y(directory)-8 b(,)32 b(and)d(displa)m(ys)i(the)f -(name)h(and)f(index)f(of)i(the)g(\014le)f(selected.)870 -542 y Fs(select)46 b(fname)g(in)i(*;)870 651 y(do)870 -761 y(echo)f(you)g(picked)f($fname)g(\\\($REPLY\\\))870 -870 y(break;)870 980 y(done)150 1136 y(\(\(...)o(\)\))870 -1270 y(\(\()h Fi(expression)56 b Fs(\)\))630 1403 y Ft(The)33 -b(arithmetic)i Fq(expression)f Ft(is)f(ev)-5 b(aluated)35 -b(according)g(to)f(the)g(rules)f(describ)s(ed)g(b)s(elo)m(w)630 -1512 y(\(see)j(Section)f(6.5)h([Shell)f(Arithmetic],)i(page)f(78\).)55 -b(If)34 b(the)h(v)-5 b(alue)35 b(of)g(the)g(expression)g(is)630 -1622 y(non-zero,)27 b(the)f(return)e(status)i(is)g(0;)h(otherwise)f -(the)g(return)e(status)i(is)g(1.)39 b(This)25 b(is)g(exactly)630 -1731 y(equiv)-5 b(alen)m(t)32 b(to)870 1864 y Fs(let)47 -b(")p Fi(expression)11 b Fs(")630 1998 y Ft(See)25 b(Section)h(4.2)h -([Bash)e(Builtins],)i(page)f(41,)i(for)c(a)i(full)f(description)g(of)g -(the)h Fs(let)e Ft(builtin.)150 2154 y Fs([[...)o(]])870 -2287 y([[)47 b Fi(expression)56 b Fs(]])630 2420 y Ft(Return)25 +Fs(break)d Ft(command)i(is)630 1801 y(executed,)32 b(at)f(whic)m(h)f(p) +s(oin)m(t)g(the)h Fs(select)d Ft(command)i(completes.)630 +1936 y(Here)39 b(is)g(an)g(example)h(that)f(allo)m(ws)i(the)e(user)f +(to)i(pic)m(k)f(a)g(\014lename)h(from)e(the)h(curren)m(t)630 +2046 y(directory)-8 b(,)32 b(and)d(displa)m(ys)i(the)f(name)h(and)f +(index)f(of)i(the)g(\014le)f(selected.)870 2181 y Fs(select)46 +b(fname)g(in)i(*;)870 2291 y(do)870 2400 y(echo)f(you)g(picked)f +($fname)g(\\\($REPLY\\\))870 2510 y(break;)870 2620 y(done)150 +2781 y(\(\(...)o(\)\))870 2916 y(\(\()h Fi(expression)56 +b Fs(\)\))630 3051 y Ft(The)33 b(arithmetic)i Fq(expression)f +Ft(is)f(ev)-5 b(aluated)35 b(according)g(to)f(the)g(rules)f(describ)s +(ed)g(b)s(elo)m(w)630 3161 y(\(see)j(Section)f(6.5)h([Shell)f +(Arithmetic],)i(page)f(80\).)55 b(If)34 b(the)h(v)-5 +b(alue)35 b(of)g(the)g(expression)g(is)630 3271 y(non-zero,)27 +b(the)f(return)e(status)i(is)g(0;)h(otherwise)f(the)g(return)e(status)i +(is)g(1.)39 b(This)25 b(is)g(exactly)630 3380 y(equiv)-5 +b(alen)m(t)32 b(to)870 3516 y Fs(let)47 b(")p Fi(expression)11 +b Fs(")630 3651 y Ft(See)25 b(Section)h(4.2)h([Bash)e(Builtins],)i +(page)f(43,)i(for)c(a)i(full)f(description)g(of)g(the)h +Fs(let)e Ft(builtin.)150 3812 y Fs([[...)o(]])870 3948 +y([[)47 b Fi(expression)56 b Fs(]])630 4083 y Ft(Return)25 b(a)h(status)f(of)h(0)g(or)g(1)g(dep)s(ending)e(on)h(the)h(ev)-5 b(aluation)27 b(of)e(the)h(conditional)h(expres-)630 -2530 y(sion)j Fq(expression)p Ft(.)41 b(Expressions)29 +4193 y(sion)j Fq(expression)p Ft(.)41 b(Expressions)29 b(are)i(comp)s(osed)f(of)g(the)h(primaries)f(describ)s(ed)f(b)s(elo)m -(w)h(in)630 2639 y(Section)36 b(6.4)h([Bash)f(Conditional)g -(Expressions],)h(page)f(76.)57 b(W)-8 b(ord)36 b(splitting)h(and)e -(\014le-)630 2749 y(name)24 b(expansion)h(are)g(not)f(p)s(erformed)f +(w)h(in)630 4302 y(Section)36 b(6.4)h([Bash)f(Conditional)g +(Expressions],)h(page)f(78.)57 b(W)-8 b(ord)36 b(splitting)h(and)e +(\014le-)630 4412 y(name)24 b(expansion)h(are)g(not)f(p)s(erformed)f (on)h(the)h(w)m(ords)f(b)s(et)m(w)m(een)h(the)g(`)p Fs([[)p -Ft(')f(and)g(`)p Fs(]])p Ft(';)i(tilde)630 2859 y(expansion,)31 +Ft(')f(and)g(`)p Fs(]])p Ft(';)i(tilde)630 4521 y(expansion,)31 b(parameter)g(and)f(v)-5 b(ariable)31 b(expansion,)g(arithmetic)g -(expansion,)g(command)630 2968 y(substitution,)40 b(pro)s(cess)f +(expansion,)g(command)630 4631 y(substitution,)40 b(pro)s(cess)f (substitution,)h(and)e(quote)h(remo)m(v)-5 b(al)40 b(are)f(p)s -(erformed.)63 b(Condi-)630 3078 y(tional)32 b(op)s(erators)e(suc)m(h)g +(erformed.)63 b(Condi-)630 4740 y(tional)32 b(op)s(erators)e(suc)m(h)g (as)h(`)p Fs(-f)p Ft(')f(m)m(ust)g(b)s(e)g(unquoted)g(to)h(b)s(e)e -(recognized)j(as)f(primaries.)630 3211 y(When)d(used)g(with)g(`)p +(recognized)j(as)f(primaries.)630 4876 y(When)d(used)g(with)g(`)p Fs([[)p Ft(',)h(The)f(`)p Fs(<)p Ft(')g(and)g(`)p Fs(>)p Ft(')h(op)s(erators)f(sort)h(lexicographically)i(using)d(the)630 -3320 y(curren)m(t)i(lo)s(cale.)630 3453 y(When)22 b(the)h(`)p +4985 y(curren)m(t)i(lo)s(cale.)630 5121 y(When)22 b(the)h(`)p Fs(==)p Ft(')f(and)g(`)p Fs(!=)p Ft(')g(op)s(erators)h(are)g(used,)g (the)g(string)f(to)i(the)e(righ)m(t)h(of)g(the)g(op)s(erator)630 -3563 y(is)31 b(considered)g(a)h(pattern)f(and)g(matc)m(hed)h(according) +5230 y(is)31 b(considered)g(a)h(pattern)f(and)g(matc)m(hed)h(according) g(to)g(the)g(rules)f(describ)s(ed)f(b)s(elo)m(w)h(in)630 -3673 y(Section)37 b(3.5.8.1)i([P)m(attern)e(Matc)m(hing],)j(page)c(24.) -59 b(If)36 b(the)g(shell)g(option)h Fs(nocasematch)630 -3782 y Ft(\(see)42 b(the)f(description)g(of)h Fs(shopt)d -Ft(in)i(Section)h(4.3.2)h([The)e(Shopt)f(Builtin],)45 -b(page)d(55\))630 3892 y(is)e(enabled,)i(the)e(matc)m(h)h(is)e(p)s -(erformed)g(without)g(regard)h(to)h(the)f(case)g(of)g(alphab)s(etic)630 -4001 y(c)m(haracters.)h(The)28 b(return)e(v)-5 b(alue)28 -b(is)g(0)g(if)g(the)g(string)g(matc)m(hes)h(\(`)p Fs(==)p -Ft('\))f(or)g(do)s(es)f(not)h(matc)m(h)630 4111 y(\(`)p -Fs(!=)p Ft('\)the)33 b(pattern,)g(and)f(1)g(otherwise.)47 -b(An)m(y)32 b(part)g(of)h(the)f(pattern)g(ma)m(y)h(b)s(e)f(quoted)g(to) -630 4221 y(force)f(it)g(to)g(b)s(e)f(matc)m(hed)h(as)f(a)h(string.)630 -4354 y(An)i(additional)i(binary)e(op)s(erator,)i(`)p +5340 y(Section)37 b(3.5.8.1)i([P)m(attern)e(Matc)m(hing],)j(page)c(26.) +59 b(If)36 b(the)g(shell)g(option)h Fs(nocasematch)p +eop end +%%Page: 13 19 +TeXDict begin 13 18 bop 150 -116 a Ft(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(13)630 299 +y(\(see)42 b(the)f(description)g(of)h Fs(shopt)d Ft(in)i(Section)h +(4.3.2)h([The)e(Shopt)f(Builtin],)45 b(page)d(57\))630 +408 y(is)e(enabled,)i(the)e(matc)m(h)h(is)e(p)s(erformed)g(without)g +(regard)h(to)h(the)f(case)g(of)g(alphab)s(etic)630 518 +y(c)m(haracters.)h(The)28 b(return)e(v)-5 b(alue)28 b(is)g(0)g(if)g +(the)g(string)g(matc)m(hes)h(\(`)p Fs(==)p Ft('\))f(or)g(do)s(es)f(not) +h(matc)m(h)630 628 y(\(`)p Fs(!=)p Ft('\)the)33 b(pattern,)g(and)f(1)g +(otherwise.)47 b(An)m(y)32 b(part)g(of)h(the)f(pattern)g(ma)m(y)h(b)s +(e)f(quoted)g(to)630 737 y(force)f(it)g(to)g(b)s(e)f(matc)m(hed)h(as)f +(a)h(string.)630 867 y(An)i(additional)i(binary)e(op)s(erator,)i(`)p Fs(=~)p Ft(',)g(is)f(a)m(v)-5 b(ailable,)37 b(with)c(the)h(same)g -(precedence)h(as)630 4463 y(`)p Fs(==)p Ft(')29 b(and)f(`)p +(precedence)h(as)630 976 y(`)p Fs(==)p Ft(')29 b(and)f(`)p Fs(!=)p Ft('.)40 b(When)29 b(it)g(is)g(used,)f(the)h(string)g(to)h(the) e(righ)m(t)i(of)f(the)g(op)s(erator)g(is)g(consid-)630 -4573 y(ered)34 b(an)g(extended)g(regular)g(expression)g(and)f(matc)m +1086 y(ered)34 b(an)g(extended)g(regular)g(expression)g(and)f(matc)m (hed)i(accordingly)g(\(as)f(in)g Fk(r)-5 b(e)g(gex)11 -b Ft(3\)\).)630 4682 y(The)29 b(return)f(v)-5 b(alue)30 +b Ft(3\)\).)630 1196 y(The)29 b(return)f(v)-5 b(alue)30 b(is)g(0)g(if)f(the)h(string)g(matc)m(hes)g(the)g(pattern,)g(and)f(1)h -(otherwise.)41 b(If)29 b(the)630 4792 y(regular)e(expression)g(is)h +(otherwise.)41 b(If)29 b(the)630 1305 y(regular)e(expression)g(is)h (syn)m(tactically)i(incorrect,)f(the)e(conditional)i(expression's)e -(return)630 4902 y(v)-5 b(alue)40 b(is)g(2.)68 b(If)39 +(return)630 1415 y(v)-5 b(alue)40 b(is)g(2.)68 b(If)39 b(the)h(shell)f(option)h Fs(nocasematch)d Ft(\(see)j(the)g(description) -g(of)f Fs(shopt)f Ft(in)630 5011 y(Section)32 b(4.3.2)g([The)f(Shopt)f -(Builtin],)i(page)g(55\))g(is)f(enabled,)g(the)g(matc)m(h)h(is)e(p)s -(erformed)630 5121 y(without)36 b(regard)g(to)h(the)f(case)h(of)f +g(of)f Fs(shopt)f Ft(in)630 1524 y(Section)32 b(4.3.2)g([The)f(Shopt)f +(Builtin],)i(page)g(57\))g(is)f(enabled,)g(the)g(matc)m(h)h(is)e(p)s +(erformed)630 1634 y(without)36 b(regard)g(to)h(the)f(case)h(of)f (alphab)s(etic)h(c)m(haracters.)59 b(An)m(y)36 b(part)g(of)h(the)f -(pattern)630 5230 y(ma)m(y)g(b)s(e)g(quoted)g(to)g(force)g(it)h(to)f(b) +(pattern)630 1744 y(ma)m(y)g(b)s(e)g(quoted)g(to)g(force)g(it)h(to)f(b) s(e)f(matc)m(hed)i(as)f(a)g(string.)57 b(Substrings)34 -b(matc)m(hed)j(b)m(y)630 5340 y(paren)m(thesized)44 b(sub)s +b(matc)m(hed)j(b)m(y)630 1853 y(paren)m(thesized)44 b(sub)s (expressions)e(within)i(the)g(regular)g(expression)g(are)g(sa)m(v)m(ed) -h(in)f(the)p eop end -%%Page: 13 19 -TeXDict begin 13 18 bop 150 -116 a Ft(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(13)630 299 -y(arra)m(y)38 b(v)-5 b(ariable)38 b Fs(BASH_REMATCH)p -Ft(.)59 b(The)36 b(elemen)m(t)j(of)f Fs(BASH_REMATCH)c -Ft(with)j(index)g(0)h(is)630 408 y(the)c(p)s(ortion)f(of)h(the)f -(string)h(matc)m(hing)g(the)g(en)m(tire)h(regular)e(expression.)50 -b(The)33 b(elemen)m(t)630 518 y(of)39 b Fs(BASH_REMATCH)c -Ft(with)j(index)g Fq(n)f Ft(is)i(the)f(p)s(ortion)g(of)h(the)f(string)h -(matc)m(hing)g(the)g Fq(n)p Ft(th)630 628 y(paren)m(thesized)31 -b(sub)s(expression.)630 770 y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m -(bined)i(using)f(the)h(follo)m(wing)h(op)s(erators,)g(listed)f(in)f -(decreasing)630 879 y(order)30 b(of)g(precedence:)630 -1054 y Fs(\()g Fi(expression)38 b Fs(\))1110 1163 y Ft(Returns)30 -b(the)h(v)-5 b(alue)31 b(of)g Fq(expression)p Ft(.)42 -b(This)30 b(ma)m(y)i(b)s(e)e(used)g(to)i(o)m(v)m(erride)g(the)1110 -1273 y(normal)e(precedence)h(of)g(op)s(erators.)630 1447 -y Fs(!)f Fi(expression)1110 1557 y Ft(T)-8 b(rue)30 b(if)g -Fq(expression)g Ft(is)h(false.)630 1731 y Fi(expression1)38 -b Fs(&&)30 b Fi(expression2)1110 1841 y Ft(T)-8 b(rue)30 -b(if)g(b)s(oth)g Fq(expression1)38 b Ft(and)29 b Fq(expression2)38 -b Ft(are)31 b(true.)630 2015 y Fi(expression1)38 b Fs(||)30 -b Fi(expression2)1110 2125 y Ft(T)-8 b(rue)30 b(if)g(either)h -Fq(expression1)38 b Ft(or)30 b Fq(expression2)38 b Ft(is)30 -b(true.)630 2299 y(The)25 b Fs(&&)g Ft(and)g Fs(||)f -Ft(op)s(erators)i(do)f(not)h(ev)-5 b(aluate)27 b Fq(expression2)33 -b Ft(if)26 b(the)f(v)-5 b(alue)26 b(of)g Fq(expression1)630 -2408 y Ft(is)k(su\016cien)m(t)h(to)g(determine)g(the)f(return)g(v)-5 -b(alue)31 b(of)f(the)h(en)m(tire)g(conditional)h(expression.)150 -2623 y Fj(3.2.4.3)63 b(Grouping)43 b(Commands)150 2770 -y Ft(Bash)30 b(pro)m(vides)g(t)m(w)m(o)h(w)m(a)m(ys)f(to)h(group)e(a)h -(list)g(of)g(commands)f(to)i(b)s(e)e(executed)h(as)g(a)h(unit.)40 -b(When)29 b(com-)150 2879 y(mands)h(are)i(group)s(ed,)f(redirections)h -(ma)m(y)g(b)s(e)e(applied)i(to)g(the)f(en)m(tire)h(command)g(list.)44 -b(F)-8 b(or)32 b(example,)150 2989 y(the)f(output)f(of)g(all)h(the)g -(commands)f(in)g(the)h(list)g(ma)m(y)g(b)s(e)e(redirected)i(to)g(a)g -(single)g(stream.)150 3171 y Fs(\(\))870 3313 y(\()47 -b Fi(list)58 b Fs(\))630 3455 y Ft(Placing)30 b(a)f(list)g(of)g -(commands)f(b)s(et)m(w)m(een)i(paren)m(theses)e(causes)i(a)f(subshell)e -(en)m(vironmen)m(t)630 3564 y(to)k(b)s(e)e(created)j(\(see)f(Section)g -(3.7.3)h([Command)d(Execution)i(En)m(vironmen)m(t],)g(page)f(30\),)630 -3674 y(and)d(eac)m(h)i(of)e(the)h(commands)f(in)g Fq(list)j +h(in)f(the)630 1963 y(arra)m(y)38 b(v)-5 b(ariable)38 +b Fs(BASH_REMATCH)p Ft(.)59 b(The)36 b(elemen)m(t)j(of)f +Fs(BASH_REMATCH)c Ft(with)j(index)g(0)h(is)630 2072 y(the)c(p)s(ortion) +f(of)h(the)f(string)h(matc)m(hing)g(the)g(en)m(tire)h(regular)e +(expression.)50 b(The)33 b(elemen)m(t)630 2182 y(of)39 +b Fs(BASH_REMATCH)c Ft(with)j(index)g Fq(n)f Ft(is)i(the)f(p)s(ortion)g +(of)h(the)f(string)h(matc)m(hing)g(the)g Fq(n)p Ft(th)630 +2292 y(paren)m(thesized)31 b(sub)s(expression.)630 2421 +y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)i(using)f(the)h(follo)m +(wing)h(op)s(erators,)g(listed)f(in)f(decreasing)630 +2531 y(order)30 b(of)g(precedence:)630 2681 y Fs(\()g +Fi(expression)38 b Fs(\))1110 2790 y Ft(Returns)30 b(the)h(v)-5 +b(alue)31 b(of)g Fq(expression)p Ft(.)42 b(This)30 b(ma)m(y)i(b)s(e)e +(used)g(to)i(o)m(v)m(erride)g(the)1110 2900 y(normal)e(precedence)h(of) +g(op)s(erators.)630 3049 y Fs(!)f Fi(expression)1110 +3159 y Ft(T)-8 b(rue)30 b(if)g Fq(expression)g Ft(is)h(false.)630 +3309 y Fi(expression1)38 b Fs(&&)30 b Fi(expression2)1110 +3418 y Ft(T)-8 b(rue)30 b(if)g(b)s(oth)g Fq(expression1)38 +b Ft(and)29 b Fq(expression2)38 b Ft(are)31 b(true.)630 +3568 y Fi(expression1)38 b Fs(||)30 b Fi(expression2)1110 +3678 y Ft(T)-8 b(rue)30 b(if)g(either)h Fq(expression1)38 +b Ft(or)30 b Fq(expression2)38 b Ft(is)30 b(true.)630 +3827 y(The)25 b Fs(&&)g Ft(and)g Fs(||)f Ft(op)s(erators)i(do)f(not)h +(ev)-5 b(aluate)27 b Fq(expression2)33 b Ft(if)26 b(the)f(v)-5 +b(alue)26 b(of)g Fq(expression1)630 3937 y Ft(is)k(su\016cien)m(t)h(to) +g(determine)g(the)f(return)g(v)-5 b(alue)31 b(of)f(the)h(en)m(tire)g +(conditional)h(expression.)150 4126 y Fj(3.2.4.3)63 b(Grouping)43 +b(Commands)150 4273 y Ft(Bash)30 b(pro)m(vides)g(t)m(w)m(o)h(w)m(a)m +(ys)f(to)h(group)e(a)h(list)g(of)g(commands)f(to)i(b)s(e)e(executed)h +(as)g(a)h(unit.)40 b(When)29 b(com-)150 4383 y(mands)h(are)i(group)s +(ed,)f(redirections)h(ma)m(y)g(b)s(e)e(applied)i(to)g(the)f(en)m(tire)h +(command)g(list.)44 b(F)-8 b(or)32 b(example,)150 4493 +y(the)f(output)f(of)g(all)h(the)g(commands)f(in)g(the)h(list)g(ma)m(y)g +(b)s(e)e(redirected)i(to)g(a)g(single)g(stream.)150 4642 +y Fs(\(\))870 4772 y(\()47 b Fi(list)58 b Fs(\))630 4902 +y Ft(Placing)30 b(a)f(list)g(of)g(commands)f(b)s(et)m(w)m(een)i(paren)m +(theses)e(causes)i(a)f(subshell)e(en)m(vironmen)m(t)630 +5011 y(to)k(b)s(e)e(created)j(\(see)f(Section)g(3.7.3)h([Command)d +(Execution)i(En)m(vironmen)m(t],)g(page)f(32\),)630 5121 +y(and)d(eac)m(h)i(of)e(the)h(commands)f(in)g Fq(list)j Ft(to)f(b)s(e)e(executed)h(in)f(that)h(subshell.)39 b(Since)28 -b(the)f Fq(list)630 3783 y Ft(is)i(executed)g(in)f(a)h(subshell,)g(v)-5 +b(the)f Fq(list)630 5230 y Ft(is)i(executed)g(in)f(a)h(subshell,)g(v)-5 b(ariable)29 b(assignmen)m(ts)g(do)g(not)g(remain)f(in)g(e\013ect)j -(after)e(the)630 3893 y(subshell)g(completes.)150 4067 -y Fs({})870 4209 y({)47 b Fi(list)11 b Fs(;)46 b(})630 -4351 y Ft(Placing)30 b(a)g(list)g(of)g(commands)f(b)s(et)m(w)m(een)h -(curly)f(braces)g(causes)h(the)f(list)h(to)g(b)s(e)f(executed)630 -4461 y(in)d(the)h(curren)m(t)g(shell)f(con)m(text.)42 -b(No)27 b(subshell)f(is)g(created.)41 b(The)26 b(semicolon)i(\(or)f -(newline\))630 4570 y(follo)m(wing)32 b Fq(list)h Ft(is)d(required.)275 -4752 y(In)44 b(addition)h(to)h(the)f(creation)i(of)e(a)g(subshell,)j -(there)e(is)f(a)g(subtle)g(di\013erence)h(b)s(et)m(w)m(een)f(these)150 -4862 y(t)m(w)m(o)c(constructs)e(due)g(to)g(historical)i(reasons.)67 -b(The)39 b(braces)g(are)h Fs(reserved)28 b(words)p Ft(,)40 -b(so)g(they)f(m)m(ust)150 4971 y(b)s(e)d(separated)h(from)f(the)g -Fq(list)j Ft(b)m(y)e Fs(blank)p Ft(s)e(or)h(other)h(shell)f(metac)m -(haracters.)62 b(The)36 b(paren)m(theses)h(are)150 5081 -y Fs(operators)p Ft(,)23 b(and)h(are)g(recognized)i(as)e(separate)i -(tok)m(ens)f(b)m(y)f(the)g(shell)h(ev)m(en)g(if)f(they)g(are)h(not)f -(separated)150 5191 y(from)30 b(the)g Fq(list)j Ft(b)m(y)e(whitespace.) -275 5340 y(The)e(exit)j(status)e(of)h(b)s(oth)f(of)g(these)h -(constructs)g(is)f(the)h(exit)g(status)f(of)h Fq(list)r -Ft(.)p eop end +(after)e(the)630 5340 y(subshell)g(completes.)p eop end %%Page: 14 20 TeXDict begin 14 19 bop 150 -116 a Ft(14)2572 b(Bash)31 -b(Reference)g(Man)m(ual)150 299 y Fj(3.2.5)63 b(Copro)s(cesses)150 -446 y Ft(A)37 b Fs(coprocess)c Ft(is)k(a)g(shell)f(command)h(preceded)f -(b)m(y)g(the)h Fs(coproc)d Ft(reserv)m(ed)j(w)m(ord.)59 -b(A)36 b(copro)s(cess)h(is)150 555 y(executed)g(async)m(hronously)g(in) -f(a)h(subshell,)g(as)g(if)g(the)f(command)h(had)f(b)s(een)f(terminated) -i(with)g(the)150 665 y(`)p Fs(&)p Ft(')d(con)m(trol)h(op)s(erator,)g -(with)f(a)g(t)m(w)m(o-w)m(a)m(y)i(pip)s(e)d(established)h(b)s(et)m(w)m -(een)h(the)f(executing)h(shell)f(and)f(the)150 775 y(copro)s(cess.)275 -906 y(The)c(format)i(for)f(a)h(copro)s(cess)g(is:)390 -1037 y Fs(coproc)46 b([)p Fi(NAME)11 b Fs(])46 b Fi(command)56 -b Fs([)p Fi(redirections)11 b Fs(])150 1168 y Ft(This)41 +b(Reference)g(Man)m(ual)150 299 y Fs({})870 436 y({)47 +b Fi(list)11 b Fs(;)46 b(})630 574 y Ft(Placing)30 b(a)g(list)g(of)g +(commands)f(b)s(et)m(w)m(een)h(curly)f(braces)g(causes)h(the)f(list)h +(to)g(b)s(e)f(executed)630 683 y(in)d(the)h(curren)m(t)g(shell)f(con)m +(text.)42 b(No)27 b(subshell)f(is)g(created.)41 b(The)26 +b(semicolon)i(\(or)f(newline\))630 793 y(follo)m(wing)32 +b Fq(list)h Ft(is)d(required.)275 961 y(In)44 b(addition)h(to)h(the)f +(creation)i(of)e(a)g(subshell,)j(there)e(is)f(a)g(subtle)g +(di\013erence)h(b)s(et)m(w)m(een)f(these)150 1071 y(t)m(w)m(o)c +(constructs)e(due)g(to)g(historical)i(reasons.)67 b(The)39 +b(braces)g(are)h Fs(reserved)28 b(words)p Ft(,)40 b(so)g(they)f(m)m +(ust)150 1180 y(b)s(e)d(separated)h(from)f(the)g Fq(list)j +Ft(b)m(y)e Fs(blank)p Ft(s)e(or)h(other)h(shell)f(metac)m(haracters.)62 +b(The)36 b(paren)m(theses)h(are)150 1290 y Fs(operators)p +Ft(,)23 b(and)h(are)g(recognized)i(as)e(separate)i(tok)m(ens)f(b)m(y)f +(the)g(shell)h(ev)m(en)g(if)f(they)g(are)h(not)f(separated)150 +1400 y(from)30 b(the)g Fq(list)j Ft(b)m(y)e(whitespace.)275 +1540 y(The)e(exit)j(status)e(of)h(b)s(oth)f(of)g(these)h(constructs)g +(is)f(the)h(exit)g(status)f(of)h Fq(list)r Ft(.)150 1745 +y Fj(3.2.5)63 b(Copro)s(cesses)150 1892 y Ft(A)37 b Fs(coprocess)c +Ft(is)k(a)g(shell)f(command)h(preceded)f(b)m(y)g(the)h +Fs(coproc)d Ft(reserv)m(ed)j(w)m(ord.)59 b(A)36 b(copro)s(cess)h(is)150 +2002 y(executed)g(async)m(hronously)g(in)f(a)h(subshell,)g(as)g(if)g +(the)f(command)h(had)f(b)s(een)f(terminated)i(with)g(the)150 +2111 y(`)p Fs(&)p Ft(')d(con)m(trol)h(op)s(erator,)g(with)f(a)g(t)m(w)m +(o-w)m(a)m(y)i(pip)s(e)d(established)h(b)s(et)m(w)m(een)h(the)f +(executing)h(shell)f(and)f(the)150 2221 y(copro)s(cess.)275 +2361 y(The)c(format)i(for)f(a)h(copro)s(cess)g(is:)390 +2502 y Fs(coproc)46 b([)p Fi(NAME)11 b Fs(])46 b Fi(command)56 +b Fs([)p Fi(redirections)11 b Fs(])150 2642 y Ft(This)41 b(creates)i(a)g(copro)s(cess)f(named)f Fq(NAME)5 b Ft(.)43 b(If)f Fq(NAME)47 b Ft(is)42 b(not)g(supplied,)i(the)e(default)g(name)g -(is)150 1277 y Fq(COPR)m(OC)8 b Ft(.)22 b Fq(NAME)29 +(is)150 2752 y Fq(COPR)m(OC)8 b Ft(.)22 b Fq(NAME)29 b Ft(m)m(ust)23 b(not)g(b)s(e)g(supplied)e(if)i Fq(command)k Ft(is)c(a)g(simple)g(command)g(\(see)h(Section)g(3.2.1)150 -1387 y([Simple)39 b(Commands],)h(page)g(8\);)k(otherwise,)e(it)d(is)g +2861 y([Simple)39 b(Commands],)h(page)g(8\);)k(otherwise,)e(it)d(is)g (in)m(terpreted)h(as)f(the)g(\014rst)f(w)m(ord)h(of)g(the)g(simple)150 -1496 y(command.)275 1627 y(When)23 b(the)h(copro)s(c)g(is)g(executed,)i +2971 y(command.)275 3111 y(When)23 b(the)h(copro)s(c)g(is)g(executed,)i (the)e(shell)g(creates)h(an)e(arra)m(y)i(v)-5 b(ariable)24 -b(\(see)h(Section)f(6.7)h([Arra)m(ys],)150 1737 y(page)43 -b(80\))g(named)f Fq(NAME)48 b Ft(in)42 b(the)g(con)m(text)i(of)e(the)h +b(\(see)h(Section)f(6.7)h([Arra)m(ys],)150 3221 y(page)43 +b(82\))g(named)f Fq(NAME)48 b Ft(in)42 b(the)g(con)m(text)i(of)e(the)h (executing)g(shell.)76 b(The)42 b(standard)f(output)h(of)150 -1846 y Fq(command)d Ft(is)d(connected)h(via)g(a)f(pip)s(e)g(to)g(a)h +3330 y Fq(command)d Ft(is)d(connected)h(via)g(a)f(pip)s(e)g(to)g(a)h (\014le)f(descriptor)g(in)f(the)i(executing)g(shell,)h(and)d(that)i -(\014le)150 1956 y(descriptor)25 b(is)f(assigned)h(to)h +(\014le)150 3440 y(descriptor)25 b(is)f(assigned)h(to)h Fq(NAME)5 b Ft([0].)40 b(The)25 b(standard)e(input)h(of)h Fq(command)j Ft(is)d(connected)g(via)h(a)f(pip)s(e)150 -2066 y(to)33 b(a)f(\014le)g(descriptor)g(in)f(the)i(executing)g(shell,) +3550 y(to)33 b(a)f(\014le)g(descriptor)g(in)f(the)i(executing)g(shell,) f(and)g(that)g(\014le)g(descriptor)g(is)g(assigned)g(to)h -Fq(NAME)5 b Ft([1].)150 2175 y(This)31 b(pip)s(e)g(is)h(established)g +Fq(NAME)5 b Ft([1].)150 3659 y(This)31 b(pip)s(e)g(is)h(established)g (b)s(efore)g(an)m(y)g(redirections)g(sp)s(eci\014ed)g(b)m(y)f(the)i -(command)e(\(see)i(Section)g(3.6)150 2285 y([Redirections],)25 -b(page)e(26\).)39 b(The)21 b(\014le)h(descriptors)g(can)g(b)s(e)f +(command)e(\(see)i(Section)g(3.6)150 3769 y([Redirections],)25 +b(page)e(27\).)39 b(The)21 b(\014le)h(descriptors)g(can)g(b)s(e)f (utilized)i(as)f(argumen)m(ts)h(to)f(shell)g(commands)150 -2394 y(and)30 b(redirections)h(using)f(standard)f(w)m(ord)h -(expansions.)275 2525 y(The)f(pro)s(cess)h(id)f(of)h(the)g(shell)h(spa) +3878 y(and)30 b(redirections)h(using)f(standard)f(w)m(ord)h +(expansions.)275 4019 y(The)f(pro)s(cess)h(id)f(of)h(the)g(shell)h(spa) m(wned)e(to)i(execute)g(the)f(copro)s(cess)h(is)f(a)m(v)-5 -b(ailable)32 b(as)e(the)g(v)-5 b(alue)31 b(of)150 2635 -y(the)26 b(v)-5 b(ariable)26 b Fq(NAME)p 931 2635 28 +b(ailable)32 b(as)e(the)g(v)-5 b(alue)31 b(of)150 4128 +y(the)26 b(v)-5 b(ariable)26 b Fq(NAME)p 931 4128 28 4 v 46 w Ft(PID.)g(The)f Fs(wait)g Ft(builtin)g(command)g(ma)m(y)h(b)s (e)f(used)g(to)i(w)m(ait)f(for)g(the)g(copro)s(cess)150 -2745 y(to)31 b(terminate.)275 2876 y(The)e(return)h(status)g(of)h(a)g +4238 y(to)31 b(terminate.)275 4378 y(The)e(return)h(status)g(of)h(a)g (copro)s(cess)f(is)h(the)f(exit)i(status)e(of)h Fq(command)t -Ft(.)150 3101 y Fr(3.3)68 b(Shell)45 b(F)-11 b(unctions)150 -3260 y Ft(Shell)35 b(functions)h(are)g(a)g(w)m(a)m(y)g(to)h(group)e +Ft(.)150 4583 y Fj(3.2.6)63 b(GNU)41 b(P)m(arallel)150 +4730 y Ft(GNU)36 b(P)m(arallel,)k(as)c(its)g(name)g(suggests,)i(can)e +(b)s(e)f(used)g(to)h(build)f(and)g(run)g(commands)g(in)h(parallel.)150 +4840 y(Y)-8 b(ou)41 b(ma)m(y)g(run)e(the)h(same)h(command)f(with)g +(di\013eren)m(t)h(argumen)m(ts,)j(whether)39 b(they)i(are)g +(\014lenames,)150 4950 y(usernames,)30 b(hostnames,)h(or)f(lines)h +(read)f(from)g(\014les.)275 5090 y(F)-8 b(or)33 b(a)g(complete)h +(description,)g(refer)e(to)i(the)f(GNU)g(P)m(arallel)i(do)s(cumen)m +(tation.)48 b(A)33 b(few)f(examples)150 5200 y(should)d(pro)m(vide)i(a) +g(brief)e(in)m(tro)s(duction)i(to)g(its)g(use.)275 5340 +y(F)-8 b(or)31 b(example,)g(it)g(is)f(easy)h(to)g(pre\014x)f(eac)m(h)h +(line)g(in)f(a)h(text)g(\014le)g(with)f(a)g(sp)s(eci\014ed)g(string:)p +eop end +%%Page: 15 21 +TeXDict begin 15 20 bop 150 -116 a Ft(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(15)390 299 +y Fs(cat)47 b(file)g(|)g(parallel)f(-k)h(echo)f(prefix_string)150 +431 y Ft(The)30 b(`)p Fs(-k)p Ft(')g(option)h(is)f(required)g(to)h +(preserv)m(e)g(the)f(lines')h(order.)275 563 y(Similarly)-8 +b(,)31 b(y)m(ou)g(can)f(app)s(end)f(a)i(sp)s(eci\014ed)e(string)i(to)g +(eac)m(h)g(line)g(in)f(a)h(text)g(\014le:)390 694 y Fs(cat)47 +b(file)g(|)g(parallel)f(-k)h(echo)f({})i(append_string)275 +826 y Ft(Y)-8 b(ou)34 b(can)g(use)f(P)m(arallel)j(to)e(mo)m(v)m(e)h +(\014les)f(from)f(the)h(curren)m(t)f(directory)h(when)f(the)h(n)m(um)m +(b)s(er)e(of)i(\014les)150 936 y(is)c(to)s(o)i(large)f(to)g(pro)s(cess) +f(with)g(one)h Fs(mv)f Ft(in)m(v)m(o)s(cation:)390 1068 +y Fs(ls)47 b(|)h(parallel)d(mv)i({})h(destdir)275 1200 +y Ft(As)35 b(y)m(ou)h(can)f(see,)j(the)d Fs({})g Ft(is)g(replaced)h +(with)f(eac)m(h)i(line)f(read)f(from)g(standard)f(input.)55 +b(This)35 b(will)150 1309 y(run)f(as)h(man)m(y)g Fs(mv)g +Ft(commands)g(as)g(there)h(are)f(\014les)g(in)g(the)h(curren)m(t)f +(directory)-8 b(.)56 b(Y)-8 b(ou)35 b(can)h(em)m(ulate)h(a)150 +1419 y(parallel)31 b Fs(xargs)e Ft(b)m(y)i(adding)f(the)g(`)p +Fs(-X)p Ft(')g(option:)390 1551 y Fs(ls)47 b(|)h(parallel)d(-X)i(mv)h +({})f(destdir)275 1683 y Ft(GNU)31 b(P)m(arallel)i(can)e(replace)h +(certain)g(common)g(idioms)f(that)g(op)s(erate)h(on)f(lines)g(read)g +(from)f(a)i(\014le)150 1792 y(\(in)e(this)h(case,)g(\014lenames\):)390 +1924 y Fs(for)47 b(x)g(in)h($\(cat)e(list\);)g(do)390 +2034 y(do-something1)e($x)j(config-$x)390 2143 y(do-something2)d(<)k +($x)390 2253 y(done)f(|)g(process-output)150 2385 y Ft(with)30 +b(a)h(more)f(compact)i(syn)m(tax)f(reminiscen)m(t)g(of)g(lam)m(b)s +(das:)390 2517 y Fs(cat)47 b(list)g(|)g(parallel)f("do-something1)d({}) +48 b(config-{})d(;)i(do-something2)e(<)i({}")g(|)g(process-output)275 +2648 y Ft(P)m(arallel)31 b(pro)m(vides)e(a)h(built-in)g(mec)m(hanism)g +(to)g(remo)m(v)m(e)h(\014lename)e(extensions,)i(whic)m(h)e(lends)g +(itself)150 2758 y(to)i(batc)m(h)g(\014le)g(transformations)f(or)g +(renaming:)390 2890 y Fs(ls)47 b(*.gz)g(|)g(parallel)f(-j+0)g("zcat)h +({})g(|)g(bzip2)g(>{.}.bz2)e(&&)j(rm)f({}")150 3022 y +Ft(This)28 b(will)i(recompress)e(all)i(\014les)f(in)g(the)g(curren)m(t) +g(directory)g(with)g(names)g(ending)f(in)h(.gz)h(using)f(bzip2,)150 +3131 y(running)g(one)h(job)g(p)s(er)g(CPU)g(\(-j)p Fs(+)p +Ft(0\))h(in)f(parallel.)275 3263 y(If)24 b(a)i(command)f(generates)h +(output,)g(y)m(ou)g(ma)m(y)f(w)m(an)m(t)h(to)g(preserv)m(e)g(the)f +(input)f(order)h(in)g(the)g(output.)150 3373 y(F)-8 b(or)31 +b(instance,)g(the)g(follo)m(wing)h(command)390 3505 y +Fs({)47 b(echo)g(foss.org.my)e(;)i(echo)g(debian.org;)e(echo)h +(freenetproject.org;)d(})k(|)h(parallel)d(traceroute)150 +3637 y Ft(will)28 b(displa)m(y)g(as)f(output)g(the)h(traceroute)h(in)m +(v)m(o)s(cation)h(that)e(\014nishes)e(\014rst.)39 b(Using)28 +b(the)g(`)p Fs(-k)p Ft(')f(option,)i(as)150 3746 y(w)m(e)i(sa)m(w)g(ab) +s(o)m(v)m(e)390 3878 y Fs({)47 b(echo)g(foss.org.my)e(;)i(echo)g +(debian.org;)e(echo)h(freenetproject.org;)d(})k(|)h(parallel)d(-k)i +(traceroute)150 4010 y Ft(will)31 b(ensure)e(that)i(the)g(output)f(of)g +Fs(traceroute)e(foss.org.my)f Ft(is)k(displa)m(y)m(ed)g(\014rst.)150 +4237 y Fr(3.3)68 b(Shell)45 b(F)-11 b(unctions)150 4396 +y Ft(Shell)35 b(functions)h(are)g(a)g(w)m(a)m(y)g(to)h(group)e (commands)g(for)h(later)g(execution)h(using)e(a)h(single)g(name)g(for) -150 3370 y(the)f(group.)55 b(They)35 b(are)g(executed)h(just)f(lik)m(e) +150 4506 y(the)f(group.)55 b(They)35 b(are)g(executed)h(just)f(lik)m(e) h(a)g Fs(")p Ft(regular)p Fs(")f Ft(command.)54 b(When)35 -b(the)h(name)f(of)g(a)h(shell)150 3480 y(function)j(is)g(used)f(as)h(a) +b(the)h(name)f(of)g(a)h(shell)150 4616 y(function)j(is)g(used)f(as)h(a) h(simple)f(command)g(name,)i(the)e(list)h(of)f(commands)g(asso)s -(ciated)i(with)d(that)150 3589 y(function)25 b(name)h(is)g(executed.)40 +(ciated)i(with)d(that)150 4725 y(function)25 b(name)h(is)g(executed.)40 b(Shell)25 b(functions)g(are)i(executed)f(in)f(the)h(curren)m(t)g -(shell)g(con)m(text;)j(no)c(new)150 3699 y(pro)s(cess)30 -b(is)g(created)i(to)f(in)m(terpret)g(them.)275 3830 y(F)-8 +(shell)g(con)m(text;)j(no)c(new)150 4835 y(pro)s(cess)30 +b(is)g(created)i(to)f(in)m(terpret)g(them.)275 4967 y(F)-8 b(unctions)30 b(are)h(declared)g(using)f(this)g(syn)m(tax:)390 -3961 y Fs([)47 b(function)f(])h Fi(name)58 b Fs(\(\))47 +5099 y Fs([)47 b(function)f(])h Fi(name)58 b Fs(\(\))47 b Fi(compound-command)54 b Fs([)47 b Fi(redirections)55 -b Fs(])275 4092 y Ft(This)31 b(de\014nes)h(a)g(shell)h(function)f +b Fs(])275 5230 y Ft(This)31 b(de\014nes)h(a)g(shell)h(function)f (named)g Fq(name)5 b Ft(.)47 b(The)32 b(reserv)m(ed)h(w)m(ord)f -Fs(function)e Ft(is)i(optional.)48 b(If)150 4201 y(the)39 +Fs(function)e Ft(is)i(optional.)48 b(If)150 5340 y(the)39 b Fs(function)f Ft(reserv)m(ed)h(w)m(ord)g(is)g(supplied,)i(the)e (paren)m(theses)h(are)f(optional.)69 b(The)39 b Fq(b)s(o)s(dy)45 -b Ft(of)40 b(the)150 4311 y(function)h(is)h(the)g(comp)s(ound)e -(command)h Fq(comp)s(ound-command)j Ft(\(see)e(Section)h(3.2.4)g([Comp) -s(ound)150 4420 y(Commands],)33 b(page)g(9\).)48 b(That)33 -b(command)g(is)f(usually)h(a)g Fq(list)i Ft(enclosed)e(b)s(et)m(w)m -(een)h Fs({)e Ft(and)g Fs(})p Ft(,)h(but)f(ma)m(y)150 -4530 y(b)s(e)27 b(an)m(y)h(comp)s(ound)e(command)h(listed)h(ab)s(o)m(v) -m(e.)41 b Fq(comp)s(ound-command)30 b Ft(is)e(executed)g(whenev)m(er)g -Fq(name)150 4640 y Ft(is)37 b(sp)s(eci\014ed)g(as)g(the)h(name)f(of)g -(a)h(command.)61 b(An)m(y)37 b(redirections)h(\(see)g(Section)g(3.6)g -([Redirections],)150 4749 y(page)31 b(26\))h(asso)s(ciated)g(with)e -(the)g(shell)h(function)f(are)h(p)s(erformed)d(when)i(the)g(function)g -(is)h(executed.)275 4880 y(A)41 b(function)f(de\014nition)h(ma)m(y)g(b) -s(e)g(deleted)g(using)g(the)g(`)p Fs(-f)p Ft(')g(option)g(to)h(the)f -Fs(unset)e Ft(builtin)i(\(see)150 4990 y(Section)31 b(4.1)h([Bourne)e -(Shell)g(Builtins],)h(page)h(35\).)275 5121 y(The)26 +b Ft(of)40 b(the)p eop end +%%Page: 16 22 +TeXDict begin 16 21 bop 150 -116 a Ft(16)2572 b(Bash)31 +b(Reference)g(Man)m(ual)150 299 y(function)41 b(is)h(the)g(comp)s(ound) +e(command)h Fq(comp)s(ound-command)j Ft(\(see)e(Section)h(3.2.4)g +([Comp)s(ound)150 408 y(Commands],)33 b(page)g(9\).)48 +b(That)33 b(command)g(is)f(usually)h(a)g Fq(list)i Ft(enclosed)e(b)s +(et)m(w)m(een)h Fs({)e Ft(and)g Fs(})p Ft(,)h(but)f(ma)m(y)150 +518 y(b)s(e)27 b(an)m(y)h(comp)s(ound)e(command)h(listed)h(ab)s(o)m(v)m +(e.)41 b Fq(comp)s(ound-command)30 b Ft(is)e(executed)g(whenev)m(er)g +Fq(name)150 628 y Ft(is)37 b(sp)s(eci\014ed)g(as)g(the)h(name)f(of)g(a) +h(command.)61 b(An)m(y)37 b(redirections)h(\(see)g(Section)g(3.6)g +([Redirections],)150 737 y(page)31 b(27\))h(asso)s(ciated)g(with)e(the) +g(shell)h(function)f(are)h(p)s(erformed)d(when)i(the)g(function)g(is)h +(executed.)275 871 y(A)41 b(function)f(de\014nition)h(ma)m(y)g(b)s(e)g +(deleted)g(using)g(the)g(`)p Fs(-f)p Ft(')g(option)g(to)h(the)f +Fs(unset)e Ft(builtin)i(\(see)150 981 y(Section)31 b(4.1)h([Bourne)e +(Shell)g(Builtins],)h(page)h(37\).)275 1115 y(The)26 b(exit)i(status)g(of)f(a)h(function)f(de\014nition)g(is)g(zero)h (unless)f(a)g(syn)m(tax)h(error)f(o)s(ccurs)g(or)g(a)h(readonly)150 -5230 y(function)k(with)f(the)i(same)f(name)g(already)h(exists.)46 +1224 y(function)k(with)f(the)i(same)f(name)g(already)h(exists.)46 b(When)32 b(executed,)h(the)f(exit)h(status)g(of)f(a)g(function)150 -5340 y(is)e(the)h(exit)g(status)g(of)f(the)h(last)g(command)f(executed) -i(in)e(the)g(b)s(o)s(dy)-8 b(.)p eop end -%%Page: 15 21 -TeXDict begin 15 20 bop 150 -116 a Ft(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(15)275 299 -y(Note)22 b(that)f(for)f(historical)i(reasons,)h(in)e(the)g(most)g -(common)g(usage)g(the)g(curly)f(braces)h(that)g(surround)150 -408 y(the)38 b(b)s(o)s(dy)d(of)j(the)f(function)g(m)m(ust)g(b)s(e)g -(separated)h(from)f(the)g(b)s(o)s(dy)f(b)m(y)h Fs(blank)p -Ft(s)f(or)h(newlines.)62 b(This)150 518 y(is)38 b(b)s(ecause)g(the)h -(braces)f(are)h(reserv)m(ed)f(w)m(ords)g(and)f(are)i(only)f(recognized) -i(as)e(suc)m(h)g(when)f(they)i(are)150 628 y(separated)26 -b(from)f(the)h(command)f(list)i(b)m(y)e(whitespace)h(or)g(another)g -(shell)g(metac)m(haracter.)41 b(Also,)28 b(when)150 737 -y(using)i(the)g(braces,)h(the)g Fq(list)i Ft(m)m(ust)d(b)s(e)g -(terminated)h(b)m(y)f(a)h(semicolon,)h(a)e(`)p Fs(&)p -Ft(',)h(or)g(a)f(newline.)275 879 y(When)i(a)i(function)f(is)g -(executed,)i(the)e(argumen)m(ts)h(to)g(the)f(function)g(b)s(ecome)g -(the)h(p)s(ositional)g(pa-)150 988 y(rameters)42 b(during)e(its)i +1334 y(is)e(the)h(exit)g(status)g(of)f(the)h(last)g(command)f(executed) +i(in)e(the)g(b)s(o)s(dy)-8 b(.)275 1468 y(Note)22 b(that)f(for)f +(historical)i(reasons,)h(in)e(the)g(most)g(common)g(usage)g(the)g +(curly)f(braces)h(that)g(surround)150 1577 y(the)38 b(b)s(o)s(dy)d(of)j +(the)f(function)g(m)m(ust)g(b)s(e)g(separated)h(from)f(the)g(b)s(o)s +(dy)f(b)m(y)h Fs(blank)p Ft(s)f(or)h(newlines.)62 b(This)150 +1687 y(is)38 b(b)s(ecause)g(the)h(braces)f(are)h(reserv)m(ed)f(w)m +(ords)g(and)f(are)i(only)f(recognized)i(as)e(suc)m(h)g(when)f(they)i +(are)150 1797 y(separated)26 b(from)f(the)h(command)f(list)i(b)m(y)e +(whitespace)h(or)g(another)g(shell)g(metac)m(haracter.)41 +b(Also,)28 b(when)150 1906 y(using)i(the)g(braces,)h(the)g +Fq(list)i Ft(m)m(ust)d(b)s(e)g(terminated)h(b)m(y)f(a)h(semicolon,)h(a) +e(`)p Fs(&)p Ft(',)h(or)g(a)f(newline.)275 2040 y(When)i(a)i(function)f +(is)g(executed,)i(the)e(argumen)m(ts)h(to)g(the)f(function)g(b)s(ecome) +g(the)h(p)s(ositional)g(pa-)150 2150 y(rameters)42 b(during)e(its)i (execution)h(\(see)f(Section)g(3.4.1)h([P)m(ositional)h(P)m -(arameters],)i(page)c(16\).)75 b(The)150 1098 y(sp)s(ecial)37 +(arameters],)i(page)c(17\).)75 b(The)150 2259 y(sp)s(ecial)37 b(parameter)f(`)p Fs(#)p Ft(')g(that)h(expands)e(to)i(the)f(n)m(um)m(b) s(er)f(of)h(p)s(ositional)h(parameters)f(is)g(up)s(dated)f(to)150 -1207 y(re\015ect)h(the)f(c)m(hange.)56 b(Sp)s(ecial)35 +2369 y(re\015ect)h(the)f(c)m(hange.)56 b(Sp)s(ecial)35 b(parameter)h Fs(0)f Ft(is)g(unc)m(hanged.)54 b(The)35 -b(\014rst)f(elemen)m(t)j(of)e(the)g Fs(FUNCNAME)150 1317 +b(\014rst)f(elemen)m(t)j(of)e(the)g Fs(FUNCNAME)150 2478 y Ft(v)-5 b(ariable)31 b(is)g(set)f(to)i(the)e(name)h(of)f(the)h (function)f(while)g(the)h(function)f(is)g(executing.)275 -1459 y(All)25 b(other)g(asp)s(ects)g(of)g(the)g(shell)g(execution)h(en) +2612 y(All)25 b(other)g(asp)s(ects)g(of)g(the)g(shell)g(execution)h(en) m(vironmen)m(t)g(are)f(iden)m(tical)h(b)s(et)m(w)m(een)g(a)f(function)g -(and)150 1568 y(its)35 b(caller)i(with)d(these)i(exceptions:)50 +(and)150 2722 y(its)35 b(caller)i(with)d(these)i(exceptions:)50 b(the)36 b Fs(DEBUG)d Ft(and)h Fs(RETURN)g Ft(traps)g(are)i(not)f -(inherited)f(unless)h(the)150 1678 y(function)26 b(has)g(b)s(een)f(giv) +(inherited)f(unless)h(the)150 2832 y(function)26 b(has)g(b)s(een)f(giv) m(en)i(the)g Fs(trace)d Ft(attribute)j(using)f(the)g Fs(declare)e Ft(builtin)i(or)g(the)h Fs(-o)i(functrace)150 -1787 y Ft(option)f(has)e(b)s(een)h(enabled)g(with)g(the)g +2941 y Ft(option)f(has)e(b)s(een)h(enabled)g(with)g(the)g Fs(set)f Ft(builtin,)i(\(in)f(whic)m(h)f(case)j(all)f(functions)e -(inherit)h(the)g Fs(DEBUG)150 1897 y Ft(and)33 b Fs(RETURN)f +(inherit)h(the)g Fs(DEBUG)150 3051 y Ft(and)33 b Fs(RETURN)f Ft(traps\),)j(and)e(the)h Fs(ERR)f Ft(trap)h(is)g(not)g(inherited)f (unless)g(the)h Fs(-o)c(errtrace)h Ft(shell)j(option)150 -2007 y(has)h(b)s(een)f(enabled.)55 b(See)35 b(Section)h(4.1)g([Bourne)f -(Shell)g(Builtins],)i(page)f(35,)i(for)c(the)i(description)f(of)150 -2116 y(the)c Fs(trap)e Ft(builtin.)275 2258 y(If)37 b(the)g(builtin)g -(command)h Fs(return)d Ft(is)j(executed)g(in)g(a)g(function,)h(the)e -(function)h(completes)h(and)150 2367 y(execution)25 b(resumes)e(with)h -(the)g(next)g(command)f(after)i(the)f(function)f(call.)40 -b(An)m(y)24 b(command)f(asso)s(ciated)150 2477 y(with)36 -b(the)h Fs(RETURN)d Ft(trap)i(is)h(executed)g(b)s(efore)f(execution)i -(resumes.)57 b(When)37 b(a)f(function)g(completes,)150 -2586 y(the)h(v)-5 b(alues)38 b(of)f(the)g(p)s(ositional)h(parameters)f -(and)g(the)g(sp)s(ecial)h(parameter)f(`)p Fs(#)p Ft(')g(are)h(restored) -f(to)h(the)150 2696 y(v)-5 b(alues)26 b(they)f(had)g(prior)f(to)i(the)g -(function's)f(execution.)40 b(If)25 b(a)h(n)m(umeric)f(argumen)m(t)h -(is)f(giv)m(en)h(to)g Fs(return)p Ft(,)150 2806 y(that)j(is)g(the)f -(function's)h(return)e(status;)j(otherwise)f(the)f(function's)h(return) -e(status)i(is)f(the)h(exit)h(status)150 2915 y(of)h(the)f(last)h -(command)f(executed)i(b)s(efore)e(the)g Fs(return)p Ft(.)275 -3057 y(V)-8 b(ariables)31 b(lo)s(cal)g(to)f(the)g(function)f(ma)m(y)i -(b)s(e)e(declared)h(with)f(the)h Fs(local)f Ft(builtin.)40 -b(These)29 b(v)-5 b(ariables)150 3166 y(are)31 b(visible)g(only)f(to)h -(the)g(function)f(and)g(the)g(commands)g(it)h(in)m(v)m(ok)m(es.)275 -3308 y(F)-8 b(unction)38 b(names)f(and)g(de\014nitions)g(ma)m(y)i(b)s -(e)e(listed)h(with)f(the)h(`)p Fs(-f)p Ft(')f(option)h(to)h(the)e -Fs(declare)f Ft(or)150 3417 y Fs(typeset)d Ft(builtin)h(commands)h -(\(see)h(Section)g(4.2)g([Bash)f(Builtins],)i(page)f(41\).)55 -b(The)35 b(`)p Fs(-F)p Ft(')g(option)g(to)150 3527 y -Fs(declare)f Ft(or)i Fs(typeset)e Ft(will)i(list)h(the)f(function)g -(names)g(only)g(\(and)g(optionally)h(the)f(source)g(\014le)h(and)150 -3636 y(line)c(n)m(um)m(b)s(er,)g(if)f(the)h Fs(extdebug)e +3160 y(has)h(b)s(een)f(enabled.)55 b(See)35 b(Section)h(4.1)g([Bourne)f +(Shell)g(Builtins],)i(page)f(37,)i(for)c(the)i(description)f(of)150 +3270 y(the)c Fs(trap)e Ft(builtin.)275 3404 y(The)38 +b Fs(FUNCNEST)f Ft(v)-5 b(ariable,)42 b(if)d(set)h(to)g(a)g(n)m(umeric) +f(v)-5 b(alue)39 b(greater)h(than)f(0,)j(de\014nes)d(a)g(maxim)m(um)150 +3513 y(function)24 b(nesting)h(lev)m(el.)40 b(F)-8 b(unction)25 +b(in)m(v)m(o)s(cations)i(that)e(exceed)g(the)g(limit)g(cause)g(the)g +(en)m(tire)g(command)150 3623 y(to)31 b(ab)s(ort.)275 +3757 y(If)37 b(the)g(builtin)g(command)h Fs(return)d +Ft(is)j(executed)g(in)g(a)g(function,)h(the)e(function)h(completes)h +(and)150 3867 y(execution)25 b(resumes)e(with)h(the)g(next)g(command)f +(after)i(the)f(function)f(call.)40 b(An)m(y)24 b(command)f(asso)s +(ciated)150 3976 y(with)36 b(the)h Fs(RETURN)d Ft(trap)i(is)h(executed) +g(b)s(efore)f(execution)i(resumes.)57 b(When)37 b(a)f(function)g +(completes,)150 4086 y(the)h(v)-5 b(alues)38 b(of)f(the)g(p)s +(ositional)h(parameters)f(and)g(the)g(sp)s(ecial)h(parameter)f(`)p +Fs(#)p Ft(')g(are)h(restored)f(to)h(the)150 4195 y(v)-5 +b(alues)26 b(they)f(had)g(prior)f(to)i(the)g(function's)f(execution.)40 +b(If)25 b(a)h(n)m(umeric)f(argumen)m(t)h(is)f(giv)m(en)h(to)g +Fs(return)p Ft(,)150 4305 y(that)j(is)g(the)f(function's)h(return)e +(status;)j(otherwise)f(the)f(function's)h(return)e(status)i(is)f(the)h +(exit)h(status)150 4415 y(of)h(the)f(last)h(command)f(executed)i(b)s +(efore)e(the)g Fs(return)p Ft(.)275 4548 y(V)-8 b(ariables)31 +b(lo)s(cal)g(to)f(the)g(function)f(ma)m(y)i(b)s(e)e(declared)h(with)f +(the)h Fs(local)f Ft(builtin.)40 b(These)29 b(v)-5 b(ariables)150 +4658 y(are)31 b(visible)g(only)f(to)h(the)g(function)f(and)g(the)g +(commands)g(it)h(in)m(v)m(ok)m(es.)275 4792 y(F)-8 b(unction)38 +b(names)f(and)g(de\014nitions)g(ma)m(y)i(b)s(e)e(listed)h(with)f(the)h +(`)p Fs(-f)p Ft(')f(option)h(to)h(the)e Fs(declare)f +Ft(or)150 4902 y Fs(typeset)d Ft(builtin)h(commands)h(\(see)h(Section)g +(4.2)g([Bash)f(Builtins],)i(page)f(43\).)55 b(The)35 +b(`)p Fs(-F)p Ft(')g(option)g(to)150 5011 y Fs(declare)f +Ft(or)i Fs(typeset)e Ft(will)i(list)h(the)f(function)g(names)g(only)g +(\(and)g(optionally)h(the)f(source)g(\014le)h(and)150 +5121 y(line)c(n)m(um)m(b)s(er,)g(if)f(the)h Fs(extdebug)e Ft(shell)i(option)g(is)g(enabled\).)49 b(F)-8 b(unctions)33 -b(ma)m(y)h(b)s(e)e(exp)s(orted)g(so)h(that)150 3746 y(subshells)f +b(ma)m(y)h(b)s(e)e(exp)s(orted)g(so)h(that)150 5230 y(subshells)f (automatically)37 b(ha)m(v)m(e)d(them)g(de\014ned)e(with)h(the)g(`)p Fs(-f)p Ft(')h(option)g(to)g(the)f Fs(export)f Ft(builtin)h(\(see)150 -3856 y(Section)g(4.1)g([Bourne)f(Shell)g(Builtins],)i(page)f(35\).)47 +5340 y(Section)g(4.1)g([Bourne)f(Shell)g(Builtins],)i(page)f(37\).)47 b(Note)33 b(that)g(shell)f(functions)g(and)f(v)-5 b(ariables)33 -b(with)150 3965 y(the)d(same)g(name)g(ma)m(y)g(result)g(in)g(m)m -(ultiple)g(iden)m(tically-named)i(en)m(tries)f(in)e(the)h(en)m -(vironmen)m(t)g(passed)150 4075 y(to)h(the)g(shell's)f(c)m(hildren.)41 -b(Care)30 b(should)g(b)s(e)f(tak)m(en)j(in)e(cases)h(where)f(this)g(ma) -m(y)h(cause)g(a)g(problem.)275 4216 y(F)-8 b(unctions)30 -b(ma)m(y)h(b)s(e)f(recursiv)m(e.)41 b(No)31 b(limit)g(is)g(placed)g(on) -f(the)g(n)m(um)m(b)s(er)g(of)g(recursiv)m(e)h(calls.)150 -4459 y Fr(3.4)68 b(Shell)45 b(P)l(arameters)150 4619 -y Ft(A)23 b Fq(parameter)31 b Ft(is)23 b(an)g(en)m(tit)m(y)i(that)f -(stores)g(v)-5 b(alues.)39 b(It)23 b(can)h(b)s(e)f(a)g -Fs(name)p Ft(,)h(a)g(n)m(um)m(b)s(er,)f(or)h(one)f(of)h(the)f(sp)s -(ecial)150 4728 y(c)m(haracters)i(listed)f(b)s(elo)m(w.)39 -b(A)24 b Fq(v)-5 b(ariable)29 b Ft(is)24 b(a)g(parameter)g(denoted)f(b) -m(y)h(a)g Fs(name)p Ft(.)37 b(A)24 b(v)-5 b(ariable)24 -b(has)f(a)h Fq(v)-5 b(alue)150 4838 y Ft(and)33 b(zero)i(or)e(more)h +b(with)p eop end +%%Page: 17 23 +TeXDict begin 17 22 bop 150 -116 a Ft(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(17)150 299 +y(the)30 b(same)g(name)g(ma)m(y)g(result)g(in)g(m)m(ultiple)g(iden)m +(tically-named)i(en)m(tries)f(in)e(the)h(en)m(vironmen)m(t)g(passed)150 +408 y(to)h(the)g(shell's)f(c)m(hildren.)41 b(Care)30 +b(should)g(b)s(e)f(tak)m(en)j(in)e(cases)h(where)f(this)g(ma)m(y)h +(cause)g(a)g(problem.)275 562 y(F)-8 b(unctions)30 b(ma)m(y)h(b)s(e)f +(recursiv)m(e.)41 b(No)31 b(limit)g(is)g(placed)g(on)f(the)g(n)m(um)m +(b)s(er)g(of)g(recursiv)m(e)h(calls.)150 824 y Fr(3.4)68 +b(Shell)45 b(P)l(arameters)150 983 y Ft(A)23 b Fq(parameter)31 +b Ft(is)23 b(an)g(en)m(tit)m(y)i(that)f(stores)g(v)-5 +b(alues.)39 b(It)23 b(can)h(b)s(e)f(a)g Fs(name)p Ft(,)h(a)g(n)m(um)m +(b)s(er,)f(or)h(one)f(of)h(the)f(sp)s(ecial)150 1093 +y(c)m(haracters)i(listed)f(b)s(elo)m(w.)39 b(A)24 b Fq(v)-5 +b(ariable)29 b Ft(is)24 b(a)g(parameter)g(denoted)f(b)m(y)h(a)g +Fs(name)p Ft(.)37 b(A)24 b(v)-5 b(ariable)24 b(has)f(a)h +Fq(v)-5 b(alue)150 1202 y Ft(and)33 b(zero)i(or)e(more)h Fq(attributes)t Ft(.)51 b(A)m(ttributes)34 b(are)g(assigned)g(using)f -(the)h Fs(declare)e Ft(builtin)h(command)150 4947 y(\(see)e(the)g +(the)h Fs(declare)e Ft(builtin)h(command)150 1312 y(\(see)e(the)g (description)f(of)h(the)f Fs(declare)f Ft(builtin)h(in)g(Section)h(4.2) -g([Bash)g(Builtins],)g(page)g(41\).)275 5089 y(A)d(parameter)h(is)g +g([Bash)g(Builtins],)g(page)g(43\).)275 1466 y(A)d(parameter)h(is)g (set)g(if)f(it)h(has)f(b)s(een)g(assigned)h(a)g(v)-5 b(alue.)40 b(The)28 b(n)m(ull)h(string)f(is)h(a)g(v)-5 -b(alid)28 b(v)-5 b(alue.)41 b(Once)150 5198 y(a)31 b(v)-5 +b(alid)28 b(v)-5 b(alue.)41 b(Once)150 1575 y(a)31 b(v)-5 b(ariable)31 b(is)f(set,)i(it)e(ma)m(y)h(b)s(e)f(unset)g(only)h(b)m(y)f -(using)g(the)g Fs(unset)f Ft(builtin)h(command.)275 5340 +(using)g(the)g Fs(unset)f Ft(builtin)h(command.)275 1729 y(A)g(v)-5 b(ariable)31 b(ma)m(y)g(b)s(e)f(assigned)g(to)i(b)m(y)e(a)h -(statemen)m(t)h(of)e(the)h(form)p eop end -%%Page: 16 22 -TeXDict begin 16 21 bop 150 -116 a Ft(16)2572 b(Bash)31 -b(Reference)g(Man)m(ual)390 299 y Fi(name)11 b Fs(=[)p -Fi(value)g Fs(])150 435 y Ft(If)34 b Fq(v)-5 b(alue)40 -b Ft(is)35 b(not)g(giv)m(en,)h(the)f(v)-5 b(ariable)35 +(statemen)m(t)h(of)e(the)h(form)390 1883 y Fi(name)11 +b Fs(=[)p Fi(value)g Fs(])150 2037 y Ft(If)34 b Fq(v)-5 +b(alue)40 b Ft(is)35 b(not)g(giv)m(en,)h(the)f(v)-5 b(ariable)35 b(is)g(assigned)g(the)f(n)m(ull)h(string.)53 b(All)35 b Fq(v)-5 b(alue)5 b Ft(s)35 b(undergo)f(tilde)h(ex-)150 -544 y(pansion,)h(parameter)f(and)f(v)-5 b(ariable)36 +2146 y(pansion,)h(parameter)f(and)f(v)-5 b(ariable)36 b(expansion,)f(command)g(substitution,)h(arithmetic)g(expansion,)150 -654 y(and)k(quote)h(remo)m(v)-5 b(al)42 b(\(detailed)h(b)s(elo)m(w\).) +2256 y(and)k(quote)h(remo)m(v)-5 b(al)42 b(\(detailed)h(b)s(elo)m(w\).) 72 b(If)40 b(the)h(v)-5 b(ariable)41 b(has)g(its)g Fs(integer)e -Ft(attribute)i(set,)j(then)150 763 y Fq(v)-5 b(alue)38 +Ft(attribute)i(set,)j(then)150 2365 y Fq(v)-5 b(alue)38 b Ft(is)33 b(ev)-5 b(aluated)34 b(as)f(an)g(arithmetic)h(expression)f (ev)m(en)h(if)e(the)h Fs($\(\(...)o(\)\))f Ft(expansion)h(is)g(not)g -(used)150 873 y(\(see)e(Section)g(3.5.5)i([Arithmetic)e(Expansion],)f -(page)h(23\).)42 b(W)-8 b(ord)31 b(splitting)g(is)g(not)f(p)s -(erformed,)f(with)150 983 y(the)35 b(exception)h(of)f +(used)150 2475 y(\(see)e(Section)g(3.5.5)i([Arithmetic)e(Expansion],)f +(page)h(24\).)42 b(W)-8 b(ord)31 b(splitting)g(is)g(not)f(p)s +(erformed,)f(with)150 2585 y(the)35 b(exception)h(of)f Fs("$@")f Ft(as)h(explained)g(b)s(elo)m(w.)54 b(Filename)36 b(expansion)f(is)g(not)g(p)s(erformed.)53 b(Assign-)150 -1092 y(men)m(t)33 b(statemen)m(ts)h(ma)m(y)f(also)g(app)s(ear)f(as)g +2694 y(men)m(t)33 b(statemen)m(ts)h(ma)m(y)f(also)g(app)s(ear)f(as)g (argumen)m(ts)h(to)g(the)g Fs(alias)p Ft(,)e Fs(declare)p -Ft(,)g Fs(typeset)p Ft(,)g Fs(export)p Ft(,)150 1202 +Ft(,)g Fs(typeset)p Ft(,)g Fs(export)p Ft(,)150 2804 y Fs(readonly)p Ft(,)d(and)i Fs(local)f Ft(builtin)h(commands.)275 -1338 y(In)f(the)h(con)m(text)i(where)d(an)h(assignmen)m(t)h(statemen)m +2958 y(In)f(the)h(con)m(text)i(where)d(an)h(assignmen)m(t)h(statemen)m (t)h(is)e(assigning)g(a)h(v)-5 b(alue)30 b(to)h(a)f(shell)g(v)-5 -b(ariable)31 b(or)150 1447 y(arra)m(y)f(index)g(\(see)h(Section)g(6.7)g -([Arra)m(ys],)g(page)g(80\),)g(the)f(`)p Fs(+=)p Ft(')g(op)s(erator)g -(can)h(b)s(e)e(used)g(to)i(app)s(end)d(to)150 1557 y(or)36 +b(ariable)31 b(or)150 3067 y(arra)m(y)f(index)g(\(see)h(Section)g(6.7)g +([Arra)m(ys],)g(page)g(82\),)g(the)f(`)p Fs(+=)p Ft(')g(op)s(erator)g +(can)h(b)s(e)e(used)g(to)i(app)s(end)d(to)150 3177 y(or)36 b(add)g(to)h(the)f(v)-5 b(ariable's)37 b(previous)f(v)-5 b(alue.)59 b(When)36 b(`)p Fs(+=)p Ft(')g(is)g(applied)g(to)h(a)g(v)-5 -b(ariable)37 b(for)f(whic)m(h)g(the)150 1666 y(in)m(teger)k(attribute)e +b(ariable)37 b(for)f(whic)m(h)g(the)150 3286 y(in)m(teger)k(attribute)e (has)g(b)s(een)g(set,)j Fq(v)-5 b(alue)44 b Ft(is)38 b(ev)-5 b(aluated)39 b(as)g(an)f(arithmetic)h(expression)f(and)g(added) -150 1776 y(to)e(the)f(v)-5 b(ariable's)36 b(curren)m(t)f(v)-5 +150 3396 y(to)e(the)f(v)-5 b(ariable's)36 b(curren)m(t)f(v)-5 b(alue,)37 b(whic)m(h)e(is)g(also)h(ev)-5 b(aluated.)56 b(When)35 b(`)p Fs(+=)p Ft(')g(is)h(applied)f(to)g(an)g(arra)m(y)150 -1886 y(v)-5 b(ariable)26 b(using)e(comp)s(ound)f(assignmen)m(t)j(\(see) -f(Section)h(6.7)f([Arra)m(ys],)i(page)f(80\),)h(the)e(v)-5 -b(ariable's)25 b(v)-5 b(alue)150 1995 y(is)32 b(not)f(unset)h(\(as)g +3506 y(v)-5 b(ariable)26 b(using)e(comp)s(ound)f(assignmen)m(t)j(\(see) +f(Section)h(6.7)f([Arra)m(ys],)i(page)f(82\),)h(the)e(v)-5 +b(ariable's)25 b(v)-5 b(alue)150 3615 y(is)32 b(not)f(unset)h(\(as)g (it)g(is)f(when)g(using)g(`)p Fs(=)p Ft('\),)i(and)e(new)g(v)-5 b(alues)32 b(are)g(app)s(ended)d(to)k(the)f(arra)m(y)g(b)s(eginning)150 -2105 y(at)27 b(one)f(greater)i(than)e(the)g(arra)m(y's)h(maxim)m(um)f +3725 y(at)27 b(one)f(greater)i(than)e(the)g(arra)m(y's)h(maxim)m(um)f (index)g(\(for)g(indexed)g(arra)m(ys\),)i(or)e(added)g(as)g(additional) -150 2214 y(k)m(ey-v)-5 b(alue)35 b(pairs)e(in)g(an)g(asso)s(ciativ)m(e) +150 3834 y(k)m(ey-v)-5 b(alue)35 b(pairs)e(in)g(an)g(asso)s(ciativ)m(e) j(arra)m(y)-8 b(.)51 b(When)33 b(applied)g(to)h(a)g(string-v)-5 b(alued)34 b(v)-5 b(ariable,)35 b Fq(v)-5 b(alue)39 b -Ft(is)150 2324 y(expanded)30 b(and)f(app)s(ended)g(to)i(the)g(v)-5 -b(ariable's)31 b(v)-5 b(alue.)150 2525 y Fj(3.4.1)63 -b(P)m(ositional)41 b(P)m(arameters)150 2671 y Ft(A)28 +Ft(is)150 3944 y(expanded)30 b(and)f(app)s(ended)g(to)i(the)g(v)-5 +b(ariable's)31 b(v)-5 b(alue.)150 4163 y Fj(3.4.1)63 +b(P)m(ositional)41 b(P)m(arameters)150 4309 y Ft(A)28 b Fq(p)s(ositional)h(parameter)35 b Ft(is)28 b(a)g(parameter)g(denoted) g(b)m(y)g(one)g(or)g(more)g(digits,)h(other)g(than)e(the)h(single)150 -2781 y(digit)34 b Fs(0)p Ft(.)48 b(P)m(ositional)36 b(parameters)d(are) +4419 y(digit)34 b Fs(0)p Ft(.)48 b(P)m(ositional)36 b(parameters)d(are) g(assigned)h(from)e(the)i(shell's)f(argumen)m(ts)g(when)f(it)i(is)f(in) -m(v)m(ok)m(ed,)150 2891 y(and)38 b(ma)m(y)i(b)s(e)e(reassigned)i(using) +m(v)m(ok)m(ed,)150 4529 y(and)38 b(ma)m(y)i(b)s(e)e(reassigned)i(using) e(the)h Fs(set)g Ft(builtin)f(command.)67 b(P)m(ositional)41 -b(parameter)e Fs(N)g Ft(ma)m(y)h(b)s(e)150 3000 y(referenced)34 +b(parameter)e Fs(N)g Ft(ma)m(y)h(b)s(e)150 4638 y(referenced)34 b(as)h Fs(${N})p Ft(,)g(or)f(as)h Fs($N)e Ft(when)h Fs(N)g Ft(consists)h(of)f(a)h(single)g(digit.)54 b(P)m(ositional)37 -b(parameters)d(ma)m(y)150 3110 y(not)j(b)s(e)f(assigned)h(to)g(with)f +b(parameters)d(ma)m(y)150 4748 y(not)j(b)s(e)f(assigned)h(to)g(with)f (assignmen)m(t)i(statemen)m(ts.)61 b(The)36 b Fs(set)g Ft(and)g Fs(shift)f Ft(builtins)h(are)h(used)f(to)150 -3219 y(set)k(and)f(unset)f(them)i(\(see)g(Chapter)f(4)g([Shell)h -(Builtin)g(Commands],)h(page)f(35\).)68 b(The)39 b(p)s(ositional)150 -3329 y(parameters)44 b(are)g(temp)s(orarily)g(replaced)h(when)e(a)h +4857 y(set)k(and)f(unset)f(them)i(\(see)g(Chapter)f(4)g([Shell)h +(Builtin)g(Commands],)h(page)f(37\).)68 b(The)39 b(p)s(ositional)150 +4967 y(parameters)44 b(are)g(temp)s(orarily)g(replaced)h(when)e(a)h (shell)g(function)g(is)g(executed)g(\(see)h(Section)g(3.3)150 -3439 y([Shell)30 b(F)-8 b(unctions],)32 b(page)f(14\).)275 -3574 y(When)c(a)i(p)s(ositional)g(parameter)g(consisting)f(of)h(more)f +5077 y([Shell)30 b(F)-8 b(unctions],)32 b(page)f(15\).)275 +5230 y(When)c(a)i(p)s(ositional)g(parameter)g(consisting)f(of)h(more)f (than)g(a)g(single)h(digit)g(is)f(expanded,)g(it)h(m)m(ust)150 -3684 y(b)s(e)h(enclosed)h(in)f(braces.)150 3885 y Fj(3.4.2)63 -b(Sp)s(ecial)41 b(P)m(arameters)150 4032 y Ft(The)d(shell)g(treats)h -(sev)m(eral)g(parameters)f(sp)s(ecially)-8 b(.)65 b(These)38 -b(parameters)h(ma)m(y)f(only)g(b)s(e)g(referenced;)150 -4141 y(assignmen)m(t)31 b(to)g(them)g(is)f(not)h(allo)m(w)m(ed.)150 -4303 y Fs(*)432 b Ft(Expands)29 b(to)h(the)h(p)s(ositional)f -(parameters,)h(starting)g(from)e(one.)41 b(When)30 b(the)g(expansion) -630 4412 y(o)s(ccurs)e(within)f(double)h(quotes,)h(it)g(expands)e(to)i -(a)f(single)h(w)m(ord)f(with)g(the)g(v)-5 b(alue)29 b(of)f(eac)m(h)630 -4522 y(parameter)i(separated)g(b)m(y)f(the)g(\014rst)g(c)m(haracter)i -(of)e(the)h Fs(IFS)e Ft(sp)s(ecial)i(v)-5 b(ariable.)41 -b(That)30 b(is,)630 4631 y Fs("$*")h Ft(is)i(equiv)-5 -b(alen)m(t)33 b(to)h Fs("$1)p Fi(c)11 b Fs($2)p Fi(c)g -Fs(...)l(")p Ft(,)33 b(where)f Fq(c)38 b Ft(is)32 b(the)h(\014rst)e(c)m -(haracter)j(of)f(the)f(v)-5 b(alue)630 4741 y(of)30 b(the)g -Fs(IFS)g Ft(v)-5 b(ariable.)41 b(If)30 b Fs(IFS)f Ft(is)h(unset,)g(the) -g(parameters)g(are)h(separated)f(b)m(y)g(spaces.)41 b(If)630 -4850 y Fs(IFS)29 b Ft(is)i(n)m(ull,)f(the)h(parameters)g(are)f(joined)h -(without)f(in)m(terv)m(ening)i(separators.)150 5011 y +5340 y(b)s(e)h(enclosed)h(in)f(braces.)p eop end +%%Page: 18 24 +TeXDict begin 18 23 bop 150 -116 a Ft(18)2572 b(Bash)31 +b(Reference)g(Man)m(ual)150 299 y Fj(3.4.2)63 b(Sp)s(ecial)41 +b(P)m(arameters)150 446 y Ft(The)d(shell)g(treats)h(sev)m(eral)g +(parameters)f(sp)s(ecially)-8 b(.)65 b(These)38 b(parameters)h(ma)m(y)f +(only)g(b)s(e)g(referenced;)150 555 y(assignmen)m(t)31 +b(to)g(them)g(is)f(not)h(allo)m(w)m(ed.)150 712 y Fs(*)432 +b Ft(Expands)29 b(to)h(the)h(p)s(ositional)f(parameters,)h(starting)g +(from)e(one.)41 b(When)30 b(the)g(expansion)630 822 y(o)s(ccurs)e +(within)f(double)h(quotes,)h(it)g(expands)e(to)i(a)f(single)h(w)m(ord)f +(with)g(the)g(v)-5 b(alue)29 b(of)f(eac)m(h)630 932 y(parameter)i +(separated)g(b)m(y)f(the)g(\014rst)g(c)m(haracter)i(of)e(the)h +Fs(IFS)e Ft(sp)s(ecial)i(v)-5 b(ariable.)41 b(That)30 +b(is,)630 1041 y Fs("$*")h Ft(is)i(equiv)-5 b(alen)m(t)33 +b(to)h Fs("$1)p Fi(c)11 b Fs($2)p Fi(c)g Fs(...)l(")p +Ft(,)33 b(where)f Fq(c)38 b Ft(is)32 b(the)h(\014rst)e(c)m(haracter)j +(of)f(the)f(v)-5 b(alue)630 1151 y(of)30 b(the)g Fs(IFS)g +Ft(v)-5 b(ariable.)41 b(If)30 b Fs(IFS)f Ft(is)h(unset,)g(the)g +(parameters)g(are)h(separated)f(b)m(y)g(spaces.)41 b(If)630 +1260 y Fs(IFS)29 b Ft(is)i(n)m(ull,)f(the)h(parameters)g(are)f(joined)h +(without)f(in)m(terv)m(ening)i(separators.)150 1417 y Fs(@)432 b Ft(Expands)29 b(to)h(the)h(p)s(ositional)f(parameters,)h (starting)g(from)e(one.)41 b(When)30 b(the)g(expansion)630 -5121 y(o)s(ccurs)c(within)g(double)f(quotes,)j(eac)m(h)f(parameter)g +1527 y(o)s(ccurs)c(within)g(double)f(quotes,)j(eac)m(h)f(parameter)g (expands)e(to)i(a)g(separate)g(w)m(ord.)39 b(That)630 -5230 y(is,)29 b Fs("$@")e Ft(is)i(equiv)-5 b(alen)m(t)30 +1636 y(is,)29 b Fs("$@")e Ft(is)i(equiv)-5 b(alen)m(t)30 b(to)f Fs("$1")g("$2")h(...)o Ft(.)40 b(If)28 b(the)g(double-quoted)h -(expansion)f(o)s(ccurs)630 5340 y(within)d(a)h(w)m(ord,)g(the)g +(expansion)f(o)s(ccurs)630 1746 y(within)d(a)h(w)m(ord,)g(the)g (expansion)f(of)h(the)g(\014rst)f(parameter)h(is)f(joined)h(with)f(the) -h(b)s(eginning)p eop end -%%Page: 17 23 -TeXDict begin 17 22 bop 150 -116 a Ft(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(17)630 299 -y(part)25 b(of)g(the)g(original)g(w)m(ord,)h(and)e(the)h(expansion)g -(of)g(the)g(last)h(parameter)f(is)g(joined)f(with)630 -408 y(the)37 b(last)g(part)g(of)f(the)h(original)h(w)m(ord.)59 +h(b)s(eginning)630 1856 y(part)f(of)g(the)g(original)g(w)m(ord,)h(and)e +(the)h(expansion)g(of)g(the)g(last)h(parameter)f(is)g(joined)f(with)630 +1965 y(the)37 b(last)g(part)g(of)f(the)h(original)h(w)m(ord.)59 b(When)36 b(there)h(are)g(no)f(p)s(ositional)h(parameters,)630 -518 y Fs("$@")29 b Ft(and)h Fs($@)g Ft(expand)f(to)j(nothing)e(\(i.e.,) -i(they)e(are)h(remo)m(v)m(ed\).)150 677 y Fs(#)432 b -Ft(Expands)29 b(to)i(the)g(n)m(um)m(b)s(er)e(of)h(p)s(ositional)h -(parameters)g(in)f(decimal.)150 836 y Fs(?)432 b Ft(Expands)29 +2075 y Fs("$@")29 b Ft(and)h Fs($@)g Ft(expand)f(to)j(nothing)e +(\(i.e.,)i(they)e(are)h(remo)m(v)m(ed\).)150 2232 y Fs(#)432 +b Ft(Expands)29 b(to)i(the)g(n)m(um)m(b)s(er)e(of)h(p)s(ositional)h +(parameters)g(in)f(decimal.)150 2389 y Fs(?)432 b Ft(Expands)29 b(to)i(the)g(exit)g(status)g(of)f(the)h(most)f(recen)m(tly)i(executed)f -(foreground)f(pip)s(eline.)150 995 y Fs(-)432 b Ft(\(A)31 +(foreground)f(pip)s(eline.)150 2546 y Fs(-)432 b Ft(\(A)31 b(h)m(yphen.\))42 b(Expands)30 b(to)h(the)g(curren)m(t)g(option)h (\015ags)f(as)g(sp)s(eci\014ed)f(up)s(on)g(in)m(v)m(o)s(cation,)630 -1105 y(b)m(y)35 b(the)h Fs(set)e Ft(builtin)h(command,)h(or)g(those)g +2655 y(b)m(y)35 b(the)h Fs(set)e Ft(builtin)h(command,)h(or)g(those)g (set)f(b)m(y)h(the)f(shell)h(itself)g(\(suc)m(h)f(as)h(the)f(`)p -Fs(-i)p Ft(')630 1215 y(option\).)150 1374 y Fs($)432 +Fs(-i)p Ft(')630 2765 y(option\).)150 2922 y Fs($)432 b Ft(Expands)39 b(to)j(the)f(pro)s(cess)f Fl(id)h Ft(of)g(the)g(shell.) 73 b(In)40 b(a)h Fs(\(\))f Ft(subshell,)j(it)e(expands)f(to)i(the)630 -1483 y(pro)s(cess)30 b Fl(id)g Ft(of)h(the)g(in)m(v)m(oking)g(shell,)g -(not)g(the)f(subshell.)150 1643 y Fs(!)432 b Ft(Expands)39 +3031 y(pro)s(cess)30 b Fl(id)g Ft(of)h(the)g(in)m(v)m(oking)g(shell,)g +(not)g(the)f(subshell.)150 3188 y Fs(!)432 b Ft(Expands)39 b(to)i(the)g(pro)s(cess)e Fl(id)i Ft(of)f(the)h(most)g(recen)m(tly)g -(executed)g(bac)m(kground)g(\(asyn-)630 1752 y(c)m(hronous\))30 -b(command.)150 1911 y Fs(0)432 b Ft(Expands)20 b(to)j(the)f(name)g(of)g +(executed)g(bac)m(kground)g(\(asyn-)630 3298 y(c)m(hronous\))30 +b(command.)150 3455 y Fs(0)432 b Ft(Expands)20 b(to)j(the)f(name)g(of)g (the)g(shell)g(or)f(shell)h(script.)38 b(This)21 b(is)h(set)g(at)h -(shell)f(initialization.)630 2021 y(If)44 b(Bash)g(is)g(in)m(v)m(ok)m +(shell)f(initialization.)630 3564 y(If)44 b(Bash)g(is)g(in)m(v)m(ok)m (ed)i(with)e(a)g(\014le)g(of)h(commands)e(\(see)j(Section)f(3.8)g -([Shell)f(Scripts],)630 2130 y(page)39 b(33\),)i Fs($0)d +([Shell)f(Scripts],)630 3674 y(page)39 b(34\),)i Fs($0)d Ft(is)g(set)g(to)h(the)f(name)g(of)g(that)h(\014le.)64 b(If)37 b(Bash)i(is)f(started)g(with)g(the)g(`)p Fs(-c)p -Ft(')630 2240 y(option)i(\(see)g(Section)h(6.1)f([In)m(v)m(oking)h -(Bash],)h(page)e(71\),)j(then)d Fs($0)e Ft(is)i(set)g(to)g(the)g -(\014rst)630 2350 y(argumen)m(t)31 b(after)g(the)g(string)g(to)g(b)s(e) +Ft(')630 3784 y(option)i(\(see)g(Section)h(6.1)f([In)m(v)m(oking)h +(Bash],)h(page)e(73\),)j(then)d Fs($0)e Ft(is)i(set)g(to)g(the)g +(\014rst)630 3893 y(argumen)m(t)31 b(after)g(the)g(string)g(to)g(b)s(e) f(executed,)i(if)f(one)g(is)f(presen)m(t.)42 b(Otherwise,)31 -b(it)g(is)f(set)630 2459 y(to)h(the)g(\014lename)f(used)g(to)h(in)m(v)m +b(it)g(is)f(set)630 4003 y(to)h(the)g(\014lename)f(used)g(to)h(in)m(v)m (ok)m(e)h(Bash,)f(as)g(giv)m(en)g(b)m(y)f(argumen)m(t)h(zero.)150 -2618 y Fs(_)432 b Ft(\(An)27 b(underscore.\))39 b(A)m(t)29 +4160 y Fs(_)432 b Ft(\(An)27 b(underscore.\))39 b(A)m(t)29 b(shell)e(startup,)h(set)f(to)h(the)g(absolute)g(pathname)f(used)f(to)i -(in)m(v)m(ok)m(e)630 2728 y(the)22 b(shell)g(or)g(shell)g(script)f(b)s +(in)m(v)m(ok)m(e)630 4269 y(the)22 b(shell)g(or)g(shell)g(script)f(b)s (eing)h(executed)h(as)f(passed)f(in)g(the)h(en)m(vironmen)m(t)h(or)e -(argumen)m(t)630 2838 y(list.)72 b(Subsequen)m(tly)-8 +(argumen)m(t)630 4379 y(list.)72 b(Subsequen)m(tly)-8 b(,)43 b(expands)c(to)j(the)e(last)i(argumen)m(t)f(to)g(the)g(previous) -f(command,)630 2947 y(after)35 b(expansion.)54 b(Also)36 +f(command,)630 4489 y(after)35 b(expansion.)54 b(Also)36 b(set)f(to)h(the)f(full)f(pathname)h(used)f(to)h(in)m(v)m(ok)m(e)i(eac) -m(h)f(command)630 3057 y(executed)42 b(and)e(placed)i(in)e(the)h(en)m +m(h)f(command)630 4598 y(executed)42 b(and)e(placed)i(in)e(the)h(en)m (vironmen)m(t)h(exp)s(orted)f(to)g(that)h(command.)72 -b(When)630 3166 y(c)m(hec)m(king)32 b(mail,)f(this)g(parameter)g(holds) -e(the)i(name)f(of)h(the)g(mail)g(\014le.)150 3399 y Fr(3.5)68 -b(Shell)45 b(Expansions)150 3558 y Ft(Expansion)27 b(is)i(p)s(erformed) +b(When)630 4708 y(c)m(hec)m(king)32 b(mail,)f(this)g(parameter)g(holds) +e(the)i(name)f(of)h(the)g(mail)g(\014le.)150 4938 y Fr(3.5)68 +b(Shell)45 b(Expansions)150 5097 y Ft(Expansion)27 b(is)i(p)s(erformed) d(on)i(the)g(command)g(line)h(after)f(it)h(has)f(b)s(een)f(split)h(in)m -(to)i Fs(token)p Ft(s.)38 b(There)28 b(are)150 3668 y(sev)m(en)j(kinds) -e(of)i(expansion)f(p)s(erformed:)225 3802 y Fp(\017)60 -b Ft(brace)31 b(expansion)225 3936 y Fp(\017)60 b Ft(tilde)31 -b(expansion)225 4071 y Fp(\017)60 b Ft(parameter)31 b(and)f(v)-5 -b(ariable)31 b(expansion)225 4205 y Fp(\017)60 b Ft(command)30 -b(substitution)225 4339 y Fp(\017)60 b Ft(arithmetic)32 -b(expansion)225 4474 y Fp(\017)60 b Ft(w)m(ord)30 b(splitting)225 -4608 y Fp(\017)60 b Ft(\014lename)31 b(expansion)275 -4767 y(The)i(order)g(of)h(expansions)g(is:)47 b(brace)34 -b(expansion,)h(tilde)g(expansion,)f(parameter,)i(v)-5 -b(ariable,)36 b(and)150 4877 y(arithmetic)46 b(expansion)f(and)g -(command)f(substitution)h(\(done)g(in)g(a)g(left-to-righ)m(t)j -(fashion\),)h(w)m(ord)150 4986 y(splitting,)31 b(and)f(\014lename)h -(expansion.)275 5121 y(On)42 b(systems)h(that)h(can)g(supp)s(ort)e(it,) -47 b(there)d(is)f(an)h(additional)g(expansion)f(a)m(v)-5 -b(ailable:)69 b Fq(pro)s(cess)150 5230 y(substitution)p +(to)i Fs(token)p Ft(s.)38 b(There)28 b(are)150 5207 y(sev)m(en)j(kinds) +e(of)i(expansion)f(p)s(erformed:)225 5340 y Fp(\017)60 +b Ft(brace)31 b(expansion)p eop end +%%Page: 19 25 +TeXDict begin 19 24 bop 150 -116 a Ft(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(19)225 299 +y Fp(\017)60 b Ft(tilde)31 b(expansion)225 436 y Fp(\017)60 +b Ft(parameter)31 b(and)f(v)-5 b(ariable)31 b(expansion)225 +574 y Fp(\017)60 b Ft(command)30 b(substitution)225 711 +y Fp(\017)60 b Ft(arithmetic)32 b(expansion)225 849 y +Fp(\017)60 b Ft(w)m(ord)30 b(splitting)225 986 y Fp(\017)60 +b Ft(\014lename)31 b(expansion)275 1155 y(The)i(order)g(of)h +(expansions)g(is:)47 b(brace)34 b(expansion,)h(tilde)g(expansion,)f +(parameter,)i(v)-5 b(ariable,)36 b(and)150 1264 y(arithmetic)46 +b(expansion)f(and)g(command)f(substitution)h(\(done)g(in)g(a)g +(left-to-righ)m(t)j(fashion\),)h(w)m(ord)150 1374 y(splitting,)31 +b(and)f(\014lename)h(expansion.)275 1515 y(On)42 b(systems)h(that)h +(can)g(supp)s(ort)e(it,)47 b(there)d(is)f(an)h(additional)g(expansion)f +(a)m(v)-5 b(ailable:)69 b Fq(pro)s(cess)150 1624 y(substitution)p Ft(.)61 b(This)36 b(is)h(p)s(erformed)f(at)i(the)f(same)h(time)f(as)h (parameter,)h(v)-5 b(ariable,)40 b(and)d(arithmetic)150 -5340 y(expansion)30 b(and)g(command)g(substitution.)p -eop end -%%Page: 18 24 -TeXDict begin 18 23 bop 150 -116 a Ft(18)2572 b(Bash)31 -b(Reference)g(Man)m(ual)275 299 y(Only)k(brace)i(expansion,)h(w)m(ord)e -(splitting,)j(and)d(\014lename)g(expansion)g(can)h(c)m(hange)h(the)e(n) -m(um)m(b)s(er)150 408 y(of)h(w)m(ords)f(of)g(the)h(expansion;)i(other)e -(expansions)f(expand)g(a)h(single)g(w)m(ord)f(to)h(a)g(single)g(w)m -(ord.)58 b(The)150 518 y(only)32 b(exceptions)i(to)f(this)f(are)h(the)f +1734 y(expansion)30 b(and)g(command)g(substitution.)275 +1874 y(Only)35 b(brace)i(expansion,)h(w)m(ord)e(splitting,)j(and)d +(\014lename)g(expansion)g(can)h(c)m(hange)h(the)e(n)m(um)m(b)s(er)150 +1984 y(of)h(w)m(ords)f(of)g(the)h(expansion;)i(other)e(expansions)f +(expand)g(a)h(single)g(w)m(ord)f(to)h(a)g(single)g(w)m(ord.)58 +b(The)150 2093 y(only)32 b(exceptions)i(to)f(this)f(are)h(the)f (expansions)g(of)h Fs("$@")e Ft(\(see)i(Section)g(3.4.2)h([Sp)s(ecial)f -(P)m(arameters],)150 628 y(page)e(16\))h(and)d Fs("${)p +(P)m(arameters],)150 2203 y(page)e(18\))h(and)d Fs("${)p Fi(name)11 b Fs([@]}")27 b Ft(\(see)k(Section)h(6.7)f([Arra)m(ys],)g -(page)g(80\).)275 765 y(After)41 b(all)i(expansions,)h +(page)g(82\).)275 2344 y(After)41 b(all)i(expansions,)h Fs(quote)29 b(removal)40 b Ft(\(see)i(Section)h(3.5.9)g([Quote)f(Remo)m -(v)-5 b(al],)47 b(page)42 b(25\))h(is)150 875 y(p)s(erformed.)150 -1077 y Fj(3.5.1)63 b(Brace)40 b(Expansion)150 1224 y +(v)-5 b(al],)47 b(page)42 b(27\))h(is)150 2453 y(p)s(erformed.)150 +2658 y Fj(3.5.1)63 b(Brace)40 b(Expansion)150 2805 y Ft(Brace)28 b(expansion)f(is)h(a)f(mec)m(hanism)h(b)m(y)f(whic)m(h)f (arbitrary)h(strings)g(ma)m(y)h(b)s(e)f(generated.)40 -b(This)27 b(mec)m(ha-)150 1334 y(nism)e(is)h(similar)g(to)g +b(This)27 b(mec)m(ha-)150 2915 y(nism)e(is)h(similar)g(to)g Fq(\014lename)g(expansion)f Ft(\(see)i(Section)f(3.5.8)i([Filename)f -(Expansion],)f(page)h(24\),)h(but)150 1443 y(the)36 b(\014le)f(names)h +(Expansion],)f(page)h(25\),)h(but)150 3024 y(the)36 b(\014le)f(names)h (generated)g(need)f(not)h(exist.)57 b(P)m(atterns)36 b(to)g(b)s(e)f(brace)h(expanded)e(tak)m(e)j(the)f(form)f(of)150 -1553 y(an)29 b(optional)i Fq(pream)m(ble)5 b Ft(,)30 +3134 y(an)29 b(optional)i Fq(pream)m(ble)5 b Ft(,)30 b(follo)m(w)m(ed)i(b)m(y)d(either)h(a)g(series)g(of)g(comma-separated)h -(strings)e(or)h(a)g(seqeunce)150 1663 y(expression)36 +(strings)e(or)h(a)g(seqeunce)150 3244 y(expression)36 b(b)s(et)m(w)m(een)g(a)g(pair)g(of)g(braces,)i(follo)m(w)m(ed)f(b)m(y)f (an)g(optional)h Fq(p)s(ostscript)r Ft(.)56 b(The)36 -b(pream)m(ble)g(is)150 1772 y(pre\014xed)28 b(to)h(eac)m(h)h(string)f +b(pream)m(ble)g(is)150 3353 y(pre\014xed)28 b(to)h(eac)m(h)h(string)f (con)m(tained)h(within)e(the)h(braces,)g(and)g(the)g(p)s(ostscript)f -(is)h(then)f(app)s(ended)f(to)150 1882 y(eac)m(h)32 b(resulting)e -(string,)h(expanding)e(left)j(to)f(righ)m(t.)275 2019 +(is)h(then)f(app)s(ended)f(to)150 3463 y(eac)m(h)32 b(resulting)e +(string,)h(expanding)e(left)j(to)f(righ)m(t.)275 3603 y(Brace)37 b(expansions)f(ma)m(y)h(b)s(e)f(nested.)59 b(The)36 b(results)g(of)h(eac)m(h)g(expanded)f(string)g(are)h(not)g -(sorted;)150 2129 y(left)31 b(to)g(righ)m(t)g(order)f(is)g(preserv)m -(ed.)41 b(F)-8 b(or)31 b(example,)390 2267 y Fs(bash$)46 -b(echo)h(a{d,c,b}e)390 2376 y(ade)g(ace)g(abe)275 2514 +(sorted;)150 3713 y(left)31 b(to)g(righ)m(t)g(order)f(is)g(preserv)m +(ed.)41 b(F)-8 b(or)31 b(example,)390 3853 y Fs(bash$)46 +b(echo)h(a{d,c,b}e)390 3963 y(ade)g(ace)g(abe)275 4104 y Ft(A)20 b(sequence)h(expression)g(tak)m(es)h(the)f(form)f Fs({)p Fi(x)11 b Fs(..)p Fi(y)g Fs([..)p Fi(incr)g Fs(]})p Ft(,)18 b(where)i Fq(x)27 b Ft(and)20 b Fq(y)28 b Ft(are)22 -b(either)f(in)m(tegers)150 2623 y(or)42 b(single)h(c)m(haracters,)j +b(either)f(in)m(tegers)150 4213 y(or)42 b(single)h(c)m(haracters,)j (and)c Fq(incr)7 b Ft(,)44 b(an)e(optional)h(incremen)m(t,)j(is)c(an)g -(in)m(teger.)77 b(When)41 b(in)m(tegers)j(are)150 2733 +(in)m(teger.)77 b(When)41 b(in)m(tegers)j(are)150 4323 y(supplied,)e(the)f(expression)g(expands)f(to)h(eac)m(h)h(n)m(um)m(b)s (er)e(b)s(et)m(w)m(een)h Fq(x)47 b Ft(and)40 b Fq(y)8 -b Ft(,)44 b(inclusiv)m(e.)73 b(Supplied)150 2842 y(in)m(tegers)33 +b Ft(,)44 b(inclusiv)m(e.)73 b(Supplied)150 4432 y(in)m(tegers)33 b(ma)m(y)e(b)s(e)g(pre\014xed)f(with)h(`)p Fs(0)p Ft(')h(to)g(force)g (eac)m(h)g(term)g(to)g(ha)m(v)m(e)g(the)g(same)g(width.)42 -b(When)31 b(either)150 2952 y Fq(x)43 b Ft(or)36 b Fq(y)44 +b(When)31 b(either)150 4542 y Fq(x)43 b Ft(or)36 b Fq(y)44 b Ft(b)s(egins)36 b(with)g(a)h(zero,)i(the)e(shell)g(attempts)g(to)g (force)g(all)h(generated)f(terms)g(to)g(con)m(tain)h(the)150 -3062 y(same)e(n)m(um)m(b)s(er)e(of)i(digits,)i(zero-padding)d(where)h +4652 y(same)e(n)m(um)m(b)s(er)e(of)i(digits,)i(zero-padding)d(where)h (necessary)-8 b(.)57 b(When)35 b(c)m(haracters)i(are)f(supplied,)g(the) -150 3171 y(expression)h(expands)f(to)i(eac)m(h)g(c)m(haracter)g +150 4761 y(expression)h(expands)f(to)i(eac)m(h)g(c)m(haracter)g (lexicographically)i(b)s(et)m(w)m(een)e Fq(x)43 b Ft(and)37 -b Fq(y)8 b Ft(,)38 b(inclusiv)m(e.)62 b(Note)150 3281 +b Fq(y)8 b Ft(,)38 b(inclusiv)m(e.)62 b(Note)150 4871 y(that)30 b(b)s(oth)e Fq(x)35 b Ft(and)28 b Fq(y)37 b Ft(m)m(ust)29 b(b)s(e)f(of)h(the)g(same)g(t)m(yp)s(e.)41 b(When)28 b(the)i(incremen)m(t)f(is)g(supplied,)f(it)i(is)f(used)f(as) -150 3390 y(the)j(di\013erence)f(b)s(et)m(w)m(een)h(eac)m(h)h(term.)41 +150 4980 y(the)j(di\013erence)f(b)s(et)m(w)m(een)h(eac)m(h)h(term.)41 b(The)30 b(default)g(incremen)m(t)h(is)g(1)f(or)h(-1)g(as)f -(appropriate.)275 3528 y(Brace)36 b(expansion)g(is)f(p)s(erformed)f(b)s +(appropriate.)275 5121 y(Brace)36 b(expansion)g(is)f(p)s(erformed)f(b)s (efore)h(an)m(y)h(other)g(expansions,)h(and)e(an)m(y)g(c)m(haracters)i -(sp)s(ecial)150 3638 y(to)32 b(other)g(expansions)g(are)g(preserv)m(ed) +(sp)s(ecial)150 5230 y(to)32 b(other)g(expansions)g(are)g(preserv)m(ed) f(in)h(the)f(result.)45 b(It)32 b(is)g(strictly)g(textual.)46 -b(Bash)32 b(do)s(es)f(not)h(apply)150 3747 y(an)m(y)27 +b(Bash)32 b(do)s(es)f(not)h(apply)150 5340 y(an)m(y)27 b(syn)m(tactic)i(in)m(terpretation)g(to)f(the)f(con)m(text)i(of)e(the)g -(expansion)g(or)g(the)h(text)g(b)s(et)m(w)m(een)f(the)h(braces.)150 -3857 y(T)-8 b(o)37 b(a)m(v)m(oid)g(con\015icts)g(with)f(parameter)h -(expansion,)g(the)g(string)f(`)p Fs(${)p Ft(')g(is)g(not)g(considered)g -(eligible)i(for)150 3966 y(brace)31 b(expansion.)275 -4104 y(A)e(correctly-formed)i(brace)f(expansion)f(m)m(ust)h(con)m(tain) -h(unquoted)e(op)s(ening)g(and)g(closing)i(braces,)150 -4214 y(and)h(at)i(least)g(one)f(unquoted)g(comma)g(or)g(a)h(v)-5 -b(alid)33 b(sequence)g(expression.)48 b(An)m(y)33 b(incorrectly)h -(formed)150 4323 y(brace)d(expansion)f(is)g(left)h(unc)m(hanged.)275 -4461 y(A)25 b Fs({)g Ft(or)g(`)p Fs(,)p Ft(')g(ma)m(y)h(b)s(e)f(quoted) -g(with)g(a)h(bac)m(kslash)f(to)h(prev)m(en)m(t)g(its)g(b)s(eing)f -(considered)g(part)g(of)g(a)h(brace)150 4570 y(expression.)51 -b(T)-8 b(o)34 b(a)m(v)m(oid)i(con\015icts)e(with)g(parameter)g -(expansion,)h(the)f(string)g(`)p Fs(${)p Ft(')g(is)g(not)g(considered) -150 4680 y(eligible)e(for)e(brace)h(expansion.)275 4818 -y(This)f(construct)h(is)g(t)m(ypically)i(used)d(as)h(shorthand)f(when)g -(the)h(common)g(pre\014x)f(of)h(the)g(strings)g(to)150 -4927 y(b)s(e)f(generated)h(is)g(longer)g(than)f(in)g(the)g(ab)s(o)m(v)m -(e)i(example:)390 5065 y Fs(mkdir)46 b(/usr/local/src/bash/{old,n)o -(ew,)o(dist)o(,bug)o(s})275 5202 y Ft(or)390 5340 y Fs(chown)g(root)h -(/usr/{ucb/{ex,edit},lib/)o({ex?)o(.?*,)o(how)o(_ex})o(})p +(expansion)g(or)g(the)h(text)g(b)s(et)m(w)m(een)f(the)h(braces.)p eop end -%%Page: 19 25 -TeXDict begin 19 24 bop 150 -116 a Ft(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(19)150 299 -y Fj(3.5.2)63 b(Tilde)41 b(Expansion)150 446 y Ft(If)29 -b(a)h(w)m(ord)g(b)s(egins)f(with)g(an)h(unquoted)f(tilde)h(c)m -(haracter)h(\(`)p Fs(~)p Ft('\),)g(all)g(of)f(the)g(c)m(haracters)h(up) -d(to)j(the)f(\014rst)150 555 y(unquoted)23 b(slash)h(\(or)h(all)g(c)m -(haracters,)i(if)d(there)g(is)h(no)f(unquoted)f(slash\))h(are)h -(considered)f(a)g Fq(tilde-pre\014x)6 b Ft(.)150 665 -y(If)38 b(none)g(of)g(the)h(c)m(haracters)g(in)f(the)h(tilde-pre\014x)f -(are)h(quoted,)h(the)f(c)m(haracters)h(in)d(the)i(tilde-pre\014x)150 -775 y(follo)m(wing)28 b(the)f(tilde)g(are)g(treated)h(as)f(a)g(p)s -(ossible)f Fq(login)i(name)5 b Ft(.)40 b(If)26 b(this)g(login)i(name)f -(is)f(the)h(n)m(ull)g(string,)150 884 y(the)35 b(tilde)g(is)g(replaced) -g(with)f(the)h(v)-5 b(alue)35 b(of)g(the)g Fs(HOME)e -Ft(shell)i(v)-5 b(ariable.)54 b(If)34 b Fs(HOME)g Ft(is)h(unset,)g(the) -g(home)150 994 y(directory)e(of)g(the)f(user)g(executing)i(the)e(shell) -h(is)f(substituted)g(instead.)47 b(Otherwise,)33 b(the)g -(tilde-pre\014x)150 1103 y(is)d(replaced)h(with)f(the)h(home)f -(directory)h(asso)s(ciated)h(with)e(the)h(sp)s(eci\014ed)e(login)j -(name.)275 1235 y(If)g(the)h(tilde-pre\014x)f(is)h(`)p -Fs(~+)p Ft(',)g(the)g(v)-5 b(alue)33 b(of)g(the)g(shell)g(v)-5 -b(ariable)34 b Fs(PWD)d Ft(replaces)j(the)f(tilde-pre\014x.)47 -b(If)150 1344 y(the)31 b(tilde-pre\014x)f(is)g(`)p Fs(~-)p -Ft(',)h(the)f(v)-5 b(alue)31 b(of)g(the)f(shell)h(v)-5 -b(ariable)31 b Fs(OLDPWD)p Ft(,)e(if)h(it)h(is)g(set,)g(is)f -(substituted.)275 1476 y(If)e(the)i(c)m(haracters)g(follo)m(wing)h(the) -e(tilde)h(in)f(the)g(tilde-pre\014x)h(consist)f(of)h(a)f(n)m(um)m(b)s -(er)f Fq(N)10 b Ft(,)30 b(optionally)150 1585 y(pre\014xed)22 +%%Page: 20 26 +TeXDict begin 20 25 bop 150 -116 a Ft(20)2572 b(Bash)31 +b(Reference)g(Man)m(ual)150 299 y(T)-8 b(o)37 b(a)m(v)m(oid)g +(con\015icts)g(with)f(parameter)h(expansion,)g(the)g(string)f(`)p +Fs(${)p Ft(')g(is)g(not)g(considered)g(eligible)i(for)150 +408 y(brace)31 b(expansion.)275 543 y(A)e(correctly-formed)i(brace)f +(expansion)f(m)m(ust)h(con)m(tain)h(unquoted)e(op)s(ening)g(and)g +(closing)i(braces,)150 653 y(and)h(at)i(least)g(one)f(unquoted)g(comma) +g(or)g(a)h(v)-5 b(alid)33 b(sequence)g(expression.)48 +b(An)m(y)33 b(incorrectly)h(formed)150 763 y(brace)d(expansion)f(is)g +(left)h(unc)m(hanged.)275 897 y(A)25 b Fs({)g Ft(or)g(`)p +Fs(,)p Ft(')g(ma)m(y)h(b)s(e)f(quoted)g(with)g(a)h(bac)m(kslash)f(to)h +(prev)m(en)m(t)g(its)g(b)s(eing)f(considered)g(part)g(of)g(a)h(brace) +150 1007 y(expression.)51 b(T)-8 b(o)34 b(a)m(v)m(oid)i(con\015icts)e +(with)g(parameter)g(expansion,)h(the)f(string)g(`)p Fs(${)p +Ft(')g(is)g(not)g(considered)150 1117 y(eligible)e(for)e(brace)h +(expansion.)275 1252 y(This)f(construct)h(is)g(t)m(ypically)i(used)d +(as)h(shorthand)f(when)g(the)h(common)g(pre\014x)f(of)h(the)g(strings)g +(to)150 1361 y(b)s(e)f(generated)h(is)g(longer)g(than)f(in)g(the)g(ab)s +(o)m(v)m(e)i(example:)390 1496 y Fs(mkdir)46 b +(/usr/local/src/bash/{old,n)o(ew,)o(dist)o(,bug)o(s})275 +1631 y Ft(or)390 1766 y Fs(chown)g(root)h(/usr/{ucb/{ex,edit},lib/)o +({ex?)o(.?*,)o(how)o(_ex})o(})150 1966 y Fj(3.5.2)63 +b(Tilde)41 b(Expansion)150 2113 y Ft(If)29 b(a)h(w)m(ord)g(b)s(egins)f +(with)g(an)h(unquoted)f(tilde)h(c)m(haracter)h(\(`)p +Fs(~)p Ft('\),)g(all)g(of)f(the)g(c)m(haracters)h(up)d(to)j(the)f +(\014rst)150 2222 y(unquoted)23 b(slash)h(\(or)h(all)g(c)m(haracters,)i +(if)d(there)g(is)h(no)f(unquoted)f(slash\))h(are)h(considered)f(a)g +Fq(tilde-pre\014x)6 b Ft(.)150 2332 y(If)38 b(none)g(of)g(the)h(c)m +(haracters)g(in)f(the)h(tilde-pre\014x)f(are)h(quoted,)h(the)f(c)m +(haracters)h(in)d(the)i(tilde-pre\014x)150 2441 y(follo)m(wing)28 +b(the)f(tilde)g(are)g(treated)h(as)f(a)g(p)s(ossible)f +Fq(login)i(name)5 b Ft(.)40 b(If)26 b(this)g(login)i(name)f(is)f(the)h +(n)m(ull)g(string,)150 2551 y(the)35 b(tilde)g(is)g(replaced)g(with)f +(the)h(v)-5 b(alue)35 b(of)g(the)g Fs(HOME)e Ft(shell)i(v)-5 +b(ariable.)54 b(If)34 b Fs(HOME)g Ft(is)h(unset,)g(the)g(home)150 +2661 y(directory)e(of)g(the)f(user)g(executing)i(the)e(shell)h(is)f +(substituted)g(instead.)47 b(Otherwise,)33 b(the)g(tilde-pre\014x)150 +2770 y(is)d(replaced)h(with)f(the)h(home)f(directory)h(asso)s(ciated)h +(with)e(the)h(sp)s(eci\014ed)e(login)j(name.)275 2905 +y(If)g(the)h(tilde-pre\014x)f(is)h(`)p Fs(~+)p Ft(',)g(the)g(v)-5 +b(alue)33 b(of)g(the)g(shell)g(v)-5 b(ariable)34 b Fs(PWD)d +Ft(replaces)j(the)f(tilde-pre\014x.)47 b(If)150 3015 +y(the)31 b(tilde-pre\014x)f(is)g(`)p Fs(~-)p Ft(',)h(the)f(v)-5 +b(alue)31 b(of)g(the)f(shell)h(v)-5 b(ariable)31 b Fs(OLDPWD)p +Ft(,)e(if)h(it)h(is)g(set,)g(is)f(substituted.)275 3150 +y(If)e(the)i(c)m(haracters)g(follo)m(wing)h(the)e(tilde)h(in)f(the)g +(tilde-pre\014x)h(consist)f(of)h(a)f(n)m(um)m(b)s(er)f +Fq(N)10 b Ft(,)30 b(optionally)150 3259 y(pre\014xed)22 b(b)m(y)h(a)h(`)p Fs(+)p Ft(')f(or)h(a)f(`)p Fs(-)p Ft(',)j(the)d (tilde-pre\014x)g(is)h(replaced)f(with)g(the)h(corresp)s(onding)e -(elemen)m(t)j(from)e(the)150 1695 y(directory)36 b(stac)m(k,)i(as)e(it) +(elemen)m(t)j(from)e(the)150 3369 y(directory)36 b(stac)m(k,)i(as)e(it) g(w)m(ould)f(b)s(e)g(displa)m(y)m(ed)h(b)m(y)g(the)f Fs(dirs)g Ft(builtin)g(in)m(v)m(ok)m(ed)i(with)e(the)g(c)m(haracters) -150 1804 y(follo)m(wing)40 b(tilde)f(in)g(the)f(tilde-pre\014x)h(as)g +150 3478 y(follo)m(wing)40 b(tilde)f(in)g(the)f(tilde-pre\014x)h(as)g (an)f(argumen)m(t)h(\(see)h(Section)f(6.8)h([The)e(Directory)i(Stac)m -(k],)150 1914 y(page)c(81\).)57 b(If)35 b(the)g(tilde-pre\014x,)i(sans) +(k],)150 3588 y(page)c(83\).)57 b(If)35 b(the)g(tilde-pre\014x,)i(sans) e(the)h(tilde,)h(consists)f(of)g(a)f(n)m(um)m(b)s(er)f(without)i(a)f -(leading)h(`)p Fs(+)p Ft(')g(or)150 2024 y(`)p Fs(-)p -Ft(',)31 b(`)p Fs(+)p Ft(')f(is)h(assumed.)275 2155 y(If)e(the)i(login) +(leading)h(`)p Fs(+)p Ft(')g(or)150 3697 y(`)p Fs(-)p +Ft(',)31 b(`)p Fs(+)p Ft(')f(is)h(assumed.)275 3832 y(If)e(the)i(login) g(name)g(is)f(in)m(v)-5 b(alid,)31 b(or)g(the)f(tilde)h(expansion)f (fails,)i(the)e(w)m(ord)g(is)h(left)g(unc)m(hanged.)275 -2286 y(Eac)m(h)38 b(v)-5 b(ariable)38 b(assignmen)m(t)h(is)e(c)m(hec)m +3967 y(Eac)m(h)38 b(v)-5 b(ariable)38 b(assignmen)m(t)h(is)e(c)m(hec)m (k)m(ed)j(for)d(unquoted)g(tilde-pre\014xes)h(immediately)g(follo)m -(wing)150 2396 y(a)d(`)p Fs(:)p Ft(')g(or)g(the)g(\014rst)f(`)p +(wing)150 4077 y(a)d(`)p Fs(:)p Ft(')g(or)g(the)g(\014rst)f(`)p Fs(=)p Ft('.)54 b(In)34 b(these)h(cases,)i(tilde)e(expansion)g(is)g (also)h(p)s(erformed.)52 b(Consequen)m(tly)-8 b(,)37 -b(one)150 2505 y(ma)m(y)27 b(use)e(\014le)h(names)g(with)g(tildes)g(in) +b(one)150 4187 y(ma)m(y)27 b(use)e(\014le)h(names)g(with)g(tildes)g(in) g(assignmen)m(ts)h(to)g Fs(PATH)p Ft(,)f Fs(MAILPATH)p Ft(,)e(and)i Fs(CDPATH)p Ft(,)f(and)h(the)g(shell)150 -2615 y(assigns)31 b(the)f(expanded)g(v)-5 b(alue.)275 -2746 y(The)29 b(follo)m(wing)j(table)g(sho)m(ws)e(ho)m(w)g(Bash)h -(treats)g(unquoted)e(tilde-pre\014xes:)150 2899 y Fs(~)432 -b Ft(The)30 b(v)-5 b(alue)31 b(of)f Fs($HOME)150 3052 -y(~/foo)240 b Ft(`)p Fs($HOME/foo)p Ft(')150 3205 y Fs(~fred/foo)630 -3315 y Ft(The)30 b(sub)s(directory)f Fs(foo)h Ft(of)g(the)h(home)f -(directory)h(of)g(the)f(user)g Fs(fred)150 3468 y(~+/foo)192 -b Ft(`)p Fs($PWD/foo)p Ft(')150 3621 y Fs(~-/foo)g Ft(`)p -Fs(${OLDPWD-'~-'}/foo)p Ft(')150 3774 y Fs(~)p Fi(N)384 -b Ft(The)30 b(string)g(that)h(w)m(ould)f(b)s(e)g(displa)m(y)m(ed)h(b)m -(y)f(`)p Fs(dirs)g(+)p Fi(N)11 b Ft(')150 3927 y Fs(~+)p -Fi(N)336 b Ft(The)30 b(string)g(that)h(w)m(ould)f(b)s(e)g(displa)m(y)m -(ed)h(b)m(y)f(`)p Fs(dirs)g(+)p Fi(N)11 b Ft(')150 4080 -y Fs(~-)p Fi(N)336 b Ft(The)30 b(string)g(that)h(w)m(ould)f(b)s(e)g -(displa)m(y)m(ed)h(b)m(y)f(`)p Fs(dirs)g(-)p Fi(N)11 -b Ft(')150 4273 y Fj(3.5.3)63 b(Shell)41 b(P)m(arameter)f(Expansion)150 -4420 y Ft(The)g(`)p Fs($)p Ft(')h(c)m(haracter)i(in)m(tro)s(duces)d -(parameter)h(expansion,)j(command)d(substitution,)i(or)e(arithmetic)150 -4529 y(expansion.)d(The)22 b(parameter)h(name)f(or)g(sym)m(b)s(ol)h(to) -g(b)s(e)e(expanded)h(ma)m(y)h(b)s(e)f(enclosed)h(in)f(braces,)i(whic)m -(h)150 4639 y(are)31 b(optional)g(but)f(serv)m(e)h(to)h(protect)f(the)g -(v)-5 b(ariable)31 b(to)g(b)s(e)f(expanded)g(from)g(c)m(haracters)i -(immediately)150 4749 y(follo)m(wing)g(it)f(whic)m(h)f(could)g(b)s(e)g -(in)m(terpreted)h(as)f(part)h(of)f(the)h(name.)275 4880 +4296 y(assigns)31 b(the)f(expanded)g(v)-5 b(alue.)275 +4431 y(The)29 b(follo)m(wing)j(table)g(sho)m(ws)e(ho)m(w)g(Bash)h +(treats)g(unquoted)e(tilde-pre\014xes:)150 4591 y Fs(~)432 +b Ft(The)30 b(v)-5 b(alue)31 b(of)f Fs($HOME)150 4751 +y(~/foo)240 b Ft(`)p Fs($HOME/foo)p Ft(')150 4911 y Fs(~fred/foo)630 +5020 y Ft(The)30 b(sub)s(directory)f Fs(foo)h Ft(of)g(the)h(home)f +(directory)h(of)g(the)f(user)g Fs(fred)150 5180 y(~+/foo)192 +b Ft(`)p Fs($PWD/foo)p Ft(')150 5340 y Fs(~-/foo)g Ft(`)p +Fs(${OLDPWD-'~-'}/foo)p Ft(')p eop end +%%Page: 21 27 +TeXDict begin 21 26 bop 150 -116 a Ft(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(21)150 299 +y Fs(~)p Fi(N)384 b Ft(The)30 b(string)g(that)h(w)m(ould)f(b)s(e)g +(displa)m(y)m(ed)h(b)m(y)f(`)p Fs(dirs)g(+)p Fi(N)11 +b Ft(')150 446 y Fs(~+)p Fi(N)336 b Ft(The)30 b(string)g(that)h(w)m +(ould)f(b)s(e)g(displa)m(y)m(ed)h(b)m(y)f(`)p Fs(dirs)g(+)p +Fi(N)11 b Ft(')150 594 y Fs(~-)p Fi(N)336 b Ft(The)30 +b(string)g(that)h(w)m(ould)f(b)s(e)g(displa)m(y)m(ed)h(b)m(y)f(`)p +Fs(dirs)g(-)p Fi(N)11 b Ft(')150 782 y Fj(3.5.3)63 b(Shell)41 +b(P)m(arameter)f(Expansion)150 928 y Ft(The)g(`)p Fs($)p +Ft(')h(c)m(haracter)i(in)m(tro)s(duces)d(parameter)h(expansion,)j +(command)d(substitution,)i(or)e(arithmetic)150 1038 y(expansion.)d(The) +22 b(parameter)h(name)f(or)g(sym)m(b)s(ol)h(to)g(b)s(e)e(expanded)h(ma) +m(y)h(b)s(e)f(enclosed)h(in)f(braces,)i(whic)m(h)150 +1148 y(are)31 b(optional)g(but)f(serv)m(e)h(to)h(protect)f(the)g(v)-5 +b(ariable)31 b(to)g(b)s(e)f(expanded)g(from)g(c)m(haracters)i +(immediately)150 1257 y(follo)m(wing)g(it)f(whic)m(h)f(could)g(b)s(e)g +(in)m(terpreted)h(as)f(part)h(of)f(the)h(name.)275 1386 y(When)44 b(braces)i(are)f(used,)j(the)e(matc)m(hing)g(ending)f(brace)g (is)g(the)g(\014rst)g(`)p Fs(})p Ft(')g(not)g(escap)s(ed)h(b)m(y)f(a) -150 4989 y(bac)m(kslash)40 b(or)f(within)g(a)g(quoted)g(string,)j(and)c +150 1495 y(bac)m(kslash)40 b(or)f(within)g(a)g(quoted)g(string,)j(and)c (not)i(within)e(an)h(em)m(b)s(edded)f(arithmetic)j(expansion,)150 -5099 y(command)30 b(substitution,)g(or)h(parameter)g(expansion.)275 -5230 y(The)40 b(basic)h(form)g(of)g(parameter)h(expansion)e(is)h($)p +1605 y(command)30 b(substitution,)g(or)h(parameter)g(expansion.)275 +1734 y(The)40 b(basic)h(form)g(of)g(parameter)h(expansion)e(is)h($)p Fs({)p Fq(parameter)7 b Fs(})p Ft(.)73 b(The)40 b(v)-5 -b(alue)42 b(of)f Fq(parameter)48 b Ft(is)150 5340 y(substituted.)43 +b(alue)42 b(of)f Fq(parameter)48 b Ft(is)150 1843 y(substituted.)43 b(The)31 b(braces)g(are)h(required)e(when)h Fq(parameter)38 -b Ft(is)31 b(a)h(p)s(ositional)g(parameter)g(with)f(more)p -eop end -%%Page: 20 26 -TeXDict begin 20 25 bop 150 -116 a Ft(20)2572 b(Bash)31 -b(Reference)g(Man)m(ual)150 299 y(than)h(one)g(digit,)i(or)e(when)g -Fq(parameter)39 b Ft(is)32 b(follo)m(w)m(ed)i(b)m(y)e(a)h(c)m(haracter) -h(that)e(is)h(not)f(to)h(b)s(e)f(in)m(terpreted)150 408 -y(as)f(part)f(of)g(its)h(name.)275 553 y(If)c(the)g(\014rst)g(c)m -(haracter)i(of)f Fq(parameter)35 b Ft(is)27 b(an)h(exclamation)i(p)s -(oin)m(t)d(\(!\),)i(a)f(lev)m(el)i(of)d(v)-5 b(ariable)29 -b(indirec-)150 663 y(tion)e(is)f(in)m(tro)s(duced.)39 -b(Bash)27 b(uses)e(the)i(v)-5 b(alue)27 b(of)f(the)h(v)-5 -b(ariable)27 b(formed)f(from)g(the)g(rest)h(of)f Fq(parameter)34 -b Ft(as)150 772 y(the)e(name)h(of)f(the)h(v)-5 b(ariable;)34 -b(this)e(v)-5 b(ariable)33 b(is)g(then)f(expanded)f(and)h(that)h(v)-5 -b(alue)32 b(is)h(used)e(in)h(the)h(rest)150 882 y(of)h(the)f -(substitution,)i(rather)e(than)g(the)h(v)-5 b(alue)34 -b(of)g Fq(parameter)40 b Ft(itself.)51 b(This)33 b(is)g(kno)m(wn)g(as)h -Fs(indirect)150 991 y(expansion)p Ft(.)45 b(The)32 b(exceptions)i(to)g -(this)e(are)h(the)g(expansions)g(of)g($)p Fs({)p Ft(!)p -Fq(pre\014x*)8 b Fs(})31 b Ft(and)i($)p Fs({)p Ft(!)p -Fq(name)5 b Ft([)p Fs(@)p Ft(])p Fs(})33 b Ft(de-)150 -1101 y(scrib)s(ed)h(b)s(elo)m(w.)56 b(The)35 b(exclamation)j(p)s(oin)m -(t)d(m)m(ust)g(immediately)i(follo)m(w)g(the)e(left)i(brace)e(in)g -(order)g(to)150 1210 y(in)m(tro)s(duce)30 b(indirection.)275 -1355 y(In)39 b(eac)m(h)i(of)g(the)f(cases)h(b)s(elo)m(w,)i -Fq(w)m(ord)h Ft(is)c(sub)5 b(ject)40 b(to)h(tilde)f(expansion,)j -(parameter)e(expansion,)150 1465 y(command)30 b(substitution,)g(and)g -(arithmetic)i(expansion.)275 1609 y(When)h(not)h(p)s(erforming)e +b Ft(is)31 b(a)h(p)s(ositional)g(parameter)g(with)f(more)150 +1953 y(than)h(one)g(digit,)i(or)e(when)g Fq(parameter)39 +b Ft(is)32 b(follo)m(w)m(ed)i(b)m(y)e(a)h(c)m(haracter)h(that)e(is)h +(not)f(to)h(b)s(e)f(in)m(terpreted)150 2062 y(as)f(part)f(of)g(its)h +(name.)275 2191 y(If)c(the)g(\014rst)g(c)m(haracter)i(of)f +Fq(parameter)35 b Ft(is)27 b(an)h(exclamation)i(p)s(oin)m(t)d(\(!\),)i +(a)f(lev)m(el)i(of)d(v)-5 b(ariable)29 b(indirec-)150 +2301 y(tion)e(is)f(in)m(tro)s(duced.)39 b(Bash)27 b(uses)e(the)i(v)-5 +b(alue)27 b(of)f(the)h(v)-5 b(ariable)27 b(formed)f(from)g(the)g(rest)h +(of)f Fq(parameter)34 b Ft(as)150 2410 y(the)e(name)h(of)f(the)h(v)-5 +b(ariable;)34 b(this)e(v)-5 b(ariable)33 b(is)g(then)f(expanded)f(and)h +(that)h(v)-5 b(alue)32 b(is)h(used)e(in)h(the)h(rest)150 +2520 y(of)h(the)f(substitution,)i(rather)e(than)g(the)h(v)-5 +b(alue)34 b(of)g Fq(parameter)40 b Ft(itself.)51 b(This)33 +b(is)g(kno)m(wn)g(as)h Fs(indirect)150 2629 y(expansion)p +Ft(.)45 b(The)32 b(exceptions)i(to)g(this)e(are)h(the)g(expansions)g +(of)g($)p Fs({)p Ft(!)p Fq(pre\014x*)8 b Fs(})31 b Ft(and)i($)p +Fs({)p Ft(!)p Fq(name)5 b Ft([)p Fs(@)p Ft(])p Fs(})33 +b Ft(de-)150 2739 y(scrib)s(ed)h(b)s(elo)m(w.)56 b(The)35 +b(exclamation)j(p)s(oin)m(t)d(m)m(ust)g(immediately)i(follo)m(w)g(the)e +(left)i(brace)e(in)g(order)g(to)150 2849 y(in)m(tro)s(duce)30 +b(indirection.)275 2977 y(In)39 b(eac)m(h)i(of)g(the)f(cases)h(b)s(elo) +m(w,)i Fq(w)m(ord)h Ft(is)c(sub)5 b(ject)40 b(to)h(tilde)f(expansion,)j +(parameter)e(expansion,)150 3087 y(command)30 b(substitution,)g(and)g +(arithmetic)i(expansion.)275 3215 y(When)h(not)h(p)s(erforming)e (substring)h(expansion,)h(using)f(the)h(form)f(describ)s(ed)g(b)s(elo)m -(w,)h(Bash)g(tests)150 1719 y(for)44 b(a)i(parameter)f(that)g(is)g +(w,)h(Bash)g(tests)150 3325 y(for)44 b(a)i(parameter)f(that)g(is)g (unset)f(or)h(n)m(ull.)84 b(Omitting)45 b(the)g(colon)h(results)e(in)g -(a)i(test)f(only)g(for)g(a)150 1828 y(parameter)36 b(that)f(is)g +(a)i(test)f(only)g(for)g(a)150 3434 y(parameter)36 b(that)f(is)g (unset.)55 b(Put)34 b(another)i(w)m(a)m(y)-8 b(,)38 b(if)d(the)g(colon) h(is)f(included,)h(the)f(op)s(erator)g(tests)h(for)150 -1938 y(b)s(oth)22 b Fq(parameter)7 b Ft('s)22 b(existence)i(and)e(that) +3544 y(b)s(oth)22 b Fq(parameter)7 b Ft('s)22 b(existence)i(and)e(that) h(its)g(v)-5 b(alue)23 b(is)g(not)f(n)m(ull;)k(if)c(the)h(colon)g(is)g -(omitted,)i(the)e(op)s(erator)150 2047 y(tests)31 b(only)g(for)f -(existence.)150 2222 y Fs(${)p Fi(parameter)11 b Fs(:)p -Fp(\000)p Fi(word)g Fs(})630 2331 y Ft(If)30 b Fq(parameter)37 +(omitted,)i(the)e(op)s(erator)150 3654 y(tests)31 b(only)g(for)f +(existence.)150 3801 y Fs(${)p Fi(parameter)11 b Fs(:)p +Fp(\000)p Fi(word)g Fs(})630 3911 y Ft(If)30 b Fq(parameter)37 b Ft(is)30 b(unset)g(or)h(n)m(ull,)f(the)h(expansion)f(of)g Fq(w)m(ord)k Ft(is)c(substituted.)40 b(Otherwise,)630 -2441 y(the)31 b(v)-5 b(alue)30 b(of)h Fq(parameter)37 -b Ft(is)31 b(substituted.)150 2610 y Fs(${)p Fi(parameter)11 -b Fs(:=)p Fi(word)g Fs(})630 2720 y Ft(If)32 b Fq(parameter)40 +4020 y(the)31 b(v)-5 b(alue)30 b(of)h Fq(parameter)37 +b Ft(is)31 b(substituted.)150 4168 y Fs(${)p Fi(parameter)11 +b Fs(:=)p Fi(word)g Fs(})630 4278 y Ft(If)32 b Fq(parameter)40 b Ft(is)32 b(unset)g(or)h(n)m(ull,)g(the)f(expansion)h(of)f Fq(w)m(ord)k Ft(is)d(assigned)f(to)i Fq(parameter)7 b -Ft(.)630 2829 y(The)30 b(v)-5 b(alue)32 b(of)f Fq(parameter)38 +Ft(.)630 4387 y(The)30 b(v)-5 b(alue)32 b(of)f Fq(parameter)38 b Ft(is)31 b(then)g(substituted.)42 b(P)m(ositional)33 -b(parameters)e(and)f(sp)s(ecial)630 2939 y(parameters)h(ma)m(y)g(not)f +b(parameters)e(and)f(sp)s(ecial)630 4497 y(parameters)h(ma)m(y)g(not)f (b)s(e)g(assigned)h(to)g(in)f(this)g(w)m(a)m(y)-8 b(.)150 -3108 y Fs(${)p Fi(parameter)11 b Fs(:?)p Fi(word)g Fs(})630 -3218 y Ft(If)26 b Fq(parameter)33 b Ft(is)26 b(n)m(ull)g(or)g(unset,)h +4644 y Fs(${)p Fi(parameter)11 b Fs(:?)p Fi(word)g Fs(})630 +4754 y Ft(If)26 b Fq(parameter)33 b Ft(is)26 b(n)m(ull)g(or)g(unset,)h (the)f(expansion)g(of)g Fq(w)m(ord)k Ft(\(or)c(a)h(message)g(to)g(that) -f(e\013ect)630 3328 y(if)i Fq(w)m(ord)j Ft(is)d(not)g(presen)m(t\))h +f(e\013ect)630 4864 y(if)i Fq(w)m(ord)j Ft(is)d(not)g(presen)m(t\))h (is)f(written)g(to)h(the)f(standard)f(error)h(and)f(the)h(shell,)h(if)f -(it)h(is)f(not)630 3437 y(in)m(teractiv)m(e,)33 b(exits.)42 +(it)h(is)f(not)630 4973 y(in)m(teractiv)m(e,)33 b(exits.)42 b(Otherwise,)30 b(the)h(v)-5 b(alue)31 b(of)f Fq(parameter)38 -b Ft(is)30 b(substituted.)150 3606 y Fs(${)p Fi(parameter)11 -b Fs(:+)p Fi(word)g Fs(})630 3716 y Ft(If)35 b Fq(parameter)42 +b Ft(is)30 b(substituted.)150 5121 y Fs(${)p Fi(parameter)11 +b Fs(:+)p Fi(word)g Fs(})630 5230 y Ft(If)35 b Fq(parameter)42 b Ft(is)36 b(n)m(ull)f(or)h(unset,)g(nothing)g(is)f(substituted,)i -(otherwise)e(the)h(expansion)630 3826 y(of)31 b Fq(w)m(ord)i -Ft(is)e(substituted.)150 3995 y Fs(${)p Fi(parameter)11 -b Fs(:)p Fi(offset)g Fs(})150 4105 y(${)p Fi(parameter)g +(otherwise)e(the)h(expansion)630 5340 y(of)31 b Fq(w)m(ord)i +Ft(is)e(substituted.)p eop end +%%Page: 22 28 +TeXDict begin 22 27 bop 150 -116 a Ft(22)2572 b(Bash)31 +b(Reference)g(Man)m(ual)150 299 y Fs(${)p Fi(parameter)11 +b Fs(:)p Fi(offset)g Fs(})150 408 y(${)p Fi(parameter)g Fs(:)p Fi(offset)g Fs(:)p Fi(le)o(ngt)o(h)g Fs(})630 -4214 y Ft(Expands)44 b(to)i(up)e(to)i Fq(length)g Ft(c)m(haracters)h -(of)e Fq(parameter)53 b Ft(starting)46 b(at)g(the)f(c)m(haracter)630 -4324 y(sp)s(eci\014ed)30 b(b)m(y)g Fq(o\013set)r Ft(.)43 +518 y Ft(Expands)44 b(to)i(up)e(to)i Fq(length)g Ft(c)m(haracters)h(of) +e Fq(parameter)53 b Ft(starting)46 b(at)g(the)f(c)m(haracter)630 +628 y(sp)s(eci\014ed)30 b(b)m(y)g Fq(o\013set)r Ft(.)43 b(If)30 b Fq(length)h Ft(is)g(omitted,)g(expands)f(to)h(the)g -(substring)f(of)g Fq(parameter)630 4433 y Ft(starting)38 +(substring)f(of)g Fq(parameter)630 737 y Ft(starting)38 b(at)g(the)f(c)m(haracter)i(sp)s(eci\014ed)d(b)m(y)h Fq(o\013set)r Ft(.)62 b Fq(length)38 b Ft(and)e Fq(o\013set)k -Ft(are)e(arithmetic)630 4543 y(expressions)30 b(\(see)i(Section)g(6.5)g -([Shell)f(Arithmetic],)h(page)g(78\).)43 b(This)30 b(is)h(referred)f -(to)i(as)630 4653 y(Substring)d(Expansion.)630 4792 y +Ft(are)e(arithmetic)630 847 y(expressions)30 b(\(see)i(Section)g(6.5)g +([Shell)f(Arithmetic],)h(page)g(80\).)43 b(This)30 b(is)h(referred)f +(to)i(as)630 956 y(Substring)d(Expansion.)630 1088 y Fq(length)j Ft(m)m(ust)f(ev)-5 b(aluate)33 b(to)f(a)g(n)m(um)m(b)s(er)e (greater)i(than)f(or)g(equal)h(to)g(zero.)45 b(If)30 -b Fq(o\013set)35 b Ft(ev)-5 b(al-)630 4902 y(uates)36 +b Fq(o\013set)35 b Ft(ev)-5 b(al-)630 1198 y(uates)36 b(to)h(a)f(n)m(um)m(b)s(er)e(less)i(than)f(zero,)j(the)e(v)-5 b(alue)36 b(is)g(used)f(as)g(an)h(o\013set)h(from)e(the)h(end)630 -5011 y(of)h(the)g(v)-5 b(alue)38 b(of)f Fq(parameter)7 +1307 y(of)h(the)g(v)-5 b(alue)38 b(of)f Fq(parameter)7 b Ft(.)61 b(If)36 b Fq(parameter)44 b Ft(is)37 b(`)p Fs(@)p Ft(',)i(the)f(result)f(is)g Fq(length)g Ft(p)s(ositional)630 -5121 y(parameters)i(b)s(eginning)f(at)i Fq(o\013set)r +1417 y(parameters)i(b)s(eginning)f(at)i Fq(o\013set)r Ft(.)67 b(If)39 b Fq(parameter)45 b Ft(is)39 b(an)g(indexed)g(arra)m(y) -g(name)g(sub-)630 5230 y(scripted)34 b(b)m(y)g(`)p Fs(@)p +g(name)g(sub-)630 1526 y(scripted)34 b(b)m(y)g(`)p Fs(@)p Ft(')g(or)g(`)p Fs(*)p Ft(',)h(the)f(result)g(is)g(the)g Fq(length)h Ft(mem)m(b)s(ers)e(of)h(the)g(arra)m(y)h(b)s(eginning)630 -5340 y(with)25 b Fs(${)p Fi(parameter)11 b Fs([)p Fi(offset)g +1636 y(with)25 b Fs(${)p Fi(parameter)11 b Fs([)p Fi(offset)g Fs(]})p Ft(.)33 b(A)25 b(negativ)m(e)j Fq(o\013set)g -Ft(is)e(tak)m(en)g(relativ)m(e)i(to)e(one)g(greater)p -eop end -%%Page: 21 27 -TeXDict begin 21 26 bop 150 -116 a Ft(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(21)630 299 -y(than)26 b(the)h(maxim)m(um)f(index)g(of)g(the)h(sp)s(eci\014ed)f +Ft(is)e(tak)m(en)g(relativ)m(e)i(to)e(one)g(greater)630 +1745 y(than)g(the)h(maxim)m(um)f(index)g(of)g(the)h(sp)s(eci\014ed)f (arra)m(y)-8 b(.)40 b(Substring)25 b(expansion)h(applied)g(to)630 -408 y(an)k(asso)s(ciativ)m(e)j(arra)m(y)e(pro)s(duces)e(unde\014ned)f -(results.)630 548 y(Note)37 b(that)f(a)g(negativ)m(e)i(o\013set)f(m)m +1855 y(an)k(asso)s(ciativ)m(e)j(arra)m(y)e(pro)s(duces)e(unde\014ned)f +(results.)630 1987 y(Note)37 b(that)f(a)g(negativ)m(e)i(o\013set)f(m)m (ust)f(b)s(e)f(separated)h(from)f(the)h(colon)h(b)m(y)e(at)i(least)g -(one)630 658 y(space)g(to)g(a)m(v)m(oid)g(b)s(eing)f(confused)f(with)h +(one)630 2096 y(space)g(to)g(a)m(v)m(oid)g(b)s(eing)f(confused)f(with)h (the)h(`)p Fs(:-)p Ft(')f(expansion.)57 b(Substring)35 -b(indexing)h(is)630 767 y(zero-based)24 b(unless)f(the)h(p)s(ositional) -g(parameters)g(are)g(used,)g(in)g(whic)m(h)f(case)h(the)g(indexing)630 -877 y(starts)30 b(at)g(1)f(b)m(y)h(default.)40 b(If)29 -b Fq(o\013set)j Ft(is)e(0,)g(and)f(the)g(p)s(ositional)h(parameters)g -(are)g(used,)f Fs($@)630 986 y Ft(is)h(pre\014xed)g(to)h(the)f(list.) -150 1156 y Fs(${!)p Fi(prefix)11 b Fs(*})150 1265 y(${!)p -Fi(prefix)g Fs(@})630 1375 y Ft(Expands)23 b(to)i(the)g(names)f(of)h(v) --5 b(ariables)25 b(whose)f(names)g(b)s(egin)g(with)g -Fq(pre\014x)6 b Ft(,)25 b(separated)g(b)m(y)630 1484 -y(the)k(\014rst)f(c)m(haracter)j(of)e(the)g Fs(IFS)f +b(indexing)h(is)630 2206 y(zero-based)24 b(unless)f(the)h(p)s +(ositional)g(parameters)g(are)g(used,)g(in)g(whic)m(h)f(case)h(the)g +(indexing)630 2315 y(starts)30 b(at)g(1)f(b)m(y)h(default.)40 +b(If)29 b Fq(o\013set)j Ft(is)e(0,)g(and)f(the)g(p)s(ositional)h +(parameters)g(are)g(used,)f Fs($@)630 2425 y Ft(is)h(pre\014xed)g(to)h +(the)f(list.)150 2578 y Fs(${!)p Fi(prefix)11 b Fs(*})150 +2688 y(${!)p Fi(prefix)g Fs(@})630 2798 y Ft(Expands)23 +b(to)i(the)g(names)f(of)h(v)-5 b(ariables)25 b(whose)f(names)g(b)s +(egin)g(with)g Fq(pre\014x)6 b Ft(,)25 b(separated)g(b)m(y)630 +2907 y(the)k(\014rst)f(c)m(haracter)j(of)e(the)g Fs(IFS)f Ft(sp)s(ecial)i(v)-5 b(ariable.)41 b(When)29 b(`)p Fs(@)p -Ft(')g(is)g(used)f(and)h(the)g(expan-)630 1594 y(sion)35 +Ft(')g(is)g(used)f(and)h(the)g(expan-)630 3017 y(sion)35 b(app)s(ears)g(within)f(double)h(quotes,)i(eac)m(h)f(v)-5 b(ariable)36 b(name)f(expands)g(to)g(a)h(separate)630 -1704 y(w)m(ord.)150 1873 y Fs(${!)p Fi(name)11 b Fs([@]})150 -1983 y(${!)p Fi(name)g Fs([*]})630 2092 y Ft(If)26 b +3126 y(w)m(ord.)150 3280 y Fs(${!)p Fi(name)11 b Fs([@]})150 +3389 y(${!)p Fi(name)g Fs([*]})630 3499 y Ft(If)26 b Fq(name)32 b Ft(is)27 b(an)f(arra)m(y)h(v)-5 b(ariable,)29 b(expands)d(to)h(the)g(list)g(of)g(arra)m(y)g(indices)g(\(k)m(eys\))h -(assigned)630 2202 y(in)c Fq(name)5 b Ft(.)39 b(If)23 +(assigned)630 3608 y(in)c Fq(name)5 b Ft(.)39 b(If)23 b Fq(name)30 b Ft(is)24 b(not)g(an)g(arra)m(y)-8 b(,)27 b(expands)c(to)i(0)f(if)h Fq(name)k Ft(is)24 b(set)h(and)e(n)m(ull)h -(otherwise.)630 2311 y(When)39 b(`)p Fs(@)p Ft(')h(is)f(used)g(and)f +(otherwise.)630 3718 y(When)39 b(`)p Fs(@)p Ft(')h(is)f(used)g(and)f (the)i(expansion)f(app)s(ears)g(within)f(double)h(quotes,)k(eac)m(h)d -(k)m(ey)630 2421 y(expands)30 b(to)h(a)f(separate)i(w)m(ord.)150 -2590 y Fs(${#)p Fi(parameter)11 b Fs(})630 2700 y Ft(The)40 +(k)m(ey)630 3828 y(expands)30 b(to)h(a)f(separate)i(w)m(ord.)150 +3981 y Fs(${#)p Fi(parameter)11 b Fs(})630 4091 y Ft(The)40 b(length)g(in)g(c)m(haracters)i(of)e(the)h(expanded)e(v)-5 b(alue)41 b(of)f Fq(parameter)47 b Ft(is)40 b(substituted.)630 -2809 y(If)i Fq(parameter)50 b Ft(is)43 b(`)p Fs(*)p Ft(')g(or)g(`)p +4200 y(If)i Fq(parameter)50 b Ft(is)43 b(`)p Fs(*)p Ft(')g(or)g(`)p Fs(@)p Ft(',)k(the)c(v)-5 b(alue)43 b(substituted)f(is)h(the)g(n)m(um)m -(b)s(er)f(of)h(p)s(ositional)630 2919 y(parameters.)i(If)32 +(b)s(er)f(of)h(p)s(ositional)630 4310 y(parameters.)i(If)32 b Fq(parameter)38 b Ft(is)32 b(an)g(arra)m(y)g(name)g(subscripted)f(b)m (y)g(`)p Fs(*)p Ft(')h(or)g(`)p Fs(@)p Ft(',)g(the)g(v)-5 -b(alue)630 3029 y(substituted)30 b(is)g(the)h(n)m(um)m(b)s(er)e(of)h -(elemen)m(ts)i(in)e(the)h(arra)m(y)-8 b(.)150 3198 y -Fs(${)p Fi(parameter)11 b Fs(#)p Fi(word)g Fs(})150 3308 -y(${)p Fi(parameter)g Fs(##)p Fi(word)g Fs(})630 3417 +b(alue)630 4419 y(substituted)30 b(is)g(the)h(n)m(um)m(b)s(er)e(of)h +(elemen)m(ts)i(in)e(the)h(arra)m(y)-8 b(.)150 4573 y +Fs(${)p Fi(parameter)11 b Fs(#)p Fi(word)g Fs(})150 4682 +y(${)p Fi(parameter)g Fs(##)p Fi(word)g Fs(})630 4792 y Ft(The)31 b Fq(w)m(ord)k Ft(is)d(expanded)f(to)i(pro)s(duce)e(a)h (pattern)g(just)f(as)i(in)e(\014lename)h(expansion)g(\(see)630 -3527 y(Section)k(3.5.8)h([Filename)g(Expansion],)g(page)f(24\).)56 +4902 y(Section)k(3.5.8)h([Filename)g(Expansion],)g(page)f(25\).)56 b(If)35 b(the)h(pattern)f(matc)m(hes)i(the)e(b)s(e-)630 -3636 y(ginning)g(of)g(the)g(expanded)f(v)-5 b(alue)36 +5011 y(ginning)g(of)g(the)g(expanded)f(v)-5 b(alue)36 b(of)f Fq(parameter)7 b Ft(,)36 b(then)f(the)g(result)g(of)g(the)g -(expansion)630 3746 y(is)28 b(the)g(expanded)e(v)-5 b(alue)28 +(expansion)630 5121 y(is)28 b(the)g(expanded)e(v)-5 b(alue)28 b(of)g Fq(parameter)35 b Ft(with)27 b(the)h(shortest)g(matc)m(hing)h -(pattern)f(\(the)g(`)p Fs(#)p Ft(')630 3856 y(case\))e(or)f(the)g +(pattern)f(\(the)g(`)p Fs(#)p Ft(')630 5230 y(case\))e(or)f(the)g (longest)g(matc)m(hing)h(pattern)f(\(the)g(`)p Fs(##)p Ft(')g(case\))h(deleted.)39 b(If)24 b Fq(parameter)32 -b Ft(is)25 b(`)p Fs(@)p Ft(')630 3965 y(or)j(`)p Fs(*)p +b Ft(is)25 b(`)p Fs(@)p Ft(')630 5340 y(or)j(`)p Fs(*)p Ft(',)i(the)e(pattern)h(remo)m(v)-5 b(al)29 b(op)s(eration)g(is)f -(applied)h(to)g(eac)m(h)g(p)s(ositional)g(parameter)g(in)630 -4075 y(turn,)i(and)g(the)h(expansion)g(is)g(the)g(resultan)m(t)g(list.) -45 b(If)32 b Fq(parameter)38 b Ft(is)32 b(an)g(arra)m(y)g(v)-5 -b(ariable)630 4184 y(subscripted)39 b(with)g(`)p Fs(@)p +(applied)h(to)g(eac)m(h)g(p)s(ositional)g(parameter)g(in)p +eop end +%%Page: 23 29 +TeXDict begin 23 28 bop 150 -116 a Ft(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(23)630 299 +y(turn,)31 b(and)g(the)h(expansion)g(is)g(the)g(resultan)m(t)g(list.)45 +b(If)32 b Fq(parameter)38 b Ft(is)32 b(an)g(arra)m(y)g(v)-5 +b(ariable)630 408 y(subscripted)39 b(with)g(`)p Fs(@)p Ft(')h(or)g(`)p Fs(*)p Ft(',)j(the)d(pattern)h(remo)m(v)-5 b(al)41 b(op)s(eration)f(is)g(applied)g(to)h(eac)m(h)630 -4294 y(mem)m(b)s(er)30 b(of)g(the)h(arra)m(y)g(in)f(turn,)f(and)h(the)h -(expansion)f(is)g(the)h(resultan)m(t)g(list.)150 4463 +518 y(mem)m(b)s(er)30 b(of)g(the)h(arra)m(y)g(in)f(turn,)f(and)h(the)h +(expansion)f(is)g(the)h(resultan)m(t)g(list.)150 774 y Fs(${)p Fi(parameter)11 b Fs(\045)p Fi(word)g Fs(})150 -4573 y(${)p Fi(parameter)g Fs(\045\045)p Fi(word)g Fs(})630 -4682 y Ft(The)35 b Fq(w)m(ord)k Ft(is)c(expanded)g(to)h(pro)s(duce)e(a) -i(pattern)f(just)g(as)h(in)f(\014lename)h(expansion.)55 -b(If)630 4792 y(the)43 b(pattern)f(matc)m(hes)i(a)e(trailing)i(p)s +883 y(${)p Fi(parameter)g Fs(\045\045)p Fi(word)g Fs(})630 +993 y Ft(The)35 b Fq(w)m(ord)k Ft(is)c(expanded)g(to)h(pro)s(duce)e(a)i +(pattern)f(just)g(as)h(in)f(\014lename)h(expansion.)55 +b(If)630 1103 y(the)43 b(pattern)f(matc)m(hes)i(a)e(trailing)i(p)s (ortion)e(of)g(the)h(expanded)e(v)-5 b(alue)43 b(of)g -Fq(parameter)7 b Ft(,)630 4902 y(then)39 b(the)g(result)g(of)h(the)f +Fq(parameter)7 b Ft(,)630 1212 y(then)39 b(the)g(result)g(of)h(the)f (expansion)g(is)h(the)f(v)-5 b(alue)40 b(of)f Fq(parameter)46 -b Ft(with)39 b(the)h(shortest)630 5011 y(matc)m(hing)31 +b Ft(with)39 b(the)h(shortest)630 1322 y(matc)m(hing)31 b(pattern)e(\(the)h(`)p Fs(\045)p Ft(')g(case\))h(or)e(the)h(longest)h (matc)m(hing)f(pattern)g(\(the)g(`)p Fs(\045\045)p Ft(')g(case\))630 -5121 y(deleted.)49 b(If)32 b Fq(parameter)40 b Ft(is)33 +1431 y(deleted.)49 b(If)32 b Fq(parameter)40 b Ft(is)33 b(`)p Fs(@)p Ft(')g(or)g(`)p Fs(*)p Ft(',)h(the)f(pattern)g(remo)m(v)-5 -b(al)34 b(op)s(eration)g(is)f(applied)f(to)630 5230 y(eac)m(h)38 +b(al)34 b(op)s(eration)g(is)f(applied)f(to)630 1541 y(eac)m(h)38 b(p)s(ositional)g(parameter)g(in)f(turn,)h(and)e(the)h(expansion)g(is)h -(the)f(resultan)m(t)h(list.)61 b(If)630 5340 y Fq(parameter)38 +(the)f(resultan)m(t)h(list.)61 b(If)630 1650 y Fq(parameter)38 b Ft(is)32 b(an)f(arra)m(y)h(v)-5 b(ariable)32 b(subscripted)e(with)h (`)p Fs(@)p Ft(')g(or)h(`)p Fs(*)p Ft(',)g(the)f(pattern)h(remo)m(v)-5 -b(al)p eop end -%%Page: 22 28 -TeXDict begin 22 27 bop 150 -116 a Ft(22)2572 b(Bash)31 -b(Reference)g(Man)m(ual)630 299 y(op)s(eration)f(is)g(applied)f(to)i -(eac)m(h)g(mem)m(b)s(er)e(of)h(the)g(arra)m(y)g(in)f(turn,)g(and)g(the) -h(expansion)g(is)630 408 y(the)h(resultan)m(t)g(list.)150 -579 y Fs(${)p Fi(parameter)11 b Fs(/)p Fi(pattern)g Fs(/)p -Fi(s)o(tri)o(ng)f Fs(})630 688 y Ft(The)37 b Fq(pattern)g +b(al)630 1760 y(op)s(eration)30 b(is)g(applied)f(to)i(eac)m(h)g(mem)m +(b)s(er)e(of)h(the)g(arra)m(y)g(in)f(turn,)g(and)g(the)h(expansion)g +(is)630 1870 y(the)h(resultan)m(t)g(list.)150 2125 y +Fs(${)p Fi(parameter)11 b Fs(/)p Fi(pattern)g Fs(/)p +Fi(s)o(tri)o(ng)f Fs(})630 2235 y Ft(The)37 b Fq(pattern)g Ft(is)g(expanded)g(to)h(pro)s(duce)e(a)h(pattern)g(just)g(as)h(in)e -(\014lename)i(expansion.)630 798 y Fq(P)m(arameter)46 +(\014lename)i(expansion.)630 2345 y Fq(P)m(arameter)46 b Ft(is)38 b(expanded)f(and)g(the)i(longest)g(matc)m(h)g(of)f Fq(pattern)g Ft(against)h(its)f(v)-5 b(alue)39 b(is)630 -908 y(replaced)33 b(with)f Fq(string)8 b Ft(.)47 b(If)33 +2454 y(replaced)33 b(with)f Fq(string)8 b Ft(.)47 b(If)33 b Fq(pattern)f Ft(b)s(egins)g(with)h(`)p Fs(/)p Ft(',)g(all)h(matc)m -(hes)f(of)g Fq(pattern)g Ft(are)g(re-)630 1017 y(placed)27 +(hes)f(of)g Fq(pattern)g Ft(are)g(re-)630 2564 y(placed)27 b(with)f Fq(string)8 b Ft(.)40 b(Normally)27 b(only)g(the)g(\014rst)f (matc)m(h)h(is)g(replaced.)40 b(If)26 b Fq(pattern)g -Ft(b)s(egins)630 1127 y(with)33 b(`)p Fs(#)p Ft(',)i(it)f(m)m(ust)f +Ft(b)s(egins)630 2673 y(with)33 b(`)p Fs(#)p Ft(',)i(it)f(m)m(ust)f (matc)m(h)i(at)f(the)g(b)s(eginning)f(of)g(the)h(expanded)f(v)-5 -b(alue)34 b(of)g Fq(parameter)7 b Ft(.)630 1236 y(If)34 +b(alue)34 b(of)g Fq(parameter)7 b Ft(.)630 2783 y(If)34 b Fq(pattern)g Ft(b)s(egins)g(with)g(`)p Fs(\045)p Ft(',)h(it)g(m)m (ust)f(matc)m(h)h(at)g(the)f(end)g(of)g(the)h(expanded)e(v)-5 -b(alue)35 b(of)630 1346 y Fq(parameter)7 b Ft(.)40 b(If)29 +b(alue)35 b(of)630 2892 y Fq(parameter)7 b Ft(.)40 b(If)29 b Fq(string)36 b Ft(is)29 b(n)m(ull,)h(matc)m(hes)g(of)f Fq(pattern)g Ft(are)g(deleted)h(and)e(the)h Fs(/)f Ft(follo)m(wing)630 -1455 y Fq(pattern)34 b Ft(ma)m(y)g(b)s(e)f(omitted.)51 +3002 y Fq(pattern)34 b Ft(ma)m(y)g(b)s(e)f(omitted.)51 b(If)33 b Fq(parameter)41 b Ft(is)33 b(`)p Fs(@)p Ft(')h(or)g(`)p Fs(*)p Ft(',)g(the)g(substitution)f(op)s(eration)630 -1565 y(is)38 b(applied)g(to)g(eac)m(h)h(p)s(ositional)g(parameter)f(in) +3112 y(is)38 b(applied)g(to)g(eac)m(h)h(p)s(ositional)g(parameter)f(in) g(turn,)h(and)e(the)h(expansion)g(is)g(the)g(re-)630 -1675 y(sultan)m(t)f(list.)59 b(If)36 b Fq(parameter)43 +3221 y(sultan)m(t)f(list.)59 b(If)36 b Fq(parameter)43 b Ft(is)36 b(an)g(arra)m(y)h(v)-5 b(ariable)37 b(subscripted)e(with)h -(`)p Fs(@)p Ft(')g(or)h(`)p Fs(*)p Ft(',)h(the)630 1784 +(`)p Fs(@)p Ft(')g(or)h(`)p Fs(*)p Ft(',)h(the)630 3331 y(substitution)30 b(op)s(eration)h(is)f(applied)g(to)h(eac)m(h)g(mem)m (b)s(er)f(of)g(the)h(arra)m(y)g(in)f(turn,)f(and)h(the)630 -1894 y(expansion)g(is)h(the)f(resultan)m(t)h(list.)150 -2064 y Fs(${)p Fi(parameter)11 b Fs(^)p Fi(pattern)g -Fs(})150 2174 y(${)p Fi(parameter)g Fs(^^)p Fi(pattern)g -Fs(})150 2283 y(${)p Fi(parameter)g Fs(,)p Fi(pattern)g -Fs(})150 2393 y(${)p Fi(parameter)g Fs(,,)p Fi(pattern)g -Fs(})630 2502 y Ft(This)35 b(expansion)h(mo)s(di\014es)f(the)h(case)h +3440 y(expansion)g(is)h(the)f(resultan)m(t)h(list.)150 +3696 y Fs(${)p Fi(parameter)11 b Fs(^)p Fi(pattern)g +Fs(})150 3806 y(${)p Fi(parameter)g Fs(^^)p Fi(pattern)g +Fs(})150 3915 y(${)p Fi(parameter)g Fs(,)p Fi(pattern)g +Fs(})150 4025 y(${)p Fi(parameter)g Fs(,,)p Fi(pattern)g +Fs(})630 4134 y Ft(This)35 b(expansion)h(mo)s(di\014es)f(the)h(case)h (of)f(alphab)s(etic)h(c)m(haracters)g(in)f Fq(parameter)7 -b Ft(.)57 b(The)630 2612 y Fq(pattern)36 b Ft(is)f(expanded)g(to)h(pro) +b Ft(.)57 b(The)630 4244 y Fq(pattern)36 b Ft(is)f(expanded)g(to)h(pro) s(duce)e(a)i(pattern)g(just)f(as)h(in)f(\014lename)g(expansion.)56 -b(The)630 2722 y(`)p Fs(^)p Ft(')36 b(op)s(erator)g(con)m(v)m(erts)h +b(The)630 4354 y(`)p Fs(^)p Ft(')36 b(op)s(erator)g(con)m(v)m(erts)h (lo)m(w)m(ercase)h(letters)f(matc)m(hing)g Fq(pattern)f -Ft(to)g(upp)s(ercase;)i(the)e(`)p Fs(,)p Ft(')630 2831 +Ft(to)g(upp)s(ercase;)i(the)e(`)p Fs(,)p Ft(')630 4463 y(op)s(erator)g(con)m(v)m(erts)i(matc)m(hing)f(upp)s(ercase)e(letters)i (to)g(lo)m(w)m(ercase.)59 b(The)36 b(`)p Fs(^^)p Ft(')g(and)f(`)p -Fs(,,)p Ft(')630 2941 y(expansions)c(con)m(v)m(ert)i(eac)m(h)g(matc)m +Fs(,,)p Ft(')630 4573 y(expansions)c(con)m(v)m(ert)i(eac)m(h)g(matc)m (hed)f(c)m(haracter)h(in)e(the)h(expanded)f(v)-5 b(alue;)32 -b(the)g(`)p Fs(^)p Ft(')g(and)630 3050 y(`)p Fs(,)p Ft(')24 +b(the)g(`)p Fs(^)p Ft(')g(and)630 4682 y(`)p Fs(,)p Ft(')24 b(expansions)f(matc)m(h)i(and)e(con)m(v)m(ert)j(only)d(the)h(\014rst)f (c)m(haracter)j(in)d(the)h(expanded)f(v)-5 b(alue.)630 -3160 y(If)31 b Fq(pattern)g Ft(is)g(omitted,)i(it)f(is)f(treated)h(lik) +4792 y(If)31 b Fq(pattern)g Ft(is)g(omitted,)i(it)f(is)f(treated)h(lik) m(e)h(a)e(`)p Fs(?)p Ft(',)h(whic)m(h)f(matc)m(hes)i(ev)m(ery)f(c)m -(haracter.)44 b(If)630 3270 y Fq(parameter)37 b Ft(is)31 +(haracter.)44 b(If)630 4902 y Fq(parameter)37 b Ft(is)31 b(`)p Fs(@)p Ft(')f(or)h(`)p Fs(*)p Ft(',)f(the)h(case)g(mo)s (di\014cation)g(op)s(eration)g(is)f(applied)g(to)i(eac)m(h)f(p)s(osi-) -630 3379 y(tional)26 b(parameter)e(in)h(turn,)f(and)g(the)h(expansion)f +630 5011 y(tional)26 b(parameter)e(in)h(turn,)f(and)g(the)h(expansion)f (is)g(the)h(resultan)m(t)g(list.)40 b(If)23 b Fq(parameter)32 -b Ft(is)630 3489 y(an)e(arra)m(y)g(v)-5 b(ariable)31 +b Ft(is)630 5121 y(an)e(arra)m(y)g(v)-5 b(ariable)31 b(subscripted)d(with)i(`)p Fs(@)p Ft(')g(or)f(`)p Fs(*)p Ft(',)i(the)f(case)g(mo)s(di\014cation)h(op)s(eration)f(is)630 -3598 y(applied)d(to)g(eac)m(h)h(mem)m(b)s(er)e(of)h(the)g(arra)m(y)g +5230 y(applied)d(to)g(eac)m(h)h(mem)m(b)s(er)e(of)h(the)g(arra)m(y)g (in)g(turn,)g(and)f(the)h(expansion)f(is)h(the)g(resultan)m(t)630 -3708 y(list.)150 3918 y Fj(3.5.4)63 b(Command)41 b(Substitution)150 -4065 y Ft(Command)f(substitution)h(allo)m(ws)i(the)e(output)g(of)h(a)f -(command)g(to)h(replace)g(the)g(command)f(itself.)150 -4175 y(Command)29 b(substitution)h(o)s(ccurs)h(when)e(a)i(command)f(is) -g(enclosed)h(as)g(follo)m(ws:)390 4320 y Fs($\()p Fi(command)11 -b Fs(\))150 4465 y Ft(or)390 4611 y Fs(`)p Fi(command)g -Fs(`)150 4756 y Ft(Bash)45 b(p)s(erforms)f(the)h(expansion)f(b)m(y)h +5340 y(list.)p eop end +%%Page: 24 30 +TeXDict begin 24 29 bop 150 -116 a Ft(24)2572 b(Bash)31 +b(Reference)g(Man)m(ual)150 299 y Fj(3.5.4)63 b(Command)41 +b(Substitution)150 446 y Ft(Command)f(substitution)h(allo)m(ws)i(the)e +(output)g(of)h(a)f(command)g(to)h(replace)g(the)g(command)f(itself.)150 +555 y(Command)29 b(substitution)h(o)s(ccurs)h(when)e(a)i(command)f(is)g +(enclosed)h(as)g(follo)m(ws:)390 684 y Fs($\()p Fi(command)11 +b Fs(\))150 812 y Ft(or)390 940 y Fs(`)p Fi(command)g +Fs(`)150 1069 y Ft(Bash)45 b(p)s(erforms)f(the)h(expansion)f(b)m(y)h (executing)i Fq(command)h Ft(and)c(replacing)i(the)f(command)g(sub-)150 -4866 y(stitution)c(with)f(the)g(standard)g(output)g(of)g(the)g +1178 y(stitution)c(with)f(the)g(standard)g(output)g(of)g(the)g (command,)j(with)d(an)m(y)h(trailing)g(newlines)f(deleted.)150 -4975 y(Em)m(b)s(edded)30 b(newlines)h(are)h(not)f(deleted,)i(but)e +1288 y(Em)m(b)s(edded)30 b(newlines)h(are)h(not)f(deleted,)i(but)e (they)g(ma)m(y)h(b)s(e)f(remo)m(v)m(ed)i(during)d(w)m(ord)h(splitting.) -44 b(The)150 5085 y(command)21 b(substitution)g Fs($\(cat)29 +44 b(The)150 1398 y(command)21 b(substitution)g Fs($\(cat)29 b Fi(file)11 b Fs(\))20 b Ft(can)i(b)s(e)f(replaced)g(b)m(y)h(the)g (equiv)-5 b(alen)m(t)22 b(but)f(faster)h Fs($\(<)30 b -Fi(file)11 b Fs(\))p Ft(.)275 5230 y(When)33 b(the)i(old-st)m(yle)h +Fi(file)11 b Fs(\))p Ft(.)275 1526 y(When)33 b(the)i(old-st)m(yle)h (bac)m(kquote)f(form)f(of)g(substitution)g(is)g(used,)h(bac)m(kslash)f -(retains)h(its)f(literal)150 5340 y(meaning)k(except)h(when)e(follo)m +(retains)h(its)f(literal)150 1635 y(meaning)k(except)h(when)e(follo)m (w)m(ed)j(b)m(y)e(`)p Fs($)p Ft(',)j(`)p Fs(`)p Ft(',)f(or)e(`)p Fs(\\)p Ft('.)64 b(The)38 b(\014rst)f(bac)m(kquote)j(not)e(preceded)g -(b)m(y)g(a)p eop end -%%Page: 23 29 -TeXDict begin 23 28 bop 150 -116 a Ft(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(23)150 299 -y(bac)m(kslash)41 b(terminates)g(the)f(command)g(substitution.)69 -b(When)40 b(using)g(the)g Fs($\()p Fi(command)11 b Fs(\))37 -b Ft(form,)42 b(all)150 408 y(c)m(haracters)32 b(b)s(et)m(w)m(een)f -(the)f(paren)m(theses)h(mak)m(e)g(up)f(the)g(command;)h(none)f(are)h -(treated)g(sp)s(ecially)-8 b(.)275 543 y(Command)22 b(substitutions)g -(ma)m(y)i(b)s(e)e(nested.)39 b(T)-8 b(o)23 b(nest)g(when)f(using)h(the) -g(bac)m(kquoted)h(form,)g(escap)s(e)150 653 y(the)31 -b(inner)e(bac)m(kquotes)j(with)e(bac)m(kslashes.)275 -787 y(If)e(the)i(substitution)e(app)s(ears)h(within)g(double)f(quotes,) -i(w)m(ord)f(splitting)h(and)f(\014lename)g(expansion)150 -897 y(are)i(not)f(p)s(erformed)f(on)h(the)h(results.)150 -1096 y Fj(3.5.5)63 b(Arithmetic)40 b(Expansion)150 1243 +(b)m(y)g(a)150 1745 y(bac)m(kslash)j(terminates)g(the)f(command)g +(substitution.)69 b(When)40 b(using)g(the)g Fs($\()p +Fi(command)11 b Fs(\))37 b Ft(form,)42 b(all)150 1855 +y(c)m(haracters)32 b(b)s(et)m(w)m(een)f(the)f(paren)m(theses)h(mak)m(e) +g(up)f(the)g(command;)h(none)f(are)h(treated)g(sp)s(ecially)-8 +b(.)275 1983 y(Command)22 b(substitutions)g(ma)m(y)i(b)s(e)e(nested.)39 +b(T)-8 b(o)23 b(nest)g(when)f(using)h(the)g(bac)m(kquoted)h(form,)g +(escap)s(e)150 2093 y(the)31 b(inner)e(bac)m(kquotes)j(with)e(bac)m +(kslashes.)275 2221 y(If)e(the)i(substitution)e(app)s(ears)h(within)g +(double)f(quotes,)i(w)m(ord)f(splitting)h(and)f(\014lename)g(expansion) +150 2330 y(are)i(not)f(p)s(erformed)f(on)h(the)h(results.)150 +2517 y Fj(3.5.5)63 b(Arithmetic)40 b(Expansion)150 2664 y Ft(Arithmetic)25 b(expansion)g(allo)m(ws)g(the)g(ev)-5 b(aluation)26 b(of)f(an)f(arithmetic)i(expression)e(and)g(the)g -(substitution)150 1353 y(of)31 b(the)f(result.)41 b(The)30 -b(format)g(for)g(arithmetic)i(expansion)e(is:)390 1488 -y Fs($\(\()47 b Fi(expression)55 b Fs(\)\))275 1622 y +(substitution)150 2774 y(of)31 b(the)f(result.)41 b(The)30 +b(format)g(for)g(arithmetic)i(expansion)e(is:)390 2902 +y Fs($\(\()47 b Fi(expression)55 b Fs(\)\))275 3031 y Ft(The)33 b(expression)g(is)h(treated)g(as)g(if)g(it)g(w)m(ere)g (within)f(double)h(quotes,)h(but)e(a)h(double)f(quote)h(inside)150 -1732 y(the)27 b(paren)m(theses)g(is)g(not)g(treated)h(sp)s(ecially)-8 +3140 y(the)27 b(paren)m(theses)g(is)g(not)g(treated)h(sp)s(ecially)-8 b(.)41 b(All)27 b(tok)m(ens)h(in)e(the)h(expression)g(undergo)f -(parameter)h(ex-)150 1841 y(pansion,)h(command)f(substitution,)h(and)f +(parameter)h(ex-)150 3250 y(pansion,)h(command)f(substitution,)h(and)f (quote)i(remo)m(v)-5 b(al.)41 b(Arithmetic)28 b(expansions)g(ma)m(y)g -(b)s(e)f(nested.)275 1976 y(The)34 b(ev)-5 b(aluation)37 +(b)s(e)f(nested.)275 3378 y(The)34 b(ev)-5 b(aluation)37 b(is)f(p)s(erformed)e(according)i(to)g(the)g(rules)f(listed)h(b)s(elo)m -(w)g(\(see)g(Section)g(6.5)h([Shell)150 2086 y(Arithmetic],)32 -b(page)f(78\).)42 b(If)30 b(the)h(expression)f(is)g(in)m(v)-5 +(w)g(\(see)g(Section)g(6.5)h([Shell)150 3488 y(Arithmetic],)32 +b(page)f(80\).)42 b(If)30 b(the)h(expression)f(is)g(in)m(v)-5 b(alid,)32 b(Bash)e(prin)m(ts)g(a)h(message)g(indicating)h(failure)150 -2195 y(to)f(the)g(standard)e(error)h(and)g(no)g(substitution)g(o)s -(ccurs.)150 2395 y Fj(3.5.6)63 b(Pro)s(cess)42 b(Substitution)150 -2542 y Ft(Pro)s(cess)i(substitution)g(is)g(supp)s(orted)f(on)h(systems) +3597 y(to)f(the)g(standard)e(error)h(and)g(no)g(substitution)g(o)s +(ccurs.)150 3784 y Fj(3.5.6)63 b(Pro)s(cess)42 b(Substitution)150 +3931 y Ft(Pro)s(cess)i(substitution)g(is)g(supp)s(orted)f(on)h(systems) g(that)h(supp)s(ort)d(named)i(pip)s(es)f(\()p Fl(fif)n(o)p -Ft(s\))i(or)f(the)150 2651 y(`)p Fs(/dev/fd)p Ft(')29 +Ft(s\))i(or)f(the)150 4041 y(`)p Fs(/dev/fd)p Ft(')29 b(metho)s(d)h(of)g(naming)g(op)s(en)g(\014les.)41 b(It)30 -b(tak)m(es)i(the)f(form)f(of)390 2786 y Fs(<\()p Fi(list)11 -b Fs(\))150 2921 y Ft(or)390 3055 y Fs(>\()p Fi(list)g -Fs(\))150 3190 y Ft(The)23 b(pro)s(cess)g Fq(list)j Ft(is)d(run)f(with) +b(tak)m(es)i(the)f(form)f(of)390 4169 y Fs(<\()p Fi(list)11 +b Fs(\))150 4297 y Ft(or)390 4426 y Fs(>\()p Fi(list)g +Fs(\))150 4554 y Ft(The)23 b(pro)s(cess)g Fq(list)j Ft(is)d(run)f(with) h(its)h(input)f(or)g(output)g(connected)h(to)h(a)e Fl(fif)n(o)g Ft(or)h(some)g(\014le)f(in)g(`)p Fs(/dev/fd)p Ft('.)150 -3300 y(The)28 b(name)h(of)g(this)f(\014le)h(is)g(passed)f(as)h(an)f +4664 y(The)28 b(name)h(of)g(this)f(\014le)h(is)g(passed)f(as)h(an)f (argumen)m(t)h(to)h(the)f(curren)m(t)f(command)h(as)f(the)h(result)g -(of)g(the)150 3409 y(expansion.)40 b(If)28 b(the)h Fs(>\()p +(of)g(the)150 4773 y(expansion.)40 b(If)28 b(the)h Fs(>\()p Fi(list)11 b Fs(\))26 b Ft(form)h(is)i(used,)f(writing)h(to)g(the)f (\014le)h(will)g(pro)m(vide)f(input)g(for)g Fq(list)r -Ft(.)41 b(If)28 b(the)150 3519 y Fs(<\()p Fi(list)11 +Ft(.)41 b(If)28 b(the)150 4883 y Fs(<\()p Fi(list)11 b Fs(\))23 b Ft(form)h(is)i(used,)f(the)h(\014le)f(passed)g(as)g(an)g (argumen)m(t)h(should)e(b)s(e)h(read)g(to)h(obtain)g(the)f(output)g(of) -150 3628 y Fq(list)r Ft(.)41 b(Note)31 b(that)f(no)f(space)h(ma)m(y)g +150 4992 y Fq(list)r Ft(.)41 b(Note)31 b(that)f(no)f(space)h(ma)m(y)g (app)s(ear)f(b)s(et)m(w)m(een)h(the)g Fs(<)f Ft(or)h Fs(>)f Ft(and)g(the)g(left)h(paren)m(thesis,)h(otherwise)150 -3738 y(the)g(construct)f(w)m(ould)g(b)s(e)g(in)m(terpreted)h(as)f(a)h -(redirection.)275 3873 y(When)36 b(a)m(v)-5 b(ailable,)40 +5102 y(the)g(construct)f(w)m(ould)g(b)s(e)g(in)m(terpreted)h(as)f(a)h +(redirection.)275 5230 y(When)36 b(a)m(v)-5 b(ailable,)40 b(pro)s(cess)c(substitution)h(is)f(p)s(erformed)f(sim)m(ultaneously)i -(with)g(parameter)g(and)150 3982 y(v)-5 b(ariable)31 +(with)g(parameter)g(and)150 5340 y(v)-5 b(ariable)31 b(expansion,)g(command)f(substitution,)g(and)g(arithmetic)i(expansion.) -150 4182 y Fj(3.5.7)63 b(W)-10 b(ord)41 b(Splitting)150 -4329 y Ft(The)30 b(shell)h(scans)g(the)g(results)f(of)h(parameter)g +p eop end +%%Page: 25 31 +TeXDict begin 25 30 bop 150 -116 a Ft(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(25)150 299 +y Fj(3.5.7)63 b(W)-10 b(ord)41 b(Splitting)150 446 y +Ft(The)30 b(shell)h(scans)g(the)g(results)f(of)h(parameter)g (expansion,)g(command)g(substitution,)g(and)f(arithmetic)150 -4438 y(expansion)g(that)h(did)f(not)g(o)s(ccur)h(within)e(double)h -(quotes)h(for)f(w)m(ord)g(splitting.)275 4573 y(The)43 +555 y(expansion)g(that)h(did)f(not)g(o)s(ccur)h(within)e(double)h +(quotes)h(for)f(w)m(ord)g(splitting.)275 723 y(The)43 b(shell)h(treats)h(eac)m(h)h(c)m(haracter)f(of)g Fs($IFS)e Ft(as)h(a)g(delimiter,)49 b(and)43 b(splits)h(the)h(results)e(of)i(the) -150 4682 y(other)40 b(expansions)f(in)m(to)i(w)m(ords)e(on)h(these)g(c) -m(haracters.)70 b(If)39 b Fs(IFS)g Ft(is)h(unset,)i(or)d(its)h(v)-5 -b(alue)40 b(is)g(exactly)150 4792 y Fs()p +150 833 y(other)40 b(expansions)f(in)m(to)i(w)m(ords)e(on)h(these)g(c)m +(haracters.)70 b(If)39 b Fs(IFS)g Ft(is)h(unset,)i(or)d(its)h(v)-5 +b(alue)40 b(is)g(exactly)150 943 y Fs()p Ft(,)26 b(the)32 b(default,)g(then)f(sequences)h(of)62 b Fs()p Ft(,)30 b Fs()p Ft(,)h(and)f Fs()150 -4902 y Ft(at)39 b(the)f(b)s(eginning)g(and)f(end)h(of)g(the)h(results)f +1052 y Ft(at)39 b(the)f(b)s(eginning)g(and)f(end)h(of)g(the)h(results)f (of)g(the)g(previous)g(expansions)g(are)g(ignored,)j(and)d(an)m(y)150 -5011 y(sequence)31 b(of)g Fs(IFS)f Ft(c)m(haracters)j(not)e(at)g(the)g +1162 y(sequence)31 b(of)g Fs(IFS)f Ft(c)m(haracters)j(not)e(at)g(the)g (b)s(eginning)g(or)f(end)h(serv)m(es)g(to)h(delimit)f(w)m(ords.)42 -b(If)30 b Fs(IFS)g Ft(has)150 5121 y(a)g(v)-5 b(alue)30 +b(If)30 b Fs(IFS)g Ft(has)150 1271 y(a)g(v)-5 b(alue)30 b(other)g(than)g(the)g(default,)g(then)f(sequences)h(of)g(the)g (whitespace)g(c)m(haracters)h Fs(space)e Ft(and)g Fs(tab)150 -5230 y Ft(are)36 b(ignored)g(at)g(the)g(b)s(eginning)f(and)g(end)g(of)h +1381 y Ft(are)36 b(ignored)g(at)g(the)g(b)s(eginning)f(and)g(end)g(of)h (the)g(w)m(ord,)h(as)f(long)g(as)g(the)g(whitespace)h(c)m(haracter)g -(is)150 5340 y(in)f(the)g(v)-5 b(alue)36 b(of)g Fs(IFS)f +(is)150 1490 y(in)f(the)g(v)-5 b(alue)36 b(of)g Fs(IFS)f Ft(\(an)h Fs(IFS)f Ft(whitespace)h(c)m(haracter\).)60 b(An)m(y)35 b(c)m(haracter)j(in)d Fs(IFS)g Ft(that)i(is)f(not)g -Fs(IFS)p eop end -%%Page: 24 30 -TeXDict begin 24 29 bop 150 -116 a Ft(24)2572 b(Bash)31 -b(Reference)g(Man)m(ual)150 299 y(whitespace,)c(along)f(with)f(an)m(y)g -(adjacen)m(t)h Fs(IFS)e Ft(whitespace)i(c)m(haracters,)i(delimits)e(a)f -(\014eld.)38 b(A)26 b(sequence)150 408 y(of)35 b Fs(IFS)f -Ft(whitespace)h(c)m(haracters)i(is)d(also)i(treated)g(as)f(a)g -(delimiter.)55 b(If)34 b(the)h(v)-5 b(alue)35 b(of)g -Fs(IFS)f Ft(is)h(n)m(ull,)h(no)150 518 y(w)m(ord)30 b(splitting)h(o)s -(ccurs.)275 648 y(Explicit)44 b(n)m(ull)f(argumen)m(ts)g(\()p -Fs("")g Ft(or)h Fs('')p Ft(\))f(are)g(retained.)80 b(Unquoted)43 -b(implicit)h(n)m(ull)f(argumen)m(ts,)150 758 y(resulting)24 +Fs(IFS)150 1600 y Ft(whitespace,)27 b(along)f(with)f(an)m(y)g(adjacen)m +(t)h Fs(IFS)e Ft(whitespace)i(c)m(haracters,)i(delimits)e(a)f(\014eld.) +38 b(A)26 b(sequence)150 1710 y(of)35 b Fs(IFS)f Ft(whitespace)h(c)m +(haracters)i(is)d(also)i(treated)g(as)f(a)g(delimiter.)55 +b(If)34 b(the)h(v)-5 b(alue)35 b(of)g Fs(IFS)f Ft(is)h(n)m(ull,)h(no) +150 1819 y(w)m(ord)30 b(splitting)h(o)s(ccurs.)275 1987 +y(Explicit)44 b(n)m(ull)f(argumen)m(ts)g(\()p Fs("")g +Ft(or)h Fs('')p Ft(\))f(are)g(retained.)80 b(Unquoted)43 +b(implicit)h(n)m(ull)f(argumen)m(ts,)150 2097 y(resulting)24 b(from)f(the)g(expansion)g(of)h(parameters)g(that)g(ha)m(v)m(e)h(no)e (v)-5 b(alues,)25 b(are)f(remo)m(v)m(ed.)40 b(If)23 b(a)g(parameter)150 -867 y(with)30 b(no)g(v)-5 b(alue)31 b(is)g(expanded)e(within)h(double)g -(quotes,)h(a)g(n)m(ull)f(argumen)m(t)h(results)f(and)g(is)g(retained.) -275 997 y(Note)h(that)g(if)g(no)f(expansion)g(o)s(ccurs,)g(no)h -(splitting)g(is)f(p)s(erformed.)150 1187 y Fj(3.5.8)63 -b(Filename)41 b(Expansion)150 1334 y Ft(After)26 b(w)m(ord)g +2206 y(with)30 b(no)g(v)-5 b(alue)31 b(is)g(expanded)e(within)h(double) +g(quotes,)h(a)g(n)m(ull)f(argumen)m(t)h(results)f(and)g(is)g(retained.) +275 2374 y(Note)h(that)g(if)g(no)f(expansion)g(o)s(ccurs,)g(no)h +(splitting)g(is)f(p)s(erformed.)150 2607 y Fj(3.5.8)63 +b(Filename)41 b(Expansion)150 2754 y Ft(After)26 b(w)m(ord)g (splitting,)i(unless)d(the)i(`)p Fs(-f)p Ft(')f(option)g(has)g(b)s(een) f(set)i(\(see)g(Section)g(4.3.1)h([The)e(Set)g(Builtin],)150 -1444 y(page)h(51\),)i(Bash)d(scans)h(eac)m(h)h(w)m(ord)e(for)g(the)h(c) +2864 y(page)h(53\),)i(Bash)d(scans)h(eac)m(h)h(w)m(ord)e(for)g(the)h(c) m(haracters)g(`)p Fs(*)p Ft(',)h(`)p Fs(?)p Ft(',)g(and)e(`)p Fs([)p Ft('.)39 b(If)26 b(one)h(of)g(these)f(c)m(haracters)150 -1553 y(app)s(ears,)h(then)f(the)h(w)m(ord)f(is)h(regarded)g(as)g(a)g +2973 y(app)s(ears,)h(then)f(the)h(w)m(ord)f(is)h(regarded)g(as)g(a)g Fq(pattern)p Ft(,)g(and)g(replaced)g(with)f(an)h(alphab)s(etically)h -(sorted)150 1663 y(list)k(of)g(\014le)g(names)g(matc)m(hing)h(the)f +(sorted)150 3083 y(list)k(of)g(\014le)g(names)g(matc)m(hing)h(the)f (pattern.)45 b(If)32 b(no)f(matc)m(hing)i(\014le)f(names)g(are)g -(found,)f(and)h(the)g(shell)150 1772 y(option)c Fs(nullglob)e +(found,)f(and)h(the)g(shell)150 3192 y(option)c Fs(nullglob)e Ft(is)i(disabled,)h(the)f(w)m(ord)g(is)g(left)g(unc)m(hanged.)40 b(If)28 b(the)g Fs(nullglob)e Ft(option)i(is)g(set,)i(and)150 -1882 y(no)38 b(matc)m(hes)h(are)f(found,)h(the)f(w)m(ord)f(is)h(remo)m +3302 y(no)38 b(matc)m(hes)h(are)f(found,)h(the)f(w)m(ord)f(is)h(remo)m (v)m(ed.)65 b(If)37 b(the)h Fs(failglob)e Ft(shell)i(option)g(is)g -(set,)j(and)c(no)150 1991 y(matc)m(hes)f(are)g(found,)f(an)g(error)f +(set,)j(and)c(no)150 3411 y(matc)m(hes)f(are)g(found,)f(an)g(error)f (message)j(is)e(prin)m(ted)f(and)h(the)g(command)g(is)g(not)g -(executed.)56 b(If)35 b(the)150 2101 y(shell)e(option)h +(executed.)56 b(If)35 b(the)150 3521 y(shell)e(option)h Fs(nocaseglob)c Ft(is)j(enabled,)h(the)g(matc)m(h)g(is)f(p)s(erformed)e -(without)i(regard)g(to)h(the)g(case)g(of)150 2211 y(alphab)s(etic)d(c)m -(haracters.)275 2341 y(When)23 b(a)h(pattern)f(is)h(used)f(for)g +(without)i(regard)g(to)h(the)g(case)g(of)150 3631 y(alphab)s(etic)d(c)m +(haracters.)275 3799 y(When)23 b(a)h(pattern)f(is)h(used)f(for)g (\014lename)h(expansion,)h(the)e(c)m(haracter)i(`)p Fs(.)p -Ft(')f(at)g(the)g(start)g(of)g(a)g(\014lename)150 2450 +Ft(')f(at)g(the)g(start)g(of)g(a)g(\014lename)150 3908 y(or)f(immediately)i(follo)m(wing)g(a)f(slash)f(m)m(ust)h(b)s(e)f(matc) m(hed)h(explicitly)-8 b(,)27 b(unless)c(the)g(shell)h(option)g -Fs(dotglob)150 2560 y Ft(is)31 b(set.)45 b(When)31 b(matc)m(hing)h(a)g +Fs(dotglob)150 4018 y Ft(is)31 b(set.)45 b(When)31 b(matc)m(hing)h(a)g (\014le)f(name,)h(the)g(slash)f(c)m(haracter)i(m)m(ust)e(alw)m(a)m(ys)i -(b)s(e)e(matc)m(hed)h(explicitly)-8 b(.)150 2669 y(In)30 +(b)s(e)e(matc)m(hed)h(explicitly)-8 b(.)150 4127 y(In)30 b(other)g(cases,)i(the)e(`)p Fs(.)p Ft(')h(c)m(haracter)h(is)e(not)h -(treated)g(sp)s(ecially)-8 b(.)275 2799 y(See)28 b(the)g(description)g +(treated)g(sp)s(ecially)-8 b(.)275 4295 y(See)28 b(the)g(description)g (of)g Fs(shopt)e Ft(in)i(Section)g(4.3.2)i([The)e(Shopt)f(Builtin],)i -(page)g(55,)g(for)f(a)g(descrip-)150 2909 y(tion)j(of)f(the)h +(page)g(57,)g(for)f(a)g(descrip-)150 4405 y(tion)j(of)f(the)h Fs(nocaseglob)p Ft(,)d Fs(nullglob)p Ft(,)g Fs(failglob)p -Ft(,)h(and)g Fs(dotglob)g Ft(options.)275 3039 y(The)j +Ft(,)h(and)g Fs(dotglob)g Ft(options.)275 4573 y(The)j Fs(GLOBIGNORE)f Ft(shell)i(v)-5 b(ariable)34 b(ma)m(y)g(b)s(e)f(used)f (to)i(restrict)g(the)g(set)f(of)h(\014lenames)f(matc)m(hing)i(a)150 -3148 y(pattern.)k(If)25 b Fs(GLOBIGNORE)e Ft(is)j(set,)h(eac)m(h)g +4682 y(pattern.)k(If)25 b Fs(GLOBIGNORE)e Ft(is)j(set,)h(eac)m(h)g (matc)m(hing)g(\014lename)f(that)g(also)h(matc)m(hes)f(one)g(of)g(the)g -(patterns)150 3258 y(in)33 b Fs(GLOBIGNORE)d Ft(is)j(remo)m(v)m(ed)h +(patterns)150 4792 y(in)33 b Fs(GLOBIGNORE)d Ft(is)j(remo)m(v)m(ed)h (from)e(the)i(list)f(of)g(matc)m(hes.)50 b(The)33 b(\014lenames)g(`)p Fs(.)p Ft(')g(and)f(`)p Fs(..)p Ft(')h(are)g(alw)m(a)m(ys)150 -3367 y(ignored)g(when)e Fs(GLOBIGNORE)f Ft(is)j(set)g(and)f(not)h(n)m +4902 y(ignored)g(when)e Fs(GLOBIGNORE)f Ft(is)j(set)g(and)f(not)h(n)m (ull.)48 b(Ho)m(w)m(ev)m(er,)35 b(setting)f Fs(GLOBIGNORE)c -Ft(to)j(a)g(non-n)m(ull)150 3477 y(v)-5 b(alue)34 b(has)f(the)h +Ft(to)j(a)g(non-n)m(ull)150 5011 y(v)-5 b(alue)34 b(has)f(the)h (e\013ect)h(of)f(enabling)g(the)g Fs(dotglob)e Ft(shell)h(option,)j(so) -e(all)g(other)g(\014lenames)g(b)s(eginning)150 3587 y(with)43 +e(all)g(other)g(\014lenames)g(b)s(eginning)150 5121 y(with)43 b(a)h(`)p Fs(.)p Ft(')f(will)h(matc)m(h.)80 b(T)-8 b(o)44 b(get)h(the)e(old)h(b)s(eha)m(vior)f(of)h(ignoring)f(\014lenames)h(b)s -(eginning)f(with)g(a)150 3696 y(`)p Fs(.)p Ft(',)c(mak)m(e)g(`)p +(eginning)f(with)g(a)150 5230 y(`)p Fs(.)p Ft(',)c(mak)m(e)g(`)p Fs(.*)p Ft(')e(one)g(of)g(the)h(patterns)f(in)g Fs(GLOBIGNORE)p Ft(.)58 b(The)37 b Fs(dotglob)e Ft(option)j(is)f(disabled)g(when)150 -3806 y Fs(GLOBIGNORE)28 b Ft(is)i(unset.)150 3996 y Fj(3.5.8.1)63 -b(P)m(attern)40 b(Matc)m(hing)150 4143 y Ft(An)m(y)24 -b(c)m(haracter)h(that)f(app)s(ears)f(in)g(a)h(pattern,)i(other)e(than)f -(the)h(sp)s(ecial)g(pattern)g(c)m(haracters)h(describ)s(ed)150 -4252 y(b)s(elo)m(w,)31 b(matc)m(hes)g(itself.)42 b(The)29 -b Fl(nul)h Ft(c)m(haracter)i(ma)m(y)e(not)h(o)s(ccur)f(in)g(a)h -(pattern.)40 b(A)31 b(bac)m(kslash)g(escap)s(es)150 4362 -y(the)38 b(follo)m(wing)g(c)m(haracter;)43 b(the)37 b(escaping)i(bac)m -(kslash)e(is)h(discarded)f(when)f(matc)m(hing.)63 b(The)36 -b(sp)s(ecial)150 4471 y(pattern)30 b(c)m(haracters)i(m)m(ust)f(b)s(e)e -(quoted)i(if)f(they)h(are)f(to)i(b)s(e)d(matc)m(hed)i(literally)-8 -b(.)275 4601 y(The)29 b(sp)s(ecial)i(pattern)g(c)m(haracters)h(ha)m(v)m -(e)f(the)g(follo)m(wing)h(meanings:)150 4751 y Fs(*)432 -b Ft(Matc)m(hes)31 b(an)m(y)e(string,)h(including)f(the)g(n)m(ull)g -(string.)41 b(When)29 b(the)g Fs(globstar)e Ft(shell)i(option)630 -4861 y(is)37 b(enabled,)h(and)e(`)p Fs(*)p Ft(')h(is)g(used)f(in)g(a)h -(\014lename)g(expansion)g(con)m(text,)j(t)m(w)m(o)e(adjacen)m(t)g(`)p -Fs(*)p Ft('s)630 4971 y(used)f(as)g(a)h(single)g(pattern)g(will)f(matc) -m(h)i(all)f(\014les)f(and)g(zero)h(or)g(more)f(directories)i(and)630 -5080 y(sub)s(directories.)g(If)25 b(follo)m(w)m(ed)j(b)m(y)e(a)g(`)p +5340 y Fs(GLOBIGNORE)28 b Ft(is)i(unset.)p eop end +%%Page: 26 32 +TeXDict begin 26 31 bop 150 -116 a Ft(26)2572 b(Bash)31 +b(Reference)g(Man)m(ual)150 299 y Fj(3.5.8.1)63 b(P)m(attern)40 +b(Matc)m(hing)150 446 y Ft(An)m(y)24 b(c)m(haracter)h(that)f(app)s +(ears)f(in)g(a)h(pattern,)i(other)e(than)f(the)h(sp)s(ecial)g(pattern)g +(c)m(haracters)h(describ)s(ed)150 555 y(b)s(elo)m(w,)31 +b(matc)m(hes)g(itself.)42 b(The)29 b Fl(nul)h Ft(c)m(haracter)i(ma)m(y) +e(not)h(o)s(ccur)f(in)g(a)h(pattern.)40 b(A)31 b(bac)m(kslash)g(escap)s +(es)150 665 y(the)38 b(follo)m(wing)g(c)m(haracter;)43 +b(the)37 b(escaping)i(bac)m(kslash)e(is)h(discarded)f(when)f(matc)m +(hing.)63 b(The)36 b(sp)s(ecial)150 775 y(pattern)30 +b(c)m(haracters)i(m)m(ust)f(b)s(e)e(quoted)i(if)f(they)h(are)f(to)i(b)s +(e)d(matc)m(hed)i(literally)-8 b(.)275 908 y(The)29 b(sp)s(ecial)i +(pattern)g(c)m(haracters)h(ha)m(v)m(e)f(the)g(follo)m(wing)h(meanings:) +150 1065 y Fs(*)432 b Ft(Matc)m(hes)31 b(an)m(y)e(string,)h(including)f +(the)g(n)m(ull)g(string.)41 b(When)29 b(the)g Fs(globstar)e +Ft(shell)i(option)630 1174 y(is)37 b(enabled,)h(and)e(`)p +Fs(*)p Ft(')h(is)g(used)f(in)g(a)h(\014lename)g(expansion)g(con)m +(text,)j(t)m(w)m(o)e(adjacen)m(t)g(`)p Fs(*)p Ft('s)630 +1284 y(used)f(as)g(a)h(single)g(pattern)g(will)f(matc)m(h)i(all)f +(\014les)f(and)g(zero)h(or)g(more)f(directories)i(and)630 +1393 y(sub)s(directories.)g(If)25 b(follo)m(w)m(ed)j(b)m(y)e(a)g(`)p Fs(/)p Ft(',)h(t)m(w)m(o)g(adjacen)m(t)h(`)p Fs(*)p Ft('s)e(will)g -(matc)m(h)h(only)f(directories)630 5190 y(and)k(sub)s(directories.)150 -5340 y Fs(?)432 b Ft(Matc)m(hes)32 b(an)m(y)f(single)g(c)m(haracter.)p -eop end -%%Page: 25 31 -TeXDict begin 25 30 bop 150 -116 a Ft(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(25)150 299 -y Fs([...)o(])241 b Ft(Matc)m(hes)27 b(an)m(y)e(one)g(of)g(the)g -(enclosed)g(c)m(haracters.)41 b(A)25 b(pair)f(of)h(c)m(haracters)i -(separated)e(b)m(y)g(a)630 408 y(h)m(yphen)i(denotes)h(a)g +(matc)m(h)h(only)f(directories)630 1503 y(and)k(sub)s(directories.)150 +1660 y Fs(?)432 b Ft(Matc)m(hes)32 b(an)m(y)f(single)g(c)m(haracter.) +150 1816 y Fs([...)o(])241 b Ft(Matc)m(hes)27 b(an)m(y)e(one)g(of)g +(the)g(enclosed)g(c)m(haracters.)41 b(A)25 b(pair)f(of)h(c)m(haracters) +i(separated)e(b)m(y)g(a)630 1926 y(h)m(yphen)i(denotes)h(a)g Fq(range)g(expression)p Ft(;)g(an)m(y)h(c)m(haracter)g(that)f(sorts)g -(b)s(et)m(w)m(een)g(those)h(t)m(w)m(o)630 518 y(c)m(haracters,)f +(b)s(et)m(w)m(een)g(those)h(t)m(w)m(o)630 2036 y(c)m(haracters,)f (inclusiv)m(e,)f(using)d(the)h(curren)m(t)f(lo)s(cale's)j(collating)g -(sequence)e(and)f(c)m(haracter)630 628 y(set,)31 b(is)f(matc)m(hed.)42 +(sequence)e(and)f(c)m(haracter)630 2145 y(set,)31 b(is)f(matc)m(hed.)42 b(If)30 b(the)g(\014rst)g(c)m(haracter)i(follo)m(wing)g(the)e(`)p Fs([)p Ft(')h(is)f(a)h(`)p Fs(!)p Ft(')f(or)g(a)h(`)p -Fs(^)p Ft(')g(then)f(an)m(y)630 737 y(c)m(haracter)c(not)f(enclosed)g +Fs(^)p Ft(')g(then)f(an)m(y)630 2255 y(c)m(haracter)c(not)f(enclosed)g (is)g(matc)m(hed.)40 b(A)25 b(`)p Fp(\000)p Ft(')f(ma)m(y)i(b)s(e)e -(matc)m(hed)h(b)m(y)f(including)h(it)g(as)g(the)630 847 +(matc)m(hed)h(b)m(y)f(including)h(it)g(as)g(the)630 2364 y(\014rst)32 b(or)h(last)h(c)m(haracter)h(in)e(the)g(set.)50 b(A)33 b(`)p Fs(])p Ft(')g(ma)m(y)h(b)s(e)e(matc)m(hed)i(b)m(y)f -(including)g(it)g(as)h(the)630 956 y(\014rst)25 b(c)m(haracter)i(in)e +(including)g(it)g(as)h(the)630 2474 y(\014rst)25 b(c)m(haracter)i(in)e (the)h(set.)40 b(The)25 b(sorting)h(order)f(of)h(c)m(haracters)h(in)f -(range)g(expressions)f(is)630 1066 y(determined)e(b)m(y)g(the)g(curren) +(range)g(expressions)f(is)630 2584 y(determined)e(b)m(y)g(the)g(curren) m(t)f(lo)s(cale)j(and)e(the)g(v)-5 b(alue)23 b(of)g(the)h -Fs(LC_COLLATE)c Ft(shell)j(v)-5 b(ariable,)630 1176 y(if)30 -b(set.)630 1309 y(F)-8 b(or)34 b(example,)g(in)f(the)g(default)g(C)f +Fs(LC_COLLATE)c Ft(shell)j(v)-5 b(ariable,)630 2693 y(if)30 +b(set.)630 2826 y(F)-8 b(or)34 b(example,)g(in)f(the)g(default)g(C)f (lo)s(cale,)k(`)p Fs([a-dx-z])p Ft(')31 b(is)i(equiv)-5 -b(alen)m(t)34 b(to)g(`)p Fs([abcdxyz])p Ft('.)630 1418 +b(alen)m(t)34 b(to)g(`)p Fs([abcdxyz])p Ft('.)630 2936 y(Man)m(y)68 b(lo)s(cales)h(sort)f(c)m(haracters)h(in)e(dictionary)i -(order,)76 b(and)67 b(in)g(these)h(lo)s(cales)630 1528 +(order,)76 b(and)67 b(in)g(these)h(lo)s(cales)630 3045 y(`)p Fs([a-dx-z])p Ft(')36 b(is)i(t)m(ypically)i(not)e(equiv)-5 b(alen)m(t)39 b(to)g(`)p Fs([abcdxyz])p Ft(';)g(it)g(migh)m(t)f(b)s(e)f -(equiv)-5 b(alen)m(t)630 1637 y(to)34 b(`)p Fs([aBbCcDdxXyYz])p +(equiv)-5 b(alen)m(t)630 3155 y(to)34 b(`)p Fs([aBbCcDdxXyYz])p Ft(',)c(for)j(example.)49 b(T)-8 b(o)33 b(obtain)h(the)f(traditional)h -(in)m(terpretation)h(of)630 1747 y(ranges)e(in)f(brac)m(k)m(et)i +(in)m(terpretation)h(of)630 3265 y(ranges)e(in)f(brac)m(k)m(et)i (expressions,)g(y)m(ou)f(can)g(force)g(the)g(use)f(of)h(the)g(C)f(lo)s -(cale)i(b)m(y)f(setting)630 1857 y(the)e Fs(LC_COLLATE)c +(cale)i(b)m(y)f(setting)630 3374 y(the)e Fs(LC_COLLATE)c Ft(or)k Fs(LC_ALL)d Ft(en)m(vironmen)m(t)j(v)-5 b(ariable)31 -b(to)g(the)g(v)-5 b(alue)31 b(`)p Fs(C)p Ft('.)630 1990 +b(to)g(the)g(v)-5 b(alue)31 b(`)p Fs(C)p Ft('.)630 3507 y(Within)23 b(`)p Fs([)p Ft(')h(and)e(`)p Fs(])p Ft(',)j Fq(c)m(haracter)g(classes)j Ft(can)c(b)s(e)e(sp)s(eci\014ed)h(using)f (the)i(syn)m(tax)f Fs([:)p Fq(class)t Fs(:])p Ft(,)630 -2099 y(where)30 b Fq(class)35 b Ft(is)30 b(one)h(of)f(the)h(follo)m +3617 y(where)30 b Fq(class)35 b Ft(is)30 b(one)h(of)f(the)h(follo)m (wing)h(classes)f(de\014ned)e(in)h(the)h Fl(posix)f Ft(standard:)870 -2233 y Fs(alnum)142 b(alpha)g(ascii)f(blank)h(cntrl)g(digit)g(graph)g -(lower)870 2342 y(print)g(punct)g(space)f(upper)h(word)190 -b(xdigit)630 2475 y Ft(A)42 b(c)m(haracter)h(class)f(matc)m(hes)h(an)m +3750 y Fs(alnum)142 b(alpha)g(ascii)f(blank)h(cntrl)g(digit)g(graph)g +(lower)870 3860 y(print)g(punct)g(space)f(upper)h(word)190 +b(xdigit)630 3993 y Ft(A)42 b(c)m(haracter)h(class)f(matc)m(hes)h(an)m (y)f(c)m(haracter)h(b)s(elonging)f(to)g(that)g(class.)75 -b(The)41 b Fs(word)630 2585 y Ft(c)m(haracter)32 b(class)f(matc)m(hes)h +b(The)41 b Fs(word)630 4103 y Ft(c)m(haracter)32 b(class)f(matc)m(hes)h (letters,)f(digits,)h(and)d(the)i(c)m(haracter)h(`)p -Fs(_)p Ft('.)630 2718 y(Within)25 b(`)p Fs([)p Ft(')f(and)g(`)p +Fs(_)p Ft('.)630 4236 y(Within)25 b(`)p Fs([)p Ft(')f(and)g(`)p Fs(])p Ft(',)i(an)e Fq(equiv)-5 b(alence)26 b(class)j Ft(can)24 b(b)s(e)g(sp)s(eci\014ed)g(using)g(the)g(syn)m(tax)h -Fs([=)p Fq(c)6 b Fs(=])p Ft(,)630 2828 y(whic)m(h)29 +Fs([=)p Fq(c)6 b Fs(=])p Ft(,)630 4345 y(whic)m(h)29 b(matc)m(hes)i(all)f(c)m(haracters)h(with)e(the)h(same)g(collation)h(w) -m(eigh)m(t)g(\(as)f(de\014ned)e(b)m(y)i(the)630 2937 +m(eigh)m(t)g(\(as)f(de\014ned)e(b)m(y)i(the)630 4455 y(curren)m(t)g(lo)s(cale\))j(as)d(the)h(c)m(haracter)h -Fq(c)6 b Ft(.)630 3070 y(Within)21 b(`)p Fs([)p Ft(')h(and)e(`)p +Fq(c)6 b Ft(.)630 4588 y(Within)21 b(`)p Fs([)p Ft(')h(and)e(`)p Fs(])p Ft(',)j(the)f(syn)m(tax)f Fs([.)p Fq(sym)m(b)s(ol)t Fs(.])f Ft(matc)m(hes)i(the)f(collating)j(sym)m(b)s(ol)c -Fq(sym)m(b)s(ol)t Ft(.)275 3227 y(If)29 b(the)g Fs(extglob)f +Fq(sym)m(b)s(ol)t Ft(.)275 4745 y(If)29 b(the)g Fs(extglob)f Ft(shell)h(option)h(is)g(enabled)f(using)g(the)h Fs(shopt)e -Ft(builtin,)h(sev)m(eral)i(extended)f(pattern)150 3336 +Ft(builtin,)h(sev)m(eral)i(extended)f(pattern)150 4854 y(matc)m(hing)37 b(op)s(erators)e(are)h(recognized.)58 b(In)35 b(the)g(follo)m(wing)i(description,)g(a)f Fq(pattern-list)j -Ft(is)d(a)g(list)g(of)150 3446 y(one)d(or)f(more)h(patterns)f +Ft(is)d(a)g(list)g(of)150 4964 y(one)d(or)f(more)h(patterns)f (separated)h(b)m(y)f(a)h(`)p Fs(|)p Ft('.)47 b(Comp)s(osite)33 b(patterns)f(ma)m(y)i(b)s(e)d(formed)h(using)g(one)h(or)150 -3556 y(more)e(of)f(the)h(follo)m(wing)g(sub-patterns:)150 -3712 y Fs(?\()p Fi(pattern-list)11 b Fs(\))630 3822 y +5074 y(more)e(of)f(the)h(follo)m(wing)g(sub-patterns:)150 +5230 y Fs(?\()p Fi(pattern-list)11 b Fs(\))630 5340 y Ft(Matc)m(hes)32 b(zero)f(or)g(one)f(o)s(ccurrence)h(of)f(the)h(giv)m -(en)g(patterns.)150 3979 y Fs(*\()p Fi(pattern-list)11 -b Fs(\))630 4088 y Ft(Matc)m(hes)32 b(zero)f(or)g(more)f(o)s -(ccurrences)h(of)f(the)h(giv)m(en)g(patterns.)150 4245 -y Fs(+\()p Fi(pattern-list)11 b Fs(\))630 4354 y Ft(Matc)m(hes)32 -b(one)f(or)f(more)h(o)s(ccurrences)f(of)h(the)f(giv)m(en)i(patterns.) -150 4511 y Fs(@\()p Fi(pattern-list)11 b Fs(\))630 4621 -y Ft(Matc)m(hes)32 b(one)f(of)f(the)h(giv)m(en)g(patterns.)150 -4777 y Fs(!\()p Fi(pattern-list)11 b Fs(\))630 4887 y -Ft(Matc)m(hes)32 b(an)m(ything)f(except)g(one)g(of)f(the)h(giv)m(en)g -(patterns.)150 5083 y Fj(3.5.9)63 b(Quote)41 b(Remo)m(v)-7 -b(al)150 5230 y Ft(After)32 b(the)g(preceding)g(expansions,)h(all)f +(en)g(patterns.)p eop end +%%Page: 27 33 +TeXDict begin 27 32 bop 150 -116 a Ft(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(27)150 299 +y Fs(*\()p Fi(pattern-list)11 b Fs(\))630 408 y Ft(Matc)m(hes)32 +b(zero)f(or)g(more)f(o)s(ccurrences)h(of)f(the)h(giv)m(en)g(patterns.) +150 562 y Fs(+\()p Fi(pattern-list)11 b Fs(\))630 671 +y Ft(Matc)m(hes)32 b(one)f(or)f(more)h(o)s(ccurrences)f(of)h(the)f(giv) +m(en)i(patterns.)150 824 y Fs(@\()p Fi(pattern-list)11 +b Fs(\))630 934 y Ft(Matc)m(hes)32 b(one)f(of)f(the)h(giv)m(en)g +(patterns.)150 1087 y Fs(!\()p Fi(pattern-list)11 b Fs(\))630 +1197 y Ft(Matc)m(hes)32 b(an)m(ything)f(except)g(one)g(of)f(the)h(giv)m +(en)g(patterns.)150 1390 y Fj(3.5.9)63 b(Quote)41 b(Remo)m(v)-7 +b(al)150 1537 y Ft(After)32 b(the)g(preceding)g(expansions,)h(all)f (unquoted)f(o)s(ccurrences)h(of)g(the)h(c)m(haracters)g(`)p Fs(\\)p Ft(',)g(`)p Fs(')p Ft(',)f(and)g(`)p Fs(")p Ft(')150 -5340 y(that)f(did)f(not)g(result)g(from)g(one)h(of)g(the)f(ab)s(o)m(v)m -(e)i(expansions)e(are)h(remo)m(v)m(ed.)p eop end -%%Page: 26 32 -TeXDict begin 26 31 bop 150 -116 a Ft(26)2572 b(Bash)31 -b(Reference)g(Man)m(ual)150 299 y Fr(3.6)68 b(Redirections)150 -458 y Ft(Before)43 b(a)f(command)f(is)h(executed,)j(its)d(input)f(and)g -(output)g(ma)m(y)i(b)s(e)e Fq(redirected)k Ft(using)c(a)h(sp)s(ecial) -150 568 y(notation)33 b(in)m(terpreted)g(b)m(y)f(the)g(shell.)46 -b(Redirection)33 b(ma)m(y)g(also)g(b)s(e)f(used)f(to)i(op)s(en)e(and)h -(close)h(\014les)f(for)150 677 y(the)h(curren)m(t)g(shell)g(execution)h -(en)m(vironmen)m(t.)49 b(The)33 b(follo)m(wing)h(redirection)g(op)s -(erators)f(ma)m(y)h(precede)150 787 y(or)29 b(app)s(ear)g(an)m(ywhere)g -(within)g(a)h(simple)f(command)g(or)h(ma)m(y)g(follo)m(w)g(a)g -(command.)40 b(Redirections)31 b(are)150 897 y(pro)s(cessed)f(in)g(the) -g(order)g(they)h(app)s(ear,)f(from)g(left)h(to)g(righ)m(t.)275 -1048 y(Eac)m(h)45 b(redirection)h(that)f(ma)m(y)h(b)s(e)e(preceded)g(b) +1646 y(that)f(did)f(not)g(result)g(from)g(one)h(of)g(the)f(ab)s(o)m(v)m +(e)i(expansions)e(are)h(remo)m(v)m(ed.)150 1872 y Fr(3.6)68 +b(Redirections)150 2032 y Ft(Before)43 b(a)f(command)f(is)h(executed,)j +(its)d(input)f(and)g(output)g(ma)m(y)i(b)s(e)e Fq(redirected)k +Ft(using)c(a)h(sp)s(ecial)150 2141 y(notation)33 b(in)m(terpreted)g(b)m +(y)f(the)g(shell.)46 b(Redirection)33 b(ma)m(y)g(also)g(b)s(e)f(used)f +(to)i(op)s(en)e(and)h(close)h(\014les)f(for)150 2251 +y(the)h(curren)m(t)g(shell)g(execution)h(en)m(vironmen)m(t.)49 +b(The)33 b(follo)m(wing)h(redirection)g(op)s(erators)f(ma)m(y)h +(precede)150 2361 y(or)29 b(app)s(ear)g(an)m(ywhere)g(within)g(a)h +(simple)f(command)g(or)h(ma)m(y)g(follo)m(w)g(a)g(command.)40 +b(Redirections)31 b(are)150 2470 y(pro)s(cessed)f(in)g(the)g(order)g +(they)h(app)s(ear,)f(from)g(left)h(to)g(righ)m(t.)275 +2602 y(Eac)m(h)45 b(redirection)h(that)f(ma)m(y)h(b)s(e)e(preceded)g(b) m(y)h(a)h(\014le)f(descriptor)f(n)m(um)m(b)s(er)g(ma)m(y)h(instead)h(b) -s(e)150 1158 y(preceded)41 b(b)m(y)g(a)g(w)m(ord)g(of)g(the)g(form)g +s(e)150 2711 y(preceded)41 b(b)m(y)g(a)g(w)m(ord)g(of)g(the)g(form)g Fs({)p Fq(v)-5 b(arname)5 b Fs(})p Ft(.)72 b(In)40 b(this)h(case,)k -(for)c(eac)m(h)h(redirection)g(op)s(erator)150 1267 y(except)30 +(for)c(eac)m(h)h(redirection)g(op)s(erator)150 2821 y(except)30 b Fs(>)p Ft(&-)f(and)f Fs(<)p Ft(&-,)h(the)g(shell)g(will)h(allo)s (cate)h(a)e(\014le)h(descriptor)e(greater)j(than)d(10)i(and)e(assign)i -(it)f(to)150 1377 y Fs({)p Fq(v)-5 b(arname)5 b Fs(})p +(it)f(to)150 2930 y Fs({)p Fq(v)-5 b(arname)5 b Fs(})p Ft(.)42 b(If)31 b Fs(>)p Ft(&-)f(or)h Fs(<)p Ft(&-)g(is)g(preceded)g(b) m(y)g Fs({)p Fq(v)-5 b(arname)5 b Fs(})p Ft(,)31 b(the)g(v)-5 b(alue)31 b(of)g Fq(v)-5 b(arname)37 b Ft(de\014nes)30 -b(the)h(\014le)150 1486 y(descriptor)f(to)h(close.)275 -1638 y(In)c(the)i(follo)m(wing)h(descriptions,)g(if)e(the)h(\014le)g +b(the)h(\014le)150 3040 y(descriptor)f(to)h(close.)275 +3171 y(In)c(the)i(follo)m(wing)h(descriptions,)g(if)e(the)h(\014le)g (descriptor)f(n)m(um)m(b)s(er)g(is)g(omitted,)i(and)f(the)f(\014rst)g -(c)m(har-)150 1747 y(acter)42 b(of)f(the)g(redirection)g(op)s(erator)g +(c)m(har-)150 3281 y(acter)42 b(of)f(the)g(redirection)g(op)s(erator)g (is)g(`)p Fs(<)p Ft(',)i(the)e(redirection)g(refers)g(to)g(the)g -(standard)f(input)f(\(\014le)150 1857 y(descriptor)33 +(standard)f(input)f(\(\014le)150 3390 y(descriptor)33 b(0\).)49 b(If)33 b(the)g(\014rst)f(c)m(haracter)i(of)g(the)f (redirection)g(op)s(erator)h(is)f(`)p Fs(>)p Ft(',)h(the)f(redirection) -g(refers)150 1966 y(to)e(the)g(standard)e(output)h(\(\014le)h -(descriptor)f(1\).)275 2118 y(The)h(w)m(ord)h(follo)m(wing)i(the)f +g(refers)150 3500 y(to)e(the)g(standard)e(output)h(\(\014le)h +(descriptor)f(1\).)275 3631 y(The)h(w)m(ord)h(follo)m(wing)i(the)f (redirection)g(op)s(erator)f(in)g(the)h(follo)m(wing)h(descriptions,)f -(unless)e(other-)150 2227 y(wise)21 b(noted,)i(is)e(sub)5 +(unless)e(other-)150 3741 y(wise)21 b(noted,)i(is)e(sub)5 b(jected)21 b(to)h(brace)f(expansion,)i(tilde)f(expansion,)h(parameter) -e(expansion,)i(command)150 2337 y(substitution,)31 b(arithmetic)h +e(expansion,)i(command)150 3851 y(substitution,)31 b(arithmetic)h (expansion,)f(quote)h(remo)m(v)-5 b(al,)33 b(\014lename)e(expansion,)g -(and)f(w)m(ord)h(splitting.)150 2447 y(If)f(it)h(expands)e(to)i(more)g +(and)f(w)m(ord)h(splitting.)150 3960 y(If)f(it)h(expands)e(to)i(more)g (than)f(one)h(w)m(ord,)f(Bash)h(rep)s(orts)e(an)h(error.)275 -2598 y(Note)h(that)g(the)g(order)f(of)g(redirections)h(is)g +4092 y(Note)h(that)g(the)g(order)f(of)g(redirections)h(is)g (signi\014can)m(t.)41 b(F)-8 b(or)31 b(example,)h(the)e(command)390 -2749 y Fs(ls)47 b(>)h Fi(dirlist)56 b Fs(2>&1)150 2901 +4223 y Fs(ls)47 b(>)h Fi(dirlist)56 b Fs(2>&1)150 4354 y Ft(directs)28 b(b)s(oth)f(standard)g(output)g(\(\014le)h(descriptor)f (1\))i(and)e(standard)f(error)i(\(\014le)g(descriptor)f(2\))h(to)h(the) -150 3010 y(\014le)h Fq(dirlist)r Ft(,)h(while)f(the)h(command)390 -3161 y Fs(ls)47 b(2>&1)g(>)g Fi(dirlist)150 3313 y Ft(directs)28 +150 4464 y(\014le)h Fq(dirlist)r Ft(,)h(while)f(the)h(command)390 +4595 y Fs(ls)47 b(2>&1)g(>)g Fi(dirlist)150 4727 y Ft(directs)28 b(only)f(the)g(standard)g(output)g(to)h(\014le)f Fq(dirlist)r Ft(,)h(b)s(ecause)g(the)f(standard)g(error)g(w)m(as)g(made)h(a)f(cop)m -(y)150 3422 y(of)k(the)f(standard)g(output)g(b)s(efore)g(the)g +(y)150 4836 y(of)k(the)f(standard)g(output)g(b)s(efore)g(the)g (standard)g(output)g(w)m(as)g(redirected)h(to)g Fq(dirlist)r -Ft(.)275 3574 y(Bash)26 b(handles)f(sev)m(eral)j(\014lenames)e(sp)s +Ft(.)275 4968 y(Bash)26 b(handles)f(sev)m(eral)j(\014lenames)e(sp)s (ecially)h(when)f(they)g(are)g(used)g(in)g(redirections,)i(as)e -(describ)s(ed)150 3683 y(in)k(the)h(follo)m(wing)g(table:)150 -3868 y Fs(/dev/fd/)p Fi(fd)630 3977 y Ft(If)f Fq(fd)j +(describ)s(ed)150 5077 y(in)k(the)h(follo)m(wing)g(table:)150 +5230 y Fs(/dev/fd/)p Fi(fd)630 5340 y Ft(If)f Fq(fd)j Ft(is)d(a)h(v)-5 b(alid)31 b(in)m(teger,)h(\014le)e(descriptor)h -Fq(fd)i Ft(is)d(duplicated.)150 4154 y Fs(/dev/stdin)630 -4263 y Ft(File)i(descriptor)e(0)h(is)f(duplicated.)150 -4440 y Fs(/dev/stdout)630 4549 y Ft(File)i(descriptor)e(1)h(is)f -(duplicated.)150 4725 y Fs(/dev/stderr)630 4835 y Ft(File)i(descriptor) -e(2)h(is)f(duplicated.)150 5011 y Fs(/dev/tcp/)p Fi(host)11 -b Fs(/)p Fi(port)630 5121 y Ft(If)41 b Fq(host)i Ft(is)f(a)g(v)-5 +Fq(fd)i Ft(is)d(duplicated.)p eop end +%%Page: 28 34 +TeXDict begin 28 33 bop 150 -116 a Ft(28)2572 b(Bash)31 +b(Reference)g(Man)m(ual)150 299 y Fs(/dev/stdin)630 408 +y Ft(File)h(descriptor)e(0)h(is)f(duplicated.)150 563 +y Fs(/dev/stdout)630 672 y Ft(File)i(descriptor)e(1)h(is)f(duplicated.) +150 826 y Fs(/dev/stderr)630 936 y Ft(File)i(descriptor)e(2)h(is)f +(duplicated.)150 1090 y Fs(/dev/tcp/)p Fi(host)11 b Fs(/)p +Fi(port)630 1200 y Ft(If)41 b Fq(host)i Ft(is)f(a)g(v)-5 b(alid)41 b(hostname)h(or)f(In)m(ternet)h(address,)i(and)c -Fq(p)s(ort)j Ft(is)f(an)f(in)m(teger)i(p)s(ort)630 5230 +Fq(p)s(ort)j Ft(is)f(an)f(in)m(teger)i(p)s(ort)630 1309 y(n)m(um)m(b)s(er)h(or)h(service)h(name,)j(Bash)c(attempts)h(to)g(op)s -(en)f(a)g(TCP)g(connection)h(to)g(the)630 5340 y(corresp)s(onding)29 -b(so)s(c)m(k)m(et.)p eop end -%%Page: 27 33 -TeXDict begin 27 32 bop 150 -116 a Ft(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(27)150 299 -y Fs(/dev/udp/)p Fi(host)11 b Fs(/)p Fi(port)630 408 -y Ft(If)41 b Fq(host)i Ft(is)f(a)g(v)-5 b(alid)41 b(hostname)h(or)f(In) -m(ternet)h(address,)i(and)c Fq(p)s(ort)j Ft(is)f(an)f(in)m(teger)i(p)s -(ort)630 518 y(n)m(um)m(b)s(er)g(or)i(service)g(name,)k(Bash)c -(attempts)g(to)h(op)s(en)e(a)h(UDP)g(connection)g(to)h(the)630 -628 y(corresp)s(onding)29 b(so)s(c)m(k)m(et.)275 785 -y(A)h(failure)h(to)g(op)s(en)e(or)i(create)h(a)e(\014le)h(causes)g(the) -f(redirection)h(to)g(fail.)275 918 y(Redirections)f(using)e(\014le)i -(descriptors)f(greater)h(than)f(9)h(should)e(b)s(e)h(used)f(with)h -(care,)h(as)g(they)f(ma)m(y)150 1027 y(con\015ict)i(with)f(\014le)h -(descriptors)f(the)g(shell)h(uses)f(in)m(ternally)-8 -b(.)150 1224 y Fj(3.6.1)63 b(Redirecting)40 b(Input)150 -1371 y Ft(Redirection)35 b(of)f(input)f(causes)i(the)f(\014le)g(whose)g -(name)g(results)g(from)g(the)g(expansion)g(of)g Fq(w)m(ord)k -Ft(to)d(b)s(e)150 1481 y(op)s(ened)d(for)g(reading)g(on)g(\014le)h -(descriptor)f Fs(n)p Ft(,)h(or)f(the)g(standard)g(input)f(\(\014le)i -(descriptor)f(0\))h(if)f Fs(n)g Ft(is)h(not)150 1590 -y(sp)s(eci\014ed.)275 1724 y(The)c(general)j(format)e(for)h -(redirecting)g(input)e(is:)390 1857 y Fs([)p Fi(n)11 -b Fs(]<)p Fi(word)150 2054 y Fj(3.6.2)63 b(Redirecting)40 -b(Output)150 2200 y Ft(Redirection)31 b(of)g(output)f(causes)h(the)f +(en)f(a)g(TCP)g(connection)h(to)g(the)630 1419 y(corresp)s(onding)29 +b(so)s(c)m(k)m(et.)150 1573 y Fs(/dev/udp/)p Fi(host)11 +b Fs(/)p Fi(port)630 1683 y Ft(If)41 b Fq(host)i Ft(is)f(a)g(v)-5 +b(alid)41 b(hostname)h(or)f(In)m(ternet)h(address,)i(and)c +Fq(p)s(ort)j Ft(is)f(an)f(in)m(teger)i(p)s(ort)630 1792 +y(n)m(um)m(b)s(er)g(or)i(service)g(name,)k(Bash)c(attempts)g(to)h(op)s +(en)e(a)h(UDP)g(connection)g(to)h(the)630 1902 y(corresp)s(onding)29 +b(so)s(c)m(k)m(et.)275 2056 y(A)h(failure)h(to)g(op)s(en)e(or)i(create) +h(a)e(\014le)h(causes)g(the)f(redirection)h(to)g(fail.)275 +2188 y(Redirections)f(using)e(\014le)i(descriptors)f(greater)h(than)f +(9)h(should)e(b)s(e)h(used)f(with)h(care,)h(as)g(they)f(ma)m(y)150 +2298 y(con\015ict)i(with)f(\014le)h(descriptors)f(the)g(shell)h(uses)f +(in)m(ternally)-8 b(.)150 2492 y Fj(3.6.1)63 b(Redirecting)40 +b(Input)150 2639 y Ft(Redirection)35 b(of)f(input)f(causes)i(the)f +(\014le)g(whose)g(name)g(results)g(from)g(the)g(expansion)g(of)g +Fq(w)m(ord)k Ft(to)d(b)s(e)150 2748 y(op)s(ened)d(for)g(reading)g(on)g +(\014le)h(descriptor)f Fs(n)p Ft(,)h(or)f(the)g(standard)g(input)f +(\(\014le)i(descriptor)f(0\))h(if)f Fs(n)g Ft(is)h(not)150 +2858 y(sp)s(eci\014ed.)275 2990 y(The)c(general)j(format)e(for)h +(redirecting)g(input)e(is:)390 3122 y Fs([)p Fi(n)11 +b Fs(]<)p Fi(word)150 3316 y Fj(3.6.2)63 b(Redirecting)40 +b(Output)150 3463 y Ft(Redirection)31 b(of)g(output)f(causes)h(the)f (\014le)h(whose)f(name)g(results)h(from)e(the)i(expansion)f(of)h -Fq(w)m(ord)i Ft(to)f(b)s(e)150 2310 y(op)s(ened)d(for)g(writing)g(on)g +Fq(w)m(ord)i Ft(to)f(b)s(e)150 3572 y(op)s(ened)d(for)g(writing)g(on)g (\014le)h(descriptor)f Fq(n)p Ft(,)g(or)g(the)h(standard)e(output)h (\(\014le)h(descriptor)f(1\))h(if)g Fq(n)e Ft(is)i(not)150 -2420 y(sp)s(eci\014ed.)40 b(If)30 b(the)g(\014le)h(do)s(es)f(not)h +3682 y(sp)s(eci\014ed.)40 b(If)30 b(the)g(\014le)h(do)s(es)f(not)h (exist)g(it)g(is)f(created;)i(if)e(it)h(do)s(es)f(exist)h(it)g(is)g -(truncated)f(to)h(zero)g(size.)275 2553 y(The)e(general)j(format)e(for) -h(redirecting)g(output)f(is:)390 2686 y Fs([)p Fi(n)11 -b Fs(]>[|])p Fi(word)275 2819 y Ft(If)30 b(the)h(redirection)g(op)s +(truncated)f(to)h(zero)g(size.)275 3814 y(The)e(general)j(format)e(for) +h(redirecting)g(output)f(is:)390 3946 y Fs([)p Fi(n)11 +b Fs(]>[|])p Fi(word)275 4078 y Ft(If)30 b(the)h(redirection)g(op)s (erator)g(is)g(`)p Fs(>)p Ft(',)g(and)f(the)h Fs(noclobber)d Ft(option)j(to)g(the)g Fs(set)f Ft(builtin)g(has)h(b)s(een)150 -2929 y(enabled,)i(the)f(redirection)h(will)f(fail)h(if)f(the)g(\014le)g +4187 y(enabled,)i(the)f(redirection)h(will)f(fail)h(if)f(the)g(\014le)g (whose)g(name)g(results)g(from)g(the)g(expansion)g(of)g -Fq(w)m(ord)150 3039 y Ft(exists)f(and)f(is)g(a)h(regular)g(\014le.)41 +Fq(w)m(ord)150 4297 y Ft(exists)f(and)f(is)g(a)h(regular)g(\014le.)41 b(If)30 b(the)h(redirection)g(op)s(erator)g(is)f(`)p Fs(>|)p Ft(',)h(or)f(the)h(redirection)g(op)s(erator)g(is)150 -3148 y(`)p Fs(>)p Ft(')36 b(and)f(the)g Fs(noclobber)e +4406 y(`)p Fs(>)p Ft(')36 b(and)f(the)g Fs(noclobber)e Ft(option)j(is)g(not)g(enabled,)h(the)e(redirection)h(is)g(attempted)g -(ev)m(en)h(if)e(the)h(\014le)150 3258 y(named)30 b(b)m(y)g -Fq(w)m(ord)k Ft(exists.)150 3455 y Fj(3.6.3)63 b(App)s(ending)42 -b(Redirected)e(Output)150 3601 y Ft(Redirection)23 b(of)e(output)h(in)f +(ev)m(en)h(if)e(the)h(\014le)150 4516 y(named)30 b(b)m(y)g +Fq(w)m(ord)k Ft(exists.)150 4710 y Fj(3.6.3)63 b(App)s(ending)42 +b(Redirected)e(Output)150 4857 y Ft(Redirection)23 b(of)e(output)h(in)f (this)h(fashion)f(causes)h(the)g(\014le)g(whose)f(name)h(results)f -(from)g(the)h(expansion)g(of)150 3711 y Fq(w)m(ord)28 +(from)g(the)h(expansion)g(of)150 4967 y Fq(w)m(ord)28 b Ft(to)e(b)s(e)e(op)s(ened)g(for)h(app)s(ending)e(on)i(\014le)g (descriptor)g Fq(n)p Ft(,)g(or)g(the)g(standard)f(output)h(\(\014le)g -(descriptor)150 3821 y(1\))31 b(if)f Fq(n)g Ft(is)h(not)f(sp)s +(descriptor)150 5076 y(1\))31 b(if)f Fq(n)g Ft(is)h(not)f(sp)s (eci\014ed.)40 b(If)30 b(the)h(\014le)f(do)s(es)g(not)h(exist)g(it)g -(is)f(created.)275 3954 y(The)f(general)j(format)e(for)h(app)s(ending)e -(output)h(is:)390 4087 y Fs([)p Fi(n)11 b Fs(]>>)p Fi(word)150 -4284 y Fj(3.6.4)63 b(Redirecting)40 b(Standard)h(Output)g(and)g -(Standard)g(Error)150 4431 y Ft(This)33 b(construct)i(allo)m(ws)g(b)s -(oth)f(the)g(standard)g(output)f(\(\014le)i(descriptor)f(1\))h(and)f -(the)g(standard)f(error)150 4540 y(output)d(\(\014le)h(descriptor)f -(2\))h(to)g(b)s(e)f(redirected)h(to)g(the)f(\014le)h(whose)f(name)h(is) -f(the)g(expansion)h(of)f Fq(w)m(ord)t Ft(.)275 4674 y(There)f(are)i(t)m -(w)m(o)h(formats)e(for)h(redirecting)g(standard)e(output)h(and)g -(standard)f(error:)390 4807 y Fs(&>)p Fi(word)150 4940 -y Ft(and)390 5073 y Fs(>&)p Fi(word)150 5207 y Ft(Of)h(the)g(t)m(w)m(o) -i(forms,)e(the)h(\014rst)e(is)i(preferred.)39 b(This)30 -b(is)g(seman)m(tically)j(equiv)-5 b(alen)m(t)32 b(to)390 -5340 y Fs(>)p Fi(word)57 b Fs(2>&1)p eop end -%%Page: 28 34 -TeXDict begin 28 33 bop 150 -116 a Ft(28)2572 b(Bash)31 -b(Reference)g(Man)m(ual)150 299 y Fj(3.6.5)63 b(App)s(ending)42 -b(Standard)f(Output)g(and)g(Standard)g(Error)150 446 -y Ft(This)33 b(construct)i(allo)m(ws)g(b)s(oth)f(the)g(standard)g -(output)f(\(\014le)i(descriptor)f(1\))h(and)f(the)g(standard)f(error) -150 555 y(output)d(\(\014le)h(descriptor)f(2\))h(to)g(b)s(e)f(app)s -(ended)f(to)i(the)f(\014le)h(whose)f(name)g(is)h(the)f(expansion)h(of)f -Fq(w)m(ord)t Ft(.)275 689 y(The)f(format)i(for)f(app)s(ending)f -(standard)h(output)g(and)f(standard)h(error)g(is:)390 -822 y Fs(&>>)p Fi(word)150 955 y Ft(This)g(is)g(seman)m(tically)j -(equiv)-5 b(alen)m(t)32 b(to)390 1089 y Fs(>>)p Fi(word)57 -b Fs(2>&1)150 1286 y Fj(3.6.6)63 b(Here)41 b(Do)s(cumen)m(ts)150 -1432 y Ft(This)c(t)m(yp)s(e)h(of)f(redirection)i(instructs)e(the)h -(shell)f(to)i(read)e(input)g(from)g(the)h(curren)m(t)f(source)h(un)m -(til)g(a)150 1542 y(line)31 b(con)m(taining)g(only)g -Fq(w)m(ord)i Ft(\(with)d(no)h(trailing)g(blanks\))f(is)g(seen.)41 +(is)f(created.)275 5208 y(The)f(general)j(format)e(for)h(app)s(ending)e +(output)h(is:)390 5340 y Fs([)p Fi(n)11 b Fs(]>>)p Fi(word)p +eop end +%%Page: 29 35 +TeXDict begin 29 34 bop 150 -116 a Ft(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(29)150 299 +y Fj(3.6.4)63 b(Redirecting)40 b(Standard)h(Output)g(and)g(Standard)g +(Error)150 446 y Ft(This)33 b(construct)i(allo)m(ws)g(b)s(oth)f(the)g +(standard)g(output)f(\(\014le)i(descriptor)f(1\))h(and)f(the)g +(standard)f(error)150 555 y(output)d(\(\014le)h(descriptor)f(2\))h(to)g +(b)s(e)f(redirected)h(to)g(the)f(\014le)h(whose)f(name)h(is)f(the)g +(expansion)h(of)f Fq(w)m(ord)t Ft(.)275 705 y(There)f(are)i(t)m(w)m(o)h +(formats)e(for)h(redirecting)g(standard)e(output)h(and)g(standard)f +(error:)390 854 y Fs(&>)p Fi(word)150 1003 y Ft(and)390 +1152 y Fs(>&)p Fi(word)150 1301 y Ft(Of)h(the)g(t)m(w)m(o)i(forms,)e +(the)h(\014rst)e(is)i(preferred.)39 b(This)30 b(is)g(seman)m(tically)j +(equiv)-5 b(alen)m(t)32 b(to)390 1450 y Fs(>)p Fi(word)57 +b Fs(2>&1)150 1664 y Fj(3.6.5)63 b(App)s(ending)42 b(Standard)f(Output) +g(and)g(Standard)g(Error)150 1811 y Ft(This)33 b(construct)i(allo)m(ws) +g(b)s(oth)f(the)g(standard)g(output)f(\(\014le)i(descriptor)f(1\))h +(and)f(the)g(standard)f(error)150 1921 y(output)d(\(\014le)h +(descriptor)f(2\))h(to)g(b)s(e)f(app)s(ended)f(to)i(the)f(\014le)h +(whose)f(name)g(is)h(the)f(expansion)h(of)f Fq(w)m(ord)t +Ft(.)275 2070 y(The)f(format)i(for)f(app)s(ending)f(standard)h(output)g +(and)f(standard)h(error)g(is:)390 2219 y Fs(&>>)p Fi(word)150 +2368 y Ft(This)g(is)g(seman)m(tically)j(equiv)-5 b(alen)m(t)32 +b(to)390 2518 y Fs(>>)p Fi(word)57 b Fs(2>&1)150 2732 +y Fj(3.6.6)63 b(Here)41 b(Do)s(cumen)m(ts)150 2879 y +Ft(This)c(t)m(yp)s(e)h(of)f(redirection)i(instructs)e(the)h(shell)f(to) +i(read)e(input)g(from)g(the)h(curren)m(t)f(source)h(un)m(til)g(a)150 +2988 y(line)31 b(con)m(taining)g(only)g Fq(w)m(ord)i +Ft(\(with)d(no)h(trailing)g(blanks\))f(is)g(seen.)41 b(All)31 b(of)f(the)h(lines)f(read)g(up)f(to)i(that)150 -1652 y(p)s(oin)m(t)f(are)h(then)f(used)g(as)g(the)h(standard)f(input)f -(for)h(a)h(command.)275 1785 y(The)e(format)i(of)g(here-do)s(cumen)m -(ts)f(is:)390 1918 y Fs(<<[)p Fp(\000)p Fs(])p Fi(word)772 -2028 y(here-document)390 2137 y(delimiter)275 2271 y +3098 y(p)s(oin)m(t)f(are)h(then)f(used)g(as)g(the)h(standard)f(input)f +(for)h(a)h(command.)275 3247 y(The)e(format)i(of)g(here-do)s(cumen)m +(ts)f(is:)390 3396 y Fs(<<[)p Fp(\000)p Fs(])p Fi(word)772 +3506 y(here-document)390 3615 y(delimiter)275 3764 y Ft(No)j(parameter)h(expansion,)g(command)f(substitution,)h(arithmetic)h -(expansion,)f(or)f(\014lename)g(ex-)150 2380 y(pansion)h(is)h(p)s +(expansion,)f(or)f(\014lename)g(ex-)150 3874 y(pansion)h(is)h(p)s (erformed)f(on)g Fq(w)m(ord)t Ft(.)54 b(If)34 b(an)m(y)h(c)m(haracters) i(in)d Fq(w)m(ord)k Ft(are)d(quoted,)i(the)e Fq(delimiter)42 -b Ft(is)35 b(the)150 2490 y(result)40 b(of)g(quote)h(remo)m(v)-5 +b Ft(is)35 b(the)150 3984 y(result)40 b(of)g(quote)h(remo)m(v)-5 b(al)42 b(on)e Fq(w)m(ord)t Ft(,)i(and)d(the)i(lines)f(in)g(the)g -(here-do)s(cumen)m(t)h(are)f(not)g(expanded.)150 2600 +(here-do)s(cumen)m(t)h(are)f(not)g(expanded.)150 4093 y(If)32 b Fq(w)m(ord)k Ft(is)d(unquoted,)f(all)i(lines)f(of)f(the)h (here-do)s(cumen)m(t)g(are)g(sub)5 b(jected)32 b(to)i(parameter)f -(expansion,)150 2709 y(command)25 b(substitution,)g(and)g(arithmetic)h +(expansion,)150 4203 y(command)25 b(substitution,)g(and)g(arithmetic)h (expansion.)39 b(In)24 b(the)h(latter)h(case,)h(the)e(c)m(haracter)i -(sequence)150 2819 y Fs(\\newline)h Ft(is)j(ignored,)f(and)g(`)p +(sequence)150 4312 y Fs(\\newline)h Ft(is)j(ignored,)f(and)g(`)p Fs(\\)p Ft(')h(m)m(ust)f(b)s(e)g(used)f(to)i(quote)g(the)g(c)m (haracters)h(`)p Fs(\\)p Ft(',)e(`)p Fs($)p Ft(',)h(and)f(`)p -Fs(`)p Ft('.)275 2952 y(If)21 b(the)i(redirection)g(op)s(erator)g(is)f +Fs(`)p Ft('.)275 4462 y(If)21 b(the)i(redirection)g(op)s(erator)g(is)f (`)p Fs(<<-)p Ft(',)i(then)e(all)h(leading)g(tab)g(c)m(haracters)h(are) -e(stripp)s(ed)f(from)h(input)150 3062 y(lines)33 b(and)e(the)i(line)g +e(stripp)s(ed)f(from)h(input)150 4571 y(lines)33 b(and)e(the)i(line)g (con)m(taining)h Fq(delimiter)7 b Ft(.)47 b(This)31 b(allo)m(ws)j (here-do)s(cumen)m(ts)f(within)e(shell)i(scripts)f(to)150 -3171 y(b)s(e)e(inden)m(ted)g(in)g(a)h(natural)f(fashion.)150 -3368 y Fj(3.6.7)63 b(Here)41 b(Strings)150 3515 y Ft(A)30 +4681 y(b)s(e)e(inden)m(ted)g(in)g(a)h(natural)f(fashion.)150 +4895 y Fj(3.6.7)63 b(Here)41 b(Strings)150 5042 y Ft(A)30 b(v)-5 b(arian)m(t)32 b(of)e(here)h(do)s(cumen)m(ts,)f(the)g(format)h -(is:)390 3648 y Fs(<<<)47 b Fi(word)275 3782 y Ft(The)29 +(is:)390 5191 y Fs(<<<)47 b Fi(word)275 5340 y Ft(The)29 b Fq(w)m(ord)34 b Ft(is)c(expanded)g(and)g(supplied)f(to)i(the)f -(command)h(on)f(its)h(standard)e(input.)150 3979 y Fj(3.6.8)63 -b(Duplicating)41 b(File)g(Descriptors)150 4125 y Ft(The)30 -b(redirection)h(op)s(erator)390 4259 y Fs([)p Fi(n)11 -b Fs(]<&)p Fi(word)150 4392 y Ft(is)35 b(used)e(to)j(duplicate)f(input) -f(\014le)g(descriptors.)53 b(If)34 b Fq(w)m(ord)k Ft(expands)c(to)h -(one)g(or)g(more)g(digits,)h(the)f(\014le)150 4502 y(descriptor)e -(denoted)h(b)m(y)g Fq(n)f Ft(is)g(made)h(to)g(b)s(e)f(a)h(cop)m(y)g(of) -g(that)g(\014le)g(descriptor.)50 b(If)33 b(the)h(digits)g(in)f -Fq(w)m(ord)150 4611 y Ft(do)c(not)h(sp)s(ecify)f(a)h(\014le)f -(descriptor)g(op)s(en)g(for)g(input,)g(a)h(redirection)g(error)f(o)s -(ccurs.)40 b(If)29 b Fq(w)m(ord)j Ft(ev)-5 b(aluates)150 -4721 y(to)31 b(`)p Fs(-)p Ft(',)g(\014le)g(descriptor)g -Fq(n)f Ft(is)g(closed.)43 b(If)30 b Fq(n)g Ft(is)g(not)h(sp)s -(eci\014ed,)f(the)h(standard)f(input)g(\(\014le)h(descriptor)f(0\))150 -4830 y(is)g(used.)275 4964 y(The)f(op)s(erator)390 5097 -y Fs([)p Fi(n)11 b Fs(]>&)p Fi(word)150 5230 y Ft(is)40 -b(used)g(similarly)h(to)g(duplicate)f(output)g(\014le)h(descriptors.)70 -b(If)40 b Fq(n)f Ft(is)i(not)f(sp)s(eci\014ed,)i(the)f(standard)150 -5340 y(output)30 b(\(\014le)g(descriptor)g(1\))h(is)f(used.)39 +(command)h(on)f(its)h(standard)e(input.)p eop end +%%Page: 30 36 +TeXDict begin 30 35 bop 150 -116 a Ft(30)2572 b(Bash)31 +b(Reference)g(Man)m(ual)150 299 y Fj(3.6.8)63 b(Duplicating)41 +b(File)g(Descriptors)150 446 y Ft(The)30 b(redirection)h(op)s(erator) +390 585 y Fs([)p Fi(n)11 b Fs(]<&)p Fi(word)150 723 y +Ft(is)35 b(used)e(to)j(duplicate)f(input)f(\014le)g(descriptors.)53 +b(If)34 b Fq(w)m(ord)k Ft(expands)c(to)h(one)g(or)g(more)g(digits,)h +(the)f(\014le)150 833 y(descriptor)e(denoted)h(b)m(y)g +Fq(n)f Ft(is)g(made)h(to)g(b)s(e)f(a)h(cop)m(y)g(of)g(that)g(\014le)g +(descriptor.)50 b(If)33 b(the)h(digits)g(in)f Fq(w)m(ord)150 +942 y Ft(do)c(not)h(sp)s(ecify)f(a)h(\014le)f(descriptor)g(op)s(en)g +(for)g(input,)g(a)h(redirection)g(error)f(o)s(ccurs.)40 +b(If)29 b Fq(w)m(ord)j Ft(ev)-5 b(aluates)150 1052 y(to)31 +b(`)p Fs(-)p Ft(',)g(\014le)g(descriptor)g Fq(n)f Ft(is)g(closed.)43 +b(If)30 b Fq(n)g Ft(is)g(not)h(sp)s(eci\014ed,)f(the)h(standard)f +(input)g(\(\014le)h(descriptor)f(0\))150 1162 y(is)g(used.)275 +1300 y(The)f(op)s(erator)390 1439 y Fs([)p Fi(n)11 b +Fs(]>&)p Fi(word)150 1578 y Ft(is)40 b(used)g(similarly)h(to)g +(duplicate)f(output)g(\014le)h(descriptors.)70 b(If)40 +b Fq(n)f Ft(is)i(not)f(sp)s(eci\014ed,)i(the)f(standard)150 +1687 y(output)30 b(\(\014le)g(descriptor)g(1\))h(is)f(used.)39 b(If)30 b(the)g(digits)h(in)e Fq(w)m(ord)34 b Ft(do)29 -b(not)i(sp)s(ecify)e(a)i(\014le)f(descriptor)g(op)s(en)p -eop end -%%Page: 29 35 -TeXDict begin 29 34 bop 150 -116 a Ft(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(29)150 299 -y(for)38 b(output,)i(a)e(redirection)h(error)f(o)s(ccurs.)63 +b(not)i(sp)s(ecify)e(a)i(\014le)f(descriptor)g(op)s(en)150 +1797 y(for)38 b(output,)i(a)e(redirection)h(error)f(o)s(ccurs.)63 b(As)38 b(a)h(sp)s(ecial)f(case,)k(if)c Fq(n)f Ft(is)h(omitted,)k(and) -37 b Fq(w)m(ord)k Ft(do)s(es)150 408 y(not)28 b(expand)f(to)i(one)f(or) -f(more)h(digits,)i(the)e(standard)e(output)i(and)f(standard)g(error)g -(are)i(redirected)f(as)150 518 y(describ)s(ed)h(previously)-8 -b(.)150 717 y Fj(3.6.9)63 b(Mo)m(ving)41 b(File)h(Descriptors)150 -864 y Ft(The)30 b(redirection)h(op)s(erator)390 999 y -Fs([)p Fi(n)11 b Fs(]<&)p Fi(digit)g Fs(-)150 1133 y -Ft(mo)m(v)m(es)33 b(the)f(\014le)g(descriptor)f Fq(digit)k +37 b Fq(w)m(ord)k Ft(do)s(es)150 1906 y(not)28 b(expand)f(to)i(one)f +(or)f(more)h(digits,)i(the)e(standard)e(output)i(and)f(standard)g +(error)g(are)i(redirected)f(as)150 2016 y(describ)s(ed)h(previously)-8 +b(.)150 2219 y Fj(3.6.9)63 b(Mo)m(ving)41 b(File)h(Descriptors)150 +2366 y Ft(The)30 b(redirection)h(op)s(erator)390 2505 +y Fs([)p Fi(n)11 b Fs(]<&)p Fi(digit)g Fs(-)150 2644 +y Ft(mo)m(v)m(es)33 b(the)f(\014le)g(descriptor)f Fq(digit)k Ft(to)d(\014le)g(descriptor)g Fq(n)p Ft(,)f(or)h(the)g(standard)f -(input)f(\(\014le)j(descriptor)e(0\))150 1243 y(if)f +(input)f(\(\014le)j(descriptor)e(0\))150 2753 y(if)f Fq(n)g Ft(is)h(not)f(sp)s(eci\014ed.)40 b Fq(digit)33 b Ft(is)e(closed)g(after)g(b)s(eing)f(duplicated)g(to)h -Fq(n)p Ft(.)275 1377 y(Similarly)-8 b(,)31 b(the)f(redirection)h(op)s -(erator)390 1512 y Fs([)p Fi(n)11 b Fs(]>&)p Fi(digit)g -Fs(-)150 1646 y Ft(mo)m(v)m(es)29 b(the)g(\014le)f(descriptor)f +Fq(n)p Ft(.)275 2892 y(Similarly)-8 b(,)31 b(the)f(redirection)h(op)s +(erator)390 3031 y Fs([)p Fi(n)11 b Fs(]>&)p Fi(digit)g +Fs(-)150 3169 y Ft(mo)m(v)m(es)29 b(the)g(\014le)f(descriptor)f Fq(digit)k Ft(to)e(\014le)f(descriptor)g Fq(n)p Ft(,)g(or)g(the)g (standard)f(output)h(\(\014le)g(descriptor)g(1\))150 -1756 y(if)i Fq(n)g Ft(is)h(not)f(sp)s(eci\014ed.)150 -1955 y Fj(3.6.10)63 b(Op)s(ening)42 b(File)g(Descriptors)g(for)g -(Reading)e(and)h(W)-10 b(riting)150 2102 y Ft(The)30 -b(redirection)h(op)s(erator)390 2236 y Fs([)p Fi(n)11 -b Fs(]<>)p Fi(word)150 2371 y Ft(causes)39 b(the)g(\014le)g(whose)g +3279 y(if)i Fq(n)g Ft(is)h(not)f(sp)s(eci\014ed.)150 +3483 y Fj(3.6.10)63 b(Op)s(ening)42 b(File)g(Descriptors)g(for)g +(Reading)e(and)h(W)-10 b(riting)150 3629 y Ft(The)30 +b(redirection)h(op)s(erator)390 3768 y Fs([)p Fi(n)11 +b Fs(]<>)p Fi(word)150 3907 y Ft(causes)39 b(the)g(\014le)g(whose)g (name)g(is)g(the)g(expansion)g(of)g Fq(w)m(ord)j Ft(to)d(b)s(e)g(op)s -(ened)f(for)g(b)s(oth)h(reading)g(and)150 2480 y(writing)33 +(ened)f(for)g(b)s(oth)h(reading)g(and)150 4016 y(writing)33 b(on)f(\014le)h(descriptor)f Fq(n)p Ft(,)h(or)g(on)f(\014le)h (descriptor)g(0)g(if)f Fq(n)g Ft(is)h(not)g(sp)s(eci\014ed.)47 -b(If)32 b(the)h(\014le)f(do)s(es)h(not)150 2590 y(exist,)e(it)g(is)g -(created.)150 2822 y Fr(3.7)68 b(Executing)46 b(Commands)150 -3046 y Fj(3.7.1)63 b(Simple)41 b(Command)h(Expansion)150 -3193 y Ft(When)33 b(a)g(simple)g(command)g(is)g(executed,)h(the)g +b(If)32 b(the)h(\014le)f(do)s(es)h(not)150 4126 y(exist,)e(it)g(is)g +(created.)150 4365 y Fr(3.7)68 b(Executing)46 b(Commands)150 +4589 y Fj(3.7.1)63 b(Simple)41 b(Command)h(Expansion)150 +4736 y Ft(When)33 b(a)g(simple)g(command)g(is)g(executed,)h(the)g (shell)f(p)s(erforms)e(the)i(follo)m(wing)i(expansions,)e(assign-)150 -3303 y(men)m(ts,)e(and)f(redirections,)h(from)f(left)h(to)g(righ)m(t.) -199 3437 y(1.)61 b(The)38 b(w)m(ords)f(that)i(the)g(parser)e(has)h +4846 y(men)m(ts,)e(and)f(redirections,)h(from)f(left)h(to)g(righ)m(t.) +199 4984 y(1.)61 b(The)38 b(w)m(ords)f(that)i(the)g(parser)e(has)h (mark)m(ed)g(as)h(v)-5 b(ariable)39 b(assignmen)m(ts)g(\(those)g -(preceding)f(the)330 3547 y(command)30 b(name\))h(and)f(redirections)h +(preceding)f(the)330 5094 y(command)30 b(name\))h(and)f(redirections)h (are)f(sa)m(v)m(ed)i(for)e(later)h(pro)s(cessing.)199 -3681 y(2.)61 b(The)39 b(w)m(ords)g(that)i(are)f(not)g(v)-5 +5230 y(2.)61 b(The)39 b(w)m(ords)g(that)i(are)f(not)g(v)-5 b(ariable)40 b(assignmen)m(ts)h(or)e(redirections)i(are)f(expanded)f -(\(see)h(Sec-)330 3791 y(tion)d(3.5)i([Shell)e(Expansions],)h(page)g -(17\).)61 b(If)37 b(an)m(y)g(w)m(ords)f(remain)h(after)h(expansion,)h -(the)e(\014rst)330 3901 y(w)m(ord)31 b(is)g(tak)m(en)h(to)g(b)s(e)f -(the)g(name)h(of)f(the)h(command)f(and)f(the)i(remaining)f(w)m(ords)g -(are)g(the)h(argu-)330 4010 y(men)m(ts.)199 4145 y(3.)61 -b(Redirections)25 b(are)f(p)s(erformed)f(as)h(describ)s(ed)f(ab)s(o)m -(v)m(e)i(\(see)g(Section)g(3.6)g([Redirections],)i(page)d(26\).)199 -4279 y(4.)61 b(The)25 b(text)h(after)f(the)g(`)p Fs(=)p -Ft(')h(in)e(eac)m(h)j(v)-5 b(ariable)25 b(assignmen)m(t)h(undergo)s(es) -e(tilde)i(expansion,)g(parameter)330 4389 y(expansion,)49 -b(command)d(substitution,)j(arithmetic)d(expansion,)k(and)45 -b(quote)h(remo)m(v)-5 b(al)46 b(b)s(efore)330 4498 y(b)s(eing)30 -b(assigned)h(to)g(the)f(v)-5 b(ariable.)275 4658 y(If)32 -b(no)i(command)f(name)g(results,)h(the)g(v)-5 b(ariable)34 -b(assignmen)m(ts)g(a\013ect)h(the)f(curren)m(t)f(shell)h(en)m(viron-) -150 4767 y(men)m(t.)39 b(Otherwise,)27 b(the)e(v)-5 b(ariables)26 -b(are)g(added)f(to)h(the)f(en)m(vironmen)m(t)h(of)g(the)f(executed)h -(command)g(and)150 4877 y(do)35 b(not)f(a\013ect)j(the)d(curren)m(t)h -(shell)g(en)m(vironmen)m(t.)54 b(If)34 b(an)m(y)h(of)g(the)f(assignmen) -m(ts)i(attempts)f(to)h(assign)150 4986 y(a)j(v)-5 b(alue)39 -b(to)g(a)g(readonly)f(v)-5 b(ariable,)42 b(an)c(error)g(o)s(ccurs,)j -(and)c(the)i(command)f(exits)h(with)g(a)f(non-zero)150 -5096 y(status.)275 5230 y(If)33 b(no)g(command)g(name)h(results,)g -(redirections)g(are)g(p)s(erformed,)f(but)g(do)h(not)f(a\013ect)i(the)f -(curren)m(t)150 5340 y(shell)d(en)m(vironmen)m(t.)41 -b(A)30 b(redirection)h(error)f(causes)h(the)g(command)f(to)h(exit)g -(with)f(a)h(non-zero)g(status.)p eop end -%%Page: 30 36 -TeXDict begin 30 35 bop 150 -116 a Ft(30)2572 b(Bash)31 -b(Reference)g(Man)m(ual)275 299 y(If)26 b(there)i(is)f(a)h(command)f -(name)h(left)g(after)g(expansion,)g(execution)h(pro)s(ceeds)e(as)g -(describ)s(ed)f(b)s(elo)m(w.)150 408 y(Otherwise,)39 -b(the)e(command)g(exits.)62 b(If)37 b(one)g(of)g(the)h(expansions)f -(con)m(tained)h(a)g(command)f(substitu-)150 518 y(tion,)i(the)d(exit)h -(status)g(of)f(the)h(command)f(is)h(the)f(exit)h(status)g(of)f(the)h -(last)g(command)f(substitution)150 628 y(p)s(erformed.)55 -b(If)35 b(there)g(w)m(ere)h(no)g(command)f(substitutions,)i(the)e -(command)h(exits)g(with)f(a)h(status)g(of)150 737 y(zero.)150 -925 y Fj(3.7.2)63 b(Command)41 b(Searc)m(h)f(and)h(Execution)150 -1071 y Ft(After)i(a)h(command)f(has)g(b)s(een)f(split)h(in)m(to)h(w)m -(ords,)j(if)c(it)g(results)g(in)g(a)h(simple)f(command)g(and)f(an)150 -1181 y(optional)32 b(list)f(of)f(argumen)m(ts,)h(the)g(follo)m(wing)g -(actions)h(are)f(tak)m(en.)199 1310 y(1.)61 b(If)24 b(the)g(command)g -(name)g(con)m(tains)i(no)e(slashes,)i(the)e(shell)h(attempts)g(to)g(lo) -s(cate)h(it.)39 b(If)24 b(there)g(exists)330 1419 y(a)h(shell)g -(function)f(b)m(y)g(that)h(name,)h(that)f(function)f(is)h(in)m(v)m(ok)m -(ed)h(as)e(describ)s(ed)g(in)g(Section)h(3.3)h([Shell)330 -1529 y(F)-8 b(unctions],)31 b(page)h(14.)199 1657 y(2.)61 -b(If)41 b(the)g(name)h(do)s(es)f(not)g(matc)m(h)i(a)e(function,)j(the)e -(shell)f(searc)m(hes)i(for)e(it)h(in)f(the)g(list)h(of)g(shell)330 -1767 y(builtins.)e(If)30 b(a)h(matc)m(h)g(is)f(found,)g(that)h(builtin) -f(is)g(in)m(v)m(ok)m(ed.)199 1895 y(3.)61 b(If)40 b(the)g(name)h(is)f -(neither)h(a)f(shell)h(function)f(nor)g(a)g(builtin,)j(and)d(con)m -(tains)h(no)g(slashes,)i(Bash)330 2005 y(searc)m(hes)c(eac)m(h)g -(elemen)m(t)g(of)g Fs($PATH)d Ft(for)i(a)g(directory)h(con)m(taining)g -(an)f(executable)h(\014le)f(b)m(y)g(that)330 2115 y(name.)56 -b(Bash)36 b(uses)f(a)h(hash)e(table)j(to)f(remem)m(b)s(er)f(the)h(full) -f(pathnames)g(of)h(executable)h(\014les)e(to)330 2224 -y(a)m(v)m(oid)e(m)m(ultiple)f Fs(PATH)f Ft(searc)m(hes)i(\(see)f(the)g -(description)g(of)f Fs(hash)g Ft(in)g(Section)i(4.1)f([Bourne)g(Shell) -330 2334 y(Builtins],)37 b(page)f(35\).)55 b(A)35 b(full)g(searc)m(h)g -(of)g(the)g(directories)h(in)f Fs($PATH)e Ft(is)i(p)s(erformed)f(only)h -(if)g(the)330 2443 y(command)24 b(is)h(not)g(found)e(in)i(the)g(hash)f -(table.)39 b(If)25 b(the)f(searc)m(h)i(is)e(unsuccessful,)h(the)g -(shell)g(searc)m(hes)330 2553 y(for)e(a)h(de\014ned)e(shell)h(function) -h(named)e Fs(command_not_found_handle)p Ft(.)32 b(If)23 -b(that)h(function)f(exists,)330 2663 y(it)32 b(is)f(in)m(v)m(ok)m(ed)i -(with)e(the)h(original)g(command)f(and)g(the)h(original)g(command's)f -(argumen)m(ts)h(as)g(its)330 2772 y(argumen)m(ts,)h(and)e(the)i -(function's)e(exit)i(status)g(b)s(ecomes)f(the)g(exit)h(status)f(of)h -(the)f(shell.)46 b(If)31 b(that)330 2882 y(function)g(is)g(not)g -(de\014ned,)f(the)i(shell)f(prin)m(ts)f(an)h(error)g(message)h(and)f -(returns)e(an)i(exit)h(status)g(of)330 2991 y(127.)199 -3120 y(4.)61 b(If)33 b(the)g(searc)m(h)h(is)g(successful,)g(or)f(if)g -(the)h(command)f(name)g(con)m(tains)i(one)f(or)f(more)g(slashes,)i(the) -330 3229 y(shell)g(executes)h(the)f(named)f(program)g(in)h(a)g -(separate)h(execution)f(en)m(vironmen)m(t.)55 b(Argumen)m(t)35 -b(0)330 3339 y(is)30 b(set)h(to)h(the)e(name)h(giv)m(en,)g(and)f(the)h +(\(see)h(Sec-)330 5340 y(tion)d(3.5)i([Shell)e(Expansions],)h(page)g +(18\).)61 b(If)37 b(an)m(y)g(w)m(ords)f(remain)h(after)h(expansion,)h +(the)e(\014rst)p eop end +%%Page: 31 37 +TeXDict begin 31 36 bop 150 -116 a Ft(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(31)330 299 +y(w)m(ord)31 b(is)g(tak)m(en)h(to)g(b)s(e)f(the)g(name)h(of)f(the)h +(command)f(and)f(the)i(remaining)f(w)m(ords)g(are)g(the)h(argu-)330 +408 y(men)m(ts.)199 537 y(3.)61 b(Redirections)25 b(are)f(p)s(erformed) +f(as)h(describ)s(ed)f(ab)s(o)m(v)m(e)i(\(see)g(Section)g(3.6)g +([Redirections],)i(page)d(27\).)199 666 y(4.)61 b(The)25 +b(text)h(after)f(the)g(`)p Fs(=)p Ft(')h(in)e(eac)m(h)j(v)-5 +b(ariable)25 b(assignmen)m(t)h(undergo)s(es)e(tilde)i(expansion,)g +(parameter)330 776 y(expansion,)49 b(command)d(substitution,)j +(arithmetic)d(expansion,)k(and)45 b(quote)h(remo)m(v)-5 +b(al)46 b(b)s(efore)330 886 y(b)s(eing)30 b(assigned)h(to)g(the)f(v)-5 +b(ariable.)275 1034 y(If)32 b(no)i(command)f(name)g(results,)h(the)g(v) +-5 b(ariable)34 b(assignmen)m(ts)g(a\013ect)h(the)f(curren)m(t)f(shell) +h(en)m(viron-)150 1143 y(men)m(t.)39 b(Otherwise,)27 +b(the)e(v)-5 b(ariables)26 b(are)g(added)f(to)h(the)f(en)m(vironmen)m +(t)h(of)g(the)f(executed)h(command)g(and)150 1253 y(do)35 +b(not)f(a\013ect)j(the)d(curren)m(t)h(shell)g(en)m(vironmen)m(t.)54 +b(If)34 b(an)m(y)h(of)g(the)f(assignmen)m(ts)i(attempts)f(to)h(assign) +150 1363 y(a)j(v)-5 b(alue)39 b(to)g(a)g(readonly)f(v)-5 +b(ariable,)42 b(an)c(error)g(o)s(ccurs,)j(and)c(the)i(command)f(exits)h +(with)g(a)f(non-zero)150 1472 y(status.)275 1601 y(If)33 +b(no)g(command)g(name)h(results,)g(redirections)g(are)g(p)s(erformed,)f +(but)g(do)h(not)f(a\013ect)i(the)f(curren)m(t)150 1711 +y(shell)d(en)m(vironmen)m(t.)41 b(A)30 b(redirection)h(error)f(causes)h +(the)g(command)f(to)h(exit)g(with)f(a)h(non-zero)g(status.)275 +1840 y(If)26 b(there)i(is)f(a)h(command)f(name)h(left)g(after)g +(expansion,)g(execution)h(pro)s(ceeds)e(as)g(describ)s(ed)f(b)s(elo)m +(w.)150 1949 y(Otherwise,)39 b(the)e(command)g(exits.)62 +b(If)37 b(one)g(of)g(the)h(expansions)f(con)m(tained)h(a)g(command)f +(substitu-)150 2059 y(tion,)i(the)d(exit)h(status)g(of)f(the)h(command) +f(is)h(the)f(exit)h(status)g(of)f(the)h(last)g(command)f(substitution) +150 2168 y(p)s(erformed.)55 b(If)35 b(there)g(w)m(ere)h(no)g(command)f +(substitutions,)i(the)e(command)h(exits)g(with)f(a)h(status)g(of)150 +2278 y(zero.)150 2466 y Fj(3.7.2)63 b(Command)41 b(Searc)m(h)f(and)h +(Execution)150 2613 y Ft(After)i(a)h(command)f(has)g(b)s(een)f(split)h +(in)m(to)h(w)m(ords,)j(if)c(it)g(results)g(in)g(a)h(simple)f(command)g +(and)f(an)150 2723 y(optional)32 b(list)f(of)f(argumen)m(ts,)h(the)g +(follo)m(wing)g(actions)h(are)f(tak)m(en.)199 2852 y(1.)61 +b(If)24 b(the)g(command)g(name)g(con)m(tains)i(no)e(slashes,)i(the)e +(shell)h(attempts)g(to)g(lo)s(cate)h(it.)39 b(If)24 b(there)g(exists) +330 2961 y(a)h(shell)g(function)f(b)m(y)g(that)h(name,)h(that)f +(function)f(is)h(in)m(v)m(ok)m(ed)h(as)e(describ)s(ed)g(in)g(Section)h +(3.3)h([Shell)330 3071 y(F)-8 b(unctions],)31 b(page)h(15.)199 +3200 y(2.)61 b(If)41 b(the)g(name)h(do)s(es)f(not)g(matc)m(h)i(a)e +(function,)j(the)e(shell)f(searc)m(hes)i(for)e(it)h(in)f(the)g(list)h +(of)g(shell)330 3309 y(builtins.)e(If)30 b(a)h(matc)m(h)g(is)f(found,)g +(that)h(builtin)f(is)g(in)m(v)m(ok)m(ed.)199 3438 y(3.)61 +b(If)40 b(the)g(name)h(is)f(neither)h(a)f(shell)h(function)f(nor)g(a)g +(builtin,)j(and)d(con)m(tains)h(no)g(slashes,)i(Bash)330 +3548 y(searc)m(hes)c(eac)m(h)g(elemen)m(t)g(of)g Fs($PATH)d +Ft(for)i(a)g(directory)h(con)m(taining)g(an)f(executable)h(\014le)f(b)m +(y)g(that)330 3657 y(name.)56 b(Bash)36 b(uses)f(a)h(hash)e(table)j(to) +f(remem)m(b)s(er)f(the)h(full)f(pathnames)g(of)h(executable)h(\014les)e +(to)330 3767 y(a)m(v)m(oid)e(m)m(ultiple)f Fs(PATH)f +Ft(searc)m(hes)i(\(see)f(the)g(description)g(of)f Fs(hash)g +Ft(in)g(Section)i(4.1)f([Bourne)g(Shell)330 3877 y(Builtins],)37 +b(page)f(37\).)55 b(A)35 b(full)g(searc)m(h)g(of)g(the)g(directories)h +(in)f Fs($PATH)e Ft(is)i(p)s(erformed)f(only)h(if)g(the)330 +3986 y(command)24 b(is)h(not)g(found)e(in)i(the)g(hash)f(table.)39 +b(If)25 b(the)f(searc)m(h)i(is)e(unsuccessful,)h(the)g(shell)g(searc)m +(hes)330 4096 y(for)e(a)h(de\014ned)e(shell)h(function)h(named)e +Fs(command_not_found_handle)p Ft(.)32 b(If)23 b(that)h(function)f +(exists,)330 4205 y(it)32 b(is)f(in)m(v)m(ok)m(ed)i(with)e(the)h +(original)g(command)f(and)g(the)h(original)g(command's)f(argumen)m(ts)h +(as)g(its)330 4315 y(argumen)m(ts,)h(and)e(the)i(function's)e(exit)i +(status)g(b)s(ecomes)f(the)g(exit)h(status)f(of)h(the)f(shell.)46 +b(If)31 b(that)330 4425 y(function)g(is)g(not)g(de\014ned,)f(the)i +(shell)f(prin)m(ts)f(an)h(error)g(message)h(and)f(returns)e(an)i(exit)h +(status)g(of)330 4534 y(127.)199 4663 y(4.)61 b(If)33 +b(the)g(searc)m(h)h(is)g(successful,)g(or)f(if)g(the)h(command)f(name)g +(con)m(tains)i(one)f(or)f(more)g(slashes,)i(the)330 4773 +y(shell)g(executes)h(the)f(named)f(program)g(in)h(a)g(separate)h +(execution)f(en)m(vironmen)m(t.)55 b(Argumen)m(t)35 b(0)330 +4882 y(is)30 b(set)h(to)h(the)e(name)h(giv)m(en,)g(and)f(the)h (remaining)f(argumen)m(ts)h(to)g(the)g(command)f(are)h(set)g(to)g(the) -330 3449 y(argumen)m(ts)g(supplied,)e(if)h(an)m(y)-8 -b(.)199 3577 y(5.)61 b(If)35 b(this)h(execution)h(fails)f(b)s(ecause)g +330 4992 y(argumen)m(ts)g(supplied,)e(if)h(an)m(y)-8 +b(.)199 5121 y(5.)61 b(If)35 b(this)h(execution)h(fails)f(b)s(ecause)g (the)f(\014le)h(is)g(not)g(in)f(executable)j(format,)f(and)e(the)h -(\014le)g(is)g(not)330 3687 y(a)d(directory)-8 b(,)34 +(\014le)g(is)g(not)330 5230 y(a)d(directory)-8 b(,)34 b(it)f(is)g(assumed)e(to)j(b)s(e)d(a)i Fq(shell)g(script)h Ft(and)e(the)h(shell)f(executes)i(it)f(as)g(describ)s(ed)e(in)330 -3796 y(Section)g(3.8)h([Shell)e(Scripts],)g(page)i(33.)199 -3925 y(6.)61 b(If)38 b(the)h(command)f(w)m(as)h(not)g(b)s(egun)e(async) -m(hronously)-8 b(,)42 b(the)c(shell)h(w)m(aits)h(for)e(the)h(command)f -(to)330 4034 y(complete)32 b(and)e(collects)i(its)f(exit)g(status.)150 -4222 y Fj(3.7.3)63 b(Command)41 b(Execution)f(En)m(vironmen)m(t)150 -4369 y Ft(The)30 b(shell)g(has)h(an)f Fq(execution)h(en)m(vironmen)m(t) -r Ft(,)h(whic)m(h)e(consists)h(of)f(the)h(follo)m(wing:)225 -4497 y Fp(\017)60 b Ft(op)s(en)32 b(\014les)g(inherited)g(b)m(y)h(the)f +5340 y(Section)g(3.8)h([Shell)e(Scripts],)g(page)i(34.)p +eop end +%%Page: 32 38 +TeXDict begin 32 37 bop 150 -116 a Ft(32)2572 b(Bash)31 +b(Reference)g(Man)m(ual)199 299 y(6.)61 b(If)38 b(the)h(command)f(w)m +(as)h(not)g(b)s(egun)e(async)m(hronously)-8 b(,)42 b(the)c(shell)h(w)m +(aits)h(for)e(the)h(command)f(to)330 408 y(complete)32 +b(and)e(collects)i(its)f(exit)g(status.)150 608 y Fj(3.7.3)63 +b(Command)41 b(Execution)f(En)m(vironmen)m(t)150 755 +y Ft(The)30 b(shell)g(has)h(an)f Fq(execution)h(en)m(vironmen)m(t)r +Ft(,)h(whic)m(h)e(consists)h(of)f(the)h(follo)m(wing:)225 +890 y Fp(\017)60 b Ft(op)s(en)32 b(\014les)g(inherited)g(b)m(y)h(the)f (shell)h(at)g(in)m(v)m(o)s(cation,)j(as)c(mo)s(di\014ed)g(b)m(y)g -(redirections)h(supplied)e(to)330 4607 y(the)g Fs(exec)e -Ft(builtin)225 4735 y Fp(\017)60 b Ft(the)28 b(curren)m(t)g(w)m(orking) +(redirections)h(supplied)e(to)330 1000 y(the)g Fs(exec)e +Ft(builtin)225 1135 y Fp(\017)60 b Ft(the)28 b(curren)m(t)g(w)m(orking) h(directory)g(as)f(set)h(b)m(y)f Fs(cd)p Ft(,)g Fs(pushd)p Ft(,)g(or)g Fs(popd)p Ft(,)g(or)g(inherited)g(b)m(y)g(the)h(shell)f(at) -330 4845 y(in)m(v)m(o)s(cation)225 4973 y Fp(\017)60 +330 1244 y(in)m(v)m(o)s(cation)225 1379 y Fp(\017)60 b Ft(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)g(as)h(set)g(b)m(y)f Fs(umask)f Ft(or)h(inherited)g(from)g(the)h(shell's)f(paren)m(t)225 -5102 y Fp(\017)60 b Ft(curren)m(t)30 b(traps)g(set)h(b)m(y)f -Fs(trap)225 5230 y Fp(\017)60 b Ft(shell)30 b(parameters)f(that)h(are)g +1514 y Fp(\017)60 b Ft(curren)m(t)30 b(traps)g(set)h(b)m(y)f +Fs(trap)225 1648 y Fp(\017)60 b Ft(shell)30 b(parameters)f(that)h(are)g (set)g(b)m(y)g(v)-5 b(ariable)30 b(assignmen)m(t)g(or)g(with)f -Fs(set)f Ft(or)i(inherited)f(from)g(the)330 5340 y(shell's)i(paren)m(t) -f(in)g(the)h(en)m(vironmen)m(t)p eop end -%%Page: 31 37 -TeXDict begin 31 36 bop 150 -116 a Ft(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(31)225 299 -y Fp(\017)60 b Ft(shell)44 b(functions)f(de\014ned)f(during)h -(execution)i(or)e(inherited)h(from)f(the)h(shell's)g(paren)m(t)f(in)h -(the)330 408 y(en)m(vironmen)m(t)225 543 y Fp(\017)60 -b Ft(options)33 b(enabled)g(at)h(in)m(v)m(o)s(cation)h(\(either)f(b)m -(y)f(default)g(or)g(with)g(command-line)g(argumen)m(ts\))h(or)330 -652 y(b)m(y)c Fs(set)225 787 y Fp(\017)60 b Ft(options)31 +Fs(set)f Ft(or)i(inherited)f(from)g(the)330 1758 y(shell's)i(paren)m(t) +f(in)g(the)h(en)m(vironmen)m(t)225 1893 y Fp(\017)60 +b Ft(shell)44 b(functions)f(de\014ned)f(during)h(execution)i(or)e +(inherited)h(from)f(the)h(shell's)g(paren)m(t)f(in)h(the)330 +2002 y(en)m(vironmen)m(t)225 2137 y Fp(\017)60 b Ft(options)33 +b(enabled)g(at)h(in)m(v)m(o)s(cation)h(\(either)f(b)m(y)f(default)g(or) +g(with)g(command-line)g(argumen)m(ts\))h(or)330 2247 +y(b)m(y)c Fs(set)225 2381 y Fp(\017)60 b Ft(options)31 b(enabled)f(b)m(y)g Fs(shopt)f Ft(\(see)j(Section)f(4.3.2)h([The)e -(Shopt)g(Builtin],)h(page)g(55\))225 921 y Fp(\017)60 +(Shopt)g(Builtin],)h(page)g(57\))225 2516 y Fp(\017)60 b Ft(shell)31 b(aliases)g(de\014ned)f(with)g Fs(alias)f -Ft(\(see)i(Section)g(6.6)h([Aliases],)g(page)f(79\))225 -1056 y Fp(\017)60 b Ft(v)-5 b(arious)50 b(pro)s(cess)f +Ft(\(see)i(Section)g(6.6)h([Aliases],)g(page)f(81\))225 +2651 y Fp(\017)60 b Ft(v)-5 b(arious)50 b(pro)s(cess)f Fl(id)p Ft(s,)55 b(including)49 b(those)i(of)e(bac)m(kground)h(jobs)f -(\(see)i(Section)g(3.2.3)g([Lists],)330 1165 y(page)31 -b(8\),)g(the)g(v)-5 b(alue)31 b(of)f Fs($$)p Ft(,)g(and)g(the)h(v)-5 -b(alue)31 b(of)f Fs($PPID)275 1324 y Ft(When)k(a)g(simple)h(command)f +(\(see)i(Section)g(3.2.3)g([Lists],)330 2761 y(page)31 +b(9\),)g(the)g(v)-5 b(alue)31 b(of)f Fs($$)p Ft(,)g(and)g(the)h(v)-5 +b(alue)31 b(of)f Fs($PPID)275 2921 y Ft(When)k(a)g(simple)h(command)f (other)g(than)g(a)h(builtin)f(or)g(shell)h(function)f(is)g(to)h(b)s(e)f -(executed,)i(it)f(is)150 1434 y(in)m(v)m(ok)m(ed)25 b(in)f(a)g +(executed,)i(it)f(is)150 3030 y(in)m(v)m(ok)m(ed)25 b(in)f(a)g (separate)h(execution)g(en)m(vironmen)m(t)g(that)f(consists)g(of)h(the) -f(follo)m(wing.)40 b(Unless)24 b(otherwise)150 1543 y(noted,)31 +f(follo)m(wing.)40 b(Unless)24 b(otherwise)150 3140 y(noted,)31 b(the)f(v)-5 b(alues)31 b(are)g(inherited)f(from)g(the)g(shell.)225 -1678 y Fp(\017)60 b Ft(the)31 b(shell's)h(op)s(en)e(\014les,)i(plus)e +3275 y Fp(\017)60 b Ft(the)31 b(shell's)h(op)s(en)e(\014les,)i(plus)e (an)m(y)h(mo)s(di\014cations)h(and)e(additions)h(sp)s(eci\014ed)g(b)m -(y)g(redirections)g(to)330 1787 y(the)g(command)225 1922 +(y)g(redirections)g(to)330 3384 y(the)g(command)225 3519 y Fp(\017)60 b Ft(the)31 b(curren)m(t)f(w)m(orking)g(directory)225 -2056 y Fp(\017)60 b Ft(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)225 -2190 y Fp(\017)60 b Ft(shell)32 b(v)-5 b(ariables)33 +3654 y Fp(\017)60 b Ft(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)225 +3789 y Fp(\017)60 b Ft(shell)32 b(v)-5 b(ariables)33 b(and)e(functions)h(mark)m(ed)g(for)g(exp)s(ort,)g(along)h(with)f(v)-5 -b(ariables)32 b(exp)s(orted)g(for)g(the)330 2300 y(command,)e(passed)g +b(ariables)32 b(exp)s(orted)g(for)g(the)330 3898 y(command,)e(passed)g (in)g(the)h(en)m(vironmen)m(t)g(\(see)g(Section)g(3.7.4)i([En)m -(vironmen)m(t],)e(page)g(31\))225 2434 y Fp(\017)60 b +(vironmen)m(t],)e(page)g(33\))225 4033 y Fp(\017)60 b Ft(traps)31 b(caugh)m(t)h(b)m(y)f(the)g(shell)h(are)f(reset)h(to)g(the) f(v)-5 b(alues)32 b(inherited)e(from)h(the)g(shell's)h(paren)m(t,)g -(and)330 2544 y(traps)e(ignored)h(b)m(y)f(the)g(shell)h(are)g(ignored) -275 2703 y(A)41 b(command)g(in)m(v)m(ok)m(ed)i(in)e(this)h(separate)g +(and)330 4143 y(traps)e(ignored)h(b)m(y)f(the)g(shell)h(are)g(ignored) +275 4303 y(A)41 b(command)g(in)m(v)m(ok)m(ed)i(in)e(this)h(separate)g (en)m(vironmen)m(t)g(cannot)g(a\013ect)h(the)f(shell's)g(execution)150 -2813 y(en)m(vironmen)m(t.)275 2947 y(Command)35 b(substitution,)j +4412 y(en)m(vironmen)m(t.)275 4547 y(Command)35 b(substitution,)j (commands)e(group)s(ed)f(with)i(paren)m(theses,)h(and)e(async)m -(hronous)g(com-)150 3057 y(mands)c(are)h(in)m(v)m(ok)m(ed)i(in)d(a)i +(hronous)g(com-)150 4657 y(mands)c(are)h(in)m(v)m(ok)m(ed)i(in)d(a)i (subshell)e(en)m(vironmen)m(t)h(that)h(is)f(a)g(duplicate)h(of)f(the)g -(shell)g(en)m(vironmen)m(t,)150 3166 y(except)i(that)g(traps)f(caugh)m +(shell)g(en)m(vironmen)m(t,)150 4767 y(except)i(that)g(traps)f(caugh)m (t)h(b)m(y)f(the)h(shell)f(are)g(reset)h(to)g(the)f(v)-5 b(alues)35 b(that)g(the)f(shell)h(inherited)e(from)150 -3276 y(its)g(paren)m(t)f(at)h(in)m(v)m(o)s(cation.)49 +4876 y(its)g(paren)m(t)f(at)h(in)m(v)m(o)s(cation.)49 b(Builtin)32 b(commands)g(that)h(are)g(in)m(v)m(ok)m(ed)h(as)e(part)g -(of)h(a)f(pip)s(eline)g(are)h(also)150 3385 y(executed)41 +(of)h(a)f(pip)s(eline)g(are)h(also)150 4986 y(executed)41 b(in)f(a)h(subshell)e(en)m(vironmen)m(t.)72 b(Changes)40 b(made)g(to)h(the)g(subshell)e(en)m(vironmen)m(t)i(cannot)150 -3495 y(a\013ect)32 b(the)f(shell's)f(execution)i(en)m(vironmen)m(t.)275 -3629 y(Subshells)24 b(spa)m(wned)h(to)i(execute)g(command)f +5095 y(a\013ect)32 b(the)f(shell's)f(execution)i(en)m(vironmen)m(t.)275 +5230 y(Subshells)24 b(spa)m(wned)h(to)i(execute)g(command)f (substitutions)g(inherit)g(the)g(v)-5 b(alue)26 b(of)g(the)h(`)p -Fs(-e)p Ft(')e(option)150 3739 y(from)20 b(the)h(paren)m(t)g(shell.)37 +Fs(-e)p Ft(')e(option)150 5340 y(from)20 b(the)h(paren)m(t)g(shell.)37 b(When)21 b(not)f(in)h Fl(posix)f Ft(mo)s(de,)i(Bash)f(clears)g(the)g -(`)p Fs(-e)p Ft(')f(option)h(in)g(suc)m(h)f(subshells.)275 -3873 y(If)38 b(a)h(command)f(is)g(follo)m(w)m(ed)j(b)m(y)d(a)h(`)p +(`)p Fs(-e)p Ft(')f(option)h(in)g(suc)m(h)f(subshells.)p +eop end +%%Page: 33 39 +TeXDict begin 33 38 bop 150 -116 a Ft(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(33)275 299 +y(If)38 b(a)h(command)f(is)g(follo)m(w)m(ed)j(b)m(y)d(a)h(`)p Fs(&)p Ft(')g(and)f(job)g(con)m(trol)i(is)e(not)h(activ)m(e,)k(the)c -(default)g(standard)150 3983 y(input)e(for)g(the)h(command)f(is)h(the)g +(default)g(standard)150 408 y(input)e(for)g(the)h(command)f(is)h(the)g (empt)m(y)g(\014le)f(`)p Fs(/dev/null)p Ft('.)61 b(Otherwise,)39 -b(the)f(in)m(v)m(ok)m(ed)h(command)150 4093 y(inherits)30 +b(the)f(in)m(v)m(ok)m(ed)h(command)150 518 y(inherits)30 b(the)h(\014le)f(descriptors)g(of)h(the)f(calling)i(shell)f(as)f(mo)s -(di\014ed)g(b)m(y)g(redirections.)150 4292 y Fj(3.7.4)63 -b(En)m(vironmen)m(t)150 4438 y Ft(When)28 b(a)i(program)e(is)h(in)m(v)m +(di\014ed)g(b)m(y)g(redirections.)150 738 y Fj(3.7.4)63 +b(En)m(vironmen)m(t)150 885 y Ft(When)28 b(a)i(program)e(is)h(in)m(v)m (ok)m(ed)h(it)f(is)g(giv)m(en)g(an)g(arra)m(y)g(of)g(strings)f(called)i (the)f Fq(en)m(vironmen)m(t)r Ft(.)41 b(This)28 b(is)h(a)150 -4548 y(list)i(of)g(name-v)-5 b(alue)31 b(pairs,)f(of)h(the)f(form)g -Fs(name=value)p Ft(.)275 4682 y(Bash)39 b(pro)m(vides)g(sev)m(eral)i(w) +994 y(list)i(of)g(name-v)-5 b(alue)31 b(pairs,)f(of)h(the)f(form)g +Fs(name=value)p Ft(.)275 1149 y(Bash)39 b(pro)m(vides)g(sev)m(eral)i(w) m(a)m(ys)g(to)f(manipulate)f(the)h(en)m(vironmen)m(t.)69 -b(On)38 b(in)m(v)m(o)s(cation,)44 b(the)c(shell)150 4792 +b(On)38 b(in)m(v)m(o)s(cation,)44 b(the)c(shell)150 1259 y(scans)g(its)h(o)m(wn)f(en)m(vironmen)m(t)h(and)f(creates)i(a)f (parameter)f(for)g(eac)m(h)i(name)e(found,)i(automatically)150 -4902 y(marking)26 b(it)g(for)g Fq(exp)s(ort)h Ft(to)g(c)m(hild)f(pro)s +1368 y(marking)26 b(it)g(for)g Fq(exp)s(ort)h Ft(to)g(c)m(hild)f(pro)s (cesses.)39 b(Executed)26 b(commands)g(inherit)g(the)g(en)m(vironmen)m -(t.)39 b(The)150 5011 y Fs(export)c Ft(and)i(`)p Fs(declare)29 +(t.)39 b(The)150 1478 y Fs(export)c Ft(and)i(`)p Fs(declare)29 b(-x)p Ft(')36 b(commands)h(allo)m(w)i(parameters)e(and)g(functions)g -(to)h(b)s(e)e(added)h(to)h(and)150 5121 y(deleted)21 +(to)h(b)s(e)e(added)h(to)h(and)150 1588 y(deleted)21 b(from)f(the)h(en)m(vironmen)m(t.)38 b(If)20 b(the)h(v)-5 b(alue)21 b(of)g(a)g(parameter)g(in)f(the)g(en)m(vironmen)m(t)i(is)e -(mo)s(di\014ed,)i(the)150 5230 y(new)31 b(v)-5 b(alue)32 +(mo)s(di\014ed,)i(the)150 1697 y(new)31 b(v)-5 b(alue)32 b(b)s(ecomes)f(part)h(of)f(the)h(en)m(vironmen)m(t,)g(replacing)h(the)e (old.)44 b(The)31 b(en)m(vironmen)m(t)h(inherited)150 -5340 y(b)m(y)f(an)m(y)g(executed)h(command)f(consists)g(of)g(the)g +1807 y(b)m(y)f(an)m(y)g(executed)h(command)f(consists)g(of)g(the)g (shell's)h(initial)g(en)m(vironmen)m(t,)g(whose)f(v)-5 -b(alues)31 b(ma)m(y)h(b)s(e)p eop end -%%Page: 32 38 -TeXDict begin 32 37 bop 150 -116 a Ft(32)2572 b(Bash)31 -b(Reference)g(Man)m(ual)150 299 y(mo)s(di\014ed)26 b(in)g(the)h(shell,) -h(less)f(an)m(y)g(pairs)f(remo)m(v)m(ed)i(b)m(y)f(the)g -Fs(unset)e Ft(and)h(`)p Fs(export)j(-n)p Ft(')e(commands,)g(plus)150 -408 y(an)m(y)k(additions)f(via)h(the)g Fs(export)d Ft(and)i(`)p -Fs(declare)f(-x)p Ft(')h(commands.)275 549 y(The)j(en)m(vironmen)m(t)i -(for)f(an)m(y)g(simple)h(command)f(or)g(function)g(ma)m(y)g(b)s(e)g -(augmen)m(ted)h(temp)s(orarily)150 659 y(b)m(y)c(pre\014xing)e(it)i -(with)g(parameter)g(assignmen)m(ts,)h(as)e(describ)s(ed)g(in)g(Section) -i(3.4)g([Shell)e(P)m(arameters],)150 768 y(page)g(15.)41 -b(These)29 b(assignmen)m(t)i(statemen)m(ts)g(a\013ect)f(only)g(the)f -(en)m(vironmen)m(t)h(seen)g(b)m(y)f(that)h(command.)275 -909 y(If)d(the)h(`)p Fs(-k)p Ft(')g(option)g(is)g(set)g(\(see)h -(Section)f(4.3.1)i([The)e(Set)g(Builtin],)h(page)f(51\),)i(then)e(all)g -(parameter)150 1019 y(assignmen)m(ts)i(are)g(placed)h(in)e(the)h(en)m -(vironmen)m(t)g(for)g(a)g(command,)f(not)h(just)f(those)i(that)f -(precede)g(the)150 1128 y(command)g(name.)275 1269 y(When)f(Bash)h(in)m -(v)m(ok)m(es)i(an)e(external)g(command,)g(the)g(v)-5 -b(ariable)31 b(`)p Fs($_)p Ft(')f(is)g(set)g(to)h(the)f(full)f(path)h -(name)150 1379 y(of)h(the)f(command)g(and)g(passed)g(to)h(that)g -(command)f(in)g(its)h(en)m(vironmen)m(t.)150 1585 y Fj(3.7.5)63 -b(Exit)40 b(Status)150 1731 y Ft(The)26 b(exit)h(status)f(of)g(an)g +b(alues)31 b(ma)m(y)h(b)s(e)150 1916 y(mo)s(di\014ed)26 +b(in)g(the)h(shell,)h(less)f(an)m(y)g(pairs)f(remo)m(v)m(ed)i(b)m(y)f +(the)g Fs(unset)e Ft(and)h(`)p Fs(export)j(-n)p Ft(')e(commands,)g +(plus)150 2026 y(an)m(y)k(additions)f(via)h(the)g Fs(export)d +Ft(and)i(`)p Fs(declare)f(-x)p Ft(')h(commands.)275 2181 +y(The)j(en)m(vironmen)m(t)i(for)f(an)m(y)g(simple)h(command)f(or)g +(function)g(ma)m(y)g(b)s(e)g(augmen)m(ted)h(temp)s(orarily)150 +2290 y(b)m(y)c(pre\014xing)e(it)i(with)g(parameter)g(assignmen)m(ts,)h +(as)e(describ)s(ed)g(in)g(Section)i(3.4)g([Shell)e(P)m(arameters],)150 +2400 y(page)g(17.)41 b(These)29 b(assignmen)m(t)i(statemen)m(ts)g +(a\013ect)f(only)g(the)f(en)m(vironmen)m(t)h(seen)g(b)m(y)f(that)h +(command.)275 2555 y(If)d(the)h(`)p Fs(-k)p Ft(')g(option)g(is)g(set)g +(\(see)h(Section)f(4.3.1)i([The)e(Set)g(Builtin],)h(page)f(53\),)i +(then)e(all)g(parameter)150 2665 y(assignmen)m(ts)i(are)g(placed)h(in)e +(the)h(en)m(vironmen)m(t)g(for)g(a)g(command,)f(not)h(just)f(those)i +(that)f(precede)g(the)150 2774 y(command)g(name.)275 +2929 y(When)f(Bash)h(in)m(v)m(ok)m(es)i(an)e(external)g(command,)g(the) +g(v)-5 b(ariable)31 b(`)p Fs($_)p Ft(')f(is)g(set)g(to)h(the)f(full)f +(path)h(name)150 3039 y(of)h(the)f(command)g(and)g(passed)g(to)h(that)g +(command)f(in)g(its)h(en)m(vironmen)m(t.)150 3258 y Fj(3.7.5)63 +b(Exit)40 b(Status)150 3405 y Ft(The)26 b(exit)h(status)f(of)g(an)g (executed)h(command)f(is)g(the)h(v)-5 b(alue)26 b(returned)f(b)m(y)h -(the)g Fq(w)m(aitpid)k Ft(system)d(call)g(or)150 1841 +(the)g Fq(w)m(aitpid)k Ft(system)d(call)g(or)150 3515 y(equiv)-5 b(alen)m(t)33 b(function.)45 b(Exit)32 b(statuses)g(fall)g (b)s(et)m(w)m(een)h(0)f(and)f(255,)i(though,)f(as)g(explained)g(b)s -(elo)m(w,)h(the)150 1951 y(shell)i(ma)m(y)g(use)f(v)-5 +(elo)m(w,)h(the)150 3624 y(shell)i(ma)m(y)g(use)f(v)-5 b(alues)35 b(ab)s(o)m(v)m(e)g(125)h(sp)s(ecially)-8 b(.)54 b(Exit)35 b(statuses)g(from)f(shell)h(builtins)f(and)f(comp)s(ound)150 -2060 y(commands)j(are)g(also)h(limited)g(to)g(this)f(range.)58 +3734 y(commands)j(are)g(also)h(limited)g(to)g(this)f(range.)58 b(Under)36 b(certain)h(circumstances,)h(the)e(shell)h(will)f(use)150 -2170 y(sp)s(ecial)31 b(v)-5 b(alues)31 b(to)g(indicate)g(sp)s(eci\014c) -f(failure)h(mo)s(des.)275 2311 y(F)-8 b(or)32 b(the)g(shell's)g(purp)s +3844 y(sp)s(ecial)31 b(v)-5 b(alues)31 b(to)g(indicate)g(sp)s(eci\014c) +f(failure)h(mo)s(des.)275 3999 y(F)-8 b(or)32 b(the)g(shell's)g(purp)s (oses,)e(a)j(command)e(whic)m(h)h(exits)g(with)g(a)g(zero)g(exit)h -(status)f(has)f(succeeded.)150 2420 y(A)e(non-zero)h(exit)g(status)g +(status)f(has)f(succeeded.)150 4108 y(A)e(non-zero)h(exit)g(status)g (indicates)g(failure.)40 b(This)28 b(seemingly)i(coun)m(ter-in)m -(tuitiv)m(e)i(sc)m(heme)e(is)f(used)g(so)150 2530 y(there)34 +(tuitiv)m(e)i(sc)m(heme)e(is)f(used)g(so)150 4218 y(there)34 b(is)g(one)g(w)m(ell-de\014ned)g(w)m(a)m(y)g(to)h(indicate)g(success)f (and)f(a)h(v)-5 b(ariet)m(y)35 b(of)f(w)m(a)m(ys)h(to)f(indicate)h(v)-5 -b(arious)150 2639 y(failure)37 b(mo)s(des.)61 b(When)37 +b(arious)150 4327 y(failure)37 b(mo)s(des.)61 b(When)37 b(a)g(command)g(terminates)h(on)f(a)g(fatal)i(signal)f(whose)f(n)m(um)m -(b)s(er)e(is)i Fq(N)10 b Ft(,)38 b(Bash)150 2749 y(uses)30 +(b)s(er)e(is)i Fq(N)10 b Ft(,)38 b(Bash)150 4437 y(uses)30 b(the)g(v)-5 b(alue)31 b(128)p Fs(+)p Fq(N)42 b Ft(as)30 -b(the)h(exit)g(status.)275 2890 y(If)k(a)h(command)g(is)g(not)g(found,) +b(the)h(exit)g(status.)275 4592 y(If)k(a)h(command)g(is)g(not)g(found,) g(the)g(c)m(hild)h(pro)s(cess)e(created)i(to)g(execute)g(it)g(returns)d -(a)j(status)f(of)150 2999 y(127.)42 b(If)30 b(a)h(command)f(is)g(found) +(a)j(status)f(of)150 4701 y(127.)42 b(If)30 b(a)h(command)f(is)g(found) f(but)h(is)g(not)h(executable,)h(the)f(return)e(status)i(is)f(126.)275 -3140 y(If)i(a)i(command)f(fails)g(b)s(ecause)g(of)h(an)f(error)f +4856 y(If)i(a)i(command)f(fails)g(b)s(ecause)g(of)h(an)f(error)f (during)g(expansion)h(or)g(redirection,)i(the)f(exit)g(status)150 -3250 y(is)c(greater)i(than)e(zero.)275 3391 y(The)38 +4966 y(is)c(greater)i(than)e(zero.)275 5121 y(The)38 b(exit)h(status)g(is)g(used)f(b)m(y)g(the)h(Bash)g(conditional)h -(commands)e(\(see)h(Section)h(3.2.4.2)h([Con-)150 3500 +(commands)e(\(see)h(Section)h(3.2.4.2)h([Con-)150 5230 y(ditional)i(Constructs],)h(page)f(10\))g(and)e(some)i(of)f(the)g(list) g(constructs)g(\(see)h(Section)f(3.2.3)i([Lists],)150 -3610 y(page)31 b(8\).)275 3751 y(All)40 b(of)g(the)h(Bash)f(builtins)f +5340 y(page)31 b(9\).)p eop end +%%Page: 34 40 +TeXDict begin 34 39 bop 150 -116 a Ft(34)2572 b(Bash)31 +b(Reference)g(Man)m(ual)275 299 y(All)40 b(of)g(the)h(Bash)f(builtins)f (return)g(an)h(exit)h(status)g(of)f(zero)h(if)f(they)g(succeed)g(and)g -(a)g(non-zero)150 3860 y(status)34 b(on)f(failure,)i(so)f(they)g(ma)m -(y)g(b)s(e)f(used)g(b)m(y)g(the)h(conditional)h(and)e(list)h -(constructs.)50 b(All)35 b(builtins)150 3970 y(return)29 -b(an)i(exit)g(status)g(of)f(2)h(to)g(indicate)g(incorrect)h(usage.)150 -4175 y Fj(3.7.6)63 b(Signals)150 4322 y Ft(When)36 b(Bash)g(is)h(in)m -(teractiv)m(e,)j(in)c(the)h(absence)f(of)h(an)m(y)f(traps,)i(it)e -(ignores)h Fs(SIGTERM)d Ft(\(so)j(that)g(`)p Fs(kill)150 -4432 y(0)p Ft(')c(do)s(es)g(not)g(kill)g(an)g(in)m(teractiv)m(e)j -(shell\),)f(and)d Fs(SIGINT)f Ft(is)i(caugh)m(t)h(and)f(handled)f(\(so) -h(that)h(the)f Fs(wait)150 4542 y Ft(builtin)24 b(is)h(in)m -(terruptible\).)39 b(When)24 b(Bash)g(receiv)m(es)j(a)d -Fs(SIGINT)p Ft(,)h(it)g(breaks)f(out)h(of)f(an)m(y)h(executing)h(lo)s -(ops.)150 4651 y(In)31 b(all)h(cases,)h(Bash)f(ignores)g -Fs(SIGQUIT)p Ft(.)42 b(If)32 b(job)f(con)m(trol)i(is)e(in)h(e\013ect)h -(\(see)f(Chapter)f(7)h([Job)g(Con)m(trol],)150 4761 y(page)f(89\),)h -(Bash)e(ignores)h Fs(SIGTTIN)p Ft(,)e Fs(SIGTTOU)p Ft(,)g(and)g -Fs(SIGTSTP)p Ft(.)275 4902 y(Non-builtin)i(commands)g(started)g(b)m(y)g -(Bash)h(ha)m(v)m(e)g(signal)g(handlers)e(set)i(to)g(the)g(v)-5 -b(alues)31 b(inherited)150 5011 y(b)m(y)37 b(the)h(shell)g(from)f(its)h -(paren)m(t.)62 b(When)38 b(job)f(con)m(trol)i(is)e(not)h(in)f -(e\013ect,)k(async)m(hronous)c(commands)150 5121 y(ignore)f -Fs(SIGINT)e Ft(and)h Fs(SIGQUIT)e Ft(in)j(addition)f(to)i(these)f -(inherited)f(handlers.)55 b(Commands)35 b(run)f(as)i(a)150 -5230 y(result)27 b(of)h(command)f(substitution)h(ignore)g(the)g(k)m -(eyb)s(oard-generated)g(job)g(con)m(trol)h(signals)f -Fs(SIGTTIN)p Ft(,)150 5340 y Fs(SIGTTOU)p Ft(,)h(and)g -Fs(SIGTSTP)p Ft(.)p eop end -%%Page: 33 39 -TeXDict begin 33 38 bop 150 -116 a Ft(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(33)275 299 -y(The)30 b(shell)i(exits)g(b)m(y)f(default)g(up)s(on)f(receipt)i(of)f -(a)h Fs(SIGHUP)p Ft(.)42 b(Before)32 b(exiting,)h(an)e(in)m(teractiv)m -(e)j(shell)150 408 y(resends)41 b(the)i Fs(SIGHUP)e Ft(to)i(all)g -(jobs,)i(running)c(or)h(stopp)s(ed.)76 b(Stopp)s(ed)41 -b(jobs)h(are)h(sen)m(t)g Fs(SIGCONT)d Ft(to)150 518 y(ensure)32 -b(that)h(they)g(receiv)m(e)i(the)e Fs(SIGHUP)p Ft(.)47 -b(T)-8 b(o)33 b(prev)m(en)m(t)g(the)g(shell)g(from)g(sending)f(the)h -Fs(SIGHUP)e Ft(signal)150 628 y(to)i(a)g(particular)g(job,)g(it)g -(should)f(b)s(e)g(remo)m(v)m(ed)h(from)g(the)f(jobs)g(table)i(with)e -(the)h Fs(disown)e Ft(builtin)h(\(see)150 737 y(Section)f(7.2)g([Job)f -(Con)m(trol)h(Builtins],)g(page)g(90\))h(or)e(mark)m(ed)g(to)h(not)f -(receiv)m(e)i Fs(SIGHUP)d Ft(using)h Fs(disown)150 847 -y(-h)p Ft(.)275 992 y(If)38 b(the)h Fs(huponexit)e Ft(shell)i(option)g -(has)g(b)s(een)f(set)i(with)f Fs(shopt)e Ft(\(see)j(Section)g(4.3.2)h -([The)e(Shopt)150 1102 y(Builtin],)31 b(page)g(55\),)h(Bash)f(sends)e -(a)i Fs(SIGHUP)e Ft(to)i(all)g(jobs)f(when)f(an)i(in)m(teractiv)m(e)i -(login)e(shell)g(exits.)275 1247 y(If)38 b(Bash)h(is)g(w)m(aiting)h -(for)f(a)g(command)f(to)i(complete)g(and)e(receiv)m(es)j(a)e(signal)h -(for)e(whic)m(h)h(a)g(trap)150 1357 y(has)c(b)s(een)f(set,)i(the)f -(trap)g(will)g(not)g(b)s(e)f(executed)i(un)m(til)f(the)g(command)f -(completes.)55 b(When)35 b(Bash)g(is)150 1467 y(w)m(aiting)j(for)f(an)g -(async)m(hronous)g(command)g(via)h(the)f Fs(wait)f Ft(builtin,)i(the)g -(reception)g(of)f(a)g(signal)h(for)150 1576 y(whic)m(h)d(a)g(trap)g +(a)g(non-zero)150 408 y(status)34 b(on)f(failure,)i(so)f(they)g(ma)m(y) +g(b)s(e)f(used)g(b)m(y)g(the)h(conditional)h(and)e(list)h(constructs.) +50 b(All)35 b(builtins)150 518 y(return)29 b(an)i(exit)g(status)g(of)f +(2)h(to)g(indicate)g(incorrect)h(usage.)150 722 y Fj(3.7.6)63 +b(Signals)150 869 y Ft(When)36 b(Bash)g(is)h(in)m(teractiv)m(e,)j(in)c +(the)h(absence)f(of)h(an)m(y)f(traps,)i(it)e(ignores)h +Fs(SIGTERM)d Ft(\(so)j(that)g(`)p Fs(kill)150 979 y(0)p +Ft(')c(do)s(es)g(not)g(kill)g(an)g(in)m(teractiv)m(e)j(shell\),)f(and)d +Fs(SIGINT)f Ft(is)i(caugh)m(t)h(and)f(handled)f(\(so)h(that)h(the)f +Fs(wait)150 1088 y Ft(builtin)24 b(is)h(in)m(terruptible\).)39 +b(When)24 b(Bash)g(receiv)m(es)j(a)d Fs(SIGINT)p Ft(,)h(it)g(breaks)f +(out)h(of)f(an)m(y)h(executing)h(lo)s(ops.)150 1198 y(In)31 +b(all)h(cases,)h(Bash)f(ignores)g Fs(SIGQUIT)p Ft(.)42 +b(If)32 b(job)f(con)m(trol)i(is)e(in)h(e\013ect)h(\(see)f(Chapter)f(7)h +([Job)g(Con)m(trol],)150 1307 y(page)f(91\),)h(Bash)e(ignores)h +Fs(SIGTTIN)p Ft(,)e Fs(SIGTTOU)p Ft(,)g(and)g Fs(SIGTSTP)p +Ft(.)275 1446 y(Non-builtin)i(commands)g(started)g(b)m(y)g(Bash)h(ha)m +(v)m(e)g(signal)g(handlers)e(set)i(to)g(the)g(v)-5 b(alues)31 +b(inherited)150 1556 y(b)m(y)37 b(the)h(shell)g(from)f(its)h(paren)m +(t.)62 b(When)38 b(job)f(con)m(trol)i(is)e(not)h(in)f(e\013ect,)k +(async)m(hronous)c(commands)150 1666 y(ignore)f Fs(SIGINT)e +Ft(and)h Fs(SIGQUIT)e Ft(in)j(addition)f(to)i(these)f(inherited)f +(handlers.)55 b(Commands)35 b(run)f(as)i(a)150 1775 y(result)27 +b(of)h(command)f(substitution)h(ignore)g(the)g(k)m(eyb)s +(oard-generated)g(job)g(con)m(trol)h(signals)f Fs(SIGTTIN)p +Ft(,)150 1885 y Fs(SIGTTOU)p Ft(,)h(and)g Fs(SIGTSTP)p +Ft(.)275 2024 y(The)h(shell)i(exits)g(b)m(y)f(default)g(up)s(on)f +(receipt)i(of)f(a)h Fs(SIGHUP)p Ft(.)42 b(Before)32 b(exiting,)h(an)e +(in)m(teractiv)m(e)j(shell)150 2134 y(resends)41 b(the)i +Fs(SIGHUP)e Ft(to)i(all)g(jobs,)i(running)c(or)h(stopp)s(ed.)76 +b(Stopp)s(ed)41 b(jobs)h(are)h(sen)m(t)g Fs(SIGCONT)d +Ft(to)150 2243 y(ensure)32 b(that)h(they)g(receiv)m(e)i(the)e +Fs(SIGHUP)p Ft(.)47 b(T)-8 b(o)33 b(prev)m(en)m(t)g(the)g(shell)g(from) +g(sending)f(the)h Fs(SIGHUP)e Ft(signal)150 2353 y(to)i(a)g(particular) +g(job,)g(it)g(should)f(b)s(e)g(remo)m(v)m(ed)h(from)g(the)f(jobs)g +(table)i(with)e(the)h Fs(disown)e Ft(builtin)h(\(see)150 +2462 y(Section)f(7.2)g([Job)f(Con)m(trol)h(Builtins],)g(page)g(92\))h +(or)e(mark)m(ed)g(to)h(not)f(receiv)m(e)i Fs(SIGHUP)d +Ft(using)h Fs(disown)150 2572 y(-h)p Ft(.)275 2711 y(If)38 +b(the)h Fs(huponexit)e Ft(shell)i(option)g(has)g(b)s(een)f(set)i(with)f +Fs(shopt)e Ft(\(see)j(Section)g(4.3.2)h([The)e(Shopt)150 +2821 y(Builtin],)31 b(page)g(57\),)h(Bash)f(sends)e(a)i +Fs(SIGHUP)e Ft(to)i(all)g(jobs)f(when)f(an)i(in)m(teractiv)m(e)i(login) +e(shell)g(exits.)275 2960 y(If)38 b(Bash)h(is)g(w)m(aiting)h(for)f(a)g +(command)f(to)i(complete)g(and)e(receiv)m(es)j(a)e(signal)h(for)e(whic) +m(h)h(a)g(trap)150 3069 y(has)c(b)s(een)f(set,)i(the)f(trap)g(will)g +(not)g(b)s(e)f(executed)i(un)m(til)f(the)g(command)f(completes.)55 +b(When)35 b(Bash)g(is)150 3179 y(w)m(aiting)j(for)f(an)g(async)m +(hronous)g(command)g(via)h(the)f Fs(wait)f Ft(builtin,)i(the)g +(reception)g(of)f(a)g(signal)h(for)150 3289 y(whic)m(h)d(a)g(trap)g (has)g(b)s(een)f(set)h(will)h(cause)f(the)g Fs(wait)f Ft(builtin)h(to)g(return)f(immediately)i(with)f(an)g(exit)150 -1686 y(status)c(greater)g(than)f(128,)i(immediately)g(after)f(whic)m(h) -f(the)h(trap)f(is)g(executed.)150 1935 y Fr(3.8)68 b(Shell)45 -b(Scripts)150 2094 y Ft(A)30 b(shell)f(script)h(is)f(a)h(text)h(\014le) +3398 y(status)c(greater)g(than)f(128,)i(immediately)g(after)f(whic)m(h) +f(the)h(trap)f(is)g(executed.)150 3638 y Fr(3.8)68 b(Shell)45 +b(Scripts)150 3797 y Ft(A)30 b(shell)f(script)h(is)f(a)h(text)h(\014le) f(con)m(taining)h(shell)f(commands.)40 b(When)29 b(suc)m(h)g(a)h -(\014le)g(is)f(used)g(as)h(the)g(\014rst)150 2204 y(non-option)i +(\014le)g(is)f(used)g(as)h(the)g(\014rst)150 3907 y(non-option)i (argumen)m(t)h(when)e(in)m(v)m(oking)i(Bash,)g(and)e(neither)h(the)g(`) p Fs(-c)p Ft(')g(nor)g(`)p Fs(-s)p Ft(')g(option)g(is)g(supplied)150 -2313 y(\(see)25 b(Section)h(6.1)f([In)m(v)m(oking)h(Bash],)g(page)f -(71\),)i(Bash)e(reads)f(and)g(executes)i(commands)e(from)g(the)h -(\014le,)150 2423 y(then)32 b(exits.)46 b(This)32 b(mo)s(de)f(of)i(op)s +4016 y(\(see)25 b(Section)h(6.1)f([In)m(v)m(oking)h(Bash],)g(page)f +(73\),)i(Bash)e(reads)f(and)g(executes)i(commands)e(from)g(the)h +(\014le,)150 4126 y(then)32 b(exits.)46 b(This)32 b(mo)s(de)f(of)i(op)s (eration)f(creates)i(a)e(non-in)m(teractiv)m(e)j(shell.)46 -b(The)31 b(shell)i(\014rst)e(searc)m(hes)150 2532 y(for)d(the)g(\014le) +b(The)31 b(shell)i(\014rst)e(searc)m(hes)150 4235 y(for)d(the)g(\014le) g(in)g(the)g(curren)m(t)f(directory)-8 b(,)30 b(and)d(lo)s(oks)i(in)e (the)i(directories)g(in)e Fs($PATH)g Ft(if)h(not)g(found)e(there.)275 -2678 y(When)34 b(Bash)h(runs)e(a)i(shell)g(script,)g(it)h(sets)f(the)f +4375 y(When)34 b(Bash)h(runs)e(a)i(shell)g(script,)g(it)h(sets)f(the)f (sp)s(ecial)i(parameter)f Fs(0)f Ft(to)h(the)g(name)g(of)g(the)g -(\014le,)150 2787 y(rather)k(than)g(the)h(name)f(of)h(the)f(shell,)j +(\014le,)150 4484 y(rather)k(than)g(the)h(name)f(of)h(the)f(shell,)j (and)d(the)h(p)s(ositional)g(parameters)f(are)h(set)g(to)g(the)g -(remain-)150 2897 y(ing)f(argumen)m(ts,)j(if)d(an)m(y)g(are)g(giv)m +(remain-)150 4594 y(ing)f(argumen)m(ts,)j(if)d(an)m(y)g(are)g(giv)m (en.)67 b(If)39 b(no)g(additional)g(argumen)m(ts)h(are)f(supplied,)h -(the)f(p)s(ositional)150 3007 y(parameters)31 b(are)f(unset.)275 -3152 y(A)39 b(shell)h(script)f(ma)m(y)h(b)s(e)f(made)h(executable)h(b)m +(the)f(p)s(ositional)150 4703 y(parameters)31 b(are)f(unset.)275 +4842 y(A)39 b(shell)h(script)f(ma)m(y)h(b)s(e)f(made)h(executable)h(b)m (y)e(using)g(the)h Fs(chmod)e Ft(command)h(to)h(turn)e(on)i(the)150 -3262 y(execute)j(bit.)73 b(When)41 b(Bash)g(\014nds)e(suc)m(h)i(a)h +4952 y(execute)j(bit.)73 b(When)41 b(Bash)g(\014nds)e(suc)m(h)i(a)h (\014le)f(while)g(searc)m(hing)h(the)f Fs($PATH)f Ft(for)h(a)h -(command,)h(it)150 3371 y(spa)m(wns)30 b(a)g(subshell)g(to)h(execute)h -(it.)41 b(In)30 b(other)g(w)m(ords,)g(executing)390 3517 -y Fs(filename)46 b Fi(arguments)150 3662 y Ft(is)30 b(equiv)-5 -b(alen)m(t)32 b(to)f(executing)390 3808 y Fs(bash)47 -b(filename)e Fi(arguments)150 3953 y Ft(if)30 b Fs(filename)d -Ft(is)j(an)f(executable)j(shell)e(script.)40 b(This)29 -b(subshell)g(reinitializes)i(itself,)g(so)f(that)h(the)e(e\013ect)150 -4063 y(is)36 b(as)h(if)g(a)f(new)g(shell)h(had)f(b)s(een)g(in)m(v)m(ok) -m(ed)h(to)h(in)m(terpret)e(the)h(script,)h(with)e(the)h(exception)h -(that)f(the)150 4172 y(lo)s(cations)25 b(of)g(commands)e(remem)m(b)s -(ered)h(b)m(y)g(the)g(paren)m(t)g(\(see)h(the)f(description)g(of)g -Fs(hash)f Ft(in)h(Section)h(4.1)150 4282 y([Bourne)30 -b(Shell)h(Builtins],)g(page)g(35\))h(are)e(retained)h(b)m(y)f(the)h(c)m -(hild.)275 4427 y(Most)36 b(v)m(ersions)g(of)g(Unix)f(mak)m(e)h(this)g -(a)g(part)f(of)h(the)g(op)s(erating)g(system's)f(command)h(execution) -150 4537 y(mec)m(hanism.)50 b(If)33 b(the)g(\014rst)g(line)h(of)f(a)h -(script)f(b)s(egins)g(with)g(the)g(t)m(w)m(o)i(c)m(haracters)g(`)p -Fs(#!)p Ft(',)f(the)g(remainder)150 4647 y(of)d(the)g(line)h(sp)s -(eci\014es)e(an)h(in)m(terpreter)g(for)g(the)g(program.)43 -b(Th)m(us,)30 b(y)m(ou)h(can)h(sp)s(ecify)e(Bash,)i Fs(awk)p -Ft(,)e(P)m(erl,)150 4756 y(or)g(some)h(other)g(in)m(terpreter)g(and)e -(write)i(the)f(rest)h(of)g(the)f(script)g(\014le)h(in)f(that)h -(language.)275 4902 y(The)40 b(argumen)m(ts)h(to)g(the)g(in)m +(command,)h(it)150 5062 y(spa)m(wns)30 b(a)g(subshell)g(to)h(execute)h +(it.)41 b(In)30 b(other)g(w)m(ords,)g(executing)390 5201 +y Fs(filename)46 b Fi(arguments)150 5340 y Ft(is)30 b(equiv)-5 +b(alen)m(t)32 b(to)f(executing)p eop end +%%Page: 35 41 +TeXDict begin 35 40 bop 150 -116 a Ft(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(35)390 299 +y Fs(bash)47 b(filename)e Fi(arguments)150 433 y Ft(if)30 +b Fs(filename)d Ft(is)j(an)f(executable)j(shell)e(script.)40 +b(This)29 b(subshell)g(reinitializes)i(itself,)g(so)f(that)h(the)e +(e\013ect)150 543 y(is)36 b(as)h(if)g(a)f(new)g(shell)h(had)f(b)s(een)g +(in)m(v)m(ok)m(ed)h(to)h(in)m(terpret)e(the)h(script,)h(with)e(the)h +(exception)h(that)f(the)150 653 y(lo)s(cations)25 b(of)g(commands)e +(remem)m(b)s(ered)h(b)m(y)g(the)g(paren)m(t)g(\(see)h(the)f +(description)g(of)g Fs(hash)f Ft(in)h(Section)h(4.1)150 +762 y([Bourne)30 b(Shell)h(Builtins],)g(page)g(37\))h(are)e(retained)h +(b)m(y)f(the)h(c)m(hild.)275 897 y(Most)36 b(v)m(ersions)g(of)g(Unix)f +(mak)m(e)h(this)g(a)g(part)f(of)h(the)g(op)s(erating)g(system's)f +(command)h(execution)150 1006 y(mec)m(hanism.)50 b(If)33 +b(the)g(\014rst)g(line)h(of)f(a)h(script)f(b)s(egins)g(with)g(the)g(t)m +(w)m(o)i(c)m(haracters)g(`)p Fs(#!)p Ft(',)f(the)g(remainder)150 +1116 y(of)d(the)g(line)h(sp)s(eci\014es)e(an)h(in)m(terpreter)g(for)g +(the)g(program.)43 b(Th)m(us,)30 b(y)m(ou)h(can)h(sp)s(ecify)e(Bash,)i +Fs(awk)p Ft(,)e(P)m(erl,)150 1225 y(or)g(some)h(other)g(in)m(terpreter) +g(and)e(write)i(the)f(rest)h(of)g(the)f(script)g(\014le)h(in)f(that)h +(language.)275 1360 y(The)40 b(argumen)m(ts)h(to)g(the)g(in)m (terpreter)g(consist)g(of)g(a)g(single)h(optional)f(argumen)m(t)h -(follo)m(wing)g(the)150 5011 y(in)m(terpreter)33 b(name)h(on)f(the)g +(follo)m(wing)g(the)150 1469 y(in)m(terpreter)33 b(name)h(on)f(the)g (\014rst)f(line)i(of)f(the)g(script)g(\014le,)h(follo)m(w)m(ed)h(b)m(y) -e(the)g(name)g(of)g(the)h(script)f(\014le,)150 5121 y(follo)m(w)m(ed)g +e(the)g(name)g(of)g(the)h(script)f(\014le,)150 1579 y(follo)m(w)m(ed)g (b)m(y)f(the)f(rest)h(of)g(the)f(argumen)m(ts.)45 b(Bash)31 b(will)h(p)s(erform)e(this)i(action)h(on)e(op)s(erating)h(systems)150 -5230 y(that)24 b(do)g(not)f(handle)g(it)h(themselv)m(es.)40 +1689 y(that)24 b(do)g(not)f(handle)g(it)h(themselv)m(es.)40 b(Note)25 b(that)f(some)g(older)g(v)m(ersions)f(of)h(Unix)f(limit)i -(the)f(in)m(terpreter)150 5340 y(name)30 b(and)g(argumen)m(t)h(to)g(a)g -(maxim)m(um)f(of)h(32)g(c)m(haracters.)p eop end -%%Page: 34 40 -TeXDict begin 34 39 bop 150 -116 a Ft(34)2572 b(Bash)31 -b(Reference)g(Man)m(ual)275 299 y(Bash)h(scripts)g(often)g(b)s(egin)g -(with)g Fs(#!)e(/bin/bash)g Ft(\(assuming)i(that)h(Bash)f(has)g(b)s -(een)f(installed)i(in)150 408 y(`)p Fs(/bin)p Ft('\),)25 -b(since)e(this)g(ensures)f(that)i(Bash)f(will)h(b)s(e)e(used)h(to)h(in) -m(terpret)f(the)g(script,)i(ev)m(en)f(if)f(it)h(is)f(executed)150 -518 y(under)29 b(another)h(shell.)p eop end -%%Page: 35 41 -TeXDict begin 35 40 bop 150 -116 a Ft(Chapter)30 b(4:)41 -b(Shell)30 b(Builtin)h(Commands)2069 b(35)150 299 y Fo(4)80 +(the)f(in)m(terpreter)150 1798 y(name)30 b(and)g(argumen)m(t)h(to)g(a)g +(maxim)m(um)f(of)h(32)g(c)m(haracters.)275 1933 y(Bash)h(scripts)g +(often)g(b)s(egin)g(with)g Fs(#!)e(/bin/bash)g Ft(\(assuming)i(that)h +(Bash)f(has)g(b)s(een)f(installed)i(in)150 2042 y(`)p +Fs(/bin)p Ft('\),)25 b(since)e(this)g(ensures)f(that)i(Bash)f(will)h(b) +s(e)e(used)h(to)h(in)m(terpret)f(the)g(script,)i(ev)m(en)f(if)f(it)h +(is)f(executed)150 2152 y(under)29 b(another)h(shell.)p +eop end +%%Page: 36 42 +TeXDict begin 36 41 bop eop end +%%Page: 37 43 +TeXDict begin 37 42 bop 150 -116 a Ft(Chapter)30 b(4:)41 +b(Shell)30 b(Builtin)h(Commands)2069 b(37)150 299 y Fo(4)80 b(Shell)53 b(Builtin)f(Commands)150 541 y Ft(Builtin)34 b(commands)f(are)h(con)m(tained)g(within)f(the)h(shell)g(itself.)50 b(When)34 b(the)f(name)h(of)f(a)h(builtin)f(com-)150 @@ -7364,12 +7458,12 @@ b(Builtin)150 870 y(commands)f(are)h(necessary)g(to)g(implemen)m(t)g (other)g(c)m(hapters:)69 b(builtin)43 b(commands)h(whic)m(h)150 1473 y(pro)m(vide)23 b(the)h(Bash)f(in)m(terface)i(to)f(the)g(job)f (con)m(trol)i(facilities)g(\(see)f(Section)h(7.2)f([Job)f(Con)m(trol)h -(Builtins],)150 1583 y(page)40 b(90\),)j(the)c(directory)h(stac)m(k)g +(Builtins],)150 1583 y(page)40 b(92\),)j(the)c(directory)h(stac)m(k)g (\(see)g(Section)g(6.8.1)h([Directory)g(Stac)m(k)f(Builtins],)i(page)e -(81\),)j(the)150 1692 y(command)23 b(history)h(\(see)g(Section)g(9.2)h -([Bash)f(History)g(Builtins],)h(page)g(121\),)h(and)d(the)h +(83\),)j(the)150 1692 y(command)23 b(history)h(\(see)g(Section)g(9.2)h +([Bash)f(History)g(Builtins],)h(page)g(123\),)h(and)d(the)h (programmable)150 1802 y(completion)32 b(facilities)g(\(see)g(Section)f -(8.7)g([Programmable)g(Completion)g(Builtins],)g(page)h(117\).)275 +(8.7)g([Programmable)g(Completion)g(Builtins],)g(page)h(119\).)275 1939 y(Man)m(y)f(of)f(the)h(builtins)e(ha)m(v)m(e)j(b)s(een)e(extended) g(b)m(y)g Fl(posix)g Ft(or)g(Bash.)275 2076 y(Unless)39 b(otherwise)h(noted,)i(eac)m(h)f(builtin)e(command)g(do)s(cumen)m(ted)g @@ -7419,8 +7513,8 @@ b(or)f(cannot)g(b)s(e)f(read,)j(the)e(return)f(status)h(is)g(non-zero.) 38 b(This)20 b(builtin)h(is)f(equiv)-5 b(alen)m(t)630 5042 y(to)31 b Fs(source)p Ft(.)150 5204 y Fs(break)870 5340 y(break)46 b([)p Fi(n)11 b Fs(])p eop end -%%Page: 36 42 -TeXDict begin 36 41 bop 150 -116 a Ft(36)2572 b(Bash)31 +%%Page: 38 44 +TeXDict begin 38 43 bop 150 -116 a Ft(38)2572 b(Bash)31 b(Reference)g(Man)m(ual)630 299 y(Exit)45 b(from)f(a)g Fs(for)p Ft(,)k Fs(while)p Ft(,)e Fs(until)p Ft(,)h(or)d Fs(select)f Ft(lo)s(op.)83 b(If)44 b Fq(n)g Ft(is)g(supplied,)j(the)e @@ -7491,9 +7585,9 @@ b(If)30 b Fq(n)f Ft(is)h(omitted,)h(the)630 5077 y(exit)c(status)g(is)g (that)g(of)g(the)g(last)g(command)f(executed.)41 b(An)m(y)26 b(trap)h(on)f Fs(EXIT)f Ft(is)i(executed)630 5187 y(b)s(efore)j(the)h (shell)f(terminates.)150 5340 y Fs(export)p eop end -%%Page: 37 43 -TeXDict begin 37 42 bop 150 -116 a Ft(Chapter)30 b(4:)41 -b(Shell)30 b(Builtin)h(Commands)2069 b(37)870 299 y Fs(export)46 +%%Page: 39 45 +TeXDict begin 39 44 bop 150 -116 a Ft(Chapter)30 b(4:)41 +b(Shell)30 b(Builtin)h(Commands)2069 b(39)870 299 y Fs(export)46 b([-fn])g([-p])h([)p Fi(name)11 b Fs([=)p Fi(value)g Fs(]])630 432 y Ft(Mark)40 b(eac)m(h)h Fq(name)k Ft(to)40 b(b)s(e)f(passed)g(to)i(c)m(hild)f(pro)s(cesses)f(in)g(the)h(en)m @@ -7580,8 +7674,8 @@ Ft('\))h(is)e(placed)h(in)g Fq(name)k Ft(and)33 b Fs(OPTARG)f Ft(is)i(set)g(to)630 5050 y(the)d(option)f(c)m(haracter)i(found.)150 5207 y Fs(hash)870 5340 y(hash)47 b([-r])f([-p)h Fi(filename)11 b Fs(])45 b([-dt])h([)p Fi(name)11 b Fs(])p eop end -%%Page: 38 44 -TeXDict begin 38 43 bop 150 -116 a Ft(38)2572 b(Bash)31 +%%Page: 40 46 +TeXDict begin 40 45 bop 150 -116 a Ft(40)2572 b(Bash)31 b(Reference)g(Man)m(ual)630 299 y(Eac)m(h)h(time)g Fs(hash)e Ft(is)h(in)m(v)m(ok)m(ed,)j(it)d(remem)m(b)s(ers)g(the)g(full)g (pathnames)g(of)h(the)f(commands)630 408 y(sp)s(eci\014ed)i(as)i @@ -7668,9 +7762,9 @@ Ft(.)40 b(If)29 b Fq(n)h Ft(is)g(not)g(supplied,)f(the)630 5168 y(function)30 b(and)g(not)g(during)g(the)g(execution)i(of)e(a)h (script)f(b)m(y)h Fs(.)f Ft(or)g Fs(source)p Ft(.)150 5340 y Fs(shift)p eop end -%%Page: 39 45 -TeXDict begin 39 44 bop 150 -116 a Ft(Chapter)30 b(4:)41 -b(Shell)30 b(Builtin)h(Commands)2069 b(39)870 299 y Fs(shift)46 +%%Page: 41 47 +TeXDict begin 41 46 bop 150 -116 a Ft(Chapter)30 b(4:)41 +b(Shell)30 b(Builtin)h(Commands)2069 b(41)870 299 y Fs(shift)46 b([)p Fi(n)11 b Fs(])630 432 y Ft(Shift)41 b(the)g(p)s(ositional)h (parameters)g(to)g(the)f(left)h(b)m(y)g Fq(n)p Ft(.)73 b(The)40 b(p)s(ositional)j(parameters)630 542 y(from)34 @@ -7693,7 +7787,7 @@ b(Eac)m(h)30 b(op)s(erator)h(and)e(op)s(erand)g(m)m(ust)h(b)s(e)g(a)630 1357 y(separate)d(argumen)m(t.)40 b(Expressions)25 b(are)i(comp)s(osed) e(of)i(the)f(primaries)g(describ)s(ed)f(b)s(elo)m(w)630 1466 y(in)34 b(Section)g(6.4)h([Bash)g(Conditional)f(Expressions],)h -(page)g(76.)52 b Fs(test)33 b Ft(do)s(es)g(not)h(accept)630 +(page)g(78.)52 b Fs(test)33 b Ft(do)s(es)g(not)h(accept)630 1576 y(an)m(y)27 b(options,)i(nor)d(do)s(es)h(it)g(accept)i(and)d (ignore)i(an)f(argumen)m(t)g(of)g(`)p Fs(--)p Ft(')g(as)h(signifying)f (the)630 1685 y(end)j(of)g(options.)630 1819 y(When)g(the)h @@ -7726,20 +7820,20 @@ b(aluate)39 b(conditional)f(expressions)f(using)g(a)g(set)h(of)f(rules) b(If)33 b(the)h(\014rst)e(argumen)m(t)i(is)g(one)g(of)f(the)h(unary) 1110 4416 y(conditional)42 b(op)s(erators)f(\(see)g(Section)h(6.4)f ([Bash)g(Conditional)g(Expres-)1110 4525 y(sions],)34 -b(page)f(76\),)i(the)e(expression)f(is)h(true)g(if)g(the)g(unary)e +b(page)f(78\),)i(the)e(expression)f(is)h(true)g(if)g(the)g(unary)e (test)j(is)f(true.)47 b(If)1110 4635 y(the)33 b(\014rst)g(argumen)m(t)h (is)f(not)g(a)h(v)-5 b(alid)34 b(unary)e(op)s(erator,)i(the)g (expression)f(is)1110 4744 y(false.)630 4902 y(3)e(argumen)m(ts)1110 5011 y(If)k(the)g(second)g(argumen)m(t)g(is)g(one)h(of)f(the)g(binary)f (conditional)j(op)s(erators)1110 5121 y(\(see)23 b(Section)g(6.4)f -([Bash)h(Conditional)f(Expressions],)h(page)g(76\),)i(the)d(result)1110 +([Bash)h(Conditional)f(Expressions],)h(page)g(78\),)i(the)d(result)1110 5230 y(of)44 b(the)h(expression)f(is)g(the)g(result)g(of)h(the)f (binary)g(test)h(using)e(the)i(\014rst)1110 5340 y(and)31 b(third)g(argumen)m(ts)i(as)f(op)s(erands.)44 b(The)31 b(`)p Fs(-a)p Ft(')h(and)g(`)p Fs(-o)p Ft(')f(op)s(erators)i(are)p eop end -%%Page: 40 46 -TeXDict begin 40 45 bop 150 -116 a Ft(40)2572 b(Bash)31 +%%Page: 42 48 +TeXDict begin 42 47 bop 150 -116 a Ft(42)2572 b(Bash)31 b(Reference)g(Man)m(ual)1110 299 y(considered)25 b(binary)g(op)s (erators)g(when)f(there)i(are)f(three)h(argumen)m(ts.)39 b(If)25 b(the)1110 408 y(\014rst)j(argumen)m(t)h(is)g(`)p @@ -7804,7 +7898,7 @@ y(b)s(efore)22 b(the)g(\014rst)f(command)h(executes)i(in)e(a)g(shell)h (function.)37 b(Refer)22 b(to)h(the)g(description)f(of)630 4440 y(the)i Fs(extdebug)d Ft(option)j(to)h(the)f Fs(shopt)e Ft(builtin)h(\(see)i(Section)f(4.3.2)i([The)d(Shopt)g(Builtin],)630 -4549 y(page)33 b(55\))g(for)f(details)h(of)f(its)h(e\013ect)g(on)f(the) +4549 y(page)33 b(57\))g(for)f(details)h(of)f(its)h(e\013ect)g(on)f(the) g Fs(DEBUG)f Ft(trap.)46 b(If)31 b(a)i Fq(sigsp)s(ec)38 b Ft(is)32 b Fs(RETURN)p Ft(,)f(the)630 4659 y(command)h Fq(arg)41 b Ft(is)33 b(executed)g(eac)m(h)h(time)f(a)g(shell)g @@ -7822,9 +7916,9 @@ Ft(k)m(eyw)m(ord,)49 b(part)c(of)g(the)h(test)g(follo)m(wing)g(the)f Fs(if)g Ft(or)630 5340 y Fs(elif)d Ft(reserv)m(ed)i(w)m(ords,)j(part)c (of)h(a)g(command)f(executed)i(in)e(a)h Fs(&&)f Ft(or)h Fs(||)f Ft(list,)k(or)d(if)p eop end -%%Page: 41 47 -TeXDict begin 41 46 bop 150 -116 a Ft(Chapter)30 b(4:)41 -b(Shell)30 b(Builtin)h(Commands)2069 b(41)630 299 y(the)40 +%%Page: 43 49 +TeXDict begin 43 48 bop 150 -116 a Ft(Chapter)30 b(4:)41 +b(Shell)30 b(Builtin)h(Commands)2069 b(43)630 299 y(the)40 b(command's)g(return)f(status)h(is)g(b)s(eing)f(in)m(v)m(erted)i(using) f Fs(!)p Ft(.)68 b(These)40 b(are)g(the)h(same)630 408 y(conditions)31 b(ob)s(ey)m(ed)f(b)m(y)h(the)f Fs(errexit)f @@ -7888,26 +7982,26 @@ b Fq(v)-5 b(alue)35 b Ft(is)29 b(giv)m(en.)630 4603 y(If)39 b(no)h Fq(v)-5 b(alue)45 b Ft(is)40 b(giv)m(en,)j(the)d(name)f(and)g(v) -5 b(alue)40 b(of)g(the)g(alias)h(is)f(prin)m(ted.)68 b(Aliases)41 b(are)630 4712 y(describ)s(ed)29 b(in)h(Section)i(6.6)f -([Aliases],)h(page)f(79.)150 4875 y Fs(bind)870 5011 +([Aliases],)h(page)f(81.)150 4875 y Fs(bind)870 5011 y(bind)47 b([-m)g Fi(keymap)11 b Fs(])45 b([-lpsvPSV])870 5121 y(bind)i([-m)g Fi(keymap)11 b Fs(])45 b([-q)i Fi(function)11 b Fs(])45 b([-u)h Fi(function)11 b Fs(])45 b([-r)i Fi(keyseq)11 b Fs(])870 5230 y(bind)47 b([-m)g Fi(keymap)11 b Fs(])45 b(-f)i Fi(filename)870 5340 y Fs(bind)g([-m)g Fi(keymap)11 b Fs(])45 b(-x)i Fi(keyseq:shell-command)p eop end -%%Page: 42 48 -TeXDict begin 42 47 bop 150 -116 a Ft(42)2572 b(Bash)31 +%%Page: 44 50 +TeXDict begin 44 49 bop 150 -116 a Ft(44)2572 b(Bash)31 b(Reference)g(Man)m(ual)870 299 y Fs(bind)47 b([-m)g Fi(keymap)11 b Fs(])45 b Fi(keyseq:function-name)870 408 y Fs(bind)i Fi(readline-command)630 545 y Ft(Displa)m(y)26 b(curren)m(t)f(Readline)h(\(see)g(Chapter)f(8)g([Command)g(Line)g -(Editing],)i(page)f(93\))g(k)m(ey)630 655 y(and)36 b(function)g +(Editing],)i(page)f(95\))g(k)m(ey)630 655 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 765 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 874 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 -984 y(File],)g(page)c(96\),)k(but)38 b(eac)m(h)i(binding)e(or)h +984 y(File],)g(page)c(98\),)k(but)38 b(eac)m(h)i(binding)e(or)h (command)g(m)m(ust)g(b)s(e)f(passed)g(as)i(a)f(separate)630 1093 y(argumen)m(t;)31 b(e.g.,)h(`)p Fs("\\C-x\\C-r":re-read-init-f)o (ile)p Ft('.)630 1230 y(Options,)e(if)h(supplied,)e(ha)m(v)m(e)i(the)g @@ -7957,9 +8051,9 @@ b(to)g(the)g(con)m(ten)m(ts)i(of)e(the)g(Readline)g(line)g(bu\013er)f (and)g(the)1110 5340 y Fs(READLINE_POINT)e Ft(v)-5 b(ariable)39 b(to)h(the)e(curren)m(t)h(lo)s(cation)h(of)f(the)g(insertion)p eop end -%%Page: 43 49 -TeXDict begin 43 48 bop 150 -116 a Ft(Chapter)30 b(4:)41 -b(Shell)30 b(Builtin)h(Commands)2069 b(43)1110 299 y(p)s(oin)m(t.)59 +%%Page: 45 51 +TeXDict begin 45 50 bop 150 -116 a Ft(Chapter)30 b(4:)41 +b(Shell)30 b(Builtin)h(Commands)2069 b(45)1110 299 y(p)s(oin)m(t.)59 b(If)37 b(the)f(executed)i(command)e(c)m(hanges)i(the)f(v)-5 b(alue)37 b(of)f Fs(READLINE_)1110 408 y(LINE)29 b Ft(or)h Fs(READLINE_POINT)p Ft(,)c(those)31 b(new)e(v)-5 b(alues)31 @@ -8032,8 +8126,8 @@ b(instead.)630 5230 y(The)c(`)p Fs(-p)p Ft(')h(option)g(will)g(displa)m Fq(name)5 b Ft(.)40 b(When)27 b(`)p Fs(-p)p Ft(')630 5340 y(is)j(used)g(with)g Fq(name)36 b Ft(argumen)m(ts,)31 b(additional)g(options)f(are)h(ignored.)p eop end -%%Page: 44 50 -TeXDict begin 44 49 bop 150 -116 a Ft(44)2572 b(Bash)31 +%%Page: 46 52 +TeXDict begin 46 51 bop 150 -116 a Ft(46)2572 b(Bash)31 b(Reference)g(Man)m(ual)630 299 y(When)36 b(`)p Fs(-p)p Ft(')f(is)h(supplied)f(without)h Fq(name)41 b Ft(argumen)m(ts,)d Fs(declare)c Ft(will)i(displa)m(y)g(the)g(at-)630 408 @@ -8044,1064 +8138,1087 @@ b(ariables)31 b(ha)m(ving)h(the)f(attributes)g(sp)s(eci\014ed)f(b)m(y)h Fs(declare)f Ft(will)i(displa)m(y)630 628 y(the)f(attributes)g(and)e(v) -5 b(alues)30 b(of)g(all)g(shell)g(v)-5 b(ariables.)41 b(The)29 b(`)p Fs(-f)p Ft(')g(option)h(will)g(restrict)g(the)630 -737 y(displa)m(y)h(to)g(shell)f(functions.)630 867 y(The)36 +737 y(displa)m(y)h(to)g(shell)f(functions.)630 870 y(The)36 b(`)p Fs(-F)p Ft(')h(option)g(inhibits)f(the)h(displa)m(y)g(of)g (function)g(de\014nitions;)i(only)e(the)g(function)630 -976 y(name)30 b(and)f(attributes)i(are)f(prin)m(ted.)40 +979 y(name)30 b(and)f(attributes)i(are)f(prin)m(ted.)40 b(If)30 b(the)g Fs(extdebug)e Ft(shell)i(option)g(is)g(enabled)g(using) -630 1086 y Fs(shopt)24 b Ft(\(see)i(Section)g(4.3.2)i([The)d(Shopt)f -(Builtin],)k(page)e(55\),)i(the)d(source)h(\014le)f(name)h(and)630 -1196 y(line)38 b(n)m(um)m(b)s(er)e(where)i(the)g(function)f(is)h +630 1089 y Fs(shopt)24 b Ft(\(see)i(Section)g(4.3.2)i([The)d(Shopt)f +(Builtin],)k(page)e(57\),)i(the)d(source)h(\014le)f(name)h(and)630 +1198 y(line)38 b(n)m(um)m(b)s(er)e(where)i(the)g(function)f(is)h (de\014ned)e(are)i(displa)m(y)m(ed)h(as)e(w)m(ell.)64 -b(`)p Fs(-F)p Ft(')38 b(implies)630 1305 y(`)p Fs(-f)p -Ft('.)i(The)28 b(follo)m(wing)i(options)f(can)f(b)s(e)g(used)g(to)h -(restrict)g(output)f(to)h(v)-5 b(ariables)30 b(with)e(the)630 -1415 y(sp)s(eci\014ed)i(attributes)h(or)f(to)h(giv)m(e)h(v)-5 -b(ariables)31 b(attributes:)630 1564 y Fs(-a)384 b Ft(Eac)m(h)36 -b Fq(name)k Ft(is)34 b(an)h(indexed)g(arra)m(y)g(v)-5 -b(ariable)36 b(\(see)f(Section)h(6.7)g([Arra)m(ys],)1110 -1674 y(page)31 b(80\).)630 1823 y Fs(-A)384 b Ft(Eac)m(h)24 +b(`)p Fs(-F)p Ft(')38 b(implies)630 1308 y(`)p Fs(-f)p +Ft('.)630 1440 y(The)32 b(`)p Fs(-g)p Ft(')h(option)g(forces)g(v)-5 +b(ariables)33 b(to)h(b)s(e)e(created)h(or)g(mo)s(di\014ed)e(at)j(the)f +(global)h(scop)s(e,)630 1550 y(ev)m(en)39 b(when)f Fs(\\)p +Ft(fBdeclare)p Fs(\\)p Ft(fP)h(is)g(executed)h(in)e(a)h(shell)g +(function.)66 b(It)39 b(is)g(ignored)g(in)f(all)630 1660 +y(other)31 b(cases.)630 1792 y(The)c(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 1902 y(i\014ed)j(attributes)h(or)f(to)h +(giv)m(e)h(v)-5 b(ariables)31 b(attributes:)630 2057 +y Fs(-a)384 b Ft(Eac)m(h)36 b Fq(name)k Ft(is)34 b(an)h(indexed)g(arra) +m(y)g(v)-5 b(ariable)36 b(\(see)f(Section)h(6.7)g([Arra)m(ys],)1110 +2166 y(page)31 b(82\).)630 2322 y Fs(-A)384 b Ft(Eac)m(h)24 b Fq(name)k Ft(is)23 b(an)g(asso)s(ciativ)m(e)j(arra)m(y)e(v)-5 b(ariable)24 b(\(see)g(Section)g(6.7)g([Arra)m(ys],)1110 -1933 y(page)31 b(80\).)630 2082 y Fs(-f)384 b Ft(Use)31 -b(function)f(names)g(only)-8 b(.)630 2232 y Fs(-i)384 +2431 y(page)31 b(82\).)630 2587 y Fs(-f)384 b Ft(Use)31 +b(function)f(names)g(only)-8 b(.)630 2742 y Fs(-i)384 b Ft(The)36 b(v)-5 b(ariable)37 b(is)f(to)h(b)s(e)f(treated)h(as)g(an)f (in)m(teger;)41 b(arithmetic)c(ev)-5 b(aluation)1110 -2341 y(\(see)29 b(Section)f(6.5)h([Shell)f(Arithmetic],)i(page)e(78\))h -(is)f(p)s(erformed)e(when)h(the)1110 2451 y(v)-5 b(ariable)31 -b(is)g(assigned)f(a)h(v)-5 b(alue.)630 2600 y Fs(-l)384 +2851 y(\(see)29 b(Section)f(6.5)h([Shell)f(Arithmetic],)i(page)e(80\))h +(is)f(p)s(erformed)e(when)h(the)1110 2961 y(v)-5 b(ariable)31 +b(is)g(assigned)f(a)h(v)-5 b(alue.)630 3116 y Fs(-l)384 b Ft(When)26 b(the)g(v)-5 b(ariable)27 b(is)f(assigned)g(a)g(v)-5 b(alue,)28 b(all)f(upp)s(er-case)e(c)m(haracters)j(are)1110 -2710 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 2859 +3226 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 3381 y Fs(-r)384 b Ft(Mak)m(e)25 b Fq(name)5 b Ft(s)23 b(readonly)-8 b(.)39 b(These)24 b(names)f(cannot)h(then)f(b)s(e)g(assigned)h(v)-5 -b(alues)1110 2969 y(b)m(y)30 b(subsequen)m(t)g(assignmen)m(t)h -(statemen)m(ts)h(or)f(unset.)630 3118 y Fs(-t)384 b Ft(Giv)m(e)33 +b(alues)1110 3491 y(b)m(y)30 b(subsequen)m(t)g(assignmen)m(t)h +(statemen)m(ts)h(or)f(unset.)630 3646 y Fs(-t)384 b Ft(Giv)m(e)33 b(eac)m(h)h Fq(name)j Ft(the)32 b Fs(trace)f Ft(attribute.)46 -b(T)-8 b(raced)32 b(functions)g(inherit)g(the)1110 3228 +b(T)-8 b(raced)32 b(functions)g(inherit)g(the)1110 3756 y Fs(DEBUG)26 b Ft(and)h Fs(RETURN)f Ft(traps)h(from)g(the)h(calling)h -(shell.)40 b(The)27 b(trace)i(attribute)1110 3337 y(has)h(no)g(sp)s -(ecial)h(meaning)g(for)f(v)-5 b(ariables.)630 3487 y +(shell.)40 b(The)27 b(trace)i(attribute)1110 3865 y(has)h(no)g(sp)s +(ecial)h(meaning)g(for)f(v)-5 b(ariables.)630 4020 y Fs(-u)384 b Ft(When)28 b(the)h(v)-5 b(ariable)29 b(is)f(assigned)h(a)f (v)-5 b(alue,)30 b(all)f(lo)m(w)m(er-case)i(c)m(haracters)f(are)1110 -3597 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 3746 +4130 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 4285 y Fs(-x)384 b Ft(Mark)30 b(eac)m(h)h Fq(name)k Ft(for)29 b(exp)s(ort)h(to)g(subsequen)m(t)f(commands)h(via)g(the)g(en)m(vi-)1110 -3856 y(ronmen)m(t.)630 4005 y(Using)e(`)p Fs(+)p Ft(')h(instead)f(of)g +4395 y(ronmen)m(t.)630 4550 y(Using)e(`)p Fs(+)p Ft(')h(instead)f(of)g (`)p Fs(-)p Ft(')g(turns)f(o\013)i(the)f(attribute)h(instead,)g(with)f -(the)g(exceptions)h(that)630 4115 y(`)p Fs(+a)p Ft(')h(ma)m(y)h(not)f +(the)g(exceptions)h(that)630 4660 y(`)p Fs(+a)p Ft(')h(ma)m(y)h(not)f (b)s(e)f(used)g(to)i(destro)m(y)g(an)f(arra)m(y)g(v)-5 b(ariable)31 b(and)f(`)p Fs(+r)p Ft(')g(will)g(not)g(remo)m(v)m(e)i -(the)630 4224 y(readonly)e(attribute.)41 b(When)30 b(used)f(in)g(a)h +(the)630 4769 y(readonly)e(attribute.)41 b(When)30 b(used)f(in)g(a)h (function,)g Fs(declare)e Ft(mak)m(es)j(eac)m(h)f Fq(name)35 -b Ft(lo)s(cal,)630 4334 y(as)40 b(with)g(the)g Fs(local)e -Ft(command.)69 b(If)40 b(a)g(v)-5 b(ariable)41 b(name)f(is)g(follo)m(w) -m(ed)h(b)m(y)f(=)p Fq(v)-5 b(alue)5 b Ft(,)43 b(the)630 -4443 y(v)-5 b(alue)31 b(of)f(the)h(v)-5 b(ariable)31 -b(is)g(set)f(to)i Fq(v)-5 b(alue)5 b Ft(.)630 4573 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 -4682 y(is)c(made)g(to)g(de\014ne)f(a)h(function)g(using)f(`)p -Fs(-f)f(foo=bar)p Ft(',)h(an)h(attempt)g(is)g(made)g(to)h(assign)630 -4792 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 4902 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 5011 y([Arra)m(ys],)47 b(page)c(80\),)48 -b(one)43 b(of)g(the)g Fq(names)k Ft(is)c(not)g(a)g(v)-5 -b(alid)43 b(shell)g(v)-5 b(ariable)44 b(name,)i(an)630 -5121 y(attempt)28 b(is)f(made)h(to)f(turn)f(o\013)i(readonly)f(status)g +b Ft(lo)s(cal,)630 4879 y(as)30 b(with)g(the)h Fs(local)e +Ft(command,)h(unless)f(the)i(`)p Fs(-g)p Ft(')f(option)g(is)h(used.)40 +b(If)29 b(a)i(v)-5 b(ariable)31 b(name)630 4988 y(is)f(follo)m(w)m(ed)i +(b)m(y)f(=)p Fq(v)-5 b(alue)5 b Ft(,)31 b(the)f(v)-5 +b(alue)31 b(of)g(the)f(v)-5 b(ariable)31 b(is)g(set)g(to)g +Fq(v)-5 b(alue)5 b Ft(.)630 5121 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 5230 y(is)c(made)g(to)g(de\014ne)f(a)h +(function)g(using)f(`)p Fs(-f)f(foo=bar)p Ft(',)h(an)h(attempt)g(is)g +(made)g(to)h(assign)630 5340 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)p eop end +%%Page: 47 53 +TeXDict begin 47 52 bop 150 -116 a Ft(Chapter)30 b(4:)41 +b(Shell)30 b(Builtin)h(Commands)2069 b(47)630 299 y(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 408 y([Arra)m(ys],)47 +b(page)c(82\),)48 b(one)43 b(of)g(the)g Fq(names)k Ft(is)c(not)g(a)g(v) +-5 b(alid)43 b(shell)g(v)-5 b(ariable)44 b(name,)i(an)630 +518 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 -5230 y(is)h(made)h(to)g(turn)e(o\013)i(arra)m(y)f(status)h(for)f(an)g +628 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 -5340 y(displa)m(y)j(a)f(non-existen)m(t)i(function)e(with)g(`)p -Fs(-f)p Ft('.)p eop end -%%Page: 45 51 -TeXDict begin 45 50 bop 150 -116 a Ft(Chapter)30 b(4:)41 -b(Shell)30 b(Builtin)h(Commands)2069 b(45)150 299 y Fs(echo)870 -432 y(echo)47 b([-neE])f([)p Fi(arg)57 b Fs(...)o(])630 -565 y Ft(Output)31 b(the)i Fq(arg)8 b Ft(s,)33 b(separated)g(b)m(y)g -(spaces,)g(terminated)g(with)f(a)h(newline.)47 b(The)32 -b(return)630 674 y(status)40 b(is)g(alw)m(a)m(ys)h(0.)69 -b(If)39 b(`)p Fs(-n)p Ft(')h(is)f(sp)s(eci\014ed,)j(the)e(trailing)h -(newline)e(is)h(suppressed.)66 b(If)630 784 y(the)29 -b(`)p Fs(-e)p Ft(')g(option)g(is)h(giv)m(en,)g(in)m(terpretation)g(of)g -(the)f(follo)m(wing)h(bac)m(kslash-escap)s(ed)g(c)m(har-)630 -893 y(acters)38 b(is)f(enabled.)60 b(The)36 b(`)p Fs(-E)p -Ft(')h(option)g(disables)g(the)g(in)m(terpretation)h(of)f(these)g -(escap)s(e)630 1003 y(c)m(haracters,)h(ev)m(en)d(on)g(systems)g(where)f -(they)h(are)g(in)m(terpreted)h(b)m(y)e(default.)55 b(The)34 -b Fs(xpg_)630 1112 y(echo)d Ft(shell)h(option)h(ma)m(y)g(b)s(e)e(used)h -(to)h(dynamically)g(determine)f(whether)f(or)i(not)f -Fs(echo)630 1222 y Ft(expands)39 b(these)i(escap)s(e)g(c)m(haracters)g +737 y(displa)m(y)j(a)f(non-existen)m(t)i(function)e(with)g(`)p +Fs(-f)p Ft('.)150 894 y Fs(echo)870 1027 y(echo)47 b([-neE])f([)p +Fi(arg)57 b Fs(...)o(])630 1161 y Ft(Output)31 b(the)i +Fq(arg)8 b Ft(s,)33 b(separated)g(b)m(y)g(spaces,)g(terminated)g(with)f +(a)h(newline.)47 b(The)32 b(return)630 1270 y(status)40 +b(is)g(alw)m(a)m(ys)h(0.)69 b(If)39 b(`)p Fs(-n)p Ft(')h(is)f(sp)s +(eci\014ed,)j(the)e(trailing)h(newline)e(is)h(suppressed.)66 +b(If)630 1380 y(the)29 b(`)p Fs(-e)p Ft(')g(option)g(is)h(giv)m(en,)g +(in)m(terpretation)g(of)g(the)f(follo)m(wing)h(bac)m(kslash-escap)s(ed) +g(c)m(har-)630 1490 y(acters)38 b(is)f(enabled.)60 b(The)36 +b(`)p Fs(-E)p Ft(')h(option)g(disables)g(the)g(in)m(terpretation)h(of)f +(these)g(escap)s(e)630 1599 y(c)m(haracters,)h(ev)m(en)d(on)g(systems)g +(where)f(they)h(are)g(in)m(terpreted)h(b)m(y)e(default.)55 +b(The)34 b Fs(xpg_)630 1709 y(echo)d Ft(shell)h(option)h(ma)m(y)g(b)s +(e)e(used)h(to)h(dynamically)g(determine)f(whether)f(or)i(not)f +Fs(echo)630 1818 y Ft(expands)39 b(these)i(escap)s(e)g(c)m(haracters)g (b)m(y)g(default.)70 b Fs(echo)39 b Ft(do)s(es)h(not)g(in)m(terpret)h -(`)p Fs(--)p Ft(')f(to)630 1332 y(mean)30 b(the)h(end)f(of)g(options.) -630 1465 y Fs(echo)f Ft(in)m(terprets)i(the)f(follo)m(wing)i(escap)s(e) -f(sequences:)630 1621 y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630 -1777 y Fs(\\b)384 b Ft(bac)m(kspace)630 1933 y Fs(\\c)g -Ft(suppress)28 b(further)h(output)630 2089 y Fs(\\e)384 -b Ft(escap)s(e)630 2245 y Fs(\\f)g Ft(form)30 b(feed)630 -2401 y Fs(\\n)384 b Ft(new)30 b(line)630 2557 y Fs(\\r)384 -b Ft(carriage)32 b(return)630 2713 y Fs(\\t)384 b Ft(horizon)m(tal)32 -b(tab)630 2869 y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)630 -3025 y Fs(\\\\)384 b Ft(bac)m(kslash)630 3181 y Fs(\\0)p +(`)p Fs(--)p Ft(')f(to)630 1928 y(mean)30 b(the)h(end)f(of)g(options.) +630 2061 y Fs(echo)f Ft(in)m(terprets)i(the)f(follo)m(wing)i(escap)s(e) +f(sequences:)630 2218 y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630 +2375 y Fs(\\b)384 b Ft(bac)m(kspace)630 2532 y Fs(\\c)g +Ft(suppress)28 b(further)h(output)630 2689 y Fs(\\e)384 +b Ft(escap)s(e)630 2846 y Fs(\\f)g Ft(form)30 b(feed)630 +3003 y Fs(\\n)384 b Ft(new)30 b(line)630 3160 y Fs(\\r)384 +b Ft(carriage)32 b(return)630 3317 y Fs(\\t)384 b Ft(horizon)m(tal)32 +b(tab)630 3474 y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)630 +3631 y Fs(\\\\)384 b Ft(bac)m(kslash)630 3788 y Fs(\\0)p Fi(nnn)240 b Ft(the)32 b(eigh)m(t-bit)i(c)m(haracter)g(whose)e(v)-5 b(alue)33 b(is)f(the)g(o)s(ctal)i(v)-5 b(alue)32 b Fq(nnn)f -Ft(\(zero)i(to)1110 3291 y(three)e(o)s(ctal)g(digits\))630 -3447 y Fs(\\x)p Fi(HH)288 b Ft(the)40 b(eigh)m(t-bit)h(c)m(haracter)g +Ft(\(zero)i(to)1110 3898 y(three)e(o)s(ctal)g(digits\))630 +4055 y Fs(\\x)p Fi(HH)288 b Ft(the)40 b(eigh)m(t-bit)h(c)m(haracter)g (whose)e(v)-5 b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5 -b(alue)40 b Fq(HH)1110 3557 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e -(digits\))150 3713 y Fs(enable)870 3846 y(enable)46 b([-a])h([-dnps])f -([-f)g Fi(filename)11 b Fs(])45 b([)p Fi(name)57 b Fs(...)o(])630 -3978 y Ft(Enable)36 b(and)f(disable)h(builtin)g(shell)g(commands.)56 +b(alue)40 b Fq(HH)1110 4164 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e +(digits\))630 4321 y Fs(\\u)p Fi(HHHH)192 b Ft(the)41 +b(Unico)s(de)g(\(ISO/IEC)f(10646\))j(c)m(haracter)g(whose)e(v)-5 +b(alue)41 b(is)g(the)g(hex-)1110 4431 y(adecimal)32 b(v)-5 +b(alue)31 b Fq(HHHH)41 b Ft(\(one)31 b(to)g(four)e(hex)h(digits\))630 +4588 y Fs(\\U)p Fi(HHHHHHHH)1110 4697 y Ft(the)41 b(Unico)s(de)g +(\(ISO/IEC)f(10646\))j(c)m(haracter)g(whose)e(v)-5 b(alue)41 +b(is)g(the)g(hex-)1110 4807 y(adecimal)32 b(v)-5 b(alue)31 +b Fq(HHHHHHHH)41 b Ft(\(one)31 b(to)g(eigh)m(t)h(hex)e(digits\))150 +4964 y Fs(enable)870 5097 y(enable)46 b([-a])h([-dnps])f([-f)g +Fi(filename)11 b Fs(])45 b([)p Fi(name)57 b Fs(...)o(])630 +5230 y Ft(Enable)36 b(and)f(disable)h(builtin)g(shell)g(commands.)56 b(Disabling)37 b(a)g(builtin)e(allo)m(ws)i(a)f(disk)630 -4088 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 4198 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 4307 y(b)s(efore)32 -b(disk)f(commands.)46 b(If)31 b(`)p Fs(-n)p Ft(')h(is)g(used,)g(the)g -Fq(name)5 b Ft(s)32 b(b)s(ecome)h(disabled.)45 b(Otherwise)630 -4417 y Fq(name)5 b Ft(s)44 b(are)h(enabled.)82 b(F)-8 +5340 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)p eop end +%%Page: 48 54 +TeXDict begin 48 53 bop 150 -116 a Ft(48)2572 b(Bash)31 +b(Reference)g(Man)m(ual)630 299 y(sp)s(ecifying)c(a)g(full)g(pathname,) +g(ev)m(en)h(though)f(the)g(shell)g(normally)g(searc)m(hes)h(for)f +(builtins)630 408 y(b)s(efore)32 b(disk)f(commands.)46 +b(If)31 b(`)p Fs(-n)p Ft(')h(is)g(used,)g(the)g Fq(name)5 +b Ft(s)32 b(b)s(ecome)h(disabled.)45 b(Otherwise)630 +518 y Fq(name)5 b Ft(s)44 b(are)h(enabled.)82 b(F)-8 b(or)45 b(example,)k(to)c(use)f(the)g Fs(test)f Ft(binary)h(found)f -(via)h Fs($PATH)630 4526 y Ft(instead)31 b(of)f(the)h(shell)f(builtin)g +(via)h Fs($PATH)630 628 y Ft(instead)31 b(of)f(the)h(shell)f(builtin)g (v)m(ersion,)h(t)m(yp)s(e)g(`)p Fs(enable)e(-n)h(test)p -Ft('.)630 4659 y(If)42 b(the)h(`)p Fs(-p)p Ft(')f(option)h(is)f +Ft('.)630 762 y(If)42 b(the)h(`)p Fs(-p)p Ft(')f(option)h(is)f (supplied,)j(or)d(no)h Fq(name)k Ft(argumen)m(ts)c(app)s(ear,)i(a)e -(list)g(of)g(shell)630 4769 y(builtins)37 b(is)h(prin)m(ted.)63 +(list)g(of)g(shell)630 871 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 4878 y(shell)33 b(builtins.)46 b(The)32 +(all)h(enabled)630 981 y(shell)33 b(builtins.)46 b(The)32 b(`)p Fs(-a)p Ft(')h(option)g(means)f(to)i(list)f(eac)m(h)h(builtin)e -(with)g(an)g(indication)i(of)630 4988 y(whether)c(or)g(not)h(it)g(is)f -(enabled.)630 5121 y(The)40 b(`)p Fs(-f)p Ft(')g(option)g(means)g(to)h +(with)g(an)g(indication)i(of)630 1090 y(whether)c(or)g(not)h(it)g(is)f +(enabled.)630 1224 y(The)40 b(`)p Fs(-f)p Ft(')g(option)g(means)g(to)h (load)g(the)f(new)f(builtin)h(command)g Fq(name)45 b -Ft(from)40 b(shared)630 5230 y(ob)5 b(ject)26 b Fq(\014lename)5 +Ft(from)40 b(shared)630 1334 y(ob)5 b(ject)26 b Fq(\014lename)5 b Ft(,)28 b(on)d(systems)h(that)g(supp)s(ort)e(dynamic)h(loading.)40 -b(The)25 b(`)p Fs(-d)p Ft(')h(option)g(will)630 5340 +b(The)25 b(`)p Fs(-d)p Ft(')h(option)g(will)630 1443 y(delete)32 b(a)e(builtin)g(loaded)h(with)f(`)p Fs(-f)p -Ft('.)p eop end -%%Page: 46 52 -TeXDict begin 46 51 bop 150 -116 a Ft(46)2572 b(Bash)31 -b(Reference)g(Man)m(ual)630 299 y(If)g(there)g(are)g(no)g(options,)h(a) -f(list)h(of)f(the)g(shell)g(builtins)g(is)g(displa)m(y)m(ed.)43 -b(The)31 b(`)p Fs(-s)p Ft(')f(option)630 408 y(restricts)f -Fs(enable)e Ft(to)i(the)f Fl(posix)g Ft(sp)s(ecial)h(builtins.)40 +Ft('.)630 1577 y(If)h(there)g(are)g(no)g(options,)h(a)f(list)h(of)f +(the)g(shell)g(builtins)g(is)g(displa)m(y)m(ed.)43 b(The)31 +b(`)p Fs(-s)p Ft(')f(option)630 1687 y(restricts)f Fs(enable)e +Ft(to)i(the)f Fl(posix)g Ft(sp)s(ecial)h(builtins.)40 b(If)27 b(`)p Fs(-s)p Ft(')i(is)f(used)g(with)g(`)p Fs(-f)p -Ft(',)h(the)f(new)630 518 y(builtin)i(b)s(ecomes)h(a)f(sp)s(ecial)h +Ft(',)h(the)f(new)630 1797 y(builtin)i(b)s(ecomes)h(a)f(sp)s(ecial)h (builtin)f(\(see)i(Section)f(4.4)g([Sp)s(ecial)g(Builtins],)g(page)g -(59\).)630 650 y(The)26 b(return)f(status)h(is)g(zero)h(unless)e(a)i +(62\).)630 1931 y(The)26 b(return)f(status)h(is)g(zero)h(unless)e(a)i Fq(name)k Ft(is)26 b(not)g(a)h(shell)f(builtin)g(or)g(there)g(is)g(an)g -(error)630 760 y(loading)31 b(a)g(new)f(builtin)g(from)g(a)g(shared)g -(ob)5 b(ject.)150 915 y Fs(help)870 1047 y(help)47 b([-dms])f([)p -Fi(pattern)11 b Fs(])630 1179 y Ft(Displa)m(y)40 b(helpful)e +(error)630 2040 y(loading)31 b(a)g(new)f(builtin)g(from)g(a)g(shared)g +(ob)5 b(ject.)150 2198 y Fs(help)870 2332 y(help)47 b([-dms])f([)p +Fi(pattern)11 b Fs(])630 2466 y Ft(Displa)m(y)40 b(helpful)e (information)h(ab)s(out)g(builtin)f(commands.)66 b(If)38 -b Fq(pattern)h Ft(is)g(sp)s(eci\014ed,)630 1288 y Fs(help)28 +b Fq(pattern)h Ft(is)g(sp)s(eci\014ed,)630 2576 y Fs(help)28 b Ft(giv)m(es)i(detailed)g(help)e(on)h(all)h(commands)e(matc)m(hing)i -Fq(pattern)p Ft(,)g(otherwise)f(a)g(list)h(of)630 1398 -y(the)h(builtins)e(is)i(prin)m(ted.)630 1530 y(Options,)f(if)h +Fq(pattern)p Ft(,)g(otherwise)f(a)g(list)h(of)630 2685 +y(the)h(builtins)e(is)i(prin)m(ted.)630 2819 y(Options,)f(if)h (supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h(meanings:)630 -1685 y Fs(-d)384 b Ft(Displa)m(y)32 b(a)e(short)g(description)h(of)f -(eac)m(h)i Fq(pattern)630 1840 y Fs(-m)384 b Ft(Displa)m(y)32 +2978 y Fs(-d)384 b Ft(Displa)m(y)32 b(a)e(short)g(description)h(of)f +(eac)m(h)i Fq(pattern)630 3136 y Fs(-m)384 b Ft(Displa)m(y)32 b(the)e(description)g(of)h(eac)m(h)h Fq(pattern)e Ft(in)g(a)h -(manpage-lik)m(e)h(format)630 1994 y Fs(-s)384 b Ft(Displa)m(y)32 +(manpage-lik)m(e)h(format)630 3294 y Fs(-s)384 b Ft(Displa)m(y)32 b(only)e(a)h(short)f(usage)h(synopsis)e(for)i(eac)m(h)g -Fq(pattern)630 2149 y Ft(The)f(return)f(status)i(is)f(zero)h(unless)f -(no)g(command)h(matc)m(hes)g Fq(pattern)p Ft(.)150 2304 -y Fs(let)870 2436 y(let)47 b Fi(expression)55 b Fs([)p -Fi(expression)11 b Fs(])630 2568 y Ft(The)41 b Fs(let)g +Fq(pattern)630 3453 y Ft(The)f(return)f(status)i(is)f(zero)h(unless)f +(no)g(command)h(matc)m(hes)g Fq(pattern)p Ft(.)150 3611 +y Fs(let)870 3745 y(let)47 b Fi(expression)55 b Fs([)p +Fi(expression)11 b Fs(])630 3879 y Ft(The)41 b Fs(let)g Ft(builtin)g(allo)m(ws)i(arithmetic)f(to)h(b)s(e)d(p)s(erformed)g(on)i -(shell)g(v)-5 b(ariables.)74 b(Eac)m(h)630 2678 y Fq(expression)31 +(shell)g(v)-5 b(ariables.)74 b(Eac)m(h)630 3988 y Fq(expression)31 b Ft(is)g(ev)-5 b(aluated)32 b(according)f(to)h(the)f(rules)g(giv)m(en) -h(b)s(elo)m(w)f(in)f(Section)i(6.5)g([Shell)630 2787 -y(Arithmetic],)51 b(page)46 b(78.)87 b(If)45 b(the)g(last)h +h(b)s(elo)m(w)f(in)f(Section)i(6.5)g([Shell)630 4098 +y(Arithmetic],)51 b(page)46 b(80.)87 b(If)45 b(the)g(last)h Fq(expression)g Ft(ev)-5 b(aluates)47 b(to)f(0,)k Fs(let)44 -b Ft(returns)g(1;)630 2897 y(otherwise)31 b(0)g(is)f(returned.)150 -3051 y Fs(local)870 3184 y(local)46 b([)p Fi(option)11 +b Ft(returns)g(1;)630 4208 y(otherwise)31 b(0)g(is)f(returned.)150 +4366 y Fs(local)870 4500 y(local)46 b([)p Fi(option)11 b Fs(])45 b Fi(name)11 b Fs([=)p Fi(value)g Fs(])44 b(...)630 -3316 y Ft(F)-8 b(or)26 b(eac)m(h)h(argumen)m(t,)g(a)e(lo)s(cal)i(v)-5 +4634 y Ft(F)-8 b(or)26 b(eac)m(h)h(argumen)m(t,)g(a)e(lo)s(cal)i(v)-5 b(ariable)26 b(named)f Fq(name)31 b Ft(is)25 b(created,)j(and)d -(assigned)g Fq(v)-5 b(alue)5 b Ft(.)630 3425 y(The)37 +(assigned)g Fq(v)-5 b(alue)5 b Ft(.)630 4743 y(The)37 b Fq(option)h Ft(can)f(b)s(e)g(an)m(y)h(of)f(the)h(options)g(accepted)g (b)m(y)g Fs(declare)p Ft(.)59 b Fs(local)36 b Ft(can)i(only)630 -3535 y(b)s(e)j(used)h(within)f(a)i(function;)48 b(it)42 +4853 y(b)s(e)j(used)h(within)f(a)i(function;)48 b(it)42 b(mak)m(es)h(the)f(v)-5 b(ariable)43 b Fq(name)48 b Ft(ha)m(v)m(e)43 -b(a)f(visible)h(scop)s(e)630 3645 y(restricted)c(to)g(that)g(function)f +b(a)f(visible)h(scop)s(e)630 4963 y(restricted)c(to)g(that)g(function)f (and)f(its)i(c)m(hildren.)64 b(The)38 b(return)f(status)h(is)h(zero)g -(unless)630 3754 y Fs(local)g Ft(is)h(used)g(outside)g(a)h(function,)h +(unless)630 5072 y Fs(local)g Ft(is)h(used)g(outside)g(a)h(function,)h (an)e(in)m(v)-5 b(alid)41 b Fq(name)46 b Ft(is)40 b(supplied,)i(or)e -Fq(name)45 b Ft(is)c(a)630 3864 y(readonly)30 b(v)-5 -b(ariable.)150 4018 y Fs(logout)870 4151 y(logout)46 -b([)p Fi(n)11 b Fs(])630 4283 y Ft(Exit)31 b(a)g(login)g(shell,)g +Fq(name)45 b Ft(is)c(a)630 5182 y(readonly)30 b(v)-5 +b(ariable.)150 5340 y Fs(logout)p eop end +%%Page: 49 55 +TeXDict begin 49 54 bop 150 -116 a Ft(Chapter)30 b(4:)41 +b(Shell)30 b(Builtin)h(Commands)2069 b(49)870 299 y Fs(logout)46 +b([)p Fi(n)11 b Fs(])630 429 y Ft(Exit)31 b(a)g(login)g(shell,)g (returning)e(a)i(status)g(of)f Fq(n)g Ft(to)h(the)g(shell's)f(paren)m -(t.)150 4437 y Fs(mapfile)870 4570 y(mapfile)46 b([-n)h +(t.)150 580 y Fs(mapfile)870 710 y(mapfile)46 b([-n)h Fi(count)11 b Fs(])45 b([-O)i Fi(origin)11 b Fs(])46 b([-s)g Fi(count)11 b Fs(])46 b([-t])h([-u)g Fi(fd)11 -b Fs(])46 b([)870 4679 y(-C)h Fi(callback)11 b Fs(])45 +b Fs(])46 b([)870 819 y(-C)h Fi(callback)11 b Fs(])45 b([-c)i Fi(quantum)11 b Fs(])45 b([)p Fi(array)11 b Fs(])630 -4811 y Ft(Read)37 b(lines)g(from)f(the)h(standard)f(input)g(in)m(to)h +950 y Ft(Read)37 b(lines)g(from)f(the)h(standard)f(input)g(in)m(to)h (the)g(indexed)f(arra)m(y)i(v)-5 b(ariable)37 b Fq(arra)m(y)8 -b Ft(,)39 b(or)630 4921 y(from)c(\014le)h(descriptor)g +b Ft(,)39 b(or)630 1059 y(from)c(\014le)h(descriptor)g Fq(fd)j Ft(if)d(the)g(`)p Fs(-u)p Ft(')g(option)g(is)g(supplied.)56 b(The)35 b(v)-5 b(ariable)37 b Fs(MAPFILE)d Ft(is)630 -5031 y(the)d(default)f Fq(arra)m(y)8 b Ft(.)41 b(Options,)30 +1169 y(the)d(default)f Fq(arra)m(y)8 b Ft(.)41 b(Options,)30 b(if)h(supplied,)e(ha)m(v)m(e)j(the)e(follo)m(wing)i(meanings:)630 -5185 y Fs(-n)384 b Ft(Cop)m(y)30 b(at)h(most)g Fq(coun)m(t)i +1319 y Fs(-n)384 b Ft(Cop)m(y)30 b(at)h(most)g Fq(coun)m(t)i Ft(lines.)41 b(If)30 b Fq(coun)m(t)j Ft(is)d(0,)h(all)h(lines)e(are)h -(copied.)630 5340 y Fs(-O)384 b Ft(Begin)31 b(assigning)g(to)g +(copied.)630 1470 y Fs(-O)384 b Ft(Begin)31 b(assigning)g(to)g Fq(arra)m(y)39 b Ft(at)31 b(index)f Fq(origin)p Ft(.)41 -b(The)30 b(default)h(index)f(is)g(0.)p eop end -%%Page: 47 53 -TeXDict begin 47 52 bop 150 -116 a Ft(Chapter)30 b(4:)41 -b(Shell)30 b(Builtin)h(Commands)2069 b(47)630 299 y Fs(-s)384 +b(The)30 b(default)h(index)f(is)g(0.)630 1621 y Fs(-s)384 b Ft(Discard)31 b(the)f(\014rst)g Fq(coun)m(t)j Ft(lines)e(read.)630 -456 y Fs(-t)384 b Ft(Remo)m(v)m(e)32 b(a)f(trailing)g(newline)g(from)f -(eac)m(h)h(line)g(read.)630 613 y Fs(-u)384 b Ft(Read)31 +1771 y Fs(-t)384 b Ft(Remo)m(v)m(e)32 b(a)f(trailing)g(newline)g(from)f +(eac)m(h)h(line)g(read.)630 1922 y Fs(-u)384 b Ft(Read)31 b(lines)f(from)g(\014le)h(descriptor)f Fq(fd)j Ft(instead)e(of)f(the)h -(standard)e(input.)630 771 y Fs(-C)384 b Ft(Ev)-5 b(aluate)43 +(standard)e(input.)630 2073 y Fs(-C)384 b Ft(Ev)-5 b(aluate)43 b Fq(callbac)m(k)49 b Ft(eac)m(h)42 b(time)g Fq(quan)m(tum)p Ft(P)f(lines)h(are)f(read.)74 b(The)41 b(`)p Fs(-c)p -Ft(')1110 880 y(option)31 b(sp)s(eci\014es)f Fq(quan)m(tum)p -Ft(.)630 1037 y Fs(-c)384 b Ft(Sp)s(ecify)30 b(the)g(n)m(um)m(b)s(er)f +Ft(')1110 2182 y(option)31 b(sp)s(eci\014es)f Fq(quan)m(tum)p +Ft(.)630 2333 y Fs(-c)384 b Ft(Sp)s(ecify)30 b(the)g(n)m(um)m(b)s(er)f (of)i(lines)f(read)h(b)s(et)m(w)m(een)g(eac)m(h)g(call)h(to)f -Fq(callbac)m(k)6 b Ft(.)630 1195 y(If)29 b(`)p Fs(-C)p -Ft(')g(is)h(sp)s(eci\014ed)f(without)g(`)p Fs(-c)p Ft(',)h(the)g -(default)g(quan)m(tum)f(is)g(5000.)42 b(When)30 b Fq(callbac)m(k)37 -b Ft(is)630 1304 y(ev)-5 b(aluated,)35 b(it)e(is)f(supplied)g(the)g -(index)g(of)h(the)g(next)g(arra)m(y)g(elemen)m(t)h(to)f(b)s(e)f -(assigned)h(as)630 1414 y(an)f(additional)h(argumen)m(t.)46 -b Fq(callbac)m(k)40 b Ft(is)32 b(ev)-5 b(aluated)33 b(after)g(the)f -(line)h(is)f(read)g(but)f(b)s(efore)630 1523 y(the)g(arra)m(y)f(elemen) -m(t)i(is)f(assigned.)630 1657 y(If)25 b(not)g(supplied)f(with)h(an)g -(explicit)i(origin,)g Fs(mapfile)c Ft(will)j(clear)g -Fq(arra)m(y)34 b Ft(b)s(efore)24 b(assigning)630 1766 -y(to)31 b(it.)630 1900 y Fs(mapfile)41 b Ft(returns)g(successfully)i -(unless)e(an)i(in)m(v)-5 b(alid)43 b(option)g(or)g(option)g(argumen)m -(t)g(is)630 2009 y(supplied,)29 b Fq(arra)m(y)39 b Ft(is)30 -b(in)m(v)-5 b(alid)31 b(or)g(unassignable,)f(or)h Fq(arra)m(y)38 +Fq(callbac)m(k)6 b Ft(.)630 2484 y(If)36 b(`)p Fs(-C)p +Ft(')g(is)h(sp)s(eci\014ed)f(without)g(`)p Fs(-c)p Ft(',)i(the)f +(default)f(quan)m(tum)g(is)h(5000.)61 b(When)36 b Fq(callbac)m(k)630 +2593 y Ft(is)e(ev)-5 b(aluated,)36 b(it)f(is)f(supplied)f(the)h(index)f +(of)h(the)h(next)f(arra)m(y)g(elemen)m(t)i(to)e(b)s(e)g(assigned)630 +2703 y(and)f(the)g(line)h(to)f(b)s(e)g(assigned)g(to)h(that)g(elemen)m +(t)h(as)e(additional)h(argumen)m(ts.)50 b Fq(callbac)m(k)630 +2813 y Ft(is)30 b(ev)-5 b(aluated)32 b(after)f(the)f(line)h(is)g(read)f +(but)g(b)s(efore)f(the)i(arra)m(y)g(elemen)m(t)h(is)e(assigned.)630 +2943 y(If)25 b(not)g(supplied)f(with)h(an)g(explicit)i(origin,)g +Fs(mapfile)c Ft(will)j(clear)g Fq(arra)m(y)34 b Ft(b)s(efore)24 +b(assigning)630 3052 y(to)31 b(it.)630 3182 y Fs(mapfile)41 +b Ft(returns)g(successfully)i(unless)e(an)i(in)m(v)-5 +b(alid)43 b(option)g(or)g(option)g(argumen)m(t)g(is)630 +3292 y(supplied,)29 b Fq(arra)m(y)39 b Ft(is)30 b(in)m(v)-5 +b(alid)31 b(or)g(unassignable,)f(or)h Fq(arra)m(y)38 b Ft(is)31 b(not)f(an)h(indexed)e(arra)m(y)-8 b(.)150 -2167 y Fs(printf)870 2300 y(printf)46 b([-v)h Fi(var)11 +3443 y Fs(printf)870 3573 y(printf)46 b([-v)h Fi(var)11 b Fs(])46 b Fi(format)57 b Fs([)p Fi(arguments)11 b Fs(])630 -2433 y Ft(W)-8 b(rite)27 b(the)g(formatted)f Fq(argumen)m(ts)k +3703 y Ft(W)-8 b(rite)27 b(the)g(formatted)f Fq(argumen)m(ts)k Ft(to)d(the)f(standard)f(output)h(under)e(the)i(con)m(trol)i(of)e(the) -630 2543 y Fq(format)r Ft(.)40 b(The)29 b Fq(format)i -Ft(is)d(a)h(c)m(haracter)i(string)d(whic)m(h)h(con)m(tains)h(three)e(t) -m(yp)s(es)h(of)g(ob)5 b(jects:)630 2653 y(plain)28 b(c)m(haracters,)j -(whic)m(h)d(are)h(simply)f(copied)h(to)h(standard)d(output,)i(c)m -(haracter)h(escap)s(e)630 2762 y(sequences,)g(whic)m(h)f(are)g(con)m(v) -m(erted)i(and)d(copied)i(to)f(the)h(standard)e(output,)h(and)g(format) -630 2872 y(sp)s(eci\014cations,)38 b(eac)m(h)g(of)e(whic)m(h)g(causes)g -(prin)m(ting)g(of)g(the)h(next)f(successiv)m(e)h Fq(argumen)m(t)r -Ft(.)630 2981 y(In)31 b(addition)h(to)h(the)e(standard)g -Fs(printf\(1\))f Ft(formats,)i(`)p Fs(\045b)p Ft(')g(causes)g -Fs(printf)e Ft(to)j(expand)630 3091 y(bac)m(kslash)39 -b(escap)s(e)f(sequences)h(in)f(the)g(corresp)s(onding)f -Fq(argumen)m(t)r Ft(,)k(\(except)e(that)g(`)p Fs(\\c)p -Ft(')630 3201 y(terminates)44 b(output,)j(bac)m(kslashes)d(in)f(`)p -Fs(\\')p Ft(',)k(`)p Fs(\\")p Ft(',)g(and)c(`)p Fs(\\?)p -Ft(')g(are)h(not)g(remo)m(v)m(ed,)k(and)630 3310 y(o)s(ctal)25 -b(escap)s(es)f(b)s(eginning)f(with)g(`)p Fs(\\0)p Ft(')h(ma)m(y)g(con)m -(tain)h(up)e(to)h(four)f(digits\),)j(and)d(`)p Fs(\045q)p -Ft(')h(causes)630 3420 y Fs(printf)31 b Ft(to)i(output)f(the)h(corresp) -s(onding)f Fq(argumen)m(t)j Ft(in)d(a)h(format)g(that)g(can)g(b)s(e)f -(reused)630 3529 y(as)f(shell)f(input.)630 3663 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 3772 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 3882 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 -4015 y(The)e(`)p Fs(-v)p Ft(')h(option)g(causes)g(the)g(output)g(to)g -(b)s(e)f(assigned)h(to)h(the)f(v)-5 b(ariable)25 b Fq(v)-5 -b(ar)32 b Ft(rather)24 b(than)630 4125 y(b)s(eing)30 -b(prin)m(ted)g(to)h(the)g(standard)e(output.)630 4258 -y(The)i Fq(format)i Ft(is)e(reused)f(as)i(necessary)f(to)h(consume)f -(all)h(of)f(the)g Fq(argumen)m(ts)t Ft(.)43 b(If)31 b(the)g -Fq(for-)630 4368 y(mat)d Ft(requires)e(more)g Fq(argumen)m(ts)k -Ft(than)25 b(are)i(supplied,)e(the)h(extra)h(format)f(sp)s -(eci\014cations)630 4478 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 4587 y(return)29 b(v)-5 b(alue)31 +630 3813 y Fq(format)r Ft(.)57 b(The)35 b(`)p Fs(-v)p +Ft(')h(option)g(causes)g(the)g(output)g(to)g(b)s(e)f(assigned)h(to)h +(the)e(v)-5 b(ariable)37 b Fq(v)-5 b(ar)630 3922 y Ft(rather)30 +b(than)g(b)s(eing)g(prin)m(ted)g(to)h(the)g(standard)e(output.)630 +4052 y(The)36 b Fq(format)i Ft(is)f(a)f(c)m(haracter)i(string)e(whic)m +(h)g(con)m(tains)i(three)e(t)m(yp)s(es)g(of)h(ob)5 b(jects:)53 +b(plain)630 4162 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 +4271 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 4381 y(sp)s +(eci\014cations,)i(eac)m(h)g(of)e(whic)m(h)g(causes)g(prin)m(ting)g(of) +g(the)h(next)f(successiv)m(e)h Fq(argumen)m(t)r Ft(.)630 +4491 y(In)24 b(addition)h(to)g(the)g(standard)f Fs(printf\(1\))e +Ft(formats,)27 b Fs(printf)c Ft(in)m(terprets)i(the)f(follo)m(wing)630 +4600 y(extensions:)630 4751 y Fs(\045b)384 b Ft(causes)42 +b Fs(printf)e Ft(to)i(expand)f(bac)m(kslash)h(escap)s(e)g(sequences)f +(in)h(the)f(cor-)1110 4861 y(resp)s(onding)c Fq(argumen)m(t)r +Ft(,)42 b(\(except)e(that)g(`)p Fs(\\c)p Ft(')e(terminates)i(output,)h +(bac)m(k-)1110 4970 y(slashes)d(in)f(`)p Fs(\\')p Ft(',)j(`)p +Fs(\\")p Ft(',)f(and)e(`)p Fs(\\?)p Ft(')h(are)g(not)g(remo)m(v)m(ed,)j +(and)c(o)s(ctal)i(escap)s(es)1110 5080 y(b)s(eginning)30 +b(with)g(`)p Fs(\\0)p Ft(')g(ma)m(y)h(con)m(tain)h(up)d(to)i(four)f +(digits\).)630 5230 y Fs(\045q)384 b Ft(causes)35 b Fs(printf)e +Ft(to)i(output)g(the)g(corresp)s(onding)e Fq(argumen)m(t)k +Ft(in)e(a)g(format)1110 5340 y(that)c(can)g(b)s(e)e(reused)h(as)h +(shell)f(input.)p eop end +%%Page: 50 56 +TeXDict begin 50 55 bop 150 -116 a Ft(50)2572 b(Bash)31 +b(Reference)g(Man)m(ual)630 299 y Fs(\045\()p Fi(datefmt)11 +b Fs(\)T)1110 408 y Ft(causes)32 b Fs(printf)f Ft(to)h(output)g(the)g +(date-time)i(string)e(resulting)g(from)f(using)1110 518 +y Fq(datefm)m(t)45 b Ft(as)d(a)g(format)g(string)g(for)g +Fs(strftime)p Ft(\(3\).)74 b(The)41 b(corresp)s(onding)1110 +628 y Fq(argumen)m(t)h Ft(is)e(an)g(in)m(teger)i(represen)m(ting)e(the) +g(n)m(um)m(b)s(er)f(of)h(seconds)g(since)1110 737 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 +847 y(the)30 b(curren)m(t)g(time,)h(and)e(-2)i(represen)m(ts)f(the)g +(time)h(the)f(shell)g(w)m(as)g(in)m(v)m(ok)m(ed.)630 +1005 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 1115 +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 +1224 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 1358 y(The)31 b Fq(format)i +Ft(is)e(reused)f(as)i(necessary)f(to)h(consume)f(all)h(of)f(the)g +Fq(argumen)m(ts)t Ft(.)43 b(If)31 b(the)g Fq(for-)630 +1468 y(mat)d Ft(requires)e(more)g Fq(argumen)m(ts)k Ft(than)25 +b(are)i(supplied,)e(the)h(extra)h(format)f(sp)s(eci\014cations)630 +1577 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 1687 y(return)29 b(v)-5 b(alue)31 b(is)g(zero)g(on)f(success,)h(non-zero)g(on)f(failure.)150 -4744 y Fs(read)870 4878 y(read)47 b([-ers])f([-a)h Fi(aname)11 +1845 y Fs(read)870 1979 y(read)47 b([-ers])f([-a)h Fi(aname)11 b Fs(])45 b([-d)i Fi(delim)11 b Fs(])46 b([-i)h Fi(text)11 b Fs(])46 b([-n)g Fi(nchars)11 b Fs(])46 b([-N)h Fi(nchars)11 b Fs(])45 b([-p)i Fi(prompt)11 b Fs(])45 b([-t)i Fi(time-)870 -4987 y(out)11 b Fs(])46 b([-u)h Fi(fd)11 b Fs(])46 b([)p -Fi(name)57 b Fs(...])630 5121 y Ft(One)26 b(line)h(is)g(read)f(from)h +2089 y(out)11 b Fs(])46 b([-u)h Fi(fd)11 b Fs(])46 b([)p +Fi(name)57 b Fs(...])630 2223 y Ft(One)26 b(line)h(is)g(read)f(from)h (the)f(standard)g(input,)h(or)g(from)f(the)h(\014le)f(descriptor)h -Fq(fd)i Ft(supplied)630 5230 y(as)37 b(an)g(argumen)m(t)h(to)f(the)h(`) +Fq(fd)i Ft(supplied)630 2332 y(as)37 b(an)g(argumen)m(t)h(to)f(the)h(`) p Fs(-u)p Ft(')e(option,)k(and)c(the)i(\014rst)e(w)m(ord)g(is)h -(assigned)h(to)f(the)h(\014rst)630 5340 y Fq(name)5 b +(assigned)h(to)f(the)h(\014rst)630 2442 y Fq(name)5 b Ft(,)28 b(the)g(second)g(w)m(ord)f(to)h(the)f(second)h Fq(name)5 b Ft(,)28 b(and)f(so)h(on,)g(with)f(lefto)m(v)m(er)j(w)m -(ords)d(and)p eop end -%%Page: 48 54 -TeXDict begin 48 53 bop 150 -116 a Ft(48)2572 b(Bash)31 -b(Reference)g(Man)m(ual)630 299 y(their)d(in)m(terv)m(ening)g -(separators)g(assigned)g(to)h(the)e(last)i Fq(name)5 -b Ft(.)40 b(If)27 b(there)h(are)g(few)m(er)f(w)m(ords)630 -408 y(read)44 b(from)f(the)g(input)g(stream)h(than)g(names,)j(the)c -(remaining)h(names)g(are)g(assigned)630 518 y(empt)m(y)31 -b(v)-5 b(alues.)41 b(The)30 b(c)m(haracters)i(in)e(the)h(v)-5 +(ords)d(and)630 2552 y(their)h(in)m(terv)m(ening)g(separators)g +(assigned)g(to)h(the)e(last)i Fq(name)5 b Ft(.)40 b(If)27 +b(there)h(are)g(few)m(er)f(w)m(ords)630 2661 y(read)44 +b(from)f(the)g(input)g(stream)h(than)g(names,)j(the)c(remaining)h +(names)g(are)g(assigned)630 2771 y(empt)m(y)31 b(v)-5 +b(alues.)41 b(The)30 b(c)m(haracters)i(in)e(the)h(v)-5 b(alue)31 b(of)g(the)f Fs(IFS)g Ft(v)-5 b(ariable)31 -b(are)g(used)f(to)h(split)630 628 y(the)37 b(line)h(in)m(to)g(w)m +b(are)g(used)f(to)h(split)630 2880 y(the)37 b(line)h(in)m(to)g(w)m (ords.)61 b(The)36 b(bac)m(kslash)i(c)m(haracter)h(`)p Fs(\\)p Ft(')e(ma)m(y)h(b)s(e)f(used)f(to)i(remo)m(v)m(e)h(an)m(y)630 -737 y(sp)s(ecial)h(meaning)g(for)f(the)g(next)h(c)m(haracter)h(read)e +2990 y(sp)s(ecial)h(meaning)g(for)f(the)g(next)h(c)m(haracter)h(read)e (and)g(for)g(line)h(con)m(tin)m(uation.)69 b(If)39 b(no)630 -847 y(names)28 b(are)h(supplied,)f(the)g(line)h(read)g(is)f(assigned)h +3099 y(names)28 b(are)h(supplied,)f(the)g(line)h(read)g(is)f(assigned)h (to)g(the)f(v)-5 b(ariable)29 b Fs(REPLY)p Ft(.)39 b(The)28 -b(return)630 956 y(co)s(de)e(is)g(zero,)h(unless)e(end-of-\014le)h(is)g -(encoun)m(tered,)h Fs(read)e Ft(times)h(out)g(\(in)g(whic)m(h)f(case)i -(the)630 1066 y(return)i(co)s(de)i(is)g(greater)g(than)g(128\),)h(or)f +b(return)630 3209 y(co)s(de)e(is)g(zero,)h(unless)e(end-of-\014le)h(is) +g(encoun)m(tered,)h Fs(read)e Ft(times)h(out)g(\(in)g(whic)m(h)f(case)i +(the)630 3319 y(return)i(co)s(de)i(is)g(greater)g(than)g(128\),)h(or)f (an)f(in)m(v)-5 b(alid)31 b(\014le)g(descriptor)f(is)h(supplied)e(as)i -(the)630 1176 y(argumen)m(t)g(to)g(`)p Fs(-u)p Ft('.)630 -1311 y(Options,)f(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h -(meanings:)630 1473 y Fs(-a)e Fi(aname)114 b Ft(The)34 +(the)630 3428 y(argumen)m(t)g(to)g(`)p Fs(-u)p Ft('.)630 +3562 y(Options,)f(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h +(meanings:)630 3720 y Fs(-a)e Fi(aname)114 b Ft(The)34 b(w)m(ords)f(are)i(assigned)f(to)h(sequen)m(tial)h(indices)e(of)g(the)g -(arra)m(y)h(v)-5 b(ariable)1110 1583 y Fq(aname)5 b Ft(,)29 +(arra)m(y)h(v)-5 b(ariable)1110 3830 y Fq(aname)5 b Ft(,)29 b(starting)g(at)f(0.)40 b(All)29 b(elemen)m(ts)g(are)f(remo)m(v)m(ed)h -(from)e Fq(aname)33 b Ft(b)s(efore)1110 1692 y(the)e(assignmen)m(t.)41 +(from)e Fq(aname)33 b Ft(b)s(efore)1110 3940 y(the)e(assignmen)m(t.)41 b(Other)30 b Fq(name)36 b Ft(argumen)m(ts)30 b(are)h(ignored.)630 -1854 y Fs(-d)f Fi(delim)114 b Ft(The)41 b(\014rst)h(c)m(haracter)h(of)f +4098 y Fs(-d)f Fi(delim)114 b Ft(The)41 b(\014rst)h(c)m(haracter)h(of)f Fq(delim)g Ft(is)g(used)g(to)g(terminate)h(the)f(input)f(line,)1110 -1964 y(rather)30 b(than)g(newline.)630 2125 y Fs(-e)384 +4208 y(rather)30 b(than)g(newline.)630 4366 y Fs(-e)384 b Ft(Readline)28 b(\(see)h(Chapter)e(8)h([Command)f(Line)g(Editing],)i -(page)f(93\))h(is)f(used)1110 2235 y(to)42 b(obtain)f(the)g(line.)73 +(page)f(95\))h(is)f(used)1110 4475 y(to)42 b(obtain)f(the)g(line.)73 b(Readline)41 b(uses)g(the)g(curren)m(t)g(\(or)g(default,)j(if)d(line) -1110 2345 y(editing)31 b(w)m(as)g(not)f(previously)g(activ)m(e\))j -(editing)f(settings.)630 2506 y Fs(-i)e Fi(text)162 b +1110 4585 y(editing)31 b(w)m(as)g(not)f(previously)g(activ)m(e\))j +(editing)f(settings.)630 4743 y Fs(-i)e Fi(text)162 b Ft(If)36 b(Readline)i(is)f(b)s(eing)g(used)f(to)h(read)g(the)g(line,)j -Fq(text)f Ft(is)e(placed)h(in)m(to)g(the)1110 2616 y(editing)31 -b(bu\013er)e(b)s(efore)h(editing)h(b)s(egins.)630 2778 -y Fs(-n)f Fi(nchars)1110 2887 y Fs(read)38 b Ft(returns)f(after)j +Fq(text)f Ft(is)e(placed)h(in)m(to)g(the)1110 4853 y(editing)31 +b(bu\013er)e(b)s(efore)h(editing)h(b)s(egins.)630 5011 +y Fs(-n)f Fi(nchars)1110 5121 y Fs(read)38 b Ft(returns)f(after)j (reading)f Fq(nc)m(hars)j Ft(c)m(haracters)e(rather)f(than)g(w)m -(aiting)1110 2997 y(for)g(a)h(complete)h(line)f(of)f(input,)i(but)e -(honor)g(a)h(delimiter)g(if)f(few)m(er)h(than)1110 3106 +(aiting)1110 5230 y(for)g(a)h(complete)h(line)f(of)f(input,)i(but)e +(honor)g(a)h(delimiter)g(if)f(few)m(er)h(than)1110 5340 y Fq(nc)m(hars)34 b Ft(c)m(haracters)e(are)e(read)h(b)s(efore)f(the)g -(delimiter.)630 3268 y Fs(-N)g Fi(nchars)1110 3378 y -Fs(read)39 b Ft(returns)f(after)j(reading)e(exactly)j -Fq(nc)m(hars)h Ft(c)m(haracters)f(rather)d(than)1110 -3487 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 3597 y -Fs(read)f Ft(times)i(out.)43 b(Delimiter)33 b(c)m(haracters)f(encoun)m -(tered)g(in)f(the)g(input)g(are)1110 3707 y(not)g(treated)h(sp)s -(ecially)g(and)f(do)f(not)i(cause)f Fs(read)f Ft(to)i(return)e(un)m -(til)h Fq(nc)m(hars)1110 3816 y Ft(c)m(haracters)h(are)f(read.)630 -3978 y Fs(-p)f Fi(prompt)1110 4088 y Ft(Displa)m(y)38 +(delimiter.)p eop end +%%Page: 51 57 +TeXDict begin 51 56 bop 150 -116 a Ft(Chapter)30 b(4:)41 +b(Shell)30 b(Builtin)h(Commands)2069 b(51)630 299 y Fs(-N)30 +b Fi(nchars)1110 408 y Fs(read)39 b Ft(returns)f(after)j(reading)e +(exactly)j Fq(nc)m(hars)h Ft(c)m(haracters)f(rather)d(than)1110 +518 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 628 y Fs(read)f +Ft(times)i(out.)43 b(Delimiter)33 b(c)m(haracters)f(encoun)m(tered)g +(in)f(the)g(input)g(are)1110 737 y(not)g(treated)h(sp)s(ecially)g(and)f +(do)f(not)i(cause)f Fs(read)f Ft(to)i(return)e(un)m(til)h +Fq(nc)m(hars)1110 847 y Ft(c)m(haracters)h(are)f(read.)630 +1004 y Fs(-p)f Fi(prompt)1110 1114 y Ft(Displa)m(y)38 b Fq(prompt)r Ft(,)f(without)g(a)f(trailing)i(newline,)g(b)s(efore)e -(attempting)i(to)1110 4197 y(read)f(an)m(y)h(input.)60 +(attempting)i(to)1110 1223 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 4307 y(from)30 b(a)h(terminal.)630 4468 +(coming)1110 1333 y(from)30 b(a)h(terminal.)630 1490 y Fs(-r)384 b Ft(If)21 b(this)h(option)g(is)f(giv)m(en,)k(bac)m(kslash) d(do)s(es)f(not)h(act)h(as)f(an)f(escap)s(e)h(c)m(haracter.)1110 -4578 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 4688 +1600 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 1709 y(bac)m(kslash-newline)f(pair)f(ma)m(y)h(not)g(b)s(e)f(used)f(as)i(a)g -(line)f(con)m(tin)m(uation.)630 4849 y Fs(-s)384 b Ft(Silen)m(t)28 +(line)f(con)m(tin)m(uation.)630 1866 y Fs(-s)384 b Ft(Silen)m(t)28 b(mo)s(de.)40 b(If)27 b(input)f(is)i(coming)g(from)f(a)h(terminal,)h(c) -m(haracters)g(are)f(not)1110 4959 y(ec)m(ho)s(ed.)630 -5121 y Fs(-t)i Fi(timeout)1110 5230 y Ft(Cause)23 b Fs(read)f +m(haracters)g(are)f(not)1110 1976 y(ec)m(ho)s(ed.)630 +2133 y Fs(-t)i Fi(timeout)1110 2243 y Ft(Cause)23 b Fs(read)f Ft(to)i(time)f(out)h(and)e(return)g(failure)h(if)g(a)h(complete)g(line) -g(of)f(input)1110 5340 y(is)44 b(not)f(read)h(within)e +g(of)f(input)1110 2352 y(is)44 b(not)f(read)h(within)e Fq(timeout)47 b Ft(seconds.)80 b Fq(timeout)46 b Ft(ma)m(y)e(b)s(e)f(a) -h(decimal)p eop end -%%Page: 49 55 -TeXDict begin 49 54 bop 150 -116 a Ft(Chapter)30 b(4:)h(Shell)f -(Builtin)h(Commands)2079 b(49)1110 299 y(n)m(um)m(b)s(er)26 -b(with)h(a)h(fractional)h(p)s(ortion)d(follo)m(wing)j(the)f(decimal)g -(p)s(oin)m(t.)40 b(This)1110 408 y(option)g(is)g(only)g(e\013ectiv)m(e) -j(if)c Fs(read)g Ft(is)h(reading)g(input)f(from)g(a)h(terminal,)1110 -518 y(pip)s(e,)25 b(or)e(other)i(sp)s(ecial)f(\014le;)i(it)f(has)e(no)h -(e\013ect)h(when)e(reading)h(from)g(regular)1110 628 +h(decimal)1110 2462 y(n)m(um)m(b)s(er)26 b(with)h(a)h(fractional)h(p)s +(ortion)d(follo)m(wing)j(the)f(decimal)g(p)s(oin)m(t.)40 +b(This)1110 2572 y(option)g(is)g(only)g(e\013ectiv)m(e)j(if)c +Fs(read)g Ft(is)h(reading)g(input)f(from)g(a)h(terminal,)1110 +2681 y(pip)s(e,)25 b(or)e(other)i(sp)s(ecial)f(\014le;)i(it)f(has)e(no) +h(e\013ect)h(when)e(reading)h(from)g(regular)1110 2791 y(\014les.)55 b(If)34 b Fq(timeout)k Ft(is)d(0,)i Fs(read)d Ft(returns)g(success)h(if)g(input)g(is)g(a)m(v)-5 b(ailable)37 -b(on)1110 737 y(the)j(sp)s(eci\014ed)f(\014le)g(descriptor,)j(failure)e -(otherwise.)69 b(The)39 b(exit)h(status)g(is)1110 847 +b(on)1110 2900 y(the)j(sp)s(eci\014ed)f(\014le)g(descriptor,)j(failure) +e(otherwise.)69 b(The)39 b(exit)h(status)g(is)1110 3010 y(greater)32 b(than)e(128)h(if)g(the)f(timeout)i(is)e(exceeded.)630 -1009 y Fs(-u)g Fi(fd)258 b Ft(Read)31 b(input)e(from)h(\014le)g -(descriptor)h Fq(fd)t Ft(.)150 1171 y Fs(readarray)870 -1281 y(readarray)45 b([-n)i Fi(count)11 b Fs(])46 b([-O)h +3167 y Fs(-u)g Fi(fd)258 b Ft(Read)31 b(input)e(from)h(\014le)g +(descriptor)h Fq(fd)t Ft(.)150 3324 y Fs(readarray)870 +3434 y(readarray)45 b([-n)i Fi(count)11 b Fs(])46 b([-O)h Fi(origin)11 b Fs(])45 b([-s)i Fi(count)11 b Fs(])46 -b([-t])g([-u)h Fi(fd)11 b Fs(])47 b([)870 1390 y(-C)g +b([-t])g([-u)h Fi(fd)11 b Fs(])47 b([)870 3544 y(-C)g Fi(callback)11 b Fs(])45 b([-c)i Fi(quantum)11 b Fs(])45 -b([)p Fi(array)11 b Fs(])630 1526 y Ft(Read)37 b(lines)g(from)f(the)h +b([)p Fi(array)11 b Fs(])630 3677 y Ft(Read)37 b(lines)g(from)f(the)h (standard)f(input)g(in)m(to)h(the)g(indexed)f(arra)m(y)i(v)-5 -b(ariable)37 b Fq(arra)m(y)8 b Ft(,)39 b(or)630 1636 +b(ariable)37 b Fq(arra)m(y)8 b Ft(,)39 b(or)630 3787 y(from)30 b(\014le)g(descriptor)h Fq(fd)i Ft(if)d(the)h(`)p -Fs(-u)p Ft(')f(option)h(is)f(supplied.)630 1772 y(A)g(synon)m(ym)g(for) -g Fs(mapfile)p Ft(.)150 1934 y Fs(source)870 2070 y(source)46 -b Fi(filename)630 2206 y Ft(A)30 b(synon)m(ym)g(for)g +Fs(-u)p Ft(')f(option)h(is)f(supplied.)630 3920 y(A)g(synon)m(ym)g(for) +g Fs(mapfile)p Ft(.)150 4077 y Fs(source)870 4211 y(source)46 +b Fi(filename)630 4344 y Ft(A)30 b(synon)m(ym)g(for)g Fs(.)g Ft(\(see)i(Section)f(4.1)g([Bourne)g(Shell)f(Builtins],)h(page)g -(35\).)150 2368 y Fs(type)870 2504 y(type)47 b([-afptP])e([)p -Fi(name)57 b Fs(...)o(])630 2640 y Ft(F)-8 b(or)41 b(eac)m(h)h +(37\).)150 4501 y Fs(type)870 4635 y(type)47 b([-afptP])e([)p +Fi(name)57 b Fs(...)o(])630 4768 y Ft(F)-8 b(or)41 b(eac)m(h)h Fq(name)5 b Ft(,)44 b(indicate)e(ho)m(w)f(it)g(w)m(ould)f(b)s(e)g(in)m -(terpreted)h(if)g(used)f(as)h(a)g(command)630 2749 y(name.)630 -2885 y(If)d(the)g(`)p Fs(-t)p Ft(')g(option)g(is)g(used,)i +(terpreted)h(if)g(used)f(as)h(a)g(command)630 4878 y(name.)630 +5011 y(If)d(the)g(`)p Fs(-t)p Ft(')g(option)g(is)g(used,)i Fs(type)d Ft(prin)m(ts)g(a)i(single)f(w)m(ord)g(whic)m(h)g(is)g(one)g -(of)h(`)p Fs(alias)p Ft(',)630 2995 y(`)p Fs(function)p +(of)h(`)p Fs(alias)p Ft(',)630 5121 y(`)p Fs(function)p Ft(',)32 b(`)p Fs(builtin)p Ft(',)g(`)p Fs(file)p Ft(')g(or)h(`)p Fs(keyword)p Ft(',)f(if)h Fq(name)38 b Ft(is)33 b(an)f(alias,)j(shell)e -(function,)630 3104 y(shell)i(builtin,)g(disk)g(\014le,)h(or)e(shell)h +(function,)630 5230 y(shell)i(builtin,)g(disk)g(\014le,)h(or)e(shell)h (reserv)m(ed)g(w)m(ord,)h(resp)s(ectiv)m(ely)-8 b(.)55 -b(If)34 b(the)h Fq(name)40 b Ft(is)35 b(not)630 3214 +b(If)34 b(the)h Fq(name)40 b Ft(is)35 b(not)630 5340 y(found,)29 b(then)h(nothing)h(is)f(prin)m(ted,)g(and)g -Fs(type)f Ft(returns)g(a)i(failure)g(status.)630 3350 -y(If)39 b(the)g(`)p Fs(-p)p Ft(')g(option)h(is)f(used,)i -Fs(type)d Ft(either)h(returns)f(the)i(name)f(of)g(the)g(disk)g(\014le)g -(that)630 3459 y(w)m(ould)30 b(b)s(e)g(executed,)h(or)g(nothing)f(if)g -(`)p Fs(-t)p Ft(')h(w)m(ould)f(not)g(return)g(`)p Fs(file)p -Ft('.)630 3595 y(The)23 b(`)p Fs(-P)p Ft(')g(option)h(forces)g(a)g -(path)f(searc)m(h)h(for)f(eac)m(h)h Fq(name)5 b Ft(,)26 -b(ev)m(en)e(if)f(`)p Fs(-t)p Ft(')g(w)m(ould)g(not)h(return)630 -3705 y(`)p Fs(file)p Ft('.)630 3841 y(If)34 b(a)i(command)e(is)h -(hashed,)g(`)p Fs(-p)p Ft(')g(and)f(`)p Fs(-P)p Ft(')h(prin)m(t)f(the)h -(hashed)f(v)-5 b(alue,)37 b(not)e(necessarily)630 3950 -y(the)c(\014le)f(that)h(app)s(ears)f(\014rst)f(in)h Fs($PATH)p -Ft(.)630 4086 y(If)36 b(the)h(`)p Fs(-a)p Ft(')g(option)g(is)g(used,)g -Fs(type)f Ft(returns)f(all)j(of)f(the)g(places)g(that)g(con)m(tain)h -(an)f(exe-)630 4196 y(cutable)d(named)f Fq(\014le)5 b -Ft(.)49 b(This)32 b(includes)h(aliases)i(and)d(functions,)i(if)f(and)f -(only)i(if)f(the)g(`)p Fs(-p)p Ft(')630 4305 y(option)e(is)f(not)h -(also)g(used.)630 4441 y(If)26 b(the)h(`)p Fs(-f)p Ft(')g(option)g(is)g -(used,)g Fs(type)e Ft(do)s(es)i(not)g(attempt)g(to)h(\014nd)d(shell)i -(functions,)g(as)g(with)630 4551 y(the)k Fs(command)d -Ft(builtin.)630 4687 y(The)j(return)f(status)h(is)g(zero)h(if)f(all)h +Fs(type)f Ft(returns)g(a)i(failure)g(status.)p eop end +%%Page: 52 58 +TeXDict begin 52 57 bop 150 -116 a Ft(52)2572 b(Bash)31 +b(Reference)g(Man)m(ual)630 299 y(If)39 b(the)g(`)p Fs(-p)p +Ft(')g(option)h(is)f(used,)i Fs(type)d Ft(either)h(returns)f(the)i +(name)f(of)g(the)g(disk)g(\014le)g(that)630 408 y(w)m(ould)30 +b(b)s(e)g(executed,)h(or)g(nothing)f(if)g(`)p Fs(-t)p +Ft(')h(w)m(ould)f(not)g(return)g(`)p Fs(file)p Ft('.)630 +542 y(The)23 b(`)p Fs(-P)p Ft(')g(option)h(forces)g(a)g(path)f(searc)m +(h)h(for)f(eac)m(h)h Fq(name)5 b Ft(,)26 b(ev)m(en)e(if)f(`)p +Fs(-t)p Ft(')g(w)m(ould)g(not)h(return)630 652 y(`)p +Fs(file)p Ft('.)630 785 y(If)34 b(a)i(command)e(is)h(hashed,)g(`)p +Fs(-p)p Ft(')g(and)f(`)p Fs(-P)p Ft(')h(prin)m(t)f(the)h(hashed)f(v)-5 +b(alue,)37 b(not)e(necessarily)630 895 y(the)c(\014le)f(that)h(app)s +(ears)f(\014rst)f(in)h Fs($PATH)p Ft(.)630 1029 y(If)36 +b(the)h(`)p Fs(-a)p Ft(')g(option)g(is)g(used,)g Fs(type)f +Ft(returns)f(all)j(of)f(the)g(places)g(that)g(con)m(tain)h(an)f(exe-) +630 1138 y(cutable)d(named)f Fq(\014le)5 b Ft(.)49 b(This)32 +b(includes)h(aliases)i(and)d(functions,)i(if)f(and)f(only)i(if)f(the)g +(`)p Fs(-p)p Ft(')630 1248 y(option)e(is)f(not)h(also)g(used.)630 +1381 y(If)26 b(the)h(`)p Fs(-f)p Ft(')g(option)g(is)g(used,)g +Fs(type)e Ft(do)s(es)i(not)g(attempt)g(to)h(\014nd)d(shell)i +(functions,)g(as)g(with)630 1491 y(the)k Fs(command)d +Ft(builtin.)630 1625 y(The)j(return)f(status)h(is)g(zero)h(if)f(all)h (of)f(the)h Fq(names)i Ft(are)e(found,)e(non-zero)i(if)f(an)m(y)g(are)h -(not)630 4796 y(found.)150 4959 y Fs(typeset)870 5094 +(not)630 1734 y(found.)150 1892 y Fs(typeset)870 2026 y(typeset)46 b([-afFrxi])f([-p])i([)p Fi(name)11 b Fs([=)p -Fi(value)g Fs(])43 b(...)o(])630 5230 y Ft(The)29 b Fs(typeset)f +Fi(value)g Fs(])43 b(...)o(])630 2159 y Ft(The)29 b Fs(typeset)f Ft(command)h(is)g(supplied)g(for)g(compatibilit)m(y)j(with)d(the)h -(Korn)e(shell;)j(ho)m(w-)630 5340 y(ev)m(er,)g(it)g(has)f(b)s(een)g +(Korn)e(shell;)j(ho)m(w-)630 2269 y(ev)m(er,)g(it)g(has)f(b)s(een)g (deprecated)h(in)f(fa)m(v)m(or)i(of)e(the)h Fs(declare)d -Ft(builtin)i(command.)p eop end -%%Page: 50 56 -TeXDict begin 50 55 bop 150 -116 a Ft(50)2572 b(Bash)31 -b(Reference)g(Man)m(ual)150 299 y Fs(ulimit)870 432 y(ulimit)46 +Ft(builtin)i(command.)150 2427 y Fs(ulimit)870 2560 y(ulimit)46 b([-abcdefilmnpqrstuvxHST])41 b([)p Fi(limit)11 b Fs(])630 -566 y(ulimit)25 b Ft(pro)m(vides)h(con)m(trol)i(o)m(v)m(er)g(the)f +2694 y(ulimit)25 b Ft(pro)m(vides)h(con)m(trol)i(o)m(v)m(er)g(the)f (resources)f(a)m(v)-5 b(ailable)29 b(to)e(pro)s(cesses)f(started)h(b)m -(y)g(the)630 675 y(shell,)i(on)f(systems)g(that)h(allo)m(w)h(suc)m(h)e +(y)g(the)630 2803 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 785 y(as)i(follo)m(ws:)630 942 y Fs(-S)384 +(terpreted)630 2913 y(as)i(follo)m(ws:)630 3071 y Fs(-S)384 b Ft(Change)30 b(and)g(rep)s(ort)g(the)g(soft)h(limit)g(asso)s(ciated)h -(with)e(a)h(resource.)630 1099 y Fs(-H)384 b Ft(Change)30 +(with)e(a)h(resource.)630 3228 y Fs(-H)384 b Ft(Change)30 b(and)g(rep)s(ort)g(the)g(hard)g(limit)h(asso)s(ciated)h(with)e(a)h -(resource.)630 1257 y Fs(-a)384 b Ft(All)31 b(curren)m(t)f(limits)h -(are)g(rep)s(orted.)630 1414 y Fs(-b)384 b Ft(The)30 +(resource.)630 3386 y Fs(-a)384 b Ft(All)31 b(curren)m(t)f(limits)h +(are)g(rep)s(orted.)630 3544 y Fs(-b)384 b Ft(The)30 b(maxim)m(um)g(so)s(c)m(k)m(et)i(bu\013er)e(size.)630 -1571 y Fs(-c)384 b Ft(The)30 b(maxim)m(um)g(size)h(of)g(core)g(\014les) -f(created.)630 1728 y Fs(-d)384 b Ft(The)30 b(maxim)m(um)g(size)h(of)g -(a)g(pro)s(cess's)f(data)h(segmen)m(t.)630 1886 y Fs(-e)384 +3701 y Fs(-c)384 b Ft(The)30 b(maxim)m(um)g(size)h(of)g(core)g(\014les) +f(created.)630 3859 y Fs(-d)384 b Ft(The)30 b(maxim)m(um)g(size)h(of)g +(a)g(pro)s(cess's)f(data)h(segmen)m(t.)630 4017 y Fs(-e)384 b Ft(The)30 b(maxim)m(um)g(sc)m(heduling)h(priorit)m(y)f(\()p -Fs(")p Ft(nice)p Fs(")p Ft(\).)630 2043 y Fs(-f)384 b +Fs(")p Ft(nice)p Fs(")p Ft(\).)630 4175 y Fs(-f)384 b Ft(The)30 b(maxim)m(um)g(size)h(of)g(\014les)f(written)h(b)m(y)f(the)g -(shell)h(and)f(its)h(c)m(hildren.)630 2200 y Fs(-i)384 +(shell)h(and)f(its)h(c)m(hildren.)630 4332 y Fs(-i)384 b Ft(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(p)s(ending)e -(signals.)630 2357 y Fs(-l)384 b Ft(The)30 b(maxim)m(um)g(size)h(that)g +(signals.)630 4490 y Fs(-l)384 b Ft(The)30 b(maxim)m(um)g(size)h(that)g (ma)m(y)g(b)s(e)f(lo)s(c)m(k)m(ed)i(in)m(to)f(memory)-8 -b(.)630 2514 y Fs(-m)384 b Ft(The)36 b(maxim)m(um)g(residen)m(t)h(set)g +b(.)630 4648 y Fs(-m)384 b Ft(The)36 b(maxim)m(um)g(residen)m(t)h(set)g (size)g(\(man)m(y)g(systems)f(do)h(not)f(honor)g(this)1110 -2624 y(limit\).)630 2781 y Fs(-n)384 b Ft(The)38 b(maxim)m(um)h(n)m(um) +4757 y(limit\).)630 4915 y Fs(-n)384 b Ft(The)38 b(maxim)m(um)h(n)m(um) m(b)s(er)e(of)i(op)s(en)f(\014le)h(descriptors)g(\(most)g(systems)g(do) -1110 2891 y(not)31 b(allo)m(w)g(this)g(v)-5 b(alue)31 -b(to)g(b)s(e)e(set\).)630 3048 y Fs(-p)384 b Ft(The)30 -b(pip)s(e)f(bu\013er)h(size.)630 3205 y Fs(-q)384 b Ft(The)30 +1110 5025 y(not)31 b(allo)m(w)g(this)g(v)-5 b(alue)31 +b(to)g(b)s(e)e(set\).)630 5182 y Fs(-p)384 b Ft(The)30 +b(pip)s(e)f(bu\013er)h(size.)630 5340 y Fs(-q)384 b Ft(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(b)m(ytes)g(in)f(POSIX)f(message)j -(queues.)630 3363 y Fs(-r)384 b Ft(The)30 b(maxim)m(um)g(real-time)i -(sc)m(heduling)f(priorit)m(y)-8 b(.)630 3520 y Fs(-s)384 -b Ft(The)30 b(maxim)m(um)g(stac)m(k)i(size.)630 3677 -y Fs(-t)384 b Ft(The)30 b(maxim)m(um)g(amoun)m(t)h(of)f(cpu)g(time)h -(in)f(seconds.)630 3834 y Fs(-u)384 b Ft(The)30 b(maxim)m(um)g(n)m(um)m +(queues.)p eop end +%%Page: 53 59 +TeXDict begin 53 58 bop 150 -116 a Ft(Chapter)30 b(4:)41 +b(Shell)30 b(Builtin)h(Commands)2069 b(53)630 299 y Fs(-r)384 +b Ft(The)30 b(maxim)m(um)g(real-time)i(sc)m(heduling)f(priorit)m(y)-8 +b(.)630 459 y Fs(-s)384 b Ft(The)30 b(maxim)m(um)g(stac)m(k)i(size.)630 +618 y Fs(-t)384 b Ft(The)30 b(maxim)m(um)g(amoun)m(t)h(of)f(cpu)g(time) +h(in)f(seconds.)630 778 y Fs(-u)384 b Ft(The)30 b(maxim)m(um)g(n)m(um)m (b)s(er)f(of)i(pro)s(cesses)f(a)m(v)-5 b(ailable)33 b(to)e(a)f(single)i -(user.)630 3992 y Fs(-v)384 b Ft(The)41 b(maxim)m(um)h(amoun)m(t)g(of)h +(user.)630 938 y Fs(-v)384 b Ft(The)41 b(maxim)m(um)h(amoun)m(t)g(of)h (virtual)f(memory)g(a)m(v)-5 b(ailable)44 b(to)e(the)g(shell,)1110 -4101 y(and,)30 b(on)g(some)h(systems,)g(to)g(its)g(c)m(hildren.)630 -4258 y Fs(-x)384 b Ft(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i -(\014le)f(lo)s(c)m(ks.)630 4416 y Fs(-T)384 b Ft(The)30 -b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(threads.)630 4573 +1047 y(and,)30 b(on)g(some)h(systems,)g(to)g(its)g(c)m(hildren.)630 +1207 y Fs(-x)384 b Ft(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i +(\014le)f(lo)s(c)m(ks.)630 1367 y Fs(-T)384 b Ft(The)30 +b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(threads.)630 1526 y(If)i Fq(limit)j Ft(is)e(giv)m(en,)h(it)f(is)g(the)g(new)f(v)-5 b(alue)34 b(of)f(the)h(sp)s(eci\014ed)f(resource;)i(the)f(sp)s(ecial)g -Fq(limit)630 4682 y Ft(v)-5 b(alues)27 b Fs(hard)p Ft(,)g +Fq(limit)630 1636 y Ft(v)-5 b(alues)27 b Fs(hard)p Ft(,)g Fs(soft)p Ft(,)g(and)g Fs(unlimited)d Ft(stand)j(for)g(the)g(curren)m -(t)g(hard)f(limit,)j(the)e(curren)m(t)630 4792 y(soft)38 +(t)g(hard)f(limit,)j(the)e(curren)m(t)630 1746 y(soft)38 b(limit,)j(and)d(no)f(limit,)k(resp)s(ectiv)m(ely)-8 b(.)66 b(A)38 b(hard)f(limit)h(cannot)h(b)s(e)e(increased)i(b)m(y)f(a) -630 4902 y(non-ro)s(ot)f(user)f(once)i(it)g(is)f(set;)k(a)c(soft)g +630 1855 y(non-ro)s(ot)f(user)f(once)i(it)g(is)f(set;)k(a)c(soft)g (limit)h(ma)m(y)g(b)s(e)e(increased)h(up)f(to)i(the)f(v)-5 -b(alue)38 b(of)630 5011 y(the)c(hard)f(limit.)51 b(Otherwise,)35 +b(alue)38 b(of)630 1965 y(the)c(hard)f(limit.)51 b(Otherwise,)35 b(the)f(curren)m(t)f(v)-5 b(alue)35 b(of)f(the)f(soft)i(limit)f(for)g -(the)g(sp)s(eci\014ed)630 5121 y(resource)27 b(is)h(prin)m(ted,)f +(the)g(sp)s(eci\014ed)630 2074 y(resource)27 b(is)h(prin)m(ted,)f (unless)g(the)g(`)p Fs(-H)p Ft(')g(option)h(is)f(supplied.)38 -b(When)27 b(setting)h(new)f(limits,)630 5230 y(if)40 +b(When)27 b(setting)h(new)f(limits,)630 2184 y(if)40 b(neither)f(`)p Fs(-H)p Ft(')h(nor)f(`)p Fs(-S)p Ft(')h(is)f(supplied,) i(b)s(oth)e(the)h(hard)f(and)g(soft)h(limits)g(are)g(set.)69 -b(If)630 5340 y(no)35 b(option)h(is)f(giv)m(en,)j(then)d(`)p +b(If)630 2293 y(no)35 b(option)h(is)f(giv)m(en,)j(then)d(`)p Fs(-f)p Ft(')g(is)g(assumed.)55 b(V)-8 b(alues)36 b(are)f(in)g(1024-b)m -(yte)j(incremen)m(ts,)p eop end -%%Page: 51 57 -TeXDict begin 51 56 bop 150 -116 a Ft(Chapter)30 b(4:)41 -b(Shell)30 b(Builtin)h(Commands)2069 b(51)630 299 y(except)35 -b(for)f(`)p Fs(-t)p Ft(',)g(whic)m(h)g(is)g(in)g(seconds,)h(`)p -Fs(-p)p Ft(',)g(whic)m(h)e(is)h(in)g(units)f(of)h(512-b)m(yte)i(blo)s -(c)m(ks,)630 408 y(and)30 b(`)p Fs(-n)p Ft(')g(and)g(`)p -Fs(-u)p Ft(',)g(whic)m(h)g(are)h(unscaled)f(v)-5 b(alues.)630 -542 y(The)34 b(return)g(status)h(is)f(zero)i(unless)e(an)g(in)m(v)-5 +(yte)j(incremen)m(ts,)630 2403 y(except)d(for)f(`)p Fs(-t)p +Ft(',)g(whic)m(h)g(is)g(in)g(seconds,)h(`)p Fs(-p)p Ft(',)g(whic)m(h)e +(is)h(in)g(units)f(of)h(512-b)m(yte)i(blo)s(c)m(ks,)630 +2513 y(and)30 b(`)p Fs(-n)p Ft(')g(and)g(`)p Fs(-u)p +Ft(',)g(whic)m(h)g(are)h(unscaled)f(v)-5 b(alues.)630 +2647 y(The)34 b(return)g(status)h(is)f(zero)i(unless)e(an)g(in)m(v)-5 b(alid)36 b(option)f(or)f(argumen)m(t)i(is)e(supplied,)h(or)630 -652 y(an)30 b(error)g(o)s(ccurs)g(while)h(setting)g(a)g(new)f(limit.) -150 809 y Fs(unalias)870 943 y(unalias)46 b([-a])g([)p -Fi(name)57 b Fs(...)47 b(])630 1077 y Ft(Remo)m(v)m(e)39 +2757 y(an)30 b(error)g(o)s(ccurs)g(while)h(setting)g(a)g(new)f(limit.) +150 2917 y Fs(unalias)870 3051 y(unalias)46 b([-a])g([)p +Fi(name)57 b Fs(...)47 b(])630 3186 y Ft(Remo)m(v)m(e)39 b(eac)m(h)f Fq(name)k Ft(from)36 b(the)h(list)h(of)f(aliases.)61 b(If)36 b(`)p Fs(-a)p Ft(')h(is)g(supplied,)h(all)f(aliases)i(are)630 -1186 y(remo)m(v)m(ed.)j(Aliases)31 b(are)g(describ)s(ed)e(in)h(Section) -i(6.6)f([Aliases],)h(page)f(79.)150 1417 y Fr(4.3)68 -b(Mo)t(difying)45 b(Shell)g(Beha)l(vior)150 1641 y Fj(4.3.1)63 -b(The)41 b(Set)g(Builtin)150 1787 y Ft(This)35 b(builtin)h(is)g(so)g +3295 y(remo)m(v)m(ed.)j(Aliases)31 b(are)g(describ)s(ed)e(in)h(Section) +i(6.6)f([Aliases],)h(page)f(81.)150 3528 y Fr(4.3)68 +b(Mo)t(difying)45 b(Shell)g(Beha)l(vior)150 3753 y Fj(4.3.1)63 +b(The)41 b(Set)g(Builtin)150 3899 y Ft(This)35 b(builtin)h(is)g(so)g (complicated)i(that)f(it)f(deserv)m(es)h(its)f(o)m(wn)g(section.)59 b Fs(set)35 b Ft(allo)m(ws)j(y)m(ou)e(to)h(c)m(hange)150 -1897 y(the)c(v)-5 b(alues)34 b(of)f(shell)g(options)h(and)e(set)i(the)f +4009 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 2007 y(v)-5 b(alues)31 b(of)f(shell)h(v)-5 b(ariables.)150 -2164 y Fs(set)870 2298 y(set)47 b([--abefhkmnptuvxBCEHPT])41 +(and)150 4119 y(v)-5 b(alues)31 b(of)f(shell)h(v)-5 b(ariables.)150 +4279 y Fs(set)870 4413 y(set)47 b([--abefhkmnptuvxBCEHPT])41 b([-o)47 b Fi(option)11 b Fs(])46 b([)p Fi(argument)55 -b Fs(...])870 2408 y(set)47 b([+abefhkmnptuvxBCEHPT])42 +b Fs(...])870 4523 y(set)47 b([+abefhkmnptuvxBCEHPT])42 b([+o)47 b Fi(option)11 b Fs(])45 b([)p Fi(argument)56 -b Fs(...)o(])630 2541 y Ft(If)22 b(no)h(options)g(or)g(argumen)m(ts)g +b Fs(...)o(])630 4657 y Ft(If)22 b(no)h(options)g(or)g(argumen)m(ts)g (are)g(supplied,)g Fs(set)f Ft(displa)m(ys)g(the)h(names)g(and)f(v)-5 -b(alues)23 b(of)g(all)630 2651 y(shell)j(v)-5 b(ariables)27 +b(alues)23 b(of)g(all)630 4767 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 2760 y(that)i(ma)m(y)h(b)s(e)e(reused)g +(cale,)k(in)c(a)i(format)630 4877 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 2870 y(Read-only)37 b(v)-5 b(ariables)37 +(v)-5 b(ariables.)630 4986 y(Read-only)37 b(v)-5 b(ariables)37 b(cannot)h(b)s(e)e(reset.)59 b(In)36 b Fl(posix)g Ft(mo)s(de,)i(only)f -(shell)f(v)-5 b(ariables)38 b(are)630 2980 y(listed.)630 -3113 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 5096 y(listed.)630 +5230 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 -3223 y(i\014ed,)h(ha)m(v)m(e)i(the)e(follo)m(wing)i(meanings:)630 -3381 y Fs(-a)384 b Ft(Mark)32 b(v)-5 b(ariables)33 b(and)e(function)h -(whic)m(h)g(are)g(mo)s(di\014ed)f(or)h(created)h(for)f(ex-)1110 -3490 y(p)s(ort)e(to)h(the)f(en)m(vironmen)m(t)h(of)g(subsequen)m(t)f -(commands.)630 3648 y Fs(-b)384 b Ft(Cause)44 b(the)h(status)g(of)f -(terminated)h(bac)m(kground)g(jobs)f(to)h(b)s(e)f(rep)s(orted)1110 -3758 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 3915 y Fs(-e)384 -b Ft(Exit)65 b(immediately)g(if)f(a)h(pip)s(eline)e(\(see)i(Section)g -(3.2.2)h([Pip)s(elines],)1110 4025 y(page)56 b(8\),)62 -b(whic)m(h)55 b(ma)m(y)h(consist)f(of)h(a)f(single)h(simple)f(command)g -(\(see)1110 4134 y(Section)43 b(3.2.1)i([Simple)d(Commands],)j(page)e -(8\),)k(a)c(subshell)e(command)1110 4244 y(enclosed)32 -b(in)f(paren)m(theses)h(\(see)h(Section)f(3.2.4.3)i([Command)d -(Grouping],)1110 4354 y(page)h(13\),)h(or)e(one)g(of)h(the)f(commands)g -(executed)h(as)f(part)g(of)h(a)f(command)1110 4463 y(list)37 -b(enclosed)g(b)m(y)f(braces)g(\(see)h(Section)g(3.2.4.3)h([Command)e -(Grouping],)1110 4573 y(page)48 b(13\))g(returns)d(a)j(non-zero)f -(status.)91 b(The)46 b(shell)h(do)s(es)g(not)g(exit)h(if)1110 -4682 y(the)39 b(command)f(that)h(fails)g(is)f(part)g(of)h(the)f -(command)h(list)g(immediately)1110 4792 y(follo)m(wing)47 +5340 y(i\014ed,)h(ha)m(v)m(e)i(the)e(follo)m(wing)i(meanings:)p +eop end +%%Page: 54 60 +TeXDict begin 54 59 bop 150 -116 a Ft(54)2572 b(Bash)31 +b(Reference)g(Man)m(ual)630 299 y Fs(-a)384 b Ft(Mark)32 +b(v)-5 b(ariables)33 b(and)e(function)h(whic)m(h)g(are)g(mo)s(di\014ed) +f(or)h(created)h(for)f(ex-)1110 408 y(p)s(ort)e(to)h(the)f(en)m +(vironmen)m(t)h(of)g(subsequen)m(t)f(commands.)630 562 +y Fs(-b)384 b Ft(Cause)44 b(the)h(status)g(of)f(terminated)h(bac)m +(kground)g(jobs)f(to)h(b)s(e)f(rep)s(orted)1110 671 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 825 y Fs(-e)384 b Ft(Exit)65 b(immediately)g(if) +f(a)h(pip)s(eline)e(\(see)i(Section)g(3.2.2)h([Pip)s(elines],)1110 +934 y(page)56 b(8\),)62 b(whic)m(h)55 b(ma)m(y)h(consist)f(of)h(a)f +(single)h(simple)f(command)g(\(see)1110 1044 y(Section)43 +b(3.2.1)i([Simple)d(Commands],)j(page)e(8\),)k(a)c(subshell)e(command) +1110 1154 y(enclosed)32 b(in)f(paren)m(theses)h(\(see)h(Section)f +(3.2.4.3)i([Command)d(Grouping],)1110 1263 y(page)h(13\),)h(or)e(one)g +(of)h(the)f(commands)g(executed)h(as)f(part)g(of)h(a)f(command)1110 +1373 y(list)37 b(enclosed)g(b)m(y)f(braces)g(\(see)h(Section)g(3.2.4.3) +h([Command)e(Grouping],)1110 1482 y(page)48 b(13\))g(returns)d(a)j +(non-zero)f(status.)91 b(The)46 b(shell)h(do)s(es)g(not)g(exit)h(if) +1110 1592 y(the)39 b(command)f(that)h(fails)g(is)f(part)g(of)h(the)f +(command)h(list)g(immediately)1110 1702 y(follo)m(wing)47 b(a)f Fs(while)e Ft(or)h Fs(until)f Ft(k)m(eyw)m(ord,)50 -b(part)45 b(of)h(the)g(test)g(in)f(an)h Fs(if)1110 4902 +b(part)45 b(of)h(the)g(test)g(in)f(an)h Fs(if)1110 1811 y Ft(statemen)m(t,)31 b(part)d(of)h(an)m(y)g(command)f(executed)h(in)g -(a)g Fs(&&)e Ft(or)i Fs(||)f Ft(list)h(except)1110 5011 +(a)g Fs(&&)e Ft(or)i Fs(||)f Ft(list)h(except)1110 1921 y(the)48 b(command)h(follo)m(wing)g(the)g(\014nal)f Fs(&&)f Ft(or)i Fs(||)p Ft(,)j(an)m(y)d(command)f(in)g(a)1110 -5121 y(pip)s(eline)39 b(but)f(the)i(last,)i(or)d(if)g(the)h(command's)f -(return)f(status)h(is)g(b)s(eing)1110 5230 y(in)m(v)m(erted)33 +2030 y(pip)s(eline)39 b(but)f(the)i(last,)i(or)d(if)g(the)h(command's)f +(return)f(status)h(is)g(b)s(eing)1110 2140 y(in)m(v)m(erted)33 b(with)e Fs(!)p Ft(.)45 b(A)32 b(trap)g(on)f Fs(ERR)p Ft(,)h(if)g(set,)h(is)f(executed)g(b)s(efore)g(the)g(shell)1110 -5340 y(exits.)p eop end -%%Page: 52 58 -TeXDict begin 52 57 bop 150 -116 a Ft(52)2572 b(Bash)31 -b(Reference)g(Man)m(ual)1110 299 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 -408 y(vironmen)m(t)j(separately)i(\(see)f(Section)g(3.7.3)h([Command)d -(Execution)i(En-)1110 518 y(vironmen)m(t],)i(page)f(30\),)i(and)d(ma)m +2250 y(exits.)1110 2381 y(This)e(option)h(applies)f(to)h(the)g(shell)g +(en)m(vironmen)m(t)g(and)f(eac)m(h)h(subshell)f(en-)1110 +2491 y(vironmen)m(t)j(separately)i(\(see)f(Section)g(3.7.3)h([Command)d +(Execution)i(En-)1110 2600 y(vironmen)m(t],)i(page)f(32\),)i(and)d(ma)m (y)h(cause)f(subshells)g(to)h(exit)g(b)s(efore)f(exe-)1110 -628 y(cuting)d(all)g(the)g(commands)f(in)g(the)g(subshell.)630 -783 y Fs(-f)384 b Ft(Disable)31 b(\014lename)g(expansion)f -(\(globbing\).)630 939 y Fs(-h)384 b Ft(Lo)s(cate)33 +2710 y(cuting)d(all)g(the)g(commands)f(in)g(the)g(subshell.)630 +2863 y Fs(-f)384 b Ft(Disable)31 b(\014lename)g(expansion)f +(\(globbing\).)630 3017 y Fs(-h)384 b Ft(Lo)s(cate)33 b(and)e(remem)m(b)s(er)h(\(hash\))g(commands)f(as)h(they)g(are)g(lo)s -(ok)m(ed)h(up)e(for)1110 1049 y(execution.)42 b(This)29 -b(option)i(is)g(enabled)f(b)m(y)g(default.)630 1204 y +(ok)m(ed)h(up)e(for)1110 3126 y(execution.)42 b(This)29 +b(option)i(is)g(enabled)f(b)m(y)g(default.)630 3280 y Fs(-k)384 b Ft(All)34 b(argumen)m(ts)g(in)f(the)h(form)f(of)g (assignmen)m(t)h(statemen)m(ts)i(are)d(placed)h(in)1110 -1314 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 1424 y(command)30 -b(name.)630 1579 y Fs(-m)384 b Ft(Job)30 b(con)m(trol)i(is)e(enabled)h -(\(see)g(Chapter)f(7)g([Job)h(Con)m(trol],)g(page)g(89\).)630 -1735 y Fs(-n)384 b Ft(Read)21 b(commands)f(but)g(do)h(not)g(execute)h +3389 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 3499 y(command)30 +b(name.)630 3652 y Fs(-m)384 b Ft(Job)30 b(con)m(trol)i(is)e(enabled)h +(\(see)g(Chapter)f(7)g([Job)h(Con)m(trol],)g(page)g(91\).)630 +3806 y Fs(-n)384 b Ft(Read)21 b(commands)f(but)g(do)h(not)g(execute)h (them;)i(this)d(ma)m(y)g(b)s(e)f(used)g(to)h(c)m(hec)m(k)1110 -1845 y(a)42 b(script)g(for)g(syn)m(tax)g(errors.)75 b(This)41 +3915 y(a)42 b(script)g(for)g(syn)m(tax)g(errors.)75 b(This)41 b(option)h(is)g(ignored)g(b)m(y)g(in)m(teractiv)m(e)1110 -1954 y(shells.)630 2110 y Fs(-o)30 b Fi(option-name)1110 -2220 y Ft(Set)h(the)f(option)h(corresp)s(onding)e(to)i -Fq(option-name)5 b Ft(:)1110 2375 y Fs(allexport)1590 -2485 y Ft(Same)30 b(as)h Fs(-a)p Ft(.)1110 2641 y Fs(braceexpand)1590 -2750 y Ft(Same)f(as)h Fs(-B)p Ft(.)1110 2906 y Fs(emacs)240 +4025 y(shells.)630 4178 y Fs(-o)30 b Fi(option-name)1110 +4288 y Ft(Set)h(the)f(option)h(corresp)s(onding)e(to)i +Fq(option-name)5 b Ft(:)1110 4441 y Fs(allexport)1590 +4551 y Ft(Same)30 b(as)h Fs(-a)p Ft(.)1110 4704 y Fs(braceexpand)1590 +4814 y Ft(Same)f(as)h Fs(-B)p Ft(.)1110 4967 y Fs(emacs)240 b Ft(Use)25 b(an)f Fs(emacs)p Ft(-st)m(yle)h(line)f(editing)h(in)m -(terface)h(\(see)g(Chapter)e(8)1590 3016 y([Command)38 -b(Line)g(Editing],)i(page)f(93\).)66 b(This)37 b(also)i(a\013ects)1590 -3125 y(the)31 b(editing)g(in)m(terface)h(used)d(for)h -Fs(read)f(-e)p Ft(.)1110 3281 y Fs(errexit)144 b Ft(Same)30 -b(as)h Fs(-e)p Ft(.)1110 3437 y Fs(errtrace)96 b Ft(Same)30 -b(as)h Fs(-E)p Ft(.)1110 3592 y Fs(functrace)1590 3702 -y Ft(Same)f(as)h Fs(-T)p Ft(.)1110 3858 y Fs(hashall)144 -b Ft(Same)30 b(as)h Fs(-h)p Ft(.)1110 4013 y Fs(histexpand)1590 -4123 y Ft(Same)f(as)h Fs(-H)p Ft(.)1110 4279 y Fs(history)144 -b Ft(Enable)39 b(command)g(history)-8 b(,)42 b(as)d(describ)s(ed)f(in)h -(Section)h(9.1)1590 4388 y([Bash)d(History)g(F)-8 b(acilities],)41 -b(page)c(121.)60 b(This)36 b(option)h(is)f(on)1590 4498 -y(b)m(y)30 b(default)h(in)f(in)m(teractiv)m(e)j(shells.)1110 -4654 y Fs(ignoreeof)1590 4763 y Ft(An)d(in)m(teractiv)m(e)j(shell)e -(will)g(not)f(exit)h(up)s(on)e(reading)i(EOF.)1110 4919 -y Fs(keyword)144 b Ft(Same)30 b(as)h Fs(-k)p Ft(.)1110 -5075 y Fs(monitor)144 b Ft(Same)30 b(as)h Fs(-m)p Ft(.)1110 -5230 y Fs(noclobber)1590 5340 y Ft(Same)f(as)h Fs(-C)p -Ft(.)p eop end -%%Page: 53 59 -TeXDict begin 53 58 bop 150 -116 a Ft(Chapter)30 b(4:)41 -b(Shell)30 b(Builtin)h(Commands)2069 b(53)1110 299 y -Fs(noexec)192 b Ft(Same)30 b(as)h Fs(-n)p Ft(.)1110 470 -y Fs(noglob)192 b Ft(Same)30 b(as)h Fs(-f)p Ft(.)1110 -641 y Fs(nolog)240 b Ft(Curren)m(tly)30 b(ignored.)1110 -813 y Fs(notify)192 b Ft(Same)30 b(as)h Fs(-b)p Ft(.)1110 -984 y Fs(nounset)144 b Ft(Same)30 b(as)h Fs(-u)p Ft(.)1110 -1155 y Fs(onecmd)192 b Ft(Same)30 b(as)h Fs(-t)p Ft(.)1110 -1326 y Fs(physical)96 b Ft(Same)30 b(as)h Fs(-P)p Ft(.)1110 -1498 y Fs(pipefail)96 b Ft(If)44 b(set,)k(the)d(return)e(v)-5 -b(alue)45 b(of)f(a)h(pip)s(eline)e(is)i(the)f(v)-5 b(alue)45 -b(of)1590 1607 y(the)33 b(last)h(\(righ)m(tmost\))h(command)e(to)h -(exit)g(with)f(a)g(non-zero)1590 1717 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 -1826 y(cessfully)-8 b(.)41 b(This)30 b(option)h(is)f(disabled)g(b)m(y)h -(default.)1110 1998 y Fs(posix)240 b Ft(Change)30 b(the)g(b)s(eha)m -(vior)h(of)f(Bash)g(where)g(the)g(default)h(op)s(era-)1590 -2107 y(tion)25 b(di\013ers)f(from)g(the)h Fl(posix)f -Ft(standard)f(to)i(matc)m(h)h(the)f(stan-)1590 2217 y(dard)32 -b(\(see)i(Section)g(6.11)h([Bash)e(POSIX)f(Mo)s(de],)j(page)e(84\).) -1590 2326 y(This)k(is)g(in)m(tended)g(to)h(mak)m(e)g(Bash)g(b)s(eha)m -(v)m(e)g(as)g(a)f(strict)h(su-)1590 2436 y(p)s(erset)30 -b(of)h(that)f(standard.)1110 2607 y Fs(privileged)1590 -2717 y Ft(Same)g(as)h Fs(-p)p Ft(.)1110 2888 y Fs(verbose)144 -b Ft(Same)30 b(as)h Fs(-v)p Ft(.)1110 3059 y Fs(vi)384 -b Ft(Use)36 b(a)g Fs(vi)p Ft(-st)m(yle)g(line)g(editing)g(in)m -(terface.)58 b(This)35 b(also)h(a\013ects)1590 3169 y(the)31 -b(editing)g(in)m(terface)h(used)d(for)h Fs(read)f(-e)p -Ft(.)1110 3340 y Fs(xtrace)192 b Ft(Same)30 b(as)h Fs(-x)p -Ft(.)630 3511 y Fs(-p)384 b Ft(T)-8 b(urn)33 b(on)h(privileged)h(mo)s -(de.)51 b(In)34 b(this)g(mo)s(de,)h(the)f Fs($BASH_ENV)e -Ft(and)h Fs($ENV)1110 3621 y Ft(\014les)23 b(are)h(not)f(pro)s(cessed,) -h(shell)g(functions)e(are)i(not)f(inherited)g(from)f(the)i(en-)1110 -3730 y(vironmen)m(t,)h(and)e(the)g Fs(SHELLOPTS)p Ft(,)f -Fs(BASHOPTS)p Ft(,)h Fs(CDPATH)e Ft(and)i Fs(GLOBIGNORE)1110 -3840 y Ft(v)-5 b(ariables,)23 b(if)e(they)g(app)s(ear)f(in)g(the)h(en)m -(vironmen)m(t,)i(are)e(ignored.)38 b(If)20 b(the)h(shell)1110 -3950 y(is)37 b(started)h(with)f(the)g(e\013ectiv)m(e)j(user)d -(\(group\))g(id)g(not)g(equal)h(to)g(the)f(real)1110 -4059 y(user)h(\(group\))h(id,)i(and)d(the)h Fs(-p)f Ft(option)i(is)e -(not)i(supplied,)f(these)h(actions)1110 4169 y(are)32 -b(tak)m(en)i(and)d(the)h(e\013ectiv)m(e)j(user)c(id)h(is)g(set)h(to)f -(the)h(real)f(user)g(id.)45 b(If)32 b(the)1110 4278 y -Fs(-p)i Ft(option)h(is)g(supplied)f(at)h(startup,)h(the)f(e\013ectiv)m -(e)i(user)d(id)g(is)h(not)g(reset.)1110 4388 y(T)-8 b(urning)35 -b(this)i(option)g(o\013)g(causes)g(the)g(e\013ectiv)m(e)i(user)d(and)g -(group)g(ids)g(to)1110 4498 y(b)s(e)30 b(set)h(to)g(the)f(real)h(user)f -(and)g(group)g(ids.)630 4669 y Fs(-t)384 b Ft(Exit)31 -b(after)g(reading)f(and)g(executing)h(one)g(command.)630 -4840 y Fs(-u)384 b Ft(T)-8 b(reat)25 b(unset)e(v)-5 b(ariables)25 -b(and)e(parameters)h(other)h(than)e(the)h(sp)s(ecial)h(param-)1110 -4950 y(eters)35 b(`)p Fs(@)p Ft(')f(or)g(`)p Fs(*)p Ft(')h(as)f(an)g -(error)g(when)f(p)s(erforming)g(parameter)i(expansion.)1110 -5059 y(An)28 b(error)h(message)g(will)g(b)s(e)f(written)h(to)h(the)e -(standard)g(error,)h(and)f(a)h(non-)1110 5169 y(in)m(teractiv)m(e)k -(shell)e(will)g(exit.)630 5340 y Fs(-v)384 b Ft(Prin)m(t)30 -b(shell)h(input)e(lines)i(as)g(they)f(are)h(read.)p eop -end -%%Page: 54 60 -TeXDict begin 54 59 bop 150 -116 a Ft(54)2572 b(Bash)31 -b(Reference)g(Man)m(ual)630 299 y Fs(-x)384 b Ft(Prin)m(t)21 -b(a)h(trace)h(of)f(simple)f(commands,)i Fs(for)e Ft(commands,)i -Fs(case)d Ft(commands,)1110 408 y Fs(select)29 b Ft(commands,)j(and)e +(terface)h(\(see)g(Chapter)e(8)1590 5077 y([Command)38 +b(Line)g(Editing],)i(page)f(95\).)66 b(This)37 b(also)i(a\013ects)1590 +5187 y(the)31 b(editing)g(in)m(terface)h(used)d(for)h +Fs(read)f(-e)p Ft(.)1110 5340 y Fs(errexit)144 b Ft(Same)30 +b(as)h Fs(-e)p Ft(.)p eop end +%%Page: 55 61 +TeXDict begin 55 60 bop 150 -116 a Ft(Chapter)30 b(4:)41 +b(Shell)30 b(Builtin)h(Commands)2069 b(55)1110 299 y +Fs(errtrace)96 b Ft(Same)30 b(as)h Fs(-E)p Ft(.)1110 +461 y Fs(functrace)1590 570 y Ft(Same)f(as)h Fs(-T)p +Ft(.)1110 732 y Fs(hashall)144 b Ft(Same)30 b(as)h Fs(-h)p +Ft(.)1110 894 y Fs(histexpand)1590 1003 y Ft(Same)f(as)h +Fs(-H)p Ft(.)1110 1165 y Fs(history)144 b Ft(Enable)39 +b(command)g(history)-8 b(,)42 b(as)d(describ)s(ed)f(in)h(Section)h(9.1) +1590 1275 y([Bash)d(History)g(F)-8 b(acilities],)41 b(page)c(123.)60 +b(This)36 b(option)h(is)f(on)1590 1384 y(b)m(y)30 b(default)h(in)f(in)m +(teractiv)m(e)j(shells.)1110 1546 y Fs(ignoreeof)1590 +1656 y Ft(An)d(in)m(teractiv)m(e)j(shell)e(will)g(not)f(exit)h(up)s(on) +e(reading)i(EOF.)1110 1817 y Fs(keyword)144 b Ft(Same)30 +b(as)h Fs(-k)p Ft(.)1110 1979 y Fs(monitor)144 b Ft(Same)30 +b(as)h Fs(-m)p Ft(.)1110 2141 y Fs(noclobber)1590 2251 +y Ft(Same)f(as)h Fs(-C)p Ft(.)1110 2412 y Fs(noexec)192 +b Ft(Same)30 b(as)h Fs(-n)p Ft(.)1110 2574 y Fs(noglob)192 +b Ft(Same)30 b(as)h Fs(-f)p Ft(.)1110 2736 y Fs(nolog)240 +b Ft(Curren)m(tly)30 b(ignored.)1110 2898 y Fs(notify)192 +b Ft(Same)30 b(as)h Fs(-b)p Ft(.)1110 3059 y Fs(nounset)144 +b Ft(Same)30 b(as)h Fs(-u)p Ft(.)1110 3221 y Fs(onecmd)192 +b Ft(Same)30 b(as)h Fs(-t)p Ft(.)1110 3383 y Fs(physical)96 +b Ft(Same)30 b(as)h Fs(-P)p Ft(.)1110 3545 y Fs(pipefail)96 +b Ft(If)44 b(set,)k(the)d(return)e(v)-5 b(alue)45 b(of)f(a)h(pip)s +(eline)e(is)i(the)f(v)-5 b(alue)45 b(of)1590 3654 y(the)33 +b(last)h(\(righ)m(tmost\))h(command)e(to)h(exit)g(with)f(a)g(non-zero) +1590 3764 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 3874 y(cessfully)-8 b(.)41 +b(This)30 b(option)h(is)f(disabled)g(b)m(y)h(default.)1110 +4035 y Fs(posix)240 b Ft(Change)30 b(the)g(b)s(eha)m(vior)h(of)f(Bash)g +(where)g(the)g(default)h(op)s(era-)1590 4145 y(tion)25 +b(di\013ers)f(from)g(the)h Fl(posix)f Ft(standard)f(to)i(matc)m(h)h +(the)f(stan-)1590 4255 y(dard)32 b(\(see)i(Section)g(6.11)h([Bash)e +(POSIX)f(Mo)s(de],)j(page)e(86\).)1590 4364 y(This)k(is)g(in)m(tended)g +(to)h(mak)m(e)g(Bash)g(b)s(eha)m(v)m(e)g(as)g(a)f(strict)h(su-)1590 +4474 y(p)s(erset)30 b(of)h(that)f(standard.)1110 4635 +y Fs(privileged)1590 4745 y Ft(Same)g(as)h Fs(-p)p Ft(.)1110 +4907 y Fs(verbose)144 b Ft(Same)30 b(as)h Fs(-v)p Ft(.)1110 +5069 y Fs(vi)384 b Ft(Use)36 b(a)g Fs(vi)p Ft(-st)m(yle)g(line)g +(editing)g(in)m(terface.)58 b(This)35 b(also)h(a\013ects)1590 +5178 y(the)31 b(editing)g(in)m(terface)h(used)d(for)h +Fs(read)f(-e)p Ft(.)1110 5340 y Fs(xtrace)192 b Ft(Same)30 +b(as)h Fs(-x)p Ft(.)p eop end +%%Page: 56 62 +TeXDict begin 56 61 bop 150 -116 a Ft(56)2572 b(Bash)31 +b(Reference)g(Man)m(ual)630 299 y Fs(-p)384 b Ft(T)-8 +b(urn)33 b(on)h(privileged)h(mo)s(de.)51 b(In)34 b(this)g(mo)s(de,)h +(the)f Fs($BASH_ENV)e Ft(and)h Fs($ENV)1110 408 y Ft(\014les)23 +b(are)h(not)f(pro)s(cessed,)h(shell)g(functions)e(are)i(not)f +(inherited)g(from)f(the)i(en-)1110 518 y(vironmen)m(t,)h(and)e(the)g +Fs(SHELLOPTS)p Ft(,)f Fs(BASHOPTS)p Ft(,)h Fs(CDPATH)e +Ft(and)i Fs(GLOBIGNORE)1110 628 y Ft(v)-5 b(ariables,)23 +b(if)e(they)g(app)s(ear)f(in)g(the)h(en)m(vironmen)m(t,)i(are)e +(ignored.)38 b(If)20 b(the)h(shell)1110 737 y(is)37 b(started)h(with)f +(the)g(e\013ectiv)m(e)j(user)d(\(group\))g(id)g(not)g(equal)h(to)g(the) +f(real)1110 847 y(user)h(\(group\))h(id,)i(and)d(the)h +Fs(-p)f Ft(option)i(is)e(not)i(supplied,)f(these)h(actions)1110 +956 y(are)32 b(tak)m(en)i(and)d(the)h(e\013ectiv)m(e)j(user)c(id)h(is)g +(set)h(to)f(the)h(real)f(user)g(id.)45 b(If)32 b(the)1110 +1066 y Fs(-p)i Ft(option)h(is)g(supplied)f(at)h(startup,)h(the)f +(e\013ectiv)m(e)i(user)d(id)g(is)h(not)g(reset.)1110 +1176 y(T)-8 b(urning)35 b(this)i(option)g(o\013)g(causes)g(the)g +(e\013ectiv)m(e)i(user)d(and)g(group)g(ids)g(to)1110 +1285 y(b)s(e)30 b(set)h(to)g(the)f(real)h(user)f(and)g(group)g(ids.)630 +1450 y Fs(-t)384 b Ft(Exit)31 b(after)g(reading)f(and)g(executing)h +(one)g(command.)630 1614 y Fs(-u)384 b Ft(T)-8 b(reat)25 +b(unset)e(v)-5 b(ariables)25 b(and)e(parameters)h(other)h(than)e(the)h +(sp)s(ecial)h(param-)1110 1724 y(eters)35 b(`)p Fs(@)p +Ft(')f(or)g(`)p Fs(*)p Ft(')h(as)f(an)g(error)g(when)f(p)s(erforming)g +(parameter)i(expansion.)1110 1833 y(An)28 b(error)h(message)g(will)g(b) +s(e)f(written)h(to)h(the)e(standard)g(error,)h(and)f(a)h(non-)1110 +1943 y(in)m(teractiv)m(e)k(shell)e(will)g(exit.)630 2107 +y Fs(-v)384 b Ft(Prin)m(t)30 b(shell)h(input)e(lines)i(as)g(they)f(are) +h(read.)630 2271 y Fs(-x)384 b Ft(Prin)m(t)21 b(a)h(trace)h(of)f +(simple)f(commands,)i Fs(for)e Ft(commands,)i Fs(case)d +Ft(commands,)1110 2381 y Fs(select)29 b Ft(commands,)j(and)e (arithmetic)j Fs(for)d Ft(commands)h(and)f(their)i(argu-)1110 -518 y(men)m(ts)h(or)f(asso)s(ciated)i(w)m(ord)e(lists)h(after)g(they)f -(are)h(expanded)f(and)f(b)s(efore)1110 628 y(they)i(are)g(executed.)49 +2491 y(men)m(ts)h(or)f(asso)s(ciated)i(w)m(ord)e(lists)h(after)g(they)f +(are)h(expanded)f(and)f(b)s(efore)1110 2600 y(they)i(are)g(executed.)49 b(The)32 b(v)-5 b(alue)33 b(of)g(the)g Fs(PS4)f Ft(v)-5 -b(ariable)34 b(is)f(expanded)f(and)1110 737 y(the)24 +b(ariable)34 b(is)f(expanded)f(and)1110 2710 y(the)24 b(resultan)m(t)h(v)-5 b(alue)24 b(is)g(prin)m(ted)g(b)s(efore)f(the)h -(command)g(and)f(its)i(expanded)1110 847 y(argumen)m(ts.)630 -1000 y Fs(-B)384 b Ft(The)41 b(shell)g(will)g(p)s(erform)f(brace)h -(expansion)g(\(see)h(Section)g(3.5.1)g([Brace)1110 1110 -y(Expansion],)30 b(page)h(18\).)42 b(This)30 b(option)h(is)f(on)g(b)m -(y)h(default.)630 1263 y Fs(-C)384 b Ft(Prev)m(en)m(t)25 +(command)g(and)f(its)i(expanded)1110 2819 y(argumen)m(ts.)630 +2984 y Fs(-B)384 b Ft(The)41 b(shell)g(will)g(p)s(erform)f(brace)h +(expansion)g(\(see)h(Section)g(3.5.1)g([Brace)1110 3093 +y(Expansion],)30 b(page)h(19\).)42 b(This)30 b(option)h(is)f(on)g(b)m +(y)h(default.)630 3258 y Fs(-C)384 b Ft(Prev)m(en)m(t)25 b(output)e(redirection)h(using)f(`)p Fs(>)p Ft(',)i(`)p Fs(>&)p Ft(',)g(and)e(`)p Fs(<>)p Ft(')g(from)h(o)m(v)m(erwriting)1110 -1373 y(existing)31 b(\014les.)630 1526 y Fs(-E)384 b +3367 y(existing)31 b(\014les.)630 3532 y Fs(-E)384 b Ft(If)39 b(set,)j(an)m(y)e(trap)f(on)g Fs(ERR)g Ft(is)g(inherited)g(b)m -(y)g(shell)h(functions,)h(command)1110 1636 y(substitutions,)35 +(y)g(shell)h(functions,)h(command)1110 3641 y(substitutions,)35 b(and)e(commands)g(executed)i(in)f(a)g(subshell)f(en)m(vironmen)m(t.) -1110 1745 y(The)d Fs(ERR)f Ft(trap)i(is)f(normally)h(not)f(inherited)g -(in)g(suc)m(h)g(cases.)630 1899 y Fs(-H)384 b Ft(Enable)38 +1110 3751 y(The)d Fs(ERR)f Ft(trap)i(is)f(normally)h(not)f(inherited)g +(in)g(suc)m(h)g(cases.)630 3915 y Fs(-H)384 b Ft(Enable)38 b(`)p Fs(!)p Ft(')h(st)m(yle)h(history)e(substitution)g(\(see)h -(Section)h(9.3)f([History)g(In-)1110 2008 y(teraction],)g(page)d -(123\).)57 b(This)34 b(option)i(is)f(on)g(b)m(y)h(default)f(for)g(in)m -(teractiv)m(e)1110 2118 y(shells.)630 2271 y Fs(-P)384 +(Section)h(9.3)f([History)g(In-)1110 4025 y(teraction],)g(page)d +(125\).)57 b(This)34 b(option)i(is)f(on)g(b)m(y)h(default)f(for)g(in)m +(teractiv)m(e)1110 4134 y(shells.)630 4299 y Fs(-P)384 b Ft(If)43 b(set,)k(do)c(not)g(follo)m(w)h(sym)m(b)s(olic)g(links)e -(when)g(p)s(erforming)g(commands)1110 2381 y(suc)m(h)29 +(when)g(p)s(erforming)g(commands)1110 4408 y(suc)m(h)29 b(as)h Fs(cd)f Ft(whic)m(h)g(c)m(hange)h(the)g(curren)m(t)f(directory) --8 b(.)42 b(The)28 b(ph)m(ysical)j(direc-)1110 2491 y(tory)j(is)g(used) +-8 b(.)42 b(The)28 b(ph)m(ysical)j(direc-)1110 4518 y(tory)j(is)g(used) f(instead.)52 b(By)34 b(default,)h(Bash)f(follo)m(ws)h(the)f(logical)i -(c)m(hain)f(of)1110 2600 y(directories)j(when)d(p)s(erforming)h +(c)m(hain)f(of)1110 4628 y(directories)j(when)d(p)s(erforming)h (commands)g(whic)m(h)g(c)m(hange)i(the)f(curren)m(t)1110 -2710 y(directory)-8 b(.)1110 2841 y(F)g(or)31 b(example,)g(if)f(`)p +4737 y(directory)-8 b(.)1110 4874 y(F)g(or)31 b(example,)g(if)f(`)p Fs(/usr/sys)p Ft(')e(is)i(a)g(sym)m(b)s(olic)h(link)f(to)g(`)p -Fs(/usr/local/sys)p Ft(')1110 2951 y(then:)1350 3082 -y Fs($)47 b(cd)h(/usr/sys;)d(echo)i($PWD)1350 3192 y(/usr/sys)1350 -3302 y($)g(cd)h(..;)f(pwd)1350 3411 y(/usr)1110 3543 -y Ft(If)30 b Fs(set)f(-P)h Ft(is)h(on,)f(then:)1350 3674 -y Fs($)47 b(cd)h(/usr/sys;)d(echo)i($PWD)1350 3784 y(/usr/local/sys) -1350 3893 y($)g(cd)h(..;)f(pwd)1350 4003 y(/usr/local)630 -4156 y(-T)384 b Ft(If)34 b(set,)j(an)m(y)e(trap)g(on)g +Fs(/usr/local/sys)p Ft(')1110 4984 y(then:)1350 5121 +y Fs($)47 b(cd)h(/usr/sys;)d(echo)i($PWD)1350 5230 y(/usr/sys)1350 +5340 y($)g(cd)h(..;)f(pwd)p eop end +%%Page: 57 63 +TeXDict begin 57 62 bop 150 -116 a Ft(Chapter)30 b(4:)41 +b(Shell)30 b(Builtin)h(Commands)2069 b(57)1350 299 y +Fs(/usr)1110 435 y Ft(If)30 b Fs(set)f(-P)h Ft(is)h(on,)f(then:)1350 +571 y Fs($)47 b(cd)h(/usr/sys;)d(echo)i($PWD)1350 681 +y(/usr/local/sys)1350 790 y($)g(cd)h(..;)f(pwd)1350 900 +y(/usr/local)630 1062 y(-T)384 b Ft(If)34 b(set,)j(an)m(y)e(trap)g(on)g Fs(DEBUG)e Ft(and)i Fs(RETURN)e Ft(are)i(inherited)g(b)m(y)f(shell)i -(func-)1110 4266 y(tions,)k(command)d(substitutions,)h(and)f(commands)g -(executed)h(in)f(a)h(sub-)1110 4376 y(shell)33 b(en)m(vironmen)m(t.)49 +(func-)1110 1172 y(tions,)k(command)d(substitutions,)h(and)f(commands)g +(executed)h(in)f(a)h(sub-)1110 1281 y(shell)33 b(en)m(vironmen)m(t.)49 b(The)32 b Fs(DEBUG)g Ft(and)g Fs(RETURN)f Ft(traps)h(are)i(normally)f -(not)1110 4485 y(inherited)d(in)g(suc)m(h)g(cases.)630 -4639 y Fs(--)384 b Ft(If)31 b(no)h(argumen)m(ts)f(follo)m(w)i(this)f +(not)1110 1391 y(inherited)d(in)g(suc)m(h)g(cases.)630 +1554 y Fs(--)384 b Ft(If)31 b(no)h(argumen)m(ts)f(follo)m(w)i(this)f (option,)g(then)f(the)h(p)s(ositional)h(parameters)1110 -4748 y(are)h(unset.)49 b(Otherwise,)34 b(the)g(p)s(ositional)g -(parameters)g(are)g(set)g(to)g(the)g Fq(ar-)1110 4858 +1663 y(are)h(unset.)49 b(Otherwise,)34 b(the)g(p)s(ositional)g +(parameters)g(are)g(set)g(to)g(the)g Fq(ar-)1110 1773 y(gumen)m(ts)t Ft(,)d(ev)m(en)g(if)f(some)h(of)f(them)h(b)s(egin)f -(with)g(a)g(`)p Fs(-)p Ft('.)630 5011 y Fs(-)432 b Ft(Signal)45 +(with)g(a)g(`)p Fs(-)p Ft('.)630 1935 y Fs(-)432 b Ft(Signal)45 b(the)g(end)f(of)h(options,)k(cause)c(all)h(remaining)e -Fq(argumen)m(ts)49 b Ft(to)d(b)s(e)1110 5121 y(assigned)38 +Fq(argumen)m(ts)49 b Ft(to)d(b)s(e)1110 2045 y(assigned)38 b(to)h(the)f(p)s(ositional)h(parameters.)65 b(The)37 b(`)p Fs(-x)p Ft(')h(and)g(`)p Fs(-v)p Ft(')g(options)1110 -5230 y(are)25 b(turned)e(o\013.)40 b(If)24 b(there)h(are)g(no)f +2155 y(are)25 b(turned)e(o\013.)40 b(If)24 b(there)h(are)g(no)f (argumen)m(ts,)i(the)f(p)s(ositional)h(parameters)1110 -5340 y(remain)k(unc)m(hanged.)p eop end -%%Page: 55 61 -TeXDict begin 55 60 bop 150 -116 a Ft(Chapter)30 b(4:)41 -b(Shell)30 b(Builtin)h(Commands)2069 b(55)630 299 y(Using)27 -b(`)p Fs(+)p Ft(')h(rather)f(than)g(`)p Fs(-)p Ft(')g(causes)h(these)f +2264 y(remain)k(unc)m(hanged.)630 2427 y(Using)d(`)p +Fs(+)p Ft(')h(rather)f(than)g(`)p Fs(-)p Ft(')g(causes)h(these)f (options)h(to)g(b)s(e)e(turned)g(o\013.)40 b(The)27 b(options)h(can)630 -408 y(also)36 b(b)s(e)f(used)f(up)s(on)g(in)m(v)m(o)s(cation)j(of)e +2536 y(also)36 b(b)s(e)f(used)f(up)s(on)g(in)m(v)m(o)s(cation)j(of)e (the)g(shell.)56 b(The)34 b(curren)m(t)h(set)h(of)f(options)h(ma)m(y)g -(b)s(e)630 518 y(found)29 b(in)h Fs($-)p Ft(.)630 653 +(b)s(e)630 2646 y(found)29 b(in)h Fs($-)p Ft(.)630 2782 y(The)43 b(remaining)h(N)f Fq(argumen)m(ts)48 b Ft(are)c(p)s(ositional) -g(parameters)g(and)f(are)h(assigned,)j(in)630 763 y(order,)30 +g(parameters)g(and)f(are)h(assigned,)j(in)630 2891 y(order,)30 b(to)h Fs($1)p Ft(,)f Fs($2)p Ft(,)36 b(.)22 b(.)g(.)42 b Fs($N)p Ft(.)e(The)30 b(sp)s(ecial)h(parameter)g Fs(#)f -Ft(is)g(set)h(to)g(N.)630 898 y(The)f(return)f(status)i(is)f(alw)m(a)m +Ft(is)g(set)h(to)g(N.)630 3028 y(The)f(return)f(status)i(is)f(alw)m(a)m (ys)i(zero)f(unless)f(an)g(in)m(v)-5 b(alid)31 b(option)g(is)f -(supplied.)150 1098 y Fj(4.3.2)63 b(The)41 b(Shopt)h(Builtin)150 -1245 y Ft(This)30 b(builtin)g(allo)m(ws)h(y)m(ou)g(to)g(c)m(hange)h +(supplied.)150 3230 y Fj(4.3.2)63 b(The)41 b(Shopt)h(Builtin)150 +3377 y Ft(This)30 b(builtin)g(allo)m(ws)h(y)m(ou)g(to)g(c)m(hange)h (additional)f(shell)f(optional)i(b)s(eha)m(vior.)150 -1407 y Fs(shopt)870 1542 y(shopt)46 b([-pqsu])g([-o])h([)p -Fi(optname)56 b Fs(...)o(])630 1677 y Ft(T)-8 b(oggle)47 +3541 y Fs(shopt)870 3677 y(shopt)46 b([-pqsu])g([-o])h([)p +Fi(optname)56 b Fs(...)o(])630 3813 y Ft(T)-8 b(oggle)47 b(the)d(v)-5 b(alues)45 b(of)g(v)-5 b(ariables)45 b(con)m(trolling)i (optional)f(shell)e(b)s(eha)m(vior.)84 b(With)45 b(no)630 -1786 y(options,)32 b(or)f(with)g(the)g(`)p Fs(-p)p Ft(')g(option,)h(a)g +3923 y(options,)32 b(or)f(with)g(the)g(`)p Fs(-p)p Ft(')g(option,)h(a)g (list)f(of)h(all)g(settable)g(options)g(is)f(displa)m(y)m(ed,)h(with) -630 1896 y(an)i(indication)i(of)f(whether)f(or)g(not)h(eac)m(h)h(is)e +630 4032 y(an)i(indication)i(of)f(whether)f(or)g(not)h(eac)m(h)h(is)e (set.)54 b(The)34 b(`)p Fs(-p)p Ft(')h(option)g(causes)g(output)f(to) -630 2006 y(b)s(e)i(displa)m(y)m(ed)h(in)e(a)i(form)f(that)h(ma)m(y)g(b) +630 4142 y(b)s(e)i(displa)m(y)m(ed)h(in)e(a)i(form)f(that)h(ma)m(y)g(b) s(e)e(reused)h(as)g(input.)58 b(Other)36 b(options)g(ha)m(v)m(e)i(the) -630 2115 y(follo)m(wing)32 b(meanings:)630 2276 y Fs(-s)384 +630 4251 y(follo)m(wing)32 b(meanings:)630 4414 y Fs(-s)384 b Ft(Enable)30 b(\(set\))i(eac)m(h)f Fq(optname)5 b Ft(.)630 -2436 y Fs(-u)384 b Ft(Disable)31 b(\(unset\))g(eac)m(h)h -Fq(optname)5 b Ft(.)630 2597 y Fs(-q)384 b Ft(Suppresses)28 +4577 y Fs(-u)384 b Ft(Disable)31 b(\(unset\))g(eac)m(h)h +Fq(optname)5 b Ft(.)630 4739 y Fs(-q)384 b Ft(Suppresses)28 b(normal)h(output;)h(the)g(return)e(status)i(indicates)h(whether)e(the) -1110 2707 y Fq(optname)37 b Ft(is)31 b(set)h(or)f(unset.)43 +1110 4849 y Fq(optname)37 b Ft(is)31 b(set)h(or)f(unset.)43 b(If)31 b(m)m(ultiple)h Fq(optname)37 b Ft(argumen)m(ts)31 -b(are)h(giv)m(en)1110 2816 y(with)43 b(`)p Fs(-q)p Ft(',)j(the)d +b(are)h(giv)m(en)1110 4958 y(with)43 b(`)p Fs(-q)p Ft(',)j(the)d (return)f(status)h(is)g(zero)h(if)f(all)g Fq(optnames)k -Ft(are)d(enabled;)1110 2926 y(non-zero)31 b(otherwise.)630 -3087 y Fs(-o)384 b Ft(Restricts)28 b(the)g(v)-5 b(alues)28 +Ft(are)d(enabled;)1110 5068 y(non-zero)31 b(otherwise.)630 +5230 y Fs(-o)384 b Ft(Restricts)28 b(the)g(v)-5 b(alues)28 b(of)f Fq(optname)33 b Ft(to)c(b)s(e)d(those)i(de\014ned)f(for)g(the)g -(`)p Fs(-o)p Ft(')h(op-)1110 3196 y(tion)23 b(to)h(the)f +(`)p Fs(-o)p Ft(')h(op-)1110 5340 y(tion)23 b(to)h(the)f Fs(set)f Ft(builtin)h(\(see)g(Section)h(4.3.1)h([The)d(Set)i(Builtin],) -h(page)e(51\).)630 3357 y(If)29 b(either)i(`)p Fs(-s)p +h(page)e(53\).)p eop end +%%Page: 58 64 +TeXDict begin 58 63 bop 150 -116 a Ft(58)2572 b(Bash)31 +b(Reference)g(Man)m(ual)630 299 y(If)e(either)i(`)p Fs(-s)p Ft(')f(or)g(`)p Fs(-u)p Ft(')f(is)h(used)g(with)f(no)h Fq(optname)35 b Ft(argumen)m(ts,)c(the)f(displa)m(y)g(is)g(limited)630 -3466 y(to)h(those)g(options)g(whic)m(h)f(are)h(set)f(or)h(unset,)f -(resp)s(ectiv)m(ely)-8 b(.)630 3601 y(Unless)30 b(otherwise)h(noted,)g -(the)g Fs(shopt)d Ft(options)j(are)g(disabled)f(\(o\013)7 -b(\))32 b(b)m(y)e(default.)630 3737 y(The)d(return)f(status)i(when)f -(listing)h(options)g(is)f(zero)i(if)e(all)i Fq(optnames)i -Ft(are)d(enabled,)g(non-)630 3846 y(zero)40 b(otherwise.)66 -b(When)39 b(setting)h(or)f(unsetting)g(options,)i(the)e(return)f -(status)h(is)g(zero)630 3956 y(unless)30 b(an)g Fq(optname)36 -b Ft(is)30 b(not)h(a)g(v)-5 b(alid)30 b(shell)h(option.)630 -4091 y(The)f(list)h(of)f Fs(shopt)f Ft(options)i(is:)630 -4252 y Fs(autocd)192 b Ft(If)27 b(set,)h(a)g(command)f(name)g(that)h -(is)f(the)g(name)g(of)h(a)f(directory)h(is)f(executed)1110 -4361 y(as)j(if)f(it)h(w)m(ere)f(the)h(argumen)m(t)g(to)g(the)f -Fs(cd)g Ft(command.)40 b(This)29 b(option)g(is)h(only)1110 -4471 y(used)g(b)m(y)g(in)m(teractiv)m(e)j(shells.)630 -4631 y Fs(cdable_vars)1110 4741 y Ft(If)h(this)h(is)g(set,)i(an)e -(argumen)m(t)g(to)h(the)f Fs(cd)f Ft(builtin)h(command)f(that)i(is)f -(not)1110 4851 y(a)c(directory)g(is)g(assumed)f(to)h(b)s(e)f(the)h -(name)f(of)h(a)g(v)-5 b(ariable)31 b(whose)g(v)-5 b(alue)31 -b(is)1110 4960 y(the)g(directory)f(to)i(c)m(hange)f(to.)630 -5121 y Fs(cdspell)144 b Ft(If)27 b(set,)h(minor)f(errors)f(in)h(the)g -(sp)s(elling)h(of)f(a)g(directory)h(comp)s(onen)m(t)f(in)g(a)h -Fs(cd)1110 5230 y Ft(command)i(will)h(b)s(e)f(corrected.)43 -b(The)30 b(errors)g(c)m(hec)m(k)m(ed)j(for)d(are)h(transp)s(osed)1110 -5340 y(c)m(haracters,)46 b(a)c(missing)f(c)m(haracter,)47 +408 y(to)h(those)g(options)g(whic)m(h)f(are)h(set)f(or)h(unset,)f(resp) +s(ectiv)m(ely)-8 b(.)630 542 y(Unless)30 b(otherwise)h(noted,)g(the)g +Fs(shopt)d Ft(options)j(are)g(disabled)f(\(o\013)7 b(\))32 +b(b)m(y)e(default.)630 675 y(The)d(return)f(status)i(when)f(listing)h +(options)g(is)f(zero)i(if)e(all)i Fq(optnames)i Ft(are)d(enabled,)g +(non-)630 785 y(zero)40 b(otherwise.)66 b(When)39 b(setting)h(or)f +(unsetting)g(options,)i(the)e(return)f(status)h(is)g(zero)630 +894 y(unless)30 b(an)g Fq(optname)36 b Ft(is)30 b(not)h(a)g(v)-5 +b(alid)30 b(shell)h(option.)630 1028 y(The)f(list)h(of)f +Fs(shopt)f Ft(options)i(is:)630 1185 y Fs(autocd)192 +b Ft(If)27 b(set,)h(a)g(command)f(name)g(that)h(is)f(the)g(name)g(of)h +(a)f(directory)h(is)f(executed)1110 1295 y(as)j(if)f(it)h(w)m(ere)f +(the)h(argumen)m(t)g(to)g(the)f Fs(cd)g Ft(command.)40 +b(This)29 b(option)g(is)h(only)1110 1404 y(used)g(b)m(y)g(in)m +(teractiv)m(e)j(shells.)630 1562 y Fs(cdable_vars)1110 +1671 y Ft(If)h(this)h(is)g(set,)i(an)e(argumen)m(t)g(to)h(the)f +Fs(cd)f Ft(builtin)h(command)f(that)i(is)f(not)1110 1781 +y(a)c(directory)g(is)g(assumed)f(to)h(b)s(e)f(the)h(name)f(of)h(a)g(v) +-5 b(ariable)31 b(whose)g(v)-5 b(alue)31 b(is)1110 1890 +y(the)g(directory)f(to)i(c)m(hange)f(to.)630 2048 y Fs(cdspell)144 +b Ft(If)27 b(set,)h(minor)f(errors)f(in)h(the)g(sp)s(elling)h(of)f(a)g +(directory)h(comp)s(onen)m(t)f(in)g(a)h Fs(cd)1110 2157 +y Ft(command)i(will)h(b)s(e)f(corrected.)43 b(The)30 +b(errors)g(c)m(hec)m(k)m(ed)j(for)d(are)h(transp)s(osed)1110 +2267 y(c)m(haracters,)46 b(a)c(missing)f(c)m(haracter,)47 b(and)40 b(a)i(c)m(haracter)h(to)s(o)g(man)m(y)-8 b(.)74 -b(If)42 b(a)p eop end -%%Page: 56 62 -TeXDict begin 56 61 bop 150 -116 a Ft(56)2572 b(Bash)31 -b(Reference)g(Man)m(ual)1110 299 y(correction)25 b(is)e(found,)g(the)h -(corrected)g(path)f(is)g(prin)m(ted,)h(and)f(the)g(command)1110 -408 y(pro)s(ceeds.)40 b(This)30 b(option)h(is)f(only)h(used)e(b)m(y)h -(in)m(teractiv)m(e)k(shells.)630 582 y Fs(checkhash)1110 -692 y Ft(If)29 b(this)h(is)g(set,)g(Bash)g(c)m(hec)m(ks)h(that)g(a)f -(command)f(found)g(in)g(the)h(hash)f(table)1110 801 y(exists)k(b)s -(efore)f(trying)h(to)h(execute)g(it.)48 b(If)32 b(a)h(hashed)e(command) -i(no)f(longer)1110 911 y(exists,)f(a)g(normal)f(path)g(searc)m(h)h(is)g -(p)s(erformed.)630 1084 y Fs(checkjobs)1110 1194 y Ft(If)d(set,)i(Bash) -e(lists)h(the)g(status)g(of)f(an)m(y)h(stopp)s(ed)f(and)g(running)e -(jobs)i(b)s(efore)1110 1303 y(exiting)42 b(an)f(in)m(teractiv)m(e)j -(shell.)72 b(If)41 b(an)m(y)g(jobs)f(are)i(running,)g(this)f(causes) -1110 1413 y(the)30 b(exit)g(to)g(b)s(e)f(deferred)g(un)m(til)h(a)f -(second)h(exit)g(is)g(attempted)h(without)e(an)1110 1523 -y(in)m(terv)m(ening)j(command)e(\(see)h(Chapter)f(7)h([Job)f(Con)m -(trol],)i(page)f(89\).)42 b(The)1110 1632 y(shell)31 -b(alw)m(a)m(ys)g(p)s(ostp)s(ones)f(exiting)h(if)g(an)m(y)f(jobs)g(are)h -(stopp)s(ed.)630 1806 y Fs(checkwinsize)1110 1915 y Ft(If)41 -b(set,)k(Bash)c(c)m(hec)m(ks)i(the)f(windo)m(w)e(size)j(after)f(eac)m -(h)g(command)f(and,)j(if)1110 2025 y(necessary)-8 b(,)31 -b(up)s(dates)f(the)g(v)-5 b(alues)31 b(of)g Fs(LINES)e -Ft(and)g Fs(COLUMNS)p Ft(.)630 2198 y Fs(cmdhist)144 +b(If)42 b(a)1110 2376 y(correction)25 b(is)e(found,)g(the)h(corrected)g +(path)f(is)g(prin)m(ted,)h(and)f(the)g(command)1110 2486 +y(pro)s(ceeds.)40 b(This)30 b(option)h(is)f(only)h(used)e(b)m(y)h(in)m +(teractiv)m(e)k(shells.)630 2643 y Fs(checkhash)1110 +2753 y Ft(If)29 b(this)h(is)g(set,)g(Bash)g(c)m(hec)m(ks)h(that)g(a)f +(command)f(found)g(in)g(the)h(hash)f(table)1110 2862 +y(exists)k(b)s(efore)f(trying)h(to)h(execute)g(it.)48 +b(If)32 b(a)h(hashed)e(command)i(no)f(longer)1110 2972 +y(exists,)f(a)g(normal)f(path)g(searc)m(h)h(is)g(p)s(erformed.)630 +3129 y Fs(checkjobs)1110 3239 y Ft(If)d(set,)i(Bash)e(lists)h(the)g +(status)g(of)f(an)m(y)h(stopp)s(ed)f(and)g(running)e(jobs)i(b)s(efore) +1110 3348 y(exiting)42 b(an)f(in)m(teractiv)m(e)j(shell.)72 +b(If)41 b(an)m(y)g(jobs)f(are)i(running,)g(this)f(causes)1110 +3458 y(the)30 b(exit)g(to)g(b)s(e)f(deferred)g(un)m(til)h(a)f(second)h +(exit)g(is)g(attempted)h(without)e(an)1110 3567 y(in)m(terv)m(ening)j +(command)e(\(see)h(Chapter)f(7)h([Job)f(Con)m(trol],)i(page)f(91\).)42 +b(The)1110 3677 y(shell)31 b(alw)m(a)m(ys)g(p)s(ostp)s(ones)f(exiting)h +(if)g(an)m(y)f(jobs)g(are)h(stopp)s(ed.)630 3834 y Fs(checkwinsize)1110 +3944 y Ft(If)41 b(set,)k(Bash)c(c)m(hec)m(ks)i(the)f(windo)m(w)e(size)j +(after)f(eac)m(h)g(command)f(and,)j(if)1110 4053 y(necessary)-8 +b(,)31 b(up)s(dates)f(the)g(v)-5 b(alues)31 b(of)g Fs(LINES)e +Ft(and)g Fs(COLUMNS)p Ft(.)630 4211 y Fs(cmdhist)144 b Ft(If)33 b(set,)j(Bash)e(attempts)h(to)g(sa)m(v)m(e)g(all)g(lines)f -(of)g(a)h(m)m(ultiple-line)g(command)1110 2308 y(in)c(the)g(same)g +(of)g(a)h(m)m(ultiple-line)g(command)1110 4320 y(in)c(the)g(same)g (history)g(en)m(try)-8 b(.)42 b(This)30 b(allo)m(ws)i(easy)g -(re-editing)g(of)f(m)m(ulti-line)1110 2418 y(commands.)630 -2591 y Fs(compat31)96 b Ft(If)27 b(set,)i(Bash)e(c)m(hanges)i(its)f(b)s +(re-editing)g(of)f(m)m(ulti-line)1110 4430 y(commands.)630 +4587 y Fs(compat31)96 b Ft(If)27 b(set,)i(Bash)e(c)m(hanges)i(its)f(b)s (eha)m(vior)f(to)i(that)f(of)f(v)m(ersion)h(3.1)h(with)e(resp)s(ect) -1110 2701 y(to)k(quoted)g(argumen)m(ts)f(to)h(the)g(conditional)h -(command's)e(=)p Fs(~)g Ft(op)s(erator.)630 2874 y Fs(compat32)96 +1110 4697 y(to)k(quoted)g(argumen)m(ts)f(to)h(the)g(conditional)h +(command's)e(=)p Fs(~)g Ft(op)s(erator.)630 4854 y Fs(compat32)96 b Ft(If)27 b(set,)i(Bash)e(c)m(hanges)i(its)f(b)s(eha)m(vior)f(to)i (that)f(of)f(v)m(ersion)h(3.2)h(with)e(resp)s(ect)1110 -2984 y(to)22 b(lo)s(cale-sp)s(eci\014c)h(string)e(comparison)g(when)f -(using)g(the)i(conditional)g(com-)1110 3093 y(mand's)30 -b Fs(<)g Ft(and)f Fs(>)h Ft(op)s(erators.)630 3267 y +4964 y(to)22 b(lo)s(cale-sp)s(eci\014c)h(string)e(comparison)g(when)f +(using)g(the)i(conditional)g(com-)1110 5073 y(mand's)30 +b Fs(<)g Ft(and)f Fs(>)h Ft(op)s(erators.)630 5230 y Fs(compat40)96 b Ft(If)27 b(set,)i(Bash)e(c)m(hanges)i(its)f(b)s(eha)m (vior)f(to)i(that)f(of)f(v)m(ersion)h(4.0)h(with)e(resp)s(ect)1110 -3377 y(to)22 b(lo)s(cale-sp)s(eci\014c)h(string)e(comparison)g(when)f -(using)g(the)i(conditional)g(com-)1110 3486 y(mand's)j -Fs(<)g Ft(and)g Fs(>)g Ft(op)s(erators)h(and)f(the)g(e\013ect)i(of)f -(in)m(terrupting)f(a)h(command)1110 3596 y(list.)630 -3769 y Fs(dirspell)96 b Ft(If)26 b(set,)i(Bash)f(attempts)g(sp)s -(elling)g(correction)g(on)g(directory)g(names)f(during)1110 -3879 y(w)m(ord)36 b(completion)h(if)f(the)g(directory)g(name)g -(initially)h(supplied)e(do)s(es)h(not)1110 3988 y(exist.)630 -4162 y Fs(dotglob)144 b Ft(If)27 b(set,)i(Bash)f(includes)g -(\014lenames)g(b)s(eginning)f(with)g(a)h(`.')41 b(in)27 -b(the)h(results)g(of)1110 4271 y(\014lename)j(expansion.)630 -4445 y Fs(execfail)96 b Ft(If)24 b(this)h(is)f(set,)j(a)e(non-in)m -(teractiv)m(e)i(shell)e(will)f(not)h(exit)h(if)e(it)h(cannot)h(execute) -1110 4555 y(the)i(\014le)g(sp)s(eci\014ed)g(as)g(an)g(argumen)m(t)g(to) -h(the)f Fs(exec)f Ft(builtin)h(command.)39 b(An)1110 -4664 y(in)m(teractiv)m(e)33 b(shell)e(do)s(es)f(not)g(exit)i(if)e -Fs(exec)f Ft(fails.)630 4838 y Fs(expand_aliases)1110 -4947 y Ft(If)j(set,)h(aliases)g(are)g(expanded)e(as)h(describ)s(ed)f(b) -s(elo)m(w)h(under)f(Aliases,)i(Sec-)1110 5057 y(tion)38 -b(6.6)h([Aliases],)j(page)d(79.)64 b(This)37 b(option)h(is)g(enabled)g -(b)m(y)g(default)g(for)1110 5166 y(in)m(teractiv)m(e)33 -b(shells.)630 5340 y Fs(extdebug)96 b Ft(If)30 b(set,)h(b)s(eha)m(vior) -g(in)m(tended)f(for)g(use)g(b)m(y)g(debuggers)g(is)h(enabled:)p -eop end -%%Page: 57 63 -TeXDict begin 57 62 bop 150 -116 a Ft(Chapter)30 b(4:)41 -b(Shell)30 b(Builtin)h(Commands)2069 b(57)1159 299 y(1.)61 -b(The)32 b(`)p Fs(-F)p Ft(')g(option)h(to)g(the)g Fs(declare)d -Ft(builtin)i(\(see)i(Section)f(4.2)h([Bash)1290 408 y(Builtins],)29 -b(page)g(41\))g(displa)m(ys)f(the)g(source)h(\014le)f(name)g(and)f -(line)h(n)m(um-)1290 518 y(b)s(er)h(corresp)s(onding)g(to)i(eac)m(h)g -(function)f(name)g(supplied)f(as)i(an)f(argu-)1290 628 -y(men)m(t.)1159 766 y(2.)61 b(If)20 b(the)h(command)g(run)e(b)m(y)i -(the)f Fs(DEBUG)g Ft(trap)g(returns)g(a)h(non-zero)g(v)-5 -b(alue,)1290 876 y(the)31 b(next)f(command)g(is)h(skipp)s(ed)e(and)g -(not)i(executed.)1159 1014 y(3.)61 b(If)37 b(the)g(command)g(run)f(b)m +5340 y(to)22 b(lo)s(cale-sp)s(eci\014c)h(string)e(comparison)g(when)f +(using)g(the)i(conditional)g(com-)p eop end +%%Page: 59 65 +TeXDict begin 59 64 bop 150 -116 a Ft(Chapter)30 b(4:)41 +b(Shell)30 b(Builtin)h(Commands)2069 b(59)1110 299 y(mand's)25 +b Fs(<)g Ft(and)g Fs(>)g Ft(op)s(erators)h(and)f(the)g(e\013ect)i(of)f +(in)m(terrupting)f(a)h(command)1110 408 y(list.)630 555 +y Fs(dirspell)96 b Ft(If)26 b(set,)i(Bash)f(attempts)g(sp)s(elling)g +(correction)g(on)g(directory)g(names)f(during)1110 664 +y(w)m(ord)36 b(completion)h(if)f(the)g(directory)g(name)g(initially)h +(supplied)e(do)s(es)h(not)1110 774 y(exist.)630 920 y +Fs(dotglob)144 b Ft(If)27 b(set,)i(Bash)f(includes)g(\014lenames)g(b)s +(eginning)f(with)g(a)h(`.')41 b(in)27 b(the)h(results)g(of)1110 +1029 y(\014lename)j(expansion.)630 1176 y Fs(execfail)96 +b Ft(If)24 b(this)h(is)f(set,)j(a)e(non-in)m(teractiv)m(e)i(shell)e +(will)f(not)h(exit)h(if)e(it)h(cannot)h(execute)1110 +1285 y(the)i(\014le)g(sp)s(eci\014ed)g(as)g(an)g(argumen)m(t)g(to)h +(the)f Fs(exec)f Ft(builtin)h(command.)39 b(An)1110 1395 +y(in)m(teractiv)m(e)33 b(shell)e(do)s(es)f(not)g(exit)i(if)e +Fs(exec)f Ft(fails.)630 1541 y Fs(expand_aliases)1110 +1650 y Ft(If)j(set,)h(aliases)g(are)g(expanded)e(as)h(describ)s(ed)f(b) +s(elo)m(w)h(under)f(Aliases,)i(Sec-)1110 1760 y(tion)38 +b(6.6)h([Aliases],)j(page)d(81.)64 b(This)37 b(option)h(is)g(enabled)g +(b)m(y)g(default)g(for)1110 1870 y(in)m(teractiv)m(e)33 +b(shells.)630 2016 y Fs(extdebug)96 b Ft(If)30 b(set,)h(b)s(eha)m(vior) +g(in)m(tended)f(for)g(use)g(b)m(y)g(debuggers)g(is)h(enabled:)1159 +2144 y(1.)61 b(The)32 b(`)p Fs(-F)p Ft(')g(option)h(to)g(the)g +Fs(declare)d Ft(builtin)i(\(see)i(Section)f(4.2)h([Bash)1290 +2253 y(Builtins],)29 b(page)g(43\))g(displa)m(ys)f(the)g(source)h +(\014le)f(name)g(and)f(line)h(n)m(um-)1290 2363 y(b)s(er)h(corresp)s +(onding)g(to)i(eac)m(h)g(function)f(name)g(supplied)f(as)i(an)f(argu-) +1290 2472 y(men)m(t.)1159 2600 y(2.)61 b(If)20 b(the)h(command)g(run)e +(b)m(y)i(the)f Fs(DEBUG)g Ft(trap)g(returns)g(a)h(non-zero)g(v)-5 +b(alue,)1290 2710 y(the)31 b(next)f(command)g(is)h(skipp)s(ed)e(and)g +(not)i(executed.)1159 2838 y(3.)61 b(If)37 b(the)g(command)g(run)f(b)m (y)i(the)f Fs(DEBUG)f Ft(trap)h(returns)f(a)i(v)-5 b(alue)38 -b(of)f(2,)1290 1124 y(and)c(the)g(shell)h(is)f(executing)i(in)e(a)h -(subroutine)e(\(a)i(shell)g(function)f(or)1290 1233 y(a)h(shell)h +b(of)f(2,)1290 2947 y(and)c(the)g(shell)h(is)f(executing)i(in)e(a)h +(subroutine)e(\(a)i(shell)g(function)f(or)1290 3057 y(a)h(shell)h (script)f(executed)h(b)m(y)f(the)g Fs(.)g Ft(or)g Fs(source)e -Ft(builtins\),)j(a)g(call)g(to)1290 1343 y Fs(return)29 -b Ft(is)h(sim)m(ulated.)1159 1481 y(4.)61 b Fs(BASH_ARGC)34 +Ft(builtins\),)j(a)g(call)g(to)1290 3166 y Fs(return)29 +b Ft(is)h(sim)m(ulated.)1159 3294 y(4.)61 b Fs(BASH_ARGC)34 b Ft(and)i Fs(BASH_ARGV)e Ft(are)j(up)s(dated)e(as)h(describ)s(ed)g(in) -g(their)1290 1591 y(descriptions)30 b(\(see)i(Section)f(5.2)g([Bash)g -(V)-8 b(ariables],)32 b(page)f(61\).)1159 1729 y(5.)61 +g(their)1290 3404 y(descriptions)30 b(\(see)i(Section)f(5.2)g([Bash)g +(V)-8 b(ariables],)32 b(page)f(63\).)1159 3532 y(5.)61 b(F)-8 b(unction)57 b(tracing)g(is)g(enabled:)93 b(command)56 -b(substitution,)63 b(shell)1290 1839 y(functions,)30 +b(substitution,)63 b(shell)1290 3641 y(functions,)30 b(and)f(subshells)g(in)m(v)m(ok)m(ed)j(with)d Fs(\()h -Fi(command)39 b Fs(\))30 b Ft(inherit)g(the)1290 1948 -y Fs(DEBUG)f Ft(and)h Fs(RETURN)e Ft(traps.)1159 2087 +Fi(command)39 b Fs(\))30 b Ft(inherit)g(the)1290 3751 +y Fs(DEBUG)f Ft(and)h Fs(RETURN)e Ft(traps.)1159 3879 y(6.)61 b(Error)41 b(tracing)i(is)f(enabled:)63 b(command)42 -b(substitution,)i(shell)f(func-)1290 2196 y(tions,)30 +b(substitution,)i(shell)f(func-)1290 3988 y(tions,)30 b(and)f(subshells)g(in)m(v)m(ok)m(ed)i(with)e Fs(\()h Fi(command)39 b Fs(\))29 b Ft(inherit)g(the)h Fs(ERR)1290 -2306 y Ft(trap.)630 2473 y Fs(extglob)144 b Ft(If)26 +4098 y Ft(trap.)630 4244 y Fs(extglob)144 b Ft(If)26 b(set,)i(the)f(extended)f(pattern)h(matc)m(hing)g(features)g(describ)s -(ed)e(ab)s(o)m(v)m(e)j(\(see)1110 2583 y(Section)j(3.5.8.1)i([P)m -(attern)f(Matc)m(hing],)g(page)f(24\))h(are)f(enabled.)630 -2750 y Fs(extquote)96 b Ft(If)49 b(set,)54 b Fs($')p +(ed)e(ab)s(o)m(v)m(e)j(\(see)1110 4354 y(Section)j(3.5.8.1)i([P)m +(attern)f(Matc)m(hing],)g(page)f(26\))h(are)f(enabled.)630 +4500 y Fs(extquote)96 b Ft(If)49 b(set,)54 b Fs($')p Fi(string)11 b Fs(')46 b Ft(and)j Fs($")p Fi(string)11 b Fs(")46 b Ft(quoting)k(is)f(p)s(erformed)e(within)1110 -2860 y Fs(${)p Fi(parameter)11 b Fs(})30 b Ft(expansions)j(enclosed)h -(in)g(double)f(quotes.)51 b(This)32 b(option)1110 2969 -y(is)e(enabled)h(b)m(y)f(default.)630 3137 y Fs(failglob)96 +4609 y Fs(${)p Fi(parameter)11 b Fs(})30 b Ft(expansions)j(enclosed)h +(in)g(double)f(quotes.)51 b(This)32 b(option)1110 4719 +y(is)e(enabled)h(b)m(y)f(default.)630 4865 y Fs(failglob)96 b Ft(If)36 b(set,)j(patterns)d(whic)m(h)g(fail)h(to)h(matc)m(h)f -(\014lenames)f(during)g(\014lename)g(ex-)1110 3246 y(pansion)30 -b(result)g(in)g(an)g(expansion)h(error.)630 3414 y Fs(force_fignore) -1110 3523 y Ft(If)43 b(set,)k(the)d(su\016xes)f(sp)s(eci\014ed)f(b)m(y) +(\014lenames)f(during)g(\014lename)g(ex-)1110 4975 y(pansion)30 +b(result)g(in)g(an)g(expansion)h(error.)630 5121 y Fs(force_fignore) +1110 5230 y Ft(If)43 b(set,)k(the)d(su\016xes)f(sp)s(eci\014ed)f(b)m(y) i(the)f Fs(FIGNORE)f Ft(shell)h(v)-5 b(ariable)44 b(cause)1110 -3633 y(w)m(ords)31 b(to)h(b)s(e)f(ignored)h(when)f(p)s(erforming)f(w)m -(ord)h(completion)i(ev)m(en)f(if)g(the)1110 3742 y(ignored)37 -b(w)m(ords)g(are)g(the)h(only)f(p)s(ossible)g(completions.)62 -b(See)37 b(Section)h(5.2)1110 3852 y([Bash)24 b(V)-8 -b(ariables],)27 b(page)e(61,)h(for)d(a)h(description)g(of)g -Fs(FIGNORE)p Ft(.)37 b(This)22 b(option)1110 3961 y(is)30 -b(enabled)h(b)m(y)f(default.)630 4129 y Fs(globstar)96 +5340 y(w)m(ords)31 b(to)h(b)s(e)f(ignored)h(when)f(p)s(erforming)f(w)m +(ord)h(completion)i(ev)m(en)f(if)g(the)p eop end +%%Page: 60 66 +TeXDict begin 60 65 bop 150 -116 a Ft(60)2572 b(Bash)31 +b(Reference)g(Man)m(ual)1110 299 y(ignored)37 b(w)m(ords)g(are)g(the)h +(only)f(p)s(ossible)g(completions.)62 b(See)37 b(Section)h(5.2)1110 +408 y([Bash)24 b(V)-8 b(ariables],)27 b(page)e(63,)h(for)d(a)h +(description)g(of)g Fs(FIGNORE)p Ft(.)37 b(This)22 b(option)1110 +518 y(is)30 b(enabled)h(b)m(y)f(default.)630 667 y Fs(globstar)96 b Ft(If)38 b(set,)j(the)e(pattern)f(`)p Fs(**)p Ft(')h(used)e(in)i(a)f -(\014lename)h(expansion)f(con)m(text)j(will)1110 4238 +(\014lename)h(expansion)f(con)m(text)j(will)1110 777 y(matc)m(h)f(a)g(\014les)f(and)f(zero)i(or)g(more)f(directories)h(and)f -(sub)s(directories.)66 b(If)1110 4348 y(the)30 b(pattern)g(is)g(follo)m +(sub)s(directories.)66 b(If)1110 887 y(the)30 b(pattern)g(is)g(follo)m (w)m(ed)i(b)m(y)d(a)i(`)p Fs(/)p Ft(',)f(only)g(directories)h(and)f -(sub)s(directories)1110 4457 y(matc)m(h.)630 4625 y Fs(gnu_errfmt)1110 -4734 y Ft(If)35 b(set,)j(shell)e(error)g(messages)g(are)h(written)e(in) -h(the)g(standard)f Fl(gnu)g Ft(error)1110 4844 y(message)c(format.)630 -5011 y Fs(histappend)1110 5121 y Ft(If)c(set,)j(the)e(history)g(list)g +(sub)s(directories)1110 996 y(matc)m(h.)630 1146 y Fs(gnu_errfmt)1110 +1255 y Ft(If)35 b(set,)j(shell)e(error)g(messages)g(are)h(written)e(in) +h(the)g(standard)f Fl(gnu)g Ft(error)1110 1365 y(message)c(format.)630 +1514 y Fs(histappend)1110 1624 y Ft(If)c(set,)j(the)e(history)g(list)g (is)g(app)s(ended)e(to)j(the)f(\014le)g(named)f(b)m(y)h(the)g(v)-5 -b(alue)29 b(of)1110 5230 y(the)d Fs(HISTFILE)d Ft(v)-5 +b(alue)29 b(of)1110 1733 y(the)d Fs(HISTFILE)d Ft(v)-5 b(ariable)26 b(when)e(the)h(shell)h(exits,)h(rather)e(than)h(o)m(v)m -(erwriting)1110 5340 y(the)31 b(\014le.)p eop end -%%Page: 58 64 -TeXDict begin 58 63 bop 150 -116 a Ft(58)2572 b(Bash)31 -b(Reference)g(Man)m(ual)630 299 y Fs(histreedit)1110 -408 y Ft(If)i(set,)h(and)f(Readline)h(is)f(b)s(eing)g(used,)g(a)g(user) -g(is)g(giv)m(en)h(the)g(opp)s(ortunit)m(y)1110 518 y(to)d(re-edit)g(a)g -(failed)g(history)f(substitution.)630 677 y Fs(histverify)1110 -787 y Ft(If)35 b(set,)i(and)e(Readline)h(is)f(b)s(eing)g(used,)h(the)f -(results)g(of)g(history)h(substitu-)1110 897 y(tion)h(are)g(not)g -(immediately)h(passed)e(to)h(the)g(shell)g(parser.)59 -b(Instead,)38 b(the)1110 1006 y(resulting)i(line)f(is)h(loaded)g(in)m -(to)g(the)g(Readline)g(editing)g(bu\013er,)h(allo)m(wing)1110 -1116 y(further)29 b(mo)s(di\014cation.)630 1275 y Fs(hostcomplete)1110 -1385 y Ft(If)38 b(set,)j(and)c(Readline)i(is)f(b)s(eing)g(used,)h(Bash) -g(will)f(attempt)h(to)g(p)s(erform)1110 1494 y(hostname)d(completion)h -(when)e(a)h(w)m(ord)f(con)m(taining)i(a)f(`)p Fs(@)p -Ft(')g(is)g(b)s(eing)f(com-)1110 1604 y(pleted)g(\(see)h(Section)f -(8.4.6)i([Commands)d(F)-8 b(or)36 b(Completion],)g(page)g(110\).)1110 -1714 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)630 -1873 y Fs(huponexit)1110 1983 y Ft(If)i(set,)i(Bash)f(will)h(send)d +(erwriting)1110 1843 y(the)31 b(\014le.)630 1993 y Fs(histreedit)1110 +2102 y Ft(If)i(set,)h(and)f(Readline)h(is)f(b)s(eing)g(used,)g(a)g +(user)g(is)g(giv)m(en)h(the)g(opp)s(ortunit)m(y)1110 +2212 y(to)d(re-edit)g(a)g(failed)g(history)f(substitution.)630 +2361 y Fs(histverify)1110 2471 y Ft(If)35 b(set,)i(and)e(Readline)h(is) +f(b)s(eing)g(used,)h(the)f(results)g(of)g(history)h(substitu-)1110 +2580 y(tion)h(are)g(not)g(immediately)h(passed)e(to)h(the)g(shell)g +(parser.)59 b(Instead,)38 b(the)1110 2690 y(resulting)i(line)f(is)h +(loaded)g(in)m(to)g(the)g(Readline)g(editing)g(bu\013er,)h(allo)m(wing) +1110 2800 y(further)29 b(mo)s(di\014cation.)630 2949 +y Fs(hostcomplete)1110 3059 y Ft(If)38 b(set,)j(and)c(Readline)i(is)f +(b)s(eing)g(used,)h(Bash)g(will)f(attempt)h(to)g(p)s(erform)1110 +3168 y(hostname)d(completion)h(when)e(a)h(w)m(ord)f(con)m(taining)i(a)f +(`)p Fs(@)p Ft(')g(is)g(b)s(eing)f(com-)1110 3278 y(pleted)g(\(see)h +(Section)f(8.4.6)i([Commands)d(F)-8 b(or)36 b(Completion],)g(page)g +(112\).)1110 3387 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.) +630 3537 y Fs(huponexit)1110 3646 y Ft(If)i(set,)i(Bash)f(will)h(send)d Fs(SIGHUP)h Ft(to)h(all)h(jobs)e(when)g(an)g(in)m(teractiv)m(e)k(login) -1110 2092 y(shell)31 b(exits)g(\(see)g(Section)g(3.7.6)h([Signals],)g -(page)f(32\).)630 2252 y Fs(interactive_comments)1110 -2361 y Ft(Allo)m(w)c(a)g(w)m(ord)e(b)s(eginning)g(with)h(`)p +1110 3756 y(shell)31 b(exits)g(\(see)g(Section)g(3.7.6)h([Signals],)g +(page)f(34\).)630 3905 y Fs(interactive_comments)1110 +4015 y Ft(Allo)m(w)c(a)g(w)m(ord)e(b)s(eginning)g(with)h(`)p Fs(#)p Ft(')g(to)h(cause)f(that)h(w)m(ord)f(and)f(all)i(remain-)1110 -2471 y(ing)41 b(c)m(haracters)i(on)e(that)h(line)g(to)g(b)s(e)f +4125 y(ing)41 b(c)m(haracters)i(on)e(that)h(line)g(to)g(b)s(e)f (ignored)g(in)g(an)g(in)m(teractiv)m(e)j(shell.)1110 -2580 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)630 -2740 y Fs(lithist)144 b Ft(If)22 b(enabled,)i(and)d(the)h +4234 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)630 +4384 y Fs(lithist)144 b Ft(If)22 b(enabled,)i(and)d(the)h Fs(cmdhist)e Ft(option)j(is)f(enabled,)i(m)m(ulti-line)f(commands)1110 -2849 y(are)28 b(sa)m(v)m(ed)h(to)g(the)f(history)g(with)f(em)m(b)s -(edded)g(newlines)h(rather)g(than)f(using)1110 2959 y(semicolon)32 -b(separators)f(where)e(p)s(ossible.)630 3118 y Fs(login_shell)1110 -3228 y Ft(The)35 b(shell)h(sets)g(this)f(option)h(if)g(it)g(is)f +4493 y(are)28 b(sa)m(v)m(ed)h(to)g(the)f(history)g(with)f(em)m(b)s +(edded)g(newlines)h(rather)g(than)f(using)1110 4603 y(semicolon)32 +b(separators)f(where)e(p)s(ossible.)630 4752 y Fs(login_shell)1110 +4862 y Ft(The)35 b(shell)h(sets)g(this)f(option)h(if)g(it)g(is)f (started)h(as)g(a)g(login)g(shell)g(\(see)g(Sec-)1110 -3337 y(tion)29 b(6.1)g([In)m(v)m(oking)h(Bash],)f(page)g(71\).)41 +4971 y(tion)29 b(6.1)g([In)m(v)m(oking)h(Bash],)f(page)g(73\).)41 b(The)28 b(v)-5 b(alue)29 b(ma)m(y)g(not)f(b)s(e)g(c)m(hanged.)630 -3497 y Fs(mailwarn)96 b Ft(If)34 b(set,)i(and)e(a)h(\014le)g(that)g +5121 y Fs(mailwarn)96 b Ft(If)34 b(set,)i(and)e(a)h(\014le)g(that)g (Bash)f(is)h(c)m(hec)m(king)h(for)f(mail)g(has)f(b)s(een)g(accessed) -1110 3606 y(since)24 b(the)h(last)g(time)f(it)h(w)m(as)f(c)m(hec)m(k)m +1110 5230 y(since)24 b(the)h(last)g(time)f(it)h(w)m(as)f(c)m(hec)m(k)m (ed,)k(the)c(message)h Fs("The)k(mail)h(in)f Fi(mail-)1110 -3716 y(file)40 b Fs(has)29 b(been)g(read")g Ft(is)i(displa)m(y)m(ed.) -630 3875 y Fs(no_empty_cmd_completion)1110 3985 y Ft(If)f(set,)g(and)g -(Readline)g(is)h(b)s(eing)e(used,)h(Bash)g(will)g(not)g(attempt)i(to)e -(searc)m(h)1110 4095 y(the)25 b Fs(PATH)f Ft(for)h(p)s(ossible)f -(completions)j(when)d(completion)i(is)f(attempted)h(on)1110 -4204 y(an)k(empt)m(y)h(line.)630 4364 y Fs(nocaseglob)1110 -4473 y Ft(If)38 b(set,)k(Bash)d(matc)m(hes)g(\014lenames)g(in)f(a)h -(case-insensitiv)m(e)j(fashion)c(when)1110 4583 y(p)s(erforming)29 -b(\014lename)i(expansion.)630 4742 y Fs(nocasematch)1110 -4852 y Ft(If)42 b(set,)k(Bash)d(matc)m(hes)g(patterns)g(in)f(a)h -(case-insensitiv)m(e)i(fashion)d(when)1110 4961 y(p)s(erforming)31 -b(matc)m(hing)i(while)f(executing)i Fs(case)d Ft(or)h -Fs([[)g Ft(conditional)h(com-)1110 5071 y(mands.)630 -5230 y Fs(nullglob)96 b Ft(If)23 b(set,)j(Bash)e(allo)m(ws)g -(\014lename)g(patterns)g(whic)m(h)f(matc)m(h)h(no)g(\014les)f(to)i -(expand)1110 5340 y(to)31 b(a)g(n)m(ull)f(string,)h(rather)f(than)g -(themselv)m(es.)p eop end -%%Page: 59 65 -TeXDict begin 59 64 bop 150 -116 a Ft(Chapter)30 b(4:)41 -b(Shell)30 b(Builtin)h(Commands)2069 b(59)630 299 y Fs(progcomp)96 +5340 y(file)40 b Fs(has)29 b(been)g(read")g Ft(is)i(displa)m(y)m(ed.)p +eop end +%%Page: 61 67 +TeXDict begin 61 66 bop 150 -116 a Ft(Chapter)30 b(4:)41 +b(Shell)30 b(Builtin)h(Commands)2069 b(61)630 299 y Fs +(no_empty_cmd_completion)1110 408 y Ft(If)30 b(set,)g(and)g(Readline)g +(is)h(b)s(eing)e(used,)h(Bash)g(will)g(not)g(attempt)i(to)e(searc)m(h) +1110 518 y(the)25 b Fs(PATH)f Ft(for)h(p)s(ossible)f(completions)j +(when)d(completion)i(is)f(attempted)h(on)1110 628 y(an)k(empt)m(y)h +(line.)630 823 y Fs(nocaseglob)1110 933 y Ft(If)38 b(set,)k(Bash)d +(matc)m(hes)g(\014lenames)g(in)f(a)h(case-insensitiv)m(e)j(fashion)c +(when)1110 1042 y(p)s(erforming)29 b(\014lename)i(expansion.)630 +1238 y Fs(nocasematch)1110 1347 y Ft(If)42 b(set,)k(Bash)d(matc)m(hes)g +(patterns)g(in)f(a)h(case-insensitiv)m(e)i(fashion)d(when)1110 +1457 y(p)s(erforming)31 b(matc)m(hing)i(while)f(executing)i +Fs(case)d Ft(or)h Fs([[)g Ft(conditional)h(com-)1110 +1567 y(mands.)630 1762 y Fs(nullglob)96 b Ft(If)23 b(set,)j(Bash)e +(allo)m(ws)g(\014lename)g(patterns)g(whic)m(h)f(matc)m(h)h(no)g +(\014les)f(to)i(expand)1110 1872 y(to)31 b(a)g(n)m(ull)f(string,)h +(rather)f(than)g(themselv)m(es.)630 2067 y Fs(progcomp)96 b Ft(If)25 b(set,)i(the)f(programmable)g(completion)g(facilities)i -(\(see)f(Section)f(8.6)h([Pro-)1110 408 y(grammable)45 -b(Completion],)k(page)c(115\))h(are)f(enabled.)82 b(This)44 -b(option)h(is)1110 518 y(enabled)30 b(b)m(y)h(default.)630 -677 y Fs(promptvars)1110 787 y Ft(If)24 b(set,)i(prompt)d(strings)h +(\(see)f(Section)f(8.6)h([Pro-)1110 2177 y(grammable)45 +b(Completion],)k(page)c(117\))h(are)f(enabled.)82 b(This)44 +b(option)h(is)1110 2286 y(enabled)30 b(b)m(y)h(default.)630 +2482 y Fs(promptvars)1110 2591 y Ft(If)24 b(set,)i(prompt)d(strings)h (undergo)f(parameter)i(expansion,)g(command)f(sub-)1110 -897 y(stitution,)34 b(arithmetic)f(expansion,)g(and)e(quote)i(remo)m(v) --5 b(al)33 b(after)g(b)s(eing)e(ex-)1110 1006 y(panded)39 +2701 y(stitution,)34 b(arithmetic)f(expansion,)g(and)e(quote)i(remo)m +(v)-5 b(al)33 b(after)g(b)s(eing)e(ex-)1110 2811 y(panded)39 b(as)i(describ)s(ed)e(b)s(elo)m(w)i(\(see)g(Section)g(6.9)g([Prin)m -(ting)g(a)g(Prompt],)1110 1116 y(page)31 b(82\).)42 b(This)30 -b(option)g(is)h(enabled)f(b)m(y)g(default.)630 1275 y -Fs(restricted_shell)1110 1385 y Ft(The)40 b(shell)h(sets)g(this)g +(ting)g(a)g(Prompt],)1110 2920 y(page)31 b(84\).)42 b(This)30 +b(option)g(is)h(enabled)f(b)m(y)g(default.)630 3116 y +Fs(restricted_shell)1110 3225 y Ft(The)40 b(shell)h(sets)g(this)g (option)g(if)g(it)h(is)e(started)i(in)e(restricted)i(mo)s(de)e(\(see) -1110 1494 y(Section)c(6.10)g([The)f(Restricted)g(Shell],)i(page)e -(84\).)56 b(The)34 b(v)-5 b(alue)35 b(ma)m(y)h(not)1110 -1604 y(b)s(e)c(c)m(hanged.)49 b(This)32 b(is)h(not)h(reset)f(when)f -(the)h(startup)g(\014les)f(are)i(executed,)1110 1714 +1110 3335 y(Section)c(6.10)g([The)f(Restricted)g(Shell],)i(page)e +(86\).)56 b(The)34 b(v)-5 b(alue)35 b(ma)m(y)h(not)1110 +3444 y(b)s(e)c(c)m(hanged.)49 b(This)32 b(is)h(not)h(reset)f(when)f +(the)h(startup)g(\014les)f(are)i(executed,)1110 3554 y(allo)m(wing)k(the)e(startup)f(\014les)h(to)g(disco)m(v)m(er)h -(whether)f(or)f(not)i(a)f(shell)g(is)g(re-)1110 1823 -y(stricted.)630 1983 y Fs(shift_verbose)1110 2092 y Ft(If)g(this)g(is)g +(whether)f(or)f(not)i(a)f(shell)g(is)g(re-)1110 3664 +y(stricted.)630 3859 y Fs(shift_verbose)1110 3969 y Ft(If)g(this)g(is)g (set,)j(the)d Fs(shift)f Ft(builtin)h(prin)m(ts)f(an)h(error)g(message) -i(when)d(the)1110 2202 y(shift)30 b(coun)m(t)h(exceeds)g(the)g(n)m(um)m -(b)s(er)e(of)h(p)s(ositional)i(parameters.)630 2361 y -Fs(sourcepath)1110 2471 y Ft(If)22 b(set,)j(the)e Fs(source)e +i(when)d(the)1110 4078 y(shift)30 b(coun)m(t)h(exceeds)g(the)g(n)m(um)m +(b)s(er)e(of)h(p)s(ositional)i(parameters.)630 4274 y +Fs(sourcepath)1110 4383 y Ft(If)22 b(set,)j(the)e Fs(source)e Ft(builtin)h(uses)g(the)h(v)-5 b(alue)23 b(of)g Fs(PATH)e -Ft(to)j(\014nd)d(the)h(directory)1110 2580 y(con)m(taining)29 +Ft(to)j(\014nd)d(the)h(directory)1110 4493 y(con)m(taining)29 b(the)e(\014le)h(supplied)e(as)h(an)g(argumen)m(t.)40 -b(This)27 b(option)h(is)f(enabled)1110 2690 y(b)m(y)j(default.)630 -2849 y Fs(xpg_echo)96 b Ft(If)31 b(set,)h(the)g Fs(echo)e +b(This)27 b(option)h(is)f(enabled)1110 4603 y(b)m(y)j(default.)630 +4798 y Fs(xpg_echo)96 b Ft(If)31 b(set,)h(the)g Fs(echo)e Ft(builtin)h(expands)f(bac)m(kslash-escap)s(e)j(sequences)f(b)m(y)f -(de-)1110 2959 y(fault.)630 3118 y(The)c(return)f(status)i(when)f +(de-)1110 4908 y(fault.)630 5103 y(The)c(return)f(status)i(when)f (listing)h(options)g(is)f(zero)i(if)e(all)i Fq(optnames)i -Ft(are)d(enabled,)g(non-)630 3228 y(zero)40 b(otherwise.)66 +Ft(are)d(enabled,)g(non-)630 5213 y(zero)40 b(otherwise.)66 b(When)39 b(setting)h(or)f(unsetting)g(options,)i(the)e(return)f -(status)h(is)g(zero)630 3337 y(unless)30 b(an)g Fq(optname)36 -b Ft(is)30 b(not)h(a)g(v)-5 b(alid)30 b(shell)h(option.)150 -3570 y Fr(4.4)68 b(Sp)t(ecial)45 b(Builtins)150 3729 -y Ft(F)-8 b(or)35 b(historical)h(reasons,)g(the)e Fl(posix)g -Ft(standard)f(has)i(classi\014ed)f(sev)m(eral)i(builtin)e(commands)g -(as)h Fk(sp)-5 b(e-)150 3839 y(cial)p Ft(.)47 b(When)33 -b(Bash)f(is)h(executing)g(in)f Fl(posix)g Ft(mo)s(de,)h(the)g(sp)s -(ecial)g(builtins)e(di\013er)i(from)f(other)g(builtin)150 -3949 y(commands)e(in)g(three)h(resp)s(ects:)199 4083 -y(1.)61 b(Sp)s(ecial)31 b(builtins)e(are)i(found)e(b)s(efore)h(shell)h -(functions)f(during)f(command)h(lo)s(okup.)199 4218 y(2.)61 +(status)h(is)g(zero)630 5322 y(unless)30 b(an)g Fq(optname)36 +b Ft(is)30 b(not)h(a)g(v)-5 b(alid)30 b(shell)h(option.)p +eop end +%%Page: 62 68 +TeXDict begin 62 67 bop 150 -116 a Ft(62)2572 b(Bash)31 +b(Reference)g(Man)m(ual)150 299 y Fr(4.4)68 b(Sp)t(ecial)45 +b(Builtins)150 458 y Ft(F)-8 b(or)35 b(historical)h(reasons,)g(the)e +Fl(posix)g Ft(standard)f(has)i(classi\014ed)f(sev)m(eral)i(builtin)e +(commands)g(as)h Fk(sp)-5 b(e-)150 568 y(cial)p Ft(.)47 +b(When)33 b(Bash)f(is)h(executing)g(in)f Fl(posix)g Ft(mo)s(de,)h(the)g +(sp)s(ecial)g(builtins)e(di\013er)i(from)f(other)g(builtin)150 +677 y(commands)e(in)g(three)h(resp)s(ects:)199 812 y(1.)61 +b(Sp)s(ecial)31 b(builtins)e(are)i(found)e(b)s(efore)h(shell)h +(functions)f(during)f(command)h(lo)s(okup.)199 946 y(2.)61 b(If)30 b(a)h(sp)s(ecial)g(builtin)f(returns)f(an)h(error)g(status,)h -(a)g(non-in)m(teractiv)m(e)i(shell)d(exits.)199 4352 +(a)g(non-in)m(teractiv)m(e)i(shell)d(exits.)199 1081 y(3.)61 b(Assignmen)m(t)30 b(statemen)m(ts)h(preceding)f(the)f(command) g(sta)m(y)i(in)e(e\013ect)i(in)e(the)h(shell)f(en)m(vironmen)m(t)330 -4462 y(after)i(the)f(command)h(completes.)275 4621 y(When)36 +1191 y(after)i(the)f(command)h(completes.)275 1350 y(When)36 b(Bash)g(is)h(not)f(executing)i(in)e Fl(posix)f Ft(mo)s(de,)j(these)f (builtins)f(b)s(eha)m(v)m(e)h(no)f(di\013eren)m(tly)h(than)150 -4731 y(the)31 b(rest)f(of)h(the)f(Bash)h(builtin)e(commands.)41 +1460 y(the)31 b(rest)f(of)h(the)f(Bash)h(builtin)e(commands.)41 b(The)30 b(Bash)g Fl(posix)g Ft(mo)s(de)g(is)g(describ)s(ed)f(in)h -(Section)h(6.11)150 4840 y([Bash)g(POSIX)e(Mo)s(de],)i(page)g(84.)275 -4975 y(These)f(are)g(the)h Fl(posix)f Ft(sp)s(ecial)h(builtins:)390 -5109 y Fs(break)46 b(:)i(.)f(continue)f(eval)g(exec)h(exit)g(export)f -(readonly)f(return)h(set)390 5219 y(shift)g(trap)h(unset)p +(Section)h(6.11)150 1569 y([Bash)g(POSIX)e(Mo)s(de],)i(page)g(86.)275 +1704 y(These)f(are)g(the)h Fl(posix)f Ft(sp)s(ecial)h(builtins:)390 +1838 y Fs(break)46 b(:)i(.)f(continue)f(eval)g(exec)h(exit)g(export)f +(readonly)f(return)h(set)390 1948 y(shift)g(trap)h(unset)p eop end -%%Page: 60 66 -TeXDict begin 60 65 bop eop end -%%Page: 61 67 -TeXDict begin 61 66 bop 150 -116 a Ft(Chapter)30 b(5:)41 -b(Shell)30 b(V)-8 b(ariables)2459 b(61)150 299 y Fo(5)80 +%%Page: 63 69 +TeXDict begin 63 68 bop 150 -116 a Ft(Chapter)30 b(5:)41 +b(Shell)30 b(V)-8 b(ariables)2459 b(63)150 299 y Fo(5)80 b(Shell)53 b(V)-13 b(ariables)150 559 y Ft(This)21 b(c)m(hapter)i (describ)s(es)e(the)i(shell)f(v)-5 b(ariables)23 b(that)f(Bash)h(uses.) 37 b(Bash)23 b(automatically)h(assigns)f(default)150 @@ -9118,7 +9235,7 @@ b Ft(The)23 b(curren)m(t)h(user's)f(home)g(directory;)k(the)d(default)g (for)f(the)h Fs(cd)f Ft(builtin)g(command.)38 b(The)630 1742 y(v)-5 b(alue)37 b(of)f(this)g(v)-5 b(ariable)37 b(is)g(also)g(used)e(b)m(y)h(tilde)h(expansion)f(\(see)i(Section)f -(3.5.2)h([Tilde)630 1852 y(Expansion],)30 b(page)h(19\).)150 +(3.5.2)h([Tilde)630 1852 y(Expansion],)30 b(page)h(20\).)150 2020 y Fs(IFS)336 b Ft(A)25 b(list)i(of)e(c)m(haracters)i(that)f (separate)g(\014elds;)h(used)e(when)f(the)i(shell)f(splits)h(w)m(ords)e (as)i(part)630 2129 y(of)31 b(expansion.)150 2297 y Fs(MAIL)288 @@ -9149,7 +9266,7 @@ Ft(builtin.)150 3517 y Fs(PATH)288 b Ft(A)32 b(colon-separated)i(list)f 4014 y Fs(PS1)336 b Ft(The)35 b(primary)f(prompt)h(string.)55 b(The)35 b(default)h(v)-5 b(alue)35 b(is)h(`)p Fs(\\s-\\v\\$)28 b Ft('.)56 b(See)36 b(Section)g(6.9)630 4123 y([Prin)m(ting)28 -b(a)g(Prompt],)g(page)h(82,)g(for)e(the)h(complete)h(list)g(of)e(escap) +b(a)g(Prompt],)g(page)h(84,)g(for)e(the)h(complete)h(list)g(of)e(escap) s(e)h(sequences)g(that)h(are)630 4233 y(expanded)h(b)s(efore)g Fs(PS1)f Ft(is)h(displa)m(y)m(ed.)150 4401 y Fs(PS2)336 b Ft(The)30 b(secondary)g(prompt)g(string.)41 b(The)29 @@ -9162,17 +9279,17 @@ b(few)g(v)-5 b(ariables)24 b(used)g(b)m(y)f(Bash)i(are)f(describ)s(ed)f (in)h(di\013eren)m(t)g(c)m(hapters:)38 b(v)-5 b(ariables)25 b(for)f(con)m(trolling)150 5168 y(the)31 b(job)f(con)m(trol)h (facilities)i(\(see)e(Section)g(7.3)h([Job)e(Con)m(trol)h(V)-8 -b(ariables],)32 b(page)g(92\).)150 5340 y Fs(BASH)288 +b(ariables],)32 b(page)g(94\).)150 5340 y Fs(BASH)288 b Ft(The)30 b(full)g(pathname)g(used)g(to)h(execute)h(the)e(curren)m(t) g(instance)h(of)g(Bash.)p eop end -%%Page: 62 68 -TeXDict begin 62 67 bop 150 -116 a Ft(62)2572 b(Bash)31 +%%Page: 64 70 +TeXDict begin 64 69 bop 150 -116 a Ft(64)2572 b(Bash)31 b(Reference)g(Man)m(ual)150 299 y Fs(BASHOPTS)96 b Ft(A)31 b(colon-separated)h(list)f(of)g(enabled)f(shell)h(options.)41 b(Eac)m(h)31 b(w)m(ord)f(in)g(the)h(list)g(is)g(a)g(v)-5 b(alid)630 408 y(argumen)m(t)33 b(for)g(the)f(`)p Fs(-s)p Ft(')h(option)g(to)g(the)g Fs(shopt)e Ft(builtin)i(command)f(\(see)i -(Section)f(4.3.2)630 518 y([The)j(Shopt)g(Builtin],)i(page)f(55\).)60 +(Section)f(4.3.2)630 518 y([The)j(Shopt)g(Builtin],)i(page)f(57\).)60 b(The)36 b(options)h(app)s(earing)f(in)g Fs(BASHOPTS)e Ft(are)i(those)630 628 y(rep)s(orted)e(as)h(`)p Fs(on)p Ft(')f(b)m(y)h(`)p Fs(shopt)p Ft('.)53 b(If)34 b(this)g(v)-5 @@ -9189,7 +9306,7 @@ y Fs(BASH_ALIASES)630 1477 y Ft(An)40 b(asso)s(ciativ)m(e)j(arra)m(y)d (v)-5 b(ariable)41 b(whose)f(mem)m(b)s(ers)f(corresp)s(ond)g(to)i(the)f (in)m(ternal)h(list)630 1587 y(of)g(aliases)h(as)f(main)m(tained)g(b)m (y)g(the)f Fs(alias)g Ft(builtin)g(\(see)h(Section)h(4.1)f([Bourne)g -(Shell)630 1696 y(Builtins],)36 b(page)e(35\).)53 b(Elemen)m(ts)35 +(Shell)630 1696 y(Builtins],)36 b(page)e(37\).)53 b(Elemen)m(ts)35 b(added)e(to)i(this)e(arra)m(y)i(app)s(ear)e(in)h(the)g(alias)h(list;)i (un-)630 1806 y(setting)31 b(arra)m(y)g(elemen)m(ts)h(cause)f(aliases)h (to)f(b)s(e)f(remo)m(v)m(ed)h(from)f(the)h(alias)g(list.)150 @@ -9205,7 +9322,7 @@ b(The)25 b(n)m(um)m(b)s(er)g(of)h(parameters)g(to)g(the)g(curren)m(t) 2504 y(is)g(pushed)f(on)m(to)i Fs(BASH_ARGC)p Ft(.)59 b(The)37 b(shell)g(sets)h Fs(BASH_ARGC)c Ft(only)k(when)e(in)h (extended)630 2614 y(debugging)23 b(mo)s(de)f(\(see)h(Section)g(4.3.2)i -([The)d(Shopt)g(Builtin],)j(page)e(55)h(for)e(a)h(description)630 +([The)d(Shopt)g(Builtin],)j(page)e(57)h(for)e(a)h(description)630 2724 y(of)31 b(the)f Fs(extdebug)e Ft(option)j(to)g(the)g Fs(shopt)e Ft(builtin\).)150 2874 y Fs(BASH_ARGV)630 2984 y Ft(An)24 b(arra)m(y)g(v)-5 b(ariable)25 b(con)m(taining)h(all)f @@ -9218,14 +9335,14 @@ Fs(shopt)e Ft(builtin\).)150 2874 y Fs(BASH_ARGV)630 (on)m(to)i Fs(BASH_ARGV)p Ft(.)66 b(The)40 b(shell)630 3422 y(sets)28 b Fs(BASH_ARGV)e Ft(only)i(when)f(in)h(extended)g (debugging)g(mo)s(de)g(\(see)h(Section)f(4.3.2)i([The)630 -3532 y(Shopt)i(Builtin],)h(page)g(55)g(for)f(a)h(description)f(of)h +3532 y(Shopt)i(Builtin],)h(page)g(57)g(for)f(a)h(description)f(of)h (the)f Fs(extdebug)e Ft(option)j(to)g(the)f Fs(shopt)630 3641 y Ft(builtin\).)150 3792 y Fs(BASH_CMDS)630 3902 y Ft(An)i(asso)s(ciativ)m(e)i(arra)m(y)f(v)-5 b(ariable)35 b(whose)f(mem)m(b)s(ers)f(corresp)s(ond)g(to)i(the)f(in)m(ternal)h (hash)630 4011 y(table)c(of)g(commands)f(as)g(main)m(tained)h(b)m(y)g (the)f Fs(hash)f Ft(builtin)h(\(see)h(Section)g(4.1)h([Bourne)630 -4121 y(Shell)23 b(Builtins],)j(page)e(35\).)40 b(Elemen)m(ts)24 +4121 y(Shell)23 b(Builtins],)j(page)e(37\).)40 b(Elemen)m(ts)24 b(added)e(to)j(this)e(arra)m(y)h(app)s(ear)e(in)i(the)f(hash)g(table;) 630 4230 y(unsetting)30 b(arra)m(y)h(elemen)m(ts)h(cause)f(commands)f (to)h(b)s(e)f(remo)m(v)m(ed)h(from)f(the)h(hash)e(table.)150 @@ -9239,13 +9356,13 @@ b(is)e(set)h(when)f(Bash)g(is)h(in)m(v)m(ok)m(ed)h(to)f(execute)h(a)e (shell)h(script,)g(its)g(v)-5 b(alue)29 b(is)630 4970 y(expanded)k(and)h(used)g(as)g(the)h(name)f(of)g(a)h(startup)f(\014le)g (to)h(read)f(b)s(efore)g(executing)i(the)630 5080 y(script.)41 -b(See)30 b(Section)h(6.2)h([Bash)f(Startup)e(Files],)j(page)f(73.)150 +b(See)30 b(Section)h(6.2)h([Bash)f(Startup)e(Files],)j(page)f(75.)150 5230 y Fs(BASH_EXECUTION_STRING)630 5340 y Ft(The)f(command)g(argumen)m (t)h(to)g(the)g(`)p Fs(-c)p Ft(')f(in)m(v)m(o)s(cation)i(option.)p eop end -%%Page: 63 69 -TeXDict begin 63 68 bop 150 -116 a Ft(Chapter)30 b(5:)41 -b(Shell)30 b(V)-8 b(ariables)2459 b(63)150 299 y Fs(BASH_LINENO)630 +%%Page: 65 71 +TeXDict begin 65 70 bop 150 -116 a Ft(Chapter)30 b(5:)41 +b(Shell)30 b(V)-8 b(ariables)2459 b(65)150 299 y Fs(BASH_LINENO)630 408 y Ft(An)38 b(arra)m(y)h(v)-5 b(ariable)39 b(whose)g(mem)m(b)s(ers)e (are)i(the)g(line)g(n)m(um)m(b)s(ers)e(in)h(source)h(\014les)f(corre-) 630 518 y(sp)s(onding)g(to)i(eac)m(h)h(mem)m(b)s(er)e(of)h @@ -9277,7 +9394,7 @@ b(b)m(y)h(one)f(eac)m(h)i(time)f(a)f(subshell)g(or)g(subshell)f(en)m (vironmen)m(t)i(is)f(spa)m(wned.)630 2408 y(The)c(initial)h(v)-5 b(alue)31 b(is)g(0.)150 2564 y Fs(BASH_VERSINFO)630 2673 y Ft(A)36 b(readonly)g(arra)m(y)g(v)-5 b(ariable)37 b(\(see)f(Section)h -(6.7)g([Arra)m(ys],)h(page)e(80\))h(whose)f(mem)m(b)s(ers)630 +(6.7)g([Arra)m(ys],)h(page)e(82\))h(whose)f(mem)m(b)s(ers)630 2783 y(hold)c(v)m(ersion)h(information)f(for)g(this)g(instance)h(of)g (Bash.)46 b(The)32 b(v)-5 b(alues)32 b(assigned)h(to)g(the)630 2892 y(arra)m(y)e(mem)m(b)s(ers)e(are)i(as)g(follo)m(ws:)630 @@ -9302,8 +9419,8 @@ b(tracing)h(output)d(to)i(b)s(e)f(separated)g(from)g(diagnostic)h(and)f (error)f(messages.)41 b(The)630 5340 y(\014le)31 b(descriptor)f(is)h (closed)g(when)f Fs(BASH_XTRACEFD)d Ft(is)k(unset)f(or)g(assigned)h(a)g (new)f(v)-5 b(alue.)p eop end -%%Page: 64 70 -TeXDict begin 64 69 bop 150 -116 a Ft(64)2572 b(Bash)31 +%%Page: 66 72 +TeXDict begin 66 71 bop 150 -116 a Ft(66)2572 b(Bash)31 b(Reference)g(Man)m(ual)630 299 y(Unsetting)45 b Fs(BASH_XTRACEFD)40 b Ft(or)k(assigning)g(it)g(the)g(empt)m(y)h(string)e(causes)i(the)f (trace)630 408 y(output)33 b(to)i(b)s(e)d(sen)m(t)j(to)f(the)g @@ -9321,13 +9438,13 @@ Fs(${COMP_WORDS})c Ft(of)k(the)g(w)m(ord)f(con)m(taining)i(the)e b(v)-5 b(ariable)41 b(is)f(a)m(v)-5 b(ailable)43 b(only)e(in)f(shell)h (functions)f(in)m(v)m(ok)m(ed)i(b)m(y)e(the)h(pro-)630 1450 y(grammable)36 b(completion)g(facilities)i(\(see)e(Section)g(8.6)g -([Programmable)g(Completion],)630 1559 y(page)31 b(115\).)150 +([Programmable)g(Completion],)630 1559 y(page)31 b(117\).)150 1751 y Fs(COMP_LINE)630 1861 y Ft(The)38 b(curren)m(t)h(command)f (line.)66 b(This)37 b(v)-5 b(ariable)40 b(is)f(a)m(v)-5 b(ailable)41 b(only)d(in)h(shell)f(functions)630 1970 y(and)25 b(external)h(commands)f(in)m(v)m(ok)m(ed)h(b)m(y)f(the)h (programmable)f(completion)i(facilities)g(\(see)630 2080 -y(Section)k(8.6)h([Programmable)f(Completion],)g(page)g(115\).)150 +y(Section)k(8.6)h([Programmable)f(Completion],)g(page)g(117\).)150 2271 y Fs(COMP_POINT)630 2381 y Ft(The)25 b(index)g(of)h(the)g(curren)m (t)f(cursor)g(p)s(osition)h(relativ)m(e)i(to)e(the)g(b)s(eginning)f(of) g(the)h(curren)m(t)630 2491 y(command.)40 b(If)27 b(the)h(curren)m(t)g @@ -9338,7 +9455,7 @@ b(This)29 b(v)-5 b(ariable)31 b(is)f(a)m(v)-5 b(ailable)630 2710 y(only)36 b(in)f(shell)h(functions)f(and)g(external)h(commands)g (in)m(v)m(ok)m(ed)h(b)m(y)e(the)h(programmable)630 2819 y(completion)c(facilities)g(\(see)g(Section)f(8.6)g([Programmable)g -(Completion],)h(page)f(115\).)150 3011 y Fs(COMP_TYPE)630 +(Completion],)h(page)f(117\).)150 3011 y Fs(COMP_TYPE)630 3121 y Ft(Set)c(to)h(an)f(in)m(teger)h(v)-5 b(alue)28 b(corresp)s(onding)e(to)h(the)h(t)m(yp)s(e)f(of)g(completion)h (attempted)g(that)630 3230 y(caused)e(a)g(completion)i(function)d(to)i @@ -9353,7 +9470,7 @@ b(This)25 b(v)-5 b(ariable)27 b(is)g(a)m(v)-5 b(ailable)28 b(only)f(in)f(shell)g(functions)g(and)g(external)630 3669 y(commands)32 b(in)m(v)m(ok)m(ed)i(b)m(y)e(the)g(programmable)h (completion)g(facilities)i(\(see)e(Section)g(8.6)630 -3778 y([Programmable)e(Completion],)h(page)f(115\).)150 +3778 y([Programmable)e(Completion],)h(page)f(117\).)150 3970 y Fs(COMP_KEY)96 b Ft(The)29 b(k)m(ey)i(\(or)g(\014nal)e(k)m(ey)i (of)f(a)g(k)m(ey)h(sequence\))g(used)e(to)i(in)m(v)m(ok)m(e)h(the)e (curren)m(t)g(completion)630 4080 y(function.)150 4271 @@ -9371,443 +9488,448 @@ h(Readline)h(w)m(ould)f(split)g(it,)53 b(using)47 b Fs(COMP_)630 b(This)36 b(v)-5 b(ariable)37 b(is)f(a)m(v)-5 b(ailable)39 b(only)e(in)f(shell)h(func-)630 5230 y(tions)32 b(in)m(v)m(ok)m(ed)i(b) m(y)d(the)i(programmable)f(completion)h(facilities)h(\(see)f(Section)g -(8.6)g([Pro-)630 5340 y(grammable)e(Completion],)g(page)g(115\).)p +(8.6)g([Pro-)630 5340 y(grammable)e(Completion],)g(page)g(117\).)p eop end -%%Page: 65 71 -TeXDict begin 65 70 bop 150 -116 a Ft(Chapter)30 b(5:)41 -b(Shell)30 b(V)-8 b(ariables)2459 b(65)150 299 y Fs(COMPREPLY)630 +%%Page: 67 73 +TeXDict begin 67 72 bop 150 -116 a Ft(Chapter)30 b(5:)41 +b(Shell)30 b(V)-8 b(ariables)2459 b(67)150 299 y Fs(COMPREPLY)630 408 y Ft(An)37 b(arra)m(y)h(v)-5 b(ariable)38 b(from)f(whic)m(h)g(Bash) g(reads)g(the)h(p)s(ossible)e(completions)j(generated)630 518 y(b)m(y)33 b(a)g(shell)h(function)f(in)m(v)m(ok)m(ed)h(b)m(y)f(the) g(programmable)h(completion)g(facilit)m(y)h(\(see)f(Sec-)630 -628 y(tion)d(8.6)g([Programmable)g(Completion],)h(page)f(115\).)150 -787 y Fs(COPROC)192 b Ft(An)27 b(arra)m(y)g(v)-5 b(ariable)28 +628 y(tion)d(8.6)g([Programmable)g(Completion],)h(page)f(117\).)150 +807 y Fs(COPROC)192 b Ft(An)27 b(arra)m(y)g(v)-5 b(ariable)28 b(created)g(to)f(hold)g(the)g(\014le)g(descriptors)g(for)g(output)f -(from)h(and)f(input)630 897 y(to)31 b(an)f(unnamed)f(copro)s(cess)i +(from)h(and)f(input)630 917 y(to)31 b(an)f(unnamed)f(copro)s(cess)i (\(see)g(Section)h(3.2.5)g([Copro)s(cesses],)f(page)g(14\).)150 -1056 y Fs(DIRSTACK)96 b Ft(An)26 b(arra)m(y)h(v)-5 b(ariable)28 +1096 y Fs(DIRSTACK)96 b Ft(An)26 b(arra)m(y)h(v)-5 b(ariable)28 b(con)m(taining)g(the)f(curren)m(t)f(con)m(ten)m(ts)j(of)e(the)f -(directory)i(stac)m(k.)41 b(Direc-)630 1166 y(tories)33 +(directory)i(stac)m(k.)41 b(Direc-)630 1205 y(tories)33 b(app)s(ear)f(in)g(the)h(stac)m(k)h(in)e(the)h(order)f(they)h(are)g (displa)m(y)m(ed)g(b)m(y)f(the)h Fs(dirs)e Ft(builtin.)630 -1275 y(Assigning)f(to)h(mem)m(b)s(ers)f(of)g(this)g(arra)m(y)g(v)-5 +1315 y(Assigning)f(to)h(mem)m(b)s(ers)f(of)g(this)g(arra)m(y)g(v)-5 b(ariable)31 b(ma)m(y)g(b)s(e)e(used)h(to)h(mo)s(dify)e(directories)630 -1385 y(already)41 b(in)f(the)h(stac)m(k,)k(but)40 b(the)h +1425 y(already)41 b(in)f(the)h(stac)m(k,)k(but)40 b(the)h Fs(pushd)e Ft(and)h Fs(popd)f Ft(builtins)h(m)m(ust)h(b)s(e)e(used)h -(to)i(add)630 1494 y(and)37 b(remo)m(v)m(e)h(directories.)63 +(to)i(add)630 1534 y(and)37 b(remo)m(v)m(e)h(directories.)63 b(Assignmen)m(t)37 b(to)h(this)f(v)-5 b(ariable)38 b(will)g(not)f(c)m -(hange)i(the)e(cur-)630 1604 y(ren)m(t)c(directory)-8 +(hange)i(the)e(cur-)630 1644 y(ren)m(t)c(directory)-8 b(.)47 b(If)32 b Fs(DIRSTACK)e Ft(is)i(unset,)g(it)h(loses)g(its)g(sp)s (ecial)g(prop)s(erties,)f(ev)m(en)h(if)f(it)h(is)630 -1714 y(subsequen)m(tly)d(reset.)150 1873 y Fs(EMACS)240 +1753 y(subsequen)m(tly)d(reset.)150 1933 y Fs(EMACS)240 b Ft(If)31 b(Bash)h(\014nds)d(this)j(v)-5 b(ariable)32 b(in)f(the)h(en)m(vironmen)m(t)g(when)e(the)i(shell)f(starts)h(with)f -(v)-5 b(alue)630 1983 y(`)p Fs(t)p Ft(',)38 b(it)e(assumes)g(that)g +(v)-5 b(alue)630 2042 y(`)p Fs(t)p Ft(',)38 b(it)e(assumes)g(that)g (the)h(shell)f(is)g(running)e(in)i(an)g(emacs)g(shell)h(bu\013er)e(and) -g(disables)630 2092 y(line)c(editing.)150 2252 y Fs(ENV)336 +g(disables)630 2152 y(line)c(editing.)150 2331 y Fs(ENV)336 b Ft(Similar)35 b(to)g Fs(BASH_ENV)p Ft(;)h(used)e(when)g(the)h(shell)g (is)g(in)m(v)m(ok)m(ed)h(in)e Fl(posix)h Ft(Mo)s(de)g(\(see)g(Sec-)630 -2361 y(tion)c(6.11)h([Bash)f(POSIX)e(Mo)s(de],)i(page)g(84\).)150 -2521 y Fs(EUID)288 b Ft(The)30 b(n)m(umeric)g(e\013ectiv)m(e)j(user)d +2441 y(tion)c(6.11)h([Bash)f(POSIX)e(Mo)s(de],)i(page)g(86\).)150 +2620 y Fs(EUID)288 b Ft(The)30 b(n)m(umeric)g(e\013ectiv)m(e)j(user)d (id)g(of)g(the)h(curren)m(t)f(user.)40 b(This)30 b(v)-5 -b(ariable)31 b(is)f(readonly)-8 b(.)150 2680 y Fs(FCEDIT)192 +b(ariable)31 b(is)f(readonly)-8 b(.)150 2800 y Fs(FCEDIT)192 b Ft(The)30 b(editor)h(used)e(as)i(a)g(default)f(b)m(y)h(the)f(`)p Fs(-e)p Ft(')g(option)h(to)g(the)g Fs(fc)f Ft(builtin)g(command.)150 -2839 y Fs(FIGNORE)144 b Ft(A)35 b(colon-separated)i(list)f(of)g +2979 y Fs(FIGNORE)144 b Ft(A)35 b(colon-separated)i(list)f(of)g (su\016xes)e(to)i(ignore)g(when)e(p)s(erforming)g(\014lename)i(comple-) -630 2949 y(tion.)j(A)25 b(\014le)g(name)g(whose)f(su\016x)g(matc)m(hes) +630 3088 y(tion.)j(A)25 b(\014le)g(name)g(whose)f(su\016x)g(matc)m(hes) i(one)f(of)g(the)g(en)m(tries)g(in)g Fs(FIGNORE)d Ft(is)j(excluded)630 -3059 y(from)30 b(the)g(list)h(of)g(matc)m(hed)g(\014le)g(names.)40 +3198 y(from)30 b(the)g(list)h(of)g(matc)m(hed)g(\014le)g(names.)40 b(A)31 b(sample)f(v)-5 b(alue)31 b(is)g(`)p Fs(.o:~)p -Ft(')150 3218 y Fs(FUNCNAME)96 b Ft(An)35 b(arra)m(y)i(v)-5 +Ft(')150 3377 y Fs(FUNCNAME)96 b Ft(An)35 b(arra)m(y)i(v)-5 b(ariable)36 b(con)m(taining)h(the)f(names)g(of)g(all)g(shell)g -(functions)g(curren)m(tly)f(in)h(the)630 3328 y(execution)g(call)h +(functions)g(curren)m(tly)f(in)h(the)630 3487 y(execution)g(call)h (stac)m(k.)57 b(The)34 b(elemen)m(t)j(with)e(index)g(0)h(is)f(the)g -(name)h(of)f(an)m(y)h(curren)m(tly-)630 3437 y(executing)i(shell)f +(name)h(of)f(an)m(y)h(curren)m(tly-)630 3597 y(executing)i(shell)f (function.)61 b(The)36 b(b)s(ottom-most)i(elemen)m(t)h(is)e -Fs("main")p Ft(.)59 b(This)36 b(v)-5 b(ariable)630 3547 +Fs("main")p Ft(.)59 b(This)36 b(v)-5 b(ariable)630 3706 y(exists)33 b(only)g(when)f(a)h(shell)g(function)f(is)h(executing.)49 b(Assignmen)m(ts)33 b(to)g Fs(FUNCNAME)e Ft(ha)m(v)m(e)630 -3656 y(no)36 b(e\013ect)h(and)e(return)f(an)i(error)f(status.)57 +3816 y(no)36 b(e\013ect)h(and)e(return)f(an)i(error)f(status.)57 b(If)36 b Fs(FUNCNAME)d Ft(is)j(unset,)h(it)f(loses)g(its)g(sp)s(ecial) -630 3766 y(prop)s(erties,)30 b(ev)m(en)h(if)f(it)h(is)g(subsequen)m -(tly)f(reset.)150 3925 y Fs(GLOBIGNORE)630 4035 y Ft(A)38 -b(colon-separated)i(list)f(of)f(patterns)g(de\014ning)f(the)h(set)g(of) -h(\014lenames)f(to)g(b)s(e)g(ignored)630 4144 y(b)m(y)31 -b(\014lename)g(expansion.)43 b(If)31 b(a)h(\014lename)f(matc)m(hed)h(b) -m(y)f(a)g(\014lename)h(expansion)f(pattern)630 4254 y(also)i(matc)m -(hes)g(one)f(of)g(the)g(patterns)g(in)f Fs(GLOBIGNORE)p -Ft(,)f(it)i(is)g(remo)m(v)m(ed)h(from)e(the)h(list)h(of)630 -4364 y(matc)m(hes.)150 4523 y Fs(GROUPS)192 b Ft(An)36 -b(arra)m(y)g(v)-5 b(ariable)37 b(con)m(taining)g(the)f(list)h(of)f -(groups)g(of)g(whic)m(h)f(the)i(curren)m(t)e(user)h(is)g(a)630 -4633 y(mem)m(b)s(er.)47 b(Assignmen)m(ts)33 b(to)g Fs(GROUPS)e +630 3925 y(prop)s(erties,)30 b(ev)m(en)h(if)f(it)h(is)g(subsequen)m +(tly)f(reset.)150 4105 y Fs(FUNCNEST)96 b Ft(If)34 b(set)i(to)f(a)h(n)m +(umeric)e(v)-5 b(alue)36 b(greater)g(than)e(0,)j(de\014nes)d(a)h(maxim) +m(um)g(function)g(nesting)630 4214 y(lev)m(el.)42 b(F)-8 +b(unction)29 b(in)m(v)m(o)s(cations)h(that)f(exceed)h(this)e(nesting)h +(lev)m(el)h(will)f(cause)g(the)f(curren)m(t)630 4324 +y(command)i(to)h(ab)s(ort.)150 4503 y Fs(GLOBIGNORE)630 +4613 y Ft(A)38 b(colon-separated)i(list)f(of)f(patterns)g(de\014ning)f +(the)h(set)g(of)h(\014lenames)f(to)g(b)s(e)g(ignored)630 +4722 y(b)m(y)31 b(\014lename)g(expansion.)43 b(If)31 +b(a)h(\014lename)f(matc)m(hed)h(b)m(y)f(a)g(\014lename)h(expansion)f +(pattern)630 4832 y(also)i(matc)m(hes)g(one)f(of)g(the)g(patterns)g(in) +f Fs(GLOBIGNORE)p Ft(,)f(it)i(is)g(remo)m(v)m(ed)h(from)e(the)h(list)h +(of)630 4941 y(matc)m(hes.)150 5121 y Fs(GROUPS)192 b +Ft(An)36 b(arra)m(y)g(v)-5 b(ariable)37 b(con)m(taining)g(the)f(list)h +(of)f(groups)g(of)g(whic)m(h)f(the)i(curren)m(t)e(user)h(is)g(a)630 +5230 y(mem)m(b)s(er.)47 b(Assignmen)m(ts)33 b(to)g Fs(GROUPS)e Ft(ha)m(v)m(e)j(no)f(e\013ect)h(and)e(return)g(an)g(error)g(status.)48 -b(If)630 4742 y Fs(GROUPS)29 b Ft(is)h(unset,)g(it)h(loses)g(its)g(sp)s +b(If)630 5340 y Fs(GROUPS)29 b Ft(is)h(unset,)g(it)h(loses)g(its)g(sp)s (ecial)g(prop)s(erties,)f(ev)m(en)h(if)f(it)h(is)g(subsequen)m(tly)f -(reset.)150 4902 y Fs(histchars)630 5011 y Ft(Up)c(to)g(three)g(c)m -(haracters)i(whic)m(h)d(con)m(trol)j(history)d(expansion,)i(quic)m(k)g -(substitution,)g(and)630 5121 y(tok)m(enization)k(\(see)f(Section)f -(9.3)h([History)f(In)m(teraction],)i(page)f(123\).)41 -b(The)29 b(\014rst)e(c)m(harac-)630 5230 y(ter)j(is)f(the)g -Fq(history)g(expansion)g Ft(c)m(haracter,)j(that)e(is,)f(the)h(c)m -(haracter)h(whic)m(h)d(signi\014es)i(the)630 5340 y(start)25 -b(of)f(a)h(history)f(expansion,)i(normally)e(`)p Fs(!)p -Ft('.)39 b(The)24 b(second)g(c)m(haracter)i(is)e(the)g(c)m(haracter)p -eop end -%%Page: 66 72 -TeXDict begin 66 71 bop 150 -116 a Ft(66)2572 b(Bash)31 -b(Reference)g(Man)m(ual)630 299 y(whic)m(h)36 b(signi\014es)g(`quic)m -(k)h(substitution')f(when)f(seen)h(as)g(the)g(\014rst)f(c)m(haracter)j -(on)e(a)g(line,)630 408 y(normally)27 b(`)p Fs(^)p Ft('.)39 +(reset.)p eop end +%%Page: 68 74 +TeXDict begin 68 73 bop 150 -116 a Ft(68)2572 b(Bash)31 +b(Reference)g(Man)m(ual)150 299 y Fs(histchars)630 408 +y Ft(Up)26 b(to)g(three)g(c)m(haracters)i(whic)m(h)d(con)m(trol)j +(history)d(expansion,)i(quic)m(k)g(substitution,)g(and)630 +518 y(tok)m(enization)k(\(see)f(Section)f(9.3)h([History)f(In)m +(teraction],)i(page)f(125\).)41 b(The)29 b(\014rst)e(c)m(harac-)630 +628 y(ter)j(is)f(the)g Fq(history)g(expansion)g Ft(c)m(haracter,)j +(that)e(is,)f(the)h(c)m(haracter)h(whic)m(h)d(signi\014es)i(the)630 +737 y(start)25 b(of)f(a)h(history)f(expansion,)i(normally)e(`)p +Fs(!)p Ft('.)39 b(The)24 b(second)g(c)m(haracter)i(is)e(the)g(c)m +(haracter)630 847 y(whic)m(h)36 b(signi\014es)g(`quic)m(k)h +(substitution')f(when)f(seen)h(as)g(the)g(\014rst)f(c)m(haracter)j(on)e +(a)g(line,)630 956 y(normally)27 b(`)p Fs(^)p Ft('.)39 b(The)26 b(optional)i(third)d(c)m(haracter)j(is)e(the)h(c)m(haracter)h -(whic)m(h)e(indicates)h(that)630 518 y(the)34 b(remainder)f(of)h(the)g +(whic)m(h)e(indicates)h(that)630 1066 y(the)34 b(remainder)f(of)h(the)g (line)g(is)f(a)h(commen)m(t)h(when)e(found)f(as)i(the)g(\014rst)f(c)m -(haracter)i(of)f(a)630 628 y(w)m(ord,)i(usually)f(`)p +(haracter)i(of)f(a)630 1176 y(w)m(ord,)i(usually)f(`)p Fs(#)p Ft('.)55 b(The)34 b(history)h(commen)m(t)h(c)m(haracter)h -(causes)e(history)g(substitution)630 737 y(to)27 b(b)s(e)f(skipp)s(ed)f -(for)i(the)f(remaining)h(w)m(ords)f(on)h(the)f(line.)40 -b(It)27 b(do)s(es)f(not)h(necessarily)g(cause)630 847 +(causes)e(history)g(substitution)630 1285 y(to)27 b(b)s(e)f(skipp)s(ed) +f(for)i(the)f(remaining)h(w)m(ords)f(on)h(the)f(line.)40 +b(It)27 b(do)s(es)f(not)h(necessarily)g(cause)630 1395 y(the)k(shell)f(parser)g(to)h(treat)g(the)g(rest)g(of)f(the)h(line)f -(as)h(a)g(commen)m(t.)150 990 y Fs(HISTCMD)144 b Ft(The)35 +(as)h(a)g(commen)m(t.)150 1570 y Fs(HISTCMD)144 b Ft(The)35 b(history)h(n)m(um)m(b)s(er,)g(or)f(index)g(in)h(the)g(history)f(list,) -j(of)e(the)g(curren)m(t)f(command.)56 b(If)630 1100 y +j(of)e(the)g(curren)m(t)f(command.)56 b(If)630 1680 y Fs(HISTCMD)28 b Ft(is)h(unset,)h(it)g(loses)h(its)f(sp)s(ecial)g(prop)s (erties,)g(ev)m(en)g(if)g(it)g(is)g(subsequen)m(tly)f(reset.)150 -1243 y Fs(HISTCONTROL)630 1353 y Ft(A)40 b(colon-separated)i(list)f(of) +1855 y Fs(HISTCONTROL)630 1965 y Ft(A)40 b(colon-separated)i(list)f(of) f(v)-5 b(alues)40 b(con)m(trolling)i(ho)m(w)e(commands)g(are)h(sa)m(v)m -(ed)g(on)f(the)630 1462 y(history)29 b(list.)41 b(If)28 +(ed)g(on)f(the)630 2074 y(history)29 b(list.)41 b(If)28 b(the)h(list)h(of)f(v)-5 b(alues)29 b(includes)f(`)p Fs(ignorespace)p Ft(',)f(lines)i(whic)m(h)g(b)s(egin)f(with)630 -1572 y(a)39 b(space)g(c)m(haracter)i(are)e(not)g(sa)m(v)m(ed)g(in)g +2184 y(a)39 b(space)g(c)m(haracter)i(are)e(not)g(sa)m(v)m(ed)g(in)g (the)g(history)f(list.)66 b(A)39 b(v)-5 b(alue)39 b(of)g(`)p -Fs(ignoredups)p Ft(')630 1681 y(causes)34 b(lines)h(whic)m(h)f(matc)m +Fs(ignoredups)p Ft(')630 2293 y(causes)34 b(lines)h(whic)m(h)f(matc)m (h)h(the)f(previous)f(history)h(en)m(try)h(to)g(not)f(b)s(e)f(sa)m(v)m -(ed.)53 b(A)34 b(v)-5 b(alue)630 1791 y(of)32 b(`)p Fs(ignoreboth)p +(ed.)53 b(A)34 b(v)-5 b(alue)630 2403 y(of)32 b(`)p Fs(ignoreboth)p Ft(')d(is)j(shorthand)e(for)i(`)p Fs(ignorespace)p Ft(')d(and)i(`)p Fs(ignoredups)p Ft('.)42 b(A)32 b(v)-5 b(alue)32 b(of)630 -1901 y(`)p Fs(erasedups)p Ft(')f(causes)i(all)h(previous)f(lines)g +2513 y(`)p Fs(erasedups)p Ft(')f(causes)i(all)h(previous)f(lines)g (matc)m(hing)h(the)f(curren)m(t)g(line)g(to)h(b)s(e)e(remo)m(v)m(ed)630 -2010 y(from)42 b(the)h(history)f(list)i(b)s(efore)e(that)h(line)g(is)g +2622 y(from)42 b(the)h(history)f(list)i(b)s(efore)e(that)h(line)g(is)g (sa)m(v)m(ed.)78 b(An)m(y)43 b(v)-5 b(alue)43 b(not)g(in)f(the)h(ab)s -(o)m(v)m(e)630 2120 y(list)35 b(is)g(ignored.)53 b(If)34 +(o)m(v)m(e)630 2732 y(list)35 b(is)g(ignored.)53 b(If)34 b Fs(HISTCONTROL)e Ft(is)i(unset,)i(or)e(do)s(es)h(not)g(include)f(a)h -(v)-5 b(alid)35 b(v)-5 b(alue,)36 b(all)630 2229 y(lines)30 +(v)-5 b(alid)35 b(v)-5 b(alue,)36 b(all)630 2841 y(lines)30 b(read)g(b)m(y)g(the)g(shell)g(parser)g(are)g(sa)m(v)m(ed)h(on)f(the)g (history)g(list,)h(sub)5 b(ject)30 b(to)g(the)g(v)-5 -b(alue)630 2339 y(of)42 b Fs(HISTIGNORE)p Ft(.)73 b(The)42 +b(alue)630 2951 y(of)42 b Fs(HISTIGNORE)p Ft(.)73 b(The)42 b(second)g(and)g(subsequen)m(t)f(lines)h(of)h(a)f(m)m(ulti-line)h(comp) -s(ound)630 2449 y(command)33 b(are)h(not)g(tested,)i(and)d(are)h(added) +s(ound)630 3061 y(command)33 b(are)h(not)g(tested,)i(and)d(are)h(added) f(to)h(the)g(history)g(regardless)g(of)g(the)f(v)-5 b(alue)630 -2558 y(of)31 b Fs(HISTCONTROL)p Ft(.)150 2701 y Fs(HISTFILE)96 +3170 y(of)31 b Fs(HISTCONTROL)p Ft(.)150 3345 y Fs(HISTFILE)96 b Ft(The)27 b(name)h(of)g(the)g(\014le)g(to)h(whic)m(h)f(the)g(command) f(history)h(is)g(sa)m(v)m(ed.)41 b(The)27 b(default)h(v)-5 -b(alue)630 2811 y(is)30 b(`)p Fs(~/.bash_history)p Ft('.)150 -2954 y Fs(HISTFILESIZE)630 3064 y Ft(The)c(maxim)m(um)f(n)m(um)m(b)s +b(alue)630 3455 y(is)30 b(`)p Fs(~/.bash_history)p Ft('.)150 +3630 y Fs(HISTFILESIZE)630 3740 y Ft(The)c(maxim)m(um)f(n)m(um)m(b)s (er)g(of)h(lines)h(con)m(tained)g(in)f(the)g(history)g(\014le.)39 -b(When)26 b(this)g(v)-5 b(ariable)630 3173 y(is)33 b(assigned)h(a)g(v) +b(When)26 b(this)g(v)-5 b(ariable)630 3850 y(is)33 b(assigned)h(a)g(v) -5 b(alue,)35 b(the)f(history)f(\014le)g(is)h(truncated,)g(if)g (necessary)-8 b(,)35 b(b)m(y)e(remo)m(ving)i(the)630 -3283 y(oldest)29 b(en)m(tries,)g(to)g(con)m(tain)g(no)f(more)g(than)f +3959 y(oldest)29 b(en)m(tries,)g(to)g(con)m(tain)g(no)f(more)g(than)f (that)i(n)m(um)m(b)s(er)e(of)h(lines.)40 b(The)27 b(history)h(\014le)g -(is)630 3393 y(also)33 b(truncated)e(to)h(this)g(size)g(after)g +(is)630 4069 y(also)33 b(truncated)e(to)h(this)g(size)g(after)g (writing)g(it)g(when)f(an)g(in)m(teractiv)m(e)k(shell)c(exits.)45 -b(The)630 3502 y(default)31 b(v)-5 b(alue)30 b(is)h(500.)150 -3646 y Fs(HISTIGNORE)630 3755 y Ft(A)i(colon-separated)h(list)f(of)g +b(The)630 4178 y(default)31 b(v)-5 b(alue)30 b(is)h(500.)150 +4354 y Fs(HISTIGNORE)630 4463 y Ft(A)i(colon-separated)h(list)f(of)g (patterns)f(used)g(to)h(decide)g(whic)m(h)f(command)g(lines)h(should) -630 3865 y(b)s(e)f(sa)m(v)m(ed)h(on)g(the)f(history)h(list.)47 +630 4573 y(b)s(e)f(sa)m(v)m(ed)h(on)g(the)f(history)h(list.)47 b(Eac)m(h)33 b(pattern)g(is)f(anc)m(hored)h(at)g(the)f(b)s(eginning)g -(of)h(the)630 3974 y(line)43 b(and)e(m)m(ust)h(matc)m(h)h(the)g +(of)h(the)630 4682 y(line)43 b(and)e(m)m(ust)h(matc)m(h)h(the)g (complete)h(line)e(\(no)h(implicit)g(`)p Fs(*)p Ft(')f(is)g(app)s -(ended\).)75 b(Eac)m(h)630 4084 y(pattern)42 b(is)g(tested)g(against)h +(ended\).)75 b(Eac)m(h)630 4792 y(pattern)42 b(is)g(tested)g(against)h (the)f(line)g(after)g(the)g(c)m(hec)m(ks)h(sp)s(eci\014ed)e(b)m(y)h -Fs(HISTCONTROL)630 4194 y Ft(are)37 b(applied.)59 b(In)36 +Fs(HISTCONTROL)630 4902 y Ft(are)37 b(applied.)59 b(In)36 b(addition)h(to)g(the)g(normal)g(shell)f(pattern)h(matc)m(hing)h(c)m -(haracters,)i(`)p Fs(&)p Ft(')630 4303 y(matc)m(hes)d(the)f(previous)g +(haracters,)i(`)p Fs(&)p Ft(')630 5011 y(matc)m(hes)d(the)f(previous)g (history)g(line.)57 b(`)p Fs(&)p Ft(')36 b(ma)m(y)h(b)s(e)e(escap)s(ed) -h(using)g(a)g(bac)m(kslash;)k(the)630 4413 y(bac)m(kslash)34 +h(using)g(a)g(bac)m(kslash;)k(the)630 5121 y(bac)m(kslash)34 b(is)g(remo)m(v)m(ed)h(b)s(efore)e(attempting)i(a)g(matc)m(h.)51 -b(The)34 b(second)f(and)h(subsequen)m(t)630 4522 y(lines)e(of)h(a)g(m)m +b(The)34 b(second)f(and)h(subsequen)m(t)630 5230 y(lines)e(of)h(a)g(m)m (ulti-line)g(comp)s(ound)e(command)h(are)h(not)f(tested,)i(and)e(are)g -(added)g(to)h(the)630 4632 y(history)d(regardless)h(of)g(the)f(v)-5 -b(alue)31 b(of)g Fs(HISTIGNORE)p Ft(.)630 4758 y Fs(HISTIGNORE)20 +(added)g(to)h(the)630 5340 y(history)d(regardless)h(of)g(the)f(v)-5 +b(alue)31 b(of)g Fs(HISTIGNORE)p Ft(.)p eop end +%%Page: 69 75 +TeXDict begin 69 74 bop 150 -116 a Ft(Chapter)30 b(5:)41 +b(Shell)30 b(V)-8 b(ariables)2459 b(69)630 299 y Fs(HISTIGNORE)20 b Ft(subsumes)g(the)j(function)f(of)h Fs(HISTCONTROL)p Ft(.)35 b(A)23 b(pattern)f(of)h(`)p Fs(&)p Ft(')g(is)f(iden)m(tical)630 -4868 y(to)k Fs(ignoredups)p Ft(,)e(and)h(a)h(pattern)g(of)f(`)p +408 y(to)k Fs(ignoredups)p Ft(,)e(and)h(a)h(pattern)g(of)f(`)p Fs([)31 b(]*)p Ft(')25 b(is)h(iden)m(tical)h(to)f Fs(ignorespace)p -Ft(.)36 b(Com)m(bining)630 4977 y(these)30 b(t)m(w)m(o)h(patterns,)f +Ft(.)36 b(Com)m(bining)630 518 y(these)30 b(t)m(w)m(o)h(patterns,)f (separating)g(them)g(with)f(a)h(colon,)h(pro)m(vides)e(the)h -(functionalit)m(y)h(of)630 5087 y Fs(ignoreboth)p Ft(.)150 -5230 y Fs(HISTSIZE)96 b Ft(The)42 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i +(functionalit)m(y)h(of)630 628 y Fs(ignoreboth)p Ft(.)150 +777 y Fs(HISTSIZE)96 b Ft(The)42 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i (commands)e(to)j(remem)m(b)s(er)d(on)h(the)h(history)f(list.)77 -b(The)630 5340 y(default)31 b(v)-5 b(alue)30 b(is)h(500.)p -eop end -%%Page: 67 73 -TeXDict begin 67 72 bop 150 -116 a Ft(Chapter)30 b(5:)41 -b(Shell)30 b(V)-8 b(ariables)2459 b(67)150 299 y Fs(HISTTIMEFORMAT)630 -408 y Ft(If)44 b(this)g(v)-5 b(ariable)45 b(is)f(set)g(and)g(not)g(n)m -(ull,)k(its)d(v)-5 b(alue)44 b(is)g(used)g(as)g(a)h(format)f(string)g -(for)630 518 y Fq(strftime)c Ft(to)35 b(prin)m(t)f(the)h(time)g(stamp)f -(asso)s(ciated)i(with)f(eac)m(h)g(history)g(en)m(try)f(displa)m(y)m(ed) -630 628 y(b)m(y)g(the)f Fs(history)f Ft(builtin.)50 b(If)33 +b(The)630 887 y(default)31 b(v)-5 b(alue)30 b(is)h(500.)150 +1036 y Fs(HISTTIMEFORMAT)630 1146 y Ft(If)44 b(this)g(v)-5 +b(ariable)45 b(is)f(set)g(and)g(not)g(n)m(ull,)k(its)d(v)-5 +b(alue)44 b(is)g(used)g(as)g(a)h(format)f(string)g(for)630 +1255 y Fq(strftime)c Ft(to)35 b(prin)m(t)f(the)h(time)g(stamp)f(asso)s +(ciated)i(with)f(eac)m(h)g(history)g(en)m(try)f(displa)m(y)m(ed)630 +1365 y(b)m(y)g(the)f Fs(history)f Ft(builtin.)50 b(If)33 b(this)h(v)-5 b(ariable)34 b(is)g(set,)h(time)f(stamps)g(are)g(written) -f(to)i(the)630 737 y(history)26 b(\014le)g(so)g(they)g(ma)m(y)h(b)s(e)e -(preserv)m(ed)g(across)i(shell)f(sessions.)39 b(This)25 -b(uses)h(the)g(history)630 847 y(commen)m(t)31 b(c)m(haracter)h(to)f +f(to)i(the)630 1474 y(history)26 b(\014le)g(so)g(they)g(ma)m(y)h(b)s(e) +e(preserv)m(ed)g(across)i(shell)f(sessions.)39 b(This)25 +b(uses)h(the)g(history)630 1584 y(commen)m(t)31 b(c)m(haracter)h(to)f (distinguish)f(timestamps)h(from)f(other)g(history)h(lines.)150 -1006 y Fs(HOSTFILE)96 b Ft(Con)m(tains)39 b(the)f(name)g(of)h(a)g +1733 y Fs(HOSTFILE)96 b Ft(Con)m(tains)39 b(the)f(name)g(of)h(a)g (\014le)f(in)g(the)g(same)h(format)g(as)f(`)p Fs(/etc/hosts)p -Ft(')e(that)j(should)630 1116 y(b)s(e)i(read)h(when)f(the)i(shell)f +Ft(')e(that)j(should)630 1843 y(b)s(e)i(read)h(when)f(the)i(shell)f (needs)f(to)i(complete)h(a)e(hostname.)76 b(The)42 b(list)g(of)g(p)s -(ossible)630 1225 y(hostname)26 b(completions)g(ma)m(y)h(b)s(e)d(c)m +(ossible)630 1953 y(hostname)26 b(completions)g(ma)m(y)h(b)s(e)d(c)m (hanged)j(while)e(the)h(shell)g(is)f(running;)h(the)g(next)f(time)630 -1335 y(hostname)37 b(completion)i(is)e(attempted)h(after)g(the)f(v)-5 +2062 y(hostname)37 b(completion)i(is)e(attempted)h(after)g(the)f(v)-5 b(alue)37 b(is)h(c)m(hanged,)h(Bash)e(adds)g(the)630 -1445 y(con)m(ten)m(ts)43 b(of)f(the)f(new)g(\014le)h(to)g(the)f +2172 y(con)m(ten)m(ts)43 b(of)f(the)f(new)g(\014le)h(to)g(the)f (existing)i(list.)74 b(If)41 b Fs(HOSTFILE)e Ft(is)i(set,)k(but)c(has)g -(no)630 1554 y(v)-5 b(alue,)29 b(or)e(do)s(es)h(not)g(name)f(a)h +(no)630 2281 y(v)-5 b(alue,)29 b(or)e(do)s(es)h(not)g(name)f(a)h (readable)g(\014le,)h(Bash)f(attempts)g(to)g(read)g(`)p -Fs(/etc/hosts)p Ft(')d(to)630 1664 y(obtain)j(the)g(list)h(of)f(p)s +Fs(/etc/hosts)p Ft(')d(to)630 2391 y(obtain)j(the)g(list)h(of)f(p)s (ossible)f(hostname)h(completions.)41 b(When)28 b Fs(HOSTFILE)e -Ft(is)i(unset,)g(the)630 1773 y(hostname)j(list)g(is)f(cleared.)150 -1933 y Fs(HOSTNAME)96 b Ft(The)30 b(name)g(of)h(the)f(curren)m(t)h -(host.)150 2092 y Fs(HOSTTYPE)96 b Ft(A)30 b(string)h(describing)f(the) -g(mac)m(hine)h(Bash)g(is)f(running)f(on.)150 2252 y Fs(IGNOREEOF)630 -2361 y Ft(Con)m(trols)e(the)h(action)g(of)f(the)g(shell)g(on)g(receipt) +Ft(is)i(unset,)g(the)630 2501 y(hostname)j(list)g(is)f(cleared.)150 +2650 y Fs(HOSTNAME)96 b Ft(The)30 b(name)g(of)h(the)f(curren)m(t)h +(host.)150 2800 y Fs(HOSTTYPE)96 b Ft(A)30 b(string)h(describing)f(the) +g(mac)m(hine)h(Bash)g(is)f(running)f(on.)150 2949 y Fs(IGNOREEOF)630 +3059 y Ft(Con)m(trols)e(the)h(action)g(of)f(the)g(shell)g(on)g(receipt) h(of)f(an)g Fs(EOF)f Ft(c)m(haracter)i(as)g(the)f(sole)h(input.)630 -2471 y(If)i(set,)i(the)f(v)-5 b(alue)32 b(denotes)f(the)g(n)m(um)m(b)s +3168 y(If)i(set,)i(the)f(v)-5 b(alue)32 b(denotes)f(the)g(n)m(um)m(b)s (er)f(of)h(consecutiv)m(e)i Fs(EOF)d Ft(c)m(haracters)i(that)f(can)h(b) -s(e)630 2580 y(read)40 b(as)f(the)h(\014rst)f(c)m(haracter)i(on)f(an)f +s(e)630 3278 y(read)40 b(as)f(the)h(\014rst)f(c)m(haracter)i(on)f(an)f (input)g(line)h(b)s(efore)f(the)h(shell)g(will)g(exit.)70 -b(If)39 b(the)630 2690 y(v)-5 b(ariable)38 b(exists)f(but)f(do)s(es)g +b(If)39 b(the)630 3387 y(v)-5 b(ariable)38 b(exists)f(but)f(do)s(es)g (not)h(ha)m(v)m(e)h(a)g(n)m(umeric)e(v)-5 b(alue)37 b(\(or)h(has)e(no)h -(v)-5 b(alue\))37 b(then)g(the)630 2800 y(default)31 +(v)-5 b(alue\))37 b(then)g(the)630 3497 y(default)31 b(is)g(10.)43 b(If)30 b(the)h(v)-5 b(ariable)31 b(do)s(es)g(not)g (exist,)h(then)e Fs(EOF)g Ft(signi\014es)h(the)g(end)f(of)h(input)630 -2909 y(to)g(the)g(shell.)41 b(This)29 b(is)i(only)f(in)g(e\013ect)i -(for)e(in)m(teractiv)m(e)j(shells.)150 3068 y Fs(INPUTRC)144 +3606 y(to)g(the)g(shell.)41 b(This)29 b(is)i(only)f(in)g(e\013ect)i +(for)e(in)m(teractiv)m(e)j(shells.)150 3756 y Fs(INPUTRC)144 b Ft(The)68 b(name)h(of)f(the)h(Readline)g(initialization)j(\014le,)78 -b(o)m(v)m(erriding)69 b(the)g(default)g(of)630 3178 y(`)p -Fs(~/.inputrc)p Ft('.)150 3337 y Fs(LANG)288 b Ft(Used)28 +b(o)m(v)m(erriding)69 b(the)g(default)g(of)630 3866 y(`)p +Fs(~/.inputrc)p Ft('.)150 4015 y Fs(LANG)288 b Ft(Used)28 b(to)h(determine)f(the)g(lo)s(cale)h(category)h(for)e(an)m(y)h -(category)h(not)e(sp)s(eci\014cally)g(selected)630 3447 +(category)h(not)e(sp)s(eci\014cally)g(selected)630 4125 y(with)i(a)h(v)-5 b(ariable)31 b(starting)g(with)f Fs(LC_)p -Ft(.)150 3606 y Fs(LC_ALL)192 b Ft(This)28 b(v)-5 b(ariable)29 +Ft(.)150 4274 y Fs(LC_ALL)192 b Ft(This)28 b(v)-5 b(ariable)29 b(o)m(v)m(errides)h(the)f(v)-5 b(alue)29 b(of)g Fs(LANG)f Ft(and)g(an)m(y)h(other)g Fs(LC_)f Ft(v)-5 b(ariable)29 -b(sp)s(ecifying)630 3716 y(a)i(lo)s(cale)h(category)-8 -b(.)150 3875 y Fs(LC_COLLATE)630 3985 y Ft(This)37 b(v)-5 +b(sp)s(ecifying)630 4384 y(a)i(lo)s(cale)h(category)-8 +b(.)150 4533 y Fs(LC_COLLATE)630 4643 y Ft(This)37 b(v)-5 b(ariable)38 b(determines)g(the)g(collation)i(order)d(used)g(when)f -(sorting)i(the)g(results)g(of)630 4095 y(\014lename)e(expansion,)i(and) +(sorting)i(the)g(results)g(of)630 4752 y(\014lename)e(expansion,)i(and) e(determines)g(the)h(b)s(eha)m(vior)f(of)g(range)h(expressions,)h -(equiv-)630 4204 y(alence)e(classes,)h(and)e(collating)i(sequences)e +(equiv-)630 4862 y(alence)e(classes,)h(and)e(collating)i(sequences)e (within)f(\014lename)h(expansion)g(and)f(pattern)630 -4314 y(matc)m(hing)d(\(see)h(Section)f(3.5.8)h([Filename)g(Expansion],) -e(page)h(24\).)150 4473 y Fs(LC_CTYPE)96 b Ft(This)36 +4971 y(matc)m(hing)d(\(see)h(Section)f(3.5.8)h([Filename)g(Expansion],) +e(page)h(25\).)150 5121 y Fs(LC_CTYPE)96 b Ft(This)36 b(v)-5 b(ariable)37 b(determines)f(the)h(in)m(terpretation)h(of)f(c)m -(haracters)h(and)e(the)g(b)s(eha)m(vior)h(of)630 4583 +(haracters)h(and)e(the)g(b)s(eha)m(vior)h(of)630 5230 y(c)m(haracter)46 b(classes)g(within)e(\014lename)h(expansion)g(and)f -(pattern)h(matc)m(hing)h(\(see)f(Sec-)630 4692 y(tion)31 -b(3.5.8)h([Filename)g(Expansion],)e(page)h(24\).)150 -4852 y Fs(LC_MESSAGES)630 4961 y Ft(This)25 b(v)-5 b(ariable)27 -b(determines)f(the)g(lo)s(cale)i(used)d(to)i(translate)g(double-quoted) -f(strings)g(pre-)630 5071 y(ceded)31 b(b)m(y)f(a)h(`)p -Fs($)p Ft(')f(\(see)h(Section)h(3.1.2.5)g([Lo)s(cale)g(T)-8 -b(ranslation],)32 b(page)f(7\).)150 5230 y Fs(LC_NUMERIC)630 -5340 y Ft(This)f(v)-5 b(ariable)31 b(determines)f(the)h(lo)s(cale)h -(category)g(used)e(for)g(n)m(um)m(b)s(er)f(formatting.)p -eop end -%%Page: 68 74 -TeXDict begin 68 73 bop 150 -116 a Ft(68)2572 b(Bash)31 -b(Reference)g(Man)m(ual)150 299 y Fs(LINENO)192 b Ft(The)30 +(pattern)h(matc)m(hing)h(\(see)f(Sec-)630 5340 y(tion)31 +b(3.5.8)h([Filename)g(Expansion],)e(page)h(25\).)p eop +end +%%Page: 70 76 +TeXDict begin 70 75 bop 150 -116 a Ft(70)2572 b(Bash)31 +b(Reference)g(Man)m(ual)150 299 y Fs(LC_MESSAGES)630 +408 y Ft(This)25 b(v)-5 b(ariable)27 b(determines)f(the)g(lo)s(cale)i +(used)d(to)i(translate)g(double-quoted)f(strings)g(pre-)630 +518 y(ceded)31 b(b)m(y)f(a)h(`)p Fs($)p Ft(')f(\(see)h(Section)h +(3.1.2.5)g([Lo)s(cale)g(T)-8 b(ranslation],)32 b(page)f(7\).)150 +679 y Fs(LC_NUMERIC)630 788 y Ft(This)f(v)-5 b(ariable)31 +b(determines)f(the)h(lo)s(cale)h(category)g(used)e(for)g(n)m(um)m(b)s +(er)f(formatting.)150 949 y Fs(LINENO)192 b Ft(The)30 b(line)h(n)m(um)m(b)s(er)e(in)h(the)g(script)h(or)f(shell)g(function)h -(curren)m(tly)f(executing.)150 471 y Fs(LINES)240 b Ft(Used)25 -b(b)m(y)g(the)g Fs(select)e Ft(builtin)i(command)g(to)h(determine)f -(the)g(column)g(length)g(for)g(prin)m(t-)630 581 y(ing)31 -b(selection)h(lists.)41 b(Automatically)33 b(set)e(up)s(on)e(receipt)i -(of)f(a)h Fs(SIGWINCH)p Ft(.)150 753 y Fs(MACHTYPE)96 -b Ft(A)26 b(string)g(that)h(fully)f(describ)s(es)f(the)h(system)g(t)m -(yp)s(e)h(on)f(whic)m(h)f(Bash)i(is)f(executing,)i(in)e(the)630 -862 y(standard)k Fl(gnu)g Fq(cpu-compan)m(y-system)h -Ft(format.)150 1035 y Fs(MAILCHECK)630 1144 y Ft(Ho)m(w)d(often)g(\(in) +(curren)m(tly)f(executing.)150 1110 y Fs(LINES)240 b +Ft(Used)25 b(b)m(y)g(the)g Fs(select)e Ft(builtin)i(command)g(to)h +(determine)f(the)g(column)g(length)g(for)g(prin)m(t-)630 +1219 y(ing)31 b(selection)h(lists.)41 b(Automatically)33 +b(set)e(up)s(on)e(receipt)i(of)f(a)h Fs(SIGWINCH)p Ft(.)150 +1380 y Fs(MACHTYPE)96 b Ft(A)26 b(string)g(that)h(fully)f(describ)s(es) +f(the)h(system)g(t)m(yp)s(e)h(on)f(whic)m(h)f(Bash)i(is)f(executing,)i +(in)e(the)630 1490 y(standard)k Fl(gnu)g Fq(cpu-compan)m(y-system)h +Ft(format.)150 1650 y Fs(MAILCHECK)630 1760 y Ft(Ho)m(w)d(often)g(\(in) g(seconds\))g(that)g(the)f(shell)h(should)f(c)m(hec)m(k)i(for)e(mail)h -(in)f(the)h(\014les)g(sp)s(eci\014ed)630 1254 y(in)i(the)h +(in)f(the)h(\014les)g(sp)s(eci\014ed)630 1870 y(in)i(the)h Fs(MAILPATH)e Ft(or)i Fs(MAIL)e Ft(v)-5 b(ariables.)43 b(The)30 b(default)h(is)f(60)i(seconds.)42 b(When)30 -b(it)h(is)g(time)630 1363 y(to)37 b(c)m(hec)m(k)h(for)e(mail,)j(the)e +b(it)h(is)g(time)630 1979 y(to)37 b(c)m(hec)m(k)h(for)e(mail,)j(the)e (shell)f(do)s(es)g(so)h(b)s(efore)f(displa)m(ying)h(the)f(primary)g -(prompt.)57 b(If)630 1473 y(this)37 b(v)-5 b(ariable)38 +(prompt.)57 b(If)630 2089 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 1583 y(equal)31 +(a)f(n)m(um)m(b)s(er)f(greater)i(than)f(or)630 2198 y(equal)31 b(to)g(zero,)g(the)g(shell)g(disables)f(mail)h(c)m(hec)m(king.)150 -1755 y Fs(MAPFILE)144 b Ft(An)35 b(arra)m(y)h(v)-5 b(ariable)36 +2359 y Fs(MAPFILE)144 b Ft(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 -Fs(mapfile)d Ft(builtin)i(when)630 1864 y(no)30 b(v)-5 -b(ariable)31 b(name)g(is)f(supplied.)150 2037 y Fs(OLDPWD)192 +Fs(mapfile)d Ft(builtin)i(when)630 2469 y(no)30 b(v)-5 +b(ariable)31 b(name)g(is)f(supplied.)150 2629 y Fs(OLDPWD)192 b Ft(The)30 b(previous)g(w)m(orking)g(directory)h(as)g(set)g(b)m(y)f -(the)h Fs(cd)e Ft(builtin.)150 2209 y Fs(OPTERR)192 b +(the)h Fs(cd)e Ft(builtin.)150 2790 y Fs(OPTERR)192 b Ft(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 Fs(getopts)630 -2318 y Ft(builtin)30 b(command.)150 2491 y Fs(OSTYPE)192 +2900 y Ft(builtin)30 b(command.)150 3061 y Fs(OSTYPE)192 b Ft(A)30 b(string)h(describing)f(the)g(op)s(erating)h(system)g(Bash)f -(is)h(running)d(on.)150 2663 y Fs(PIPESTATUS)630 2772 +(is)h(running)d(on.)150 3221 y Fs(PIPESTATUS)630 3331 y Ft(An)23 b(arra)m(y)h(v)-5 b(ariable)24 b(\(see)h(Section)f(6.7)h -([Arra)m(ys],)g(page)f(80\))h(con)m(taining)g(a)f(list)g(of)g(exit)g -(sta-)630 2882 y(tus)h(v)-5 b(alues)27 b(from)e(the)h(pro)s(cesses)g +([Arra)m(ys],)g(page)f(82\))h(con)m(taining)g(a)f(list)g(of)g(exit)g +(sta-)630 3440 y(tus)h(v)-5 b(alues)27 b(from)e(the)h(pro)s(cesses)g (in)f(the)h(most-recen)m(tly-executed)j(foreground)c(pip)s(eline)630 -2992 y(\(whic)m(h)30 b(ma)m(y)h(con)m(tain)h(only)f(a)f(single)h -(command\).)150 3164 y Fs(POSIXLY_CORRECT)630 3273 y +3550 y(\(whic)m(h)30 b(ma)m(y)h(con)m(tain)h(only)f(a)f(single)h +(command\).)150 3711 y Fs(POSIXLY_CORRECT)630 3820 y Ft(If)h(this)h(v)-5 b(ariable)34 b(is)f(in)f(the)h(en)m(vironmen)m(t)h (when)d Fs(bash)h Ft(starts,)i(the)f(shell)g(en)m(ters)h -Fl(posix)630 3383 y Ft(mo)s(de)22 b(\(see)h(Section)g(6.11)h([Bash)e -(POSIX)f(Mo)s(de],)k(page)e(84\))g(b)s(efore)f(reading)g(the)g(startup) -630 3493 y(\014les,)32 b(as)f(if)h(the)f(`)p Fs(--posix)p +Fl(posix)630 3930 y Ft(mo)s(de)22 b(\(see)h(Section)g(6.11)h([Bash)e +(POSIX)f(Mo)s(de],)k(page)e(86\))g(b)s(efore)f(reading)g(the)g(startup) +630 4040 y(\014les,)32 b(as)f(if)h(the)f(`)p Fs(--posix)p Ft(')f(in)m(v)m(o)s(cation)j(option)f(had)f(b)s(een)g(supplied.)42 -b(If)31 b(it)h(is)f(set)h(while)630 3602 y(the)f(shell)f(is)h(running,) +b(If)31 b(it)h(is)f(set)h(while)630 4149 y(the)f(shell)f(is)h(running,) d Fs(bash)i Ft(enables)g Fl(posix)g Ft(mo)s(de,)g(as)h(if)f(the)h -(command)870 3743 y Fs(set)47 b(-o)g(posix)630 3884 y -Ft(had)30 b(b)s(een)f(executed.)150 4056 y Fs(PPID)288 +(command)870 4284 y Fs(set)47 b(-o)g(posix)630 4419 y +Ft(had)30 b(b)s(een)f(executed.)150 4580 y Fs(PPID)288 b Ft(The)30 b(pro)s(cess)g Fl(id)g Ft(of)h(the)f(shell's)h(paren)m(t)g (pro)s(cess.)40 b(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8 -b(.)150 4228 y Fs(PROMPT_COMMAND)630 4338 y Ft(If)32 +b(.)150 4741 y Fs(PROMPT_COMMAND)630 4850 y Ft(If)32 b(set,)h(the)f(v)-5 b(alue)33 b(is)f(in)m(terpreted)g(as)g(a)h(command) f(to)h(execute)g(b)s(efore)f(the)g(prin)m(ting)g(of)630 -4448 y(eac)m(h)g(primary)d(prompt)g(\()p Fs($PS1)p Ft(\).)150 -4620 y Fs(PROMPT_DIRTRIM)630 4729 y Ft(If)e(set)g(to)h(a)g(n)m(um)m(b)s +4960 y(eac)m(h)g(primary)d(prompt)g(\()p Fs($PS1)p Ft(\).)150 +5121 y Fs(PROMPT_DIRTRIM)630 5230 y Ft(If)e(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 4839 y(directory)35 +(the)h(n)m(um)m(b)s(er)e(of)h(trailing)630 5340 y(directory)35 b(comp)s(onen)m(ts)g(to)h(retain)f(when)f(expanding)g(the)h -Fs(\\w)f Ft(and)g Fs(\\W)g Ft(prompt)g(string)630 4949 -y(escap)s(es)27 b(\(see)g(Section)g(6.9)h([Prin)m(ting)f(a)g(Prompt],)g -(page)g(82\).)40 b(Characters)27 b(remo)m(v)m(ed)h(are)630 -5058 y(replaced)j(with)f(an)g(ellipsis.)150 5230 y Fs(PS3)336 -b Ft(The)34 b(v)-5 b(alue)35 b(of)f(this)g(v)-5 b(ariable)35 -b(is)g(used)e(as)i(the)f(prompt)g(for)g(the)g Fs(select)f -Ft(command.)52 b(If)630 5340 y(this)30 b(v)-5 b(ariable)31 -b(is)g(not)f(set,)i(the)e Fs(select)f Ft(command)h(prompts)f(with)h(`)p -Fs(#?)g Ft(')p eop end -%%Page: 69 75 -TeXDict begin 69 74 bop 150 -116 a Ft(Chapter)30 b(5:)41 -b(Shell)30 b(V)-8 b(ariables)2459 b(69)150 299 y Fs(PS4)336 -b Ft(The)20 b(v)-5 b(alue)22 b(is)e(the)h(prompt)f(prin)m(ted)h(b)s -(efore)f(the)h(command)g(line)g(is)g(ec)m(ho)s(ed)g(when)f(the)h(`)p -Fs(-x)p Ft(')630 408 y(option)32 b(is)f(set)h(\(see)g(Section)h(4.3.1)g -([The)e(Set)g(Builtin],)i(page)f(51\).)45 b(The)31 b(\014rst)f(c)m -(haracter)630 518 y(of)k Fs(PS4)g Ft(is)g(replicated)i(m)m(ultiple)f -(times,)h(as)e(necessary)-8 b(,)37 b(to)e(indicate)g(m)m(ultiple)g(lev) -m(els)h(of)630 628 y(indirection.)41 b(The)30 b(default)h(is)f(`)p -Fs(+)g Ft('.)150 784 y Fs(PWD)336 b Ft(The)30 b(curren)m(t)g(w)m +Fs(\\w)f Ft(and)g Fs(\\W)g Ft(prompt)g(string)p eop end +%%Page: 71 77 +TeXDict begin 71 76 bop 150 -116 a Ft(Chapter)30 b(5:)41 +b(Shell)30 b(V)-8 b(ariables)2459 b(71)630 299 y(escap)s(es)27 +b(\(see)g(Section)g(6.9)h([Prin)m(ting)f(a)g(Prompt],)g(page)g(84\).)40 +b(Characters)27 b(remo)m(v)m(ed)h(are)630 408 y(replaced)j(with)f(an)g +(ellipsis.)150 573 y Fs(PS3)336 b Ft(The)34 b(v)-5 b(alue)35 +b(of)f(this)g(v)-5 b(ariable)35 b(is)g(used)e(as)i(the)f(prompt)g(for)g +(the)g Fs(select)f Ft(command.)52 b(If)630 682 y(this)30 +b(v)-5 b(ariable)31 b(is)g(not)f(set,)i(the)e Fs(select)f +Ft(command)h(prompts)f(with)h(`)p Fs(#?)g Ft(')150 847 +y Fs(PS4)336 b Ft(The)20 b(v)-5 b(alue)22 b(is)e(the)h(prompt)f(prin)m +(ted)h(b)s(efore)f(the)h(command)g(line)g(is)g(ec)m(ho)s(ed)g(when)f +(the)h(`)p Fs(-x)p Ft(')630 956 y(option)32 b(is)f(set)h(\(see)g +(Section)h(4.3.1)g([The)e(Set)g(Builtin],)i(page)f(53\).)45 +b(The)31 b(\014rst)f(c)m(haracter)630 1066 y(of)k Fs(PS4)g +Ft(is)g(replicated)i(m)m(ultiple)f(times,)h(as)e(necessary)-8 +b(,)37 b(to)e(indicate)g(m)m(ultiple)g(lev)m(els)h(of)630 +1176 y(indirection.)41 b(The)30 b(default)h(is)f(`)p +Fs(+)g Ft('.)150 1340 y Fs(PWD)336 b Ft(The)30 b(curren)m(t)g(w)m (orking)h(directory)g(as)f(set)h(b)m(y)f(the)h Fs(cd)f -Ft(builtin.)150 941 y Fs(RANDOM)192 b Ft(Eac)m(h)30 b(time)g(this)f -(parameter)g(is)g(referenced,)h(a)f(random)g(in)m(teger)h(b)s(et)m(w)m -(een)g(0)f(and)g(32767)630 1050 y(is)i(generated.)43 +Ft(builtin.)150 1504 y Fs(RANDOM)192 b Ft(Eac)m(h)30 +b(time)g(this)f(parameter)g(is)g(referenced,)h(a)f(random)g(in)m(teger) +h(b)s(et)m(w)m(een)g(0)f(and)g(32767)630 1614 y(is)i(generated.)43 b(Assigning)31 b(a)g(v)-5 b(alue)31 b(to)g(this)g(v)-5 b(ariable)31 b(seeds)g(the)g(random)f(n)m(um)m(b)s(er)f(gen-)630 -1160 y(erator.)150 1316 y Fs(READLINE_LINE)630 1426 y +1724 y(erator.)150 1888 y Fs(READLINE_LINE)630 1998 y Ft(The)e(con)m(ten)m(ts)i(of)f(the)g(Readline)g(line)g(bu\013er,)f(for) h(use)f(with)g(`)p Fs(bind)j(-x)p Ft(')d(\(see)h(Section)h(4.2)630 -1536 y([Bash)i(Builtins],)g(page)g(41\).)150 1692 y Fs(READLINE_POINT) -630 1802 y Ft(The)23 b(p)s(osition)g(of)g(the)h(insertion)f(p)s(oin)m +2107 y([Bash)i(Builtins],)g(page)g(43\).)150 2271 y Fs(READLINE_POINT) +630 2381 y Ft(The)23 b(p)s(osition)g(of)g(the)h(insertion)f(p)s(oin)m (t)g(in)g(the)g(Readline)h(line)f(bu\013er,)h(for)f(use)g(with)g(`)p -Fs(bind)630 1911 y(-x)p Ft(')30 b(\(see)h(Section)h(4.2)f([Bash)g -(Builtins],)g(page)g(41\).)150 2068 y Fs(REPLY)240 b +Fs(bind)630 2491 y(-x)p Ft(')30 b(\(see)h(Section)h(4.2)f([Bash)g +(Builtins],)g(page)g(43\).)150 2655 y Fs(REPLY)240 b Ft(The)30 b(default)g(v)-5 b(ariable)32 b(for)e(the)g -Fs(read)g Ft(builtin.)150 2225 y Fs(SECONDS)144 b Ft(This)40 +Fs(read)g Ft(builtin.)150 2819 y Fs(SECONDS)144 b Ft(This)40 b(v)-5 b(ariable)41 b(expands)f(to)h(the)g(n)m(um)m(b)s(er)e(of)i (seconds)g(since)g(the)f(shell)h(w)m(as)g(started.)630 -2334 y(Assignmen)m(t)i(to)g(this)g(v)-5 b(ariable)43 +2929 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 2444 y(expanded)35 b(v)-5 +b(assigned,)j(and)c(the)630 3039 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 2553 y(the)31 -b(assignmen)m(t.)150 2710 y Fs(SHELL)240 b Ft(The)29 +(n)m(um)m(b)s(er)f(of)h(seconds)g(since)630 3148 y(the)31 +b(assignmen)m(t.)150 3313 y Fs(SHELL)240 b Ft(The)29 b(full)h(pathname)g(to)h(the)f(shell)g(is)g(k)m(ept)g(in)g(this)g(en)m (vironmen)m(t)g(v)-5 b(ariable.)42 b(If)29 b(it)i(is)f(not)630 -2819 y(set)36 b(when)f(the)h(shell)g(starts,)i(Bash)e(assigns)h(to)f +3422 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 -2929 y(user's)30 b(login)h(shell.)150 3086 y Fs(SHELLOPTS)630 -3195 y Ft(A)g(colon-separated)h(list)f(of)g(enabled)f(shell)h(options.) +3532 y(user's)30 b(login)h(shell.)150 3696 y Fs(SHELLOPTS)630 +3806 y Ft(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 3305 y(argumen)m(t)24 b(for)f(the)h(`)p Fs(-o)p +b(alid)630 3915 y(argumen)m(t)24 b(for)f(the)h(`)p Fs(-o)p Ft(')f(option)h(to)g(the)g Fs(set)f Ft(builtin)g(command)g(\(see)i -(Section)f(4.3.1)h([The)630 3414 y(Set)k(Builtin],)h(page)f(51\).)42 +(Section)f(4.3.1)h([The)630 4025 y(Set)k(Builtin],)h(page)f(53\).)42 b(The)28 b(options)h(app)s(earing)f(in)g Fs(SHELLOPTS)e -Ft(are)j(those)h(rep)s(orted)630 3524 y(as)g(`)p Fs(on)p +Ft(are)j(those)h(rep)s(orted)630 4134 y(as)g(`)p Fs(on)p Ft(')f(b)m(y)h(`)p Fs(set)g(-o)p Ft('.)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 3634 y(eac)m(h)41 b(shell)e(option)h(in)f(the)h(list) +(starts)g(up,)630 4244 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 3743 y(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8 -b(.)150 3900 y Fs(SHLVL)240 b Ft(Incremen)m(ted)21 b(b)m(y)g(one)g(eac) +(\014les.)630 4354 y(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8 +b(.)150 4518 y Fs(SHLVL)240 b Ft(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 4009 y(to)31 b(b)s(e)f(a)h(coun)m(t)g +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 (of)f(ho)m(w)h(deeply)f(y)m(our)g(Bash)h(shells)f(are)h(nested.)150 -4166 y Fs(TIMEFORMAT)630 4275 y Ft(The)f(v)-5 b(alue)32 +4792 y Fs(TIMEFORMAT)630 4902 y Ft(The)f(v)-5 b(alue)32 b(of)f(this)g(parameter)g(is)g(used)f(as)h(a)g(format)h(string)f(sp)s -(ecifying)f(ho)m(w)h(the)g(tim-)630 4385 y(ing)37 b(information)f(for)h +(ecifying)f(ho)m(w)h(the)g(tim-)630 5011 y(ing)37 b(information)f(for)h (pip)s(elines)f(pre\014xed)f(with)h(the)h Fs(time)e Ft(reserv)m(ed)i(w) -m(ord)f(should)g(b)s(e)630 4495 y(displa)m(y)m(ed.)k(The)27 +m(ord)f(should)g(b)s(e)630 5121 y(displa)m(y)m(ed.)k(The)27 b(`)p Fs(\045)p Ft(')h(c)m(haracter)h(in)m(tro)s(duces)e(an)h(escap)s -(e)g(sequence)g(that)g(is)f(expanded)g(to)630 4604 y(a)37 +(e)g(sequence)g(that)g(is)f(expanded)g(to)630 5230 y(a)37 b(time)g(v)-5 b(alue)36 b(or)h(other)f(information.)59 b(The)36 b(escap)s(e)g(sequences)h(and)e(their)i(meanings)630 -4714 y(are)31 b(as)f(follo)m(ws;)i(the)f(braces)f(denote)h(optional)h -(p)s(ortions.)630 4870 y Fs(\045\045)384 b Ft(A)30 b(literal)i(`)p -Fs(\045)p Ft('.)630 5027 y Fs(\045[)p Fi(p)11 b Fs(][l]R)85 -b Ft(The)30 b(elapsed)h(time)g(in)f(seconds.)630 5183 -y Fs(\045[)p Fi(p)11 b Fs(][l]U)85 b Ft(The)30 b(n)m(um)m(b)s(er)f(of)h -(CPU)g(seconds)h(sp)s(en)m(t)f(in)g(user)f(mo)s(de.)630 -5340 y Fs(\045[)p Fi(p)11 b Fs(][l]S)85 b Ft(The)30 b(n)m(um)m(b)s(er)f -(of)h(CPU)g(seconds)h(sp)s(en)m(t)f(in)g(system)g(mo)s(de.)p -eop end -%%Page: 70 76 -TeXDict begin 70 75 bop 150 -116 a Ft(70)2572 b(Bash)31 -b(Reference)g(Man)m(ual)630 299 y Fs(\045P)384 b Ft(The)30 -b(CPU)g(p)s(ercen)m(tage,)i(computed)e(as)h(\(\045U)f -Fs(+)g Ft(\045S\))g(/)h(\045R.)630 458 y(The)23 b(optional)j -Fq(p)g Ft(is)e(a)g(digit)h(sp)s(ecifying)e(the)h(precision,)i(the)e(n)m -(um)m(b)s(er)f(of)h(fractional)h(digits)630 568 y(after)36 -b(a)f(decimal)i(p)s(oin)m(t.)55 b(A)35 b(v)-5 b(alue)36 -b(of)f(0)h(causes)g(no)f(decimal)h(p)s(oin)m(t)f(or)h(fraction)g(to)g -(b)s(e)630 677 y(output.)48 b(A)m(t)34 b(most)f(three)g(places)h(after) -f(the)g(decimal)h(p)s(oin)m(t)f(ma)m(y)h(b)s(e)e(sp)s(eci\014ed;)i(v)-5 -b(alues)630 787 y(of)31 b Fq(p)h Ft(greater)g(than)e(3)h(are)f(c)m -(hanged)h(to)g(3.)42 b(If)29 b Fq(p)k Ft(is)d(not)h(sp)s(eci\014ed,)f -(the)h(v)-5 b(alue)30 b(3)h(is)g(used.)630 922 y(The)54 -b(optional)h Fs(l)f Ft(sp)s(eci\014es)g(a)h(longer)f(format,)61 -b(including)54 b(min)m(utes,)61 b(of)54 b(the)g(form)630 -1031 y Fq(MM)10 b Ft(m)p Fq(SS)5 b Ft(.)p Fq(FF)i Ft(s.)102 -b(The)50 b(v)-5 b(alue)51 b(of)g Fq(p)i Ft(determines)e(whether)f(or)h -(not)f(the)h(fraction)h(is)630 1141 y(included.)630 1275 -y(If)30 b(this)g(v)-5 b(ariable)31 b(is)g(not)f(set,)i(Bash)e(acts)h -(as)g(if)f(it)h(had)f(the)h(v)-5 b(alue)870 1410 y Fs +5340 y(are)31 b(as)f(follo)m(ws;)i(the)f(braces)f(denote)h(optional)h +(p)s(ortions.)p eop end +%%Page: 72 78 +TeXDict begin 72 77 bop 150 -116 a Ft(72)2572 b(Bash)31 +b(Reference)g(Man)m(ual)630 299 y Fs(\045\045)384 b Ft(A)30 +b(literal)i(`)p Fs(\045)p Ft('.)630 458 y Fs(\045[)p +Fi(p)11 b Fs(][l]R)85 b Ft(The)30 b(elapsed)h(time)g(in)f(seconds.)630 +618 y Fs(\045[)p Fi(p)11 b Fs(][l]U)85 b Ft(The)30 b(n)m(um)m(b)s(er)f +(of)h(CPU)g(seconds)h(sp)s(en)m(t)f(in)g(user)f(mo)s(de.)630 +777 y Fs(\045[)p Fi(p)11 b Fs(][l]S)85 b Ft(The)30 b(n)m(um)m(b)s(er)f +(of)h(CPU)g(seconds)h(sp)s(en)m(t)f(in)g(system)g(mo)s(de.)630 +936 y Fs(\045P)384 b Ft(The)30 b(CPU)g(p)s(ercen)m(tage,)i(computed)e +(as)h(\(\045U)f Fs(+)g Ft(\045S\))g(/)h(\045R.)630 1096 +y(The)23 b(optional)j Fq(p)g Ft(is)e(a)g(digit)h(sp)s(ecifying)e(the)h +(precision,)i(the)e(n)m(um)m(b)s(er)f(of)h(fractional)h(digits)630 +1205 y(after)36 b(a)f(decimal)i(p)s(oin)m(t.)55 b(A)35 +b(v)-5 b(alue)36 b(of)f(0)h(causes)g(no)f(decimal)h(p)s(oin)m(t)f(or)h +(fraction)g(to)g(b)s(e)630 1315 y(output.)48 b(A)m(t)34 +b(most)f(three)g(places)h(after)f(the)g(decimal)h(p)s(oin)m(t)f(ma)m(y) +h(b)s(e)e(sp)s(eci\014ed;)i(v)-5 b(alues)630 1425 y(of)31 +b Fq(p)h Ft(greater)g(than)e(3)h(are)f(c)m(hanged)h(to)g(3.)42 +b(If)29 b Fq(p)k Ft(is)d(not)h(sp)s(eci\014ed,)f(the)h(v)-5 +b(alue)30 b(3)h(is)g(used.)630 1559 y(The)54 b(optional)h +Fs(l)f Ft(sp)s(eci\014es)g(a)h(longer)f(format,)61 b(including)54 +b(min)m(utes,)61 b(of)54 b(the)g(form)630 1669 y Fq(MM)10 +b Ft(m)p Fq(SS)5 b Ft(.)p Fq(FF)i Ft(s.)102 b(The)50 +b(v)-5 b(alue)51 b(of)g Fq(p)i Ft(determines)e(whether)f(or)h(not)f +(the)h(fraction)h(is)630 1778 y(included.)630 1913 y(If)30 +b(this)g(v)-5 b(ariable)31 b(is)g(not)f(set,)i(Bash)e(acts)h(as)g(if)f +(it)h(had)f(the)h(v)-5 b(alue)870 2047 y Fs ($'\\nreal\\t\0453lR\\nuser\\t\0453)o(lU\\n)o(sys\\)o(t\0453)o(lS')630 -1544 y Ft(If)37 b(the)g(v)-5 b(alue)38 b(is)f(n)m(ull,)i(no)f(timing)f +2182 y Ft(If)37 b(the)g(v)-5 b(alue)38 b(is)f(n)m(ull,)i(no)f(timing)f (information)h(is)f(displa)m(y)m(ed.)62 b(A)37 b(trailing)i(newline)e -(is)630 1654 y(added)30 b(when)f(the)i(format)f(string)h(is)f(displa)m -(y)m(ed.)150 1813 y Fs(TMOUT)240 b Ft(If)22 b(set)h(to)g(a)g(v)-5 +(is)630 2291 y(added)30 b(when)f(the)i(format)f(string)h(is)f(displa)m +(y)m(ed.)150 2451 y Fs(TMOUT)240 b Ft(If)22 b(set)h(to)g(a)g(v)-5 b(alue)23 b(greater)h(than)e(zero,)j Fs(TMOUT)d Ft(is)g(treated)i(as)e -(the)h(default)g(timeout)g(for)g(the)630 1923 y Fs(read)31 +(the)h(default)g(timeout)g(for)g(the)630 2560 y Fs(read)31 b Ft(builtin)h(\(see)h(Section)f(4.2)i([Bash)e(Builtins],)h(page)g -(41\).)47 b(The)32 b Fs(select)e Ft(command)630 2032 +(43\).)47 b(The)32 b Fs(select)e Ft(command)630 2670 y(\(see)f(Section)h(3.2.4.2)g([Conditional)g(Constructs],)e(page)i -(10\))f(terminates)g(if)g(input)e(do)s(es)630 2142 y(not)k(arriv)m(e)g +(10\))f(terminates)g(if)g(input)e(do)s(es)630 2780 y(not)k(arriv)m(e)g (after)g Fs(TMOUT)e Ft(seconds)h(when)f(input)h(is)g(coming)h(from)f(a) -h(terminal.)630 2276 y(In)25 b(an)h(in)m(teractiv)m(e)i(shell,)g(the)e +h(terminal.)630 2914 y(In)25 b(an)h(in)m(teractiv)m(e)i(shell,)g(the)e (v)-5 b(alue)26 b(is)g(in)m(terpreted)g(as)g(the)g(n)m(um)m(b)s(er)f -(of)h(seconds)f(to)i(w)m(ait)630 2386 y(for)32 b(input)f(after)i +(of)h(seconds)f(to)i(w)m(ait)630 3024 y(for)32 b(input)f(after)i (issuing)f(the)g(primary)g(prompt)f(when)g(the)i(shell)f(is)h(in)m -(teractiv)m(e.)49 b(Bash)630 2496 y(terminates)31 b(after)g(that)g(n)m +(teractiv)m(e.)49 b(Bash)630 3133 y(terminates)31 b(after)g(that)g(n)m (um)m(b)s(er)e(of)i(seconds)f(if)g(input)g(do)s(es)g(not)g(arriv)m(e.) -150 2655 y Fs(TMPDIR)192 b Ft(If)39 b(set,)j(Bash)e(uses)f(its)h(v)-5 +150 3293 y Fs(TMPDIR)192 b Ft(If)39 b(set,)j(Bash)e(uses)f(its)h(v)-5 b(alue)40 b(as)f(the)h(name)f(of)h(a)g(directory)g(in)f(whic)m(h)g -(Bash)h(creates)630 2765 y(temp)s(orary)30 b(\014les)g(for)g(the)h -(shell's)g(use.)150 2924 y Fs(UID)336 b Ft(The)30 b(n)m(umeric)g(real)h +(Bash)h(creates)630 3402 y(temp)s(orary)30 b(\014les)g(for)g(the)h +(shell's)g(use.)150 3562 y Fs(UID)336 b Ft(The)30 b(n)m(umeric)g(real)h (user)f(id)g(of)g(the)h(curren)m(t)f(user.)40 b(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8 b(.)p eop end -%%Page: 71 77 -TeXDict begin 71 76 bop 150 -116 a Ft(Chapter)30 b(6:)41 -b(Bash)30 b(F)-8 b(eatures)2484 b(71)150 299 y Fo(6)80 +%%Page: 73 79 +TeXDict begin 73 78 bop 150 -116 a Ft(Chapter)30 b(6:)41 +b(Bash)30 b(F)-8 b(eatures)2484 b(73)150 299 y Fo(6)80 b(Bash)54 b(F)-13 b(eatures)150 524 y Ft(This)30 b(section)h(describ)s (es)f(features)g(unique)g(to)h(Bash.)150 752 y Fr(6.1)68 b(In)l(v)l(oking)46 b(Bash)390 912 y Fs(bash)h([long-opt])e([-ir])h @@ -9822,7 +9944,7 @@ b([-o)k Fi(option)11 b Fs(])46 b([-O)h Fi(shopt_option)11 b Fs(])43 b([)p Fi(ar-)390 1460 y(gument)57 b Fs(...)o(])275 1592 y Ft(All)31 b(of)g(the)f(single-c)m(haracter)k(options)d(used)f (with)g(the)h Fs(set)f Ft(builtin)g(\(see)h(Section)h(4.3.1)g([The)f -(Set)150 1702 y(Builtin],)45 b(page)c(51\))i(can)e(b)s(e)f(used)h(as)g +(Set)150 1702 y(Builtin],)45 b(page)c(53\))i(can)e(b)s(e)f(used)h(as)g (options)g(when)f(the)i(shell)f(is)g(in)m(v)m(ok)m(ed.)74 b(In)41 b(addition,)j(there)150 1811 y(are)38 b(sev)m(eral)h(m)m (ulti-c)m(haracter)h(options)d(that)h(y)m(ou)g(can)g(use.)61 @@ -9832,7 +9954,7 @@ b(These)38 b(options)f(m)m(ust)h(app)s(ear)e(on)i(the)150 2186 y Ft(Arrange)j(for)g(the)g(debugger)g(pro\014le)g(to)h(b)s(e)e (executed)i(b)s(efore)f(the)g(shell)g(starts.)49 b(T)-8 b(urns)630 2296 y(on)37 b(extended)g(debugging)g(mo)s(de)g(\(see)h -(Section)g(4.3.2)g([The)f(Shopt)g(Builtin],)i(page)f(55)630 +(Section)g(4.3.2)g([The)f(Shopt)g(Builtin],)i(page)f(57)630 2405 y(for)30 b(a)h(description)f(of)h(the)f Fs(extdebug)f Ft(option)h(to)h(the)g Fs(shopt)e Ft(builtin\).)150 2561 y Fs(--dump-po-strings)630 2670 y Ft(A)37 b(list)g(of)f(all)i @@ -9852,7 +9974,7 @@ b Ft(\(instead)42 b(of)f(`)p Fs(~/.bashrc)p Ft('\))e(in)i(an)g(in)m b Ft(Equiv)-5 b(alen)m(t)31 b(to)g(`)p Fs(-l)p Ft('.)150 4106 y Fs(--noediting)630 4216 y Ft(Do)h(not)e(use)h(the)g Fl(gnu)f Ft(Readline)i(library)e(\(see)h(Chapter)g(8)g([Command)f(Line) -g(Editing],)630 4325 y(page)h(93\))h(to)f(read)f(command)g(lines)h +g(Editing],)630 4325 y(page)h(95\))h(to)f(read)f(command)g(lines)h (when)e(the)i(shell)f(is)h(in)m(teractiv)m(e.)150 4481 y Fs(--noprofile)630 4590 y Ft(Don't)h(load)f(the)g(system-wide)g (startup)f(\014le)g(`)p Fs(/etc/profile)p Ft(')e(or)j(an)m(y)g(of)g @@ -9869,15 +9991,15 @@ b Ft(Change)24 b(the)h(b)s(eha)m(vior)f(of)g(Bash)h(where)e(the)i 5340 y Ft(standard)35 b(to)h(matc)m(h)g(the)g(standard.)55 b(This)35 b(is)h(in)m(tended)f(to)h(mak)m(e)h(Bash)f(b)s(eha)m(v)m(e)g (as)g(a)p eop end -%%Page: 72 78 -TeXDict begin 72 77 bop 150 -116 a Ft(72)2572 b(Bash)31 +%%Page: 74 80 +TeXDict begin 74 79 bop 150 -116 a Ft(74)2572 b(Bash)31 b(Reference)g(Man)m(ual)630 299 y(strict)26 b(sup)s(erset)e(of)h(that)g (standard.)38 b(See)26 b(Section)f(6.11)i([Bash)e(POSIX)f(Mo)s(de],)j -(page)f(84,)630 408 y(for)k(a)h(description)f(of)h(the)f(Bash)h +(page)f(86,)630 408 y(for)k(a)h(description)f(of)h(the)f(Bash)h Fl(posix)f Ft(mo)s(de.)150 564 y Fs(--restricted)630 673 y Ft(Mak)m(e)54 b(the)e(shell)g(a)h(restricted)g(shell)f(\(see)h (Section)g(6.10)h([The)d(Restricted)j(Shell],)630 783 -y(page)31 b(84\).)150 938 y Fs(--verbose)630 1048 y Ft(Equiv)-5 +y(page)31 b(86\).)150 938 y Fs(--verbose)630 1048 y Ft(Equiv)-5 b(alen)m(t)31 b(to)g(`)p Fs(-v)p Ft('.)41 b(Prin)m(t)30 b(shell)h(input)e(lines)i(as)g(they're)f(read.)150 1203 y Fs(--version)630 1313 y Ft(Sho)m(w)e(v)m(ersion)g(information)g(for)g @@ -9894,7 +10016,7 @@ s(ositional)g(parameters,)i(starting)630 2171 y(with)30 b Fs($0)p Ft(.)150 2326 y Fs(-i)384 b Ft(F)-8 b(orce)22 b(the)g(shell)f(to)g(run)f(in)m(teractiv)m(ely)-8 b(.)41 b(In)m(teractiv)m(e)23 b(shells)e(are)h(describ)s(ed)d(in)i(Section)h -(6.3)630 2436 y([In)m(teractiv)m(e)33 b(Shells],)e(page)g(74.)150 +(6.3)630 2436 y([In)m(teractiv)m(e)33 b(Shells],)e(page)g(76.)150 2591 y Fs(-l)384 b Ft(Mak)m(e)33 b(this)e(shell)h(act)g(as)g(if)f(it)h (had)f(b)s(een)f(directly)i(in)m(v)m(ok)m(ed)h(b)m(y)f(login.)44 b(When)31 b(the)h(shell)630 2701 y(is)37 b(in)m(teractiv)m(e,)43 @@ -9905,11 +10027,11 @@ b(this)37 b(is)g(equiv)-5 b(alen)m(t)39 b(to)f(starting)h(a)e(login)i 2920 y(`)p Fs(exec)e(bash)h(-l)p Ft(')43 b(or)h(`)p Fs(exec)29 b(bash)g(--login)p Ft(')42 b(will)i(replace)h(the)f(curren)m(t)f(shell) h(with)g(a)630 3029 y(Bash)26 b(login)g(shell.)39 b(See)26 -b(Section)g(6.2)h([Bash)e(Startup)g(Files],)j(page)e(73,)i(for)d(a)h +b(Section)g(6.2)h([Bash)e(Startup)g(Files],)j(page)e(75,)i(for)d(a)h (description)630 3139 y(of)31 b(the)f(sp)s(ecial)h(b)s(eha)m(vior)g(of) f(a)h(login)g(shell.)150 3294 y Fs(-r)384 b Ft(Mak)m(e)54 b(the)e(shell)g(a)h(restricted)g(shell)f(\(see)h(Section)g(6.10)h([The) -d(Restricted)j(Shell],)630 3404 y(page)31 b(84\).)150 +d(Restricted)j(Shell],)630 3404 y(page)31 b(86\).)150 3559 y Fs(-s)384 b Ft(If)24 b(this)h(option)h(is)f(presen)m(t,)h(or)f (if)g(no)f(argumen)m(ts)i(remain)e(after)i(option)f(pro)s(cessing,)h (then)630 3669 y(commands)i(are)h(read)g(from)f(the)h(standard)f @@ -9928,7 +10050,7 @@ b(implies)i(the)f(`)p Fs(-n)p Ft(')h(option;)g(no)f(commands)g(will)h b Fs(])630 4527 y Fq(shopt)p 854 4527 28 4 v 40 w(option)44 b Ft(is)g(one)h(of)f(the)g(shell)h(options)f(accepted)h(b)m(y)f(the)h Fs(shopt)d Ft(builtin)i(\(see)630 4637 y(Section)28 b(4.3.2)g([The)f -(Shopt)f(Builtin],)i(page)f(55\).)41 b(If)26 b Fq(shopt)p +(Shopt)f(Builtin],)i(page)f(57\).)41 b(If)26 b Fq(shopt)p 2690 4637 V 40 w(option)h Ft(is)g(presen)m(t,)h(`)p Fs(-O)p Ft(')f(sets)630 4746 y(the)40 b(v)-5 b(alue)40 b(of)f(that)h(option;)45 b(`)p Fs(+O)p Ft(')40 b(unsets)e(it.)69 b(If)39 b Fq(shopt)p @@ -9943,9 +10065,9 @@ g(in)g(a)630 5075 y(format)d(that)g(ma)m(y)g(b)s(e)e(reused)h(as)h (cessing.)64 b(An)m(y)630 5340 y(argumen)m(ts)31 b(after)g(the)f Fs(--)g Ft(are)h(treated)g(as)g(\014lenames)f(and)g(argumen)m(ts.)p eop end -%%Page: 73 79 -TeXDict begin 73 78 bop 150 -116 a Ft(Chapter)30 b(6:)41 -b(Bash)30 b(F)-8 b(eatures)2484 b(73)275 299 y(A)27 b +%%Page: 75 81 +TeXDict begin 75 80 bop 150 -116 a Ft(Chapter)30 b(6:)41 +b(Bash)30 b(F)-8 b(eatures)2484 b(75)275 299 y(A)27 b Fk(lo)-5 b(gin)35 b Ft(shell)27 b(is)g(one)h(whose)f(\014rst)f(c)m (haracter)j(of)e(argumen)m(t)h(zero)f(is)h(`)p Fs(-)p Ft(',)g(or)f(one)g(in)m(v)m(ok)m(ed)i(with)e(the)150 @@ -9958,13 +10080,13 @@ Fs(-c)p Ft(')e(option,)47 b(and)42 b(whose)h(input)f(and)g(output)g b(\(as)h(determined)f(b)m(y)g Fs(isatty\(3\))p Ft(\),)f(or)i(one)f (started)g(with)g(the)g(`)p Fs(-i)p Ft(')g(option.)39 b(See)22 b(Section)h(6.3)150 875 y([In)m(teractiv)m(e)33 -b(Shells],)e(page)g(74,)g(for)f(more)h(information.)275 +b(Shells],)e(page)g(76,)g(for)f(more)h(information.)275 1013 y(If)38 b(argumen)m(ts)h(remain)g(after)g(option)h(pro)s(cessing,) h(and)d(neither)h(the)g(`)p Fs(-c)p Ft(')f(nor)h(the)g(`)p Fs(-s)p Ft(')f(option)150 1123 y(has)33 b(b)s(een)g(supplied,)h(the)g (\014rst)e(argumen)m(t)j(is)e(assumed)g(to)h(b)s(e)f(the)h(name)g(of)g (a)g(\014le)g(con)m(taining)h(shell)150 1232 y(commands)30 -b(\(see)g(Section)h(3.8)g([Shell)f(Scripts],)g(page)h(33\).)41 +b(\(see)g(Section)h(3.8)g([Shell)f(Scripts],)g(page)h(34\).)41 b(When)30 b(Bash)g(is)g(in)m(v)m(ok)m(ed)i(in)d(this)h(fashion,)150 1342 y Fs($0)37 b Ft(is)g(set)h(to)h(the)e(name)h(of)f(the)h(\014le,)i (and)c(the)i(p)s(ositional)g(parameters)g(are)g(set)g(to)g(the)g @@ -9980,8 +10102,8 @@ b(If)26 b(no)g(commands)g(are)h(executed,)150 1671 y(the)k(exit)g (an)h(error.)39 b(Tildes)28 b(are)g(expanded)f(in)h(\014le)g(names)g (as)g(describ)s(ed)e(ab)s(o)m(v)m(e)j(under)150 2287 y(Tilde)h(Expansion)g(\(see)h(Section)h(3.5.2)g([Tilde)e(Expansion],)h -(page)g(19\).)275 2425 y(In)m(teractiv)m(e)h(shells)f(are)g(describ)s -(ed)e(in)h(Section)h(6.3)h([In)m(teractiv)m(e)h(Shells],)d(page)h(74.) +(page)g(20\).)275 2425 y(In)m(teractiv)m(e)h(shells)f(are)g(describ)s +(ed)e(in)h(Section)h(6.3)h([In)m(teractiv)m(e)h(Shells],)d(page)h(76.) 150 2627 y Fj(In)m(v)m(ok)m(ed)40 b(as)h(an)f(in)m(teractiv)m(e)f (login)j(shell,)g(or)g(with)e(`)p Fh(--login)p Fj(')150 2774 y Ft(When)c(Bash)f(is)h(in)m(v)m(ok)m(ed)h(as)f(an)g(in)m @@ -10023,8 +10145,8 @@ y(v)-5 b(ariable)35 b Fs(BASH_ENV)d Ft(in)i(the)h(en)m(vironmen)m(t,)h (of)h(a)f(\014le)h(to)g(read)f(and)g(execute.)42 b(Bash)31 b(b)s(eha)m(v)m(es)g(as)g(if)f(the)g(follo)m(wing)150 5340 y(command)g(w)m(ere)h(executed:)p eop end -%%Page: 74 80 -TeXDict begin 74 79 bop 150 -116 a Ft(74)2572 b(Bash)31 +%%Page: 76 82 +TeXDict begin 76 81 bop 150 -116 a Ft(76)2572 b(Bash)31 b(Reference)g(Man)m(ual)390 299 y Fs(if)47 b([)h(-n)f("$BASH_ENV")e(];) i(then)f(.)i("$BASH_ENV";)c(fi)150 461 y Ft(but)30 b(the)g(v)-5 b(alue)31 b(of)g(the)f Fs(PATH)f Ft(v)-5 b(ariable)32 @@ -10103,9 +10225,9 @@ h(and)e(the)h(e\013ectiv)m(e)j(user)c(id)h(is)g(set)g(to)h(the)f(real)h h(is)g(the)g(same,)i(but)d(the)150 5069 y(e\013ectiv)m(e)c(user)d(id)g (is)g(not)h(reset.)150 5342 y Fr(6.3)68 b(In)l(teractiv)l(e)47 b(Shells)p eop end -%%Page: 75 81 -TeXDict begin 75 80 bop 150 -116 a Ft(Chapter)30 b(6:)41 -b(Bash)30 b(F)-8 b(eatures)2484 b(75)150 299 y Fj(6.3.1)63 +%%Page: 77 83 +TeXDict begin 77 82 bop 150 -116 a Ft(Chapter)30 b(6:)41 +b(Bash)30 b(F)-8 b(eatures)2484 b(77)150 299 y Fj(6.3.1)63 b(What)40 b(is)h(an)g(In)m(teractiv)m(e)e(Shell?)150 446 y Ft(An)c(in)m(teractiv)m(e)k(shell)d(is)g(one)g(started)g(without) f(non-option)h(argumen)m(ts,)i(unless)d(`)p Fs(-s)p Ft(')h(is)f(sp)s @@ -10140,8 +10262,8 @@ b(Shell)k(Beha)m(vior)150 3102 y Ft(When)30 b(the)h(shell)f(is)h (eha)m(vior)f(in)g(sev)m(eral)i(w)m(a)m(ys.)199 3234 y(1.)61 b(Startup)37 b(\014les)g(are)h(read)f(and)g(executed)h(as)f (describ)s(ed)g(in)g(Section)h(6.2)g([Bash)g(Startup)e(Files],)330 -3343 y(page)31 b(73.)199 3475 y(2.)61 b(Job)35 b(Con)m(trol)g(\(see)h -(Chapter)f(7)g([Job)g(Con)m(trol],)i(page)f(89\))g(is)f(enabled)g(b)m +3343 y(page)31 b(75.)199 3475 y(2.)61 b(Job)35 b(Con)m(trol)g(\(see)h +(Chapter)f(7)g([Job)g(Con)m(trol],)i(page)f(91\))g(is)f(enabled)g(b)m (y)g(default.)55 b(When)34 b(job)330 3585 y(con)m(trol)h(is)f(in)f (e\013ect,)k(Bash)d(ignores)g(the)g(k)m(eyb)s(oard-generated)h(job)e (con)m(trol)i(signals)g Fs(SIGTTIN)p Ft(,)330 3694 y @@ -10155,77 +10277,77 @@ Fs(PS2)e Ft(b)s(efore)i(reading)g(the)g(second)f(and)h(subsequen)m(t)f b(of)f(the)h Fs(PROMPT_COMMAND)22 b Ft(v)-5 b(ariable)27 b(as)g(a)f(command)g(b)s(efore)g(prin)m(ting)330 4287 y(the)31 b(primary)e(prompt,)h Fs($PS1)f Ft(\(see)i(Section)g(5.2)h -([Bash)f(V)-8 b(ariables],)32 b(page)f(61\).)199 4419 +([Bash)f(V)-8 b(ariables],)32 b(page)f(63\).)199 4419 y(5.)61 b(Readline)30 b(\(see)h(Chapter)e(8)h([Command)e(Line)i -(Editing],)g(page)g(93\))h(is)f(used)f(to)h(read)f(commands)330 +(Editing],)g(page)g(95\))h(is)f(used)f(to)h(read)f(commands)330 4528 y(from)h(the)g(user's)g(terminal.)199 4660 y(6.)61 b(Bash)36 b(insp)s(ects)g(the)h(v)-5 b(alue)37 b(of)f(the)g Fs(ignoreeof)e Ft(option)j(to)g Fs(set)29 b(-o)36 b Ft(instead)h(of)f (exiting)i(imme-)330 4770 y(diately)f(when)e(it)i(receiv)m(es)h(an)e Fs(EOF)f Ft(on)h(its)g(standard)f(input)g(when)h(reading)g(a)g(command) g(\(see)330 4879 y(Section)31 b(4.3.1)h([The)e(Set)h(Builtin],)g(page)g -(51\).)199 5011 y(7.)61 b(Command)43 b(history)h(\(see)h(Section)g(9.1) -g([Bash)f(History)h(F)-8 b(acilities],)51 b(page)45 b(121\))h(and)d +(53\).)199 5011 y(7.)61 b(Command)43 b(history)h(\(see)h(Section)g(9.1) +g([Bash)f(History)h(F)-8 b(acilities],)51 b(page)45 b(123\))h(and)d (history)330 5121 y(expansion)23 b(\(see)i(Section)f(9.3)h([History)f -(In)m(teraction],)j(page)d(123\))h(are)f(enabled)g(b)m(y)f(default.)39 +(In)m(teraction],)j(page)d(125\))h(are)f(enabled)g(b)m(y)f(default.)39 b(Bash)330 5230 y(will)23 b(sa)m(v)m(e)i(the)e(command)f(history)h(to)h (the)f(\014le)g(named)f(b)m(y)h Fs($HISTFILE)d Ft(when)i(an)h(in)m (teractiv)m(e)j(shell)330 5340 y(exits.)p eop end -%%Page: 76 82 -TeXDict begin 76 81 bop 150 -116 a Ft(76)2572 b(Bash)31 +%%Page: 78 84 +TeXDict begin 78 83 bop 150 -116 a Ft(78)2572 b(Bash)31 b(Reference)g(Man)m(ual)199 299 y(8.)61 b(Alias)31 b(expansion)g(\(see) -g(Section)g(6.6)g([Aliases],)i(page)e(79\))h(is)e(p)s(erformed)f(b)m(y) +g(Section)g(6.6)g([Aliases],)i(page)e(81\))h(is)e(p)s(erformed)f(b)m(y) h(default.)199 431 y(9.)61 b(In)24 b(the)g(absence)h(of)f(an)m(y)h (traps,)g(Bash)g(ignores)f Fs(SIGTERM)f Ft(\(see)i(Section)g(3.7.6)h -([Signals],)g(page)f(32\).)154 563 y(10.)61 b(In)26 b(the)h(absence)h +([Signals],)g(page)f(34\).)154 563 y(10.)61 b(In)26 b(the)h(absence)h (of)f(an)m(y)g(traps,)g Fs(SIGINT)e Ft(is)i(caugh)m(t)h(and)f(handled)e -(\(\(see)k(Section)e(3.7.6)i([Signals],)330 672 y(page)i(32\).)42 +(\(\(see)k(Section)e(3.7.6)i([Signals],)330 672 y(page)i(34\).)42 b Fs(SIGINT)29 b Ft(will)h(in)m(terrupt)g(some)h(shell)g(builtins.)154 804 y(11.)61 b(An)40 b(in)m(teractiv)m(e)j(login)e(shell)g(sends)e(a)i Fs(SIGHUP)d Ft(to)j(all)g(jobs)f(on)g(exit)h(if)g(the)f Fs(huponexit)e Ft(shell)330 914 y(option)31 b(has)f(b)s(een)g(enabled)g -(\(see)h(Section)g(3.7.6)i([Signals],)e(page)g(32\).)154 +(\(see)h(Section)g(3.7.6)i([Signals],)e(page)g(34\).)154 1046 y(12.)61 b(The)26 b(`)p Fs(-n)p Ft(')f(in)m(v)m(o)s(cation)k (option)d(is)g(ignored,)h(and)f(`)p Fs(set)k(-n)p Ft(')25 b(has)h(no)g(e\013ect)i(\(see)e(Section)h(4.3.1)h([The)330 -1155 y(Set)j(Builtin],)g(page)g(51\).)154 1287 y(13.)61 +1155 y(Set)j(Builtin],)g(page)g(53\).)154 1287 y(13.)61 b(Bash)32 b(will)g(c)m(hec)m(k)i(for)e(mail)g(p)s(erio)s(dically)-8 b(,)34 b(dep)s(ending)c(on)i(the)g(v)-5 b(alues)32 b(of)g(the)h Fs(MAIL)p Ft(,)e Fs(MAILPATH)p Ft(,)330 1397 y(and)f Fs(MAILCHECK)e Ft(shell)i(v)-5 b(ariables)31 b(\(see)h(Section)f(5.2)g -([Bash)g(V)-8 b(ariables],)32 b(page)f(61\).)154 1528 +([Bash)g(V)-8 b(ariables],)32 b(page)f(63\).)154 1528 y(14.)61 b(Expansion)32 b(errors)h(due)f(to)i(references)f(to)h(un)m(b) s(ound)c(shell)j(v)-5 b(ariables)34 b(after)g(`)p Fs(set)29 b(-u)p Ft(')k(has)g(b)s(een)330 1638 y(enabled)d(will)h(not)g(cause)g (the)f(shell)h(to)g(exit)g(\(see)g(Section)h(4.3.1)g([The)e(Set)h -(Builtin],)g(page)g(51\).)154 1770 y(15.)61 b(The)48 +(Builtin],)g(page)g(53\).)154 1770 y(15.)61 b(The)48 b(shell)h(will)f(not)h(exit)g(on)g(expansion)f(errors)g(caused)g(b)m(y) h Fq(v)-5 b(ar)54 b Ft(b)s(eing)48 b(unset)g(or)h(n)m(ull)f(in)330 1879 y Fs(${)p Fi(var)11 b Fs(:?)p Fi(word)g Fs(})26 b Ft(expansions)k(\(see)h(Section)h(3.5.3)g([Shell)e(P)m(arameter)i -(Expansion],)e(page)h(19\).)154 2011 y(16.)61 b(Redirection)31 +(Expansion],)e(page)h(21\).)154 2011 y(16.)61 b(Redirection)31 b(errors)f(encoun)m(tered)h(b)m(y)f(shell)h(builtins)f(will)g(not)h (cause)g(the)f(shell)h(to)g(exit.)154 2143 y(17.)61 b(When)26 b(running)f(in)i Fl(posix)e Ft(mo)s(de,)j(a)f(sp)s(ecial)g(builtin)f (returning)g(an)g(error)h(status)g(will)g(not)f(cause)330 2253 y(the)31 b(shell)f(to)h(exit)h(\(see)f(Section)g(6.11)h([Bash)f -(POSIX)e(Mo)s(de],)i(page)g(84\).)154 2385 y(18.)61 b(A)34 +(POSIX)e(Mo)s(de],)i(page)g(86\).)154 2385 y(18.)61 b(A)34 b(failed)g Fs(exec)f Ft(will)h(not)g(cause)g(the)g(shell)g(to)g(exit)h (\(see)f(Section)h(4.1)g([Bourne)f(Shell)f(Builtins],)330 -2494 y(page)e(35\).)154 2626 y(19.)61 b(P)m(arser)31 +2494 y(page)e(37\).)154 2626 y(19.)61 b(P)m(arser)31 b(syn)m(tax)f(errors)g(will)h(not)g(cause)g(the)f(shell)h(to)g(exit.) 154 2758 y(20.)61 b(Simple)21 b(sp)s(elling)h(correction)g(for)g (directory)g(argumen)m(ts)f(to)i(the)e Fs(cd)g Ft(builtin)g(is)h (enabled)f(b)m(y)h(default)330 2868 y(\(see)35 b(the)g(description)f (of)h(the)f Fs(cdspell)f Ft(option)h(to)i(the)e Fs(shopt)f Ft(builtin)h(in)g(Section)h(4.3.2)h([The)330 2977 y(Shopt)30 -b(Builtin],)h(page)g(55\).)154 3109 y(21.)61 b(The)42 +b(Builtin],)h(page)g(57\).)154 3109 y(21.)61 b(The)42 b(shell)h(will)g(c)m(hec)m(k)h(the)f(v)-5 b(alue)43 b(of)f(the)h Fs(TMOUT)e Ft(v)-5 b(ariable)44 b(and)e(exit)h(if)g(a)g(command)f(is)h (not)330 3219 y(read)30 b(within)g(the)g(sp)s(eci\014ed)f(n)m(um)m(b)s (er)g(of)i(seconds)f(after)g(prin)m(ting)g Fs($PS1)f Ft(\(see)i(Section)g(5.2)h([Bash)330 3328 y(V)-8 b(ariables],)32 -b(page)f(61\).)150 3555 y Fr(6.4)68 b(Bash)45 b(Conditional)h +b(page)f(63\).)150 3555 y Fr(6.4)68 b(Bash)45 b(Conditional)h (Expressions)150 3715 y Ft(Conditional)26 b(expressions)g(are)g(used)f (b)m(y)g(the)h Fs([[)f Ft(comp)s(ound)g(command)g(and)g(the)h Fs(test)f Ft(and)g Fs([)g Ft(builtin)150 3824 y(commands.)275 @@ -10256,786 +10378,809 @@ b(and)f(is)g(a)h(blo)s(c)m(k)g(sp)s(ecial)g(\014le.)150 5340 y Fs(-c)f Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31 b(and)f(is)g(a)h(c)m(haracter)h(sp)s(ecial) f(\014le.)p eop end -%%Page: 77 83 -TeXDict begin 77 82 bop 150 -116 a Ft(Chapter)30 b(6:)41 -b(Bash)30 b(F)-8 b(eatures)2484 b(77)150 299 y Fs(-d)30 +%%Page: 79 85 +TeXDict begin 79 84 bop 150 -116 a Ft(Chapter)30 b(6:)41 +b(Bash)30 b(F)-8 b(eatures)2484 b(79)150 299 y Fs(-d)30 b Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31 b(and)f(is)g(a)h(directory)-8 b(.)150 -454 y Fs(-e)30 b Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g -Fq(\014le)36 b Ft(exists.)150 609 y Fs(-f)30 b Fi(file)162 +463 y Fs(-e)30 b Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g +Fq(\014le)36 b Ft(exists.)150 628 y Fs(-f)30 b Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31 -b(and)f(is)g(a)h(regular)f(\014le.)150 765 y Fs(-g)g +b(and)f(is)g(a)h(regular)f(\014le.)150 792 y Fs(-g)g Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31 b(and)f(its)g(set-group-id)h(bit)g(is)f(set.)150 -920 y Fs(-h)g Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 +956 y Fs(-h)g Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31 b(and)f(is)g(a)h(sym)m(b)s(olic)g(link.)150 -1075 y Fs(-k)f Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g +1121 y Fs(-k)f Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31 b(and)f(its)g Fs(")p Ft(stic)m(ky)p -Fs(")h Ft(bit)g(is)f(set.)150 1230 y Fs(-p)g Fi(file)162 +Fs(")h Ft(bit)g(is)f(set.)150 1285 y Fs(-p)g Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31 -b(and)f(is)g(a)h(named)f(pip)s(e)f(\(FIF)m(O\).)150 1386 +b(and)f(is)g(a)h(named)f(pip)s(e)f(\(FIF)m(O\).)150 1450 y Fs(-r)h Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 -b Ft(exists)31 b(and)f(is)g(readable.)150 1541 y Fs(-s)g +b Ft(exists)31 b(and)f(is)g(readable.)150 1614 y Fs(-s)g Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31 b(and)f(has)g(a)g(size)i(greater)f(than)f(zero.)150 -1696 y Fs(-t)g Fi(fd)258 b Ft(T)-8 b(rue)30 b(if)g(\014le)h(descriptor) +1778 y Fs(-t)g Fi(fd)258 b Ft(T)-8 b(rue)30 b(if)g(\014le)h(descriptor) f Fq(fd)j Ft(is)e(op)s(en)e(and)h(refers)g(to)h(a)g(terminal.)150 -1851 y Fs(-u)f Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g +1943 y Fs(-u)f Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31 b(and)f(its)g(set-user-id)h(bit)f(is)h -(set.)150 2007 y Fs(-w)f Fi(file)162 b Ft(T)-8 b(rue)30 +(set.)150 2107 y Fs(-w)f Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31 b(and)f(is)g(writable.)150 -2162 y Fs(-x)g Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g +2271 y Fs(-x)g Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31 b(and)f(is)g(executable.)150 -2317 y Fs(-G)g Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g +2436 y Fs(-G)g Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31 b(and)f(is)g(o)m(wned)g(b)m(y)h(the)f -(e\013ectiv)m(e)j(group)d(id.)150 2472 y Fs(-L)g Fi(file)162 +(e\013ectiv)m(e)j(group)d(id.)150 2600 y Fs(-L)g Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31 -b(and)f(is)g(a)h(sym)m(b)s(olic)g(link.)150 2628 y Fs(-N)f +b(and)f(is)g(a)h(sym)m(b)s(olic)g(link.)150 2765 y Fs(-N)f Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31 b(and)f(has)g(b)s(een)f(mo)s(di\014ed)h(since)g(it)h(w)m -(as)g(last)g(read.)150 2783 y Fs(-O)f Fi(file)162 b Ft(T)-8 +(as)g(last)g(read.)150 2929 y Fs(-O)f Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31 b(and)f(is)g(o)m(wned)g(b)m -(y)h(the)f(e\013ectiv)m(e)j(user)d(id.)150 2938 y Fs(-S)g +(y)h(the)f(e\013ectiv)m(e)j(user)d(id.)150 3093 y Fs(-S)g Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b -Ft(exists)31 b(and)f(is)g(a)h(so)s(c)m(k)m(et.)150 3093 -y Fi(file1)39 b Fs(-ef)30 b Fi(file2)630 3203 y Ft(T)-8 +Ft(exists)31 b(and)f(is)g(a)h(so)s(c)m(k)m(et.)150 3258 +y Fi(file1)39 b Fs(-ef)30 b Fi(file2)630 3367 y Ft(T)-8 b(rue)30 b(if)g Fq(\014le1)38 b Ft(and)30 b Fq(\014le2)38 b Ft(refer)30 b(to)i(the)e(same)h(device)g(and)f(ino)s(de)g(n)m(um)m(b) -s(ers.)150 3358 y Fi(file1)39 b Fs(-nt)30 b Fi(file2)630 -3468 y Ft(T)-8 b(rue)23 b(if)g Fq(\014le1)31 b Ft(is)24 +s(ers.)150 3532 y Fi(file1)39 b Fs(-nt)30 b Fi(file2)630 +3641 y Ft(T)-8 b(rue)23 b(if)g Fq(\014le1)31 b Ft(is)24 b(new)m(er)f(\(according)i(to)f(mo)s(di\014cation)g(date\))g(than)g Fq(\014le2)7 b Ft(,)25 b(or)f(if)f Fq(\014le1)31 b Ft(exists)630 -3577 y(and)f Fq(\014le2)38 b Ft(do)s(es)30 b(not.)150 -3733 y Fi(file1)39 b Fs(-ot)30 b Fi(file2)630 3842 y +3751 y(and)f Fq(\014le2)38 b Ft(do)s(es)30 b(not.)150 +3915 y Fi(file1)39 b Fs(-ot)30 b Fi(file2)630 4025 y Ft(T)-8 b(rue)30 b(if)g Fq(\014le1)38 b Ft(is)31 b(older)f(than)g Fq(\014le2)7 b Ft(,)32 b(or)e(if)h Fq(\014le2)38 b Ft(exists)31 -b(and)e Fq(\014le1)39 b Ft(do)s(es)30 b(not.)150 3998 -y Fs(-o)g Fi(optname)630 4107 y Ft(T)-8 b(rue)41 b(if)g(shell)g(option) -h Fq(optname)47 b Ft(is)41 b(enabled.)73 b(The)41 b(list)h(of)f -(options)g(app)s(ears)g(in)g(the)630 4217 y(description)h(of)f(the)h(`) -p Fs(-o)p Ft(')f(option)h(to)h(the)e Fs(set)g Ft(builtin)g(\(see)i -(Section)f(4.3.1)h([The)f(Set)630 4326 y(Builtin],)31 -b(page)g(51\).)150 4482 y Fs(-z)f Fi(string)630 4591 -y Ft(T)-8 b(rue)30 b(if)g(the)h(length)g(of)f Fq(string)38 -b Ft(is)31 b(zero.)150 4746 y Fs(-n)f Fi(string)150 4856 +b(and)e Fq(\014le1)39 b Ft(do)s(es)30 b(not.)150 4189 +y Fs(-o)g Fi(optname)630 4299 y Ft(T)-8 b(rue)41 b(if)g(the)g(shell)h +(option)f Fq(optname)47 b Ft(is)41 b(enabled.)73 b(The)41 +b(list)h(of)f(options)h(app)s(ears)e(in)630 4408 y(the)30 +b(description)f(of)h(the)g(`)p Fs(-o)p Ft(')f(option)h(to)h(the)e +Fs(set)g Ft(builtin)g(\(see)i(Section)f(4.3.1)h([The)f(Set)630 +4518 y(Builtin],)h(page)g(53\).)150 4682 y Fs(-v)f Fi(varname)630 +4792 y Ft(T)-8 b(rue)30 b(if)g(the)h(shell)f(v)-5 b(ariable)32 +b Fq(v)-5 b(arname)35 b Ft(is)30 b(set)h(\(has)g(b)s(een)e(assigned)i +(a)g(v)-5 b(alue\).)150 4956 y Fs(-z)30 b Fi(string)630 +5066 y Ft(T)-8 b(rue)30 b(if)g(the)h(length)g(of)f Fq(string)38 +b Ft(is)31 b(zero.)150 5230 y Fs(-n)f Fi(string)150 5340 y(string)192 b Ft(T)-8 b(rue)30 b(if)g(the)h(length)g(of)f -Fq(string)38 b Ft(is)31 b(non-zero.)150 5011 y Fi(string1)39 -b Fs(==)30 b Fi(string2)150 5121 y(string1)39 b Fs(=)30 -b Fi(string2)630 5230 y Ft(T)-8 b(rue)35 b(if)h(the)g(strings)g(are)g -(equal.)58 b(`)p Fs(=)p Ft(')36 b(should)f(b)s(e)g(used)g(with)h(the)g -Fs(test)f Ft(command)g(for)630 5340 y Fl(posix)30 b Ft(conformance.)p -eop end -%%Page: 78 84 -TeXDict begin 78 83 bop 150 -116 a Ft(78)2572 b(Bash)31 -b(Reference)g(Man)m(ual)150 299 y Fi(string1)39 b Fs(!=)30 -b Fi(string2)630 408 y Ft(T)-8 b(rue)30 b(if)g(the)h(strings)f(are)h -(not)f(equal.)150 566 y Fi(string1)39 b Fs(<)30 b Fi(string2)630 -675 y Ft(T)-8 b(rue)30 b(if)g Fq(string1)38 b Ft(sorts)31 +Fq(string)38 b Ft(is)31 b(non-zero.)p eop end +%%Page: 80 86 +TeXDict begin 80 85 bop 150 -116 a Ft(80)2572 b(Bash)31 +b(Reference)g(Man)m(ual)150 299 y Fi(string1)39 b Fs(==)30 +b Fi(string2)150 408 y(string1)39 b Fs(=)30 b Fi(string2)630 +518 y Ft(T)-8 b(rue)35 b(if)h(the)g(strings)g(are)g(equal.)58 +b(`)p Fs(=)p Ft(')36 b(should)f(b)s(e)g(used)g(with)h(the)g +Fs(test)f Ft(command)g(for)630 628 y Fl(posix)30 b Ft(conformance.)150 +790 y Fi(string1)39 b Fs(!=)30 b Fi(string2)630 899 y +Ft(T)-8 b(rue)30 b(if)g(the)h(strings)f(are)h(not)f(equal.)150 +1061 y Fi(string1)39 b Fs(<)30 b Fi(string2)630 1171 +y Ft(T)-8 b(rue)30 b(if)g Fq(string1)38 b Ft(sorts)31 b(b)s(efore)f Fq(string2)38 b Ft(lexicographically)-8 -b(.)150 832 y Fi(string1)39 b Fs(>)30 b Fi(string2)630 -942 y Ft(T)-8 b(rue)30 b(if)g Fq(string1)38 b Ft(sorts)31 +b(.)150 1333 y Fi(string1)39 b Fs(>)30 b Fi(string2)630 +1442 y Ft(T)-8 b(rue)30 b(if)g Fq(string1)38 b Ft(sorts)31 b(after)g Fq(string2)38 b Ft(lexicographically)-8 b(.)150 -1099 y Fi(arg1)40 b Fs(OP)29 b Fi(arg2)630 1208 y Fs(OP)k +1604 y Fi(arg1)40 b Fs(OP)29 b Fi(arg2)630 1714 y Fs(OP)k Ft(is)h(one)g(of)h(`)p Fs(-eq)p Ft(',)f(`)p Fs(-ne)p Ft(',)h(`)p Fs(-lt)p Ft(',)g(`)p Fs(-le)p Ft(',)f(`)p Fs(-gt)p Ft(',)h(or)f(`)p Fs(-ge)p Ft('.)51 b(These)34 -b(arithmetic)h(binary)630 1318 y(op)s(erators)h(return)e(true)i(if)f +b(arithmetic)h(binary)630 1823 y(op)s(erators)h(return)e(true)i(if)f Fq(arg1)44 b Ft(is)36 b(equal)g(to,)i(not)e(equal)g(to,)i(less)e(than,) -h(less)f(than)f(or)630 1428 y(equal)28 b(to,)h(greater)g(than,)f(or)f +h(less)f(than)f(or)630 1933 y(equal)28 b(to,)h(greater)g(than,)f(or)f (greater)i(than)e(or)h(equal)g(to)g Fq(arg2)7 b Ft(,)30 b(resp)s(ectiv)m(ely)-8 b(.)41 b Fq(Arg1)36 b Ft(and)630 -1537 y Fq(arg2)j Ft(ma)m(y)30 b(b)s(e)g(p)s(ositiv)m(e)i(or)e(negativ)m -(e)j(in)m(tegers.)150 1767 y Fr(6.5)68 b(Shell)45 b(Arithmetic)150 -1927 y Ft(The)35 b(shell)g(allo)m(ws)i(arithmetic)f(expressions)f(to)h +2043 y Fq(arg2)j Ft(ma)m(y)30 b(b)s(e)g(p)s(ositiv)m(e)i(or)e(negativ)m +(e)j(in)m(tegers.)150 2279 y Fr(6.5)68 b(Shell)45 b(Arithmetic)150 +2438 y Ft(The)35 b(shell)g(allo)m(ws)i(arithmetic)f(expressions)f(to)h (b)s(e)f(ev)-5 b(aluated,)38 b(as)d(one)h(of)f(the)h(shell)f -(expansions)g(or)150 2036 y(b)m(y)30 b(the)h Fs(let)e +(expansions)g(or)150 2548 y(b)m(y)30 b(the)h Fs(let)e Ft(and)h(the)h(`)p Fs(-i)p Ft(')f(option)h(to)g(the)f -Fs(declare)f Ft(builtins.)275 2170 y(Ev)-5 b(aluation)27 +Fs(declare)f Ft(builtins.)275 2685 y(Ev)-5 b(aluation)27 b(is)g(done)f(in)g(\014xed-width)g(in)m(tegers)i(with)e(no)h(c)m(hec)m (k)h(for)e(o)m(v)m(er\015o)m(w,)j(though)d(division)h(b)m(y)150 -2279 y(0)g(is)g(trapp)s(ed)f(and)h(\015agged)g(as)h(an)f(error.)39 +2795 y(0)g(is)g(trapp)s(ed)f(and)h(\015agged)g(as)h(an)f(error.)39 b(The)26 b(op)s(erators)h(and)g(their)g(precedence,)h(asso)s(ciativit)m -(y)-8 b(,)32 b(and)150 2389 y(v)-5 b(alues)35 b(are)h(the)f(same)g(as)h +(y)-8 b(,)32 b(and)150 2904 y(v)-5 b(alues)35 b(are)h(the)f(same)g(as)h (in)e(the)h(C)g(language.)56 b(The)35 b(follo)m(wing)h(list)g(of)f(op)s -(erators)g(is)g(group)s(ed)f(in)m(to)150 2498 y(lev)m(els)27 +(erators)g(is)g(group)s(ed)f(in)m(to)150 3014 y(lev)m(els)27 b(of)f(equal-precedence)i(op)s(erators.)39 b(The)25 b(lev)m(els)j(are)e (listed)h(in)e(order)h(of)g(decreasing)g(precedence.)150 -2655 y Fi(id)11 b Fs(++)29 b Fi(id)11 b Fs(--)630 2765 +3177 y Fi(id)11 b Fs(++)29 b Fi(id)11 b Fs(--)630 3287 y Ft(v)-5 b(ariable)31 b(p)s(ost-incremen)m(t)g(and)f(p)s(ost-decremen) -m(t)150 2922 y Fs(++)p Fi(id)40 b Fs(--)p Fi(id)630 3032 +m(t)150 3449 y Fs(++)p Fi(id)40 b Fs(--)p Fi(id)630 3558 y Ft(v)-5 b(ariable)31 b(pre-incremen)m(t)g(and)f(pre-decremen)m(t)150 -3189 y Fs(-)g(+)354 b Ft(unary)29 b(min)m(us)h(and)g(plus)150 -3346 y Fs(!)g(~)354 b Ft(logical)33 b(and)d(bit)m(wise)h(negation)150 -3503 y Fs(**)384 b Ft(exp)s(onen)m(tiation)150 3660 y +3720 y Fs(-)g(+)354 b Ft(unary)29 b(min)m(us)h(and)g(plus)150 +3882 y Fs(!)g(~)354 b Ft(logical)33 b(and)d(bit)m(wise)h(negation)150 +4044 y Fs(**)384 b Ft(exp)s(onen)m(tiation)150 4206 y Fs(*)30 b(/)g(\045)276 b Ft(m)m(ultiplication,)33 b(division,)d -(remainder)150 3817 y Fs(+)g(-)354 b Ft(addition,)31 -b(subtraction)150 3974 y Fs(<<)f(>>)258 b Ft(left)31 -b(and)f(righ)m(t)h(bit)m(wise)g(shifts)150 4131 y Fs(<=)f(>=)g(<)g(>) -102 b Ft(comparison)150 4288 y Fs(==)30 b(!=)258 b Ft(equalit)m(y)32 -b(and)e(inequalit)m(y)150 4445 y Fs(&)432 b Ft(bit)m(wise)31 -b(AND)150 4602 y Fs(^)432 b Ft(bit)m(wise)31 b(exclusiv)m(e)h(OR)150 -4759 y Fs(|)432 b Ft(bit)m(wise)31 b(OR)150 4916 y Fs(&&)384 -b Ft(logical)33 b(AND)150 5073 y Fs(||)384 b Ft(logical)33 -b(OR)150 5230 y Fs(expr)c(?)h(expr)f(:)h(expr)630 5340 -y Ft(conditional)i(op)s(erator)p eop end -%%Page: 79 85 -TeXDict begin 79 84 bop 150 -116 a Ft(Chapter)30 b(6:)41 -b(Bash)30 b(F)-8 b(eatures)2484 b(79)150 299 y Fs(=)30 -b(*=)g(/=)g(\045=)f(+=)h(-=)g(<<=)f(>>=)h(&=)g(^=)f(|=)630 -408 y Ft(assignmen)m(t)150 567 y Fs(expr1)g(,)h(expr2)630 -676 y Ft(comma)275 834 y(Shell)38 b(v)-5 b(ariables)39 -b(are)g(allo)m(w)m(ed)i(as)e(op)s(erands;)i(parameter)e(expansion)g(is) -f(p)s(erformed)g(b)s(efore)g(the)150 944 y(expression)g(is)g(ev)-5 -b(aluated.)66 b(Within)38 b(an)h(expression,)h(shell)e(v)-5 -b(ariables)39 b(ma)m(y)g(also)g(b)s(e)f(referenced)g(b)m(y)150 -1053 y(name)31 b(without)f(using)g(the)h(parameter)g(expansion)f(syn)m -(tax.)42 b(A)31 b(shell)f(v)-5 b(ariable)32 b(that)f(is)f(n)m(ull)h(or) -f(unset)150 1163 y(ev)-5 b(aluates)41 b(to)f(0)g(when)e(referenced)h(b) -m(y)g(name)h(without)f(using)g(the)g(parameter)h(expansion)f(syn)m -(tax.)150 1273 y(The)c(v)-5 b(alue)37 b(of)f(a)h(v)-5 -b(ariable)36 b(is)g(ev)-5 b(aluated)38 b(as)e(an)g(arithmetic)h -(expression)f(when)f(it)h(is)g(referenced,)i(or)150 1382 -y(when)31 b(a)i(v)-5 b(ariable)33 b(whic)m(h)f(has)g(b)s(een)f(giv)m -(en)j(the)e Fq(in)m(teger)40 b Ft(attribute)33 b(using)f(`)p -Fs(declare)d(-i)p Ft(')i(is)i(assigned)150 1492 y(a)k(v)-5 -b(alue.)58 b(A)36 b(n)m(ull)g(v)-5 b(alue)37 b(ev)-5 -b(aluates)38 b(to)f(0.)58 b(A)36 b(shell)h(v)-5 b(ariable)36 -b(need)g(not)h(ha)m(v)m(e)g(its)g(in)m(teger)g(attribute)150 -1601 y(turned)29 b(on)h(to)i(b)s(e)d(used)h(in)g(an)g(expression.)275 -1735 y(Constan)m(ts)41 b(with)g(a)h(leading)f(0)h(are)g(in)m(terpreted) -f(as)g(o)s(ctal)i(n)m(um)m(b)s(ers.)72 b(A)41 b(leading)h(`)p -Fs(0x)p Ft(')f(or)g(`)p Fs(0X)p Ft(')150 1845 y(denotes)31 -b(hexadecimal.)42 b(Otherwise,)30 b(n)m(um)m(b)s(ers)f(tak)m(e)j(the)f -(form)f([)p Fq(base)5 b Fs(#)p Ft(])p Fq(n)p Ft(,)31 -b(where)f(the)g(optional)i Fq(base)150 1954 y Ft(is)d(a)h(decimal)g(n)m -(um)m(b)s(er)e(b)s(et)m(w)m(een)h(2)h(and)e(64)i(represen)m(ting)g(the) -f(arithmetic)i(base,)e(and)g Fq(n)g Ft(is)g(a)g(n)m(um)m(b)s(er)150 -2064 y(in)41 b(that)i(base.)74 b(If)42 b Fq(base)5 b -Fs(#)41 b Ft(is)h(omitted,)k(then)41 b(base)h(10)g(is)g(used.)74 -b(The)41 b(digits)h(greater)h(than)e(9)i(are)150 2174 -y(represen)m(ted)38 b(b)m(y)f(the)h(lo)m(w)m(ercase)j(letters,)g(the)d -(upp)s(ercase)f(letters,)k(`)p Fs(@)p Ft(',)f(and)d(`)p -Fs(_)p Ft(',)j(in)d(that)i(order.)62 b(If)150 2283 y -Fq(base)28 b Ft(is)22 b(less)h(than)f(or)h(equal)f(to)i(36,)h(lo)m(w)m -(ercase)g(and)c(upp)s(ercase)h(letters)i(ma)m(y)f(b)s(e)e(used)h(in)m -(terc)m(hangeably)150 2393 y(to)31 b(represen)m(t)g(n)m(um)m(b)s(ers)d -(b)s(et)m(w)m(een)j(10)h(and)d(35.)275 2527 y(Op)s(erators)44 -b(are)h(ev)-5 b(aluated)46 b(in)f(order)f(of)h(precedence.)85 -b(Sub-expressions)44 b(in)g(paren)m(theses)i(are)150 -2636 y(ev)-5 b(aluated)32 b(\014rst)d(and)h(ma)m(y)h(o)m(v)m(erride)g -(the)g(precedence)g(rules)f(ab)s(o)m(v)m(e.)150 2867 -y Fr(6.6)68 b(Aliases)150 3027 y Fq(Aliases)41 b Ft(allo)m(w)d(a)f +(remainder)150 4368 y Fs(+)g(-)354 b Ft(addition,)31 +b(subtraction)150 4530 y Fs(<<)f(>>)258 b Ft(left)31 +b(and)f(righ)m(t)h(bit)m(wise)g(shifts)150 4692 y Fs(<=)f(>=)g(<)g(>) +102 b Ft(comparison)150 4854 y Fs(==)30 b(!=)258 b Ft(equalit)m(y)32 +b(and)e(inequalit)m(y)150 5016 y Fs(&)432 b Ft(bit)m(wise)31 +b(AND)150 5178 y Fs(^)432 b Ft(bit)m(wise)31 b(exclusiv)m(e)h(OR)150 +5340 y Fs(|)432 b Ft(bit)m(wise)31 b(OR)p eop end +%%Page: 81 87 +TeXDict begin 81 86 bop 150 -116 a Ft(Chapter)30 b(6:)41 +b(Bash)30 b(F)-8 b(eatures)2484 b(81)150 299 y Fs(&&)384 +b Ft(logical)33 b(AND)150 446 y Fs(||)384 b Ft(logical)33 +b(OR)150 592 y Fs(expr)c(?)h(expr)f(:)h(expr)630 702 +y Ft(conditional)i(op)s(erator)150 849 y Fs(=)e(*=)g(/=)g(\045=)f(+=)h +(-=)g(<<=)f(>>=)h(&=)g(^=)f(|=)630 958 y Ft(assignmen)m(t)150 +1105 y Fs(expr1)g(,)h(expr2)630 1214 y Ft(comma)275 1361 +y(Shell)38 b(v)-5 b(ariables)39 b(are)g(allo)m(w)m(ed)i(as)e(op)s +(erands;)i(parameter)e(expansion)g(is)f(p)s(erformed)g(b)s(efore)g(the) +150 1471 y(expression)g(is)g(ev)-5 b(aluated.)66 b(Within)38 +b(an)h(expression,)h(shell)e(v)-5 b(ariables)39 b(ma)m(y)g(also)g(b)s +(e)f(referenced)g(b)m(y)150 1580 y(name)31 b(without)f(using)g(the)h +(parameter)g(expansion)f(syn)m(tax.)42 b(A)31 b(shell)f(v)-5 +b(ariable)32 b(that)f(is)f(n)m(ull)h(or)f(unset)150 1690 +y(ev)-5 b(aluates)41 b(to)f(0)g(when)e(referenced)h(b)m(y)g(name)h +(without)f(using)g(the)g(parameter)h(expansion)f(syn)m(tax.)150 +1800 y(The)c(v)-5 b(alue)37 b(of)f(a)h(v)-5 b(ariable)36 +b(is)g(ev)-5 b(aluated)38 b(as)e(an)g(arithmetic)h(expression)f(when)f +(it)h(is)g(referenced,)i(or)150 1909 y(when)31 b(a)i(v)-5 +b(ariable)33 b(whic)m(h)f(has)g(b)s(een)f(giv)m(en)j(the)e +Fq(in)m(teger)40 b Ft(attribute)33 b(using)f(`)p Fs(declare)d(-i)p +Ft(')i(is)i(assigned)150 2019 y(a)k(v)-5 b(alue.)58 b(A)36 +b(n)m(ull)g(v)-5 b(alue)37 b(ev)-5 b(aluates)38 b(to)f(0.)58 +b(A)36 b(shell)h(v)-5 b(ariable)36 b(need)g(not)h(ha)m(v)m(e)g(its)g +(in)m(teger)g(attribute)150 2128 y(turned)29 b(on)h(to)i(b)s(e)d(used)h +(in)g(an)g(expression.)275 2256 y(Constan)m(ts)41 b(with)g(a)h(leading) +f(0)h(are)g(in)m(terpreted)f(as)g(o)s(ctal)i(n)m(um)m(b)s(ers.)72 +b(A)41 b(leading)h(`)p Fs(0x)p Ft(')f(or)g(`)p Fs(0X)p +Ft(')150 2366 y(denotes)31 b(hexadecimal.)42 b(Otherwise,)30 +b(n)m(um)m(b)s(ers)f(tak)m(e)j(the)f(form)f([)p Fq(base)5 +b Fs(#)p Ft(])p Fq(n)p Ft(,)31 b(where)f(the)g(optional)i +Fq(base)150 2476 y Ft(is)d(a)h(decimal)g(n)m(um)m(b)s(er)e(b)s(et)m(w)m +(een)h(2)h(and)e(64)i(represen)m(ting)g(the)f(arithmetic)i(base,)e(and) +g Fq(n)g Ft(is)g(a)g(n)m(um)m(b)s(er)150 2585 y(in)41 +b(that)i(base.)74 b(If)42 b Fq(base)5 b Fs(#)41 b Ft(is)h(omitted,)k +(then)41 b(base)h(10)g(is)g(used.)74 b(The)41 b(digits)h(greater)h +(than)e(9)i(are)150 2695 y(represen)m(ted)38 b(b)m(y)f(the)h(lo)m(w)m +(ercase)j(letters,)g(the)d(upp)s(ercase)f(letters,)k(`)p +Fs(@)p Ft(',)f(and)d(`)p Fs(_)p Ft(',)j(in)d(that)i(order.)62 +b(If)150 2804 y Fq(base)28 b Ft(is)22 b(less)h(than)f(or)h(equal)f(to)i +(36,)h(lo)m(w)m(ercase)g(and)c(upp)s(ercase)h(letters)i(ma)m(y)f(b)s(e) +e(used)h(in)m(terc)m(hangeably)150 2914 y(to)31 b(represen)m(t)g(n)m +(um)m(b)s(ers)d(b)s(et)m(w)m(een)j(10)h(and)d(35.)275 +3042 y(Op)s(erators)44 b(are)h(ev)-5 b(aluated)46 b(in)f(order)f(of)h +(precedence.)85 b(Sub-expressions)44 b(in)g(paren)m(theses)i(are)150 +3152 y(ev)-5 b(aluated)32 b(\014rst)d(and)h(ma)m(y)h(o)m(v)m(erride)g +(the)g(precedence)g(rules)f(ab)s(o)m(v)m(e.)150 3371 +y Fr(6.6)68 b(Aliases)150 3531 y Fq(Aliases)41 b Ft(allo)m(w)d(a)f (string)f(to)h(b)s(e)f(substituted)g(for)g(a)g(w)m(ord)g(when)g(it)h (is)f(used)f(as)i(the)g(\014rst)e(w)m(ord)h(of)h(a)150 -3136 y(simple)32 b(command.)45 b(The)31 b(shell)i(main)m(tains)f(a)h +3640 y(simple)32 b(command.)45 b(The)31 b(shell)i(main)m(tains)f(a)h (list)f(of)g(aliases)i(that)e(ma)m(y)h(b)s(e)e(set)h(and)g(unset)f -(with)h(the)150 3246 y Fs(alias)d Ft(and)h Fs(unalias)e -Ft(builtin)i(commands.)275 3380 y(The)f(\014rst)f(w)m(ord)i(of)f(eac)m +(with)h(the)150 3750 y Fs(alias)d Ft(and)h Fs(unalias)e +Ft(builtin)i(commands.)275 3878 y(The)f(\014rst)f(w)m(ord)i(of)f(eac)m (h)i(simple)f(command,)g(if)f(unquoted,)g(is)h(c)m(hec)m(k)m(ed)h(to)g -(see)f(if)g(it)g(has)f(an)g(alias.)150 3489 y(If)24 b(so,)i(that)g(w)m +(see)f(if)g(it)g(has)f(an)g(alias.)150 3988 y(If)24 b(so,)i(that)g(w)m (ord)e(is)h(replaced)g(b)m(y)f(the)h(text)h(of)e(the)h(alias.)40 b(The)24 b(c)m(haracters)i(`)p Fs(/)p Ft(',)h(`)p Fs($)p Ft(',)f(`)p Fs(`)p Ft(',)g(`)p Fs(=)p Ft(')f(and)f(an)m(y)h(of)150 -3599 y(the)e(shell)g(metac)m(haracters)i(or)e(quoting)g(c)m(haracters)h +4097 y(the)e(shell)g(metac)m(haracters)i(or)e(quoting)g(c)m(haracters)h (listed)g(ab)s(o)m(v)m(e)g(ma)m(y)f(not)g(app)s(ear)f(in)h(an)g(alias)h -(name.)150 3709 y(The)e(replacemen)m(t)h(text)g(ma)m(y)g(con)m(tain)h +(name.)150 4207 y(The)e(replacemen)m(t)h(text)g(ma)m(y)g(con)m(tain)h (an)m(y)e(v)-5 b(alid)23 b(shell)f(input,)h(including)f(shell)g(metac)m -(haracters.)40 b(The)150 3818 y(\014rst)35 b(w)m(ord)g(of)h(the)g +(haracters.)40 b(The)150 4317 y(\014rst)35 b(w)m(ord)g(of)h(the)g (replacemen)m(t)i(text)e(is)g(tested)h(for)e(aliases,)k(but)c(a)h(w)m -(ord)g(that)g(is)g(iden)m(tical)i(to)e(an)150 3928 y(alias)c(b)s(eing)f +(ord)g(that)g(is)g(iden)m(tical)i(to)e(an)150 4426 y(alias)c(b)s(eing)f (expanded)f(is)h(not)g(expanded)f(a)h(second)g(time.)43 b(This)30 b(means)h(that)g(one)g(ma)m(y)h(alias)g Fs(ls)e -Ft(to)150 4037 y Fs("ls)f(-F")p Ft(,)36 b(for)f(instance,)i(and)d(Bash) +Ft(to)150 4536 y Fs("ls)f(-F")p Ft(,)36 b(for)f(instance,)i(and)d(Bash) h(do)s(es)g(not)g(try)g(to)g(recursiv)m(ely)h(expand)e(the)h -(replacemen)m(t)i(text.)150 4147 y(If)31 b(the)h(last)h(c)m(haracter)g +(replacemen)m(t)i(text.)150 4645 y(If)31 b(the)h(last)h(c)m(haracter)g (of)f(the)g(alias)h(v)-5 b(alue)32 b(is)g(a)g(space)g(or)g(tab)g(c)m -(haracter,)i(then)d(the)h(next)g(command)150 4257 y(w)m(ord)e(follo)m +(haracter,)i(then)d(the)h(next)g(command)150 4755 y(w)m(ord)e(follo)m (wing)i(the)e(alias)i(is)e(also)i(c)m(hec)m(k)m(ed)g(for)e(alias)i -(expansion.)275 4390 y(Aliases)d(are)f(created)i(and)d(listed)i(with)f +(expansion.)275 4883 y(Aliases)d(are)f(created)i(and)d(listed)i(with)f (the)g Fs(alias)f Ft(command,)h(and)g(remo)m(v)m(ed)h(with)f(the)g -Fs(unalias)150 4500 y Ft(command.)275 4634 y(There)44 +Fs(unalias)150 4993 y Ft(command.)275 5121 y(There)44 b(is)h(no)g(mec)m(hanism)g(for)f(using)h(argumen)m(ts)g(in)f(the)h (replacemen)m(t)i(text,)i(as)d(in)e Fs(csh)p Ft(.)83 -b(If)150 4743 y(argumen)m(ts)37 b(are)h(needed,)g(a)g(shell)f(function) +b(If)150 5230 y(argumen)m(ts)37 b(are)h(needed,)g(a)g(shell)f(function) f(should)g(b)s(e)h(used)f(\(see)i(Section)g(3.3)g([Shell)f(F)-8 -b(unctions],)150 4853 y(page)31 b(14\).)275 4987 y(Aliases)i(are)h(not) -e(expanded)g(when)g(the)h(shell)g(is)g(not)g(in)m(teractiv)m(e,)j -(unless)c(the)h Fs(expand_aliases)150 5097 y Ft(shell)e(option)f(is)h -(set)g(using)f Fs(shopt)f Ft(\(see)i(Section)g(4.3.2)h([The)e(Shopt)g -(Builtin],)h(page)g(55\).)275 5230 y(The)38 b(rules)h(concerning)h(the) -f(de\014nition)g(and)g(use)g(of)g(aliases)i(are)e(somewhat)h -(confusing.)67 b(Bash)150 5340 y(alw)m(a)m(ys)42 b(reads)f(at)h(least)g -(one)f(complete)i(line)e(of)g(input)f(b)s(efore)h(executing)h(an)m(y)f -(of)g(the)g(commands)p eop end -%%Page: 80 86 -TeXDict begin 80 85 bop 150 -116 a Ft(80)2572 b(Bash)31 -b(Reference)g(Man)m(ual)150 299 y(on)42 b(that)h(line.)77 -b(Aliases)44 b(are)e(expanded)g(when)f(a)i(command)f(is)g(read,)k(not)c -(when)g(it)g(is)h(executed.)150 408 y(Therefore,)f(an)e(alias)h -(de\014nition)e(app)s(earing)h(on)f(the)h(same)h(line)f(as)g(another)g -(command)f(do)s(es)h(not)150 518 y(tak)m(e)31 b(e\013ect)f(un)m(til)g -(the)f(next)g(line)h(of)f(input)f(is)h(read.)41 b(The)28 -b(commands)h(follo)m(wing)i(the)e(alias)h(de\014nition)150 -628 y(on)d(that)h(line)f(are)h(not)f(a\013ected)i(b)m(y)e(the)g(new)g -(alias.)41 b(This)26 b(b)s(eha)m(vior)h(is)g(also)h(an)f(issue)g(when)f -(functions)150 737 y(are)d(executed.)39 b(Aliases)24 -b(are)f(expanded)f(when)f(a)i(function)g(de\014nition)f(is)h(read,)h -(not)f(when)e(the)i(function)150 847 y(is)i(executed,)j(b)s(ecause)d(a) -h(function)f(de\014nition)f(is)i(itself)g(a)f(comp)s(ound)f(command.)39 -b(As)25 b(a)h(consequence,)150 956 y(aliases)36 b(de\014ned)d(in)h(a)g -(function)g(are)h(not)f(a)m(v)-5 b(ailable)37 b(un)m(til)d(after)h -(that)g(function)f(is)g(executed.)53 b(T)-8 b(o)35 b(b)s(e)150 -1066 y(safe,)41 b(alw)m(a)m(ys)f(put)d(alias)j(de\014nitions)e(on)g(a)h -(separate)g(line,)i(and)d(do)g(not)g(use)g Fs(alias)f -Ft(in)h(comp)s(ound)150 1176 y(commands.)275 1313 y(F)-8 -b(or)31 b(almost)g(ev)m(ery)g(purp)s(ose,)e(shell)i(functions)f(are)g -(preferred)g(o)m(v)m(er)h(aliases.)150 1551 y Fr(6.7)68 -b(Arra)l(ys)150 1710 y Ft(Bash)33 b(pro)m(vides)g(one-dimensional)g -(indexed)f(and)h(asso)s(ciativ)m(e)i(arra)m(y)e(v)-5 +b(unctions],)150 5340 y(page)31 b(15\).)p eop end +%%Page: 82 88 +TeXDict begin 82 87 bop 150 -116 a Ft(82)2572 b(Bash)31 +b(Reference)g(Man)m(ual)275 299 y(Aliases)i(are)h(not)e(expanded)g +(when)g(the)h(shell)g(is)g(not)g(in)m(teractiv)m(e,)j(unless)c(the)h +Fs(expand_aliases)150 408 y Ft(shell)e(option)f(is)h(set)g(using)f +Fs(shopt)f Ft(\(see)i(Section)g(4.3.2)h([The)e(Shopt)g(Builtin],)h +(page)g(57\).)275 540 y(The)38 b(rules)h(concerning)h(the)f +(de\014nition)g(and)g(use)g(of)g(aliases)i(are)e(somewhat)h(confusing.) +67 b(Bash)150 650 y(alw)m(a)m(ys)42 b(reads)f(at)h(least)g(one)f +(complete)i(line)e(of)g(input)f(b)s(efore)h(executing)h(an)m(y)f(of)g +(the)g(commands)150 760 y(on)h(that)h(line.)77 b(Aliases)44 +b(are)e(expanded)g(when)f(a)i(command)f(is)g(read,)k(not)c(when)g(it)g +(is)h(executed.)150 869 y(Therefore,)f(an)e(alias)h(de\014nition)e(app) +s(earing)h(on)f(the)h(same)h(line)f(as)g(another)g(command)f(do)s(es)h +(not)150 979 y(tak)m(e)31 b(e\013ect)f(un)m(til)g(the)f(next)g(line)h +(of)f(input)f(is)h(read.)41 b(The)28 b(commands)h(follo)m(wing)i(the)e +(alias)h(de\014nition)150 1088 y(on)d(that)h(line)f(are)h(not)f +(a\013ected)i(b)m(y)e(the)g(new)g(alias.)41 b(This)26 +b(b)s(eha)m(vior)h(is)g(also)h(an)f(issue)g(when)f(functions)150 +1198 y(are)d(executed.)39 b(Aliases)24 b(are)f(expanded)f(when)f(a)i +(function)g(de\014nition)f(is)h(read,)h(not)f(when)e(the)i(function)150 +1308 y(is)i(executed,)j(b)s(ecause)d(a)h(function)f(de\014nition)f(is)i +(itself)g(a)f(comp)s(ound)f(command.)39 b(As)25 b(a)h(consequence,)150 +1417 y(aliases)36 b(de\014ned)d(in)h(a)g(function)g(are)h(not)f(a)m(v) +-5 b(ailable)37 b(un)m(til)d(after)h(that)g(function)f(is)g(executed.) +53 b(T)-8 b(o)35 b(b)s(e)150 1527 y(safe,)41 b(alw)m(a)m(ys)f(put)d +(alias)j(de\014nitions)e(on)g(a)h(separate)g(line,)i(and)d(do)g(not)g +(use)g Fs(alias)f Ft(in)h(comp)s(ound)150 1636 y(commands.)275 +1768 y(F)-8 b(or)31 b(almost)g(ev)m(ery)g(purp)s(ose,)e(shell)i +(functions)f(are)g(preferred)g(o)m(v)m(er)h(aliases.)150 +1996 y Fr(6.7)68 b(Arra)l(ys)150 2155 y Ft(Bash)33 b(pro)m(vides)g +(one-dimensional)g(indexed)f(and)h(asso)s(ciativ)m(e)i(arra)m(y)e(v)-5 b(ariables.)49 b(An)m(y)33 b(v)-5 b(ariable)33 b(ma)m(y)150 -1820 y(b)s(e)e(used)h(as)g(an)g(indexed)f(arra)m(y;)j(the)e +2265 y(b)s(e)e(used)h(as)g(an)g(indexed)f(arra)m(y;)j(the)e Fs(declare)e Ft(builtin)h(will)i(explicitly)g(declare)g(an)f(arra)m(y) --8 b(.)46 b(There)32 b(is)150 1929 y(no)h(maxim)m(um)g(limit)h(on)f +-8 b(.)46 b(There)32 b(is)150 2374 y(no)h(maxim)m(um)g(limit)h(on)f (the)g(size)h(of)g(an)f(arra)m(y)-8 b(,)35 b(nor)d(an)m(y)i(requiremen) -m(t)f(that)h(mem)m(b)s(ers)e(b)s(e)g(indexed)150 2039 +m(t)f(that)h(mem)m(b)s(ers)e(b)s(e)g(indexed)150 2484 y(or)26 b(assigned)h(con)m(tiguously)-8 b(.)41 b(Indexed)25 b(arra)m(ys)i(are)f(referenced)g(using)g(in)m(tegers)i(\(including)e -(arithmetic)150 2149 y(expressions)41 b(\(see)h(Section)g(6.5)h([Shell) -e(Arithmetic],)46 b(page)c(78\))g(and)f(are)g(zero-based;)48 -b(asso)s(ciativ)m(e)150 2258 y(arra)m(ys)31 b(use)f(arbitrary)g -(strings.)275 2396 y(An)c(indexed)h(arra)m(y)h(is)f(created)h +(arithmetic)150 2593 y(expressions)41 b(\(see)h(Section)g(6.5)h([Shell) +e(Arithmetic],)46 b(page)c(80\))g(and)f(are)g(zero-based;)48 +b(asso)s(ciativ)m(e)150 2703 y(arra)m(ys)31 b(use)f(arbitrary)g +(strings.)275 2835 y(An)c(indexed)h(arra)m(y)h(is)f(created)h (automatically)j(if)c(an)m(y)g(v)-5 b(ariable)28 b(is)g(assigned)f(to)h -(using)f(the)g(syn)m(tax)390 2534 y Fs(name[)p Fi(subscript)11 -b Fs(]=)p Fi(value)150 2672 y Ft(The)25 b Fq(subscript)g +(using)f(the)g(syn)m(tax)390 2967 y Fs(name[)p Fi(subscript)11 +b Fs(]=)p Fi(value)150 3099 y Ft(The)25 b Fq(subscript)g Ft(is)h(treated)g(as)f(an)g(arithmetic)h(expression)f(that)h(m)m(ust)f (ev)-5 b(aluate)27 b(to)e(a)h(n)m(um)m(b)s(er)e(greater)150 -2781 y(than)30 b(or)g(equal)h(to)g(zero.)42 b(T)-8 b(o)31 +3208 y(than)30 b(or)g(equal)h(to)g(zero.)42 b(T)-8 b(o)31 b(explicitly)h(declare)f(an)f(arra)m(y)-8 b(,)32 b(use)390 -2919 y Fs(declare)46 b(-a)h Fi(name)150 3057 y Ft(The)30 -b(syn)m(tax)390 3195 y Fs(declare)46 b(-a)h Fi(name)11 -b Fs([)p Fi(subscript)g Fs(])150 3333 y Ft(is)30 b(also)i(accepted;)g -(the)e Fq(subscript)h Ft(is)g(ignored.)275 3470 y(Asso)s(ciativ)m(e)h -(arra)m(ys)f(are)g(created)g(using)390 3608 y Fs(declare)46 -b(-A)h Fi(name)11 b Fs(.)275 3746 y Ft(A)m(ttributes)46 +3340 y Fs(declare)46 b(-a)h Fi(name)150 3472 y Ft(The)30 +b(syn)m(tax)390 3604 y Fs(declare)46 b(-a)h Fi(name)11 +b Fs([)p Fi(subscript)g Fs(])150 3736 y Ft(is)30 b(also)i(accepted;)g +(the)e Fq(subscript)h Ft(is)g(ignored.)275 3868 y(Asso)s(ciativ)m(e)h +(arra)m(ys)f(are)g(created)g(using)390 4000 y Fs(declare)46 +b(-A)h Fi(name)11 b Fs(.)275 4132 y Ft(A)m(ttributes)46 b(ma)m(y)h(b)s(e)e(sp)s(eci\014ed)g(for)h(an)g(arra)m(y)g(v)-5 b(ariable)47 b(using)e(the)h Fs(declare)e Ft(and)h Fs(readonly)150 -3856 y Ft(builtins.)40 b(Eac)m(h)31 b(attribute)g(applies)g(to)g(all)g -(mem)m(b)s(ers)f(of)g(an)h(arra)m(y)-8 b(.)275 3993 y(Arra)m(ys)30 +4242 y Ft(builtins.)40 b(Eac)m(h)31 b(attribute)g(applies)g(to)g(all)g +(mem)m(b)s(ers)f(of)g(an)h(arra)m(y)-8 b(.)275 4374 y(Arra)m(ys)30 b(are)h(assigned)f(to)h(using)f(comp)s(ound)f(assignmen)m(ts)i(of)g -(the)f(form)390 4131 y Fs(name=\(value)p Fi(1)55 b Fs(...)47 -b(value)p Fi(n)11 b Fs(\))150 4269 y Ft(where)37 b(eac)m(h)i +(the)f(form)390 4506 y Fs(name=\(value)p Fi(1)55 b Fs(...)47 +b(value)p Fi(n)11 b Fs(\))150 4638 y Ft(where)37 b(eac)m(h)i Fq(v)-5 b(alue)42 b Ft(is)c(of)g(the)f(form)g Fs([)p Fi(subscript)11 b Fs(]=)p Fq(string)d Ft(.)58 b(Indexed)36 -b(arra)m(y)i(assignmen)m(ts)g(do)g(not)150 4379 y(require)c(the)g(brac) +b(arra)m(y)i(assignmen)m(ts)g(do)g(not)150 4747 y(require)c(the)g(brac) m(k)m(et)h(and)e(subscript.)50 b(When)34 b(assigning)g(to)g(indexed)g -(arra)m(ys,)h(if)f(the)g(optional)h(sub-)150 4488 y(script)c(is)h +(arra)m(ys,)h(if)f(the)g(optional)h(sub-)150 4857 y(script)c(is)h (supplied,)f(that)h(index)f(is)h(assigned)g(to;)h(otherwise)f(the)f -(index)h(of)f(the)h(elemen)m(t)h(assigned)f(is)150 4598 +(index)h(of)f(the)h(elemen)m(t)h(assigned)f(is)150 4966 y(the)f(last)g(index)f(assigned)g(to)h(b)m(y)g(the)f(statemen)m(t)i (plus)e(one.)41 b(Indexing)30 b(starts)g(at)i(zero.)275 -4736 y(When)e(assigning)h(to)g(an)f(asso)s(ciativ)m(e)j(arra)m(y)-8 -b(,)32 b(the)e(subscript)f(is)i(required.)275 4873 y(This)f(syn)m(tax)j +5098 y(When)e(assigning)h(to)g(an)f(asso)s(ciativ)m(e)j(arra)m(y)-8 +b(,)32 b(the)e(subscript)f(is)i(required.)275 5230 y(This)f(syn)m(tax)j (is)e(also)i(accepted)g(b)m(y)f(the)f Fs(declare)f Ft(builtin.)44 b(Individual)31 b(arra)m(y)h(elemen)m(ts)h(ma)m(y)g(b)s(e)150 -4983 y(assigned)e(to)g(using)f(the)g Fs(name[)p Fq(subscript)r +5340 y(assigned)e(to)g(using)f(the)g Fs(name[)p Fq(subscript)r Fs(]=)p Fq(v)-5 b(alue)33 b Ft(syn)m(tax)e(in)m(tro)s(duced)f(ab)s(o)m -(v)m(e.)275 5121 y(An)m(y)j(elemen)m(t)i(of)f(an)f(arra)m(y)h(ma)m(y)g -(b)s(e)f(referenced)g(using)g Fs(${name[)p Fq(subscript)r -Fs(]})p Ft(.)46 b(The)33 b(braces)h(are)150 5230 y(required)28 -b(to)j(a)m(v)m(oid)f(con\015icts)g(with)f(the)h(shell's)f(\014lename)h -(expansion)f(op)s(erators.)41 b(If)28 b(the)i Fq(subscript)g -Ft(is)150 5340 y(`)p Fs(@)p Ft(')f(or)g(`)p Fs(*)p Ft(',)g(the)g(w)m -(ord)g(expands)f(to)i(all)f(mem)m(b)s(ers)f(of)h(the)g(arra)m(y)h -Fq(name)5 b Ft(.)40 b(These)29 b(subscripts)e(di\013er)i(only)p -eop end -%%Page: 81 87 -TeXDict begin 81 86 bop 150 -116 a Ft(Chapter)30 b(6:)41 -b(Bash)30 b(F)-8 b(eatures)2484 b(81)150 299 y(when)36 -b(the)g(w)m(ord)g(app)s(ears)g(within)g(double)g(quotes.)60 -b(If)36 b(the)h(w)m(ord)f(is)g(double-quoted,)j Fs(${name[*]})150 -408 y Ft(expands)20 b(to)h(a)g(single)g(w)m(ord)f(with)h(the)g(v)-5 +(v)m(e.)p eop end +%%Page: 83 89 +TeXDict begin 83 88 bop 150 -116 a Ft(Chapter)30 b(6:)41 +b(Bash)30 b(F)-8 b(eatures)2484 b(83)275 299 y(An)m(y)33 +b(elemen)m(t)i(of)f(an)f(arra)m(y)h(ma)m(y)g(b)s(e)f(referenced)g +(using)g Fs(${name[)p Fq(subscript)r Fs(]})p Ft(.)46 +b(The)33 b(braces)h(are)150 408 y(required)28 b(to)j(a)m(v)m(oid)f +(con\015icts)g(with)f(the)h(shell's)f(\014lename)h(expansion)f(op)s +(erators.)41 b(If)28 b(the)i Fq(subscript)g Ft(is)150 +518 y(`)p Fs(@)p Ft(')f(or)g(`)p Fs(*)p Ft(',)g(the)g(w)m(ord)g +(expands)f(to)i(all)f(mem)m(b)s(ers)f(of)h(the)g(arra)m(y)h +Fq(name)5 b Ft(.)40 b(These)29 b(subscripts)e(di\013er)i(only)150 +628 y(when)36 b(the)g(w)m(ord)g(app)s(ears)g(within)g(double)g(quotes.) +60 b(If)36 b(the)h(w)m(ord)f(is)g(double-quoted,)j Fs(${name[*]})150 +737 y Ft(expands)20 b(to)h(a)g(single)g(w)m(ord)f(with)h(the)g(v)-5 b(alue)21 b(of)f(eac)m(h)i(arra)m(y)f(mem)m(b)s(er)f(separated)h(b)m(y) -g(the)f(\014rst)g(c)m(haracter)150 518 y(of)38 b(the)g +g(the)f(\014rst)g(c)m(haracter)150 847 y(of)38 b(the)g Fs(IFS)f Ft(v)-5 b(ariable,)41 b(and)c Fs(${name[@]})e Ft(expands)i(eac)m(h)i(elemen)m(t)g(of)f Fq(name)43 b -Ft(to)c(a)f(separate)h(w)m(ord.)150 628 y(When)32 b(there)h(are)f(no)g +Ft(to)c(a)f(separate)h(w)m(ord.)150 956 y(When)32 b(there)h(are)f(no)g (arra)m(y)h(mem)m(b)s(ers,)f Fs(${name[@]})e Ft(expands)h(to)i -(nothing.)47 b(If)31 b(the)i(double-quoted)150 737 y(expansion)39 +(nothing.)47 b(If)31 b(the)i(double-quoted)150 1066 y(expansion)39 b(o)s(ccurs)h(within)f(a)h(w)m(ord,)i(the)d(expansion)h(of)g(the)f -(\014rst)g(parameter)h(is)g(joined)f(with)h(the)150 847 +(\014rst)g(parameter)h(is)g(joined)f(with)h(the)150 1176 y(b)s(eginning)j(part)h(of)g(the)g(original)h(w)m(ord,)j(and)43 b(the)h(expansion)g(of)g(the)g(last)h(parameter)f(is)g(joined)150 -956 y(with)35 b(the)g(last)h(part)f(of)g(the)g(original)h(w)m(ord.)55 +1285 y(with)35 b(the)g(last)h(part)f(of)g(the)g(original)h(w)m(ord.)55 b(This)34 b(is)h(analogous)h(to)g(the)f(expansion)g(of)g(the)g(sp)s -(ecial)150 1066 y(parameters)28 b(`)p Fs(@)p Ft(')g(and)f(`)p +(ecial)150 1395 y(parameters)28 b(`)p Fs(@)p Ft(')g(and)f(`)p Fs(*)p Ft('.)39 b Fs(${#name[)p Fq(subscript)r Fs(]})24 b Ft(expands)j(to)h(the)g(length)g(of)f Fs(${name[)p -Fq(subscript)r Fs(]})p Ft(.)150 1176 y(If)j Fq(subscript)i +Fq(subscript)r Fs(]})p Ft(.)150 1504 y(If)j Fq(subscript)i Ft(is)f(`)p Fs(@)p Ft(')f(or)h(`)p Fs(*)p Ft(',)g(the)g(expansion)g(is) g(the)g(n)m(um)m(b)s(er)e(of)i(elemen)m(ts)h(in)f(the)g(arra)m(y)-8 -b(.)42 b(Referencing)150 1285 y(an)30 b(arra)m(y)h(v)-5 +b(.)42 b(Referencing)150 1614 y(an)30 b(arra)m(y)h(v)-5 b(ariable)31 b(without)g(a)f(subscript)g(is)g(equiv)-5 b(alen)m(t)32 b(to)f(referencing)g(with)f(a)g(subscript)g(of)g(0.)275 -1419 y(An)35 b(arra)m(y)i(v)-5 b(ariable)37 b(is)g(considered)f(set)h +1757 y(An)35 b(arra)m(y)i(v)-5 b(ariable)37 b(is)g(considered)f(set)h (if)f(a)h(subscript)e(has)h(b)s(een)g(assigned)g(a)h(v)-5 -b(alue.)59 b(The)36 b(n)m(ull)150 1528 y(string)30 b(is)h(a)g(v)-5 -b(alid)30 b(v)-5 b(alue.)275 1662 y(The)32 b Fs(unset)g +b(alue.)59 b(The)36 b(n)m(ull)150 1866 y(string)30 b(is)h(a)g(v)-5 +b(alid)30 b(v)-5 b(alue.)275 2009 y(The)32 b Fs(unset)g Ft(builtin)h(is)g(used)g(to)h(destro)m(y)g(arra)m(ys.)50 b Fs(unset)31 b Fq(name)5 b Ft([)p Fq(subscript)r Ft(])33 -b(destro)m(ys)h(the)f(arra)m(y)150 1772 y(elemen)m(t)i(at)g(index)f +b(destro)m(ys)h(the)f(arra)m(y)150 2119 y(elemen)m(t)i(at)g(index)f Fq(subscript)r Ft(.)50 b(Care)34 b(m)m(ust)f(b)s(e)h(tak)m(en)h(to)f(a) m(v)m(oid)i(un)m(w)m(an)m(ted)e(side)g(e\013ects)h(caused)f(b)m(y)150 -1881 y(\014lename)40 b(expansion.)69 b Fs(unset)39 b +2228 y(\014lename)40 b(expansion.)69 b Fs(unset)39 b Fq(name)5 b Ft(,)42 b(where)e Fq(name)45 b Ft(is)39 b(an)h(arra)m(y)-8 b(,)44 b(remo)m(v)m(es)d(the)f(en)m(tire)h(arra)m(y)-8 -b(.)70 b(A)150 1991 y(subscript)29 b(of)i(`)p Fs(*)p +b(.)70 b(A)150 2338 y(subscript)29 b(of)i(`)p Fs(*)p Ft(')f(or)h(`)p Fs(@)p Ft(')f(also)h(remo)m(v)m(es)h(the)f(en)m(tire)g -(arra)m(y)-8 b(.)275 2125 y(The)41 b Fs(declare)p Ft(,)i +(arra)m(y)-8 b(.)275 2481 y(The)41 b Fs(declare)p Ft(,)i Fs(local)p Ft(,)h(and)d Fs(readonly)f Ft(builtins)h(eac)m(h)j(accept)f (a)f(`)p Fs(-a)p Ft(')g(option)h(to)f(sp)s(ecify)g(an)150 -2234 y(indexed)34 b(arra)m(y)h(and)f(a)h(`)p Fs(-A)p +2591 y(indexed)34 b(arra)m(y)h(and)f(a)h(`)p Fs(-A)p Ft(')g(option)g(to)g(sp)s(ecify)g(an)f(asso)s(ciativ)m(e)j(arra)m(y)-8 b(.)55 b(The)34 b Fs(read)f Ft(builtin)i(accepts)150 -2344 y(a)h(`)p Fs(-a)p Ft(')f(option)h(to)g(assign)g(a)f(list)h(of)g(w) +2700 y(a)h(`)p Fs(-a)p Ft(')f(option)h(to)g(assign)g(a)f(list)h(of)g(w) m(ords)f(read)g(from)g(the)h(standard)e(input)h(to)h(an)f(arra)m(y)-8 -b(,)38 b(and)d(can)150 2453 y(read)c(v)-5 b(alues)31 +b(,)38 b(and)d(can)150 2810 y(read)c(v)-5 b(alues)31 b(from)f(the)h(standard)f(input)g(in)m(to)i(individual)e(arra)m(y)h (elemen)m(ts.)44 b(The)30 b Fs(set)g Ft(and)g Fs(declare)150 -2563 y Ft(builtins)g(displa)m(y)g(arra)m(y)h(v)-5 b(alues)31 +2919 y Ft(builtins)g(displa)m(y)g(arra)m(y)h(v)-5 b(alues)31 b(in)f(a)h(w)m(a)m(y)g(that)g(allo)m(ws)h(them)e(to)h(b)s(e)f(reused)g -(as)g(input.)150 2794 y Fr(6.8)68 b(The)45 b(Directory)g(Stac)l(k)150 -2953 y Ft(The)21 b(directory)h(stac)m(k)h(is)e(a)h(list)g(of)f(recen)m +(as)g(input.)150 3164 y Fr(6.8)68 b(The)45 b(Directory)g(Stac)l(k)150 +3324 y Ft(The)21 b(directory)h(stac)m(k)h(is)e(a)h(list)g(of)f(recen)m (tly-visited)j(directories.)39 b(The)20 b Fs(pushd)g -Ft(builtin)h(adds)g(directories)150 3063 y(to)42 b(the)f(stac)m(k)i(as) +Ft(builtin)h(adds)g(directories)150 3433 y(to)42 b(the)f(stac)m(k)i(as) e(it)h(c)m(hanges)g(the)f(curren)m(t)g(directory)-8 b(,)45 b(and)40 b(the)i Fs(popd)e Ft(builtin)g(remo)m(v)m(es)j(sp)s(eci\014ed) -150 3172 y(directories)29 b(from)f(the)h(stac)m(k)h(and)d(c)m(hanges)j +150 3543 y(directories)29 b(from)f(the)h(stac)m(k)h(and)d(c)m(hanges)j (the)e(curren)m(t)g(directory)h(to)g(the)g(directory)f(remo)m(v)m(ed.) -41 b(The)150 3282 y Fs(dirs)29 b Ft(builtin)h(displa)m(ys)h(the)f(con)m -(ten)m(ts)i(of)f(the)f(directory)h(stac)m(k.)275 3416 +41 b(The)150 3653 y Fs(dirs)29 b Ft(builtin)h(displa)m(ys)h(the)f(con)m +(ten)m(ts)i(of)f(the)f(directory)h(stac)m(k.)275 3795 y(The)k(con)m(ten)m(ts)i(of)f(the)h(directory)f(stac)m(k)h(are)f(also)h (visible)g(as)f(the)g(v)-5 b(alue)36 b(of)g(the)g Fs(DIRSTACK)e -Ft(shell)150 3525 y(v)-5 b(ariable.)150 3723 y Fj(6.8.1)63 -b(Directory)40 b(Stac)m(k)g(Builtins)150 3894 y Fs(dirs)870 -4027 y(dirs)47 b([+)p Fi(N)57 b Fs(|)48 b(-)p Fi(N)11 -b Fs(])46 b([-clpv])630 4161 y Ft(Displa)m(y)35 b(the)f(list)g(of)g +Ft(shell)150 3905 y(v)-5 b(ariable.)150 4113 y Fj(6.8.1)63 +b(Directory)40 b(Stac)m(k)g(Builtins)150 4289 y Fs(dirs)870 +4427 y(dirs)47 b([+)p Fi(N)57 b Fs(|)48 b(-)p Fi(N)11 +b Fs(])46 b([-clpv])630 4566 y Ft(Displa)m(y)35 b(the)f(list)g(of)g (curren)m(tly)g(remem)m(b)s(ered)f(directories.)51 b(Directories)36 -b(are)e(added)f(to)630 4271 y(the)28 b(list)h(with)f(the)g +b(are)e(added)f(to)630 4676 y(the)28 b(list)h(with)f(the)g Fs(pushd)f Ft(command;)i(the)f Fs(popd)f Ft(command)h(remo)m(v)m(es)h -(directories)g(from)630 4380 y(the)i(list.)630 4538 y +(directories)g(from)630 4785 y(the)i(list.)630 4953 y Fs(+)p Fi(N)384 b Ft(Displa)m(ys)23 b(the)f Fq(N)10 b Ft(th)21 b(directory)h(\(coun)m(ting)h(from)e(the)h(left)g(of)g(the)g -(list)g(prin)m(ted)1110 4648 y(b)m(y)30 b Fs(dirs)f Ft(when)h(in)m(v)m +(list)g(prin)m(ted)1110 5063 y(b)m(y)30 b Fs(dirs)f Ft(when)h(in)m(v)m (ok)m(ed)i(without)e(options\),)h(starting)g(with)g(zero.)630 -4805 y Fs(-)p Fi(N)384 b Ft(Displa)m(ys)47 b(the)g Fq(N)10 +5230 y Fs(-)p Fi(N)384 b Ft(Displa)m(ys)47 b(the)g Fq(N)10 b Ft(th)46 b(directory)h(\(coun)m(ting)g(from)f(the)g(righ)m(t)h(of)g -(the)f(list)1110 4915 y(prin)m(ted)25 b(b)m(y)g Fs(dirs)g +(the)f(list)1110 5340 y(prin)m(ted)25 b(b)m(y)g Fs(dirs)g Ft(when)f(in)m(v)m(ok)m(ed)j(without)f(options\),)h(starting)g(with)e -(zero.)630 5073 y Fs(-c)384 b Ft(Clears)31 b(the)f(directory)h(stac)m -(k)h(b)m(y)e(deleting)h(all)h(of)e(the)h(elemen)m(ts.)630 -5230 y Fs(-l)384 b Ft(Pro)s(duces)30 b(a)i(longer)g(listing;)h(the)f -(default)f(listing)i(format)e(uses)g(a)h(tilde)g(to)1110 -5340 y(denote)f(the)f(home)h(directory)-8 b(.)p eop end -%%Page: 82 88 -TeXDict begin 82 87 bop 150 -116 a Ft(82)2572 b(Bash)31 -b(Reference)g(Man)m(ual)630 299 y Fs(-p)384 b Ft(Causes)30 -b Fs(dirs)f Ft(to)i(prin)m(t)f(the)h(directory)g(stac)m(k)h(with)e(one) -g(en)m(try)h(p)s(er)e(line.)630 464 y Fs(-v)384 b Ft(Causes)36 -b Fs(dirs)f Ft(to)i(prin)m(t)f(the)g(directory)h(stac)m(k)h(with)e(one) -h(en)m(try)f(p)s(er)f(line,)1110 573 y(pre\014xing)30 -b(eac)m(h)h(en)m(try)g(with)f(its)h(index)e(in)i(the)f(stac)m(k.)150 -738 y Fs(popd)870 875 y(popd)47 b([+)p Fi(N)57 b Fs(|)48 -b(-)p Fi(N)11 b Fs(])46 b([-n])630 1012 y Ft(Remo)m(v)m(e)26 -b(the)e(top)g(en)m(try)h(from)e(the)h(directory)h(stac)m(k,)i(and)c -Fs(cd)h Ft(to)h(the)f(new)f(top)i(directory)-8 b(.)630 -1122 y(When)32 b(no)g(argumen)m(ts)h(are)g(giv)m(en,)h -Fs(popd)d Ft(remo)m(v)m(es)j(the)f(top)f(directory)h(from)f(the)g(stac) -m(k)630 1232 y(and)f(p)s(erforms)e(a)j Fs(cd)f Ft(to)h(the)f(new)g(top) -h(directory)-8 b(.)44 b(The)31 b(elemen)m(ts)i(are)e(n)m(um)m(b)s(ered) -f(from)630 1341 y(0)d(starting)g(at)g(the)g(\014rst)f(directory)h -(listed)g(with)f Fs(dirs)p Ft(;)h(i.e.,)i Fs(popd)c Ft(is)i(equiv)-5 -b(alen)m(t)28 b(to)f Fs(popd)630 1451 y(+0)p Ft(.)630 -1616 y Fs(+)p Fi(N)384 b Ft(Remo)m(v)m(es)22 b(the)f -Fq(N)10 b Ft(th)20 b(directory)g(\(coun)m(ting)i(from)e(the)g(left)h -(of)g(the)f(list)h(prin)m(ted)1110 1725 y(b)m(y)30 b -Fs(dirs)p Ft(\),)g(starting)h(with)f(zero.)630 1890 y -Fs(-)p Fi(N)384 b Ft(Remo)m(v)m(es)46 b(the)g Fq(N)10 -b Ft(th)44 b(directory)h(\(coun)m(ting)h(from)f(the)g(righ)m(t)g(of)g -(the)g(list)1110 1999 y(prin)m(ted)30 b(b)m(y)g Fs(dirs)p -Ft(\),)g(starting)h(with)f(zero.)630 2164 y Fs(-n)384 -b Ft(Suppresses)27 b(the)j(normal)g(c)m(hange)g(of)g(directory)g(when)e -(remo)m(ving)j(directo-)1110 2274 y(ries)f(from)g(the)h(stac)m(k,)h(so) -f(that)g(only)f(the)h(stac)m(k)g(is)g(manipulated.)150 -2439 y Fs(pushd)870 2576 y(pushd)46 b([-n])h([+)p Fi(N)57 -b Fs(|)48 b Fi(-N)58 b Fs(|)47 b Fi(dir)57 b Fs(])630 -2713 y Ft(Sa)m(v)m(e)29 b(the)f(curren)m(t)g(directory)g(on)g(the)g -(top)g(of)g(the)g(directory)h(stac)m(k)g(and)e(then)h -Fs(cd)f Ft(to)i Fq(dir)7 b Ft(.)630 2823 y(With)31 b(no)f(argumen)m -(ts,)h Fs(pushd)e Ft(exc)m(hanges)j(the)e(top)h(t)m(w)m(o)h -(directories.)630 2987 y Fs(-n)384 b Ft(Suppresses)26 +(zero.)p eop end +%%Page: 84 90 +TeXDict begin 84 89 bop 150 -116 a Ft(84)2572 b(Bash)31 +b(Reference)g(Man)m(ual)630 299 y Fs(-c)384 b Ft(Clears)31 +b(the)f(directory)h(stac)m(k)h(b)m(y)e(deleting)h(all)h(of)e(the)h +(elemen)m(ts.)630 457 y Fs(-l)384 b Ft(Pro)s(duces)30 +b(a)i(longer)g(listing;)h(the)f(default)f(listing)i(format)e(uses)g(a)h +(tilde)g(to)1110 567 y(denote)f(the)f(home)h(directory)-8 +b(.)630 725 y Fs(-p)384 b Ft(Causes)30 b Fs(dirs)f Ft(to)i(prin)m(t)f +(the)h(directory)g(stac)m(k)h(with)e(one)g(en)m(try)h(p)s(er)e(line.) +630 883 y Fs(-v)384 b Ft(Causes)36 b Fs(dirs)f Ft(to)i(prin)m(t)f(the)g +(directory)h(stac)m(k)h(with)e(one)h(en)m(try)f(p)s(er)f(line,)1110 +993 y(pre\014xing)30 b(eac)m(h)h(en)m(try)g(with)f(its)h(index)e(in)i +(the)f(stac)m(k.)150 1151 y Fs(popd)870 1285 y(popd)47 +b([+)p Fi(N)57 b Fs(|)48 b(-)p Fi(N)11 b Fs(])46 b([-n])630 +1419 y Ft(Remo)m(v)m(e)26 b(the)e(top)g(en)m(try)h(from)e(the)h +(directory)h(stac)m(k,)i(and)c Fs(cd)h Ft(to)h(the)f(new)f(top)i +(directory)-8 b(.)630 1528 y(When)32 b(no)g(argumen)m(ts)h(are)g(giv)m +(en,)h Fs(popd)d Ft(remo)m(v)m(es)j(the)f(top)f(directory)h(from)f(the) +g(stac)m(k)630 1638 y(and)f(p)s(erforms)e(a)j Fs(cd)f +Ft(to)h(the)f(new)g(top)h(directory)-8 b(.)44 b(The)31 +b(elemen)m(ts)i(are)e(n)m(um)m(b)s(ered)f(from)630 1748 +y(0)d(starting)g(at)g(the)g(\014rst)f(directory)h(listed)g(with)f +Fs(dirs)p Ft(;)h(i.e.,)i Fs(popd)c Ft(is)i(equiv)-5 b(alen)m(t)28 +b(to)f Fs(popd)630 1857 y(+0)p Ft(.)630 2015 y Fs(+)p +Fi(N)384 b Ft(Remo)m(v)m(es)22 b(the)f Fq(N)10 b Ft(th)20 +b(directory)g(\(coun)m(ting)i(from)e(the)g(left)h(of)g(the)f(list)h +(prin)m(ted)1110 2125 y(b)m(y)30 b Fs(dirs)p Ft(\),)g(starting)h(with)f +(zero.)630 2283 y Fs(-)p Fi(N)384 b Ft(Remo)m(v)m(es)46 +b(the)g Fq(N)10 b Ft(th)44 b(directory)h(\(coun)m(ting)h(from)f(the)g +(righ)m(t)g(of)g(the)g(list)1110 2393 y(prin)m(ted)30 +b(b)m(y)g Fs(dirs)p Ft(\),)g(starting)h(with)f(zero.)630 +2551 y Fs(-n)384 b Ft(Suppresses)27 b(the)j(normal)g(c)m(hange)g(of)g +(directory)g(when)e(remo)m(ving)j(directo-)1110 2661 +y(ries)f(from)g(the)h(stac)m(k,)h(so)f(that)g(only)f(the)h(stac)m(k)g +(is)g(manipulated.)150 2819 y Fs(pushd)870 2953 y(pushd)46 +b([-n])h([+)p Fi(N)57 b Fs(|)48 b Fi(-N)58 b Fs(|)47 +b Fi(dir)57 b Fs(])630 3087 y Ft(Sa)m(v)m(e)29 b(the)f(curren)m(t)g +(directory)g(on)g(the)g(top)g(of)g(the)g(directory)h(stac)m(k)g(and)e +(then)h Fs(cd)f Ft(to)i Fq(dir)7 b Ft(.)630 3196 y(With)31 +b(no)f(argumen)m(ts,)h Fs(pushd)e Ft(exc)m(hanges)j(the)e(top)h(t)m(w)m +(o)h(directories.)630 3354 y Fs(-n)384 b Ft(Suppresses)26 b(the)i(normal)h(c)m(hange)g(of)f(directory)h(when)e(adding)h -(directories)1110 3097 y(to)j(the)g(stac)m(k,)h(so)e(that)h(only)g(the) -f(stac)m(k)i(is)f(manipulated.)630 3262 y Fs(+)p Fi(N)384 +(directories)1110 3464 y(to)j(the)g(stac)m(k,)h(so)e(that)h(only)g(the) +f(stac)m(k)i(is)f(manipulated.)630 3622 y Fs(+)p Fi(N)384 b Ft(Brings)29 b(the)f Fq(N)10 b Ft(th)29 b(directory)g(\(coun)m(ting)h (from)e(the)g(left)i(of)e(the)h(list)g(prin)m(ted)1110 -3371 y(b)m(y)34 b Fs(dirs)p Ft(,)g(starting)h(with)f(zero\))i(to)f(the) +3732 y(b)m(y)34 b Fs(dirs)p Ft(,)g(starting)h(with)f(zero\))i(to)f(the) f(top)g(of)h(the)f(list)h(b)m(y)f(rotating)i(the)1110 -3481 y(stac)m(k.)630 3646 y Fs(-)p Fi(N)384 b Ft(Brings)23 +3841 y(stac)m(k.)630 4000 y Fs(-)p Fi(N)384 b Ft(Brings)23 b(the)g Fq(N)10 b Ft(th)23 b(directory)h(\(coun)m(ting)g(from)e(the)i -(righ)m(t)f(of)g(the)h(list)f(prin)m(ted)1110 3755 y(b)m(y)34 +(righ)m(t)f(of)g(the)h(list)f(prin)m(ted)1110 4109 y(b)m(y)34 b Fs(dirs)p Ft(,)g(starting)h(with)f(zero\))i(to)f(the)f(top)g(of)h -(the)f(list)h(b)m(y)f(rotating)i(the)1110 3865 y(stac)m(k.)630 -4030 y Fi(dir)336 b Ft(Mak)m(es)36 b(the)f(curren)m(t)g(w)m(orking)g +(the)f(list)h(b)m(y)f(rotating)i(the)1110 4219 y(stac)m(k.)630 +4377 y Fi(dir)336 b Ft(Mak)m(es)36 b(the)f(curren)m(t)g(w)m(orking)g (directory)g(b)s(e)f(the)h(top)g(of)g(the)g(stac)m(k,)j(and)1110 -4139 y(then)30 b(executes)i(the)e(equiv)-5 b(alen)m(t)32 +4487 y(then)30 b(executes)i(the)e(equiv)-5 b(alen)m(t)32 b(of)f(`)p Fs(cd)f Fq(dir)7 b Ft('.)39 b Fs(cd)p Ft(s)30 -b(to)h Fq(dir)7 b Ft(.)150 4380 y Fr(6.9)68 b(Con)l(trolling)47 -b(the)e(Prompt)150 4539 y Ft(The)24 b(v)-5 b(alue)24 +b(to)h Fq(dir)7 b Ft(.)150 4718 y Fr(6.9)68 b(Con)l(trolling)47 +b(the)e(Prompt)150 4877 y Ft(The)24 b(v)-5 b(alue)24 b(of)h(the)f(v)-5 b(ariable)25 b Fs(PROMPT_COMMAND)20 b Ft(is)25 b(examined)f(just)g(b)s(efore)f(Bash)i(prin)m(ts)e(eac)m(h)j -(primary)150 4649 y(prompt.)39 b(If)28 b Fs(PROMPT_COMMAND)d +(primary)150 4987 y(prompt.)39 b(If)28 b Fs(PROMPT_COMMAND)d Ft(is)j(set)h(and)f(has)g(a)h(non-n)m(ull)f(v)-5 b(alue,)29 b(then)f(the)h(v)-5 b(alue)29 b(is)f(executed)i(just)150 -4758 y(as)h(if)f(it)h(had)f(b)s(een)f(t)m(yp)s(ed)h(on)h(the)f(command) -g(line.)275 4898 y(In)d(addition,)j(the)f(follo)m(wing)h(table)f +5096 y(as)h(if)f(it)h(had)f(b)s(een)f(t)m(yp)s(ed)h(on)h(the)f(command) +g(line.)275 5230 y(In)d(addition,)j(the)f(follo)m(wing)h(table)f (describ)s(es)f(the)h(sp)s(ecial)g(c)m(haracters)h(whic)m(h)f(can)f -(app)s(ear)g(in)h(the)150 5008 y(prompt)g(v)-5 b(ariables:)150 -5175 y Fs(\\a)384 b Ft(A)30 b(b)s(ell)h(c)m(haracter.)150 -5340 y Fs(\\d)384 b Ft(The)30 b(date,)h(in)f Fs(")p Ft(W)-8 -b(eekda)m(y)32 b(Mon)m(th)f(Date)p Fs(")h Ft(format)f(\(e.g.,)h -Fs(")p Ft(T)-8 b(ue)30 b(Ma)m(y)h(26)p Fs(")p Ft(\).)p +(app)s(ear)g(in)h(the)150 5340 y(prompt)g(v)-5 b(ariables:)p eop end -%%Page: 83 89 -TeXDict begin 83 88 bop 150 -116 a Ft(Chapter)30 b(6:)41 -b(Bash)30 b(F)-8 b(eatures)2484 b(83)150 299 y Fs(\\D{)p -Fi(format)11 b Fs(})630 408 y Ft(The)27 b Fq(format)i -Ft(is)f(passed)e(to)i Fs(strftime)p Ft(\(3\))f(and)f(the)i(result)f(is) -g(inserted)g(in)m(to)h(the)g(prompt)630 518 y(string;)42 -b(an)d(empt)m(y)f Fq(format)j Ft(results)d(in)g(a)h(lo)s(cale-sp)s -(eci\014c)h(time)f(represen)m(tation.)65 b(The)630 628 -y(braces)31 b(are)f(required.)150 776 y Fs(\\e)384 b -Ft(An)30 b(escap)s(e)h(c)m(haracter.)150 924 y Fs(\\h)384 -b Ft(The)30 b(hostname,)h(up)e(to)i(the)g(\014rst)e(`.'.)150 -1072 y Fs(\\H)384 b Ft(The)30 b(hostname.)150 1221 y -Fs(\\j)384 b Ft(The)30 b(n)m(um)m(b)s(er)f(of)h(jobs)g(curren)m(tly)h -(managed)g(b)m(y)f(the)g(shell.)150 1369 y Fs(\\l)384 +%%Page: 85 91 +TeXDict begin 85 90 bop 150 -116 a Ft(Chapter)30 b(6:)41 +b(Bash)30 b(F)-8 b(eatures)2484 b(85)150 299 y Fs(\\a)384 +b Ft(A)30 b(b)s(ell)h(c)m(haracter.)150 457 y Fs(\\d)384 +b Ft(The)30 b(date,)h(in)f Fs(")p Ft(W)-8 b(eekda)m(y)32 +b(Mon)m(th)f(Date)p Fs(")h Ft(format)f(\(e.g.,)h Fs(")p +Ft(T)-8 b(ue)30 b(Ma)m(y)h(26)p Fs(")p Ft(\).)150 615 +y Fs(\\D{)p Fi(format)11 b Fs(})630 725 y Ft(The)27 b +Fq(format)i Ft(is)f(passed)e(to)i Fs(strftime)p Ft(\(3\))f(and)f(the)i +(result)f(is)g(inserted)g(in)m(to)h(the)g(prompt)630 +835 y(string;)42 b(an)d(empt)m(y)f Fq(format)j Ft(results)d(in)g(a)h +(lo)s(cale-sp)s(eci\014c)h(time)f(represen)m(tation.)65 +b(The)630 944 y(braces)31 b(are)f(required.)150 1103 +y Fs(\\e)384 b Ft(An)30 b(escap)s(e)h(c)m(haracter.)150 +1261 y Fs(\\h)384 b Ft(The)30 b(hostname,)h(up)e(to)i(the)g(\014rst)e +(`.'.)150 1419 y Fs(\\H)384 b Ft(The)30 b(hostname.)150 +1577 y Fs(\\j)384 b Ft(The)30 b(n)m(um)m(b)s(er)f(of)h(jobs)g(curren)m +(tly)h(managed)g(b)m(y)f(the)g(shell.)150 1736 y Fs(\\l)384 b Ft(The)30 b(basename)h(of)f(the)h(shell's)f(terminal)h(device)g -(name.)150 1517 y Fs(\\n)384 b Ft(A)30 b(newline.)150 -1666 y Fs(\\r)384 b Ft(A)30 b(carriage)i(return.)150 -1814 y Fs(\\s)384 b Ft(The)22 b(name)g(of)h(the)f(shell,)i(the)f +(name.)150 1894 y Fs(\\n)384 b Ft(A)30 b(newline.)150 +2052 y Fs(\\r)384 b Ft(A)30 b(carriage)i(return.)150 +2211 y Fs(\\s)384 b Ft(The)22 b(name)g(of)h(the)f(shell,)i(the)f (basename)f(of)h Fs($0)f Ft(\(the)g(p)s(ortion)g(follo)m(wing)i(the)f -(\014nal)e(slash\).)150 1962 y Fs(\\t)384 b Ft(The)30 -b(time,)h(in)f(24-hour)h(HH:MM:SS)g(format.)150 2110 +(\014nal)e(slash\).)150 2369 y Fs(\\t)384 b Ft(The)30 +b(time,)h(in)f(24-hour)h(HH:MM:SS)g(format.)150 2527 y Fs(\\T)384 b Ft(The)30 b(time,)h(in)f(12-hour)h(HH:MM:SS)g(format.) -150 2259 y Fs(\\@)384 b Ft(The)30 b(time,)h(in)f(12-hour)h(am/pm)f -(format.)150 2407 y Fs(\\A)384 b Ft(The)30 b(time,)h(in)f(24-hour)h -(HH:MM)g(format.)150 2555 y Fs(\\u)384 b Ft(The)30 b(username)g(of)g -(the)h(curren)m(t)f(user.)150 2703 y Fs(\\v)384 b Ft(The)30 -b(v)m(ersion)h(of)f(Bash)h(\(e.g.,)h(2.00\))150 2852 +150 2685 y Fs(\\@)384 b Ft(The)30 b(time,)h(in)f(12-hour)h(am/pm)f +(format.)150 2844 y Fs(\\A)384 b Ft(The)30 b(time,)h(in)f(24-hour)h +(HH:MM)g(format.)150 3002 y Fs(\\u)384 b Ft(The)30 b(username)g(of)g +(the)h(curren)m(t)f(user.)150 3160 y Fs(\\v)384 b Ft(The)30 +b(v)m(ersion)h(of)f(Bash)h(\(e.g.,)h(2.00\))150 3319 y Fs(\\V)384 b Ft(The)30 b(release)i(of)e(Bash,)h(v)m(ersion)g -Fs(+)f Ft(patc)m(hlev)m(el)i(\(e.g.,)h(2.00.0\))150 3000 +Fs(+)f Ft(patc)m(hlev)m(el)i(\(e.g.,)h(2.00.0\))150 3477 y Fs(\\w)384 b Ft(The)34 b(curren)m(t)h(w)m(orking)g(directory)-8 b(,)37 b(with)e Fs($HOME)e Ft(abbreviated)j(with)e(a)h(tilde)h(\(uses)f -(the)630 3110 y Fs($PROMPT_DIRTRIM)26 b Ft(v)-5 b(ariable\).)150 -3258 y Fs(\\W)384 b Ft(The)30 b(basename)h(of)f Fs($PWD)p +(the)630 3587 y Fs($PROMPT_DIRTRIM)26 b Ft(v)-5 b(ariable\).)150 +3745 y Fs(\\W)384 b Ft(The)30 b(basename)h(of)f Fs($PWD)p Ft(,)g(with)g Fs($HOME)f Ft(abbreviated)h(with)g(a)h(tilde.)150 -3406 y Fs(\\!)384 b Ft(The)30 b(history)g(n)m(um)m(b)s(er)f(of)i(this)f -(command.)150 3554 y Fs(\\#)384 b Ft(The)30 b(command)g(n)m(um)m(b)s -(er)f(of)i(this)f(command.)150 3703 y Fs(\\$)384 b Ft(If)30 +3903 y Fs(\\!)384 b Ft(The)30 b(history)g(n)m(um)m(b)s(er)f(of)i(this)f +(command.)150 4061 y Fs(\\#)384 b Ft(The)30 b(command)g(n)m(um)m(b)s +(er)f(of)i(this)f(command.)150 4220 y Fs(\\$)384 b Ft(If)30 b(the)g(e\013ectiv)m(e)j(uid)d(is)g(0,)h Fs(#)p Ft(,)g(otherwise)g -Fs($)p Ft(.)150 3851 y Fs(\\)p Fi(nnn)288 b Ft(The)30 +Fs($)p Ft(.)150 4378 y Fs(\\)p Fi(nnn)288 b Ft(The)30 b(c)m(haracter)i(whose)e(ASCI)s(I)f(co)s(de)h(is)h(the)f(o)s(ctal)i(v) --5 b(alue)31 b Fq(nnn)p Ft(.)150 3999 y Fs(\\\\)384 b -Ft(A)30 b(bac)m(kslash.)150 4147 y Fs(\\[)384 b Ft(Begin)38 +-5 b(alue)31 b Fq(nnn)p Ft(.)150 4536 y Fs(\\\\)384 b +Ft(A)30 b(bac)m(kslash.)150 4695 y Fs(\\[)384 b Ft(Begin)38 b(a)f(sequence)g(of)g(non-prin)m(ting)g(c)m(haracters.)61 b(This)36 b(could)h(b)s(e)g(used)f(to)h(em)m(b)s(ed)g(a)630 -4257 y(terminal)31 b(con)m(trol)h(sequence)e(in)m(to)i(the)e(prompt.) -150 4405 y Fs(\\])384 b Ft(End)29 b(a)i(sequence)g(of)f(non-prin)m -(ting)g(c)m(haracters.)275 4554 y(The)25 b(command)h(n)m(um)m(b)s(er)f +4804 y(terminal)31 b(con)m(trol)h(sequence)e(in)m(to)i(the)e(prompt.) +150 4963 y Fs(\\])384 b Ft(End)29 b(a)i(sequence)g(of)f(non-prin)m +(ting)g(c)m(haracters.)275 5121 y(The)25 b(command)h(n)m(um)m(b)s(er)f (and)h(the)g(history)g(n)m(um)m(b)s(er)f(are)i(usually)f(di\013eren)m -(t:)39 b(the)26 b(history)g(n)m(um)m(b)s(er)150 4663 +(t:)39 b(the)26 b(history)g(n)m(um)m(b)s(er)150 5230 y(of)h(a)f(command)h(is)f(its)h(p)s(osition)f(in)g(the)h(history)f (list,)i(whic)m(h)f(ma)m(y)g(include)f(commands)g(restored)g(from)150 -4773 y(the)39 b(history)h(\014le)f(\(see)h(Section)g(9.1)h([Bash)e -(History)h(F)-8 b(acilities],)45 b(page)40 b(121\),)j(while)d(the)f -(command)150 4882 y(n)m(um)m(b)s(er)j(is)h(the)h(p)s(osition)f(in)g -(the)g(sequence)h(of)f(commands)g(executed)h(during)e(the)i(curren)m(t) -f(shell)150 4992 y(session.)275 5121 y(After)35 b(the)g(string)g(is)g -(deco)s(ded,)h(it)f(is)g(expanded)f(via)i(parameter)f(expansion,)i -(command)d(substi-)150 5230 y(tution,)k(arithmetic)f(expansion,)g(and)e -(quote)h(remo)m(v)-5 b(al,)39 b(sub)5 b(ject)35 b(to)i(the)f(v)-5 -b(alue)36 b(of)g(the)g Fs(promptvars)150 5340 y Ft(shell)31 -b(option)f(\(see)i(Section)f(4.2)g([Bash)g(Builtins],)g(page)g(41\).)p -eop end -%%Page: 84 90 -TeXDict begin 84 89 bop 150 -116 a Ft(84)2572 b(Bash)31 -b(Reference)g(Man)m(ual)150 299 y Fr(6.10)68 b(The)45 -b(Restricted)h(Shell)150 458 y Ft(If)27 b(Bash)h(is)g(started)g(with)g -(the)g(name)g Fs(rbash)p Ft(,)f(or)g(the)h(`)p Fs(--restricted)p -Ft(')d(or)j(`)p Fs(-r)p Ft(')g(option)g(is)g(supplied)e(at)150 -568 y(in)m(v)m(o)s(cation,)k(the)d(shell)g(b)s(ecomes)h(restricted.)40 +5340 y(the)39 b(history)h(\014le)f(\(see)h(Section)g(9.1)h([Bash)e +(History)h(F)-8 b(acilities],)45 b(page)40 b(123\),)j(while)d(the)f +(command)p eop end +%%Page: 86 92 +TeXDict begin 86 91 bop 150 -116 a Ft(86)2572 b(Bash)31 +b(Reference)g(Man)m(ual)150 299 y(n)m(um)m(b)s(er)42 +b(is)h(the)h(p)s(osition)f(in)g(the)g(sequence)h(of)f(commands)g +(executed)h(during)e(the)i(curren)m(t)f(shell)150 408 +y(session.)275 550 y(After)35 b(the)g(string)g(is)g(deco)s(ded,)h(it)f +(is)g(expanded)f(via)i(parameter)f(expansion,)i(command)d(substi-)150 +659 y(tution,)k(arithmetic)f(expansion,)g(and)e(quote)h(remo)m(v)-5 +b(al,)39 b(sub)5 b(ject)35 b(to)i(the)f(v)-5 b(alue)36 +b(of)g(the)g Fs(promptvars)150 769 y Ft(shell)31 b(option)f(\(see)i +(Section)f(4.2)g([Bash)g(Builtins],)g(page)g(43\).)150 +1012 y Fr(6.10)68 b(The)45 b(Restricted)h(Shell)150 1171 +y Ft(If)27 b(Bash)h(is)g(started)g(with)g(the)g(name)g +Fs(rbash)p Ft(,)f(or)g(the)h(`)p Fs(--restricted)p Ft(')d(or)j(`)p +Fs(-r)p Ft(')g(option)g(is)g(supplied)e(at)150 1281 y(in)m(v)m(o)s +(cation,)k(the)d(shell)g(b)s(ecomes)h(restricted.)40 b(A)27 b(restricted)h(shell)f(is)g(used)f(to)i(set)f(up)f(an)h(en)m -(vironmen)m(t)150 677 y(more)g(con)m(trolled)i(than)e(the)g(standard)g +(vironmen)m(t)150 1391 y(more)g(con)m(trolled)i(than)e(the)g(standard)g (shell.)40 b(A)27 b(restricted)h(shell)f(b)s(eha)m(v)m(es)h(iden)m -(tically)h(to)f Fs(bash)e Ft(with)150 787 y(the)31 b(exception)g(that)g -(the)g(follo)m(wing)h(are)e(disallo)m(w)m(ed)i(or)e(not)h(p)s -(erformed:)225 927 y Fp(\017)60 b Ft(Changing)30 b(directories)h(with)g -(the)f Fs(cd)g Ft(builtin.)225 1064 y Fp(\017)60 b Ft(Setting)31 +(tically)h(to)f Fs(bash)e Ft(with)150 1500 y(the)31 b(exception)g(that) +g(the)g(follo)m(wing)h(are)e(disallo)m(w)m(ed)i(or)e(not)h(p)s +(erformed:)225 1642 y Fp(\017)60 b Ft(Changing)30 b(directories)h(with) +g(the)f Fs(cd)g Ft(builtin.)225 1780 y Fp(\017)60 b Ft(Setting)31 b(or)f(unsetting)h(the)g(v)-5 b(alues)30 b(of)h(the)f Fs(SHELL)p Ft(,)g Fs(PATH)p Ft(,)f Fs(ENV)p Ft(,)h(or)g -Fs(BASH_ENV)e Ft(v)-5 b(ariables.)225 1201 y Fp(\017)60 +Fs(BASH_ENV)e Ft(v)-5 b(ariables.)225 1917 y Fp(\017)60 b Ft(Sp)s(ecifying)30 b(command)g(names)g(con)m(taining)i(slashes.)225 -1338 y Fp(\017)60 b Ft(Sp)s(ecifying)30 b(a)h(\014lename)f(con)m +2055 y Fp(\017)60 b Ft(Sp)s(ecifying)30 b(a)h(\014lename)f(con)m (taining)i(a)f(slash)f(as)h(an)f(argumen)m(t)h(to)g(the)f -Fs(.)h Ft(builtin)e(command.)225 1475 y Fp(\017)60 b +Fs(.)h Ft(builtin)e(command.)225 2193 y Fp(\017)60 b Ft(Sp)s(ecifying)28 b(a)i(\014lename)f(con)m(taining)h(a)g(slash)e(as)h (an)g(argumen)m(t)h(to)f(the)g(`)p Fs(-p)p Ft(')g(option)g(to)h(the)f -Fs(hash)330 1584 y Ft(builtin)h(command.)225 1721 y Fp(\017)60 +Fs(hash)330 2303 y Ft(builtin)h(command.)225 2441 y Fp(\017)60 b Ft(Imp)s(orting)30 b(function)g(de\014nitions)g(from)f(the)i(shell)g -(en)m(vironmen)m(t)g(at)g(startup.)225 1858 y Fp(\017)60 +(en)m(vironmen)m(t)g(at)g(startup.)225 2579 y Fp(\017)60 b Ft(P)m(arsing)31 b(the)f(v)-5 b(alue)31 b(of)g Fs(SHELLOPTS)d Ft(from)h(the)i(shell)g(en)m(vironmen)m(t)g(at)g(startup.)225 -1995 y Fp(\017)60 b Ft(Redirecting)31 b(output)f(using)g(the)h(`)p +2717 y Fp(\017)60 b Ft(Redirecting)31 b(output)f(using)g(the)h(`)p Fs(>)p Ft(',)g(`)p Fs(>|)p Ft(',)f(`)p Fs(<>)p Ft(',)h(`)p Fs(>&)p Ft(',)f(`)p Fs(&>)p Ft(',)h(and)e(`)p Fs(>>)p -Ft(')i(redirection)g(op)s(erators.)225 2133 y Fp(\017)60 +Ft(')i(redirection)g(op)s(erators.)225 2855 y Fp(\017)60 b Ft(Using)31 b(the)f Fs(exec)f Ft(builtin)h(to)h(replace)h(the)e -(shell)h(with)f(another)h(command.)225 2270 y Fp(\017)60 +(shell)h(with)f(another)h(command.)225 2993 y Fp(\017)60 b Ft(Adding)40 b(or)h(deleting)h(builtin)e(commands)h(with)f(the)h(`)p Fs(-f)p Ft(')g(and)f(`)p Fs(-d)p Ft(')h(options)g(to)h(the)f -Fs(enable)330 2379 y Ft(builtin.)225 2516 y Fp(\017)60 +Fs(enable)330 3102 y Ft(builtin.)225 3240 y Fp(\017)60 b Ft(Using)31 b(the)f Fs(enable)f Ft(builtin)h(command)g(to)h(enable)g -(disabled)f(shell)g(builtins.)225 2653 y Fp(\017)60 b +(disabled)f(shell)g(builtins.)225 3378 y Fp(\017)60 b Ft(Sp)s(ecifying)30 b(the)g(`)p Fs(-p)p Ft(')h(option)g(to)g(the)f -Fs(command)f Ft(builtin.)225 2790 y Fp(\017)60 b Ft(T)-8 +Fs(command)f Ft(builtin.)225 3516 y Fp(\017)60 b Ft(T)-8 b(urning)29 b(o\013)i(restricted)g(mo)s(de)f(with)g(`)p Fs(set)g(+r)p Ft(')g(or)g(`)p Fs(set)g(+o)g(restricted)p -Ft('.)275 2957 y(These)g(restrictions)h(are)g(enforced)f(after)h(an)m -(y)g(startup)f(\014les)g(are)h(read.)275 3097 y(When)j(a)i(command)e +Ft('.)275 3686 y(These)g(restrictions)h(are)g(enforced)f(after)h(an)m +(y)g(startup)f(\014les)g(are)h(read.)275 3828 y(When)j(a)i(command)e (that)i(is)f(found)f(to)h(b)s(e)g(a)g(shell)g(script)g(is)g(executed)h -(\(see)g(Section)g(3.8)g([Shell)150 3206 y(Scripts],)25 -b(page)e(33\),)j Fs(rbash)c Ft(turns)g(o\013)i(an)m(y)f(restrictions)h +(\(see)g(Section)g(3.8)g([Shell)150 3937 y(Scripts],)25 +b(page)e(34\),)j Fs(rbash)c Ft(turns)g(o\013)i(an)m(y)f(restrictions)h (in)f(the)g(shell)h(spa)m(wned)e(to)i(execute)g(the)g(script.)150 -3447 y Fr(6.11)68 b(Bash)45 b(POSIX)f(Mo)t(de)150 3606 +4180 y Fr(6.11)68 b(Bash)45 b(POSIX)f(Mo)t(de)150 4339 y Ft(Starting)34 b(Bash)f(with)g(the)g(`)p Fs(--posix)p Ft(')f(command-line)i(option)g(or)f(executing)h(`)p Fs(set)c(-o)g -(posix)p Ft(')i(while)150 3716 y(Bash)26 b(is)g(running)e(will)j(cause) +(posix)p Ft(')i(while)150 4449 y(Bash)26 b(is)g(running)e(will)j(cause) f(Bash)g(to)h(conform)f(more)g(closely)h(to)g(the)f Fl(posix)f -Ft(standard)g(b)m(y)h(c)m(hanging)150 3825 y(the)31 b(b)s(eha)m(vior)f +Ft(standard)g(b)m(y)h(c)m(hanging)150 4559 y(the)31 b(b)s(eha)m(vior)f (to)h(matc)m(h)g(that)g(sp)s(eci\014ed)f(b)m(y)g Fl(posix)g Ft(in)g(areas)h(where)f(the)h(Bash)f(default)h(di\013ers.)275 -3965 y(When)f(in)m(v)m(ok)m(ed)h(as)g Fs(sh)p Ft(,)f(Bash)h(en)m(ters)g +4700 y(When)f(in)m(v)m(ok)m(ed)h(as)g Fs(sh)p Ft(,)f(Bash)h(en)m(ters)g Fl(posix)e Ft(mo)s(de)h(after)h(reading)g(the)f(startup)g(\014les.)275 -4104 y(The)f(follo)m(wing)j(list)f(is)g(what's)f(c)m(hanged)h(when)e(`) -p Fl(posix)h Ft(mo)s(de')h(is)f(in)g(e\013ect:)199 4244 +4841 y(The)f(follo)m(wing)j(list)f(is)g(what's)f(c)m(hanged)h(when)e(`) +p Fl(posix)h Ft(mo)s(de')h(is)f(in)g(e\013ect:)199 4983 y(1.)61 b(When)28 b(a)i(command)e(in)g(the)h(hash)f(table)i(no)e (longer)h(exists,)h(Bash)f(will)g(re-searc)m(h)h Fs($PATH)d -Ft(to)i(\014nd)330 4353 y(the)i(new)e(lo)s(cation.)43 +Ft(to)i(\014nd)330 5092 y(the)i(new)e(lo)s(cation.)43 b(This)29 b(is)i(also)g(a)m(v)-5 b(ailable)33 b(with)d(`)p -Fs(shopt)f(-s)h(checkhash)p Ft('.)199 4491 y(2.)61 b(The)42 +Fs(shopt)f(-s)h(checkhash)p Ft('.)199 5230 y(2.)61 b(The)42 b(message)h(prin)m(ted)e(b)m(y)h(the)g(job)g(con)m(trol)i(co)s(de)e (and)f(builtins)h(when)f(a)h(job)g(exits)h(with)f(a)330 -4600 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)199 -4737 y(3.)61 b(The)40 b(message)h(prin)m(ted)f(b)m(y)g(the)h(job)f(con) -m(trol)h(co)s(de)g(and)f(builtins)f(when)h(a)g(job)g(is)h(stopp)s(ed)e -(is)330 4847 y(`Stopp)s(ed\()p Fq(signame)5 b Ft(\)',)31 -b(where)f Fq(signame)36 b Ft(is,)31 b(for)f(example,)h -Fs(SIGTSTP)p Ft(.)199 4984 y(4.)61 b(The)27 b Fs(bg)g -Ft(builtin)g(uses)g(the)h(required)f(format)h(to)g(describ)s(e)f(eac)m -(h)i(job)e(placed)h(in)f(the)h(bac)m(kground,)330 5093 -y(whic)m(h)h(do)s(es)g(not)g(include)g(an)g(indication)h(of)f(whether)f -(the)h(job)g(is)g(the)h(curren)m(t)e(or)h(previous)g(job.)199 -5230 y(5.)61 b(Reserv)m(ed)40 b(w)m(ords)g(app)s(earing)f(in)h(a)g(con) -m(text)i(where)d(reserv)m(ed)h(w)m(ords)f(are)i(recognized)g(do)f(not) -330 5340 y(undergo)30 b(alias)h(expansion.)p eop end -%%Page: 85 91 -TeXDict begin 85 90 bop 150 -116 a Ft(Chapter)30 b(6:)41 -b(Bash)30 b(F)-8 b(eatures)2484 b(85)199 299 y(6.)61 -b(The)38 b Fl(posix)h Fs(PS1)f Ft(and)g Fs(PS2)g Ft(expansions)g(of)i -(`)p Fs(!)p Ft(')f(to)g(the)g(history)g(n)m(um)m(b)s(er)f(and)g(`)p -Fs(!!)p Ft(')h(to)g(`)p Fs(!)p Ft(')h(are)330 408 y(enabled,)26 +5340 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)p +eop end +%%Page: 87 93 +TeXDict begin 87 92 bop 150 -116 a Ft(Chapter)30 b(6:)41 +b(Bash)30 b(F)-8 b(eatures)2484 b(87)199 299 y(3.)61 +b(The)40 b(message)h(prin)m(ted)f(b)m(y)g(the)h(job)f(con)m(trol)h(co)s +(de)g(and)f(builtins)f(when)h(a)g(job)g(is)h(stopp)s(ed)e(is)330 +408 y(`Stopp)s(ed\()p Fq(signame)5 b Ft(\)',)31 b(where)f +Fq(signame)36 b Ft(is,)31 b(for)f(example,)h Fs(SIGTSTP)p +Ft(.)199 541 y(4.)61 b(The)27 b Fs(bg)g Ft(builtin)g(uses)g(the)h +(required)f(format)h(to)g(describ)s(e)f(eac)m(h)i(job)e(placed)h(in)f +(the)h(bac)m(kground,)330 651 y(whic)m(h)h(do)s(es)g(not)g(include)g +(an)g(indication)h(of)f(whether)f(the)h(job)g(is)g(the)h(curren)m(t)e +(or)h(previous)g(job.)199 783 y(5.)61 b(Reserv)m(ed)40 +b(w)m(ords)g(app)s(earing)f(in)h(a)g(con)m(text)i(where)d(reserv)m(ed)h +(w)m(ords)f(are)i(recognized)g(do)f(not)330 893 y(undergo)30 +b(alias)h(expansion.)199 1026 y(6.)61 b(The)38 b Fl(posix)h +Fs(PS1)f Ft(and)g Fs(PS2)g Ft(expansions)g(of)i(`)p Fs(!)p +Ft(')f(to)g(the)g(history)g(n)m(um)m(b)s(er)f(and)g(`)p +Fs(!!)p Ft(')h(to)g(`)p Fs(!)p Ft(')h(are)330 1135 y(enabled,)26 b(and)f(parameter)g(expansion)g(is)g(p)s(erformed)e(on)i(the)g(v)-5 b(alues)25 b(of)g Fs(PS1)f Ft(and)h Fs(PS2)f Ft(regardless)330 -518 y(of)31 b(the)f(setting)i(of)e(the)h Fs(promptvars)c -Ft(option.)199 649 y(7.)61 b(The)30 b Fl(posix)g Ft(startup)f(\014les)i -(are)g(executed)g(\()p Fs($ENV)p Ft(\))f(rather)g(than)g(the)h(normal)f -(Bash)g(\014les.)199 779 y(8.)61 b(Tilde)30 b(expansion)g(is)f(only)h +1245 y(of)31 b(the)f(setting)i(of)e(the)h Fs(promptvars)c +Ft(option.)199 1377 y(7.)61 b(The)30 b Fl(posix)g Ft(startup)f(\014les) +i(are)g(executed)g(\()p Fs($ENV)p Ft(\))f(rather)g(than)g(the)h(normal) +f(Bash)g(\014les.)199 1510 y(8.)61 b(Tilde)30 b(expansion)g(is)f(only)h (p)s(erformed)f(on)h(assignmen)m(ts)g(preceding)g(a)g(command)g(name,)g -(rather)330 889 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h(on) -e(the)h(line.)199 1019 y(9.)61 b(The)30 b(default)g(history)h(\014le)f -(is)h(`)p Fs(~/.sh_history)p Ft(')c(\(this)k(is)f(the)g(default)h(v)-5 -b(alue)31 b(of)f Fs($HISTFILE)p Ft(\).)154 1149 y(10.)61 -b(The)23 b(output)f(of)i(`)p Fs(kill)29 b(-l)p Ft(')23 -b(prin)m(ts)f(all)i(the)g(signal)f(names)g(on)g(a)h(single)g(line,)h -(separated)e(b)m(y)g(spaces,)330 1259 y(without)30 b(the)h(`)p -Fs(SIG)p Ft(')f(pre\014x.)154 1390 y(11.)61 b(The)30 -b Fs(kill)f Ft(builtin)h(do)s(es)g(not)h(accept)h(signal)f(names)f -(with)g(a)h(`)p Fs(SIG)p Ft(')f(pre\014x.)154 1520 y(12.)61 -b(Non-in)m(teractiv)m(e)34 b(shells)c(exit)h(if)g Fq(\014lename)k -Ft(in)30 b Fs(.)g Fq(\014lename)36 b Ft(is)31 b(not)f(found.)154 -1650 y(13.)61 b(Non-in)m(teractiv)m(e)41 b(shells)d(exit)h(if)f(a)g -(syn)m(tax)g(error)g(in)f(an)h(arithmetic)h(expansion)f(results)f(in)h -(an)330 1760 y(in)m(v)-5 b(alid)31 b(expression.)154 -1891 y(14.)61 b(Redirection)25 b(op)s(erators)f(do)g(not)g(p)s(erform)f -(\014lename)h(expansion)g(on)g(the)g(w)m(ord)f(in)h(the)g(redirection) -330 2000 y(unless)30 b(the)g(shell)h(is)f(in)m(teractiv)m(e.)154 -2131 y(15.)61 b(Redirection)31 b(op)s(erators)g(do)f(not)h(p)s(erform)e -(w)m(ord)h(splitting)h(on)f(the)h(w)m(ord)f(in)g(the)g(redirection.)154 -2261 y(16.)61 b(F)-8 b(unction)35 b(names)g(m)m(ust)f(b)s(e)g(v)-5 +(rather)330 1620 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h +(on)e(the)h(line.)199 1752 y(9.)61 b(The)30 b(default)g(history)h +(\014le)f(is)h(`)p Fs(~/.sh_history)p Ft(')c(\(this)k(is)f(the)g +(default)h(v)-5 b(alue)31 b(of)f Fs($HISTFILE)p Ft(\).)154 +1885 y(10.)61 b(The)23 b(output)f(of)i(`)p Fs(kill)29 +b(-l)p Ft(')23 b(prin)m(ts)f(all)i(the)g(signal)f(names)g(on)g(a)h +(single)g(line,)h(separated)e(b)m(y)g(spaces,)330 1995 +y(without)30 b(the)h(`)p Fs(SIG)p Ft(')f(pre\014x.)154 +2127 y(11.)61 b(The)30 b Fs(kill)f Ft(builtin)h(do)s(es)g(not)h(accept) +h(signal)f(names)f(with)g(a)h(`)p Fs(SIG)p Ft(')f(pre\014x.)154 +2260 y(12.)61 b(Non-in)m(teractiv)m(e)34 b(shells)c(exit)h(if)g +Fq(\014lename)k Ft(in)30 b Fs(.)g Fq(\014lename)36 b +Ft(is)31 b(not)f(found.)154 2393 y(13.)61 b(Non-in)m(teractiv)m(e)41 +b(shells)d(exit)h(if)f(a)g(syn)m(tax)g(error)g(in)f(an)h(arithmetic)h +(expansion)f(results)f(in)h(an)330 2502 y(in)m(v)-5 b(alid)31 +b(expression.)154 2635 y(14.)61 b(Non-in)m(teractiv)m(e)27 +b(shells)c(exit)i(if)e(there)h(is)f(a)h(syn)m(tax)g(error)f(in)g(a)h +(script)f(read)g(with)h(the)f Fs(.)g Ft(or)h Fs(source)330 +2744 y Ft(builtins,)30 b(or)g(in)g(a)h(string)g(pro)s(cessed)e(b)m(y)i +(the)f Fs(eval)f Ft(builtin.)154 2877 y(15.)61 b(Redirection)25 +b(op)s(erators)f(do)g(not)g(p)s(erform)f(\014lename)h(expansion)g(on)g +(the)g(w)m(ord)f(in)h(the)g(redirection)330 2987 y(unless)30 +b(the)g(shell)h(is)f(in)m(teractiv)m(e.)154 3119 y(16.)61 +b(Redirection)31 b(op)s(erators)g(do)f(not)h(p)s(erform)e(w)m(ord)h +(splitting)h(on)f(the)h(w)m(ord)f(in)g(the)g(redirection.)154 +3252 y(17.)61 b(F)-8 b(unction)35 b(names)g(m)m(ust)f(b)s(e)g(v)-5 b(alid)35 b(shell)f Fs(name)p Ft(s.)52 b(That)34 b(is,)i(they)f(ma)m(y) -g(not)g(con)m(tain)g(c)m(haracters)330 2371 y(other)e(than)g(letters,)h +g(not)g(con)m(tain)g(c)m(haracters)330 3362 y(other)e(than)g(letters,)h (digits,)h(and)d(underscores,)h(and)f(ma)m(y)h(not)g(start)h(with)e(a)h -(digit.)49 b(Declaring)330 2480 y(a)31 b(function)f(with)g(an)g(in)m(v) +(digit.)49 b(Declaring)330 3471 y(a)31 b(function)f(with)g(an)g(in)m(v) -5 b(alid)31 b(name)g(causes)f(a)h(fatal)h(syn)m(tax)f(error)f(in)g -(non-in)m(teractiv)m(e)j(shells.)154 2611 y(17.)61 b +(non-in)m(teractiv)m(e)j(shells.)154 3604 y(18.)61 b Fl(posix)30 b Ft(sp)s(ecial)h(builtins)e(are)i(found)e(b)s(efore)h (shell)h(functions)f(during)f(command)h(lo)s(okup.)154 -2741 y(18.)61 b(If)24 b(a)g Fl(posix)g Ft(sp)s(ecial)h(builtin)f +3737 y(19.)61 b(The)29 b Fs(time)g Ft(reserv)m(ed)h(w)m(ord)g(ma)m(y)g +(b)s(e)g(used)f(b)m(y)h(itself)g(as)g(a)h(command.)40 +b(When)30 b(used)f(in)g(this)h(w)m(a)m(y)-8 b(,)330 3846 +y(it)33 b(displa)m(ys)g(timing)g(statistics)h(for)e(the)h(shell)g(and)f +(its)g(completed)i(c)m(hildren.)47 b(The)32 b Fs(TIMEFORMAT)330 +3956 y Ft(v)-5 b(ariable)31 b(con)m(trols)h(the)e(format)h(of)g(the)f +(timing)h(information.)154 4088 y(20.)61 b(When)33 b(parsing)f(and)g +(expanding)g(a)i($)p Fs({)6 b Ft(.)22 b(.)g(.)11 b Fs(})33 +b Ft(expansion)f(that)i(app)s(ears)e(within)g(double)g(quotes,)330 +4198 y(single)42 b(quotes)g(are)g(no)g(longer)g(sp)s(ecial)g(and)f +(cannot)i(b)s(e)e(used)g(to)h(quote)g(a)g(closing)h(brace)f(or)330 +4308 y(other)31 b(sp)s(ecial)h(c)m(haracter,)i(unless)c(the)i(op)s +(erator)f(is)g(one)h(of)f(those)h(de\014ned)e(to)i(p)s(erform)e +(pattern)330 4417 y(remo)m(v)-5 b(al.)42 b(In)30 b(this)g(case,)i(they) +e(do)g(not)h(ha)m(v)m(e)h(to)f(app)s(ear)e(as)i(matc)m(hed)g(pairs.)154 +4550 y(21.)61 b(If)24 b(a)g Fl(posix)g Ft(sp)s(ecial)h(builtin)f (returns)f(an)h(error)g(status,)i(a)e(non-in)m(teractiv)m(e)j(shell)e -(exits.)39 b(The)24 b(fatal)330 2851 y(errors)30 b(are)h(those)f +(exits.)39 b(The)24 b(fatal)330 4659 y(errors)30 b(are)h(those)f (listed)h(in)f(the)h Fl(posix)e Ft(standard,)h(and)g(include)g(things)g -(lik)m(e)i(passing)e(incorrect)330 2960 y(options,)43 +(lik)m(e)i(passing)e(incorrect)330 4769 y(options,)43 b(redirection)d(errors,)i(v)-5 b(ariable)41 b(assignmen)m(t)g(errors)e -(for)g(assignmen)m(ts)i(preceding)f(the)330 3070 y(command)30 -b(name,)h(and)f(so)g(on.)154 3200 y(19.)61 b(If)34 b +(for)g(assignmen)m(ts)i(preceding)f(the)330 4879 y(command)30 +b(name,)h(and)f(so)g(on.)154 5011 y(22.)61 b(If)34 b Fs(CDPATH)f Ft(is)h(set,)i(the)f Fs(cd)f Ft(builtin)g(will)g(not)h (implicitly)h(app)s(end)c(the)j(curren)m(t)f(directory)h(to)g(it.)330 -3310 y(This)29 b(means)g(that)h Fs(cd)f Ft(will)h(fail)g(if)g(no)f(v)-5 +5121 y(This)29 b(means)g(that)h Fs(cd)f Ft(will)h(fail)g(if)g(no)f(v)-5 b(alid)30 b(directory)g(name)f(can)h(b)s(e)f(constructed)h(from)f(an)m -(y)h(of)330 3420 y(the)i(en)m(tries)g(in)f Fs($CDPATH)p +(y)h(of)330 5230 y(the)i(en)m(tries)g(in)f Fs($CDPATH)p Ft(,)e(ev)m(en)j(if)g(the)f(a)h(directory)g(with)f(the)g(same)h(name)f -(as)h(the)g(name)f(giv)m(en)330 3529 y(as)g(an)f(argumen)m(t)h(to)g +(as)h(the)g(name)f(giv)m(en)330 5340 y(as)g(an)f(argumen)m(t)h(to)g Fs(cd)f Ft(exists)h(in)f(the)g(curren)m(t)g(directory)-8 -b(.)154 3660 y(20.)61 b(A)31 b(non-in)m(teractiv)m(e)j(shell)d(exits)h -(with)e(an)h(error)g(status)g(if)g(a)g(v)-5 b(ariable)32 -b(assignmen)m(t)g(error)e(o)s(ccurs)330 3769 y(when)38 -b(no)h(command)g(name)g(follo)m(ws)i(the)e(assignmen)m(t)h(statemen)m -(ts.)69 b(A)39 b(v)-5 b(ariable)40 b(assignmen)m(t)330 -3879 y(error)30 b(o)s(ccurs,)g(for)g(example,)i(when)d(trying)i(to)g +b(.)p eop end +%%Page: 88 94 +TeXDict begin 88 93 bop 150 -116 a Ft(88)2572 b(Bash)31 +b(Reference)g(Man)m(ual)154 299 y(23.)61 b(A)31 b(non-in)m(teractiv)m +(e)j(shell)d(exits)h(with)e(an)h(error)g(status)g(if)g(a)g(v)-5 +b(ariable)32 b(assignmen)m(t)g(error)e(o)s(ccurs)330 +408 y(when)38 b(no)h(command)g(name)g(follo)m(ws)i(the)e(assignmen)m(t) +h(statemen)m(ts.)69 b(A)39 b(v)-5 b(ariable)40 b(assignmen)m(t)330 +518 y(error)30 b(o)s(ccurs,)g(for)g(example,)i(when)d(trying)i(to)g (assign)f(a)h(v)-5 b(alue)31 b(to)g(a)g(readonly)f(v)-5 -b(ariable.)154 4009 y(21.)61 b(A)43 b(non-in)m(teractiv)m(e)i(shell)e +b(ariable.)154 651 y(24.)61 b(A)43 b(non-in)m(teractiv)m(e)i(shell)e (exits)h(with)f(an)f(error)h(status)g(if)g(the)g(iteration)h(v)-5 -b(ariable)44 b(in)f(a)g Fs(for)330 4119 y Ft(statemen)m(t)32 +b(ariable)44 b(in)f(a)g Fs(for)330 760 y Ft(statemen)m(t)32 b(or)f(the)f(selection)i(v)-5 b(ariable)32 b(in)e(a)g Fs(select)f Ft(statemen)m(t)j(is)f(a)f(readonly)h(v)-5 -b(ariable.)154 4249 y(22.)61 b(Pro)s(cess)30 b(substitution)g(is)h(not) -f(a)m(v)-5 b(ailable.)154 4380 y(23.)61 b(Assignmen)m(t)23 +b(ariable.)154 893 y(25.)61 b(Pro)s(cess)30 b(substitution)g(is)h(not)f +(a)m(v)-5 b(ailable.)154 1026 y(26.)61 b(Assignmen)m(t)23 b(statemen)m(ts)h(preceding)e Fl(posix)f Ft(sp)s(ecial)i(builtins)f(p)s -(ersist)g(in)f(the)i(shell)f(en)m(vironmen)m(t)330 4489 -y(after)31 b(the)f(builtin)g(completes.)154 4620 y(24.)61 +(ersist)g(in)f(the)i(shell)f(en)m(vironmen)m(t)330 1135 +y(after)31 b(the)f(builtin)g(completes.)154 1268 y(27.)61 b(Assignmen)m(t)35 b(statemen)m(ts)h(preceding)f(shell)f(function)g (calls)i(p)s(ersist)e(in)g(the)h(shell)f(en)m(vironmen)m(t)330 -4729 y(after)d(the)f(function)h(returns,)e(as)i(if)f(a)h +1377 y(after)d(the)f(function)h(returns,)e(as)i(if)f(a)h Fl(posix)e Ft(sp)s(ecial)i(builtin)f(command)g(had)g(b)s(een)g -(executed.)154 4860 y(25.)61 b(The)38 b Fs(export)f Ft(and)g +(executed.)154 1510 y(28.)61 b(The)38 b Fs(export)f Ft(and)g Fs(readonly)f Ft(builtin)i(commands)g(displa)m(y)h(their)f(output)g(in) -g(the)h(format)g(re-)330 4969 y(quired)30 b(b)m(y)g Fl(posix)p -Ft(.)154 5100 y(26.)61 b(The)30 b Fs(trap)f Ft(builtin)h(displa)m(ys)g +g(the)h(format)g(re-)330 1620 y(quired)30 b(b)m(y)g Fl(posix)p +Ft(.)154 1752 y(29.)61 b(The)30 b Fs(trap)f Ft(builtin)h(displa)m(ys)g (signal)i(names)e(without)g(the)h(leading)g Fs(SIG)p -Ft(.)154 5230 y(27.)61 b(The)39 b Fs(trap)e Ft(builtin)i(do)s(esn't)g +Ft(.)154 1885 y(30.)61 b(The)39 b Fs(trap)e Ft(builtin)i(do)s(esn't)g (c)m(hec)m(k)h(the)g(\014rst)e(argumen)m(t)i(for)e(a)i(p)s(ossible)e -(signal)i(sp)s(eci\014cation)330 5340 y(and)30 b(rev)m(ert)i(the)e +(signal)i(sp)s(eci\014cation)330 1995 y(and)30 b(rev)m(ert)i(the)e (signal)i(handling)e(to)h(the)g(original)h(disp)s(osition)e(if)h(it)g -(is,)g(unless)f(that)h(argumen)m(t)p eop end -%%Page: 86 92 -TeXDict begin 86 91 bop 150 -116 a Ft(86)2572 b(Bash)31 -b(Reference)g(Man)m(ual)330 299 y(consists)e(solely)g(of)g(digits)g -(and)f(is)g(a)h(v)-5 b(alid)29 b(signal)g(n)m(um)m(b)s(er.)38 +(is,)g(unless)f(that)h(argumen)m(t)330 2104 y(consists)e(solely)g(of)g +(digits)g(and)f(is)g(a)h(v)-5 b(alid)29 b(signal)g(n)m(um)m(b)s(er.)38 b(If)28 b(users)g(w)m(an)m(t)h(to)g(reset)g(the)g(handler)330 -408 y(for)h(a)g(giv)m(en)h(signal)g(to)f(the)h(original)g(disp)s +2214 y(for)h(a)g(giv)m(en)h(signal)g(to)f(the)h(original)g(disp)s (osition,)f(they)g(should)f(use)h(`)p Fs(-)p Ft(')g(as)g(the)g(\014rst) -f(argumen)m(t.)154 540 y(28.)61 b(The)21 b Fs(.)h Ft(and)f +f(argumen)m(t.)154 2346 y(31.)61 b(The)21 b Fs(.)h Ft(and)f Fs(source)f Ft(builtins)h(do)g(not)h(searc)m(h)h(the)f(curren)m(t)f (directory)h(for)g(the)g(\014lename)f(argumen)m(t)330 -650 y(if)30 b(it)h(is)g(not)f(found)f(b)m(y)i(searc)m(hing)g -Fs(PATH)p Ft(.)154 781 y(29.)61 b(Subshells)20 b(spa)m(wned)h(to)h +2456 y(if)30 b(it)h(is)g(not)f(found)f(b)m(y)i(searc)m(hing)g +Fs(PATH)p Ft(.)154 2589 y(32.)61 b(Subshells)20 b(spa)m(wned)h(to)h (execute)g(command)g(substitutions)f(inherit)g(the)g(v)-5 b(alue)22 b(of)g(the)f(`)p Fs(-e)p Ft(')g(option)330 -891 y(from)34 b(the)h(paren)m(t)g(shell.)55 b(When)34 +2698 y(from)34 b(the)h(paren)m(t)g(shell.)55 b(When)34 b(not)i(in)e Fl(posix)g Ft(mo)s(de,)i(Bash)f(clears)h(the)f(`)p -Fs(-e)p Ft(')f(option)i(in)e(suc)m(h)330 1000 y(subshells.)154 -1132 y(30.)61 b(Alias)31 b(expansion)g(is)f(alw)m(a)m(ys)i(enabled,)e -(ev)m(en)i(in)e(non-in)m(teractiv)m(e)j(shells.)154 1263 -y(31.)61 b(When)43 b(the)g Fs(alias)f Ft(builtin)g(displa)m(ys)i(alias) +Fs(-e)p Ft(')f(option)i(in)e(suc)m(h)330 2808 y(subshells.)154 +2941 y(33.)61 b(Alias)31 b(expansion)g(is)f(alw)m(a)m(ys)i(enabled,)e +(ev)m(en)i(in)e(non-in)m(teractiv)m(e)j(shells.)154 3073 +y(34.)61 b(When)43 b(the)g Fs(alias)f Ft(builtin)g(displa)m(ys)i(alias) g(de\014nitions,)i(it)d(do)s(es)g(not)g(displa)m(y)h(them)f(with)g(a) -330 1373 y(leading)31 b(`)p Fs(alias)e Ft(')i(unless)f(the)g(`)p -Fs(-p)p Ft(')g(option)h(is)g(supplied.)154 1504 y(32.)61 +330 3183 y(leading)31 b(`)p Fs(alias)e Ft(')i(unless)f(the)g(`)p +Fs(-p)p Ft(')g(option)h(is)g(supplied.)154 3315 y(35.)61 b(When)40 b(the)g Fs(set)f Ft(builtin)h(is)g(in)m(v)m(ok)m(ed)h (without)f(options,)j(it)e(do)s(es)f(not)g(displa)m(y)g(shell)g -(function)330 1614 y(names)30 b(and)g(de\014nitions.)154 -1745 y(33.)61 b(When)36 b(the)g Fs(set)g Ft(builtin)g(is)g(in)m(v)m(ok) +(function)330 3425 y(names)30 b(and)g(de\014nitions.)154 +3558 y(36.)61 b(When)36 b(the)g Fs(set)g Ft(builtin)g(is)g(in)m(v)m(ok) m(ed)i(without)e(options,)i(it)f(displa)m(ys)f(v)-5 b(ariable)37 -b(v)-5 b(alues)37 b(without)330 1855 y(quotes,)26 b(unless)d(they)i +b(v)-5 b(alues)37 b(without)330 3667 y(quotes,)26 b(unless)d(they)i (con)m(tain)g(shell)f(metac)m(haracters,)k(ev)m(en)d(if)f(the)g(result) -g(con)m(tains)i(nonprin)m(ting)330 1965 y(c)m(haracters.)154 -2096 y(34.)61 b(When)35 b(the)g Fs(cd)f Ft(builtin)h(is)g(in)m(v)m(ok)m +g(con)m(tains)i(nonprin)m(ting)330 3777 y(c)m(haracters.)154 +3910 y(37.)61 b(When)35 b(the)g Fs(cd)f Ft(builtin)h(is)g(in)m(v)m(ok)m (ed)i(in)d Fq(logical)41 b Ft(mo)s(de,)36 b(and)f(the)g(pathname)g -(constructed)g(from)330 2206 y Fs($PWD)i Ft(and)h(the)h(directory)f +(constructed)g(from)330 4019 y Fs($PWD)i Ft(and)h(the)h(directory)f (name)h(supplied)e(as)i(an)f(argumen)m(t)h(do)s(es)f(not)g(refer)h(to)g -(an)f(existing)330 2315 y(directory)-8 b(,)32 b Fs(cd)d +(an)f(existing)330 4129 y(directory)-8 b(,)32 b Fs(cd)d Ft(will)i(fail)g(instead)g(of)f(falling)h(bac)m(k)h(to)f -Fq(ph)m(ysical)j Ft(mo)s(de.)154 2447 y(35.)61 b(When)20 +Fq(ph)m(ysical)j Ft(mo)s(de.)154 4261 y(38.)61 b(When)20 b(the)h Fs(pwd)e Ft(builtin)h(is)g(supplied)g(the)g(`)p Fs(-P)p Ft(')g(option,)j(it)e(resets)g Fs($PWD)e Ft(to)i(a)g(pathname)f -(con)m(taining)330 2556 y(no)30 b(symlinks.)154 2688 -y(36.)61 b(The)36 b Fs(pwd)f Ft(builtin)h(v)m(eri\014es)h(that)g(the)f +(con)m(taining)330 4371 y(no)30 b(symlinks.)154 4504 +y(39.)61 b(The)36 b Fs(pwd)f Ft(builtin)h(v)m(eri\014es)h(that)g(the)f (v)-5 b(alue)37 b(it)g(prin)m(ts)e(is)i(the)f(same)h(as)f(the)h(curren) -m(t)f(directory)-8 b(,)330 2798 y(ev)m(en)31 b(if)f(it)h(is)g(not)f +m(t)f(directory)-8 b(,)330 4613 y(ev)m(en)31 b(if)f(it)h(is)g(not)f (ask)m(ed)h(to)g(c)m(hec)m(k)h(the)f(\014le)f(system)h(with)f(the)h(`)p -Fs(-P)p Ft(')f(option.)154 2929 y(37.)61 b(When)35 b(listing)g(the)g +Fs(-P)p Ft(')f(option.)154 4746 y(40.)61 b(When)35 b(listing)g(the)g (history)-8 b(,)36 b(the)f Fs(fc)g Ft(builtin)f(do)s(es)g(not)h -(include)g(an)f(indication)i(of)f(whether)f(or)330 3039 +(include)g(an)f(indication)i(of)f(whether)f(or)330 4855 y(not)d(a)f(history)h(en)m(try)f(has)g(b)s(een)g(mo)s(di\014ed.)154 -3170 y(38.)61 b(The)30 b(default)g(editor)h(used)f(b)m(y)g -Fs(fc)g Ft(is)g Fs(ed)p Ft(.)154 3302 y(39.)61 b(The)37 +4988 y(41.)61 b(The)30 b(default)g(editor)h(used)f(b)m(y)g +Fs(fc)g Ft(is)g Fs(ed)p Ft(.)154 5121 y(42.)61 b(The)37 b Fs(type)g Ft(and)g Fs(command)f Ft(builtins)i(will)g(not)g(rep)s(ort) f(a)i(non-executable)g(\014le)f(as)g(ha)m(ving)h(b)s(een)330 -3411 y(found,)26 b(though)h(the)g(shell)g(will)g(attempt)h(to)g +5230 y(found,)26 b(though)h(the)g(shell)g(will)g(attempt)h(to)g (execute)g(suc)m(h)f(a)g(\014le)g(if)g(it)g(is)g(the)g(only)g(so-named) -g(\014le)330 3521 y(found)i(in)h Fs($PATH)p Ft(.)154 -3652 y(40.)61 b(The)33 b Fs(vi)f Ft(editing)i(mo)s(de)f(will)g(in)m(v)m -(ok)m(e)i(the)e Fs(vi)g Ft(editor)h(directly)f(when)f(the)i(`)p -Fs(v)p Ft(')f(command)g(is)g(run,)330 3762 y(instead)e(of)f(c)m(hec)m -(king)i Fs($VISUAL)d Ft(and)g Fs($EDITOR)p Ft(.)154 3893 -y(41.)61 b(When)41 b(the)g Fs(xpg_echo)e Ft(option)i(is)g(enabled,)j -(Bash)d(do)s(es)g(not)g(attempt)h(to)g(in)m(terpret)f(an)m(y)h(ar-)330 -4003 y(gumen)m(ts)35 b(to)g Fs(echo)e Ft(as)i(options.)54 +g(\014le)330 5340 y(found)i(in)h Fs($PATH)p Ft(.)p eop +end +%%Page: 89 95 +TeXDict begin 89 94 bop 150 -116 a Ft(Chapter)30 b(6:)41 +b(Bash)30 b(F)-8 b(eatures)2484 b(89)154 299 y(43.)61 +b(The)33 b Fs(vi)f Ft(editing)i(mo)s(de)f(will)g(in)m(v)m(ok)m(e)i(the) +e Fs(vi)g Ft(editor)h(directly)f(when)f(the)i(`)p Fs(v)p +Ft(')f(command)g(is)g(run,)330 408 y(instead)e(of)f(c)m(hec)m(king)i +Fs($VISUAL)d Ft(and)g Fs($EDITOR)p Ft(.)154 543 y(44.)61 +b(When)41 b(the)g Fs(xpg_echo)e Ft(option)i(is)g(enabled,)j(Bash)d(do)s +(es)g(not)g(attempt)h(to)g(in)m(terpret)f(an)m(y)h(ar-)330 +653 y(gumen)m(ts)35 b(to)g Fs(echo)e Ft(as)i(options.)54 b(Eac)m(h)35 b(argumen)m(t)g(is)f(displa)m(y)m(ed,)j(after)e(escap)s(e) -g(c)m(haracters)h(are)330 4113 y(con)m(v)m(erted.)154 -4244 y(42.)61 b(The)30 b Fs(ulimit)f Ft(builtin)g(uses)h(a)h(blo)s(c)m +g(c)m(haracters)h(are)330 762 y(con)m(v)m(erted.)154 +897 y(45.)61 b(The)30 b Fs(ulimit)f Ft(builtin)g(uses)h(a)h(blo)s(c)m (k)g(size)g(of)g(512)g(b)m(ytes)g(for)f(the)h(`)p Fs(-c)p -Ft(')f(and)g(`)p Fs(-f)p Ft(')g(options.)154 4376 y(43.)61 +Ft(')f(and)g(`)p Fs(-f)p Ft(')g(options.)154 1031 y(46.)61 b(The)39 b(arriv)-5 b(al)41 b(of)f Fs(SIGCHLD)e Ft(when)h(a)h(trap)g (is)g(set)h(on)f Fs(SIGCHLD)e Ft(do)s(es)h(not)h(in)m(terrupt)g(the)g -Fs(wait)330 4485 y Ft(builtin)c(and)h(cause)g(it)h(to)f(return)f +Fs(wait)330 1141 y Ft(builtin)c(and)h(cause)g(it)h(to)f(return)f (immediately)-8 b(.)62 b(The)37 b(trap)f(command)h(is)g(run)e(once)j -(for)f(eac)m(h)330 4595 y(c)m(hild)31 b(that)g(exits.)275 -4748 y(There)j(is)g(other)h Fl(posix)f Ft(b)s(eha)m(vior)h(that)g(Bash) +(for)f(eac)m(h)330 1250 y(c)m(hild)31 b(that)g(exits.)275 +1410 y(There)j(is)g(other)h Fl(posix)f Ft(b)s(eha)m(vior)h(that)g(Bash) g(do)s(es)f(not)h(implemen)m(t)g(b)m(y)g(default)f(ev)m(en)i(when)d(in) -150 4858 y Fl(posix)d Ft(mo)s(de.)40 b(Sp)s(eci\014cally:)199 -4989 y(1.)61 b(The)30 b Fs(fc)f Ft(builtin)h(c)m(hec)m(ks)i +150 1519 y Fl(posix)d Ft(mo)s(de.)40 b(Sp)s(eci\014cally:)199 +1654 y(1.)61 b(The)30 b Fs(fc)f Ft(builtin)h(c)m(hec)m(ks)i Fs($EDITOR)c Ft(as)j(a)f(program)g(to)h(edit)g(history)f(en)m(tries)h -(if)f Fs(FCEDIT)f Ft(is)h(unset,)330 5099 y(rather)g(than)g(defaulting) +(if)f Fs(FCEDIT)f Ft(is)h(unset,)330 1763 y(rather)g(than)g(defaulting) h(directly)g(to)g Fs(ed)p Ft(.)40 b Fs(fc)30 b Ft(uses)g -Fs(ed)g Ft(if)g Fs(EDITOR)f Ft(is)h(unset.)199 5230 y(2.)61 +Fs(ed)g Ft(if)g Fs(EDITOR)f Ft(is)h(unset.)199 1898 y(2.)61 b(As)29 b(noted)g(ab)s(o)m(v)m(e,)i(Bash)e(requires)g(the)g Fs(xpg_echo)e Ft(option)j(to)g(b)s(e)e(enabled)h(for)g(the)g -Fs(echo)f Ft(builtin)330 5340 y(to)j(b)s(e)f(fully)g(conforman)m(t.)p -eop end -%%Page: 87 93 -TeXDict begin 87 92 bop 150 -116 a Ft(Chapter)30 b(6:)41 -b(Bash)30 b(F)-8 b(eatures)2484 b(87)275 299 y(Bash)66 -b(can)h(b)s(e)f(con\014gured)g(to)i(b)s(e)e Fl(posix)p -Ft(-conforman)m(t)h(b)m(y)f(default,)77 b(b)m(y)66 b(sp)s(ecifying)h -(the)150 408 y(`)p Fs(--enable-strict-posix-def)o(ault)o -Ft(')i(to)76 b Fs(configure)c Ft(when)i(building)g(\(see)i(Section)f -(10.8)150 518 y([Optional)31 b(F)-8 b(eatures],)32 b(page)f(129\).)p -eop end -%%Page: 88 94 -TeXDict begin 88 93 bop eop end -%%Page: 89 95 -TeXDict begin 89 94 bop 150 -116 a Ft(Chapter)30 b(7:)41 -b(Job)30 b(Con)m(trol)2571 b(89)150 299 y Fo(7)80 b(Job)54 +Fs(echo)f Ft(builtin)330 2007 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275 +2167 y(Bash)66 b(can)h(b)s(e)f(con\014gured)g(to)i(b)s(e)e +Fl(posix)p Ft(-conforman)m(t)h(b)m(y)f(default,)77 b(b)m(y)66 +b(sp)s(ecifying)h(the)150 2276 y(`)p Fs(--enable-strict-posix-def)o +(ault)o Ft(')i(to)76 b Fs(configure)c Ft(when)i(building)g(\(see)i +(Section)f(10.8)150 2386 y([Optional)31 b(F)-8 b(eatures],)32 +b(page)f(131\).)p eop end +%%Page: 90 96 +TeXDict begin 90 95 bop eop end +%%Page: 91 97 +TeXDict begin 91 96 bop 150 -116 a Ft(Chapter)30 b(7:)41 +b(Job)30 b(Con)m(trol)2571 b(91)150 299 y Fo(7)80 b(Job)54 b(Con)l(trol)150 521 y Ft(This)25 b(c)m(hapter)i(discusses)f(what)g (job)f(con)m(trol)j(is,)f(ho)m(w)f(it)h(w)m(orks,)g(and)f(ho)m(w)g (Bash)g(allo)m(ws)h(y)m(ou)g(to)g(access)150 631 y(its)k(facilities.) @@ -11127,8 +11272,8 @@ h Fs(jobs)e Ft(command\),)k(the)d(curren)m(t)h(job)f(is)g(alw)m(a)m(ys) i(\015agged)f(with)f(a)h(`)p Fs(+)p Ft(',)i(and)d(the)150 5340 y(previous)30 b(job)g(with)g(a)h(`)p Fs(-)p Ft('.)p eop end -%%Page: 90 96 -TeXDict begin 90 95 bop 150 -116 a Ft(90)2572 b(Bash)31 +%%Page: 92 98 +TeXDict begin 92 97 bop 150 -116 a Ft(92)2572 b(Bash)31 b(Reference)g(Man)m(ual)275 299 y(A)38 b(job)g(ma)m(y)h(also)g(b)s(e)f (referred)f(to)j(using)d(a)i(pre\014x)e(of)i(the)f(name)h(used)e(to)i (start)g(it,)i(or)e(using)f(a)150 408 y(substring)29 @@ -11154,13 +11299,13 @@ g(to)g(not)g(in)m(terrupt)150 1334 y(an)m(y)g(other)g(output.)39 b(If)24 b(the)i(`)p Fs(-b)p Ft(')e(option)i(to)f(the)g Fs(set)f Ft(builtin)h(is)g(enabled,)h(Bash)f(rep)s(orts)f(suc)m(h)h(c)m (hanges)150 1443 y(immediately)g(\(see)g(Section)g(4.3.1)g([The)f(Set)g -(Builtin],)i(page)f(51\).)40 b(An)m(y)24 b(trap)f(on)h +(Builtin],)i(page)f(53\).)40 b(An)m(y)24 b(trap)f(on)h Fs(SIGCHLD)e Ft(is)i(executed)150 1553 y(for)30 b(eac)m(h)i(c)m(hild)e (pro)s(cess)g(that)h(exits.)275 1687 y(If)25 b(an)h(attempt)h(to)g (exit)g(Bash)f(is)h(made)f(while)g(jobs)f(are)i(stopp)s(ed,)f(\(or)h (running,)e(if)h(the)g Fs(checkjobs)150 1796 y Ft(option)e(is)f (enabled)h({)g(see)g(Section)g(4.3.2)h([The)e(Shopt)g(Builtin],)j(page) -e(55\),)i(the)e(shell)f(prin)m(ts)g(a)h(w)m(arning)150 +e(57\),)i(the)e(shell)f(prin)m(ts)g(a)h(w)m(arning)150 1906 y(message,)k(and)c(if)i(the)f Fs(checkjobs)e Ft(option)j(is)f (enabled,)i(lists)e(the)h(jobs)f(and)f(their)i(statuses.)39 b(The)25 b Fs(jobs)150 2016 y Ft(command)36 b(ma)m(y)h(then)f(b)s(e)f @@ -11205,9 +11350,9 @@ Ft(s)g(in)g(addition)h(to)g(the)f(normal)h(information.)630 (status.)630 5340 y Fs(-p)384 b Ft(List)31 b(only)f(the)h(pro)s(cess)f Fl(id)g Ft(of)h(the)f(job's)g(pro)s(cess)g(group)g(leader.)p eop end -%%Page: 91 97 -TeXDict begin 91 96 bop 150 -116 a Ft(Chapter)30 b(7:)41 -b(Job)30 b(Con)m(trol)2571 b(91)630 299 y Fs(-r)384 b +%%Page: 93 99 +TeXDict begin 93 98 bop 150 -116 a Ft(Chapter)30 b(7:)41 +b(Job)30 b(Con)m(trol)2571 b(93)630 299 y Fs(-r)384 b Ft(Restrict)31 b(output)f(to)i(running)c(jobs.)630 461 y Fs(-s)384 b Ft(Restrict)31 b(output)f(to)i(stopp)s(ed)d(jobs.)630 622 y(If)23 b Fq(jobsp)s(ec)28 b Ft(is)c(giv)m(en,)i(output)d(is)h @@ -11283,8 +11428,8 @@ Ft(signal.)50 b(A)33 b(login)630 5230 y(shell)24 b(cannot)h(b)s(e)e (susp)s(ended;)h(the)g(`)p Fs(-f)p Ft(')g(option)g(can)h(b)s(e)e(used)g (to)i(o)m(v)m(erride)g(this)f(and)f(force)630 5340 y(the)31 b(susp)s(ension.)p eop end -%%Page: 92 98 -TeXDict begin 92 97 bop 150 -116 a Ft(92)2572 b(Bash)31 +%%Page: 94 100 +TeXDict begin 94 99 bop 150 -116 a Ft(94)2572 b(Bash)31 b(Reference)g(Man)m(ual)275 299 y(When)f(job)f(con)m(trol)j(is)e(not)h (activ)m(e,)i(the)d Fs(kill)f Ft(and)h Fs(wait)f Ft(builtins)g(do)h (not)h(accept)h Fq(jobsp)s(ec)j Ft(argu-)150 408 y(men)m(ts.)41 @@ -11311,15 +11456,15 @@ Ft(',)d(the)i(string)g(supplied)e(needs)i(to)g(matc)m(h)h(a)f 62 b(The)37 b(`)p Fs(substring)p Ft(')e(v)-5 b(alue)38 b(pro)m(vides)f(functionalit)m(y)i(analogous)g(to)630 1921 y(the)f(`)p Fs(\045?)p Ft(')f(job)h Fl(id)f Ft(\(see)i(Section)f -(7.1)h([Job)f(Con)m(trol)g(Basics],)j(page)d(89\).)64 +(7.1)h([Job)f(Con)m(trol)g(Basics],)j(page)d(91\).)64 b(If)37 b(set)h(to)h(an)m(y)630 2031 y(other)32 b(v)-5 b(alue,)32 b(the)g(supplied)e(string)i(m)m(ust)f(b)s(e)g(a)h(pre\014x)f (of)h(a)g(stopp)s(ed)e(job's)i(name;)g(this)630 2140 y(pro)m(vides)e(functionalit)m(y)i(analogous)g(to)f(the)g(`)p Fs(\045)p Ft(')f(job)g Fl(id)p Ft(.)p eop end -%%Page: 93 99 -TeXDict begin 93 98 bop 150 -116 a Ft(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2107 b(93)150 299 y Fo(8)80 +%%Page: 95 101 +TeXDict begin 95 100 bop 150 -116 a Ft(Chapter)30 b(8:)41 +b(Command)29 b(Line)i(Editing)2107 b(95)150 299 y Fo(8)80 b(Command)54 b(Line)f(Editing)150 640 y Ft(This)28 b(c)m(hapter)i (describ)s(es)e(the)h(basic)g(features)h(of)f(the)g Fl(gnu)f Ft(command)h(line)g(editing)h(in)m(terface.)42 b(Com-)150 @@ -11332,14 +11477,14 @@ Fs(--noediting)p Ft(')d(option)k(is)e(supplied)g(at)h(shell)g(in)m(v)m (o)s(cation.)42 b(Line)26 b(editing)150 1078 y(is)i(also)h(used)e(when) h(using)f(the)h(`)p Fs(-e)p Ft(')g(option)h(to)g(the)f Fs(read)f Ft(builtin)h(command)f(\(see)i(Section)g(4.2)h([Bash)150 -1188 y(Builtins],)37 b(page)f(41\).)57 b(By)36 b(default,)h(the)e(line) +1188 y(Builtins],)37 b(page)f(43\).)57 b(By)36 b(default,)h(the)e(line) h(editing)g(commands)f(are)h(similar)f(to)i(those)e(of)h(emacs.)150 1297 y(A)f(vi-st)m(yle)h(line)f(editing)g(in)m(terface)h(is)e(also)i(a) m(v)-5 b(ailable.)55 b(Line)34 b(editing)h(can)g(b)s(e)f(enabled)g(at)h (an)m(y)g(time)150 1407 y(using)28 b(the)i(`)p Fs(-o)g(emacs)p Ft(')d(or)i(`)p Fs(-o)h(vi)p Ft(')f(options)g(to)h(the)f Fs(set)f Ft(builtin)h(command)g(\(see)h(Section)f(4.3.1)i([The)150 -1517 y(Set)g(Builtin],)g(page)g(51\),)h(or)e(disabled)g(using)g(the)h +1517 y(Set)g(Builtin],)g(page)g(53\),)h(or)e(disabled)g(using)g(the)h (`)p Fs(+o)f(emacs)p Ft(')f(or)h(`)p Fs(+o)g(vi)p Ft(')g(options)h(to)g Fs(set)p Ft(.)150 1802 y Fr(8.1)68 b(In)l(tro)t(duction)45 b(to)g(Line)h(Editing)150 1962 y Ft(The)30 b(follo)m(wing)i(paragraphs) @@ -11379,7 +11524,7 @@ b Fs(DEL)p Ft(,)f Fs(ESC)p Ft(,)g Fs(LFD)p Ft(,)g Fs(SPC)p Ft(,)g Fs(RET)p Ft(,)150 3908 y(and)d Fs(TAB)f Ft(all)j(stand)e(for)g (themselv)m(es)i(when)d(seen)i(in)f(this)g(text,)j(or)d(in)h(an)f(init) h(\014le)f(\(see)i(Section)f(8.3)150 4018 y([Readline)27 -b(Init)g(File],)i(page)e(96\).)41 b(If)26 b(y)m(our)h(k)m(eyb)s(oard)f +b(Init)g(File],)i(page)e(98\).)41 b(If)26 b(y)m(our)h(k)m(eyb)s(oard)f (lac)m(ks)i(a)f Fs(LFD)f Ft(k)m(ey)-8 b(,)29 b(t)m(yping)e Fs(C-j)e Ft(will)i(pro)s(duce)f(the)150 4128 y(desired)k(c)m(haracter.) 42 b(The)30 b Fs(RET)g Ft(k)m(ey)h(ma)m(y)g(b)s(e)e(lab)s(eled)i @@ -11403,8 +11548,8 @@ Fs(RET)p Ft(.)39 b(Y)-8 b(ou)25 b(do)g(not)g(ha)m(v)m(e)h(to)g(b)s(e)e Fs(RET)p Ft(;)i(the)g(en)m(tire)g(line)f(is)h(accepted)g(regardless)g (of)f(the)h(lo)s(cation)h(of)e(the)h(cursor)150 5340 y(within)c(the)g(line.)p eop end -%%Page: 94 100 -TeXDict begin 94 99 bop 150 -116 a Ft(94)2572 b(Bash)31 +%%Page: 96 102 +TeXDict begin 96 101 bop 150 -116 a Ft(96)2572 b(Bash)31 b(Reference)g(Man)m(ual)150 299 y Fj(8.2.1)63 b(Readline)40 b(Bare)h(Essen)m(tials)150 446 y Ft(In)31 b(order)h(to)h(en)m(ter)g(c)m (haracters)g(in)m(to)g(the)g(line,)g(simply)e(t)m(yp)s(e)i(them.)46 @@ -11472,9 +11617,9 @@ b Ft(Mo)m(v)m(e)32 b(to)g(the)e(end)g(of)g(the)h(line.)150 b(that)f(con)m(trol)g(k)m(eystrok)m(es)h(op)s(erate)e(on)g(c)m (haracters)h(while)f(meta)h(k)m(eystrok)m(es)h(op)s(erate)e(on)150 5340 y(w)m(ords.)p eop end -%%Page: 95 101 -TeXDict begin 95 100 bop 150 -116 a Ft(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2107 b(95)150 299 y Fj(8.2.3)63 +%%Page: 97 103 +TeXDict begin 97 102 bop 150 -116 a Ft(Chapter)30 b(8:)41 +b(Command)29 b(Line)i(Editing)2107 b(97)150 299 y Fj(8.2.3)63 b(Readline)40 b(Killing)i(Commands)150 446 y Fq(Killing)35 b Ft(text)28 b(means)e(to)h(delete)h(the)f(text)g(from)g(the)f(line,)i (but)e(to)h(sa)m(v)m(e)h(it)g(a)m(w)m(a)m(y)g(for)e(later)i(use,)f @@ -11548,12 +11693,12 @@ b(on)e(the)h(input)e(line.)150 4974 y Fj(8.2.5)63 b(Searc)m(hing)40 b(for)i(Commands)g(in)f(the)g(History)150 5121 y Ft(Readline)35 b(pro)m(vides)f(commands)g(for)g(searc)m(hing)h(through)e(the)i (command)f(history)g(\(see)h(Section)g(9.1)150 5230 y([Bash)i(History)h -(F)-8 b(acilities],)42 b(page)37 b(121\))i(for)d(lines)h(con)m(taining) +(F)-8 b(acilities],)42 b(page)37 b(123\))i(for)d(lines)h(con)m(taining) i(a)e(sp)s(eci\014ed)f(string.)60 b(There)36 b(are)i(t)m(w)m(o)150 5340 y(searc)m(h)31 b(mo)s(des:)40 b Fq(incremen)m(tal)35 b Ft(and)30 b Fq(non-incremen)m(tal)p Ft(.)p eop end -%%Page: 96 102 -TeXDict begin 96 101 bop 150 -116 a Ft(96)2572 b(Bash)31 +%%Page: 98 104 +TeXDict begin 98 103 bop 150 -116 a Ft(98)2572 b(Bash)31 b(Reference)g(Man)m(ual)275 299 y(Incremen)m(tal)26 b(searc)m(hes)h(b)s (egin)e(b)s(efore)g(the)h(user)f(has)h(\014nished)e(t)m(yping)i(the)g (searc)m(h)g(string.)39 b(As)26 b(eac)m(h)150 408 y(c)m(haracter)37 @@ -11630,7 +11775,7 @@ b(lines)h(are)150 4620 y(ignored.)72 b(Lines)41 b(b)s(eginning)f(with)h (a)g(`)p Fs(#)p Ft(')g(are)h(commen)m(ts.)73 b(Lines)41 b(b)s(eginning)f(with)g(a)i(`)p Fs($)p Ft(')f(indicate)150 4730 y(conditional)e(constructs)f(\(see)g(Section)h(8.3.2)g -([Conditional)g(Init)e(Constructs],)j(page)e(102\).)64 +([Conditional)g(Init)e(Constructs],)j(page)e(104\).)64 b(Other)150 4839 y(lines)31 b(denote)g(v)-5 b(ariable)31 b(settings)g(and)f(k)m(ey)h(bindings.)150 5011 y(V)-8 b(ariable)32 b(Settings)630 5121 y(Y)-8 b(ou)41 b(can)g(mo)s(dify)e @@ -11639,9 +11784,9 @@ b(ariable)32 b(Settings)630 5121 y(Y)-8 b(ou)41 b(can)g(mo)s(dify)e b(in)f(Readline)i(using)e(the)g Fs(set)g Ft(command)g(within)g(the)h (init)g(\014le.)50 b(The)33 b(syn)m(tax)630 5340 y(is)d(simple:)p eop end -%%Page: 97 103 -TeXDict begin 97 102 bop 150 -116 a Ft(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2107 b(97)870 299 y Fs(set)47 +%%Page: 99 105 +TeXDict begin 99 104 bop 150 -116 a Ft(Chapter)30 b(8:)41 +b(Command)29 b(Line)i(Editing)2107 b(99)870 299 y Fs(set)47 b Fi(variable)56 b(value)630 436 y Ft(Here,)29 b(for)e(example,)h(is)g (ho)m(w)f(to)h(c)m(hange)g(from)f(the)g(default)h(Emacs-lik)m(e)h(k)m (ey)f(binding)e(to)630 545 y(use)k Fs(vi)g Ft(line)h(editing)g @@ -11659,7 +11804,7 @@ b(1.)39 b(An)m(y)25 b(other)f(v)-5 b(alue)25 b(results)f(in)g(the)g(v) 1422 y(The)37 b Fs(bind)30 b(-V)37 b Ft(command)g(lists)i(the)f(curren) m(t)f(Readline)i(v)-5 b(ariable)38 b(names)g(and)f(v)-5 b(alues.)630 1532 y(See)31 b(Section)g(4.2)g([Bash)g(Builtins],)g(page) -g(41.)630 1669 y(A)f(great)i(deal)f(of)g(run-time)f(b)s(eha)m(vior)g +g(43.)630 1669 y(A)f(great)i(deal)f(of)g(run-time)f(b)s(eha)m(vior)g (is)g(c)m(hangeable)j(with)d(the)g(follo)m(wing)i(v)-5 b(ariables.)630 1833 y Fs(bell-style)1110 1943 y Ft(Con)m(trols)44 b(what)g(happ)s(ens)e(when)h(Readline)i(w)m(an)m(ts)f(to)h(ring)e(the)h @@ -11691,387 +11836,393 @@ b(A)26 b(v)-5 b(alue)27 b(of)f(0)h(will)f(cause)1110 Fs(on)p Ft(',)g(Readline)g(p)s(erforms)e(\014lename)h(matc)m(hing)i (and)e(completion)1110 4244 y(in)j(a)h(case-insensitiv)m(e)i(fashion.) 40 b(The)30 b(default)h(v)-5 b(alue)30 b(is)h(`)p Fs(off)p -Ft('.)630 4408 y Fs(completion-prefix-displa)o(y-le)o(ngth)1110 -4518 y Ft(The)g(length)g(in)g(c)m(haracters)i(of)f(the)f(common)h -(pre\014x)e(of)h(a)h(list)g(of)f(p)s(ossible)1110 4628 +Ft('.)630 4408 y Fs(completion-map-case)1110 4518 y Ft(If)22 +b(set)g(to)h(`)p Fs(on)p Ft(',)h(and)e Fq(completion-ignore-case)31 +b Ft(is)22 b(enabled,)i(Readline)f(treats)1110 4628 y(h)m(yphens)29 +b(\(`)p Fs(-)p Ft('\))j(and)e(underscores)g(\(`)p Fs(_)p +Ft('\))i(as)f(equiv)-5 b(alen)m(t)32 b(when)e(p)s(erforming)1110 +4737 y(case-insensitiv)m(e)j(\014lename)d(matc)m(hing)i(and)e +(completion.)630 4902 y Fs(completion-prefix-displa)o(y-le)o(ngth)1110 +5011 y Ft(The)h(length)g(in)g(c)m(haracters)i(of)f(the)f(common)h +(pre\014x)e(of)h(a)h(list)g(of)f(p)s(ossible)1110 5121 y(completions)g(that)f(is)g(displa)m(y)m(ed)g(without)g(mo)s -(di\014cation.)41 b(When)29 b(set)h(to)h(a)1110 4737 +(di\014cation.)41 b(When)29 b(set)h(to)h(a)1110 5230 y(v)-5 b(alue)26 b(greater)h(than)e(zero,)j(common)e(pre\014xes)e -(longer)j(than)e(this)g(v)-5 b(alue)27 b(are)1110 4847 +(longer)j(than)e(this)g(v)-5 b(alue)27 b(are)1110 5340 y(replaced)k(with)f(an)g(ellipsis)h(when)e(displa)m(ying)i(p)s(ossible) -f(completions.)630 5011 y Fs(completion-query-items)1110 -5121 y Ft(The)c(n)m(um)m(b)s(er)f(of)h(p)s(ossible)g(completions)h -(that)g(determines)f(when)f(the)i(user)1110 5230 y(is)i(ask)m(ed)h +f(completions.)p eop end +%%Page: 100 106 +TeXDict begin 100 105 bop 150 -116 a Ft(100)2527 b(Bash)31 +b(Reference)g(Man)m(ual)630 299 y Fs(completion-query-items)1110 +408 y Ft(The)26 b(n)m(um)m(b)s(er)f(of)h(p)s(ossible)g(completions)h +(that)g(determines)f(when)f(the)i(user)1110 518 y(is)i(ask)m(ed)h (whether)f(the)h(list)g(of)f(p)s(ossibilities)h(should)e(b)s(e)h -(displa)m(y)m(ed.)41 b(If)29 b(the)1110 5340 y(n)m(um)m(b)s(er)d(of)h -(p)s(ossible)f(completions)i(is)f(greater)h(than)e(this)h(v)-5 -b(alue,)28 b(Readline)p eop end -%%Page: 98 104 -TeXDict begin 98 103 bop 150 -116 a Ft(98)2572 b(Bash)31 -b(Reference)g(Man)m(ual)1110 299 y(will)c(ask)g(the)f(user)g(whether)g +(displa)m(y)m(ed.)41 b(If)29 b(the)1110 628 y(n)m(um)m(b)s(er)d(of)h(p) +s(ossible)f(completions)i(is)f(greater)h(than)e(this)h(v)-5 +b(alue,)28 b(Readline)1110 737 y(will)f(ask)g(the)f(user)g(whether)g (or)g(not)h(he)f(wishes)g(to)i(view)e(them;)i(otherwise,)1110 -408 y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5 +847 y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5 b(ariable)25 b(m)m(ust)g(b)s(e)e(set)i(to)g(an)g(in)m(teger)g(v)-5 -b(alue)1110 518 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40 +b(alue)1110 956 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40 b(A)24 b(negativ)m(e)j(v)-5 b(alue)26 b(means)e(Readline)i(should)1110 -628 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g -Fs(100)p Ft(.)630 786 y Fs(convert-meta)1110 896 y Ft(If)22 -b(set)g(to)h(`)p Fs(on)p Ft(',)h(Readline)f(will)f(con)m(v)m(ert)i(c)m -(haracters)f(with)f(the)g(eigh)m(th)h(bit)f(set)1110 -1005 y(to)33 b(an)e Fl(asci)r(i)h Ft(k)m(ey)h(sequence)f(b)m(y)g +1066 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g +Fs(100)p Ft(.)630 1230 y Fs(convert-meta)1110 1340 y +Ft(If)22 b(set)g(to)h(`)p Fs(on)p Ft(',)h(Readline)f(will)f(con)m(v)m +(ert)i(c)m(haracters)f(with)f(the)g(eigh)m(th)h(bit)f(set)1110 +1450 y(to)33 b(an)e Fl(asci)r(i)h Ft(k)m(ey)h(sequence)f(b)m(y)g (stripping)f(the)h(eigh)m(th)h(bit)f(and)f(pre\014xing)1110 -1115 y(an)24 b Fs(ESC)g Ft(c)m(haracter,)j(con)m(v)m(erting)f(them)f -(to)g(a)g(meta-pre\014xed)f(k)m(ey)h(sequence.)1110 1224 +1559 y(an)24 b Fs(ESC)g Ft(c)m(haracter,)j(con)m(v)m(erting)f(them)f +(to)g(a)g(meta-pre\014xed)f(k)m(ey)h(sequence.)1110 1669 y(The)30 b(default)g(v)-5 b(alue)31 b(is)g(`)p Fs(on)p -Ft('.)630 1383 y Fs(disable-completion)1110 1492 y Ft(If)36 +Ft('.)630 1833 y Fs(disable-completion)1110 1943 y Ft(If)36 b(set)h(to)h(`)p Fs(On)p Ft(',)g(Readline)f(will)g(inhibit)f(w)m(ord)h -(completion.)60 b(Completion)1110 1602 y(c)m(haracters)28 +(completion.)60 b(Completion)1110 2052 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h(in)m(to)h(the)g(line)f(as)g(if)g(they)h -(had)e(b)s(een)g(mapp)s(ed)1110 1711 y(to)31 b Fs(self-insert)p +(had)e(b)s(een)g(mapp)s(ed)1110 2162 y(to)31 b Fs(self-insert)p Ft(.)38 b(The)30 b(default)g(is)h(`)p Fs(off)p Ft('.)630 -1870 y Fs(editing-mode)1110 1979 y Ft(The)d Fs(editing-mode)e +2326 y Fs(editing-mode)1110 2436 y Ft(The)d Fs(editing-mode)e Ft(v)-5 b(ariable)29 b(con)m(trols)h(whic)m(h)e(default)h(set)h(of)e(k) -m(ey)i(bind-)1110 2089 y(ings)25 b(is)g(used.)38 b(By)26 +m(ey)i(bind-)1110 2545 y(ings)25 b(is)g(used.)38 b(By)26 b(default,)g(Readline)g(starts)f(up)f(in)h(Emacs)g(editing)h(mo)s(de,) -1110 2198 y(where)j(the)g(k)m(eystrok)m(es)i(are)e(most)h(similar)f(to) +1110 2655 y(where)j(the)g(k)m(eystrok)m(es)i(are)e(most)h(similar)f(to) h(Emacs.)40 b(This)29 b(v)-5 b(ariable)30 b(can)1110 -2308 y(b)s(e)g(set)h(to)g(either)g(`)p Fs(emacs)p Ft(')e(or)h(`)p -Fs(vi)p Ft('.)630 2466 y Fs(echo-control-characters)1110 -2576 y Ft(When)g(set)h(to)g(`)p Fs(on)p Ft(',)f(on)g(op)s(erating)h -(systems)f(that)h(indicate)g(they)g(supp)s(ort)1110 2685 +2765 y(b)s(e)g(set)h(to)g(either)g(`)p Fs(emacs)p Ft(')e(or)h(`)p +Fs(vi)p Ft('.)630 2929 y Fs(echo-control-characters)1110 +3039 y Ft(When)g(set)h(to)g(`)p Fs(on)p Ft(',)f(on)g(op)s(erating)h +(systems)f(that)h(indicate)g(they)g(supp)s(ort)1110 3148 y(it,)i(readline)e(ec)m(ho)s(es)i(a)f(c)m(haracter)h(corresp)s(onding)d -(to)j(a)f(signal)g(generated)1110 2795 y(from)e(the)g(k)m(eyb)s(oard.) -41 b(The)30 b(default)g(is)h(`)p Fs(on)p Ft('.)630 2953 -y Fs(enable-keypad)1110 3063 y Ft(When)23 b(set)h(to)g(`)p +(to)j(a)f(signal)g(generated)1110 3258 y(from)e(the)g(k)m(eyb)s(oard.) +41 b(The)30 b(default)g(is)h(`)p Fs(on)p Ft('.)630 3422 +y Fs(enable-keypad)1110 3532 y Ft(When)23 b(set)h(to)g(`)p Fs(on)p Ft(',)h(Readline)f(will)g(try)f(to)h(enable)g(the)f -(application)i(k)m(eypad)1110 3173 y(when)h(it)h(is)f(called.)41 +(application)i(k)m(eypad)1110 3641 y(when)h(it)h(is)f(called.)41 b(Some)27 b(systems)f(need)h(this)f(to)h(enable)g(the)g(arro)m(w)g(k)m -(eys.)1110 3282 y(The)j(default)g(is)h(`)p Fs(off)p Ft('.)630 -3440 y Fs(enable-meta-key)1110 3550 y Ft(When)40 b(set)g(to)g(`)p +(eys.)1110 3751 y(The)j(default)g(is)h(`)p Fs(off)p Ft('.)630 +3915 y Fs(enable-meta-key)1110 4025 y Ft(When)40 b(set)g(to)g(`)p Fs(on)p Ft(',)j(Readline)d(will)g(try)g(to)g(enable)g(an)m(y)g(meta)h -(mo)s(di\014er)1110 3660 y(k)m(ey)i(the)e(terminal)i(claims)f(to)h +(mo)s(di\014er)1110 4134 y(k)m(ey)i(the)e(terminal)i(claims)f(to)h (supp)s(ort)d(when)h(it)h(is)g(called.)76 b(On)41 b(man)m(y)1110 -3769 y(terminals,)c(the)e(meta)h(k)m(ey)g(is)f(used)g(to)h(send)e(eigh) -m(t-bit)j(c)m(haracters.)56 b(The)1110 3879 y(default)31 -b(is)f(`)p Fs(on)p Ft('.)630 4037 y Fs(expand-tilde)1110 -4147 y Ft(If)d(set)h(to)h(`)p Fs(on)p Ft(',)f(tilde)g(expansion)g(is)f -(p)s(erformed)f(when)h(Readline)h(attempts)1110 4256 +4244 y(terminals,)c(the)e(meta)h(k)m(ey)g(is)f(used)g(to)h(send)e(eigh) +m(t-bit)j(c)m(haracters.)56 b(The)1110 4354 y(default)31 +b(is)f(`)p Fs(on)p Ft('.)630 4518 y Fs(expand-tilde)1110 +4628 y Ft(If)d(set)h(to)h(`)p Fs(on)p Ft(',)f(tilde)g(expansion)g(is)f +(p)s(erformed)f(when)h(Readline)h(attempts)1110 4737 y(w)m(ord)i(completion.)42 b(The)30 b(default)g(is)h(`)p -Fs(off)p Ft('.)630 4415 y Fs(history-preserve-point)1110 -4524 y Ft(If)41 b(set)h(to)h(`)p Fs(on)p Ft(',)i(the)c(history)h(co)s +Fs(off)p Ft('.)630 4902 y Fs(history-preserve-point)1110 +5011 y Ft(If)41 b(set)h(to)h(`)p Fs(on)p Ft(',)i(the)c(history)h(co)s (de)g(attempts)h(to)f(place)h(the)f(p)s(oin)m(t)f(\(the)1110 -4634 y(curren)m(t)35 b(cursor)g(p)s(osition\))g(at)h(the)g(same)f(lo)s -(cation)i(on)e(eac)m(h)h(history)g(line)1110 4743 y(retriev)m(ed)h +5121 y(curren)m(t)35 b(cursor)g(p)s(osition\))g(at)h(the)g(same)f(lo)s +(cation)i(on)e(eac)m(h)h(history)g(line)1110 5230 y(retriev)m(ed)h (with)f Fs(previous-history)c Ft(or)37 b Fs(next-history)p -Ft(.)55 b(The)36 b(default)1110 4853 y(is)30 b(`)p Fs(off)p -Ft('.)630 5011 y Fs(history-size)1110 5121 y Ft(Set)39 -b(the)g(maxim)m(um)g(n)m(um)m(b)s(er)f(of)h(history)g(en)m(tries)h(sa)m -(v)m(ed)g(in)f(the)g(history)1110 5230 y(list.)53 b(If)34 -b(set)h(to)g(zero,)i(the)d(n)m(um)m(b)s(er)g(of)g(en)m(tries)h(in)f -(the)h(history)f(list)h(is)g(not)1110 5340 y(limited.)p -eop end -%%Page: 99 105 -TeXDict begin 99 104 bop 150 -116 a Ft(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2107 b(99)630 299 y Fs -(horizontal-scroll-mode)1110 408 y Ft(This)35 b(v)-5 -b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f(`)p -Fs(on)p Ft(')g(or)g(`)p Fs(off)p Ft('.)57 b(Setting)36 -b(it)g(to)h(`)p Fs(on)p Ft(')1110 518 y(means)26 b(that)h(the)f(text)h +Ft(.)55 b(The)36 b(default)1110 5340 y(is)30 b(`)p Fs(off)p +Ft('.)p eop end +%%Page: 101 107 +TeXDict begin 101 106 bop 150 -116 a Ft(Chapter)30 b(8:)41 +b(Command)29 b(Line)i(Editing)2062 b(101)630 299 y Fs(history-size)1110 +408 y Ft(Set)39 b(the)g(maxim)m(um)g(n)m(um)m(b)s(er)f(of)h(history)g +(en)m(tries)h(sa)m(v)m(ed)g(in)f(the)g(history)1110 518 +y(list.)53 b(If)34 b(set)h(to)g(zero,)i(the)d(n)m(um)m(b)s(er)g(of)g +(en)m(tries)h(in)f(the)h(history)f(list)h(is)g(not)1110 +628 y(limited.)630 778 y Fs(horizontal-scroll-mode)1110 +888 y Ft(This)g(v)-5 b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f +(`)p Fs(on)p Ft(')g(or)g(`)p Fs(off)p Ft('.)57 b(Setting)36 +b(it)g(to)h(`)p Fs(on)p Ft(')1110 998 y(means)26 b(that)h(the)f(text)h (of)g(the)f(lines)g(b)s(eing)g(edited)h(will)f(scroll)h(horizon)m -(tally)1110 628 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i -(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 737 +(tally)1110 1107 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i +(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 1217 y(screen,)27 b(instead)g(of)f(wrapping)f(on)m(to)i(a)f(new)g(screen)g -(line.)39 b(By)27 b(default,)g(this)1110 847 y(v)-5 b(ariable)31 -b(is)g(set)f(to)i(`)p Fs(off)p Ft('.)630 998 y Fs(input-meta)1110 -1107 y Ft(If)f(set)g(to)h(`)p Fs(on)p Ft(',)g(Readline)g(will)f(enable) -h(eigh)m(t-bit)h(input)d(\(it)i(will)f(not)h(clear)1110 -1217 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h(c)m(haracters)h(it)f -(reads\),)j(regardless)c(of)h(what)g(the)1110 1326 y(terminal)g(claims) -h(it)g(can)f(supp)s(ort.)68 b(The)39 b(default)h(v)-5 -b(alue)40 b(is)g(`)p Fs(off)p Ft('.)69 b(The)1110 1436 -y(name)30 b Fs(meta-flag)e Ft(is)j(a)f(synon)m(ym)g(for)g(this)h(v)-5 -b(ariable.)630 1587 y Fs(isearch-terminators)1110 1696 -y Ft(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e(terminate)j -(an)f(incremen)m(tal)1110 1806 y(searc)m(h)25 b(without)g(subsequen)m -(tly)g(executing)h(the)f(c)m(haracter)h(as)f(a)g(command)1110 -1915 y(\(see)42 b(Section)f(8.2.5)i([Searc)m(hing],)i(page)c(95\).)73 -b(If)41 b(this)g(v)-5 b(ariable)41 b(has)g(not)1110 2025 -y(b)s(een)35 b(giv)m(en)h(a)g(v)-5 b(alue,)37 b(the)f(c)m(haracters)h -Fs(ESC)d Ft(and)h Fi(C-J)g Ft(will)h(terminate)g(an)1110 -2134 y(incremen)m(tal)c(searc)m(h.)630 2285 y Fs(keymap)192 +(line.)39 b(By)27 b(default,)g(this)1110 1326 y(v)-5 +b(ariable)31 b(is)g(set)f(to)i(`)p Fs(off)p Ft('.)630 +1477 y Fs(input-meta)1110 1587 y Ft(If)f(set)g(to)h(`)p +Fs(on)p Ft(',)g(Readline)g(will)f(enable)h(eigh)m(t-bit)h(input)d(\(it) +i(will)f(not)h(clear)1110 1696 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h +(c)m(haracters)h(it)f(reads\),)j(regardless)c(of)h(what)g(the)1110 +1806 y(terminal)g(claims)h(it)g(can)f(supp)s(ort.)68 +b(The)39 b(default)h(v)-5 b(alue)40 b(is)g(`)p Fs(off)p +Ft('.)69 b(The)1110 1915 y(name)30 b Fs(meta-flag)e Ft(is)j(a)f(synon)m +(ym)g(for)g(this)h(v)-5 b(ariable.)630 2066 y Fs(isearch-terminators) +1110 2176 y Ft(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e +(terminate)j(an)f(incremen)m(tal)1110 2285 y(searc)m(h)25 +b(without)g(subsequen)m(tly)g(executing)h(the)f(c)m(haracter)h(as)f(a)g +(command)1110 2395 y(\(see)42 b(Section)f(8.2.5)i([Searc)m(hing],)i +(page)c(97\).)73 b(If)41 b(this)g(v)-5 b(ariable)41 b(has)g(not)1110 +2504 y(b)s(een)35 b(giv)m(en)h(a)g(v)-5 b(alue,)37 b(the)f(c)m +(haracters)h Fs(ESC)d Ft(and)h Fi(C-J)g Ft(will)h(terminate)g(an)1110 +2614 y(incremen)m(tal)c(searc)m(h.)630 2765 y Fs(keymap)192 b Ft(Sets)39 b(Readline's)g(idea)h(of)f(the)g(curren)m(t)f(k)m(eymap)h -(for)g(k)m(ey)g(binding)f(com-)1110 2395 y(mands.)81 +(for)g(k)m(ey)g(binding)f(com-)1110 2874 y(mands.)81 b(Acceptable)47 b Fs(keymap)42 b Ft(names)i(are)h Fs(emacs)p -Ft(,)i Fs(emacs-standard)p Ft(,)1110 2504 y Fs(emacs-meta)p +Ft(,)i Fs(emacs-standard)p Ft(,)1110 2984 y Fs(emacs-meta)p Ft(,)99 b Fs(emacs-ctlx)p Ft(,)f Fs(vi)p Ft(,)j Fs(vi-move)p -Ft(,)f Fs(vi-command)p Ft(,)f(and)1110 2614 y Fs(vi-insert)p +Ft(,)f Fs(vi-command)p Ft(,)f(and)1110 3093 y Fs(vi-insert)p Ft(.)64 b Fs(vi)38 b Ft(is)h(equiv)-5 b(alen)m(t)41 b(to)e Fs(vi-command)p Ft(;)i Fs(emacs)c Ft(is)i(equiv)-5 b(alen)m(t)1110 -2724 y(to)33 b Fs(emacs-standard)p Ft(.)41 b(The)31 b(default)h(v)-5 +3203 y(to)33 b Fs(emacs-standard)p Ft(.)41 b(The)31 b(default)h(v)-5 b(alue)32 b(is)g Fs(emacs)p Ft(.)44 b(The)31 b(v)-5 b(alue)33 -b(of)f(the)1110 2833 y Fs(editing-mode)27 b Ft(v)-5 b(ariable)31 -b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)630 2984 -y Fs(mark-directories)1110 3093 y Ft(If)38 b(set)g(to)h(`)p +b(of)f(the)1110 3313 y Fs(editing-mode)27 b Ft(v)-5 b(ariable)31 +b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)630 3463 +y Fs(mark-directories)1110 3573 y Ft(If)38 b(set)g(to)h(`)p Fs(on)p Ft(',)i(completed)e(directory)f(names)g(ha)m(v)m(e)i(a)e(slash) -g(app)s(ended.)1110 3203 y(The)30 b(default)g(is)h(`)p -Fs(on)p Ft('.)630 3354 y Fs(mark-modified-lines)1110 -3463 y Ft(This)k(v)-5 b(ariable,)38 b(when)d(set)h(to)h(`)p +g(app)s(ended.)1110 3682 y(The)30 b(default)g(is)h(`)p +Fs(on)p Ft('.)630 3833 y Fs(mark-modified-lines)1110 +3943 y Ft(This)k(v)-5 b(ariable,)38 b(when)d(set)h(to)h(`)p Fs(on)p Ft(',)g(causes)g(Readline)f(to)h(displa)m(y)f(an)f(as-)1110 -3573 y(terisk)f(\(`)p Fs(*)p Ft('\))h(at)f(the)g(start)g(of)g(history)g +4052 y(terisk)f(\(`)p Fs(*)p Ft('\))h(at)f(the)g(start)g(of)g(history)g (lines)g(whic)m(h)f(ha)m(v)m(e)i(b)s(een)e(mo)s(di\014ed.)1110 -3682 y(This)d(v)-5 b(ariable)31 b(is)f(`)p Fs(off)p Ft(')g(b)m(y)g -(default.)630 3833 y Fs(mark-symlinked-directori)o(es)1110 -3943 y Ft(If)44 b(set)h(to)h(`)p Fs(on)p Ft(',)i(completed)e(names)f +4162 y(This)d(v)-5 b(ariable)31 b(is)f(`)p Fs(off)p Ft(')g(b)m(y)g +(default.)630 4313 y Fs(mark-symlinked-directori)o(es)1110 +4422 y Ft(If)44 b(set)h(to)h(`)p Fs(on)p Ft(',)i(completed)e(names)f (whic)m(h)f(are)h(sym)m(b)s(olic)g(links)g(to)g(di-)1110 -4052 y(rectories)j(ha)m(v)m(e)f(a)g(slash)f(app)s(ended)e(\(sub)5 +4532 y(rectories)j(ha)m(v)m(e)f(a)g(slash)f(app)s(ended)e(\(sub)5 b(ject)47 b(to)g(the)f(v)-5 b(alue)47 b(of)f Fs(mark-)1110 -4162 y(directories)p Ft(\).)38 b(The)30 b(default)g(is)h(`)p -Fs(off)p Ft('.)630 4313 y Fs(match-hidden-files)1110 -4422 y Ft(This)21 b(v)-5 b(ariable,)25 b(when)d(set)g(to)h(`)p +4641 y(directories)p Ft(\).)38 b(The)30 b(default)g(is)h(`)p +Fs(off)p Ft('.)630 4792 y Fs(match-hidden-files)1110 +4902 y Ft(This)21 b(v)-5 b(ariable,)25 b(when)d(set)g(to)h(`)p Fs(on)p Ft(',)h(causes)f(Readline)g(to)g(matc)m(h)g(\014les)f(whose) -1110 4532 y(names)44 b(b)s(egin)g(with)g(a)g(`)p Fs(.)p +1110 5011 y(names)44 b(b)s(egin)g(with)g(a)g(`)p Fs(.)p Ft(')g(\(hidden)f(\014les\))i(when)e(p)s(erforming)g(\014lename)1110 -4641 y(completion.)75 b(If)41 b(set)g(to)h(`)p Fs(off)p +5121 y(completion.)75 b(If)41 b(set)g(to)h(`)p Fs(off)p Ft(',)i(the)e(leading)g(`)p Fs(.)p Ft(')f(m)m(ust)g(b)s(e)g(supplied)f -(b)m(y)1110 4751 y(the)34 b(user)g(in)g(the)g(\014lename)g(to)h(b)s(e)f +(b)m(y)1110 5230 y(the)34 b(user)g(in)g(the)g(\014lename)g(to)h(b)s(e)f (completed.)53 b(This)33 b(v)-5 b(ariable)35 b(is)f(`)p -Fs(on)p Ft(')g(b)m(y)1110 4861 y(default.)630 5011 y -Fs(output-meta)1110 5121 y Ft(If)h(set)h(to)g(`)p Fs(on)p -Ft(',)h(Readline)f(will)g(displa)m(y)f(c)m(haracters)i(with)e(the)h -(eigh)m(th)g(bit)1110 5230 y(set)h(directly)g(rather)f(than)g(as)h(a)g -(meta-pre\014xed)f(escap)s(e)h(sequence.)59 b(The)1110 -5340 y(default)31 b(is)f(`)p Fs(off)p Ft('.)p eop end -%%Page: 100 106 -TeXDict begin 100 105 bop 150 -116 a Ft(100)2527 b(Bash)31 -b(Reference)g(Man)m(ual)630 299 y Fs(page-completions)1110 -408 y Ft(If)i(set)i(to)f(`)p Fs(on)p Ft(',)h(Readline)g(uses)e(an)h(in) +Fs(on)p Ft(')g(b)m(y)1110 5340 y(default.)p eop end +%%Page: 102 108 +TeXDict begin 102 107 bop 150 -116 a Ft(102)2527 b(Bash)31 +b(Reference)g(Man)m(ual)630 299 y Fs(output-meta)1110 +408 y Ft(If)k(set)h(to)g(`)p Fs(on)p Ft(',)h(Readline)f(will)g(displa)m +(y)f(c)m(haracters)i(with)e(the)h(eigh)m(th)g(bit)1110 +518 y(set)h(directly)g(rather)f(than)g(as)h(a)g(meta-pre\014xed)f +(escap)s(e)h(sequence.)59 b(The)1110 628 y(default)31 +b(is)f(`)p Fs(off)p Ft('.)630 800 y Fs(page-completions)1110 +909 y Ft(If)j(set)i(to)f(`)p Fs(on)p Ft(',)h(Readline)g(uses)e(an)h(in) m(ternal)h Fs(more)p Ft(-lik)m(e)f(pager)g(to)h(displa)m(y)1110 -518 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.) +1019 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.) 47 b(This)31 b(v)-5 b(ariable)34 b(is)e(`)p Fs(on)p Ft(')1110 -628 y(b)m(y)e(default.)630 784 y Fs(print-completions-horizo)o(ntal)o -(ly)1110 894 y Ft(If)23 b(set)i(to)g(`)p Fs(on)p Ft(',)g(Readline)g +1129 y(b)m(y)e(default.)630 1301 y Fs(print-completions-horizo)o(ntal)o +(ly)1110 1410 y Ft(If)23 b(set)i(to)g(`)p Fs(on)p Ft(',)g(Readline)g (will)f(displa)m(y)g(completions)h(with)f(matc)m(hes)h(sorted)1110 -1003 y(horizon)m(tally)45 b(in)e(alphab)s(etical)i(order,)i(rather)c -(than)g(do)m(wn)g(the)h(screen.)1110 1113 y(The)30 b(default)g(is)h(`)p -Fs(off)p Ft('.)630 1270 y Fs(revert-all-at-newline)1110 -1379 y Ft(If)e(set)h(to)g(`)p Fs(on)p Ft(',)g(Readline)g(will)g(undo)f +1520 y(horizon)m(tally)45 b(in)e(alphab)s(etical)i(order,)i(rather)c +(than)g(do)m(wn)g(the)h(screen.)1110 1630 y(The)30 b(default)g(is)h(`)p +Fs(off)p Ft('.)630 1802 y Fs(revert-all-at-newline)1110 +1911 y Ft(If)e(set)h(to)g(`)p Fs(on)p Ft(',)g(Readline)g(will)g(undo)f (all)h(c)m(hanges)h(to)f(history)g(lines)f(b)s(efore)1110 -1489 y(returning)f(when)f Fs(accept-line)f Ft(is)j(executed.)41 -b(By)29 b(default,)g(history)g(lines)1110 1598 y(ma)m(y)42 +2021 y(returning)f(when)f Fs(accept-line)f Ft(is)j(executed.)41 +b(By)29 b(default,)g(history)g(lines)1110 2131 y(ma)m(y)42 b(b)s(e)g(mo)s(di\014ed)e(and)h(retain)i(individual)e(undo)g(lists)h -(across)g(calls)h(to)1110 1708 y Fs(readline)p Ft(.)38 -b(The)30 b(default)h(is)f(`)p Fs(off)p Ft('.)630 1864 -y Fs(show-all-if-ambiguous)1110 1974 y Ft(This)f(alters)i(the)f +(across)g(calls)h(to)1110 2240 y Fs(readline)p Ft(.)38 +b(The)30 b(default)h(is)f(`)p Fs(off)p Ft('.)630 2412 +y Fs(show-all-if-ambiguous)1110 2522 y Ft(This)f(alters)i(the)f (default)g(b)s(eha)m(vior)g(of)g(the)h(completion)g(functions.)40 -b(If)29 b(set)1110 2084 y(to)f(`)p Fs(on)p Ft(',)g(w)m(ords)f(whic)m(h) +b(If)29 b(set)1110 2632 y(to)f(`)p Fs(on)p Ft(',)g(w)m(ords)f(whic)m(h) g(ha)m(v)m(e)i(more)f(than)f(one)h(p)s(ossible)f(completion)h(cause) -1110 2193 y(the)39 b(matc)m(hes)h(to)g(b)s(e)e(listed)h(immediately)i -(instead)e(of)g(ringing)g(the)g(b)s(ell.)1110 2303 y(The)30 +1110 2741 y(the)39 b(matc)m(hes)h(to)g(b)s(e)e(listed)h(immediately)i +(instead)e(of)g(ringing)g(the)g(b)s(ell.)1110 2851 y(The)30 b(default)g(v)-5 b(alue)31 b(is)g(`)p Fs(off)p Ft('.)630 -2459 y Fs(show-all-if-unmodified)1110 2569 y Ft(This)38 +3023 y Fs(show-all-if-unmodified)1110 3133 y Ft(This)38 b(alters)h(the)g(default)g(b)s(eha)m(vior)g(of)f(the)h(completion)h -(functions)e(in)h(a)1110 2679 y(fashion)25 b(similar)g(to)h +(functions)e(in)h(a)1110 3242 y(fashion)25 b(similar)g(to)h Fq(sho)m(w-all-if-am)m(biguous)t Ft(.)41 b(If)24 b(set)i(to)f(`)p -Fs(on)p Ft(',)i(w)m(ords)d(whic)m(h)1110 2788 y(ha)m(v)m(e)32 +Fs(on)p Ft(',)i(w)m(ords)d(whic)m(h)1110 3352 y(ha)m(v)m(e)32 b(more)f(than)f(one)i(p)s(ossible)e(completion)i(without)f(an)m(y)g(p)s -(ossible)f(par-)1110 2898 y(tial)43 b(completion)h(\(the)f(p)s(ossible) -f(completions)h(don't)f(share)g(a)h(common)1110 3007 +(ossible)f(par-)1110 3461 y(tial)43 b(completion)h(\(the)f(p)s(ossible) +f(completions)h(don't)f(share)g(a)h(common)1110 3571 y(pre\014x\))30 b(cause)g(the)h(matc)m(hes)g(to)g(b)s(e)f(listed)g -(immediately)i(instead)e(of)h(ring-)1110 3117 y(ing)g(the)f(b)s(ell.)41 +(immediately)i(instead)e(of)h(ring-)1110 3680 y(ing)g(the)f(b)s(ell.)41 b(The)30 b(default)g(v)-5 b(alue)31 b(is)f(`)p Fs(off)p -Ft('.)630 3273 y Fs(skip-completed-text)1110 3383 y Ft(If)i(set)i(to)f +Ft('.)630 3853 y Fs(skip-completed-text)1110 3962 y Ft(If)i(set)i(to)f (`)p Fs(on)p Ft(',)h(this)f(alters)g(the)g(default)g(completion)h(b)s -(eha)m(vior)f(when)f(in-)1110 3493 y(serting)d(a)h(single)g(matc)m(h)f +(eha)m(vior)f(when)f(in-)1110 4072 y(serting)d(a)h(single)g(matc)m(h)f (in)m(to)h(the)g(line.)40 b(It's)30 b(only)f(activ)m(e)i(when)d(p)s -(erform-)1110 3602 y(ing)35 b(completion)h(in)e(the)h(middle)f(of)h(a)f +(erform-)1110 4181 y(ing)35 b(completion)h(in)e(the)h(middle)f(of)h(a)f (w)m(ord.)53 b(If)35 b(enabled,)g(readline)g(do)s(es)1110 -3712 y(not)41 b(insert)f(c)m(haracters)i(from)e(the)h(completion)h -(that)f(matc)m(h)g(c)m(haracters)1110 3821 y(after)c(p)s(oin)m(t)g(in)g +4291 y(not)41 b(insert)f(c)m(haracters)i(from)e(the)h(completion)h +(that)f(matc)m(h)g(c)m(haracters)1110 4401 y(after)c(p)s(oin)m(t)g(in)g (the)g(w)m(ord)f(b)s(eing)g(completed,)k(so)d(p)s(ortions)f(of)h(the)g -(w)m(ord)1110 3931 y(follo)m(wing)c(the)f(cursor)f(are)h(not)g +(w)m(ord)1110 4510 y(follo)m(wing)c(the)f(cursor)f(are)h(not)g (duplicated.)45 b(F)-8 b(or)32 b(instance,)h(if)f(this)f(is)h(en-)1110 -4041 y(abled,)43 b(attempting)f(completion)g(when)d(the)i(cursor)f(is)g -(after)h(the)g(`)p Fs(e)p Ft(')f(in)1110 4150 y(`)p Fs(Makefile)p +4620 y(abled,)43 b(attempting)f(completion)g(when)d(the)i(cursor)f(is)g +(after)h(the)g(`)p Fs(e)p Ft(')f(in)1110 4729 y(`)p Fs(Makefile)p Ft(')c(will)i(result)f(in)g(`)p Fs(Makefile)p Ft(')f(rather)h(than)h(`) -p Fs(Makefilefile)p Ft(',)1110 4260 y(assuming)d(there)g(is)h(a)f +p Fs(Makefilefile)p Ft(',)1110 4839 y(assuming)d(there)g(is)h(a)f (single)h(p)s(ossible)f(completion.)56 b(The)35 b(default)g(v)-5 -b(alue)1110 4369 y(is)30 b(`)p Fs(off)p Ft('.)630 4526 -y Fs(visible-stats)1110 4635 y Ft(If)h(set)i(to)f(`)p +b(alue)1110 4949 y(is)30 b(`)p Fs(off)p Ft('.)630 5121 +y Fs(visible-stats)1110 5230 y Ft(If)h(set)i(to)f(`)p Fs(on)p Ft(',)h(a)f(c)m(haracter)i(denoting)e(a)g(\014le's)g(t)m(yp)s -(e)g(is)g(app)s(ended)e(to)j(the)1110 4745 y(\014lename)e(when)e +(e)g(is)g(app)s(ended)e(to)j(the)1110 5340 y(\014lename)e(when)e (listing)i(p)s(ossible)f(completions.)42 b(The)30 b(default)g(is)h(`)p -Fs(off)p Ft('.)150 4902 y(Key)f(Bindings)630 5011 y(The)41 -b(syn)m(tax)i(for)f(con)m(trolling)h(k)m(ey)g(bindings)e(in)h(the)g -(init)g(\014le)g(is)g(simple.)75 b(First)43 b(y)m(ou)630 -5121 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)h(the)g(command)f(that)i -(y)m(ou)f(w)m(an)m(t)g(to)g(c)m(hange.)41 b(The)27 b(follo)m(wing)630 -5230 y(sections)37 b(con)m(tain)g(tables)g(of)f(the)g(command)f(name,)j -(the)e(default)g(k)m(eybinding,)h(if)f(an)m(y)-8 b(,)630 -5340 y(and)30 b(a)h(short)f(description)g(of)h(what)f(the)g(command)h -(do)s(es.)p eop end -%%Page: 101 107 -TeXDict begin 101 106 bop 150 -116 a Ft(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(101)630 299 y(Once)36 -b(y)m(ou)g(kno)m(w)g(the)g(name)g(of)g(the)g(command,)h(simply)f(place) -h(on)e(a)i(line)f(in)g(the)g(init)630 408 y(\014le)e(the)g(name)f(of)h -(the)g(k)m(ey)g(y)m(ou)g(wish)f(to)h(bind)f(the)h(command)f(to,)i(a)f -(colon,)i(and)d(then)630 518 y(the)f(name)h(of)f(the)g(command.)46 -b(There)32 b(can)g(b)s(e)g(no)g(space)g(b)s(et)m(w)m(een)h(the)f(k)m -(ey)h(name)g(and)630 628 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g -(in)m(terpreted)g(as)g(part)f(of)h(the)g(k)m(ey)h(name.)72 -b(The)40 b(name)h(of)630 737 y(the)35 b(k)m(ey)g(can)g(b)s(e)f +Fs(off)p Ft('.)p eop end +%%Page: 103 109 +TeXDict begin 103 108 bop 150 -116 a Ft(Chapter)30 b(8:)41 +b(Command)29 b(Line)i(Editing)2062 b(103)150 299 y(Key)30 +b(Bindings)630 408 y(The)41 b(syn)m(tax)i(for)f(con)m(trolling)h(k)m +(ey)g(bindings)e(in)h(the)g(init)g(\014le)g(is)g(simple.)75 +b(First)43 b(y)m(ou)630 518 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)h +(the)g(command)f(that)i(y)m(ou)f(w)m(an)m(t)g(to)g(c)m(hange.)41 +b(The)27 b(follo)m(wing)630 628 y(sections)37 b(con)m(tain)g(tables)g +(of)f(the)g(command)f(name,)j(the)e(default)g(k)m(eybinding,)h(if)f(an) +m(y)-8 b(,)630 737 y(and)30 b(a)h(short)f(description)g(of)h(what)f +(the)g(command)h(do)s(es.)630 867 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g +(name)g(of)g(the)g(command,)h(simply)f(place)h(on)e(a)i(line)f(in)g +(the)g(init)630 977 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m(ou) +g(wish)f(to)h(bind)f(the)h(command)f(to,)i(a)f(colon,)i(and)d(then)630 +1087 y(the)f(name)h(of)f(the)g(command.)46 b(There)32 +b(can)g(b)s(e)g(no)g(space)g(b)s(et)m(w)m(een)h(the)f(k)m(ey)h(name)g +(and)630 1196 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m +(terpreted)g(as)g(part)f(of)h(the)g(k)m(ey)h(name.)72 +b(The)40 b(name)h(of)630 1306 y(the)35 b(k)m(ey)g(can)g(b)s(e)f (expressed)f(in)i(di\013eren)m(t)g(w)m(a)m(ys,)h(dep)s(ending)d(on)h -(what)h(y)m(ou)g(\014nd)e(most)630 847 y(comfortable.)630 -983 y(In)i(addition)h(to)h(command)f(names,)i(readline)e(allo)m(ws)h(k) -m(eys)g(to)g(b)s(e)e(b)s(ound)f(to)j(a)f(string)630 1092 -y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g(\(a)h -Fq(macro)5 b Ft(\).)630 1228 y(The)42 b Fs(bind)30 b(-p)42 -b Ft(command)h(displa)m(ys)g(Readline)g(function)g(names)g(and)f -(bindings)g(in)h(a)630 1337 y(format)37 b(that)h(can)f(put)f(directly)i -(in)m(to)g(an)f(initialization)j(\014le.)60 b(See)38 -b(Section)f(4.2)i([Bash)630 1447 y(Builtins],)31 b(page)g(41.)630 -1609 y Fq(k)m(eyname)5 b Ft(:)42 b Fq(function-name)35 -b Ft(or)c Fq(macro)1110 1718 y(k)m(eyname)k Ft(is)29 +(what)h(y)m(ou)g(\014nd)e(most)630 1415 y(comfortable.)630 +1545 y(In)i(addition)h(to)h(command)f(names,)i(readline)e(allo)m(ws)h +(k)m(eys)g(to)g(b)s(e)e(b)s(ound)f(to)j(a)f(string)630 +1655 y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g +(\(a)h Fq(macro)5 b Ft(\).)630 1785 y(The)42 b Fs(bind)30 +b(-p)42 b Ft(command)h(displa)m(ys)g(Readline)g(function)g(names)g(and) +f(bindings)g(in)h(a)630 1895 y(format)37 b(that)h(can)f(put)f(directly) +i(in)m(to)g(an)f(initialization)j(\014le.)60 b(See)38 +b(Section)f(4.2)i([Bash)630 2004 y(Builtins],)31 b(page)g(43.)630 +2155 y Fq(k)m(eyname)5 b Ft(:)42 b Fq(function-name)35 +b Ft(or)c Fq(macro)1110 2265 y(k)m(eyname)k Ft(is)29 b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s(elled)e(out)h(in)g(English.)39 -b(F)-8 b(or)30 b(example:)1350 1854 y Fs(Control-u:)45 -b(universal-argument)1350 1964 y(Meta-Rubout:)f(backward-kill-word)1350 -2073 y(Control-o:)h(">)i(output")1110 2209 y Ft(In)38 +b(F)-8 b(or)30 b(example:)1350 2395 y Fs(Control-u:)45 +b(universal-argument)1350 2504 y(Meta-Rubout:)f(backward-kill-word)1350 +2614 y(Control-o:)h(">)i(output")1110 2744 y Ft(In)38 b(the)h(ab)s(o)m(v)m(e)h(example,)h Fi(C-u)d Ft(is)h(b)s(ound)d(to)k -(the)e(function)h Fs(universal-)1110 2318 y(argument)p +(the)e(function)h Fs(universal-)1110 2854 y(argument)p Ft(,)f Fi(M-DEL)e Ft(is)i(b)s(ound)e(to)i(the)g(function)g -Fs(backward-kill-word)p Ft(,)1110 2428 y(and)g Fi(C-o)g +Fs(backward-kill-word)p Ft(,)1110 2963 y(and)g Fi(C-o)g Ft(is)h(b)s(ound)e(to)j(run)d(the)j(macro)f(expressed)g(on)f(the)i -(righ)m(t)f(hand)1110 2538 y(side)30 b(\(that)i(is,)e(to)h(insert)g +(righ)m(t)f(hand)1110 3073 y(side)30 b(\(that)i(is,)e(to)h(insert)g (the)f(text)i(`)p Fs(>)e(output)p Ft(')f(in)m(to)i(the)g(line\).)1110 -2673 y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m(haracter)i -(names)e(are)g(recognized)h(while)f(pro-)1110 2783 y(cessing)22 +3203 y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m(haracter)i +(names)e(are)g(recognized)h(while)f(pro-)1110 3313 y(cessing)22 b(this)g(k)m(ey)g(binding)e(syn)m(tax:)37 b Fq(DEL)p Ft(,)22 b Fq(ESC)8 b Ft(,)20 b Fq(ESCAPE)5 b Ft(,)21 -b Fq(LFD)5 b Ft(,)22 b Fq(NEW-)1110 2892 y(LINE)5 b Ft(,)31 +b Fq(LFD)5 b Ft(,)22 b Fq(NEW-)1110 3422 y(LINE)5 b Ft(,)31 b Fq(RET)7 b Ft(,)29 b Fq(RETURN)10 b Ft(,)30 b Fq(R)m(UBOUT)7 b Ft(,)31 b Fq(SP)-8 b(A)m(CE)5 b Ft(,)31 b Fq(SPC)8 -b Ft(,)29 b(and)h Fq(T)-8 b(AB)5 b Ft(.)630 3054 y Fs(")p +b Ft(,)29 b(and)h Fq(T)-8 b(AB)5 b Ft(.)630 3573 y Fs(")p Fq(k)m(eyseq)r Fs(")p Ft(:)41 b Fq(function-name)36 b -Ft(or)30 b Fq(macro)1110 3164 y(k)m(eyseq)k Ft(di\013ers)d(from)f +Ft(or)30 b Fq(macro)1110 3682 y(k)m(eyseq)k Ft(di\013ers)d(from)f Fq(k)m(eyname)37 b Ft(ab)s(o)m(v)m(e)32 b(in)f(that)h(strings)f -(denoting)g(an)g(en-)1110 3273 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s +(denoting)g(an)g(en-)1110 3792 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s (e)f(sp)s(eci\014ed,)h(b)m(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in) -1110 3383 y(double)29 b(quotes.)41 b(Some)29 b Fl(gnu)h +1110 3902 y(double)29 b(quotes.)41 b(Some)29 b Fl(gnu)h Ft(Emacs)f(st)m(yle)i(k)m(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as) -1110 3493 y(in)k(the)h(follo)m(wing)i(example,)f(but)e(the)h(sp)s -(ecial)h(c)m(haracter)g(names)f(are)g(not)1110 3602 y(recognized.)1350 -3738 y Fs("\\C-u":)46 b(universal-argument)1350 3847 -y("\\C-x\\C-r":)f(re-read-init-file)1350 3957 y("\\e[11~":)g("Function) -h(Key)g(1")1110 4093 y Ft(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74 +1110 4011 y(in)k(the)h(follo)m(wing)i(example,)f(but)e(the)h(sp)s +(ecial)h(c)m(haracter)g(names)f(are)g(not)1110 4121 y(recognized.)1350 +4251 y Fs("\\C-u":)46 b(universal-argument)1350 4361 +y("\\C-x\\C-r":)f(re-read-init-file)1350 4470 y("\\e[11~":)g("Function) +h(Key)g(1")1110 4600 y Ft(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74 b Fi(C-u)64 b Ft(is)g(again)i(b)s(ound)c(to)k(the)e(function)1110 -4202 y Fs(universal-argument)39 b Ft(\(just)k(as)h(it)g(w)m(as)g(in)g -(the)f(\014rst)g(example\),)49 b(`)p Fi(C-x)1110 4312 +4710 y Fs(universal-argument)39 b Ft(\(just)k(as)h(it)g(w)m(as)g(in)g +(the)f(\014rst)g(example\),)49 b(`)p Fi(C-x)1110 4819 y(C-r)p Ft(')30 b(is)g(b)s(ound)e(to)j(the)g(function)f Fs(re-read-init-file)p Ft(,)c(and)j(`)p Fs(ESC)h([)g(1)g(1)1110 -4422 y(~)p Ft(')g(is)h(b)s(ound)d(to)j(insert)f(the)h(text)g(`)p -Fs(Function)e(Key)g(1)p Ft('.)630 4583 y(The)g(follo)m(wing)i +4929 y(~)p Ft(')g(is)h(b)s(ound)d(to)j(insert)f(the)h(text)g(`)p +Fs(Function)e(Key)g(1)p Ft('.)630 5080 y(The)g(follo)m(wing)i Fl(gnu)f Ft(Emacs)g(st)m(yle)h(escap)s(e)f(sequences)g(are)g(a)m(v)-5 -b(ailable)32 b(when)d(sp)s(ecifying)630 4693 y(k)m(ey)i(sequences:)630 -4855 y Fi(\\C-)336 b Ft(con)m(trol)32 b(pre\014x)630 -5016 y Fi(\\M-)336 b Ft(meta)31 b(pre\014x)630 5178 y -Fi(\\e)384 b Ft(an)30 b(escap)s(e)h(c)m(haracter)630 -5340 y Fi(\\\\)384 b Ft(bac)m(kslash)p eop end -%%Page: 102 108 -TeXDict begin 102 107 bop 150 -116 a Ft(102)2527 b(Bash)31 -b(Reference)g(Man)m(ual)630 299 y Fi(\\)p Fs(")384 b(")p -Ft(,)30 b(a)h(double)f(quotation)i(mark)630 448 y Fi(\\')384 -b Fs(')p Ft(,)30 b(a)h(single)g(quote)g(or)f(ap)s(ostrophe)630 -597 y(In)d(addition)h(to)g(the)g Fl(gnu)f Ft(Emacs)h(st)m(yle)h(escap)s -(e)f(sequences,)h(a)f(second)f(set)h(of)g(bac)m(kslash)630 -706 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630 856 y -Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630 1005 y Fs(\\b)384 -b Ft(bac)m(kspace)630 1154 y Fs(\\d)g Ft(delete)630 1303 -y Fs(\\f)g Ft(form)30 b(feed)630 1452 y Fs(\\n)384 b -Ft(newline)630 1601 y Fs(\\r)g Ft(carriage)32 b(return)630 -1750 y Fs(\\t)384 b Ft(horizon)m(tal)32 b(tab)630 1899 -y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)630 2048 y Fs(\\)p +b(ailable)32 b(when)d(sp)s(ecifying)630 5189 y(k)m(ey)i(sequences:)630 +5340 y Fi(\\C-)336 b Ft(con)m(trol)32 b(pre\014x)p eop +end +%%Page: 104 110 +TeXDict begin 104 109 bop 150 -116 a Ft(104)2527 b(Bash)31 +b(Reference)g(Man)m(ual)630 299 y Fi(\\M-)336 b Ft(meta)31 +b(pre\014x)630 461 y Fi(\\e)384 b Ft(an)30 b(escap)s(e)h(c)m(haracter) +630 622 y Fi(\\\\)384 b Ft(bac)m(kslash)630 784 y Fi(\\)p +Fs(")g(")p Ft(,)30 b(a)h(double)f(quotation)i(mark)630 +946 y Fi(\\')384 b Fs(')p Ft(,)30 b(a)h(single)g(quote)g(or)f(ap)s +(ostrophe)630 1108 y(In)d(addition)h(to)g(the)g Fl(gnu)f +Ft(Emacs)h(st)m(yle)h(escap)s(e)f(sequences,)h(a)f(second)f(set)h(of)g +(bac)m(kslash)630 1217 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630 +1379 y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630 1541 +y Fs(\\b)384 b Ft(bac)m(kspace)630 1703 y Fs(\\d)g Ft(delete)630 +1864 y Fs(\\f)g Ft(form)30 b(feed)630 2026 y Fs(\\n)384 +b Ft(newline)630 2188 y Fs(\\r)g Ft(carriage)32 b(return)630 +2350 y Fs(\\t)384 b Ft(horizon)m(tal)32 b(tab)630 2511 +y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)630 2673 y Fs(\\)p Fi(nnn)288 b Ft(the)35 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e(v)-5 b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5 b(alue)35 b Fq(nnn)e -Ft(\(one)i(to)1110 2157 y(three)c(digits\))630 2306 y +Ft(\(one)i(to)1110 2783 y(three)c(digits\))630 2945 y Fs(\\x)p Fi(HH)288 b Ft(the)40 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e (v)-5 b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5 b(alue)40 -b Fq(HH)1110 2416 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e(digits\))630 -2565 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g(macro,)i(single)e +b Fq(HH)1110 3054 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e(digits\))630 +3216 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g(macro,)i(single)e (or)f(double)g(quotes)h(m)m(ust)f(b)s(e)g(used)f(to)630 -2674 y(indicate)23 b(a)e(macro)h(de\014nition.)38 b(Unquoted)21 +3326 y(indicate)23 b(a)e(macro)h(de\014nition.)38 b(Unquoted)21 b(text)i(is)e(assumed)g(to)h(b)s(e)f(a)h(function)f(name.)38 -b(In)630 2784 y(the)22 b(macro)f(b)s(o)s(dy)-8 b(,)23 +b(In)630 3435 y(the)22 b(macro)f(b)s(o)s(dy)-8 b(,)23 b(the)e(bac)m(kslash)h(escap)s(es)g(describ)s(ed)e(ab)s(o)m(v)m(e)j -(are)e(expanded.)37 b(Bac)m(kslash)630 2894 y(will)j(quote)h(an)m(y)f +(are)e(expanded.)37 b(Bac)m(kslash)630 3545 y(will)j(quote)h(an)m(y)f (other)g(c)m(haracter)i(in)d(the)i(macro)f(text,)k(including)39 b(`)p Fs(")p Ft(')h(and)g(`)p Fs(')p Ft('.)69 b(F)-8 -b(or)630 3003 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i +b(or)630 3654 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i (mak)m(e)h(`)p Fi(C-x)j Fs(\\)p Ft(')c(insert)f(a)h(single)h(`)p -Fs(\\)p Ft(')f(in)m(to)g(the)g(line:)870 3132 y Fs("\\C-x\\\\":)45 -b("\\\\")150 3321 y Fj(8.3.2)63 b(Conditional)41 b(Init)g(Constructs) -150 3468 y Ft(Readline)c(implemen)m(ts)g(a)h(facilit)m(y)g(similar)f +Fs(\\)p Ft(')f(in)m(to)g(the)g(line:)870 3790 y Fs("\\C-x\\\\":)45 +b("\\\\")150 3992 y Fj(8.3.2)63 b(Conditional)41 b(Init)g(Constructs) +150 4139 y Ft(Readline)c(implemen)m(ts)g(a)h(facilit)m(y)g(similar)f (in)g(spirit)f(to)i(the)f(conditional)h(compilation)g(features)f(of)150 -3578 y(the)31 b(C)f(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)g +4248 y(the)31 b(C)f(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)g (bindings)d(and)h(v)-5 b(ariable)32 b(settings)f(to)h(b)s(e)e(p)s -(erformed)f(as)i(the)150 3687 y(result)f(of)h(tests.)41 +(erformed)f(as)i(the)150 4358 y(result)f(of)h(tests.)41 b(There)30 b(are)h(four)f(parser)f(directiv)m(es)j(used.)150 -3836 y Fs($if)336 b Ft(The)31 b Fs($if)f Ft(construct)i(allo)m(ws)h +4521 y Fs($if)336 b Ft(The)31 b Fs($if)f Ft(construct)i(allo)m(ws)h (bindings)d(to)i(b)s(e)e(made)i(based)f(on)g(the)g(editing)h(mo)s(de,)g -(the)630 3946 y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g +(the)630 4630 y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g (application)h(using)f(Readline.)64 b(The)38 b(text)h(of)f(the)g(test) -630 4056 y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m +630 4740 y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m (haracters)i(are)f(required)e(to)i(isolate)i(it.)630 -4205 y Fs(mode)288 b Ft(The)20 b Fs(mode=)g Ft(form)g(of)h(the)g +4902 y Fs(mode)288 b Ft(The)20 b Fs(mode=)g Ft(form)g(of)h(the)g Fs($if)f Ft(directiv)m(e)j(is)e(used)f(to)h(test)h(whether)e(Readline) -1110 4314 y(is)29 b(in)h Fs(emacs)e Ft(or)h Fs(vi)g Ft(mo)s(de.)40 +1110 5011 y(is)29 b(in)h Fs(emacs)e Ft(or)h Fs(vi)g Ft(mo)s(de.)40 b(This)29 b(ma)m(y)h(b)s(e)e(used)h(in)g(conjunction)h(with)f(the)1110 -4424 y(`)p Fs(set)h(keymap)p Ft(')c(command,)i(for)f(instance,)i(to)f -(set)g(bindings)f(in)g(the)h Fs(emacs-)1110 4533 y(standard)23 +5121 y(`)p Fs(set)h(keymap)p Ft(')c(command,)i(for)f(instance,)i(to)f +(set)g(bindings)f(in)g(the)h Fs(emacs-)1110 5230 y(standard)23 b Ft(and)h Fs(emacs-ctlx)f Ft(k)m(eymaps)i(only)g(if)g(Readline)h(is)f -(starting)h(out)1110 4643 y(in)k Fs(emacs)f Ft(mo)s(de.)630 -4792 y Fs(term)288 b Ft(The)26 b Fs(term=)g Ft(form)g(ma)m(y)i(b)s(e)e -(used)g(to)i(include)f(terminal-sp)s(eci\014c)g(k)m(ey)h(bind-)1110 -4902 y(ings,)38 b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f -(output)g(b)m(y)g(the)g(terminal's)1110 5011 y(function)24 +(starting)h(out)1110 5340 y(in)k Fs(emacs)f Ft(mo)s(de.)p +eop end +%%Page: 105 111 +TeXDict begin 105 110 bop 150 -116 a Ft(Chapter)30 b(8:)41 +b(Command)29 b(Line)i(Editing)2062 b(105)630 299 y Fs(term)288 +b Ft(The)26 b Fs(term=)g Ft(form)g(ma)m(y)i(b)s(e)e(used)g(to)i +(include)f(terminal-sp)s(eci\014c)g(k)m(ey)h(bind-)1110 +408 y(ings,)38 b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f +(output)g(b)m(y)g(the)g(terminal's)1110 518 y(function)24 b(k)m(eys.)39 b(The)23 b(w)m(ord)h(on)f(the)i(righ)m(t)f(side)g(of)g -(the)g(`)p Fs(=)p Ft(')g(is)g(tested)h(against)1110 5121 +(the)g(`)p Fs(=)p Ft(')g(is)g(tested)h(against)1110 628 y(b)s(oth)k(the)h(full)g(name)g(of)g(the)g(terminal)h(and)e(the)i(p)s -(ortion)e(of)h(the)g(terminal)1110 5230 y(name)k(b)s(efore)f(the)g +(ortion)e(of)h(the)g(terminal)1110 737 y(name)k(b)s(efore)f(the)g (\014rst)g(`)p Fs(-)p Ft('.)50 b(This)33 b(allo)m(ws)i Fs(sun)e Ft(to)h(matc)m(h)g(b)s(oth)f Fs(sun)g Ft(and)1110 -5340 y Fs(sun-cmd)p Ft(,)c(for)h(instance.)p eop end -%%Page: 103 109 -TeXDict begin 103 108 bop 150 -116 a Ft(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(103)630 299 y Fs(application)1110 -408 y Ft(The)21 b Fq(application)j Ft(construct)e(is)g(used)f(to)i -(include)f(application-sp)s(eci\014c)h(set-)1110 518 -y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h(Readline)g(library)g -(sets)g(the)g Fq(application)1110 628 y(name)5 b Ft(,)25 -b(and)d(y)m(ou)h(can)g(test)h(for)e(a)h(particular)h(v)-5 -b(alue.)38 b(This)22 b(could)h(b)s(e)f(used)g(to)1110 -737 y(bind)32 b(k)m(ey)h(sequences)g(to)h(functions)e(useful)g(for)h(a) -g(sp)s(eci\014c)f(program.)48 b(F)-8 b(or)1110 847 y(instance,)35 -b(the)e(follo)m(wing)h(command)f(adds)f(a)i(k)m(ey)f(sequence)h(that)f -(quotes)1110 956 y(the)e(curren)m(t)f(or)g(previous)g(w)m(ord)g(in)g -(Bash:)1350 1091 y Fs($if)47 b(Bash)1350 1200 y(#)g(Quote)g(the)g -(current)f(or)h(previous)e(word)1350 1310 y("\\C-xq":)h -("\\eb\\"\\ef\\"")1350 1420 y($endif)150 1579 y($endif)192 -b Ft(This)29 b(command,)i(as)f(seen)h(in)f(the)g(previous)g(example,)h -(terminates)g(an)g Fs($if)e Ft(command.)150 1738 y Fs($else)240 -b Ft(Commands)29 b(in)h(this)h(branc)m(h)e(of)i(the)f -Fs($if)g Ft(directiv)m(e)i(are)f(executed)g(if)f(the)h(test)g(fails.) -150 1898 y Fs($include)96 b Ft(This)43 b(directiv)m(e)i(tak)m(es)g(a)e -(single)i(\014lename)e(as)h(an)f(argumen)m(t)h(and)f(reads)g(commands) -630 2007 y(and)38 b(bindings)f(from)h(that)i(\014le.)65 +847 y Fs(sun-cmd)p Ft(,)c(for)h(instance.)630 1006 y +Fs(application)1110 1116 y Ft(The)21 b Fq(application)j +Ft(construct)e(is)g(used)f(to)i(include)f(application-sp)s(eci\014c)h +(set-)1110 1225 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h +(Readline)g(library)g(sets)g(the)g Fq(application)1110 +1335 y(name)5 b Ft(,)25 b(and)d(y)m(ou)h(can)g(test)h(for)e(a)h +(particular)h(v)-5 b(alue.)38 b(This)22 b(could)h(b)s(e)f(used)g(to) +1110 1445 y(bind)32 b(k)m(ey)h(sequences)g(to)h(functions)e(useful)g +(for)h(a)g(sp)s(eci\014c)f(program.)48 b(F)-8 b(or)1110 +1554 y(instance,)35 b(the)e(follo)m(wing)h(command)f(adds)f(a)i(k)m(ey) +f(sequence)h(that)f(quotes)1110 1664 y(the)e(curren)m(t)f(or)g +(previous)g(w)m(ord)g(in)g(Bash:)1350 1798 y Fs($if)47 +b(Bash)1350 1908 y(#)g(Quote)g(the)g(current)f(or)h(previous)e(word) +1350 2017 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350 2127 y($endif)150 +2286 y($endif)192 b Ft(This)29 b(command,)i(as)f(seen)h(in)f(the)g +(previous)g(example,)h(terminates)g(an)g Fs($if)e Ft(command.)150 +2446 y Fs($else)240 b Ft(Commands)29 b(in)h(this)h(branc)m(h)e(of)i +(the)f Fs($if)g Ft(directiv)m(e)i(are)f(executed)g(if)f(the)h(test)g +(fails.)150 2605 y Fs($include)96 b Ft(This)43 b(directiv)m(e)i(tak)m +(es)g(a)e(single)i(\014lename)e(as)h(an)f(argumen)m(t)h(and)f(reads)g +(commands)630 2715 y(and)38 b(bindings)f(from)h(that)i(\014le.)65 b(F)-8 b(or)39 b(example,)j(the)d(follo)m(wing)h(directiv)m(e)g(reads)e -(from)630 2117 y(`)p Fs(/etc/inputrc)p Ft(':)870 2252 -y Fs($include)46 b(/etc/inputrc)150 2451 y Fj(8.3.3)63 -b(Sample)41 b(Init)g(File)150 2598 y Ft(Here)27 b(is)f(an)h(example)g +(from)630 2824 y(`)p Fs(/etc/inputrc)p Ft(':)870 2959 +y Fs($include)46 b(/etc/inputrc)150 3158 y Fj(8.3.3)63 +b(Sample)41 b(Init)g(File)150 3305 y Ft(Here)27 b(is)f(an)h(example)g (of)f(an)h Fq(inputrc)k Ft(\014le.)39 b(This)26 b(illustrates)h(k)m(ey) h(binding,)e(v)-5 b(ariable)27 b(assignmen)m(t,)i(and)150 -2707 y(conditional)j(syn)m(tax.)p eop end -%%Page: 104 110 -TeXDict begin 104 109 bop 150 -116 a Ft(104)2527 b(Bash)31 +3415 y(conditional)j(syn)m(tax.)p eop end +%%Page: 106 112 +TeXDict begin 106 111 bop 150 -116 a Ft(106)2527 b(Bash)31 b(Reference)g(Man)m(ual)390 408 y Fs(#)47 b(This)g(file)g(controls)e (the)i(behaviour)e(of)j(line)e(input)h(editing)e(for)390 518 y(#)i(programs)f(that)h(use)g(the)f(GNU)h(Readline)f(library.)93 @@ -12100,9 +12251,9 @@ y(#)47 b(Arrow)g(keys)f(in)i(8)f(bit)g(keypad)f(mode)390 4902 y(#)390 5011 y(#)47 b(Arrow)g(keys)f(in)i(8)f(bit)g(ANSI)g(mode) 390 5121 y(#)390 5230 y(#"\\M-\\C-[D":)331 b(backward-char)390 5340 y(#"\\M-\\C-[C":)g(forward-char)p eop end -%%Page: 105 111 -TeXDict begin 105 110 bop 150 -116 a Ft(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(105)390 299 y Fs(#"\\M-\\C-[A":) +%%Page: 107 113 +TeXDict begin 107 112 bop 150 -116 a Ft(Chapter)30 b(8:)41 +b(Command)29 b(Line)i(Editing)2062 b(107)390 299 y Fs(#"\\M-\\C-[A":) 331 b(previous-history)390 408 y(#"\\M-\\C-[B":)g(next-history)390 628 y(C-q:)47 b(quoted-insert)390 847 y($endif)390 1066 y(#)g(An)h(old-style)d(binding.)93 b(This)47 b(happens)f(to)h(be)g(the) @@ -12135,8 +12286,8 @@ y($endif)390 3477 y(#)i(use)g(a)h(visible)e(bell)g(if)h(one)g(is)h (completions)e(for)390 5121 y(#)j(a)h(word,)e(ask)h(the)g(user)g(if)g (he)g(wants)f(to)i(see)f(all)f(of)i(them)390 5230 y(set)f (completion-query-items)42 b(150)p eop end -%%Page: 106 112 -TeXDict begin 106 111 bop 150 -116 a Ft(106)2527 b(Bash)31 +%%Page: 108 114 +TeXDict begin 108 113 bop 150 -116 a Ft(108)2527 b(Bash)31 b(Reference)g(Man)m(ual)390 299 y Fs(#)47 b(For)g(FTP)390 408 y($if)g(Ftp)390 518 y("\\C-xg":)f("get)g(\\M-?")390 628 y("\\C-xt":)g("put)g(\\M-?")390 737 y("\\M-.":)g(yank-last-arg)390 @@ -12147,7 +12298,7 @@ b(Y)-8 b(ou)33 b(can)150 1344 y(list)40 b(y)m(our)f(k)m(ey)i(bindings)d (b)m(y)h(executing)i Fs(bind)29 b(-P)39 b Ft(or,)j(for)d(a)h(more)g (terse)g(format,)i(suitable)e(for)f(an)150 1454 y Fq(inputrc)34 b Ft(\014le,)29 b Fs(bind)g(-p)p Ft(.)40 b(\(See)30 b(Section)f(4.2)h -([Bash)g(Builtins],)g(page)g(41.\))41 b(Command)28 b(names)h(without) +([Bash)g(Builtins],)g(page)g(43.\))41 b(Command)28 b(names)h(without) 150 1563 y(an)h(accompan)m(ying)i(k)m(ey)f(sequence)g(are)g(un)m(b)s (ound)d(b)m(y)i(default.)275 1696 y(In)25 b(the)h(follo)m(wing)i (descriptions,)f Fq(p)s(oin)m(t)h Ft(refers)e(to)h(the)f(curren)m(t)g @@ -12184,9 +12335,9 @@ b(ords)35 b(are)g(delimited)630 4683 y(b)m(y)30 b(non-quoted)h(shell)f b(\(\))630 5322 y Ft(Refresh)30 b(the)g(curren)m(t)h(line.)41 b(By)30 b(default,)h(this)f(is)h(un)m(b)s(ound.)p eop end -%%Page: 107 113 -TeXDict begin 107 112 bop 150 -116 a Ft(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(107)150 299 y Fj(8.4.2)63 +%%Page: 109 115 +TeXDict begin 109 114 bop 150 -116 a Ft(Chapter)30 b(8:)41 +b(Command)29 b(Line)i(Editing)2062 b(109)150 299 y Fj(8.4.2)63 b(Commands)42 b(F)-10 b(or)41 b(Manipulating)h(The)f(History)150 473 y Fs(accept-line)27 b(\(Newline)h(or)i(Return\))630 582 y Ft(Accept)25 b(the)e(line)h(regardless)g(of)f(where)g(the)h @@ -12247,8 +12398,8 @@ m(ords)g(in)f(the)h(previous)g(command)f(b)s(egin)h(with)f(w)m(ord)630 5340 y(0\).)69 b(A)40 b(negativ)m(e)h(argumen)m(t)f(inserts)g(the)f Fq(n)p Ft(th)g(w)m(ord)g(from)g(the)h(end)f(of)h(the)f(previous)p eop end -%%Page: 108 114 -TeXDict begin 108 113 bop 150 -116 a Ft(108)2527 b(Bash)31 +%%Page: 110 116 +TeXDict begin 110 115 bop 150 -116 a Ft(110)2527 b(Bash)31 b(Reference)g(Man)m(ual)630 299 y(command.)48 b(Once)33 b(the)g(argumen)m(t)h Fq(n)e Ft(is)h(computed,)h(the)f(argumen)m(t)g (is)g(extracted)i(as)e(if)630 408 y(the)e(`)p Fs(!)p @@ -12309,9 +12460,9 @@ b(the)i(insertion)f(p)s(oin)m(t)h(is)f(at)h(the)g(end)e(of)i(the)f (w)m(ord.)37 b(With)22 b(a)g(negativ)m(e)i(argumen)m(t,)g(lo)m(w)m (ercase)630 5340 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f(mo)m (v)m(e)i(the)f(cursor.)p eop end -%%Page: 109 115 -TeXDict begin 109 114 bop 150 -116 a Ft(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(109)150 299 y Fs(capitalize-word) +%%Page: 111 117 +TeXDict begin 111 116 bop 150 -116 a Ft(Chapter)30 b(8:)41 +b(Command)29 b(Line)i(Editing)2062 b(111)150 299 y Fs(capitalize-word) 26 b(\(M-c\))630 408 y Ft(Capitalize)d(the)f(curren)m(t)f(\(or)g(follo) m(wing\))i(w)m(ord.)38 b(With)21 b(a)h(negativ)m(e)h(argumen)m(t,)h (capitalize)630 518 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f @@ -12371,8 +12522,8 @@ b(killed)h(text)g(is)g(sa)m(v)m(ed)g(on)g(the)f(kill-ring.)150 y Ft(Delete)33 b(all)e(spaces)g(and)e(tabs)i(around)e(p)s(oin)m(t.)41 b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)p eop end -%%Page: 110 116 -TeXDict begin 110 115 bop 150 -116 a Ft(110)2527 b(Bash)31 +%%Page: 112 118 +TeXDict begin 112 117 bop 150 -116 a Ft(112)2527 b(Bash)31 b(Reference)g(Man)m(ual)150 299 y Fs(kill-region)c(\(\))630 408 y Ft(Kill)k(the)f(text)i(in)e(the)g(curren)m(t)h(region.)41 b(By)31 b(default,)f(this)h(command)f(is)g(un)m(b)s(ound.)150 @@ -12439,9 +12590,9 @@ b(the)g(p)s(ossible)f(completions)i(of)e(the)h(text)h(b)s(efore)e(p)s y(pletions,)f(Readline)f(sets)f(the)h(n)m(um)m(b)s(er)e(of)i(columns)f (used)f(for)i(displa)m(y)f(to)h(the)g(v)-5 b(alue)33 b(of)p eop end -%%Page: 111 117 -TeXDict begin 111 116 bop 150 -116 a Ft(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(111)630 299 y Fs +%%Page: 113 119 +TeXDict begin 113 118 bop 150 -116 a Ft(Chapter)30 b(8:)41 +b(Command)29 b(Line)i(Editing)2062 b(113)630 299 y Fs (completion-display-width)o Ft(,)33 b(the)j(v)-5 b(alue)37 b(of)g(the)f(en)m(vironmen)m(t)h(v)-5 b(ariable)38 b Fs(COLUMNS)p Ft(,)630 408 y(or)30 b(the)h(screen)f(width,)g(in)g(that)h @@ -12504,8 +12655,8 @@ b(@\))630 4961 y Ft(List)25 b(the)g(p)s(ossible)f(completions)h(of)g s(oin)m(t,)h(treating)h(it)g(as)f(a)g(command)g(name.)630 5340 y(Command)46 b(completion)i(attempts)g(to)f(matc)m(h)h(the)f(text) h(against)g(aliases,)53 b(reserv)m(ed)p eop end -%%Page: 112 118 -TeXDict begin 112 117 bop 150 -116 a Ft(112)2527 b(Bash)31 +%%Page: 114 120 +TeXDict begin 114 119 bop 150 -116 a Ft(114)2527 b(Bash)31 b(Reference)g(Man)m(ual)630 299 y(w)m(ords,)36 b(shell)g(functions,)h (shell)e(builtins,)i(and)e(\014nally)g(executable)i(\014lenames,)g(in)e (that)630 408 y(order.)150 574 y Fs(possible-command-complet)o(ions)24 @@ -12524,7 +12675,7 @@ b(\(M-{\))630 1836 y Ft(P)m(erform)f(\014lename)f(completion)i(and)f (insert)f(the)h(list)g(of)g(p)s(ossible)f(completions)i(enclosed)630 1946 y(within)34 b(braces)h(so)f(the)h(list)g(is)g(a)m(v)-5 b(ailable)37 b(to)e(the)g(shell)g(\(see)g(Section)h(3.5.1)g([Brace)g -(Ex-)630 2055 y(pansion],)30 b(page)h(18\).)150 2260 +(Ex-)630 2055 y(pansion],)30 b(page)h(19\).)150 2260 y Fj(8.4.7)63 b(Keyb)s(oard)41 b(Macros)150 2435 y Fs(start-kbd-macro) 26 b(\(C-x)j(\(\))630 2545 y Ft(Begin)i(sa)m(ving)h(the)e(c)m (haracters)i(t)m(yp)s(ed)e(in)m(to)h(the)g(curren)m(t)f(k)m(eyb)s(oard) @@ -12555,9 +12706,9 @@ b(alen)m(t)31 b(to)g(t)m(yping)g Fi(M-f)p Ft(.)150 5230 y Fs(undo)e(\(C-_)g(or)h(C-x)g(C-u\))630 5340 y Ft(Incremen)m(tal)h (undo,)f(separately)h(remem)m(b)s(ered)f(for)g(eac)m(h)i(line.)p eop end -%%Page: 113 119 -TeXDict begin 113 118 bop 150 -116 a Ft(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(113)150 299 y Fs(revert-line)27 +%%Page: 115 121 +TeXDict begin 115 120 bop 150 -116 a Ft(Chapter)30 b(8:)41 +b(Command)29 b(Line)i(Editing)2062 b(115)150 299 y Fs(revert-line)27 b(\(M-r\))630 408 y Ft(Undo)33 b(all)h(c)m(hanges)g(made)f(to)h(this)f (line.)49 b(This)32 b(is)h(lik)m(e)i(executing)f(the)f Fs(undo)f Ft(command)630 518 y(enough)e(times)h(to)g(get)h(bac)m(k)f @@ -12626,8 +12777,8 @@ b(alues)22 b(to)g(the)f(Readline)h(output)f(stream.)630 5340 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fq(inputrc)k Ft(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c(b)m(y)k (default.)p eop end -%%Page: 114 120 -TeXDict begin 114 119 bop 150 -116 a Ft(114)2527 b(Bash)31 +%%Page: 116 122 +TeXDict begin 116 121 bop 150 -116 a Ft(116)2527 b(Bash)31 b(Reference)g(Man)m(ual)150 299 y Fs(dump-macros)c(\(\))630 408 y Ft(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h(sequences)f (b)s(ound)e(to)i(macros)g(and)f(the)h(strings)g(they)630 @@ -12660,15 +12811,15 @@ Fs(*)p Ft(')630 2212 y(is)c(app)s(ended)f(b)s(efore)h(pathname)g (do)s(es.)55 b(This)34 b(p)s(erforms)g(alias)i(and)f(history)g (expansion)630 2867 y(as)f(w)m(ell)g(as)g(all)h(of)e(the)h(shell)g(w)m (ord)f(expansions)g(\(see)i(Section)f(3.5)h([Shell)e(Expansions],)630 -2976 y(page)e(17\).)150 3139 y Fs(history-expand-line)25 +2976 y(page)e(18\).)150 3139 y Fs(history-expand-line)25 b(\(M-^\))630 3249 y Ft(P)m(erform)30 b(history)h(expansion)f(on)g(the) h(curren)m(t)f(line.)150 3412 y Fs(magic-space)d(\(\))630 3521 y Ft(P)m(erform)c(history)g(expansion)g(on)g(the)g(curren)m(t)g (line)g(and)g(insert)g(a)g(space)h(\(see)g(Section)g(9.3)630 -3631 y([History)31 b(In)m(teraction],)i(page)e(123\).)150 +3631 y([History)31 b(In)m(teraction],)i(page)e(125\).)150 3794 y Fs(alias-expand-line)26 b(\(\))630 3904 y Ft(P)m(erform)i(alias) i(expansion)e(on)g(the)h(curren)m(t)f(line)h(\(see)g(Section)g(6.6)h -([Aliases],)g(page)f(79\).)150 4066 y Fs(history-and-alias-expand)o +([Aliases],)g(page)f(81\).)150 4066 y Fs(history-and-alias-expand)o (-lin)o(e)24 b(\(\))630 4176 y Ft(P)m(erform)30 b(history)h(and)e (alias)j(expansion)e(on)g(the)h(curren)m(t)f(line.)150 4339 y Fs(insert-last-argument)25 b(\(M-.)k(or)h(M-_\))630 @@ -12685,9 +12836,9 @@ y Ft(In)m(v)m(ok)m(e)34 b(an)f(editor)g(on)g(the)g(curren)m(t)f Fs($VISUAL)p Ft(,)f Fs($EDITOR)p Ft(,)h(and)d Fs(emacs)g Ft(as)h(the)630 5322 y(editor,)31 b(in)f(that)h(order.)p eop end -%%Page: 115 121 -TeXDict begin 115 120 bop 150 -116 a Ft(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(115)150 299 y Fr(8.5)68 +%%Page: 117 123 +TeXDict begin 117 122 bop 150 -116 a Ft(Chapter)30 b(8:)41 +b(Command)29 b(Line)i(Editing)2062 b(117)150 299 y Fr(8.5)68 b(Readline)47 b(vi)e(Mo)t(de)150 458 y Ft(While)32 b(the)g(Readline)g (library)f(do)s(es)g(not)h(ha)m(v)m(e)h(a)f(full)f(set)h(of)g Fs(vi)f Ft(editing)h(functions,)f(it)h(do)s(es)g(con)m(tain)150 @@ -12698,7 +12849,7 @@ b(The)34 b(Readline)g Fs(vi)g Ft(mo)s(de)f(b)s(eha)m(v)m(es)i(as)f(sp)s (w)m(een)d Fs(emacs)f Ft(and)g Fs(vi)g Ft(editing)h(mo)s(des,)h(use)f (the)g(`)p Fs(set)30 b(-o)150 926 y(emacs)p Ft(')43 b(and)h(`)p Fs(set)30 b(-o)f(vi)p Ft(')44 b(commands)g(\(see)i(Section)f(4.3.1)h -([The)e(Set)h(Builtin],)j(page)e(51\).)83 b(The)150 1036 +([The)e(Set)h(Builtin],)j(page)e(53\).)83 b(The)150 1036 y(Readline)31 b(default)g(is)f Fs(emacs)f Ft(mo)s(de.)275 1175 y(When)g(y)m(ou)i(en)m(ter)f(a)h(line)f(in)g Fs(vi)f Ft(mo)s(de,)h(y)m(ou)h(are)f(already)h(placed)f(in)g(`insertion')g(mo)s @@ -12715,7 +12866,7 @@ y Ft(When)25 b(w)m(ord)g(completion)i(is)f(attempted)g(for)g(an)f 2013 y(sp)s(eci\014cation)40 b(\(a)h Fq(compsp)s(ec)6 b Ft(\))39 b(has)h(b)s(een)f(de\014ned)f(using)h(the)h Fs(complete)d Ft(builtin)j(\(see)g(Section)h(8.7)150 -2123 y([Programmable)h(Completion)f(Builtins],)k(page)d(117\),)j(the)c +2123 y([Programmable)h(Completion)f(Builtins],)k(page)d(119\),)j(the)c (programmable)g(completion)i(facilities)150 2232 y(are)31 b(in)m(v)m(ok)m(ed.)275 2371 y(First,)23 b(the)e(command)g(name)g(is)h (iden)m(ti\014ed.)37 b(If)21 b(a)g(compsp)s(ec)g(has)g(b)s(een)f @@ -12741,7 +12892,7 @@ Fs(complete)d Ft(is)i(used)g(as)g(the)h(default.)275 b(If)150 3388 y(a)37 b(compsp)s(ec)f(is)g(not)h(found,)f(the)h(default) f(Bash)h(completion)g(describ)s(ed)e(ab)s(o)m(v)m(e)j(\(see)f(Section)g (8.4.6)150 3497 y([Commands)30 b(F)-8 b(or)31 b(Completion],)g(page)g -(110\))h(is)f(p)s(erformed.)275 3637 y(First,)g(the)g(actions)g(sp)s +(112\))h(is)f(p)s(erformed.)275 3637 y(First,)g(the)g(actions)g(sp)s (eci\014ed)f(b)m(y)h(the)f(compsp)s(ec)h(are)g(used.)40 b(Only)30 b(matc)m(hes)i(whic)m(h)e(are)h(pre\014xed)150 3746 y(b)m(y)25 b(the)h(w)m(ord)f(b)s(eing)f(completed)j(are)e @@ -12750,7 +12901,7 @@ Fs(-d)p Ft(')g(option)h(is)f(used)g(for)g(\014lename)150 3856 y(or)30 b(directory)h(name)f(completion,)i(the)e(shell)h(v)-5 b(ariable)31 b Fs(FIGNORE)d Ft(is)i(used)f(to)i(\014lter)g(the)f(matc)m (hes.)42 b(See)150 3965 y(Section)31 b(5.2)h([Bash)e(V)-8 -b(ariables],)33 b(page)e(61,)g(for)f(a)h(description)g(of)f +b(ariables],)33 b(page)e(63,)g(for)f(a)h(description)g(of)f Fs(FIGNORE)p Ft(.)275 4105 y(An)m(y)f(completions)h(sp)s(eci\014ed)f(b) m(y)g(a)h(\014lename)f(expansion)h(pattern)f(to)h(the)g(`)p Fs(-G)p Ft(')f(option)h(are)f(gener-)150 4214 y(ated)h(next.)40 @@ -12769,15 +12920,15 @@ b(ariable)33 b(as)g(delimiters.)48 b(Shell)32 b(quoting)h(is)150 4902 y(and)44 b(v)-5 b(ariable)46 b(expansion,)j(command)44 b(substitution,)49 b(and)44 b(arithmetic)i(expansion,)j(as)c(describ)s (ed)150 5011 y(ab)s(o)m(v)m(e)38 b(\(see)f(Section)h(3.5)g([Shell)e -(Expansions],)i(page)f(17\).)61 b(The)36 b(results)h(are)g(split)f +(Expansions],)i(page)f(18\).)61 b(The)36 b(results)h(are)g(split)f (using)h(the)f(rules)150 5121 y(describ)s(ed)29 b(ab)s(o)m(v)m(e)i -(\(see)f(Section)h(3.5.7)h([W)-8 b(ord)30 b(Splitting],)h(page)f(23\).) +(\(see)f(Section)h(3.5.7)h([W)-8 b(ord)30 b(Splitting],)h(page)f(25\).) 42 b(The)30 b(results)f(of)h(the)g(expansion)150 5230 y(are)f(pre\014x-matc)m(hed)h(against)g(the)f(w)m(ord)g(b)s(eing)f (completed,)j(and)d(the)i(matc)m(hing)g(w)m(ords)e(b)s(ecome)i(the)150 5340 y(p)s(ossible)g(completions.)p eop end -%%Page: 116 122 -TeXDict begin 116 121 bop 150 -116 a Ft(116)2527 b(Bash)31 +%%Page: 118 124 +TeXDict begin 118 123 bop 150 -116 a Ft(118)2527 b(Bash)31 b(Reference)g(Man)m(ual)275 299 y(After)e(these)g(matc)m(hes)i(ha)m(v)m (e)f(b)s(een)f(generated,)h(an)m(y)g(shell)f(function)g(or)g(command)g (sp)s(eci\014ed)f(with)150 408 y(the)i(`)p Fs(-F)p Ft(')g(and)f(`)p @@ -12787,7 +12938,7 @@ Fs(COMP_)150 518 y(LINE)p Ft(,)42 b Fs(COMP_POINT)p Ft(,)d Fs(COMP_KEY)p Ft(,)i(and)e Fs(COMP_TYPE)f Ft(v)-5 b(ariables)41 b(are)f(assigned)g(v)-5 b(alues)41 b(as)f(describ)s(ed)150 628 y(ab)s(o)m(v)m(e)k(\(see)g(Section)f(5.2)h([Bash)f(V)-8 -b(ariables],)48 b(page)c(61\).)79 b(If)42 b(a)i(shell)f(function)f(is)h +b(ariables],)48 b(page)c(63\).)79 b(If)42 b(a)i(shell)f(function)f(is)h (b)s(eing)f(in)m(v)m(ok)m(ed,)150 737 y(the)37 b Fs(COMP_WORDS)d Ft(and)i Fs(COMP_CWORD)e Ft(v)-5 b(ariables)38 b(are)f(also)h(set.)60 b(When)37 b(the)g(function)f(or)h(command)150 847 y(is)42 @@ -12806,7 +12957,7 @@ s(eci\014ed)f(with)g(`)p Fs(-F)p Ft(')h(is)g(in)m(v)m(ok)m(ed)h (shell)150 1529 y(facilities,)50 b(including)44 b(the)h Fs(compgen)d Ft(and)i Fs(compopt)e Ft(builtins)i(describ)s(ed)f(b)s (elo)m(w)h(\(see)i(Section)f(8.7)150 1638 y([Programmable)31 -b(Completion)h(Builtins],)f(page)h(117\),)g(to)g(generate)g(the)f(matc) +b(Completion)h(Builtins],)f(page)h(119\),)g(to)g(generate)g(the)f(matc) m(hes.)42 b(It)31 b(m)m(ust)g(put)f(the)150 1748 y(p)s(ossible)g (completions)h(in)f(the)h Fs(COMPREPLY)d Ft(arra)m(y)j(v)-5 b(ariable.)275 1882 y(Next,)23 b(an)m(y)e(command)f(sp)s(eci\014ed)g @@ -12875,9 +13026,9 @@ b(is)i(some)g(supp)s(ort)e(for)h(dynamically)h(mo)s(difying)f 5340 y(used)37 b(in)h(com)m(bination)h(with)e(a)i(default)f(completion) h(sp)s(eci\014ed)e(with)h(`)p Fs(-D)p Ft('.)63 b(It's)38 b(p)s(ossible)f(for)h(shell)p eop end -%%Page: 117 123 -TeXDict begin 117 122 bop 150 -116 a Ft(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(117)150 299 y(functions)28 +%%Page: 119 125 +TeXDict begin 119 124 bop 150 -116 a Ft(Chapter)30 b(8:)41 +b(Command)29 b(Line)i(Editing)2062 b(119)150 299 y(functions)28 b(executed)h(as)f(completion)i(handlers)d(to)i(indicate)g(that)g (completion)g(should)e(b)s(e)h(retried)g(b)m(y)150 408 y(returning)j(an)i(exit)g(status)f(of)h(124.)48 b(If)31 @@ -12947,8 +13098,8 @@ b(are)h(supplied,)630 5121 y(all)46 b(completion)h(sp)s f(apply)g(to)h(the)g(\\default")g(command)f(completion;)k(that)630 5340 y(is,)25 b(completion)g(attempted)g(on)e(a)h(command)f(for)g(whic) m(h)h(no)f(completion)i(has)e(previously)p eop end -%%Page: 118 124 -TeXDict begin 118 123 bop 150 -116 a Ft(118)2527 b(Bash)31 +%%Page: 120 126 +TeXDict begin 120 125 bop 150 -116 a Ft(120)2527 b(Bash)31 b(Reference)g(Man)m(ual)630 299 y(b)s(een)d(de\014ned.)39 b(The)27 b(`)p Fs(-E)p Ft(')i(option)g(indicates)g(that)g(the)g (remaining)f(options)h(and)f(actions)630 408 y(should)i(apply)i(to)g @@ -12957,7 +13108,7 @@ b(The)27 b(`)p Fs(-E)p Ft(')i(option)g(indicates)g(that)g(the)g g(of)h(applying)g(these)g(completion)g(sp)s(eci\014cations)h(when)d(w)m (ord)i(completion)630 758 y(is)35 b(attempted)h(is)f(describ)s(ed)f(ab) s(o)m(v)m(e)j(\(see)f(Section)g(8.6)g([Programmable)g(Completion],)630 -868 y(page)31 b(115\).)42 b(The)30 b(`)p Fs(-D)p Ft(')h(option)f(tak)m +868 y(page)31 b(117\).)42 b(The)30 b(`)p Fs(-D)p Ft(')h(option)f(tak)m (es)i(precedence)f(o)m(v)m(er)h(`)p Fs(-E)p Ft('.)630 999 y(Other)41 b(options,)46 b(if)41 b(sp)s(eci\014ed,)j(ha)m(v)m(e)f (the)f(follo)m(wing)i(meanings.)75 b(The)41 b(argumen)m(ts)h(to)630 @@ -13003,13 +13154,13 @@ b(also)h(b)s(e)e(sp)s(eci\014ed)f(as)i(`)p Fs(-a)p Ft('.)1110 4817 y Fs(arrayvar)96 b Ft(Arra)m(y)31 b(v)-5 b(ariable)31 b(names.)1110 4969 y Fs(binding)144 b Ft(Readline)30 b(k)m(ey)f(binding)f(names)h(\(see)h(Section)f(8.4)h([Bindable)1590 -5079 y(Readline)h(Commands],)f(page)h(106\).)1110 5230 +5079 y(Readline)h(Commands],)f(page)h(108\).)1110 5230 y Fs(builtin)144 b Ft(Names)21 b(of)g(shell)f(builtin)h(commands.)37 b(Ma)m(y)21 b(also)h(b)s(e)e(sp)s(eci\014ed)1590 5340 y(as)31 b(`)p Fs(-b)p Ft('.)p eop end -%%Page: 119 125 -TeXDict begin 119 124 bop 150 -116 a Ft(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(119)1110 299 y Fs(command)144 +%%Page: 121 127 +TeXDict begin 121 126 bop 150 -116 a Ft(Chapter)30 b(8:)41 +b(Command)29 b(Line)i(Editing)2062 b(121)1110 299 y Fs(command)144 b Ft(Command)29 b(names.)41 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s (eci\014ed)f(as)i(`)p Fs(-c)p Ft('.)1110 461 y Fs(directory)1590 570 y Ft(Directory)h(names.)40 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s @@ -13026,11 +13177,11 @@ b Ft(Group)30 b(names.)40 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)g (as)g(`)p Fs(-g)p Ft('.)1110 1812 y Fs(helptopic)1590 1922 y Ft(Help)37 b(topics)g(as)g(accepted)h(b)m(y)e(the)h Fs(help)f Ft(builtin)g(\(see)h(Sec-)1590 2031 y(tion)31 -b(4.2)g([Bash)g(Builtins],)g(page)g(41\).)1110 2193 y +b(4.2)g([Bash)g(Builtins],)g(page)g(43\).)1110 2193 y Fs(hostname)96 b Ft(Hostnames,)89 b(as)76 b(tak)m(en)h(from)f(the)g (\014le)h(sp)s(eci\014ed)e(b)m(y)1590 2303 y(the)55 b Fs(HOSTFILE)e Ft(shell)j(v)-5 b(ariable)56 b(\(see)g(Section)g(5.2)h -([Bash)1590 2412 y(V)-8 b(ariables],)32 b(page)f(61\).)1110 +([Bash)1590 2412 y(V)-8 b(ariables],)32 b(page)f(63\).)1110 2574 y Fs(job)336 b Ft(Job)31 b(names,)h(if)g(job)f(con)m(trol)i(is)f (activ)m(e.)46 b(Ma)m(y)33 b(also)g(b)s(e)e(sp)s(eci-)1590 2684 y(\014ed)f(as)g(`)p Fs(-j)p Ft('.)1110 2846 y Fs(keyword)144 @@ -13042,10 +13193,10 @@ b Ft(Service)31 b(names.)41 b(Ma)m(y)31 b(also)g(b)s(e)f(sp)s (eci\014ed)g(as)g(`)p Fs(-s)p Ft('.)1110 3331 y Fs(setopt)192 b Ft(V)-8 b(alid)34 b(argumen)m(ts)f(for)f(the)h(`)p Fs(-o)p Ft(')g(option)g(to)h(the)f Fs(set)e Ft(builtin)1590 -3440 y(\(see)g(Section)h(4.3.1)g([The)e(Set)g(Builtin],)i(page)f(51\).) +3440 y(\(see)g(Section)h(4.3.1)g([The)e(Set)g(Builtin],)i(page)f(53\).) 1110 3602 y Fs(shopt)240 b Ft(Shell)40 b(option)g(names)g(as)g (accepted)i(b)m(y)e(the)g Fs(shopt)e Ft(builtin)1590 -3712 y(\(see)31 b(Section)h(4.2)f([Bash)g(Builtins],)g(page)g(41\).) +3712 y(\(see)31 b(Section)h(4.2)f([Bash)g(Builtins],)g(page)g(43\).) 1110 3874 y Fs(signal)192 b Ft(Signal)31 b(names.)1110 4035 y Fs(stopped)144 b Ft(Names)31 b(of)g(stopp)s(ed)e(jobs,)h(if)g (job)g(con)m(trol)i(is)f(activ)m(e.)1110 4197 y Fs(user)288 @@ -13063,8 +13214,8 @@ y(men)m(t.)40 b(When)25 b(it)h(\014nishes,)f(the)h(p)s(ossible)f (completions)h(are)g(retriev)m(ed)g(from)1110 5340 y(the)31 b(v)-5 b(alue)30 b(of)h(the)g Fs(COMPREPLY)c Ft(arra)m(y)k(v)-5 b(ariable.)p eop end -%%Page: 120 126 -TeXDict begin 120 125 bop 150 -116 a Ft(120)2527 b(Bash)31 +%%Page: 122 128 +TeXDict begin 122 127 bop 150 -116 a Ft(122)2527 b(Bash)31 b(Reference)g(Man)m(ual)630 299 y Fs(-G)f Fi(globpat)1110 408 y Ft(The)39 b(\014lename)h(expansion)g(pattern)g Fq(globpat)j Ft(is)d(expanded)f(to)h(generate)1110 518 @@ -13128,9 +13279,9 @@ b(is)f(true)g(unless)f(an)h(in)m(v)-5 b(alid)24 b(option)h(is)f b(mo)s(dify)f(the)g(options)h(for)f(a)h Fq(name)k Ft(for)31 b(whic)m(h)g(no)g(completion)i(sp)s(eci\014cation)f(exists,)630 4862 y(or)e(an)h(output)f(error)g(o)s(ccurs.)p eop end -%%Page: 121 127 -TeXDict begin 121 126 bop 150 -116 a Ft(Chapter)30 b(9:)41 -b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(121)150 +%%Page: 123 129 +TeXDict begin 123 128 bop 150 -116 a Ft(Chapter)30 b(9:)41 +b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(123)150 299 y Fo(9)80 b(Using)53 b(History)g(In)l(teractiv)l(ely)150 572 y Ft(This)42 b(c)m(hapter)h(describ)s(es)f(ho)m(w)g(to)h(use)g(the) f Fl(gnu)h Ft(History)g(Library)e(in)m(teractiv)m(ely)-8 @@ -13143,7 +13294,7 @@ y Fr(9.1)68 b(Bash)45 b(History)h(F)-11 b(acilities)150 1202 y Ft(When)40 b(the)h(`)p Fs(-o)30 b(history)p Ft(')38 b(option)j(to)g(the)g Fs(set)e Ft(builtin)h(is)h(enabled)f(\(see)h (Section)g(4.3.1)i([The)d(Set)150 1311 y(Builtin],)32 -b(page)g(51\),)h(the)e(shell)h(pro)m(vides)f(access)h(to)g(the)f +b(page)g(53\),)h(the)e(shell)h(pro)m(vides)f(access)h(to)g(the)f Fq(command)g(history)p Ft(,)h(the)f(list)h(of)f(commands)150 1421 y(previously)h(t)m(yp)s(ed.)47 b(The)33 b(v)-5 b(alue)33 b(of)f(the)h Fs(HISTSIZE)e Ft(shell)h(v)-5 b(ariable)34 @@ -13170,7 +13321,7 @@ Fs($HISTSIZE)d Ft(lines)j(are)f(copied)150 2445 y(from)29 b(the)i(history)e(list)i(to)g(the)f(\014le)g(named)f(b)m(y)h Fs($HISTFILE)p Ft(.)38 b(If)30 b(the)g Fs(histappend)d Ft(shell)j(option)g(is)g(set)150 2555 y(\(see)22 b(Section)g(4.2)g -([Bash)g(Builtins],)h(page)f(41\),)j(the)c(lines)g(are)h(app)s(ended)d +([Bash)g(Builtins],)h(page)f(43\),)j(the)c(lines)g(are)h(app)s(ended)d (to)j(the)f(history)g(\014le,)j(otherwise)150 2664 y(the)32 b(history)f(\014le)g(is)h(o)m(v)m(erwritten.)45 b(If)31 b Fs(HISTFILE)e Ft(is)j(unset,)f(or)h(if)f(the)h(history)f(\014le)g(is) @@ -13197,7 +13348,7 @@ b(using)f(command-line)h(editing,)h(searc)m(h)f(commands)g(are)g(a)m(v) -5 b(ailable)33 b(in)e(eac)m(h)150 3836 y(editing)45 b(mo)s(de)g(that)g(pro)m(vide)g(access)h(to)f(the)g(history)f(list)i (\(see)f(Section)h(8.4.2)g([Commands)e(F)-8 b(or)150 -3945 y(History],)31 b(page)h(107\).)275 4093 y(The)47 +3945 y(History],)31 b(page)h(109\).)275 4093 y(The)47 b(shell)i(allo)m(ws)h(con)m(trol)f(o)m(v)m(er)h(whic)m(h)e(commands)g (are)h(sa)m(v)m(ed)g(on)f(the)h(history)f(list.)95 b(The)150 4202 y Fs(HISTCONTROL)25 b Ft(and)j Fs(HISTIGNORE)e Ft(v)-5 @@ -13213,13 +13364,13 @@ b(sa)m(v)m(e)h(eac)m(h)f(line)g(of)f(a)h(m)m(ulti-line)g(command)f(in)g m(b)s(edded)f(newlines)h(instead)h(of)f(semicolons.)40 b(The)23 b Fs(shopt)e Ft(builtin)i(is)h(used)150 4750 y(to)31 b(set)g(these)g(options.)41 b(See)31 b(Section)g(4.2)g([Bash)g -(Builtins],)g(page)g(41,)h(for)e(a)h(description)f(of)h +(Builtins],)g(page)g(43,)h(for)e(a)h(description)f(of)h Fs(shopt)p Ft(.)150 5002 y Fr(9.2)68 b(Bash)45 b(History)h(Builtins)150 5161 y Ft(Bash)31 b(pro)m(vides)f(t)m(w)m(o)i(builtin)e(commands)g (whic)m(h)g(manipulate)g(the)h(history)f(list)h(and)f(history)g (\014le.)150 5340 y Fs(fc)p eop end -%%Page: 122 128 -TeXDict begin 122 127 bop 150 -116 a Ft(122)2527 b(Bash)31 +%%Page: 124 130 +TeXDict begin 124 129 bop 150 -116 a Ft(124)2527 b(Bash)31 b(Reference)g(Man)m(ual)870 299 y Fs(fc)47 b([-e)g Fi(ename)11 b Fs(])46 b([-lnr])g([)p Fi(first)11 b Fs(])45 b([)p Fi(last)11 b Fs(])870 408 y(fc)47 b(-s)g([)p Fi(pat)11 @@ -13263,7 +13414,7 @@ Fs(fc)f Ft(command)h(is)g Fs(r='fc)e(-s')p Ft(,)h(so)h(that)h(t)m (yping)f(`)p Fs(r)f(cc)p Ft(')630 2443 y(runs)35 b(the)h(last)h (command)f(b)s(eginning)g(with)g Fs(cc)f Ft(and)h(t)m(yping)g(`)p Fs(r)p Ft(')h(re-executes)h(the)e(last)630 2552 y(command)30 -b(\(see)h(Section)h(6.6)f([Aliases],)h(page)g(79\).)150 +b(\(see)h(Section)h(6.6)f([Aliases],)h(page)g(81\).)150 2703 y Fs(history)870 2833 y(history)46 b([)p Fi(n)11 b Fs(])870 2943 y(history)46 b(-c)870 3052 y(history)g(-d)h Fi(offset)870 3162 y Fs(history)f([-anrw])g([)p Fi(filename)11 @@ -13298,9 +13449,9 @@ y(the)26 b(curren)m(t)f(history)g(list.)40 b(These)25 b(are)h(lines)g(app)s(ended)e(to)i(the)f(history)h(\014le)1110 5340 y(since)31 b(the)f(b)s(eginning)g(of)g(the)h(curren)m(t)f(Bash)h (session.)p eop end -%%Page: 123 129 -TeXDict begin 123 128 bop 150 -116 a Ft(Chapter)30 b(9:)41 -b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(123)630 +%%Page: 125 131 +TeXDict begin 125 130 bop 150 -116 a Ft(Chapter)30 b(9:)41 +b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(125)630 299 y Fs(-r)384 b Ft(Read)26 b(the)h(curren)m(t)f(history)g(\014le)g (and)g(app)s(end)e(its)j(con)m(ten)m(ts)h(to)f(the)f(history)1110 408 y(list.)630 573 y Fs(-w)384 b Ft(W)-8 b(rite)32 b(out)e(the)h @@ -13350,7 +13501,7 @@ b(Only)29 b(`)p Fs(\\)p Ft(')i(and)f(`)p Fs(')p Ft(')g(ma)m(y)h(b)s(e)f (used)g(to)h(escap)s(e)g(the)f(history)g(expansion)h(c)m(haracter.)275 3423 y(Sev)m(eral)40 b(shell)g(options)g(settable)h(with)e(the)h Fs(shopt)e Ft(builtin)h(\(see)h(Section)h(4.2)f([Bash)g(Builtins],)150 -3533 y(page)32 b(41\))h(ma)m(y)f(b)s(e)f(used)g(to)i(tailor)g(the)e(b)s +3533 y(page)32 b(43\))h(ma)m(y)f(b)s(e)f(used)g(to)i(tailor)g(the)e(b)s (eha)m(vior)h(of)g(history)g(expansion.)44 b(If)31 b(the)h Fs(histverify)d Ft(shell)150 3643 y(option)39 b(is)f(enabled,)i(and)e (Readline)g(is)h(b)s(eing)e(used,)j(history)e(substitutions)g(are)g @@ -13375,15 +13526,15 @@ y(Readline.)275 4659 y(The)33 b(shell)h(allo)m(ws)h(con)m(trol)h(of)e g(expansion)g(mec)m(h-)150 4769 y(anism)h(with)g(the)g Fs(histchars)d Ft(v)-5 b(ariable,)38 b(as)d(explained)g(ab)s(o)m(v)m(e) i(\(see)f(Section)f(5.2)i([Bash)e(V)-8 b(ariables],)150 -4879 y(page)32 b(61\).)44 b(The)31 b(shell)g(uses)g(the)g(history)g +4879 y(page)32 b(63\).)44 b(The)31 b(shell)g(uses)g(the)g(history)g (commen)m(t)i(c)m(haracter)f(to)g(mark)f(history)g(timestamps)h(when) 150 4988 y(writing)e(the)h(history)f(\014le.)150 5193 y Fj(9.3.1)63 b(Ev)m(en)m(t)39 b(Designators)150 5340 y Ft(An)30 b(ev)m(en)m(t)i(designator)f(is)f(a)h(reference)g(to)g(a)g (command)f(line)h(en)m(try)f(in)g(the)h(history)f(list.)p eop end -%%Page: 124 130 -TeXDict begin 124 129 bop 150 -116 a Ft(124)2527 b(Bash)31 +%%Page: 126 132 +TeXDict begin 126 131 bop 150 -116 a Ft(126)2527 b(Bash)31 b(Reference)g(Man)m(ual)150 299 y Fs(!)432 b Ft(Start)34 b(a)f(history)h(substitution,)g(except)g(when)f(follo)m(w)m(ed)i(b)m(y) e(a)h(space,)h(tab,)f(the)g(end)f(of)630 408 y(the)i(line,)g(`)p @@ -13448,9 +13599,9 @@ Fs(1-$)p Ft('.)39 b(It)28 b(is)g(not)g(an)f(error)630 5230 y(to)j(use)g(`)p Fs(*)p Ft(')f(if)h(there)g(is)g(just)f(one)h(w)m (ord)f(in)g(the)h(ev)m(en)m(t;)i(the)d(empt)m(y)i(string)e(is)h (returned)e(in)630 5340 y(that)j(case.)p eop end -%%Page: 125 131 -TeXDict begin 125 130 bop 150 -116 a Ft(Chapter)30 b(9:)41 -b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(125)150 +%%Page: 127 133 +TeXDict begin 127 132 bop 150 -116 a Ft(Chapter)30 b(9:)41 +b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(127)150 299 y Fi(x)11 b Fs(*)373 b Ft(Abbreviates)31 b(`)p Fi(x)11 b Fs(-$)p Ft(')150 458 y Fi(x)g Fs(-)373 b Ft(Abbreviates)31 b(`)p Fi(x)11 b Fs(-$)p Ft(')29 b(lik)m(e)j(`)p Fi(x)11 @@ -13496,11 +13647,11 @@ Fs(gs/)p Fi(old)11 b Fs(/)p Fi(new)g Fs(/)p Ft(,)26 b(or)k(with)h(`)p Fs(&)p Ft('.)150 3813 y Fs(G)432 b Ft(Apply)30 b(the)g(follo)m(wing)i (`)p Fs(s)p Ft(')f(mo)s(di\014er)e(once)i(to)g(eac)m(h)h(w)m(ord)e(in)g (the)g(ev)m(en)m(t.)p eop end -%%Page: 126 132 -TeXDict begin 126 131 bop eop end -%%Page: 127 133 -TeXDict begin 127 132 bop 150 -116 a Ft(Chapter)30 b(10:)41 -b(Installing)31 b(Bash)2356 b(127)150 299 y Fo(10)80 +%%Page: 128 134 +TeXDict begin 128 133 bop eop end +%%Page: 129 135 +TeXDict begin 129 134 bop 150 -116 a Ft(Chapter)30 b(10:)41 +b(Installing)31 b(Bash)2356 b(129)150 299 y Fo(10)80 b(Installing)52 b(Bash)150 556 y Ft(This)31 b(c)m(hapter)h(pro)m(vides) g(basic)g(instructions)f(for)g(installing)i(Bash)f(on)f(the)h(v)-5 b(arious)31 b(supp)s(orted)f(plat-)150 665 y(forms.)40 @@ -13581,8 +13732,8 @@ b(T)-8 b(o)32 b(also)g(remo)m(v)m(e)g(the)g(\014les)f(that)g Fs(configure)e Ft(created)j(\(so)g(y)m(ou)g(can)f(compile)150 5340 y(Bash)g(for)f(a)g(di\013eren)m(t)h(kind)f(of)g(computer\),)h(t)m (yp)s(e)g(`)p Fs(make)e(distclean)p Ft('.)p eop end -%%Page: 128 134 -TeXDict begin 128 133 bop 150 -116 a Ft(128)2527 b(Bash)31 +%%Page: 130 136 +TeXDict begin 130 135 bop 150 -116 a Ft(130)2527 b(Bash)31 b(Reference)g(Man)m(ual)150 299 y Fr(10.2)68 b(Compilers)46 b(and)f(Options)150 458 y Ft(Some)28 b(systems)h(require)f(un)m(usual)f (options)i(for)f(compilation)i(or)f(linking)f(that)h(the)g @@ -13667,9 +13818,9 @@ b Fs(configure)d Ft(can)i(\014gure)g(that)g(out,)150 5340 y(but)c(if)h(it)g(prin)m(ts)g(a)g(message)h(sa)m(ying)g(it)f(can)h (not)f(guess)g(the)g(host)g(t)m(yp)s(e,)h(giv)m(e)g(it)f(the)h(`)p Fs(--host=TYPE)p Ft(')p eop end -%%Page: 129 135 -TeXDict begin 129 134 bop 150 -116 a Ft(Chapter)30 b(10:)41 -b(Installing)31 b(Bash)2356 b(129)150 299 y(option.)39 +%%Page: 131 137 +TeXDict begin 131 136 bop 150 -116 a Ft(Chapter)30 b(10:)41 +b(Installing)31 b(Bash)2356 b(131)150 299 y(option.)39 b(`)p Fs(TYPE)p Ft(')25 b(can)g(either)g(b)s(e)g(a)g(short)g(name)g (for)g(the)g(system)g(t)m(yp)s(e,)h(suc)m(h)f(as)g(`)p Fs(sun4)p Ft(',)h(or)f(a)g(canonical)150 408 y(name)30 @@ -13739,8 +13890,8 @@ Fs(lib/malloc)p Ft('.)39 b(This)30 b(is)h(not)g(the)630 5340 y(same)h Fs(malloc)e Ft(that)j(app)s(ears)e(in)g Fl(gnu)h Ft(lib)s(c,)g(but)f(an)h(older)f(v)m(ersion)i(originally)g (deriv)m(ed)p eop end -%%Page: 130 136 -TeXDict begin 130 135 bop 150 -116 a Ft(130)2527 b(Bash)31 +%%Page: 132 138 +TeXDict begin 132 137 bop 150 -116 a Ft(132)2527 b(Bash)31 b(Reference)g(Man)m(ual)630 299 y(from)h(the)h(4.2)g Fl(bsd)f Fs(malloc)p Ft(.)45 b(This)31 b Fs(malloc)g Ft(is)i(v)m(ery)f(fast,)i(but)e(w)m(astes)h(some)g(space)g(on)630 @@ -13811,27 +13962,27 @@ h(for)e(`)p Fs(disabled-builtins)p Ft(')d(and)j(`)p Fs (xpg-echo-default)p Ft(')150 5340 y(are)26 b(enabled)g(b)m(y)g (default,)h(unless)f(the)g(op)s(erating)g(system)g(do)s(es)g(not)g(pro) m(vide)g(the)g(necessary)g(supp)s(ort.)p eop end -%%Page: 131 137 -TeXDict begin 131 136 bop 150 -116 a Ft(Chapter)30 b(10:)41 -b(Installing)31 b(Bash)2356 b(131)150 299 y Fs(--enable-alias)630 +%%Page: 133 139 +TeXDict begin 133 138 bop 150 -116 a Ft(Chapter)30 b(10:)41 +b(Installing)31 b(Bash)2356 b(133)150 299 y Fs(--enable-alias)630 408 y Ft(Allo)m(w)41 b(alias)g(expansion)f(and)f(include)g(the)h Fs(alias)f Ft(and)g Fs(unalias)e Ft(builtins)j(\(see)g(Sec-)630 -518 y(tion)31 b(6.6)g([Aliases],)i(page)e(79\).)150 692 +518 y(tion)31 b(6.6)g([Aliases],)i(page)e(81\).)150 692 y Fs(--enable-arith-for-comma)o(nd)630 801 y Ft(Include)21 b(supp)s(ort)g(for)g(the)i(alternate)g(form)f(of)g(the)g Fs(for)f Ft(command)h(that)h(b)s(eha)m(v)m(es)f(lik)m(e)i(the)630 911 y(C)30 b(language)i Fs(for)d Ft(statemen)m(t)j(\(see)g(Section)f -(3.2.4.1)i([Lo)s(oping)d(Constructs],)h(page)g(9\).)150 +(3.2.4.1)i([Lo)s(oping)d(Constructs],)h(page)g(10\).)150 1084 y Fs(--enable-array-variables)630 1194 y Ft(Include)h(supp)s(ort)g (for)h(one-dimensional)h(arra)m(y)f(shell)h(v)-5 b(ariables)33 -b(\(see)h(Section)g(6.7)h([Ar-)630 1303 y(ra)m(ys],)c(page)g(80\).)150 +b(\(see)h(Section)g(6.7)h([Ar-)630 1303 y(ra)m(ys],)c(page)g(82\).)150 1477 y Fs(--enable-bang-history)630 1587 y Ft(Include)36 b(supp)s(ort)f(for)h Fs(csh)p Ft(-lik)m(e)h(history)g(substitution)f (\(see)h(Section)g(9.3)h([History)f(In-)630 1696 y(teraction],)c(page)e -(123\).)150 1870 y Fs(--enable-brace-expansion)630 1979 +(125\).)150 1870 y Fs(--enable-brace-expansion)630 1979 y Ft(Include)40 b Fs(csh)p Ft(-lik)m(e)h(brace)f(expansion)g(\()h Fs(b{a,b}c)d Fp(7!)i Fs(bac)30 b(bbc)39 b Ft(\).)71 b(See)40 -b(Section)h(3.5.1)630 2089 y([Brace)32 b(Expansion],)e(page)h(18,)h +b(Section)h(3.5.1)630 2089 y([Brace)32 b(Expansion],)e(page)h(19,)h (for)e(a)g(complete)i(description.)150 2262 y Fs (--enable-casemod-attribu)o(tes)630 2372 y Ft(Include)37 b(supp)s(ort)g(for)g(case-mo)s(difying)i(attributes)g(in)e(the)h @@ -13868,15 +14019,15 @@ Ft(reserv)m(ed)i(w)m(ord)g(\(see)h(Section)f(3.2.2)630 (for)h(a)g Fs(csh)p Ft(-lik)m(e)h(directory)f(stac)m(k)i(and)d(the)i Fs(pushd)p Ft(,)f Fs(popd)p Ft(,)g(and)f Fs(dirs)630 5340 y Ft(builtins)d(\(see)h(Section)g(6.8)h([The)e(Directory)i(Stac)m -(k],)g(page)f(81\).)p eop end -%%Page: 132 138 -TeXDict begin 132 137 bop 150 -116 a Ft(132)2527 b(Bash)31 +(k],)g(page)f(83\).)p eop end +%%Page: 134 140 +TeXDict begin 134 139 bop 150 -116 a Ft(134)2527 b(Bash)31 b(Reference)g(Man)m(ual)150 299 y Fs(--enable-disabled-builti)o(ns)630 408 y Ft(Allo)m(w)40 b(builtin)e(commands)g(to)h(b)s(e)f(in)m(v)m(ok)m (ed)i(via)f(`)p Fs(builtin)29 b(xxx)p Ft(')37 b(ev)m(en)j(after)f Fs(xxx)e Ft(has)630 518 y(b)s(een)31 b(disabled)g(using)g(`)p Fs(enable)d(-n)i(xxx)p Ft('.)43 b(See)32 b(Section)g(4.2)h([Bash)e -(Builtins],)i(page)f(41,)630 628 y(for)e(details)i(of)e(the)h +(Builtins],)i(page)f(43,)630 628 y(for)e(details)i(of)e(the)h Fs(builtin)d Ft(and)i Fs(enable)e Ft(builtin)i(commands.)150 783 y Fs(--enable-dparen-arithmet)o(ic)630 892 y Ft(Include)42 b(supp)s(ort)f(for)h(the)h Fs(\(\(...)o(\)\))f Ft(command)g(\(see)i @@ -13885,21 +14036,21 @@ b(page)h(10\).)150 1157 y Fs(--enable-extended-glob)630 1267 y Ft(Include)40 b(supp)s(ort)e(for)i(the)h(extended)f(pattern)h (matc)m(hing)g(features)g(describ)s(ed)e(ab)s(o)m(v)m(e)630 1377 y(under)29 b(Section)i(3.5.8.1)i([P)m(attern)e(Matc)m(hing],)i -(page)e(24.)150 1532 y Fs(--enable-extended-glob-d)o(efau)o(lt)630 +(page)e(26.)150 1532 y Fs(--enable-extended-glob-d)o(efau)o(lt)630 1641 y Ft(Set)40 b(the)g(default)g(v)-5 b(alue)41 b(of)f(the)g Fq(extglob)j Ft(shell)d(option)g(describ)s(ed)f(ab)s(o)m(v)m(e)i(under) d(Sec-)630 1751 y(tion)31 b(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g -(55)g(to)h(b)s(e)d(enabled.)150 1906 y Fs(--enable-help-builtin)630 +(57)g(to)h(b)s(e)d(enabled.)150 1906 y Fs(--enable-help-builtin)630 2016 y Ft(Include)24 b(the)h Fs(help)f Ft(builtin,)h(whic)m(h)g(displa) m(ys)f(help)h(on)f(shell)h(builtins)f(and)h(v)-5 b(ariables)25 b(\(see)630 2125 y(Section)31 b(4.2)h([Bash)e(Builtins],)i(page)f -(41\).)150 2281 y Fs(--enable-history)630 2390 y Ft(Include)e(command)g +(43\).)150 2281 y Fs(--enable-history)630 2390 y Ft(Include)e(command)g (history)h(and)f(the)h Fs(fc)f Ft(and)g Fs(history)e Ft(builtin)j(commands)f(\(see)h(Sec-)630 2500 y(tion)h(9.1)g([Bash)g -(History)g(F)-8 b(acilities],)34 b(page)d(121\).)150 +(History)g(F)-8 b(acilities],)34 b(page)d(123\).)150 2655 y Fs(--enable-job-control)630 2765 y Ft(This)e(enables)i(the)f (job)g(con)m(trol)h(features)g(\(see)g(Chapter)f(7)g([Job)g(Con)m -(trol],)h(page)g(89\),)h(if)630 2874 y(the)f(op)s(erating)f(system)h +(trol],)h(page)g(91\),)h(if)630 2874 y(the)f(op)s(erating)f(system)h (supp)s(orts)d(them.)150 3029 y Fs(--enable-multibyte)630 3139 y Ft(This)h(enables)i(supp)s(ort)d(for)i(m)m(ultib)m(yte)h(c)m (haracters)g(if)f(the)g(op)s(erating)h(system)f(pro)m(vides)630 @@ -13909,14 +14060,14 @@ Ft(builtin)j(commands)f(\(see)h(Sec-)630 2500 y(tion)h(9.1)g([Bash)g Fs(/dev/tcp/)p Fi(host)11 b Fs(/)p Fi(port)630 3623 y Ft(and)29 b Fs(/dev/udp/)p Fi(host)11 b Fs(/)p Fi(port)34 b Ft(when)28 b(used)g(in)h(redirections)h(\(see)g(Section)g(3.6)g -([Redirec-)630 3733 y(tions],)h(page)g(26\).)150 3888 +([Redirec-)630 3733 y(tions],)h(page)g(27\).)150 3888 y Fs(--enable-process-substit)o(utio)o(n)630 3998 y Ft(This)49 b(enables)i(pro)s(cess)f(substitution)g(\(see)h(Section)g(3.5.6)h([Pro) -s(cess)e(Substitution],)630 4107 y(page)31 b(23\))h(if)e(the)h(op)s +s(cess)e(Substitution],)630 4107 y(page)31 b(24\))h(if)e(the)h(op)s (erating)f(system)h(pro)m(vides)f(the)h(necessary)g(supp)s(ort.)150 4262 y Fs(--enable-progcomp)630 4372 y Ft(Enable)d(the)g(programmable)g (completion)i(facilities)g(\(see)f(Section)g(8.6)g([Programmable)630 -4482 y(Completion],)i(page)h(115\).)42 b(If)30 b(Readline)h(is)f(not)h +4482 y(Completion],)i(page)h(117\).)42 b(If)30 b(Readline)h(is)f(not)h (enabled,)f(this)h(option)g(has)f(no)g(e\013ect.)150 4637 y Fs(--enable-prompt-string-d)o(ecod)o(ing)630 4746 y Ft(T)-8 b(urn)46 b(on)h(the)h(in)m(terpretation)g(of)g(a)g(n)m(um)m @@ -13924,20 +14075,20 @@ y Ft(T)-8 b(urn)46 b(on)h(the)h(in)m(terpretation)g(of)g(a)g(n)m(um)m 4856 y(the)39 b Fs($PS1)p Ft(,)g Fs($PS2)p Ft(,)h Fs($PS3)p Ft(,)f(and)f Fs($PS4)f Ft(prompt)h(strings.)64 b(See)39 b(Section)g(6.9)h([Prin)m(ting)f(a)630 4966 y(Prompt],)30 -b(page)h(82,)h(for)e(a)h(complete)h(list)f(of)f(prompt)g(string)g +b(page)h(84,)h(for)e(a)h(complete)h(list)f(of)f(prompt)g(string)g (escap)s(e)h(sequences.)150 5121 y Fs(--enable-readline)630 5230 y Ft(Include)d(supp)s(ort)f(for)h(command-line)h(editing)g(and)f (history)g(with)g(the)h(Bash)g(v)m(ersion)g(of)630 5340 y(the)i(Readline)g(library)f(\(see)h(Chapter)f(8)g([Command)g(Line)g -(Editing],)h(page)g(93\).)p eop end -%%Page: 133 139 -TeXDict begin 133 138 bop 150 -116 a Ft(Chapter)30 b(10:)41 -b(Installing)31 b(Bash)2356 b(133)150 299 y Fs(--enable-restricted)630 +(Editing],)h(page)g(95\).)p eop end +%%Page: 135 141 +TeXDict begin 135 140 bop 150 -116 a Ft(Chapter)30 b(10:)41 +b(Installing)31 b(Bash)2356 b(135)150 299 y Fs(--enable-restricted)630 408 y Ft(Include)41 b(supp)s(ort)f(for)i(a)g Fq(restricted)g(shell)p Ft(.)75 b(If)42 b(this)f(is)h(enabled,)j(Bash,)g(when)c(called)630 518 y(as)f Fs(rbash)p Ft(,)h(en)m(ters)f(a)g(restricted)h(mo)s(de.)68 b(See)40 b(Section)h(6.10)g([The)f(Restricted)h(Shell],)630 -628 y(page)31 b(84,)h(for)e(a)g(description)h(of)f(restricted)h(mo)s +628 y(page)31 b(86,)h(for)e(a)g(description)h(of)f(restricted)h(mo)s (de.)150 787 y Fs(--enable-select)630 897 y Ft(Include)k(the)g Fs(select)f Ft(builtin,)i(whic)m(h)f(allo)m(ws)i(the)f(generation)g(of) g(simple)f(men)m(us)g(\(see)630 1006 y(Section)c(3.2.4.2)i @@ -13955,7 +14106,7 @@ b(ma)m(y)g(need)630 1873 y(to)c(disable)g(this)f(if)g(y)m(our)h 2032 y Fs(--enable-strict-posix-de)o(faul)o(t)630 2142 y Ft(Mak)m(e)c(Bash)f Fl(posix)p Ft(-conforman)m(t)g(b)m(y)f(default)h (\(see)g(Section)h(6.11)g([Bash)f(POSIX)e(Mo)s(de],)630 -2252 y(page)31 b(84\).)150 2411 y Fs(--enable-usg-echo-defaul)o(t)630 +2252 y(page)31 b(86\).)150 2411 y Fs(--enable-usg-echo-defaul)o(t)630 2521 y Ft(A)f(synon)m(ym)g(for)g Fs(--enable-xpg-echo-default)p Ft(.)150 2680 y Fs(--enable-xpg-echo-defaul)o(t)630 2790 y Ft(Mak)m(e)c(the)f Fs(echo)e Ft(builtin)i(expand)f(bac)m @@ -13967,7 +14118,7 @@ Ft(,)g(whic)m(h)g(mak)m(es)g(the)g(Bash)g Fs(echo)e Ft(b)s(eha)m(v)m(e) i(more)g(lik)m(e)h(the)f(v)m(ersion)g(sp)s(eci\014ed)630 3118 y(in)41 b(the)h(Single)g(Unix)f(Sp)s(eci\014cation,)k(v)m(ersion)e (3.)74 b(See)42 b(Section)g(4.2)h([Bash)f(Builtins],)630 -3228 y(page)31 b(41,)h(for)e(a)g(description)h(of)f(the)h(escap)s(e)g +3228 y(page)31 b(43,)h(for)e(a)g(description)h(of)f(the)h(escap)s(e)g (sequences)f(that)h Fs(echo)f Ft(recognizes.)275 3387 y(The)23 b(\014le)i(`)p Fs(config-top.h)p Ft(')c(con)m(tains)26 b(C)e(Prepro)s(cessor)g(`)p Fs(#define)p Ft(')e(statemen)m(ts)k(for)f @@ -13978,11 +14129,11 @@ y(the)h(consequences)g(if)f(y)m(ou)h(do.)55 b(Read)36 b(the)g(commen)m(ts)g(asso)s(ciated)h(with)e(eac)m(h)i(de\014nition)e (for)g(more)150 3716 y(information)c(ab)s(out)f(its)h(e\013ect.)p eop end -%%Page: 134 140 -TeXDict begin 134 139 bop eop end -%%Page: 135 141 -TeXDict begin 135 140 bop 150 -116 a Ft(App)s(endix)29 -b(A:)h(Rep)s(orting)h(Bugs)2299 b(135)150 299 y Fo(App)t(endix)52 +%%Page: 136 142 +TeXDict begin 136 141 bop eop end +%%Page: 137 143 +TeXDict begin 137 142 bop 150 -116 a Ft(App)s(endix)29 +b(A:)h(Rep)s(orting)h(Bugs)2299 b(137)150 299 y Fo(App)t(endix)52 b(A)81 b(Rep)t(orting)53 b(Bugs)150 533 y Ft(Please)33 b(rep)s(ort)e(all)h(bugs)f(y)m(ou)h(\014nd)e(in)i(Bash.)44 b(But)32 b(\014rst,)g(y)m(ou)g(should)e(mak)m(e)j(sure)e(that)h(it)g @@ -14011,12 +14162,12 @@ s(duce)e(it.)150 2182 y Fs(bashbug)d Ft(inserts)i(the)h(\014rst)f (vides)f(for)g(\014ling)h(a)150 2291 y(bug)h(rep)s(ort.)275 2426 y(Please)h(send)f(all)h(rep)s(orts)f(concerning)g(this)h(man)m (ual)f(to)h Fs(chet.ramey@case.edu)p Ft(.)p eop end -%%Page: 136 142 -TeXDict begin 136 141 bop eop end -%%Page: 137 143 -TeXDict begin 137 142 bop 150 -116 a Ft(App)s(endix)29 +%%Page: 138 144 +TeXDict begin 138 143 bop eop end +%%Page: 139 145 +TeXDict begin 139 144 bop 150 -116 a Ft(App)s(endix)29 b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31 -b(The)f(Bourne)g(Shell)1258 b(137)150 141 y Fo(App)t(endix)58 +b(The)f(Bourne)g(Shell)1258 b(139)150 141 y Fo(App)t(endix)58 b(B)81 b(Ma)9 b(jor)54 b(Di\013erences)d(F)-13 b(rom)54 b(The)g(Bourne)1088 299 y(Shell)150 530 y Ft(Bash)26 b(implemen)m(ts)h(essen)m(tially)g(the)g(same)f(grammar,)h(parameter)f @@ -14037,20 +14188,20 @@ Fs(sh)f Ft(included)g(in)h(SVR4.2)h(\(the)f(last)h(v)m(ersion)f(of)g Fl(posix)p Ft(-conforman)m(t,)g(ev)m(en)g(where)f(the)g Fl(posix)g Ft(sp)s(eci\014cation)h(di\013ers)f(from)g(traditional)330 1431 y Fs(sh)e Ft(b)s(eha)m(vior)g(\(see)i(Section)f(6.11)h([Bash)e -(POSIX)g(Mo)s(de],)h(page)g(84\).)225 1565 y Fp(\017)60 +(POSIX)g(Mo)s(de],)h(page)g(86\).)225 1565 y Fp(\017)60 b Ft(Bash)26 b(has)g(m)m(ulti-c)m(haracter)i(in)m(v)m(o)s(cation)g (options)f(\(see)f(Section)h(6.1)g([In)m(v)m(oking)g(Bash],)h(page)e -(71\).)225 1699 y Fp(\017)60 b Ft(Bash)28 b(has)g(command-line)h +(73\).)225 1699 y Fp(\017)60 b Ft(Bash)28 b(has)g(command-line)h (editing)f(\(see)h(Chapter)f(8)g([Command)f(Line)h(Editing],)i(page)e -(93\))i(and)330 1809 y(the)h Fs(bind)e Ft(builtin.)225 +(95\))i(and)330 1809 y(the)h Fs(bind)e Ft(builtin.)225 1943 y Fp(\017)60 b Ft(Bash)46 b(pro)m(vides)g(a)g(programmable)g(w)m (ord)f(completion)i(mec)m(hanism)f(\(see)h(Section)g(8.6)g([Pro-)330 -2052 y(grammable)39 b(Completion],)i(page)e(115\),)i(and)d(builtin)g +2052 y(grammable)39 b(Completion],)i(page)e(117\),)i(and)d(builtin)g (commands)f Fs(complete)p Ft(,)h Fs(compgen)p Ft(,)h(and)330 2162 y Fs(compopt)p Ft(,)29 b(to)i(manipulate)g(it.)225 2296 y Fp(\017)60 b Ft(Bash)26 b(has)f(command)h(history)f(\(see)i (Section)f(9.1)h([Bash)f(History)h(F)-8 b(acilities],)30 -b(page)c(121\))i(and)d(the)330 2405 y Fs(history)k Ft(and)h +b(page)c(123\))i(and)d(the)330 2405 y Fs(history)k Ft(and)h Fs(fc)g Ft(builtins)g(to)h(manipulate)g(it.)42 b(The)30 b(Bash)h(history)g(list)g(main)m(tains)g(timestamp)330 2515 y(information)g(and)e(uses)h(the)h(v)-5 b(alue)31 @@ -14058,9 +14209,9 @@ b(of)f(the)h Fs(HISTTIMEFORMAT)26 b Ft(v)-5 b(ariable)32 b(to)f(displa)m(y)f(it.)225 2649 y Fp(\017)60 b Ft(Bash)48 b(implemen)m(ts)h Fs(csh)p Ft(-lik)m(e)g(history)f(expansion)g(\(see)h (Section)g(9.3)h([History)f(In)m(teraction],)330 2759 -y(page)31 b(123\).)225 2892 y Fp(\017)60 b Ft(Bash)33 +y(page)31 b(125\).)225 2892 y Fp(\017)60 b Ft(Bash)33 b(has)g(one-dimensional)h(arra)m(y)f(v)-5 b(ariables)34 -b(\(see)g(Section)g(6.7)g([Arra)m(ys],)g(page)g(80\),)h(and)e(the)330 +b(\(see)g(Section)g(6.7)g([Arra)m(ys],)g(page)g(82\),)h(and)e(the)330 3002 y(appropriate)39 b(v)-5 b(ariable)40 b(expansions)f(and)g (assignmen)m(t)h(syn)m(tax)g(to)g(use)f(them.)67 b(Sev)m(eral)40 b(of)g(the)330 3112 y(Bash)32 b(builtins)f(tak)m(e)j(options)e(to)h @@ -14097,13 +14248,13 @@ b(ariable.)225 4987 y Fp(\017)60 b Ft(Bash)23 b(implemen)m(ts)g(the)h Fs(for)29 b(\(\()h Fi(expr1)39 b Fs(;)30 b Fi(expr2)40 b Fs(;)30 b Fi(expr3)39 b Fs(\)\))23 b Ft(arithmetic)h(for)e(command,)j (sim-)330 5096 y(ilar)31 b(to)g(the)g(C)f(language)h(\(see)h(Section)f -(3.2.4.1)i([Lo)s(oping)d(Constructs],)h(page)g(9\).)225 +(3.2.4.1)i([Lo)s(oping)d(Constructs],)h(page)g(10\).)225 5230 y Fp(\017)60 b Ft(Bash)31 b(includes)f(the)g Fs(select)f Ft(comp)s(ound)g(command,)i(whic)m(h)f(allo)m(ws)i(the)f(generation)g (of)g(simple)330 5340 y(men)m(us)f(\(see)h(Section)g(3.2.4.2)i ([Conditional)e(Constructs],)g(page)g(10\).)p eop end -%%Page: 138 144 -TeXDict begin 138 143 bop 150 -116 a Ft(138)2527 b(Bash)31 +%%Page: 140 146 +TeXDict begin 140 145 bop 150 -116 a Ft(140)2527 b(Bash)31 b(Reference)g(Man)m(ual)225 299 y Fp(\017)60 b Ft(Bash)40 b(includes)g(the)g Fs([[)g Ft(comp)s(ound)e(command,)43 b(whic)m(h)c(mak)m(es)i(conditional)h(testing)f(part)f(of)330 @@ -14113,17 +14264,17 @@ b(regular)e(expression)g(matc)m(hing.)225 653 y Fp(\017)60 b Ft(Bash)31 b(pro)m(vides)f(optional)h(case-insensitiv)m(e)i(matc)m (hing)f(for)e(the)g Fs(case)g Ft(and)f Fs([[)h Ft(constructs.)225 789 y Fp(\017)60 b Ft(Bash)27 b(includes)g(brace)h(expansion)f(\(see)h -(Section)g(3.5.1)i([Brace)e(Expansion],)g(page)g(18\))h(and)d(tilde)330 +(Section)g(3.5.1)i([Brace)e(Expansion],)g(page)g(19\))h(and)d(tilde)330 898 y(expansion)k(\(see)i(Section)f(3.5.2)h([Tilde)f(Expansion],)f -(page)h(19\).)225 1034 y Fp(\017)60 b Ft(Bash)24 b(implemen)m(ts)h +(page)h(20\).)225 1034 y Fp(\017)60 b Ft(Bash)24 b(implemen)m(ts)h (command)e(aliases)j(and)d(the)i Fs(alias)d Ft(and)i Fs(unalias)e Ft(builtins)h(\(see)i(Section)g(6.6)330 -1143 y([Aliases],)32 b(page)f(79\).)225 1279 y Fp(\017)60 +1143 y([Aliases],)32 b(page)f(81\).)225 1279 y Fp(\017)60 b Ft(Bash)32 b(pro)m(vides)g(shell)g(arithmetic,)i(the)e Fs(\(\()g Ft(comp)s(ound)e(command)i(\(see)h(Section)f(3.2.4.2)j([Con-) 330 1388 y(ditional)d(Constructs],)e(page)i(10\),)g(and)e(arithmetic)i (expansion)e(\(see)i(Section)f(6.5)h([Shell)f(Arith-)330 -1498 y(metic],)h(page)f(78\).)225 1633 y Fp(\017)60 b +1498 y(metic],)h(page)f(80\).)225 1633 y Fp(\017)60 b Ft(V)-8 b(ariables)31 b(presen)m(t)e(in)g(the)g(shell's)h(initial)g(en) m(vironmen)m(t)g(are)g(automatically)i(exp)s(orted)d(to)h(c)m(hild)330 1743 y(pro)s(cesses.)38 b(The)23 b(Bourne)g(shell)g(do)s(es)g(not)g @@ -14139,44 +14290,44 @@ Fs(#)p Ft(',)g(`)p Fs(\045\045)p Ft(')e(and)f(`)p Fs(##)p Ft(')h(expansions)g(to)g(remo)m(v)m(e)330 2342 y(leading)f(or)f (trailing)h(substrings)e(from)g(v)-5 b(ariable)35 b(v)-5 b(alues)35 b(\(see)g(Section)g(3.5.3)g([Shell)g(P)m(arameter)330 -2452 y(Expansion],)30 b(page)h(19\).)225 2587 y Fp(\017)60 +2452 y(Expansion],)30 b(page)h(21\).)225 2587 y Fp(\017)60 b Ft(The)46 b(expansion)g Fs(${#xx})p Ft(,)j(whic)m(h)d(returns)f(the)i (length)f(of)h Fs(${xx})p Ft(,)i(is)e(supp)s(orted)d(\(see)j(Sec-)330 2697 y(tion)31 b(3.5.3)h([Shell)f(P)m(arameter)g(Expansion],)f(page)i -(19\).)225 2832 y Fp(\017)60 b Ft(The)30 b(expansion)g +(21\).)225 2832 y Fp(\017)60 b Ft(The)30 b(expansion)g Fs(${var:)p Fq(o\013set)r Fs([:)p Fq(length)p Fs(]})p Ft(,)g(whic)m(h)g(expands)g(to)h(the)g(substring)e(of)i Fs(var)p Ft('s)e(v)-5 b(alue)330 2942 y(of)43 b(length)g Fq(length)p Ft(,)j(b)s(eginning)c(at)i Fq(o\013set)r Ft(,)j(is)42 b(presen)m(t)h(\(see)h(Section)f(3.5.3)i([Shell)e(P)m -(arameter)330 3051 y(Expansion],)30 b(page)h(19\).)225 +(arameter)330 3051 y(Expansion],)30 b(page)h(21\).)225 3187 y Fp(\017)60 b Ft(The)21 b(expansion)f Fs(${var/[/])p Fq(pattern)p Fs([/)p Fq(replacemen)m(t)r Fs(]})p Ft(,)i(whic)m(h)e (matc)m(hes)j Fq(pattern)e Ft(and)f(replaces)330 3296 y(it)29 b(with)e Fq(replacemen)m(t)32 b Ft(in)c(the)g(v)-5 b(alue)29 b(of)f Fs(var)p Ft(,)g(is)g(a)m(v)-5 b(ailable)31 b(\(see)e(Section)f(3.5.3)i([Shell)f(P)m(arameter)330 -3406 y(Expansion],)h(page)h(19\).)225 3541 y Fp(\017)60 +3406 y(Expansion],)h(page)h(21\).)225 3541 y Fp(\017)60 b Ft(The)32 b(expansion)g Fs(${!)p Fi(prefix)p Fs(})p Fi(*)40 b Ft(expansion,)32 b(whic)m(h)g(expands)g(to)h(the)f(names)g (of)h(all)g(shell)f(v)-5 b(ari-)330 3651 y(ables)36 b(whose)f(names)h (b)s(egin)f(with)g Fq(pre\014x)6 b Ft(,)36 b(is)g(a)m(v)-5 b(ailable)38 b(\(see)e(Section)h(3.5.3)g([Shell)f(P)m(arameter)330 -3761 y(Expansion],)30 b(page)h(19\).)225 3896 y Fp(\017)60 +3761 y(Expansion],)30 b(page)h(21\).)225 3896 y Fp(\017)60 b Ft(Bash)22 b(has)f Fq(indirect)j Ft(v)-5 b(ariable)22 b(expansion)g(using)f Fs(${!word})e Ft(\(see)k(Section)f(3.5.3)i -([Shell)e(P)m(arameter)330 4006 y(Expansion],)30 b(page)h(19\).)225 +([Shell)e(P)m(arameter)330 4006 y(Expansion],)30 b(page)h(21\).)225 4141 y Fp(\017)60 b Ft(Bash)31 b(can)f(expand)g(p)s(ositional)h (parameters)g(b)s(ey)m(ond)e Fs($9)h Ft(using)g Fs(${)p Fi(num)11 b Fs(})p Ft(.)225 4276 y Fp(\017)60 b Ft(The)27 b Fl(posix)g Fs($\(\))g Ft(form)g(of)h(command)g(substitution)f(is)h (implemen)m(ted)g(\(see)h(Section)f(3.5.4)i([Com-)330 -4386 y(mand)38 b(Substitution],)k(page)e(22\),)j(and)38 +4386 y(mand)38 b(Substitution],)k(page)e(24\),)j(and)38 b(preferred)g(to)i(the)g(Bourne)f(shell's)h Fs(``)e Ft(\(whic)m(h)i(is) f(also)330 4495 y(implemen)m(ted)31 b(for)f(bac)m(kw)m(ards)h (compatibilit)m(y\).)225 4631 y Fp(\017)60 b Ft(Bash)31 b(has)f(pro)s(cess)g(substitution)g(\(see)h(Section)g(3.5.6)h([Pro)s -(cess)f(Substitution],)f(page)h(23\).)225 4766 y Fp(\017)60 +(cess)f(Substitution],)f(page)h(24\).)225 4766 y Fp(\017)60 b Ft(Bash)55 b(automatically)j(assigns)e(v)-5 b(ariables)55 b(that)h(pro)m(vide)f(information)h(ab)s(out)f(the)g(curren)m(t)330 4876 y(user)40 b(\()p Fs(UID)p Ft(,)i Fs(EUID)p Ft(,)g(and)e @@ -14185,26 +14336,26 @@ Ft(,)h Fs(OSTYPE)p Ft(,)h Fs(MACHTYPE)p Ft(,)f(and)330 4985 y Fs(HOSTNAME)p Ft(\),)55 b(and)c(the)g(instance)h(of)g(Bash)f (that)h(is)f(running)f(\()p Fs(BASH)p Ft(,)56 b Fs(BASH_VERSION)p Ft(,)e(and)330 5095 y Fs(BASH_VERSINFO)p Ft(\).)37 b(See)31 -b(Section)g(5.2)h([Bash)e(V)-8 b(ariables],)33 b(page)e(61,)g(for)f +b(Section)g(5.2)h([Bash)e(V)-8 b(ariables],)33 b(page)e(63,)g(for)f (details.)225 5230 y Fp(\017)60 b Ft(The)44 b Fs(IFS)f Ft(v)-5 b(ariable)45 b(is)f(used)f(to)i(split)f(only)g(the)g(results)g (of)h(expansion,)i(not)d(all)h(w)m(ords)f(\(see)330 5340 -y(Section)29 b(3.5.7)h([W)-8 b(ord)29 b(Splitting],)h(page)f(23\).)41 +y(Section)29 b(3.5.7)h([W)-8 b(ord)29 b(Splitting],)h(page)f(25\).)41 b(This)28 b(closes)h(a)g(longstanding)g(shell)f(securit)m(y)h(hole.)p eop end -%%Page: 139 145 -TeXDict begin 139 144 bop 150 -116 a Ft(App)s(endix)29 +%%Page: 141 147 +TeXDict begin 141 146 bop 150 -116 a Ft(App)s(endix)29 b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31 -b(The)f(Bourne)g(Shell)1258 b(139)225 299 y Fp(\017)60 +b(The)f(Bourne)g(Shell)1258 b(141)225 299 y Fp(\017)60 b Ft(Bash)38 b(implemen)m(ts)g(the)g(full)g(set)g(of)g Fl(posix)f Ft(\014lename)h(expansion)g(op)s(erators,)i(including)d Fq(c)m(har-)330 408 y(acter)i(classes)t Ft(,)h Fq(equiv)-5 b(alence)39 b(classes)t Ft(,)h(and)d Fq(collating)j(sym)m(b)s(ols)g Ft(\(see)f(Section)f(3.5.8)h([Filename)330 518 y(Expansion],)30 -b(page)h(24\).)225 660 y Fp(\017)60 b Ft(Bash)35 b(implemen)m(ts)g +b(page)h(25\).)225 660 y Fp(\017)60 b Ft(Bash)35 b(implemen)m(ts)g (extended)g(pattern)g(matc)m(hing)h(features)f(when)f(the)h Fs(extglob)d Ft(shell)j(option)330 769 y(is)30 b(enabled)h(\(see)g -(Section)g(3.5.8.1)i([P)m(attern)f(Matc)m(hing],)g(page)f(24\).)225 +(Section)g(3.5.8.1)i([P)m(attern)f(Matc)m(hing],)g(page)f(26\).)225 911 y Fp(\017)60 b Ft(It)22 b(is)g(p)s(ossible)g(to)h(ha)m(v)m(e)g(a)f (v)-5 b(ariable)23 b(and)f(a)g(function)g(with)g(the)g(same)g(name;)j Fs(sh)d Ft(do)s(es)g(not)g(separate)330 1021 y(the)31 @@ -14213,24 +14364,24 @@ Ft(Bash)30 b(functions)e(are)i(p)s(ermitted)f(to)h(ha)m(v)m(e)h(lo)s (cal)g(v)-5 b(ariables)30 b(using)f(the)g Fs(local)f Ft(builtin,)i(and)e(th)m(us)330 1272 y(useful)i(recursiv)m(e)g (functions)g(ma)m(y)h(b)s(e)f(written)g(\(see)i(Section)f(4.2)g([Bash)g -(Builtins],)g(page)h(41\).)225 1414 y Fp(\017)60 b Ft(V)-8 +(Builtins],)g(page)h(43\).)225 1414 y Fp(\017)60 b Ft(V)-8 b(ariable)25 b(assignmen)m(ts)g(preceding)e(commands)h(a\013ect)h(only) f(that)g(command,)h(ev)m(en)f(builtins)g(and)330 1524 y(functions)36 b(\(see)h(Section)g(3.7.4)h([En)m(vironmen)m(t],)h(page) -e(31\).)60 b(In)35 b Fs(sh)p Ft(,)j(all)f(v)-5 b(ariable)37 +e(33\).)60 b(In)35 b Fs(sh)p Ft(,)j(all)f(v)-5 b(ariable)37 b(assignmen)m(ts)330 1633 y(preceding)30 b(commands)g(are)h(global)h (unless)d(the)i(command)f(is)h(executed)g(from)f(the)g(\014le)h (system.)225 1775 y Fp(\017)60 b Ft(Bash)44 b(p)s(erforms)e(\014lename) i(expansion)f(on)h(\014lenames)g(sp)s(eci\014ed)f(as)h(op)s(erands)e (to)j(input)e(and)330 1885 y(output)30 b(redirection)h(op)s(erators)g -(\(see)g(Section)g(3.6)h([Redirections],)g(page)f(26\).)225 +(\(see)g(Section)g(3.6)h([Redirections],)g(page)f(27\).)225 2027 y Fp(\017)60 b Ft(Bash)29 b(con)m(tains)h(the)f(`)p Fs(<>)p Ft(')f(redirection)i(op)s(erator,)f(allo)m(wing)i(a)e(\014le)g (to)g(b)s(e)f(op)s(ened)g(for)h(b)s(oth)f(read-)330 2136 y(ing)35 b(and)f(writing,)i(and)e(the)h(`)p Fs(&>)p Ft(')g(redirection) g(op)s(erator,)h(for)f(directing)g(standard)f(output)h(and)330 2246 y(standard)30 b(error)g(to)h(the)f(same)h(\014le)f(\(see)i -(Section)f(3.6)g([Redirections],)h(page)g(26\).)225 2388 +(Section)f(3.6)g([Redirections],)h(page)g(27\).)225 2388 y Fp(\017)60 b Ft(Bash)21 b(includes)f(the)h(`)p Fs(<<<)p Ft(')g(redirection)g(op)s(erator,)i(allo)m(wing)g(a)e(string)f(to)i(b)s (e)e(used)g(as)h(the)g(standard)330 2497 y(input)29 b(to)j(a)e @@ -14241,20 +14392,20 @@ m(e)330 2749 y(one)j(\014le)f(descriptor)g(to)h(another.)225 2890 y Fp(\017)60 b Ft(Bash)25 b(treats)h(a)f(n)m(um)m(b)s(er)e(of)i (\014lenames)g(sp)s(ecially)g(when)f(they)h(are)g(used)f(in)g (redirection)i(op)s(erators)330 3000 y(\(see)31 b(Section)h(3.6)f -([Redirections],)h(page)f(26\).)225 3142 y Fp(\017)60 +([Redirections],)h(page)f(27\).)225 3142 y Fp(\017)60 b Ft(Bash)33 b(can)f(op)s(en)g(net)m(w)m(ork)i(connections)f(to)h (arbitrary)e(mac)m(hines)h(and)f(services)h(with)f(the)h(redi-)330 3251 y(rection)e(op)s(erators)g(\(see)g(Section)g(3.6)h -([Redirections],)g(page)f(26\).)225 3393 y Fp(\017)60 +([Redirections],)g(page)f(27\).)225 3393 y Fp(\017)60 b Ft(The)29 b Fs(noclobber)e Ft(option)j(is)g(a)m(v)-5 b(ailable)32 b(to)e(a)m(v)m(oid)h(o)m(v)m(erwriting)g(existing)g (\014les)e(with)h(output)f(redi-)330 3503 y(rection)39 -b(\(see)h(Section)f(4.3.1)h([The)e(Set)h(Builtin],)i(page)e(51\).)66 +b(\(see)h(Section)f(4.3.1)h([The)e(Set)h(Builtin],)i(page)e(53\).)66 b(The)38 b(`)p Fs(>|)p Ft(')h(redirection)g(op)s(erator)330 3612 y(ma)m(y)31 b(b)s(e)f(used)f(to)i(o)m(v)m(erride)h Fs(noclobber)p Ft(.)225 3754 y Fp(\017)60 b Ft(The)34 b(Bash)g Fs(cd)g Ft(and)f Fs(pwd)g Ft(builtins)h(\(see)h(Section)g(4.1) -g([Bourne)g(Shell)f(Builtins],)h(page)g(35\))h(eac)m(h)330 +g([Bourne)g(Shell)f(Builtins],)h(page)g(37\))h(eac)m(h)330 3864 y(tak)m(e)c(`)p Fs(-L)p Ft(')e(and)g(`)p Fs(-P)p Ft(')g(options)h(to)g(switc)m(h)g(b)s(et)m(w)m(een)g(logical)i(and)c (ph)m(ysical)i(mo)s(des.)225 4006 y Fp(\017)60 b Ft(Bash)25 @@ -14263,26 +14414,26 @@ b(allo)m(ws)h(a)g(function)e(to)i(o)m(v)m(erride)g(a)g(builtin)e(with)h 4115 y(that)34 b(builtin's)f(functionalit)m(y)h(within)f(the)g (function)g(via)h(the)f Fs(builtin)f Ft(and)g Fs(command)g Ft(builtins)330 4225 y(\(see)f(Section)h(4.2)f([Bash)g(Builtins],)g -(page)g(41\).)225 4367 y Fp(\017)60 b Ft(The)35 b Fs(command)e +(page)g(43\).)225 4367 y Fp(\017)60 b Ft(The)35 b Fs(command)e Ft(builtin)i(allo)m(ws)i(selectiv)m(e)h(disabling)e(of)f(functions)g (when)g(command)g(lo)s(okup)g(is)330 4476 y(p)s(erformed)29 -b(\(see)i(Section)g(4.2)h([Bash)f(Builtins],)g(page)g(41\).)225 +b(\(see)i(Section)g(4.2)h([Bash)f(Builtins],)g(page)g(43\).)225 4618 y Fp(\017)60 b Ft(Individual)23 b(builtins)g(ma)m(y)i(b)s(e)e (enabled)h(or)g(disabled)g(using)f(the)h Fs(enable)f Ft(builtin)g(\(see)i(Section)g(4.2)330 4728 y([Bash)31 -b(Builtins],)g(page)g(41\).)225 4869 y Fp(\017)60 b Ft(The)26 +b(Builtins],)g(page)g(43\).)225 4869 y Fp(\017)60 b Ft(The)26 b(Bash)h Fs(exec)e Ft(builtin)h(tak)m(es)i(additional)f(options)g(that) g(allo)m(w)h(users)d(to)j(con)m(trol)g(the)e(con)m(ten)m(ts)330 4979 y(of)35 b(the)f(en)m(vironmen)m(t)h(passed)f(to)h(the)g(executed)g (command,)h(and)d(what)i(the)f(zeroth)h(argumen)m(t)330 5089 y(to)c(the)g(command)f(is)g(to)h(b)s(e)f(\(see)h(Section)h(4.1)f -([Bourne)f(Shell)h(Builtins],)g(page)g(35\).)225 5230 +([Bourne)f(Shell)h(Builtins],)g(page)g(37\).)225 5230 y Fp(\017)60 b Ft(Shell)29 b(functions)g(ma)m(y)h(b)s(e)f(exp)s(orted)g (to)h(c)m(hildren)f(via)h(the)g(en)m(vironmen)m(t)g(using)f Fs(export)f(-f)h Ft(\(see)330 5340 y(Section)i(3.3)h([Shell)e(F)-8 -b(unctions],)32 b(page)f(14\).)p eop end -%%Page: 140 146 -TeXDict begin 140 145 bop 150 -116 a Ft(140)2527 b(Bash)31 +b(unctions],)32 b(page)f(15\).)p eop end +%%Page: 142 148 +TeXDict begin 142 147 bop 150 -116 a Ft(142)2527 b(Bash)31 b(Reference)g(Man)m(ual)225 299 y Fp(\017)60 b Ft(The)37 b(Bash)g Fs(export)p Ft(,)h Fs(readonly)p Ft(,)f(and)f Fs(declare)g Ft(builtins)h(can)g(tak)m(e)i(a)f(`)p Fs(-f)p @@ -14299,15 +14450,15 @@ Ft(builtin)g(allo)m(ws)j(a)e(name)g(to)g(b)s(e)f(asso)s(ciated)j(with)d (an)h(arbitrary)f(\014lename,)330 874 y(ev)m(en)30 b(when)e(that)h (\014lename)g(cannot)h(b)s(e)e(found)g(b)m(y)h(searc)m(hing)g(the)g Fs($PATH)p Ft(,)g(using)f(`)p Fs(hash)h(-p)p Ft(')g(\(see)330 -984 y(Section)i(4.1)h([Bourne)e(Shell)g(Builtins],)h(page)h(35\).)225 +984 y(Section)i(4.1)h([Bourne)e(Shell)g(Builtins],)h(page)h(37\).)225 1121 y Fp(\017)60 b Ft(Bash)27 b(includes)f(a)i Fs(help)d Ft(builtin)i(for)f(quic)m(k)h(reference)h(to)f(shell)g(facilities)i -(\(see)f(Section)g(4.2)g([Bash)330 1230 y(Builtins],)j(page)g(41\).)225 +(\(see)f(Section)g(4.2)g([Bash)330 1230 y(Builtins],)j(page)g(43\).)225 1367 y Fp(\017)60 b Ft(The)42 b Fs(printf)g Ft(builtin)g(is)h(a)m(v)-5 b(ailable)45 b(to)f(displa)m(y)f(formatted)g(output)g(\(see)h(Section)g -(4.2)g([Bash)330 1477 y(Builtins],)31 b(page)g(41\).)225 +(4.2)g([Bash)330 1477 y(Builtins],)31 b(page)g(43\).)225 1614 y Fp(\017)60 b Ft(The)26 b(Bash)h Fs(read)f Ft(builtin)g(\(see)i -(Section)g(4.2)g([Bash)f(Builtins],)h(page)g(41\))g(will)f(read)g(a)g +(Section)g(4.2)g([Bash)f(Builtins],)h(page)g(43\))g(will)f(read)g(a)g (line)g(ending)330 1724 y(in)f(`)p Fs(\\)p Ft(')h(with)f(the)g(`)p Fs(-r)p Ft(')h(option,)h(and)d(will)i(use)f(the)h Fs(REPLY)e Ft(v)-5 b(ariable)27 b(as)g(a)f(default)h(if)f(no)h(non-option)330 @@ -14330,23 +14481,23 @@ h(particular)g(c)m(haracter)h(rather)e(than)g(newline.)225 2628 y Fp(\017)60 b Ft(The)33 b Fs(return)e Ft(builtin)i(ma)m(y)g(b)s (e)g(used)f(to)i(ab)s(ort)f(execution)h(of)f(scripts)g(executed)h(with) f(the)g Fs(.)g Ft(or)330 2737 y Fs(source)c Ft(builtins)g(\(see)j -(Section)f(4.1)g([Bourne)g(Shell)f(Builtins],)h(page)g(35\).)225 +(Section)f(4.1)g([Bourne)g(Shell)f(Builtins],)h(page)g(37\).)225 2874 y Fp(\017)60 b Ft(Bash)43 b(includes)g(the)g Fs(shopt)f Ft(builtin,)k(for)d(\014ner)f(con)m(trol)j(of)e(shell)h(optional)g (capabilities)h(\(see)330 2984 y(Section)c(4.3.2)g([The)f(Shopt)f -(Builtin],)k(page)d(55\),)k(and)39 b(allo)m(ws)i(these)f(options)h(to)f +(Builtin],)k(page)d(57\),)k(and)39 b(allo)m(ws)i(these)f(options)h(to)f (b)s(e)f(set)i(and)330 3093 y(unset)30 b(at)h(shell)g(in)m(v)m(o)s (cation)h(\(see)f(Section)h(6.1)f([In)m(v)m(oking)g(Bash],)g(page)h -(71\).)225 3230 y Fp(\017)60 b Ft(Bash)45 b(has)f(m)m(uc)m(h)g(more)h +(73\).)225 3230 y Fp(\017)60 b Ft(Bash)45 b(has)f(m)m(uc)m(h)g(more)h (optional)h(b)s(eha)m(vior)e(con)m(trollable)j(with)e(the)f Fs(set)g Ft(builtin)g(\(see)h(Sec-)330 3340 y(tion)31 -b(4.3.1)h([The)e(Set)h(Builtin],)g(page)g(51\).)225 3477 +b(4.3.1)h([The)e(Set)h(Builtin],)g(page)g(53\).)225 3477 y Fp(\017)60 b Ft(The)31 b(`)p Fs(-x)p Ft(')g(\()p Fs(xtrace)p Ft(\))g(option)h(displa)m(ys)f(commands)h(other)f(than)h(simple)f (commands)g(when)g(p)s(er-)330 3587 y(forming)f(an)g(execution)i(trace) -f(\(see)h(Section)f(4.3.1)h([The)e(Set)h(Builtin],)g(page)g(51\).)225 +f(\(see)h(Section)f(4.3.1)h([The)e(Set)h(Builtin],)g(page)g(53\).)225 3724 y Fp(\017)60 b Ft(The)28 b Fs(test)g Ft(builtin)h(\(see)h(Section) -f(4.1)h([Bourne)f(Shell)g(Builtins],)h(page)g(35\))g(is)f(sligh)m(tly)h +f(4.1)h([Bourne)f(Shell)g(Builtins],)h(page)g(37\))g(is)f(sligh)m(tly)h (di\013eren)m(t,)330 3833 y(as)23 b(it)g(implemen)m(ts)f(the)h Fl(posix)f Ft(algorithm,)j(whic)m(h)d(sp)s(eci\014es)g(the)h(b)s(eha)m (vior)f(based)g(on)h(the)f(n)m(um)m(b)s(er)330 3943 y(of)31 @@ -14357,7 +14508,7 @@ b(\(a)f(shell)f(function)h(or)f(a)h(script)f(executed)h(with)f(the)h Fs(.)f Ft(or)g Fs(source)f Ft(builtins\).)39 b(This)26 b(supp)s(orts)330 4299 y(the)31 b(bash)e(debugger.)225 4436 y Fp(\017)60 b Ft(The)42 b Fs(trap)f Ft(builtin)h(\(see)i(Section) -f(4.1)h([Bourne)e(Shell)g(Builtins],)47 b(page)c(35\))h(allo)m(ws)g(a)e +f(4.1)h([Bourne)e(Shell)g(Builtins],)47 b(page)c(37\))h(allo)m(ws)g(a)e Fs(DEBUG)330 4545 y Ft(pseudo-signal)c(sp)s(eci\014cation,)i(similar)e (to)g Fs(EXIT)p Ft(.)62 b(Commands)36 b(sp)s(eci\014ed)h(with)g(a)h Fs(DEBUG)e Ft(trap)330 4655 y(are)k(executed)g(b)s(efore)f(ev)m(ery)h @@ -14373,20 +14524,20 @@ Fs(functrace)d Ft(option)j(has)f(b)s(een)g(enabled)g(using)330 Fs(extdebug)f Ft(shell)i(option)g(has)f(additional)h(e\013ects)h(on)f (the)g Fs(DEBUG)e Ft(trap.)330 5230 y(The)21 b Fs(trap)e Ft(builtin)i(\(see)h(Section)g(4.1)g([Bourne)f(Shell)g(Builtins],)j -(page)e(35\))g(allo)m(ws)g(an)f Fs(ERR)f Ft(pseudo-)330 +(page)e(37\))g(allo)m(ws)g(an)f Fs(ERR)f Ft(pseudo-)330 5340 y(signal)30 b(sp)s(eci\014cation,)h(similar)f(to)g Fs(EXIT)f Ft(and)g Fs(DEBUG)p Ft(.)39 b(Commands)28 b(sp)s(eci\014ed)h (with)g(an)g Fs(ERR)g Ft(trap)p eop end -%%Page: 141 147 -TeXDict begin 141 146 bop 150 -116 a Ft(App)s(endix)29 +%%Page: 143 149 +TeXDict begin 143 148 bop 150 -116 a Ft(App)s(endix)29 b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31 -b(The)f(Bourne)g(Shell)1258 b(141)330 299 y(are)40 b(executed)g(after)g +b(The)f(Bourne)g(Shell)1258 b(143)330 299 y(are)40 b(executed)g(after)g (a)f(simple)h(command)f(fails,)j(with)d(a)h(few)f(exceptions.)68 b(The)39 b Fs(ERR)g Ft(trap)g(is)330 408 y(not)g(inherited)f(b)m(y)h (shell)g(functions)f(unless)g(the)h Fs(-o)29 b(errtrace)37 b Ft(option)i(to)g(the)g Fs(set)f Ft(builtin)g(is)330 518 y(enabled.)330 650 y(The)g Fs(trap)g Ft(builtin)h(\(see)g(Section)h -(4.1)g([Bourne)f(Shell)g(Builtins],)i(page)f(35\))g(allo)m(ws)g(a)g +(4.1)g([Bourne)f(Shell)g(Builtins],)i(page)f(37\))g(allo)m(ws)g(a)g Fs(RETURN)330 760 y Ft(pseudo-signal)35 b(sp)s(eci\014cation,)j (similar)d(to)h Fs(EXIT)e Ft(and)g Fs(DEBUG)p Ft(.)54 b(Commands)34 b(sp)s(eci\014ed)g(with)h(an)330 869 y @@ -14401,30 +14552,30 @@ g(the)g Fs(shopt)f Ft(builtin.)225 1330 y Fp(\017)60 b Ft(The)30 b(Bash)g Fs(type)f Ft(builtin)h(is)g(more)g(extensiv)m(e)i (and)d(giv)m(es)j(more)e(information)h(ab)s(out)f(the)g(names)330 1440 y(it)h(\014nds)e(\(see)i(Section)g(4.2)h([Bash)e(Builtins],)i -(page)f(41\).)225 1571 y Fp(\017)60 b Ft(The)34 b(Bash)h +(page)f(43\).)225 1571 y Fp(\017)60 b Ft(The)34 b(Bash)h Fs(umask)e Ft(builtin)h(p)s(ermits)g(a)g(`)p Fs(-p)p Ft(')h(option)g(to)g(cause)g(the)g(output)f(to)h(b)s(e)f(displa)m(y)m (ed)h(in)330 1681 y(the)g(form)g(of)g(a)h Fs(umask)e Ft(command)h(that)g(ma)m(y)h(b)s(e)f(reused)f(as)h(input)g(\(see)h (Section)g(4.1)g([Bourne)330 1791 y(Shell)30 b(Builtins],)h(page)h -(35\).)225 1923 y Fp(\017)60 b Ft(Bash)34 b(implemen)m(ts)h(a)g +(37\).)225 1923 y Fp(\017)60 b Ft(Bash)34 b(implemen)m(ts)h(a)g Fs(csh)p Ft(-lik)m(e)g(directory)f(stac)m(k,)j(and)d(pro)m(vides)g(the) g Fs(pushd)p Ft(,)g Fs(popd)p Ft(,)g(and)g Fs(dirs)330 2032 y Ft(builtins)g(to)i(manipulate)f(it)h(\(see)f(Section)h(6.8)g -([The)f(Directory)h(Stac)m(k],)i(page)d(81\).)56 b(Bash)35 +([The)f(Directory)h(Stac)m(k],)i(page)d(83\).)56 b(Bash)35 b(also)330 2142 y(mak)m(es)c(the)g(directory)g(stac)m(k)g(visible)g(as) g(the)f(v)-5 b(alue)31 b(of)g(the)f Fs(DIRSTACK)f Ft(shell)h(v)-5 b(ariable.)225 2274 y Fp(\017)60 b Ft(Bash)28 b(in)m(terprets)h(sp)s (ecial)g(bac)m(kslash-escap)s(ed)g(c)m(haracters)g(in)f(the)h(prompt)e (strings)h(when)f(in)m(ter-)330 2383 y(activ)m(e)33 b(\(see)e(Section)g -(6.9)h([Prin)m(ting)e(a)h(Prompt],)g(page)g(82\).)225 +(6.9)h([Prin)m(ting)e(a)h(Prompt],)g(page)g(84\).)225 2515 y Fp(\017)60 b Ft(The)46 b(Bash)h(restricted)g(mo)s(de)f(is)h (more)f(useful)g(\(see)h(Section)h(6.10)g([The)e(Restricted)i(Shell],) -330 2625 y(page)31 b(84\);)h(the)f(SVR4.2)g(shell)f(restricted)h(mo)s +330 2625 y(page)31 b(86\);)h(the)f(SVR4.2)g(shell)f(restricted)h(mo)s (de)f(is)h(to)s(o)g(limited.)225 2757 y Fp(\017)60 b Ft(The)30 b Fs(disown)f Ft(builtin)h(can)h(remo)m(v)m(e)h(a)f(job)f (from)g(the)h(in)m(ternal)g(shell)g(job)f(table)i(\(see)f(Section)h -(7.2)330 2866 y([Job)h(Con)m(trol)h(Builtins],)g(page)g(90\))h(or)e +(7.2)330 2866 y([Job)h(Con)m(trol)h(Builtins],)g(page)g(92\))h(or)e (suppress)e(the)i(sending)g(of)g Fs(SIGHUP)e Ft(to)j(a)g(job)f(when)f (the)330 2976 y(shell)f(exits)g(as)f(the)h(result)f(of)h(a)f Fs(SIGHUP)p Ft(.)225 3108 y Fp(\017)60 b Ft(Bash)31 b(includes)f(a)g(n) @@ -14441,7 +14592,7 @@ Fp(\017)60 b Ft(The)30 b(SVR4.2)h Fs(sh)f Ft(uses)g(a)g Fs(TIMEOUT)f Ft(v)-5 b(ariable)31 b(lik)m(e)h(Bash)e(uses)g Fs(TMOUT)p Ft(.)150 3900 y(More)h(features)g(unique)e(to)i(Bash)g(ma)m (y)g(b)s(e)f(found)f(in)h(Chapter)f(6)i([Bash)g(F)-8 -b(eatures],)32 b(page)f(71.)150 4127 y Fr(B.1)67 b(Implemen)l(tation)48 +b(eatures],)32 b(page)f(73.)150 4127 y Fr(B.1)67 b(Implemen)l(tation)48 b(Di\013erences)e(F)-11 b(rom)44 b(The)h(SVR4.2)g(Shell)150 4287 y Ft(Since)33 b(Bash)h(is)f(a)g(completely)i(new)e(implemen)m (tation,)j(it)e(do)s(es)e(not)i(su\013er)e(from)h(man)m(y)g(of)h(the)f @@ -14462,8 +14613,8 @@ Ft(.)57 b(If)35 b(the)i(shell)f(is)h(started)g(from)e(a)i(pro)s(cess)f (with)g Fs(SIGSEGV)e Ft(blo)s(c)m(k)m(ed)k(\(e.g.,)h(b)m(y)d(using)330 5340 y(the)31 b Fs(system\(\))d Ft(C)i(library)g(function)g(call\),)i (it)f(misb)s(eha)m(v)m(es)g(badly)-8 b(.)p eop end -%%Page: 142 148 -TeXDict begin 142 147 bop 150 -116 a Ft(142)2527 b(Bash)31 +%%Page: 144 150 +TeXDict begin 144 149 bop 150 -116 a Ft(144)2527 b(Bash)31 b(Reference)g(Man)m(ual)225 299 y Fp(\017)60 b Ft(In)26 b(a)i(questionable)g(attempt)h(at)f(securit)m(y)-8 b(,)29 b(the)e(SVR4.2)h(shell,)g(when)f(in)m(v)m(ok)m(ed)h(without)g(the)f(`)p @@ -14495,10 +14646,10 @@ Fl(posix)330 1738 y Ft(standard.)225 1873 y Fp(\017)60 b Ft(The)30 b(SVR4.2)h(shell)g(b)s(eha)m(v)m(es)f(di\013eren)m(tly)h (when)f(in)m(v)m(ok)m(ed)i(as)e Fs(jsh)g Ft(\(it)h(turns)e(on)h(job)g (con)m(trol\).)p eop end -%%Page: 143 149 -TeXDict begin 143 148 bop 150 -116 a Ft(App)s(endix)29 +%%Page: 145 151 +TeXDict begin 145 150 bop 150 -116 a Ft(App)s(endix)29 b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560 -b(143)150 299 y Fo(App)t(endix)52 b(C)81 b(GNU)54 b(F)-13 +b(145)150 299 y Fo(App)t(endix)52 b(C)81 b(GNU)54 b(F)-13 b(ree)53 b(Do)t(cumen)l(tation)e(License)1359 502 y Ft(V)-8 b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390 635 y(Cop)m(yrigh)m(t)842 632 y(c)817 635 y Fp(\015)e @@ -14579,8 +14730,8 @@ b(\\In)m(v)-5 b(arian)m(t)27 b(Sections")g(are)f(certain)g(Secondary)g 5340 y(b)s(eing)e(those)h(of)g(In)m(v)-5 b(arian)m(t)27 b(Sections,)i(in)d(the)h(notice)h(that)f(sa)m(ys)g(that)g(the)g(Do)s (cumen)m(t)g(is)g(released)p eop end -%%Page: 144 150 -TeXDict begin 144 149 bop 150 -116 a Ft(144)2527 b(Bash)31 +%%Page: 146 152 +TeXDict begin 146 151 bop 150 -116 a Ft(146)2527 b(Bash)31 b(Reference)g(Man)m(ual)330 299 y(under)26 b(this)i(License.)40 b(If)27 b(a)h(section)h(do)s(es)f(not)f(\014t)h(the)g(ab)s(o)m(v)m(e)h (de\014nition)e(of)h(Secondary)f(then)h(it)g(is)330 408 @@ -14672,10 +14823,10 @@ b(arran)m(t)m(y)39 b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g (and)f(has)h(no)330 5189 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h (this)f(License.)199 5340 y(2.)61 b(VERBA)-8 b(TIM)31 b(COPYING)p eop end -%%Page: 145 151 -TeXDict begin 145 150 bop 150 -116 a Ft(App)s(endix)29 +%%Page: 147 153 +TeXDict begin 147 152 bop 150 -116 a Ft(App)s(endix)29 b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560 -b(145)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h +b(147)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h (the)g(Do)s(cumen)m(t)h(in)f(an)m(y)g(medium,)h(either)g(commercially)h (or)330 408 y(noncommercially)-8 b(,)48 b(pro)m(vided)42 b(that)h(this)f(License,)47 b(the)42 b(cop)m(yrigh)m(t)i(notices,)j @@ -14765,8 +14916,8 @@ b(in)f(the)h(Title)h(P)m(age)g(\(and)f(on)f(the)h(co)m(v)m(ers,)i(if)e 5340 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m (ersions)h(\(whic)m(h)g(should,)g(if)g(there)g(w)m(ere)g(an)m(y)-8 b(,)p eop end -%%Page: 146 152 -TeXDict begin 146 151 bop 150 -116 a Ft(146)2527 b(Bash)31 +%%Page: 148 154 +TeXDict begin 148 153 bop 150 -116 a Ft(148)2527 b(Bash)31 b(Reference)g(Man)m(ual)510 299 y(b)s(e)g(listed)h(in)f(the)g(History)h (section)g(of)g(the)f(Do)s(cumen)m(t\).)45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same)h(title)h(as)510 408 y(a)e(previous)f(v)m @@ -14847,10 +14998,10 @@ b(arran)m(t)m(y)32 b(Disclaimers.)330 5121 y(If)h(the)g(Mo)s(di\014ed)g (designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e(in)m(v)-5 b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)p eop end -%%Page: 147 153 -TeXDict begin 147 152 bop 150 -116 a Ft(App)s(endix)29 +%%Page: 149 155 +TeXDict begin 149 154 bop 150 -116 a Ft(App)s(endix)29 b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560 -b(147)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5 +b(149)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5 b(arian)m(t)36 b(Sections)g(in)f(the)h(Mo)s(di\014ed)f(V)-8 b(ersion's)36 b(license)g(notice.)57 b(These)330 408 y(titles)32 b(m)m(ust)e(b)s(e)g(distinct)h(from)e(an)m(y)i(other)g @@ -14935,8 +15086,8 @@ b(ma)m(y)g(extract)h(a)f(single)g(do)s(cumen)m(t)f(from)g(suc)m(h)g(a)h 5230 y(do)s(cumen)m(t,)d(and)f(follo)m(w)i(this)e(License)h(in)g(all)g (other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330 5340 y(that)d(do)s(cumen)m(t.)p eop end -%%Page: 148 154 -TeXDict begin 148 153 bop 150 -116 a Ft(148)2527 b(Bash)31 +%%Page: 150 156 +TeXDict begin 150 155 bop 150 -116 a Ft(150)2527 b(Bash)31 b(Reference)g(Man)m(ual)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h(W)m(ORKS)330 441 y(A)d(compilation)i (of)e(the)g(Do)s(cumen)m(t)h(or)f(its)g(deriv)-5 b(ativ)m(es)30 @@ -15023,10 +15174,10 @@ b(ha)m(v)m(e)h(receiv)m(ed)h(copies)e(or)h(righ)m(ts)f(from)g(y)m(ou)g (reinstated,)i(receipt)f(of)f(a)g(cop)m(y)h(of)f(some)h(or)f(all)h(of)f (the)330 5340 y(same)31 b(material)h(do)s(es)e(not)g(giv)m(e)i(y)m(ou)f (an)m(y)g(righ)m(ts)f(to)i(use)e(it.)p eop end -%%Page: 149 155 -TeXDict begin 149 154 bop 150 -116 a Ft(App)s(endix)29 +%%Page: 151 157 +TeXDict begin 151 156 bop 150 -116 a Ft(App)s(endix)29 b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560 -b(149)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE) +b(151)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE) 330 433 y(The)41 b(F)-8 b(ree)43 b(Soft)m(w)m(are)f(F)-8 b(oundation)43 b(ma)m(y)f(publish)e(new,)k(revised)d(v)m(ersions)h(of)g (the)g(GNU)g(F)-8 b(ree)330 543 y(Do)s(cumen)m(tation)34 @@ -15090,8 +15241,8 @@ f(of)g(that)330 2944 y(license)31 b(published)e(b)m(y)h(that)h(same)g g(under)330 3895 y(CC-BY-SA)30 b(on)g(the)h(same)f(site)h(at)g(an)m(y)g (time)g(b)s(efore)e(August)h(1,)h(2009,)h(pro)m(vided)e(the)g(MMC)h(is) 330 4005 y(eligible)h(for)e(relicensing.)p eop end -%%Page: 150 156 -TeXDict begin 150 155 bop 150 -116 a Ft(150)2527 b(Bash)31 +%%Page: 152 158 +TeXDict begin 152 157 bop 150 -116 a Ft(152)2527 b(Bash)31 b(Reference)g(Man)m(ual)150 299 y Fr(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g (this)h(License)f(for)g(y)l(our)g(do)t(cumen)l(ts)150 458 y Ft(T)-8 b(o)35 b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m(t)g @@ -15128,200 +15279,200 @@ y(If)23 b(y)m(our)h(do)s(cumen)m(t)f(con)m(tains)i(non)m(trivial)g b(as)g(the)g(GNU)150 2331 y(General)31 b(Public)f(License,)i(to)f(p)s (ermit)e(their)i(use)f(in)g(free)g(soft)m(w)m(are.)p eop end -%%Page: 151 157 -TeXDict begin 151 156 bop 150 -116 a Ft(App)s(endix)29 -b(D:)i(Indexes)2623 b(151)150 299 y Fo(App)t(endix)52 +%%Page: 153 159 +TeXDict begin 153 158 bop 150 -116 a Ft(App)s(endix)29 +b(D:)i(Indexes)2623 b(153)150 299 y Fo(App)t(endix)52 b(D)81 b(Indexes)150 631 y Fr(D.1)68 b(Index)45 b(of)g(Shell)g(Builtin) g(Commands)150 868 y(.)150 984 y Fe(.)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)39 b Fb(35)150 1218 y Fr(:)150 1335 +(:)h(:)f(:)g(:)g(:)39 b Fb(37)150 1218 y Fr(:)150 1335 y Fe(:)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39 -b Fb(35)150 1579 y Fr([)150 1695 y Fe([)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g +b Fb(37)150 1579 y Fr([)150 1695 y Fe([)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)39 b Fb(39)150 1938 y Fr(A)150 2055 +(:)h(:)f(:)g(:)g(:)39 b Fb(41)150 1938 y Fr(A)150 2055 y Fe(alias)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b Fb(41)150 +f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b Fb(43)150 2289 y Fr(B)150 2405 y Fe(bg)10 b Fc(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)37 b Fb(90)150 2493 y Fe(bind)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:) +g(:)37 b Fb(92)150 2493 y Fe(bind)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -49 b Fb(41)150 2580 y Fe(break)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f +49 b Fb(43)150 2580 y Fe(break)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 -b Fb(35)150 2668 y Fe(builtin)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g +b Fb(37)150 2668 y Fe(builtin)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 -b Fb(43)150 2902 y Fr(C)150 3019 y Fe(caller)17 b Fc(:)e(:)e(:)g(:)g(:) +b Fb(45)150 2902 y Fr(C)150 3019 y Fe(caller)17 b Fc(:)e(:)e(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -43 b Fb(43)150 3106 y Fe(cd)10 b Fc(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g +43 b Fb(45)150 3106 y Fe(cd)10 b Fc(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)37 b Fb(36)150 3194 y Fe(command)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g +(:)37 b Fb(38)150 3194 y Fe(command)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 -b Fb(43)150 3281 y Fe(compgen)12 b Fc(:)j(:)e(:)g(:)h(:)f(:)g(:)g(:)g +b Fb(45)150 3281 y Fe(compgen)12 b Fc(:)j(:)e(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)39 b -Fb(117)150 3368 y Fe(complete)10 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:) +Fb(119)150 3368 y Fe(complete)10 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(117)150 +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(119)150 3456 y Fe(compopt)12 b Fc(:)j(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)39 b Fb(120)150 3543 +g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)39 b Fb(122)150 3543 y Fe(continue)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fb(36)150 3778 y +g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fb(38)150 3778 y Fr(D)150 3894 y Fe(declare)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b -Fb(43)150 3982 y Fe(dirs)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +Fb(45)150 3982 y Fe(dirs)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 -b Fb(81)150 4069 y Fe(disown)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:) +b Fb(83)150 4069 y Fe(disown)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 -b Fb(91)150 4303 y Fr(E)150 4420 y Fe(echo)23 b Fc(:)13 +b Fb(93)150 4303 y Fr(E)150 4420 y Fe(echo)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(45)150 4507 y Fe(enable)17 +g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(47)150 4507 y Fe(enable)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(45)150 4595 y Fe(eval)23 +(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(47)150 4595 y Fe(eval)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(36)150 4682 y +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(38)150 4682 y Fe(exec)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(36)150 +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(38)150 4770 y Fe(exit)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 -b Fb(36)150 4857 y Fe(export)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:) +b Fb(38)150 4857 y Fe(export)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 -b Fb(36)150 5110 y Fr(F)150 5227 y Fe(fc)8 b Fc(:)14 +b Fb(38)150 5110 y Fr(F)150 5227 y Fe(fc)8 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)35 b Fb(121)150 5314 +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)35 b Fb(123)150 5314 y Fe(fg)10 b Fc(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37 -b Fb(90)2025 868 y Fr(G)2025 988 y Fe(getopts)15 b Fc(:)f(:)f(:)g(:)g +b Fb(92)2025 868 y Fr(G)2025 988 y Fe(getopts)15 b Fc(:)f(:)f(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 -b Fb(37)2025 1250 y Fr(H)2025 1370 y Fe(hash)23 b Fc(:)13 +b Fb(39)2025 1250 y Fr(H)2025 1370 y Fe(hash)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(37)2025 1459 y Fe(help)23 +h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(39)2025 1459 y Fe(help)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(46)2025 1549 +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(48)2025 1549 y Fe(history)12 b Fc(:)j(:)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(:)h(:)f(:)39 b Fb(122)2025 1811 +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(124)2025 1811 y Fr(J)2025 1931 y Fe(jobs)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 -b Fb(90)2025 2193 y Fr(K)2025 2313 y Fe(kill)23 b Fc(:)13 +b Fb(92)2025 2193 y Fr(K)2025 2313 y Fe(kill)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(91)2025 2557 y Fr(L)2025 +h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(93)2025 2557 y Fr(L)2025 2677 y Fe(let)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 -b Fb(46)2025 2766 y Fe(local)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h +b Fb(48)2025 2766 y Fe(local)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 -b Fb(46)2025 2856 y Fe(logout)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g +b Fb(48)2025 2856 y Fe(logout)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 -b Fb(46)2025 3118 y Fr(M)2025 3238 y Fe(mapfile)15 b +b Fb(48)2025 3118 y Fr(M)2025 3238 y Fe(mapfile)15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)41 b Fb(46)2025 3500 y Fr(P)2025 3620 +h(:)f(:)g(:)g(:)41 b Fb(49)2025 3500 y Fr(P)2025 3620 y Fe(popd)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(82)2025 +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(84)2025 3710 y Fe(printf)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(47)2025 +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(49)2025 3799 y Fe(pushd)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b -Fb(82)2025 3888 y Fe(pwd)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +Fb(84)2025 3888 y Fe(pwd)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 -b Fb(38)2025 4150 y Fr(R)2025 4270 y Fe(read)23 b Fc(:)13 +b Fb(40)2025 4150 y Fr(R)2025 4270 y Fe(read)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(47)2025 4360 y Fe(readarray)9 +h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(50)2025 4360 y Fe(readarray)9 b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)36 b Fb(49)2025 4449 y Fe(readonly)12 b Fc(:)j(:)e(:)g(:)g +f(:)g(:)g(:)36 b Fb(51)2025 4449 y Fe(readonly)12 b Fc(:)j(:)e(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 -b Fb(38)2025 4538 y Fe(return)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g +b Fb(40)2025 4538 y Fe(return)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 -b Fb(38)2025 4782 y Fr(S)2025 4902 y Fe(set)8 b Fc(:)13 +b Fb(40)2025 4782 y Fr(S)2025 4902 y Fe(set)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(51)2025 4991 +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(53)2025 4991 y Fe(shift)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(38)2025 +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(40)2025 5080 y Fe(shopt)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b -Fb(55)2025 5169 y Fe(source)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g +Fb(57)2025 5169 y Fe(source)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 -b Fb(49)2025 5259 y Fe(suspend)15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g +b Fb(51)2025 5259 y Fe(suspend)15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 -b Fb(91)p eop end -%%Page: 152 158 -TeXDict begin 152 157 bop 150 -116 a Ft(152)2527 b(Bash)31 +b Fb(93)p eop end +%%Page: 154 160 +TeXDict begin 154 159 bop 150 -116 a Ft(154)2527 b(Bash)31 b(Reference)g(Man)m(ual)150 299 y Fr(T)150 428 y Fe(test)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(39)150 522 y +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(41)150 522 y Fe(times)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b Fb(40)150 +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b Fb(42)150 616 y Fe(trap)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 -b Fb(40)150 709 y Fe(type)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +b Fb(42)150 709 y Fe(type)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 -b Fb(49)150 803 y Fe(typeset)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:) +b Fb(51)150 803 y Fe(typeset)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 -b Fb(49)2025 299 y Fr(U)2025 415 y Fe(ulimit)17 b Fc(:)d(:)g(:)f(:)g(:) +b Fb(52)2025 299 y Fr(U)2025 415 y Fe(ulimit)17 b Fc(:)d(:)g(:)f(:)g(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -44 b Fb(50)2025 502 y Fe(umask)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g +44 b Fb(52)2025 502 y Fe(umask)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 -b Fb(41)2025 590 y Fe(unalias)15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g +b Fb(43)2025 590 y Fe(unalias)15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 -b Fb(51)2025 677 y Fe(unset)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h +b Fb(53)2025 677 y Fe(unset)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 -b Fb(41)2025 910 y Fr(W)2025 1026 y Fe(wait)23 b Fc(:)13 +b Fb(43)2025 910 y Fr(W)2025 1026 y Fe(wait)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(91)150 1259 y Fr(D.2)68 +h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(93)150 1259 y Fr(D.2)68 b(Index)45 b(of)g(Shell)g(Reserv)l(ed)h(W)-11 b(ords)150 1495 y(!)150 1612 y Fe(!)15 b Fc(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f @@ -15336,21 +15487,21 @@ g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g g(:)37 b Fb(12)150 2579 y Fa({)150 2695 y Fe({)13 b Fc(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fb(13)150 2938 y Fa(})150 +(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fb(14)150 2938 y Fa(})150 3054 y Fe(})13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39 -b Fb(13)150 3296 y Fr(C)150 3412 y Fe(case)23 b Fc(:)13 +b Fb(14)150 3296 y Fr(C)150 3412 y Fe(case)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(10)150 3646 y Fr(D)150 -3762 y Fe(do)12 b Fc(:)i(:)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(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fb(9)150 3849 y Fe(done)7 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 -b Fb(9)150 4083 y Fr(E)150 4199 y Fe(elif)23 b Fc(:)13 +g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(11)150 3646 y Fr(D)150 +3762 y Fe(do)10 b Fc(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37 +b Fb(10)150 3849 y Fe(done)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 +b Fb(10)150 4083 y Fr(E)150 4199 y Fe(elif)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(10)2025 1495 y Fe(else)23 @@ -15359,7 +15510,7 @@ b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(10)2025 1586 y Fe(esac)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(10)2025 +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(11)2025 1838 y Fr(F)2025 1961 y Fe(fi)10 b Fc(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g @@ -15369,13 +15520,13 @@ g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)34 b Fb(10)2025 2143 y Fe(function)12 b Fc(:)j(:)e(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 -b Fb(14)2025 2394 y Fr(I)2025 2518 y Fe(if)10 b Fc(:)k(:)f(:)g(:)g(:)g +b Fb(15)2025 2394 y Fr(I)2025 2518 y Fe(if)10 b Fc(:)k(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)37 b Fb(10)2025 2608 y Fe(in)10 b Fc(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(10)2025 +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(11)2025 2860 y Fr(S)2025 2983 y Fe(select)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 @@ -15386,705 +15537,709 @@ h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(10)2025 3449 y Fe(time)7 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b Fb(8)2025 -3701 y Fr(U)2025 3824 y Fe(until)23 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 -b Fb(9)2025 4076 y Fr(W)2025 4199 y Fe(while)23 b Fc(:)13 -b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)49 b Fb(9)150 4431 y Fr(D.3)68 -b(P)l(arameter)47 b(and)d(V)-11 b(ariable)46 b(Index)150 -4668 y(!)150 4794 y Fe(!)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)39 b Fb(17)150 5054 y Fr(#)150 5180 y Fe(#)13 b Fc(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fb(17)2025 4668 y Fr($)2025 -4794 y Fe($)13 b Fc(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g +3701 y Fr(U)2025 3824 y Fe(until)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fb(17)2025 5067 y Fr(*)2025 5192 y Fe(*)13 b Fc(:)g(:)g(:)g(:)g(:)g +g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 +b Fb(10)2025 4076 y Fr(W)2025 4199 y Fe(while)21 b Fc(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)46 b Fb(10)150 4431 y Fr(D.3)68 b(P)l(arameter)47 +b(and)d(V)-11 b(ariable)46 b(Index)150 4668 y(!)150 4794 +y Fe(!)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39 +b Fb(18)150 5054 y Fr(#)150 5180 y Fe(#)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)39 b Fb(18)2025 4668 y Fr($)2025 4794 +y Fe($)13 b Fc(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 +b Fb(18)2025 5067 y Fr(*)2025 5192 y Fe(*)13 b Fc(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(16)p eop end -%%Page: 153 159 -TeXDict begin 153 158 bop 150 -116 a Ft(App)s(endix)29 -b(D:)i(Indexes)2623 b(153)150 299 y Fr(-)150 415 y Fe(-)13 +(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(18)p eop end +%%Page: 155 161 +TeXDict begin 155 160 bop 150 -116 a Ft(App)s(endix)29 +b(D:)i(Indexes)2623 b(155)150 299 y Fr(-)150 415 y Fe(-)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fb(17)150 +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fb(18)150 649 y Fr(?)150 765 y Fe(?)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)39 b Fb(17)150 999 y Fr(@)150 1115 y Fe(@)13 b +(:)g(:)39 b Fb(18)150 999 y Fr(@)150 1115 y Fe(@)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fb(16)p +h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fb(18)p 159 1349 41 6 v 150 1465 a Fe(_)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)39 b Fb(17)150 1699 y Fr(0)150 1815 y Fe(0)13 +(:)g(:)g(:)39 b Fb(18)150 1699 y Fr(0)150 1815 y Fe(0)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fb(17)150 +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fb(18)150 2049 y Fr(A)150 2166 y Fe(auto_resume)24 b Fc(:)13 b(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(92)150 +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(94)150 2409 y Fr(B)150 2525 y Fe(BASH)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 -b Fb(61)150 2612 y Fe(BASH_ALIASES)22 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g +b Fb(63)150 2612 y Fe(BASH_ALIASES)22 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(62)150 2700 +g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(64)150 2700 y Fe(BASH_ARGC)9 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(62)150 2787 y +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(64)150 2787 y Fe(BASH_ARGV)9 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(62)150 2874 y Fe(BASH_CMDS)9 +g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(64)150 2874 y Fe(BASH_CMDS)9 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)36 b Fb(62)150 2962 y Fe(BASH_COMMAND)22 +g(:)g(:)g(:)36 b Fb(64)150 2962 y Fe(BASH_COMMAND)22 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 -b Fb(62)150 3049 y Fe(BASH_ENV)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g +b Fb(64)150 3049 y Fe(BASH_ENV)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b -Fb(62)150 3137 y Fe(BASH_EXECUTION_STRING)13 b Fc(:)18 +Fb(64)150 3137 y Fe(BASH_EXECUTION_STRING)13 b Fc(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)39 b Fb(62)150 3224 y Fe(BASH_LINENO)24 +g(:)g(:)g(:)h(:)f(:)39 b Fb(64)150 3224 y Fe(BASH_LINENO)24 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -48 b Fb(63)150 3311 y Fe(BASH_REMATCH)22 b Fc(:)13 b(:)g(:)g(:)g(:)g(:) +48 b Fb(65)150 3311 y Fe(BASH_REMATCH)22 b Fc(:)13 b(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(63)150 +(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(65)150 3399 y Fe(BASH_SOURCE)24 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(63)150 3486 y Fe(BASH_SUBSHELL)16 +(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(65)150 3486 y Fe(BASH_SUBSHELL)16 b Fc(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 -b Fb(63)150 3573 y Fe(BASH_VERSINFO)16 b Fc(:)g(:)e(:)f(:)g(:)g(:)g(:)g +b Fb(65)150 3573 y Fe(BASH_VERSINFO)16 b Fc(:)g(:)e(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fb(63)150 3661 y Fe(BASH_VERSION)22 +h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fb(65)150 3661 y Fe(BASH_VERSION)22 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 -b Fb(63)150 3748 y Fe(BASH_XTRACEFD)16 b Fc(:)g(:)e(:)f(:)g(:)g(:)g(:)g +b Fb(65)150 3748 y Fe(BASH_XTRACEFD)16 b Fc(:)g(:)e(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fb(63)150 3835 y Fe(BASHOPTS)12 +h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fb(65)150 3835 y Fe(BASHOPTS)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)38 b Fb(62)150 3923 y Fe(BASHPID)15 b +(:)g(:)h(:)f(:)38 b Fb(64)150 3923 y Fe(BASHPID)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)41 b Fb(62)150 4010 y Fe(bell-style)7 +f(:)g(:)g(:)g(:)41 b Fb(64)150 4010 y Fe(bell-style)7 b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)33 b Fb(97)150 4098 y Fe(bind-tty-special-chars)10 +f(:)g(:)33 b Fb(99)150 4098 y Fe(bind-tty-special-chars)10 b Fc(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(97)150 4350 y Fr(C)150 +(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(99)150 4350 y Fr(C)150 4466 y Fe(CDPATH)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(61)150 +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(63)150 4554 y Fe(COLUMNS)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fb(64)150 +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fb(66)150 4641 y Fe(comment-begin)16 b Fc(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)43 b Fb(97)150 4728 y Fe(COMP_CWORD)7 +g(:)g(:)g(:)g(:)43 b Fb(99)150 4728 y Fe(COMP_CWORD)7 b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)33 b Fb(64)150 4816 y Fe(COMP_KEY)12 b Fc(:)j(:)e(:)g(:)g(:)g +f(:)g(:)33 b Fb(66)150 4816 y Fe(COMP_KEY)12 b Fc(:)j(:)e(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 -b Fb(64)150 4903 y Fe(COMP_LINE)9 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g +b Fb(66)150 4903 y Fe(COMP_LINE)9 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b -Fb(64)150 4991 y Fe(COMP_POINT)7 b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:) +Fb(66)150 4991 y Fe(COMP_POINT)7 b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fb(64)150 +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fb(66)150 5078 y Fe(COMP_TYPE)9 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(64)150 5165 +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(66)150 5165 y Fe(COMP_WORDBREAKS)11 b Fc(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)38 b Fb(64)150 5253 y Fe(COMP_WORDS)7 b Fc(:)15 +g(:)g(:)38 b Fb(66)150 5253 y Fe(COMP_WORDS)7 b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -33 b Fb(64)150 5340 y Fe(completion-display-width)28 +33 b Fb(66)150 5340 y Fe(completion-display-width)28 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)49 b Fb(97)2025 299 y Fe(completion-ignore-case)10 +(:)g(:)g(:)49 b Fb(99)2025 299 y Fe(completion-ignore-case)10 b Fc(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)37 b Fb(97)2025 387 y Fe -(completion-prefix-display-leng)q(th)25 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)46 b Fb(97)2025 475 y Fe(completion-query-items)10 -b Fc(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)37 b Fb(97)2025 564 y Fe(COMPREPLY)9 +(:)g(:)h(:)f(:)g(:)g(:)37 b Fb(99)2025 387 y Fe(completion-map-case)18 +b Fc(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(99)2025 474 y +Fe(completion-prefix-display-leng)q(th)25 b Fc(:)13 b(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)46 b Fb(99)2025 562 y Fe(completion-query-items)8 +b Fc(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(100)2025 649 y Fe(COMPREPLY)9 b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)36 b Fb(65)2025 652 y Fe(convert-meta)21 -b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 -b Fb(98)2025 740 y Fe(COPROC)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 -b Fb(65)2025 979 y Fr(D)2025 1097 y Fe(DIRSTACK)12 b +f(:)g(:)g(:)36 b Fb(67)2025 737 y Fe(convert-meta)17 +b Fc(:)e(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 +b Fb(100)2025 825 y Fe(COPROC)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 +b Fb(67)2025 1060 y Fr(D)2025 1177 y Fe(DIRSTACK)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)39 b Fb(65)2025 1186 y Fe(disable-completion)25 -b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(98)2025 -1443 y Fr(E)2025 1561 y Fe(editing-mode)21 b Fc(:)14 -b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 -b Fb(98)2025 1650 y Fe(EMACS)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 -b Fb(65)2025 1738 y Fe(enable-keypad)16 b Fc(:)g(:)d(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(98)2025 1826 y -Fe(ENV)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 -b Fb(65)2025 1915 y Fe(EUID)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 -b Fb(65)2025 2003 y Fe(expand-tilde)21 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g +g(:)g(:)g(:)39 b Fb(67)2025 1264 y Fe(disable-completion)22 +b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fb(100)2025 1518 +y Fr(E)2025 1635 y Fe(editing-mode)17 b Fc(:)e(:)f(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fb(98)2025 2260 -y Fr(F)2025 2379 y Fe(FCEDIT)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(100)2025 1723 y Fe(EMACS)21 +b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(67)2025 1810 y Fe(enable-keypad)14 +b Fc(:)i(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41 +b Fb(100)2025 1898 y Fe(ENV)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)34 b Fb(67)2025 1985 y Fe(EUID)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +49 b Fb(67)2025 2073 y Fe(expand-tilde)17 b Fc(:)e(:)f(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(100)2025 2327 +y Fr(F)2025 2444 y Fe(FCEDIT)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 -b Fb(65)2025 2467 y Fe(FIGNORE)15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g +b Fb(67)2025 2531 y Fe(FIGNORE)15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 -b Fb(65)2025 2555 y Fe(FUNCNAME)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f +b Fb(67)2025 2619 y Fe(FUNCNAME)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b +Fb(67)2025 2707 y Fe(FUNCNEST)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b -Fb(65)2025 2794 y Fr(G)2025 2912 y Fe(GLOBIGNORE)7 b +Fb(67)2025 2942 y Fr(G)2025 3059 y Fe(GLOBIGNORE)7 b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)33 b Fb(65)2025 3001 y Fe(GROUPS)17 b Fc(:)d(:)g(:)f(:)g(:)g(:) +g(:)h(:)33 b Fb(67)2025 3146 y Fe(GROUPS)17 b Fc(:)d(:)g(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 -b Fb(65)2025 3239 y Fr(H)2025 3358 y Fe(histchars)9 b +b Fb(67)2025 3381 y Fr(H)2025 3498 y Fe(histchars)9 b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)36 b Fb(65)2025 3446 y Fe(HISTCMD)15 b Fc(:)f(:)f(:)g(:)g +f(:)g(:)g(:)36 b Fb(68)2025 3586 y Fe(HISTCMD)15 b Fc(:)f(:)f(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 -b Fb(66)2025 3534 y Fe(HISTCONTROL)24 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g +b Fb(68)2025 3674 y Fe(HISTCONTROL)24 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fb(66)2025 -3623 y Fe(HISTFILE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fb(68)2025 +3761 y Fe(HISTFILE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fb(66)2025 3711 +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fb(68)2025 3849 y Fe(HISTFILESIZE)21 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)45 b Fb(66)2025 3799 y Fe(HISTIGNORE)7 +(:)g(:)g(:)g(:)h(:)45 b Fb(68)2025 3936 y Fe(HISTIGNORE)7 b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)33 b Fb(66)2025 3887 y Fe(history-preserve-point)10 -b Fc(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)37 b Fb(98)2025 3976 y Fe(history-size)21 -b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 -b Fb(98)2025 4064 y Fe(HISTSIZE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b -Fb(66)2025 4152 y Fe(HISTTIMEFORMAT)14 b Fc(:)i(:)d(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(67)2025 4241 y Fe(HOME)23 +g(:)h(:)33 b Fb(68)2025 4024 y Fe(history-preserve-point)8 +b Fc(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(100)2025 4112 y Fe(history-size)17 +b Fc(:)e(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 +b Fb(101)2025 4199 y Fe(HISTSIZE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 +b Fb(69)2025 4287 y Fe(HISTTIMEFORMAT)14 b Fc(:)i(:)d(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(69)2025 4375 y Fe(HOME)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(61)2025 4329 -y Fe(horizontal-scroll-mode)10 b Fc(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 -b Fb(99)2025 4417 y Fe(HOSTFILE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b -Fb(67)2025 4506 y Fe(HOSTNAME)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(63)2025 4462 +y Fe(horizontal-scroll-mode)8 b Fc(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 +b Fb(101)2025 4550 y Fe(HOSTFILE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 +b Fb(69)2025 4637 y Fe(HOSTNAME)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b -Fb(67)2025 4594 y Fe(HOSTTYPE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f +Fb(69)2025 4725 y Fe(HOSTTYPE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b -Fb(67)2025 4833 y Fr(I)2025 4951 y Fe(IFS)8 b Fc(:)13 +Fb(69)2025 4960 y Fr(I)2025 5077 y Fe(IFS)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(61)2025 5039 +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(63)2025 5165 y Fe(IGNOREEOF)9 b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fb(67)2025 5128 y -Fe(input-meta)7 b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(99)2025 5216 y Fe(INPUTRC)15 +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fb(69)2025 5252 y +Fe(input-meta)24 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)49 b Fb(101)2025 5340 y Fe(INPUTRC)15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)41 b Fb(67)2025 5304 y Fe(isearch-terminators)18 -b Fc(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(99)p eop end -%%Page: 154 160 -TeXDict begin 154 159 bop 150 -116 a Ft(154)2527 b(Bash)31 -b(Reference)g(Man)m(ual)150 299 y Fr(K)150 416 y Fe(keymap)17 -b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(99)150 670 y Fr(L)150 -787 y Fe(LANG)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 -b Fb(67)150 875 y Fe(LC_ALL)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 -b Fb(67)150 962 y Fe(LC_COLLATE)7 b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)41 b Fb(69)p eop end +%%Page: 156 162 +TeXDict begin 156 161 bop 150 -116 a Ft(156)2527 b(Bash)31 +b(Reference)g(Man)m(ual)150 299 y Fe(isearch-terminators)16 +b Fc(:)h(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fb(101)150 532 y Fr(K)150 +648 y Fe(keymap)15 b Fc(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42 b Fb(101)150 900 +y Fr(L)150 1017 y Fe(LANG)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 +b Fb(69)150 1104 y Fe(LC_ALL)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 +b Fb(69)150 1191 y Fe(LC_COLLATE)7 b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fb(67)150 -1050 y Fe(LC_CTYPE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fb(69)150 +1278 y Fe(LC_CTYPE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fb(67)150 1138 +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fb(69)150 1366 y Fe(LC_MESSAGES)13 b Fc(:)j(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)40 b Fb(7,)26 b(67)150 1225 y Fe(LC_NUMERIC)7 +(:)g(:)g(:)40 b Fb(7,)26 b(70)150 1453 y Fe(LC_NUMERIC)7 b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)33 b Fb(67)150 1313 y Fe(LINENO)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g +f(:)g(:)33 b Fb(70)150 1540 y Fe(LINENO)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 -b Fb(68)150 1401 y Fe(LINES)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g +b Fb(70)150 1627 y Fe(LINES)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 -b Fb(68)150 1636 y Fr(M)150 1753 y Fe(MACHTYPE)12 b Fc(:)j(:)e(:)g(:)g +b Fb(70)150 1861 y Fr(M)150 1977 y Fe(MACHTYPE)12 b Fc(:)j(:)e(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 -b Fb(68)150 1841 y Fe(MAIL)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g +b Fb(70)150 2064 y Fe(MAIL)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 -b Fb(61)150 1928 y Fe(MAILCHECK)9 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g +b Fb(63)150 2152 y Fe(MAILCHECK)9 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b -Fb(68)150 2016 y Fe(MAILPATH)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:) +Fb(70)150 2239 y Fe(MAILPATH)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fb(61)150 -2104 y Fe(MAPFILE)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fb(63)150 +2326 y Fe(MAPFILE)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fb(68)150 -2191 y Fe(mark-modified-lines)18 b Fc(:)g(:)13 b(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 -b Fb(99)150 2279 y Fe(mark-symlinked-directories)18 b -Fc(:)g(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 -b Fb(99)150 2367 y Fe(match-hidden-files)25 b Fc(:)13 -b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(99)150 2454 y -Fe(meta-flag)9 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(99)150 2708 y Fr(O)150 -2825 y Fe(OLDPWD)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(68)150 -2913 y Fe(OPTARG)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(61)150 -3001 y Fe(OPTERR)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(68)150 -3088 y Fe(OPTIND)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(61)150 -3176 y Fe(OSTYPE)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(68)150 -3264 y Fe(output-meta)24 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(99)150 3518 y Fr(P)150 -3635 y Fe(page-completions)7 b Fc(:)16 b(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)33 b Fb(100)150 3722 y Fe(PATH)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)49 b Fb(61)150 3810 y Fe(PIPESTATUS)7 b Fc(:)15 b(:)e(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 -b Fb(68)150 3898 y Fe(POSIXLY_CORRECT)11 b Fc(:)17 b(:)c(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(68)2025 299 y Fe(PPID)23 -b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(68)2025 386 y -Fe(PROMPT_COMMAND)14 b Fc(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fb(70)150 +2413 y Fe(mark-modified-lines)16 b Fc(:)h(:)d(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 +b Fb(101)150 2501 y Fe(mark-symlinked-directories)16 +b Fc(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +42 b Fb(101)150 2588 y Fe(match-hidden-files)23 b Fc(:)13 +b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(101)150 2675 y Fe(meta-flag)7 +b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)34 b Fb(101)150 2927 y Fr(O)150 3043 y Fe(OLDPWD)17 +b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(70)150 3131 y Fe(OPTARG)17 +b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(63)150 3218 y Fe(OPTERR)17 +b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(70)150 3305 y Fe(OPTIND)17 +b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(63)150 3392 y Fe(OSTYPE)17 +b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(70)150 3480 y Fe(output-meta)22 +b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46 +b Fb(102)150 3732 y Fr(P)150 3848 y Fe(page-completions)7 +b Fc(:)16 b(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(102)150 +3935 y Fe(PATH)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 +b Fb(63)150 4022 y Fe(PIPESTATUS)7 b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)40 b Fb(68)2025 473 y Fe(PROMPT_DIRTRIM)14 b -Fc(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 -b Fb(68)2025 561 y Fe(PS1)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 -b Fb(61)2025 648 y Fe(PS2)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 -b Fb(61)2025 735 y Fe(PS3)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 -b Fb(68)2025 823 y Fe(PS4)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fb(70)2025 +299 y Fe(POSIXLY_CORRECT)11 b Fc(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)38 b Fb(70)2025 387 y Fe(PPID)23 b Fc(:)13 +b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(70)2025 475 y Fe(PROMPT_COMMAND)14 +b Fc(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 +b Fb(70)2025 563 y Fe(PROMPT_DIRTRIM)14 b Fc(:)i(:)d(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(70)2025 651 y Fe(PS1)8 +b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(63)2025 +738 y Fe(PS2)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 +b Fb(63)2025 826 y Fe(PS3)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 -b Fb(69)2025 910 y Fe(PWD)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +b Fb(71)2025 914 y Fe(PS4)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 -b Fb(69)2025 1143 y Fr(R)2025 1259 y Fe(RANDOM)17 b Fc(:)d(:)g(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)44 b Fb(69)2025 1347 y Fe(READLINE_LINE)16 b Fc(:)g(:)d(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(69)2025 1434 -y Fe(READLINE_POINT)14 b Fc(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +b Fb(71)2025 1002 y Fe(PWD)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +34 b Fb(71)2025 1239 y Fr(R)2025 1356 y Fe(RANDOM)17 +b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(71)2025 1444 y Fe(READLINE_LINE)16 +b Fc(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 +b Fb(71)2025 1532 y Fe(READLINE_POINT)14 b Fc(:)i(:)d(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(71)2025 1620 y Fe(REPLY)21 +b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(71)2025 1708 y Fe +(revert-all-at-newline)11 b Fc(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 +b Fb(102)2025 1945 y Fr(S)2025 2062 y Fe(SECONDS)15 b +Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)40 b Fb(69)2025 1521 y Fe(REPLY)21 b Fc(:)13 +h(:)f(:)g(:)g(:)41 b Fb(71)2025 2150 y Fe(SHELL)21 b +Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(71)2025 2238 y Fe(SHELLOPTS)9 +b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) +f(:)g(:)g(:)36 b Fb(71)2025 2326 y Fe(SHLVL)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)46 b Fb(69)2025 1608 y Fe(revert-all-at-newline)11 +g(:)g(:)h(:)f(:)g(:)46 b Fb(71)2025 2414 y Fe(show-all-if-ambiguous)11 b Fc(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)38 b Fb(100)2025 1842 y Fr(S)2025 -1958 y Fe(SECONDS)15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b Fb(69)2025 -2045 y Fe(SHELL)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b -Fb(69)2025 2132 y Fe(SHELLOPTS)9 b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fb(69)2025 -2220 y Fe(SHLVL)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)38 b Fb(102)2025 2502 y Fe +(show-all-if-unmodified)8 b Fc(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b +Fb(102)2025 2590 y Fe(skip-completed-text)16 b Fc(:)h(:)c(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) +g(:)43 b Fb(102)2025 2845 y Fr(T)2025 2963 y Fe(TEXTDOMAIN)9 +b Fc(:)15 b(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)36 b Fb(7)2025 3050 y Fe(TEXTDOMAINDIR)21 +b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)46 +b Fb(7)2025 3138 y Fe(TIMEFORMAT)7 b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(71)2025 +3226 y Fe(TMOUT)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b -Fb(69)2025 2307 y Fe(show-all-if-ambiguous)11 b Fc(:)18 -b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)38 b Fb(100)2025 2394 y Fe(show-all-if-unmodified)8 -b Fc(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(100)2025 2482 y Fe(skip-completed-text) -16 b Fc(:)h(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(100)2025 2734 -y Fr(T)2025 2850 y Fe(TEXTDOMAIN)9 b Fc(:)15 b(:)e(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b -Fb(7)2025 2937 y Fe(TEXTDOMAINDIR)21 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)46 b Fb(7)2025 3024 -y Fe(TIMEFORMAT)7 b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +Fb(72)2025 3314 y Fe(TMPDIR)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(69)2025 3112 y Fe(TMOUT)21 -b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(70)2025 3199 y Fe(TMPDIR)17 -b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(70)2025 3432 y Fr(U)2025 -3548 y Fe(UID)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 -b Fb(70)2025 3782 y Fr(V)2025 3898 y Fe(visible-stats)14 -b Fc(:)i(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41 -b Fb(100)150 4138 y Fr(D.4)68 b(F)-11 b(unction)44 b(Index)150 -4374 y(A)150 4497 y Fe(abort)27 b(\(C-g\))9 b Fc(:)14 -b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 -b Fb(112)150 4587 y Fe(accept-line)28 b(\(Newline)g(or)e(Return\))e -Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)50 b -Fb(107)150 4678 y Fe(alias-expand-line)29 b(\(\))21 b -Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(114)150 4946 y Fr(B)150 -5069 y Fe(backward-char)29 b(\(C-b\))23 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -49 b Fb(106)150 5159 y Fe(backward-delete-char)30 b(\(Rubout\))14 -b Fc(:)h(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 -b Fb(108)150 5250 y Fe(backward-kill-line)30 b(\(C-x)c(Rubout\))16 -b Fc(:)f(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)43 b Fb(109)150 -5340 y Fe(backward-kill-word)30 b(\(\))18 b Fc(:)13 b(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 -b Fb(109)2025 4374 y Fe(backward-kill-word)29 b(\(M-DEL\))24 +g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 +b Fb(72)2025 3551 y Fr(U)2025 3668 y Fe(UID)8 b Fc(:)13 +b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(72)2025 3905 +y Fr(V)2025 4022 y Fe(visible-stats)14 b Fc(:)i(:)d(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)41 b Fb(102)150 4255 y Fr(D.4)68 +b(F)-11 b(unction)44 b(Index)150 4492 y(A)150 4610 y +Fe(abort)27 b(\(C-g\))9 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(114)150 4698 y Fe(accept-line)28 +b(\(Newline)g(or)e(Return\))e Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)50 b Fb(109)150 4787 y Fe(alias-expand-line)29 +b(\(\))21 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(116)150 +5045 y Fr(B)150 5163 y Fe(backward-char)29 b(\(C-b\))23 +b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)49 b Fb(108)150 5252 y +Fe(backward-delete-char)30 b(\(Rubout\))14 b Fc(:)h(:)f(:)f(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b Fb(110)150 5340 y Fe +(backward-kill-line)30 b(\(C-x)c(Rubout\))16 b Fc(:)f(:)e(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)43 b Fb(111)2025 4492 y Fe(backward-kill-word)29 +b(\(\))18 b Fc(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(111)2025 4582 +y Fe(backward-kill-word)29 b(\(M-DEL\))24 b Fc(:)13 b(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fb(111)2025 +4673 y Fe(backward-word)28 b(\(M-b\))c Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 +b Fb(108)2025 4764 y Fe(beginning-of-history)30 b(\(M-<\))23 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -49 b Fb(109)2025 4467 y Fe(backward-word)28 b(\(M-b\))c -Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 b Fb(106)2025 4560 -y Fe(beginning-of-history)30 b(\(M-<\))23 b Fc(:)13 b(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fb(107)2025 -4653 y Fe(beginning-of-line)29 b(\(C-a\))13 b Fc(:)h(:)f(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40 -b Fb(106)2025 4934 y Fr(C)2025 5061 y Fe(call-last-kbd-macro)30 -b(\(C-x)c(e\))9 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)36 b Fb(112)2025 5154 y Fe(capitalize-word)29 -b(\(M-c\))18 b Fc(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(109)2025 5247 -y Fe(character-search)29 b(\(C-]\))15 b Fc(:)f(:)g(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 -b Fb(113)2025 5340 y Fe(character-search-backward)31 -b(\(M-C-]\))23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)48 -b Fb(113)p eop end -%%Page: 155 161 -TeXDict begin 155 160 bop 150 -116 a Ft(App)s(endix)29 -b(D:)i(Indexes)2623 b(155)150 299 y Fe(clear-screen)28 +49 b Fb(109)2025 4855 y Fe(beginning-of-line)29 b(\(C-a\))13 +b Fc(:)h(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)40 b Fb(108)2025 5126 y Fr(C)2025 5249 y +Fe(call-last-kbd-macro)30 b(\(C-x)c(e\))9 b Fc(:)14 b(:)f(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(114)2025 +5340 y Fe(capitalize-word)29 b(\(M-c\))18 b Fc(:)c(:)f(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 +b Fb(111)p eop end +%%Page: 157 163 +TeXDict begin 157 162 bop 150 -116 a Ft(App)s(endix)29 +b(D:)i(Indexes)2623 b(157)150 299 y Fe(character-search)29 +b(\(C-]\))15 b Fc(:)g(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)42 b Fb(115)150 387 y +Fe(character-search-backward)31 b(\(M-C-]\))23 b Fc(:)13 +b(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fb(115)150 474 y Fe(clear-screen)28 b(\(C-l\))8 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 -b Fb(106)150 388 y Fe(complete)27 b(\(TAB\))20 b Fc(:)13 +b Fb(108)150 562 y Fe(complete)27 b(\(TAB\))20 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(110)150 -478 y Fe(complete-command)29 b(\(M-!\))15 b Fc(:)g(:)e(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(112)150 +650 y Fe(complete-command)29 b(\(M-!\))15 b Fc(:)g(:)e(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)42 -b Fb(111)150 567 y Fe(complete-filename)29 b(\(M-/\))13 +b Fb(113)150 738 y Fe(complete-filename)29 b(\(M-/\))13 b Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)39 b Fb(111)150 657 y Fe(complete-hostname)29 +g(:)h(:)f(:)39 b Fb(113)150 825 y Fe(complete-hostname)29 b(\(M-@\))13 b Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(111)150 746 y Fe +(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(113)150 913 y Fe (complete-into-braces)30 b(\(M-{\))23 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(112)150 -836 y Fe(complete-username)29 b(\(M-~\))13 b Fc(:)h(:)f(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 -b Fb(111)150 925 y Fe(complete-variable)29 b(\(M-$\))13 +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(114)150 +1001 y Fe(complete-username)29 b(\(M-~\))13 b Fc(:)h(:)f(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 +b Fb(113)150 1089 y Fe(complete-variable)29 b(\(M-$\))13 b Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)39 b Fb(111)150 1015 y Fe(copy-backward-word)30 +g(:)h(:)f(:)39 b Fb(113)150 1176 y Fe(copy-backward-word)30 b(\(\))18 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(110)150 1104 +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(112)150 1264 y Fe(copy-forward-word)29 b(\(\))21 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 -b Fb(110)150 1194 y Fe(copy-region-as-kill)30 b(\(\))15 +b Fb(112)150 1352 y Fe(copy-region-as-kill)30 b(\(\))15 b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)42 b Fb(110)150 1457 y Fr(D)150 1578 +g(:)g(:)g(:)g(:)42 b Fb(112)150 1606 y Fr(D)150 1724 y Fe(dabbrev-expand)29 b(\(\))11 b Fc(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)38 b Fb(112)150 1668 y Fe(delete-char)28 b(\(C-d\))11 +g(:)38 b Fb(114)150 1811 y Fe(delete-char)28 b(\(C-d\))11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(108)150 -1757 y Fe(delete-char-or-list)30 b(\(\))15 b Fc(:)f(:)f(:)g(:)g(:)g(:)g +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(110)150 +1899 y Fe(delete-char-or-list)30 b(\(\))15 b Fc(:)f(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)42 -b Fb(111)150 1847 y Fe(delete-horizontal-space)31 b(\(\))22 +b Fb(113)150 1987 y Fe(delete-horizontal-space)31 b(\(\))22 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -49 b Fb(109)150 1936 y Fe(digit-argument)29 b(\()p Fd(M-0)p +49 b Fb(111)150 2075 y Fe(digit-argument)29 b(\()p Fd(M-0)p Fe(,)e Fd(M-1)p Fe(,)f(...)g Fd(M--)p Fe(\))d Fc(:)13 -b(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(110)150 2026 y Fe +b(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(112)150 2162 y Fe (display-shell-version)30 b(\(C-x)d(C-v\))16 b Fc(:)e(:)f(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)43 b Fb(114)150 2115 y Fe(do-uppercase-version) +(:)f(:)g(:)g(:)g(:)g(:)43 b Fb(116)150 2250 y Fe(do-uppercase-version) 30 b(\(M-a,)d(M-b,)f(M-)p Fd(x)9 b Fe(,)27 b(...\))325 -2202 y Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +2337 y Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fb(112)150 2292 +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fb(114)150 2425 y Fe(downcase-word)29 b(\(M-l\))23 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)49 -b Fb(108)150 2381 y Fe(dump-functions)29 b(\(\))11 b +b Fb(110)150 2513 y Fe(dump-functions)29 b(\(\))11 b Fc(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(113)150 -2471 y Fe(dump-macros)28 b(\(\))19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(115)150 +2600 y Fe(dump-macros)28 b(\(\))19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)45 b Fb(114)150 2560 y Fe(dump-variables)29 +g(:)g(:)h(:)f(:)g(:)45 b Fb(116)150 2688 y Fe(dump-variables)29 b(\(\))11 b Fc(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 -b Fb(113)150 2650 y Fe(dynamic-complete-history)31 b(\(M-TAB\))7 -b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(112)150 -2913 y Fr(E)150 3034 y Fe(edit-and-execute-command)e(\(C-xC-e\))23 -b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fb(114)150 -3123 y Fe(end-kbd-macro)29 b(\(C-x)d(\)\))7 b Fc(:)14 +b Fb(115)150 2776 y Fe(dynamic-complete-history)31 b(\(M-TAB\))7 +b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(114)150 +3030 y Fr(E)150 3148 y Fe(edit-and-execute-command)e(\(C-xC-e\))23 +b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fb(116)150 +3235 y Fe(end-kbd-macro)29 b(\(C-x)d(\)\))7 b Fc(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)34 b Fb(112)150 3213 y Fe(end-of-history)29 +(:)g(:)h(:)f(:)g(:)34 b Fb(114)150 3323 y Fe(end-of-history)29 b(\(M->\))21 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(107)150 -3302 y Fe(end-of-line)28 b(\(C-e\))11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(109)150 +3411 y Fe(end-of-line)28 b(\(C-e\))11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)38 b Fb(106)150 3392 y Fe(exchange-point-and-mark)31 +g(:)g(:)38 b Fb(108)150 3499 y Fe(exchange-point-and-mark)31 b(\(C-x)26 b(C-x\))11 b Fc(:)j(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)38 -b Fb(113)150 3656 y Fr(F)150 3776 y Fe(forward-backward-delete-char)32 +b Fb(115)150 3753 y Fr(F)150 3870 y Fe(forward-backward-delete-char)32 b(\(\))9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 -b Fb(108)150 3866 y Fe(forward-char)28 b(\(C-f\))8 b +b Fb(110)150 3958 y Fe(forward-char)28 b(\(C-f\))8 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(106)150 -3955 y Fe(forward-search-history)c(\(C-s\))17 b Fc(:)d(:)f(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(107)150 4045 +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(108)150 +4046 y Fe(forward-search-history)c(\(C-s\))17 b Fc(:)d(:)f(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(109)150 4134 y Fe(forward-word)28 b(\(M-f\))8 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)35 b Fb(106)150 4298 y Fr(G)150 4419 y Fe(glob-complete-word)30 +(:)35 b Fb(108)150 4378 y Fr(G)150 4495 y Fe(glob-complete-word)30 b(\(M-g\))10 b Fc(:)k(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(114)150 4508 y Fe(glob-expand-word)29 +(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(116)150 4583 y Fe(glob-expand-word)29 b(\(C-x)e(*\))17 b Fc(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(114)150 4598 y Fe +(:)g(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(116)150 4670 y Fe (glob-list-expansions)30 b(\(C-x)d(g\))7 b Fc(:)13 b(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(114)150 4861 -y Fr(H)150 4982 y Fe(history-and-alias-expand-line)f(\(\))7 -b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(114)150 -5071 y Fe(history-expand-line)d(\(M-^\))8 b Fc(:)14 b(:)f(:)g(:)g(:)g +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(116)150 4925 +y Fr(H)150 5042 y Fe(history-and-alias-expand-line)f(\(\))7 +b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(116)150 +5130 y Fe(history-expand-line)d(\(M-^\))8 b Fc(:)14 b(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 -b Fb(114)150 5161 y Fe(history-search-backward)d(\(\))22 +b Fb(116)150 5217 y Fe(history-search-backward)d(\(\))22 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -49 b Fb(107)150 5250 y Fe(history-search-forward)31 b(\(\))8 +49 b Fb(109)150 5305 y Fe(history-search-forward)31 b(\(\))8 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)34 b Fb(107)2025 299 y Fr(I)2025 416 y Fe(insert-comment)29 +(:)g(:)34 b Fb(109)2025 299 y Fr(I)2025 416 y Fe(insert-comment)29 b(\(M-#\))21 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(113)2025 +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(115)2025 503 y Fe(insert-completions)29 b(\(M-*\))10 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)37 b Fb(111)2025 591 y Fe(insert-last-argument)30 +(:)37 b Fb(113)2025 591 y Fe(insert-last-argument)30 b(\(M-.)c(or)g(M-_\))18 b Fc(:)c(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)45 -b Fb(114)2025 844 y Fr(K)2025 961 y Fe(kill-line)27 b(\(C-k\))16 +b Fb(116)2025 844 y Fr(K)2025 961 y Fe(kill-line)27 b(\(C-k\))16 b Fc(:)f(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b -Fb(109)2025 1048 y Fe(kill-region)28 b(\(\))19 b Fc(:)13 +Fb(111)2025 1048 y Fe(kill-region)28 b(\(\))19 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fb(110)2025 +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fb(112)2025 1136 y Fe(kill-whole-line)29 b(\(\))8 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)35 b Fb(109)2025 1224 y Fe(kill-word)27 b(\(M-d\))16 +f(:)g(:)35 b Fb(111)2025 1224 y Fe(kill-word)27 b(\(M-d\))16 b Fc(:)f(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b -Fb(109)2025 1467 y Fr(M)2025 1583 y Fe(magic-space)28 +Fb(111)2025 1467 y Fr(M)2025 1583 y Fe(magic-space)28 b(\(\))19 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 -b Fb(114)2025 1671 y Fe(menu-complete)28 b(\(\))13 b +b Fb(116)2025 1671 y Fe(menu-complete)28 b(\(\))13 b Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(111)2025 +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(113)2025 1758 y Fe(menu-complete-backward)30 b(\(\))8 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)34 -b Fb(111)2025 2012 y Fr(N)2025 2129 y Fe(next-history)28 +b Fb(113)2025 2012 y Fr(N)2025 2129 y Fe(next-history)28 b(\(C-n\))8 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 -b Fb(107)2025 2216 y Fe(non-incremental-forward-search)q(-hist)q(ory)d +b Fb(109)2025 2216 y Fe(non-incremental-forward-search)q(-hist)q(ory)d (\(M-n\))2200 2303 y Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b -Fb(107)2025 2391 y Fe(non-incremental-reverse-search)q(-hist)q(ory)32 +Fb(109)2025 2391 y Fe(non-incremental-reverse-search)q(-hist)q(ory)32 b(\(M-p\))2200 2478 y Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b -Fb(107)2025 2713 y Fr(O)2025 2829 y Fe(operate-and-get-next)30 +Fb(109)2025 2713 y Fr(O)2025 2829 y Fe(operate-and-get-next)30 b(\(C-o\))23 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)49 b Fb(114)2025 2917 y Fe(overwrite-mode)29 +g(:)g(:)g(:)49 b Fb(116)2025 2917 y Fe(overwrite-mode)29 b(\(\))11 b Fc(:)i(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 -b Fb(109)2025 3160 y Fr(P)2025 3277 y Fe(possible-command-completions) +b Fb(111)2025 3160 y Fr(P)2025 3277 y Fe(possible-command-completions) 32 b(\(C-x)26 b(!\))21 b Fc(:)13 b(:)g(:)h(:)f(:)47 b -Fb(112)2025 3364 y Fe(possible-completions)30 b(\(M-?\))23 +Fb(114)2025 3364 y Fe(possible-completions)30 b(\(M-?\))23 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -49 b Fb(110)2025 3452 y Fe(possible-filename-completions)32 -b(\(C-x)26 b(/\))18 b Fc(:)c(:)f(:)g(:)45 b Fb(111)2025 +49 b Fb(112)2025 3452 y Fe(possible-filename-completions)32 +b(\(C-x)26 b(/\))18 b Fc(:)c(:)f(:)g(:)45 b Fb(113)2025 3539 y Fe(possible-hostname-completions)32 b(\(C-x)26 -b(@\))18 b Fc(:)c(:)f(:)g(:)45 b Fb(111)2025 3627 y Fe +b(@\))18 b Fc(:)c(:)f(:)g(:)45 b Fb(113)2025 3627 y Fe (possible-username-completions)32 b(\(C-x)26 b(~\))18 -b Fc(:)c(:)f(:)g(:)45 b Fb(111)2025 3715 y Fe +b Fc(:)c(:)f(:)g(:)45 b Fb(113)2025 3715 y Fe (possible-variable-completions)32 b(\(C-x)26 b($\))18 -b Fc(:)c(:)f(:)g(:)45 b Fb(111)2025 3802 y Fe(prefix-meta)28 +b Fc(:)c(:)f(:)g(:)45 b Fb(113)2025 3802 y Fe(prefix-meta)28 b(\(ESC\))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(:)38 -b Fb(112)2025 3890 y Fe(previous-history)29 b(\(C-p\))15 +b Fb(114)2025 3890 y Fe(previous-history)29 b(\(C-p\))15 b Fc(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)42 b Fb(107)2025 4143 y Fr(Q)2025 4260 +h(:)f(:)g(:)g(:)42 b Fb(109)2025 4143 y Fr(Q)2025 4260 y Fe(quoted-insert)28 b(\(C-q)f(or)f(C-v\))19 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)46 -b Fb(108)2025 4513 y Fr(R)2025 4630 y Fe(re-read-init-file)29 +b Fb(110)2025 4513 y Fr(R)2025 4630 y Fe(re-read-init-file)29 b(\(C-x)e(C-r\))9 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)36 b Fb(112)2025 4718 y Fe(redraw-current-line)30 +(:)g(:)h(:)f(:)g(:)36 b Fb(114)2025 4718 y Fe(redraw-current-line)30 b(\(\))15 b Fc(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fb(106)2025 4805 y Fe +(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fb(108)2025 4805 y Fe (reverse-search-history)30 b(\(C-r\))17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fb(107)2025 4893 y Fe(revert-line)28 +g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fb(109)2025 4893 y Fe(revert-line)28 b(\(M-r\))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(:)38 -b Fb(113)2025 5136 y Fr(S)2025 5252 y Fe(self-insert)28 +b Fb(115)2025 5136 y Fr(S)2025 5252 y Fe(self-insert)28 b(\(a,)e(b,)g(A,)g(1,)g(!,)g(...)q(\))7 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(108)2025 5340 y Fe(set-mark)27 +(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(110)2025 5340 y Fe(set-mark)27 b(\(C-@\))20 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 -b Fb(113)p eop end -%%Page: 156 162 -TeXDict begin 156 161 bop 150 -116 a Ft(156)2527 b(Bash)31 +b Fb(115)p eop end +%%Page: 158 164 +TeXDict begin 158 163 bop 150 -116 a Ft(158)2527 b(Bash)31 b(Reference)g(Man)m(ual)150 299 y Fe(shell-backward-word)f(\(\))15 b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)42 b Fb(106)150 390 y Fe(shell-expand-line)29 +g(:)g(:)g(:)g(:)42 b Fb(108)150 390 y Fe(shell-expand-line)29 b(\(M-C-e\))8 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(114)150 482 y Fe(shell-forward-word)c +(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(116)150 482 y Fe(shell-forward-word)c (\(\))18 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(106)150 573 y +f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(108)150 573 y Fe(shell-kill-word)29 b(\(\))8 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -35 b Fb(109)150 665 y Fe(skip-csi-sequence)29 b(\(\))21 +35 b Fb(111)150 665 y Fe(skip-csi-sequence)29 b(\(\))21 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(113)150 756 y Fe(start-kbd-macro)29 +(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(115)150 756 y Fe(start-kbd-macro)29 b(\(C-x)e(\(\))19 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(112)150 1020 +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(114)150 1020 y Fr(T)150 1145 y Fe(tilde-expand)28 b(\(M-&\))8 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(113)150 1236 y +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(115)150 1236 y Fe(transpose-chars)29 b(\(C-t\))18 b Fc(:)c(:)f(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 -b Fb(108)150 1328 y Fe(transpose-words)29 b(\(M-t\))18 +b Fb(110)150 1328 y Fe(transpose-words)29 b(\(M-t\))18 b Fc(:)c(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)44 b Fb(108)2025 299 y Fr(U)2025 +g(:)g(:)g(:)g(:)h(:)44 b Fb(110)2025 299 y Fr(U)2025 415 y Fe(undo)26 b(\(C-_)h(or)f(C-x)g(C-u\))c Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)48 b Fb(112)2025 502 y Fe(universal-argument)29 +(:)h(:)f(:)g(:)g(:)48 b Fb(114)2025 502 y Fe(universal-argument)29 b(\(\))18 b Fc(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(110)2025 589 y +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(112)2025 589 y Fe(unix-filename-rubout)30 b(\(\))13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40 -b Fb(109)2025 676 y Fe(unix-line-discard)29 b(\(C-u\))13 +b Fb(111)2025 676 y Fe(unix-line-discard)29 b(\(C-u\))13 b Fc(:)h(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)40 b Fb(109)2025 764 y Fe(unix-word-rubout)29 +g(:)g(:)g(:)40 b Fb(111)2025 764 y Fe(unix-word-rubout)29 b(\(C-w\))15 b Fc(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fb(109)2025 851 y +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fb(111)2025 851 y Fe(upcase-word)28 b(\(M-u\))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(:) -38 b Fb(108)2025 1102 y Fr(Y)2025 1218 y Fe(yank)26 b(\(C-y\))12 +38 b Fb(110)2025 1102 y Fr(Y)2025 1218 y Fe(yank)26 b(\(C-y\))12 b Fc(:)i(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)39 b Fb(110)2025 1306 y Fe(yank-last-arg)28 b(\(M-.)f(or)f(M-_\))19 +(:)39 b Fb(112)2025 1306 y Fe(yank-last-arg)28 b(\(M-.)f(or)f(M-_\))19 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)46 b Fb(108)2025 1393 y Fe(yank-nth-arg)28 b(\(M-C-y\))22 +(:)46 b Fb(110)2025 1393 y Fe(yank-nth-arg)28 b(\(M-C-y\))22 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(107)2025 1480 y Fe(yank-pop)27 +(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(109)2025 1480 y Fe(yank-pop)27 b(\(M-y\))20 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 -b Fb(110)150 1712 y Fr(D.5)68 b(Concept)45 b(Index)150 +b Fb(112)150 1712 y Fr(D.5)68 b(Concept)45 b(Index)150 1972 y(A)150 2090 y Fb(alias)27 b(expansion)18 b Fc(:)c(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(79)150 2179 +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(81)150 2179 y(arithmetic)26 b(ev)l(aluation)16 b Fc(:)e(:)f(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -43 b Fb(78)150 2267 y(arithmetic)26 b(expansion)d Fc(:)13 +43 b Fb(80)150 2267 y(arithmetic)26 b(expansion)d Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(23)150 2355 y(arithmetic,)27 +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(24)150 2355 y(arithmetic,)27 b(shell)17 b Fc(:)d(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 -b Fb(78)150 2443 y(arra)n(ys)15 b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) +b Fb(80)150 2443 y(arra)n(ys)15 b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)41 -b Fb(80)150 2699 y Fr(B)150 2817 y Fb(bac)n(kground)9 +b Fb(82)150 2699 y Fr(B)150 2817 y Fb(bac)n(kground)9 b Fc(:)j(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)35 b Fb(89)150 2905 y(Bash)26 b(con\014guration)d +(:)g(:)35 b Fb(91)150 2905 y(Bash)26 b(con\014guration)d Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(127)150 +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(129)150 2993 y(Bash)26 b(installation)c Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)46 b Fb(127)150 3081 y(Bourne)26 b(shell)13 +g(:)g(:)h(:)46 b Fb(129)150 3081 y(Bourne)26 b(shell)13 b Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)40 b Fb(5)150 3170 y(brace)26 b(expansion)20 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)47 -b Fb(18)150 3258 y(builtin)9 b Fc(:)k(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +b Fb(19)150 3258 y(builtin)9 b Fc(:)k(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(3)150 3496 y Fr(C)150 3615 y Fb(command)26 b(editing)15 b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42 -b Fb(94)150 3703 y(command)26 b(execution)d Fc(:)13 b(:)g(:)g(:)g(:)g +b Fb(96)150 3703 y(command)26 b(execution)d Fc(:)13 b(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)49 b Fb(30)150 3791 y(command)26 b(expansion)16 +h(:)f(:)g(:)g(:)49 b Fb(31)150 3791 y(command)26 b(expansion)16 b Fc(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)42 b Fb(29)150 +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)42 b Fb(30)150 3879 y(command)26 b(history)12 b Fc(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)39 b Fb(121)150 3968 y(command)26 b(searc)n(h)10 +g(:)g(:)39 b Fb(123)150 3968 y(command)26 b(searc)n(h)10 b Fc(:)j(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 -b Fb(30)150 4056 y(command)26 b(substitution)15 b Fc(:)e(:)g(:)g(:)g(:) +b Fb(31)150 4056 y(command)26 b(substitution)15 b Fc(:)e(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)41 b Fb(22)150 4144 y(command)26 b(timing)7 +(:)f(:)g(:)41 b Fb(24)150 4144 y(command)26 b(timing)7 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(8)150 4232 y(commands,)26 b(comp)r(ound)18 b Fc(:)c(:)f(:)g(:)g(:) @@ -16096,15 +16251,15 @@ b(grouping)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(13)150 4497 y(commands,)26 b(lists)6 b Fc(:)15 b(:)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(:)33 b Fb(8)150 -4585 y(commands,)26 b(lo)r(oping)18 b Fc(:)d(:)e(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)45 b Fb(9)150 4674 y(commands,)26 b(pip)r(elines)12 +g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(9)150 +4585 y(commands,)26 b(lo)r(oping)16 b Fc(:)f(:)e(:)g(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)42 b Fb(10)150 4674 y(commands,)26 b(pip)r(elines)12 b Fc(:)i(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fb(8)150 4762 y(commands,)26 b(shell)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)42 b Fb(7)150 4850 y(commands,)26 +f(:)g(:)g(:)g(:)g(:)42 b Fb(8)150 4850 y(commands,)26 b(simple)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fb(8)150 4938 y(commen)n(ts,)26 b(shell)7 b Fc(:)15 @@ -16112,10 +16267,10 @@ b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fb(7)150 5027 y(completion)27 b(builtins)15 b Fc(:)e(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)42 b Fb(117)150 5115 y(con\014guration)15 +g(:)g(:)g(:)g(:)42 b Fb(119)150 5115 y(con\014guration)15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 -b Fb(127)150 5203 y(con)n(trol)26 b(op)r(erator)21 b +b Fb(129)150 5203 y(con)n(trol)26 b(op)r(erator)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(3)150 5291 y(copro)r(cess)12 b Fc(:)i(:)g(:)f(:)g(:)g(:)g(:)g(:)g @@ -16124,46 +16279,46 @@ f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)38 b Fb(14)2025 1972 y Fr(D)2025 2094 y Fb(directory)26 b(stac)n(k)c Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 -b Fb(81)2025 2359 y Fr(E)2025 2481 y Fb(editing)26 b(command)g(lines)13 +b Fb(83)2025 2359 y Fr(E)2025 2481 y Fb(editing)26 b(command)g(lines)13 b Fc(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)39 b Fb(94)2025 2571 +h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)39 b Fb(96)2025 2571 y(en)n(vironmen)n(t)12 b Fc(:)g(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)39 b Fb(31)2025 2661 y(ev)l(aluation,)26 +g(:)g(:)g(:)g(:)g(:)g(:)39 b Fb(33)2025 2661 y(ev)l(aluation,)26 b(arithmetic)e Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)49 b -Fb(78)2025 2751 y(ev)n(en)n(t)24 b(designators)14 b Fc(:)h(:)e(:)g(:)g +Fb(80)2025 2751 y(ev)n(en)n(t)24 b(designators)14 b Fc(:)h(:)e(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)41 b Fb(123)2025 2841 y(execution)25 +h(:)f(:)g(:)g(:)g(:)g(:)g(:)41 b Fb(125)2025 2841 y(execution)25 b(en)n(vironmen)n(t)11 b Fc(:)i(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)37 -b Fb(30)2025 2931 y(exit)25 b(status)18 b Fc(:)c(:)f(:)g(:)g(:)g(:)h(:) +b Fb(32)2025 2931 y(exit)25 b(status)18 b Fc(:)c(:)f(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)45 b Fb(3,)26 -b(32)2025 3021 y(expansion)20 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g +b(33)2025 3021 y(expansion)20 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(17)2025 +f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(18)2025 3111 y(expansion,)26 b(arithmetic)12 b Fc(:)i(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)38 b Fb(23)2025 3201 y(expansion,)26 b(brace)10 b +f(:)38 b Fb(24)2025 3201 y(expansion,)26 b(brace)10 b Fc(:)j(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 -b Fb(18)2025 3291 y(expansion,)26 b(\014lename)12 b Fc(:)h(:)g(:)g(:)h +b Fb(19)2025 3291 y(expansion,)26 b(\014lename)12 b Fc(:)h(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)g(:)g(:)g(:)h(:)38 b Fb(24)2025 3381 y(expansion,)26 +g(:)g(:)g(:)g(:)g(:)h(:)38 b Fb(25)2025 3381 y(expansion,)26 b(parameter)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(:)g(:)h(:)40 -b Fb(19)2025 3471 y(expansion,)26 b(pathname)18 b Fc(:)13 +b Fb(21)2025 3471 y(expansion,)26 b(pathname)18 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45 b Fb(24)2025 3561 y(expansion,)26 +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45 b Fb(25)2025 3561 y(expansion,)26 b(tilde)8 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)34 b Fb(19)2025 3651 y(expressions,)27 b(arithmetic)7 +g(:)34 b Fb(20)2025 3651 y(expressions,)27 b(arithmetic)7 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(78)2025 3741 +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(80)2025 3741 y(expressions,)27 b(conditional)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)38 -b Fb(76)2025 4006 y Fr(F)2025 4128 y Fb(\014eld)15 b +b Fb(78)2025 4006 y Fr(F)2025 4128 y Fb(\014eld)15 b Fc(:)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(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)42 b Fb(3)2025 4218 @@ -16172,43 +16327,43 @@ g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)42 b Fb(3)2025 4308 y(\014lename)26 b(expansion)c Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)49 b Fb(24)2025 4398 y(foreground)23 b Fc(:)13 +(:)g(:)g(:)49 b Fb(25)2025 4398 y(foreground)23 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -49 b Fb(89)2025 4488 y(functions,)26 b(shell)21 b Fc(:)13 +49 b Fb(91)2025 4488 y(functions,)26 b(shell)21 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47 -b Fb(14)2025 4752 y Fr(H)2025 4874 y Fb(history)25 b(builtins)14 +b Fb(15)2025 4752 y Fr(H)2025 4874 y Fb(history)25 b(builtins)14 b Fc(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)41 -b Fb(121)2025 4964 y(history)25 b(ev)n(en)n(ts)19 b Fc(:)13 +b Fb(123)2025 4964 y(history)25 b(ev)n(en)n(ts)19 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46 -b Fb(123)2025 5054 y(history)25 b(expansion)8 b Fc(:)14 +b Fb(125)2025 5054 y(history)25 b(expansion)8 b Fc(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(123)2025 +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(125)2025 5145 y(history)25 b(list)c Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fb(121)2025 5235 +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fb(123)2025 5235 y(History)-6 b(,)25 b(ho)n(w)h(to)g(use)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)40 b Fb(120)p eop end -%%Page: 157 163 -TeXDict begin 157 162 bop 150 -116 a Ft(App)s(endix)29 -b(D:)i(Indexes)2623 b(157)150 299 y Fr(I)150 415 y Fb(iden)n(ti\014er) +g(:)g(:)g(:)40 b Fb(122)p eop end +%%Page: 159 165 +TeXDict begin 159 164 bop 150 -116 a Ft(App)s(endix)29 +b(D:)i(Indexes)2623 b(159)150 299 y Fr(I)150 415 y Fb(iden)n(ti\014er) 22 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)50 b Fb(3)150 502 y(initialization)28 b(\014le,)e(readline)13 b Fc(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(96)150 +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(98)150 589 y(installation)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)40 b Fb(127)150 676 y(in)n(teraction,)27 +f(:)g(:)g(:)g(:)g(:)g(:)40 b Fb(129)150 676 y(in)n(teraction,)27 b(readline)21 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47 -b Fb(93)150 764 y(in)n(teractiv)n(e)26 b(shell)14 b Fc(:)g(:)f(:)g(:)g +b Fb(95)150 764 y(in)n(teractiv)n(e)26 b(shell)14 b Fc(:)g(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)41 b Fb(73,)26 b(74)150 851 y(in)n +g(:)h(:)f(:)g(:)g(:)g(:)41 b Fb(75,)26 b(76)150 851 y(in)n (ternationalization)14 b Fc(:)h(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) 41 b Fb(7)150 1084 y Fr(J)150 1200 y Fb(job)16 b Fc(:)e(:)f(:)g(:)g(:)h @@ -16217,22 +16372,22 @@ g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)43 b Fb(3)150 1287 y(job)26 b(con)n(trol)13 b Fc(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)40 -b Fb(3,)26 b(89)150 1537 y Fr(K)150 1653 y Fb(kill)g(ring)21 +b Fb(3,)26 b(91)150 1537 y Fr(K)150 1653 y Fb(kill)g(ring)21 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)47 b Fb(95)150 1740 y(killing)27 +h(:)f(:)g(:)g(:)g(:)47 b Fb(97)150 1740 y(killing)27 b(text)19 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)46 b Fb(95)150 1989 y Fr(L)150 2105 +h(:)f(:)g(:)g(:)g(:)46 b Fb(97)150 1989 y Fr(L)150 2105 y Fb(lo)r(calization)14 b Fc(:)i(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41 b Fb(7)150 2193 y(login)27 b(shell)17 b Fc(:)d(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(73)150 2442 y +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(75)150 2442 y Fr(M)150 2558 y Fb(matc)n(hing,)26 b(pattern)20 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(24)150 +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(26)150 2645 y(metac)n(haracter)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(3)150 2878 y Fr(N)150 @@ -16244,26 +16399,26 @@ b Fb(3)150 3081 y(nativ)n(e)25 b(languages)13 b Fc(:)i(:)e(:)g(:)h(:)f g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)40 b Fb(7)150 3169 y(notation,)27 b(readline)9 b Fc(:)k(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)35 b Fb(94)150 3418 y Fr(O)150 3534 y Fb(op)r(erator,)27 +(:)f(:)g(:)35 b Fb(96)150 3418 y Fr(O)150 3534 y Fb(op)r(erator,)27 b(shell)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)43 b Fb(3)150 3784 y Fr(P)150 3900 y Fb(parameter)26 b(expansion)7 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)34 -b Fb(19)150 3987 y(parameters)17 b Fc(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g +b Fb(21)150 3987 y(parameters)17 b Fc(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)43 b Fb(15)150 +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)43 b Fb(17)150 4074 y(parameters,)27 b(p)r(ositional)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)44 b Fb(16)150 4161 y(parameters,)27 b(sp)r(ecial)18 +g(:)44 b Fb(17)150 4161 y(parameters,)27 b(sp)r(ecial)18 b Fc(:)c(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44 b Fb(16)150 +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44 b Fb(18)150 4249 y(pathname)25 b(expansion)12 b Fc(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)38 b Fb(24)150 4336 y(pattern)25 b(matc)n(hing)14 +g(:)38 b Fb(25)150 4336 y(pattern)25 b(matc)n(hing)14 b Fc(:)g(:)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(:)40 -b Fb(24)150 4423 y(pip)r(eline)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g +b Fb(26)150 4423 y(pip)r(eline)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)50 b Fb(8)150 4510 y(POSIX)17 b Fc(:)12 b(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g @@ -16271,7 +16426,7 @@ b Fb(8)150 4510 y(POSIX)17 b Fc(:)12 b(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fb(3)150 4597 y(POSIX)25 b(Mo)r(de)11 b Fc(:)i(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(84)150 +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(86)150 4685 y(pro)r(cess)27 b(group)9 b Fc(:)k(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)36 b Fb(3)2025 299 y(pro)r(cess)26 @@ -16279,12 +16434,12 @@ b(group)g(ID)21 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)49 b Fb(3)2025 386 y(pro)r(cess)26 b(substitution)c Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fb(23)2025 +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fb(24)2025 474 y(programmable)27 b(completion)20 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)46 -b Fb(115)2025 561 y(prompting)11 b Fc(:)i(:)g(:)g(:)g(:)g(:)h(:)f(:)g +b Fb(117)2025 561 y(prompting)11 b Fc(:)i(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(82)2025 +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(84)2025 811 y Fr(Q)2025 928 y Fb(quoting)10 b Fc(:)j(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)37 @@ -16293,51 +16448,51 @@ b Fb(6)2025 1015 y(quoting,)26 b(ANSI)13 b Fc(:)e(:)j(:)f(:)g(:)g(:)g g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(6)2025 1266 y Fr(R)2025 1382 y Fb(Readline,)26 b(ho)n(w)g(to)g(use)7 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(92)2025 +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(94)2025 1469 y(redirection)7 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fb(26)2025 1557 +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fb(27)2025 1557 y(reserv)n(ed)25 b(w)n(ord)7 b Fc(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b Fb(3)2025 1644 y(restricted)26 b(shell)8 b Fc(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)35 b Fb(84)2025 1731 y(return)25 +h(:)f(:)g(:)g(:)g(:)g(:)35 b Fb(86)2025 1731 y(return)25 b(status)c Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)48 b Fb(4)2025 1965 y Fr(S)2025 2082 y Fb(shell)26 b(arithmetic)11 b Fc(:)j(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)37 b Fb(78)2025 2169 y(shell)26 b(function)12 +(:)g(:)g(:)h(:)f(:)37 b Fb(80)2025 2169 y(shell)26 b(function)12 b Fc(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)38 -b Fb(14)2025 2256 y(shell)26 b(script)c Fc(:)13 b(:)g(:)g(:)g(:)g(:)g +b Fb(15)2025 2256 y(shell)26 b(script)c Fc(:)13 b(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b -Fb(33)2025 2344 y(shell)26 b(v)l(ariable)18 b Fc(:)c(:)f(:)g(:)g(:)h(:) +Fb(34)2025 2344 y(shell)26 b(v)l(ariable)18 b Fc(:)c(:)f(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45 b Fb(15)2025 +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45 b Fb(17)2025 2431 y(shell,)26 b(in)n(teractiv)n(e)14 b Fc(:)g(:)f(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)40 b Fb(74)2025 2518 y(signal)7 +(:)g(:)g(:)g(:)g(:)g(:)h(:)40 b Fb(76)2025 2518 y(signal)7 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)34 b Fb(4)2025 2606 y(signal)27 b(handling)17 b Fc(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)44 b Fb(32)2025 2693 y(sp)r(ecial)27 +g(:)g(:)g(:)g(:)44 b Fb(34)2025 2693 y(sp)r(ecial)27 b(builtin)10 b Fc(:)j(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -37 b Fb(4,)26 b(59)2025 2781 y(startup)f(\014les)d Fc(:)13 +37 b Fb(4,)26 b(62)2025 2781 y(startup)f(\014les)d Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 -b Fb(73)2025 2868 y(susp)r(ending)25 b(jobs)6 b Fc(:)14 +b Fb(75)2025 2868 y(susp)r(ending)25 b(jobs)6 b Fc(:)14 b(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 -b Fb(89)2025 3118 y Fr(T)2025 3235 y Fb(tilde)26 b(expansion)18 +b Fb(91)2025 3118 y Fr(T)2025 3235 y Fb(tilde)26 b(expansion)18 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45 -b Fb(19)2025 3322 y(tok)n(en)11 b Fc(:)h(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:) +b Fb(20)2025 3322 y(tok)n(en)11 b Fc(:)h(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)38 b Fb(4)2025 3409 y(translation,)27 b(nativ)n(e)e(languages)13 @@ -16345,22 +16500,22 @@ b Fc(:)i(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)40 b Fb(7)2025 3660 y Fr(V)2025 3776 y Fb(v)l(ariable,)26 b(shell)8 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)34 b Fb(15)2025 3864 y(v)l(ariables,)27 b(readline)21 +f(:)g(:)g(:)34 b Fb(17)2025 3864 y(v)l(ariables,)27 b(readline)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47 -b Fb(97)2025 4114 y Fr(W)2025 4230 y Fb(w)n(ord)21 b +b Fb(99)2025 4114 y Fr(W)2025 4230 y Fb(w)n(ord)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(4)2025 4318 y(w)n(ord)26 b(splitting)21 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(23)2025 4568 y Fr(Y)2025 +g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(25)2025 4568 y Fr(Y)2025 4685 y Fb(y)n(anking)25 b(text)9 b Fc(:)j(:)h(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)35 b Fb(95)p eop +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)35 b Fb(97)p eop end -%%Page: 158 164 -TeXDict begin 158 163 bop eop end +%%Page: 160 166 +TeXDict begin 160 165 bop eop end %%Trailer userdict /end-hook known{end-hook}if diff --git a/doc/bashref.rw b/doc/bashref.rw index 6b736609a..cf8ffcc97 100644 --- a/doc/bashref.rw +++ b/doc/bashref.rw @@ -1,21 +1,21 @@ \entry{time}{8}{\code {time}} \entry{!}{8}{\code {!}} -\entry{until}{9}{\code {until}} -\entry{do}{9}{\code {do}} -\entry{done}{9}{\code {done}} -\entry{while}{9}{\code {while}} +\entry{until}{10}{\code {until}} +\entry{do}{10}{\code {do}} +\entry{done}{10}{\code {done}} +\entry{while}{10}{\code {while}} \entry{for}{10}{\code {for}} \entry{if}{10}{\code {if}} \entry{then}{10}{\code {then}} \entry{else}{10}{\code {else}} \entry{elif}{10}{\code {elif}} \entry{fi}{10}{\code {fi}} -\entry{case}{10}{\code {case}} -\entry{in}{10}{\code {in}} -\entry{esac}{10}{\code {esac}} +\entry{case}{11}{\code {case}} +\entry{in}{11}{\code {in}} +\entry{esac}{11}{\code {esac}} \entry{select}{11}{\code {select}} \entry{[[}{12}{\code {[[}} \entry{]]}{12}{\code {]]}} -\entry{{\tt \char 123}}{13}{\code {{\tt \char 123}}} -\entry{{\tt \char 125}}{13}{\code {{\tt \char 125}}} -\entry{function}{14}{\code {function}} +\entry{{\tt \char 123}}{14}{\code {{\tt \char 123}}} +\entry{{\tt \char 125}}{14}{\code {{\tt \char 125}}} +\entry{function}{15}{\code {function}} diff --git a/doc/bashref.rws b/doc/bashref.rws index ae88a0061..7c9a97e2d 100644 --- a/doc/bashref.rws +++ b/doc/bashref.rws @@ -5,31 +5,31 @@ \initial {]} \entry {\code {]]}}{12} \initial {{\tt \char 123}} -\entry {\code {{\tt \char 123}}}{13} +\entry {\code {{\tt \char 123}}}{14} \initial {{\tt \char 125}} -\entry {\code {{\tt \char 125}}}{13} +\entry {\code {{\tt \char 125}}}{14} \initial {C} -\entry {\code {case}}{10} +\entry {\code {case}}{11} \initial {D} -\entry {\code {do}}{9} -\entry {\code {done}}{9} +\entry {\code {do}}{10} +\entry {\code {done}}{10} \initial {E} \entry {\code {elif}}{10} \entry {\code {else}}{10} -\entry {\code {esac}}{10} +\entry {\code {esac}}{11} \initial {F} \entry {\code {fi}}{10} \entry {\code {for}}{10} -\entry {\code {function}}{14} +\entry {\code {function}}{15} \initial {I} \entry {\code {if}}{10} -\entry {\code {in}}{10} +\entry {\code {in}}{11} \initial {S} \entry {\code {select}}{11} \initial {T} \entry {\code {then}}{10} \entry {\code {time}}{8} \initial {U} -\entry {\code {until}}{9} +\entry {\code {until}}{10} \initial {W} -\entry {\code {while}}{9} +\entry {\code {while}}{10} diff --git a/doc/bashref.texi b/doc/bashref.texi index be78c6ec1..611d928db 100644 --- a/doc/bashref.texi +++ b/doc/bashref.texi @@ -1154,7 +1154,7 @@ string: @example cat file | parallel -k echo prefix_string @end example - +@noindent The @option{-k} option is required to preserve the lines' order. Similarly, you can append a specified string to each line in a text file: @@ -1185,6 +1185,7 @@ from a file (in this case, filenames): done | process-output @end example +@noindent with a more compact syntax reminiscent of lambdas: @example cat list | parallel "do-something1 @{@} config-@{@} ; do-something2 < @{@}" | process-output @@ -1195,7 +1196,7 @@ lends itself to batch file transformations or renaming: @example ls *.gz | parallel -j+0 "zcat @{@} | bzip2 >@{.@}.bz2 && rm @{@}" @end example - +@noindent This will recompress all files in the current directory with names ending in .gz using bzip2, running one job per CPU (-j+0) in parallel. @@ -1204,12 +1205,13 @@ the output. For instance, the following command @example @{ echo foss.org.my ; echo debian.org; echo freenetproject.org; @} | parallel traceroute @end example - +@noindent will display as output the traceroute invocation that finishes first. Using the @option{-k} option, as we saw above @example @{ echo foss.org.my ; echo debian.org; echo freenetproject.org; @} | parallel -k traceroute @end example +@noindent will ensure that the output of @code{traceroute foss.org.my} is displayed first. @node Shell Functions @@ -2929,7 +2931,7 @@ The return status is zero unless @var{n} is not greater than or equal to 1. @item cd @btindex cd @example -cd [-L|-P] [@var{directory}] +cd [-L|[-P [-e]]] [@var{directory}] @end example Change the current working directory to @var{directory}. If @var{directory} is not given, the value of the @env{HOME} shell @@ -2939,6 +2941,10 @@ If @var{directory} begins with a slash, @env{CDPATH} is not used. The @option{-P} option means to not follow symbolic links; symbolic links are followed by default or with the @option{-L} option. +If the @option{-e} option is supplied with @option{-P} +and the current working directory cannot be successfully determined +after a successful directory change, @code{cd} will return an unsuccessful +status. If @var{directory} is @samp{-}, it is equivalent to @env{$OLDPWD}. If a non-empty directory name from @env{CDPATH} is used, or if diff --git a/doc/bashref.texi~ b/doc/bashref.texi~ index 9cb2e6b4e..69266d091 100644 --- a/doc/bashref.texi~ +++ b/doc/bashref.texi~ @@ -1154,7 +1154,7 @@ string: @example cat file | parallel -k echo prefix_string @end example - +@noindent The @option{-k} option is required to preserve the lines' order. Similarly, you can append a specified string to each line in a text file: @@ -1185,6 +1185,7 @@ from a file (in this case, filenames): done | process-output @end example +@noindent with a more compact syntax reminiscent of lambdas: @example cat list | parallel "do-something1 @{@} config-@{@} ; do-something2 < @{@}" | process-output @@ -1195,7 +1196,7 @@ lends itself to batch file transformations or renaming: @example ls *.gz | parallel -j+0 "zcat @{@} | bzip2 >@{.@}.bz2 && rm @{@}" @end example - +@noindent This will recompress all files in the current directory with names ending in .gz using bzip2, running one job per CPU (-j+0) in parallel. @@ -1204,12 +1205,13 @@ the output. For instance, the following command @example @{ echo foss.org.my ; echo debian.org; echo freenetproject.org; @} | parallel traceroute @end example - +@noindent will display as output the traceroute invocation that finishes first. Using the @option{-k} option, as we saw above @example @{ echo foss.org.my ; echo debian.org; echo freenetproject.org; @} | parallel -k traceroute @end example +@noindent will ensure that the output of @code{traceroute foss.org.my} is displayed first. @node Shell Functions @@ -3803,28 +3805,41 @@ printf [-v @var{var}] @var{format} [@var{arguments}] @end example Write the formatted @var{arguments} to the standard output under the control of the @var{format}. +The @option{-v} option causes the output to be assigned to the variable +@var{var} rather than being printed to the standard output. + The @var{format} 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 @var{argument}. -In addition to the standard @code{printf(1)} formats, @samp{%b} causes -@code{printf} to expand backslash escape sequences in the corresponding -@var{argument}, +In addition to the standard @code{printf(1)} formats, @code{printf} +interprets the following extensions: + +@table @code +@item %b +causes @code{printf} to expand backslash escape sequences in the +corresponding @var{argument}, (except that @samp{\c} terminates output, backslashes in @samp{\'}, @samp{\"}, and @samp{\?} are not removed, and octal escapes -beginning with @samp{\0} may contain up to four digits), -and @samp{%q} causes @code{printf} to output the +beginning with @samp{\0} may contain up to four digits). +@item %q +causes @code{printf} to output the corresponding @var{argument} in a format that can be reused as shell input. +@item %(@var{datefmt})T +causes @code{printf} to output the date-time string resulting from using +@var{datefmt} as a format string for @code{strftime}(3). The corresponding +@var{argument} 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. +@end table +@noindent Arguments to non-string format specifiers are treated as C language constants, except that a leading plus or minus sign is allowed, and if the leading character is a single or double quote, the value is the ASCII value of the following character. -The @option{-v} option causes the output to be assigned to the variable -@var{var} rather than being printed to the standard output. - The @var{format} is reused as necessary to consume all of the @var{arguments}. If the @var{format} requires more @var{arguments} than are supplied, the extra format specifications behave as if a zero value or null string, as diff --git a/doc/bashref.toc b/doc/bashref.toc index 87a863d78..4d7ed14a3 100644 --- a/doc/bashref.toc +++ b/doc/bashref.toc @@ -12,126 +12,127 @@ @numsubsubsecentry{ANSI-C Quoting}{3.1.2.4}{ANSI-C Quoting}{6} @numsubsubsecentry{Locale-Specific Translation}{3.1.2.5}{Locale Translation}{7} @numsubsecentry{Comments}{3.1.3}{Comments}{7} -@numsecentry{Shell Commands}{3.2}{Shell Commands}{7} +@numsecentry{Shell Commands}{3.2}{Shell Commands}{8} @numsubsecentry{Simple Commands}{3.2.1}{Simple Commands}{8} @numsubsecentry{Pipelines}{3.2.2}{Pipelines}{8} -@numsubsecentry{Lists of Commands}{3.2.3}{Lists}{8} +@numsubsecentry{Lists of Commands}{3.2.3}{Lists}{9} @numsubsecentry{Compound Commands}{3.2.4}{Compound Commands}{9} -@numsubsubsecentry{Looping Constructs}{3.2.4.1}{Looping Constructs}{9} +@numsubsubsecentry{Looping Constructs}{3.2.4.1}{Looping Constructs}{10} @numsubsubsecentry{Conditional Constructs}{3.2.4.2}{Conditional Constructs}{10} @numsubsubsecentry{Grouping Commands}{3.2.4.3}{Command Grouping}{13} @numsubsecentry{Coprocesses}{3.2.5}{Coprocesses}{14} -@numsecentry{Shell Functions}{3.3}{Shell Functions}{14} -@numsecentry{Shell Parameters}{3.4}{Shell Parameters}{15} -@numsubsecentry{Positional Parameters}{3.4.1}{Positional Parameters}{16} -@numsubsecentry{Special Parameters}{3.4.2}{Special Parameters}{16} -@numsecentry{Shell Expansions}{3.5}{Shell Expansions}{17} -@numsubsecentry{Brace Expansion}{3.5.1}{Brace Expansion}{18} -@numsubsecentry{Tilde Expansion}{3.5.2}{Tilde Expansion}{19} -@numsubsecentry{Shell Parameter Expansion}{3.5.3}{Shell Parameter Expansion}{19} -@numsubsecentry{Command Substitution}{3.5.4}{Command Substitution}{22} -@numsubsecentry{Arithmetic Expansion}{3.5.5}{Arithmetic Expansion}{23} -@numsubsecentry{Process Substitution}{3.5.6}{Process Substitution}{23} -@numsubsecentry{Word Splitting}{3.5.7}{Word Splitting}{23} -@numsubsecentry{Filename Expansion}{3.5.8}{Filename Expansion}{24} -@numsubsubsecentry{Pattern Matching}{3.5.8.1}{Pattern Matching}{24} -@numsubsecentry{Quote Removal}{3.5.9}{Quote Removal}{25} -@numsecentry{Redirections}{3.6}{Redirections}{26} -@numsubsecentry{Redirecting Input}{3.6.1}{}{27} -@numsubsecentry{Redirecting Output}{3.6.2}{}{27} -@numsubsecentry{Appending Redirected Output}{3.6.3}{}{27} -@numsubsecentry{Redirecting Standard Output and Standard Error}{3.6.4}{}{27} -@numsubsecentry{Appending Standard Output and Standard Error}{3.6.5}{}{28} -@numsubsecentry{Here Documents}{3.6.6}{}{28} -@numsubsecentry{Here Strings}{3.6.7}{}{28} -@numsubsecentry{Duplicating File Descriptors}{3.6.8}{}{28} -@numsubsecentry{Moving File Descriptors}{3.6.9}{}{29} -@numsubsecentry{Opening File Descriptors for Reading and Writing}{3.6.10}{}{29} -@numsecentry{Executing Commands}{3.7}{Executing Commands}{29} -@numsubsecentry{Simple Command Expansion}{3.7.1}{Simple Command Expansion}{29} -@numsubsecentry{Command Search and Execution}{3.7.2}{Command Search and Execution}{30} -@numsubsecentry{Command Execution Environment}{3.7.3}{Command Execution Environment}{30} -@numsubsecentry{Environment}{3.7.4}{Environment}{31} -@numsubsecentry{Exit Status}{3.7.5}{Exit Status}{32} -@numsubsecentry{Signals}{3.7.6}{Signals}{32} -@numsecentry{Shell Scripts}{3.8}{Shell Scripts}{33} -@numchapentry{Shell Builtin Commands}{4}{Shell Builtin Commands}{35} -@numsecentry{Bourne Shell Builtins}{4.1}{Bourne Shell Builtins}{35} -@numsecentry{Bash Builtin Commands}{4.2}{Bash Builtins}{41} -@numsecentry{Modifying Shell Behavior}{4.3}{Modifying Shell Behavior}{51} -@numsubsecentry{The Set Builtin}{4.3.1}{The Set Builtin}{51} -@numsubsecentry{The Shopt Builtin}{4.3.2}{The Shopt Builtin}{55} -@numsecentry{Special Builtins}{4.4}{Special Builtins}{59} -@numchapentry{Shell Variables}{5}{Shell Variables}{61} -@numsecentry{Bourne Shell Variables}{5.1}{Bourne Shell Variables}{61} -@numsecentry{Bash Variables}{5.2}{Bash Variables}{61} -@numchapentry{Bash Features}{6}{Bash Features}{71} -@numsecentry{Invoking Bash}{6.1}{Invoking Bash}{71} -@numsecentry{Bash Startup Files}{6.2}{Bash Startup Files}{73} -@numsecentry{Interactive Shells}{6.3}{Interactive Shells}{74} -@numsubsecentry{What is an Interactive Shell?}{6.3.1}{What is an Interactive Shell?}{75} -@numsubsecentry{Is this Shell Interactive?}{6.3.2}{Is this Shell Interactive?}{75} -@numsubsecentry{Interactive Shell Behavior}{6.3.3}{Interactive Shell Behavior}{75} -@numsecentry{Bash Conditional Expressions}{6.4}{Bash Conditional Expressions}{76} -@numsecentry{Shell Arithmetic}{6.5}{Shell Arithmetic}{78} -@numsecentry{Aliases}{6.6}{Aliases}{79} -@numsecentry{Arrays}{6.7}{Arrays}{80} -@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{81} -@numsubsecentry{Directory Stack Builtins}{6.8.1}{Directory Stack Builtins}{81} -@numsecentry{Controlling the Prompt}{6.9}{Printing a Prompt}{82} -@numsecentry{The Restricted Shell}{6.10}{The Restricted Shell}{84} -@numsecentry{Bash POSIX Mode}{6.11}{Bash POSIX Mode}{84} -@numchapentry{Job Control}{7}{Job Control}{89} -@numsecentry{Job Control Basics}{7.1}{Job Control Basics}{89} -@numsecentry{Job Control Builtins}{7.2}{Job Control Builtins}{90} -@numsecentry{Job Control Variables}{7.3}{Job Control Variables}{92} -@numchapentry{Command Line Editing}{8}{Command Line Editing}{93} -@numsecentry{Introduction to Line Editing}{8.1}{Introduction and Notation}{93} -@numsecentry{Readline Interaction}{8.2}{Readline Interaction}{93} -@numsubsecentry{Readline Bare Essentials}{8.2.1}{Readline Bare Essentials}{94} -@numsubsecentry{Readline Movement Commands}{8.2.2}{Readline Movement Commands}{94} -@numsubsecentry{Readline Killing Commands}{8.2.3}{Readline Killing Commands}{95} -@numsubsecentry{Readline Arguments}{8.2.4}{Readline Arguments}{95} -@numsubsecentry{Searching for Commands in the History}{8.2.5}{Searching}{95} -@numsecentry{Readline Init File}{8.3}{Readline Init File}{96} -@numsubsecentry{Readline Init File Syntax}{8.3.1}{Readline Init File Syntax}{96} -@numsubsecentry{Conditional Init Constructs}{8.3.2}{Conditional Init Constructs}{102} -@numsubsecentry{Sample Init File}{8.3.3}{Sample Init File}{103} -@numsecentry{Bindable Readline Commands}{8.4}{Bindable Readline Commands}{106} -@numsubsecentry{Commands For Moving}{8.4.1}{Commands For Moving}{106} -@numsubsecentry{Commands For Manipulating The History}{8.4.2}{Commands For History}{107} -@numsubsecentry{Commands For Changing Text}{8.4.3}{Commands For Text}{108} -@numsubsecentry{Killing And Yanking}{8.4.4}{Commands For Killing}{109} -@numsubsecentry{Specifying Numeric Arguments}{8.4.5}{Numeric Arguments}{110} -@numsubsecentry{Letting Readline Type For You}{8.4.6}{Commands For Completion}{110} -@numsubsecentry{Keyboard Macros}{8.4.7}{Keyboard Macros}{112} -@numsubsecentry{Some Miscellaneous Commands}{8.4.8}{Miscellaneous Commands}{112} -@numsecentry{Readline vi Mode}{8.5}{Readline vi Mode}{115} -@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{115} -@numsecentry{Programmable Completion Builtins}{8.7}{Programmable Completion Builtins}{117} -@numchapentry{Using History Interactively}{9}{Using History Interactively}{121} -@numsecentry{Bash History Facilities}{9.1}{Bash History Facilities}{121} -@numsecentry{Bash History Builtins}{9.2}{Bash History Builtins}{121} -@numsecentry{History Expansion}{9.3}{History Interaction}{123} -@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{123} -@numsubsecentry{Word Designators}{9.3.2}{Word Designators}{124} -@numsubsecentry{Modifiers}{9.3.3}{Modifiers}{125} -@numchapentry{Installing Bash}{10}{Installing Bash}{127} -@numsecentry{Basic Installation}{10.1}{Basic Installation}{127} -@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{128} -@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{128} -@numsecentry{Installation Names}{10.4}{Installation Names}{128} -@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{128} -@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{129} -@numsecentry{Operation Controls}{10.7}{Operation Controls}{129} -@numsecentry{Optional Features}{10.8}{Optional Features}{129} -@appentry{Reporting Bugs}{A}{Reporting Bugs}{135} -@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{137} -@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{141} -@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{143} -@appentry{Indexes}{D}{Indexes}{151} -@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{151} -@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{152} -@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{152} -@appsecentry{Function Index}{D.4}{Function Index}{154} -@appsecentry{Concept Index}{D.5}{Concept Index}{156} +@numsubsecentry{GNU Parallel}{3.2.6}{GNU Parallel}{14} +@numsecentry{Shell Functions}{3.3}{Shell Functions}{15} +@numsecentry{Shell Parameters}{3.4}{Shell Parameters}{17} +@numsubsecentry{Positional Parameters}{3.4.1}{Positional Parameters}{17} +@numsubsecentry{Special Parameters}{3.4.2}{Special Parameters}{18} +@numsecentry{Shell Expansions}{3.5}{Shell Expansions}{18} +@numsubsecentry{Brace Expansion}{3.5.1}{Brace Expansion}{19} +@numsubsecentry{Tilde Expansion}{3.5.2}{Tilde Expansion}{20} +@numsubsecentry{Shell Parameter Expansion}{3.5.3}{Shell Parameter Expansion}{21} +@numsubsecentry{Command Substitution}{3.5.4}{Command Substitution}{24} +@numsubsecentry{Arithmetic Expansion}{3.5.5}{Arithmetic Expansion}{24} +@numsubsecentry{Process Substitution}{3.5.6}{Process Substitution}{24} +@numsubsecentry{Word Splitting}{3.5.7}{Word Splitting}{25} +@numsubsecentry{Filename Expansion}{3.5.8}{Filename Expansion}{25} +@numsubsubsecentry{Pattern Matching}{3.5.8.1}{Pattern Matching}{26} +@numsubsecentry{Quote Removal}{3.5.9}{Quote Removal}{27} +@numsecentry{Redirections}{3.6}{Redirections}{27} +@numsubsecentry{Redirecting Input}{3.6.1}{}{28} +@numsubsecentry{Redirecting Output}{3.6.2}{}{28} +@numsubsecentry{Appending Redirected Output}{3.6.3}{}{28} +@numsubsecentry{Redirecting Standard Output and Standard Error}{3.6.4}{}{29} +@numsubsecentry{Appending Standard Output and Standard Error}{3.6.5}{}{29} +@numsubsecentry{Here Documents}{3.6.6}{}{29} +@numsubsecentry{Here Strings}{3.6.7}{}{29} +@numsubsecentry{Duplicating File Descriptors}{3.6.8}{}{30} +@numsubsecentry{Moving File Descriptors}{3.6.9}{}{30} +@numsubsecentry{Opening File Descriptors for Reading and Writing}{3.6.10}{}{30} +@numsecentry{Executing Commands}{3.7}{Executing Commands}{30} +@numsubsecentry{Simple Command Expansion}{3.7.1}{Simple Command Expansion}{30} +@numsubsecentry{Command Search and Execution}{3.7.2}{Command Search and Execution}{31} +@numsubsecentry{Command Execution Environment}{3.7.3}{Command Execution Environment}{32} +@numsubsecentry{Environment}{3.7.4}{Environment}{33} +@numsubsecentry{Exit Status}{3.7.5}{Exit Status}{33} +@numsubsecentry{Signals}{3.7.6}{Signals}{34} +@numsecentry{Shell Scripts}{3.8}{Shell Scripts}{34} +@numchapentry{Shell Builtin Commands}{4}{Shell Builtin Commands}{37} +@numsecentry{Bourne Shell Builtins}{4.1}{Bourne Shell Builtins}{37} +@numsecentry{Bash Builtin Commands}{4.2}{Bash Builtins}{43} +@numsecentry{Modifying Shell Behavior}{4.3}{Modifying Shell Behavior}{53} +@numsubsecentry{The Set Builtin}{4.3.1}{The Set Builtin}{53} +@numsubsecentry{The Shopt Builtin}{4.3.2}{The Shopt Builtin}{57} +@numsecentry{Special Builtins}{4.4}{Special Builtins}{62} +@numchapentry{Shell Variables}{5}{Shell Variables}{63} +@numsecentry{Bourne Shell Variables}{5.1}{Bourne Shell Variables}{63} +@numsecentry{Bash Variables}{5.2}{Bash Variables}{63} +@numchapentry{Bash Features}{6}{Bash Features}{73} +@numsecentry{Invoking Bash}{6.1}{Invoking Bash}{73} +@numsecentry{Bash Startup Files}{6.2}{Bash Startup Files}{75} +@numsecentry{Interactive Shells}{6.3}{Interactive Shells}{76} +@numsubsecentry{What is an Interactive Shell?}{6.3.1}{What is an Interactive Shell?}{77} +@numsubsecentry{Is this Shell Interactive?}{6.3.2}{Is this Shell Interactive?}{77} +@numsubsecentry{Interactive Shell Behavior}{6.3.3}{Interactive Shell Behavior}{77} +@numsecentry{Bash Conditional Expressions}{6.4}{Bash Conditional Expressions}{78} +@numsecentry{Shell Arithmetic}{6.5}{Shell Arithmetic}{80} +@numsecentry{Aliases}{6.6}{Aliases}{81} +@numsecentry{Arrays}{6.7}{Arrays}{82} +@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{83} +@numsubsecentry{Directory Stack Builtins}{6.8.1}{Directory Stack Builtins}{83} +@numsecentry{Controlling the Prompt}{6.9}{Printing a Prompt}{84} +@numsecentry{The Restricted Shell}{6.10}{The Restricted Shell}{86} +@numsecentry{Bash POSIX Mode}{6.11}{Bash POSIX Mode}{86} +@numchapentry{Job Control}{7}{Job Control}{91} +@numsecentry{Job Control Basics}{7.1}{Job Control Basics}{91} +@numsecentry{Job Control Builtins}{7.2}{Job Control Builtins}{92} +@numsecentry{Job Control Variables}{7.3}{Job Control Variables}{94} +@numchapentry{Command Line Editing}{8}{Command Line Editing}{95} +@numsecentry{Introduction to Line Editing}{8.1}{Introduction and Notation}{95} +@numsecentry{Readline Interaction}{8.2}{Readline Interaction}{95} +@numsubsecentry{Readline Bare Essentials}{8.2.1}{Readline Bare Essentials}{96} +@numsubsecentry{Readline Movement Commands}{8.2.2}{Readline Movement Commands}{96} +@numsubsecentry{Readline Killing Commands}{8.2.3}{Readline Killing Commands}{97} +@numsubsecentry{Readline Arguments}{8.2.4}{Readline Arguments}{97} +@numsubsecentry{Searching for Commands in the History}{8.2.5}{Searching}{97} +@numsecentry{Readline Init File}{8.3}{Readline Init File}{98} +@numsubsecentry{Readline Init File Syntax}{8.3.1}{Readline Init File Syntax}{98} +@numsubsecentry{Conditional Init Constructs}{8.3.2}{Conditional Init Constructs}{104} +@numsubsecentry{Sample Init File}{8.3.3}{Sample Init File}{105} +@numsecentry{Bindable Readline Commands}{8.4}{Bindable Readline Commands}{108} +@numsubsecentry{Commands For Moving}{8.4.1}{Commands For Moving}{108} +@numsubsecentry{Commands For Manipulating The History}{8.4.2}{Commands For History}{109} +@numsubsecentry{Commands For Changing Text}{8.4.3}{Commands For Text}{110} +@numsubsecentry{Killing And Yanking}{8.4.4}{Commands For Killing}{111} +@numsubsecentry{Specifying Numeric Arguments}{8.4.5}{Numeric Arguments}{112} +@numsubsecentry{Letting Readline Type For You}{8.4.6}{Commands For Completion}{112} +@numsubsecentry{Keyboard Macros}{8.4.7}{Keyboard Macros}{114} +@numsubsecentry{Some Miscellaneous Commands}{8.4.8}{Miscellaneous Commands}{114} +@numsecentry{Readline vi Mode}{8.5}{Readline vi Mode}{117} +@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{117} +@numsecentry{Programmable Completion Builtins}{8.7}{Programmable Completion Builtins}{119} +@numchapentry{Using History Interactively}{9}{Using History Interactively}{123} +@numsecentry{Bash History Facilities}{9.1}{Bash History Facilities}{123} +@numsecentry{Bash History Builtins}{9.2}{Bash History Builtins}{123} +@numsecentry{History Expansion}{9.3}{History Interaction}{125} +@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{125} +@numsubsecentry{Word Designators}{9.3.2}{Word Designators}{126} +@numsubsecentry{Modifiers}{9.3.3}{Modifiers}{127} +@numchapentry{Installing Bash}{10}{Installing Bash}{129} +@numsecentry{Basic Installation}{10.1}{Basic Installation}{129} +@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{130} +@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{130} +@numsecentry{Installation Names}{10.4}{Installation Names}{130} +@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{130} +@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{131} +@numsecentry{Operation Controls}{10.7}{Operation Controls}{131} +@numsecentry{Optional Features}{10.8}{Optional Features}{131} +@appentry{Reporting Bugs}{A}{Reporting Bugs}{137} +@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{139} +@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{143} +@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{145} +@appentry{Indexes}{D}{Indexes}{153} +@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{153} +@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{154} +@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{154} +@appsecentry{Function Index}{D.4}{Function Index}{156} +@appsecentry{Concept Index}{D.5}{Concept Index}{158} diff --git a/doc/bashref.vr b/doc/bashref.vr index 1cc6d90bd..e18be4b90 100644 --- a/doc/bashref.vr +++ b/doc/bashref.vr @@ -1,135 +1,137 @@ \entry{LC_MESSAGES}{7}{\code {LC_MESSAGES}} \entry{TEXTDOMAIN}{7}{\code {TEXTDOMAIN}} \entry{TEXTDOMAINDIR}{7}{\code {TEXTDOMAINDIR}} -\entry{*}{16}{\code {*}} -\entry{@}{16}{\code {@}} -\entry{#}{17}{\code {#}} -\entry{?}{17}{\code {?}} -\entry{-}{17}{\code {-}} -\entry{$}{17}{\code {$}} -\entry{!}{17}{\code {!}} -\entry{0}{17}{\code {0}} -\entry{_}{17}{\code {_}} -\entry{CDPATH}{61}{\code {CDPATH}} -\entry{HOME}{61}{\code {HOME}} -\entry{IFS}{61}{\code {IFS}} -\entry{MAIL}{61}{\code {MAIL}} -\entry{MAILPATH}{61}{\code {MAILPATH}} -\entry{OPTARG}{61}{\code {OPTARG}} -\entry{OPTIND}{61}{\code {OPTIND}} -\entry{PATH}{61}{\code {PATH}} -\entry{PS1}{61}{\code {PS1}} -\entry{PS2}{61}{\code {PS2}} -\entry{BASH}{61}{\code {BASH}} -\entry{BASHOPTS}{62}{\code {BASHOPTS}} -\entry{BASHPID}{62}{\code {BASHPID}} -\entry{BASH_ALIASES}{62}{\code {BASH_ALIASES}} -\entry{BASH_ARGC}{62}{\code {BASH_ARGC}} -\entry{BASH_ARGV}{62}{\code {BASH_ARGV}} -\entry{BASH_CMDS}{62}{\code {BASH_CMDS}} -\entry{BASH_COMMAND}{62}{\code {BASH_COMMAND}} -\entry{BASH_ENV}{62}{\code {BASH_ENV}} -\entry{BASH_EXECUTION_STRING}{62}{\code {BASH_EXECUTION_STRING}} -\entry{BASH_LINENO}{63}{\code {BASH_LINENO}} -\entry{BASH_REMATCH}{63}{\code {BASH_REMATCH}} -\entry{BASH_SOURCE}{63}{\code {BASH_SOURCE}} -\entry{BASH_SUBSHELL}{63}{\code {BASH_SUBSHELL}} -\entry{BASH_VERSINFO}{63}{\code {BASH_VERSINFO}} -\entry{BASH_VERSION}{63}{\code {BASH_VERSION}} -\entry{BASH_XTRACEFD}{63}{\code {BASH_XTRACEFD}} -\entry{COLUMNS}{64}{\code {COLUMNS}} -\entry{COMP_CWORD}{64}{\code {COMP_CWORD}} -\entry{COMP_LINE}{64}{\code {COMP_LINE}} -\entry{COMP_POINT}{64}{\code {COMP_POINT}} -\entry{COMP_TYPE}{64}{\code {COMP_TYPE}} -\entry{COMP_KEY}{64}{\code {COMP_KEY}} -\entry{COMP_WORDBREAKS}{64}{\code {COMP_WORDBREAKS}} -\entry{COMP_WORDS}{64}{\code {COMP_WORDS}} -\entry{COMPREPLY}{65}{\code {COMPREPLY}} -\entry{COPROC}{65}{\code {COPROC}} -\entry{DIRSTACK}{65}{\code {DIRSTACK}} -\entry{EMACS}{65}{\code {EMACS}} -\entry{ENV}{65}{\code {ENV}} -\entry{EUID}{65}{\code {EUID}} -\entry{FCEDIT}{65}{\code {FCEDIT}} -\entry{FIGNORE}{65}{\code {FIGNORE}} -\entry{FUNCNAME}{65}{\code {FUNCNAME}} -\entry{GLOBIGNORE}{65}{\code {GLOBIGNORE}} -\entry{GROUPS}{65}{\code {GROUPS}} -\entry{histchars}{65}{\code {histchars}} -\entry{HISTCMD}{66}{\code {HISTCMD}} -\entry{HISTCONTROL}{66}{\code {HISTCONTROL}} -\entry{HISTFILE}{66}{\code {HISTFILE}} -\entry{HISTFILESIZE}{66}{\code {HISTFILESIZE}} -\entry{HISTIGNORE}{66}{\code {HISTIGNORE}} -\entry{HISTSIZE}{66}{\code {HISTSIZE}} -\entry{HISTTIMEFORMAT}{67}{\code {HISTTIMEFORMAT}} -\entry{HOSTFILE}{67}{\code {HOSTFILE}} -\entry{HOSTNAME}{67}{\code {HOSTNAME}} -\entry{HOSTTYPE}{67}{\code {HOSTTYPE}} -\entry{IGNOREEOF}{67}{\code {IGNOREEOF}} -\entry{INPUTRC}{67}{\code {INPUTRC}} -\entry{LANG}{67}{\code {LANG}} -\entry{LC_ALL}{67}{\code {LC_ALL}} -\entry{LC_COLLATE}{67}{\code {LC_COLLATE}} -\entry{LC_CTYPE}{67}{\code {LC_CTYPE}} -\entry{LC_MESSAGES}{67}{\code {LC_MESSAGES}} -\entry{LC_NUMERIC}{67}{\code {LC_NUMERIC}} -\entry{LINENO}{68}{\code {LINENO}} -\entry{LINES}{68}{\code {LINES}} -\entry{MACHTYPE}{68}{\code {MACHTYPE}} -\entry{MAILCHECK}{68}{\code {MAILCHECK}} -\entry{MAPFILE}{68}{\code {MAPFILE}} -\entry{OLDPWD}{68}{\code {OLDPWD}} -\entry{OPTERR}{68}{\code {OPTERR}} -\entry{OSTYPE}{68}{\code {OSTYPE}} -\entry{PIPESTATUS}{68}{\code {PIPESTATUS}} -\entry{POSIXLY_CORRECT}{68}{\code {POSIXLY_CORRECT}} -\entry{PPID}{68}{\code {PPID}} -\entry{PROMPT_COMMAND}{68}{\code {PROMPT_COMMAND}} -\entry{PROMPT_DIRTRIM}{68}{\code {PROMPT_DIRTRIM}} -\entry{PS3}{68}{\code {PS3}} -\entry{PS4}{69}{\code {PS4}} -\entry{PWD}{69}{\code {PWD}} -\entry{RANDOM}{69}{\code {RANDOM}} -\entry{READLINE_LINE}{69}{\code {READLINE_LINE}} -\entry{READLINE_POINT}{69}{\code {READLINE_POINT}} -\entry{REPLY}{69}{\code {REPLY}} -\entry{SECONDS}{69}{\code {SECONDS}} -\entry{SHELL}{69}{\code {SHELL}} -\entry{SHELLOPTS}{69}{\code {SHELLOPTS}} -\entry{SHLVL}{69}{\code {SHLVL}} -\entry{TIMEFORMAT}{69}{\code {TIMEFORMAT}} -\entry{TMOUT}{70}{\code {TMOUT}} -\entry{TMPDIR}{70}{\code {TMPDIR}} -\entry{UID}{70}{\code {UID}} -\entry{auto_resume}{92}{\code {auto_resume}} -\entry{bell-style}{97}{\code {bell-style}} -\entry{bind-tty-special-chars}{97}{\code {bind-tty-special-chars}} -\entry{comment-begin}{97}{\code {comment-begin}} -\entry{completion-display-width}{97}{\code {completion-display-width}} -\entry{completion-ignore-case}{97}{\code {completion-ignore-case}} -\entry{completion-prefix-display-length}{97}{\code {completion-prefix-display-length}} -\entry{completion-query-items}{97}{\code {completion-query-items}} -\entry{convert-meta}{98}{\code {convert-meta}} -\entry{disable-completion}{98}{\code {disable-completion}} -\entry{editing-mode}{98}{\code {editing-mode}} -\entry{enable-keypad}{98}{\code {enable-keypad}} -\entry{expand-tilde}{98}{\code {expand-tilde}} -\entry{history-preserve-point}{98}{\code {history-preserve-point}} -\entry{history-size}{98}{\code {history-size}} -\entry{horizontal-scroll-mode}{99}{\code {horizontal-scroll-mode}} -\entry{input-meta}{99}{\code {input-meta}} -\entry{meta-flag}{99}{\code {meta-flag}} -\entry{isearch-terminators}{99}{\code {isearch-terminators}} -\entry{keymap}{99}{\code {keymap}} -\entry{mark-modified-lines}{99}{\code {mark-modified-lines}} -\entry{mark-symlinked-directories}{99}{\code {mark-symlinked-directories}} -\entry{match-hidden-files}{99}{\code {match-hidden-files}} -\entry{output-meta}{99}{\code {output-meta}} -\entry{page-completions}{100}{\code {page-completions}} -\entry{revert-all-at-newline}{100}{\code {revert-all-at-newline}} -\entry{show-all-if-ambiguous}{100}{\code {show-all-if-ambiguous}} -\entry{show-all-if-unmodified}{100}{\code {show-all-if-unmodified}} -\entry{skip-completed-text}{100}{\code {skip-completed-text}} -\entry{visible-stats}{100}{\code {visible-stats}} +\entry{*}{18}{\code {*}} +\entry{@}{18}{\code {@}} +\entry{#}{18}{\code {#}} +\entry{?}{18}{\code {?}} +\entry{-}{18}{\code {-}} +\entry{$}{18}{\code {$}} +\entry{!}{18}{\code {!}} +\entry{0}{18}{\code {0}} +\entry{_}{18}{\code {_}} +\entry{CDPATH}{63}{\code {CDPATH}} +\entry{HOME}{63}{\code {HOME}} +\entry{IFS}{63}{\code {IFS}} +\entry{MAIL}{63}{\code {MAIL}} +\entry{MAILPATH}{63}{\code {MAILPATH}} +\entry{OPTARG}{63}{\code {OPTARG}} +\entry{OPTIND}{63}{\code {OPTIND}} +\entry{PATH}{63}{\code {PATH}} +\entry{PS1}{63}{\code {PS1}} +\entry{PS2}{63}{\code {PS2}} +\entry{BASH}{63}{\code {BASH}} +\entry{BASHOPTS}{64}{\code {BASHOPTS}} +\entry{BASHPID}{64}{\code {BASHPID}} +\entry{BASH_ALIASES}{64}{\code {BASH_ALIASES}} +\entry{BASH_ARGC}{64}{\code {BASH_ARGC}} +\entry{BASH_ARGV}{64}{\code {BASH_ARGV}} +\entry{BASH_CMDS}{64}{\code {BASH_CMDS}} +\entry{BASH_COMMAND}{64}{\code {BASH_COMMAND}} +\entry{BASH_ENV}{64}{\code {BASH_ENV}} +\entry{BASH_EXECUTION_STRING}{64}{\code {BASH_EXECUTION_STRING}} +\entry{BASH_LINENO}{65}{\code {BASH_LINENO}} +\entry{BASH_REMATCH}{65}{\code {BASH_REMATCH}} +\entry{BASH_SOURCE}{65}{\code {BASH_SOURCE}} +\entry{BASH_SUBSHELL}{65}{\code {BASH_SUBSHELL}} +\entry{BASH_VERSINFO}{65}{\code {BASH_VERSINFO}} +\entry{BASH_VERSION}{65}{\code {BASH_VERSION}} +\entry{BASH_XTRACEFD}{65}{\code {BASH_XTRACEFD}} +\entry{COLUMNS}{66}{\code {COLUMNS}} +\entry{COMP_CWORD}{66}{\code {COMP_CWORD}} +\entry{COMP_LINE}{66}{\code {COMP_LINE}} +\entry{COMP_POINT}{66}{\code {COMP_POINT}} +\entry{COMP_TYPE}{66}{\code {COMP_TYPE}} +\entry{COMP_KEY}{66}{\code {COMP_KEY}} +\entry{COMP_WORDBREAKS}{66}{\code {COMP_WORDBREAKS}} +\entry{COMP_WORDS}{66}{\code {COMP_WORDS}} +\entry{COMPREPLY}{67}{\code {COMPREPLY}} +\entry{COPROC}{67}{\code {COPROC}} +\entry{DIRSTACK}{67}{\code {DIRSTACK}} +\entry{EMACS}{67}{\code {EMACS}} +\entry{ENV}{67}{\code {ENV}} +\entry{EUID}{67}{\code {EUID}} +\entry{FCEDIT}{67}{\code {FCEDIT}} +\entry{FIGNORE}{67}{\code {FIGNORE}} +\entry{FUNCNAME}{67}{\code {FUNCNAME}} +\entry{FUNCNEST}{67}{\code {FUNCNEST}} +\entry{GLOBIGNORE}{67}{\code {GLOBIGNORE}} +\entry{GROUPS}{67}{\code {GROUPS}} +\entry{histchars}{68}{\code {histchars}} +\entry{HISTCMD}{68}{\code {HISTCMD}} +\entry{HISTCONTROL}{68}{\code {HISTCONTROL}} +\entry{HISTFILE}{68}{\code {HISTFILE}} +\entry{HISTFILESIZE}{68}{\code {HISTFILESIZE}} +\entry{HISTIGNORE}{68}{\code {HISTIGNORE}} +\entry{HISTSIZE}{69}{\code {HISTSIZE}} +\entry{HISTTIMEFORMAT}{69}{\code {HISTTIMEFORMAT}} +\entry{HOSTFILE}{69}{\code {HOSTFILE}} +\entry{HOSTNAME}{69}{\code {HOSTNAME}} +\entry{HOSTTYPE}{69}{\code {HOSTTYPE}} +\entry{IGNOREEOF}{69}{\code {IGNOREEOF}} +\entry{INPUTRC}{69}{\code {INPUTRC}} +\entry{LANG}{69}{\code {LANG}} +\entry{LC_ALL}{69}{\code {LC_ALL}} +\entry{LC_COLLATE}{69}{\code {LC_COLLATE}} +\entry{LC_CTYPE}{69}{\code {LC_CTYPE}} +\entry{LC_MESSAGES}{70}{\code {LC_MESSAGES}} +\entry{LC_NUMERIC}{70}{\code {LC_NUMERIC}} +\entry{LINENO}{70}{\code {LINENO}} +\entry{LINES}{70}{\code {LINES}} +\entry{MACHTYPE}{70}{\code {MACHTYPE}} +\entry{MAILCHECK}{70}{\code {MAILCHECK}} +\entry{MAPFILE}{70}{\code {MAPFILE}} +\entry{OLDPWD}{70}{\code {OLDPWD}} +\entry{OPTERR}{70}{\code {OPTERR}} +\entry{OSTYPE}{70}{\code {OSTYPE}} +\entry{PIPESTATUS}{70}{\code {PIPESTATUS}} +\entry{POSIXLY_CORRECT}{70}{\code {POSIXLY_CORRECT}} +\entry{PPID}{70}{\code {PPID}} +\entry{PROMPT_COMMAND}{70}{\code {PROMPT_COMMAND}} +\entry{PROMPT_DIRTRIM}{70}{\code {PROMPT_DIRTRIM}} +\entry{PS3}{71}{\code {PS3}} +\entry{PS4}{71}{\code {PS4}} +\entry{PWD}{71}{\code {PWD}} +\entry{RANDOM}{71}{\code {RANDOM}} +\entry{READLINE_LINE}{71}{\code {READLINE_LINE}} +\entry{READLINE_POINT}{71}{\code {READLINE_POINT}} +\entry{REPLY}{71}{\code {REPLY}} +\entry{SECONDS}{71}{\code {SECONDS}} +\entry{SHELL}{71}{\code {SHELL}} +\entry{SHELLOPTS}{71}{\code {SHELLOPTS}} +\entry{SHLVL}{71}{\code {SHLVL}} +\entry{TIMEFORMAT}{71}{\code {TIMEFORMAT}} +\entry{TMOUT}{72}{\code {TMOUT}} +\entry{TMPDIR}{72}{\code {TMPDIR}} +\entry{UID}{72}{\code {UID}} +\entry{auto_resume}{94}{\code {auto_resume}} +\entry{bell-style}{99}{\code {bell-style}} +\entry{bind-tty-special-chars}{99}{\code {bind-tty-special-chars}} +\entry{comment-begin}{99}{\code {comment-begin}} +\entry{completion-display-width}{99}{\code {completion-display-width}} +\entry{completion-ignore-case}{99}{\code {completion-ignore-case}} +\entry{completion-map-case}{99}{\code {completion-map-case}} +\entry{completion-prefix-display-length}{99}{\code {completion-prefix-display-length}} +\entry{completion-query-items}{100}{\code {completion-query-items}} +\entry{convert-meta}{100}{\code {convert-meta}} +\entry{disable-completion}{100}{\code {disable-completion}} +\entry{editing-mode}{100}{\code {editing-mode}} +\entry{enable-keypad}{100}{\code {enable-keypad}} +\entry{expand-tilde}{100}{\code {expand-tilde}} +\entry{history-preserve-point}{100}{\code {history-preserve-point}} +\entry{history-size}{101}{\code {history-size}} +\entry{horizontal-scroll-mode}{101}{\code {horizontal-scroll-mode}} +\entry{input-meta}{101}{\code {input-meta}} +\entry{meta-flag}{101}{\code {meta-flag}} +\entry{isearch-terminators}{101}{\code {isearch-terminators}} +\entry{keymap}{101}{\code {keymap}} +\entry{mark-modified-lines}{101}{\code {mark-modified-lines}} +\entry{mark-symlinked-directories}{101}{\code {mark-symlinked-directories}} +\entry{match-hidden-files}{101}{\code {match-hidden-files}} +\entry{output-meta}{102}{\code {output-meta}} +\entry{page-completions}{102}{\code {page-completions}} +\entry{revert-all-at-newline}{102}{\code {revert-all-at-newline}} +\entry{show-all-if-ambiguous}{102}{\code {show-all-if-ambiguous}} +\entry{show-all-if-unmodified}{102}{\code {show-all-if-unmodified}} +\entry{skip-completed-text}{102}{\code {skip-completed-text}} +\entry{visible-stats}{102}{\code {visible-stats}} diff --git a/doc/bashref.vrs b/doc/bashref.vrs index 2a3e7c4c0..926e916c3 100644 --- a/doc/bashref.vrs +++ b/doc/bashref.vrs @@ -1,162 +1,164 @@ \initial {!} -\entry {\code {!}}{17} +\entry {\code {!}}{18} \initial {#} -\entry {\code {#}}{17} +\entry {\code {#}}{18} \initial {$} -\entry {\code {$}}{17} +\entry {\code {$}}{18} \initial {*} -\entry {\code {*}}{16} +\entry {\code {*}}{18} \initial {-} -\entry {\code {-}}{17} +\entry {\code {-}}{18} \initial {?} -\entry {\code {?}}{17} +\entry {\code {?}}{18} \initial {@} -\entry {\code {@}}{16} +\entry {\code {@}}{18} \initial {_} -\entry {\code {_}}{17} +\entry {\code {_}}{18} \initial {0} -\entry {\code {0}}{17} +\entry {\code {0}}{18} \initial {A} -\entry {\code {auto_resume}}{92} +\entry {\code {auto_resume}}{94} \initial {B} -\entry {\code {BASH}}{61} -\entry {\code {BASH_ALIASES}}{62} -\entry {\code {BASH_ARGC}}{62} -\entry {\code {BASH_ARGV}}{62} -\entry {\code {BASH_CMDS}}{62} -\entry {\code {BASH_COMMAND}}{62} -\entry {\code {BASH_ENV}}{62} -\entry {\code {BASH_EXECUTION_STRING}}{62} -\entry {\code {BASH_LINENO}}{63} -\entry {\code {BASH_REMATCH}}{63} -\entry {\code {BASH_SOURCE}}{63} -\entry {\code {BASH_SUBSHELL}}{63} -\entry {\code {BASH_VERSINFO}}{63} -\entry {\code {BASH_VERSION}}{63} -\entry {\code {BASH_XTRACEFD}}{63} -\entry {\code {BASHOPTS}}{62} -\entry {\code {BASHPID}}{62} -\entry {\code {bell-style}}{97} -\entry {\code {bind-tty-special-chars}}{97} +\entry {\code {BASH}}{63} +\entry {\code {BASH_ALIASES}}{64} +\entry {\code {BASH_ARGC}}{64} +\entry {\code {BASH_ARGV}}{64} +\entry {\code {BASH_CMDS}}{64} +\entry {\code {BASH_COMMAND}}{64} +\entry {\code {BASH_ENV}}{64} +\entry {\code {BASH_EXECUTION_STRING}}{64} +\entry {\code {BASH_LINENO}}{65} +\entry {\code {BASH_REMATCH}}{65} +\entry {\code {BASH_SOURCE}}{65} +\entry {\code {BASH_SUBSHELL}}{65} +\entry {\code {BASH_VERSINFO}}{65} +\entry {\code {BASH_VERSION}}{65} +\entry {\code {BASH_XTRACEFD}}{65} +\entry {\code {BASHOPTS}}{64} +\entry {\code {BASHPID}}{64} +\entry {\code {bell-style}}{99} +\entry {\code {bind-tty-special-chars}}{99} \initial {C} -\entry {\code {CDPATH}}{61} -\entry {\code {COLUMNS}}{64} -\entry {\code {comment-begin}}{97} -\entry {\code {COMP_CWORD}}{64} -\entry {\code {COMP_KEY}}{64} -\entry {\code {COMP_LINE}}{64} -\entry {\code {COMP_POINT}}{64} -\entry {\code {COMP_TYPE}}{64} -\entry {\code {COMP_WORDBREAKS}}{64} -\entry {\code {COMP_WORDS}}{64} -\entry {\code {completion-display-width}}{97} -\entry {\code {completion-ignore-case}}{97} -\entry {\code {completion-prefix-display-length}}{97} -\entry {\code {completion-query-items}}{97} -\entry {\code {COMPREPLY}}{65} -\entry {\code {convert-meta}}{98} -\entry {\code {COPROC}}{65} +\entry {\code {CDPATH}}{63} +\entry {\code {COLUMNS}}{66} +\entry {\code {comment-begin}}{99} +\entry {\code {COMP_CWORD}}{66} +\entry {\code {COMP_KEY}}{66} +\entry {\code {COMP_LINE}}{66} +\entry {\code {COMP_POINT}}{66} +\entry {\code {COMP_TYPE}}{66} +\entry {\code {COMP_WORDBREAKS}}{66} +\entry {\code {COMP_WORDS}}{66} +\entry {\code {completion-display-width}}{99} +\entry {\code {completion-ignore-case}}{99} +\entry {\code {completion-map-case}}{99} +\entry {\code {completion-prefix-display-length}}{99} +\entry {\code {completion-query-items}}{100} +\entry {\code {COMPREPLY}}{67} +\entry {\code {convert-meta}}{100} +\entry {\code {COPROC}}{67} \initial {D} -\entry {\code {DIRSTACK}}{65} -\entry {\code {disable-completion}}{98} +\entry {\code {DIRSTACK}}{67} +\entry {\code {disable-completion}}{100} \initial {E} -\entry {\code {editing-mode}}{98} -\entry {\code {EMACS}}{65} -\entry {\code {enable-keypad}}{98} -\entry {\code {ENV}}{65} -\entry {\code {EUID}}{65} -\entry {\code {expand-tilde}}{98} +\entry {\code {editing-mode}}{100} +\entry {\code {EMACS}}{67} +\entry {\code {enable-keypad}}{100} +\entry {\code {ENV}}{67} +\entry {\code {EUID}}{67} +\entry {\code {expand-tilde}}{100} \initial {F} -\entry {\code {FCEDIT}}{65} -\entry {\code {FIGNORE}}{65} -\entry {\code {FUNCNAME}}{65} +\entry {\code {FCEDIT}}{67} +\entry {\code {FIGNORE}}{67} +\entry {\code {FUNCNAME}}{67} +\entry {\code {FUNCNEST}}{67} \initial {G} -\entry {\code {GLOBIGNORE}}{65} -\entry {\code {GROUPS}}{65} +\entry {\code {GLOBIGNORE}}{67} +\entry {\code {GROUPS}}{67} \initial {H} -\entry {\code {histchars}}{65} -\entry {\code {HISTCMD}}{66} -\entry {\code {HISTCONTROL}}{66} -\entry {\code {HISTFILE}}{66} -\entry {\code {HISTFILESIZE}}{66} -\entry {\code {HISTIGNORE}}{66} -\entry {\code {history-preserve-point}}{98} -\entry {\code {history-size}}{98} -\entry {\code {HISTSIZE}}{66} -\entry {\code {HISTTIMEFORMAT}}{67} -\entry {\code {HOME}}{61} -\entry {\code {horizontal-scroll-mode}}{99} -\entry {\code {HOSTFILE}}{67} -\entry {\code {HOSTNAME}}{67} -\entry {\code {HOSTTYPE}}{67} +\entry {\code {histchars}}{68} +\entry {\code {HISTCMD}}{68} +\entry {\code {HISTCONTROL}}{68} +\entry {\code {HISTFILE}}{68} +\entry {\code {HISTFILESIZE}}{68} +\entry {\code {HISTIGNORE}}{68} +\entry {\code {history-preserve-point}}{100} +\entry {\code {history-size}}{101} +\entry {\code {HISTSIZE}}{69} +\entry {\code {HISTTIMEFORMAT}}{69} +\entry {\code {HOME}}{63} +\entry {\code {horizontal-scroll-mode}}{101} +\entry {\code {HOSTFILE}}{69} +\entry {\code {HOSTNAME}}{69} +\entry {\code {HOSTTYPE}}{69} \initial {I} -\entry {\code {IFS}}{61} -\entry {\code {IGNOREEOF}}{67} -\entry {\code {input-meta}}{99} -\entry {\code {INPUTRC}}{67} -\entry {\code {isearch-terminators}}{99} +\entry {\code {IFS}}{63} +\entry {\code {IGNOREEOF}}{69} +\entry {\code {input-meta}}{101} +\entry {\code {INPUTRC}}{69} +\entry {\code {isearch-terminators}}{101} \initial {K} -\entry {\code {keymap}}{99} +\entry {\code {keymap}}{101} \initial {L} -\entry {\code {LANG}}{67} -\entry {\code {LC_ALL}}{67} -\entry {\code {LC_COLLATE}}{67} -\entry {\code {LC_CTYPE}}{67} -\entry {\code {LC_MESSAGES}}{7, 67} -\entry {\code {LC_NUMERIC}}{67} -\entry {\code {LINENO}}{68} -\entry {\code {LINES}}{68} +\entry {\code {LANG}}{69} +\entry {\code {LC_ALL}}{69} +\entry {\code {LC_COLLATE}}{69} +\entry {\code {LC_CTYPE}}{69} +\entry {\code {LC_MESSAGES}}{7, 70} +\entry {\code {LC_NUMERIC}}{70} +\entry {\code {LINENO}}{70} +\entry {\code {LINES}}{70} \initial {M} -\entry {\code {MACHTYPE}}{68} -\entry {\code {MAIL}}{61} -\entry {\code {MAILCHECK}}{68} -\entry {\code {MAILPATH}}{61} -\entry {\code {MAPFILE}}{68} -\entry {\code {mark-modified-lines}}{99} -\entry {\code {mark-symlinked-directories}}{99} -\entry {\code {match-hidden-files}}{99} -\entry {\code {meta-flag}}{99} +\entry {\code {MACHTYPE}}{70} +\entry {\code {MAIL}}{63} +\entry {\code {MAILCHECK}}{70} +\entry {\code {MAILPATH}}{63} +\entry {\code {MAPFILE}}{70} +\entry {\code {mark-modified-lines}}{101} +\entry {\code {mark-symlinked-directories}}{101} +\entry {\code {match-hidden-files}}{101} +\entry {\code {meta-flag}}{101} \initial {O} -\entry {\code {OLDPWD}}{68} -\entry {\code {OPTARG}}{61} -\entry {\code {OPTERR}}{68} -\entry {\code {OPTIND}}{61} -\entry {\code {OSTYPE}}{68} -\entry {\code {output-meta}}{99} +\entry {\code {OLDPWD}}{70} +\entry {\code {OPTARG}}{63} +\entry {\code {OPTERR}}{70} +\entry {\code {OPTIND}}{63} +\entry {\code {OSTYPE}}{70} +\entry {\code {output-meta}}{102} \initial {P} -\entry {\code {page-completions}}{100} -\entry {\code {PATH}}{61} -\entry {\code {PIPESTATUS}}{68} -\entry {\code {POSIXLY_CORRECT}}{68} -\entry {\code {PPID}}{68} -\entry {\code {PROMPT_COMMAND}}{68} -\entry {\code {PROMPT_DIRTRIM}}{68} -\entry {\code {PS1}}{61} -\entry {\code {PS2}}{61} -\entry {\code {PS3}}{68} -\entry {\code {PS4}}{69} -\entry {\code {PWD}}{69} +\entry {\code {page-completions}}{102} +\entry {\code {PATH}}{63} +\entry {\code {PIPESTATUS}}{70} +\entry {\code {POSIXLY_CORRECT}}{70} +\entry {\code {PPID}}{70} +\entry {\code {PROMPT_COMMAND}}{70} +\entry {\code {PROMPT_DIRTRIM}}{70} +\entry {\code {PS1}}{63} +\entry {\code {PS2}}{63} +\entry {\code {PS3}}{71} +\entry {\code {PS4}}{71} +\entry {\code {PWD}}{71} \initial {R} -\entry {\code {RANDOM}}{69} -\entry {\code {READLINE_LINE}}{69} -\entry {\code {READLINE_POINT}}{69} -\entry {\code {REPLY}}{69} -\entry {\code {revert-all-at-newline}}{100} +\entry {\code {RANDOM}}{71} +\entry {\code {READLINE_LINE}}{71} +\entry {\code {READLINE_POINT}}{71} +\entry {\code {REPLY}}{71} +\entry {\code {revert-all-at-newline}}{102} \initial {S} -\entry {\code {SECONDS}}{69} -\entry {\code {SHELL}}{69} -\entry {\code {SHELLOPTS}}{69} -\entry {\code {SHLVL}}{69} -\entry {\code {show-all-if-ambiguous}}{100} -\entry {\code {show-all-if-unmodified}}{100} -\entry {\code {skip-completed-text}}{100} +\entry {\code {SECONDS}}{71} +\entry {\code {SHELL}}{71} +\entry {\code {SHELLOPTS}}{71} +\entry {\code {SHLVL}}{71} +\entry {\code {show-all-if-ambiguous}}{102} +\entry {\code {show-all-if-unmodified}}{102} +\entry {\code {skip-completed-text}}{102} \initial {T} \entry {\code {TEXTDOMAIN}}{7} \entry {\code {TEXTDOMAINDIR}}{7} -\entry {\code {TIMEFORMAT}}{69} -\entry {\code {TMOUT}}{70} -\entry {\code {TMPDIR}}{70} +\entry {\code {TIMEFORMAT}}{71} +\entry {\code {TMOUT}}{72} +\entry {\code {TMPDIR}}{72} \initial {U} -\entry {\code {UID}}{70} +\entry {\code {UID}}{72} \initial {V} -\entry {\code {visible-stats}}{100} +\entry {\code {visible-stats}}{102} diff --git a/doc/builtins.0 b/doc/builtins.0 index 81a0b8af1..bb9082433 100644 --- a/doc/builtins.0 +++ b/doc/builtins.0 @@ -344,8 +344,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS loop) is resumed. The return value is 0 unless _n is not greater than or equal to 1. - ddeeccllaarree [--aaAAffFFiillrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...] - ttyyppeesseett [--aaAAffFFiillrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...] + ddeeccllaarree [--aaAAffFFggiillrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...] + ttyyppeesseett [--aaAAffFFggiillrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...] Declare variables and/or give them attributes. If no _n_a_m_es are given then display the values of variables. The --pp option will display the attributes and values of each _n_a_m_e. When --pp is used @@ -359,94 +359,97 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS nitions; only the function name and attributes are printed. If the eexxttddeebbuugg shell option is enabled using sshhoopptt, the source file name and line number where the function is defined are dis- - played as well. The --FF option implies --ff. The following - options can be used to restrict output to variables with the - specified attribute or to give variables attributes: - --aa Each _n_a_m_e is an indexed array variable (see AArrrraayyss + played as well. The --FF option implies --ff. The --gg option forces + variables to be created or modified at the global scope, even + when ddeeccllaarree is executed in a shell function. It is ignored in + all other cases. The following options can be used to restrict + output to variables with the specified attribute or to give + variables attributes: + --aa Each _n_a_m_e is an indexed array variable (see AArrrraayyss above). - --AA Each _n_a_m_e is an associative array variable (see AArrrraayyss + --AA Each _n_a_m_e is an associative array variable (see AArrrraayyss above). --ff Use function names only. --ii The variable is treated as an integer; arithmetic evalua- - tion (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN above) is performed when + tion (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN above) is performed when the variable is assigned a value. - --ll When the variable is assigned a value, all upper-case - characters are converted to lower-case. The upper-case + --ll When the variable is assigned a value, all upper-case + characters are converted to lower-case. The upper-case attribute is disabled. --rr Make _n_a_m_es readonly. These names cannot then be assigned values by subsequent assignment statements or unset. - --tt Give each _n_a_m_e the _t_r_a_c_e attribute. Traced functions - inherit the DDEEBBUUGG and RREETTUURRNN traps from the calling - shell. The trace attribute has no special meaning for + --tt Give each _n_a_m_e the _t_r_a_c_e attribute. Traced functions + inherit the DDEEBBUUGG and RREETTUURRNN traps from the calling + shell. The trace attribute has no special meaning for variables. - --uu When the variable is assigned a value, all lower-case - characters are converted to upper-case. The lower-case + --uu When the variable is assigned a value, all lower-case + characters are converted to upper-case. The lower-case attribute is disabled. - --xx Mark _n_a_m_es for export to subsequent commands via the + --xx Mark _n_a_m_es for export to subsequent commands via the environment. - Using `+' instead of `-' turns off the attribute instead, with + Using `+' instead of `-' turns off the attribute instead, with the exceptions that ++aa may not be used to destroy an array vari- - able and ++rr will not remove the readonly attribute. When used - in a function, makes each _n_a_m_e local, as with the llooccaall command. - If a variable name is followed by =_v_a_l_u_e, the value of the vari- - able is set to _v_a_l_u_e. The return value is 0 unless an invalid - option is encountered, an attempt is made to define a function - using ``-f foo=bar'', an attempt is made to assign a value to a - readonly variable, an attempt is made to assign a value to an - array variable without using the compound assignment syntax (see - AArrrraayyss above), one of the _n_a_m_e_s is not a valid shell variable - name, an attempt is made to turn off readonly status for a read- - only variable, an attempt is made to turn off array status for - an array variable, or an attempt is made to display a non-exis- - tent function with --ff. + able and ++rr will not remove the readonly attribute. When used + in a function, makes each _n_a_m_e local, as with the llooccaall command, + unless the --ggPP ooppttiioonn iiss ssuupppplliieedd,, IIff aa vvaarriiaabbllee nnaammee iiss ffooll-- + lloowweedd bbyy ==_v_a_l_u_e,, tthhee vvaalluuee ooff tthhee vvaarriiaabbllee iiss sseett ttoo _v_a_l_u_e.. TThhee + rreettuurrnn vvaalluuee iiss 00 uunnlleessss aann iinnvvaalliidd ooppttiioonn iiss eennccoouunntteerreedd,, aann + aatttteemmpptt iiss mmaaddee ttoo ddeeffiinnee aa ffuunnccttiioonn uussiinngg ````--ff ffoooo==bbaarr'''',, aann + aatttteemmpptt iiss mmaaddee ttoo aassssiiggnn aa vvaalluuee ttoo aa rreeaaddoonnllyy vvaarriiaabbllee,, aann + aatttteemmpptt iiss mmaaddee ttoo aassssiiggnn aa vvaalluuee ttoo aann aarrrraayy vvaarriiaabbllee wwiitthhoouutt + uussiinngg tthhee ccoommppoouunndd aassssiiggnnmmeenntt ssyynnttaaxx ((sseeee AArrrraayyss above), one of + the _n_a_m_e_s is not a valid shell variable name, an attempt is made + to turn off readonly status for a readonly variable, an attempt + is made to turn off array status for an array variable, or an + attempt is made to display a non-existent function with --ff. ddiirrss [[++_n]] [[--_n]] [[--ccllppvv]] - Without options, displays the list of currently remembered - directories. The default display is on a single line with - directory names separated by spaces. Directories are added to - the list with the ppuusshhdd command; the ppooppdd command removes + Without options, displays the list of currently remembered + directories. The default display is on a single line with + directory names separated by spaces. Directories are added to + the list with the ppuusshhdd command; the ppooppdd command removes entries from the list. ++_n Displays the _nth entry counting from the left of the list shown by ddiirrss when invoked without options, starting with zero. - --_n Displays the _nth entry counting from the right of the + --_n Displays the _nth entry counting from the right of the list shown by ddiirrss when invoked without options, starting with zero. --cc Clears the directory stack by deleting all of the entries. - --ll Produces a longer listing; the default listing format + --ll Produces a longer listing; the default listing format uses a tilde to denote the home directory. --pp Print the directory stack with one entry per line. - --vv Print the directory stack with one entry per line, pre- + --vv Print the directory stack with one entry per line, pre- fixing each entry with its index in the stack. - The return value is 0 unless an invalid option is supplied or _n + The return value is 0 unless an invalid option is supplied or _n indexes beyond the end of the directory stack. ddiissoowwnn [--aarr] [--hh] [_j_o_b_s_p_e_c ...] - Without options, each _j_o_b_s_p_e_c is removed from the table of - active jobs. If _j_o_b_s_p_e_c is not present, and neither --aa nor --rr - is supplied, the shell's notion of the _c_u_r_r_e_n_t _j_o_b is used. If + Without options, each _j_o_b_s_p_e_c is removed from the table of + active jobs. If _j_o_b_s_p_e_c is not present, and neither --aa nor --rr + is supplied, the shell's notion of the _c_u_r_r_e_n_t _j_o_b is used. If the --hh option is given, each _j_o_b_s_p_e_c is not removed from the ta- - ble, but is marked so that SSIIGGHHUUPP is not sent to the job if the - shell receives a SSIIGGHHUUPP. If no _j_o_b_s_p_e_c is present, and neither - the --aa nor the --rr option is supplied, the _c_u_r_r_e_n_t _j_o_b is used. + ble, but is marked so that SSIIGGHHUUPP is not sent to the job if the + shell receives a SSIIGGHHUUPP. If no _j_o_b_s_p_e_c is present, and neither + the --aa nor the --rr option is supplied, the _c_u_r_r_e_n_t _j_o_b is used. If no _j_o_b_s_p_e_c is supplied, the --aa option means to remove or mark - all jobs; the --rr option without a _j_o_b_s_p_e_c argument restricts - operation to running jobs. The return value is 0 unless a _j_o_b_- + all jobs; the --rr option without a _j_o_b_s_p_e_c argument restricts + operation to running jobs. The return value is 0 unless a _j_o_b_- _s_p_e_c does not specify a valid job. eecchhoo [--nneeEE] [_a_r_g ...] - Output the _a_r_gs, separated by spaces, followed by a newline. + Output the _a_r_gs, separated by spaces, followed by a newline. The return status is always 0. If --nn is specified, the trailing - newline is suppressed. If the --ee option is given, interpreta- - tion of the following backslash-escaped characters is enabled. - The --EE option disables the interpretation of these escape char- - acters, even on systems where they are interpreted by default. - The xxppgg__eecchhoo shell option may be used to dynamically determine - whether or not eecchhoo expands these escape characters by default. - eecchhoo does not interpret ---- to mean the end of options. eecchhoo + newline is suppressed. If the --ee option is given, interpreta- + tion of the following backslash-escaped characters is enabled. + The --EE option disables the interpretation of these escape char- + acters, even on systems where they are interpreted by default. + The xxppgg__eecchhoo shell option may be used to dynamically determine + whether or not eecchhoo expands these escape characters by default. + eecchhoo does not interpret ---- to mean the end of options. eecchhoo interprets the following escape sequences: \\aa alert (bell) \\bb backspace @@ -458,185 +461,190 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS \\tt horizontal tab \\vv vertical tab \\\\ backslash - \\00_n_n_n the eight-bit character whose value is the octal value + \\00_n_n_n the eight-bit character whose value is the octal value _n_n_n (zero to three octal digits) - \\xx_H_H the eight-bit character whose value is the hexadecimal + \\xx_H_H the eight-bit character whose value is the hexadecimal value _H_H (one or two hex digits) + \\uu_H_H_H_H the Unicode (ISO/IEC 10646) character whose value is the + hexadecimal value _H_H_H_H (one to four hex digits) + \\UU_H_H_H_H_H_H_H_H + the Unicode (ISO/IEC 10646) character whose value is the + hexadecimal value _H_H_H_H_H_H_H_H (one to eight hex digits) eennaabbllee [--aa] [--ddnnppss] [--ff _f_i_l_e_n_a_m_e] [_n_a_m_e ...] - 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 --nn is used, each _n_a_m_e is disabled; otherwise, _n_a_m_e_s are + to be executed without specifying a full pathname, even though + the shell normally searches for builtins before disk commands. + If --nn is used, each _n_a_m_e is disabled; otherwise, _n_a_m_e_s are enabled. For example, to use the tteesstt binary found via the PPAATTHH - instead of the shell builtin version, run ``enable -n test''. - The --ff option means to load the new builtin command _n_a_m_e from + instead of the shell builtin version, run ``enable -n test''. + The --ff option means to load the new builtin command _n_a_m_e from shared object _f_i_l_e_n_a_m_e, on systems that support dynamic loading. - The --dd option will delete a builtin previously loaded with --ff. + The --dd option will delete a builtin previously loaded with --ff. If no _n_a_m_e arguments are given, or if the --pp 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 --nn - is supplied, only disabled builtins are printed. If --aa is sup- - plied, the list printed includes all builtins, with an indica- - tion of whether or not each is enabled. If --ss is supplied, the - output is restricted to the POSIX _s_p_e_c_i_a_l builtins. The return - value is 0 unless a _n_a_m_e is not a shell builtin or there is an + ments, the list consists of all enabled shell builtins. If --nn + is supplied, only disabled builtins are printed. If --aa is sup- + plied, the list printed includes all builtins, with an indica- + tion of whether or not each is enabled. If --ss is supplied, the + output is restricted to the POSIX _s_p_e_c_i_a_l builtins. The return + value is 0 unless a _n_a_m_e is not a shell builtin or there is an error loading a new builtin from a shared object. eevvaall [_a_r_g ...] - The _a_r_gs 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 eevvaall. If there are + The _a_r_gs 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 eevvaall. If there are no _a_r_g_s, or only null arguments, eevvaall returns 0. eexxeecc [--ccll] [--aa _n_a_m_e] [_c_o_m_m_a_n_d [_a_r_g_u_m_e_n_t_s]] - If _c_o_m_m_a_n_d is specified, it replaces the shell. No new process - is created. The _a_r_g_u_m_e_n_t_s become the arguments to _c_o_m_m_a_n_d. If + If _c_o_m_m_a_n_d is specified, it replaces the shell. No new process + is created. The _a_r_g_u_m_e_n_t_s become the arguments to _c_o_m_m_a_n_d. If the --ll option is supplied, the shell places a dash at the begin- - ning of the zeroth argument passed to _c_o_m_m_a_n_d. This is what + ning of the zeroth argument passed to _c_o_m_m_a_n_d. This is what _l_o_g_i_n(1) does. The --cc option causes _c_o_m_m_a_n_d to be executed with - an empty environment. If --aa is supplied, the shell passes _n_a_m_e + an empty environment. If --aa is supplied, the shell passes _n_a_m_e as the zeroth argument to the executed command. If _c_o_m_m_a_n_d can- - not be executed for some reason, a non-interactive shell exits, - unless the shell option eexxeeccffaaiill is enabled, in which case it - returns failure. An interactive shell returns failure if the + not be executed for some reason, a non-interactive shell exits, + unless the shell option eexxeeccffaaiill is enabled, in which case it + returns failure. An interactive shell returns failure if the file cannot be executed. If _c_o_m_m_a_n_d is not specified, any redi- rections take effect in the current shell, and the return status - is 0. If there is a redirection error, the return status is 1. + is 0. If there is a redirection error, the return status is 1. eexxiitt [_n] - Cause the shell to exit with a status of _n. If _n is omitted, + Cause the shell to exit with a status of _n. If _n is omitted, the exit status is that of the last command executed. A trap on EEXXIITT is executed before the shell terminates. eexxppoorrtt [--ffnn] [_n_a_m_e[=_w_o_r_d]] ... eexxppoorrtt --pp - The supplied _n_a_m_e_s are marked for automatic export to the envi- - ronment of subsequently executed commands. If the --ff option is - given, the _n_a_m_e_s refer to functions. If no _n_a_m_e_s are given, or - if the --pp option is supplied, a list of all names that are - exported in this shell is printed. The --nn option causes the - export property to be removed from each _n_a_m_e. If a variable - name is followed by =_w_o_r_d, the value of the variable is set to - _w_o_r_d. eexxppoorrtt returns an exit status of 0 unless an invalid - option is encountered, one of the _n_a_m_e_s is not a valid shell + The supplied _n_a_m_e_s are marked for automatic export to the envi- + ronment of subsequently executed commands. If the --ff option is + given, the _n_a_m_e_s refer to functions. If no _n_a_m_e_s are given, or + if the --pp option is supplied, a list of all names that are + exported in this shell is printed. The --nn option causes the + export property to be removed from each _n_a_m_e. If a variable + name is followed by =_w_o_r_d, the value of the variable is set to + _w_o_r_d. eexxppoorrtt returns an exit status of 0 unless an invalid + option is encountered, one of the _n_a_m_e_s is not a valid shell variable name, or --ff is supplied with a _n_a_m_e that is not a func- tion. ffcc [--ee _e_n_a_m_e] [--llnnrr] [_f_i_r_s_t] [_l_a_s_t] ffcc --ss [_p_a_t=_r_e_p] [_c_m_d] - Fix Command. In the first form, a range of commands from _f_i_r_s_t - to _l_a_s_t is selected from the history list. _F_i_r_s_t and _l_a_s_t may - be specified as a string (to locate the last command beginning - with that string) or as a number (an index into the history + Fix Command. In the first form, a range of commands from _f_i_r_s_t + to _l_a_s_t is selected from the history list. _F_i_r_s_t and _l_a_s_t may + be specified as a string (to locate the last command beginning + with that string) or as a number (an index into the history list, where a negative number is used as an offset from the cur- rent command number). If _l_a_s_t is not specified it is set to the - current command for listing (so that ``fc -l -10'' prints the + current command for listing (so that ``fc -l -10'' prints the last 10 commands) and to _f_i_r_s_t otherwise. If _f_i_r_s_t is not spec- - ified it is set to the previous command for editing and -16 for + ified it is set to the previous command for editing and -16 for listing. - The --nn option suppresses the command numbers when listing. The - --rr option reverses the order of the commands. If the --ll option - is given, the commands are listed on standard output. Other- - wise, the editor given by _e_n_a_m_e is invoked on a file containing - those commands. If _e_n_a_m_e is not given, the value of the FFCCEEDDIITT - variable is used, and the value of EEDDIITTOORR if FFCCEEDDIITT is not set. - If neither variable is set, is used. When editing is complete, + The --nn option suppresses the command numbers when listing. The + --rr option reverses the order of the commands. If the --ll option + is given, the commands are listed on standard output. Other- + wise, the editor given by _e_n_a_m_e is invoked on a file containing + those commands. If _e_n_a_m_e is not given, the value of the FFCCEEDDIITT + variable is used, and the value of EEDDIITTOORR if FFCCEEDDIITT is not set. + If neither variable is set, is used. When editing is complete, the edited commands are echoed and executed. - In the second form, _c_o_m_m_a_n_d is re-executed after each instance - of _p_a_t is replaced by _r_e_p. A useful alias to use with this is - ``r="fc -s"'', so that typing ``r cc'' runs the last command + In the second form, _c_o_m_m_a_n_d is re-executed after each instance + of _p_a_t is replaced by _r_e_p. A useful alias to use with this is + ``r="fc -s"'', so that typing ``r cc'' runs the last command beginning with ``cc'' and typing ``r'' re-executes the last com- mand. - If the first form is used, the return value is 0 unless an - invalid option is encountered or _f_i_r_s_t or _l_a_s_t specify history - lines out of range. If the --ee option is supplied, the return + If the first form is used, the return value is 0 unless an + invalid option is encountered or _f_i_r_s_t or _l_a_s_t specify history + lines out of range. If the --ee 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 _c_m_d does not specify a valid history line, in + form is used, the return status is that of the command re-exe- + cuted, unless _c_m_d does not specify a valid history line, in which case ffcc returns failure. ffgg [_j_o_b_s_p_e_c] - Resume _j_o_b_s_p_e_c in the foreground, and make it the current job. + Resume _j_o_b_s_p_e_c in the foreground, and make it the current job. If _j_o_b_s_p_e_c is not present, the shell's notion of the _c_u_r_r_e_n_t _j_o_b - 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 _j_o_b_s_p_e_c does not spec- - ify a valid job or _j_o_b_s_p_e_c specifies a job that was started + ify a valid job or _j_o_b_s_p_e_c specifies a job that was started without job control. ggeettooppttss _o_p_t_s_t_r_i_n_g _n_a_m_e [_a_r_g_s] - ggeettooppttss is used by shell procedures to parse positional parame- - ters. _o_p_t_s_t_r_i_n_g contains the option characters to be recog- - nized; if a character is followed by a colon, the option is - expected to have an argument, which should be separated from it - by white space. The colon and question mark characters may not - be used as option characters. Each time it is invoked, ggeettooppttss - places the next option in the shell variable _n_a_m_e, initializing + ggeettooppttss is used by shell procedures to parse positional parame- + ters. _o_p_t_s_t_r_i_n_g contains the option characters to be recog- + nized; if a character is followed by a colon, the option is + expected to have an argument, which should be separated from it + by white space. The colon and question mark characters may not + be used as option characters. Each time it is invoked, ggeettooppttss + places the next option in the shell variable _n_a_m_e, initializing _n_a_m_e if it does not exist, and the index of the next argument to be processed into the variable OOPPTTIINNDD. OOPPTTIINNDD is initialized to - 1 each time the shell or a shell script is invoked. When an - option requires an argument, ggeettooppttss places that argument into - the variable OOPPTTAARRGG. The shell does not reset OOPPTTIINNDD automati- - cally; it must be manually reset between multiple calls to + 1 each time the shell or a shell script is invoked. When an + option requires an argument, ggeettooppttss places that argument into + the variable OOPPTTAARRGG. The shell does not reset OOPPTTIINNDD automati- + cally; it must be manually reset between multiple calls to ggeettooppttss within the same shell invocation if a new set of parame- ters is to be used. - When the end of options is encountered, ggeettooppttss exits with a - return value greater than zero. OOPPTTIINNDD is set to the index of + When the end of options is encountered, ggeettooppttss exits with a + return value greater than zero. OOPPTTIINNDD is set to the index of the first non-option argument, and nnaammee is set to ?. - ggeettooppttss normally parses the positional parameters, but if more + ggeettooppttss normally parses the positional parameters, but if more arguments are given in _a_r_g_s, ggeettooppttss parses those instead. - ggeettooppttss can report errors in two ways. If the first character - of _o_p_t_s_t_r_i_n_g is a colon, _s_i_l_e_n_t error reporting is used. In - normal operation diagnostic messages are printed when invalid - options or missing option arguments are encountered. If the - variable OOPPTTEERRRR is set to 0, no error messages will be dis- + ggeettooppttss can report errors in two ways. If the first character + of _o_p_t_s_t_r_i_n_g is a colon, _s_i_l_e_n_t error reporting is used. In + normal operation diagnostic messages are printed when invalid + options or missing option arguments are encountered. If the + variable OOPPTTEERRRR is set to 0, no error messages will be dis- played, even if the first character of _o_p_t_s_t_r_i_n_g is not a colon. If an invalid option is seen, ggeettooppttss places ? into _n_a_m_e and, if - not silent, prints an error message and unsets OOPPTTAARRGG. If - ggeettooppttss is silent, the option character found is placed in + not silent, prints an error message and unsets OOPPTTAARRGG. If + ggeettooppttss is silent, the option character found is placed in OOPPTTAARRGG and no diagnostic message is printed. - If a required argument is not found, and ggeettooppttss is not silent, - a question mark (??) is placed in _n_a_m_e, OOPPTTAARRGG is unset, and a - diagnostic message is printed. If ggeettooppttss is silent, then a - colon (::) is placed in _n_a_m_e and OOPPTTAARRGG is set to the option + If a required argument is not found, and ggeettooppttss is not silent, + a question mark (??) is placed in _n_a_m_e, OOPPTTAARRGG is unset, and a + diagnostic message is printed. If ggeettooppttss is silent, then a + colon (::) is placed in _n_a_m_e and OOPPTTAARRGG is set to the option character found. - ggeettooppttss returns true if an option, specified or unspecified, is + ggeettooppttss returns true if an option, specified or unspecified, is found. It returns false if the end of options is encountered or an error occurs. hhaasshh [--llrr] [--pp _f_i_l_e_n_a_m_e] [--ddtt] [_n_a_m_e] Each time hhaasshh is invoked, the full pathname of the command _n_a_m_e - is determined by searching the directories in $$PPAATTHH and remem- + is determined by searching the directories in $$PPAATTHH and remem- bered. Any previously-remembered pathname is discarded. If the --pp option is supplied, no path search is performed, and _f_i_l_e_n_a_m_e - is used as the full file name of the command. The --rr option - causes the shell to forget all remembered locations. The --dd - option causes the shell to forget the remembered location of - each _n_a_m_e. If the --tt option is supplied, the full pathname to - which each _n_a_m_e corresponds is printed. If multiple _n_a_m_e argu- - ments are supplied with --tt, the _n_a_m_e is printed before the - hashed full pathname. The --ll option causes output to be dis- + is used as the full file name of the command. The --rr option + causes the shell to forget all remembered locations. The --dd + option causes the shell to forget the remembered location of + each _n_a_m_e. If the --tt option is supplied, the full pathname to + which each _n_a_m_e corresponds is printed. If multiple _n_a_m_e argu- + ments are supplied with --tt, the _n_a_m_e is printed before the + hashed full pathname. The --ll option causes output to be dis- played in a format that may be reused as input. If no arguments - are given, or if only --ll is supplied, information about remem- - bered commands is printed. The return status is true unless a + are given, or if only --ll is supplied, information about remem- + bered commands is printed. The return status is true unless a _n_a_m_e is not found or an invalid option is supplied. hheellpp [--ddmmss] [_p_a_t_t_e_r_n] - Display helpful information about builtin commands. If _p_a_t_t_e_r_n - is specified, hheellpp gives detailed help on all commands matching - _p_a_t_t_e_r_n; otherwise help for all the builtins and shell control + Display helpful information about builtin commands. If _p_a_t_t_e_r_n + is specified, hheellpp gives detailed help on all commands matching + _p_a_t_t_e_r_n; otherwise help for all the builtins and shell control structures is printed. --dd Display a short description of each _p_a_t_t_e_r_n --mm Display the description of each _p_a_t_t_e_r_n in a manpage-like @@ -652,44 +660,44 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS hhiissttoorryy --ss _a_r_g [_a_r_g _._._.] With no options, display the command history list with line num- bers. Lines listed with a ** have been modified. An argument of - _n lists only the last _n lines. If the shell variable HHIISSTTTTIIMMEE-- - FFOORRMMAATT is set and not null, it is used as a format string for - _s_t_r_f_t_i_m_e(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 _f_i_l_e_n_a_m_e is - supplied, it is used as the name of the history file; if not, - the value of HHIISSTTFFIILLEE is used. Options, if supplied, have the + _n lists only the last _n lines. If the shell variable HHIISSTTTTIIMMEE-- + FFOORRMMAATT is set and not null, it is used as a format string for + _s_t_r_f_t_i_m_e(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 _f_i_l_e_n_a_m_e is + supplied, it is used as the name of the history file; if not, + the value of HHIISSTTFFIILLEE is used. Options, if supplied, have the following meanings: --cc Clear the history list by deleting all the entries. --dd _o_f_f_s_e_t Delete the history entry at position _o_f_f_s_e_t. - --aa Append the ``new'' history lines (history lines entered - since the beginning of the current bbaasshh session) to the + --aa Append the ``new'' history lines (history lines entered + since the beginning of the current bbaasshh session) to the history file. - --nn Read the history lines not already read from the history - file into the current history list. These are lines - appended to the history file since the beginning of the + --nn Read the history lines not already read from the history + file into the current history list. These are lines + appended to the history file since the beginning of the current bbaasshh session. --rr Read the contents of the history file and use them as the current history. - --ww Write the current history to the history file, overwrit- + --ww Write the current history to the history file, overwrit- ing the history file's contents. - --pp Perform history substitution on the following _a_r_g_s and - display the result on the standard output. Does not - store the results in the history list. Each _a_r_g must be + --pp Perform history substitution on the following _a_r_g_s and + display the result on the standard output. Does not + store the results in the history list. Each _a_r_g must be quoted to disable normal history expansion. - --ss Store the _a_r_g_s in the history list as a single entry. - The last command in the history list is removed before + --ss Store the _a_r_g_s in the history list as a single entry. + The last command in the history list is removed before the _a_r_g_s are added. - If the HHIISSTTTTIIMMEEFFOORRMMAATT 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 HHIISSTTTTIIMMEEFFOORRMMAATT 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 previous history line. The return value is 0 - unless an invalid option is encountered, an error occurs while - reading or writing the history file, an invalid _o_f_f_s_e_t is sup- + unless an invalid option is encountered, an error occurs while + reading or writing the history file, an invalid _o_f_f_s_e_t is sup- plied as an argument to --dd, or the history expansion supplied as an argument to --pp fails. @@ -698,186 +706,195 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS The first form lists the active jobs. The options have the fol- lowing meanings: --ll List process IDs in addition to the normal information. - --nn Display information only about jobs that have changed - status since the user was last notified of their status. - --pp List only the process ID of the job's process group + --nn Display information only about jobs that have changed + status since the user was last notified of their status. + --pp List only the process ID of the job's process group leader. --rr Restrict output to running jobs. --ss Restrict output to stopped jobs. - If _j_o_b_s_p_e_c is given, output is restricted to information about - that job. The return status is 0 unless an invalid option is + If _j_o_b_s_p_e_c is given, output is restricted to information about + that job. The return status is 0 unless an invalid option is encountered or an invalid _j_o_b_s_p_e_c is supplied. If the --xx option is supplied, jjoobbss replaces any _j_o_b_s_p_e_c found in - _c_o_m_m_a_n_d or _a_r_g_s with the corresponding process group ID, and + _c_o_m_m_a_n_d or _a_r_g_s with the corresponding process group ID, and executes _c_o_m_m_a_n_d passing it _a_r_g_s, returning its exit status. kkiillll [--ss _s_i_g_s_p_e_c | --nn _s_i_g_n_u_m | --_s_i_g_s_p_e_c] [_p_i_d | _j_o_b_s_p_e_c] ... kkiillll --ll [_s_i_g_s_p_e_c | _e_x_i_t___s_t_a_t_u_s] - Send the signal named by _s_i_g_s_p_e_c or _s_i_g_n_u_m to the processes - named by _p_i_d or _j_o_b_s_p_e_c. _s_i_g_s_p_e_c is either a case-insensitive - signal name such as SSIIGGKKIILLLL (with or without the SSIIGG prefix) or - a signal number; _s_i_g_n_u_m is a signal number. If _s_i_g_s_p_e_c is not - present, then SSIIGGTTEERRMM is assumed. An argument of --ll lists the - signal names. If any arguments are supplied when --ll is given, - the names of the signals corresponding to the arguments are + Send the signal named by _s_i_g_s_p_e_c or _s_i_g_n_u_m to the processes + named by _p_i_d or _j_o_b_s_p_e_c. _s_i_g_s_p_e_c is either a case-insensitive + signal name such as SSIIGGKKIILLLL (with or without the SSIIGG prefix) or + a signal number; _s_i_g_n_u_m is a signal number. If _s_i_g_s_p_e_c is not + present, then SSIIGGTTEERRMM is assumed. An argument of --ll lists the + signal names. If any arguments are supplied when --ll is given, + the names of the signals corresponding to the arguments are listed, and the return status is 0. The _e_x_i_t___s_t_a_t_u_s argument to - --ll is a number specifying either a signal number or the exit - status of a process terminated by a signal. kkiillll returns true - if at least one signal was successfully sent, or false if an + --ll is a number specifying either a signal number or the exit + status of a process terminated by a signal. kkiillll returns true + if at least one signal was successfully sent, or false if an error occurs or an invalid option is encountered. lleett _a_r_g [_a_r_g ...] Each _a_r_g is an arithmetic expression to be evaluated (see AARRIITTHH-- - MMEETTIICC EEVVAALLUUAATTIIOONN above). If the last _a_r_g evaluates to 0, lleett + MMEETTIICC EEVVAALLUUAATTIIOONN above). If the last _a_r_g evaluates to 0, lleett returns 1; 0 is returned otherwise. llooccaall [_o_p_t_i_o_n] [_n_a_m_e[=_v_a_l_u_e] ...] - For each argument, a local variable named _n_a_m_e is created, and - assigned _v_a_l_u_e. The _o_p_t_i_o_n can be any of the options accepted + For each argument, a local variable named _n_a_m_e is created, and + assigned _v_a_l_u_e. The _o_p_t_i_o_n can be any of the options accepted by ddeeccllaarree. When llooccaall is used within a function, it causes the - variable _n_a_m_e to have a visible scope restricted to that func- + variable _n_a_m_e to have a visible scope restricted to that func- tion and its children. With no operands, llooccaall writes a list of - local variables to the standard output. It is an error to use + local variables to the standard output. It is an error to use llooccaall when not within a function. The return status is 0 unless - llooccaall is used outside a function, an invalid _n_a_m_e is supplied, + llooccaall is used outside a function, an invalid _n_a_m_e is supplied, or _n_a_m_e is a readonly variable. llooggoouutt Exit a login shell. - mmaappffiillee [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k] + mmaappffiillee [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k] [--cc _q_u_a_n_t_u_m] [_a_r_r_a_y] - rreeaaddaarrrraayy [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k] + rreeaaddaarrrraayy [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k] [--cc _q_u_a_n_t_u_m] [_a_r_r_a_y] - Read lines from the standard input into the indexed array vari- - able _a_r_r_a_y, or from file descriptor _f_d if the --uu option is sup- - plied. The variable MMAAPPFFIILLEE is the default _a_r_r_a_y. Options, if + Read lines from the standard input into the indexed array vari- + able _a_r_r_a_y, or from file descriptor _f_d if the --uu option is sup- + plied. The variable MMAAPPFFIILLEE is the default _a_r_r_a_y. Options, if supplied, have the following meanings: - --nn Copy at most _c_o_u_n_t lines. If _c_o_u_n_t is 0, all lines are + --nn Copy at most _c_o_u_n_t lines. If _c_o_u_n_t is 0, all lines are copied. - --OO Begin assigning to _a_r_r_a_y at index _o_r_i_g_i_n. The default + --OO Begin assigning to _a_r_r_a_y at index _o_r_i_g_i_n. The default index is 0. --ss Discard the first _c_o_u_n_t lines read. --tt Remove a trailing newline from each line read. - --uu Read lines from file descriptor _f_d instead of the stan- + --uu Read lines from file descriptor _f_d instead of the stan- dard input. - --CC Evaluate _c_a_l_l_b_a_c_k each time _q_u_a_n_t_u_m lines are read. The + --CC Evaluate _c_a_l_l_b_a_c_k each time _q_u_a_n_t_u_m lines are read. The --cc option specifies _q_u_a_n_t_u_m. - --cc Specify the number of lines read between each call to + --cc Specify the number of lines read between each call to _c_a_l_l_b_a_c_k. - If --CC is specified without --cc, the default quantum is 5000. + If --CC is specified without --cc, the default quantum is 5000. When _c_a_l_l_b_a_c_k is evaluated, it is supplied the index of the next - array element to be assigned as an additional argument. _c_a_l_l_- - _b_a_c_k is evaluated after the line is read but before the array - element is assigned. + array element to be assigned and the line to be assigned to that + element as additional arguments. _c_a_l_l_b_a_c_k is evaluated after + the line is read but before the array element is assigned. - If not supplied with an explicit origin, mmaappffiillee will clear + If not supplied with an explicit origin, mmaappffiillee will clear _a_r_r_a_y before assigning to it. - mmaappffiillee returns successfully unless an invalid option or option - argument is supplied, _a_r_r_a_y is invalid or unassignable, or if + mmaappffiillee returns successfully unless an invalid option or option + argument is supplied, _a_r_r_a_y is invalid or unassignable, or if _a_r_r_a_y is not an indexed array. ppooppdd [-nn] [+_n] [-_n] - Removes entries from the directory stack. With no arguments, - removes the top directory from the stack, and performs a ccdd to + Removes entries from the directory stack. With no arguments, + removes the top directory from the stack, and performs a ccdd to the new top directory. Arguments, if supplied, have the follow- ing meanings: - --nn Suppresses the normal change of directory when removing - directories from the stack, so that only the stack is + --nn Suppresses the normal change of directory when removing + directories from the stack, so that only the stack is manipulated. - ++_n Removes the _nth entry counting from the left of the list - shown by ddiirrss, starting with zero. For example: ``popd + ++_n Removes the _nth entry counting from the left of the list + shown by ddiirrss, starting with zero. For example: ``popd +0'' removes the first directory, ``popd +1'' the second. --_n Removes the _nth entry counting from the right of the list - shown by ddiirrss, starting with zero. For example: ``popd - -0'' removes the last directory, ``popd -1'' the next to + shown by ddiirrss, starting with zero. For example: ``popd + -0'' removes the last directory, ``popd -1'' the next to last. - If the ppooppdd command is successful, a ddiirrss is performed as well, - and the return status is 0. ppooppdd returns false if an invalid + If the ppooppdd command is successful, a ddiirrss is performed as well, + and the return status is 0. ppooppdd returns false if an invalid option is encountered, the directory stack is empty, a non-exis- tent directory stack entry is specified, or the directory change fails. pprriinnttff [--vv _v_a_r] _f_o_r_m_a_t [_a_r_g_u_m_e_n_t_s] - Write the formatted _a_r_g_u_m_e_n_t_s to the standard output under the - control of the _f_o_r_m_a_t. The _f_o_r_m_a_t 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 for- - mat specifications, each of which causes printing of the next - successive _a_r_g_u_m_e_n_t. In addition to the standard _p_r_i_n_t_f(1) for- - mats, %%bb causes pprriinnttff to expand backslash escape sequences in - the corresponding _a_r_g_u_m_e_n_t (except that \\cc terminates output, - backslashes in \\'', \\"", and \\?? are not removed, and octal escapes - beginning with \\00 may contain up to four digits), and %%qq causes - pprriinnttff to output the corresponding _a_r_g_u_m_e_n_t in a format that can - be reused as shell input. + Write the formatted _a_r_g_u_m_e_n_t_s to the standard output under the + control of the _f_o_r_m_a_t. The --vv option causes the output to be + assigned to the variable _v_a_r rather than being printed to the + standard output. + + The _f_o_r_m_a_t 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 _a_r_g_u_m_e_n_t. In + addition to the standard _p_r_i_n_t_f(1) format specifications, pprriinnttff + interprets the following extensions: + %%bb causes pprriinnttff to expand backslash escape sequences in the + corresponding _a_r_g_u_m_e_n_t (except that \\cc terminates output, + backslashes in \\'', \\"", and \\?? are not removed, and octal + escapes beginning with \\00 may contain up to four digits). + %%qq causes pprriinnttff to output the corresponding _a_r_g_u_m_e_n_t in a + format that can be reused as shell input. + %%((_d_a_t_e_f_m_t))TT + causes pprriinnttff to output the date-time string resulting + from using _d_a_t_e_f_m_t as a format string for _s_t_r_f_t_i_m_e(3). + The corresponding _a_r_g_u_m_e_n_t 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. Arguments to non-string format specifiers are treated as C con- stants, except that a leading plus or minus sign is allowed, and if the leading character is a single or double quote, the value is the ASCII value of the following character. - The --vv option causes the output to be assigned to the variable - _v_a_r rather than being printed to the standard output. - - The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_- + The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_- _m_e_n_t_s. If the _f_o_r_m_a_t requires more _a_r_g_u_m_e_n_t_s than are supplied, - the extra format specifications behave as if a zero value or - null string, as appropriate, had been supplied. The return + 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 on failure. ppuusshhdd [--nn] [+_n] [-_n] ppuusshhdd [--nn] [_d_i_r] - Adds a directory to the top of the directory stack, or rotates - the stack, making the new top of the stack the current working + 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, exchanges the top two directories - and returns 0, unless the directory stack is empty. Arguments, + and returns 0, unless the directory stack is empty. Arguments, if supplied, have the following meanings: - --nn Suppresses the normal change of directory when adding - directories to the stack, so that only the stack is + --nn Suppresses the normal change of directory when adding + directories to the stack, so that only the stack is manipulated. - ++_n Rotates the stack so that the _nth directory (counting - from the left of the list shown by ddiirrss, starting with + ++_n Rotates the stack so that the _nth directory (counting + from the left of the list shown by ddiirrss, starting with zero) is at the top. - --_n Rotates the stack so that the _nth directory (counting - from the right of the list shown by ddiirrss, starting with + --_n Rotates the stack so that the _nth directory (counting + from the right of the list shown by ddiirrss, starting with zero) is at the top. _d_i_r Adds _d_i_r to the directory stack at the top, making it the new current working directory. If the ppuusshhdd command is successful, a ddiirrss is performed as well. - If the first form is used, ppuusshhdd returns 0 unless the cd to _d_i_r - fails. With the second form, ppuusshhdd returns 0 unless the direc- - tory stack is empty, a non-existent directory stack element is - specified, or the directory change to the specified new current + If the first form is used, ppuusshhdd returns 0 unless the cd to _d_i_r + fails. With the second form, ppuusshhdd returns 0 unless the direc- + tory stack is empty, a non-existent directory stack element is + specified, or the directory change to the specified new current directory fails. ppwwdd [--LLPP] - 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 --PP option is supplied or the --oo pphhyyssiiccaall option to the sseett builtin command - is enabled. If the --LL option is used, the pathname printed may - contain symbolic links. The return status is 0 unless an error - occurs while reading the name of the current directory or an + is enabled. If the --LL option is used, the pathname printed may + contain symbolic links. The return status is 0 unless an error + occurs while reading the name of the current directory or an invalid option is supplied. rreeaadd [--eerrss] [--aa _a_n_a_m_e] [--dd _d_e_l_i_m] [--ii _t_e_x_t] [--nn _n_c_h_a_r_s] [--NN _n_c_h_a_r_s] [--pp _p_r_o_m_p_t] [--tt _t_i_m_e_o_u_t] [--uu _f_d] [_n_a_m_e ...] - One line is read from the standard input, or from the file - descriptor _f_d supplied as an argument to the --uu option, and the + One line is read from the standard input, or from the file + descriptor _f_d supplied as an argument to the --uu option, and the first word is assigned to the first _n_a_m_e, the second word to the - second _n_a_m_e, and so on, with leftover words and their interven- - ing separators assigned to the last _n_a_m_e. If there are fewer + second _n_a_m_e, and so on, with leftover words and their interven- + ing separators assigned to the last _n_a_m_e. If there are fewer words read from the input stream than names, the remaining names - are assigned empty values. The characters in IIFFSS are used to - split the line into words. The backslash character (\\) may be - used to remove any special meaning for the next character read - and for line continuation. Options, if supplied, have the fol- + are assigned empty values. The characters in IIFFSS are used to + split the line into words. The backslash character (\\) may be + used to remove any special meaning for the next character read + and for line continuation. Options, if supplied, have the fol- lowing meanings: --aa _a_n_a_m_e The words are assigned to sequential indices of the array @@ -885,132 +902,132 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS new values are assigned. Other _n_a_m_e arguments are ignored. --dd _d_e_l_i_m - The first character of _d_e_l_i_m is used to terminate the + The first character of _d_e_l_i_m is used to terminate the input line, rather than newline. --ee If the standard input is coming from a terminal, rreeaaddlliinnee - (see RREEAADDLLIINNEE above) is used to obtain the line. Read- - line uses the current (or default, if line editing was + (see RREEAADDLLIINNEE above) is used to obtain the line. Read- + line uses the current (or default, if line editing was not previously active) editing settings. --ii _t_e_x_t - If rreeaaddlliinnee is being used to read the line, _t_e_x_t is + If rreeaaddlliinnee is being used to read the line, _t_e_x_t is placed into the editing buffer before editing begins. --nn _n_c_h_a_r_s - rreeaadd returns after reading _n_c_h_a_r_s characters rather than - waiting for a complete line of input, but honor a delim- - iter if fewer than _n_c_h_a_r_s characters are read before the + rreeaadd returns after reading _n_c_h_a_r_s characters rather than + waiting for a complete line of input, but honor a delim- + iter if fewer than _n_c_h_a_r_s characters are read before the delimiter. --NN _n_c_h_a_r_s - rreeaadd returns after reading exactly _n_c_h_a_r_s characters - rather than waiting for a complete line of input, unless - EOF is encountered or rreeaadd times out. Delimiter charac- - ters encountered in the input are not treated specially - and do not cause rreeaadd to return until _n_c_h_a_r_s characters + rreeaadd returns after reading exactly _n_c_h_a_r_s characters + rather than waiting for a complete line of input, unless + EOF is encountered or rreeaadd times out. Delimiter charac- + ters encountered in the input are not treated specially + and do not cause rreeaadd to return until _n_c_h_a_r_s characters are read. --pp _p_r_o_m_p_t Display _p_r_o_m_p_t on standard error, without a trailing new- line, before attempting to read any input. The prompt is displayed only if input is coming from a terminal. --rr Backslash does not act as an escape character. The back- - slash is considered to be part of the line. In particu- - lar, a backslash-newline pair may not be used as a line + slash is considered to be part of the line. In particu- + lar, a backslash-newline pair may not be used as a line continuation. --ss Silent mode. If input is coming from a terminal, charac- ters are not echoed. --tt _t_i_m_e_o_u_t - Cause rreeaadd to time out and return failure if a complete - line of input is not read within _t_i_m_e_o_u_t seconds. _t_i_m_e_- - _o_u_t may be a decimal number with a fractional portion - following the decimal point. This option is only effec- - tive if rreeaadd is reading input from a terminal, pipe, or - other special file; it has no effect when reading from - regular files. If _t_i_m_e_o_u_t is 0, rreeaadd returns success if - input is available on the specified file descriptor, - failure otherwise. The exit status is greater than 128 + Cause rreeaadd to time out and return failure if a complete + line of input is not read within _t_i_m_e_o_u_t seconds. _t_i_m_e_- + _o_u_t may be a decimal number with a fractional portion + following the decimal point. This option is only effec- + tive if rreeaadd is reading input from a terminal, pipe, or + other special file; it has no effect when reading from + regular files. If _t_i_m_e_o_u_t is 0, rreeaadd returns success if + input is available on the specified file descriptor, + failure otherwise. The exit status is greater than 128 if the timeout is exceeded. --uu _f_d Read input from file descriptor _f_d. If no _n_a_m_e_s are supplied, the line read is assigned to the vari- - able RREEPPLLYY. The return code is zero, unless end-of-file is - encountered, rreeaadd times out (in which case the return code is - greater than 128), or an invalid file descriptor is supplied as + able RREEPPLLYY. The return code is zero, unless end-of-file is + encountered, rreeaadd times out (in which case the return code is + greater than 128), or an invalid file descriptor is supplied as the argument to --uu. rreeaaddoonnllyy [--aaAAppff] [_n_a_m_e[=_w_o_r_d] ...] - The given _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s - may not be changed by subsequent assignment. If the --ff option - is supplied, the functions corresponding to the _n_a_m_e_s are so - marked. The --aa option restricts the variables to indexed - arrays; the --AA option restricts the variables to associative - arrays. If no _n_a_m_e arguments are given, or if the --pp option is - supplied, a list of all readonly names is printed. The --pp - option causes output to be displayed in a format that may be - reused as input. If a variable name is followed by =_w_o_r_d, the - value of the variable is set to _w_o_r_d. The return status is 0 + The given _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s + may not be changed by subsequent assignment. If the --ff option + is supplied, the functions corresponding to the _n_a_m_e_s are so + marked. The --aa option restricts the variables to indexed + arrays; the --AA option restricts the variables to associative + arrays. If no _n_a_m_e arguments are given, or if the --pp option is + supplied, a list of all readonly names is printed. The --pp + option causes output to be displayed in a format that may be + reused as input. If a variable name is followed by =_w_o_r_d, the + value of the variable is set to _w_o_r_d. The return status is 0 unless an invalid option is encountered, one of the _n_a_m_e_s is not - a valid shell variable name, or --ff is supplied with a _n_a_m_e that + a valid shell variable name, or --ff is supplied with a _n_a_m_e that is not a function. rreettuurrnn [_n] - Causes a function to exit with the return value specified by _n. - If _n is omitted, the return status is that of the last command - executed in the function body. If used outside a function, but - during execution of a script by the .. (ssoouurrccee) command, it + Causes a function to exit with the return value specified by _n. + If _n is omitted, the return status is that of the last command + executed in the function body. If used outside a function, but + during execution of a script by the .. (ssoouurrccee) command, it causes the shell to stop executing that script and return either - _n or the exit status of the last command executed within the - script as the exit status of the script. If used outside a - function and not during execution of a script by .., the return + _n or the exit status of the last command executed within the + script as the exit status of the script. If used outside a + function and not during execution of a script by .., the return status is false. Any command associated with the RREETTUURRNN trap is - executed before execution resumes after the function or script. + executed before execution resumes after the function or script. sseett [----aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [--oo _o_p_t_i_o_n] [_a_r_g ...] sseett [++aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [++oo _o_p_t_i_o_n] [_a_r_g ...] - Without options, the name and value of each shell variable are + Without options, the name and value of each shell variable are displayed in a format that can be reused as input for setting or resetting the currently-set variables. Read-only variables can- - not be reset. In _p_o_s_i_x _m_o_d_e, 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 - arguments remaining after option processing are treated as val- + not be reset. In _p_o_s_i_x _m_o_d_e, 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 + arguments remaining after option processing are treated as val- ues for the positional parameters and are assigned, in order, to - $$11, $$22, ...... $$_n. Options, if specified, have the following + $$11, $$22, ...... $$_n. Options, if specified, have the following meanings: - --aa Automatically mark variables and functions which are - modified or created for export to the environment of + --aa Automatically mark variables and functions which are + modified or created for export to the environment of subsequent commands. - --bb Report the status of terminated background jobs immedi- + --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. - --ee Exit immediately if a _p_i_p_e_l_i_n_e (which may consist of a - single _s_i_m_p_l_e _c_o_m_m_a_n_d), a _s_u_b_s_h_e_l_l command enclosed in - parentheses, or one of the commands executed as part of - a command list enclosed by braces (see SSHHEELLLL GGRRAAMMMMAARR + --ee Exit immediately if a _p_i_p_e_l_i_n_e (which may consist of a + single _s_i_m_p_l_e _c_o_m_m_a_n_d), a _s_u_b_s_h_e_l_l command enclosed in + parentheses, or one of the commands executed as part of + a command list enclosed by braces (see SSHHEELLLL GGRRAAMMMMAARR above) exits with a non-zero status. The shell does not - exit if the command that fails is part of the command - list immediately following a wwhhiillee or uunnttiill keyword, - part of the test following the iiff or eelliiff reserved - words, part of any command executed in a &&&& or |||| list - except the command following the final &&&& or ||||, any - command in a pipeline but the last, or if the command's - return value is being inverted with !!. A trap on EERRRR, + exit if the command that fails is part of the command + list immediately following a wwhhiillee or uunnttiill keyword, + part of the test following the iiff or eelliiff reserved + words, part of any command executed in a &&&& or |||| list + except the command following the final &&&& or ||||, any + command in a pipeline but the last, or if the command's + return value is being inverted with !!. A trap on EERRRR, if set, is executed before the shell exits. This option applies to the shell environment and each subshell envi- - ronment separately (see CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENNTT + ronment separately (see CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENNTT above), and may cause subshells to exit before executing all the commands in the subshell. --ff Disable pathname expansion. - --hh Remember the location of commands as they are looked up + --hh Remember the location of commands as they are looked up for execution. This is enabled by default. - --kk All arguments in the form of assignment statements are - placed in the environment for a command, not just those + --kk All arguments in the form of assignment statements are + placed in the environment for a command, not just those that precede the command name. - --mm Monitor mode. Job control is enabled. This option is - on by default for interactive shells on systems that - support it (see JJOOBB CCOONNTTRROOLL above). Background pro- - cesses run in a separate process group and a line con- - taining their exit status is printed upon their comple- + --mm Monitor mode. Job control is enabled. This option is + on by default for interactive shells on systems that + support it (see JJOOBB CCOONNTTRROOLL above). Background pro- + cesses run in a separate process group and a line con- + taining their exit status is printed upon their comple- tion. --nn Read commands but do not execute them. This may be used - to check a shell script for syntax errors. This is + to check a shell script for syntax errors. This is ignored by interactive shells. --oo _o_p_t_i_o_n_-_n_a_m_e The _o_p_t_i_o_n_-_n_a_m_e can be one of the following: @@ -1018,10 +1035,10 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS Same as --aa. bbrraacceeeexxppaanndd Same as --BB. - eemmaaccss Use an emacs-style command line editing inter- + eemmaaccss 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 ----nnooeeddiittiinngg option. This also affects the + the ----nnooeeddiittiinngg option. This also affects the editing interface used for rreeaadd --ee. eerrrreexxiitt Same as --ee. eerrrrttrraaccee @@ -1035,8 +1052,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS HHIISSTTOORRYY. This option is on by default in inter- active shells. iiggnnoorreeeeooff - The effect is as if the shell command - ``IGNOREEOF=10'' had been executed (see SShheellll + The effect is as if the shell command + ``IGNOREEOF=10'' had been executed (see SShheellll VVaarriiaabblleess above). kkeeyywwoorrdd Same as --kk. mmoonniittoorr Same as --mm. @@ -1051,158 +1068,158 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS pphhyyssiiccaall Same as --PP. ppiippeeffaaiill - 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. - ppoossiixx Change the behavior of bbaasshh where the default - operation differs from the POSIX standard to + ppoossiixx Change the behavior of bbaasshh where the default + operation differs from the POSIX standard to match the standard (_p_o_s_i_x _m_o_d_e). pprriivviilleeggeedd Same as --pp. vveerrbboossee Same as --vv. - vvii Use a vi-style command line editing interface. + vvii Use a vi-style command line editing interface. This also affects the editing interface used for rreeaadd --ee. xxttrraaccee Same as --xx. If --oo is supplied with no _o_p_t_i_o_n_-_n_a_m_e, the values of the - current options are printed. If ++oo is supplied with no - _o_p_t_i_o_n_-_n_a_m_e, a series of sseett commands to recreate the - current option settings is displayed on the standard + current options are printed. If ++oo is supplied with no + _o_p_t_i_o_n_-_n_a_m_e, a series of sseett commands to recreate the + current option settings is displayed on the standard output. - --pp Turn on _p_r_i_v_i_l_e_g_e_d mode. In this mode, the $$EENNVV and - $$BBAASSHH__EENNVV files are not processed, shell functions are - not inherited from the environment, and the SSHHEELLLLOOPPTTSS, - BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they + --pp Turn on _p_r_i_v_i_l_e_g_e_d mode. In this mode, the $$EENNVV and + $$BBAASSHH__EENNVV files are not processed, shell functions are + not inherited from the environment, and the SSHHEELLLLOOPPTTSS, + BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they appear in the environment, are ignored. If the shell is - started with the effective user (group) id not equal to - the real user (group) id, and the --pp option is not sup- + started with the effective user (group) id not equal to + the real user (group) id, and the --pp option is not sup- plied, these actions are taken and the effective user id - is set to the real user id. If the --pp 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 --pp 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. --tt Exit after reading and executing one command. --uu Treat unset variables and parameters other than the spe- - cial parameters "@" and "*" as an error when performing - parameter expansion. If expansion is attempted on an - unset variable or parameter, the shell prints an error - message, and, if not interactive, exits with a non-zero + cial parameters "@" and "*" as an error when performing + parameter expansion. If expansion is attempted on an + unset variable or parameter, the shell prints an error + message, and, if not interactive, exits with a non-zero status. --vv Print shell input lines as they are read. - --xx After expanding each _s_i_m_p_l_e _c_o_m_m_a_n_d, ffoorr command, ccaassee + --xx After expanding each _s_i_m_p_l_e _c_o_m_m_a_n_d, ffoorr command, ccaassee command, sseelleecctt command, or arithmetic ffoorr command, dis- - play the expanded value of PPSS44, followed by the command + play the expanded value of PPSS44, followed by the command and its expanded arguments or associated word list. - --BB The shell performs brace expansion (see BBrraaccee EExxppaannssiioonn + --BB The shell performs brace expansion (see BBrraaccee EExxppaannssiioonn above). This is on by default. - --CC If set, bbaasshh does not overwrite an existing file with - the >>, >>&&, and <<>> redirection operators. This may be + --CC If set, bbaasshh does not overwrite an existing file with + the >>, >>&&, and <<>> redirection operators. This may be overridden when creating output files by using the redi- rection operator >>|| instead of >>. --EE If set, any trap on EERRRR is inherited by shell functions, - command substitutions, and commands executed in a sub- - shell environment. The EERRRR trap is normally not inher- + command substitutions, and commands executed in a sub- + shell environment. The EERRRR trap is normally not inher- ited in such cases. --HH Enable !! style history substitution. This option is on by default when the shell is interactive. - --PP If set, the shell does not follow symbolic links when - executing commands such as ccdd that change the current + --PP If set, the shell does not follow symbolic links when + executing commands such as ccdd that change the current working directory. It uses the physical directory structure instead. By default, bbaasshh follows the logical - chain of directories when performing commands which + chain of directories when performing commands which change the current directory. - --TT If set, any traps on DDEEBBUUGG and RREETTUURRNN are inherited by - shell functions, command substitutions, and commands - executed in a subshell environment. The DDEEBBUUGG and + --TT If set, any traps on DDEEBBUUGG and RREETTUURRNN are inherited by + shell functions, command substitutions, and commands + executed in a subshell environment. The DDEEBBUUGG and RREETTUURRNN traps are normally not inherited in such cases. - ---- If no arguments follow this option, then the positional + ---- If no arguments follow this option, then the positional parameters are unset. Otherwise, the positional parame- - ters are set to the _a_r_gs, even if some of them begin + ters are set to the _a_r_gs, even if some of them begin with a --. - -- Signal the end of options, cause all remaining _a_r_gs to + -- Signal the end of options, cause all remaining _a_r_gs to be assigned to the positional parameters. The --xx and --vv options are turned off. If there are no _a_r_gs, the posi- tional parameters remain unchanged. - The options are off by default unless otherwise noted. Using + - rather than - causes these options to be turned off. The - options can also be specified as arguments to an invocation of - the shell. The current set of options may be found in $$--. The + The options are off by default unless otherwise noted. Using + + rather than - causes these options to be turned off. The + options can also be specified as arguments to an invocation of + the shell. The current set of options may be found in $$--. The return status is always true unless an invalid option is encoun- tered. sshhiifftt [_n] - The positional parameters from _n+1 ... are renamed to $$11 ........ - Parameters represented by the numbers $$## down to $$##-_n+1 are - unset. _n must be a non-negative number less than or equal to - $$##. If _n is 0, no parameters are changed. If _n is not given, - it is assumed to be 1. If _n is greater than $$##, the positional - parameters are not changed. The return status is greater than + The positional parameters from _n+1 ... are renamed to $$11 ........ + Parameters represented by the numbers $$## down to $$##-_n+1 are + unset. _n must be a non-negative number less than or equal to + $$##. If _n is 0, no parameters are changed. If _n is not given, + it is assumed to be 1. If _n is greater than $$##, the positional + parameters are not changed. The return status is greater than zero if _n is greater than $$## or less than zero; otherwise 0. sshhoopptt [--ppqqssuu] [--oo] [_o_p_t_n_a_m_e ...] Toggle the values of variables controlling optional shell behav- ior. With no options, or with the --pp option, a list of all set- table options is displayed, with an indication of whether or not - each is set. The --pp option causes output to be displayed in a - form that may be reused as input. Other options have the fol- + each is set. The --pp option causes output to be displayed in a + form that may be reused as input. Other options have the fol- lowing meanings: --ss Enable (set) each _o_p_t_n_a_m_e. --uu Disable (unset) each _o_p_t_n_a_m_e. - --qq Suppresses normal output (quiet mode); the return status + --qq Suppresses normal output (quiet mode); the return status indicates whether the _o_p_t_n_a_m_e is set or unset. If multi- - ple _o_p_t_n_a_m_e arguments are given with --qq, the return sta- - tus is zero if all _o_p_t_n_a_m_e_s are enabled; non-zero other- + ple _o_p_t_n_a_m_e arguments are given with --qq, the return sta- + tus is zero if all _o_p_t_n_a_m_e_s are enabled; non-zero other- wise. - --oo Restricts the values of _o_p_t_n_a_m_e to be those defined for + --oo Restricts the values of _o_p_t_n_a_m_e to be those defined for the --oo option to the sseett builtin. - If either --ss or --uu is used with no _o_p_t_n_a_m_e arguments, the dis- + If either --ss or --uu is used with no _o_p_t_n_a_m_e arguments, the dis- play is limited to those options which are set or unset, respec- - tively. Unless otherwise noted, the sshhoopptt options are disabled + tively. Unless otherwise noted, the sshhoopptt options are disabled (unset) by default. - The return status when listing options is zero if all _o_p_t_n_a_m_e_s - are enabled, non-zero otherwise. When setting or unsetting - options, the return status is zero unless an _o_p_t_n_a_m_e is not a + The return status when listing options is zero if all _o_p_t_n_a_m_e_s + are enabled, non-zero otherwise. When setting or unsetting + options, the return status is zero unless an _o_p_t_n_a_m_e is not a valid shell option. The list of sshhoopptt options is: - aauuttooccdd If set, a command name that is the name of a directory - is executed as if it were the argument to the ccdd com- + aauuttooccdd If set, a command name that is the name of a directory + is executed as if it were the argument to the ccdd com- mand. This option is only used by interactive shells. ccddaabbllee__vvaarrss - If set, an argument to the ccdd builtin command that is - not a directory is assumed to be the name of a variable + If set, an argument to the ccdd builtin command that is + not a directory is assumed to be the name of a variable whose value is the directory to change to. ccddssppeellll If set, minor errors in the spelling of a directory com- - ponent in a ccdd command will be corrected. The errors + ponent in a ccdd command will be corrected. The errors checked for are transposed characters, a missing charac- - ter, and one character too many. If a correction is - found, the corrected file name is printed, and the com- - mand proceeds. This option is only used by interactive + ter, and one character too many. If a correction is + found, the corrected file name is printed, and the com- + mand proceeds. This option is only used by interactive shells. cchheecckkhhaasshh If set, bbaasshh 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. cchheecckkjjoobbss If set, bbaasshh 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 JJOOBB CCOONNTTRROOLL above). The shell always postpones + second exit is attempted without an intervening command + (see JJOOBB CCOONNTTRROOLL above). The shell always postpones exiting if any jobs are stopped. cchheecckkwwiinnssiizzee - If set, bbaasshh checks the window size after each command - and, if necessary, updates the values of LLIINNEESS and CCOOLL-- + If set, bbaasshh checks the window size after each command + and, if necessary, updates the values of LLIINNEESS and CCOOLL-- UUMMNNSS. - ccmmddhhiisstt If set, bbaasshh attempts to save all lines of a multiple- - line command in the same history entry. This allows + ccmmddhhiisstt If set, bbaasshh attempts to save all lines of a multiple- + line command in the same history entry. This allows easy re-editing of multi-line commands. ccoommppaatt3311 If set, bbaasshh changes its behavior to that of version 3.1 @@ -1210,65 +1227,65 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS mand's =~ operator. ccoommppaatt3322 If set, bbaasshh changes its behavior to that of version 3.2 - with respect to locale-specific string comparison when + with respect to locale-specific string comparison when using the conditional command's < and > operators. ccoommppaatt4400 If set, bbaasshh changes its behavior to that of version 4.0 - with respect to locale-specific string comparison when - using the conditional command's < and > operators and + with respect to locale-specific string comparison when + using the conditional command's < and > operators and the effect of interrupting a command list. ddiirrssppeellll - If set, bbaasshh attempts spelling correction on directory - names during word completion if the directory name ini- + If set, bbaasshh attempts spelling correction on directory + names during word completion if the directory name ini- tially supplied does not exist. - ddoottgglloobb If set, bbaasshh includes filenames beginning with a `.' in + ddoottgglloobb If set, bbaasshh includes filenames beginning with a `.' in the results of pathname expansion. eexxeeccffaaiill If set, a non-interactive shell will not exit if it can- - not execute the file specified as an argument to the - eexxeecc builtin command. An interactive shell does not + not execute the file specified as an argument to the + eexxeecc builtin command. An interactive shell does not exit if eexxeecc fails. eexxppaanndd__aalliiaasseess - If set, aliases are expanded as described above under + If set, aliases are expanded as described above under AALLIIAASSEESS. This option is enabled by default for interac- tive shells. eexxttddeebbuugg - If set, behavior intended for use by debuggers is + If set, behavior intended for use by debuggers is enabled: 11.. The --FF option to the ddeeccllaarree builtin displays the source file name and line number corresponding to each function name supplied as an argument. - 22.. If the command run by the DDEEBBUUGG trap returns a - non-zero value, the next command is skipped and + 22.. If the command run by the DDEEBBUUGG trap returns a + non-zero value, the next command is skipped and not executed. - 33.. If the command run by the DDEEBBUUGG 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 .. or ssoouurrccee builtins), a call to + 33.. If the command run by the DDEEBBUUGG 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 .. or ssoouurrccee builtins), a call to rreettuurrnn is simulated. - 44.. BBAASSHH__AARRGGCC and BBAASSHH__AARRGGVV are updated as described + 44.. BBAASSHH__AARRGGCC and BBAASSHH__AARRGGVV are updated as described in their descriptions above. - 55.. Function tracing is enabled: command substitu- + 55.. Function tracing is enabled: command substitu- tion, shell functions, and subshells invoked with (( _c_o_m_m_a_n_d )) inherit the DDEEBBUUGG and RREETTUURRNN traps. - 66.. Error tracing is enabled: command substitution, - shell functions, and subshells invoked with (( + 66.. Error tracing is enabled: command substitution, + shell functions, and subshells invoked with (( _c_o_m_m_a_n_d )) inherit the EERRRR trap. eexxttgglloobb If set, the extended pattern matching features described above under PPaatthhnnaammee EExxppaannssiioonn are enabled. eexxttqquuoottee - If set, $$'_s_t_r_i_n_g' and $$"_s_t_r_i_n_g" quoting is performed - within $${{_p_a_r_a_m_e_t_e_r}} expansions enclosed in double + If set, $$'_s_t_r_i_n_g' and $$"_s_t_r_i_n_g" quoting is performed + within $${{_p_a_r_a_m_e_t_e_r}} expansions enclosed in double quotes. This option is enabled by default. ffaaiillgglloobb - 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. ffoorrccee__ffiiggnnoorree - If set, the suffixes specified by the FFIIGGNNOORREE shell - variable cause words to be ignored when performing word + If set, the suffixes specified by the FFIIGGNNOORREE shell + variable cause words to be ignored when performing word completion even if the ignored words are the only possi- ble completions. See SSHHEELLLL VVAARRIIAABBLLEESS above for a - description of FFIIGGNNOORREE. This option is enabled by + description of FFIIGGNNOORREE. This option is enabled by default. gglloobbssttaarr If set, the pattern **** used in a pathname expansion con- @@ -1279,58 +1296,58 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS If set, shell error messages are written in the standard GNU error message format. hhiissttaappppeenndd - If set, the history list is appended to the file named - by the value of the HHIISSTTFFIILLEE variable when the shell + If set, the history list is appended to the file named + by the value of the HHIISSTTFFIILLEE variable when the shell exits, rather than overwriting the file. hhiissttrreeeeddiitt - If set, and rreeaaddlliinnee is being used, a user is given the + If set, and rreeaaddlliinnee is being used, a user is given the opportunity to re-edit a failed history substitution. hhiissttvveerriiffyy - If set, and rreeaaddlliinnee 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 rreeaaddlliinnee 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 rreeaaddlliinnee editing buffer, allowing further modi- fication. hhoossttccoommpplleettee If set, and rreeaaddlliinnee is being used, bbaasshh will attempt to - perform hostname completion when a word containing a @@ - is being completed (see CCoommpplleettiinngg under RREEAADDLLIINNEE + perform hostname completion when a word containing a @@ + is being completed (see CCoommpplleettiinngg under RREEAADDLLIINNEE above). This is enabled by default. hhuuppoonneexxiitt If set, bbaasshh will send SSIIGGHHUUPP to all jobs when an inter- active login shell exits. iinntteerraaccttiivvee__ccoommmmeennttss If set, allow a word beginning with ## to cause that word - and all remaining characters on that line to be ignored - in an interactive shell (see CCOOMMMMEENNTTSS above). This + and all remaining characters on that line to be ignored + in an interactive shell (see CCOOMMMMEENNTTSS above). This option is enabled by default. - lliitthhiisstt If set, and the ccmmddhhiisstt option is enabled, multi-line + lliitthhiisstt If set, and the ccmmddhhiisstt option is enabled, multi-line commands are saved to the history with embedded newlines rather than using semicolon separators where possible. llooggiinn__sshheellll - The shell sets this option if it is started as a login - shell (see IINNVVOOCCAATTIIOONN above). The value may not be + The shell sets this option if it is started as a login + shell (see IINNVVOOCCAATTIIOONN above). The value may not be changed. mmaaiillwwaarrnn - If set, and a file that bbaasshh is checking for mail has - been accessed since the last time it was checked, the - message ``The mail in _m_a_i_l_f_i_l_e has been read'' is dis- + If set, and a file that bbaasshh is checking for mail has + been accessed since the last time it was checked, the + message ``The mail in _m_a_i_l_f_i_l_e has been read'' is dis- played. nnoo__eemmppttyy__ccmmdd__ccoommpplleettiioonn - If set, and rreeaaddlliinnee is being used, bbaasshh will not + If set, and rreeaaddlliinnee is being used, bbaasshh will not attempt to search the PPAATTHH for possible completions when completion is attempted on an empty line. nnooccaasseegglloobb - If set, bbaasshh matches filenames in a case-insensitive + If set, bbaasshh matches filenames in a case-insensitive fashion when performing pathname expansion (see PPaatthhnnaammee EExxppaannssiioonn above). nnooccaasseemmaattcchh - If set, bbaasshh matches patterns in a case-insensitive + If set, bbaasshh matches patterns in a case-insensitive fashion when performing matching while executing ccaassee or [[[[ conditional commands. nnuullllgglloobb - If set, bbaasshh allows patterns which match no files (see - PPaatthhnnaammee EExxppaannssiioonn above) to expand to a null string, + If set, bbaasshh allows patterns which match no files (see + PPaatthhnnaammee EExxppaannssiioonn above) to expand to a null string, rather than themselves. pprrooggccoommpp If set, the programmable completion facilities (see PPrroo-- @@ -1338,47 +1355,47 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS enabled by default. pprroommppttvvaarrss If set, prompt strings undergo parameter expansion, com- - mand substitution, arithmetic expansion, and quote - removal after being expanded as described in PPRROOMMPPTTIINNGG + mand substitution, arithmetic expansion, and quote + removal after being expanded as described in PPRROOMMPPTTIINNGG above. This option is enabled by default. rreessttrriicctteedd__sshheellll - The shell sets this option if it is started in + The shell sets this option if it is started in restricted mode (see RREESSTTRRIICCTTEEDD SSHHEELLLL below). The value - may not be changed. This is not reset when the startup - files are executed, allowing the startup files to dis- + may not be changed. This is not reset when the startup + files are executed, allowing the startup files to dis- cover whether or not a shell is restricted. sshhiifftt__vveerrbboossee - If set, the sshhiifftt builtin prints an error message when + If set, the sshhiifftt builtin prints an error message when the shift count exceeds the number of positional parame- ters. ssoouurrcceeppaatthh If set, the ssoouurrccee (..) builtin uses the value of PPAATTHH 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. xxppgg__eecchhoo - If set, the eecchhoo builtin expands backslash-escape + If set, the eecchhoo builtin expands backslash-escape sequences by default. ssuussppeenndd [--ff] - Suspend the execution of this shell until it receives a SSIIGGCCOONNTT + Suspend the execution of this shell until it receives a SSIIGGCCOONNTT signal. A login shell cannot be suspended; the --ff option can be used to override this and force the suspension. The return sta- - tus is 0 unless the shell is a login shell and --ff is not sup- + tus is 0 unless the shell is a login shell and --ff is not sup- plied, or if job control is not enabled. tteesstt _e_x_p_r [[ _e_x_p_r ]] - Return a status of 0 or 1 depending on the evaluation of the - conditional expression _e_x_p_r. Each operator and operand must be - a separate argument. Expressions are composed of the primaries - described above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS. tteesstt does not + Return a status of 0 or 1 depending on the evaluation of the + conditional expression _e_x_p_r. Each operator and operand must be + a separate argument. Expressions are composed of the primaries + described above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS. tteesstt does not accept any options, nor does it accept and ignore an argument of ---- as signifying the end of options. - Expressions may be combined using the following operators, + Expressions may be combined using the following operators, listed in decreasing order of precedence. The evaluation depends on the number of arguments; see below. !! _e_x_p_r True if _e_x_p_r is false. (( _e_x_p_r )) - Returns the value of _e_x_p_r. This may be used to override + Returns the value of _e_x_p_r. This may be used to override the normal precedence of operators. _e_x_p_r_1 -aa _e_x_p_r_2 True if both _e_x_p_r_1 and _e_x_p_r_2 are true. @@ -1395,59 +1412,59 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS null. 2 arguments If the first argument is !!, the expression is true if and - only if the second argument is null. If the first argu- - ment is one of the unary conditional operators listed - above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the expression is + only if the second argument is null. If the first argu- + ment is one of the unary conditional operators listed + above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, 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 - If the second argument is one of the binary conditional + If the second argument is one of the binary conditional operators listed above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the result of the expression is the result of the binary test - using the first and third arguments as operands. The --aa - and --oo operators are considered binary operators when - there are three arguments. If the first argument is !!, - the value is the negation of the two-argument test using + using the first and third arguments as operands. The --aa + and --oo operators are considered binary operators when + there are three arguments. If the first argument is !!, + the value is the negation of the two-argument test using the second and third arguments. If the first argument is exactly (( and the third argument is exactly )), the result - is the one-argument test of the second argument. Other- + is the one-argument test of the second argument. Other- wise, the expression is false. 4 arguments If the first argument is !!, the result is the negation of - the three-argument expression composed of the remaining + the three-argument expression composed of the remaining arguments. Otherwise, the expression is parsed and eval- - uated according to precedence using the rules listed + uated according to precedence using the rules listed above. 5 or more arguments - The expression is parsed and evaluated according to + The expression is parsed and evaluated according to precedence using the rules listed above. - ttiimmeess Print the accumulated user and system times for the shell and + ttiimmeess Print the accumulated user and system times for the shell and for processes run from the shell. The return status is 0. ttrraapp [--llpp] [[_a_r_g] _s_i_g_s_p_e_c ...] - The command _a_r_g is to be read and executed when the shell - receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a - single _s_i_g_s_p_e_c) or --, each specified signal is reset to its - original disposition (the value it had upon entrance to the - shell). If _a_r_g is the null string the signal specified by each - _s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes. - If _a_r_g is not present and --pp has been supplied, then the trap - commands associated with each _s_i_g_s_p_e_c are displayed. If no - arguments are supplied or if only --pp is given, ttrraapp prints the - list of commands associated with each signal. The --ll option - causes the shell to print a list of signal names and their cor- - responding numbers. Each _s_i_g_s_p_e_c is either a signal name - defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are + The command _a_r_g is to be read and executed when the shell + receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a + single _s_i_g_s_p_e_c) or --, each specified signal is reset to its + original disposition (the value it had upon entrance to the + shell). If _a_r_g is the null string the signal specified by each + _s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes. + If _a_r_g is not present and --pp has been supplied, then the trap + commands associated with each _s_i_g_s_p_e_c are displayed. If no + arguments are supplied or if only --pp is given, ttrraapp prints the + list of commands associated with each signal. The --ll option + causes the shell to print a list of signal names and their cor- + responding numbers. Each _s_i_g_s_p_e_c is either a signal name + defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are case insensitive and the SSIIGG prefix is optional. - If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit - from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe- - cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command, - _s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the - first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR - above). Refer to the description of the eexxttddeebbuugg option to the + If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit + from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe- + cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command, + _s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the + first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR + above). Refer to the description of the eexxttddeebbuugg option to the sshhoopptt builtin for details of its effect on the DDEEBBUUGG trap. If a _s_i_g_s_p_e_c is RREETTUURRNN, the command _a_r_g is executed each time a shell function or a script executed with the .. or ssoouurrccee builtins fin- @@ -1455,53 +1472,53 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS If a _s_i_g_s_p_e_c is EERRRR, the command _a_r_g is executed whenever a sim- ple command has a non-zero exit status, subject to the following - conditions. The EERRRR trap is not executed if the failed command - is part of the command list immediately following a wwhhiillee or - uunnttiill keyword, part of the test in an _i_f statement, part of a - command executed in a &&&& or |||| list, or if the command's return - value is being inverted via !!. These are the same conditions + conditions. The EERRRR trap is not executed if the failed command + is part of the command list immediately following a wwhhiillee or + uunnttiill keyword, part of the test in an _i_f statement, part of a + command executed in a &&&& or |||| list, or if the command's return + value is being inverted via !!. These are the same conditions obeyed by the eerrrreexxiitt option. - Signals ignored upon entry to the shell cannot be trapped or - reset. Trapped signals that are not being ignored are reset to + Signals ignored upon entry to the shell cannot be trapped or + reset. Trapped signals that are not being ignored are reset to their original values in a subshell or subshell environment when - one is created. The return status is false if any _s_i_g_s_p_e_c is + one is created. The return status is false if any _s_i_g_s_p_e_c is invalid; otherwise ttrraapp returns true. ttyyppee [--aaffttppPP] _n_a_m_e [_n_a_m_e ...] - With no options, indicate how each _n_a_m_e would be interpreted if + With no options, indicate how each _n_a_m_e would be interpreted if used as a command name. If the --tt option is used, ttyyppee prints a - string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or - _f_i_l_e if _n_a_m_e is an alias, shell reserved word, function, - builtin, or disk file, respectively. If the _n_a_m_e is not found, - then nothing is printed, and an exit status of false is - returned. If the --pp option is used, ttyyppee either returns the + string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or + _f_i_l_e if _n_a_m_e is an alias, shell reserved word, function, + builtin, or disk file, respectively. If the _n_a_m_e is not found, + then nothing is printed, and an exit status of false is + returned. If the --pp option is used, ttyyppee either returns the name of the disk file that would be executed if _n_a_m_e were speci- fied as a command name, or nothing if ``type -t name'' would not - return _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e, + return _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e, even if ``type -t name'' would not return _f_i_l_e. If a command is - hashed, --pp and --PP print the hashed value, not necessarily the + hashed, --pp and --PP print the hashed value, not necessarily the file that appears first in PPAATTHH. If the --aa option is used, ttyyppee - prints all of the places that contain an executable named _n_a_m_e. - This includes aliases and functions, if and only if the --pp - option is not also used. The table of hashed commands is not - consulted when using --aa. The --ff option suppresses shell func- - tion lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true if + prints all of the places that contain an executable named _n_a_m_e. + This includes aliases and functions, if and only if the --pp + option is not also used. The table of hashed commands is not + consulted when using --aa. The --ff option suppresses shell func- + tion lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true if all of the arguments are found, false if any are not found. uulliimmiitt [--HHSSTTaabbccddeeffiillmmnnppqqrrssttuuvvxx [_l_i_m_i_t]] - 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 --HH and --SS 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 --HH nor --SS 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 --HH nor --SS is speci- fied, both the soft and hard limits are set. The value of _l_i_m_i_t can be a number in the unit specified for the resource or one of the special values hhaarrdd, ssoofftt, or uunnlliimmiitteedd, which stand for the - current hard limit, the current soft limit, and no limit, - respectively. If _l_i_m_i_t is omitted, the current value of the - soft limit of the resource is printed, unless the --HH option is + current hard limit, the current soft limit, and no limit, + respectively. If _l_i_m_i_t is omitted, the current value of the + soft limit of the resource is printed, unless the --HH option is given. When more than one resource is specified, the limit name and unit are printed before the value. Other options are inter- preted as follows: @@ -1510,11 +1527,11 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS --cc The maximum size of core files created --dd The maximum size of a process's data segment --ee The maximum scheduling priority ("nice") - --ff The maximum size of files written by the shell and its + --ff The maximum size of files written by the shell and its children --ii The maximum number of pending signals --ll The maximum size that may be locked into memory - --mm The maximum resident set size (many systems do not honor + --mm The maximum resident set size (many systems do not honor this limit) --nn The maximum number of open file descriptors (most systems do not allow this value to be set) @@ -1523,58 +1540,58 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS --rr The maximum real-time scheduling priority --ss The maximum stack size --tt The maximum amount of cpu time in seconds - --uu The maximum number of processes available to a single + --uu The maximum number of processes available to a single user - --vv The maximum amount of virtual memory available to the + --vv The maximum amount of virtual memory available to the shell and, on some systems, to its children --xx The maximum number of file locks --TT The maximum number of threads If _l_i_m_i_t is given, it is the new value of the specified resource (the --aa option is display only). If no option is given, then --ff - is assumed. Values are in 1024-byte increments, except for --tt, - which is in seconds, --pp, which is in units of 512-byte blocks, - and --TT, --bb, --nn, and --uu, which are unscaled values. The return + is assumed. Values are in 1024-byte increments, except for --tt, + which is in seconds, --pp, which is in units of 512-byte blocks, + and --TT, --bb, --nn, and --uu, which are unscaled values. The return status is 0 unless an invalid option or argument is supplied, or an error occurs while setting a new limit. uummaasskk [--pp] [--SS] [_m_o_d_e] The user file-creation mask is set to _m_o_d_e. If _m_o_d_e 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 - _c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is - printed. The --SS option causes the mask to be printed in sym- - bolic form; the default output is an octal number. If the --pp + a digit, it is interpreted as an octal number; otherwise it is + interpreted as a symbolic mode mask similar to that accepted by + _c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is + printed. The --SS option causes the mask to be printed in sym- + bolic form; the default output is an octal number. If the --pp option is supplied, and _m_o_d_e 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 _m_o_d_e argument was supplied, + was successfully changed or if no _m_o_d_e argument was supplied, and false otherwise. uunnaalliiaass [-aa] [_n_a_m_e ...] - Remove each _n_a_m_e from the list of defined aliases. If --aa is - supplied, all alias definitions are removed. The return value + Remove each _n_a_m_e from the list of defined aliases. If --aa is + supplied, all alias definitions are removed. The return value is true unless a supplied _n_a_m_e is not a defined alias. uunnsseett [-ffvv] [_n_a_m_e ...] - For each _n_a_m_e, remove the corresponding variable or function. + For each _n_a_m_e, remove the corresponding variable or function. If no options are supplied, or the --vv option is given, each _n_a_m_e - refers to a shell variable. Read-only variables may not be - unset. If --ff is specified, each _n_a_m_e refers to a shell func- - tion, and the function definition is removed. Each unset vari- - able or function is removed from the environment passed to sub- - sequent commands. If any of CCOOMMPP__WWOORRDDBBRREEAAKKSS, RRAANNDDOOMM, SSEECCOONNDDSS, - LLIINNEENNOO, HHIISSTTCCMMDD, FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are unset, they - lose their special properties, even if they are subsequently + refers to a shell variable. Read-only variables may not be + unset. If --ff is specified, each _n_a_m_e refers to a shell func- + tion, and the function definition is removed. Each unset vari- + able or function is removed from the environment passed to sub- + sequent commands. If any of CCOOMMPP__WWOORRDDBBRREEAAKKSS, RRAANNDDOOMM, SSEECCOONNDDSS, + LLIINNEENNOO, HHIISSTTCCMMDD, FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are unset, they + lose their special properties, even if they are subsequently reset. The exit status is true unless a _n_a_m_e is readonly. wwaaiitt [_n _._._.] - Wait for each specified process and return its termination sta- - tus. Each _n 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 _n is not given, all currently active child pro- - cesses are waited for, and the return status is zero. If _n - specifies a non-existent process or job, the return status is - 127. Otherwise, the return status is the exit status of the + Wait for each specified process and return its termination sta- + tus. Each _n 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 _n is not given, all currently active child pro- + cesses are waited for, and the return status is zero. If _n + specifies a non-existent process or job, the return status is + 127. Otherwise, the return status is the exit status of the last process or job waited for. SSEEEE AALLSSOO diff --git a/doc/builtins.ps b/doc/builtins.ps index 22223f73d..4e25a4da6 100644 --- a/doc/builtins.ps +++ b/doc/builtins.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 %%Creator: groff version 1.19.2 -%%CreationDate: Thu May 20 16:33:07 2010 +%%CreationDate: Tue Jun 1 11:58:36 2010 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic @@ -756,15 +756,15 @@ F1(while)4.254 E F0(,)A F1(until)4.254 E F0 4.254(,o)C(r)-4.254 E F1 (ve)-.25 G(l').15 E 3.014('l)-.74 G .514(oop\) is resumed.)-3.014 F .513 (The return v)5.513 F .513(alue is 0 unless)-.25 F F2(n)3.013 E F0(is) 3.013 E(not greater than or equal to 1.)144 470.4 Q F1(declar)108 487.2 -Q(e)-.18 E F0([)2.5 E F1(\255aAfFilrtux)A F0 2.5(][)C F1-2.5 E F0 +Q(e)-.18 E F0([)2.5 E F1(\255aAfFgilrtux)A F0 2.5(][)C F1-2.5 E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E F1 -(typeset)108 499.2 Q F0([)2.5 E F1(\255aAfFilrtux)A F0 2.5(][)C F1 --2.5 E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C(..]) --2.5 E 1.264(Declare v)144 511.2 R 1.264(ariables and/or gi)-.25 F 1.564 --.15(ve t)-.25 H 1.264(hem attrib).15 F 3.765(utes. If)-.2 F(no)3.765 E -F2(name)3.765 E F0 3.765(sa)C 1.265(re gi)-3.765 F -.15(ve)-.25 G 3.765 -(nt).15 G 1.265(hen display the v)-3.765 F 1.265(alues of)-.25 F -.25 -(va)144 523.2 S 3.483(riables. The).25 F F13.483 E F0 .983 +(typeset)108 499.2 Q F0([)2.5 E F1(\255aAfFgilrtux)A F0 2.5(][)C F1 +-2.5 E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C +(..])-2.5 E 1.264(Declare v)144 511.2 R 1.264(ariables and/or gi)-.25 F +1.564 -.15(ve t)-.25 H 1.264(hem attrib).15 F 3.765(utes. If)-.2 F(no) +3.765 E F2(name)3.765 E F0 3.765(sa)C 1.265(re gi)-3.765 F -.15(ve)-.25 +G 3.765(nt).15 G 1.265(hen display the v)-3.765 F 1.265(alues of)-.25 F +-.25(va)144 523.2 S 3.483(riables. The).25 F F13.483 E F0 .983 (option will display the attrib)3.483 F .983(utes and v)-.2 F .982 (alues of each)-.25 F F2(name)3.482 E F0 5.982(.W).18 G(hen)-5.982 E F1 3.482 E F0 .982(is used)3.482 F(with)144 535.2 Q F2(name)3.579 E @@ -784,27 +784,32 @@ n de\214nitions; only the function name and attrib)144 583.2 R 2.423 (utes are)-.2 F 2.664(printed. If)144 595.2 R(the)2.664 E F1(extdeb) 2.664 E(ug)-.2 E F0 .164(shell option is enabled using)2.664 F F1(shopt) 2.664 E F0 2.664(,t)C .163(he source \214le name and line number)-2.664 -F 1.382(where the function is de\214ned are displayed as well.)144 607.2 -R(The)6.382 E F13.882 E F0 1.382(option implies)3.882 F F1 -3.882 E F0 6.382(.T)C 1.382(he follo)-6.382 F(wing)-.25 E .794 -(options can be used to restrict output to v)144 619.2 R .794 -(ariables with the speci\214ed attrib)-.25 F .793(ute or to gi)-.2 F -1.093 -.15(ve v)-.25 H(ariables)-.1 E(attrib)144 631.2 Q(utes:)-.2 E F1 -144 643.2 Q F0(Each)25.3 E F2(name)2.5 E F0(is an inde)2.5 E -.15 -(xe)-.15 G 2.5(da).15 G(rray v)-2.5 E(ariable \(see)-.25 E F1(Arrays)2.5 -E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1144 655.2 Q F0(Each) -23.08 E F2(name)2.5 E F0(is an associati)2.5 E .3 -.15(ve a)-.25 H -(rray v).15 E(ariable \(see)-.25 E F1(Arrays)2.5 E F0(abo)2.5 E -.15(ve) --.15 G(\).).15 E F1144 667.2 Q F0(Use function names only)26.97 E -(.)-.65 E F1144 679.2 Q F0 .557(The v)27.52 F .558 +F 1.288(where the function is de\214ned are displayed as well.)144 607.2 +R(The)6.288 E F13.788 E F0 1.288(option implies)3.788 F F1 +3.788 E F0 6.288(.T)C(he)-6.288 E F13.789 E F0(option)3.789 E .491 +(forces v)144 619.2 R .491 +(ariables to be created or modi\214ed at the global scope, e)-.25 F -.15 +(ve)-.25 G 2.99(nw).15 G(hen)-2.99 E F1(declar)2.99 E(e)-.18 E F0 .49 +(is e)2.99 F -.15(xe)-.15 G .49(cuted in a).15 F .124(shell function.) +144 631.2 R .124(It is ignored in all other cases.)5.124 F .125 +(The follo)5.125 F .125(wing options can be used to restrict output)-.25 +F(to v)144 643.2 Q(ariables with the speci\214ed attrib)-.25 E +(ute or to gi)-.2 E .3 -.15(ve v)-.25 H(ariables attrib)-.1 E(utes:)-.2 +E F1144 655.2 Q F0(Each)25.3 E F2(name)2.5 E F0(is an inde)2.5 E +-.15(xe)-.15 G 2.5(da).15 G(rray v)-2.5 E(ariable \(see)-.25 E F1 +(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1144 667.2 Q +F0(Each)23.08 E F2(name)2.5 E F0(is an associati)2.5 E .3 -.15(ve a)-.25 +H(rray v).15 E(ariable \(see)-.25 E F1(Arrays)2.5 E F0(abo)2.5 E -.15 +(ve)-.15 G(\).).15 E F1144 679.2 Q F0(Use function names only) +26.97 E(.)-.65 E F1144 691.2 Q F0 .558(The v)27.52 F .558 (ariable is treated as an inte)-.25 F .558(ger; arithmetic e)-.15 F -.25 -(va)-.25 G .558(luation \(see).25 F F3 .558(ARITHMETIC EV)3.058 F(ALU) --1.215 E(A-)-.54 E(TION)180 691.2 Q F0(abo)2.25 E -.15(ve)-.15 G 2.5 +(va)-.25 G .558(luation \(see).25 F F3 .557(ARITHMETIC EV)3.058 F(ALU) +-1.215 E(A-)-.54 E(TION)180 703.2 Q F0(abo)2.25 E -.15(ve)-.15 G 2.5 (\)i).15 G 2.5(sp)-2.5 G(erformed when the v)-2.5 E -(ariable is assigned a v)-.25 E(alue.)-.25 E F1144 703.2 Q F0 .91 +(ariable is assigned a v)-.25 E(alue.)-.25 E F1144 715.2 Q F0 .909 (When the v)27.52 F .909(ariable is assigned a v)-.25 F .909 (alue, all upper)-.25 F .909(-case characters are con)-.2 F -.15(ve)-.4 -G .909(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 715.2 R +G .91(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 727.2 R (upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(5)203.725 E 0 Cg EP %%Page: 6 6 @@ -814,60 +819,61 @@ BP /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10 /Times-Bold@0 SF144 84 Q F0(Mak)25.86 E(e)-.1 E/F2 10 -/Times-Italic@0 SF(name)5.046 E F0 5.046(sr)C(eadonly)-5.046 E 7.546(.T) --.65 G 2.546(hese names cannot then be assigned v)-7.546 F 2.547 +/Times-Italic@0 SF(name)5.047 E F0 5.047(sr)C(eadonly)-5.047 E 7.547(.T) +-.65 G 2.546(hese names cannot then be assigned v)-7.547 F 2.546 (alues by subsequent)-.25 F(assignment statements or unset.)180 96 Q F1 -144 108 Q F0(Gi)26.97 E .73 -.15(ve e)-.25 H(ach).15 E F2(name) -2.93 E F0(the)2.929 E F2(tr)2.929 E(ace)-.15 E F0(attrib)2.929 E 2.929 +144 108 Q F0(Gi)26.97 E .729 -.15(ve e)-.25 H(ach).15 E F2(name) +2.929 E F0(the)2.929 E F2(tr)2.929 E(ace)-.15 E F0(attrib)2.929 E 2.929 (ute. T)-.2 F .429(raced functions inherit the)-.35 F F1(DEB)2.929 E(UG) --.1 E F0(and)2.929 E F1(RETURN)2.929 E F0(traps from the calling shell.) +-.1 E F0(and)2.93 E F1(RETURN)2.93 E F0(traps from the calling shell.) 180 120 Q(The trace attrib)5 E(ute has no special meaning for v)-.2 E -(ariables.)-.25 E F1144 132 Q F0 .909(When the v)24.74 F .909 +(ariables.)-.25 E F1144 132 Q F0 .91(When the v)24.74 F .909 (ariable is assigned a v)-.25 F .909(alue, all lo)-.25 F(wer)-.25 E .909 -(-case characters are con)-.2 F -.15(ve)-.4 G .91(rted to upper).15 F(-) --.2 E 2.5(case. The)180 144 R(lo)2.5 E(wer)-.25 E(-case attrib)-.2 E +(-case characters are con)-.2 F -.15(ve)-.4 G .909(rted to upper).15 F +(-)-.2 E 2.5(case. The)180 144 R(lo)2.5 E(wer)-.25 E(-case attrib)-.2 E (ute is disabled.)-.2 E F1144 156 Q F0(Mark)25.3 E F2(name)2.5 E F0 2.5(sf)C(or e)-2.5 E(xport to subsequent commands via the en)-.15 E -(vironment.)-.4 E .121(Using `+' instead of `\255' turns of)144 172.8 R -2.621(ft)-.25 G .121(he attrib)-2.621 F .121(ute instead, with the e)-.2 -F .12(xceptions that)-.15 F F1(+a)2.62 E F0 .12(may not be used)2.62 F -.644(to destro)144 184.8 R 3.144(ya)-.1 G 3.144(na)-3.144 G .644(rray v) --3.144 F .644(ariable and)-.25 F F1(+r)3.145 E F0 .645(will not remo) -3.145 F .945 -.15(ve t)-.15 H .645(he readonly attrib).15 F 3.145 -(ute. When)-.2 F .645(used in a func-)3.145 F 1.945(tion, mak)144 196.8 -R 1.945(es each)-.1 F F2(name)4.445 E F0 1.945(local, as with the)4.445 -F F1(local)4.444 E F0 4.444(command. If)4.444 F 4.444(av)4.444 G 1.944 -(ariable name is follo)-4.694 F 1.944(wed by)-.25 F(=)144 208.8 Q F2 -(value)A F0 3.238(,t)C .738(he v)-3.238 F .738(alue of the v)-.25 F .738 -(ariable is set to)-.25 F F2(value)3.238 E F0 5.738(.T)C .738 -(he return v)-5.738 F .739(alue is 0 unless an in)-.25 F -.25(va)-.4 G -.739(lid option is).25 F .603 -(encountered, an attempt is made to de\214ne a function using)144 220.8 -R/F3 10/Courier@0 SF .603(\255f foo=bar)3.103 F F0 3.103(,a)C 3.103(na) --3.103 G .603(ttempt is made to)-3.103 F 1.242(assign a v)144 232.8 R -1.242(alue to a readonly v)-.25 F 1.242 -(ariable, an attempt is made to assign a v)-.25 F 1.243 -(alue to an array v)-.25 F(ariable)-.25 E 1.386 -(without using the compound assignment syntax \(see)144 244.8 R F1 -(Arrays)3.886 E F0(abo)3.886 E -.15(ve)-.15 G 1.386(\), one of the).15 F -F2(names)3.886 E F0 1.386(is not a)3.886 F -.25(va)144 256.8 S .171 -(lid shell v).25 F .171(ariable name, an attempt is made to turn of)-.25 -F 2.671(fr)-.25 G .171(eadonly status for a readonly v)-2.671 F .172 -(ariable, an)-.25 F .96(attempt is made to turn of)144 268.8 R 3.46(fa) --.25 G .96(rray status for an array v)-3.46 F .96 -(ariable, or an attempt is made to display a)-.25 F(non-e)144 280.8 Q +(vironment.)-.4 E .12(Using `+' instead of `\255' turns of)144 172.8 R +2.62(ft)-.25 G .12(he attrib)-2.62 F .121(ute instead, with the e)-.2 F +.121(xceptions that)-.15 F F1(+a)2.621 E F0 .121(may not be used)2.621 F +.645(to destro)144 184.8 R 3.145(ya)-.1 G 3.145(na)-3.145 G .645(rray v) +-3.145 F .645(ariable and)-.25 F F1(+r)3.145 E F0 .645(will not remo) +3.145 F .945 -.15(ve t)-.15 H .645(he readonly attrib).15 F 3.144 +(ute. When)-.2 F .644(used in a func-)3.144 F .53(tion, mak)144 196.8 R +.53(es each)-.1 F F2(name)3.03 E F0 .53(local, as with the)3.03 F F1 +(local)3.031 E F0 .531(command, unless the)3.031 F F1 .531 +(\255gP option is supplied, If a)3.031 F -.1(va)144 208.8 S 1.558 +(riable name is f).1 F(ollo)-.25 E 1.558(wed by =)-.1 F F2(value)A F1 +4.058(,t)C 1.558(he v)-4.058 F 1.557(alue of the v)-.1 F 1.557 +(ariable is set to)-.1 F F2(value)4.057 E F1 6.557(.T)C 1.557(he r) +-6.557 F(etur)-.18 E(n)-.15 E -.1(va)144 220.8 S 1.168 +(lue is 0 unless an in).1 F -.1(va)-.4 G 1.168(lid option is encounter) +.1 F 1.168(ed, an attempt is made to de\214ne a function)-.18 F(using) +144 232.8 Q/F3 10/Courier@0 SF .312(\255f foo=bar)2.812 F F1 2.812(,a)C +2.812(na)-2.812 G .312(ttempt is made to assign a v)-2.812 F .312 +(alue to a r)-.1 F .312(eadonly v)-.18 F .311(ariable, an attempt)-.1 F +.615(is made to assign a v)144 244.8 R .615(alue to an array v)-.1 F +.616(ariable without using the compound assignment syn-)-.1 F .26 +(tax \(see Arrays)144 256.8 R F0(abo)2.76 E -.15(ve)-.15 G .26 +(\), one of the).15 F F2(names)2.76 E F0 .259(is not a v)2.76 F .259 +(alid shell v)-.25 F .259(ariable name, an attempt is made to)-.25 F +.703(turn of)144 268.8 R 3.203(fr)-.25 G .704 +(eadonly status for a readonly v)-3.203 F .704 +(ariable, an attempt is made to turn of)-.25 F 3.204(fa)-.25 G .704 +(rray status for an)-3.204 F(array v)144 280.8 Q +(ariable, or an attempt is made to display a non-e)-.25 E (xistent function with)-.15 E F12.5 E F0(.)A F1(dirs [+)108 297.6 Q F2(n)A F1 2.5(][)C-2.5 E F2(n)A F1 2.5(][)C(\255clpv])-2.5 E F0 --.4(Wi)144 309.6 S .328 +-.4(Wi)144 309.6 S .329 (thout options, displays the list of currently remembered directories.) -.4 F .329(The def)5.329 F .329(ault display is on a)-.1 F 1.238 +.4 F .328(The def)5.328 F .328(ault display is on a)-.1 F 1.238 (single line with directory names separated by spaces.)144 321.6 R 1.238 (Directories are added to the list with the)6.238 F F1(pushd)144 333.6 Q F0(command; the)2.5 E F1(popd)2.5 E F0(command remo)2.5 E -.15(ve)-.15 G 2.5(se).15 G(ntries from the list.)-2.5 E F1(+)144 345.6 Q F2(n)A F0 -1.564(Displays the)25.3 F F2(n)4.064 E F0 1.565 -(th entry counting from the left of the list sho)B 1.565(wn by)-.25 F F1 -(dirs)4.065 E F0 1.565(when in)4.065 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E +1.565(Displays the)25.3 F F2(n)4.065 E F0 1.565 +(th entry counting from the left of the list sho)B 1.564(wn by)-.25 F F1 +(dirs)4.064 E F0 1.564(when in)4.064 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E (without options, starting with zero.)180 357.6 Q F1144 369.6 Q F2 (n)A F0 1.194(Displays the)25.3 F F2(n)3.694 E F0 1.194 (th entry counting from the right of the list sho)B 1.194(wn by)-.25 F @@ -878,9 +884,9 @@ F1(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E .324(ault listing format uses a tilde to denote the home direc-)-.1 F (tory)180 417.6 Q(.)-.65 E F1144 429.6 Q F0 (Print the directory stack with one entry per line.)24.74 E F1144 -441.6 Q F0 .273(Print the directory stack with one entry per line, pre\ -\214xing each entry with its inde)25.3 F 2.772(xi)-.15 G 2.772(nt)-2.772 -G(he)-2.772 E(stack.)180 453.6 Q .257(The return v)144 470.4 R .258 +441.6 Q F0 .272(Print the directory stack with one entry per line, pre\ +\214xing each entry with its inde)25.3 F 2.773(xi)-.15 G 2.773(nt)-2.773 +G(he)-2.773 E(stack.)180 453.6 Q .258(The return v)144 470.4 R .258 (alue is 0 unless an in)-.25 F -.25(va)-.4 G .258 (lid option is supplied or).25 F F2(n)2.758 E F0(inde)2.758 E -.15(xe) -.15 G 2.758(sb).15 G -.15(ey)-2.758 G .258(ond the end of the direc-) @@ -889,47 +895,47 @@ G(he)-2.772 E(stack.)180 453.6 Q .257(The return v)144 470.4 R .258 (...])2.5 E -.4(Wi)144 511.2 S .295(thout options, each).4 F F2(jobspec) 4.535 E F0 .295(is remo)3.105 F -.15(ve)-.15 G 2.795(df).15 G .295 (rom the table of acti)-2.795 F .595 -.15(ve j)-.25 H 2.795(obs. If).15 -F F2(jobspec)4.535 E F0 .295(is not present,)3.105 F .422(and neither) -144 523.2 R F12.922 E F0(nor)2.922 E F12.922 E F0 .422 -(is supplied, the shell')2.922 F 2.922(sn)-.55 G .422(otion of the) --2.922 F F2(curr)2.923 E .423(ent job)-.37 F F0 .423(is used.)2.923 F -.423(If the)5.423 F F12.923 E F0 .423(option is)2.923 F(gi)144 -535.2 Q -.15(ve)-.25 G .141(n, each).15 F F2(jobspec)4.381 E F0 .141 -(is not remo)2.951 F -.15(ve)-.15 G 2.641(df).15 G .141 -(rom the table, b)-2.641 F .141(ut is mark)-.2 F .141(ed so that)-.1 F -/F4 9/Times-Bold@0 SF(SIGHUP)2.641 E F0 .14(is not sent to the)2.39 F -.004(job if the shell recei)144 547.2 R -.15(ve)-.25 G 2.504(sa).15 G F4 +F F2(jobspec)4.535 E F0 .295(is not present,)3.105 F .423(and neither) +144 523.2 R F12.923 E F0(nor)2.923 E F12.923 E F0 .423 +(is supplied, the shell')2.923 F 2.923(sn)-.55 G .423(otion of the) +-2.923 F F2(curr)2.922 E .422(ent job)-.37 F F0 .422(is used.)2.922 F +.422(If the)5.422 F F12.922 E F0 .422(option is)2.922 F(gi)144 +535.2 Q -.15(ve)-.25 G .14(n, each).15 F F2(jobspec)4.38 E F0 .14 +(is not remo)2.95 F -.15(ve)-.15 G 2.641(df).15 G .141(rom the table, b) +-2.641 F .141(ut is mark)-.2 F .141(ed so that)-.1 F/F4 9/Times-Bold@0 +SF(SIGHUP)2.641 E F0 .141(is not sent to the)2.391 F .005 +(job if the shell recei)144 547.2 R -.15(ve)-.25 G 2.504(sa).15 G F4 (SIGHUP)A/F5 9/Times-Roman@0 SF(.)A F0 .004(If no)4.504 F F2(jobspec) 4.244 E F0 .004(is present, and neither the)2.814 F F12.504 E F0 -.005(nor the)2.504 F F12.505 E F0 .005(option is)2.505 F 1.229 -(supplied, the)144 559.2 R F2(curr)3.729 E 1.229(ent job)-.37 F F0 1.229 +.004(nor the)2.504 F F12.504 E F0 .004(option is)2.504 F 1.228 +(supplied, the)144 559.2 R F2(curr)3.728 E 1.228(ent job)-.37 F F0 1.229 (is used.)3.729 F 1.229(If no)6.229 F F2(jobspec)5.469 E F0 1.229 -(is supplied, the)4.039 F F13.729 E F0 1.228(option means to remo) -3.729 F 1.528 -.15(ve o)-.15 H(r).15 E .656(mark all jobs; the)144 571.2 -R F13.156 E F0 .657(option without a)3.156 F F2(jobspec)4.897 E F0 -(ar)3.467 E .657(gument restricts operation to running jobs.)-.18 F(The) -5.657 E(return v)144 583.2 Q(alue is 0 unless a)-.25 E F2(jobspec)4.24 E +(is supplied, the)4.039 F F13.729 E F0 1.229(option means to remo) +3.729 F 1.529 -.15(ve o)-.15 H(r).15 E .657(mark all jobs; the)144 571.2 +R F13.157 E F0 .657(option without a)3.157 F F2(jobspec)4.897 E F0 +(ar)3.467 E .656(gument restricts operation to running jobs.)-.18 F(The) +5.656 E(return v)144 583.2 Q(alue is 0 unless a)-.25 E F2(jobspec)4.24 E F0(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E F1(echo)108 600 Q F0([)2.5 E F1(\255neE)A F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E -.395(Output the)144 612 R F2(ar)2.895 E(g)-.37 E F0 .395 +.394(Output the)144 612 R F2(ar)2.894 E(g)-.37 E F0 .394 (s, separated by spaces, follo)B .395(wed by a ne)-.25 F 2.895 -(wline. The)-.25 F .394(return status is al)2.895 F -.1(wa)-.1 G .394 -(ys 0.).1 F(If)5.394 E F12.894 E F0 .548 +(wline. The)-.25 F .395(return status is al)2.895 F -.1(wa)-.1 G .395 +(ys 0.).1 F(If)5.395 E F12.895 E F0 .549 (is speci\214ed, the trailing ne)144 624 R .548(wline is suppressed.) -.25 F .548(If the)5.548 F F13.048 E F0 .548(option is gi)3.048 F -.15(ve)-.25 G .548(n, interpretation of the fol-).15 F(lo)144 636 Q -.053(wing backslash-escaped characters is enabled.)-.25 F(The)5.053 E F1 -2.553 E F0 .052(option disables the interpretation of these)2.552 -F 1.502(escape characters, e)144 648 R -.15(ve)-.25 G 4.002(no).15 G -4.002(ns)-4.002 G 1.502(ystems where the)-4.002 F 4.002(ya)-.15 G 1.502 -(re interpreted by def)-4.002 F 4.003(ault. The)-.1 F F1(xpg_echo)4.003 -E F0(shell)4.003 E .009 +.052(wing backslash-escaped characters is enabled.)-.25 F(The)5.052 E F1 +2.552 E F0 .053(option disables the interpretation of these)2.553 +F 1.503(escape characters, e)144 648 R -.15(ve)-.25 G 4.003(no).15 G +4.003(ns)-4.003 G 1.502(ystems where the)-4.003 F 4.002(ya)-.15 G 1.502 +(re interpreted by def)-4.002 F 4.002(ault. The)-.1 F F1(xpg_echo)4.002 +E F0(shell)4.002 E .009 (option may be used to dynamically determine whether or not)144 660 R F1 -(echo)2.509 E F0 -.15(ex)2.509 G .009(pands these escape characters).15 -F .659(by def)144 672 R(ault.)-.1 E F1(echo)5.659 E F0 .659 -(does not interpret)3.159 F F13.159 E F0 .659 -(to mean the end of options.)3.159 F F1(echo)5.66 E F0 .66 -(interprets the follo)3.16 F(wing)-.25 E(escape sequences:)144 684 Q F1 +(echo)2.509 E F0 -.15(ex)2.51 G .01(pands these escape characters).15 F +.66(by def)144 672 R(ault.)-.1 E F1(echo)5.66 E F0 .66 +(does not interpret)3.16 F F13.16 E F0 .659 +(to mean the end of options.)3.159 F F1(echo)5.659 E F0 .659 +(interprets the follo)3.159 F(wing)-.25 E(escape sequences:)144 684 Q F1 (\\a)144 696 Q F0(alert \(bell\))28.22 E F1(\\b)144 708 Q F0(backspace) 27.66 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(6)203.725 E 0 Cg EP %%Page: 7 7 @@ -949,1291 +955,1285 @@ A F0(the eight-bit character whose v)13.22 E(alue is the octal v)-.25 E (\\x)144 192 Q F2(HH)A F0(the eight-bit character whose v)13.78 E (alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0 (\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1 -(enable)108 208.8 Q F0([)2.5 E F1A F0 2.5(][)C F1(\255dnps)-2.5 E -F0 2.5(][)C F1-2.5 E F2(\214lename)2.5 E F0 2.5(][)C F2(name)-2.5 -E F0(...])2.5 E .278(Enable and disable b)144 220.8 R .278 -(uiltin shell commands.)-.2 F .278(Disabling a b)5.278 F .278 -(uiltin allo)-.2 F .278(ws a disk command which has)-.25 F .833 -(the same name as a shell b)144 232.8 R .834(uiltin to be e)-.2 F -.15 +(\\u)144 204 Q F2(HHHH)A F0 1.506 +(the Unicode \(ISO/IEC 10646\) character whose v)180 216 R 1.507 +(alue is the he)-.25 F 1.507(xadecimal v)-.15 F(alue)-.25 E F2(HHHH) +4.007 E F0(\(one to four he)180 228 Q 2.5(xd)-.15 G(igits\))-2.5 E F1 +(\\U)144 240 Q F2(HHHHHHHH)A F0 .548 +(the Unicode \(ISO/IEC 10646\) character whose v)180 252 R .547 +(alue is the he)-.25 F .547(xadecimal v)-.15 F(alue)-.25 E F2(HHHHH-) +3.047 E(HHH)180 264 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G(igits\)) +-2.5 E F1(enable)108 280.8 Q F0([)2.5 E F1A F0 2.5(][)C F1 +(\255dnps)-2.5 E F0 2.5(][)C F1-2.5 E F2(\214lename)2.5 E F0 2.5 +(][)C F2(name)-2.5 E F0(...])2.5 E .277(Enable and disable b)144 292.8 R +.278(uiltin shell commands.)-.2 F .278(Disabling a b)5.278 F .278 +(uiltin allo)-.2 F .278(ws a disk command which has)-.25 F .834 +(the same name as a shell b)144 304.8 R .834(uiltin to be e)-.2 F -.15 (xe)-.15 G .834(cuted without specifying a full pathname, e).15 F -.15 -(ve)-.25 G 3.334(nt).15 G(hough)-3.334 E .99 -(the shell normally searches for b)144 244.8 R .989 -(uiltins before disk commands.)-.2 F(If)5.989 E F13.489 E F0 .989 -(is used, each)3.489 F F2(name)3.489 E F0 .989(is dis-)3.489 F 1.581 -(abled; otherwise,)144 256.8 R F2(names)4.082 E F0 1.582(are enabled.) +(ve)-.25 G 3.333(nt).15 G(hough)-3.333 E .989 +(the shell normally searches for b)144 316.8 R .989 +(uiltins before disk commands.)-.2 F(If)5.989 E F13.489 E F0 .99 +(is used, each)3.49 F F2(name)3.49 E F0 .99(is dis-)3.49 F 1.582 +(abled; otherwise,)144 328.8 R F2(names)4.082 E F0 1.582(are enabled.) 4.082 F -.15(Fo)6.582 G 4.082(re).15 G 1.582(xample, to use the)-4.232 F F1(test)4.082 E F0 1.582(binary found via the)4.082 F/F3 9/Times-Bold@0 -SF -.666(PA)4.082 G(TH)-.189 E F0 .081(instead of the shell b)144 268.8 -R .081(uiltin v)-.2 F .081(ersion, run)-.15 F/F4 10/Courier@0 SF .081 -(enable -n test)2.581 F F0 5.081(.T)C(he)-5.081 E F12.58 E F0 .08 -(option means to load the ne)2.58 F(w)-.25 E -.2(bu)144 280.8 S 1.524 -(iltin command).2 F F2(name)4.384 E F0 1.524(from shared object)4.204 F +SF -.666(PA)4.081 G(TH)-.189 E F0 .08(instead of the shell b)144 340.8 R +.08(uiltin v)-.2 F .08(ersion, run)-.15 F/F4 10/Courier@0 SF .081 +(enable -n test)2.58 F F0 5.081(.T)C(he)-5.081 E F12.581 E F0 .081 +(option means to load the ne)2.581 F(w)-.25 E -.2(bu)144 352.8 S 1.525 +(iltin command).2 F F2(name)4.385 E F0 1.524(from shared object)4.204 F F2(\214lename)4.024 E F0 4.024(,o).18 G 4.024(ns)-4.024 G 1.524 -(ystems that support dynamic loading.)-4.024 F(The)144 292.8 Q F1 -2.867 E F0 .367(option will delete a b)2.867 F .367(uiltin pre)-.2 F -.367(viously loaded with)-.25 F F12.866 E F0 5.366(.I)C 2.866(fn) --5.366 G(o)-2.866 E F2(name)2.866 E F0(ar)2.866 E .366(guments are gi) --.18 F -.15(ve)-.25 G .366(n, or).15 F .398(if the)144 304.8 R F1 -2.898 E F0 .399(option is supplied, a list of shell b)2.899 F .399 +(ystems that support dynamic loading.)-4.024 F(The)144 364.8 Q F1 +2.866 E F0 .366(option will delete a b)2.866 F .366(uiltin pre)-.2 F +.366(viously loaded with)-.25 F F12.867 E F0 5.367(.I)C 2.867(fn) +-5.367 G(o)-2.867 E F2(name)2.867 E F0(ar)2.867 E .367(guments are gi) +-.18 F -.15(ve)-.25 G .367(n, or).15 F .399(if the)144 376.8 R F1 +2.899 E F0 .399(option is supplied, a list of shell b)2.899 F .399 (uiltins is printed.)-.2 F -.4(Wi)5.399 G .399(th no other option ar).4 -F .399(guments, the)-.18 F .099(list consists of all enabled shell b)144 -316.8 R 2.598(uiltins. If)-.2 F F12.598 E F0 .098 -(is supplied, only disabled b)2.598 F .098(uiltins are printed.)-.2 F -(If)5.098 E F12.598 E F0 1.916 -(is supplied, the list printed includes all b)144 328.8 R 1.916 -(uiltins, with an indication of whether or not each is)-.2 F 2.879 -(enabled. If)144 340.8 R F12.879 E F0 .379 -(is supplied, the output is restricted to the POSIX)2.879 F F2(special) -2.879 E F0 -.2(bu)2.878 G 2.878(iltins. The).2 F .378(return v)2.878 F -(alue)-.25 E .994(is 0 unless a)144 352.8 R F2(name)3.854 E F0 .994 -(is not a shell b)3.674 F .994(uiltin or there is an error loading a ne) --.2 F 3.495(wb)-.25 G .995(uiltin from a shared)-3.695 F(object.)144 -364.8 Q F1 -2.3 -.15(ev a)108 381.6 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37 -E F0(...])2.5 E(The)144 393.6 Q F2(ar)3.171 E(g)-.37 E F0 3.171(sa)C -.671(re read and concatenated together into a single command.)-3.171 F -.67(This command is then read)5.67 F .495(and e)144 405.6 R -.15(xe)-.15 -G .495(cuted by the shell, and its e).15 F .495 +F .398(guments, the)-.18 F .098(list consists of all enabled shell b)144 +388.8 R 2.598(uiltins. If)-.2 F F12.598 E F0 .098 +(is supplied, only disabled b)2.598 F .099(uiltins are printed.)-.2 F +(If)5.099 E F12.599 E F0 1.917 +(is supplied, the list printed includes all b)144 400.8 R 1.916 +(uiltins, with an indication of whether or not each is)-.2 F 2.878 +(enabled. If)144 412.8 R F12.878 E F0 .379 +(is supplied, the output is restricted to the POSIX)2.878 F F2(special) +2.879 E F0 -.2(bu)2.879 G 2.879(iltins. The).2 F .379(return v)2.879 F +(alue)-.25 E .995(is 0 unless a)144 424.8 R F2(name)3.855 E F0 .994 +(is not a shell b)3.675 F .994(uiltin or there is an error loading a ne) +-.2 F 3.494(wb)-.25 G .994(uiltin from a shared)-3.694 F(object.)144 +436.8 Q F1 -2.3 -.15(ev a)108 453.6 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37 +E F0(...])2.5 E(The)144 465.6 Q F2(ar)3.17 E(g)-.37 E F0 3.17(sa)C .671 +(re read and concatenated together into a single command.)-3.17 F .671 +(This command is then read)5.671 F .495(and e)144 477.6 R -.15(xe)-.15 G +.495(cuted by the shell, and its e).15 F .495 (xit status is returned as the v)-.15 F .495(alue of)-.25 F F1 -2.3 -.15 (ev a)2.995 H(l).15 E F0 5.495(.I)C 2.995(ft)-5.495 G .495(here are no) --2.995 F F2(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 417.6 Q +-2.995 F F2(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 489.6 Q (guments,)-.18 E F1 -2.3 -.15(ev a)2.5 H(l).15 E F0(returns 0.)2.5 E F1 -(exec)108 434.4 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1-2.5 E F2 +(exec)108 506.4 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1-2.5 E F2 (name)2.5 E F0 2.5(][)C F2(command)-2.5 E F0([)2.5 E F2(ar)A(guments) --.37 E F0(]])A(If)144 446.4 Q F2(command)3.006 E F0 .306 -(is speci\214ed, it replaces the shell.)3.576 F .305(No ne)5.305 F 2.805 -(wp)-.25 G .305(rocess is created.)-2.805 F(The)5.305 E F2(ar)3.135 E -(guments)-.37 E F0(become)3.075 E .176(the ar)144 458.4 R .176 +-.37 E F0(]])A(If)144 518.4 Q F2(command)3.005 E F0 .305 +(is speci\214ed, it replaces the shell.)3.575 F .305(No ne)5.305 F 2.805 +(wp)-.25 G .306(rocess is created.)-2.805 F(The)5.306 E F2(ar)3.136 E +(guments)-.37 E F0(become)3.076 E .177(the ar)144 530.4 R .177 (guments to)-.18 F F2(command)2.676 E F0 5.176(.I)C 2.676(ft)-5.176 G (he)-2.676 E F12.676 E F0 .176 -(option is supplied, the shell places a dash at the be)2.676 F .177 -(ginning of)-.15 F .5(the zeroth ar)144 470.4 R .5(gument passed to)-.18 -F F2(command)3 E F0 5.499(.T).77 G .499(his is what)-5.499 F F2(lo)2.999 -E(gin)-.1 E F0 .499(\(1\) does.).24 F(The)5.499 E F12.999 E F0 -.499(option causes)2.999 F F2(com-)3.199 E(mand)144 482.4 Q F0 .638 -(to be e)3.908 F -.15(xe)-.15 G .638(cuted with an empty en).15 F 3.138 +(option is supplied, the shell places a dash at the be)2.676 F .176 +(ginning of)-.15 F .499(the zeroth ar)144 542.4 R .499(gument passed to) +-.18 F F2(command)2.999 E F0 5.499(.T).77 G .499(his is what)-5.499 F F2 +(lo)2.999 E(gin)-.1 E F0 .499(\(1\) does.).24 F(The)5.5 E F13 E F0 +.5(option causes)3 F F2(com-)3.2 E(mand)144 554.4 Q F0 .639(to be e) +3.909 F -.15(xe)-.15 G .638(cuted with an empty en).15 F 3.138 (vironment. If)-.4 F F13.138 E F0 .638 -(is supplied, the shell passes)3.138 F F2(name)3.499 E F0 .639(as the) -3.319 F 1.078(zeroth ar)144 494.4 R 1.077(gument to the e)-.18 F -.15 +(is supplied, the shell passes)3.138 F F2(name)3.498 E F0 .638(as the) +3.318 F 1.077(zeroth ar)144 566.4 R 1.077(gument to the e)-.18 F -.15 (xe)-.15 G 1.077(cuted command.).15 F(If)6.077 E F2(command)3.777 E F0 1.077(cannot be e)4.347 F -.15(xe)-.15 G 1.077(cuted for some reason, a) -.15 F(non-interacti)144 506.4 Q .617 -.15(ve s)-.25 H .317(hell e).15 F -.317(xits, unless the shell option)-.15 F F1(execfail)2.817 E F0 .318 +.15 F(non-interacti)144 578.4 Q .618 -.15(ve s)-.25 H .318(hell e).15 F +.318(xits, unless the shell option)-.15 F F1(execfail)2.817 E F0 .317 (is enabled, in which case it returns f)2.817 F(ail-)-.1 E 2.505 -(ure. An)144 518.4 R(interacti)2.505 E .305 -.15(ve s)-.25 H .005 +(ure. An)144 590.4 R(interacti)2.505 E .305 -.15(ve s)-.25 H .005 (hell returns f).15 F .005(ailure if the \214le cannot be e)-.1 F -.15 (xe)-.15 G 2.505(cuted. If).15 F F2(command)2.705 E F0 .005 -(is not speci\214ed,)3.275 F(an)144 530.4 Q 3.036(yr)-.15 G .536 -(edirections tak)-3.036 F 3.036(ee)-.1 G -.25(ff)-3.036 G .536 +(is not speci\214ed,)3.275 F(an)144 602.4 Q 3.037(yr)-.15 G .537 +(edirections tak)-3.037 F 3.036(ee)-.1 G -.25(ff)-3.036 G .536 (ect in the current shell, and the return status is 0.).25 F .536 -(If there is a redirection)5.536 F(error)144 542.4 Q 2.5(,t)-.4 G -(he return status is 1.)-2.5 E F1(exit)108 559.2 Q F0([)2.5 E F2(n)A F0 -6.29(]C)C .096(ause the shell to e)-6.29 F .096(xit with a status of) --.15 F F2(n)2.596 E F0 5.096(.I)C(f)-5.096 E F2(n)2.955 E F0 .095 -(is omitted, the e)2.835 F .095(xit status is that of the last command) --.15 F -.15(exe)144 571.2 S 2.5(cuted. A).15 F(trap on)2.5 E F3(EXIT)2.5 +(If there is a redirection)5.536 F(error)144 614.4 Q 2.5(,t)-.4 G +(he return status is 1.)-2.5 E F1(exit)108 631.2 Q F0([)2.5 E F2(n)A F0 +6.29(]C)C .095(ause the shell to e)-6.29 F .095(xit with a status of) +-.15 F F2(n)2.595 E F0 5.095(.I)C(f)-5.095 E F2(n)2.955 E F0 .096 +(is omitted, the e)2.835 F .096(xit status is that of the last command) +-.15 F -.15(exe)144 643.2 S 2.5(cuted. A).15 F(trap on)2.5 E F3(EXIT)2.5 E F0(is e)2.25 E -.15(xe)-.15 G(cuted before the shell terminates.).15 E -F1(export)108 588 Q F0([)2.5 E F1(\255fn)A F0 2.5(][).833 G F2(name)-2.5 -E F0([=)A F2(wor)A(d)-.37 E F0(]] ...)A F1(export \255p)108 600 Q F0 -.256(The supplied)144 612 R F2(names)3.117 E F0 .257(are mark)3.027 F +F1(export)108 660 Q F0([)2.5 E F1(\255fn)A F0 2.5(][).833 G F2(name)-2.5 +E F0([=)A F2(wor)A(d)-.37 E F0(]] ...)A F1(export \255p)108 672 Q F0 +.257(The supplied)144 684 R F2(names)3.117 E F0 .257(are mark)3.027 F .257(ed for automatic e)-.1 F .257(xport to the en)-.15 F .257 -(vironment of subsequently e)-.4 F -.15(xe)-.15 G(cuted).15 E 2.627 -(commands. If)144 624 R(the)2.627 E F12.627 E F0 .127 +(vironment of subsequently e)-.4 F -.15(xe)-.15 G(cuted).15 E 2.626 +(commands. If)144 696 R(the)2.626 E F12.626 E F0 .127 (option is gi)2.627 F -.15(ve)-.25 G .127(n, the).15 F F2(names)2.987 E F0 .127(refer to functions.)2.897 F .127(If no)5.127 F F2(names)2.987 E -F0 .127(are gi)2.897 F -.15(ve)-.25 G .126(n, or if the).15 F F1 -144 636 Q F0 .659(option is supplied, a list of all names that are e) -3.159 F .66(xported in this shell is printed.)-.15 F(The)5.66 E F1 -3.16 E F0(option)3.16 E 1.587(causes the e)144 648 R 1.587 +F0 .127(are gi)2.897 F -.15(ve)-.25 G .127(n, or if the).15 F F1 +144 708 Q F0 .66(option is supplied, a list of all names that are e)3.16 +F .659(xported in this shell is printed.)-.15 F(The)5.659 E F1 +3.159 E F0(option)3.159 E 1.586(causes the e)144 720 R 1.586 (xport property to be remo)-.15 F -.15(ve)-.15 G 4.086(df).15 G 1.586 (rom each)-4.086 F F2(name)4.086 E F0 6.586(.I)C 4.086(fav)-6.586 G -1.586(ariable name is follo)-4.336 F 1.586(wed by)-.25 F(=)144 660 Q F2 -(wor)A(d)-.37 E F0 2.803(,t)C .303(he v)-2.803 F .303(alue of the v)-.25 -F .304(ariable is set to)-.25 F F2(wor)2.804 E(d)-.37 E F0(.)A F1 -(export)5.304 E F0 .304(returns an e)2.804 F .304 -(xit status of 0 unless an in)-.15 F -.25(va)-.4 G(lid).25 E .294 -(option is encountered, one of the)144 672 R F2(names)2.793 E F0 .293 -(is not a v)2.793 F .293(alid shell v)-.25 F .293(ariable name, or)-.25 -F F12.793 E F0 .293(is supplied with a)2.793 F F2(name)144.36 684 -Q F0(that is not a function.)2.68 E F1(fc)108 700.8 Q F0([)2.5 E F1 -A F2(ename)2.5 E F0 2.5(][)C F1(\255lnr)-2.5 E F0 2.5(][)C F2 -<8c72>-2.5 E(st)-.1 E F0 2.5(][)C F2(last)-2.5 E F0(])A(GNU Bash-4.0)72 +1.587(ariable name is follo)-4.336 F 1.587(wed by)-.25 F(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(7)203.725 E 0 Cg EP %%Page: 8 8 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48 -(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10 -/Times-Bold@0 SF(fc \255s)108 84 Q F0([)2.5 E/F2 10/Times-Italic@0 SF -(pat)A F0(=)A F2 -.37(re)C(p).37 E F0 2.5(][)C F2(cmd)-2.5 E F0(])A .477 -(Fix Command.)144 96 R .478 -(In the \214rst form, a range of commands from)5.477 F F2<8c72>4.888 E -(st)-.1 E F0(to)3.658 E F2(last)3.068 E F0 .478 -(is selected from the his-)3.658 F .882(tory list.)144 108 R F2 -.45(Fi) -5.882 G -.1(rs).45 G(t).1 E F0(and)4.062 E F2(last)3.472 E F0 .882 +(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E(=)144 84 Q +/F1 10/Times-Italic@0 SF(wor)A(d)-.37 E F0 2.804(,t)C .304(he v)-2.804 F +.304(alue of the v)-.25 F .304(ariable is set to)-.25 F F1(wor)2.804 E +(d)-.37 E F0(.)A/F2 10/Times-Bold@0 SF(export)5.304 E F0 .304 +(returns an e)2.804 F .303(xit status of 0 unless an in)-.15 F -.25(va) +-.4 G(lid).25 E .293(option is encountered, one of the)144 96 R F1 +(names)2.793 E F0 .293(is not a v)2.793 F .293(alid shell v)-.25 F .293 +(ariable name, or)-.25 F F22.793 E F0 .294(is supplied with a) +2.793 F F1(name)144.36 108 Q F0(that is not a function.)2.68 E F2(fc)108 +124.8 Q F0([)2.5 E F2A F1(ename)2.5 E F0 2.5(][)C F2(\255lnr)-2.5 +E F0 2.5(][)C F1<8c72>-2.5 E(st)-.1 E F0 2.5(][)C F1(last)-2.5 E F0(])A +F2(fc \255s)108 136.8 Q F0([)2.5 E F1(pat)A F0(=)A F1 -.37(re)C(p).37 E +F0 2.5(][)C F1(cmd)-2.5 E F0(])A .478(Fix Command.)144 148.8 R .478 +(In the \214rst form, a range of commands from)5.478 F F1<8c72>4.888 E +(st)-.1 E F0(to)3.658 E F1(last)3.068 E F0 .477 +(is selected from the his-)3.658 F .881(tory list.)144 160.8 R F1 -.45 +(Fi)5.881 G -.1(rs).45 G(t).1 E F0(and)4.061 E F1(last)3.471 E F0 .882 (may be speci\214ed as a string \(to locate the last command be)4.062 F -.881(ginning with)-.15 F .797(that string\) or as a number \(an inde)144 -120 R 3.297(xi)-.15 G .797(nto the history list, where a ne)-3.297 F --.05(ga)-.15 G(ti).05 E 1.097 -.15(ve n)-.25 H .797(umber is used as an) -.15 F(of)144 132 Q .277(fset from the current command number\).)-.25 F -(If)5.277 E F2(last)2.867 E F0 .276 -(is not speci\214ed it is set to the current command)3.457 F .092 -(for listing \(so that)144 144 R/F3 10/Courier@0 SF .092 +.882(ginning with)-.15 F .797(that string\) or as a number \(an inde)144 +172.8 R 3.297(xi)-.15 G .797(nto the history list, where a ne)-3.297 F +-.05(ga)-.15 G(ti).05 E 1.097 -.15(ve n)-.25 H .796(umber is used as an) +.15 F(of)144 184.8 Q .276(fset from the current command number\).)-.25 F +(If)5.276 E F1(last)2.866 E F0 .277 +(is not speci\214ed it is set to the current command)3.456 F .093 +(for listing \(so that)144 196.8 R/F3 10/Courier@0 SF .092 (fc \255l \25510)2.592 F F0 .092(prints the last 10 commands\) and to) -2.592 F F2<8c72>4.502 E(st)-.1 E F0 2.592(otherwise. If)3.272 F F2<8c72> -4.502 E(st)-.1 E F0 .093(is not)3.273 F -(speci\214ed it is set to the pre)144 156 Q -(vious command for editing and \25516 for listing.)-.25 E(The)144 180 Q -F12.522 E F0 .022 +2.592 F F1<8c72>4.502 E(st)-.1 E F0 2.592(otherwise. If)3.272 F F1<8c72> +4.502 E(st)-.1 E F0 .092(is not)3.272 F +(speci\214ed it is set to the pre)144 208.8 Q +(vious command for editing and \25516 for listing.)-.25 E(The)144 232.8 +Q F22.522 E F0 .022 (option suppresses the command numbers when listing.)2.522 F(The)5.022 E -F12.522 E F0 .022(option re)2.522 F -.15(ve)-.25 G .022 -(rses the order of).15 F .438(the commands.)144 192 R .438(If the)5.438 -F F12.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438 +F22.522 E F0 .022(option re)2.522 F -.15(ve)-.25 G .022 +(rses the order of).15 F .438(the commands.)144 244.8 R .438(If the) +5.438 F F22.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438 (n, the commands are listed on standard output.).15 F(Otherwise,)5.438 E -.335(the editor gi)144 204 R -.15(ve)-.25 G 2.835(nb).15 G(y)-2.835 E F2 -(ename)3.025 E F0 .335(is in)3.015 F -.2(vo)-.4 G -.1(ke).2 G 2.835(do) -.1 G 2.835(na\214)-2.835 G .335(le containing those commands.)-2.835 F -(If)5.334 E F2(ename)3.024 E F0 .334(is not gi)3.014 F -.15(ve)-.25 G -(n,).15 E .63(the v)144 216 R .63(alue of the)-.25 F/F4 9/Times-Bold@0 -SF(FCEDIT)3.13 E F0 -.25(va)2.88 G .631(riable is used, and the v).25 F -.631(alue of)-.25 F F4(EDIT)3.131 E(OR)-.162 E F0(if)2.881 E F4(FCEDIT) -3.131 E F0 .631(is not set.)2.881 F .631(If nei-)5.631 F 1.884(ther v) -144 228 R 1.884(ariable is set, is used.)-.25 F 1.884 +.334(the editor gi)144 256.8 R -.15(ve)-.25 G 2.834(nb).15 G(y)-2.834 E +F1(ename)3.024 E F0 .335(is in)3.014 F -.2(vo)-.4 G -.1(ke).2 G 2.835 +(do).1 G 2.835(na\214)-2.835 G .335(le containing those commands.)-2.835 +F(If)5.335 E F1(ename)3.025 E F0 .335(is not gi)3.015 F -.15(ve)-.25 G +(n,).15 E .631(the v)144 268.8 R .631(alue of the)-.25 F/F4 9 +/Times-Bold@0 SF(FCEDIT)3.131 E F0 -.25(va)2.881 G .631 +(riable is used, and the v).25 F .631(alue of)-.25 F F4(EDIT)3.131 E(OR) +-.162 E F0(if)2.881 E F4(FCEDIT)3.13 E F0 .63(is not set.)2.88 F .63 +(If nei-)5.63 F 1.884(ther v)144 280.8 R 1.884(ariable is set, is used.) +-.25 F 1.884 (When editing is complete, the edited commands are echoed and)6.884 F --.15(exe)144 240 S(cuted.).15 E .039(In the second form,)144 264 R F2 -(command)2.539 E F0 .039(is re-e)2.539 F -.15(xe)-.15 G .039 -(cuted after each instance of).15 F F2(pat)2.54 E F0 .04(is replaced by) -2.54 F F2 -.37(re)2.54 G(p).37 E F0 5.04(.A)C(useful)-2.5 E .406 -(alias to use with this is)144 276 R F3 .406(r='fc \255s')2.906 F F0 -2.906(,s)C 2.906(ot)-2.906 G .406(hat typing)-2.906 F F3 6.406(rc)2.906 -G(c)-6.406 E F0 .406(runs the last command be)2.906 F .406(ginning with) --.15 F F3(cc)144 288 Q F0(and typing)2.5 E F3(r)2.5 E F0(re-e)2.5 E -.15 -(xe)-.15 G(cutes the last command.).15 E .142 -(If the \214rst form is used, the return v)144 312 R .142 +-.15(exe)144 292.8 S(cuted.).15 E .04(In the second form,)144 316.8 R F1 +(command)2.54 E F0 .04(is re-e)2.54 F -.15(xe)-.15 G .039 +(cuted after each instance of).15 F F1(pat)2.539 E F0 .039 +(is replaced by)2.539 F F1 -.37(re)2.539 G(p).37 E F0 5.039(.A)C(useful) +-2.5 E .406(alias to use with this is)144 328.8 R F3 .406(r='fc \255s') +2.906 F F0 2.906(,s)C 2.906(ot)-2.906 G .406(hat typing)-2.906 F F3 +6.406(rc)2.906 G(c)-6.406 E F0 .406(runs the last command be)2.906 F +.407(ginning with)-.15 F F3(cc)144 340.8 Q F0(and typing)2.5 E F3(r)2.5 +E F0(re-e)2.5 E -.15(xe)-.15 G(cutes the last command.).15 E .142 +(If the \214rst form is used, the return v)144 364.8 R .142 (alue is 0 unless an in)-.25 F -.25(va)-.4 G .142 -(lid option is encountered or).25 F F2<8c72>4.552 E(st)-.1 E F0(or)3.322 -E F2(last)2.732 E F0 .455(specify history lines out of range.)144 324 R -.454(If the)5.454 F F12.954 E F0 .454 -(option is supplied, the return v)2.954 F .454(alue is the v)-.25 F .454 -(alue of the)-.25 F .787(last command e)144 336 R -.15(xe)-.15 G .787 -(cuted or f).15 F .788 +(lid option is encountered or).25 F F1<8c72>4.552 E(st)-.1 E F0(or)3.322 +E F1(last)2.732 E F0 .454(specify history lines out of range.)144 376.8 +R .454(If the)5.454 F F22.954 E F0 .454 +(option is supplied, the return v)2.954 F .455(alue is the v)-.25 F .455 +(alue of the)-.25 F .788(last command e)144 388.8 R -.15(xe)-.15 G .788 +(cuted or f).15 F .787 (ailure if an error occurs with the temporary \214le of commands.)-.1 F -.788(If the)5.788 F 1.136 +.787(If the)5.787 F 1.135 (second form is used, the return status is that of the command re-e)144 -348 R -.15(xe)-.15 G 1.135(cuted, unless).15 F F2(cmd)3.835 E F0 1.135 -(does not)4.405 F(specify a v)144 360 Q -(alid history line, in which case)-.25 E F1(fc)2.5 E F0(returns f)2.5 E -(ailure.)-.1 E F1(fg)108 376.8 Q F0([)2.5 E F2(jobspec)A F0(])A(Resume) -144 388.8 Q F2(jobspec)5.653 E F0 1.413(in the fore)4.223 F 1.413 +400.8 R -.15(xe)-.15 G 1.136(cuted, unless).15 F F1(cmd)3.836 E F0 1.136 +(does not)4.406 F(specify a v)144 412.8 Q +(alid history line, in which case)-.25 E F2(fc)2.5 E F0(returns f)2.5 E +(ailure.)-.1 E F2(fg)108 429.6 Q F0([)2.5 E F1(jobspec)A F0(])A(Resume) +144 441.6 Q F1(jobspec)5.654 E F0 1.413(in the fore)4.224 F 1.413 (ground, and mak)-.15 F 3.913(ei)-.1 G 3.913(tt)-3.913 G 1.413 -(he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F2(jobspec)5.653 E F0 -1.414(is not present, the)4.223 F(shell')144 400.8 Q 3.117(sn)-.55 G -.617(otion of the)-3.117 F F2(curr)3.117 E .617(ent job)-.37 F F0 .617 -(is used.)3.117 F .617(The return v)5.617 F .616 -(alue is that of the command placed into the)-.25 F(fore)144 412.8 Q -.362(ground, or f)-.15 F .362 -(ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .363 -(hen run with job control enabled, if)-2.862 F F2(jobspec)145.74 424.8 Q -F0 .004(does not specify a v)2.815 F .004(alid job or)-.25 F F2(jobspec) +(he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F1(jobspec)5.653 E F0 +1.413(is not present, the)4.223 F(shell')144 453.6 Q 3.116(sn)-.55 G +.616(otion of the)-3.116 F F1(curr)3.116 E .616(ent job)-.37 F F0 .617 +(is used.)3.116 F .617(The return v)5.617 F .617 +(alue is that of the command placed into the)-.25 F(fore)144 465.6 Q +.363(ground, or f)-.15 F .363 +(ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .362 +(hen run with job control enabled, if)-2.862 F F1(jobspec)145.74 477.6 Q +F0 .004(does not specify a v)2.814 F .004(alid job or)-.25 F F1(jobspec) 4.244 E F0 .004(speci\214es a job that w)2.814 F .004 -(as started without job control.)-.1 F F1(getopts)108 441.6 Q F2 -(optstring name)2.5 E F0([)2.5 E F2(ar)A(gs)-.37 E F0(])A F1(getopts)144 -453.6 Q F0 .793 -(is used by shell procedures to parse positional parameters.)3.293 F F2 -(optstring)6.023 E F0 .793(contains the option)3.513 F .15 -(characters to be recognized; if a character is follo)144 465.6 R .149 -(wed by a colon, the option is e)-.25 F .149(xpected to ha)-.15 F .449 --.15(ve a)-.2 H(n).15 E(ar)144 477.6 Q .578 -(gument, which should be separated from it by white space.)-.18 F .579 +(as started without job control.)-.1 F F2(getopts)108 494.4 Q F1 +(optstring name)2.5 E F0([)2.5 E F1(ar)A(gs)-.37 E F0(])A F2(getopts)144 +506.4 Q F0 .793 +(is used by shell procedures to parse positional parameters.)3.294 F F1 +(optstring)6.023 E F0 .793(contains the option)3.513 F .149 +(characters to be recognized; if a character is follo)144 518.4 R .15 +(wed by a colon, the option is e)-.25 F .15(xpected to ha)-.15 F .45 +-.15(ve a)-.2 H(n).15 E(ar)144 530.4 Q .579 +(gument, which should be separated from it by white space.)-.18 F .578 (The colon and question mark char)5.579 F(-)-.2 E 1.665 -(acters may not be used as option characters.)144 489.6 R 1.665 -(Each time it is in)6.665 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F1(getopts) -4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .796 -(option in the shell v)144 501.6 R(ariable)-.25 E F2(name)3.296 E F0 -3.296(,i).18 G(nitializing)-3.296 E F2(name)3.657 E F0 .797 -(if it does not e)3.477 F .797(xist, and the inde)-.15 F 3.297(xo)-.15 G -3.297(ft)-3.297 G .797(he ne)-3.297 F(xt)-.15 E(ar)144 513.6 Q .085 +(acters may not be used as option characters.)144 542.4 R 1.665 +(Each time it is in)6.665 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F2(getopts) +4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .797 +(option in the shell v)144 554.4 R(ariable)-.25 E F1(name)3.297 E F0 +3.297(,i).18 G(nitializing)-3.297 E F1(name)3.657 E F0 .797 +(if it does not e)3.477 F .796(xist, and the inde)-.15 F 3.296(xo)-.15 G +3.296(ft)-3.296 G .796(he ne)-3.296 F(xt)-.15 E(ar)144 566.4 Q .085 (gument to be processed into the v)-.18 F(ariable)-.25 E F4(OPTIND)2.585 E/F5 9/Times-Roman@0 SF(.)A F4(OPTIND)4.585 E F0 .085 -(is initialized to 1 each time the shell)2.335 F .845 -(or a shell script is in)144 525.6 R -.2(vo)-.4 G -.1(ke).2 G 3.345 -(d. When).1 F .845(an option requires an ar)3.345 F(gument,)-.18 E F1 -(getopts)3.346 E F0 .846(places that ar)3.346 F(gument)-.18 E .804 -(into the v)144 537.6 R(ariable)-.25 E F4(OPT)3.304 E(ARG)-.81 E F5(.)A -F0 .803(The shell does not reset)5.304 F F4(OPTIND)3.303 E F0 .803 -(automatically; it must be manually)3.053 F .293 -(reset between multiple calls to)144 549.6 R F1(getopts)2.793 E F0 .293 +(is initialized to 1 each time the shell)2.335 F .846 +(or a shell script is in)144 578.4 R -.2(vo)-.4 G -.1(ke).2 G 3.345 +(d. When).1 F .845(an option requires an ar)3.345 F(gument,)-.18 E F2 +(getopts)3.345 E F0 .845(places that ar)3.345 F(gument)-.18 E .803 +(into the v)144 590.4 R(ariable)-.25 E F4(OPT)3.303 E(ARG)-.81 E F5(.)A +F0 .803(The shell does not reset)5.303 F F4(OPTIND)3.303 E F0 .804 +(automatically; it must be manually)3.054 F .294 +(reset between multiple calls to)144 602.4 R F2(getopts)2.793 E F0 .293 (within the same shell in)2.793 F -.2(vo)-.4 G .293(cation if a ne).2 F -2.793(ws)-.25 G .294(et of parameters)-2.793 F(is to be used.)144 561.6 -Q 2.044(When the end of options is encountered,)144 585.6 R F1(getopts) -4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.043 -(alue greater than zero.)-.25 F F4(OPTIND)144 597.6 Q F0 +2.793(ws)-.25 G .293(et of parameters)-2.793 F(is to be used.)144 614.4 +Q 2.043(When the end of options is encountered,)144 638.4 R F2(getopts) +4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.044 +(alue greater than zero.)-.25 F F4(OPTIND)144 650.4 Q F0 (is set to the inde)2.25 E 2.5(xo)-.15 G 2.5(ft)-2.5 G -(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F1(name)2.5 E F0 -(is set to ?.)2.5 E F1(getopts)144 621.6 Q F0 2.392 -(normally parses the positional parameters, b)4.892 F 2.392 -(ut if more ar)-.2 F 2.393(guments are gi)-.18 F -.15(ve)-.25 G 4.893 -(ni).15 G(n)-4.893 E F2(ar)4.893 E(gs)-.37 E F0(,).27 E F1(getopts)144 -633.6 Q F0(parses those instead.)2.5 E F1(getopts)144 657.6 Q F0 1.166 -(can report errors in tw)3.666 F 3.665(ow)-.1 G 3.665(ays. If)-3.765 F -1.165(the \214rst character of)3.665 F F2(optstring)3.895 E F0 1.165 -(is a colon,)3.885 F F2(silent)4.005 E F0(error)4.345 E 1.263 -(reporting is used.)144 669.6 R 1.263 +(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F2(name)2.5 E F0 +(is set to ?.)2.5 E F2(getopts)144 674.4 Q F0 2.393 +(normally parses the positional parameters, b)4.893 F 2.392 +(ut if more ar)-.2 F 2.392(guments are gi)-.18 F -.15(ve)-.25 G 4.892 +(ni).15 G(n)-4.892 E F1(ar)4.892 E(gs)-.37 E F0(,).27 E F2(getopts)144 +686.4 Q F0(parses those instead.)2.5 E F2(getopts)144 710.4 Q F0 1.165 +(can report errors in tw)3.665 F 3.665(ow)-.1 G 3.665(ays. If)-3.765 F +1.165(the \214rst character of)3.665 F F1(optstring)3.895 E F0 1.166 +(is a colon,)3.886 F F1(silent)4.006 E F0(error)4.346 E 1.264 +(reporting is used.)144 722.4 R 1.263 (In normal operation diagnostic messages are printed when in)6.263 F --.25(va)-.4 G 1.263(lid options or).25 F .394(missing option ar)144 -681.6 R .394(guments are encountered.)-.18 F .394(If the v)5.394 F -(ariable)-.25 E F4(OPTERR)2.894 E F0 .394 -(is set to 0, no error messages)2.644 F(will be displayed, e)144 693.6 Q --.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214rst character of)-2.5 E -F2(optstring)2.73 E F0(is not a colon.)2.72 E .666(If an in)144 717.6 R --.25(va)-.4 G .666(lid option is seen,).25 F F1(getopts)3.166 E F0 .667 -(places ? into)3.167 F F2(name)3.527 E F0 .667 -(and, if not silent, prints an error message)3.347 F .4(and unsets)144 -729.6 R F4(OPT)2.9 E(ARG)-.81 E F5(.)A F0(If)4.899 E F1(getopts)2.899 E -F0 .399(is silent, the option character found is placed in)2.899 F F4 -(OPT)2.899 E(ARG)-.81 E F0 .399(and no)2.649 F(GNU Bash-4.0)72 768 Q +-.25(va)-.4 G 1.263(lid options or).25 F(GNU Bash-4.0)72 768 Q (2004 Apr 20)148.735 E(8)203.725 E 0 Cg EP %%Page: 9 9 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48 -(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E -(diagnostic message is printed.)144 84 Q 1.241(If a required ar)144 108 -R 1.241(gument is not found, and)-.18 F/F1 10/Times-Bold@0 SF(getopts) -3.741 E F0 1.241(is not silent, a question mark \()3.741 F F1(?).833 E -F0 3.742(\)i).833 G 3.742(sp)-3.742 G 1.242(laced in)-3.742 F/F2 10 -/Times-Italic@0 SF(name)144 120 Q F0(,).18 E/F3 9/Times-Bold@0 SF(OPT) -2.735 E(ARG)-.81 E F0 .234 -(is unset, and a diagnostic message is printed.)2.485 F(If)5.234 E F1 -(getopts)2.734 E F0 .234(is silent, then a colon \()2.734 F F1(:).833 E -F0(\)).833 E(is placed in)144 132 Q F2(name)2.86 E F0(and)2.68 E F3(OPT) -2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 E F1 -(getopts)144 156 Q F0 .902 +(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .393 +(missing option ar)144 84 R .393(guments are encountered.)-.18 F .394 +(If the v)5.394 F(ariable)-.25 E/F1 9/Times-Bold@0 SF(OPTERR)2.894 E F0 +.394(is set to 0, no error messages)2.644 F(will be displayed, e)144 96 +Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214rst character of)-2.5 +E/F2 10/Times-Italic@0 SF(optstring)2.73 E F0(is not a colon.)2.72 E +.667(If an in)144 120 R -.25(va)-.4 G .667(lid option is seen,).25 F/F3 +10/Times-Bold@0 SF(getopts)3.167 E F0 .667(places ? into)3.167 F F2 +(name)3.527 E F0 .666(and, if not silent, prints an error message)3.347 +F .399(and unsets)144 132 R F1(OPT)2.899 E(ARG)-.81 E/F4 9/Times-Roman@0 +SF(.)A F0(If)4.899 E F3(getopts)2.899 E F0 .399 +(is silent, the option character found is placed in)2.899 F F1(OPT)2.899 +E(ARG)-.81 E F0 .4(and no)2.65 F(diagnostic message is printed.)144 144 +Q 1.242(If a required ar)144 168 R 1.242(gument is not found, and)-.18 F +F3(getopts)3.741 E F0 1.241(is not silent, a question mark \()3.741 F F3 +(?).833 E F0 3.741(\)i).833 G 3.741(sp)-3.741 G 1.241(laced in)-3.741 F +F2(name)144 180 Q F0(,).18 E F1(OPT)2.734 E(ARG)-.81 E F0 .234 +(is unset, and a diagnostic message is printed.)2.484 F(If)5.234 E F3 +(getopts)2.734 E F0 .235(is silent, then a colon \()2.734 F F3(:).833 E +F0(\)).833 E(is placed in)144 192 Q F2(name)2.86 E F0(and)2.68 E F1(OPT) +2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 E F3 +(getopts)144 216 Q F0 .902 (returns true if an option, speci\214ed or unspeci\214ed, is found.) -3.401 F .902(It returns f)5.902 F .902(alse if the end of)-.1 F -(options is encountered or an error occurs.)144 168 Q F1(hash)108 184.8 -Q F0([)2.5 E F1(\255lr)A F0 2.5(][)C F1-2.5 E F2(\214lename)2.5 E -F0 2.5(][)C F1(\255dt)-2.5 E F0 2.5(][)C F2(name)-2.5 E F0(])A .858 -(Each time)144 196.8 R F1(hash)3.358 E F0 .858(is in)3.358 F -.2(vo)-.4 +3.402 F .902(It returns f)5.902 F .901(alse if the end of)-.1 F +(options is encountered or an error occurs.)144 228 Q F3(hash)108 244.8 +Q F0([)2.5 E F3(\255lr)A F0 2.5(][)C F3-2.5 E F2(\214lename)2.5 E +F0 2.5(][)C F3(\255dt)-2.5 E F0 2.5(][)C F2(name)-2.5 E F0(])A .858 +(Each time)144 256.8 R F3(hash)3.358 E F0 .858(is in)3.358 F -.2(vo)-.4 G -.1(ke).2 G .858(d, the full pathname of the command).1 F F2(name) 3.718 E F0 .858(is determined by searching)3.538 F .956 -(the directories in)144 208.8 R F1($P)3.456 E -.95(AT)-.74 G(H).95 E F0 +(the directories in)144 268.8 R F3($P)3.456 E -.95(AT)-.74 G(H).95 E F0 .956(and remembered.)3.456 F(An)5.956 E 3.456(yp)-.15 G(re)-3.456 E .956 -(viously-remembered pathname is discarded.)-.25 F .099(If the)144 220.8 -R F12.599 E F0 .099 -(option is supplied, no path search is performed, and)2.599 F F2 -(\214lename)4.508 E F0 .098(is used as the full \214le name)2.778 F -1.711(of the command.)144 232.8 R(The)6.711 E F14.211 E F0 1.711 -(option causes the shell to for)4.211 F 1.712 -(get all remembered locations.)-.18 F(The)6.712 E F14.212 E F0 -.833(option causes the shell to for)144 244.8 R .833 +(viously-remembered pathname is discarded.)-.25 F .098(If the)144 280.8 +R F32.598 E F0 .098 +(option is supplied, no path search is performed, and)2.598 F F2 +(\214lename)4.509 E F0 .099(is used as the full \214le name)2.779 F +1.712(of the command.)144 292.8 R(The)6.712 E F34.212 E F0 1.711 +(option causes the shell to for)4.212 F 1.711 +(get all remembered locations.)-.18 F(The)6.711 E F34.211 E F0 +.833(option causes the shell to for)144 304.8 R .833 (get the remembered location of each)-.18 F F2(name)3.333 E F0 5.833(.I) -C 3.333(ft)-5.833 G(he)-3.333 E F13.333 E F0 .833(option is sup-) -3.333 F .703(plied, the full pathname to which each)144 256.8 R F2(name) -3.204 E F0 .704(corresponds is printed.)3.204 F .704(If multiple)5.704 F -F2(name)3.204 E F0(ar)3.204 E(guments)-.18 E .795(are supplied with)144 -268.8 R F13.295 E F0 3.295(,t)C(he)-3.295 E F2(name)3.295 E F0 -.795(is printed before the hashed full pathname.)3.295 F(The)5.795 E F1 +C 3.333(ft)-5.833 G(he)-3.333 E F33.333 E F0 .833(option is sup-) +3.333 F .704(plied, the full pathname to which each)144 316.8 R F2(name) +3.204 E F0 .703(corresponds is printed.)3.204 F .703(If multiple)5.703 F +F2(name)3.203 E F0(ar)3.203 E(guments)-.18 E .795(are supplied with)144 +328.8 R F33.295 E F0 3.295(,t)C(he)-3.295 E F2(name)3.295 E F0 +.795(is printed before the hashed full pathname.)3.295 F(The)5.795 E F3 3.295 E F0 .795(option causes)3.295 F .934 (output to be displayed in a format that may be reused as input.)144 -280.8 R .934(If no ar)5.934 F .935(guments are gi)-.18 F -.15(ve)-.25 G -.935(n, or if).15 F(only)144 292.8 Q F12.822 E F0 .322 -(is supplied, information about remembered commands is printed.)2.822 F -.321(The return status is true)5.321 F(unless a)144 304.8 Q F2(name)2.86 +340.8 R .934(If no ar)5.934 F .934(guments are gi)-.18 F -.15(ve)-.25 G +.934(n, or if).15 F(only)144 352.8 Q F32.821 E F0 .321 +(is supplied, information about remembered commands is printed.)2.821 F +.322(The return status is true)5.322 F(unless a)144 364.8 Q F2(name)2.86 E F0(is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.) -.25 E F1(help)108 321.6 Q F0([)2.5 E F1(\255dms)A F0 2.5(][)C F2 -(pattern)-2.5 E F0(])A .866(Display helpful information about b)144 -333.6 R .867(uiltin commands.)-.2 F(If)5.867 E F2(pattern)4.617 E F0 -.867(is speci\214ed,)3.607 F F1(help)3.367 E F0(gi)3.367 E -.15(ve)-.25 -G 3.367(sd).15 G(etailed)-3.367 E .307(help on all commands matching)144 -345.6 R F2(pattern)2.807 E F0 2.807(;o).24 G .307 -(therwise help for all the b)-2.807 F .306 -(uiltins and shell control struc-)-.2 F(tures is printed.)144 357.6 Q F1 -144 369.6 Q F0(Display a short description of each)24.74 E F2 -(pattern)2.5 E F1144 381.6 Q F0(Display the description of each) +.25 E F3(help)108 381.6 Q F0([)2.5 E F3(\255dms)A F0 2.5(][)C F2 +(pattern)-2.5 E F0(])A .867(Display helpful information about b)144 +393.6 R .867(uiltin commands.)-.2 F(If)5.867 E F2(pattern)4.617 E F0 +.866(is speci\214ed,)3.607 F F3(help)3.366 E F0(gi)3.366 E -.15(ve)-.25 +G 3.366(sd).15 G(etailed)-3.366 E .306(help on all commands matching)144 +405.6 R F2(pattern)2.806 E F0 2.807(;o).24 G .307 +(therwise help for all the b)-2.807 F .307 +(uiltins and shell control struc-)-.2 F(tures is printed.)144 417.6 Q F3 +144 429.6 Q F0(Display a short description of each)24.74 E F2 +(pattern)2.5 E F3144 441.6 Q F0(Display the description of each) 21.97 E F2(pattern)2.5 E F0(in a manpage-lik)2.5 E 2.5(ef)-.1 G(ormat) --2.5 E F1144 393.6 Q F0 +-2.5 E F3144 453.6 Q F0 (Display only a short usage synopsis for each)26.41 E F2(pattern)2.5 E -F0(The return status is 0 unless no command matches)108 405.6 Q F2 -(pattern)2.5 E F0(.).24 E F1(history [)108 422.4 Q F2(n)A F1(])A -(history \255c)108 434.4 Q(history \255d)108 446.4 Q F2(of)2.5 E(fset) --.18 E F1(history \255anrw)108 458.4 Q F0([)2.5 E F2(\214lename)A F0(])A -F1(history \255p)108 470.4 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A 2.5 -(g.)-.37 G(..)-2.5 E F0(])A F1(history \255s)108 482.4 Q F2(ar)2.5 E(g) +F0(The return status is 0 unless no command matches)108 465.6 Q F2 +(pattern)2.5 E F0(.).24 E F3(history [)108 482.4 Q F2(n)A F3(])A +(history \255c)108 494.4 Q(history \255d)108 506.4 Q F2(of)2.5 E(fset) +-.18 E F3(history \255anrw)108 518.4 Q F0([)2.5 E F2(\214lename)A F0(])A +F3(history \255p)108 530.4 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A 2.5 +(g.)-.37 G(..)-2.5 E F0(])A F3(history \255s)108 542.4 Q F2(ar)2.5 E(g) -.37 E F0([)2.5 E F2(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi)144 -494.4 S .752 +554.4 S .752 (th no options, display the command history list with line numbers.).4 F -.752(Lines listed with a)5.752 F F1(*)3.252 E F0(ha)3.252 E -.15(ve)-.2 -G .381(been modi\214ed.)144 506.4 R .38(An ar)5.38 F .38(gument of)-.18 -F F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88 -(lines. If)3.12 F .38(the shell v)2.88 F(ariable)-.25 E F3(HISTTIMEFOR-) -2.88 E(MA)144 518.4 Q(T)-.855 E F0 .264 -(is set and not null, it is used as a format string for)2.514 F F2 -(strftime)2.765 E F0 .265(\(3\) to display the time stamp asso-)B 1.02 -(ciated with each displayed history entry)144 530.4 R 6.019(.N)-.65 G +.752(Lines listed with a)5.752 F F3(*)3.251 E F0(ha)3.251 E -.15(ve)-.2 +G .38(been modi\214ed.)144 566.4 R .38(An ar)5.38 F .38(gument of)-.18 F +F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88 +(lines. If)3.12 F .38(the shell v)2.88 F(ariable)-.25 E F1(HISTTIMEFOR-) +2.881 E(MA)144 578.4 Q(T)-.855 E F0 .265 +(is set and not null, it is used as a format string for)2.515 F F2 +(strftime)2.764 E F0 .264(\(3\) to display the time stamp asso-)B 1.019 +(ciated with each displayed history entry)144 590.4 R 6.019(.N)-.65 G 3.519(oi)-6.019 G(nterv)-3.519 E 1.019 (ening blank is printed between the formatted)-.15 F .176 -(time stamp and the history line.)144 542.4 R(If)5.176 E F2(\214lename) +(time stamp and the history line.)144 602.4 R(If)5.176 E F2(\214lename) 2.676 E F0 .176 (is supplied, it is used as the name of the history \214le; if)2.676 F -(not, the v)144 554.4 Q(alue of)-.25 E F3(HISTFILE)2.5 E F0(is used.) +(not, the v)144 614.4 Q(alue of)-.25 E F1(HISTFILE)2.5 E F0(is used.) 2.25 E(Options, if supplied, ha)5 E .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F1144 566.4 Q F0 -(Clear the history list by deleting all the entries.)25.86 E F1144 -578.4 Q F2(of)2.5 E(fset)-.18 E F0(Delete the history entry at position) -180 590.4 Q F2(of)2.5 E(fset)-.18 E F0(.)A F1144 602.4 Q F0 .599 -(Append the `)25.3 F(`ne)-.74 E(w')-.25 E 3.099('h)-.74 G .598 -(istory lines \(history lines entered since the be)-3.099 F .598 -(ginning of the current)-.15 F F1(bash)180 614.4 Q F0 -(session\) to the history \214le.)2.5 E F1144 626.4 Q F0 .854(Rea\ +(wing meanings:)-.25 E F3144 626.4 Q F0 +(Clear the history list by deleting all the entries.)25.86 E F3144 +638.4 Q F2(of)2.5 E(fset)-.18 E F0(Delete the history entry at position) +180 650.4 Q F2(of)2.5 E(fset)-.18 E F0(.)A F3144 662.4 Q F0 .598 +(Append the `)25.3 F(`ne)-.74 E(w')-.25 E 3.098('h)-.74 G .598 +(istory lines \(history lines entered since the be)-3.098 F .599 +(ginning of the current)-.15 F F3(bash)180 674.4 Q F0 +(session\) to the history \214le.)2.5 E F3144 686.4 Q F0 .854(Rea\ d the history lines not already read from the history \214le into the c\ -urrent history list.)24.74 F .773 -(These are lines appended to the history \214le since the be)180 638.4 R -.772(ginning of the current)-.15 F F1(bash)3.272 E F0(ses-)3.272 E -(sion.)180 650.4 Q F1144 662.4 Q F0(Read the contents of the hist\ -ory \214le and use them as the current history)25.86 E(.)-.65 E F1 -144 674.4 Q F0(Write the current history to the history \214le, o)23.08 -E -.15(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G -(ontents.)-2.5 E F1144 686.4 Q F0 .625 -(Perform history substitution on the follo)24.74 F(wing)-.25 E F2(ar) -3.125 E(gs)-.37 E F0 .626(and display the result on the standard)3.125 F -2.975(output. Does)180 698.4 R .475 -(not store the results in the history list.)2.975 F(Each)5.475 E F2(ar) -2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F -(normal history e)180 710.4 Q(xpansion.)-.15 E(GNU Bash-4.0)72 768 Q -(2004 Apr 20)148.735 E(9)203.725 E 0 Cg EP +urrent history list.)24.74 F .772 +(These are lines appended to the history \214le since the be)180 698.4 R +.773(ginning of the current)-.15 F F3(bash)3.273 E F0(ses-)3.273 E +(sion.)180 710.4 Q(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(9)203.725 +E 0 Cg EP %%Page: 10 10 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10 -/Times-Bold@0 SF144 84 Q F0 .362(Store the)26.41 F/F2 10 -/Times-Italic@0 SF(ar)3.192 E(gs)-.37 E F0 .363 -(in the history list as a single entry)3.132 F 5.363(.T)-.65 G .363 -(he last command in the history list is)-5.363 F(remo)180 96 Q -.15(ve) +/Times-Bold@0 SF144 84 Q F0(Read the contents of the history \214\ +le and use them as the current history)25.86 E(.)-.65 E F1144 96 Q +F0(Write the current history to the history \214le, o)23.08 E -.15(ve) +-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G(ontents.)-2.5 E +F1144 108 Q F0 .626(Perform history substitution on the follo) +24.74 F(wing)-.25 E/F2 10/Times-Italic@0 SF(ar)3.125 E(gs)-.37 E F0 .625 +(and display the result on the standard)3.125 F 2.975(output. Does)180 +120 R .475(not store the results in the history list.)2.975 F(Each)5.475 +E F2(ar)2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F +(normal history e)180 132 Q(xpansion.)-.15 E F1144 144 Q F0 .363 +(Store the)26.41 F F2(ar)3.193 E(gs)-.37 E F0 .363 +(in the history list as a single entry)3.133 F 5.363(.T)-.65 G .362 +(he last command in the history list is)-5.363 F(remo)180 156 Q -.15(ve) -.15 G 2.5(db).15 G(efore the)-2.5 E F2(ar)2.83 E(gs)-.37 E F0 -(are added.)2.77 E .146(If the)144 112.8 R/F3 9/Times-Bold@0 SF +(are added.)2.77 E .145(If the)144 172.8 R/F3 9/Times-Bold@0 SF (HISTTIMEFORMA)2.645 E(T)-.855 E F0 -.25(va)2.395 G .145 (riable is set, the time stamp information associated with each history) -.25 F .668(entry is written to the history \214le, mark)144 124.8 R .669 -(ed with the history comment character)-.1 F 5.669(.W)-.55 G .669 -(hen the history)-5.669 F .956(\214le is read, lines be)144 136.8 R .956 -(ginning with the history comment character follo)-.15 F .955 -(wed immediately by a digit)-.25 F .415 -(are interpreted as timestamps for the pre)144 148.8 R .416 -(vious history line.)-.25 F .416(The return v)5.416 F .416 +.25 F .669(entry is written to the history \214le, mark)144 184.8 R .669 +(ed with the history comment character)-.1 F 5.668(.W)-.55 G .668 +(hen the history)-5.668 F .955(\214le is read, lines be)144 196.8 R .956 +(ginning with the history comment character follo)-.15 F .956 +(wed immediately by a digit)-.25 F .416 +(are interpreted as timestamps for the pre)144 208.8 R .416 +(vious history line.)-.25 F .416(The return v)5.416 F .415 (alue is 0 unless an in)-.25 F -.25(va)-.4 G(lid).25 E .499(option is e\ ncountered, an error occurs while reading or writing the history \214le\ -, an in)144 160.8 R -.25(va)-.4 G(lid).25 E F2(of)2.999 E(fset)-.18 E F0 -(is)2.999 E(supplied as an ar)144 172.8 Q(gument to)-.18 E F12.5 E -F0 2.5(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E -(xpansion supplied as an ar)-.15 E(gument to)-.18 E F12.5 E F0 -.1 -(fa)2.5 G(ils.).1 E F1(jobs)108 189.6 Q F0([)2.5 E F1(\255lnprs)A F0 2.5 -(][)C F2(jobspec)A F0(... ])2.5 E F1(jobs \255x)108 201.6 Q F2(command) -2.5 E F0([)2.5 E F2(ar)2.5 E(gs)-.37 E F0(... ])2.5 E -(The \214rst form lists the acti)144 213.6 Q .3 -.15(ve j)-.25 H 2.5 -(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F1144 225.6 Q F0 +, an in)144 220.8 R -.25(va)-.4 G(lid).25 E F2(of)3 E(fset)-.18 E F0(is) +3 E(supplied as an ar)144 232.8 Q(gument to)-.18 E F12.5 E F0 2.5 +(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E(xpansion supplied as an ar)-.15 +E(gument to)-.18 E F12.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(jobs)108 +249.6 Q F0([)2.5 E F1(\255lnprs)A F0 2.5(][)C F2(jobspec)A F0(... ])2.5 +E F1(jobs \255x)108 261.6 Q F2(command)2.5 E F0([)2.5 E F2(ar)2.5 E(gs) +-.37 E F0(... ])2.5 E(The \214rst form lists the acti)144 273.6 Q .3 +-.15(ve j)-.25 H 2.5(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H +(he follo).15 E(wing meanings:)-.25 E F1144 285.6 Q F0 (List process IDs in addition to the normal information.)27.52 E F1 -144 237.6 Q F0 .193(Display information only about jobs that ha) -24.74 F .494 -.15(ve c)-.2 H .194(hanged status since the user w).15 F -.194(as last noti-)-.1 F(\214ed of their status.)180 249.6 Q F1144 -261.6 Q F0(List only the process ID of the job')24.74 E 2.5(sp)-.55 G -(rocess group leader)-2.5 E(.)-.55 E F1144 273.6 Q F0 -(Restrict output to running jobs.)25.86 E F1144 285.6 Q F0 -(Restrict output to stopped jobs.)26.41 E(If)144 302.4 Q F2(jobspec) -4.554 E F0 .314(is gi)3.124 F -.15(ve)-.25 G .314 -(n, output is restricted to information about that job).15 F 5.313(.T) --.4 G .313(he return status is 0 unless)-5.313 F(an in)144 314.4 Q -.25 +144 297.6 Q F0 .194(Display information only about jobs that ha) +24.74 F .494 -.15(ve c)-.2 H .193(hanged status since the user w).15 F +.193(as last noti-)-.1 F(\214ed of their status.)180 309.6 Q F1144 +321.6 Q F0(List only the process ID of the job')24.74 E 2.5(sp)-.55 G +(rocess group leader)-2.5 E(.)-.55 E F1144 333.6 Q F0 +(Restrict output to running jobs.)25.86 E F1144 345.6 Q F0 +(Restrict output to stopped jobs.)26.41 E(If)144 362.4 Q F2(jobspec) +4.553 E F0 .313(is gi)3.123 F -.15(ve)-.25 G .313 +(n, output is restricted to information about that job).15 F 5.314(.T) +-.4 G .314(he return status is 0 unless)-5.314 F(an in)144 374.4 Q -.25 (va)-.4 G(lid option is encountered or an in).25 E -.25(va)-.4 G(lid).25 -E F2(jobspec)4.24 E F0(is supplied.)2.81 E .394(If the)144 331.2 R F1 -2.894 E F0 .394(option is supplied,)2.894 F F1(jobs)2.894 E F0 +E F2(jobspec)4.24 E F0(is supplied.)2.81 E .395(If the)144 391.2 R F1 +2.895 E F0 .394(option is supplied,)2.894 F F1(jobs)2.894 E F0 .394(replaces an)2.894 F(y)-.15 E F2(jobspec)4.634 E F0 .394(found in) -3.204 F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .395 -(with the corre-)3.164 F(sponding process group ID, and e)144 343.2 Q +3.204 F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .394 +(with the corre-)3.164 F(sponding process group ID, and e)144 403.2 Q -.15(xe)-.15 G(cutes).15 E F2(command)2.7 E F0(passing it)3.27 E F2(ar) 2.5 E(gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)-.15 E -F1(kill)108 360 Q F0([)2.5 E F1A F2(sigspec)2.5 E F0(|)2.5 E F1 +F1(kill)108 420 Q F0([)2.5 E F1A F2(sigspec)2.5 E F0(|)2.5 E F1 2.5 E F2(signum)2.5 E F0(|)2.5 E F12.5 E F2(sigspec)A F0 2.5 (][)C F2(pid)-2.5 E F0(|)2.5 E F2(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F1 -(kill \255l)108 372 Q F0([)2.5 E F2(sigspec)A F0(|)2.5 E F2 -.2(ex)2.5 G -(it_status).2 E F0(])A .12(Send the signal named by)144 384 R F2 -(sigspec)2.96 E F0(or)2.93 E F2(signum)2.96 E F0 .119 -(to the processes named by)2.939 F F2(pid)3.869 E F0(or)3.389 E F2 -(jobspec)2.619 E F0(.).31 E F2(sigspec)5.459 E F0(is)2.929 E .318 -(either a case-insensiti)144 396 R .618 -.15(ve s)-.25 H .318 -(ignal name such as).15 F F3(SIGKILL)2.818 E F0 .319 -(\(with or without the)2.569 F F3(SIG)2.819 E F0 .319 -(pre\214x\) or a signal)2.569 F(number;)144 408 Q F2(signum)4.189 E F0 -1.349(is a signal number)4.169 F 6.349(.I)-.55 G(f)-6.349 E F2(sigspec) +(kill \255l)108 432 Q F0([)2.5 E F2(sigspec)A F0(|)2.5 E F2 -.2(ex)2.5 G +(it_status).2 E F0(])A .119(Send the signal named by)144 444 R F2 +(sigspec)2.959 E F0(or)2.929 E F2(signum)2.959 E F0 .119 +(to the processes named by)2.939 F F2(pid)3.87 E F0(or)3.39 E F2 +(jobspec)2.62 E F0(.).31 E F2(sigspec)5.46 E F0(is)2.93 E .319 +(either a case-insensiti)144 456 R .619 -.15(ve s)-.25 H .319 +(ignal name such as).15 F F3(SIGKILL)2.819 E F0 .318 +(\(with or without the)2.569 F F3(SIG)2.818 E F0 .318 +(pre\214x\) or a signal)2.568 F(number;)144 468 Q F2(signum)4.188 E F0 +1.349(is a signal number)4.168 F 6.349(.I)-.55 G(f)-6.349 E F2(sigspec) 4.189 E F0 1.349(is not present, then)4.159 F F3(SIGTERM)3.849 E F0 -1.348(is assumed.)3.599 F(An)6.348 E(ar)144 420 Q .522(gument of)-.18 F +1.349(is assumed.)3.599 F(An)6.349 E(ar)144 480 Q .523(gument of)-.18 F F13.023 E F0 .523(lists the signal names.)3.023 F .523(If an)5.523 F 3.023(ya)-.15 G -.18(rg)-3.023 G .523(uments are supplied when).18 F F13.023 E F0 .523(is gi)3.023 F -.15(ve)-.25 G .523(n, the names) -.15 F .28(of the signals corresponding to the ar)144 432 R .28 +.15 F .28(of the signals corresponding to the ar)144 492 R .28 (guments are listed, and the return status is 0.)-.18 F(The)5.28 E F2 --.2(ex)2.78 G(it_status).2 E F0(ar)144 444 Q .377(gument to)-.18 F F1 -2.877 E F0 .378 -(is a number specifying either a signal number or the e)2.877 F .378 -(xit status of a process termi-)-.15 F .594(nated by a signal.)144 456 R +-.2(ex)2.78 G(it_status).2 E F0(ar)144 504 Q .378(gument to)-.18 F F1 +2.878 E F0 .378 +(is a number specifying either a signal number or the e)2.878 F .377 +(xit status of a process termi-)-.15 F .593(nated by a signal.)144 516 R F1(kill)5.593 E F0 .593(returns true if at least one signal w)3.093 F -.593(as successfully sent, or f)-.1 F .593(alse if an error)-.1 F -(occurs or an in)144 468 Q -.25(va)-.4 G(lid option is encountered.).25 -E F1(let)108 484.8 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A(g)-.37 E F0 -(...])2.5 E(Each)144 496.8 Q F2(ar)3.026 E(g)-.37 E F0 .196 -(is an arithmetic e)2.916 F .197(xpression to be e)-.15 F -.25(va)-.25 G -.197(luated \(see).25 F F3 .197(ARITHMETIC EV)2.697 F(ALU)-1.215 E -.855 -(AT)-.54 G(ION).855 E F0(abo)2.447 E -.15(ve)-.15 G 2.697(\). If).15 F -(the last)144 508.8 Q F2(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G +.593(as successfully sent, or f)-.1 F .594(alse if an error)-.1 F +(occurs or an in)144 528 Q -.25(va)-.4 G(lid option is encountered.).25 +E F1(let)108 544.8 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A(g)-.37 E F0 +(...])2.5 E(Each)144 556.8 Q F2(ar)3.027 E(g)-.37 E F0 .197 +(is an arithmetic e)2.917 F .197(xpression to be e)-.15 F -.25(va)-.25 G +.196(luated \(see).25 F F3 .196(ARITHMETIC EV)2.696 F(ALU)-1.215 E -.855 +(AT)-.54 G(ION).855 E F0(abo)2.446 E -.15(ve)-.15 G 2.696(\). If).15 F +(the last)144 568.8 Q F2(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G (luates to 0,).25 E F1(let)2.5 E F0(returns 1; 0 is returned otherwise.) -2.5 E F1(local)108 525.6 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(name) --2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E -.15(Fo)144 537.6 S +2.5 E F1(local)108 585.6 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(name) +-2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E -.15(Fo)144 597.6 S 2.56(re).15 G .06(ach ar)-2.56 F .06(gument, a local v)-.18 F .06 (ariable named)-.25 F F2(name)2.92 E F0 .06(is created, and assigned) 2.74 F F2(value)2.56 E F0 5.06(.T).18 G(he)-5.06 E F2(option)2.56 E F0 -.06(can be)2.56 F(an)144 549.6 Q 3.152(yo)-.15 G 3.152(ft)-3.152 G .652 -(he options accepted by)-3.152 F F1(declar)3.152 E(e)-.18 E F0 5.652(.W) -C(hen)-5.652 E F1(local)3.152 E F0 .653 +.06(can be)2.56 F(an)144 609.6 Q 3.153(yo)-.15 G 3.153(ft)-3.153 G .653 +(he options accepted by)-3.153 F F1(declar)3.153 E(e)-.18 E F0 5.652(.W) +C(hen)-5.652 E F1(local)3.152 E F0 .652 (is used within a function, it causes the v)3.152 F(ari-)-.25 E(able)144 -561.6 Q F2(name)3.721 E F0 .861(to ha)3.541 F 1.161 -.15(ve a v)-.2 H -.861(isible scope restricted to that function and its children.).15 F --.4(Wi)5.86 G .86(th no operands,).4 F F1(local)144 573.6 Q F0 1.164 -(writes a list of local v)3.664 F 1.165 +621.6 Q F2(name)3.72 E F0 .86(to ha)3.54 F 1.16 -.15(ve a v)-.2 H .861 +(isible scope restricted to that function and its children.).15 F -.4 +(Wi)5.861 G .861(th no operands,).4 F F1(local)144 633.6 Q F0 1.165 +(writes a list of local v)3.665 F 1.165 (ariables to the standard output.)-.25 F 1.165(It is an error to use) -6.165 F F1(local)3.665 E F0 1.165(when not)3.665 F .233 -(within a function.)144 585.6 R .233(The return status is 0 unless)5.233 +6.165 F F1(local)3.664 E F0 1.164(when not)3.664 F .232 +(within a function.)144 645.6 R .233(The return status is 0 unless)5.232 F F1(local)2.733 E F0 .233(is used outside a function, an in)2.733 F --.25(va)-.4 G(lid).25 E F2(name)3.092 E F0(is)2.912 E(supplied, or)144 -597.6 Q F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F1 -(logout)108 614.4 Q F0(Exit a login shell.)9.33 E F1(map\214le)108 631.2 +-.25(va)-.4 G(lid).25 E F2(name)3.093 E F0(is)2.913 E(supplied, or)144 +657.6 Q F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F1 +(logout)108 674.4 Q F0(Exit a login shell.)9.33 E F1(map\214le)108 691.2 Q F0([)2.5 E F1A F2(count)2.5 E F0 2.5(][)C F1-2.5 E F2 (origin)2.5 E F0 2.5(][)C F1-2.5 E F2(count)2.5 E F0 2.5(][)C F1 -2.5 E F0 2.5(][)C F1-2.5 E F2(fd)2.5 E F0 2.5(][)C F1 -2.5 E F2(callbac)2.5 E(k)-.2 E F0 2.5(][)C F1-2.5 E F2(quantum) -2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0(])A F1 -.18(re)108 643.2 S +2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0(])A F1 -.18(re)108 703.2 S (adarray).18 E F0([)2.5 E F1A F2(count)2.5 E F0 2.5(][)C F1 -2.5 E F2(origin)2.5 E F0 2.5(][)C F1-2.5 E F2(count)2.5 E F0 2.5 (][)C F1-2.5 E F0 2.5(][)C F1-2.5 E F2(fd)2.5 E F0 2.5(][)C F1-2.5 E F2(callbac)2.5 E(k)-.2 E F0 2.5(][)C F1-2.5 E F2 -(quantum)2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0(])A .35 -(Read lines from the standard input into the inde)144 655.2 R -.15(xe) --.15 G 2.851(da).15 G .351(rray v)-2.851 F(ariable)-.25 E F2(arr)2.851 E -(ay)-.15 E F0 2.851(,o).32 G 2.851(rf)-2.851 G .351 -(rom \214le descriptor)-2.851 F F2(fd)2.851 E F0 1.249(if the)144 667.2 -R F13.749 E F0 1.249(option is supplied.)3.749 F 1.249(The v)6.249 -F(ariable)-.25 E F3(MAPFILE)3.749 E F0 1.249(is the def)3.499 F(ault)-.1 -E F2(arr)3.748 E(ay)-.15 E F0 6.248(.O)C 1.248(ptions, if supplied,) --6.248 F(ha)144 679.2 Q .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F1144 691.2 Q F0(Cop)24.74 E 2.5(ya)-.1 G -2.5(tm)-2.5 G(ost)-2.5 E F2(count)2.7 E F0 2.5(lines. If)3.18 F F2 -(count)2.5 E F0(is 0, all lines are copied.)2.5 E F1144 703.2 Q F0 -(Be)22.52 E(gin assigning to)-.15 E F2(arr)2.83 E(ay)-.15 E F0(at inde) -2.82 E(x)-.15 E F2(origin)2.5 E F0 5(.T).24 G(he def)-5 E(ault inde)-.1 -E 2.5(xi)-.15 G 2.5(s0)-2.5 G(.)-2.5 E F1144 715.2 Q F0 -(Discard the \214rst)26.41 E F2(count)2.5 E F0(lines read.)2.5 E +(quantum)2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0(])A .351 +(Read lines from the standard input into the inde)144 715.2 R -.15(xe) +-.15 G 2.851(da).15 G .351(rray v)-2.851 F(ariable)-.25 E F2(arr)2.85 E +(ay)-.15 E F0 2.85(,o).32 G 2.85(rf)-2.85 G .35(rom \214le descriptor) +-2.85 F F2(fd)2.85 E F0 1.248(if the)144 727.2 R F13.748 E F0 +1.248(option is supplied.)3.748 F 1.249(The v)6.249 F(ariable)-.25 E F3 +(MAPFILE)3.749 E F0 1.249(is the def)3.499 F(ault)-.1 E F2(arr)3.749 E +(ay)-.15 E F0 6.249(.O)C 1.249(ptions, if supplied,)-6.249 F (GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(10)198.725 E 0 Cg EP %%Page: 11 11 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48 -(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10 -/Times-Bold@0 SF144 84 Q F0(Remo)26.97 E .3 -.15(ve a t)-.15 H -(railing ne).15 E(wline from each line read.)-.25 E F1144 96 Q F0 -(Read lines from \214le descriptor)24.74 E/F2 10/Times-Italic@0 SF(fd) -2.5 E F0(instead of the standard input.)2.5 E F1144 108 Q F0(Ev) -23.08 E(aluate)-.25 E F2(callbac)2.7 E(k)-.2 E F0(each time)3.17 E F2 -(quantum)2.5 E F0(lines are read.)2.5 E(The)5 E F12.5 E F0 -(option speci\214es)2.5 E F2(quantum)2.5 E F0(.).32 E F1144 120 Q +(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E(ha)144 84 Q +.3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E/F1 10 +/Times-Bold@0 SF144 96 Q F0(Cop)24.74 E 2.5(ya)-.1 G 2.5(tm)-2.5 G +(ost)-2.5 E/F2 10/Times-Italic@0 SF(count)2.7 E F0 2.5(lines. If)3.18 F +F2(count)2.5 E F0(is 0, all lines are copied.)2.5 E F1144 108 Q F0 +(Be)22.52 E(gin assigning to)-.15 E F2(arr)2.83 E(ay)-.15 E F0(at inde) +2.82 E(x)-.15 E F2(origin)2.5 E F0 5(.T).24 G(he def)-5 E(ault inde)-.1 +E 2.5(xi)-.15 G 2.5(s0)-2.5 G(.)-2.5 E F1144 120 Q F0 +(Discard the \214rst)26.41 E F2(count)2.5 E F0(lines read.)2.5 E F1 +144 132 Q F0(Remo)26.97 E .3 -.15(ve a t)-.15 H(railing ne).15 E +(wline from each line read.)-.25 E F1144 144 Q F0 +(Read lines from \214le descriptor)24.74 E F2(fd)2.5 E F0 +(instead of the standard input.)2.5 E F1144 156 Q F0(Ev)23.08 E +(aluate)-.25 E F2(callbac)2.7 E(k)-.2 E F0(each time)3.17 E F2(quantum) +2.5 E F0(lines are read.)2.5 E(The)5 E F12.5 E F0 +(option speci\214es)2.5 E F2(quantum)2.5 E F0(.).32 E F1144 168 Q F0(Specify the number of lines read between each call to)25.86 E F2 -(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 136.8 Q F12.967 E F0 .467 +(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 184.8 Q F12.968 E F0 .467 (is speci\214ed without)2.967 F F12.967 E F0 2.967(,t)C .467 (he def)-2.967 F .467(ault quantum is 5000.)-.1 F(When)5.467 E F2 (callbac)2.967 E(k)-.2 E F0 .467(is e)2.967 F -.25(va)-.25 G .467 -(luated, it is sup-).25 F 1.22(plied the inde)144 148.8 R 3.72(xo)-.15 G -3.72(ft)-3.72 G 1.22(he ne)-3.72 F 1.22 -(xt array element to be assigned as an additional ar)-.15 F(gument.)-.18 -E F2(callbac)6.22 E(k)-.2 E F0(is)3.72 E -.25(eva)144 160.8 S -(luated after the line is read b).25 E -(ut before the array element is assigned.)-.2 E -(If not supplied with an e)144 177.6 Q(xplicit origin,)-.15 E F1 +(luated, it is sup-).25 F .261(plied the inde)144 196.8 R 2.761(xo)-.15 +G 2.761(ft)-2.761 G .261(he ne)-2.761 F .262(xt array element to be ass\ +igned and the line to be assigned to that element)-.15 F .275 +(as additional ar)144 208.8 R(guments.)-.18 E F2(callbac)5.275 E(k)-.2 E +F0 .275(is e)2.775 F -.25(va)-.25 G .274 +(luated after the line is read b).25 F .274 +(ut before the array element is)-.2 F(assigned.)144 220.8 Q +(If not supplied with an e)144 237.6 Q(xplicit origin,)-.15 E F1 (map\214le)2.5 E F0(will clear)2.5 E F2(arr)2.5 E(ay)-.15 E F0 -(before assigning to it.)2.5 E F1(map\214le)144 194.4 Q F0 1.905 +(before assigning to it.)2.5 E F1(map\214le)144 254.4 Q F0 1.905 (returns successfully unless an in)4.405 F -.25(va)-.4 G 1.905 (lid option or option ar).25 F 1.906(gument is supplied,)-.18 F F2(arr) -4.406 E(ay)-.15 E F0(is)4.406 E(in)144 206.4 Q -.25(va)-.4 G +4.406 E(ay)-.15 E F0(is)4.406 E(in)144 266.4 Q -.25(va)-.4 G (lid or unassignable, or if).25 E F2(arr)2.5 E(ay)-.15 E F0 (is not an inde)2.5 E -.15(xe)-.15 G 2.5(da).15 G(rray)-2.5 E(.)-.65 E -F1(popd)108 223.2 Q F0<5bad>2.5 E F1(n)A F0 2.5(][)C(+)-2.5 E F2(n)A F0 -2.5(][)C-2.5 E F2(n)A F0(])A(Remo)144 235.2 Q -.15(ve)-.15 G 2.8(se) +F1(popd)108 283.2 Q F0<5bad>2.5 E F1(n)A F0 2.5(][)C(+)-2.5 E F2(n)A F0 +2.5(][)C-2.5 E F2(n)A F0(])A(Remo)144 295.2 Q -.15(ve)-.15 G 2.8(se) .15 G .3(ntries from the directory stack.)-2.8 F -.4(Wi)5.299 G .299 (th no ar).4 F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15 G .299(he top directory from the)-2.799 F 1.478(stack, and performs a)144 -247.2 R F1(cd)3.978 E F0 1.479(to the ne)3.978 F 3.979(wt)-.25 G 1.479 +307.2 R F1(cd)3.978 E F0 1.479(to the ne)3.978 F 3.979(wt)-.25 G 1.479 (op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.479 (uments, if supplied, ha).18 F 1.779 -.15(ve t)-.2 H 1.479(he follo).15 -F(wing)-.25 E(meanings:)144 259.2 Q F1144 271.2 Q F0 .551 +F(wing)-.25 E(meanings:)144 319.2 Q F1144 331.2 Q F0 .551 (Suppresses the normal change of directory when remo)24.74 F .551 (ving directories from the stack, so)-.15 F -(that only the stack is manipulated.)180 283.2 Q F1(+)144 295.2 Q F2(n)A +(that only the stack is manipulated.)180 343.2 Q F1(+)144 355.2 Q F2(n)A F0(Remo)25.3 E -.15(ve)-.15 G 2.64(st).15 G(he)-2.64 E F2(n)2.64 E F0 .14(th entry counting from the left of the list sho)B .14(wn by)-.25 F F1(dirs)2.64 E F0 2.64(,s)C .14(tarting with zero.)-2.64 F -.15(Fo)180 -307.2 S 2.5(re).15 G(xample:)-2.65 E/F3 10/Courier@0 SF(popd +0)2.5 E F0 +367.2 S 2.5(re).15 G(xample:)-2.65 E/F3 10/Courier@0 SF(popd +0)2.5 E F0 (remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he \214rst directory)-2.5 E(,) --.65 E F3(popd +1)2.5 E F0(the second.)2.5 E F1144 319.2 Q F2(n)A F0 +-.65 E F3(popd +1)2.5 E F0(the second.)2.5 E F1144 379.2 Q F2(n)A F0 (Remo)25.3 E -.15(ve)-.15 G 3.76(st).15 G(he)-3.76 E F2(n)3.76 E F0 1.259(th entry counting from the right of the list sho)B 1.259(wn by) -.25 F F1(dirs)3.759 E F0 3.759(,s)C 1.259(tarting with)-3.759 F 2.5 -(zero. F)180 331.2 R(or e)-.15 E(xample:)-.15 E F3(popd -0)2.5 E F0 +(zero. F)180 391.2 R(or e)-.15 E(xample:)-.15 E F3(popd -0)2.5 E F0 (remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he last directory)-2.5 E(,)-.65 E F3(popd -1)2.5 E F0(the ne)2.5 E(xt to last.)-.15 E .643(If the)144 -348 R F1(popd)3.143 E F0 .643(command is successful, a)3.143 F F1(dirs) +408 R F1(popd)3.143 E F0 .643(command is successful, a)3.143 F F1(dirs) 3.143 E F0 .644(is performed as well, and the return status is 0.)3.143 -F F1(popd)5.644 E F0 .416(returns f)144 360 R .416(alse if an in)-.1 F +F F1(popd)5.644 E F0 .416(returns f)144 420 R .416(alse if an in)-.1 F -.25(va)-.4 G .415 (lid option is encountered, the directory stack is empty).25 F 2.915 (,an)-.65 G(on-e)-2.915 E .415(xistent direc-)-.15 F -(tory stack entry is speci\214ed, or the directory change f)144 372 Q -(ails.)-.1 E F1(printf)108 388.8 Q F0([)2.5 E F1A F2(var)2.5 E F0 -(])A F2(format)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A .372 -(Write the formatted)144 400.8 R F2(ar)2.872 E(guments)-.37 E F0 .372 -(to the standard output under the control of the)2.872 F F2(format)2.872 -E F0 5.372(.T)C(he)-5.372 E F2(format)2.872 E F0 1.804(is a character s\ -tring which contains three types of objects: plain characters, which ar\ -e simply)144 412.8 R .158 -(copied to standard output, character escape sequences, which are con) -144 424.8 R -.15(ve)-.4 G .159(rted and copied to the stan-).15 F .499(\ -dard output, and format speci\214cations, each of which causes printing\ - of the ne)144 436.8 R .499(xt successi)-.15 F -.15(ve)-.25 G F2(ar) -3.149 E(gu-)-.37 E(ment)144 448.8 Q F0 5.423(.I)C 2.923(na)-5.423 G .423 -(ddition to the standard)-2.923 F F2(printf)2.923 E F0 .424 -(\(1\) formats,)B F1(%b)2.924 E F0(causes)2.924 E F1(printf)2.924 E F0 -.424(to e)2.924 F .424(xpand backslash escape)-.15 F .977 -(sequences in the corresponding)144 460.8 R F2(ar)3.476 E(gument)-.37 E -F0(\(e)3.476 E .976(xcept that)-.15 F F1(\\c)3.476 E F0 .976 -(terminates output, backslashes in)3.476 F F1<5c08>3.476 E F0(,)A F1 -(\\")3.476 E F0(,)A(and)144 472.8 Q F1(\\?)3.421 E F0 .921(are not remo) -3.421 F -.15(ve)-.15 G .922(d, and octal escapes be).15 F .922 -(ginning with)-.15 F F1(\\0)3.422 E F0 .922 -(may contain up to four digits\), and)3.422 F F1(%q)144 484.8 Q F0 -(causes)3.631 E F1(printf)3.631 E F0 1.131(to output the corresponding) -3.631 F F2(ar)3.631 E(gument)-.37 E F0 1.13 -(in a format that can be reused as shell)3.631 F(input.)144 496.8 Q(Ar) -144 520.8 Q .463(guments to non-string format speci\214ers are treated \ -as C constants, e)-.18 F .464(xcept that a leading plus or)-.15 F 1.259 -(minus sign is allo)144 532.8 R 1.259 +(tory stack entry is speci\214ed, or the directory change f)144 432 Q +(ails.)-.1 E F1(printf)108 448.8 Q F0([)2.5 E F1A F2(var)2.5 E F0 +(])A F2(format)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A 1.436 +(Write the formatted)144 460.8 R F2(ar)3.936 E(guments)-.37 E F0 1.437 +(to the standard output under the control of the)3.936 F F2(format)3.937 +E F0 6.437(.T)C(he)-6.437 E F13.937 E F0 .126 +(option causes the output to be assigned to the v)144 472.8 R(ariable) +-.25 E F2(var)2.626 E F0 .126(rather than being printed to the standard) +2.626 F(output.)144 484.8 Q(The)144 508.8 Q F2(format)3.017 E F0 .517(i\ +s a character string which contains three types of objects: plain chara\ +cters, which are)3.017 F .704(simply copied to standard output, charact\ +er escape sequences, which are con)144 520.8 R -.15(ve)-.4 G .703 +(rted and copied to).15 F .036(the standard output, and format speci\ +\214cations, each of which causes printing of the ne)144 532.8 R .037 +(xt successi)-.15 F -.15(ve)-.25 G F2(ar)144 544.8 Q(gument)-.37 E F0 +5.532(.I)C 3.032(na)-5.532 G .532(ddition to the standard)-3.032 F F2 +(printf)3.032 E F0 .532(\(1\) format speci\214cations,)B F1(printf)3.031 +E F0 .531(interprets the follo)3.031 F(w-)-.25 E(ing e)144 556.8 Q +(xtensions:)-.15 E F1(%b)144 568.8 Q F0(causes)20.44 E F1(printf)5.115 E +F0 2.615(to e)5.115 F 2.615 +(xpand backslash escape sequences in the corresponding)-.15 F F2(ar) +5.115 E(gument)-.37 E F0(\(e)180 580.8 Q .608(xcept that)-.15 F F1(\\c) +3.108 E F0 .608(terminates output, backslashes in)3.108 F F1<5c08>3.108 +E F0(,)A F1(\\")3.108 E F0 3.108(,a)C(nd)-3.108 E F1(\\?)3.108 E F0 .608 +(are not remo)3.108 F -.15(ve)-.15 G .608(d, and octal).15 F(escapes be) +180 592.8 Q(ginning with)-.15 E F1(\\0)2.5 E F0 +(may contain up to four digits\).)2.5 E F1(%q)144 604.8 Q F0(causes) +20.44 E F1(printf)2.51 E F0 .01(to output the corresponding)2.51 F F2 +(ar)2.51 E(gument)-.37 E F0 .01(in a format that can be reused as shell) +2.51 F(input.)180 616.8 Q F1(%\()144 628.8 Q F2(datefmt)A F1(\)T)A F0 +(causes)180 640.8 Q F1(printf)4.404 E F0 1.904 +(to output the date-time string resulting from using)4.404 F F2(datefmt) +4.404 E F0 1.903(as a format)4.404 F .38(string for)180 652.8 R F2 +(strftime)2.881 E F0 2.881(\(3\). The)B(corresponding)2.881 E F2(ar) +2.881 E(gument)-.37 E F0 .381(is an inte)2.881 F .381 +(ger representing the number)-.15 F .458(of seconds since the epoch.)180 +664.8 R -1 -.8(Tw o)5.458 H .458(special ar)3.758 F .458(gument v)-.18 F +.458(alues may be used: -1 represents the)-.25 F +(current time, and -2 represents the time the shell w)180 676.8 Q(as in) +-.1 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E(Ar)144 693.6 Q .463(guments to n\ +on-string format speci\214ers are treated as C constants, e)-.18 F .464 +(xcept that a leading plus or)-.15 F 1.259(minus sign is allo)144 705.6 +R 1.259 (wed, and if the leading character is a single or double quote, the v) --.25 F 1.258(alue is the)-.25 F(ASCII v)144 544.8 Q(alue of the follo) --.25 E(wing character)-.25 E(.)-.55 E(The)144 568.8 Q F12.903 E F0 -.404(option causes the output to be assigned to the v)2.903 F(ariable) --.25 E F2(var)2.904 E F0 .404(rather than being printed to the)2.904 F -(standard output.)144 580.8 Q(The)144 604.8 Q F2(format)3.424 E F0 .923 -(is reused as necessary to consume all of the)3.424 F F2(ar)3.423 E -(guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F2(format) -3.423 E F0 .923(requires more)3.423 F F2(ar)144 616.8 Q(guments)-.37 E -F0 .033(than are supplied, the e)2.533 F .033 -(xtra format speci\214cations beha)-.15 F .333 -.15(ve a)-.2 H 2.533(si) -.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .034(alue or null string,) --.25 F(as appropriate, had been supplied.)144 628.8 Q(The return v)5 E -(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E F1(pushd) -108 645.6 Q F0([)2.5 E F1A F0 2.5(][)C(+)-2.5 E F2(n)A F0 2.5(][)C --2.5 E F2(n)A F0(])A F1(pushd)108 657.6 Q F0([)2.5 E F1A F0 -2.5(][)C F2(dir)-2.5 E F0(])A .64(Adds a directory to the top of the di\ -rectory stack, or rotates the stack, making the ne)144 669.6 R 3.139(wt) --.25 G .639(op of the)-3.139 F 1.315(stack the current w)144 681.6 R -1.315(orking directory)-.1 F 6.315(.W)-.65 G 1.315(ith no ar)-6.715 F -1.315(guments, e)-.18 F 1.316(xchanges the top tw)-.15 F 3.816(od)-.1 G -1.316(irectories and)-3.816 F .872 -(returns 0, unless the directory stack is empty)144 693.6 R 5.871(.A) --.65 G -.18(rg)-5.871 G .871(uments, if supplied, ha).18 F 1.171 -.15 -(ve t)-.2 H .871(he follo).15 F .871(wing mean-)-.25 F(ings:)144 705.6 Q -F1144 717.6 Q F0 .902(Suppresses the normal change of directory w\ -hen adding directories to the stack, so that)24.74 F -(only the stack is manipulated.)180 729.6 Q(GNU Bash-4.0)72 768 Q -(2004 Apr 20)148.735 E(11)198.725 E 0 Cg EP +-.25 F 1.258(alue is the)-.25 F(ASCII v)144 717.6 Q(alue of the follo) +-.25 E(wing character)-.25 E(.)-.55 E(GNU Bash-4.0)72 768 Q(2004 Apr 20) +148.735 E(11)198.725 E 0 Cg EP %%Page: 12 12 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48 -(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10 -/Times-Bold@0 SF(+)144 84 Q/F2 10/Times-Italic@0 SF(n)A F0 1.268 -(Rotates the stack so that the)25.3 F F2(n)3.768 E F0 1.267 -(th directory \(counting from the left of the list sho)B 1.267(wn by) --.25 F F1(dirs)180 96 Q F0 2.5(,s)C(tarting with zero\) is at the top.) --2.5 E F1144 108 Q F2(n)A F0 .92(Rotates the stack so that the)25.3 -F F2(n)3.42 E F0 .92 +(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E(The)144 84 Q +/F1 10/Times-Italic@0 SF(format)3.423 E F0 .923 +(is reused as necessary to consume all of the)3.423 F F1(ar)3.423 E +(guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F1(format) +3.423 E F0 .924(requires more)3.424 F F1(ar)144 96 Q(guments)-.37 E F0 +.033(than are supplied, the e)2.534 F .033 +(xtra format speci\214cations beha)-.15 F .333 -.15(ve a)-.2 H 2.533(si) +.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .033(alue or null string,) +-.25 F(as appropriate, had been supplied.)144 108 Q(The return v)5 E +(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E/F2 10 +/Times-Bold@0 SF(pushd)108 124.8 Q F0([)2.5 E F2A F0 2.5(][)C(+) +-2.5 E F1(n)A F0 2.5(][)C-2.5 E F1(n)A F0(])A F2(pushd)108 136.8 Q +F0([)2.5 E F2A F0 2.5(][)C F1(dir)-2.5 E F0(])A .639(Adds a direc\ +tory to the top of the directory stack, or rotates the stack, making th\ +e ne)144 148.8 R 3.14(wt)-.25 G .64(op of the)-3.14 F 1.316 +(stack the current w)144 160.8 R 1.316(orking directory)-.1 F 6.316(.W) +-.65 G 1.315(ith no ar)-6.716 F 1.315(guments, e)-.18 F 1.315 +(xchanges the top tw)-.15 F 3.815(od)-.1 G 1.315(irectories and)-3.815 F +.871(returns 0, unless the directory stack is empty)144 172.8 R 5.871 +(.A)-.65 G -.18(rg)-5.871 G .872(uments, if supplied, ha).18 F 1.172 +-.15(ve t)-.2 H .872(he follo).15 F .872(wing mean-)-.25 F(ings:)144 +184.8 Q F2144 196.8 Q F0 .902(Suppresses the normal change of dir\ +ectory when adding directories to the stack, so that)24.74 F +(only the stack is manipulated.)180 208.8 Q F2(+)144 220.8 Q F1(n)A F0 +1.267(Rotates the stack so that the)25.3 F F1(n)3.767 E F0 1.268 +(th directory \(counting from the left of the list sho)B 1.268(wn by) +-.25 F F2(dirs)180 232.8 Q F0 2.5(,s)C +(tarting with zero\) is at the top.)-2.5 E F2144 244.8 Q F1(n)A F0 +.92(Rotates the stack so that the)25.3 F F1(n)3.42 E F0 .92 (th directory \(counting from the right of the list sho)B .92(wn by)-.25 -F F1(dirs)180 120 Q F0 2.5(,s)C(tarting with zero\) is at the top.)-2.5 -E F2(dir)144.35 132 Q F0(Adds)23.98 E F2(dir)2.85 E F0 +F F2(dirs)180 256.8 Q F0 2.5(,s)C(tarting with zero\) is at the top.) +-2.5 E F1(dir)144.35 268.8 Q F0(Adds)23.98 E F1(dir)2.85 E F0 (to the directory stack at the top, making it the ne)3.23 E 2.5(wc)-.25 -G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .489(If the)144 148.8 -R F1(pushd)2.989 E F0 .489(command is successful, a)2.989 F F1(dirs) -2.988 E F0 .488(is performed as well.)2.988 F .488 -(If the \214rst form is used,)5.488 F F1(pushd)2.988 E F0 1.039 -(returns 0 unless the cd to)144 160.8 R F2(dir)3.889 E F0 -.1(fa)4.269 G -3.539(ils. W).1 F 1.039(ith the second form,)-.4 F F1(pushd)3.54 E F0 -1.04(returns 0 unless the directory)3.54 F .847(stack is empty)144 172.8 -R 3.347(,an)-.65 G(on-e)-3.347 E .847(xistent directory stack element i\ -s speci\214ed, or the directory change to the)-.15 F(speci\214ed ne)144 -184.8 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E(ails.)-.1 E F1(pwd)108 -201.6 Q F0([)2.5 E F1(\255LP)A F0(])A .844 -(Print the absolute pathname of the current w)144 213.6 R .845 -(orking directory)-.1 F 5.845(.T)-.65 G .845 -(he pathname printed contains no)-5.845 F .182(symbolic links if the)144 -225.6 R F12.681 E F0 .181(option is supplied or the)2.681 F F1 -.181(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F1 -(set)2.681 E F0 -.2(bu)2.681 G .181(iltin command is).2 F 3.263 -(enabled. If)144 237.6 R(the)3.263 E F13.263 E F0 .763 -(option is used, the pathname printed may contain symbolic links.)3.263 -F .764(The return)5.764 F 1.36(status is 0 unless an error occurs while\ - reading the name of the current directory or an in)144 249.6 R -.25(va) --.4 G(lid).25 E(option is supplied.)144 261.6 Q F1 -.18(re)108 278.4 S -(ad).18 E F0([)3.816 E F1(\255ers)A F0 3.816(][)C F1-3.816 E F2 -(aname)3.816 E F0 3.816(][)C F1-3.816 E F2(delim)3.816 E F0 3.816 -(][)C F1-3.816 E F2(te)3.816 E(xt)-.2 E F0 3.816(][)C F1 --3.816 E F2(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.817(][)C F1-3.817 E -F2(nc)3.817 E(har)-.15 E(s)-.1 E F0 3.817(][)C F1-3.817 E F2(pr) -3.817 E(ompt)-.45 E F0 3.817(][)C F1-3.817 E F2(timeout)3.817 E F0 -3.817(][)C F1-3.817 E F2(fd)3.817 E F0(])A([)108 290.4 Q F2(name)A +G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .488(If the)144 285.6 +R F2(pushd)2.988 E F0 .488(command is successful, a)2.988 F F2(dirs) +2.988 E F0 .488(is performed as well.)2.988 F .489 +(If the \214rst form is used,)5.488 F F2(pushd)2.989 E F0 1.04 +(returns 0 unless the cd to)144 297.6 R F1(dir)3.89 E F0 -.1(fa)4.27 G +3.539(ils. W).1 F 1.039(ith the second form,)-.4 F F2(pushd)3.539 E F0 +1.039(returns 0 unless the directory)3.539 F .846(stack is empty)144 +309.6 R 3.346(,an)-.65 G(on-e)-3.346 E .847(xistent directory stack ele\ +ment is speci\214ed, or the directory change to the)-.15 F +(speci\214ed ne)144 321.6 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E +(ails.)-.1 E F2(pwd)108 338.4 Q F0([)2.5 E F2(\255LP)A F0(])A .845 +(Print the absolute pathname of the current w)144 350.4 R .845 +(orking directory)-.1 F 5.844(.T)-.65 G .844 +(he pathname printed contains no)-5.844 F .181(symbolic links if the)144 +362.4 R F22.681 E F0 .181(option is supplied or the)2.681 F F2 +.181(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F2 +(set)2.681 E F0 -.2(bu)2.681 G .182(iltin command is).2 F 3.264 +(enabled. If)144 374.4 R(the)3.264 E F23.264 E F0 .763 +(option is used, the pathname printed may contain symbolic links.)3.264 +F .763(The return)5.763 F 1.36(status is 0 unless an error occurs while\ + reading the name of the current directory or an in)144 386.4 R -.25(va) +-.4 G(lid).25 E(option is supplied.)144 398.4 Q F2 -.18(re)108 415.2 S +(ad).18 E F0([)3.817 E F2(\255ers)A F0 3.817(][)C F2-3.817 E F1 +(aname)3.817 E F0 3.817(][)C F2-3.817 E F1(delim)3.817 E F0 3.817 +(][)C F2-3.817 E F1(te)3.817 E(xt)-.2 E F0 3.817(][)C F2 +-3.817 E F1(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F2-3.816 E +F1(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F2-3.816 E F1(pr) +3.816 E(ompt)-.45 E F0 3.816(][)C F2-3.816 E F1(timeout)3.816 E F0 +3.816(][)C F2-3.816 E F1(fd)3.816 E F0(])A([)108 427.2 Q F1(name)A F0(...])2.5 E .516(One line is read from the standard input, or from th\ -e \214le descriptor)144 302.4 R F2(fd)3.016 E F0 .516(supplied as an ar) -3.016 F .517(gument to)-.18 F(the)144 314.4 Q F12.539 E F0 .039 -(option, and the \214rst w)2.539 F .038(ord is assigned to the \214rst) --.1 F F2(name)2.538 E F0 2.538(,t).18 G .038(he second w)-2.538 F .038 -(ord to the second)-.1 F F2(name)2.538 E F0(,).18 E .42 -(and so on, with lefto)144 326.4 R -.15(ve)-.15 G 2.92(rw).15 G .42 +e \214le descriptor)144 439.2 R F1(fd)3.016 E F0 .516(supplied as an ar) +3.016 F .516(gument to)-.18 F(the)144 451.2 Q F22.538 E F0 .038 +(option, and the \214rst w)2.538 F .038(ord is assigned to the \214rst) +-.1 F F1(name)2.539 E F0 2.539(,t).18 G .039(he second w)-2.539 F .039 +(ord to the second)-.1 F F1(name)2.539 E F0(,).18 E .42 +(and so on, with lefto)144 463.2 R -.15(ve)-.15 G 2.92(rw).15 G .42 (ords and their interv)-3.02 F .42 -(ening separators assigned to the last)-.15 F F2(name)2.92 E F0 5.42(.I) -.18 G 2.92(ft)-5.42 G(here)-2.92 E .541(are fe)144 338.4 R .541(wer w) --.25 F .541(ords read from the input stream than names, the remaining n\ -ames are assigned empty)-.1 F -.25(va)144 350.4 S 2.51(lues. The).25 F -.011(characters in)2.511 F/F3 9/Times-Bold@0 SF(IFS)2.511 E F0 .011 +(ening separators assigned to the last)-.15 F F1(name)2.92 E F0 5.42(.I) +.18 G 2.92(ft)-5.42 G(here)-2.92 E .54(are fe)144 475.2 R .54(wer w)-.25 +F .541(ords read from the input stream than names, the remaining names \ +are assigned empty)-.1 F -.25(va)144 487.2 S 2.511(lues. The).25 F .011 +(characters in)2.511 F/F3 9/Times-Bold@0 SF(IFS)2.511 E F0 .011 (are used to split the line into w)2.261 F 2.511(ords. The)-.1 F .011 -(backslash character \()2.511 F F1(\\)A F0 2.511(\)m)C(ay)-2.511 E 1.891 -(be used to remo)144 362.4 R 2.191 -.15(ve a)-.15 H 2.191 -.15(ny s).15 -H 1.891(pecial meaning for the ne).15 F 1.89 +(backslash character \()2.511 F F2(\\)A F0 2.51(\)m)C(ay)-2.51 E 1.89 +(be used to remo)144 499.2 R 2.19 -.15(ve a)-.15 H 2.19 -.15(ny s).15 H +1.891(pecial meaning for the ne).15 F 1.891 (xt character read and for line continuation.)-.15 F -(Options, if supplied, ha)144 374.4 Q .3 -.15(ve t)-.2 H(he follo).15 E -(wing meanings:)-.25 E F1144 386.4 Q F2(aname)2.5 E F0 1.049 -(The w)180 398.4 R 1.049 +(Options, if supplied, ha)144 511.2 Q .3 -.15(ve t)-.2 H(he follo).15 E +(wing meanings:)-.25 E F2144 523.2 Q F1(aname)2.5 E F0 1.05(The w) +180 535.2 R 1.049 (ords are assigned to sequential indices of the array v)-.1 F(ariable) --.25 E F2(aname)3.55 E F0 3.55(,s).18 G 1.05(tarting at 0.)-3.55 F F2 -(aname)180.33 410.4 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5 -.25 -(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F2(name)2.5 E F0(ar)2.5 -E(guments are ignored.)-.18 E F1144 422.4 Q F2(delim)2.5 E F0 -(The \214rst character of)180 434.4 Q F2(delim)2.5 E F0 +-.25 E F1(aname)3.549 E F0 3.549(,s).18 G 1.049(tarting at 0.)-3.549 F +F1(aname)180.33 547.2 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5 +-.25(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F1(name)2.5 E F0 +(ar)2.5 E(guments are ignored.)-.18 E F2144 559.2 Q F1(delim)2.5 E +F0(The \214rst character of)180 571.2 Q F1(delim)2.5 E F0 (is used to terminate the input line, rather than ne)2.5 E(wline.)-.25 E -F1144 446.4 Q F0 .373 -(If the standard input is coming from a terminal,)25.86 F F1 -.18(re) -2.873 G(adline).18 E F0(\(see)2.873 E F3(READLINE)2.872 E F0(abo)2.622 E --.15(ve)-.15 G 2.872(\)i).15 G 2.872(su)-2.872 G(sed)-2.872 E .218 -(to obtain the line.)180 458.4 R .218 +F2144 583.2 Q F0 .372 +(If the standard input is coming from a terminal,)25.86 F F2 -.18(re) +2.873 G(adline).18 E F0(\(see)2.873 E F3(READLINE)2.873 E F0(abo)2.623 E +-.15(ve)-.15 G 2.873(\)i).15 G 2.873(su)-2.873 G(sed)-2.873 E .218 +(to obtain the line.)180 595.2 R .218 (Readline uses the current \(or def)5.218 F .218 (ault, if line editing w)-.1 F .218(as not pre)-.1 F(viously)-.25 E -(acti)180 470.4 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings.)-2.5 E -F1144 482.4 Q F2(te)2.5 E(xt)-.2 E F0(If)10.78 E F1 -.18(re)2.716 -G(adline).18 E F0 .216(is being used to read the line,)2.716 F F2(te) +(acti)180 607.2 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings.)-2.5 E +F2144 619.2 Q F1(te)2.5 E(xt)-.2 E F0(If)10.78 E F2 -.18(re)2.715 +G(adline).18 E F0 .216(is being used to read the line,)2.715 F F1(te) 2.716 E(xt)-.2 E F0 .216(is placed into the editing b)2.716 F(uf)-.2 E -.215(fer before edit-)-.25 F(ing be)180 494.4 Q(gins.)-.15 E F1144 -506.4 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 518.4 S(ad).18 E -F0 1.394(returns after reading)3.894 F F2(nc)3.894 E(har)-.15 E(s)-.1 E -F0 1.395(characters rather than w)3.894 F 1.395 -(aiting for a complete line of)-.1 F(input, b)180 530.4 Q -(ut honor a delimiter if fe)-.2 E(wer than)-.25 E F2(nc)2.5 E(har)-.15 E -(s)-.1 E F0(characters are read before the delimiter)2.5 E(.)-.55 E F1 -144 542.4 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 554.4 S -(ad).18 E F0 1.269(returns after reading e)3.77 F(xactly)-.15 E F2(nc) +.216(fer before edit-)-.25 F(ing be)180 631.2 Q(gins.)-.15 E F2144 +643.2 Q F1(nc)2.5 E(har)-.15 E(s)-.1 E F2 -.18(re)180 655.2 S(ad).18 E +F0 1.395(returns after reading)3.895 F F1(nc)3.895 E(har)-.15 E(s)-.1 E +F0 1.395(characters rather than w)3.895 F 1.394 +(aiting for a complete line of)-.1 F(input, b)180 667.2 Q +(ut honor a delimiter if fe)-.2 E(wer than)-.25 E F1(nc)2.5 E(har)-.15 E +(s)-.1 E F0(characters are read before the delimiter)2.5 E(.)-.55 E F2 +144 679.2 Q F1(nc)2.5 E(har)-.15 E(s)-.1 E F2 -.18(re)180 691.2 S +(ad).18 E F0 1.269(returns after reading e)3.769 F(xactly)-.15 E F1(nc) 3.769 E(har)-.15 E(s)-.1 E F0 1.269(characters rather than w)3.769 F -1.269(aiting for a complete)-.1 F .274 -(line of input, unless EOF is encountered or)180 566.4 R F1 -.18(re) -2.775 G(ad).18 E F0 .275(times out.)2.775 F .275 -(Delimiter characters encoun-)5.275 F 1.003 -(tered in the input are not treated specially and do not cause)180 578.4 -R F1 -.18(re)3.502 G(ad).18 E F0 1.002(to return until)3.502 F F2(nc) -3.502 E(har)-.15 E(s)-.1 E F0(characters are read.)180 590.4 Q F1 -144 602.4 Q F2(pr)2.5 E(ompt)-.45 E F0(Display)180 614.4 Q F2(pr)3.66 E -(ompt)-.45 E F0 1.161(on standard error)3.66 F 3.661(,w)-.4 G 1.161 -(ithout a trailing ne)-3.661 F 1.161(wline, before attempting to read) --.25 F(an)180 626.4 Q 2.5(yi)-.15 G 2.5(nput. The)-2.5 F -(prompt is displayed only if input is coming from a terminal.)2.5 E F1 -144 638.4 Q F0 .544(Backslash does not act as an escape character) -25.86 F 5.543(.T)-.55 G .543(he backslash is considered to be part of) --5.543 F(the line.)180 650.4 Q(In particular)5 E 2.5(,ab)-.4 G -(ackslash-ne)-2.5 E(wline pair may not be used as a line continuation.) --.25 E F1144 662.4 Q F0(Silent mode.)26.41 E -(If input is coming from a terminal, characters are not echoed.)5 E F1 -144 674.4 Q F2(timeout)2.5 E F0(Cause)180 686.4 Q F1 -.18(re)3.548 -G(ad).18 E F0 1.048(to time out and return f)3.548 F 1.048 -(ailure if a complete line of input is not read within)-.1 F F2(timeout) -180 698.4 Q F0(seconds.)3.497 E F2(timeout)5.997 E F0 .997 -(may be a decimal number with a fractional portion follo)3.497 F(wing) --.25 E .576(the decimal point.)180 710.4 R .576(This option is only ef) -5.576 F(fecti)-.25 E .876 -.15(ve i)-.25 H(f).15 E F1 -.18(re)3.076 G -(ad).18 E F0 .576(is reading input from a terminal,)3.076 F .142 -(pipe, or other special \214le; it has no ef)180 722.4 R .142 -(fect when reading from re)-.25 F .142(gular \214les.)-.15 F(If)5.141 E -F2(timeout)2.641 E F0 .141(is 0,)2.641 F(GNU Bash-4.0)72 768 Q -(2004 Apr 20)148.735 E(12)198.725 E 0 Cg EP +1.27(aiting for a complete)-.1 F .275 +(line of input, unless EOF is encountered or)180 703.2 R F2 -.18(re) +2.775 G(ad).18 E F0 .274(times out.)2.774 F .274 +(Delimiter characters encoun-)5.274 F 1.002 +(tered in the input are not treated specially and do not cause)180 715.2 +R F2 -.18(re)3.503 G(ad).18 E F0 1.003(to return until)3.503 F F1(nc) +3.503 E(har)-.15 E(s)-.1 E F0(characters are read.)180 727.2 Q +(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(12)198.725 E 0 Cg EP %%Page: 13 13 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10 -/Times-Bold@0 SF -.18(re)180 84 S(ad).18 E F0 .113 -(returns success if input is a)2.613 F -.25(va)-.2 G .113 -(ilable on the speci\214ed \214le descriptor).25 F 2.613(,f)-.4 G .114 -(ailure otherwise.)-2.713 F(The e)180 96 Q +/Times-Bold@0 SF144 84 Q/F2 10/Times-Italic@0 SF(pr)2.5 E(ompt) +-.45 E F0(Display)180 96 Q F2(pr)3.661 E(ompt)-.45 E F0 1.161 +(on standard error)3.661 F 3.661(,w)-.4 G 1.161(ithout a trailing ne) +-3.661 F 1.161(wline, before attempting to read)-.25 F(an)180 108 Q 2.5 +(yi)-.15 G 2.5(nput. The)-2.5 F +(prompt is displayed only if input is coming from a terminal.)2.5 E F1 +144 120 Q F0 .543(Backslash does not act as an escape character) +25.86 F 5.543(.T)-.55 G .544(he backslash is considered to be part of) +-5.543 F(the line.)180 132 Q(In particular)5 E 2.5(,ab)-.4 G +(ackslash-ne)-2.5 E(wline pair may not be used as a line continuation.) +-.25 E F1144 144 Q F0(Silent mode.)26.41 E +(If input is coming from a terminal, characters are not echoed.)5 E F1 +144 156 Q F2(timeout)2.5 E F0(Cause)180 168 Q F1 -.18(re)3.549 G +(ad).18 E F0 1.048(to time out and return f)3.549 F 1.048 +(ailure if a complete line of input is not read within)-.1 F F2(timeout) +180 180 Q F0(seconds.)3.496 E F2(timeout)5.996 E F0 .997 +(may be a decimal number with a fractional portion follo)3.496 F(wing) +-.25 E .576(the decimal point.)180 192 R .576(This option is only ef) +5.576 F(fecti)-.25 E .876 -.15(ve i)-.25 H(f).15 E F1 -.18(re)3.076 G +(ad).18 E F0 .576(is reading input from a terminal,)3.076 F .141 +(pipe, or other special \214le; it has no ef)180 204 R .142 +(fect when reading from re)-.25 F .142(gular \214les.)-.15 F(If)5.142 E +F2(timeout)2.642 E F0 .142(is 0,)2.642 F F1 -.18(re)180 216 S(ad).18 E +F0 .113(returns success if input is a)2.614 F -.25(va)-.2 G .113 +(ilable on the speci\214ed \214le descriptor).25 F 2.613(,f)-.4 G .113 +(ailure otherwise.)-2.713 F(The e)180 228 Q (xit status is greater than 128 if the timeout is e)-.15 E(xceeded.)-.15 -E F1144 108 Q/F2 10/Times-Italic@0 SF(fd)2.5 E F0 -(Read input from \214le descriptor)14.46 E F2(fd)2.5 E F0(.)A .192 -(If no)144 124.8 R F2(names)3.052 E F0 .192 -(are supplied, the line read is assigned to the v)2.962 F(ariable)-.25 E -/F3 9/Times-Bold@0 SF(REPL)2.691 E(Y)-.828 E/F4 9/Times-Roman@0 SF(.)A -F0 .191(The return code is zero,)4.691 F 1.343 -(unless end-of-\214le is encountered,)144 136.8 R F1 -.18(re)3.843 G(ad) +E F1144 240 Q F2(fd)2.5 E F0(Read input from \214le descriptor) +14.46 E F2(fd)2.5 E F0(.)A .191(If no)144 256.8 R F2(names)3.051 E F0 +.191(are supplied, the line read is assigned to the v)2.961 F(ariable) +-.25 E/F3 9/Times-Bold@0 SF(REPL)2.692 E(Y)-.828 E/F4 9/Times-Roman@0 SF +(.)A F0 .192(The return code is zero,)4.692 F 1.344 +(unless end-of-\214le is encountered,)144 268.8 R F1 -.18(re)3.844 G(ad) .18 E F0 1.343 -(times out \(in which case the return code is greater than)3.843 F -(128\), or an in)144 148.8 Q -.25(va)-.4 G +(times out \(in which case the return code is greater than)3.844 F +(128\), or an in)144 280.8 Q -.25(va)-.4 G (lid \214le descriptor is supplied as the ar).25 E(gument to)-.18 E F1 -2.5 E F0(.)A F1 -.18(re)108 165.6 S(adonly).18 E F0([)2.5 E F1 +2.5 E F0(.)A F1 -.18(re)108 297.6 S(adonly).18 E F0([)2.5 E F1 (\255aA)A(pf)-.25 E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(wor)A(d)-.37 E -F0 2.5(].)C(..])-2.5 E .77(The gi)144 177.6 R -.15(ve)-.25 G(n).15 E F2 +F0 2.5(].)C(..])-2.5 E .77(The gi)144 309.6 R -.15(ve)-.25 G(n).15 E F2 (names)3.27 E F0 .77(are mark)3.27 F .77(ed readonly; the v)-.1 F .77 (alues of these)-.25 F F2(names)3.63 E F0 .77 -(may not be changed by subse-)3.54 F 1.096(quent assignment.)144 189.6 R -1.096(If the)6.096 F F13.596 E F0 1.097 -(option is supplied, the functions corresponding to the)3.596 F F2 -(names)3.597 E F0 1.097(are so)3.597 F(mark)144 201.6 Q 3.334(ed. The) +(may not be changed by subse-)3.54 F 1.097(quent assignment.)144 321.6 R +1.097(If the)6.097 F F13.597 E F0 1.097 +(option is supplied, the functions corresponding to the)3.597 F F2 +(names)3.596 E F0 1.096(are so)3.596 F(mark)144 333.6 Q 3.334(ed. The) -.1 F F13.334 E F0 .834(option restricts the v)3.334 F .834 (ariables to inde)-.25 F -.15(xe)-.15 G 3.334(da).15 G .834(rrays; the) -3.334 F F13.334 E F0 .834(option restricts the v)3.334 F(ari-) --.25 E .537(ables to associati)144 213.6 R .837 -.15(ve a)-.25 H 3.037 +-.25 E .538(ables to associati)144 345.6 R .838 -.15(ve a)-.25 H 3.038 (rrays. If).15 F(no)3.038 E F2(name)3.398 E F0(ar)3.218 E .538 (guments are gi)-.18 F -.15(ve)-.25 G .538(n, or if the).15 F F1 -3.038 E F0 .538(option is supplied, a list)3.038 F .081 -(of all readonly names is printed.)144 225.6 R(The)5.081 E F12.581 -E F0 .08(option causes output to be displayed in a format that may)2.581 -F 1.176(be reused as input.)144 237.6 R 1.176(If a v)6.176 F 1.176 +3.038 E F0 .537(option is supplied, a list)3.038 F .08 +(of all readonly names is printed.)144 357.6 R(The)5.08 E F12.58 E +F0 .081(option causes output to be displayed in a format that may)2.58 F +1.177(be reused as input.)144 369.6 R 1.177(If a v)6.177 F 1.176 (ariable name is follo)-.25 F 1.176(wed by =)-.25 F F2(wor)A(d)-.37 E F0 -3.676(,t)C 1.176(he v)-3.676 F 1.177(alue of the v)-.25 F 1.177 -(ariable is set to)-.25 F F2(wor)144 249.6 Q(d)-.37 E F0 6.206(.T)C -1.206(he return status is 0 unless an in)-6.206 F -.25(va)-.4 G 1.205 -(lid option is encountered, one of the).25 F F2(names)4.065 E F0 1.205 -(is not a)3.975 F -.25(va)144 261.6 S(lid shell v).25 E +3.676(,t)C 1.176(he v)-3.676 F 1.176(alue of the v)-.25 F 1.176 +(ariable is set to)-.25 F F2(wor)144 381.6 Q(d)-.37 E F0 6.205(.T)C +1.205(he return status is 0 unless an in)-6.205 F -.25(va)-.4 G 1.206 +(lid option is encountered, one of the).25 F F2(names)4.066 E F0 1.206 +(is not a)3.976 F -.25(va)144 393.6 S(lid shell v).25 E (ariable name, or)-.25 E F12.5 E F0(is supplied with a)2.5 E F2 -(name)2.86 E F0(that is not a function.)2.68 E F1 -.18(re)108 278.4 S -(tur).18 E(n)-.15 E F0([)2.5 E F2(n)A F0(])A .586 -(Causes a function to e)144 290.4 R .587(xit with the return v)-.15 F +(name)2.86 E F0(that is not a function.)2.68 E F1 -.18(re)108 410.4 S +(tur).18 E(n)-.15 E F0([)2.5 E F2(n)A F0(])A .587 +(Causes a function to e)144 422.4 R .587(xit with the return v)-.15 F .587(alue speci\214ed by)-.25 F F2(n)3.087 E F0 5.587(.I).24 G(f)-5.587 -E F2(n)3.447 E F0 .587(is omitted, the return status is)3.327 F 1.335 -(that of the last command e)144 302.4 R -.15(xe)-.15 G 1.335 +E F2(n)3.447 E F0 .586(is omitted, the return status is)3.327 F 1.335 +(that of the last command e)144 434.4 R -.15(xe)-.15 G 1.335 (cuted in the function body).15 F 6.335(.I)-.65 G 3.835(fu)-6.335 G 1.335(sed outside a function, b)-3.835 F 1.335(ut during)-.2 F -.15(exe) -144 314.4 S .794(cution of a script by the).15 F F1(.)3.294 E F0(\() +144 446.4 S .794(cution of a script by the).15 F F1(.)3.294 E F0(\() 5.794 E F1(sour)A(ce)-.18 E F0 3.294(\)c)C .794 -(ommand, it causes the shell to stop e)-3.294 F -.15(xe)-.15 G .795 -(cuting that script).15 F .246(and return either)144 326.4 R F2(n)3.106 -E F0 .246(or the e)2.986 F .246(xit status of the last command e)-.15 F --.15(xe)-.15 G .246(cuted within the script as the e).15 F .245 -(xit sta-)-.15 F .081(tus of the script.)144 338.4 R .082 +(ommand, it causes the shell to stop e)-3.294 F -.15(xe)-.15 G .794 +(cuting that script).15 F .245(and return either)144 458.4 R F2(n)3.105 +E F0 .246(or the e)2.985 F .246(xit status of the last command e)-.15 F +-.15(xe)-.15 G .246(cuted within the script as the e).15 F .246 +(xit sta-)-.15 F .082(tus of the script.)144 470.4 R .082 (If used outside a function and not during e)5.082 F -.15(xe)-.15 G .082 -(cution of a script by).15 F F1(.)2.582 E F0 2.582(,t).833 G .082 -(he return sta-)-2.582 F 2.306(tus is f)144 350.4 R 4.806(alse. An)-.1 F -4.806(yc)-.15 G 2.305(ommand associated with the)-4.806 F F1(RETURN) -4.805 E F0 2.305(trap is e)4.805 F -.15(xe)-.15 G 2.305(cuted before e) +(cution of a script by).15 F F1(.)2.582 E F0 2.581(,t).833 G .081 +(he return sta-)-2.581 F 2.305(tus is f)144 482.4 R 4.805(alse. An)-.1 F +4.805(yc)-.15 G 2.305(ommand associated with the)-4.805 F F1(RETURN) +4.805 E F0 2.306(trap is e)4.806 F -.15(xe)-.15 G 2.306(cuted before e) .15 F -.15(xe)-.15 G(cution).15 E(resumes after the function or script.) -144 362.4 Q F1(set)108 379.2 Q F0([)2.5 E F1 +144 494.4 Q F1(set)108 511.2 Q F0([)2.5 E F1 (\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1-2.5 E F2(option)2.5 -E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E F1(set)108 391.2 Q F0 +E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E F1(set)108 523.2 Q F0 ([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1(+o)-2.5 E F2(option) -2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E -.4(Wi)144 403.2 S -.835(thout options, the name and v).4 F .835(alue of each shell v)-.25 F -.836(ariable are displayed in a format that can be)-.25 F .784 -(reused as input for setting or resetting the currently-set v)144 415.2 -R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .783 -(riables cannot be).25 F 2.946(reset. In)144 427.2 R F2 .447(posix mode) -2.946 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447 +2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E -.4(Wi)144 535.2 S +.836(thout options, the name and v).4 F .835(alue of each shell v)-.25 F +.835(ariable are displayed in a format that can be)-.25 F .784 +(reused as input for setting or resetting the currently-set v)144 547.2 +R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .784 +(riables cannot be).25 F 2.947(reset. In)144 559.2 R F2 .447(posix mode) +2.947 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447 (ariables are listed.)-.25 F .447 -(The output is sorted according to the current)5.447 F 3.531 -(locale. When)144 439.2 R 1.031(options are speci\214ed, the)3.531 F -3.531(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.53(utes. An) --.2 F 3.53(ya)-.15 G -.18(rg)-3.53 G 1.03(uments remaining).18 F 1.623 -(after option processing are treated as v)144 451.2 R 1.624 +(The output is sorted according to the current)5.447 F 3.53 +(locale. When)144 571.2 R 1.031(options are speci\214ed, the)3.53 F +3.531(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.531(utes. An) +-.2 F 3.531(ya)-.15 G -.18(rg)-3.531 G 1.031(uments remaining).18 F +1.624(after option processing are treated as v)144 583.2 R 1.623 (alues for the positional parameters and are assigned, in)-.25 F(order) -144 463.2 Q 2.5(,t)-.4 G(o)-2.5 E F1($1)2.5 E F0(,)A F1($2)2.5 E F0(,)A +144 595.2 Q 2.5(,t)-.4 G(o)-2.5 E F1($1)2.5 E F0(,)A F1($2)2.5 E F0(,)A F1 2.5(... $)2.5 F F2(n)A F0 5(.O)C(ptions, if speci\214ed, ha)-5 E .3 --.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1144 475.2 Q -F0 .54(Automatically mark v)29.3 F .539 -(ariables and functions which are modi\214ed or created for e)-.25 F -.539(xport to)-.15 F(the en)184 487.2 Q -(vironment of subsequent commands.)-.4 E F1144 499.2 Q F0 .131 +-.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1144 607.2 Q +F0 .539(Automatically mark v)29.3 F .539 +(ariables and functions which are modi\214ed or created for e)-.25 F .54 +(xport to)-.15 F(the en)184 619.2 Q(vironment of subsequent commands.) +-.4 E F1144 631.2 Q F0 .132 (Report the status of terminated background jobs immediately)28.74 F -2.632(,r)-.65 G .132(ather than before the ne)-2.632 F(xt)-.15 E -(primary prompt.)184 511.2 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o) --.25 H(nly when job control is enabled.).15 E F1144 523.2 Q F0 -.511(Exit immediately if a)29.86 F F2(pipeline)3.011 E F0 .511 -(\(which may consist of a single)3.011 F F2 .51(simple command)3.01 F F0 -3.01(\), a)B F2(sub-)3.01 E(shell)184 535.2 Q F0 .872 -(command enclosed in parentheses, or one of the commands e)3.372 F -.15 +2.632(,r)-.65 G .131(ather than before the ne)-2.632 F(xt)-.15 E +(primary prompt.)184 643.2 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o) +-.25 H(nly when job control is enabled.).15 E F1144 655.2 Q F0 .51 +(Exit immediately if a)29.86 F F2(pipeline)3.01 E F0 .511 +(\(which may consist of a single)3.011 F F2 .511(simple command)3.011 F +F0 3.011(\), a)B F2(sub-)3.011 E(shell)184 667.2 Q F0 .872 +(command enclosed in parentheses, or one of the commands e)3.373 F -.15 (xe)-.15 G .872(cuted as part of a).15 F .399 -(command list enclosed by braces \(see)184 547.2 R F3 .399 +(command list enclosed by braces \(see)184 679.2 R F3 .399 (SHELL GRAMMAR)2.899 F F0(abo)2.649 E -.15(ve)-.15 G 2.899(\)e).15 G -.399(xits with a non-zero)-3.049 F 3.968(status. The)184 559.2 R 1.468 -(shell does not e)3.968 F 1.468(xit if the command that f)-.15 F 1.468 -(ails is part of the command list)-.1 F .57(immediately follo)184 571.2 -R .57(wing a)-.25 F F1(while)3.07 E F0(or)3.07 E F1(until)3.07 E F0 -.1 -(ke)3.069 G(yw)-.05 E .569(ord, part of the test follo)-.1 F .569 -(wing the)-.25 F F1(if)3.069 E F0(or)3.069 E F1(elif)3.069 E F0(reserv) -184 583.2 Q .544(ed w)-.15 F .544(ords, part of an)-.1 F 3.044(yc)-.15 G +.399(xits with a non-zero)-3.049 F 3.969(status. The)184 691.2 R 1.468 +(shell does not e)3.969 F 1.468(xit if the command that f)-.15 F 1.468 +(ails is part of the command list)-.1 F .569(immediately follo)184 703.2 +R .569(wing a)-.25 F F1(while)3.069 E F0(or)3.069 E F1(until)3.069 E F0 +-.1(ke)3.069 G(yw)-.05 E .569(ord, part of the test follo)-.1 F .57 +(wing the)-.25 F F1(if)3.07 E F0(or)3.07 E F1(elif)3.07 E F0(reserv)184 +715.2 Q .544(ed w)-.15 F .544(ords, part of an)-.1 F 3.044(yc)-.15 G .544(ommand e)-3.044 F -.15(xe)-.15 G .544(cuted in a).15 F F1(&&)3.044 E F0(or)3.044 E/F5 10/Symbol SF3.044 E F0 .544(list e)3.044 F .544 -(xcept the command)-.15 F(follo)184 595.2 Q 1.231(wing the \214nal)-.25 -F F1(&&)3.731 E F0(or)3.731 E F53.731 E F0 3.731(,a)C 1.531 -.15 -(ny c)-3.731 H 1.231(ommand in a pipeline b).15 F 1.23 -(ut the last, or if the com-)-.2 F(mand')184 607.2 Q 3.19(sr)-.55 G .69 -(eturn v)-3.19 F .69(alue is being in)-.25 F -.15(ve)-.4 G .69 -(rted with).15 F F1(!)3.191 E F0 5.691(.A)C .691(trap on)-2.5 F F1(ERR) -3.191 E F0 3.191(,i)C 3.191(fs)-3.191 G .691(et, is e)-3.191 F -.15(xe) --.15 G .691(cuted before).15 F .687(the shell e)184 619.2 R 3.186 -(xits. This)-.15 F .686(option applies to the shell en)3.186 F .686 -(vironment and each subshell en)-.4 F(viron-)-.4 E .068 -(ment separately \(see)184 631.2 R F3 .068(COMMAND EXECUTION ENVIR)2.568 -F(ONMENT)-.27 E F0(abo)2.318 E -.15(ve)-.15 G .068(\), and may cause).15 -F(subshells to e)184 643.2 Q(xit before e)-.15 E -.15(xe)-.15 G -(cuting all the commands in the subshell.).15 E F1144 655.2 Q F0 -(Disable pathname e)30.97 E(xpansion.)-.15 E F1144 667.2 Q F0 -2.239(Remember the location of commands as the)28.74 F 4.738(ya)-.15 G -2.238(re look)-4.738 F 2.238(ed up for e)-.1 F -.15(xe)-.15 G 4.738 -(cution. This).15 F(is)4.738 E(enabled by def)184 679.2 Q(ault.)-.1 E F1 -144 691.2 Q F0 .513(All ar)28.74 F .514 -(guments in the form of assignment statements are placed in the en)-.18 -F .514(vironment for a)-.4 F -(command, not just those that precede the command name.)184 703.2 Q F1 -144 715.2 Q F0 .149(Monitor mode.)25.97 F .149 -(Job control is enabled.)5.149 F .148(This option is on by def)5.149 F -.148(ault for interacti)-.1 F .448 -.15(ve s)-.25 H(hells).15 E .636 -(on systems that support it \(see)184 727.2 R F3 .636(JOB CONTR)3.136 F -(OL)-.27 E F0(abo)2.886 E -.15(ve)-.15 G 3.136(\). Background).15 F .637 -(processes run in a)3.136 F(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E -(13)198.725 E 0 Cg EP +(xcept the command)-.15 F(follo)184 727.2 Q 2.748(wing the \214nal)-.25 +F F1(&&)5.248 E F0(or)5.248 E F55.248 E F0 5.248(,a)C 3.048 -.15 +(ny c)-5.248 H 2.748(ommand in a pipeline b).15 F 2.748 +(ut the last, or if the)-.2 F(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 +E(13)198.725 E 0 Cg EP %%Page: 14 14 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48 -(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .642 -(separate process group and a line containing their e)184 84 R .641 -(xit status is printed upon their com-)-.15 F(pletion.)184 96 Q/F1 10 -/Times-Bold@0 SF144 108 Q F0 .652(Read commands b)28.74 F .652 -(ut do not e)-.2 F -.15(xe)-.15 G .652(cute them.).15 F .653 -(This may be used to check a shell script for)5.652 F(syntax errors.)184 -120 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15 E -F1144 132 Q/F2 10/Times-Italic@0 SF(option\255name)2.5 E F0(The) -184 144 Q F2(option\255name)2.5 E F0(can be one of the follo)2.5 E -(wing:)-.25 E F1(allexport)184 156 Q F0(Same as)224 168 Q F12.5 E -F0(.)A F1(braceexpand)184 180 Q F0(Same as)224 192 Q F12.5 E F0(.) -A F1(emacs)184 204 Q F0 .089 +(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E(command')184 +84 Q 3.958(sr)-.55 G 1.458(eturn v)-3.958 F 1.458(alue is being in)-.25 +F -.15(ve)-.4 G 1.458(rted with).15 F/F1 10/Times-Bold@0 SF(!)3.958 E F0 +6.458(.A)C 1.458(trap on)-2.5 F F1(ERR)3.958 E F0 3.958(,i)C 3.958(fs) +-3.958 G 1.458(et, is e)-3.958 F -.15(xe)-.15 G(cuted).15 E 1.297 +(before the shell e)184 96 R 3.797(xits. This)-.15 F 1.297 +(option applies to the shell en)3.797 F 1.297 +(vironment and each subshell)-.4 F(en)184 108 Q 2.128 +(vironment separately \(see)-.4 F/F2 9/Times-Bold@0 SF 2.127 +(COMMAND EXECUTION ENVIR)4.628 F(ONMENT)-.27 E F0(abo)4.377 E -.15(ve) +-.15 G 2.127(\), and).15 F(may cause subshells to e)184 120 Q +(xit before e)-.15 E -.15(xe)-.15 G +(cuting all the commands in the subshell.).15 E F1144 132 Q F0 +(Disable pathname e)30.97 E(xpansion.)-.15 E F1144 144 Q F0 2.238 +(Remember the location of commands as the)28.74 F 4.738(ya)-.15 G 2.239 +(re look)-4.738 F 2.239(ed up for e)-.1 F -.15(xe)-.15 G 4.739 +(cution. This).15 F(is)4.739 E(enabled by def)184 156 Q(ault.)-.1 E F1 +144 168 Q F0 .514(All ar)28.74 F .514 +(guments in the form of assignment statements are placed in the en)-.18 +F .513(vironment for a)-.4 F +(command, not just those that precede the command name.)184 180 Q F1 +144 192 Q F0 .148(Monitor mode.)25.97 F .148 +(Job control is enabled.)5.148 F .149(This option is on by def)5.148 F +.149(ault for interacti)-.1 F .449 -.15(ve s)-.25 H(hells).15 E .637 +(on systems that support it \(see)184 204 R F2 .636(JOB CONTR)3.136 F +(OL)-.27 E F0(abo)2.886 E -.15(ve)-.15 G 3.136(\). Background).15 F .636 +(processes run in a)3.136 F .641 +(separate process group and a line containing their e)184 216 R .642 +(xit status is printed upon their com-)-.15 F(pletion.)184 228 Q F1 +144 240 Q F0 .653(Read commands b)28.74 F .653(ut do not e)-.2 F +-.15(xe)-.15 G .653(cute them.).15 F .652 +(This may be used to check a shell script for)5.653 F(syntax errors.)184 +252 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15 E +F1144 264 Q/F3 10/Times-Italic@0 SF(option\255name)2.5 E F0(The) +184 276 Q F3(option\255name)2.5 E F0(can be one of the follo)2.5 E +(wing:)-.25 E F1(allexport)184 288 Q F0(Same as)224 300 Q F12.5 E +F0(.)A F1(braceexpand)184 312 Q F0(Same as)224 324 Q F12.5 E F0(.) +A F1(emacs)184 336 Q F0 .089 (Use an emacs-style command line editing interf)13.9 F 2.589(ace. This) -.1 F .089(is enabled by def)2.589 F(ault)-.1 E .95 -(when the shell is interacti)224 216 R -.15(ve)-.25 G 3.45(,u).15 G .95 +(when the shell is interacti)224 348 R -.15(ve)-.25 G 3.45(,u).15 G .95 (nless the shell is started with the)-3.45 F F1(\255\255noediting)3.45 E -F0 2.5(option. This)224 228 R(also af)2.5 E(fects the editing interf) +F0 2.5(option. This)224 360 R(also af)2.5 E(fects the editing interf) -.25 E(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1(err) -184 240 Q(exit)-.18 E F0(Same as)11.31 E F12.5 E F0(.)A F1 -(errtrace)184 252 Q F0(Same as)5.03 E F12.5 E F0(.)A F1(functrace) -184 264 Q F0(Same as)224 276 Q F12.5 E F0(.)A F1(hashall)184 288 Q -F0(Same as)9.43 E F12.5 E F0(.)A F1(histexpand)184 300 Q F0 -(Same as)224 312 Q F12.5 E F0(.)A F1(history)184 324 Q F0 .587 +184 372 Q(exit)-.18 E F0(Same as)11.31 E F12.5 E F0(.)A F1 +(errtrace)184 384 Q F0(Same as)5.03 E F12.5 E F0(.)A F1(functrace) +184 396 Q F0(Same as)224 408 Q F12.5 E F0(.)A F1(hashall)184 420 Q +F0(Same as)9.43 E F12.5 E F0(.)A F1(histexpand)184 432 Q F0 +(Same as)224 444 Q F12.5 E F0(.)A F1(history)184 456 Q F0 .586 (Enable command history)10 F 3.087(,a)-.65 G 3.087(sd)-3.087 G .587 -(escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder).15 E/F3 9 -/Times-Bold@0 SF(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F4 9/Times-Roman@0 SF -(.)A F0 .587(This option is)5.087 F(on by def)224 336 Q -(ault in interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184 -348 Q(eeof)-.18 E F0 1.656(The ef)224 360 R 1.656 -(fect is as if the shell command)-.25 F/F5 10/Courier@0 SF(IGNOREEOF=10) -4.157 E F0 1.657(had been e)4.157 F -.15(xe)-.15 G(cuted).15 E(\(see)224 -372 Q F1(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15(ve)-.15 G(\).) -.15 E F1 -.1(ke)184 384 S(yw).1 E(ord)-.1 E F0(Same as)224 396 Q F1 -2.5 E F0(.)A F1(monitor)184 408 Q F0(Same as)5.56 E F12.5 E -F0(.)A F1(noclob)184 420 Q(ber)-.1 E F0(Same as)224 432 Q F12.5 E -F0(.)A F1(noexec)184 444 Q F0(Same as)11.12 E F12.5 E F0(.)A F1 -(noglob)184 456 Q F0(Same as)11.1 E F12.5 E F0(.)A F1(nolog)184 -468 Q F0(Currently ignored.)16.66 E F1(notify)184 480 Q F0(Same as)15 E -F12.5 E F0(.)A F1(nounset)184 492 Q F0(Same as)6.66 E F12.5 -E F0(.)A F1(onecmd)184 504 Q F0(Same as)6.67 E F12.5 E F0(.)A F1 -(ph)184 516 Q(ysical)-.15 E F0(Same as)5.14 E F12.5 E F0(.)A F1 -(pipefail)184 528 Q F0 1.03(If set, the return v)7.77 F 1.029 -(alue of a pipeline is the v)-.25 F 1.029 -(alue of the last \(rightmost\) com-)-.25 F 1.136(mand to e)224 540 R +(escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder).15 E F2(HIST)3.087 E +(OR)-.162 E(Y)-.315 E/F4 9/Times-Roman@0 SF(.)A F0 .587(This option is) +5.087 F(on by def)224 468 Q(ault in interacti)-.1 E .3 -.15(ve s)-.25 H +(hells.).15 E F1(ignor)184 480 Q(eeof)-.18 E F0 1.657(The ef)224 492 R +1.657(fect is as if the shell command)-.25 F/F5 10/Courier@0 SF +(IGNOREEOF=10)4.156 E F0 1.656(had been e)4.156 F -.15(xe)-.15 G(cuted) +.15 E(\(see)224 504 Q F1(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15 +(ve)-.15 G(\).).15 E F1 -.1(ke)184 516 S(yw).1 E(ord)-.1 E F0(Same as) +224 528 Q F12.5 E F0(.)A F1(monitor)184 540 Q F0(Same as)5.56 E F1 +2.5 E F0(.)A F1(noclob)184 552 Q(ber)-.1 E F0(Same as)224 564 Q F1 +2.5 E F0(.)A F1(noexec)184 576 Q F0(Same as)11.12 E F12.5 E +F0(.)A F1(noglob)184 588 Q F0(Same as)11.1 E F12.5 E F0(.)A F1 +(nolog)184 600 Q F0(Currently ignored.)16.66 E F1(notify)184 612 Q F0 +(Same as)15 E F12.5 E F0(.)A F1(nounset)184 624 Q F0(Same as)6.66 +E F12.5 E F0(.)A F1(onecmd)184 636 Q F0(Same as)6.67 E F12.5 +E F0(.)A F1(ph)184 648 Q(ysical)-.15 E F0(Same as)5.14 E F12.5 E +F0(.)A F1(pipefail)184 660 Q F0 1.029(If set, the return v)7.77 F 1.029 +(alue of a pipeline is the v)-.25 F 1.03 +(alue of the last \(rightmost\) com-)-.25 F 1.137(mand to e)224 672 R 1.136 (xit with a non-zero status, or zero if all commands in the pipeline) --.15 F -.15(ex)224 552 S(it successfully).15 E 5(.T)-.65 G -(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 564 Q F0 -2.091(Change the beha)17.77 F 2.091(vior of)-.2 F F1(bash)4.591 E F0 +-.15 F -.15(ex)224 684 S(it successfully).15 E 5(.T)-.65 G +(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 696 Q F0 +2.09(Change the beha)17.77 F 2.091(vior of)-.2 F F1(bash)4.591 E F0 2.091(where the def)4.591 F 2.091(ault operation dif)-.1 F 2.091 -(fers from the)-.25 F(POSIX standard to match the standard \()224 576 Q -F2(posix mode)A F0(\).)A F1(pri)184 588 Q(vileged)-.1 E F0(Same as)224 -600 Q F12.5 E F0(.)A F1 -.1(ve)184 612 S(rbose).1 E F0(Same as) -7.33 E F12.5 E F0(.)A F1(vi)184 624 Q F0 1.465 -(Use a vi-style command line editing interf)32.22 F 3.966(ace. This)-.1 -F 1.466(also af)3.966 F 1.466(fects the editing)-.25 F(interf)224 636 Q -(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1(xtrace)184 -648 Q F0(Same as)13.35 E F12.5 E F0(.)A(If)184 666 Q F13.053 -E F0 .553(is supplied with no)3.053 F F2(option\255name)3.053 E F0 3.053 -(,t)C .553(he v)-3.053 F .552(alues of the current options are printed.) --.25 F(If)5.552 E F1(+o)184 678 Q F0 1.071(is supplied with no)3.571 F -F2(option\255name)3.571 E F0 3.571(,as)C 1.071(eries of)-3.571 F F1(set) -3.572 E F0 1.072(commands to recreate the current)3.572 F -(option settings is displayed on the standard output.)184 690 Q F1 -144 702 Q F0 -.45(Tu)28.74 G 1.072(rn on).45 F F2(privile)4.822 E -.1 -(ge)-.4 G(d).1 E F0 3.572(mode. In)4.342 F 1.072(this mode, the)3.572 F -F3($ENV)3.572 E F0(and)3.322 E F3($B)3.572 E(ASH_ENV)-.27 E F0 1.071 -(\214les are not pro-)3.322 F 1.5 -(cessed, shell functions are not inherited from the en)184 714 R 1.501 -(vironment, and the)-.4 F F3(SHELLOPTS)4.001 E F4(,)A F3 -.27(BA)184 726 -S(SHOPTS).27 E F4(,)A F3(CDP)2.775 E -.855(AT)-.666 G(H).855 E F4(,)A F0 -(and)2.775 E F3(GLOBIGNORE)3.025 E F0 -.25(va)2.775 G .524 -(riables, if the).25 F 3.024(ya)-.15 G .524(ppear in the en)-3.024 F -(vironment,)-.4 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(14)198.725 -E 0 Cg EP +(fers from the)-.25 F(POSIX standard to match the standard \()224 708 Q +F3(posix mode)A F0(\).)A(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(14) +198.725 E 0 Cg EP %%Page: 15 15 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48 -(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .379 -(are ignored.)184 84 R .379(If the shell is started with the ef)5.379 F -(fecti)-.25 E .679 -.15(ve u)-.25 H .38 -(ser \(group\) id not equal to the real).15 F .462 -(user \(group\) id, and the)184 96 R/F1 10/Times-Bold@0 SF2.961 E -F0 .461(option is not supplied, these actions are tak)2.961 F .461 -(en and the ef)-.1 F(fec-)-.25 E(ti)184 108 Q .694 -.15(ve u)-.25 H .394 +(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10 +/Times-Bold@0 SF(pri)184 84 Q(vileged)-.1 E F0(Same as)224 96 Q F1 +2.5 E F0(.)A F1 -.1(ve)184 108 S(rbose).1 E F0(Same as)7.33 E F1 +2.5 E F0(.)A F1(vi)184 120 Q F0 1.466 +(Use a vi-style command line editing interf)32.22 F 3.965(ace. This)-.1 +F 1.465(also af)3.965 F 1.465(fects the editing)-.25 F(interf)224 132 Q +(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1(xtrace)184 +144 Q F0(Same as)13.35 E F12.5 E F0(.)A(If)184 162 Q F13.052 +E F0 .552(is supplied with no)3.052 F/F2 10/Times-Italic@0 SF +(option\255name)3.053 E F0 3.053(,t)C .553(he v)-3.053 F .553 +(alues of the current options are printed.)-.25 F(If)5.553 E F1(+o)184 +174 Q F0 1.072(is supplied with no)3.572 F F2(option\255name)3.572 E F0 +3.572(,a)C 1.071(series of)-.001 F F1(set)3.571 E F0 1.071 +(commands to recreate the current)3.571 F +(option settings is displayed on the standard output.)184 186 Q F1 +144 198 Q F0 -.45(Tu)28.74 G 1.071(rn on).45 F F2(privile)4.821 E -.1 +(ge)-.4 G(d).1 E F0 3.572(mode. In)4.341 F 1.072(this mode, the)3.572 F +/F3 9/Times-Bold@0 SF($ENV)3.572 E F0(and)3.322 E F3($B)3.572 E(ASH_ENV) +-.27 E F0 1.072(\214les are not pro-)3.322 F 1.501 +(cessed, shell functions are not inherited from the en)184 210 R 1.5 +(vironment, and the)-.4 F F3(SHELLOPTS)4 E/F4 9/Times-Roman@0 SF(,)A F3 +-.27(BA)184 222 S(SHOPTS).27 E F4(,)A F3(CDP)2.774 E -.855(AT)-.666 G(H) +.855 E F4(,)A F0(and)2.774 E F3(GLOBIGNORE)3.024 E F0 -.25(va)2.774 G +.524(riables, if the).25 F 3.025(ya)-.15 G .525(ppear in the en)-3.025 F +(vironment,)-.4 E .38(are ignored.)184 234 R .38 +(If the shell is started with the ef)5.38 F(fecti)-.25 E .679 -.15(ve u) +-.25 H .379(ser \(group\) id not equal to the real).15 F .461 +(user \(group\) id, and the)184 246 R F12.961 E F0 .461 +(option is not supplied, these actions are tak)2.961 F .462 +(en and the ef)-.1 F(fec-)-.25 E(ti)184 258 Q .695 -.15(ve u)-.25 H .395 (ser id is set to the real user id.).15 F .395(If the)5.395 F F1 -2.895 E F0 .395(option is supplied at startup, the ef)2.895 F(fecti)-.25 -E -.15(ve)-.25 G .387(user id is not reset.)184 120 R -.45(Tu)5.387 G -.387(rning this option of).45 F 2.886(fc)-.25 G .386(auses the ef)-2.886 -F(fecti)-.25 E .686 -.15(ve u)-.25 H .386(ser and group ids to be).15 F -(set to the real user and group ids.)184 132 Q F1144 144 Q F0 +2.895 E F0 .394(option is supplied at startup, the ef)2.895 F(fecti)-.25 +E -.15(ve)-.25 G .386(user id is not reset.)184 270 R -.45(Tu)5.386 G +.386(rning this option of).45 F 2.886(fc)-.25 G .387(auses the ef)-2.886 +F(fecti)-.25 E .687 -.15(ve u)-.25 H .387(ser and group ids to be).15 F +(set to the real user and group ids.)184 282 Q F1144 294 Q F0 (Exit after reading and e)30.97 E -.15(xe)-.15 G(cuting one command.).15 -E F1144 156 Q F0 -.35(Tr)28.74 G .043(eat unset v).35 F .044(aria\ +E F1144 306 Q F0 -.35(Tr)28.74 G .044(eat unset v).35 F .044(aria\ bles and parameters other than the special parameters "@" and "*" as an) --.25 F .183(error when performing parameter e)184 168 R 2.683 -(xpansion. If)-.15 F -.15(ex)2.683 G .182 +-.25 F .182(error when performing parameter e)184 318 R 2.682 +(xpansion. If)-.15 F -.15(ex)2.682 G .183 (pansion is attempted on an unset v).15 F(ari-)-.25 E .746 -(able or parameter)184 180 R 3.246(,t)-.4 G .746 +(able or parameter)184 330 R 3.246(,t)-.4 G .746 (he shell prints an error message, and, if not interacti)-3.246 F -.15 (ve)-.25 G 3.246(,e).15 G .746(xits with a)-3.396 F(non-zero status.)184 -192 Q F1144 204 Q F0(Print shell input lines as the)29.3 E 2.5(ya) --.15 G(re read.)-2.5 E F1144 216 Q F0 .315(After e)29.3 F .315 -(xpanding each)-.15 F/F2 10/Times-Italic@0 SF .315(simple command)2.815 -F F0(,)A F1 -.25(fo)2.815 G(r).25 E F0(command,)2.815 E F1(case)2.815 E -F0(command,)2.815 E F1(select)2.815 E F0(command,)2.815 E 1.235 -(or arithmetic)184 228 R F1 -.25(fo)3.736 G(r).25 E F0 1.236 -(command, display the e)3.736 F 1.236(xpanded v)-.15 F 1.236(alue of) --.25 F/F3 9/Times-Bold@0 SF(PS4)3.736 E/F4 9/Times-Roman@0 SF(,)A F0 -(follo)3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 240 Q +342 Q F1144 354 Q F0(Print shell input lines as the)29.3 E 2.5(ya) +-.15 G(re read.)-2.5 E F1144 366 Q F0 .315(After e)29.3 F .315 +(xpanding each)-.15 F F2 .315(simple command)2.815 F F0(,)A F1 -.25(fo) +2.815 G(r).25 E F0(command,)2.815 E F1(case)2.815 E F0(command,)2.815 E +F1(select)2.815 E F0(command,)2.815 E 1.236(or arithmetic)184 378 R F1 +-.25(fo)3.736 G(r).25 E F0 1.236(command, display the e)3.736 F 1.236 +(xpanded v)-.15 F 1.236(alue of)-.25 F F3(PS4)3.736 E F4(,)A F0(follo) +3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 390 Q (xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E F1 -144 252 Q F0 2.579(The shell performs brace e)27.63 F 2.578 +144 402 Q F0 2.578(The shell performs brace e)27.63 F 2.578 (xpansion \(see)-.15 F F1 2.578(Brace Expansion)5.078 F F0(abo)5.078 E --.15(ve)-.15 G 5.078(\). This).15 F 2.578(is on by)5.078 F(def)184 264 Q -(ault.)-.1 E F1144 276 Q F0 .213(If set,)27.08 F F1(bash)2.713 E -F0 .213(does not o)2.713 F -.15(ve)-.15 G .214(rwrite an e).15 F .214 +-.15(ve)-.15 G 5.079(\). This).15 F 2.579(is on by)5.079 F(def)184 414 Q +(ault.)-.1 E F1144 426 Q F0 .214(If set,)27.08 F F1(bash)2.714 E +F0 .214(does not o)2.714 F -.15(ve)-.15 G .214(rwrite an e).15 F .214 (xisting \214le with the)-.15 F F1(>)2.714 E F0(,)A F1(>&)2.714 E F0 -2.714(,a)C(nd)-2.714 E F1(<>)2.714 E F0 .214(redirection opera-)2.714 F -3.054(tors. This)184 288 R .553(may be o)3.053 F -.15(ve)-.15 G .553 +2.713(,a)C(nd)-2.713 E F1(<>)2.713 E F0 .213(redirection opera-)2.713 F +3.053(tors. This)184 438 R .553(may be o)3.053 F -.15(ve)-.15 G .553 (rridden when creating output \214les by using the redirection opera-) -.15 F(tor)184 300 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1 -144 312 Q F0 .103(If set, an)27.63 F 2.603(yt)-.15 G .103(rap on) --2.603 F F1(ERR)2.603 E F0 .104 -(is inherited by shell functions, command substitutions, and com-)2.603 -F .839(mands e)184 324 R -.15(xe)-.15 G .839(cuted in a subshell en).15 -F 3.339(vironment. The)-.4 F F1(ERR)3.338 E F0 .838 -(trap is normally not inherited in)3.338 F(such cases.)184 336 Q F1 -144 348 Q F0(Enable)26.52 E F1(!)3.031 E F0 .531 -(style history substitution.)5.531 F .531(This option is on by def)5.531 -F .532(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 360 Q -.15 -(ve)-.25 G(.).15 E F1144 372 Q F0 1.165 +.15 F(tor)184 450 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1 +144 462 Q F0 .104(If set, an)27.63 F 2.604(yt)-.15 G .104(rap on) +-2.604 F F1(ERR)2.604 E F0 .103 +(is inherited by shell functions, command substitutions, and com-)2.604 +F .838(mands e)184 474 R -.15(xe)-.15 G .838(cuted in a subshell en).15 +F 3.338(vironment. The)-.4 F F1(ERR)3.338 E F0 .839 +(trap is normally not inherited in)3.339 F(such cases.)184 486 Q F1 +144 498 Q F0(Enable)26.52 E F1(!)3.032 E F0 .532 +(style history substitution.)5.532 F .531(This option is on by def)5.532 +F .531(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 510 Q -.15 +(ve)-.25 G(.).15 E F1144 522 Q F0 1.164 (If set, the shell does not follo)28.19 F 3.664(ws)-.25 G 1.164 -(ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.164 -(cuting commands such as).15 F F1(cd)3.664 E F0 2.821 -(that change the current w)184 384 R 2.822(orking directory)-.1 F 7.822 -(.I)-.65 G 5.322(tu)-7.822 G 2.822(ses the ph)-5.322 F 2.822 -(ysical directory structure)-.05 F 2.686(instead. By)184 396 R(def)2.686 +(ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.165 +(cuting commands such as).15 F F1(cd)3.665 E F0 2.822 +(that change the current w)184 534 R 2.822(orking directory)-.1 F 7.822 +(.I)-.65 G 5.322(tu)-7.822 G 2.822(ses the ph)-5.322 F 2.821 +(ysical directory structure)-.05 F 2.685(instead. By)184 546 R(def)2.685 E(ault,)-.1 E F1(bash)2.686 E F0(follo)2.686 E .186 (ws the logical chain of directories when performing com-)-.25 F -(mands which change the current directory)184 408 Q(.)-.65 E F1144 -420 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G .89(raps on)-3.39 F F1 +(mands which change the current directory)184 558 Q(.)-.65 E F1144 +570 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G .89(raps on)-3.39 F F1 (DEB)3.39 E(UG)-.1 E F0(and)3.39 E F1(RETURN)3.39 E F0 .89 (are inherited by shell functions, command)3.39 F 1.932 -(substitutions, and commands e)184 432 R -.15(xe)-.15 G 1.932 +(substitutions, and commands e)184 582 R -.15(xe)-.15 G 1.932 (cuted in a subshell en).15 F 4.432(vironment. The)-.4 F F1(DEB)4.432 E -(UG)-.1 E F0(and)4.432 E F1(RETURN)184 444 Q F0 -(traps are normally not inherited in such cases.)2.5 E F1144 456 Q -F0 .4(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401 +(UG)-.1 E F0(and)4.432 E F1(RETURN)184 594 Q F0 +(traps are normally not inherited in such cases.)2.5 E F1144 606 Q +F0 .401(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401 (his option, then the positional parameters are unset.)-2.901 F -(Otherwise,)5.401 E(the positional parameters are set to the)184 468 Q -F2(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5(ni).15 G 2.5(fs)-2.5 G +(Otherwise,)5.4 E(the positional parameters are set to the)184 618 Q F2 +(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5(ni).15 G 2.5(fs)-2.5 G (ome of them be)-2.5 E(gin with a)-.15 E F12.5 E F0(.)A F1144 -480 Q F0 1.945(Signal the end of options, cause all remaining)34.3 F F2 -(ar)4.444 E(g)-.37 E F0 4.444(st)C 4.444(ob)-4.444 G 4.444(ea)-4.444 G -1.944(ssigned to the positional)-4.444 F 3.445(parameters. The)184 492 R -F13.445 E F0(and)3.445 E F13.445 E F0 .945 -(options are turned of)3.445 F 3.445(f. If)-.25 F .946(there are no) -3.445 F F2(ar)3.446 E(g)-.37 E F0 .946(s, the positional)B -(parameters remain unchanged.)184 504 Q .425(The options are of)144 -520.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425 +630 Q F0 1.944(Signal the end of options, cause all remaining)34.3 F F2 +(ar)4.444 E(g)-.37 E F0 4.444(st)C 4.444(ob)-4.444 G 4.445(ea)-4.444 G +1.945(ssigned to the positional)-4.445 F 3.446(parameters. The)184 642 R +F13.446 E F0(and)3.446 E F13.446 E F0 .945 +(options are turned of)3.446 F 3.445(f. If)-.25 F .945(there are no) +3.445 F F2(ar)3.445 E(g)-.37 E F0 .945(s, the positional)B +(parameters remain unchanged.)184 654 Q .425(The options are of)144 +670.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425 (ault unless otherwise noted.)-.1 F .425 -(Using + rather than \255 causes these options)5.425 F .177 -(to be turned of)144 532.8 R 2.677(f. The)-.25 F .178 +(Using + rather than \255 causes these options)5.425 F .178 +(to be turned of)144 682.8 R 2.678(f. The)-.25 F .178 (options can also be speci\214ed as ar)2.678 F .178(guments to an in) --.18 F -.2(vo)-.4 G .178(cation of the shell.).2 F(The)5.178 E .066 -(current set of options may be found in)144 544.8 R F1<24ad>2.566 E F0 +-.18 F -.2(vo)-.4 G .177(cation of the shell.).2 F(The)5.177 E .066 +(current set of options may be found in)144 694.8 R F1<24ad>2.566 E F0 5.066(.T)C .066(he return status is al)-5.066 F -.1(wa)-.1 G .066 -(ys true unless an in).1 F -.25(va)-.4 G .066(lid option).25 F -(is encountered.)144 556.8 Q F1(shift)108 573.6 Q F0([)2.5 E F2(n)A F0 -(])A .428(The positional parameters from)144 585.6 R F2(n)2.928 E F0 -.429(+1 ... are renamed to)B F1 .429($1 ....)2.929 F F0 -.15(Pa)5.429 G -.429(rameters represented by the num-).15 F(bers)144 597.6 Q F1($#)2.583 -E F0(do)2.583 E .083(wn to)-.25 F F1($#)2.583 E F0A F2(n)A F0 .083 -(+1 are unset.)B F2(n)5.443 E F0 .083(must be a non-ne)2.823 F -.05(ga) --.15 G(ti).05 E .382 -.15(ve n)-.25 H .082(umber less than or equal to) -.15 F F1($#)2.582 E F0 5.082(.I)C(f)-5.082 E F2(n)2.942 E F0 .06 -(is 0, no parameters are changed.)144 609.6 R(If)5.06 E F2(n)2.92 E F0 -.06(is not gi)2.8 F -.15(ve)-.25 G .06(n, it is assumed to be 1.).15 F -(If)5.06 E F2(n)2.92 E F0 .06(is greater than)2.8 F F1($#)2.56 E F0 2.56 -(,t)C(he)-2.56 E .144(positional parameters are not changed.)144 621.6 R -.144(The return status is greater than zero if)5.144 F F2(n)3.003 E F0 -.143(is greater than)2.883 F F1($#)2.643 E F0 -(or less than zero; otherwise 0.)144 633.6 Q F1(shopt)108 650.4 Q F0([) -2.5 E F1(\255pqsu)A F0 2.5(][)C F1-2.5 E F0 2.5(][)C F2(optname) --2.5 E F0(...])2.5 E -.8(To)144 662.4 S .222(ggle the v).8 F .222 -(alues of v)-.25 F .222(ariables controlling optional shell beha)-.25 F -(vior)-.2 E 5.222(.W)-.55 G .222(ith no options, or with the)-5.622 F F1 -2.722 E F0 .721(option, a list of all settable options is display\ -ed, with an indication of whether or not each is set.)144 674.4 R(The) -144 686.4 Q F12.827 E F0 .327(option causes output to be displaye\ -d in a form that may be reused as input.)2.827 F .328(Other options) -5.328 F(ha)144 698.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:) --.25 E F1144 710.4 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5 -E F0(.)A(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(15)198.725 E 0 Cg -EP +(ys true unless an in).1 F -.25(va)-.4 G .067(lid option).25 F +(is encountered.)144 706.8 Q(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E +(15)198.725 E 0 Cg EP %%Page: 16 16 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10 -/Times-Bold@0 SF144 84 Q F0(Disable \(unset\) each)24.74 E/F2 10 -/Times-Italic@0 SF(optname)2.5 E F0(.)A F1144 96 Q F0 .003(Suppre\ -sses normal output \(quiet mode\); the return status indicates whether \ -the)24.74 F F2(optname)2.503 E F0(is)2.503 E .255(set or unset.)180 108 -R .255(If multiple)5.255 F F2(optname)2.755 E F0(ar)2.755 E .256 -(guments are gi)-.18 F -.15(ve)-.25 G 2.756(nw).15 G(ith)-2.756 E F1 -2.756 E F0 2.756(,t)C .256(he return status is zero if)-2.756 F -(all)180 120 Q F2(optnames)2.5 E F0(are enabled; non-zero otherwise.)2.5 -E F1144 132 Q F0(Restricts the v)25.3 E(alues of)-.25 E F2 -(optname)2.5 E F0(to be those de\214ned for the)2.5 E F12.5 E F0 -(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .128 -(If either)144 148.8 R F12.628 E F0(or)2.628 E F12.628 E F0 -.127(is used with no)2.627 F F2(optname)2.627 E F0(ar)2.627 E .127 -(guments, the display is limited to those options which)-.18 F 1.023 -(are set or unset, respecti)144 160.8 R -.15(ve)-.25 G(ly).15 E 6.023 -(.U)-.65 G 1.024(nless otherwise noted, the)-6.023 F F1(shopt)3.524 E F0 -1.024(options are disabled \(unset\) by)3.524 F(def)144 172.8 Q(ault.) +/Times-Bold@0 SF(shift)108 84 Q F0([)2.5 E/F2 10/Times-Italic@0 SF(n)A +F0(])A .429(The positional parameters from)144 96 R F2(n)2.929 E F0 .429 +(+1 ... are renamed to)B F1 .429($1 ....)2.929 F F0 -.15(Pa)5.428 G .428 +(rameters represented by the num-).15 F(bers)144 108 Q F1($#)2.582 E F0 +(do)2.582 E .082(wn to)-.25 F F1($#)2.582 E F0A F2(n)A F0 .082 +(+1 are unset.)B F2(n)5.442 E F0 .082(must be a non-ne)2.822 F -.05(ga) +-.15 G(ti).05 E .383 -.15(ve n)-.25 H .083(umber less than or equal to) +.15 F F1($#)2.583 E F0 5.083(.I)C(f)-5.083 E F2(n)2.943 E F0 .06 +(is 0, no parameters are changed.)144 120 R(If)5.06 E F2(n)2.92 E F0 .06 +(is not gi)2.8 F -.15(ve)-.25 G .06(n, it is assumed to be 1.).15 F(If) +5.06 E F2(n)2.92 E F0 .06(is greater than)2.8 F F1($#)2.56 E F0 2.56(,t) +C(he)-2.56 E .143(positional parameters are not changed.)144 132 R .144 +(The return status is greater than zero if)5.143 F F2(n)3.004 E F0 .144 +(is greater than)2.884 F F1($#)2.644 E F0 +(or less than zero; otherwise 0.)144 144 Q F1(shopt)108 160.8 Q F0([)2.5 +E F1(\255pqsu)A F0 2.5(][)C F1-2.5 E F0 2.5(][)C F2(optname)-2.5 E +F0(...])2.5 E -.8(To)144 172.8 S .222(ggle the v).8 F .222(alues of v) +-.25 F .222(ariables controlling optional shell beha)-.25 F(vior)-.2 E +5.222(.W)-.55 G .222(ith no options, or with the)-5.622 F F12.722 +E F0 .721(option, a list of all settable options is displayed, with an \ +indication of whether or not each is set.)144 184.8 R(The)144 196.8 Q F1 +2.828 E F0 .327(option causes output to be displayed in a form th\ +at may be reused as input.)2.828 F .327(Other options)5.327 F(ha)144 +208.8 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1 +144 220.8 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5 E F0(.)A F1 +144 232.8 Q F0(Disable \(unset\) each)24.74 E F2(optname)2.5 E F0 +(.)A F1144 244.8 Q F0 .003(Suppresses normal output \(quiet mode\ +\); the return status indicates whether the)24.74 F F2(optname)2.504 E +F0(is)2.504 E .256(set or unset.)180 256.8 R .256(If multiple)5.256 F F2 +(optname)2.756 E F0(ar)2.756 E .256(guments are gi)-.18 F -.15(ve)-.25 G +2.756(nw).15 G(ith)-2.756 E F12.756 E F0 2.755(,t)C .255 +(he return status is zero if)-2.755 F(all)180 268.8 Q F2(optnames)2.5 E +F0(are enabled; non-zero otherwise.)2.5 E F1144 280.8 Q F0 +(Restricts the v)25.3 E(alues of)-.25 E F2(optname)2.5 E F0 +(to be those de\214ned for the)2.5 E F12.5 E F0(option to the)2.5 +E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .127(If either)144 297.6 R F1 +2.627 E F0(or)2.627 E F12.627 E F0 .127(is used with no) +2.627 F F2(optname)2.627 E F0(ar)2.627 E .127 +(guments, the display is limited to those options which)-.18 F 1.024 +(are set or unset, respecti)144 309.6 R -.15(ve)-.25 G(ly).15 E 6.024 +(.U)-.65 G 1.024(nless otherwise noted, the)-6.024 F F1(shopt)3.523 E F0 +1.023(options are disabled \(unset\) by)3.523 F(def)144 321.6 Q(ault.) -.1 E 1.544(The return status when listing options is zero if all)144 -189.6 R F2(optnames)4.044 E F0 1.544(are enabled, non-zero otherwise.) -4.044 F .696 +338.4 R F2(optnames)4.044 E F0 1.545(are enabled, non-zero otherwise.) +4.045 F .696 (When setting or unsetting options, the return status is zero unless an) -144 201.6 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .696 -(alid shell)-.25 F(option.)144 213.6 Q(The list of)144 230.4 Q F1(shopt) -2.5 E F0(options is:)2.5 E F1(autocd)144 248.4 Q F0 .2 +144 350.4 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .695 +(alid shell)-.25 F(option.)144 362.4 Q(The list of)144 379.2 Q F1(shopt) +2.5 E F0(options is:)2.5 E F1(autocd)144 397.2 Q F0 .199 (If set, a command name that is the name of a directory is e)11.11 F --.15(xe)-.15 G .199(cuted as if it were the ar).15 F(gu-)-.18 E -(ment to the)184 260.4 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F +-.15(xe)-.15 G .2(cuted as if it were the ar).15 F(gu-)-.18 E +(ment to the)184 409.2 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F (option is only used by interacti)2.5 E .3 -.15(ve s)-.25 H(hells.).15 E -F1(cdable_v)144 272.4 Q(ars)-.1 E F0 .155(If set, an ar)184 284.4 R .155 -(gument to the)-.18 F F1(cd)2.655 E F0 -.2(bu)2.655 G .156 +F1(cdable_v)144 421.2 Q(ars)-.1 E F0 .156(If set, an ar)184 433.2 R .156 +(gument to the)-.18 F F1(cd)2.656 E F0 -.2(bu)2.656 G .155 (iltin command that is not a directory is assumed to be the).2 F -(name of a v)184 296.4 Q(ariable whose v)-.25 E -(alue is the directory to change to.)-.25 E F1(cdspell)144 308.4 Q F0 +(name of a v)184 445.2 Q(ariable whose v)-.25 E +(alue is the directory to change to.)-.25 E F1(cdspell)144 457.2 Q F0 1.055 (If set, minor errors in the spelling of a directory component in a) -10.55 F F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.987 -(corrected. The)184 320.4 R 1.487(errors check)3.987 F 1.487 -(ed for are transposed characters, a missing character)-.1 F 3.988(,a) --.4 G(nd)-3.988 E .552(one character too man)184 332.4 R 4.352 -.65 +10.55 F F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.988 +(corrected. The)184 469.2 R 1.488(errors check)3.988 F 1.487 +(ed for are transposed characters, a missing character)-.1 F 3.987(,a) +-.4 G(nd)-3.987 E .552(one character too man)184 481.2 R 4.352 -.65 (y. I)-.15 H 3.052(fac).65 G .552 (orrection is found, the corrected \214le name is printed, and)-3.052 F -(the command proceeds.)184 344.4 Q +(the command proceeds.)184 493.2 Q (This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.) -.15 E F1(checkhash)144 356.4 Q F0 2.079(If set,)184 368.4 R F1(bash) -4.579 E F0 2.079(checks that a command found in the hash table e)4.579 F -2.08(xists before trying to)-.15 F -.15(exe)184 380.4 S(cute it.).15 E +.15 E F1(checkhash)144 505.2 Q F0 2.08(If set,)184 517.2 R F1(bash)4.58 +E F0 2.079(checks that a command found in the hash table e)4.58 F 2.079 +(xists before trying to)-.15 F -.15(exe)184 529.2 S(cute it.).15 E (If a hashed command no longer e)5 E -(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 392.4 -Q F0 .449(If set,)184 404.4 R F1(bash)2.949 E F0 .449 -(lists the status of an)2.949 F 2.949(ys)-.15 G .448 -(topped and running jobs before e)-2.949 F .448(xiting an interacti)-.15 -F -.15(ve)-.25 G 3.438(shell. If)184 416.4 R(an)3.438 E 3.438(yj)-.15 G -.938(obs are running, this causes the e)-3.438 F .938 -(xit to be deferred until a second e)-.15 F .939(xit is)-.15 F 2.203 -(attempted without an interv)184 428.4 R 2.203(ening command \(see)-.15 +(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 541.2 +Q F0 .448(If set,)184 553.2 R F1(bash)2.948 E F0 .448 +(lists the status of an)2.948 F 2.949(ys)-.15 G .449 +(topped and running jobs before e)-2.949 F .449(xiting an interacti)-.15 +F -.15(ve)-.25 G 3.439(shell. If)184 565.2 R(an)3.439 E 3.439(yj)-.15 G +.938(obs are running, this causes the e)-3.439 F .938 +(xit to be deferred until a second e)-.15 F .938(xit is)-.15 F 2.203 +(attempted without an interv)184 577.2 R 2.203(ening command \(see)-.15 F/F3 9/Times-Bold@0 SF 2.203(JOB CONTR)4.703 F(OL)-.27 E F0(abo)4.453 E --.15(ve)-.15 G 4.703(\). The).15 F(shell)4.703 E(al)184 440.4 Q -.1(wa) +-.15(ve)-.15 G 4.703(\). The).15 F(shell)4.704 E(al)184 589.2 Q -.1(wa) -.1 G(ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G -(obs are stopped.)-2.5 E F1(checkwinsize)144 452.4 Q F0 .796(If set,)184 -464.4 R F1(bash)3.296 E F0 .796(checks the windo)3.296 F 3.296(ws)-.25 G -.797(ize after each command and, if necessary)-3.296 F 3.297(,u)-.65 G -.797(pdates the)-3.297 F -.25(va)184 476.4 S(lues of).25 E F3(LINES)2.5 +(obs are stopped.)-2.5 E F1(checkwinsize)144 601.2 Q F0 .797(If set,)184 +613.2 R F1(bash)3.297 E F0 .797(checks the windo)3.297 F 3.297(ws)-.25 G +.796(ize after each command and, if necessary)-3.297 F 3.296(,u)-.65 G +.796(pdates the)-3.296 F -.25(va)184 625.2 S(lues of).25 E F3(LINES)2.5 E F0(and)2.25 E F3(COLUMNS)2.5 E/F4 9/Times-Roman@0 SF(.)A F1(cmdhist) -144 488.4 Q F0 1.202(If set,)6.11 F F1(bash)3.702 E F0 1.202 +144 637.2 Q F0 1.202(If set,)6.11 F F1(bash)3.702 E F0 1.202 (attempts to sa)3.702 F 1.502 -.15(ve a)-.2 H 1.202 (ll lines of a multiple-line command in the same history).15 F(entry)184 -500.4 Q 5(.T)-.65 G(his allo)-5 E -(ws easy re-editing of multi-line commands.)-.25 E F1(compat31)144 512.4 -Q F0 .419(If set,)184 524.4 R F1(bash)2.919 E F0 .419(changes its beha) -2.919 F .419(vior to that of v)-.2 F .42 +649.2 Q 5(.T)-.65 G(his allo)-5 E +(ws easy re-editing of multi-line commands.)-.25 E F1(compat31)144 661.2 +Q F0 .42(If set,)184 673.2 R F1(bash)2.92 E F0 .42(changes its beha)2.92 +F .419(vior to that of v)-.2 F .419 (ersion 3.1 with respect to quoted ar)-.15 F(guments)-.18 E -(to the conditional command')184 536.4 Q 2.5(s=)-.55 G 2.5(~o)-2.5 G -(perator)-2.5 E(.)-.55 E F1(compat32)144 548.4 Q F0 1.41(If set,)184 -560.4 R F1(bash)3.91 E F0 1.41(changes its beha)3.91 F 1.409 -(vior to that of v)-.2 F 1.409 +(to the conditional command')184 685.2 Q 2.5(s=)-.55 G 2.5(~o)-2.5 G +(perator)-2.5 E(.)-.55 E F1(compat32)144 697.2 Q F0 1.409(If set,)184 +709.2 R F1(bash)3.909 E F0 1.409(changes its beha)3.909 F 1.409 +(vior to that of v)-.2 F 1.41 (ersion 3.2 with respect to locale-speci\214c)-.15 F -(string comparison when using the conditional command')184 572.4 Q 2.5 -(s operators.)-2.5 E F1(compat40)144 584.4 Q F0 1.409 -(If set,)184 596.4 R F1(bash)3.909 E F0 1.409(changes its beha)3.909 F -1.409(vior to that of v)-.2 F 1.41 -(ersion 4.0 with respect to locale-speci\214c)-.15 F 1.693 -(string comparison when using the conditional command')184 608.4 R 4.192 -(s operators and the)-4.192 F(ef)184 620.4 Q -(fect of interrupting a command list.)-.25 E F1(dirspell)144 632.4 Q F0 -.858(If set,)7.77 F F1(bash)3.358 E F0 .858 -(attempts spelling correction on directory names during w)3.358 F .859 -(ord completion if)-.1 F -(the directory name initially supplied does not e)184 644.4 Q(xist.)-.15 -E F1(dotglob)144 656.4 Q F0 .165(If set,)7.77 F F1(bash)2.665 E F0 .165 -(includes \214lenames be)2.665 F .165(ginning with a `.)-.15 F 2.665('i) --.7 G 2.665(nt)-2.665 G .165(he results of pathname e)-2.665 F -(xpansion.)-.15 E F1(execfail)144 668.4 Q F0 1.386 -(If set, a non-interacti)7.79 F 1.686 -.15(ve s)-.25 H 1.386 -(hell will not e).15 F 1.386(xit if it cannot e)-.15 F -.15(xe)-.15 G -1.387(cute the \214le speci\214ed as an).15 F(ar)184 680.4 Q -(gument to the)-.18 E F1(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E -(An interacti)5 E .3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15 -E F1(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 692.4 Q -F0 .717(If set, aliases are e)184 704.4 R .717(xpanded as described abo) --.15 F 1.017 -.15(ve u)-.15 H(nder).15 E F3(ALIASES)3.217 E F4(.)A F0 -.716(This option is enabled)5.217 F(by def)184 716.4 Q -(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E(GNU Bash-4.0) -72 768 Q(2004 Apr 20)148.735 E(16)198.725 E 0 Cg EP +(string comparison when using the conditional command')184 721.2 Q 2.5 +(s operators.)-2.5 E(GNU Bash-4.0)72 768 Q(2004 Apr 20) +148.735 E(16)198.725 E 0 Cg EP %%Page: 17 17 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10 -/Times-Bold@0 SF(extdeb)144 84 Q(ug)-.2 E F0(If set, beha)184 96 Q +/Times-Bold@0 SF(compat40)144 84 Q F0 1.41(If set,)184 96 R F1(bash)3.91 +E F0 1.41(changes its beha)3.91 F 1.409(vior to that of v)-.2 F 1.409 +(ersion 4.0 with respect to locale-speci\214c)-.15 F 1.692 +(string comparison when using the conditional command')184 108 R 4.193 +(s operators and the)-4.193 F(ef)184 120 Q +(fect of interrupting a command list.)-.25 E F1(dirspell)144 132 Q F0 +.859(If set,)7.77 F F1(bash)3.359 E F0 .858 +(attempts spelling correction on directory names during w)3.359 F .858 +(ord completion if)-.1 F +(the directory name initially supplied does not e)184 144 Q(xist.)-.15 E +F1(dotglob)144 156 Q F0 .165(If set,)7.77 F F1(bash)2.665 E F0 .165 +(includes \214lenames be)2.665 F .165(ginning with a `.)-.15 F 2.665('i) +-.7 G 2.665(nt)-2.665 G .165(he results of pathname e)-2.665 F +(xpansion.)-.15 E F1(execfail)144 168 Q F0 1.387 +(If set, a non-interacti)7.79 F 1.687 -.15(ve s)-.25 H 1.386 +(hell will not e).15 F 1.386(xit if it cannot e)-.15 F -.15(xe)-.15 G +1.386(cute the \214le speci\214ed as an).15 F(ar)184 180 Q +(gument to the)-.18 E F1(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E +(An interacti)5 E .3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15 +E F1(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 192 Q F0 +.716(If set, aliases are e)184 204 R .717(xpanded as described abo)-.15 +F 1.017 -.15(ve u)-.15 H(nder).15 E/F2 9/Times-Bold@0 SF(ALIASES)3.217 E +/F3 9/Times-Roman@0 SF(.)A F0 .717(This option is enabled)5.217 F +(by def)184 216 Q(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.) +.15 E F1(extdeb)144 228 Q(ug)-.2 E F0(If set, beha)184 240 Q (vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F1(1.)184 -108 Q F0(The)28.5 E F14.25 E F0 1.75(option to the)4.25 F F1 +252 Q F0(The)28.5 E F14.251 E F0 1.751(option to the)4.251 F F1 (declar)4.251 E(e)-.18 E F0 -.2(bu)4.251 G 1.751 (iltin displays the source \214le name and line).2 F -(number corresponding to each function name supplied as an ar)220 120 Q -(gument.)-.18 E F1(2.)184 132 Q F0 1.667(If the command run by the)28.5 +(number corresponding to each function name supplied as an ar)220 264 Q +(gument.)-.18 E F1(2.)184 276 Q F0 1.667(If the command run by the)28.5 F F1(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167 F -1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 144 -Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 156 Q F0 .84 -(If the command run by the)28.5 F F1(DEB)3.34 E(UG)-.1 E F0 .841 -(trap returns a v)3.341 F .841(alue of 2, and the shell is)-.25 F -.15 -(exe)220 168 S .488 +1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 288 +Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 300 Q F0 .841 +(If the command run by the)28.5 F F1(DEB)3.341 E(UG)-.1 E F0 .841 +(trap returns a v)3.341 F .84(alue of 2, and the shell is)-.25 F -.15 +(exe)220 312 S .488 (cuting in a subroutine \(a shell function or a shell script e).15 F -.15(xe)-.15 G .488(cuted by the).15 F F1(.)2.988 E F0(or)2.988 E F1 -(sour)220 180 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F1 --.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E F1(4.)184 192 Q -/F2 9/Times-Bold@0 SF -.27(BA)28.5 G(SH_ARGC).27 E F0(and)3.153 E F2 --.27(BA)3.403 G(SH_ARGV).27 E F0 .904 -(are updated as described in their descriptions)3.154 F(abo)220 204 Q --.15(ve)-.15 G(.).15 E F1(5.)184 216 Q F0 1.359 +(sour)220 324 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F1 +-.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E F1(4.)184 336 Q +F2 -.27(BA)28.5 G(SH_ARGC).27 E F0(and)3.154 E F2 -.27(BA)3.404 G +(SH_ARGV).27 E F0 .904(are updated as described in their descriptions) +3.154 F(abo)220 348 Q -.15(ve)-.15 G(.).15 E F1(5.)184 360 Q F0 1.359 (Function tracing is enabled:)28.5 F 1.359 (command substitution, shell functions, and sub-)6.359 F(shells in)220 -228 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F3 10 +372 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F4 10 /Times-Italic@0 SF(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1 (DEB)2.5 E(UG)-.1 E F0(and)2.5 E F1(RETURN)2.5 E F0(traps.)2.5 E F1(6.) -184 240 Q F0 .804(Error tracing is enabled:)28.5 F .805 -(command substitution, shell functions, and subshells)5.804 F(in)220 252 -Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F3 +184 384 Q F0 .805(Error tracing is enabled:)28.5 F .804 +(command substitution, shell functions, and subshells)5.805 F(in)220 396 +Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F4 (command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E F0(trap.) -2.5 E F1(extglob)144 264 Q F0 .4(If set, the e)8.89 F .4 +2.5 E F1(extglob)144 408 Q F0 .4(If set, the e)8.89 F .4 (xtended pattern matching features described abo)-.15 F .7 -.15(ve u) --.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 276 Q -F0(are enabled.)2.5 E F1(extquote)144 288 Q F0 2.473(If set,)184 300 R -F1($)4.973 E F0<08>A F3(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973 -E F0(")A F3(string)A F0 4.973("q)C 2.473(uoting is performed within) --4.973 F F1(${)4.973 E F3(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G -(pansions).15 E(enclosed in double quotes.)184 312 Q -(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 324 Q F0 -1.425(If set, patterns which f)7.77 F 1.425 -(ail to match \214lenames during pathname e)-.1 F 1.424 -(xpansion result in an)-.15 F -.15(ex)184 336 S(pansion error).15 E(.) --.55 E F1 -.25(fo)144 348 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0 -.936(If set, the suf)184 360 R<8c78>-.25 E .936(es speci\214ed by the) +-.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 420 Q +F0(are enabled.)2.5 E F1(extquote)144 432 Q F0 2.473(If set,)184 444 R +F1($)4.973 E F0<08>A F4(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973 +E F0(")A F4(string)A F0 4.973("q)C 2.473(uoting is performed within) +-4.973 F F1(${)4.973 E F4(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G +(pansions).15 E(enclosed in double quotes.)184 456 Q +(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 468 Q F0 +1.424(If set, patterns which f)7.77 F 1.425 +(ail to match \214lenames during pathname e)-.1 F 1.425 +(xpansion result in an)-.15 F -.15(ex)184 480 S(pansion error).15 E(.) +-.55 E F1 -.25(fo)144 492 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0 +.937(If set, the suf)184 504 R<8c78>-.25 E .936(es speci\214ed by the) -.15 F F2(FIGNORE)3.436 E F0 .936(shell v)3.186 F .936(ariable cause w) --.25 F .937(ords to be ignored)-.1 F .32(when performing w)184 372 R .32 +-.25 F .936(ords to be ignored)-.1 F .32(when performing w)184 516 R .32 (ord completion e)-.1 F -.15(ve)-.25 G 2.82(ni).15 G 2.82(ft)-2.82 G .32 -(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 2.947 -(pletions. See)184 384 R F2 .447(SHELL V)2.947 F(ARIABLES)-1.215 E F0 -(abo)2.697 E .747 -.15(ve f)-.15 H .448(or a description of).15 F F2 -(FIGNORE)2.948 E/F4 9/Times-Roman@0 SF(.)A F0 .448(This option is)4.948 -F(enabled by def)184 396 Q(ault.)-.1 E F1(globstar)144 408 Q F0 .179 -(If set, the pattern)5 F F1(**)2.679 E F0 .178(used in a pathname e) -2.678 F .178(xpansion conte)-.15 F .178 -(xt will match a \214les and zero or)-.15 F 1.297 -(more directories and subdirectories.)184 420 R 1.298 -(If the pattern is follo)6.297 F 1.298(wed by a)-.25 F F1(/)3.798 E F0 -3.798(,o)C 1.298(nly directories)-3.798 F(and subdirectories match.)184 -432 Q F1(gnu_errfmt)144 444 Q F0(If set, shell error messages are writt\ -en in the standard GNU error message format.)184 456 Q F1(histappend)144 -468 Q F0 .676 +(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 2.948 +(pletions. See)184 528 R F2 .448(SHELL V)2.948 F(ARIABLES)-1.215 E F0 +(abo)2.698 E .748 -.15(ve f)-.15 H .448(or a description of).15 F F2 +(FIGNORE)2.947 E F3(.)A F0 .447(This option is)4.947 F(enabled by def) +184 540 Q(ault.)-.1 E F1(globstar)144 552 Q F0 .178(If set, the pattern) +5 F F1(**)2.678 E F0 .178(used in a pathname e)2.678 F .178 +(xpansion conte)-.15 F .179(xt will match a \214les and zero or)-.15 F +1.298(more directories and subdirectories.)184 564 R 1.298 +(If the pattern is follo)6.298 F 1.298(wed by a)-.25 F F1(/)3.797 E F0 +3.797(,o)C 1.297(nly directories)-3.797 F(and subdirectories match.)184 +576 Q F1(gnu_errfmt)144 588 Q F0(If set, shell error messages are writt\ +en in the standard GNU error message format.)184 600 Q F1(histappend)144 +612 Q F0 .676 (If set, the history list is appended to the \214le named by the v)184 -480 R .676(alue of the)-.25 F F2(HISTFILE)3.176 E F0 -.25(va)2.926 G -(ri-).25 E(able when the shell e)184 492 Q(xits, rather than o)-.15 E --.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 504 Q(eedit)-.18 -E F0 .575(If set, and)184 516 R F1 -.18(re)3.075 G(adline).18 E F0 .575 -(is being used, a user is gi)3.075 F -.15(ve)-.25 G 3.075(nt).15 G .576 -(he opportunity to re-edit a f)-3.075 F .576(ailed his-)-.1 F -(tory substitution.)184 528 Q F1(histv)144 540 Q(erify)-.1 E F0 .403 -(If set, and)184 552 R F1 -.18(re)2.903 G(adline).18 E F0 .403 +624 R .676(alue of the)-.25 F F2(HISTFILE)3.177 E F0 -.25(va)2.927 G +(ri-).25 E(able when the shell e)184 636 Q(xits, rather than o)-.15 E +-.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 648 Q(eedit)-.18 +E F0 .576(If set, and)184 660 R F1 -.18(re)3.076 G(adline).18 E F0 .575 +(is being used, a user is gi)3.076 F -.15(ve)-.25 G 3.075(nt).15 G .575 +(he opportunity to re-edit a f)-3.075 F .575(ailed his-)-.1 F +(tory substitution.)184 672 Q F1(histv)144 684 Q(erify)-.1 E F0 .402 +(If set, and)184 696 R F1 -.18(re)2.903 G(adline).18 E F0 .403 (is being used, the results of history substitution are not immediately) -2.903 F .661(passed to the shell parser)184 564 R 5.661(.I)-.55 G .662 -(nstead, the resulting line is loaded into the)-5.661 F F1 -.18(re)3.162 -G(adline).18 E F0(editing)3.162 E -.2(bu)184 576 S -.25(ff).2 G(er).25 E -2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E F1 -(hostcomplete)144 588 Q F0 1.182(If set, and)184 600 R F1 -.18(re)3.682 -G(adline).18 E F0 1.182(is being used,)3.682 F F1(bash)3.682 E F0 1.181 -(will attempt to perform hostname completion)3.681 F 1.38(when a w)184 -612 R 1.38(ord containing a)-.1 F F1(@)3.881 E F0 1.381 -(is being completed \(see)3.881 F F1(Completing)3.881 E F0(under)3.881 E -F2(READLINE)3.881 E F0(abo)184 624 Q -.15(ve)-.15 G 2.5(\). This).15 F -(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 636 Q F0(If set,) -184 648 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)2.5 E F0 -(to all jobs when an interacti)2.25 E .3 -.15(ve l)-.25 H(ogin shell e) -.15 E(xits.)-.15 E F1(interacti)144 660 Q -.1(ve)-.1 G(_comments).1 E F0 -.33(If set, allo)184 672 R 2.83(waw)-.25 G .33(ord be)-2.93 F .33 -(ginning with)-.15 F F1(#)2.83 E F0 .33(to cause that w)2.83 F .33 -(ord and all remaining characters on)-.1 F .967 -(that line to be ignored in an interacti)184 684 R 1.267 -.15(ve s)-.25 -H .967(hell \(see).15 F F2(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve)-.15 -G 3.467(\). This).15 F .968(option is)3.468 F(enabled by def)184 696 Q -(ault.)-.1 E F1(lithist)144 708 Q F0 .655(If set, and the)15.55 F F1 -(cmdhist)3.155 E F0 .654(option is enabled, multi-line commands are sa) -3.154 F -.15(ve)-.2 G 3.154(dt).15 G 3.154(ot)-3.154 G .654(he history) --3.154 F(with embedded ne)184 720 Q -(wlines rather than using semicolon separators where possible.)-.25 E +2.903 F .662(passed to the shell parser)184 708 R 5.662(.I)-.55 G .661 +(nstead, the resulting line is loaded into the)-5.662 F F1 -.18(re)3.161 +G(adline).18 E F0(editing)3.161 E -.2(bu)184 720 S -.25(ff).2 G(er).25 E +2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E (GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(17)198.725 E 0 Cg EP %%Page: 18 18 %%BeginPageSetup @@ -2241,423 +2241,446 @@ BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10 -/Times-Bold@0 SF(login_shell)144 84 Q F0 .486 +/Times-Bold@0 SF(hostcomplete)144 84 Q F0 1.181(If set, and)184 96 R F1 +-.18(re)3.681 G(adline).18 E F0 1.181(is being used,)3.681 F F1(bash) +3.682 E F0 1.182(will attempt to perform hostname completion)3.682 F +1.381(when a w)184 108 R 1.381(ord containing a)-.1 F F1(@)3.881 E F0 +1.381(is being completed \(see)3.881 F F1(Completing)3.88 E F0(under) +3.88 E/F2 9/Times-Bold@0 SF(READLINE)3.88 E F0(abo)184 120 Q -.15(ve) +-.15 G 2.5(\). This).15 F(is enabled by def)2.5 E(ault.)-.1 E F1 +(huponexit)144 132 Q F0(If set,)184 144 Q F1(bash)2.5 E F0(will send)2.5 +E F2(SIGHUP)2.5 E F0(to all jobs when an interacti)2.25 E .3 -.15(ve l) +-.25 H(ogin shell e).15 E(xits.)-.15 E F1(interacti)144 156 Q -.1(ve)-.1 +G(_comments).1 E F0 .33(If set, allo)184 168 R 2.83(waw)-.25 G .33 +(ord be)-2.93 F .33(ginning with)-.15 F F1(#)2.83 E F0 .33 +(to cause that w)2.83 F .33(ord and all remaining characters on)-.1 F +.967(that line to be ignored in an interacti)184 180 R 1.267 -.15(ve s) +-.25 H .967(hell \(see).15 F F2(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve) +-.15 G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184 +192 Q(ault.)-.1 E F1(lithist)144 204 Q F0 .654(If set, and the)15.55 F +F1(cmdhist)3.154 E F0 .654 +(option is enabled, multi-line commands are sa)3.154 F -.15(ve)-.2 G +3.155(dt).15 G 3.155(ot)-3.155 G .655(he history)-3.155 F +(with embedded ne)184 216 Q +(wlines rather than using semicolon separators where possible.)-.25 E F1 +(login_shell)144 228 Q F0 .486 (The shell sets this option if it is started as a login shell \(see)184 -96 R/F2 9/Times-Bold@0 SF(INV)2.987 E(OCA)-.405 E(TION)-.855 E F0(abo) -2.737 E -.15(ve)-.15 G 2.987(\). The).15 F -.25(va)184 108 S -(lue may not be changed.).25 E F1(mailwar)144 120 Q(n)-.15 E F0 .815 -(If set, and a \214le that)184 132 R F1(bash)3.315 E F0 .814 -(is checking for mail has been accessed since the last time it)3.315 F --.1(wa)184 144 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E +240 R F2(INV)2.986 E(OCA)-.405 E(TION)-.855 E F0(abo)2.736 E -.15(ve) +-.15 G 2.986(\). The).15 F -.25(va)184 252 S(lue may not be changed.).25 +E F1(mailwar)144 264 Q(n)-.15 E F0 .814(If set, and a \214le that)184 +276 R F1(bash)3.314 E F0 .815 +(is checking for mail has been accessed since the last time it)3.314 F +-.1(wa)184 288 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E (`The mail in)-.74 E/F3 10/Times-Italic@0 SF(mail\214le)2.5 E F0 (has been read')2.5 E 2.5('i)-.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1 -(no_empty_cmd_completion)144 156 Q F0 .324(If set, and)184 168 R F1 -.18 -(re)2.824 G(adline).18 E F0 .324(is being used,)2.824 F F1(bash)2.824 E -F0 .324(will not attempt to search the)2.824 F F2 -.666(PA)2.825 G(TH) --.189 E F0 .325(for possible)2.575 F -(completions when completion is attempted on an empty line.)184 180 Q F1 -(nocaseglob)144 192 Q F0 .437(If set,)184 204 R F1(bash)2.937 E F0 .436 -(matches \214lenames in a case\255insensiti)2.937 F .736 -.15(ve f)-.25 -H .436(ashion when performing pathname).05 F -.15(ex)184 216 S +(no_empty_cmd_completion)144 300 Q F0 .325(If set, and)184 312 R F1 -.18 +(re)2.825 G(adline).18 E F0 .325(is being used,)2.825 F F1(bash)2.824 E +F0 .324(will not attempt to search the)2.824 F F2 -.666(PA)2.824 G(TH) +-.189 E F0 .324(for possible)2.574 F +(completions when completion is attempted on an empty line.)184 324 Q F1 +(nocaseglob)144 336 Q F0 .436(If set,)184 348 R F1(bash)2.936 E F0 .436 +(matches \214lenames in a case\255insensiti)2.936 F .737 -.15(ve f)-.25 +H .437(ashion when performing pathname).05 F -.15(ex)184 360 S (pansion \(see).15 E F1 -.1(Pa)2.5 G(thname Expansion).1 E F0(abo)2.5 E --.15(ve)-.15 G(\).).15 E F1(nocasematch)144 228 Q F0 1.193(If set,)184 -240 R F1(bash)3.693 E F0 1.194(matches patterns in a case\255insensiti) -3.693 F 1.494 -.15(ve f)-.25 H 1.194(ashion when performing matching).05 -F(while e)184 252 Q -.15(xe)-.15 G(cuting).15 E F1(case)2.5 E F0(or)2.5 -E F1([[)2.5 E F0(conditional commands.)2.5 E F1(nullglob)144 264 Q F0 -.855(If set,)184 276 R F1(bash)3.355 E F0(allo)3.355 E .855 -(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa)3.354 G .854 -(thname Expansion).1 F F0(abo)3.354 E -.15(ve)-.15 G 3.354(\)t).15 G(o) --3.354 E -.15(ex)184 288 S(pand to a null string, rather than themselv) -.15 E(es.)-.15 E F1(pr)144 300 Q(ogcomp)-.18 E F0 .676 -(If set, the programmable completion f)184 312 R .677(acilities \(see) --.1 F F1(Pr)3.177 E .677(ogrammable Completion)-.18 F F0(abo)3.177 E --.15(ve)-.15 G(\)).15 E(are enabled.)184 324 Q -(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 336 Q(omptv) --.18 E(ars)-.1 E F0 1.448(If set, prompt strings under)184 348 R 1.448 -(go parameter e)-.18 F 1.447(xpansion, command substitution, arithmetic) --.15 F -.15(ex)184 360 S .17(pansion, and quote remo).15 F -.25(va)-.15 +-.15(ve)-.15 G(\).).15 E F1(nocasematch)144 372 Q F0 1.194(If set,)184 +384 R F1(bash)3.694 E F0 1.194(matches patterns in a case\255insensiti) +3.694 F 1.493 -.15(ve f)-.25 H 1.193(ashion when performing matching).05 +F(while e)184 396 Q -.15(xe)-.15 G(cuting).15 E F1(case)2.5 E F0(or)2.5 +E F1([[)2.5 E F0(conditional commands.)2.5 E F1(nullglob)144 408 Q F0 +.854(If set,)184 420 R F1(bash)3.354 E F0(allo)3.354 E .855 +(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa)3.355 G .855 +(thname Expansion).1 F F0(abo)3.355 E -.15(ve)-.15 G 3.355(\)t).15 G(o) +-3.355 E -.15(ex)184 432 S(pand to a null string, rather than themselv) +.15 E(es.)-.15 E F1(pr)144 444 Q(ogcomp)-.18 E F0 .677 +(If set, the programmable completion f)184 456 R .677(acilities \(see) +-.1 F F1(Pr)3.176 E .676(ogrammable Completion)-.18 F F0(abo)3.176 E +-.15(ve)-.15 G(\)).15 E(are enabled.)184 468 Q +(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 480 Q(omptv) +-.18 E(ars)-.1 E F0 1.447(If set, prompt strings under)184 492 R 1.448 +(go parameter e)-.18 F 1.448(xpansion, command substitution, arithmetic) +-.15 F -.15(ex)184 504 S .171(pansion, and quote remo).15 F -.25(va)-.15 G 2.67(la).25 G .17(fter being e)-2.67 F .17(xpanded as described in) --.15 F F2(PR)2.671 E(OMPTING)-.27 E F0(abo)2.421 E -.15(ve)-.15 G(.).15 -E(This option is enabled by def)184 372 Q(ault.)-.1 E F1 -.18(re)144 384 +-.15 F F2(PR)2.67 E(OMPTING)-.27 E F0(abo)2.42 E -.15(ve)-.15 G(.).15 E +(This option is enabled by def)184 516 Q(ault.)-.1 E F1 -.18(re)144 528 S(stricted_shell).18 E F0 1.069 (The shell sets this option if it is started in restricted mode \(see) -184 396 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 408 Q 4.178 +184 540 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 552 Q 4.178 (w\). The)-.25 F -.25(va)4.178 G 1.678(lue may not be changed.).25 F 1.678(This is not reset when the startup \214les are)6.678 F -.15(exe) -184 420 S(cuted, allo).15 E(wing the startup \214les to disco)-.25 E +184 564 S(cuted, allo).15 E(wing the startup \214les to disco)-.25 E -.15(ve)-.15 G 2.5(rw).15 G(hether or not a shell is restricted.)-2.5 E -F1(shift_v)144 432 Q(erbose)-.1 E F0 .502(If set, the)184 444 R F1 -(shift)3.002 E F0 -.2(bu)3.002 G .501 -(iltin prints an error message when the shift count e).2 F .501 -(xceeds the number)-.15 F(of positional parameters.)184 456 Q F1(sour) -144 468 Q(cepath)-.18 E F0 .77(If set, the)184 480 R F1(sour)3.27 E(ce) --.18 E F0(\()3.27 E F1(.)A F0 3.27(\)b)C .77(uiltin uses the v)-3.47 F -.771(alue of)-.25 F F2 -.666(PA)3.271 G(TH)-.189 E F0 .771 -(to \214nd the directory containing the)3.021 F -(\214le supplied as an ar)184 492 Q 2.5(gument. This)-.18 F -(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 504 Q F0 -(If set, the)184 516 Q F1(echo)2.5 E F0 -.2(bu)2.5 G(iltin e).2 E -(xpands backslash-escape sequences by def)-.15 E(ault.)-.1 E F1(suspend) -108 528 Q F0([)2.5 E F1A F0(])A 1.002(Suspend the e)144 540 R -.15 -(xe)-.15 G 1.002(cution of this shell until it recei).15 F -.15(ve)-.25 -G 3.501(sa).15 G F2(SIGCONT)A F0 3.501(signal. A)3.251 F 1.001 -(login shell cannot be)3.501 F .022(suspended; the)144 552 R F1 -2.522 E F0 .022(option can be used to o)2.522 F -.15(ve)-.15 G .022 -(rride this and force the suspension.).15 F .023(The return status is) -5.023 F 2.5(0u)144 564 S(nless the shell is a login shell and)-2.5 E F1 +F1(shift_v)144 576 Q(erbose)-.1 E F0 .501(If set, the)184 588 R F1 +(shift)3.001 E F0 -.2(bu)3.001 G .501 +(iltin prints an error message when the shift count e).2 F .502 +(xceeds the number)-.15 F(of positional parameters.)184 600 Q F1(sour) +144 612 Q(cepath)-.18 E F0 .771(If set, the)184 624 R F1(sour)3.271 E +(ce)-.18 E F0(\()3.271 E F1(.)A F0 3.271(\)b)C .771(uiltin uses the v) +-3.471 F .771(alue of)-.25 F F2 -.666(PA)3.27 G(TH)-.189 E F0 .77 +(to \214nd the directory containing the)3.02 F(\214le supplied as an ar) +184 636 Q 2.5(gument. This)-.18 F(option is enabled by def)2.5 E(ault.) +-.1 E F1(xpg_echo)144 648 Q F0(If set, the)184 660 Q F1(echo)2.5 E F0 +-.2(bu)2.5 G(iltin e).2 E(xpands backslash-escape sequences by def)-.15 +E(ault.)-.1 E F1(suspend)108 672 Q F0([)2.5 E F1A F0(])A 1.001 +(Suspend the e)144 684 R -.15(xe)-.15 G 1.001 +(cution of this shell until it recei).15 F -.15(ve)-.25 G 3.501(sa).15 G +F2(SIGCONT)A F0 3.502(signal. A)3.252 F 1.002(login shell cannot be) +3.502 F .023(suspended; the)144 696 R F12.523 E F0 .023 +(option can be used to o)2.523 F -.15(ve)-.15 G .022 +(rride this and force the suspension.).15 F .022(The return status is) +5.022 F 2.5(0u)144 708 S(nless the shell is a login shell and)-2.5 E F1 2.5 E F0(is not supplied, or if job control is not enabled.)2.5 E -F1(test)108 576 Q F3 -.2(ex)2.5 G(pr).2 E F1([)108 588 Q F3 -.2(ex)2.5 G -(pr).2 E F1(])2.5 E F0 1.15 -(Return a status of 0 or 1 depending on the e)6.77 F -.25(va)-.25 G 1.15 -(luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)3.65 G -(pr).2 E F0 6.15(.E).73 G(ach)-6.15 E 1.187 -(operator and operand must be a separate ar)144 600 R 3.688 -(gument. Expressions)-.18 F 1.188(are composed of the primaries)3.688 F -1.89(described abo)144 612 R 2.19 -.15(ve u)-.15 H(nder).15 E F2 -(CONDITION)4.39 E 1.89(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A -F1(test)6.39 E F0 1.889(does not accept an)4.389 F 4.389(yo)-.15 G 1.889 -(ptions, nor)-4.389 F(does it accept and ignore an ar)144 624 Q -(gument of)-.18 E F12.5 E F0(as signifying the end of options.)2.5 -E .785(Expressions may be combined using the follo)144 642 R .786 -(wing operators, listed in decreasing order of prece-)-.25 F 2.5 -(dence. The)144 654 R -.25(eva)2.5 G -(luation depends on the number of ar).25 E(guments; see belo)-.18 E -.65 -(w.)-.25 G F1(!)144 666 Q F3 -.2(ex)2.5 G(pr).2 E F0 -.35(Tr)12.6 G -(ue if).35 E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 E(alse.)-.1 E F1(\() -144 678 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26(Returns the v)6.77 -F .26(alue of)-.25 F F3 -.2(ex)2.76 G(pr).2 E F0 5.26(.T)C .26 -(his may be used to o)-5.26 F -.15(ve)-.15 G .26 -(rride the normal precedence of opera-).15 F(tors.)180 690 Q F3 -.2(ex) -144 702 S(pr1).2 E F02.5 E F1(a)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35 -(Tr)180 714 S(ue if both).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(and)2.5 E F3 --.2(ex)2.5 G(pr2).2 E F0(are true.)2.52 E(GNU Bash-4.0)72 768 Q -(2004 Apr 20)148.735 E(18)198.725 E 0 Cg EP +(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(18)198.725 E 0 Cg EP %%Page: 19 19 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10 -/Times-Italic@0 SF -.2(ex)144 84 S(pr1).2 E F02.5 E/F2 10 -/Times-Bold@0 SF(o)A F1 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180 96 S -(ue if either).35 E F1 -.2(ex)2.5 G(pr1).2 E F0(or)2.5 E F1 -.2(ex)2.5 G -(pr2).2 E F0(is true.)2.52 E F2(test)144 112.8 Q F0(and)2.5 E F2([)2.5 E +/Times-Bold@0 SF(test)108 84 Q/F2 10/Times-Italic@0 SF -.2(ex)2.5 G(pr) +.2 E F1([)108 96 Q F2 -.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 1.15 +(Return a status of 0 or 1 depending on the e)6.77 F -.25(va)-.25 G 1.15 +(luation of the conditional e).25 F(xpression)-.15 E F2 -.2(ex)3.65 G +(pr).2 E F0 6.15(.E).73 G(ach)-6.15 E 1.188 +(operator and operand must be a separate ar)144 108 R 3.688 +(gument. Expressions)-.18 F 1.187(are composed of the primaries)3.688 F +1.889(described abo)144 120 R 2.189 -.15(ve u)-.15 H(nder).15 E/F3 9 +/Times-Bold@0 SF(CONDITION)4.389 E 1.889(AL EXPRESSIONS)-.18 F/F4 9 +/Times-Roman@0 SF(.)A F1(test)6.389 E F0 1.89(does not accept an)4.389 F +4.39(yo)-.15 G 1.89(ptions, nor)-4.39 F(does it accept and ignore an ar) +144 132 Q(gument of)-.18 E F12.5 E F0 +(as signifying the end of options.)2.5 E .786 +(Expressions may be combined using the follo)144 150 R .785 +(wing operators, listed in decreasing order of prece-)-.25 F 2.5 +(dence. The)144 162 R -.25(eva)2.5 G +(luation depends on the number of ar).25 E(guments; see belo)-.18 E -.65 +(w.)-.25 G F1(!)144 174 Q F2 -.2(ex)2.5 G(pr).2 E F0 -.35(Tr)12.6 G +(ue if).35 E F2 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 E(alse.)-.1 E F1(\() +144 186 Q F2 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26(Returns the v)6.77 +F .26(alue of)-.25 F F2 -.2(ex)2.76 G(pr).2 E F0 5.26(.T)C .26 +(his may be used to o)-5.26 F -.15(ve)-.15 G .26 +(rride the normal precedence of opera-).15 F(tors.)180 198 Q F2 -.2(ex) +144 210 S(pr1).2 E F02.5 E F1(a)A F2 -.2(ex)2.5 G(pr2).2 E F0 -.35 +(Tr)180 222 S(ue if both).35 E F2 -.2(ex)2.5 G(pr1).2 E F0(and)2.5 E F2 +-.2(ex)2.5 G(pr2).2 E F0(are true.)2.52 E F2 -.2(ex)144 234 S(pr1).2 E +F02.5 E F1(o)A F2 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180 246 S +(ue if either).35 E F2 -.2(ex)2.5 G(pr1).2 E F0(or)2.5 E F2 -.2(ex)2.5 G +(pr2).2 E F0(is true.)2.52 E F1(test)144 262.8 Q F0(and)2.5 E F1([)2.5 E F0 -.25(eva)2.5 G(luate conditional e).25 E (xpressions using a set of rules based on the number of ar)-.15 E -(guments.)-.18 E 2.5(0a)144 130.8 S -.18(rg)-2.5 G(uments).18 E(The e) -180 142.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 154.8 S -.18 -(rg)-2.5 G(ument).18 E(The e)180 166.8 Q +(guments.)-.18 E 2.5(0a)144 280.8 S -.18(rg)-2.5 G(uments).18 E(The e) +180 292.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 304.8 S -.18 +(rg)-2.5 G(ument).18 E(The e)180 316.8 Q (xpression is true if and only if the ar)-.15 E(gument is not null.)-.18 -E 2.5(2a)144 178.8 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar) -180 190.8 R .37(gument is)-.18 F F2(!)2.87 E F0 2.87(,t)C .37(he e)-2.87 +E 2.5(2a)144 328.8 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar) +180 340.8 R .37(gument is)-.18 F F1(!)2.87 E F0 2.87(,t)C .37(he e)-2.87 F .37(xpression is true if and only if the second ar)-.15 F .37 -(gument is null.)-.18 F .38(If the \214rst ar)180 202.8 R .38 -(gument is one of the unary conditional operators listed abo)-.18 F .679 --.15(ve u)-.15 H(nder).15 E/F3 9/Times-Bold@0 SF(CONDI-)2.879 E(TION)180 -214.8 Q .552(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(,)A F0 .552 -(the e)2.802 F .552(xpression is true if the unary test is true.)-.15 F -.552(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 226.8 Q +(gument is null.)-.18 F .379(If the \214rst ar)180 352.8 R .38 +(gument is one of the unary conditional operators listed abo)-.18 F .68 +-.15(ve u)-.15 H(nder).15 E F3(CONDI-)2.88 E(TION)180 364.8 Q .553 +(AL EXPRESSIONS)-.18 F F4(,)A F0 .552(the e)2.802 F .552 +(xpression is true if the unary test is true.)-.15 F .552 +(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 376.8 Q (alid unary conditional operator)-.25 E 2.5(,t)-.4 G(he e)-2.5 E -(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 238.8 S -.18(rg)-2.5 G -(uments).18 E .024(If the second ar)180 250.8 R .023 +(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 388.8 S -.18(rg)-2.5 G +(uments).18 E .023(If the second ar)180 400.8 R .023 (gument is one of the binary conditional operators listed abo)-.18 F -.323 -.15(ve u)-.15 H(nder).15 E F3(CON-)2.523 E(DITION)180 262.8 Q -1.477(AL EXPRESSIONS)-.18 F F4(,)A F0 1.477(the result of the e)3.727 F +.324 -.15(ve u)-.15 H(nder).15 E F3(CON-)2.524 E(DITION)180 412.8 Q +1.478(AL EXPRESSIONS)-.18 F F4(,)A F0 1.477(the result of the e)3.727 F 1.477(xpression is the result of the binary test)-.15 F .513 -(using the \214rst and third ar)180 274.8 R .513(guments as operands.) --.18 F(The)5.513 E F23.013 E F0(and)3.013 E F23.013 E F0 -.512(operators are considered)3.013 F .972 -(binary operators when there are three ar)180 286.8 R 3.472(guments. If) --.18 F .972(the \214rst ar)3.472 F .972(gument is)-.18 F F2(!)3.472 E F0 -3.472(,t)C .972(he v)-3.472 F .972(alue is)-.25 F .884(the ne)180 298.8 -R -.05(ga)-.15 G .884(tion of the tw).05 F(o-ar)-.1 E .884 -(gument test using the second and third ar)-.18 F 3.383(guments. If)-.18 -F .883(the \214rst)3.383 F(ar)180 310.8 Q .874(gument is e)-.18 F -(xactly)-.15 E F2(\()3.374 E F0 .875(and the third ar)3.374 F .875 -(gument is e)-.18 F(xactly)-.15 E F2(\))3.375 E F0 3.375(,t)C .875 -(he result is the one-ar)-3.375 F(gument)-.18 E(test of the second ar) -180 322.8 Q 2.5(gument. Otherwise,)-.18 F(the e)2.5 E(xpression is f) --.15 E(alse.)-.1 E 2.5(4a)144 334.8 S -.18(rg)-2.5 G(uments).18 E .385 -(If the \214rst ar)180 346.8 R .385(gument is)-.18 F F2(!)2.885 E F0 -2.885(,t)C .385(he result is the ne)-2.885 F -.05(ga)-.15 G .384 -(tion of the three-ar).05 F .384(gument e)-.18 F .384(xpression com-) --.15 F 1.647(posed of the remaining ar)180 358.8 R 4.147 -(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.648 +(using the \214rst and third ar)180 424.8 R .513(guments as operands.) +-.18 F(The)5.513 E F13.013 E F0(and)3.013 E F13.013 E F0 +.513(operators are considered)3.013 F .972 +(binary operators when there are three ar)180 436.8 R 3.472(guments. If) +-.18 F .972(the \214rst ar)3.472 F .972(gument is)-.18 F F1(!)3.472 E F0 +3.472(,t)C .972(he v)-3.472 F .972(alue is)-.25 F .883(the ne)180 448.8 +R -.05(ga)-.15 G .883(tion of the tw).05 F(o-ar)-.1 E .884 +(gument test using the second and third ar)-.18 F 3.384(guments. If)-.18 +F .884(the \214rst)3.384 F(ar)180 460.8 Q .875(gument is e)-.18 F +(xactly)-.15 E F1(\()3.375 E F0 .875(and the third ar)3.375 F .875 +(gument is e)-.18 F(xactly)-.15 E F1(\))3.375 E F0 3.374(,t)C .874 +(he result is the one-ar)-3.374 F(gument)-.18 E(test of the second ar) +180 472.8 Q 2.5(gument. Otherwise,)-.18 F(the e)2.5 E(xpression is f) +-.15 E(alse.)-.1 E 2.5(4a)144 484.8 S -.18(rg)-2.5 G(uments).18 E .384 +(If the \214rst ar)180 496.8 R .384(gument is)-.18 F F1(!)2.884 E F0 +2.885(,t)C .385(he result is the ne)-2.885 F -.05(ga)-.15 G .385 +(tion of the three-ar).05 F .385(gument e)-.18 F .385(xpression com-) +-.15 F 1.648(posed of the remaining ar)180 508.8 R 4.147 +(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.647 (xpression is parsed and e)-.15 F -.25(va)-.25 G(luated).25 E -(according to precedence using the rules listed abo)180 370.8 Q -.15(ve) --.15 G(.).15 E 2.5(5o)144 382.8 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments) --.18 E 1.635(The e)180 394.8 R 1.635(xpression is parsed and e)-.15 F +(according to precedence using the rules listed abo)180 520.8 Q -.15(ve) +-.15 G(.).15 E 2.5(5o)144 532.8 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments) +-.18 E 1.635(The e)180 544.8 R 1.635(xpression is parsed and e)-.15 F -.25(va)-.25 G 1.635 (luated according to precedence using the rules listed).25 F(abo)180 -406.8 Q -.15(ve)-.15 G(.).15 E F2(times)108 423.6 Q F0 1.229(Print the \ +556.8 Q -.15(ve)-.15 G(.).15 E F1(times)108 573.6 Q F0 1.229(Print the \ accumulated user and system times for the shell and for processes run f\ -rom the shell.)13.23 F(The return status is 0.)144 435.6 Q F2(trap)108 -452.4 Q F0([)2.5 E F2(\255lp)A F0 2.5(][)C([)-2.5 E F1(ar)A(g)-.37 E F0 -(])A F1(sigspec)2.5 E F0(...])2.5 E .703(The command)144 464.4 R F1(ar) -3.533 E(g)-.37 E F0 .703(is to be read and e)3.423 F -.15(xe)-.15 G .702 -(cuted when the shell recei).15 F -.15(ve)-.25 G 3.202(ss).15 G -(ignal\(s\))-3.202 E F1(sigspec)3.202 E F0 5.702(.I).31 G(f)-5.702 E F1 -(ar)3.532 E(g)-.37 E F0(is)3.422 E .608(absent \(and there is a single) -144 476.4 R F1(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F23.108 E +rom the shell.)13.23 F(The return status is 0.)144 585.6 Q F1(trap)108 +602.4 Q F0([)2.5 E F1(\255lp)A F0 2.5(][)C([)-2.5 E F2(ar)A(g)-.37 E F0 +(])A F2(sigspec)2.5 E F0(...])2.5 E .702(The command)144 614.4 R F2(ar) +3.532 E(g)-.37 E F0 .702(is to be read and e)3.422 F -.15(xe)-.15 G .702 +(cuted when the shell recei).15 F -.15(ve)-.25 G 3.203(ss).15 G +(ignal\(s\))-3.203 E F2(sigspec)3.203 E F0 5.703(.I).31 G(f)-5.703 E F2 +(ar)3.533 E(g)-.37 E F0(is)3.423 E .609(absent \(and there is a single) +144 626.4 R F2(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F13.108 E F0 3.108(,e)C .608 (ach speci\214ed signal is reset to its original disposition)-3.108 F -.659(\(the v)144 488.4 R .659(alue it had upon entrance to the shell\).) --.25 F(If)5.658 E F1(ar)3.488 E(g)-.37 E F0 .658 -(is the null string the signal speci\214ed by each)3.378 F F1(sigspec) -144.34 500.4 Q F0 .58(is ignored by the shell and by the commands it in) -3.39 F -.2(vo)-.4 G -.1(ke).2 G 3.081(s. If).1 F F1(ar)3.411 E(g)-.37 E -F0 .581(is not present and)3.301 F F23.081 E F0(has)3.081 E 1.215 -(been supplied, then the trap commands associated with each)144 512.4 R -F1(sigspec)4.054 E F0 1.214(are displayed.)4.024 F 1.214(If no ar)6.214 -F(gu-)-.18 E .86(ments are supplied or if only)144 524.4 R F23.36 -E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F2(trap)3.36 E F0 .86 +.658(\(the v)144 638.4 R .658(alue it had upon entrance to the shell\).) +-.25 F(If)5.658 E F2(ar)3.488 E(g)-.37 E F0 .659 +(is the null string the signal speci\214ed by each)3.378 F F2(sigspec) +144.34 650.4 Q F0 .581 +(is ignored by the shell and by the commands it in)3.391 F -.2(vo)-.4 G +-.1(ke).2 G 3.08(s. If).1 F F2(ar)3.41 E(g)-.37 E F0 .58 +(is not present and)3.3 F F13.08 E F0(has)3.08 E 1.214 +(been supplied, then the trap commands associated with each)144 662.4 R +F2(sigspec)4.054 E F0 1.215(are displayed.)4.024 F 1.215(If no ar)6.215 +F(gu-)-.18 E .86(ments are supplied or if only)144 674.4 R F13.36 +E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F1(trap)3.36 E F0 .86 (prints the list of commands associated with each)3.36 F 2.83 -(signal. The)144 536.4 R F22.83 E F0 .33(option causes the shell \ -to print a list of signal names and their corresponding num-)2.83 F 4.31 -(bers. Each)144 548.4 R F1(sigspec)4.65 E F0 1.811 -(is either a signal name de\214ned in <)4.62 F F1(signal.h)A F0 1.811 -(>, or a signal number)B 6.811(.S)-.55 G(ignal)-6.811 E -(names are case insensiti)144 560.4 Q .3 -.15(ve a)-.25 H(nd the).15 E -F3(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.649(If a)144 578.4 R F1 -(sigspec)4.489 E F0(is)4.459 E F3(EXIT)4.149 E F0 1.649 -(\(0\) the command)3.899 F F1(ar)4.479 E(g)-.37 E F0 1.649(is e)4.369 F --.15(xe)-.15 G 1.649(cuted on e).15 F 1.648(xit from the shell.)-.15 F -1.648(If a)6.648 F F1(sigspec)4.488 E F0(is)4.458 E F3(DEB)144 590.4 Q -(UG)-.09 E F4(,)A F0 1.167(the command)3.417 F F1(ar)3.997 E(g)-.37 E F0 -1.167(is e)3.887 F -.15(xe)-.15 G 1.167(cuted before e).15 F -.15(ve) --.25 G(ry).15 E F1 1.168(simple command)3.667 F F0(,)A F1(for)3.668 E F0 -(command,)3.668 E F1(case)3.668 E F0(com-)3.668 E(mand,)144 602.4 Q F1 -(select)2.647 E F0 .147(command, e)2.647 F -.15(ve)-.25 G .147 -(ry arithmetic).15 F F1(for)2.647 E F0 .146 -(command, and before the \214rst command e)2.647 F -.15(xe)-.15 G .146 -(cutes in a).15 F .145(shell function \(see)144 614.4 R F3 .145 -(SHELL GRAMMAR)2.645 F F0(abo)2.395 E -.15(ve)-.15 G 2.646(\). Refer).15 -F .146(to the description of the)2.646 F F2(extdeb)2.646 E(ug)-.2 E F0 -.146(option to)2.646 F(the)144 626.4 Q F2(shopt)3.201 E F0 -.2(bu)3.201 -G .7(iltin for details of its ef).2 F .7(fect on the)-.25 F F2(DEB)3.2 E -(UG)-.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F1(sigspec)3.54 E F0(is)3.51 E -F3(RETURN)3.2 E F4(,)A F0 .7(the com-)2.95 F(mand)144 638.4 Q F1(ar) -3.473 E(g)-.37 E F0 .643(is e)3.363 F -.15(xe)-.15 G .643 -(cuted each time a shell function or a script e).15 F -.15(xe)-.15 G -.644(cuted with the).15 F F2(.)3.144 E F0(or)3.144 E F2(sour)3.144 E(ce) --.18 E F0 -.2(bu)3.144 G(iltins).2 E(\214nishes e)144 650.4 Q -.15(xe) --.15 G(cuting.).15 E .929(If a)144 668.4 R F1(sigspec)3.769 E F0(is) -3.739 E F3(ERR)3.429 E F4(,)A F0 .929(the command)3.179 F F1(ar)3.759 E -(g)-.37 E F0 .929(is e)3.649 F -.15(xe)-.15 G .929(cuted whene).15 F --.15(ve)-.25 G 3.429(ras).15 G .928(imple command has a non\255zero) --3.429 F -.15(ex)144 680.4 S 1.008(it status, subject to the follo).15 F -1.009(wing conditions.)-.25 F(The)6.009 E F3(ERR)3.509 E F0 1.009 -(trap is not e)3.259 F -.15(xe)-.15 G 1.009(cuted if the f).15 F 1.009 -(ailed com-)-.1 F .324 -(mand is part of the command list immediately follo)144 692.4 R .324 -(wing a)-.25 F F2(while)2.824 E F0(or)2.824 E F2(until)2.824 E F0 -.1 -(ke)2.824 G(yw)-.05 E .324(ord, part of the test)-.1 F 1.128(in an)144 -704.4 R F1(if)3.639 E F0 1.129(statement, part of a command e)5.589 F --.15(xe)-.15 G 1.129(cuted in a).15 F F2(&&)3.629 E F0(or)3.629 E/F5 10 -/Symbol SF3.629 E F0 1.129(list, or if the command')3.629 F 3.629 -(sr)-.55 G(eturn)-3.629 E -.25(va)144 716.4 S(lue is being in).25 E -.15 -(ve)-.4 G(rted via).15 E F2(!)2.5 E F0 5(.T)C -(hese are the same conditions obe)-5 E(yed by the)-.15 E F2(err)2.5 E -(exit)-.18 E F0(option.)2.5 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 -E(19)198.725 E 0 Cg EP +(signal. The)144 686.4 R F12.83 E F0 .33(option causes the shell \ +to print a list of signal names and their corresponding num-)2.83 F +4.311(bers. Each)144 698.4 R F2(sigspec)4.651 E F0 1.811 +(is either a signal name de\214ned in <)4.621 F F2(signal.h)A F0 1.81 +(>, or a signal number)B 6.81(.S)-.55 G(ignal)-6.81 E +(names are case insensiti)144 710.4 Q .3 -.15(ve a)-.25 H(nd the).15 E +F3(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.648(If a)144 728.4 R F2 +(sigspec)4.488 E F0(is)4.458 E F3(EXIT)4.148 E F0 1.648 +(\(0\) the command)3.898 F F2(ar)4.479 E(g)-.37 E F0 1.649(is e)4.369 F +-.15(xe)-.15 G 1.649(cuted on e).15 F 1.649(xit from the shell.)-.15 F +1.649(If a)6.649 F F2(sigspec)4.489 E F0(is)4.459 E(GNU Bash-4.0)72 768 +Q(2004 Apr 20)148.735 E(19)198.725 E 0 Cg EP %%Page: 20 20 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48 -(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E 1.095 +(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 9 +/Times-Bold@0 SF(DEB)144 84 Q(UG)-.09 E/F2 9/Times-Roman@0 SF(,)A F0 +1.168(the command)3.418 F/F3 10/Times-Italic@0 SF(ar)3.998 E(g)-.37 E F0 +1.168(is e)3.888 F -.15(xe)-.15 G 1.167(cuted before e).15 F -.15(ve) +-.25 G(ry).15 E F3 1.167(simple command)3.667 F F0(,)A F3(for)3.667 E F0 +(command,)3.667 E F3(case)3.667 E F0(com-)3.667 E(mand,)144 96 Q F3 +(select)2.646 E F0 .146(command, e)2.646 F -.15(ve)-.25 G .146 +(ry arithmetic).15 F F3(for)2.646 E F0 .147 +(command, and before the \214rst command e)2.646 F -.15(xe)-.15 G .147 +(cutes in a).15 F .146(shell function \(see)144 108 R F1 .146 +(SHELL GRAMMAR)2.646 F F0(abo)2.396 E -.15(ve)-.15 G 2.646(\). Refer).15 +F .146(to the description of the)2.646 F/F4 10/Times-Bold@0 SF(extdeb) +2.645 E(ug)-.2 E F0 .145(option to)2.645 F(the)144 120 Q F4(shopt)3.2 E +F0 -.2(bu)3.2 G .7(iltin for details of its ef).2 F .7(fect on the)-.25 +F F4(DEB)3.2 E(UG)-.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F3(sigspec)3.54 E +F0(is)3.51 E F1(RETURN)3.2 E F2(,)A F0 .701(the com-)2.951 F(mand)144 +132 Q F3(ar)3.474 E(g)-.37 E F0 .644(is e)3.364 F -.15(xe)-.15 G .643 +(cuted each time a shell function or a script e).15 F -.15(xe)-.15 G +.643(cuted with the).15 F F4(.)3.143 E F0(or)3.143 E F4(sour)3.143 E(ce) +-.18 E F0 -.2(bu)3.143 G(iltins).2 E(\214nishes e)144 144 Q -.15(xe)-.15 +G(cuting.).15 E .928(If a)144 162 R F3(sigspec)3.768 E F0(is)3.738 E F1 +(ERR)3.429 E F2(,)A F0 .929(the command)3.179 F F3(ar)3.759 E(g)-.37 E +F0 .929(is e)3.649 F -.15(xe)-.15 G .929(cuted whene).15 F -.15(ve)-.25 +G 3.429(ras).15 G .929(imple command has a non\255zero)-3.429 F -.15(ex) +144 174 S 1.009(it status, subject to the follo).15 F 1.009 +(wing conditions.)-.25 F(The)6.009 E F1(ERR)3.509 E F0 1.009 +(trap is not e)3.259 F -.15(xe)-.15 G 1.008(cuted if the f).15 F 1.008 +(ailed com-)-.1 F .324 +(mand is part of the command list immediately follo)144 186 R .324 +(wing a)-.25 F F4(while)2.824 E F0(or)2.824 E F4(until)2.824 E F0 -.1 +(ke)2.824 G(yw)-.05 E .324(ord, part of the test)-.1 F 1.129(in an)144 +198 R F3(if)3.639 E F0 1.129(statement, part of a command e)5.589 F -.15 +(xe)-.15 G 1.129(cuted in a).15 F F4(&&)3.629 E F0(or)3.629 E/F5 10 +/Symbol SF3.629 E F0 1.129(list, or if the command')3.629 F 3.628 +(sr)-.55 G(eturn)-3.628 E -.25(va)144 210 S(lue is being in).25 E -.15 +(ve)-.4 G(rted via).15 E F4(!)2.5 E F0 5(.T)C +(hese are the same conditions obe)-5 E(yed by the)-.15 E F4(err)2.5 E +(exit)-.18 E F0(option.)2.5 E 1.095 (Signals ignored upon entry to the shell cannot be trapped or reset.)144 -84 R -.35(Tr)6.095 G 1.095(apped signals that are not).35 F .662 -(being ignored are reset to their original v)144 96 R .662 -(alues in a subshell or subshell en)-.25 F .662(vironment when one is) --.4 F 2.5(created. The)144 108 R(return status is f)2.5 E(alse if an)-.1 -E(y)-.15 E/F1 10/Times-Italic@0 SF(sigspec)2.84 E F0(is in)2.81 E -.25 -(va)-.4 G(lid; otherwise).25 E/F2 10/Times-Bold@0 SF(trap)2.5 E F0 -(returns true.)2.5 E F2(type)108 124.8 Q F0([)2.5 E F2(\255aftpP)A F0(]) -A F1(name)2.5 E F0([)2.5 E F1(name)A F0(...])2.5 E -.4(Wi)144 136.8 S -.174(th no options, indicate ho).4 F 2.674(we)-.25 G(ach)-2.674 E F1 -(name)3.034 E F0 -.1(wo)2.854 G .173 -(uld be interpreted if used as a command name.).1 F .173(If the)5.173 F -F2144 148.8 Q F0 .842(option is used,)3.342 F F2(type)3.342 E F0 -.843(prints a string which is one of)3.343 F F1(alias)3.343 E F0(,).27 E -F1 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F1(function)3.343 E F0 -(,).24 E F1 -.2(bu)3.343 G(iltin).2 E F0 3.343(,o).24 G(r)-3.343 E F1 -(\214le)5.253 E F0(if)3.523 E F1(name)144.36 160.8 Q F0 .087 -(is an alias, shell reserv)2.767 F .087(ed w)-.15 F .087 -(ord, function, b)-.1 F .086(uiltin, or disk \214le, respecti)-.2 F -.15 -(ve)-.25 G(ly).15 E 5.086(.I)-.65 G 2.586(ft)-5.086 G(he)-2.586 E F1 -(name)2.946 E F0 .086(is not)2.766 F .118 -(found, then nothing is printed, and an e)144 172.8 R .118 -(xit status of f)-.15 F .118(alse is returned.)-.1 F .119(If the)5.119 F -F22.619 E F0 .119(option is used,)2.619 F F2(type)2.619 E F0 .855 -(either returns the name of the disk \214le that w)144 184.8 R .855 -(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F1(name)3.715 E F0 -.855(were speci\214ed as a com-)3.535 F .64(mand name, or nothing if)144 -196.8 R/F3 10/Courier@0 SF .64(type -t name)3.14 F F0 -.1(wo)3.14 G .641 -(uld not return).1 F F1(\214le)3.141 E F0 5.641(.T).18 G(he)-5.641 E F2 -3.141 E F0 .641(option forces a)3.141 F/F4 9/Times-Bold@0 SF -.666 -(PA)3.141 G(TH)-.189 E F0 .113(search for each)144 208.8 R F1(name)2.613 -E F0 2.613(,e)C -.15(ve)-2.863 G 2.613(ni).15 G(f)-2.613 E F3 .113 -(type -t name)2.613 F F0 -.1(wo)2.613 G .113(uld not return).1 F F1 -(\214le)2.613 E F0 5.113(.I).18 G 2.613(fa)-5.113 G .112 -(command is hashed,)-.001 F F22.612 E F0(and)144 220.8 Q F2 -2.944 E F0 .444(print the hashed v)2.944 F .444 -(alue, not necessarily the \214le that appears \214rst in)-.25 F F4 --.666(PA)2.945 G(TH)-.189 E/F5 9/Times-Roman@0 SF(.)A F0 .445(If the) -4.945 F F22.945 E F0(option)2.945 E .265(is used,)144 232.8 R F2 -(type)2.765 E F0 .265(prints all of the places that contain an e)2.765 F --.15(xe)-.15 G .265(cutable named).15 F F1(name)2.765 E F0 5.265(.T).18 -G .265(his includes aliases)-5.265 F .426 -(and functions, if and only if the)144 244.8 R F22.926 E F0 .426 -(option is not also used.)2.926 F .427 -(The table of hashed commands is not)5.426 F .549(consulted when using) -144 256.8 R F23.049 E F0 5.549(.T)C(he)-5.549 E F23.049 E F0 -.548(option suppresses shell function lookup, as with the)3.049 F F2 -(command)3.048 E F0 -.2(bu)144 268.8 S(iltin.).2 E F2(type)5 E F0 +228 R -.35(Tr)6.095 G 1.095(apped signals that are not).35 F .662 +(being ignored are reset to their original v)144 240 R .662 +(alues in a subshell or subshell en)-.25 F .661(vironment when one is) +-.4 F 2.5(created. The)144 252 R(return status is f)2.5 E(alse if an)-.1 +E(y)-.15 E F3(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4 G +(lid; otherwise).25 E F4(trap)2.5 E F0(returns true.)2.5 E F4(type)108 +268.8 Q F0([)2.5 E F4(\255aftpP)A F0(])A F3(name)2.5 E F0([)2.5 E F3 +(name)A F0(...])2.5 E -.4(Wi)144 280.8 S .173 +(th no options, indicate ho).4 F 2.673(we)-.25 G(ach)-2.673 E F3(name) +3.033 E F0 -.1(wo)2.853 G .174 +(uld be interpreted if used as a command name.).1 F .174(If the)5.174 F +F4144 292.8 Q F0 .843(option is used,)3.343 F F4(type)3.343 E F0 +.843(prints a string which is one of)3.343 F F3(alias)3.343 E F0(,).27 E +F3 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F3(function)3.343 E F0 +(,).24 E F3 -.2(bu)3.342 G(iltin).2 E F0 3.342(,o).24 G(r)-3.342 E F3 +(\214le)5.252 E F0(if)3.522 E F3(name)144.36 304.8 Q F0 .086 +(is an alias, shell reserv)2.766 F .086(ed w)-.15 F .086 +(ord, function, b)-.1 F .087(uiltin, or disk \214le, respecti)-.2 F -.15 +(ve)-.25 G(ly).15 E 5.087(.I)-.65 G 2.587(ft)-5.087 G(he)-2.587 E F3 +(name)2.947 E F0 .087(is not)2.767 F .119 +(found, then nothing is printed, and an e)144 316.8 R .118 +(xit status of f)-.15 F .118(alse is returned.)-.1 F .118(If the)5.118 F +F42.618 E F0 .118(option is used,)2.618 F F4(type)2.618 E F0 .855 +(either returns the name of the disk \214le that w)144 328.8 R .855 +(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F3(name)3.715 E F0 +.855(were speci\214ed as a com-)3.535 F .641(mand name, or nothing if) +144 340.8 R/F6 10/Courier@0 SF .641(type -t name)3.141 F F0 -.1(wo)3.141 +G .641(uld not return).1 F F3(\214le)3.14 E F0 5.64(.T).18 G(he)-5.64 E +F43.14 E F0 .64(option forces a)3.14 F F1 -.666(PA)3.14 G(TH)-.189 +E F0 .112(search for each)144 352.8 R F3(name)2.612 E F0 2.612(,e)C -.15 +(ve)-2.862 G 2.613(ni).15 G(f)-2.613 E F6 .113(type -t name)2.613 F F0 +-.1(wo)2.613 G .113(uld not return).1 F F3(\214le)2.613 E F0 5.113(.I) +.18 G 2.613(fac)-5.113 G .113(ommand is hashed,)-2.613 F F42.613 E +F0(and)144 364.8 Q F42.945 E F0 .445(print the hashed v)2.945 F +.444(alue, not necessarily the \214le that appears \214rst in)-.25 F F1 +-.666(PA)2.944 G(TH)-.189 E F2(.)A F0 .444(If the)4.944 F F42.944 +E F0(option)2.944 E .265(is used,)144 376.8 R F4(type)2.765 E F0 .265 +(prints all of the places that contain an e)2.765 F -.15(xe)-.15 G .265 +(cutable named).15 F F3(name)2.765 E F0 5.265(.T).18 G .265 +(his includes aliases)-5.265 F .427(and functions, if and only if the) +144 388.8 R F42.926 E F0 .426(option is not also used.)2.926 F +.426(The table of hashed commands is not)5.426 F .548 +(consulted when using)144 400.8 R F43.048 E F0 5.548(.T)C(he) +-5.548 E F43.048 E F0 .549 +(option suppresses shell function lookup, as with the)3.048 F F4 +(command)3.049 E F0 -.2(bu)144 412.8 S(iltin.).2 E F4(type)5 E F0 (returns true if all of the ar)2.5 E(guments are found, f)-.18 E -(alse if an)-.1 E 2.5(ya)-.15 G(re not found.)-2.5 E F2(ulimit)108 285.6 -Q F0([)2.5 E F2(\255HST)A(abcde\214lmnpqrstuvx)-.92 E F0([)2.5 E F1 -(limit)A F0(]])A(Pro)144 297.6 Q .243(vides control o)-.15 F -.15(ve) --.15 G 2.743(rt).15 G .243(he resources a)-2.743 F -.25(va)-.2 G .244 +(alse if an)-.1 E 2.5(ya)-.15 G(re not found.)-2.5 E F4(ulimit)108 429.6 +Q F0([)2.5 E F4(\255HST)A(abcde\214lmnpqrstuvx)-.92 E F0([)2.5 E F3 +(limit)A F0(]])A(Pro)144 441.6 Q .244(vides control o)-.15 F -.15(ve) +-.15 G 2.744(rt).15 G .244(he resources a)-2.744 F -.25(va)-.2 G .244 (ilable to the shell and to processes started by it, on systems).25 F -.944(that allo)144 309.6 R 3.444(ws)-.25 G .944(uch control.)-3.444 F -(The)5.944 E F23.444 E F0(and)3.444 E F23.444 E F0 .943 +.943(that allo)144 453.6 R 3.443(ws)-.25 G .943(uch control.)-3.443 F +(The)5.943 E F43.443 E F0(and)3.443 E F43.444 E F0 .944 (options specify that the hard or soft limit is set for the)3.444 F(gi) -144 321.6 Q -.15(ve)-.25 G 2.708(nr).15 G 2.708(esource. A)-2.708 F .208 +144 465.6 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208 (hard limit cannot be increased by a non-root user once it is set; a so\ -ft limit may)2.708 F .426(be increased up to the v)144 333.6 R .426 -(alue of the hard limit.)-.25 F .425(If neither)5.426 F F22.925 E -F0(nor)2.925 E F22.925 E F0 .425 -(is speci\214ed, both the soft and)2.925 F .139(hard limits are set.)144 -345.6 R .139(The v)5.139 F .139(alue of)-.25 F F1(limit)2.729 E F0 .139 +ft limit may)2.709 F .425(be increased up to the v)144 477.6 R .425 +(alue of the hard limit.)-.25 F .426(If neither)5.425 F F42.926 E +F0(nor)2.926 E F42.926 E F0 .426 +(is speci\214ed, both the soft and)2.926 F .139(hard limits are set.)144 +489.6 R .139(The v)5.139 F .139(alue of)-.25 F F3(limit)2.729 E F0 .139 (can be a number in the unit speci\214ed for the resource or one)3.319 F -.742(of the special v)144 357.6 R(alues)-.25 E F2(hard)3.242 E F0(,)A F2 -(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F2(unlimited)3.241 E F0 3.241(,w) +.741(of the special v)144 501.6 R(alues)-.25 E F4(hard)3.241 E F0(,)A F4 +(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F4(unlimited)3.241 E F0 3.241(,w) C .741(hich stand for the current hard limit, the current)-3.241 F .78 -(soft limit, and no limit, respecti)144 369.6 R -.15(ve)-.25 G(ly).15 E -5.78(.I)-.65 G(f)-5.78 E F1(limit)3.37 E F0 .78 +(soft limit, and no limit, respecti)144 513.6 R -.15(ve)-.25 G(ly).15 E +5.78(.I)-.65 G(f)-5.78 E F3(limit)3.37 E F0 .78 (is omitted, the current v)3.96 F .78(alue of the soft limit of the)-.25 -F .499(resource is printed, unless the)144 381.6 R F22.999 E F0 -.499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .498 +F .498(resource is printed, unless the)144 525.6 R F42.999 E F0 +.499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .499 (more than one resource is speci\214ed, the)2.999 F -(limit name and unit are printed before the v)144 393.6 Q 2.5 -(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F2 -144 405.6 Q F0(All current limits are reported)25.3 E F2144 -417.6 Q F0(The maximum sock)24.74 E(et b)-.1 E(uf)-.2 E(fer size)-.25 E -F2144 429.6 Q F0(The maximum size of core \214les created)25.86 E -F2144 441.6 Q F0(The maximum size of a process')24.74 E 2.5(sd) --.55 G(ata se)-2.5 E(gment)-.15 E F2144 453.6 Q F0 -(The maximum scheduling priority \("nice"\))25.86 E F2144 465.6 Q +(limit name and unit are printed before the v)144 537.6 Q 2.5 +(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F4 +144 549.6 Q F0(All current limits are reported)25.3 E F4144 +561.6 Q F0(The maximum sock)24.74 E(et b)-.1 E(uf)-.2 E(fer size)-.25 E +F4144 573.6 Q F0(The maximum size of core \214les created)25.86 E +F4144 585.6 Q F0(The maximum size of a process')24.74 E 2.5(sd) +-.55 G(ata se)-2.5 E(gment)-.15 E F4144 597.6 Q F0 +(The maximum scheduling priority \("nice"\))25.86 E F4144 609.6 Q F0(The maximum size of \214les written by the shell and its children) -26.97 E F2144 477.6 Q F0(The maximum number of pending signals) -27.52 E F2144 489.6 Q F0(The maximum size that may be lock)27.52 E -(ed into memory)-.1 E F2144 501.6 Q F0 +26.97 E F4144 621.6 Q F0(The maximum number of pending signals) +27.52 E F4144 633.6 Q F0(The maximum size that may be lock)27.52 E +(ed into memory)-.1 E F4144 645.6 Q F0 (The maximum resident set size \(man)21.97 E 2.5(ys)-.15 G -(ystems do not honor this limit\))-2.5 E F2144 513.6 Q F0 .791(Th\ +(ystems do not honor this limit\))-2.5 E F4144 657.6 Q F0 .791(Th\ e maximum number of open \214le descriptors \(most systems do not allo) -24.74 F 3.291(wt)-.25 G .791(his v)-3.291 F .791(alue to)-.25 F -(be set\))180 525.6 Q F2144 537.6 Q F0 -(The pipe size in 512-byte blocks \(this may not be set\))24.74 E F2 -144 549.6 Q F0 -(The maximum number of bytes in POSIX message queues)24.74 E F2144 -561.6 Q F0(The maximum real-time scheduling priority)25.86 E F2144 -573.6 Q F0(The maximum stack size)26.41 E F2144 585.6 Q F0 -(The maximum amount of cpu time in seconds)26.97 E F2144 597.6 Q -F0(The maximum number of processes a)24.74 E -.25(va)-.2 G -(ilable to a single user).25 E F2144 609.6 Q F0 .47 -(The maximum amount of virtual memory a)25.3 F -.25(va)-.2 G .47 -(ilable to the shell and, on some systems, to).25 F(its children)180 -621.6 Q F2144 633.6 Q F0(The maximum number of \214le locks)25.3 E -F2144 645.6 Q F0(The maximum number of threads)23.63 E(If)144 -662.4 Q F1(limit)2.933 E F0 .343(is gi)3.523 F -.15(ve)-.25 G .343 -(n, it is the ne).15 F 2.843(wv)-.25 G .343 -(alue of the speci\214ed resource \(the)-3.093 F F22.843 E F0 .343 -(option is display only\).)2.843 F .343(If no)5.343 F .176(option is gi) -144 674.4 R -.15(ve)-.25 G .176(n, then).15 F F22.676 E F0 .175 -(is assumed.)2.676 F -1.11(Va)5.175 G .175 -(lues are in 1024-byte increments, e)1.11 F .175(xcept for)-.15 F F2 -2.675 E F0 2.675(,w)C .175(hich is in)-2.675 F(seconds,)144 686.4 -Q F22.515 E F0 2.515(,w)C .015 -(hich is in units of 512-byte blocks, and)-2.515 F F22.516 E F0(,) -A F22.516 E F0(,)A F22.516 E F0 2.516(,a)C(nd)-2.516 E F2 -2.516 E F0 2.516(,w)C .016(hich are unscaled v)-2.516 F(al-)-.25 E -3.788(ues. The)144 698.4 R 1.287(return status is 0 unless an in)3.787 F --.25(va)-.4 G 1.287(lid option or ar).25 F 1.287 -(gument is supplied, or an error occurs)-.18 F(while setting a ne)144 -710.4 Q 2.5(wl)-.25 G(imit.)-2.5 E(GNU Bash-4.0)72 768 Q(2004 Apr 20) -148.735 E(20)198.725 E 0 Cg EP +24.74 F 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F(be set\))180 +669.6 Q F4144 681.6 Q F0 +(The pipe size in 512-byte blocks \(this may not be set\))24.74 E F4 +144 693.6 Q F0 +(The maximum number of bytes in POSIX message queues)24.74 E F4144 +705.6 Q F0(The maximum real-time scheduling priority)25.86 E F4144 +717.6 Q F0(The maximum stack size)26.41 E(GNU Bash-4.0)72 768 Q +(2004 Apr 20)148.735 E(20)198.725 E 0 Cg EP %%Page: 21 21 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48 (TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10 -/Times-Bold@0 SF(umask)108 84 Q F0([)2.5 E F1A F0 2.5(][)C F1 --2.5 E F0 2.5(][)C/F2 10/Times-Italic@0 SF(mode)-2.5 E F0(])A .2 -(The user \214le-creation mask is set to)144 96 R F2(mode)2.7 E F0 5.2 -(.I).18 G(f)-5.2 E F2(mode)3.08 E F0(be)2.88 E .2 +/Times-Bold@0 SF144 84 Q F0 +(The maximum amount of cpu time in seconds)26.97 E F1144 96 Q F0 +(The maximum number of processes a)24.74 E -.25(va)-.2 G +(ilable to a single user).25 E F1144 108 Q F0 .47 +(The maximum amount of virtual memory a)25.3 F -.25(va)-.2 G .47 +(ilable to the shell and, on some systems, to).25 F(its children)180 120 +Q F1144 132 Q F0(The maximum number of \214le locks)25.3 E F1 +144 144 Q F0(The maximum number of threads)23.63 E(If)144 160.8 Q +/F2 10/Times-Italic@0 SF(limit)2.933 E F0 .343(is gi)3.523 F -.15(ve) +-.25 G .343(n, it is the ne).15 F 2.843(wv)-.25 G .343 +(alue of the speci\214ed resource \(the)-3.093 F F12.843 E F0 .343 +(option is display only\).)2.843 F .343(If no)5.343 F .175(option is gi) +144 172.8 R -.15(ve)-.25 G .175(n, then).15 F F12.675 E F0 .175 +(is assumed.)2.675 F -1.11(Va)5.175 G .175 +(lues are in 1024-byte increments, e)1.11 F .176(xcept for)-.15 F F1 +2.676 E F0 2.676(,w)C .176(hich is in)-2.676 F(seconds,)144 184.8 +Q F12.516 E F0 2.516(,w)C .016 +(hich is in units of 512-byte blocks, and)-2.516 F F12.516 E F0(,) +A F12.515 E F0(,)A F12.515 E F0 2.515(,a)C(nd)-2.515 E F1 +2.515 E F0 2.515(,w)C .015(hich are unscaled v)-2.515 F(al-)-.25 E +3.787(ues. The)144 196.8 R 1.287(return status is 0 unless an in)3.787 F +-.25(va)-.4 G 1.287(lid option or ar).25 F 1.287 +(gument is supplied, or an error occurs)-.18 F(while setting a ne)144 +208.8 Q 2.5(wl)-.25 G(imit.)-2.5 E F1(umask)108 225.6 Q F0([)2.5 E F1 +A F0 2.5(][)C F1-2.5 E F0 2.5(][)C F2(mode)-2.5 E F0(])A .2 +(The user \214le-creation mask is set to)144 237.6 R F2(mode)2.7 E F0 +5.2(.I).18 G(f)-5.2 E F2(mode)3.08 E F0(be)2.88 E .2 (gins with a digit, it is interpreted as an octal)-.15 F .066(number; o\ therwise it is interpreted as a symbolic mode mask similar to that acce\ -pted by)144 108 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144 -120 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382 +pted by)144 249.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144 +261.6 Q F2(mode)3.263 E F0 .382(is omitted, the current v)3.063 F .382 (alue of the mask is printed.)-.25 F(The)5.382 E F12.882 E F0 .382 (option causes the mask to be)2.882 F .547 -(printed in symbolic form; the def)144 132 R .547 +(printed in symbolic form; the def)144 273.6 R .547 (ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G (he)-3.047 E F13.047 E F0 .547(option is supplied, and)3.047 F F2 -(mode)144.38 144 Q F0 .551 -(is omitted, the output is in a form that may be reused as input.)3.231 -F .552(The return status is 0 if the)5.552 F(mode w)144 156 Q +(mode)144.38 285.6 Q F0 .552 +(is omitted, the output is in a form that may be reused as input.)3.232 +F .551(The return status is 0 if the)5.551 F(mode w)144 297.6 Q (as successfully changed or if no)-.1 E F2(mode)2.5 E F0(ar)2.5 E (gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F1 -(unalias)108 172.8 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0 -(...])2.5 E(Remo)144 184.8 Q 1.955 -.15(ve e)-.15 H(ach).15 E F2(name) +(unalias)108 314.4 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0 +(...])2.5 E(Remo)144 326.4 Q 1.955 -.15(ve e)-.15 H(ach).15 E F2(name) 4.155 E F0 1.655(from the list of de\214ned aliases.)4.155 F(If)6.655 E F14.155 E F0 1.655(is supplied, all alias de\214nitions are)4.155 -F(remo)144 196.8 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E +F(remo)144 338.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E (alue is true unless a supplied)-.25 E F2(name)2.86 E F0 -(is not a de\214ned alias.)2.68 E F1(unset)108 213.6 Q F0<5bad>2.5 E F1 -(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 225.6 S 3.106 -(re).15 G(ach)-3.106 E F2(name)3.106 E F0 3.106(,r).18 G(emo)-3.106 E -.906 -.15(ve t)-.15 H .606(he corresponding v).15 F .607 -(ariable or function.)-.25 F .607(If no options are supplied, or the) -5.607 F F1144 237.6 Q F0 .305(option is gi)2.805 F -.15(ve)-.25 G -.305(n, each).15 F F2(name)3.165 E F0 .305(refers to a shell v)2.985 F -2.805(ariable. Read-only)-.25 F -.25(va)2.805 G .304 -(riables may not be unset.).25 F(If)5.304 E F1144 249.6 Q F0 .459 -(is speci\214ed, each)2.959 F F2(name)3.319 E F0 .459 -(refers to a shell function, and the function de\214nition is remo)3.139 -F -.15(ve)-.15 G 2.96(d. Each).15 F .903(unset v)144 261.6 R .903 +(is not a de\214ned alias.)2.68 E F1(unset)108 355.2 Q F0<5bad>2.5 E F1 +(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 367.2 S 3.107 +(re).15 G(ach)-3.107 E F2(name)3.107 E F0 3.107(,r).18 G(emo)-3.107 E +.907 -.15(ve t)-.15 H .607(he corresponding v).15 F .607 +(ariable or function.)-.25 F .606(If no options are supplied, or the) +5.607 F F1144 379.2 Q F0 .304(option is gi)2.804 F -.15(ve)-.25 G +.304(n, each).15 F F2(name)3.164 E F0 .305(refers to a shell v)2.985 F +2.805(ariable. Read-only)-.25 F -.25(va)2.805 G .305 +(riables may not be unset.).25 F(If)5.305 E F1144 391.2 Q F0 .46 +(is speci\214ed, each)2.96 F F2(name)3.32 E F0 .459 +(refers to a shell function, and the function de\214nition is remo)3.14 +F -.15(ve)-.15 G 2.959(d. Each).15 F .902(unset v)144 403.2 R .902 (ariable or function is remo)-.25 F -.15(ve)-.15 G 3.402(df).15 G .902 -(rom the en)-3.402 F .902(vironment passed to subsequent commands.)-.4 F -(If)5.902 E(an)144 273.6 Q 6.915(yo)-.15 G(f)-6.915 E/F3 9/Times-Bold@0 -SF(COMP_W)6.915 E(ORDBREAKS)-.09 E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM) +(rom the en)-3.402 F .903(vironment passed to subsequent commands.)-.4 F +(If)5.903 E(an)144 415.2 Q 6.916(yo)-.15 G(f)-6.916 E/F3 9/Times-Bold@0 +SF(COMP_W)6.916 E(ORDBREAKS)-.09 E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM) 6.665 E F4(,)A F3(SECONDS)6.665 E F4(,)A F3(LINENO)6.665 E F4(,)A F3 -(HISTCMD)6.666 E F4(,)A F3(FUNCN)6.666 E(AME)-.18 E F4(,)A F3(GR)144 -285.6 Q(OUPS)-.27 E F4(,)A F0(or)2.523 E F3(DIRST)2.773 E -.495(AC)-.81 +(HISTCMD)6.665 E F4(,)A F3(FUNCN)6.665 E(AME)-.18 E F4(,)A F3(GR)144 +427.2 Q(OUPS)-.27 E F4(,)A F0(or)2.522 E F3(DIRST)2.772 E -.495(AC)-.81 G(K).495 E F0 .272(are unset, the)2.522 F 2.772(yl)-.15 G .272 (ose their special properties, e)-2.772 F -.15(ve)-.25 G 2.772(ni).15 G -2.772(ft)-2.772 G(he)-2.772 E 2.772(ya)-.15 G .272(re subsequently) --2.772 F 2.5(reset. The)144 297.6 R -.15(ex)2.5 G +2.772(ft)-2.772 G(he)-2.772 E 2.773(ya)-.15 G .273(re subsequently) +-2.773 F 2.5(reset. The)144 439.2 R -.15(ex)2.5 G (it status is true unless a).15 E F2(name)2.86 E F0(is readonly)2.68 E -(.)-.65 E F1(wait)108 314.4 Q F0([)2.5 E F2 2.5(n.)C(..)-2.5 E F0(])A --.8(Wa)144 326.4 S .288 +(.)-.65 E F1(wait)108 456 Q F0([)2.5 E F2 2.5(n.)C(..)-2.5 E F0(])A -.8 +(Wa)144 468 S .288 (it for each speci\214ed process and return its termination status.).8 F -(Each)5.288 E F2(n)3.148 E F0 .288(may be a process ID or a)3.028 F .722 -(job speci\214cation; if a job spec is gi)144 338.4 R -.15(ve)-.25 G -.722(n, all processes in that job').15 F 3.222(sp)-.55 G .722 -(ipeline are w)-3.222 F .722(aited for)-.1 F 5.722(.I)-.55 G(f)-5.722 E -F2(n)3.582 E F0(is)3.462 E 1.265(not gi)144 350.4 R -.15(ve)-.25 G 1.265 -(n, all currently acti).15 F 1.565 -.15(ve c)-.25 H 1.265 -(hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.266 -(nd the return status is zero.)-3.765 F(If)6.266 E F2(n)4.126 E F0 .457 -(speci\214es a non-e)144 362.4 R .457 +(Each)5.288 E F2(n)3.148 E F0 .287(may be a process ID or a)3.028 F .722 +(job speci\214cation; if a job spec is gi)144 480 R -.15(ve)-.25 G .722 +(n, all processes in that job').15 F 3.222(sp)-.55 G .722(ipeline are w) +-3.222 F .722(aited for)-.1 F 5.722(.I)-.55 G(f)-5.722 E F2(n)3.583 E F0 +(is)3.463 E 1.266(not gi)144 492 R -.15(ve)-.25 G 1.266 +(n, all currently acti).15 F 1.566 -.15(ve c)-.25 H 1.265 +(hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.265 +(nd the return status is zero.)-3.765 F(If)6.265 E F2(n)4.125 E F0 .456 +(speci\214es a non-e)144 504 R .457 (xistent process or job, the return status is 127.)-.15 F .457 -(Otherwise, the return status is the)5.457 F -.15(ex)144 374.4 S +(Otherwise, the return status is the)5.457 F -.15(ex)144 516 S (it status of the last process or job w).15 E(aited for)-.1 E(.)-.55 E -/F5 10.95/Times-Bold@0 SF(SEE ALSO)72 391.2 Q F0(bash\(1\), sh\(1\))108 -403.2 Q(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(21)198.725 E 0 Cg EP +/F5 10.95/Times-Bold@0 SF(SEE ALSO)72 532.8 Q F0(bash\(1\), sh\(1\))108 +544.8 Q(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(21)198.725 E 0 Cg EP %%Trailer end %%EOF diff --git a/doc/rbash.ps b/doc/rbash.ps index 83ecedebe..1f2c89aa3 100644 --- a/doc/rbash.ps +++ b/doc/rbash.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 %%Creator: groff version 1.19.2 -%%CreationDate: Thu May 20 16:33:07 2010 +%%CreationDate: Tue Jun 1 11:58:36 2010 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%DocumentSuppliedResources: procset grops 1.19 2 diff --git a/execute_cmd.c b/execute_cmd.c index 9a5c6ed4f..b4e797799 100644 --- a/execute_cmd.c +++ b/execute_cmd.c @@ -136,6 +136,7 @@ static int builtin_status __P((int)); static int execute_for_command __P((FOR_COM *)); #if defined (SELECT_COMMAND) +static int displen __P((const char *)); static int print_index_and_element __P((int, int, WORD_LIST *)); static void indent __P((int, int)); static void print_select_list __P((WORD_LIST *, int, int, int)); @@ -2639,6 +2640,28 @@ static int LINES, COLS, tabsize; : ((s < 100000) ? 5 \ : 6))))) +static int +displen (s) + const char *s; +{ +#if defined (HANDLE_MULTIBYTE) + wchar_t *wcstr; + size_t wclen, slen; + + wcstr = 0; + slen = mbstowcs (wcstr, s, 0); + if (slen == -1) + slen = 0; + wcstr = (wchar_t *)xmalloc (sizeof (wchar_t) * (slen + 1)); + mbstowcs (wcstr, s, slen + 1); + wclen = wcswidth (wcstr, slen); + free (wcstr); + return ((int)wclen); +#else + return (STRLEN (s)); +#endif +} + static int print_index_and_element (len, ind, list) int len, ind; @@ -2652,7 +2675,7 @@ print_index_and_element (len, ind, list) for (i = ind, l = list; l && --i; l = l->next) ; fprintf (stderr, "%*d%s%s", len, ind, RP_SPACE, l->word->word); - return (STRLEN (l->word->word)); + return (displen (l->word->word)); } static void @@ -2758,7 +2781,7 @@ select_query (list, list_len, prompt, print_menu) max_elem_len = 0; for (l = list; l; l = l->next) { - len = STRLEN (l->word->word); + len = displen (l->word->word); if (len > max_elem_len) max_elem_len = len; } diff --git a/execute_cmd.c~ b/execute_cmd.c~ index ba711780d..416bef5ac 100644 --- a/execute_cmd.c~ +++ b/execute_cmd.c~ @@ -1,6 +1,6 @@ /* execute_cmd.c -- Execute a COMMAND structure. */ -/* Copyright (C) 1987-2009 Free Software Foundation, Inc. +/* Copyright (C) 1987-2010 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. @@ -2639,6 +2639,28 @@ static int LINES, COLS, tabsize; : ((s < 100000) ? 5 \ : 6))))) +static int +displen (s) + char *s; +{ +#if defined (HANDLE_MULTIBYTE) + wchar_t *wcstr; + size_t wclen, slen; + + wcstr = 0; + slen = mbstowcs (wcstr, s, 0); + if (slen == -1) + slen = 0; + wcstr = (wchar_t *)xmalloc (sizeof (wchar_t) * (slen + 1)); + mbstowcs (wcstr, s, slen + 1); + wclen = wcswidth (wcstr, slen); + free (wcstr); + return ((int)wclen); +#else + return (STRLEN (s)); +#endif +} + static int print_index_and_element (len, ind, list) int len, ind; @@ -2652,7 +2674,7 @@ print_index_and_element (len, ind, list) for (i = ind, l = list; l && --i; l = l->next) ; fprintf (stderr, "%*d%s%s", len, ind, RP_SPACE, l->word->word); - return (STRLEN (l->word->word)); + return (displen (l->word->word)); } static void @@ -2758,7 +2780,7 @@ select_query (list, list_len, prompt, print_menu) max_elem_len = 0; for (l = list; l; l = l->next) { - len = STRLEN (l->word->word); + len = displen (l->word->word); if (len > max_elem_len) max_elem_len = len; } diff --git a/lib/readline/callback.c b/lib/readline/callback.c index 6c52ac037..4ee636108 100644 --- a/lib/readline/callback.c +++ b/lib/readline/callback.c @@ -142,6 +142,15 @@ rl_callback_read_char () eof = _rl_nsearch_callback (_rl_nscxt); return; } +#if defined (VI_MODE) + else if (RL_ISSTATE (RL_STATE_VIMOTION)) + { + eof = _rl_vi_domove_callback (_rl_vimvcxt); + /* Should handle everything, including cleanup, numeric arguments, + and turning off RL_STATE_VIMOTION */ + return; + } +#endif else if (RL_ISSTATE (RL_STATE_NUMERICARG)) { eof = _rl_arg_callback (_rl_argcxt); diff --git a/lib/readline/callback.c~ b/lib/readline/callback.c~ new file mode 100644 index 000000000..d5d64c572 --- /dev/null +++ b/lib/readline/callback.c~ @@ -0,0 +1,270 @@ +/* callback.c -- functions to use readline as an X `callback' mechanism. */ + +/* Copyright (C) 1987-2009 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. + + Readline 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. + + Readline 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 Readline. If not, see . +*/ + +#define READLINE_LIBRARY + +#if defined (HAVE_CONFIG_H) +# include +#endif + +#include "rlconf.h" + +#if defined (READLINE_CALLBACKS) + +#include + +#ifdef HAVE_STDLIB_H +# include +#else +# include "ansi_stdlib.h" +#endif + +#include + +/* System-specific feature definitions and include files. */ +#include "rldefs.h" +#include "readline.h" +#include "rlprivate.h" +#include "xmalloc.h" + +/* Private data for callback registration functions. See comments in + rl_callback_read_char for more details. */ +_rl_callback_func_t *_rl_callback_func = 0; +_rl_callback_generic_arg *_rl_callback_data = 0; + +/* **************************************************************** */ +/* */ +/* Callback Readline Functions */ +/* */ +/* **************************************************************** */ + +/* Allow using readline in situations where a program may have multiple + things to handle at once, and dispatches them via select(). Call + rl_callback_handler_install() with the prompt and a function to call + whenever a complete line of input is ready. The user must then + call rl_callback_read_char() every time some input is available, and + rl_callback_read_char() will call the user's function with the complete + text read in at each end of line. The terminal is kept prepped and + signals handled all the time, except during calls to the user's function. */ + +rl_vcpfunc_t *rl_linefunc; /* user callback function */ +static int in_handler; /* terminal_prepped and signals set? */ + +/* Make sure the terminal is set up, initialize readline, and prompt. */ +static void +_rl_callback_newline () +{ + rl_initialize (); + + if (in_handler == 0) + { + in_handler = 1; + + if (rl_prep_term_function) + (*rl_prep_term_function) (_rl_meta_flag); + +#if defined (HANDLE_SIGNALS) + rl_set_signals (); +#endif + } + + readline_internal_setup (); + RL_CHECK_SIGNALS (); +} + +/* Install a readline handler, set up the terminal, and issue the prompt. */ +void +rl_callback_handler_install (prompt, linefunc) + const char *prompt; + rl_vcpfunc_t *linefunc; +{ + rl_set_prompt (prompt); + RL_SETSTATE (RL_STATE_CALLBACK); + rl_linefunc = linefunc; + _rl_callback_newline (); +} + +/* Read one character, and dispatch to the handler if it ends the line. */ +void +rl_callback_read_char () +{ + char *line; + int eof, jcode; + static procenv_t olevel; + + if (rl_linefunc == NULL) + { + _rl_errmsg ("readline_callback_read_char() called with no handler!"); + abort (); + } + + memcpy ((void *)olevel, (void *)_rl_top_level, sizeof (procenv_t)); + jcode = setjmp (_rl_top_level); + if (jcode) + { + (*rl_redisplay_function) (); + _rl_want_redisplay = 0; + memcpy ((void *)_rl_top_level, (void *)olevel, sizeof (procenv_t)); + return; + } + + do + { + RL_CHECK_SIGNALS (); + if (RL_ISSTATE (RL_STATE_ISEARCH)) + { + eof = _rl_isearch_callback (_rl_iscxt); + if (eof == 0 && (RL_ISSTATE (RL_STATE_ISEARCH) == 0) && RL_ISSTATE (RL_STATE_INPUTPENDING)) + rl_callback_read_char (); + + return; + } + else if (RL_ISSTATE (RL_STATE_NSEARCH)) + { + eof = _rl_nsearch_callback (_rl_nscxt); + return; + } +#if defined (VI_MODE) + else if (RL_ISSTATE (RL_STATE_VIMOTION)) + { + eof = _rl_vi_domove_callback (_rl_vimvcxt); + /* Should handle everything, including cleanup and turning off + RL_STATE_VIMOTION */ + return; + } +#endif + else if (RL_ISSTATE (RL_STATE_NUMERICARG)) + { + eof = _rl_arg_callback (_rl_argcxt); + if (eof == 0 && (RL_ISSTATE (RL_STATE_NUMERICARG) == 0) && RL_ISSTATE (RL_STATE_INPUTPENDING)) + rl_callback_read_char (); + /* XXX - this should handle _rl_last_command_was_kill better */ + else if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0) + _rl_internal_char_cleanup (); + + return; + } + else if (RL_ISSTATE (RL_STATE_MULTIKEY)) + { + eof = _rl_dispatch_callback (_rl_kscxt); /* For now */ + while ((eof == -1 || eof == -2) && RL_ISSTATE (RL_STATE_MULTIKEY) && _rl_kscxt && (_rl_kscxt->flags & KSEQ_DISPATCHED)) + eof = _rl_dispatch_callback (_rl_kscxt); + if (RL_ISSTATE (RL_STATE_MULTIKEY) == 0) + { + _rl_internal_char_cleanup (); + _rl_want_redisplay = 1; + } + } + else if (_rl_callback_func) + { + /* This allows functions that simply need to read an additional + character (like quoted-insert) to register a function to be + called when input is available. _rl_callback_data is simply a + pointer to a struct that has the argument count originally + passed to the registering function and space for any additional + parameters. */ + eof = (*_rl_callback_func) (_rl_callback_data); + /* If the function `deregisters' itself, make sure the data is + cleaned up. */ + if (_rl_callback_func == 0) + { + if (_rl_callback_data) + { + _rl_callback_data_dispose (_rl_callback_data); + _rl_callback_data = 0; + } + _rl_internal_char_cleanup (); + } + } + else + eof = readline_internal_char (); + + RL_CHECK_SIGNALS (); + if (rl_done == 0 && _rl_want_redisplay) + { + (*rl_redisplay_function) (); + _rl_want_redisplay = 0; + } + + if (rl_done) + { + line = readline_internal_teardown (eof); + + if (rl_deprep_term_function) + (*rl_deprep_term_function) (); +#if defined (HANDLE_SIGNALS) + rl_clear_signals (); +#endif + in_handler = 0; + (*rl_linefunc) (line); + + /* If the user did not clear out the line, do it for him. */ + if (rl_line_buffer[0]) + _rl_init_line_state (); + + /* Redisplay the prompt if readline_handler_{install,remove} + not called. */ + if (in_handler == 0 && rl_linefunc) + _rl_callback_newline (); + } + } + while (rl_pending_input || _rl_pushed_input_available () || RL_ISSTATE (RL_STATE_MACROINPUT)); +} + +/* Remove the handler, and make sure the terminal is in its normal state. */ +void +rl_callback_handler_remove () +{ + rl_linefunc = NULL; + RL_UNSETSTATE (RL_STATE_CALLBACK); + RL_CHECK_SIGNALS (); + if (in_handler) + { + in_handler = 0; + if (rl_deprep_term_function) + (*rl_deprep_term_function) (); +#if defined (HANDLE_SIGNALS) + rl_clear_signals (); +#endif + } +} + +_rl_callback_generic_arg * +_rl_callback_data_alloc (count) + int count; +{ + _rl_callback_generic_arg *arg; + + arg = (_rl_callback_generic_arg *)xmalloc (sizeof (_rl_callback_generic_arg)); + arg->count = count; + + arg->i1 = arg->i2 = 0; + + return arg; +} + +void _rl_callback_data_dispose (arg) + _rl_callback_generic_arg *arg; +{ + xfree (arg); +} + +#endif diff --git a/lib/readline/readline.h b/lib/readline/readline.h index 7a4ffaa58..1012b77cc 100644 --- a/lib/readline/readline.h +++ b/lib/readline/readline.h @@ -805,30 +805,30 @@ extern int rl_inhibit_completion; /* Possible state values for rl_readline_state */ #define RL_STATE_NONE 0x000000 /* no state; before first call */ -#define RL_STATE_INITIALIZING 0x000001 /* initializing */ -#define RL_STATE_INITIALIZED 0x000002 /* initialization done */ -#define RL_STATE_TERMPREPPED 0x000004 /* terminal is prepped */ -#define RL_STATE_READCMD 0x000008 /* reading a command key */ -#define RL_STATE_METANEXT 0x000010 /* reading input after ESC */ -#define RL_STATE_DISPATCHING 0x000020 /* dispatching to a command */ -#define RL_STATE_MOREINPUT 0x000040 /* reading more input in a command function */ -#define RL_STATE_ISEARCH 0x000080 /* doing incremental search */ -#define RL_STATE_NSEARCH 0x000100 /* doing non-inc search */ -#define RL_STATE_SEARCH 0x000200 /* doing a history search */ -#define RL_STATE_NUMERICARG 0x000400 /* reading numeric argument */ -#define RL_STATE_MACROINPUT 0x000800 /* getting input from a macro */ -#define RL_STATE_MACRODEF 0x001000 /* defining keyboard macro */ -#define RL_STATE_OVERWRITE 0x002000 /* overwrite mode */ -#define RL_STATE_COMPLETING 0x004000 /* doing completion */ -#define RL_STATE_SIGHANDLER 0x008000 /* in readline sighandler */ -#define RL_STATE_UNDOING 0x010000 /* doing an undo */ -#define RL_STATE_INPUTPENDING 0x020000 /* rl_execute_next called */ -#define RL_STATE_TTYCSAVED 0x040000 /* tty special chars saved */ -#define RL_STATE_CALLBACK 0x080000 /* using the callback interface */ -#define RL_STATE_VIMOTION 0x100000 /* reading vi motion arg */ -#define RL_STATE_MULTIKEY 0x200000 /* reading multiple-key command */ -#define RL_STATE_VICMDONCE 0x400000 /* entered vi command mode at least once */ -#define RL_STATE_REDISPLAYING 0x800000 /* updating terminal display */ +#define RL_STATE_INITIALIZING 0x0000001 /* initializing */ +#define RL_STATE_INITIALIZED 0x0000002 /* initialization done */ +#define RL_STATE_TERMPREPPED 0x0000004 /* terminal is prepped */ +#define RL_STATE_READCMD 0x0000008 /* reading a command key */ +#define RL_STATE_METANEXT 0x0000010 /* reading input after ESC */ +#define RL_STATE_DISPATCHING 0x0000020 /* dispatching to a command */ +#define RL_STATE_MOREINPUT 0x0000040 /* reading more input in a command function */ +#define RL_STATE_ISEARCH 0x0000080 /* doing incremental search */ +#define RL_STATE_NSEARCH 0x0000100 /* doing non-inc search */ +#define RL_STATE_SEARCH 0x0000200 /* doing a history search */ +#define RL_STATE_NUMERICARG 0x0000400 /* reading numeric argument */ +#define RL_STATE_MACROINPUT 0x0000800 /* getting input from a macro */ +#define RL_STATE_MACRODEF 0x0001000 /* defining keyboard macro */ +#define RL_STATE_OVERWRITE 0x0002000 /* overwrite mode */ +#define RL_STATE_COMPLETING 0x0004000 /* doing completion */ +#define RL_STATE_SIGHANDLER 0x0008000 /* in readline sighandler */ +#define RL_STATE_UNDOING 0x0010000 /* doing an undo */ +#define RL_STATE_INPUTPENDING 0x0020000 /* rl_execute_next called */ +#define RL_STATE_TTYCSAVED 0x0040000 /* tty special chars saved */ +#define RL_STATE_CALLBACK 0x0080000 /* using the callback interface */ +#define RL_STATE_VIMOTION 0x0100000 /* reading vi motion arg */ +#define RL_STATE_MULTIKEY 0x0200000 /* reading multiple-key command */ +#define RL_STATE_VICMDONCE 0x0400000 /* entered vi command mode at least once */ +#define RL_STATE_REDISPLAYING 0x0800000 /* updating terminal display */ #define RL_STATE_DONE 0x1000000 /* done; accepted line */ diff --git a/lib/readline/readline.h~ b/lib/readline/readline.h~ new file mode 100644 index 000000000..74d15e639 --- /dev/null +++ b/lib/readline/readline.h~ @@ -0,0 +1,887 @@ +/* Readline.h -- the names of functions callable from within readline. */ + +/* Copyright (C) 1987-2009 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. + + Readline 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. + + Readline 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 Readline. If not, see . +*/ + +#if !defined (_READLINE_H_) +#define _READLINE_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined (READLINE_LIBRARY) +# include "rlstdc.h" +# include "rltypedefs.h" +# include "keymaps.h" +# include "tilde.h" +#else +# include +# include +# include +# include +#endif + +/* Hex-encoded Readline version number. */ +#define RL_READLINE_VERSION 0x0600 /* Readline 6.0 */ +#define RL_VERSION_MAJOR 6 +#define RL_VERSION_MINOR 0 + +/* Readline data structures. */ + +/* Maintaining the state of undo. We remember individual deletes and inserts + on a chain of things to do. */ + +/* The actions that undo knows how to undo. Notice that UNDO_DELETE means + to insert some text, and UNDO_INSERT means to delete some text. I.e., + the code tells undo what to undo, not how to undo it. */ +enum undo_code { UNDO_DELETE, UNDO_INSERT, UNDO_BEGIN, UNDO_END }; + +/* What an element of THE_UNDO_LIST looks like. */ +typedef struct undo_list { + struct undo_list *next; + int start, end; /* Where the change took place. */ + char *text; /* The text to insert, if undoing a delete. */ + enum undo_code what; /* Delete, Insert, Begin, End. */ +} UNDO_LIST; + +/* The current undo list for RL_LINE_BUFFER. */ +extern UNDO_LIST *rl_undo_list; + +/* The data structure for mapping textual names to code addresses. */ +typedef struct _funmap { + const char *name; + rl_command_func_t *function; +} FUNMAP; + +extern FUNMAP **funmap; + +/* **************************************************************** */ +/* */ +/* Functions available to bind to key sequences */ +/* */ +/* **************************************************************** */ + +/* Bindable commands for numeric arguments. */ +extern int rl_digit_argument PARAMS((int, int)); +extern int rl_universal_argument PARAMS((int, int)); + +/* Bindable commands for moving the cursor. */ +extern int rl_forward_byte PARAMS((int, int)); +extern int rl_forward_char PARAMS((int, int)); +extern int rl_forward PARAMS((int, int)); +extern int rl_backward_byte PARAMS((int, int)); +extern int rl_backward_char PARAMS((int, int)); +extern int rl_backward PARAMS((int, int)); +extern int rl_beg_of_line PARAMS((int, int)); +extern int rl_end_of_line PARAMS((int, int)); +extern int rl_forward_word PARAMS((int, int)); +extern int rl_backward_word PARAMS((int, int)); +extern int rl_refresh_line PARAMS((int, int)); +extern int rl_clear_screen PARAMS((int, int)); +extern int rl_skip_csi_sequence PARAMS((int, int)); +extern int rl_arrow_keys PARAMS((int, int)); + +/* Bindable commands for inserting and deleting text. */ +extern int rl_insert PARAMS((int, int)); +extern int rl_quoted_insert PARAMS((int, int)); +extern int rl_tab_insert PARAMS((int, int)); +extern int rl_newline PARAMS((int, int)); +extern int rl_do_lowercase_version PARAMS((int, int)); +extern int rl_rubout PARAMS((int, int)); +extern int rl_delete PARAMS((int, int)); +extern int rl_rubout_or_delete PARAMS((int, int)); +extern int rl_delete_horizontal_space PARAMS((int, int)); +extern int rl_delete_or_show_completions PARAMS((int, int)); +extern int rl_insert_comment PARAMS((int, int)); + +/* Bindable commands for changing case. */ +extern int rl_upcase_word PARAMS((int, int)); +extern int rl_downcase_word PARAMS((int, int)); +extern int rl_capitalize_word PARAMS((int, int)); + +/* Bindable commands for transposing characters and words. */ +extern int rl_transpose_words PARAMS((int, int)); +extern int rl_transpose_chars PARAMS((int, int)); + +/* Bindable commands for searching within a line. */ +extern int rl_char_search PARAMS((int, int)); +extern int rl_backward_char_search PARAMS((int, int)); + +/* Bindable commands for readline's interface to the command history. */ +extern int rl_beginning_of_history PARAMS((int, int)); +extern int rl_end_of_history PARAMS((int, int)); +extern int rl_get_next_history PARAMS((int, int)); +extern int rl_get_previous_history PARAMS((int, int)); + +/* Bindable commands for managing the mark and region. */ +extern int rl_set_mark PARAMS((int, int)); +extern int rl_exchange_point_and_mark PARAMS((int, int)); + +/* Bindable commands to set the editing mode (emacs or vi). */ +extern int rl_vi_editing_mode PARAMS((int, int)); +extern int rl_emacs_editing_mode PARAMS((int, int)); + +/* Bindable commands to change the insert mode (insert or overwrite) */ +extern int rl_overwrite_mode PARAMS((int, int)); + +/* Bindable commands for managing key bindings. */ +extern int rl_re_read_init_file PARAMS((int, int)); +extern int rl_dump_functions PARAMS((int, int)); +extern int rl_dump_macros PARAMS((int, int)); +extern int rl_dump_variables PARAMS((int, int)); + +/* Bindable commands for word completion. */ +extern int rl_complete PARAMS((int, int)); +extern int rl_possible_completions PARAMS((int, int)); +extern int rl_insert_completions PARAMS((int, int)); +extern int rl_old_menu_complete PARAMS((int, int)); +extern int rl_menu_complete PARAMS((int, int)); +extern int rl_backward_menu_complete PARAMS((int, int)); + +/* Bindable commands for killing and yanking text, and managing the kill ring. */ +extern int rl_kill_word PARAMS((int, int)); +extern int rl_backward_kill_word PARAMS((int, int)); +extern int rl_kill_line PARAMS((int, int)); +extern int rl_backward_kill_line PARAMS((int, int)); +extern int rl_kill_full_line PARAMS((int, int)); +extern int rl_unix_word_rubout PARAMS((int, int)); +extern int rl_unix_filename_rubout PARAMS((int, int)); +extern int rl_unix_line_discard PARAMS((int, int)); +extern int rl_copy_region_to_kill PARAMS((int, int)); +extern int rl_kill_region PARAMS((int, int)); +extern int rl_copy_forward_word PARAMS((int, int)); +extern int rl_copy_backward_word PARAMS((int, int)); +extern int rl_yank PARAMS((int, int)); +extern int rl_yank_pop PARAMS((int, int)); +extern int rl_yank_nth_arg PARAMS((int, int)); +extern int rl_yank_last_arg PARAMS((int, int)); +/* Not available unless __CYGWIN__ is defined. */ +#ifdef __CYGWIN__ +extern int rl_paste_from_clipboard PARAMS((int, int)); +#endif + +/* Bindable commands for incremental searching. */ +extern int rl_reverse_search_history PARAMS((int, int)); +extern int rl_forward_search_history PARAMS((int, int)); + +/* Bindable keyboard macro commands. */ +extern int rl_start_kbd_macro PARAMS((int, int)); +extern int rl_end_kbd_macro PARAMS((int, int)); +extern int rl_call_last_kbd_macro PARAMS((int, int)); + +/* Bindable undo commands. */ +extern int rl_revert_line PARAMS((int, int)); +extern int rl_undo_command PARAMS((int, int)); + +/* Bindable tilde expansion commands. */ +extern int rl_tilde_expand PARAMS((int, int)); + +/* Bindable terminal control commands. */ +extern int rl_restart_output PARAMS((int, int)); +extern int rl_stop_output PARAMS((int, int)); + +/* Miscellaneous bindable commands. */ +extern int rl_abort PARAMS((int, int)); +extern int rl_tty_status PARAMS((int, int)); + +/* Bindable commands for incremental and non-incremental history searching. */ +extern int rl_history_search_forward PARAMS((int, int)); +extern int rl_history_search_backward PARAMS((int, int)); +extern int rl_noninc_forward_search PARAMS((int, int)); +extern int rl_noninc_reverse_search PARAMS((int, int)); +extern int rl_noninc_forward_search_again PARAMS((int, int)); +extern int rl_noninc_reverse_search_again PARAMS((int, int)); + +/* Bindable command used when inserting a matching close character. */ +extern int rl_insert_close PARAMS((int, int)); + +/* Not available unless READLINE_CALLBACKS is defined. */ +extern void rl_callback_handler_install PARAMS((const char *, rl_vcpfunc_t *)); +extern void rl_callback_read_char PARAMS((void)); +extern void rl_callback_handler_remove PARAMS((void)); + +/* Things for vi mode. Not available unless readline is compiled -DVI_MODE. */ +/* VI-mode bindable commands. */ +extern int rl_vi_redo PARAMS((int, int)); +extern int rl_vi_undo PARAMS((int, int)); +extern int rl_vi_yank_arg PARAMS((int, int)); +extern int rl_vi_fetch_history PARAMS((int, int)); +extern int rl_vi_search_again PARAMS((int, int)); +extern int rl_vi_search PARAMS((int, int)); +extern int rl_vi_complete PARAMS((int, int)); +extern int rl_vi_tilde_expand PARAMS((int, int)); +extern int rl_vi_prev_word PARAMS((int, int)); +extern int rl_vi_next_word PARAMS((int, int)); +extern int rl_vi_end_word PARAMS((int, int)); +extern int rl_vi_insert_beg PARAMS((int, int)); +extern int rl_vi_append_mode PARAMS((int, int)); +extern int rl_vi_append_eol PARAMS((int, int)); +extern int rl_vi_eof_maybe PARAMS((int, int)); +extern int rl_vi_insertion_mode PARAMS((int, int)); +extern int rl_vi_insert_mode PARAMS((int, int)); +extern int rl_vi_movement_mode PARAMS((int, int)); +extern int rl_vi_arg_digit PARAMS((int, int)); +extern int rl_vi_change_case PARAMS((int, int)); +extern int rl_vi_put PARAMS((int, int)); +extern int rl_vi_column PARAMS((int, int)); +extern int rl_vi_delete_to PARAMS((int, int)); +extern int rl_vi_change_to PARAMS((int, int)); +extern int rl_vi_yank_to PARAMS((int, int)); +extern int rl_vi_rubout PARAMS((int, int)); +extern int rl_vi_delete PARAMS((int, int)); +extern int rl_vi_back_to_indent PARAMS((int, int)); +extern int rl_vi_first_print PARAMS((int, int)); +extern int rl_vi_char_search PARAMS((int, int)); +extern int rl_vi_match PARAMS((int, int)); +extern int rl_vi_change_char PARAMS((int, int)); +extern int rl_vi_subst PARAMS((int, int)); +extern int rl_vi_overstrike PARAMS((int, int)); +extern int rl_vi_overstrike_delete PARAMS((int, int)); +extern int rl_vi_replace PARAMS((int, int)); +extern int rl_vi_set_mark PARAMS((int, int)); +extern int rl_vi_goto_mark PARAMS((int, int)); + +/* VI-mode utility functions. */ +extern int rl_vi_check PARAMS((void)); +extern int rl_vi_domove PARAMS((int, int *)); +extern int rl_vi_bracktype PARAMS((int)); + +extern void rl_vi_start_inserting PARAMS((int, int, int)); + +/* VI-mode pseudo-bindable commands, used as utility functions. */ +extern int rl_vi_fWord PARAMS((int, int)); +extern int rl_vi_bWord PARAMS((int, int)); +extern int rl_vi_eWord PARAMS((int, int)); +extern int rl_vi_fword PARAMS((int, int)); +extern int rl_vi_bword PARAMS((int, int)); +extern int rl_vi_eword PARAMS((int, int)); + +/* **************************************************************** */ +/* */ +/* Well Published Functions */ +/* */ +/* **************************************************************** */ + +/* Readline functions. */ +/* Read a line of input. Prompt with PROMPT. A NULL PROMPT means none. */ +extern char *readline PARAMS((const char *)); + +extern int rl_set_prompt PARAMS((const char *)); +extern int rl_expand_prompt PARAMS((char *)); + +extern int rl_initialize PARAMS((void)); + +/* Undocumented; unused by readline */ +extern int rl_discard_argument PARAMS((void)); + +/* Utility functions to bind keys to readline commands. */ +extern int rl_add_defun PARAMS((const char *, rl_command_func_t *, int)); +extern int rl_bind_key PARAMS((int, rl_command_func_t *)); +extern int rl_bind_key_in_map PARAMS((int, rl_command_func_t *, Keymap)); +extern int rl_unbind_key PARAMS((int)); +extern int rl_unbind_key_in_map PARAMS((int, Keymap)); +extern int rl_bind_key_if_unbound PARAMS((int, rl_command_func_t *)); +extern int rl_bind_key_if_unbound_in_map PARAMS((int, rl_command_func_t *, Keymap)); +extern int rl_unbind_function_in_map PARAMS((rl_command_func_t *, Keymap)); +extern int rl_unbind_command_in_map PARAMS((const char *, Keymap)); +extern int rl_bind_keyseq PARAMS((const char *, rl_command_func_t *)); +extern int rl_bind_keyseq_in_map PARAMS((const char *, rl_command_func_t *, Keymap)); +extern int rl_bind_keyseq_if_unbound PARAMS((const char *, rl_command_func_t *)); +extern int rl_bind_keyseq_if_unbound_in_map PARAMS((const char *, rl_command_func_t *, Keymap)); +extern int rl_generic_bind PARAMS((int, const char *, char *, Keymap)); + +extern char *rl_variable_value PARAMS((const char *)); +extern int rl_variable_bind PARAMS((const char *, const char *)); + +/* Backwards compatibility, use rl_bind_keyseq_in_map instead. */ +extern int rl_set_key PARAMS((const char *, rl_command_func_t *, Keymap)); + +/* Backwards compatibility, use rl_generic_bind instead. */ +extern int rl_macro_bind PARAMS((const char *, const char *, Keymap)); + +/* Undocumented in the texinfo manual; not really useful to programs. */ +extern int rl_translate_keyseq PARAMS((const char *, char *, int *)); +extern char *rl_untranslate_keyseq PARAMS((int)); + +extern rl_command_func_t *rl_named_function PARAMS((const char *)); +extern rl_command_func_t *rl_function_of_keyseq PARAMS((const char *, Keymap, int *)); + +extern void rl_list_funmap_names PARAMS((void)); +extern char **rl_invoking_keyseqs_in_map PARAMS((rl_command_func_t *, Keymap)); +extern char **rl_invoking_keyseqs PARAMS((rl_command_func_t *)); + +extern void rl_function_dumper PARAMS((int)); +extern void rl_macro_dumper PARAMS((int)); +extern void rl_variable_dumper PARAMS((int)); + +extern int rl_read_init_file PARAMS((const char *)); +extern int rl_parse_and_bind PARAMS((char *)); + +/* Functions for manipulating keymaps. */ +extern Keymap rl_make_bare_keymap PARAMS((void)); +extern Keymap rl_copy_keymap PARAMS((Keymap)); +extern Keymap rl_make_keymap PARAMS((void)); +extern void rl_discard_keymap PARAMS((Keymap)); + +extern Keymap rl_get_keymap_by_name PARAMS((const char *)); +extern char *rl_get_keymap_name PARAMS((Keymap)); +extern void rl_set_keymap PARAMS((Keymap)); +extern Keymap rl_get_keymap PARAMS((void)); +/* Undocumented; used internally only. */ +extern void rl_set_keymap_from_edit_mode PARAMS((void)); +extern char *rl_get_keymap_name_from_edit_mode PARAMS((void)); + +/* Functions for manipulating the funmap, which maps command names to functions. */ +extern int rl_add_funmap_entry PARAMS((const char *, rl_command_func_t *)); +extern const char **rl_funmap_names PARAMS((void)); +/* Undocumented, only used internally -- there is only one funmap, and this + function may be called only once. */ +extern void rl_initialize_funmap PARAMS((void)); + +/* Utility functions for managing keyboard macros. */ +extern void rl_push_macro_input PARAMS((char *)); + +/* Functions for undoing, from undo.c */ +extern void rl_add_undo PARAMS((enum undo_code, int, int, char *)); +extern void rl_free_undo_list PARAMS((void)); +extern int rl_do_undo PARAMS((void)); +extern int rl_begin_undo_group PARAMS((void)); +extern int rl_end_undo_group PARAMS((void)); +extern int rl_modifying PARAMS((int, int)); + +/* Functions for redisplay. */ +extern void rl_redisplay PARAMS((void)); +extern int rl_on_new_line PARAMS((void)); +extern int rl_on_new_line_with_prompt PARAMS((void)); +extern int rl_forced_update_display PARAMS((void)); +extern int rl_clear_message PARAMS((void)); +extern int rl_reset_line_state PARAMS((void)); +extern int rl_crlf PARAMS((void)); + +#if defined (USE_VARARGS) && defined (PREFER_STDARG) +extern int rl_message (const char *, ...) __attribute__((__format__ (printf, 1, 2))); +#else +extern int rl_message (); +#endif + +extern int rl_show_char PARAMS((int)); + +/* Undocumented in texinfo manual. */ +extern int rl_character_len PARAMS((int, int)); + +/* Save and restore internal prompt redisplay information. */ +extern void rl_save_prompt PARAMS((void)); +extern void rl_restore_prompt PARAMS((void)); + +/* Modifying text. */ +extern void rl_replace_line PARAMS((const char *, int)); +extern int rl_insert_text PARAMS((const char *)); +extern int rl_delete_text PARAMS((int, int)); +extern int rl_kill_text PARAMS((int, int)); +extern char *rl_copy_text PARAMS((int, int)); + +/* Terminal and tty mode management. */ +extern void rl_prep_terminal PARAMS((int)); +extern void rl_deprep_terminal PARAMS((void)); +extern void rl_tty_set_default_bindings PARAMS((Keymap)); +extern void rl_tty_unset_default_bindings PARAMS((Keymap)); + +extern int rl_reset_terminal PARAMS((const char *)); +extern void rl_resize_terminal PARAMS((void)); +extern void rl_set_screen_size PARAMS((int, int)); +extern void rl_get_screen_size PARAMS((int *, int *)); +extern void rl_reset_screen_size PARAMS((void)); + +extern char *rl_get_termcap PARAMS((const char *)); + +/* Functions for character input. */ +extern int rl_stuff_char PARAMS((int)); +extern int rl_execute_next PARAMS((int)); +extern int rl_clear_pending_input PARAMS((void)); +extern int rl_read_key PARAMS((void)); +extern int rl_getc PARAMS((FILE *)); +extern int rl_set_keyboard_input_timeout PARAMS((int)); + +/* `Public' utility functions . */ +extern void rl_extend_line_buffer PARAMS((int)); +extern int rl_ding PARAMS((void)); +extern int rl_alphabetic PARAMS((int)); +extern void rl_free PARAMS((void *)); + +/* Readline signal handling, from signals.c */ +extern int rl_set_signals PARAMS((void)); +extern int rl_clear_signals PARAMS((void)); +extern void rl_cleanup_after_signal PARAMS((void)); +extern void rl_reset_after_signal PARAMS((void)); +extern void rl_free_line_state PARAMS((void)); + +extern void rl_echo_signal_char PARAMS((int)); + +extern int rl_set_paren_blink_timeout PARAMS((int)); + +/* Undocumented. */ +extern int rl_maybe_save_line PARAMS((void)); +extern int rl_maybe_unsave_line PARAMS((void)); +extern int rl_maybe_replace_line PARAMS((void)); + +/* Completion functions. */ +extern int rl_complete_internal PARAMS((int)); +extern void rl_display_match_list PARAMS((char **, int, int)); + +extern char **rl_completion_matches PARAMS((const char *, rl_compentry_func_t *)); +extern char *rl_username_completion_function PARAMS((const char *, int)); +extern char *rl_filename_completion_function PARAMS((const char *, int)); + +extern int rl_completion_mode PARAMS((rl_command_func_t *)); + +#if 0 +/* Backwards compatibility (compat.c). These will go away sometime. */ +extern void free_undo_list PARAMS((void)); +extern int maybe_save_line PARAMS((void)); +extern int maybe_unsave_line PARAMS((void)); +extern int maybe_replace_line PARAMS((void)); + +extern int ding PARAMS((void)); +extern int alphabetic PARAMS((int)); +extern int crlf PARAMS((void)); + +extern char **completion_matches PARAMS((char *, rl_compentry_func_t *)); +extern char *username_completion_function PARAMS((const char *, int)); +extern char *filename_completion_function PARAMS((const char *, int)); +#endif + +/* **************************************************************** */ +/* */ +/* Well Published Variables */ +/* */ +/* **************************************************************** */ + +/* The version of this incarnation of the readline library. */ +extern const char *rl_library_version; /* e.g., "4.2" */ +extern int rl_readline_version; /* e.g., 0x0402 */ + +/* True if this is real GNU readline. */ +extern int rl_gnu_readline_p; + +/* Flags word encapsulating the current readline state. */ +extern int rl_readline_state; + +/* Says which editing mode readline is currently using. 1 means emacs mode; + 0 means vi mode. */ +extern int rl_editing_mode; + +/* Insert or overwrite mode for emacs mode. 1 means insert mode; 0 means + overwrite mode. Reset to insert mode on each input line. */ +extern int rl_insert_mode; + +/* The name of the calling program. You should initialize this to + whatever was in argv[0]. It is used when parsing conditionals. */ +extern const char *rl_readline_name; + +/* The prompt readline uses. This is set from the argument to + readline (), and should not be assigned to directly. */ +extern char *rl_prompt; + +/* The prompt string that is actually displayed by rl_redisplay. Public so + applications can more easily supply their own redisplay functions. */ +extern char *rl_display_prompt; + +/* The line buffer that is in use. */ +extern char *rl_line_buffer; + +/* The location of point, and end. */ +extern int rl_point; +extern int rl_end; + +/* The mark, or saved cursor position. */ +extern int rl_mark; + +/* Flag to indicate that readline has finished with the current input + line and should return it. */ +extern int rl_done; + +/* If set to a character value, that will be the next keystroke read. */ +extern int rl_pending_input; + +/* Non-zero if we called this function from _rl_dispatch(). It's present + so functions can find out whether they were called from a key binding + or directly from an application. */ +extern int rl_dispatching; + +/* Non-zero if the user typed a numeric argument before executing the + current function. */ +extern int rl_explicit_arg; + +/* The current value of the numeric argument specified by the user. */ +extern int rl_numeric_arg; + +/* The address of the last command function Readline executed. */ +extern rl_command_func_t *rl_last_func; + +/* The name of the terminal to use. */ +extern const char *rl_terminal_name; + +/* The input and output streams. */ +extern FILE *rl_instream; +extern FILE *rl_outstream; + +/* If non-zero, Readline gives values of LINES and COLUMNS from the environment + greater precedence than values fetched from the kernel when computing the + screen dimensions. */ +extern int rl_prefer_env_winsize; + +/* If non-zero, then this is the address of a function to call just + before readline_internal () prints the first prompt. */ +extern rl_hook_func_t *rl_startup_hook; + +/* If non-zero, this is the address of a function to call just before + readline_internal_setup () returns and readline_internal starts + reading input characters. */ +extern rl_hook_func_t *rl_pre_input_hook; + +/* The address of a function to call periodically while Readline is + awaiting character input, or NULL, for no event handling. */ +extern rl_hook_func_t *rl_event_hook; + +/* The address of the function to call to fetch a character from the current + Readline input stream */ +extern rl_getc_func_t *rl_getc_function; + +extern rl_voidfunc_t *rl_redisplay_function; + +extern rl_vintfunc_t *rl_prep_term_function; +extern rl_voidfunc_t *rl_deprep_term_function; + +/* Dispatch variables. */ +extern Keymap rl_executing_keymap; +extern Keymap rl_binding_keymap; + +/* Display variables. */ +/* If non-zero, readline will erase the entire line, including any prompt, + if the only thing typed on an otherwise-blank line is something bound to + rl_newline. */ +extern int rl_erase_empty_line; + +/* If non-zero, the application has already printed the prompt (rl_prompt) + before calling readline, so readline should not output it the first time + redisplay is done. */ +extern int rl_already_prompted; + +/* A non-zero value means to read only this many characters rather than + up to a character bound to accept-line. */ +extern int rl_num_chars_to_read; + +/* The text of a currently-executing keyboard macro. */ +extern char *rl_executing_macro; + +/* Variables to control readline signal handling. */ +/* If non-zero, readline will install its own signal handlers for + SIGINT, SIGTERM, SIGQUIT, SIGALRM, SIGTSTP, SIGTTIN, and SIGTTOU. */ +extern int rl_catch_signals; + +/* If non-zero, readline will install a signal handler for SIGWINCH + that also attempts to call any calling application's SIGWINCH signal + handler. Note that the terminal is not cleaned up before the + application's signal handler is called; use rl_cleanup_after_signal() + to do that. */ +extern int rl_catch_sigwinch; + +/* Completion variables. */ +/* Pointer to the generator function for completion_matches (). + NULL means to use rl_filename_completion_function (), the default + filename completer. */ +extern rl_compentry_func_t *rl_completion_entry_function; + +/* Optional generator for menu completion. Default is + rl_completion_entry_function (rl_filename_completion_function). */ + extern rl_compentry_func_t *rl_menu_completion_entry_function; + +/* If rl_ignore_some_completions_function is non-NULL it is the address + of a function to call after all of the possible matches have been + generated, but before the actual completion is done to the input line. + The function is called with one argument; a NULL terminated array + of (char *). If your function removes any of the elements, they + must be free()'ed. */ +extern rl_compignore_func_t *rl_ignore_some_completions_function; + +/* Pointer to alternative function to create matches. + Function is called with TEXT, START, and END. + START and END are indices in RL_LINE_BUFFER saying what the boundaries + of TEXT are. + If this function exists and returns NULL then call the value of + rl_completion_entry_function to try to match, otherwise use the + array of strings returned. */ +extern rl_completion_func_t *rl_attempted_completion_function; + +/* The basic list of characters that signal a break between words for the + completer routine. The initial contents of this variable is what + breaks words in the shell, i.e. "n\"\\'`@$>". */ +extern const char *rl_basic_word_break_characters; + +/* The list of characters that signal a break between words for + rl_complete_internal. The default list is the contents of + rl_basic_word_break_characters. */ +extern /*const*/ char *rl_completer_word_break_characters; + +/* Hook function to allow an application to set the completion word + break characters before readline breaks up the line. Allows + position-dependent word break characters. */ +extern rl_cpvfunc_t *rl_completion_word_break_hook; + +/* List of characters which can be used to quote a substring of the line. + Completion occurs on the entire substring, and within the substring + rl_completer_word_break_characters are treated as any other character, + unless they also appear within this list. */ +extern const char *rl_completer_quote_characters; + +/* List of quote characters which cause a word break. */ +extern const char *rl_basic_quote_characters; + +/* List of characters that need to be quoted in filenames by the completer. */ +extern const char *rl_filename_quote_characters; + +/* List of characters that are word break characters, but should be left + in TEXT when it is passed to the completion function. The shell uses + this to help determine what kind of completing to do. */ +extern const char *rl_special_prefixes; + +/* If non-zero, then this is the address of a function to call when + completing on a directory name. The function is called with + the address of a string (the current directory name) as an arg. It + changes what is displayed when the possible completions are printed + or inserted. */ +extern rl_icppfunc_t *rl_directory_completion_hook; + +/* If non-zero, this is the address of a function to call when completing + a directory name. This function takes the address of the directory name + to be modified as an argument. Unlike rl_directory_completion_hook, it + only modifies the directory name used in opendir(2), not what is displayed + when the possible completions are printed or inserted. It is called + before rl_directory_completion_hook. I'm not happy with how this works + yet, so it's undocumented. */ +extern rl_icppfunc_t *rl_directory_rewrite_hook; + +/* If non-zero, this is the address of a function to call when reading + directory entries from the filesystem for completion and comparing + them to the partial word to be completed. The function should + either return its first argument (if no conversion takes place) or + newly-allocated memory. This can, for instance, convert filenames + between character sets for comparison against what's typed at the + keyboard. The returned value is what is added to the list of + matches. The second argument is the length of the filename to be + converted. */ +extern rl_dequote_func_t *rl_filename_rewrite_hook; + +/* Backwards compatibility with previous versions of readline. */ +#define rl_symbolic_link_hook rl_directory_completion_hook + +/* If non-zero, then this is the address of a function to call when + completing a word would normally display the list of possible matches. + This function is called instead of actually doing the display. + It takes three arguments: (char **matches, int num_matches, int max_length) + where MATCHES is the array of strings that matched, NUM_MATCHES is the + number of strings in that array, and MAX_LENGTH is the length of the + longest string in that array. */ +extern rl_compdisp_func_t *rl_completion_display_matches_hook; + +/* Non-zero means that the results of the matches are to be treated + as filenames. This is ALWAYS zero on entry, and can only be changed + within a completion entry finder function. */ +extern int rl_filename_completion_desired; + +/* Non-zero means that the results of the matches are to be quoted using + double quotes (or an application-specific quoting mechanism) if the + filename contains any characters in rl_word_break_chars. This is + ALWAYS non-zero on entry, and can only be changed within a completion + entry finder function. */ +extern int rl_filename_quoting_desired; + +/* Set to a function to quote a filename in an application-specific fashion. + Called with the text to quote, the type of match found (single or multiple) + and a pointer to the quoting character to be used, which the function can + reset if desired. */ +extern rl_quote_func_t *rl_filename_quoting_function; + +/* Function to call to remove quoting characters from a filename. Called + before completion is attempted, so the embedded quotes do not interfere + with matching names in the file system. */ +extern rl_dequote_func_t *rl_filename_dequoting_function; + +/* Function to call to decide whether or not a word break character is + quoted. If a character is quoted, it does not break words for the + completer. */ +extern rl_linebuf_func_t *rl_char_is_quoted_p; + +/* Non-zero means to suppress normal filename completion after the + user-specified completion function has been called. */ +extern int rl_attempted_completion_over; + +/* Set to a character describing the type of completion being attempted by + rl_complete_internal; available for use by application completion + functions. */ +extern int rl_completion_type; + +/* Set to the last key used to invoke one of the completion functions */ +extern int rl_completion_invoking_key; + +/* Up to this many items will be displayed in response to a + possible-completions call. After that, we ask the user if she + is sure she wants to see them all. The default value is 100. */ +extern int rl_completion_query_items; + +/* Character appended to completed words when at the end of the line. The + default is a space. Nothing is added if this is '\0'. */ +extern int rl_completion_append_character; + +/* If set to non-zero by an application completion function, + rl_completion_append_character will not be appended. */ +extern int rl_completion_suppress_append; + +/* Set to any quote character readline thinks it finds before any application + completion function is called. */ +extern int rl_completion_quote_character; + +/* Set to a non-zero value if readline found quoting anywhere in the word to + be completed; set before any application completion function is called. */ +extern int rl_completion_found_quote; + +/* If non-zero, the completion functions don't append any closing quote. + This is set to 0 by rl_complete_internal and may be changed by an + application-specific completion function. */ +extern int rl_completion_suppress_quote; + +/* If non-zero, readline will sort the completion matches. On by default. */ +extern int rl_sort_completion_matches; + +/* If non-zero, a slash will be appended to completed filenames that are + symbolic links to directory names, subject to the value of the + mark-directories variable (which is user-settable). This exists so + that application completion functions can override the user's preference + (set via the mark-symlinked-directories variable) if appropriate. + It's set to the value of _rl_complete_mark_symlink_dirs in + rl_complete_internal before any application-specific completion + function is called, so without that function doing anything, the user's + preferences are honored. */ +extern int rl_completion_mark_symlink_dirs; + +/* If non-zero, then disallow duplicates in the matches. */ +extern int rl_ignore_completion_duplicates; + +/* If this is non-zero, completion is (temporarily) inhibited, and the + completion character will be inserted as any other. */ +extern int rl_inhibit_completion; + +/* Input error; can be returned by (*rl_getc_function) if readline is reading + a top-level command (RL_ISSTATE (RL_STATE_READCMD)). */ +#define READERR (-2) + +/* Definitions available for use by readline clients. */ +#define RL_PROMPT_START_IGNORE '\001' +#define RL_PROMPT_END_IGNORE '\002' + +/* Possible values for do_replace argument to rl_filename_quoting_function, + called by rl_complete_internal. */ +#define NO_MATCH 0 +#define SINGLE_MATCH 1 +#define MULT_MATCH 2 + +/* Possible state values for rl_readline_state */ +#define RL_STATE_NONE 0x000000 /* no state; before first call */ + +#define RL_STATE_INITIALIZING 0x0000001 /* initializing */ +#define RL_STATE_INITIALIZED 0x0000002 /* initialization done */ +#define RL_STATE_TERMPREPPED 0x0000004 /* terminal is prepped */ +#define RL_STATE_READCMD 0x0000008 /* reading a command key */ +#define RL_STATE_METANEXT 0x0000010 /* reading input after ESC */ +#define RL_STATE_DISPATCHING 0x0000020 /* dispatching to a command */ +#define RL_STATE_MOREINPUT 0x0000040 /* reading more input in a command function */ +#define RL_STATE_ISEARCH 0x0000080 /* doing incremental search */ +#define RL_STATE_NSEARCH 0x0000100 /* doing non-inc search */ +#define RL_STATE_SEARCH 0x0000200 /* doing a history search */ +#define RL_STATE_NUMERICARG 0x0000400 /* reading numeric argument */ +#define RL_STATE_MACROINPUT 0x0000800 /* getting input from a macro */ +#define RL_STATE_MACRODEF 0x0001000 /* defining keyboard macro */ +#define RL_STATE_OVERWRITE 0x0002000 /* overwrite mode */ +#define RL_STATE_COMPLETING 0x0004000 /* doing completion */ +#define RL_STATE_SIGHANDLER 0x0008000 /* in readline sighandler */ +#define RL_STATE_UNDOING 0x0010000 /* doing an undo */ +#define RL_STATE_INPUTPENDING 0x0020000 /* rl_execute_next called */ +#define RL_STATE_TTYCSAVED 0x0040000 /* tty special chars saved */ +#define RL_STATE_CALLBACK 0x0080000 /* using the callback interface */ +#define RL_STATE_VIMOTION 0x0100000 /* reading vi motion arg */ +#define RL_STATE_MULTIKEY 0x0200000 /* reading multiple-key command */ +#define RL_STATE_VICMDONCE 0x0400000 /* entered vi command mode at least once */ +#define RL_STATE_REDISPLAYING 0x0800000 /* updating terminal display */ +#define RL_STATE_VIMOVECHAR 0x1000000 /* vi motion compound command motion char*/ +#define RL_STATE_VIMOVEDIGIT 0x2000000 /* vi motion command numeric arg */ + +#define RL_STATE_DONE 0x10000000 /* done; accepted line */ + +#define RL_SETSTATE(x) (rl_readline_state |= (x)) +#define RL_UNSETSTATE(x) (rl_readline_state &= ~(x)) +#define RL_ISSTATE(x) (rl_readline_state & (x)) + +struct readline_state { + /* line state */ + int point; + int end; + int mark; + char *buffer; + int buflen; + UNDO_LIST *ul; + char *prompt; + + /* global state */ + int rlstate; + int done; + Keymap kmap; + + /* input state */ + rl_command_func_t *lastfunc; + int insmode; + int edmode; + int kseqlen; + FILE *inf; + FILE *outf; + int pendingin; + char *macro; + + /* signal state */ + int catchsigs; + int catchsigwinch; + + /* search state */ + + /* completion state */ + + /* options state */ + + /* reserved for future expansion, so the struct size doesn't change */ + char reserved[64]; +}; + +extern int rl_save_state PARAMS((struct readline_state *)); +extern int rl_restore_state PARAMS((struct readline_state *)); + +#ifdef __cplusplus +} +#endif + +#endif /* _READLINE_H_ */ diff --git a/lib/readline/rlprivate.h b/lib/readline/rlprivate.h index 8b9b2de04..b2e3f6b12 100644 --- a/lib/readline/rlprivate.h +++ b/lib/readline/rlprivate.h @@ -387,6 +387,7 @@ extern void _rl_vi_reset_last PARAMS((void)); extern void _rl_vi_set_last PARAMS((int, int, int)); extern int _rl_vi_textmod_command PARAMS((int)); extern void _rl_vi_done_inserting PARAMS((void)); +extern int _rl_vi_domove_callback PARAMS((_rl_vimotion_cxt *)); /************************************************************************* * Undocumented private variables * @@ -494,5 +495,6 @@ extern int _rl_undo_group_level; /* vi_mode.c */ extern int _rl_vi_last_command; +extern _rl_vimotion_cxt *_rl_vimvcxt; #endif /* _RL_PRIVATE_H_ */ diff --git a/lib/readline/rlprivate.h~ b/lib/readline/rlprivate.h~ index d9044aea1..655a33a62 100644 --- a/lib/readline/rlprivate.h~ +++ b/lib/readline/rlprivate.h~ @@ -125,6 +125,11 @@ typedef struct __rl_keyseq_context #define VIM_CHANGE 0x02 #define VIM_YANK 0x04 +/* various states for vi-mode commands that use motion commands. reflects + RL_READLINE_STATE */ +#define VMSTATE_READ 0x01 +#define VMSTATE_NUMARG 0x02 + typedef struct __rl_vimotion_context { int op; @@ -382,6 +387,7 @@ extern void _rl_vi_reset_last PARAMS((void)); extern void _rl_vi_set_last PARAMS((int, int, int)); extern int _rl_vi_textmod_command PARAMS((int)); extern void _rl_vi_done_inserting PARAMS((void)); +extern int _rl_vi_domove_callback PARAMS((_rl_vimotion_cxt *)); /************************************************************************* * Undocumented private variables * @@ -489,5 +495,6 @@ extern int _rl_undo_group_level; /* vi_mode.c */ extern int _rl_vi_last_command; +extern _rl_vimotion_cxt *_rl_vimv_cxt; #endif /* _RL_PRIVATE_H_ */ diff --git a/lib/readline/vi_mode.c b/lib/readline/vi_mode.c index faa29aced..a02a0d8aa 100644 --- a/lib/readline/vi_mode.c +++ b/lib/readline/vi_mode.c @@ -130,6 +130,10 @@ static int _rl_vi_callback_change_char PARAMS((_rl_callback_generic_arg *)); static int _rl_vi_callback_char_search PARAMS((_rl_callback_generic_arg *)); #endif +static int rl_domove_read_callback PARAMS((_rl_vimotion_cxt *)); +static int rl_domove_motion_callback PARAMS((_rl_vimotion_cxt *)); +static int rl_vi_domove_getchar PARAMS((_rl_vimotion_cxt *)); + static int vi_change_dispatch PARAMS((_rl_vimotion_cxt *)); static int vi_delete_dispatch PARAMS((_rl_vimotion_cxt *)); static int vi_yank_dispatch PARAMS((_rl_vimotion_cxt *)); @@ -918,59 +922,106 @@ rl_vi_column (count, key) return (0); } -int -rl_vi_domove (key, nextkey) - int key, *nextkey; +/* Process C as part of the current numeric argument. Return -1 if the + argument should be aborted, 0 if we should not read any more chars, and + 1 if we should continue to read chars. */ +static int +_rl_vi_arg_dispatch (c) + int c; { - int c, save; - int old_end; - - rl_mark = rl_point; - RL_SETSTATE(RL_STATE_MOREINPUT); - c = rl_read_key (); - RL_UNSETSTATE(RL_STATE_MOREINPUT); + int key; - if (c < 0) + key = c; + if (c >= 0 && _rl_keymap[c].type == ISFUNC && _rl_keymap[c].function == rl_universal_argument) { - *nextkey = 0; - return -1; + rl_numeric_arg *= 4; + return 1; } - *nextkey = c; + c = UNMETA (c); - if (!member (c, vi_motion)) + if (_rl_digit_p (c)) { - if (_rl_digit_p (c)) - { - save = rl_numeric_arg; - rl_numeric_arg = _rl_digit_value (c); - rl_explicit_arg = 1; - RL_SETSTATE (RL_STATE_NUMERICARG|RL_STATE_VIMOTION); - rl_digit_loop1 (); - RL_UNSETSTATE (RL_STATE_VIMOTION); - rl_numeric_arg *= save; - RL_SETSTATE(RL_STATE_MOREINPUT); - c = rl_read_key (); /* real command */ - RL_UNSETSTATE(RL_STATE_MOREINPUT); - if (c < 0) - { - *nextkey = 0; - return -1; - } - *nextkey = c; - } - else if (key == c && (key == 'd' || key == 'y' || key == 'c')) - { - rl_mark = rl_end; - rl_beg_of_line (1, c); - _rl_vi_last_motion = c; - return (0); - } + if (rl_explicit_arg) + rl_numeric_arg = (rl_numeric_arg * 10) + _rl_digit_value (c); else - return (-1); + rl_numeric_arg = _rl_digit_value (c); + rl_explicit_arg = 1; + return 1; /* keep going */ + } + else + { + rl_clear_message (); + rl_stuff_char (key); + return 0; /* done */ } +} + +/* A simplified loop for vi. Don't dispatch key at end. + Don't recognize minus sign? + Should this do rl_save_prompt/rl_restore_prompt? */ +static int +rl_digit_loop1 () +{ + int c, r; + + while (1) + { + if (_rl_arg_overflow ()) + return 1; + + c = _rl_arg_getchar (); + + r = _rl_vi_arg_dispatch (c); + if (r <= 0) + break; + } + + RL_UNSETSTATE(RL_STATE_NUMERICARG); + return (0); +} + +static void +_rl_mvcxt_init (m, op, key) + _rl_vimotion_cxt *m; + int op, key; +{ + m->op = op; + m->state = m->flags = 0; + m->ncxt = 0; + m->numeric_arg = -1; + m->start = rl_point; + m->end = rl_end; + m->key = key; + m->motion = -1; +} + +static _rl_vimotion_cxt * +_rl_mvcxt_alloc (op, key) + int op, key; +{ + _rl_vimotion_cxt *m; - _rl_vi_last_motion = c; + m = xmalloc (sizeof (_rl_vimotion_cxt)); + _rl_mvcxt_init (m, op, key); + return m; +} + +static void +_rl_mvcxt_dispose (m) + _rl_vimotion_cxt *m; +{ + free (m); +} + +static int +rl_domove_motion_callback (m) + _rl_vimotion_cxt *m; +{ + int c, key, save, r; + int old_end; + + _rl_vi_last_motion = c = m->motion; /* Append a blank character temporarily so that the motion routines work right at the end of the line. */ @@ -1022,114 +1073,132 @@ rl_vi_domove (key, nextkey) if (rl_mark < rl_point) SWAP (rl_point, rl_mark); - return (0); +#if defined (READLINE_CALLBACKS) + if (RL_ISSTATE (RL_STATE_CALLBACK)) + (*rl_redisplay_function)(); /* make sure motion is displayed */ +#endif + + r = vidomove_dispatch (m); + + return (r); } -/* Process C as part of the current numeric argument. Return -1 if the - argument should be aborted, 0 if we should not read any more chars, and - 1 if we should continue to read chars. */ +#define RL_VIMOVENUMARG() (RL_ISSTATE (RL_STATE_VIMOTION) && RL_ISSTATE (RL_STATE_NUMERICARG)) + static int -_rl_vi_arg_dispatch (c) - int c; +rl_domove_read_callback (m) + _rl_vimotion_cxt *m; { - int key; + int c, save; - key = c; - if (c >= 0 && _rl_keymap[c].type == ISFUNC && _rl_keymap[c].function == rl_universal_argument) + c = m->motion; + + if (member (c, vi_motion)) { - rl_numeric_arg *= 4; - return 1; +#if defined (READLINE_CALLBACKS) + /* If we just read a vi-mode motion command numeric argument, turn off + the `reading numeric arg' state */ + if (RL_ISSTATE (RL_STATE_CALLBACK) && RL_VIMOVENUMARG()) + RL_UNSETSTATE (RL_STATE_NUMERICARG); +#endif + /* Should do everything, including turning off RL_STATE_VIMOTION */ + return (rl_domove_motion_callback (m)); } - - c = UNMETA (c); - - if (_rl_digit_p (c)) + else if (m->key == c && (m->key == 'd' || m->key == 'y' || m->key == 'c')) { - if (rl_explicit_arg) - rl_numeric_arg = (rl_numeric_arg * 10) + _rl_digit_value (c); - else - rl_numeric_arg = _rl_digit_value (c); + rl_mark = rl_end; + rl_beg_of_line (1, c); + _rl_vi_last_motion = c; + RL_UNSETSTATE (RL_STATE_VIMOTION); + return (0); + } +#if defined (READLINE_CALLBACKS) + /* XXX - these need to handle rl_universal_argument bindings */ + /* Reading vi motion char continuing numeric argument */ + else if (_rl_digit_p (c) && RL_ISSTATE (RL_STATE_CALLBACK) && RL_VIMOVENUMARG()) + { + return (_rl_vi_arg_dispatch (c)); + } + /* Readine vi motion char starting numeric argument */ + else if (_rl_digit_p (c) && RL_ISSTATE (RL_STATE_CALLBACK) && RL_ISSTATE (RL_STATE_VIMOTION) && (RL_ISSTATE (RL_STATE_NUMERICARG) == 0)) + { + RL_SETSTATE (RL_STATE_NUMERICARG); + return (_rl_vi_arg_dispatch (c)); + } +#endif + else if (_rl_digit_p (c)) + { + /* This code path taken when not in callback mode */ + save = rl_numeric_arg; + rl_numeric_arg = _rl_digit_value (c); rl_explicit_arg = 1; - return 1; + RL_SETSTATE (RL_STATE_NUMERICARG); + rl_digit_loop1 (); + rl_numeric_arg *= save; + c = rl_vi_domove_getchar (m); + if (c < 0) + { + m->motion = 0; + return -1; + } + m->motion = c; + return (rl_domove_motion_callback (m)); } else { - rl_clear_message (); - rl_stuff_char (key); - return 0; + RL_UNSETSTATE (RL_STATE_VIMOTION); + RL_UNSETSTATE (RL_STATE_NUMERICARG); + return (1); } } -/* A simplified loop for vi. Don't dispatch key at end. - Don't recognize minus sign? - Should this do rl_save_prompt/rl_restore_prompt? */ static int -rl_digit_loop1 () +rl_vi_domove_getchar (m) + _rl_vimotion_cxt *m; { - int c, r; - - while (1) - { - if (_rl_arg_overflow ()) - return 1; - - c = _rl_arg_getchar (); + int c; - r = _rl_vi_arg_dispatch (c); - if (r <= 0) - break; - } + RL_SETSTATE(RL_STATE_MOREINPUT); + c = rl_read_key (); + RL_UNSETSTATE(RL_STATE_MOREINPUT); - RL_UNSETSTATE(RL_STATE_NUMERICARG); - return (0); + return c; } -static void -_rl_mvcxt_init (m, op, key) +#if defined (READLINE_CALLBACKS) +int +_rl_vi_domove_callback (m) _rl_vimotion_cxt *m; - int op, key; { - m->op = op; - m->state = m->flags = 0; - m->ncxt = 0; - m->numeric_arg = -1; - m->start = rl_point; - m->end = rl_end; - m->key = key; - m->motion = -1; + int c, r; + + m->motion = c = rl_vi_domove_getchar (m); + /* XXX - what to do if this returns -1? Should we return 1 for eof to + callback code? */ + r = rl_domove_read_callback (m); + + return ((r == 0) ? r : 1); /* normalize return values */ } +#endif -static _rl_vimotion_cxt * -_rl_mvcxt_alloc (op, key) - int op, key; +/* This code path taken when not in callback mode. */ +int +rl_vi_domove (x, ignore) + int x, *ignore; { + int r; _rl_vimotion_cxt *m; - m = xmalloc (sizeof (_rl_vimotion_cxt)); - _rl_mvcxt_init (m, op, key); - return m; -} + *ignore = m->motion = rl_vi_domove_getchar (m = _rl_vimvcxt); -static void -_rl_mvcxt_dispose (m) - _rl_vimotion_cxt *m; -{ - free (m); -} + if (m->motion < 0) + { + m->motion = 0; + return -1; + } -/* - * 1. Create context, set initial values - * 2. Pass to rl_vi_domove to populate - * 3. Use returned context to finish rest of command - * - * Context: - * op - * state - * flags - * numeric arg - * start, end positions - * initial key (key), motion key (c) - */ + return (rl_domove_read_callback (m)); +} static int vi_delete_dispatch (m) @@ -1151,25 +1220,39 @@ rl_vi_delete_to (count, key) { int c, r; - if (_rl_uppercase_p (key)) - rl_stuff_char ('$'); - else if (vi_redoing) - rl_stuff_char (_rl_vi_last_motion); - _rl_vimvcxt = _rl_mvcxt_alloc (VIM_DELETE, key); _rl_vimvcxt->start = rl_point; - /* XXX -- TODO -- pass and use context in rl_vi_domove */ - if (rl_vi_domove (key, &c)) + rl_mark = rl_point; + if (_rl_uppercase_p (key)) + { + _rl_vimvcxt->motion = '$'; + r = rl_domove_motion_callback (_rl_vimvcxt); + } + else if (vi_redoing) + { + _rl_vimvcxt->motion = _rl_vi_last_motion; + r = rl_domove_motion_callback (_rl_vimvcxt); + } +#if defined (READLINE_CALLBACKS) + else if (RL_ISSTATE (RL_STATE_CALLBACK)) + { + RL_SETSTATE (RL_STATE_VIMOTION); + return (0); + } +#endif + else + r = rl_vi_domove (key, &c); + + if (r < 0) { rl_ding (); - return -1; + r = -1; } - _rl_vimvcxt->motion = c; - r = vidomove_dispatch (_rl_vimvcxt); _rl_mvcxt_dispose (_rl_vimvcxt); _rl_vimvcxt = 0; + return r; } @@ -1219,25 +1302,39 @@ rl_vi_change_to (count, key) { int c, r; - if (_rl_uppercase_p (key)) - rl_stuff_char ('$'); - else if (vi_redoing) - rl_stuff_char (_rl_vi_last_motion); - _rl_vimvcxt = _rl_mvcxt_alloc (VIM_CHANGE, key); _rl_vimvcxt->start = rl_point; - /* XXX -- TODO -- pass and use context in rl_vi_domove */ - if (rl_vi_domove (key, &c)) + rl_mark = rl_point; + if (_rl_uppercase_p (key)) + { + _rl_vimvcxt->motion = '$'; + r = rl_domove_motion_callback (_rl_vimvcxt); + } + else if (vi_redoing) + { + _rl_vimvcxt->motion = _rl_vi_last_motion; + r = rl_domove_motion_callback (_rl_vimvcxt); + } +#if defined (READLINE_CALLBACKS) + else if (RL_ISSTATE (RL_STATE_CALLBACK)) + { + RL_SETSTATE (RL_STATE_VIMOTION); + return (0); + } +#endif + else + r = rl_vi_domove (key, &c); + + if (r < 0) { rl_ding (); - return -1; + r = -1; /* normalize return value */ } - _rl_vimvcxt->motion = c; - r = vidomove_dispatch (_rl_vimvcxt); _rl_mvcxt_dispose (_rl_vimvcxt); _rl_vimvcxt = 0; + return r; } @@ -1266,23 +1363,34 @@ rl_vi_yank_to (count, key) { int c, r; - if (_rl_uppercase_p (key)) - rl_stuff_char ('$'); - _rl_vimvcxt = _rl_mvcxt_alloc (VIM_YANK, key); _rl_vimvcxt->start = rl_point; - /* XXX -- TODO -- pass and use context in rl_vi_domove */ - if (rl_vi_domove (key, &c)) + rl_mark = rl_point; + if (_rl_uppercase_p (key)) + { + _rl_vimvcxt->motion = '$'; + r = rl_domove_motion_callback (_rl_vimvcxt); + } +#if defined (READLINE_CALLBACKS) + else if (RL_ISSTATE (RL_STATE_CALLBACK)) + { + RL_SETSTATE (RL_STATE_VIMOTION); + return (0); + } +#endif + else + r = rl_vi_domove (key, &c); + + if (r < 0) { rl_ding (); - return -1; + r = -1; } - _rl_vimvcxt->motion = c; - r = vidomove_dispatch (_rl_vimvcxt); _rl_mvcxt_dispose (_rl_vimvcxt); _rl_vimvcxt = 0; + return r; } @@ -1304,11 +1412,12 @@ vidomove_dispatch (m) r = vi_yank_dispatch (m); break; default: - fprintf (stderr, "vidomove_dispatch: unknown operator %d", m->op); + _rl_errmsg ("vidomove_dispatch: unknown operator %d", m->op); r = 1; break; } + RL_UNSETSTATE (RL_STATE_VIMOTION); return r; } diff --git a/lib/readline/vi_mode.c.save1 b/lib/readline/vi_mode.c.save1 new file mode 100644 index 000000000..faa29aced --- /dev/null +++ b/lib/readline/vi_mode.c.save1 @@ -0,0 +1,1957 @@ +/* vi_mode.c -- A vi emulation mode for Bash. + Derived from code written by Jeff Sparkes (jsparkes@bnr.ca). */ + +/* Copyright (C) 1987-2010 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. + + Readline 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. + + Readline 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 Readline. If not, see . +*/ + +#define READLINE_LIBRARY + +/* **************************************************************** */ +/* */ +/* VI Emulation Mode */ +/* */ +/* **************************************************************** */ +#include "rlconf.h" + +#if defined (VI_MODE) + +#if defined (HAVE_CONFIG_H) +# include +#endif + +#include + +#if defined (HAVE_STDLIB_H) +# include +#else +# include "ansi_stdlib.h" +#endif /* HAVE_STDLIB_H */ + +#if defined (HAVE_UNISTD_H) +# include +#endif + +#include + +/* Some standard library routines. */ +#include "rldefs.h" +#include "rlmbutil.h" + +#include "readline.h" +#include "history.h" + +#include "rlprivate.h" +#include "xmalloc.h" + +#ifndef member +#define member(c, s) ((c) ? (char *)strchr ((s), (c)) != (char *)NULL : 0) +#endif + +int _rl_vi_last_command = 'i'; /* default `.' puts you in insert mode */ + +_rl_vimotion_cxt *_rl_vimvcxt = 0; + +/* Non-zero means enter insertion mode. */ +static int _rl_vi_doing_insert; + +/* Command keys which do movement for xxx_to commands. */ +static const char * const vi_motion = " hl^$0ftFT;,%wbeWBE|`"; + +/* Keymap used for vi replace characters. Created dynamically since + rarely used. */ +static Keymap vi_replace_map; + +/* The number of characters inserted in the last replace operation. */ +static int vi_replace_count; + +/* If non-zero, we have text inserted after a c[motion] command that put + us implicitly into insert mode. Some people want this text to be + attached to the command so that it is `redoable' with `.'. */ +static int vi_continued_command; +static char *vi_insert_buffer; +static int vi_insert_buffer_size; + +static int _rl_vi_last_repeat = 1; +static int _rl_vi_last_arg_sign = 1; +static int _rl_vi_last_motion; +#if defined (HANDLE_MULTIBYTE) +static char _rl_vi_last_search_mbchar[MB_LEN_MAX]; +static int _rl_vi_last_search_mblen; +#else +static int _rl_vi_last_search_char; +#endif +static int _rl_vi_last_replacement; + +static int _rl_vi_last_key_before_insert; + +static int vi_redoing; + +/* Text modification commands. These are the `redoable' commands. */ +static const char * const vi_textmod = "_*\\AaIiCcDdPpYyRrSsXx~"; + +/* Arrays for the saved marks. */ +static int vi_mark_chars['z' - 'a' + 1]; + +static void _rl_vi_stuff_insert PARAMS((int)); +static void _rl_vi_save_insert PARAMS((UNDO_LIST *)); + +static void _rl_vi_backup PARAMS((void)); + +static int _rl_vi_arg_dispatch PARAMS((int)); +static int rl_digit_loop1 PARAMS((void)); + +static int _rl_vi_set_mark PARAMS((void)); +static int _rl_vi_goto_mark PARAMS((void)); + +static void _rl_vi_append_forward PARAMS((int)); + +static int _rl_vi_callback_getchar PARAMS((char *, int)); + +#if defined (READLINE_CALLBACKS) +static int _rl_vi_callback_set_mark PARAMS((_rl_callback_generic_arg *)); +static int _rl_vi_callback_goto_mark PARAMS((_rl_callback_generic_arg *)); +static int _rl_vi_callback_change_char PARAMS((_rl_callback_generic_arg *)); +static int _rl_vi_callback_char_search PARAMS((_rl_callback_generic_arg *)); +#endif + +static int vi_change_dispatch PARAMS((_rl_vimotion_cxt *)); +static int vi_delete_dispatch PARAMS((_rl_vimotion_cxt *)); +static int vi_yank_dispatch PARAMS((_rl_vimotion_cxt *)); + +static int vidomove_dispatch PARAMS((_rl_vimotion_cxt *)); + +void +_rl_vi_initialize_line () +{ + register int i, n; + + n = sizeof (vi_mark_chars) / sizeof (vi_mark_chars[0]); + for (i = 0; i < n; i++) + vi_mark_chars[i] = -1; + + RL_UNSETSTATE(RL_STATE_VICMDONCE); +} + +void +_rl_vi_reset_last () +{ + _rl_vi_last_command = 'i'; + _rl_vi_last_repeat = 1; + _rl_vi_last_arg_sign = 1; + _rl_vi_last_motion = 0; +} + +void +_rl_vi_set_last (key, repeat, sign) + int key, repeat, sign; +{ + _rl_vi_last_command = key; + _rl_vi_last_repeat = repeat; + _rl_vi_last_arg_sign = sign; +} + +/* A convenience function that calls _rl_vi_set_last to save the last command + information and enters insertion mode. */ +void +rl_vi_start_inserting (key, repeat, sign) + int key, repeat, sign; +{ + _rl_vi_set_last (key, repeat, sign); + rl_vi_insertion_mode (1, key); +} + +/* Is the command C a VI mode text modification command? */ +int +_rl_vi_textmod_command (c) + int c; +{ + return (member (c, vi_textmod)); +} + +static void +_rl_vi_stuff_insert (count) + int count; +{ + rl_begin_undo_group (); + while (count--) + rl_insert_text (vi_insert_buffer); + rl_end_undo_group (); +} + +/* Bound to `.'. Called from command mode, so we know that we have to + redo a text modification command. The default for _rl_vi_last_command + puts you back into insert mode. */ +int +rl_vi_redo (count, c) + int count, c; +{ + int r; + + if (!rl_explicit_arg) + { + rl_numeric_arg = _rl_vi_last_repeat; + rl_arg_sign = _rl_vi_last_arg_sign; + } + + r = 0; + vi_redoing = 1; + /* If we're redoing an insert with `i', stuff in the inserted text + and do not go into insertion mode. */ + if (_rl_vi_last_command == 'i' && vi_insert_buffer && *vi_insert_buffer) + { + _rl_vi_stuff_insert (count); + /* And back up point over the last character inserted. */ + if (rl_point > 0) + _rl_vi_backup (); + } + /* Ditto for redoing an insert with `I', but move to the beginning of the + line like the `I' command does. */ + else if (_rl_vi_last_command == 'I' && vi_insert_buffer && *vi_insert_buffer) + { + rl_beg_of_line (1, 'I'); + _rl_vi_stuff_insert (count); + if (rl_point > 0) + _rl_vi_backup (); + } + /* Ditto for redoing an insert with `a', but move forward a character first + like the `a' command does. */ + else if (_rl_vi_last_command == 'a' && vi_insert_buffer && *vi_insert_buffer) + { + _rl_vi_append_forward ('a'); + _rl_vi_stuff_insert (count); + if (rl_point > 0) + _rl_vi_backup (); + } + /* Ditto for redoing an insert with `A', but move to the end of the line + like the `A' command does. */ + else if (_rl_vi_last_command == 'A' && vi_insert_buffer && *vi_insert_buffer) + { + rl_end_of_line (1, 'A'); + _rl_vi_stuff_insert (count); + if (rl_point > 0) + _rl_vi_backup (); + } + else + r = _rl_dispatch (_rl_vi_last_command, _rl_keymap); + vi_redoing = 0; + + return (r); +} + +/* A placeholder for further expansion. */ +int +rl_vi_undo (count, key) + int count, key; +{ + return (rl_undo_command (count, key)); +} + +/* Yank the nth arg from the previous line into this line at point. */ +int +rl_vi_yank_arg (count, key) + int count, key; +{ + /* Readline thinks that the first word on a line is the 0th, while vi + thinks the first word on a line is the 1st. Compensate. */ + if (rl_explicit_arg) + rl_yank_nth_arg (count - 1, 0); + else + rl_yank_nth_arg ('$', 0); + + return (0); +} + +/* With an argument, move back that many history lines, else move to the + beginning of history. */ +int +rl_vi_fetch_history (count, c) + int count, c; +{ + int wanted; + + /* Giving an argument of n means we want the nth command in the history + file. The command number is interpreted the same way that the bash + `history' command does it -- that is, giving an argument count of 450 + to this command would get the command listed as number 450 in the + output of `history'. */ + if (rl_explicit_arg) + { + wanted = history_base + where_history () - count; + if (wanted <= 0) + rl_beginning_of_history (0, 0); + else + rl_get_previous_history (wanted, c); + } + else + rl_beginning_of_history (count, 0); + return (0); +} + +/* Search again for the last thing searched for. */ +int +rl_vi_search_again (count, key) + int count, key; +{ + switch (key) + { + case 'n': + rl_noninc_reverse_search_again (count, key); + break; + + case 'N': + rl_noninc_forward_search_again (count, key); + break; + } + return (0); +} + +/* Do a vi style search. */ +int +rl_vi_search (count, key) + int count, key; +{ + switch (key) + { + case '?': + _rl_free_saved_history_line (); + rl_noninc_forward_search (count, key); + break; + + case '/': + _rl_free_saved_history_line (); + rl_noninc_reverse_search (count, key); + break; + + default: + rl_ding (); + break; + } + return (0); +} + +/* Completion, from vi's point of view. */ +int +rl_vi_complete (ignore, key) + int ignore, key; +{ + if ((rl_point < rl_end) && (!whitespace (rl_line_buffer[rl_point]))) + { + if (!whitespace (rl_line_buffer[rl_point + 1])) + rl_vi_end_word (1, 'E'); + rl_point++; + } + + if (key == '*') + rl_complete_internal ('*'); /* Expansion and replacement. */ + else if (key == '=') + rl_complete_internal ('?'); /* List possible completions. */ + else if (key == '\\') + rl_complete_internal (TAB); /* Standard Readline completion. */ + else + rl_complete (0, key); + + if (key == '*' || key == '\\') + rl_vi_start_inserting (key, 1, rl_arg_sign); + + return (0); +} + +/* Tilde expansion for vi mode. */ +int +rl_vi_tilde_expand (ignore, key) + int ignore, key; +{ + rl_tilde_expand (0, key); + rl_vi_start_inserting (key, 1, rl_arg_sign); + return (0); +} + +/* Previous word in vi mode. */ +int +rl_vi_prev_word (count, key) + int count, key; +{ + if (count < 0) + return (rl_vi_next_word (-count, key)); + + if (rl_point == 0) + { + rl_ding (); + return (0); + } + + if (_rl_uppercase_p (key)) + rl_vi_bWord (count, key); + else + rl_vi_bword (count, key); + + return (0); +} + +/* Next word in vi mode. */ +int +rl_vi_next_word (count, key) + int count, key; +{ + if (count < 0) + return (rl_vi_prev_word (-count, key)); + + if (rl_point >= (rl_end - 1)) + { + rl_ding (); + return (0); + } + + if (_rl_uppercase_p (key)) + rl_vi_fWord (count, key); + else + rl_vi_fword (count, key); + return (0); +} + +/* Move to the end of the ?next? word. */ +int +rl_vi_end_word (count, key) + int count, key; +{ + if (count < 0) + { + rl_ding (); + return -1; + } + + if (_rl_uppercase_p (key)) + rl_vi_eWord (count, key); + else + rl_vi_eword (count, key); + return (0); +} + +/* Move forward a word the way that 'W' does. */ +int +rl_vi_fWord (count, ignore) + int count, ignore; +{ + while (count-- && rl_point < (rl_end - 1)) + { + /* Skip until whitespace. */ + while (!whitespace (rl_line_buffer[rl_point]) && rl_point < rl_end) + rl_point++; + + /* Now skip whitespace. */ + while (whitespace (rl_line_buffer[rl_point]) && rl_point < rl_end) + rl_point++; + } + return (0); +} + +int +rl_vi_bWord (count, ignore) + int count, ignore; +{ + while (count-- && rl_point > 0) + { + /* If we are at the start of a word, move back to whitespace so + we will go back to the start of the previous word. */ + if (!whitespace (rl_line_buffer[rl_point]) && + whitespace (rl_line_buffer[rl_point - 1])) + rl_point--; + + while (rl_point > 0 && whitespace (rl_line_buffer[rl_point])) + rl_point--; + + if (rl_point > 0) + { + while (--rl_point >= 0 && !whitespace (rl_line_buffer[rl_point])); + rl_point++; + } + } + return (0); +} + +int +rl_vi_eWord (count, ignore) + int count, ignore; +{ + while (count-- && rl_point < (rl_end - 1)) + { + if (!whitespace (rl_line_buffer[rl_point])) + rl_point++; + + /* Move to the next non-whitespace character (to the start of the + next word). */ + while (rl_point < rl_end && whitespace (rl_line_buffer[rl_point])) + rl_point++; + + if (rl_point && rl_point < rl_end) + { + /* Skip whitespace. */ + while (rl_point < rl_end && whitespace (rl_line_buffer[rl_point])) + rl_point++; + + /* Skip until whitespace. */ + while (rl_point < rl_end && !whitespace (rl_line_buffer[rl_point])) + rl_point++; + + /* Move back to the last character of the word. */ + rl_point--; + } + } + return (0); +} + +int +rl_vi_fword (count, ignore) + int count, ignore; +{ + while (count-- && rl_point < (rl_end - 1)) + { + /* Move to white space (really non-identifer). */ + if (_rl_isident (rl_line_buffer[rl_point])) + { + while (_rl_isident (rl_line_buffer[rl_point]) && rl_point < rl_end) + rl_point++; + } + else /* if (!whitespace (rl_line_buffer[rl_point])) */ + { + while (!_rl_isident (rl_line_buffer[rl_point]) && + !whitespace (rl_line_buffer[rl_point]) && rl_point < rl_end) + rl_point++; + } + + /* Move past whitespace. */ + while (whitespace (rl_line_buffer[rl_point]) && rl_point < rl_end) + rl_point++; + } + return (0); +} + +int +rl_vi_bword (count, ignore) + int count, ignore; +{ + while (count-- && rl_point > 0) + { + int last_is_ident; + + /* If we are at the start of a word, move back to whitespace + so we will go back to the start of the previous word. */ + if (!whitespace (rl_line_buffer[rl_point]) && + whitespace (rl_line_buffer[rl_point - 1])) + rl_point--; + + /* If this character and the previous character are `opposite', move + back so we don't get messed up by the rl_point++ down there in + the while loop. Without this code, words like `l;' screw up the + function. */ + last_is_ident = _rl_isident (rl_line_buffer[rl_point - 1]); + if ((_rl_isident (rl_line_buffer[rl_point]) && !last_is_ident) || + (!_rl_isident (rl_line_buffer[rl_point]) && last_is_ident)) + rl_point--; + + while (rl_point > 0 && whitespace (rl_line_buffer[rl_point])) + rl_point--; + + if (rl_point > 0) + { + if (_rl_isident (rl_line_buffer[rl_point])) + while (--rl_point >= 0 && _rl_isident (rl_line_buffer[rl_point])); + else + while (--rl_point >= 0 && !_rl_isident (rl_line_buffer[rl_point]) && + !whitespace (rl_line_buffer[rl_point])); + rl_point++; + } + } + return (0); +} + +int +rl_vi_eword (count, ignore) + int count, ignore; +{ + while (count-- && rl_point < rl_end - 1) + { + if (!whitespace (rl_line_buffer[rl_point])) + rl_point++; + + while (rl_point < rl_end && whitespace (rl_line_buffer[rl_point])) + rl_point++; + + if (rl_point < rl_end) + { + if (_rl_isident (rl_line_buffer[rl_point])) + while (++rl_point < rl_end && _rl_isident (rl_line_buffer[rl_point])); + else + while (++rl_point < rl_end && !_rl_isident (rl_line_buffer[rl_point]) + && !whitespace (rl_line_buffer[rl_point])); + } + rl_point--; + } + return (0); +} + +int +rl_vi_insert_beg (count, key) + int count, key; +{ + rl_beg_of_line (1, key); + rl_vi_insert_mode (1, key); + return (0); +} + +static void +_rl_vi_append_forward (key) + int key; +{ + int point; + + if (rl_point < rl_end) + { + if (MB_CUR_MAX == 1 || rl_byte_oriented) + rl_point++; + else + { + point = rl_point; + rl_forward_char (1, key); + if (point == rl_point) + rl_point = rl_end; + } + } +} + +int +rl_vi_append_mode (count, key) + int count, key; +{ + _rl_vi_append_forward (key); + rl_vi_start_inserting (key, 1, rl_arg_sign); + return (0); +} + +int +rl_vi_append_eol (count, key) + int count, key; +{ + rl_end_of_line (1, key); + rl_vi_append_mode (1, key); + return (0); +} + +/* What to do in the case of C-d. */ +int +rl_vi_eof_maybe (count, c) + int count, c; +{ + return (rl_newline (1, '\n')); +} + +/* Insertion mode stuff. */ + +/* Switching from one mode to the other really just involves + switching keymaps. */ +int +rl_vi_insertion_mode (count, key) + int count, key; +{ + _rl_keymap = vi_insertion_keymap; + _rl_vi_last_key_before_insert = key; + return (0); +} + +int +rl_vi_insert_mode (count, key) + int count, key; +{ + rl_vi_start_inserting (key, 1, rl_arg_sign); + return (0); +} + +static void +_rl_vi_save_insert (up) + UNDO_LIST *up; +{ + int len, start, end; + + if (up == 0 || up->what != UNDO_INSERT) + { + if (vi_insert_buffer_size >= 1) + vi_insert_buffer[0] = '\0'; + return; + } + + start = up->start; + end = up->end; + len = end - start + 1; + if (len >= vi_insert_buffer_size) + { + vi_insert_buffer_size += (len + 32) - (len % 32); + vi_insert_buffer = (char *)xrealloc (vi_insert_buffer, vi_insert_buffer_size); + } + strncpy (vi_insert_buffer, rl_line_buffer + start, len - 1); + vi_insert_buffer[len-1] = '\0'; +} + +void +_rl_vi_done_inserting () +{ + if (_rl_vi_doing_insert) + { + /* The `C', `s', and `S' commands set this. */ + rl_end_undo_group (); + /* Now, the text between rl_undo_list->next->start and + rl_undo_list->next->end is what was inserted while in insert + mode. It gets copied to VI_INSERT_BUFFER because it depends + on absolute indices into the line which may change (though they + probably will not). */ + _rl_vi_doing_insert = 0; + _rl_vi_save_insert (rl_undo_list->next); + vi_continued_command = 1; + } + else + { + if (rl_undo_list && (_rl_vi_last_key_before_insert == 'i' || + _rl_vi_last_key_before_insert == 'a' || + _rl_vi_last_key_before_insert == 'I' || + _rl_vi_last_key_before_insert == 'A')) + _rl_vi_save_insert (rl_undo_list); + /* XXX - Other keys probably need to be checked. */ + else if (_rl_vi_last_key_before_insert == 'C') + rl_end_undo_group (); + while (_rl_undo_group_level > 0) + rl_end_undo_group (); + vi_continued_command = 0; + } +} + +int +rl_vi_movement_mode (count, key) + int count, key; +{ + if (rl_point > 0) + rl_backward_char (1, key); + + _rl_keymap = vi_movement_keymap; + _rl_vi_done_inserting (); + + /* This is how POSIX.2 says `U' should behave -- everything up until the + first time you go into command mode should not be undone. */ + if (RL_ISSTATE (RL_STATE_VICMDONCE) == 0) + rl_free_undo_list (); + + RL_SETSTATE (RL_STATE_VICMDONCE); + return (0); +} + +int +rl_vi_arg_digit (count, c) + int count, c; +{ + if (c == '0' && rl_numeric_arg == 1 && !rl_explicit_arg) + return (rl_beg_of_line (1, c)); + else + return (rl_digit_argument (count, c)); +} + +/* Change the case of the next COUNT characters. */ +#if defined (HANDLE_MULTIBYTE) +static int +_rl_vi_change_mbchar_case (count) + int count; +{ + wchar_t wc; + char mb[MB_LEN_MAX+1]; + int mlen, p; + size_t m; + mbstate_t ps; + + memset (&ps, 0, sizeof (mbstate_t)); + if (_rl_adjust_point (rl_line_buffer, rl_point, &ps) > 0) + count--; + while (count-- && rl_point < rl_end) + { + m = mbrtowc (&wc, rl_line_buffer + rl_point, rl_end - rl_point, &ps); + if (MB_INVALIDCH (m)) + wc = (wchar_t)rl_line_buffer[rl_point]; + else if (MB_NULLWCH (m)) + wc = L'\0'; + if (iswupper (wc)) + wc = towlower (wc); + else if (iswlower (wc)) + wc = towupper (wc); + else + { + /* Just skip over chars neither upper nor lower case */ + rl_forward_char (1, 0); + continue; + } + + /* Vi is kind of strange here. */ + if (wc) + { + p = rl_point; + mlen = wcrtomb (mb, wc, &ps); + if (mlen >= 0) + mb[mlen] = '\0'; + rl_begin_undo_group (); + rl_vi_delete (1, 0); + if (rl_point < p) /* Did we retreat at EOL? */ + rl_point++; /* XXX - should we advance more than 1 for mbchar? */ + rl_insert_text (mb); + rl_end_undo_group (); + rl_vi_check (); + } + else + rl_forward_char (1, 0); + } + + return 0; +} +#endif + +int +rl_vi_change_case (count, ignore) + int count, ignore; +{ + int c, p; + + /* Don't try this on an empty line. */ + if (rl_point >= rl_end) + return (0); + + c = 0; +#if defined (HANDLE_MULTIBYTE) + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + return (_rl_vi_change_mbchar_case (count)); +#endif + + while (count-- && rl_point < rl_end) + { + if (_rl_uppercase_p (rl_line_buffer[rl_point])) + c = _rl_to_lower (rl_line_buffer[rl_point]); + else if (_rl_lowercase_p (rl_line_buffer[rl_point])) + c = _rl_to_upper (rl_line_buffer[rl_point]); + else + { + /* Just skip over characters neither upper nor lower case. */ + rl_forward_char (1, c); + continue; + } + + /* Vi is kind of strange here. */ + if (c) + { + p = rl_point; + rl_begin_undo_group (); + rl_vi_delete (1, c); + if (rl_point < p) /* Did we retreat at EOL? */ + rl_point++; + _rl_insert_char (1, c); + rl_end_undo_group (); + rl_vi_check (); + } + else + rl_forward_char (1, c); + } + return (0); +} + +int +rl_vi_put (count, key) + int count, key; +{ + if (!_rl_uppercase_p (key) && (rl_point + 1 <= rl_end)) + rl_point = _rl_find_next_mbchar (rl_line_buffer, rl_point, 1, MB_FIND_NONZERO); + + while (count--) + rl_yank (1, key); + + rl_backward_char (1, key); + return (0); +} + +static void +_rl_vi_backup () +{ + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + rl_point = _rl_find_prev_mbchar (rl_line_buffer, rl_point, MB_FIND_NONZERO); + else + rl_point--; +} + +int +rl_vi_check () +{ + if (rl_point && rl_point == rl_end) + { + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + rl_point = _rl_find_prev_mbchar (rl_line_buffer, rl_point, MB_FIND_NONZERO); + else + rl_point--; + } + return (0); +} + +int +rl_vi_column (count, key) + int count, key; +{ + if (count > rl_end) + rl_end_of_line (1, key); + else + rl_point = count - 1; + return (0); +} + +int +rl_vi_domove (key, nextkey) + int key, *nextkey; +{ + int c, save; + int old_end; + + rl_mark = rl_point; + RL_SETSTATE(RL_STATE_MOREINPUT); + c = rl_read_key (); + RL_UNSETSTATE(RL_STATE_MOREINPUT); + + if (c < 0) + { + *nextkey = 0; + return -1; + } + + *nextkey = c; + + if (!member (c, vi_motion)) + { + if (_rl_digit_p (c)) + { + save = rl_numeric_arg; + rl_numeric_arg = _rl_digit_value (c); + rl_explicit_arg = 1; + RL_SETSTATE (RL_STATE_NUMERICARG|RL_STATE_VIMOTION); + rl_digit_loop1 (); + RL_UNSETSTATE (RL_STATE_VIMOTION); + rl_numeric_arg *= save; + RL_SETSTATE(RL_STATE_MOREINPUT); + c = rl_read_key (); /* real command */ + RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + { + *nextkey = 0; + return -1; + } + *nextkey = c; + } + else if (key == c && (key == 'd' || key == 'y' || key == 'c')) + { + rl_mark = rl_end; + rl_beg_of_line (1, c); + _rl_vi_last_motion = c; + return (0); + } + else + return (-1); + } + + _rl_vi_last_motion = c; + + /* Append a blank character temporarily so that the motion routines + work right at the end of the line. */ + old_end = rl_end; + rl_line_buffer[rl_end++] = ' '; + rl_line_buffer[rl_end] = '\0'; + + _rl_dispatch (c, _rl_keymap); + + /* Remove the blank that we added. */ + rl_end = old_end; + rl_line_buffer[rl_end] = '\0'; + if (rl_point > rl_end) + rl_point = rl_end; + + /* No change in position means the command failed. */ + if (rl_mark == rl_point) + return (-1); + + /* rl_vi_f[wW]ord () leaves the cursor on the first character of the next + word. If we are not at the end of the line, and we are on a + non-whitespace character, move back one (presumably to whitespace). */ + if ((_rl_to_upper (c) == 'W') && rl_point < rl_end && rl_point > rl_mark && + !whitespace (rl_line_buffer[rl_point])) + rl_point--; + + /* If cw or cW, back up to the end of a word, so the behaviour of ce + or cE is the actual result. Brute-force, no subtlety. */ + if (key == 'c' && rl_point >= rl_mark && (_rl_to_upper (c) == 'W')) + { + /* Don't move farther back than where we started. */ + while (rl_point > rl_mark && whitespace (rl_line_buffer[rl_point])) + rl_point--; + + /* Posix.2 says that if cw or cW moves the cursor towards the end of + the line, the character under the cursor should be deleted. */ + if (rl_point == rl_mark) + rl_point++; + else + { + /* Move past the end of the word so that the kill doesn't + remove the last letter of the previous word. Only do this + if we are not at the end of the line. */ + if (rl_point >= 0 && rl_point < (rl_end - 1) && !whitespace (rl_line_buffer[rl_point])) + rl_point++; + } + } + + if (rl_mark < rl_point) + SWAP (rl_point, rl_mark); + + return (0); +} + +/* Process C as part of the current numeric argument. Return -1 if the + argument should be aborted, 0 if we should not read any more chars, and + 1 if we should continue to read chars. */ +static int +_rl_vi_arg_dispatch (c) + int c; +{ + int key; + + key = c; + if (c >= 0 && _rl_keymap[c].type == ISFUNC && _rl_keymap[c].function == rl_universal_argument) + { + rl_numeric_arg *= 4; + return 1; + } + + c = UNMETA (c); + + if (_rl_digit_p (c)) + { + if (rl_explicit_arg) + rl_numeric_arg = (rl_numeric_arg * 10) + _rl_digit_value (c); + else + rl_numeric_arg = _rl_digit_value (c); + rl_explicit_arg = 1; + return 1; + } + else + { + rl_clear_message (); + rl_stuff_char (key); + return 0; + } +} + +/* A simplified loop for vi. Don't dispatch key at end. + Don't recognize minus sign? + Should this do rl_save_prompt/rl_restore_prompt? */ +static int +rl_digit_loop1 () +{ + int c, r; + + while (1) + { + if (_rl_arg_overflow ()) + return 1; + + c = _rl_arg_getchar (); + + r = _rl_vi_arg_dispatch (c); + if (r <= 0) + break; + } + + RL_UNSETSTATE(RL_STATE_NUMERICARG); + return (0); +} + +static void +_rl_mvcxt_init (m, op, key) + _rl_vimotion_cxt *m; + int op, key; +{ + m->op = op; + m->state = m->flags = 0; + m->ncxt = 0; + m->numeric_arg = -1; + m->start = rl_point; + m->end = rl_end; + m->key = key; + m->motion = -1; +} + +static _rl_vimotion_cxt * +_rl_mvcxt_alloc (op, key) + int op, key; +{ + _rl_vimotion_cxt *m; + + m = xmalloc (sizeof (_rl_vimotion_cxt)); + _rl_mvcxt_init (m, op, key); + return m; +} + +static void +_rl_mvcxt_dispose (m) + _rl_vimotion_cxt *m; +{ + free (m); +} + +/* + * 1. Create context, set initial values + * 2. Pass to rl_vi_domove to populate + * 3. Use returned context to finish rest of command + * + * Context: + * op + * state + * flags + * numeric arg + * start, end positions + * initial key (key), motion key (c) + */ + +static int +vi_delete_dispatch (m) + _rl_vimotion_cxt *m; +{ + /* These are the motion commands that do not require adjusting the + mark. */ + if (((strchr (" l|h^0bBFT`", m->motion) == 0) && (rl_point >= m->start)) && + (rl_mark < rl_end)) + rl_mark++; + + rl_kill_text (rl_point, rl_mark); + return (0); +} + +int +rl_vi_delete_to (count, key) + int count, key; +{ + int c, r; + + if (_rl_uppercase_p (key)) + rl_stuff_char ('$'); + else if (vi_redoing) + rl_stuff_char (_rl_vi_last_motion); + + _rl_vimvcxt = _rl_mvcxt_alloc (VIM_DELETE, key); + _rl_vimvcxt->start = rl_point; + + /* XXX -- TODO -- pass and use context in rl_vi_domove */ + if (rl_vi_domove (key, &c)) + { + rl_ding (); + return -1; + } + _rl_vimvcxt->motion = c; + + r = vidomove_dispatch (_rl_vimvcxt); + _rl_mvcxt_dispose (_rl_vimvcxt); + _rl_vimvcxt = 0; + return r; +} + +static int +vi_change_dispatch (m) + _rl_vimotion_cxt *m; +{ + /* These are the motion commands that do not require adjusting the + mark. c[wW] are handled by special-case code in rl_vi_domove(), + and already leave the mark at the correct location. */ + if (((strchr (" l|hwW^0bBFT`", m->motion) == 0) && (rl_point >= m->start)) && + (rl_mark < rl_end)) + rl_mark++; + + /* The cursor never moves with c[wW]. */ + if ((_rl_to_upper (m->motion) == 'W') && rl_point < m->start) + rl_point = m->start; + + if (vi_redoing) + { + if (vi_insert_buffer && *vi_insert_buffer) + rl_begin_undo_group (); + rl_delete_text (rl_point, rl_mark); + if (vi_insert_buffer && *vi_insert_buffer) + { + rl_insert_text (vi_insert_buffer); + rl_end_undo_group (); + } + } + else + { + rl_begin_undo_group (); /* to make the `u' command work */ + rl_kill_text (rl_point, rl_mark); + /* `C' does not save the text inserted for undoing or redoing. */ + if (_rl_uppercase_p (m->key) == 0) + _rl_vi_doing_insert = 1; + /* XXX -- TODO -- use m->numericarg? */ + rl_vi_start_inserting (m->key, rl_numeric_arg, rl_arg_sign); + } + + return (0); +} + +int +rl_vi_change_to (count, key) + int count, key; +{ + int c, r; + + if (_rl_uppercase_p (key)) + rl_stuff_char ('$'); + else if (vi_redoing) + rl_stuff_char (_rl_vi_last_motion); + + _rl_vimvcxt = _rl_mvcxt_alloc (VIM_CHANGE, key); + _rl_vimvcxt->start = rl_point; + + /* XXX -- TODO -- pass and use context in rl_vi_domove */ + if (rl_vi_domove (key, &c)) + { + rl_ding (); + return -1; + } + _rl_vimvcxt->motion = c; + + r = vidomove_dispatch (_rl_vimvcxt); + _rl_mvcxt_dispose (_rl_vimvcxt); + _rl_vimvcxt = 0; + return r; +} + +static int +vi_yank_dispatch (m) + _rl_vimotion_cxt *m; +{ + /* These are the motion commands that do not require adjusting the + mark. */ + if (((strchr (" l|h^0%bBFT`", m->motion) == 0) && (rl_point >= m->start)) && + (rl_mark < rl_end)) + rl_mark++; + + rl_begin_undo_group (); + rl_kill_text (rl_point, rl_mark); + rl_end_undo_group (); + rl_do_undo (); + rl_point = m->start; + + return (0); +} + +int +rl_vi_yank_to (count, key) + int count, key; +{ + int c, r; + + if (_rl_uppercase_p (key)) + rl_stuff_char ('$'); + + _rl_vimvcxt = _rl_mvcxt_alloc (VIM_YANK, key); + _rl_vimvcxt->start = rl_point; + + /* XXX -- TODO -- pass and use context in rl_vi_domove */ + if (rl_vi_domove (key, &c)) + { + rl_ding (); + return -1; + } + _rl_vimvcxt->motion = c; + + r = vidomove_dispatch (_rl_vimvcxt); + _rl_mvcxt_dispose (_rl_vimvcxt); + _rl_vimvcxt = 0; + return r; +} + +static int +vidomove_dispatch (m) + _rl_vimotion_cxt *m; +{ + int r; + + switch (m->op) + { + case VIM_DELETE: + r = vi_delete_dispatch (m); + break; + case VIM_CHANGE: + r = vi_change_dispatch (m); + break; + case VIM_YANK: + r = vi_yank_dispatch (m); + break; + default: + fprintf (stderr, "vidomove_dispatch: unknown operator %d", m->op); + r = 1; + break; + } + + return r; +} + +int +rl_vi_rubout (count, key) + int count, key; +{ + int opoint; + + if (count < 0) + return (rl_vi_delete (-count, key)); + + if (rl_point == 0) + { + rl_ding (); + return -1; + } + + opoint = rl_point; + if (count > 1 && MB_CUR_MAX > 1 && rl_byte_oriented == 0) + rl_backward_char (count, key); + else if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + rl_point = _rl_find_prev_mbchar (rl_line_buffer, rl_point, MB_FIND_NONZERO); + else + rl_point -= count; + + if (rl_point < 0) + rl_point = 0; + + rl_kill_text (rl_point, opoint); + + return (0); +} + +int +rl_vi_delete (count, key) + int count, key; +{ + int end; + + if (count < 0) + return (rl_vi_rubout (-count, key)); + + if (rl_end == 0) + { + rl_ding (); + return -1; + } + + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + end = _rl_find_next_mbchar (rl_line_buffer, rl_point, count, MB_FIND_NONZERO); + else + end = rl_point + count; + + if (end >= rl_end) + end = rl_end; + + rl_kill_text (rl_point, end); + + if (rl_point > 0 && rl_point == rl_end) + rl_backward_char (1, key); + + return (0); +} + +int +rl_vi_back_to_indent (count, key) + int count, key; +{ + rl_beg_of_line (1, key); + while (rl_point < rl_end && whitespace (rl_line_buffer[rl_point])) + rl_point++; + return (0); +} + +int +rl_vi_first_print (count, key) + int count, key; +{ + return (rl_vi_back_to_indent (1, key)); +} + +static int _rl_cs_dir, _rl_cs_orig_dir; + +#if defined (READLINE_CALLBACKS) +static int +_rl_vi_callback_char_search (data) + _rl_callback_generic_arg *data; +{ + int c; +#if defined (HANDLE_MULTIBYTE) + c = _rl_vi_last_search_mblen = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); +#else + RL_SETSTATE(RL_STATE_MOREINPUT); + c = rl_read_key (); + RL_UNSETSTATE(RL_STATE_MOREINPUT); +#endif + + if (c <= 0) + return -1; + +#if !defined (HANDLE_MULTIBYTE) + _rl_vi_last_search_char = c; +#endif + + _rl_callback_func = 0; + _rl_want_redisplay = 1; + +#if defined (HANDLE_MULTIBYTE) + return (_rl_char_search_internal (data->count, _rl_cs_dir, _rl_vi_last_search_mbchar, _rl_vi_last_search_mblen)); +#else + return (_rl_char_search_internal (data->count, _rl_cs_dir, _rl_vi_last_search_char)); +#endif +} +#endif + +int +rl_vi_char_search (count, key) + int count, key; +{ + int c; +#if defined (HANDLE_MULTIBYTE) + static char *target; + static int tlen; +#else + static char target; +#endif + + if (key == ';' || key == ',') + { + if (_rl_cs_orig_dir == 0) + return -1; +#if defined (HANDLE_MULTIBYTE) + if (_rl_vi_last_search_mblen == 0) + return -1; +#else + if (_rl_vi_last_search_char == 0) + return -1; +#endif + _rl_cs_dir = (key == ';') ? _rl_cs_orig_dir : -_rl_cs_orig_dir; + } + else + { + switch (key) + { + case 't': + _rl_cs_orig_dir = _rl_cs_dir = FTO; + break; + + case 'T': + _rl_cs_orig_dir = _rl_cs_dir = BTO; + break; + + case 'f': + _rl_cs_orig_dir = _rl_cs_dir = FFIND; + break; + + case 'F': + _rl_cs_orig_dir = _rl_cs_dir = BFIND; + break; + } + + if (vi_redoing) + { + /* set target and tlen below */ + } +#if defined (READLINE_CALLBACKS) + else if (RL_ISSTATE (RL_STATE_CALLBACK)) + { + _rl_callback_data = _rl_callback_data_alloc (count); + _rl_callback_data->i1 = _rl_cs_dir; + _rl_callback_func = _rl_vi_callback_char_search; + return (0); + } +#endif + else + { +#if defined (HANDLE_MULTIBYTE) + c = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); + if (c <= 0) + return -1; + _rl_vi_last_search_mblen = c; +#else + RL_SETSTATE(RL_STATE_MOREINPUT); + c = rl_read_key (); + RL_UNSETSTATE(RL_STATE_MOREINPUT); + if (c < 0) + return -1; + _rl_vi_last_search_char = c; +#endif + } + } + +#if defined (HANDLE_MULTIBYTE) + target = _rl_vi_last_search_mbchar; + tlen = _rl_vi_last_search_mblen; +#else + target = _rl_vi_last_search_char; +#endif + +#if defined (HANDLE_MULTIBYTE) + return (_rl_char_search_internal (count, _rl_cs_dir, target, tlen)); +#else + return (_rl_char_search_internal (count, _rl_cs_dir, target)); +#endif +} + +/* Match brackets */ +int +rl_vi_match (ignore, key) + int ignore, key; +{ + int count = 1, brack, pos, tmp, pre; + + pos = rl_point; + if ((brack = rl_vi_bracktype (rl_line_buffer[rl_point])) == 0) + { + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + { + while ((brack = rl_vi_bracktype (rl_line_buffer[rl_point])) == 0) + { + pre = rl_point; + rl_forward_char (1, key); + if (pre == rl_point) + break; + } + } + else + while ((brack = rl_vi_bracktype (rl_line_buffer[rl_point])) == 0 && + rl_point < rl_end - 1) + rl_forward_char (1, key); + + if (brack <= 0) + { + rl_point = pos; + rl_ding (); + return -1; + } + } + + pos = rl_point; + + if (brack < 0) + { + while (count) + { + tmp = pos; + if (MB_CUR_MAX == 1 || rl_byte_oriented) + pos--; + else + { + pos = _rl_find_prev_mbchar (rl_line_buffer, pos, MB_FIND_ANY); + if (tmp == pos) + pos--; + } + if (pos >= 0) + { + int b = rl_vi_bracktype (rl_line_buffer[pos]); + if (b == -brack) + count--; + else if (b == brack) + count++; + } + else + { + rl_ding (); + return -1; + } + } + } + else + { /* brack > 0 */ + while (count) + { + if (MB_CUR_MAX == 1 || rl_byte_oriented) + pos++; + else + pos = _rl_find_next_mbchar (rl_line_buffer, pos, 1, MB_FIND_ANY); + + if (pos < rl_end) + { + int b = rl_vi_bracktype (rl_line_buffer[pos]); + if (b == -brack) + count--; + else if (b == brack) + count++; + } + else + { + rl_ding (); + return -1; + } + } + } + rl_point = pos; + return (0); +} + +int +rl_vi_bracktype (c) + int c; +{ + switch (c) + { + case '(': return 1; + case ')': return -1; + case '[': return 2; + case ']': return -2; + case '{': return 3; + case '}': return -3; + default: return 0; + } +} + +static int +_rl_vi_change_char (count, c, mb) + int count, c; + char *mb; +{ + int p; + + if (c == '\033' || c == CTRL ('C')) + return -1; + + rl_begin_undo_group (); + while (count-- && rl_point < rl_end) + { + p = rl_point; + rl_vi_delete (1, c); + if (rl_point < p) /* Did we retreat at EOL? */ + rl_point++; +#if defined (HANDLE_MULTIBYTE) + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + rl_insert_text (mb); + else +#endif + _rl_insert_char (1, c); + } + + /* The cursor shall be left on the last character changed. */ + rl_backward_char (1, c); + + rl_end_undo_group (); + + return (0); +} + +static int +_rl_vi_callback_getchar (mb, mlen) + char *mb; + int mlen; +{ + int c; + + RL_SETSTATE(RL_STATE_MOREINPUT); + c = rl_read_key (); + RL_UNSETSTATE(RL_STATE_MOREINPUT); + + if (c < 0) + return -1; + +#if defined (HANDLE_MULTIBYTE) + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + c = _rl_read_mbstring (c, mb, mlen); +#endif + + return c; +} + +#if defined (READLINE_CALLBACKS) +static int +_rl_vi_callback_change_char (data) + _rl_callback_generic_arg *data; +{ + int c; + char mb[MB_LEN_MAX]; + + _rl_vi_last_replacement = c = _rl_vi_callback_getchar (mb, MB_LEN_MAX); + + if (c < 0) + return -1; + + _rl_callback_func = 0; + _rl_want_redisplay = 1; + + return (_rl_vi_change_char (data->count, c, mb)); +} +#endif + +int +rl_vi_change_char (count, key) + int count, key; +{ + int c; + char mb[MB_LEN_MAX]; + + if (vi_redoing) + { + c = _rl_vi_last_replacement; + mb[0] = c; + mb[1] = '\0'; + } +#if defined (READLINE_CALLBACKS) + else if (RL_ISSTATE (RL_STATE_CALLBACK)) + { + _rl_callback_data = _rl_callback_data_alloc (count); + _rl_callback_func = _rl_vi_callback_change_char; + return (0); + } +#endif + else + _rl_vi_last_replacement = c = _rl_vi_callback_getchar (mb, MB_LEN_MAX); + + if (c < 0) + return -1; + + return (_rl_vi_change_char (count, c, mb)); +} + +int +rl_vi_subst (count, key) + int count, key; +{ + /* If we are redoing, rl_vi_change_to will stuff the last motion char */ + if (vi_redoing == 0) + rl_stuff_char ((key == 'S') ? 'c' : 'l'); /* `S' == `cc', `s' == `cl' */ + + return (rl_vi_change_to (count, 'c')); +} + +int +rl_vi_overstrike (count, key) + int count, key; +{ + if (_rl_vi_doing_insert == 0) + { + _rl_vi_doing_insert = 1; + rl_begin_undo_group (); + } + + if (count > 0) + { + _rl_overwrite_char (count, key); + vi_replace_count += count; + } + + return (0); +} + +int +rl_vi_overstrike_delete (count, key) + int count, key; +{ + int i, s; + + for (i = 0; i < count; i++) + { + if (vi_replace_count == 0) + { + rl_ding (); + break; + } + s = rl_point; + + if (rl_do_undo ()) + vi_replace_count--; + + if (rl_point == s) + rl_backward_char (1, key); + } + + if (vi_replace_count == 0 && _rl_vi_doing_insert) + { + rl_end_undo_group (); + rl_do_undo (); + _rl_vi_doing_insert = 0; + } + return (0); +} + +int +rl_vi_replace (count, key) + int count, key; +{ + int i; + + vi_replace_count = 0; + + if (!vi_replace_map) + { + vi_replace_map = rl_make_bare_keymap (); + + for (i = ' '; i < KEYMAP_SIZE; i++) + vi_replace_map[i].function = rl_vi_overstrike; + + vi_replace_map[RUBOUT].function = rl_vi_overstrike_delete; + vi_replace_map[ESC].function = rl_vi_movement_mode; + vi_replace_map[RETURN].function = rl_newline; + vi_replace_map[NEWLINE].function = rl_newline; + + /* If the normal vi insertion keymap has ^H bound to erase, do the + same here. Probably should remove the assignment to RUBOUT up + there, but I don't think it will make a difference in real life. */ + if (vi_insertion_keymap[CTRL ('H')].type == ISFUNC && + vi_insertion_keymap[CTRL ('H')].function == rl_rubout) + vi_replace_map[CTRL ('H')].function = rl_vi_overstrike_delete; + + } + _rl_keymap = vi_replace_map; + return (0); +} + +#if 0 +/* Try to complete the word we are standing on or the word that ends with + the previous character. A space matches everything. Word delimiters are + space and ;. */ +int +rl_vi_possible_completions() +{ + int save_pos = rl_point; + + if (rl_line_buffer[rl_point] != ' ' && rl_line_buffer[rl_point] != ';') + { + while (rl_point < rl_end && rl_line_buffer[rl_point] != ' ' && + rl_line_buffer[rl_point] != ';') + rl_point++; + } + else if (rl_line_buffer[rl_point - 1] == ';') + { + rl_ding (); + return (0); + } + + rl_possible_completions (); + rl_point = save_pos; + + return (0); +} +#endif + +/* Functions to save and restore marks. */ +static int +_rl_vi_set_mark () +{ + int ch; + + RL_SETSTATE(RL_STATE_MOREINPUT); + ch = rl_read_key (); + RL_UNSETSTATE(RL_STATE_MOREINPUT); + + if (ch < 0 || ch < 'a' || ch > 'z') /* make test against 0 explicit */ + { + rl_ding (); + return -1; + } + ch -= 'a'; + vi_mark_chars[ch] = rl_point; + return 0; +} + +#if defined (READLINE_CALLBACKS) +static int +_rl_vi_callback_set_mark (data) + _rl_callback_generic_arg *data; +{ + _rl_callback_func = 0; + _rl_want_redisplay = 1; + + return (_rl_vi_set_mark ()); +} +#endif + +int +rl_vi_set_mark (count, key) + int count, key; +{ +#if defined (READLINE_CALLBACKS) + if (RL_ISSTATE (RL_STATE_CALLBACK)) + { + _rl_callback_data = 0; + _rl_callback_func = _rl_vi_callback_set_mark; + return (0); + } +#endif + + return (_rl_vi_set_mark ()); +} + +static int +_rl_vi_goto_mark () +{ + int ch; + + RL_SETSTATE(RL_STATE_MOREINPUT); + ch = rl_read_key (); + RL_UNSETSTATE(RL_STATE_MOREINPUT); + + if (ch == '`') + { + rl_point = rl_mark; + return 0; + } + else if (ch < 0 || ch < 'a' || ch > 'z') /* make test against 0 explicit */ + { + rl_ding (); + return -1; + } + + ch -= 'a'; + if (vi_mark_chars[ch] == -1) + { + rl_ding (); + return -1; + } + rl_point = vi_mark_chars[ch]; + return 0; +} + +#if defined (READLINE_CALLBACKS) +static int +_rl_vi_callback_goto_mark (data) + _rl_callback_generic_arg *data; +{ + _rl_callback_func = 0; + _rl_want_redisplay = 1; + + return (_rl_vi_goto_mark ()); +} +#endif + +int +rl_vi_goto_mark (count, key) + int count, key; +{ +#if defined (READLINE_CALLBACKS) + if (RL_ISSTATE (RL_STATE_CALLBACK)) + { + _rl_callback_data = 0; + _rl_callback_func = _rl_vi_callback_goto_mark; + return (0); + } +#endif + + return (_rl_vi_goto_mark ()); +} +#endif /* VI_MODE */ diff --git a/lib/readline/vi_mode.c~ b/lib/readline/vi_mode.c~ index 13bca6db9..5e8781eab 100644 --- a/lib/readline/vi_mode.c~ +++ b/lib/readline/vi_mode.c~ @@ -130,6 +130,10 @@ static int _rl_vi_callback_change_char PARAMS((_rl_callback_generic_arg *)); static int _rl_vi_callback_char_search PARAMS((_rl_callback_generic_arg *)); #endif +static int rl_domove_read_callback PARAMS((_rl_vimotion_cxt *)); +static int rl_domove_motion_callback PARAMS((_rl_vimotion_cxt *)); +static int rl_vi_domove_getchar PARAMS((_rl_vimotion_cxt *)); + static int vi_change_dispatch PARAMS((_rl_vimotion_cxt *)); static int vi_delete_dispatch PARAMS((_rl_vimotion_cxt *)); static int vi_yank_dispatch PARAMS((_rl_vimotion_cxt *)); @@ -918,59 +922,106 @@ rl_vi_column (count, key) return (0); } -int -rl_vi_domove (key, nextkey) - int key, *nextkey; +/* Process C as part of the current numeric argument. Return -1 if the + argument should be aborted, 0 if we should not read any more chars, and + 1 if we should continue to read chars. */ +static int +_rl_vi_arg_dispatch (c) + int c; { - int c, save; - int old_end; - - rl_mark = rl_point; - RL_SETSTATE(RL_STATE_MOREINPUT); - c = rl_read_key (); - RL_UNSETSTATE(RL_STATE_MOREINPUT); + int key; - if (c < 0) + key = c; + if (c >= 0 && _rl_keymap[c].type == ISFUNC && _rl_keymap[c].function == rl_universal_argument) { - *nextkey = 0; - return -1; + rl_numeric_arg *= 4; + return 1; } - *nextkey = c; + c = UNMETA (c); - if (!member (c, vi_motion)) + if (_rl_digit_p (c)) { - if (_rl_digit_p (c)) - { - save = rl_numeric_arg; - rl_numeric_arg = _rl_digit_value (c); - rl_explicit_arg = 1; - RL_SETSTATE (RL_STATE_NUMERICARG|RL_STATE_VIMOTION); - rl_digit_loop1 (); - RL_UNSETSTATE (RL_STATE_VIMOTION); - rl_numeric_arg *= save; - RL_SETSTATE(RL_STATE_MOREINPUT); - c = rl_read_key (); /* real command */ - RL_UNSETSTATE(RL_STATE_MOREINPUT); - if (c < 0) - { - *nextkey = 0; - return -1; - } - *nextkey = c; - } - else if (key == c && (key == 'd' || key == 'y' || key == 'c')) - { - rl_mark = rl_end; - rl_beg_of_line (1, c); - _rl_vi_last_motion = c; - return (0); - } + if (rl_explicit_arg) + rl_numeric_arg = (rl_numeric_arg * 10) + _rl_digit_value (c); else - return (-1); + rl_numeric_arg = _rl_digit_value (c); + rl_explicit_arg = 1; + return 1; /* keep going */ + } + else + { + rl_clear_message (); + rl_stuff_char (key); + return 0; /* done */ } +} + +/* A simplified loop for vi. Don't dispatch key at end. + Don't recognize minus sign? + Should this do rl_save_prompt/rl_restore_prompt? */ +static int +rl_digit_loop1 () +{ + int c, r; + + while (1) + { + if (_rl_arg_overflow ()) + return 1; + + c = _rl_arg_getchar (); + + r = _rl_vi_arg_dispatch (c); + if (r <= 0) + break; + } + + RL_UNSETSTATE(RL_STATE_NUMERICARG); + return (0); +} + +static void +_rl_mvcxt_init (m, op, key) + _rl_vimotion_cxt *m; + int op, key; +{ + m->op = op; + m->state = m->flags = 0; + m->ncxt = 0; + m->numeric_arg = -1; + m->start = rl_point; + m->end = rl_end; + m->key = key; + m->motion = -1; +} + +static _rl_vimotion_cxt * +_rl_mvcxt_alloc (op, key) + int op, key; +{ + _rl_vimotion_cxt *m; - _rl_vi_last_motion = c; + m = xmalloc (sizeof (_rl_vimotion_cxt)); + _rl_mvcxt_init (m, op, key); + return m; +} + +static void +_rl_mvcxt_dispose (m) + _rl_vimotion_cxt *m; +{ + free (m); +} + +static int +rl_domove_motion_callback (m) + _rl_vimotion_cxt *m; +{ + int c, key, save, r; + int old_end; + + _rl_vi_last_motion = c = m->motion; /* Append a blank character temporarily so that the motion routines work right at the end of the line. */ @@ -1022,114 +1073,130 @@ rl_vi_domove (key, nextkey) if (rl_mark < rl_point) SWAP (rl_point, rl_mark); - return (0); +#if defined (READLINE_CALLBACKS) + if (RL_ISSTATE (RL_STATE_CALLBACK)) + (*rl_redisplay_function)(); /* make sure motion is displayed */ +#endif + + r = vidomove_dispatch (m); + + return (r); } -/* Process C as part of the current numeric argument. Return -1 if the - argument should be aborted, 0 if we should not read any more chars, and - 1 if we should continue to read chars. */ +#define RL_VIMOVENUMARG() (RL_ISSTATE (RL_STATE_VIMOTION) && RL_ISSTATE (RL_STATE_NUMERICARG)) + static int -_rl_vi_arg_dispatch (c) - int c; +rl_domove_read_callback (m) + _rl_vimotion_cxt *m; { - int key; + int c, save; - key = c; - if (c >= 0 && _rl_keymap[c].type == ISFUNC && _rl_keymap[c].function == rl_universal_argument) + c = m->motion; + + if (member (c, vi_motion)) { - rl_numeric_arg *= 4; - return 1; +#if defined (READLINE_CALLBACKS) + /* If we just read a vi-mode motion command numeric argument, turn off + the `reading numeric arg' state */ + if (RL_ISSTATE (RL_STATE_CALLBACK) && RL_VIMOVENUMARG()) + RL_UNSETSTATE (RL_STATE_NUMERICARG); +#endif + /* Should do everything, including turning off RL_STATE_VIMOTION */ + return (rl_domove_motion_callback (m)); } - - c = UNMETA (c); - - if (_rl_digit_p (c)) + else if (m->key == c && (m->key == 'd' || m->key == 'y' || m->key == 'c')) { - if (rl_explicit_arg) - rl_numeric_arg = (rl_numeric_arg * 10) + _rl_digit_value (c); - else - rl_numeric_arg = _rl_digit_value (c); + rl_mark = rl_end; + rl_beg_of_line (1, c); + _rl_vi_last_motion = c; + RL_UNSETSTATE (RL_STATE_VIMOTION); + return (0); + } +#if defined (READLINE_CALLBACKS) + /* Reading vi motion char continuing numeric argument */ + else if (_rl_digit_p (c) && RL_ISSTATE (RL_STATE_CALLBACK) && RL_VIMOVENUMARG()) + { + return (_rl_vi_arg_dispatch (c)); + } + /* Readine vi motion char starting numeric argument */ + else if (_rl_digit_p (c) && RL_ISSTATE (RL_STATE_CALLBACK) && RL_ISSTATE (RL_STATE_VIMOTION) && (RL_ISSTATE (RL_STATE_NUMERICARG) == 0)) + { + RL_SETSTATE (RL_STATE_NUMERICARG); + return (_rl_vi_arg_dispatch (c)); + } +#endif + else if (_rl_digit_p (c)) + { + /* This code path taken when not in callback mode */ + save = rl_numeric_arg; + rl_numeric_arg = _rl_digit_value (c); rl_explicit_arg = 1; - return 1; + RL_SETSTATE (RL_STATE_NUMERICARG); + rl_digit_loop1 (); + rl_numeric_arg *= save; + c = rl_vi_domove_getchar (m); + if (c < 0) + { + m->motion = 0; + return -1; + } + m->motion = c; + return (rl_domove_motion_callback (m)); } else { - rl_clear_message (); - rl_stuff_char (key); - return 0; + RL_UNSETSTATE (RL_STATE_VIMOTION); + return (1); } } -/* A simplified loop for vi. Don't dispatch key at end. - Don't recognize minus sign? - Should this do rl_save_prompt/rl_restore_prompt? */ static int -rl_digit_loop1 () +rl_vi_domove_getchar (m) + _rl_vimotion_cxt *m; { - int c, r; - - while (1) - { - if (_rl_arg_overflow ()) - return 1; - - c = _rl_arg_getchar (); + int c; - r = _rl_vi_arg_dispatch (c); - if (r <= 0) - break; - } + RL_SETSTATE(RL_STATE_MOREINPUT); + c = rl_read_key (); + RL_UNSETSTATE(RL_STATE_MOREINPUT); - RL_UNSETSTATE(RL_STATE_NUMERICARG); - return (0); + return c; } -static void -_rl_mvcxt_init (m, op, key) +#if defined (READLINE_CALLBACKS) +int +_rl_vi_domove_callback (m) _rl_vimotion_cxt *m; - int op, key; { - m->op = op; - m->state = m->flags = 0; - m->ncxt = 0; - m->numeric_arg = -1; - m->start = rl_point; - m->end = rl_end; - m->key = key; - m->motion = -1; + int c, r; + + m->motion = c = rl_vi_domove_getchar (m); + /* XXX - what to do if this returns -1? Should we return 1 for eof to + callback code? */ + r = rl_domove_read_callback (m); + + return ((r == 0) ? r : 1); /* normalize return values */ } +#endif -static _rl_vimotion_cxt * -_rl_mvcxt_alloc (op, key) - int op, key; +/* This code path taken when not in callback mode. */ +int +rl_vi_domove (x, ignore) + int x, *ignore; { + int r; _rl_vimotion_cxt *m; - m = xmalloc (sizeof (_rl_vimotion_cxt)); - _rl_mvcxt_init (m, op, key); - return m; -} + *ignore = m->motion = rl_vi_domove_getchar (m = _rl_vimvcxt); -static void -_rl_mvcxt_dispose (m) - _rl_vimotion_cxt *m; -{ - free (m); -} + if (m->motion < 0) + { + m->motion = 0; + return -1; + } -/* - * 1. Create context, set initial values - * 2. Pass to rl_vi_domove to populate - * 3. Use returned context to finish rest of command - * - * Context: - * op - * state - * flags - * numeric arg - * start, end positions - * initial key (key), motion key (c) - */ + return (rl_domove_read_callback (m)); +} static int vi_delete_dispatch (m) @@ -1151,25 +1218,39 @@ rl_vi_delete_to (count, key) { int c, r; - if (_rl_uppercase_p (key)) - rl_stuff_char ('$'); - else if (vi_redoing) - rl_stuff_char (_rl_vi_last_motion); - _rl_vimvcxt = _rl_mvcxt_alloc (VIM_DELETE, key); _rl_vimvcxt->start = rl_point; - /* XXX -- TODO -- pass and use context in rl_vi_domove */ - if (rl_vi_domove (key, &c)) + rl_mark = rl_point; + if (_rl_uppercase_p (key)) + { + _rl_vimvcxt->motion = '$'; + r = rl_domove_motion_callback (_rl_vimvcxt); + } + else if (vi_redoing) + { + _rl_vimvcxt->motion = _rl_vi_last_motion; + r = rl_domove_motion_callback (_rl_vimvcxt); + } +#if defined (READLINE_CALLBACKS) + else if (RL_ISSTATE (RL_STATE_CALLBACK)) + { + RL_SETSTATE (RL_STATE_VIMOTION); + return (0); + } +#endif + else + r = rl_vi_domove (key, &c); + + if (r < 0) { rl_ding (); - return -1; + r = -1; } - _rl_vimvcxt->motion = c; - r = vidomove_dispatch (_rl_vimvcxt); _rl_mvcxt_dispose (_rl_vimvcxt); _rl_vimvcxt = 0; + return r; } @@ -1219,25 +1300,39 @@ rl_vi_change_to (count, key) { int c, r; - if (_rl_uppercase_p (key)) - rl_stuff_char ('$'); - else if (vi_redoing) - rl_stuff_char (_rl_vi_last_motion); - _rl_vimvcxt = _rl_mvcxt_alloc (VIM_CHANGE, key); _rl_vimvcxt->start = rl_point; - /* XXX -- TODO -- pass and use context in rl_vi_domove */ - if (rl_vi_domove (key, &c)) + rl_mark = rl_point; + if (_rl_uppercase_p (key)) + { + _rl_vimvcxt->motion = '$'; + r = rl_domove_motion_callback (_rl_vimvcxt); + } + else if (vi_redoing) + { + _rl_vimvcxt->motion = _rl_vi_last_motion; + r = rl_domove_motion_callback (_rl_vimvcxt); + } +#if defined (READLINE_CALLBACKS) + else if (RL_ISSTATE (RL_STATE_CALLBACK)) + { + RL_SETSTATE (RL_STATE_VIMOTION); + return (0); + } +#endif + else + r = rl_vi_domove (key, &c); + + if (r < 0) { rl_ding (); - return -1; + r = -1; /* normalize return value */ } - _rl_vimvcxt->motion = c; - r = vidomove_dispatch (_rl_vimvcxt); _rl_mvcxt_dispose (_rl_vimvcxt); _rl_vimvcxt = 0; + return r; } @@ -1266,23 +1361,34 @@ rl_vi_yank_to (count, key) { int c, r; - if (_rl_uppercase_p (key)) - rl_stuff_char ('$'); - _rl_vimvcxt = _rl_mvcxt_alloc (VIM_YANK, key); _rl_vimvcxt->start = rl_point; - /* XXX -- TODO -- pass and use context in rl_vi_domove */ - if (rl_vi_domove (key, &c)) + rl_mark = rl_point; + if (_rl_uppercase_p (key)) + { + _rl_vimvcxt->motion = '$'; + r = rl_domove_motion_callback (_rl_vimvcxt); + } +#if defined (READLINE_CALLBACKS) + else if (RL_ISSTATE (RL_STATE_CALLBACK)) + { + RL_SETSTATE (RL_STATE_VIMOTION); + return (0); + } +#endif + else + r = rl_vi_domove (key, &c); + + if (r < 0) { rl_ding (); - return -1; + r = -1; } - _rl_vimvcxt->motion = c; - r = vidomove_dispatch (_rl_vimvcxt); _rl_mvcxt_dispose (_rl_vimvcxt); _rl_vimvcxt = 0; + return r; } @@ -1295,20 +1401,21 @@ vidomove_dispatch (m) switch (m->op) { case VIM_DELETE: - r = vi_delete_callback (m); + r = vi_delete_dispatch (m); break; case VIM_CHANGE: - r = vi_change_callback (m); + r = vi_change_dispatch (m); break; case VIM_YANK: - r = vi_yank_callback (m); + r = vi_yank_dispatch (m); break; default: - fprintf (stderr, "vidomove_dispatch: unknown operator %d", m->op); + _rl_errmsg ("vidomove_dispatch: unknown operator %d", m->op); r = 1; break; } + RL_UNSETSTATE (RL_STATE_VIMOTION); return r; } diff --git a/lib/sh/Makefile.in b/lib/sh/Makefile.in index c99e98281..6f68a132c 100644 --- a/lib/sh/Makefile.in +++ b/lib/sh/Makefile.in @@ -92,7 +92,7 @@ CSOURCES = clktck.c clock.c getcwd.c getenv.c oslib.c setlinebuf.c \ mktime.c strftime.c mbschr.c zcatfd.c zmapfd.c winsize.c eaccess.c \ wcsdup.c fpurge.c zgetline.c mbscmp.c uconvert.c ufuncs.c \ casemod.c dprintf.c input_avail.c mbscasecmp.c fnxform.c \ - strchrnul.c unicode.c + strchrnul.c unicode.c wcswidth.c # The header files for this library. HSOURCES = @@ -196,6 +196,7 @@ uconvert.o: uconvert.c ufuncs.o: ufuncs.c vprint.o: vprint.c wcsdup.o: wcsdup.c +wcswidth.o: wcswidth.c mbschr.o: mbschr.c zcatfd.o: zcatfd.c zmapfd.o: zmapfd.c @@ -266,6 +267,7 @@ uconvert.o: ${BUILD_DIR}/config.h ufuncs.o: ${BUILD_DIR}/config.h vprint.o: ${BUILD_DIR}/config.h wcsdup.o: ${BUILD_DIR}/config.h +wcswidth.o: ${BUILD_DIR}/config.h mbschr.o: ${BUILD_DIR}/config.h zcatfd.o: ${BUILD_DIR}/config.h zgetline.o: ${BUILD_DIR}/config.h @@ -506,6 +508,9 @@ wcsdup.o: ${topdir}/bashansi.h ${BASHINCDIR}/ansi_stdlib.h wcsdup.o: ${BASHINCDIR}/stdc.h wcsdup.o: ${topdir}/xmalloc.h +wcswidth.o: ${topdir}/bashansi.h ${BASHINCDIR}/ansi_stdlib.h +wcswidth.o: ${BASHINCDIR}/stdc.h + mbschr.o: ${topdir}/bashansi.h mbschr.o: ${BASHINCDIR}/ansi_stdlib.h mbschr.o: ${BASHINCDIR}/shmbutil.h diff --git a/lib/sh/Makefile.in~ b/lib/sh/Makefile.in~ index 4a32545d3..c99e98281 100644 --- a/lib/sh/Makefile.in~ +++ b/lib/sh/Makefile.in~ @@ -2,7 +2,7 @@ # Makefile for the Bash library # # -# Copyright (C) 1998-2009 Free Software Foundation, Inc. +# Copyright (C) 1998-2010 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 @@ -92,7 +92,7 @@ CSOURCES = clktck.c clock.c getcwd.c getenv.c oslib.c setlinebuf.c \ mktime.c strftime.c mbschr.c zcatfd.c zmapfd.c winsize.c eaccess.c \ wcsdup.c fpurge.c zgetline.c mbscmp.c uconvert.c ufuncs.c \ casemod.c dprintf.c input_avail.c mbscasecmp.c fnxform.c \ - strchrnul.c + strchrnul.c unicode.c # The header files for this library. HSOURCES = @@ -106,7 +106,7 @@ OBJECTS = clktck.o clock.o getenv.o oslib.o setlinebuf.o strnlen.o \ strtrans.o snprintf.o mailstat.o fmtulong.o \ fmtullong.o fmtumax.o zcatfd.o zmapfd.o winsize.o wcsdup.o \ fpurge.o zgetline.o mbscmp.o uconvert.o ufuncs.o casemod.o \ - input_avail.o mbscasecmp.o fnxform.o ${LIBOBJS} + input_avail.o mbscasecmp.o fnxform.o unicode.o ${LIBOBJS} SUPPORT = Makefile diff --git a/lib/sh/wcswidth.c b/lib/sh/wcswidth.c new file mode 100644 index 000000000..1a30d9fc3 --- /dev/null +++ b/lib/sh/wcswidth.c @@ -0,0 +1,46 @@ +/* wcswidth.c - compute display width of wide character string */ + +/* Copyright (C) 2010 Free Software Foundation, Inc. + + This file is part of GNU Bash, the Bourne Again SHell. + + Bash is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Bash is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Bash. If not, see . +*/ + +#include + +#if defined (HANDLE_MULTIBYTE) && !defined (HAVE_WCSWIDTH) + +#include +#include +#include + +int +wcswidth(pwcs, n) + const wchar_t *pwcs; + size_t n; +{ + wchar_t wc; + int len, l; + + len = 0; + while (n-- > 0 && (wc = *pwcs++) != L'\0') + { + if ((l = wcwidth(wc)) < 0) + return (-1); + len += l; + } + return (len); +} +#endif diff --git a/lib/sh/wcswidth.c~ b/lib/sh/wcswidth.c~ new file mode 100644 index 000000000..271bc56b8 --- /dev/null +++ b/lib/sh/wcswidth.c~ @@ -0,0 +1,26 @@ +#include + +#if defined (HANDLE_MULTIBYTE) && !defined (HAVE_WCSWIDTH) + +#include +#include +#include + +int +wcswidth(pwcs, n) + const wchar_t *pwcs; + size_t n; +{ + wchar_t wc; + int len, l; + + len = 0; + while (n-- > 0 && (wc = *pwcs++) != L'\0') + { + if ((l = wcwidth(wc)) < 0) + return (-1); + len += l; + } + return (len); +} + diff --git a/po/LINGUAS b/po/LINGUAS index d969a2ff3..1d48d095c 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -1,2 +1,2 @@ # Set of available languages. -en@quot en@boldquot af bg ca cs de eo es et fi fr ga hu id ja lt nl pl pt_BR ro ru sk sv tr vi zh_CN zh_TW +en@quot en@boldquot af bg ca cs de eo es et fi fr ga hu id ja lt nl pl pt_BR ro ru sk sv tr uk vi zh_CN zh_TW diff --git a/po/uk.po b/po/uk.po new file mode 100644 index 000000000..67e2cbd32 --- /dev/null +++ b/po/uk.po @@ -0,0 +1,5247 @@ +# Bash Ukrainian messages +# Copyright (C) 2009 Free Software Foundation, Inc. +# This file is distributed under the same license as the bash package. +# Myhailo Danylenko , 2009. +# Maxim V. Dziumanenko , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: bash 4.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-12-30 08:25-0500\n" +"PO-Revision-Date: 2010-06-01 14:53+0300\n" +"Last-Translator: Maxim V. Dziumanenko \n" +"Language-Team: Ukrainian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: arrayfunc.c:50 +msgid "bad array subscript" +msgstr "неправильний індекс масиву" + +#: arrayfunc.c:313 builtins/declare.def:481 +#, c-format +msgid "%s: cannot convert indexed to associative array" +msgstr "%s: неможливо перетворити індексований масив на асоціативний" + +#: arrayfunc.c:480 +#, c-format +msgid "%s: invalid associative array key" +msgstr "%s: неправильний ключ асоціативного масиву" + +#: arrayfunc.c:482 +#, c-format +msgid "%s: cannot assign to non-numeric index" +msgstr "%s: означення нечислових елементів неможливе" + +#: arrayfunc.c:518 +#, c-format +msgid "%s: %s: must use subscript when assigning associative array" +msgstr "%s: %s: при означенні асоціативних масивів потрібно вказувати ключ" + +#: bashhist.c:383 +#, c-format +msgid "%s: cannot create: %s" +msgstr "%s: не вдається створити: %s" + +#: bashline.c:3457 +msgid "bash_execute_unix_command: cannot find keymap for command" +msgstr "bash_execute_unix_command: не вдається знайти відповідне призначення для команди" + +#: bashline.c:3543 +#, c-format +msgid "%s: first non-whitespace character is not `\"'" +msgstr "%s: перший непробільний символ не є `\"'" + +# c-format +#: bashline.c:3572 +#, c-format +msgid "no closing `%c' in %s" +msgstr "нема заключної `%c' у %s" + +#: bashline.c:3606 +#, c-format +msgid "%s: missing colon separator" +msgstr "%s: пропущено двокрапку-роздільник" + +#: builtins/alias.def:132 +#, fuzzy, c-format +msgid "`%s': invalid alias name" +msgstr "`%s': неправильна назва набору призначень клавіш" + +#: builtins/bind.def:120 builtins/bind.def:123 +msgid "line editing not enabled" +msgstr "редагування рядку не ввімкнено" + +#: builtins/bind.def:206 +#, c-format +msgid "`%s': invalid keymap name" +msgstr "`%s': неправильна назва набору призначень клавіш" + +#: builtins/bind.def:245 +#, c-format +msgid "%s: cannot read: %s" +msgstr "%s: не вдається прочитати: %s" + +#: builtins/bind.def:260 +#, c-format +msgid "`%s': cannot unbind" +msgstr "`%s': не вдається зняти призначення" + +#: builtins/bind.def:295 builtins/bind.def:325 +#, c-format +msgid "`%s': unknown function name" +msgstr "`%s': невідома назва функції" + +#: builtins/bind.def:303 +#, c-format +msgid "%s is not bound to any keys.\n" +msgstr "%s не призначено жодної клавіші.\n" + +#: builtins/bind.def:307 +#, c-format +msgid "%s can be invoked via " +msgstr "%s можна запустити за допомогою " + +#: builtins/break.def:77 builtins/break.def:117 +msgid "loop count" +msgstr "кількість циклів" + +#: builtins/break.def:137 +msgid "only meaningful in a `for', `while', or `until' loop" +msgstr "має сенс лише усередині циклів `for', `while' та `until'" + +#: builtins/caller.def:133 +msgid "" +"Returns the context of the current subroutine call.\n" +" \n" +" Without EXPR, returns " +msgstr "" +"Повертає контекст поточної підпрограми.\n" +" \n" +" Якщо EXPR не вказано, повертає " + +#: builtins/caller.def:135 +msgid "" +". With EXPR, returns\n" +" " +msgstr "" + +#: builtins/caller.def:136 +msgid "" +"; this extra information can be used to\n" +" provide a stack trace.\n" +" \n" +" The value of EXPR indicates how many call frames to go back before the\n" +" current one; the top frame is frame 0." +msgstr "" + +#: builtins/cd.def:215 +msgid "HOME not set" +msgstr "змінну HOME не встановлено" + +#: builtins/cd.def:227 +msgid "OLDPWD not set" +msgstr "змінну OLDPWD не встановлено" + +#: builtins/common.c:101 +#, c-format +msgid "line %d: " +msgstr "рядок %d: " + +#: builtins/common.c:139 error.c:261 +#, c-format +msgid "warning: " +msgstr "попередження: " + +#: builtins/common.c:153 +#, c-format +msgid "%s: usage: " +msgstr "%s: використовуйте: " + +#: builtins/common.c:166 test.c:827 +msgid "too many arguments" +msgstr "забагато аргументів" + +#: builtins/common.c:191 shell.c:499 shell.c:782 +#, c-format +msgid "%s: option requires an argument" +msgstr "%s: параметр потребує аргументу" + +#: builtins/common.c:198 +#, c-format +msgid "%s: numeric argument required" +msgstr "%s: потрібен числовий аргумент" + +#: builtins/common.c:205 +#, c-format +msgid "%s: not found" +msgstr "%s: не знайдено" + +#: builtins/common.c:214 shell.c:795 +#, c-format +msgid "%s: invalid option" +msgstr "%s: неправильний параметр" + +#: builtins/common.c:221 +#, c-format +msgid "%s: invalid option name" +msgstr "%s: невірна назва параметру" + +#: builtins/common.c:228 general.c:231 general.c:236 +#, c-format +msgid "`%s': not a valid identifier" +msgstr "`%s': неправильний ідентифікатор" + +#: builtins/common.c:238 +msgid "invalid octal number" +msgstr "неправильне вісімкове число" + +#: builtins/common.c:240 +msgid "invalid hex number" +msgstr "неправильне шістнадцяткове число" + +#: builtins/common.c:242 expr.c:1256 +msgid "invalid number" +msgstr "неправильне число" + +#: builtins/common.c:250 +#, c-format +msgid "%s: invalid signal specification" +msgstr "%s: сигнал вказано невірно" + +#: builtins/common.c:257 +#, c-format +msgid "`%s': not a pid or valid job spec" +msgstr "`%s': не є ідентифікатором процесу чи завдання" + +#: builtins/common.c:264 error.c:454 +#, c-format +msgid "%s: readonly variable" +msgstr "%s: змінна призначена лише для читання" + +#: builtins/common.c:272 +#, c-format +msgid "%s: %s out of range" +msgstr "%s: %s виходить за встановлені межі" + +#: builtins/common.c:272 builtins/common.c:274 +msgid "argument" +msgstr "аргумент" + +#: builtins/common.c:274 +#, c-format +msgid "%s out of range" +msgstr "%s виходить за встановлені межі" + +#: builtins/common.c:282 +#, c-format +msgid "%s: no such job" +msgstr "%s: нема такого завдання" + +#: builtins/common.c:290 +#, c-format +msgid "%s: no job control" +msgstr "%s: керування завданнями не ввімкнене" + +#: builtins/common.c:292 +msgid "no job control" +msgstr "керування завданнями не ввімкнене" + +#: builtins/common.c:302 +#, c-format +msgid "%s: restricted" +msgstr "%s: заборонено обмеженнями" + +#: builtins/common.c:304 +msgid "restricted" +msgstr "заборонено обмеженнями" + +#: builtins/common.c:312 +#, c-format +msgid "%s: not a shell builtin" +msgstr "%s: не є вбудованою командою оболонки" + +#: builtins/common.c:321 +#, c-format +msgid "write error: %s" +msgstr "помилка запису: %s" + +#: builtins/common.c:329 +#, c-format +msgid "error setting terminal attributes: %s" +msgstr "помилка встановлення параметрів терміналу: %s" + +#: builtins/common.c:331 +#, c-format +msgid "error getting terminal attributes: %s" +msgstr "помилка отримання параметрів терміналу: %s" + +#: builtins/common.c:563 +#, c-format +msgid "%s: error retrieving current directory: %s: %s\n" +msgstr "%s: помилка отримання поточної директорії: %s: %s\n" + +#: builtins/common.c:629 builtins/common.c:631 +#, c-format +msgid "%s: ambiguous job spec" +msgstr "%s: завдання вказано неоднозначно" + +#: builtins/complete.def:276 +#, c-format +msgid "%s: invalid action name" +msgstr "%s: неправильна назва дії" + +#: builtins/complete.def:449 builtins/complete.def:644 +#: builtins/complete.def:853 +#, c-format +msgid "%s: no completion specification" +msgstr "%s: не вказана специфіцкація завершення" + +#: builtins/complete.def:696 +msgid "warning: -F option may not work as you expect" +msgstr "попередження: можливо параметр -F працює не так, як ви очікуєте" + +#: builtins/complete.def:698 +msgid "warning: -C option may not work as you expect" +msgstr "попередження: можливо параметр -C працює не так, як ви очікуєте" + +#: builtins/complete.def:826 +msgid "not currently executing completion function" +msgstr "наразі функція завершення рядку не виконується" + +#: builtins/declare.def:122 +msgid "can only be used in a function" +msgstr "може використовуватися лише усередині функції" + +#: builtins/declare.def:360 +msgid "cannot use `-f' to make functions" +msgstr "`-f' не використовується для створення функцій" + +#: builtins/declare.def:372 execute_cmd.c:4937 +#, c-format +msgid "%s: readonly function" +msgstr "%s: незмінна функція" + +#: builtins/declare.def:468 +#, c-format +msgid "%s: cannot destroy array variables in this way" +msgstr "%s: неможливо знищити масив таким чином" + +#: builtins/declare.def:475 +#, c-format +msgid "%s: cannot convert associative to indexed array" +msgstr "%s: неможливо перетворити асоціативний масив на індексований" + +#: builtins/enable.def:137 builtins/enable.def:145 +msgid "dynamic loading not available" +msgstr "динамічне завантаження недоступне" + +#: builtins/enable.def:312 +#, c-format +msgid "cannot open shared object %s: %s" +msgstr "не вдається відкрити колективний об’єкт %s: %s" + +#: builtins/enable.def:335 +#, c-format +msgid "cannot find %s in shared object %s: %s" +msgstr "не вдається знайти %s у колективному об’єкті %s: %s" + +#: builtins/enable.def:459 +#, c-format +msgid "%s: not dynamically loaded" +msgstr "%s: завантажений не динамічно" + +#: builtins/enable.def:474 +#, c-format +msgid "%s: cannot delete: %s" +msgstr "%s: не вдається вилучити: %s" + +#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794 +#: shell.c:1452 +#, c-format +msgid "%s: is a directory" +msgstr "%s: це директорія" + +#: builtins/evalfile.c:139 +#, c-format +msgid "%s: not a regular file" +msgstr "%s: не є звичайним файлом" + +#: builtins/evalfile.c:147 +#, c-format +msgid "%s: file is too large" +msgstr "%s: файл завеликий" + +#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864 +#: shell.c:1462 +#, c-format +msgid "%s: cannot execute binary file" +msgstr "%s: не вдається виконати бінарний файл" + +#: builtins/exec.def:212 +#, c-format +msgid "%s: cannot execute: %s" +msgstr "%s: не вдається виконати: %s" + +#: builtins/exit.def:65 +#, c-format +msgid "logout\n" +msgstr "вихід\n" + +#: builtins/exit.def:88 +msgid "not login shell: use `exit'" +msgstr "це не оболонка сеансу: використовуйте `exit'" + +#: builtins/exit.def:120 +#, c-format +msgid "There are stopped jobs.\n" +msgstr "Залишилися призупинені завдання.\n" + +#: builtins/exit.def:122 +#, c-format +msgid "There are running jobs.\n" +msgstr "Фонові завдання все ще виконуються.\n" + +#: builtins/fc.def:262 +msgid "no command found" +msgstr "команду не знайдено" + +#: builtins/fc.def:349 +msgid "history specification" +msgstr "параметри історії" + +#: builtins/fc.def:370 +#, c-format +msgid "%s: cannot open temp file: %s" +msgstr "%s: не вдається відкрити тимчасовий файл: %s" + +#: builtins/fg_bg.def:149 builtins/jobs.def:282 +msgid "current" +msgstr "поточне" + +#: builtins/fg_bg.def:158 +#, c-format +msgid "job %d started without job control" +msgstr "завдання %d запущене без контролю завдань" + +#: builtins/getopt.c:110 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s: неправильний параметр — %c\n" + +#: builtins/getopt.c:111 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: параметр потребує аргументу — %c\n" + +#: builtins/hash.def:92 +msgid "hashing disabled" +msgstr "кешування вимкнене" + +#: builtins/hash.def:138 +#, c-format +msgid "%s: hash table empty\n" +msgstr "%s: в кеші нічого немає\n" + +#: builtins/hash.def:244 +#, c-format +msgid "hits\tcommand\n" +msgstr "влучень\tкоманда\n" + +#: builtins/help.def:130 +#, c-format +msgid "Shell commands matching keyword `" +msgid_plural "Shell commands matching keywords `" +msgstr[0] "Команди оболонки, що відповідають слову `" +msgstr[1] "Команди оболонки, що відповідають словам `" +msgstr[2] "Команди оболонки, що відповідають словам `" + +#: builtins/help.def:168 +#, fuzzy, c-format +msgid "no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'." +msgstr "`%s' не відповідає жодного розділу довідки. Спробуйте `help help' чи `man -k %s' або `info %s'." + +#: builtins/help.def:185 +#, c-format +msgid "%s: cannot open: %s" +msgstr "%s: не вдається відкрити: %s" + +#: builtins/help.def:337 +#, fuzzy, c-format +msgid "" +"These shell commands are defined internally. Type `help' to see this list.\n" +"Type `help name' to find out more about the function `name'.\n" +"Use `info bash' to find out more about the shell in general.\n" +"Use `man -k' or `info' to find out more about commands not in this list.\n" +"\n" +"A star (*) next to a name means that the command is disabled.\n" +"\n" +msgstr "" +"Ці команди оболонки визначені внутрішньо. Введіть `help', щоб побачити їх список.\n" +"Введіть `help name', щоб дізнатися більше про функцію `name'.\n" +"Використовуйте `info bash', щоб отримати більше інформації про оболонку в цілому.\n" +"`man -k' чи `info' можуть стати в нагоді для довідки стосовно команд, що не є в цьому списку.\n" +"\n" +"Зірочка (*) поряд з назвою команди означає, що команда заборонена.\n" +"\n" + +#: builtins/history.def:154 +msgid "cannot use more than one of -anrw" +msgstr "-anrw можуть зустрічатися лише один раз" + +#: builtins/history.def:186 +msgid "history position" +msgstr "позиція у історії команд" + +#: builtins/history.def:365 +#, c-format +msgid "%s: history expansion failed" +msgstr "%s: невдалий пошук по історії команд" + +#: builtins/inlib.def:71 +#, c-format +msgid "%s: inlib failed" +msgstr "%s: помилка inlib" + +#: builtins/jobs.def:109 +msgid "no other options allowed with `-x'" +msgstr "не можна використовувати інші параметри разом з `-x'" + +#: builtins/kill.def:200 +#, c-format +msgid "%s: arguments must be process or job IDs" +msgstr "%s: аргументи мають бути ідентифікаторами завдань чи процесів" + +#: builtins/kill.def:263 +msgid "Unknown error" +msgstr "Невідома помилка" + +#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516 +msgid "expression expected" +msgstr "очікувався вираз" + +#: builtins/mapfile.def:165 +#, fuzzy, c-format +msgid "%s: not an indexed array" +msgstr "%s: не є масивом" + +#: builtins/mapfile.def:249 builtins/read.def:279 +#, c-format +msgid "%s: invalid file descriptor specification" +msgstr "%s: неправильно вказаний дескриптор файлу" + +#: builtins/mapfile.def:257 builtins/read.def:286 +#, c-format +msgid "%d: invalid file descriptor: %s" +msgstr "%d: неправильний дескриптор файлу: %s" + +#: builtins/mapfile.def:266 builtins/mapfile.def:304 +#, c-format +msgid "%s: invalid line count" +msgstr "%s: неправильна кількість рядків" + +#: builtins/mapfile.def:277 +#, c-format +msgid "%s: invalid array origin" +msgstr "%s: неправильний початковий індекс" + +#: builtins/mapfile.def:294 +#, c-format +msgid "%s: invalid callback quantum" +msgstr "%s: неправильний крок виклику функції" + +#: builtins/mapfile.def:326 +msgid "empty array variable name" +msgstr "порожня назва змінної-масиву" + +#: builtins/mapfile.def:347 +msgid "array variable support required" +msgstr "змінні-масиви не підтримуються" + +#: builtins/printf.def:374 +#, c-format +msgid "`%s': missing format character" +msgstr "`%s': пропущено символ у шаблоні" + +#: builtins/printf.def:551 +#, c-format +msgid "`%c': invalid format character" +msgstr "`%c': невірний символ у шаблоні" + +#: builtins/printf.def:578 +#, c-format +msgid "warning: %s: %s" +msgstr "попередження: %s: %s" + +#: builtins/printf.def:757 +msgid "missing hex digit for \\x" +msgstr "пропущено шістнадцяткову цифру у \\x" + +#: builtins/pushd.def:195 +msgid "no other directory" +msgstr "немає іншої директорії" + +#: builtins/pushd.def:462 +msgid "" +msgstr "<немає поточної директорії>" + +#: builtins/pushd.def:506 +msgid "directory stack empty" +msgstr "стек директорій порожній" + +#: builtins/pushd.def:508 +msgid "directory stack index" +msgstr "рівень стеку директорій" + +#: builtins/pushd.def:683 +#, fuzzy +msgid "" +"Display the list of currently remembered directories. Directories\n" +" find their way onto the list with the `pushd' command; you can get\n" +" back up through the list with the `popd' command.\n" +" \n" +" Options:\n" +" -c\tclear the directory stack by deleting all of the elements\n" +" -l\tdo not print tilde-prefixed versions of directories relative\n" +" \tto your home directory\n" +" -p\tprint the directory stack with one entry per line\n" +" -v\tprint the directory stack with one entry per line prefixed\n" +" \twith its position in the stack\n" +" \n" +" Arguments:\n" +" +N\tDisplays the Nth entry counting from the left of the list shown by\n" +" \tdirs when invoked without options, starting with zero.\n" +" \n" +" -N\tDisplays the Nth entry counting from the right of the list shown by\n" +"\tdirs when invoked without options, starting with zero." +msgstr "" +"Показує список збережених директорій. Директорії\n" +" додаються до цього списку командою `pushd'; ви можете повернутися\n" +" назад по списку за допомогою команди `popd'.\n" +" \n" +" Параметри:\n" +" -c\tочистити список директорій, вилучивши усі його елементи\n" +" -l\tне використовувати ~ для директорій, що знаходяться усередині\n" +" \tвашої домівки\n" +" -p\tвиводити директорії по одній на рядок\n" +" -v\tвиводити директорії по одній на рядок із вказанням позиції у\n" +" \tсписку\n" +" \n" +" Аргументи:\n" +" +N\tПоказує N-ну зліва директорію у списку, що виводиться командою\n" +" \tdirs без аргументів, рахунок починається з нуля.\n" +" \n" +" -N\tПоказує N-ну з кінця директорію у списку, що виводиться командою\n" +"\tdirs без аргументів, рахунок починається з нуля." + +#: builtins/pushd.def:705 +#, fuzzy +msgid "" +"Adds a directory to the top of the directory stack, or rotates\n" +" the stack, making the new top of the stack the current working\n" +" directory. With no arguments, exchanges the top two directories.\n" +" \n" +" Options:\n" +" -n\tSuppresses the normal change of directory when adding\n" +" \tdirectories to the stack, so only the stack is manipulated.\n" +" \n" +" Arguments:\n" +" +N\tRotates the stack so that the Nth directory (counting\n" +" \tfrom the left of the list shown by `dirs', starting with\n" +" \tzero) is at the top.\n" +" \n" +" -N\tRotates the stack so that the Nth directory (counting\n" +" \tfrom the right of the list shown by `dirs', starting with\n" +" \tzero) is at the top.\n" +" \n" +" dir\tAdds DIR to the directory stack at the top, making it the\n" +" \tnew current working directory.\n" +" \n" +" The `dirs' builtin displays the directory stack." +msgstr "" +"Додає директорію на вершину стеку директорій, чи циклічно обертає\n" +" стек, встановлюючи поточну робочу директорію відповідно до його нової\n" +" вершини. Без аргументів міняє місцями дві найвищих директорії.\n" +" \n" +" Параметри:\n" +" -n\tНе робити звичайного переходу у нову директорію при додаванні\n" +" \tдиректорій до стеку, проводити операції лише над стеком.\n" +" \n" +" Аргументи:\n" +" +N\tЦиклічно обертає стек так, щоб N-на директорія, рахуючи\n" +" \tзліва (починаючи з нуля) у списку, що виводиться командою `dirs'\n" +" \tопиниться на вершині стеку.\n" +" \n" +" -N\tЦиклічно обертає стек так, щоб N-на директорія, рахуючи\n" +" \tз кінця (починаючи з нуля) у списку, що виводиться командою `dirs'\n" +" \tопиниться на вершині стеку.\n" +" \n" +" dir\tДодає DIR на вершину стеку, й робить її поточною робочою\n" +" \tдиректорією.\n" +" \n" +" Вбудована команда `dirs' показує стек директорій." + +#: builtins/pushd.def:730 +#, fuzzy +msgid "" +"Removes entries from the directory stack. With no arguments, removes\n" +" the top directory from the stack, and changes to the new top directory.\n" +" \n" +" Options:\n" +" -n\tSuppresses the normal change of directory when removing\n" +" \tdirectories from the stack, so only the stack is manipulated.\n" +" \n" +" Arguments:\n" +" +N\tRemoves the Nth entry counting from the left of the list\n" +" \tshown by `dirs', starting with zero. For example: `popd +0'\n" +" \tremoves the first directory, `popd +1' the second.\n" +" \n" +" -N\tRemoves the Nth entry counting from the right of the list\n" +" \tshown by `dirs', starting with zero. For example: `popd -0'\n" +" \tremoves the last directory, `popd -1' the next to last.\n" +" \n" +" The `dirs' builtin displays the directory stack." +msgstr "" +"Вилучає директорії зі стеку збережених директорій. Без аргументів, вилучає\n" +" верхню директорію у стеку й змінює поточну директорію відповідно до нової\n" +" вершини стеку.\n" +" \n" +" Параметри:\n" +" -n\tНе робити звичайного переходу до нової директорії при вилученні\n" +" \tдиректорій зі стеку, проводити операції лише над стеком.\n" +" \n" +" Аргументи:\n" +" +N\tВилучає N-ну зліва директорію у списку, що показується командою `dirs'\n" +" \t(рахунок починається з нуля). Наприклад: `popd +0' вилучає першу директорію,\n" +" \t`popd +1' другу.\n" +" \n" +" -N\tВилучає N-ну з кінця директорію у списку, що показується командою\n" +" \t`dirs' (рахунок починається з нуля). Наприклад: `popd -0' вилучає\n" +" \tостанню директорію, `popd -1' передостанню.\n" +" \n" +" Вбудована команда `dirs' показує стек директорій." + +#: builtins/read.def:252 +#, fuzzy, c-format +msgid "%s: invalid timeout specification" +msgstr "%s: неправильно вказаний термін часу" + +#: builtins/read.def:588 +#, c-format +msgid "read error: %d: %s" +msgstr "помилка читання: %d: %s" + +#: builtins/return.def:73 +msgid "can only `return' from a function or sourced script" +msgstr "`return' працює лише у функції чи скрипті, запущеному за допомогою `source'" + +#: builtins/set.def:768 +msgid "cannot simultaneously unset a function and a variable" +msgstr "не можна одночасно знищити і функцію і змінну" + +#: builtins/set.def:805 +#, c-format +msgid "%s: cannot unset" +msgstr "%s: не вдається знищити" + +#: builtins/set.def:812 +#, c-format +msgid "%s: cannot unset: readonly %s" +msgstr "%s: не вдається знищити: %s лише для читання" + +#: builtins/set.def:823 +#, c-format +msgid "%s: not an array variable" +msgstr "%s: не є масивом" + +#: builtins/setattr.def:186 +#, c-format +msgid "%s: not a function" +msgstr "%s: не є функцією" + +#: builtins/shift.def:71 builtins/shift.def:77 +msgid "shift count" +msgstr "кількість зсувів" + +#: builtins/shopt.def:260 +msgid "cannot set and unset shell options simultaneously" +msgstr "не можна одночасно встановлювати й скасовувати параметри оболонки" + +#: builtins/shopt.def:325 +#, c-format +msgid "%s: invalid shell option name" +msgstr "%s: неправильне ім’я параметру оболонки" + +#: builtins/source.def:128 +msgid "filename argument required" +msgstr "потрібна назва файлу" + +#: builtins/source.def:153 +#, c-format +msgid "%s: file not found" +msgstr "%s: файл не знайдено" + +#: builtins/suspend.def:101 +msgid "cannot suspend" +msgstr "не вдається призупинити" + +#: builtins/suspend.def:111 +msgid "cannot suspend a login shell" +msgstr "не можна призупинити оболонку сеансу" + +#: builtins/type.def:234 +#, c-format +msgid "%s is aliased to `%s'\n" +msgstr "%s є псевдонімом до `%s'\n" + +#: builtins/type.def:255 +#, c-format +msgid "%s is a shell keyword\n" +msgstr "%s — це ключове слово оболонки\n" + +#: builtins/type.def:274 +#, c-format +msgid "%s is a function\n" +msgstr "%s є функцією\n" + +#: builtins/type.def:296 +#, c-format +msgid "%s is a shell builtin\n" +msgstr "%s є вбудованою командою оболонки\n" + +#: builtins/type.def:317 builtins/type.def:391 +#, c-format +msgid "%s is %s\n" +msgstr "%s — це %s\n" + +# I know the difference between hash and cache, but here, +# I think, this is more suitable... +#: builtins/type.def:337 +#, c-format +msgid "%s is hashed (%s)\n" +msgstr "%s знаходиться в кеші (%s)\n" + +#: builtins/ulimit.def:372 +#, c-format +msgid "%s: invalid limit argument" +msgstr "%s: невірний аргумент обмеження" + +#: builtins/ulimit.def:398 +#, c-format +msgid "`%c': bad command" +msgstr "`%c': неправильна команда" + +#: builtins/ulimit.def:427 +#, c-format +msgid "%s: cannot get limit: %s" +msgstr "%s: не вдається отримати значення обмеження: %s" + +#: builtins/ulimit.def:453 +msgid "limit" +msgstr "значення обмеження" + +#: builtins/ulimit.def:465 builtins/ulimit.def:765 +#, c-format +msgid "%s: cannot modify limit: %s" +msgstr "%s: не вдається змінити обмеження: %s" + +#: builtins/umask.def:118 +msgid "octal number" +msgstr "вісімкове число" + +#: builtins/umask.def:231 +#, c-format +msgid "`%c': invalid symbolic mode operator" +msgstr "`%c': невірний оператор у символьному режимі" + +#: builtins/umask.def:286 +#, c-format +msgid "`%c': invalid symbolic mode character" +msgstr "`%c': невірний символ у символьному режимі" + +#: error.c:90 error.c:321 error.c:323 error.c:325 +msgid " line " +msgstr " рядок " + +#: error.c:165 +#, c-format +msgid "last command: %s\n" +msgstr "остання команда: %s\n" + +#: error.c:173 +#, c-format +msgid "Aborting..." +msgstr "Припинення..." + +#: error.c:406 +msgid "unknown command error" +msgstr "невідома помилка команди" + +#: error.c:407 +msgid "bad command type" +msgstr "неправильний тип команди" + +#: error.c:408 +msgid "bad connector" +msgstr "неправильний з’єднувальний оператор" + +#: error.c:409 +msgid "bad jump" +msgstr "неправильний перехід" + +#: error.c:447 +#, c-format +msgid "%s: unbound variable" +msgstr "%s: неозначена змінна" + +#: eval.c:181 +#, c-format +msgid "\atimed out waiting for input: auto-logout\n" +msgstr "\aчас очікування вводу вичерпано: автоматичний вихід\n" + +#: execute_cmd.c:497 +#, c-format +msgid "cannot redirect standard input from /dev/null: %s" +msgstr "не вдається переспрямувати /dev/null на стандартний ввід: %s" + +#: execute_cmd.c:1162 +#, c-format +msgid "TIMEFORMAT: `%c': invalid format character" +msgstr "TIMEFORMAT: `%c': невірний символ шаблону" + +#: execute_cmd.c:2075 +msgid "pipe error" +msgstr "помилка каналу" + +#: execute_cmd.c:4481 +#, c-format +msgid "%s: restricted: cannot specify `/' in command names" +msgstr "%s: обмеження: не можна вказувати `/' у імені команди" + +#: execute_cmd.c:4572 +#, c-format +msgid "%s: command not found" +msgstr "%s: команду не знайдено" + +#: execute_cmd.c:4827 +#, c-format +msgid "%s: %s: bad interpreter" +msgstr "%s: %s: неправильний інтерпретатор" + +#: execute_cmd.c:4976 +#, c-format +msgid "cannot duplicate fd %d to fd %d" +msgstr "не вдається створити копію файлового дескриптору %d у %d" + +#: expr.c:241 +msgid "expression recursion level exceeded" +msgstr "рівень вкладення виразів перевищено" + +#: expr.c:265 +msgid "recursion stack underflow" +msgstr "нестача стеку рекурсії" + +#: expr.c:379 +msgid "syntax error in expression" +msgstr "синтаксична помилка у виразі" + +#: expr.c:419 +msgid "attempted assignment to non-variable" +msgstr "спроба призначення не-змінної" + +#: expr.c:440 expr.c:445 expr.c:756 +msgid "division by 0" +msgstr "ділення на 0" + +#: expr.c:471 +msgid "bug: bad expassign token" +msgstr "вада: неправильна лексема у виразі" + +#: expr.c:513 +msgid "`:' expected for conditional expression" +msgstr "очікувалася `:' умовного виразу" + +#: expr.c:781 +msgid "exponent less than 0" +msgstr "експонента менша за 0" + +#: expr.c:826 +msgid "identifier expected after pre-increment or pre-decrement" +msgstr "пре-інкремент чи пре-декремент потребують ідентифікатор" + +#: expr.c:854 +msgid "missing `)'" +msgstr "відсутня `)'" + +#: expr.c:897 expr.c:1176 +msgid "syntax error: operand expected" +msgstr "синтаксична помилка: очікувався операнд" + +#: expr.c:1178 +msgid "syntax error: invalid arithmetic operator" +msgstr "синтаксична помилка: невірний арифметичний оператор" + +#: expr.c:1202 +#, c-format +msgid "%s%s%s: %s (error token is \"%s\")" +msgstr "%s%s%s: %s (позначка помилки \"%s\")" + +#: expr.c:1260 +msgid "invalid arithmetic base" +msgstr "невірна арифметична основа" + +#: expr.c:1280 +msgid "value too great for base" +msgstr "завелике значення основи" + +#: expr.c:1329 +#, c-format +msgid "%s: expression error\n" +msgstr "%s: помилка у виразі\n" + +#: general.c:61 +msgid "getcwd: cannot access parent directories" +msgstr "getcwd: не вдається отримати доступ до директорій вищого рівня" + +#: input.c:94 subst.c:4857 +#, c-format +msgid "cannot reset nodelay mode for fd %d" +msgstr "не вдається перевстановити режим без затримки файлового дескриптору %d" + +#: input.c:258 +#, c-format +msgid "cannot allocate new file descriptor for bash input from fd %d" +msgstr "не вдається отримати новий файловий дескриптор для вводу bash з файлового дескриптору %d" + +#: input.c:266 +#, c-format +msgid "save_bash_input: buffer already exists for new fd %d" +msgstr "save_bash_input: для нового файлового дескриптору %d вже існує буфер" + +#: jobs.c:466 +msgid "start_pipeline: pgrp pipe" +msgstr "start_pipeline: pgrp pipe" + +#: jobs.c:887 +#, c-format +msgid "forked pid %d appears in running job %d" +msgstr "ідентифікатор відгалуженого процесу %d знайдено у працюючому завданні %d" + +#: jobs.c:1005 +#, c-format +msgid "deleting stopped job %d with process group %ld" +msgstr "вилучення зупиненого завдання %d, що має групу процесів %ld" + +#: jobs.c:1110 +#, fuzzy, c-format +msgid "add_process: process %5ld (%s) in the_pipeline" +msgstr "add_process: процес %5ld (%s) у the_pipeline" + +#: jobs.c:1113 +#, c-format +msgid "add_process: pid %5ld (%s) marked as still alive" +msgstr "add_process: ідентифікатор процесу %5ld (%s) вважається все ще працюючим" + +#: jobs.c:1401 +#, c-format +msgid "describe_pid: %ld: no such pid" +msgstr "describe_pid: %ld: ідентифікатор процесу не існує" + +#: jobs.c:1416 +#, c-format +msgid "Signal %d" +msgstr "Сигнал %d" + +#: jobs.c:1430 jobs.c:1455 +msgid "Done" +msgstr "Завершено" + +#: jobs.c:1435 siglist.c:123 +msgid "Stopped" +msgstr "Зупинено" + +#: jobs.c:1439 +#, c-format +msgid "Stopped(%s)" +msgstr "Зупинено(%s)" + +#: jobs.c:1443 +msgid "Running" +msgstr "Працює" + +#: jobs.c:1457 +#, c-format +msgid "Done(%d)" +msgstr "Зроблено(%d)" + +#: jobs.c:1459 +#, c-format +msgid "Exit %d" +msgstr "Вихід %d" + +#: jobs.c:1462 +msgid "Unknown status" +msgstr "Невідомий стан" + +#: jobs.c:1549 +#, c-format +msgid "(core dumped) " +msgstr "(збережено знімок оперативної пам’яті)" + +#: jobs.c:1568 +#, c-format +msgid " (wd: %s)" +msgstr " (РД: %s)" + +#: jobs.c:1776 +#, c-format +msgid "child setpgid (%ld to %ld)" +msgstr "зміна групи дочірнього процесу (%ld на %ld)" + +#: jobs.c:2104 nojobs.c:585 +#, c-format +msgid "wait: pid %ld is not a child of this shell" +msgstr "wait: процес %ld не є відгалуженим від цієї оболонки" + +#: jobs.c:2331 +#, c-format +msgid "wait_for: No record of process %ld" +msgstr "wait_for: Нема запису для процесу %ld" + +#: jobs.c:2607 +#, c-format +msgid "wait_for_job: job %d is stopped" +msgstr "wait_for_job: завдання %d зупинене" + +#: jobs.c:2829 +#, c-format +msgid "%s: job has terminated" +msgstr "%s: завдання завершилося" + +#: jobs.c:2838 +#, c-format +msgid "%s: job %d already in background" +msgstr "%s: завдання %d вже працює в фоні" + +#: jobs.c:3059 +msgid "waitchld: turning on WNOHANG to avoid indefinite block" +msgstr "" + +#: jobs.c:3508 +#, c-format +msgid "%s: line %d: " +msgstr "%s: рядок %d: " + +#: jobs.c:3522 nojobs.c:814 +#, c-format +msgid " (core dumped)" +msgstr " (збережено знімок оперативної пам’яті)" + +#: jobs.c:3534 jobs.c:3547 +#, c-format +msgid "(wd now: %s)\n" +msgstr "(тепер РД: %s)\n" + +#: jobs.c:3579 +msgid "initialize_job_control: getpgrp failed" +msgstr "initialize_job_control: помилка getpgrp" + +#: jobs.c:3639 +#, fuzzy +msgid "initialize_job_control: line discipline" +msgstr "initialize_job_control: line discipline" + +#: jobs.c:3649 +msgid "initialize_job_control: setpgid" +msgstr "initialize_job_control: setpgid" + +#: jobs.c:3677 +#, c-format +msgid "cannot set terminal process group (%d)" +msgstr "не вдається встановити групу процесу для терміналу (%d)" + +#: jobs.c:3682 +msgid "no job control in this shell" +msgstr "ця оболонка не може керувати завданнями" + +#: lib/malloc/malloc.c:296 +#, c-format +msgid "malloc: failed assertion: %s\n" +msgstr "malloc: умова не виконується: %s\n" + +#: lib/malloc/malloc.c:312 +#, c-format +msgid "" +"\r\n" +"malloc: %s:%d: assertion botched\r\n" +msgstr "" +"\r\n" +"malloc: %s:%d: потрібна умова не виконується\r\n" + +#: lib/malloc/malloc.c:313 +msgid "unknown" +msgstr "невідомий" + +#: lib/malloc/malloc.c:797 +msgid "malloc: block on free list clobbered" +msgstr "malloc: зайнятий блок у списку вільних" + +#: lib/malloc/malloc.c:874 +msgid "free: called with already freed block argument" +msgstr "free: аргумент є вже звільненим блоком" + +#: lib/malloc/malloc.c:877 +msgid "free: called with unallocated block argument" +msgstr "free: блок ще не виділено" + +#: lib/malloc/malloc.c:896 +msgid "free: underflow detected; mh_nbytes out of range" +msgstr "free: виявлено перехід за нижню границю блоку; mh_nbytes не вкладається у рамки" + +#: lib/malloc/malloc.c:902 +msgid "free: start and end chunk sizes differ" +msgstr "free: розмір у записах на початку та в кінці блоку відрізняється" + +#: lib/malloc/malloc.c:1001 +msgid "realloc: called with unallocated block argument" +msgstr "realloc: блок ще не виділено" + +#: lib/malloc/malloc.c:1016 +msgid "realloc: underflow detected; mh_nbytes out of range" +msgstr "realloc: виявлено перехід за нижню границю блоку; mh_nbytes не вкладається у рамки" + +#: lib/malloc/malloc.c:1022 +msgid "realloc: start and end chunk sizes differ" +msgstr "realloc: розмір у записах на початку та в кінці блоку відрізняється" + +#: lib/malloc/table.c:177 +#, fuzzy, c-format +msgid "register_alloc: alloc table is full with FIND_ALLOC?\n" +msgstr "register_alloc: таблиця виділення заповнена FIND_ALLOC?\n" + +#: lib/malloc/table.c:184 +#, c-format +msgid "register_alloc: %p already in table as allocated?\n" +msgstr "register_alloc: %p вже позначений як виділений у таблиці?\n" + +#: lib/malloc/table.c:220 +#, c-format +msgid "register_free: %p already in table as free?\n" +msgstr "register_free: %p вже позначений як вільний у таблиці?\n" + +#: lib/sh/fmtulong.c:101 +msgid "invalid base" +msgstr "неправильна основа" + +#: lib/sh/netopen.c:168 +#, c-format +msgid "%s: host unknown" +msgstr "%s: невідомий хост" + +#: lib/sh/netopen.c:175 +#, c-format +msgid "%s: invalid service" +msgstr "%s: неправильна служба" + +#: lib/sh/netopen.c:306 +#, c-format +msgid "%s: bad network path specification" +msgstr "%s: неправильно вказаний мережевий шлях" + +#: lib/sh/netopen.c:346 +msgid "network operations not supported" +msgstr "мережеві операції не підтримуються" + +#: locale.c:192 +#, c-format +msgid "setlocale: LC_ALL: cannot change locale (%s)" +msgstr "" + +#: locale.c:194 +#, c-format +msgid "setlocale: LC_ALL: cannot change locale (%s): %s" +msgstr "" + +#: locale.c:247 +#, fuzzy, c-format +msgid "setlocale: %s: cannot change locale (%s)" +msgstr "xrealloc: %s:%d: не вдається виділити %lu байтів" + +#: locale.c:249 +#, fuzzy, c-format +msgid "setlocale: %s: cannot change locale (%s): %s" +msgstr "xrealloc: %s:%d: не вдається виділити %lu байтів" + +#: mailcheck.c:433 +msgid "You have mail in $_" +msgstr "Присутня пошта у $_" + +#: mailcheck.c:458 +msgid "You have new mail in $_" +msgstr "Нова пошта у $_" + +#: mailcheck.c:474 +#, c-format +msgid "The mail in %s has been read\n" +msgstr "Пошту у %s прочитано\n" + +#: make_cmd.c:323 +msgid "syntax error: arithmetic expression required" +msgstr "синтаксична помилка: потрібен арифметичний вираз" + +#: make_cmd.c:325 +msgid "syntax error: `;' unexpected" +msgstr "синтаксична помилка: неочікувана `;'" + +#: make_cmd.c:326 +#, c-format +msgid "syntax error: `((%s))'" +msgstr "синтаксична помилка: `((%s))'" + +#: make_cmd.c:575 +#, c-format +msgid "make_here_document: bad instruction type %d" +msgstr "make_here_document: неправильний тип інструкції %d" + +#: make_cmd.c:659 +#, fuzzy, c-format +msgid "here-document at line %d delimited by end-of-file (wanted `%s')" +msgstr "here-document з рядка %d закінчено кінцем файлу (очікувалося `%s')" + +#: make_cmd.c:756 +#, c-format +msgid "make_redirection: redirection instruction `%d' out of range" +msgstr "make_redirection: інструкція переспрямування `%d' поза межами" + +#: parse.y:3133 parse.y:3369 +#, c-format +msgid "unexpected EOF while looking for matching `%c'" +msgstr "файл скінчився раніше, ніж було знайдено відповідний `%c'" + +#: parse.y:3951 +msgid "unexpected EOF while looking for `]]'" +msgstr "файл скінчився раніше, ніж було знайдено `]]'" + +#: parse.y:3956 +#, c-format +msgid "syntax error in conditional expression: unexpected token `%s'" +msgstr "синтаксична помилка в умовному виразі: неочікувана лексема `%s'" + +#: parse.y:3960 +msgid "syntax error in conditional expression" +msgstr "синтаксична помилка в умовному виразі" + +#: parse.y:4038 +#, c-format +msgid "unexpected token `%s', expected `)'" +msgstr "неочікувана лексема `%s', очікувалася `)'" + +#: parse.y:4042 +msgid "expected `)'" +msgstr "очікувалася `)'" + +#: parse.y:4070 +#, c-format +msgid "unexpected argument `%s' to conditional unary operator" +msgstr "неочікуваний аргумент унарного умовного оператору `%s'" + +#: parse.y:4074 +msgid "unexpected argument to conditional unary operator" +msgstr "неочікуваний аргумент унарного умовного оператору" + +#: parse.y:4120 +#, c-format +msgid "unexpected token `%s', conditional binary operator expected" +msgstr "неочікувана лексема `%s', очікувався бінарний умовний оператор" + +#: parse.y:4124 +msgid "conditional binary operator expected" +msgstr "очікувався бінарний умовний оператор" + +#: parse.y:4146 +#, c-format +msgid "unexpected argument `%s' to conditional binary operator" +msgstr "неочікуваний аргумент бінарного умовного оператора `%s'" + +#: parse.y:4150 +msgid "unexpected argument to conditional binary operator" +msgstr "неочікуваний аргумент бінарного умовного оператора" + +#: parse.y:4161 +#, c-format +msgid "unexpected token `%c' in conditional command" +msgstr "неочікувана лексема `%c' в умовній команді" + +#: parse.y:4164 +#, c-format +msgid "unexpected token `%s' in conditional command" +msgstr "неочікувана лексема `%s' в умовній команді" + +#: parse.y:4168 +#, c-format +msgid "unexpected token %d in conditional command" +msgstr "неочікувана лексема %d в умовній команді" + +#: parse.y:5459 +#, c-format +msgid "syntax error near unexpected token `%s'" +msgstr "синтаксична помилка коло неочікуваної лексеми `%s'" + +#: parse.y:5477 +#, c-format +msgid "syntax error near `%s'" +msgstr "синтаксична помилка коло `%s'" + +#: parse.y:5487 +msgid "syntax error: unexpected end of file" +msgstr "синтаксична помилка: раптово скінчився файл" + +#: parse.y:5487 +msgid "syntax error" +msgstr "синтаксична помилка" + +#: parse.y:5549 +#, c-format +msgid "Use \"%s\" to leave the shell.\n" +msgstr "Використовуйте \"%s\", щоб вийти з оболонки.\n" + +#: parse.y:5711 +msgid "unexpected EOF while looking for matching `)'" +msgstr "файл скінчився, перш ніж було знайдено відповідну `)'" + +#: pcomplete.c:1030 +#, c-format +msgid "completion: function `%s' not found" +msgstr "завершення: функцію `%s' не знайдено" + +#: pcomplib.c:179 +#, c-format +msgid "progcomp_insert: %s: NULL COMPSPEC" +msgstr "progcomp_insert: %s: NULL COMPSPEC" + +#: print_cmd.c:290 +#, c-format +msgid "print_command: bad connector `%d'" +msgstr "print_command: неправильний з’єднувальний оператор `%d'" + +#: print_cmd.c:363 +#, fuzzy, c-format +msgid "xtrace_set: %d: invalid file descriptor" +msgstr "%d: неправильний дескриптор файлу: %s" + +#: print_cmd.c:368 +msgid "xtrace_set: NULL file pointer" +msgstr "" + +#: print_cmd.c:372 +#, c-format +msgid "xtrace fd (%d) != fileno xtrace fp (%d)" +msgstr "" + +#: print_cmd.c:1461 +#, c-format +msgid "cprintf: `%c': invalid format character" +msgstr "cprintf: `%c': неправильний символ шаблону" + +#: redir.c:110 +msgid "file descriptor out of range" +msgstr "дескриптор файлу поза можливими межами" + +#: redir.c:166 +#, c-format +msgid "%s: ambiguous redirect" +msgstr "%s: неоднозначне переспрямування" + +#: redir.c:170 +#, c-format +msgid "%s: cannot overwrite existing file" +msgstr "%s: заборонено перезаписувати існуючі файли" + +#: redir.c:175 +#, c-format +msgid "%s: restricted: cannot redirect output" +msgstr "%s: обмеження: переспрямування виводу заборонене" + +#: redir.c:180 +#, c-format +msgid "cannot create temp file for here-document: %s" +msgstr "не вдається створити тимчасовий файл для here-document: %s" + +#: redir.c:184 +#, fuzzy, c-format +msgid "%s: cannot assign fd to variable" +msgstr "%s: неможливо означити елемент масиву списком" + +#: redir.c:544 +msgid "/dev/(tcp|udp)/host/port not supported without networking" +msgstr "/dev/(tcp|udp)/host/port не підтримується" + +#: redir.c:1101 +msgid "redirection error: cannot duplicate fd" +msgstr "помилка переспрямування: не вдається створити копію дескриптора файлу" + +#: shell.c:332 +msgid "could not find /tmp, please create!" +msgstr "не вдається знайти /tmp, будь ласка створіть його!" + +#: shell.c:336 +msgid "/tmp must be a valid directory name" +msgstr "/tmp має бути назвою дійсної директорії" + +#: shell.c:884 +#, c-format +msgid "%c%c: invalid option" +msgstr "%c%c: невірний параметр" + +#: shell.c:1651 +msgid "I have no name!" +msgstr "У мене нема імені!" + +#: shell.c:1793 +#, c-format +msgid "GNU bash, version %s-(%s)\n" +msgstr "GNU bash, версія %s-(%s)\n" + +#: shell.c:1794 +#, c-format +msgid "" +"Usage:\t%s [GNU long option] [option] ...\n" +"\t%s [GNU long option] [option] script-file ...\n" +msgstr "" +"Використовуйте:\t%s [довгий параметр GNU] [параметр] ...\n" +"\t%s [довгий параметр GNU] [параметр] файл_сценарію ...\n" + +#: shell.c:1796 +msgid "GNU long options:\n" +msgstr "Довгі параметри GNU:\n" + +#: shell.c:1800 +msgid "Shell options:\n" +msgstr "Параметри оболонки:\n" + +#: shell.c:1801 +msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n" +msgstr "\t-irsD чи -c команда чи -O параметр_shopt\t\t(тільки на початку)\n" + +#: shell.c:1816 +#, c-format +msgid "\t-%s or -o option\n" +msgstr "\t-%s чи -o параметр\n" + +#: shell.c:1822 +#, c-format +msgid "Type `%s -c \"help set\"' for more information about shell options.\n" +msgstr "Введіть `%s -c \"help set\"', щоб отримати більше інформації про параметри оболонки.\n" + +#: shell.c:1823 +#, c-format +msgid "Type `%s -c help' for more information about shell builtin commands.\n" +msgstr "Введіть `%s -c help', щоб отримати більше інформації про вбудовані команди оболонки.\n" + +#: shell.c:1824 +#, c-format +msgid "Use the `bashbug' command to report bugs.\n" +msgstr "Щоб повідомити про помилку в програмі, використовуйте команду `bashbug'.\n" + +#: sig.c:626 +#, c-format +msgid "sigprocmask: %d: invalid operation" +msgstr "sigprocmask: %d: невірна операція" + +#: siglist.c:48 +msgid "Bogus signal" +msgstr "Неіснуючий сигнал" + +#: siglist.c:51 +msgid "Hangup" +msgstr "Зависання" + +#: siglist.c:55 +msgid "Interrupt" +msgstr "Переривання" + +#: siglist.c:59 +msgid "Quit" +msgstr "Вихід" + +#: siglist.c:63 +msgid "Illegal instruction" +msgstr "Невірна інструкція" + +#: siglist.c:67 +msgid "BPT trace/trap" +msgstr "Відлагодження" + +#: siglist.c:75 +msgid "ABORT instruction" +msgstr "Інструкція ABORT" + +#: siglist.c:79 +msgid "EMT instruction" +msgstr "Інструкція EMT" + +#: siglist.c:83 +msgid "Floating point exception" +msgstr "Помилка обчислень з рухомою комою" + +#: siglist.c:87 +msgid "Killed" +msgstr "Вбитий" + +#: siglist.c:91 +msgid "Bus error" +msgstr "Помилка шини" + +#: siglist.c:95 +msgid "Segmentation fault" +msgstr "Помилка адресування" + +#: siglist.c:99 +msgid "Bad system call" +msgstr "Невірний системний виклик" + +#: siglist.c:103 +msgid "Broken pipe" +msgstr "Зламаний канал" + +#: siglist.c:107 +msgid "Alarm clock" +msgstr "Таймер" + +#: siglist.c:111 +msgid "Terminated" +msgstr "Припинено" + +#: siglist.c:115 +msgid "Urgent IO condition" +msgstr "Невідкладні події В/В" + +#: siglist.c:119 +msgid "Stopped (signal)" +msgstr "Зупинено (сигнал)" + +#: siglist.c:127 +msgid "Continue" +msgstr "Продовження" + +#: siglist.c:135 +msgid "Child death or stop" +msgstr "Зупинка чи припинення дочірнього процесу" + +#: siglist.c:139 +msgid "Stopped (tty input)" +msgstr "Зупинено (ввід з терміналу)" + +#: siglist.c:143 +msgid "Stopped (tty output)" +msgstr "Зупинено (вивід на термінал)" + +#: siglist.c:147 +msgid "I/O ready" +msgstr "В/В готовий" + +#: siglist.c:151 +msgid "CPU limit" +msgstr "Обмеження часу CPU" + +#: siglist.c:155 +msgid "File limit" +msgstr "Обмеження розміру файлу" + +#: siglist.c:159 +msgid "Alarm (virtual)" +msgstr "Таймер (віртуальний)" + +#: siglist.c:163 +msgid "Alarm (profile)" +msgstr "Таймер (профілювання)" + +#: siglist.c:167 +msgid "Window changed" +msgstr "Зміна вікна" + +#: siglist.c:171 +msgid "Record lock" +msgstr "Блокування втрачено" + +#: siglist.c:175 +msgid "User signal 1" +msgstr "Сигнал користувача 1" + +#: siglist.c:179 +msgid "User signal 2" +msgstr "Сигнал користувача 2" + +#: siglist.c:183 +msgid "HFT input data pending" +msgstr "Вхідні дані HFT очікують" + +#: siglist.c:187 +msgid "power failure imminent" +msgstr "наближається втрата живлення" + +#: siglist.c:191 +msgid "system crash imminent" +msgstr "наближається аварійна ситуація" + +#: siglist.c:195 +msgid "migrate process to another CPU" +msgstr "перенесення процесу на інший CPU" + +#: siglist.c:199 +msgid "programming error" +msgstr "помилка програмування" + +#: siglist.c:203 +msgid "HFT monitor mode granted" +msgstr "Режим монітору HFT надано" + +#: siglist.c:207 +msgid "HFT monitor mode retracted" +msgstr "Режим монітору HFT відкликано" + +#: siglist.c:211 +msgid "HFT sound sequence has completed" +msgstr "Завершено звукову послідовність HFT" + +#: siglist.c:215 +msgid "Information request" +msgstr "Інформаційний запит" + +#: siglist.c:223 +msgid "Unknown Signal #" +msgstr "Невідомий сигнал №" + +#: siglist.c:225 +#, c-format +msgid "Unknown Signal #%d" +msgstr "Невідомий сигнал №%d" + +#: subst.c:1333 subst.c:1454 +#, c-format +msgid "bad substitution: no closing `%s' in %s" +msgstr "неправильна заміна: немає заключної `%s' у %s" + +#: subst.c:2735 +#, c-format +msgid "%s: cannot assign list to array member" +msgstr "%s: неможливо означити елемент масиву списком" + +#: subst.c:4754 subst.c:4770 +msgid "cannot make pipe for process substitution" +msgstr "не вдається створити канал для підставляння процесу" + +#: subst.c:4802 +msgid "cannot make child for process substitution" +msgstr "не вдається створити дочірній процес для підставляння процесу" + +#: subst.c:4847 +#, c-format +msgid "cannot open named pipe %s for reading" +msgstr "не вдається відкрити іменований канал %s для читання" + +#: subst.c:4849 +#, c-format +msgid "cannot open named pipe %s for writing" +msgstr "не вдається відкрити іменований канал %s для запису" + +#: subst.c:4867 +#, c-format +msgid "cannot duplicate named pipe %s as fd %d" +msgstr "" + +#: subst.c:5063 +msgid "cannot make pipe for command substitution" +msgstr "не вдається створити канал для підставляння команди" + +#: subst.c:5097 +msgid "cannot make child for command substitution" +msgstr "не вдається створити дочірній процес для підставляння команди" + +#: subst.c:5114 +msgid "command_substitute: cannot duplicate pipe as fd 1" +msgstr "command_substitute: не вдається створити копію каналу із файловим дескриптором 1" + +#: subst.c:5617 +#, c-format +msgid "%s: parameter null or not set" +msgstr "%s: параметр нульової довжини чи не вказаний" + +#: subst.c:5907 +#, c-format +msgid "%s: substring expression < 0" +msgstr "%s: підрядок коротший за 0" + +#: subst.c:6965 +#, c-format +msgid "%s: bad substitution" +msgstr "%s: неправильна заміна" + +#: subst.c:7045 +#, c-format +msgid "$%s: cannot assign in this way" +msgstr "$%s: не можна призначити таким чином" + +#: subst.c:7374 +msgid "future versions of the shell will force evaluation as an arithmetic substitution" +msgstr "" + +#: subst.c:7839 +#, c-format +msgid "bad substitution: no closing \"`\" in %s" +msgstr "неправильна заміна: немає заключної \"`\" у %s" + +#: subst.c:8720 +#, c-format +msgid "no match: %s" +msgstr "нема відповідника: %s" + +#: test.c:146 +msgid "argument expected" +msgstr "очікувався аргумент" + +#: test.c:155 +#, c-format +msgid "%s: integer expression expected" +msgstr "%s: очікувався числовий вираз" + +#: test.c:263 +msgid "`)' expected" +msgstr "очікувалася `)'" + +#: test.c:265 +#, c-format +msgid "`)' expected, found %s" +msgstr "очікувалася `)', отримано %s" + +#: test.c:280 test.c:693 test.c:696 +#, c-format +msgid "%s: unary operator expected" +msgstr "%s: очікувався унарний оператор" + +#: test.c:449 test.c:736 +#, c-format +msgid "%s: binary operator expected" +msgstr "%s: очікувався бінарний оператор" + +#: test.c:811 +msgid "missing `]'" +msgstr "відсутня `]'" + +#: trap.c:203 +msgid "invalid signal number" +msgstr "неправильний номер сигналу" + +#: trap.c:327 +#, c-format +msgid "run_pending_traps: bad value in trap_list[%d]: %p" +msgstr "run_pending_traps: неправильне значення у trap_list[%d]: %p" + +#: trap.c:331 +#, c-format +msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself" +msgstr "run_pending_traps: обробник сигналу є SIG_DFL, %d (%s) повторно надсилається собі" + +#: trap.c:380 +#, c-format +msgid "trap_handler: bad signal %d" +msgstr "trap_handler: неправильний сигнал %d" + +#: variables.c:363 +#, c-format +msgid "error importing function definition for `%s'" +msgstr "помилка імпортування означення функції `%s'" + +#: variables.c:748 +#, c-format +msgid "shell level (%d) too high, resetting to 1" +msgstr "рівень оболонки (%d) занадто високий, перевстановлено у 1" + +#: variables.c:1915 +#, fuzzy +msgid "make_local_variable: no function context at current scope" +msgstr "make_local_variable: немає контексту функції у поточному оточенні виконання" + +#: variables.c:3159 +#, fuzzy +msgid "all_local_variables: no function context at current scope" +msgstr "all_local_variables: немає контексту функції у поточному оточенні виконання" + +#: variables.c:3376 +#, fuzzy, c-format +msgid "%s has null exportstr" +msgstr "%s: параметр нульової довжини чи не вказаний" + +#: variables.c:3381 variables.c:3390 +#, c-format +msgid "invalid character %d in exportstr for %s" +msgstr "невірний символ %d у рядку експорту для %s" + +#: variables.c:3396 +#, c-format +msgid "no `=' in exportstr for %s" +msgstr "немає `=' у рядку експорту для %s" + +#: variables.c:3835 +msgid "pop_var_context: head of shell_variables not a function context" +msgstr "pop_var_context: перший елемент shell_variables не є контекстом функції" + +#: variables.c:3848 +msgid "pop_var_context: no global_variables context" +msgstr "pop_var_context: немає контексту global_variables" + +#: variables.c:3922 +msgid "pop_scope: head of shell_variables not a temporary environment scope" +msgstr "pop_scope: перший елемент shell_variables не є тимчасовим оточенням виконання" + +#: variables.c:4678 +#, fuzzy, c-format +msgid "%s: %s: cannot open as FILE" +msgstr "%s: не вдається відкрити: %s" + +#: variables.c:4683 +#, fuzzy, c-format +msgid "%s: %s: invalid value for trace file descriptor" +msgstr "%d: неправильний дескриптор файлу: %s" + +#: version.c:46 +msgid "Copyright (C) 2009 Free Software Foundation, Inc." +msgstr "Copyright (C) 2009 Free Software Foundation, Inc." + +#: version.c:47 +msgid "License GPLv3+: GNU GPL version 3 or later \n" +msgstr "Ліцензія GPLv3+: GNU GPL версія 3 чи новіша \n" + +#: version.c:86 version2.c:83 +#, c-format +msgid "GNU bash, version %s (%s)\n" +msgstr "GNU bash, версія %s (%s)\n" + +#: version.c:91 version2.c:88 +#, c-format +msgid "This is free software; you are free to change and redistribute it.\n" +msgstr "Це вільне програмне забезпечення; ви можете його змінювати та розповсюджувати.\n" + +#: version.c:92 version2.c:89 +#, c-format +msgid "There is NO WARRANTY, to the extent permitted by law.\n" +msgstr "Не надається НІЯКИХ ГАРАНТІЙ у межах, передбачених законом.\n" + +#: version2.c:86 +#, fuzzy, c-format +msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n" +msgstr "Copyright (C) 2009 Free Software Foundation, Inc." + +#: version2.c:87 +#, fuzzy, c-format +msgid "License GPLv2+: GNU GPL version 2 or later \n" +msgstr "Ліцензія GPLv3+: GNU GPL версія 3 чи новіша \n" + +#: xmalloc.c:91 +#, fuzzy, c-format +msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)" +msgstr "xmalloc: не вдається виділити %lu байтів (виділено %lu байтів)" + +#: xmalloc.c:93 +#, fuzzy, c-format +msgid "%s: cannot allocate %lu bytes" +msgstr "xmalloc: не вдається виділити %lu байтів" + +#: xmalloc.c:163 +#, fuzzy, c-format +msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)" +msgstr "xmalloc: %s:%d: не вдається виділити %lu байтів (виділено %lu байтів)" + +#: xmalloc.c:165 +#, fuzzy, c-format +msgid "%s: %s:%d: cannot allocate %lu bytes" +msgstr "xmalloc: %s:%d: не вдається виділити %lu байтів" + +#: builtins.c:43 +msgid "alias [-p] [name[=value] ... ]" +msgstr "alias [-3] [ім’я[=значення] ...]" + +#: builtins.c:47 +msgid "unalias [-a] name [name ...]" +msgstr "unalias [-a] ім’я [ім’я ...]" + +#: builtins.c:51 +msgid "bind [-lpvsPVS] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]" +msgstr "bind [-lpvsPVS] [-m keymap] [-f файл] [-q ім’я] [-u ім’я] [-r послідовність-клавіш] [-x послідовність-клавіш:команда-оболонки] [послідовність-клавіш:функція-readline чи команда-readline]" + +#: builtins.c:54 +msgid "break [n]" +msgstr "break [n]" + +#: builtins.c:56 +msgid "continue [n]" +msgstr "continue [n]" + +#: builtins.c:58 +msgid "builtin [shell-builtin [arg ...]]" +msgstr "builtin [вбудована-команда [аргумент ...]]" + +#: builtins.c:61 +msgid "caller [expr]" +msgstr "caller [вираз]" + +#: builtins.c:64 +msgid "cd [-L|-P] [dir]" +msgstr "cd [-L|-P] [директорія]" + +#: builtins.c:66 +msgid "pwd [-LP]" +msgstr "pwd [-LP]" + +#: builtins.c:68 +msgid ":" +msgstr ":" + +#: builtins.c:70 +msgid "true" +msgstr "true" + +#: builtins.c:72 +msgid "false" +msgstr "false" + +#: builtins.c:74 +msgid "command [-pVv] command [arg ...]" +msgstr "command [-pVv] команда [аргумент ...]" + +#: builtins.c:76 +msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]" +msgstr "declare [-aAfFilrtux] [-p] [ім’я[=значення] ...]" + +#: builtins.c:78 +msgid "typeset [-aAfFilrtux] [-p] name[=value] ..." +msgstr "typeset [-aAfFilrtux] [-p] ім’я[=значення] ..." + +#: builtins.c:80 +msgid "local [option] name[=value] ..." +msgstr "local [параметр] ім’я[=значення] ..." + +#: builtins.c:83 +msgid "echo [-neE] [arg ...]" +msgstr "echo [-neE] [аргумент ...]" + +#: builtins.c:87 +msgid "echo [-n] [arg ...]" +msgstr "echo [-n] [аргумент ...]" + +#: builtins.c:90 +msgid "enable [-a] [-dnps] [-f filename] [name ...]" +msgstr "enable [-a] [-dnps] [-f файл] [ім’я ...]" + +#: builtins.c:92 +msgid "eval [arg ...]" +msgstr "eval [аргумент ...]" + +#: builtins.c:94 +msgid "getopts optstring name [arg]" +msgstr "getopts рядок-параметрів ім’я [аргумент]" + +#: builtins.c:96 +msgid "exec [-cl] [-a name] [command [arguments ...]] [redirection ...]" +msgstr "exec [-cl] [-a ім’я] [команда [аргументи ...]] [переспрямування ...]" + +#: builtins.c:98 +msgid "exit [n]" +msgstr "exit [n]" + +#: builtins.c:100 +msgid "logout [n]" +msgstr "logout [n]" + +#: builtins.c:103 +msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]" +msgstr "fc [-e редактор] [-lnr] [перший] [останній] чи fc -s [шаблон=заміна] [команда]" + +#: builtins.c:107 +msgid "fg [job_spec]" +msgstr "fg [завдання]" + +#: builtins.c:111 +msgid "bg [job_spec ...]" +msgstr "bg [завдання ...]" + +#: builtins.c:114 +msgid "hash [-lr] [-p pathname] [-dt] [name ...]" +msgstr "hash [-lr] [-p шлях] [-dt] [ім’я ...]" + +#: builtins.c:117 +#, fuzzy +msgid "help [-dms] [pattern ...]" +msgstr "help [-ds] [шаблон ...]" + +#: builtins.c:121 +msgid "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]" +msgstr "history [-c] [-d позиція] [n] чи history -anrw [файл] чи history -ps аргумент [аргумент ...]" + +#: builtins.c:125 +msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]" +msgstr "jobs [-lnprs] [завдання ...] чи jobs -x команда [аргументи]" + +#: builtins.c:129 +msgid "disown [-h] [-ar] [jobspec ...]" +msgstr "disown [-h] [-ar] [завдання ...]" + +#: builtins.c:132 +msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]" +msgstr "kill [-s сигнал | -n номер-сигналу | -сигнал] pid | завдання ... чи kill -l [сигнал]" + +#: builtins.c:134 +msgid "let arg [arg ...]" +msgstr "let аргумент [аргумент ...]" + +#: builtins.c:136 +#, fuzzy +msgid "read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]" +msgstr "read [-ers] [-a масив] [-d роздільник] [-i текст] [-n кількість-символів] [-p запрошення] [-t ліміт-часу] [-u дескриптор-файлу] [ім’я ...]" + +#: builtins.c:138 +msgid "return [n]" +msgstr "return [n]" + +#: builtins.c:140 +msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]" +msgstr "set [--abefhkmnptuvxBCHP] [-o параметр] [аргумент ...]" + +#: builtins.c:142 +msgid "unset [-f] [-v] [name ...]" +msgstr "unset [-f] [-v] [ім’я ...]" + +#: builtins.c:144 +msgid "export [-fn] [name[=value] ...] or export -p" +msgstr "export [-fn] [ім’я[=значення] ...] чи export -p" + +#: builtins.c:146 +msgid "readonly [-af] [name[=value] ...] or readonly -p" +msgstr "readonli [-af [ім’я[=значення] ...] чи readonly -p" + +#: builtins.c:148 +msgid "shift [n]" +msgstr "shift [n]" + +#: builtins.c:150 +msgid "source filename [arguments]" +msgstr "source файл [аргументи]" + +#: builtins.c:152 +msgid ". filename [arguments]" +msgstr ". файл [аргументи]" + +#: builtins.c:155 +msgid "suspend [-f]" +msgstr "suspend [-f]" + +#: builtins.c:158 +msgid "test [expr]" +msgstr "test [вираз]" + +#: builtins.c:160 +msgid "[ arg... ]" +msgstr "[ аргумент... ]" + +#: builtins.c:162 +msgid "times" +msgstr "times" + +#: builtins.c:164 +msgid "trap [-lp] [[arg] signal_spec ...]" +msgstr "trap [-lp] [[аргумент] сигнал ...]" + +#: builtins.c:166 +msgid "type [-afptP] name [name ...]" +msgstr "type [-afptP] ім’я [ім’я ...]" + +#: builtins.c:169 +msgid "ulimit [-SHacdefilmnpqrstuvx] [limit]" +msgstr "ulimit [-SHacdefilmnpqrstuvx] [обмеження]" + +#: builtins.c:172 +msgid "umask [-p] [-S] [mode]" +msgstr "umask [-p] [-S] [режим-доступу]" + +#: builtins.c:175 +msgid "wait [id]" +msgstr "wait [ідентифікатор]" + +#: builtins.c:179 +msgid "wait [pid]" +msgstr "wait [ідентифікатор-процесу]" + +#: builtins.c:182 +msgid "for NAME [in WORDS ... ] ; do COMMANDS; done" +msgstr "for ІМ’Я [in СЛОВА ... ] ; do КОМАНДИ; done" + +#: builtins.c:184 +msgid "for (( exp1; exp2; exp3 )); do COMMANDS; done" +msgstr "for (( вираз1; вираз2; вираз3 )); do КОМАНДИ; done" + +#: builtins.c:186 +msgid "select NAME [in WORDS ... ;] do COMMANDS; done" +msgstr "select ІМ’Я [in СЛОВА ...;] do КОМАНДИ; done" + +#: builtins.c:188 +msgid "time [-p] pipeline" +msgstr "time [-p] канал" + +#: builtins.c:190 +msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac" +msgstr "case СЛОВО in [ШАБЛОН [| ШАБЛОН]...) КОМАНДИ ;;]... esac" + +#: builtins.c:192 +msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi" +msgstr "if КОМАНДИ; then КОМАНДИ; [ elif КОМАНДИ; then КОМАНДИ; ]... [ else КОМАНДИ; ] fi" + +#: builtins.c:194 +msgid "while COMMANDS; do COMMANDS; done" +msgstr "while КОМАНДИ; do КОМАНДИ; done" + +#: builtins.c:196 +msgid "until COMMANDS; do COMMANDS; done" +msgstr "until КОМАНДИ; do КОМАНДИ; done" + +#: builtins.c:198 +msgid "coproc [NAME] command [redirections]" +msgstr "coproc [ІМ’Я] команда [переспрямування]" + +#: builtins.c:200 +msgid "function name { COMMANDS ; } or name () { COMMANDS ; }" +msgstr "function ім’я { КОМАНДИ ; } чи ім’я () { КОМАНДИ ; }" + +#: builtins.c:202 +msgid "{ COMMANDS ; }" +msgstr "{ КОМАНДИ ; }" + +#: builtins.c:204 +msgid "job_spec [&]" +msgstr "завдання [&]" + +#: builtins.c:206 +msgid "(( expression ))" +msgstr "(( вираз ))" + +#: builtins.c:208 +msgid "[[ expression ]]" +msgstr "[[ вираз ]]" + +#: builtins.c:210 +msgid "variables - Names and meanings of some shell variables" +msgstr "variables - Імена та значення деяких змінних оболонки" + +#: builtins.c:213 +msgid "pushd [-n] [+N | -N | dir]" +msgstr "pushd [-n] [+N | -N | директорія]" + +#: builtins.c:217 +msgid "popd [-n] [+N | -N]" +msgstr "popd [-n] [+N | -N]" + +#: builtins.c:221 +msgid "dirs [-clpv] [+N] [-N]" +msgstr "dirs [-clpv] [+N] [-N]" + +#: builtins.c:224 +msgid "shopt [-pqsu] [-o] [optname ...]" +msgstr "shopt [-pqsu] [-o] [назва-параметра ...]" + +#: builtins.c:226 +msgid "printf [-v var] format [arguments]" +msgstr "printf [-v змінна] шаблон-форматування [аргументи]" + +#: builtins.c:229 +#, fuzzy +msgid "complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]" +msgstr "complete [-abcdefgjksuv] [-pr] [-o параметр] [-A дія] [-G шаблон-оболонки] [-W список-слів] [-F функція] [-C команда] [-X шаблон-фільтрування] [-P префікс] [-S суфікс] [ім’я ...]" + +#: builtins.c:233 +msgid "compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]" +msgstr "compgen [-abcdefgjksuv] [-o параметр] [-A дія] [-G шаблон-оболонки] [-W список-слів] [-F функція] [-C команда] [-X шаблон-фільтрування] [-P префікс] [-S суфікс] [слово]" + +#: builtins.c:237 +#, fuzzy +msgid "compopt [-o|+o option] [-DE] [name ...]" +msgstr "compopt [-o|+o параметр] [ім’я ...]" + +#: builtins.c:240 +msgid "mapfile [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]" +msgstr "mapfile [-n кількість] [-O початок-відліку] [-s кількість] [-t] [-u дескриптор] [-C обробник] [-c крок] [масив]" + +#: builtins.c:242 +msgid "readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]" +msgstr "readarray [-n кількість] [-O початок-відліку] [-s кількість] [-t] [-u дескриптор] [-C обробник] [-c крок] [масив]" + +#: builtins.c:254 +msgid "" +"Define or display aliases.\n" +" \n" +" Without arguments, `alias' prints the list of aliases in the reusable\n" +" form `alias NAME=VALUE' on standard output.\n" +" \n" +" Otherwise, an alias is defined for each NAME whose VALUE is given.\n" +" A trailing space in VALUE causes the next word to be checked for\n" +" alias substitution when the alias is expanded.\n" +" \n" +" Options:\n" +" -p\tPrint all defined aliases in a reusable format\n" +" \n" +" Exit Status:\n" +" alias returns true unless a NAME is supplied for which no alias has been\n" +" defined." +msgstr "" +"Додає чи показує псевдоніми для команд.\n" +" \n" +" Викликана без аргументів, команда `alias' друкує список псевдонімів у\n" +" придатній до подальшого виконання формі `alias ІМ’Я=ЗНАЧЕННЯ'.\n" +" \n" +" Інакше вона додає псевдоніми для кожного вказаного ІМЕНІ, для якого надане\n" +" ЗНАЧЕННЯ. Пробіли в кінці ЗНАЧЕННЯ дозволяють увімкнути подальше розкриття\n" +" псевдонімів усередині цього псевдоніму під час його підставляння.\n" +" \n" +" Параметри:\n" +" -p\tНадрукувати усі визначені псевдоніми у придатній до виконання формі.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо було вказане ІМ’Я, для якого нема\n" +" псевдоніму." + +#: builtins.c:276 +msgid "" +"Remove each NAME from the list of defined aliases.\n" +" \n" +" Options:\n" +" -a\tremove all alias definitions.\n" +" \n" +" Return success unless a NAME is not an existing alias." +msgstr "" +"Вилучає усі вказані ІМЕНА зі списку визначених псевдонімів.\n" +" \n" +" Параметри:\n" +" -a\tВилучити визначення усіх псевдонімів.\n" +" \n" +" Код завершення:\n" +" Завершується невдало, якщо ІМ’Я не є визначеним псевдонімом." + +#: builtins.c:289 +msgid "" +"Set Readline key bindings and variables.\n" +" \n" +" Bind a key sequence to a Readline function or a macro, or set a\n" +" Readline variable. The non-option argument syntax is equivalent to\n" +" that found in ~/.inputrc, but must be passed as a single argument:\n" +" e.g., bind '\"\\C-x\\C-r\": re-read-init-file'.\n" +" \n" +" Options:\n" +" -m keymap Use KEYMAP as the keymap for the duration of this\n" +" command. Acceptable keymap names are emacs,\n" +" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n" +" vi-command, and vi-insert.\n" +" -l List names of functions.\n" +" -P List function names and bindings.\n" +" -p List functions and bindings in a form that can be\n" +" reused as input.\n" +" -S List key sequences that invoke macros and their values\n" +" -s List key sequences that invoke macros and their values\n" +" in a form that can be reused as input.\n" +" -V List variable names and values\n" +" -v List variable names and values in a form that can\n" +" be reused as input.\n" +" -q function-name Query about which keys invoke the named function.\n" +" -u function-name Unbind all keys which are bound to the named function.\n" +" -r keyseq Remove the binding for KEYSEQ.\n" +" -f filename Read key bindings from FILENAME.\n" +" -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n" +" \t\t\t\tKEYSEQ is entered.\n" +" \n" +" Exit Status:\n" +" bind returns 0 unless an unrecognized option is given or an error occurs." +msgstr "" +"Встановлює призначення клавіш та змінні readline.\n" +" \n" +" Призначає функції чи макровизначенню readline послідовність клавіш чи\n" +" встановлює змінну readline. Аргумент, що не відносяться до параметрів\n" +" має синтаксис такий же як у ~/.inputrc, але мають бути вказані як один\n" +" аргумент, наприклад, bind '\"\\C-x\\C-r\": re-read-init-file'.\n" +" \n" +" Параметри:\n" +" -m набір Використовувати НАБІР призначень клавіш на час\n" +" виконання цієї команди. Назви існучих наборів: emacs,\n" +" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n" +" vi-command та vi-insert.\n" +" -l Вивести імена функцій.\n" +" -P Вивести імена функцій та які послідовності клавіш їм\n" +" призначено.\n" +" -p Вивести функції та призначення у формі, придатній для\n" +" подальшого використання як ввід.\n" +" -S Вивести послідовності клавіш, які запускають\n" +" макровизначення.\n" +" -s Вивести послідовності клавіш, які запускають\n" +" макровизначення у формі, придатній для подальшого\n" +" використання як ввід.\n" +" -V Вивести імена та значення змінних.\n" +" -v Вивести імена та значення змінних у формі, що може\n" +" бути надалі використана як ввід.\n" +" -q функція Показати, які послідовності клавіш запускають цю\n" +" функцію.\n" +" -u функція Скасувати усі призначені цій функції послідовності.\n" +" -r послідовність Скасувати призначення ПОСЛІДОВНОСТІ.\n" +" -f файл Прочитати призначення клавіш з ФАЙЛУ.\n" +" -x послідовність:команда-оболонки\tПри вводі ПОСЛІДОВНОСТІ буде\n" +" \t\t\t\tзапускатися КОМАНДА-ОБОЛОНКИ.\n" +" \n" +" Код завершення:\n" +" Команда завершується успішно, якщо вказані правильні параметри та не\n" +" виникло помилки під час виконання." + +#: builtins.c:326 +msgid "" +"Exit for, while, or until loops.\n" +" \n" +" Exit a FOR, WHILE or UNTIL loop. If N is specified, break N enclosing\n" +" loops.\n" +" \n" +" Exit Status:\n" +" The exit status is 0 unless N is not greater than or equal to 1." +msgstr "" +"Виходить з циклів for, while чи until.\n" +" \n" +" Перериває цикли FOR, WHILE чи UNTIL. Якщо вказано N, перериває\n" +" N охоплюючих циклів.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо N менше за 1." + +#: builtins.c:338 +msgid "" +"Resume for, while, or until loops.\n" +" \n" +" Resumes the next iteration of the enclosing FOR, WHILE or UNTIL loop.\n" +" If N is specified, resumes the Nth enclosing loop.\n" +" \n" +" Exit Status:\n" +" The exit status is 0 unless N is not greater than or equal to 1." +msgstr "" +"Переходить до наступної ітерації циклів for, while чи until.\n" +" \n" +" Переходить до наступної ітерації циклу for, while чи until.\n" +" Якщо вказане N, перехід відбувається у N-ному охоплюючому циклі.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо N менше 1." + +#: builtins.c:350 +msgid "" +"Execute shell builtins.\n" +" \n" +" Execute SHELL-BUILTIN with arguments ARGs without performing command\n" +" lookup. This is useful when you wish to reimplement a shell builtin\n" +" as a shell function, but need to execute the builtin within the function.\n" +" \n" +" Exit Status:\n" +" Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n" +" not a shell builtin.." +msgstr "" +"Виконує вбудовану команду оболонки.\n" +" \n" +" Запускає ВБУДОВАНУ-КОМАНДУ з вказаними АРГУМЕНТАМИ, пошук команди не\n" +" робиться. Це може стати в нагоді, якщо ви хочете замінити вбудовану\n" +" команду функцією оболонки, але вам треба запускати вбудовану команду\n" +" зсередини цієї функції.\n" +" \n" +" Код завершення:\n" +" Команда повертає код завершення ВБУДОВАНОЇ-КОМАНДИ або помилку, якщо\n" +" ВБУДОВАНА-КОМАНДА не є вбудованою командою оболонки." + +#: builtins.c:365 +#, fuzzy +msgid "" +"Return the context of the current subroutine call.\n" +" \n" +" Without EXPR, returns \"$line $filename\". With EXPR, returns\n" +" \"$line $subroutine $filename\"; this extra information can be used to\n" +" provide a stack trace.\n" +" \n" +" The value of EXPR indicates how many call frames to go back before the\n" +" current one; the top frame is frame 0.\n" +" \n" +" Exit Status:\n" +" Returns 0 unless the shell is not executing a shell function or EXPR\n" +" is invalid." +msgstr "" +"Повертає контекст виконання поточної підпрограми.\n" +" \n" +" Якщо ВИРАЗ не вказано, виводить \"$line $filename\". Інакше виводить\n" +" \"$line $subroutine $filename\"; цю додаткову інформацію можна\n" +" використовувати для надання трасування стеку.\n" +" \n" +" Значення ВИРАЗУ визначає на скільки рівнів викликів піднятися від\n" +" поточного; поточний рівень є нульовим.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо оболонка зараз не виконує функцію\n" +" або якщо ВИРАЗ є неправильним." + +#: builtins.c:383 +msgid "" +"Change the shell working directory.\n" +" \n" +" Change the current directory to DIR. The default DIR is the value of the\n" +" HOME shell variable.\n" +" \n" +" The variable CDPATH defines the search path for the directory containing\n" +" DIR. Alternative directory names in CDPATH are separated by a colon (:).\n" +" A null directory name is the same as the current directory. If DIR begins\n" +" with a slash (/), then CDPATH is not used.\n" +" \n" +" If the directory is not found, and the shell option `cdable_vars' is set,\n" +" the word is assumed to be a variable name. If that variable has a value,\n" +" its value is used for DIR.\n" +" \n" +" Options:\n" +" -L\tforce symbolic links to be followed\n" +" -P\tuse the physical directory structure without following symbolic\n" +" \tlinks\n" +" \n" +" The default is to follow symbolic links, as if `-L' were specified.\n" +" \n" +" Exit Status:\n" +" Returns 0 if the directory is changed; non-zero otherwise." +msgstr "" +"Змінює робочу директорію оболонки.\n" +" \n" +" Змінює поточну директорію на ДИРЕКТОРІЮ. Якщо ДИРЕКТОРІЮ не вказано,\n" +" береться значення змінної оточення HOME.\n" +" \n" +" Змінна CDPATH визначає набір директорій, в яких шукати ДИРЕКТОРІЮ.\n" +" Директорії у цій змінній розділяються двокрапкою (:).\n" +" Порожнє ім’я директорії означає поточну директорію. Якщо ДИРЕКТОРІЯ\n" +" починається з похилої риски (/), CDPATH не використовується.\n" +" \n" +" Якщо директорію не буде знайдено, при ввімкненому параметрі оболонки\n" +" `cdable_vars', ДИРЕКТОРІЯ вважатиметься іменем змінної. Якщо змінна з\n" +" таким іменем існуватиме, її значення буде використане замість ДИРЕКТОРІЇ.\n" +" \n" +" Параметри:\n" +" -L\tПереходити за символічними посиланнями.\n" +" -P\tВикористовувати фізичну структуру директорій, не переходити за\n" +" \tсимволічними посиланнями.\n" +" \n" +" Зазвичай команда переходитиме за символічними посиланнями, як ніби був\n" +" вказаний параметр `-L'.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо директорію змінити не вдалося." + +#: builtins.c:411 +msgid "" +"Print the name of the current working directory.\n" +" \n" +" Options:\n" +" -L\tprint the value of $PWD if it names the current working\n" +" \tdirectory\n" +" -P\tprint the physical directory, without any symbolic links\n" +" \n" +" By default, `pwd' behaves as if `-L' were specified.\n" +" \n" +" Exit Status:\n" +" Returns 0 unless an invalid option is given or the current directory\n" +" cannot be read." +msgstr "" +"Виводить ім’я поточної робочої директорії.\n" +" \n" +" Параметри:\n" +" -L\tВивести значення $PWD, якщо вона вказує поточну робочу директорію.\n" +" -P\tВивести фізичне розташування директорії, без символічних посилань.\n" +" \n" +" Зазвичай `pwd' працює як ніби вказано `-L'.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо вказано неправильний параметр чи\n" +" не вдається отримати доступ до поточної робочої директорії." + +#: builtins.c:428 +msgid "" +"Null command.\n" +" \n" +" No effect; the command does nothing.\n" +" \n" +" Exit Status:\n" +" Always succeeds." +msgstr "" +"Нічого не робить.\n" +" \n" +" Не має жодного ефекту; ця команда нічого не робить.\n" +" \n" +" Код завершення:\n" +" Команда завжди успішна." + +#: builtins.c:439 +msgid "" +"Return a successful result.\n" +" \n" +" Exit Status:\n" +" Always succeeds." +msgstr "" +"Завершується успішно.\n" +" \n" +" Код завершення:\n" +" Команда завжди успішна." + +#: builtins.c:448 +msgid "" +"Return an unsuccessful result.\n" +" \n" +" Exit Status:\n" +" Always fails." +msgstr "" +"Завершується помилково.\n" +" \n" +" Код завершення:\n" +" Команда завжди завершується невдало." + +#: builtins.c:457 +msgid "" +"Execute a simple command or display information about commands.\n" +" \n" +" Runs COMMAND with ARGS suppressing shell function lookup, or display\n" +" information about the specified COMMANDs. Can be used to invoke commands\n" +" on disk when a function with the same name exists.\n" +" \n" +" Options:\n" +" -p\tuse a default value for PATH that is guaranteed to find all of\n" +" \tthe standard utilities\n" +" -v\tprint a description of COMMAND similar to the `type' builtin\n" +" -V\tprint a more verbose description of each COMMAND\n" +" \n" +" Exit Status:\n" +" Returns exit status of COMMAND, or failure if COMMAND is not found." +msgstr "" +"Запускає звичайну команду чи показує інформацію про команди.\n" +" \n" +" Запускає КОМАНДУ з АРГУМЕНТАМИ, не роблячи пошуку серед функцій оболонки,\n" +" чи показує інформацію про вказані КОМАНДИ. Може використовуватися для\n" +" запуску команд з диску, коли існує функція з таким же іменем.\n" +" \n" +" Параметри:\n" +" -p\tВикористовувати стандартне значення PATH, яке забезпечує\n" +" \tзнаходження усіх стандартних утиліт.\n" +" -v\tВивести опис КОМАНД, подібний до виводу вбудованої команди `type'.\n" +" -V\tВивести більш багатослівний опис кожної з КОМАНД.\n" +" \n" +" Код завершення:\n" +" Команда повертає код завершення КОМАНДИ або помилку, якщо КОМАНДУ не буде\n" +" знайдено." + +#: builtins.c:476 +msgid "" +"Set variable values and attributes.\n" +" \n" +" Declare variables and give them attributes. If no NAMEs are given,\n" +" display the attributes and values of all variables.\n" +" \n" +" Options:\n" +" -f\trestrict action or display to function names and definitions\n" +" -F\trestrict display to function names only (plus line number and\n" +" \tsource file when debugging)\n" +" -p\tdisplay the attributes and value of each NAME\n" +" \n" +" Options which set attributes:\n" +" -a\tto make NAMEs indexed arrays (if supported)\n" +" -A\tto make NAMEs associative arrays (if supported)\n" +" -i\tto make NAMEs have the `integer' attribute\n" +" -l\tto convert NAMEs to lower case on assignment\n" +" -r\tto make NAMEs readonly\n" +" -t\tto make NAMEs have the `trace' attribute\n" +" -u\tto convert NAMEs to upper case on assignment\n" +" -x\tto make NAMEs export\n" +" \n" +" Using `+' instead of `-' turns off the given attribute.\n" +" \n" +" Variables with the integer attribute have arithmetic evaluation (see\n" +" the `let' command) performed when the variable is assigned a value.\n" +" \n" +" When used in a function, `declare' makes NAMEs local, as with the `local'\n" +" command.\n" +" \n" +" Exit Status:\n" +" Returns success unless an invalid option is supplied or an error occurs." +msgstr "" +"Встановлює значення та властивості змінних.\n" +" \n" +" Описує змінні та встановлює їх властивості. Якщо ІМЕНА не вказані,\n" +" показує властивості та значення усіх змінних.\n" +" \n" +" Параметри:\n" +" -f\tОбмежити поле дії лише іменами та визначеннями функцій.\n" +" -F\tОбмежити показ лише іменами функцій (плюс номер рядку та\n" +" \tфайл, звідки походить функція, якщо йде відлагодження).\n" +" -p\tПоказати властивості та значення кожного з ІМЕН.\n" +" \n" +" Параметри, що встановлюють властивості:\n" +" -a\tЗробити ІМЕНА індексованими масивами (якщо підтримується).\n" +" -A\tЗробити ІМЕНА асоціативними масивами (якщо підтримується).\n" +" -i\tНадати ІМЕНАМ властивість `ціле число'.\n" +" -l\tПереводити значення до нижнього регістру при означенні ІМЕН.\n" +" -r\tЗробити ІМЕНА незмінними (лише для читання).\n" +" -t\tНадати ІМЕНАМ властивість `trace'.\n" +" -u\tПереводити значення до верхнього регістру при означенні ІМЕН.\n" +" -x\tЕкспортувати ІМЕНА.\n" +" \n" +" Замінивши `-' на `+' можна вимкнути відповідну властивість.\n" +" \n" +" При означенні змінні з властивістю цілого числа проводиться арифметичне\n" +" обчислення (див. команду `let') значення.\n" +" \n" +" При використанні всередині функції, `declare' робить ІМЕНА локальними\n" +" змінними, як команда `local'.\n" +" \n" +" Код завершення:\n" +" Команда завершується успішно якщо вказані правильні параметри і не виникло\n" +" помилки під час виконання." + +#: builtins.c:512 +msgid "" +"Set variable values and attributes.\n" +" \n" +" Obsolete. See `help declare'." +msgstr "" +"Встановлює значення та властивості змінних.\n" +" \n" +" Команда вийшла з ужитку. Дивіться `help declare'." + +#: builtins.c:520 +msgid "" +"Define local variables.\n" +" \n" +" Create a local variable called NAME, and give it VALUE. OPTION can\n" +" be any option accepted by `declare'.\n" +" \n" +" Local variables can only be used within a function; they are visible\n" +" only to the function where they are defined and its children.\n" +" \n" +" Exit Status:\n" +" Returns success unless an invalid option is supplied, an error occurs,\n" +" or the shell is not executing a function." +msgstr "" +"Описує локальні змінні.\n" +" \n" +" Створює локальну змінну ІМ’Я та призначає їй ЗНАЧЕННЯ. ПАРАМЕТР може бути\n" +" будь-яким параметром, що приймається командою `declare'.\n" +" \n" +" Локальні змінні можуть використовуватися лише усередині функції; їх видно\n" +" лише у функції, де їх визначено та її нащадках.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо вказано невірні параметри, якщо\n" +" трапилася помилка або якщо оболонка зараз не виконує функцію." + +#: builtins.c:537 +msgid "" +"Write arguments to the standard output.\n" +" \n" +" Display the ARGs on the standard output followed by a newline.\n" +" \n" +" Options:\n" +" -n\tdo not append a newline\n" +" -e\tenable interpretation of the following backslash escapes\n" +" -E\texplicitly suppress interpretation of backslash escapes\n" +" \n" +" `echo' interprets the following backslash-escaped characters:\n" +" \\a\talert (bell)\n" +" \\b\tbackspace\n" +" \\c\tsuppress further output\n" +" \\e\tescape character\n" +" \\f\tform feed\n" +" \\n\tnew line\n" +" \\r\tcarriage return\n" +" \\t\thorizontal tab\n" +" \\v\tvertical tab\n" +" \\\\\tbackslash\n" +" \\0nnn\tthe character whose ASCII code is NNN (octal). NNN can be\n" +" \t0 to 3 octal digits\n" +" \\xHH\tthe eight-bit character whose value is HH (hexadecimal). HH\n" +" \tcan be one or two hex digits\n" +" \n" +" Exit Status:\n" +" Returns success unless a write error occurs." +msgstr "" +"Друкує аргументи до стандартного виводу.\n" +" \n" +" Виводить АРГУМЕНТИ до стандартного виводу з переводом рядку в кінці.\n" +" \n" +" Параметри:\n" +" -n\tНе додавати символ нового рядку в кінці.\n" +" -e\tУвімкнути інтерпретацію нижченаведених послідовностей.\n" +" -E\tЯвно заборонити інтерпретацію послідовностей.\n" +" \n" +" `echo' інтерпретує наступні послідовності, що починаються зі зворотньої\n" +" похилої риски:\n" +" \\a\tсигнал (дзвінок)\n" +" \\b\tповернення курсору\n" +" \\c\tне виводити все, що далі\n" +" \\e\tсимвол escape\n" +" \\f\tперехід на рядок нижче\n" +" \\n\tпочаток нового рядку\n" +" \\r\tповернення до початку рядку\n" +" \\t\tгоризонтальна табуляція\n" +" \\v\tвертикальна табуляція\n" +" \\\\\tзворотня похила риска\n" +" \\0nnn\tсимвол з вісімковим ASCII-кодом NNN. NNN може мати від\n" +" \tнуля до трьох вісімкових цифр\n" +" \\xHH\tвосьмибітовий символ із шістнадцятковим кодом HH. HH\n" +" \tможе бути одною чи двома шістнадцятковими цифрами\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо виникне помилка запису." + +#: builtins.c:571 +msgid "" +"Write arguments to the standard output.\n" +" \n" +" Display the ARGs on the standard output followed by a newline.\n" +" \n" +" Options:\n" +" -n\tdo not append a newline\n" +" \n" +" Exit Status:\n" +" Returns success unless a write error occurs." +msgstr "" +"Друкує аргументи до стандартного виводу.\n" +" \n" +" Виводить АРГУМЕНТИ до стандартного виводу з переходом на новий рядок.\n" +" \n" +" Параметри:\n" +" -n\tНе додавати символ нового рядку в кінці.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо трапиться помилка запису." + +#: builtins.c:586 +msgid "" +"Enable and disable shell builtins.\n" +" \n" +" Enables and disables builtin shell commands. Disabling allows you to\n" +" execute a disk command which has the same name as a shell builtin\n" +" without using a full pathname.\n" +" \n" +" Options:\n" +" -a\tprint a list of builtins showing whether or not each is enabled\n" +" -n\tdisable each NAME or display a list of disabled builtins\n" +" -p\tprint the list of builtins in a reusable format\n" +" -s\tprint only the names of Posix `special' builtins\n" +" \n" +" Options controlling dynamic loading:\n" +" -f\tLoad builtin NAME from shared object FILENAME\n" +" -d\tRemove a builtin loaded with -f\n" +" \n" +" Without options, each NAME is enabled.\n" +" \n" +" To use the `test' found in $PATH instead of the shell builtin\n" +" version, type `enable -n test'.\n" +" \n" +" Exit Status:\n" +" Returns success unless NAME is not a shell builtin or an error occurs." +msgstr "" +"Вмикає та вимикає вбудовані команди оболонки.\n" +" \n" +" Вмикає та вимикає вбудовані команди оболонки. Вимкнення команди дозволяє\n" +" вам запускати команду з диску, що має таке ж ім’я як і вбудована команда\n" +" оболонки без потреби вказувати повний шлях до команди.\n" +" \n" +" Параметри:\n" +" -a\tНадрукувати список вбудованих команд, вказуючи чи вони ввімкнені.\n" +" -n\tВимкнути кожне з ІМЕН або надрукувати список вимкнених команд.\n" +" -p\tНадрукувати список вбудованих команд у придатній для подальшого\n" +" \tвиконання формі.\n" +" -s\tДрукувати лише назви `спеціальних' команд Posix.\n" +" \n" +" Параметри, що контролюють динамічне завантаження:\n" +" -f\tЗавантажити вбудовану команду ІМ’Я з колективного об’єктного ФАЙЛУ.\n" +" -d\tВилучити вбудовану команду, завантажену за допомогою -f.\n" +" \n" +" Без параметрів вмикає кожне з ІМЕН.\n" +" \n" +" Щоб використовувати `test', що знаходиться десь у $PATH замість\n" +" вбудованої у оболонку версії, введіть `enable -n test'.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо ІМ’Я не є вбудованою командою\n" +" оболонки або якщо трапиться помилка під час виконання." + +#: builtins.c:614 +msgid "" +"Execute arguments as a shell command.\n" +" \n" +" Combine ARGs into a single string, use the result as input to the shell,\n" +" and execute the resulting commands.\n" +" \n" +" Exit Status:\n" +" Returns exit status of command or success if command is null." +msgstr "" +"Виконує аргументи як команду оболонки.\n" +" \n" +" Об’єднує АРГУМЕНТИ в один рядок та виконує результат як команди, введені\n" +" до оболонки.\n" +" \n" +" Код завершення:\n" +" Команда повертає результат виконання команди. Якщо отриманий рядок команди\n" +" є порожнім рядком, команда завершується успішно." + +#: builtins.c:626 +msgid "" +"Parse option arguments.\n" +" \n" +" Getopts is used by shell procedures to parse positional parameters\n" +" as options.\n" +" \n" +" OPTSTRING contains the option letters to be recognized; if a letter\n" +" is followed by a colon, the option is expected to have an argument,\n" +" which should be separated from it by white space.\n" +" \n" +" Each time it is invoked, getopts will place the next option in the\n" +" shell variable $name, initializing name if it does not exist, and\n" +" the index of the next argument to be processed into the shell\n" +" variable OPTIND. OPTIND is initialized to 1 each time the shell or\n" +" a shell script is invoked. When an option requires an argument,\n" +" getopts places that argument into the shell variable OPTARG.\n" +" \n" +" getopts reports errors in one of two ways. If the first character\n" +" of OPTSTRING is a colon, getopts uses silent error reporting. In\n" +" this mode, no error messages are printed. If an invalid option is\n" +" seen, getopts places the option character found into OPTARG. If a\n" +" required argument is not found, getopts places a ':' into NAME and\n" +" sets OPTARG to the option character found. If getopts is not in\n" +" silent mode, and an invalid option is seen, getopts places '?' into\n" +" NAME and unsets OPTARG. If a required argument is not found, a '?'\n" +" is placed in NAME, OPTARG is unset, and a diagnostic message is\n" +" printed.\n" +" \n" +" If the shell variable OPTERR has the value 0, getopts disables the\n" +" printing of error messages, even if the first character of\n" +" OPTSTRING is not a colon. OPTERR has the value 1 by default.\n" +" \n" +" Getopts normally parses the positional parameters ($0 - $9), but if\n" +" more arguments are given, they are parsed instead.\n" +" \n" +" Exit Status:\n" +" Returns success if an option is found; fails if the end of options is\n" +" encountered or an error occurs." +msgstr "" +"Аналізує рядок параметрів.\n" +" \n" +" Getopts використовується підпрограмами оболонки для аналізу позиційних\n" +" аргументів як параметрів командного рядку.\n" +" \n" +" РЯДОК-ПАРАМЕТРІВ містить літери параметрів, які можуть бути вказані; якщо\n" +" за літерою іде двокрапка, цей параметр очікує аргументу, відокремленого\n" +" від нього пробілом.\n" +" \n" +" Після кожного запуску getopts кладе наступний параметр до змінної оболонки\n" +" $name, створюючи її, якщо треба. Номер наступного неопрацьованого\n" +" аргументу кладеться до змінної оболонки OPTIND. OPTIND встановлюється у 1\n" +" кожного разу, як запускається оболонка чи скрипт. Якщо параметр очікує\n" +" аргументу, getopts кладе аргумент до змінної оболонки OPTARG.\n" +" \n" +" Getopts може повідомляти про помилки двома способами. Якщо першим символом\n" +" РЯДКУ-ПАРАМЕТРІВ є двокрапка, getopts використовує `тихе' повідомлення про\n" +" помилки. В такому режимі повідомлення про помилки не виводяться. Якщо буде\n" +" знайдено неправильний параметр, getopts покладе його до OPTARG. Якщо не\n" +" буде вказано очікуваний аргумент, getopts покладе ':' до NAME а символ\n" +" параметру - до OPTARG. У `гучному' режимі, при невірному параметрі у NAME\n" +" кладеться '?' а OPTARG скидається. Якщо потрібний аргумент не вказано, у\n" +" NAME кладеться '?', OPTARG скидається й друкується діагностичне\n" +" повідомлення.\n" +" \n" +" Якщо змінна оболонки OPTERR встановлена у 0, getopts не друкуватиме\n" +" повідомлення про помилки навіть у `гучному режимі'. Стандартне значення\n" +" OPTERR — 1.\n" +" \n" +" Зазвичай getopts аналізує позиційні параметри ($0 - $9), але якщо надано\n" +" більше аргументів, замість цього аналізуються вони.\n" +" \n" +" Код завершення:\n" +" Команда завершується успішно, якщо знайдено параметр; помилково, якщо\n" +" параметри скінчилися або трапилася помилка." + +#: builtins.c:668 +msgid "" +"Replace the shell with the given command.\n" +" \n" +" Execute COMMAND, replacing this shell with the specified program.\n" +" ARGUMENTS become the arguments to COMMAND. If COMMAND is not specified,\n" +" any redirections take effect in the current shell.\n" +" \n" +" Options:\n" +" -a name\tpass NAME as the zeroth argument to COMMAND\n" +" -c\t\texecute COMMAND with an empty environment\n" +" -l\t\tplace a dash in the zeroth argument to COMMAND\n" +" \n" +" If the command cannot be executed, a non-interactive shell exits, unless\n" +" the shell option `execfail' is set.\n" +" \n" +" Exit Status:\n" +" Returns success unless COMMAND is not found or a redirection error occurs." +msgstr "" +"Заміщує оболонку вказаною командою.\n" +" \n" +" Запускає КОМАНДУ, заміщаючи поточну оболонку вказаною програмою.\n" +" АРГУМЕНТИ передаються КОМАНДІ. Якщо КОМАНДУ не вказано, будь-які\n" +" переспрямування застосовуються до поточної оболонки.\n" +" \n" +" Параметри:\n" +" -a ім’я\tПередати ІМ’Я як нульовий аргумент КОМАНДИ.\n" +" -c\t\tЗапустити КОМАНДУ з порожнім оточенням.\n" +" -l\t\tПокласти риску до нульового аргументу КОМАНДИ.\n" +" \n" +" Якщо команду не вдасться запустити, неінтерактивна оболонка завершується,\n" +" якщо тільки не встановлено параметр оболонки `execfail'.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо команду не буде знайдено або якщо\n" +" трапиться помилка переспрямування." + +#: builtins.c:689 +msgid "" +"Exit the shell.\n" +" \n" +" Exits the shell with a status of N. If N is omitted, the exit status\n" +" is that of the last command executed." +msgstr "" +"Виходить з оболонки.\n" +" \n" +" Виходить з оболонки, повертаючи статус N. Якщо N не вказано, береться\n" +" статус останньої запущеної команди." + +#: builtins.c:698 +msgid "" +"Exit a login shell.\n" +" \n" +" Exits a login shell with exit status N. Returns an error if not executed\n" +" in a login shell." +msgstr "" +"Виходить з оболонки сеансу.\n" +" \n" +" Виходить з оболонки сеансу зі статусом N. Повертає помилку, якщо команду\n" +" запущено не у оболонці сеансу." + +#: builtins.c:708 +msgid "" +"Display or execute commands from the history list.\n" +" \n" +" fc is used to list or edit and re-execute commands from the history list.\n" +" FIRST and LAST can be numbers specifying the range, or FIRST can be a\n" +" string, which means the most recent command beginning with that\n" +" string.\n" +" \n" +" Options:\n" +" -e ENAME\tselect which editor to use. Default is FCEDIT, then EDITOR,\n" +" \t\tthen vi\n" +" -l \tlist lines instead of editing\n" +" -n\tomit line numbers when listing\n" +" -r\treverse the order of the lines (newest listed first)\n" +" \n" +" With the `fc -s [pat=rep ...] [command]' format, COMMAND is\n" +" re-executed after the substitution OLD=NEW is performed.\n" +" \n" +" A useful alias to use with this is r='fc -s', so that typing `r cc'\n" +" runs the last command beginning with `cc' and typing `r' re-executes\n" +" the last command.\n" +" \n" +" Exit Status:\n" +" Returns success or status of executed command; non-zero if an error occurs." +msgstr "" +"Показує чи запускає команди зі списку попередньо запущених.\n" +" \n" +" Fc використовується для показу чи редагування та подальшого повторного\n" +" запуску команд з історії. ПЕРШИЙ та ОСТАННІЙ можуть вказувати діапазон\n" +" або ПЕРШИЙ може бути рядком, тоді він означатиме останню команду, що\n" +" починалася з цього рядка.\n" +" \n" +" Параметри:\n" +" -e РЕДАКТОР\tВказує редактор. Зазвичай це FCEDIT, EDITOR чи vi,\n" +" \t\tщо перше буде знайдене.\n" +" -l\tПоказати рядки історії, замість редагування.\n" +" -n\tНе виводити номери рядків у списку.\n" +" -r\tПоказувати у зворотньому порядку (найновіші першими).\n" +" \n" +" У форматі `fc -s [шаблон=заміна ...] [команда]', КОМАНДА запускається\n" +" після заміни ШАБЛОН=ЗАМІНА.\n" +" \n" +" При використанні цієї команди може бути зручним псевдонім r='fc -s' — тоді\n" +" `r cc' запустить останню команду, що починається з `cc', а `r' повторно\n" +" виконає останню команду.\n" +" \n" +" Код завершення:\n" +" Команда завершується зі статусом запущених команд, або помилкою, якщо\n" +" трапиться помилка." + +#: builtins.c:738 +#, fuzzy +msgid "" +"Move job to the foreground.\n" +" \n" +" Place the job identified by JOB_SPEC in the foreground, making it the\n" +" current job. If JOB_SPEC is not present, the shell's notion of the\n" +" current job is used.\n" +" \n" +" Exit Status:\n" +" Status of command placed in foreground, or failure if an error occurs." +msgstr "" +"Переводить завдання у пріоритетний режим.\n" +" \n" +" Переводить ЗАВДАННЯ у пріоритетний режим виконання, й робить його поточним\n" +" завданням. Якщо ЗАВДАННЯ не вказане, береться завдання, яке оболонка\n" +" вважає поточним.\n" +" \n" +" Код завершення:\n" +" Команда завершується зі статусом завершення завдання, що переведене\n" +" у пріоритетний режим, або помилку, якщо трапиться помилка." + +#: builtins.c:753 +msgid "" +"Move jobs to the background.\n" +" \n" +" Place the jobs identified by each JOB_SPEC in the background, as if they\n" +" had been started with `&'. If JOB_SPEC is not present, the shell's notion\n" +" of the current job is used.\n" +" \n" +" Exit Status:\n" +" Returns success unless job control is not enabled or an error occurs." +msgstr "" +"Переводить завдання у фоновий режим.\n" +" \n" +" Переводить кожне з ЗАВДАНЬ у фоновий режим виконання, як ніби їх запущено\n" +" із `&'. Якщо ЗАВДАННЯ не вказані, береться завдання, що оболонка вважає\n" +" поточним.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо контроль завдань не ввімкнено або якщо\n" +" трапиться помилка." + +#: builtins.c:767 +msgid "" +"Remember or display program locations.\n" +" \n" +" Determine and remember the full pathname of each command NAME. If\n" +" no arguments are given, information about remembered commands is displayed.\n" +" \n" +" Options:\n" +" -d\t\tforget the remembered location of each NAME\n" +" -l\t\tdisplay in a format that may be reused as input\n" +" -p pathname\tuse PATHNAME is the full pathname of NAME\n" +" -r\t\tforget all remembered locations\n" +" -t\t\tprint the remembered location of each NAME, preceding\n" +" \t\teach location with the corresponding NAME if multiple\n" +" \t\tNAMEs are given\n" +" Arguments:\n" +" NAME\t\tEach NAME is searched for in $PATH and added to the list\n" +" \t\tof remembered commands.\n" +" \n" +" Exit Status:\n" +" Returns success unless NAME is not found or an invalid option is given." +msgstr "" +"Запам’ятавує чи показує розміщення програм.\n" +" \n" +" Визначає та запам’ятовує повний шлях до кожної з вказаних програм. Якщо\n" +" ІМЕНА не вказані, показує інформацію про збережені шляхи.\n" +" \n" +" Параметри:\n" +" -d\t\tВилучити з кешу розміщення ІМЕН.\n" +" -l\t\tПоказувати у форматі, що можна потім виконати.\n" +" -p шлях\tвикористовувати ШЛЯХ як повний шлях до ІМЕНІ.\n" +" -r\t\tСпустошити кеш.\n" +" -t\t\tВивести збережені розташування ІМЕН, вказуючи перед розташуванням\n" +" \t\tвідповідне ІМ’Я, якщо вказано декілька ІМЕН.\n" +" Аргументи:\n" +" ІМ’Я\t\tКожне з ІМЕН шукається у $PATH та додається до списку збережених\n" +" \t\tкоманд.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо ІМ’Я не вдається знайти або якщо\n" +" вказано невірний параметр." + +#: builtins.c:792 +msgid "" +"Display information about builtin commands.\n" +" \n" +" Displays brief summaries of builtin commands. If PATTERN is\n" +" specified, gives detailed help on all commands matching PATTERN,\n" +" otherwise the list of help topics is printed.\n" +" \n" +" Options:\n" +" -d\toutput short description for each topic\n" +" -m\tdisplay usage in pseudo-manpage format\n" +" -s\toutput only a short usage synopsis for each topic matching\n" +" \tPATTERN\n" +" \n" +" Arguments:\n" +" PATTERN\tPattern specifiying a help topic\n" +" \n" +" Exit Status:\n" +" Returns success unless PATTERN is not found or an invalid option is given." +msgstr "" +"Показує інформацію про вбудовані команди.\n" +" \n" +" Показує коротку довідку з вбудованих команд. Якщо вказано ШАБЛОН, надає\n" +" детальну довідку з усіх команд, що відповідають цьому ШАБЛОНУ. Якщо його\n" +" не вказано, друкує список пунктів довідки.\n" +" \n" +" Параметри:\n" +" -d\tВивести короткий опис кожного з пунктів.\n" +" -m\tПоказати довідку у форматі, подібному до man(1).\n" +" -s\tВивести лише короткий опис синтаксису використання кожної з команд,\n" +" \tщо відповідають ШАБЛОНУ\n" +" \n" +" Аргументи:\n" +" ШАБЛОН\tШаблон, що визначає тему довідки.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало якщо ШАБЛОН не знайдено або якщо вказано\n" +" невірний параметр." + +# WTF??? history list += history + history file ??? +#: builtins.c:816 +msgid "" +"Display or manipulate the history list.\n" +" \n" +" Display the history list with line numbers, prefixing each modified\n" +" entry with a `*'. An argument of N lists only the last N entries.\n" +" \n" +" Options:\n" +" -c\tclear the history list by deleting all of the entries\n" +" -d offset\tdelete the history entry at offset OFFSET.\n" +" \n" +" -a\tappend history lines from this session to the history file\n" +" -n\tread all history lines not already read from the history file\n" +" -r\tread the history file and append the contents to the history\n" +" \tlist\n" +" -w\twrite the current history to the history file\n" +" \tand append them to the history list\n" +" \n" +" -p\tperform history expansion on each ARG and display the result\n" +" \twithout storing it in the history list\n" +" -s\tappend the ARGs to the history list as a single entry\n" +" \n" +" If FILENAME is given, it is used as the history file. Otherwise,\n" +" if $HISTFILE has a value, that is used, else ~/.bash_history.\n" +" \n" +" If the $HISTTIMEFORMAT variable is set and not null, its value is used\n" +" as a format string for strftime(3) to print the time stamp associated\n" +" with each displayed history entry. No time stamps are printed otherwise.\n" +" \n" +" Exit Status:\n" +" Returns success unless an invalid option is given or an error occurs." +msgstr "" +"Показує чи змінює список попередніх команд.\n" +" \n" +" Показує список історії команд з номерами рядків, вказуючи `*' перед кожним\n" +" зміненим рядком. Якщо вказано аргумент N, показує лише N останніх рядків.\n" +" \n" +" Параметри:\n" +" -c\tВилучити зі списку усі збережені команди.\n" +" -d позиція\tВилучити рядок у ПОЗИЦІЇ (відносній).\n" +" \n" +" -a\tДодати записи з поточної сесії до файлу історії.\n" +" -n\tДодати записи, яких ще немає в списку з файлу історії.\n" +" -r\tПрочитати файл історії та додати його вміст до кінця списку.\n" +" -w\tЗаписати поточну історію команд до файлу історії та додати\n" +" \tїх до кінця списку історії.\n" +" \n" +" -p\tЗробити розкриття історії команд на кожному з АРГУМЕНТІВ та\n" +" \tпоказати результат (без збереження у списку історії команд).\n" +" -s\tДодати АРГУМЕНТИ до списку історії як один запис.\n" +" \n" +" Якщо вказаний ФАЙЛ, його буде використано як файл історії команд. Інакше,\n" +" якщо визначено $HISTFILE, береться її значення, якщо ні — ~/.bash_history.\n" +" \n" +" Якщо змінна $HISTTIMEFORMAT має значення, відмінне від порожнього рядку,\n" +" її буде використано як шаблон strftime(3) для показу часових позначок.\n" +" Інакше часові позначки не виводяться.\n" +" \n" +" Код завершення:\n" +" Команда завершується успішно, якщо вказано вірні параметри та не виникло\n" +" помилки під час виконання." + +#: builtins.c:852 +msgid "" +"Display status of jobs.\n" +" \n" +" Lists the active jobs. JOBSPEC restricts output to that job.\n" +" Without options, the status of all active jobs is displayed.\n" +" \n" +" Options:\n" +" -l\tlists process IDs in addition to the normal information\n" +" -n\tlist only processes that have changed status since the last\n" +" \tnotification\n" +" -p\tlists process IDs only\n" +" -r\trestrict output to running jobs\n" +" -s\trestrict output to stopped jobs\n" +" \n" +" If -x is supplied, COMMAND is run after all job specifications that\n" +" appear in ARGS have been replaced with the process ID of that job's\n" +" process group leader.\n" +" \n" +" Exit Status:\n" +" Returns success unless an invalid option is given or an error occurs.\n" +" If -x is used, returns the exit status of COMMAND." +msgstr "" +"Виводить стан завдань.\n" +" \n" +" Показує список активних завдань. ЗАВДАННЯ обмежує вивід цим завданням.\n" +" Без параметрів показує стан усіх активних завдань.\n" +" \n" +" Параметри:\n" +" -l\tДодатково виводити ідентифікатори процесів.\n" +" -n\tПоказувати лише процеси, стан яких змінився з часу останнього\n" +" \tзвідомлення.\n" +" -p\tПоказувати лише ідентифікатори процесів.\n" +" -r\tОбмежити вивід працюючими завданнями.\n" +" -s\tОбмежити вивід зупиненими завданнями.\n" +" \n" +" Якщо вказано -x, КОМАНДУ буде виконано після заміни усіх згадок про\n" +" завдання у АРГУМЕНТАХ на ідентифікатори головних процесів відповідних\n" +" завдань.\n" +" \n" +" Код завершення:\n" +" Команда завершується успішно, якщо вказано правильні параметри та не\n" +" виникло помилки під час виконання. При використанні -x команда\n" +" завершується зі статусом завершення КОМАНДИ." + +#: builtins.c:879 +msgid "" +"Remove jobs from current shell.\n" +" \n" +" Removes each JOBSPEC argument from the table of active jobs. Without\n" +" any JOBSPECs, the shell uses its notion of the current job.\n" +" \n" +" Options:\n" +" -a\tremove all jobs if JOBSPEC is not supplied\n" +" -h\tmark each JOBSPEC so that SIGHUP is not sent to the job if the\n" +" \tshell receives a SIGHUP\n" +" -r\tremove only running jobs\n" +" \n" +" Exit Status:\n" +" Returns success unless an invalid option or JOBSPEC is given." +msgstr "" +"Вилучає завдання з поточної оболонки.\n" +" \n" +" Вилучає кожне з ЗАВДАНЬ з таблиці активних завдань. Якщо ЗАВДАННЯ не\n" +" вказано, береться завдання, яке оболонка вважає поточним.\n" +" \n" +" Параметри:\n" +" -a\tВилучити усі завдання, якщо ЗАВДАННЯ не вказані.\n" +" -h\tПозначити ЗАВДАННЯ так, щоб вони не отримали SIGHUP, якщо оболонка\n" +" \tотримає SIGHUP.\n" +" -r\tВилучати лише працюючі завдання.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо вказано неправильний параметр чи\n" +" ЗАВДАННЯ." + +#: builtins.c:898 +msgid "" +"Send a signal to a job.\n" +" \n" +" Send the processes identified by PID or JOBSPEC the signal named by\n" +" SIGSPEC or SIGNUM. If neither SIGSPEC nor SIGNUM is present, then\n" +" SIGTERM is assumed.\n" +" \n" +" Options:\n" +" -s sig\tSIG is a signal name\n" +" -n sig\tSIG is a signal number\n" +" -l\tlist the signal names; if arguments follow `-l' they are\n" +" \tassumed to be signal numbers for which names should be listed\n" +" \n" +" Kill is a shell builtin for two reasons: it allows job IDs to be used\n" +" instead of process IDs, and allows processes to be killed if the limit\n" +" on processes that you can create is reached.\n" +" \n" +" Exit Status:\n" +" Returns success unless an invalid option is given or an error occurs." +msgstr "" +"Надіслати сигнал до завдання.\n" +" \n" +" Надіслати процесу, вказаному за ідентифікатором процесу чи завдання\n" +" сигнал, вказаний за його номером чи назвою. Якщо не вказано ані першого,\n" +" ані другого, буде надіслано SIGTERM.\n" +" \n" +" Параметри:\n" +" -s сигнал\tСИГНАЛ є назвою сигналу.\n" +" -n сигнал\tСИГНАЛ є номером сигналу.\n" +" -l\tПерелічити назви сигналів; якщо за -l ідуть іще аргументи, вони\n" +" \tвважаються номерами сигналів, які треба показати.\n" +" \n" +" Kill є вбудованою командою з двох причин: це дозволяє вказувати\n" +" ідентифікатори завдань замість ідентифікаторів процесів та дозволяє\n" +" вбивати процеси, навіть якщо ви вичерпали ліміт процесів.\n" +" \n" +" Код завершення:\n" +" Команда завершується успішно, якщо вказані правильні аргументи та не\n" +" трапилося помилки під час виконання." + +#: builtins.c:921 +msgid "" +"Evaluate arithmetic expressions.\n" +" \n" +" Evaluate each ARG as an arithmetic expression. Evaluation is done in\n" +" fixed-width integers with no check for overflow, though division by 0\n" +" is trapped and flagged as an error. The following list of operators is\n" +" grouped into levels of equal-precedence operators. The levels are listed\n" +" in order of decreasing precedence.\n" +" \n" +" \tid++, id--\tvariable post-increment, post-decrement\n" +" \t++id, --id\tvariable pre-increment, pre-decrement\n" +" \t-, +\t\tunary minus, plus\n" +" \t!, ~\t\tlogical and bitwise negation\n" +" \t**\t\texponentiation\n" +" \t*, /, %\t\tmultiplication, division, remainder\n" +" \t+, -\t\taddition, subtraction\n" +" \t<<, >>\t\tleft and right bitwise shifts\n" +" \t<=, >=, <, >\tcomparison\n" +" \t==, !=\t\tequality, inequality\n" +" \t&\t\tbitwise AND\n" +" \t^\t\tbitwise XOR\n" +" \t|\t\tbitwise OR\n" +" \t&&\t\tlogical AND\n" +" \t||\t\tlogical OR\n" +" \texpr ? expr : expr\n" +" \t\t\tconditional operator\n" +" \t=, *=, /=, %=,\n" +" \t+=, -=, <<=, >>=,\n" +" \t&=, ^=, |=\tassignment\n" +" \n" +" Shell variables are allowed as operands. The name of the variable\n" +" is replaced by its value (coerced to a fixed-width integer) within\n" +" an expression. The variable need not have its integer attribute\n" +" turned on to be used in an expression.\n" +" \n" +" Operators are evaluated in order of precedence. Sub-expressions in\n" +" parentheses are evaluated first and may override the precedence\n" +" rules above.\n" +" \n" +" Exit Status:\n" +" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.." +msgstr "" +"Обчислює арифметичні вирази.\n" +" \n" +" Обчислює кожен АРГУМЕНТ як арифметичний вираз. Обчислення проводиться у\n" +" цілих числах фіксованої довжини й без перевірки переповнення, але все ж\n" +" ділення на 0 виявляється та вважається помилкою. Нижченаведений список\n" +" операторів згруповано за рівнями пріоритету. Їх перелічено у порядку\n" +" спадання пріоритету.\n" +" \n" +" \tid++, id--\tпост-інкремент та пост-декремент змінної\n" +" \t++id, --id\tпре-інкремент та пре-декремент змінної\n" +" \t-, +\t\tунарний мінус та плюс\n" +" \t!, ~\t\tлогічна та побітова інверсія\n" +" \t**\t\tпіднесення до степеня\n" +" \t*, /, %\t\tмноження, ділення, залишок\n" +" \t+, -\t\tдодавання, віднімання\n" +" \t<<, >>\t\tпобітовий зсув вправо та вліво\n" +" \t<=, >=, <, >\tпорівняння\n" +" \t==, !=\t\tрівність, нерівність\n" +" \t&\t\tпобітове AND\n" +" \t^\t\tпобітове XOR\n" +" \t|\t\tпобітове OR\n" +" \t&&\t\tлогічне AND\n" +" \t||\t\tлогічне OR\n" +" \tвираз ? вираз : вираз\n" +" \t\t\tумовний оператор\n" +" \t=, *=, /=, %=,\n" +" \t+=, -=, <<=, >>=,\n" +" \t&=, ^=, |=\tприсвоєння\n" +" \n" +" Змінні оболонки можуть виступати операндами. Назву змінної буде замінено\n" +" її значенням (приведеним до цілого числа фіксованої довжини) у виразі.\n" +" Для цього не потрібно встановлювати властивість змінної `ціле число'.\n" +" \n" +" Оператори обчислюються за пріоритетами. Вкладені вирази у дужках\n" +" обчислюються першими та можуть змінювати правила пріоритетів, наведені\n" +" вище.\n" +" \n" +" Код завершення:\n" +" Якщо результатом обчислення останнього АРГУМЕНТУ є 0, let повертає 1,\n" +" інакше — 0." + +#: builtins.c:966 +#, fuzzy +msgid "" +"Read a line from the standard input and split it into fields.\n" +" \n" +" Reads a single line from the standard input, or from file descriptor FD\n" +" if the -u option is supplied. The line is split into fields as with word\n" +" splitting, and the first word is assigned to the first NAME, the second\n" +" word to the second NAME, and so on, with any leftover words assigned to\n" +" the last NAME. Only the characters found in $IFS are recognized as word\n" +" delimiters.\n" +" \n" +" If no NAMEs are supplied, the line read is stored in the REPLY variable.\n" +" \n" +" Options:\n" +" -a array\tassign the words read to sequential indices of the array\n" +" \t\tvariable ARRAY, starting at zero\n" +" -d delim\tcontinue until the first character of DELIM is read, rather\n" +" \t\tthan newline\n" +" -e\t\tuse Readline to obtain the line in an interactive shell\n" +" -i text\tUse TEXT as the initial text for Readline\n" +" -n nchars\treturn after reading NCHARS characters rather than waiting\n" +" \t\tfor a newline, but honor a delimiter if fewer than NCHARS\n" +" \t\tcharacters are read before the delimiter\n" +" -N nchars\treturn only after reading exactly NCHARS characters, unless\n" +" \t\tEOF is encountered or read times out, ignoring any delimiter\n" +" -p prompt\toutput the string PROMPT without a trailing newline before\n" +" \t\tattempting to read\n" +" -r\t\tdo not allow backslashes to escape any characters\n" +" -s\t\tdo not echo input coming from a terminal\n" +" -t timeout\ttime out and return failure if a complete line of input is\n" +" \t\tnot read withint TIMEOUT seconds. The value of the TMOUT\n" +" \t\tvariable is the default timeout. TIMEOUT may be a\n" +" \t\tfractional number. If TIMEOUT is 0, read returns success only\n" +" \t\tif input is available on the specified file descriptor. The\n" +" \t\texit status is greater than 128 if the timeout is exceeded\n" +" -u fd\t\tread from file descriptor FD instead of the standard input\n" +" \n" +" Exit Status:\n" +" The return code is zero, unless end-of-file is encountered, read times out,\n" +" or an invalid file descriptor is supplied as the argument to -u." +msgstr "" +"Читає рядок зі стандартного вводу та розбиває його на поля.\n" +" \n" +" Зчитує один рядок зі стандартного вводу чи з ФАЙЛОВОГО-ДЕСКРИПТОРУ, якщо\n" +" вказано параметр -u. Рядок розбивається на поля по словах, перше слово\n" +" призначується першому ІМЕНІ, друге слово — другому ІМЕНІ і так далі, якщо\n" +" залишаться не єпризначені слова, їх буде призначено останньому ІМЕНІ. Як\n" +" роздільники полів розпізнаються символи, вказані у змінній $IFS.\n" +" \n" +" Якщо ІМЕНА не вказано, рядок цілком буде збережено у змінній REPLY.\n" +" \n" +" Параметри:\n" +" -a масив\tПризначити прочитані слова послідовним елементам МАСИВУ,\n" +" \t\tпочинаючи з нульового.\n" +" -d роздільник\tЧитати ввід доки не знайдеться символ РОЗДІЛЬНИК\n" +" \t\t(замість кінця рядка, як звичайно).\n" +" -e\t\tВикористовувати Readline для отримання рядку у інтерактивній\n" +" \t\tоболонці.\n" +" -i текст\tВказати початковий ТЕКСТ для Readline.\n" +" -n кількість\tПрипинити після зчитування КІЛЬКОСТІ символів, замість\n" +" \t\tтого, щоб чекати на кінець рядка.\n" +" -p запрошення\tВивести рядок ЗАПРОШЕННЯ (без переводу рядку в кінці)\n" +" \t\tперед читанням.\n" +" -r\t\tНе обробляти зворотню похилу риску як знешкоджувач символів.\n" +" -s\t\tНе виводити отриманий ввід на термінал.\n" +" -t ліміт-часу\tПрипинити читання та вийти з помилкою якщо за вказаний\n" +" \t\tпроміжок часу (в секундах) не було прочитано рядок цілком. Значення\n" +" \t\tзмінної TMOUT є стандартним значенням обмеження за часом. ЛІМІТ-ЧАСУ\n" +" \t\tможе бути дробовим числом. Якщо ЛІМІТ-ЧАСУ 0, read завершується\n" +" \t\tуспішно, лише якщо ввід вже наявний на вказаному файловому\n" +" \t\tдескрипторі. Якщо перевищено термін очікування, код завершення буде\n" +" \t\tбільшим за 128. -u файловий-дескриптор\tЧитати ввід з ФАЙЛОВОГО-ДЕСКРИПТОРУ замість\n" +" \t\tстандартного вводу. \n" +" Код завершення:\n" +" Команда повертає помилку, якщо знайдено кінець файлу, якщо вичерпано час\n" +" очікування, або якщо із -u вказано неправильний файловий дескриптор." + +#: builtins.c:1009 +msgid "" +"Return from a shell function.\n" +" \n" +" Causes a function or sourced script to exit with the return value\n" +" specified by N. If N is omitted, the return status is that of the\n" +" last command executed within the function or script.\n" +" \n" +" Exit Status:\n" +" Returns N, or failure if the shell is not executing a function or script." +msgstr "" +"Повертається з функції оболонки.\n" +" \n" +" Виходить з функції чи сценарію, виконаного за допомогою source зі вказаним\n" +" кодом завершення N. Якщо N не вказане, return повертає статус останньої\n" +" виконаної всередині сценарію чи функції команди.\n" +" \n" +" Код завершення:\n" +" Команда повертає N, або помилку, якщо викликана не у функції чи сценарії." + +#: builtins.c:1022 +msgid "" +"Set or unset values of shell options and positional parameters.\n" +" \n" +" Change the value of shell attributes and positional parameters, or\n" +" display the names and values of shell variables.\n" +" \n" +" Options:\n" +" -a Mark variables which are modified or created for export.\n" +" -b Notify of job termination immediately.\n" +" -e Exit immediately if a command exits with a non-zero status.\n" +" -f Disable file name generation (globbing).\n" +" -h Remember the location of commands as they are looked up.\n" +" -k All assignment arguments are placed in the environment for a\n" +" command, not just those that precede the command name.\n" +" -m Job control is enabled.\n" +" -n Read commands but do not execute them.\n" +" -o option-name\n" +" Set the variable corresponding to option-name:\n" +" allexport same as -a\n" +" braceexpand same as -B\n" +" emacs use an emacs-style line editing interface\n" +" errexit same as -e\n" +" errtrace same as -E\n" +" functrace same as -T\n" +" hashall same as -h\n" +" histexpand same as -H\n" +" history enable command history\n" +" ignoreeof the shell will not exit upon reading EOF\n" +" interactive-comments\n" +" allow comments to appear in interactive commands\n" +" keyword same as -k\n" +" monitor same as -m\n" +" noclobber same as -C\n" +" noexec same as -n\n" +" noglob same as -f\n" +" nolog currently accepted but ignored\n" +" notify same as -b\n" +" nounset same as -u\n" +" onecmd same as -t\n" +" physical same as -P\n" +" pipefail the return value of a pipeline is the status of\n" +" the last command to exit with a non-zero status,\n" +" or zero if no command exited with a non-zero status\n" +" posix change the behavior of bash where the default\n" +" operation differs from the Posix standard to\n" +" match the standard\n" +" privileged same as -p\n" +" verbose same as -v\n" +" vi use a vi-style line editing interface\n" +" xtrace same as -x\n" +" -p Turned on whenever the real and effective user ids do not match.\n" +" Disables processing of the $ENV file and importing of shell\n" +" functions. Turning this option off causes the effective uid and\n" +" gid to be set to the real uid and gid.\n" +" -t Exit after reading and executing one command.\n" +" -u Treat unset variables as an error when substituting.\n" +" -v Print shell input lines as they are read.\n" +" -x Print commands and their arguments as they are executed.\n" +" -B the shell will perform brace expansion\n" +" -C If set, disallow existing regular files to be overwritten\n" +" by redirection of output.\n" +" -E If set, the ERR trap is inherited by shell functions.\n" +" -H Enable ! style history substitution. This flag is on\n" +" by default when the shell is interactive.\n" +" -P If set, do not follow symbolic links when executing commands\n" +" such as cd which change the current directory.\n" +" -T If set, the DEBUG trap is inherited by shell functions.\n" +" - Assign any remaining arguments to the positional parameters.\n" +" The -x and -v options are turned off.\n" +" \n" +" Using + rather than - causes these flags to be turned off. The\n" +" flags can also be used upon invocation of the shell. The current\n" +" set of flags may be found in $-. The remaining n ARGs are positional\n" +" parameters and are assigned, in order, to $1, $2, .. $n. If no\n" +" ARGs are given, all shell variables are printed.\n" +" \n" +" Exit Status:\n" +" Returns success unless an invalid option is given." +msgstr "" +"Встановлює та скидає параметри оболонки та позиційні параметри.\n" +" \n" +" Змінює значення властивостей оболонки та позиційних параметрів чи показує\n" +" імена та значення змінних оболонки.\n" +" \n" +" Параметри:\n" +" -a Експортувати змінні, які будуть змінюватися чи створюватися.\n" +" -b Сповіщати про припинення завдань негайно.\n" +" -e Завершити роботу, якщо одна з команд завершиться помилкою.\n" +" -f Вимкнути розкриття шаблонів імен файлів (globbing).\n" +" -h Запам’ятовувати розміщення команд по мірі використання.\n" +" -k Переносити усі аргументи-присвоєння до оточення команди, не лише ті,\n" +" що йдуть перед іменем команди.\n" +" -m Ввімкнути контроль завдань.\n" +" -n Читати команди, але не виконувати їх.\n" +" -o параметр\n" +" Встановити параметр оболонки:\n" +" allexport те саме, що й -a\n" +" braceexpand те саме, що й -B\n" +" emacs використовувати подібний до emacs інтерфейс\n" +" редагування\n" +" errexit те саме, що й -e\n" +" errtrace те саме, що й -E\n" +" functrace те саме, що й -T\n" +" hashall те саме, що й -h\n" +" histexpand те саме, що й -H\n" +" history ввімкнути збереження історії команд\n" +" ignoreeof не виходити з оболонки після зчитування кінця файлу\n" +" interactive-comments\n" +" дозволити коментарі у інтерактивній оболонці\n" +" keyword те саме, що й -k\n" +" monitor те саме, що й -m\n" +" noclobber те саме, що й -C\n" +" noexec те саме, що й -n\n" +" noglob те саме, що й -f\n" +" nolog наразі приймається, але ігнорується\n" +" notify те саме, що й -b\n" +" nounset те саме, що й -u\n" +" onecmd те саме, що й -t\n" +" physical те саме, що й -P\n" +" pipefail кодом завершення ланцюжка команд є код завершення\n" +" останньої команди, що завершилася невдало, або\n" +" нуль, якщо усі команди завершилися успішно\n" +" posix змінити поведінку bash у ситуаціях, де її поведінка\n" +" зазвичай відхиляється від стандарту Posix так, щоб\n" +" вона відповідала стандарту\n" +" privileged те саме, що й -p\n" +" verbose те саме, що й -v\n" +" vi використовувати подібний до vi інтерфейс\n" +" редагування рядку\n" +" xtrace те саме, що й -x\n" +" -p Ввімкнений, якщо дійсний та ефективний ідентифікатори користувача не\n" +" збігаються. Вимикає обробку файлу $ENV та імпортування функцій\n" +" оболонки. Вимикання цього параметру встановлює ефективні\n" +" ідентифікатори користувача та групи у реальні.\n" +" -t Завершити роботу після зчитування та виконання однієї команди.\n" +" -u Обробляти неозначені змінні як помилку під час їх підставляння.\n" +" -v Друкувати рядки вводу по мірі їх читання.\n" +" -x Друкувати команди та їх аргументи при їх виконанні.\n" +" -B Робити розкриття дужок.\n" +" -C Вмикання параметру забороняє перезапис існуючих звичайних файлів\n" +" переспрямуванням виводу.\n" +" -E Якщо ввімкнений, пастка ERR успадковується функціями оболонки.\n" +" -H Ввімкнути підставляння історії за допомогою !. Цей параметр зазвичай\n" +" ввімкнено у інтерактивних оболонках.\n" +" -P Не переходити за символічними посиланнями при запуску команд,\n" +" таких як cd, яка змінює поточну директорію.\n" +" -T Якщо ввімкнений, пастка DEBUG буде успадковуватися функціями\n" +" оболонки.\n" +" - Призначити аргументи, що залишилися позиційним параметрам.\n" +" Параметри -x та -v вимикаються.\n" +" \n" +" Вимкнути параметр можна вказавши + замість -. Параметри можна змінювати\n" +" й після запуску оболонки. Наразі ввімкнені параметри можна побачити у\n" +" змінній $-. Залишкові аргументи вважаються позиційними параметрами\n" +" та призначаються по порядку відповідно до $1 $2, .. $n. Якщо АРГУМЕНТИ не\n" +" вказані, виводиться список усіх змінних оболонки.\n" +" \n" +" Код завершення:\n" +" Команда завершується успішно, якщо вказані правильні параметри." + +#: builtins.c:1104 +msgid "" +"Unset values and attributes of shell variables and functions.\n" +" \n" +" For each NAME, remove the corresponding variable or function.\n" +" \n" +" Options:\n" +" -f\ttreat each NAME as a shell function\n" +" -v\ttreat each NAME as a shell variable\n" +" \n" +" Without options, unset first tries to unset a variable, and if that fails,\n" +" tries to unset a function.\n" +" \n" +" Some variables cannot be unset; also see `readonly'.\n" +" \n" +" Exit Status:\n" +" Returns success unless an invalid option is given or a NAME is read-only." +msgstr "" +"Скидає значення та параметри змінних та функцій оболонки.\n" +" \n" +" Вилучає змінні чи функції, вказані за ІМЕНАМИ.\n" +" \n" +" Параметри:\n" +" -f\tІМЕНА є функціями оболонки.\n" +" -v\tІМЕНА є змінними оболонки.\n" +" \n" +" Без параметрів, unset спочатку намагається скинути змінну, якщо це не\n" +" вдасться, тоді функцію.\n" +" \n" +" Деякі змінні не можуть бути скинутими; див. `readonly'.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо вказано неправильний параметр чи ІМ’Я\n" +" доступне лише для читання." + +#: builtins.c:1124 +msgid "" +"Set export attribute for shell variables.\n" +" \n" +" Marks each NAME for automatic export to the environment of subsequently\n" +" executed commands. If VALUE is supplied, assign VALUE before exporting.\n" +" \n" +" Options:\n" +" -f\trefer to shell functions\n" +" -n\tremove the export property from each NAME\n" +" -p\tdisplay a list of all exported variables and functions\n" +" \n" +" An argument of `--' disables further option processing.\n" +" \n" +" Exit Status:\n" +" Returns success unless an invalid option is given or NAME is invalid." +msgstr "" +"Вмикає властивість експортування змінних оболонки.\n" +" \n" +" Позначає кожне з ІМЕН для експорту у оточення запущених надалі команд.\n" +" Якщо вказане ЗНАЧЕННЯ, призначає ЗНАЧЕННЯ перед тим, як експортувати.\n" +" \n" +" Параметри:\n" +" -f\tПрацювати з функціями оболонки.\n" +" -n\tВимкнути властивість експортування на ІМЕНАХ.\n" +" -p\tВивести список усіх експортованих змінних та функцій.\n" +" \n" +" Аргумент `--' вимикає подальший аналіз параметрів.\n" +" \n" +" Код завершення:\n" +" Команда завершується успішно, якщо вказано правильні параметри та ІМЕНА." + +#: builtins.c:1143 +msgid "" +"Mark shell variables as unchangeable.\n" +" \n" +" Mark each NAME as read-only; the values of these NAMEs may not be\n" +" changed by subsequent assignment. If VALUE is supplied, assign VALUE\n" +" before marking as read-only.\n" +" \n" +" Options:\n" +" -a\trefer to indexed array variables\n" +" -A\trefer to associative array variables\n" +" -f\trefer to shell functions\n" +" -p\tdisplay a list of all readonly variables and functions\n" +" \n" +" An argument of `--' disables further option processing.\n" +" \n" +" Exit Status:\n" +" Returns success unless an invalid option is given or NAME is invalid." +msgstr "" +"Робить змінні оболонки незмінними.\n" +" \n" +" Позначає кожне з ІМЕН як незмінне; після цього значення ІМЕН не можуть\n" +" бути змінені призначенням. Якщо вказане ЗНАЧЕННЯ, воно призначається, перш\n" +" ніж змінну буде позначено незмінною.\n" +" \n" +" Параметри:\n" +" -a\tПрацювати з індексованими масивами.\n" +" -A\tПрацювати з асоціативними масивами.\n" +" -f\tПрацювати з функціями оболонки.\n" +" -p\tВивести список всіх незмінних змінних та функцій.\n" +" \n" +" Аргумент `--' вимикає подальший аналіз параметрів.\n" +" \n" +" Код завершення:\n" +" Команда завершується успішно, якщо вказано правильні параметри та ІМЕНА." + +#: builtins.c:1164 +msgid "" +"Shift positional parameters.\n" +" \n" +" Rename the positional parameters $N+1,$N+2 ... to $1,$2 ... If N is\n" +" not given, it is assumed to be 1.\n" +" \n" +" Exit Status:\n" +" Returns success unless N is negative or greater than $#." +msgstr "" +"Зсуває позиційні параметри.\n" +" \n" +" Перейменовує позиційні параметри $N+1,$N+2 ... у $1,$2 ... Якщо N не\n" +" вказане, береться 1.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо N менше за нуль чи більше за $#." + +#: builtins.c:1176 builtins.c:1191 +msgid "" +"Execute commands from a file in the current shell.\n" +" \n" +" Read and execute commands from FILENAME in the current shell. The\n" +" entries in $PATH are used to find the directory containing FILENAME.\n" +" If any ARGUMENTS are supplied, they become the positional parameters\n" +" when FILENAME is executed.\n" +" \n" +" Exit Status:\n" +" Returns the status of the last command executed in FILENAME; fails if\n" +" FILENAME cannot be read." +msgstr "" +"Виконує команди з файлу у поточній оболонці.\n" +" \n" +" Читає та виконує команди з ФАЙЛУ у поточній оболонці. Елементи $PATH\n" +" використовуються при пошуку ФАЙЛУ. Якщо вказані АРГУМЕНТИ, вони стають\n" +" позиційними параметрами при запуску ФАЙЛУ.\n" +" \n" +" Код завершення:\n" +" Команда повертає код завершення останньої команди, виконаної у ФАЙЛІ, або\n" +" помилку, якщо ФАЙЛ не вдається прочитати." + +#: builtins.c:1207 +msgid "" +"Suspend shell execution.\n" +" \n" +" Suspend the execution of this shell until it receives a SIGCONT signal.\n" +" Unless forced, login shells cannot be suspended.\n" +" \n" +" Options:\n" +" -f\tforce the suspend, even if the shell is a login shell\n" +" \n" +" Exit Status:\n" +" Returns success unless job control is not enabled or an error occurs." +msgstr "" +"Призупиняє виконання оболонки.\n" +" \n" +" Призупиняє виконання оболонки до отримання сигналу SIGCONT. Зазвичай,\n" +" оболонки сеансу не можуть бути призупинені.\n" +" \n" +" Параметри:\n" +" -f\tПризупинити, навіть якщо це оболонка сеансу.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо не ввімкнене керування завданнями чи\n" +" якщо трапиться помилка." + +#: builtins.c:1223 +msgid "" +"Evaluate conditional expression.\n" +" \n" +" Exits with a status of 0 (true) or 1 (false) depending on\n" +" the evaluation of EXPR. Expressions may be unary or binary. Unary\n" +" expressions are often used to examine the status of a file. There\n" +" are string operators as well, and numeric comparison operators.\n" +" \n" +" File operators:\n" +" \n" +" -a FILE True if file exists.\n" +" -b FILE True if file is block special.\n" +" -c FILE True if file is character special.\n" +" -d FILE True if file is a directory.\n" +" -e FILE True if file exists.\n" +" -f FILE True if file exists and is a regular file.\n" +" -g FILE True if file is set-group-id.\n" +" -h FILE True if file is a symbolic link.\n" +" -L FILE True if file is a symbolic link.\n" +" -k FILE True if file has its `sticky' bit set.\n" +" -p FILE True if file is a named pipe.\n" +" -r FILE True if file is readable by you.\n" +" -s FILE True if file exists and is not empty.\n" +" -S FILE True if file is a socket.\n" +" -t FD True if FD is opened on a terminal.\n" +" -u FILE True if the file is set-user-id.\n" +" -w FILE True if the file is writable by you.\n" +" -x FILE True if the file is executable by you.\n" +" -O FILE True if the file is effectively owned by you.\n" +" -G FILE True if the file is effectively owned by your group.\n" +" -N FILE True if the file has been modified since it was last read.\n" +" \n" +" FILE1 -nt FILE2 True if file1 is newer than file2 (according to\n" +" modification date).\n" +" \n" +" FILE1 -ot FILE2 True if file1 is older than file2.\n" +" \n" +" FILE1 -ef FILE2 True if file1 is a hard link to file2.\n" +" \n" +" String operators:\n" +" \n" +" -z STRING True if string is empty.\n" +" \n" +" -n STRING\n" +" STRING True if string is not empty.\n" +" \n" +" STRING1 = STRING2\n" +" True if the strings are equal.\n" +" STRING1 != STRING2\n" +" True if the strings are not equal.\n" +" STRING1 < STRING2\n" +" True if STRING1 sorts before STRING2 lexicographically.\n" +" STRING1 > STRING2\n" +" True if STRING1 sorts after STRING2 lexicographically.\n" +" \n" +" Other operators:\n" +" \n" +" -o OPTION True if the shell option OPTION is enabled.\n" +" ! EXPR True if expr is false.\n" +" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n" +" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n" +" \n" +" arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,\n" +" -lt, -le, -gt, or -ge.\n" +" \n" +" Arithmetic binary operators return true if ARG1 is equal, not-equal,\n" +" less-than, less-than-or-equal, greater-than, or greater-than-or-equal\n" +" than ARG2.\n" +" \n" +" Exit Status:\n" +" Returns success if EXPR evaluates to true; fails if EXPR evaluates to\n" +" false or an invalid argument is given." +msgstr "" +"Перевіряє умовний вираз.\n" +" \n" +" Завершується з кодом 0 (істинний) чи 1 (хибний), в залежності від\n" +" результату виконання ВИРАЗУ. Вирази можуть бути унарними чи бінарними.\n" +" Унарні вирази часто використовуються для визначення властивостей файлу.\n" +" Також є оператори для рядків та для порівняння чисел.\n" +" \n" +" Файлові оператори:\n" +" \n" +" -a файл Істинний, якщо файл існує.\n" +" -b файл Істинний, якщо файл є блоковим пристроєм.\n" +" -c файл Істинний, якщо файл є символьним пристроєм.\n" +" -d файл Істинний, якщо файл є директорією.\n" +" -e файл Істинний, якщо файл існує.\n" +" -f файл Істинний, якщо файл існує та є звичайним файлом.\n" +" -g файл Істинний, якщо файл має встановлений біт `set-group-id'.\n" +" -h файл Істинний, якщо файл є символічним посиланням.\n" +" -L файл Істинний, якщо файл є символічним посиланням.\n" +" -k файл Істинний, якщо файл має встановленим біт `sticky'.\n" +" -p файл Істинний, якщо файл є іменованим каналом.\n" +" -r файл Істинний, якщо ви можете читати файл.\n" +" -s файл Істинний, якщо файл існує і не є порожнім.\n" +" -S файл Істинний, якщо файл є сокетом.\n" +" -t дескриптор Істинний, якщо дескриптор відкритий у терміналі.\n" +" -u файл Істинний, якщо файл має встановлений біт `set-user-id'.\n" +" -w файл Істинний, якщо ви можете записувати до файлу.\n" +" -x файл Істинний, якщо ви можете виконати файл.\n" +" -O файл Істинний, якщо ви є власником файлу.\n" +" -G файл Істинний, якщо ваша група є власником файлу.\n" +" -N файл Істинний, якщо файл був змінений після останнього\n" +" читання\n" +" \n" +" файл1 -nt файл2 Істинний, якщо файл1 новіший за файл2 (за датою зміни).\n" +" \n" +" файл1 -ot файл2 Істинний, якщо файл1 старіший за файл2.\n" +" \n" +" файл1 -ef файл2 Істинний, якщо файл1 є жорстким посиланням на файл2.\n" +" \n" +" Оператори з рядками:\n" +" \n" +" -z рядок Істинний, якщо рядок порожній.\n" +" \n" +" -n рядок\n" +" рядок Істинний, якщо рядок не порожній.\n" +" \n" +" рядок1 = рядок2\n" +" Істинний, якщо рядки однакові.\n" +" рядок1 != рядок2\n" +" Істинний, якщо рядки не однакові.\n" +" рядок1 < рядок2\n" +" Істинний, якщо при лексикографічному сортуванні рядок1\n" +" буде іти перед рядком\n" +" рядок1 > рядок2\n" +" Істинний, якщо при лексикографічному сортуванні рядок1\n" +" ітиме після рядка2.\n" +" \n" +" Інші оператори:\n" +" \n" +" -o параметр Істинний, якщо параметр оболонки ввімкнено.\n" +" ! вираз Істинний, якщо вираз хибний.\n" +" вираз1 -a вираз2 Істинний, якщо обидва вирази істинні.\n" +" вираз1 -o вираз2 Істинний, якщо хоч один з виразів істинний.\n" +" \n" +" аргумент1 ОПЕРАТОР аргумент2\n" +" Арифметичне порівняння. ОПЕРАТОР може бути: -eq, -ne,\n" +" -lt, -le, -gt, чи -ge.\n" +" \n" +" Арифметичні бінарні оператори істинні, якщо аргумент1 рівний, не рівний,\n" +" менший, менший чи рівний, більший, чи більший чи рівний аргументу2.\n" +" \n" +" Код завершення:\n" +" Команда завершується успішно, якщо ВИРАЗ істинний; невдало, якщо вказано\n" +" невірний аргумент чи ВИРАЗ хибний." + +#: builtins.c:1299 +msgid "" +"Evaluate conditional expression.\n" +" \n" +" This is a synonym for the \"test\" builtin, but the last argument must\n" +" be a literal `]', to match the opening `['." +msgstr "" +"Перевіряє умовний вираз.\n" +" \n" +" Це синонім до вбудованої команди \"test\", але на відміну від неї останнім\n" +" аргументом має бути `]'." + +#: builtins.c:1308 +#, fuzzy +msgid "" +"Display process times.\n" +" \n" +" Prints the accumulated user and system times for the shell and all of its\n" +" child processes.\n" +" \n" +" Exit Status:\n" +" Always succeeds." +msgstr "" +"Показує час виконання процесу.\n" +" \n" +" Виводить збірний час виконання оболонки та її нащадків на рівні\n" +" користувача та на рівні системи.\n" +" \n" +" Код завершення:\n" +" Команда завжди успішна." + +#: builtins.c:1320 +msgid "" +"Trap signals and other events.\n" +" \n" +" Defines and activates handlers to be run when the shell receives signals\n" +" or other conditions.\n" +" \n" +" ARG is a command to be read and executed when the shell receives the\n" +" signal(s) SIGNAL_SPEC. If ARG is absent (and a single SIGNAL_SPEC\n" +" is supplied) or `-', each specified signal is reset to its original\n" +" value. If ARG is the null string each SIGNAL_SPEC is ignored by the\n" +" shell and by the commands it invokes.\n" +" \n" +" If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell. If\n" +" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command.\n" +" \n" +" If no arguments are supplied, trap prints the list of commands associated\n" +" with each signal.\n" +" \n" +" Options:\n" +" -l\tprint a list of signal names and their corresponding numbers\n" +" -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n" +" \n" +" Each SIGNAL_SPEC is either a signal name in or a signal number.\n" +" Signal names are case insensitive and the SIG prefix is optional. A\n" +" signal may be sent to the shell with \"kill -signal $$\".\n" +" \n" +" Exit Status:\n" +" Returns success unless a SIGSPEC is invalid or an invalid option is given." +msgstr "" +"Ставить пастки на сигнали чи інші події.\n" +" \n" +" Визначає та активує обробники для отриманих оболонкою сигналів чи інших\n" +" подій.\n" +" \n" +" АРГУМЕНТ є командою, яку буде запущено оболонкою при отриманні\n" +" СИГНАЛУ(ІВ). Якщо АРГУМЕНТ не вказано (а СИГНАЛ вказано) або вказано\n" +" `-' як АРГУМЕНТ, кожен вказаний СИГНАЛ встановлюється у його\n" +" початковий стан. Якщо АРГУМЕНТ є порожнім рядком, СИГНАЛ(И) буде\n" +" ігноруватися оболонкою та запущеними з неї командами.\n" +" \n" +" Якщо СИГНАЛ є EXIT (0), АРГУМЕНТ буде виконано при виході з оболонки. Якщо\n" +" СИГНАЛ є DEBUG, АРГУМЕНТ буде виконуватися перед кожною простою командою.\n" +" \n" +" Якщо аргументи взагалі не вказані, trap надрукує список команд,\n" +" призначених до сигналів.\n" +" \n" +" Параметри:\n" +" -l\tВивести список сигналів та їх номерів.\n" +" -p\tПоказати команди, призначені СИГНАЛАМ.\n" +" \n" +" Кожен з СИГНАЛІВ має бути або назвою сигналу з або номером\n" +" номером сигналу. Назви сигналів нечутливі до регістру літер, префікс SIG\n" +" не обов’язковий. Сигнал можна надіслати оболонці за допомогою\n" +" \"kill -signal $$\".\n" +" \n" +" Код завершення:\n" +" Команда завершується успішно, якщо вказані правильні параметри та СИГНАЛИ." + +#: builtins.c:1352 +msgid "" +"Display information about command type.\n" +" \n" +" For each NAME, indicate how it would be interpreted if used as a\n" +" command name.\n" +" \n" +" Options:\n" +" -a\tdisplay all locations containing an executable named NAME;\n" +" \tincludes aliases, builtins, and functions, if and only if\n" +" \tthe `-p' option is not also used\n" +" -f\tsuppress shell function lookup\n" +" -P\tforce a PATH search for each NAME, even if it is an alias,\n" +" \tbuiltin, or function, and returns the name of the disk file\n" +" \tthat would be executed\n" +" -p\treturns either the name of the disk file that would be executed,\n" +" \tor nothing if `type -t NAME' would not return `file'.\n" +" -t\toutput a single word which is one of `alias', `keyword',\n" +" \t`function', `builtin', `file' or `', if NAME is an alias, shell\n" +" \treserved word, shell function, shell builtin, disk file, or not\n" +" \tfound, respectively\n" +" \n" +" Arguments:\n" +" NAME\tCommand name to be interpreted.\n" +" \n" +" Exit Status:\n" +" Returns success if all of the NAMEs are found; fails if any are not found." +msgstr "" +"Показує тип команди.\n" +" \n" +" Для кожного ІМЕНІ показує, як воно буде сприйняте, введене як команда.\n" +" \n" +" Параметри:\n" +" -a\tПоказати усі можливі інтерпретації ІМЕНІ; якщо не вказано\n" +" \tпараметр `-p', охоплює також псевдоніми, вбудовані команди, функції.\n" +" -f\tНе шукати серед функцій оболонки.\n" +" -P\tВиводити лише дискові команди, знайдені за PATH.\n" +" -p\tВивести лише ім’я файлу на диску, або нічого.\n" +" -t\tВивести одне слово, що вказує тип — `alias', `keyword',\n" +" \t`function', `builtin', `file' чи `', якщо ІМ’Я відповідно є\n" +" \tпсевдонімом, зарезервованим словом оболонки, функцією оболонки\n" +" \tвбудованою командою оболонки, файлом на диску чи не знайдене.\n" +" \n" +" Аргументи:\n" +" ІМ’Я\tІм’я команди для інтерпретації.\n" +" \n" +" Код завершення:\n" +" Команда завершується успішно, якщо буде знайдено усі ІМЕНА; невдало, якщо\n" +" хоч одне з них не вдасться знайти." + +#: builtins.c:1383 +msgid "" +"Modify shell resource limits.\n" +" \n" +" Provides control over the resources available to the shell and processes\n" +" it creates, on systems that allow such control.\n" +" \n" +" Options:\n" +" -S\tuse the `soft' resource limit\n" +" -H\tuse the `hard' resource limit\n" +" -a\tall current limits are reported\n" +" -b\tthe socket buffer size\n" +" -c\tthe maximum size of core files created\n" +" -d\tthe maximum size of a process's data segment\n" +" -e\tthe maximum scheduling priority (`nice')\n" +" -f\tthe maximum size of files written by the shell and its children\n" +" -i\tthe maximum number of pending signals\n" +" -l\tthe maximum size a process may lock into memory\n" +" -m\tthe maximum resident set size\n" +" -n\tthe maximum number of open file descriptors\n" +" -p\tthe pipe buffer size\n" +" -q\tthe maximum number of bytes in POSIX message queues\n" +" -r\tthe maximum real-time scheduling priority\n" +" -s\tthe maximum stack size\n" +" -t\tthe maximum amount of cpu time in seconds\n" +" -u\tthe maximum number of user processes\n" +" -v\tthe size of virtual memory\n" +" -x\tthe maximum number of file locks\n" +" \n" +" If LIMIT is given, it is the new value of the specified resource; the\n" +" special LIMIT values `soft', `hard', and `unlimited' stand for the\n" +" current soft limit, the current hard limit, and no limit, respectively.\n" +" Otherwise, the current value of the specified resource is printed. If\n" +" no option is given, then -f is assumed.\n" +" \n" +" Values are in 1024-byte increments, except for -t, which is in seconds,\n" +" -p, which is in increments of 512 bytes, and -u, which is an unscaled\n" +" number of processes.\n" +" \n" +" Exit Status:\n" +" Returns success unless an invalid option is supplied or an error occurs." +msgstr "" +"Змінює обмеження ресурсів оболонки.\n" +" \n" +" Дозволяє керувати доступними оболонці та створеним нею процесам ресурсами,\n" +" якщо це підтримується системою.\n" +" \n" +" Параметри:\n" +" -S\tВикористовувати `soft' обмеження.\n" +" -H\tВикористовувати `hard' обмеження.\n" +" -a\tНадати звіт про поточні обмеження.\n" +" -b\tРозмір буфера сокетів.\n" +" -c\tМаксимальний розмір файлу дампу пам’яті.\n" +" -d\tМаксимальний розмір сегменту даних процесу.\n" +" -e\tМаксимальний пріоритет виконання (`nice').\n" +" -f\tМаксимальний розмір файлів, записаних оболонкою та нащадками.\n" +" -i\tМаксимальна кількість сигналів, що очікують обробки.\n" +" -l\tМаксимальний розмір, який процес може заблокувати в пам’яті.\n" +" -m\tМаксимальний розмір резидентного набору.\n" +" -n\tМаксимальна кількість відкритих файлових дескрипторів.\n" +" -p\tРозмір буфера каналу.\n" +" -q\tМаксимальний розмір повідомлення у чергах повідомлень POSIX\n" +" \t(у байтах).\n" +" -r\tМаксимальний пріоритет виконання у реальному часі.\n" +" -s\tМаксимальний розмір стеку.\n" +" -t\tМаксимальний час використання процесору (у секундах).\n" +" -u\tМаксимальна кількість процесів користувача.\n" +" -v\tРозмір віртуальної пам’яті.\n" +" -x\tМаксимальна кількість блокувань файлів.\n" +" \n" +" Якщо вказане ОБМЕЖЕННЯ, воно встановлюється як нове значення обмеження\n" +" використання вказаного ресурсу; спеціальні значення ОБМЕЖЕННЯ `soft',\n" +" `hard', та `unlimited' означають, відповідно, поточне м’яке обмеження,\n" +" поточне жорстке обмеження та відсутність обмежень. Якщо ОБМЕЖЕННЯ не\n" +" вказане, виводиться поточне значення вказаного ресурсу. Якщо не вказано\n" +" жодного параметру, береться -f.\n" +" \n" +" Значення можуть змінюватися із кроком у 1024 байти, за виключенням -t,\n" +" що вказується в секундах, -p, яке має крок 512 байтів та -u, що є\n" +" кількістю процесів без кроку.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо вказано неправильний параметр чи\n" +" трапилася помилка під час виконання." + +#: builtins.c:1428 +msgid "" +"Display or set file mode mask.\n" +" \n" +" Sets the user file-creation mask to MODE. If MODE is omitted, prints\n" +" the current value of the mask.\n" +" \n" +" If MODE begins with a digit, it is interpreted as an octal number;\n" +" otherwise it is a symbolic mode string like that accepted by chmod(1).\n" +" \n" +" Options:\n" +" -p\tif MODE is omitted, output in a form that may be reused as input\n" +" -S\tmakes the output symbolic; otherwise an octal number is output\n" +" \n" +" Exit Status:\n" +" Returns success unless MODE is invalid or an invalid option is given." +msgstr "" +"Встановлює чи показує маску дозволів для файлів.\n" +" \n" +" Встановлює МАСКУ дозволів для створених файлів. Якщо МАСКУ не вказано,\n" +" виводить поточне значення маски.\n" +" \n" +" Якщо МАСКА починається з цифри, вона вважається вісімковим числом;\n" +" якщо ні — вона має бути рядком символьного режиму, подібним до того, що\n" +" використовується chmod(1).\n" +" \n" +" Параметри:\n" +" -p\tЯкщо МАСКУ не вказано, вивести її у формі, придатній для виконання.\n" +" -S\tВиводити у символьному режимі; інакше виводиться вісімкове число.\n" +" \n" +" Код завершення:\n" +" Команда завершується успішно, якщо вказано правильну МАСКУ та параметри." + +#: builtins.c:1448 +msgid "" +"Wait for job completion and return exit status.\n" +" \n" +" Waits for the process identified by ID, which may be a process ID or a\n" +" job specification, and reports its termination status. If ID is not\n" +" given, waits for all currently active child processes, and the return\n" +" status is zero. If ID is a a job specification, waits for all processes\n" +" in the job's pipeline.\n" +" \n" +" Exit Status:\n" +" Returns the status of ID; fails if ID is invalid or an invalid option is\n" +" given." +msgstr "" +"Чекає завершення виконання завдання та повертає його код завершення.\n" +" \n" +" Очікує завершення роботи процесу, вказаного за ІДЕНТИФІКАТОРОМ, що може\n" +" бути ідентифікатором процесу чи завдання, та повертає його код завершення.\n" +" Якщо ІДЕНТИФІКАТОР не вказано, очікує завершення усіх активних дочірніх\n" +" процесів та повертає код 0. Якщо ІДЕНТИФІКАТОР є завданням, очікує на\n" +" завершення усіх процесів у ланцюжку завдання.\n" +" \n" +" Код завершення:\n" +" Команда повертає код завершення вказаного завдання; помилку, якщо вказано\n" +" неправильні параметри чи ІДЕНТИФІКАТОР." + +#: builtins.c:1466 +msgid "" +"Wait for process completion and return exit status.\n" +" \n" +" Waits for the specified process and reports its termination status. If\n" +" PID is not given, all currently active child processes are waited for,\n" +" and the return code is zero. PID must be a process ID.\n" +" \n" +" Exit Status:\n" +" Returns the status of ID; fails if ID is invalid or an invalid option is\n" +" given." +msgstr "" +"Очікує на завершення роботи процесу та повертає його код завершення.\n" +" \n" +" Очікує поки завершиться вказаний процес та доповідає про його успішність.\n" +" Якщо ІДЕНТИФІКАТОР-ПРОЦЕСУ не вказаний, очікує завершення усіх дочірніх\n" +" процесів й завершується з кодом 0. ІДЕНТИФІКАТОР має бути ідентифікатором\n" +" процесу.\n" +" \n" +" Код завершення:\n" +" Команда повертає код завершення вказаного процесу; помилку, якщо вказано\n" +" неправильний ІДЕНТИФІКАТОР чи параметр." + +#: builtins.c:1481 +#, fuzzy +msgid "" +"Execute commands for each member in a list.\n" +" \n" +" The `for' loop executes a sequence of commands for each member in a\n" +" list of items. If `in WORDS ...;' is not present, then `in \"$@\"' is\n" +" assumed. For each element in WORDS, NAME is set to that element, and\n" +" the COMMANDS are executed.\n" +" \n" +" Exit Status:\n" +" Returns the status of the last command executed." +msgstr "" +"Виконує команди, підставляючи по черзі елементи списку.\n" +" \n" +" Цикл `for' виконує послідовність команд для кожного елементу списку.\n" +" Якщо `in СЛОВА ...;' не вказано, тоді береться `in \"$@\"'. ІМ’Я\n" +" послідовно встановлюється у кожне зі СЛІВ та виконуються КОМАНДИ.\n" +" \n" +" Код завершення:\n" +" Команда повертає код завершення останньої виконаної команди." + +#: builtins.c:1495 +msgid "" +"Arithmetic for loop.\n" +" \n" +" Equivalent to\n" +" \t(( EXP1 ))\n" +" \twhile (( EXP2 )); do\n" +" \t\tCOMMANDS\n" +" \t\t(( EXP3 ))\n" +" \tdone\n" +" EXP1, EXP2, and EXP3 are arithmetic expressions. If any expression is\n" +" omitted, it behaves as if it evaluates to 1.\n" +" \n" +" Exit Status:\n" +" Returns the status of the last command executed." +msgstr "" +"Арифметичний цикл.\n" +" \n" +" Те ж саме, що й\n" +" \t(( ВИРАЗ1 ))\n" +" \twhile (( ВИРАЗ2 )); do\n" +" \t\tКОМАНДИ\n" +" \t\t(( ВИРАЗ3 ))\n" +" \tdone\n" +" ВИРАЗИ мають бути арифметичними виразами. Якщо будь-який з них не\n" +" вказаний, цикл поводиться, як ніби його результатом є 1.\n" +" \n" +" Код завершення:\n" +" Команда повертає код завершення останньої виконаної команди." + +#: builtins.c:1513 +msgid "" +"Select words from a list and execute commands.\n" +" \n" +" The WORDS are expanded, generating a list of words. The\n" +" set of expanded words is printed on the standard error, each\n" +" preceded by a number. If `in WORDS' is not present, `in \"$@\"'\n" +" is assumed. The PS3 prompt is then displayed and a line read\n" +" from the standard input. If the line consists of the number\n" +" corresponding to one of the displayed words, then NAME is set\n" +" to that word. If the line is empty, WORDS and the prompt are\n" +" redisplayed. If EOF is read, the command completes. Any other\n" +" value read causes NAME to be set to null. The line read is saved\n" +" in the variable REPLY. COMMANDS are executed after each selection\n" +" until a break command is executed.\n" +" \n" +" Exit Status:\n" +" Returns the status of the last command executed." +msgstr "" +"Пропонує вибрати слово та виконує відповідні команди.\n" +" \n" +" СЛОВА розгортаються, утворюючи список слів. Отриманий список слів\n" +" виводиться пронумерованим до стандартного виводу помилок. Якщо `in СЛОВА'\n" +" не вказано, береться `in \"$@\"'. Тоді виводиться запрошення PS3 та зі\n" +" стандартного вводу зчитується рядок. Якщо цей рядок є числом, що вказує\n" +" номер одного зі слів, ІМ’Я встановлюється у це слово. Якщо рядок порожній,\n" +" СЛОВА та запрошення виводяться знов. Якщо прочитано кінець файлу, команда\n" +" завершується. Якщо рядок містить щось інше, ІМЕНІ призначається порожній\n" +" рядок. Прочитаний рядок зберігається у змінній REPLY. Після кожного\n" +" зчитування виконуються КОМАНДИ. Команда продовжує виконання доки не\n" +" буде викликано команду break.\n" +" \n" +" Код завершення:\n" +" Команда повертає код завершення останньої виконаної команди." + +#: builtins.c:1534 +msgid "" +"Report time consumed by pipeline's execution.\n" +" \n" +" Execute PIPELINE and print a summary of the real time, user CPU time,\n" +" and system CPU time spent executing PIPELINE when it terminates.\n" +" \n" +" Options:\n" +" -p\tprint the timing summary in the portable Posix format\n" +" \n" +" The value of the TIMEFORMAT variable is used as the output format.\n" +" \n" +" Exit Status:\n" +" The return status is the return status of PIPELINE." +msgstr "" +"Доповідає про час виконання ланцюжка команд.\n" +" \n" +" Виконує ЛАНЦЮЖОК та, по його завершенні, друкує звіт про час процесора,\n" +" витрачений користувачем, системою та сумарно на виконання ЛАНЦЮЖКА.\n" +" \n" +" Параметри:\n" +" -p\tДрукує звіт у форматі, що відповідає стандарту POSIX.\n" +" \n" +" Час виводиться у форматі, вказаному у змінній TIMEFORMAT.\n" +" \n" +" Код завершення:\n" +" Команда повертає код завершення ЛАНЦЮЖКА-КОМАНД." + +#: builtins.c:1551 +#, fuzzy +msgid "" +"Execute commands based on pattern matching.\n" +" \n" +" Selectively execute COMMANDS based upon WORD matching PATTERN. The\n" +" `|' is used to separate multiple patterns.\n" +" \n" +" Exit Status:\n" +" Returns the status of the last command executed." +msgstr "" +"Вибірково виконує команди відповідно до шаблону.\n" +" \n" +" Вибірково виконує КОМАНДИ, в залежності від відповідності СЛОВА ШАБЛОНУ.\n" +" Декілька шаблонів можуть бути вказані через `|'.\n" +" \n" +" Код завершення:\n" +" Команда повертає код завершення останньої виконаної команди." + +#: builtins.c:1563 +msgid "" +"Execute commands based on conditional.\n" +" \n" +" The `if COMMANDS' list is executed. If its exit status is zero, then the\n" +" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list is\n" +" executed in turn, and if its exit status is zero, the corresponding\n" +" `then COMMANDS' list is executed and the if command completes. Otherwise,\n" +" the `else COMMANDS' list is executed, if present. The exit status of the\n" +" entire construct is the exit status of the last command executed, or zero\n" +" if no condition tested true.\n" +" \n" +" Exit Status:\n" +" Returns the status of the last command executed." +msgstr "" +"Виконує команди відповідно до умови.\n" +" \n" +" КОМАНДИ з `if КОМАНДИ' виконуються, і якщо їх код завершення нульовий,\n" +" виконуються КОМАНДИ з `then КОМАНДИ'. Інакше в свою чергу виконуються\n" +" команди з `elif КОМАНДИ', і якщо їх код завершення нульовий, виконуються\n" +" КОМАНДИ з відповідного `then КОМАНДИ'. Інакше виконуються КОМАНДИ з\n" +" `else КОМАНДИ'. Блоки elif та else не обов’язкові.\n" +" \n" +" Код завершення:\n" +" Команда повертає код завершення останньої виконаної команди або нуль,\n" +" якщо жодна з перевірених умов не була істинною." + +#: builtins.c:1580 +msgid "" +"Execute commands as long as a test succeeds.\n" +" \n" +" Expand and execute COMMANDS as long as the final command in the\n" +" `while' COMMANDS has an exit status of zero.\n" +" \n" +" Exit Status:\n" +" Returns the status of the last command executed." +msgstr "" +"Циклічно виконує команди поки виконується умова.\n" +" \n" +" Виконуватиме КОМАНДИ, поки остання команда з КОМАНД у `while'\n" +" не завершиться невдало.\n" +" \n" +" Код завершення:\n" +" Команда повертає код завершення останньої виконаної команди." + +#: builtins.c:1592 +msgid "" +"Execute commands as long as a test does not succeed.\n" +" \n" +" Expand and execute COMMANDS as long as the final command in the\n" +" `until' COMMANDS has an exit status which is not zero.\n" +" \n" +" Exit Status:\n" +" Returns the status of the last command executed." +msgstr "" +"Виконує команди доки умову не буде виконано.\n" +" \n" +" Виконуватиме КОМАНДИ, поки остання команда з КОМАНД у `until'\n" +" не завершиться успішно.\n" +" \n" +" Код завершення:\n" +" Команда повертає код завершення останньої виконаної команди." + +# WTF? How can it return exit code of _asynchronous_ process... +#: builtins.c:1604 +msgid "" +"Create a coprocess named NAME.\n" +" \n" +" Execute COMMAND asynchronously, with the standard output and standard\n" +" input of the command connected via a pipe to file descriptors assigned\n" +" to indices 0 and 1 of an array variable NAME in the executing shell.\n" +" The default NAME is \"COPROC\".\n" +" \n" +" Exit Status:\n" +" Returns the exit status of COMMAND." +msgstr "" +"Створює співпроцес з іменем ІМ’Я.\n" +" \n" +" Починає асинхронне виконання КОМАНДИ, під’єднавши її стандартний ввід та\n" +" вивід через канали до файлових дескрипторів, які присвоюються елементам 0\n" +" та 1 змінної-масиву ІМ’Я.\n" +" Стандартне ім’я змінної — \"COPROC\".\n" +" \n" +" Код завершення:\n" +" Команда повертає код завершення КОМАНДИ." + +#: builtins.c:1618 +msgid "" +"Define shell function.\n" +" \n" +" Create a shell function named NAME. When invoked as a simple command,\n" +" NAME runs COMMANDs in the calling shell's context. When NAME is invoked,\n" +" the arguments are passed to the function as $1...$n, and the function's\n" +" name is in $FUNCNAME.\n" +" \n" +" Exit Status:\n" +" Returns success unless NAME is readonly." +msgstr "" +"Описує функцію оболонки.\n" +" \n" +" Створює функцію оболонки з іменем ІМ’Я. Функція запускається як звичайна\n" +" команда з іменем ІМ’Я та послідовно виконує КОМАНДИ. Аргументи до команди\n" +" призначаються на час виконання змінним $1...$n, а назва функції — змінній\n" +" $FUNCNAME.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо ІМ’Я є незмінним." + +#: builtins.c:1632 +msgid "" +"Group commands as a unit.\n" +" \n" +" Run a set of commands in a group. This is one way to redirect an\n" +" entire set of commands.\n" +" \n" +" Exit Status:\n" +" Returns the status of the last command executed." +msgstr "" +"Групує команди в один блок.\n" +" \n" +" Виконує згрупований набір команд. Це один з методів перенаправлення виводу\n" +" групи команд.\n" +" \n" +" Код завершення:\n" +" Конструкція повертає код завершення останньої виконаної команди." + +#: builtins.c:1644 +msgid "" +"Resume job in foreground.\n" +" \n" +" Equivalent to the JOB_SPEC argument to the `fg' command. Resume a\n" +" stopped or background job. JOB_SPEC can specify either a job name\n" +" or a job number. Following JOB_SPEC with a `&' places the job in\n" +" the background, as if the job specification had been supplied as an\n" +" argument to `bg'.\n" +" \n" +" Exit Status:\n" +" Returns the status of the resumed job." +msgstr "" +"Продовжує виконання завдання на передньому плані.\n" +" \n" +" Продовжує на передньому плані виконання призупиненого чи фонового\n" +" завдання, як це робить команда `fg'. ЗАВДАННЯ може бути іменем чи номером\n" +" завдання. Якщо після ЗАВДАННЯ вказано `&', завдання продовжує виконання у\n" +" фоні, тобто команда має ефект команди `bg'.\n" +" \n" +" Код завершення:\n" +" Команда повертає статус продовженого завдання." + +#: builtins.c:1659 +msgid "" +"Evaluate arithmetic expression.\n" +" \n" +" The EXPRESSION is evaluated according to the rules for arithmetic\n" +" evaluation. Equivalent to \"let EXPRESSION\".\n" +" \n" +" Exit Status:\n" +" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise." +msgstr "" +"Обчислює арифметичний вираз.\n" +" \n" +" Обчислює ВИРАЗ відповідно до правил арифметичного розкриття. Те ж саме,\n" +" що й \"let ВИРАЗ\".\n" +" \n" +" Код завершення:\n" +" Команда завершується успішно, якщо результат обчислення ненульовий." + +#: builtins.c:1671 +msgid "" +"Execute conditional command.\n" +" \n" +" Returns a status of 0 or 1 depending on the evaluation of the conditional\n" +" expression EXPRESSION. Expressions are composed of the same primaries used\n" +" by the `test' builtin, and may be combined using the following operators:\n" +" \n" +" ( EXPRESSION )\tReturns the value of EXPRESSION\n" +" ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n" +" EXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false\n" +" EXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false\n" +" \n" +" When the `==' and `!=' operators are used, the string to the right of\n" +" the operator is used as a pattern and pattern matching is performed.\n" +" When the `=~' operator is used, the string to the right of the operator\n" +" is matched as a regular expression.\n" +" \n" +" The && and || operators do not evaluate EXPR2 if EXPR1 is sufficient to\n" +" determine the expression's value.\n" +" \n" +" Exit Status:\n" +" 0 or 1 depending on value of EXPRESSION." +msgstr "" +"Виконує умовну команду.\n" +" \n" +" Повертає статус 0 чи 1, в залежності від результату обчислення умовного\n" +" ВИРАЗУ. Вирази складаються з тих самих складових, що використовуються у\n" +" вбудованій команді `test', але можуть також комбінуватися за допомогою:\n" +" \n" +" ( ВИРАЗ )\t\tПовертає значення ВИРАЗУ.\n" +" ! ВИРАЗ\t\tІстинний, якщо ВИРАЗ хибний.\n" +" ВИРАЗ1 && ВИРАЗ2\tІстинний, якщо обидва ВИРАЗИ істинні.\n" +" ВИРАЗ1 || ВИРАЗ2\tІстинний, якщо хоч один з ВИРАЗІВ істинний.\n" +" \n" +" Якщо застосовуються оператори `==' та `!=', рядок з правої сторони\n" +" вважається шаблоном, й проводиться перевірка на відповідність цьому\n" +" шаблону. При застосуванні `=~' рядок зліва вважається регулярним\n" +" виразом, відносно якого перевіряється правий рядок.\n" +" \n" +" Оператори && та || не обчислюють ВИРАЗ2, якщо ВИРАЗУ1 достатньо для\n" +" визначення результату.\n" +" \n" +" Код завершення:\n" +" Команда завершується успішно, якщо ВИРАЗ істинний." + +#: builtins.c:1697 +#, fuzzy +msgid "" +"Common shell variable names and usage.\n" +" \n" +" BASH_VERSION\tVersion information for this Bash.\n" +" CDPATH\tA colon-separated list of directories to search\n" +" \t\tfor directories given as arguments to `cd'.\n" +" GLOBIGNORE\tA colon-separated list of patterns describing filenames to\n" +" \t\tbe ignored by pathname expansion.\n" +" HISTFILE\tThe name of the file where your command history is stored.\n" +" HISTFILESIZE\tThe maximum number of lines this file can contain.\n" +" HISTSIZE\tThe maximum number of history lines that a running\n" +" \t\tshell can access.\n" +" HOME\tThe complete pathname to your login directory.\n" +" HOSTNAME\tThe name of the current host.\n" +" HOSTTYPE\tThe type of CPU this version of Bash is running under.\n" +" IGNOREEOF\tControls the action of the shell on receipt of an EOF\n" +" \t\tcharacter as the sole input. If set, then the value\n" +" \t\tof it is the number of EOF characters that can be seen\n" +" \t\tin a row on an empty line before the shell will exit\n" +" \t\t(default 10). When unset, EOF signifies the end of input.\n" +" MACHTYPE\tA string describing the current system Bash is running on.\n" +" MAILCHECK\tHow often, in seconds, Bash checks for new mail.\n" +" MAILPATH\tA colon-separated list of filenames which Bash checks\n" +" \t\tfor new mail.\n" +" OSTYPE\tThe version of Unix this version of Bash is running on.\n" +" PATH\tA colon-separated list of directories to search when\n" +" \t\tlooking for commands.\n" +" PROMPT_COMMAND\tA command to be executed before the printing of each\n" +" \t\tprimary prompt.\n" +" PS1\t\tThe primary prompt string.\n" +" PS2\t\tThe secondary prompt string.\n" +" PWD\t\tThe full pathname of the current directory.\n" +" SHELLOPTS\tA colon-separated list of enabled shell options.\n" +" TERM\tThe name of the current terminal type.\n" +" TIMEFORMAT\tThe output format for timing statistics displayed by the\n" +" \t\t`time' reserved word.\n" +" auto_resume\tNon-null means a command word appearing on a line by\n" +" \t\titself is first looked for in the list of currently\n" +" \t\tstopped jobs. If found there, that job is foregrounded.\n" +" \t\tA value of `exact' means that the command word must\n" +" \t\texactly match a command in the list of stopped jobs. A\n" +" \t\tvalue of `substring' means that the command word must\n" +" \t\tmatch a substring of the job. Any other value means that\n" +" \t\tthe command must be a prefix of a stopped job.\n" +" histchars\tCharacters controlling history expansion and quick\n" +" \t\tsubstitution. The first character is the history\n" +" \t\tsubstitution character, usually `!'. The second is\n" +" \t\tthe `quick substitution' character, usually `^'. The\n" +" \t\tthird is the `history comment' character, usually `#'.\n" +" HISTIGNORE\tA colon-separated list of patterns used to decide which\n" +" \t\tcommands should be saved on the history list.\n" +msgstr "" +"Використовувані змінні оболонки.\n" +" \n" +" BASH_VERSION\tІнформація про версію Bash.\n" +" CDPATH\tРозділений двокрапкою список директорій, у яких оболонка буде\n" +" \t\tшукати директорії, вказані команді `cd'.\n" +" GLOBIGNORE\tРозділений двокрапкою список шаблонів імен файлів, які будуть\n" +" \t\tігноруватися під час розкриття шляхів.\n" +" HISTFILE\tІм’я файлу, де зберігається історія команд.\n" +" HISTFILESIZE\tНайбільша дозволена кількість записів у файлі історії.\n" +" HISTSIZE\tНайбільша кількість записів, які може використовувати\n" +" \t\tпрацююча оболонка.\n" +" HOME\tПовний шлях до вашої домівки.\n" +" HOSTNAME\tІм’я поточної машини.\n" +" HOSTTYPE\tТип процесора, на якому виконується оболонка.\n" +" IGNOREEOF\tВизначає реакцію оболонки на символ кінця файлу на вводі.\n" +" \t\tЯкщо змінна визначена, її значення є кількістю таких символів,\n" +" \t\tщо можуть бути отримані під ряд й бути проігнорованими. Звичайне\n" +" \t\tзначення — 10. Якщо змінна не визначена, символ кінця файлу\n" +" \t\tозначатиме кінець вводу.\n" +" MACHTYPE\tРядок, що описує поточну систему, на якій виконується Bash.\n" +" MAILCHECK\tВизначає частоту перевірки пошти оболонкою.\n" +" MAILPATH\tРозділений двокрапкою список файлів, які оболонка буде\n" +" \t\tперевіряти на наявність нової пошти.\n" +" OSTYPE\tВаріант Unix, на якому виконується оболонка.\n" +" PATH\tРозділений двокрапкою список директорій, де оболонка шукатиме\n" +" \t\tвиконувані файли команд.\n" +" PROMPT_COMMAND\tКоманда, яку оболонка буде виконувати перш ніж вивести\n" +" \t\tосновне запрошення вводу.\n" +" PS1\t\tРядок основного запрошення вводу.\n" +" PS2\t\tРядок вторинного запрошення вводу.\n" +" PWD\t\tПовний шлях до поточної директорії.\n" +" SHELLOPTS\tРозділений двокрапкою список увімкнених параметрів оболонки.\n" +" TERM\tТип поточного терміналу.\n" +" TIMEFORMAT\tФормат виводу часу командою `time'.\n" +" auto_resume\tЯкщо встановлена, введені команди, що складаються з\n" +" \t\tодного слова, спочатку будуть шукатися у списку наразі\n" +" \t\tпризупинених завдань. Якщо таке завдання буде знайдене, його буде\n" +" \t\tпереведено на передній план. Значення цієї змінної `exact' означає,\n" +" \t\tщо слово має точно відповідати команді у списку завдань. Значення\n" +" \t\t`substring' означає, що слово має міститися у команді завдання.\n" +" \t\tБудь-яке інше значення означає, що команда завдання має\n" +" \t\tпочинатися з вказаного слова.\n" +" histchars\tСимволи, що використовуються для розкриття історії та\n" +" \t\tшвидкої заміни. Перший символ є символом підставляння історії,\n" +" \t\tзазвичай це `!'. Другий — символ `швидкої заміни', зазичай `^'.\n" +" \t\tТретій — символ `коментаря історії', зазвичай це `#'.\n" +" HISTIGNORE\tРозділений двокрапкою список шаблонів, що використовуються\n" +" \t\tпри визначенні, чи зберігати команду у списку історії.\n" + +#: builtins.c:1754 +msgid "" +"Add directories to stack.\n" +" \n" +" Adds a directory to the top of the directory stack, or rotates\n" +" the stack, making the new top of the stack the current working\n" +" directory. With no arguments, exchanges the top two directories.\n" +" \n" +" Options:\n" +" -n\tSuppresses the normal change of directory when adding\n" +" \tdirectories to the stack, so only the stack is manipulated.\n" +" \n" +" Arguments:\n" +" +N\tRotates the stack so that the Nth directory (counting\n" +" \tfrom the left of the list shown by `dirs', starting with\n" +" \tzero) is at the top.\n" +" \n" +" -N\tRotates the stack so that the Nth directory (counting\n" +" \tfrom the right of the list shown by `dirs', starting with\n" +" \tzero) is at the top.\n" +" \n" +" dir\tAdds DIR to the directory stack at the top, making it the\n" +" \tnew current working directory.\n" +" \n" +" The `dirs' builtin displays the directory stack.\n" +" \n" +" Exit Status:\n" +" Returns success unless an invalid argument is supplied or the directory\n" +" change fails." +msgstr "" +"Додає директорії до списку збережених директорій.\n" +" \n" +" Додає директорію на вершину стеку директорій, чи циклічно обертає\n" +" стек, встановлюючи поточну робочу директорію відповідно до його нової\n" +" вершини. Без аргументів міняє місцями дві найвищих директорії.\n" +" \n" +" Параметри:\n" +" -n\tНе робити звичайного переходу у нову директорію при додаванні\n" +" \t\tдиректорій до стеку, проводити операції лише над стеком.\n" +" \n" +" Аргументи:\n" +" +N\tЦиклічно обертає стек так, щоб N-на директорія, рахуючи\n" +" \t\tзліва (починаючи з нуля) у списку, що виводиться командою `dirs'\n" +" \t\tопинилася на вершині стеку.\n" +" \n" +" -N\tЦиклічно обертає стек так, щоб N-на директорія, рахуючи\n" +" \t\tз кінця (починаючи з нуля) у списку, що виводиться командою `dirs'\n" +" \t\tопинилася на вершині стеку.\n" +" \n" +" ДИРЕКТОРІЯ\tДодає ДИРЕКТОРІЮ на вершину стеку, й робить її поточною\n" +" \t\t\tробочою директорією.\n" +" \n" +" Вбудована команда `dirs' показує стек директорій.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо вказаний неправильний аргумент чи\n" +" якщо не вдається змінити поточну директорію." + +#: builtins.c:1788 +msgid "" +"Remove directories from stack.\n" +" \n" +" Removes entries from the directory stack. With no arguments, removes\n" +" the top directory from the stack, and changes to the new top directory.\n" +" \n" +" Options:\n" +" -n\tSuppresses the normal change of directory when removing\n" +" \tdirectories from the stack, so only the stack is manipulated.\n" +" \n" +" Arguments:\n" +" +N\tRemoves the Nth entry counting from the left of the list\n" +" \tshown by `dirs', starting with zero. For example: `popd +0'\n" +" \tremoves the first directory, `popd +1' the second.\n" +" \n" +" -N\tRemoves the Nth entry counting from the right of the list\n" +" \tshown by `dirs', starting with zero. For example: `popd -0'\n" +" \tremoves the last directory, `popd -1' the next to last.\n" +" \n" +" The `dirs' builtin displays the directory stack.\n" +" \n" +" Exit Status:\n" +" Returns success unless an invalid argument is supplied or the directory\n" +" change fails." +msgstr "" +"Вилучає директорії зі списку збережених директорій.\n" +" \n" +" Вилучає директорії зі стеку збережених директорій. Якщо аргументи не\n" +" вказані, вилучає верхню директорію стеку й змінює поточну директорію\n" +" відповідно до нової вершини стеку.\n" +" \n" +" Параметри:\n" +" -n\tНе робити звичайного переходу до нової директорії при вилученні\n" +" \t\tдиректорій зі стеку, проводити операції лише над стеком.\n" +" \n" +" Аргументи:\n" +" +N\tВилучає N-ну зліва директорію у списку, що показується командою\n" +" \t\t`dirs' (рахунок починається з нуля). Наприклад: `popd +0' вилучає\n" +" \t\tпершу директорію, `popd +1' другу.\n" +" \n" +" -N\tВилучає N-ну з кінця директорію у списку, що показується\n" +" \t\tкомандою `dirs' (рахунок починається з нуля). Наприклад: `popd -0'\n" +" \t\tвилучає останню директорію, `popd -1' передостанню.\n" +" \n" +" Вбудована команда `dirs' показує список збережених директорій.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало, якщо вказано невірний аргумент чи якщо\n" +" не вдається змінити поточну директорію." + +#: builtins.c:1818 +msgid "" +"Display directory stack.\n" +" \n" +" Display the list of currently remembered directories. Directories\n" +" find their way onto the list with the `pushd' command; you can get\n" +" back up through the list with the `popd' command.\n" +" \n" +" Options:\n" +" -c\tclear the directory stack by deleting all of the elements\n" +" -l\tdo not print tilde-prefixed versions of directories relative\n" +" \tto your home directory\n" +" -p\tprint the directory stack with one entry per line\n" +" -v\tprint the directory stack with one entry per line prefixed\n" +" \twith its position in the stack\n" +" \n" +" Arguments:\n" +" +N\tDisplays the Nth entry counting from the left of the list shown by\n" +" \tdirs when invoked without options, starting with zero.\n" +" \n" +" -N\tDisplays the Nth entry counting from the right of the list shown by\n" +" \tdirs when invoked without options, starting with zero.\n" +" \n" +" Exit Status:\n" +" Returns success unless an invalid option is supplied or an error occurs." +msgstr "" +"Показує список збережених директорій.\n" +" \n" +" Показує список збережених директорій. Директорії додаються до цього списку\n" +" командою `pushd'; ви можете повернутися назад по цьому списку за допомогою\n" +" команди `popd'.\n" +" \n" +" Параметри:\n" +" -c\tОчистити список директорій, вилучивши усі його елементи.\n" +" -l\tНе використовувати ~ при виводі директорій, що знаходяться\n" +" \t\tусередині вашої домівки.\n" +" -p\tВиводити директорії по одній на рядок.\n" +" -v\tВиводити директорії по одній на рядок із вказанням позиції у\n" +" \t\tсписку.\n" +" \n" +" Аргументи:\n" +" +N\tПоказує N-ну зліва директорію у списку, що виводиться командою\n" +" \t\tdirs без аргументів, рахунок починається з нуля.\n" +" \n" +" -N\tПоказує N-ну з кінця директорію у списку, що виводиться\n" +" \t\tкомандою dirs без аргументів, рахунок починається з нуля. \n" +" Код завершення:\n" +" Команда завершується невдало, якщо вказано неправильний параметр чи якщо\n" +" трапиться помилка." + +#: builtins.c:1847 +msgid "" +"Set and unset shell options.\n" +" \n" +" Change the setting of each shell option OPTNAME. Without any option\n" +" arguments, list all shell options with an indication of whether or not each\n" +" is set.\n" +" \n" +" Options:\n" +" -o\trestrict OPTNAMEs to those defined for use with `set -o'\n" +" -p\tprint each shell option with an indication of its status\n" +" -q\tsuppress output\n" +" -s\tenable (set) each OPTNAME\n" +" -u\tdisable (unset) each OPTNAME\n" +" \n" +" Exit Status:\n" +" Returns success if OPTNAME is enabled; fails if an invalid option is\n" +" given or OPTNAME is disabled." +msgstr "" +"Встановлює та скидає параметри оболонки.\n" +" \n" +" Змінює значення ПАРАМЕТРІВ. Якщо ПАРАМЕТРИ не вказані, виводить список\n" +" усіх параметрів оболонки, вказуючи, чи параметр ввімкнений, чи ні.\n" +" \n" +" Параметри:\n" +" -o\tПриймати лише ПАРАМЕТРИ, з якими працює `set -o'.\n" +" -p\tВивести список параметрів оболонки та їх поточний стан.\n" +" -q\tНе виводити нічого.\n" +" -s\tВвімкнути (встановити) кожен з ПАРАМЕТРІВ.\n" +" -u\tВимкнути (скинути) кожен з ПАРАМЕТРІВ.\n" +" \n" +" Код завершення:\n" +" Команда завершується успішно, якщо ПАРАМЕТР ввімкнено; невдало, якщо\n" +" вказано неправильні параметри чи ПАРАМЕТР вимкнено." + +#: builtins.c:1868 +msgid "" +"Formats and prints ARGUMENTS under control of the FORMAT.\n" +" \n" +" Options:\n" +" -v var\tassign the output to shell variable VAR rather than\n" +" \t\tdisplay it on the standard output\n" +" \n" +" FORMAT is a character string which contains three types of objects: plain\n" +" characters, which are simply copied to standard output; character escape\n" +" sequences, which are converted and copied to the standard output; and\n" +" format specifications, each of which causes printing of the next successive\n" +" argument.\n" +" \n" +" In addition to the standard format specifications described in printf(1)\n" +" and printf(3), printf interprets:\n" +" \n" +" %b\texpand backslash escape sequences in the corresponding argument\n" +" %q\tquote the argument in a way that can be reused as shell input\n" +" \n" +" Exit Status:\n" +" Returns success unless an invalid option is given or a write or assignment\n" +" error occurs." +msgstr "" +"Форматує та виводить аргументи відповідно до шаблону.\n" +" \n" +" Параметри:\n" +" -v змінна\tПризначити результат змінній оболонки, замість того, щоб\n" +" \t\tвивести його у стандартний вивід.\n" +" \n" +" ШАБЛОН складається з символів, які можуть бути трьох типів:\n" +" звичайні символи, які просто копіюються у вивід; спеціальні\n" +" послідовності, які інтерпретуються та тоді копіюються у вивід; та\n" +" вказівки форматування замість кожної з яких підставляється відповідний\n" +" аргумент.\n" +" \n" +" Окрім стандартних вказівок форматування, описаних у printf(1) та\n" +" printf(3), printf також розуміє:\n" +" \n" +" %b\tІнтерпретувати спеціальні послідовності (що починаються зі\n" +" \t\tзворотньої похилої риски) у відповідному аргументі.\n" +" %q\tВзяти аргумент в лапки так, щоб його можна було використати як\n" +" \t\tввід оболонки\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало лише якщо вказано неправильний параметр або\n" +" якщо трапиться помилка запису чи присвоєння." + +#: builtins.c:1895 +#, fuzzy +msgid "" +"Specify how arguments are to be completed by Readline.\n" +" \n" +" For each NAME, specify how arguments are to be completed. If no options\n" +" are supplied, existing completion specifications are printed in a way that\n" +" allows them to be reused as input.\n" +" \n" +" Options:\n" +" -p\tprint existing completion specifications in a reusable format\n" +" -r\tremove a completion specification for each NAME, or, if no\n" +" \tNAMEs are supplied, all completion specifications\n" +" -D\tapply the completions and actions as the default for commands\n" +" \twithout any specific completion defined\n" +" -E\tapply the completions and actions to \"empty\" commands --\n" +" \tcompletion attempted on a blank line\n" +" \n" +" When completion is attempted, the actions are applied in the order the\n" +" uppercase-letter options are listed above. The -D option takes\n" +" precedence over -E.\n" +" \n" +" Exit Status:\n" +" Returns success unless an invalid option is supplied or an error occurs." +msgstr "" +"Вказує, як буде завершувати аргументи readline.\n" +" \n" +" Визначає як завершувати аргументи для ІМЕН. Якщо параметри не вказані,\n" +" будуть виведені існуючі вказівки завершення аргументів у формі,\n" +" придатній для подальшого виконання.\n" +" \n" +" Параметри:\n" +" -p\tВивести вказівки завершення у формі, придатній до виконання.\n" +" -r\tВилучити вказівки завершення аргументів для ІМЕН (або, якщо\n" +" \t\tІМЕНА не вказані, усі вказівки завершення).\n" +" \n" +" Коли робиться спроба завершення, дії виконуються у порядку, в якому\n" +" вказані наведені вище параметри у верхньому регістрі.\n" +" \n" +" Код завершення:\n" +" Команда завершується успішно, якщо вказано правильні параметри та не\n" +" трапиться помилки під час виконання." + +#: builtins.c:1923 +#, fuzzy +msgid "" +"Display possible completions depending on the options.\n" +" \n" +" Intended to be used from within a shell function generating possible\n" +" completions. If the optional WORD argument is supplied, matches against\n" +" WORD are generated.\n" +" \n" +" Exit Status:\n" +" Returns success unless an invalid option is supplied or an error occurs." +msgstr "" +"Виводить можливі завершення у залежності від параметрів.\n" +" \n" +" Команда призначена для використання зсередини функції для генерації\n" +" можливих завершень. Якщо вказано необов’язковий аргумент СЛОВО,\n" +" генеруються завершення, що відповідають цьому слову.\n" +" \n" +" Код завершення:\n" +" Команда завершується успішно, якщо вказано правильні параметри і не\n" +" трапиться помилки під час виконання." + +#: builtins.c:1938 +#, fuzzy +msgid "" +"Modify or display completion options.\n" +" \n" +" Modify the completion options for each NAME, or, if no NAMEs are supplied,\n" +" the completion currently begin executed. If no OPTIONs are givenm, print\n" +" the completion options for each NAME or the current completion specification.\n" +" \n" +" Options:\n" +" \t-o option\tSet completion option OPTION for each NAME\n" +" \t-D\t\tChange options for the \"default\" command completion\n" +" \t-E\t\tChange options for the \"empty\" command completion\n" +" \n" +" Using `+o' instead of `-o' turns off the specified option.\n" +" \n" +" Arguments:\n" +" \n" +" Each NAME refers to a command for which a completion specification must\n" +" have previously been defined using the `complete' builtin. If no NAMEs\n" +" are supplied, compopt must be called by a function currently generating\n" +" completions, and the options for that currently-executing completion\n" +" generator are modified.\n" +" \n" +" Exit Status:\n" +" Returns success unless an invalid option is supplied or NAME does not\n" +" have a completion specification defined." +msgstr "" +"Змінює чи показує параметри завершення аргументів.\n" +" \n" +" Змінює параметри завершення аргументів для ІМЕН (якщо ІМЕНА не вказані,\n" +" для завершення, що наразі проводиться). Якщо ПАРАМЕТРИ не вказані,\n" +" виводить параметри завершення для кожного з ІМЕН (чи завершення, що\n" +" наразі проводиться).\n" +" \n" +" Параметри:\n" +" \t-o параметр\tУвімкнути параметр завершення для всіх ІМЕН.\n" +" \n" +" Параметри можна вимикати, використовуючи `+o' замість `-o'.\n" +" \n" +" Аргументи:\n" +" \n" +" Кожне з ІМЕН відповідає команді, для якої попередньо має бути вказано,\n" +" як завершувати її аргументи за допомогою вбудованої команди `complete'.\n" +" Якщо ІМЕНА не вказані, compopt має виконуватися усередині функції, що\n" +" генерує список завершень, тоді змінюються параметрі вказівки завершень,\n" +" що відповідає цій функції.\n" +" \n" +" Код завершення:\n" +" Команда завершується успішно, якщо вказано правильні параметри та\n" +" вказівки завершень для ІМЕН існують." + +#: builtins.c:1968 +#, fuzzy +msgid "" +"Read lines from the standard input into an indexed array variable.\n" +" \n" +" Read lines from the standard input into the indexed array variable ARRAY, or\n" +" from file descriptor FD if the -u option is supplied. The variable MAPFILE\n" +" is the default ARRAY.\n" +" \n" +" Options:\n" +" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are copied.\n" +" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default index is 0.\n" +" -s count \tDiscard the first COUNT lines read.\n" +" -t\t\tRemove a trailing newline from each line read.\n" +" -u fd\t\tRead lines from file descriptor FD instead of the standard input.\n" +" -C callback\tEvaluate CALLBACK each time QUANTUM lines are read.\n" +" -c quantum\tSpecify the number of lines read between each call to CALLBACK.\n" +" \n" +" Arguments:\n" +" ARRAY\t\tArray variable name to use for file data.\n" +" \n" +" If -C is supplied without -c, the default quantum is 5000. When\n" +" CALLBACK is evaluated, it is supplied the index of the next array\n" +" element to be assigned as an additional argument.\n" +" \n" +" If not supplied with an explicit origin, mapfile will clear ARRAY before\n" +" assigning to it.\n" +" \n" +" Exit Status:\n" +" Returns success unless an invalid option is given or ARRAY is readonly or\n" +" not an indexed array." +msgstr "" +"Читає рядки зі стандартного вводу й заносить їх до масиву.\n" +" \n" +" Читає рядки зі стандартного вводу чи з ФАЙЛОВОГО-ДЕСКРИПТОРУ, якщо вказано\n" +" параметр -u, й вставляє їх до вказаної змінної-масиву. Якщо назву змінної\n" +" не вказано, використовується змінна MAPFILE.\n" +" \n" +" Параметри:\n" +" -n кількість\tПрочитати вказану кількість рядків. Нуль означає\n" +" \t\t\tвідсутність обмеження.\n" +" -O початок\tПочати вставляти до масиву, починаючи з вказаного\n" +" \t\t\tелементу масиву. Зазвичай відлік починається з нуля.\n" +" -s кількість\tПропустити вказану кількість рядків на початку\n" +" \t\t\tфайлу.\n" +" -t\t\tПрибирати символ переводу рядку в кінці прочитаних\n" +" \t\t\tз файлу рядків.\n" +" -u дескриптор\tЧитати рядки з вказаного дескриптора замість\n" +" \t\t\tстандартного вводу\n" +" -C обробник\tВиконувати вказаний обробник після прочитання рядку.\n" +" -c крок\t\tВикликати обробник лише після того, як буде прочитано\n" +" \t\t\tвказану кількість рядків.\n" +" \n" +" Аргументи:\n" +" МАСИВ\t\tНазва змінної-масиву для збереження даних з файлу.\n" +" \n" +" Якщо вказано лише -C, без -c, обробник викликатиметься із кроком 5000.\n" +" Обробник викликається із параметром, що вказує наступний елемент масиву,\n" +" якому буде призначено значення.\n" +" \n" +" Якщо початковий елемент не вказано, mapfile спустошить МАСИВ перш ніж\n" +" починати присвоєння.\n" +" \n" +" Код завершення:\n" +" Команда завершується невдало лише якщо вказано неправильний параметр або\n" +" якщо МАСИВ є незмінним." + +#: builtins.c:2001 +msgid "" +"Read lines from a file into an array variable.\n" +" \n" +" A synonym for `mapfile'." +msgstr "" +"Читає рядки з файлу до масиву.\n" +" \n" +" Синонім до `mapfile'." + +#~ msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)" +#~ msgstr "xrealloc: не вдається змінити розмір виділеного блоку до %lu байтів (виділено %lu байтів)" + +#~ msgid "xrealloc: cannot allocate %lu bytes" +#~ msgstr "xrealloc: не вдається виділити %lu байтів" + +#~ msgid "xrealloc: %s:%d: cannot reallocate %lu bytes (%lu bytes allocated)" +#~ msgstr "xrealloc: %s:%d: не вдається змінити розмір виділеного блоку до %lu байтів (виділено %lu байтів)" diff --git a/test.c b/test.c index dca5f635a..e0cc19de4 100644 --- a/test.c +++ b/test.c @@ -603,9 +603,7 @@ unary_test (op, arg) case 'v': v = find_variable (arg); - if (v == 0) - return (FALSE); - return (var_isset (v) ? TRUE : FALSE); + return (v && var_isset (v) ? TRUE : FALSE); } /* We can't actually get here, but this shuts up gcc. */ diff --git a/test.c~ b/test.c~ index 190e64d31..dca5f635a 100644 --- a/test.c~ +++ b/test.c~ @@ -2,7 +2,7 @@ /* Modified to run with the GNU shell Apr 25, 1988 by bfox. */ -/* Copyright (C) 1987-2009 Free Software Foundation, Inc. +/* Copyright (C) 1987-2010 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. diff --git a/tests/RUN-ONE-TEST b/tests/RUN-ONE-TEST index 72ec06a2c..3efcf32d6 100755 --- a/tests/RUN-ONE-TEST +++ b/tests/RUN-ONE-TEST @@ -1,4 +1,4 @@ -BUILD_DIR=/usr/local/build/bash/bash-current +BUILD_DIR=/usr/local/build/chet/bash/bash-current THIS_SH=$BUILD_DIR/bash PATH=$PATH:$BUILD_DIR