execute_disk_command if we're executing in a shell function
- change execute_function to call unlink_fifo_list before returning
if it's the top-level function
+
+ 3/2
+ ---
+builtins/read.def
+ - if read times out, make sure we remove the top element from the
+ unwind-protect stack (the free of input_string) and run the rest,
+ to reset the tty and readline and alarm states. Then we jump to
+ assigning the variables to any partial input. Fixes bug reported
+ by Christopher F. A. Johnson <cfajohnson@gmail.com>
+
+ 3/3
+ ---
+parse.y
+ - break comment checking code into a common COMMENT_BEGIN define so
+ we can use it in multiple places in parse_comsub
+ - in parse_comsub, don't alter the LEX_RESWDOK flag if we read a
+ `#' and we're checking comments, even though `#' isn't a `shell break'
+ character. Fixes bug reported by Mike Frysinger <vapier@gentoo.org>
+
+braces.c
+ - in expand_seqterm, decrease the total length of the rhs by the length
+ of any (optional) increment, so we don't end up with unwanted zero
+ padding because the rhs length is wrong. Fixes bug reported by
+ Carl Albing <albing@comcast.net>
+
+ 3/4
+ ---
+doc/{bash.1,bashref.texi}
+ - changes to clean up some of the language describing the effects of
+ terminal process groups on the ability to read from and write to
+ the terminal
+
+ 3/5
+ ---
+support/shobj-conf
+ - add host_vendor to string tested in switch to handle things like
+ gentoo/freebsd
+ - beginning with version 7, FreeBSD no longer has /usr/bin/objformat
+ or a.out binaries and libraries. It's always ELF. Fix from
+ Timothy Redaelli <drizzt@gentoo.org>
+
+parse.y
+ - in parse_comsub, allow comments if we are ready to read a
+ reserved word (tflags & LEX_RESWDOK), haven't read anything from
+ one yet (lex_rwlen == 0) and the current character is a '#'
+
+ 3/6
+ ---
+parse.y
+ - new lex flag for parse_comsub: LEX_INWORD. Turn it off when
+ we see a shell break character; turn it on or keep it on when
+ not a break character. Keep track of word length (reset to 0
+ when we turn on LEX_INWORD when it was off).
+ - don't use COMMENT_BEGIN in parse_comsub any more; test
+ whether or not LEX_INWORD is set and lex_wlen == 0 in addition
+ to tests for LEX_RESWDOK and lex_rwlen. Comments are valid
+ when at the start of a word
+ - move LEX_PASSNEXT code to the top of parse_comsub, so the rest
+ of the function doesn't have to check for the flag at different
+ places
+
+ 3/7
+ ---
+parse.y
+ - in parse_comsub, when looking for a reserved word (LEX_RESWDOK
+ non-zero), and in a case statement, we can see either an esac
+ or a pattern list. We handle an esac separately. We should
+ turn off LEX_RESWDOK if we see anything but a newline, since
+ we'll be reading a pattern list. Other part of fix for bug
+ reported by Mike Frysinger <vapier@gentoo.org> (rest of fix
+ on 3/3)
+
jobs.c
- if fork() fails, set last_command_exit_value to 126 before calling
throw_to_top_level
+
+execute_cmd.c
+ - defer calling unlink_fifo_list in parent branch of
+ execute_disk_command if we're executing in a shell function
+ - change execute_function to call unlink_fifo_list before returning
+ if it's the top-level function
+
+ 3/2
+ ---
+builtins/read.def
+ - if read times out, make sure we remove the top element from the
+ unwind-protect stack (the free of input_string) and run the rest,
+ to reset the tty and readline and alarm states. Then we jump to
+ assigning the variables to any partial input. Fixes bug reported
+ by Christopher F. A. Johnson <cfajohnson@gmail.com>
+
+ 3/3
+ ---
+parse.y
+ - break comment checking code into a common COMMENT_BEGIN define so
+ we can use it in multiple places in parse_comsub
+ - in parse_comsub, don't turn off the LEX_RESWDOK flag if we read a
+ `#' and we're checking comments, even though `#' isn't a `shell break'
+ character. Fixes bug reported by Mike Frysinger <vapier@gentoo.org>
+
+braces.c
+ - in expand_seqterm, decrease the total length of the rhs by the length
+ of any (optional) increment, so we don't end up with unwanted zero
+ padding because the rhs length is wrong. Fixes bug reported by
+ Carl Albing <albing@comcast.net>
+
+ 3/4
+ ---
+doc/{bash.1,bashref.texi}
+ - changes to clean up some of the language describing the effects of
+ terminal process groups on the ability to read from and write to
+ the terminal
+
+ 3/5
+ ---
+support/shobj-conf
+ - add host_vendor to string tested in switch to handle things like
+ gentoo/freebsd
+ - beginning with version 7, FreeBSD no longer has /usr/bin/objformat
+ or a.out binaries and libraries. It's always ELF. Fix from
+ Timothy Redaelli <drizzt@gentoo.org>
+
+parse.y
+ - in parse_comsub, allow comments if we are ready to read a
+ reserved word (tflags & LEX_RESWDOK), haven't read anything from
+ one yet (lex_rwlen == 0) and the current character is a '#'
+
+ 3/6
+ ---
+parse.y
+ - new lex flag for parse_comsub: LEX_INWORD. Turn it off when
+ we see a shell break character; turn it on or keep it on when
+ not a break character. Keep track of word length (reset to 0
+ when we turn on LEX_INWORD when it was off).
+ - don't use COMMENT_BEGIN in parse_comsub any more; test
+ whether or not LEX_INWORD is set and lex_wlen == 0 in addition
+ to tests for LEX_RESWDOK and lex_rwlen. Comments are valid
+ when at the start of a word
+ - move LEX_PASSNEXT code to the top of parse_comsub, so the rest
+ of the function doesn't have to check for the flag at different
+ places
tests/casemod.right f
tests/comsub.tests f
tests/comsub.right f
+tests/comsub1.sub f
tests/comsub-eof.tests f
tests/comsub-eof0.sub f
tests/comsub-eof1.sub f
--- /dev/null
+#
+# Master distribution manifest for bash
+#
+#
+# Filename type
+#
+CWRU d
+CWRU/misc d
+builtins d
+cross-build d
+doc d
+examples d
+examples/obashdb d
+examples/complete d
+examples/functions d
+examples/scripts d
+examples/scripts.v2 d
+examples/scripts.noah d
+examples/startup-files d
+examples/startup-files/apple d
+examples/misc d
+examples/loadables d
+examples/loadables/perl d
+include d
+lib d
+lib/glob d
+lib/glob/doc d
+lib/intl d
+lib/malloc d
+lib/readline d
+lib/readline/doc d
+lib/readline/examples d
+lib/sh d
+lib/termcap d
+lib/tilde d
+po d
+support d
+tests d
+tests/misc d
+ABOUT-NLS f
+CHANGES f
+COMPAT f
+COPYING f
+INSTALL f
+MANIFEST f
+NEWS f
+NOTES f
+POSIX f
+README f
+RBASH f
+AUTHORS f
+Y2K f
+configure.in f
+configure f 755
+Makefile.in f
+config-top.h f
+config-bot.h f
+config.h.in f
+aclocal.m4 f
+array.c f
+arrayfunc.c f
+assoc.c f
+eval.c f
+print_cmd.c f
+general.c f
+list.c f
+locale.c f
+stringlib.c f
+variables.c f
+make_cmd.c f
+copy_cmd.c f
+unwind_prot.c f
+dispose_cmd.c f
+bashhist.c f
+hashcmd.c f
+hashlib.c f
+parse.y f
+pathexp.c f
+subst.c f
+shell.c f
+trap.c f
+sig.c f
+siglist.c f
+version.c f
+flags.c f
+jobs.c f
+input.c f
+mailcheck.c f
+test.c f
+expr.c f
+alias.c f
+execute_cmd.c f
+findcmd.c f
+redir.c f
+bashline.c f
+braces.c f
+bracecomp.c f
+nojobs.c f
+error.c f
+xmalloc.c f
+pcomplete.c f
+pcomplib.c f
+mksyntax.c f
+alias.h f
+builtins.h f
+bashhist.h f
+bashline.h f
+conftypes.h f
+patchlevel.h f
+variables.h f
+array.h f
+arrayfunc.h f
+assoc.h f
+jobs.h f
+findcmd.h f
+hashlib.h f
+quit.h f
+flags.h f
+shell.h f
+syntax.h f
+pathexp.h f
+parser.h f
+pcomplete.h f
+sig.h f
+test.h f
+trap.h f
+general.h f
+unwind_prot.h f
+input.h f
+error.h f
+command.h f
+externs.h f
+siglist.h f
+subst.h f
+dispose_cmd.h f
+hashcmd.h f
+bashansi.h f
+bashjmp.h f
+bashintl.h f
+make_cmd.h f
+execute_cmd.h f
+redir.h f
+bashtypes.h f
+mailcheck.h f
+xmalloc.h f
+y.tab.c f
+y.tab.h f
+parser-built f
+pathnames.h.in f
+builtins/Makefile.in f
+builtins/alias.def f
+builtins/bind.def f
+builtins/break.def f
+builtins/builtin.def f
+builtins/caller.def f
+builtins/cd.def f
+builtins/colon.def f
+builtins/command.def f
+builtins/complete.def f
+builtins/common.c f
+builtins/declare.def f
+builtins/echo.def f
+builtins/enable.def f
+builtins/eval.def f
+builtins/evalfile.c f
+builtins/evalstring.c f
+builtins/exec.def f
+builtins/exit.def f
+builtins/fc.def f
+builtins/fg_bg.def f
+builtins/getopt.c f
+builtins/getopt.h f
+builtins/getopts.def f
+builtins/hash.def f
+builtins/help.def f
+builtins/let.def f
+builtins/history.def f
+builtins/jobs.def f
+builtins/kill.def f
+builtins/mapfile.def f
+builtins/mkbuiltins.c f
+builtins/printf.def f
+builtins/pushd.def f
+builtins/read.def f
+builtins/reserved.def f
+builtins/return.def f
+builtins/set.def f
+builtins/setattr.def f
+builtins/shift.def f
+builtins/shopt.def f
+builtins/source.def f
+builtins/suspend.def f
+builtins/test.def f
+builtins/times.def f
+builtins/trap.def f
+builtins/type.def f
+builtins/ulimit.def f
+builtins/umask.def f
+builtins/wait.def f
+builtins/psize.c f
+builtins/psize.sh f
+builtins/inlib.def f
+builtins/bashgetopt.c f
+builtins/common.h f
+builtins/bashgetopt.h f
+cross-build/cygwin32.cache f
+cross-build/x86-beos.cache f
+cross-build/opennt.cache f
+include/ansi_stdlib.h f
+include/chartypes.h f
+include/filecntl.h f
+include/gettext.h f
+include/maxpath.h f
+include/memalloc.h f
+include/ocache.h f
+include/posixdir.h f
+include/posixjmp.h f
+include/posixstat.h f
+include/posixtime.h f
+include/posixwait.h f
+include/shmbutil.h f
+include/shtty.h f
+include/stdc.h f
+include/systimes.h f
+include/typemax.h f
+include/unionwait.h f
+lib/glob/Makefile.in f
+lib/glob/sm_loop.c f
+lib/glob/smatch.c f
+lib/glob/strmatch.c f
+lib/glob/strmatch.h f
+lib/glob/glob.c f
+lib/glob/glob.h f
+lib/glob/glob_loop.c f
+lib/glob/xmbsrtowcs.c f
+lib/glob/collsyms.h f
+lib/glob/doc/Makefile f
+lib/glob/doc/glob.texi f
+lib/glob/ndir.h f
+lib/intl/ChangeLog f
+lib/intl/Makefile.in f
+lib/intl/VERSION f
+lib/intl/bindtextdom.c f
+lib/intl/config.charset f
+lib/intl/dcgettext.c f
+lib/intl/dcigettext.c f
+lib/intl/dcngettext.c f
+lib/intl/dgettext.c f
+lib/intl/dngettext.c f
+lib/intl/eval-plural.h f
+lib/intl/explodename.c f
+lib/intl/finddomain.c f
+lib/intl/gettext.c f
+lib/intl/gettextP.h f
+lib/intl/gmo.h f
+lib/intl/hash-string.h f
+lib/intl/intl-compat.c f
+lib/intl/l10nflist.c f
+lib/intl/libgnuintl.h.in f
+lib/intl/loadinfo.h f
+lib/intl/loadmsgcat.c f
+lib/intl/localcharset.c f
+lib/intl/localcharset.h f
+lib/intl/locale.alias f
+lib/intl/localealias.c f
+lib/intl/localename.c f
+lib/intl/log.c f
+lib/intl/ngettext.c f
+lib/intl/os2compat.c f
+lib/intl/os2compat.h f
+lib/intl/osdep.c f
+lib/intl/plural-exp.c f
+lib/intl/plural-exp.h f
+lib/intl/plural.c f
+lib/intl/plural.y f
+lib/intl/ref-add.sin f
+lib/intl/ref-del.sin f
+lib/intl/relocatable.c f
+lib/intl/relocatable.h f
+lib/intl/textdomain.c f
+lib/malloc/Makefile.in f
+lib/malloc/getpagesize.h f
+lib/malloc/imalloc.h f
+lib/malloc/mstats.h f
+lib/malloc/shmalloc.h f
+lib/malloc/table.h f
+lib/malloc/watch.h f
+lib/malloc/alloca.c f
+lib/malloc/malloc.c f
+lib/malloc/stats.c f
+lib/malloc/table.c f
+lib/malloc/trace.c f
+lib/malloc/watch.c f
+lib/malloc/xmalloc.c f
+lib/malloc/xleaktrace f 755
+lib/malloc/stub.c f
+lib/malloc/i386-alloca.s f
+lib/malloc/x386-alloca.s f
+lib/readline/COPYING f
+lib/readline/Makefile.in f
+lib/readline/ChangeLog f
+lib/readline/README f
+lib/readline/STANDALONE f
+lib/readline/readline.c f
+lib/readline/vi_mode.c f
+lib/readline/emacs_keymap.c f
+lib/readline/vi_keymap.c f
+lib/readline/history.c f
+lib/readline/histexpand.c f
+lib/readline/histsearch.c f
+lib/readline/histfile.c f
+lib/readline/funmap.c f
+lib/readline/keymaps.c f
+lib/readline/util.c f
+lib/readline/terminal.c f
+lib/readline/xmalloc.c f
+lib/readline/search.c f
+lib/readline/isearch.c f
+lib/readline/parens.c f
+lib/readline/rltty.c f
+lib/readline/compat.c f
+lib/readline/complete.c f
+lib/readline/bind.c f
+lib/readline/display.c f
+lib/readline/signals.c f
+lib/readline/kill.c f
+lib/readline/text.c f
+lib/readline/undo.c f
+lib/readline/macro.c f
+lib/readline/input.c f
+lib/readline/callback.c f
+lib/readline/mbutil.c f
+lib/readline/misc.c f
+lib/readline/nls.c f
+lib/readline/shell.c f
+lib/readline/savestring.c f
+lib/readline/tilde.c f
+lib/readline/tilde.h f
+lib/readline/rldefs.h f
+lib/readline/rlconf.h f
+lib/readline/rlmbutil.h f
+lib/readline/rlshell.h f
+lib/readline/rltty.h f
+lib/readline/rltypedefs.h f
+lib/readline/rlwinsize.h f
+lib/readline/readline.h f
+lib/readline/tcap.h f
+lib/readline/keymaps.h f
+lib/readline/history.h f
+lib/readline/histlib.h f
+lib/readline/chardefs.h f
+lib/readline/posixdir.h f
+lib/readline/posixjmp.h f
+lib/readline/posixstat.h f
+lib/readline/ansi_stdlib.h f
+lib/readline/rlstdc.h f
+lib/readline/rlprivate.h f
+lib/readline/xmalloc.h f
+lib/readline/doc/Makefile f
+lib/readline/doc/version.texi f
+lib/readline/doc/rlman.texi f
+lib/readline/doc/rltech.texi f
+lib/readline/doc/rluser.texi f
+lib/readline/doc/rluserman.texi f
+lib/readline/doc/history.texi f
+lib/readline/doc/hstech.texi f
+lib/readline/doc/hsuser.texi f
+lib/readline/doc/fdl.texi f
+lib/readline/examples/Makefile f
+lib/readline/examples/excallback.c f
+lib/readline/examples/fileman.c f
+lib/readline/examples/manexamp.c f
+lib/readline/examples/histexamp.c f
+lib/readline/examples/rltest.c f
+lib/readline/examples/rl.c f
+lib/readline/examples/rlcat.c f
+lib/readline/examples/Inputrc f
+lib/sh/Makefile.in f
+lib/sh/casemod.c f
+lib/sh/clktck.c f
+lib/sh/clock.c f
+lib/sh/eaccess.c f
+lib/sh/fdprintf.c f
+lib/sh/fmtullong.c f
+lib/sh/fmtulong.c f
+lib/sh/fmtumax.c f
+lib/sh/fpurge.c f
+lib/sh/getcwd.c f
+lib/sh/getenv.c f
+lib/sh/inet_aton.c f
+lib/sh/input_avail.c f
+lib/sh/itos.c f
+lib/sh/mailstat.c f
+lib/sh/makepath.c f
+lib/sh/mbscmp.c f
+lib/sh/memset.c f
+lib/sh/mktime.c f
+lib/sh/netconn.c f
+lib/sh/netopen.c f
+lib/sh/oslib.c f
+lib/sh/pathcanon.c f
+lib/sh/pathphys.c f
+lib/sh/rename.c f
+lib/sh/setlinebuf.c f
+lib/sh/shmatch.c f
+lib/sh/shquote.c f
+lib/sh/shtty.c f
+lib/sh/snprintf.c f
+lib/sh/spell.c f
+lib/sh/strcasecmp.c f
+lib/sh/strerror.c f
+lib/sh/strftime.c f
+lib/sh/strindex.c f
+lib/sh/stringlist.c f
+lib/sh/stringvec.c f
+lib/sh/strnlen.c f
+lib/sh/strpbrk.c f
+lib/sh/strstr.c f
+lib/sh/strtod.c f
+lib/sh/strtoimax.c f
+lib/sh/strtol.c f
+lib/sh/strtoll.c f
+lib/sh/strtoul.c f
+lib/sh/strtoull.c f
+lib/sh/strtoumax.c f
+lib/sh/strtrans.c f
+lib/sh/times.c f
+lib/sh/timeval.c f
+lib/sh/tmpfile.c f
+lib/sh/uconvert.c f
+lib/sh/ufuncs.c f
+lib/sh/vprint.c f
+lib/sh/wcsdup.c f
+lib/sh/winsize.c f
+lib/sh/xstrchr.c f
+lib/sh/zcatfd.c f
+lib/sh/zgetline.c f
+lib/sh/zmapfd.c f
+lib/sh/zread.c f
+lib/sh/zwrite.c f
+lib/termcap/Makefile.in f
+lib/termcap/ltcap.h f
+lib/termcap/termcap.c f
+lib/termcap/termcap.h f
+lib/termcap/tparam.c f
+lib/termcap/version.c f
+lib/tilde/README f
+lib/tilde/Makefile.in f
+lib/tilde/tilde.c f
+lib/tilde/tilde.h f
+lib/tilde/shell.c f
+po/LINGUAS f
+po/Makefile.in.in f
+po/Makevars f
+po/POTFILES.in f
+po/README f
+po/Rules-builtins f
+po/Rules-quot f
+po/bash.pot f
+po/boldquot.sed f
+po/en@boldquot.gmo f
+po/en@boldquot.header f
+po/en@boldquot.po f
+po/en@quot.gmo f
+po/en@quot.header f
+po/en@quot.po f
+po/af.gmo f
+po/af.po f
+po/bg.gmo f
+po/bg.po f
+po/ca.gmo f
+po/ca.po f
+po/cs.gmo f
+po/cs.po f
+po/de.gmo f
+po/de.po f
+po/eo.gmo f
+po/eo.po f
+po/es.gmo f
+po/es.po f
+po/et.gmo f
+po/et.po f
+po/fr.gmo f
+po/fr.po f
+po/hu.gmo f
+po/hu.po f
+po/id.gmo f
+po/id.po f
+po/ja.gmo f
+po/ja.po f
+po/lt.gmo f
+po/lt.po f
+po/nl.gmo f
+po/nl.po f
+po/pl.gmo f
+po/pl.po f
+po/pt_BR.gmo f
+po/pt_BR.po f
+po/ro.gmo f
+po/ro.po f
+po/ru.gmo f
+po/ru.po f
+po/sk.gmo f
+po/sk.po f
+po/sv.gmo f
+po/sv.po f
+po/tr.gmo f
+po/tr.po f
+po/vi.gmo f
+po/vi.po f
+po/zh_TW.gmo f
+po/zh_TW.po f
+po/insert-header.sin f
+po/quot.sed f
+po/remove-potcdate.sin f
+CWRU/misc/open-files.c f
+CWRU/misc/sigs.c f
+CWRU/misc/sigstat.c f
+CWRU/misc/bison f
+CWRU/misc/errlist.c f
+CWRU/misc/hpux10-dlfcn.h f
+CWRU/PLATFORMS f
+CWRU/README f
+CWRU/audit-patch f
+CWRU/changelog f
+CWRU/sh-redir-hack f
+CWRU/mh-folder-comp f
+doc/FAQ f
+doc/Makefile.in f
+doc/bash.1 f
+doc/bashbug.1 f
+doc/builtins.1 f
+doc/rbash.1 f
+doc/README f
+doc/INTRO f
+doc/texinfo.tex f
+doc/bashref.texi f
+doc/version.texi f
+doc/bashref.info f
+doc/article.ms f
+doc/htmlpost.sh f 755
+doc/infopost.sh f 755
+doc/fdl.texi f
+doc/fdl.txt f
+support/Makefile.in f
+support/bashversion.c f
+support/checkbashisms f 755
+support/config.guess f
+support/config.rpath f 755
+support/config.sub f
+support/printenv.sh f 755
+support/printenv.c f
+support/bash.xbm f
+support/missing f 755
+support/mkclone f 755
+support/mkconffiles f 755
+support/mkdirs f 755
+support/mkinstalldirs f 755
+support/mkversion.sh f 755
+support/mksignames.c f
+support/signames.c f
+support/bashbug.sh f
+support/man2html.c f
+support/recho.c f
+support/zecho.c f
+support/xcase.c f
+support/SYMLINKS f
+support/fixlinks f 755
+support/install.sh f 755
+support/texi2dvi f 755
+support/texi2html f 755
+support/xenix-link.sh f 755
+support/shobj-conf f 755
+support/rlvers.sh f 755
+examples/INDEX.txt f
+examples/INDEX.html f
+examples/obashdb/PERMISSION f
+examples/obashdb/README f
+examples/obashdb/bashdb f
+examples/obashdb/bashdb.el f
+examples/complete/bash_completion f
+examples/complete/complete-examples f
+examples/complete/complete.ianmac f
+examples/complete/complete2.ianmac f
+examples/complete/complete.freebsd f
+examples/complete/complete.gnu-longopt f
+examples/complete/bashcc-1.0.1.tar.gz f
+examples/loadables/README f
+examples/loadables/template.c f
+examples/loadables/Makefile.in f
+examples/loadables/necho.c f
+examples/loadables/hello.c f
+examples/loadables/print.c f
+examples/loadables/realpath.c f
+examples/loadables/sleep.c f
+examples/loadables/strftime.c f
+examples/loadables/truefalse.c f
+examples/loadables/getconf.h f
+examples/loadables/getconf.c f
+examples/loadables/finfo.c f
+examples/loadables/cat.c f
+examples/loadables/cut.c f
+examples/loadables/logname.c f
+examples/loadables/basename.c f
+examples/loadables/dirname.c f
+examples/loadables/tty.c f
+examples/loadables/pathchk.c f
+examples/loadables/tee.c f
+examples/loadables/rmdir.c f
+examples/loadables/head.c f
+examples/loadables/printenv.c f
+examples/loadables/push.c f
+examples/loadables/id.c f
+examples/loadables/whoami.c f
+examples/loadables/uname.c f
+examples/loadables/sync.c f
+examples/loadables/mkdir.c f
+examples/loadables/ln.c f
+examples/loadables/mypid.c f
+examples/loadables/unlink.c f
+examples/loadables/perl/Makefile.in f
+examples/loadables/perl/README f
+examples/loadables/perl/bperl.c f
+examples/loadables/perl/iperl.c f
+examples/functions/array-stuff f
+examples/functions/array-to-string f
+examples/functions/autoload f
+examples/functions/autoload.v2 f
+examples/functions/autoload.v3 f
+examples/functions/basename f
+examples/functions/basename2 f
+examples/functions/coproc.bash f
+examples/functions/coshell.README f
+examples/functions/coshell.bash f
+examples/functions/csh-compat f
+examples/functions/dirfuncs f
+examples/functions/dirname f
+examples/functions/emptydir f
+examples/functions/exitstat f
+examples/functions/external f
+examples/functions/fact f
+examples/functions/fstty f
+examples/functions/func f
+examples/functions/gethtml f
+examples/functions/getoptx.bash f
+examples/functions/inetaddr f
+examples/functions/inpath f
+examples/functions/isnum.bash f
+examples/functions/isnum2 f
+examples/functions/isvalidip f
+examples/functions/jdate.bash f
+examples/functions/jj.bash f
+examples/functions/keep f
+examples/functions/ksh-cd f
+examples/functions/ksh-compat-test f
+examples/functions/kshenv f
+examples/functions/login f
+examples/functions/lowercase f
+examples/functions/manpage f
+examples/functions/mhfold f
+examples/functions/notify.bash f
+examples/functions/pathfuncs f
+examples/functions/recurse f
+examples/functions/repeat2 f
+examples/functions/repeat3 f
+examples/functions/seq f
+examples/functions/seq2 f
+examples/functions/shcat f
+examples/functions/shcat2 f
+examples/functions/sort-pos-params f
+examples/functions/substr f
+examples/functions/substr2 f
+examples/functions/term f
+examples/functions/whatis f
+examples/functions/whence f
+examples/functions/which f
+examples/functions/xalias.bash f
+examples/functions/xfind.bash f
+examples/scripts/adventure.sh f
+examples/scripts/bcsh.sh f
+examples/scripts/cat.sh f
+examples/scripts/center f
+examples/scripts/dd-ex.sh f
+examples/scripts/fixfiles.bash f
+examples/scripts/hanoi.bash f
+examples/scripts/inpath f
+examples/scripts/krand.bash f
+examples/scripts/line-input.bash f
+examples/scripts/nohup.bash f
+examples/scripts/precedence f
+examples/scripts/randomcard.bash f
+examples/scripts/scrollbar f
+examples/scripts/scrollbar2 f
+examples/scripts/self-repro f
+examples/scripts/showperm.bash f
+examples/scripts/shprompt f
+examples/scripts/spin.bash f
+examples/scripts/timeout f
+examples/scripts/timeout2 f
+examples/scripts/timeout3 f
+examples/scripts/vtree2 f
+examples/scripts/vtree3 f
+examples/scripts/vtree3a f
+examples/scripts/websrv.sh f
+examples/scripts/xterm_title f
+examples/scripts/zprintf f
+examples/startup-files/README f
+examples/startup-files/Bashrc.bfox f
+examples/startup-files/Bash_aliases f
+examples/startup-files/Bash_profile f
+examples/startup-files/bash-profile f
+examples/startup-files/bashrc f
+examples/startup-files/apple/README f
+examples/startup-files/apple/aliases f
+examples/startup-files/apple/bash.defaults f
+examples/startup-files/apple/environment f
+examples/startup-files/apple/login f
+examples/startup-files/apple/logout f
+examples/startup-files/apple/rc f
+examples/misc/suncmd.termcap f
+examples/misc/aliasconv.sh f
+examples/misc/aliasconv.bash f
+examples/misc/cshtobash f
+tests/README f
+tests/COPYRIGHT f
+tests/alias.tests f
+tests/alias.right f
+tests/appendop.tests f
+tests/appendop.right f
+tests/arith-for.tests f
+tests/arith-for.right f
+tests/arith.tests f
+tests/arith.right f
+tests/arith1.sub f
+tests/arith2.sub f
+tests/array.tests f
+tests/array.right f
+tests/array1.sub f
+tests/array2.sub f
+tests/array3.sub f
+tests/array4.sub f
+tests/array5.sub f
+tests/array6.sub f
+tests/array7.sub f
+tests/array8.sub f
+tests/array9.sub f
+tests/array-at-star f
+tests/array2.right f
+tests/assoc.tests f
+tests/assoc.right f
+tests/assoc1.sub f
+tests/assoc2.sub f
+tests/assoc3.sub f
+tests/assoc4.sub f
+tests/assoc5.sub f
+tests/braces.tests f
+tests/braces.right f
+tests/builtins.tests f
+tests/builtins.right f
+tests/builtins1.sub f
+tests/builtins2.sub f
+tests/source1.sub f
+tests/source2.sub f
+tests/source3.sub f
+tests/source4.sub f
+tests/source5.sub f
+tests/source6.sub f
+tests/case.tests f
+tests/case.right f
+tests/casemod.tests f
+tests/casemod.right f
+tests/comsub.tests f
+tests/comsub.right f
+tests/comsub-eof.tests f
+tests/comsub-eof0.sub f
+tests/comsub-eof1.sub f
+tests/comsub-eof2.sub f
+tests/comsub-eof3.sub f
+tests/comsub-eof.right f
+tests/comsub-posix.tests f
+tests/comsub-posix.right f
+tests/comsub-posix1.sub f
+tests/cond.tests f
+tests/cond.right f
+tests/cond-regexp.sub f
+tests/coproc.tests f
+tests/coproc.right f
+tests/cprint.tests f
+tests/cprint.right f
+tests/dbg-support.right f
+tests/dbg-support.sub f
+tests/dbg-support.tests f
+tests/dbg-support2.right f
+tests/dbg-support2.tests f
+tests/dbg-support3.sub f
+tests/dollar-at-star f
+tests/dollar-at1.sub f
+tests/dollar-at2.sub f
+tests/dollar-star1.sub f
+tests/dollar-star2.sub f
+tests/dollar-star3.sub f
+tests/dollar.right f
+tests/dstack.tests f
+tests/dstack.right f
+tests/dstack2.tests f
+tests/dstack2.right f
+tests/errors.tests f
+tests/errors.right f
+tests/execscript f
+tests/exec.right f
+tests/exec1.sub f 755
+tests/exec2.sub f
+tests/exec3.sub f
+tests/exec4.sub f
+tests/exec5.sub f
+tests/exec6.sub f
+tests/exec7.sub f
+tests/exec8.sub f
+tests/exp.tests f
+tests/exp.right f
+tests/exp1.sub f
+tests/exp2.sub f
+tests/extglob.tests f
+tests/extglob.right f
+tests/extglob1.sub f
+tests/extglob2.tests f
+tests/extglob2.right f
+tests/extglob3.tests f
+tests/extglob3.right f
+tests/func.tests f
+tests/func.right f
+tests/func1.sub f
+tests/func2.sub f
+tests/func3.sub f
+tests/getopts.tests f
+tests/getopts.right f
+tests/getopts1.sub f
+tests/getopts2.sub f
+tests/getopts3.sub f
+tests/getopts4.sub f
+tests/getopts5.sub f
+tests/getopts6.sub f
+tests/getopts7.sub f
+tests/glob-test f
+tests/glob1.sub f
+tests/glob.right f
+tests/heredoc.tests f
+tests/heredoc.right f
+tests/heredoc1.sub f
+tests/herestr.tests f
+tests/herestr.right f
+tests/histexp.tests f
+tests/histexp.right f
+tests/history.tests f
+tests/history.right f
+tests/history.list f 444
+tests/history1.sub f
+tests/ifs.tests f
+tests/ifs.right f
+tests/ifs-posix.tests f
+tests/ifs-posix.right f
+tests/input-line.sh f
+tests/input-line.sub f
+tests/input.right f
+tests/intl.tests f
+tests/intl1.sub f
+tests/intl.right f
+tests/iquote.tests f
+tests/iquote.right f
+tests/invert.tests f
+tests/invert.right f
+tests/jobs.tests f
+tests/jobs1.sub f
+tests/jobs2.sub f
+tests/jobs3.sub f
+tests/jobs4.sub f
+tests/jobs.right f
+tests/mapfile.data f
+tests/mapfile.right f
+tests/mapfile.tests f
+tests/mapfile1.sub f
+tests/more-exp.tests f
+tests/more-exp.right f
+tests/new-exp.tests f
+tests/new-exp1.sub f
+tests/new-exp2.sub f
+tests/new-exp3.sub f
+tests/new-exp4.sub f
+tests/new-exp5.sub f
+tests/new-exp6.sub f
+tests/new-exp7.sub f
+tests/new-exp.right f
+tests/nquote.tests f
+tests/nquote.right f
+tests/nquote1.tests f
+tests/nquote1.right f
+tests/nquote2.tests f
+tests/nquote2.right f
+tests/nquote3.tests f
+tests/nquote3.right f
+tests/nquote4.tests f
+tests/nquote4.right f
+tests/nquote5.tests f
+tests/nquote5.right f
+tests/posix2.tests f
+tests/posix2.right f
+tests/posixpat.tests f
+tests/posixpat.right f
+tests/prec.right f
+tests/precedence f
+tests/printf.tests f
+tests/printf.right f
+tests/printf2.sub f
+tests/quote.tests f
+tests/quote.right f
+tests/read.tests f
+tests/read.right f
+tests/read1.sub f
+tests/read2.sub f
+tests/read3.sub f
+tests/read4.sub f
+tests/read5.sub f
+tests/read6.sub f
+tests/redir.tests f
+tests/redir.right f
+tests/redir1.sub f
+tests/redir2.sub f
+tests/redir3.sub f
+tests/redir3.in1 f
+tests/redir3.in2 f
+tests/redir4.sub f
+tests/redir4.in1 f
+tests/redir5.sub f
+tests/redir6.sub f
+tests/redir7.sub f
+tests/redir8.sub f
+tests/redir9.sub f
+tests/rhs-exp.tests f
+tests/rhs-exp.right f
+tests/rsh.tests f
+tests/rsh.right f
+tests/run-all f
+tests/run-minimal f
+tests/run-alias f
+tests/run-appendop f
+tests/run-arith-for f
+tests/run-arith f
+tests/run-array f
+tests/run-array2 f
+tests/run-assoc f
+tests/run-braces f
+tests/run-builtins f
+tests/run-case f
+tests/run-casemod f
+tests/run-comsub f
+tests/run-comsub-eof f
+tests/run-comsub-posix f
+tests/run-cond f
+tests/run-coproc f
+tests/run-cprint f
+tests/run-dbg-support f
+tests/run-dbg-support2 f
+tests/run-dirstack f
+tests/run-dollars f
+tests/run-errors f
+tests/run-execscript f
+tests/run-exp-tests f
+tests/run-extglob f
+tests/run-extglob2 f
+tests/run-extglob3 f
+tests/run-func f
+tests/run-getopts f
+tests/run-glob-test f
+tests/run-heredoc f
+tests/run-herestr f
+tests/run-histexpand f
+tests/run-history f
+tests/run-ifs f
+tests/run-ifs-posix f
+tests/run-input-test f
+tests/run-intl f
+tests/run-iquote f
+tests/run-invert f
+tests/run-jobs f
+tests/run-mapfile f
+tests/run-more-exp f
+tests/run-new-exp f
+tests/run-nquote f
+tests/run-nquote1 f
+tests/run-nquote2 f
+tests/run-nquote3 f
+tests/run-nquote4 f
+tests/run-nquote5 f
+tests/run-posix2 f
+tests/run-posixpat f
+tests/run-precedence f
+tests/run-printf f
+tests/run-quote f
+tests/run-read f
+tests/run-redir f
+tests/run-rhs-exp f
+tests/run-rsh f
+tests/run-set-e f
+tests/run-set-x f
+tests/run-shopt f
+tests/run-strip f
+tests/run-test f
+tests/run-tilde f
+tests/run-tilde2 f
+tests/run-trap f
+tests/run-type f
+tests/run-varenv f
+tests/set-e.tests f
+tests/set-e1.sub f
+tests/set-e2.sub f
+tests/set-e.right f
+tests/set-x.tests f
+tests/set-x.right f
+tests/shopt.tests f
+tests/shopt.right f
+tests/strip.tests f
+tests/strip.right f
+tests/test.tests f
+tests/test.right f
+tests/tilde.tests f
+tests/tilde.right f
+tests/tilde2.tests f
+tests/tilde2.right f
+tests/trap.tests f
+tests/trap.right f
+tests/trap1.sub f 755
+tests/trap2.sub f 755
+tests/trap2a.sub f 755
+tests/type.tests f
+tests/type.right f
+tests/type1.sub f
+tests/type2.sub f
+tests/varenv.right f
+tests/varenv.sh f
+tests/varenv1.sub f
+tests/varenv2.sub f
+tests/version f
+tests/version.mini f
+tests/misc/dev-tcp.tests f
+tests/misc/perf-script f
+tests/misc/perftest f
+tests/misc/read-nchars.tests f
+tests/misc/redir-t2.sh f
+tests/misc/run-r2.sh f
+tests/misc/sigint-1.sh f
+tests/misc/sigint-2.sh f
+tests/misc/sigint-3.sh f
+tests/misc/sigint-4.sh f
+tests/misc/test-minus-e.1 f
+tests/misc/test-minus-e.2 f
+tests/misc/wait-bg.tests f
+examples/scripts.v2/PERMISSION f
+examples/scripts.v2/README f
+examples/scripts.v2/arc2tarz f
+examples/scripts.v2/bashrand f
+examples/scripts.v2/cal2day.bash f
+examples/scripts.v2/cdhist.bash f
+examples/scripts.v2/corename f
+examples/scripts.v2/fman f
+examples/scripts.v2/frcp f
+examples/scripts.v2/lowercase f
+examples/scripts.v2/ncp f
+examples/scripts.v2/newext f
+examples/scripts.v2/nmv f
+examples/scripts.v2/pages f
+examples/scripts.v2/pf f
+examples/scripts.v2/ren f
+examples/scripts.v2/rename f
+examples/scripts.v2/repeat f
+examples/scripts.v2/untar f
+examples/scripts.v2/uudec f
+examples/scripts.v2/uuenc f
+examples/scripts.v2/vtree f
+examples/scripts.v2/where f
+examples/scripts.v2/pmtop f
+examples/scripts.v2/shprof f
+examples/scripts.noah/PERMISSION f
+examples/scripts.noah/README f
+examples/scripts.noah/aref.bash f
+examples/scripts.noah/bash.sub.bash f
+examples/scripts.noah/bash_version.bash f
+examples/scripts.noah/meta.bash f
+examples/scripts.noah/mktmp.bash f
+examples/scripts.noah/number.bash f
+examples/scripts.noah/prompt.bash f
+examples/scripts.noah/remap_keys.bash f
+examples/scripts.noah/require.bash f
+examples/scripts.noah/send_mail.bash f
+examples/scripts.noah/shcat.bash f
+examples/scripts.noah/source.bash f
+examples/scripts.noah/string.bash f
+examples/scripts.noah/stty.bash f
+examples/scripts.noah/y_or_n_p.bash f
char *t, *lhs, *rhs;
int i, lhs_t, rhs_t, lhs_v, rhs_v, incr, lhs_l, rhs_l, width;
intmax_t tl, tr;
- char **result, *ep;
+ char **result, *ep, *oep;
t = strstr (text, BRACE_SEQ_SPECIFIER);
if (t == 0)
incr = 1;
if (rhs_t != ST_BAD)
{
+ oep = ep;
if (ep && *ep == '.' && ep[1] == '.' && ep[2])
incr = strtoimax (ep + 2, &ep, 10);
if (*ep != 0)
rhs_t = ST_BAD; /* invalid incr */
+ tlen -= ep - oep;
}
if (lhs_t != rhs_t || lhs_t == ST_BAD || rhs_t == ST_BAD)
code = setjmp (alrmbuf);
if (code)
{
-#if 0
+ /* Tricky. The top of the unwind-protect stack is the free of
+ input_string. We want to run all the rest and use input_string,
+ so we have to remove it from the stack. */
+ remove_unwind_protect ();
run_unwind_frame ("read_builtin");
- return (EXECUTION_FAILURE);
-#else
input_string[i] = '\0'; /* make sure it's terminated */
- retval = 128+SIGALRM;;
+ retval = 128+SIGALRM;
goto assign_vars;
-#endif
}
old_alrm = set_signal_handler (SIGALRM, sigalrm);
add_unwind_protect (reset_alarm, (char *)NULL);
--- /dev/null
+*** /fs1/chet/scratch/bash-4.0-patched/parse.y 2009-03-07 15:18:35.000000000 -0500
+--- parse.y 2009-03-07 14:16:32.000000000 -0500
+***************
+*** 3404,3423 ****
+ {
+ tflags |= LEX_INCASE;
+! /*itrace("parse_comsub:%d: found `case', lex_incase -> 1", line_number);*/
+ }
+ else if (STREQN (ret + retind - 4, "esac", 4))
+ {
+ tflags &= ~LEX_INCASE;
+! /*itrace("parse_comsub:%d: found `esac', lex_incase -> 0", line_number);*/
+ }
+ tflags &= ~LEX_RESWDOK;
+ }
+! else if (shellbreak (ch) == 0)
+ {
+! tflags &= ~LEX_RESWDOK;
+ /*itrace("parse_comsub:%d: found `%c', lex_reswordok -> 0", line_number, ch);*/
+ }
+ }
+
+ if MBTEST((tflags & LEX_INCOMMENT) == 0 && (tflags & LEX_CKCASE) && ch == '<')
+ {
+--- 3407,3439 ----
+ {
+ tflags |= LEX_INCASE;
+! /*itrace("parse_comsub:%d: found `case', lex_incase -> 1 lex_reswdok -> 0", line_number);*/
+ }
+ else if (STREQN (ret + retind - 4, "esac", 4))
+ {
+ tflags &= ~LEX_INCASE;
+! /*itrace("parse_comsub:%d: found `esac', lex_incase -> 0 lex_reswdok -> 0", line_number);*/
+ }
+ tflags &= ~LEX_RESWDOK;
+ }
+! else if MBTEST((tflags & LEX_CKCOMMENT) && ch == '#' && (lex_rwlen == 0 || ((tflags & LEX_INWORD) && lex_wlen == 0)))
+! ; /* don't modify LEX_RESWDOK if we're starting a comment */
+! else if MBTEST((tflags & LEX_INCASE) && ch != '\n')
+! /* If we can read a reserved word and we're in case, we're at the
+! point where we can read a new pattern list or an esac. We
+! handle the esac case above. If we read a newline, we want to
+! leave LEX_RESWDOK alone. If we read anything else, we want to
+! turn off LEX_RESWDOK, since we're going to read a pattern list. */
+ {
+! tflags &= ~LEX_RESWDOK;
+! /*itrace("parse_comsub:%d: lex_incase == 1 found `%c', lex_reswordok -> 0", line_number, ch);*/
+! }
+! else if MBTEST(shellbreak (ch) == 0)
+! {
+! tflags &= ~LEX_RESWDOK;
+ /*itrace("parse_comsub:%d: found `%c', lex_reswordok -> 0", line_number, ch);*/
+ }
+ }
+
++ /* Might be the start of a here-doc delimiter */
+ if MBTEST((tflags & LEX_INCOMMENT) == 0 && (tflags & LEX_CKCASE) && ch == '<')
+ {
_\bJ_\bo_\bb _\bc_\bo_\bn_\bt_\br_\bo_\bl refers to the ability to selectively stop (_\bs_\bu_\bs_\bp_\be_\bn_\bd) the
execution of processes and continue (_\br_\be_\bs_\bu_\bm_\be) their execution at a later
point. A user typically employs this facility via an interactive
- interface supplied jointly by the system's terminal driver and b\bba\bas\bsh\bh.
+ interface supplied jointly by the operating system kernel's terminal
+ driver and b\bba\bas\bsh\bh.
- The shell associates a _\bj_\bo_\bb with each pipeline. It keeps a table of
- currently executing jobs, which may be listed with the j\bjo\bob\bbs\bs command.
- When b\bba\bas\bsh\bh starts a job asynchronously (in the _\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd), it prints a
+ The shell associates a _\bj_\bo_\bb with each pipeline. It keeps a table of
+ currently executing jobs, which may be listed with the j\bjo\bob\bbs\bs command.
+ When b\bba\bas\bsh\bh starts a job asynchronously (in the _\bb_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd), it prints a
line that looks like:
[1] 25647
indicating that this job is job number 1 and that the process ID of the
last process in the pipeline associated with this job is 25647. All of
- the processes in a single pipeline are members of the same job. B\bBa\bas\bsh\bh
+ the processes in a single pipeline are members of the same job. B\bBa\bas\bsh\bh
uses the _\bj_\bo_\bb abstraction as the basis for job control.
- To facilitate the implementation of the user interface to job control,
+ To facilitate the implementation of the user interface to job control,
the operating system maintains the notion of a _\bc_\bu_\br_\br_\be_\bn_\bt _\bt_\be_\br_\bm_\bi_\bn_\ba_\bl _\bp_\br_\bo_\bc_\be_\bs_\bs
_\bg_\br_\bo_\bu_\bp _\bI_\bD. Members of this process group (processes whose process group
ID is equal to the current terminal process group ID) receive keyboard-
- generated signals such as S\bSI\bIG\bGI\bIN\bNT\bT. These processes are said to be in
- the _\bf_\bo_\br_\be_\bg_\br_\bo_\bu_\bn_\bd. _\bB_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd processes are those whose process group ID
+ generated signals such as S\bSI\bIG\bGI\bIN\bNT\bT. These processes are said to be in
+ the _\bf_\bo_\br_\be_\bg_\br_\bo_\bu_\bn_\bd. _\bB_\ba_\bc_\bk_\bg_\br_\bo_\bu_\bn_\bd processes are those whose process group ID
differs from the terminal's; such processes are immune to keyboard-gen-
- erated signals. Only foreground processes are allowed to read from or
- write to the terminal. Background processes which attempt to read from
- (write to) the terminal are sent a S\bSI\bIG\bGT\bTT\bTI\bIN\bN (\b(S\bSI\bIG\bGT\bTT\bTO\bOU\bU)\b) signal by the ter-
- minal driver, which, unless caught, suspends the process.
-
- If the operating system on which b\bba\bas\bsh\bh is running supports job control,
+ erated signals. Only foreground processes are allowed to read from or,
+ if the user so specifies with stty tostop, write to the terminal.
+ Background processes which attempt to read from (write to when stty
+ tostop is in effect) the terminal are sent a S\bSI\bIG\bGT\bTT\bTI\bIN\bN (\b(S\bSI\bIG\bGT\bTT\bTO\bOU\bU)\b) signal
+ by the kernel's terminal driver, which, unless caught, suspends the
+ process.
+
+ If the operating system on which b\bba\bas\bsh\bh is running supports job control,
b\bba\bas\bsh\bh contains facilities to use it. Typing the _\bs_\bu_\bs_\bp_\be_\bn_\bd character (typ-
ically ^\b^Z\bZ, Control-Z) while a process is running causes that process to
- be stopped and returns control to b\bba\bas\bsh\bh. Typing the _\bd_\be_\bl_\ba_\by_\be_\bd _\bs_\bu_\bs_\bp_\be_\bn_\bd
- character (typically ^\b^Y\bY, Control-Y) causes the process to be stopped
- when it attempts to read input from the terminal, and control to be
- returned to b\bba\bas\bsh\bh. The user may then manipulate the state of this job,
- using the b\bbg\bg command to continue it in the background, the f\bfg\bg command
+ be stopped and returns control to b\bba\bas\bsh\bh. Typing the _\bd_\be_\bl_\ba_\by_\be_\bd _\bs_\bu_\bs_\bp_\be_\bn_\bd
+ character (typically ^\b^Y\bY, Control-Y) causes the process to be stopped
+ when it attempts to read input from the terminal, and control to be
+ returned to b\bba\bas\bsh\bh. The user may then manipulate the state of this job,
+ using the b\bbg\bg command to continue it in the background, the f\bfg\bg command
to continue it in the foreground, or the k\bki\bil\bll\bl command to kill it. A ^\b^Z\bZ
takes effect immediately, and has the additional side effect of causing
pending output and typeahead to be discarded.
There are a number of ways to refer to a job in the shell. The charac-
- ter %\b% introduces a job specification (_\bj_\bo_\bb_\bs_\bp_\be_\bc). Job number _\bn may be
+ ter %\b% introduces a job specification (_\bj_\bo_\bb_\bs_\bp_\be_\bc). Job number _\bn may be
referred to as %\b%n\bn. A job may also be referred to using a prefix of the
name used to start it, or using a substring that appears in its command
- line. For example, %\b%c\bce\be refers to a stopped c\bce\be job. If a prefix
- matches more than one job, b\bba\bas\bsh\bh reports an error. Using %\b%?\b?c\bce\be, on the
- other hand, refers to any job containing the string c\bce\be in its command
- line. If the substring matches more than one job, b\bba\bas\bsh\bh reports an
- error. The symbols %\b%%\b% and %\b%+\b+ refer to the shell's notion of the _\bc_\bu_\br_\b-
- _\br_\be_\bn_\bt _\bj_\bo_\bb, which is the last job stopped while it was in the foreground
+ line. For example, %\b%c\bce\be refers to a stopped c\bce\be job. If a prefix
+ matches more than one job, b\bba\bas\bsh\bh reports an error. Using %\b%?\b?c\bce\be, on the
+ other hand, refers to any job containing the string c\bce\be in its command
+ line. If the substring matches more than one job, b\bba\bas\bsh\bh reports an
+ error. The symbols %\b%%\b% and %\b%+\b+ refer to the shell's notion of the _\bc_\bu_\br_\b-
+ _\br_\be_\bn_\bt _\bj_\bo_\bb, which is the last job stopped while it was in the foreground
or started in the background. The _\bp_\br_\be_\bv_\bi_\bo_\bu_\bs _\bj_\bo_\bb may be referenced using
%\b%-\b-. If there is only a single job, %\b%+\b+ and %\b%-\b- can both be used to refer
- to that job. In output pertaining to jobs (e.g., the output of the
+ to that job. In output pertaining to jobs (e.g., the output of the
j\bjo\bob\bbs\bs command), the current job is always flagged with a +\b+, and the pre-
- vious job with a -\b-. A single % (with no accompanying job specifica-
+ vious job with a -\b-. A single % (with no accompanying job specifica-
tion) also refers to the current job.
- Simply naming a job can be used to bring it into the foreground: %\b%1\b1 is
- a synonym for `\b``\b`f\bfg\bg %\b%1\b1'\b''\b', bringing job 1 from the background into the
- foreground. Similarly, `\b``\b`%\b%1\b1 &\b&'\b''\b' resumes job 1 in the background,
+ Simply naming a job can be used to bring it into the foreground: %\b%1\b1 is
+ a synonym for `\b``\b`f\bfg\bg %\b%1\b1'\b''\b', bringing job 1 from the background into the
+ foreground. Similarly, `\b``\b`%\b%1\b1 &\b&'\b''\b' resumes job 1 in the background,
equivalent to `\b``\b`b\bbg\bg %\b%1\b1'\b''\b'.
- The shell learns immediately whenever a job changes state. Normally,
+ The shell learns immediately whenever a job changes state. Normally,
b\bba\bas\bsh\bh waits until it is about to print a prompt before reporting changes
- in a job's status so as to not interrupt any other output. If the -\b-b\bb
+ in a job's status so as to not interrupt any other output. If the -\b-b\bb
option to the s\bse\bet\bt builtin command is enabled, b\bba\bas\bsh\bh reports such changes
- immediately. Any trap on S\bSI\bIG\bGC\bCH\bHL\bLD\bD is executed for each child that
+ immediately. Any trap on S\bSI\bIG\bGC\bCH\bHL\bLD\bD is executed for each child that
exits.
- If an attempt to exit b\bba\bas\bsh\bh is made while jobs are stopped (or, if the
- c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs shell option has been enabled using the s\bsh\bho\bop\bpt\bt builtin, run-
+ If an attempt to exit b\bba\bas\bsh\bh is made while jobs are stopped (or, if the
+ c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs shell option has been enabled using the s\bsh\bho\bop\bpt\bt builtin, run-
ning), the shell prints a warning message, and, if the c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs option
- is enabled, lists the jobs and their statuses. The j\bjo\bob\bbs\bs command may
- then be used to inspect their status. If a second attempt to exit is
- made without an intervening command, the shell does not print another
+ is enabled, lists the jobs and their statuses. The j\bjo\bob\bbs\bs command may
+ then be used to inspect their status. If a second attempt to exit is
+ made without an intervening command, the shell does not print another
warning, and any stopped jobs are terminated.
P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
When executing interactively, b\bba\bas\bsh\bh displays the primary prompt P\bPS\bS1\b1 when
- it is ready to read a command, and the secondary prompt P\bPS\bS2\b2 when it
- needs more input to complete a command. B\bBa\bas\bsh\bh allows these prompt
- strings to be customized by inserting a number of backslash-escaped
+ it is ready to read a command, and the secondary prompt P\bPS\bS2\b2 when it
+ needs more input to complete a command. B\bBa\bas\bsh\bh allows these prompt
+ strings to be customized by inserting a number of backslash-escaped
special characters that are decoded as follows:
\\b\a\ba an ASCII bell character (07)
- \\b\d\bd the date in "Weekday Month Date" format (e.g., "Tue May
+ \\b\d\bd the date in "Weekday Month Date" format (e.g., "Tue May
26")
\\b\D\bD{\b{_\bf_\bo_\br_\bm_\ba_\bt}\b}
- the _\bf_\bo_\br_\bm_\ba_\bt is passed to _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) and the result is
- inserted into the prompt string; an empty _\bf_\bo_\br_\bm_\ba_\bt results
+ the _\bf_\bo_\br_\bm_\ba_\bt is passed to _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) and the result is
+ inserted into the prompt string; an empty _\bf_\bo_\br_\bm_\ba_\bt results
in a locale-specific time representation. The braces are
required
\\b\e\be an ASCII escape character (033)
\\b\l\bl the basename of the shell's terminal device name
\\b\n\bn newline
\\b\r\br carriage return
- \\b\s\bs the name of the shell, the basename of $\b$0\b0 (the portion
+ \\b\s\bs the name of the shell, the basename of $\b$0\b0 (the portion
following the final slash)
\\b\t\bt the current time in 24-hour HH:MM:SS format
\\b\T\bT the current time in 12-hour HH:MM:SS format
\\b\u\bu the username of the current user
\\b\v\bv the version of b\bba\bas\bsh\bh (e.g., 2.00)
\\b\V\bV the release of b\bba\bas\bsh\bh, version + patch level (e.g., 2.00.0)
- \\b\w\bw the current working directory, with $\b$H\bHO\bOM\bME\bE abbreviated
+ \\b\w\bw the current working directory, with $\b$H\bHO\bOM\bME\bE abbreviated
with a tilde (uses the $\b$P\bPR\bRO\bOM\bMP\bPT\bT_\b_D\bDI\bIR\bRT\bTR\bRI\bIM\bM variable)
\\b\W\bW the basename of the current working directory, with $\b$H\bHO\bOM\bME\bE
abbreviated with a tilde
\\b\$\b$ if the effective UID is 0, a #\b#, otherwise a $\b$
\\b\_\bn_\bn_\bn the character corresponding to the octal number _\bn_\bn_\bn
\\b\\\b\ a backslash
- \\b\[\b[ begin a sequence of non-printing characters, which could
- be used to embed a terminal control sequence into the
+ \\b\[\b[ begin a sequence of non-printing characters, which could
+ be used to embed a terminal control sequence into the
prompt
\\b\]\b] end a sequence of non-printing characters
- The command number and the history number are usually different: the
- history number of a command is its position in the history list, which
- may include commands restored from the history file (see H\bHI\bIS\bST\bTO\bOR\bRY\bY
- below), while the command number is the position in the sequence of
- commands executed during the current shell session. After the string
- is decoded, it is expanded via parameter expansion, command substitu-
- tion, arithmetic expansion, and quote removal, subject to the value of
- the p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs shell option (see the description of the s\bsh\bho\bop\bpt\bt command
+ The command number and the history number are usually different: the
+ history number of a command is its position in the history list, which
+ may include commands restored from the history file (see H\bHI\bIS\bST\bTO\bOR\bRY\bY
+ below), while the command number is the position in the sequence of
+ commands executed during the current shell session. After the string
+ is decoded, it is expanded via parameter expansion, command substitu-
+ tion, arithmetic expansion, and quote removal, subject to the value of
+ the p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs shell option (see the description of the s\bsh\bho\bop\bpt\bt command
under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
- This is the library that handles reading input when using an interac-
+ This is the library that handles reading input when using an interac-
tive shell, unless the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option is given at shell invocation.
Line editing is also used when using the -\b-e\be option to the r\bre\bea\bad\bd builtin.
By default, the line editing commands are similar to those of emacs. A
vi-style line editing interface is also available. Line editing can be
- enabled at any time using the -\b-o\bo e\bem\bma\bac\bcs\bs or -\b-o\bo v\bvi\bi options to the s\bse\bet\bt
- builtin (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). To turn off line editing
- after the shell is running, use the +\b+o\bo e\bem\bma\bac\bcs\bs or +\b+o\bo v\bvi\bi options to the
+ enabled at any time using the -\b-o\bo e\bem\bma\bac\bcs\bs or -\b-o\bo v\bvi\bi options to the s\bse\bet\bt
+ builtin (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). To turn off line editing
+ after the shell is running, use the +\b+o\bo e\bem\bma\bac\bcs\bs or +\b+o\bo v\bvi\bi options to the
s\bse\bet\bt builtin.
R\bRe\bea\bad\bdl\bli\bin\bne\be N\bNo\bot\bta\bat\bti\bio\bon\bn
In this section, the emacs-style notation is used to denote keystrokes.
- Control keys are denoted by C-_\bk_\be_\by, e.g., C-n means Control-N. Simi-
- larly, _\bm_\be_\bt_\ba keys are denoted by M-_\bk_\be_\by, so M-x means Meta-X. (On key-
- boards without a _\bm_\be_\bt_\ba key, M-_\bx means ESC _\bx, i.e., press the Escape key
+ Control keys are denoted by C-_\bk_\be_\by, e.g., C-n means Control-N. Simi-
+ larly, _\bm_\be_\bt_\ba keys are denoted by M-_\bk_\be_\by, so M-x means Meta-X. (On key-
+ boards without a _\bm_\be_\bt_\ba key, M-_\bx means ESC _\bx, i.e., press the Escape key
then the _\bx key. This makes ESC the _\bm_\be_\bt_\ba _\bp_\br_\be_\bf_\bi_\bx. The combination M-C-_\bx
- means ESC-Control-_\bx, or press the Escape key then hold the Control key
+ means ESC-Control-_\bx, or press the Escape key then hold the Control key
while pressing the _\bx key.)
Readline commands may be given numeric _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, which normally act as
- a repeat count. Sometimes, however, it is the sign of the argument
- that is significant. Passing a negative argument to a command that
- acts in the forward direction (e.g., k\bki\bil\bll\bl-\b-l\bli\bin\bne\be) causes that command to
- act in a backward direction. Commands whose behavior with arguments
+ a repeat count. Sometimes, however, it is the sign of the argument
+ that is significant. Passing a negative argument to a command that
+ acts in the forward direction (e.g., k\bki\bil\bll\bl-\b-l\bli\bin\bne\be) causes that command to
+ act in a backward direction. Commands whose behavior with arguments
deviates from this are noted below.
- When a command is described as _\bk_\bi_\bl_\bl_\bi_\bn_\bg text, the text deleted is saved
+ When a command is described as _\bk_\bi_\bl_\bl_\bi_\bn_\bg text, the text deleted is saved
for possible future retrieval (_\by_\ba_\bn_\bk_\bi_\bn_\bg). The killed text is saved in a
_\bk_\bi_\bl_\bl _\br_\bi_\bn_\bg. Consecutive kills cause the text to be accumulated into one
unit, which can be yanked all at once. Commands which do not kill text
separate the chunks of text on the kill ring.
R\bRe\bea\bad\bdl\bli\bin\bne\be I\bIn\bni\bit\bti\bia\bal\bli\biz\bza\bat\bti\bio\bon\bn
- Readline is customized by putting commands in an initialization file
- (the _\bi_\bn_\bp_\bu_\bt_\br_\bc file). The name of this file is taken from the value of
- the I\bIN\bNP\bPU\bUT\bTR\bRC\bC variable. If that variable is unset, the default is
- _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc. When a program which uses the readline library starts up,
+ Readline is customized by putting commands in an initialization file
+ (the _\bi_\bn_\bp_\bu_\bt_\br_\bc file). The name of this file is taken from the value of
+ the I\bIN\bNP\bPU\bUT\bTR\bRC\bC variable. If that variable is unset, the default is
+ _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc. When a program which uses the readline library starts up,
the initialization file is read, and the key bindings and variables are
- set. There are only a few basic constructs allowed in the readline
- initialization file. Blank lines are ignored. Lines beginning with a
- #\b# are comments. Lines beginning with a $\b$ indicate conditional con-
+ set. There are only a few basic constructs allowed in the readline
+ initialization file. Blank lines are ignored. Lines beginning with a
+ #\b# are comments. Lines beginning with a $\b$ indicate conditional con-
structs. Other lines denote key bindings and variable settings.
- The default key-bindings may be changed with an _\bi_\bn_\bp_\bu_\bt_\br_\bc file. Other
+ The default key-bindings may be changed with an _\bi_\bn_\bp_\bu_\bt_\br_\bc file. Other
programs that use this library may add their own commands and bindings.
For example, placing
M-Control-u: universal-argument
or
C-Meta-u: universal-argument
- into the _\bi_\bn_\bp_\bu_\bt_\br_\bc would make M-C-u execute the readline command _\bu_\bn_\bi_\bv_\be_\br_\b-
+ into the _\bi_\bn_\bp_\bu_\bt_\br_\bc would make M-C-u execute the readline command _\bu_\bn_\bi_\bv_\be_\br_\b-
_\bs_\ba_\bl_\b-_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.
- The following symbolic character names are recognized: _\bR_\bU_\bB_\bO_\bU_\bT, _\bD_\bE_\bL,
+ The following symbolic character names are recognized: _\bR_\bU_\bB_\bO_\bU_\bT, _\bD_\bE_\bL,
_\bE_\bS_\bC, _\bL_\bF_\bD, _\bN_\bE_\bW_\bL_\bI_\bN_\bE, _\bR_\bE_\bT, _\bR_\bE_\bT_\bU_\bR_\bN, _\bS_\bP_\bC, _\bS_\bP_\bA_\bC_\bE, and _\bT_\bA_\bB.
- In addition to command names, readline allows keys to be bound to a
+ In addition to command names, readline allows keys to be bound to a
string that is inserted when the key is pressed (a _\bm_\ba_\bc_\br_\bo).
R\bRe\bea\bad\bdl\bli\bin\bne\be K\bKe\bey\by B\bBi\bin\bnd\bdi\bin\bng\bgs\bs
- The syntax for controlling key bindings in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file is simple.
- All that is required is the name of the command or the text of a macro
- and a key sequence to which it should be bound. The name may be speci-
+ The syntax for controlling key bindings in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file is simple.
+ All that is required is the name of the command or the text of a macro
+ and a key sequence to which it should be bound. The name may be speci-
fied in one of two ways: as a symbolic key name, possibly with _\bM_\be_\bt_\ba_\b- or
_\bC_\bo_\bn_\bt_\br_\bo_\bl_\b- prefixes, or as a key sequence.
Meta-Rubout: backward-kill-word
Control-o: "> output"
- In the above example, _\bC_\b-_\bu is bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt,
- _\bM_\b-_\bD_\bE_\bL is bound to the function b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd, and _\bC_\b-_\bo is bound to
- run the macro expressed on the right hand side (that is, to insert the
+ In the above example, _\bC_\b-_\bu is bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt,
+ _\bM_\b-_\bD_\bE_\bL is bound to the function b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd, and _\bC_\b-_\bo is bound to
+ run the macro expressed on the right hand side (that is, to insert the
text ``> output'' into the line).
- In the second form, "\b"k\bke\bey\bys\bse\beq\bq"\b":_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be or _\bm_\ba_\bc_\br_\bo, k\bke\bey\bys\bse\beq\bq differs
- from k\bke\bey\byn\bna\bam\bme\be above in that strings denoting an entire key sequence may
- be specified by placing the sequence within double quotes. Some GNU
- Emacs style key escapes can be used, as in the following example, but
+ In the second form, "\b"k\bke\bey\bys\bse\beq\bq"\b":_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be or _\bm_\ba_\bc_\br_\bo, k\bke\bey\bys\bse\beq\bq differs
+ from k\bke\bey\byn\bna\bam\bme\be above in that strings denoting an entire key sequence may
+ be specified by placing the sequence within double quotes. Some GNU
+ Emacs style key escapes can be used, as in the following example, but
the symbolic character names are not recognized.
"\C-u": universal-argument
"\e[11~": "Function Key 1"
In this example, _\bC_\b-_\bu is again bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt.
- _\bC_\b-_\bx _\bC_\b-_\br is bound to the function r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be, and _\bE_\bS_\bC _\b[ _\b1 _\b1 _\b~ is
+ _\bC_\b-_\bx _\bC_\b-_\br is bound to the function r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be, and _\bE_\bS_\bC _\b[ _\b1 _\b1 _\b~ is
bound to insert the text ``Function Key 1''.
The full set of GNU Emacs style escape sequences is
\\b\"\b" literal "
\\b\'\b' literal '
- In addition to the GNU Emacs style escape sequences, a second set of
+ In addition to the GNU Emacs style escape sequences, a second set of
backslash escapes is available:
\\b\a\ba alert (bell)
\\b\b\bb backspace
\\b\r\br carriage return
\\b\t\bt horizontal tab
\\b\v\bv vertical tab
- \\b\_\bn_\bn_\bn the eight-bit character whose value is the octal value
+ \\b\_\bn_\bn_\bn the eight-bit character whose value is the octal value
_\bn_\bn_\bn (one to three digits)
- \\b\x\bx_\bH_\bH the eight-bit character whose value is the hexadecimal
+ \\b\x\bx_\bH_\bH the eight-bit character whose value is the hexadecimal
value _\bH_\bH (one or two hex digits)
When entering the text of a macro, single or double quotes must be used
to indicate a macro definition. Unquoted text is assumed to be a func-
- tion name. In the macro body, the backslash escapes described above
- are expanded. Backslash will quote any other character in the macro
+ tion name. In the macro body, the backslash escapes described above
+ are expanded. Backslash will quote any other character in the macro
text, including " and '.
- B\bBa\bas\bsh\bh allows the current readline key bindings to be displayed or modi-
- fied with the b\bbi\bin\bnd\bd builtin command. The editing mode may be switched
- during interactive use by using the -\b-o\bo option to the s\bse\bet\bt builtin com-
+ B\bBa\bas\bsh\bh allows the current readline key bindings to be displayed or modi-
+ fied with the b\bbi\bin\bnd\bd builtin command. The editing mode may be switched
+ during interactive use by using the -\b-o\bo option to the s\bse\bet\bt builtin com-
mand (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below).
R\bRe\bea\bad\bdl\bli\bin\bne\be V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs
s\bse\bet\bt _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b-_\bn_\ba_\bm_\be _\bv_\ba_\bl_\bu_\be
- Except where noted, readline variables can take the values O\bOn\bn or O\bOf\bff\bf
- (without regard to case). Unrecognized variable names are ignored.
- When a variable value is read, empty or null values, "on" (case-insen-
+ Except where noted, readline variables can take the values O\bOn\bn or O\bOf\bff\bf
+ (without regard to case). Unrecognized variable names are ignored.
+ When a variable value is read, empty or null values, "on" (case-insen-
sitive), and "1" are equivalent to O\bOn\bn. All other values are equivalent
to O\bOf\bff\bf. The variables and their default values are:
b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be (\b(a\bau\bud\bdi\bib\bbl\ble\be)\b)
- Controls what happens when readline wants to ring the terminal
+ Controls what happens when readline wants to ring the terminal
bell. If set to n\bno\bon\bne\be, readline never rings the bell. If set to
- v\bvi\bis\bsi\bib\bbl\ble\be, readline uses a visible bell if one is available. If
+ v\bvi\bis\bsi\bib\bbl\ble\be, readline uses a visible bell if one is available. If
set to a\bau\bud\bdi\bib\bbl\ble\be, readline attempts to ring the terminal's bell.
b\bbi\bin\bnd\bd-\b-t\btt\bty\by-\b-s\bsp\bpe\bec\bci\bia\bal\bl-\b-c\bch\bha\bar\brs\bs (\b(O\bOn\bn)\b)
- If set to O\bOn\bn, readline attempts to bind the control characters
+ If set to O\bOn\bn, readline attempts to bind the control characters
treated specially by the kernel's terminal driver to their read-
line equivalents.
c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn (\b(`\b``\b`#\b#'\b''\b')\b)
- The string that is inserted when the readline i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt
+ The string that is inserted when the readline i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt
command is executed. This command is bound to M\bM-\b-#\b# in emacs mode
and to #\b# in vi command mode.
c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-i\big\bgn\bno\bor\bre\be-\b-c\bca\bas\bse\be (\b(O\bOf\bff\bf)\b)
If set to O\bOn\bn, readline performs filename matching and completion
in a case-insensitive fashion.
c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-p\bpr\bre\bef\bfi\bix\bx-\b-d\bdi\bis\bsp\bpl\bla\bay\by-\b-l\ble\ben\bng\bgt\bth\bh (\b(0\b0)\b)
- The length in characters of the common prefix of a list of pos-
- sible completions that is displayed without modification. When
- set to a value greater than zero, common prefixes longer than
- this value are replaced with an ellipsis when displaying possi-
+ The length in characters of the common prefix of a list of pos-
+ sible completions that is displayed without modification. When
+ set to a value greater than zero, common prefixes longer than
+ this value are replaced with an ellipsis when displaying possi-
ble completions.
c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-q\bqu\bue\ber\bry\by-\b-i\bit\bte\bem\bms\bs (\b(1\b10\b00\b0)\b)
- This determines when the user is queried about viewing the num-
- ber of possible completions generated by the p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\be-\b-
- t\bti\bio\bon\bns\bs command. It may be set to any integer value greater than
- or equal to zero. If the number of possible completions is
+ This determines when the user is queried about viewing the num-
+ ber of possible completions generated by the p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\be-\b-
+ t\bti\bio\bon\bns\bs command. It may be set to any integer value greater than
+ or equal to zero. If the number of possible completions is
greater than or equal to the value of this variable, the user is
- asked whether or not he wishes to view them; otherwise they are
+ asked whether or not he wishes to view them; otherwise they are
simply listed on the terminal.
c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba (\b(O\bOn\bn)\b)
- If set to O\bOn\bn, readline will convert characters with the eighth
+ If set to O\bOn\bn, readline will convert characters with the eighth
bit set to an ASCII key sequence by stripping the eighth bit and
- prefixing an escape character (in effect, using escape as the
+ prefixing an escape character (in effect, using escape as the
_\bm_\be_\bt_\ba _\bp_\br_\be_\bf_\bi_\bx).
d\bdi\bis\bsa\bab\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn (\b(O\bOf\bff\bf)\b)
If set to O\bOn\bn, readline will inhibit word completion. Completion
- characters will be inserted into the line as if they had been
+ characters will be inserted into the line as if they had been
mapped to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt.
e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be (\b(e\bem\bma\bac\bcs\bs)\b)
Controls whether readline begins with a set of key bindings sim-
v\bvi\bi.
e\ben\bna\bab\bbl\ble\be-\b-k\bke\bey\byp\bpa\bad\bd (\b(O\bOf\bff\bf)\b)
When set to O\bOn\bn, readline will try to enable the application key-
- pad when it is called. Some systems need this to enable the
+ pad when it is called. Some systems need this to enable the
arrow keys.
e\bex\bxp\bpa\ban\bnd\bd-\b-t\bti\bil\bld\bde\be (\b(O\bOf\bff\bf)\b)
- If set to o\bon\bn, tilde expansion is performed when readline
+ If set to o\bon\bn, tilde expansion is performed when readline
attempts word completion.
h\bhi\bis\bst\bto\bor\bry\by-\b-p\bpr\bre\bes\bse\ber\brv\bve\be-\b-p\bpo\boi\bin\bnt\bt (\b(O\bOf\bff\bf)\b)
- If set to o\bon\bn, the history code attempts to place point at the
- same location on each history line retrieved with p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bs-\b-
+ If set to o\bon\bn, the history code attempts to place point at the
+ same location on each history line retrieved with p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bs-\b-
t\bto\bor\bry\by or n\bne\bex\bxt\bt-\b-h\bhi\bis\bst\bto\bor\bry\by.
h\bhi\bis\bst\bto\bor\bry\by-\b-s\bsi\biz\bze\be (\b(0\b0)\b)
- Set the maximum number of history entries saved in the history
+ 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.
h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bl-\b-s\bsc\bcr\bro\bol\bll\bl-\b-m\bmo\bod\bde\be (\b(O\bOf\bff\bf)\b)
- When set to O\bOn\bn, makes readline use a single line for display,
+ When set to O\bOn\bn, makes readline use a single line for display,
scrolling the input horizontally on a single screen line when it
- becomes longer than the screen width rather than wrapping to a
+ becomes longer than the screen width rather than wrapping to a
new line.
i\bin\bnp\bpu\but\bt-\b-m\bme\bet\bta\ba (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, readline will enable eight-bit input (that is, it
- will not strip the high bit from the characters it reads),
+ If set to O\bOn\bn, readline will enable eight-bit input (that is, it
+ will not strip the high bit from the characters it reads),
regardless of what the terminal claims it can support. The name
m\bme\bet\bta\ba-\b-f\bfl\bla\bag\bg is a synonym for this variable.
i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs (\b(`\b``\b`C\bC-\b-[\b[C\bC-\b-J\bJ'\b''\b')\b)
- The string of characters that should terminate an incremental
- search without subsequently executing the character as a com-
- mand. If this variable has not been given a value, the charac-
+ The string of characters that should terminate an incremental
+ search without subsequently executing the character as a com-
+ mand. If this variable has not been given a value, the charac-
ters _\bE_\bS_\bC and _\bC_\b-_\bJ will terminate an incremental search.
k\bke\bey\bym\bma\bap\bp (\b(e\bem\bma\bac\bcs\bs)\b)
- Set the current readline keymap. The set of valid keymap names
- is _\be_\bm_\ba_\bc_\bs_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b, _\bv_\bi_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\b-
- _\bm_\ba_\bn_\bd, and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt. _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd; _\be_\bm_\ba_\bc_\bs is
- equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd. The default value is _\be_\bm_\ba_\bc_\bs; the
+ Set the current readline keymap. The set of valid keymap names
+ is _\be_\bm_\ba_\bc_\bs_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b, _\bv_\bi_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\b-
+ _\bm_\ba_\bn_\bd, and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt. _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd; _\be_\bm_\ba_\bc_\bs is
+ equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd. The default value is _\be_\bm_\ba_\bc_\bs; the
value of e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be also affects the default keymap.
m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs (\b(O\bOn\bn)\b)
If set to O\bOn\bn, completed directory names have a slash appended.
m\bma\bar\brk\bk-\b-m\bmo\bod\bdi\bif\bfi\bie\bed\bd-\b-l\bli\bin\bne\bes\bs (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, history lines that have been modified are dis-
+ If set to O\bOn\bn, history lines that have been modified are dis-
played with a preceding asterisk (*\b*).
m\bma\bar\brk\bk-\b-s\bsy\bym\bml\bli\bin\bnk\bke\bed\bd-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs (\b(O\bOf\bff\bf)\b)
If set to O\bOn\bn, completed names which are symbolic links to direc-
- tories have a slash appended (subject to the value of
+ tories have a slash appended (subject to the value of
m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs).
m\bma\bat\btc\bch\bh-\b-h\bhi\bid\bdd\bde\ben\bn-\b-f\bfi\bil\ble\bes\bs (\b(O\bOn\bn)\b)
- This variable, when set to O\bOn\bn, causes readline to match files
- whose names begin with a `.' (hidden files) when performing
- filename completion, unless the leading `.' is supplied by the
+ This variable, when set to O\bOn\bn, causes readline to match files
+ whose names begin with a `.' (hidden files) when performing
+ filename completion, unless the leading `.' is supplied by the
user in the filename to be completed.
o\bou\but\btp\bpu\but\bt-\b-m\bme\bet\bta\ba (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, readline will display characters with the eighth
+ If set to O\bOn\bn, readline will display characters with the eighth
bit set directly rather than as a meta-prefixed escape sequence.
p\bpa\bag\bge\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(O\bOn\bn)\b)
- If set to O\bOn\bn, readline uses an internal _\bm_\bo_\br_\be-like pager to dis-
+ If set to O\bOn\bn, readline uses an internal _\bm_\bo_\br_\be-like pager to dis-
play a screenful of possible completions at a time.
p\bpr\bri\bin\bnt\bt-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs-\b-h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bll\bly\by (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, readline will display completions with matches
- sorted horizontally in alphabetical order, rather than down the
+ If set to O\bOn\bn, readline will display completions with matches
+ sorted horizontally in alphabetical order, rather than down the
screen.
r\bre\bev\bve\ber\brt\bt-\b-a\bal\bll\bl-\b-a\bat\bt-\b-n\bne\bew\bwl\bli\bin\bne\be (\b(O\bOf\bff\bf)\b)
- If set to o\bon\bn, readline will undo all changes to history lines
+ If set to o\bon\bn, readline will undo all changes to history lines
before returning when a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be is executed. By default, his-
- tory lines may be modified and retain individual undo lists
+ tory lines may be modified and retain individual undo lists
across calls to r\bre\bea\bad\bdl\bli\bin\bne\be.
s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-a\bam\bmb\bbi\big\bgu\buo\bou\bus\bs (\b(O\bOf\bff\bf)\b)
- This alters the default behavior of the completion functions.
+ This alters the default behavior of the completion functions.
If set to o\bon\bn, words which have more than one possible completion
- cause the matches to be listed immediately instead of ringing
+ cause the matches to be listed immediately instead of ringing
the bell.
s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-u\bun\bnm\bmo\bod\bdi\bif\bfi\bie\bed\bd (\b(O\bOf\bff\bf)\b)
- This alters the default behavior of the completion functions in
+ This alters the default behavior of the completion functions in
a fashion similar to s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-a\bam\bmb\bbi\big\bgu\buo\bou\bus\bs. If set to o\bon\bn, words
- which have more than one possible completion without any possi-
- ble partial completion (the possible completions don't share a
- common prefix) cause the matches to be listed immediately
+ which have more than one possible completion without any possi-
+ ble partial completion (the possible completions don't share a
+ common prefix) cause the matches to be listed immediately
instead of ringing the bell.
v\bvi\bis\bsi\bib\bbl\ble\be-\b-s\bst\bta\bat\bts\bs (\b(O\bOf\bff\bf)\b)
- If set to O\bOn\bn, a character denoting a file's type as reported by
- _\bs_\bt_\ba_\bt(2) is appended to the filename when listing possible com-
+ If set to O\bOn\bn, a character denoting a file's type as reported by
+ _\bs_\bt_\ba_\bt(2) is appended to the filename when listing possible com-
pletions.
R\bRe\bea\bad\bdl\bli\bin\bne\be C\bCo\bon\bnd\bdi\bit\bti\bio\bon\bna\bal\bl C\bCo\bon\bns\bst\btr\bru\buc\bct\bts\bs
- Readline implements a facility similar in spirit to the conditional
- compilation features of the C preprocessor which allows key bindings
- and variable settings to be performed as the result of tests. There
+ Readline implements a facility similar in spirit to the conditional
+ compilation features of the C preprocessor which allows key bindings
+ and variable settings to be performed as the result of tests. There
are four parser directives used.
- $\b$i\bif\bf The $\b$i\bif\bf construct allows bindings to be made based on the edit-
- ing mode, the terminal being used, or the application using
- readline. The text of the test extends to the end of the line;
+ $\b$i\bif\bf The $\b$i\bif\bf construct allows bindings to be made based on the edit-
+ ing mode, the terminal being used, or the application using
+ readline. The text of the test extends to the end of the line;
no characters are required to isolate it.
- m\bmo\bod\bde\be The m\bmo\bod\bde\be=\b= form of the $\b$i\bif\bf directive is used to test
- whether readline is in emacs or vi mode. This may be
- used in conjunction with the s\bse\bet\bt k\bke\bey\bym\bma\bap\bp command, for
- instance, to set bindings in the _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd and
- _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx keymaps only if readline is starting out in
+ m\bmo\bod\bde\be The m\bmo\bod\bde\be=\b= form of the $\b$i\bif\bf directive is used to test
+ whether readline is in emacs or vi mode. This may be
+ used in conjunction with the s\bse\bet\bt k\bke\bey\bym\bma\bap\bp command, for
+ instance, to set bindings in the _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd and
+ _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx keymaps only if readline is starting out in
emacs mode.
- t\bte\ber\brm\bm The t\bte\ber\brm\bm=\b= form may be used to include terminal-specific
+ t\bte\ber\brm\bm The t\bte\ber\brm\bm=\b= form may be used to include terminal-specific
key bindings, perhaps to bind the key sequences output by
the terminal's function keys. The word on the right side
of the =\b= is tested against the both full name of the ter-
- minal and the portion of the terminal name before the
- first -\b-. This allows _\bs_\bu_\bn to match both _\bs_\bu_\bn and _\bs_\bu_\bn_\b-_\bc_\bm_\bd,
+ minal and the portion of the terminal name before the
+ first -\b-. This allows _\bs_\bu_\bn to match both _\bs_\bu_\bn and _\bs_\bu_\bn_\b-_\bc_\bm_\bd,
for instance.
a\bap\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bn
The a\bap\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bn construct is used to include application-
specific settings. Each program using the readline
- library sets the _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn _\bn_\ba_\bm_\be, and an initialization
+ library sets the _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn _\bn_\ba_\bm_\be, and an initialization
file can test for a particular value. This could be used
- to bind key sequences to functions useful for a specific
- program. For instance, the following command adds a key
- sequence that quotes the current or previous word in
+ to bind key sequences to functions useful for a specific
+ program. For instance, the following command adds a key
+ sequence that quotes the current or previous word in
Bash:
$\b$i\bif\bf Bash
test fails.
$\b$i\bin\bnc\bcl\blu\bud\bde\be
- This directive takes a single filename as an argument and reads
- commands and bindings from that file. For example, the follow-
+ This directive takes a single filename as an argument and reads
+ commands and bindings from that file. For example, the follow-
ing directive would read _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc:
$\b$i\bin\bnc\bcl\blu\bud\bde\be _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc
S\bSe\bea\bar\brc\bch\bhi\bin\bng\bg
- Readline provides commands for searching through the command history
+ Readline provides commands for searching through the command history
(see H\bHI\bIS\bST\bTO\bOR\bRY\bY below) for lines containing a specified string. There are
two search modes: _\bi_\bn_\bc_\br_\be_\bm_\be_\bn_\bt_\ba_\bl and _\bn_\bo_\bn_\b-_\bi_\bn_\bc_\br_\be_\bm_\be_\bn_\bt_\ba_\bl.
- Incremental searches begin before the user has finished typing the
- search string. As each character of the search string is typed, read-
+ Incremental searches begin before the user has finished typing the
+ search string. As each character of the search string is typed, read-
line displays the next entry from the history matching the string typed
- so far. An incremental search requires only as many characters as
- needed to find the desired history entry. The characters present in
- the value of the i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs variable are used to terminate an
+ so far. An incremental search requires only as many characters as
+ needed to find the desired history entry. The characters present in
+ the value of the i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs variable are used to terminate an
incremental search. If that variable has not been assigned a value the
- Escape and Control-J characters will terminate an incremental search.
- Control-G will abort an incremental search and restore the original
- line. When the search is terminated, the history entry containing the
+ Escape and Control-J characters will terminate an incremental search.
+ Control-G will abort an incremental search and restore the original
+ line. When the search is terminated, the history entry containing the
search string becomes the current line.
- To find other matching entries in the history list, type Control-S or
- Control-R as appropriate. This will search backward or forward in the
- history for the next entry matching the search string typed so far.
- Any other key sequence bound to a readline command will terminate the
- search and execute that command. For instance, a _\bn_\be_\bw_\bl_\bi_\bn_\be will termi-
+ To find other matching entries in the history list, type Control-S or
+ Control-R as appropriate. This will search backward or forward in the
+ history for the next entry matching the search string typed so far.
+ Any other key sequence bound to a readline command will terminate the
+ search and execute that command. For instance, a _\bn_\be_\bw_\bl_\bi_\bn_\be will termi-
nate the search and accept the line, thereby executing the command from
the history list.
Readline remembers the last incremental search string. If two Control-
- Rs are typed without any intervening characters defining a new search
+ Rs are typed without any intervening characters defining a new search
string, any remembered search string is used.
- Non-incremental searches read the entire search string before starting
- to search for matching history lines. The search string may be typed
+ Non-incremental searches read the entire search string before starting
+ to search for matching history lines. The search string may be typed
by the user or be part of the contents of the current line.
R\bRe\bea\bad\bdl\bli\bin\bne\be C\bCo\bom\bmm\bma\ban\bnd\bd N\bNa\bam\bme\bes\bs
- The following is a list of the names of the commands and the default
+ The following is a list of the names of the commands and the default
key sequences to which they are bound. Command names without an accom-
panying key sequence are unbound by default. In the following descrip-
- tions, _\bp_\bo_\bi_\bn_\bt refers to the current cursor position, and _\bm_\ba_\br_\bk refers to
- a cursor position saved by the s\bse\bet\bt-\b-m\bma\bar\brk\bk command. The text between the
+ tions, _\bp_\bo_\bi_\bn_\bt refers to the current cursor position, and _\bm_\ba_\br_\bk refers to
+ a cursor position saved by the s\bse\bet\bt-\b-m\bma\bar\brk\bk command. The text between the
point and mark is referred to as the _\br_\be_\bg_\bi_\bo_\bn.
C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br M\bMo\bov\bvi\bin\bng\bg
Move forward to the end of the next word. Words are composed of
alphanumeric characters (letters and digits).
b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-b\bb)\b)
- Move back to the start of the current or previous word. Words
+ Move back to the start of the current or previous word. Words
are composed of alphanumeric characters (letters and digits).
s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
- Move forward to the end of the next word. Words are delimited
+ Move forward to the end of the next word. Words are delimited
by non-quoted shell metacharacters.
s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
- Move back to the start of the current or previous word. Words
+ Move back to the start of the current or previous word. Words
are delimited by non-quoted shell metacharacters.
c\bcl\ble\bea\bar\br-\b-s\bsc\bcr\bre\bee\ben\bn (\b(C\bC-\b-l\bl)\b)
- Clear the screen leaving the current line at the top of the
- screen. With an argument, refresh the current line without
+ Clear the screen leaving the current line at the top of the
+ screen. With an argument, refresh the current line without
clearing the screen.
r\bre\bed\bdr\bra\baw\bw-\b-c\bcu\bur\brr\bre\ben\bnt\bt-\b-l\bli\bin\bne\be
Refresh the current line.
C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br M\bMa\ban\bni\bip\bpu\bul\bla\bat\bti\bin\bng\bg t\bth\bhe\be H\bHi\bis\bst\bto\bor\bry\by
a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be (\b(N\bNe\bew\bwl\bli\bin\bne\be,\b, R\bRe\bet\btu\bur\brn\bn)\b)
Accept the line regardless of where the cursor is. If this line
- is non-empty, add it to the history list according to the state
- of the H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL variable. If the line is a modified history
+ is non-empty, add it to the history list according to the state
+ of the H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL variable. If the line is a modified history
line, then restore the history line to its original state.
p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-p\bp)\b)
Fetch the previous command from the history list, moving back in
the list.
n\bne\bex\bxt\bt-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-n\bn)\b)
- Fetch the next command from the history list, moving forward in
+ Fetch the next command from the history list, moving forward in
the list.
b\bbe\beg\bgi\bin\bnn\bni\bin\bng\bg-\b-o\bof\bf-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-<\b<)\b)
Move to the first line in the history.
e\ben\bnd\bd-\b-o\bof\bf-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b->\b>)\b)
- Move to the end of the input history, i.e., the line currently
+ Move to the end of the input history, i.e., the line currently
being entered.
r\bre\bev\bve\ber\brs\bse\be-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-r\br)\b)
- Search backward starting at the current line and moving `up'
- through the history as necessary. This is an incremental
+ Search backward starting at the current line and moving `up'
+ through the history as necessary. This is an incremental
search.
f\bfo\bor\brw\bwa\bar\brd\bd-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-s\bs)\b)
- Search forward starting at the current line and moving `down'
- through the history as necessary. This is an incremental
+ Search forward starting at the current line and moving `down'
+ through the history as necessary. This is an incremental
search.
n\bno\bon\bn-\b-i\bin\bnc\bcr\bre\bem\bme\ben\bnt\bta\bal\bl-\b-r\bre\bev\bve\ber\brs\bse\be-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-p\bp)\b)
Search backward through the history starting at the current line
- using a non-incremental search for a string supplied by the
+ using a non-incremental search for a string supplied by the
user.
n\bno\bon\bn-\b-i\bin\bnc\bcr\bre\bem\bme\ben\bnt\bta\bal\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-n\bn)\b)
- Search forward through the history using a non-incremental
+ Search forward through the history using a non-incremental
search for a string supplied by the user.
h\bhi\bis\bst\bto\bor\bry\by-\b-s\bse\bea\bar\brc\bch\bh-\b-f\bfo\bor\brw\bwa\bar\brd\bd
- Search forward through the history for the string of characters
- between the start of the current line and the point. This is a
+ Search forward through the history for the string of characters
+ between the start of the current line and the point. This is a
non-incremental search.
h\bhi\bis\bst\bto\bor\bry\by-\b-s\bse\bea\bar\brc\bch\bh-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd
Search backward through the history for the string of characters
- between the start of the current line and the point. This is a
+ between the start of the current line and the point. This is a
non-incremental search.
y\bya\ban\bnk\bk-\b-n\bnt\bth\bh-\b-a\bar\brg\bg (\b(M\bM-\b-C\bC-\b-y\by)\b)
- Insert the first argument to the previous command (usually the
+ Insert the first argument to the previous command (usually the
second word on the previous line) at point. With an argument _\bn,
- insert the _\bnth word from the previous command (the words in the
- previous command begin with word 0). A negative argument
+ insert the _\bnth word from the previous command (the words in the
+ previous command begin with word 0). A negative argument
inserts the _\bnth word from the end of the previous command. Once
- the argument _\bn is computed, the argument is extracted as if the
+ the argument _\bn is computed, the argument is extracted as if the
"!_\bn" history expansion had been specified.
y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg (\b(M\bM-\b-.\b.,\b, M\bM-\b-_\b_)\b)
- Insert the last argument to the previous command (the last word
- of the previous history entry). With an argument, behave
- exactly like y\bya\ban\bnk\bk-\b-n\bnt\bth\bh-\b-a\bar\brg\bg. Successive calls to y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg
- move back through the history list, inserting the last argument
+ Insert the last argument to the previous command (the last word
+ of the previous history entry). With an argument, behave
+ exactly like y\bya\ban\bnk\bk-\b-n\bnt\bth\bh-\b-a\bar\brg\bg. Successive calls to y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg
+ move back through the history list, inserting the last argument
of each line in turn. The history expansion facilities are used
- to extract the last argument, as if the "!$" history expansion
+ to extract the last argument, as if the "!$" history expansion
had been specified.
s\bsh\bhe\bel\bll\bl-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be (\b(M\bM-\b-C\bC-\b-e\be)\b)
Expand the line as the shell does. This performs alias and his-
tory expansion as well as all of the shell word expansions. See
- H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for a description of history expansion.
+ H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for a description of history expansion.
h\bhi\bis\bst\bto\bor\bry\by-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be (\b(M\bM-\b-^\b^)\b)
- Perform history expansion on the current line. See H\bHI\bIS\bST\bTO\bOR\bRY\bY
+ Perform history expansion on the current line. See H\bHI\bIS\bST\bTO\bOR\bRY\bY
E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for a description of history expansion.
m\bma\bag\bgi\bic\bc-\b-s\bsp\bpa\bac\bce\be
- Perform history expansion on the current line and insert a
+ Perform history expansion on the current line and insert a
space. See H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN below for a description of history
expansion.
a\bal\bli\bia\bas\bs-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be
- Perform alias expansion on the current line. See A\bAL\bLI\bIA\bAS\bSE\bES\bS above
+ Perform alias expansion on the current line. See A\bAL\bLI\bIA\bAS\bSE\bES\bS above
for a description of alias expansion.
h\bhi\bis\bst\bto\bor\bry\by-\b-a\ban\bnd\bd-\b-a\bal\bli\bia\bas\bs-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-l\bli\bin\bne\be
Perform history and alias expansion on the current line.
i\bin\bns\bse\ber\brt\bt-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt (\b(M\bM-\b-.\b.,\b, M\bM-\b-_\b_)\b)
A synonym for y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg.
o\bop\bpe\ber\bra\bat\bte\be-\b-a\ban\bnd\bd-\b-g\bge\bet\bt-\b-n\bne\bex\bxt\bt (\b(C\bC-\b-o\bo)\b)
- Accept the current line for execution and fetch the next line
- relative to the current line from the history for editing. Any
+ 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.
e\bed\bdi\bit\bt-\b-a\ban\bnd\bd-\b-e\bex\bxe\bec\bcu\but\bte\be-\b-c\bco\bom\bmm\bma\ban\bnd\bd (\b(C\bC-\b-x\bxC\bC-\b-e\be)\b)
- Invoke an editor on the current command line, and execute the
- result as shell commands. B\bBa\bas\bsh\bh attempts to invoke $\b$V\bVI\bIS\bSU\bUA\bAL\bL,
+ Invoke an editor on the current command line, and execute the
+ result as shell commands. B\bBa\bas\bsh\bh attempts to invoke $\b$V\bVI\bIS\bSU\bUA\bAL\bL,
$\b$E\bED\bDI\bIT\bTO\bOR\bR, and _\be_\bm_\ba_\bc_\bs as the editor, in that order.
C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br C\bCh\bha\ban\bng\bgi\bin\bng\bg T\bTe\bex\bxt\bt
d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br (\b(C\bC-\b-d\bd)\b)
- Delete the character at point. If point is at the beginning of
- the line, there are no characters in the line, and the last
+ 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 d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br, then return E\bEO\bOF\bF.
b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br (\b(R\bRu\bub\bbo\bou\but\bt)\b)
- Delete the character behind the cursor. When given a numeric
+ Delete the character behind the cursor. When given a numeric
argument, save the deleted text on the kill ring.
f\bfo\bor\brw\bwa\bar\brd\bd-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br
- Delete the character under the cursor, unless the cursor is at
+ Delete the character under the cursor, unless the cursor is at
the end of the line, in which case the character behind the cur-
sor is deleted.
q\bqu\buo\bot\bte\bed\bd-\b-i\bin\bns\bse\ber\brt\bt (\b(C\bC-\b-q\bq,\b, C\bC-\b-v\bv)\b)
- Add the next character typed to the line verbatim. This is how
+ Add the next character typed to the line verbatim. This is how
to insert characters like C\bC-\b-q\bq, for example.
t\bta\bab\bb-\b-i\bin\bns\bse\ber\brt\bt (\b(C\bC-\b-v\bv T\bTA\bAB\bB)\b)
Insert a tab character.
s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt (\b(a\ba,\b, b\bb,\b, A\bA,\b, 1\b1,\b, !\b!,\b, .\b..\b..\b.)\b)
Insert the character typed.
t\btr\bra\ban\bns\bsp\bpo\bos\bse\be-\b-c\bch\bha\bar\brs\bs (\b(C\bC-\b-t\bt)\b)
- Drag the character before point forward over the character at
- point, moving point forward as well. If point is at the end of
- the line, then this transposes the two characters before point.
+ Drag the character before point forward over the character at
+ point, moving point forward as well. If point is at the end of
+ the line, then this transposes the two characters before point.
Negative arguments have no effect.
t\btr\bra\ban\bns\bsp\bpo\bos\bse\be-\b-w\bwo\bor\brd\bds\bs (\b(M\bM-\b-t\bt)\b)
- Drag the word before point past the word after point, moving
- point over that word as well. If point is at the end of the
+ Drag the word before point past the word after point, moving
+ point over that word as well. If point is at the end of the
line, this transposes the last two words on the line.
u\bup\bpc\bca\bas\bse\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-u\bu)\b)
- Uppercase the current (or following) word. With a negative
+ Uppercase the current (or following) word. With a negative
argument, uppercase the previous word, but do not move point.
d\bdo\bow\bwn\bnc\bca\bas\bse\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-l\bl)\b)
- Lowercase the current (or following) word. With a negative
+ Lowercase the current (or following) word. With a negative
argument, lowercase the previous word, but do not move point.
c\bca\bap\bpi\bit\bta\bal\bli\biz\bze\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-c\bc)\b)
- Capitalize the current (or following) word. With a negative
+ Capitalize the current (or following) word. With a negative
argument, capitalize the previous word, but do not move point.
o\bov\bve\ber\brw\bwr\bri\bit\bte\be-\b-m\bmo\bod\bde\be
- Toggle overwrite mode. With an explicit positive numeric argu-
+ Toggle overwrite mode. With an explicit positive numeric argu-
ment, switches to overwrite mode. With an explicit non-positive
numeric argument, switches to insert mode. This command affects
- only e\bem\bma\bac\bcs\bs mode; v\bvi\bi mode does overwrite differently. Each call
+ only e\bem\bma\bac\bcs\bs mode; v\bvi\bi mode does overwrite differently. Each call
to _\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b(_\b) starts in insert mode. In overwrite mode, charac-
- ters bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt replace the text at point rather than
- pushing the text to the right. Characters bound to b\bba\bac\bck\bk-\b-
- w\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br replace the character before point with a
+ ters bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt replace the text at point rather than
+ pushing the text to the right. Characters bound to b\bba\bac\bck\bk-\b-
+ w\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br replace the character before point with a
space. By default, this command is unbound.
K\bKi\bil\bll\bli\bin\bng\bg a\ban\bnd\bd Y\bYa\ban\bnk\bki\bin\bng\bg
b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-l\bli\bin\bne\be (\b(C\bC-\b-x\bx R\bRu\bub\bbo\bou\but\bt)\b)
Kill backward to the beginning of the line.
u\bun\bni\bix\bx-\b-l\bli\bin\bne\be-\b-d\bdi\bis\bsc\bca\bar\brd\bd (\b(C\bC-\b-u\bu)\b)
- Kill backward from point to the beginning of the line. The
+ Kill backward from point to the beginning of the line. The
killed text is saved on the kill-ring.
k\bki\bil\bll\bl-\b-w\bwh\bho\bol\ble\be-\b-l\bli\bin\bne\be
- Kill all characters on the current line, no matter where point
+ Kill all characters on the current line, no matter where point
is.
k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-d\bd)\b)
- Kill from point to the end of the current word, or if between
- words, to the end of the next word. Word boundaries are the
+ Kill from point to the end of the current word, or if between
+ words, to the end of the next word. Word boundaries are the
same as those used by f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-R\bRu\bub\bbo\bou\but\bt)\b)
- Kill the word behind point. Word boundaries are the same as
+ Kill the word behind point. Word boundaries are the same as
those used by b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
s\bsh\bhe\bel\bll\bl-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-d\bd)\b)
- Kill from point to the end of the current word, or if between
- words, to the end of the next word. Word boundaries are the
+ Kill from point to the end of the current word, or if between
+ words, to the end of the next word. Word boundaries are the
same as those used by s\bsh\bhe\bel\bll\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-R\bRu\bub\bbo\bou\but\bt)\b)
- Kill the word behind point. Word boundaries are the same as
+ Kill the word behind point. Word boundaries are the same as
those used by s\bsh\bhe\bel\bll\bl-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
u\bun\bni\bix\bx-\b-w\bwo\bor\brd\bd-\b-r\bru\bub\bbo\bou\but\bt (\b(C\bC-\b-w\bw)\b)
- Kill the word behind point, using white space as a word bound-
+ Kill the word behind point, using white space as a word bound-
ary. The killed text is saved on the kill-ring.
u\bun\bni\bix\bx-\b-f\bfi\bil\ble\ben\bna\bam\bme\be-\b-r\bru\bub\bbo\bou\but\bt
- Kill the word behind point, using white space and the slash
- character as the word boundaries. The killed text is saved on
+ Kill the word behind point, using white space and the slash
+ character as the word boundaries. The killed text is saved on
the kill-ring.
d\bde\bel\ble\bet\bte\be-\b-h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bl-\b-s\bsp\bpa\bac\bce\be (\b(M\bM-\b-\\b\)\b)
Delete all spaces and tabs around point.
c\bco\bop\bpy\by-\b-r\bre\beg\bgi\bio\bon\bn-\b-a\bas\bs-\b-k\bki\bil\bll\bl
Copy the text in the region to the kill buffer.
c\bco\bop\bpy\by-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
- Copy the word before point to the kill buffer. The word bound-
+ Copy the word before point to the kill buffer. The word bound-
aries are the same as b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
c\bco\bop\bpy\by-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
- Copy the word following point to the kill buffer. The word
+ Copy the word following point to the kill buffer. The word
boundaries are the same as f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
y\bya\ban\bnk\bk (\b(C\bC-\b-y\by)\b)
Yank the top of the kill ring into the buffer at point.
y\bya\ban\bnk\bk-\b-p\bpo\bop\bp (\b(M\bM-\b-y\by)\b)
- Rotate the kill ring, and yank the new top. Only works follow-
+ Rotate the kill ring, and yank the new top. Only works follow-
ing y\bya\ban\bnk\bk or y\bya\ban\bnk\bk-\b-p\bpo\bop\bp.
N\bNu\bum\bme\ber\bri\bic\bc A\bAr\brg\bgu\bum\bme\ben\bnt\bts\bs
d\bdi\big\bgi\bit\bt-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt (\b(M\bM-\b-0\b0,\b, M\bM-\b-1\b1,\b, .\b..\b..\b.,\b, M\bM-\b--\b-)\b)
- Add this digit to the argument already accumulating, or start a
+ Add this digit to the argument already accumulating, or start a
new argument. M-- starts a negative argument.
u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt
- This is another way to specify an argument. If this command is
- followed by one or more digits, optionally with a leading minus
- sign, those digits define the argument. If the command is fol-
- lowed by digits, executing u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt again ends the
- numeric argument, but is otherwise ignored. As a special case,
- if this command is immediately followed by a character that is
- neither a digit or minus sign, the argument count for the next
- command is multiplied by four. The argument count is initially
- one, so executing this function the first time makes the argu-
+ This is another way to specify an argument. If this command is
+ followed by one or more digits, optionally with a leading minus
+ sign, those digits define the argument. If the command is fol-
+ lowed by digits, executing u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt again ends the
+ numeric argument, but is otherwise ignored. As a special case,
+ if this command is immediately followed by a character that is
+ neither a digit or minus sign, the argument count for the next
+ command is multiplied by four. The argument count is initially
+ one, so executing this function the first time makes the argu-
ment count four, a second time makes the argument count sixteen,
and so on.
C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg
c\bco\bom\bmp\bpl\ble\bet\bte\be (\b(T\bTA\bAB\bB)\b)
- Attempt to perform completion on the text before point. B\bBa\bas\bsh\bh
+ Attempt to perform completion on the text before point. B\bBa\bas\bsh\bh
attempts completion treating the text as a variable (if the text
- begins with $\b$), username (if the text begins with ~\b~), hostname
- (if the text begins with @\b@), or command (including aliases and
+ begins with $\b$), username (if the text begins with ~\b~), hostname
+ (if the text begins with @\b@), or command (including aliases and
functions) in turn. If none of these produces a match, filename
completion is attempted.
p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(M\bM-\b-?\b?)\b)
List the possible completions of the text before point.
i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(M\bM-\b-*\b*)\b)
- Insert all completions of the text before point that would have
+ Insert all completions of the text before point that would have
been generated by p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs.
m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be
- Similar to c\bco\bom\bmp\bpl\ble\bet\bte\be, but replaces the word to be completed with
- a single match from the list of possible completions. Repeated
- execution of m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be steps through the list of possible
- completions, inserting each match in turn. At the end of the
+ Similar to c\bco\bom\bmp\bpl\ble\bet\bte\be, but replaces the word to be completed with
+ a single match from the list of possible completions. Repeated
+ execution of m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be steps through the list of possible
+ completions, inserting each match in turn. At the end of the
list of completions, the bell is rung (subject to the setting of
b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be) and the original text is restored. An argument of _\bn
- moves _\bn positions forward in the list of matches; a negative
- argument may be used to move backward through the list. This
- command is intended to be bound to T\bTA\bAB\bB, but is unbound by
+ moves _\bn positions forward in the list of matches; a negative
+ argument may be used to move backward through the list. This
+ command is intended to be bound to T\bTA\bAB\bB, but is unbound by
default.
d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br-\b-o\bor\br-\b-l\bli\bis\bst\bt
- Deletes the character under the cursor if not at the beginning
- or end of the line (like d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br). If at the end of the
+ Deletes the character under the cursor if not at the beginning
+ or end of the line (like d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br). If at the end of the
line, behaves identically to p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs. This command
is unbound by default.
c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-f\bfi\bil\ble\ben\bna\bam\bme\be (\b(M\bM-\b-/\b/)\b)
List the possible completions of the text before point, treating
it as a filename.
c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-u\bus\bse\ber\brn\bna\bam\bme\be (\b(M\bM-\b-~\b~)\b)
- Attempt completion on the text before point, treating it as a
+ Attempt completion on the text before point, treating it as a
username.
p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-u\bus\bse\ber\brn\bna\bam\bme\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx ~\b~)\b)
List the possible completions of the text before point, treating
it as a username.
c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-v\bva\bar\bri\bia\bab\bbl\ble\be (\b(M\bM-\b-$\b$)\b)
- Attempt completion on the text before point, treating it as a
+ Attempt completion on the text before point, treating it as a
shell variable.
p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-v\bva\bar\bri\bia\bab\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx $\b$)\b)
List the possible completions of the text before point, treating
it as a shell variable.
c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-h\bho\bos\bst\btn\bna\bam\bme\be (\b(M\bM-\b-@\b@)\b)
- Attempt completion on the text before point, treating it as a
+ Attempt completion on the text before point, treating it as a
hostname.
p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-h\bho\bos\bst\btn\bna\bam\bme\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx @\b@)\b)
List the possible completions of the text before point, treating
it as a hostname.
c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-c\bco\bom\bmm\bma\ban\bnd\bd (\b(M\bM-\b-!\b!)\b)
- Attempt completion on the text before point, treating it as a
- command name. Command completion attempts to match the text
- against aliases, reserved words, shell functions, shell
+ Attempt completion on the text before point, treating it as a
+ command name. Command completion attempts to match the text
+ against aliases, reserved words, shell functions, shell
builtins, and finally executable filenames, in that order.
p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmm\bma\ban\bnd\bd-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(C\bC-\b-x\bx !\b!)\b)
List the possible completions of the text before point, treating
it as a command name.
d\bdy\byn\bna\bam\bmi\bic\bc-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-T\bTA\bAB\bB)\b)
- Attempt completion on the text before point, comparing the text
- against lines from the history list for possible completion
+ Attempt completion on the text before point, comparing the text
+ against lines from the history list for possible completion
matches.
d\bda\bab\bbb\bbr\bre\bev\bv-\b-e\bex\bxp\bpa\ban\bnd\bd
- Attempt menu completion on the text before point, comparing the
+ Attempt menu completion on the text before point, comparing the
text against lines from the history list for possible completion
matches.
c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-i\bin\bnt\bto\bo-\b-b\bbr\bra\bac\bce\bes\bs (\b(M\bM-\b-{\b{)\b)
Perform filename completion and insert the list of possible com-
- pletions enclosed within braces so the list is available to the
+ pletions enclosed within braces so the list is available to the
shell (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above).
K\bKe\bey\byb\bbo\boa\bar\brd\bd M\bMa\bac\bcr\bro\bos\bs
s\bst\bta\bar\brt\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx (\b()\b)
- Begin saving the characters typed into the current keyboard
+ Begin saving the characters typed into the current keyboard
macro.
e\ben\bnd\bd-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx )\b))\b)
Stop saving the characters typed into the current keyboard macro
and store the definition.
c\bca\bal\bll\bl-\b-l\bla\bas\bst\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx e\be)\b)
- Re-execute the last keyboard macro defined, by making the char-
+ Re-execute the last keyboard macro defined, by making the char-
acters in the macro appear as if typed at the keyboard.
M\bMi\bis\bsc\bce\bel\bll\bla\ban\bne\beo\bou\bus\bs
r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be (\b(C\bC-\b-x\bx C\bC-\b-r\br)\b)
- Read in the contents of the _\bi_\bn_\bp_\bu_\bt_\br_\bc file, and incorporate any
+ Read in the contents of the _\bi_\bn_\bp_\bu_\bt_\br_\bc file, and incorporate any
bindings or variable assignments found there.
a\bab\bbo\bor\brt\bt (\b(C\bC-\b-g\bg)\b)
- Abort the current editing command and ring the terminal's bell
+ Abort the current editing command and ring the terminal's bell
(subject to the setting of b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be).
d\bdo\bo-\b-u\bup\bpp\bpe\ber\brc\bca\bas\bse\be-\b-v\bve\ber\brs\bsi\bio\bon\bn (\b(M\bM-\b-a\ba,\b, M\bM-\b-b\bb,\b, M\bM-\b-_\bx,\b, .\b..\b..\b.)\b)
- If the metafied character _\bx is lowercase, run the command that
+ If the metafied character _\bx is lowercase, run the command that
is bound to the corresponding uppercase character.
p\bpr\bre\bef\bfi\bix\bx-\b-m\bme\bet\bta\ba (\b(E\bES\bSC\bC)\b)
Metafy the next character typed. E\bES\bSC\bC f\bf is equivalent to M\bMe\bet\bta\ba-\b-f\bf.
u\bun\bnd\bdo\bo (\b(C\bC-\b-_\b_,\b, C\bC-\b-x\bx C\bC-\b-u\bu)\b)
Incremental undo, separately remembered for each line.
r\bre\bev\bve\ber\brt\bt-\b-l\bli\bin\bne\be (\b(M\bM-\b-r\br)\b)
- Undo all changes made to this line. This is like executing the
- u\bun\bnd\bdo\bo command enough times to return the line to its initial
+ Undo all changes made to this line. This is like executing the
+ u\bun\bnd\bdo\bo command enough times to return the line to its initial
state.
t\bti\bil\bld\bde\be-\b-e\bex\bxp\bpa\ban\bnd\bd (\b(M\bM-\b-&\b&)\b)
Perform tilde expansion on the current word.
s\bse\bet\bt-\b-m\bma\bar\brk\bk (\b(C\bC-\b-@\b@,\b, M\bM-\b-<\b<s\bsp\bpa\bac\bce\be>\b>)\b)
- Set the mark to the point. If a numeric argument is supplied,
+ Set the mark to the point. If a numeric argument is supplied,
the mark is set to that position.
e\bex\bxc\bch\bha\ban\bng\bge\be-\b-p\bpo\boi\bin\bnt\bt-\b-a\ban\bnd\bd-\b-m\bma\bar\brk\bk (\b(C\bC-\b-x\bx C\bC-\b-x\bx)\b)
- Swap the point with the mark. The current cursor position is
- set to the saved position, and the old cursor position is saved
+ Swap the point with the mark. The current cursor position is
+ set to the saved position, and the old cursor position is saved
as the mark.
c\bch\bha\bar\bra\bac\bct\bte\ber\br-\b-s\bse\bea\bar\brc\bch\bh (\b(C\bC-\b-]\b])\b)
A character is read and point is moved to the next occurrence of
- that character. A negative count searches for previous occur-
+ that character. A negative count searches for previous occur-
rences.
c\bch\bha\bar\bra\bac\bct\bte\ber\br-\b-s\bse\bea\bar\brc\bch\bh-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd (\b(M\bM-\b-C\bC-\b-]\b])\b)
- A character is read and point is moved to the previous occur-
- rence of that character. A negative count searches for subse-
+ A character is read and point is moved to the previous occur-
+ rence of that character. A negative count searches for subse-
quent occurrences.
i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt (\b(M\bM-\b-#\b#)\b)
- Without a numeric argument, the value of the readline c\bco\bom\bm-\b-
- m\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn variable is inserted at the beginning of the current
+ Without a numeric argument, the value of the readline c\bco\bom\bm-\b-
+ m\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn variable is inserted at the beginning of the current
line. If a numeric argument is supplied, this command acts as a
- toggle: if the characters at the beginning of the line do not
- match the value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn, the value is inserted, other-
+ toggle: if the characters at the beginning of the line do not
+ match the value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn, the value is inserted, other-
wise the characters in c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn are deleted from the begin-
- ning of the line. In either case, the line is accepted as if a
- newline had been typed. The default value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn
- causes this command to make the current line a shell comment.
- If a numeric argument causes the comment character to be
+ ning of the line. In either case, the line is accepted as if a
+ newline had been typed. The default value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn
+ causes this command to make the current line a shell comment.
+ If a numeric argument causes the comment character to be
removed, the line will be executed by the shell.
g\bgl\blo\bob\bb-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-g\bg)\b)
- The word before point is treated as a pattern for pathname
- expansion, with an asterisk implicitly appended. This pattern
- is used to generate a list of matching file names for possible
+ 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.
g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\bd (\b(C\bC-\b-x\bx *\b*)\b)
- The word before point is treated as a pattern for pathname
- expansion, and the list of matching file names is inserted,
- replacing the word. If a numeric argument is supplied, an
+ 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, an
asterisk is appended before pathname expansion.
g\bgl\blo\bob\bb-\b-l\bli\bis\bst\bt-\b-e\bex\bxp\bpa\ban\bns\bsi\bio\bon\bns\bs (\b(C\bC-\b-x\bx g\bg)\b)
- The list of expansions that would have been generated by
- g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\bd is displayed, and the line is redrawn. If a
- numeric argument is supplied, an asterisk is appended before
+ The list of expansions that would have been generated by
+ g\bgl\blo\bob\bb-\b-e\bex\bxp\bpa\ban\bnd\bd-\b-w\bwo\bor\brd\bd is displayed, and the line is redrawn. If a
+ numeric argument is supplied, an asterisk is appended before
pathname expansion.
d\bdu\bum\bmp\bp-\b-f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs
- Print all of the functions and their key bindings to the read-
+ Print all of the functions and their key bindings to the read-
line output stream. If a numeric argument is supplied, the out-
- put is formatted in such a way that it can be made part of an
+ put is formatted in such a way that it can be made part of an
_\bi_\bn_\bp_\bu_\bt_\br_\bc file.
d\bdu\bum\bmp\bp-\b-v\bva\bar\bri\bia\bab\bbl\ble\bes\bs
Print all of the settable readline variables and their values to
- the readline output stream. If a numeric argument is supplied,
- the output is formatted in such a way that it can be made part
+ the readline output stream. If a numeric argument is supplied,
+ the output is formatted in such a way that it can be made part
of an _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
d\bdu\bum\bmp\bp-\b-m\bma\bac\bcr\bro\bos\bs
- Print all of the readline key sequences bound to macros and the
- strings they output. If a numeric argument is supplied, the
+ Print all of the readline key sequences bound to macros and the
+ strings they output. If a numeric argument is supplied, the
output is formatted in such a way that it can be made part of an
_\bi_\bn_\bp_\bu_\bt_\br_\bc file.
d\bdi\bis\bsp\bpl\bla\bay\by-\b-s\bsh\bhe\bel\bll\bl-\b-v\bve\ber\brs\bsi\bio\bon\bn (\b(C\bC-\b-x\bx C\bC-\b-v\bv)\b)
- Display version information about the current instance of b\bba\bas\bsh\bh.
+ Display version information about the current instance of b\bba\bas\bsh\bh.
P\bPr\bro\bog\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
- When word completion is attempted for an argument to a command for
- which a completion specification (a _\bc_\bo_\bm_\bp_\bs_\bp_\be_\bc) has been defined using
- the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), the pro-
+ When word completion is attempted for an argument to a command for
+ which a completion specification (a _\bc_\bo_\bm_\bp_\bs_\bp_\be_\bc) has been defined using
+ the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), the pro-
grammable completion facilities are invoked.
- First, the command name is identified. If a compspec has been defined
+ First, the command name is identified. If a compspec has been defined
for that command, the compspec is used to generate the list of possible
- completions for the word. If the command word is a full pathname, a
- compspec for the full pathname is searched for first. If no compspec
- is found for the full pathname, an attempt is made to find a compspec
+ completions for the word. If the command word is a full pathname, a
+ compspec for the full pathname is searched for first. If no compspec
+ is found for the full pathname, an attempt is made to find a compspec
for the portion following the final slash.
- Once a compspec has been found, it is used to generate the list of
- matching words. If a compspec is not found, the default b\bba\bas\bsh\bh comple-
+ Once a compspec has been found, it is used to generate the list of
+ matching words. If a compspec is not found, the default b\bba\bas\bsh\bh comple-
tion as described above under C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg is performed.
- First, the actions specified by the compspec are used. Only matches
- which are prefixed by the word being completed are returned. When the
- -\b-f\bf or -\b-d\bd option is used for filename or directory name completion, the
+ First, the actions specified by the compspec are used. Only matches
+ which are prefixed by the word being completed are returned. When the
+ -\b-f\bf or -\b-d\bd option is used for filename or directory name completion, the
shell variable F\bFI\bIG\bGN\bNO\bOR\bRE\bE is used to filter the matches.
- Any completions specified by a filename expansion pattern to the -\b-G\bG
+ Any completions specified by a filename expansion pattern to the -\b-G\bG
option are generated next. The words generated by the pattern need not
- match the word being completed. The G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable is not
+ match the word being completed. The G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE shell variable is not
used to filter the matches, but the F\bFI\bIG\bGN\bNO\bOR\bRE\bE variable is used.
- Next, the string specified as the argument to the -\b-W\bW option is consid-
- ered. The string is first split using the characters in the I\bIF\bFS\bS spe-
- cial variable as delimiters. Shell quoting is honored. Each word is
- then expanded using brace expansion, tilde expansion, parameter and
- variable expansion, command substitution, and arithmetic expansion, as
+ Next, the string specified as the argument to the -\b-W\bW option is consid-
+ ered. The string is first split using the characters in the I\bIF\bFS\bS spe-
+ cial variable as delimiters. Shell quoting is honored. Each word is
+ then expanded using brace expansion, tilde expansion, parameter and
+ variable expansion, command substitution, and arithmetic expansion, as
described above under E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN. The results are split using the rules
described above under W\bWo\bor\brd\bd S\bSp\bpl\bli\bit\btt\bti\bin\bng\bg. The results of the expansion are
prefix-matched against the word being completed, and the matching words
become the possible completions.
- After these matches have been generated, any shell function or command
- specified with the -\b-F\bF and -\b-C\bC options is invoked. When the command or
+ After these matches have been generated, any shell function or command
+ specified with the -\b-F\bF and -\b-C\bC options is invoked. When the command or
function is invoked, the C\bCO\bOM\bMP\bP_\b_L\bLI\bIN\bNE\bE, C\bCO\bOM\bMP\bP_\b_P\bPO\bOI\bIN\bNT\bT, C\bCO\bOM\bMP\bP_\b_K\bKE\bEY\bY, and C\bCO\bOM\bMP\bP_\b_T\bTY\bYP\bPE\bE
variables are assigned values as described above under S\bSh\bhe\bel\bll\bl V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs.
- If a shell function is being invoked, the C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDS\bS and C\bCO\bOM\bMP\bP_\b_C\bCW\bWO\bOR\bRD\bD
- variables are also set. When the function or command is invoked, the
- first argument is the name of the command whose arguments are being
- completed, the second argument is the word being completed, and the
- third argument is the word preceding the word being completed on the
- current command line. No filtering of the generated completions
- against the word being completed is performed; the function or command
+ If a shell function is being invoked, the C\bCO\bOM\bMP\bP_\b_W\bWO\bOR\bRD\bDS\bS and C\bCO\bOM\bMP\bP_\b_C\bCW\bWO\bOR\bRD\bD
+ variables are also set. When the function or command is invoked, the
+ first argument is the name of the command whose arguments are being
+ completed, the second argument is the word being completed, and the
+ third argument is the word preceding the word being completed on the
+ current command line. No filtering of the generated completions
+ against the word being completed is performed; the function or command
has complete freedom in generating the matches.
- Any function specified with -\b-F\bF is invoked first. The function may use
- any of the shell facilities, including the c\bco\bom\bmp\bpg\bge\ben\bn builtin described
- below, to generate the matches. It must put the possible completions
+ Any function specified with -\b-F\bF is invoked first. The function may use
+ any of the shell facilities, including the c\bco\bom\bmp\bpg\bge\ben\bn builtin described
+ below, to generate the matches. It must put the possible completions
in the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY array variable.
- Next, any command specified with the -\b-C\bC option is invoked in an envi-
- ronment equivalent to command substitution. It should print a list of
- completions, one per line, to the standard output. Backslash may be
+ Next, any command specified with the -\b-C\bC option is invoked in an envi-
+ ronment equivalent to command substitution. It should print a list of
+ completions, one per line, to the standard output. Backslash may be
used to escape a newline, if necessary.
- After all of the possible completions are generated, any filter speci-
- fied with the -\b-X\bX option is applied to the list. The filter is a pat-
- tern as used for pathname expansion; a &\b& in the pattern is replaced
- with the text of the word being completed. A literal &\b& may be escaped
- with a backslash; the backslash is removed before attempting a match.
- Any completion that matches the pattern will be removed from the list.
+ After all of the possible completions are generated, any filter speci-
+ fied with the -\b-X\bX option is applied to the list. The filter is a pat-
+ tern as used for pathname expansion; a &\b& in the pattern is replaced
+ with the text of the word being completed. A literal &\b& may be escaped
+ with a backslash; the backslash is removed before attempting a match.
+ Any completion that matches the pattern will be removed from the list.
A leading !\b! negates the pattern; in this case any completion not match-
ing the pattern will be removed.
added to each member of the completion list, and the result is returned
to the readline completion code as the list of possible completions.
- If the previously-applied actions do not generate any matches, and the
- -\b-o\bo d\bdi\bir\brn\bna\bam\bme\bes\bs option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was
+ If the previously-applied actions do not generate any matches, and the
+ -\b-o\bo d\bdi\bir\brn\bna\bam\bme\bes\bs option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was
defined, directory name completion is attempted.
- If the -\b-o\bo p\bpl\blu\bus\bsd\bdi\bir\brs\bs option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec
+ If the -\b-o\bo p\bpl\blu\bus\bsd\bdi\bir\brs\bs option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec
was defined, directory name completion is attempted and any matches are
added to the results of the other actions.
- By default, if a compspec is found, whatever it generates is returned
- to the completion code as the full set of possible completions. The
+ By default, if a compspec is found, whatever it generates is returned
+ to the completion code as the full set of possible completions. The
default b\bba\bas\bsh\bh completions are not attempted, and the readline default of
filename completion is disabled. If the -\b-o\bo b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt option was sup-
- plied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was defined, the b\bba\bas\bsh\bh default com-
+ plied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was defined, the b\bba\bas\bsh\bh default com-
pletions are attempted if the compspec generates no matches. If the -\b-o\bo
- d\bde\bef\bfa\bau\bul\blt\bt option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was defined,
- readline's default completion will be performed if the compspec (and,
+ d\bde\bef\bfa\bau\bul\blt\bt option was supplied to c\bco\bom\bmp\bpl\ble\bet\bte\be when the compspec was defined,
+ readline's default completion will be performed if the compspec (and,
if attempted, the default b\bba\bas\bsh\bh completions) generate no matches.
- When a compspec indicates that directory name completion is desired,
- the programmable completion functions force readline to append a slash
- to completed names which are symbolic links to directories, subject to
- the value of the m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs readline variable, regardless of the
+ When a compspec indicates that directory name completion is desired,
+ the programmable completion functions force readline to append a slash
+ to completed names which are symbolic links to directories, subject to
+ the value of the m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs readline variable, regardless of the
setting of the m\bma\bar\brk\bk-\b-s\bsy\bym\bml\bli\bin\bnk\bke\bed\bd-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs readline variable.
H\bHI\bIS\bST\bTO\bOR\bRY\bY
- When the -\b-o\bo h\bhi\bis\bst\bto\bor\bry\by option to the s\bse\bet\bt builtin is enabled, the shell
+ When the -\b-o\bo h\bhi\bis\bst\bto\bor\bry\by option to the s\bse\bet\bt builtin is enabled, the shell
provides access to the _\bc_\bo_\bm_\bm_\ba_\bn_\bd _\bh_\bi_\bs_\bt_\bo_\br_\by, the list of commands previously
- typed. The value of the H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE variable is used as the number of
+ typed. The value of the H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE variable is used as the number of
commands to save in a history list. The text of the last H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE com-
- mands (default 500) is saved. The shell stores each command in the
- history list prior to parameter and variable expansion (see E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
- above) but after history expansion is performed, subject to the values
+ mands (default 500) is saved. The shell stores each command in the
+ history list prior to parameter and variable expansion (see E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
+ above) but after history expansion is performed, subject to the values
of the shell variables H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE and H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL.
On startup, the history is initialized from the file named by the vari-
- able H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE (default _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by). The file named by the value
- of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is truncated, if necessary, to contain no more than the
- number of lines specified by the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE. When the his-
- tory file is read, lines beginning with the history comment character
- followed immediately by a digit are interpreted as timestamps for the
- preceding history line. These timestamps are optionally displayed
- depending on the value of the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable. When an inter-
- active shell exits, the last $\b$H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE lines are copied from the his-
+ able H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE (default _\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bh_\bi_\bs_\bt_\bo_\br_\by). The file named by the value
+ of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is truncated, if necessary, to contain no more than the
+ number of lines specified by the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE. When the his-
+ tory file is read, lines beginning with the history comment character
+ followed immediately by a digit are interpreted as timestamps for the
+ preceding history line. These timestamps are optionally displayed
+ depending on the value of the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT variable. When an inter-
+ active shell exits, the last $\b$H\bHI\bIS\bST\bTS\bSI\bIZ\bZE\bE lines are copied from the his-
tory list to $\b$H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE. If the h\bhi\bis\bst\bta\bap\bpp\bpe\ben\bnd\bd shell option is enabled (see
the description of s\bsh\bho\bop\bpt\bt under S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below), the lines
- are appended to the history file, otherwise the history file is over-
- written. If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset, or if the history file is unwritable,
- the history is not saved. If the variable is set, time stamps are
+ are appended to the history file, otherwise the history file is over-
+ written. If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is unset, or if the history file is unwritable,
+ the history is not saved. If the variable is set, time stamps are
written to the history file, marked with the history comment character,
- so they may be preserved across shell sessions. This uses the history
- comment character to distinguish timestamps from other history lines.
- After saving the history, the history file is truncated to contain no
- more than H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE lines. If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE is not set, no trunca-
+ so they may be preserved across shell sessions. This uses the history
+ comment character to distinguish timestamps from other history lines.
+ After saving the history, the history file is truncated to contain no
+ more than H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE lines. If H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bES\bSI\bIZ\bZE\bE is not set, no trunca-
tion is performed.
- The builtin command f\bfc\bc (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) may be used
+ The builtin command f\bfc\bc (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below) may be used
to list or edit and re-execute a portion of the history list. The h\bhi\bis\bs-\b-
- t\bto\bor\bry\by builtin may be used to display or modify the history list and
- manipulate the history file. When using command-line editing, search
- commands are available in each editing mode that provide access to the
+ t\bto\bor\bry\by builtin may be used to display or modify the history list and
+ manipulate the history file. When using command-line editing, search
+ commands are available in each editing mode that provide access to the
history list.
- The shell allows control over which commands are saved on the history
+ The shell allows control over which commands are saved on the history
list. The H\bHI\bIS\bST\bTC\bCO\bON\bNT\bTR\bRO\bOL\bL and H\bHI\bIS\bST\bTI\bIG\bGN\bNO\bOR\bRE\bE variables may be set to cause the
shell to save only a subset of the commands entered. The c\bcm\bmd\bdh\bhi\bis\bst\bt shell
- option, if enabled, causes the shell to attempt to save each line of a
- multi-line command in the same history entry, adding semicolons where
- necessary to preserve syntactic correctness. The l\bli\bit\bth\bhi\bis\bst\bt shell option
- causes the shell to save the command with embedded newlines instead of
+ option, if enabled, causes the shell to attempt to save each line of a
+ multi-line command in the same history entry, adding semicolons where
+ necessary to preserve syntactic correctness. The l\bli\bit\bth\bhi\bis\bst\bt shell option
+ causes the shell to save the command with embedded newlines instead of
semicolons. See the description of the s\bsh\bho\bop\bpt\bt builtin below under S\bSH\bHE\bEL\bLL\bL
B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS for information on setting and unsetting shell
options.
H\bHI\bIS\bST\bTO\bOR\bRY\bY E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
- The shell supports a history expansion feature that is similar to the
- history expansion in c\bcs\bsh\bh.\b. This section describes what syntax features
- are available. This feature is enabled by default for interactive
+ The shell supports a history expansion feature that is similar to the
+ history expansion in c\bcs\bsh\bh.\b. This section describes what syntax features
+ are available. This feature is enabled by default for interactive
shells, and can be disabled using the +\b+H\bH option to the s\bse\bet\bt builtin com-
mand (see S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS below). Non-interactive shells do not
perform history expansion by default.
History expansions introduce words from the history list into the input
- stream, making it easy to repeat commands, insert the arguments to a
+ stream, making it easy to repeat commands, insert the arguments to a
previous command into the current input line, or fix errors in previous
commands quickly.
- History expansion is performed immediately after a complete line is
- read, before the shell breaks it into words. It takes place in two
- parts. The first is to determine which line from the history list to
+ History expansion is performed immediately after a complete line is
+ read, before the shell breaks it into words. It takes place in two
+ parts. The first is to determine which line from the history list to
use during substitution. The second is to select portions of that line
for inclusion into the current one. The line selected from the history
- is the _\be_\bv_\be_\bn_\bt, and the portions of that line that are acted upon are
- _\bw_\bo_\br_\bd_\bs. Various _\bm_\bo_\bd_\bi_\bf_\bi_\be_\br_\bs are available to manipulate the selected
+ is the _\be_\bv_\be_\bn_\bt, and the portions of that line that are acted upon are
+ _\bw_\bo_\br_\bd_\bs. Various _\bm_\bo_\bd_\bi_\bf_\bi_\be_\br_\bs are available to manipulate the selected
words. The line is broken into words in the same fashion as when read-
- ing input, so that several _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br-separated words surrounded by
- quotes are considered one word. History expansions are introduced by
- the appearance of the history expansion character, which is !\b! by
- default. Only backslash (\\b\) and single quotes can quote the history
+ ing input, so that several _\bm_\be_\bt_\ba_\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br-separated words surrounded by
+ quotes are considered one word. History expansions are introduced by
+ the appearance of the history expansion character, which is !\b! by
+ default. Only backslash (\\b\) and single quotes can quote the history
expansion character.
- Several characters inhibit history expansion if found immediately fol-
- lowing the history expansion character, even if it is unquoted: space,
- tab, newline, carriage return, and =\b=. If the e\bex\bxt\btg\bgl\blo\bob\bb shell option is
+ Several characters inhibit history expansion if found immediately fol-
+ lowing the history expansion character, even if it is unquoted: space,
+ tab, newline, carriage return, and =\b=. If the e\bex\bxt\btg\bgl\blo\bob\bb shell option is
enabled, (\b( will also inhibit expansion.
- Several shell options settable with the s\bsh\bho\bop\bpt\bt builtin may be used to
- tailor the behavior of history expansion. If the h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by shell
+ Several shell options settable with the s\bsh\bho\bop\bpt\bt builtin may be used to
+ tailor the behavior of history expansion. If the h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by shell
option is enabled (see the description of the s\bsh\bho\bop\bpt\bt builtin), and r\bre\bea\bad\bd-\b-
l\bli\bin\bne\be is being used, history substitutions are not immediately passed to
- the shell parser. Instead, the expanded line is reloaded into the
+ the shell parser. Instead, the expanded line is reloaded into the
r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer for further modification. If r\bre\bea\bad\bdl\bli\bin\bne\be is being
used, and the h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt shell option is enabled, a failed history sub-
stitution will be reloaded into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer for correc-
- tion. The -\b-p\bp option to the h\bhi\bis\bst\bto\bor\bry\by builtin command may be used to see
+ tion. The -\b-p\bp option to the h\bhi\bis\bst\bto\bor\bry\by builtin command may be used to see
what a history expansion will do before using it. The -\b-s\bs option to the
- h\bhi\bis\bst\bto\bor\bry\by builtin may be used to add commands to the end of the history
- list without actually executing them, so that they are available for
+ h\bhi\bis\bst\bto\bor\bry\by builtin may be used to add commands to the end of the history
+ list without actually executing them, so that they are available for
subsequent recall.
- The shell allows control of the various characters used by the history
+ The shell allows control of the various characters used by the history
expansion mechanism (see the description of h\bhi\bis\bst\btc\bch\bha\bar\brs\bs above under S\bSh\bhe\bel\bll\bl
- V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs). The shell uses the history comment character to mark his-
+ V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs). The shell uses the history comment character to mark his-
tory timestamps when writing the history file.
E\bEv\bve\ben\bnt\bt D\bDe\bes\bsi\big\bgn\bna\bat\bto\bor\brs\bs
- An event designator is a reference to a command line entry in the his-
+ An event designator is a reference to a command line entry in the his-
tory list.
- !\b! Start a history substitution, except when followed by a b\bbl\bla\ban\bnk\bk,
- newline, carriage return, = or ( (when the e\bex\bxt\btg\bgl\blo\bob\bb shell option
+ !\b! Start a history substitution, except when followed by a b\bbl\bla\ban\bnk\bk,
+ newline, carriage return, = or ( (when the e\bex\bxt\btg\bgl\blo\bob\bb shell option
is enabled using the s\bsh\bho\bop\bpt\bt builtin).
!\b!_\bn Refer to command line _\bn.
!\b!-\b-_\bn Refer to the current command line minus _\bn.
!\b!_\bs_\bt_\br_\bi_\bn_\bg
Refer to the most recent command starting with _\bs_\bt_\br_\bi_\bn_\bg.
!\b!?\b?_\bs_\bt_\br_\bi_\bn_\bg[\b[?\b?]\b]
- Refer to the most recent command containing _\bs_\bt_\br_\bi_\bn_\bg. The trail-
+ Refer to the most recent command containing _\bs_\bt_\br_\bi_\bn_\bg. The trail-
ing ?\b? may be omitted if _\bs_\bt_\br_\bi_\bn_\bg is followed immediately by a new-
line.
^\b^_\bs_\bt_\br_\bi_\bn_\bg_\b1^\b^_\bs_\bt_\br_\bi_\bn_\bg_\b2^\b^
- Quick substitution. Repeat the last command, replacing _\bs_\bt_\br_\bi_\bn_\bg_\b1
+ Quick substitution. Repeat the last command, replacing _\bs_\bt_\br_\bi_\bn_\bg_\b1
with _\bs_\bt_\br_\bi_\bn_\bg_\b2. Equivalent to ``!!:s/_\bs_\bt_\br_\bi_\bn_\bg_\b1/_\bs_\bt_\br_\bi_\bn_\bg_\b2/'' (see M\bMo\bod\bd-\b-
i\bif\bfi\bie\ber\brs\bs below).
!\b!#\b# The entire command line typed so far.
W\bWo\bor\brd\bd D\bDe\bes\bsi\big\bgn\bna\bat\bto\bor\brs\bs
- Word designators are used to select desired words from the event. A :\b:
- separates the event specification from the word designator. It may be
- omitted if the word designator begins with a ^\b^, $\b$, *\b*, -\b-, or %\b%. Words
- are numbered from the beginning of the line, with the first word being
- denoted by 0 (zero). Words are inserted into the current line sepa-
+ Word designators are used to select desired words from the event. A :\b:
+ separates the event specification from the word designator. It may be
+ omitted if the word designator begins with a ^\b^, $\b$, *\b*, -\b-, or %\b%. Words
+ are numbered from the beginning of the line, with the first word being
+ denoted by 0 (zero). Words are inserted into the current line sepa-
rated by single spaces.
0\b0 (\b(z\bze\ber\bro\bo)\b)
$\b$ The last argument.
%\b% The word matched by the most recent `?_\bs_\bt_\br_\bi_\bn_\bg?' search.
_\bx-\b-_\by A range of words; `-_\by' abbreviates `0-_\by'.
- *\b* All of the words but the zeroth. This is a synonym for `_\b1_\b-_\b$'.
- It is not an error to use *\b* if there is just one word in the
+ *\b* All of the words but the zeroth. This is a synonym for `_\b1_\b-_\b$'.
+ It is not an error to use *\b* if there is just one word in the
event; the empty string is returned in that case.
x\bx*\b* Abbreviates _\bx_\b-_\b$.
x\bx-\b- Abbreviates _\bx_\b-_\b$ like x\bx*\b*, but omits the last word.
- If a word designator is supplied without an event specification, the
+ If a word designator is supplied without an event specification, the
previous command is used as the event.
M\bMo\bod\bdi\bif\bfi\bie\ber\brs\bs
- After the optional word designator, there may appear a sequence of one
+ After the optional word designator, there may appear a sequence of one
or more of the following modifiers, each preceded by a `:'.
h\bh Remove a trailing file name component, leaving only the head.
e\be Remove all but the trailing suffix.
p\bp Print the new command but do not execute it.
q\bq Quote the substituted words, escaping further substitutions.
- x\bx Quote the substituted words as with q\bq, but break into words at
+ x\bx Quote the substituted words as with q\bq, but break into words at
b\bbl\bla\ban\bnk\bks\bs and newlines.
s\bs/\b/_\bo_\bl_\bd/\b/_\bn_\be_\bw/\b/
- Substitute _\bn_\be_\bw for the first occurrence of _\bo_\bl_\bd in the event
- line. Any delimiter can be used in place of /. The final
- delimiter is optional if it is the last character of the event
- line. The delimiter may be quoted in _\bo_\bl_\bd and _\bn_\be_\bw with a single
- backslash. If & appears in _\bn_\be_\bw, it is replaced by _\bo_\bl_\bd. A sin-
- gle backslash will quote the &. If _\bo_\bl_\bd is null, it is set to
- the last _\bo_\bl_\bd substituted, or, if no previous history substitu-
+ Substitute _\bn_\be_\bw for the first occurrence of _\bo_\bl_\bd in the event
+ line. Any delimiter can be used in place of /. The final
+ delimiter is optional if it is the last character of the event
+ line. The delimiter may be quoted in _\bo_\bl_\bd and _\bn_\be_\bw with a single
+ backslash. If & appears in _\bn_\be_\bw, it is replaced by _\bo_\bl_\bd. A sin-
+ gle backslash will quote the &. If _\bo_\bl_\bd is null, it is set to
+ the last _\bo_\bl_\bd substituted, or, if no previous history substitu-
tions took place, the last _\bs_\bt_\br_\bi_\bn_\bg in a !\b!?\b?_\bs_\bt_\br_\bi_\bn_\bg[\b[?\b?]\b] search.
&\b& Repeat the previous substitution.
g\bg Cause changes to be applied over the entire event line. This is
- used in conjunction with `:\b:s\bs' (e.g., `:\b:g\bgs\bs/\b/_\bo_\bl_\bd/\b/_\bn_\be_\bw/\b/') or `:\b:&\b&'.
- If used with `:\b:s\bs', any delimiter can be used in place of /, and
- the final delimiter is optional if it is the last character of
+ used in conjunction with `:\b:s\bs' (e.g., `:\b:g\bgs\bs/\b/_\bo_\bl_\bd/\b/_\bn_\be_\bw/\b/') or `:\b:&\b&'.
+ If used with `:\b:s\bs', any delimiter can be used in place of /, and
+ the final delimiter is optional if it is the last character of
the event line. An a\ba may be used as a synonym for g\bg.
- G\bG Apply the following `s\bs' modifier once to each word in the event
+ G\bG Apply the following `s\bs' modifier once to each word in the event
line.
S\bSH\bHE\bEL\bLL\bL B\bBU\bUI\bIL\bLT\bTI\bIN\bN C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
Unless otherwise noted, each builtin command documented in this section
as accepting options preceded by -\b- accepts -\b--\b- to signify the end of the
- options. The :\b:, t\btr\bru\bue\be, f\bfa\bal\bls\bse\be, and t\bte\bes\bst\bt builtins do not accept options
+ options. The :\b:, t\btr\bru\bue\be, f\bfa\bal\bls\bse\be, and t\bte\bes\bst\bt builtins do not accept options
and do not treat -\b--\b- specially. The e\bex\bxi\bit\bt, l\blo\bog\bgo\bou\but\bt, b\bbr\bre\bea\bak\bk, c\bco\bon\bnt\bti\bin\bnu\bue\be, l\ble\bet\bt,
- and s\bsh\bhi\bif\bft\bt builtins accept and process arguments beginning with -\b- with-
- out requiring -\b--\b-. Other builtins that accept arguments but are not
- specified as accepting options interpret arguments beginning with -\b- as
+ and s\bsh\bhi\bif\bft\bt builtins accept and process arguments beginning with -\b- with-
+ out requiring -\b--\b-. Other builtins that accept arguments but are not
+ specified as accepting options interpret arguments beginning with -\b- as
invalid options and require -\b--\b- to prevent this interpretation.
:\b: [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
- No effect; the command does nothing beyond expanding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs
- and performing any specified redirections. A zero exit code is
+ No effect; the command does nothing beyond expanding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs
+ and performing any specified redirections. A zero exit code is
returned.
.\b. _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
s\bso\bou\bur\brc\bce\be _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
- Read and execute commands from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be in the current shell
- environment and return the exit status of the last command exe-
+ Read and execute commands from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be in the current shell
+ environment and return the exit status of the last command exe-
cuted from _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be. If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be does not contain a slash, file
- names in P\bPA\bAT\bTH\bH are used to find the directory containing _\bf_\bi_\bl_\be_\b-
- _\bn_\ba_\bm_\be. The file searched for in P\bPA\bAT\bTH\bH need not be executable.
- When b\bba\bas\bsh\bh is not in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, the current directory is
- searched if no file is found in P\bPA\bAT\bTH\bH. If the s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh option
- to the s\bsh\bho\bop\bpt\bt builtin command is turned off, the P\bPA\bAT\bTH\bH is not
- searched. If any _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs are supplied, they become the posi-
- tional parameters when _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is executed. Otherwise the
- positional parameters are unchanged. The return status is the
- status of the last command exited within the script (0 if no
- commands are executed), and false if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is not found or
+ names in P\bPA\bAT\bTH\bH are used to find the directory containing _\bf_\bi_\bl_\be_\b-
+ _\bn_\ba_\bm_\be. The file searched for in P\bPA\bAT\bTH\bH need not be executable.
+ When b\bba\bas\bsh\bh is not in _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, the current directory is
+ searched if no file is found in P\bPA\bAT\bTH\bH. If the s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh option
+ to the s\bsh\bho\bop\bpt\bt builtin command is turned off, the P\bPA\bAT\bTH\bH is not
+ searched. If any _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs are supplied, they become the posi-
+ tional parameters when _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is executed. Otherwise the
+ positional parameters are unchanged. The return status is the
+ status of the last command exited within the script (0 if no
+ commands are executed), and false if _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is not found or
cannot be read.
a\bal\bli\bia\bas\bs [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
A\bAl\bli\bia\bas\bs with no arguments or with the -\b-p\bp option prints the list of
- aliases in the form a\bal\bli\bia\bas\bs _\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be on standard output. When
- arguments are supplied, an alias is defined for each _\bn_\ba_\bm_\be whose
+ aliases in the form a\bal\bli\bia\bas\bs _\bn_\ba_\bm_\be=_\bv_\ba_\bl_\bu_\be on standard output. When
+ arguments are supplied, an alias is defined for each _\bn_\ba_\bm_\be whose
_\bv_\ba_\bl_\bu_\be is given. A trailing space in _\bv_\ba_\bl_\bu_\be causes the next word
to be checked for alias substitution when the alias is expanded.
- For each _\bn_\ba_\bm_\be in the argument list for which no _\bv_\ba_\bl_\bu_\be is sup-
- plied, the name and value of the alias is printed. A\bAl\bli\bia\bas\bs
- returns true unless a _\bn_\ba_\bm_\be is given for which no alias has been
+ For each _\bn_\ba_\bm_\be in the argument list for which no _\bv_\ba_\bl_\bu_\be is sup-
+ plied, the name and value of the alias is printed. A\bAl\bli\bia\bas\bs
+ returns true unless a _\bn_\ba_\bm_\be is given for which no alias has been
defined.
b\bbg\bg [_\bj_\bo_\bb_\bs_\bp_\be_\bc ...]
- Resume each suspended job _\bj_\bo_\bb_\bs_\bp_\be_\bc in the background, as if it
+ Resume each suspended job _\bj_\bo_\bb_\bs_\bp_\be_\bc in the background, as if it
had been started with &\b&. If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell's
- notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used. b\bbg\bg _\bj_\bo_\bb_\bs_\bp_\be_\bc returns 0 unless
- run when job control is disabled or, when run with job control
- enabled, any specified _\bj_\bo_\bb_\bs_\bp_\be_\bc was not found or was started
+ notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used. b\bbg\bg _\bj_\bo_\bb_\bs_\bp_\be_\bc returns 0 unless
+ run when job control is disabled or, when run with job control
+ enabled, any specified _\bj_\bo_\bb_\bs_\bp_\be_\bc was not found or was started
without job control.
b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] [-\b-l\blp\bps\bsv\bvP\bPS\bSV\bV]
b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] -\b-x\bx _\bk_\be_\by_\bs_\be_\bq:_\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd
b\bbi\bin\bnd\bd [-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp] _\bk_\be_\by_\bs_\be_\bq:_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be
b\bbi\bin\bnd\bd _\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd
- Display current r\bre\bea\bad\bdl\bli\bin\bne\be key and function bindings, bind a key
- sequence to a r\bre\bea\bad\bdl\bli\bin\bne\be function or macro, or set a r\bre\bea\bad\bdl\bli\bin\bne\be
- variable. Each non-option argument is a command as it would
- appear in _\b._\bi_\bn_\bp_\bu_\bt_\br_\bc, but each binding or command must be passed
- as a separate argument; e.g., '"\C-x\C-r": re-read-init-file'.
+ Display current r\bre\bea\bad\bdl\bli\bin\bne\be key and function bindings, bind a key
+ sequence to a r\bre\bea\bad\bdl\bli\bin\bne\be function or macro, or set a r\bre\bea\bad\bdl\bli\bin\bne\be
+ variable. Each non-option argument is a command as it would
+ appear in _\b._\bi_\bn_\bp_\bu_\bt_\br_\bc, but each binding or command must be passed
+ as a separate argument; e.g., '"\C-x\C-r": re-read-init-file'.
Options, if supplied, have the following meanings:
-\b-m\bm _\bk_\be_\by_\bm_\ba_\bp
Use _\bk_\be_\by_\bm_\ba_\bp as the keymap to be affected by the subsequent
bindings. Acceptable _\bk_\be_\by_\bm_\ba_\bp names are _\be_\bm_\ba_\bc_\bs_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\b-
- _\bd_\ba_\br_\bd_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b, _\bv_\bi_\b, _\bv_\bi_\b-_\bm_\bo_\bv_\be_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd,
- and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt. _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd; _\be_\bm_\ba_\bc_\bs is
+ _\bd_\ba_\br_\bd_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b, _\bv_\bi_\b, _\bv_\bi_\b-_\bm_\bo_\bv_\be_\b, _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd,
+ and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt. _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd; _\be_\bm_\ba_\bc_\bs is
equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd.
-\b-l\bl List the names of all r\bre\bea\bad\bdl\bli\bin\bne\be functions.
- -\b-p\bp Display r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings in such a
+ -\b-p\bp Display r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings in such a
way that they can be re-read.
-\b-P\bP List current r\bre\bea\bad\bdl\bli\bin\bne\be function names and bindings.
- -\b-s\bs Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to macros and the
- strings they output in such a way that they can be re-
+ -\b-s\bs Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to macros and the
+ strings they output in such a way that they can be re-
read.
- -\b-S\bS Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to macros and the
+ -\b-S\bS Display r\bre\bea\bad\bdl\bli\bin\bne\be key sequences bound to macros and the
strings they output.
- -\b-v\bv Display r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values in such a way
+ -\b-v\bv Display r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values in such a way
that they can be re-read.
-\b-V\bV List current r\bre\bea\bad\bdl\bli\bin\bne\be variable names and values.
-\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
-\b-r\br _\bk_\be_\by_\bs_\be_\bq
Remove any current binding for _\bk_\be_\by_\bs_\be_\bq.
-\b-x\bx _\bk_\be_\by_\bs_\be_\bq:\b:_\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd
- Cause _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed whenever _\bk_\be_\by_\bs_\be_\bq is
- entered. When _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed, the shell sets
- the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE variable to the contents of the r\bre\bea\bad\bd-\b-
- l\bli\bin\bne\be line buffer and the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT variable to the
+ Cause _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed whenever _\bk_\be_\by_\bs_\be_\bq is
+ entered. When _\bs_\bh_\be_\bl_\bl_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed, the shell sets
+ the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE variable to the contents of the r\bre\bea\bad\bd-\b-
+ l\bli\bin\bne\be line buffer and the R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT variable to the
current location of the insertion point. If the executed
- command changes the value of R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE or R\bRE\bEA\bAD\bD-\b-
- L\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT, those new values will be reflected in the
+ command changes the value of R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE_\b_L\bLI\bIN\bNE\bE or R\bRE\bEA\bAD\bD-\b-
+ L\bLI\bIN\bNE\bE_\b_P\bPO\bOI\bIN\bNT\bT, those new values will be reflected in the
editing state.
- The return value is 0 unless an unrecognized option is given or
+ The return value is 0 unless an unrecognized option is given or
an error occurred.
b\bbr\bre\bea\bak\bk [_\bn]
- Exit from within a f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or s\bse\bel\ble\bec\bct\bt loop. If _\bn is
- specified, break _\bn levels. _\bn must be >= 1. If _\bn is greater
- than the number of enclosing loops, all enclosing loops are
- exited. The return value is 0 unless _\bn is not greater than or
+ Exit from within a f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or s\bse\bel\ble\bec\bct\bt loop. If _\bn is
+ specified, break _\bn levels. _\bn must be >= 1. If _\bn is greater
+ than the number of enclosing loops, all enclosing loops are
+ exited. The return value is 0 unless _\bn is not greater than or
equal to 1.
b\bbu\bui\bil\blt\bti\bin\bn _\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
- Execute the specified shell builtin, passing it _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, and
+ Execute the specified shell builtin, passing it _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, and
return its exit status. This is useful when defining a function
- whose name is the same as a shell builtin, retaining the func-
+ whose name is the same as a shell builtin, retaining the func-
tionality of the builtin within the function. The c\bcd\bd builtin is
- commonly redefined this way. The return status is false if
+ commonly redefined this way. The return status is false if
_\bs_\bh_\be_\bl_\bl_\b-_\bb_\bu_\bi_\bl_\bt_\bi_\bn is not a shell builtin command.
c\bca\bal\bll\ble\ber\br [_\be_\bx_\bp_\br]
Returns the context of any active subroutine call (a shell func-
- tion or a script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins. With-
+ tion or a script executed with the .\b. or s\bso\bou\bur\brc\bce\be builtins. With-
out _\be_\bx_\bp_\br, c\bca\bal\bll\ble\ber\br displays the line number and source filename of
- the current subroutine call. If a non-negative integer is sup-
+ the current subroutine call. If a non-negative integer is sup-
plied as _\be_\bx_\bp_\br, c\bca\bal\bll\ble\ber\br displays the line number, subroutine name,
- and source file corresponding to that position in the current
- execution call stack. This extra information may be used, for
- example, to print a stack trace. The current frame is frame 0.
- The return value is 0 unless the shell is not executing a sub-
- routine call or _\be_\bx_\bp_\br does not correspond to a valid position in
+ and source file corresponding to that position in the current
+ execution call stack. This extra information may be used, for
+ example, to print a stack trace. The current frame is frame 0.
+ The return value is 0 unless the shell is not executing a sub-
+ routine call or _\be_\bx_\bp_\br does not correspond to a valid position in
the call stack.
c\bcd\bd [-\b-L\bL|\b|-\b-P\bP] [_\bd_\bi_\br]
- Change the current directory to _\bd_\bi_\br. The variable H\bHO\bOM\bME\bE is the
- default _\bd_\bi_\br. The variable C\bCD\bDP\bPA\bAT\bTH\bH defines the search path for
- the directory containing _\bd_\bi_\br. Alternative directory names in
- C\bCD\bDP\bPA\bAT\bTH\bH are separated by a colon (:). A null directory name in
- C\bCD\bDP\bPA\bAT\bTH\bH is the same as the current directory, i.e., ``.\b.''. If
- _\bd_\bi_\br begins with a slash (/), then C\bCD\bDP\bPA\bAT\bTH\bH is not used. The -\b-P\bP
- option says to use the physical directory structure instead of
- following symbolic links (see also the -\b-P\bP option to the s\bse\bet\bt
+ Change the current directory to _\bd_\bi_\br. The variable H\bHO\bOM\bME\bE is the
+ default _\bd_\bi_\br. The variable C\bCD\bDP\bPA\bAT\bTH\bH defines the search path for
+ the directory containing _\bd_\bi_\br. Alternative directory names in
+ C\bCD\bDP\bPA\bAT\bTH\bH are separated by a colon (:). A null directory name in
+ C\bCD\bDP\bPA\bAT\bTH\bH is the same as the current directory, i.e., ``.\b.''. If
+ _\bd_\bi_\br begins with a slash (/), then C\bCD\bDP\bPA\bAT\bTH\bH is not used. The -\b-P\bP
+ option says to use the physical directory structure instead of
+ following symbolic links (see also the -\b-P\bP option to the s\bse\bet\bt
builtin command); the -\b-L\bL option forces symbolic links to be fol-
- lowed. An argument of -\b- is equivalent to $\b$O\bOL\bLD\bDP\bPW\bWD\bD. If a non-
- empty directory name from C\bCD\bDP\bPA\bAT\bTH\bH is used, or if -\b- is the first
- argument, and the directory change is successful, the absolute
+ lowed. An argument of -\b- is equivalent to $\b$O\bOL\bLD\bDP\bPW\bWD\bD. If a non-
+ empty directory name from C\bCD\bDP\bPA\bAT\bTH\bH is used, or if -\b- is the first
+ argument, and the directory change is successful, the absolute
pathname of the new working directory is written to the standard
- output. The return value is true if the directory was success-
+ output. The return value is true if the directory was success-
fully changed; false otherwise.
c\bco\bom\bmm\bma\ban\bnd\bd [-\b-p\bpV\bVv\bv] _\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg ...]
- Run _\bc_\bo_\bm_\bm_\ba_\bn_\bd with _\ba_\br_\bg_\bs suppressing the normal shell function
- lookup. Only builtin commands or commands found in the P\bPA\bAT\bTH\bH are
- executed. If the -\b-p\bp option is given, the search for _\bc_\bo_\bm_\bm_\ba_\bn_\bd is
- performed using a default value for P\bPA\bAT\bTH\bH that is guaranteed to
- find all of the standard utilities. If either the -\b-V\bV or -\b-v\bv
+ Run _\bc_\bo_\bm_\bm_\ba_\bn_\bd with _\ba_\br_\bg_\bs suppressing the normal shell function
+ lookup. Only builtin commands or commands found in the P\bPA\bAT\bTH\bH are
+ executed. If the -\b-p\bp option is given, the search for _\bc_\bo_\bm_\bm_\ba_\bn_\bd is
+ performed using a default value for P\bPA\bAT\bTH\bH that is guaranteed to
+ find all of the standard utilities. If either the -\b-V\bV or -\b-v\bv
option is supplied, a description of _\bc_\bo_\bm_\bm_\ba_\bn_\bd is printed. The -\b-v\bv
- option causes a single word indicating the command or file name
+ option causes a single word indicating the command or file name
used to invoke _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be displayed; the -\b-V\bV option produces a
- more verbose description. If the -\b-V\bV or -\b-v\bv option is supplied,
- the exit status is 0 if _\bc_\bo_\bm_\bm_\ba_\bn_\bd was found, and 1 if not. If
+ more verbose description. If the -\b-V\bV or -\b-v\bv option is supplied,
+ the exit status is 0 if _\bc_\bo_\bm_\bm_\ba_\bn_\bd was found, and 1 if not. If
neither option is supplied and an error occurred or _\bc_\bo_\bm_\bm_\ba_\bn_\bd can-
- not be found, the exit status is 127. Otherwise, the exit sta-
+ not be found, the exit status is 127. Otherwise, the exit sta-
tus of the c\bco\bom\bmm\bma\ban\bnd\bd builtin is the exit status of _\bc_\bo_\bm_\bm_\ba_\bn_\bd.
c\bco\bom\bmp\bpg\bge\ben\bn [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bw_\bo_\br_\bd]
- Generate possible completion matches for _\bw_\bo_\br_\bd according to the
- _\bo_\bp_\bt_\bi_\bo_\bns, which may be any option accepted by the c\bco\bom\bmp\bpl\ble\bet\bte\be
- builtin with the exception of -\b-p\bp and -\b-r\br, and write the matches
- to the standard output. When using the -\b-F\bF or -\b-C\bC options, the
- various shell variables set by the programmable completion
+ Generate possible completion matches for _\bw_\bo_\br_\bd according to the
+ _\bo_\bp_\bt_\bi_\bo_\bns, which may be any option accepted by the c\bco\bom\bmp\bpl\ble\bet\bte\be
+ builtin with the exception of -\b-p\bp and -\b-r\br, and write the matches
+ to the standard output. When using the -\b-F\bF or -\b-C\bC options, the
+ various shell variables set by the programmable completion
facilities, while available, will not have useful values.
- The matches will be generated in the same way as if the pro-
- grammable completion code had generated them directly from a
+ The matches will be generated in the same way as if the pro-
+ grammable completion code had generated them directly from a
completion specification with the same flags. If _\bw_\bo_\br_\bd is speci-
fied, only those completions matching _\bw_\bo_\br_\bd will be displayed.
- The return value is true unless an invalid option is supplied,
+ The return value is true unless an invalid option is supplied,
or no matches were generated.
c\bco\bom\bmp\bpl\ble\bet\bte\be [-\b-a\bab\bbc\bcd\bde\bef\bfg\bgj\bjk\bks\bsu\buv\bv] [-\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn] [-\b-E\bE] [-\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn] [-\b-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt]
[-\b-W\bW _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt] [-\b-F\bF _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn] [-\b-C\bC _\bc_\bo_\bm_\bm_\ba_\bn_\bd]
[-\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt] [-\b-P\bP _\bp_\br_\be_\bf_\bi_\bx] [-\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx] _\bn_\ba_\bm_\be [_\bn_\ba_\bm_\be _\b._\b._\b.]
c\bco\bom\bmp\bpl\ble\bet\bte\be -\b-p\bpr\br [-\b-E\bE] [_\bn_\ba_\bm_\be ...]
- Specify how arguments to each _\bn_\ba_\bm_\be should be completed. If the
- -\b-p\bp option is supplied, or if no options are supplied, existing
- completion specifications are printed in a way that allows them
+ Specify how arguments to each _\bn_\ba_\bm_\be should be completed. If the
+ -\b-p\bp option is supplied, or if no options are supplied, existing
+ completion specifications are printed in a way that allows them
to be reused as input. The -\b-r\br option removes a completion spec-
- ification for each _\bn_\ba_\bm_\be, or, if no _\bn_\ba_\bm_\bes are supplied, all com-
+ ification for each _\bn_\ba_\bm_\be, or, if no _\bn_\ba_\bm_\bes are supplied, all com-
pletion specifications. The -\b-E\bE option indicates that the
- remaining options and actions should apply to ``empty'' command
+ remaining options and actions should apply to ``empty'' command
completion; that is, completion attempted on a blank line.
- The process of applying these completion specifications when
- word completion is attempted is described above under P\bPr\bro\bo-\b-
+ The process of applying these completion specifications when
+ word completion is attempted is described above under P\bPr\bro\bo-\b-
g\bgr\bra\bam\bmm\bma\bab\bbl\ble\be C\bCo\bom\bmp\bpl\ble\bet\bti\bio\bon\bn.
- Other options, if specified, have the following meanings. The
- arguments to the -\b-G\bG, -\b-W\bW, and -\b-X\bX options (and, if necessary, the
- -\b-P\bP and -\b-S\bS options) should be quoted to protect them from expan-
+ Other options, if specified, have the following meanings. The
+ arguments to the -\b-G\bG, -\b-W\bW, and -\b-X\bX options (and, if necessary, the
+ -\b-P\bP and -\b-S\bS options) should be quoted to protect them from expan-
sion before the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin is invoked.
-\b-o\bo _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn
- The _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn controls several aspects of the comp-
- spec's behavior beyond the simple generation of comple-
+ The _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn controls several aspects of the comp-
+ spec's behavior beyond the simple generation of comple-
tions. _\bc_\bo_\bm_\bp_\b-_\bo_\bp_\bt_\bi_\bo_\bn may be one of:
b\bba\bas\bsh\bhd\bde\bef\bfa\bau\bul\blt\bt
Perform the rest of the default b\bba\bas\bsh\bh completions
if the compspec generates no matches.
- d\bde\bef\bfa\bau\bul\blt\bt Use readline's default filename completion if
+ d\bde\bef\bfa\bau\bul\blt\bt Use readline's default filename completion if
the compspec generates no matches.
d\bdi\bir\brn\bna\bam\bme\bes\bs
- Perform directory name completion if the comp-
+ Perform directory name completion if the comp-
spec generates no matches.
f\bfi\bil\ble\ben\bna\bam\bme\bes\bs
- Tell readline that the compspec generates file-
- names, so it can perform any filename-specific
- processing (like adding a slash to directory
- names, quoting special characters, or suppress-
- ing trailing spaces). Intended to be used with
+ Tell readline that the compspec generates file-
+ names, so it can perform any filename-specific
+ processing (like adding a slash to directory
+ names, quoting special characters, or suppress-
+ ing trailing spaces). Intended to be used with
shell functions.
- n\bno\bos\bsp\bpa\bac\bce\be Tell readline not to append a space (the
- default) to words completed at the end of the
+ n\bno\bos\bsp\bpa\bac\bce\be Tell readline not to append a space (the
+ default) to words completed at the end of the
line.
p\bpl\blu\bus\bsd\bdi\bir\brs\bs
- After any matches defined by the compspec are
- generated, directory name completion is
- attempted and any matches are added to the
+ After any matches defined by the compspec are
+ generated, directory name completion is
+ attempted and any matches are added to the
results of the other actions.
-\b-A\bA _\ba_\bc_\bt_\bi_\bo_\bn
- The _\ba_\bc_\bt_\bi_\bo_\bn may be one of the following to generate a
+ The _\ba_\bc_\bt_\bi_\bo_\bn may be one of the following to generate a
list of possible completions:
a\bal\bli\bia\bas\bs Alias names. May also be specified as -\b-a\ba.
a\bar\brr\bra\bay\byv\bva\bar\br
Array variable names.
b\bbi\bin\bnd\bdi\bin\bng\bg R\bRe\bea\bad\bdl\bli\bin\bne\be key binding names.
- b\bbu\bui\bil\blt\bti\bin\bn Names of shell builtin commands. May also be
+ b\bbu\bui\bil\blt\bti\bin\bn Names of shell builtin commands. May also be
specified as -\b-b\bb.
c\bco\bom\bmm\bma\ban\bnd\bd Command names. May also be specified as -\b-c\bc.
d\bdi\bir\bre\bec\bct\bto\bor\bry\by
d\bdi\bis\bsa\bab\bbl\ble\bed\bd
Names of disabled shell builtins.
e\ben\bna\bab\bbl\ble\bed\bd Names of enabled shell builtins.
- e\bex\bxp\bpo\bor\brt\bt Names of exported shell variables. May also be
+ e\bex\bxp\bpo\bor\brt\bt Names of exported shell variables. May also be
specified as -\b-e\be.
f\bfi\bil\ble\be File names. May also be specified as -\b-f\bf.
f\bfu\bun\bnc\bct\bti\bio\bon\bn
h\bhe\bel\blp\bpt\bto\bop\bpi\bic\bc
Help topics as accepted by the h\bhe\bel\blp\bp builtin.
h\bho\bos\bst\btn\bna\bam\bme\be
- Hostnames, as taken from the file specified by
+ Hostnames, as taken from the file specified by
the H\bHO\bOS\bST\bTF\bFI\bIL\bLE\bE shell variable.
- j\bjo\bob\bb Job names, if job control is active. May also
+ j\bjo\bob\bb Job names, if job control is active. May also
be specified as -\b-j\bj.
- k\bke\bey\byw\bwo\bor\brd\bd Shell reserved words. May also be specified as
+ k\bke\bey\byw\bwo\bor\brd\bd Shell reserved words. May also be specified as
-\b-k\bk.
r\bru\bun\bnn\bni\bin\bng\bg Names of running jobs, if job control is active.
s\bse\ber\brv\bvi\bic\bce\be Service names. May also be specified as -\b-s\bs.
- s\bse\bet\bto\bop\bpt\bt Valid arguments for the -\b-o\bo option to the s\bse\bet\bt
+ s\bse\bet\bto\bop\bpt\bt Valid arguments for the -\b-o\bo option to the s\bse\bet\bt
builtin.
- s\bsh\bho\bop\bpt\bt Shell option names as accepted by the s\bsh\bho\bop\bpt\bt
+ s\bsh\bho\bop\bpt\bt Shell option names as accepted by the s\bsh\bho\bop\bpt\bt
builtin.
s\bsi\big\bgn\bna\bal\bl Signal names.
s\bst\bto\bop\bpp\bpe\bed\bd Names of stopped jobs, if job control is active.
Names of all shell variables. May also be spec-
ified as -\b-v\bv.
-\b-G\bG _\bg_\bl_\bo_\bb_\bp_\ba_\bt
- The filename expansion pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt is expanded to
+ The filename expansion pattern _\bg_\bl_\bo_\bb_\bp_\ba_\bt is expanded to
generate the possible completions.
-\b-W\bW _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt
- The _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt is split using the characters in the I\bIF\bFS\bS
- special variable as delimiters, and each resultant word
- is expanded. The possible completions are the members
- of the resultant list which match the word being com-
+ The _\bw_\bo_\br_\bd_\bl_\bi_\bs_\bt is split using the characters in the I\bIF\bFS\bS
+ special variable as delimiters, and each resultant word
+ is expanded. The possible completions are the members
+ of the resultant list which match the word being com-
pleted.
-\b-C\bC _\bc_\bo_\bm_\bm_\ba_\bn_\bd
- _\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed in a subshell environment, and its
+ _\bc_\bo_\bm_\bm_\ba_\bn_\bd is executed in a subshell environment, and its
output is used as the possible completions.
-\b-F\bF _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn
- The shell function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in the current
- shell environment. When it finishes, the possible com-
- pletions are retrieved from the value of the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
+ The shell function _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn is executed in the current
+ shell environment. When it finishes, the possible com-
+ pletions are retrieved from the value of the C\bCO\bOM\bMP\bPR\bRE\bEP\bPL\bLY\bY
array variable.
-\b-X\bX _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt
- _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is a pattern as used for filename expansion.
+ _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is a pattern as used for filename expansion.
It is applied to the list of possible completions gener-
- ated by the preceding options and arguments, and each
- completion matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the list.
- A leading !\b! in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the pattern; in this
- case, any completion not matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed.
+ ated by the preceding options and arguments, and each
+ completion matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed from the list.
+ A leading !\b! in _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt negates the pattern; in this
+ case, any completion not matching _\bf_\bi_\bl_\bt_\be_\br_\bp_\ba_\bt is removed.
-\b-P\bP _\bp_\br_\be_\bf_\bi_\bx
- _\bp_\br_\be_\bf_\bi_\bx is added at the beginning of each possible com-
+ _\bp_\br_\be_\bf_\bi_\bx is added at the beginning of each possible com-
pletion after all other options have been applied.
-\b-S\bS _\bs_\bu_\bf_\bf_\bi_\bx
_\bs_\bu_\bf_\bf_\bi_\bx is appended to each possible completion after all
other options have been applied.
- The return value is true unless an invalid option is supplied,
- an option other than -\b-p\bp or -\b-r\br is supplied without a _\bn_\ba_\bm_\be argu-
- ment, an attempt is made to remove a completion specification
+ The return value is true unless an invalid option is supplied,
+ an option other than -\b-p\bp or -\b-r\br is supplied without a _\bn_\ba_\bm_\be argu-
+ ment, an attempt is made to remove a completion specification
for a _\bn_\ba_\bm_\be for which no specification exists, or an error occurs
adding a completion specification.
c\bco\bom\bmp\bpo\bop\bpt\bt [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be]
Modify completion options for each _\bn_\ba_\bm_\be according to the
- _\bo_\bp_\bt_\bi_\bo_\bns, or for the currently-execution completion if no _\bn_\ba_\bm_\bes
- are supplied. If no _\bo_\bp_\bt_\bi_\bo_\bns are given, display the completion
- options for each _\bn_\ba_\bm_\be or the current completion. The possible
- values of _\bo_\bp_\bt_\bi_\bo_\bn are those valid for the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin
+ _\bo_\bp_\bt_\bi_\bo_\bns, or for the currently-execution completion if no _\bn_\ba_\bm_\bes
+ are supplied. If no _\bo_\bp_\bt_\bi_\bo_\bns are given, display the completion
+ options for each _\bn_\ba_\bm_\be or the current completion. The possible
+ values of _\bo_\bp_\bt_\bi_\bo_\bn are those valid for the c\bco\bom\bmp\bpl\ble\bet\bte\be builtin
described above.
- The return value is true unless an invalid option is supplied, an
- attempt is made to modify the options for a _\bn_\ba_\bm_\be for which no comple-
+ The return value is true unless an invalid option is supplied, an
+ attempt is made to modify the options for a _\bn_\ba_\bm_\be for which no comple-
tion specification exists, or an output error occurs.
c\bco\bon\bnt\bti\bin\bnu\bue\be [_\bn]
Resume the next iteration of the enclosing f\bfo\bor\br, w\bwh\bhi\bil\ble\be, u\bun\bnt\bti\bil\bl, or
- s\bse\bel\ble\bec\bct\bt loop. If _\bn is specified, resume at the _\bnth enclosing
- loop. _\bn must be >= 1. If _\bn is greater than the number of
- enclosing loops, the last enclosing loop (the ``top-level''
+ s\bse\bel\ble\bec\bct\bt loop. If _\bn is specified, resume at the _\bnth enclosing
+ loop. _\bn must be >= 1. If _\bn is greater than the number of
+ enclosing loops, the last enclosing loop (the ``top-level''
loop) is resumed. The return value is 0 unless _\bn is not greater
than or equal to 1.
d\bde\bec\bcl\bla\bar\bre\be [-\b-a\baA\bAf\bfF\bFi\bil\blr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
t\bty\byp\bpe\bes\bse\bet\bt [-\b-a\baA\bAf\bfF\bFi\bil\blr\brt\btu\bux\bx] [-\b-p\bp] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
- Declare variables and/or give them attributes. If no _\bn_\ba_\bm_\bes are
- given then display the values of variables. The -\b-p\bp option will
+ Declare variables and/or give them attributes. If no _\bn_\ba_\bm_\bes are
+ given then display the values of variables. The -\b-p\bp option will
display the attributes and values of each _\bn_\ba_\bm_\be. When -\b-p\bp is used
with _\bn_\ba_\bm_\be arguments, additional options are ignored. When -\b-p\bp is
- supplied without _\bn_\ba_\bm_\be arguments, it will display the attributes
- and values of all variables having the attributes specified by
- the additional options. If no other options are supplied with
- -\b-p\bp, d\bde\bec\bcl\bla\bar\bre\be will display the attributes and values of all shell
- variables. The -\b-f\bf option will restrict the display to shell
+ supplied without _\bn_\ba_\bm_\be arguments, it will display the attributes
+ and values of all variables having the attributes specified by
+ the additional options. If no other options are supplied with
+ -\b-p\bp, d\bde\bec\bcl\bla\bar\bre\be will display the attributes and values of all shell
+ variables. The -\b-f\bf option will restrict the display to shell
functions. The -\b-F\bF option inhibits the display of function defi-
- nitions; only the function name and attributes are printed. If
- the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is enabled using s\bsh\bho\bop\bpt\bt, the source
+ nitions; only the function name and attributes are printed. If
+ the e\bex\bxt\btd\bde\beb\bbu\bug\bg shell option is enabled using s\bsh\bho\bop\bpt\bt, the source
file name and line number where the function is defined are dis-
- played as well. The -\b-F\bF option implies -\b-f\bf. The following
- options can be used to restrict output to variables with the
+ played as well. The -\b-F\bF option implies -\b-f\bf. The following
+ options can be used to restrict output to variables with the
specified attribute or to give variables attributes:
- -\b-a\ba Each _\bn_\ba_\bm_\be is an indexed array variable (see A\bAr\brr\bra\bay\bys\bs
+ -\b-a\ba Each _\bn_\ba_\bm_\be is an indexed array variable (see A\bAr\brr\bra\bay\bys\bs
above).
- -\b-A\bA Each _\bn_\ba_\bm_\be is an associative array variable (see A\bAr\brr\bra\bay\bys\bs
+ -\b-A\bA Each _\bn_\ba_\bm_\be is an associative array variable (see A\bAr\brr\bra\bay\bys\bs
above).
-\b-f\bf Use function names only.
-\b-i\bi The variable is treated as an integer; arithmetic evalua-
- tion (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN )\b) is performed when the
+ tion (see A\bAR\bRI\bIT\bTH\bHM\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN )\b) is performed when the
variable is assigned a value.
- -\b-l\bl When the variable is assigned a value, all upper-case
- characters are converted to lower-case. The upper-case
+ -\b-l\bl When the variable is assigned a value, all upper-case
+ characters are converted to lower-case. The upper-case
attribute is disabled.
-\b-r\br Make _\bn_\ba_\bm_\bes readonly. These names cannot then be assigned
values by subsequent assignment statements or unset.
- -\b-t\bt Give each _\bn_\ba_\bm_\be the _\bt_\br_\ba_\bc_\be attribute. Traced functions
- inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps from the calling
- shell. The trace attribute has no special meaning for
+ -\b-t\bt Give each _\bn_\ba_\bm_\be the _\bt_\br_\ba_\bc_\be attribute. Traced functions
+ inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps from the calling
+ shell. The trace attribute has no special meaning for
variables.
- -\b-u\bu When the variable is assigned a value, all lower-case
- characters are converted to upper-case. The lower-case
+ -\b-u\bu When the variable is assigned a value, all lower-case
+ characters are converted to upper-case. The lower-case
attribute is disabled.
- -\b-x\bx Mark _\bn_\ba_\bm_\bes for export to subsequent commands via the
+ -\b-x\bx Mark _\bn_\ba_\bm_\bes for export to subsequent commands via the
environment.
- Using `+' instead of `-' turns off the attribute instead, with
+ Using `+' instead of `-' turns off the attribute instead, with
the exceptions that +\b+a\ba may not be used to destroy an array vari-
- able and +\b+r\br w\bwi\bil\bll\bl n\bno\bot\bt r\bre\bem\bmo\bov\bve\be t\bth\bhe\be r\bre\bea\bad\bdo\bon\bnl\bly\by a\bat\btt\btr\bri\bib\bbu\but\bte\be.\b. W\bWh\bhe\ben\bn u\bus\bse\bed\bd
+ able and +\b+r\br w\bwi\bil\bll\bl n\bno\bot\bt r\bre\bem\bmo\bov\bve\be t\bth\bhe\be r\bre\bea\bad\bdo\bon\bnl\bly\by a\bat\btt\btr\bri\bib\bbu\but\bte\be.\b. W\bWh\bhe\ben\bn u\bus\bse\bed\bd
i\bin\bn a\ba f\bfu\bun\bnc\bct\bti\bio\bon\bn,\b, m\bma\bak\bke\bes\bs e\bea\bac\bch\bh _\bn_\ba_\bm_\be l\blo\boc\bca\bal\bl,\b, a\bas\bs w\bwi\bit\bth\bh t\bth\bhe\be l\blo\boc\bca\bal\bl command.
If a variable name is followed by =_\bv_\ba_\bl_\bu_\be, the value of the vari-
- able is set to _\bv_\ba_\bl_\bu_\be. The return value is 0 unless an invalid
- option is encountered, an attempt is made to define a function
- using ``-f foo=bar'', an attempt is made to assign a value to a
- readonly variable, an attempt is made to assign a value to an
+ able is set to _\bv_\ba_\bl_\bu_\be. The return value is 0 unless an invalid
+ option is encountered, an attempt is made to define a function
+ using ``-f foo=bar'', an attempt is made to assign a value to a
+ readonly variable, an attempt is made to assign a value to an
array variable without using the compound assignment syntax (see
- A\bAr\brr\bra\bay\bys\bs above), one of the _\bn_\ba_\bm_\be_\bs is not a valid shell variable
+ A\bAr\brr\bra\bay\bys\bs above), one of the _\bn_\ba_\bm_\be_\bs is not a valid shell variable
name, an attempt is made to turn off readonly status for a 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-
+ 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 -\b-f\bf.
d\bdi\bir\brs\bs [\b[+\b+_\bn]\b] [\b[-\b-_\bn]\b] [\b[-\b-c\bcp\bpl\blv\bv]\b]
- Without options, displays the list of currently remembered
- directories. The default display is on a single line with
- directory names separated by spaces. Directories are added to
- the list with the p\bpu\bus\bsh\bhd\bd command; the p\bpo\bop\bpd\bd command removes
+ Without options, displays the list of currently remembered
+ directories. The default display is on a single line with
+ directory names separated by spaces. Directories are added to
+ the list with the p\bpu\bus\bsh\bhd\bd command; the p\bpo\bop\bpd\bd command removes
entries from the list.
+\b+_\bn Displays the _\bnth entry counting from the left of the list
shown by d\bdi\bir\brs\bs when invoked without options, starting with
zero.
- -\b-_\bn Displays the _\bnth entry counting from the right of the
+ -\b-_\bn Displays the _\bnth entry counting from the right of the
list shown by d\bdi\bir\brs\bs when invoked without options, starting
with zero.
-\b-c\bc Clears the directory stack by deleting all of the
entries.
- -\b-l\bl Produces a longer listing; the default listing format
+ -\b-l\bl Produces a longer listing; the default listing format
uses a tilde to denote the home directory.
-\b-p\bp Print the directory stack with one entry per line.
- -\b-v\bv Print the directory stack with one entry per line, pre-
+ -\b-v\bv Print the directory stack with one entry per line, pre-
fixing each entry with its index in the stack.
- The return value is 0 unless an invalid option is supplied or _\bn
+ The return value is 0 unless an invalid option is supplied or _\bn
indexes beyond the end of the directory stack.
d\bdi\bis\bso\bow\bwn\bn [-\b-a\bar\br] [-\b-h\bh] [_\bj_\bo_\bb_\bs_\bp_\be_\bc ...]
- Without options, each _\bj_\bo_\bb_\bs_\bp_\be_\bc is removed from the table of
- active jobs. If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, and neither -\b-a\ba n\bno\bor\br -\b-r\br
- i\bis\bs s\bsu\bup\bpp\bpl\bli\bie\bed\bd,\b, t\bth\bhe\be s\bsh\bhe\bel\bll\bl'\b's\bs n\bno\bot\bti\bio\bon\bn o\bof\bf t\bth\bhe\be _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb i\bis\bs u\bus\bse\bed\bd.\b. I\bIf\bf
+ Without options, each _\bj_\bo_\bb_\bs_\bp_\be_\bc is removed from the table of
+ active jobs. If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, and neither -\b-a\ba n\bno\bor\br -\b-r\br
+ i\bis\bs s\bsu\bup\bpp\bpl\bli\bie\bed\bd,\b, t\bth\bhe\be s\bsh\bhe\bel\bll\bl'\b's\bs n\bno\bot\bti\bio\bon\bn o\bof\bf t\bth\bhe\be _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb i\bis\bs u\bus\bse\bed\bd.\b. I\bIf\bf
t\bth\bhe\be -\b-h\bh o\bop\bpt\bti\bio\bon\bn i\bis\bs g\bgi\biv\bve\ben\bn,\b, e\bea\bac\bch\bh _\bj_\bo_\bb_\bs_\bp_\be_\bc is not removed from the ta-
- ble, but is marked so that S\bSI\bIG\bGH\bHU\bUP\bP is not sent to the job if the
- shell receives a S\bSI\bIG\bGH\bHU\bUP\bP. If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is present, and neither
- the -\b-a\ba nor the -\b-r\br option is supplied, the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.
+ ble, but is marked so that S\bSI\bIG\bGH\bHU\bUP\bP is not sent to the job if the
+ shell receives a S\bSI\bIG\bGH\bHU\bUP\bP. If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is present, and neither
+ the -\b-a\ba nor the -\b-r\br option is supplied, the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb is used.
If no _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied, the -\b-a\ba option means to remove or mark
- all jobs; the -\b-r\br option without a _\bj_\bo_\bb_\bs_\bp_\be_\bc argument restricts
- operation to running jobs. The return value is 0 unless a _\bj_\bo_\bb_\b-
+ all jobs; the -\b-r\br option without a _\bj_\bo_\bb_\bs_\bp_\be_\bc argument restricts
+ operation to running jobs. The return value is 0 unless a _\bj_\bo_\bb_\b-
_\bs_\bp_\be_\bc does not specify a valid job.
e\bec\bch\bho\bo [-\b-n\bne\beE\bE] [_\ba_\br_\bg ...]
- Output the _\ba_\br_\bgs, separated by spaces, followed by a newline.
+ Output the _\ba_\br_\bgs, separated by spaces, followed by a newline.
The return status is always 0. If -\b-n\bn is specified, the trailing
- newline is suppressed. If the -\b-e\be option is given, interpreta-
- tion of the following backslash-escaped characters is enabled.
- The -\b-E\bE option disables the interpretation of these escape char-
- acters, even on systems where they are interpreted by default.
- The x\bxp\bpg\bg_\b_e\bec\bch\bho\bo shell option may be used to dynamically determine
- whether or not e\bec\bch\bho\bo expands these escape characters by default.
- e\bec\bch\bho\bo does not interpret -\b--\b- to mean the end of options. e\bec\bch\bho\bo
+ newline is suppressed. If the -\b-e\be option is given, interpreta-
+ tion of the following backslash-escaped characters is enabled.
+ The -\b-E\bE option disables the interpretation of these escape char-
+ acters, even on systems where they are interpreted by default.
+ The x\bxp\bpg\bg_\b_e\bec\bch\bho\bo shell option may be used to dynamically determine
+ whether or not e\bec\bch\bho\bo expands these escape characters by default.
+ e\bec\bch\bho\bo does not interpret -\b--\b- to mean the end of options. e\bec\bch\bho\bo
interprets the following escape sequences:
\\b\a\ba alert (bell)
\\b\b\bb backspace
\\b\t\bt horizontal tab
\\b\v\bv vertical tab
\\b\\\b\ backslash
- \\b\0\b0_\bn_\bn_\bn the eight-bit character whose value is the octal value
+ \\b\0\b0_\bn_\bn_\bn the eight-bit character whose value is the octal value
_\bn_\bn_\bn (zero to three octal digits)
- \\b\x\bx_\bH_\bH the eight-bit character whose value is the hexadecimal
+ \\b\x\bx_\bH_\bH the eight-bit character whose value is the hexadecimal
value _\bH_\bH (one or two hex digits)
e\ben\bna\bab\bbl\ble\be [-\b-a\ba] [-\b-d\bdn\bnp\bps\bs] [-\b-f\bf _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [_\bn_\ba_\bm_\be ...]
- Enable and disable builtin shell commands. Disabling a builtin
+ Enable and disable builtin shell commands. Disabling a builtin
allows a disk command which has the same name as a shell builtin
- to be executed without specifying a full pathname, even though
- the shell normally searches for builtins before disk commands.
- If -\b-n\bn is used, each _\bn_\ba_\bm_\be is disabled; otherwise, _\bn_\ba_\bm_\be_\bs are
+ to be executed without specifying a full pathname, even though
+ the shell normally searches for builtins before disk commands.
+ If -\b-n\bn is used, each _\bn_\ba_\bm_\be is disabled; otherwise, _\bn_\ba_\bm_\be_\bs are
enabled. For example, to use the t\bte\bes\bst\bt binary found via the P\bPA\bAT\bTH\bH
- instead of the shell builtin version, run ``enable -n test''.
- The -\b-f\bf option means to load the new builtin command _\bn_\ba_\bm_\be from
+ instead of the shell builtin version, run ``enable -n test''.
+ The -\b-f\bf option means to load the new builtin command _\bn_\ba_\bm_\be from
shared object _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be, on systems that support dynamic loading.
- The -\b-d\bd option will delete a builtin previously loaded with -\b-f\bf.
+ The -\b-d\bd option will delete a builtin previously loaded with -\b-f\bf.
If no _\bn_\ba_\bm_\be arguments are given, or if the -\b-p\bp option is supplied,
a list of shell builtins is printed. With no other option argu-
- ments, the list consists of all enabled shell builtins. If -\b-n\bn
- is supplied, only disabled builtins are printed. If -\b-a\ba is sup-
- plied, the list printed includes all builtins, with an indica-
- tion of whether or not each is enabled. If -\b-s\bs is supplied, the
- output is restricted to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins. The return
- value is 0 unless a _\bn_\ba_\bm_\be is not a shell builtin or there is an
+ ments, the list consists of all enabled shell builtins. If -\b-n\bn
+ is supplied, only disabled builtins are printed. If -\b-a\ba is sup-
+ plied, the list printed includes all builtins, with an indica-
+ tion of whether or not each is enabled. If -\b-s\bs is supplied, the
+ output is restricted to the POSIX _\bs_\bp_\be_\bc_\bi_\ba_\bl builtins. The return
+ value is 0 unless a _\bn_\ba_\bm_\be is not a shell builtin or there is an
error loading a new builtin from a shared object.
e\bev\bva\bal\bl [_\ba_\br_\bg ...]
- The _\ba_\br_\bgs are read and concatenated together into a single com-
- mand. This command is then read and executed by the shell, and
- its exit status is returned as the value of e\bev\bva\bal\bl. If there are
+ The _\ba_\br_\bgs are read and concatenated together into a single com-
+ mand. This command is then read and executed by the shell, and
+ its exit status is returned as the value of e\bev\bva\bal\bl. If there are
no _\ba_\br_\bg_\bs, or only null arguments, e\bev\bva\bal\bl returns 0.
e\bex\bxe\bec\bc [-\b-c\bcl\bl] [-\b-a\ba _\bn_\ba_\bm_\be] [_\bc_\bo_\bm_\bm_\ba_\bn_\bd [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]]
- If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell. No new process
- is created. The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd. If
+ If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is specified, it replaces the shell. No new process
+ is created. The _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs become the arguments to _\bc_\bo_\bm_\bm_\ba_\bn_\bd. If
the -\b-l\bl option is supplied, the shell places a dash at the begin-
- ning of the zeroth argument passed to _\bc_\bo_\bm_\bm_\ba_\bn_\bd. This is what
+ ning of the zeroth argument passed to _\bc_\bo_\bm_\bm_\ba_\bn_\bd. This is what
_\bl_\bo_\bg_\bi_\bn(1) does. The -\b-c\bc option causes _\bc_\bo_\bm_\bm_\ba_\bn_\bd to be executed with
- an empty environment. If -\b-a\ba is supplied, the shell passes _\bn_\ba_\bm_\be
+ an empty environment. If -\b-a\ba is supplied, the shell passes _\bn_\ba_\bm_\be
as the zeroth argument to the executed command. If _\bc_\bo_\bm_\bm_\ba_\bn_\bd can-
- not be executed for some reason, a non-interactive shell exits,
- unless the shell option e\bex\bxe\bec\bcf\bfa\bai\bil\bl is enabled, in which case it
- returns failure. An interactive shell returns failure if the
+ not be executed for some reason, a non-interactive shell exits,
+ unless the shell option e\bex\bxe\bec\bcf\bfa\bai\bil\bl is enabled, in which case it
+ returns failure. An interactive shell returns failure if the
file cannot be executed. If _\bc_\bo_\bm_\bm_\ba_\bn_\bd is not specified, any redi-
rections take effect in the current shell, and the return status
- is 0. If there is a redirection error, the return status is 1.
+ is 0. If there is a redirection error, the return status is 1.
e\bex\bxi\bit\bt [_\bn]
- Cause the shell to exit with a status of _\bn. If _\bn is omitted,
+ Cause the shell to exit with a status of _\bn. If _\bn is omitted,
the exit status is that of the last command executed. A trap on
E\bEX\bXI\bIT\bT is executed before the shell terminates.
e\bex\bxp\bpo\bor\brt\bt [-\b-f\bfn\bn] [_\bn_\ba_\bm_\be[=_\bw_\bo_\br_\bd]] ...
e\bex\bxp\bpo\bor\brt\bt -\b-p\bp
- The supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the envi-
- ronment of subsequently executed commands. If the -\b-f\bf option is
- given, the _\bn_\ba_\bm_\be_\bs refer to functions. If no _\bn_\ba_\bm_\be_\bs are given, or
- if the -\b-p\bp option is supplied, a list of all names that are
- exported in this shell is printed. The -\b-n\bn option causes the
- export property to be removed from each _\bn_\ba_\bm_\be. If a variable
- name is followed by =_\bw_\bo_\br_\bd, the value of the variable is set to
- _\bw_\bo_\br_\bd. e\bex\bxp\bpo\bor\brt\bt returns an exit status of 0 unless an invalid
- option is encountered, one of the _\bn_\ba_\bm_\be_\bs is not a valid shell
+ The supplied _\bn_\ba_\bm_\be_\bs are marked for automatic export to the envi-
+ ronment of subsequently executed commands. If the -\b-f\bf option is
+ given, the _\bn_\ba_\bm_\be_\bs refer to functions. If no _\bn_\ba_\bm_\be_\bs are given, or
+ if the -\b-p\bp option is supplied, a list of all names that are
+ exported in this shell is printed. The -\b-n\bn option causes the
+ export property to be removed from each _\bn_\ba_\bm_\be. If a variable
+ name is followed by =_\bw_\bo_\br_\bd, the value of the variable is set to
+ _\bw_\bo_\br_\bd. e\bex\bxp\bpo\bor\brt\bt returns an exit status of 0 unless an invalid
+ option is encountered, one of the _\bn_\ba_\bm_\be_\bs is not a valid shell
variable name, or -\b-f\bf is supplied with a _\bn_\ba_\bm_\be that is not a func-
tion.
f\bfc\bc [-\b-e\be _\be_\bn_\ba_\bm_\be] [-\b-l\bln\bnr\br] [_\bf_\bi_\br_\bs_\bt] [_\bl_\ba_\bs_\bt]
f\bfc\bc -\b-s\bs [_\bp_\ba_\bt=_\br_\be_\bp] [_\bc_\bm_\bd]
- Fix Command. In the first form, a range of commands from _\bf_\bi_\br_\bs_\bt
- to _\bl_\ba_\bs_\bt is selected from the history list. _\bF_\bi_\br_\bs_\bt and _\bl_\ba_\bs_\bt may
- be specified as a string (to locate the last command beginning
- with that string) or as a number (an index into the history
+ Fix Command. In the first form, a range of commands from _\bf_\bi_\br_\bs_\bt
+ to _\bl_\ba_\bs_\bt is selected from the history list. _\bF_\bi_\br_\bs_\bt and _\bl_\ba_\bs_\bt may
+ be specified as a string (to locate the last command beginning
+ with that string) or as a number (an index into the history
list, where a negative number is used as an offset from the cur-
rent command number). If _\bl_\ba_\bs_\bt is not specified it is set to the
- current command for listing (so that ``fc -l -10'' prints the
+ current command for listing (so that ``fc -l -10'' prints the
last 10 commands) and to _\bf_\bi_\br_\bs_\bt otherwise. If _\bf_\bi_\br_\bs_\bt is not spec-
- ified it is set to the previous command for editing and -16 for
+ ified it is set to the previous command for editing and -16 for
listing.
- The -\b-n\bn option suppresses the command numbers when listing. The
- -\b-r\br option reverses the order of the commands. If the -\b-l\bl option
- is given, the commands are listed on standard output. Other-
- wise, the editor given by _\be_\bn_\ba_\bm_\be is invoked on a file containing
- those commands. If _\be_\bn_\ba_\bm_\be is not given, the value of the F\bFC\bCE\bED\bDI\bIT\bT
- variable is used, and the value of E\bED\bDI\bIT\bTO\bOR\bR if F\bFC\bCE\bED\bDI\bIT\bT is not set.
- If neither variable is set, _\bv_\bi is used. When editing is com-
+ The -\b-n\bn option suppresses the command numbers when listing. The
+ -\b-r\br option reverses the order of the commands. If the -\b-l\bl option
+ is given, the commands are listed on standard output. Other-
+ wise, the editor given by _\be_\bn_\ba_\bm_\be is invoked on a file containing
+ those commands. If _\be_\bn_\ba_\bm_\be is not given, the value of the F\bFC\bCE\bED\bDI\bIT\bT
+ variable is used, and the value of E\bED\bDI\bIT\bTO\bOR\bR if F\bFC\bCE\bED\bDI\bIT\bT is not set.
+ If neither variable is set, _\bv_\bi is used. When editing is com-
plete, the edited commands are echoed and executed.
- In the second form, _\bc_\bo_\bm_\bm_\ba_\bn_\bd is re-executed after each instance
- of _\bp_\ba_\bt is replaced by _\br_\be_\bp. A useful alias to use with this is
- ``r="fc -s"'', so that typing ``r cc'' runs the last command
+ In the second form, _\bc_\bo_\bm_\bm_\ba_\bn_\bd is re-executed after each instance
+ of _\bp_\ba_\bt is replaced by _\br_\be_\bp. A useful alias to use with this is
+ ``r="fc -s"'', so that typing ``r cc'' runs the last command
beginning with ``cc'' and typing ``r'' re-executes the last com-
mand.
- If the first form is used, the return value is 0 unless an
- invalid option is encountered or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt specify history
- lines out of range. If the -\b-e\be option is supplied, the return
+ If the first form is used, the return value is 0 unless an
+ invalid option is encountered or _\bf_\bi_\br_\bs_\bt or _\bl_\ba_\bs_\bt specify history
+ lines out of range. If the -\b-e\be option is supplied, the return
value is the value of the last command executed or failure if an
error occurs with the temporary file of commands. If the second
- form is used, the return status is that of the command re-exe-
- cuted, unless _\bc_\bm_\bd does not specify a valid history line, in
+ form is used, the return status is that of the command re-exe-
+ cuted, unless _\bc_\bm_\bd does not specify a valid history line, in
which case f\bfc\bc returns failure.
f\bfg\bg [_\bj_\bo_\bb_\bs_\bp_\be_\bc]
- Resume _\bj_\bo_\bb_\bs_\bp_\be_\bc in the foreground, and make it the current job.
+ Resume _\bj_\bo_\bb_\bs_\bp_\be_\bc in the foreground, and make it the current job.
If _\bj_\bo_\bb_\bs_\bp_\be_\bc is not present, the shell's notion of the _\bc_\bu_\br_\br_\be_\bn_\bt _\bj_\bo_\bb
- is used. The return value is that of the command placed into
- the foreground, or failure if run when job control is disabled
+ is used. The return value is that of the command placed into
+ the foreground, or failure if run when job control is disabled
or, when run with job control enabled, if _\bj_\bo_\bb_\bs_\bp_\be_\bc does not spec-
- ify a valid job or _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies a job that was started
+ ify a valid job or _\bj_\bo_\bb_\bs_\bp_\be_\bc specifies a job that was started
without job control.
g\bge\bet\bto\bop\bpt\bts\bs _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg _\bn_\ba_\bm_\be [_\ba_\br_\bg_\bs]
- g\bge\bet\bto\bop\bpt\bts\bs is used by shell procedures to parse positional parame-
- ters. _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg contains the option characters to be recog-
- nized; if a character is followed by a colon, the option is
- 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, g\bge\bet\bto\bop\bpt\bts\bs
- places the next option in the shell variable _\bn_\ba_\bm_\be, initializing
+ g\bge\bet\bto\bop\bpt\bts\bs is used by shell procedures to parse positional parame-
+ ters. _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg contains the option characters to be recog-
+ nized; if a character is followed by a colon, the option is
+ 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, g\bge\bet\bto\bop\bpt\bts\bs
+ places the next option in the shell variable _\bn_\ba_\bm_\be, initializing
_\bn_\ba_\bm_\be if it does not exist, and the index of the next argument to
be processed into the variable O\bOP\bPT\bTI\bIN\bND\bD. O\bOP\bPT\bTI\bIN\bND\bD is initialized to
- 1 each time the shell or a shell script is invoked. When an
- option requires an argument, g\bge\bet\bto\bop\bpt\bts\bs places that argument into
- the variable O\bOP\bPT\bTA\bAR\bRG\bG. The shell does not reset O\bOP\bPT\bTI\bIN\bND\bD 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, g\bge\bet\bto\bop\bpt\bts\bs places that argument into
+ the variable O\bOP\bPT\bTA\bAR\bRG\bG. The shell does not reset O\bOP\bPT\bTI\bIN\bND\bD automati-
+ cally; it must be manually reset between multiple calls to
g\bge\bet\bto\bop\bpt\bts\bs within the same shell invocation if a new set of parame-
ters is to be used.
- When the end of options is encountered, g\bge\bet\bto\bop\bpt\bts\bs exits with a
- return value greater than zero. O\bOP\bPT\bTI\bIN\bND\bD is set to the index of
+ When the end of options is encountered, g\bge\bet\bto\bop\bpt\bts\bs exits with a
+ return value greater than zero. O\bOP\bPT\bTI\bIN\bND\bD is set to the index of
the first non-option argument, and n\bna\bam\bme\be is set to ?.
- g\bge\bet\bto\bop\bpt\bts\bs normally parses the positional parameters, but if more
+ g\bge\bet\bto\bop\bpt\bts\bs normally parses the positional parameters, but if more
arguments are given in _\ba_\br_\bg_\bs, g\bge\bet\bto\bop\bpt\bts\bs parses those instead.
- g\bge\bet\bto\bop\bpt\bts\bs can report errors in two ways. If the first character
- of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is a colon, _\bs_\bi_\bl_\be_\bn_\bt error reporting is used. In
- normal operation diagnostic messages are printed when invalid
- options or missing option arguments are encountered. If the
- variable O\bOP\bPT\bTE\bER\bRR\bR is set to 0, no error messages will be dis-
+ g\bge\bet\bto\bop\bpt\bts\bs can report errors in two ways. If the first character
+ of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is a colon, _\bs_\bi_\bl_\be_\bn_\bt error reporting is used. In
+ normal operation diagnostic messages are printed when invalid
+ options or missing option arguments are encountered. If the
+ variable O\bOP\bPT\bTE\bER\bRR\bR is set to 0, no error messages will be dis-
played, even if the first character of _\bo_\bp_\bt_\bs_\bt_\br_\bi_\bn_\bg is not a colon.
If an invalid option is seen, g\bge\bet\bto\bop\bpt\bts\bs places ? into _\bn_\ba_\bm_\be and, if
- not silent, prints an error message and unsets O\bOP\bPT\bTA\bAR\bRG\bG. If
- g\bge\bet\bto\bop\bpt\bts\bs is silent, the option character found is placed in
+ not silent, prints an error message and unsets O\bOP\bPT\bTA\bAR\bRG\bG. If
+ g\bge\bet\bto\bop\bpt\bts\bs is silent, the option character found is placed in
O\bOP\bPT\bTA\bAR\bRG\bG and no diagnostic message is printed.
- If a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not silent,
- a question mark (?\b?) is placed in _\bn_\ba_\bm_\be, O\bOP\bPT\bTA\bAR\bRG\bG is unset, and a
- diagnostic message is printed. If g\bge\bet\bto\bop\bpt\bts\bs is silent, then a
- colon (:\b:) is placed in _\bn_\ba_\bm_\be and O\bOP\bPT\bTA\bAR\bRG\bG is set to the option
+ If a required argument is not found, and g\bge\bet\bto\bop\bpt\bts\bs is not silent,
+ a question mark (?\b?) is placed in _\bn_\ba_\bm_\be, O\bOP\bPT\bTA\bAR\bRG\bG is unset, and a
+ diagnostic message is printed. If g\bge\bet\bto\bop\bpt\bts\bs is silent, then a
+ colon (:\b:) is placed in _\bn_\ba_\bm_\be and O\bOP\bPT\bTA\bAR\bRG\bG is set to the option
character found.
- g\bge\bet\bto\bop\bpt\bts\bs returns true if an option, specified or unspecified, is
+ g\bge\bet\bto\bop\bpt\bts\bs returns true if an option, specified or unspecified, is
found. It returns false if the end of options is encountered or
an error occurs.
h\bha\bas\bsh\bh [-\b-l\blr\br] [-\b-p\bp _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be] [-\b-d\bdt\bt] [_\bn_\ba_\bm_\be]
- For each _\bn_\ba_\bm_\be, the full file name of the command is determined
+ For each _\bn_\ba_\bm_\be, the full file name of the command is determined
by searching the directories in $\b$P\bPA\bAT\bTH\bH and remembered. If the -\b-p\bp
option is supplied, no path search is performed, and _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is
used as the full file name of the command. The -\b-r\br option causes
- the shell to forget all remembered locations. The -\b-d\bd option
+ the shell to forget all remembered locations. The -\b-d\bd option
causes the shell to forget the remembered location of each _\bn_\ba_\bm_\be.
- If the -\b-t\bt option is supplied, the full pathname to which each
- _\bn_\ba_\bm_\be corresponds is printed. If multiple _\bn_\ba_\bm_\be arguments are
- supplied with -\b-t\bt, the _\bn_\ba_\bm_\be is printed before the hashed full
+ If the -\b-t\bt option is supplied, the full pathname to which each
+ _\bn_\ba_\bm_\be corresponds is printed. If multiple _\bn_\ba_\bm_\be arguments are
+ supplied with -\b-t\bt, the _\bn_\ba_\bm_\be is printed before the hashed full
pathname. The -\b-l\bl option causes output to be displayed in a for-
- mat that may be reused as input. If no arguments are given, or
+ mat that may be reused as input. If no arguments are given, or
if only -\b-l\bl is supplied, information about remembered commands is
- printed. The return status is true unless a _\bn_\ba_\bm_\be is not found
+ printed. The return status is true unless a _\bn_\ba_\bm_\be is not found
or an invalid option is supplied.
h\bhe\bel\blp\bp [-\b-d\bdm\bms\bs] [_\bp_\ba_\bt_\bt_\be_\br_\bn]
- Display helpful information about builtin commands. If _\bp_\ba_\bt_\bt_\be_\br_\bn
- is specified, h\bhe\bel\blp\bp gives detailed help on all commands matching
- _\bp_\ba_\bt_\bt_\be_\br_\bn; otherwise help for all the builtins and shell control
+ Display helpful information about builtin commands. If _\bp_\ba_\bt_\bt_\be_\br_\bn
+ is specified, h\bhe\bel\blp\bp gives detailed help on all commands matching
+ _\bp_\ba_\bt_\bt_\be_\br_\bn; otherwise help for all the builtins and shell control
structures is printed.
-\b-d\bd Display a short description of each _\bp_\ba_\bt_\bt_\be_\br_\bn
-\b-m\bm Display the description of each _\bp_\ba_\bt_\bt_\be_\br_\bn in a manpage-like
h\bhi\bis\bst\bto\bor\bry\by -\b-s\bs _\ba_\br_\bg [_\ba_\br_\bg _\b._\b._\b.]
With no options, display the command history list with line num-
bers. Lines listed with a *\b* have been modified. An argument of
- _\bn lists only the last _\bn lines. If the shell variable H\bHI\bIS\bST\bTT\bTI\bIM\bME\bE-\b-
- F\bFO\bOR\bRM\bMA\bAT\bT is set and not null, it is used as a format string for
- _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) to display the time stamp associated with each dis-
- played history entry. No intervening blank is printed between
- the formatted time stamp and the history line. If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is
- supplied, it is used as the name of the history file; if not,
- the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is used. Options, if supplied, have the
+ _\bn lists only the last _\bn lines. If the shell variable H\bHI\bIS\bST\bTT\bTI\bIM\bME\bE-\b-
+ F\bFO\bOR\bRM\bMA\bAT\bT is set and not null, it is used as a format string for
+ _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be(3) to display the time stamp associated with each dis-
+ played history entry. No intervening blank is printed between
+ the formatted time stamp and the history line. If _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be is
+ supplied, it is used as the name of the history file; if not,
+ the value of H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE is used. Options, if supplied, have the
following meanings:
-\b-c\bc Clear the history list by deleting all the entries.
-\b-d\bd _\bo_\bf_\bf_\bs_\be_\bt
Delete the history entry at position _\bo_\bf_\bf_\bs_\be_\bt.
- -\b-a\ba Append the ``new'' history lines (history lines entered
- since the beginning of the current b\bba\bas\bsh\bh session) to the
+ -\b-a\ba Append the ``new'' history lines (history lines entered
+ since the beginning of the current b\bba\bas\bsh\bh session) to the
history file.
- -\b-n\bn Read the history lines not already read from the history
- file into the current history list. These are lines
- appended to the history file since the beginning of the
+ -\b-n\bn Read the history lines not already read from the history
+ file into the current history list. These are lines
+ appended to the history file since the beginning of the
current b\bba\bas\bsh\bh session.
-\b-r\br Read the contents of the history file and use them as the
current history.
- -\b-w\bw Write the current history to the history file, overwrit-
+ -\b-w\bw Write the current history to the history file, overwrit-
ing the history file's contents.
- -\b-p\bp Perform history substitution on the following _\ba_\br_\bg_\bs and
- display the result on the standard output. Does not
- store the results in the history list. Each _\ba_\br_\bg must be
+ -\b-p\bp Perform history substitution on the following _\ba_\br_\bg_\bs and
+ display the result on the standard output. Does not
+ store the results in the history list. Each _\ba_\br_\bg must be
quoted to disable normal history expansion.
- -\b-s\bs Store the _\ba_\br_\bg_\bs in the history list as a single entry.
- The last command in the history list is removed before
+ -\b-s\bs Store the _\ba_\br_\bg_\bs in the history list as a single entry.
+ The last command in the history list is removed before
the _\ba_\br_\bg_\bs are added.
If the H\bHI\bIS\bST\bTT\bTI\bIM\bME\bEF\bFO\bOR\bRM\bMA\bAT\bT is set, the time stamp information associ-
- ated with each history entry is written to the history file,
- marked with the history comment character. When the history
+ ated with each history entry is written to the history file,
+ marked with the history comment character. When the history
file is read, lines beginning with the history comment character
- followed immediately by a digit are interpreted as timestamps
- for the 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 _\bo_\bf_\bf_\bs_\be_\bt is supplied as an
+ 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 _\bo_\bf_\bf_\bs_\be_\bt is supplied as an
argument to -\b-d\bd, or the history expansion supplied as an argument
to -\b-p\bp fails.
The first form lists the active jobs. The options have the fol-
lowing meanings:
-\b-l\bl List process IDs in addition to the normal information.
- -\b-p\bp List only the process ID of the job's process group
+ -\b-p\bp List only the process ID of the job's process group
leader.
- -\b-n\bn Display information only about jobs that have changed
- status since the user was last notified of their status.
+ -\b-n\bn Display information only about jobs that have changed
+ status since the user was last notified of their status.
-\b-r\br Restrict output to running jobs.
-\b-s\bs Restrict output to stopped jobs.
- If _\bj_\bo_\bb_\bs_\bp_\be_\bc is given, output is restricted to information about
- that job. The return status is 0 unless an invalid option is
+ If _\bj_\bo_\bb_\bs_\bp_\be_\bc is given, output is restricted to information about
+ that job. The return status is 0 unless an invalid option is
encountered or an invalid _\bj_\bo_\bb_\bs_\bp_\be_\bc is supplied.
If the -\b-x\bx option is supplied, j\bjo\bob\bbs\bs replaces any _\bj_\bo_\bb_\bs_\bp_\be_\bc found in
- _\bc_\bo_\bm_\bm_\ba_\bn_\bd or _\ba_\br_\bg_\bs with the corresponding process group ID, and
+ _\bc_\bo_\bm_\bm_\ba_\bn_\bd or _\ba_\br_\bg_\bs with the corresponding process group ID, and
executes _\bc_\bo_\bm_\bm_\ba_\bn_\bd passing it _\ba_\br_\bg_\bs, returning its exit status.
k\bki\bil\bll\bl [-\b-s\bs _\bs_\bi_\bg_\bs_\bp_\be_\bc | -\b-n\bn _\bs_\bi_\bg_\bn_\bu_\bm | -\b-_\bs_\bi_\bg_\bs_\bp_\be_\bc] [_\bp_\bi_\bd | _\bj_\bo_\bb_\bs_\bp_\be_\bc] ...
k\bki\bil\bll\bl -\b-l\bl [_\bs_\bi_\bg_\bs_\bp_\be_\bc | _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs]
- Send the signal named by _\bs_\bi_\bg_\bs_\bp_\be_\bc or _\bs_\bi_\bg_\bn_\bu_\bm to the processes
- named by _\bp_\bi_\bd or _\bj_\bo_\bb_\bs_\bp_\be_\bc. _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a case-insensitive
- signal name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix) or
- a signal number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number. If _\bs_\bi_\bg_\bs_\bp_\be_\bc is not
- present, then S\bSI\bIG\bGT\bTE\bER\bRM\bM is assumed. An argument of -\b-l\bl lists the
- signal names. If any arguments are supplied when -\b-l\bl is given,
- the names of the signals corresponding to the arguments are
+ Send the signal named by _\bs_\bi_\bg_\bs_\bp_\be_\bc or _\bs_\bi_\bg_\bn_\bu_\bm to the processes
+ named by _\bp_\bi_\bd or _\bj_\bo_\bb_\bs_\bp_\be_\bc. _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a case-insensitive
+ signal name such as S\bSI\bIG\bGK\bKI\bIL\bLL\bL (with or without the S\bSI\bIG\bG prefix) or
+ a signal number; _\bs_\bi_\bg_\bn_\bu_\bm is a signal number. If _\bs_\bi_\bg_\bs_\bp_\be_\bc is not
+ present, then S\bSI\bIG\bGT\bTE\bER\bRM\bM is assumed. An argument of -\b-l\bl lists the
+ signal names. If any arguments are supplied when -\b-l\bl is given,
+ the names of the signals corresponding to the arguments are
listed, and the return status is 0. The _\be_\bx_\bi_\bt_\b__\bs_\bt_\ba_\bt_\bu_\bs argument to
- -\b-l\bl is a number specifying either a signal number or the exit
- status of a process terminated by a signal. k\bki\bil\bll\bl returns true
- if at least one signal was successfully sent, or false if an
+ -\b-l\bl is a number specifying either a signal number or the exit
+ status of a process terminated by a signal. k\bki\bil\bll\bl returns true
+ if at least one signal was successfully sent, or false if an
error occurs or an invalid option is encountered.
l\ble\bet\bt _\ba_\br_\bg [_\ba_\br_\bg ...]
Each _\ba_\br_\bg is an arithmetic expression to be evaluated (see A\bAR\bRI\bIT\bTH\bH-\b-
- M\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN). If the last _\ba_\br_\bg evaluates to 0, l\ble\bet\bt returns
+ M\bME\bET\bTI\bIC\bC E\bEV\bVA\bAL\bLU\bUA\bAT\bTI\bIO\bON\bN). If the last _\ba_\br_\bg evaluates to 0, l\ble\bet\bt returns
1; 0 is returned otherwise.
l\blo\boc\bca\bal\bl [_\bo_\bp_\bt_\bi_\bo_\bn] [_\bn_\ba_\bm_\be[=_\bv_\ba_\bl_\bu_\be] ...]
- For each argument, a local variable named _\bn_\ba_\bm_\be is created, and
- assigned _\bv_\ba_\bl_\bu_\be. The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the options accepted
+ For each argument, a local variable named _\bn_\ba_\bm_\be is created, and
+ assigned _\bv_\ba_\bl_\bu_\be. The _\bo_\bp_\bt_\bi_\bo_\bn can be any of the options accepted
by d\bde\bec\bcl\bla\bar\bre\be. When l\blo\boc\bca\bal\bl is used within a function, it causes the
- variable _\bn_\ba_\bm_\be to have a visible scope restricted to that func-
+ variable _\bn_\ba_\bm_\be to have a visible scope restricted to that func-
tion and its children. With no operands, l\blo\boc\bca\bal\bl writes a list of
- local variables to the standard output. It is an error to use
+ local variables to the standard output. It is an error to use
l\blo\boc\bca\bal\bl when not within a function. The return status is 0 unless
- l\blo\boc\bca\bal\bl is used outside a function, an invalid _\bn_\ba_\bm_\be is supplied,
+ l\blo\boc\bca\bal\bl is used outside a function, an invalid _\bn_\ba_\bm_\be is supplied,
or _\bn_\ba_\bm_\be is a readonly variable.
l\blo\bog\bgo\bou\but\bt Exit a login shell.
- m\bma\bap\bpf\bfi\bil\ble\be [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk]
+ m\bma\bap\bpf\bfi\bil\ble\be [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk]
[-\b-c\bc _\bq_\bu_\ba_\bn_\bt_\bu_\bm] [_\ba_\br_\br_\ba_\by]
- r\bre\bea\bad\bda\bar\brr\bra\bay\by [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk]
+ r\bre\bea\bad\bda\bar\brr\bra\bay\by [-\b-n\bn _\bc_\bo_\bu_\bn_\bt] [-\b-O\bO _\bo_\br_\bi_\bg_\bi_\bn] [-\b-s\bs _\bc_\bo_\bu_\bn_\bt] [-\b-t\bt] [-\b-u\bu _\bf_\bd] [-\b-C\bC _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk]
[-\b-c\bc _\bq_\bu_\ba_\bn_\bt_\bu_\bm] [_\ba_\br_\br_\ba_\by]
Read lines from the standard input into array variable _\ba_\br_\br_\ba_\by, or
from file descriptor _\bf_\bd if the -\b-u\bu option is supplied. The vari-
- able M\bMA\bAP\bPF\bFI\bIL\bLE\bE is the default _\ba_\br_\br_\ba_\by. Options, if supplied, have
+ able M\bMA\bAP\bPF\bFI\bIL\bLE\bE is the default _\ba_\br_\br_\ba_\by. Options, if supplied, have
the following meanings:
- -\b-n\bn Copy at most _\bc_\bo_\bu_\bn_\bt lines. If _\bc_\bo_\bu_\bn_\bt is 0, all lines are
+ -\b-n\bn Copy at most _\bc_\bo_\bu_\bn_\bt lines. If _\bc_\bo_\bu_\bn_\bt is 0, all lines are
copied.
- -\b-O\bO Begin assigning to _\ba_\br_\br_\ba_\by at index _\bo_\br_\bi_\bg_\bi_\bn. The default
+ -\b-O\bO Begin assigning to _\ba_\br_\br_\ba_\by at index _\bo_\br_\bi_\bg_\bi_\bn. The default
index is 0.
-\b-s\bs Discard the first _\bc_\bo_\bu_\bn_\bt lines read.
-\b-t\bt Remove a trailing line from each line read.
- -\b-u\bu Read lines from file descriptor _\bf_\bd instead of the stan-
+ -\b-u\bu Read lines from file descriptor _\bf_\bd instead of the stan-
dard input.
- -\b-C\bC Evaluate _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read. The
+ -\b-C\bC Evaluate _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk each time _\bq_\bu_\ba_\bn_\bt_\bu_\bm lines are read. The
-\b-c\bc option specifies _\bq_\bu_\ba_\bn_\bt_\bu_\bm.
- -\b-c\bc Specify the number of lines read between each call to
+ -\b-c\bc Specify the number of lines read between each call to
_\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk.
- If -\b-C\bC is specified without -\b-c\bc, the default quantum is 5000.
+ If -\b-C\bC is specified without -\b-c\bc, the default quantum is 5000.
When _\bc_\ba_\bl_\bl_\bb_\ba_\bc_\bk is evaluated, it is supplied the index of the next
- array element to be assigned as an additional argument. _\bc_\ba_\bl_\bl_\b-
- _\bb_\ba_\bc_\bk is evaluated after the line is read but before the array
+ array element to be assigned as an additional argument. _\bc_\ba_\bl_\bl_\b-
+ _\bb_\ba_\bc_\bk is evaluated after the line is read but before the array
element is assigned.
- If not supplied with an explicit origin, m\bma\bap\bpf\bfi\bil\ble\be will clear
+ If not supplied with an explicit origin, m\bma\bap\bpf\bfi\bil\ble\be will clear
_\ba_\br_\br_\ba_\by before assigning to it.
- m\bma\bap\bpf\bfi\bil\ble\be returns successfully unless an invalid option or option
+ m\bma\bap\bpf\bfi\bil\ble\be returns successfully unless an invalid option or option
argument is supplied, or _\ba_\br_\br_\ba_\by is invalid or unassignable.
p\bpo\bop\bpd\bd [-n\bn] [+_\bn] [-_\bn]
- Removes entries from the directory stack. With no arguments,
- removes the top directory from the stack, and performs a c\bcd\bd to
+ Removes entries from the directory stack. With no arguments,
+ removes the top directory from the stack, and performs a c\bcd\bd to
the new top directory. Arguments, if supplied, have the follow-
ing meanings:
- -\b-n\bn Suppresses the normal change of directory when removing
- directories from the stack, so that only the stack is
+ -\b-n\bn Suppresses the normal change of directory when removing
+ directories from the stack, so that only the stack is
manipulated.
- +\b+_\bn Removes the _\bnth entry counting from the left of the list
- shown by d\bdi\bir\brs\bs, starting with zero. For example: ``popd
+ +\b+_\bn Removes the _\bnth entry counting from the left of the list
+ shown by d\bdi\bir\brs\bs, starting with zero. For example: ``popd
+0'' removes the first directory, ``popd +1'' the second.
-\b-_\bn Removes the _\bnth entry counting from the right of the list
- shown by d\bdi\bir\brs\bs, starting with zero. For example: ``popd
- -0'' removes the last directory, ``popd -1'' the next to
+ shown by d\bdi\bir\brs\bs, starting with zero. For example: ``popd
+ -0'' removes the last directory, ``popd -1'' the next to
last.
- If the p\bpo\bop\bpd\bd command is successful, a d\bdi\bir\brs\bs is performed as well,
- and the return status is 0. p\bpo\bop\bpd\bd returns false if an invalid
+ If the p\bpo\bop\bpd\bd command is successful, a d\bdi\bir\brs\bs is performed as well,
+ and the return status is 0. p\bpo\bop\bpd\bd 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.
p\bpr\bri\bin\bnt\btf\bf [-\b-v\bv _\bv_\ba_\br] _\bf_\bo_\br_\bm_\ba_\bt [_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs]
- Write the formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output under the
- control of the _\bf_\bo_\br_\bm_\ba_\bt. The _\bf_\bo_\br_\bm_\ba_\bt is a character string which
- contains three types of objects: plain characters, which are
- simply copied to standard output, character escape sequences,
- which are converted and copied to the standard output, and for-
- mat specifications, each of which causes printing of the next
+ Write the formatted _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs to the standard output under the
+ control of the _\bf_\bo_\br_\bm_\ba_\bt. The _\bf_\bo_\br_\bm_\ba_\bt is a character string which
+ contains three types of objects: plain characters, which are
+ simply copied to standard output, character escape sequences,
+ which are converted and copied to the standard output, and for-
+ mat specifications, each of which causes printing of the next
successive _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt. In addition to the standard _\bp_\br_\bi_\bn_\bt_\bf(1) for-
- mats, %\b%b\bb causes p\bpr\bri\bin\bnt\btf\bf to expand backslash escape sequences in
- the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt (except that \\b\c\bc terminates output,
+ mats, %\b%b\bb causes p\bpr\bri\bin\bnt\btf\bf to expand backslash escape sequences in
+ the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt (except that \\b\c\bc terminates output,
backslashes in \\b\'\b', \\b\"\b", and \\b\?\b? are not removed, and octal escapes
- beginning with \\b\0\b0 may contain up to four digits), and %\b%q\bq causes
+ beginning with \\b\0\b0 may contain up to four digits), and %\b%q\bq causes
p\bpr\bri\bin\bnt\btf\bf to output the corresponding _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt in a format that can
be reused as shell input.
- The -\b-v\bv option causes the output to be assigned to the variable
+ The -\b-v\bv option causes the output to be assigned to the variable
_\bv_\ba_\br rather than being printed to the standard output.
- The _\bf_\bo_\br_\bm_\ba_\bt is reused as necessary to consume all of the _\ba_\br_\bg_\bu_\b-
+ The _\bf_\bo_\br_\bm_\ba_\bt is reused as necessary to consume all of the _\ba_\br_\bg_\bu_\b-
_\bm_\be_\bn_\bt_\bs. If the _\bf_\bo_\br_\bm_\ba_\bt requires more _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs than are supplied,
- the extra format specifications behave as if a zero value or
- null string, as appropriate, had been supplied. The return
+ 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.
p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [+_\bn] [-_\bn]
p\bpu\bus\bsh\bhd\bd [-\b-n\bn] [_\bd_\bi_\br]
- Adds a directory to the top of the directory stack, or rotates
- the stack, making the new top of the stack the current working
+ 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:
- -\b-n\bn Suppresses the normal change of directory when adding
- directories to the stack, so that only the stack is
+ -\b-n\bn Suppresses the normal change of directory when adding
+ directories to the stack, so that only the stack is
manipulated.
- +\b+_\bn Rotates the stack so that the _\bnth directory (counting
- from the left of the list shown by d\bdi\bir\brs\bs, starting with
+ +\b+_\bn Rotates the stack so that the _\bnth directory (counting
+ from the left of the list shown by d\bdi\bir\brs\bs, starting with
zero) is at the top.
- -\b-_\bn Rotates the stack so that the _\bnth directory (counting
- from the right of the list shown by d\bdi\bir\brs\bs, starting with
+ -\b-_\bn Rotates the stack so that the _\bnth directory (counting
+ from the right of the list shown by d\bdi\bir\brs\bs, starting with
zero) is at the top.
_\bd_\bi_\br Adds _\bd_\bi_\br to the directory stack at the top, making it the
new current working directory.
If the p\bpu\bus\bsh\bhd\bd command is successful, a d\bdi\bir\brs\bs is performed as well.
- If the first form is used, p\bpu\bus\bsh\bhd\bd returns 0 unless the cd to _\bd_\bi_\br
- fails. With the second form, p\bpu\bus\bsh\bhd\bd returns 0 unless the direc-
- tory stack is empty, a non-existent directory stack element is
- specified, or the directory change to the specified new current
+ If the first form is used, p\bpu\bus\bsh\bhd\bd returns 0 unless the cd to _\bd_\bi_\br
+ fails. With the second form, p\bpu\bus\bsh\bhd\bd returns 0 unless the direc-
+ tory stack is empty, a non-existent directory stack element is
+ specified, or the directory change to the specified new current
directory fails.
p\bpw\bwd\bd [-\b-L\bLP\bP]
- Print the absolute pathname of the current working directory.
+ Print the absolute pathname of the current working directory.
The pathname printed contains no symbolic links if the -\b-P\bP option
is supplied or the -\b-o\bo p\bph\bhy\bys\bsi\bic\bca\bal\bl option to the s\bse\bet\bt builtin command
- is enabled. If the -\b-L\bL option is used, the pathname printed may
- contain symbolic links. The return status is 0 unless an error
- occurs while reading the name of the current directory or an
+ is enabled. If the -\b-L\bL option is used, the pathname printed may
+ contain symbolic links. The return status is 0 unless an error
+ occurs while reading the name of the current directory or an
invalid option is supplied.
r\bre\bea\bad\bd [-\b-e\ber\brs\bs] [-\b-a\ba _\ba_\bn_\ba_\bm_\be] [-\b-d\bd _\bd_\be_\bl_\bi_\bm] [-\b-i\bi _\bt_\be_\bx_\bt] [-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs] [-\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt] [-\b-t\bt
_\bt_\bi_\bm_\be_\bo_\bu_\bt] [-\b-u\bu _\bf_\bd] [_\bn_\ba_\bm_\be ...]
- One line is read from the standard input, or from the file
- descriptor _\bf_\bd supplied as an argument to the -\b-u\bu option, and the
+ One line is read from the standard input, or from the file
+ descriptor _\bf_\bd supplied as an argument to the -\b-u\bu option, and the
first word is assigned to the first _\bn_\ba_\bm_\be, the second word to the
- second _\bn_\ba_\bm_\be, and so on, with leftover words and their interven-
- ing separators assigned to the last _\bn_\ba_\bm_\be. If there are fewer
+ second _\bn_\ba_\bm_\be, and so on, with leftover words and their interven-
+ ing separators assigned to the last _\bn_\ba_\bm_\be. If there are fewer
words read from the input stream than names, the remaining names
- are assigned empty values. The characters in I\bIF\bFS\bS are used to
- split the line into words. The backslash character (\\b\) may be
- used to remove any special meaning for the next character read
- and for line continuation. Options, if supplied, have the fol-
+ are assigned empty values. The characters in I\bIF\bFS\bS are used to
+ split the line into words. The backslash character (\\b\) may be
+ used to remove any special meaning for the next character read
+ and for line continuation. Options, if supplied, have the fol-
lowing meanings:
-\b-a\ba _\ba_\bn_\ba_\bm_\be
The words are assigned to sequential indices of the array
new values are assigned. Other _\bn_\ba_\bm_\be arguments are
ignored.
-\b-d\bd _\bd_\be_\bl_\bi_\bm
- The first character of _\bd_\be_\bl_\bi_\bm is used to terminate the
+ The first character of _\bd_\be_\bl_\bi_\bm is used to terminate the
input line, rather than newline.
-\b-e\be If the standard input is coming from a terminal, r\bre\bea\bad\bdl\bli\bin\bne\be
- (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE above) is used to obtain the line. Read-
- line uses the current (or default, if line editing was
+ (see R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE above) is used to obtain the line. Read-
+ line uses the current (or default, if line editing was
not previously active) editing settings.
-\b-i\bi _\bt_\be_\bx_\bt
- If r\bre\bea\bad\bdl\bli\bin\bne\be is being used to read the line, _\bt_\be_\bx_\bt is
+ If r\bre\bea\bad\bdl\bli\bin\bne\be is being used to read the line, _\bt_\be_\bx_\bt is
placed into the editing buffer before editing begins.
-\b-n\bn _\bn_\bc_\bh_\ba_\br_\bs
- r\bre\bea\bad\bd returns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather than
+ r\bre\bea\bad\bd returns after reading _\bn_\bc_\bh_\ba_\br_\bs characters rather than
waiting for a complete line of input.
-\b-p\bp _\bp_\br_\bo_\bm_\bp_\bt
Display _\bp_\br_\bo_\bm_\bp_\bt on standard error, without a trailing new-
line, before attempting to read any input. The prompt is
displayed only if input is coming from a terminal.
-\b-r\br Backslash does not act as an escape character. The back-
- slash is considered to be part of the line. In particu-
- lar, a backslash-newline pair may not be used as a line
+ slash is considered to be part of the line. In particu-
+ lar, a backslash-newline pair may not be used as a line
continuation.
-\b-s\bs Silent mode. If input is coming from a terminal, charac-
ters are not echoed.
-\b-t\bt _\bt_\bi_\bm_\be_\bo_\bu_\bt
- Cause r\bre\bea\bad\bd to time out and return failure if a complete
- line of input is not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds. _\bt_\bi_\bm_\be_\b-
- _\bo_\bu_\bt may be a decimal number with a fractional portion
- following the decimal point. This option is only effec-
- tive if r\bre\bea\bad\bd is reading input from a terminal, pipe, or
- other special file; it has no effect when reading from
- regular files. If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0, r\bre\bea\bad\bd returns success if
- input is available on the specified file descriptor,
- failure otherwise. The exit status is greater than 128
+ Cause r\bre\bea\bad\bd to time out and return failure if a complete
+ line of input is not read within _\bt_\bi_\bm_\be_\bo_\bu_\bt seconds. _\bt_\bi_\bm_\be_\b-
+ _\bo_\bu_\bt may be a decimal number with a fractional portion
+ following the decimal point. This option is only effec-
+ tive if r\bre\bea\bad\bd is reading input from a terminal, pipe, or
+ other special file; it has no effect when reading from
+ regular files. If _\bt_\bi_\bm_\be_\bo_\bu_\bt is 0, r\bre\bea\bad\bd returns success if
+ input is available on the specified file descriptor,
+ failure otherwise. The exit status is greater than 128
if the timeout is exceeded.
-\b-u\bu _\bf_\bd Read input from file descriptor _\bf_\bd.
If no _\bn_\ba_\bm_\be_\bs are supplied, the line read is assigned to the vari-
- able R\bRE\bEP\bPL\bLY\bY. The return code is zero, unless end-of-file is
- encountered, r\bre\bea\bad\bd times out (in which case the return code is
- greater than 128), or an invalid file descriptor is supplied as
+ able R\bRE\bEP\bPL\bLY\bY. The return code is zero, unless end-of-file is
+ encountered, r\bre\bea\bad\bd times out (in which case the return code is
+ greater than 128), or an invalid file descriptor is supplied as
the argument to -\b-u\bu.
r\bre\bea\bad\bdo\bon\bnl\bly\by [-\b-a\baA\bAp\bpf\bf] [_\bn_\ba_\bm_\be[=_\bw_\bo_\br_\bd] ...]
- The given _\bn_\ba_\bm_\be_\bs are marked readonly; the values of these _\bn_\ba_\bm_\be_\bs
- may not be changed by subsequent assignment. If the -\b-f\bf option
- is supplied, the functions corresponding to the _\bn_\ba_\bm_\be_\bs are so
- marked. The -\b-a\ba option restricts the variables to indexed
- arrays; the -\b-A\bA option restricts the variables to associative
- arrays. If no _\bn_\ba_\bm_\be arguments are given, or if the -\b-p\bp option is
- supplied, a list of all readonly names is printed. The -\b-p\bp
- option causes output to be displayed in a format that may be
- reused as input. If a variable name is followed by =_\bw_\bo_\br_\bd, the
- value of the variable is set to _\bw_\bo_\br_\bd. The return status is 0
+ The given _\bn_\ba_\bm_\be_\bs are marked readonly; the values of these _\bn_\ba_\bm_\be_\bs
+ may not be changed by subsequent assignment. If the -\b-f\bf option
+ is supplied, the functions corresponding to the _\bn_\ba_\bm_\be_\bs are so
+ marked. The -\b-a\ba option restricts the variables to indexed
+ arrays; the -\b-A\bA option restricts the variables to associative
+ arrays. If no _\bn_\ba_\bm_\be arguments are given, or if the -\b-p\bp option is
+ supplied, a list of all readonly names is printed. The -\b-p\bp
+ option causes output to be displayed in a format that may be
+ reused as input. If a variable name is followed by =_\bw_\bo_\br_\bd, the
+ value of the variable is set to _\bw_\bo_\br_\bd. The return status is 0
unless an invalid option is encountered, one of the _\bn_\ba_\bm_\be_\bs is not
- a valid shell variable name, or -\b-f\bf is supplied with a _\bn_\ba_\bm_\be that
+ a valid shell variable name, or -\b-f\bf is supplied with a _\bn_\ba_\bm_\be that
is not a function.
r\bre\bet\btu\bur\brn\bn [_\bn]
- Causes a function to exit with the return value specified by _\bn.
- If _\bn is omitted, the return status is that of the last command
- executed in the function body. If used outside a function, but
- during execution of a script by the .\b. (s\bso\bou\bur\brc\bce\be) command, it
+ Causes a function to exit with the return value specified by _\bn.
+ If _\bn is omitted, the return status is that of the last command
+ executed in the function body. If used outside a function, but
+ during execution of a script by the .\b. (s\bso\bou\bur\brc\bce\be) command, it
causes the shell to stop executing that script and return either
- _\bn or the exit status of the last command executed within the
- script as the exit status of the script. If used outside a
- function and not during execution of a script by .\b., the return
+ _\bn or the exit status of the last command executed within the
+ script as the exit status of the script. If used outside a
+ function and not during execution of a script by .\b., the return
status is false. Any command associated with the R\bRE\bET\bTU\bUR\bRN\bN trap is
- executed before execution resumes after the function or script.
+ executed before execution resumes after the function or script.
s\bse\bet\bt [-\b--\b-a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [_\ba_\br_\bg ...]
s\bse\bet\bt [+\b+a\bab\bbe\bef\bfh\bhk\bkm\bmn\bnp\bpt\btu\buv\bvx\bxB\bBC\bCE\bEH\bHP\bPT\bT] [+\b+o\bo _\bo_\bp_\bt_\bi_\bo_\bn] [_\ba_\br_\bg ...]
- 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 _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, only shell variables are listed.
- The output is sorted according to the current locale. When
- options are specified, they set or unset shell attributes. Any
- arguments remaining after option processing are treated as val-
+ not be reset. In _\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be, only shell variables are listed.
+ The output is sorted according to the current locale. When
+ options are specified, they set or unset shell attributes. Any
+ arguments remaining after option processing are treated as val-
ues for the positional parameters and are assigned, in order, to
- $\b$1\b1, $\b$2\b2, .\b..\b..\b. $\b$_\bn. Options, if specified, have the following
+ $\b$1\b1, $\b$2\b2, .\b..\b..\b. $\b$_\bn. Options, if specified, have the following
meanings:
- -\b-a\ba Automatically mark variables and functions which are
- modified or created for export to the environment of
+ -\b-a\ba Automatically mark variables and functions which are
+ modified or created for export to the environment of
subsequent commands.
- -\b-b\bb Report the status of terminated background jobs immedi-
+ -\b-b\bb Report the status of terminated background jobs immedi-
ately, rather than before the next primary prompt. This
is effective only when job control is enabled.
- -\b-e\be Exit immediately if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist of a
- single _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd), a _\bs_\bu_\bb_\bs_\bh_\be_\bl_\bl command enclosed in
- parentheses, or one of the commands executed as part of
- a command list enclosed by braces (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
+ -\b-e\be Exit immediately if a _\bp_\bi_\bp_\be_\bl_\bi_\bn_\be (which may consist of a
+ single _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd), a _\bs_\bu_\bb_\bs_\bh_\be_\bl_\bl command enclosed in
+ parentheses, or one of the commands executed as part of
+ a command list enclosed by braces (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR
above) exits with a non-zero status. The shell does not
- exit if the command that fails is part of the command
- list immediately following a w\bwh\bhi\bil\ble\be or u\bun\bnt\bti\bil\bl keyword,
- part of the test following the i\bif\bf or e\bel\bli\bif\bf reserved
- words, part of any command executed in a &\b&&\b& or |\b||\b| list
- except the command following the final &\b&&\b& or |\b||\b|, any
- command in a pipeline but the last, or if the command's
- return value is being inverted with !\b!. A trap on E\bER\bRR\bR,
+ exit if the command that fails is part of the command
+ list immediately following a w\bwh\bhi\bil\ble\be or u\bun\bnt\bti\bil\bl keyword,
+ part of the test following the i\bif\bf or e\bel\bli\bif\bf reserved
+ words, part of any command executed in a &\b&&\b& or |\b||\b| list
+ except the command following the final &\b&&\b& or |\b||\b|, any
+ command in a pipeline but the last, or if the command's
+ return value is being inverted with !\b!. A trap on E\bER\bRR\bR,
if set, is executed before the shell exits. This option
applies to the shell environment and each subshell envi-
- ronment separately (see C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
+ ronment separately (see C\bCO\bOM\bMM\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN E\bEN\bNV\bVI\bIR\bRO\bON\bNM\bME\bEN\bNT\bT
above), and may cause subshells to exit before executing
all the commands in the subshell.
-\b-f\bf Disable pathname expansion.
- -\b-h\bh Remember the location of commands as they are looked up
+ -\b-h\bh Remember the location of commands as they are looked up
for execution. This is enabled by default.
- -\b-k\bk All arguments in the form of assignment statements are
- placed in the environment for a command, not just those
+ -\b-k\bk All arguments in the form of assignment statements are
+ placed in the environment for a command, not just those
that precede the command name.
- -\b-m\bm Monitor mode. Job control is enabled. This option is
- on by default for interactive shells on systems that
- support it (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above). Background pro-
- cesses run in a separate process group and a line con-
- taining their exit status is printed upon their comple-
+ -\b-m\bm Monitor mode. Job control is enabled. This option is
+ on by default for interactive shells on systems that
+ support it (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above). Background pro-
+ cesses run in a separate process group and a line con-
+ taining their exit status is printed upon their comple-
tion.
-\b-n\bn Read commands but do not execute them. This may be used
- to check a shell script for syntax errors. This is
+ to check a shell script for syntax errors. This is
ignored by interactive shells.
-\b-o\bo _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be
The _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be can be one of the following:
Same as -\b-a\ba.
b\bbr\bra\bac\bce\bee\bex\bxp\bpa\ban\bnd\bd
Same as -\b-B\bB.
- e\bem\bma\bac\bcs\bs Use an emacs-style command line editing inter-
+ e\bem\bma\bac\bcs\bs Use an emacs-style command line editing inter-
face. This is enabled by default when the shell
is interactive, unless the shell is started with
- the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option. This also affects the
+ the -\b--\b-n\bno\boe\bed\bdi\bit\bti\bin\bng\bg option. This also affects the
editing interface used for r\bre\bea\bad\bd -\b-e\be.
e\ber\brr\brt\btr\bra\bac\bce\be
Same as -\b-E\bE.
H\bHI\bIS\bST\bTO\bOR\bRY\bY. This option is on by default in inter-
active shells.
i\big\bgn\bno\bor\bre\bee\beo\bof\bf
- The effect is as if the shell command
- ``IGNOREEOF=10'' had been executed (see S\bSh\bhe\bel\bll\bl
+ The effect is as if the shell command
+ ``IGNOREEOF=10'' had been executed (see S\bSh\bhe\bel\bll\bl
V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs above).
k\bke\bey\byw\bwo\bor\brd\bd Same as -\b-k\bk.
m\bmo\bon\bni\bit\bto\bor\br Same as -\b-m\bm.
p\bph\bhy\bys\bsi\bic\bca\bal\bl
Same as -\b-P\bP.
p\bpi\bip\bpe\bef\bfa\bai\bil\bl
- If set, the return value of a pipeline is the
- value of the last (rightmost) command to exit
- with a non-zero status, or zero if all commands
- in the pipeline exit successfully. This option
+ If set, the return value of a pipeline is the
+ value of the last (rightmost) command to exit
+ with a non-zero status, or zero if all commands
+ in the pipeline exit successfully. This option
is disabled by default.
- p\bpo\bos\bsi\bix\bx Change the behavior of b\bba\bas\bsh\bh where the default
- operation differs from the POSIX standard to
+ p\bpo\bos\bsi\bix\bx Change the behavior of b\bba\bas\bsh\bh where the default
+ operation differs from the POSIX standard to
match the standard (_\bp_\bo_\bs_\bi_\bx _\bm_\bo_\bd_\be).
p\bpr\bri\biv\bvi\bil\ble\beg\bge\bed\bd
Same as -\b-p\bp.
v\bve\ber\brb\bbo\bos\bse\be Same as -\b-v\bv.
- v\bvi\bi Use a vi-style command line editing interface.
+ v\bvi\bi Use a vi-style command line editing interface.
This also affects the editing interface used for
r\bre\bea\bad\bd -\b-e\be.
x\bxt\btr\bra\bac\bce\be Same as -\b-x\bx.
If -\b-o\bo is supplied with no _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, the values of the
- current options are printed. If +\b+o\bo is supplied with no
- _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, a series of s\bse\bet\bt commands to recreate the
- current option settings is displayed on the standard
+ current options are printed. If +\b+o\bo is supplied with no
+ _\bo_\bp_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be, a series of s\bse\bet\bt commands to recreate the
+ current option settings is displayed on the standard
output.
- -\b-p\bp Turn on _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd mode. In this mode, the $\b$E\bEN\bNV\bV and
- $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV files are not processed, shell functions are
- not inherited from the environment, and the S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS,
- C\bCD\bDP\bPA\bAT\bTH\bH, and G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE variables, if they appear in the
- environment, are ignored. If the shell is started with
+ -\b-p\bp Turn on _\bp_\br_\bi_\bv_\bi_\bl_\be_\bg_\be_\bd mode. In this mode, the $\b$E\bEN\bNV\bV and
+ $\b$B\bBA\bAS\bSH\bH_\b_E\bEN\bNV\bV files are not processed, shell functions are
+ not inherited from the environment, and the S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS,
+ C\bCD\bDP\bPA\bAT\bTH\bH, and G\bGL\bLO\bOB\bBI\bIG\bGN\bNO\bOR\bRE\bE variables, if they appear in the
+ environment, are ignored. If the shell is started with
the effective user (group) id not equal to the real user
- (group) id, and the -\b-p\bp option is not supplied, these
- actions are taken and the effective user id is set to
- the real user id. If the -\b-p\bp option is supplied at
- startup, the effective user id is not reset. Turning
- this option off causes the effective user and group ids
+ (group) id, and the -\b-p\bp option is not supplied, these
+ actions are taken and the effective user id is set to
+ the real user id. If the -\b-p\bp option is supplied at
+ startup, the effective user id is not reset. Turning
+ this option off causes the effective user and group ids
to be set to the real user and group ids.
-\b-t\bt Exit after reading and executing one command.
-\b-u\bu Treat unset variables as an error when performing param-
- eter expansion. If expansion is attempted on an unset
+ eter expansion. If expansion is attempted on an unset
variable, the shell prints an error message, and, if not
interactive, exits with a non-zero status.
-\b-v\bv Print shell input lines as they are read.
- -\b-x\bx After expanding each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br command, c\bca\bas\bse\be
+ -\b-x\bx After expanding each _\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, f\bfo\bor\br command, c\bca\bas\bse\be
command, s\bse\bel\ble\bec\bct\bt command, or arithmetic f\bfo\bor\br command, dis-
- play the expanded value of P\bPS\bS4\b4, followed by the command
+ play the expanded value of P\bPS\bS4\b4, followed by the command
and its expanded arguments or associated word list.
- -\b-B\bB The shell performs brace expansion (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
+ -\b-B\bB The shell performs brace expansion (see B\bBr\bra\bac\bce\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn
above). This is on by default.
- -\b-C\bC If set, b\bba\bas\bsh\bh does not overwrite an existing file with
- the >\b>, >\b>&\b&, and <\b<>\b> redirection operators. This may be
+ -\b-C\bC If set, b\bba\bas\bsh\bh does not overwrite an existing file with
+ the >\b>, >\b>&\b&, and <\b<>\b> redirection operators. This may be
overridden when creating output files by using the redi-
rection operator >\b>|\b| instead of >\b>.
-\b-E\bE If set, any trap on E\bER\bRR\bR is inherited by shell functions,
- command substitutions, and commands executed in a sub-
- shell environment. The E\bER\bRR\bR trap is normally not inher-
+ command substitutions, and commands executed in a sub-
+ shell environment. The E\bER\bRR\bR trap is normally not inher-
ited in such cases.
-\b-H\bH Enable !\b! style history substitution. This option is on
by default when the shell is interactive.
- -\b-P\bP If set, the shell does not follow symbolic links when
- executing commands such as c\bcd\bd that change the current
+ -\b-P\bP If set, the shell does not follow symbolic links when
+ executing commands such as c\bcd\bd that change the current
working directory. It uses the physical directory
structure instead. By default, b\bba\bas\bsh\bh follows the logical
- chain of directories when performing commands which
+ chain of directories when performing commands which
change the current directory.
- -\b-T\bT If set, any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are inherited by
- shell functions, command substitutions, and commands
- executed in a subshell environment. The D\bDE\bEB\bBU\bUG\bG and
+ -\b-T\bT If set, any traps on D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN are inherited by
+ shell functions, command substitutions, and commands
+ executed in a subshell environment. The D\bDE\bEB\bBU\bUG\bG and
R\bRE\bET\bTU\bUR\bRN\bN traps are normally not inherited in such cases.
- -\b--\b- If no arguments follow this option, then the positional
+ -\b--\b- If no arguments follow this option, then the positional
parameters are unset. Otherwise, the positional parame-
- ters are set to the _\ba_\br_\bgs, even if some of them begin
+ ters are set to the _\ba_\br_\bgs, even if some of them begin
with a -\b-.
- -\b- Signal the end of options, cause all remaining _\ba_\br_\bgs to
+ -\b- Signal the end of options, cause all remaining _\ba_\br_\bgs to
be assigned to the positional parameters. The -\b-x\bx and -\b-v\bv
options are turned off. If there are no _\ba_\br_\bgs, the posi-
tional parameters remain unchanged.
- The options are off by default unless otherwise noted. Using +
- rather than - causes these options to be turned off. The
- options can also be specified as arguments to an invocation of
- the shell. The current set of options may be found in $\b$-\b-. The
+ The options are off by default unless otherwise noted. Using +
+ rather than - causes these options to be turned off. The
+ options can also be specified as arguments to an invocation of
+ the shell. The current set of options may be found in $\b$-\b-. The
return status is always true unless an invalid option is encoun-
tered.
s\bsh\bhi\bif\bft\bt [_\bn]
- The positional parameters from _\bn+1 ... are renamed to $\b$1\b1 .\b..\b..\b..\b.
- Parameters represented by the numbers $\b$#\b# down to $\b$#\b#-_\bn+1 are
- unset. _\bn must be a non-negative number less than or equal to
- $\b$#\b#. If _\bn is 0, no parameters are changed. If _\bn is not given,
- it is assumed to be 1. If _\bn is greater than $\b$#\b#, the positional
- parameters are not changed. The return status is greater than
+ The positional parameters from _\bn+1 ... are renamed to $\b$1\b1 .\b..\b..\b..\b.
+ Parameters represented by the numbers $\b$#\b# down to $\b$#\b#-_\bn+1 are
+ unset. _\bn must be a non-negative number less than or equal to
+ $\b$#\b#. If _\bn is 0, no parameters are changed. If _\bn is not given,
+ it is assumed to be 1. If _\bn is greater than $\b$#\b#, the positional
+ parameters are not changed. The return status is greater than
zero if _\bn is greater than $\b$#\b# or less than zero; otherwise 0.
s\bsh\bho\bop\bpt\bt [-\b-p\bpq\bqs\bsu\bu] [-\b-o\bo] [_\bo_\bp_\bt_\bn_\ba_\bm_\be ...]
Toggle the values of variables controlling optional shell behav-
ior. With no options, or with the -\b-p\bp option, a list of all set-
table options is displayed, with an indication of whether or not
- each is set. The -\b-p\bp option causes output to be displayed in a
- form that may be reused as input. Other options have the fol-
+ each is set. The -\b-p\bp option causes output to be displayed in a
+ form that may be reused as input. Other options have the fol-
lowing meanings:
-\b-s\bs Enable (set) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
-\b-u\bu Disable (unset) each _\bo_\bp_\bt_\bn_\ba_\bm_\be.
- -\b-q\bq Suppresses normal output (quiet mode); the return status
+ -\b-q\bq Suppresses normal output (quiet mode); the return status
indicates whether the _\bo_\bp_\bt_\bn_\ba_\bm_\be is set or unset. If multi-
- ple _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are given with -\b-q\bq, the return sta-
- tus is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero other-
+ ple _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments are given with -\b-q\bq, the return sta-
+ tus is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs are enabled; non-zero other-
wise.
- -\b-o\bo Restricts the values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those defined for
+ -\b-o\bo Restricts the values of _\bo_\bp_\bt_\bn_\ba_\bm_\be to be those defined for
the -\b-o\bo option to the s\bse\bet\bt builtin.
- If either -\b-s\bs or -\b-u\bu is used with no _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments, the dis-
+ If either -\b-s\bs or -\b-u\bu is used with no _\bo_\bp_\bt_\bn_\ba_\bm_\be arguments, the dis-
play is limited to those options which are set or unset, respec-
- tively. Unless otherwise noted, the s\bsh\bho\bop\bpt\bt options are disabled
+ tively. Unless otherwise noted, the s\bsh\bho\bop\bpt\bt options are disabled
(unset) by default.
- The return status when listing options is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs
- are enabled, non-zero otherwise. When setting or unsetting
- options, the return status is zero unless an _\bo_\bp_\bt_\bn_\ba_\bm_\be is not a
+ The return status when listing options is zero if all _\bo_\bp_\bt_\bn_\ba_\bm_\be_\bs
+ are enabled, non-zero otherwise. When setting or unsetting
+ options, the return status is zero unless an _\bo_\bp_\bt_\bn_\ba_\bm_\be is not a
valid shell option.
The list of s\bsh\bho\bop\bpt\bt options is:
- a\bau\but\bto\boc\bcd\bd If set, a command name that is the name of a directory
- is executed as if it were the argument to the c\bcd\bd com-
+ a\bau\but\bto\boc\bcd\bd If set, a command name that is the name of a directory
+ is executed as if it were the argument to the c\bcd\bd com-
mand. This option is only used by interactive shells.
c\bcd\bda\bab\bbl\ble\be_\b_v\bva\bar\brs\bs
- If set, an argument to the c\bcd\bd builtin command that is
- not a directory is assumed to be the name of a variable
+ If set, an argument to the c\bcd\bd builtin command that is
+ not a directory is assumed to be the name of a variable
whose value is the directory to change to.
c\bcd\bds\bsp\bpe\bel\bll\bl If set, minor errors in the spelling of a directory com-
- ponent in a c\bcd\bd command will be corrected. The errors
+ ponent in a c\bcd\bd command will be corrected. The errors
checked for are transposed characters, a missing charac-
- ter, and one character too many. If a correction is
- found, the corrected 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.
c\bch\bhe\bec\bck\bkh\bha\bas\bsh\bh
If set, b\bba\bas\bsh\bh checks that a command found in the hash ta-
- ble exists before trying to execute it. If a hashed
- command no longer exists, a normal path search is per-
+ ble exists before trying to execute it. If a hashed
+ command no longer exists, a normal path search is per-
formed.
c\bch\bhe\bec\bck\bkj\bjo\bob\bbs\bs
If set, b\bba\bas\bsh\bh lists the status of any stopped and running
- jobs before exiting an interactive shell. If any jobs
+ jobs before exiting an interactive shell. If any jobs
are running, this causes the exit to be deferred until a
- second exit is attempted without an intervening command
- (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above). The shell always postpones
+ second exit is attempted without an intervening command
+ (see J\bJO\bOB\bB C\bCO\bON\bNT\bTR\bRO\bOL\bL above). The shell always postpones
exiting if any jobs are stopped.
c\bch\bhe\bec\bck\bkw\bwi\bin\bns\bsi\biz\bze\be
- If set, b\bba\bas\bsh\bh checks the window size after each command
- and, if necessary, updates the values of L\bLI\bIN\bNE\bES\bS and C\bCO\bOL\bL-\b-
+ If set, b\bba\bas\bsh\bh checks the window size after each command
+ and, if necessary, updates the values of L\bLI\bIN\bNE\bES\bS and C\bCO\bOL\bL-\b-
U\bUM\bMN\bNS\bS.
- c\bcm\bmd\bdh\bhi\bis\bst\bt If set, b\bba\bas\bsh\bh attempts to save all lines of a multiple-
- line command in the same history entry. This allows
+ c\bcm\bmd\bdh\bhi\bis\bst\bt If set, b\bba\bas\bsh\bh attempts to save all lines of a multiple-
+ line command in the same history entry. This allows
easy re-editing of multi-line commands.
c\bco\bom\bmp\bpa\bat\bt3\b31\b1
If set, b\bba\bas\bsh\bh changes its behavior to that of version 3.1
with respect to quoted arguments to the conditional com-
mand's =~ operator.
d\bdi\bir\brs\bsp\bpe\bel\bll\bl
- If set, b\bba\bas\bsh\bh attempts spelling correction on directory
- names during word completion if the directory name ini-
+ If set, b\bba\bas\bsh\bh attempts spelling correction on directory
+ names during word completion if the directory name ini-
tially supplied does not exist.
- d\bdo\bot\btg\bgl\blo\bob\bb If set, b\bba\bas\bsh\bh includes filenames beginning with a `.' in
+ d\bdo\bot\btg\bgl\blo\bob\bb If set, b\bba\bas\bsh\bh includes filenames beginning with a `.' in
the results of pathname expansion.
e\bex\bxe\bec\bcf\bfa\bai\bil\bl
If set, a non-interactive shell will not exit if it can-
- not execute the file specified as an argument to the
- e\bex\bxe\bec\bc builtin command. An interactive shell does not
+ not execute the file specified as an argument to the
+ e\bex\bxe\bec\bc builtin command. An interactive shell does not
exit if e\bex\bxe\bec\bc fails.
e\bex\bxp\bpa\ban\bnd\bd_\b_a\bal\bli\bia\bas\bse\bes\bs
- If set, aliases are expanded as described above under
+ If set, aliases are expanded as described above under
A\bAL\bLI\bIA\bAS\bSE\bES\bS. This option is enabled by default for interac-
tive shells.
e\bex\bxt\btd\bde\beb\bbu\bug\bg
- If set, behavior intended for use by debuggers is
+ If set, behavior intended for use by debuggers is
enabled:
1\b1.\b. The -\b-F\bF option to the d\bde\bec\bcl\bla\bar\bre\be builtin displays the
source file name and line number corresponding to
each function name supplied as an argument.
- 2\b2.\b. If the command run by the D\bDE\bEB\bBU\bUG\bG trap returns a
- non-zero value, the next command is skipped and
+ 2\b2.\b. If the command run by the D\bDE\bEB\bBU\bUG\bG trap returns a
+ non-zero value, the next command is skipped and
not executed.
- 3\b3.\b. If the command run by the D\bDE\bEB\bBU\bUG\bG trap returns a
- value of 2, and the shell is executing in a sub-
- routine (a shell function or a shell script exe-
- cuted by the .\b. or s\bso\bou\bur\brc\bce\be builtins), a call to
+ 3\b3.\b. If the command run by the D\bDE\bEB\bBU\bUG\bG trap returns a
+ value of 2, and the shell is executing in a sub-
+ routine (a shell function or a shell script exe-
+ cuted by the .\b. or s\bso\bou\bur\brc\bce\be builtins), a call to
r\bre\bet\btu\bur\brn\bn is simulated.
- 4\b4.\b. B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC and B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as described
+ 4\b4.\b. B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGC\bC and B\bBA\bAS\bSH\bH_\b_A\bAR\bRG\bGV\bV are updated as described
in their descriptions above.
- 5\b5.\b. Function tracing is enabled: command substitu-
+ 5\b5.\b. Function tracing is enabled: command substitu-
tion, shell functions, and subshells invoked with
(\b( _\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the D\bDE\bEB\bBU\bUG\bG and R\bRE\bET\bTU\bUR\bRN\bN traps.
- 6\b6.\b. Error tracing is enabled: command substitution,
- shell functions, and subshells invoked with (\b(
+ 6\b6.\b. Error tracing is enabled: command substitution,
+ shell functions, and subshells invoked with (\b(
_\bc_\bo_\bm_\bm_\ba_\bn_\bd )\b) inherit the E\bER\bRR\bRO\bOR\bR trap.
e\bex\bxt\btg\bgl\blo\bob\bb If set, the extended pattern matching features described
above under P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn are enabled.
e\bex\bxt\btq\bqu\buo\bot\bte\be
- If set, $\b$'_\bs_\bt_\br_\bi_\bn_\bg' and $\b$"_\bs_\bt_\br_\bi_\bn_\bg" quoting is performed
- within $\b${\b{_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}\b} expansions enclosed in double
+ If set, $\b$'_\bs_\bt_\br_\bi_\bn_\bg' and $\b$"_\bs_\bt_\br_\bi_\bn_\bg" quoting is performed
+ within $\b${\b{_\bp_\ba_\br_\ba_\bm_\be_\bt_\be_\br}\b} expansions enclosed in double
quotes. This option is enabled by default.
f\bfa\bai\bil\blg\bgl\blo\bob\bb
- If set, patterns which fail to match filenames during
+ If set, patterns which fail to match filenames during
pathname expansion result in an expansion error.
f\bfo\bor\brc\bce\be_\b_f\bfi\big\bgn\bno\bor\bre\be
- If set, the suffixes specified by the F\bFI\bIG\bGN\bNO\bOR\bRE\bE shell
- variable cause words to be ignored when performing word
+ If set, the suffixes specified by the F\bFI\bIG\bGN\bNO\bOR\bRE\bE shell
+ variable cause words to be ignored when performing word
completion even if the ignored words are the only possi-
ble completions. See S\bSH\bHE\bEL\bLL\bL V\bVA\bAR\bRI\bIA\bAB\bBL\bLE\bES\bS above for a
- description of F\bFI\bIG\bGN\bNO\bOR\bRE\bE. This option is enabled by
+ description of F\bFI\bIG\bGN\bNO\bOR\bRE\bE. This option is enabled by
default.
g\bgl\blo\bob\bbs\bst\bta\bar\br
If set, the pattern *\b**\b* used in a filename expansion con-
If set, shell error messages are written in the standard
GNU error message format.
h\bhi\bis\bst\bta\bap\bpp\bpe\ben\bnd\bd
- If set, the history list is appended to the file named
- by the value of the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE variable when the shell
+ If set, the history list is appended to the file named
+ by the value of the H\bHI\bIS\bST\bTF\bFI\bIL\bLE\bE variable when the shell
exits, rather than overwriting the file.
h\bhi\bis\bst\btr\bre\bee\bed\bdi\bit\bt
- If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, a user is given the
+ If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, a user is given the
opportunity to re-edit a failed history substitution.
h\bhi\bis\bst\btv\bve\ber\bri\bif\bfy\by
- If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of his-
- tory substitution are not immediately passed to the
- shell parser. Instead, the resulting line is loaded
+ If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, the results of his-
+ tory substitution are not immediately passed to the
+ shell parser. Instead, the resulting line is loaded
into the r\bre\bea\bad\bdl\bli\bin\bne\be editing buffer, allowing further modi-
fication.
h\bho\bos\bst\btc\bco\bom\bmp\bpl\ble\bet\bte\be
If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh will attempt to
- perform hostname completion when a word containing a @\b@
- is being completed (see C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg under R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
+ perform hostname completion when a word containing a @\b@
+ is being completed (see C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg under R\bRE\bEA\bAD\bDL\bLI\bIN\bNE\bE
above). This is enabled by default.
h\bhu\bup\bpo\bon\bne\bex\bxi\bit\bt
If set, b\bba\bas\bsh\bh will send S\bSI\bIG\bGH\bHU\bUP\bP to all jobs when an inter-
active login shell exits.
i\bin\bnt\bte\ber\bra\bac\bct\bti\biv\bve\be_\b_c\bco\bom\bmm\bme\ben\bnt\bts\bs
If set, allow a word beginning with #\b# to cause that word
- and all remaining characters on that line to be ignored
- in an interactive shell (see C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS above). This
+ and all remaining characters on that line to be ignored
+ in an interactive shell (see C\bCO\bOM\bMM\bME\bEN\bNT\bTS\bS above). This
option is enabled by default.
- l\bli\bit\bth\bhi\bis\bst\bt If set, and the c\bcm\bmd\bdh\bhi\bis\bst\bt option is enabled, multi-line
+ l\bli\bit\bth\bhi\bis\bst\bt If set, and the c\bcm\bmd\bdh\bhi\bis\bst\bt option is enabled, multi-line
commands are saved to the history with embedded newlines
rather than using semicolon separators where possible.
l\blo\bog\bgi\bin\bn_\b_s\bsh\bhe\bel\bll\bl
- The shell sets this option if it is started as a login
- shell (see I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN above). The value may not be
+ The shell sets this option if it is started as a login
+ shell (see I\bIN\bNV\bVO\bOC\bCA\bAT\bTI\bIO\bON\bN above). The value may not be
changed.
m\bma\bai\bil\blw\bwa\bar\brn\bn
- If set, and a file that b\bba\bas\bsh\bh is checking for mail has
- been accessed since the last time it was checked, the
- message ``The mail in _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be has been read'' is dis-
+ If set, and a file that b\bba\bas\bsh\bh is checking for mail has
+ been accessed since the last time it was checked, the
+ message ``The mail in _\bm_\ba_\bi_\bl_\bf_\bi_\bl_\be has been read'' is dis-
played.
n\bno\bo_\b_e\bem\bmp\bpt\bty\by_\b_c\bcm\bmd\bd_\b_c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn
- If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh will not
+ If set, and r\bre\bea\bad\bdl\bli\bin\bne\be is being used, b\bba\bas\bsh\bh will not
attempt to search the P\bPA\bAT\bTH\bH for possible completions when
completion is attempted on an empty line.
n\bno\boc\bca\bas\bse\beg\bgl\blo\bob\bb
- If set, b\bba\bas\bsh\bh matches filenames in a case-insensitive
+ If set, b\bba\bas\bsh\bh matches filenames in a case-insensitive
fashion when performing pathname expansion (see P\bPa\bat\bth\bhn\bna\bam\bme\be
E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above).
n\bno\boc\bca\bas\bse\bem\bma\bat\btc\bch\bh
- If set, b\bba\bas\bsh\bh matches patterns in a case-insensitive
+ If set, b\bba\bas\bsh\bh matches patterns in a case-insensitive
fashion when performing matching while executing c\bca\bas\bse\be or
[\b[[\b[ conditional commands.
n\bnu\bul\bll\blg\bgl\blo\bob\bb
- If set, b\bba\bas\bsh\bh allows patterns which match no files (see
- P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above) to expand to a null string,
+ If set, b\bba\bas\bsh\bh allows patterns which match no files (see
+ P\bPa\bat\bth\bhn\bna\bam\bme\be E\bEx\bxp\bpa\ban\bns\bsi\bio\bon\bn above) to expand to a null string,
rather than themselves.
p\bpr\bro\bog\bgc\bco\bom\bmp\bp
If set, the programmable completion facilities (see P\bPr\bro\bo-\b-
enabled by default.
p\bpr\bro\bom\bmp\bpt\btv\bva\bar\brs\bs
If set, prompt strings undergo parameter expansion, com-
- mand substitution, arithmetic expansion, and quote
- removal after being expanded as described in P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
+ mand substitution, arithmetic expansion, and quote
+ removal after being expanded as described in P\bPR\bRO\bOM\bMP\bPT\bTI\bIN\bNG\bG
above. This option is enabled by default.
r\bre\bes\bst\btr\bri\bic\bct\bte\bed\bd_\b_s\bsh\bhe\bel\bll\bl
- The shell sets this option if it is started in
+ The shell sets this option if it is started in
restricted mode (see R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL below). The value
- may not be changed. This is not reset when the startup
- files are executed, allowing the startup files to dis-
+ may not be changed. This is not reset when the startup
+ files are executed, allowing the startup files to dis-
cover whether or not a shell is restricted.
s\bsh\bhi\bif\bft\bt_\b_v\bve\ber\brb\bbo\bos\bse\be
- If set, the s\bsh\bhi\bif\bft\bt builtin prints an error message when
+ If set, the s\bsh\bhi\bif\bft\bt builtin prints an error message when
the shift count exceeds the number of positional parame-
ters.
s\bso\bou\bur\brc\bce\bep\bpa\bat\bth\bh
If set, the s\bso\bou\bur\brc\bce\be (.\b.) builtin uses the value of P\bPA\bAT\bTH\bH to
- find the directory containing the file supplied as an
+ find the directory containing the file supplied as an
argument. This option is enabled by default.
x\bxp\bpg\bg_\b_e\bec\bch\bho\bo
- If set, the e\bec\bch\bho\bo builtin expands backslash-escape
+ If set, the e\bec\bch\bho\bo builtin expands backslash-escape
sequences by default.
s\bsu\bus\bsp\bpe\ben\bnd\bd [-\b-f\bf]
- Suspend the execution of this shell until it receives a S\bSI\bIG\bGC\bCO\bON\bNT\bT
+ Suspend the execution of this shell until it receives a S\bSI\bIG\bGC\bCO\bON\bNT\bT
signal. A login shell cannot be suspended; the -\b-f\bf option can be
used to override this and force the suspension. The return sta-
- tus is 0 unless the shell is a login shell and -\b-f\bf is not sup-
+ tus is 0 unless the shell is a login shell and -\b-f\bf is not sup-
plied, or if job control is not enabled.
t\bte\bes\bst\bt _\be_\bx_\bp_\br
[\b[ _\be_\bx_\bp_\br ]\b]
- Return a status of 0 or 1 depending on the evaluation of the
- conditional expression _\be_\bx_\bp_\br. Each operator and operand must be
- a separate argument. Expressions are composed of the primaries
- described above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS. t\bte\bes\bst\bt does not
+ Return a status of 0 or 1 depending on the evaluation of the
+ conditional expression _\be_\bx_\bp_\br. Each operator and operand must be
+ a separate argument. Expressions are composed of the primaries
+ described above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS. t\bte\bes\bst\bt does not
accept any options, nor does it accept and ignore an argument of
-\b--\b- as signifying the end of options.
- Expressions may be combined using the following operators,
+ Expressions may be combined using the following operators,
listed in decreasing order of precedence. The evaluation
depends on the number of arguments; see below.
!\b! _\be_\bx_\bp_\br True if _\be_\bx_\bp_\br is false.
(\b( _\be_\bx_\bp_\br )\b)
- Returns the value of _\be_\bx_\bp_\br. This may be used to override
+ Returns the value of _\be_\bx_\bp_\br. This may be used to override
the normal precedence of operators.
_\be_\bx_\bp_\br_\b1 -a\ba _\be_\bx_\bp_\br_\b2
True if both _\be_\bx_\bp_\br_\b1 and _\be_\bx_\bp_\br_\b2 are true.
null.
2 arguments
If the first argument is !\b!, the expression is true if and
- only if the second argument is null. If the first argu-
- ment is one of the unary conditional operators listed
- above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS, the expression is
+ only if the second argument is null. If the first argu-
+ ment is one of the unary conditional operators listed
+ above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS, the expression is
true if the unary test is true. If the first argument is
not a valid unary conditional operator, the expression is
false.
3 arguments
- If the second argument is one of the binary conditional
+ If the second argument is one of the binary conditional
operators listed above under C\bCO\bON\bND\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS, the
result of the expression is the result of the binary test
- using the first and third arguments as operands. The -\b-a\ba
- and -\b-o\bo operators are considered binary operators when
- there are three arguments. If the first argument is !\b!,
- the value is the negation of the two-argument test using
+ using the first and third arguments as operands. The -\b-a\ba
+ and -\b-o\bo operators are considered binary operators when
+ there are three arguments. If the first argument is !\b!,
+ the value is the negation of the two-argument test using
the second and third arguments. If the first argument is
exactly (\b( and the third argument is exactly )\b), the result
- is the one-argument test of the second argument. Other-
+ is the one-argument test of the second argument. Other-
wise, the expression is false.
4 arguments
If the first argument is !\b!, the result is the negation of
- the three-argument expression composed of the remaining
+ the three-argument expression composed of the remaining
arguments. Otherwise, the expression is parsed and eval-
- uated according to precedence using the rules listed
+ uated according to precedence using the rules listed
above.
5 or more arguments
- The expression is parsed and evaluated according to
+ The expression is parsed and evaluated according to
precedence using the rules listed above.
- t\bti\bim\bme\bes\bs Print the accumulated user and system times for the shell and
+ t\bti\bim\bme\bes\bs Print the accumulated user and system times for the shell and
for processes run from the shell. The return status is 0.
t\btr\bra\bap\bp [-\b-l\blp\bp] [[_\ba_\br_\bg] _\bs_\bi_\bg_\bs_\bp_\be_\bc ...]
- The command _\ba_\br_\bg is to be read and executed when the shell
- receives signal(s) _\bs_\bi_\bg_\bs_\bp_\be_\bc. If _\ba_\br_\bg is absent (and there is a
- single _\bs_\bi_\bg_\bs_\bp_\be_\bc) or -\b-, each specified signal is reset to its
- original disposition (the value it had upon entrance to the
- shell). If _\ba_\br_\bg is the null string the signal specified by each
- _\bs_\bi_\bg_\bs_\bp_\be_\bc is ignored by the shell and by the commands it invokes.
- If _\ba_\br_\bg is not present and -\b-p\bp has been supplied, then the trap
- commands associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc are displayed. If no
- arguments are supplied or if only -\b-p\bp is given, t\btr\bra\bap\bp prints the
- list of commands associated with each signal. The -\b-l\bl option
- causes the shell to print a list of signal names and their cor-
- responding numbers. Each _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a signal name
- defined in <_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh>, or a signal number. Signal names are
- case insensitive and the SIG prefix is optional. If a _\bs_\bi_\bg_\bs_\bp_\be_\bc
- is E\bEX\bXI\bIT\bT (0) the command _\ba_\br_\bg is executed on exit from the shell.
- If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\br_\bg is executed before every
+ The command _\ba_\br_\bg is to be read and executed when the shell
+ receives signal(s) _\bs_\bi_\bg_\bs_\bp_\be_\bc. If _\ba_\br_\bg is absent (and there is a
+ single _\bs_\bi_\bg_\bs_\bp_\be_\bc) or -\b-, each specified signal is reset to its
+ original disposition (the value it had upon entrance to the
+ shell). If _\ba_\br_\bg is the null string the signal specified by each
+ _\bs_\bi_\bg_\bs_\bp_\be_\bc is ignored by the shell and by the commands it invokes.
+ If _\ba_\br_\bg is not present and -\b-p\bp has been supplied, then the trap
+ commands associated with each _\bs_\bi_\bg_\bs_\bp_\be_\bc are displayed. If no
+ arguments are supplied or if only -\b-p\bp is given, t\btr\bra\bap\bp prints the
+ list of commands associated with each signal. The -\b-l\bl option
+ causes the shell to print a list of signal names and their cor-
+ responding numbers. Each _\bs_\bi_\bg_\bs_\bp_\be_\bc is either a signal name
+ defined in <_\bs_\bi_\bg_\bn_\ba_\bl_\b._\bh>, or a signal number. Signal names are
+ case insensitive and the SIG prefix is optional. If a _\bs_\bi_\bg_\bs_\bp_\be_\bc
+ is E\bEX\bXI\bIT\bT (0) the command _\ba_\br_\bg is executed on exit from the shell.
+ If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is D\bDE\bEB\bBU\bUG\bG, the command _\ba_\br_\bg is executed before every
_\bs_\bi_\bm_\bp_\bl_\be _\bc_\bo_\bm_\bm_\ba_\bn_\bd, _\bf_\bo_\br command, _\bc_\ba_\bs_\be command, _\bs_\be_\bl_\be_\bc_\bt command, every
arithmetic _\bf_\bo_\br command, and before the first command executes in
- a shell function (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above). Refer to the
- description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to the s\bsh\bho\bop\bpt\bt builtin for
- details of its effect on the D\bDE\bEB\bBU\bUG\bG trap. If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR,
- the command _\ba_\br_\bg is executed whenever a simple command has a
- non-zero exit status, subject to the following conditions. The
- E\bER\bRR\bR trap is not executed if the failed command is part of the
- command list immediately following a w\bwh\bhi\bil\ble\be or u\bun\bnt\bti\bil\bl keyword,
- part of the test in an _\bi_\bf statement, part of a command executed
- in a &\b&&\b& or |\b||\b| list, or if the command's return value is being
- inverted via !\b!. These are the same conditions obeyed by the
+ a shell function (see S\bSH\bHE\bEL\bLL\bL G\bGR\bRA\bAM\bMM\bMA\bAR\bR above). Refer to the
+ description of the e\bex\bxt\btd\bde\beb\bbu\bug\bg option to the s\bsh\bho\bop\bpt\bt builtin for
+ details of its effect on the D\bDE\bEB\bBU\bUG\bG trap. If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is E\bER\bRR\bR,
+ the command _\ba_\br_\bg is executed whenever a simple command has a
+ non-zero exit status, subject to the following conditions. The
+ E\bER\bRR\bR trap is not executed if the failed command is part of the
+ command list immediately following a w\bwh\bhi\bil\ble\be or u\bun\bnt\bti\bil\bl keyword,
+ part of the test in an _\bi_\bf statement, part of a command executed
+ in a &\b&&\b& or |\b||\b| list, or if the command's return value is being
+ inverted via !\b!. These are the same conditions obeyed by the
e\ber\brr\bre\bex\bxi\bit\bt option. If a _\bs_\bi_\bg_\bs_\bp_\be_\bc is R\bRE\bET\bTU\bUR\bRN\bN, the command _\ba_\br_\bg is exe-
cuted each time a shell function or a script executed with the .\b.
- or s\bso\bou\bur\brc\bce\be builtins finishes executing. Signals ignored upon
- entry to the shell cannot be trapped or reset. Trapped signals
+ or s\bso\bou\bur\brc\bce\be builtins finishes executing. 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 child process when it is created. The return status is false
+ a child process when it is created. The return status is false
if any _\bs_\bi_\bg_\bs_\bp_\be_\bc is invalid; otherwise t\btr\bra\bap\bp returns true.
t\bty\byp\bpe\be [-\b-a\baf\bft\btp\bpP\bP] _\bn_\ba_\bm_\be [_\bn_\ba_\bm_\be ...]
- With no options, indicate how each _\bn_\ba_\bm_\be would be interpreted if
+ With no options, indicate how each _\bn_\ba_\bm_\be would be interpreted if
used as a command name. If the -\b-t\bt option is used, t\bty\byp\bpe\be prints a
- string which is one of _\ba_\bl_\bi_\ba_\bs, _\bk_\be_\by_\bw_\bo_\br_\bd, _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn, _\bb_\bu_\bi_\bl_\bt_\bi_\bn, or
- _\bf_\bi_\bl_\be if _\bn_\ba_\bm_\be is an alias, shell reserved word, function,
- builtin, or disk file, respectively. If the _\bn_\ba_\bm_\be is not found,
- then nothing is printed, and an exit status of false is
- returned. If the -\b-p\bp option is used, t\bty\byp\bpe\be either returns the
+ string which is one of _\ba_\bl_\bi_\ba_\bs, _\bk_\be_\by_\bw_\bo_\br_\bd, _\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn, _\bb_\bu_\bi_\bl_\bt_\bi_\bn, or
+ _\bf_\bi_\bl_\be if _\bn_\ba_\bm_\be is an alias, shell reserved word, function,
+ builtin, or disk file, respectively. If the _\bn_\ba_\bm_\be is not found,
+ then nothing is printed, and an exit status of false is
+ returned. If the -\b-p\bp option is used, t\bty\byp\bpe\be either returns the
name of the disk file that would be executed if _\bn_\ba_\bm_\be were speci-
fied as a command name, or nothing if ``type -t name'' would not
- return _\bf_\bi_\bl_\be. The -\b-P\bP option forces a P\bPA\bAT\bTH\bH search for each _\bn_\ba_\bm_\be,
+ return _\bf_\bi_\bl_\be. The -\b-P\bP option forces a P\bPA\bAT\bTH\bH search for each _\bn_\ba_\bm_\be,
even if ``type -t name'' would not return _\bf_\bi_\bl_\be. If a command is
- hashed, -\b-p\bp and -\b-P\bP print the hashed value, not necessarily the
+ hashed, -\b-p\bp and -\b-P\bP print the hashed value, not necessarily the
file that appears first in P\bPA\bAT\bTH\bH. If the -\b-a\ba option is used, t\bty\byp\bpe\be
- prints all of the places that contain an executable named _\bn_\ba_\bm_\be.
- This includes aliases and functions, if and only if the -\b-p\bp
- option is not also used. The table of hashed commands is not
- consulted when using -\b-a\ba. The -\b-f\bf option suppresses shell func-
- tion lookup, as with the c\bco\bom\bmm\bma\ban\bnd\bd builtin. t\bty\byp\bpe\be returns true if
+ prints all of the places that contain an executable named _\bn_\ba_\bm_\be.
+ This includes aliases and functions, if and only if the -\b-p\bp
+ option is not also used. The table of hashed commands is not
+ consulted when using -\b-a\ba. The -\b-f\bf option suppresses shell func-
+ tion lookup, as with the c\bco\bom\bmm\bma\ban\bnd\bd builtin. t\bty\byp\bpe\be returns true if
all of the arguments are found, false if any are not found.
u\bul\bli\bim\bmi\bit\bt [-\b-H\bHS\bST\bTa\bab\bbc\bcd\bde\bef\bfi\bil\blm\bmn\bnp\bpq\bqr\brs\bst\btu\buv\bvx\bx [_\bl_\bi_\bm_\bi_\bt]]
- Provides control over the resources available to the shell and
- to processes started by it, on systems that allow such control.
+ Provides control over the resources available to the shell and
+ to processes started by it, on systems that allow such control.
The -\b-H\bH and -\b-S\bS options specify that the hard or soft limit is set
- for the given resource. A hard limit cannot be increased by a
- non-root user once it is set; a soft limit may be increased up
- to the value of the hard limit. If neither -\b-H\bH nor -\b-S\bS is speci-
+ for the given resource. A hard limit cannot be increased by a
+ non-root user once it is set; a soft limit may be increased up
+ to the value of the hard limit. If neither -\b-H\bH nor -\b-S\bS is speci-
fied, both the soft and hard limits are set. The value of _\bl_\bi_\bm_\bi_\bt
can be a number in the unit specified for the resource or one of
the special values h\bha\bar\brd\bd, s\bso\bof\bft\bt, or u\bun\bnl\bli\bim\bmi\bit\bte\bed\bd, which stand for the
- current hard limit, the current soft limit, and no limit,
- respectively. If _\bl_\bi_\bm_\bi_\bt is omitted, the current value of the
- soft limit of the resource is printed, unless the -\b-H\bH option is
+ current hard limit, the current soft limit, and no limit,
+ respectively. If _\bl_\bi_\bm_\bi_\bt is omitted, the current value of the
+ soft limit of the resource is printed, unless the -\b-H\bH option is
given. When more than one resource is specified, the limit name
and unit are printed before the value. Other options are inter-
preted as follows:
-\b-c\bc The maximum size of core files created
-\b-d\bd The maximum size of a process's data segment
-\b-e\be The maximum scheduling priority ("nice")
- -\b-f\bf The maximum size of files written by the shell and its
+ -\b-f\bf The maximum size of files written by the shell and its
children
-\b-i\bi The maximum number of pending signals
-\b-l\bl The maximum size that may be locked into memory
- -\b-m\bm The maximum resident set size (many systems do not honor
+ -\b-m\bm The maximum resident set size (many systems do not honor
this limit)
-\b-n\bn The maximum number of open file descriptors (most systems
do not allow this value to be set)
-\b-r\br The maximum real-time scheduling priority
-\b-s\bs The maximum stack size
-\b-t\bt The maximum amount of cpu time in seconds
- -\b-u\bu The maximum number of processes available to a single
+ -\b-u\bu The maximum number of processes available to a single
user
- -\b-v\bv The maximum amount of virtual memory available to the
+ -\b-v\bv The maximum amount of virtual memory available to the
shell
-\b-x\bx The maximum number of file locks
-\b-T\bT The maximum number of threads
If _\bl_\bi_\bm_\bi_\bt is given, it is the new value of the specified resource
(the -\b-a\ba option is display only). If no option is given, then -\b-f\bf
- is assumed. Values are in 1024-byte increments, except for -\b-t\bt,
- which is in seconds, -\b-p\bp, which is in units of 512-byte blocks,
- and -\b-T\bT, -\b-b\bb, -\b-n\bn, and -\b-u\bu, which are unscaled values. The return
+ is assumed. Values are in 1024-byte increments, except for -\b-t\bt,
+ which is in seconds, -\b-p\bp, which is in units of 512-byte blocks,
+ and -\b-T\bT, -\b-b\bb, -\b-n\bn, and -\b-u\bu, which are unscaled values. The return
status is 0 unless an invalid option or argument is supplied, or
an error occurs while setting a new limit.
u\bum\bma\bas\bsk\bk [-\b-p\bp] [-\b-S\bS] [_\bm_\bo_\bd_\be]
The user file-creation mask is set to _\bm_\bo_\bd_\be. If _\bm_\bo_\bd_\be begins with
- a digit, it is interpreted as an octal number; otherwise it is
- interpreted as a symbolic mode mask similar to that accepted by
- _\bc_\bh_\bm_\bo_\bd(1). If _\bm_\bo_\bd_\be is omitted, the current value of the mask is
- printed. The -\b-S\bS option causes the mask to be printed in sym-
- bolic form; the default output is an octal number. If the -\b-p\bp
+ a digit, it is interpreted as an octal number; otherwise it is
+ interpreted as a symbolic mode mask similar to that accepted by
+ _\bc_\bh_\bm_\bo_\bd(1). If _\bm_\bo_\bd_\be is omitted, the current value of the mask is
+ printed. The -\b-S\bS option causes the mask to be printed in sym-
+ bolic form; the default output is an octal number. If the -\b-p\bp
option is supplied, and _\bm_\bo_\bd_\be is omitted, the output is in a form
that may be reused as input. The return status is 0 if the mode
- was successfully changed or if no _\bm_\bo_\bd_\be argument was supplied,
+ was successfully changed or if no _\bm_\bo_\bd_\be argument was supplied,
and false otherwise.
u\bun\bna\bal\bli\bia\bas\bs [-a\ba] [_\bn_\ba_\bm_\be ...]
- Remove each _\bn_\ba_\bm_\be from the list of defined aliases. If -\b-a\ba is
- supplied, all alias definitions are removed. The return value
+ Remove each _\bn_\ba_\bm_\be from the list of defined aliases. If -\b-a\ba is
+ supplied, all alias definitions are removed. The return value
is true unless a supplied _\bn_\ba_\bm_\be is not a defined alias.
u\bun\bns\bse\bet\bt [-f\bfv\bv] [_\bn_\ba_\bm_\be ...]
- For each _\bn_\ba_\bm_\be, remove the corresponding variable or function.
+ For each _\bn_\ba_\bm_\be, remove the corresponding variable or function.
If no options are supplied, or the -\b-v\bv option is given, each _\bn_\ba_\bm_\be
- refers to a shell variable. Read-only variables may not be
- unset. If -\b-f\bf is specified, each _\bn_\ba_\bm_\be refers to a shell func-
- tion, and the function definition is removed. Each unset vari-
- able or function is removed from the environment passed to sub-
- sequent commands. If any of R\bRA\bAN\bND\bDO\bOM\bM, S\bSE\bEC\bCO\bON\bND\bDS\bS, L\bLI\bIN\bNE\bEN\bNO\bO, H\bHI\bIS\bST\bTC\bCM\bMD\bD,
+ refers to a shell variable. Read-only variables may not be
+ unset. If -\b-f\bf is specified, each _\bn_\ba_\bm_\be refers to a shell func-
+ tion, and the function definition is removed. Each unset vari-
+ able or function is removed from the environment passed to sub-
+ sequent commands. If any of R\bRA\bAN\bND\bDO\bOM\bM, S\bSE\bEC\bCO\bON\bND\bDS\bS, L\bLI\bIN\bNE\bEN\bNO\bO, H\bHI\bIS\bST\bTC\bCM\bMD\bD,
F\bFU\bUN\bNC\bCN\bNA\bAM\bME\bE, G\bGR\bRO\bOU\bUP\bPS\bS, or D\bDI\bIR\bRS\bST\bTA\bAC\bCK\bK are unset, they lose their special
- properties, even if they are subsequently reset. The exit sta-
+ properties, even if they are subsequently reset. The exit sta-
tus is true unless a _\bn_\ba_\bm_\be is readonly.
w\bwa\bai\bit\bt [_\bn _\b._\b._\b.]
- Wait for each specified process and return its termination sta-
- tus. Each _\bn may be a process ID or a job specification; if a
- job spec is given, all processes in that job's pipeline are
- waited for. If _\bn is not given, all currently active child pro-
- cesses are waited for, and the return status is zero. If _\bn
- specifies a non-existent process or job, the return status is
- 127. Otherwise, the return status is the exit status of the
+ Wait for each specified process and return its termination sta-
+ tus. Each _\bn may be a process ID or a job specification; if a
+ job spec is given, all processes in that job's pipeline are
+ waited for. If _\bn is not given, all currently active child pro-
+ cesses are waited for, and the return status is zero. If _\bn
+ specifies a non-existent process or job, the return status is
+ 127. Otherwise, the return status is the exit status of the
last process or job waited for.
R\bRE\bES\bST\bTR\bRI\bIC\bCT\bTE\bED\bD S\bSH\bHE\bEL\bLL\bL
If b\bba\bas\bsh\bh is started with the name r\brb\bba\bas\bsh\bh, or the -\b-r\br option is supplied at
- invocation, the shell becomes restricted. A restricted shell is used
- to set up an environment more controlled than the standard shell. It
- behaves identically to b\bba\bas\bsh\bh with the exception that the following are
+ invocation, the shell becomes restricted. A restricted shell is used
+ to set up an environment more controlled than the standard shell. It
+ behaves identically to b\bba\bas\bsh\bh with the exception that the following are
disallowed or not performed:
+\bo changing directories with c\bcd\bd
+\bo specifying command names containing /\b/
- +\bo specifying a file name containing a /\b/ as an argument to the .\b.
+ +\bo specifying a file name containing a /\b/ as an argument to the .\b.
builtin command
- +\bo Specifying a filename containing a slash as an argument to the
+ +\bo Specifying a filename containing a slash as an argument to the
-\b-p\bp option to the h\bha\bas\bsh\bh builtin command
- +\bo importing function definitions from the shell environment at
+ +\bo importing function definitions from the shell environment at
startup
- +\bo parsing the value of S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS from the shell environment at
+ +\bo parsing the value of S\bSH\bHE\bEL\bLL\bLO\bOP\bPT\bTS\bS from the shell environment at
startup
+\bo redirecting output using the >, >|, <>, >&, &>, and >> redirect-
+\bo using the e\bex\bxe\bec\bc builtin command to replace the shell with another
command
- +\bo adding or deleting builtin commands with the -\b-f\bf and -\b-d\bd options
+ +\bo adding or deleting builtin commands with the -\b-f\bf and -\b-d\bd options
to the e\ben\bna\bab\bbl\ble\be builtin command
- +\bo Using the e\ben\bna\bab\bbl\ble\be builtin command to enable disabled shell
+ +\bo Using the e\ben\bna\bab\bbl\ble\be builtin command to enable disabled shell
builtins
+\bo specifying the -\b-p\bp option to the c\bco\bom\bmm\bma\ban\bnd\bd builtin command
These restrictions are enforced after any startup files are read.
When a command that is found to be a shell script is executed (see C\bCO\bOM\bM-\b-
- M\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN above), r\brb\bba\bas\bsh\bh turns off any restrictions in the shell
+ M\bMA\bAN\bND\bD E\bEX\bXE\bEC\bCU\bUT\bTI\bIO\bON\bN above), r\brb\bba\bas\bsh\bh turns off any restrictions in the shell
spawned to execute the script.
S\bSE\bEE\bE A\bAL\bLS\bSO\bO
_\bB_\ba_\bs_\bh _\bR_\be_\bf_\be_\br_\be_\bn_\bc_\be _\bM_\ba_\bn_\bu_\ba_\bl, Brian Fox and Chet Ramey
_\bT_\bh_\be _\bG_\bn_\bu _\bR_\be_\ba_\bd_\bl_\bi_\bn_\be _\bL_\bi_\bb_\br_\ba_\br_\by, Brian Fox and Chet Ramey
_\bT_\bh_\be _\bG_\bn_\bu _\bH_\bi_\bs_\bt_\bo_\br_\by _\bL_\bi_\bb_\br_\ba_\br_\by, Brian Fox and Chet Ramey
- _\bP_\bo_\br_\bt_\ba_\bb_\bl_\be _\bO_\bp_\be_\br_\ba_\bt_\bi_\bn_\bg _\bS_\by_\bs_\bt_\be_\bm _\bI_\bn_\bt_\be_\br_\bf_\ba_\bc_\be _\b(_\bP_\bO_\bS_\bI_\bX_\b) _\bP_\ba_\br_\bt _\b2_\b: _\bS_\bh_\be_\bl_\bl _\ba_\bn_\bd _\bU_\bt_\bi_\bl_\bi_\b-
+ _\bP_\bo_\br_\bt_\ba_\bb_\bl_\be _\bO_\bp_\be_\br_\ba_\bt_\bi_\bn_\bg _\bS_\by_\bs_\bt_\be_\bm _\bI_\bn_\bt_\be_\br_\bf_\ba_\bc_\be _\b(_\bP_\bO_\bS_\bI_\bX_\b) _\bP_\ba_\br_\bt _\b2_\b: _\bS_\bh_\be_\bl_\bl _\ba_\bn_\bd _\bU_\bt_\bi_\bl_\bi_\b-
_\bt_\bi_\be_\bs, IEEE
_\bs_\bh(1), _\bk_\bs_\bh(1), _\bc_\bs_\bh(1)
_\be_\bm_\ba_\bc_\bs(1), _\bv_\bi(1)
_\b~_\b/_\b._\bb_\ba_\bs_\bh_\br_\bc
The individual per-interactive-shell startup file
_\b~_\b/_\b._\bb_\ba_\bs_\bh_\b__\bl_\bo_\bg_\bo_\bu_\bt
- The individual login shell cleanup file, executed when a login
+ The individual login shell cleanup file, executed when a login
shell exits
_\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc
Individual _\br_\be_\ba_\bd_\bl_\bi_\bn_\be initialization file
B\bBU\bUG\bG R\bRE\bEP\bPO\bOR\bRT\bTS\bS
If you find a bug in b\bba\bas\bsh\bh,\b, you should report it. But first, you should
- make sure that it really is a bug, and that it appears in the latest
- version of b\bba\bas\bsh\bh. The latest version is always available from
+ make sure that it really is a bug, and that it appears in the latest
+ version of b\bba\bas\bsh\bh. The latest version is always available from
_\bf_\bt_\bp_\b:_\b/_\b/_\bf_\bt_\bp_\b._\bg_\bn_\bu_\b._\bo_\br_\bg_\b/_\bp_\bu_\bb_\b/_\bb_\ba_\bs_\bh_\b/.
- Once you have determined that a bug actually exists, use the _\bb_\ba_\bs_\bh_\bb_\bu_\bg
- command to submit a bug report. If you have a fix, you are encouraged
- to mail that as well! Suggestions and `philosophical' bug reports may
- be mailed to _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg or posted to the Usenet newsgroup
+ Once you have determined that a bug actually exists, use the _\bb_\ba_\bs_\bh_\bb_\bu_\bg
+ command to submit a bug report. If you have a fix, you are encouraged
+ to mail that as well! Suggestions and `philosophical' bug reports may
+ be mailed to _\bb_\bu_\bg_\b-_\bb_\ba_\bs_\bh_\b@_\bg_\bn_\bu_\b._\bo_\br_\bg or posted to the Usenet newsgroup
g\bgn\bnu\bu.\b.b\bba\bas\bsh\bh.\b.b\bbu\bug\bg.
ALL bug reports should include:
A description of the bug behaviour
A short script or `recipe' which exercises the bug
- _\bb_\ba_\bs_\bh_\bb_\bu_\bg inserts the first three items automatically into the template
+ _\bb_\ba_\bs_\bh_\bb_\bu_\bg inserts the first three items automatically into the template
it provides for filing a bug report.
Comments and bug reports concerning this manual page should be directed
Shell builtin commands and functions are not stoppable/restartable.
Compound commands and command sequences of the form `a ; b ; c' are not
- handled gracefully when process suspension is attempted. When a
- process is stopped, the shell immediately executes the next command in
- the sequence. It suffices to place the sequence of commands between
- parentheses to force it into a subshell, which may be stopped as a
+ 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.
-GNU Bash-4.0 2009 February 7 BASH(1)
+GNU Bash-4.0 2009 March 4 BASH(1)
.\" Case Western Reserve University
.\" chet@po.cwru.edu
.\"
-.\" Last Change: Sat Feb 7 20:50:40 EST 2009
+.\" Last Change: Wed Mar 4 15:55:47 EST 2009
.\"
.\" bash_builtins, strip all but Built-Ins section
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
-.TH BASH 1 "2009 February 7" "GNU Bash-4.0"
+.TH BASH 1 "2009 March 4" "GNU Bash-4.0"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
the execution of processes and continue (\fIresume\fP)
their execution at a later point. A user typically employs
this facility via an interactive interface supplied jointly
-by the system's terminal driver and
+by the operating system kernel's terminal driver and
.BR bash .
.PP
The shell associates a
.I Background
processes are those whose process group ID differs from the terminal's;
such processes are immune to keyboard-generated signals.
-Only foreground processes are allowed to read from or write to the
-terminal. Background processes which attempt to read from (write to) the
+Only foreground processes are allowed to read from or, if the
+user so specifies with \f(CWstty tostop\fP, write to the
+terminal.
+Background processes which attempt to read from (write to when
+\f(CWstty tostop\fP is in effect) the
terminal are sent a
.SM
.B SIGTTIN (SIGTTOU)
-signal by the terminal driver,
+signal by the kernel's terminal driver,
which, unless caught, suspends the process.
.PP
If the operating system on which
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
-<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2009 February 7<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2009 March 4<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
the execution of processes and continue (<I>resume</I>)
their execution at a later point. A user typically employs
this facility via an interactive interface supplied jointly
-by the system's terminal driver and
+by the operating system kernel's terminal driver and
<B>bash</B>.
<P>
processes are those whose process group ID differs from the terminal's;
such processes are immune to keyboard-generated signals.
-Only foreground processes are allowed to read from or write to the
-terminal. Background processes which attempt to read from (write to) the
+Only foreground processes are allowed to read from or, if the
+user so specifies with <TT>stty tostop</TT>, write to the
+terminal.
+Background processes which attempt to read from (write to when
+<TT>stty tostop</TT> is in effect) the
terminal are sent a
<FONT SIZE=-1><B>SIGTTIN (SIGTTOU)</B>
</FONT>
-signal by the terminal driver,
+signal by the kernel's terminal driver,
which, unless caught, suspends the process.
<P>
<HR>
<TABLE WIDTH=100%>
<TR>
-<TH ALIGN=LEFT width=33%>GNU Bash-4.0<TH ALIGN=CENTER width=33%>2009 February 7<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>GNU Bash-4.0<TH ALIGN=CENTER width=33%>2009 March 4<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
</DL>
<HR>
This document was created by man2html from bash.1.<BR>
-Time: 23 February 2009 11:56:09 EST
+Time: 05 March 2009 07:55:02 EST
</BODY>
</HTML>
%!PS-Adobe-3.0
%%Creator: groff version 1.19.2
-%%CreationDate: Mon Feb 23 11:56:03 2009
+%%CreationDate: Thu Mar 5 07:54:57 2009
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
144 686.4 Q .3 -.15(ve \()-.25 H(see).15 E F4(INV)2.5 E(OCA)-.405 E
(TION)-.855 E F0(belo)2.25 E(w\).)-.25 E F2(\255\255login)108 703.2 Q F0
(Equi)144 715.2 Q -.25(va)-.25 G(lent to).25 E F2<ad6c>2.5 E F0(.)A
-(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(1)195.95 E 0 Cg EP
+(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(1)200.95 E 0 Cg EP
%%Page: 2 2
%%BeginPageSetup
BP
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.0)72
-768 Q(2009 February 7)140.96 E(2)195.95 E 0 Cg EP
+768 Q(2009 March 4)145.96 E(2)200.95 E 0 Cg EP
%%Page: 3 3
%%BeginPageSetup
BP
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.0)72 768 Q
-(2009 February 7)140.96 E(3)195.95 E 0 Cg EP
+(2009 March 4)145.96 E(3)200.95 E 0 Cg EP
%%Page: 4 4
%%BeginPageSetup
BP
(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.0)72 768 Q
-(2009 February 7)140.96 E(4)195.95 E 0 Cg EP
+(2009 March 4)145.96 E(4)200.95 E 0 Cg EP
%%Page: 5 5
%%BeginPageSetup
BP
(list)2.728 E F0 .228(that is e)2.728 F -.15(xe)-.15 G .228(cuted, or f)
.15 F .228(alse if an)-.1 F 2.728(yo)-.15 G 2.728(ft)-2.728 G(he)-2.728
E -.15(ex)144 715.2 S(pressions is in).15 E -.25(va)-.4 G(lid.).25 E
-(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(5)195.95 E 0 Cg EP
+(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(5)200.95 E 0 Cg EP
%%Page: 6 6
%%BeginPageSetup
BP
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.0)72 768 Q
-(2009 February 7)140.96 E(6)195.95 E 0 Cg EP
+(2009 March 4)145.96 E(6)200.95 E 0 Cg EP
%%Page: 7 7
%%BeginPageSetup
BP
(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
-(an escape character)28.78 E(GNU Bash-4.0)72 768 Q(2009 February 7)
-140.96 E(7)195.95 E 0 Cg EP
+(an escape character)28.78 E(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E
+(7)200.95 E 0 Cg EP
%%Page: 8 8
%%BeginPageSetup
BP
(ble quotes, it e)144 724.8 R 1.432(xpands to a single w)-.15 F 1.432
(ord with the v)-.1 F 1.433
(alue of each parameter separated by the \214rst)-.25 F(GNU Bash-4.0)72
-768 Q(2009 February 7)140.96 E(8)195.95 E 0 Cg EP
+768 Q(2009 March 4)145.96 E(8)200.95 E 0 Cg EP
%%Page: 9 9
%%BeginPageSetup
BP
(cuted, unless the shell is e).15 F -.15(xe)-.15 G 1.243(cuting a).15 F
(command as the result of a trap, in which case it is the command e)144
729.6 Q -.15(xe)-.15 G(cuting at the time of the trap.).15 E
-(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(9)195.95 E 0 Cg EP
+(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(9)200.95 E 0 Cg EP
%%Page: 10 10
%%BeginPageSetup
BP
(ternal commands in).15 F -.2(vo)-.4 G -.1(ke).2 G 5.429(db).1 G 5.429
(yt)-5.429 G 2.929(he programmable completion f)-5.429 F 2.929
(acilities \(see)-.1 F F1(Pr)5.429 E(ogrammable)-.18 E(Completion)144
-730.8 Q F0(belo)2.5 E(w\).)-.25 E(GNU Bash-4.0)72 768 Q(2009 February 7)
-140.96 E(10)190.95 E 0 Cg EP
+730.8 Q F0(belo)2.5 E(w\).)-.25 E(GNU Bash-4.0)72 768 Q(2009 March 4)
+145.96 E(10)195.95 E 0 Cg EP
%%Page: 11 11
%%BeginPageSetup
BP
(gument processed by the)-.18 F F1(getopts)4.127 E F0 -.2(bu)4.127 G
1.627(iltin command \(see).2 F F2(SHELL)4.127 E -.09(BU)144 717.6 S(IL)
.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E(GNU Bash-4.0)72
-768 Q(2009 February 7)140.96 E(11)190.95 E 0 Cg EP
+768 Q(2009 March 4)145.96 E(11)195.95 E 0 Cg EP
%%Page: 12 12
%%BeginPageSetup
BP
(in)144 705.6 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G
(he programmable completion f)-2.5 E(acility \(see)-.1 E F1(Pr)2.5 E
(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E(GNU Bash-4.0)72
-768 Q(2009 February 7)140.96 E(12)190.95 E 0 Cg EP
+768 Q(2009 March 4)145.96 E(12)195.95 E 0 Cg EP
%%Page: 13 13
%%BeginPageSetup
BP
(The list of possible hostname completions may be changed while)5.551 F
1.059(the shell is running; the ne)144 720 R 1.059
(xt time hostname completion is attempted after the v)-.15 F 1.058
-(alue is changed,)-.25 F(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E
-(13)190.95 E 0 Cg EP
+(alue is changed,)-.25 F(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(13)
+195.95 E 0 Cg EP
%%Page: 14 14
%%BeginPageSetup
BP
(The def)5.868 F .868(ault path is system-dependent, and is set by the)
-.1 F 26.329(administrator who installs)144 720 R F1(bash)28.829 E F0
31.329(.A)C 26.328(common v)-2.501 F 26.328(alue is)-.25 F(GNU Bash-4.0)
-72 768 Q(2009 February 7)140.96 E(14)190.95 E 0 Cg EP
+72 768 Q(2009 March 4)145.96 E(14)195.95 E 0 Cg EP
%%Page: 15 15
%%BeginPageSetup
BP
702 R F2(Bash)2.774 E F0 .274(uses its v)2.774 F .274
(alue as the name of a directory in which)-.25 F F2(Bash)2.773 E F0 .273
(creates temporary \214les for the)2.773 F(shell')144 714 Q 2.5(su)-.55
-G(se.)-2.5 E(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(15)190.95 E
-0 Cg EP
+G(se.)-2.5 E(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(15)195.95 E 0
+Cg EP
%%Page: 16 16
%%BeginPageSetup
BP
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(GNU Bash-4.0)72
-768 Q(2009 February 7)140.96 E(16)190.95 E 0 Cg EP
+768 Q(2009 March 4)145.96 E(16)195.95 E 0 Cg EP
%%Page: 17 17
%%BeginPageSetup
BP
108 681.6 R(longer than in the abo)108 693.6 Q .3 -.15(ve ex)-.15 H
(ample:).15 E(mkdir /usr/local/src/bash/{old,ne)144 710.4 Q -.65(w,)-.25
G(dist,b).65 E(ugs})-.2 E(or)108 722.4 Q(GNU Bash-4.0)72 768 Q
-(2009 February 7)140.96 E(17)190.95 E 0 Cg EP
+(2009 March 4)145.96 E(17)195.95 E 0 Cg EP
%%Page: 18 18
%%BeginPageSetup
BP
-.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 717.6 Q(alue of)-.25 E F2(par)3.75 E(ameter)-.15 E
-F0(is substituted.)3.23 E(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E
-(18)190.95 E 0 Cg EP
+F0(is substituted.)3.23 E(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E
+(18)195.95 E 0 Cg EP
%%Page: 19 19
%%BeginPageSetup
BP
(is applied to each member of the array in turn, and the e)144 679.2 Q
(xpansion is the resultant list.)-.15 E(${)108 696 Q F1(par)A(ameter)
-.15 E F2(%)A F1(wor)A(d)-.37 E F0(})A(GNU Bash-4.0)72 768 Q
-(2009 February 7)140.96 E(19)190.95 E 0 Cg EP
+(2009 March 4)145.96 E(19)195.95 E 0 Cg EP
%%Page: 20 20
%%BeginPageSetup
BP
(quotes with backslashes.)108 686.4 Q .422
(If the substitution appears within double quotes, w)108 703.2 R .422
(ord splitting and pathname e)-.1 F .422(xpansion are not performed)-.15
-F(on the results.)108 715.2 Q(GNU Bash-4.0)72 768 Q(2009 February 7)
-140.96 E(20)190.95 E 0 Cg EP
+F(on the results.)108 715.2 Q(GNU Bash-4.0)72 768 Q(2009 March 4)145.96
+E(20)195.95 E 0 Cg EP
%%Page: 21 21
%%BeginPageSetup
BP
-.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 F1(dotglob)2.546 E F0(GNU Bash-4.0)72 768 Q
-(2009 February 7)140.96 E(21)190.95 E 0 Cg EP
+(2009 March 4)145.96 E(21)195.95 E 0 Cg EP
%%Page: 22 22
%%BeginPageSetup
BP
(ected)-.37 E F0 .545(using a special notation interpreted)3.815 F 2.77
(by the shell.)108 723.6 R 2.769(Redirection may also be used to open a\
nd close \214les for the current shell e)7.77 F -.15(xe)-.15 G(cution)
-.15 E(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(22)190.95 E 0 Cg EP
+.15 E(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(22)195.95 E 0 Cg EP
%%Page: 23 23
%%BeginPageSetup
BP
1.76(ail if the \214le whose name results from the e)-.1 F 1.759
(xpansion of)-.15 F F1(wor)4.259 E(d)-.37 E F0 -.15(ex)4.259 G 1.759
(ists and is a re).15 F 1.759(gular \214le.)-.15 F 1.759(If the)6.759 F
-(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(23)190.95 E 0 Cg EP
+(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(23)195.95 E 0 Cg EP
%%Page: 24 24
%%BeginPageSetup
BP
(<<<)144 681.6 Q F2(wor)A(d)-.37 E F0(The)108 698.4 Q F2(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
-(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(24)190.95 E 0 Cg EP
+(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(24)195.95 E 0 Cg EP
%%Page: 25 25
%%BeginPageSetup
BP
(another command does not tak)108 727.2 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(GNU Bash-4.0)72
-768 Q(2009 February 7)140.96 E(25)190.95 E 0 Cg EP
+768 Q(2009 March 4)145.96 E(25)195.95 E 0 Cg EP
%%Page: 26 26
%%BeginPageSetup
BP
(multiplication, di)10.72 E(vision, remainder)-.25 E F1 2.5<2bad>108
686.4 S F0(addition, subtraction)19.6 E F1(<< >>)108 698.4 Q F0
(left and right bitwise shifts)10.7 E(GNU Bash-4.0)72 768 Q
-(2009 February 7)140.96 E(26)190.95 E 0 Cg EP
+(2009 March 4)145.96 E(26)195.95 E 0 Cg EP
%%Page: 27 27
%%BeginPageSetup
BP
-.15(ex)2.5 G(ists and has a size greater than zero.).15 E F1<ad74>108
708 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(GNU Bash-4.0)72
-768 Q(2009 February 7)140.96 E(27)190.95 E 0 Cg EP
+768 Q(2009 March 4)145.96 E(27)195.95 E 0 Cg EP
%%Page: 28 28
%%BeginPageSetup
BP
(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 724.8 Q(xits with a non-zero status.)-.15 E
-(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(28)190.95 E 0 Cg EP
+(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(28)195.95 E 0 Cg EP
%%Page: 29 29
%%BeginPageSetup
BP
(ault or with command-line ar)-.1 E(guments\) or by)-.18 E F4(set)2.5 E
F0 32.5<836f>108 700.8 S(ptions enabled by)-32.5 E F4(shopt)2.5 E F0
32.5<8373>108 717.6 S(hell aliases de\214ned with)-32.5 E F4(alias)2.5 E
-F0(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(29)190.95 E 0 Cg EP
+F0(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(29)195.95 E 0 Cg EP
%%Page: 30 30
%%BeginPageSetup
BP
729.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(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(30)190.95 E 0 Cg
-EP
+-.15 F(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(30)195.95 E 0 Cg EP
%%Page: 31 31
%%BeginPageSetup
BP
.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 system')108 504 Q 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 520.8 R F1(job)5.024 E F0 .784
-(with each pipeline.)3.514 F .784(It k)5.784 F .785
+-.1 E(supplied jointly by the operating system k)108 504 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 520.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 532.8 R F2
(jobs)2.841 E F0 2.841(command. When)2.841 F F2(bash)2.841 E F0 .341
(kgr)-.2 E(ound)-.45 E F0 1.346(processes are those whose process)4.616
F .145(group ID dif)108 667.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 .042
-(ground processes are allo)108 679.2 R .042
-(wed to read from or write to the terminal.)-.25 F .042
-(Background processes which attempt to)5.042 F 1.639
-(read from \(write to\) the terminal are sent a)108 691.2 R F4 1.64
-(SIGTTIN \(SIGTT)4.14 F(OU\))-.162 E F0 1.64(signal by the terminal dri)
-3.89 F -.15(ve)-.25 G 2.44 -.4(r, w).15 H(hich,).4 E
-(unless caught, suspends the process.)108 703.2 Q 1.088
-(If the operating system on which)108 720 R F2(bash)3.588 E F0 1.088
-(is running supports job control,)3.588 F F2(bash)3.587 E F0 1.087
-(contains f)3.587 F 1.087(acilities to use it.)-.1 F(GNU Bash-4.0)72 768
-Q(2009 February 7)140.96 E(31)190.95 E 0 Cg EP
+(board-generated signals.).15 F .146(Only fore-)5.146 F .16
+(ground processes are allo)108 679.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 691.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 703.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 715.2 Q
+(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(31)195.95 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 -.8(Ty)108 84 S .301(ping the).8 F/F1 10/Times-Italic@0 SF
-(suspend)3.141 E F0 .301(character \(typically)3.571 F/F2 10
-/Times-Bold@0 SF(^Z)2.801 E F0 2.801(,C)C .301
+-.35 E 1.087(If the operating system on which)108 84 R/F1 10
+/Times-Bold@0 SF(bash)3.587 E F0 1.088(is running supports job control,)
+3.588 F F1(bash)3.588 E F0 1.088(contains f)3.588 F 1.088
+(acilities to use it.)-.1 F -.8(Ty)108 96 S .302(ping the).8 F/F2 10
+/Times-Italic@0 SF(suspend)3.142 E F0 .302(character \(typically)3.572 F
+F1(^Z)2.801 E F0 2.801(,C)C .301
(ontrol-Z\) while a process is running causes that process to be)-2.801
-F 2.143(stopped and returns control to)108 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.142
-(character \(typically)5.412 F F2(^Y)4.642 E F0 4.642(,C)C(ontrol-Y\))
--4.642 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
+F 2.142(stopped and returns control to)108 108 R F1(bash)4.642 E F0
+7.142(.T)C 2.142(yping the)-7.942 F F2 2.142(delayed suspend)4.992 F F0
+2.143(character \(typically)5.413 F F1(^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 120
+R(to)108 132 Q F1(bash)3.392 E F0 5.892(.T)C .892
(he user may then manipulate the state of this job, using the)-5.892 F
-F2(bg)3.392 E F0 .892(command to continue it in the)3.392 F .894
-(background, the)108 132 R F2(fg)3.394 E F0 .895
-(command to continue it in the fore)3.394 F .895(ground, or the)-.15 F
-F2(kill)3.395 E F0 .895(command to kill it.)3.395 F(A)5.895 E F2(^Z)
-3.395 E F0(tak)3.395 E(es)-.1 E(ef)108 144 Q .949(fect immediately)-.25
-F 3.449(,a)-.65 G .948(nd has the additional side ef)-3.449 F .948
+F1(bg)3.392 E F0 .892(command to continue it in the)3.392 F .895
+(background, the)108 144 R F1(fg)3.395 E F0 .895
+(command to continue it in the fore)3.395 F .895(ground, or the)-.15 F
+F1(kill)3.395 E F0 .894(command to kill it.)3.395 F(A)5.894 E F1(^Z)
+3.394 E F0(tak)3.394 E(es)-.1 E(ef)108 156 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 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 184.8
-Q F1(jobspec)A F0 3.458(\). Job)B(number)3.458 E F1(n)3.818 E F0 .957
-(may be referred to as)3.697 F F2(%n)3.457 E F0 5.957(.A)C .957
+108 168 Q .777(There are a number of w)108 184.8 R .777
+(ays to refer to a job in the shell.)-.1 F .777(The character)5.777 F F1
+(%)3.277 E F0 .777(introduces a job speci\214cation)3.277 F(\()108 196.8
+Q F2(jobspec)A F0 3.457(\). Job)B(number)3.457 E F2(n)3.817 E F0 .957
+(may be referred to as)3.697 F F1(%n)3.457 E F0 5.957(.A)C .957
(job may also be referred to using a pre\214x of the)-2.5 F .59(name us\
ed to start it, or using a substring that appears in its command line.)
-108 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.464 E F0(job)3.464
-E 5.964(.I)-.4 G 3.463(fap)-5.964 G .963
-(re\214x matches more than one job,)-3.463 F 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.463(,o)C 3.463(nt)-3.463 G .963(he other)-3.463 F .086
-(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
+108 208.8 R -.15(Fo)5.59 G 3.09(re).15 G(xample,)-3.24 E F1(%ce)3.09 E
+F0 .59(refers to a)3.09 F(stopped)108 220.8 Q F1(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
+F0 3.464(,o)C 3.464(nt)-3.464 G .964(he other)-3.464 F .087
+(hand, refers to an)108 232.8 R 2.587(yj)-.15 G .087
+(ob containing the string)-2.587 F F1(ce)2.587 E F0 .087
(in its command line.)2.587 F .087
-(If the substring matches more than one)5.087 F(job,)108 232.8 Q F2
+(If the substring matches more than one)5.087 F(job,)108 244.8 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 F2(%%)2.518 E F0(and)2.518 E F2(%+)2.518 E F0 .018
+(he symbols)-5.018 F F1(%%)2.518 E F0(and)2.518 E F1(%+)2.518 E F0 .018
(refer to the shell')2.518 F 2.518(sn)-.55 G .018(otion of the)-2.518 F
-F1(curr)2.518 E .018(ent job)-.37 F F0 2.518(,w).23 G .018(hich is)
--2.518 F .494(the last job stopped while it w)108 244.8 R .495
+F2(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 256.8 R .495
(as in the fore)-.1 F .495(ground or started in the background.)-.15 F
-(The)5.495 E F1(pr)4.245 E -.15(ev)-.37 G .495(ious job).15 F F0 .495
-(may be)3.225 F .788(referenced using)108 256.8 R F2<25ad>3.288 E F0
-5.788(.I)C 3.288(ft)-5.788 G .787(here is only a single job,)-3.288 F F2
-(%+)3.287 E F0(and)3.287 E F2<25ad>3.287 E F0 .787
-(can both be used to refer to that job)3.287 F 5.787(.I)-.4 G(n)-5.787 E
-.256(output pertaining to jobs \(e.g., the output of the)108 268.8 R F2
+(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 268.8 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
+(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 280.8 R F1
(jobs)2.756 E F0 .256(command\), the current job is al)2.756 F -.1(wa)
--.1 G .257(ys \215agged with a).1 F F2(+)2.757 E F0(,)A .411
-(and the pre)108 280.8 R .411(vious job with a)-.25 F F2<ad>2.911 E F0
-5.411(.A)C .411(single % \(with no accompan)-2.5 F .41
+-.1 G .256(ys \215agged with a).1 F F1(+)2.756 E F0(,)A .41(and the pre)
+108 292.8 R .41(vious job with a)-.25 F F1<ad>2.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 292.8 Q(.)-.4 E .443
-(Simply naming a job can be used to bring it into the fore)108 309.6 R
-(ground:)-.15 E F2(%1)2.944 E F0 .444(is a synon)2.944 F .444(ym for)
--.15 F F2 -.63(``)2.944 G .444(fg %1').63 F(')-.63 E F0 2.944(,b)C
-(ringing)-2.944 E 1.473(job 1 from the background into the fore)108
-321.6 R 3.973(ground. Similarly)-.15 F(,)-.65 E F2 -.63(``)3.972 G 1.472
-(%1 &').63 F(')-.63 E F0 1.472(resumes job 1 in the background,)3.972 F
-(equi)108 333.6 Q -.25(va)-.25 G(lent to).25 E F2 -.63(``)2.5 G(bg %1')
-.63 E(')-.63 E F0(.)A .13(The shell learns immediately whene)108 350.4 R
--.15(ve)-.25 G 2.63(raj).15 G .13(ob changes state.)-2.63 F(Normally)
-5.131 E(,)-.65 E F2(bash)2.631 E F0 -.1(wa)2.631 G .131
-(its until it is about to print a).1 F .158
-(prompt before reporting changes in a job')108 362.4 R 2.658(ss)-.55 G
-.158(tatus so as to not interrupt an)-2.658 F 2.657(yo)-.15 G .157
-(ther output.)-2.657 F .157(If the)5.157 F F2<ad62>2.657 E F0 .157
-(option to)2.657 F(the)108 374.4 Q F2(set)3.951 E F0 -.2(bu)3.951 G
-1.451(iltin command is enabled,).2 F F2(bash)3.951 E F0 1.452
-(reports such changes immediately)3.951 F 6.452(.A)-.65 G 1.752 -.15
-(ny t)-6.452 H 1.452(rap on).15 F/F3 9/Times-Bold@0 SF(SIGCHLD)3.952 E
-F0(is)3.702 E -.15(exe)108 386.4 S(cuted for each child that e).15 E
-(xits.)-.15 E .033(If an attempt to e)108 403.2 R(xit)-.15 E F2(bash)
-2.533 E F0 .033(is made while jobs are stopped \(or)2.533 F 2.532(,i)-.4
-G 2.532(ft)-2.532 G(he)-2.532 E F2(checkjobs)2.532 E F0 .032
-(shell option has been enabled)2.532 F 2.019(using the)108 415.2 R F2
-(shopt)4.519 E F0 -.2(bu)4.519 G 2.019
-(iltin, running\), the shell prints a w).2 F 2.02
-(arning message, and, if the)-.1 F F2(checkjobs)4.52 E F0 2.02
-(option is)4.52 F .459(enabled, lists the jobs and their statuses.)108
-427.2 R(The)5.459 E F2(jobs)2.959 E F0 .458
-(command may then be used to inspect their status.)2.958 F .458(If a)
-5.458 F .603(second attempt to e)108 439.2 R .604
+(rent job)108 304.8 Q(.)-.4 E .444
+(Simply naming a job can be used to bring it into the fore)108 321.6 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
+(ringing)-2.943 E 1.472(job 1 from the background into the fore)108
+333.6 R 3.972(ground. Similarly)-.15 F(,)-.65 E F1 -.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 345.6 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 362.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
+(its until it is about to print a).1 F .157
+(prompt before reporting changes in a job')108 374.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 F1<ad62>2.658 E F0 .158
+(option to)2.658 F(the)108 386.4 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
+(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 398.4 S(cuted for each child that e).15 E
+(xits.)-.15 E .032(If an attempt to e)108 415.2 R(xit)-.15 E F1(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 427.2 R F1
+(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
+(option is)4.519 F .458(enabled, lists the jobs and their statuses.)108
+439.2 R(The)5.458 E F1(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 451.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 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 .645(When e)108 480
-R -.15(xe)-.15 G .645(cuting interacti).15 F -.15(ve)-.25 G(ly).15 E(,)
--.65 E F2(bash)3.145 E F0 .645(displays the primary prompt)3.145 F F3
-(PS1)3.145 E F0 .645(when it is ready to read a command,)2.895 F 1.825
-(and the secondary prompt)108 492 R F3(PS2)4.325 E F0 1.825
-(when it needs more input to complete a command.)4.075 F F2(Bash)6.826 E
-F0(allo)4.326 E 1.826(ws these)-.25 F 1.499(prompt strings to be custom\
+(and an)108 463.2 Q 2.5(ys)-.15 G(topped jobs are terminated.)-2.5 E/F4
+10.95/Times-Bold@0 SF(PR)72 480 Q(OMPTING)-.329 E F0 .644(When e)108 492
+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 504 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
+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 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
+ are)108 516 R(decoded as follo)108 528 Q(ws:)-.25 E F1(\\a)144 540 Q F0
+(an ASCII bell character \(07\))28.22 E F1(\\d)144 552 Q F0
(the date in "W)27.66 E(eekday Month Date" format \(e.g., "T)-.8 E
-(ue May 26"\))-.45 E F2(\\D{)144 552 Q F1(format)A F2(})A F0(the)180 564
-Q F1(format)3.926 E F0 1.426(is passed to)3.926 F F1(strftime)3.926 E F0
+(ue May 26"\))-.45 E F1(\\D{)144 564 Q F2(format)A F1(})A F0(the)180 576
+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 576 Q F1(format)2.5 E F0
+(empty)180 588 Q F2(format)2.5 E F0
(results in a locale-speci\214c time representation.)2.5 E
-(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.0)
-72 768 Q(2009 February 7)140.96 E(32)190.95 E 0 Cg EP
+(The braces are required)5 E F1(\\e)144 600 Q F0
+(an ASCII escape character \(033\))28.78 E F1(\\h)144 612 Q F0
+(the hostname up to the \214rst `.)27.66 E(')-.7 E F1(\\H)144 624 Q F0
+(the hostname)25.44 E F1(\\j)144 636 Q F0
+(the number of jobs currently managed by the shell)29.89 E F1(\\l)144
+648 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 660 Q F0(ne)27.66 E(wline)-.25 E F1
+(\\r)144 672 Q F0(carriage return)28.78 E F1(\\s)144 684 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
+696 Q F0(the current time in 24-hour HH:MM:SS format)29.89 E F1(\\T)144
+708 Q F0(the current time in 12-hour HH:MM:SS format)26.55 E
+(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(32)195.95 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/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)
+-.35 E/F1 10/Times-Bold@0 SF(\\@)144 84 Q F0
+(the current time in 12-hour am/pm format)23.92 E F1(\\A)144 96 Q F0
+(the current time in 24-hour HH:MM format)26 E F1(\\u)144 108 Q F0
+(the username of the current user)27.66 E F1(\\v)144 120 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
+144 132 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 4.288(the current w)26 F 4.288
+-2.5 E F1(\\w)144 144 Q F0 4.287(the current w)26 F 4.287
(orking directory)-.1 F 6.787(,w)-.65 G(ith)-6.787 E F1($HOME)6.787 E F0
-(abbre)6.787 E 4.287(viated with a tilde \(uses the)-.25 F F1($PR)180
-144 Q(OMPT_DIR)-.3 E(TRIM)-.4 E F0 -.25(va)2.5 G(riable\)).25 E F1(\\W)
-144 156 Q F0(the basename of the current w)23.22 E(orking directory)-.1
+(abbre)6.787 E 4.288(viated with a tilde \(uses the)-.25 F F1($PR)180
+156 Q(OMPT_DIR)-.3 E(TRIM)-.4 E F0 -.25(va)2.5 G(riable\)).25 E F1(\\W)
+144 168 Q F0(the basename of the current w)23.22 E(orking directory)-.1
E 2.5(,w)-.65 G(ith)-2.5 E F1($HOME)2.5 E F0(abbre)2.5 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
+(viated with a tilde)-.25 E F1(\\!)144 180 Q F0
+(the history number of this command)29.89 E F1(\\#)144 192 Q F0
+(the command number of this command)28.22 E F1(\\$)144 204 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/F2 10
+(#)2.5 E F0 2.5(,o)C(therwise a)-2.5 E F1($)2.5 E(\\)144 216 Q/F2 10
/Times-Italic@0 SF(nnn)A F0
(the character corresponding to the octal number)18.22 E F2(nnn)2.5 E F1
-(\\\\)144 216 Q F0 2.5(ab)30.44 G(ackslash)-2.5 E F1(\\[)144 228 Q F0
+(\\\\)144 228 Q F0 2.5(ab)30.44 G(ackslash)-2.5 E F1(\\[)144 240 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 .12(The command number and the history number are usually dif)
-108 268.8 R .119(ferent: the history number of a command is its)-.25 F
+180 252 Q F1(\\])144 264 Q F0(end a sequence of non-printing characters)
+29.89 E .119(The command number and the history number are usually dif)
+108 280.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/F3 9/Times-Bold@0 SF(HIST)
-4.085 E(OR)-.162 E(Y)-.315 E F0(belo)108 292.8 Q .541(w\), while the co\
+ from the history \214le \(see)108 292.8 R/F3 9/Times-Bold@0 SF(HIST)
+4.084 E(OR)-.162 E(Y)-.315 E F0(belo)108 304.8 Q .541(w\), while the co\
mmand number is the position in the sequence of commands e)-.25 F -.15
-(xe)-.15 G .54(cuted during the cur).15 F(-)-.2 E .546
-(rent shell session.)108 304.8 R .546
+(xe)-.15 G .541(cuted during the cur).15 F(-)-.2 E .546
+(rent shell session.)108 316.8 R .546
(After the string is decoded, it is e)5.546 F .546
(xpanded via parameter e)-.15 F .546(xpansion, command substitu-)-.15 F
-.352(tion, arithmetic e)108 316.8 R .352(xpansion, and quote remo)-.15 F
+.351(tion, arithmetic e)108 328.8 R .352(xpansion, and quote remo)-.15 F
-.25(va)-.15 G .352(l, subject to the v).25 F .352(alue of the)-.25 F F1
-(pr)2.852 E(omptv)-.18 E(ars)-.1 E F0 .351(shell option \(see the)2.852
-F(description of the)108 328.8 Q F1(shopt)2.5 E F0(command under)2.5 E
+(pr)2.852 E(omptv)-.18 E(ars)-.1 E F0 .352(shell option \(see the)2.852
+F(description of the)108 340.8 Q F1(shopt)2.5 E F0(command under)2.5 E
F3(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)
--.25 E/F4 10.95/Times-Bold@0 SF(READLINE)72 345.6 Q F0 .15
+-.25 E/F4 10.95/Times-Bold@0 SF(READLINE)72 357.6 Q F0 .151
(This is the library that handles reading input when using an interacti)
-108 357.6 R .451 -.15(ve s)-.25 H .151(hell, unless the).15 F F1
-(\255\255noediting)2.651 E F0(option)2.651 E 1.209(is gi)108 369.6 R
--.15(ve)-.25 G 3.709(na).15 G 3.709(ts)-3.709 G 1.209(hell in)-3.709 F
--.2(vo)-.4 G 3.709(cation. Line).2 F 1.208
-(editing is also used when using the)3.709 F F1<ad65>3.708 E F0 1.208
-(option to the)3.708 F F1 -.18(re)3.708 G(ad).18 E F0 -.2(bu)3.708 G
-3.708(iltin. By).2 F(def)108 381.6 Q .949
+108 369.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 381.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 F1<ad65>3.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 393.6 Q .95
(ault, the line editing commands are similar to those of emacs.)-.1 F
-3.45(Av)5.95 G .95(i-style line editing interf)-3.45 F .95(ace is also)
--.1 F -.2(av)108 393.6 S 3.35(ailable. Line)-.05 F .85
+3.449(Av)5.949 G .949(i-style line editing interf)-3.449 F .949
+(ace is also)-.1 F -.2(av)108 405.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 405.6 Q F3 .762(SHELL B)3.262 F(UIL)-.09 E .762(TIN COMMANDS)
--.828 F F0(belo)3.012 E 3.262(w\). T)-.25 F 3.263(ot)-.8 G .763(urn of)
+(\(see)108 417.6 Q F3 .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.263 E
-(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 .568(In this section, the emacs-style notation is used to denote k)
-108 446.4 R -.15(ey)-.1 G(strok).15 E 3.067(es. Control)-.1 F -.1(ke)
-3.067 G .567(ys are denoted by C\255)-.05 F F2 -.1(ke)C(y)-.2 E F0(,)A
-1.152(e.g., C\255n means Control\255N.)108 458.4 R(Similarly)6.152 E(,)
--.65 E F2(meta)4.032 E F0 -.1(ke)3.913 G 1.153(ys are denoted by M\255)
--.05 F F2 -.1(ke)C(y)-.2 E F0 3.653(,s)C 3.653(oM)-3.653 G 1.153
-(\255x means Meta\255X.)-3.653 F(\(On)6.153 E -.1(ke)108 470.4 S .831
-(yboards without a)-.05 F F2(meta)3.711 E F0 -.1(ke)3.591 G 2.131 -.65
-(y, M)-.05 H<ad>.65 E F2(x)A F0 .831(means ESC)3.331 F F2(x)3.331 E F0
-3.331(,i)C .83(.e., press the Escape k)-3.331 F 1.13 -.15(ey t)-.1 H .83
-(hen the).15 F F2(x)4.1 E F0 -.1(ke)3.86 G 4.63 -.65(y. T)-.05 H .83
-(his mak).65 F(es)-.1 E .599(ESC the)108 482.4 R F2 .599(meta pr)3.099 F
-(e\214x)-.37 E F0 5.599(.T)C .599(he combination M\255C\255)-5.599 F F2
-(x)A F0 .599(means ESC\255Control\255)3.099 F F2(x)A F0 3.099(,o)C 3.099
-(rp)-3.099 G .6(ress the Escape k)-3.099 F .9 -.15(ey t)-.1 H .6
-(hen hold).15 F(the Control k)108 494.4 Q .3 -.15(ey w)-.1 H
+(ine editing after the shell is running, use the)-3.263 F F1(+o)3.262 E
+(emacs)108 429.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 446.4 Q
+F0 .567(In this section, the emacs-style notation is used to denote k)
+108 458.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 F2 -.1(ke)C(y)-.2 E F0(,)A
+1.153(e.g., C\255n means Control\255N.)108 470.4 R(Similarly)6.153 E(,)
+-.65 E F2(meta)4.033 E F0 -.1(ke)3.913 G 1.153(ys are denoted by M\255)
+-.05 F F2 -.1(ke)C(y)-.2 E F0 3.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 482.4 S .83
+(yboards without a)-.05 F F2(meta)3.71 E F0 -.1(ke)3.59 G 2.13 -.65
+(y, M)-.05 H<ad>.65 E F2(x)A F0 .83(means ESC)3.33 F F2(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 F2(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 494.4 R F2 .6(meta pr)3.1 F
+(e\214x)-.37 E F0 5.6(.T)C .6(he combination M\255C\255)-5.6 F F2(x)A F0
+.599(means ESC\255Control\255)3.099 F F2(x)A F0 3.099(,o)C 3.099(rp)
+-3.099 G .599(ress the Escape k)-3.099 F .899 -.15(ey t)-.1 H .599
+(hen hold).15 F(the Control k)108 506.4 Q .3 -.15(ey w)-.1 H
(hile pressing the).15 E F2(x)3.27 E F0 -.1(ke)3.03 G -.65(y.)-.05 G(\))
-.65 E .62(Readline commands may be gi)108 511.2 R -.15(ve)-.25 G 3.119
+.65 E .619(Readline commands may be gi)108 523.2 R -.15(ve)-.25 G 3.119
(nn).15 G(umeric)-3.119 E F2(ar)3.119 E(guments)-.37 E F0 3.119(,w).27 G
-.619(hich normally act as a repeat count.)-3.119 F(Sometimes,)5.619 E
-(ho)108 523.2 Q(we)-.25 E -.15(ve)-.25 G 1.418 -.4(r, i).15 H 3.118(ti)
-.4 G 3.119(st)-3.118 G .619(he sign of the ar)-3.119 F .619
+.619(hich normally act as a repeat count.)-3.119 F(Sometimes,)5.62 E(ho)
+108 535.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.019(acts in the forw)108 535.2 R 1.018
+(ument to a command that).18 F 1.018(acts in the forw)108 547.2 R 1.018
(ard direction \(e.g.,)-.1 F F1(kill\255line)3.518 E F0 3.518(\)c)C
-1.018(auses that command to act in a backw)-3.518 F 1.018
-(ard direction.)-.1 F(Com-)6.018 E(mands whose beha)108 547.2 Q
+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 559.2 Q
(vior with ar)-.2 E(guments de)-.18 E(viates from this are noted belo)
--.25 E -.65(w.)-.25 G .811(When a command is described as)108 564 R F2
+-.25 E -.65(w.)-.25 G .812(When a command is described as)108 576 R F2
(killing)3.311 E F0(te)3.311 E .811(xt, the te)-.15 F .811
-(xt deleted is sa)-.15 F -.15(ve)-.2 G 3.311(df).15 G .812
-(or possible future retrie)-3.311 F -.25(va)-.25 G 3.312(l\().25 G F2
-(yank-)-3.312 E(ing)108 576 Q F0 2.529(\). The)B .029(killed te)2.529 F
+(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 F2
+(yank-)-3.311 E(ing)108 588 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 F2
.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 588 R .567(ed all at once.)-.1 F .567
+-.15 F .567(which can be yank)108 600 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 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 F2(inputr)2.591 E(c)-.37 E F0 2.591(\214le\). The)2.591 F .091
-(name of this \214le)2.591 F .196(is tak)108 640.8 R .196(en from the v)
+108 612 Q F1(Readline Initialization)87 628.8 Q F0 .091(Readline is cus\
+tomized by putting commands in an initialization \214le \(the)108 640.8
+R F2(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 652.8 R .196(en from the v)
-.1 F .196(alue of the)-.25 F F3(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 F2(~/.inputr)2.696
-E(c)-.37 E F0 5.196(.W).31 G .197(hen a)-5.196 F 1.034(program which us\
+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 652.8 R 1.334 -.15(ey b)-.1 H 1.034(indings and).15 F -.25
-(va)108 664.8 S 1.149(riables are set.).25 F 1.149(There are only a fe)
-6.149 F 3.649(wb)-.25 G 1.149(asic constructs allo)-3.649 F 1.15
-(wed in the readline initialization \214le.)-.25 F(Blank)6.15 E .737
-(lines are ignored.)108 676.8 R .737(Lines be)5.737 F .737
+nd the k)108 664.8 R 1.335 -.15(ey b)-.1 H 1.035(indings and).15 F -.25
+(va)108 676.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 688.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 .736
-(indicate conditional)3.236 F 2.5(constructs. Other)108 688.8 R
+(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 700.8 R
(lines denote k)2.5 E .3 -.15(ey b)-.1 H(indings and v).15 E
-(ariable settings.)-.25 E .986(The def)108 705.6 R .986(ault k)-.1 F
+(ariable settings.)-.25 E .987(The def)108 717.6 R .987(ault k)-.1 F
-.15(ey)-.1 G .987(-bindings may be changed with an).15 F F2(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 717.6 Q
-(wn commands and bindings.)-.25 E(GNU Bash-4.0)72 768 Q(2009 February 7)
-140.96 E(33)190.95 E 0 Cg EP
+(programs that use this library may)3.487 F(add their o)108 729.6 Q
+(wn commands and bindings.)-.25 E(GNU Bash-4.0)72 768 Q(2009 March 4)
+145.96 E(33)195.95 E 0 Cg EP
%%Page: 34 34
%%BeginPageSetup
BP
/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.261(The follo)108 153.6 R 1.261
+-.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.76 E F0(,).73 E F1(RET)3.76 E
+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
(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 .382(command or the te)
+(All that is required is the name of the)5.366 F .383(command or the te)
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 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.541(When using the form)108 276 R F2
--.1(ke)4.041 G(yname).1 E F0(:)A F1(function\255name).833 E F0(or)4.041
+(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.842 -.15(ey s)-.1 H 1.542(pelled out in)
+(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 .699(In the abo)108 352.8 R .998 -.15
+(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.758 E(ord)-.1 E F0 2.758(,a)C(nd)-2.758 E F1
-(C\255o)2.598 E F0 .258(is bound to run the macro e)2.938 F .259
+(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
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 .056(In the second form,)108 393.6 R F2("k)2.556
-E(eyseq")-.1 E F0(:)A F1(function\255name).833 E F0(or)2.556 E F1(macr)
-2.556 E(o)-.45 E F0(,)A F2 -.1(ke)2.556 G(yseq).1 E F0(dif)2.555 E .055
-(fers from)-.25 F F2 -.1(ke)2.555 G(yname).1 E F0(abo)2.555 E .355 -.15
-(ve i)-.15 H 2.555(nt).15 G .055(hat strings)-2.555 F 1.284
+(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 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 .386(GNU Emacs style k)108 417.6 R .686 -.15(ey e)-.1 H
-.385(scapes can be used, as in the follo).15 F .385(wing e)-.25 F .385
-(xample, b)-.15 F .385(ut the symbolic character names)-.2 F
+(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 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 465.6 Q
-("\\e[11~": "Function K)144 477.6 Q .3 -.15(ey 1)-.25 H(").15 E .314
-(In this e)108 494.4 R(xample,)-.15 E F1(C\255u)2.654 E F0 .314(is ag)
-3.064 F .315(ain bound to the function)-.05 F F2(uni)2.815 E -.1(ve)-.1
+("\\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
-.315(is bound to the func-)3.545 F(tion)108 506.4 Q F2 -.18(re)2.5 G
+.314(is bound to the func-)3.544 F(tion)108 506.4 Q F2 -.18(re)2.5 G
<ad72>.18 E(ead\255init\255\214le)-.18 E F0 2.5(,a)C(nd)-2.5 E F1
(ESC [ 1 1 ~)3.01 E F0(is bound to insert the te)3.94 E(xt)-.15 E F3
(Function Key 1)2.5 E F0(.)A
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.0)72 768 Q(2009 February 7)
-140.96 E(34)190.95 E 0 Cg EP
+-.15(ve)28.22 G(rtical tab).15 E(GNU Bash-4.0)72 768 Q(2009 March 4)
+145.96 E(34)195.95 E 0 Cg EP
%%Page: 35 35
%%BeginPageSetup
BP
(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.142(When entering the te)
+(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 .089(Unquoted te)108 124.8 R
-.089(xt is assumed to be a function name.)-.15 F .09(In the macro body)
-5.089 F 2.59(,t)-.65 G .09(he backslash escapes described abo)-2.59 F
+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.93 E .43
-(ws the current readline k)-.25 F .73 -.15(ey b)-.1 H .429
-(indings to be displayed or modi\214ed with the).15 F F1(bind)2.929 E F0
--.2(bu)2.929 G .429(iltin command.).2 F .045
-(The editing mode may be switched during interacti)108 165.6 R .345 -.15
-(ve u)-.25 H .046(se by using the).15 F F1<ad6f>2.546 E F0 .046
-(option to the)2.546 F F1(set)2.546 E F0 -.2(bu)2.546 G .046
+(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 165.6 R .346 -.15
+(ve u)-.25 H .046(se by using the).15 F F1<ad6f>2.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 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 194.4 Q(ariables)-.92 E F0 .044(Readline has v)108 206.4
+(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.553 E(tr)108 218.4 Q(c)-.37 E
+(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
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 .449(nized v)
+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 .448
-(alues, "on" \(case-insensi-)-.25 F(ti)108 276 Q -.15(ve)-.25 G .467
+.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 .468
-(he v)-5.468 F .468(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 .011
+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 .01(If set to)5.01 F F1(none)2.51
-E F0 2.51(,r)C .01(eadline ne)-2.51 F -.15(ve)-.25 G(r).15 E .94
-(rings the bell.)144 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 340.8 Q 2.5(sb)-.55 G(ell.)
--2.5 E F1(bind\255tty\255special\255chars \(On\))108 352.8 Q F0 .056
-(If set to)144 364.8 R F1(On)2.556 E F0 2.556(,r)C .056(eadline attempt\
-s to bind the control characters treated specially by the k)-2.556 F
-(ernel')-.1 E 2.555(st)-.55 G(ermi-)-2.555 E(nal dri)144 376.8 Q -.15
+(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 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 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 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 388.8 Q(`#')-.63 E('\))
--.63 E F0 .884(The string that is inserted when the readline)144 400.8 R
-F1(insert\255comment)3.385 E F0 .885(command is e)3.385 F -.15(xe)-.15 G
-3.385(cuted. This).15 F(com-)3.385 E(mand is bound to)144 412.8 Q F1
+-.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 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 424.8 Q
(e\255case \(Off\))-.18 E F0(If set to)144 436.8 Q F1(On)2.5 E F0 2.5
insensiti)-2.5 E .3 -.15(ve f)-.25 H(ashion.).05 E F1(completion\255pr)
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 460.8 R 1.274(without modi\214cation.)144 472.8 R
-1.274(When set to a v)6.274 F 1.274
-(alue greater than zero, common pre\214x)-.25 F 1.275
+ 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 484.8 S(lue are replaced with a\
n ellipsis when displaying possible completions.).25 E F1
-(completion\255query\255items \(100\))108 496.8 Q F0 .53
-(This determines when the user is queried about vie)144 508.8 R .529
-(wing the number of possible completions gen-)-.25 F .56(erated by the)
-144 520.8 R F1(possible\255completions)3.06 E F0 3.06(command. It)3.06 F
-.561(may be set to an)3.061 F 3.061(yi)-.15 G(nte)-3.061 E .561(ger v)
--.15 F .561(alue greater than or)-.25 F .783(equal to zero.)144 532.8 R
-.783(If the number of possible completions is greater than or equal to \
-the v)5.783 F .782(alue of this)-.25 F -.25(va)144 544.8 S .237
+(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 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
+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 556.8 Q F1(con)108
-568.8 Q -.1(ve)-.4 G(rt\255meta \(On\)).1 E F0 .613(If set to)144 580.8
-R F1(On)3.113 E F0 3.113(,r)C .613(eadline will con)-3.113 F -.15(ve)-.4
-G .613(rt characters with the eighth bit set to an ASCII k).15 F .912
--.15(ey s)-.1 H .612(equence by).15 F .541
+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 592.8 R .541(fect, using escape as the)-.25 F F2 .542(meta pr)3.042
+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 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 .252
+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.753 E F0
-(or)2.753 E F2(vi)2.753 E F0(.)A F1(editing\255mode)5.253 E F0
+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 676.8 Q F1(emacs)2.5 E F0(or)2.5 E F1(vi)2.5 E
-F0(.)A F1(enable\255k)108 688.8 Q(eypad \(Off\))-.1 E F0 .893
+F0(.)A F1(enable\255k)108 688.8 Q(eypad \(Off\))-.1 E F0 .892
(When set to)144 700.8 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
+.893(pad when it is called.).15 F .893(Some sys-)5.893 F
(tems need this to enable the arro)144 712.8 Q 2.5(wk)-.25 G -.15(ey)
--2.6 G(s.).15 E(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(35)190.95
-E 0 Cg EP
+-2.6 G(s.).15 E(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(35)195.95 E
+0 Cg EP
%%Page: 36 36
%%BeginPageSetup
BP
(If set to)144 96 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 108 Q(eser)-.18 E -.1(ve)-.1 G
-(\255point \(Off\)).1 E F0 1.492(If set to)144 120 R F1(on)3.992 E F0
-3.992(,t)C 1.493(he history code attempts to place point at the same lo\
-cation on each history line)-3.992 F(retrie)144 132 Q -.15(ve)-.25 G 2.5
+(\255point \(Off\)).1 E F0 1.493(If set to)144 120 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 132 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 144
-Q F0 .463(Set the maximum number of history entries sa)144 156 R -.15
+Q F0 .462(Set the maximum number of history entries sa)144 156 R -.15
(ve)-.2 G 2.963(di).15 G 2.963(nt)-2.963 G .463(he history list.)-2.963
-F .462(If set to zero, the number of)5.463 F
+F .463(If set to zero, the number of)5.463 F
(entries in the history list is not limited.)144 168 Q F1
-(horizontal\255scr)108 180 Q(oll\255mode \(Off\))-.18 E F0 .448
-(When set to)144 192 R F1(On)2.948 E F0 2.948(,m)C(ak)-2.948 E .448
-(es readline use a single line for display)-.1 F 2.948(,s)-.65 G .449
+(horizontal\255scr)108 180 Q(oll\255mode \(Off\))-.18 E F0 .449
+(When set to)144 192 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 204 R(w)-.25 E(line.)144 216 Q F1(input\255meta \(Off\))108 228
-Q F0 .227(If set to)144 240 R F1(On)2.727 E F0 2.727(,r)C .228(eadline \
+Q F0 .228(If set to)144 240 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.727 F(-)-.2 E .957(acters it reads\), re)144 252 R -.05
+rom the char)-2.728 F(-)-.2 E .956(acters it reads\), re)144 252 R -.05
(ga)-.15 G .956(rdless of what the terminal claims it can support.).05 F
-.956(The name)5.956 F F1(meta\255\215ag)3.456 E F0 .956(is a)3.456 F
+.957(The name)5.956 F F1(meta\255\215ag)3.457 E F0 .957(is a)3.457 F
(synon)144 264 Q(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 276 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 288 R -.15(xe)-.15 G(cut-).15 E .935
+thout subsequently e)144 288 R -.15(xe)-.15 G(cut-).15 E .934
(ing the character as a command.)144 300 R .935(If this v)5.935 F .935
-(ariable has not been gi)-.25 F -.15(ve)-.25 G 3.434(nav).15 G .934
-(alue, the characters)-3.684 F/F2 10/Times-Italic@0 SF(ESC)3.434 E F0
+(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 312 Q F2(C\255J)2.5 E F0(will terminate an incremental search.)
-2.5 E F1 -.1(ke)108 324 S(ymap \(emacs\)).1 E F0 2.02
+2.5 E F1 -.1(ke)108 324 S(ymap \(emacs\)).1 E F0 2.021
(Set the current readline k)144 336 R -.15(ey)-.1 G 4.521(map. The).15 F
2.021(set of v)4.521 F 2.021(alid k)-.25 F -.15(ey)-.1 G 2.021
-(map names is).15 F F2 2.021(emacs, emacs\255standar)4.521 F(d,)-.37 E
-.069(emacs\255meta, emacs\255ctlx, vi, vi\255command)144 348 R F0 2.568
+(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 348 R F0 2.568
(,a)C(nd)-2.568 E F2(vi\255insert)2.568 E F0(.).68 E F2(vi)5.068 E F0
.068(is equi)2.568 F -.25(va)-.25 G .068(lent to).25 F F2(vi\255command)
-2.568 E F0(;)A F2(emacs)2.568 E F0 1.543(is equi)144 360 R -.25(va)-.25
-G 1.543(lent to).25 F F2(emacs\255standar)4.044 E(d)-.37 E F0 6.544(.T)C
+2.569 E F0(;)A F2(emacs)2.569 E F0 1.544(is equi)144 360 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.044 E F0(also)4.044 E(af)144 372 Q(fects the def)-.25
+(editing\255mode)4.043 E F0(also)4.043 E(af)144 372 Q(fects the def)-.25
E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F1(mark\255dir)108 384 Q
(ectories \(On\))-.18 E F0(If set to)144 396 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.)
(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 456
Q(alue of)-.25 E F1(mark\255dir)2.5 E(ectories)-.18 E F0(\).)A F1
-(match\255hidden\255\214les \(On\))108 468 Q F0 .192(This v)144 480 R
-.192(ariable, when set to)-.25 F F1(On)2.692 E F0 2.692(,c)C .192
-(auses readline to match \214les whose names be)-2.692 F .193
-(gin with a `.)-.15 F 2.693('\()-.7 G(hidden)-2.693 E 1.024
+(match\255hidden\255\214les \(On\))108 468 Q F0 .193(This v)144 480 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 1.023
(\214les\) when performing \214lename completion, unless the leading `.)
-144 492 R 3.523('i)-.7 G 3.523(ss)-3.523 G 1.023
+144 492 R 3.523('i)-.7 G 3.523(ss)-3.523 G 1.024
(upplied by the user in the)-3.523 F(\214lename to be completed.)144 504
-Q F1(output\255meta \(Off\))108 516 Q F0 .506(If set to)144 528 R F1(On)
-3.006 E F0 3.006(,r)C .507(eadline will display characters with the eig\
-hth bit set directly rather than as a meta-)-3.006 F(pre\214x)144 540 Q
+Q F1(output\255meta \(Off\))108 516 Q F0 .507(If set to)144 528 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 540 Q
(ed escape sequence.)-.15 E F1(page\255completions \(On\))108 552 Q F0
-.809(If set to)144 564 R F1(On)3.308 E F0 3.308(,r)C .808
+.808(If set to)144 564 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 576 Q F1
-(print\255completions\255horizontally \(Off\))108 588 Q F0 1.318
-(If set to)144 600 R F1(On)3.818 E F0 3.818(,r)C 1.319(eadline will dis\
-play completions with matches sorted horizontally in alphabetical)-3.818
+(print\255completions\255horizontally \(Off\))108 588 Q F0 1.319
+(If set to)144 600 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 612 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25
E F1 -2.29 -.18(re v)108 624 T(ert\255all\255at\255newline \(Off\)).08 E
-F0 .873(If set to)144 636 R F1(on)3.373 E F0 3.373(,r)C .872
+F0 .872(If set to)144 636 R F1(on)3.372 E F0 3.372(,r)C .873
(eadline will undo all changes to history lines before returning when)
--3.373 F F1(accept\255line)3.372 E F0(is)3.372 E -.15(exe)144 648 S
+-3.372 F F1(accept\255line)3.373 E F0(is)3.373 E -.15(exe)144 648 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 660 S(adline)
.18 E F0(.)A F1(sho)108 672 Q(w\255all\255if\255ambiguous \(Off\))-.1 E
-F0 .478(This alters the def)144 684 R .478(ault beha)-.1 F .478
-(vior of the completion functions.)-.2 F .477(If set to)5.477 F F1(on)
-2.977 E F0 2.977(,w)C .477(ords which ha)-3.077 F .777 -.15(ve m)-.2 H
+F0 .477(This alters the def)144 684 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 696 R(bell.)144 708 Q
-(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(36)190.95 E 0 Cg EP
+(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(36)195.95 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(sho)108 84 Q
-(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.346
-(This alters the def)144 96 R 5.346(ault beha)-.1 F 5.345
-(vior of the completion functions in a f)-.2 F 5.345(ashion similar to)
--.1 F F1(sho)144 108 Q(w\255all\255if\255ambiguous)-.1 E F0 6.922(.I)C
-4.422(fs)-6.922 G 1.922(et to)-4.422 F F1(on)4.422 E F0 4.422(,w)C 1.922
-(ords which ha)-4.522 F 2.223 -.15(ve m)-.2 H 1.923
-(ore than one possible completion).15 F 1.04(without an)144 120 R 3.54
+(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.345
+(This alters the def)144 96 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 108 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 120 R 3.539
(yp)-.15 G 1.039
-(ossible partial completion \(the possible completions don')-3.54 F
-3.539(ts)-.18 G 1.039(hare a common pre\214x\))-3.539 F(cause the match\
-es to be listed immediately instead of ringing the bell.)144 132 Q F1
-(visible\255stats \(Off\))108 144 Q F0 .846(If set to)144 156 R F1(On)
+(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 132 Q F1
+(visible\255stats \(Off\))108 144 Q F0 .847(If set to)144 156 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 168 Q F1
(Readline Conditional Constructs)87 184.8 Q F0 .05
(Readline implements a f)108 196.8 R .05(acility similar in spirit to t\
-he conditional compilation features of the C preprocessor)-.1 F .096
-(which allo)108 208.8 R .096(ws k)-.25 F .396 -.15(ey b)-.1 H .096
+he conditional compilation features of the C preprocessor)-.1 F .097
+(which allo)108 208.8 R .097(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
+(ariable settings to be performed as the result of tests.)-.25 F .096
(There are four parser)5.096 F(directi)108 220.8 Q -.15(ve)-.25 G 2.5
-(su).15 G(sed.)-2.5 E F1($if)108 237.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
+(su).15 G(sed.)-2.5 E F1($if)108 237.6 Q F0(The)24.89 E F1($if)2.962 E
+F0 .462(construct allo)2.962 F .463(ws bindings to be made based on the\
+ editing mode, the terminal being used,)-.25 F .478
(or the application using readline.)144 249.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 261.6 Q F1(mode)144 278.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
+12.67 E F1(mode=)3.711 E F0 1.211(form of the)3.711 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 290.4 R .565(may be used in conjunction with the)3.065 F
3.065 F .735(set bindings in the)180 302.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 314.4
-Q F1(term)144 331.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 343.2 R
+Q F1(term)144 331.2 Q F0(The)15.46 E F1(term=)3.197 E F0 .696
+(form may be used to include terminal-speci\214c k)3.197 F .996 -.15
+(ey b)-.1 H .696(indings, perhaps to bind).15 F .654(the k)180 343.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 355.2 Q F1(=)3.231
-E F0 .731(is tested ag)3.231 F .732(ainst the both full name of the ter\
+(wo)3.154 G .654(rd on the right side of).1 F(the)180 355.2 Q F1(=)3.232
+E F0 .732(is tested ag)3.232 F .732(ainst the both full name of the ter\
minal and the portion of the terminal)-.05 F(name before the \214rst)180
367.2 Q F1<ad>2.5 E F0 5(.T)C(his allo)-5 E(ws)-.25 E F2(sun)2.84 E F0
(to match both)2.74 E F2(sun)2.84 E F0(and)2.74 E F2(sun\255cmd)2.5 E F0
(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
408 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 420 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 432 R -.15(Fo)5.396 G 2.896(ri).15 G .396
+(nd an initialization \214le can test for a)-2.614 F .5(particular v)180
+420 R 3(alue. This)-.25 F .501(could be used to bind k)3 F .801 -.15
+(ey s)-.1 H .501(equences to functions useful for a spe-).15 F .397
+(ci\214c program.)180 432 R -.15(Fo)5.397 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 444 Q
+(ey s)-.1 H .396(equence that quotes the).15 F(current or pre)180 444 Q
(vious w)-.25 E(ord in Bash:)-.1 E F1($if)180 468 Q F0(Bash)2.5 E 2.5
(#Q)180 480 S(uote the current or pre)-2.5 E(vious w)-.25 E(ord)-.1 E
("\\C\255xq": "\\eb\\"\\ef\\"")180 492 Q F1($endif)180 504 Q($endif)108
(xample, terminates an)-.15 E F1($if)2.5 E F0(command.)2.5 E F1($else)
108 537.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 554.4 Q F0 .357
-(This directi)144 566.4 R .657 -.15(ve t)-.25 H(ak).15 E .357
-(es a single \214lename as an ar)-.1 F .356
+(cuted if the test f).15 E(ails.)-.1 E F1($include)108 554.4 Q F0 .356
+(This directi)144 566.4 R .656 -.15(ve t)-.25 H(ak).15 E .356
+(es a single \214lename as an ar)-.1 F .357
(gument and reads commands and bindings from that)-.18 F 2.5(\214le. F)
144 578.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 602.4 Q F2(/etc/inputr)5.833 E(c)-.37 E F1(Sear)87 619.2 Q
-(ching)-.18 E F0 .834(Readline pro)108 631.2 R .834
+(ching)-.18 E F0 .835(Readline pro)108 631.2 R .835
(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 643.2 Q
+/F3 9/Times-Bold@0 SF(HIST)3.334 E(OR)-.162 E(Y)-.315 E F0(belo)3.084 E
+.834(w\) for lines)-.25 F(containing a speci\214ed string.)108 643.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 660 R .698
+E .697(Incremental searches be)108 660 R .697
(gin before the user has \214nished typing the search string.)-.15 F
-.697(As each character of the)5.697 F .112
+.698(As each character of the)5.698 F .113
(search string is typed, readline displays the ne)108 672 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
+E 5.112(.A)-.55 G(n)-5.112 E .542
(incremental search requires only as man)108 684 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)
+(haracters as needed to \214nd the desired history entry)-3.042 F 5.542
+(.T)-.65 G .542(he char)-5.542 F(-)-.2 E .224(acters present in the v)
108 696 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 708 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 720 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(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(37)190.95 E 0 Cg
-EP
+F .097(mental search.)108 720 R .096(Control-G will abort an incrementa\
+l search and restore the original line.)5.097 F .096(When the search is)
+5.096 F(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(37)195.95 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(terminated, the history entry containing the search string becom\
-es the current line.)108 84 Q 2.939 -.8(To \214)108 100.8 T 1.339(nd ot\
+es the current line.)108 84 Q 2.938 -.8(To \214)108 100.8 T 1.339(nd ot\
her matching entries in the history list, type Control-S or Control-R a\
-s appropriate.).8 F 1.338(This will)6.338 F .674(search backw)108 112.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 124.8 R .475 -.15(ey s)-.1
+s appropriate.).8 F 1.339(This will)6.339 F .675(search backw)108 112.8
+R .675(ard or forw)-.1 F .675(ard in the history for the ne)-.1 F .674
+(xt entry matching the search string typed so f)-.15 F(ar)-.1 E 5.674
+(.A)-.55 G -.15(ny)-5.674 G .174(other k)108 124.8 R .474 -.15(ey s)-.1
H .174
(equence bound to a readline command will terminate the search and e).15
-F -.15(xe)-.15 G .174(cute that command.).15 F -.15(Fo)5.174 G(r).15 E
-.54(instance, a)108 136.8 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 148.8 Q .653(Readline remembers the last incremental search string.)
-108 165.6 R .653(If tw)5.653 F 3.153(oC)-.1 G .653
-(ontrol-Rs are typed without an)-3.153 F 3.152(yi)-.15 G(nterv)-3.152 E
-(en-)-.15 E(ing characters de\214ning a ne)108 177.6 Q 2.5(ws)-.25 G
+F -.15(xe)-.15 G .175(cute that command.).15 F -.15(Fo)5.175 G(r).15 E
+.541(instance, a)108 136.8 R/F1 10/Times-Italic@0 SF(ne)3.041 E(wline)
+-.15 E F0 .541(will terminate the search and accept the line, thereby e)
+3.041 F -.15(xe)-.15 G .54(cuting the command from the).15 F
+(history list.)108 148.8 Q .653
+(Readline remembers the last incremental search string.)108 165.6 R .653
+(If tw)5.653 F 3.153(oC)-.1 G .653(ontrol-Rs are typed without an)-3.153
+F 3.153(yi)-.15 G(nterv)-3.153 E(en-)-.15 E
+(ing characters de\214ning a ne)108 177.6 Q 2.5(ws)-.25 G
(earch string, an)-2.5 E 2.5(yr)-.15 G(emembered search string is used.)
-2.5 E .567(Non-incremental searches read the entire search string befo\
re starting to search for matching history lines.)108 194.4 R(The searc\
h string may be typed by the user or be part of the contents of the cur\
rent line.)108 206.4 Q/F2 10/Times-Bold@0 SF(Readline Command Names)87
-223.2 Q F0 1.392(The follo)108 235.2 R 1.391
+223.2 Q F0 1.391(The follo)108 235.2 R 1.391
(wing is a list of the names of the commands and the def)-.25 F 1.391
(ault k)-.1 F 1.691 -.15(ey s)-.1 H 1.391(equences to which the).15 F
-3.891(ya)-.15 G(re)-3.891 E 2.621(bound. Command)108 247.2 R .121
-(names without an accompan)2.621 F .121(ying k)-.15 F .421 -.15(ey s)-.1
-H .122(equence are unbound by def).15 F 2.622(ault. In)-.1 F .122
-(the follo)2.622 F(wing)-.25 E(descriptions,)108 259.2 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 271.2 Q F0 2.5
+3.892(ya)-.15 G(re)-3.892 E 2.622(bound. Command)108 247.2 R .122
+(names without an accompan)2.622 F .122(ying k)-.15 F .421 -.15(ey s)-.1
+H .121(equence are unbound by def).15 F 2.621(ault. In)-.1 F .121
+(the follo)2.621 F(wing)-.25 E(descriptions,)108 259.2 Q F1(point)3.41 E
+F0 .91(refers to the current cursor position, and)3.41 F F1(mark)3.411 E
+F0 .911(refers to a cursor position sa)3.411 F -.15(ve)-.2 G 3.411(db)
+.15 G 3.411(yt)-3.411 G(he)-3.411 E F2(set\255mark)108 271.2 Q F0 2.5
(command. The)2.5 F(te)2.5 E
(xt between the point and mark is referred to as the)-.15 E F1 -.37(re)
2.5 G(gion)-.03 E F0(.)A F2(Commands f)87 288 Q(or Mo)-.25 E(ving)-.1 E
.15 E(ard a character)-.1 E(.)-.55 E F2(backward\255char \(C\255b\))108
372 Q F0(Mo)144 384 Q .3 -.15(ve b)-.15 H(ack a character).15 E(.)-.55 E
F2 -.25(fo)108 396 S(rward\255w).25 E(ord \(M\255f\))-.1 E F0(Mo)144 408
-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
+Q .823 -.15(ve f)-.15 H(orw).15 E .523(ard to the end of the ne)-.1 F
+.523(xt w)-.15 F 3.023(ord. W)-.1 F .522
(ords are composed of alphanumeric characters \(let-)-.8 F
(ters and digits\).)144 420 Q F2(backward\255w)108 432 Q(ord \(M\255b\))
-.1 E F0(Mo)144 444 Q 1.71 -.15(ve b)-.15 H 1.41
.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 492 Q F2(shell\255backward\255w)108 504 Q(ord)-.1 E F0(Mo)144
-516 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
+516 Q .908 -.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 .609
(ords are delimited by non-quoted shell)-.8 F(metacharacters.)144 528 Q
F2(clear\255scr)108 540 Q(een \(C\255l\))-.18 E F0 .993
(Clear the screen lea)144 552 R .993
(current line without clearing the screen.)144 564 Q F2 -.18(re)108 576
S(draw\255curr).18 E(ent\255line)-.18 E F0(Refresh the current line.)144
588 Q F2(Commands f)87 604.8 Q(or Manipulating the History)-.25 E
-(accept\255line \(Newline, Retur)108 616.8 Q(n\))-.15 E F0 .159
-(Accept the line re)144 628.8 R -.05(ga)-.15 G .159
+(accept\255line \(Newline, Retur)108 616.8 Q(n\))-.15 E F0 .158
+(Accept the line re)144 628.8 R -.05(ga)-.15 G .158
(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
+5.158 F 2.659(,a)-.65 G .159(dd it to the history list)-2.659 F .699
(according to the state of the)144 640.8 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
E(ving back in the list.)-.15 E F2(next\255history \(C\255n\))108 688.8
Q F0(Fetch the ne)144 700.8 Q(xt command from the history list, mo)-.15
E(ving forw)-.15 E(ard in the list.)-.1 E(GNU Bash-4.0)72 768 Q
-(2009 February 7)140.96 E(38)190.95 E 0 Cg EP
+(2009 March 4)145.96 E(38)195.95 E 0 Cg EP
%%Page: 39 39
%%BeginPageSetup
BP
(end\255of\255history \(M\255>\))108 108 Q F0(Mo)144 120 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
-132 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0 1.471
+132 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0 1.47
(Search backw)144 144 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
+-.1 F 1.471(ving `up' through the history as necessary)-.15 F(.)-.65 E
(This is an incremental search.)144 156 Q F1 -.25(fo)108 168 S
-(rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F0 1.131
-(Search forw)144 180 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
+(rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F0 1.132
+(Search forw)144 180 R 1.132(ard starting at the current line and mo)-.1
+F 1.131(ving `do)-.15 F 1.131(wn' through the history as necessary)-.25
F(.)-.65 E(This is an incremental search.)144 192 Q F1(non\255incr)108
204 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 216 R .164(ar\
+(ch\255history \(M\255p\))-.18 E F0 .164(Search backw)144 216 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 228 S(tring supplied by the user)-2.5 E
(.)-.55 E F1(non\255incr)108 240 Q(emental\255f)-.18 E(orward\255sear)
--.25 E(ch\255history \(M\255n\))-.18 E F0 1.353(Search forw)144 252 R
+-.25 E(ch\255history \(M\255n\))-.18 E F0 1.354(Search forw)144 252 R
1.354(ard through the history using a non-incremental search for a stri\
ng supplied by the)-.1 F(user)144 264 Q(.)-.55 E F1(history\255sear)108
-276 Q(ch\255f)-.18 E(orward)-.25 E F0 .249(Search forw)144 288 R .249(a\
+276 Q(ch\255f)-.18 E(orward)-.25 E F0 .248(Search forw)144 288 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 300 Q
(This is a non-incremental search.)5 E F1(history\255sear)108 312 Q
-(ch\255backward)-.18 E F0 .95(Search backw)144 324 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 336 Q(This is a non-incremental search.)
-5 E F1(yank\255nth\255ar)108 348 Q 2.5(g\()-.1 G<4dad43ad7929>-2.5 E F0
-.622(Insert the \214rst ar)144 360 R .622(gument to the pre)-.18 F .622
+(ch\255backward)-.18 E F0 .951(Search backw)144 324 R .951(ard through \
+the history for the string of characters between the start of the curre\
+nt)-.1 F(line and the point.)144 336 Q
+(This is a non-incremental search.)5 E F1(yank\255nth\255ar)108 348 Q
+2.5(g\()-.1 G<4dad43ad7929>-2.5 E F0 .622(Insert the \214rst ar)144 360
+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 372 R -.4(Wi)5.794 G .794
+.622(vious line\))-.25 F .795(at point.)144 372 R -.4(Wi)5.795 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
-(ord from the pre)-.1 F .794(vious command \(the w)-.25 F .795
-(ords in the)-.1 F(pre)144 384 Q .292(vious command be)-.25 F .292
+(ord from the pre)-.1 F .794(vious command \(the w)-.25 F .794
+(ords in the)-.1 F(pre)144 384 Q .291(vious command be)-.25 F .291
(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 396 R .281(vious command.)
--.25 F .281(Once the ar)5.281 F(gument)-.18 E F2(n)2.781 E F0 .281
-(is computed, the ar)2.781 F .281(gument is e)-.18 F .282
+(ument inserts the).18 F F2(n)2.791 E F0 .291(th w)B .292
+(ord from the end of)-.1 F .282(the pre)144 396 R .282(vious command.)
+-.25 F .282(Once the ar)5.282 F(gument)-.18 E F2(n)2.781 E F0 .281
+(is computed, the ar)2.781 F .281(gument is e)-.18 F .281
(xtracted as if the "!)-.15 F F2(n)A F0(")A(history e)144 408 Q
(xpansion had been speci\214ed.)-.15 E F1(yank\255last\255ar)108 420 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 432 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 444 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
+2.5(g\()-.1 G -1.667(M\255. ,)-2.5 F -1.667(M\255_ \))2.5 F F0 1.307
+(Insert the last ar)144 432 R 1.307(gument to the pre)-.18 F 1.307
+(vious command \(the last w)-.25 F 1.308(ord of the pre)-.1 F 1.308
+(vious history entry\).)-.25 F -.4(Wi)144 444 S .736(th an ar).4 F .736
+(gument, beha)-.18 F 1.036 -.15(ve ex)-.2 H .736(actly lik).15 F(e)-.1 E
+F1(yank\255nth\255ar)3.235 E(g)-.1 E F0 5.735(.S)C(uccessi)-5.735 E
+1.035 -.15(ve c)-.25 H .735(alls to).15 F F1(yank\255last\255ar)3.235 E
+(g)-.1 E F0(mo)3.235 E -.15(ve)-.15 G .728
(back through the history list, inserting the last ar)144 456 R .728
-(gument of each line in turn.)-.18 F .728(The history e)5.728 F(xpan-)
+(gument of each line in turn.)-.18 F .729(The history e)5.728 F(xpan-)
-.15 E .14(sion f)144 468 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 480 Q F1
-(shell\255expand\255line \(M\255C\255e\))108 492 Q F0 .623
+(shell\255expand\255line \(M\255C\255e\))108 492 Q F0 .622
(Expand the line as the shell does.)144 504 R .622
-(This performs alias and history e)5.622 F .622
+(This performs alias and history e)5.622 F .623
(xpansion as well as all of the)-.15 F(shell w)144 516 Q(ord e)-.1 E 2.5
(xpansions. See)-.15 F/F3 9/Times-Bold@0 SF(HIST)2.5 E(OR)-.162 E 2.25
(YE)-.315 G(XP)-2.25 E(ANSION)-.666 E F0(belo)2.25 E 2.5(wf)-.25 G
(or a description of history e)-2.5 E(xpansion.)-.15 E F1
-(history\255expand\255line \(M\255^\))108 528 Q F0 .938
+(history\255expand\255line \(M\255^\))108 528 Q F0 .939
(Perform history e)144 540 R .939(xpansion on the current line.)-.15 F
(See)5.939 E F3(HIST)3.439 E(OR)-.162 E 3.189(YE)-.315 G(XP)-3.189 E
-(ANSION)-.666 E F0(belo)3.189 E 3.439(wf)-.25 G .939(or a descrip-)
--3.439 F(tion of history e)144 552 Q(xpansion.)-.15 E F1(magic\255space)
-108 564 Q F0 1.627(Perform history e)144 576 R 1.627
-(xpansion on the current line and insert a space.)-.15 F(See)6.626 E F3
-(HIST)4.126 E(OR)-.162 E 3.876(YE)-.315 G(XP)-3.876 E(ANSION)-.666 E F0
+(ANSION)-.666 E F0(belo)3.189 E 3.438(wf)-.25 G .938(or a descrip-)
+-3.438 F(tion of history e)144 552 Q(xpansion.)-.15 E F1(magic\255space)
+108 564 Q F0 1.626(Perform history e)144 576 R 1.626
+(xpansion on the current line and insert a space.)-.15 F(See)6.627 E F3
+(HIST)4.127 E(OR)-.162 E 3.877(YE)-.315 G(XP)-3.877 E(ANSION)-.666 E F0
(belo)144 588 Q 2.5(wf)-.25 G(or a description of history e)-2.5 E
-(xpansion.)-.15 E F1(alias\255expand\255line)108 600 Q F0 .394
-(Perform alias e)144 612 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 624 Q F1
+(xpansion.)-.15 E F1(alias\255expand\255line)108 600 Q F0 .395
+(Perform alias e)144 612 R .395(xpansion on the current line.)-.15 F
+(See)5.395 E F3(ALIASES)2.895 E F0(abo)2.645 E .694 -.15(ve f)-.15 H
+.394(or a description of alias e).15 F(xpan-)-.15 E(sion.)144 624 Q F1
(history\255and\255alias\255expand\255line)108 636 Q F0
(Perform history and alias e)144 648 Q(xpansion on the current line.)
-.15 E F1(insert\255last\255ar)108 660 Q(gument \(M\255.)-.1 E 2.5(,M)
.833 G -1.667(\255_ \))-2.5 F F0 2.5(As)144 672 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 684 Q F0 .948
+(operate\255and\255get\255next \(C\255o\))108 684 Q F0 .947
(Accept the current line for e)144 696 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
+(cution and fetch the ne).15 F .948(xt line relati)-.15 F 1.248 -.15
+(ve t)-.25 H 3.448(ot).15 G .948(he current line from the)-3.448 F
(history for editing.)144 708 Q(An)5 E 2.5(ya)-.15 G -.18(rg)-2.5 G
-(ument is ignored.).18 E(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E
-(39)190.95 E 0 Cg EP
+(ument is ignored.).18 E(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(39)
+195.95 E 0 Cg EP
%%Page: 40 40
%%BeginPageSetup
BP
-.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 124.8 Q(or Changing T)-.25 E(ext)-.92 E
-(delete\255char \(C\255d\))108 136.8 Q F0 .358
+(delete\255char \(C\255d\))108 136.8 Q F0 .357
(Delete the character at point.)144 148.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 160.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 172.8 Q F0 .552
+A F1(backward\255delete\255char \(Rubout\))108 172.8 Q F0 .553
(Delete the character behind the cursor)144 184.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 196.8 Q F1 -.25(fo)108 208.8 S
-(rward\255backward\255delete\255char).25 E F0 .474
-(Delete the character under the cursor)144 220.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
+.552(gument, sa)-.18 F .852 -.15(ve t)-.2 H .552(he deleted te).15 F
+.552(xt on)-.15 F(the kill ring.)144 196.8 Q F1 -.25(fo)108 208.8 S
+(rward\255backward\255delete\255char).25 E F0 .473
+(Delete the character under the cursor)144 220.8 R 2.973(,u)-.4 G .474
+(nless the cursor is at the end of the line, in which case the)-2.973 F
(character behind the cursor is deleted.)144 232.8 Q F1
-(quoted\255insert \(C\255q, C\255v\))108 244.8 Q F0 .778(Add the ne)144
+(quoted\255insert \(C\255q, C\255v\))108 244.8 Q F0 .779(Add the ne)144
256.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 268.8 S(ample.).15 E F1
+G .779(nsert characters lik)-3.279 F(e)-.1 E F1(C\255q)3.278 E F0 3.278
+(,f)C(or)-3.278 E -.15(ex)144 268.8 S(ample.).15 E F1
(tab\255insert \(C\255v T)108 280.8 Q(AB\))-.9 E F0
(Insert a tab character)144 292.8 Q(.)-.55 E F1
(self\255insert \(a, b, A, 1, !, ...\))108 304.8 Q F0
(Insert the character typed.)144 316.8 Q F1
-(transpose\255chars \(C\255t\))108 328.8 Q F0 .322
+(transpose\255chars \(C\255t\))108 328.8 Q F0 .321
(Drag the character before point forw)144 340.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
+(ve)-.15 G 2.821(rt).15 G .321(he character at point, mo)-2.821 F .322
+(ving point forw)-.15 F .322(ard as well.)-.1 F 1.182
(If point is at the end of the line, then this transposes the tw)144
-352.8 R 3.683(oc)-.1 G 1.183(haracters before point.)-3.683 F(Ne)6.183 E
+352.8 R 3.682(oc)-.1 G 1.182(haracters before point.)-3.682 F(Ne)6.182 E
-.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G(ar)144 364.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 376.8 Q(ords \(M\255t\))-.1 E F0 .024(Drag the w)144
-388.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
+(transpose\255w)108 376.8 Q(ords \(M\255t\))-.1 E F0 .023(Drag the w)144
+388.8 R .023(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.524(rt).15 G .024(hat w)
+-2.524 F .024(ord as well.)-.1 F .024(If point)5.024 F
(is at the end of the line, this transposes the last tw)144 400.8 Q 2.5
(ow)-.1 G(ords on the line.)-2.6 E F1(upcase\255w)108 412.8 Q
-(ord \(M\255u\))-.1 E F0 1.698(Uppercase the current \(or follo)144
+(ord \(M\255u\))-.1 E F0 1.699(Uppercase the current \(or follo)144
424.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
+-.05(ga)-.15 G(ti).05 E 1.998 -.15(ve a)-.25 H -.18(rg).15 G 1.698
(ument, uppercase the pre).18 F(vious)-.25 E -.1(wo)144 436.8 S(rd, b).1
E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1(do)108 448.8 Q
-(wncase\255w)-.1 E(ord \(M\255l\))-.1 E F0(Lo)144 460.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)
+(wncase\255w)-.1 E(ord \(M\255l\))-.1 E F0(Lo)144 460.8 Q 1.647
+(wercase the current \(or follo)-.25 F 1.647(wing\) w)-.25 F 4.147
+(ord. W)-.1 F 1.648(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.948 -.15
+(ve a)-.25 H -.18(rg).15 G 1.648(ument, lo).18 F 1.648(wercase the pre)
-.25 F(vious)-.25 E -.1(wo)144 472.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 484.8 Q
-(ord \(M\255c\))-.1 E F0 1.974(Capitalize the current \(or follo)144
+(ord \(M\255c\))-.1 E F0 1.975(Capitalize the current \(or follo)144
496.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
+-.05(ga)-.15 G(ti).05 E 2.274 -.15(ve a)-.25 H -.18(rg).15 G 1.974
(ument, capitalize the pre).18 F(vious)-.25 E -.1(wo)144 508.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
-520.8 S(rwrite\255mode).1 E F0 -.8(To)144 532.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 544.8 S .78(th an e).4 F .781(xplicit non-positi)-.15 F 1.081
+520.8 S(rwrite\255mode).1 E F0 -.8(To)144 532.8 S .437(ggle o).8 F -.15
+(ve)-.15 G .437(rwrite mode.).15 F -.4(Wi)5.437 G .437(th an e).4 F .437
+(xplicit positi)-.15 F .738 -.15(ve n)-.25 H .438(umeric ar).15 F .438
+(gument, switches to o)-.18 F -.15(ve)-.15 G .438(rwrite mode.).15 F -.4
+(Wi)144 544.8 S .781(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 556.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
+(gument, switches to insert mode.)-.18 F .78(This command af)5.781 F
+(fects)-.25 E(only)144 556.8 Q F1(emacs)4.394 E F0(mode;)4.394 E F1(vi)
+4.394 E F0 1.894(mode does o)4.394 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 568.8 R -.15(ove)3.968 G 1.468
+4.395 G(adline\(\)).37 E F0 1.895(starts in insert)4.395 F 3.969
+(mode. In)144 568.8 R -.15(ove)3.969 G 1.469
(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 580.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 592.8
+1.468(replace the te)3.969 F 1.468(xt at point rather than)-.15 F .957
+(pushing the te)144 580.8 R .957(xt to the right.)-.15 F .958
+(Characters bound to)5.957 F F1(backward\255delete\255char)3.458 E F0
+.958(replace the character)3.458 F(before point with a space.)144 592.8
Q(By def)5 E(ault, this command is unbound.)-.1 E F1(Killing and Y)87
609.6 Q(anking)-.85 E(kill\255line \(C\255k\))108 621.6 Q F0
(Kill the te)144 633.6 Q(xt from point to the end of the line.)-.15 E F1
(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 693.6 Q F0
(Kill all characters on the current line, no matter where point is.)144
-705.6 Q(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(40)190.95 E 0 Cg
-EP
+705.6 Q(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(40)195.95 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(kill\255w)108 84 Q(ord \(M\255d\))-.1 E F0
-.728(Kill from point to the end of the current w)144 96 R .729
-(ord, or if between w)-.1 F .729(ords, to the end of the ne)-.1 F .729
+.729(Kill from point to the end of the current w)144 96 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 108 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 120 Q
(ord \(M\255Rubout\))-.1 E F0(Kill the w)144 132 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 144 Q
-(ord \(M\255d\))-.1 E F0 .729
-(Kill from point to the end of the current w)144 156 R .728
-(ord, or if between w)-.1 F .728(ords, to the end of the ne)-.1 F .728
+(ord \(M\255d\))-.1 E F0 .728
+(Kill from point to the end of the current w)144 156 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 168 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)
(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 204 Q(ord)-.1 E F0(.)A F1(unix\255w)108 216 Q
-(ord\255rubout \(C\255w\))-.1 E F0 .365(Kill the w)144 228 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
-240 Q F1(unix\255\214lename\255rubout)108 252 Q F0 .166(Kill the w)144
+(ord\255rubout \(C\255w\))-.1 E F0 .364(Kill the w)144 228 R .364
+(ord behind point, using white space as a w)-.1 F .365(ord boundary)-.1
+F 5.365(.T)-.65 G .365(he killed te)-5.365 F .365(xt is sa)-.15 F -.15
+(ve)-.2 G 2.865(do).15 G 2.865(nt)-2.865 G(he)-2.865 E(kill-ring.)144
+240 Q F1(unix\255\214lename\255rubout)108 252 Q F0 .167(Kill the w)144
264 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 276 Q
+-.1 F .166(ord boundaries.)-.1 F(The)5.166 E(killed te)144 276 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 288 Q F0
(Delete all spaces and tabs around point.)144 300 Q F1(kill\255r)108 312
(gion.)-.15 E F1(copy\255r)108 336 Q(egion\255as\255kill)-.18 E F0(Cop)
144 348 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 360 Q(ord)-.1 E F0(Cop)144 372 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 384 Q
-(ord)-.1 E F0(.)A F1(copy\255f)108 396 Q(orward\255w)-.25 E(ord)-.1 E F0
-(Cop)144 408 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 420 Q(ord)-.1 E F0(.)A F1
+(copy\255backward\255w)108 360 Q(ord)-.1 E F0(Cop)144 372 Q 4.8(yt)-.1 G
+2.3(he w)-4.8 F 2.3(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.301
+(ord boundaries are the same as)-.1 F F1(back-)4.801 E(ward\255w)144 384
+Q(ord)-.1 E F0(.)A F1(copy\255f)108 396 Q(orward\255w)-.25 E(ord)-.1 E
+F0(Cop)144 408 Q 4.508(yt)-.1 G 2.008(he w)-4.508 F 2.008(ord follo)-.1
+F 2.008(wing point to the kill b)-.25 F(uf)-.2 E(fer)-.25 E 7.007(.T)
+-.55 G 2.007(he w)-7.007 F 2.007(ord boundaries are the same as)-.1 F F1
+-.25(fo)4.507 G -.37(r-).25 G(ward\255w)144 420 Q(ord)-.1 E F0(.)A F1
(yank \(C\255y\))108 432 Q F0 -1(Ya)144 444 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 456 Q F0
(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 484.8 Q
(guments)-.1 E(digit\255ar)108 496.8 Q
-(gument \(M\2550, M\2551, ..., M\255\255\))-.1 E F0 .642
+(gument \(M\2550, M\2551, ..., M\255\255\))-.1 E F0 .641
(Add this digit to the ar)144 508.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-)
+(rg)-3.141 G 3.142(ument. M\255\255).18 F .642(starts a ne)3.142 F(g-)
-.15 E(ati)144 520.8 Q .3 -.15(ve a)-.25 H -.18(rg).15 G(ument.).18 E F1
-(uni)108 532.8 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .778
+(uni)108 532.8 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .779
(This is another w)144 544.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
+(gument. If)-.18 F .779(this command is follo)3.279 F .778
(wed by one or more digits,)-.25 F 1.376
(optionally with a leading minus sign, those digits de\214ne the ar)144
556.8 R 3.876(gument. If)-.18 F 1.376(the command is fol-)3.876 F(lo)144
568.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 580.8 R .898
-(As a special case, if this command is immediately follo)5.899 F .898
+-.2 F(-)-.2 E .898(wise ignored.)144 580.8 R .898
+(As a special case, if this command is immediately follo)5.898 F .898
(wed by a character that is)-.25 F .243
(neither a digit or minus sign, the ar)144 592.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 604.8 Q .378
+-.15 F 5.242(.T)-.55 G(he)-5.242 E(ar)144 604.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 616.8 Q 2.5(,as)-.4 G(econd time mak)
(Completing)87 633.6 Q(complete \(T)108 645.6 Q(AB\))-.9 E F0 1.137
(Attempt to perform completion on the te)144 657.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 669.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 681.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
+(attempts completion treating the)3.637 F(te)144 669.6 Q .532(xt as a v)
+-.15 F .532(ariable \(if the te)-.25 F .532(xt be)-.15 F .533(gins with)
+-.15 F F1($)3.033 E F0 .533(\), username \(if the te)B .533(xt be)-.15 F
+.533(gins with)-.15 F F1(~)3.033 E F0 .533(\), hostname \(if the)B(te)
+144 681.6 Q .702(xt be)-.15 F .702(gins with)-.15 F F1(@)3.202 E F0 .701
+(\), or command \(including aliases and functions\) in turn.)B .701
(If none of these pro-)5.701 F
(duces a match, \214lename completion is attempted.)144 693.6 Q F1
(possible\255completions \(M\255?\))108 705.6 Q F0
(List the possible completions of the te)144 717.6 Q(xt before point.)
--.15 E(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(41)190.95 E 0 Cg
-EP
+-.15 E(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(41)195.95 E 0 Cg EP
%%Page: 42 42
%%BeginPageSetup
BP
-.35 E/F1 10/Times-Bold@0 SF(insert\255completions \(M\255*\))108 84 Q
F0 .783(Insert all completions of the te)144 96 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 108
-Q F0(.)A F1(menu\255complete)108 120 Q F0 .928(Similar to)144 132 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 144 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
+.783(een generated by).15 F F1(possible\255com-)3.283 E(pletions)144 108
+Q F0(.)A F1(menu\255complete)108 120 Q F0 .929(Similar to)144 132 R F1
+(complete)3.429 E F0 3.429(,b)C .929(ut replaces the w)-3.629 F .929
+(ord to be completed with a single match from the list of)-.1 F 1.193
+(possible completions.)144 144 R 1.193(Repeated e)6.193 F -.15(xe)-.15 G
+1.193(cution of).15 F F1(menu\255complete)3.694 E F0 1.194
+(steps through the list of possible)3.694 F .829
(completions, inserting each match in turn.)144 156 R .828
(At the end of the list of completions, the bell is rung)5.828 F .727
(\(subject to the setting of)144 168 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
+F0(mo)3.227 E -.15(ve)-.15 G(s).15 E F2(n)3.228 E F0 1.73
(positions forw)144 180 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 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(delete\255char\255or\255list)108 204 Q F0 .234
(Deletes the character under the cursor if not at the be)144 216 R .234
-(ginning or end of the line \(lik)-.15 F(e)-.1 E F1(delete\255char)2.734
+(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
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
(possible\255hostname\255completions \(C\255x @\))108 420 Q F0
(List the possible completions of the te)144 432 Q
(xt before point, treating it as a hostname.)-.15 E F1
-(complete\255command \(M\255!\))108 444 Q F0 .581
+(complete\255command \(M\255!\))108 444 Q F0 .58
(Attempt completion on the te)144 456 R .581
-(xt before point, treating it as a command name.)-.15 F .58
-(Command comple-)5.58 F .715(tion attempts to match the te)144 468 R
+(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
.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
(possible\255command\255completions \(C\255x !\))108 492 Q F0
(List the possible completions of the te)144 504 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 .425
+(dynamic\255complete\255history \(M\255T)108 516 Q(AB\))-.9 E F0 .424
(Attempt completion on the te)144 528 R .425
-(xt before point, comparing the te)-.15 F .425(xt ag)-.15 F .424
+(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
--.15(ev)-.18 G(\255expand).15 E F0 .61
+-.15(ev)-.18 G(\255expand).15 E F0 .611
(Attempt menu completion on the te)144 564 R .611
-(xt before point, comparing the te)-.15 F .611(xt ag)-.15 F .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\
(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 .999(cute the last k).15 F -.15(ey)
--.1 G .999(board macro de\214ned, by making the characters in the macro\
- appear as if).15 F(typed at the k)144 712.8 Q -.15(ey)-.1 G(board.).15
-E(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(42)190.95 E 0 Cg EP
+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.0)72 768 Q(2009 March 4)145.96 E(42)195.95 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(Miscellaneous)87 84 Q -.18(re)108 96 S
-<ad72>.18 E(ead\255init\255\214le \(C\255x C\255r\))-.18 E F0 1.777
+<ad72>.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)
-4.277 E(c)-.37 E F0 1.776(\214le, and incorporate an)4.276 F 4.276(yb)
--.15 G 1.776(indings or v)-4.276 F 1.776(ariable assignments)-.25 F
-(found there.)144 120 Q F1(abort \(C\255g\))108 132 Q F0 3.248
+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
-5.749(sb)-.55 G 3.249(ell \(subject to the setting of)-5.749 F F1
+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.756(If the meta\214ed character)144 180 R F2(x)4.256 E F0 1.755
-(is lo)4.256 F 1.755
+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
(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
(Set the mark to the point.)144 324 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 .283(ap the point with the mark.)-.1 F .283
+348 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.782(dp).15 G .282(osition, and the old)-2.782 F(cursor position is sa)
+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.035(Ac)144 384 S
-.535(haracter is read and point is mo)-3.035 F -.15(ve)-.15 G 3.035(dt)
+(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
-(xt occurrence of that character)-.15 F 5.536(.A)-.55 G(ne)-2.5 E -.05
-(ga)-.15 G(ti).05 E .836 -.15(ve c)-.25 H(ount).15 E(searches for pre)
+(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.544(Ac)144 420 S 1.044
-(haracter is read and point is mo)-3.544 F -.15(ve)-.15 G 3.544(dt).15 G
+(ch\255backward \(M\255C\255]\))-.18 E F0 3.543(Ac)144 420 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.043(.A)-.55 G(ne)-2.5 E
+(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
-(insert\255comment \(M\255#\))108 444 Q F0 -.4(Wi)144 456 S .48
-(thout a numeric ar).4 F .48(gument, the v)-.18 F .481
+(insert\255comment \(M\255#\))108 444 Q F0 -.4(Wi)144 456 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 .481(riable is inserted at the).25 F(be)144 468 Q .098
-(ginning of the current line.)-.15 F .098(If a numeric ar)5.098 F .097
-(gument is supplied, this command acts as a toggle:)-.18 F(if)5.097 E
-.321(the characters at the be)144 480 R .321
+2.981 G .48(riable is inserted at the).25 F(be)144 468 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 480 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.822(,t)C .322(he v)-2.822 F .322(alue is)
--.25 F .832(inserted, otherwise the characters in)144 492 R F1
-(comment\255begin)3.332 E F0 .831(are deleted from the be)3.332 F .831
-(ginning of the line.)-.15 F 1.468
+(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 492 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 504 R 1.468
-(wline had been typed.)-.25 F 1.469(The def)6.469 F 1.469(ault v)-.1 F
-1.469(alue of)-.25 F F1(com-)3.969 E(ment\255begin)144 516 Q F0 .84
-(causes this command to mak)3.34 F 3.339(et)-.1 G .839
-(he current line a shell comment.)-3.339 F .839(If a numeric ar)5.839 F
+(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 516 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 528 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 540 Q
-(ord \(M\255g\))-.1 E F0 .791(The w)144 552 R .791
-(ord before point is treated as a pattern for pathname e)-.1 F .792
+(ord \(M\255g\))-.1 E F0 .792(The w)144 552 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 564
R(pattern is used to generate a list of matching \214le names for possi\
ble completions.)2.5 E F1(glob\255expand\255w)108 576 Q
-(ord \(C\255x *\))-.1 E F0 .372(The w)144 588 R .372
-(ord before point is treated as a pattern for pathname e)-.1 F .371
+(ord \(C\255x *\))-.1 E F0 .371(The w)144 588 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 600 R 3.016(ord. If)-.1 F 3.016
(an)3.016 G .516(umeric ar)-3.016 F .516
.872(the line is redra)144 648 R 3.372(wn. If)-.15 F 3.372(an)3.372 G
.872(umeric ar)-3.372 F .872
(gument is supplied, an asterisk is appended before pathname)-.18 F -.15
-(ex)144 660 S(pansion.).15 E F1(dump\255functions)108 672 Q F0 .627
-(Print all of the functions and their k)144 684 R .927 -.15(ey b)-.1 H
-.626(indings to the readline output stream.).15 F .626(If a numeric ar)
-5.626 F(gu-)-.18 E
+(ex)144 660 S(pansion.).15 E F1(dump\255functions)108 672 Q F0 .626
+(Print all of the functions and their k)144 684 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 696 Q
(ay that it can be made part of an)-.1 E F2(inputr)2.5 E(c)-.37 E F0
-(\214le.)2.5 E(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(43)190.95
-E 0 Cg EP
+(\214le.)2.5 E(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(43)195.95 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(dump\255v)108 84 Q(ariables)-.1 E F0 1.799
+-.35 E/F1 10/Times-Bold@0 SF(dump\255v)108 84 Q(ariables)-.1 E F0 1.8
(Print all of the settable readline v)144 96 R 1.799
-(ariables and their v)-.25 F 1.8(alues to the readline output stream.)
--.25 F 1.8(If a)6.8 F .305(numeric ar)144 108 R .304
+(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 108 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 10/Times-Italic@0 SF(inputr)
144 120 Q(c)-.37 E F0(\214le.)2.5 E F1(dump\255macr)108 132 Q(os)-.18 E
-F0 .592(Print all of the readline k)144 144 R .892 -.15(ey s)-.1 H .592
-(equences bound to macros and the strings the).15 F 3.093(yo)-.15 G
-3.093(utput. If)-3.093 F 3.093(an)3.093 G(umeric)-3.093 E(ar)144 156 Q
+F0 .593(Print all of the readline k)144 144 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 156 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.027 E(c)-.37 E F0
+(ay that it can be made part of an)-.1 F F2(inputr)3.028 E(c)-.37 E F0
(\214le.)144 168 Q F1(display\255shell\255v)108 180 Q
(ersion \(C\255x C\255v\))-.1 E F0(Display v)144 192 Q
(ersion information about the current instance of)-.15 E F1(bash)2.5 E
-F0(.)A F1(Pr)87 208.8 Q(ogrammable Completion)-.18 E F0 .146(When w)108
+F0(.)A F1(Pr)87 208.8 Q(ogrammable Completion)-.18 E F0 .147(When w)108
220.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 232.8 Q F0 3.829(\)h)C 1.329
-(as been de\214ned using the)-3.829 F F1(complete)3.829 E F0 -.2(bu)
+F2(compspec)108 232.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.328(w\), the)
+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 244.8 Q(acilities are in)-.1 E -.2
-(vo)-.4 G -.1(ke).2 G(d.).1 E .333
-(First, the command name is identi\214ed.)108 261.6 R .334
+(vo)-.4 G -.1(ke).2 G(d.).1 E .334
+(First, the command name is identi\214ed.)108 261.6 R .333
(If a compspec has been de\214ned for that command, the compspec is)
-5.333 F .587
+5.334 F .587
(used to generate the list of possible completions for the w)108 273.6 R
-3.087(ord. If)-.1 F .587(the command w)3.087 F .586
-(ord is a full pathname, a)-.1 F 1.18
+3.087(ord. If)-.1 F .587(the command w)3.087 F .587
+(ord is a full pathname, a)-.1 F 1.181
(compspec for the full pathname is searched for \214rst.)108 285.6 R
-1.181(If no compspec is found for the full pathname, an)6.181 F
+1.18(If no compspec is found for the full pathname, an)6.181 F
(attempt is made to \214nd a compspec for the portion follo)108 297.6 Q
(wing the \214nal slash.)-.25 E .817(Once a compspec has been found, it\
is used to generate the list of matching w)108 314.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
326.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 343.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 355.2 R .596
-(When the)5.596 F F1<ad66>3.096 E F0(or)3.095 E F1<ad64>3.095 E F0 .595
+.464(First, the actions speci\214ed by the compspec are used.)108 343.2
+R .463(Only matches which are pre\214x)5.464 F .463(ed by the w)-.15 F
+.463(ord being)-.1 F .595(completed are returned.)108 355.2 R .595
+(When the)5.595 F F1<ad66>3.095 E F0(or)3.095 E F1<ad64>3.095 E F0 .596
(option is used for \214lename or directory name completion, the)3.095 F
(shell v)108 367.2 Q(ariable)-.25 E F3(FIGNORE)2.5 E F0
(is used to \214lter the matches.)2.25 E(An)108 384 Q 2.585(yc)-.15 G
.085(ompletions speci\214ed by a \214lename e)-2.585 F .085
(xpansion pattern to the)-.15 F F1<ad47>2.585 E F0 .085
(option are generated ne)2.585 F 2.585(xt. The)-.15 F -.1(wo)2.585 G
-(rds).1 E .844(generated by the pattern need not match the w)108 396 R
-.844(ord being completed.)-.1 F(The)5.844 E F3(GLOBIGNORE)3.343 E F0
-.843(shell v)3.093 F .843(ariable is)-.25 F
+(rds).1 E .843(generated by the pattern need not match the w)108 396 R
+.844(ord being completed.)-.1 F(The)5.844 E F3(GLOBIGNORE)3.344 E F0
+.844(shell v)3.094 F .844(ariable is)-.25 F
(not used to \214lter the matches, b)108 408 Q(ut the)-.2 E F3(FIGNORE)
-2.5 E F0 -.25(va)2.25 G(riable is used.).25 E(Ne)108 424.8 Q .32
-(xt, the string speci\214ed as the ar)-.15 F .32(gument to the)-.18 F F1
-<ad57>2.82 E F0 .321(option is considered.)2.821 F .321
-(The string is \214rst split using the)5.321 F .413(characters in the)
-108 436.8 R F3(IFS)2.913 E F0 .412(special v)2.663 F .412
+2.5 E F0 -.25(va)2.25 G(riable is used.).25 E(Ne)108 424.8 Q .321
+(xt, the string speci\214ed as the ar)-.15 F .321(gument to the)-.18 F
+F1<ad57>2.821 E F0 .32(option is considered.)2.821 F .32
+(The string is \214rst split using the)5.32 F .412(characters in the)108
+436.8 R F3(IFS)2.912 E F0 .412(special v)2.662 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 448.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
+.413(Each w)5.412 F .413(ord is then e)-.1 F(xpanded)-.15 E .092
+(using brace e)108 448.8 R .092(xpansion, tilde e)-.15 F .092
+(xpansion, parameter and v)-.15 F .092(ariable e)-.25 F .091
+(xpansion, command substitution, and arith-)-.15 F 1.396(metic e)108
460.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
-472.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
+472.8 Q .51 -.15(ve u)-.15 H(nder).15 E F1 -.75(Wo)2.71 G .21
+(rd Splitting).75 F F0 5.21(.T)C .209(he results of the e)-5.21 F .209
+(xpansion are pre\214x-matched ag)-.15 F .209(ainst the w)-.05 F .209
(ord being com-)-.1 F(pleted, and the matching w)108 484.8 Q
-(ords become the possible completions.)-.1 E 1.238
-(After these matches ha)108 501.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 F1<ad46>3.737 E
-F0(and)3.737 E F1<ad43>3.737 E F0 3.375(options is in)108 513.6 R -.2
+(ords become the possible completions.)-.1 E 1.237
+(After these matches ha)108 501.6 R 1.537 -.15(ve b)-.2 H 1.237
+(een generated, an).15 F 3.737(ys)-.15 G 1.238
+(hell function or command speci\214ed with the)-3.737 F F1<ad46>3.738 E
+F0(and)3.738 E F1<ad43>3.738 E F0 3.376(options is in)108 513.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 525.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
-537.6 S .986(hell function is being in)-3.485 F -.2(vo)-.4 G -.1(ke).2 G
+(d, the).1 F F3(COMP_LINE)5.875 E F4(,)A F3(COMP_POINT)5.625 E F4(,)A F3
+(COMP_KEY)108 525.6 Q F4(,)A F0(and)2.407 E F3(COMP_TYPE)2.657 E F0 -.25
+(va)2.407 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 .158
+(Shell V)2.658 F(ariables)-.92 E F0 5.158(.I)C(f)-5.158 E 3.486(as)108
+537.6 S .986(hell function is being in)-3.486 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
+(riables are also set.).25 F(When)5.985 E .608
(the function or command is in)108 549.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
+-.18 F .609(guments are)-.18 F .073(being completed, the second ar)108
561.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 573.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 585.6 Q .093
+.072(ord pre-)-.1 F .607(ceding the w)108 573.6 R .607
+(ord being completed on the current command line.)-.1 F .608
+(No \214ltering of the generated completions)5.607 F(ag)108 585.6 Q .094
(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
-597.6 Q(An)108 614.4 Q 2.938(yf)-.15 G .437(unction speci\214ed with)
--2.938 F F1<ad46>2.937 E F0 .437(is in)2.937 F -.2(vo)-.4 G -.1(ke).2 G
+597.6 Q(An)108 614.4 Q 2.937(yf)-.15 G .437(unction speci\214ed with)
+-2.937 F F1<ad46>2.937 E F0 .437(is in)2.937 F -.2(vo)-.4 G -.1(ke).2 G
2.937<648c>.1 G 2.937(rst. The)-2.937 F .437(function may use an)2.937 F
-2.937(yo)-.15 G 2.937(ft)-2.937 G .437(he shell f)-2.937 F .437
-(acilities, including)-.1 F(the)108 626.4 Q F1(compgen)2.956 E F0 -.2
-(bu)2.956 G .456(iltin described belo).2 F 1.756 -.65(w, t)-.25 H 2.956
-(og).65 G .456(enerate the matches.)-2.956 F .457
+2.937(yo)-.15 G 2.937(ft)-2.937 G .437(he shell f)-2.937 F .438
+(acilities, including)-.1 F(the)108 626.4 Q F1(compgen)2.957 E F0 -.2
+(bu)2.957 G .457(iltin described belo).2 F 1.756 -.65(w, t)-.25 H 2.956
+(og).65 G .456(enerate the matches.)-2.956 F .456
(It must put the possible completions in the)5.456 F F3(COMPREPL)108
-638.4 Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E(Ne)108 655.2 Q .081
-(xt, an)-.15 F 2.581(yc)-.15 G .081(ommand speci\214ed with the)-2.581 F
-F1<ad43>2.581 E F0 .081(option is in)2.581 F -.2(vo)-.4 G -.1(ke).2 G
-2.581(di).1 G 2.58(na)-2.581 G 2.58(ne)-2.58 G -.4(nv)-2.58 G .08
-(ironment equi).4 F -.25(va)-.25 G .08(lent to command sub-).25 F 2.858
+638.4 Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E(Ne)108 655.2 Q .08
+(xt, an)-.15 F 2.58(yc)-.15 G .08(ommand speci\214ed with the)-2.58 F F1
+<ad43>2.58 E F0 .081(option is in)2.581 F -.2(vo)-.4 G -.1(ke).2 G 2.581
+(di).1 G 2.581(na)-2.581 G 2.581(ne)-2.581 G -.4(nv)-2.581 G .081
+(ironment equi).4 F -.25(va)-.25 G .081(lent to command sub-).25 F 2.859
(stitution. It)108 667.2 R .359(should print a list of completions, one\
- per line, to the standard output.)2.858 F .359(Backslash may be used)
+ per line, to the standard output.)2.859 F .358(Backslash may be used)
5.359 F(to escape a ne)108 679.2 Q(wline, if necessary)-.25 E(.)-.65 E
-.377(After all of the possible completions are generated, an)108 696 R
-2.877<798c>-.15 G .377(lter speci\214ed with the)-2.877 F F1<ad58>2.876
-E F0 .376(option is applied to the)2.876 F 3.181(list. The)108 708 R
-.681(\214lter is a pattern as used for pathname e)3.181 F .681
-(xpansion; a)-.15 F F1(&)3.181 E F0 .682
-(in the pattern is replaced with the te)3.182 F .682(xt of)-.15 F .523
-(the w)108 720 R .523(ord being completed.)-.1 F 3.023(Al)5.523 G
-(iteral)-3.023 E F1(&)3.023 E F0 .522
+.376(After all of the possible completions are generated, an)108 696 R
+2.877<798c>-.15 G .377(lter speci\214ed with the)-2.877 F F1<ad58>2.877
+E F0 .377(option is applied to the)2.877 F 3.182(list. The)108 708 R
+.682(\214lter is a pattern as used for pathname e)3.182 F .681
+(xpansion; a)-.15 F F1(&)3.181 E F0 .681
+(in the pattern is replaced with the te)3.181 F .681(xt of)-.15 F .522
+(the w)108 720 R .522(ord being completed.)-.1 F 3.022(Al)5.522 G
+(iteral)-3.022 E F1(&)3.022 E F0 .523
(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(GNU Bash-4.0)72 768 Q
-(2009 February 7)140.96 E(44)190.95 E 0 Cg EP
+-.15 G 3.023(db).15 G(efore)-3.023 E(GNU Bash-4.0)72 768 Q(2009 March 4)
+145.96 E(44)195.95 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 .849(attempting a match.)108 84 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
-10/Times-Bold@0 SF(!)3.35 E F0(ne)108 96 Q -.05(ga)-.15 G
+-.35 E .85(attempting a match.)108 84 R(An)5.85 E 3.35(yc)-.15 G .849
+(ompletion that matches the pattern will be remo)-3.35 F -.15(ve)-.15 G
+3.349(df).15 G .849(rom the list.)-3.349 F 3.349(Al)5.849 G(eading)
+-3.349 E/F1 10/Times-Bold@0 SF(!)3.349 E F0(ne)108 96 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 112.8 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
+(d.).15 E(Finally)108 112.8 Q 3.086(,a)-.65 G .886 -.15(ny p)-3.086 H
+.586(re\214x and suf).15 F .587(\214x speci\214ed with the)-.25 F F1
<ad50>3.087 E F0(and)3.087 E F1<ad53>3.087 E F0 .587
(options are added to each member of the com-)3.087 F(pletion list, and\
the result is returned to the readline completion code as the list of \
-possible completions.)108 124.8 Q .246(If the pre)108 141.6 R .247
+possible completions.)108 124.8 Q .247(If the pre)108 141.6 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 153.6 Q F0
+(option w)2.747 F .246(as supplied to)-.1 F F1(complete)108 153.6 Q F0
(when the compspec w)2.5 E
-(as de\214ned, directory name completion is attempted.)-.1 E .462
-(If the)108 170.4 R F1 .462(\255o plusdirs)2.962 F F0 .462(option w)
+(as de\214ned, directory name completion is attempted.)-.1 E .461
+(If the)108 170.4 R F1 .462(\255o plusdirs)2.961 F F0 .462(option w)
2.962 F .462(as supplied to)-.1 F F1(complete)2.962 E F0 .462
(when the compspec w)2.962 F .462(as de\214ned, directory name com-)-.1
F(pletion is attempted and an)108 182.4 Q 2.5(ym)-.15 G
-(atches are added to the results of the other actions.)-2.5 E .559
-(By def)108 199.2 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 211.2 R .632(The def)5.632 F(ault)-.1
-E F1(bash)3.132 E F0 .631
-(completions are not attempted, and the readline def)3.131 F .631
-(ault of \214le-)-.1 F .558(name completion is disabled.)108 223.2 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 235.2 S 3.172(sd).1 G .672
-(e\214ned, the)-3.172 F F1(bash)3.172 E F0(def)3.172 E .671
+(atches are added to the results of the other actions.)-2.5 E .56
+(By def)108 199.2 R .56(ault, if a compspec is found, whate)-.1 F -.15
+(ve)-.25 G 3.06(ri).15 G 3.06(tg)-3.06 G .559
+(enerates is returned to the completion code as the full set)-3.06 F
+.631(of possible completions.)108 211.2 R .631(The def)5.631 F(ault)-.1
+E F1(bash)3.131 E F0 .631
+(completions are not attempted, and the readline def)3.131 F .632
+(ault of \214le-)-.1 F .559(name completion is disabled.)108 223.2 R
+.559(If the)5.559 F F1 .559(\255o bashdefault)3.059 F F0 .559(option w)
+3.059 F .559(as supplied to)-.1 F F1(complete)3.058 E F0 .558
+(when the compspec)3.058 F -.1(wa)108 235.2 S 3.171(sd).1 G .671
+(e\214ned, the)-3.171 F F1(bash)3.171 E F0(def)3.171 E .671
(ault completions are attempted if the compspec generates no matches.)
--.1 F .671(If the)5.671 F F1<ad6f>3.171 E(default)108 247.2 Q F0 1.207
-(option w)3.706 F 1.207(as supplied to)-.1 F F1(complete)3.707 E F0
+-.1 F .672(If the)5.672 F F1<ad6f>3.172 E(default)108 247.2 Q F0 1.207
+(option w)3.707 F 1.207(as supplied to)-.1 F F1(complete)3.707 E F0
1.207(when the compspec w)3.707 F 1.207(as de\214ned, readline')-.1 F
-3.707(sd)-.55 G(ef)-3.707 E 1.207(ault completion)-.1 F
+3.707(sd)-.55 G(ef)-3.707 E 1.206(ault completion)-.1 F
(will be performed if the compspec \(and, if attempted, the def)108
259.2 Q(ault)-.1 E F1(bash)2.5 E F0(completions\) generate no matches.)
2.5 E .245(When a compspec indicates that directory name completion is \
-desired, the programmable completion func-)108 276 R .632(tions force r\
+desired, the programmable completion func-)108 276 R .633(tions force r\
eadline to append a slash to completed names which are symbolic links t\
-o directories, subject)108 288 R 2.762(to the v)108 300 R 2.762
-(alue of the)-.25 F F1(mark\255dir)5.262 E(ectories)-.18 E F0 2.761
-(readline v)5.262 F 2.761(ariable, re)-.25 F -.05(ga)-.15 G 2.761
-(rdless of the setting of the).05 F F1(mark-sym-)5.261 E(link)108 312 Q
+o directories, subject)108 288 R 2.761(to the v)108 300 R 2.761
+(alue of the)-.25 F F1(mark\255dir)5.261 E(ectories)-.18 E F0 2.761
+(readline v)5.261 F 2.761(ariable, re)-.25 F -.05(ga)-.15 G 2.762
+(rdless of the setting of the).05 F F1(mark-sym-)5.262 E(link)108 312 Q
(ed\255dir)-.1 E(ectories)-.18 E F0(readline v)2.5 E(ariable.)-.25 E/F2
-10.95/Times-Bold@0 SF(HIST)72 328.8 Q(OR)-.197 E(Y)-.383 E F0 .371
-(When the)108 340.8 R F1 .371(\255o history)2.871 F F0 .371
-(option to the)2.871 F F1(set)2.872 E F0 -.2(bu)2.872 G .372
-(iltin is enabled, the shell pro).2 F .372(vides access to the)-.15 F/F3
-10/Times-Italic@0 SF .372(command history)2.872 F F0(,)A .032
+10.95/Times-Bold@0 SF(HIST)72 328.8 Q(OR)-.197 E(Y)-.383 E F0 .372
+(When the)108 340.8 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/F3
+10/Times-Italic@0 SF .371(command history)2.871 F F0(,)A .031
(the list of commands pre)108 352.8 R .031(viously typed.)-.25 F .031
(The v)5.031 F .031(alue of the)-.25 F F1(HISTSIZE)2.531 E F0 -.25(va)
-2.531 G .031(riable is used as the number of com-).25 F .429
-(mands to sa)108 364.8 R .729 -.15(ve i)-.2 H 2.929(nah).15 G .429
-(istory list.)-2.929 F .429(The te)5.429 F .429(xt of the last)-.15 F/F4
-9/Times-Bold@0 SF(HISTSIZE)2.93 E F0 .43(commands \(def)2.68 F .43
-(ault 500\) is sa)-.1 F -.15(ve)-.2 G 2.93(d. The).15 F(shell)2.93 E
-.287(stores each command in the history list prior to parameter and v)
-108 376.8 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
-388.8 S 4.065(ta).2 G 1.565(fter history e)-4.065 F 1.565
+2.531 G .031(riable is used as the number of com-).25 F .43(mands to sa)
+108 364.8 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 9/Times-Bold@0 SF
+(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
+376.8 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 388.8
+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 F4(HISTIGNORE)4.065 E F0
-(and)3.816 E F4(HISTCONTR)108 400.8 Q(OL)-.27 E/F5 9/Times-Roman@0 SF(.)
+(and)3.815 E F4(HISTCONTR)108 400.8 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 417.6 R(ariable)-.25 E F4(HISTFILE)2.582 E F0(\(def)2.332 E(ault)-.1
-E F3(~/.bash_history)2.582 E F0(\).)A .315(The \214le named by the v)108
+108 417.6 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
429.6 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 441.6 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.158(tory comment character follo)108
-453.6 R 1.159(wed immediately by a digit are interpreted as timestamps \
-for the preceding)-.25 F .053(history line.)108 465.6 R .053
-(These timestamps are optionally displayed depending on the v)5.053 F
-.052(alue of the)-.25 F F4(HISTTIMEFORMA)2.552 E(T)-.855 E F0 -.25(va)
-108 477.6 S 4.386(riable. When).25 F 1.886(an interacti)4.386 F 2.187
+(ginning with the his-)-.15 F 1.159(tory comment character follo)108
+453.6 R 1.158(wed immediately by a digit are interpreted as timestamps \
+for the preceding)-.25 F .052(history line.)108 465.6 R .053
+(These timestamps are optionally displayed depending on the v)5.052 F
+.053(alue of the)-.25 F F4(HISTTIMEFORMA)2.553 E(T)-.855 E F0 -.25(va)
+108 477.6 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 489.6 Q F5(.)A F0 .056(If the)4.556 F F1
(histappend)2.556 E F0 .056
(shell option is enabled \(see the description of)2.556 F F1(shopt)2.556
E F0(under)2.556 E F4 .056(SHELL B)2.556 F(UIL)-.09 E(TIN)-.828 E
-(COMMANDS)108 501.6 Q F0(belo)2.671 E .422(w\), the lines are appended \
+(COMMANDS)108 501.6 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.922(rwritten. If).15 F F4(HISTFILE)108 513.6 Q F0 1.114(is uns\
-et, or if the history \214le is unwritable, the history is not sa)3.364
-F -.15(ve)-.2 G 3.614(d. If).15 F(the)3.614 E F5 -.225(va)3.613 G 1.113
-(riable is set, time).225 F 1.251
+-.15 G 2.921(rwritten. If).15 F F4(HISTFILE)108 513.6 Q F0 1.114(is uns\
+et, or if the history \214le is unwritable, the history is not sa)3.363
+F -.15(ve)-.2 G 3.614(d. If).15 F(the)3.614 E F5 -.225(va)3.614 G 1.114
+(riable is set, time).225 F 1.252
(stamps are written to the history \214le, mark)108 525.6 R(ed)-.09 E F0
-1.252(with the history comment character)3.502 F 3.752(,s)-.4 G 3.752
-(ot)-3.752 G(he)-3.752 E 3.752(ym)-.15 G 1.252(ay be preserv)-3.752 F
+1.252(with the history comment character)3.502 F 3.751(,s)-.4 G 3.751
+(ot)-3.751 G(he)-3.751 E 3.751(ym)-.15 G 1.251(ay be preserv)-3.751 F
(ed)-.15 E .105(across shell sessions.)108 537.6 R .105(This uses the h\
istory comment character to distinguish timestamps from other history)
-5.105 F 2.604(lines. After)108 549.6 R(sa)2.604 E .104(ving the history)
--.2 F 2.604(,t)-.65 G .104
-(he history \214le is truncated to contain no more than)-2.604 F F4
-(HISTFILESIZE)2.605 E F0 2.605(lines. If)2.355 F F4(HISTFILESIZE)108
-561.6 Q F0(is not set, no truncation is performed.)2.25 E 1.294(The b)
-108 578.4 R 1.294(uiltin command)-.2 F F1(fc)3.794 E F0(\(see)3.794 E F4
-1.293(SHELL B)3.794 F(UIL)-.09 E 1.293(TIN COMMANDS)-.828 F F0(belo)
-3.543 E 1.293(w\) may be used to list or edit and re-)-.25 F -.15(exe)
-108 590.4 S .673(cute a portion of the history list.).15 F(The)5.673 E
+5.105 F 2.605(lines. After)108 549.6 R(sa)2.605 E .105(ving the history)
+-.2 F 2.605(,t)-.65 G .104
+(he history \214le is truncated to contain no more than)-2.605 F F4
+(HISTFILESIZE)2.604 E F0 2.604(lines. If)2.354 F F4(HISTFILESIZE)108
+561.6 Q F0(is not set, no truncation is performed.)2.25 E 1.293(The b)
+108 578.4 R 1.293(uiltin command)-.2 F F1(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 590.4 S .674(cute a portion of the history list.).15 F(The)5.673 E
F1(history)3.173 E F0 -.2(bu)3.173 G .673
-(iltin may be used to display or modify the history list).2 F .28
+(iltin may be used to display or modify the history list).2 F .279
(and manipulate the history \214le.)108 602.4 R .279
(When using command-line editing, search commands are a)5.279 F -.25(va)
--.2 G .279(ilable in each).25 F(editing mode that pro)108 614.4 Q
-(vide access to the history list.)-.15 E 1.485(The shell allo)108 631.2
-R 1.485(ws control o)-.25 F -.15(ve)-.15 G 3.986(rw).15 G 1.486
+-.2 G .28(ilable in each).25 F(editing mode that pro)108 614.4 Q
+(vide access to the history list.)-.15 E 1.486(The shell allo)108 631.2
+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.486 E F4(HISTCONTR)3.986
-E(OL)-.27 E F0(and)3.736 E F4(HISTIGNORE)108 643.2 Q F0 -.25(va)2.708 G
-.458(riables may be set to cause the shell to sa).25 F .757 -.15(ve o)
--.2 H .457(nly a subset of the commands entered.).15 F(The)5.457 E F1
+-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 643.2 Q F0 -.25(va)2.707 G
+.457(riables may be set to cause the shell to sa).25 F .758 -.15(ve o)
+-.2 H .458(nly a subset of the commands entered.).15 F(The)5.458 E F1
(cmdhist)108 655.2 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 667.2 R 3.577(,a)-.65 G 1.077
(dding semicolons where necessary to preserv)-3.577 F 3.577(es)-.15 G
-1.077(yntactic correctness.)-3.577 F(The)6.077 E F1(lithist)3.576 E F0
-.373(shell option causes the shell to sa)108 679.2 R .674 -.15(ve t)-.2
-H .374(he command with embedded ne).15 F .374
-(wlines instead of semicolons.)-.25 F .374(See the)5.374 F .319
-(description of the)108 691.2 R F1(shopt)2.819 E F0 -.2(bu)2.819 G .318
+1.077(yntactic correctness.)-3.577 F(The)6.077 E F1(lithist)3.577 E F0
+.374(shell option causes the shell to sa)108 679.2 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 691.2 R F1(shopt)2.818 E F0 -.2(bu)2.818 G .318
(iltin belo).2 F 2.818(wu)-.25 G(nder)-2.818 E F4 .318(SHELL B)2.818 F
-(UIL)-.09 E .318(TIN COMMANDS)-.828 F F0 .318
+(UIL)-.09 E .318(TIN COMMANDS)-.828 F F0 .319
(for information on setting and)2.568 F(unsetting shell options.)108
-703.2 Q(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(45)190.95 E 0 Cg
-EP
+703.2 Q(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(45)195.95 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 10.95/Times-Bold@0 SF(HIST)72 84 Q(OR)-.197 E 2.738(YE)-.383 G
-(XP)-2.738 E(ANSION)-.81 E F0 .61(The shell supports a history e)108 96
-R .611(xpansion feature that is similar to the history e)-.15 F .611
-(xpansion in)-.15 F/F2 10/Times-Bold@0 SF(csh.)3.111 E F0 .611
-(This section)5.611 F .871(describes what syntax features are a)108 108
-R -.25(va)-.2 G 3.371(ilable. This).25 F .871(feature is enabled by def)
-3.371 F .87(ault for interacti)-.1 F 1.17 -.15(ve s)-.25 H .87
-(hells, and).15 F 2.013(can be disabled using the)108 120 R F2(+H)4.514
+(XP)-2.738 E(ANSION)-.81 E F0 .611(The shell supports a history e)108 96
+R .611(xpansion feature that is similar to the history e)-.15 F .61
+(xpansion in)-.15 F/F2 10/Times-Bold@0 SF(csh.)3.11 E F0 .61
+(This section)5.61 F .87(describes what syntax features are a)108 108 R
+-.25(va)-.2 G 3.371(ilable. This).25 F .871(feature is enabled by def)
+3.371 F .871(ault for interacti)-.1 F 1.171 -.15(ve s)-.25 H .871
+(hells, and).15 F 2.014(can be disabled using the)108 120 R F2(+H)4.514
E F0 2.014(option to the)4.514 F F2(set)4.514 E F0 -.2(bu)4.514 G 2.014
-(iltin command \(see).2 F/F3 9/Times-Bold@0 SF 2.014(SHELL B)4.514 F
-(UIL)-.09 E 2.014(TIN COMMANDS)-.828 F F0(belo)108 132 Q 2.5
+(iltin command \(see).2 F/F3 9/Times-Bold@0 SF 2.013(SHELL B)4.513 F
+(UIL)-.09 E 2.013(TIN COMMANDS)-.828 F F0(belo)108 132 Q 2.5
(w\). Non-interacti)-.25 F .3 -.15(ve s)-.25 H
(hells do not perform history e).15 E(xpansion by def)-.15 E(ault.)-.1 E
-1.306(History e)108 148.8 R 1.306(xpansions introduce w)-.15 F 1.306(or\
+1.305(History e)108 148.8 R 1.305(xpansions introduce w)-.15 F 1.306(or\
ds from the history list into the input stream, making it easy to repea\
-t)-.1 F .209(commands, insert the ar)108 160.8 R .209(guments to a pre)
--.18 F .21
+t)-.1 F .21(commands, insert the ar)108 160.8 R .21(guments to a pre)
+-.18 F .209
(vious command into the current input line, or \214x errors in pre)-.25
-F(vious)-.25 E(commands quickly)108 172.8 Q(.)-.65 E 1.164(History e)108
+F(vious)-.25 E(commands quickly)108 172.8 Q(.)-.65 E 1.163(History e)108
189.6 R 1.163(xpansion is performed immediately after a complete line i\
s read, before the shell breaks it into)-.15 F -.1(wo)108 201.6 S 3.2
(rds. It).1 F(tak)3.2 E .7(es place in tw)-.1 F 3.2(op)-.1 G 3.2
(arts. The)-3.2 F .7
(\214rst is to determine which line from the history list to use during)
-3.2 F 4.368(substitution. The)108 213.6 R 1.868(second is to select por\
-tions of that line for inclusion into the current one.)4.368 F 1.867
-(The line)6.867 F .662(selected from the history is the)108 225.6 R/F4
-10/Times-Italic@0 SF -.15(ev)3.162 G(ent).15 E F0 3.162(,a)C .663
-(nd the portions of that line that are acted upon are)-3.162 F F4(wor)
-3.163 E(ds)-.37 E F0 5.663(.V)C(arious)-6.773 E F4(modi\214er)108 237.6
-Q(s)-.1 E F0 .227(are a)2.727 F -.25(va)-.2 G .227
-(ilable to manipulate the selected w).25 F 2.727(ords. The)-.1 F .226
-(line is brok)2.726 F .226(en into w)-.1 F .226(ords in the same f)-.1 F
-(ashion)-.1 E .351(as when reading input, so that se)108 249.6 R -.15
-(ve)-.25 G(ral).15 E F4(metac)2.852 E(har)-.15 E(acter)-.15 E F0 .352
-(-separated w)B .352(ords surrounded by quotes are considered)-.1 F .625
-(one w)108 261.6 R 3.125(ord. History)-.1 F -.15(ex)3.125 G .624
-(pansions are introduced by the appearance of the history e).15 F .624
-(xpansion character)-.15 F 3.124(,w)-.4 G(hich)-3.124 E(is)108 273.6 Q
+3.2 F 4.367(substitution. The)108 213.6 R 1.868(second is to select por\
+tions of that line for inclusion into the current one.)4.367 F 1.868
+(The line)6.868 F .663(selected from the history is the)108 225.6 R/F4
+10/Times-Italic@0 SF -.15(ev)3.163 G(ent).15 E F0 3.163(,a)C .663
+(nd the portions of that line that are acted upon are)-3.163 F F4(wor)
+3.162 E(ds)-.37 E F0 5.662(.V)C(arious)-6.772 E F4(modi\214er)108 237.6
+Q(s)-.1 E F0 .226(are a)2.726 F -.25(va)-.2 G .226
+(ilable to manipulate the selected w).25 F 2.726(ords. The)-.1 F .227
+(line is brok)2.726 F .227(en into w)-.1 F .227(ords in the same f)-.1 F
+(ashion)-.1 E .352(as when reading input, so that se)108 249.6 R -.15
+(ve)-.25 G(ral).15 E F4(metac)2.852 E(har)-.15 E(acter)-.15 E F0 .351
+(-separated w)B .351(ords surrounded by quotes are considered)-.1 F .624
+(one w)108 261.6 R 3.124(ord. History)-.1 F -.15(ex)3.124 G .624
+(pansions are introduced by the appearance of the history e).15 F .625
+(xpansion character)-.15 F 3.125(,w)-.4 G(hich)-3.125 E(is)108 273.6 Q
F2(!)3.333 E F0(by def)3.333 E 2.5(ault. Only)-.1 F(backslash \()2.5 E
F2(\\).833 E F0 2.5(\)a).833 G(nd single quotes can quote the history e)
-2.5 E(xpansion character)-.15 E(.)-.55 E(Se)108 290.4 Q -.15(ve)-.25 G
.03(ral characters inhibit history e).15 F .03
(xpansion if found immediately follo)-.15 F .03(wing the history e)-.25
F .03(xpansion character)-.15 F(,)-.4 E -2.15 -.25(ev e)108 302.4 T
-3.163(ni).25 G 3.163(fi)-3.163 G 3.162(ti)-3.163 G 3.162(su)-3.162 G
+3.162(ni).25 G 3.162(fi)-3.162 G 3.162(ti)-3.162 G 3.162(su)-3.162 G
.662(nquoted: space, tab, ne)-3.162 F .662(wline, carriage return, and)
-.25 F F2(=)3.162 E F0 5.662(.I)C 3.162(ft)-5.662 G(he)-3.162 E F2
-(extglob)3.162 E F0 .662(shell option is enabled,)3.162 F F2(\()3.162 E
+(extglob)3.162 E F0 .662(shell option is enabled,)3.162 F F2(\()3.163 E
F0(will also inhibit e)108 314.4 Q(xpansion.)-.15 E(Se)108 331.2 Q -.15
-(ve)-.25 G .109(ral shell options settable with the).15 F F2(shopt)2.609
-E F0 -.2(bu)2.609 G .11(iltin may be used to tailor the beha).2 F .11
-(vior of history e)-.2 F(xpansion.)-.15 E 1.259(If the)108 343.2 R F2
-(histv)3.759 E(erify)-.1 E F0 1.259
-(shell option is enabled \(see the description of the)3.759 F F2(shopt)
-3.759 E F0 -.2(bu)3.759 G 1.259(iltin\), and).2 F F2 -.18(re)3.758 G
-(adline).18 E F0 1.258(is being)3.758 F 1.497(used, history substitutio\
-ns are not immediately passed to the shell parser)108 355.2 R 6.498(.I)
--.55 G 1.498(nstead, the e)-6.498 F 1.498(xpanded line is)-.15 F 2.228
+(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.258(If the)108 343.2 R F2
+(histv)3.758 E(erify)-.1 E F0 1.259
+(shell option is enabled \(see the description of the)3.758 F F2(shopt)
+3.759 E F0 -.2(bu)3.759 G 1.259(iltin\), and).2 F F2 -.18(re)3.759 G
+(adline).18 E F0 1.259(is being)3.759 F 1.498(used, history substitutio\
+ns are not immediately passed to the shell parser)108 355.2 R 6.497(.I)
+-.55 G 1.497(nstead, the e)-6.497 F 1.497(xpanded line is)-.15 F 2.228
(reloaded into the)108 367.2 R F2 -.18(re)4.728 G(adline).18 E F0 2.228
(editing b)4.728 F(uf)-.2 E 2.228(fer for further modi\214cation.)-.25 F
(If)7.228 E F2 -.18(re)4.728 G(adline).18 E F0 2.228
1.202(shell option is enabled, a f)3.702 F 1.202
(ailed history substitution will be reloaded into the)-.1 F F2 -.18(re)
3.702 G(adline).18 E F0(editing)3.702 E -.2(bu)108 391.2 S -.25(ff).2 G
-1.161(er for correction.).25 F(The)6.161 E F2<ad70>3.661 E F0 1.161
-(option to the)3.661 F F2(history)3.661 E F0 -.2(bu)3.661 G 1.16
+1.16(er for correction.).25 F(The)6.16 E F2<ad70>3.66 E F0 1.16
+(option to the)3.66 F F2(history)3.66 E F0 -.2(bu)3.661 G 1.161
(iltin command may be used to see what a history).2 F -.15(ex)108 403.2
-S .055(pansion will do before using it.).15 F(The)5.055 E F2<ad73>2.555
-E F0 .055(option to the)2.555 F F2(history)2.556 E F0 -.2(bu)2.556 G
-.056(iltin may be used to add commands to the).2 F
+S .056(pansion will do before using it.).15 F(The)5.056 E F2<ad73>2.556
+E F0 .056(option to the)2.556 F F2(history)2.555 E F0 -.2(bu)2.555 G
+.055(iltin may be used to add commands to the).2 F
(end of the history list without actually e)108 415.2 Q -.15(xe)-.15 G
(cuting them, so that the).15 E 2.5(ya)-.15 G(re a)-2.5 E -.25(va)-.2 G
(ilable for subsequent recall.).25 E 2.2(The shell allo)108 432 R 2.2
(ws control of the v)-.25 F 2.2(arious characters used by the history e)
--.25 F 2.2(xpansion mechanism \(see the)-.15 F 1.146(description of)108
-444 R F2(histchars)3.646 E F0(abo)3.646 E 1.446 -.15(ve u)-.15 H(nder)
-.15 E F2 1.146(Shell V)3.646 F(ariables)-.92 E F0 3.646(\). The)B 1.147
+-.25 F 2.2(xpansion mechanism \(see the)-.15 F 1.147(description of)108
+444 R F2(histchars)3.647 E F0(abo)3.647 E 1.447 -.15(ve u)-.15 H(nder)
+.15 E F2 1.147(Shell V)3.647 F(ariables)-.92 E F0 3.646(\). The)B 1.146
(shell uses the history comment character to)3.646 F
(mark history timestamps when writing the history \214le.)108 456 Q F2
(Ev)87 472.8 Q(ent Designators)-.1 E F0(An e)108 484.8 Q -.15(ve)-.25 G
(nt designator is a reference to a command line entry in the history li\
-st.).15 E F2(!)108 501.6 Q F0 1.608(Start a history substitution, e)
-32.67 F 1.608(xcept when follo)-.15 F 1.607(wed by a)-.25 F F2(blank)
-4.107 E F0 4.107(,n)C -.25(ew)-4.107 G 1.607
+st.).15 E F2(!)108 501.6 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 F2(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 513.6 Q F2(extglob)
2.5 E F0(shell option is enabled using the)2.5 E F2(shopt)2.5 E F0 -.2
(bu)2.5 G(iltin\).).2 E F2(!)108 525.6 Q F4(n)A F0
(string)2.5 E F0(.).22 E F2(!?)108 573.6 Q F4(string)A F2([?])A F0 1.022
(Refer to the most recent command containing)144 585.6 R F4(string)3.522
E F0 6.022(.T).22 G 1.022(he trailing)-6.022 F F2(?)3.522 E F0 1.022
-(may be omitted if)3.522 F F4(string)3.862 E F0(is)3.742 E(follo)144
+(may be omitted if)3.522 F F4(string)3.861 E F0(is)3.741 E(follo)144
597.6 Q(wed immediately by a ne)-.25 E(wline.)-.25 E/F5 12/Times-Bold@0
SF(^)108 614.6 Q F4(string1)-5 I F5(^)5 I F4(string2)-5 I F5(^)5 I F0
-2.63(Quick substitution.)144 621.6 R 2.629
+2.629(Quick substitution.)144 621.6 R 2.629
(Repeat the last command, replacing)7.629 F F4(string1)5.469 E F0(with)
5.129 E F4(string2)5.129 E F0 7.629(.E).02 G(qui)-7.629 E -.25(va)-.25 G
-2.629(lent to).25 F -.74(``)144 633.6 S(!!:s/).74 E F4(string1)A F0(/)A
+2.63(lent to).25 F -.74(``)144 633.6 S(!!:s/).74 E F4(string1)A F0(/)A
F4(string2)A F0(/')A 2.5('\()-.74 G(see)-2.5 E F2(Modi\214ers)2.5 E F0
(belo)2.5 E(w\).)-.25 E F2(!#)108 645.6 Q F0
(The entire command line typed so f)27.67 E(ar)-.1 E(.)-.55 E F2 -.75
-(Wo)87 662.4 S(rd Designators).75 E F0 -.8(Wo)108 674.4 S 1.313
+(Wo)87 662.4 S(rd Designators).75 E F0 -.8(Wo)108 674.4 S 1.314
(rd designators are used to select desired w).8 F 1.314(ords from the e)
--.1 F -.15(ve)-.25 G 3.814(nt. A).15 F F2(:)3.814 E F0 1.314
-(separates the e)3.814 F -.15(ve)-.25 G 1.314(nt speci\214cation).15 F
-.53(from the w)108 686.4 R .529(ord designator)-.1 F 5.529(.I)-.55 G
+-.1 F -.15(ve)-.25 G 3.814(nt. A).15 F F2(:)3.814 E F0 1.313
+(separates the e)3.813 F -.15(ve)-.25 G 1.313(nt speci\214cation).15 F
+.529(from the w)108 686.4 R .529(ord designator)-.1 F 5.529(.I)-.55 G
3.029(tm)-5.529 G .529(ay be omitted if the w)-3.029 F .529
(ord designator be)-.1 F .529(gins with a)-.15 F F2(^)3.029 E F0(,)A F2
($)3.029 E F0(,)A F2(*)3.029 E F0(,)A F2<ad>3.029 E F0 3.029(,o)C(r)
--3.029 E F2(%)3.029 E F0 5.529(.W)C(ords)-6.329 E 1.3
-(are numbered from the be)108 698.4 R 1.3
-(ginning of the line, with the \214rst w)-.15 F 1.301
-(ord being denoted by 0 \(zero\).)-.1 F -.8(Wo)6.301 G 1.301(rds are).8
-F(inserted into the current line separated by single spaces.)108 710.4 Q
-(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(46)190.95 E 0 Cg EP
+-3.029 E F2(%)3.029 E F0 5.53(.W)C(ords)-6.33 E 1.301
+(are numbered from the be)108 698.4 R 1.301
+(ginning of the line, with the \214rst w)-.15 F 1.3
+(ord being denoted by 0 \(zero\).)-.1 F -.8(Wo)6.3 G 1.3(rds are).8 F
+(inserted into the current line separated by single spaces.)108 710.4 Q
+(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(46)195.95 E 0 Cg EP
%%Page: 47 47
%%BeginPageSetup
BP
(ord matched by the most recent `?)-.1 E F2(string)A F0(?' search.)A F2
(x)108.77 156 Q F1<ad>A F2(y)A F0 2.5(Ar)20.65 G(ange of w)-2.5 E
(ords; `\255)-.1 E F2(y)A F0 2.5('a)C(bbre)-2.5 E(viates `0\255)-.25 E
-F2(y)A F0('.)A F1(*)108 168 Q F0 .316(All of the w)31 F .316(ords b)-.1
-F .316(ut the zeroth.)-.2 F .315(This is a synon)5.315 F .315(ym for `)
+F2(y)A F0('.)A F1(*)108 168 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.815 E F0 .315(if there is)2.815 F(just one w)144 180 Q
+F1(*)2.816 E F0 .316(if there is)2.816 F(just one w)144 180 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 192 Q F0
(Abbre)26 E(viates)-.25 E F2(x\255$)2.5 E F0(.)A F1<78ad>108 204 Q F0
2.5 E F0 2.5(,b)C(ut omits the last w)-2.7 E(ord.)-.1 E(If a w)108 220.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 237.6 Q F0 .183
-(After the optional w)108 249.6 R .183(ord designator)-.1 F 2.683(,t)-.4
-G .184(here may appear a sequence of one or more of the follo)-2.683 F
-.184(wing modi\214ers,)-.25 F(each preceded by a `:'.)108 261.6 Q F1(h)
+-.15(ve)-.25 G(nt.).15 E F1(Modi\214ers)87 237.6 Q F0 .184
+(After the optional w)108 249.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 261.6 Q F1(h)
108 278.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 290.4 Q F0(Remo)32.67 E .3 -.15(ve a)-.15 H
-.1 E F1(x)108 350.4 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 362.4 Q F2(old)A F1(/)A
-F2(ne)A(w)-.15 E F1(/)A F0(Substitute)144 374.4 Q F2(ne)3.082 E(w)-.15 E
-F0 .221(for the \214rst occurrence of)3.032 F F2(old)2.951 E F0 .221
+F2(ne)A(w)-.15 E F1(/)A F0(Substitute)144 374.4 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 .616(of /.)144
+(yd)-.15 G .221(elimiter can be used in place)-2.721 F .617(of /.)144
386.4 R .617
(The \214nal delimiter is optional if it is the last character of the e)
-5.616 F -.15(ve)-.25 G .617(nt line.).15 F .617(The delimiter may)5.617
+5.617 F -.15(ve)-.25 G .617(nt line.).15 F .616(The delimiter may)5.616
F .666(be quoted in)144 398.4 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 .274(single backslash will quote the &.)144 410.4 R
-(If)5.274 E F2(old)3.004 E F0 .274(is null, it is set to the last)3.544
-F F2(old)3.005 E F0 .275(substituted, or)3.545 F 2.775(,i)-.4 G 2.775
-(fn)-2.775 G 2.775(op)-2.775 G(re)-2.775 E(vi-)-.25 E
+F0 5.666(.A).77 G .275(single backslash will quote the &.)144 410.4 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 422.4 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 434.4 Q F0(Repeat the pre)27.67 E(vious substitution.)-.25 E F1
-(g)108 446.4 Q F0 .398(Cause changes to be applied o)31 F -.15(ve)-.15 G
-2.898(rt).15 G .398(he entire e)-2.898 F -.15(ve)-.25 G .398(nt line.)
-.15 F .397(This is used in conjunction with `)5.398 F F1(:s)A F0 2.897
-('\()C(e.g.,)-2.897 E(`)144 458.4 Q F1(:gs/)A F2(old)A F1(/)A F2(ne)A(w)
--.15 E F1(/)A F0 1.218('\) or `)B F1(:&)A F0 3.718('. If)B 1.218
-(used with `)3.718 F F1(:s)A F0 1.218(', an)B 3.718(yd)-.15 G 1.219
-(elimiter can be used in place of /, and the \214nal)-3.718 F .09
+(g)108 446.4 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 458.4 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 470.4 R
--.15(ve)-.25 G .089(nt line.).15 F(An)5.089 E F1(a)2.589 E F0 .089
-(may be used as a synon)2.589 F .089(ym for)-.15 F F1(g)144 482.4 Q F0
-(.)A F1(G)108 494.4 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 511.2 Q(UIL)-.11 E
-(TIN COMMANDS)-1.007 E F0 .062(Unless otherwise noted, each b)108 523.2
+-.15(ve)-.25 G .09(nt line.).15 F(An)5.09 E F1(a)2.59 E F0 .09
+(may be used as a synon)2.59 F .09(ym for)-.15 F F1(g)144 482.4 Q F0(.)A
+F1(G)108 494.4 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 511.2 Q(UIL)-.11 E
+(TIN COMMANDS)-1.007 E F0 .063(Unless otherwise noted, each b)108 523.2
R .062(uiltin command documented in this section as accepting options p\
-receded by)-.2 F F1<ad>108 535.2 Q F0(accepts)2.534 E F1<adad>2.534 E F0
-.034(to signify the end of the options.)2.534 F(The)5.034 E F1(:)2.534 E
+receded by)-.2 F F1<ad>108 535.2 Q F0(accepts)2.533 E F1<adad>2.533 E F0
+.034(to signify the end of the options.)2.533 F(The)5.034 E F1(:)2.534 E
F0(,)A F1(true)2.534 E F0(,)A F1(false)2.534 E F0 2.534(,a)C(nd)-2.534 E
-F1(test)2.534 E F0 -.2(bu)2.534 G .033(iltins do not accept options and)
-.2 F .077(do not treat)108 547.2 R F1<adad>2.577 E F0(specially)2.577 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 547.2 R F1<adad>2.577 E F0(specially)2.577 E
5.077(.T)-.65 G(he)-5.077 E F1(exit)2.577 E F0(,)A F1(logout)2.577 E F0
(,)A F1(br)2.577 E(eak)-.18 E F0(,)A F1(continue)2.577 E F0(,)A F1(let)
2.577 E F0 2.577(,a)C(nd)-2.577 E F1(shift)2.577 E F0 -.2(bu)2.577 G
-.077(iltins accept and process ar).2 F(gu-)-.18 E .32(ments be)108 559.2
-R .32(ginning with)-.15 F F1<ad>2.82 E F0 .32(without requiring)2.82 F
-F1<adad>2.82 E F0 5.319(.O)C .319(ther b)-5.319 F .319
-(uiltins that accept ar)-.2 F .319(guments b)-.18 F .319
-(ut are not speci\214ed as)-.2 F 1.143(accepting options interpret ar)
-108 571.2 R 1.143(guments be)-.18 F 1.143(ginning with)-.15 F F1<ad>
+.077(iltins accept and process ar).2 F(gu-)-.18 E .319(ments be)108
+559.2 R .319(ginning with)-.15 F F1<ad>2.819 E F0 .319
+(without requiring)2.819 F F1<adad>2.819 E F0 5.319(.O)C .319(ther b)
+-5.319 F .319(uiltins that accept ar)-.2 F .32(guments b)-.18 F .32
+(ut are not speci\214ed as)-.2 F 1.144(accepting options interpret ar)
+108 571.2 R 1.144(guments be)-.18 F 1.144(ginning with)-.15 F F1<ad>
3.643 E F0 1.143(as in)3.643 F -.25(va)-.4 G 1.143
-(lid options and require).25 F F1<adad>3.644 E F0 1.144(to pre)3.644 F
--.15(ve)-.25 G 1.144(nt this).15 F(interpretation.)108 583.2 Q F1(:)108
-601.2 Q F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A .452(No ef)144 613.2 R
-.452(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 .451(and performing an)
-3.221 F 2.951(ys)-.15 G(peci\214ed)-2.951 E 2.5(redirections. A)144
+(lid options and require).25 F F1<adad>3.643 E F0 1.143(to pre)3.643 F
+-.15(ve)-.25 G 1.143(nt this).15 F(interpretation.)108 583.2 Q F1(:)108
+601.2 Q F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A .451(No ef)144 613.2 R
+.451(fect; the command does nothing be)-.25 F .452(yond e)-.15 F
+(xpanding)-.15 E F2(ar)3.282 E(guments)-.37 E F0 .452(and performing an)
+3.222 F 2.952(ys)-.15 G(peci\214ed)-2.952 E 2.5(redirections. A)144
625.2 R(zero e)2.5 E(xit code is returned.)-.15 E F1(.)110.5 642 Q F2
(\214lename)6.666 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A F1(sour)108
654 Q(ce)-.18 E F2(\214lename)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0
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 .833(need not be e)144 702 R -.15(xe)-.15 G 3.333
-(cutable. When).15 F F1(bash)3.333 E F0 .832(is not in)3.333 F F2 .832
-(posix mode)3.332 F F0 3.332(,t)C .832
-(he current directory is searched if no)-3.332 F .981
+3.108 G(TH)-.189 E F0 .832(need not be e)144 702 R -.15(xe)-.15 G 3.332
+(cutable. When).15 F F1(bash)3.332 E F0 .832(is not in)3.332 F F2 .832
+(posix mode)3.332 F F0 3.332(,t)C .833
+(he current directory is searched if no)-3.332 F .982
(\214le is found in)144 714 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 .982(f, the)-.25 F F4 -.666(PA)144 726
-S(TH)-.189 E F0 .112(is not searched.)2.363 F .112(If an)5.112 F(y)-.15
+(iltin command is turned of).2 F .981(f, the)-.25 F F4 -.666(PA)144 726
+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
-(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(47)190.95 E 0 Cg EP
+(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(47)195.95 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-Italic@0 SF(\214lename)144 84 Q F0 .341(is e)2.841 F
--.15(xe)-.15 G 2.841(cuted. Otherwise).15 F .341
-(the positional parameters are unchanged.)2.841 F .342
-(The return status is the)5.342 F .716(status of the last command e)144
+-.35 E/F1 10/Times-Italic@0 SF(\214lename)144 84 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
96 R .716(xited within the script \(0 if no commands are e)-.15 F -.15
-(xe)-.15 G .716(cuted\), and f).15 F .715(alse if)-.1 F F1(\214lename)
+(xe)-.15 G .716(cuted\), and f).15 F .716(alse if)-.1 F F1(\214lename)
145.91 108 Q F0(is not found or cannot be read.)2.68 E/F2 10
/Times-Bold@0 SF(alias)108 124.8 Q F0([)2.5 E F2<ad70>A F0 2.5(][)C F1
(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C(..])-2.5 E F2(Alias)144
-136.8 Q F0 2.724(with no ar)5.224 F 2.724(guments or with the)-.18 F F2
+136.8 Q F0 2.725(with no ar)5.225 F 2.724(guments or with the)-.18 F F2
<ad70>5.224 E F0 2.724(option prints the list of aliases in the form)
-5.224 F F2(alias)5.225 E F1(name)144 148.8 Q F0(=)A F1(value)A F0 .58
+5.224 F F2(alias)5.224 E F1(name)144 148.8 Q F0(=)A F1(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 F1(name)
3.08 E F0(whose)144 160.8 Q F1(value)2.895 E F0 .395(is gi)2.895 F -.15
(ord to be check)-.1 F .395(ed for alias sub-)-.1 F .054
(stitution when the alias is e)144 172.8 R 2.554(xpanded. F)-.15 F .054
(or each)-.15 F F1(name)2.554 E F0 .054(in the ar)2.554 F .054
-(gument list for which no)-.18 F F1(value)2.554 E F0 .053(is sup-)2.553
-F 1.313(plied, the name and v)144 184.8 R 1.314
+(gument list for which no)-.18 F F1(value)2.554 E F0 .054(is sup-)2.554
+F 1.314(plied, the name and v)144 184.8 R 1.314
(alue of the alias is printed.)-.25 F F2(Alias)6.314 E F0 1.314
-(returns true unless a)3.814 F F1(name)3.814 E F0 1.314(is gi)3.814 F
--.15(ve)-.25 G 3.814(nf).15 G(or)-3.814 E
+(returns true unless a)3.814 F F1(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 196.8 Q F2(bg)108 213.6 Q F0([)
-2.5 E F1(jobspec)A F0(...])2.5 E .745(Resume each suspended job)144
-225.6 R F1(jobspec)3.245 E F0 .745
-(in the background, as if it had been started with)3.245 F F2(&)3.244 E
-F0 5.744(.I)C(f)-5.744 E F1(job-)4.984 E(spec)144 237.6 Q F0 .671
-(is not present, the shell')3.481 F 3.171(sn)-.55 G .672(otion of the)
--3.171 F F1(curr)3.172 E .672(ent job)-.37 F F0 .672(is used.)3.172 F F2
-(bg)5.672 E F1(jobspec)4.912 E F0 .672(returns 0 unless run)3.482 F .419
+2.5 E F1(jobspec)A F0(...])2.5 E .744(Resume each suspended job)144
+225.6 R F1(jobspec)3.244 E F0 .745
+(in the background, as if it had been started with)3.244 F F2(&)3.245 E
+F0 5.745(.I)C(f)-5.745 E F1(job-)4.985 E(spec)144 237.6 Q F0 .672
+(is not present, the shell')3.482 F 3.172(sn)-.55 G .672(otion of the)
+-3.172 F F1(curr)3.172 E .672(ent job)-.37 F F0 .672(is used.)3.172 F F2
+(bg)5.671 E F1(jobspec)4.911 E F0 .671(returns 0 unless run)3.481 F .418
(when job control is disabled or)144 249.6 R 2.919(,w)-.4 G .419
-(hen run with job control enabled, an)-2.919 F 2.918(ys)-.15 G
-(peci\214ed)-2.918 E F1(jobspec)2.918 E F0 -.1(wa)2.918 G 2.918(sn).1 G
-(ot)-2.918 E(found or w)144 261.6 Q(as started without job control.)-.1
+(hen run with job control enabled, an)-2.919 F 2.919(ys)-.15 G
+(peci\214ed)-2.919 E F1(jobspec)2.919 E F0 -.1(wa)2.919 G 2.919(sn).1 G
+(ot)-2.919 E(found or w)144 261.6 Q(as started without job control.)-.1
E F2(bind)108 278.4 Q F0([)2.5 E F2<ad6d>A F1 -.1(ke)2.5 G(ymap)-.2 E F0
2.5(][)C F2(\255lpsvPSV)-2.5 E F0(])A F2(bind)108 290.4 Q F0([)2.5 E F2
<ad6d>A F1 -.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C F2<ad71>-2.5 E F1
(shell\255command)A F2(bind)108 326.4 Q F0([)2.5 E F2<ad6d>A F1 -.1(ke)
2.5 G(ymap)-.2 E F0(])A F1 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F1
(function\255name)A F2(bind)108 338.4 Q F1 -.37(re)2.5 G
-(adline\255command).37 E F0 .238(Display current)144 350.4 R F2 -.18(re)
-2.738 G(adline).18 E F0 -.1(ke)2.738 G 2.738(ya)-.05 G .239
-(nd function bindings, bind a k)-2.738 F .539 -.15(ey s)-.1 H .239
-(equence to a).15 F F2 -.18(re)2.739 G(adline).18 E F0 .239(function or)
-2.739 F .476(macro, or set a)144 362.4 R F2 -.18(re)2.976 G(adline).18 E
-F0 -.25(va)2.976 G 2.976(riable. Each).25 F .476(non-option ar)2.976 F
-.475(gument is a command as it w)-.18 F .475(ould appear in)-.1 F F1
-(.inputr)144 374.4 Q(c)-.37 E F0 2.983(,b).31 G .484
-(ut each binding or command must be passed as a separate ar)-3.183 F
-.484(gument; e.g., '"\\C\255x\\C\255r":)-.18 F 2.5
+(adline\255command).37 E F0 .239(Display current)144 350.4 R F2 -.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 F2 -.18(re)2.738 G(adline).18 E F0 .238(function or)
+2.738 F .475(macro, or set a)144 362.4 R F2 -.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 F1
+(.inputr)144 374.4 Q(c)-.37 E F0 2.984(,b).31 G .484
+(ut each binding or command must be passed as a separate ar)-3.184 F
+.483(gument; e.g., '"\\C\255x\\C\255r":)-.18 F 2.5
(re\255read\255init\255\214le'. Options,)144 386.4 R(if supplied, ha)2.5
E .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F2<ad6d>144
-398.4 Q F1 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 410.4 Q F1 -.1(ke)5.159 G
-(ymap)-.2 E F0 2.659(as the k)5.349 F -.15(ey)-.1 G 2.658(map to be af)
-.15 F 2.658(fected by the subsequent bindings.)-.25 F(Acceptable)7.658 E
-F1 -.1(ke)180 422.4 S(ymap)-.2 E F0 3.192(names are)5.882 F F1 3.192
-(emacs, emacs\255standar)5.692 F 3.193
+398.4 Q F1 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 410.4 Q F1 -.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
+F1 -.1(ke)180 422.4 S(ymap)-.2 E F0 3.193(names are)5.883 F F1 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 434.4 Q F0 4.43(,a)C(nd)-4.43 E F1(vi\255insert)4.429
-E F0(.).68 E F1(vi)6.929 E F0 1.929(is equi)4.429 F -.25(va)-.25 G 1.929
-(lent to).25 F F1(vi\255command)4.429 E F0(;)A F1(emacs)4.429 E F0 1.929
-(is equi)4.429 F -.25(va)-.25 G 1.929(lent to).25 F F1(emacs\255standar)
-180 446.4 Q(d)-.37 E F0(.)A F2<ad6c>144 458.4 Q F0
+(vi\255command)180 434.4 Q F0 4.429(,a)C(nd)-4.429 E F1(vi\255insert)
+4.429 E F0(.).68 E F1(vi)6.929 E F0 1.929(is equi)4.429 F -.25(va)-.25 G
+1.929(lent to).25 F F1(vi\255command)4.429 E F0(;)A F1(emacs)4.429 E F0
+1.929(is equi)4.429 F -.25(va)-.25 G 1.93(lent to).25 F F1
+(emacs\255standar)180 446.4 Q(d)-.37 E F0(.)A F2<ad6c>144 458.4 Q F0
(List the names of all)27.52 E F2 -.18(re)2.5 G(adline).18 E F0
(functions.)2.5 E F2<ad70>144 470.4 Q F0(Display)24.74 E F2 -.18(re)2.5
G(adline).18 E F0(function names and bindings in such a w)2.5 E
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 F1 -.1(ke)4.325 G(yseq)-.2 E F0 1.825(is entered.)4.325 F
(When)6.825 E F1(shell\255com-)4.325 E(mand)180 674.4 Q F0 1.113(is e)
-3.613 F -.15(xe)-.15 G 1.113(cuted, the shell sets the).15 F F2
+3.614 F -.15(xe)-.15 G 1.113(cuted, the shell sets the).15 F F2
(READLINE_LINE)3.613 E F0 -.25(va)3.613 G 1.113
(riable to the contents of the).25 F F2 -.18(re)180 686.4 S(adline).18 E
-F0 .587(line b)3.087 F(uf)-.2 E .587(fer and the)-.25 F F2
-(READLINE_POINT)3.087 E F0 -.25(va)3.087 G .586
-(riable to the current location of the).25 F 1.24(insertion point.)180
+F0 .586(line b)3.086 F(uf)-.2 E .586(fer and the)-.25 F F2
+(READLINE_POINT)3.087 E F0 -.25(va)3.087 G .587
+(riable to the current location of the).25 F 1.241(insertion point.)180
698.4 R 1.241(If the e)6.241 F -.15(xe)-.15 G 1.241
(cuted command changes the v).15 F 1.241(alue of)-.25 F F2
-(READLINE_LINE)3.741 E F0(or)3.741 E F2(READLINE_POINT)180 710.4 Q F0
-2.5(,t)C(hose ne)-2.5 E 2.5(wv)-.25 G
+(READLINE_LINE)3.741 E F0(or)3.74 E F2(READLINE_POINT)180 710.4 Q F0 2.5
+(,t)C(hose ne)-2.5 E 2.5(wv)-.25 G
(alues will be re\215ected in the editing state.)-2.75 E(The return v)
144 727.2 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(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(48)190.95 E 0 Cg EP
+E(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(48)195.95 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(br)108 84 Q(eak)-.18 E F0([)2.5 E/F2 10
-/Times-Italic@0 SF(n)A F0(])A .055(Exit from within a)144 96 R F1 -.25
-(fo)2.555 G(r).25 E F0(,)A F1(while)2.555 E F0(,)A F1(until)2.555 E F0
+/Times-Italic@0 SF(n)A F0(])A .054(Exit from within a)144 96 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.414 E F0 .054(must be)2.794 F/F3 10
-/Symbol SF<b3>2.554 E F0(1.)2.554 E(If)144 108 Q F2(n)3.074 E F0 .215(i\
+-.15(ve)-.25 G(ls.).15 E F2(n)5.415 E F0 .055(must be)2.795 F/F3 10
+/Symbol SF<b3>2.555 E F0(1.)2.555 E(If)144 108 Q F2(n)3.075 E F0 .215(i\
s greater than the number of enclosing loops, all enclosing loops are e)
-2.954 F 2.715(xited. The)-.15 F .215(return v)2.715 F(alue)-.25 E
+2.955 F 2.714(xited. The)-.15 F .214(return v)2.714 F(alue)-.25 E
(is 0 unless)144 120 Q F2(n)2.5 E F0(is not greater than or equal to 1.)
2.5 E F1 -.2(bu)108 136.8 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 148.8 Q .793
-(ecute the speci\214ed shell b)-.15 F .793(uiltin, passing it)-.2 F F2
+F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A(Ex)144 148.8 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 .792(xit status.)-.15 F .792(This is useful)5.792 F .615
+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
-160.8 R .616(uiltin, retaining the functionality of)-.2 F .57(the b)144
+160.8 R .615(uiltin, retaining the functionality of)-.2 F .57(the b)144
172.8 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 184.8 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 201.6 Q F0([)2.5 E F2 -.2(ex)C(pr)
-.2 E F0(])A .253(Returns the conte)144 213.6 R .254(xt of an)-.15 F
+.2 E F0(])A .254(Returns the conte)144 213.6 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.754 E F0(or)2.754 E F1(sour)144 225.6 Q
-(ce)-.18 E F0 -.2(bu)3.063 G 3.063(iltins. W).2 F(ithout)-.4 E F2 -.2
+.254(cuted with the).15 F F1(.)2.753 E F0(or)2.753 E F1(sour)144 225.6 Q
+(ce)-.18 E F0 -.2(bu)3.062 G 3.062(iltins. W).2 F(ithout)-.4 E F2 -.2
(ex)3.062 G(pr).2 E F0(,)A F1(caller)3.062 E F0 .562
(displays the line number and source \214lename of the current)3.062 F
-.253(subroutine call.)144 237.6 R .253(If a non-ne)5.253 F -.05(ga)-.15
-G(ti).05 E .553 -.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 .254
-(displays the line number)2.754 F 2.754(,s)-.4 G(ub-)-2.754 E 1.327(rou\
+.254(subroutine call.)144 237.6 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 249.6 R -.15(xe)-.15 G 1.327(cution call stack.).15 F(This e)
-144 261.6 Q(xtra information may be used, for e)-.15 E .001
-(xample, to print a stack trace.)-.15 F .001(The current frame is frame)
-5.001 F 3.02(0. The)144 273.6 R .52(return v)3.02 F .52
-(alue is 0 unless the shell is not e)-.25 F -.15(xe)-.15 G .519
-(cuting a subroutine call or).15 F F2 -.2(ex)3.019 G(pr).2 E F0 .519
-(does not corre-)3.019 F(spond to a v)144 285.6 Q
+ent e)144 249.6 R -.15(xe)-.15 G 1.328(cution call stack.).15 F .001
+(This e)144 261.6 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 273.6 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 285.6 Q
(alid position in the call stack.)-.25 E F1(cd)108 302.4 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 314.4 R F2(dir)2.71 E F0 5.21(.T)C
.21(he v)-5.21 F(ariable)-.25 E/F4 9/Times-Bold@0 SF(HOME)2.71 E F0 .21
(is the def)2.46 F(ault)-.1 E F2(dir)2.71 E F0 5.21(.T).73 G .21(he v)
--5.21 F(ariable)-.25 E F4(CDP)2.71 E -.855(AT)-.666 G(H).855 E F0 .777
+-5.21 F(ariable)-.25 E F4(CDP)2.71 E -.855(AT)-.666 G(H).855 E F0 .776
(de\214nes the search path for the directory containing)144 326.4 R F2
-(dir)3.276 E F0 5.776(.A).73 G(lternati)-5.776 E 1.076 -.15(ve d)-.25 H
-.776(irectory names in).15 F F4(CDP)3.276 E -.855(AT)-.666 G(H).855 E F0
+(dir)3.276 E F0 5.777(.A).73 G(lternati)-5.777 E 1.077 -.15(ve d)-.25 H
+.777(irectory names in).15 F F4(CDP)3.277 E -.855(AT)-.666 G(H).855 E F0
.764(are separated by a colon \(:\).)144 338.4 R 3.264(An)5.764 G .764
(ull directory name in)-3.264 F F4(CDP)3.264 E -.855(AT)-.666 G(H).855 E
-F0 .764(is the same as the current direc-)3.014 F(tory)144 350.4 Q 2.974
-(,i)-.65 G .474(.e., `)-2.974 F(`)-.74 E F1(.)A F0 -.74('')C 5.474(.I)
-.74 G(f)-5.474 E F2(dir)3.324 E F0(be)3.704 E .474
+F0 .764(is the same as the current direc-)3.014 F(tory)144 350.4 Q 2.973
+(,i)-.65 G .473(.e., `)-2.973 F(`)-.74 E F1(.)A F0 -.74('')C 5.473(.I)
+.74 G(f)-5.473 E F2(dir)3.323 E F0(be)3.703 E .474
(gins with a slash \(/\), then)-.15 F F4(CDP)2.974 E -.855(AT)-.666 G(H)
-.855 E F0 .473(is not used. The)2.724 F F1<ad50>2.973 E F0 .473
-(option says to use)2.973 F .579(the ph)144 362.4 R .579
+.855 E F0 .474(is not used. The)2.724 F F1<ad50>2.974 E F0 .474
+(option says to use)2.974 F .58(the ph)144 362.4 R .58
(ysical directory structure instead of follo)-.05 F .579
-(wing symbolic links \(see also the)-.25 F F1<ad50>3.08 E F0 .58
-(option to the)3.08 F F1(set)144 374.4 Q F0 -.2(bu)3.384 G .884
-(iltin command\); the).2 F F1<ad4c>3.384 E F0 .884
+(wing symbolic links \(see also the)-.25 F F1<ad50>3.079 E F0 .579
+(option to the)3.079 F F1(set)144 374.4 Q F0 -.2(bu)3.383 G .883
+(iltin command\); the).2 F F1<ad4c>3.383 E F0 .884
(option forces symbolic links to be follo)3.384 F 3.384(wed. An)-.25 F
-(ar)3.383 E .883(gument of)-.18 F F1<ad>3.383 E F0(is)3.383 E(equi)144
-386.4 Q -.25(va)-.25 G .062(lent to).25 F F4($OLDPWD)2.562 E/F5 9
-/Times-Roman@0 SF(.)A F0 .062(If a non-empty directory name from)4.562 F
-F1(CDP)2.562 E -.95(AT)-.74 G(H).95 E F0 .063(is used, or if)2.562 F F1
-<ad>2.563 E F0 .063(is the \214rst)2.563 F(ar)144 398.4 Q .116(gument, \
+(ar)3.384 E .884(gument of)-.18 F F1<ad>3.384 E F0(is)3.384 E(equi)144
+386.4 Q -.25(va)-.25 G .063(lent to).25 F F4($OLDPWD)2.563 E/F5 9
+/Times-Roman@0 SF(.)A F0 .063(If a non-empty directory name from)4.563 F
+F1(CDP)2.562 E -.95(AT)-.74 G(H).95 E F0 .062(is used, or if)2.562 F F1
+<ad>2.562 E F0 .062(is the \214rst)2.562 F(ar)144 398.4 Q .116(gument, \
and the directory change is successful, the absolute pathname of the ne)
--.18 F 2.615(ww)-.25 G .115(orking direc-)-2.715 F 1.164
+-.18 F 2.616(ww)-.25 G .116(orking direc-)-2.716 F 1.165
(tory is written to the standard output.)144 410.4 R 1.164(The return v)
-6.164 F 1.165(alue is true if the directory w)-.25 F 1.165
+6.164 F 1.164(alue is true if the directory w)-.25 F 1.164
(as successfully)-.1 F(changed; f)144 422.4 Q(alse otherwise.)-.1 E F1
(command)108 439.2 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 451.2 Q F2(command)2.957
+([)2.5 E F2(ar)A(g)-.37 E F0(...])2.5 E(Run)144 451.2 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 .501(commands found in the)144 463.2 R F4
--.666(PA)3.001 G(TH)-.189 E F0 .502(are e)2.751 F -.15(xe)-.15 G 3.002
+(uiltin commands or)-.2 F .502(commands found in the)144 463.2 R F4
+-.666(PA)3.002 G(TH)-.189 E F0 .502(are e)2.752 F -.15(xe)-.15 G 3.002
(cuted. If).15 F(the)3.002 E F1<ad70>3.002 E F0 .502(option is gi)3.002
-F -.15(ve)-.25 G .502(n, the search for).15 F F2(command)3.202 E F0(is)
-3.772 E .232(performed using a def)144 475.2 R .231(ault v)-.1 F .231
+F -.15(ve)-.25 G .501(n, the search for).15 F F2(command)3.201 E F0(is)
+3.771 E .231(performed using a def)144 475.2 R .231(ault v)-.1 F .231
(alue for)-.25 F F1 -.74(PA)2.731 G(TH)-.21 E F0 .231
(that is guaranteed to \214nd all of the standard utilities.)2.731 F(If)
-5.231 E .174(either the)144 487.2 R F1<ad56>2.674 E F0(or)2.674 E F1
-<ad76>2.674 E F0 .175(option is supplied, a description of)2.674 F F2
-(command)2.875 E F0 .175(is printed.)3.445 F(The)5.175 E F1<ad76>2.675 E
-F0 .175(option causes)2.675 F 3.11(as)144 499.2 S .61(ingle w)-3.11 F
+5.232 E .175(either the)144 487.2 R F1<ad56>2.675 E F0(or)2.675 E F1
+<ad76>2.675 E F0 .175(option is supplied, a description of)2.675 F F2
+(command)2.875 E F0 .174(is printed.)3.445 F(The)5.174 E F1<ad76>2.674 E
+F0 .174(option causes)2.674 F 3.11(as)144 499.2 S .61(ingle w)-3.11 F
.61(ord indicating the command or \214le name used to in)-.1 F -.2(vo)
-.4 G -.1(ke).2 G F2(command)3.41 E F0 .61(to be displayed; the)3.88 F
-F1<ad56>144 511.2 Q F0 .249(option produces a more v)2.749 F .249
-(erbose description.)-.15 F .249(If the)5.249 F F1<ad56>2.749 E F0(or)
-2.749 E F1<ad76>2.75 E F0 .25(option is supplied, the e)2.75 F .25
-(xit status)-.15 F 1.005(is 0 if)144 523.2 R F2(command)3.705 E F0 -.1
-(wa)4.275 G 3.505(sf).1 G 1.005(ound, and 1 if not.)-3.505 F 1.004
+F1<ad56>144 511.2 Q F0 .25(option produces a more v)2.75 F .25
+(erbose description.)-.15 F .249(If the)5.25 F F1<ad56>2.749 E F0(or)
+2.749 E F1<ad76>2.749 E F0 .249(option is supplied, the e)2.749 F .249
+(xit status)-.15 F 1.004(is 0 if)144 523.2 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 535.2 Q F0 1.598(cannot be found, the e)4.868 F 1.599
-(xit status is 127.)-.15 F 1.599(Otherwise, the e)6.599 F 1.599
-(xit status of the)-.15 F F1(command)4.099 E F0 -.2(bu)144 547.2 S
+(command)144.2 535.2 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 547.2 S
(iltin is the e).2 E(xit status of)-.15 E F2(command)2.5 E F0(.).77 E F1
(compgen)108 564 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(wor)-2.5 E(d)
--.37 E F0(])A .013(Generate possible completion matches for)144 576 R F2
+-.37 E F0(])A .012(Generate possible completion matches for)144 576 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.512(yo)-.15 G(ption)-2.512 E .981
-(accepted by the)144 588 R F1(complete)3.481 E F0 -.2(bu)3.481 G .981
+F0 .013(s, which may be an)B 2.513(yo)-.15 G(ption)-2.513 E .982
+(accepted by the)144 588 R F1(complete)3.482 E F0 -.2(bu)3.481 G .981
(iltin with the e).2 F .981(xception of)-.15 F F1<ad70>3.481 E F0(and)
-3.481 E F1<ad72>3.481 E F0 3.481(,a)C .982(nd write the matches to the)
+3.481 E F1<ad72>3.481 E F0 3.481(,a)C .981(nd write the matches to the)
-3.481 F 1.415(standard output.)144 600 R 1.415(When using the)6.415 F
F1<ad46>3.915 E F0(or)3.915 E F1<ad43>3.915 E F0 1.415(options, the v)
3.915 F 1.415(arious shell v)-.25 F 1.415(ariables set by the pro-)-.25
(will be displayed.)2.5 E(The return v)144 684 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 700.8 Q F0([)3.033 E F1(\255abcdefgjksuv)A F0 3.033(][)C
-F1<ad6f>-3.033 E F2(comp-option)3.033 E F0 3.033(][)C F1<ad45>-3.033 E
+(complete)108 700.8 Q F0([)3.034 E F1(\255abcdefgjksuv)A F0 3.034(][)C
+F1<ad6f>-3.034 E F2(comp-option)3.034 E F0 3.034(][)C F1<ad45>-3.034 E
F0 3.033(][)C F1<ad41>-3.033 E F2(action)3.033 E F0 3.033(][)C F1<ad47>
--3.033 E F2(globpat)3.033 E F0 3.034(][)C F1<ad57>-3.034 E F2(wor)3.034
-E(dlist)-.37 E F0 3.034(][)C F1<ad46>-3.034 E F2(function)3.034 E F0(])A
+-3.033 E F2(globpat)3.033 E F0 3.033(][)C F1<ad57>-3.033 E F2(wor)3.033
+E(dlist)-.37 E F0 3.033(][)C F1<ad46>-3.033 E F2(function)3.033 E F0(])A
([)108 712.8 Q F1<ad43>A F2(command)2.5 E F0(])A([)144 724.8 Q F1<ad58>A
F2(\214lterpat)2.5 E F0 2.5(][)C F1<ad50>-2.5 E F2(pr)2.5 E(e\214x)-.37
E F0 2.5(][)C F1<ad53>-2.5 E F2(suf)2.5 E<8c78>-.18 E F0(])A F2(name)2.5
-E F0([)2.5 E F2(name ...)A F0(])A(GNU Bash-4.0)72 768 Q(2009 February 7)
-140.96 E(49)190.95 E 0 Cg EP
+E F0([)2.5 E F2(name ...)A F0(])A(GNU Bash-4.0)72 768 Q(2009 March 4)
+145.96 E(49)195.95 E 0 Cg EP
%%Page: 50 50
%%BeginPageSetup
BP
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
-.35 E/F1 10/Times-Bold@0 SF(complete \255pr)108 84 Q F0([)2.5 E F1
<ad45>A F0 2.5(][)C/F2 10/Times-Italic@0 SF(name)-2.5 E F0(...])2.5 E
-.633(Specify ho)144 96 R 3.133(wa)-.25 G -.18(rg)-3.133 G .633
-(uments to each).18 F F2(name)3.133 E F0 .633(should be completed.)3.133
-F .634(If the)5.634 F F1<ad70>3.134 E F0 .634
-(option is supplied, or if no)3.134 F .14(options are supplied, e)144
+.634(Specify ho)144 96 R 3.134(wa)-.25 G -.18(rg)-3.134 G .634
+(uments to each).18 F F2(name)3.134 E F0 .634(should be completed.)3.134
+F .633(If the)5.634 F F1<ad70>3.133 E F0 .633
+(option is supplied, or if no)3.133 F .139(options are supplied, e)144
108 R .139(xisting completion speci\214cations are printed in a w)-.15 F
-.139(ay that allo)-.1 F .139(ws them to be)-.25 F .31(reused as input.)
-144 120 R(The)5.31 E F1<ad72>2.81 E F0 .31(option remo)2.81 F -.15(ve)
--.15 G 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.393
-(are supplied, all completion speci\214cations.)144 132 R(The)6.393 E F1
-<ad45>3.893 E F0 1.392(option indicates that the remaining options)3.892
+.14(ay that allo)-.1 F .14(ws them to be)-.25 F .31(reused as input.)144
+120 R(The)5.31 E F1<ad72>2.81 E F0 .31(option remo)2.81 F -.15(ve)-.15 G
+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.392
+(are supplied, all completion speci\214cations.)144 132 R(The)6.392 E F1
+<ad45>3.892 E F0 1.393(option indicates that the remaining options)3.893
F 1.304(and actions should apply to `)144 144 R(`empty')-.74 E 3.804('c)
-.74 G 1.304(ommand completion; that is, completion attempted on a)
--3.804 F(blank line.)144 156 Q 1.438
+-3.804 F(blank line.)144 156 Q 1.437
(The process of applying these completion speci\214cations when w)144
-180 R 1.437(ord completion is attempted is)-.1 F(described abo)144 192 Q
+180 R 1.438(ord completion is attempted is)-.1 F(described abo)144 192 Q
.3 -.15(ve u)-.15 H(nder).15 E F1(Pr)2.5 E(ogrammable Completion)-.18 E
-F0(.)A .555(Other options, if speci\214ed, ha)144 216 R .855 -.15(ve t)
+F0(.)A .556(Other options, if speci\214ed, ha)144 216 R .856 -.15(ve t)
-.2 H .555(he follo).15 F .555(wing meanings.)-.25 F .555(The ar)5.555 F
-.555(guments to the)-.18 F F1<ad47>3.056 E F0(,)A F1<ad57>3.056 E F0
-3.056(,a)C(nd)-3.056 E F1<ad58>3.056 E F0 .723
-(options \(and, if necessary)144 228 R 3.223(,t)-.65 G(he)-3.223 E F1
-<ad50>3.223 E F0(and)3.223 E F1<ad53>3.223 E F0 .722
-(options\) should be quoted to protect them from e)3.223 F(xpan-)-.15 E
+.555(guments to the)-.18 F F1<ad47>3.055 E F0(,)A F1<ad57>3.055 E F0
+3.055(,a)C(nd)-3.055 E F1<ad58>3.055 E F0 .722
+(options \(and, if necessary)144 228 R 3.222(,t)-.65 G(he)-3.222 E F1
+<ad50>3.222 E F0(and)3.222 E F1<ad53>3.222 E F0 .723
+(options\) should be quoted to protect them from e)3.222 F(xpan-)-.15 E
(sion before the)144 240 Q F1(complete)2.5 E F0 -.2(bu)2.5 G
(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F1<ad6f>144 252 Q F2
-(comp-option)2.5 E F0(The)184 264 Q F2(comp-option)2.79 E F0 .291
+(comp-option)2.5 E F0(The)184 264 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 276 Q F2
(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 288 Q F0
.281(Perform the rest of the def)224 300 R(ault)-.1 E F1(bash)2.781 E F0
.281(completions if the compspec generates no)2.781 F(matches.)224 312 Q
-F1(default)184 324 Q F0 2.875(Use readline')10 F 5.375(sd)-.55 G(ef)
--5.375 E 2.876(ault \214lename completion if the compspec generates no)
+F1(default)184 324 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 336 Q F1(dir)184 348 Q(names)-.15 E F0(Perform direc\
tory name completion if the compspec generates no matches.)224 360 Q F1
(\214lenames)184 372 Q F0 -.7(Te)224 384 S .137(ll readline that the co\
-mpspec generates \214lenames, so it can perform an).7 F 2.636<798c>-.15
-G(le-)-2.636 E .134(name\255speci\214c processing \(lik)224 396 R 2.634
+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 396 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 408 R .45
(Intended to be used with shell)5.45 F(functions.)224 420 Q F1(nospace)
.22(ords completed at the end)-.1 F(of the line.)224 444 Q F1(plusdirs)
184 456 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
-.583(completion is attempted and an)224 468 R 3.084(ym)-.15 G .584
+.584(completion is attempted and an)224 468 R 3.084(ym)-.15 G .584
(atches are added to the results of the other)-3.084 F(actions.)224 480
Q F1<ad41>144 492 Q F2(action)2.5 E F0(The)184 504 Q F2(action)2.5 E F0
(may be one of the follo)2.5 E
E F0(.)A F1(function)184 684 Q F0(Names of shell functions.)224 696 Q F1
(gr)184 708 Q(oup)-.18 E F0(Group names.)14.62 E
(May also be speci\214ed as)5 E F1<ad67>2.5 E F0(.)A(GNU Bash-4.0)72 768
-Q(2009 February 7)140.96 E(50)190.95 E 0 Cg EP
+Q(2009 March 4)145.96 E(50)195.95 E 0 Cg EP
%%Page: 51 51
%%BeginPageSetup
BP
(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 252 S
(riable).1 E F0(Names of all shell v)5.1 E 2.5(ariables. May)-.25 F
(also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A F1<ad47>144 264 Q/F3
-10/Times-Italic@0 SF(globpat)2.5 E F0 1.411(The \214lename e)184 276 R
+10/Times-Italic@0 SF(globpat)2.5 E F0 1.41(The \214lename e)184 276 R
1.411(xpansion pattern)-.15 F F3(globpat)3.911 E F0 1.411(is e)3.911 F
1.411(xpanded to generate the possible comple-)-.15 F(tions.)184 288 Q
-F1<ad57>144 300 Q F3(wor)2.5 E(dlist)-.37 E F0(The)184 312 Q F3(wor)
-3.639 E(dlist)-.37 E F0 1.14(is split using the characters in the)3.639
-F F2(IFS)3.64 E F0 1.14(special v)3.39 F 1.14
-(ariable as delimiters, and)-.25 F 2.008(each resultant w)184 324 R
-2.008(ord is e)-.1 F 4.508(xpanded. The)-.15 F 2.007
-(possible completions are the members of the)4.508 F
-(resultant list which match the w)184 336 Q(ord being completed.)-.1 E
-F1<ad43>144 348 Q F3(command)2.5 E(command)184 360 Q F0 1.055(is e)3.555
-F -.15(xe)-.15 G 1.055(cuted in a subshell en).15 F 1.056
+F1<ad57>144 300 Q F3(wor)2.5 E(dlist)-.37 E F0(The)184 312 Q F3(wor)3.64
+E(dlist)-.37 E F0 1.14(is split using the characters in the)3.64 F F2
+(IFS)3.64 E F0 1.139(special v)3.39 F 1.139(ariable as delimiters, and)
+-.25 F 2.007(each resultant w)184 324 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 336 Q(ord being completed.)
+-.1 E F1<ad43>144 348 Q F3(command)2.5 E(command)184 360 Q F0 1.056
+(is e)3.556 F -.15(xe)-.15 G 1.056(cuted in a subshell en).15 F 1.056
(vironment, and its output is used as the possible)-.4 F(completions.)
-184 372 Q F1<ad46>144 384 Q F3(function)2.5 E F0 1.181
-(The shell function)184 396 R F3(function)3.681 E F0 1.181(is e)3.681 F
--.15(xe)-.15 G 1.181(cuted in the current shell en).15 F 3.68
-(vironment. When)-.4 F 1.18(it \214n-)3.68 F .932
+184 372 Q F1<ad46>144 384 Q F3(function)2.5 E F0 1.18
+(The shell function)184 396 R F3(function)3.68 E F0 1.181(is e)3.681 F
+-.15(xe)-.15 G 1.181(cuted in the current shell en).15 F 3.681
+(vironment. When)-.4 F 1.181(it \214n-)3.681 F .932
(ishes, the possible completions are retrie)184 408 R -.15(ve)-.25 G
3.432(df).15 G .932(rom the v)-3.432 F .932(alue of the)-.25 F F2
-(COMPREPL)3.432 E(Y)-.828 E F0(array)3.182 E -.25(va)184 420 S(riable.)
+(COMPREPL)3.431 E(Y)-.828 E F0(array)3.181 E -.25(va)184 420 S(riable.)
.25 E F1<ad58>144 432 Q F3(\214lterpat)2.5 E(\214lterpat)184 444 Q F0
-.733(is a pattern as used for \214lename e)3.234 F 3.233(xpansion. It)
+.733(is a pattern as used for \214lename e)3.233 F 3.233(xpansion. It)
-.15 F .733(is applied to the list of possible)3.233 F 1.596
(completions generated by the preceding options and ar)184 456 R 1.596
(guments, and each completion)-.18 F(matching)184 468 Q F3(\214lterpat)
-3.205 E F0 .705(is remo)3.205 F -.15(ve)-.15 G 3.205(df).15 G .704
-(rom the list.)-3.205 F 3.204(Al)5.704 G(eading)-3.204 E F1(!)3.204 E F0
-(in)3.204 E F3(\214lterpat)3.204 E F0(ne)3.204 E -.05(ga)-.15 G .704
+3.204 E F0 .704(is remo)3.204 F -.15(ve)-.15 G 3.204(df).15 G .704
+(rom the list.)-3.204 F 3.204(Al)5.704 G(eading)-3.204 E F1(!)3.204 E F0
+(in)3.204 E F3(\214lterpat)3.205 E F0(ne)3.205 E -.05(ga)-.15 G .705
(tes the pattern;).05 F(in this case, an)184 480 Q 2.5(yc)-.15 G
(ompletion not matching)-2.5 E F3(\214lterpat)2.5 E F0(is remo)2.5 E
-.15(ve)-.15 G(d.).15 E F1<ad50>144 492 Q F3(pr)2.5 E(e\214x)-.37 E(pr)
-184 504 Q(e\214x)-.37 E F0 .534(is added at the be)3.034 F .534
+184 504 Q(e\214x)-.37 E F0 .535(is added at the be)3.035 F .534
(ginning of each possible completion after all other options ha)-.15 F
-.15(ve)-.2 G(been applied.)184 516 Q F1<ad53>144 528 Q F3(suf)2.5 E
2.81(\214x suf)-.18 F<8c78>-.18 E F0
(is appended to each possible completion after all other options ha)2.5
-E .3 -.15(ve b)-.2 H(een applied.).15 E .467(The return v)144 544.8 R
-.467(alue is true unless an in)-.25 F -.25(va)-.4 G .466
-(lid option is supplied, an option other than).25 F F1<ad70>2.966 E F0
-(or)2.966 E F1<ad72>2.966 E F0 .466(is sup-)2.966 F 1.361
-(plied without a)144 556.8 R F3(name)3.861 E F0(ar)3.861 E 1.361
-(gument, an attempt is made to remo)-.18 F 1.662 -.15(ve a c)-.15 H
-1.362(ompletion speci\214cation for a).15 F F3(name)144 568.8 Q F0
+E .3 -.15(ve b)-.2 H(een applied.).15 E .466(The return v)144 544.8 R
+.466(alue is true unless an in)-.25 F -.25(va)-.4 G .466
+(lid option is supplied, an option other than).25 F F1<ad70>2.967 E F0
+(or)2.967 E F1<ad72>2.967 E F0 .467(is sup-)2.967 F 1.362
+(plied without a)144 556.8 R F3(name)3.862 E F0(ar)3.862 E 1.361
+(gument, an attempt is made to remo)-.18 F 1.661 -.15(ve a c)-.15 H
+1.361(ompletion speci\214cation for a).15 F F3(name)144 568.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 585.6 Q F0([)2.5 E F1<ad6f>A F3(option)2.5 E F0 2.5(][)C
F1(+o)-2.5 E F3(option)2.5 E F0 2.5(][)C F3(name)-2.5 E F0(])A .447
(Modify completion options for each)144 597.6 R F3(name)2.947 E F0 .447
(according to the)2.947 F F3(option)2.947 E F0 .447
-(s, or for the currently-e)B -.15(xe)-.15 G(cution).15 E .725
-(completion if no)144 609.6 R F3(name)3.225 E F0 3.225(sa)C .725
-(re supplied.)-3.225 F .725(If no)5.725 F F3(option)3.225 E F0 3.225(sa)
-C .725(re gi)-3.225 F -.15(ve)-.25 G .726
+(s, or for the currently-e)B -.15(xe)-.15 G(cution).15 E .726
+(completion if no)144 609.6 R F3(name)3.226 E F0 3.226(sa)C .726
+(re supplied.)-3.226 F .725(If no)5.725 F F3(option)3.225 E F0 3.225(sa)
+C .725(re gi)-3.225 F -.15(ve)-.25 G .725
(n, display the completion options for).15 F(each)144 621.6 Q F3(name)
-3.224 E F0 .724(or the current completion.)3.224 F .724(The possible v)
+3.223 E F0 .723(or the current completion.)3.223 F .724(The possible v)
5.724 F .724(alues of)-.25 F F3(option)3.224 E F0 .724(are those v)3.224
-F .723(alid for the)-.25 F F1(com-)3.223 E(plete)144 633.6 Q F0 -.2(bu)
+F .724(alid for the)-.25 F F1(com-)3.224 E(plete)144 633.6 Q F0 -.2(bu)
2.5 G(iltin described abo).2 E -.15(ve)-.15 G(.).15 E .327(The return v)
108 650.4 R .327(alue is true unless an in)-.25 F -.25(va)-.4 G .327
(lid option is supplied, an attempt is made to modify the options for a)
.25 F F3(name)108 662.4 Q F0(for which no completion speci\214cation e)
2.5 E(xists, or an output error occurs.)-.15 E F1(continue)108 679.2 Q
-F0([)2.5 E F3(n)A F0(])A 1.754(Resume the ne)144 691.2 R 1.754
+F0([)2.5 E F3(n)A F0(])A 1.753(Resume the ne)144 691.2 R 1.753
(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 F3(n)4.613 E F0 1.753
-(is speci\214ed,)4.493 F 1.208(resume at the)144 703.2 R F3(n)3.709 E F0
+(select)4.254 E F0 4.254(loop. If)4.254 F F3(n)4.614 E F0 1.754
+(is speci\214ed,)4.494 F 1.209(resume at the)144 703.2 R F3(n)3.709 E F0
1.209(th enclosing loop.)B F3(n)6.569 E F0 1.209(must be)3.949 F/F4 10
/Symbol SF<b3>3.709 E F0 3.709(1. If)3.709 F F3(n)4.069 E F0 1.209
-(is greater than the number of enclosing)3.949 F .514
+(is greater than the number of enclosing)3.949 F .513
(loops, the last enclosing loop \(the `)144 715.2 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 F3(n)3.013 E F0(is)
-3.013 E(not greater than or equal to 1.)144 727.2 Q(GNU Bash-4.0)72 768
-Q(2009 February 7)140.96 E(51)190.95 E 0 Cg EP
+(ve)-.25 G(l').15 E 3.013('l)-.74 G .513(oop\) is resumed.)-3.013 F .514
+(The return v)5.514 F .514(alue is 0 unless)-.25 F F3(n)3.014 E F0(is)
+3.014 E(not greater than or equal to 1.)144 727.2 Q(GNU Bash-4.0)72 768
+Q(2009 March 4)145.96 E(51)195.95 E 0 Cg EP
%%Page: 52 52
%%BeginPageSetup
BP
/Times-Italic@0 SF(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E
F1(typeset)108 96 Q F0([)2.5 E F1(\255aAfFilrtux)A F0 2.5(][)C F1<ad70>
-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 108 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 120 S 3.483(riables. The).25 F F1<ad70>3.483 E F0 .983
-(option will display the attrib)3.483 F .983(utes and v)-.2 F .982
-(alues of each)-.25 F F2(name)3.482 E F0 5.982(.W).18 G(hen)-5.982 E F1
-<ad70>3.482 E F0 .982(is used)3.482 F(with)144 132 Q F2(name)3.579 E F0
-(ar)3.579 E 1.079(guments, additional options are ignored.)-.18 F(When)
+-2.5 E 1.265(Declare v)144 108 R 1.265(ariables and/or gi)-.25 F 1.565
+-.15(ve t)-.25 H 1.265(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.764
+(nt).15 G 1.264(hen display the v)-3.764 F 1.264(alues of)-.25 F -.25
+(va)144 120 S 3.482(riables. The).25 F F1<ad70>3.482 E F0 .982
+(option will display the attrib)3.482 F .982(utes and v)-.2 F .983
+(alues of each)-.25 F F2(name)3.483 E F0 5.983(.W).18 G(hen)-5.983 E F1
+<ad70>3.483 E F0 .983(is used)3.483 F(with)144 132 Q F2(name)3.58 E F0
+(ar)3.58 E 1.079(guments, additional options are ignored.)-.18 F(When)
6.079 E F1<ad70>3.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 144 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 156 R .046
-(If no other options are supplied with)5.046 F F1<ad70>2.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 168 S 1.363(lues of all shell v).25 F 3.863
-(ariables. The)-.25 F F1<ad66>3.863 E F0 1.362
-(option will restrict the display to shell functions.)3.863 F(The)6.362
-E F1<ad46>3.862 E F0 2.422(option inhibits the display of function de\
-\214nitions; only the function name and attrib)144 180 R 2.423(utes are)
--.2 F 2.664(printed. If)144 192 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
+3.579 E F0(ar)3.579 E(gu-)-.18 E .15(ments, it will display the attrib)
+144 144 R .15(utes and v)-.2 F .151(alues of all v)-.25 F .151
+(ariables ha)-.25 F .151(ving the attrib)-.2 F .151
+(utes speci\214ed by the)-.2 F .047(additional options.)144 156 R .047
+(If no other options are supplied with)5.047 F F1<ad70>2.547 E F0(,)A F1
+(declar)2.547 E(e)-.18 E F0 .046(will display the attrib)2.546 F .046
+(utes and)-.2 F -.25(va)144 168 S 1.362(lues of all shell v).25 F 3.862
+(ariables. The)-.25 F F1<ad66>3.862 E F0 1.363
+(option will restrict the display to shell functions.)3.862 F(The)6.363
+E F1<ad46>3.863 E F0 2.422(option inhibits the display of function de\
+\214nitions; only the function name and attrib)144 180 R 2.422(utes are)
+-.2 F 2.663(printed. If)144 192 R(the)2.663 E F1(extdeb)2.663 E(ug)-.2 E
+F0 .164(shell option is enabled using)2.663 F F1(shopt)2.664 E F0 2.664
+(,t)C .164(he source \214le name and line number)-2.664 F 1.382
(where the function is de\214ned are displayed as well.)144 204 R(The)
6.382 E F1<ad46>3.882 E F0 1.382(option implies)3.882 F F1<ad66>3.882 E
-F0 6.382(.T)C 1.382(he follo)-6.382 F(wing)-.25 E .794
+F0 6.382(.T)C 1.382(he follo)-6.382 F(wing)-.25 E .793
(options can be used to restrict output to v)144 216 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 228 Q(utes:)-.2 E F1
+(ariables with the speci\214ed attrib)-.25 F .794(ute or to gi)-.2 F
+1.094 -.15(ve v)-.25 H(ariables)-.1 E(attrib)144 228 Q(utes:)-.2 E F1
<ad61>144 240 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 F1<ad41>144 252 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 F1<ad66>144 264 Q F0(Use function names only)26.97 E(.)-.65 E F1
-<ad69>144 276 Q F0 .557(The v)27.52 F .558
+<ad69>144 276 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 .558
+(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 288 Q F0
(is performed when the v)2.25 E(ariable is assigned a v)-.25 E(alue.)
--.25 E F1<ad6c>144 300 Q F0 .91(When the v)27.52 F .909
+-.25 E F1<ad6c>144 300 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)
+(-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 312 R(upper)2.5 E(-case attrib)-.2 E
(ute is disabled.)-.2 E F1<ad72>144 324 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
+(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 336 Q F1
-<ad74>144 348 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
+<ad74>144 348 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 360 Q(The trace attrib)5 E(ute has no special meaning for v)-.2 E
-(ariables.)-.25 E F1<ad75>144 372 Q F0 .909(When the v)24.74 F .909
+(ariables.)-.25 E F1<ad75>144 372 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 384 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 384 R(lo)2.5 E(wer)-.25 E(-case attrib)-.2 E
(ute is disabled.)-.2 E F1<ad78>144 396 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 412.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
-1.236(to destro)144 424.8 R 3.736(ya)-.1 G 3.737(na)-3.736 G 1.237
+(vironment.)-.4 E .12(Using `+' instead of `\255' turns of)144 412.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
+1.237(to destro)144 424.8 R 3.737(ya)-.1 G 3.737(na)-3.737 G 1.237
(rray v)-3.737 F 1.237(ariable and)-.25 F F1 1.237(+r will not r)3.737 F
(emo)-.18 E 1.437 -.1(ve t)-.1 H 1.237(he r).1 F 1.237(eadonly attrib)
--.18 F 3.737(ute. When)-.2 F 1.237(used in a)3.737 F .312(function, mak)
-144 436.8 R .312(es each)-.1 F F2(name)2.812 E F1 .311
-(local, as with the local)2.812 F F0 2.811(command. If)2.811 F 2.811(av)
-2.811 G .311(ariable name is follo)-3.061 F .311(wed by)-.25 F(=)144
-448.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
+-.18 F 3.737(ute. When)-.2 F 1.236(used in a)3.737 F .311(function, mak)
+144 436.8 R .311(es each)-.1 F F2(name)2.811 E F1 .311
+(local, as with the local)2.811 F F0 2.811(command. If)2.811 F 2.811(av)
+2.811 G .312(ariable name is follo)-3.061 F .312(wed by)-.25 F(=)144
+448.8 Q F2(value)A F0 3.239(,t)C .739(he v)-3.239 F .739(alue of the v)
+-.25 F .739(ariable is set to)-.25 F F2(value)3.238 E F0 5.738(.T)C .738
+(he return v)-5.738 F .738(alue is 0 unless an in)-.25 F -.25(va)-.4 G
+.738(lid option is).25 F .603
(encountered, an attempt is made to de\214ne a function using)144 460.8
R/F4 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 472.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
+-3.103 G .604(ttempt is made to)-3.103 F 1.243(assign a v)144 472.8 R
+1.243(alue to a readonly v)-.25 F 1.242
+(ariable, an attempt is made to assign a v)-.25 F 1.242
(alue to an array v)-.25 F(ariable)-.25 E 1.386
(without using the compound assignment syntax \(see)144 484.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 496.8 S .171
+F2(names)3.886 E F0 1.386(is not a)3.886 F -.25(va)144 496.8 S .172
(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
+F 2.671(fr)-.25 G .171(eadonly status for a readonly v)-2.671 F .171
(ariable, an)-.25 F .96(attempt is made to turn of)144 508.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 520.8 Q
(xistent function with)-.15 E F1<ad66>2.5 E F0(.)A F1(dirs [+)108 537.6
Q F2(n)A F1 2.5(][)C<ad>-2.5 E F2(n)A F1 2.5(][)C(\255cplv])-2.5 E F0
--.4(Wi)144 549.6 S .328
+-.4(Wi)144 549.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 561.6 R 1.238
(Directories are added to the list with the)6.238 F F1(pushd)144 573.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 585.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 597.6 Q F1<ad>144 609.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
.324(ault listing format uses a tilde to denote the home direc-)-.1 F
(tory)180 657.6 Q(.)-.65 E F1<ad70>144 669.6 Q F0
(Print the directory stack with one entry per line.)24.74 E F1<ad76>144
-681.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 693.6 Q .257(The return v)144 710.4 R .258
+681.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 693.6 Q .258(The return v)144 710.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 722.4 Q(GNU Bash-4.0)72 768 Q(2009 February 7)
-140.96 E(52)190.95 E 0 Cg EP
+.15 F(tory stack.)144 722.4 Q(GNU Bash-4.0)72 768 Q(2009 March 4)145.96
+E(52)195.95 E 0 Cg EP
%%Page: 53 53
%%BeginPageSetup
BP
(jobspec)-2.5 E F0(...])2.5 E -.4(Wi)144 96 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 .243
+(obs. If).15 F F2(jobspec)4.535 E F0 .295(is not present,)3.105 F .244
(and neither)144 108 R F1 .243(\255a nor \255r is supplied, the shell')
-2.743 F 2.743(sn)-.37 G .243(otion of the)-2.743 F F2(curr)2.743 E .243
-(ent job)-.37 F F1 .243(is used.)2.743 F .244(If the \255h option)5.243
-F .334(is gi)144 120 R -.1(ve)-.1 G .334(n, each).1 F F2(jobspec)4.574 E
+2.744 F 2.743(sn)-.37 G .243(otion of the)-2.743 F F2(curr)2.743 E .243
+(ent job)-.37 F F1 .243(is used.)2.743 F .243(If the \255h option)5.243
+F .333(is gi)144 120 R -.1(ve)-.1 G .333(n, each).1 F F2(jobspec)4.574 E
F0 .334(is not remo)3.144 F -.15(ve)-.15 G 2.834(df).15 G .334
(rom the table, b)-2.834 F .334(ut is mark)-.2 F .334(ed so that)-.1 F
-/F3 9/Times-Bold@0 SF(SIGHUP)2.834 E F0 .333(is not sent to)2.584 F
-1.189(the job if the shell recei)144 132 R -.15(ve)-.25 G 3.689(sa).15 G
-F3(SIGHUP)A/F4 9/Times-Roman@0 SF(.)A F0 1.189(If no)5.689 F F2(jobspec)
+/F3 9/Times-Bold@0 SF(SIGHUP)2.834 E F0 .334(is not sent to)2.584 F 1.19
+(the job if the shell recei)144 132 R -.15(ve)-.25 G 3.689(sa).15 G F3
+(SIGHUP)A/F4 9/Times-Roman@0 SF(.)A F0 1.189(If no)5.689 F F2(jobspec)
5.429 E F0 1.189(is present, and neither the)3.999 F F1<ad61>3.689 E F0
-1.19(nor the)3.69 F F1<ad72>3.69 E F0 1.57(option is supplied, the)144
-144 R F2(curr)4.07 E 1.57(ent job)-.37 F F0 1.57(is used.)4.07 F 1.569
-(If no)6.569 F F2(jobspec)5.809 E F0 1.569(is supplied, the)4.379 F F1
-<ad61>4.069 E F0 1.569(option means to)4.069 F(remo)144 156 Q .903 -.15
-(ve o)-.15 H 3.103(rm).15 G .603(ark all jobs; the)-3.103 F F1<ad72>
-3.103 E F0 .603(option without a)3.103 F F2(jobspec)4.843 E F0(ar)3.414
-E .604(gument restricts operation to running)-.18 F 2.5(jobs. The)144
+1.189(nor the)3.689 F F1<ad72>3.689 E F0 1.569(option is supplied, the)
+144 144 R F2(curr)4.069 E 1.569(ent job)-.37 F F0 1.569(is used.)4.069 F
+1.569(If no)6.569 F F2(jobspec)5.809 E F0 1.57(is supplied, the)4.38 F
+F1<ad61>4.07 E F0 1.57(option means to)4.07 F(remo)144 156 Q .904 -.15
+(ve o)-.15 H 3.104(rm).15 G .604(ark all jobs; the)-3.104 F F1<ad72>
+3.103 E F0 .603(option without a)3.103 F F2(jobspec)4.843 E F0(ar)3.413
+E .603(gument restricts operation to running)-.18 F 2.5(jobs. The)144
168 R(return v)2.5 E(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 184.8 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 196.8 R F2(ar)2.895 E(g)-.37 E F0 .395
+.394(Output the)144 196.8 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 F1<ad6e>2.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 F1<ad6e>2.895 E F0 .549
(is speci\214ed, the trailing ne)144 208.8 R .548(wline is suppressed.)
-.25 F .548(If the)5.548 F F1<ad65>3.048 E F0 .548(option is gi)3.048 F
-.15(ve)-.25 G .548(n, interpretation of the fol-).15 F(lo)144 220.8 Q
-.053(wing backslash-escaped characters is enabled.)-.25 F(The)5.053 E F1
-<ad45>2.553 E F0 .052(option disables the interpretation of these)2.552
-F 1.502(escape characters, e)144 232.8 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
+<ad45>2.552 E F0 .053(option disables the interpretation of these)2.553
+F 1.503(escape characters, e)144 232.8 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 244.8 R
-F1(echo)2.509 E F0 -.15(ex)2.509 G .009(pands these escape characters)
-.15 F .659(by def)144 256.8 R(ault.)-.1 E F1(echo)5.659 E F0 .659
-(does not interpret)3.159 F F1<adad>3.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 268.8 Q
+F1(echo)2.509 E F0 -.15(ex)2.51 G .01(pands these escape characters).15
+F .66(by def)144 256.8 R(ault.)-.1 E F1(echo)5.66 E F0 .66
+(does not interpret)3.16 F F1<adad>3.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 268.8 Q
F1(\\a)144 280.8 Q F0(alert \(bell\))28.22 E F1(\\b)144 292.8 Q F0
(backspace)27.66 E F1(\\c)144 304.8 Q F0(suppress further output)28.78 E
F1(\\e)144 316.8 Q F0(an escape character)28.78 E F1(\\f)144 328.8 Q F0
(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 429.6 Q F0([)2.5 E
F1<ad61>A F0 2.5(][)C F1(\255dnps)-2.5 E F0 2.5(][)C F1<ad66>-2.5 E F2
-(\214lename)2.5 E F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E .278
+(\214lename)2.5 E F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E .277
(Enable and disable b)144 441.6 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
+(ws a disk command which has)-.25 F .834(the same name as a shell b)144
453.6 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 465.6
-R .989(uiltins before disk commands.)-.2 F(If)5.989 E F1<ad6e>3.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 477.6 R F2(names)4.082 E F0 1.582(are enabled.)
-4.082 F -.15(Fo)6.582 G 4.082(re).15 G 1.582(xample, to use the)-4.232 F
-F1(test)4.082 E F0 1.582(binary found via the)4.082 F F3 -.666(PA)4.082
-G(TH)-.189 E F0 .081(instead of the shell b)144 489.6 R .081(uiltin v)
--.2 F .081(ersion, run)-.15 F/F5 10/Courier@0 SF .081(enable -n test)
-2.581 F F0 5.081(.T)C(he)-5.081 E F1<ad66>2.58 E F0 .08
-(option means to load the ne)2.58 F(w)-.25 E -.2(bu)144 501.6 S 1.524
-(iltin command).2 F F2(name)4.384 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 513.6 Q F1<ad64>
-2.867 E F0 .367(option will delete a b)2.867 F .367(uiltin pre)-.2 F
-.367(viously loaded with)-.25 F F1<ad66>2.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 525.6 R F1<ad70>
-2.898 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
-537.6 R 2.598(uiltins. If)-.2 F F1<ad6e>2.598 E F0 .098
-(is supplied, only disabled b)2.598 F .098(uiltins are printed.)-.2 F
-(If)5.098 E F1<ad61>2.598 E F0 1.916
-(is supplied, the list printed includes all b)144 549.6 R 1.916
-(uiltins, with an indication of whether or not each is)-.2 F 2.879
-(enabled. If)144 561.6 R F1<ad73>2.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 573.6 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
+(cuted without specifying a full pathname, e).15 F -.15(ve)-.25 G 3.333
+(nt).15 G(hough)-3.333 E .989(the shell normally searches for b)144
+465.6 R .989(uiltins before disk commands.)-.2 F(If)5.989 E F1<ad6e>
+3.489 E F0 .99(is used, each)3.49 F F2(name)3.49 E F0 .99(is dis-)3.49 F
+1.582(abled; otherwise,)144 477.6 R F2(names)4.082 E F0 1.582
+(are enabled.)4.082 F -.15(Fo)6.582 G 4.082(re).15 G 1.582
+(xample, to use the)-4.232 F F1(test)4.082 E F0 1.582
+(binary found via the)4.082 F F3 -.666(PA)4.081 G(TH)-.189 E F0 .08
+(instead of the shell b)144 489.6 R .08(uiltin v)-.2 F .08(ersion, run)
+-.15 F/F5 10/Courier@0 SF .081(enable -n test)2.58 F F0 5.081(.T)C(he)
+-5.081 E F1<ad66>2.581 E F0 .081(option means to load the ne)2.581 F(w)
+-.25 E -.2(bu)144 501.6 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 513.6 Q F1<ad64>2.866 E F0 .366(option will delete a b)2.866 F
+.366(uiltin pre)-.2 F .366(viously loaded with)-.25 F F1<ad66>2.867 E F0
+5.367(.I)C 2.867(fn)-5.367 G(o)-2.867 E F2(name)2.867 E F0(ar)2.867 E
+.367(guments are gi)-.18 F -.15(ve)-.25 G .367(n, or).15 F .399(if the)
+144 525.6 R F1<ad70>2.899 E F0 .399
+(option is supplied, a list of shell b)2.899 F .399(uiltins is printed.)
+-.2 F -.4(Wi)5.399 G .399(th no other option ar).4 F .398(guments, the)
+-.18 F .098(list consists of all enabled shell b)144 537.6 R 2.598
+(uiltins. If)-.2 F F1<ad6e>2.598 E F0 .098(is supplied, only disabled b)
+2.598 F .099(uiltins are printed.)-.2 F(If)5.099 E F1<ad61>2.599 E F0
+1.917(is supplied, the list printed includes all b)144 549.6 R 1.916
+(uiltins, with an indication of whether or not each is)-.2 F 2.878
+(enabled. If)144 561.6 R F1<ad73>2.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 573.6 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
585.6 Q F1 -2.3 -.15(ev a)108 602.4 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37
-E F0(...])2.5 E(The)144 614.4 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 626.4 R -.15(xe)-.15
-G .495(cuted by the shell, and its e).15 F .495
+E F0(...])2.5 E(The)144 614.4 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 626.4 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 638.4 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 655.2 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1<ad61>-2.5 E F2
(name)2.5 E F0 2.5(][)C F2(command)-2.5 E F0([)2.5 E F2(ar)A(guments)
--.37 E F0(]])A(If)144 667.2 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 679.2 R .176
+-.37 E F0(]])A(If)144 667.2 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 679.2 R .177
(guments to)-.18 F F2(command)2.676 E F0 5.176(.I)C 2.676(ft)-5.176 G
(he)-2.676 E F1<ad6c>2.676 E F0 .176
-(option is supplied, the shell places a dash at the be)2.676 F .177
-(ginning of)-.15 F .5(the zeroth ar)144 691.2 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 F1<ad63>2.999 E F0
-.499(option causes)2.999 F F2(com-)3.199 E(mand)144 703.2 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 691.2 R .499(gument passed to)
+-.18 F F2(command)2.999 E F0 5.499(.T).77 G .499(his is what)-5.499 F F2
+(lo)2.999 E(gin)-.1 E F0 .499(\(1\) does.).24 F(The)5.5 E F1<ad63>3 E F0
+.5(option causes)3 F F2(com-)3.2 E(mand)144 703.2 Q F0 .639(to be e)
+3.909 F -.15(xe)-.15 G .638(cuted with an empty en).15 F 3.138
(vironment. If)-.4 F F1<ad61>3.138 E F0 .638
-(is supplied, the shell passes)3.138 F F2(name)3.499 E F0 .639(as the)
-3.319 F 1.078(zeroth ar)144 715.2 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 715.2 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 727.2 Q 2.001 -.15(ve s)-.25 H 1.701(hell e).15
-F 1.701(xits, unless the shell option)-.15 F F1(execfail)4.201 E F0
-1.702(is enabled, in which case it returns)4.201 F(GNU Bash-4.0)72 768 Q
-(2009 February 7)140.96 E(53)190.95 E 0 Cg EP
+.15 F(non-interacti)144 727.2 Q 2.002 -.15(ve s)-.25 H 1.702(hell e).15
+F 1.702(xits, unless the shell option)-.15 F F1(execfail)4.201 E F0
+1.701(is enabled, in which case it returns)4.201 F(GNU Bash-4.0)72 768 Q
+(2009 March 4)145.96 E(53)195.95 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 -.1(fa)144 84 S 2.564(ilure. An).1 F(interacti)2.564 E .364 -.15
-(ve s)-.25 H .064(hell returns f).15 F .064
+-.35 E -.1(fa)144 84 S 2.563(ilure. An).1 F(interacti)2.563 E .363 -.15
+(ve s)-.25 H .063(hell returns f).15 F .064
(ailure if the \214le cannot be e)-.1 F -.15(xe)-.15 G 2.564(cuted. If)
-.15 F/F1 10/Times-Italic@0 SF(command)2.763 E F0 .063(is not speci-)
-3.333 F .741(\214ed, an)144 96 R 3.241(yr)-.15 G .741(edirections tak)
--3.241 F 3.241(ee)-.1 G -.25(ff)-3.241 G .742
-(ect in the current shell, and the return status is 0.).25 F .742
-(If there is a redi-)5.742 F(rection error)144 108 Q 2.5(,t)-.4 G
+.15 F/F1 10/Times-Italic@0 SF(command)2.764 E F0 .064(is not speci-)
+3.334 F .742(\214ed, an)144 96 R 3.242(yr)-.15 G .742(edirections tak)
+-3.242 F 3.242(ee)-.1 G -.25(ff)-3.242 G .742
+(ect in the current shell, and the return status is 0.).25 F .741
+(If there is a redi-)5.741 F(rection error)144 108 Q 2.5(,t)-.4 G
(he return status is 1.)-2.5 E/F2 10/Times-Bold@0 SF(exit)108 124.8 Q F0
-([)2.5 E F1(n)A F0 6.29(]C)C .096(ause the shell to e)-6.29 F .096
-(xit with a status of)-.15 F F1(n)2.596 E F0 5.096(.I)C(f)-5.096 E F1(n)
-2.955 E F0 .095(is omitted, the e)2.835 F .095
+([)2.5 E F1(n)A F0 6.29(]C)C .095(ause the shell to e)-6.29 F .095
+(xit with a status of)-.15 F F1(n)2.595 E F0 5.095(.I)C(f)-5.095 E F1(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 136.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 F2
(export)108 153.6 Q F0([)2.5 E F2(\255fn)A F0 2.5(][).833 G F1(name)-2.5
E F0([=)A F1(wor)A(d)-.37 E F0(]] ...)A F2(export \255p)108 165.6 Q F0
-.256(The supplied)144 177.6 R F1(names)3.117 E F0 .257(are mark)3.027 F
+.257(The supplied)144 177.6 R F1(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 189.6 R(the)2.627 E F2<ad66>2.627 E F0 .127
+(vironment of subsequently e)-.4 F -.15(xe)-.15 G(cuted).15 E 2.626
+(commands. If)144 189.6 R(the)2.626 E F2<ad66>2.626 E F0 .127
(option is gi)2.627 F -.15(ve)-.25 G .127(n, the).15 F F1(names)2.987 E
F0 .127(refer to functions.)2.897 F .127(If no)5.127 F F1(names)2.987 E
-F0 .127(are gi)2.897 F -.15(ve)-.25 G .126(n, or if the).15 F F2<ad70>
-144 201.6 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 F2<ad6e>
-3.16 E F0(option)3.16 E 1.587(causes the e)144 213.6 R 1.587
+F0 .127(are gi)2.897 F -.15(ve)-.25 G .127(n, or if the).15 F F2<ad70>
+144 201.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 F2
+<ad6e>3.159 E F0(option)3.159 E 1.586(causes the e)144 213.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 F1(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 225.6 Q
-F1(wor)A(d)-.37 E F0 2.803(,t)C .303(he v)-2.803 F .303(alue of the v)
+1.587(ariable name is follo)-4.336 F 1.587(wed by)-.25 F(=)144 225.6 Q
+F1(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
-(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
+(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 237.6 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 F2<ad66>2.793 E F0 .293(is supplied with a)2.793 F F1(name)144.36
+F F2<ad66>2.793 E F0 .294(is supplied with a)2.793 F F1(name)144.36
249.6 Q F0(that is not a function.)2.68 E F2(fc)108 266.4 Q F0([)2.5 E
F2<ad65>A 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
278.4 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 .477(Fix Command.)144 290.4 R .478
-(In the \214rst form, a range of commands from)5.477 F F1<8c72>4.888 E
-(st)-.1 E F0(to)3.658 E F1(last)3.068 E F0 .478
-(is selected from the his-)3.658 F .882(tory list.)144 302.4 R F1 -.45
-(Fi)5.882 G -.1(rs).45 G(t).1 E F0(and)4.062 E F1(last)3.472 E F0 .882
+(cmd)-2.5 E F0(])A .478(Fix Command.)144 290.4 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 302.4 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
+.882(ginning with)-.15 F .797(that string\) or as a number \(an inde)144
314.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 .797(umber is used as an)
-.15 F(of)144 326.4 Q .277(fset from the current command number\).)-.25 F
-(If)5.277 E F1(last)2.867 E F0 .276
-(is not speci\214ed it is set to the current command)3.457 F .092
+-.05(ga)-.15 G(ti).05 E 1.097 -.15(ve n)-.25 H .796(umber is used as an)
+.15 F(of)144 326.4 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 338.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 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 .093(is not)3.273 F
+4.502 E(st)-.1 E F0 .092(is not)3.272 F
(speci\214ed it is set to the pre)144 350.4 Q
(vious command for editing and \25516 for listing.)-.25 E(The)144 374.4
Q F2<ad6e>2.522 E F0 .022
(rses the order of).15 F .438(the commands.)144 386.4 R .438(If the)
5.438 F F2<ad6c>2.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438
(n, the commands are listed on standard output.).15 F(Otherwise,)5.438 E
-.335(the editor gi)144 398.4 R -.15(ve)-.25 G 2.835(nb).15 G(y)-2.835 E
-F1(ename)3.025 E F0 .335(is in)3.015 F -.2(vo)-.4 G -.1(ke).2 G 2.835
+.334(the editor gi)144 398.4 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.334 E F1(ename)3.024 E F0 .334(is not gi)3.014 F -.15(ve)-.25 G
-(n,).15 E .63(the v)144 410.4 R .63(alue of the)-.25 F F3(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 422.4 R .951
-(ariable is set,)-.25 F F1(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 434.4 S(cuted.).15 E .039(In the second form,)144 458.4 R
-F1(command)2.539 E F0 .039(is re-e)2.539 F -.15(xe)-.15 G .039
-(cuted after each instance of).15 F F1(pat)2.54 E F0 .04(is replaced by)
-2.54 F F1 -.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 470.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 .406(ginning with)
--.15 F F4(cc)144 482.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
+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 410.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 422.4 R .95
+(ariable is set,)-.25 F F1(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 434.4 S(cuted.).15 E .04(In the second form,)144 458.4 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 470.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 482.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 506.4 R .142
(alue is 0 unless an in)-.25 F -.25(va)-.4 G .142
(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 .455(specify history lines out of range.)144 518.4
+E F1(last)2.732 E F0 .454(specify history lines out of range.)144 518.4
R .454(If the)5.454 F F2<ad65>2.954 E F0 .454
-(option is supplied, the return v)2.954 F .454(alue is the v)-.25 F .454
-(alue of the)-.25 F .787(last command e)144 530.4 R -.15(xe)-.15 G .787
-(cuted or f).15 F .788
+(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 530.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
-542.4 R -.15(xe)-.15 G 1.135(cuted, unless).15 F F1(cmd)3.835 E F0 1.135
-(does not)4.405 F(specify a v)144 554.4 Q
+542.4 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 554.4 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 571.2 Q F0([)2.5 E F1(jobspec)A F0(])A(Resume)
-144 583.2 Q F1(jobspec)5.653 E F0 1.413(in the fore)4.223 F 1.413
+144 583.2 Q F1(jobspec)5.654 E F0 1.413(in the fore)4.224 F 1.413
(ground, and mak)-.15 F 3.913(ei)-.1 G 3.913(tt)-3.913 G 1.413
(he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F1(jobspec)5.653 E F0
-1.414(is not present, the)4.223 F(shell')144 595.2 Q 3.117(sn)-.55 G
-.617(otion of the)-3.117 F F1(curr)3.117 E .617(ent job)-.37 F F0 .617
-(is used.)3.117 F .617(The return v)5.617 F .616
+1.413(is not present, the)4.223 F(shell')144 595.2 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 607.2 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
+.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 619.2 Q
-F0 .004(does not specify a v)2.815 F .004(alid job or)-.25 F F1(jobspec)
+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 F2(getopts)108 636 Q F1
(optstring name)2.5 E F0([)2.5 E F1(ar)A(gs)-.37 E F0(])A F2(getopts)144
648 Q F0 .793
-(is used by shell procedures to parse positional parameters.)3.293 F F1
-(optstring)6.023 E F0 .793(contains the option)3.513 F .15
-(characters to be recognized; if a character is follo)144 660 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 672 Q .578
-(gument, which should be separated from it by white space.)-.18 F .579
+(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 660 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 672 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 684 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 .796
-(option in the shell v)144 696 R(ariable)-.25 E F1(name)3.296 E F0 3.296
-(,i).18 G(nitializing)-3.296 E F1(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 708 Q .085
+4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .797
+(option in the shell v)144 696 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 708 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
+(is initialized to 1 each time the shell)2.335 F .846
(or a shell script is in)144 720 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.346 E F0 .846(places that ar)3.346 F(gument)-.18 E
-(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(54)190.95 E 0 Cg EP
+(getopts)3.345 E F0 .845(places that ar)3.345 F(gument)-.18 E
+(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(54)195.95 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 .804(into the v)144 84 R(ariable)-.25 E/F1 9/Times-Bold@0 SF(OPT)
-3.304 E(ARG)-.81 E/F2 9/Times-Roman@0 SF(.)A F0 .803
-(The shell does not reset)5.304 F F1(OPTIND)3.303 E F0 .803
-(automatically; it must be manually)3.053 F .293
+-.35 E .803(into the v)144 84 R(ariable)-.25 E/F1 9/Times-Bold@0 SF(OPT)
+3.303 E(ARG)-.81 E/F2 9/Times-Roman@0 SF(.)A F0 .803
+(The shell does not reset)5.303 F F1(OPTIND)3.303 E F0 .804
+(automatically; it must be manually)3.054 F .294
(reset between multiple calls to)144 96 R/F3 10/Times-Bold@0 SF(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 108 Q 2.044(When the end of options is encountered,)
+(cation if a ne).2 F 2.793(ws)-.25 G .293(et of parameters)-2.793 F
+(is to be used.)144 108 Q 2.043(When the end of options is encountered,)
144 132 R F3(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
+(its with a return v).15 F 2.044(alue greater than zero.)-.25 F F3
(OPTIND)144 144 Q F0(is set to the inde)2.5 E 2.5(xo)-.15 G 2.5(ft)-2.5
G(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F3(name)2.5 E F0
-(is set to ?.)2.5 E F3(getopts)144 168 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/F4 10/Times-Italic@0 SF(ar)4.893 E(gs)-.37 E F0(,)
+(is set to ?.)2.5 E F3(getopts)144 168 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/F4 10/Times-Italic@0 SF(ar)4.892 E(gs)-.37 E F0(,)
.27 E F3(getopts)144 180 Q F0(parses those instead.)2.5 E F3(getopts)144
-204 Q F0 1.166(can report errors in tw)3.666 F 3.665(ow)-.1 G 3.665
+204 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 F4(optstring)
-3.895 E F0 1.165(is a colon,)3.885 F F4(silent)4.005 E F0(error)4.345 E
-1.263(reporting is used.)144 216 R 1.263
+3.895 E F0 1.166(is a colon,)3.886 F F4(silent)4.006 E F0(error)4.346 E
+1.264(reporting is used.)144 216 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 228
-R .394(guments are encountered.)-.18 F .394(If the v)5.394 F(ariable)
+-.25(va)-.4 G 1.263(lid options or).25 F .393(missing option ar)144 228
+R .393(guments are encountered.)-.18 F .394(If the v)5.394 F(ariable)
-.25 E F1(OPTERR)2.894 E F0 .394(is set to 0, no error messages)2.644 F
(will be displayed, e)144 240 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5
G(he \214rst character of)-2.5 E F4(optstring)2.73 E F0(is not a colon.)
-2.72 E .666(If an in)144 264 R -.25(va)-.4 G .666(lid option is seen,)
-.25 F F3(getopts)3.166 E F0 .667(places ? into)3.167 F F4(name)3.527 E
-F0 .667(and, if not silent, prints an error message)3.347 F .4
-(and unsets)144 276 R F1(OPT)2.9 E(ARG)-.81 E F2(.)A F0(If)4.899 E F3
+2.72 E .667(If an in)144 264 R -.25(va)-.4 G .667(lid option is seen,)
+.25 F F3(getopts)3.167 E F0 .667(places ? into)3.167 F F4(name)3.527 E
+F0 .666(and, if not silent, prints an error message)3.347 F .399
+(and unsets)144 276 R F1(OPT)2.899 E(ARG)-.81 E F2(.)A F0(If)4.899 E F3
(getopts)2.899 E F0 .399
(is silent, the option character found is placed in)2.899 F F1(OPT)2.899
-E(ARG)-.81 E F0 .399(and no)2.649 F(diagnostic message is printed.)144
-288 Q 1.241(If a required ar)144 312 R 1.241(gument is not found, and)
--.18 F F3(getopts)3.741 E F0 1.241(is not silent, a question mark \()
-3.741 F F3(?).833 E F0 3.742(\)i).833 G 3.742(sp)-3.742 G 1.242
-(laced in)-3.742 F F4(name)144 324 Q F0(,).18 E F1(OPT)2.735 E(ARG)-.81
-E F0 .234(is unset, and a diagnostic message is printed.)2.485 F(If)
-5.234 E F3(getopts)2.734 E F0 .234(is silent, then a colon \()2.734 F F3
-(:).833 E F0(\)).833 E(is placed in)144 336 Q F4(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 360 Q F0 .902
+E(ARG)-.81 E F0 .4(and no)2.65 F(diagnostic message is printed.)144 288
+Q 1.242(If a required ar)144 312 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
+F4(name)144 324 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 336 Q F4(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 360 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
+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 372 Q F3(hash)108 388.8
Q F0([)2.5 E F3(\255lr)A F0 2.5(][)C F3<ad70>-2.5 E F4(\214lename)2.5 E
F0 2.5(][)C F3(\255dt)-2.5 E F0 2.5(][)C F4(name)-2.5 E F0(])A -.15(Fo)
-144 400.8 S 3.555(re).15 G(ach)-3.555 E F4(name)3.555 E F0 3.555(,t).18
+144 400.8 S 3.554(re).15 G(ach)-3.554 E F4(name)3.554 E F0 3.554(,t).18
G 1.054(he full \214le name of the command is determined by searching t\
-he directories in)-3.555 F F3($P)144 412.8 Q -.95(AT)-.74 G(H).95 E F0
-.349(and remembered.)2.849 F .349(If the)5.349 F F3<ad70>2.849 E F0 .349
+he directories in)-3.554 F F3($P)144 412.8 Q -.95(AT)-.74 G(H).95 E F0
+.35(and remembered.)2.85 F .35(If the)5.35 F F3<ad70>2.85 E F0 .349
(option is supplied, no path search is performed, and)2.849 F F4
-(\214lename)4.76 E F0 .452
+(\214lename)4.759 E F0 .452
(is used as the full \214le name of the command.)144 424.8 R(The)5.452 E
-F3<ad72>2.952 E F0 .452(option causes the shell to for)2.952 F .452
-(get all remem-)-.18 F .592(bered locations.)144 436.8 R(The)5.592 E F3
-<ad64>3.092 E F0 .593(option causes the shell to for)3.092 F .593
-(get the remembered location of each)-.18 F F4(name)3.093 E F0(.)A .021
-(If the)144 448.8 R F3<ad74>2.521 E F0 .021
-(option is supplied, the full pathname to which each)2.521 F F4(name)
-2.52 E F0 .02(corresponds is printed.)2.52 F .02(If multi-)5.02 F(ple)
-144 460.8 Q F4(name)3.703 E F0(ar)3.703 E 1.203
+F3<ad72>2.952 E F0 .452(option causes the shell to for)2.952 F .453
+(get all remem-)-.18 F .593(bered locations.)144 436.8 R(The)5.593 E F3
+<ad64>3.093 E F0 .593(option causes the shell to for)3.093 F .592
+(get the remembered location of each)-.18 F F4(name)3.092 E F0(.)A .02
+(If the)144 448.8 R F3<ad74>2.52 E F0 .02
+(option is supplied, the full pathname to which each)2.52 F F4(name)
+2.521 E F0 .021(corresponds is printed.)2.521 F .021(If multi-)5.021 F
+(ple)144 460.8 Q F4(name)3.704 E F0(ar)3.704 E 1.204
(guments are supplied with)-.18 F F3<ad74>3.703 E F0 3.703(,t)C(he)
--3.703 E F4(name)3.703 E F0 1.204
+-3.703 E F4(name)3.703 E F0 1.203
(is printed before the hashed full pathname.)3.703 F(The)144 472.8 Q F3
-<ad6c>3.216 E F0 .715(option causes output to be displayed in a format \
-that may be reused as input.)3.216 F .715(If no ar)5.715 F(gu-)-.18 E
-1.183(ments are gi)144 484.8 R -.15(ve)-.25 G 1.183(n, or if only).15 F
-F3<ad6c>3.683 E F0 1.184
+<ad6c>3.215 E F0 .715(option causes output to be displayed in a format \
+that may be reused as input.)3.215 F .716(If no ar)5.716 F(gu-)-.18 E
+1.184(ments are gi)144 484.8 R -.15(ve)-.25 G 1.184(n, or if only).15 F
+F3<ad6c>3.684 E F0 1.183
(is supplied, information about remembered commands is printed.)3.684 F
(The return status is true unless a)144 496.8 Q F4(name)2.86 E F0
(is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.).25
E F3(help)108 513.6 Q F0([)2.5 E F3(\255dms)A F0 2.5(][)C F4(pattern)
--2.5 E F0(])A .867(Display helpful information about b)144 525.6 R .867
-(uiltin commands.)-.2 F(If)5.867 E F4(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
-537.6 R F4(pattern)2.806 E F0 2.807(;o).24 G .307
-(therwise help for all the b)-2.807 F .307
+-2.5 E F0(])A .866(Display helpful information about b)144 525.6 R .867
+(uiltin commands.)-.2 F(If)5.867 E F4(pattern)4.617 E F0 .867
+(is speci\214ed,)3.607 F F3(help)3.367 E F0(gi)3.367 E -.15(ve)-.25 G
+3.367(sd).15 G(etailed)-3.367 E .307(help on all commands matching)144
+537.6 R F4(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 549.6 Q F3
<ad64>144 561.6 Q F0(Display a short description of each)24.74 E F4
(pattern)2.5 E F3<ad6d>144 573.6 Q F0(Display the description of each)
-.37 E F0([)2.5 E F4(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi)144
686.4 S .752
(th no options, display the command history list with line numbers.).4 F
-.752(Lines listed with a)5.752 F F3(*)3.251 E F0(ha)3.251 E -.15(ve)-.2
-G 1.23(been modi\214ed.)144 698.4 R 1.23(An ar)6.23 F 1.23(gument of)
--.18 F F4(n)4.09 E F0 1.231(lists only the last)3.97 F F4(n)4.091 E F0
-3.731(lines. If)3.971 F 1.231(the shell v)3.731 F(ariable)-.25 E F3
-(HISTTIME-)3.731 E(FORMA)144 710.4 Q(T)-.95 E F0 .25
-(is set and not null, it is used as a format string for)2.75 F F4
-(strftime)2.749 E F0 .249(\(3\) to display the time stamp)B 3.117
-(associated with each displayed history entry)144 722.4 R 8.117(.N)-.65
-G 5.618(oi)-8.117 G(nterv)-5.618 E 3.118
+.752(Lines listed with a)5.752 F F3(*)3.252 E F0(ha)3.252 E -.15(ve)-.2
+G 1.231(been modi\214ed.)144 698.4 R 1.231(An ar)6.231 F 1.231
+(gument of)-.18 F F4(n)4.091 E F0 1.231(lists only the last)3.971 F F4
+(n)4.091 E F0 3.73(lines. If)3.97 F 1.23(the shell v)3.73 F(ariable)-.25
+E F3(HISTTIME-)3.73 E(FORMA)144 710.4 Q(T)-.95 E F0 .249
+(is set and not null, it is used as a format string for)2.749 F F4
+(strftime)2.75 E F0 .25(\(3\) to display the time stamp)B 3.118
+(associated with each displayed history entry)144 722.4 R 8.118(.N)-.65
+G 5.617(oi)-8.118 G(nterv)-5.617 E 3.117
(ening blank is printed between the)-.15 F(GNU Bash-4.0)72 768 Q
-(2009 February 7)140.96 E(55)190.95 E 0 Cg EP
+(2009 March 4)145.96 E(55)195.95 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 .084(formatted time stamp and the history line.)144 84 R(If)5.084
-E/F1 10/Times-Italic@0 SF(\214lename)2.584 E F0 .083
-(is supplied, it is used as the name of the his-)2.584 F .096
-(tory \214le; if not, the v)144 96 R .096(alue of)-.25 F/F2 9
-/Times-Bold@0 SF(HISTFILE)2.596 E F0 .097(is used.)2.346 F .097
-(Options, if supplied, ha)5.097 F .397 -.15(ve t)-.2 H .097(he follo).15
-F .097(wing meanings:)-.25 F/F3 10/Times-Bold@0 SF<ad63>144 108 Q F0
+-.35 E .083(formatted time stamp and the history line.)144 84 R(If)5.084
+E/F1 10/Times-Italic@0 SF(\214lename)2.584 E F0 .084
+(is supplied, it is used as the name of the his-)2.584 F .097
+(tory \214le; if not, the v)144 96 R .097(alue of)-.25 F/F2 9
+/Times-Bold@0 SF(HISTFILE)2.597 E F0 .096(is used.)2.347 F .096
+(Options, if supplied, ha)5.096 F .396 -.15(ve t)-.2 H .096(he follo).15
+F .096(wing meanings:)-.25 F/F3 10/Times-Bold@0 SF<ad63>144 108 Q F0
(Clear the history list by deleting all the entries.)25.86 E F3<ad64>144
120 Q F1(of)2.5 E(fset)-.18 E F0(Delete the history entry at position)
-180 132 Q F1(of)2.5 E(fset)-.18 E F0(.)A F3<ad61>144 144 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
+180 132 Q F1(of)2.5 E(fset)-.18 E F0(.)A F3<ad61>144 144 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 156 Q F0
(session\) to the history \214le.)2.5 E F3<ad6e>144 168 Q F0 .854(Read \
the history lines not already read from the history \214le into the cur\
-rent history list.)24.74 F .773
+rent history list.)24.74 F .772
(These are lines appended to the history \214le since the be)180 180 R
-.772(ginning of the current)-.15 F F3(bash)3.272 E F0(ses-)3.272 E
+.773(ginning of the current)-.15 F F3(bash)3.273 E F0(ses-)3.273 E
(sion.)180 192 Q F3<ad72>144 204 Q F0(Read the contents of the history \
\214le and use them as the current history)25.86 E(.)-.65 E F3<ad77>144
216 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 F3<ad70>144 228 Q F0 .625
+-2.5 E F3<ad70>144 228 Q F0 .626
(Perform history substitution on the follo)24.74 F(wing)-.25 E F1(ar)
-3.125 E(gs)-.37 E F0 .626(and display the result on the standard)3.125 F
+3.125 E(gs)-.37 E F0 .625(and display the result on the standard)3.125 F
2.975(output. Does)180 240 R .475
(not store the results in the history list.)2.975 F(Each)5.475 E F1(ar)
2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F
-(normal history e)180 252 Q(xpansion.)-.15 E F3<ad73>144 264 Q F0 .362
-(Store the)26.41 F F1(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
+(normal history e)180 252 Q(xpansion.)-.15 E F3<ad73>144 264 Q F0 .363
+(Store the)26.41 F F1(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 276 Q -.15(ve)
-.15 G 2.5(db).15 G(efore the)-2.5 E F1(ar)2.83 E(gs)-.37 E F0
(are added.)2.77 E .28(If the)144 292.8 R F3(HISTTIMEFORMA)2.78 E(T)-.95
E F0 .28
(is set, the time stamp information associated with each history entry)
-2.78 F .539(is written to the history \214le, mark)144 304.8 R .539
-(ed with the history comment character)-.1 F 5.54(.W)-.55 G .54
-(hen the history \214le is)-5.54 F 1.779(read, lines be)144 316.8 R
-1.779(ginning with the history comment character follo)-.15 F 1.778
+2.78 F .54(is written to the history \214le, mark)144 304.8 R .539
+(ed with the history comment character)-.1 F 5.539(.W)-.55 G .539
+(hen the history \214le is)-5.539 F 1.778(read, lines be)144 316.8 R
+1.778(ginning with the history comment character follo)-.15 F 1.779
(wed immediately by a digit are)-.25 F 1.424
(interpreted as timestamps for the pre)144 328.8 R 1.424
(vious history line.)-.25 F 1.424(The return v)6.424 F 1.424
(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 340.8 R -.25(va)-.4 G(lid).25 E F1(of)2.999 E(fset)-.18 E F0
-(is)2.999 E(supplied as an ar)144 352.8 Q(gument to)-.18 E F3<ad64>2.5 E
-F0 2.5(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E
-(xpansion supplied as an ar)-.15 E(gument to)-.18 E F3<ad70>2.5 E F0 -.1
-(fa)2.5 G(ils.).1 E F3(jobs)108 369.6 Q F0([)2.5 E F3(\255lnprs)A F0 2.5
-(][)C F1(jobspec)A F0(... ])2.5 E F3(jobs \255x)108 381.6 Q F1(command)
-2.5 E F0([)2.5 E F1(ar)2.5 E(gs)-.37 E F0(... ])2.5 E
-(The \214rst form lists the acti)144 393.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 F3<ad6c>144 405.6 Q F0
+, an in)144 340.8 R -.25(va)-.4 G(lid).25 E F1(of)3 E(fset)-.18 E F0(is)
+3 E(supplied as an ar)144 352.8 Q(gument to)-.18 E F3<ad64>2.5 E F0 2.5
+(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E(xpansion supplied as an ar)-.15
+E(gument to)-.18 E F3<ad70>2.5 E F0 -.1(fa)2.5 G(ils.).1 E F3(jobs)108
+369.6 Q F0([)2.5 E F3(\255lnprs)A F0 2.5(][)C F1(jobspec)A F0(... ])2.5
+E F3(jobs \255x)108 381.6 Q F1(command)2.5 E F0([)2.5 E F1(ar)2.5 E(gs)
+-.37 E F0(... ])2.5 E(The \214rst form lists the acti)144 393.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 F3<ad6c>144 405.6 Q F0
(List process IDs in addition to the normal information.)27.52 E F3
<ad70>144 417.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 F3<ad6e>144 429.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
+.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 441.6 Q F3<ad72>144 453.6 Q F0
(Restrict output to running jobs.)25.86 E F3<ad73>144 465.6 Q F0
(Restrict output to stopped jobs.)26.41 E(If)144 482.4 Q F1(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 494.4 Q -.25
+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 494.4 Q -.25
(va)-.4 G(lid option is encountered or an in).25 E -.25(va)-.4 G(lid).25
-E F1(jobspec)4.24 E F0(is supplied.)2.81 E .394(If the)144 511.2 R F3
-<ad78>2.894 E F0 .394(option is supplied,)2.894 F F3(jobs)2.894 E F0
+E F1(jobspec)4.24 E F0(is supplied.)2.81 E .395(If the)144 511.2 R F3
+<ad78>2.895 E F0 .394(option is supplied,)2.894 F F3(jobs)2.894 E F0
.394(replaces an)2.894 F(y)-.15 E F1(jobspec)4.634 E F0 .394(found in)
-3.204 F F1(command)3.094 E F0(or)3.664 E F1(ar)3.224 E(gs)-.37 E F0 .395
+3.204 F F1(command)3.094 E F0(or)3.664 E F1(ar)3.224 E(gs)-.37 E F0 .394
(with the corre-)3.164 F(sponding process group ID, and e)144 523.2 Q
-.15(xe)-.15 G(cutes).15 E F1(command)2.7 E F0(passing it)3.27 E F1(ar)
2.5 E(gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)-.15 E
<ad6e>2.5 E F1(signum)2.5 E F0(|)2.5 E F3<ad>2.5 E F1(sigspec)A F0 2.5
(][)C F1(pid)-2.5 E F0(|)2.5 E F1(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F3
(kill \255l)108 552 Q F0([)2.5 E F1(sigspec)A F0(|)2.5 E F1 -.2(ex)2.5 G
-(it_status).2 E F0(])A .12(Send the signal named by)144 564 R F1
-(sigspec)2.96 E F0(or)2.93 E F1(signum)2.96 E F0 .119
-(to the processes named by)2.939 F F1(pid)3.869 E F0(or)3.389 E F1
-(jobspec)2.619 E F0(.).31 E F1(sigspec)5.459 E F0(is)2.929 E .318
-(either a case-insensiti)144 576 R .618 -.15(ve s)-.25 H .318
-(ignal name such as).15 F F2(SIGKILL)2.818 E F0 .319
-(\(with or without the)2.569 F F2(SIG)2.819 E F0 .319
-(pre\214x\) or a signal)2.569 F(number;)144 588 Q F1(signum)4.189 E F0
-1.349(is a signal number)4.169 F 6.349(.I)-.55 G(f)-6.349 E F1(sigspec)
+(it_status).2 E F0(])A .119(Send the signal named by)144 564 R F1
+(sigspec)2.959 E F0(or)2.929 E F1(signum)2.959 E F0 .119
+(to the processes named by)2.939 F F1(pid)3.87 E F0(or)3.39 E F1
+(jobspec)2.62 E F0(.).31 E F1(sigspec)5.46 E F0(is)2.93 E .319
+(either a case-insensiti)144 576 R .619 -.15(ve s)-.25 H .319
+(ignal name such as).15 F F2(SIGKILL)2.819 E F0 .318
+(\(with or without the)2.569 F F2(SIG)2.818 E F0 .318
+(pre\214x\) or a signal)2.568 F(number;)144 588 Q F1(signum)4.188 E F0
+1.349(is a signal number)4.168 F 6.349(.I)-.55 G(f)-6.349 E F1(sigspec)
4.189 E F0 1.349(is not present, then)4.159 F F2(SIGTERM)3.849 E F0
-1.348(is assumed.)3.599 F(An)6.348 E(ar)144 600 Q .522(gument of)-.18 F
+1.349(is assumed.)3.599 F(An)6.349 E(ar)144 600 Q .523(gument of)-.18 F
F3<ad6c>3.023 E F0 .523(lists the signal names.)3.023 F .523(If an)5.523
F 3.023(ya)-.15 G -.18(rg)-3.023 G .523(uments are supplied when).18 F
F3<ad6c>3.023 E F0 .523(is gi)3.023 F -.15(ve)-.25 G .523(n, the names)
.15 F .28(of the signals corresponding to the ar)144 612 R .28
(guments are listed, and the return status is 0.)-.18 F(The)5.28 E F1
--.2(ex)2.78 G(it_status).2 E F0(ar)144 624 Q .377(gument to)-.18 F F3
-<ad6c>2.877 E F0 .378
-(is a number specifying either a signal number or the e)2.877 F .378
-(xit status of a process termi-)-.15 F .594(nated by a signal.)144 636 R
+-.2(ex)2.78 G(it_status).2 E F0(ar)144 624 Q .378(gument to)-.18 F F3
+<ad6c>2.878 E F0 .378
+(is a number specifying either a signal number or the e)2.878 F .377
+(xit status of a process termi-)-.15 F .593(nated by a signal.)144 636 R
F3(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
+.593(as successfully sent, or f)-.1 F .594(alse if an error)-.1 F
(occurs or an in)144 648 Q -.25(va)-.4 G(lid option is encountered.).25
E F3(let)108 664.8 Q F1(ar)2.5 E(g)-.37 E F0([)2.5 E F1(ar)A(g)-.37 E F0
-(...])2.5 E(Each)144 676.8 Q F1(ar)3.964 E(g)-.37 E F0 1.134
-(is an arithmetic e)3.854 F 1.134(xpression to be e)-.15 F -.25(va)-.25
-G 1.135(luated \(see).25 F F2 1.135(ARITHMETIC EV)3.635 F(ALU)-1.215 E
--.855(AT)-.54 G(ION).855 E/F4 9/Times-Roman@0 SF(\).)A F0 1.135(If the)
-5.635 F(last)144 688.8 Q F1(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G
+(...])2.5 E(Each)144 676.8 Q F1(ar)3.965 E(g)-.37 E F0 1.135
+(is an arithmetic e)3.855 F 1.134(xpression to be e)-.15 F -.25(va)-.25
+G 1.134(luated \(see).25 F F2 1.134(ARITHMETIC EV)3.634 F(ALU)-1.215 E
+-.855(AT)-.54 G(ION).855 E/F4 9/Times-Roman@0 SF(\).)A F0 1.134(If the)
+5.634 F(last)144 688.8 Q F1(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G
(luates to 0,).25 E F3(let)2.5 E F0(returns 1; 0 is returned otherwise.)
2.5 E F3(local)108 705.6 Q F0([)2.5 E F1(option)A F0 2.5(][)C F1(name)
-2.5 E F0([=)A F1(value)A F0 2.5(].)C(..])-2.5 E -.15(Fo)144 717.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 F1(name)2.92 E F0 .06(is created, and assigned)
2.74 F F1(value)2.56 E F0 5.06(.T).18 G(he)-5.06 E F1(option)2.56 E F0
-.06(can be)2.56 F(an)144 729.6 Q 4.513(yo)-.15 G 4.513(ft)-4.513 G 2.013
-(he options accepted by)-4.513 F F3(declar)4.514 E(e)-.18 E F0 7.014(.W)
-C(hen)-7.014 E F3(local)4.514 E F0 2.014
+.06(can be)2.56 F(an)144 729.6 Q 4.514(yo)-.15 G 4.514(ft)-4.514 G 2.014
+(he options accepted by)-4.514 F F3(declar)4.514 E(e)-.18 E F0 7.014(.W)
+C(hen)-7.014 E F3(local)4.514 E F0 2.013
(is used within a function, it causes the)4.514 F(GNU Bash-4.0)72 768 Q
-(2009 February 7)140.96 E(56)190.95 E 0 Cg EP
+(2009 March 4)145.96 E(56)195.95 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 -.25(va)144 84 S(riable).25 E/F1 10/Times-Italic@0 SF(name)3.871
-E F0 1.011(to ha)3.691 F 1.311 -.15(ve a v)-.2 H 1.011
+-.35 E -.25(va)144 84 S(riable).25 E/F1 10/Times-Italic@0 SF(name)3.87 E
+F0 1.01(to ha)3.69 F 1.31 -.15(ve a v)-.2 H 1.011
(isible scope restricted to that function and its children.).15 F -.4
-(Wi)6.01 G 1.01(th no oper).4 F(-)-.2 E(ands,)144 96 Q/F2 10
-/Times-Bold@0 SF(local)3.241 E F0 .741(writes a list of local v)3.241 F
+(Wi)6.011 G 1.011(th no oper).4 F(-)-.2 E(ands,)144 96 Q/F2 10
+/Times-Bold@0 SF(local)3.242 E F0 .741(writes a list of local v)3.241 F
.741(ariables to the standard output.)-.25 F .741(It is an error to use)
-5.741 F F2(local)3.241 E F0(when)3.242 E 1.34(not within a function.)144
+5.741 F F2(local)3.241 E F0(when)3.241 E 1.34(not within a function.)144
108 R 1.34(The return status is 0 unless)6.34 F F2(local)3.84 E F0 1.34
(is used outside a function, an in)3.84 F -.25(va)-.4 G(lid).25 E F1
(name)144.36 120 Q F0(is supplied, or)2.68 E F1(name)2.5 E F0
(arr)-2.5 E(ay)-.15 E F0(])A 1.006
(Read lines from the standard input into array v)144 177.6 R(ariable)
-.25 E F1(arr)3.506 E(ay)-.15 E F0 3.506(,o).32 G 3.506(rf)-3.506 G
-1.006(rom \214le descriptor)-3.506 F F1(fd)3.506 E F0 1.006(if the)3.506
-F F2<ad75>3.506 E F0 1.087(option is supplied.)144 189.6 R 1.087(The v)
-6.087 F(ariable)-.25 E F2(MAPFILE)3.587 E F0 1.086(is the def)3.587 F
-(ault)-.1 E F1(arr)3.586 E(ay)-.15 E F0 6.086(.O)C 1.086
-(ptions, if supplied, ha)-6.086 F 1.386 -.15(ve t)-.2 H(he).15 E(follo)
+1.006(rom \214le descriptor)-3.506 F F1(fd)3.506 E F0 1.005(if the)3.506
+F F2<ad75>3.505 E F0 1.086(option is supplied.)144 189.6 R 1.086(The v)
+6.086 F(ariable)-.25 E F2(MAPFILE)3.586 E F0 1.086(is the def)3.586 F
+(ault)-.1 E F1(arr)3.587 E(ay)-.15 E F0 6.087(.O)C 1.087
+(ptions, if supplied, ha)-6.087 F 1.387 -.15(ve t)-.2 H(he).15 E(follo)
144 201.6 Q(wing meanings:)-.25 E F2<ad6e>144 213.6 Q F0(Cop)24.74 E 2.5
(ya)-.1 G 2.5(tm)-2.5 G(ost)-2.5 E F1(count)2.7 E F0 2.5(lines. If)3.18
F F1(count)2.5 E F0(is 0, all lines are copied.)2.5 E F2<ad4f>144 225.6
2.5 E F0(lines are read.)2.5 E(The)5 E F2<ad63>2.5 E F0
(option speci\214es)2.5 E F1(quantum)2.5 E F0(.).32 E F2<ad63>144 285.6
Q F0(Specify the number of lines read between each call to)25.86 E F1
-(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 302.4 Q F2<ad43>2.967 E F0 .467
+(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 302.4 Q F2<ad43>2.968 E F0 .467
(is speci\214ed without)2.967 F F2<ad63>2.967 E F0 2.967(,t)C .467
(he def)-2.967 F .467(ault quantum is 5000.)-.1 F(When)5.467 E F1
(callbac)2.967 E(k)-.2 E F0 .467(is e)2.967 F -.25(va)-.25 G .467
(ut before the array element is assigned.)-.2 E
(If not supplied with an e)144 343.2 Q(xplicit origin,)-.15 E F2
(map\214le)2.5 E F0(will clear)2.5 E F1(arr)2.5 E(ay)-.15 E F0
-(before assigning to it.)2.5 E F2(map\214le)144 360 Q F0 .995
-(returns successfully unless an in)3.495 F -.25(va)-.4 G .996
-(lid option or option ar).25 F .996(gument is supplied, or)-.18 F F1
-(arr)3.496 E(ay)-.15 E F0(is)3.496 E(in)144 372 Q -.25(va)-.4 G
+(before assigning to it.)2.5 E F2(map\214le)144 360 Q F0 .996
+(returns successfully unless an in)3.496 F -.25(va)-.4 G .996
+(lid option or option ar).25 F .995(gument is supplied, or)-.18 F F1
+(arr)3.495 E(ay)-.15 E F0(is)3.495 E(in)144 372 Q -.25(va)-.4 G
(lid or unassignable.).25 E F2(popd)108 388.8 Q F0<5bad>2.5 E F2(n)A F0
2.5(][)C(+)-2.5 E F1(n)A F0 2.5(][)C<ad>-2.5 E F1(n)A F0(])A(Remo)144
-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 F2(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 424.8 Q F2<ad6e>144 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
+400.8 Q -.15(ve)-.15 G 2.799(se).15 G .299
+(ntries from the directory stack.)-2.799 F -.4(Wi)5.299 G .299(th no ar)
+.4 F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15 G .3
+(he top directory from the)-2.799 F 1.479(stack, and performs a)144
+412.8 R F2(cd)3.979 E F0 1.479(to the ne)3.979 F 3.979(wt)-.25 G 1.479
+(op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.478
+(uments, if supplied, ha).18 F 1.778 -.15(ve t)-.2 H 1.478(he follo).15
+F(wing)-.25 E(meanings:)144 424.8 Q F2<ad6e>144 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 448.8 Q F2(+)144 460.8 Q F1(n)A
F0(Remo)25.3 E -.15(ve)-.15 G 2.64(st).15 G(he)-2.64 E F1(n)2.64 E F0
.14(th entry counting from the left of the list sho)B .14(wn by)-.25 F
472.8 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 F2<ad>144 484.8 Q F1(n)A F0
-(Remo)25.3 E -.15(ve)-.15 G 3.76(st).15 G(he)-3.76 E F1(n)3.76 E F0
-1.259(th entry counting from the right of the list sho)B 1.259(wn by)
--.25 F F2(dirs)3.759 E F0 3.759(,s)C 1.259(tarting with)-3.759 F 2.5
-(zero. F)180 496.8 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
-513.6 R F2(popd)3.143 E F0 .643(command is successful, a)3.143 F F2
-(dirs)3.143 E F0 .644(is performed as well, and the return status is 0.)
-3.143 F F2(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
+(Remo)25.3 E -.15(ve)-.15 G 3.759(st).15 G(he)-3.759 E F1(n)3.759 E F0
+1.259(th entry counting from the right of the list sho)B 1.26(wn by)-.25
+F F2(dirs)3.76 E F0 3.76(,s)C 1.26(tarting with)-3.76 F 2.5(zero. F)180
+496.8 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 .644(If the)144 513.6 R F2(popd)
+3.144 E F0 .644(command is successful, a)3.144 F F2(dirs)3.143 E F0 .643
+(is performed as well, and the return status is 0.)3.143 F F2(popd)5.643
+E F0 .415(returns f)144 525.6 R .415(alse if an in)-.1 F -.25(va)-.4 G
+.415(lid option is encountered, the directory stack is empty).25 F 2.916
+(,an)-.65 G(on-e)-2.916 E .416(xistent direc-)-.15 F
(tory stack entry is speci\214ed, or the directory change f)144 537.6 Q
(ails.)-.1 E F2(printf)108 554.4 Q F0([)2.5 E F2<ad76>A F1(var)2.5 E F0
(])A F1(format)2.5 E F0([)2.5 E F1(ar)A(guments)-.37 E F0(])A .372
(to the standard output under the control of the)2.872 F F1(format)2.872
E F0 5.372(.T)C(he)-5.372 E F1(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 578.4 R .158
+e simply)144 578.4 R .159
(copied to standard output, character escape sequences, which are con)
-144 590.4 R -.15(ve)-.4 G .159(rted and copied to the stan-).15 F .499(\
+144 590.4 R -.15(ve)-.4 G .158(rted and copied to the stan-).15 F .499(\
dard output, and format speci\214cations, each of which causes printing\
- of the ne)144 602.4 R .499(xt successi)-.15 F -.15(ve)-.25 G F1(ar)
-3.149 E(gu-)-.37 E(ment)144 614.4 Q F0 5.423(.I)C 2.923(na)-5.423 G .423
-(ddition to the standard)-2.923 F F1(printf)2.923 E F0 .424
-(\(1\) formats,)B F2(%b)2.924 E F0(causes)2.924 E F2(printf)2.924 E F0
-.424(to e)2.924 F .424(xpand backslash escape)-.15 F .977
+ of the ne)144 602.4 R .5(xt successi)-.15 F -.15(ve)-.25 G F1(ar)3.15 E
+(gu-)-.37 E(ment)144 614.4 Q F0 5.424(.I)C 2.924(na)-5.424 G .424
+(ddition to the standard)-2.924 F F1(printf)2.924 E F0 .424
+(\(1\) formats,)B F2(%b)2.924 E F0(causes)2.923 E F2(printf)2.923 E F0
+.423(to e)2.923 F .423(xpand backslash escape)-.15 F .976
(sequences in the corresponding)144 626.4 R F1(ar)3.476 E(gument)-.37 E
F0(\(e)3.476 E .976(xcept that)-.15 F F2(\\c)3.476 E F0 .976
-(terminates output, backslashes in)3.476 F F2<5c08>3.476 E F0(,)A F2
-(\\")3.476 E F0(,)A(and)144 638.4 Q F2(\\?)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 F2(\\0)3.422 E F0 .922
+(terminates output, backslashes in)3.476 F F2<5c08>3.477 E F0(,)A F2
+(\\")3.477 E F0(,)A(and)144 638.4 Q F2(\\?)3.422 E F0 .922(are not remo)
+3.422 F -.15(ve)-.15 G .922(d, and octal escapes be).15 F .922
+(ginning with)-.15 F F2(\\0)3.422 E F0 .921
(may contain up to four digits\), and)3.422 F F2(%q)144 650.4 Q F0
-(causes)3.631 E F2(printf)3.631 E F0 1.131(to output the corresponding)
-3.631 F F1(ar)3.631 E(gument)-.37 E F0 1.13
+(causes)3.63 E F2(printf)3.63 E F0 1.13(to output the corresponding)3.63
+F F1(ar)3.631 E(gument)-.37 E F0 1.131
(in a format that can be reused as shell)3.631 F(input.)144 662.4 Q(The)
-144 686.4 Q F2<ad76>2.903 E F0 .404
-(option causes the output to be assigned to the v)2.903 F(ariable)-.25 E
+144 686.4 Q F2<ad76>2.904 E F0 .404
+(option causes the output to be assigned to the v)2.904 F(ariable)-.25 E
F1(var)2.904 E F0 .404(rather than being printed to the)2.904 F
-(standard output.)144 698.4 Q(The)144 722.4 Q F1(format)3.424 E F0 .923
-(is reused as necessary to consume all of the)3.424 F F1(ar)3.423 E
+(standard output.)144 698.4 Q(The)144 722.4 Q F1(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 .923(requires more)3.423 F(GNU Bash-4.0)72 768 Q
-(2009 February 7)140.96 E(57)190.95 E 0 Cg EP
+3.423 E F0 .924(requires more)3.424 F(GNU Bash-4.0)72 768 Q
+(2009 March 4)145.96 E(57)195.95 E 0 Cg EP
%%Page: 58 58
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
-.35 E/F1 10/Times-Italic@0 SF(ar)144 84 Q(guments)-.37 E F0 .033
-(than are supplied, the e)2.533 F .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 .034(alue or null string,)
+.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 96 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 112.8 Q F0([)2.5 E F2<ad6e>A F0 2.5(][)C(+)
-2.5 E F1(n)A F0 2.5(][)C<ad>-2.5 E F1(n)A F0(])A F2(pushd)108 124.8 Q
-F0([)2.5 E F2<ad6e>A F0 2.5(][)C F1(dir)-2.5 E F0(])A .64(Adds a direct\
-ory to the top of the directory stack, or rotates the stack, making the\
- ne)144 136.8 R 3.139(wt)-.25 G .639(op of the)-3.139 F 1.315
-(stack the current w)144 148.8 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 160.8 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
+F0([)2.5 E F2<ad6e>A F0 2.5(][)C F1(dir)-2.5 E F0(])A .639(Adds a direc\
+tory to the top of the directory stack, or rotates the stack, making th\
+e ne)144 136.8 R 3.14(wt)-.25 G .64(op of the)-3.14 F 1.316
+(stack the current w)144 148.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 160.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
172.8 Q F2<ad6e>144 184.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 196.8 Q F2(+)144 208.8 Q F1(n)A F0
-1.268(Rotates the stack so that the)25.3 F F1(n)3.768 E F0 1.267
-(th directory \(counting from the left of the list sho)B 1.267(wn by)
+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 220.8 Q F0 2.5(,s)C
(tarting with zero\) is at the top.)-2.5 E F2<ad>144 232.8 Q F1(n)A F0
.92(Rotates the stack so that the)25.3 F F1(n)3.42 E F0 .92
F F2(dirs)180 244.8 Q F0 2.5(,s)C(tarting with zero\) is at the top.)
-2.5 E F1(dir)144.35 256.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 273.6
-R F2(pushd)2.989 E F0 .489(command is successful, a)2.989 F F2(dirs)
-2.988 E F0 .488(is performed as well.)2.988 F .488
-(If the \214rst form is used,)5.488 F F2(pushd)2.988 E F0 1.039
-(returns 0 unless the cd to)144 285.6 R F1(dir)3.889 E F0 -.1(fa)4.269 G
-3.539(ils. W).1 F 1.039(ith the second form,)-.4 F F2(pushd)3.54 E F0
-1.04(returns 0 unless the directory)3.54 F .847(stack is empty)144 297.6
-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
-309.6 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E(ails.)-.1 E F2(pwd)108
-326.4 Q F0([)2.5 E F2(\255LP)A F0(])A .844
+G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .488(If the)144 273.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 285.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
+297.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 309.6 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E
+(ails.)-.1 E F2(pwd)108 326.4 Q F0([)2.5 E F2(\255LP)A F0(])A .845
(Print the absolute pathname of the current w)144 338.4 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
+(orking directory)-.1 F 5.844(.T)-.65 G .844
+(he pathname printed contains no)-5.844 F .181(symbolic links if the)144
350.4 R F2<ad50>2.681 E F0 .181(option is supplied or the)2.681 F F2
.181(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F2
-(set)2.681 E F0 -.2(bu)2.681 G .181(iltin command is).2 F 3.263
-(enabled. If)144 362.4 R(the)3.263 E F2<ad4c>3.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\
+(set)2.681 E F0 -.2(bu)2.681 G .182(iltin command is).2 F 3.264
+(enabled. If)144 362.4 R(the)3.264 E F2<ad4c>3.264 E F0 .763
+(option is used, the pathname printed may contain symbolic links.)3.264
+F .763(The return)5.763 F 1.36(status is 0 unless an error occurs while\
reading the name of the current directory or an in)144 374.4 R -.25(va)
-.4 G(lid).25 E(option is supplied.)144 386.4 Q F2 -.18(re)108 403.2 S
(ad).18 E F0([)2.5 E F2(\255ers)A F0 2.5(][)C F2<ad61>-2.5 E F1(aname)
F2<ad74>-2.5 E F1(timeout)2.5 E F0 2.5(][)C F2<ad75>-2.5 E F1(fd)2.5 E
F0 2.5(][)C F1(name)-2.5 E F0(...])2.5 E .516(One line is read from the\
standard input, or from the \214le descriptor)144 415.2 R F1(fd)3.016 E
-F0 .516(supplied as an ar)3.016 F .517(gument to)-.18 F(the)144 427.2 Q
-F2<ad75>2.539 E F0 .039(option, and the \214rst w)2.539 F .038
-(ord is assigned to the \214rst)-.1 F F1(name)2.538 E F0 2.538(,t).18 G
-.038(he second w)-2.538 F .038(ord to the second)-.1 F F1(name)2.538 E
+F0 .516(supplied as an ar)3.016 F .516(gument to)-.18 F(the)144 427.2 Q
+F2<ad75>2.538 E F0 .038(option, and the \214rst w)2.538 F .038
+(ord is assigned to the \214rst)-.1 F F1(name)2.539 E F0 2.539(,t).18 G
+.039(he second w)-2.539 F .039(ord to the second)-.1 F F1(name)2.539 E
F0(,).18 E .42(and so on, with lefto)144 439.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 F1(name)2.92 E F0 5.42(.I)
-.18 G 2.92(ft)-5.42 G(here)-2.92 E .541(are fe)144 451.2 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 463.2 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 451.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 463.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 F2(\\)A F0 2.511(\)m)C(ay)-2.511 E 1.891
-(be used to remo)144 475.2 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 475.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 487.2 Q .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F2<ad61>144 499.2 Q F1(aname)2.5 E F0 1.049
-(The w)180 511.2 R 1.049
+(wing meanings:)-.25 E F2<ad61>144 499.2 Q F1(aname)2.5 E F0 1.05(The w)
+180 511.2 R 1.049
(ords are assigned to sequential indices of the array v)-.1 F(ariable)
--.25 E F1(aname)3.55 E F0 3.55(,s).18 G 1.05(tarting at 0.)-3.55 F F1
-(aname)180.33 523.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 F2<ad64>144 535.2 Q F1(delim)2.5 E F0
-(The \214rst character of)180 547.2 Q F1(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 523.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 F2<ad64>144 535.2 Q F1(delim)2.5 E
+F0(The \214rst character of)180 547.2 Q F1(delim)2.5 E F0
(is used to terminate the input line, rather than ne)2.5 E(wline.)-.25 E
-F2<ad65>144 559.2 Q F0 .373
+F2<ad65>144 559.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.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
+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 571.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 583.2 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings.)-2.5 E
-F2<ad69>144 595.2 Q F1(te)2.5 E(xt)-.2 E F0(If)10.78 E F2 -.18(re)2.716
-G(adline).18 E F0 .216(is being used to read the line,)2.716 F F1(te)
+F2<ad69>144 595.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 607.2 Q(gins.)-.15 E F2<ad6e>144
+.216(fer before edit-)-.25 F(ing be)180 607.2 Q(gins.)-.15 E F2<ad6e>144
619.2 Q F1(nc)2.5 E(har)-.15 E(s)-.1 E F2 -.18(re)180 631.2 S(ad).18 E
-F0 1.394(returns after reading)3.894 F F1(nc)3.894 E(har)-.15 E(s)-.1 E
-F0 1.395(characters rather than w)3.894 F 1.395
+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.)180 643.2 Q F2<ad70>144
-655.2 Q F1(pr)2.5 E(ompt)-.45 E F0(Display)180 667.2 Q F1(pr)3.661 E
-(ompt)-.45 E F0 1.161(on standard error)3.661 F 3.661(,w)-.4 G 1.161
+655.2 Q F1(pr)2.5 E(ompt)-.45 E F0(Display)180 667.2 Q F1(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 679.2 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 F2
-<ad72>144 691.2 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)
+<ad72>144 691.2 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 703.2 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 F2<ad73>144 715.2 Q F0(Silent mode.)26.41 E
(If input is coming from a terminal, characters are not echoed.)5 E
-(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(58)190.95 E 0 Cg EP
+(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(58)195.95 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<ad74>144 84 Q/F2 10/Times-Italic@0 SF
-(timeout)2.5 E F0(Cause)180 96 Q F1 -.18(re)3.549 G(ad).18 E F0 1.048
-(to time out and return f)3.549 F 1.048
+(timeout)2.5 E F0(Cause)180 96 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 108 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)
+180 108 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 120 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
+(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 132 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 144 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
+(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 144 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 156 Q
(xit status is greater than 128 if the timeout is e)-.15 E(xceeded.)-.15
E F1<ad75>144 168 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 184.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 196.8 R F1 -.18(re)3.844 G(ad)
+14.46 E F2(fd)2.5 E F0(.)A .192(If no)144 184.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 196.8 R F1 -.18(re)3.843 G(ad)
.18 E F0 1.343
-(times out \(in which case the return code is greater than)3.844 F
+(times out \(in which case the return code is greater than)3.843 F
(128\), or an in)144 208.8 Q -.25(va)-.4 G
(lid \214le descriptor is supplied as the ar).25 E(gument to)-.18 E F1
<ad75>2.5 E F0(.)A F1 -.18(re)108 225.6 S(adonly).18 E F0([)2.5 E F1
F0 2.5(].)C(..])-2.5 E .77(The gi)144 237.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 249.6 R
-1.097(If the)6.097 F F1<ad66>3.597 E F0 1.097
-(option is supplied, the functions corresponding to the)3.597 F F2
-(names)3.596 E F0 1.096(are so)3.596 F(mark)144 261.6 Q 3.334(ed. The)
+(may not be changed by subse-)3.54 F 1.096(quent assignment.)144 249.6 R
+1.096(If the)6.096 F F1<ad66>3.596 E F0 1.097
+(option is supplied, the functions corresponding to the)3.596 F F2
+(names)3.597 E F0 1.097(are so)3.597 F(mark)144 261.6 Q 3.334(ed. The)
-.1 F F1<ad61>3.334 E F0 .834(option restricts the v)3.334 F .834
(ariables to inde)-.25 F -.15(xe)-.15 G 3.334(da).15 G .834(rrays; the)
-3.334 F F1<ad41>3.334 E F0 .834(option restricts the v)3.334 F(ari-)
--.25 E .538(ables to associati)144 273.6 R .838 -.15(ve a)-.25 H 3.038
+-.25 E .537(ables to associati)144 273.6 R .837 -.15(ve a)-.25 H 3.037
(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<ad70>
-3.038 E F0 .537(option is supplied, a list)3.038 F .08
-(of all readonly names is printed.)144 285.6 R(The)5.08 E F1<ad70>2.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 297.6 R 1.177(If a v)6.177 F 1.176
+3.038 E F0 .538(option is supplied, a list)3.038 F .081
+(of all readonly names is printed.)144 285.6 R(The)5.081 E F1<ad70>2.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 297.6 R 1.176(If a v)6.176 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.176(alue of the v)-.25 F 1.176
-(ariable is set to)-.25 F F2(wor)144 309.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 321.6 S(lid shell v).25 E
+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 309.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 321.6 S(lid shell v).25 E
(ariable name, or)-.25 E F1<ad66>2.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 338.4 S
-(tur).18 E(n)-.15 E F0([)2.5 E F2(n)A F0(])A .587
+(tur).18 E(n)-.15 E F0([)2.5 E F2(n)A F0(])A .586
(Causes a function to e)144 350.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
+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 362.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 374.4 S .794(cution of a script by the).15 F F1(.)3.294 E F0(\()
5.794 E F1(sour)A(ce)-.18 E F0 3.294(\)c)C .794
-(ommand, it causes the shell to stop e)-3.294 F -.15(xe)-.15 G .794
-(cuting that script).15 F .245(and return either)144 386.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 398.4 R .082
+(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 386.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 398.4 R .082
(If used outside a function and not during e)5.082 F -.15(xe)-.15 G .082
-(cution of a script by).15 F F1(.)2.582 E F0 2.581(,t).833 G .081
-(he return sta-)-2.581 F 2.305(tus is f)144 410.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)
+(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 410.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)
.15 F -.15(xe)-.15 G(cution).15 E(resumes after the function or script.)
144 422.4 Q F1(set)108 439.2 Q F0([)2.5 E F1
(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1<ad6f>-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 451.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 463.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
+.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 475.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 487.2 R F2 .447(posix mode)
-2.947 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447
+R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .783
+(riables cannot be).25 F 2.946(reset. In)144 487.2 R F2 .447(posix mode)
+2.946 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447
(ariables are listed.)-.25 F .447
-(The output is sorted according to the current)5.447 F 3.53
-(locale. When)144 499.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 511.2 R 1.623
+(The output is sorted according to the current)5.447 F 3.531
+(locale. When)144 499.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 511.2 R 1.624
(alues for the positional parameters and are assigned, in)-.25 F(order)
144 523.2 Q 2.5(,t)-.4 G(o)-2.5 E F1($1)2.5 E F0(,)A F1($2)2.5 E F0(,)A
F1 2.5(... $)2.5 F F2(n)A F0 5(.O)C(ptions, if speci\214ed, ha)-5 E .3
-.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad61>144 535.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 547.2 Q(vironment of subsequent commands.)
--.4 E F1<ad62>144 559.2 Q F0 .132
+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 547.2 Q
+(vironment of subsequent commands.)-.4 E F1<ad62>144 559.2 Q F0 .131
(Report the status of terminated background jobs immediately)28.74 F
-2.632(,r)-.65 G .131(ather than before the ne)-2.632 F(xt)-.15 E
+2.632(,r)-.65 G .132(ather than before the ne)-2.632 F(xt)-.15 E
(primary prompt.)184 571.2 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)
--.25 H(nly when job control is enabled.).15 E F1<ad65>144 583.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 595.2 Q F0 .872
-(command enclosed in parentheses, or one of the commands e)3.373 F -.15
+-.25 H(nly when job control is enabled.).15 E F1<ad65>144 583.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 595.2 Q F0 .872
+(command enclosed in parentheses, or one of the commands e)3.372 F -.15
(xe)-.15 G .872(cuted as part of a).15 F .399
(command list enclosed by braces \(see)184 607.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.969(status. The)184 619.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 631.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
-643.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.968(status. The)184 619.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 631.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 643.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 SF<efef>3.044 E F0 .544(list e)3.044 F .544
-(xcept the command)-.15 F(follo)184 655.2 Q 1.23(wing the \214nal)-.25 F
-F1(&&)3.73 E F0(or)3.73 E F5<efef>3.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 667.2 Q 3.191(sr)-.55 G
-.691(eturn v)-3.191 F .691(alue is being in)-.25 F -.15(ve)-.4 G .691
+(xcept the command)-.15 F(follo)184 655.2 Q 1.231(wing the \214nal)-.25
+F F1(&&)3.731 E F0(or)3.731 E F5<efef>3.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 667.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.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 679.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 .659
+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 679.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 .658
(ment separately \(see)184 691.2 R F1 .659(COMMAND EXECUTION ENVIR)3.159
-F(ONMENT)-.3 E F0(abo)3.159 E -.15(ve)-.15 G .658(\), and may).15 F
+F(ONMENT)-.3 E F0(abo)3.159 E -.15(ve)-.15 G .659(\), and may).15 F
(cause subshells to e)184 703.2 Q(xit before e)-.15 E -.15(xe)-.15 G
(cuting all the commands in the subshell.).15 E F1<ad66>144 715.2 Q F0
(Disable pathname e)30.97 E(xpansion.)-.15 E(GNU Bash-4.0)72 768 Q
-(2009 February 7)140.96 E(59)190.95 E 0 Cg EP
+(2009 March 4)145.96 E(59)195.95 E 0 Cg EP
%%Page: 60 60
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF<ad68>144 84 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 96 Q(ault.)-.1 E F1
-<ad6b>144 108 Q F0 .514(All ar)28.74 F .514
+-.35 E/F1 10/Times-Bold@0 SF<ad68>144 84 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 96 Q(ault.)-.1 E F1
+<ad6b>144 108 Q F0 .513(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
+F .514(vironment for a)-.4 F
(command, not just those that precede the command name.)184 120 Q F1
-<ad6d>144 132 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
+<ad6d>144 132 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 144 R/F2 9/Times-Bold@0 SF .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 156 R .642
+(\). Background).15 F .637(processes run in a)3.136 F .642
+(separate process group and a line containing their e)184 156 R .641
(xit status is printed upon their com-)-.15 F(pletion.)184 168 Q F1
-<ad6e>144 180 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
+<ad6e>144 180 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
192 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15 E
F1<ad6f>144 204 Q/F3 10/Times-Italic@0 SF(option\255name)2.5 E F0(The)
184 216 Q F3(option\255name)2.5 E F0(can be one of the follo)2.5 E
184 324 Q F0(Same as)224 336 Q F1<ad54>2.5 E F0(.)A F1(err)184 348 Q
(exit)-.18 E F0(Same as)11.31 E F1<ad65>2.5 E F0(.)A F1(hashall)184 360
Q F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1(histexpand)184 372 Q F0
-(Same as)224 384 Q F1<ad48>2.5 E F0(.)A F1(history)184 396 Q F0 .586
+(Same as)224 384 Q F1<ad48>2.5 E F0(.)A F1(history)184 396 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(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 408 Q(ault in interacti)-.1 E .3 -.15(ve s)-.25 H
-(hells.).15 E F1(ignor)184 420 Q(eeof)-.18 E F0 1.657(The ef)224 432 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)
+(hells.).15 E F1(ignor)184 420 Q(eeof)-.18 E F0 1.656(The ef)224 432 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 444 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 456 S(yw).1 E(ord)-.1 E F0(Same as)
224 468 Q F1<ad6b>2.5 E F0(.)A F1(monitor)184 480 Q F0(Same as)5.56 E F1
(Same as)15 E F1<ad62>2.5 E F0(.)A F1(nounset)184 564 Q F0(Same as)6.66
E F1<ad75>2.5 E F0(.)A F1(onecmd)184 576 Q F0(Same as)6.67 E F1<ad74>2.5
E F0(.)A F1(ph)184 588 Q(ysical)-.15 E F0(Same as)5.14 E F1<ad50>2.5 E
-F0(.)A F1(pipefail)184 600 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 612 R
+F0(.)A F1(pipefail)184 600 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 612 R
1.136
(xit with a non-zero status, or zero if all commands in the pipeline)
-.15 F -.15(ex)224 624 S(it successfully).15 E 5(.T)-.65 G
(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 636 Q F0
-2.09(Change the beha)17.77 F 2.091(vior of)-.2 F F1(bash)4.591 E F0
+2.091(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 648 Q
F3(posix mode)A F0(\).)A F1(pri)184 660 Q(vileged)-.1 E F0(Same as)224
672 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 684 S(rbose).1 E F0(Same as)
-7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 696 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 708 Q
+7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 696 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 708 Q
(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A(GNU Bash-4.0)
-72 768 Q(2009 February 7)140.96 E(60)190.95 E 0 Cg EP
+72 768 Q(2009 March 4)145.96 E(60)195.95 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(xtrace)184 84 Q F0(Same as)13.35 E F1<ad78>
-2.5 E F0(.)A(If)184 102 Q F1<ad6f>3.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 114 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
+2.5 E F0(.)A(If)184 102 Q F1<ad6f>3.053 E F0 .553(is supplied with no)
+3.053 F/F2 10/Times-Italic@0 SF(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 114 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 126 Q F1<ad70>
-144 138 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
+144 138 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 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 150 R 1.5
-(vironment, and the)-.4 F F3(SHELLOPTS)4 E/F4 9/Times-Roman@0 SF(,)A F1
-(CDP)184 162 Q -.95(AT)-.74 G(H).95 E F0 5.603(,a)C(nd)-5.603 E F1
+-.27 E F0 1.071(\214les are not pro-)3.322 F 1.5
+(cessed, shell functions are not inherited from the en)184 150 R 1.501
+(vironment, and the)-.4 F F3(SHELLOPTS)4.001 E/F4 9/Times-Roman@0 SF(,)A
+F1(CDP)184 162 Q -.95(AT)-.74 G(H).95 E F0 5.603(,a)C(nd)-5.603 E F1
(GLOBIGNORE)5.603 E F0 -.25(va)5.603 G 3.103(riables, if the).25 F 5.603
(ya)-.15 G 3.103(ppear in the en)-5.603 F 3.103(vironment, are)-.4 F
-2.618(ignored. If)184 174 R .118(the shell is started with the ef)2.618
-F(fecti)-.25 E .418 -.15(ve u)-.25 H .117
+2.617(ignored. If)184 174 R .117(the shell is started with the ef)2.617
+F(fecti)-.25 E .418 -.15(ve u)-.25 H .118
(ser \(group\) id not equal to the real user).15 F 1.018
(\(group\) id, and the)184 186 R F1<ad70>3.518 E F0 1.018
(option is not supplied, these actions are tak)3.518 F 1.018
-(en and the ef)-.1 F(fecti)-.25 E -.15(ve)-.25 G .287
+(en and the ef)-.1 F(fecti)-.25 E -.15(ve)-.25 G .286
(user id is set to the real user id.)184 198 R .286(If the)5.286 F F1
-<ad70>2.786 E F0 .286(option is supplied at startup, the ef)2.786 F
-(fecti)-.25 E .586 -.15(ve u)-.25 H(ser).15 E .102(id is not reset.)184
-210 R -.45(Tu)5.102 G .102(rning this option of).45 F 2.602(fc)-.25 G
-.102(auses the ef)-2.602 F(fecti)-.25 E .402 -.15(ve u)-.25 H .103
+<ad70>2.786 E F0 .287(option is supplied at startup, the ef)2.786 F
+(fecti)-.25 E .587 -.15(ve u)-.25 H(ser).15 E .103(id is not reset.)184
+210 R -.45(Tu)5.103 G .102(rning this option of).45 F 2.602(fc)-.25 G
+.102(auses the ef)-2.602 F(fecti)-.25 E .402 -.15(ve u)-.25 H .102
(ser and group ids to be set to).15 F(the real user and group ids.)184
222 Q F1<ad74>144 234 Q F0(Exit after reading and e)30.97 E -.15(xe)-.15
-G(cuting one command.).15 E F1<ad75>144 246 Q F0 -.35(Tr)28.74 G .445
+G(cuting one command.).15 E F1<ad75>144 246 Q F0 -.35(Tr)28.74 G .444
(eat unset v).35 F .444
(ariables as an error when performing parameter e)-.25 F 2.944
-(xpansion. If)-.15 F -.15(ex)2.944 G .444(pansion is).15 F .519
+(xpansion. If)-.15 F -.15(ex)2.945 G .445(pansion is).15 F .52
(attempted on an unset v)184 258 R .519
(ariable, the shell prints an error message, and, if not interacti)-.25
F -.15(ve)-.25 G(,).15 E -.15(ex)184 270 S(its with a non-zero status.)
-.15 G(re read.)-2.5 E F1<ad78>144 294 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.235(or arithmetic)184 306 R F1
+F1(select)2.815 E F0(command,)2.815 E 1.236(or arithmetic)184 306 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 318 Q
(xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E F1
-<ad42>144 330 Q F0 2.579(The shell performs brace e)27.63 F 2.578
+<ad42>144 330 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 342 Q
-(ault.)-.1 E F1<ad43>144 354 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 342 Q
+(ault.)-.1 E F1<ad43>144 354 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 366 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 366 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 378 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
-<ad45>144 390 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 402 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 414 Q F1
-<ad48>144 426 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 438 Q -.15
-(ve)-.25 G(.).15 E F1<ad50>144 450 Q F0 1.165
+<ad45>144 390 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 402 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 414 Q F1
+<ad48>144 426 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 438 Q -.15
+(ve)-.25 G(.).15 E F1<ad50>144 450 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
+(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 462 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 474 R(def)2.686
+(.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 474 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 486 Q(.)-.65 E F1<ad54>144
(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 522 Q F0
(traps are normally not inherited in such cases.)2.5 E F1<adad>144 534 Q
-F0 .4(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401
+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 546 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 546 Q F2
+(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5(ni).15 G 2.5(fs)-2.5 G
(ome of them be)-2.5 E(gin with a)-.15 E F1<ad>2.5 E F0(.)A F1<ad>144
-558 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 570 R
-F1<ad78>3.445 E F0(and)3.445 E F1<ad76>3.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
+558 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 570 R
+F1<ad78>3.446 E F0(and)3.446 E F1<ad76>3.446 E F0 .945
+(options are turned of)3.446 F 3.445(f. If)-.25 F .945(there are no)
+3.445 F F2(ar)3.445 E(g)-.37 E F0 .945(s, the positional)B
(parameters remain unchanged.)184 582 Q .425(The options are of)144
598.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 610.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 610.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
+-.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 622.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
+(ys true unless an in).1 F -.25(va)-.4 G .067(lid option).25 F
(is encountered.)144 634.8 Q F1(shift)108 651.6 Q F0([)2.5 E F2(n)A F0
-(])A .428(The positional parameters from)144 663.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 675.6 Q F1($#)2.583
-E F0(do)2.583 E .083(wn to)-.25 F F1($#)2.583 E F0<ad>A 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
+(])A .429(The positional parameters from)144 663.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 675.6 Q F1($#)2.582
+E F0(do)2.582 E .082(wn to)-.25 F F1($#)2.582 E F0<ad>A F2(n)A F0 .082
+(+1 are unset.)B F2(n)5.442 E F0 .082(must be a non-ne)2.822 F -.05(ga)
+-.15 G(ti).05 E .383 -.15(ve n)-.25 H .083(umber less than or equal to)
+.15 F F1($#)2.583 E F0 5.083(.I)C(f)-5.083 E F2(n)2.943 E F0 .06
(is 0, no parameters are changed.)144 687.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 699.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
+(,t)C(he)-2.56 E .143(positional parameters are not changed.)144 699.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 711.6 Q(GNU Bash-4.0)72 768 Q
-(2009 February 7)140.96 E(61)190.95 E 0 Cg EP
+(2009 March 4)145.96 E(61)195.95 E 0 Cg EP
%%Page: 62 62
%%BeginPageSetup
BP
5.222(.W)-.55 G .222(ith no options, or with the)-5.622 F F1<ad70>2.722
E F0 .721(option, a list of all settable options is displayed, with an \
indication of whether or not each is set.)144 108 R(The)144 120 Q F1
-<ad70>2.827 E F0 .327(option causes output to be displayed in a form th\
-at may be reused as input.)2.827 F .328(Other options)5.328 F(ha)144 132
+<ad70>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 132
Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad73>144
144 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5 E F0(.)A F1<ad75>144
156 Q F0(Disable \(unset\) each)24.74 E F2(optname)2.5 E F0(.)A F1<ad71>
144 168 Q F0 .003(Suppresses normal output \(quiet mode\); the return s\
-tatus indicates whether the)24.74 F F2(optname)2.503 E F0(is)2.503 E
-.255(set or unset.)180 180 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<ad71>2.756 E F0 2.756(,t)C .256
-(he return status is zero if)-2.756 F(all)180 192 Q F2(optnames)2.5 E F0
+tatus indicates whether the)24.74 F F2(optname)2.504 E F0(is)2.504 E
+.256(set or unset.)180 180 R .256(If multiple)5.256 F F2(optname)2.756 E
+F0(ar)2.756 E .256(guments are gi)-.18 F -.15(ve)-.25 G 2.756(nw).15 G
+(ith)-2.756 E F1<ad71>2.756 E F0 2.755(,t)C .255
+(he return status is zero if)-2.755 F(all)180 192 Q F2(optnames)2.5 E F0
(are enabled; non-zero otherwise.)2.5 E F1<ad6f>144 204 Q F0
(Restricts the v)25.3 E(alues of)-.25 E F2(optname)2.5 E F0
(to be those de\214ned for the)2.5 E F1<ad6f>2.5 E F0(option to the)2.5
-E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .128(If either)144 220.8 R F1
-<ad73>2.628 E F0(or)2.628 E F1<ad75>2.628 E F0 .127(is used with no)
+E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .127(If either)144 220.8 R F1
+<ad73>2.627 E F0(or)2.627 E F1<ad75>2.627 E F0 .127(is used with no)
2.627 F F2(optname)2.627 E F0(ar)2.627 E .127
-(guments, the display is limited to those options which)-.18 F 1.023
-(are set or unset, respecti)144 232.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 244.8 Q(ault.)
+(guments, the display is limited to those options which)-.18 F 1.024
+(are set or unset, respecti)144 232.8 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 244.8 Q(ault.)
-.1 E 1.544(The return status when listing options is zero if all)144
-261.6 R F2(optnames)4.044 E F0 1.544(are enabled, non-zero otherwise.)
-4.044 F .696
+261.6 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 273.6 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .696
+144 273.6 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .695
(alid shell)-.25 F(option.)144 285.6 Q(The list of)144 302.4 Q F1(shopt)
-2.5 E F0(options is:)2.5 E F1(autocd)144 320.4 Q F0 .2
+2.5 E F0(options is:)2.5 E F1(autocd)144 320.4 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
+-.15(xe)-.15 G .2(cuted as if it were the ar).15 F(gu-)-.18 E
(ment to the)184 332.4 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 344.4 Q(ars)-.1 E F0 .155(If set, an ar)184 356.4 R .155
-(gument to the)-.18 F F1(cd)2.655 E F0 -.2(bu)2.655 G .156
+F1(cdable_v)144 344.4 Q(ars)-.1 E F0 .156(If set, an ar)184 356.4 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 368.4 Q(ariable whose v)-.25 E
(alue is the directory to change to.)-.25 E F1(cdspell)144 380.4 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 392.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 404.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 392.4 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 404.4 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 416.4 Q
(This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.)
-.15 E F1(checkhash)144 428.4 Q F0 2.079(If set,)184 440.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 452.4 S(cute it.).15 E
+.15 E F1(checkhash)144 428.4 Q F0 2.08(If set,)184 440.4 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 452.4 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 464.4
-Q F0 .449(If set,)184 476.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 488.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 1.456
+Q F0 .448(If set,)184 476.4 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 488.4 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 1.456
(attempted without an interv)184 500.4 R 1.456(ening command \(see)-.15
F F1 1.456(JOB CONTR)3.956 F(OL)-.3 E F0(abo)3.956 E -.15(ve)-.15 G
3.956(\). The).15 F(shell)3.956 E(al)184 512.4 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 524.4 Q F0 .796(If set,)184 536.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 548.4 S(lues of).25 E/F3 9/Times-Bold@0
+-2.5 E F1(checkwinsize)144 524.4 Q F0 .797(If set,)184 536.4 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 548.4 S(lues of).25 E/F3 9/Times-Bold@0
SF(LINES)2.5 E F0(and)2.25 E F3(COLUMNS)2.5 E/F4 9/Times-Roman@0 SF(.)A
F1(cmdhist)144 560.4 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
572.4 Q 5(.T)-.65 G(his allo)-5 E
(ws easy re-editing of multi-line commands.)-.25 E F1(compat31)144 584.4
-Q F0 .419(If set,)184 596.4 R F1(bash)2.919 E F0 .419(changes its beha)
-2.919 F .419(vior to that of v)-.2 F .42
+Q F0 .42(If set,)184 596.4 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 608.4 Q 2.5(s=)-.55 G 2.5(~o)-2.5 G
-(perator)-2.5 E(.)-.55 E F1(dirspell)144 620.4 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
+(perator)-2.5 E(.)-.55 E F1(dirspell)144 620.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 632.4 Q(xist.)-.15
E F1(dotglob)144 644.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 656.4 Q F0 1.387
-(If set, a non-interacti)7.79 F 1.687 -.15(ve s)-.25 H 1.386
+(xpansion.)-.15 E F1(execfail)144 656.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.386(cute the \214le speci\214ed as an).15 F(ar)184 668.4 Q
+1.387(cute the \214le speci\214ed as an).15 F(ar)184 668.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 680.4 Q
-F0 .716(If set, aliases are e)184 692.4 R .717(xpanded as described abo)
+F0 .717(If set, aliases are e)184 692.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
-.717(This option is enabled)5.217 F(by def)184 704.4 Q
+.716(This option is enabled)5.217 F(by def)184 704.4 Q
(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E(GNU Bash-4.0)
-72 768 Q(2009 February 7)140.96 E(62)190.95 E 0 Cg EP
+72 768 Q(2009 March 4)145.96 E(62)195.95 E 0 Cg EP
%%Page: 63 63
%%BeginPageSetup
BP
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
-.35 E/F1 10/Times-Bold@0 SF(extdeb)144 84 Q(ug)-.2 E F0(If set, beha)
184 96 Q(vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F1
-(1.)184 108 Q F0(The)28.5 E F1<ad46>4.251 E F0 1.751(option to the)4.251
-F F1(declar)4.251 E(e)-.18 E F0 -.2(bu)4.251 G 1.751
+(1.)184 108 Q F0(The)28.5 E F1<ad46>4.25 E F0 1.75(option to the)4.25 F
+F1(declar)4.251 E(e)-.18 E F0 -.2(bu)4.251 G 1.751
(iltin displays the source \214le name and line).2 F
(number corresponding to each function name supplied as an ar)220 120 Q
(gument.)-.18 E F1(2.)184 132 Q F0 1.667(If the command run by the)28.5
F F1(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167 F
1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 144
-Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 156 Q F0 .841
-(If the command run by the)28.5 F F1(DEB)3.341 E(UG)-.1 E F0 .841
-(trap returns a v)3.341 F .84(alue of 2, and the shell is)-.25 F -.15
+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
(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 26(4. B)184
-192 R(ASH_ARGC)-.3 E F0(and)3.776 E F1 -.3(BA)3.776 G(SH_ARGV).3 E F0
-1.275(are updated as described in their descrip-)3.776 F(tions abo)220
+192 R(ASH_ARGC)-.3 E F0(and)3.775 E F1 -.3(BA)3.775 G(SH_ARGV).3 E F0
+1.276(are updated as described in their descrip-)3.775 F(tions abo)220
204 Q -.15(ve)-.15 G(.).15 E F1(5.)184 216 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/F2 10
/Times-Italic@0 SF(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1
(DEB)2.5 E(UG)-.1 E F0(and)2.5 E F1(RETURN)2.5 E F0(traps.)2.5 E F1(6.)
-184 240 Q F0 .805(Error tracing is enabled:)28.5 F .804
-(command substitution, shell functions, and subshells)5.805 F(in)220 252
+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 F2
(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E(OR)-.3 E F0
(trap.)2.5 E F1(extglob)144 264 Q F0 .4(If set, the e)8.89 F .4
-4.973 F F1(${)4.973 E F2(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G
(pansions).15 E(enclosed in double quotes.)184 312 Q
(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 324 Q F0
-1.424(If set, patterns which f)7.77 F 1.425
-(ail to match \214lenames during pathname e)-.1 F 1.425
+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
.585(If set, the suf)184 360 R<8c78>-.25 E .585(es speci\214ed by the)
-.15 F F1(FIGNORE)3.085 E F0 .585(shell v)3.085 F .585(ariable cause w)
-.25 F .585(ords to be ignored)-.1 F .32(when performing w)184 372 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 3.33
-(pletions. See)184 384 R/F3 9/Times-Bold@0 SF .83(SHELL V)3.33 F
-(ARIABLES)-1.215 E F0(abo)3.08 E 1.13 -.15(ve f)-.15 H .829
-(or a description of).15 F F1(FIGNORE)3.329 E F0 5.829(.T)C .829
-(his option)-5.829 F(is enabled by def)184 396 Q(ault.)-.1 E F1
-(globstar)144 408 Q F0 .439(If set, the pattern)5 F F1(**)2.939 E F0
-.439(used in a \214lename e)2.939 F .439(xpansion conte)-.15 F .44
-(xt will match a \214les and zero or)-.15 F 1.298
+(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 3.329
+(pletions. See)184 384 R/F3 9/Times-Bold@0 SF .829(SHELL V)3.329 F
+(ARIABLES)-1.215 E F0(abo)3.079 E 1.129 -.15(ve f)-.15 H .83
+(or a description of).15 F F1(FIGNORE)3.33 E F0 5.83(.T)C .83
+(his option)-5.83 F(is enabled by def)184 396 Q(ault.)-.1 E F1(globstar)
+144 408 Q F0 .44(If set, the pattern)5 F F1(**)2.94 E F0 .44
+(used in a \214lename e)2.94 F .439(xpansion conte)-.15 F .439
+(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.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
+(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 .383
+468 Q F0 .384
(If set, the history list is appended to the \214le named by the v)184
-480 R .384(alue of the)-.25 F F1(HISTFILE)2.884 E F0 -.25(va)2.884 G
+480 R .383(alue of the)-.25 F F1(HISTFILE)2.883 E F0 -.25(va)2.883 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 .576(If set, and)184 516 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 528 Q F1(histv)144 540 Q(erify)-.1 E F0 .402
+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
(is being used, the results of history substitution are not immediately)
-2.903 F .662(passed to the shell parser)184 564 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 576 S -.25(ff).2 G(er).25 E
+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.181(If set, and)184 600 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
-612 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
-F3(READLINE)3.88 E F0(abo)184 624 Q -.15(ve)-.15 G 2.5(\). This).15 F
+(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
+F3(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 F3(SIGHUP)2.5 E F0
(to all jobs when an interacti)2.25 E .3 -.15(ve l)-.25 H(ogin shell e)
(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 F3(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 696 Q
-(ault.)-.1 E F1(lithist)144 708 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 720 Q
+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
-(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(63)190.95 E 0 Cg EP
+(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(63)195.95 E 0 Cg EP
%%Page: 64 64
%%BeginPageSetup
BP
/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(login_shell)144 84 Q F0 .486
(The shell sets this option if it is started as a login shell \(see)184
-96 R/F2 9/Times-Bold@0 SF(INV)2.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 108 S
-(lue may not be changed.).25 E F1(mailwar)144 120 Q(n)-.15 E F0 .814
-(If set, and a \214le that)184 132 R F1(bash)3.314 E F0 .815
-(is checking for mail has been accessed since the last time it)3.314 F
+96 R/F2 9/Times-Bold@0 SF(INV)2.987 E(OCA)-.405 E(TION)-.855 E F0(abo)
+2.737 E -.15(ve)-.15 G 2.987(\). The).15 F -.25(va)184 108 S
+(lue may not be changed.).25 E F1(mailwar)144 120 Q(n)-.15 E F0 .815
+(If set, and a \214le that)184 132 R F1(bash)3.315 E F0 .814
+(is checking for mail has been accessed since the last time it)3.315 F
-.1(wa)184 144 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
(`The mail in)-.74 E/F3 10/Times-Italic@0 SF(mail\214le)2.5 E F0
(has been read')2.5 E 2.5('i)-.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1
-(no_empty_cmd_completion)144 156 Q F0 .146(If set, and)184 168 R F1 -.18
-(re)2.646 G(adline).18 E F0 .146(is being used,)2.646 F F1(bash)2.646 E
-F0 .145(will not attempt to search the)2.646 F F1 -.74(PA)2.645 G(TH)
--.21 E F0 .145(for possible)2.645 F
+(no_empty_cmd_completion)144 156 Q F0 .145(If set, and)184 168 R F1 -.18
+(re)2.645 G(adline).18 E F0 .145(is being used,)2.645 F F1(bash)2.646 E
+F0 .146(will not attempt to search the)2.646 F F1 -.74(PA)2.646 G(TH)
+-.21 E F0 .146(for possible)2.646 F
(completions when completion is attempted on an empty line.)184 180 Q F1
-(nocaseglob)144 192 Q F0 .436(If set,)184 204 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 216 S
+(nocaseglob)144 192 Q F0 .437(If set,)184 204 R F1(bash)2.937 E F0 .436
+(matches \214lenames in a case\255insensiti)2.937 F .736 -.15(ve f)-.25
+H .436(ashion when performing pathname).05 F -.15(ex)184 216 S
(pansion \(see).15 E F1 -.1(Pa)2.5 G(thname Expansion).1 E F0(abo)2.5 E
--.15(ve)-.15 G(\).).15 E F1(nocasematch)144 228 Q F0 1.194(If set,)184
-240 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
+-.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
-.854(If set,)184 276 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 288 S(pand to a null string, rather than themselv)
-.15 E(es.)-.15 E F1(pr)144 300 Q(ogcomp)-.18 E F0 .677
+.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.176 E .676(ogrammable Completion)-.18 F F0(abo)3.176 E
+-.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.447(If set, prompt strings under)184 348 R 1.448
-(go parameter e)-.18 F 1.448(xpansion, command substitution, arithmetic)
--.15 F -.15(ex)184 360 S .171(pansion, and quote remo).15 F -.25(va)-.15
+-.18 E(ars)-.1 E F0 1.448(If set, prompt strings under)184 348 R 1.448
+(go parameter e)-.18 F 1.447(xpansion, command substitution, arithmetic)
+-.15 F -.15(ex)184 360 S .17(pansion, and quote remo).15 F -.25(va)-.15
G 2.67(la).25 G .17(fter being e)-2.67 F .17(xpanded as described in)
--.15 F F2(PR)2.67 E(OMPTING)-.27 E F0(abo)2.42 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.671 E(OMPTING)-.27 E F0(abo)2.421 E -.15(ve)-.15 G(.).15
+E(This option is enabled by def)184 372 Q(ault.)-.1 E F1 -.18(re)144 384
S(stricted_shell).18 E F0 1.069
(The shell sets this option if it is started in restricted mode \(see)
184 396 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 408 Q 4.178
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
-.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 .501(If set, the)184 444 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
+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 .771(If set, the)184 480 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 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 F1<ad66>A F0(])A 1.001
-(Suspend the e)144 540 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 552 R F1<ad66>2.523 E F0 .023
-(option can be used to o)2.523 F -.15(ve)-.15 G .022
-(rride this and force the suspension.).15 F .022(The return status is)
-5.022 F 2.5(0u)144 564 S(nless the shell is a login shell and)-2.5 E F1
+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 F1<ad66>A 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<ad66>
+2.522 E F0 .022(option can be used to o)2.522 F -.15(ve)-.15 G .022
+(rride this and force the suspension.).15 F .023(The return status is)
+5.023 F 2.5(0u)144 564 S(nless the shell is a login shell and)-2.5 E F1
<ad66>2.5 E F0(is not supplied, or if job control is not enabled.)2.5 E
F1(test)108 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.188
+(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.187(are composed of the primaries)3.688 F
-1.889(described abo)144 612 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 624 Q
+(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 F1<adad>2.5 E F0(as signifying the end of options.)2.5
-E .786(Expressions may be combined using the follo)144 642 R .785
+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
144 702 S(pr1).2 E F0<ad>2.5 E F1(a)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35
(Tr)180 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
-(2009 February 7)140.96 E(64)190.95 E 0 Cg EP
+(2009 March 4)145.96 E(64)195.95 E 0 Cg EP
%%Page: 65 65
%%BeginPageSetup
BP
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
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 202.8 R .38
-(gument is one of the unary conditional operators listed abo)-.18 F .68
--.15(ve u)-.15 H(nder).15 E/F3 9/Times-Bold@0 SF(CONDI-)2.88 E(TION)180
-214.8 Q .553(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(,)A F0 .552
+(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
(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 .023(If the second ar)180 250.8 R .023
+(uments).18 E .024(If the second ar)180 250.8 R .023
(gument is one of the binary conditional operators listed abo)-.18 F
-.324 -.15(ve u)-.15 H(nder).15 E F3(CON-)2.524 E(DITION)180 262.8 Q
-1.478(AL EXPRESSIONS)-.18 F F4(,)A F0 1.477(the result of the e)3.727 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
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 F2<ad61>3.013 E F0(and)3.013 E F2<ad6f>3.013 E F0
-.513(operators are considered)3.013 F .972
+.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 .883(the ne)180 298.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 310.8 Q .875(gument is e)-.18 F
-(xactly)-.15 E F2(\()3.375 E F0 .875(and the third ar)3.375 F .875
-(gument is e)-.18 F(xactly)-.15 E F2(\))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)
+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 .384
-(If the \214rst ar)180 346.8 R .384(gument is)-.18 F F2(!)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 358.8 R 4.147
-(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.647
+-.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
(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)
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 .702(The command)144 464.4 R F1(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 F1(sigspec)3.203 E F0 5.703(.I).31 G(f)-5.703 E F1
-(ar)3.533 E(g)-.37 E F0(is)3.423 E .609(absent \(and there is a single)
+(])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 F2<ad>3.108 E
F0 3.108(,e)C .608
(ach speci\214ed signal is reset to its original disposition)-3.108 F
-.658(\(the v)144 488.4 R .658(alue it had upon entrance to the shell\).)
--.25 F(If)5.658 E F1(ar)3.488 E(g)-.37 E F0 .659
+.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 .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 F1(ar)3.41 E(g)-.37 E F0 .58
-(is not present and)3.3 F F2<ad70>3.08 E F0(has)3.08 E 1.214
+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 F2<ad70>3.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.215(are displayed.)4.024 F 1.215(If no ar)6.215
+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 F2<ad70>3.36
E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F2(trap)3.36 E F0 .86
(prints the list of commands associated with each)3.36 F 2.83
(signal. The)144 536.4 R F2<ad6c>2.83 E F0 .33(option causes the shell \
-to print a list of signal names and their corresponding num-)2.83 F
-4.311(bers. Each)144 548.4 R F1(sigspec)4.651 E F0 1.811
-(is either a signal name de\214ned in <)4.621 F F1(signal.h)A F0 1.81
-(>, or a signal number)B 6.81(.S)-.55 G(ignal)-6.81 E .745
+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 .745
(names are case insensiti)144 560.4 R 1.045 -.15(ve a)-.25 H .745
(nd the SIG pre\214x is optional.).15 F .745(If a)5.745 F F1(sigspec)
3.585 E F0(is)3.555 E F3(EXIT)3.245 E F0 .745(\(0\) the command)2.995 F
-F1(ar)144.33 572.4 Q(g)-.37 E F0 1.63(is e)4.35 F -.15(xe)-.15 G 1.63
+F1(ar)144.33 572.4 Q(g)-.37 E F0 1.629(is e)4.349 F -.15(xe)-.15 G 1.629
(cuted on e).15 F 1.63(xit from the shell.)-.15 F 1.63(If a)6.63 F F1
-(sigspec)4.47 E F0(is)4.44 E F3(DEB)4.13 E(UG)-.09 E F4(,)A F0 1.629
-(the command)3.88 F F1(ar)4.459 E(g)-.37 E F0 1.629(is e)4.349 F -.15
-(xe)-.15 G(cuted).15 E 1.206(before e)144 584.4 R -.15(ve)-.25 G(ry).15
-E F1 1.206(simple command)3.706 F F0(,)A F1(for)3.706 E F0(command,)
-3.706 E F1(case)3.706 E F0(command,)3.706 E F1(select)3.707 E F0 1.207
-(command, e)3.707 F -.15(ve)-.25 G 1.207(ry arithmetic).15 F F1(for)144
-596.4 Q F0 .412(command, and before the \214rst command e)2.913 F -.15
-(xe)-.15 G .412(cutes in a shell function \(see).15 F F3 .412
-(SHELL GRAMMAR)2.912 F F0(abo)144 608.4 Q -.15(ve)-.15 G 2.665
-(\). Refer).15 F .166(to the description of the)2.665 F F2(extdeb)2.666
+(sigspec)4.47 E F0(is)4.44 E F3(DEB)4.13 E(UG)-.09 E F4(,)A F0 1.63
+(the command)3.88 F F1(ar)4.46 E(g)-.37 E F0 1.63(is e)4.35 F -.15(xe)
+-.15 G(cuted).15 E 1.207(before e)144 584.4 R -.15(ve)-.25 G(ry).15 E F1
+1.207(simple command)3.707 F F0(,)A F1(for)3.707 E F0(command,)3.706 E
+F1(case)3.706 E F0(command,)3.706 E F1(select)3.706 E F0 1.206
+(command, e)3.706 F -.15(ve)-.25 G 1.206(ry arithmetic).15 F F1(for)144
+596.4 Q F0 .412(command, and before the \214rst command e)2.912 F -.15
+(xe)-.15 G .412(cutes in a shell function \(see).15 F F3 .413
+(SHELL GRAMMAR)2.912 F F0(abo)144 608.4 Q -.15(ve)-.15 G 2.666
+(\). Refer).15 F .166(to the description of the)2.666 F F2(extdeb)2.666
E(ug)-.2 E F0 .166(option to the)2.666 F F2(shopt)2.666 E F0 -.2(bu)
-2.666 G .166(iltin for details of its ef).2 F(fect)-.25 E .509(on the)
-144 620.4 R F2(DEB)3.009 E(UG)-.1 E F0 3.009(trap. If)3.009 F(a)3.009 E
+2.666 G .166(iltin for details of its ef).2 F(fect)-.25 E .508(on the)
+144 620.4 R F2(DEB)3.008 E(UG)-.1 E F0 3.008(trap. If)3.008 F(a)3.008 E
F1(sigspec)3.348 E F0(is)3.318 E F3(ERR)3.008 E F4(,)A F0 .508
-(the command)2.758 F F1(ar)3.338 E(g)-.37 E F0 .508(is e)3.228 F -.15
-(xe)-.15 G .508(cuted whene).15 F -.15(ve)-.25 G 3.008(ras).15 G .508
-(imple com-)-3.008 F 2.506(mand has a non\255zero e)144 632.4 R 2.506
+(the command)2.758 F F1(ar)3.338 E(g)-.37 E F0 .509(is e)3.228 F -.15
+(xe)-.15 G .509(cuted whene).15 F -.15(ve)-.25 G 3.009(ras).15 G .509
+(imple com-)-3.009 F 2.506(mand has a non\255zero e)144 632.4 R 2.506
(xit status, subject to the follo)-.15 F 2.506(wing conditions.)-.25 F
(The)7.506 E F3(ERR)5.006 E F0 2.506(trap is not)4.756 F -.15(exe)144
644.4 S .105(cuted if the f).15 F .105
(ke)144 656.4 S(yw)-.05 E .549(ord, part of the test in an)-.1 F F1(if)
3.059 E F0 .549(statement, part of a command e)5.009 F -.15(xe)-.15 G
.549(cuted in a).15 F F2(&&)3.049 E F0(or)3.049 E/F5 10/Symbol SF<efef>
-3.049 E F0 .549(list, or if)3.049 F .578(the command')144 668.4 R 3.078
-(sr)-.55 G .578(eturn v)-3.078 F .578(alue is being in)-.25 F -.15(ve)
--.4 G .578(rted via).15 F F2(!)3.078 E F0 5.577(.T)C .577
-(hese are the same conditions obe)-5.577 F .577(yed by the)-.15 F F2
-(err)144 680.4 Q(exit)-.18 E F0 3.03(option. If)3.03 F(a)3.03 E F1
-(sigspec)3.37 E F0(is)3.341 E F3(RETURN)3.031 E F4(,)A F0 .531
+3.049 E F0 .549(list, or if)3.049 F .577(the command')144 668.4 R 3.077
+(sr)-.55 G .577(eturn v)-3.077 F .577(alue is being in)-.25 F -.15(ve)
+-.4 G .577(rted via).15 F F2(!)3.077 E F0 5.578(.T)C .578
+(hese are the same conditions obe)-5.578 F .578(yed by the)-.15 F F2
+(err)144 680.4 Q(exit)-.18 E F0 3.031(option. If)3.031 F(a)3.031 E F1
+(sigspec)3.371 E F0(is)3.341 E F3(RETURN)3.031 E F4(,)A F0 .531
(the command)2.781 F F1(ar)3.361 E(g)-.37 E F0 .531(is e)3.251 F -.15
-(xe)-.15 G .531(cuted each time a shell function).15 F .317
+(xe)-.15 G .53(cuted each time a shell function).15 F .316
(or a script e)144 692.4 R -.15(xe)-.15 G .317(cuted with the).15 F F2
(.)2.817 E F0(or)2.817 E F2(sour)2.817 E(ce)-.18 E F0 -.2(bu)2.817 G
.317(iltins \214nishes e).2 F -.15(xe)-.15 G 2.817(cuting. Signals).15 F
-.316(ignored upon entry to)2.817 F .787
+.317(ignored upon entry to)2.817 F .787
(the shell cannot be trapped or reset.)144 704.4 R -.35(Tr)5.787 G .787
(apped signals that are not being ignored are reset to their).35 F 1.1
(original v)144 716.4 R 1.1
(alues in a child process when it is created.)-.25 F 1.1
(The return status is f)6.1 F 1.1(alse if an)-.1 F(y)-.15 E F1(sigspec)
3.94 E F0(is)3.91 E(in)144 728.4 Q -.25(va)-.4 G(lid; otherwise).25 E F2
-(trap)2.5 E F0(returns true.)2.5 E(GNU Bash-4.0)72 768 Q
-(2009 February 7)140.96 E(65)190.95 E 0 Cg EP
+(trap)2.5 E F0(returns true.)2.5 E(GNU Bash-4.0)72 768 Q(2009 March 4)
+145.96 E(65)195.95 E 0 Cg EP
%%Page: 66 66
%%BeginPageSetup
BP
/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(type)108 84 Q F0([)2.5 E F1(\255aftpP)A F0
(])A/F2 10/Times-Italic@0 SF(name)2.5 E F0([)2.5 E F2(name)A F0(...])2.5
-E -.4(Wi)144 96 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
-F1<ad74>144 108 Q F0 .843(option is used,)3.343 F F1(type)3.343 E F0
+E -.4(Wi)144 96 S .174(th no options, indicate ho).4 F 2.674(we)-.25 G
+(ach)-2.674 E F2(name)3.034 E F0 -.1(wo)2.854 G .173
+(uld be interpreted if used as a command name.).1 F .173(If the)5.173 F
+F1<ad74>144 108 Q F0 .842(option is used,)3.342 F F1(type)3.342 E F0
.843(prints a string which is one of)3.343 F F2(alias)3.343 E F0(,).27 E
F2 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F2(function)3.343 E F0
-(,).24 E F2 -.2(bu)3.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 120 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
+(,).24 E F2 -.2(bu)3.343 G(iltin).2 E F0 3.343(,o).24 G(r)-3.343 E F2
+(\214le)5.253 E F0(if)3.523 E F2(name)144.36 120 Q F0 .087
+(is an alias, shell reserv)2.767 F .087(ed w)-.15 F .087
+(ord, function, b)-.1 F .086(uiltin, or disk \214le, respecti)-.2 F -.15
+(ve)-.25 G(ly).15 E 5.086(.I)-.65 G 2.586(ft)-5.086 G(he)-2.586 E F2
+(name)2.946 E F0 .086(is not)2.766 F .118
(found, then nothing is printed, and an e)144 132 R .118
-(xit status of f)-.15 F .118(alse is returned.)-.1 F .118(If the)5.118 F
-F1<ad70>2.618 E F0 .118(option is used,)2.618 F F1(type)2.618 E F0 .855
+(xit status of f)-.15 F .118(alse is returned.)-.1 F .119(If the)5.119 F
+F1<ad70>2.619 E F0 .119(option is used,)2.619 F F1(type)2.619 E F0 .855
(either returns the name of the disk \214le that w)144 144 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 156 R/F3 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 F1
-<ad50>3.14 E F0 .64(option forces a)3.14 F/F4 9/Times-Bold@0 SF -.666
-(PA)3.14 G(TH)-.189 E F0 .112(search for each)144 168 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 F3 .113
+.855(were speci\214ed as a com-)3.535 F .64(mand name, or nothing if)144
+156 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 F2(\214le)3.141 E F0 5.641(.T).18 G(he)-5.641 E F1
+<ad50>3.141 E F0 .641(option forces a)3.141 F/F4 9/Times-Bold@0 SF -.666
+(PA)3.141 G(TH)-.189 E F0 .113(search for each)144 168 R F2(name)2.613 E
+F0 2.613(,e)C -.15(ve)-2.863 G 2.613(ni).15 G(f)-2.613 E F3 .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 F1<ad70>2.613 E F0(and)144 180 Q F1<ad50>
-2.945 E F0 .445(print the hashed v)2.945 F .444
+(\214le)2.613 E F0 5.113(.I).18 G 2.613(fa)-5.113 G .112
+(command is hashed,)-.001 F F1<ad70>2.612 E F0(and)144 180 Q F1<ad50>
+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.944 G(TH)-.189 E/F5 9/Times-Roman@0 SF(.)A F0 .444(If the)
-4.944 F F1<ad61>2.944 E F0(option)2.944 E .265(is used,)144 192 R F1
+-.666(PA)2.945 G(TH)-.189 E/F5 9/Times-Roman@0 SF(.)A F0 .445(If the)
+4.945 F F1<ad61>2.945 E F0(option)2.945 E .265(is used,)144 192 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
+G .265(his includes aliases)-5.265 F .426
(and functions, if and only if the)144 204 R F1<ad70>2.926 E F0 .426
-(option is not also used.)2.926 F .426
-(The table of hashed commands is not)5.426 F .548(consulted when using)
-144 216 R F1<ad61>3.048 E F0 5.548(.T)C(he)-5.548 E F1<ad66>3.048 E F0
-.549(option suppresses shell function lookup, as with the)3.048 F F1
-(command)3.049 E F0 -.2(bu)144 228 S(iltin.).2 E F1(type)5 E F0
+(option is not also used.)2.926 F .427
+(The table of hashed commands is not)5.426 F .549(consulted when using)
+144 216 R F1<ad61>3.049 E F0 5.549(.T)C(he)-5.549 E F1<ad66>3.049 E F0
+.548(option suppresses shell function lookup, as with the)3.049 F F1
+(command)3.048 E F0 -.2(bu)144 228 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 F1(ulimit)108 244.8
Q F0([)2.5 E F1(\255HST)A(abcde\214lmnpqrstuvx)-.92 E F0([)2.5 E F2
-(limit)A F0(]])A(Pro)144 256.8 Q .244(vides control o)-.15 F -.15(ve)
--.15 G 2.744(rt).15 G .244(he resources a)-2.744 F -.25(va)-.2 G .244
+(limit)A F0(]])A(Pro)144 256.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
(ilable to the shell and to processes started by it, on systems).25 F
-.943(that allo)144 268.8 R 3.443(ws)-.25 G .943(uch control.)-3.443 F
-(The)5.943 E F1<ad48>3.443 E F0(and)3.443 E F1<ad53>3.444 E F0 .944
+.944(that allo)144 268.8 R 3.444(ws)-.25 G .944(uch control.)-3.444 F
+(The)5.944 E F1<ad48>3.444 E F0(and)3.444 E F1<ad53>3.444 E F0 .943
(options specify that the hard or soft limit is set for the)3.444 F(gi)
-144 280.8 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208
+144 280.8 Q -.15(ve)-.25 G 2.708(nr).15 G 2.708(esource. A)-2.708 F .208
(hard limit cannot be increased by a non-root user once it is set; a so\
-ft limit may)2.709 F .425(be increased up to the v)144 292.8 R .425
-(alue of the hard limit.)-.25 F .426(If neither)5.425 F F1<ad48>2.926 E
-F0(nor)2.926 E F1<ad53>2.926 E F0 .426
-(is speci\214ed, both the soft and)2.926 F .139(hard limits are set.)144
+ft limit may)2.708 F .426(be increased up to the v)144 292.8 R .426
+(alue of the hard limit.)-.25 F .425(If neither)5.426 F F1<ad48>2.925 E
+F0(nor)2.925 E F1<ad53>2.925 E F0 .425
+(is speci\214ed, both the soft and)2.925 F .139(hard limits are set.)144
304.8 R .139(The v)5.139 F .139(alue of)-.25 F F2(limit)2.729 E F0 .139
(can be a number in the unit speci\214ed for the resource or one)3.319 F
-.741(of the special v)144 316.8 R(alues)-.25 E F1(hard)3.241 E F0(,)A F1
+.742(of the special v)144 316.8 R(alues)-.25 E F1(hard)3.242 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 328.8 R -.15(ve)-.25 G(ly).15 E
5.78(.I)-.65 G(f)-5.78 E F2(limit)3.37 E F0 .78
(is omitted, the current v)3.96 F .78(alue of the soft limit of the)-.25
-F .498(resource is printed, unless the)144 340.8 R F1<ad48>2.999 E F0
-.499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .499
+F .499(resource is printed, unless the)144 340.8 R F1<ad48>2.999 E F0
+.499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .498
(more than one resource is speci\214ed, the)2.999 F
(limit name and unit are printed before the v)144 352.8 Q 2.5
(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F1
(The maximum resident set size \(man)21.97 E 2.5(ys)-.15 G
(ystems do not honor this limit\))-2.5 E F1<ad6e>144 472.8 Q F0 .791(Th\
e maximum number of open \214le descriptors \(most systems do not allo)
-24.74 F 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F(be set\))180
-484.8 Q F1<ad70>144 496.8 Q F0
+24.74 F 3.291(wt)-.25 G .791(his v)-3.291 F .791(alue to)-.25 F
+(be set\))180 484.8 Q F1<ad70>144 496.8 Q F0
(The pipe size in 512-byte blocks \(this may not be set\))24.74 E F1
<ad71>144 508.8 Q F0
(The maximum number of bytes in POSIX message queues)24.74 E F1<ad72>144
F0 .343(is gi)3.523 F -.15(ve)-.25 G .343(n, it is the ne).15 F 2.843
(wv)-.25 G .343(alue of the speci\214ed resource \(the)-3.093 F F1<ad61>
2.843 E F0 .343(option is display only\).)2.843 F .343(If no)5.343 F
-.176(option is gi)144 621.6 R -.15(ve)-.25 G .176(n, then).15 F F1<ad66>
-2.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 F1
-<ad74>2.675 E F0 2.675(,w)C .175(hich is in)-2.675 F(seconds,)144 633.6
-Q F1<ad70>2.515 E F0 2.515(,w)C .015
-(hich is in units of 512-byte blocks, and)-2.515 F F1<ad54>2.516 E F0(,)
-A F1<ad62>2.516 E F0(,)A F1<ad6e>2.516 E F0 2.516(,a)C(nd)-2.516 E F1
-<ad75>2.516 E F0 2.516(,w)C .016(hich are unscaled v)-2.516 F(al-)-.25 E
-3.788(ues. The)144 645.6 R 1.287(return status is 0 unless an in)3.787 F
+.175(option is gi)144 621.6 R -.15(ve)-.25 G .175(n, then).15 F F1<ad66>
+2.675 E F0 .175(is assumed.)2.675 F -1.11(Va)5.175 G .175
+(lues are in 1024-byte increments, e)1.11 F .176(xcept for)-.15 F F1
+<ad74>2.676 E F0 2.676(,w)C .176(hich is in)-2.676 F(seconds,)144 633.6
+Q F1<ad70>2.516 E F0 2.516(,w)C .016
+(hich is in units of 512-byte blocks, and)-2.516 F F1<ad54>2.516 E F0(,)
+A F1<ad62>2.515 E F0(,)A F1<ad6e>2.515 E F0 2.515(,a)C(nd)-2.515 E F1
+<ad75>2.515 E F0 2.515(,w)C .015(hich are unscaled v)-2.515 F(al-)-.25 E
+3.787(ues. The)144 645.6 R 1.287(return status is 0 unless an in)3.787 F
-.25(va)-.4 G 1.287(lid option or ar).25 F 1.287
(gument is supplied, or an error occurs)-.18 F(while setting a ne)144
657.6 Q 2.5(wl)-.25 G(imit.)-2.5 E F1(umask)108 674.4 Q F0([)2.5 E F1
(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 698.4 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
-710.4 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382
+710.4 Q F2(mode)3.263 E F0 .382(is omitted, the current v)3.063 F .382
(alue of the mask is printed.)-.25 F(The)5.382 E F1<ad53>2.882 E F0 .382
(option causes the mask to be)2.882 F .547
(printed in symbolic form; the def)144 722.4 R .547
(ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G
(he)-3.047 E F1<ad70>3.047 E F0 .547(option is supplied, and)3.047 F
-(GNU Bash-4.0)72 768 Q(2009 February 7)140.96 E(66)190.95 E 0 Cg EP
+(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E(66)195.95 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-Italic@0 SF(mode)144.38 84 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 96 Q
+-.35 E/F1 10/Times-Italic@0 SF(mode)144.38 84 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 96 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/F2 10
/Times-Bold@0 SF(unalias)108 112.8 Q F0<5bad>2.5 E F2(a)A F0 2.5(][)C F1
(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
(alue is true unless a supplied)-.25 E F1(name)2.86 E F0
(is not a de\214ned alias.)2.68 E F2(unset)108 153.6 Q F0<5bad>2.5 E F2
-(fv)A F0 2.5(][)C F1(name)-2.5 E F0(...])2.5 E -.15(Fo)144 165.6 S 3.106
-(re).15 G(ach)-3.106 E F1(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 F2<ad76>144 177.6 Q F0 .305(option is gi)2.805 F -.15(ve)-.25 G
-.305(n, each).15 F F1(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 F2<ad66>144 189.6 Q F0 .459
-(is speci\214ed, each)2.959 F F1(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 201.6 R .903
+(fv)A F0 2.5(][)C F1(name)-2.5 E F0(...])2.5 E -.15(Fo)144 165.6 S 3.107
+(re).15 G(ach)-3.107 E F1(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 F2<ad76>144 177.6 Q F0 .304(option is gi)2.804 F -.15(ve)-.25 G
+.304(n, each).15 F F1(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 F2<ad66>144 189.6 Q F0 .46
+(is speci\214ed, each)2.96 F F1(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 201.6 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 213.6 Q 4.284(yo)-.15 G(f)-4.284 E/F3 9/Times-Bold@0
-SF(RANDOM)4.284 E/F4 9/Times-Roman@0 SF(,)A F3(SECONDS)4.035 E F4(,)A F3
+(rom the en)-3.402 F .903(vironment passed to subsequent commands.)-.4 F
+(If)5.903 E(an)144 213.6 Q 4.285(yo)-.15 G(f)-4.285 E/F3 9/Times-Bold@0
+SF(RANDOM)4.285 E/F4 9/Times-Roman@0 SF(,)A F3(SECONDS)4.035 E F4(,)A F3
(LINENO)4.035 E F4(,)A F3(HISTCMD)4.035 E F4(,)A F3(FUNCN)4.035 E(AME)
-.18 E F4(,)A F3(GR)4.035 E(OUPS)-.27 E F4(,)A F0(or)4.035 E F3(DIRST)
-4.285 E -.495(AC)-.81 G(K).495 E F0(are)4.035 E .329(unset, the)144
-225.6 R 2.829(yl)-.15 G .328(ose their special properties, e)-2.829 F
+4.284 E -.495(AC)-.81 G(K).495 E F0(are)4.034 E .328(unset, the)144
+225.6 R 2.828(yl)-.15 G .328(ose their special properties, e)-2.828 F
-.15(ve)-.25 G 2.828(ni).15 G 2.828(ft)-2.828 G(he)-2.828 E 2.828(ya)
--.15 G .328(re subsequently reset.)-2.828 F .328(The e)5.328 F .328
+-.15 G .328(re subsequently reset.)-2.828 F .328(The e)5.328 F .329
(xit status is true)-.15 F(unless a)144 237.6 Q F1(name)2.86 E F0
(is readonly)2.68 E(.)-.65 E F2(wait)108 254.4 Q F0([)2.5 E F1 2.5(n.)C
(..)-2.5 E F0(])A -.8(Wa)144 266.4 S .288
(it for each speci\214ed process and return its termination status.).8 F
-(Each)5.288 E F1(n)3.148 E F0 .288(may be a process ID or a)3.028 F .722
+(Each)5.288 E F1(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 278.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
-F1(n)3.582 E F0(is)3.462 E 1.265(not gi)144 290.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 F1(n)4.126 E F0 .457
+F1(n)3.583 E F0(is)3.463 E 1.266(not gi)144 290.4 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 F1(n)4.125 E F0 .456
(speci\214es a non-e)144 302.4 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 314.4 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 331.2 Q F0(If)108 343.2 Q
-F2(bash)4.396 E F0 1.896(is started with the name)4.396 F F2(rbash)4.397
-E F0 4.397(,o)C 4.397(rt)-4.397 G(he)-4.397 E F2<ad72>4.397 E F0 1.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 355.2 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
+F2(bash)4.397 E F0 1.897(is started with the name)4.397 F F2(rbash)4.397
+E F0 4.397(,o)C 4.397(rt)-4.397 G(he)-4.397 E F2<ad72>4.397 E F0 1.896
+(option is supplied at in)4.397 F -.2(vo)-.4 G 1.896
+(cation, the shell becomes).2 F 3.445(restricted. A)108 355.2 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 367.2 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E F2
(bash)2.5 E F0(with the e)2.5 E(xception that the follo)-.15 E
(wing are disallo)-.25 E(wed or not performed:)-.25 E 32.5<8363>108 384
(iltin command).2 E 32.5<8353>108 451.2 S .351
(pecifying a \214lename containing a slash as an ar)-32.5 F .351
(gument to the)-.18 F F2<ad70>2.851 E F0 .351(option to the)2.851 F F2
-(hash)2.852 E F0 -.2(bu)2.852 G .352(iltin com-).2 F(mand)144 463.2 Q
+(hash)2.851 E F0 -.2(bu)2.851 G .351(iltin com-).2 F(mand)144 463.2 Q
32.5<8369>108 480 S(mporting function de\214nitions from the shell en)
-32.5 E(vironment at startup)-.4 E 32.5<8370>108 496.8 S(arsing the v)
-32.5 E(alue of)-.25 E F2(SHELLOPTS)2.5 E F0(from the shell en)2.5 E
(These restrictions are enforced after an)108 614.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 631.2 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 F2(rbash)108 643.2 Q F0(turns of)
+(xe)-.15 G 1.567(cuted \(see).15 F F3 1.567(COMMAND EXECUTION)4.067 F F0
+(abo)3.817 E -.15(ve)-.15 G(\),).15 E F2(rbash)108 643.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
660 Q F1(Bash Refer)108 672 Q(ence Manual)-.37 E F0 2.5(,B)C(rian F)-2.5
E(ox and Chet Rame)-.15 E(y)-.15 E F1(The Gnu Readline Libr)108 684 Q
(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E
F1(The Gnu History Libr)108 696 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E
-(ox and Chet Rame)-.15 E(y)-.15 E(GNU Bash-4.0)72 768 Q(2009 February 7)
-140.96 E(67)190.95 E 0 Cg EP
+(ox and Chet Rame)-.15 E(y)-.15 E(GNU Bash-4.0)72 768 Q(2009 March 4)
+145.96 E(67)195.95 E 0 Cg EP
%%Page: 68 68
%%BeginPageSetup
BP
(oundation)-.15 E(bfox@gnu.or)108 321.6 Q(g)-.18 E(Chet Rame)108 338.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 350.4 Q(y@case.edu)-.15
-E F2 -.11(BU)72 367.2 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .567
+E F2 -.11(BU)72 367.2 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .568
(If you \214nd a b)108 379.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 391.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
+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 391.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.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 F1(ftp://ftp.gnu.or)108 403.2 Q(g/pub/bash/)-.37 E F0
-(.)A .41(Once you ha)108 420 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 432 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
+(.)A .411(Once you ha)108 420 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(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 432 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 444 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 460.8 Q(ug reports should include:)-.2 E(The v)
559.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 576 S
(GS).11 E F0(It')108 588 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 604.8 R 1.868
+(w.)-.25 G 1.869(There are some subtle dif)108 604.8 R 1.869
(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 616.8 Q F0
+4.369 F 1.869(ersions of)-.15 F F3(sh)4.368 E F0 4.368(,m)C 1.868
+(ostly because of the)-4.368 F/F4 9/Times-Bold@0 SF(POSIX)108 616.8 Q F0
(speci\214cation.)2.25 E(Aliases are confusing in some uses.)108 633.6 Q
(Shell b)108 650.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 667.2 R .389
+re not handled gracefully when)108 667.2 R .39
(process suspension is attempted.)108 679.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 691.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 703.2 Q(Array v)108 720 Q
-(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E(GNU Bash-4.0)72
-768 Q(2009 February 7)140.96 E(68)190.95 E 0 Cg EP
+(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 691.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 703.2 Q(Array v)108
+720 Q(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E(GNU Bash-4.0)
+72 768 Q(2009 March 4)145.96 E(68)195.95 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(There may be only one acti)108 84 Q .3 -.15(ve c)-.25 H
-(oprocess at a time.).15 E(GNU Bash-4.0)72 768 Q(2009 February 7)140.96
-E(69)190.95 E 0 Cg EP
+(oprocess at a time.).15 E(GNU Bash-4.0)72 768 Q(2009 March 4)145.96 E
+(69)195.95 E 0 Cg EP
%%Trailer
end
%%EOF
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on February, 23 2009 by texi2html 1.64 -->
+<!-- Created on March, 5 2009 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
<H1>Bash Reference Manual</H1></P><P>
This text is a brief description of the features that are present in
-the Bash shell (version 4.0, 13 February 2009).
+the Bash shell (version 4.0, 4 March 2009).
</P><P>
-This is Edition 4.0, last updated 13 February 2009,
+This is Edition 4.0, last updated 4 March 2009,
of <CITE>The GNU Bash Reference Manual</CITE>,
for <CODE>Bash</CODE>, Version 4.0.
</P><P>
the execution of processes and continue (resume)
their execution at a later point. A user typically employs
this facility via an interactive interface supplied jointly
-by the system's terminal driver and Bash.
+by the operating system kernel's terminal driver and Bash.
</P><P>
The shell associates a <VAR>job</VAR> with each pipeline. It keeps a
These processes are said to be in the foreground. Background
processes are those whose process group ID differs from the
terminal's; such processes are immune to keyboard-generated
-signals. Only foreground processes are allowed to read from or
-write to the terminal. Background processes which attempt to
-read from (write to) the terminal are sent a <CODE>SIGTTIN</CODE>
-(<CODE>SIGTTOU</CODE>) signal by the terminal driver, which, unless
-caught, suspends the process.
+signals. Only foreground processes are allowed to read from or, if
+the user so specifies with <CODE>stty tostop</CODE>, write to the terminal.
+Background processes which attempt to
+read from (write to when <CODE>stty tostop</CODE> is in effect) the
+terminal are sent a <CODE>SIGTTIN</CODE> (<CODE>SIGTTOU</CODE>)
+signal by the kernel's terminal driver,
+which, unless caught, suspends the process.
</P><P>
If the operating system on which Bash is running supports
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1>About this document</H1>
-This document was generated by <I>Chet Ramey</I> on <I>February, 23 2009</I>
+This document was generated by <I>Chet Ramey</I> on <I>March, 5 2009</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
<P></P>
<BR>
<FONT SIZE="-1">
This document was generated
-by <I>Chet Ramey</I> on <I>February, 23 2009</I>
+by <I>Chet Ramey</I> on <I>March, 5 2009</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
/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.0, 13 February 2009).
+the Bash shell (version 4.0, 4 March 2009).
- This is Edition 4.0, last updated 13 February 2009, of `The GNU Bash
+ This is Edition 4.0, last updated 4 March 2009, of `The GNU Bash
Reference Manual', for `Bash', Version 4.0.
Copyright (C) 1988-2009 Free Software Foundation, Inc.
*************
This text is a brief description of the features that are present in
-the Bash shell (version 4.0, 13 February 2009).
+the Bash shell (version 4.0, 4 March 2009).
- This is Edition 4.0, last updated 13 February 2009, of `The GNU Bash
+ This is Edition 4.0, last updated 4 March 2009, of `The GNU Bash
Reference Manual', for `Bash', Version 4.0.
Bash contains features that appear in other popular shells, and some
Job control refers to the ability to selectively stop (suspend) the
execution of processes and continue (resume) their execution at a later
point. A user typically employs this facility via an interactive
-interface supplied jointly by the system's terminal driver and Bash.
+interface supplied jointly by the operating system kernel's terminal
+driver and Bash.
The shell associates a JOB with each pipeline. It keeps a table of
currently executing jobs, which may be listed with the `jobs' command.
are said to be in the foreground. Background processes are those whose
process group ID differs from the terminal's; such processes are immune
to keyboard-generated signals. Only foreground processes are allowed
-to read from or write to the terminal. Background processes which
-attempt to read from (write to) the terminal are sent a `SIGTTIN'
-(`SIGTTOU') signal by the terminal driver, which, unless caught,
-suspends the process.
+to read from or, if the user so specifies with `stty tostop', write to
+the terminal. Background processes which attempt to read from (write
+to when `stty tostop' is in effect) the terminal are sent a `SIGTTIN'
+(`SIGTTOU') signal by the kernel's terminal driver, which, unless
+caught, suspends the process.
If the operating system on which Bash is running supports job
control, Bash contains facilities to use it. Typing the SUSPEND
\1f
Tag Table:
-Node: Top\7f1346
-Node: Introduction\7f3185
-Node: What is Bash?\7f3413
-Node: What is a shell?\7f4526
-Node: Definitions\7f7066
-Node: Basic Shell Features\7f9984
-Node: Shell Syntax\7f11203
-Node: Shell Operation\7f12233
-Node: Quoting\7f13527
-Node: Escape Character\7f14830
-Node: Single Quotes\7f15315
-Node: Double Quotes\7f15663
-Node: ANSI-C Quoting\7f16788
-Node: Locale Translation\7f17744
-Node: Comments\7f18640
-Node: Shell Commands\7f19258
-Node: Simple Commands\7f20082
-Node: Pipelines\7f20713
-Node: Lists\7f22969
-Node: Compound Commands\7f24698
-Node: Looping Constructs\7f25502
-Node: Conditional Constructs\7f27949
-Node: Command Grouping\7f35955
-Node: Coprocesses\7f37434
-Node: Shell Functions\7f39078
-Node: Shell Parameters\7f43539
-Node: Positional Parameters\7f45955
-Node: Special Parameters\7f46855
-Node: Shell Expansions\7f49819
-Node: Brace Expansion\7f51744
-Node: Tilde Expansion\7f54497
-Node: Shell Parameter Expansion\7f56848
-Node: Command Substitution\7f65746
-Node: Arithmetic Expansion\7f67079
-Node: Process Substitution\7f67929
-Node: Word Splitting\7f68979
-Node: Filename Expansion\7f70602
-Node: Pattern Matching\7f72742
-Node: Quote Removal\7f76381
-Node: Redirections\7f76676
-Node: Executing Commands\7f84824
-Node: Simple Command Expansion\7f85494
-Node: Command Search and Execution\7f87424
-Node: Command Execution Environment\7f89761
-Node: Environment\7f92747
-Node: Exit Status\7f94407
-Node: Signals\7f96028
-Node: Shell Scripts\7f97996
-Node: Shell Builtin Commands\7f100514
-Node: Bourne Shell Builtins\7f102542
-Node: Bash Builtins\7f119883
-Node: Modifying Shell Behavior\7f144182
-Node: The Set Builtin\7f144527
-Node: The Shopt Builtin\7f153971
-Node: Special Builtins\7f164833
-Node: Shell Variables\7f165812
-Node: Bourne Shell Variables\7f166252
-Node: Bash Variables\7f168233
-Node: Bash Features\7f190572
-Node: Invoking Bash\7f191455
-Node: Bash Startup Files\7f197264
-Node: Interactive Shells\7f202233
-Node: What is an Interactive Shell?\7f202643
-Node: Is this Shell Interactive?\7f203292
-Node: Interactive Shell Behavior\7f204107
-Node: Bash Conditional Expressions\7f207387
-Node: Shell Arithmetic\7f210966
-Node: Aliases\7f213712
-Node: Arrays\7f216284
-Node: The Directory Stack\7f220126
-Node: Directory Stack Builtins\7f220840
-Node: Printing a Prompt\7f223732
-Node: The Restricted Shell\7f226484
-Node: Bash POSIX Mode\7f228316
-Node: Job Control\7f236169
-Node: Job Control Basics\7f236629
-Node: Job Control Builtins\7f241242
-Node: Job Control Variables\7f245606
-Node: Command Line Editing\7f246764
-Node: Introduction and Notation\7f248331
-Node: Readline Interaction\7f249953
-Node: Readline Bare Essentials\7f251144
-Node: Readline Movement Commands\7f252933
-Node: Readline Killing Commands\7f253898
-Node: Readline Arguments\7f255818
-Node: Searching\7f256862
-Node: Readline Init File\7f259048
-Node: Readline Init File Syntax\7f260195
-Node: Conditional Init Constructs\7f273429
-Node: Sample Init File\7f275962
-Node: Bindable Readline Commands\7f279079
-Node: Commands For Moving\7f280286
-Node: Commands For History\7f281430
-Node: Commands For Text\7f284585
-Node: Commands For Killing\7f287258
-Node: Numeric Arguments\7f289709
-Node: Commands For Completion\7f290848
-Node: Keyboard Macros\7f294615
-Node: Miscellaneous Commands\7f295186
-Node: Readline vi Mode\7f300497
-Node: Programmable Completion\7f301411
-Node: Programmable Completion Builtins\7f307244
-Node: Using History Interactively\7f315670
-Node: Bash History Facilities\7f316354
-Node: Bash History Builtins\7f319268
-Node: History Interaction\7f323125
-Node: Event Designators\7f325830
-Node: Word Designators\7f326845
-Node: Modifiers\7f328484
-Node: Installing Bash\7f329888
-Node: Basic Installation\7f331025
-Node: Compilers and Options\7f333717
-Node: Compiling For Multiple Architectures\7f334458
-Node: Installation Names\7f336122
-Node: Specifying the System Type\7f336940
-Node: Sharing Defaults\7f337656
-Node: Operation Controls\7f338329
-Node: Optional Features\7f339287
-Node: Reporting Bugs\7f348689
-Node: Major Differences From The Bourne Shell\7f349886
-Node: GNU Free Documentation License\7f366573
-Node: Indexes\7f389034
-Node: Builtin Index\7f389488
-Node: Reserved Word Index\7f396315
-Node: Variable Index\7f398763
-Node: Function Index\7f410569
-Node: Concept Index\7f417301
+Node: Top\7f1338
+Node: Introduction\7f3169
+Node: What is Bash?\7f3397
+Node: What is a shell?\7f4510
+Node: Definitions\7f7050
+Node: Basic Shell Features\7f9968
+Node: Shell Syntax\7f11187
+Node: Shell Operation\7f12217
+Node: Quoting\7f13511
+Node: Escape Character\7f14814
+Node: Single Quotes\7f15299
+Node: Double Quotes\7f15647
+Node: ANSI-C Quoting\7f16772
+Node: Locale Translation\7f17728
+Node: Comments\7f18624
+Node: Shell Commands\7f19242
+Node: Simple Commands\7f20066
+Node: Pipelines\7f20697
+Node: Lists\7f22953
+Node: Compound Commands\7f24682
+Node: Looping Constructs\7f25486
+Node: Conditional Constructs\7f27933
+Node: Command Grouping\7f35939
+Node: Coprocesses\7f37418
+Node: Shell Functions\7f39062
+Node: Shell Parameters\7f43523
+Node: Positional Parameters\7f45939
+Node: Special Parameters\7f46839
+Node: Shell Expansions\7f49803
+Node: Brace Expansion\7f51728
+Node: Tilde Expansion\7f54481
+Node: Shell Parameter Expansion\7f56832
+Node: Command Substitution\7f65730
+Node: Arithmetic Expansion\7f67063
+Node: Process Substitution\7f67913
+Node: Word Splitting\7f68963
+Node: Filename Expansion\7f70586
+Node: Pattern Matching\7f72726
+Node: Quote Removal\7f76365
+Node: Redirections\7f76660
+Node: Executing Commands\7f84808
+Node: Simple Command Expansion\7f85478
+Node: Command Search and Execution\7f87408
+Node: Command Execution Environment\7f89745
+Node: Environment\7f92731
+Node: Exit Status\7f94391
+Node: Signals\7f96012
+Node: Shell Scripts\7f97980
+Node: Shell Builtin Commands\7f100498
+Node: Bourne Shell Builtins\7f102526
+Node: Bash Builtins\7f119867
+Node: Modifying Shell Behavior\7f144166
+Node: The Set Builtin\7f144511
+Node: The Shopt Builtin\7f153955
+Node: Special Builtins\7f164817
+Node: Shell Variables\7f165796
+Node: Bourne Shell Variables\7f166236
+Node: Bash Variables\7f168217
+Node: Bash Features\7f190556
+Node: Invoking Bash\7f191439
+Node: Bash Startup Files\7f197248
+Node: Interactive Shells\7f202217
+Node: What is an Interactive Shell?\7f202627
+Node: Is this Shell Interactive?\7f203276
+Node: Interactive Shell Behavior\7f204091
+Node: Bash Conditional Expressions\7f207371
+Node: Shell Arithmetic\7f210950
+Node: Aliases\7f213696
+Node: Arrays\7f216268
+Node: The Directory Stack\7f220110
+Node: Directory Stack Builtins\7f220824
+Node: Printing a Prompt\7f223716
+Node: The Restricted Shell\7f226468
+Node: Bash POSIX Mode\7f228300
+Node: Job Control\7f236153
+Node: Job Control Basics\7f236613
+Node: Job Control Builtins\7f241330
+Node: Job Control Variables\7f245694
+Node: Command Line Editing\7f246852
+Node: Introduction and Notation\7f248419
+Node: Readline Interaction\7f250041
+Node: Readline Bare Essentials\7f251232
+Node: Readline Movement Commands\7f253021
+Node: Readline Killing Commands\7f253986
+Node: Readline Arguments\7f255906
+Node: Searching\7f256950
+Node: Readline Init File\7f259136
+Node: Readline Init File Syntax\7f260283
+Node: Conditional Init Constructs\7f273517
+Node: Sample Init File\7f276050
+Node: Bindable Readline Commands\7f279167
+Node: Commands For Moving\7f280374
+Node: Commands For History\7f281518
+Node: Commands For Text\7f284673
+Node: Commands For Killing\7f287346
+Node: Numeric Arguments\7f289797
+Node: Commands For Completion\7f290936
+Node: Keyboard Macros\7f294703
+Node: Miscellaneous Commands\7f295274
+Node: Readline vi Mode\7f300585
+Node: Programmable Completion\7f301499
+Node: Programmable Completion Builtins\7f307332
+Node: Using History Interactively\7f315758
+Node: Bash History Facilities\7f316442
+Node: Bash History Builtins\7f319356
+Node: History Interaction\7f323213
+Node: Event Designators\7f325918
+Node: Word Designators\7f326933
+Node: Modifiers\7f328572
+Node: Installing Bash\7f329976
+Node: Basic Installation\7f331113
+Node: Compilers and Options\7f333805
+Node: Compiling For Multiple Architectures\7f334546
+Node: Installation Names\7f336210
+Node: Specifying the System Type\7f337028
+Node: Sharing Defaults\7f337744
+Node: Operation Controls\7f338417
+Node: Optional Features\7f339375
+Node: Reporting Bugs\7f348777
+Node: Major Differences From The Bourne Shell\7f349974
+Node: GNU Free Documentation License\7f366661
+Node: Indexes\7f389122
+Node: Builtin Index\7f389576
+Node: Reserved Word Index\7f396403
+Node: Variable Index\7f398851
+Node: Function Index\7f410657
+Node: Concept Index\7f417389
\1f
End Tag Table
-This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2008.12.11) 23 FEB 2009 11:56
+This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2008.12.11) 5 MAR 2009 07:54
**/Users/chet/src/bash/src/doc/bashref.texi
(/Users/chet/src/bash/src/doc/bashref.texi (./texinfo.tex
Loading texinfo [version 2003-02-03.16]: Basics,
[118] [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 7138--7142
+Underfull \hbox (badness 2772) in paragraph at lines 7140--7144
[]@textrm Enable sup-port for large files (@texttt http://www.sas.com/standard
s/large_
Here is how much of TeX's memory you used:
1735 strings out of 97980
23684 string characters out of 1221004
- 52965 words of memory out of 1500000
+ 52957 words of memory out of 1500000
2586 multiletter control sequences out of 10000+50000
31953 words of font info for 111 fonts, out of 1200000 for 2000
19 hyphenation exceptions out of 8191
15i,8n,11p,269b,474s stack positions out of 5000i,500n,6000p,200000b,5000s
-Output written on bashref.dvi (164 pages, 638856 bytes).
+Output written on bashref.dvi (164 pages, 639008 bytes).
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2009.02.23:1156
+%DVIPSSource: TeX output 2009.03.05:0754
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
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.0,)g(for)f
-Fs(Bash)g Ft(V)-8 b(ersion)31 b(4.0.)3180 1697 y(F)-8
-b(ebruary)30 b(2009)150 4935 y Fr(Chet)45 b(Ramey)-11
-b(,)46 b(Case)g(W)-11 b(estern)46 b(Reserv)l(e)g(Univ)l(ersit)l(y)150
-5068 y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)
--11 b(oundation)p 150 5141 3600 17 v eop end
+Fs(Bash)g Ft(V)-8 b(ersion)31 b(4.0.)3285 1697 y(Marc)m(h)g(2009)150
+4935 y Fr(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11 b(estern)46
+b(Reserv)l(e)g(Univ)l(ersit)l(y)150 5068 y(Brian)f(F)-11
+b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)-11
+b(oundation)p 150 5141 3600 17 v eop end
%%Page: 2 2
TeXDict begin 2 1 bop 150 2889 a Ft(This)35 b(text)h(is)g(a)g(brief)f
(description)h(of)f(the)h(features)g(that)g(are)g(presen)m(t)g(in)f
-(the)h(Bash)f(shell)h(\(v)m(ersion)150 2999 y(4.0,)c(13)f(F)-8
-b(ebruary)30 b(2009\).)150 3133 y(This)g(is)h(Edition)g(4.0,)h(last)g
-(up)s(dated)e(13)h(F)-8 b(ebruary)31 b(2009,)i(of)e Fq(The)g(GNU)g
-(Bash)g(Reference)h(Man)m(ual)p Ft(,)150 3243 y(for)e
-Fs(Bash)p Ft(,)g(V)-8 b(ersion)31 b(4.0.)150 3377 y(Cop)m(yrigh)m(t)602
-3374 y(c)577 3377 y Fp(\015)f Ft(1988{2009)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
+(the)h(Bash)f(shell)h(\(v)m(ersion)150 2999 y(4.0,)c(4)e(Marc)m(h)i
+(2009\).)150 3133 y(This)h(is)g(Edition)h(4.0,)i(last)e(up)s(dated)e(4)
+i(Marc)m(h)g(2009,)j(of)c Fq(The)h(GNU)g(Bash)f(Reference)i(Man)m(ual)p
+Ft(,)g(for)150 3243 y Fs(Bash)p Ft(,)29 b(V)-8 b(ersion)31
+b(4.0.)150 3377 y(Cop)m(yrigh)m(t)602 3374 y(c)577 3377
+y Fp(\015)f Ft(1988{2009)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
(cesses)150 1290 y(and)24 b(con)m(tin)m(ue)i(\(resume\))f(their)g
(execution)h(at)f(a)h(later)f(p)s(oin)m(t.)39 b(A)25
b(user)f(t)m(ypically)j(emplo)m(ys)e(this)g(facilit)m(y)150
-1400 y(via)31 b(an)f(in)m(teractiv)m(e)j(in)m(terface)f(supplied)e
-(join)m(tly)h(b)m(y)f(the)h(system's)f(terminal)h(driv)m(er)f(and)g
-(Bash.)275 1540 y(The)23 b(shell)i(asso)s(ciates)h(a)f
-Fq(job)h Ft(with)e(eac)m(h)i(pip)s(eline.)38 b(It)25
-b(k)m(eeps)f(a)h(table)h(of)e(curren)m(tly)h(executing)g(jobs,)150
-1650 y(whic)m(h)33 b(ma)m(y)i(b)s(e)e(listed)h(with)f(the)h
+1400 y(via)i(an)e(in)m(teractiv)m(e)k(in)m(terface)f(supplied)d(join)m
+(tly)h(b)m(y)g(the)h(op)s(erating)f(system)g(k)m(ernel's)h(terminal)f
+(driv)m(er)150 1510 y(and)k(Bash.)275 1650 y(The)23 b(shell)i(asso)s
+(ciates)h(a)f Fq(job)h Ft(with)e(eac)m(h)i(pip)s(eline.)38
+b(It)25 b(k)m(eeps)f(a)h(table)h(of)e(curren)m(tly)h(executing)g(jobs,)
+150 1759 y(whic)m(h)33 b(ma)m(y)i(b)s(e)e(listed)h(with)f(the)h
Fs(jobs)f Ft(command.)50 b(When)33 b(Bash)h(starts)g(a)g(job)g(async)m
-(hronously)-8 b(,)34 b(it)150 1759 y(prin)m(ts)c(a)h(line)f(that)h(lo)s
-(oks)g(lik)m(e:)390 1899 y Fs([1])47 b(25647)150 2040
+(hronously)-8 b(,)34 b(it)150 1869 y(prin)m(ts)c(a)h(line)f(that)h(lo)s
+(oks)g(lik)m(e:)390 2009 y Fs([1])47 b(25647)150 2149
y Ft(indicating)34 b(that)g(this)f(job)g(is)g(job)g(n)m(um)m(b)s(er)f
(1)i(and)f(that)g(the)h(pro)s(cess)f Fl(id)g Ft(of)g(the)h(last)g(pro)s
-(cess)f(in)g(the)150 2149 y(pip)s(eline)42 b(asso)s(ciated)i(with)e
+(cess)f(in)g(the)150 2259 y(pip)s(eline)42 b(asso)s(ciated)i(with)e
(this)g(job)g(is)h(25647.)78 b(All)43 b(of)g(the)g(pro)s(cesses)f(in)g
-(a)h(single)g(pip)s(eline)f(are)150 2259 y(mem)m(b)s(ers)30
+(a)h(single)g(pip)s(eline)f(are)150 2368 y(mem)m(b)s(ers)30
b(of)g(the)h(same)f(job.)41 b(Bash)30 b(uses)g(the)h
Fq(job)h Ft(abstraction)f(as)g(the)g(basis)f(for)g(job)g(con)m(trol.)
-275 2399 y(T)-8 b(o)23 b(facilitate)j(the)d(implemen)m(tation)i(of)f
+275 2509 y(T)-8 b(o)23 b(facilitate)j(the)d(implemen)m(tation)i(of)f
(the)f(user)f(in)m(terface)j(to)f(job)f(con)m(trol,)j(the)d(op)s
-(erating)h(system)150 2509 y(main)m(tains)j(the)f(notion)h(of)f(a)g
+(erating)h(system)150 2618 y(main)m(tains)j(the)f(notion)h(of)f(a)g
(curren)m(t)g(terminal)g(pro)s(cess)g(group)g Fl(id)p
Ft(.)39 b(Mem)m(b)s(ers)26 b(of)g(this)g(pro)s(cess)f(group)150
-2618 y(\(pro)s(cesses)h(whose)g(pro)s(cess)g(group)g
+2728 y(\(pro)s(cesses)h(whose)g(pro)s(cess)g(group)g
Fl(id)g Ft(is)h(equal)g(to)g(the)f(curren)m(t)g(terminal)h(pro)s(cess)f
-(group)f Fl(id)p Ft(\))i(receiv)m(e)150 2728 y(k)m(eyb)s
+(group)f Fl(id)p Ft(\))i(receiv)m(e)150 2837 y(k)m(eyb)s
(oard-generated)22 b(signals)g(suc)m(h)e(as)h Fs(SIGINT)p
Ft(.)36 b(These)21 b(pro)s(cesses)g(are)g(said)g(to)g(b)s(e)g(in)f(the)
-h(foreground.)150 2837 y(Bac)m(kground)38 b(pro)s(cesses)f(are)h(those)
+h(foreground.)150 2947 y(Bac)m(kground)38 b(pro)s(cesses)f(are)h(those)
g(whose)f(pro)s(cess)g(group)g Fl(id)h Ft(di\013ers)f(from)g(the)g
-(terminal's;)42 b(suc)m(h)150 2947 y(pro)s(cesses)24
+(terminal's;)42 b(suc)m(h)150 3057 y(pro)s(cesses)24
b(are)g(imm)m(une)g(to)g(k)m(eyb)s(oard-generated)h(signals.)40
b(Only)23 b(foreground)g(pro)s(cesses)h(are)g(allo)m(w)m(ed)150
-3057 y(to)35 b(read)f(from)f(or)h(write)g(to)h(the)f(terminal.)52
-b(Bac)m(kground)34 b(pro)s(cesses)g(whic)m(h)g(attempt)h(to)g(read)e
-(from)150 3166 y(\(write)e(to\))g(the)g(terminal)g(are)g(sen)m(t)g(a)f
-Fs(SIGTTIN)f Ft(\()p Fs(SIGTTOU)p Ft(\))g(signal)i(b)m(y)f(the)h
-(terminal)g(driv)m(er,)f(whic)m(h,)150 3276 y(unless)g(caugh)m(t,)h
-(susp)s(ends)d(the)j(pro)s(cess.)275 3416 y(If)j(the)i(op)s(erating)g
-(system)f(on)h(whic)m(h)f(Bash)g(is)h(running)d(supp)s(orts)h(job)h
-(con)m(trol,)j(Bash)e(con)m(tains)150 3525 y(facilities)30
-b(to)f(use)f(it.)40 b(T)m(yping)28 b(the)g Fq(susp)s(end)h
-Ft(c)m(haracter)h(\(t)m(ypically)g(`)p Fs(^Z)p Ft(',)f(Con)m(trol-Z\))g
-(while)f(a)g(pro)s(cess)150 3635 y(is)42 b(running)f(causes)i(that)g
-(pro)s(cess)f(to)h(b)s(e)f(stopp)s(ed)f(and)h(returns)f(con)m(trol)j
-(to)f(Bash.)77 b(T)m(yping)42 b(the)150 3745 y Fq(dela)m(y)m(ed)k(susp)
-s(end)f Ft(c)m(haracter)h(\(t)m(ypically)g(`)p Fs(^Y)p
-Ft(',)i(Con)m(trol-Y\))e(causes)e(the)h(pro)s(cess)e(to)i(b)s(e)f
-(stopp)s(ed)150 3854 y(when)26 b(it)i(attempts)h(to)f(read)f(input)g
-(from)f(the)i(terminal,)h(and)e(con)m(trol)h(to)g(b)s(e)f(returned)f
-(to)j(Bash.)39 b(The)150 3964 y(user)e(then)g(manipulates)h(the)g
-(state)h(of)f(this)f(job,)j(using)d(the)h Fs(bg)f Ft(command)g(to)h
-(con)m(tin)m(ue)h(it)f(in)g(the)150 4073 y(bac)m(kground,)g(the)f
-Fs(fg)g Ft(command)f(to)i(con)m(tin)m(ue)g(it)f(in)f(the)h(foreground,)
-h(or)f(the)g Fs(kill)f Ft(command)g(to)150 4183 y(kill)27
-b(it.)40 b(A)27 b(`)p Fs(^Z)p Ft(')g(tak)m(es)h(e\013ect)g(immediately)
--8 b(,)29 b(and)d(has)h(the)f(additional)i(side)e(e\013ect)j(of)d
-(causing)h(p)s(ending)150 4293 y(output)j(and)g(t)m(yp)s(eahead)h(to)g
-(b)s(e)e(discarded.)275 4433 y(There)j(are)g(a)h(n)m(um)m(b)s(er)e(of)i
-(w)m(a)m(ys)g(to)h(refer)e(to)h(a)g(job)f(in)g(the)h(shell.)47
+3166 y(to)g(read)e(from)h(or,)h(if)f(the)g(user)f(so)i(sp)s(eci\014es)e
+(with)h Fs(stty)29 b(tostop)p Ft(,)23 b(write)g(to)g(the)h(terminal.)38
+b(Bac)m(kground)150 3276 y(pro)s(cesses)27 b(whic)m(h)g(attempt)h(to)f
+(read)g(from)g(\(write)g(to)h(when)e Fs(stty)j(tostop)d
+Ft(is)h(in)f(e\013ect\))j(the)e(terminal)150 3385 y(are)32
+b(sen)m(t)g(a)g Fs(SIGTTIN)e Ft(\()p Fs(SIGTTOU)p Ft(\))g(signal)i(b)m
+(y)g(the)g(k)m(ernel's)g(terminal)g(driv)m(er,)g(whic)m(h,)g(unless)f
+(caugh)m(t,)150 3495 y(susp)s(ends)d(the)i(pro)s(cess.)275
+3635 y(If)k(the)i(op)s(erating)g(system)f(on)h(whic)m(h)f(Bash)g(is)h
+(running)d(supp)s(orts)h(job)h(con)m(trol,)j(Bash)e(con)m(tains)150
+3745 y(facilities)30 b(to)f(use)f(it.)40 b(T)m(yping)28
+b(the)g Fq(susp)s(end)h Ft(c)m(haracter)h(\(t)m(ypically)g(`)p
+Fs(^Z)p Ft(',)f(Con)m(trol-Z\))g(while)f(a)g(pro)s(cess)150
+3854 y(is)42 b(running)f(causes)i(that)g(pro)s(cess)f(to)h(b)s(e)f
+(stopp)s(ed)f(and)h(returns)f(con)m(trol)j(to)f(Bash.)77
+b(T)m(yping)42 b(the)150 3964 y Fq(dela)m(y)m(ed)k(susp)s(end)f
+Ft(c)m(haracter)h(\(t)m(ypically)g(`)p Fs(^Y)p Ft(',)i(Con)m(trol-Y\))e
+(causes)e(the)h(pro)s(cess)e(to)i(b)s(e)f(stopp)s(ed)150
+4073 y(when)26 b(it)i(attempts)h(to)f(read)f(input)g(from)f(the)i
+(terminal,)h(and)e(con)m(trol)h(to)g(b)s(e)f(returned)f(to)j(Bash.)39
+b(The)150 4183 y(user)e(then)g(manipulates)h(the)g(state)h(of)f(this)f
+(job,)j(using)d(the)h Fs(bg)f Ft(command)g(to)h(con)m(tin)m(ue)h(it)f
+(in)g(the)150 4293 y(bac)m(kground,)g(the)f Fs(fg)g Ft(command)f(to)i
+(con)m(tin)m(ue)g(it)f(in)f(the)h(foreground,)h(or)f(the)g
+Fs(kill)f Ft(command)g(to)150 4402 y(kill)27 b(it.)40
+b(A)27 b(`)p Fs(^Z)p Ft(')g(tak)m(es)h(e\013ect)g(immediately)-8
+b(,)29 b(and)d(has)h(the)f(additional)i(side)e(e\013ect)j(of)d(causing)
+h(p)s(ending)150 4512 y(output)j(and)g(t)m(yp)s(eahead)h(to)g(b)s(e)e
+(discarded.)275 4652 y(There)j(are)g(a)h(n)m(um)m(b)s(er)e(of)i(w)m(a)m
+(ys)g(to)h(refer)e(to)h(a)g(job)f(in)g(the)h(shell.)47
b(The)32 b(c)m(haracter)i(`)p Fs(\045)p Ft(')f(in)m(tro)s(duces)150
-4542 y(a)e(job)f(sp)s(eci\014cation)h(\()p Fq(jobsp)s(ec)6
-b Ft(\).)275 4682 y(Job)31 b(n)m(um)m(b)s(er)f Fs(n)h
+4761 y(a)e(job)f(sp)s(eci\014cation)h(\()p Fq(jobsp)s(ec)6
+b Ft(\).)275 4902 y(Job)31 b(n)m(um)m(b)s(er)f Fs(n)h
Ft(ma)m(y)h(b)s(e)f(referred)g(to)h(as)g(`)p Fs(\045n)p
Ft('.)44 b(The)31 b(sym)m(b)s(ols)g(`)p Fs(\045\045)p
Ft(')h(and)f(`)p Fs(\045+)p Ft(')g(refer)h(to)g(the)g(shell's)150
-4792 y(notion)k(of)f(the)g(curren)m(t)g(job,)h(whic)m(h)f(is)g(the)g
+5011 y(notion)k(of)f(the)g(curren)m(t)g(job,)h(whic)m(h)f(is)g(the)g
(last)h(job)f(stopp)s(ed)f(while)h(it)h(w)m(as)g(in)e(the)i(foreground)
-e(or)150 4902 y(started)27 b(in)g(the)g(bac)m(kground.)40
+e(or)150 5121 y(started)27 b(in)g(the)g(bac)m(kground.)40
b(A)27 b(single)g(`)p Fs(\045)p Ft(')g(\(with)g(no)g(accompan)m(ying)i
-(job)d(sp)s(eci\014cation\))i(also)g(refers)150 5011
+(job)d(sp)s(eci\014cation\))i(also)g(refers)150 5230
y(to)k(the)e(curren)m(t)h(job.)42 b(The)30 b(previous)g(job)h(ma)m(y)g
(b)s(e)f(referenced)h(using)f(`)p Fs(\045-)p Ft('.)42
-b(If)30 b(there)h(is)g(only)g(a)g(single)150 5121 y(job,)g(`)p
+b(If)30 b(there)h(is)g(only)g(a)g(single)150 5340 y(job,)g(`)p
Fs(\045+)p Ft(')g(and)f(`)p Fs(\045-)p Ft(')h(can)h(b)s(oth)e(b)s(e)g
(used)h(to)g(refer)g(to)h(that)g(job.)42 b(In)30 b(output)h(p)s
-(ertaining)g(to)g(jobs)g(\(e.g.,)150 5230 y(the)39 b(output)f(of)g(the)
-h 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
+(ertaining)g(to)g(jobs)g(\(e.g.,)p eop end
%%Page: 90 96
TeXDict begin 90 95 bop 150 -116 a Ft(90)2572 b(Bash)31
-b(Reference)g(Man)m(ual)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
-b(that)i(app)s(ears)f(in)g(its)h(command)f(line.)41 b(F)-8
-b(or)31 b(example,)g(`)p Fs(\045ce)p Ft(')f(refers)g(to)h(a)g(stopp)s
-(ed)e Fs(ce)h Ft(job.)150 518 y(Using)d(`)p Fs(\045?ce)p
-Ft(',)g(on)f(the)h(other)g(hand,)g(refers)f(to)h(an)m(y)g(job)g(con)m
-(taining)h(the)f(string)f(`)p Fs(ce)p Ft(')h(in)f(its)h(command)150
-628 y(line.)41 b(If)30 b(the)h(pre\014x)e(or)h(substring)f(matc)m(hes)j
-(more)e(than)h(one)f(job,)h(Bash)f(rep)s(orts)g(an)g(error.)275
-767 y(Simply)g(naming)h(a)g(job)g(can)g(b)s(e)f(used)h(to)g(bring)f(it)
-i(in)m(to)g(the)f(foreground:)41 b(`)p Fs(\0451)p Ft(')31
-b(is)g(a)h(synon)m(ym)e(for)150 876 y(`)p Fs(fg)g(\0451)p
+b(Reference)g(Man)m(ual)150 299 y(the)39 b(output)f(of)g(the)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
+408 y(previous)30 b(job)g(with)g(a)h(`)p Fs(-)p Ft('.)275
+550 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 659 y(substring)29 b(that)i(app)s(ears)f(in)g(its)h(command)f
+(line.)41 b(F)-8 b(or)31 b(example,)g(`)p Fs(\045ce)p
+Ft(')f(refers)g(to)h(a)g(stopp)s(ed)e Fs(ce)h Ft(job.)150
+769 y(Using)d(`)p Fs(\045?ce)p Ft(',)g(on)f(the)h(other)g(hand,)g
+(refers)f(to)h(an)m(y)g(job)g(con)m(taining)h(the)f(string)f(`)p
+Fs(ce)p Ft(')h(in)f(its)h(command)150 878 y(line.)41
+b(If)30 b(the)h(pre\014x)e(or)h(substring)f(matc)m(hes)j(more)e(than)h
+(one)f(job,)h(Bash)f(rep)s(orts)g(an)g(error.)275 1020
+y(Simply)g(naming)h(a)g(job)g(can)g(b)s(e)f(used)h(to)g(bring)f(it)i
+(in)m(to)g(the)f(foreground:)41 b(`)p Fs(\0451)p Ft(')31
+b(is)g(a)h(synon)m(ym)e(for)150 1129 y(`)p Fs(fg)g(\0451)p
Ft(',)i(bringing)f(job)g(1)g(from)g(the)h(bac)m(kground)f(in)m(to)i
(the)e(foreground.)44 b(Similarly)-8 b(,)32 b(`)p Fs(\0451)e(&)p
-Ft(')i(resumes)150 986 y(job)e(1)h(in)f(the)g(bac)m(kground,)h(equiv)-5
-b(alen)m(t)32 b(to)f(`)p Fs(bg)f(\0451)p Ft(')275 1125
-y(The)g(shell)i(learns)f(immediately)i(whenev)m(er)e(a)h(job)f(c)m
+Ft(')i(resumes)150 1239 y(job)e(1)h(in)f(the)g(bac)m(kground,)h(equiv)
+-5 b(alen)m(t)32 b(to)f(`)p Fs(bg)f(\0451)p Ft(')275
+1380 y(The)g(shell)i(learns)f(immediately)i(whenev)m(er)e(a)h(job)f(c)m
(hanges)h(state.)45 b(Normally)-8 b(,)33 b(Bash)e(w)m(aits)i(un)m(til)
-150 1235 y(it)25 b(is)g(ab)s(out)f(to)i(prin)m(t)e(a)h(prompt)f(b)s
+150 1489 y(it)25 b(is)g(ab)s(out)f(to)i(prin)m(t)e(a)h(prompt)f(b)s
(efore)g(rep)s(orting)h(c)m(hanges)g(in)g(a)g(job's)f(status)h(so)g(as)
-g(to)g(not)g(in)m(terrupt)150 1344 y(an)m(y)g(other)g(output.)39
+g(to)g(not)g(in)m(terrupt)150 1599 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 1454 y(immediately)g(\(see)g(Section)g(4.3.1)g([The)f(Set)g
+(hanges)150 1709 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
-Fs(SIGCHLD)e Ft(is)i(executed)150 1564 y(for)30 b(eac)m(h)i(c)m(hild)e
-(pro)s(cess)g(that)h(exits.)275 1703 y(If)25 b(an)h(attempt)h(to)g
+Fs(SIGCHLD)e Ft(is)i(executed)150 1818 y(for)30 b(eac)m(h)i(c)m(hild)e
+(pro)s(cess)g(that)h(exits.)275 1959 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 1812 y Ft(option)e(is)f
+(running,)e(if)h(the)g Fs(checkjobs)150 2069 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
-1922 y(message,)k(and)c(if)i(the)f Fs(checkjobs)e Ft(option)j(is)f
+2178 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 2032 y Ft(command)36 b(ma)m(y)h(then)f(b)s(e)f
+b(The)25 b Fs(jobs)150 2288 y Ft(command)36 b(ma)m(y)h(then)f(b)s(e)f
(used)g(to)i(insp)s(ect)f(their)g(status.)59 b(If)36
-b(a)g(second)g(attempt)i(to)f(exit)g(is)f(made)150 2141
+b(a)g(second)g(attempt)i(to)f(exit)g(is)f(made)150 2398
y(without)e(an)f(in)m(terv)m(ening)i(command,)f(Bash)g(do)s(es)f(not)h
(prin)m(t)g(another)f(w)m(arning,)i(and)e(an)m(y)h(stopp)s(ed)150
-2251 y(jobs)c(are)h(terminated.)150 2520 y Fr(7.2)68
-b(Job)45 b(Con)l(trol)h(Builtins)150 2766 y Fs(bg)870
-2903 y(bg)h([)p Fj(jobspec)56 b Fs(...)o(])630 3040 y
+2507 y(jobs)c(are)h(terminated.)150 2781 y Fr(7.2)68
+b(Job)45 b(Con)l(trol)h(Builtins)150 3029 y Fs(bg)870
+3166 y(bg)h([)p Fj(jobspec)56 b Fs(...)o(])630 3304 y
Ft(Resume)24 b(eac)m(h)h(susp)s(ended)d(job)i Fq(jobsp)s(ec)29
b Ft(in)24 b(the)g(bac)m(kground,)h(as)g(if)f(it)h(had)e(b)s(een)g
-(started)630 3150 y(with)32 b(`)p Fs(&)p Ft('.)45 b(If)31
+(started)630 3414 y(with)32 b(`)p Fs(&)p Ft('.)45 b(If)31
b Fq(jobsp)s(ec)37 b Ft(is)32 b(not)g(supplied,)f(the)h(curren)m(t)g
-(job)f(is)h(used.)45 b(The)31 b(return)g(status)630 3259
+(job)f(is)h(used.)45 b(The)31 b(return)g(status)630 3523
y(is)i(zero)g(unless)f(it)h(is)g(run)e(when)h(job)g(con)m(trol)i(is)f
-(not)g(enabled,)h(or,)f(when)f(run)f(with)h(job)630 3369
+(not)g(enabled,)h(or,)f(when)f(run)f(with)h(job)630 3633
y(con)m(trol)h(enabled,)g(an)m(y)f Fq(jobsp)s(ec)37 b
Ft(w)m(as)32 b(not)g(found)f(or)g(sp)s(eci\014es)h(a)g(job)g(that)g(w)m
-(as)g(started)630 3478 y(without)e(job)g(con)m(trol.)150
-3643 y Fs(fg)870 3779 y(fg)47 b([)p Fj(jobspec)11 b Fs(])630
-3916 y Ft(Resume)43 b(the)g(job)g Fq(jobsp)s(ec)48 b
+(as)g(started)630 3743 y(without)e(job)g(con)m(trol.)150
+3909 y Fs(fg)870 4046 y(fg)47 b([)p Fj(jobspec)11 b Fs(])630
+4184 y Ft(Resume)43 b(the)g(job)g Fq(jobsp)s(ec)48 b
Ft(in)43 b(the)g(foreground)g(and)f(mak)m(e)j(it)e(the)h(curren)m(t)f
-(job.)78 b(If)630 4026 y Fq(jobsp)s(ec)41 b Ft(is)c(not)f(supplied,)h
+(job.)78 b(If)630 4294 y Fq(jobsp)s(ec)41 b Ft(is)c(not)f(supplied,)h
(the)f(curren)m(t)h(job)f(is)g(used.)58 b(The)36 b(return)f(status)h
-(is)h(that)g(of)630 4136 y(the)d(command)g(placed)h(in)m(to)g(the)f
+(is)h(that)g(of)630 4403 y(the)d(command)g(placed)h(in)m(to)g(the)f
(foreground,)g(or)g(non-zero)h(if)f(run)f(when)g(job)g(con)m(trol)630
-4245 y(is)i(disabled)g(or,)i(when)d(run)g(with)h(job)g(con)m(trol)h
+4513 y(is)i(disabled)g(or,)i(when)d(run)g(with)h(job)g(con)m(trol)h
(enabled,)h Fq(jobsp)s(ec)j Ft(do)s(es)35 b(not)h(sp)s(ecify)f(a)630
-4355 y(v)-5 b(alid)31 b(job)f(or)g Fq(jobsp)s(ec)35 b
+4623 y(v)-5 b(alid)31 b(job)f(or)g Fq(jobsp)s(ec)35 b
Ft(sp)s(eci\014es)30 b(a)h(job)f(that)h(w)m(as)g(started)g(without)f
-(job)g(con)m(trol.)150 4519 y Fs(jobs)870 4656 y(jobs)47
-b([-lnprs])e([)p Fj(jobspec)11 b Fs(])870 4765 y(jobs)47
+(job)g(con)m(trol.)150 4789 y Fs(jobs)870 4927 y(jobs)47
+b([-lnprs])e([)p Fj(jobspec)11 b Fs(])870 5036 y(jobs)47
b(-x)g Fj(command)56 b Fs([)p Fj(arguments)11 b Fs(])630
-4902 y Ft(The)30 b(\014rst)f(form)h(lists)h(the)g(activ)m(e)h(jobs.)41
+5174 y Ft(The)30 b(\014rst)f(form)h(lists)h(the)g(activ)m(e)h(jobs.)41
b(The)30 b(options)g(ha)m(v)m(e)i(the)e(follo)m(wing)i(meanings:)630
-5066 y Fs(-l)384 b Ft(List)31 b(pro)s(cess)f Fl(id)p
-Ft(s)g(in)g(addition)h(to)g(the)f(normal)h(information.)630
-5230 y Fs(-n)384 b Ft(Displa)m(y)26 b(information)f(only)h(ab)s(out)e
-(jobs)h(that)g(ha)m(v)m(e)i(c)m(hanged)e(status)h(since)1110
-5340 y(the)31 b(user)e(w)m(as)i(last)g(noti\014ed)f(of)h(their)f
-(status.)p eop end
+5340 y Fs(-l)384 b Ft(List)31 b(pro)s(cess)f Fl(id)p
+Ft(s)g(in)g(addition)h(to)g(the)f(normal)h(information.)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(-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.)630 447 y Fs(-r)384 b Ft(Restrict)31
-b(output)f(to)i(running)c(jobs.)630 594 y Fs(-s)384 b
-Ft(Restrict)31 b(output)f(to)i(stopp)s(ed)d(jobs.)630
-742 y(If)23 b Fq(jobsp)s(ec)28 b Ft(is)c(giv)m(en,)i(output)d(is)h
+b(Job)30 b(Con)m(trol)2571 b(91)630 299 y Fs(-n)384 b
+Ft(Displa)m(y)26 b(information)f(only)h(ab)s(out)e(jobs)h(that)g(ha)m
+(v)m(e)i(c)m(hanged)e(status)h(since)1110 408 y(the)31
+b(user)e(w)m(as)i(last)g(noti\014ed)f(of)h(their)f(status.)630
+575 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.)630
+742 y Fs(-r)384 b Ft(Restrict)31 b(output)f(to)i(running)c(jobs.)630
+909 y Fs(-s)384 b Ft(Restrict)31 b(output)f(to)i(stopp)s(ed)d(jobs.)630
+1076 y(If)23 b Fq(jobsp)s(ec)28 b Ft(is)c(giv)m(en,)i(output)d(is)h
(restricted)g(to)g(information)g(ab)s(out)f(that)h(job.)39
-b(If)23 b Fq(jobsp)s(ec)630 852 y Ft(is)30 b(not)h(supplied,)e(the)i
-(status)g(of)f(all)h(jobs)f(is)h(listed.)630 980 y(If)g(the)g(`)p
+b(If)23 b Fq(jobsp)s(ec)630 1185 y Ft(is)30 b(not)h(supplied,)e(the)i
+(status)g(of)f(all)h(jobs)f(is)h(listed.)630 1323 y(If)g(the)g(`)p
Fs(-x)p Ft(')g(option)h(is)f(supplied,)g Fs(jobs)f Ft(replaces)i(an)m
(y)f Fq(jobsp)s(ec)37 b Ft(found)29 b(in)i Fq(command)k
-Ft(or)630 1090 y Fq(argumen)m(ts)41 b Ft(with)c(the)h(corresp)s(onding)
+Ft(or)630 1433 y Fq(argumen)m(ts)41 b Ft(with)c(the)h(corresp)s(onding)
e(pro)s(cess)h(group)f Fl(id)p Ft(,)k(and)c(executes)j
-Fq(command)p Ft(,)630 1199 y(passing)30 b(it)h Fq(argumen)m(t)r
-Ft(s,)g(returning)f(its)g(exit)i(status.)150 1347 y Fs(kill)870
-1476 y(kill)47 b([-s)g Fj(sigspec)11 b Fs(])45 b([-n)i
+Fq(command)p Ft(,)630 1542 y(passing)30 b(it)h Fq(argumen)m(t)r
+Ft(s,)g(returning)f(its)g(exit)i(status.)150 1709 y Fs(kill)870
+1847 y(kill)47 b([-s)g Fj(sigspec)11 b Fs(])45 b([-n)i
Fj(signum)11 b Fs(])45 b([-)p Fj(sigspec)11 b Fs(])44
-b Fj(jobspec)57 b Fs(or)47 b Fj(pid)870 1585 y Fs(kill)g(-l)g([)p
-Fj(exit_status)11 b Fs(])630 1714 y Ft(Send)22 b(a)i(signal)g(sp)s
+b Fj(jobspec)57 b Fs(or)47 b Fj(pid)870 1957 y Fs(kill)g(-l)g([)p
+Fj(exit_status)11 b Fs(])630 2095 y Ft(Send)22 b(a)i(signal)g(sp)s
(eci\014ed)f(b)m(y)g Fq(sigsp)s(ec)29 b Ft(or)24 b Fq(sign)m(um)f
Ft(to)h(the)g(pro)s(cess)f(named)g(b)m(y)g(job)g(sp)s(eci\014-)630
-1824 y(cation)k Fq(jobsp)s(ec)j Ft(or)25 b(pro)s(cess)g
+2205 y(cation)k Fq(jobsp)s(ec)j Ft(or)25 b(pro)s(cess)g
Fl(id)h Fq(pid)p Ft(.)38 b Fq(sigsp)s(ec)31 b Ft(is)25
b(either)h(a)g(case-insensitiv)m(e)i(signal)e(name)630
-1933 y(suc)m(h)k(as)h Fs(SIGINT)d Ft(\(with)j(or)f(without)h(the)f
+2314 y(suc)m(h)k(as)h Fs(SIGINT)d Ft(\(with)j(or)f(without)h(the)f
Fs(SIG)g Ft(pre\014x\))f(or)i(a)f(signal)h(n)m(um)m(b)s(er;)f
-Fq(sign)m(um)g Ft(is)630 2043 y(a)i(signal)g(n)m(um)m(b)s(er.)43
+Fq(sign)m(um)g Ft(is)630 2424 y(a)i(signal)g(n)m(um)m(b)s(er.)43
b(If)31 b Fq(sigsp)s(ec)37 b Ft(and)31 b Fq(sign)m(um)g
Ft(are)h(not)f(presen)m(t,)h Fs(SIGTERM)e Ft(is)h(used.)43
-b(The)630 2152 y(`)p Fs(-l)p Ft(')34 b(option)g(lists)h(the)f(signal)h
+b(The)630 2534 y(`)p Fs(-l)p Ft(')34 b(option)g(lists)h(the)f(signal)h
(names.)51 b(If)33 b(an)m(y)i(argumen)m(ts)f(are)g(supplied)f(when)g(`)
-p Fs(-l)p Ft(')h(is)630 2262 y(giv)m(en,)e(the)g(names)e(of)i(the)f
+p Fs(-l)p Ft(')h(is)630 2643 y(giv)m(en,)e(the)g(names)e(of)i(the)f
(signals)g(corresp)s(onding)f(to)i(the)f(argumen)m(ts)g(are)h(listed,)g
-(and)630 2372 y(the)c(return)f(status)h(is)g(zero.)41
-b Fq(exit)p 1796 2372 28 4 v 41 w(status)32 b Ft(is)c(a)g(n)m(um)m(b)s
+(and)630 2753 y(the)c(return)f(status)h(is)g(zero.)41
+b Fq(exit)p 1796 2753 28 4 v 41 w(status)32 b Ft(is)c(a)g(n)m(um)m(b)s
(er)f(sp)s(ecifying)g(a)i(signal)f(n)m(um)m(b)s(er)f(or)630
-2481 y(the)35 b(exit)h(status)f(of)g(a)g(pro)s(cess)g(terminated)g(b)m
+2862 y(the)35 b(exit)h(status)f(of)g(a)g(pro)s(cess)g(terminated)g(b)m
(y)g(a)g(signal.)55 b(The)34 b(return)g(status)h(is)g(zero)630
-2591 y(if)c(at)h(least)g(one)g(signal)f(w)m(as)h(successfully)f(sen)m
+2972 y(if)c(at)h(least)g(one)g(signal)f(w)m(as)h(successfully)f(sen)m
(t,)h(or)f(non-zero)h(if)f(an)g(error)f(o)s(ccurs)h(or)g(an)630
-2700 y(in)m(v)-5 b(alid)31 b(option)g(is)f(encoun)m(tered.)150
-2848 y Fs(wait)870 2977 y(wait)47 b([)p Fj(jobspec)56
-b Fs(or)47 b Fj(pid)57 b Fs(...])630 3105 y Ft(W)-8 b(ait)28
+3081 y(in)m(v)-5 b(alid)31 b(option)g(is)f(encoun)m(tered.)150
+3248 y Fs(wait)870 3386 y(wait)47 b([)p Fj(jobspec)56
+b Fs(or)47 b Fj(pid)57 b Fs(...])630 3525 y Ft(W)-8 b(ait)28
b(un)m(til)f(the)f(c)m(hild)h(pro)s(cess)f(sp)s(eci\014ed)g(b)m(y)g
(eac)m(h)h(pro)s(cess)f Fl(id)h Fq(pid)i Ft(or)d(job)g(sp)s
-(eci\014cation)630 3215 y Fq(jobsp)s(ec)40 b Ft(exits)35
+(eci\014cation)630 3634 y Fq(jobsp)s(ec)40 b Ft(exits)35
b(and)f(return)g(the)g(exit)i(status)f(of)g(the)g(last)g(command)f(w)m
-(aited)i(for.)53 b(If)35 b(a)630 3324 y(job)g(sp)s(ec)f(is)h(giv)m(en,)
+(aited)i(for.)53 b(If)35 b(a)630 3744 y(job)g(sp)s(ec)f(is)h(giv)m(en,)
i(all)f(pro)s(cesses)f(in)f(the)h(job)g(are)g(w)m(aited)h(for.)54
-b(If)35 b(no)f(argumen)m(ts)i(are)630 3434 y(giv)m(en,)d(all)f(curren)m
+b(If)35 b(no)f(argumen)m(ts)i(are)630 3853 y(giv)m(en,)d(all)f(curren)m
(tly)f(activ)m(e)i(c)m(hild)f(pro)s(cesses)f(are)g(w)m(aited)h(for,)g
-(and)e(the)i(return)e(status)630 3544 y(is)h(zero.)44
+(and)e(the)i(return)e(status)630 3963 y(is)h(zero.)44
b(If)30 b(neither)h Fq(jobsp)s(ec)36 b Ft(nor)31 b Fq(pid)i
Ft(sp)s(eci\014es)e(an)g(activ)m(e)i(c)m(hild)f(pro)s(cess)e(of)h(the)g
-(shell,)630 3653 y(the)g(return)e(status)i(is)f(127.)150
-3801 y Fs(disown)870 3930 y(disown)46 b([-ar])g([-h])h([)p
-Fj(jobspec)56 b Fs(...)o(])630 4058 y Ft(Without)32 b(options,)g(eac)m
+(shell,)630 4073 y(the)g(return)e(status)i(is)f(127.)150
+4239 y Fs(disown)870 4377 y(disown)46 b([-ar])g([-h])h([)p
+Fj(jobspec)56 b Fs(...)o(])630 4516 y Ft(Without)32 b(options,)g(eac)m
(h)h Fq(jobsp)s(ec)j Ft(is)c(remo)m(v)m(ed)g(from)f(the)h(table)g(of)g
-(activ)m(e)h(jobs.)44 b(If)31 b(the)630 4168 y(`)p Fs(-h)p
+(activ)m(e)h(jobs.)44 b(If)31 b(the)630 4625 y(`)p Fs(-h)p
Ft(')36 b(option)h(is)g(giv)m(en,)i(the)e(job)f(is)h(not)f(remo)m(v)m
(ed)i(from)e(the)h(table,)i(but)d(is)g(mark)m(ed)h(so)630
-4277 y(that)d Fs(SIGHUP)d Ft(is)j(not)f(sen)m(t)h(to)g(the)f(job)g(if)g
+4735 y(that)d Fs(SIGHUP)d Ft(is)j(not)f(sen)m(t)h(to)g(the)f(job)g(if)g
(the)h(shell)f(receiv)m(es)i(a)f Fs(SIGHUP)p Ft(.)47
-b(If)33 b Fq(jobsp)s(ec)38 b Ft(is)630 4387 y(not)32
+b(If)33 b Fq(jobsp)s(ec)38 b Ft(is)630 4844 y(not)32
b(presen)m(t,)f(and)g(neither)h(the)f(`)p Fs(-a)p Ft(')g(nor)g(`)p
Fs(-r)p Ft(')g(option)h(is)g(supplied,)e(the)i(curren)m(t)f(job)g(is)
-630 4497 y(used.)58 b(If)36 b(no)g Fq(jobsp)s(ec)41 b
+630 4954 y(used.)58 b(If)36 b(no)g Fq(jobsp)s(ec)41 b
Ft(is)36 b(supplied,)h(the)g(`)p Fs(-a)p Ft(')f(option)h(means)f(to)h
-(remo)m(v)m(e)h(or)e(mark)g(all)630 4606 y(jobs;)28 b(the)f(`)p
+(remo)m(v)m(e)h(or)e(mark)g(all)630 5064 y(jobs;)28 b(the)f(`)p
Fs(-r)p Ft(')g(option)g(without)g(a)g Fq(jobsp)s(ec)32
b Ft(argumen)m(t)27 b(restricts)h(op)s(eration)f(to)h(running)630
-4716 y(jobs.)150 4863 y Fs(suspend)870 4992 y(suspend)46
-b([-f])630 5121 y Ft(Susp)s(end)31 b(the)i(execution)h(of)g(this)f
-(shell)g(un)m(til)h(it)g(receiv)m(es)h(a)e Fs(SIGCONT)f
-Ft(signal.)50 b(A)33 b(login)630 5230 y(shell)24 b(cannot)h(b)s(e)e
-(susp)s(ended;)h(the)g(`)p Fs(-f)p Ft(')g(option)g(can)h(b)s(e)e(used)g
-(to)i(o)m(v)m(erride)g(this)f(and)f(force)630 5340 y(the)31
-b(susp)s(ension.)p eop end
+5173 y(jobs.)150 5340 y Fs(suspend)p eop end
%%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(When)f(job)f(con)m(trol)j(is)e(not)h
-(activ)m(e,)i(the)d Fs(kill)f Ft(and)h Fs(wait)f Ft(builtins)g(do)h
-(not)h(accept)h Fq(jobsp)s(ec)j Ft(argu-)150 408 y(men)m(ts.)41
-b(They)30 b(m)m(ust)g(b)s(e)g(supplied)f(pro)s(cess)h
-Fl(id)p Ft(s.)150 666 y Fr(7.3)68 b(Job)45 b(Con)l(trol)h(V)-11
-b(ariables)150 910 y Fs(auto_resume)630 1020 y Ft(This)31
-b(v)-5 b(ariable)32 b(con)m(trols)g(ho)m(w)g(the)f(shell)h(in)m
-(teracts)h(with)e(the)h(user)e(and)h(job)g(con)m(trol.)45
-b(If)630 1129 y(this)28 b(v)-5 b(ariable)30 b(exists)f(then)f(single)h
-(w)m(ord)f(simple)h(commands)f(without)g(redirections)i(are)630
-1239 y(treated)h(as)g(candidates)f(for)g(resumption)g(of)g(an)g
-(existing)h(job.)41 b(There)29 b(is)h(no)h(am)m(biguit)m(y)630
-1348 y(allo)m(w)m(ed;)f(if)d(there)g(is)g(more)g(than)f(one)h(job)g(b)s
-(eginning)f(with)g(the)h(string)g(t)m(yp)s(ed,)g(then)g(the)630
-1458 y(most)j(recen)m(tly)h(accessed)f(job)f(will)h(b)s(e)f(selected.)
-42 b(The)29 b(name)g(of)h(a)g(stopp)s(ed)e(job,)i(in)f(this)630
-1567 y(con)m(text,)h(is)e(the)g(command)g(line)g(used)f(to)h(start)g
-(it.)41 b(If)27 b(this)h(v)-5 b(ariable)28 b(is)g(set)g(to)h(the)e(v)-5
-b(alue)630 1677 y(`)p Fs(exact)p Ft(',)33 b(the)g(string)g(supplied)f
+b(Reference)g(Man)m(ual)870 299 y Fs(suspend)46 b([-f])630
+433 y Ft(Susp)s(end)31 b(the)i(execution)h(of)g(this)f(shell)g(un)m
+(til)h(it)g(receiv)m(es)h(a)e Fs(SIGCONT)f Ft(signal.)50
+b(A)33 b(login)630 543 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 653 y(the)31 b(susp)s(ension.)275
+812 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 922 y(men)m(ts.)41 b(They)30
+b(m)m(ust)g(b)s(e)g(supplied)f(pro)s(cess)h Fl(id)p Ft(s.)150
+1179 y Fr(7.3)68 b(Job)45 b(Con)l(trol)h(V)-11 b(ariables)150
+1423 y Fs(auto_resume)630 1533 y Ft(This)31 b(v)-5 b(ariable)32
+b(con)m(trols)g(ho)m(w)g(the)f(shell)h(in)m(teracts)h(with)e(the)h
+(user)e(and)h(job)g(con)m(trol.)45 b(If)630 1642 y(this)28
+b(v)-5 b(ariable)30 b(exists)f(then)f(single)h(w)m(ord)f(simple)h
+(commands)f(without)g(redirections)i(are)630 1752 y(treated)h(as)g
+(candidates)f(for)g(resumption)g(of)g(an)g(existing)h(job.)41
+b(There)29 b(is)h(no)h(am)m(biguit)m(y)630 1861 y(allo)m(w)m(ed;)f(if)d
+(there)g(is)g(more)g(than)f(one)h(job)g(b)s(eginning)f(with)g(the)h
+(string)g(t)m(yp)s(ed,)g(then)g(the)630 1971 y(most)j(recen)m(tly)h
+(accessed)f(job)f(will)h(b)s(e)f(selected.)42 b(The)29
+b(name)g(of)h(a)g(stopp)s(ed)e(job,)i(in)f(this)630 2081
+y(con)m(text,)h(is)e(the)g(command)g(line)g(used)f(to)h(start)g(it.)41
+b(If)27 b(this)h(v)-5 b(ariable)28 b(is)g(set)g(to)h(the)e(v)-5
+b(alue)630 2190 y(`)p Fs(exact)p Ft(',)33 b(the)g(string)g(supplied)f
(m)m(ust)h(matc)m(h)g(the)h(name)f(of)g(a)g(stopp)s(ed)f(job)h
-(exactly;)j(if)630 1787 y(set)29 b(to)h(`)p Fs(substring)p
+(exactly;)j(if)630 2300 y(set)29 b(to)h(`)p Fs(substring)p
Ft(',)d(the)i(string)g(supplied)e(needs)i(to)g(matc)m(h)h(a)f
-(substring)f(of)h(the)g(name)630 1896 y(of)38 b(a)f(stopp)s(ed)g(job.)
+(substring)f(of)h(the)g(name)630 2409 y(of)38 b(a)f(stopp)s(ed)g(job.)
62 b(The)37 b(`)p Fs(substring)p Ft(')e(v)-5 b(alue)38
b(pro)m(vides)f(functionalit)m(y)i(analogous)g(to)630
-2006 y(the)f(`)p Fs(\045?)p Ft(')f(job)h Fl(id)f Ft(\(see)i(Section)f
+2519 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
-b(If)37 b(set)h(to)h(an)m(y)630 2115 y(other)32 b(v)-5
+b(If)37 b(set)h(to)h(an)m(y)630 2628 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 2225
+(of)h(a)g(stopp)s(ed)e(job's)i(name;)g(this)630 2738
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
the execution of processes and continue (resume)
their execution at a later point. A user typically employs
this facility via an interactive interface supplied jointly
-by the system's terminal driver and Bash.
+by the operating system kernel's terminal driver and Bash.
The shell associates a @var{job} with each pipeline. It keeps a
table of currently executing jobs, which may be listed with the
These processes are said to be in the foreground. Background
processes are those whose process group @sc{id} differs from the
terminal's; such processes are immune to keyboard-generated
-signals. Only foreground processes are allowed to read from or
-write to the terminal. Background processes which attempt to
-read from (write to) the terminal are sent a @code{SIGTTIN}
-(@code{SIGTTOU}) signal by the terminal driver, which, unless
-caught, suspends the process.
+signals. Only foreground processes are allowed to read from or, if
+the user so specifies with @code{stty tostop}, write to the terminal.
+Background processes which attempt to
+read from (write to when @code{stty tostop} is in effect) the
+terminal are sent a @code{SIGTTIN} (@code{SIGTTOU})
+signal by the kernel's terminal driver,
+which, unless caught, suspends the process.
If the operating system on which Bash is running supports
job control, Bash contains facilities to use it. Typing the
%!PS-Adobe-3.0
%%Creator: groff version 1.19.2
-%%CreationDate: Mon Feb 23 11:56:03 2009
+%%CreationDate: Thu Mar 5 07:54:57 2009
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
%!PS-Adobe-3.0
%%Creator: groff version 1.19.2
-%%CreationDate: Mon Feb 23 11:56:03 2009
+%%CreationDate: Thu Mar 5 07:54:57 2009
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.19 2
Copyright (C) 1988-2009 Free Software Foundation, Inc.
@end ignore
-@set LASTCHANGE Fri Feb 13 18:29:03 EST 2009
+@set LASTCHANGE Wed Mar 4 15:56:07 EST 2009
@set EDITION 4.0
@set VERSION 4.0
-@set UPDATED 13 February 2009
-@set UPDATED-MONTH February 2009
+@set UPDATED 4 March 2009
+@set UPDATED-MONTH March 2009
#define LEX_INHEREDOC 0x080
#define LEX_HEREDELIM 0x100 /* reading here-doc delimiter */
#define LEX_STRIPDOC 0x200 /* <<- strip tabs from here doc delim */
+#define LEX_INWORD 0x400
#define COMSUB_META(ch) ((ch) == ';' || (ch) == '&' || (ch) == '|')
char *ret, *nestret, *ttrans;
int retind, retsize, rflags;
-/* itrace("parse_matched_pair: open = %c close = %c flags = %d", open, close, flags); */
+/*itrace("parse_matched_pair: open = %c close = %c flags = %d", open, close, flags); */
count = 1;
tflags = 0;
int open, close;
int *lenp, flags;
{
- int count, ch, peekc, tflags, lex_rwlen, lex_firstind;
+ int count, ch, peekc, tflags, lex_rwlen, lex_wlen, lex_firstind;
int nestlen, ttranslen, start_lineno;
char *ret, *nestret, *ttrans, *heredelim;
int retind, retsize, rflags, hdlen;
retind = 0;
start_lineno = line_number;
- lex_rwlen = 0;
+ lex_rwlen = lex_wlen = 0;
heredelim = 0;
lex_firstind = -1;
ret[retind++] = ch;
if ((tflags & LEX_INCOMMENT) && ch == '\n')
+{
+/*itrace("parse_comsub:%d: lex_incomment -> 0 ch = `%c'", line_number, ch);*/
tflags &= ~LEX_INCOMMENT;
+}
+
+ continue;
+ }
+
+ if (tflags & LEX_PASSNEXT) /* last char was backslash */
+ {
+/*itrace("parse_comsub:%d: lex_passnext -> 0 ch = `%c' (%d)", line_number, ch, __LINE__);*/
+ tflags &= ~LEX_PASSNEXT;
+ if (qc != '\'' && ch == '\n') /* double-quoted \<newline> disappears. */
+ {
+ if (retind > 0)
+ retind--; /* swallow previously-added backslash */
+ continue;
+ }
+ RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
+ if MBTEST(ch == CTLESC || ch == CTLNUL)
+ ret[retind++] = CTLESC;
+ ret[retind++] = ch;
continue;
}
+ /* If this is a shell break character, we are not in a word. If not,
+ we either start or continue a word. */
+ if MBTEST(shellbreak (ch))
+ {
+ tflags &= ~LEX_INWORD;
+/*itrace("parse_comsub:%d: lex_inword -> 0 ch = `%c' (%d)", line_number, ch, __LINE__);*/
+ }
+ else
+ {
+ if (tflags & LEX_INWORD)
+ {
+ lex_wlen++;
+/*itrace("parse_comsub:%d: lex_inword == 1 ch = `%c' lex_wlen = %d (%d)", line_number, ch, lex_wlen, __LINE__);*/
+ }
+ else
+ {
+/*itrace("parse_comsub:%d: lex_inword -> 1 ch = `%c' (%d)", line_number, ch, __LINE__);*/
+ tflags |= LEX_INWORD;
+ lex_wlen = 0;
+ }
+ }
+
/* Skip whitespace */
if MBTEST(shellblank (ch) && lex_rwlen == 0)
{
}
/* Meta-characters that can introduce a reserved word. Not perfect yet. */
- if MBTEST((tflags & LEX_PASSNEXT) == 0 && (tflags & LEX_RESWDOK) == 0 && (tflags & LEX_CKCASE) && (tflags & LEX_INCOMMENT) == 0 && shellmeta(ch))
+ if MBTEST((tflags & LEX_RESWDOK) == 0 && (tflags & LEX_CKCASE) && (tflags & LEX_INCOMMENT) == 0 && shellmeta(ch))
{
/* Add this character. */
RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
{
RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
ret[retind++] = peekc;
-/*itrace("parse_comsub:%d: set lex_reswordok = 1, ch = `%c'", line_number, ch); */
+/*itrace("parse_comsub:%d: set lex_reswordok = 1, ch = `%c'", line_number, ch);*/
tflags |= LEX_RESWDOK;
lex_rwlen = 0;
continue;
else if (ch == '\n' || COMSUB_META(ch))
{
shell_ungetc (peekc);
- tflags |= LEX_RESWDOK;
/*itrace("parse_comsub:%d: set lex_reswordok = 1, ch = `%c'", line_number, ch);*/
+ tflags |= LEX_RESWDOK;
lex_rwlen = 0;
continue;
}
if (STREQN (ret + retind - 4, "case", 4))
{
tflags |= LEX_INCASE;
-/*itrace("parse_comsub:%d: found `case', lex_incase -> 1", line_number);*/
+/*itrace("parse_comsub:%d: found `case', lex_incase -> 1 lex_reswdok -> 0", line_number);*/
}
else if (STREQN (ret + retind - 4, "esac", 4))
{
tflags &= ~LEX_INCASE;
-/*itrace("parse_comsub:%d: found `esac', lex_incase -> 0", line_number);*/
+/*itrace("parse_comsub:%d: found `esac', lex_incase -> 0 lex_reswdok -> 0", line_number);*/
}
tflags &= ~LEX_RESWDOK;
}
- else if (shellbreak (ch) == 0)
+ else if MBTEST((tflags & LEX_CKCOMMENT) && ch == '#' && (lex_rwlen == 0 || ((tflags & LEX_INWORD) && lex_wlen == 0)))
+ ; /* don't modify LEX_RESWDOK if we're starting a comment */
+ else if MBTEST((tflags & LEX_INCASE) && ch != '\n')
+ /* If we can read a reserved word and we're in case, we're at the
+ point where we can read a new pattern list or an esac. We
+ handle the esac case above. If we read a newline, we want to
+ leave LEX_RESWDOK alone. If we read anything else, we want to
+ turn off LEX_RESWDOK, since we're going to read a pattern list. */
{
- tflags &= ~LEX_RESWDOK;
+ tflags &= ~LEX_RESWDOK;
+/*itrace("parse_comsub:%d: lex_incase == 1 found `%c', lex_reswordok -> 0", line_number, ch);*/
+}
+ else if MBTEST(shellbreak (ch) == 0)
+{
+ tflags &= ~LEX_RESWDOK;
/*itrace("parse_comsub:%d: found `%c', lex_reswordok -> 0", line_number, ch);*/
}
}
+ /* Might be the start of a here-doc delimiter */
if MBTEST((tflags & LEX_INCOMMENT) == 0 && (tflags & LEX_CKCASE) && ch == '<')
{
/* Add this character. */
continue;
}
else
- ch = peekc; /* fall through and continue XXX - this skips comments if peekc == '#' */
+ ch = peekc; /* fall through and continue XXX */
}
- /* Not exactly right yet, should handle shell metacharacters, too. If
- any changes are made to this test, make analogous changes to subst.c:
- extract_delimited_string(). */
- else if MBTEST((tflags & LEX_CKCOMMENT) && (tflags & LEX_INCOMMENT) == 0 && ch == '#' && (retind == 0 || ret[retind-1] == '\n' || shellblank (ret[retind - 1])))
+ else if MBTEST((tflags & LEX_CKCOMMENT) && (tflags & LEX_INCOMMENT) == 0 && ch == '#' && (((tflags & LEX_RESWDOK) && lex_rwlen == 0) || ((tflags & LEX_INWORD) && lex_wlen == 0)))
+{
+/*itrace("parse_comsub:%d: lex_incomment -> 1 (%d)", line_number, __LINE__);*/
tflags |= LEX_INCOMMENT;
+}
- if (tflags & LEX_PASSNEXT) /* last char was backslash */
- {
- tflags &= ~LEX_PASSNEXT;
- if (qc != '\'' && ch == '\n') /* double-quoted \<newline> disappears. */
- {
- if (retind > 0)
- retind--; /* swallow previously-added backslash */
- continue;
- }
-
- RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
- if MBTEST(ch == CTLESC || ch == CTLNUL)
- ret[retind++] = CTLESC;
- ret[retind++] = ch;
- continue;
- }
- else if MBTEST(ch == CTLESC || ch == CTLNUL) /* special shell escapes */
+ if MBTEST(ch == CTLESC || ch == CTLNUL) /* special shell escapes */
{
RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
ret[retind++] = CTLESC;
/*itrace("parse_comsub:%d: found close: count = %d", line_number, count);*/
}
else if MBTEST(((flags & P_FIRSTCLOSE) == 0) && (tflags & LEX_INCASE) == 0 && ch == open) /* nested begin */
+{
count++;
+/*itrace("parse_comsub:%d: found open: count = %d", line_number, count);*/
+}
/* Add this character. */
RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
--- /dev/null
+*** ../bash-4.0/parse.y 2009-01-08 08:29:12.000000000 -0500
+--- parse.y 2009-03-06 20:32:35.000000000 -0500
+***************
+*** 1616,1623 ****
+ int *ret;
+
+! ret = (int *)xmalloc (3 * sizeof (int));
+ ret[0] = last_read_token;
+ ret[1] = token_before_that;
+ ret[2] = two_tokens_ago;
+ return ret;
+ }
+--- 1616,1624 ----
+ int *ret;
+
+! ret = (int *)xmalloc (4 * sizeof (int));
+ ret[0] = last_read_token;
+ ret[1] = token_before_that;
+ ret[2] = two_tokens_ago;
++ ret[3] = current_token;
+ return ret;
+ }
+***************
+*** 1632,1635 ****
+--- 1633,1637 ----
+ token_before_that = ts[1];
+ two_tokens_ago = ts[2];
++ current_token = ts[3];
+ }
+
+***************
+*** 2669,2672 ****
+--- 2671,2675 ----
+ word_desc_to_read = (WORD_DESC *)NULL;
+
++ current_token = '\n'; /* XXX */
+ last_read_token = '\n';
+ token_to_read = '\n';
+***************
+*** 2916,2919 ****
+--- 2919,2923 ----
+ #define P_COMMAND 0x08 /* parsing a command, so look for comments */
+ #define P_BACKQUOTE 0x10 /* parsing a backquoted command substitution */
++ #define P_ARRAYSUB 0x20 /* parsing a [...] array subscript for assignment */
+
+ /* Lexical state while parsing a grouping construct or $(...). */
+***************
+*** 2928,2931 ****
+--- 2932,2936 ----
+ #define LEX_HEREDELIM 0x100 /* reading here-doc delimiter */
+ #define LEX_STRIPDOC 0x200 /* <<- strip tabs from here doc delim */
++ #define LEX_INWORD 0x400
+
+ #define COMSUB_META(ch) ((ch) == ';' || (ch) == '&' || (ch) == '|')
+***************
+*** 2963,2967 ****
+ int retind, retsize, rflags;
+
+! /* itrace("parse_matched_pair: open = %c close = %c flags = %d", open, close, flags); */
+ count = 1;
+ tflags = 0;
+--- 2968,2972 ----
+ int retind, retsize, rflags;
+
+! /*itrace("parse_matched_pair: open = %c close = %c flags = %d", open, close, flags); */
+ count = 1;
+ tflags = 0;
+***************
+*** 3130,3133 ****
+--- 3135,3140 ----
+ FREE (nestret);
+ }
++ else if ((flags & P_ARRAYSUB) && (tflags & LEX_WASDOL) && (ch == '(' || ch == '{' || ch == '[')) /* ) } ] */
++ goto parse_dollar_word;
+ }
+ /* Parse an old-style command substitution within double quotes as a
+***************
+*** 3146,3149 ****
+--- 3153,3157 ----
+ /* check for $(), $[], or ${} inside quoted string. */
+ {
++ parse_dollar_word:
+ if (open == ch) /* undo previous increment */
+ count--;
+***************
+*** 3180,3184 ****
+ int *lenp, flags;
+ {
+! int count, ch, peekc, tflags, lex_rwlen, lex_firstind;
+ int nestlen, ttranslen, start_lineno;
+ char *ret, *nestret, *ttrans, *heredelim;
+--- 3188,3192 ----
+ int *lenp, flags;
+ {
+! int count, ch, peekc, tflags, lex_rwlen, lex_wlen, lex_firstind;
+ int nestlen, ttranslen, start_lineno;
+ char *ret, *nestret, *ttrans, *heredelim;
+***************
+*** 3201,3205 ****
+
+ start_lineno = line_number;
+! lex_rwlen = 0;
+
+ heredelim = 0;
+--- 3209,3213 ----
+
+ start_lineno = line_number;
+! lex_rwlen = lex_wlen = 0;
+
+ heredelim = 0;
+***************
+*** 3268,3271 ****
+--- 3276,3319 ----
+ }
+
++ if (tflags & LEX_PASSNEXT) /* last char was backslash */
++ {
++ /*itrace("parse_comsub:%d: lex_passnext -> 0 ch = `%c' (%d)", line_number, ch, __LINE__);*/
++ tflags &= ~LEX_PASSNEXT;
++ if (qc != '\'' && ch == '\n') /* double-quoted \<newline> disappears. */
++ {
++ if (retind > 0)
++ retind--; /* swallow previously-added backslash */
++ continue;
++ }
++
++ RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
++ if MBTEST(ch == CTLESC || ch == CTLNUL)
++ ret[retind++] = CTLESC;
++ ret[retind++] = ch;
++ continue;
++ }
++
++ /* If this is a shell break character, we are not in a word. If not,
++ we either start or continue a word. */
++ if MBTEST(shellbreak (ch))
++ {
++ tflags &= ~LEX_INWORD;
++ /*itrace("parse_comsub:%d: lex_inword -> 0 ch = `%c' (%d)", line_number, ch, __LINE__);*/
++ }
++ else
++ {
++ if (tflags & LEX_INWORD)
++ {
++ lex_wlen++;
++ /*itrace("parse_comsub:%d: lex_inword == 1 ch = `%c' lex_wlen = %d (%d)", line_number, ch, lex_wlen, __LINE__);*/
++ }
++ else
++ {
++ /*itrace("parse_comsub:%d: lex_inword -> 1 ch = `%c' (%d)", line_number, ch, __LINE__);*/
++ tflags |= LEX_INWORD;
++ lex_wlen = 0;
++ }
++ }
++
+ /* Skip whitespace */
+ if MBTEST(shellblank (ch) && lex_rwlen == 0)
+***************
+*** 3317,3321 ****
+ RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+ ret[retind++] = peekc;
+! /*itrace("parse_comsub:%d: set lex_reswordok = 1, ch = `%c'", line_number, ch); */
+ tflags |= LEX_RESWDOK;
+ lex_rwlen = 0;
+--- 3365,3369 ----
+ RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+ ret[retind++] = peekc;
+! /*itrace("parse_comsub:%d: set lex_reswordok = 1, ch = `%c'", line_number, ch);*/
+ tflags |= LEX_RESWDOK;
+ lex_rwlen = 0;
+***************
+*** 3325,3330 ****
+ {
+ shell_ungetc (peekc);
+- tflags |= LEX_RESWDOK;
+ /*itrace("parse_comsub:%d: set lex_reswordok = 1, ch = `%c'", line_number, ch);*/
+ lex_rwlen = 0;
+ continue;
+--- 3373,3378 ----
+ {
+ shell_ungetc (peekc);
+ /*itrace("parse_comsub:%d: set lex_reswordok = 1, ch = `%c'", line_number, ch);*/
++ tflags |= LEX_RESWDOK;
+ lex_rwlen = 0;
+ continue;
+***************
+*** 3365,3369 ****
+ tflags &= ~LEX_RESWDOK;
+ }
+! else if (shellbreak (ch) == 0)
+ {
+ tflags &= ~LEX_RESWDOK;
+--- 3413,3419 ----
+ tflags &= ~LEX_RESWDOK;
+ }
+! else if MBTEST((tflags & LEX_CKCOMMENT) && ch == '#' && (lex_rwlen == 0 || ((tflags & LEX_INWORD) && lex_wlen == 0)))
+! ; /* don't turn off LEX_RESWDOK if we're starting a comment */
+! else if MBTEST(shellbreak (ch) == 0)
+ {
+ tflags &= ~LEX_RESWDOK;
+***************
+*** 3372,3375 ****
+--- 3422,3426 ----
+ }
+
++ /* Might be the start of a here-doc delimiter */
+ if MBTEST((tflags & LEX_INCOMMENT) == 0 && (tflags & LEX_CKCASE) && ch == '<')
+ {
+***************
+*** 3395,3428 ****
+ else
+ shell_ungetc (peekc);
+! tflags |= LEX_HEREDELIM;
+! lex_firstind = -1;
+ continue;
+ }
+ else
+! ch = peekc; /* fall through and continue XXX - this skips comments if peekc == '#' */
+ }
+! /* Not exactly right yet, should handle shell metacharacters, too. If
+! any changes are made to this test, make analogous changes to subst.c:
+! extract_delimited_string(). */
+! else if MBTEST((tflags & LEX_CKCOMMENT) && (tflags & LEX_INCOMMENT) == 0 && ch == '#' && (retind == 0 || ret[retind-1] == '\n' || shellblank (ret[retind - 1])))
+ tflags |= LEX_INCOMMENT;
+
+! if (tflags & LEX_PASSNEXT) /* last char was backslash */
+! {
+! tflags &= ~LEX_PASSNEXT;
+! if (qc != '\'' && ch == '\n') /* double-quoted \<newline> disappears. */
+! {
+! if (retind > 0)
+! retind--; /* swallow previously-added backslash */
+! continue;
+! }
+!
+! RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
+! if MBTEST(ch == CTLESC || ch == CTLNUL)
+! ret[retind++] = CTLESC;
+! ret[retind++] = ch;
+! continue;
+! }
+! else if MBTEST(ch == CTLESC || ch == CTLNUL) /* special shell escapes */
+ {
+ RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
+--- 3446,3466 ----
+ else
+ shell_ungetc (peekc);
+! if (peekc != '<')
+! {
+! tflags |= LEX_HEREDELIM;
+! lex_firstind = -1;
+! }
+ continue;
+ }
+ else
+! ch = peekc; /* fall through and continue XXX */
+ }
+! else if MBTEST((tflags & LEX_CKCOMMENT) && (tflags & LEX_INCOMMENT) == 0 && ch == '#' && (((tflags & LEX_RESWDOK) && lex_rwlen == 0) || ((tflags & LEX_INWORD) && lex_wlen == 0)))
+! {
+! /*itrace("parse_comsub:%d: lex_incomment -> 1 (%d)", line_number, __LINE__);*/
+ tflags |= LEX_INCOMMENT;
++ }
+
+! if MBTEST(ch == CTLESC || ch == CTLNUL) /* special shell escapes */
+ {
+ RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
+***************
+*** 4249,4253 ****
+ (token_index == 0 && (parser_state&PST_COMPASSIGN))))
+ {
+! ttok = parse_matched_pair (cd, '[', ']', &ttoklen, 0);
+ if (ttok == &matched_pair_error)
+ return -1; /* Bail immediately. */
+--- 4287,4291 ----
+ (token_index == 0 && (parser_state&PST_COMPASSIGN))))
+ {
+! ttok = parse_matched_pair (cd, '[', ']', &ttoklen, P_ARRAYSUB);
+ if (ttok == &matched_pair_error)
+ return -1; /* Bail immediately. */
+***************
+*** 4450,4453 ****
+--- 4488,4492 ----
+ case AND_AND:
+ case BANG:
++ case BAR_AND:
+ case DO:
+ case DONE:
+***************
+*** 5184,5188 ****
+ if (interactive && EOF_Reached)
+ EOF_Reached = 0;
+! last_command_exit_value = EX_USAGE;
+ return;
+ }
+--- 5223,5227 ----
+ if (interactive && EOF_Reached)
+ EOF_Reached = 0;
+! last_command_exit_value = EX_BADUSAGE;
+ return;
+ }
+***************
+*** 5199,5203 ****
+ print_offending_line ();
+
+! last_command_exit_value = EX_USAGE;
+ return;
+ }
+--- 5238,5242 ----
+ print_offending_line ();
+
+! last_command_exit_value = EX_BADUSAGE;
+ return;
+ }
+***************
+*** 5230,5234 ****
+ }
+
+! last_command_exit_value = EX_USAGE;
+ }
+
+--- 5269,5273 ----
+ }
+
+! last_command_exit_value = EX_BADUSAGE;
+ }
+
--- /dev/null
+/* parse.y - Yacc grammar for bash. */
+
+/* Copyright (C) 1989-2009 Free Software Foundation, Inc.
+
+ This file is part of GNU Bash, the Bourne Again SHell.
+
+ Bash is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Bash is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Bash. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+%{
+#include "config.h"
+
+#include "bashtypes.h"
+#include "bashansi.h"
+
+#include "filecntl.h"
+
+#if defined (HAVE_UNISTD_H)
+# include <unistd.h>
+#endif
+
+#if defined (HAVE_LOCALE_H)
+# include <locale.h>
+#endif
+
+#include <stdio.h>
+#include "chartypes.h"
+#include <signal.h>
+
+#include "memalloc.h"
+
+#include "bashintl.h"
+
+#define NEED_STRFTIME_DECL /* used in externs.h */
+
+#include "shell.h"
+#include "trap.h"
+#include "flags.h"
+#include "parser.h"
+#include "mailcheck.h"
+#include "test.h"
+#include "builtins.h"
+#include "builtins/common.h"
+#include "builtins/builtext.h"
+
+#include "shmbutil.h"
+
+#if defined (READLINE)
+# include "bashline.h"
+# include <readline/readline.h>
+#endif /* READLINE */
+
+#if defined (HISTORY)
+# include "bashhist.h"
+# include <readline/history.h>
+#endif /* HISTORY */
+
+#if defined (JOB_CONTROL)
+# include "jobs.h"
+#endif /* JOB_CONTROL */
+
+#if defined (ALIAS)
+# include "alias.h"
+#else
+typedef void *alias_t;
+#endif /* ALIAS */
+
+#if defined (PROMPT_STRING_DECODE)
+# ifndef _MINIX
+# include <sys/param.h>
+# endif
+# include <time.h>
+# if defined (TM_IN_SYS_TIME)
+# include <sys/types.h>
+# include <sys/time.h>
+# endif /* TM_IN_SYS_TIME */
+# include "maxpath.h"
+#endif /* PROMPT_STRING_DECODE */
+
+#define RE_READ_TOKEN -99
+#define NO_EXPANSION -100
+
+#ifdef DEBUG
+# define YYDEBUG 1
+#else
+# define YYDEBUG 0
+#endif
+
+#if defined (HANDLE_MULTIBYTE)
+# define last_shell_getc_is_singlebyte \
+ ((shell_input_line_index > 1) \
+ ? shell_input_line_property[shell_input_line_index - 1] \
+ : 1)
+# define MBTEST(x) ((x) && last_shell_getc_is_singlebyte)
+#else
+# define last_shell_getc_is_singlebyte 1
+# define MBTEST(x) ((x))
+#endif
+
+#if defined (EXTENDED_GLOB)
+extern int extended_glob;
+#endif
+
+extern int eof_encountered;
+extern int no_line_editing, running_under_emacs;
+extern int current_command_number;
+extern int sourcelevel, parse_and_execute_level;
+extern int posixly_correct;
+extern int last_command_exit_value;
+extern char *shell_name, *current_host_name;
+extern char *dist_version;
+extern int patch_level;
+extern int dump_translatable_strings, dump_po_strings;
+extern sh_builtin_func_t *last_shell_builtin, *this_shell_builtin;
+#if defined (BUFFERED_INPUT)
+extern int bash_input_fd_changed;
+#endif
+
+extern int errno;
+/* **************************************************************** */
+/* */
+/* "Forward" declarations */
+/* */
+/* **************************************************************** */
+
+#ifdef DEBUG
+static void debug_parser __P((int));
+#endif
+
+static int yy_getc __P((void));
+static int yy_ungetc __P((int));
+
+#if defined (READLINE)
+static int yy_readline_get __P((void));
+static int yy_readline_unget __P((int));
+#endif
+
+static int yy_string_get __P((void));
+static int yy_string_unget __P((int));
+static void rewind_input_string __P((void));
+static int yy_stream_get __P((void));
+static int yy_stream_unget __P((int));
+
+static int shell_getc __P((int));
+static void shell_ungetc __P((int));
+static void discard_until __P((int));
+
+#if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
+static void push_string __P((char *, int, alias_t *));
+static void pop_string __P((void));
+static void free_string_list __P((void));
+#endif
+
+static char *read_a_line __P((int));
+
+static int reserved_word_acceptable __P((int));
+static int yylex __P((void));
+static int alias_expand_token __P((char *));
+static int time_command_acceptable __P((void));
+static int special_case_tokens __P((char *));
+static int read_token __P((int));
+static char *parse_matched_pair __P((int, int, int, int *, int));
+static char *parse_comsub __P((int, int, int, int *, int));
+#if defined (ARRAY_VARS)
+static char *parse_compound_assignment __P((int *));
+#endif
+#if defined (DPAREN_ARITHMETIC) || defined (ARITH_FOR_COMMAND)
+static int parse_dparen __P((int));
+static int parse_arith_cmd __P((char **, int));
+#endif
+#if defined (COND_COMMAND)
+static void cond_error __P((void));
+static COND_COM *cond_expr __P((void));
+static COND_COM *cond_or __P((void));
+static COND_COM *cond_and __P((void));
+static COND_COM *cond_term __P((void));
+static int cond_skip_newlines __P((void));
+static COMMAND *parse_cond_command __P((void));
+#endif
+#if defined (ARRAY_VARS)
+static int token_is_assignment __P((char *, int));
+static int token_is_ident __P((char *, int));
+#endif
+static int read_token_word __P((int));
+static void discard_parser_constructs __P((int));
+
+static char *error_token_from_token __P((int));
+static char *error_token_from_text __P((void));
+static void print_offending_line __P((void));
+static void report_syntax_error __P((char *));
+
+static void handle_eof_input_unit __P((void));
+static void prompt_again __P((void));
+#if 0
+static void reset_readline_prompt __P((void));
+#endif
+static void print_prompt __P((void));
+
+#if defined (HANDLE_MULTIBYTE)
+static void set_line_mbstate __P((void));
+static char *shell_input_line_property = NULL;
+#else
+# define set_line_mbstate()
+#endif
+
+extern int yyerror __P((const char *));
+
+#ifdef DEBUG
+extern int yydebug;
+#endif
+
+/* Default prompt strings */
+char *primary_prompt = PPROMPT;
+char *secondary_prompt = SPROMPT;
+
+/* PROMPT_STRING_POINTER points to one of these, never to an actual string. */
+char *ps1_prompt, *ps2_prompt;
+
+/* Handle on the current prompt string. Indirectly points through
+ ps1_ or ps2_prompt. */
+char **prompt_string_pointer = (char **)NULL;
+char *current_prompt_string;
+
+/* Non-zero means we expand aliases in commands. */
+int expand_aliases = 0;
+
+/* If non-zero, the decoded prompt string undergoes parameter and
+ variable substitution, command substitution, arithmetic substitution,
+ string expansion, process substitution, and quote removal in
+ decode_prompt_string. */
+int promptvars = 1;
+
+/* If non-zero, $'...' and $"..." are expanded when they appear within
+ a ${...} expansion, even when the expansion appears within double
+ quotes. */
+int extended_quote = 1;
+
+/* The decoded prompt string. Used if READLINE is not defined or if
+ editing is turned off. Analogous to current_readline_prompt. */
+static char *current_decoded_prompt;
+
+/* The number of lines read from input while creating the current command. */
+int current_command_line_count;
+
+/* The token that currently denotes the end of parse. */
+int shell_eof_token;
+
+/* The token currently being read. */
+int current_token;
+
+/* Variables to manage the task of reading here documents, because we need to
+ defer the reading until after a complete command has been collected. */
+static REDIRECT *redir_stack[10];
+int need_here_doc;
+
+/* Where shell input comes from. History expansion is performed on each
+ line when the shell is interactive. */
+static char *shell_input_line = (char *)NULL;
+static int shell_input_line_index;
+static int shell_input_line_size; /* Amount allocated for shell_input_line. */
+static int shell_input_line_len; /* strlen (shell_input_line) */
+
+/* Either zero or EOF. */
+static int shell_input_line_terminator;
+
+/* The line number in a script on which a function definition starts. */
+static int function_dstart;
+
+/* The line number in a script on which a function body starts. */
+static int function_bstart;
+
+/* The line number in a script at which an arithmetic for command starts. */
+static int arith_for_lineno;
+
+/* The current parser state. */
+static int parser_state;
+
+/* The last read token, or NULL. read_token () uses this for context
+ checking. */
+static int last_read_token;
+
+/* The token read prior to last_read_token. */
+static int token_before_that;
+
+/* The token read prior to token_before_that. */
+static int two_tokens_ago;
+
+/* The line number in a script where the word in a `case WORD', `select WORD'
+ or `for WORD' begins. This is a nested command maximum, since the array
+ index is decremented after a case, select, or for command is parsed. */
+#define MAX_CASE_NEST 128
+static int word_lineno[MAX_CASE_NEST];
+static int word_top = -1;
+
+/* If non-zero, it is the token that we want read_token to return
+ regardless of what text is (or isn't) present to be read. This
+ is reset by read_token. If token_to_read == WORD or
+ ASSIGNMENT_WORD, yylval.word should be set to word_desc_to_read. */
+static int token_to_read;
+static WORD_DESC *word_desc_to_read;
+
+static REDIRECTEE redir;
+%}
+
+%union {
+ WORD_DESC *word; /* the word that we read. */
+ int number; /* the number that we read. */
+ WORD_LIST *word_list;
+ COMMAND *command;
+ REDIRECT *redirect;
+ ELEMENT element;
+ PATTERN_LIST *pattern;
+}
+
+/* Reserved words. Members of the first group are only recognized
+ in the case that they are preceded by a list_terminator. Members
+ of the second group are for [[...]] commands. Members of the
+ third group are recognized only under special circumstances. */
+%token IF THEN ELSE ELIF FI CASE ESAC FOR SELECT WHILE UNTIL DO DONE FUNCTION COPROC
+%token COND_START COND_END COND_ERROR
+%token IN BANG TIME TIMEOPT
+
+/* More general tokens. yylex () knows how to make these. */
+%token <word> WORD ASSIGNMENT_WORD
+%token <number> NUMBER
+%token <word_list> ARITH_CMD ARITH_FOR_EXPRS
+%token <command> COND_CMD
+%token AND_AND OR_OR GREATER_GREATER LESS_LESS LESS_AND LESS_LESS_LESS
+%token GREATER_AND SEMI_SEMI SEMI_AND SEMI_SEMI_AND
+%token LESS_LESS_MINUS AND_GREATER AND_GREATER_GREATER LESS_GREATER
+%token GREATER_BAR BAR_AND
+
+/* The types that the various syntactical units return. */
+
+%type <command> inputunit command pipeline pipeline_command
+%type <command> list list0 list1 compound_list simple_list simple_list1
+%type <command> simple_command shell_command
+%type <command> for_command select_command case_command group_command
+%type <command> arith_command
+%type <command> cond_command
+%type <command> arith_for_command
+%type <command> coproc
+%type <command> function_def function_body if_command elif_clause subshell
+%type <redirect> redirection redirection_list
+%type <element> simple_command_element
+%type <word_list> word_list pattern
+%type <pattern> pattern_list case_clause_sequence case_clause
+%type <number> timespec
+%type <number> list_terminator
+
+%start inputunit
+
+%left '&' ';' '\n' yacc_EOF
+%left AND_AND OR_OR
+%right '|' BAR_AND
+%%
+
+inputunit: simple_list simple_list_terminator
+ {
+ /* Case of regular command. Discard the error
+ safety net,and return the command just parsed. */
+ global_command = $1;
+ eof_encountered = 0;
+ /* discard_parser_constructs (0); */
+ if (parser_state & PST_CMDSUBST)
+ parser_state |= PST_EOFTOKEN;
+ YYACCEPT;
+ }
+ | '\n'
+ {
+ /* Case of regular command, but not a very
+ interesting one. Return a NULL command. */
+ global_command = (COMMAND *)NULL;
+ if (parser_state & PST_CMDSUBST)
+ parser_state |= PST_EOFTOKEN;
+ YYACCEPT;
+ }
+ | error '\n'
+ {
+ /* Error during parsing. Return NULL command. */
+ global_command = (COMMAND *)NULL;
+ eof_encountered = 0;
+ /* discard_parser_constructs (1); */
+ if (interactive && parse_and_execute_level == 0)
+ {
+ YYACCEPT;
+ }
+ else
+ {
+ YYABORT;
+ }
+ }
+ | yacc_EOF
+ {
+ /* Case of EOF seen by itself. Do ignoreeof or
+ not. */
+ global_command = (COMMAND *)NULL;
+ handle_eof_input_unit ();
+ YYACCEPT;
+ }
+ ;
+
+word_list: WORD
+ { $$ = make_word_list ($1, (WORD_LIST *)NULL); }
+ | word_list WORD
+ { $$ = make_word_list ($2, $1); }
+ ;
+
+redirection: '>' WORD
+ {
+ redir.filename = $2;
+ $$ = make_redirection (1, r_output_direction, redir);
+ }
+ | '<' WORD
+ {
+ redir.filename = $2;
+ $$ = make_redirection (0, r_input_direction, redir);
+ }
+ | NUMBER '>' WORD
+ {
+ redir.filename = $3;
+ $$ = make_redirection ($1, r_output_direction, redir);
+ }
+ | NUMBER '<' WORD
+ {
+ redir.filename = $3;
+ $$ = make_redirection ($1, r_input_direction, redir);
+ }
+ | GREATER_GREATER WORD
+ {
+ redir.filename = $2;
+ $$ = make_redirection (1, r_appending_to, redir);
+ }
+ | NUMBER GREATER_GREATER WORD
+ {
+ redir.filename = $3;
+ $$ = make_redirection ($1, r_appending_to, redir);
+ }
+ | LESS_LESS WORD
+ {
+ redir.filename = $2;
+ $$ = make_redirection (0, r_reading_until, redir);
+ redir_stack[need_here_doc++] = $$;
+ }
+ | NUMBER LESS_LESS WORD
+ {
+ redir.filename = $3;
+ $$ = make_redirection ($1, r_reading_until, redir);
+ redir_stack[need_here_doc++] = $$;
+ }
+ | LESS_LESS_LESS WORD
+ {
+ redir.filename = $2;
+ $$ = make_redirection (0, r_reading_string, redir);
+ }
+ | NUMBER LESS_LESS_LESS WORD
+ {
+ redir.filename = $3;
+ $$ = make_redirection ($1, r_reading_string, redir);
+ }
+ | LESS_AND NUMBER
+ {
+ redir.dest = $2;
+ $$ = make_redirection (0, r_duplicating_input, redir);
+ }
+ | NUMBER LESS_AND NUMBER
+ {
+ redir.dest = $3;
+ $$ = make_redirection ($1, r_duplicating_input, redir);
+ }
+ | GREATER_AND NUMBER
+ {
+ redir.dest = $2;
+ $$ = make_redirection (1, r_duplicating_output, redir);
+ }
+ | NUMBER GREATER_AND NUMBER
+ {
+ redir.dest = $3;
+ $$ = make_redirection ($1, r_duplicating_output, redir);
+ }
+ | LESS_AND WORD
+ {
+ redir.filename = $2;
+ $$ = make_redirection (0, r_duplicating_input_word, redir);
+ }
+ | NUMBER LESS_AND WORD
+ {
+ redir.filename = $3;
+ $$ = make_redirection ($1, r_duplicating_input_word, redir);
+ }
+ | GREATER_AND WORD
+ {
+ redir.filename = $2;
+ $$ = make_redirection (1, r_duplicating_output_word, redir);
+ }
+ | NUMBER GREATER_AND WORD
+ {
+ redir.filename = $3;
+ $$ = make_redirection ($1, r_duplicating_output_word, redir);
+ }
+ | LESS_LESS_MINUS WORD
+ {
+ redir.filename = $2;
+ $$ = make_redirection
+ (0, r_deblank_reading_until, redir);
+ redir_stack[need_here_doc++] = $$;
+ }
+ | NUMBER LESS_LESS_MINUS WORD
+ {
+ redir.filename = $3;
+ $$ = make_redirection
+ ($1, r_deblank_reading_until, redir);
+ redir_stack[need_here_doc++] = $$;
+ }
+ | GREATER_AND '-'
+ {
+ redir.dest = 0;
+ $$ = make_redirection (1, r_close_this, redir);
+ }
+ | NUMBER GREATER_AND '-'
+ {
+ redir.dest = 0;
+ $$ = make_redirection ($1, r_close_this, redir);
+ }
+ | LESS_AND '-'
+ {
+ redir.dest = 0;
+ $$ = make_redirection (0, r_close_this, redir);
+ }
+ | NUMBER LESS_AND '-'
+ {
+ redir.dest = 0;
+ $$ = make_redirection ($1, r_close_this, redir);
+ }
+ | AND_GREATER WORD
+ {
+ redir.filename = $2;
+ $$ = make_redirection (1, r_err_and_out, redir);
+ }
+ | AND_GREATER_GREATER WORD
+ {
+ redir.filename = $2;
+ $$ = make_redirection (1, r_append_err_and_out, redir);
+ }
+ | NUMBER LESS_GREATER WORD
+ {
+ redir.filename = $3;
+ $$ = make_redirection ($1, r_input_output, redir);
+ }
+ | LESS_GREATER WORD
+ {
+ redir.filename = $2;
+ $$ = make_redirection (0, r_input_output, redir);
+ }
+ | GREATER_BAR WORD
+ {
+ redir.filename = $2;
+ $$ = make_redirection (1, r_output_force, redir);
+ }
+ | NUMBER GREATER_BAR WORD
+ {
+ redir.filename = $3;
+ $$ = make_redirection ($1, r_output_force, redir);
+ }
+ ;
+
+simple_command_element: WORD
+ { $$.word = $1; $$.redirect = 0; }
+ | ASSIGNMENT_WORD
+ { $$.word = $1; $$.redirect = 0; }
+ | redirection
+ { $$.redirect = $1; $$.word = 0; }
+ ;
+
+redirection_list: redirection
+ {
+ $$ = $1;
+ }
+ | redirection_list redirection
+ {
+ register REDIRECT *t;
+
+ for (t = $1; t->next; t = t->next)
+ ;
+ t->next = $2;
+ $$ = $1;
+ }
+ ;
+
+simple_command: simple_command_element
+ { $$ = make_simple_command ($1, (COMMAND *)NULL); }
+ | simple_command simple_command_element
+ { $$ = make_simple_command ($2, $1); }
+ ;
+
+command: simple_command
+ { $$ = clean_simple_command ($1); }
+ | shell_command
+ { $$ = $1; }
+ | shell_command redirection_list
+ {
+ COMMAND *tc;
+
+ tc = $1;
+ if (tc->redirects)
+ {
+ register REDIRECT *t;
+ for (t = tc->redirects; t->next; t = t->next)
+ ;
+ t->next = $2;
+ }
+ else
+ tc->redirects = $2;
+ $$ = $1;
+ }
+ | function_def
+ { $$ = $1; }
+ | coproc
+ { $$ = $1; }
+ ;
+
+shell_command: for_command
+ { $$ = $1; }
+ | case_command
+ { $$ = $1; }
+ | WHILE compound_list DO compound_list DONE
+ { $$ = make_while_command ($2, $4); }
+ | UNTIL compound_list DO compound_list DONE
+ { $$ = make_until_command ($2, $4); }
+ | select_command
+ { $$ = $1; }
+ | if_command
+ { $$ = $1; }
+ | subshell
+ { $$ = $1; }
+ | group_command
+ { $$ = $1; }
+ | arith_command
+ { $$ = $1; }
+ | cond_command
+ { $$ = $1; }
+ | arith_for_command
+ { $$ = $1; }
+ ;
+
+for_command: FOR WORD newline_list DO compound_list DONE
+ {
+ $$ = make_for_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $5, word_lineno[word_top]);
+ if (word_top > 0) word_top--;
+ }
+ | FOR WORD newline_list '{' compound_list '}'
+ {
+ $$ = make_for_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $5, word_lineno[word_top]);
+ if (word_top > 0) word_top--;
+ }
+ | FOR WORD ';' newline_list DO compound_list DONE
+ {
+ $$ = make_for_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $6, word_lineno[word_top]);
+ if (word_top > 0) word_top--;
+ }
+ | FOR WORD ';' newline_list '{' compound_list '}'
+ {
+ $$ = make_for_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $6, word_lineno[word_top]);
+ if (word_top > 0) word_top--;
+ }
+ | FOR WORD newline_list IN word_list list_terminator newline_list DO compound_list DONE
+ {
+ $$ = make_for_command ($2, REVERSE_LIST ($5, WORD_LIST *), $9, word_lineno[word_top]);
+ if (word_top > 0) word_top--;
+ }
+ | FOR WORD newline_list IN word_list list_terminator newline_list '{' compound_list '}'
+ {
+ $$ = make_for_command ($2, REVERSE_LIST ($5, WORD_LIST *), $9, word_lineno[word_top]);
+ if (word_top > 0) word_top--;
+ }
+ | FOR WORD newline_list IN list_terminator newline_list DO compound_list DONE
+ {
+ $$ = make_for_command ($2, (WORD_LIST *)NULL, $8, word_lineno[word_top]);
+ if (word_top > 0) word_top--;
+ }
+ | FOR WORD newline_list IN list_terminator newline_list '{' compound_list '}'
+ {
+ $$ = make_for_command ($2, (WORD_LIST *)NULL, $8, word_lineno[word_top]);
+ if (word_top > 0) word_top--;
+ }
+ ;
+
+arith_for_command: FOR ARITH_FOR_EXPRS list_terminator newline_list DO compound_list DONE
+ {
+ $$ = make_arith_for_command ($2, $6, arith_for_lineno);
+ if (word_top > 0) word_top--;
+ }
+ | FOR ARITH_FOR_EXPRS list_terminator newline_list '{' compound_list '}'
+ {
+ $$ = make_arith_for_command ($2, $6, arith_for_lineno);
+ if (word_top > 0) word_top--;
+ }
+ | FOR ARITH_FOR_EXPRS DO compound_list DONE
+ {
+ $$ = make_arith_for_command ($2, $4, arith_for_lineno);
+ if (word_top > 0) word_top--;
+ }
+ | FOR ARITH_FOR_EXPRS '{' compound_list '}'
+ {
+ $$ = make_arith_for_command ($2, $4, arith_for_lineno);
+ if (word_top > 0) word_top--;
+ }
+ ;
+
+select_command: SELECT WORD newline_list DO list DONE
+ {
+ $$ = make_select_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $5, word_lineno[word_top]);
+ if (word_top > 0) word_top--;
+ }
+ | SELECT WORD newline_list '{' list '}'
+ {
+ $$ = make_select_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $5, word_lineno[word_top]);
+ if (word_top > 0) word_top--;
+ }
+ | SELECT WORD ';' newline_list DO list DONE
+ {
+ $$ = make_select_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $6, word_lineno[word_top]);
+ if (word_top > 0) word_top--;
+ }
+ | SELECT WORD ';' newline_list '{' list '}'
+ {
+ $$ = make_select_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $6, word_lineno[word_top]);
+ if (word_top > 0) word_top--;
+ }
+ | SELECT WORD newline_list IN word_list list_terminator newline_list DO list DONE
+ {
+ $$ = make_select_command ($2, REVERSE_LIST ($5, WORD_LIST *), $9, word_lineno[word_top]);
+ if (word_top > 0) word_top--;
+ }
+ | SELECT WORD newline_list IN word_list list_terminator newline_list '{' list '}'
+ {
+ $$ = make_select_command ($2, REVERSE_LIST ($5, WORD_LIST *), $9, word_lineno[word_top]);
+ if (word_top > 0) word_top--;
+ }
+ ;
+
+case_command: CASE WORD newline_list IN newline_list ESAC
+ {
+ $$ = make_case_command ($2, (PATTERN_LIST *)NULL, word_lineno[word_top]);
+ if (word_top > 0) word_top--;
+ }
+ | CASE WORD newline_list IN case_clause_sequence newline_list ESAC
+ {
+ $$ = make_case_command ($2, $5, word_lineno[word_top]);
+ if (word_top > 0) word_top--;
+ }
+ | CASE WORD newline_list IN case_clause ESAC
+ {
+ $$ = make_case_command ($2, $5, word_lineno[word_top]);
+ if (word_top > 0) word_top--;
+ }
+ ;
+
+function_def: WORD '(' ')' newline_list function_body
+ { $$ = make_function_def ($1, $5, function_dstart, function_bstart); }
+
+ | FUNCTION WORD '(' ')' newline_list function_body
+ { $$ = make_function_def ($2, $6, function_dstart, function_bstart); }
+
+ | FUNCTION WORD newline_list function_body
+ { $$ = make_function_def ($2, $4, function_dstart, function_bstart); }
+ ;
+
+function_body: shell_command
+ { $$ = $1; }
+ | shell_command redirection_list
+ {
+ COMMAND *tc;
+
+ tc = $1;
+ /* According to Posix.2 3.9.5, redirections
+ specified after the body of a function should
+ be attached to the function and performed when
+ the function is executed, not as part of the
+ function definition command. */
+ /* XXX - I don't think it matters, but we might
+ want to change this in the future to avoid
+ problems differentiating between a function
+ definition with a redirection and a function
+ definition containing a single command with a
+ redirection. The two are semantically equivalent,
+ though -- the only difference is in how the
+ command printing code displays the redirections. */
+ if (tc->redirects)
+ {
+ register REDIRECT *t;
+ for (t = tc->redirects; t->next; t = t->next)
+ ;
+ t->next = $2;
+ }
+ else
+ tc->redirects = $2;
+ $$ = $1;
+ }
+ ;
+
+subshell: '(' compound_list ')'
+ {
+ $$ = make_subshell_command ($2);
+ $$->flags |= CMD_WANT_SUBSHELL;
+ }
+ ;
+
+coproc: COPROC shell_command
+ {
+ $$ = make_coproc_command ("COPROC", $2);
+ $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+ }
+ | COPROC shell_command redirection_list
+ {
+ COMMAND *tc;
+
+ tc = $2;
+ if (tc->redirects)
+ {
+ register REDIRECT *t;
+ for (t = tc->redirects; t->next; t = t->next)
+ ;
+ t->next = $3;
+ }
+ else
+ tc->redirects = $3;
+ $$ = make_coproc_command ("COPROC", $2);
+ $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+ }
+ | COPROC WORD shell_command
+ {
+ $$ = make_coproc_command ($2->word, $3);
+ $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+ }
+ | COPROC WORD shell_command redirection_list
+ {
+ COMMAND *tc;
+
+ tc = $3;
+ if (tc->redirects)
+ {
+ register REDIRECT *t;
+ for (t = tc->redirects; t->next; t = t->next)
+ ;
+ t->next = $4;
+ }
+ else
+ tc->redirects = $4;
+ $$ = make_coproc_command ($2->word, $3);
+ $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+ }
+ | COPROC simple_command
+ {
+ $$ = make_coproc_command ("COPROC", clean_simple_command ($2));
+ $$->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
+ }
+ ;
+
+if_command: IF compound_list THEN compound_list FI
+ { $$ = make_if_command ($2, $4, (COMMAND *)NULL); }
+ | IF compound_list THEN compound_list ELSE compound_list FI
+ { $$ = make_if_command ($2, $4, $6); }
+ | IF compound_list THEN compound_list elif_clause FI
+ { $$ = make_if_command ($2, $4, $5); }
+ ;
+
+
+group_command: '{' compound_list '}'
+ { $$ = make_group_command ($2); }
+ ;
+
+arith_command: ARITH_CMD
+ { $$ = make_arith_command ($1); }
+ ;
+
+cond_command: COND_START COND_CMD COND_END
+ { $$ = $2; }
+ ;
+
+elif_clause: ELIF compound_list THEN compound_list
+ { $$ = make_if_command ($2, $4, (COMMAND *)NULL); }
+ | ELIF compound_list THEN compound_list ELSE compound_list
+ { $$ = make_if_command ($2, $4, $6); }
+ | ELIF compound_list THEN compound_list elif_clause
+ { $$ = make_if_command ($2, $4, $5); }
+ ;
+
+case_clause: pattern_list
+ | case_clause_sequence pattern_list
+ { $2->next = $1; $$ = $2; }
+ ;
+
+pattern_list: newline_list pattern ')' compound_list
+ { $$ = make_pattern_list ($2, $4); }
+ | newline_list pattern ')' newline_list
+ { $$ = make_pattern_list ($2, (COMMAND *)NULL); }
+ | newline_list '(' pattern ')' compound_list
+ { $$ = make_pattern_list ($3, $5); }
+ | newline_list '(' pattern ')' newline_list
+ { $$ = make_pattern_list ($3, (COMMAND *)NULL); }
+ ;
+
+case_clause_sequence: pattern_list SEMI_SEMI
+ { $$ = $1; }
+ | case_clause_sequence pattern_list SEMI_SEMI
+ { $2->next = $1; $$ = $2; }
+ | pattern_list SEMI_AND
+ { $1->flags |= CASEPAT_FALLTHROUGH; $$ = $1; }
+ | case_clause_sequence pattern_list SEMI_AND
+ { $2->flags |= CASEPAT_FALLTHROUGH; $2->next = $1; $$ = $2; }
+ | pattern_list SEMI_SEMI_AND
+ { $1->flags |= CASEPAT_TESTNEXT; $$ = $1; }
+ | case_clause_sequence pattern_list SEMI_SEMI_AND
+ { $2->flags |= CASEPAT_TESTNEXT; $2->next = $1; $$ = $2; }
+ ;
+
+pattern: WORD
+ { $$ = make_word_list ($1, (WORD_LIST *)NULL); }
+ | pattern '|' WORD
+ { $$ = make_word_list ($3, $1); }
+ ;
+
+/* A list allows leading or trailing newlines and
+ newlines as operators (equivalent to semicolons).
+ It must end with a newline or semicolon.
+ Lists are used within commands such as if, for, while. */
+
+list: newline_list list0
+ {
+ $$ = $2;
+ if (need_here_doc)
+ gather_here_documents ();
+ }
+ ;
+
+compound_list: list
+ | newline_list list1
+ {
+ $$ = $2;
+ }
+ ;
+
+list0: list1 '\n' newline_list
+ | list1 '&' newline_list
+ {
+ if ($1->type == cm_connection)
+ $$ = connect_async_list ($1, (COMMAND *)NULL, '&');
+ else
+ $$ = command_connect ($1, (COMMAND *)NULL, '&');
+ }
+ | list1 ';' newline_list
+
+ ;
+
+list1: list1 AND_AND newline_list list1
+ { $$ = command_connect ($1, $4, AND_AND); }
+ | list1 OR_OR newline_list list1
+ { $$ = command_connect ($1, $4, OR_OR); }
+ | list1 '&' newline_list list1
+ {
+ if ($1->type == cm_connection)
+ $$ = connect_async_list ($1, $4, '&');
+ else
+ $$ = command_connect ($1, $4, '&');
+ }
+ | list1 ';' newline_list list1
+ { $$ = command_connect ($1, $4, ';'); }
+ | list1 '\n' newline_list list1
+ { $$ = command_connect ($1, $4, ';'); }
+ | pipeline_command
+ { $$ = $1; }
+ ;
+
+simple_list_terminator: '\n'
+ | yacc_EOF
+ ;
+
+list_terminator:'\n'
+ { $$ = '\n'; }
+ | ';'
+ { $$ = ';'; }
+ | yacc_EOF
+ { $$ = yacc_EOF; }
+ ;
+
+newline_list:
+ | newline_list '\n'
+ ;
+
+/* A simple_list is a list that contains no significant newlines
+ and no leading or trailing newlines. Newlines are allowed
+ only following operators, where they are not significant.
+
+ This is what an inputunit consists of. */
+
+simple_list: simple_list1
+ {
+ $$ = $1;
+ if (need_here_doc)
+ gather_here_documents ();
+ if ((parser_state & PST_CMDSUBST) && current_token == shell_eof_token)
+ {
+ global_command = $1;
+ eof_encountered = 0;
+ rewind_input_string ();
+ YYACCEPT;
+ }
+ }
+ | simple_list1 '&'
+ {
+ if ($1->type == cm_connection)
+ $$ = connect_async_list ($1, (COMMAND *)NULL, '&');
+ else
+ $$ = command_connect ($1, (COMMAND *)NULL, '&');
+ if (need_here_doc)
+ gather_here_documents ();
+ if ((parser_state & PST_CMDSUBST) && current_token == shell_eof_token)
+ {
+ global_command = $1;
+ eof_encountered = 0;
+ rewind_input_string ();
+ YYACCEPT;
+ }
+ }
+ | simple_list1 ';'
+ {
+ $$ = $1;
+ if (need_here_doc)
+ gather_here_documents ();
+ if ((parser_state & PST_CMDSUBST) && current_token == shell_eof_token)
+ {
+ global_command = $1;
+ eof_encountered = 0;
+ rewind_input_string ();
+ YYACCEPT;
+ }
+ }
+ ;
+
+simple_list1: simple_list1 AND_AND newline_list simple_list1
+ { $$ = command_connect ($1, $4, AND_AND); }
+ | simple_list1 OR_OR newline_list simple_list1
+ { $$ = command_connect ($1, $4, OR_OR); }
+ | simple_list1 '&' simple_list1
+ {
+ if ($1->type == cm_connection)
+ $$ = connect_async_list ($1, $3, '&');
+ else
+ $$ = command_connect ($1, $3, '&');
+ }
+ | simple_list1 ';' simple_list1
+ { $$ = command_connect ($1, $3, ';'); }
+
+ | pipeline_command
+ { $$ = $1; }
+ ;
+
+pipeline_command: pipeline
+ { $$ = $1; }
+ | BANG pipeline
+ {
+ if ($2)
+ $2->flags |= CMD_INVERT_RETURN;
+ $$ = $2;
+ }
+ | timespec pipeline
+ {
+ if ($2)
+ $2->flags |= $1;
+ $$ = $2;
+ }
+ | timespec BANG pipeline
+ {
+ if ($3)
+ $3->flags |= $1|CMD_INVERT_RETURN;
+ $$ = $3;
+ }
+ | BANG timespec pipeline
+ {
+ if ($3)
+ $3->flags |= $2|CMD_INVERT_RETURN;
+ $$ = $3;
+ }
+ | timespec list_terminator
+ {
+ ELEMENT x;
+
+ /* Boy, this is unclean. `time' by itself can
+ time a null command. We cheat and push a
+ newline back if the list_terminator was a newline
+ to avoid the double-newline problem (one to
+ terminate this, one to terminate the command) */
+ x.word = 0;
+ x.redirect = 0;
+ $$ = make_simple_command (x, (COMMAND *)NULL);
+ $$->flags |= $1;
+ /* XXX - let's cheat and push a newline back */
+ if ($2 == '\n')
+ token_to_read = '\n';
+ }
+
+ ;
+
+pipeline: pipeline '|' newline_list pipeline
+ { $$ = command_connect ($1, $4, '|'); }
+ | pipeline BAR_AND newline_list pipeline
+ {
+ /* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */
+ COMMAND *tc;
+ REDIRECTEE rd;
+ REDIRECT *r;
+
+ tc = $1;
+ rd.dest = 1;
+ r = make_redirection (2, r_duplicating_output, rd);
+ if (tc->redirects)
+ {
+ register REDIRECT *t;
+ for (t = tc->redirects; t->next; t = t->next)
+ ;
+ t->next = r;
+ }
+ else
+ tc->redirects = r;
+
+ $$ = command_connect ($1, $4, '|');
+ }
+ | command
+ { $$ = $1; }
+ ;
+
+timespec: TIME
+ { $$ = CMD_TIME_PIPELINE; }
+ | TIME TIMEOPT
+ { $$ = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+ ;
+%%
+
+/* Initial size to allocate for tokens, and the
+ amount to grow them by. */
+#define TOKEN_DEFAULT_INITIAL_SIZE 496
+#define TOKEN_DEFAULT_GROW_SIZE 512
+
+/* Should we call prompt_again? */
+#define SHOULD_PROMPT() \
+ (interactive && (bash_input.type == st_stdin || bash_input.type == st_stream))
+
+#if defined (ALIAS)
+# define expanding_alias() (pushed_string_list && pushed_string_list->expander)
+#else
+# define expanding_alias() 0
+#endif
+
+/* Global var is non-zero when end of file has been reached. */
+int EOF_Reached = 0;
+
+#ifdef DEBUG
+static void
+debug_parser (i)
+ int i;
+{
+#if YYDEBUG != 0
+ yydebug = i;
+#endif
+}
+#endif
+
+/* yy_getc () returns the next available character from input or EOF.
+ yy_ungetc (c) makes `c' the next character to read.
+ init_yy_io (get, unget, type, location) makes the function GET the
+ installed function for getting the next character, makes UNGET the
+ installed function for un-getting a character, sets the type of stream
+ (either string or file) from TYPE, and makes LOCATION point to where
+ the input is coming from. */
+
+/* Unconditionally returns end-of-file. */
+int
+return_EOF ()
+{
+ return (EOF);
+}
+
+/* Variable containing the current get and unget functions.
+ See ./input.h for a clearer description. */
+BASH_INPUT bash_input;
+
+/* Set all of the fields in BASH_INPUT to NULL. Free bash_input.name if it
+ is non-null, avoiding a memory leak. */
+void
+initialize_bash_input ()
+{
+ bash_input.type = st_none;
+ FREE (bash_input.name);
+ bash_input.name = (char *)NULL;
+ bash_input.location.file = (FILE *)NULL;
+ bash_input.location.string = (char *)NULL;
+ bash_input.getter = (sh_cget_func_t *)NULL;
+ bash_input.ungetter = (sh_cunget_func_t *)NULL;
+}
+
+/* Set the contents of the current bash input stream from
+ GET, UNGET, TYPE, NAME, and LOCATION. */
+void
+init_yy_io (get, unget, type, name, location)
+ sh_cget_func_t *get;
+ sh_cunget_func_t *unget;
+ enum stream_type type;
+ const char *name;
+ INPUT_STREAM location;
+{
+ bash_input.type = type;
+ FREE (bash_input.name);
+ bash_input.name = name ? savestring (name) : (char *)NULL;
+
+ /* XXX */
+#if defined (CRAY)
+ memcpy((char *)&bash_input.location.string, (char *)&location.string, sizeof(location));
+#else
+ bash_input.location = location;
+#endif
+ bash_input.getter = get;
+ bash_input.ungetter = unget;
+}
+
+char *
+yy_input_name ()
+{
+ return (bash_input.name ? bash_input.name : "stdin");
+}
+
+/* Call this to get the next character of input. */
+static int
+yy_getc ()
+{
+ return (*(bash_input.getter)) ();
+}
+
+/* Call this to unget C. That is, to make C the next character
+ to be read. */
+static int
+yy_ungetc (c)
+ int c;
+{
+ return (*(bash_input.ungetter)) (c);
+}
+
+#if defined (BUFFERED_INPUT)
+#ifdef INCLUDE_UNUSED
+int
+input_file_descriptor ()
+{
+ switch (bash_input.type)
+ {
+ case st_stream:
+ return (fileno (bash_input.location.file));
+ case st_bstream:
+ return (bash_input.location.buffered_fd);
+ case st_stdin:
+ default:
+ return (fileno (stdin));
+ }
+}
+#endif
+#endif /* BUFFERED_INPUT */
+
+/* **************************************************************** */
+/* */
+/* Let input be read from readline (). */
+/* */
+/* **************************************************************** */
+
+#if defined (READLINE)
+char *current_readline_prompt = (char *)NULL;
+char *current_readline_line = (char *)NULL;
+int current_readline_line_index = 0;
+
+static int
+yy_readline_get ()
+{
+ SigHandler *old_sigint;
+ int line_len;
+ unsigned char c;
+
+ if (!current_readline_line)
+ {
+ if (!bash_readline_initialized)
+ initialize_readline ();
+
+#if defined (JOB_CONTROL)
+ if (job_control)
+ give_terminal_to (shell_pgrp, 0);
+#endif /* JOB_CONTROL */
+
+ old_sigint = (SigHandler *)NULL;
+ if (signal_is_ignored (SIGINT) == 0)
+ {
+ old_sigint = (SigHandler *)set_signal_handler (SIGINT, sigint_sighandler);
+ interrupt_immediately++;
+ }
+ terminate_immediately = 1;
+
+ current_readline_line = readline (current_readline_prompt ?
+ current_readline_prompt : "");
+
+ terminate_immediately = 0;
+ if (signal_is_ignored (SIGINT) == 0 && old_sigint)
+ {
+ interrupt_immediately--;
+ set_signal_handler (SIGINT, old_sigint);
+ }
+
+#if 0
+ /* Reset the prompt to the decoded value of prompt_string_pointer. */
+ reset_readline_prompt ();
+#endif
+
+ if (current_readline_line == 0)
+ return (EOF);
+
+ current_readline_line_index = 0;
+ line_len = strlen (current_readline_line);
+
+ current_readline_line = (char *)xrealloc (current_readline_line, 2 + line_len);
+ current_readline_line[line_len++] = '\n';
+ current_readline_line[line_len] = '\0';
+ }
+
+ if (current_readline_line[current_readline_line_index] == 0)
+ {
+ free (current_readline_line);
+ current_readline_line = (char *)NULL;
+ return (yy_readline_get ());
+ }
+ else
+ {
+ c = current_readline_line[current_readline_line_index++];
+ return (c);
+ }
+}
+
+static int
+yy_readline_unget (c)
+ int c;
+{
+ if (current_readline_line_index && current_readline_line)
+ current_readline_line[--current_readline_line_index] = c;
+ return (c);
+}
+
+void
+with_input_from_stdin ()
+{
+ INPUT_STREAM location;
+
+ if (bash_input.type != st_stdin && stream_on_stack (st_stdin) == 0)
+ {
+ location.string = current_readline_line;
+ init_yy_io (yy_readline_get, yy_readline_unget,
+ st_stdin, "readline stdin", location);
+ }
+}
+
+#else /* !READLINE */
+
+void
+with_input_from_stdin ()
+{
+ with_input_from_stream (stdin, "stdin");
+}
+#endif /* !READLINE */
+
+/* **************************************************************** */
+/* */
+/* Let input come from STRING. STRING is zero terminated. */
+/* */
+/* **************************************************************** */
+
+static int
+yy_string_get ()
+{
+ register char *string;
+ register unsigned char c;
+
+ string = bash_input.location.string;
+
+ /* If the string doesn't exist, or is empty, EOF found. */
+ if (string && *string)
+ {
+ c = *string++;
+ bash_input.location.string = string;
+ return (c);
+ }
+ else
+ return (EOF);
+}
+
+static int
+yy_string_unget (c)
+ int c;
+{
+ *(--bash_input.location.string) = c;
+ return (c);
+}
+
+void
+with_input_from_string (string, name)
+ char *string;
+ const char *name;
+{
+ INPUT_STREAM location;
+
+ location.string = string;
+ init_yy_io (yy_string_get, yy_string_unget, st_string, name, location);
+}
+
+/* Count the number of characters we've consumed from bash_input.location.string
+ and read into shell_input_line, but have not returned from shell_getc.
+ That is the true input location. Rewind bash_input.location.string by
+ that number of characters, so it points to the last character actually
+ consumed by the parser. */
+static void
+rewind_input_string ()
+{
+ int xchars;
+
+ /* number of unconsumed characters in the input -- XXX need to take newlines
+ into account, e.g., $(...\n) */
+ xchars = shell_input_line_len - shell_input_line_index;
+ if (bash_input.location.string[-1] == '\n')
+ xchars++;
+
+ /* XXX - how to reflect bash_input.location.string back to string passed to
+ parse_and_execute or xparse_dolparen? xparse_dolparen needs to know how
+ far into the string we parsed. parse_and_execute knows where bash_input.
+ location.string is, and how far from orig_string that is -- that's the
+ number of characters the command consumed. */
+
+ /* bash_input.location.string - xchars should be where we parsed to */
+ /* need to do more validation on xchars value for sanity -- test cases. */
+ bash_input.location.string -= xchars;
+}
+
+/* **************************************************************** */
+/* */
+/* Let input come from STREAM. */
+/* */
+/* **************************************************************** */
+
+/* These two functions used to test the value of the HAVE_RESTARTABLE_SYSCALLS
+ define, and just use getc/ungetc if it was defined, but since bash
+ installs its signal handlers without the SA_RESTART flag, some signals
+ (like SIGCHLD, SIGWINCH, etc.) received during a read(2) will not cause
+ the read to be restarted. We need to restart it ourselves. */
+
+static int
+yy_stream_get ()
+{
+ int result;
+
+ result = EOF;
+ if (bash_input.location.file)
+ {
+ if (interactive)
+ {
+ interrupt_immediately++;
+ terminate_immediately++;
+ }
+ result = getc_with_restart (bash_input.location.file);
+ if (interactive)
+ {
+ interrupt_immediately--;
+ terminate_immediately--;
+ }
+ }
+ return (result);
+}
+
+static int
+yy_stream_unget (c)
+ int c;
+{
+ return (ungetc_with_restart (c, bash_input.location.file));
+}
+
+void
+with_input_from_stream (stream, name)
+ FILE *stream;
+ const char *name;
+{
+ INPUT_STREAM location;
+
+ location.file = stream;
+ init_yy_io (yy_stream_get, yy_stream_unget, st_stream, name, location);
+}
+
+typedef struct stream_saver {
+ struct stream_saver *next;
+ BASH_INPUT bash_input;
+ int line;
+#if defined (BUFFERED_INPUT)
+ BUFFERED_STREAM *bstream;
+#endif /* BUFFERED_INPUT */
+} STREAM_SAVER;
+
+/* The globally known line number. */
+int line_number = 0;
+
+#if defined (COND_COMMAND)
+static int cond_lineno;
+static int cond_token;
+#endif
+
+STREAM_SAVER *stream_list = (STREAM_SAVER *)NULL;
+
+void
+push_stream (reset_lineno)
+ int reset_lineno;
+{
+ STREAM_SAVER *saver = (STREAM_SAVER *)xmalloc (sizeof (STREAM_SAVER));
+
+ xbcopy ((char *)&bash_input, (char *)&(saver->bash_input), sizeof (BASH_INPUT));
+
+#if defined (BUFFERED_INPUT)
+ saver->bstream = (BUFFERED_STREAM *)NULL;
+ /* If we have a buffered stream, clear out buffers[fd]. */
+ if (bash_input.type == st_bstream && bash_input.location.buffered_fd >= 0)
+ saver->bstream = set_buffered_stream (bash_input.location.buffered_fd,
+ (BUFFERED_STREAM *)NULL);
+#endif /* BUFFERED_INPUT */
+
+ saver->line = line_number;
+ bash_input.name = (char *)NULL;
+ saver->next = stream_list;
+ stream_list = saver;
+ EOF_Reached = 0;
+ if (reset_lineno)
+ line_number = 0;
+}
+
+void
+pop_stream ()
+{
+ if (!stream_list)
+ EOF_Reached = 1;
+ else
+ {
+ STREAM_SAVER *saver = stream_list;
+
+ EOF_Reached = 0;
+ stream_list = stream_list->next;
+
+ init_yy_io (saver->bash_input.getter,
+ saver->bash_input.ungetter,
+ saver->bash_input.type,
+ saver->bash_input.name,
+ saver->bash_input.location);
+
+#if defined (BUFFERED_INPUT)
+ /* If we have a buffered stream, restore buffers[fd]. */
+ /* If the input file descriptor was changed while this was on the
+ save stack, update the buffered fd to the new file descriptor and
+ re-establish the buffer <-> bash_input fd correspondence. */
+ if (bash_input.type == st_bstream && bash_input.location.buffered_fd >= 0)
+ {
+ if (bash_input_fd_changed)
+ {
+ bash_input_fd_changed = 0;
+ if (default_buffered_input >= 0)
+ {
+ bash_input.location.buffered_fd = default_buffered_input;
+ saver->bstream->b_fd = default_buffered_input;
+ SET_CLOSE_ON_EXEC (default_buffered_input);
+ }
+ }
+ /* XXX could free buffered stream returned as result here. */
+ set_buffered_stream (bash_input.location.buffered_fd, saver->bstream);
+ }
+#endif /* BUFFERED_INPUT */
+
+ line_number = saver->line;
+
+ FREE (saver->bash_input.name);
+ free (saver);
+ }
+}
+
+/* Return 1 if a stream of type TYPE is saved on the stack. */
+int
+stream_on_stack (type)
+ enum stream_type type;
+{
+ register STREAM_SAVER *s;
+
+ for (s = stream_list; s; s = s->next)
+ if (s->bash_input.type == type)
+ return 1;
+ return 0;
+}
+
+/* Save the current token state and return it in a malloced array. */
+int *
+save_token_state ()
+{
+ int *ret;
+
+ ret = (int *)xmalloc (4 * sizeof (int));
+ ret[0] = last_read_token;
+ ret[1] = token_before_that;
+ ret[2] = two_tokens_ago;
+ ret[3] = current_token;
+ return ret;
+}
+
+void
+restore_token_state (ts)
+ int *ts;
+{
+ if (ts == 0)
+ return;
+ last_read_token = ts[0];
+ token_before_that = ts[1];
+ two_tokens_ago = ts[2];
+ current_token = ts[3];
+}
+
+/*
+ * This is used to inhibit alias expansion and reserved word recognition
+ * inside case statement pattern lists. A `case statement pattern list' is:
+ *
+ * everything between the `in' in a `case word in' and the next ')'
+ * or `esac'
+ * everything between a `;;' and the next `)' or `esac'
+ */
+
+#if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
+
+#define END_OF_ALIAS 0
+
+/*
+ * Pseudo-global variables used in implementing token-wise alias expansion.
+ */
+
+/*
+ * Pushing and popping strings. This works together with shell_getc to
+ * implement alias expansion on a per-token basis.
+ */
+
+typedef struct string_saver {
+ struct string_saver *next;
+ int expand_alias; /* Value to set expand_alias to when string is popped. */
+ char *saved_line;
+#if defined (ALIAS)
+ alias_t *expander; /* alias that caused this line to be pushed. */
+#endif
+ int saved_line_size, saved_line_index, saved_line_terminator;
+} STRING_SAVER;
+
+STRING_SAVER *pushed_string_list = (STRING_SAVER *)NULL;
+
+/*
+ * Push the current shell_input_line onto a stack of such lines and make S
+ * the current input. Used when expanding aliases. EXPAND is used to set
+ * the value of expand_next_token when the string is popped, so that the
+ * word after the alias in the original line is handled correctly when the
+ * alias expands to multiple words. TOKEN is the token that was expanded
+ * into S; it is saved and used to prevent infinite recursive expansion.
+ */
+static void
+push_string (s, expand, ap)
+ char *s;
+ int expand;
+ alias_t *ap;
+{
+ STRING_SAVER *temp = (STRING_SAVER *)xmalloc (sizeof (STRING_SAVER));
+
+ temp->expand_alias = expand;
+ temp->saved_line = shell_input_line;
+ temp->saved_line_size = shell_input_line_size;
+ temp->saved_line_index = shell_input_line_index;
+ temp->saved_line_terminator = shell_input_line_terminator;
+#if defined (ALIAS)
+ temp->expander = ap;
+#endif
+ temp->next = pushed_string_list;
+ pushed_string_list = temp;
+
+#if defined (ALIAS)
+ if (ap)
+ ap->flags |= AL_BEINGEXPANDED;
+#endif
+
+ shell_input_line = s;
+ shell_input_line_size = strlen (s);
+ shell_input_line_index = 0;
+ shell_input_line_terminator = '\0';
+#if 0
+ parser_state &= ~PST_ALEXPNEXT; /* XXX */
+#endif
+
+ set_line_mbstate ();
+}
+
+/*
+ * Make the top of the pushed_string stack be the current shell input.
+ * Only called when there is something on the stack. Called from shell_getc
+ * when it thinks it has consumed the string generated by an alias expansion
+ * and needs to return to the original input line.
+ */
+static void
+pop_string ()
+{
+ STRING_SAVER *t;
+
+ FREE (shell_input_line);
+ shell_input_line = pushed_string_list->saved_line;
+ shell_input_line_index = pushed_string_list->saved_line_index;
+ shell_input_line_size = pushed_string_list->saved_line_size;
+ shell_input_line_terminator = pushed_string_list->saved_line_terminator;
+
+ if (pushed_string_list->expand_alias)
+ parser_state |= PST_ALEXPNEXT;
+ else
+ parser_state &= ~PST_ALEXPNEXT;
+
+ t = pushed_string_list;
+ pushed_string_list = pushed_string_list->next;
+
+#if defined (ALIAS)
+ if (t->expander)
+ t->expander->flags &= ~AL_BEINGEXPANDED;
+#endif
+
+ free ((char *)t);
+
+ set_line_mbstate ();
+}
+
+static void
+free_string_list ()
+{
+ register STRING_SAVER *t, *t1;
+
+ for (t = pushed_string_list; t; )
+ {
+ t1 = t->next;
+ FREE (t->saved_line);
+#if defined (ALIAS)
+ if (t->expander)
+ t->expander->flags &= ~AL_BEINGEXPANDED;
+#endif
+ free ((char *)t);
+ t = t1;
+ }
+ pushed_string_list = (STRING_SAVER *)NULL;
+}
+
+#endif /* ALIAS || DPAREN_ARITHMETIC */
+
+void
+free_pushed_string_input ()
+{
+#if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
+ free_string_list ();
+#endif
+}
+
+/* Return a line of text, taken from wherever yylex () reads input.
+ If there is no more input, then we return NULL. If REMOVE_QUOTED_NEWLINE
+ is non-zero, we remove unquoted \<newline> pairs. This is used by
+ read_secondary_line to read here documents. */
+static char *
+read_a_line (remove_quoted_newline)
+ int remove_quoted_newline;
+{
+ static char *line_buffer = (char *)NULL;
+ static int buffer_size = 0;
+ int indx = 0, c, peekc, pass_next;
+
+#if defined (READLINE)
+ if (no_line_editing && SHOULD_PROMPT ())
+#else
+ if (SHOULD_PROMPT ())
+#endif
+ print_prompt ();
+
+ pass_next = 0;
+ while (1)
+ {
+ /* Allow immediate exit if interrupted during input. */
+ QUIT;
+
+ c = yy_getc ();
+
+ /* Ignore null bytes in input. */
+ if (c == 0)
+ {
+#if 0
+ internal_warning ("read_a_line: ignored null byte in input");
+#endif
+ continue;
+ }
+
+ /* If there is no more input, then we return NULL. */
+ if (c == EOF)
+ {
+ if (interactive && bash_input.type == st_stream)
+ clearerr (stdin);
+ if (indx == 0)
+ return ((char *)NULL);
+ c = '\n';
+ }
+
+ /* `+2' in case the final character in the buffer is a newline. */
+ RESIZE_MALLOCED_BUFFER (line_buffer, indx, 2, buffer_size, 128);
+
+ /* IF REMOVE_QUOTED_NEWLINES is non-zero, we are reading a
+ here document with an unquoted delimiter. In this case,
+ the line will be expanded as if it were in double quotes.
+ We allow a backslash to escape the next character, but we
+ need to treat the backslash specially only if a backslash
+ quoting a backslash-newline pair appears in the line. */
+ if (pass_next)
+ {
+ line_buffer[indx++] = c;
+ pass_next = 0;
+ }
+ else if (c == '\\' && remove_quoted_newline)
+ {
+ peekc = yy_getc ();
+ if (peekc == '\n')
+ {
+ line_number++;
+ continue; /* Make the unquoted \<newline> pair disappear. */
+ }
+ else
+ {
+ yy_ungetc (peekc);
+ pass_next = 1;
+ line_buffer[indx++] = c; /* Preserve the backslash. */
+ }
+ }
+ else
+ line_buffer[indx++] = c;
+
+ if (c == '\n')
+ {
+ line_buffer[indx] = '\0';
+ return (line_buffer);
+ }
+ }
+}
+
+/* Return a line as in read_a_line (), but insure that the prompt is
+ the secondary prompt. This is used to read the lines of a here
+ document. REMOVE_QUOTED_NEWLINE is non-zero if we should remove
+ newlines quoted with backslashes while reading the line. It is
+ non-zero unless the delimiter of the here document was quoted. */
+char *
+read_secondary_line (remove_quoted_newline)
+ int remove_quoted_newline;
+{
+ char *ret;
+ int n, c;
+
+ prompt_string_pointer = &ps2_prompt;
+ if (SHOULD_PROMPT())
+ prompt_again ();
+ ret = read_a_line (remove_quoted_newline);
+#if defined (HISTORY)
+ if (remember_on_history && (parser_state & PST_HEREDOC))
+ {
+ /* To make adding the the here-document body right, we need to rely
+ on history_delimiting_chars() returning \n for the first line of
+ the here-document body and the null string for the second and
+ subsequent lines, so we avoid double newlines.
+ current_command_line_count == 2 for the first line of the body. */
+
+ current_command_line_count++;
+ maybe_add_history (ret);
+ }
+#endif /* HISTORY */
+ return ret;
+}
+
+/* **************************************************************** */
+/* */
+/* YYLEX () */
+/* */
+/* **************************************************************** */
+
+/* Reserved words. These are only recognized as the first word of a
+ command. */
+STRING_INT_ALIST word_token_alist[] = {
+ { "if", IF },
+ { "then", THEN },
+ { "else", ELSE },
+ { "elif", ELIF },
+ { "fi", FI },
+ { "case", CASE },
+ { "esac", ESAC },
+ { "for", FOR },
+#if defined (SELECT_COMMAND)
+ { "select", SELECT },
+#endif
+ { "while", WHILE },
+ { "until", UNTIL },
+ { "do", DO },
+ { "done", DONE },
+ { "in", IN },
+ { "function", FUNCTION },
+#if defined (COMMAND_TIMING)
+ { "time", TIME },
+#endif
+ { "{", '{' },
+ { "}", '}' },
+ { "!", BANG },
+#if defined (COND_COMMAND)
+ { "[[", COND_START },
+ { "]]", COND_END },
+#endif
+#if defined (COPROCESS_SUPPORT)
+ { "coproc", COPROC },
+#endif
+ { (char *)NULL, 0}
+};
+
+/* other tokens that can be returned by read_token() */
+STRING_INT_ALIST other_token_alist[] = {
+ /* Multiple-character tokens with special values */
+ { "-p", TIMEOPT },
+ { "&&", AND_AND },
+ { "||", OR_OR },
+ { ">>", GREATER_GREATER },
+ { "<<", LESS_LESS },
+ { "<&", LESS_AND },
+ { ">&", GREATER_AND },
+ { ";;", SEMI_SEMI },
+ { ";&", SEMI_AND },
+ { ";;&", SEMI_SEMI_AND },
+ { "<<-", LESS_LESS_MINUS },
+ { "<<<", LESS_LESS_LESS },
+ { "&>", AND_GREATER },
+ { "&>>", AND_GREATER_GREATER },
+ { "<>", LESS_GREATER },
+ { ">|", GREATER_BAR },
+ { "|&", BAR_AND },
+ { "EOF", yacc_EOF },
+ /* Tokens whose value is the character itself */
+ { ">", '>' },
+ { "<", '<' },
+ { "-", '-' },
+ { "{", '{' },
+ { "}", '}' },
+ { ";", ';' },
+ { "(", '(' },
+ { ")", ')' },
+ { "|", '|' },
+ { "&", '&' },
+ { "newline", '\n' },
+ { (char *)NULL, 0}
+};
+
+/* others not listed here:
+ WORD look at yylval.word
+ ASSIGNMENT_WORD look at yylval.word
+ NUMBER look at yylval.number
+ ARITH_CMD look at yylval.word_list
+ ARITH_FOR_EXPRS look at yylval.word_list
+ COND_CMD look at yylval.command
+*/
+
+/* These are used by read_token_word, but appear up here so that shell_getc
+ can use them to decide when to add otherwise blank lines to the history. */
+
+/* The primary delimiter stack. */
+struct dstack dstack = { (char *)NULL, 0, 0 };
+
+/* A temporary delimiter stack to be used when decoding prompt strings.
+ This is needed because command substitutions in prompt strings (e.g., PS2)
+ can screw up the parser's quoting state. */
+static struct dstack temp_dstack = { (char *)NULL, 0, 0 };
+
+/* Macro for accessing the top delimiter on the stack. Returns the
+ delimiter or zero if none. */
+#define current_delimiter(ds) \
+ (ds.delimiter_depth ? ds.delimiters[ds.delimiter_depth - 1] : 0)
+
+#define push_delimiter(ds, character) \
+ do \
+ { \
+ if (ds.delimiter_depth + 2 > ds.delimiter_space) \
+ ds.delimiters = (char *)xrealloc \
+ (ds.delimiters, (ds.delimiter_space += 10) * sizeof (char)); \
+ ds.delimiters[ds.delimiter_depth] = character; \
+ ds.delimiter_depth++; \
+ } \
+ while (0)
+
+#define pop_delimiter(ds) ds.delimiter_depth--
+
+/* Return the next shell input character. This always reads characters
+ from shell_input_line; when that line is exhausted, it is time to
+ read the next line. This is called by read_token when the shell is
+ processing normal command input. */
+
+/* This implements one-character lookahead/lookbehind across physical input
+ lines, to avoid something being lost because it's pushed back with
+ shell_ungetc when we're at the start of a line. */
+static int eol_ungetc_lookahead = 0;
+
+static int
+shell_getc (remove_quoted_newline)
+ int remove_quoted_newline;
+{
+ register int i;
+ int c;
+ unsigned char uc;
+
+ QUIT;
+
+ if (sigwinch_received)
+ {
+ sigwinch_received = 0;
+ get_new_window_size (0, (int *)0, (int *)0);
+ }
+
+ if (eol_ungetc_lookahead)
+ {
+ c = eol_ungetc_lookahead;
+ eol_ungetc_lookahead = 0;
+ return (c);
+ }
+
+#if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
+ /* If shell_input_line[shell_input_line_index] == 0, but there is
+ something on the pushed list of strings, then we don't want to go
+ off and get another line. We let the code down below handle it. */
+
+ if (!shell_input_line || ((!shell_input_line[shell_input_line_index]) &&
+ (pushed_string_list == (STRING_SAVER *)NULL)))
+#else /* !ALIAS && !DPAREN_ARITHMETIC */
+ if (!shell_input_line || !shell_input_line[shell_input_line_index])
+#endif /* !ALIAS && !DPAREN_ARITHMETIC */
+ {
+ line_number++;
+
+ restart_read:
+
+ /* Allow immediate exit if interrupted during input. */
+ QUIT;
+
+ i = 0;
+ shell_input_line_terminator = 0;
+
+ /* If the shell is interatctive, but not currently printing a prompt
+ (interactive_shell && interactive == 0), we don't want to print
+ notifies or cleanup the jobs -- we want to defer it until we do
+ print the next prompt. */
+ if (interactive_shell == 0 || SHOULD_PROMPT())
+ {
+#if defined (JOB_CONTROL)
+ /* This can cause a problem when reading a command as the result
+ of a trap, when the trap is called from flush_child. This call
+ had better not cause jobs to disappear from the job table in
+ that case, or we will have big trouble. */
+ notify_and_cleanup ();
+#else /* !JOB_CONTROL */
+ cleanup_dead_jobs ();
+#endif /* !JOB_CONTROL */
+ }
+
+#if defined (READLINE)
+ if (no_line_editing && SHOULD_PROMPT())
+#else
+ if (SHOULD_PROMPT())
+#endif
+ print_prompt ();
+
+ if (bash_input.type == st_stream)
+ clearerr (stdin);
+
+ while (1)
+ {
+ c = yy_getc ();
+
+ /* Allow immediate exit if interrupted during input. */
+ QUIT;
+
+ if (c == '\0')
+ {
+#if 0
+ internal_warning ("shell_getc: ignored null byte in input");
+#endif
+ continue;
+ }
+
+ RESIZE_MALLOCED_BUFFER (shell_input_line, i, 2, shell_input_line_size, 256);
+
+ if (c == EOF)
+ {
+ if (bash_input.type == st_stream)
+ clearerr (stdin);
+
+ if (i == 0)
+ shell_input_line_terminator = EOF;
+
+ shell_input_line[i] = '\0';
+ break;
+ }
+
+ shell_input_line[i++] = c;
+
+ if (c == '\n')
+ {
+ shell_input_line[--i] = '\0';
+ current_command_line_count++;
+ break;
+ }
+ }
+
+ shell_input_line_index = 0;
+ shell_input_line_len = i; /* == strlen (shell_input_line) */
+
+ set_line_mbstate ();
+
+#if defined (HISTORY)
+ if (remember_on_history && shell_input_line && shell_input_line[0])
+ {
+ char *expansions;
+# if defined (BANG_HISTORY)
+ int old_hist;
+
+ /* If the current delimiter is a single quote, we should not be
+ performing history expansion, even if we're on a different
+ line from the original single quote. */
+ old_hist = history_expansion_inhibited;
+ if (current_delimiter (dstack) == '\'')
+ history_expansion_inhibited = 1;
+# endif
+ expansions = pre_process_line (shell_input_line, 1, 1);
+# if defined (BANG_HISTORY)
+ history_expansion_inhibited = old_hist;
+# endif
+ if (expansions != shell_input_line)
+ {
+ free (shell_input_line);
+ shell_input_line = expansions;
+ shell_input_line_len = shell_input_line ?
+ strlen (shell_input_line) : 0;
+ if (!shell_input_line_len)
+ current_command_line_count--;
+
+ /* We have to force the xrealloc below because we don't know
+ the true allocated size of shell_input_line anymore. */
+ shell_input_line_size = shell_input_line_len;
+
+ set_line_mbstate ();
+ }
+ }
+ /* Try to do something intelligent with blank lines encountered while
+ entering multi-line commands. XXX - this is grotesque */
+ else if (remember_on_history && shell_input_line &&
+ shell_input_line[0] == '\0' &&
+ current_command_line_count > 1)
+ {
+ if (current_delimiter (dstack))
+ /* We know shell_input_line[0] == 0 and we're reading some sort of
+ quoted string. This means we've got a line consisting of only
+ a newline in a quoted string. We want to make sure this line
+ gets added to the history. */
+ maybe_add_history (shell_input_line);
+ else
+ {
+ char *hdcs;
+ hdcs = history_delimiting_chars ();
+ if (hdcs && hdcs[0] == ';')
+ maybe_add_history (shell_input_line);
+ }
+ }
+
+#endif /* HISTORY */
+
+ if (shell_input_line)
+ {
+ /* Lines that signify the end of the shell's input should not be
+ echoed. */
+ if (echo_input_at_read && (shell_input_line[0] ||
+ shell_input_line_terminator != EOF))
+ fprintf (stderr, "%s\n", shell_input_line);
+ }
+ else
+ {
+ shell_input_line_size = 0;
+ prompt_string_pointer = ¤t_prompt_string;
+ if (SHOULD_PROMPT ())
+ prompt_again ();
+ goto restart_read;
+ }
+
+ /* Add the newline to the end of this string, iff the string does
+ not already end in an EOF character. */
+ if (shell_input_line_terminator != EOF)
+ {
+ if (shell_input_line_len + 3 > shell_input_line_size)
+ shell_input_line = (char *)xrealloc (shell_input_line,
+ 1 + (shell_input_line_size += 2));
+
+ shell_input_line[shell_input_line_len] = '\n';
+ shell_input_line[shell_input_line_len + 1] = '\0';
+
+ set_line_mbstate ();
+ }
+ }
+
+ uc = shell_input_line[shell_input_line_index];
+
+ if (uc)
+ shell_input_line_index++;
+
+#if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
+ /* If UC is NULL, we have reached the end of the current input string. If
+ pushed_string_list is non-empty, it's time to pop to the previous string
+ because we have fully consumed the result of the last alias expansion.
+ Do it transparently; just return the next character of the string popped
+ to. */
+ if (!uc && (pushed_string_list != (STRING_SAVER *)NULL))
+ {
+ pop_string ();
+ uc = shell_input_line[shell_input_line_index];
+ if (uc)
+ shell_input_line_index++;
+ }
+#endif /* ALIAS || DPAREN_ARITHMETIC */
+
+ if MBTEST(uc == '\\' && remove_quoted_newline && shell_input_line[shell_input_line_index] == '\n')
+ {
+ if (SHOULD_PROMPT ())
+ prompt_again ();
+ line_number++;
+ goto restart_read;
+ }
+
+ if (!uc && shell_input_line_terminator == EOF)
+ return ((shell_input_line_index != 0) ? '\n' : EOF);
+
+ return (uc);
+}
+
+/* Put C back into the input for the shell. This might need changes for
+ HANDLE_MULTIBYTE around EOLs. Since we (currently) never push back a
+ character different than we read, shell_input_line_property doesn't need
+ to change when manipulating shell_input_line. The define for
+ last_shell_getc_is_singlebyte should take care of it, though. */
+static void
+shell_ungetc (c)
+ int c;
+{
+ if (shell_input_line && shell_input_line_index)
+ shell_input_line[--shell_input_line_index] = c;
+ else
+ eol_ungetc_lookahead = c;
+}
+
+#ifdef INCLUDE_UNUSED
+/* Back the input pointer up by one, effectively `ungetting' a character. */
+static void
+shell_ungetchar ()
+{
+ if (shell_input_line && shell_input_line_index)
+ shell_input_line_index--;
+}
+#endif
+
+/* Discard input until CHARACTER is seen, then push that character back
+ onto the input stream. */
+static void
+discard_until (character)
+ int character;
+{
+ int c;
+
+ while ((c = shell_getc (0)) != EOF && c != character)
+ ;
+
+ if (c != EOF)
+ shell_ungetc (c);
+}
+
+void
+execute_variable_command (command, vname)
+ char *command, *vname;
+{
+ char *last_lastarg;
+ sh_parser_state_t ps;
+
+ save_parser_state (&ps);
+ last_lastarg = get_string_value ("_");
+ if (last_lastarg)
+ last_lastarg = savestring (last_lastarg);
+
+ parse_and_execute (savestring (command), vname, SEVAL_NONINT|SEVAL_NOHIST);
+
+ restore_parser_state (&ps);
+ bind_variable ("_", last_lastarg, 0);
+ FREE (last_lastarg);
+
+ if (token_to_read == '\n') /* reset_parser was called */
+ token_to_read = 0;
+}
+
+/* Place to remember the token. We try to keep the buffer
+ at a reasonable size, but it can grow. */
+static char *token = (char *)NULL;
+
+/* Current size of the token buffer. */
+static int token_buffer_size;
+
+/* Command to read_token () explaining what we want it to do. */
+#define READ 0
+#define RESET 1
+#define prompt_is_ps1 \
+ (!prompt_string_pointer || prompt_string_pointer == &ps1_prompt)
+
+/* Function for yyparse to call. yylex keeps track of
+ the last two tokens read, and calls read_token. */
+static int
+yylex ()
+{
+ if (interactive && (current_token == 0 || current_token == '\n'))
+ {
+ /* Before we print a prompt, we might have to check mailboxes.
+ We do this only if it is time to do so. Notice that only here
+ is the mail alarm reset; nothing takes place in check_mail ()
+ except the checking of mail. Please don't change this. */
+ if (prompt_is_ps1 && time_to_check_mail ())
+ {
+ check_mail ();
+ reset_mail_timer ();
+ }
+
+ /* Avoid printing a prompt if we're not going to read anything, e.g.
+ after resetting the parser with read_token (RESET). */
+ if (token_to_read == 0 && SHOULD_PROMPT ())
+ prompt_again ();
+ }
+
+ two_tokens_ago = token_before_that;
+ token_before_that = last_read_token;
+ last_read_token = current_token;
+ current_token = read_token (READ);
+
+ if ((parser_state & PST_EOFTOKEN) && current_token == shell_eof_token)
+ {
+ current_token = yacc_EOF;
+ if (bash_input.type == st_string)
+ rewind_input_string ();
+ }
+ parser_state &= ~PST_EOFTOKEN;
+
+ return (current_token);
+}
+
+/* When non-zero, we have read the required tokens
+ which allow ESAC to be the next one read. */
+static int esacs_needed_count;
+
+void
+gather_here_documents ()
+{
+ int r;
+
+ r = 0;
+ while (need_here_doc)
+ {
+ parser_state |= PST_HEREDOC;
+ make_here_document (redir_stack[r++], line_number);
+ parser_state &= ~PST_HEREDOC;
+ need_here_doc--;
+ }
+}
+
+/* When non-zero, an open-brace used to create a group is awaiting a close
+ brace partner. */
+static int open_brace_count;
+
+#define command_token_position(token) \
+ (((token) == ASSIGNMENT_WORD) || \
+ ((token) != SEMI_SEMI && (token) != SEMI_AND && (token) != SEMI_SEMI_AND && reserved_word_acceptable(token)))
+
+#define assignment_acceptable(token) \
+ (command_token_position(token) && ((parser_state & PST_CASEPAT) == 0))
+
+/* Check to see if TOKEN is a reserved word and return the token
+ value if it is. */
+#define CHECK_FOR_RESERVED_WORD(tok) \
+ do { \
+ if (!dollar_present && !quoted && \
+ reserved_word_acceptable (last_read_token)) \
+ { \
+ int i; \
+ for (i = 0; word_token_alist[i].word != (char *)NULL; i++) \
+ if (STREQ (tok, word_token_alist[i].word)) \
+ { \
+ if ((parser_state & PST_CASEPAT) && (word_token_alist[i].token != ESAC)) \
+ break; \
+ if (word_token_alist[i].token == TIME && time_command_acceptable () == 0) \
+ break; \
+ if (word_token_alist[i].token == ESAC) \
+ parser_state &= ~(PST_CASEPAT|PST_CASESTMT); \
+ else if (word_token_alist[i].token == CASE) \
+ parser_state |= PST_CASESTMT; \
+ else if (word_token_alist[i].token == COND_END) \
+ parser_state &= ~(PST_CONDCMD|PST_CONDEXPR); \
+ else if (word_token_alist[i].token == COND_START) \
+ parser_state |= PST_CONDCMD; \
+ else if (word_token_alist[i].token == '{') \
+ open_brace_count++; \
+ else if (word_token_alist[i].token == '}' && open_brace_count) \
+ open_brace_count--; \
+ return (word_token_alist[i].token); \
+ } \
+ } \
+ } while (0)
+
+#if defined (ALIAS)
+
+ /* OK, we have a token. Let's try to alias expand it, if (and only if)
+ it's eligible.
+
+ It is eligible for expansion if EXPAND_ALIASES is set, and
+ the token is unquoted and the last token read was a command
+ separator (or expand_next_token is set), and we are currently
+ processing an alias (pushed_string_list is non-empty) and this
+ token is not the same as the current or any previously
+ processed alias.
+
+ Special cases that disqualify:
+ In a pattern list in a case statement (parser_state & PST_CASEPAT). */
+
+static char *
+mk_alexpansion (s)
+ char *s;
+{
+ int l;
+ char *r;
+
+ l = strlen (s);
+ r = xmalloc (l + 2);
+ strcpy (r, s);
+ if (r[l -1] != ' ')
+ r[l++] = ' ';
+ r[l] = '\0';
+ return r;
+}
+
+static int
+alias_expand_token (tokstr)
+ char *tokstr;
+{
+ char *expanded;
+ alias_t *ap;
+
+ if (((parser_state & PST_ALEXPNEXT) || command_token_position (last_read_token)) &&
+ (parser_state & PST_CASEPAT) == 0)
+ {
+ ap = find_alias (tokstr);
+
+ /* Currently expanding this token. */
+ if (ap && (ap->flags & AL_BEINGEXPANDED))
+ return (NO_EXPANSION);
+
+ /* mk_alexpansion puts an extra space on the end of the alias expansion,
+ so the lookahead by the parser works right. If this gets changed,
+ make sure the code in shell_getc that deals with reaching the end of
+ an expanded alias is changed with it. */
+ expanded = ap ? mk_alexpansion (ap->value) : (char *)NULL;
+
+ if (expanded)
+ {
+ push_string (expanded, ap->flags & AL_EXPANDNEXT, ap);
+ return (RE_READ_TOKEN);
+ }
+ else
+ /* This is an eligible token that does not have an expansion. */
+ return (NO_EXPANSION);
+ }
+ return (NO_EXPANSION);
+}
+#endif /* ALIAS */
+
+static int
+time_command_acceptable ()
+{
+#if defined (COMMAND_TIMING)
+ switch (last_read_token)
+ {
+ case 0:
+ case ';':
+ case '\n':
+ case AND_AND:
+ case OR_OR:
+ case '&':
+ case DO:
+ case THEN:
+ case ELSE:
+ case '{': /* } */
+ case '(': /* ) */
+ return 1;
+ default:
+ return 0;
+ }
+#else
+ return 0;
+#endif /* COMMAND_TIMING */
+}
+
+/* Handle special cases of token recognition:
+ IN is recognized if the last token was WORD and the token
+ before that was FOR or CASE or SELECT.
+
+ DO is recognized if the last token was WORD and the token
+ before that was FOR or SELECT.
+
+ ESAC is recognized if the last token caused `esacs_needed_count'
+ to be set
+
+ `{' is recognized if the last token as WORD and the token
+ before that was FUNCTION, or if we just parsed an arithmetic
+ `for' command.
+
+ `}' is recognized if there is an unclosed `{' present.
+
+ `-p' is returned as TIMEOPT if the last read token was TIME.
+
+ ']]' is returned as COND_END if the parser is currently parsing
+ a conditional expression ((parser_state & PST_CONDEXPR) != 0)
+
+ `time' is returned as TIME if and only if it is immediately
+ preceded by one of `;', `\n', `||', `&&', or `&'.
+*/
+
+static int
+special_case_tokens (tokstr)
+ char *tokstr;
+{
+ if ((last_read_token == WORD) &&
+#if defined (SELECT_COMMAND)
+ ((token_before_that == FOR) || (token_before_that == CASE) || (token_before_that == SELECT)) &&
+#else
+ ((token_before_that == FOR) || (token_before_that == CASE)) &&
+#endif
+ (tokstr[0] == 'i' && tokstr[1] == 'n' && tokstr[2] == 0))
+ {
+ if (token_before_that == CASE)
+ {
+ parser_state |= PST_CASEPAT;
+ esacs_needed_count++;
+ }
+ return (IN);
+ }
+
+ if (last_read_token == WORD &&
+#if defined (SELECT_COMMAND)
+ (token_before_that == FOR || token_before_that == SELECT) &&
+#else
+ (token_before_that == FOR) &&
+#endif
+ (tokstr[0] == 'd' && tokstr[1] == 'o' && tokstr[2] == '\0'))
+ return (DO);
+
+ /* Ditto for ESAC in the CASE case.
+ Specifically, this handles "case word in esac", which is a legal
+ construct, certainly because someone will pass an empty arg to the
+ case construct, and we don't want it to barf. Of course, we should
+ insist that the case construct has at least one pattern in it, but
+ the designers disagree. */
+ if (esacs_needed_count)
+ {
+ esacs_needed_count--;
+ if (STREQ (tokstr, "esac"))
+ {
+ parser_state &= ~PST_CASEPAT;
+ return (ESAC);
+ }
+ }
+
+ /* The start of a shell function definition. */
+ if (parser_state & PST_ALLOWOPNBRC)
+ {
+ parser_state &= ~PST_ALLOWOPNBRC;
+ if (tokstr[0] == '{' && tokstr[1] == '\0') /* } */
+ {
+ open_brace_count++;
+ function_bstart = line_number;
+ return ('{'); /* } */
+ }
+ }
+
+ /* We allow a `do' after a for ((...)) without an intervening
+ list_terminator */
+ if (last_read_token == ARITH_FOR_EXPRS && tokstr[0] == 'd' && tokstr[1] == 'o' && !tokstr[2])
+ return (DO);
+ if (last_read_token == ARITH_FOR_EXPRS && tokstr[0] == '{' && tokstr[1] == '\0') /* } */
+ {
+ open_brace_count++;
+ return ('{'); /* } */
+ }
+
+ if (open_brace_count && reserved_word_acceptable (last_read_token) && tokstr[0] == '}' && !tokstr[1])
+ {
+ open_brace_count--; /* { */
+ return ('}');
+ }
+
+#if defined (COMMAND_TIMING)
+ /* Handle -p after `time'. */
+ if (last_read_token == TIME && tokstr[0] == '-' && tokstr[1] == 'p' && !tokstr[2])
+ return (TIMEOPT);
+#endif
+
+#if 0
+#if defined (COMMAND_TIMING)
+ if (STREQ (token, "time") && ((parser_state & PST_CASEPAT) == 0) && time_command_acceptable ())
+ return (TIME);
+#endif /* COMMAND_TIMING */
+#endif
+
+#if defined (COND_COMMAND) /* [[ */
+ if ((parser_state & PST_CONDEXPR) && tokstr[0] == ']' && tokstr[1] == ']' && tokstr[2] == '\0')
+ return (COND_END);
+#endif
+
+ return (-1);
+}
+
+/* Called from shell.c when Control-C is typed at top level. Or
+ by the error rule at top level. */
+void
+reset_parser ()
+{
+ dstack.delimiter_depth = 0; /* No delimiters found so far. */
+ open_brace_count = 0;
+
+ parser_state = 0;
+
+#if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
+ if (pushed_string_list)
+ free_string_list ();
+#endif /* ALIAS || DPAREN_ARITHMETIC */
+
+ if (shell_input_line)
+ {
+ free (shell_input_line);
+ shell_input_line = (char *)NULL;
+ shell_input_line_size = shell_input_line_index = 0;
+ }
+
+ FREE (word_desc_to_read);
+ word_desc_to_read = (WORD_DESC *)NULL;
+
+ current_token = '\n'; /* XXX */
+ last_read_token = '\n';
+ token_to_read = '\n';
+}
+
+/* Read the next token. Command can be READ (normal operation) or
+ RESET (to normalize state). */
+static int
+read_token (command)
+ int command;
+{
+ int character; /* Current character. */
+ int peek_char; /* Temporary look-ahead character. */
+ int result; /* The thing to return. */
+
+ if (command == RESET)
+ {
+ reset_parser ();
+ return ('\n');
+ }
+
+ if (token_to_read)
+ {
+ result = token_to_read;
+ if (token_to_read == WORD || token_to_read == ASSIGNMENT_WORD)
+ {
+ yylval.word = word_desc_to_read;
+ word_desc_to_read = (WORD_DESC *)NULL;
+ }
+ token_to_read = 0;
+ return (result);
+ }
+
+#if defined (COND_COMMAND)
+ if ((parser_state & (PST_CONDCMD|PST_CONDEXPR)) == PST_CONDCMD)
+ {
+ cond_lineno = line_number;
+ parser_state |= PST_CONDEXPR;
+ yylval.command = parse_cond_command ();
+ if (cond_token != COND_END)
+ {
+ cond_error ();
+ return (-1);
+ }
+ token_to_read = COND_END;
+ parser_state &= ~(PST_CONDEXPR|PST_CONDCMD);
+ return (COND_CMD);
+ }
+#endif
+
+#if defined (ALIAS)
+ /* This is a place to jump back to once we have successfully expanded a
+ token with an alias and pushed the string with push_string () */
+ re_read_token:
+#endif /* ALIAS */
+
+ /* Read a single word from input. Start by skipping blanks. */
+ while ((character = shell_getc (1)) != EOF && shellblank (character))
+ ;
+
+ if (character == EOF)
+ {
+ EOF_Reached = 1;
+ return (yacc_EOF);
+ }
+
+ if MBTEST(character == '#' && (!interactive || interactive_comments))
+ {
+ /* A comment. Discard until EOL or EOF, and then return a newline. */
+ discard_until ('\n');
+ shell_getc (0);
+ character = '\n'; /* this will take the next if statement and return. */
+ }
+
+ if (character == '\n')
+ {
+ /* If we're about to return an unquoted newline, we can go and collect
+ the text of any pending here document. */
+ if (need_here_doc)
+ gather_here_documents ();
+
+#if defined (ALIAS)
+ parser_state &= ~PST_ALEXPNEXT;
+#endif /* ALIAS */
+
+ parser_state &= ~PST_ASSIGNOK;
+
+ return (character);
+ }
+
+ if (parser_state & PST_REGEXP)
+ goto tokword;
+
+ /* Shell meta-characters. */
+ if MBTEST(shellmeta (character) && ((parser_state & PST_DBLPAREN) == 0))
+ {
+#if defined (ALIAS)
+ /* Turn off alias tokenization iff this character sequence would
+ not leave us ready to read a command. */
+ if (character == '<' || character == '>')
+ parser_state &= ~PST_ALEXPNEXT;
+#endif /* ALIAS */
+
+ parser_state &= ~PST_ASSIGNOK;
+
+ peek_char = shell_getc (1);
+ if (character == peek_char)
+ {
+ switch (character)
+ {
+ case '<':
+ /* If '<' then we could be at "<<" or at "<<-". We have to
+ look ahead one more character. */
+ peek_char = shell_getc (1);
+ if MBTEST(peek_char == '-')
+ return (LESS_LESS_MINUS);
+ else if MBTEST(peek_char == '<')
+ return (LESS_LESS_LESS);
+ else
+ {
+ shell_ungetc (peek_char);
+ return (LESS_LESS);
+ }
+
+ case '>':
+ return (GREATER_GREATER);
+
+ case ';':
+ parser_state |= PST_CASEPAT;
+#if defined (ALIAS)
+ parser_state &= ~PST_ALEXPNEXT;
+#endif /* ALIAS */
+
+ peek_char = shell_getc (1);
+ if MBTEST(peek_char == '&')
+ return (SEMI_SEMI_AND);
+ else
+ {
+ shell_ungetc (peek_char);
+ return (SEMI_SEMI);
+ }
+
+ case '&':
+ return (AND_AND);
+
+ case '|':
+ return (OR_OR);
+
+#if defined (DPAREN_ARITHMETIC) || defined (ARITH_FOR_COMMAND)
+ case '(': /* ) */
+ result = parse_dparen (character);
+ if (result == -2)
+ break;
+ else
+ return result;
+#endif
+ }
+ }
+ else if MBTEST(character == '<' && peek_char == '&')
+ return (LESS_AND);
+ else if MBTEST(character == '>' && peek_char == '&')
+ return (GREATER_AND);
+ else if MBTEST(character == '<' && peek_char == '>')
+ return (LESS_GREATER);
+ else if MBTEST(character == '>' && peek_char == '|')
+ return (GREATER_BAR);
+ else if MBTEST(character == '&' && peek_char == '>')
+ {
+ peek_char = shell_getc (1);
+ if MBTEST(peek_char == '>')
+ return (AND_GREATER_GREATER);
+ else
+ {
+ shell_ungetc (peek_char);
+ return (AND_GREATER);
+ }
+ }
+ else if MBTEST(character == '|' && peek_char == '&')
+ return (BAR_AND);
+ else if MBTEST(character == ';' && peek_char == '&')
+ {
+ parser_state |= PST_CASEPAT;
+#if defined (ALIAS)
+ parser_state &= ~PST_ALEXPNEXT;
+#endif /* ALIAS */
+ return (SEMI_AND);
+ }
+
+ shell_ungetc (peek_char);
+
+ /* If we look like we are reading the start of a function
+ definition, then let the reader know about it so that
+ we will do the right thing with `{'. */
+ if MBTEST(character == ')' && last_read_token == '(' && token_before_that == WORD)
+ {
+ parser_state |= PST_ALLOWOPNBRC;
+#if defined (ALIAS)
+ parser_state &= ~PST_ALEXPNEXT;
+#endif /* ALIAS */
+ function_dstart = line_number;
+ }
+
+ /* case pattern lists may be preceded by an optional left paren. If
+ we're not trying to parse a case pattern list, the left paren
+ indicates a subshell. */
+ if MBTEST(character == '(' && (parser_state & PST_CASEPAT) == 0) /* ) */
+ parser_state |= PST_SUBSHELL;
+ /*(*/
+ else if MBTEST((parser_state & PST_CASEPAT) && character == ')')
+ parser_state &= ~PST_CASEPAT;
+ /*(*/
+ else if MBTEST((parser_state & PST_SUBSHELL) && character == ')')
+ parser_state &= ~PST_SUBSHELL;
+
+#if defined (PROCESS_SUBSTITUTION)
+ /* Check for the constructs which introduce process substitution.
+ Shells running in `posix mode' don't do process substitution. */
+ if MBTEST(posixly_correct || ((character != '>' && character != '<') || peek_char != '(')) /*)*/
+#endif /* PROCESS_SUBSTITUTION */
+ return (character);
+ }
+
+ /* Hack <&- (close stdin) case. Also <&N- (dup and close). */
+ if MBTEST(character == '-' && (last_read_token == LESS_AND || last_read_token == GREATER_AND))
+ return (character);
+
+tokword:
+ /* Okay, if we got this far, we have to read a word. Read one,
+ and then check it against the known ones. */
+ result = read_token_word (character);
+#if defined (ALIAS)
+ if (result == RE_READ_TOKEN)
+ goto re_read_token;
+#endif
+ return result;
+}
+
+/*
+ * Match a $(...) or other grouping construct. This has to handle embedded
+ * quoted strings ('', ``, "") and nested constructs. It also must handle
+ * reprompting the user, if necessary, after reading a newline, and returning
+ * correct error values if it reads EOF.
+ */
+#define P_FIRSTCLOSE 0x01
+#define P_ALLOWESC 0x02
+#define P_DQUOTE 0x04
+#define P_COMMAND 0x08 /* parsing a command, so look for comments */
+#define P_BACKQUOTE 0x10 /* parsing a backquoted command substitution */
+#define P_ARRAYSUB 0x20 /* parsing a [...] array subscript for assignment */
+
+/* Lexical state while parsing a grouping construct or $(...). */
+#define LEX_WASDOL 0x001
+#define LEX_CKCOMMENT 0x002
+#define LEX_INCOMMENT 0x004
+#define LEX_PASSNEXT 0x008
+#define LEX_RESWDOK 0x010
+#define LEX_CKCASE 0x020
+#define LEX_INCASE 0x040
+#define LEX_INHEREDOC 0x080
+#define LEX_HEREDELIM 0x100 /* reading here-doc delimiter */
+#define LEX_STRIPDOC 0x200 /* <<- strip tabs from here doc delim */
+#define LEX_INWORD 0x400
+
+#define COMSUB_META(ch) ((ch) == ';' || (ch) == '&' || (ch) == '|')
+
+#define CHECK_NESTRET_ERROR() \
+ do { \
+ if (nestret == &matched_pair_error) \
+ { \
+ free (ret); \
+ return &matched_pair_error; \
+ } \
+ } while (0)
+
+#define APPEND_NESTRET() \
+ do { \
+ if (nestlen) \
+ { \
+ RESIZE_MALLOCED_BUFFER (ret, retind, nestlen, retsize, 64); \
+ strcpy (ret + retind, nestret); \
+ retind += nestlen; \
+ } \
+ } while (0)
+
+static char matched_pair_error;
+
+static char *
+parse_matched_pair (qc, open, close, lenp, flags)
+ int qc; /* `"' if this construct is within double quotes */
+ int open, close;
+ int *lenp, flags;
+{
+ int count, ch, tflags;
+ int nestlen, ttranslen, start_lineno;
+ char *ret, *nestret, *ttrans;
+ int retind, retsize, rflags;
+
+/* itrace("parse_matched_pair: open = %c close = %c flags = %d", open, close, flags); */
+ count = 1;
+ tflags = 0;
+
+ if ((flags & P_COMMAND) && qc != '`' && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0)
+ tflags |= LEX_CKCOMMENT;
+
+ /* RFLAGS is the set of flags we want to pass to recursive calls. */
+ rflags = (qc == '"') ? P_DQUOTE : (flags & P_DQUOTE);
+
+ ret = (char *)xmalloc (retsize = 64);
+ retind = 0;
+
+ start_lineno = line_number;
+ while (count)
+ {
+ ch = shell_getc (qc != '\'' && (tflags & LEX_PASSNEXT) == 0);
+
+ if (ch == EOF)
+ {
+ free (ret);
+ parser_error (start_lineno, _("unexpected EOF while looking for matching `%c'"), close);
+ EOF_Reached = 1; /* XXX */
+ return (&matched_pair_error);
+ }
+
+ /* Possible reprompting. */
+ if (ch == '\n' && SHOULD_PROMPT ())
+ prompt_again ();
+
+ /* Don't bother counting parens or doing anything else if in a comment
+ or part of a case statement */
+ if (tflags & LEX_INCOMMENT)
+ {
+ /* Add this character. */
+ RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+ ret[retind++] = ch;
+
+ if (ch == '\n')
+ tflags &= ~LEX_INCOMMENT;
+
+ continue;
+ }
+
+ /* Not exactly right yet, should handle shell metacharacters, too. If
+ any changes are made to this test, make analogous changes to subst.c:
+ extract_delimited_string(). */
+ else if MBTEST((tflags & LEX_CKCOMMENT) && (tflags & LEX_INCOMMENT) == 0 && ch == '#' && (retind == 0 || ret[retind-1] == '\n' || shellblank (ret[retind - 1])))
+ tflags |= LEX_INCOMMENT;
+
+ if (tflags & LEX_PASSNEXT) /* last char was backslash */
+ {
+ tflags &= ~LEX_PASSNEXT;
+ if (qc != '\'' && ch == '\n') /* double-quoted \<newline> disappears. */
+ {
+ if (retind > 0)
+ retind--; /* swallow previously-added backslash */
+ continue;
+ }
+
+ RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
+ if MBTEST(ch == CTLESC || ch == CTLNUL)
+ ret[retind++] = CTLESC;
+ ret[retind++] = ch;
+ continue;
+ }
+ /* If we're reparsing the input (e.g., from parse_string_to_word_list),
+ we've already prepended CTLESC to single-quoted results of $'...'.
+ We may want to do this for other CTLESC-quoted characters in
+ reparse, too. */
+ else if MBTEST((parser_state & PST_REPARSE) && open == '\'' && (ch == CTLESC || ch == CTLNUL))
+ {
+ RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+ ret[retind++] = ch;
+ continue;
+ }
+ else if MBTEST(ch == CTLESC || ch == CTLNUL) /* special shell escapes */
+ {
+ RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
+ ret[retind++] = CTLESC;
+ ret[retind++] = ch;
+ continue;
+ }
+ else if MBTEST(ch == close) /* ending delimiter */
+ count--;
+ /* handle nested ${...} specially. */
+ else if MBTEST(open != close && (tflags & LEX_WASDOL) && open == '{' && ch == open) /* } */
+ count++;
+ else if MBTEST(((flags & P_FIRSTCLOSE) == 0) && ch == open) /* nested begin */
+ count++;
+
+ /* Add this character. */
+ RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+ ret[retind++] = ch;
+
+ /* If we just read the ending character, don't bother continuing. */
+ if (count == 0)
+ break;
+
+ if (open == '\'') /* '' inside grouping construct */
+ {
+ if MBTEST((flags & P_ALLOWESC) && ch == '\\')
+ tflags |= LEX_PASSNEXT;
+ continue;
+ }
+
+ if MBTEST(ch == '\\') /* backslashes */
+ tflags |= LEX_PASSNEXT;
+
+#if 0
+ /* The big hammer. Single quotes aren't special in double quotes. The
+ problem is that Posix says the single quotes are semi-special:
+ within a double-quoted ${...} construct "an even number of
+ unescaped double-quotes or single-quotes, if any, shall occur." */
+ if MBTEST(open == '{' && (flags & P_DQUOTE) && ch == '\'') /* } */
+ continue;
+#endif
+
+ /* Could also check open == '`' if we want to parse grouping constructs
+ inside old-style command substitution. */
+ if (open != close) /* a grouping construct */
+ {
+ if MBTEST(shellquote (ch))
+ {
+ /* '', ``, or "" inside $(...) or other grouping construct. */
+ push_delimiter (dstack, ch);
+ if MBTEST((tflags & LEX_WASDOL) && ch == '\'') /* $'...' inside group */
+ nestret = parse_matched_pair (ch, ch, ch, &nestlen, P_ALLOWESC|rflags);
+ else
+ nestret = parse_matched_pair (ch, ch, ch, &nestlen, rflags);
+ pop_delimiter (dstack);
+ CHECK_NESTRET_ERROR ();
+
+ if MBTEST((tflags & LEX_WASDOL) && ch == '\'' && (extended_quote || (rflags & P_DQUOTE) == 0))
+ {
+ /* Translate $'...' here. */
+ ttrans = ansiexpand (nestret, 0, nestlen - 1, &ttranslen);
+ xfree (nestret);
+
+ if ((rflags & P_DQUOTE) == 0)
+ {
+ nestret = sh_single_quote (ttrans);
+ free (ttrans);
+ nestlen = strlen (nestret);
+ }
+ else
+ {
+ nestret = ttrans;
+ nestlen = ttranslen;
+ }
+ retind -= 2; /* back up before the $' */
+ }
+ else if MBTEST((tflags & LEX_WASDOL) && ch == '"' && (extended_quote || (rflags & P_DQUOTE) == 0))
+ {
+ /* Locale expand $"..." here. */
+ ttrans = localeexpand (nestret, 0, nestlen - 1, start_lineno, &ttranslen);
+ xfree (nestret);
+
+ nestret = sh_mkdoublequoted (ttrans, ttranslen, 0);
+ free (ttrans);
+ nestlen = ttranslen + 2;
+ retind -= 2; /* back up before the $" */
+ }
+
+ APPEND_NESTRET ();
+ FREE (nestret);
+ }
+ else if ((flags & P_ARRAYSUB) && (tflags & LEX_WASDOL) && (ch == '(' || ch == '{' || ch == '[')) /* ) } ] */
+ goto parse_dollar_word;
+ }
+ /* Parse an old-style command substitution within double quotes as a
+ single word. */
+ /* XXX - sh and ksh93 don't do this - XXX */
+ else if MBTEST(open == '"' && ch == '`')
+ {
+ nestret = parse_matched_pair (0, '`', '`', &nestlen, rflags);
+
+ CHECK_NESTRET_ERROR ();
+ APPEND_NESTRET ();
+
+ FREE (nestret);
+ }
+ else if MBTEST(open != '`' && (tflags & LEX_WASDOL) && (ch == '(' || ch == '{' || ch == '[')) /* ) } ] */
+ /* check for $(), $[], or ${} inside quoted string. */
+ {
+parse_dollar_word:
+ if (open == ch) /* undo previous increment */
+ count--;
+ if (ch == '(') /* ) */
+ nestret = parse_comsub (0, '(', ')', &nestlen, (rflags|P_COMMAND) & ~P_DQUOTE);
+ else if (ch == '{') /* } */
+ nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|rflags);
+ else if (ch == '[') /* ] */
+ nestret = parse_matched_pair (0, '[', ']', &nestlen, rflags);
+
+ CHECK_NESTRET_ERROR ();
+ APPEND_NESTRET ();
+
+ FREE (nestret);
+ }
+ if MBTEST(ch == '$')
+ tflags |= LEX_WASDOL;
+ else
+ tflags &= ~LEX_WASDOL;
+ }
+
+ ret[retind] = '\0';
+ if (lenp)
+ *lenp = retind;
+ return ret;
+}
+
+/* Not exactly right yet, should handle shell metacharacters better. If
+ any changes are made to this test, make analogous changes to subst.c:
+ extract_delimited_string(). */
+#define COMMENT_BEGIN(x) ((x) == '#' && (retind == 0 || ret[retind-1] == '\n' || shellblank (ret[retind - 1])))
+
+/* Parse a $(...) command substitution. This is messier than I'd like, and
+ reproduces a lot more of the token-reading code than I'd like. */
+static char *
+parse_comsub (qc, open, close, lenp, flags)
+ int qc; /* `"' if this construct is within double quotes */
+ int open, close;
+ int *lenp, flags;
+{
+ int count, ch, peekc, tflags, lex_rwlen, lex_firstind;
+ int nestlen, ttranslen, start_lineno;
+ char *ret, *nestret, *ttrans, *heredelim;
+ int retind, retsize, rflags, hdlen;
+
+/*itrace("parse_comsub: qc = `%c' open = %c close = %c", qc, open, close);*/
+ count = 1;
+ tflags = LEX_RESWDOK;
+
+ if ((flags & P_COMMAND) && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0)
+ tflags |= LEX_CKCASE;
+ if ((tflags & LEX_CKCASE) && (interactive == 0 || interactive_comments))
+ tflags |= LEX_CKCOMMENT;
+
+ /* RFLAGS is the set of flags we want to pass to recursive calls. */
+ rflags = (flags & P_DQUOTE);
+
+ ret = (char *)xmalloc (retsize = 64);
+ retind = 0;
+
+ start_lineno = line_number;
+ lex_rwlen = 0;
+
+ heredelim = 0;
+ lex_firstind = -1;
+
+ while (count)
+ {
+comsub_readchar:
+ ch = shell_getc (qc != '\'' && (tflags & LEX_PASSNEXT) == 0);
+
+ if (ch == EOF)
+ {
+eof_error:
+ free (ret);
+ FREE (heredelim);
+ parser_error (start_lineno, _("unexpected EOF while looking for matching `%c'"), close);
+ EOF_Reached = 1; /* XXX */
+ return (&matched_pair_error);
+ }
+
+ /* If we hit the end of a line and are reading the contents of a here
+ document, and it's not the same line that the document starts on,
+ check for this line being the here doc delimiter. Otherwise, if
+ we're in a here document, mark the next character as the beginning
+ of a line. */
+ if (ch == '\n')
+ {
+ if ((tflags & LEX_HEREDELIM) && heredelim)
+ {
+ tflags &= ~LEX_HEREDELIM;
+ tflags |= LEX_INHEREDOC;
+ lex_firstind = retind + 1;
+ }
+ else if (tflags & LEX_INHEREDOC)
+ {
+ int tind;
+ tind = lex_firstind;
+ while ((tflags & LEX_STRIPDOC) && ret[tind] == '\t')
+ tind++;
+ if (STREQN (ret + tind, heredelim, hdlen))
+ {
+ tflags &= ~(LEX_STRIPDOC|LEX_INHEREDOC);
+/*itrace("parse_comsub:%d: found here doc end `%s'", line_number, ret + tind);*/
+ lex_firstind = -1;
+ }
+ else
+ lex_firstind = retind + 1;
+ }
+ }
+
+ /* Possible reprompting. */
+ if (ch == '\n' && SHOULD_PROMPT ())
+ prompt_again ();
+
+ /* Don't bother counting parens or doing anything else if in a comment */
+ if (tflags & (LEX_INCOMMENT|LEX_INHEREDOC))
+ {
+ /* Add this character. */
+ RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+ ret[retind++] = ch;
+
+ if ((tflags & LEX_INCOMMENT) && ch == '\n')
+ tflags &= ~LEX_INCOMMENT;
+
+ continue;
+ }
+
+ /* Skip whitespace */
+ if MBTEST(shellblank (ch) && lex_rwlen == 0)
+ {
+ /* Add this character. */
+ RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+ ret[retind++] = ch;
+ continue;
+ }
+
+ /* Either we are looking for the start of the here-doc delimiter
+ (lex_firstind == -1) or we are reading one (lex_firstind >= 0).
+ If this character is a shell break character and we are reading
+ the delimiter, save it and note that we are now reading a here
+ document. If we've found the start of the delimiter, note it by
+ setting lex_firstind. Backslashes can quote shell metacharacters
+ in here-doc delimiters. */
+ if (tflags & LEX_HEREDELIM)
+ {
+ if (lex_firstind == -1 && shellbreak (ch) == 0)
+ lex_firstind = retind;
+ else if (lex_firstind >= 0 && (tflags & LEX_PASSNEXT) == 0 && shellbreak (ch))
+ {
+ nestret = substring (ret, lex_firstind, retind);
+ heredelim = string_quote_removal (nestret, 0);
+ free (nestret);
+ hdlen = STRLEN(heredelim);
+/*itrace("parse_comsub:%d: found here doc delimiter `%s' (%d)", line_number, heredelim, hdlen);*/
+ if (ch == '\n')
+ {
+ tflags |= LEX_INHEREDOC;
+ tflags &= ~LEX_HEREDELIM;
+ lex_firstind = retind + 1;
+ }
+ else
+ lex_firstind = -1;
+ }
+ }
+
+ if (tflags & LEX_PASSNEXT) /* last char was backslash */
+ {
+ tflags &= ~LEX_PASSNEXT;
+ if (qc != '\'' && ch == '\n') /* double-quoted \<newline> disappears. */
+ {
+ if (retind > 0)
+ retind--; /* swallow previously-added backslash */
+ continue;
+ }
+
+ RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
+ if MBTEST(ch == CTLESC || ch == CTLNUL)
+ ret[retind++] = CTLESC;
+ ret[retind++] = ch;
+ continue;
+ }
+
+ /* Meta-characters that can introduce a reserved word. Not perfect yet. */
+ if MBTEST((tflags & LEX_RESWDOK) == 0 && (tflags & LEX_CKCASE) && (tflags & LEX_INCOMMENT) == 0 && shellmeta(ch))
+ {
+ /* Add this character. */
+ RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+ ret[retind++] = ch;
+ peekc = shell_getc (1);
+ if (ch == peekc && (ch == '&' || ch == '|' || ch == ';')) /* two-character tokens */
+ {
+ RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+ ret[retind++] = peekc;
+/*itrace("parse_comsub:%d: set lex_reswordok = 1, ch = `%c'", line_number, ch); */
+ tflags |= LEX_RESWDOK;
+ lex_rwlen = 0;
+ continue;
+ }
+ else if (ch == '\n' || COMSUB_META(ch))
+ {
+ shell_ungetc (peekc);
+ tflags |= LEX_RESWDOK;
+/*itrace("parse_comsub:%d: set lex_reswordok = 1, ch = `%c'", line_number, ch);*/
+ lex_rwlen = 0;
+ continue;
+ }
+ else if (ch == EOF)
+ goto eof_error;
+ else
+ {
+ /* `unget' the character we just added and fall through */
+ retind--;
+ shell_ungetc (peekc);
+ }
+ }
+
+ /* If we can read a reserved word, try to read one. */
+ if (tflags & LEX_RESWDOK)
+ {
+ if MBTEST(islower (ch))
+ {
+ /* Add this character. */
+ RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+ ret[retind++] = ch;
+ lex_rwlen++;
+ continue;
+ }
+ else if MBTEST(lex_rwlen == 4 && shellbreak (ch))
+ {
+ if (STREQN (ret + retind - 4, "case", 4))
+{
+ tflags |= LEX_INCASE;
+/*itrace("parse_comsub:%d: found `case', lex_incase -> 1", line_number);*/
+}
+ else if (STREQN (ret + retind - 4, "esac", 4))
+{
+ tflags &= ~LEX_INCASE;
+/*itrace("parse_comsub:%d: found `esac', lex_incase -> 0", line_number);*/
+}
+ tflags &= ~LEX_RESWDOK;
+ }
+ else if MBTEST((tflags & LEX_CKCOMMENT) && COMMENT_BEGIN(ch))
+ ; /* don't turn off LEX_RESWDOK if we're starting a comment */
+ else if MBTEST(shellbreak (ch) == 0)
+{
+ tflags &= ~LEX_RESWDOK;
+/*itrace("parse_comsub:%d: found `%c', lex_reswordok -> 0", line_number, ch);*/
+}
+ }
+
+ if MBTEST((tflags & LEX_INCOMMENT) == 0 && (tflags & LEX_CKCASE) && ch == '<')
+ {
+ /* Add this character. */
+ RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+ ret[retind++] = ch;
+ peekc = shell_getc (1);
+ if (peekc == EOF)
+ goto eof_error;
+ if (peekc == ch)
+ {
+ RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+ ret[retind++] = peekc;
+ peekc = shell_getc (1);
+ if (peekc == EOF)
+ goto eof_error;
+ if (peekc == '-')
+ {
+ RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+ ret[retind++] = peekc;
+ tflags |= LEX_STRIPDOC;
+ }
+ else
+ shell_ungetc (peekc);
+ if (peekc != '<')
+ {
+ tflags |= LEX_HEREDELIM;
+ lex_firstind = -1;
+ }
+ continue;
+ }
+ else
+ ch = peekc; /* fall through and continue XXX - this skips comments if peekc == '#' */
+ }
+ else if MBTEST((tflags & LEX_CKCOMMENT) && (tflags & LEX_INCOMMENT) == 0 && COMMENT_BEGIN(ch))
+ tflags |= LEX_INCOMMENT;
+
+ if MBTEST(ch == CTLESC || ch == CTLNUL) /* special shell escapes */
+ {
+ RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
+ ret[retind++] = CTLESC;
+ ret[retind++] = ch;
+ continue;
+ }
+#if 0
+ else if MBTEST((tflags & LEX_INCASE) && ch == close && close == ')')
+ tflags &= ~LEX_INCASE; /* XXX */
+#endif
+ /* XXX - could check for here doc delimiter if count == 0 */
+ else if MBTEST(ch == close && (tflags & LEX_INCASE) == 0) /* ending delimiter */
+{
+ count--;
+/*itrace("parse_comsub:%d: found close: count = %d", line_number, count);*/
+}
+ else if MBTEST(((flags & P_FIRSTCLOSE) == 0) && (tflags & LEX_INCASE) == 0 && ch == open) /* nested begin */
+ count++;
+
+ /* Add this character. */
+ RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
+ ret[retind++] = ch;
+
+ /* If we just read the ending character, don't bother continuing. */
+ if (count == 0)
+ break;
+
+ if MBTEST(ch == '\\') /* backslashes */
+ tflags |= LEX_PASSNEXT;
+
+ if MBTEST(shellquote (ch))
+ {
+ /* '', ``, or "" inside $(...). */
+ push_delimiter (dstack, ch);
+ if MBTEST((tflags & LEX_WASDOL) && ch == '\'') /* $'...' inside group */
+ nestret = parse_matched_pair (ch, ch, ch, &nestlen, P_ALLOWESC|rflags);
+ else
+ nestret = parse_matched_pair (ch, ch, ch, &nestlen, rflags);
+ pop_delimiter (dstack);
+ CHECK_NESTRET_ERROR ();
+
+ if MBTEST((tflags & LEX_WASDOL) && ch == '\'' && (extended_quote || (rflags & P_DQUOTE) == 0))
+ {
+ /* Translate $'...' here. */
+ ttrans = ansiexpand (nestret, 0, nestlen - 1, &ttranslen);
+ xfree (nestret);
+
+ if ((rflags & P_DQUOTE) == 0)
+ {
+ nestret = sh_single_quote (ttrans);
+ free (ttrans);
+ nestlen = strlen (nestret);
+ }
+ else
+ {
+ nestret = ttrans;
+ nestlen = ttranslen;
+ }
+ retind -= 2; /* back up before the $' */
+ }
+ else if MBTEST((tflags & LEX_WASDOL) && ch == '"' && (extended_quote || (rflags & P_DQUOTE) == 0))
+ {
+ /* Locale expand $"..." here. */
+ ttrans = localeexpand (nestret, 0, nestlen - 1, start_lineno, &ttranslen);
+ xfree (nestret);
+
+ nestret = sh_mkdoublequoted (ttrans, ttranslen, 0);
+ free (ttrans);
+ nestlen = ttranslen + 2;
+ retind -= 2; /* back up before the $" */
+ }
+
+ APPEND_NESTRET ();
+ FREE (nestret);
+ }
+ else if MBTEST((tflags & LEX_WASDOL) && (ch == '(' || ch == '{' || ch == '[')) /* ) } ] */
+ /* check for $(), $[], or ${} inside command substitution. */
+ {
+ if ((tflags & LEX_INCASE) == 0 && open == ch) /* undo previous increment */
+ count--;
+ if (ch == '(') /* ) */
+ nestret = parse_comsub (0, '(', ')', &nestlen, (rflags|P_COMMAND) & ~P_DQUOTE);
+ else if (ch == '{') /* } */
+ nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|rflags);
+ else if (ch == '[') /* ] */
+ nestret = parse_matched_pair (0, '[', ']', &nestlen, rflags);
+
+ CHECK_NESTRET_ERROR ();
+ APPEND_NESTRET ();
+
+ FREE (nestret);
+ }
+ if MBTEST(ch == '$')
+ tflags |= LEX_WASDOL;
+ else
+ tflags &= ~LEX_WASDOL;
+ }
+
+ FREE (heredelim);
+ ret[retind] = '\0';
+ if (lenp)
+ *lenp = retind;
+/*itrace("parse_comsub:%d: returning `%s'", line_number, ret);*/
+ return ret;
+}
+
+/* XXX - this needs to handle functionality like subst.c:no_longjmp_on_fatal_error;
+ maybe extract_command_subst should handle it. */
+char *
+xparse_dolparen (base, string, indp, flags)
+ char *base;
+ char *string;
+ int *indp;
+ int flags;
+{
+ sh_parser_state_t ps;
+ int orig_ind, nc, sflags;
+ char *ret, *s, *ep, *ostring;
+
+ /*yydebug = 1;*/
+ orig_ind = *indp;
+ ostring = string;
+
+ sflags = SEVAL_NONINT|SEVAL_NOHIST|SEVAL_NOFREE;
+ if (flags & SX_NOLONGJMP)
+ sflags |= SEVAL_NOLONGJMP;
+ save_parser_state (&ps);
+
+ /*(*/
+ parser_state |= PST_CMDSUBST|PST_EOFTOKEN; /* allow instant ')' */ /*(*/
+ shell_eof_token = ')';
+ parse_string (string, "command substitution", sflags, &ep);
+
+ restore_parser_state (&ps);
+ reset_parser ();
+ if (interactive)
+ token_to_read = 0;
+
+ /* Need to find how many characters parse_and_execute consumed, update
+ *indp, if flags != 0, copy the portion of the string parsed into RET
+ and return it. If flags & 1 (EX_NOALLOC) we can return NULL. */
+
+ /*(*/
+ if (ep[-1] != ')')
+ {
+#if DEBUG
+ if (ep[-1] != '\n')
+ itrace("xparse_dolparen:%d: ep[-1] != RPAREN (%d), ep = `%s'", line_number, ep[-1], ep);
+#endif
+ while (ep > ostring && ep[-1] == '\n') ep--;
+ }
+
+ nc = ep - ostring;
+ *indp = ep - base - 1;
+
+ /*(*/
+#if DEBUG
+ if (base[*indp] != ')')
+ itrace("xparse_dolparen:%d: base[%d] != RPAREN (%d), base = `%s'", line_number, *indp, base[*indp], base);
+#endif
+
+ if (flags & SX_NOALLOC)
+ return (char *)NULL;
+
+ if (nc == 0)
+ {
+ ret = xmalloc (1);
+ ret[0] = '\0';
+ }
+ else
+ ret = substring (ostring, 0, nc - 1);
+
+ return ret;
+}
+
+#if defined (DPAREN_ARITHMETIC) || defined (ARITH_FOR_COMMAND)
+/* Parse a double-paren construct. It can be either an arithmetic
+ command, an arithmetic `for' command, or a nested subshell. Returns
+ the parsed token, -1 on error, or -2 if we didn't do anything and
+ should just go on. */
+static int
+parse_dparen (c)
+ int c;
+{
+ int cmdtyp, sline;
+ char *wval;
+ WORD_DESC *wd;
+
+#if defined (ARITH_FOR_COMMAND)
+ if (last_read_token == FOR)
+ {
+ arith_for_lineno = line_number;
+ cmdtyp = parse_arith_cmd (&wval, 0);
+ if (cmdtyp == 1)
+ {
+ wd = alloc_word_desc ();
+ wd->word = wval;
+ yylval.word_list = make_word_list (wd, (WORD_LIST *)NULL);
+ return (ARITH_FOR_EXPRS);
+ }
+ else
+ return -1; /* ERROR */
+ }
+#endif
+
+#if defined (DPAREN_ARITHMETIC)
+ if (reserved_word_acceptable (last_read_token))
+ {
+ sline = line_number;
+
+ cmdtyp = parse_arith_cmd (&wval, 0);
+ if (cmdtyp == 1) /* arithmetic command */
+ {
+ wd = alloc_word_desc ();
+ wd->word = wval;
+ wd->flags = W_QUOTED|W_NOSPLIT|W_NOGLOB|W_DQUOTE;
+ yylval.word_list = make_word_list (wd, (WORD_LIST *)NULL);
+ return (ARITH_CMD);
+ }
+ else if (cmdtyp == 0) /* nested subshell */
+ {
+ push_string (wval, 0, (alias_t *)NULL);
+ if ((parser_state & PST_CASEPAT) == 0)
+ parser_state |= PST_SUBSHELL;
+ return (c);
+ }
+ else /* ERROR */
+ return -1;
+ }
+#endif
+
+ return -2; /* XXX */
+}
+
+/* We've seen a `(('. Look for the matching `))'. If we get it, return 1.
+ If not, assume it's a nested subshell for backwards compatibility and
+ return 0. In any case, put the characters we've consumed into a locally-
+ allocated buffer and make *ep point to that buffer. Return -1 on an
+ error, for example EOF. */
+static int
+parse_arith_cmd (ep, adddq)
+ char **ep;
+ int adddq;
+{
+ int exp_lineno, rval, c;
+ char *ttok, *tokstr;
+ int ttoklen;
+
+ exp_lineno = line_number;
+ ttok = parse_matched_pair (0, '(', ')', &ttoklen, 0);
+ rval = 1;
+ if (ttok == &matched_pair_error)
+ return -1;
+ /* Check that the next character is the closing right paren. If
+ not, this is a syntax error. ( */
+ c = shell_getc (0);
+ if MBTEST(c != ')')
+ rval = 0;
+
+ tokstr = (char *)xmalloc (ttoklen + 4);
+
+ /* if ADDDQ != 0 then (( ... )) -> "..." */
+ if (rval == 1 && adddq) /* arith cmd, add double quotes */
+ {
+ tokstr[0] = '"';
+ strncpy (tokstr + 1, ttok, ttoklen - 1);
+ tokstr[ttoklen] = '"';
+ tokstr[ttoklen+1] = '\0';
+ }
+ else if (rval == 1) /* arith cmd, don't add double quotes */
+ {
+ strncpy (tokstr, ttok, ttoklen - 1);
+ tokstr[ttoklen-1] = '\0';
+ }
+ else /* nested subshell */
+ {
+ tokstr[0] = '(';
+ strncpy (tokstr + 1, ttok, ttoklen - 1);
+ tokstr[ttoklen] = ')';
+ tokstr[ttoklen+1] = c;
+ tokstr[ttoklen+2] = '\0';
+ }
+
+ *ep = tokstr;
+ FREE (ttok);
+ return rval;
+}
+#endif /* DPAREN_ARITHMETIC || ARITH_FOR_COMMAND */
+
+#if defined (COND_COMMAND)
+static void
+cond_error ()
+{
+ char *etext;
+
+ if (EOF_Reached && cond_token != COND_ERROR) /* [[ */
+ parser_error (cond_lineno, _("unexpected EOF while looking for `]]'"));
+ else if (cond_token != COND_ERROR)
+ {
+ if (etext = error_token_from_token (cond_token))
+ {
+ parser_error (cond_lineno, _("syntax error in conditional expression: unexpected token `%s'"), etext);
+ free (etext);
+ }
+ else
+ parser_error (cond_lineno, _("syntax error in conditional expression"));
+ }
+}
+
+static COND_COM *
+cond_expr ()
+{
+ return (cond_or ());
+}
+
+static COND_COM *
+cond_or ()
+{
+ COND_COM *l, *r;
+
+ l = cond_and ();
+ if (cond_token == OR_OR)
+ {
+ r = cond_or ();
+ l = make_cond_node (COND_OR, (WORD_DESC *)NULL, l, r);
+ }
+ return l;
+}
+
+static COND_COM *
+cond_and ()
+{
+ COND_COM *l, *r;
+
+ l = cond_term ();
+ if (cond_token == AND_AND)
+ {
+ r = cond_and ();
+ l = make_cond_node (COND_AND, (WORD_DESC *)NULL, l, r);
+ }
+ return l;
+}
+
+static int
+cond_skip_newlines ()
+{
+ while ((cond_token = read_token (READ)) == '\n')
+ {
+ if (SHOULD_PROMPT ())
+ prompt_again ();
+ }
+ return (cond_token);
+}
+
+#define COND_RETURN_ERROR() \
+ do { cond_token = COND_ERROR; return ((COND_COM *)NULL); } while (0)
+
+static COND_COM *
+cond_term ()
+{
+ WORD_DESC *op;
+ COND_COM *term, *tleft, *tright;
+ int tok, lineno;
+ char *etext;
+
+ /* Read a token. It can be a left paren, a `!', a unary operator, or a
+ word that should be the first argument of a binary operator. Start by
+ skipping newlines, since this is a compound command. */
+ tok = cond_skip_newlines ();
+ lineno = line_number;
+ if (tok == COND_END)
+ {
+ COND_RETURN_ERROR ();
+ }
+ else if (tok == '(')
+ {
+ term = cond_expr ();
+ if (cond_token != ')')
+ {
+ if (term)
+ dispose_cond_node (term); /* ( */
+ if (etext = error_token_from_token (cond_token))
+ {
+ parser_error (lineno, _("unexpected token `%s', expected `)'"), etext);
+ free (etext);
+ }
+ else
+ parser_error (lineno, _("expected `)'"));
+ COND_RETURN_ERROR ();
+ }
+ term = make_cond_node (COND_EXPR, (WORD_DESC *)NULL, term, (COND_COM *)NULL);
+ (void)cond_skip_newlines ();
+ }
+ else if (tok == BANG || (tok == WORD && (yylval.word->word[0] == '!' && yylval.word->word[1] == '\0')))
+ {
+ if (tok == WORD)
+ dispose_word (yylval.word); /* not needed */
+ term = cond_term ();
+ if (term)
+ term->flags |= CMD_INVERT_RETURN;
+ }
+ else if (tok == WORD && yylval.word->word[0] == '-' && yylval.word->word[2] == 0 && test_unop (yylval.word->word))
+ {
+ op = yylval.word;
+ tok = read_token (READ);
+ if (tok == WORD)
+ {
+ tleft = make_cond_node (COND_TERM, yylval.word, (COND_COM *)NULL, (COND_COM *)NULL);
+ term = make_cond_node (COND_UNARY, op, tleft, (COND_COM *)NULL);
+ }
+ else
+ {
+ dispose_word (op);
+ if (etext = error_token_from_token (tok))
+ {
+ parser_error (line_number, _("unexpected argument `%s' to conditional unary operator"), etext);
+ free (etext);
+ }
+ else
+ parser_error (line_number, _("unexpected argument to conditional unary operator"));
+ COND_RETURN_ERROR ();
+ }
+
+ (void)cond_skip_newlines ();
+ }
+ else if (tok == WORD) /* left argument to binary operator */
+ {
+ /* lhs */
+ tleft = make_cond_node (COND_TERM, yylval.word, (COND_COM *)NULL, (COND_COM *)NULL);
+
+ /* binop */
+ tok = read_token (READ);
+ if (tok == WORD && test_binop (yylval.word->word))
+ op = yylval.word;
+#if defined (COND_REGEXP)
+ else if (tok == WORD && STREQ (yylval.word->word, "=~"))
+ {
+ op = yylval.word;
+ parser_state |= PST_REGEXP;
+ }
+#endif
+ else if (tok == '<' || tok == '>')
+ op = make_word_from_token (tok); /* ( */
+ /* There should be a check before blindly accepting the `)' that we have
+ seen the opening `('. */
+ else if (tok == COND_END || tok == AND_AND || tok == OR_OR || tok == ')')
+ {
+ /* Special case. [[ x ]] is equivalent to [[ -n x ]], just like
+ the test command. Similarly for [[ x && expr ]] or
+ [[ x || expr ]] or [[ (x) ]]. */
+ op = make_word ("-n");
+ term = make_cond_node (COND_UNARY, op, tleft, (COND_COM *)NULL);
+ cond_token = tok;
+ return (term);
+ }
+ else
+ {
+ if (etext = error_token_from_token (tok))
+ {
+ parser_error (line_number, _("unexpected token `%s', conditional binary operator expected"), etext);
+ free (etext);
+ }
+ else
+ parser_error (line_number, _("conditional binary operator expected"));
+ dispose_cond_node (tleft);
+ COND_RETURN_ERROR ();
+ }
+
+ /* rhs */
+ tok = read_token (READ);
+ parser_state &= ~PST_REGEXP;
+ if (tok == WORD)
+ {
+ tright = make_cond_node (COND_TERM, yylval.word, (COND_COM *)NULL, (COND_COM *)NULL);
+ term = make_cond_node (COND_BINARY, op, tleft, tright);
+ }
+ else
+ {
+ if (etext = error_token_from_token (tok))
+ {
+ parser_error (line_number, _("unexpected argument `%s' to conditional binary operator"), etext);
+ free (etext);
+ }
+ else
+ parser_error (line_number, _("unexpected argument to conditional binary operator"));
+ dispose_cond_node (tleft);
+ dispose_word (op);
+ COND_RETURN_ERROR ();
+ }
+
+ (void)cond_skip_newlines ();
+ }
+ else
+ {
+ if (tok < 256)
+ parser_error (line_number, _("unexpected token `%c' in conditional command"), tok);
+ else if (etext = error_token_from_token (tok))
+ {
+ parser_error (line_number, _("unexpected token `%s' in conditional command"), etext);
+ free (etext);
+ }
+ else
+ parser_error (line_number, _("unexpected token %d in conditional command"), tok);
+ COND_RETURN_ERROR ();
+ }
+ return (term);
+}
+
+/* This is kind of bogus -- we slip a mini recursive-descent parser in
+ here to handle the conditional statement syntax. */
+static COMMAND *
+parse_cond_command ()
+{
+ COND_COM *cexp;
+
+ cexp = cond_expr ();
+ return (make_cond_command (cexp));
+}
+#endif
+
+#if defined (ARRAY_VARS)
+/* When this is called, it's guaranteed that we don't care about anything
+ in t beyond i. We do save and restore the chars, though. */
+static int
+token_is_assignment (t, i)
+ char *t;
+ int i;
+{
+ unsigned char c, c1;
+ int r;
+
+ c = t[i]; c1 = t[i+1];
+ t[i] = '='; t[i+1] = '\0';
+ r = assignment (t, (parser_state & PST_COMPASSIGN) != 0);
+ t[i] = c; t[i+1] = c1;
+ return r;
+}
+
+/* XXX - possible changes here for `+=' */
+static int
+token_is_ident (t, i)
+ char *t;
+ int i;
+{
+ unsigned char c;
+ int r;
+
+ c = t[i];
+ t[i] = '\0';
+ r = legal_identifier (t);
+ t[i] = c;
+ return r;
+}
+#endif
+
+static int
+read_token_word (character)
+ int character;
+{
+ /* The value for YYLVAL when a WORD is read. */
+ WORD_DESC *the_word;
+
+ /* Index into the token that we are building. */
+ int token_index;
+
+ /* ALL_DIGITS becomes zero when we see a non-digit. */
+ int all_digit_token;
+
+ /* DOLLAR_PRESENT becomes non-zero if we see a `$'. */
+ int dollar_present;
+
+ /* COMPOUND_ASSIGNMENT becomes non-zero if we are parsing a compound
+ assignment. */
+ int compound_assignment;
+
+ /* QUOTED becomes non-zero if we see one of ("), ('), (`), or (\). */
+ int quoted;
+
+ /* Non-zero means to ignore the value of the next character, and just
+ to add it no matter what. */
+ int pass_next_character;
+
+ /* The current delimiting character. */
+ int cd;
+ int result, peek_char;
+ char *ttok, *ttrans;
+ int ttoklen, ttranslen;
+ intmax_t lvalue;
+
+ if (token_buffer_size < TOKEN_DEFAULT_INITIAL_SIZE)
+ token = (char *)xrealloc (token, token_buffer_size = TOKEN_DEFAULT_INITIAL_SIZE);
+
+ token_index = 0;
+ all_digit_token = DIGIT (character);
+ dollar_present = quoted = pass_next_character = compound_assignment = 0;
+
+ for (;;)
+ {
+ if (character == EOF)
+ goto got_token;
+
+ if (pass_next_character)
+ {
+ pass_next_character = 0;
+ goto got_escaped_character;
+ }
+
+ cd = current_delimiter (dstack);
+
+ /* Handle backslashes. Quote lots of things when not inside of
+ double-quotes, quote some things inside of double-quotes. */
+ if MBTEST(character == '\\')
+ {
+ peek_char = shell_getc (0);
+
+ /* Backslash-newline is ignored in all cases except
+ when quoted with single quotes. */
+ if (peek_char == '\n')
+ {
+ character = '\n';
+ goto next_character;
+ }
+ else
+ {
+ shell_ungetc (peek_char);
+
+ /* If the next character is to be quoted, note it now. */
+ if (cd == 0 || cd == '`' ||
+ (cd == '"' && peek_char >= 0 && (sh_syntaxtab[peek_char] & CBSDQUOTE)))
+ pass_next_character++;
+
+ quoted = 1;
+ goto got_character;
+ }
+ }
+
+ /* Parse a matched pair of quote characters. */
+ if MBTEST(shellquote (character))
+ {
+ push_delimiter (dstack, character);
+ ttok = parse_matched_pair (character, character, character, &ttoklen, (character == '`') ? P_COMMAND : 0);
+ pop_delimiter (dstack);
+ if (ttok == &matched_pair_error)
+ return -1; /* Bail immediately. */
+ RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2,
+ token_buffer_size, TOKEN_DEFAULT_GROW_SIZE);
+ token[token_index++] = character;
+ strcpy (token + token_index, ttok);
+ token_index += ttoklen;
+ all_digit_token = 0;
+ quoted = 1;
+ dollar_present |= (character == '"' && strchr (ttok, '$') != 0);
+ FREE (ttok);
+ goto next_character;
+ }
+
+#ifdef COND_REGEXP
+ /* When parsing a regexp as a single word inside a conditional command,
+ we need to special-case characters special to both the shell and
+ regular expressions. Right now, that is only '(' and '|'. */ /*)*/
+ if MBTEST((parser_state & PST_REGEXP) && (character == '(' || character == '|')) /*)*/
+ {
+ if (character == '|')
+ goto got_character;
+
+ push_delimiter (dstack, character);
+ ttok = parse_matched_pair (cd, '(', ')', &ttoklen, 0);
+ pop_delimiter (dstack);
+ if (ttok == &matched_pair_error)
+ return -1; /* Bail immediately. */
+ RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2,
+ token_buffer_size, TOKEN_DEFAULT_GROW_SIZE);
+ token[token_index++] = character;
+ strcpy (token + token_index, ttok);
+ token_index += ttoklen;
+ FREE (ttok);
+ dollar_present = all_digit_token = 0;
+ goto next_character;
+ }
+#endif /* COND_REGEXP */
+
+#ifdef EXTENDED_GLOB
+ /* Parse a ksh-style extended pattern matching specification. */
+ if MBTEST(extended_glob && PATTERN_CHAR (character))
+ {
+ peek_char = shell_getc (1);
+ if MBTEST(peek_char == '(') /* ) */
+ {
+ push_delimiter (dstack, peek_char);
+ ttok = parse_matched_pair (cd, '(', ')', &ttoklen, 0);
+ pop_delimiter (dstack);
+ if (ttok == &matched_pair_error)
+ return -1; /* Bail immediately. */
+ RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2,
+ token_buffer_size,
+ TOKEN_DEFAULT_GROW_SIZE);
+ token[token_index++] = character;
+ token[token_index++] = peek_char;
+ strcpy (token + token_index, ttok);
+ token_index += ttoklen;
+ FREE (ttok);
+ dollar_present = all_digit_token = 0;
+ goto next_character;
+ }
+ else
+ shell_ungetc (peek_char);
+ }
+#endif /* EXTENDED_GLOB */
+
+ /* If the delimiter character is not single quote, parse some of
+ the shell expansions that must be read as a single word. */
+ if (shellexp (character))
+ {
+ peek_char = shell_getc (1);
+ /* $(...), <(...), >(...), $((...)), ${...}, and $[...] constructs */
+ if MBTEST(peek_char == '(' || \
+ ((peek_char == '{' || peek_char == '[') && character == '$')) /* ) ] } */
+ {
+ if (peek_char == '{') /* } */
+ ttok = parse_matched_pair (cd, '{', '}', &ttoklen, P_FIRSTCLOSE);
+ else if (peek_char == '(') /* ) */
+ {
+ /* XXX - push and pop the `(' as a delimiter for use by
+ the command-oriented-history code. This way newlines
+ appearing in the $(...) string get added to the
+ history literally rather than causing a possibly-
+ incorrect `;' to be added. ) */
+ push_delimiter (dstack, peek_char);
+ ttok = parse_comsub (cd, '(', ')', &ttoklen, P_COMMAND);
+ pop_delimiter (dstack);
+ }
+ else
+ ttok = parse_matched_pair (cd, '[', ']', &ttoklen, 0);
+ if (ttok == &matched_pair_error)
+ return -1; /* Bail immediately. */
+ RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2,
+ token_buffer_size,
+ TOKEN_DEFAULT_GROW_SIZE);
+ token[token_index++] = character;
+ token[token_index++] = peek_char;
+ strcpy (token + token_index, ttok);
+ token_index += ttoklen;
+ FREE (ttok);
+ dollar_present = 1;
+ all_digit_token = 0;
+ goto next_character;
+ }
+ /* This handles $'...' and $"..." new-style quoted strings. */
+ else if MBTEST(character == '$' && (peek_char == '\'' || peek_char == '"'))
+ {
+ int first_line;
+
+ first_line = line_number;
+ push_delimiter (dstack, peek_char);
+ ttok = parse_matched_pair (peek_char, peek_char, peek_char,
+ &ttoklen,
+ (peek_char == '\'') ? P_ALLOWESC : 0);
+ pop_delimiter (dstack);
+ if (ttok == &matched_pair_error)
+ return -1;
+ if (peek_char == '\'')
+ {
+ ttrans = ansiexpand (ttok, 0, ttoklen - 1, &ttranslen);
+ free (ttok);
+
+ /* Insert the single quotes and correctly quote any
+ embedded single quotes (allowed because P_ALLOWESC was
+ passed to parse_matched_pair). */
+ ttok = sh_single_quote (ttrans);
+ free (ttrans);
+ ttranslen = strlen (ttok);
+ ttrans = ttok;
+ }
+ else
+ {
+ /* Try to locale-expand the converted string. */
+ ttrans = localeexpand (ttok, 0, ttoklen - 1, first_line, &ttranslen);
+ free (ttok);
+
+ /* Add the double quotes back */
+ ttok = sh_mkdoublequoted (ttrans, ttranslen, 0);
+ free (ttrans);
+ ttranslen += 2;
+ ttrans = ttok;
+ }
+
+ RESIZE_MALLOCED_BUFFER (token, token_index, ttranslen + 2,
+ token_buffer_size,
+ TOKEN_DEFAULT_GROW_SIZE);
+ strcpy (token + token_index, ttrans);
+ token_index += ttranslen;
+ FREE (ttrans);
+ quoted = 1;
+ all_digit_token = 0;
+ goto next_character;
+ }
+ /* This could eventually be extended to recognize all of the
+ shell's single-character parameter expansions, and set flags.*/
+ else if MBTEST(character == '$' && peek_char == '$')
+ {
+ ttok = (char *)xmalloc (3);
+ ttok[0] = ttok[1] = '$';
+ ttok[2] = '\0';
+ RESIZE_MALLOCED_BUFFER (token, token_index, 3,
+ token_buffer_size,
+ TOKEN_DEFAULT_GROW_SIZE);
+ strcpy (token + token_index, ttok);
+ token_index += 2;
+ dollar_present = 1;
+ all_digit_token = 0;
+ FREE (ttok);
+ goto next_character;
+ }
+ else
+ shell_ungetc (peek_char);
+ }
+
+#if defined (ARRAY_VARS)
+ /* Identify possible array subscript assignment; match [...]. If
+ parser_state&PST_COMPASSIGN, we need to parse [sub]=words treating
+ `sub' as if it were enclosed in double quotes. */
+ else if MBTEST(character == '[' && /* ] */
+ ((token_index > 0 && assignment_acceptable (last_read_token) && token_is_ident (token, token_index)) ||
+ (token_index == 0 && (parser_state&PST_COMPASSIGN))))
+ {
+ ttok = parse_matched_pair (cd, '[', ']', &ttoklen, P_ARRAYSUB);
+ if (ttok == &matched_pair_error)
+ return -1; /* Bail immediately. */
+ RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2,
+ token_buffer_size,
+ TOKEN_DEFAULT_GROW_SIZE);
+ token[token_index++] = character;
+ strcpy (token + token_index, ttok);
+ token_index += ttoklen;
+ FREE (ttok);
+ all_digit_token = 0;
+ goto next_character;
+ }
+ /* Identify possible compound array variable assignment. */
+ else if MBTEST(character == '=' && token_index > 0 && (assignment_acceptable (last_read_token) || (parser_state & PST_ASSIGNOK)) && token_is_assignment (token, token_index))
+ {
+ peek_char = shell_getc (1);
+ if MBTEST(peek_char == '(') /* ) */
+ {
+ ttok = parse_compound_assignment (&ttoklen);
+
+ RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 4,
+ token_buffer_size,
+ TOKEN_DEFAULT_GROW_SIZE);
+
+ token[token_index++] = '=';
+ token[token_index++] = '(';
+ if (ttok)
+ {
+ strcpy (token + token_index, ttok);
+ token_index += ttoklen;
+ }
+ token[token_index++] = ')';
+ FREE (ttok);
+ all_digit_token = 0;
+ compound_assignment = 1;
+#if 1
+ goto next_character;
+#else
+ goto got_token; /* ksh93 seems to do this */
+#endif
+ }
+ else
+ shell_ungetc (peek_char);
+ }
+#endif
+
+ /* When not parsing a multi-character word construct, shell meta-
+ characters break words. */
+ if MBTEST(shellbreak (character))
+ {
+ shell_ungetc (character);
+ goto got_token;
+ }
+
+ got_character:
+
+ if (character == CTLESC || character == CTLNUL)
+ token[token_index++] = CTLESC;
+
+ got_escaped_character:
+
+ all_digit_token &= DIGIT (character);
+ dollar_present |= character == '$';
+
+ token[token_index++] = character;
+
+ RESIZE_MALLOCED_BUFFER (token, token_index, 1, token_buffer_size,
+ TOKEN_DEFAULT_GROW_SIZE);
+
+ next_character:
+ if (character == '\n' && SHOULD_PROMPT ())
+ prompt_again ();
+
+ /* We want to remove quoted newlines (that is, a \<newline> pair)
+ unless we are within single quotes or pass_next_character is
+ set (the shell equivalent of literal-next). */
+ cd = current_delimiter (dstack);
+ character = shell_getc (cd != '\'' && pass_next_character == 0);
+ } /* end for (;;) */
+
+got_token:
+
+ token[token_index] = '\0';
+
+ /* Check to see what thing we should return. If the last_read_token
+ is a `<', or a `&', or the character which ended this token is
+ a '>' or '<', then, and ONLY then, is this input token a NUMBER.
+ Otherwise, it is just a word, and should be returned as such. */
+ if MBTEST(all_digit_token && (character == '<' || character == '>' || \
+ last_read_token == LESS_AND || \
+ last_read_token == GREATER_AND))
+ {
+ if (legal_number (token, &lvalue) && (int)lvalue == lvalue)
+ yylval.number = lvalue;
+ else
+ yylval.number = -1;
+ return (NUMBER);
+ }
+
+ /* Check for special case tokens. */
+ result = (last_shell_getc_is_singlebyte) ? special_case_tokens (token) : -1;
+ if (result >= 0)
+ return result;
+
+#if defined (ALIAS)
+ /* Posix.2 does not allow reserved words to be aliased, so check for all
+ of them, including special cases, before expanding the current token
+ as an alias. */
+ if MBTEST(posixly_correct)
+ CHECK_FOR_RESERVED_WORD (token);
+
+ /* Aliases are expanded iff EXPAND_ALIASES is non-zero, and quoting
+ inhibits alias expansion. */
+ if (expand_aliases && quoted == 0)
+ {
+ result = alias_expand_token (token);
+ if (result == RE_READ_TOKEN)
+ return (RE_READ_TOKEN);
+ else if (result == NO_EXPANSION)
+ parser_state &= ~PST_ALEXPNEXT;
+ }
+
+ /* If not in Posix.2 mode, check for reserved words after alias
+ expansion. */
+ if MBTEST(posixly_correct == 0)
+#endif
+ CHECK_FOR_RESERVED_WORD (token);
+
+ the_word = (WORD_DESC *)xmalloc (sizeof (WORD_DESC));
+ the_word->word = (char *)xmalloc (1 + token_index);
+ the_word->flags = 0;
+ strcpy (the_word->word, token);
+ if (dollar_present)
+ the_word->flags |= W_HASDOLLAR;
+ if (quoted)
+ the_word->flags |= W_QUOTED; /*(*/
+ if (compound_assignment && token[token_index-1] == ')')
+ the_word->flags |= W_COMPASSIGN;
+ /* A word is an assignment if it appears at the beginning of a
+ simple command, or after another assignment word. This is
+ context-dependent, so it cannot be handled in the grammar. */
+ if (assignment (token, (parser_state & PST_COMPASSIGN) != 0))
+ {
+ the_word->flags |= W_ASSIGNMENT;
+ /* Don't perform word splitting on assignment statements. */
+ if (assignment_acceptable (last_read_token) || (parser_state & PST_COMPASSIGN) != 0)
+ the_word->flags |= W_NOSPLIT;
+ }
+
+ if (command_token_position (last_read_token))
+ {
+ struct builtin *b;
+ b = builtin_address_internal (token, 0);
+ if (b && (b->flags & ASSIGNMENT_BUILTIN))
+ parser_state |= PST_ASSIGNOK;
+ else if (STREQ (token, "eval") || STREQ (token, "let"))
+ parser_state |= PST_ASSIGNOK;
+ }
+
+ yylval.word = the_word;
+
+ result = ((the_word->flags & (W_ASSIGNMENT|W_NOSPLIT)) == (W_ASSIGNMENT|W_NOSPLIT))
+ ? ASSIGNMENT_WORD : WORD;
+
+ switch (last_read_token)
+ {
+ case FUNCTION:
+ parser_state |= PST_ALLOWOPNBRC;
+ function_dstart = line_number;
+ break;
+ case CASE:
+ case SELECT:
+ case FOR:
+ if (word_top < MAX_CASE_NEST)
+ word_top++;
+ word_lineno[word_top] = line_number;
+ break;
+ }
+
+ return (result);
+}
+
+/* Return 1 if TOKSYM is a token that after being read would allow
+ a reserved word to be seen, else 0. */
+static int
+reserved_word_acceptable (toksym)
+ int toksym;
+{
+ switch (toksym)
+ {
+ case '\n':
+ case ';':
+ case '(':
+ case ')':
+ case '|':
+ case '&':
+ case '{':
+ case '}': /* XXX */
+ case AND_AND:
+ case BANG:
+ case BAR_AND:
+ case DO:
+ case DONE:
+ case ELIF:
+ case ELSE:
+ case ESAC:
+ case FI:
+ case IF:
+ case OR_OR:
+ case SEMI_SEMI:
+ case SEMI_AND:
+ case SEMI_SEMI_AND:
+ case THEN:
+ case TIME:
+ case TIMEOPT:
+ case COPROC:
+ case UNTIL:
+ case WHILE:
+ case 0:
+ return 1;
+ default:
+#if defined (COPROCESS_SUPPORT)
+ if (last_read_token == WORD && token_before_that == COPROC)
+ return 1;
+#endif
+ return 0;
+ }
+}
+
+/* Return the index of TOKEN in the alist of reserved words, or -1 if
+ TOKEN is not a shell reserved word. */
+int
+find_reserved_word (tokstr)
+ char *tokstr;
+{
+ int i;
+ for (i = 0; word_token_alist[i].word; i++)
+ if (STREQ (tokstr, word_token_alist[i].word))
+ return i;
+ return -1;
+}
+
+#if 0
+#if defined (READLINE)
+/* Called after each time readline is called. This insures that whatever
+ the new prompt string is gets propagated to readline's local prompt
+ variable. */
+static void
+reset_readline_prompt ()
+{
+ char *temp_prompt;
+
+ if (prompt_string_pointer)
+ {
+ temp_prompt = (*prompt_string_pointer)
+ ? decode_prompt_string (*prompt_string_pointer)
+ : (char *)NULL;
+
+ if (temp_prompt == 0)
+ {
+ temp_prompt = (char *)xmalloc (1);
+ temp_prompt[0] = '\0';
+ }
+
+ FREE (current_readline_prompt);
+ current_readline_prompt = temp_prompt;
+ }
+}
+#endif /* READLINE */
+#endif /* 0 */
+
+#if defined (HISTORY)
+/* A list of tokens which can be followed by newlines, but not by
+ semi-colons. When concatenating multiple lines of history, the
+ newline separator for such tokens is replaced with a space. */
+static const int no_semi_successors[] = {
+ '\n', '{', '(', ')', ';', '&', '|',
+ CASE, DO, ELSE, IF, SEMI_SEMI, SEMI_AND, SEMI_SEMI_AND, THEN, UNTIL,
+ WHILE, AND_AND, OR_OR, IN,
+ 0
+};
+
+/* If we are not within a delimited expression, try to be smart
+ about which separators can be semi-colons and which must be
+ newlines. Returns the string that should be added into the
+ history entry. */
+char *
+history_delimiting_chars ()
+{
+ register int i;
+
+ if (dstack.delimiter_depth != 0)
+ return ("\n");
+
+ /* We look for current_command_line_count == 2 because we are looking to
+ add the first line of the body of the here document (the second line
+ of the command). */
+ if (parser_state & PST_HEREDOC)
+ return (current_command_line_count == 2 ? "\n" : "");
+
+ /* First, handle some special cases. */
+ /*(*/
+ /* If we just read `()', assume it's a function definition, and don't
+ add a semicolon. If the token before the `)' was not `(', and we're
+ not in the midst of parsing a case statement, assume it's a
+ parenthesized command and add the semicolon. */
+ /*)(*/
+ if (token_before_that == ')')
+ {
+ if (two_tokens_ago == '(') /*)*/ /* function def */
+ return " ";
+ /* This does not work for subshells inside case statement
+ command lists. It's a suboptimal solution. */
+ else if (parser_state & PST_CASESTMT) /* case statement pattern */
+ return " ";
+ else
+ return "; "; /* (...) subshell */
+ }
+ else if (token_before_that == WORD && two_tokens_ago == FUNCTION)
+ return " "; /* function def using `function name' without `()' */
+
+ else if (token_before_that == WORD && two_tokens_ago == FOR)
+ {
+ /* Tricky. `for i\nin ...' should not have a semicolon, but
+ `for i\ndo ...' should. We do what we can. */
+ for (i = shell_input_line_index; whitespace (shell_input_line[i]); i++)
+ ;
+ if (shell_input_line[i] && shell_input_line[i] == 'i' && shell_input_line[i+1] == 'n')
+ return " ";
+ return ";";
+ }
+ else if (two_tokens_ago == CASE && token_before_that == WORD && (parser_state & PST_CASESTMT))
+ return " ";
+
+ for (i = 0; no_semi_successors[i]; i++)
+ {
+ if (token_before_that == no_semi_successors[i])
+ return (" ");
+ }
+
+ return ("; ");
+}
+#endif /* HISTORY */
+
+/* Issue a prompt, or prepare to issue a prompt when the next character
+ is read. */
+static void
+prompt_again ()
+{
+ char *temp_prompt;
+
+ if (interactive == 0 || expanding_alias()) /* XXX */
+ return;
+
+ ps1_prompt = get_string_value ("PS1");
+ ps2_prompt = get_string_value ("PS2");
+
+ if (!prompt_string_pointer)
+ prompt_string_pointer = &ps1_prompt;
+
+ temp_prompt = *prompt_string_pointer
+ ? decode_prompt_string (*prompt_string_pointer)
+ : (char *)NULL;
+
+ if (temp_prompt == 0)
+ {
+ temp_prompt = (char *)xmalloc (1);
+ temp_prompt[0] = '\0';
+ }
+
+ current_prompt_string = *prompt_string_pointer;
+ prompt_string_pointer = &ps2_prompt;
+
+#if defined (READLINE)
+ if (!no_line_editing)
+ {
+ FREE (current_readline_prompt);
+ current_readline_prompt = temp_prompt;
+ }
+ else
+#endif /* READLINE */
+ {
+ FREE (current_decoded_prompt);
+ current_decoded_prompt = temp_prompt;
+ }
+}
+
+int
+get_current_prompt_level ()
+{
+ return ((current_prompt_string && current_prompt_string == ps2_prompt) ? 2 : 1);
+}
+
+void
+set_current_prompt_level (x)
+ int x;
+{
+ prompt_string_pointer = (x == 2) ? &ps2_prompt : &ps1_prompt;
+ current_prompt_string = *prompt_string_pointer;
+}
+
+static void
+print_prompt ()
+{
+ fprintf (stderr, "%s", current_decoded_prompt);
+ fflush (stderr);
+}
+
+/* Return a string which will be printed as a prompt. The string
+ may contain special characters which are decoded as follows:
+
+ \a bell (ascii 07)
+ \d the date in Day Mon Date format
+ \e escape (ascii 033)
+ \h the hostname up to the first `.'
+ \H the hostname
+ \j the number of active jobs
+ \l the basename of the shell's tty device name
+ \n CRLF
+ \r CR
+ \s the name of the shell
+ \t the time in 24-hour hh:mm:ss format
+ \T the time in 12-hour hh:mm:ss format
+ \@ the time in 12-hour hh:mm am/pm format
+ \A the time in 24-hour hh:mm format
+ \D{fmt} the result of passing FMT to strftime(3)
+ \u your username
+ \v the version of bash (e.g., 2.00)
+ \V the release of bash, version + patchlevel (e.g., 2.00.0)
+ \w the current working directory
+ \W the last element of $PWD
+ \! the history number of this command
+ \# the command number of this command
+ \$ a $ or a # if you are root
+ \nnn character code nnn in octal
+ \\ a backslash
+ \[ begin a sequence of non-printing chars
+ \] end a sequence of non-printing chars
+*/
+#define PROMPT_GROWTH 48
+char *
+decode_prompt_string (string)
+ char *string;
+{
+ WORD_LIST *list;
+ char *result, *t;
+ struct dstack save_dstack;
+ int last_exit_value;
+#if defined (PROMPT_STRING_DECODE)
+ int result_size, result_index;
+ int c, n, i;
+ char *temp, octal_string[4];
+ struct tm *tm;
+ time_t the_time;
+ char timebuf[128];
+ char *timefmt;
+
+ result = (char *)xmalloc (result_size = PROMPT_GROWTH);
+ result[result_index = 0] = 0;
+ temp = (char *)NULL;
+
+ while (c = *string++)
+ {
+ if (posixly_correct && c == '!')
+ {
+ if (*string == '!')
+ {
+ temp = savestring ("!");
+ goto add_string;
+ }
+ else
+ {
+#if !defined (HISTORY)
+ temp = savestring ("1");
+#else /* HISTORY */
+ temp = itos (history_number ());
+#endif /* HISTORY */
+ string--; /* add_string increments string again. */
+ goto add_string;
+ }
+ }
+ if (c == '\\')
+ {
+ c = *string;
+
+ switch (c)
+ {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ strncpy (octal_string, string, 3);
+ octal_string[3] = '\0';
+
+ n = read_octal (octal_string);
+ temp = (char *)xmalloc (3);
+
+ if (n == CTLESC || n == CTLNUL)
+ {
+ temp[0] = CTLESC;
+ temp[1] = n;
+ temp[2] = '\0';
+ }
+ else if (n == -1)
+ {
+ temp[0] = '\\';
+ temp[1] = '\0';
+ }
+ else
+ {
+ temp[0] = n;
+ temp[1] = '\0';
+ }
+
+ for (c = 0; n != -1 && c < 3 && ISOCTAL (*string); c++)
+ string++;
+
+ c = 0; /* tested at add_string: */
+ goto add_string;
+
+ case 'd':
+ case 't':
+ case 'T':
+ case '@':
+ case 'A':
+ /* Make the current time/date into a string. */
+ (void) time (&the_time);
+ tm = localtime (&the_time);
+
+ if (c == 'd')
+ n = strftime (timebuf, sizeof (timebuf), "%a %b %d", tm);
+ else if (c == 't')
+ n = strftime (timebuf, sizeof (timebuf), "%H:%M:%S", tm);
+ else if (c == 'T')
+ n = strftime (timebuf, sizeof (timebuf), "%I:%M:%S", tm);
+ else if (c == '@')
+ n = strftime (timebuf, sizeof (timebuf), "%I:%M %p", tm);
+ else if (c == 'A')
+ n = strftime (timebuf, sizeof (timebuf), "%H:%M", tm);
+
+ if (n == 0)
+ timebuf[0] = '\0';
+ else
+ timebuf[sizeof(timebuf) - 1] = '\0';
+
+ temp = savestring (timebuf);
+ goto add_string;
+
+ case 'D': /* strftime format */
+ if (string[1] != '{') /* } */
+ goto not_escape;
+
+ (void) time (&the_time);
+ tm = localtime (&the_time);
+ string += 2; /* skip { */
+ timefmt = xmalloc (strlen (string) + 3);
+ for (t = timefmt; *string && *string != '}'; )
+ *t++ = *string++;
+ *t = '\0';
+ c = *string; /* tested at add_string */
+ if (timefmt[0] == '\0')
+ {
+ timefmt[0] = '%';
+ timefmt[1] = 'X'; /* locale-specific current time */
+ timefmt[2] = '\0';
+ }
+ n = strftime (timebuf, sizeof (timebuf), timefmt, tm);
+ free (timefmt);
+
+ if (n == 0)
+ timebuf[0] = '\0';
+ else
+ timebuf[sizeof(timebuf) - 1] = '\0';
+
+ if (promptvars || posixly_correct)
+ /* Make sure that expand_prompt_string is called with a
+ second argument of Q_DOUBLE_QUOTES if we use this
+ function here. */
+ temp = sh_backslash_quote_for_double_quotes (timebuf);
+ else
+ temp = savestring (timebuf);
+ goto add_string;
+
+ case 'n':
+ temp = (char *)xmalloc (3);
+ temp[0] = no_line_editing ? '\n' : '\r';
+ temp[1] = no_line_editing ? '\0' : '\n';
+ temp[2] = '\0';
+ goto add_string;
+
+ case 's':
+ temp = base_pathname (shell_name);
+ temp = savestring (temp);
+ goto add_string;
+
+ case 'v':
+ case 'V':
+ temp = (char *)xmalloc (16);
+ if (c == 'v')
+ strcpy (temp, dist_version);
+ else
+ sprintf (temp, "%s.%d", dist_version, patch_level);
+ goto add_string;
+
+ case 'w':
+ case 'W':
+ {
+ /* Use the value of PWD because it is much more efficient. */
+ char t_string[PATH_MAX];
+ int tlen;
+
+ temp = get_string_value ("PWD");
+
+ if (temp == 0)
+ {
+ if (getcwd (t_string, sizeof(t_string)) == 0)
+ {
+ t_string[0] = '.';
+ tlen = 1;
+ }
+ else
+ tlen = strlen (t_string);
+ }
+ else
+ {
+ tlen = sizeof (t_string) - 1;
+ strncpy (t_string, temp, tlen);
+ }
+ t_string[tlen] = '\0';
+
+#define ROOT_PATH(x) ((x)[0] == '/' && (x)[1] == 0)
+#define DOUBLE_SLASH_ROOT(x) ((x)[0] == '/' && (x)[1] == '/' && (x)[2] == 0)
+ /* Abbreviate \W as ~ if $PWD == $HOME */
+ if (c == 'W' && (((t = get_string_value ("HOME")) == 0) || STREQ (t, t_string) == 0))
+ {
+ if (ROOT_PATH (t_string) == 0 && DOUBLE_SLASH_ROOT (t_string) == 0)
+ {
+ t = strrchr (t_string, '/');
+ if (t)
+ strcpy (t_string, t + 1);
+ }
+ }
+#undef ROOT_PATH
+#undef DOUBLE_SLASH_ROOT
+ else
+ /* polite_directory_format is guaranteed to return a string
+ no longer than PATH_MAX - 1 characters. */
+ strcpy (t_string, polite_directory_format (t_string));
+
+ temp = trim_pathname (t_string, PATH_MAX - 1);
+ /* If we're going to be expanding the prompt string later,
+ quote the directory name. */
+ if (promptvars || posixly_correct)
+ /* Make sure that expand_prompt_string is called with a
+ second argument of Q_DOUBLE_QUOTES if we use this
+ function here. */
+ temp = sh_backslash_quote_for_double_quotes (t_string);
+ else
+ temp = savestring (t_string);
+
+ goto add_string;
+ }
+
+ case 'u':
+ if (current_user.user_name == 0)
+ get_current_user_info ();
+ temp = savestring (current_user.user_name);
+ goto add_string;
+
+ case 'h':
+ case 'H':
+ temp = savestring (current_host_name);
+ if (c == 'h' && (t = (char *)strchr (temp, '.')))
+ *t = '\0';
+ goto add_string;
+
+ case '#':
+ temp = itos (current_command_number);
+ goto add_string;
+
+ case '!':
+#if !defined (HISTORY)
+ temp = savestring ("1");
+#else /* HISTORY */
+ temp = itos (history_number ());
+#endif /* HISTORY */
+ goto add_string;
+
+ case '$':
+ t = temp = (char *)xmalloc (3);
+ if ((promptvars || posixly_correct) && (current_user.euid != 0))
+ *t++ = '\\';
+ *t++ = current_user.euid == 0 ? '#' : '$';
+ *t = '\0';
+ goto add_string;
+
+ case 'j':
+ temp = itos (count_all_jobs ());
+ goto add_string;
+
+ case 'l':
+#if defined (HAVE_TTYNAME)
+ temp = (char *)ttyname (fileno (stdin));
+ t = temp ? base_pathname (temp) : "tty";
+ temp = savestring (t);
+#else
+ temp = savestring ("tty");
+#endif /* !HAVE_TTYNAME */
+ goto add_string;
+
+#if defined (READLINE)
+ case '[':
+ case ']':
+ if (no_line_editing)
+ {
+ string++;
+ break;
+ }
+ temp = (char *)xmalloc (3);
+ n = (c == '[') ? RL_PROMPT_START_IGNORE : RL_PROMPT_END_IGNORE;
+ i = 0;
+ if (n == CTLESC || n == CTLNUL)
+ temp[i++] = CTLESC;
+ temp[i++] = n;
+ temp[i] = '\0';
+ goto add_string;
+#endif /* READLINE */
+
+ case '\\':
+ case 'a':
+ case 'e':
+ case 'r':
+ temp = (char *)xmalloc (2);
+ if (c == 'a')
+ temp[0] = '\07';
+ else if (c == 'e')
+ temp[0] = '\033';
+ else if (c == 'r')
+ temp[0] = '\r';
+ else /* (c == '\\') */
+ temp[0] = c;
+ temp[1] = '\0';
+ goto add_string;
+
+ default:
+not_escape:
+ temp = (char *)xmalloc (3);
+ temp[0] = '\\';
+ temp[1] = c;
+ temp[2] = '\0';
+
+ add_string:
+ if (c)
+ string++;
+ result =
+ sub_append_string (temp, result, &result_index, &result_size);
+ temp = (char *)NULL; /* Freed in sub_append_string (). */
+ result[result_index] = '\0';
+ break;
+ }
+ }
+ else
+ {
+ RESIZE_MALLOCED_BUFFER (result, result_index, 3, result_size, PROMPT_GROWTH);
+ result[result_index++] = c;
+ result[result_index] = '\0';
+ }
+ }
+#else /* !PROMPT_STRING_DECODE */
+ result = savestring (string);
+#endif /* !PROMPT_STRING_DECODE */
+
+ /* Save the delimiter stack and point `dstack' to temp space so any
+ command substitutions in the prompt string won't result in screwing
+ up the parser's quoting state. */
+ save_dstack = dstack;
+ dstack = temp_dstack;
+ dstack.delimiter_depth = 0;
+
+ /* Perform variable and parameter expansion and command substitution on
+ the prompt string. */
+ if (promptvars || posixly_correct)
+ {
+ last_exit_value = last_command_exit_value;
+ list = expand_prompt_string (result, Q_DOUBLE_QUOTES, 0);
+ free (result);
+ result = string_list (list);
+ dispose_words (list);
+ last_command_exit_value = last_exit_value;
+ }
+ else
+ {
+ t = dequote_string (result);
+ free (result);
+ result = t;
+ }
+
+ dstack = save_dstack;
+
+ return (result);
+}
+
+/************************************************
+ * *
+ * ERROR HANDLING *
+ * *
+ ************************************************/
+
+/* Report a syntax error, and restart the parser. Call here for fatal
+ errors. */
+int
+yyerror (msg)
+ const char *msg;
+{
+ report_syntax_error ((char *)NULL);
+ reset_parser ();
+ return (0);
+}
+
+static char *
+error_token_from_token (tok)
+ int tok;
+{
+ char *t;
+
+ if (t = find_token_in_alist (tok, word_token_alist, 0))
+ return t;
+
+ if (t = find_token_in_alist (tok, other_token_alist, 0))
+ return t;
+
+ t = (char *)NULL;
+ /* This stuff is dicy and needs closer inspection */
+ switch (current_token)
+ {
+ case WORD:
+ case ASSIGNMENT_WORD:
+ if (yylval.word)
+ t = savestring (yylval.word->word);
+ break;
+ case NUMBER:
+ t = itos (yylval.number);
+ break;
+ case ARITH_CMD:
+ if (yylval.word_list)
+ t = string_list (yylval.word_list);
+ break;
+ case ARITH_FOR_EXPRS:
+ if (yylval.word_list)
+ t = string_list_internal (yylval.word_list, " ; ");
+ break;
+ case COND_CMD:
+ t = (char *)NULL; /* punt */
+ break;
+ }
+
+ return t;
+}
+
+static char *
+error_token_from_text ()
+{
+ char *msg, *t;
+ int token_end, i;
+
+ t = shell_input_line;
+ i = shell_input_line_index;
+ token_end = 0;
+ msg = (char *)NULL;
+
+ if (i && t[i] == '\0')
+ i--;
+
+ while (i && (whitespace (t[i]) || t[i] == '\n'))
+ i--;
+
+ if (i)
+ token_end = i + 1;
+
+ while (i && (member (t[i], " \n\t;|&") == 0))
+ i--;
+
+ while (i != token_end && (whitespace (t[i]) || t[i] == '\n'))
+ i++;
+
+ /* Return our idea of the offending token. */
+ if (token_end || (i == 0 && token_end == 0))
+ {
+ if (token_end)
+ msg = substring (t, i, token_end);
+ else /* one-character token */
+ {
+ msg = (char *)xmalloc (2);
+ msg[0] = t[i];
+ msg[1] = '\0';
+ }
+ }
+
+ return (msg);
+}
+
+static void
+print_offending_line ()
+{
+ char *msg;
+ int token_end;
+
+ msg = savestring (shell_input_line);
+ token_end = strlen (msg);
+ while (token_end && msg[token_end - 1] == '\n')
+ msg[--token_end] = '\0';
+
+ parser_error (line_number, "`%s'", msg);
+ free (msg);
+}
+
+/* Report a syntax error with line numbers, etc.
+ Call here for recoverable errors. If you have a message to print,
+ then place it in MESSAGE, otherwise pass NULL and this will figure
+ out an appropriate message for you. */
+static void
+report_syntax_error (message)
+ char *message;
+{
+ char *msg;
+
+ if (message)
+ {
+ parser_error (line_number, "%s", message);
+ if (interactive && EOF_Reached)
+ EOF_Reached = 0;
+ last_command_exit_value = EX_BADUSAGE;
+ return;
+ }
+
+ /* If the line of input we're reading is not null, try to find the
+ objectionable token. First, try to figure out what token the
+ parser's complaining about by looking at current_token. */
+ if (current_token != 0 && EOF_Reached == 0 && (msg = error_token_from_token (current_token)))
+ {
+ parser_error (line_number, _("syntax error near unexpected token `%s'"), msg);
+ free (msg);
+
+ if (interactive == 0)
+ print_offending_line ();
+
+ last_command_exit_value = EX_BADUSAGE;
+ return;
+ }
+
+ /* If looking at the current token doesn't prove fruitful, try to find the
+ offending token by analyzing the text of the input line near the current
+ input line index and report what we find. */
+ if (shell_input_line && *shell_input_line)
+ {
+ msg = error_token_from_text ();
+ if (msg)
+ {
+ parser_error (line_number, _("syntax error near `%s'"), msg);
+ free (msg);
+ }
+
+ /* If not interactive, print the line containing the error. */
+ if (interactive == 0)
+ print_offending_line ();
+ }
+ else
+ {
+ msg = EOF_Reached ? _("syntax error: unexpected end of file") : _("syntax error");
+ parser_error (line_number, "%s", msg);
+ /* When the shell is interactive, this file uses EOF_Reached
+ only for error reporting. Other mechanisms are used to
+ decide whether or not to exit. */
+ if (interactive && EOF_Reached)
+ EOF_Reached = 0;
+ }
+
+ last_command_exit_value = EX_BADUSAGE;
+}
+
+/* ??? Needed function. ??? We have to be able to discard the constructs
+ created during parsing. In the case of error, we want to return
+ allocated objects to the memory pool. In the case of no error, we want
+ to throw away the information about where the allocated objects live.
+ (dispose_command () will actually free the command.) */
+static void
+discard_parser_constructs (error_p)
+ int error_p;
+{
+}
+
+/************************************************
+ * *
+ * EOF HANDLING *
+ * *
+ ************************************************/
+
+/* Do that silly `type "bye" to exit' stuff. You know, "ignoreeof". */
+
+/* A flag denoting whether or not ignoreeof is set. */
+int ignoreeof = 0;
+
+/* The number of times that we have encountered an EOF character without
+ another character intervening. When this gets above the limit, the
+ shell terminates. */
+int eof_encountered = 0;
+
+/* The limit for eof_encountered. */
+int eof_encountered_limit = 10;
+
+/* If we have EOF as the only input unit, this user wants to leave
+ the shell. If the shell is not interactive, then just leave.
+ Otherwise, if ignoreeof is set, and we haven't done this the
+ required number of times in a row, print a message. */
+static void
+handle_eof_input_unit ()
+{
+ if (interactive)
+ {
+ /* shell.c may use this to decide whether or not to write out the
+ history, among other things. We use it only for error reporting
+ in this file. */
+ if (EOF_Reached)
+ EOF_Reached = 0;
+
+ /* If the user wants to "ignore" eof, then let her do so, kind of. */
+ if (ignoreeof)
+ {
+ if (eof_encountered < eof_encountered_limit)
+ {
+ fprintf (stderr, _("Use \"%s\" to leave the shell.\n"),
+ login_shell ? "logout" : "exit");
+ eof_encountered++;
+ /* Reset the parsing state. */
+ last_read_token = current_token = '\n';
+ /* Reset the prompt string to be $PS1. */
+ prompt_string_pointer = (char **)NULL;
+ prompt_again ();
+ return;
+ }
+ }
+
+ /* In this case EOF should exit the shell. Do it now. */
+ reset_parser ();
+ exit_builtin ((WORD_LIST *)NULL);
+ }
+ else
+ {
+ /* We don't write history files, etc., for non-interactive shells. */
+ EOF_Reached = 1;
+ }
+}
+
+/************************************************
+ * *
+ * STRING PARSING FUNCTIONS *
+ * *
+ ************************************************/
+
+/* It's very important that these two functions treat the characters
+ between ( and ) identically. */
+
+static WORD_LIST parse_string_error;
+
+/* Take a string and run it through the shell parser, returning the
+ resultant word list. Used by compound array assignment. */
+WORD_LIST *
+parse_string_to_word_list (s, flags, whom)
+ char *s;
+ int flags;
+ const char *whom;
+{
+ WORD_LIST *wl;
+ int tok, orig_current_token, orig_line_number, orig_input_terminator;
+ int orig_line_count;
+ int old_echo_input, old_expand_aliases;
+#if defined (HISTORY)
+ int old_remember_on_history, old_history_expansion_inhibited;
+#endif
+
+#if defined (HISTORY)
+ old_remember_on_history = remember_on_history;
+# if defined (BANG_HISTORY)
+ old_history_expansion_inhibited = history_expansion_inhibited;
+# endif
+ bash_history_disable ();
+#endif
+
+ orig_line_number = line_number;
+ orig_line_count = current_command_line_count;
+ orig_input_terminator = shell_input_line_terminator;
+ old_echo_input = echo_input_at_read;
+ old_expand_aliases = expand_aliases;
+
+ push_stream (1);
+ last_read_token = WORD; /* WORD to allow reserved words here */
+ current_command_line_count = 0;
+ echo_input_at_read = expand_aliases = 0;
+
+ with_input_from_string (s, whom);
+ wl = (WORD_LIST *)NULL;
+
+ if (flags & 1)
+ parser_state |= PST_COMPASSIGN|PST_REPARSE;
+
+ while ((tok = read_token (READ)) != yacc_EOF)
+ {
+ if (tok == '\n' && *bash_input.location.string == '\0')
+ break;
+ if (tok == '\n') /* Allow newlines in compound assignments */
+ continue;
+ if (tok != WORD && tok != ASSIGNMENT_WORD)
+ {
+ line_number = orig_line_number + line_number - 1;
+ orig_current_token = current_token;
+ current_token = tok;
+ yyerror (NULL); /* does the right thing */
+ current_token = orig_current_token;
+ if (wl)
+ dispose_words (wl);
+ wl = &parse_string_error;
+ break;
+ }
+ wl = make_word_list (yylval.word, wl);
+ }
+
+ last_read_token = '\n';
+ pop_stream ();
+
+#if defined (HISTORY)
+ remember_on_history = old_remember_on_history;
+# if defined (BANG_HISTORY)
+ history_expansion_inhibited = old_history_expansion_inhibited;
+# endif /* BANG_HISTORY */
+#endif /* HISTORY */
+
+ echo_input_at_read = old_echo_input;
+ expand_aliases = old_expand_aliases;
+
+ current_command_line_count = orig_line_count;
+ shell_input_line_terminator = orig_input_terminator;
+
+ if (flags & 1)
+ parser_state &= ~(PST_COMPASSIGN|PST_REPARSE);
+
+ if (wl == &parse_string_error)
+ {
+ last_command_exit_value = EXECUTION_FAILURE;
+ if (interactive_shell == 0 && posixly_correct)
+ jump_to_top_level (FORCE_EOF);
+ else
+ jump_to_top_level (DISCARD);
+ }
+
+ return (REVERSE_LIST (wl, WORD_LIST *));
+}
+
+static char *
+parse_compound_assignment (retlenp)
+ int *retlenp;
+{
+ WORD_LIST *wl, *rl;
+ int tok, orig_line_number, orig_token_size, orig_last_token, assignok;
+ char *saved_token, *ret;
+
+ saved_token = token;
+ orig_token_size = token_buffer_size;
+ orig_line_number = line_number;
+ orig_last_token = last_read_token;
+
+ last_read_token = WORD; /* WORD to allow reserved words here */
+
+ token = (char *)NULL;
+ token_buffer_size = 0;
+
+ assignok = parser_state&PST_ASSIGNOK; /* XXX */
+
+ wl = (WORD_LIST *)NULL; /* ( */
+ parser_state |= PST_COMPASSIGN;
+
+ while ((tok = read_token (READ)) != ')')
+ {
+ if (tok == '\n') /* Allow newlines in compound assignments */
+ {
+ if (SHOULD_PROMPT ())
+ prompt_again ();
+ continue;
+ }
+ if (tok != WORD && tok != ASSIGNMENT_WORD)
+ {
+ current_token = tok; /* for error reporting */
+ if (tok == yacc_EOF) /* ( */
+ parser_error (orig_line_number, _("unexpected EOF while looking for matching `)'"));
+ else
+ yyerror(NULL); /* does the right thing */
+ if (wl)
+ dispose_words (wl);
+ wl = &parse_string_error;
+ break;
+ }
+ wl = make_word_list (yylval.word, wl);
+ }
+
+ FREE (token);
+ token = saved_token;
+ token_buffer_size = orig_token_size;
+
+ parser_state &= ~PST_COMPASSIGN;
+
+ if (wl == &parse_string_error)
+ {
+ last_command_exit_value = EXECUTION_FAILURE;
+ last_read_token = '\n'; /* XXX */
+ if (interactive_shell == 0 && posixly_correct)
+ jump_to_top_level (FORCE_EOF);
+ else
+ jump_to_top_level (DISCARD);
+ }
+
+ last_read_token = orig_last_token; /* XXX - was WORD? */
+
+ if (wl)
+ {
+ rl = REVERSE_LIST (wl, WORD_LIST *);
+ ret = string_list (rl);
+ dispose_words (rl);
+ }
+ else
+ ret = (char *)NULL;
+
+ if (retlenp)
+ *retlenp = (ret && *ret) ? strlen (ret) : 0;
+
+ if (assignok)
+ parser_state |= PST_ASSIGNOK;
+
+ return ret;
+}
+
+/************************************************
+ * *
+ * SAVING AND RESTORING PARTIAL PARSE STATE *
+ * *
+ ************************************************/
+
+sh_parser_state_t *
+save_parser_state (ps)
+ sh_parser_state_t *ps;
+{
+#if defined (ARRAY_VARS)
+ SHELL_VAR *v;
+#endif
+
+ if (ps == 0)
+ ps = (sh_parser_state_t *)xmalloc (sizeof (sh_parser_state_t));
+ if (ps == 0)
+ return ((sh_parser_state_t *)NULL);
+
+ ps->parser_state = parser_state;
+ ps->token_state = save_token_state ();
+
+ ps->input_line_terminator = shell_input_line_terminator;
+ ps->eof_encountered = eof_encountered;
+
+ ps->current_command_line_count = current_command_line_count;
+
+#if defined (HISTORY)
+ ps->remember_on_history = remember_on_history;
+# if defined (BANG_HISTORY)
+ ps->history_expansion_inhibited = history_expansion_inhibited;
+# endif
+#endif
+
+ ps->last_command_exit_value = last_command_exit_value;
+#if defined (ARRAY_VARS)
+ v = find_variable ("PIPESTATUS");
+ if (v && array_p (v) && array_cell (v))
+ ps->pipestatus = array_copy (array_cell (v));
+ else
+ ps->pipestatus = (ARRAY *)NULL;
+#endif
+
+ ps->last_shell_builtin = last_shell_builtin;
+ ps->this_shell_builtin = this_shell_builtin;
+
+ ps->expand_aliases = expand_aliases;
+ ps->echo_input_at_read = echo_input_at_read;
+
+ return (ps);
+}
+
+void
+restore_parser_state (ps)
+ sh_parser_state_t *ps;
+{
+#if defined (ARRAY_VARS)
+ SHELL_VAR *v;
+#endif
+
+ if (ps == 0)
+ return;
+
+ parser_state = ps->parser_state;
+ if (ps->token_state)
+ {
+ restore_token_state (ps->token_state);
+ free (ps->token_state);
+ }
+
+ shell_input_line_terminator = ps->input_line_terminator;
+ eof_encountered = ps->eof_encountered;
+
+ current_command_line_count = ps->current_command_line_count;
+
+#if defined (HISTORY)
+ remember_on_history = ps->remember_on_history;
+# if defined (BANG_HISTORY)
+ history_expansion_inhibited = ps->history_expansion_inhibited;
+# endif
+#endif
+
+ last_command_exit_value = ps->last_command_exit_value;
+#if defined (ARRAY_VARS)
+ v = find_variable ("PIPESTATUS");
+ if (v && array_p (v) && array_cell (v))
+ {
+ array_dispose (array_cell (v));
+ var_setarray (v, ps->pipestatus);
+ }
+#endif
+
+ last_shell_builtin = ps->last_shell_builtin;
+ this_shell_builtin = ps->this_shell_builtin;
+
+ expand_aliases = ps->expand_aliases;
+ echo_input_at_read = ps->echo_input_at_read;
+}
+
+/************************************************
+ * *
+ * MULTIBYTE CHARACTER HANDLING *
+ * *
+ ************************************************/
+
+#if defined (HANDLE_MULTIBYTE)
+static void
+set_line_mbstate ()
+{
+ int i, previ, len, c;
+ mbstate_t mbs, prevs;
+ size_t mbclen;
+
+ if (shell_input_line == NULL)
+ return;
+ len = strlen (shell_input_line); /* XXX - shell_input_line_len ? */
+ FREE (shell_input_line_property);
+ shell_input_line_property = (char *)xmalloc (len + 1);
+
+ memset (&prevs, '\0', sizeof (mbstate_t));
+ for (i = previ = 0; i < len; i++)
+ {
+ mbs = prevs;
+
+ c = shell_input_line[i];
+ if (c == EOF)
+ {
+ int j;
+ for (j = i; j < len; j++)
+ shell_input_line_property[j] = 1;
+ break;
+ }
+
+ mbclen = mbrlen (shell_input_line + previ, i - previ + 1, &mbs);
+ if (mbclen == 1 || mbclen == (size_t)-1)
+ {
+ mbclen = 1;
+ previ = i + 1;
+ }
+ else if (mbclen == (size_t)-2)
+ mbclen = 0;
+ else if (mbclen > 1)
+ {
+ mbclen = 0;
+ previ = i + 1;
+ prevs = mbs;
+ }
+ else
+ {
+ /* XXX - what to do if mbrlen returns 0? (null wide character) */
+ int j;
+ for (j = i; j < len; j++)
+ shell_input_line_property[j] = 1;
+ break;
+ }
+
+ shell_input_line_property[i] = mbclen;
+ }
+}
+#endif /* HANDLE_MULTIBYTE */
FREE (word_desc_to_read);
word_desc_to_read = (WORD_DESC *)NULL;
+ current_token = '\n'; /* XXX */
last_read_token = '\n';
token_to_read = '\n';
}
#define P_DQUOTE 0x04
#define P_COMMAND 0x08 /* parsing a command, so look for comments */
#define P_BACKQUOTE 0x10 /* parsing a backquoted command substitution */
-#define P_ARRAY 0x20 /* parsing a [...] array assignment */
+#define P_ARRAYSUB 0x20 /* parsing a [...] array subscript for assignment */
/* Lexical state while parsing a grouping construct or $(...). */
-#define LEX_WASDOL 0x001
-#define LEX_CKCOMMENT 0x002
-#define LEX_INCOMMENT 0x004
-#define LEX_PASSNEXT 0x008
-#define LEX_RESWDOK 0x010
-#define LEX_CKCASE 0x020
-#define LEX_INCASE 0x040
-#define LEX_INHEREDOC 0x080
-#define LEX_HEREDELIM 0x100 /* reading here-doc delimiter */
-#define LEX_STRIPDOC 0x200 /* <<- strip tabs from here doc delim */
+#define LEX_WASDOL 0x0001
+#define LEX_CKCOMMENT 0x0002
+#define LEX_INCOMMENT 0x0004
+#define LEX_PASSNEXT 0x0008
+#define LEX_RESWDOK 0x0010
+#define LEX_CKCASE 0x0020
+#define LEX_INCASE 0x0040
+#define LEX_INHEREDOC 0x0080
+#define LEX_HEREDELIM 0x0100 /* reading here-doc delimiter */
+#define LEX_STRIPDOC 0x0200 /* <<- strip tabs from here doc delim */
+#define LEX_WASQUOTED 0x0400
+#define LEX_INWORD 0x0800
#define COMSUB_META(ch) ((ch) == ';' || (ch) == '&' || (ch) == '|')
} \
} while (0)
+/* Not exactly right yet, should handle shell metacharacters, too. If
+ any changes are made to this test, make analogous changes to subst.c:
+ extract_delimited_string(). */
+#define COMMENT_BEGIN(x) ((x) == '#' && (retind == 0 || ret[retind-1] == '\n' || shellblank (ret[retind - 1])))
+
static char matched_pair_error;
static char *
char *ret, *nestret, *ttrans;
int retind, retsize, rflags;
-/* itrace("parse_matched_pair: open = %c close = %c flags = %d", open, close, flags); */
+/*itrace("parse_matched_pair: open = %c close = %c flags = %d", open, close, flags); */
count = 1;
tflags = 0;
continue;
}
- /* Not exactly right yet, should handle shell metacharacters, too. If
- any changes are made to this test, make analogous changes to subst.c:
- extract_delimited_string(). */
- else if MBTEST((tflags & LEX_CKCOMMENT) && (tflags & LEX_INCOMMENT) == 0 && ch == '#' && (retind == 0 || ret[retind-1] == '\n' || shellblank (ret[retind - 1])))
+ else if MBTEST((tflags & LEX_CKCOMMENT) && (tflags & LEX_INCOMMENT) == 0 && COMMENT_BEGIN (ch))
tflags |= LEX_INCOMMENT;
if (tflags & LEX_PASSNEXT) /* last char was backslash */
APPEND_NESTRET ();
FREE (nestret);
}
+ else if ((flags & P_ARRAYSUB) && (tflags & LEX_WASDOL) && (ch == '(' || ch == '{' || ch == '[')) /* ) } ] */
+ goto parse_dollar_word;
}
/* Parse an old-style command substitution within double quotes as a
single word. */
else if MBTEST(open != '`' && (tflags & LEX_WASDOL) && (ch == '(' || ch == '{' || ch == '[')) /* ) } ] */
/* check for $(), $[], or ${} inside quoted string. */
{
+parse_dollar_word:
if (open == ch) /* undo previous increment */
count--;
if (ch == '(') /* ) */
int open, close;
int *lenp, flags;
{
- int count, ch, peekc, tflags, lex_rwlen, lex_firstind;
+ int count, ch, peekc, tflags, lex_rwlen, lex_wlen, lex_firstind;
int nestlen, ttranslen, start_lineno;
char *ret, *nestret, *ttrans, *heredelim;
int retind, retsize, rflags, hdlen;
/*itrace("parse_comsub: qc = `%c' open = %c close = %c", qc, open, close);*/
count = 1;
- tflags = LEX_RESWDOK;
+ tflags = LEX_RESWDOK|LEX_INWORD;
if ((flags & P_COMMAND) && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0)
tflags |= LEX_CKCASE;
retind = 0;
start_lineno = line_number;
- lex_rwlen = 0;
+ lex_rwlen = lex_wlen = 0;
heredelim = 0;
lex_firstind = -1;
continue;
}
+ if (tflags & LEX_PASSNEXT) /* last char was backslash */
+ {
+/*itrace("parse_comsub:%d: lex_passnext -> 0 ch = `%c' (%d)", line_number, ch, __LINE__);*/
+ tflags &= ~LEX_PASSNEXT;
+ if (qc != '\'' && ch == '\n') /* double-quoted \<newline> disappears. */
+ {
+ if (retind > 0)
+ retind--; /* swallow previously-added backslash */
+ continue;
+ }
+
+ RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
+ if MBTEST(ch == CTLESC || ch == CTLNUL)
+ ret[retind++] = CTLESC;
+ ret[retind++] = ch;
+ continue;
+ }
+
+ /* If this is a shell break character, we are not in a word. If not,
+ we either start or continue a word. */
+ if MBTEST(shellbreak (ch))
+ {
+ tflags &= ~LEX_INWORD;
+/*itrace("parse_comsub:%d: lex_inword -> 0 ch = `%c' (%d)", line_number, ch, __LINE__);*/
+ }
+ else
+ {
+ if (tflags & LEX_INWORD)
+ {
+ lex_wlen++;
+/*itrace("parse_comsub:%d: lex_inword == 1 ch = `%c' lex_wlen = %d (%d)", line_number, ch, lex_wlen, __LINE__);*/
+ }
+ else
+ {
+/*itrace("parse_comsub:%d: lex_inword -> 1 ch = `%c' (%d)", line_number, ch, __LINE__);*/
+ tflags |= LEX_INWORD;
+ lex_wlen = 0;
+ }
+ }
+
/* Skip whitespace */
if MBTEST(shellblank (ch) && lex_rwlen == 0)
{
{
RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
ret[retind++] = peekc;
-/*itrace("parse_comsub:%d: set lex_reswordok = 1, ch = `%c'", line_number, ch); */
+/*itrace("parse_comsub:%d: set lex_reswordok = 1, ch = `%c'", line_number, ch);*/
tflags |= LEX_RESWDOK;
lex_rwlen = 0;
continue;
else if (ch == '\n' || COMSUB_META(ch))
{
shell_ungetc (peekc);
- tflags |= LEX_RESWDOK;
/*itrace("parse_comsub:%d: set lex_reswordok = 1, ch = `%c'", line_number, ch);*/
+ tflags |= LEX_RESWDOK;
lex_rwlen = 0;
continue;
}
}
tflags &= ~LEX_RESWDOK;
}
- else if (shellbreak (ch) == 0)
+ else if MBTEST((tflags & LEX_CKCOMMENT) && ((lex_rwlen == 0 && ch == '#') || COMMENT_BEGIN(ch)))
+ ; /* don't turn off LEX_RESWDOK if we're starting a comment */
+ else if MBTEST(shellbreak (ch) == 0)
{
tflags &= ~LEX_RESWDOK;
/*itrace("parse_comsub:%d: found `%c', lex_reswordok -> 0", line_number, ch);*/
}
}
- if MBTEST((tflags & LEX_INCOMMENT) == 0 && (tflags & LEX_CKCASE) && ch == '<')
+ /* Might be the start of a here-doc delimiter */
+ if MBTEST((tflags & (LEX_PASSNEXT|LEX_INCOMMENT)) == 0 && (tflags & LEX_CKCASE) && ch == '<')
{
/* Add this character. */
RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
}
else
shell_ungetc (peekc);
- tflags |= LEX_HEREDELIM;
- lex_firstind = -1;
+ if (peekc != '<')
+ {
+ tflags |= LEX_HEREDELIM;
+ lex_firstind = -1;
+ }
continue;
}
else
- ch = peekc; /* fall through and continue XXX - this skips comments if peekc == '#' */
+ ch = peekc; /* fall through and continue XXX */
}
- /* Not exactly right yet, should handle shell metacharacters, too. If
- any changes are made to this test, make analogous changes to subst.c:
- extract_delimited_string(). */
- else if MBTEST((tflags & LEX_CKCOMMENT) && (tflags & LEX_INCOMMENT) == 0 && ch == '#' && (retind == 0 || ret[retind-1] == '\n' || shellblank (ret[retind - 1])))
+#if 0
+ else if MBTEST((tflags & LEX_CKCOMMENT) && (tflags & LEX_INCOMMENT) == 0 && ch == '#' && (((tflags & LEX_RESWDOK) && lex_rwlen == 0) || ((tflags & LEX_INWORD) && lex_wlen == 0) || COMMENT_BEGIN(ch)))
+#else
+ else if MBTEST((tflags & LEX_CKCOMMENT) && (tflags & LEX_INCOMMENT) == 0 && ch == '#' && (((tflags & LEX_RESWDOK) && lex_rwlen == 0) || ((tflags & LEX_INWORD) && lex_wlen == 0)))
+#endif
+{
+/*itrace("parse_comsub:%d: lex_incomment -> 1 (%d)", line_number, __LINE__);*/
tflags |= LEX_INCOMMENT;
+}
- if (tflags & LEX_PASSNEXT) /* last char was backslash */
- {
- tflags &= ~LEX_PASSNEXT;
- if (qc != '\'' && ch == '\n') /* double-quoted \<newline> disappears. */
- {
- if (retind > 0)
- retind--; /* swallow previously-added backslash */
- continue;
- }
-
- RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
- if MBTEST(ch == CTLESC || ch == CTLNUL)
- ret[retind++] = CTLESC;
- ret[retind++] = ch;
- continue;
- }
- else if MBTEST(ch == CTLESC || ch == CTLNUL) /* special shell escapes */
+ if MBTEST(ch == CTLESC || ch == CTLNUL) /* special shell escapes */
{
RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
ret[retind++] = CTLESC;
((token_index > 0 && assignment_acceptable (last_read_token) && token_is_ident (token, token_index)) ||
(token_index == 0 && (parser_state&PST_COMPASSIGN))))
{
- ttok = parse_matched_pair (cd, '[', ']', &ttoklen, 0);
+ ttok = parse_matched_pair (cd, '[', ']', &ttoklen, P_ARRAYSUB);
if (ttok == &matched_pair_error)
return -1; /* Bail immediately. */
RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2,
case '}': /* XXX */
case AND_AND:
case BANG:
+ case BAR_AND:
case DO:
case DONE:
case ELIF:
parser_error (line_number, "%s", message);
if (interactive && EOF_Reached)
EOF_Reached = 0;
- last_command_exit_value = EX_USAGE;
+ last_command_exit_value = EX_BADUSAGE;
return;
}
if (interactive == 0)
print_offending_line ();
- last_command_exit_value = EX_USAGE;
+ last_command_exit_value = EX_BADUSAGE;
return;
}
EOF_Reached = 0;
}
- last_command_exit_value = EX_USAGE;
+ last_command_exit_value = EX_BADUSAGE;
}
/* ??? Needed function. ??? We have to be able to discard the constructs
#define LEX_INHEREDOC 0x080
#define LEX_HEREDELIM 0x100 /* reading here-doc delimiter */
#define LEX_STRIPDOC 0x200 /* <<- strip tabs from here doc delim */
+#define LEX_INWORD 0x400
#define COMSUB_META(ch) ((ch) == ';' || (ch) == '&' || (ch) == '|')
char *ret, *nestret, *ttrans;
int retind, retsize, rflags;
-/* itrace("parse_matched_pair: open = %c close = %c flags = %d", open, close, flags); */
+/*itrace("parse_matched_pair: open = %c close = %c flags = %d", open, close, flags); */
count = 1;
tflags = 0;
int open, close;
int *lenp, flags;
{
- int count, ch, peekc, tflags, lex_rwlen, lex_firstind;
+ int count, ch, peekc, tflags, lex_rwlen, lex_wlen, lex_firstind;
int nestlen, ttranslen, start_lineno;
char *ret, *nestret, *ttrans, *heredelim;
int retind, retsize, rflags, hdlen;
retind = 0;
start_lineno = line_number;
- lex_rwlen = 0;
+ lex_rwlen = lex_wlen = 0;
heredelim = 0;
lex_firstind = -1;
ret[retind++] = ch;
if ((tflags & LEX_INCOMMENT) && ch == '\n')
+{
+/*itrace("parse_comsub:%d: lex_incomment -> 0 ch = `%c'", line_number, ch);*/
tflags &= ~LEX_INCOMMENT;
+}
+
+ continue;
+ }
+
+ if (tflags & LEX_PASSNEXT) /* last char was backslash */
+ {
+/*itrace("parse_comsub:%d: lex_passnext -> 0 ch = `%c' (%d)", line_number, ch, __LINE__);*/
+ tflags &= ~LEX_PASSNEXT;
+ if (qc != '\'' && ch == '\n') /* double-quoted \<newline> disappears. */
+ {
+ if (retind > 0)
+ retind--; /* swallow previously-added backslash */
+ continue;
+ }
+ RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
+ if MBTEST(ch == CTLESC || ch == CTLNUL)
+ ret[retind++] = CTLESC;
+ ret[retind++] = ch;
continue;
}
+ /* If this is a shell break character, we are not in a word. If not,
+ we either start or continue a word. */
+ if MBTEST(shellbreak (ch))
+ {
+ tflags &= ~LEX_INWORD;
+/*itrace("parse_comsub:%d: lex_inword -> 0 ch = `%c' (%d)", line_number, ch, __LINE__);*/
+ }
+ else
+ {
+ if (tflags & LEX_INWORD)
+ {
+ lex_wlen++;
+/*itrace("parse_comsub:%d: lex_inword == 1 ch = `%c' lex_wlen = %d (%d)", line_number, ch, lex_wlen, __LINE__);*/
+ }
+ else
+ {
+/*itrace("parse_comsub:%d: lex_inword -> 1 ch = `%c' (%d)", line_number, ch, __LINE__);*/
+ tflags |= LEX_INWORD;
+ lex_wlen = 0;
+ }
+ }
+
/* Skip whitespace */
if MBTEST(shellblank (ch) && lex_rwlen == 0)
{
}
/* Meta-characters that can introduce a reserved word. Not perfect yet. */
- if MBTEST((tflags & LEX_PASSNEXT) == 0 && (tflags & LEX_RESWDOK) == 0 && (tflags & LEX_CKCASE) && (tflags & LEX_INCOMMENT) == 0 && shellmeta(ch))
+ if MBTEST((tflags & LEX_RESWDOK) == 0 && (tflags & LEX_CKCASE) && (tflags & LEX_INCOMMENT) == 0 && shellmeta(ch))
{
/* Add this character. */
RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
{
RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
ret[retind++] = peekc;
-/*itrace("parse_comsub:%d: set lex_reswordok = 1, ch = `%c'", line_number, ch); */
+/*itrace("parse_comsub:%d: set lex_reswordok = 1, ch = `%c'", line_number, ch);*/
tflags |= LEX_RESWDOK;
lex_rwlen = 0;
continue;
else if (ch == '\n' || COMSUB_META(ch))
{
shell_ungetc (peekc);
- tflags |= LEX_RESWDOK;
/*itrace("parse_comsub:%d: set lex_reswordok = 1, ch = `%c'", line_number, ch);*/
+ tflags |= LEX_RESWDOK;
lex_rwlen = 0;
continue;
}
if (STREQN (ret + retind - 4, "case", 4))
{
tflags |= LEX_INCASE;
-/*itrace("parse_comsub:%d: found `case', lex_incase -> 1", line_number);*/
+/*itrace("parse_comsub:%d: found `case', lex_incase -> 1 lex_reswdok -> 0", line_number);*/
}
else if (STREQN (ret + retind - 4, "esac", 4))
{
tflags &= ~LEX_INCASE;
-/*itrace("parse_comsub:%d: found `esac', lex_incase -> 0", line_number);*/
+/*itrace("parse_comsub:%d: found `esac', lex_incase -> 0 lex_reswdok -> 0", line_number);*/
}
tflags &= ~LEX_RESWDOK;
}
- else if (shellbreak (ch) == 0)
+ else if MBTEST((tflags & LEX_CKCOMMENT) && ch == '#' && (lex_rwlen == 0 || ((tflags & LEX_INWORD) && lex_wlen == 0)))
+ ; /* don't modify LEX_RESWDOK if we're starting a comment */
+ else if MBTEST((tflags & LEX_INCASE) && ch != '\n')
+ /* If we can read a reserved word and we're in case, we're at the
+ point where we can read a new pattern list or an esac. We
+ handle the esac case above. If we read a newline, we want to
+ leave LEX_RESWDOK alone. If we read anything else, we want to
+ turn off LEX_RESWDOK, since we're going to read a pattern list. */
{
- tflags &= ~LEX_RESWDOK;
+ tflags &= ~LEX_RESWDOK;
+/*itrace("parse_comsub:%d: lex_incase == 1 found `%c', lex_reswordok -> 0", line_number, ch);*/
+}
+ else if MBTEST(shellbreak (ch) == 0)
+{
+ tflags &= ~LEX_RESWDOK;
/*itrace("parse_comsub:%d: found `%c', lex_reswordok -> 0", line_number, ch);*/
}
}
+ /* Might be the start of a here-doc delimiter */
if MBTEST((tflags & LEX_INCOMMENT) == 0 && (tflags & LEX_CKCASE) && ch == '<')
{
/* Add this character. */
continue;
}
else
- ch = peekc; /* fall through and continue XXX - this skips comments if peekc == '#' */
+ ch = peekc; /* fall through and continue XXX */
}
- /* Not exactly right yet, should handle shell metacharacters, too. If
- any changes are made to this test, make analogous changes to subst.c:
- extract_delimited_string(). */
- else if MBTEST((tflags & LEX_CKCOMMENT) && (tflags & LEX_INCOMMENT) == 0 && ch == '#' && (retind == 0 || ret[retind-1] == '\n' || shellblank (ret[retind - 1])))
+ else if MBTEST((tflags & LEX_CKCOMMENT) && (tflags & LEX_INCOMMENT) == 0 && ch == '#' && (((tflags & LEX_RESWDOK) && lex_rwlen == 0) || ((tflags & LEX_INWORD) && lex_wlen == 0)))
+{
+itrace("parse_comsub:%d: lex_incomment -> 1 (%d)", line_number, __LINE__);
tflags |= LEX_INCOMMENT;
+}
- if (tflags & LEX_PASSNEXT) /* last char was backslash */
- {
- tflags &= ~LEX_PASSNEXT;
- if (qc != '\'' && ch == '\n') /* double-quoted \<newline> disappears. */
- {
- if (retind > 0)
- retind--; /* swallow previously-added backslash */
- continue;
- }
-
- RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
- if MBTEST(ch == CTLESC || ch == CTLNUL)
- ret[retind++] = CTLESC;
- ret[retind++] = ch;
- continue;
- }
- else if MBTEST(ch == CTLESC || ch == CTLNUL) /* special shell escapes */
+ if MBTEST(ch == CTLESC || ch == CTLNUL) /* special shell escapes */
{
RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
ret[retind++] = CTLESC;
else if MBTEST(ch == close && (tflags & LEX_INCASE) == 0) /* ending delimiter */
{
count--;
-/*itrace("parse_comsub:%d: found close: count = %d", line_number, count);*/
+itrace("parse_comsub:%d: found close: count = %d", line_number, count);
}
else if MBTEST(((flags & P_FIRSTCLOSE) == 0) && (tflags & LEX_INCASE) == 0 && ch == open) /* nested begin */
+{
count++;
+itrace("parse_comsub:%d: found open: count = %d", line_number, count);
+}
/* Add this character. */
RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
parser_error (line_number, "%s", message);
if (interactive && EOF_Reached)
EOF_Reached = 0;
- last_command_exit_value = EX_USAGE;
+ last_command_exit_value = EX_BADUSAGE;
return;
}
if (interactive == 0)
print_offending_line ();
- last_command_exit_value = EX_USAGE;
+ last_command_exit_value = EX_BADUSAGE;
return;
}
EOF_Reached = 0;
}
- last_command_exit_value = EX_USAGE;
+ last_command_exit_value = EX_BADUSAGE;
}
/* ??? Needed function. ??? We have to be able to discard the constructs
-# Mensajes en español para GNU bash-3.2.
-# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-# Cristian Othón Martínez Vera <cfuga@itam.mx>, 2000, 2001, 2002, 2003, 2004, 2005, 2006.
+# Mensajes en español para GNU bash-4.0-pre1.
+# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# This file is distributed under the same license as the bash package.
+# Cristian Othón Martínez Vera <cfuga@itam.mx>, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU bash 3.2\n"
+"Project-Id-Version: GNU bash 4.0-pre1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-02-19 14:53-0500\n"
-"PO-Revision-Date: 2006-10-31 23:36-0600\n"
+"POT-Creation-Date: 2008-08-25 11:13-0400\n"
+"PO-Revision-Date: 2009-03-03 09:21-0600\n"
"Last-Translator: Cristian Othón Martínez Vera <cfuga@itam.mx>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: arrayfunc.c:50
+#: arrayfunc.c:49
msgid "bad array subscript"
msgstr "subíndice de matriz incorrecto"
-#: arrayfunc.c:313 builtins/declare.def:474
+#: arrayfunc.c:312 builtins/declare.def:467
#, c-format
msgid "%s: cannot convert indexed to associative array"
-msgstr ""
+msgstr "%s: no se puede convertir la matriz de indizada a asociativa"
-#: arrayfunc.c:479
-#, fuzzy, c-format
+#: arrayfunc.c:478
+#, c-format
msgid "%s: invalid associative array key"
-msgstr "%s: nombre de acción inválido"
+msgstr "%s: índice de matriz asociativa inválido"
-#: arrayfunc.c:481
+#: arrayfunc.c:480
#, c-format
msgid "%s: cannot assign to non-numeric index"
msgstr "%s: no se puede asignar a un índice que no es numérico"
-#: arrayfunc.c:517
+#: arrayfunc.c:516
#, c-format
msgid "%s: %s: must use subscript when assigning associative array"
-msgstr ""
+msgstr "%s: %s: se debe usar un subíndice al asignar a una matriz asociativa"
-#: bashhist.c:379
+#: bashhist.c:382
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: no se puede crear: %s"
-#: bashline.c:3413
+#: bashline.c:3190
msgid "bash_execute_unix_command: cannot find keymap for command"
-msgstr ""
-"bash_execute_unix_command: no se puede encontrar la combinación de teclas "
-"para la orden"
+msgstr "bash_execute_unix_command: no se puede encontrar la combinación de teclas para la orden"
-#: bashline.c:3491
+#: bashline.c:3268
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: el primer carácter que no es espacio en blanco no es `\"'"
-#: bashline.c:3520
+#: bashline.c:3297
#, c-format
msgid "no closing `%c' in %s"
msgstr "no hay un `%c' que cierre en %s"
-#: bashline.c:3554
+#: bashline.c:3331
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: falta un `:' separador"
-#: builtins/bind.def:120 builtins/bind.def:123
-msgid "line editing not enabled"
-msgstr ""
-
-#: builtins/bind.def:206
+#: builtins/bind.def:199
#, c-format
msgid "`%s': invalid keymap name"
msgstr "`%s': nombre de combinación de teclas inválido"
-#: builtins/bind.def:245
+#: builtins/bind.def:238
#, c-format
msgid "%s: cannot read: %s"
msgstr "%s: no se puede leer: %s"
-#: builtins/bind.def:260
+#: builtins/bind.def:253
#, c-format
msgid "`%s': cannot unbind"
-msgstr "%s: no se puede desenlazar"
+msgstr "%s: no se puede borrar la asignación"
-#: builtins/bind.def:295 builtins/bind.def:325
+#: builtins/bind.def:288 builtins/bind.def:318
#, c-format
msgid "`%s': unknown function name"
msgstr "`%s': nombre de función desconocido"
-#: builtins/bind.def:303
+#: builtins/bind.def:296
#, c-format
msgid "%s is not bound to any keys.\n"
-msgstr "%s no está enlazado a ninguna tecla.\n"
+msgstr "%s no está asignado a ninguna tecla.\n"
-#: builtins/bind.def:307
+#: builtins/bind.def:300
#, c-format
msgid "%s can be invoked via "
msgstr "%s se puede invocar a través de "
#: builtins/break.def:77 builtins/break.def:117
-#, fuzzy
msgid "loop count"
-msgstr "logout"
+msgstr "cuenta de ciclo"
#: builtins/break.def:137
msgid "only meaningful in a `for', `while', or `until' loop"
msgstr "sólo tiene significado en un ciclo `for', `while' o `until'"
-#: builtins/caller.def:133
-#, fuzzy
-msgid ""
-"Returns the context of the current subroutine call.\n"
-" \n"
-" Without EXPR, returns "
-msgstr "Devuelve el contexto de la llamada a subrutina actual."
-
#: builtins/cd.def:215
msgid "HOME not set"
msgstr "HOME no está definido"
msgid "OLDPWD not set"
msgstr "OLDPWD no está definido"
-#: builtins/common.c:101
-#, fuzzy, c-format
+#: builtins/common.c:107
+#, c-format
msgid "line %d: "
-msgstr "ranura %3d: "
-
-#: builtins/common.c:139 error.c:260
-#, fuzzy, c-format
-msgid "warning: "
-msgstr "%s: aviso: "
+msgstr "línea %d: "
-#: builtins/common.c:153
-#, fuzzy, c-format
+#: builtins/common.c:124
+#, c-format
msgid "%s: usage: "
-msgstr "%s: aviso: "
+msgstr "%s: uso: "
-#: builtins/common.c:166 test.c:822
+#: builtins/common.c:137 test.c:822
msgid "too many arguments"
msgstr "demasiados argumentos"
-#: builtins/common.c:191 shell.c:493 shell.c:774
+#: builtins/common.c:162 shell.c:493 shell.c:774
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: la opción requiere un argumento"
-#: builtins/common.c:198
+#: builtins/common.c:169
#, c-format
msgid "%s: numeric argument required"
msgstr "%s: se requiere un argumento numérico"
-#: builtins/common.c:205
+#: builtins/common.c:176
#, c-format
msgid "%s: not found"
msgstr "%s: no se encontró"
-#: builtins/common.c:214 shell.c:787
+#: builtins/common.c:185 shell.c:787
#, c-format
msgid "%s: invalid option"
msgstr "%s: opción inválida"
-#: builtins/common.c:221
+#: builtins/common.c:192
#, c-format
msgid "%s: invalid option name"
msgstr "%s: nombre de opción inválido"
-#: builtins/common.c:228 general.c:231 general.c:236
+#: builtins/common.c:199 general.c:231 general.c:236
#, c-format
msgid "`%s': not a valid identifier"
msgstr "`%s': no es un identificador válido"
-#: builtins/common.c:238
-#, fuzzy
+#: builtins/common.c:209
msgid "invalid octal number"
-msgstr "número de señal inválido"
+msgstr "número octal inválido"
-#: builtins/common.c:240
-#, fuzzy
+#: builtins/common.c:211
msgid "invalid hex number"
-msgstr "número inválido"
+msgstr "número hexadecimal inválido"
-#: builtins/common.c:242 expr.c:1255
+#: builtins/common.c:213 expr.c:1255
msgid "invalid number"
msgstr "número inválido"
-#: builtins/common.c:250
+#: builtins/common.c:221
#, c-format
msgid "%s: invalid signal specification"
msgstr "%s: especificación de señal inválida"
-#: builtins/common.c:257
+#: builtins/common.c:228
#, c-format
msgid "`%s': not a pid or valid job spec"
msgstr "`%s': no es un pid o una especificación válida de trabajo"
-#: builtins/common.c:264 error.c:453
+#: builtins/common.c:235 error.c:453
#, c-format
msgid "%s: readonly variable"
msgstr "%s: variable de sólo lectura"
-#: builtins/common.c:272
+#: builtins/common.c:243
#, c-format
msgid "%s: %s out of range"
msgstr "%s: %s fuera de rango"
-#: builtins/common.c:272 builtins/common.c:274
+#: builtins/common.c:243 builtins/common.c:245
msgid "argument"
msgstr "argumento"
-#: builtins/common.c:274
+#: builtins/common.c:245
#, c-format
msgid "%s out of range"
msgstr "%s fuera de rango"
-#: builtins/common.c:282
+#: builtins/common.c:253
#, c-format
msgid "%s: no such job"
msgstr "%s: no existe ese trabajo"
-#: builtins/common.c:290
+#: builtins/common.c:261
#, c-format
msgid "%s: no job control"
msgstr "%s: no hay control de trabajos"
-#: builtins/common.c:292
+#: builtins/common.c:263
msgid "no job control"
msgstr "no hay control de trabajos"
-#: builtins/common.c:302
+#: builtins/common.c:273
#, c-format
msgid "%s: restricted"
msgstr "%s: restringido"
-#: builtins/common.c:304
+#: builtins/common.c:275
msgid "restricted"
msgstr "restringido"
-#: builtins/common.c:312
+#: builtins/common.c:283
#, c-format
msgid "%s: not a shell builtin"
msgstr "%s: no es una orden interna del shell"
-#: builtins/common.c:321
+#: builtins/common.c:292
#, c-format
msgid "write error: %s"
msgstr "error de escritura: %s"
-#: builtins/common.c:329
-#, c-format
-msgid "error setting terminal attributes: %s"
-msgstr ""
-
-#: builtins/common.c:331
-#, c-format
-msgid "error getting terminal attributes: %s"
-msgstr ""
-
-#: builtins/common.c:563
+#: builtins/common.c:523
#, c-format
msgid "%s: error retrieving current directory: %s: %s\n"
msgstr "%s: error al obtener el directorio actual: %s: %s\n"
-#: builtins/common.c:629 builtins/common.c:631
+#: builtins/common.c:589 builtins/common.c:591
#, c-format
msgid "%s: ambiguous job spec"
msgstr "%s: especificación de trabajo ambigua"
#: builtins/complete.def:786
msgid "not currently executing completion function"
-msgstr ""
+msgstr "no se está ejecutando la función de completado"
# sólo se puede usar. sv
# De acuerdo. cfuga
msgid "cannot use `-f' to make functions"
msgstr "no se puede usar `-f' para hacer funciones"
-#: builtins/declare.def:365 execute_cmd.c:4818
+#: builtins/declare.def:365 execute_cmd.c:4696
#, c-format
msgid "%s: readonly function"
msgstr "%s: función de sólo lectura"
-#: builtins/declare.def:461
+#: builtins/declare.def:454
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: no se pueden destruir variables de matriz de esta forma"
-#: builtins/declare.def:468
+#: builtins/declare.def:461
#, c-format
msgid "%s: cannot convert associative to indexed array"
-msgstr ""
+msgstr "%s: no se puede convertir una matriz asociativa a indizada"
#: builtins/enable.def:137 builtins/enable.def:145
msgid "dynamic loading not available"
msgid "%s: cannot delete: %s"
msgstr "%s: no se puede borrar: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4675
+#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4553
#: shell.c:1439
#, c-format
msgid "%s: is a directory"
# file=fichero. archive=archivo. Si no, es imposible traducir tar. sv
# De acuerdo. Corregido en todo el fichero. cfuga
-#: builtins/evalfile.c:185 execute_cmd.c:4745 shell.c:1449
+#: builtins/evalfile.c:185 execute_cmd.c:4623 shell.c:1449
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: no se puede ejecutar el fichero binario"
msgstr "%s: no se puede ejecutar: %s"
#: builtins/exit.def:65
-#, fuzzy, c-format
+#, c-format
msgid "logout\n"
-msgstr "logout"
+msgstr "logout\n"
#: builtins/exit.def:88
msgid "not login shell: use `exit'"
msgstr "Hay trabajos detenidos.\n"
#: builtins/exit.def:122
-#, fuzzy, c-format
+#, c-format
msgid "There are running jobs.\n"
-msgstr "Hay trabajos detenidos.\n"
+msgstr "Hay trabajos en ejecución.\n"
#: builtins/fc.def:261
msgid "no command found"
#: builtins/fg_bg.def:149 builtins/jobs.def:282
msgid "current"
-msgstr ""
+msgstr "actual"
#: builtins/fg_bg.def:158
#, c-format
#: builtins/hash.def:92
msgid "hashing disabled"
-msgstr "hashing desactivado"
+msgstr "asociación desactivada"
#: builtins/hash.def:138
#, c-format
msgstr "%s: tabla de asociación vacía\n"
#: builtins/hash.def:244
-#, fuzzy, c-format
+#, c-format
msgid "hits\tcommand\n"
-msgstr "última orden: %s\n"
+msgstr "coinc\torden\n"
#: builtins/help.def:130
-#, fuzzy, c-format
+#, c-format
msgid "Shell commands matching keyword `"
msgid_plural "Shell commands matching keywords `"
-msgstr[0] "Órdenes del shell que coinciden con la palabra `"
+msgstr[0] "Orden del shell que coinciden con la palabra `"
msgstr[1] "Órdenes del shell que coinciden con la palabra `"
#: builtins/help.def:168
#, c-format
-msgid ""
-"no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
-msgstr ""
-"no hay temas de ayuda que coincidan con `%s'. Pruebe `help help' o `man -k %"
-"s' o `info %s'."
+msgid "no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
+msgstr "no hay temas de ayuda que coincidan con `%s'. Pruebe `help help' o `man -k %s' o `info %s'."
#: builtins/help.def:185
#, c-format
"Use `man -k' o `info' para saber más sobre las órdenes que no están en\n"
"esta lista.\n"
"\n"
-"Un asterisco (*) junto a un nombre significa que el comando está "
-"desactivado.\n"
+"Un asterisco (*) junto a un nombre significa que el comando está desactivado.\n"
"\n"
#: builtins/history.def:154
msgid "history position"
msgstr "posición en la historia"
-#: builtins/history.def:365
+#: builtins/history.def:366
#, c-format
msgid "%s: history expansion failed"
msgstr "%s: falló la expansión de la historia"
#: builtins/inlib.def:71
-#, fuzzy, c-format
+#, c-format
msgid "%s: inlib failed"
-msgstr "%s: falló la expansión de la historia"
+msgstr "%s: falló inlib"
#: builtins/jobs.def:109
msgid "no other options allowed with `-x'"
msgid "expression expected"
msgstr "se esperaba una expresión"
-#: builtins/mapfile.def:241 builtins/read.def:272
+#: builtins/mapfile.def:215 builtins/read.def:271
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: especificación de descriptor de fichero inválida"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:223 builtins/read.def:278
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: descriptor de fichero inválido: %s"
-#: builtins/mapfile.def:258 builtins/mapfile.def:296
-#, fuzzy, c-format
+#: builtins/mapfile.def:232 builtins/mapfile.def:270
+#, c-format
msgid "%s: invalid line count"
-msgstr "%s: opción inválida"
+msgstr "%s: cuenta de líneas inválida"
-#: builtins/mapfile.def:269
-#, fuzzy, c-format
+#: builtins/mapfile.def:243
+#, c-format
msgid "%s: invalid array origin"
-msgstr "%s: opción inválida"
+msgstr "%s: origen de matriz inválido"
-#: builtins/mapfile.def:286
-#, fuzzy, c-format
+#: builtins/mapfile.def:260
+#, c-format
msgid "%s: invalid callback quantum"
-msgstr "%s: nombre de acción inválido"
+msgstr "%s: quantum de llamada inválido"
-#: builtins/mapfile.def:318
-#, fuzzy
+#: builtins/mapfile.def:292
msgid "empty array variable name"
-msgstr "%s: no es una variable de matriz"
+msgstr "nombre de variable de matriz vacío"
-#: builtins/mapfile.def:339
+#: builtins/mapfile.def:313
msgid "array variable support required"
-msgstr ""
+msgstr "se requiere el soporte de variable de matriz"
-#: builtins/printf.def:367
+#: builtins/printf.def:364
#, c-format
msgid "`%s': missing format character"
msgstr "`%s': falta el carácter de formato"
-#: builtins/printf.def:544
+#: builtins/printf.def:541
#, c-format
msgid "`%c': invalid format character"
msgstr "`%c': carácter de formato inválido"
-#: builtins/printf.def:571
-#, fuzzy, c-format
+#: builtins/printf.def:568
+#, c-format
msgid "warning: %s: %s"
-msgstr "%s: aviso: "
+msgstr "aviso: %s: %s"
-#: builtins/printf.def:750
+#: builtins/printf.def:747
msgid "missing hex digit for \\x"
msgstr "falta el dígito hexadecimal para \\x"
#: builtins/pushd.def:506
msgid "directory stack empty"
-msgstr ""
+msgstr "la pila de directorios está vacía"
#: builtins/pushd.def:508
-#, fuzzy
msgid "directory stack index"
-msgstr "desbordamiento de la base de la pila de recursión"
+msgstr "índice de la pila de directorios"
#: 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"
" \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"
+" +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"
+" -N\tDisplays the Nth entry counting from the right of the list shown by\n"
"\tdirs when invoked without options, starting with zero."
msgstr ""
"Muestra la lista de directorios actualmente grabados. Los directorios\n"
" se guardan en la lista con la orden `pushd'; pueden ir saliendo de\n"
" la lista con la orden `popd'.\n"
" \n"
-" La opción -l especifica que `dirs' no debe mostrar versiones\n"
-" abreviadas de los directorios que son relativos a su directorio\n"
-" inicial. Esto significa que `~/bin' se mostrará como `/home/bfox/bin'.\n"
-" La opción -v causa que `dirs' muestre la pila de directorios con\n"
-" una entrada por línea, anteponiendo la posición en la pila al nombre\n"
-" del directorio. La opción -p hace lo mismo, pero no antepone la\n"
-" posición en la pila. La opción -c limpia la pila de directorios\n"
-" borrando todos sus elementos.\n"
+" Opciones:\n"
+" -c\tlimpia la pila de directorios, eliminando todos los elementos\n"
+" -l\tno muestra las versiones con prefijo de tilde de los directorios\n"
+" \trelativos a su directorio inicial\n"
+" -p\tmuestra la pila de directorios con una entrada por línea\n"
+" -v\tmuestra la pila de directorios con una entrada por línea con\n"
+" \tsu posición en la pila como prefijo\n"
" \n"
-" +N\tmuestra la N-ésima entrada contando desde la izquierda de la lista\n"
-" mostrada por dirs cuando se invoca sin opciones, empezando de cero.\n"
+" Argumentos:\n"
+" +N\tMuestra la N-ésima entrada contando desde la izquierda de\n"
+" \tla lista mostrada por dirs cuando se llama sin opciones,\n"
+" \tempezando desde cero.\n"
" \n"
-" -N\tmuestra la N-ésima entrada contando desde la derecha de la lista\n"
-" mostrada por dirs cuando se invoca sin opciones, empezando de cero."
+" -N\tMuestra la N-ésima entrada contando desde la derecha de\n"
+"\tla lista mostrada por dirs cuando se llama sin opciones,\n"
+"\tempezando desde cero."
#: 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"
" directorio de trabajo actual. Sin argumentos, intercambia\n"
" los dos directorios del tope.\n"
" \n"
+" Argumentos:\n"
" +N\tRota la pila para que el N-ésimo directorio (contando\n"
" \tde la izquierda de la lista mostrada por `dirs',\n"
" \tcomenzando desde cero) esté en el tope.\n"
" \tde la derecha de la lista mostrada por `dirs',\n"
" \tcomenzando desde cero) esté en el tope.\n"
" \n"
-" -n\tsuprime el cambio normal de directorio cuando se agregan\n"
-" \tdirectorios a la pila, así sólo se manipula la pila.\n"
-" \n"
-" dir\tagrega DIR a la pila de directorios en el tope,\n"
+" dir\tagrega DIR a la pila de directorios en el tope,\n"
" \thaciéndolo el nuevo directorio de trabajo actual.\n"
" \n"
-" Puede ver la pila de directorios con la orden `dirs'."
+" La orden interna `dirs' muestra la pila de directorios."
#: 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"
" The `dirs' builtin displays the directory stack."
msgstr ""
-"Borra entradas de la pila de directorios. Sin argumentos,\n"
-" borra el directorio del tope de la pila, y cambia al\n"
-" nuevo directorio tope.\n"
+"Borra entradas de la pila de directorios. Sin argumentos, borra\n"
+" directorio del tope de la pila, y cambia al nuevo directorio tope.\n"
" \n"
-" +N\tBorra la N-ésima entrada contando de la izquierda de\n"
+" Opciones:\n"
+" -n\tsuprime el cambio normal de directorio cuando se borran\n"
+" \tdirectorios de la pila, así sólo se manipula la pila.\n"
+" \n"
+" Argumentos:\n"
+" +N\tBorra la N-ésima entrada contando de la izquierda de\n"
" \tla lista mostrada por `dirs', comenzando desde cero.\n"
" \tPor ejemplo: `popd +0' borra el primer directorio, `popd +1'\n"
" \tel segundo.\n"
" \n"
-" -N\tBorra la N-ésima entrada contando de la derecha de\n"
+" -N\tBorra la N-ésima entrada contando de la derecha de\n"
" \tla lista mostrada por `dirs', comenzando desde cero.\n"
" \tPor ejemplo: `popd -0' borra el último directorio, `popd -1'\n"
" \tel penúltimo.\n"
" \n"
-" -n\tsuprime el cambio normal de directorio cuando se borran\n"
-" \tdirectorios de la pila, así sólo se manipula la pila.\n"
-" \n"
-" Puede ver la pila de directorios con la orden `dirs'."
+" La orden interna `dirs' muestra la pila de directorios."
-#: builtins/read.def:248
+#: builtins/read.def:247
#, c-format
msgid "%s: invalid timeout specification"
msgstr "%s: especificación de tiempo de expiración inválida"
-#: builtins/read.def:574
+#: builtins/read.def:569
#, c-format
msgid "read error: %d: %s"
msgstr "error de lectura: %d: %s"
-#: builtins/return.def:73
+#: builtins/return.def:68
msgid "can only `return' from a function or sourced script"
-msgstr ""
-"sólo se puede usar `return' en una función o un guión leído con `source'"
+msgstr "sólo se puede usar `return' en una función o un guión leído con `source'"
#: builtins/set.def:768
msgid "cannot simultaneously unset a function and a variable"
msgid "shift count"
msgstr "cuenta de shift"
-#: builtins/shopt.def:254
+#: builtins/shopt.def:250
msgid "cannot set and unset shell options simultaneously"
msgstr "no se pueden activar y desactivar opciones del shell simultáneamente"
-#: builtins/shopt.def:319
+#: builtins/shopt.def:315
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: nombre de opción del shell inválido"
msgstr "%s: no se puede obtener el límite: %s"
#: builtins/ulimit.def:453
-#, fuzzy
msgid "limit"
-msgstr "Límite de CPU"
+msgstr "límite"
#: builtins/ulimit.def:465 builtins/ulimit.def:765
#, c-format
#: error.c:89 error.c:320 error.c:322 error.c:324
msgid " line "
-msgstr ""
+msgstr " línea "
#: error.c:164
#, c-format
msgid "Aborting..."
msgstr "Abortando..."
+#: error.c:260
+#, c-format
+msgid "warning: "
+msgstr "aviso: "
+
#: error.c:405
msgid "unknown command error"
msgstr "error de orden desconocido"
#: error.c:446
#, c-format
msgid "%s: unbound variable"
-msgstr "%s: variable desenlazada"
+msgstr "%s: variable sin asignar"
#: eval.c:181
#, c-format
msgid "\atimed out waiting for input: auto-logout\n"
msgstr "\aha expirado mientras esperaba alguna entrada: auto-logout\n"
-#: execute_cmd.c:491
+#: execute_cmd.c:483
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
-msgstr "no se puede redirigir la salida estándard de /dev/null: %s"
+msgstr "no se puede redirigir la salida estándar desde /dev/null: %s"
-#: execute_cmd.c:1112
+#: execute_cmd.c:1079
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT: `%c': carácter de formato inválido"
-#: execute_cmd.c:2011
-#, fuzzy
+#: execute_cmd.c:1930
msgid "pipe error"
-msgstr "error de escritura: %s"
+msgstr "error de tubería"
-#: execute_cmd.c:4363
+#: execute_cmd.c:4243
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: restringido: no se puede especificar `/' en nombres de órdenes"
-#: execute_cmd.c:4454
+#: execute_cmd.c:4334
#, c-format
msgid "%s: command not found"
msgstr "%s: no se encontró la orden"
-#: execute_cmd.c:4708
+#: execute_cmd.c:4586
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: intérprete erróneo"
-#: execute_cmd.c:4857
+#: execute_cmd.c:4735
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "no se puede duplicar el df %d al df %d"
# o lo dejamos como 'unidad' o 'elemento'? cfuga
#: expr.c:471
msgid "bug: bad expassign token"
-msgstr "bicho: unidad de asignación de símbolo erróneo"
+msgstr "bicho: elemento de asignación de expresión erróneo"
#: expr.c:513
msgid "`:' expected for conditional expression"
#: expr.c:826
msgid "identifier expected after pre-increment or pre-decrement"
-msgstr ""
-"se esperaba un identificador después del pre-incremento o pre-decremento"
+msgstr "se esperaba un identificador después del pre-incremento o pre-decremento"
# falta , singular em+
# mmmh, puede faltar más de un paréntesis cfuga
# tiene razón Enrique, es singular. cfuga
#: expr.c:854
msgid "missing `)'"
-msgstr "falta `)'"
+msgstr "falta un `)'"
#: expr.c:897 expr.c:1175
msgid "syntax error: operand expected"
msgstr "error sintáctico: operador aritmético inválido"
#: expr.c:1201
-#, fuzzy, c-format
+#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
-msgstr "%s: %s: %s (símbolo de error es \"%s\")\n"
+msgstr "%s%s%s: %s (el elemento de error es \"%s\")"
#: expr.c:1259
msgid "invalid arithmetic base"
msgstr "valor demasiado grande para la base"
#: expr.c:1328
-#, fuzzy, c-format
+#, c-format
msgid "%s: expression error\n"
-msgstr "%s: se esperaba una expresión entera"
+msgstr "%s: error de expresión\n"
#: general.c:61
msgid "getcwd: cannot access parent directories"
-msgstr "getcwd: no se puede acceder a los directorios padres"
+msgstr "getcwd: no se puede acceder a los directorios padre"
-#: input.c:94 subst.c:4559
-#, fuzzy, c-format
+#: input.c:94 subst.c:4551
+#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "no se puede reestablecer el modo nodelay para el df %d"
#: input.c:258
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
-msgstr ""
-"no se puede asignar un nuevo descriptor de fichero para la entrada de bash "
-"desde el df %d"
+msgstr "no se puede asignar un nuevo descriptor de fichero para la entrada de bash desde el df %d"
# buffer: espacio intermedio , alojamiento intermedio ( me gusta menos )
# em+
-# almacenamiento interrmedio. cfuga
+# almacenamiento intermedio. cfuga
#: input.c:266
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
-msgstr ""
-"save_bash_input: el almacenamiento intermedio ya existe para el nuevo df %d"
+msgstr "save_bash_input: el almacenamiento intermedio ya existe para el nuevo df %d"
-#: jobs.c:466
+#: jobs.c:464
msgid "start_pipeline: pgrp pipe"
-msgstr ""
+msgstr "start_pipeline: tubería de pgrp"
-#: jobs.c:887
+#: jobs.c:879
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "el pid `forked' %d aparece en el trabajo en ejecución %d"
-#: jobs.c:1005
+#: jobs.c:997
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "borrando el trabajo detenido %d con grupo de proceso %ld"
-#: jobs.c:1110
+#: jobs.c:1102
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
-msgstr ""
+msgstr "add_process: el proceso %5ld (%s) en the_pipeline"
-#: jobs.c:1113
+#: jobs.c:1105
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
-msgstr ""
+msgstr "add_process: pid %5ld (%s) se marca como vivo aún"
# Cambiaría 'hay' por 'existe' em+
-#: jobs.c:1401
+#: jobs.c:1393
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: no existe tal pid"
-#: jobs.c:1416
-#, fuzzy, c-format
+#: jobs.c:1408
+#, c-format
msgid "Signal %d"
-msgstr "Señal Desconocida #%d"
+msgstr "Señal %d"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1422 jobs.c:1447
msgid "Done"
msgstr "Hecho"
-#: jobs.c:1435 siglist.c:122
+#: jobs.c:1427 siglist.c:122
msgid "Stopped"
msgstr "Detenido"
-#: jobs.c:1439
-#, fuzzy, c-format
+#: jobs.c:1431
+#, c-format
msgid "Stopped(%s)"
-msgstr "Detenido"
+msgstr "Detenido(%s)"
-#: jobs.c:1443
+#: jobs.c:1435
msgid "Running"
msgstr "Ejecutando"
-#: jobs.c:1457
+#: jobs.c:1449
#, c-format
msgid "Done(%d)"
msgstr "Hecho(%d)"
-#: jobs.c:1459
+#: jobs.c:1451
#, c-format
msgid "Exit %d"
msgstr "Salida %d"
-#: jobs.c:1462
+#: jobs.c:1454
msgid "Unknown status"
msgstr "Estado desconocido"
-#: jobs.c:1549
+#: jobs.c:1541
#, c-format
msgid "(core dumped) "
msgstr "(`core' generado) "
-#: jobs.c:1568
-#, fuzzy, c-format
+#: jobs.c:1560
+#, c-format
msgid " (wd: %s)"
-msgstr "(dir ahora: %s)\n"
+msgstr " (dir ahora: %s)"
-#: jobs.c:1771
-#, fuzzy, c-format
+#: jobs.c:1761
+#, c-format
msgid "child setpgid (%ld to %ld)"
-msgstr "error en la ejecución de setpgid (%d a %d) en el proceso hijo %d: %s\n"
+msgstr "setpgid hijo (%ld a %ld)"
-#: jobs.c:2099 nojobs.c:585
+#: jobs.c:2089 nojobs.c:576
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: pid %ld no es un proceso hijo de este shell"
-#: jobs.c:2326
+#: jobs.c:2316
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: No hay un registro del proceso %ld"
-#: jobs.c:2598
+#: jobs.c:2588
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: el trabajo %d está detenido"
-#: jobs.c:2820
+#: jobs.c:2810
#, c-format
msgid "%s: job has terminated"
msgstr "%s: el trabajo ha terminado"
-#: jobs.c:2829
+#: jobs.c:2819
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: el trabajo %d ya está en segundo plano"
-#: jobs.c:3492
-#, fuzzy, c-format
+#: jobs.c:3482
+#, c-format
msgid "%s: line %d: "
-msgstr "%s: aviso: "
+msgstr "%s: línea %d: "
-#: jobs.c:3506 nojobs.c:814
+#: jobs.c:3496 nojobs.c:805
#, c-format
msgid " (core dumped)"
msgstr " (`core' generado)"
-#: jobs.c:3518 jobs.c:3531
+#: jobs.c:3508 jobs.c:3521
#, c-format
msgid "(wd now: %s)\n"
msgstr "(dir ahora: %s)\n"
-#: jobs.c:3563
-#, fuzzy
+#: jobs.c:3553
msgid "initialize_job_control: getpgrp failed"
-msgstr "initialize_jobs: falló getpgrp: %s"
+msgstr "initialize_jobs_control: falló getpgrp"
-#: jobs.c:3623
-#, fuzzy
+#: jobs.c:3613
msgid "initialize_job_control: line discipline"
-msgstr "initialize_jobs: disciplina de línea: %s"
+msgstr "initialize_jobs_control: disciplina de línea"
-#: jobs.c:3633
-#, fuzzy
+#: jobs.c:3623
msgid "initialize_job_control: setpgid"
-msgstr "initialize_jobs: falló getpgrp: %s"
+msgstr "initialize_jobs_control: setpgid"
-#: jobs.c:3661
+#: jobs.c:3651
#, c-format
msgid "cannot set terminal process group (%d)"
-msgstr ""
+msgstr "no se puede establecer el grupo de proceso de terminal (%d)"
-#: jobs.c:3666
+#: jobs.c:3656
msgid "no job control in this shell"
msgstr "no hay control de trabajos en este shell"
"malloc: %s:%d: aserción arruinada\r\n"
#: lib/malloc/malloc.c:313
-#, fuzzy
msgid "unknown"
-msgstr "<desconocido>"
+msgstr "desconocido"
#: lib/malloc/malloc.c:797
msgid "malloc: block on free list clobbered"
#: lib/malloc/malloc.c:896
msgid "free: underflow detected; mh_nbytes out of range"
-msgstr ""
-"free: se detectó un desbordamiento por debajo; mh_nbytes fuera de rango"
+msgstr "free: se detectó un desbordamiento por debajo; mh_nbytes fuera de rango"
#: lib/malloc/malloc.c:902
msgid "free: start and end chunk sizes differ"
#: lib/malloc/malloc.c:1016
msgid "realloc: underflow detected; mh_nbytes out of range"
-msgstr ""
-"realloc: se detectó un desbordamiento por debajo; mh_nbytes fuera de rango"
+msgstr "realloc: se detectó un desbordamiento por debajo; mh_nbytes fuera de rango"
#: lib/malloc/malloc.c:1022
msgid "realloc: start and end chunk sizes differ"
#: make_cmd.c:567
#, c-format
msgid "make_here_document: bad instruction type %d"
-msgstr "make_here_document: tipo de instrucción erróneo %d"
+msgstr "make_here_document: tipo de instrucción %d erróneo"
#: make_cmd.c:651
#, c-format
msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
-msgstr ""
+msgstr "el documento-aquí en la línea %d está delimitado por fin-de-fichero (se esperaba `%s')"
#: make_cmd.c:746
#, c-format
msgid "make_redirection: redirection instruction `%d' out of range"
-msgstr ""
-"make_redirection: la instrucción de redirección `%d' está fuera de rango"
+msgstr "make_redirection: la instrucción de redirección `%d' está fuera de rango"
-#: parse.y:2986 parse.y:3218
+#: parse.y:2982 parse.y:3204
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "EOF inesperado mientras se buscaba un `%c' coincidente"
-#: parse.y:3722
+#: parse.y:3708
msgid "unexpected EOF while looking for `]]'"
msgstr "EOF inesperado mientras se buscaba `]]'"
-#: parse.y:3727
+#: parse.y:3713
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "error sintáctico en la expresión condicional: elemento inesperado `%s'"
-#: parse.y:3731
+#: parse.y:3717
msgid "syntax error in conditional expression"
msgstr "error sintáctico en la expresión condicional"
-#: parse.y:3809
+#: parse.y:3795
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "elemento inesperado `%s', se esperaba `)'"
-#: parse.y:3813
+#: parse.y:3799
msgid "expected `)'"
msgstr "se esperaba `)'"
-#: parse.y:3841
+#: parse.y:3827
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "argumento inesperado `%s' para el operador unario condicional"
-#: parse.y:3845
+#: parse.y:3831
msgid "unexpected argument to conditional unary operator"
msgstr "argumento inesperado para el operador unario condicional"
-#: parse.y:3885
+#: parse.y:3871
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "elemento inesperado `%s', se esperaba un operador binario condicional"
-#: parse.y:3889
+#: parse.y:3875
msgid "conditional binary operator expected"
msgstr "se esperaba un operador binario condicional"
-#: parse.y:3906
+#: parse.y:3892
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "argumento inesperado `%s' para el operador binario condicional"
-#: parse.y:3910
+#: parse.y:3896
msgid "unexpected argument to conditional binary operator"
msgstr "argumento inesperado para el operador binario condicional"
-#: parse.y:3921
+#: parse.y:3907
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "elemento inesperado `%c' en la orden condicional"
-#: parse.y:3924
+#: parse.y:3910
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "elemento inesperado `%s' en la orden condicional"
-#: parse.y:3928
+#: parse.y:3914
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "elemento inesperado %d en la orden condicional"
# provocado por el símbolo. Simplemente estar cerca del mismo. cfuga
# Por consistencia con el siguiente, yo borraría la coma. sv
# Cierto. Coma borrada. cfuga
-#: parse.y:5195
+#: parse.y:5181
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "error sintáctico cerca del elemento inesperado `%s'"
-#: parse.y:5213
+#: parse.y:5199
#, c-format
msgid "syntax error near `%s'"
msgstr "error sintáctico cerca de `%s'"
# no se esperaba el final de la línea em+
# Ojo, que end of file es fin de fichero, no de línea. sv
# Se hicieron ambos cambios. cfuga
-#: parse.y:5223
+#: parse.y:5209
msgid "syntax error: unexpected end of file"
msgstr "error sintáctico: no se esperaba el final del fichero"
-#: parse.y:5223
+#: parse.y:5209
msgid "syntax error"
msgstr "error sintáctico"
-#: parse.y:5285
+#: parse.y:5271
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Use \"%s\" para dejar el shell.\n"
-#: parse.y:5447
+#: parse.y:5433
msgid "unexpected EOF while looking for matching `)'"
msgstr "EOF inesperado mientras se buscaba un `)' coincidente"
-#: pcomplete.c:1018
+#: pcomplete.c:1016
#, c-format
msgid "completion: function `%s' not found"
msgstr "completion: no se encuentra la función `%s'"
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: COMPSPEC nulo"
-#: print_cmd.c:285
+#: print_cmd.c:287
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: conector erróneo `%d'"
-#: print_cmd.c:1348
+#: print_cmd.c:1347
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: `%c': carácter de formato inválido"
-#: redir.c:105
+#: redir.c:104
msgid "file descriptor out of range"
msgstr "descriptor de fichero fuera de rango"
-#: redir.c:148
+#: redir.c:146
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: redireccionamiento ambiguo"
-#: redir.c:152
+#: redir.c:150
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: no se puede sobreescribir un fichero existente"
-#: redir.c:157
+#: redir.c:155
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: restringido: no se puede redirigir la salida"
-#: redir.c:162
-#, fuzzy, c-format
+#: redir.c:160
+#, c-format
msgid "cannot create temp file for here-document: %s"
-msgstr "no se puede crear un fichero temporal para el documento here: %s"
+msgstr "no se puede crear un fichero temporal para el documento-aquí: %s"
-#: redir.c:517
+#: redir.c:515
msgid "/dev/(tcp|udp)/host/port not supported without networking"
-msgstr "/dev/(tcp|udp)/anfitrion/puerto no tiene soporte sin red"
+msgstr "no se admite /dev/(tcp|udp)/anfitrion/puerto sin red"
-#: redir.c:1023
+#: redir.c:992
msgid "redirection error: cannot duplicate fd"
msgstr "error de redirección: no se puede duplicar el df"
# Yo pondría "no tengo ningún nombre". sv
# Revisé el código fuente de bash. Es un mensaje de error cuando no se
# encuentra el nombre del usuario que ejecuta el shell. cfuga
-#: shell.c:1638
+#: shell.c:1637
msgid "I have no name!"
msgstr "¡No tengo nombre de usuario!"
-#: shell.c:1778
-#, fuzzy, c-format
+#: shell.c:1777
+#, c-format
msgid "GNU bash, version %s-(%s)\n"
-msgstr "GNU %s, versión %s\n"
+msgstr "GNU bash, versión %s-(%s)\n"
# En la lista spanglish se discutió mucho sobre script,
# no sé en que quedó, ni puedo decirte ahora cómo lo hemos
# traducido en otras ocasiones. Sehll script lo henmos traducido
# como guión del shell , eso es seguro ... así que puede estar
# bien así , ya lo verán otros em+
-#: shell.c:1779
+#: shell.c:1778
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
"Modo de empleo:\t%s [opción GNU larga] [opción] ...\n"
"\t%s [opción GNU larga] [opción] guión-del-shell\n"
-#: shell.c:1781
+#: shell.c:1780
msgid "GNU long options:\n"
msgstr "Opciones GNU largas:\n"
-#: shell.c:1785
+#: shell.c:1784
msgid "Shell options:\n"
msgstr "Opciones del shell:\n"
-#: shell.c:1786
+#: shell.c:1785
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD o -c orden o -O opcion_shopt\t\t(sólo invocación)\n"
-#: shell.c:1801
+#: shell.c:1800
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s o -o opción\n"
-#: shell.c:1807
+#: shell.c:1806
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
-msgstr ""
-"Teclee `%s -c \"help set\"' para más información sobre las opciones del "
-"shell.\n"
+msgstr "Teclee `%s -c \"help set\"' para más información sobre las opciones del shell.\n"
-#: shell.c:1808
+#: shell.c:1807
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
-msgstr ""
-"Teclee `%s -c help' para más información sobre las órdenes internas del "
-"shell.\n"
+msgstr "Teclee `%s -c help' para más información sobre las órdenes internas del shell.\n"
-#: shell.c:1809
+#: shell.c:1808
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Use la orden `bashbug' para reportar bichos.\n"
-#: sig.c:583
+#: sig.c:576
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: operación inválida"
msgstr "Temporizador"
#: siglist.c:110
-#, fuzzy
msgid "Terminated"
-msgstr "y se muestra un mensaje de diagnóstico."
+msgstr "Terminado"
#: siglist.c:114
msgid "Urgent IO condition"
#: siglist.c:190
msgid "system crash imminent"
-msgstr "inminente caída del sistema"
+msgstr "caída del sistema inminente"
#: siglist.c:194
msgid "migrate process to another CPU"
#: siglist.c:214
msgid "Information request"
-msgstr ""
+msgstr "Solicitud de información"
#: siglist.c:222
msgid "Unknown Signal #"
msgid "Unknown Signal #%d"
msgstr "Señal Desconocida #%d"
-#: subst.c:1181 subst.c:1302
+#: subst.c:1177 subst.c:1298
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "sustitución errónea: no hay un `%s' que cierre en %s"
-#: subst.c:2458
+#: subst.c:2450
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: no se puede asignar una lista a un miembro de la matriz"
-#: subst.c:4456 subst.c:4472
+#: subst.c:4448 subst.c:4464
msgid "cannot make pipe for process substitution"
msgstr "no se puede crear la tubería para la sustitución del proceso"
-#: subst.c:4504
+#: subst.c:4496
msgid "cannot make child for process substitution"
msgstr "no se puede crear un proceso hijo para la sustitución del proceso"
-#: subst.c:4549
+#: subst.c:4541
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "no se puede abrir la tubería llamada %s para lectura"
-#: subst.c:4551
+#: subst.c:4543
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "no se puede abrir la tubería llamada %s para escritura"
-#: subst.c:4569
+#: subst.c:4561
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "no se puede duplicar la tubería llamada %s como df %d"
-#: subst.c:4765
+#: subst.c:4757
msgid "cannot make pipe for command substitution"
msgstr "no se pueden crear la tubería para la sustitución de la orden"
-#: subst.c:4799
+#: subst.c:4791
msgid "cannot make child for command substitution"
msgstr "no se puede crear un proceso hijo para la sustitución de la orden"
-#: subst.c:4816
+#: subst.c:4808
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute: no se puede duplicar la tubería como df 1"
-#: subst.c:5318
+#: subst.c:5310
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: parámetro nulo o no establecido"
-#: subst.c:5608
+#: subst.c:5600
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: expresión de subcadena < 0"
-#: subst.c:6660
+#: subst.c:6646
#, c-format
msgid "%s: bad substitution"
msgstr "%s: sustitución errónea"
-#: subst.c:6740
+#: subst.c:6722
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: no se puede asignar de esta forma"
-#: subst.c:7499
-#, fuzzy, c-format
+#: subst.c:7441
+#, c-format
msgid "bad substitution: no closing \"`\" in %s"
-msgstr "sustitución errónea: no hay un `%s' que cierre en %s"
+msgstr "sustitución errónea: no hay una \"`\" que cierre en %s"
-#: subst.c:8375
+#: subst.c:8314
#, c-format
msgid "no match: %s"
msgstr "no hay coincidencia: %s"
# Tiene razón Enrique: singular. cfuga
#: test.c:806
msgid "missing `]'"
-msgstr "falta `]'"
+msgstr "falta un `]'"
-#: trap.c:201
+#: trap.c:200
msgid "invalid signal number"
msgstr "número de señal inválido"
-#: trap.c:324
+#: trap.c:323
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: valor erróneo en trap_list[%d]: %p"
-#: trap.c:328
+#: trap.c:327
#, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-msgstr ""
-"run_pending_traps: el manejador de señal es SIG_DFL, reenviando %d (%s) a mí "
-"mismo"
+msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgstr "run_pending_traps: el manejador de señal es SIG_DFL, reenviando %d (%s) a mí mismo"
-#: trap.c:372
+#: trap.c:371
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: señal errónea %d"
-#: variables.c:358
+#: variables.c:354
#, c-format
msgid "error importing function definition for `%s'"
msgstr "error al importar la definición de la función para `%s'"
-#: variables.c:736
+#: variables.c:732
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "el nivel de shell (%d) es demasiado alto, se reestablece a 1"
-#: variables.c:1898
+#: variables.c:1891
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variable: no hay contexto de función en el ámbito actual"
-#: variables.c:3127
+#: variables.c:3120
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: no hay contexto de función en el ámbito actual"
-#: variables.c:3344 variables.c:3353
+#: variables.c:3337 variables.c:3346
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "carácter inválido %d en exportstr para %s"
-#: variables.c:3359
+#: variables.c:3352
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "no hay `=' en exportstr para %s"
-#: variables.c:3794
+#: variables.c:3787
msgid "pop_var_context: head of shell_variables not a function context"
-msgstr ""
-"pop_var_context: la cabeza de shell_variables no es un contexto de función"
+msgstr "pop_var_context: la cabeza de shell_variables no es un contexto de función"
-#: variables.c:3807
+#: variables.c:3800
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: no es un contexto global_variables"
-#: variables.c:3881
+#: variables.c:3874
msgid "pop_scope: head of shell_variables not a temporary environment scope"
-msgstr ""
-"pop_scope: la cabeza de shell_variables no es un ámbito de ambiente temporal"
+msgstr "pop_scope: la cabeza de shell_variables no es un ámbito de ambiente temporal"
#: version.c:46
-#, fuzzy
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
-msgstr "Copyright (C) 2006 Free Software Foundation, Inc.\n"
+msgid "Copyright (C) 2008 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2008 Free Software Foundation, Inc."
#: version.c:47
-msgid ""
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>\n"
-msgstr ""
+msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+msgstr "Licencia GPLv3+: GPL de GNU versión 3 o posterior <http://gnu.org/licenses/gpl.html>\n"
#: version.c:86
-#, fuzzy, c-format
+#, c-format
msgid "GNU bash, version %s (%s)\n"
-msgstr "GNU %s, versión %s\n"
+msgstr "GNU bash, versión %s (%s)\n"
#: version.c:91
#, c-format
msgid "This is free software; you are free to change and redistribute it.\n"
-msgstr ""
+msgstr "Esto es software libre; usted es libre de cambiarlo y redistribuirlo.\n"
#: version.c:92
#, c-format
msgid "There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
+msgstr "NO hay GARANTÍA, a la extensión permitida por la ley.\n"
#: xmalloc.c:92
#, c-format
#: xmalloc.c:174
#, c-format
msgid "xrealloc: %s:%d: cannot reallocate %lu bytes (%lu bytes allocated)"
-msgstr ""
-"xrealloc: %s:%d: no se pueden reasignar %lu bytes (%lu bytes asignados)"
+msgstr "xrealloc: %s:%d: no se pueden reasignar %lu bytes (%lu bytes asignados)"
#: xmalloc.c:176
#, c-format
msgstr "alias [-p] [nombre[=valor] ... ]"
#: builtins.c:47
-#, fuzzy
msgid "unalias [-a] name [name ...]"
-msgstr "unalias [-a] [nombre ...]"
+msgstr "unalias [-a] nombre [nombre ...]"
#: builtins.c:51
-#, fuzzy
-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 mapa_teclado] [-f fichero] [-q nombre] [-r "
-"secuencia_teclas] [keyseq:función-readline]"
+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 comb_teclas] [-f fichero] [-q nombre] [-u nombre] [-r secteclas] [-x secteclas:orden-shell] [secteclas:función-readline u orden-readline]"
#: builtins.c:54
msgid "break [n]"
#: builtins.c:58
msgid "builtin [shell-builtin [arg ...]]"
-msgstr "builtin [shell-interno [arg ...]]"
+msgstr "builtin [orden-interna-shell [arg ...]]"
#: builtins.c:61
-#, fuzzy
msgid "caller [expr]"
-msgstr "test [expresión]"
+msgstr "caller [expresión]"
#: builtins.c:64
-#, fuzzy
msgid "cd [-L|-P] [dir]"
-msgstr "cd [-PL] [directorio]"
+msgstr "cd [-L|-P] [directorio]"
#: builtins.c:66
-#, fuzzy
msgid "pwd [-LP]"
-msgstr "pwd [-PL]"
+msgstr "pwd [-LP]"
#: builtins.c:68
msgid ":"
#: builtins.c:70
msgid "true"
-msgstr ""
+msgstr "true"
#: builtins.c:72
msgid "false"
-msgstr ""
+msgstr "false"
#: builtins.c:74
msgid "command [-pVv] command [arg ...]"
msgstr "command [-pVv] orden [arg ...]"
#: builtins.c:76
-#, fuzzy
msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
-msgstr "declare [-afFrxi] [-p] nombre[=valor] ..."
+msgstr "declare [-aAfFilrtux] [-p] nombre[=valor] ..."
#: builtins.c:78
-#, fuzzy
msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
-msgstr "typeset [-afFrxi] [-p] nombre[=valor] ..."
+msgstr "typeset [-aAfFilrtux] [-p] nombre[=valor] ..."
#: builtins.c:80
-#, fuzzy
msgid "local [option] name[=value] ..."
-msgstr "local nombre[=valor] ..."
+msgstr "local [opción] nombre[=valor] ..."
#: builtins.c:83
msgid "echo [-neE] [arg ...]"
msgstr "echo [-n] [arg ...]"
#: builtins.c:90
-#, fuzzy
msgid "enable [-a] [-dnps] [-f filename] [name ...]"
-msgstr "enable [-pnds] [-a] [-f fichero] [nombre ...]"
+msgstr "enable [-a] [-dnps] [-f fichero] [nombre ...]"
#: builtins.c:92
msgid "eval [arg ...]"
msgstr "getopts cadena_opciones nombre [arg]"
#: builtins.c:96
-#, fuzzy
msgid "exec [-cl] [-a name] [command [arguments ...]] [redirection ...]"
-msgstr "exec [-cl] [-a nombre] fichero [redirección ...]"
+msgstr "exec [-cl] [-a nombre] [orden [argumentos ...]] [redirección ...]"
#: builtins.c:98
msgid "exit [n]"
msgstr "exit [n]"
#: builtins.c:100
-#, fuzzy
msgid "logout [n]"
-msgstr "logout"
+msgstr "logout [n]"
#: builtins.c:103
-#, fuzzy
msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]"
-msgstr "fc [-e nombre_e] [-nlr] [primero] [último] o fc -s [pat=rep] [orden]"
+msgstr "fc [-e nombre_e] [-lnr] [primero] [último] ó fc -s [pat=rep] [orden]"
#: builtins.c:107
msgid "fg [job_spec]"
msgstr "fg [id_trabajo]"
#: builtins.c:111
-#, fuzzy
msgid "bg [job_spec ...]"
-msgstr "bg [id_trabajo]"
+msgstr "bg [id_trabajo ...]"
#: builtins.c:114
-#, fuzzy
msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
-msgstr "hash [-r] [-p ruta_de_acceso] [nombre ...]"
+msgstr "hash [-lr] [-p ruta] [-dt] [nombre ...]"
#: builtins.c:117
-#, fuzzy
msgid "help [-ds] [pattern ...]"
-msgstr "help [expresión_regular ...]"
+msgstr "help [-ds] [patrón ...]"
#: builtins.c:121
-#, fuzzy
-msgid ""
-"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
-"[arg...]"
-msgstr "history [-c] [n] ó history -awrn [fichero] o history -ps arg [arg...]"
+msgid "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]"
+msgstr "history [-c] [-d despl] [n] ó history -anrw [fichero] ó history -ps arg [arg...]"
# jobspec no es sólo el pid del proceso, puede ser tambien
# el nombre de la orden que se creo con el proceso em+
# lo mismo em+
#: builtins.c:129
-#, fuzzy
msgid "disown [-h] [-ar] [jobspec ...]"
-msgstr "disown [idtrabajo ...]"
+msgstr "disown [-h] [-ar] [idtrabajo ...]"
#: builtins.c:132
-#, fuzzy
-msgid ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
-"[sigspec]"
-msgstr ""
-"kill [-s id_señal | -n num_señal | -id_señal] [pid | trabajo]... ó kill -l "
-"[id_señal]"
+msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
+msgstr "kill [-s id_señal | -n num_señal | -id_señal] pid | idtrabajo ... ó kill -l [id_señal]"
#: builtins.c:134
msgid "let arg [arg ...]"
msgstr "let arg [arg ...]"
#: builtins.c:136
-msgid ""
-"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-p prompt] [-t "
-"timeout] [-u fd] [name ...]"
-msgstr ""
+msgid "read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-p prompt] [-t timeout] [-u fd] [name ...]"
+msgstr "read [-ers] [-a matriz] [-d delim] [-i texto] [-n ncars] [-p prompt] [-t tiempo] [-u df] [nombre ...]"
#: builtins.c:138
msgid "return [n]"
msgstr "return [n]"
#: builtins.c:140
-#, fuzzy
msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
-msgstr "set [--abefhkmnptuvxBCHP] [-o opción] [arg ...]"
+msgstr "set [--abefhkmnptuvxBCHP] [-o nombre-opción] [arg ...]"
#: builtins.c:142
msgid "unset [-f] [-v] [name ...]"
msgstr "unset [-f] [-v] [nombre ...]"
#: builtins.c:144
-#, fuzzy
msgid "export [-fn] [name[=value] ...] or export -p"
-msgstr "export [-nf] [nombre ...] ó export -p"
+msgstr "export [-fn] [nombre[=valor] ...] ó export -p"
#: builtins.c:146
-#, fuzzy
msgid "readonly [-af] [name[=value] ...] or readonly -p"
-msgstr "readonly [-anf] [nombre ...] ó readonly -p"
+msgstr "readonly [-af] [nombre[=valor] ...] ó readonly -p"
#: builtins.c:148
-#, fuzzy
msgid "shift [n]"
-msgstr "exit [n]"
+msgstr "shift [n]"
#: builtins.c:150
-#, fuzzy
msgid "source filename [arguments]"
-msgstr "source fichero"
+msgstr "source fichero [argumentos]"
#: builtins.c:152
-#, fuzzy
msgid ". filename [arguments]"
-msgstr "se requiere un argumento de nombre de fichero"
+msgstr ". fichero [argumentos]"
#: builtins.c:155
msgid "suspend [-f]"
msgstr "times"
#: builtins.c:164
-#, fuzzy
msgid "trap [-lp] [[arg] signal_spec ...]"
-msgstr "trap [arg] [id_señal] ó trap -l"
+msgstr "trap [-lp] [[arg] id_señal ...]"
#: builtins.c:166
-#, fuzzy
msgid "type [-afptP] name [name ...]"
-msgstr "type [-apt] nombre [nombre ...]"
+msgstr "type [-afptP] nombre [nombre ...]"
#: builtins.c:169
-#, fuzzy
msgid "ulimit [-SHacdefilmnpqrstuvx] [limit]"
-msgstr "ulimit [-SHacdfmstpnuv] [límite]"
+msgstr "ulimit [-SHacdefilmnpqrstuvx] [límite]"
#: builtins.c:172
-#, fuzzy
msgid "umask [-p] [-S] [mode]"
-msgstr "umask [-S] [modo]"
+msgstr "umask [-p] [-S] [modo]"
#: builtins.c:175
-#, fuzzy
msgid "wait [id]"
-msgstr "wait [n]"
+msgstr "wait [id]"
#: builtins.c:179
-#, fuzzy
msgid "wait [pid]"
-msgstr "wait [n]"
+msgstr "wait [pid]"
#: builtins.c:182
-#, fuzzy
msgid "for NAME [in WORDS ... ] ; do COMMANDS; done"
-msgstr "for NOMBRE [in PALABRAS ... ;] do ÓRDENES; done"
+msgstr "for NOMBRE [in PALABRAS ... ] ; do ÓRDENES; done"
#: builtins.c:184
-#, fuzzy
msgid "for (( exp1; exp2; exp3 )); do COMMANDS; done"
-msgstr "for NOMBRE [in PALABRAS ... ;] do ÓRDENES; done"
+msgstr "for (( exp1; exp2; exp3 )); do ÓRDENES; done"
#: builtins.c:186
msgid "select NAME [in WORDS ... ;] do COMMANDS; done"
#: builtins.c:188
msgid "time [-p] pipeline"
-msgstr ""
+msgstr "time [-p] tubería"
#: builtins.c:190
msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
-msgstr "case PALABRA in [PLANTILLA [| PLANTILLA]...) ÓRDENES ;;]... esac"
+msgstr "case PALABRA in [PATRÓN [| PATRÓN]...) ÓRDENES ;;]... esac"
#: builtins.c:192
-msgid ""
-"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
-"COMMANDS; ] fi"
-msgstr ""
-"if ÓRDENES; then ÓRDENES; [ elif ÓRDENES; then ÓRDENES; ]...[ else "
-"ÓRDENES; ] fi"
+msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
+msgstr "if ÓRDENES; then ÓRDENES; [ elif ÓRDENES; then ÓRDENES; ]...[ else ÓRDENES; ] fi"
#: builtins.c:194
msgid "while COMMANDS; do COMMANDS; done"
msgstr "until ÓRDENES; do ÓRDENES; done"
#: builtins.c:198
-msgid "coproc [NAME] command [redirections]"
-msgstr ""
-
-#: builtins.c:200
-#, fuzzy
msgid "function name { COMMANDS ; } or name () { COMMANDS ; }"
-msgstr "function NOMBRE { ÓRDENES ; } o NOMBRE () { ÓRDENES ; }"
+msgstr "function nombre { ÓRDENES ; } ó nombre () { ÓRDENES ; }"
-#: builtins.c:202
-#, fuzzy
+#: builtins.c:200
msgid "{ COMMANDS ; }"
-msgstr "{ ÓRDENES }"
+msgstr "{ ÓRDENES ; }"
-#: builtins.c:204
-#, fuzzy
+#: builtins.c:202
msgid "job_spec [&]"
-msgstr "fg [id_trabajo]"
+msgstr "id_trabajo [&]"
-#: builtins.c:206
-#, fuzzy
+#: builtins.c:204
msgid "(( expression ))"
-msgstr "se esperaba una expresión"
+msgstr "(( expresión ))"
-#: builtins.c:208
-#, fuzzy
+#: builtins.c:206
msgid "[[ expression ]]"
-msgstr "se esperaba una expresión"
+msgstr "[[ expresión ]]"
-#: builtins.c:210
-#, fuzzy
+#: builtins.c:208
msgid "variables - Names and meanings of some shell variables"
-msgstr ""
-"Se permiten las variables de shell como operandos. Se reemplaza el nombre"
+msgstr "variables - Nombres y significados de algunas variables de shell"
-#: builtins.c:213
-#, fuzzy
+#: builtins.c:211
msgid "pushd [-n] [+N | -N | dir]"
-msgstr "pushd [dir | +N | -N] [-n]"
+msgstr "pushd [-n] [+N | -N | dir"
-#: builtins.c:217
-#, fuzzy
+#: builtins.c:215
msgid "popd [-n] [+N | -N]"
-msgstr "popd [+N | -N] [-n]"
+msgstr "popd [-n] [+N | -N]"
-#: builtins.c:221
+#: builtins.c:219
msgid "dirs [-clpv] [+N] [-N]"
msgstr "dirs [-clpv] [+N] [-N]"
-#: builtins.c:224
-#, fuzzy
+#: builtins.c:222
msgid "shopt [-pqsu] [-o] [optname ...]"
-msgstr "shopt [-pqsu] [-o opción-larga] nombre_opción [nombre_opción...]"
+msgstr "shopt [-pqsu] [-o] [nombre_opción...]"
-#: builtins.c:226
+#: builtins.c:224
msgid "printf [-v var] format [arguments]"
-msgstr ""
+msgstr "printf [-v var] formato [argumentos]"
-#: builtins.c:229
-msgid ""
-"complete [-abcdefgjksuv] [-pr] [-o option] [-A action] [-G globpat] [-W "
-"wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] "
-"[name ...]"
-msgstr ""
+#: builtins.c:227
+msgid "complete [-abcdefgjksuv] [-pr] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]"
+msgstr "complete [-abcdefgjksuv] [-pr] [-o opción] [-A acción] [-G patglob] [-W listapalabras] [-F función] [-C orden] [-X patfiltro] [-P prefijo] [-S sufijo] [nombre ...]"
-#: builtins.c:233
-msgid ""
-"compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] "
-"[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
-msgstr ""
+#: builtins.c:231
+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 opción] [-A acción] [-G patglob] [-W listapalabras] [-F función] [-C orden] [-X patfiltro] [-P prefijo] [-S sufijo] [palabra]"
-#: builtins.c:237
-#, fuzzy
+#: builtins.c:235
msgid "compopt [-o|+o option] [name ...]"
-msgstr "type [-apt] nombre [nombre ...]"
-
-#: builtins.c:240
-msgid ""
-"mapfile [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
-"quantum] [array]"
-msgstr ""
+msgstr "compopt [-o|+o opción] [nombre ...]"
-#: builtins.c:242
-msgid ""
-"readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
-"quantum] [array]"
-msgstr ""
+#: builtins.c:238
+msgid "mapfile [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "mapfile [-n cuenta] [-O origen] [-s cuenta] [-t] [-u df] [-C llamada] [-c quantum] [matriz]"
# Más en español sería: se define un alias por cada NOMBRE cuyo VALOR se da. sv
# Lo mismo de antes: el alias es expandido -> el alias se expande. sv
# no alias -> ningún alias. sv
# De acuerdo. cfuga
-#: builtins.c:254
-#, fuzzy
+#: builtins.c:250
msgid ""
"Define or display aliases.\n"
" \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"
+" alias returns true unless a NAME is supplied for which no alias has been\n"
" defined."
msgstr ""
-"`alias' sin argumentos o con la opción -p muestra la lista de\n"
-" aliases en la forma alias NAME=VALUE en la salida estándard.\n"
-" De otra manera, se define un alias por cada NAME cuyo VALUE se\n"
-" proporcione.\n"
-" Un espacio final en VALUE causa que se revise la siguiente palabra\n"
-" para sustitución de alias cuando se expande el alias. Alias devuelve\n"
-" verdadero a menos que se de un NAME para el cual no se haya definido\n"
-" ningún alias."
-
-#: builtins.c:276
-#, fuzzy
+"Define o muestra aliases.\n"
+" \n"
+" `alias' sin argumentos muestra la lista de aliases en la forma\n"
+" reutilizable `alias NOMBRE=VALOR' en la salida estándar.\n"
+" \n"
+" De otra manera, se define un alias por cada NOMBRE cuyo VALOR se\n"
+" proporcione. Un espacio final en VALOR causa que se revise\n"
+" la siguiente palabra para sustitución de alias cuando se expande\n"
+" el alias.\n"
+" \n"
+" Opciones:\n"
+" -p\tMuestra todos los aliases definidos en un formato reusable\n"
+" \n"
+" Estado de salida:\n"
+" alias devuelve verdadero a menos que se de un NOMBRE para el cual\n"
+" no se haya definido ningún alias."
+
+#: builtins.c:272
msgid ""
"Remove each NAME from the list of defined aliases.\n"
" \n"
" \n"
" Return success unless a NAME is not an existing alias."
msgstr ""
-"Borra NAMEs de la lista de alias definidos. Si se especifica la opción -a ,\n"
-" entonces elimina todas las definiciones de alias."
+"Borra cada NOMBRE de la lista de alias definidos.\n"
+" \n"
+" Opciones:\n"
+" -a\telimina todas las definiciones de alias.\n"
+" Devuelve verdadero a menos que un NOMBRE no sea un alias existente."
# lee 'la'... em+
# Corregido. Además, es plural: lee las asignaciones... cfuga
-#: builtins.c:289
-#, fuzzy
+#: builtins.c:285
msgid ""
"Set Readline key bindings and variables.\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"
+" 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"
+" -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"
+" -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"
" Exit Status:\n"
" bind returns 0 unless an unrecognized option is given or an error occurs."
msgstr ""
-"Asigna una secuencia de teclas a una función Readline o a una macro, o\n"
-" establece una variable Readline. La sintaxis de los argumentos que no "
-"son\n"
-" opciones es equivalente a la que se encuentra en ~/.inputrc, pero se "
-"debe\n"
-" pasar como un solo argumento:\n"
-" bind '\"\\C-x\\C-r\": re-read-init-file'.\n"
-" bind acepta las siguientes opciones:\n"
-" -m mapateclas Usa el `mapateclas' como el mapa de teclas por la\n"
-" duración de esta orden. Los nombres aceptables de\n"
-" mapas de teclas son emacs, emacs-standard, emacs-"
-"meta,\n"
-" emacs-ctlx, vi, vi-move, vi-command y vi-insert.\n"
+"Establece secuencias de teclas Readline y variables.\n"
+"\n"
+" Asigna una secuencia de teclas a una función Readline o a una macro, o\n"
+" establece una variable Readline. La sintaxis de los argumentos que\n"
+" no son opciones es equivalente a la que se encuentra en ~/.inputrc,\n"
+" pero se debe pasar como un solo argumento:\n"
+" p.e., bind '\"\\C-x\\C-r\": re-read-init-file'.\n"
+" \n"
+" Opciones:\n"
+" \n"
+" -m comb_teclas Usa COMB_TECLAS como la combinación de teclas por la\n"
+" duración de esta orden. Los nombres de combinaciones\n"
+" de teclas aceptables son emacs, emacs-standard,\n"
+" emacs-meta, emacs-ctlx, vi, vi-move, vi-command y\n"
+" vi-insert.\n"
" -l Enlista los nombres de las funciones.\n"
-" -P Enlista los nombres de las funciones y "
-"asignaciones.\n"
-" -p Enlista las funciones y asignaciones en una forma "
-"que\n"
+" -P Enlista los nombres de las funciones y asignaciones.\n"
+" -p Enlista las funciones y asignaciones en una forma que\n"
" se puede reusar como entrada.\n"
-" -r seqtecl Borra la asignación para la SEQTECL.\n"
-" -x seqtecl:orden-shell\tCausa que se ejecute la ORDEN-SHELL cuando\n"
-" \t\t\t\tse introduce la SEQTECL.\n"
-" -f nombrefichero Lee las asignaciones de teclas del NOMBREFICHERO.\n"
-" -q nombre-funcion Pregunta qué teclas invocan la función nombrada.\n"
-" -u nombre-función Borra la asignación de todas las teclas que están\n"
-" ligadas a la función nombrada.\n"
+" -S Enlista las secuencias de teclas que invocan macros\n"
+" y sus valores.\n"
+" -s Enlista las secuencias de teclas que invocan macros\n"
+" y sus valores en una forma que se pueden reusar como\n"
+" entrada.\n"
" -V Enlista los nombres de variables y valores.\n"
" -v Enlista los nombres de variables y valores en una\n"
" forma que se pueden reusar como entrada.\n"
-" -S Enlista las secuencias de teclas que invocan "
-"macros\n"
-" y sus valores.\n"
-" -s Enlista las secuencias de teclas que invocan "
-"macros\n"
-" y sus valores en una forma que se pueden reusar "
-"como\n"
-" entrada."
-
-#: builtins.c:326
-#, fuzzy
+" -q nombre-funcion Pregunta qué teclas invocan la función nombrada.\n"
+" -u nombre-función Borra todas las teclas que están ligadas a\n"
+" la función nombrada.\n"
+" -r secteclas Borra la asignación para la SECTECLAS.\n"
+" -f fichero Lee las asignaciones de teclas del FICHERO.\n"
+" -x secteclas:orden-shell\tCausa que se ejecute la ORDEN-SHELL cuando\n"
+" \t\t\t\tse introduce la SECTECLAS.\n"
+" \n"
+" Estado de salida:\n"
+" bind devuelve 0 a menos que se presente una opción desconocida o suceda\n"
+" un error."
+
+#: builtins.c:322
msgid ""
"Exit for, while, or until loops.\n"
" \n"
" Exit Status:\n"
" The exit status is 0 unless N is not greater than or equal to 1."
msgstr ""
-"Retoma la siguiente iteración del ciclo FOR, WHILE o UNTIL incluido.\n"
-" Si se especifica N, retoma en el N-ésimo ciclo incluido."
+"Termina ciclos for, while o until.\n"
+" \n"
+" Termina un ciclo FOR, WHILE o UNTIL. Si se especifica N, termina\n"
+" N ciclos anidados.\n"
+" \n"
+" Estado de salida:\n"
+" El estado de salida es 0 a menos que N no sea mayor o igual a 1."
-#: builtins.c:338
-#, fuzzy
+#: builtins.c:334
msgid ""
"Resume for, while, or until loops.\n"
" \n"
" Exit Status:\n"
" The exit status is 0 unless N is not greater than or equal to 1."
msgstr ""
-"Retoma la siguiente iteración del ciclo FOR, WHILE o UNTIL incluido.\n"
-" Si se especifica N, retoma en el N-ésimo ciclo incluido."
+"Continúa iteraciones for, while o until\n"
+" \n"
+" Continúa la siguiente iteración del ciclo FOR, WHILE o UNTIL\n"
+" circundante. Si se especifica N, retoma en el N-ésimo ciclo circundante.\n"
+" \n"
+" Estado de Salida:\n"
+" El estado de salida es 0 a menos que N no sea mayor o igual a 1."
-#: builtins.c:350
+#: builtins.c:346
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"
+" 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 ""
+"Ejecuta órdenes internas del shell\n"
+" \n"
+" Ejecuta la ORDEN-INTERNA-SHELL con los argumentos ARGs sin realizar\n"
+" la búsqueda interna de órdenes. Esto es útil cuando desea reimplementar\n"
+" una orden interna del shell como una función de shell, pero necesita\n"
+" ejecutar la orden interna dentro de la función.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve el estado de salida de la ORDEN-INTERNA-SHELL, o falso si la\n"
+" ORDEN-INTERNA-SHELL no es una orden interna de shell."
-#: builtins.c:365
-#, fuzzy
+#: builtins.c:361
msgid ""
"Return the context of the current subroutine call.\n"
" \n"
msgstr ""
"Devuelve el contexto de la llamada a subrutina actual.\n"
" \n"
-" Sin EXPR, devuelve \"$linea $nombrefichero\". Con EXPR,\n"
-" devuelve \"$linea $subrutina $nombrefichero\"; esta información\n"
-" adicional se puede usar para proveer un volcado de pila.\n"
-"\n"
+" Sin EXPR, devuelve \"$linea $nombrefichero\". Con EXPR, devuelve\n"
+" \"$linea $subrutina $nombrefichero\"; esta información adicional\n"
+" se puede usar para proveer un volcado de pila.\n"
+" \n"
" El valor de EXPR indica cuántos marcos de llamada se debe retroceder\n"
-" antes del actual; el marco inicial es el marco 0."
+" antes del actual; el marco inicial es el marco 0.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve 0 a menos que el shell no esté ejecutando una función de shell\n"
+" o EXPR sea inválida."
# Slash lo venimos traduciendo por barra inclinada , y backslash
# por barra invertida em++
# Corregido en toda la traducción. cfuga
-#: builtins.c:383
-#, fuzzy
+#: builtins.c:379
msgid ""
"Change the shell working directory.\n"
" \n"
-" Change the current directory to DIR. The default DIR is the value of "
-"the\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"
+" 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"
+" 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"
" Exit Status:\n"
" Returns 0 if the directory is changed; non-zero otherwise."
msgstr ""
-"Cambia el directorio actual a DIR. La variable $HOME es el directorio\n"
-" por defecto. La variable CDPATH define la ruta de búsqueda por el\n"
-" directorio que contiene DIR. Los nombres alternativos de directorio\n"
-" en CDPATH se separan con dos puntos (:). Un nombre de directorio nulo\n"
-" es igual que el directorio actual, p.e. `.' Si DIR comienza con una\n"
-" diagonal (/), entonces no se usa CDPATH. Si no se encuentra el\n"
-" directorio, y la opción del shell `cdable_vars' está activa, entonces\n"
-" trata la palabra como un nombre de variable. Si la variable tiene un\n"
-" valor, entonces cd cambia al valor de esa variable. La opción -P "
-"indica\n"
-" usar la estructura física de directorios en lugar de seguir los enlaces\n"
-" simbólicos; la opción -L fuerza que se sigan los enlaces simbólicos."
-
-#: builtins.c:411
+"Cambia el directorio de trabajo del shell.\n"
+" \n"
+" Cambia el directorio actual a DIR. DIR por defecto es el valor de la\n"
+" variable de shell HOME.\n"
+" La variable CDPATH define la ruta de búsqueda por el directorio que\n"
+" contiene DIR. Los nombres alternativos de directorio en CDPATH se\n"
+" separan con dos puntos (:). Un nombre de directorio nulo es igual que\n"
+" el directorio actual Si DIR comienza con una barra inclinada (/),\n"
+" entonces no se usa CDPATH.\n"
+" Si no se encuentra el directorio, y la opción del shell `cdable_vars'\n"
+" está activa, entonces se trata la palabra como un nombre de variable.\n"
+" Si esa variable tiene un valor, se utiliza su valor como DIR.\n"
+" \n"
+" Opciones:\n"
+" -L\tfuerza a seguir los enlaces simbólicos\n"
+" -P\tusar la estructura física de directorios sin seguir los enlaces\n"
+" \tsimbólicos\n"
+" \n"
+" La acción por defecto es seguir los enlaces simbólicos, como si se\n"
+" especificara `-L'.\n"
+" \n"
+" Estado de salida:\n"
+" Devuelve 0 si se cambia el directorio; de otra forma es diferente a cero."
+
+#: builtins.c:407
msgid ""
"Print the name of the current working directory.\n"
" \n"
" Returns 0 unless an invalid option is given or the current directory\n"
" cannot be read."
msgstr ""
+"Muestra el nombre del directorio de trabajo actual.\n"
+" \n"
+" Opciones:\n"
+" -L\tmuestra el valor de $PWD si nombra al directorio de\n"
+" \ttrabajo actual\n"
+" -P\tmuestra el directorio físico, sin enlaces simbólicos\n"
+" \n"
+" Por defecto, `pwd' se comporta como si se especificara `-L'.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve 0 a menos que se de una opción inválida o no se pueda leer\n"
+" el directorio actual."
-#: builtins.c:428
-#, fuzzy
+#: builtins.c:424
msgid ""
"Null command.\n"
" \n"
" \n"
" Exit Status:\n"
" Always succeeds."
-msgstr "Sin efecto; la orden no hace nada. Devuelve un código de estado cero."
+msgstr ""
+"Orden nula.\n"
+" \n"
+" Sin efecto; la orden no hace nada.\n"
+" \n"
+" Estado de Salida:\n"
+" Siempre con éxito."
-#: builtins.c:439
+#: builtins.c:435
msgid ""
"Return a successful result.\n"
" \n"
" Exit Status:\n"
" Always succeeds."
msgstr ""
+"Devuelve un resultado con éxito.\n"
+" \n"
+" Estado de salida:\n"
+" Siempre con éxito."
-#: builtins.c:448
-#, fuzzy
+#: builtins.c:444
msgid ""
"Return an unsuccessful result.\n"
" \n"
" Exit Status:\n"
" Always fails."
-msgstr "Devuelve un resultado sin éxito."
+msgstr ""
+"Devuelve un resultado sin éxito.\n"
+" \n"
+" Estado de salida:\n"
+" Siempre falla."
-#: builtins.c:457
+#: builtins.c:453
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"
+" 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"
" Exit Status:\n"
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
+"Ejecuta una orden simple o muestra información sobre órdenes.\n"
+" \n"
+" Ejecuta la ORDEN con ARGumentos, suprimiendo la búsqueda de funciones\n"
+" de shell, o muestra información sobre las ÓRDENes especificadas. Se puede\n"
+" usar para invocar órdenes en disco cuando existe una función con el mismo\n"
+" nombre.\n"
+" \n"
+" Opciones:\n"
+" -p\tusa un valor por defecto para PATH para garantizar que\n"
+" \tencuentre todas las utilidades estándar\n"
+" -v\tmuestra una descripción de la ORDEN similar a la orden\n"
+" \tinterna `type'\n"
+" -V\tmuestra una descripción más detallada de cada ORDEN\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve el estado de salida de la ORDEN, o falla si no se encuentra\n"
+" la ORDEN."
-# apaga -> desactiva em+
-# Corregido en toda la traducción. cfuga
-#: builtins.c:476
-#, fuzzy
+#: builtins.c:472
msgid ""
"Set variable values and attributes.\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"
+" 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 ""
-"Declara variables y/o les asigna atributos. Si no se propociona\n"
-" ningún NAME, entonces muestra los valores de las variables.\n"
-" La opción -p mostrará los atributos y valores de cada NAME.\n"
+"Establece valores de variable y atributos.\n"
+" \n"
+" Declara variables y les da atributos. Si no se da ningún NOMBRE,\n"
+" muestra los atributos y valores de todas las variables.\n"
" \n"
-" Las opciones son:\n"
+" Opciones:\n"
+" -f\trestringe la acción o muestra a nombres y definiciones\n"
+" \tde funciones\n"
+" -F\trestringe la muestra a nombres de funciones (con número de\n"
+" \tlínea y fichero fuente al depurar)\n"
+" -p\tmuestra los atributos y valor de cada NOMBRE\n"
" \n"
-" -a\thace a los NAMEs matrices (si tiene soporte)\n"
-" -f\tselecciona solamente nombres de funciones\n"
-" -F\tmuestra nombres de funciones (y número de línea y nombre de\n"
-" \tfichero fuente si se está depurando) sin definiciones\n"
-" -i\tasigna a los NAMEs el atributo `integer'\n"
-" -r\thace a los NAMEs de sólo lectura\n"
-" -t\tasigna a los NAMEs el atributo `trace'\n"
-" -x\thace a los NAMEs exportables\n"
+" Opciones que establecen atributos:\n"
+" -a\testablece NOMBREs como matrices indizadas (si se admiten)\n"
+" -A\testablece NOMBREs como matrices asociativas (si se admiten)\n"
+" -i\testablece NOMBREs con el atributo `integer'\n"
+" -l\tconvierte NOMBREs a minúsculas en la asignación\n"
+" -r\testablece NOMBREs como de sólo lectura\n"
+" -t\testablece NOMBREs con el atributo `trace'\n"
+" -u\tconvierte NOMBREs a mayúsculas en la asignación\n"
+" -x\testablece NOMBREs para exportar\n"
" \n"
-" Las variables con el atributo integer se les evalúa aritméticamente\n"
-" (vea `let') cuando se asigna la variable.\n"
+" Si usa `+' en lugar de `-' desactiva el atributo dado.\n"
" \n"
-" Cuando se muestran los valores de las variables, -f muestra\n"
-" el nombre de una función y su definición. La opción -F restringe\n"
-" a mostrar solamente el nombre de la función.\n"
+" Las variables con el atributo integer realizan evaluación aritmética\n"
+" (vea la orden `let') cuando se asigna un valor a la variable.\n"
" \n"
-" Al usar `+' en lugar de `-' desactiva el atributo dado. Cuando se\n"
-" usa en una función, hace a los NAMEs locales, como sucede con la\n"
-" orden `local'."
+" Cuando se usa en una función, `declare' hace locales a los NOMBREs,\n"
+" como sucede con la orden `local'.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que se de una opción inválida o\n"
+" suceda un error."
-#: builtins.c:512
+#: builtins.c:508
msgid ""
"Set variable values and attributes.\n"
" \n"
" Obsolete. See `help declare'."
msgstr ""
+"EStablece valores de variables y atributos.\n"
+" \n"
+" Obsoleto. Consulte `help declare'."
-#: builtins.c:520
+#: builtins.c:516
msgid ""
"Define local variables.\n"
" \n"
" Returns success unless an invalid option is supplied, an error occurs,\n"
" or the shell is not executing a function."
msgstr ""
+"Define variables locales.\n"
+" \n"
+" Crea una variable local llamada NOMBRE, y le da un VALOR. OPCIÓN puede\n"
+" ser cualquier opción aceptada por `declare'.\n"
+" \n"
+" Las variables locales sólo se pueden usar en una función; son visibles\n"
+" sólo en la función donde se definen y sus hijos.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que se de una opción inválida, suceda\n"
+" un error, o el shell no esté ejecutando una función."
-#: builtins.c:537
-#, fuzzy
+#: builtins.c:533
msgid ""
"Write arguments to the standard output.\n"
" \n"
" Exit Status:\n"
" Returns success unless a write error occurs."
msgstr ""
-"Muestra los ARGs. Si se especifica -n, se suprime el carácter final de\n"
-" fin de línea. Si se especifica la opción -e, se activa la\n"
-" interpretación de los siguientes caracteres de escape con\n"
-" barra invertida:\n"
-" \t\\a\talerta (timbre)\n"
-" \t\\b\tespacio hacia atrás\n"
-" \t\\c\tsuprime el carácter final de fin de línea\n"
-" \t\\E\tcarácter de escape\n"
-" \t\\f\talimentación de papel\n"
-" \t\\n\tlínea nueva\n"
-" \t\\r\tretorno de carro\n"
-" \t\\t\ttabulador horizontal\n"
-" \t\\v\ttabulador vertical\n"
-" \t\\\\\tbarra invertida\n"
-" \t\\0nnn\tel carácter cuyo código ASCII es NNN (octal). NNN puede ser\n"
-" \t\tde 0 a 3 dígitos octales\n"
-" \n"
-" Puede desactivar explícitamente la interpretación de los caracteres\n"
-" arriba mencionados con la opción -E."
-
-#: builtins.c:571
+"Escribe argumentos en la salida estándar.\n"
+" \n"
+" Muestra los ARGumentos en la salida estándar seguidos por un carácter\n"
+" de fin de línea.\n"
+" Opciones:\n"
+" -n\tno agrega un carácter de fin de línea\n"
+" -e\tactiva la interpretación de caracteres de escape de\n"
+" \tde barra invertida\n"
+" -E\tdesactiva explícitamente la interpretación de caracteres de\n"
+" \tde escape de barra invertida\n"
+" \n"
+" `echo' interpreta los siguientes caracteres de escape de barra invertida:\n"
+" \\a\talerta (timbre)\n"
+" \\b\tespacio hacia atrás\n"
+" \\c\tsuprime toda salida a continuación\n"
+" \\E\tcarácter de escape\n"
+" \\f\talimentación de papel\n"
+" \\n\tlínea nueva\n"
+" \\r\tretorno de carro\n"
+" \\t\ttabulador horizontal\n"
+" \\v\ttabulador vertical\n"
+" \\\\\tbarra invertida\n"
+" \\0nnn\tel carácter cuyo código ASCII es NNN (octal). NNN puede ser\n"
+" \tde 0 a 3 dígitos octales\n"
+" \\xHH\tel carácter de ocho bits cuyo valor es HH (hexadecimal). HH\n"
+" \tpuede ser de uno o dos dígitos hexadecimales\n"
+" \n"
+" Estado de salida:\n"
+" Devuelve con éxito a menos que suceda un error de escritura."
+
+#: builtins.c:567
msgid ""
"Write arguments to the standard output.\n"
" \n"
" Exit Status:\n"
" Returns success unless a write error occurs."
msgstr ""
+"Escribe argumentos en la salida estándar.\n"
+" \n"
+" Muestra los ARGumentos en la salida estándar seguidos por un carácter\n"
+" de fin de línea.\n"
+" Opciones:\n"
+" -n\tno agrega un carácter de fin de línea\n"
+" \n"
+" Estado de salida:\n"
+" Devuelve con éxito a menos que suceda un error de escritura."
-#: builtins.c:586
+#: builtins.c:582
msgid ""
"Enable and disable shell builtins.\n"
" \n"
" Exit Status:\n"
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
+"Activa y desactiva las órdenes internas del shell.\n"
+" \n"
+" Activa y desactiva las órdenes internas del shell. El desactivar le\n"
+" permite ejecutar una orden del disco que tenga el mismo nombre que\n"
+" la orden interna del shell, sin usar el nombre de ruta completo.\n"
+" \n"
+" Opciones:\n"
+" -a\tmuestra la lista de órdenes internas indicando si están activas o no\n"
+" -n\tdesactiva cada NOMBRE o muestra la lista de órdenes internas\n"
+" \tdesactivadas\n"
+" -p\tmuestra la lista de órdenes internas en una forma reusable\n"
+" -s\tmuestra sólo los nombres de las órdenes internas `especiales' Posix\n"
+" \n"
+" Opciones que controlan la carga dinámica:\n"
+" -f\tcarga la orden interna NOMBRE del objeto compartido FICHERO\n"
+" -d\tborra una orden interna cargada con -f\n"
+" \n"
+" Sin opciones, se activa cada NOMBRE.\n"
+" \n"
+" Para usar `test' que se encuentra en $PATH en lugar de la orden interna\n"
+" del shell, ejecute `enable -n test'.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que NOMBRE no sea una orden interna del shell\n"
+" o suceda un error."
-#: builtins.c:614
+#: builtins.c:610
msgid ""
"Execute arguments as a shell command.\n"
" \n"
-" Combine ARGs into a single string, use the result as input to the "
-"shell,\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 ""
+"Ejecuta argumentos como una orden de shell.\n"
+" \n"
+" Combina los ARGumentos en una sola cadena, usa el resultado como entrada\n"
+" para el shell, y ejecuta las órdenes resultantes.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve el estado de salida de la orden o éxito si la orden es nula."
# "a ser reconocidas" no está en español.
# Yo pondría "las letras de opción que se reconocen". sv
# en una de dos formas -> en una de las dos formas siguientes em+
# dar argumentos -> especificar em+
# De acuerdo. cfuga
-#: builtins.c:626
-#, fuzzy
+#: builtins.c:622
msgid ""
"Parse option arguments.\n"
" \n"
" Returns success if an option is found; fails if the end of options is\n"
" encountered or an error occurs."
msgstr ""
-"Getopts se usa para decodificar parámetros posicionales en guiones de "
-"shell.\n"
+"Decodifica argumentos de opción.\n"
+"\n"
+" Getopts se usa en procedimientos del shell para decodificar parámetros\n"
+" posicionales como opciones.\n"
" \n"
-" OPTSTRING contiene las letras de opción para reconocer; si una letra\n"
-" es seguida por dos puntos, se espera que la opción tenga un\n"
-" argumento, del cual se debe separar con espacios en blanco.\n"
+" CADENA_OPCIONES contiene las letras de opción para reconocer; si\n"
+" una letra es seguida por dos puntos, se espera que la opción tenga\n"
+" un argumento, del cual se debe separar con espacios en blanco.\n"
" \n"
" Cada vez que se invoca, getopts colocará la siguiente opción en la\n"
-" variable de shell $name, inicializando name si no existe, y el\n"
-" índice del siguente argumento a ser procesado en la variable de\n"
-" shell OPTIND. OPTIND se inicializa a 1 cada vez que se invoca al\n"
-" shell, o a un guión de shell. Cuando una opción requiere un\n"
-" argumento, getopts coloca ese argumento en la variable de shell\n"
-" OPTARG.\n"
+" variable de shell $nombre, inicializando nombre si no existe, y el\n"
+" índice del siguiente argumento a ser procesado en la variable de\n"
+" shell OPTIND. OPTIND se inicializa a 1 cada vez que se invoca el\n"
+" shell, o un guión de shell. Cuando una opción requiere un argumento,\n"
+" getopts coloca ese argumento en la variable de shell OPTARG.\n"
" \n"
" getopts reporta errores en una de las dos formas siguientes. Si\n"
" el primer carácter de OPTSTRING es dos puntos, getopts usa el\n"
" aviso de errores silencioso. En este modo, no se muestran\n"
" mensajes de error. Si se encuentra una opción inválida, getopts\n"
" coloca el carácter de opción encontrado en OPTARG. Si no se\n"
-" encuentra un argumento necesario, getopts coloca ':' en NAME y\n"
-" define OPTARG como el carácter de opción encontrado. Si getopts no\n"
+" encuentra el argumento necesario, getopts coloca ':' en NOMBRE y\n"
+" define OPTARG con el carácter de opción encontrado. Si getopts no\n"
" está en modo silencioso, y se encuentra una opción inválida, getopts\n"
-" coloca '?' en NAME y borra OPTARG. Si no se encuentra un argumento\n"
-" necesario, se coloca un '?' en NAME, se borra OPTARG, y se muestra\n"
+" coloca '?' en NOMBRE y borra OPTARG. Si no se encuentra un argumento\n"
+" necesario, se coloca '?' en NOMBRE, se borra OPTARG, y se muestra\n"
" un mensaje de diagnóstico.\n"
" \n"
" Si la variable de shell OPTERR tiene el valor 0, getopts desactiva\n"
" \n"
" Getopts normalmente compara los parámetros de posición ($0 - $9),\n"
" pero si se especifican más argumentos, éstos se comparan en lugar\n"
-" de los primeros."
+" de los primeros.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito si se encuentra una opción; falla si se encuentra\n"
+" el final de las opciones o sucede un error."
-#: builtins.c:668
+#: builtins.c:664
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"
+" ARGUMENTS become the arguments to COMMAND. If COMMAND is not specified,\n"
" any redirections take effect in the current shell.\n"
" \n"
" Options:\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"
+" 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."
+" Returns success unless COMMAND is not found or a redirection error occurs."
msgstr ""
+"Reemplaza el shell con la orden dada.\n"
+" \n"
+" Ejecuta la ORDEN, reemplazando este shell con el programa especificado.\n"
+" Los ARGUMENTOS se vuelven los argumentos de la ORDEN. Si no se\n"
+" especifica la ORDEN, cualquir redirección toma efecto en el shell actual.\n"
+" \n"
+" Opciones:\n"
+" -a nombre\tpasa el NOMBRE como el argumento cero de la ORDEN\n"
+" -c\t\tejecuta la ORDEN en un ambiente vacío\n"
+" -l\t\tcoloca un guión en el argumento cero de la ORDEN\n"
+" \n"
+" Si la orden no se puede ejecutar, termina un shell no interactivo,\n"
+" a menos que la opción de shell `execfail' esté activa.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve éxito a menos que no se encuentre la ORDEN o que suceda un\n"
+" error de redirección."
-#: builtins.c:689
-#, fuzzy
+#: builtins.c:685
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 ""
-"Termina el shell con un estado de N. Si se omite N, el estado de salida\n"
+"Termina el shell.\n"
+" \n"
+" Termina el shell con un estado de N. Si se omite N, el estado de salida\n"
" es el mismo de la última orden ejecutada."
-#: builtins.c:698
+#: builtins.c:694
msgid ""
"Exit a login shell.\n"
" \n"
-" Exits a login shell with exit status N. Returns an error if not "
-"executed\n"
+" Exits a login shell with exit status N. Returns an error if not executed\n"
" in a login shell."
msgstr ""
+"Termina un shell de entrada.\n"
+" \n"
+" Termina un shell de entrada con un estado de salida de N. Devuelve un\n"
+" error si no se ejecuta en un shell de entrada."
-#: builtins.c:708
-#, fuzzy
+#: builtins.c:704
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"
+" 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"
+" -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"
" the last command.\n"
" \n"
" Exit Status:\n"
-" Returns success or status of executed command; non-zero if an error "
-"occurs."
+" Returns success or status of executed command; non-zero if an error occurs."
msgstr ""
-"fc se usa para listar o editar y reejecutar órdenes de la lista de "
-"historia.\n"
-" FIRST y LAST pueden ser números que especifican el rango, o FIRST puede\n"
-" ser una cadena, que significa la orden más reciente que comience con\n"
-" esa cadena.\n"
+"Muestra o ejecuta órdenes de la lista de historia.\n"
" \n"
-" -e ENAME selecciona el editor a usar. Por defecto es FCEDIT,\n"
-" después EDITOR, después vi.\n"
+" fc se usa para listar o editar y reejecutar órdenes de la lista de\n"
+" historia. PRIMERO y ÚLTIMO pueden ser números que especifican el rango,\n"
+" o PRIMERO puede ser una cadena, que significa la orden más reciente que\n"
+" comience con esa cadena.\n"
" \n"
-" -l significa lista líneas en lugar de editar.\n"
-" -n significa que no se listan números de línea.\n"
-" -r significa invertir el orden de las líneas (mostrando primero\n"
-" las más recientes).\n"
+" -e NOMBRE_E selecciona el editor a usar. Por defecto es FCEDIT,\n"
+" \t\tdespués EDITOR, después vi\n"
+" -l lista líneas en lugar de editar\n"
+" -n omite los números de línea al listar\n"
+" -r inverte el orden de las líneas (muestra primero las más recientes)\n"
" \n"
-" Con el formato `fc -s [pat=rep ...] [orden]', la orden se\n"
-" ejecuta de nuevo después de realizar ls sustitución ANT=NUEVO.\n"
+" Con el formato `fc -s [pat=rep ...] [orden]', la ORDEN se\n"
+" ejecuta de nuevo después de realizar la sustitución ANT=NUEVO.\n"
" \n"
" Un alias útil para usar con esto es r='fc -s', así que al teclear\n"
" `r cc' ejecuta la última orden que comience con `cc' y al teclear\n"
-" `r' re-ejecuta la última orden."
+" `r' re-ejecuta la última orden.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito o el estado de la orden ejecutada; si sucede un error\n"
+" es diferente de cero."
-#: builtins.c:738
-#, fuzzy
+#: builtins.c:734
msgid ""
"Move job to the foreground.\n"
" \n"
" Exit Status:\n"
" Status of command placed in foreground, or failure if an error occurs."
msgstr ""
-"Ubica al JOB_SPEC en el primer plano, y lo hace el trabajo actual. Si\n"
-" JOB_SPEC no está presente, se usa la noción del shell del trabajo\n"
-" actual."
+"Mueve el trabajo al primer plano.\n"
+" \n"
+" Ubica al trabajo identificado con IDTRABAJO en el primer plano, y\n"
+" lo hace el trabajo actual. Si IDTRABAJO no está presente, se usa\n"
+" la noción del shell del trabajo actual.\n"
+" \n"
+" Estado de Salida:\n"
+" El estado del comando ubicado en primer plano, o falla si sucede un error."
-#: builtins.c:753
-#, fuzzy
+#: builtins.c:749
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"
+" 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 ""
-"Coloca cada JOB_SPEC en segundo plano, como si se hubieran iniciado con\n"
-" `&'. Si JOB_SPEC no está presente, se usa la noción del shell del\n"
-" trabajo actual."
+"Mueve trabajos al segundo plano.\n"
+" \n"
+" Coloca los trabajos identificados por cada IDTRABAJO en segundo plano,\n"
+" como si se hubieran iniciado con `&'. Si IDTRABAJO no está presente,\n"
+" se usa la noción del shell del trabajo actual.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve éxito a menos que el control de trabajos no esté activado o\n"
+" suceda un error."
-#: builtins.c:767
+#: builtins.c:763
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"
+" no arguments are given, information about remembered commands is displayed.\n"
" \n"
" Options:\n"
" -d\t\tforget the remembered location of each NAME\n"
" Exit Status:\n"
" Returns success unless NAME is not found or an invalid option is given."
msgstr ""
-
-#: builtins.c:792
+"Almacena o muestra la ubicación de los programas.\n"
+" \n"
+" Determina y almacena la ruta completa de cada órden NOMBRE. Si\n"
+" no se proporcionan argumentos, se muestra la información de las\n"
+" órdenes almacenadas.\n"
+" \n"
+" Opciones:\n"
+" -d\t\tolvida la ubicación almacenada de cada NOMBRE\n"
+" -l\t\tmuestra en un formato que se puede reusar como entrada\n"
+" -p ruta\tusa RUTA como la ruta completa de NOMBRE\n"
+" -r\t\tolvida todas las ubicaciones almacenadas\n"
+" -t\t\tmuestra la ubicación almacenada de cada NOMBRE,\n"
+" \t\tcada ubicación con el NOMBRE correspondiente\n"
+" \t\tse dan varios NOMBREs\n"
+" Argumentos:\n"
+" NOMBRE\t\tCada NOMBRE se busca en $PATH y se agrega a la lista\n"
+" \t\tde órdenes almacenadas.\n"
+" \n"
+" Estado de Salida\n"
+" Devuelve con éxito a menos que no se encuentre NOMBRE o se proporcione\n"
+" una opción inválida."
+
+#: builtins.c:788
msgid ""
"Display information about builtin commands.\n"
" \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."
+" Returns success unless PATTERN is not found or an invalid option is given."
msgstr ""
+"Muestra información sobre órdenes internas.\n"
+" \n"
+" Muestra un resumen breve de las órdenes internas. Si se especifica\n"
+" un PATRÓN, da ayuda detallada sobre todas las órdenes que\n"
+" coincidan con el PATRÓN, de otra forma se muestra la lista de\n"
+" tópicos de ayuda.\n"
+" \n"
+" Opciones:\n"
+" -d\tmuestra una descripción corta para cada tópico\n"
+" -m\tmuestra el uso en un formato similar a página man\n"
+" -s\tmuestra sólo una sinopsis breve de uso para cada tópico que\n"
+" \tcoincida con el PATRÓN\n"
+" \n"
+" Argumentos:\n"
+" PATRÓN\tPatrón que especifica un tópico de ayuda\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que no se encuentre PATRÓN o se proporcione\n"
+" una opción inválida."
-#: builtins.c:816
-#, fuzzy
+#: builtins.c:812
msgid ""
"Display or manipulate the history list.\n"
" \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"
+" 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 ""
-"Muestra la lista de la historia con números de línea. Las líneas\n"
-" mostradas con un `*' han sido modificadas. El argumento N indica\n"
-" mostrar solamente las últimas N líneas. La opción `-c' borra la\n"
-" lista de histora eliminando todas sus entradas. La opción `-d' borra\n"
-" la entrada de historia en la posición OFFSET. La opción `-w' escribe\n"
-" la historia actual en el fichero de historia; `-r' lee el fichero y\n"
-" agrega los contenidos a la lista de historia. `-a' agrega las líneas\n"
-" de historia de esta sesión al fichero de historia. El argumento `-n'\n"
-" lee todas las líneas de historia que no se han leído del fichero de\n"
-" historia y las agrega al fichero de historia.\n"
-" \n"
-" Si se proporciona FILENAME, entonces se usa como el fichero de\n"
-" historia, si no, si $HISTFILE tien un valor, éste se usa, si no\n"
-" ~/.bash_history. Si se proporciona la opción -s, los ARGs que no son\n"
-" opciones se agregan a la lista de historia como una sola entrada.\n"
-" La opción -p hace expansión de historia en cada ARG y muestra el\n"
-" resultado, sin guardar nada en el fichero de historia.\n"
+"Muestra o manipula la lista de la historia. \n"
+" Muestra la lista de la historia con números de línea, mostrando\n"
+" cada línea modificada con un `*' como prefijo. El argumento N\n"
+" muestra solamente las últimas N entradas.\n"
+" \n"
+" Opciones:\n"
+" -c\tborra la lista de historia eliminando todas las entradas\n"
+" -d despl\tborra la entrada de la histora en la posición DESPL\n"
+" \n"
+" -a\tagrega las líneas de histora de esta sesión al fichero de historia\n"
+" -n\tlee todas las líneas de historia que no se han leído del fichero\n"
+" \tde historia\n"
+" -r\tlee el fichero de historia y agrega el contenido al fichero\n"
+" \tde historia\n"
+" -w\tescribe la historia actual en el fichero de historia\n"
+" \n"
+" -p\thace expansión de historia en cada ARGumento y muestra el\n"
+" \tresultado, sin guardarlo en la lista de historia\n"
+" -s\tagrega los ARGumentos a la lista de historia como\n"
+" \tuna sola entrada\n"
+" Si se proporciona FICHERO, entonces se usa como el fichero de\n"
+" historia. Si no, si $HISTFILE tien un valor, éste se usa, en otro caso\n"
+" ~/.bash_history.\n"
" \n"
" Si la variable $HISTTIMEFORMAT está definida y no es nula, se usa su\n"
" valor como una cadena de formato strftime(3) para mostrar la marca de\n"
" tiempo asociada con cada entrada de historia mostrada. No se muestra\n"
" ninguna marca de tiempo de otra forma."
-#: builtins.c:852
-#, fuzzy
+#: builtins.c:848
msgid ""
"Display status of jobs.\n"
" \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 ""
-"Muestra los trabajos activos. La opción -l muestra los id's de los "
-"procesos\n"
-" además de la información normal; la opción -p sólo muestra los id's de\n"
-" los procesos. Si se especifica -n, sólo se muestran los procesos que\n"
-" han cambiado de estado desde la última notificación. JOBSPEC restringe\n"
-" la salida a ese trabajo. Las opciones -r y -s restringen la salida a\n"
-" mostrar sólo trabajos en ejecución y detenidos, respectivamente. Sin\n"
-" opciones, se muestra el estado de todos los trabajos activos. Si se\n"
-" especifica -x, COMMAND se ejecuta después de que todas las\n"
+"Muestra el estado de los trabajos.\n"
+" \n"
+" Muestra los trabajos activos. IDTRABAJO restringe la salida a\n"
+" ese trabajo. Sin opciones, se muestra el estado de todos los trabajos\n"
+" activos.\n"
+" \n"
+" Opciones:\n"
+" -l\tmuestra los id's de los procesos, además de\n"
+" \tla información normal\n"
+" -n\tsolo muestra los procesos que han cambia de estado desde\n"
+" \tla última notificación\n"
+" -p\tsolo muestra los id's de los procesos -r\trestringe la salida a los trabajos en ejecución\n"
+" -s\trestringe la salida a los trabajos detenidos\n"
+" \n"
+" Si se especifica -x, la ORDEN se ejecuta después de que todas las\n"
" especificaciones de trabajo que aparecen en ARGS se han reemplazado\n"
-" con el ID de proceso del líder del grupo de procesos de dicho trabajo."
+" con el ID de proceso del líder del grupo de procesos de dicho trabajo.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que se de una opción inválida o suceda un\n"
+" error. Si se usa -x, devuelve el estado de salida de la ORDEN."
-#: builtins.c:879
+#: builtins.c:875
msgid ""
"Remove jobs from current shell.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
+"Borra trabajos del shell actual.\n"
+" \n"
+" Borra cada argumento IDTRABAJO de la tabla de trabajos activos. Sin\n"
+" algún IDTRABAJO, el shell utiliza su noción del trabajo actual.\n"
+" \n"
+" Opciones:\n"
+" -a\tborra todos los trabajos si no se proporciona IDTRABAJO\n"
+" -h\tmarca cada IDTRABAJO para no se envíe SIGHUP al trabajo si\n"
+" \tel shell recibe un SIGHUP\n"
+" -r\tborra solo los trabajos en ejecución\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que se proporcionen una opción o un\n"
+" IDTRABAJO inválidos."
-#: builtins.c:898
-#, fuzzy
+#: builtins.c:894
msgid ""
"Send a signal to a job.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-"Envía a los procesos nombrados por PID (o JOBSPEC) la señal SIGSPEC. Si\n"
-" no está presente SIGSPEC, se asume SIGTERM. El argumento `-l'\n"
-" muestra los nombres de señales; si hay argumentos a continuación de\n"
-" `-l' se asume que son números de señal para las cuales se debe\n"
-" mostrar el nombre. Kill es una orden interna del shell por dos\n"
-" razones: permite que se puedan usar IDs de trabajo en lugar de\n"
-" IDs de proceso, y, si ha alcanzado el límite de procesos que puede\n"
-" crear, no tiene que iniciar un proceso para matar a otro."
+"Envía una señal a un trabajo.\n"
+" \n"
+" Envía a los procesos nombrados por PID (o IDTRABAJO) la señal ID_SEÑAL\n"
+" o NUM_SEÑAL. Si no están presentes ni ID_SEÑAL o NUM_SEÑAL, se asume\n"
+" SIGTERM.\n"
+" \n"
+" Opciones:\n"
+" -s sig\tSIG es un nombre de señal\n"
+" -n sig\tSIG es un número de señal\n"
+" -l\tenlista los nombres de señales; si hay argumentos a continuación\n"
+" \tde `-l', se asume que son números de señal para las cuales se debe\n"
+" mostrar el nombre.\n"
+" \n"
+" Kill es una orden interna del shell por dos razones: permite que se\n"
+" puedan usar IDs de trabajo en lugar de IDs de proceso, y permite matar\n"
+" procesos si ha alcanzado el límite de procesos que puede crear.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que se de una opción inválida o suceda un error."
# "a ser evaluada" no está en español. sv
# Cierto. ¿Así está mejor? cfuga
# No sé si existe precedencia en español, pero me suena fatal.
# Yo pondría simplemente "prioridad". sv
# Creo que si existe, pero tu sugerencia es mejor. cfuga
-#: builtins.c:921
-#, fuzzy
+#: builtins.c:917
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"
+" 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"
" Exit Status:\n"
" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
msgstr ""
-"Cada ARG es una expresión aritmética para evaluarse. La evaluación\n"
-" se hace con enteros de longitud fija, sin revisar desbordamientos,\n"
-" aunque la división por 0 se captura y se marca como un error.\n"
-" La siguiente lista de operadores está agrupada en niveles de\n"
-" operadores de la misma prioridad. Se muestran los niveles\n"
-" en orden de prioridad decreciente.\n"
+"Evalúa expresiones aritméticas.\n"
+" \n"
+" Evalúa cada ARG como una expresión aritmética. La evaluación se hace\n"
+" con enteros de longitud fija, sin revisar desbordamientos, aunque la\n"
+" la división por 0 se captura y se marca como un error. La siguiente\n"
+" lista de operadores está agrupada en niveles de operadores de la misma\n"
+" prioridad. Se muestran los niveles en orden de prioridad decreciente.\n"
" \n"
" \tid++, id--\tpost-incremento, post-decremento de variable\n"
" \t++id, --id\tpre-incremento, pre-decremento de variable\n"
" \t+=, -=, <<=, >>=,\n"
" \t&=, ^=, |=\tasignación\n"
" \n"
-" Se permiten las variables de shell como operandos. Se\n"
-" reemplaza el nombre de la variable por su valor (coercionado\n"
-" a un entero de longitud fija) dentro de una expresión. La\n"
-" La variable no necesita tener activado su atributo integer\n"
-" para ser usada en una expresión.\n"
+" Se permiten las variables de shell como operandos. Se reemplaza\n"
+" el nombre de la variable por su valor (coercionado a un entero\n"
+" de longitud fija) dentro de una expresión. La variable no\n"
+" necesita tener activado su atributo integer para ser usada en\n"
+" una expresión.\n"
" \n"
-" Los operadores se evalúan en orden de prioridad. Primero\n"
-" se evalúan las sub-expresiones en paréntesis y pueden\n"
-" sobrepasar las reglas de prioridad anteriores.\n"
+" Los operadores se evalúan en orden de prioridad. Primero se\n"
+" evalúan las sub-expresiones en paréntesis y pueden sobrepasar\n"
+" las reglas de prioridad anteriores.\n"
" \n"
-" Si el último ARG se evalúa como 0, let devuelve 1; si no se\n"
-" devuelve 0."
+" Estado de salida:\n"
+" Si el último ARGumento se evalúa como 0, let devuelve 1; de otra\n"
+" forma, let devuelve 0."
-#: builtins.c:966
-#, fuzzy
+#: builtins.c:962
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"
+" 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"
+" 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"
+" 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\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 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"
+" \t\tfractional number. The exit status is greater than 128 if\n"
+" \t\tthe 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"
+" 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 ""
-"Se lee una línea de la entrada estándard, o del descriptor de fichero FD si "
-"se\n"
-" proporciona la opción -u, y la primera palabra se asigna al primer "
-"NAME,\n"
-" la segunda palabra al segundo NAME, y así sucesivamente, con las "
-"palabras\n"
-" restantes asignadas al último NAME. Sólo los caracteres que se "
-"encuentran en\n"
-" $IFS se reconocen como delimitadores de palabras. Si no se proporciona\n"
-" ningún NAME, la línea leída se guarda en la variable REPLY. Si se\n"
-" proporciona la opción -r, esto significa entrada `textual', y se\n"
-" desactiva el escape de la barra invertida. La opción -d causa que read\n"
-" continúe hasta que se lea el primer carácter de DELIM, en lugar de\n"
-" línea nueva. Si se proporciona la opción -p, se muestra la cadena\n"
-" PROMPT sin un caractér de línea nuevo al final, antes de intentar leer.\n"
-" Si se propociona -a, las palabras leídas se asignan a índices\n"
-" consecutivos de ARRAY, empezando en cero. Si se proporciona -e y\n"
-" el shell es interactivo, se usa readline para leer la línea. Si se\n"
-" propociona -n con un argumento NCHARS diferente de cero, read termina\n"
-" después de leer NCHARS caracteres. La opción -s causa que no se "
-"muestre\n"
-" la entrada que provenga de una terminal.\n"
-" \n"
-" La opción -t causa que read expire y devuelva falla si no se lee una "
-"línea\n"
-" completa de entrada en TIMEOUT segundos. Si la variable TMOUT está "
-"activa,\n"
-" su valor es el tiempo de expiración por defecto. El código de "
-"devolución es\n"
-" cero, a menos que se encuentre un final de línea, read expire, o se\n"
-" proporcione un descriptor de fichero inválido como el argumento de -u."
-
-#: builtins.c:1006
+"Lee una línea de la salida estándar y la divide en campos.\n"
+" \n"
+" Lee una sola línea de la entrada estándar, o del descriptor de\n"
+" fichero FD si se proporciona la opción -u. La línea se divide en campos\n"
+" con separación de palabras, y la primera palabra se asigna al primer\n"
+" NOMBRE, la segunda palabra al segundo NOMBRE, y así sucesivamente, con\n"
+" las palabras restantes asignadas al último NOMBRE. Sólo los caracteres\n"
+" que se encuentran en $IFS se reconocen como delimitadores de palabras.\n"
+" \n"
+" Si no se proporciona ningún NOMBRE, la línea leída se guarda en la\n"
+" variable REPLY.\n"
+" \n"
+" Opciones:\n"
+" -a matriz\tasigna las palabras leídas a índices secuenciales de\n"
+" \tla variable de matriz MATRIZ, empezando en cero\n"
+" -d delim\tcontinuar hasta que se lea el primer carácter de DELIM,\n"
+" \t\ten lugar de línea nueva\n"
+" -e\t\tusa Readline para obtener la línea en un shell interactivo\n"
+" -i texto\tUsa el TEXTO como el texto inicial para Readline\n"
+" -n ncars\tregresa después de leer NCARS caracteres en lugar de\n"
+" \t\tesperar una línea nueva\n"
+" -p prompt\tmuestra la cadena PROMPT sin un caractér de línea nueva\n"
+" \t\tal final antes de intentar leer\n"
+" -r\t\tno permite que las barras invertidas escapen caracteres\n"
+" -s\t\tno muestra la salida que proviene de una terminal\n"
+" -t tiempo\texpira y devuelve fallo si no se lee una línea completa\n"
+" \t\tde entrada en TIEMPO segundos. El valor de la variable TMOUT\n"
+" \t\tes el tiempo de expiración por defecto. TIEMPO puede ser un\n"
+" \t\tnúmero fraccionario. El estado de salida es mayor que 128 si\n"
+" \t\tse excede el tiempo de expiración.\n"
+" -u df\t\tlee del descriptor de fichero DF en lugar de la entrada\n"
+" \t\testándar \n"
+" Estado de Salida:\n"
+" El código de devolución es cero, a menos que se encuentre un final de\n"
+" línea, el tiempo de read expire, o se proporcione un descriptor de\n"
+" fichero inválido como el argumento de -u."
+
+#: builtins.c:1001
msgid ""
"Return from a shell function.\n"
" \n"
" Exit Status:\n"
" Returns N, or failure if the shell is not executing a function or script."
msgstr ""
+"Devuelve de una función de shell.\n"
+" \n"
+" Causa que una función o un guión leído termine con el valor de devolución\n"
+" especificado por N. Si se omite N, el estado de devolución es el de\n"
+" la última orden ejecutada dentro de la función o guión.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve N, o falla si el shell no está ejecutando una función o un guión."
-#: builtins.c:1019
-#, fuzzy
+#: builtins.c:1014
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \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"
+" 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"
" Exit Status:\n"
" Returns success unless an invalid option is given."
msgstr ""
-" -a Marca las variables que se modifican o crean para exportación.\n"
-" -b Notifica el término de trabajos inmediatamente.\n"
-" -e Termina inmediatamente si una orden termina con un estado\n"
-" diferente a cero.\n"
-" -f Desactiva la generación de nombres de ficheros (englobamiento).\n"
-" -h Recuerda la ubicación de las órdenes como fueron localizadas.\n"
-" -k Todos los argumentos de asignación se colocan en el ambiente "
-"para una\n"
-" orden, no solo aquellos que preceden al nombre de la orden.\n"
-" -m Activa el control de trabajos.\n"
-" -n Lee órdenes pero no las ejecuta.\n"
-" -o nombre-opcion\n"
-" Establece la variable correspondiente a nombre-opcion:\n"
-" allexport igual que -a\n"
-" braceexpand igual que -B\n"
-" emacs usa una interfaz de edición de línea estilo "
-"emacs\n"
-" errexit igual que -e\n"
-" errtrace igual que -E\n"
-" functrace igual que -T\n"
-" hashall igual que -h\n"
-" histexpand igual que -H\n"
-" history activa la historia de órdenes\n"
-" ignoreeof el shell no terminará después de leer EOF\n"
-" interactive-comments\n"
-" permite que haya comentarios en órdenes "
-"interactivas\n"
-" keyword igual que -k\n"
-" monitor igual que -m\n"
-" noclobber igual que -C\n"
-" noexec igual que -n\n"
-" noglob igual que -f\n"
-" nolog actualmente se acepta pero se ignora\n"
-" notify igual que -b\n"
-" nounset igual que -u\n"
-" onecmd igual que -t\n"
-" physical igual que -P\n"
-" pipefail el valor de devolución de una tubería es el "
-"estado\n"
-" del último comando en salir con un estado "
-"diferente\n"
-" de cero, o cero si ninguna orden termina con "
-"un\n"
-" estado diferente de cero\n"
-" posix cambia el comportamiento de bash donde la "
-"operación\n"
-" por omisión difiere del estándard 1003.2 para "
-"que\n"
-" coincida con el estándard\n"
-" privileged igual que -p\n"
-" verbose igual que -v\n"
-" vi usa una interfaz de edición de línea estilo vi\n"
-" xtrace igual que -x\n"
-" -p Encendido cuando los ids real y efectivo del usuario no "
-"coinciden.\n"
-" Desactiva el procesamiento del fichero $ENV y la importación de\n"
-" funciones de shell. Si se desactiva esta opción causa que el "
-"uid y\n"
-" el gid efectivos sean iguales al uid y el gid real.\n"
-" -t Termina después de leer y ejecutar una orden.\n"
-" -u Trata las variables sin definir como un error al ser "
-"sustituidas.\n"
-" -v Muestra las líneas de entrada del shell mientras se leen.\n"
-" -x Muestra las órdenes y sus argumentos mientras se ejecutan.\n"
-" -B el shell realizará expansión de llaves.\n"
-" -C Si se activa, no permite que los ficheros regulares existentes\n"
-" se sobreescriban por redirección de la salida.\n"
-" -E Si se activa, las funciones del shell heredan la trampa ERR.\n"
-" -H Activa el estilo de sustitución de historia ! . Esta opción "
-"está\n"
-" activa por defecto cuando el shell es interactivo.\n"
-" -P Si se activa, no sigue enlaces simbólicos cuando se ejecutan "
-"órdenes\n"
-" como cd, el cual cambia el directorio actual.\n"
-" -T Si se activa, las funciones del shell heredan la trampa DEBUG.\n"
-" - Asigna cualquier argumento restante a los parámetros "
+"Establece o borra los valores de las opciones de shell y los parámetros\n"
"posicionales.\n"
-" Las opciones -x y -v se desactivan.\n"
+" \n"
+" Opciones:\n"
+" -a Marca las variables que se modifican o crean para exportación.\n"
+" -b Notifica el término de trabajos inmediatamente.\n"
+" -e Termina inmediatamente si una orden termina con un estado\n"
+" diferente a cero.\n"
+" -f Desactiva la generación de nombres de ficheros (englobamiento).\n"
+" -h Recuerda la ubicación de las órdenes como se localizaron.\n"
+" -k Todos los argumentos de asignación se colocan en el ambiente para una\n"
+" orden, no solo aquellos que preceden al nombre de la orden.\n"
+" -m Activa el control de trabajos.\n"
+" -n Lee órdenes pero no las ejecuta.\n"
+" -o nombre-opcion\n"
+" Establece la variable correspondiente a nombre-opcion:\n"
+" allexport igual que -a\n"
+" braceexpand igual que -B\n"
+" emacs usa una interfaz de edición de línea estilo emacs\n"
+" errexit igual que -e\n"
+" errtrace igual que -E\n"
+" functrace igual que -T\n"
+" hashall igual que -h\n"
+" histexpand igual que -H\n"
+" history activa la historia de órdenes\n"
+" ignoreeof el shell no terminará después de leer EOF\n"
+" interactive-comments\n"
+" permite que haya comentarios en órdenes interactivas\n"
+" keyword igual que -k\n"
+" monitor igual que -m\n"
+" noclobber igual que -C\n"
+" noexec igual que -n\n"
+" noglob igual que -f\n"
+" nolog actualmente se acepta pero se descarta\n"
+" notify igual que -b\n"
+" nounset igual que -u\n"
+" onecmd igual que -t\n"
+" physical igual que -P\n"
+" pipefail el valor de devolución de una tubería es el estado\n"
+" del último comando en salir con un estado diferente\n"
+" de cero, o cero si ninguna orden termina con un\n"
+" estado diferente de cero\n"
+" posix cambia el comportamiento de bash donde la operación\n"
+" por defecto difiere del estándar Posix para que\n"
+" coincida con el estándar\n"
+" privileged igual que -p\n"
+" verbose igual que -v\n"
+" vi usa una interfaz de edición de línea estilo vi\n"
+" xtrace igual que -x\n"
+" -p Activo cuando los ids real y efectivo del usuario no coinciden.\n"
+" Desactiva el procesamiento del fichero $ENV y la importación de\n"
+" funciones de shell. Si se desactiva esta opción causa que el uid y\n"
+" el gid efectivos sean iguales al uid y el gid real.\n"
+" -t Termina después de leer y ejecutar una orden.\n"
+" -u Trata las variables sin definir como un error se sustituyen.\n"
+" -v Muestra las líneas de entrada del shell mientras se leen.\n"
+" -x Muestra las órdenes y sus argumentos mientras se ejecutan.\n"
+" -B el shell realizará expansión de llaves.\n"
+" -C Si se activa, no permite que los ficheros regulares existentes\n"
+" se sobreescriban por redirección de la salida.\n"
+" -E Si se activa, las funciones del shell heredan la trampa ERR.\n"
+" -H Activa el estilo de sustitución de historia ! . Esta opción está\n"
+" activa por defecto cuando el shell es interactivo.\n"
+" -P Si se activa, no sigue enlaces simbólicos cuando se ejecutan órdenes\n"
+" como cd, que cambian el directorio actual.\n"
+" -T Si se activa, las funciones del shell heredan la trampa DEBUG.\n"
+" - Asigna cualquier argumento restante a los parámetros posicionales.\n"
+" Las opciones -x y -v se desactivan.\n"
" \n"
" Si se usa + en lugar de - causa que estas opciones se desactiven. Las\n"
-" opciones también se pueden usar en la invocación del shell. El "
-"conjunto\n"
+" opciones también se pueden usar en la invocación del shell. El conjunto\n"
" actual de opciones se puede encontrar en $-. Los n ARGs restantes son\n"
-" parámetros posicionales que se asignan, en orden, a $1, $2, .. $n. Si "
-"no\n"
-" se proporciona ningún ARG, se muestran todas las variables del shell."
+" parámetros posicionales que se asignan, en orden, a $1, $2, .. $n. Si no\n"
+" se proporciona ningún ARG, se muestran todas las variables del shell.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que se proporcione una opción inválida."
-#: builtins.c:1101
+#: builtins.c:1096
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \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"
+" 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"
" Exit Status:\n"
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
-
-#: builtins.c:1121
-msgid ""
-"Set export attribute for shell variables.\n"
+"Desactiva valores y atributos de las variables y funciones del shell.\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"
+" Por cada NOMBRE, borra la función o variable correspondiente.\n"
+" \n"
+" Opciones:\n"
+" -f\ttrata cada NOMBRE como una función de shell\n"
+" -v\ttrata cada NOMBRE como una variable de shell\n"
+" \n"
+" Sin opciones, unset primero trata de borrar una variable, y si falla,\n"
+" trata de borrar una función.\n"
+" \n"
+" Algunas variables no se pueden borrar; también consulte `readonly'.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que se proporcione una opción inválida o\n"
+" un NOMBRE sea de sólo lectura."
+
+#: builtins.c:1116
+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"
" Exit Status:\n"
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
+"Establece el atributo de exportación para las variables de shell.\n"
+" \n"
+" Marca cada NOMBRE para exportación automática al ambiente para las órdenes\n"
+" ejecutadas subsecuentemente. Si se proporciona un VALOR, se asigna el\n"
+" VALOR antes de exportar.\n"
+" \n"
+" Opciones:\n"
+" -f\tse refiere a funciones de shell\n"
+" -n\tborra la propiedad de exportación para cada NOMBRE\n"
+" -p\tmuestra una lista de todas las variables y funciones exportadas\n"
+" \n"
+" El argumento `--' desactiva el procesamiento posterior de opciones.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que se proporcione una opción inválida o que\n"
+" NOMBRE sea inválido."
-#: builtins.c:1140
+#: builtins.c:1135
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
+"Marca las variables de shell para evitar su modificación.\n"
+" \n"
+" Marca cada NOMBRE como de sólo lectura; los valores de esos NOMBREs\n"
+" no se pueden modificar por asignaciones subsecuentes. Si se proporciona\n"
+" un VALOR, se asigna el VALOR antes de marcar como de sólo lectura.\n"
+" \n"
+" Opciones:\n"
+" -a\tse refiere a variables de matriz indizada\n"
+" -A\tse refiere a variables de matriz asociativa\n"
+" -f\tse refiere a funciones de shell\n"
+" -p\tmuestra una lista de todas las variables y funciones de sólo lectura\n"
+" \n"
+" El argumento `--' desactiva el procesamiento posterior de opciones.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que se proporcione una opción inválida o\n"
+" el NOMBRE sea inválido."
-#: builtins.c:1161
+#: builtins.c:1156
msgid ""
"Shift positional parameters.\n"
" \n"
" Exit Status:\n"
" Returns success unless N is negative or greater than $#."
msgstr ""
+"Desplaza los parámetros posicionales.\n"
+" \n"
+" Renombra los parámetros posicionales $N+1,$N+2 ... a $1,$2 ... Si no\n"
+" se proporciona N, se asume que es 1.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que N sea negativo o mayor que $#."
-#: builtins.c:1173 builtins.c:1188
-#, fuzzy
+#: builtins.c:1168 builtins.c:1183
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
" Returns the status of the last command executed in FILENAME; fails if\n"
" FILENAME cannot be read."
msgstr ""
-"Lee y ejecuta órdenes de FILENAME y regresa. Se utilizan los nombres\n"
-" de rutas en $PATH para encontrar el directorio que contiene a FILENAME.\n"
-" Si se proporciona cualquier ARGUMENTS, se convierten en los parámetros\n"
-" posicionales cuando se ejecuta FILENAME."
+"Ejecuta órdenes de un fichero en el shell actual.\n"
+" \n"
+" Lee y ejecuta órdenes del FICHERO en el shell actual. Se utilizan las\n"
+" entradas en $PATH para encontrar el directorio que contiene el FICHERO.\n"
+" Si se proporciona ARGUMENTOS, se convierten en los parámetros posicionales\n"
+" cuando se ejecuta el FICHERO.\n"
+" Estado de Salida:\n"
+" Devuelve el estado de la última orden ejecutada del FICHERO; falla si\n"
+" no se puede leer el FICHERO."
-#: builtins.c:1204
+#: builtins.c:1199
msgid ""
"Suspend shell execution.\n"
" \n"
" Exit Status:\n"
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
+"Suspende la ejecución del shell.\n"
+" \n"
+" Suspende la ejecución de este shell hasta que recibe una señal SIGCONT.\n"
+" Los shells de entrada no se pueden suspender, a menos que sean forzados.\n"
+" \n"
+" Opciones:\n"
+" -f\tfuerza la suspensión, aún si el shell es un shell de entrada\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que no esté activo el control de trabajos o\n"
+" suceda un error."
-#: builtins.c:1220
-#, fuzzy
+#: builtins.c:1215
msgid ""
"Evaluate conditional expression.\n"
" \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 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"
" STRING1 != STRING2\n"
" True if the strings are not equal.\n"
" STRING1 < STRING2\n"
-" True if STRING1 sorts before STRING2 "
-"lexicographically.\n"
+" True if STRING1 sorts before STRING2 lexicographically.\n"
" STRING1 > STRING2\n"
" True if STRING1 sorts after STRING2 lexicographically.\n"
" \n"
" Returns success if EXPR evaluates to true; fails if EXPR evaluates to\n"
" false or an invalid argument is given."
msgstr ""
-"Termina con un estado de 0 (verdadero) o 1 (falso) dependiendo de\n"
+"Evalúa expresiones condicionales.\n"
+" \n"
+" Termina con un estado de 0 (verdadero) o 1 (falso) dependiendo de\n"
" la evaluación de EXPR. Las expresiones pueden ser unarias o binarias.\n"
" Las expresiones unarias se usan generalmente para examinar el estado\n"
" de un fichero. Hay también operadores de cadenas, y operadores de\n"
" \n"
" Operadores de fichero:\n"
" \n"
-" -a FILE Verdadero si el fichero existe.\n"
-" -b FILE Verdadero si el fichero es especial de bloques.\n"
-" -c FILE Verdadero si el fichero es especial de caracteres.\n"
-" -d FILE Verdadero si el fichero es un directorio.\n"
-" -e FILE Verdadero si el fichero existe.\n"
-" -f FILE Verdadero si el fichero existe y es un fichero "
-"regular.\n"
-" -g FILE Verdadero si el fichero tiene activado el set-group-"
-"id.\n"
-" -h FILE Verdadero si el fichero es un enlace simbólico.\n"
-" -L FILE Verdadero si el fichero es un enlace simbólico.\n"
-" -k FILE Verdadero si el fichero tiene el bit \"sticky\" "
-"activado.\n"
-" -p FILE Verdadero si el fichero es una tubería nombrada.\n"
-" -r FILE Verdadero si el fichero es legible para usted.\n"
-" -s FILE Verdadero si el fichero existe y no está vacío.\n"
-" -S FILE Verdadero si el fichero es un \"socket\".\n"
-" -t FD Verdadero si el FD está abierto en una terminal.\n"
-" -u FILE Verdadero si el fichero tiene activado el set-user-"
-"id.\n"
-" -w FILE Verdadero si usted puede modificar el fichero.\n"
-" -x FILE Verdadero si usted puede ejecutar el fichero.\n"
-" -O FILE Verdadero si usted efectivamente posee el fichero.\n"
-" -G FILE Verdadero si su grupo efectivamente posee el "
-"fichero.\n"
-" -N FILE Verdadero si el fichero se modificó desde la última "
-"lectura.\n"
-" \n"
-" FILE1 -nt FILE2 Verdadero si file1 es más reciente que file2\n"
+" -a FICHERO Verdadero si el fichero existe.\n"
+" -b FICHERO Verdadero si el fichero es especial de bloques.\n"
+" -c FICHERO Verdadero si el fichero es especial de caracteres.\n"
+" -d FICHERO Verdadero si el fichero es un directorio.\n"
+" -e FICHERO Verdadero si el fichero existe.\n"
+" -f FICHERO Verdadero si el fichero existe y es un fichero regular.\n"
+" -g FICHERO Verdadero si el fichero tiene activado el set-group-id.\n"
+" -h FICHERO Verdadero si el fichero es un enlace simbólico.\n"
+" -L FICHERO Verdadero si el fichero es un enlace simbólico.\n"
+" -k FICHERO Verdadero si el fichero tiene el bit `sticky' activado.\n"
+" -p FICHERO Verdadero si el fichero es una tubería nombrada.\n"
+" -r FICHERO Verdadero si el fichero es legible para usted.\n"
+" -s FICHERO Verdadero si el fichero existe y no está vacío.\n"
+" -S FICHERO Verdadero si el fichero es un `socket'.\n"
+" -t DF Verdadero si el DF está abierto en una terminal.\n"
+" -u FICHERO Verdadero si el fichero tiene activado el set-user-id.\n"
+" -w FICHERO Verdadero si usted puede escribir en el fichero.\n"
+" -x FICHERO Verdadero si usted puede ejecutar el fichero.\n"
+" -O FICHERO Verdadero si usted efectivamente posee el fichero.\n"
+" -G FICHERO Verdadero si su grupo efectivamente posee el fichero.\n"
+" -N FICHERO Verdadero si el fichero se modificó desde la última lectura.\n"
+" \n"
+" FICH1 -nt FICH2 Verdadero si fich1 es más reciente que fich2\n"
" (de acuerdo a la fecha de modificación).\n"
" \n"
-" FILE1 -ot FILE2 Verdadero si file1 es más antiguo que file2.\n"
+" FICH1 -ot FICH2 Verdadero si fich1 es más antiguo que fich2.\n"
" \n"
-" FILE1 -ef FILE2 Verdadero si file1 es un enlace duro a file2.\n"
+" FICH1 -ef FICH2 Verdadero si fich1 es un enlace duro a fich2.\n"
" \n"
" Operadores de cadenas:\n"
" \n"
-" -z STRING Verdadero si la cadena está vacía.\n"
+" -z CADENA Verdadero si la cadena está vacía.\n"
" \n"
-" -n STRING\n"
-" STRING Verdadero si la cadena no está vacía.\n"
+" -n CADENA\n"
+" CADENA Verdadero si la cadena no está vacía.\n"
" \n"
-" STRING1 = STRING2\n"
-" Verdadero si las cadenas son iguales.\n"
-" STRING1 != STRING2\n"
-" Verdadero si las cadenas no son iguales.\n"
-" STRING1 < STRING2\n"
-" Verdadero si STRING1 se ordena antes que STRING2\n"
-" lexicográficamente.\n"
-" STRING1 > STRING2\n"
-" Verdadero si STRING1 se ordena después que STRING2\n"
-" lexicográficamente.\n"
+" CADENA1 = CADENA2\n"
+" Verdadero si las cadenas son iguales.\n"
+" CADENA1 != CADENA2\n"
+" Verdadero si las cadenas no son iguales.\n"
+" CADENA1 < CADENA2\n"
+" Verdadero si STRING1 se ordena antes que STRING2\n"
+" lexicográficamente.\n"
+" CADENA1 > CADENA2\n"
+" Verdadero si STRING1 se ordena después que STRING2\n"
+" lexicográficamente.\n"
" \n"
" Otros operadores:\n"
" \n"
-" -o OPTION Verdadero si la opción del shell OPTION está "
-"activada.\n"
-" ! EXPR Verdadero si expr es falso.\n"
-" EXPR1 -a EXPR2 Verdadero si expr1 Y expr2 are son verdaderas.\n"
-" EXPR1 -o EXPR2 Verdadero si cualquiera de expr1 O expr2 es "
-"verdadera.\n"
+" -o OPCIÓN Verdadero si la opción del shell OPCIÓN está activada.\n"
+" ! EXPR Verdadero si expr es falso.\n"
+" EXPR1 -a EXPR2 Verdadero si expr1 Y expr2 are son verdaderas.\n"
+" EXPR1 -o EXPR2 Verdadero si cualquiera de expr1 O expr2 es verdadera.\n"
" \n"
-" arg1 OP arg2 Pruebas aritméticas. OP es uno de -eq, -ne,\n"
+" arg1 OP arg2 Pruebas aritméticas. OP es uno de -eq, -ne,\n"
" -lt, -le, -gt, or -ge.\n"
" \n"
" Los operadores binarios aritméticos devuelven verdadero si ARG1 es\n"
-" igual, no igual, menor, menor o igual, mayor, mayor o igual que ARG2."
+" igual, no igual, menor, menor o igual, mayor, mayor o igual que ARG2.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito si EXPR evalúa a verdadero; falla si EXPR evalúa a\n"
+" falso o se proporciona un argumento inválido."
-#: builtins.c:1296
-#, fuzzy
+#: builtins.c:1291
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 ""
-"Este es un sinónimo para la orden interna \"test\", pero el último\n"
+"Evalúa una expresión condicional.\n"
+" \n"
+" Este es un sinónimo para la orden interna \"test\", pero el último\n"
" argumento debe ser un `]' literal, que coincida con el `[' inicial."
-#: builtins.c:1305
+#: builtins.c:1300
msgid ""
"Display process times.\n"
" \n"
-" Prints the accumulated user and system times for the shell and all of "
-"its\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 ""
+"Muestra los tiempos de proceso.\n"
+" \n"
+" Muestra los tiempos de usuario y sistema acumulados por el shell y todos\n"
+" sus procesos hijos.\n"
+" \n"
+" Estado de salida:\n"
+" Siempre con éxito."
-#: builtins.c:1317
-#, fuzzy
+#: builtins.c:1312
msgid ""
"Trap signals and other events.\n"
" \n"
-" Defines and activates handlers to be run when the shell receives "
-"signals\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"
" 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"
+" 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"
+" If no arguments are supplied, trap prints the list of commands associated\n"
" with each signal.\n"
" \n"
" Options:\n"
" -l\tprint a list of signal names and their corresponding numbers\n"
" -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
" \n"
-" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
-"number.\n"
+" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal number.\n"
" Signal names are case insensitive and the SIG prefix is optional. A\n"
" signal may be sent to the shell with \"kill -signal $$\".\n"
" \n"
" Exit Status:\n"
-" Returns success unless a SIGSPEC is invalid or an invalid option is "
-"given."
+" Returns success unless a SIGSPEC is invalid or an invalid option is given."
msgstr ""
-"La orden ARG se lee y ejecuta cuando el shell recibe la(s) señal(es)\n"
-" SIGNAL_SPEC. Si ARG no está presente (y sólo se proporciona una sola\n"
-" SIGNAL_SPEC) o se proporciona `-', cada señal especificada se\n"
-" reestablece a su valor original. Si ARG es la cadena nula, cada\n"
-" SIGNAL_SPEC es ignorada por el shell y por las órdenes que invoque.\n"
-" Si una SIGNAL_SPEC es EXIT (0) se ejecuta la orden ARG al salir del\n"
-" shell. Si una SIGNAL_SPEC es DEBUG, se ejecuta ARG después de cada\n"
-" orden simple. Si se especifica la opción `-p' entonces se muestran\n"
-" las órdenes de trampa asociadas con cada SIGNAL_SPEC. Si no se\n"
-" proporcionan argumentos o si sólo se especifica `-p', trap muestra\n"
-" la lista de órdenes asociadas a cada señal. Cada SIGNAL_SPEC es un\n"
-" nombre de señal en <signal.h> o un número de señal. Los nombres de\n"
-" señal no son sensibles a mayúsculas y minúsculas y el prefijo SIG\n"
-" es opcional. `trap -l' muestra una lista de nombres de señal y sus\n"
-" números correspondientes. Note que se puede enviar una señal al shell "
-"con\n"
-" \"kill -signal $$\"."
-
-#: builtins.c:1349
+"Atrapa señales y otros eventos.\n"
+" \n"
+" Define y activa manejadores a ejecutar cuando el shell recibe señales\n"
+" u otras condiciones.\n"
+" \n"
+" ARG es una orden para leer y ejecutar cuando el shell recibe la(s)\n"
+" señal(es) ID_SEÑAL. Si ARG no está presente (y sólo se proporciona\n"
+" una sola ID_SEÑAL) o se proporciona `-', cada señal especificada se\n"
+" reestablece a su valor original. Si ARG es la cadena nula, el shell\n"
+" y las órdenes que invoque ignoran cada ID_SEÑAL.\n"
+" \n"
+" Si una ID_SEÑAL es EXIT (0) se ejecuta la orden ARG al salir del\n"
+" shell. Si una ID_SEÑAL es DEBUG, se ejecuta ARG después de cada\n"
+" orden simple.\n"
+" \n"
+" Si no se proporcionan argumentos, trap muestra la lista de órdenes\n"
+" asociadas con cada señal.\n"
+" \n"
+" Opciones:\n"
+" -l\tmuestra una lista de nombres de señal con su número correspondiente\n"
+" -p\tmuestra las órdenes trap asociadas con cada ID_SEÑAL\n"
+" \n"
+" Cada ID_SEÑAL es un nombre de señal en <signal.h> o un número de señal.\n"
+" Los nombres de señal no son sensibles a mayúsculas y minúsculas y el\n"
+" prefijo SIG es opcional. Se puede enviar una señal al shell con\n"
+" \"kill -signal $$\". \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que una ID_SEÑAL sea inválida o se proporcione\n"
+" una opción inválida."
+
+# No he visto que este fichero incluya la posibilidad de traducir las
+# palabras que muestra `type -t'. Por esta razón, se dejan en inglés. cfuga
+#: builtins.c:1344
msgid ""
"Display information about command type.\n"
" \n"
" NAME\tCommand name to be interpreted.\n"
" \n"
" Exit Status:\n"
-" Returns success if all of the NAMEs are found; fails if any are not "
-"found."
-msgstr ""
-
-#: builtins.c:1380
-#, fuzzy
+" Returns success if all of the NAMEs are found; fails if any are not found."
+msgstr ""
+"Muestra información sobre el tipo de orden.\n"
+" \n"
+" Por cada NOMBRE, indica cómo se interpretaría si se usa como un nombre\n"
+" de orden.\n"
+" \n"
+" Opciones:\n"
+" -a\tmuestra todas las ubicaciones que contienen un ejecutable llamado\n"
+" \tNOMBRE; incluye aliases, órdenes internas, y funciones, solo y solo si\n"
+" \tno se usó también la opción `-p'\n"
+" -f\tsuprime la búsqueda de funciones de shell\n"
+" -P\tfuerza una búsqueda en PATH por cada nombre, aún si hay un alias,\n"
+" \torden interna, o función, y devuelve el nombre del fichero en el disco\n"
+" \tque se ejecutaría\n"
+" -p\tdevuelve ya sea el nombre del fichero en disco que se ejecutaría,\n"
+" \to nada si `type -t NOMBRE' no devuelve `fichero'.\n"
+" -t\tmuestra una sola palabra, que es una de `alias', `keyword',\n"
+" \t`function', `builtin', `file' o `', si el NOMBRE es un alias,\n"
+" \tpalabra reservada del shell, función del shell, orden interna del\n"
+" \tshell, fichero de disco, o no se encuentra, respectivamente.\n"
+" \n"
+" Argumentos:\n"
+" NOMBRE\tNombre de orden a interpretar.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito si se encuentran todos los NOMBREs; falla si no se\n"
+" encuentra alguno."
+
+#: builtins.c:1375
msgid ""
"Modify shell resource limits.\n"
" \n"
-" Provides control over the resources available to the shell and "
-"processes\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"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-"Ulimit provee control sobre los recursos disponibles para los\n"
-" procesos iniciados por el shell, en sistemas que permiten dicho\n"
-" control. Si se proporciona una opción, se interpreta así:\n"
-" \n"
-" -S\tusa el límite de recurso `soft'\n"
-" -H\tusa el límite de recurso `hard'\n"
-" -a\tse muestran todos los límites actuales\n"
-" -c\tel tamaño máximo de los ficheros `core' creados\n"
-" -d\tel tamaño máximo del segmento de datos de un proceso\n"
-" -e\tla prioridad máxima de calendarización (`nice')\n"
-" -f\tel tamaño máximo de los ficheros escritos por el shell y\n"
-" \tsus hijos\n"
-" -i\tel número máximo de señales pendientes\n"
-" -l\tel tamaño máximo que un proceso puede bloquear en memoria\n"
-" -m\tel tamaño máximo para las variables residentes\n"
-" -n\tel número máximo de descriptores de fichero abiertos\n"
-" -p\tel tamaño de almacenamiento intermedio para tuberías\n"
-" -q\tel tamaño máximo de bytes en las colas de mensajes POSIX\n"
-" -r\tla prioridad máxima de calendarización en tiempo real\n"
-" -s\tel tamaño máximo de pila\n"
-" -t\tla cantidad máxima de tiempo de cpu en segundos\n"
-" -u\tel número máximo de procesos de usuario\n"
-" -v\tel tamaño de la memoria virtual\n"
-" -x\tel número máximo de bloqueos de ficheros\n"
-" \n"
-" Si se establece LIMIT, éste es el nuevo valor del recurso especificado;\n"
-" los valores especiales de de LIMIT `soft', `hard' y `unlimited'\n"
+"Modifica los límites de recursos del shell.\n"
+" \n"
+" Provee control sobre los recursos disponibles para el shell y los\n"
+" procesos que crea, en sistemas que permiten tal control.\n"
+" \n"
+" Opciones:\n"
+" \n"
+" -S\tusa el límite de recurso `soft'\n"
+" -H\tusa el límite de recurso `hard'\n"
+" -a\tmuestra todos los límites actuales\n"
+" -b\tel tamaño del almacenamiento intermedio del `socket'\n"
+" -c\tel tamaño máximo de los ficheros `core' creados\n"
+" -d\tel tamaño máximo del segmento de datos de un proceso\n"
+" -e\tla prioridad máxima de calendarización (`nice')\n"
+" -f\tel tamaño máximo de los ficheros escritos por el shell y sus hijos\n"
+" -i\tel número máximo de señales pendientes\n"
+" -l\tel tamaño máximo que un proceso puede bloquear en memoria\n"
+" -m\tel tamaño máximo para las variables residentes\n"
+" -n\tel número máximo de descriptores de fichero abiertos\n"
+" -p\tel tamaño del almacenamiento intermedio para tuberías\n"
+" -q\tel tamaño máximo de bytes en las colas de mensajes POSIX\n"
+" -r\tla prioridad máxima de calendarización en tiempo real\n"
+" -s\tel tamaño máximo de pila\n"
+" -t\tla cantidad máxima de tiempo de cpu en segundos\n"
+" -u\tel número máximo de procesos de usuario\n"
+" -v\tel tamaño de la memoria virtual\n"
+" -x\tel número máximo de bloqueos de ficheros\n"
+" \n"
+" Si se establece LÍMITE, éste es el nuevo valor del recurso especificado;\n"
+" los valores especiales de LÍMITE `soft', `hard' y `unlimited'\n"
" corresponden al límite suave actual, el límite duro actual, y\n"
" sin límite, respectivamente. De otra forma, se muestra el valor actual\n"
" de los recursos especificados. Si no se proporciona una opción, se\n"
-" asume -f. Los valores son en incrementos de 1024 bytes, excepto para\n"
-" -t, el cual es en segundos, -p, el cual es en incrementos de 512 bytes,\n"
-" y -u, el cual es un número de procesos sin escala."
+" asume -f.\n"
+" \n"
+" Los valores son en incrementos de 1024 bytes, excepto para -t, el cual\n"
+" es en segundos, -p, el cual es en incrementos de 512 bytes, y -u, el\n"
+" cual es un número de procesos sin escala.\n"
+" \n"
+" Estado de salida:\n"
+" Devuelve con éxito a menos que se proporcione una opción inválida o suceda\n"
+" un error."
-#: builtins.c:1425
+#: builtins.c:1420
msgid ""
"Display or set file mode mask.\n"
" \n"
" Exit Status:\n"
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
+"Muestra o establece la máscara de modo de ficheros.\n"
+" \n"
+" Establece la máscara de creación de ficheros del usuario a MODO. Si se\n"
+" omite el MODO, muestra el valor actual de la máscara.\n"
+" \n"
+" Si el MODO empieza con un dígito, se interpreta como un número octal;\n"
+" de otra forma es una cadena de modo simbólico como la que acepta chmod (1).\n"
+" \n"
+" Opciones:\n"
+" -p\tsi se omite el MODO, muestra en una forma reusable como entrada\n"
+" -S\tsalida simbólica; de otra forma muestra el modo como número octal\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que el MODO sea inválido o se proporcione\n"
+" una opción inválida."
-#: builtins.c:1445
+#: builtins.c:1440
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"
+" 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"
+" Returns the status of ID; fails if ID is invalid or an invalid option is\n"
" given."
msgstr ""
+"Espera la terminación del trabajo y devuelve el estado de salida.\n"
+" \n"
+" Espera al proceso identificado por ID, el cual puede ser un ID de\n"
+" proceso o una especificación de trabajo, y reporta su estado de salida.\n"
+" Si no se proporciona un ID, espera a todos los procesos hijo activos,\n"
+" y el estado de devolución es cero. Si ID es una especificación de\n"
+" trabajo, espera a todos los procesos en la cola de trabajos.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve el estado de ID; falla si ID es inválido o se proporciona una\n"
+" opción inválida."
-#: builtins.c:1463
-#, fuzzy
+#: builtins.c:1458
msgid ""
"Wait for process completion and return exit status.\n"
" \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"
+" Returns the status of ID; fails if ID is invalid or an invalid option is\n"
" given."
msgstr ""
-"Espera al proceso especificado y reporta su estado final. Si no se\n"
-" proporciona N, espera a todos los procesos hijo activos actualmente,\n"
-" y el código de devolución es cero. N puede ser un ID de proceso o\n"
-" una especificación de trabajo; si se proporciona una especificación\n"
-" de trabajo, se espera a todos los procesos en la línea de ejecución\n"
-" del trabajo."
-
-#: builtins.c:1478
-#, fuzzy
+"Espera la terminación del trabajo y devuelve el estado de salida.\n"
+" \n"
+" Espera al proceso especificado y reporta su estado de salida. Si\n"
+" no se proporciona un PID, espera a todos los procesos hijo activos,\n"
+" y el código de devolución es cero. PID debe ser un ID de proceso.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve el estado de ID; falla si ID es inválido o se proporciona una\n"
+" opción inválida."
+
+#: builtins.c:1473
msgid ""
"Execute commands for each member in a list.\n"
" \n"
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
-"El ciclo `for' ejecuta una secuencia de órdenes para cada miembro\n"
-" lista de elementos. Si `in WORDS ...;' no está presente, entonces\n"
-" se asume `in \"$@\"'. Para cada elemento en WORDS, se define NAME\n"
-" como ese elemento, y se ejecutan COMMANDS."
+"Ejecuta órdenes por cada miembro en una lista.\n"
+" \n"
+" El ciclo `for' ejecuta una secuencia de órdenes para cada miembro en\n"
+" una lista de elementos. Si `in PALABRAS ...;' no está presente,\n"
+" entonces se asume `in \"$@\"'. Para cada elemento en PALABRAS,\n"
+" se define NOMBRE como ese elemento, y se ejecutan las ÓRDENES.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1492
-#, fuzzy
+#: builtins.c:1487
msgid ""
"Arithmetic for loop.\n"
" \n"
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
-"Equivalente a\n"
+"Aritmética para un ciclo.\n"
+" \n"
+" Equivalente a\n"
" \t(( EXP1 ))\n"
" \twhile (( EXP2 )); do\n"
-" \t\tCOMMANDS\n"
+" \t\tÓRDENES\n"
" \t\t(( EXP3 ))\n"
" \tdone\n"
" EXP1, EXP2, y EXP3 son expresiones aritméticas. Si se omite\n"
-" cualquier expresión, se comporta como si se evaluara a 1."
+" cualquier expresión, se comporta como si se evaluara a 1.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1510
-#, fuzzy
+#: builtins.c:1505
msgid ""
"Select words from a list and execute commands.\n"
" \n"
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
-"Se expanden WORDS, generando una lista de palabras. El\n"
-" conjunto de palabras expandidas se muestra en la salida\n"
-" de error estándard, cada una precedida por un número. Si\n"
-" `in WORDS' no está presente, se asume `in \"$@\"'. Entonces\n"
-" se muestra el prompt PS3 y se lee una línea de la entrada\n"
-" estándard. Si la línea consiste en el número correspondiente\n"
-" a una de las palabras mostradas, entonces se define NAME como\n"
-" esa palabra. Si la linea está vacía, WORDS y el prompt se\n"
-" muestran de nuevo. Si se lee EOF, se completa la orden.\n"
-" Cualquier otro valor leído causa que NAME se defina como null.\n"
-" La línea leída se guarda en la variable REPLY. Se ejecutan\n"
-" COMMANDS después de cada selección hasta que se ejecuta\n"
-" una orden break."
-
-#: builtins.c:1531
-#, fuzzy
+"Selecciona palabras de una lista y ejecuta órdenes.\n"
+" \n"
+" Se expanden las PALABRAS, generando una lista de palabras. El\n"
+" conjunto de palabras expandidas se muestra en la salida de error\n"
+" estándar, cada una precedida por un número. Si `in PALABRAS' no\n"
+" está presente, se asume `in \"$@\"'. Entonces se muestra el\n"
+" prompt PS3 y se lee una línea de la entrada estándar. Si la\n"
+" línea consiste en el número correspondiente a una de las palabras\n"
+" mostradas, entonces se define NOMBRE como esa palabra. Si la\n"
+" línea está vacía, PALABRAS y el prompt se muestran de nuevo. Si\n"
+" se lee EOF, se completa la orden. Cualquier otro valor leído\n"
+" causa que NOMBRE se defina como nulo. La línea leída se guarda\n"
+" en la variable REPLY. Se ejecutan las ÓRDENES después de cada\n"
+" selección hasta que se ejecuta una orden break.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve el estado de la última orden ejecutada."
+
+#: builtins.c:1526
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
" Exit Status:\n"
" The return status is the return status of PIPELINE."
msgstr ""
-"Ejecuta PIPELINE y muestra un resumen del tiempo real, el tiempo de\n"
+"Reporta el tiempo consumido por la ejecución de la tubería.\n"
+" \n"
+" Ejecuta la TUBERÍA y muestra un resumen del tiempo real, el tiempo de\n"
" CPU del usuario, y el tiempo de CPU del sistema utilizado por\n"
-" la ejecución de PIPELINE cuando termina. El estado de devolución\n"
-" es el estado de devolución de PIPELINE. La opción `-p' muestra\n"
-" el resumen de tiempos en un formato ligeramente diferente, usando\n"
-" el valor de la variable TIMEFORMAT como el formato de salida."
+" la ejecución de la TUBERÍA cuando termina.\n"
+" \n"
+" Opciones:\n"
+" -p\tmuestra el resumen de tiempos en el formato Posix transportable\n"
+" \n"
+" Estado de Salida:\n"
+" El estado de devolución es el estado de devolución de la TUBERÍA."
-#: builtins.c:1548
-#, fuzzy
+#: builtins.c:1543
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
-"Ejecuta ÓRDENES selectivamente basado en coincidencias de la PALABRA con\n"
-" el PATRÓN. Se utiliza `|' para separar patrones múltiples."
+"Ejecuta órdenes en base a la coincidencia de patrones.\n"
+" \n"
+" Ejecuta ÓRDENES selectivamente basado en coincidencias de la PALABRA\n"
+" con el PATRÓN. Se utiliza `|' para separar patrones múltiples.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1560
-#, fuzzy
+#: builtins.c:1555
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"
+" 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"
+" `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 ""
-"Se ejecuta la lista `if COMMANDS'. Si su estado de salida es cero,\n"
-" entonces se ejecuta la lista `then COMMANDS`. De otra forma, cada "
-"lista\n"
-" `elif COMMANDS' se ejecuta en su lugar, y si su estado de salida es "
-"cero,\n"
-" se ejecuta la lista correspondiente `then COMMANDS' y se completa la\n"
-" orden if. De otra forma, se ejecuta la lista `else COMMANDS', si está\n"
+"Ejecuta comandos en base a condicionales.\n"
+" \n"
+" Se ejecuta la lista `if ÓRDENES'. Si su estado de salida es cero,\n"
+" entonces se ejecuta la lista `then ÓRDENES`. De otra forma, cada lista\n"
+" `elif ÓRDENES' se ejecuta en su lugar, y si su estado de salida es cero,\n"
+" se ejecuta la lista `then ÓRDENES' correspondiente y se completa la\n"
+" orden if. De otra forma, se ejecuta la lista `else ÓRDENES', si está\n"
" presente. El estado de salida de toda la construcción es el estado de\n"
-" salida de la última orden ejecutada, o cero si ninguna condición "
-"resultó\n"
-" verdadera."
+" salida de la última orden ejecutada, o cero si ninguna condición resultó\n"
+" verdadera.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1577
-#, fuzzy
+#: builtins.c:1572
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
-"Expande y ejecuta ÓRDENES mientras la orden final en las ÓRDENES\n"
-" `while' tenga un estado de salida de cero."
+"Ejecuta órdenes mientras una prueba tenga éxito.\n"
+" \n"
+" Expande y ejecuta ÓRDENES mientras la orden final en las ÓRDENES\n"
+" `while' tenga un estado de salida de cero.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1589
-#, fuzzy
+#: builtins.c:1584
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
-"Expande y ejecuta ÓRDENES mientras la orden final en las ÓRDENES\n"
-" `until' tengan un estado de salida que no sea cero."
-
-#: builtins.c:1601
-msgid ""
-"Create a coprocess named NAME.\n"
+"Ejecuta órdenes mientras una prueba no tenga éxito.\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"
+" Expande y ejecuta ÓRDENES mientras la orden final en las ÓRDENES\n"
+" `until' tengan un estado de salida que no sea cero.\n"
" \n"
-" Exit Status:\n"
-" Returns the exit status of COMMAND."
-msgstr ""
+" Estado de Salida:\n"
+" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1615
+#: builtins.c:1596
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"
+" 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 ""
+"Define una función de shell.\n"
+" \n"
+" Crea una función de shell llamada NOMBRE. Cuando se invoca como una\n"
+" orden simple, NOMBRE ejecuta ÓRDENES en el contexto del shell que lo\n"
+" llamó. Cuando se invoca NOMBRE, los argumentos se pasan a la función\n"
+" como $1...$n, y el nombre de la función está en $FUNCNAME.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que NOMBRE sea de sólo lectura"
-#: builtins.c:1629
-#, fuzzy
+#: builtins.c:1610
msgid ""
"Group commands as a unit.\n"
" \n"
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
-"Corre un conjunto de órdenes en un grupo. Esta es una forma de redirigir\n"
-" un conjunto completo de órdenes."
+"Agrupa órdenes como una unidad.\n"
+" \n"
+" Ejecuta un conjunto de órdenes en un grupo. Esta es una forma de\n"
+" redirigir un conjunto completo de órdenes.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1641
-#, fuzzy
+#: builtins.c:1622
msgid ""
"Resume job in foreground.\n"
" \n"
" Exit Status:\n"
" Returns the status of the resumed job."
msgstr ""
-"Equivalente al argumento JOB_SPEC de la orden `fg'. Reinicia un\n"
-" trabajo detenido o en segundo plano. JOB_SPEC puede especificar\n"
+"Reinicia el trabajo en primer plano.\n"
+" \n"
+" Equivalente al argumento IDTRABAJO de la orden `fg'. Reinicia un\n"
+" trabajo detenido o en segundo plano. IDTRABAJO puede especificar\n"
" un nombre de trabajo o un número de trabajo. Un `&' a continuación\n"
-" de JOB_SPEC colocal al trabajo en segundo plano, como si la\n"
+" de IDTRABAJO coloca al trabajo en segundo plano, como si la\n"
" especificación del trabajo se hubiera proporcionado como\n"
-" un argumento de `bg'."
+" un argumento de `bg'.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve el estado del trabajo reiniciado."
-#: builtins.c:1656
-#, fuzzy
+#: builtins.c:1637
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
" Exit Status:\n"
" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
msgstr ""
-"Se evalua EXPRESSION de acuerdo a las reglas de evaluación\n"
-" aritmética. Equivalente a \"let EXPRESSION\"."
+"Evalúa una expresión aritmética.\n"
+" \n"
+" Se evalua la EXPRESIÓN de acuerdo a las reglas de evaluación\n"
+" aritmética. Equivalente a \"let EXPRESIÓN\".\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve 1 si la EXPRESIÓN evalúa a 0; devuelve 0 de otra manera."
-#: builtins.c:1668
-#, fuzzy
+#: builtins.c:1649
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"
+" 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"
" Exit Status:\n"
" 0 or 1 depending on value of EXPRESSION."
msgstr ""
-"Devuelve un estado de 0 ó 1 dependiendo de la evaluación de la expresión\n"
-" condicional EXPRESSION. Las expresiones se componen de los mismos\n"
+"Ejecuta una orden condicional.\n"
+" \n"
+" Devuelve un estado de 0 ó 1 dependiendo de la evaluación de la expresión\n"
+" condicional EXPRESIÓN. Las expresiones se componen de los mismos\n"
" elementos primarios usados por la orden interna `test', y se pueden\n"
-" combinar usando los siguientes operadores\n"
+" combinar usando los siguientes operadores:\n"
" \n"
-" \t( EXPRESSION )\tDevuelve el valor de EXPRESSION\n"
-" \t! EXPRESSION\tVerdadero si EXPRESSION es falso; de otra forma es "
-"falso\n"
-" \tEXPR1 && EXPR2\tVerdadero si EXPR1 y EXPR2 son verdaderos; de\n"
-" \t \totra forma es falso\n"
+" ( EXPRESIÓN )\tDevuelve el valor de la EXPRESIÓN\n"
+" ! EXPRESIÓN\tVerdadero si la EXPRESIÓN es falsa; de otra forma es falso\n"
+" EXPR1 && EXPR2\tVerdadero si EXPR1 y EXPR2 son verdaderos; de\n"
+" \t\totra forma es falso\n"
" \tEXPR1 || EXPR2\tVerdadero si EXPR1 o EXPR2 es verdadero; de\n"
-" \t \totra forma es falso\n"
+" \t\totra forma es falso\n"
" \n"
" Cuando se usan los operadores `==' y `!=', se usa la cadena a la\n"
" derecha del operador como un patrón y se realiza una coincidencia de\n"
-" patrón. Los operadores && y || no evalúan EXPR2 si EXPR1 es\n"
-" suficiente para determinar el valor de una expresión."
+" patrones. Cuando se usa el operador `=~', la cadena a la derecha del\n"
+" operador coincide como una expresión regular.\n"
+" \n"
+" Los operadores && y || no evalúan EXPR2 si EXPR1 es suficiente para\n"
+" determinar el valor de una expresión. \n"
+" Estado de Salida:\n"
+" 0 o 1 dependiendo del valor de la EXPRESIÓN."
-#: builtins.c:1694
-#, fuzzy
+#: builtins.c:1675
msgid ""
"Common shell variable names and usage.\n"
" \n"
" HISTIGNORE\tA colon-separated list of patterns used to decide which\n"
" \t\tcommands should be saved on the history list.\n"
msgstr ""
-"BASH_VERSION\tInformación de versión para este Bash.\n"
+"Nombres de variables de shell comunes y su uso.\n"
+" \n"
+" BASH_VERSION\tInformación de versión para este Bash.\n"
" CDPATH\tUna lista de directorios separada por dos puntos\n"
" \t\tpara buscar directorios dados como argumentos para `cd'.\n"
" GLOBIGNORE\tUna lista de patrones separada por dos puntos\n"
" \t\tpara decidir cuáles órdenes se deben guardar en la lista de\n"
" \t\thistoria.\n"
-#: builtins.c:1751
-#, fuzzy
+#: builtins.c:1732
msgid ""
"Add directories to stack.\n"
" \n"
" Returns success unless an invalid argument is supplied or the directory\n"
" change fails."
msgstr ""
-"Agrega un directorio al tope de la pila de directorios, o rota\n"
+"Agrega directorios a la pila.\n"
+" \n"
+" Agrega un directorio al tope de la pila de directorios, o rota\n"
" la pila, haciendo que el nuevo tope de la pila sea el\n"
" directorio de trabajo actual. Sin argumentos, intercambia\n"
" los dos directorios del tope.\n"
" \n"
-" +N\tRota la pila para que el N-ésimo directorio (contando\n"
-" \tde la izquierda de la lista mostrada por `dirs',\n"
-" \tcomenzando desde cero) esté en el tope.\n"
-" -N\tRota la pila para que el N-ésimo directorio (contando\n"
-" \tde la derecha de la lista mostrada por `dirs',\n"
-" \tcomenzando desde cero) esté en el tope.\n"
-" \n"
-" -n\tsuprime el cambio normal de directorio cuando se agregan\n"
+" Opciones:\n"
+" -n\tsuprime el cambio normal de directorio cuando se agregan\n"
" \tdirectorios a la pila, así sólo se manipula la pila.\n"
" \n"
-" dir\tagrega DIR a la pila de directorios en el tope,\n"
+" Argumentos:\n"
+" +N\tRota la pila para que el N-ésimo directorio (contando\n"
+" \tde la izquierda de la lista mostrada por `dirs',comenzando\n"
+" \tdesde cero) esté en el tope.\n"
+" \n"
+" -N\tRota la pila para que el N-ésimo directorio (contando\n"
+" \tde la derecha de la lista mostrada por `dirs', comenzando\n"
+" \tdesde cero) esté en el tope.\n"
+" \n"
+" dir\tagrega DIR a la pila de directorios en el tope,\n"
" \thaciéndolo el nuevo directorio de trabajo actual.\n"
" \n"
-" Puede ver la pila de directorios con la orden `dirs'."
+" La orden interna `dirs' muestra la pila de directorios.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que se proporcione un argumento inválido o\n"
+" falle el cambio de directorio."
-#: builtins.c:1785
-#, fuzzy
+#: builtins.c:1766
msgid ""
"Remove directories from stack.\n"
" \n"
" Returns success unless an invalid argument is supplied or the directory\n"
" change fails."
msgstr ""
-"Borra entradas de la pila de directorios. Sin argumentos,\n"
+"Borra directorios de la pila.\n"
+" \n"
+" Borra entradas de la pila de directorios. Sin argumentos,\n"
" borra el directorio del tope de la pila, y cambia al\n"
" nuevo directorio tope.\n"
" \n"
-" +N\tBorra la N-ésima entrada contando de la izquierda de\n"
+" Opciones:\n"
+" -n\tsuprime el cambio normal de directorio cuando se borran\n"
+" \tdirectorios de la pila, así sólo se manipula la pila.\n"
+" \n"
+" Argumentos:\n"
+" \n"
+" +N\tBorra la N-ésima entrada contando de la izquierda de\n"
" \tla lista mostrada por `dirs', comenzando desde cero.\n"
" \tPor ejemplo: `popd +0' borra el primer directorio, `popd +1'\n"
" \tel segundo.\n"
" \n"
-" -N\tBorra la N-ésima entrada contando de la derecha de\n"
+" -N\tBorra la N-ésima entrada contando de la derecha de\n"
" \tla lista mostrada por `dirs', comenzando desde cero.\n"
" \tPor ejemplo: `popd -0' borra el último directorio, `popd -1'\n"
" \tel penúltimo.\n"
" \n"
-" -n\tsuprime el cambio normal de directorio cuando se borran\n"
-" \tdirectorios de la pila, así sólo se manipula la pila.\n"
+" La orden interna `dirs' muestra el contenido de la pila.\n"
" \n"
-" Puede ver la pila de directorios con la orden `dirs'."
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que se proporcione un argumento inválido o\n"
+" falle el cambio de directorio."
-#: builtins.c:1815
-#, fuzzy
+#: builtins.c:1796
msgid ""
"Display directory stack.\n"
" \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"
+" +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"
+" -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 ""
-"Muestra la lista de directorios actualmente grabados. Los directorios\n"
+"Muestra la pila de directorios.\n"
+" \n"
+" Muestra la lista de directorios actualmente grabados. Los directorios\n"
" se guardan en la lista con la orden `pushd'; pueden ir saliendo de\n"
" la lista con la orden `popd'.\n"
" \n"
-" La opción -l especifica que `dirs' no debe mostrar versiones\n"
-" abreviadas de los directorios que son relativos a su directorio\n"
-" inicial. Esto significa que `~/bin' se mostrará como `/home/bfox/bin'.\n"
-" La opción -v causa que `dirs' muestre la pila de directorios con\n"
-" una entrada por línea, anteponiendo la posición en la pila al nombre\n"
-" del directorio. La opción -p hace lo mismo, pero no antepone la\n"
-" posición en la pila. La opción -c limpia la pila de directorios\n"
-" borrando todos sus elementos.\n"
+" Opciones:\n"
" \n"
-" +N\tmuestra la N-ésima entrada contando desde la izquierda de la lista\n"
-" mostrada por dirs cuando se invoca sin opciones, empezando de cero.\n"
+" -c\tlimpia la pila de directorios, eliminando todos sus elementos.\n"
+" -l\tno muestra versiones con prefijo de tilde de los directorios\n"
+" \trelativos a su directorio inicial.\n"
+" -p\tmuestra la pila de directorios con una entrada por línea\n"
+" -v\tmuestra la pila de directorios con una entrada por línea con\n"
+" \tsu posición en la pila como prefijo\n"
" \n"
-" -N\tmuestra la N-ésima entrada contando desde la derecha de la lista\n"
-" mostrada por dirs cuando se invoca sin opciones, empezando de cero."
+" Argumentos: +N\tmuestra la N-ésima entrada contando desde la izquierda de la lista\n"
+" \tmostrada por dirs cuando se invoca sin opciones,\n"
+" \tempezando de cero.\n"
+" \n"
+" -N\tmuestra la N-ésima entrada contando desde la derecha de la lista\n"
+" \tmostrada por dirs cuando se invoca sin opciones,\n"
+" \tempezando de cero.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito, a menos que se proporcione una opción inválida o\n"
+" suceda un error."
-#: builtins.c:1844
+#: builtins.c:1825
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"
+" arguments, list all shell options with an indication of whether or not each\n"
" is set.\n"
" \n"
" Options:\n"
" Returns success if OPTNAME is enabled; fails if an invalid option is\n"
" given or OPTNAME is disabled."
msgstr ""
+"Activa y desactiva opciones de shell.\n"
+" \n"
+" Cambia la configuración de cada opción de shell NOMBRE_OPCIÓN. Sin\n"
+" alguna opción como argumento, muestra todas las opciones de shell con\n"
+" una indicación si está activa o no.\n"
+" \n"
+" Opciones:\n"
+" -o\trestringe NOMBRE_OPCIÓN a aquellos definidos con `set -o'\n"
+" -p\tmuestra cada opción de shell con un indicador de su estado\n"
+" -q\tsuprime la salida\n"
+" -s\tactiva (establece) cada NOMBRE_OPCIÓN\n"
+" -u\tdesactiva (borra) cada NOMBRE_OPCIÓN\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito si se activa NOMBRE_OPCIÓN; falla si se proporciona\n"
+" una opción inválida o NOMBRE_OPCIÓN está desactivado."
-#: builtins.c:1865
-#, fuzzy
+#: builtins.c:1846
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \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"
+" 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"
+" 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"
+" 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"
+" Returns success unless an invalid option is given or a write or assignment\n"
" error occurs."
msgstr ""
-"printf da formato y muestra ARGUMENTS bajo el control de FORMAT. FORMAT\n"
-" es una cadena de caracteres la cual contiene tres tipos de objetos:\n"
-" caracteres normales, los cuales simplemente se copian a la salida\n"
-" estándard, secuencias de escape de caracteres que se convierten y\n"
-" se copian a la salida estándard, y especificaciones de formato,\n"
-" cada una de las cuales causa la muestra del siguiente argumento\n"
-" consecutivo. Además de los formatos printf(1) estándard, %b significa\n"
-" expandir las secuencias de escape de barra invertida en su argumento\n"
-" correspondiente, y %q significa citar el argumento de tal forma que\n"
-" se pueda reusar como entrada del shell. Si se proporciona la opción\n"
-" -v, la salida se coloca en el valor de la variable de shell VAR\n"
-" en lugar de enviarla a la salida estándard."
-
-#: builtins.c:1892
+"Da formato y muestra ARGUMENTOS bajo el control del FORMATO.\n"
+" \n"
+" Opciones:\n"
+" -v var\tasigna la salida a la variable de shell VAR en lugar\n"
+" \t\tde mostrarla en la salida estándar\n"
+" \n"
+" FORMATO es una cadena de caracteres la cual contiene tres tipos de\n"
+" objetos caracteres simples, los cuales solamente se copian a la salida\n"
+" salida estándar; secuencias de escape de caracteres, las cuales\n"
+" se convierten y se copian a la salida estándar; y especificaciones de\n"
+" formato, cada una de las cuales causa la muestra del siguiente argumento\n"
+" consecutivo.\n"
+" \n"
+" Además de las especificaciones de formato estándar descritas en\n"
+" printf(1) y printf(3), printf interpreta:\n"
+" %b\texpande las secuencias de escape de barra invertida en\n"
+" \t\tel argumento correspondiente\n"
+" %q\tcita el argumento de tal forma que se puede reusar como\n"
+" \t\tentrada del shell.\n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que se proporcione una opción inválida o\n"
+" suceda un error de escritura o de asignación."
+
+#: builtins.c:1873
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"
+" 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"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
+"Especifica cuántos argumentos deben ser completados por Readline.\n"
+" \n"
+" Por cada NOMBRE, especifica cuántos argumentos se deben completar. Si\n"
+" no se proporcionan opciones, se muestran las especificaciones de\n"
+" completado existentes en una forma que permite que se reusen como entrada.\n"
+" \n"
+" Opciones:\n"
+" -p\tmuestra las especificaciones de completado existentes en formato\n"
+" \treusable\n"
+" -r\tborra una especificación de completado para cada NOMBRE,\n"
+" \to, si no se proporcionan NOMBREs, todas las especificaciones\n"
+" \tde completado\n"
+" \n"
+" Cuando se intenta el completado, las acciones se aplican en el orden en\n"
+" que se enlistan las opciones de letra mayúscula antes indicadas.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que se proporcione una opción inválida o\n"
+" suceda un error."
-#: builtins.c:1915
-#, fuzzy
+#: builtins.c:1896
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"
+" 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 ""
-"Muestra los posibles complementos dependiendo de las opciones. Sirve\n"
-" para usarse desde una función de shell que genere complementos "
-"posibles.\n"
-" Si se proporciona el argumento opcional WORD, se generan las "
-"coincidencias\n"
-" contra WORD."
-
-#: builtins.c:1930
+"Muestra los posibles complementos dependiendo de las opciones.\n"
+" \n"
+" Sirve para usarse desde una función de shell que genere complementos\n"
+" posibles. Si se proporciona el argumento opcional PALABRA, se generan\n"
+" las coincidencias contra PALABRA.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que se proporcione una opción inválida o\n"
+" suceda un error."
+
+#: builtins.c:1911
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"
+" 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"
" Returns success unless an invalid option is supplied or NAME does not\n"
" have a completion specification defined."
msgstr ""
+"Modifica o muestra las opciones de completado.\n"
+" \n"
+" Modifica las opciones de completado para cada NOMBRE, o, si no se\n"
+" proporcionan NOMBREs, el completado actualmente en ejecución. Si no se\n"
+" proporcionan OPCIONes, muestra las opciones de completado para cada\n"
+" NOMBRE o la especificación de completado actual. \n"
+" Opciones:\n"
+" \t-o opción\tEstablece la opción de completado OPCIÓN\n"
+" \t\tpara cada NOMBRE\n"
+" \n"
+" Si usa `+o' en lugar de `-o' desactiva la opción especificada.\n"
+" \n"
+" Argumentos:\n"
+" \n"
+" Cada NOMBRE se refiere a una orden para la cual se definió previamente\n"
+" una especificación de completado usando la orden interna `complete'.\n"
+" Si no se proporcionan NOMBREs, compopt debe llamarse desde una función\n"
+" que genere completados, y se modifican las opciones para ese generador\n"
+" de completados en ejecución.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que se proporcione una opción inválida o\n"
+" el NOMBRE no tenga una especificación de completado definida."
-#: builtins.c:1958
+#: builtins.c:1939
msgid ""
-"Read lines from the standard input into an array variable.\n"
+"Read lines from a file into an array variable.\n"
" \n"
-" Read lines from the standard input into the array variable ARRAY, or "
-"from\n"
-" file descriptor FD if the -u option is supplied. The variable MAPFILE "
-"is\n"
+" Read lines from the standard input into the array variable ARRAY, or from\n"
+" file descriptor FD if the -u option is supplied. The variable MAPFILE is\n"
" 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"
+" -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"
+" -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"
+" -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"
+" If -C is supplied without -c, the default quantum is 5000.\n"
" \n"
-" If not supplied with an explicit origin, mapfile will clear ARRAY "
-"before\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."
+" Returns success unless an invald option is given or ARRAY is readonly."
msgstr ""
-
-#: builtins.c:1990
-msgid ""
-"Read lines from a file into an array variable.\n"
+"Lee líneas de un fichero y las guarda en una variable de matriz.\n"
" \n"
-" A synonym for `mapfile'."
-msgstr ""
+" Lee líneas de la entrada estándar y las guarda en la variable de matriz\n"
+" MATRIZ, o desde el descriptor de fichero DF si se proporciona la opción\n"
+" -u. La variable MAPFILE es la MATRIZ por defecto.\n"
+" \n"
+" Opciones:\n"
+" -n cuenta\tCopia hasta CUENTA líneas. Si CUENTA es 0, se copian\n"
+" \ttodas las líneas.\n"
+" -O origen\tComienza a asignar a MATRIZ en el índice ORIGEN. El\n"
+" \tíndice por defecto es 0.\n"
+" -s cuenta\tDescarta las primeras CUENTA líneas leídas.\n"
+" -t\t\tBorra la nueva línea final de cada línea leída.\n"
+" -u df\t\tLee líneas del descriptor de fichero DF en lugar de la\n"
+" \tentrada estándar.\n"
+" -C llamada\tEvalúa LLAMADA cada vez que se leen QUANTUM líneas.\n"
+" -c quantum\tEspecifica el número de líneas a leer entre cada\n"
+" \tllamada a LLAMADA.\n"
+" \n"
+" Argumentos:\n"
+" MATRIZ\t\tNombre de variable de matriz a usar para guardar datos.\n"
+" \n"
+" Si se proporciona -C sin -c, el quantum por defecto es 5000.\n"
+" \n"
+" Si no se proporciona un origen explícito, mapfile borrará la MATRIZ\n"
+" antes de usarla para asignación.\n"
+" \n"
+" Estado de Salida:\n"
+" Devuelve con éxito a menos que se proporcione una opción inválida o\n"
+" la MATRIZ sea de sólo lectura."
+
+#~ msgid "Returns the context of the current subroutine call."
+#~ msgstr "Devuelve el contexto de la llamada a subrutina actual."
#~ msgid " "
#~ msgstr " "
#~ msgid "can be used used to provide a stack trace."
#~ msgstr "adicional se puede usar para proveer un volcado de pila."
-#~ msgid ""
-#~ "The value of EXPR indicates how many call frames to go back before the"
-#~ msgstr ""
-#~ "El valor de EXPR indica cuántos marcos de llamada se debe retroceder"
+#~ msgid "The value of EXPR indicates how many call frames to go back before the"
+#~ msgstr "El valor de EXPR indica cuántos marcos de llamada se debe retroceder"
#~ msgid "current one; the top frame is frame 0."
#~ msgstr "antes del actual; el marco inicial es el marco 0."
#~ msgstr "Órdenes del shell que coinciden con las palabras `"
#~ msgid "Display the list of currently remembered directories. Directories"
-#~ msgstr ""
-#~ "Muestra la lista de directorios actualmente grabados. Los directorios"
+#~ msgstr "Muestra la lista de directorios actualmente grabados. Los directorios"
#~ msgid "find their way onto the list with the `pushd' command; you can get"
#~ msgstr "se guardan en la lista con la orden `pushd'; pueden ir saliendo de"
#~ msgid "back up through the list with the `popd' command."
#~ msgstr "la lista con la orden `popd'."
-#~ msgid ""
-#~ "The -l flag specifies that `dirs' should not print shorthand versions"
-#~ msgstr ""
-#~ "La opción -l especifica que `dirs' no debe mostrar versiones abreviadas"
+#~ msgid "The -l flag specifies that `dirs' should not print shorthand versions"
+#~ msgstr "La opción -l especifica que `dirs' no debe mostrar versiones abreviadas"
-#~ msgid ""
-#~ "of directories which are relative to your home directory. This means"
-#~ msgstr ""
-#~ "de los directorios que son relativos a su directorio inicial. Esto "
-#~ "significa"
+#~ msgid "of directories which are relative to your home directory. This means"
+#~ msgstr "de los directorios que son relativos a su directorio inicial. Esto significa"
#~ msgid "that `~/bin' might be displayed as `/homes/bfox/bin'. The -v flag"
#~ msgstr "que `~/bin' se mostrará como `/homes/bfox/bin'. La opción -v"
#~ msgid "causes `dirs' to print the directory stack with one entry per line,"
-#~ msgstr ""
-#~ "causa que `dirs' imprima la pila de directorios con una entrada por línea,"
+#~ msgstr "causa que `dirs' imprima la pila de directorios con una entrada por línea,"
-#~ msgid ""
-#~ "prepending the directory name with its position in the stack. The -p"
-#~ msgstr ""
-#~ "anteponiendo la posición en la pila al nombre del directorio. La opción"
+#~ msgid "prepending the directory name with its position in the stack. The -p"
+#~ msgstr "anteponiendo la posición en la pila al nombre del directorio. La opción"
#~ msgid "flag does the same thing, but the stack position is not prepended."
#~ msgstr "-p hace lo mismo, pero no antepone la posición en la pila."
-#~ msgid ""
-#~ "The -c flag clears the directory stack by deleting all of the elements."
-#~ msgstr ""
-#~ "La opción -c limpia la pila de directorios borrando todos sus elementos."
+#~ msgid "The -c flag clears the directory stack by deleting all of the elements."
+#~ msgstr "La opción -c limpia la pila de directorios borrando todos sus elementos."
-#~ msgid ""
-#~ "+N displays the Nth entry counting from the left of the list shown by"
-#~ msgstr ""
-#~ "+N muestra la N-ésima entrada contando desde la izquierda de la lista"
+#~ msgid "+N displays the Nth entry counting from the left of the list shown by"
+#~ msgstr "+N muestra la N-ésima entrada contando desde la izquierda de la lista"
#~ msgid " dirs when invoked without options, starting with zero."
-#~ msgstr ""
-#~ " mostrada por dirs cuando se invoca sin opciones, empezando de cero."
+#~ msgstr " mostrada por dirs cuando se invoca sin opciones, empezando de cero."
-#~ msgid ""
-#~ "-N displays the Nth entry counting from the right of the list shown by"
-#~ msgstr ""
-#~ "-N muestra la N-ésima entrada contando desde la derecha de la lista"
+#~ msgid "-N displays the Nth entry counting from the right of the list shown by"
+#~ msgstr "-N muestra la N-ésima entrada contando desde la derecha de la lista"
#~ msgid "Adds a directory to the top of the directory stack, or rotates"
#~ msgstr "Agrega un directorio al tope de la pila de directorios, o rota"
#~ msgstr "la pila, haciendo que el nuevo tope de la pila sea el directorio de"
#~ msgid "directory. With no arguments, exchanges the top two directories."
-#~ msgstr ""
-#~ "trabajo actual. Sin argumentos, intercambia los dos directorios del tope."
+#~ msgstr "trabajo actual. Sin argumentos, intercambia los dos directorios del tope."
#~ msgid "+N Rotates the stack so that the Nth directory (counting"
#~ msgstr "+N Rota la pila para que el N-ésimo directorio (contando"
#~ msgid " from the left of the list shown by `dirs', starting with"
-#~ msgstr ""
-#~ " de la izquierda de la lista mostrada por `dirs', comenzando desde"
+#~ msgstr " de la izquierda de la lista mostrada por `dirs', comenzando desde"
#~ msgid " zero) is at the top."
#~ msgstr " cero) esté en el tope."
#~ msgstr "-N Rota la pila para que el N-ésimo directory (contando"
#~ msgid " from the right of the list shown by `dirs', starting with"
-#~ msgstr ""
-#~ " de la derecha de la lista mostrada por `dirs', comenzando desde"
+#~ msgstr " de la derecha de la lista mostrada por `dirs', comenzando desde"
#~ msgid "-n suppress the normal change of directory when adding directories"
-#~ msgstr ""
-#~ "-n suprime el cambio normal de directorio cuando se agregan directorios"
+#~ msgstr "-n suprime el cambio normal de directorio cuando se agregan directorios"
#~ msgid " to the stack, so only the stack is manipulated."
#~ msgstr " a la pila, así sólo se manipula la pila."
#~ msgstr "directorio tope."
#~ msgid "+N removes the Nth entry counting from the left of the list"
-#~ msgstr ""
-#~ "+N borra la N-ésima entrada contando desde la izquierda de la lista"
+#~ msgstr "+N borra la N-ésima entrada contando desde la izquierda de la lista"
#~ msgid " shown by `dirs', starting with zero. For example: `popd +0'"
-#~ msgstr ""
-#~ " mostrada por `dirs', comenzando desde cero. Por ejemplo: `popd +0'"
+#~ msgstr " mostrada por `dirs', comenzando desde cero. Por ejemplo: `popd +0'"
#~ msgid " removes the first directory, `popd +1' the second."
#~ msgstr " borra el primer directorio, `popd +1' el segundo."
#~ msgstr "-N borra la N-ésima entrada contando desde la derecha de la lista"
#~ msgid " shown by `dirs', starting with zero. For example: `popd -0'"
-#~ msgstr ""
-#~ " mostrada por `dirs', comenzando desde cero. Por ejemplo: `popd -0'"
+#~ msgstr " mostrada por `dirs', comenzando desde cero. Por ejemplo: `popd -0'"
#~ msgid " removes the last directory, `popd -1' the next to last."
#~ msgstr " borra el último directorio, `popd -1' el penúltimo."
-#~ msgid ""
-#~ "-n suppress the normal change of directory when removing directories"
-#~ msgstr ""
-#~ "-n suprime el cambio normal de directorio cuando se borran directorios"
+#~ msgid "-n suppress the normal change of directory when removing directories"
+#~ msgstr "-n suprime el cambio normal de directorio cuando se borran directorios"
#~ msgid " from the stack, so only the stack is manipulated."
#~ msgstr " de la pila, así sólo se manipula la pila."
#~ " shell builtin to be a function, but need the functionality of the\n"
#~ " builtin within the function itself."
#~ msgstr ""
-#~ "Ejecuta una orden interna del shell. Esto es útil cuando desea "
-#~ "renombrar\n"
+#~ "Ejecuta una orden interna del shell. Esto es útil cuando desea renombrar\n"
#~ " una orden interna del shell para que sea una función, pero necesita\n"
#~ " la funcionalidad de la orden interna dentro de la misma función."
#~ msgid ""
#~ "Runs COMMAND with ARGS ignoring shell functions. If you have a shell\n"
#~ " function called `ls', and you wish to call the command `ls', you can\n"
-#~ " say \"command ls\". If the -p option is given, a default value is "
-#~ "used\n"
-#~ " for PATH that is guaranteed to find all of the standard utilities. "
-#~ "If\n"
-#~ " the -V or -v option is given, a string is printed describing "
-#~ "COMMAND.\n"
+#~ " say \"command ls\". If the -p option is given, a default value is used\n"
+#~ " for PATH that is guaranteed to find all of the standard utilities. If\n"
+#~ " the -V or -v option is given, a string is printed describing COMMAND.\n"
#~ " The -V option produces a more verbose description."
#~ msgstr ""
-#~ "Ejecuta COMMAND con ARGS ignorando las funciones del shell. Si tiene "
-#~ "una\n"
+#~ "Ejecuta COMMAND con ARGS ignorando las funciones del shell. Si tiene una\n"
#~ " función de shell llamada `ls', y desea llamar a la orden `ls', puede\n"
#~ " decir \"command ls\". Si se da la opción -p, se usa un valor por\n"
#~ " defecto para PATH que garantiza encontrar todas las herramientas\n"
-#~ " estándard. Si se da la opción -V o -v, se muestra una cadena que\n"
+#~ " estándar. Si se da la opción -V o -v, se muestra una cadena que\n"
#~ " describe COMMAND. La opción -V produce una descripción más detallada."
+# apaga -> desactiva em+
+# Corregido en toda la traducción. cfuga
+#~ msgid ""
+#~ "Declare variables and/or give them attributes. If no NAMEs are\n"
+#~ " given, then display the values of variables instead. The -p option\n"
+#~ " will display the attributes and values of each NAME.\n"
+#~ " \n"
+#~ " The flags are:\n"
+#~ " \n"
+#~ " -a\tto make NAMEs arrays (if supported)\n"
+#~ " -f\tto select from among function names only\n"
+#~ " -F\tto display function names (and line number and source file name if\n"
+#~ " \tdebugging) without definitions\n"
+#~ " -i\tto make NAMEs have the `integer' attribute\n"
+#~ " -r\tto make NAMEs readonly\n"
+#~ " -t\tto make NAMEs have the `trace' attribute\n"
+#~ " -x\tto make NAMEs export\n"
+#~ " \n"
+#~ " Variables with the integer attribute have arithmetic evaluation (see\n"
+#~ " `let') done when the variable is assigned to.\n"
+#~ " \n"
+#~ " When displaying values of variables, -f displays a function's name\n"
+#~ " and definition. The -F option restricts the display to function\n"
+#~ " name only.\n"
+#~ " \n"
+#~ " Using `+' instead of `-' turns off the given attribute instead. When\n"
+#~ " used in a function, makes NAMEs local, as with the `local' command."
+#~ msgstr ""
+#~ "Declara variables y/o les asigna atributos. Si no se propociona\n"
+#~ " ningún NAME, entonces muestra los valores de las variables.\n"
+#~ " La opción -p mostrará los atributos y valores de cada NAME.\n"
+#~ " \n"
+#~ " Las opciones son:\n"
+#~ " \n"
+#~ " -a\thace a los NAMEs matrices (si tiene soporte)\n"
+#~ " -f\tselecciona solamente nombres de funciones\n"
+#~ " -F\tmuestra nombres de funciones (y número de línea y nombre de\n"
+#~ " \tfichero fuente si se está depurando) sin definiciones\n"
+#~ " -i\tasigna a los NAMEs el atributo `integer'\n"
+#~ " -r\thace a los NAMEs de sólo lectura\n"
+#~ " -t\tasigna a los NAMEs el atributo `trace'\n"
+#~ " -x\thace a los NAMEs exportables\n"
+#~ " \n"
+#~ " Las variables con el atributo integer se les evalúa aritméticamente\n"
+#~ " (vea `let') cuando se asigna la variable.\n"
+#~ " \n"
+#~ " Cuando se muestran los valores de las variables, -f muestra\n"
+#~ " el nombre de una función y su definición. La opción -F restringe\n"
+#~ " a mostrar solamente el nombre de la función.\n"
+#~ " \n"
+#~ " Al usar `+' en lugar de `-' desactiva el atributo dado. Cuando se\n"
+#~ " usa en una función, hace a los NAMEs locales, como sucede con la\n"
+#~ " orden `local'."
+
#~ msgid "Obsolete. See `declare'."
#~ msgstr "Obsoleto. Ver `declare'."
#~ " sólo se puede usar dentro de una función; hace que la variable NAME\n"
#~ " solamente sea visible a esa función y sus hijos."
-#~ msgid ""
-#~ "Output the ARGs. If -n is specified, the trailing newline is suppressed."
+#~ msgid "Output the ARGs. If -n is specified, the trailing newline is suppressed."
#~ msgstr ""
#~ "Muestra los ARGs. Si se especifica -n, se elimina el carácter\n"
#~ " de fin de línea."
#~ " previously loaded with -f. If no non-option names are given, or\n"
#~ " the -p option is supplied, a list of builtins is printed. The\n"
#~ " -a option means to print every builtin with an indication of whether\n"
-#~ " or not it is enabled. The -s option restricts the output to the "
-#~ "POSIX.2\n"
-#~ " `special' builtins. The -n option displays a list of all disabled "
-#~ "builtins."
+#~ " or not it is enabled. The -s option restricts the output to the POSIX.2\n"
+#~ " `special' builtins. The -n option displays a list of all disabled builtins."
#~ msgstr ""
#~ "Activa y desactiva las órdenes internas del shell. Esto le permite\n"
#~ " usar una orden del sistema que tenga el mismo nombre que una orden\n"
-#~ " interna del shell sin especificar una ruta completa. Si se usa -n, "
-#~ "los\n"
-#~ " NAMEs se desactivan; de otra forma los NAMEs se activan. Por "
-#~ "ejemplo,\n"
-#~ " para usar `test' que se encuentra en $PATH en lugar de la versión "
-#~ "interna\n"
+#~ " interna del shell sin especificar una ruta completa. Si se usa -n, los\n"
+#~ " NAMEs se desactivan; de otra forma los NAMEs se activan. Por ejemplo,\n"
+#~ " para usar `test' que se encuentra en $PATH en lugar de la versión interna\n"
#~ " del shell, teclee `enable -n test'. En sistemas que soportan\n"
-#~ " carga dinámica, se puede usar la opción -f para cargar nuevas "
-#~ "órdenes\n"
-#~ " internas desde el objeto compartido FILENAME. La opción -d borrará "
-#~ "una\n"
-#~ " orden interna cargada previamente con -f. Si no se propocionan "
-#~ "nombres\n"
-#~ " que no sean opciones, o se especifica la opción -p, se muestra una "
-#~ "lista\n"
-#~ " de órdenes internas. La opción -a es para mostrar cada orden "
-#~ "interna\n"
+#~ " carga dinámica, se puede usar la opción -f para cargar nuevas órdenes\n"
+#~ " internas desde el objeto compartido FILENAME. La opción -d borrará una\n"
+#~ " orden interna cargada previamente con -f. Si no se propocionan nombres\n"
+#~ " que no sean opciones, o se especifica la opción -p, se muestra una lista\n"
+#~ " de órdenes internas. La opción -a es para mostrar cada orden interna\n"
#~ " con una indicación si está o no activada. La opción -s restringe la\n"
#~ " salida a las órdenes internas `especiales' de POSIX.2. La opción -n\n"
#~ " muestra una lista de todas las órdenes internas desactivadas."
-#~ msgid ""
-#~ "Read ARGs as input to the shell and execute the resulting command(s)."
-#~ msgstr ""
-#~ "Lee ARGs como entrada del shell y ejecuta el(los) comando(s) resultantes."
+#~ msgid "Read ARGs as input to the shell and execute the resulting command(s)."
+#~ msgstr "Lee ARGs como entrada del shell y ejecuta el(los) comando(s) resultantes."
#~ msgid ""
#~ "Exec FILE, replacing this shell with the specified program.\n"
#~ " remembered. If the -p option is supplied, PATHNAME is used as the\n"
#~ " full pathname of NAME, and no path search is performed. The -r\n"
#~ " option causes the shell to forget all remembered locations. The -d\n"
-#~ " option causes the shell to forget the remembered location of each "
-#~ "NAME.\n"
+#~ " option causes the shell to forget the remembered location of each NAME.\n"
#~ " If the -t option is supplied the full pathname to which each NAME\n"
-#~ " corresponds is printed. If multiple NAME arguments are supplied "
-#~ "with\n"
-#~ " -t, the NAME is printed before the hashed full pathname. The -l "
-#~ "option\n"
-#~ " causes output to be displayed in a format that may be reused as "
-#~ "input.\n"
-#~ " If no arguments are given, information about remembered commands is "
-#~ "displayed."
+#~ " corresponds is printed. If multiple NAME arguments are supplied with\n"
+#~ " -t, the NAME is printed before the hashed full pathname. The -l option\n"
+#~ " causes output to be displayed in a format that may be reused as input.\n"
+#~ " If no arguments are given, information about remembered commands is displayed."
#~ msgstr ""
#~ "Por cada NOMBRE, se determina la ruta completa de la orden y se graba.\n"
#~ " Si se especifica la opción -p, se usa PATHNAME como la ruta completa\n"
#~ " de NAME, y no se realiza la búsqueda de ruta. La opción -r hace que\n"
-#~ " el shell olvide todas las ubicaciones grabadas. La opción -d hace "
-#~ "que\n"
+#~ " el shell olvide todas las ubicaciones grabadas. La opción -d hace que\n"
#~ " el shell olvide las ubicaciones grabadas de cada NAME. Si se\n"
#~ " proporciona la opción -t se muestra la ruta completa para cada NAME\n"
#~ " correspondiente. Si se proporcionan múltiples argumentos NAME con\n"
#~ " -t, NAME se muestra antes de la ruta completa. La opción -l hace\n"
#~ " que la salida se muestre en un formato que se puede reusar como\n"
-#~ " entrada. Si no se proporcionan argumentos, se muestra la "
-#~ "información\n"
+#~ " entrada. Si no se proporcionan argumentos, se muestra la información\n"
#~ " de las órdenes grabadas."
#~ msgid ""
#~ msgid ""
#~ "By default, removes each JOBSPEC argument from the table of active jobs.\n"
-#~ " If the -h option is given, the job is not removed from the table, but "
-#~ "is\n"
+#~ " If the -h option is given, the job is not removed from the table, but is\n"
#~ " marked so that SIGHUP is not sent to the job if the shell receives a\n"
-#~ " SIGHUP. The -a option, when JOBSPEC is not supplied, means to remove "
-#~ "all\n"
-#~ " jobs from the job table; the -r option means to remove only running "
-#~ "jobs."
+#~ " SIGHUP. The -a option, when JOBSPEC is not supplied, means to remove all\n"
+#~ " jobs from the job table; the -r option means to remove only running jobs."
#~ msgstr ""
-#~ "Por defecto, elimina cada argumento JOBSPEC de la tabla de trabajos "
-#~ "activos.\n"
+#~ "Por defecto, elimina cada argumento JOBSPEC de la tabla de trabajos activos.\n"
#~ " Si se especifica la opción -h, el trabajo no se elimina de la tabla,\n"
#~ " pero se marca de forma que no se envía SIGHUP al trabajo si el shell\n"
-#~ " recibe un SIGHUP. La opción -a, cuando no se proporciona JOBSPEC, "
-#~ "borra\n"
+#~ " recibe un SIGHUP. La opción -a, cuando no se proporciona JOBSPEC, borra\n"
#~ " todos los trabajos de la tabla de trabajos; la opción -r borra sólo\n"
#~ " los trabajos activos."
#~ "Causes a function to exit with the return value specified by N. If N\n"
#~ " is omitted, the return status is that of the last command."
#~ msgstr ""
-#~ "Causa la salida de una función con el valor de devolución especificado "
-#~ "por N.\n"
+#~ "Causa la salida de una función con el valor de devolución especificado por N.\n"
#~ " Si se omite N, el estado de devolución será el de la última orden."
#~ msgid ""
#~ msgstr ""
#~ "Para cada NAME, se borra la variable o función correspondiente. Al usar\n"
#~ " `-v', unset sólo actuará sobre variables. Al usar la opción `-f',\n"
-#~ " unset sólo actuará sobre funciones. Sin ninguna opción, unset "
-#~ "primero\n"
-#~ " intenta borrar una variable, y si esto falla, entonces intenta "
-#~ "borrar\n"
-#~ " una función. Algunas variables no se pueden borrar; vea también "
-#~ "readonly."
+#~ " unset sólo actuará sobre funciones. Sin ninguna opción, unset primero\n"
+#~ " intenta borrar una variable, y si esto falla, entonces intenta borrar\n"
+#~ " una función. Algunas variables no se pueden borrar; vea también readonly."
#~ msgid ""
#~ "NAMEs are marked for automatic export to the environment of\n"
#~ " NAMEs se refieren a funciones. Si no se proporciona ningún NAME,\n"
#~ " o si se proporciona `-p', se muestra una lista de todos los nombres\n"
#~ " que se exportan en este shell. Un argumento `-n' indica eliminar\n"
-#~ " la propiedad de exportación para los NAMEs subsecuentes. Un "
-#~ "argumento\n"
+#~ " la propiedad de exportación para los NAMEs subsecuentes. Un argumento\n"
#~ " `--' desactiva el procesamiento posterior de opciones."
#~ msgid ""
#~ "The given NAMEs are marked readonly and the values of these NAMEs may\n"
#~ " not be changed by subsequent assignment. If the -f option is given,\n"
#~ " then functions corresponding to the NAMEs are so marked. If no\n"
-#~ " arguments are given, or if `-p' is given, a list of all readonly "
-#~ "names\n"
+#~ " arguments are given, or if `-p' is given, a list of all readonly names\n"
#~ " is printed. The `-a' option means to treat each NAME as\n"
#~ " an array variable. An argument of `--' disables further option\n"
#~ " processing."
#~ msgstr ""
#~ "Los NAMEs dados se marcan como sólo lectura y los valores de esos NAMEs\n"
#~ " no se pueden cambiar por asignaciones posteriores. Si se propociona\n"
-#~ " la opción -f, entonces también se marcan las funciones que "
-#~ "correspondan\n"
+#~ " la opción -f, entonces también se marcan las funciones que correspondan\n"
#~ " a los NAMEs. Si no se proporcionan argumentos, o si se especifica\n"
#~ " `-p', se muestra una lista de todos los nombres de sólo lectura.\n"
#~ " La opción `-a' trata cada NAME como una variable de matriz.\n"
#~ "For each NAME, indicate how it would be interpreted if used as a\n"
#~ " command name.\n"
#~ " \n"
-#~ " If the -t option is used, `type' outputs a single word which is one "
-#~ "of\n"
-#~ " `alias', `keyword', `function', `builtin', `file' or `', if NAME is "
-#~ "an\n"
-#~ " alias, shell reserved word, shell function, shell builtin, disk "
-#~ "file,\n"
+#~ " If the -t option is used, `type' outputs a single word which is one of\n"
+#~ " `alias', `keyword', `function', `builtin', `file' or `', if NAME is an\n"
+#~ " alias, shell reserved word, shell function, shell builtin, disk file,\n"
#~ " or unfound, respectively.\n"
#~ " \n"
#~ " If the -p flag is used, `type' either returns the name of the disk\n"
#~ " file that would be executed, or nothing if `type -t NAME' would not\n"
#~ " return `file'.\n"
#~ " \n"
-#~ " If the -a flag is used, `type' displays all of the places that "
-#~ "contain\n"
+#~ " If the -a flag is used, `type' displays all of the places that contain\n"
#~ " an executable named `file'. This includes aliases, builtins, and\n"
#~ " functions, if and only if the -p flag is not also used.\n"
#~ " \n"
#~ " The -f flag suppresses shell function lookup.\n"
#~ " \n"
-#~ " The -P flag forces a PATH search for each NAME, even if it is an "
-#~ "alias,\n"
-#~ " builtin, or function, and returns the name of the disk file that "
-#~ "would\n"
+#~ " The -P flag forces a PATH search for each NAME, even if it is an alias,\n"
+#~ " builtin, or function, and returns the name of the disk file that would\n"
#~ " be executed."
#~ msgstr ""
#~ "Para cada NAME, se indica cómo se interpretaría se se usara como\n"
#~ " Si se usa la opción -t, `type' muestra una sola palabra que es una\n"
#~ " de `alias', `keyword', `function', `builtin', `file' ó `', si NAME\n"
#~ " es un alias, palabra reservada del shell, función del shell, orden\n"
-#~ " interna del shell, fichero del disco, o no encontrado, "
-#~ "respectivamente.\n"
+#~ " interna del shell, fichero del disco, o no encontrado, respectivamente.\n"
#~ " \n"
#~ " Si se usa la opción -p, `type' devuelve el nombre del fichero del\n"
#~ " sistema que sería ejecutado, o nada, si `type -t NAME' no devuelve\n"
#~ " `file'.\n"
#~ " \n"
-#~ " Si se usa la opción -a, `type' muestra todos los lugares que "
-#~ "contienen\n"
+#~ " Si se usa la opción -a, `type' muestra todos los lugares que contienen\n"
#~ " un ejecutable llamado `file'. Esto incluye a aliases, órdenes\n"
#~ " internas, y funciones, si y solo si no se usa la opción -p.\n"
#~ " \n"
#~ " La opción -f suprime la búsqueda de funciones de shell.\n"
#~ " \n"
#~ " La opción -P fuerza una búsqueda en PATH por cada NAME, aún si es un\n"
-#~ " alias, orden interna, o función, y devuelve el nombre del fichero "
-#~ "del\n"
+#~ " alias, orden interna, o función, y devuelve el nombre del fichero del\n"
#~ " disco que se puede ejecutar."
#~ msgid ""
#~ "The user file-creation mask is set to MODE. If MODE is omitted, or if\n"
-#~ " `-S' is supplied, the current value of the mask is printed. The `-"
-#~ "S'\n"
-#~ " option makes the output symbolic; otherwise an octal number is "
-#~ "output.\n"
+#~ " `-S' is supplied, the current value of the mask is printed. The `-S'\n"
+#~ " option makes the output symbolic; otherwise an octal number is output.\n"
#~ " If `-p' is supplied, and MODE is omitted, the output is in a form\n"
#~ " that may be used as input. If MODE begins with a digit, it is\n"
-#~ " interpreted as an octal number, otherwise it is a symbolic mode "
-#~ "string\n"
+#~ " interpreted as an octal number, otherwise it is a symbolic mode string\n"
#~ " like that accepted by chmod(1)."
#~ msgstr ""
-#~ "La máscara de creación de ficheros se establece a MODE. Si se omite "
-#~ "MODE,\n"
-#~ " o si se proporciona `-S', se muestra el valor actual de la máscara. "
-#~ "La\n"
+#~ "La máscara de creación de ficheros se establece a MODE. Si se omite MODE,\n"
+#~ " o si se proporciona `-S', se muestra el valor actual de la máscara. La\n"
#~ " opción `-S' hace la salida simbólica; de otra forma la salida es un\n"
#~ " número octal. Si se proporciona `-p', y se omite MODE, la salida es\n"
#~ " en una forma que se puede usar como entrada. Si MODE empieza con un\n"
-#~ " dígito, se interpreta como un número octal, de otra forma es una "
-#~ "cadena\n"
+#~ " dígito, se interpreta como un número octal, de otra forma es una cadena\n"
#~ " de modo simbólico como la que acepta chmod(1)."
#~ msgid ""
#~ msgid ""
#~ "For each NAME, specify how arguments are to be completed.\n"
-#~ " If the -p option is supplied, or if no options are supplied, "
-#~ "existing\n"
-#~ " completion specifications are printed in a way that allows them to "
-#~ "be\n"
-#~ " reused as input. The -r option removes a completion specification "
-#~ "for\n"
-#~ " each NAME, or, if no NAMEs are supplied, all completion "
-#~ "specifications."
+#~ " If the -p option is supplied, or if no options are supplied, existing\n"
+#~ " completion specifications are printed in a way that allows them to be\n"
+#~ " reused as input. The -r option removes a completion specification for\n"
+#~ " each NAME, or, if no NAMEs are supplied, all completion specifications."
#~ msgstr ""
#~ "Por cada NAME, especifica cómo se deben completar los argumentos.\n"
#~ " Si se proporciona la opción -p, o si no se proporcionan opciones, se\n"
#~ msgstr "%s: subíndice de matriz erróneo"
#~ msgid "can't make pipes for process substitution: %s"
-#~ msgstr ""
-#~ "no se pueden crear las tuberías (pipes) para la sustitución del proceso: %"
-#~ "s"
+#~ msgstr "no se pueden crear las tuberías (pipes) para la sustitución del proceso: %s"
#~ msgid "reading"
#~ msgstr "leyendo"
#~ msgstr "sustitución de la orden"
#~ msgid "Can't reopen pipe to command substitution (fd %d): %s"
-#~ msgstr ""
-#~ "No se puede reabrir la tubería para la sustitución de la orden (df %d): %s"
+#~ msgstr "No se puede reabrir la tubería para la sustitución de la orden (df %d): %s"
#~ msgid "$%c: unbound variable"
#~ msgstr "$%c: variable desligada"
# Más en español sería: se define un alias por cada NOMBRE cuyo VALOR se da. sv
# De acuerdo. cfuga
#~ msgid "Otherwise, an alias is defined for each NAME whose VALUE is given."
-#~ msgstr ""
-#~ "De otra manera, se define un alias por cada NOMBRE cuyo VALOR se da."
+#~ msgstr "De otra manera, se define un alias por cada NOMBRE cuyo VALOR se da."
#~ msgid "A trailing space in VALUE causes the next word to be checked for"
-#~ msgstr ""
-#~ "Un espacio final en VALOR causa que la siguiente palabra sea revisada para"
+#~ msgstr "Un espacio final en VALOR causa que la siguiente palabra sea revisada para"
# Lo mismo de antes: el alias es expandido -> el alias se expande. sv
# De acuerdo. cfuga
# no alias -> ningún alias. sv
# De acuerdo. cfuga
#~ msgid "true unless a NAME is given for which no alias has been defined."
-#~ msgstr ""
-#~ "verdadero a menos que para un NOMBRE dado no se haya definido ningún "
-#~ "alias."
+#~ msgstr "verdadero a menos que para un NOMBRE dado no se haya definido ningún alias."
#~ msgid "then remove all alias definitions."
#~ msgstr "entonces borra todas las definiciones de alias."
#~ msgid "Bind a key sequence to a Readline function, or to a macro. The"
-#~ msgstr ""
-#~ "Asigna una secuencia de teclas a una función Readline, o a una macro. La"
+#~ msgstr "Asigna una secuencia de teclas a una función Readline, o a una macro. La"
#~ msgid "syntax is equivalent to that found in ~/.inputrc, but must be"
-#~ msgstr ""
-#~ "sintaxis es equivalente a la encontrada en ~/.inputrc, pero debe ser"
+#~ msgstr "sintaxis es equivalente a la encontrada en ~/.inputrc, pero debe ser"
-#~ msgid ""
-#~ "passed as a single argument: bind '\"\\C-x\\C-r\": re-read-init-file'."
-#~ msgstr ""
-#~ "pasada como un solo argumento: bind '\"\\C-x\\C-r\": re-read-init-file'."
+#~ msgid "passed as a single argument: bind '\"\\C-x\\C-r\": re-read-init-file'."
+#~ msgstr "pasada como un solo argumento: bind '\"\\C-x\\C-r\": re-read-init-file'."
#~ msgid "Arguments we accept:"
#~ msgstr "Argumentos que se aceptan:"
-#~ msgid ""
-#~ " -m keymap Use `keymap' as the keymap for the duration of this"
-#~ msgstr ""
-#~ " -m mapa_teclas Usa `mapa_teclas' como el mapa de teclas durante esta"
+#~ msgid " -m keymap Use `keymap' as the keymap for the duration of this"
+#~ msgstr " -m mapa_teclas Usa `mapa_teclas' como el mapa de teclas durante esta"
#~ msgid " command. Acceptable keymap names are emacs,"
-#~ msgstr ""
-#~ " orden. Los nombres de mapas de teclas aceptables son"
+#~ msgstr " orden. Los nombres de mapas de teclas aceptables son"
-#~ msgid ""
-#~ " emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
-#~ msgstr ""
-#~ " emacs, emacs-standard, emacs-meta, emacs-ctlx, vi,"
+#~ msgid " emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
+#~ msgstr " emacs, emacs-standard, emacs-meta, emacs-ctlx, vi,"
#~ msgid " vi-command, and vi-insert."
#~ msgstr " vi-move, vi-command y vi-insert."
#~ msgstr " -l Muestra los nombres de las funciones."
#~ msgid " -P List function names and bindings."
-#~ msgstr ""
-#~ " -P Muestra los nombres de funciones y asignaciones."
+#~ msgstr " -P Muestra los nombres de funciones y asignaciones."
-#~ msgid ""
-#~ " -p List functions and bindings in a form that can be"
-#~ msgstr ""
-#~ " -p Muestra las funciones y asignaciones en un formato "
-#~ "que"
+#~ msgid " -p List functions and bindings in a form that can be"
+#~ msgstr " -p Muestra las funciones y asignaciones en un formato que"
#~ msgid " reused as input."
#~ msgstr " puede reusarse como entrada."
#~ msgid " -f filename Read key bindings from FILENAME."
#~ msgstr " -f fichero Lee la asignación de teclas de FICHERO."
-#~ msgid ""
-#~ " -q function-name Query about which keys invoke the named function."
-#~ msgstr ""
-#~ " -q nombre-función Pregunta sobre qué teclas invocan la función "
-#~ "nombrada."
+#~ msgid " -q function-name Query about which keys invoke the named function."
+#~ msgstr " -q nombre-función Pregunta sobre qué teclas invocan la función nombrada."
#~ msgid " -V List variable names and values"
#~ msgstr " -V Muestra los nombres de variables y valores"
-#~ msgid ""
-#~ " -v List variable names and values in a form that can"
-#~ msgstr ""
-#~ " -v Muestra los nombres de variables y valores de una "
-#~ "forma que"
+#~ msgid " -v List variable names and values in a form that can"
+#~ msgstr " -v Muestra los nombres de variables y valores de una forma que"
#~ msgid " be reused as input."
#~ msgstr " puede reusarse como entrada."
-#~ msgid ""
-#~ " -S List key sequences that invoke macros and their "
-#~ "values"
+#~ msgid " -S List key sequences that invoke macros and their values"
#~ msgstr ""
-#~ " -S Muestra las secuencias de teclas que invocan macros "
-#~ "y sus\n"
+#~ " -S Muestra las secuencias de teclas que invocan macros y sus\n"
#~ " valores"
-#~ msgid ""
-#~ " -s List key sequences that invoke macros and their "
-#~ "values in"
-#~ msgstr ""
-#~ " -s Muestra las secuencias de teclas que invocan macros "
-#~ "y sus"
+#~ msgid " -s List key sequences that invoke macros and their values in"
+#~ msgstr " -s Muestra las secuencias de teclas que invocan macros y sus"
#~ msgid " a form that can be reused as input."
-#~ msgstr ""
-#~ " valores en una forma que puede reusarse como entrada."
+#~ msgstr " valores en una forma que puede reusarse como entrada."
#~ msgid "break N levels."
#~ msgstr "sale N niveles."
#~ msgstr "Ejecuta un shell interno. Esto es útil cuando desea renombrar un"
#~ msgid "shell builtin to be a function, but need the functionality of the"
-#~ msgstr ""
-#~ "shell interno para que sea una función, pero necesita la funcionalidad"
+#~ msgstr "shell interno para que sea una función, pero necesita la funcionalidad"
#~ msgid "builtin within the function itself."
#~ msgstr "interna dentro de la misma función."
#~ msgstr "por omisión. La variable $CDPATH define la ruta de búsqueda para"
#~ msgid "the directory containing DIR. Alternative directory names in CDPATH"
-#~ msgstr ""
-#~ "el directorio que contiene DIR. Los nombres alternativos de directorio en"
+#~ msgstr "el directorio que contiene DIR. Los nombres alternativos de directorio en"
#~ msgid "are separated by a colon (:). A null directory name is the same as"
-#~ msgstr ""
-#~ "CDPATH son separados por dos puntos (:). Un nombre de directorio nulo es"
+#~ msgstr "CDPATH son separados por dos puntos (:). Un nombre de directorio nulo es"
# Slash lo venimos traduciendo por barra inclinada , y backslash
# por barra invertida em++
#~ msgid "the current directory, i.e. `.'. If DIR begins with a slash (/),"
-#~ msgstr ""
-#~ "igual al directorio actual, p.e. `.'. Si DIR comienza con una barra "
-#~ "inclinada"
+#~ msgstr "igual al directorio actual, p.e. `.'. Si DIR comienza con una barra inclinada"
#~ msgid "then $CDPATH is not used. If the directory is not found, and the"
-#~ msgstr ""
-#~ "(/), entonces $CDPATH no se usa. Si el directorio no se encuentra, y"
+#~ msgstr "(/), entonces $CDPATH no se usa. Si el directorio no se encuentra, y"
#~ msgid "shell option `cdable_vars' is set, then try the word as a variable"
-#~ msgstr ""
-#~ "la opción de shell `cdable_vars' está activa, entonces intenta la palabra"
+#~ msgstr "la opción de shell `cdable_vars' está activa, entonces intenta la palabra"
#~ msgid "name. If that variable has a value, then cd to the value of that"
-#~ msgstr ""
-#~ "como nombre de variable. Si esa variable tiene un valor, entonces se "
-#~ "cambia al"
+#~ msgstr "como nombre de variable. Si esa variable tiene un valor, entonces se cambia al"
-#~ msgid ""
-#~ "variable. The -P option says to use the physical directory structure"
-#~ msgstr ""
-#~ "valor de esa variable. La opción -P indica el uso de la estructura física"
+#~ msgid "variable. The -P option says to use the physical directory structure"
+#~ msgstr "valor de esa variable. La opción -P indica el uso de la estructura física"
-#~ msgid ""
-#~ "instead of following symbolic links; the -L option forces symbolic links"
+#~ msgid "instead of following symbolic links; the -L option forces symbolic links"
#~ msgstr "del directorio en lugar de seguir enlaces simbólicos; la opción -L"
# forza -> fuerza? cfuga
#~ msgstr "fuerza que los vínculos simbólicos sean seguidos."
#~ msgid "Print the current working directory. With the -P option, pwd prints"
-#~ msgstr ""
-#~ "Imprime el directorio actual de trabajo. Con la opción -P, pwd imprime"
+#~ msgstr "Imprime el directorio actual de trabajo. Con la opción -P, pwd imprime"
#~ msgid "the physical directory, without any symbolic links; the -L option"
#~ msgstr "el directorio físico, sin ningún enlace simbólico; la opción -L"
#~ msgid "makes pwd follow symbolic links."
#~ msgstr "hace que pwd siga los enlaces simbólicos."
-#~ msgid ""
-#~ "Runs COMMAND with ARGS ignoring shell functions. If you have a shell"
+#~ msgid "Runs COMMAND with ARGS ignoring shell functions. If you have a shell"
#~ msgstr "Ejecuta ORDEN con ARGUMENTOS ignorando las funciones del shell. Si"
#~ msgid "function called `ls', and you wish to call the command `ls', you can"
-#~ msgstr ""
-#~ "tiene una función de shell llamada `ls', y desea llamar a la orden `ls',"
+#~ msgstr "tiene una función de shell llamada `ls', y desea llamar a la orden `ls',"
-#~ msgid ""
-#~ "say \"command ls\". If the -p option is given, a default value is used"
-#~ msgstr ""
-#~ "se puede decir \"command ls\". Si se especifica la opción -p, se usa un "
-#~ "valor"
+#~ msgid "say \"command ls\". If the -p option is given, a default value is used"
+#~ msgstr "se puede decir \"command ls\". Si se especifica la opción -p, se usa un valor"
# es usado -> se usa. sv
# De acuerdo. La corrección incluye también la línea anterior. cfuga
-#~ msgid ""
-#~ "for PATH that is guaranteed to find all of the standard utilities. If"
-#~ msgstr ""
-#~ "por omisión para PATH que garantiza encontrar todas las herramientas "
-#~ "estándar."
+#~ msgid "for PATH that is guaranteed to find all of the standard utilities. If"
+#~ msgstr "por omisión para PATH que garantiza encontrar todas las herramientas estándar."
# es impresa -> se muestra una cadena em+
# "Si se da la opcón -V o -v,..." sv
# De acuerdo. cfuga
-#~ msgid ""
-#~ "the -V or -v option is given, a string is printed describing COMMAND."
-#~ msgstr ""
-#~ "Si se da la opción -V o -v, se muestra una cadena describiendo la ORDEN."
+#~ msgid "the -V or -v option is given, a string is printed describing COMMAND."
+#~ msgstr "Si se da la opción -V o -v, se muestra una cadena describiendo la ORDEN."
#~ msgid "The -V option produces a more verbose description."
#~ msgstr "La opción -V produce una descripción más completa."
#~ msgid "Declare variables and/or give them attributes. If no NAMEs are"
-#~ msgstr ""
-#~ "Declara variables y/o les da atributos. Si no se proporcionan NOMBREs,"
+#~ msgstr "Declara variables y/o les da atributos. Si no se proporcionan NOMBREs,"
#~ msgid "given, then display the values of variables instead. The -p option"
#~ msgstr "entonces muestra los valores de las variables. La opción -p"
#~ msgstr "solamente el nombre de la función."
# apaga -> desactiva em+
-#~ msgid ""
-#~ "Using `+' instead of `-' turns off the given attribute instead. When"
-#~ msgstr ""
-#~ "Usar `+' en lugar de `-' desactiva el atributo dado. Cuando es usado"
+#~ msgid "Using `+' instead of `-' turns off the given attribute instead. When"
+#~ msgstr "Usar `+' en lugar de `-' desactiva el atributo dado. Cuando es usado"
#~ msgid "used in a function, makes NAMEs local, as with the `local' command."
-#~ msgstr ""
-#~ "en una función, hace los NOMBREs locales, como con la orden `local'."
+#~ msgstr "en una función, hace los NOMBREs locales, como con la orden `local'."
# y le da -> y le asigna em+
#~ msgid "Create a local variable called NAME, and give it VALUE. LOCAL"
#~ msgstr "Muestra los ARGumentos. Si -n es especificado, el carácter final de"
#~ msgid "suppressed. If the -e option is given, interpretation of the"
-#~ msgstr ""
-#~ "fin de línea es eliminado. Si se especifica la opción -e, se activa la"
+#~ msgstr "fin de línea es eliminado. Si se especifica la opción -e, se activa la"
#~ msgid "following backslash-escaped characters is turned on:"
#~ msgstr "interpretación de estos caracteres de escape con barras invertidas:"
#~ msgid "\t\\num\tthe character whose ASCII code is NUM (octal)."
#~ msgstr "\t\\num\tel carácter cuyo código ASCII es NÚM (octal)."
-#~ msgid ""
-#~ "You can explicitly turn off the interpretation of the above characters"
+#~ msgid "You can explicitly turn off the interpretation of the above characters"
#~ msgstr "Puede desactivar explícitamente la interpretación de los siguientes"
#~ msgid "with the -E option."
#~ msgstr "Activa y desactiva las órdenes internas del shell. Esto permite"
#~ msgid "you to use a disk command which has the same name as a shell"
-#~ msgstr ""
-#~ "que use una orden del sistema que tenga el mismo nombre de una orden"
+#~ msgstr "que use una orden del sistema que tenga el mismo nombre de una orden"
#~ msgid "builtin. If -n is used, the NAMEs become disabled; otherwise"
#~ msgstr "interna. Si se usa -n , los NOMBREs se desactivan; de otra forma"
#~ msgstr "La opción -d borrará una orden interna cargada con -f. Si no"
#~ msgid "non-option names are given, or the -p option is supplied, a list"
-#~ msgstr ""
-#~ "se especifica ninguna opción, o se especifica la opción -p, se muestra "
-#~ "una lista"
+#~ msgstr "se especifica ninguna opción, o se especifica la opción -p, se muestra una lista"
# Se muestra una lista de órdenes internas. sv
# Hay muchos más mensajes que están en "pasiva" que quedarían mejor en
# forma "reflexiva". No comento más y te dejo que los mires despacio.
# Gracias por la observación. cfuga
#~ msgid "of builtins is printed. The -a option means to print every builtin"
-#~ msgstr ""
-#~ "de órdenes internas. La opción -a implica mostrar cada orden interno"
+#~ msgstr "de órdenes internas. La opción -a implica mostrar cada orden interno"
#~ msgid "with an indication of whether or not it is enabled. The -s option"
#~ msgstr "con una indicación de si está activa o no. La opción -s impide"
# Yo pondría "las letras de opción que se reconocen". sv
# De acuerdo. cfuga
#~ msgid "OPTSTRING contains the option letters to be recognized; if a letter"
-#~ msgstr ""
-#~ "La CADENA_OPCIONES contiene las letras de opción que se reconocen; si una"
+#~ msgstr "La CADENA_OPCIONES contiene las letras de opción que se reconocen; si una"
#~ msgid "is followed by a colon, the option is expected to have an argument,"
-#~ msgstr ""
-#~ "letra es seguida de dos puntos, se espera que la opción tenga un "
-#~ "argumento,"
+#~ msgstr "letra es seguida de dos puntos, se espera que la opción tenga un argumento,"
#~ msgid "which should be separated from it by white space."
#~ msgstr "que debe estar separado por espacios."
#~ msgstr "Cada vez que se llama, getopts colocará la siguiente opción en"
#~ msgid "shell variable $name, initializing name if it does not exist, and"
-#~ msgstr ""
-#~ "la variable de shell $nombre, creando nombre si no existe, y el índice"
+#~ msgstr "la variable de shell $nombre, creando nombre si no existe, y el índice"
#~ msgid "the index of the next argument to be processed into the shell"
-#~ msgstr ""
-#~ "del siguiente argumento para procesarse dentro de la variable del shell"
+#~ msgstr "del siguiente argumento para procesarse dentro de la variable del shell"
#~ msgid "variable OPTIND. OPTIND is initialized to 1 each time the shell or"
#~ msgstr "OPTIND. OPTIND inicia con 1 cada vez que el shell o un guión de"
# en una de dos formas -> en una de las dos formas siguientes em+
#~ msgid "getopts reports errors in one of two ways. If the first character"
-#~ msgstr ""
-#~ "getopts comunica errores en una de las dos formas siguientes. Si el "
-#~ "primer carácter"
+#~ msgstr "getopts comunica errores en una de las dos formas siguientes. Si el primer carácter"
#~ msgid "of OPTSTRING is a colon, getopts uses silent error reporting. In"
-#~ msgstr ""
-#~ "de OPTSTRING es dos puntos, getopts usa el aviso de error silencioso."
+#~ msgstr "de OPTSTRING es dos puntos, getopts usa el aviso de error silencioso."
#~ msgid "this mode, no error messages are printed. If an illegal option is"
-#~ msgstr ""
-#~ "En este modo, no se muestran mensajes de error. Si se encuentra una "
-#~ "opción"
+#~ msgstr "En este modo, no se muestran mensajes de error. Si se encuentra una opción"
#~ msgid "seen, getopts places the option character found into OPTARG. If a"
#~ msgstr "ilegal, getopts coloca el carácter de opción encontrado en OPTARG."
#~ msgid "required argument is not found, getopts places a ':' into NAME and"
-#~ msgstr ""
-#~ "Si un argumento necesario no se encuentra, getopts coloca ':' en NOMBRE"
+#~ msgstr "Si un argumento necesario no se encuentra, getopts coloca ':' en NOMBRE"
#~ msgid "sets OPTARG to the option character found. If getopts is not in"
#~ msgstr "y establece a OPTARG con el carácter de opción encontrado. Si"
#~ msgid "silent mode, and an illegal option is seen, getopts places '?' into"
-#~ msgstr ""
-#~ "getopts no está en modo silencioso, y se encuentra una opción ilegal,"
+#~ msgstr "getopts no está en modo silencioso, y se encuentra una opción ilegal,"
#~ msgid "NAME and unsets OPTARG. If a required option is not found, a '?'"
#~ msgstr "getopts coloca '?' en NOMBRE y borra OPTARG. Si no se encuentra"
#~ msgstr "una opción necesaria, se coloca un '?' en NOMBRE, se borra OPTARG,"
#~ msgid "If the shell variable OPTERR has the value 0, getopts disables the"
-#~ msgstr ""
-#~ "Si la variable de shell OPTERR tiene el valor 0, getopts deshabilita"
+#~ msgstr "Si la variable de shell OPTERR tiene el valor 0, getopts deshabilita"
#~ msgid "printing of error messages, even if the first character of"
#~ msgstr "la notificación de mensajes de error, aún si el primer carácter de"
#~ msgstr "OPTSTRING no es ':'. OPTERR tiene el valor de 1 por omisión."
#~ msgid "Getopts normally parses the positional parameters ($0 - $9), but if"
-#~ msgstr ""
-#~ "Getopts normalmente compara los parámetros de posición ($0 - $9), pero"
+#~ msgstr "Getopts normalmente compara los parámetros de posición ($0 - $9), pero"
# dar argumentos -> especificar em+
#~ msgid "more arguments are given, they are parsed instead."
-#~ msgstr ""
-#~ "si se especifican más argumentos, se comparan en lugar de los primeros."
+#~ msgstr "si se especifican más argumentos, se comparan en lugar de los primeros."
#~ msgid "Exec FILE, replacing this shell with the specified program."
-#~ msgstr ""
-#~ "Ejecuta el FICHERO, reemplazando este shell con el programa especificado."
+#~ msgstr "Ejecuta el FICHERO, reemplazando este shell con el programa especificado."
#~ msgid "If FILE is not specified, the redirections take effect in this"
-#~ msgstr ""
-#~ "Si no se especifica un FICHERO, las redirecciones toman efecto en este"
+#~ msgstr "Si no se especifica un FICHERO, las redirecciones toman efecto en este"
#~ msgid "shell. If the first argument is `-l', then place a dash in the"
#~ msgstr "shell. Si el primer argumento es `-l', entonces coloca un guión en"
#~ msgid "zeroth arg passed to FILE, as login does. If the `-c' option"
-#~ msgstr ""
-#~ "el argumento 0 pasado al FICHERO, como lo hace login. Si se especifica la "
-#~ "opción"
+#~ msgstr "el argumento 0 pasado al FICHERO, como lo hace login. Si se especifica la opción"
#~ msgid "is supplied, FILE is executed with a null environment. The `-a'"
#~ msgstr "`-c', el FICHERO se ejecuta en un entorno nulo. La opción `-a'"
#~ msgid "is that of the last command executed."
#~ msgstr "es el del último comando ejecutado."
-#~ msgid ""
-#~ "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
-#~ msgstr ""
-#~ "PRIMERO y ÚLTIMO pueden ser números especificando el rango, o PRIMERO"
+#~ msgid "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
+#~ msgstr "PRIMERO y ÚLTIMO pueden ser números especificando el rango, o PRIMERO"
#~ msgid "string, which means the most recent command beginning with that"
#~ msgstr "puede ser una cadena, que representa el comando más reciente que"
#~ msgid "string."
#~ msgstr "comience con dicha cadena."
-#~ msgid ""
-#~ " -e ENAME selects which editor to use. Default is FCEDIT, then EDITOR,"
-#~ msgstr ""
-#~ " -e NOMBRE_E escoge qué editor emplear. Por omisión es FCEDIT, después"
+#~ msgid " -e ENAME selects which editor to use. Default is FCEDIT, then EDITOR,"
+#~ msgstr " -e NOMBRE_E escoge qué editor emplear. Por omisión es FCEDIT, después"
-#~ msgid ""
-#~ " then the editor which corresponds to the current readline editing"
+#~ msgid " then the editor which corresponds to the current readline editing"
#~ msgstr " EDITOR, después el editor que corresponde a la edición actual"
#~ msgid " mode, then vi."
#~ msgid " -n means no line numbers listed."
#~ msgstr " -n significa que no sean mostrados los números de línea."
-#~ msgid ""
-#~ " -r means reverse the order of the lines (making it newest listed "
-#~ "first)."
-#~ msgstr ""
-#~ " -r significa invertir el orden de las líneas (líneas nuevas primero)."
+#~ msgid " -r means reverse the order of the lines (making it newest listed first)."
+#~ msgstr " -r significa invertir el orden de las líneas (líneas nuevas primero)."
#~ msgid "With the `fc -s [pat=rep ...] [command]' format, the command is"
#~ msgstr "Con el formato `fc -s [pat=rep ...] [orden]', la orden es"
#~ msgid "re-executed after the substitution OLD=NEW is performed."
-#~ msgstr ""
-#~ "re-ejecutado después de que se realiza la sustitución ANTIGUA=NUEVA."
+#~ msgstr "re-ejecutado después de que se realiza la sustitución ANTIGUA=NUEVA."
#~ msgid "A useful alias to use with this is r='fc -s', so that typing `r cc'"
-#~ msgstr ""
-#~ "Un alias útil para usar con esto es r='fc -s', así que al teclear `r cc'"
+#~ msgstr "Un alias útil para usar con esto es r='fc -s', así que al teclear `r cc'"
#~ msgid "runs the last command beginning with `cc' and typing `r' re-executes"
-#~ msgstr ""
-#~ "ejecuta la última orden que comenzó con `cc' y tecleando `r' re-ejecuta"
+#~ msgstr "ejecuta la última orden que comenzó con `cc' y tecleando `r' re-ejecuta"
#~ msgid "JOB_SPEC is not present, the shell's notion of the current job is"
-#~ msgstr ""
-#~ "Si el ID_TRABAJO no se encuentra, se usa la noción del shell de trabajo"
+#~ msgstr "Si el IDTRABAJO no se encuentra, se usa la noción del shell de trabajo"
#~ msgid "used."
#~ msgstr "actual."
#~ msgid "Place JOB_SPEC in the background, as if it had been started with"
-#~ msgstr ""
-#~ "Ubica al ID_TRABAJO en el background, como si hubiera sido iniciado con"
+#~ msgstr "Ubica al IDTRABAJO en el background, como si hubiera sido iniciado con"
#~ msgid "`&'. If JOB_SPEC is not present, the shell's notion of the current"
-#~ msgstr "`&'. Si el ID_TRABAJO no se encuentra, se usa la noción del shell"
+#~ msgstr "`&'. Si el IDTRABAJO no se encuentra, se usa la noción del shell"
#~ msgid "job is used."
#~ msgstr "de trabajo actual."
#~ msgstr "recuerda. Si se especifica la opción -p, se usa la RUTA_DE_ACCESO"
#~ msgid "full pathname of NAME, and no path search is performed. The -r"
-#~ msgstr ""
-#~ "como la ruta completa de NOMBRE y no se realiza la búsqueda de ruta."
+#~ msgstr "como la ruta completa de NOMBRE y no se realiza la búsqueda de ruta."
#~ msgid "option causes the shell to forget all remembered locations. If no"
-#~ msgstr ""
-#~ " La opción -r hace que el shell olvide todas las ubicaciones recordadas."
+#~ msgstr " La opción -r hace que el shell olvide todas las ubicaciones recordadas."
-#~ msgid ""
-#~ "arguments are given, information about remembered commands is displayed."
-#~ msgstr ""
-#~ " Si no se especifican argumentos, se muestra la información sobre las "
-#~ "órdenes recordadas."
+#~ msgid "arguments are given, information about remembered commands is displayed."
+#~ msgstr " Si no se especifican argumentos, se muestra la información sobre las órdenes recordadas."
#~ msgid "Display helpful information about builtin commands. If PATTERN is"
#~ msgstr "Muestra información de ayuda acerca de las órdenes internas. Si se"
#~ msgid "specified, gives detailed help on all commands matching PATTERN,"
-#~ msgstr ""
-#~ "especifica la PLANTILLA, da ayuda detallada de todas las órdenes que"
+#~ msgstr "especifica la PLANTILLA, da ayuda detallada de todas las órdenes que"
#~ msgid "otherwise a list of the builtins is printed."
-#~ msgstr ""
-#~ "coinciden con la PLANTILLA, de otra forma se muestra una lista de las "
-#~ "órdenes internas."
+#~ msgstr "coinciden con la PLANTILLA, de otra forma se muestra una lista de las órdenes internas."
#~ msgid "Display the history list with line numbers. Lines listed with"
-#~ msgstr ""
-#~ "Muestra la lista de la historia con números de línea. Las líneas "
-#~ "mostradas"
+#~ msgstr "Muestra la lista de la historia con números de línea. Las líneas mostradas"
#~ msgid "with a `*' have been modified. Argument of N says to list only"
-#~ msgstr ""
-#~ "con un `*' han sido modificadas. Un argumento de N indica que solo se"
+#~ msgstr "con un `*' han sido modificadas. Un argumento de N indica que solo se"
#~ msgid "the last N lines. The -c option causes the history list to be"
-#~ msgstr ""
-#~ "muestren las últimas N líneas. La opción -c hace que la lista de la "
-#~ "historia"
+#~ msgstr "muestren las últimas N líneas. La opción -c hace que la lista de la historia"
-#~ msgid ""
-#~ "cleared by deleting all of the entries. The `-w' option writes out the"
-#~ msgstr ""
-#~ "sea borrada eliminando todas las entradas. La opción `-w' escribe la "
-#~ "historia"
+#~ msgid "cleared by deleting all of the entries. The `-w' option writes out the"
+#~ msgstr "sea borrada eliminando todas las entradas. La opción `-w' escribe la historia"
-#~ msgid ""
-#~ "current history to the history file; `-r' means to read the file and"
-#~ msgstr ""
-#~ "actual al fichero de historia; `-r' al contrario, lee el fichero y agrega"
+#~ msgid "current history to the history file; `-r' means to read the file and"
+#~ msgstr "actual al fichero de historia; `-r' al contrario, lee el fichero y agrega"
#~ msgid "append the contents to the history list instead. `-a' means"
#~ msgstr "el contenido a la lista de la historia. `-a' agrega las"
#~ msgstr "El argumento `-n' lee todas las líneas de historia que no han sido"
#~ msgid "from the history file and append them to the history list. If"
-#~ msgstr ""
-#~ "leídas aún del fichero de historia y las agrega a la lista de historia."
+#~ msgstr "leídas aún del fichero de historia y las agrega a la lista de historia."
#~ msgid "FILENAME is given, then that is used as the history file else"
-#~ msgstr ""
-#~ " Si se especifica un FICHERO, entonces se usa como el fichero de historia"
+#~ msgstr " Si se especifica un FICHERO, entonces se usa como el fichero de historia"
#~ msgid "if $HISTFILE has a value, that is used, else ~/.bash_history."
-#~ msgstr ""
-#~ "de otra manera si $HISTFILE tiene un valor, se utiliza, de otra forma se "
-#~ "usa ~/.bash_history."
+#~ msgstr "de otra manera si $HISTFILE tiene un valor, se utiliza, de otra forma se usa ~/.bash_history."
#~ msgid "If the -s option is supplied, the non-option ARGs are appended to"
-#~ msgstr ""
-#~ "Si se especifica la opción -s, los ARGumentos que no son opciones se"
+#~ msgstr "Si se especifica la opción -s, los ARGumentos que no son opciones se"
#~ msgid "the history list as a single entry. The -p option means to perform"
-#~ msgstr ""
-#~ "agregan a la lista de historia como una sola entrada. La opción -p "
-#~ "realiza"
+#~ msgstr "agregan a la lista de historia como una sola entrada. La opción -p realiza"
-#~ msgid ""
-#~ "history expansion on each ARG and display the result, without storing"
-#~ msgstr ""
-#~ "una expansión de historia en cada ARGumento y muestra el resultado, sin "
-#~ "guardar"
+#~ msgid "history expansion on each ARG and display the result, without storing"
+#~ msgstr "una expansión de historia en cada ARGumento y muestra el resultado, sin guardar"
#~ msgid "anything in the history list."
#~ msgstr "nada en la lista de historia."
#~ msgid "Lists the active jobs. The -l option lists process id's in addition"
-#~ msgstr ""
-#~ "Muestra los trabajos activos. La opción -l muestra los id's de los "
-#~ "procesos además"
+#~ msgstr "Muestra los trabajos activos. La opción -l muestra los id's de los procesos además"
#~ msgid "to the normal information; the -p option lists process id's only."
-#~ msgstr ""
-#~ "de la información normal; la opción -p solamente muestra los id's de los "
-#~ "procesos."
+#~ msgstr "de la información normal; la opción -p solamente muestra los id's de los procesos."
-#~ msgid ""
-#~ "If -n is given, only processes that have changed status since the last"
-#~ msgstr ""
-#~ "Si se especifica -n, solamente se muestran los procesos que han cambiado"
+#~ msgid "If -n is given, only processes that have changed status since the last"
+#~ msgstr "Si se especifica -n, solamente se muestran los procesos que han cambiado"
-#~ msgid ""
-#~ "notification are printed. JOBSPEC restricts output to that job. The"
-#~ msgstr ""
-#~ "de estado desde la última notificación. IDJOB limita la salida a ese "
-#~ "trabajo. Las"
+#~ msgid "notification are printed. JOBSPEC restricts output to that job. The"
+#~ msgstr "de estado desde la última notificación. IDJOB limita la salida a ese trabajo. Las"
#~ msgid "-r and -s options restrict output to running and stopped jobs only,"
-#~ msgstr ""
-#~ "opciones -r y -s limitan la salida a mostrar sólo trabajos corriendo y "
-#~ "detenidos,"
+#~ msgstr "opciones -r y -s limitan la salida a mostrar sólo trabajos corriendo y detenidos,"
#~ msgid "respectively. Without options, the status of all active jobs is"
#~ msgstr "respectivamente. Sin opciones, se muestra el estado de todos los"
-#~ msgid ""
-#~ "printed. If -x is given, COMMAND is run after all job specifications"
-#~ msgstr ""
-#~ "trabajos activos. Si se especifica -x, la ORDEN se ejecuta después de "
-#~ "que todas las especificaciones de trabajos"
+#~ msgid "printed. If -x is given, COMMAND is run after all job specifications"
+#~ msgstr "trabajos activos. Si se especifica -x, la ORDEN se ejecuta después de que todas las especificaciones de trabajos"
-#~ msgid ""
-#~ "that appear in ARGS have been replaced with the process ID of that job's"
+#~ msgid "that appear in ARGS have been replaced with the process ID of that job's"
#~ msgstr "que aparecen en ARGS han sido reemplazadas por el ID de proceso del"
#~ msgid "process group leader."
#~ msgstr "Elimina cada argumento IDJOBS de la tabla de trabajos activos."
#~ msgid "Send the processes named by PID (or JOB) the signal SIGSPEC. If"
-#~ msgstr ""
-#~ "Manda a los procesos nombrados por PID (o TRABAJO) la señal SIGSPEC. Si"
+#~ msgstr "Manda a los procesos nombrados por PID (o TRABAJO) la señal SIGSPEC. Si"
-#~ msgid ""
-#~ "SIGSPEC is not present, then SIGTERM is assumed. An argument of `-l'"
-#~ msgstr ""
-#~ "no se especifica SIGSPEC, entonces se asume SIGTERM. El argumento `-l'"
+#~ msgid "SIGSPEC is not present, then SIGTERM is assumed. An argument of `-l'"
+#~ msgstr "no se especifica SIGSPEC, entonces se asume SIGTERM. El argumento `-l'"
#~ msgid "lists the signal names; if arguments follow `-l' they are assumed to"
-#~ msgstr ""
-#~ "muestra los nombres de señales; si hay argumentos después de `-l', se"
+#~ msgstr "muestra los nombres de señales; si hay argumentos después de `-l', se"
#~ msgid "be signal numbers for which names should be listed. Kill is a shell"
-#~ msgstr ""
-#~ "asume que son números de señales cuyos nombres deben mostrarse. Kill es "
-#~ "una orden"
+#~ msgstr "asume que son números de señales cuyos nombres deben mostrarse. Kill es una orden"
#~ msgid "builtin for two reasons: it allows job IDs to be used instead of"
-#~ msgstr ""
-#~ "interna de shell por dos razones: permite que los IDs de trabajos sean "
-#~ "usados en lugar de "
+#~ msgstr "interna de shell por dos razones: permite que los IDs de trabajos sean usados en lugar de "
#~ msgid "process IDs, and, if you have reached the limit on processes that"
#~ msgstr "IDs de procesos, y, si ha alcanzado el límite de procesos que"
-#~ msgid ""
-#~ "you can create, you don't have to start a process to kill another one."
+#~ msgid "you can create, you don't have to start a process to kill another one."
#~ msgstr "puede crear, no tiene que iniciar un proceso para eliminar a otro."
# "a ser evaluada" no está en español. sv
# Cierto. ¿Así está mejor? cfuga
#~ msgid "Each ARG is an arithmetic expression to be evaluated. Evaluation"
-#~ msgstr ""
-#~ "Cada ARGumento es una expresión aritmética para evaluarse. La evaluación"
+#~ msgstr "Cada ARGumento es una expresión aritmética para evaluarse. La evaluación"
# overflow -> desbordamiento o sobrepasamiento. nunca lo he visto
# traducido como sobreflujo. sv
# Corregido. cfuga
#~ msgid "is done in long integers with no check for overflow, though division"
-#~ msgstr ""
-#~ "se hace en enteros long sin revisar desbordamientos, aunque la división"
+#~ msgstr "se hace en enteros long sin revisar desbordamientos, aunque la división"
#~ msgid "by 0 is trapped and flagged as an error. The following list of"
#~ msgstr "por 0 es capturada y marcada como un error. La siguiente lista de"
# Yo pondría simplemente "prioridad". sv
# Creo que si existe, pero tu sugerencia es mejor. cfuga
#~ msgid "operators is grouped into levels of equal-precedence operators."
-#~ msgstr ""
-#~ "operadores está agrupada en niveles de operadores de la misma prioridad."
+#~ msgstr "operadores está agrupada en niveles de operadores de la misma prioridad."
#~ msgid "The levels are listed in order of decreasing precedence."
#~ msgstr "Se muestran los niveles en orden de prioridad decreciente."
#~ msgstr "entero para que se use en una expresión."
#~ msgid "Operators are evaluated in order of precedence. Sub-expressions in"
-#~ msgstr ""
-#~ "Los operadores se evalúan en orden de prioridad. Se evalúan en primer"
+#~ msgstr "Los operadores se evalúan en orden de prioridad. Se evalúan en primer"
#~ msgid "parentheses are evaluated first and may override the precedence"
#~ msgstr "lugar las sub-expresiones en paréntesis y pueden sobrepasar las"
#~ msgid "One line is read from the standard input, and the first word is"
#~ msgstr "Una línea se lee de la entrada estándar, y la primera palabra se"
-#~ msgid ""
-#~ "assigned to the first NAME, the second word to the second NAME, and so"
-#~ msgstr ""
-#~ "asigna al primer NOMBRE, la segunda palabra al segundo NOMBRE, y así"
+#~ msgid "assigned to the first NAME, the second word to the second NAME, and so"
+#~ msgstr "asigna al primer NOMBRE, la segunda palabra al segundo NOMBRE, y así"
-#~ msgid ""
-#~ "on, with leftover words assigned to the last NAME. Only the characters"
-#~ msgstr ""
-#~ "con las palabras restantes asignadas al último NOMBRE. Solo los "
-#~ "caracteres"
+#~ msgid "on, with leftover words assigned to the last NAME. Only the characters"
+#~ msgstr "con las palabras restantes asignadas al último NOMBRE. Solo los caracteres"
#~ msgid "found in $IFS are recognized as word delimiters. The return code is"
-#~ msgstr ""
-#~ "que se encuentran en $IFS se reconocen como delimitadores de palabras. El"
+#~ msgstr "que se encuentran en $IFS se reconocen como delimitadores de palabras. El"
-#~ msgid ""
-#~ "zero, unless end-of-file is encountered. If no NAMEs are supplied, the"
-#~ msgstr ""
-#~ "código de retorno es cero, a menos que se encuentre un fin-de-fichero. "
-#~ "Si no"
+#~ msgid "zero, unless end-of-file is encountered. If no NAMEs are supplied, the"
+#~ msgstr "código de retorno es cero, a menos que se encuentre un fin-de-fichero. Si no"
-#~ msgid ""
-#~ "line read is stored in the REPLY variable. If the -r option is given,"
-#~ msgstr ""
-#~ "se establece ningún NOMBRE, la línea leída se guarda en la variable "
-#~ "REPLY. Si"
+#~ msgid "line read is stored in the REPLY variable. If the -r option is given,"
+#~ msgstr "se establece ningún NOMBRE, la línea leída se guarda en la variable REPLY. Si"
#~ msgid "this signifies `raw' input, and backslash escaping is disabled. If"
-#~ msgstr ""
-#~ "se proporciona la opción -r, esto significa entrada `textual', y se "
-#~ "desactiva"
+#~ msgstr "se proporciona la opción -r, esto significa entrada `textual', y se desactiva"
#~ msgid "the `-p' option is supplied, the string supplied as an argument is"
#~ msgstr "el escape de la barra invertida. Si se proporciona la opción `-p',"
-#~ msgid ""
-#~ "output without a trailing newline before attempting to read. If -a is"
-#~ msgstr ""
-#~ "se muestra la cadena proporcionada como argumento sin un fín de línea "
-#~ "terminal antes de intentar leerla."
+#~ msgid "output without a trailing newline before attempting to read. If -a is"
+#~ msgstr "se muestra la cadena proporcionada como argumento sin un fín de línea terminal antes de intentar leerla."
-#~ msgid ""
-#~ "supplied, the words read are assigned to sequential indices of ARRAY,"
-#~ msgstr ""
-#~ "Si se da -a, se asignan las palabras leídas a índices secuenciales de "
-#~ "MATRIZ"
+#~ msgid "supplied, the words read are assigned to sequential indices of ARRAY,"
+#~ msgstr "Si se da -a, se asignan las palabras leídas a índices secuenciales de MATRIZ"
#~ msgid "starting at zero. If -e is supplied and the shell is interactive,"
#~ msgstr "iniciando en cero. Si se da -e y el shell es interactivo,"
#~ msgstr "se omite N, se utiliza el código de estado de la última orden."
#~ msgid " -a Mark variables which are modified or created for export."
-#~ msgstr ""
-#~ " -a Marca las variables que se modifican o crean para exportación."
+#~ msgstr " -a Marca las variables que se modifican o crean para exportación."
#~ msgid " -b Notify of job termination immediately."
#~ msgstr " -b Notifica el término de trabajos inmediatamente."
#~ msgid " -e Exit immediately if a command exits with a non-zero status."
-#~ msgstr ""
-#~ " -e Termina inmediatamente si una orden termina con un estado "
-#~ "diferente a cero."
+#~ msgstr " -e Termina inmediatamente si una orden termina con un estado diferente a cero."
#~ msgid " -f Disable file name generation (globbing)."
-#~ msgstr ""
-#~ " -f Desactiva la generación de nombres de ficheros (englobamiento)."
+#~ msgstr " -f Desactiva la generación de nombres de ficheros (englobamiento)."
#~ msgid " -h Remember the location of commands as they are looked up."
-#~ msgstr ""
-#~ " -h Recuerda la ubicación de las órdenes como fueron localizadas."
+#~ msgstr " -h Recuerda la ubicación de las órdenes como fueron localizadas."
-#~ msgid ""
-#~ " -i Force the shell to be an \"interactive\" one. Interactive shells"
-#~ msgstr ""
-#~ " -i Fuerza que el shell sea \"interactive\". Los shells interactivos"
+#~ msgid " -i Force the shell to be an \"interactive\" one. Interactive shells"
+#~ msgstr " -i Fuerza que el shell sea \"interactive\". Los shells interactivos"
#~ msgid " always read `~/.bashrc' on startup."
#~ msgstr " siempre leen `~/.bashrc' al inicio."
#~ msgid " -k All assignment arguments are placed in the environment for a"
-#~ msgstr ""
-#~ " -k Todos los argumentos de asignación se ubican en el ambiente para "
-#~ "una"
+#~ msgstr " -k Todos los argumentos de asignación se ubican en el ambiente para una"
#~ msgid " command, not just those that precede the command name."
-#~ msgstr ""
-#~ " orden, no solamente aquéllos que preceden al nombre de la orden."
+#~ msgstr " orden, no solamente aquéllos que preceden al nombre de la orden."
#~ msgid " -m Job control is enabled."
#~ msgstr " -m Se activa el control de trabajos."
#~ msgstr " braceexpand igual que -B"
#~ msgid " emacs use an emacs-style line editing interface"
-#~ msgstr ""
-#~ " emacs usa una interfaz de edición de línea estilo emacs"
+#~ msgstr " emacs usa una interfaz de edición de línea estilo emacs"
#~ msgid " errexit same as -e"
#~ msgstr " errexit igual que -e"
#~ msgid " interactive-comments"
#~ msgstr " interactive-comments"
-#~ msgid ""
-#~ " allow comments to appear in interactive commands"
-#~ msgstr ""
-#~ " permite que los comentarios se muestren en "
-#~ "órdenes interactivas"
+#~ msgid " allow comments to appear in interactive commands"
+#~ msgstr " permite que los comentarios se muestren en órdenes interactivas"
#~ msgid " keyword same as -k"
#~ msgstr " keyword igual que -k"
#~ msgid " physical same as -P"
#~ msgstr " physical same as -P"
-#~ msgid ""
-#~ " posix change the behavior of bash where the default"
-#~ msgstr ""
-#~ " posix cambia la conducta de bash donde por omisión"
+#~ msgid " posix change the behavior of bash where the default"
+#~ msgstr " posix cambia la conducta de bash donde por omisión"
-#~ msgid ""
-#~ " operation differs from the 1003.2 standard to"
-#~ msgstr ""
-#~ " la operación difiere del estándard 1003.2 para"
+#~ msgid " operation differs from the 1003.2 standard to"
+#~ msgstr " la operación difiere del estándar 1003.2 para"
#~ msgid " match the standard"
-#~ msgstr " cumplir el estándard"
+#~ msgstr " cumplir el estándar"
#~ msgid " privileged same as -p"
#~ msgstr " privileged igual que -p"
#~ msgstr " verbose igual que -v"
#~ msgid " vi use a vi-style line editing interface"
-#~ msgstr ""
-#~ " vi usa una interfaz de edición de línea estilo vi"
+#~ msgstr " vi usa una interfaz de edición de línea estilo vi"
#~ msgid " xtrace same as -x"
#~ msgstr " xtrace igual que -x"
-#~ msgid ""
-#~ " -p Turned on whenever the real and effective user ids do not match."
-#~ msgstr ""
-#~ " -p Se activa cada vez que los ids real y efectivo no coinciden."
+#~ msgid " -p Turned on whenever the real and effective user ids do not match."
+#~ msgstr " -p Se activa cada vez que los ids real y efectivo no coinciden."
# FIXME: $ENV es variable, no fichero. cfuga
#~ msgid " Disables processing of the $ENV file and importing of shell"
-#~ msgstr ""
-#~ " Desactiva el procesamiento del fichero $ENV y la importación de "
-#~ "funciones"
+#~ msgstr " Desactiva el procesamiento del fichero $ENV y la importación de funciones"
-#~ msgid ""
-#~ " functions. Turning this option off causes the effective uid and"
+#~ msgid " functions. Turning this option off causes the effective uid and"
#~ msgstr " de shell. Desactivar esta opción causa que el uid y el gid"
#~ msgid " gid to be set to the real uid and gid."
#~ msgstr " -t Terminar después de leer y ejecutar una orden."
#~ msgid " -u Treat unset variables as an error when substituting."
-#~ msgstr ""
-#~ " -u Tratar las variables no establecidas como un error cuando se hace "
-#~ "sustitución."
+#~ msgstr " -u Tratar las variables no establecidas como un error cuando se hace sustitución."
#~ msgid " -v Print shell input lines as they are read."
#~ msgstr " -v Muestra las líneas de entrada del shell mientras se leen."
#~ msgstr " -B el shell hará expansión de llaves"
#~ msgid " -H Enable ! style history substitution. This flag is on"
-#~ msgstr ""
-#~ " -H Activa el estilo ! de sustitución de la historia. Este indicador"
+#~ msgstr " -H Activa el estilo ! de sustitución de la historia. Este indicador"
#~ msgid " by default."
#~ msgstr " está activado por omisión."
#~ msgid " -C If set, disallow existing regular files to be overwritten"
-#~ msgstr ""
-#~ " -C Si está establecido, evita que los ficheros regulares existentes "
-#~ "sean sobreescritos"
+#~ msgstr " -C Si está establecido, evita que los ficheros regulares existentes sean sobreescritos"
#~ msgid " by redirection of output."
#~ msgstr " por una redirección de salida."
#~ msgid " -P If set, do not follow symbolic links when executing commands"
-#~ msgstr ""
-#~ " -P Si está establecido, no se siguen los enlaces simbólicos cuando "
-#~ "se ejecutan órdenes"
+#~ msgstr " -P Si está establecido, no se siguen los enlaces simbólicos cuando se ejecutan órdenes"
#~ msgid " such as cd which change the current directory."
#~ msgstr " como cuando cd cambia al directorio actual."
#~ msgid "Using + rather than - causes these flags to be turned off. The"
-#~ msgstr ""
-#~ "Usar + en lugar de - causa que estos indicadores sean desactivados. Los"
+#~ msgstr "Usar + en lugar de - causa que estos indicadores sean desactivados. Los"
#~ msgid "flags can also be used upon invocation of the shell. The current"
-#~ msgstr ""
-#~ "indicadores también se pueden usar durante la invocación del shell. El "
-#~ "conjunto"
+#~ msgstr "indicadores también se pueden usar durante la invocación del shell. El conjunto"
-#~ msgid ""
-#~ "set of flags may be found in $-. The remaining n ARGs are positional"
-#~ msgstr ""
-#~ "actual de indicadores se encuentra en $-. Los ARGumentos n restantes son "
-#~ "parámetros"
+#~ msgid "set of flags may be found in $-. The remaining n ARGs are positional"
+#~ msgstr "actual de indicadores se encuentra en $-. Los ARGumentos n restantes son parámetros"
#~ msgid "parameters and are assigned, in order, to $1, $2, .. $n. If no"
#~ msgstr "posicionales y se asignan, en orden, a $1, $2, .. $n. Si no"
#~ msgid "ARGs are given, all shell variables are printed."
-#~ msgstr ""
-#~ "se establecen ARGumentos, se muestran todas las variables del shell."
+#~ msgstr "se establecen ARGumentos, se muestran todas las variables del shell."
#~ msgid "For each NAME, remove the corresponding variable or function. Given"
-#~ msgstr ""
-#~ "Para cada NOMBRE, se borra la variable o función correspondiente. Al usar"
+#~ msgstr "Para cada NOMBRE, se borra la variable o función correspondiente. Al usar"
#~ msgid "the `-v', unset will only act on variables. Given the `-f' flag,"
#~ msgstr "`-v', unset sólo actuará en variables. Al usar el indicador `-f',"
#~ msgid "unset will only act on functions. With neither flag, unset first"
-#~ msgstr ""
-#~ "unset sólo actuará en funciones. Sin ningún indicador, unset primero"
+#~ msgstr "unset sólo actuará en funciones. Sin ningún indicador, unset primero"
#~ msgid "tries to unset a variable, and if that fails, then tries to unset a"
-#~ msgstr ""
-#~ "intenta borrar una variable, y si eso falla, entonces intenta borrar una"
+#~ msgstr "intenta borrar una variable, y si eso falla, entonces intenta borrar una"
-#~ msgid ""
-#~ "function. Some variables (such as PATH and IFS) cannot be unset; also"
-#~ msgstr ""
-#~ "función. Algunas variables (como PATH e IFS) no se pueden borrar; vea"
+#~ msgid "function. Some variables (such as PATH and IFS) cannot be unset; also"
+#~ msgstr "función. Algunas variables (como PATH e IFS) no se pueden borrar; vea"
#~ msgid "see readonly."
#~ msgstr "también readonly."
#~ msgstr "los NOMBREs se marcan para exportación automática al ambiente de"
#~ msgid "subsequently executed commands. If the -f option is given,"
-#~ msgstr ""
-#~ "las órdenes ejecutadas subsecuentemente. Si se establece el indicador -f,"
+#~ msgstr "las órdenes ejecutadas subsecuentemente. Si se establece el indicador -f,"
#~ msgid "the NAMEs refer to functions. If no NAMEs are given, or if `-p'"
-#~ msgstr ""
-#~ "los NOMBREs se refieren a funciones. Si no se establecen NOMBREs, o si `-"
-#~ "p'"
+#~ msgstr "los NOMBREs se refieren a funciones. Si no se establecen NOMBREs, o si `-p'"
#~ msgid "is given, a list of all names that are exported in this shell is"
-#~ msgstr ""
-#~ "se establece, se muestra una lista de todos los nombres que se exportan"
+#~ msgstr "se establece, se muestra una lista de todos los nombres que se exportan"
#~ msgid "printed. An argument of `-n' says to remove the export property"
-#~ msgstr ""
-#~ "en este shell. Un argumento `-n' indica que se borre la propiedad de "
-#~ "exportación"
+#~ msgstr "en este shell. Un argumento `-n' indica que se borre la propiedad de exportación"
#~ msgid "from subsequent NAMEs. An argument of `--' disables further option"
-#~ msgstr ""
-#~ "de NOMBREs subsecuentes. Un argumento `--' desactiva el procesamiento"
+#~ msgstr "de NOMBREs subsecuentes. Un argumento `--' desactiva el procesamiento"
#~ msgid "processing."
#~ msgstr "posterior de opciones."
-#~ msgid ""
-#~ "The given NAMEs are marked readonly and the values of these NAMEs may"
-#~ msgstr ""
-#~ "Los NOMBREs dados se marcan como sólo-lectura y los valores de esos "
-#~ "NOMBREs"
+#~ msgid "The given NAMEs are marked readonly and the values of these NAMEs may"
+#~ msgstr "Los NOMBREs dados se marcan como sólo-lectura y los valores de esos NOMBREs"
#~ msgid "not be changed by subsequent assignment. If the -f option is given,"
-#~ msgstr ""
-#~ "no se pueden cambiar por asignaciones posteriores. Si se establece el "
-#~ "indicador -f,"
+#~ msgstr "no se pueden cambiar por asignaciones posteriores. Si se establece el indicador -f,"
#~ msgid "then functions corresponding to the NAMEs are so marked. If no"
-#~ msgstr ""
-#~ "entonces también se marcan las funciones correspondientes a los NOMBREs. "
-#~ "Si no"
+#~ msgstr "entonces también se marcan las funciones correspondientes a los NOMBREs. Si no"
-#~ msgid ""
-#~ "arguments are given, or if `-p' is given, a list of all readonly names"
-#~ msgstr ""
-#~ "se establecen argumentos, o si se establece `-p', se muestra una lista de "
-#~ "todos los nombres"
+#~ msgid "arguments are given, or if `-p' is given, a list of all readonly names"
+#~ msgstr "se establecen argumentos, o si se establece `-p', se muestra una lista de todos los nombres"
-#~ msgid ""
-#~ "is printed. An argument of `-n' says to remove the readonly property"
-#~ msgstr ""
-#~ "de sólo-lectura. Un argumento `-n' indica que se borre la propiedad de "
-#~ "sólo-lectura"
+#~ msgid "is printed. An argument of `-n' says to remove the readonly property"
+#~ msgstr "de sólo-lectura. Un argumento `-n' indica que se borre la propiedad de sólo-lectura"
#~ msgid "from subsequent NAMEs. The `-a' option means to treat each NAME as"
#~ msgstr "de los NOMBREs subsecuentes. La opción `-a' trata cada NOMBRE como"
#~ msgid "an array variable. An argument of `--' disables further option"
-#~ msgstr ""
-#~ "una variable de matriz. Un argumento de `--' desactiva opciones "
-#~ "posteriores"
+#~ msgstr "una variable de matriz. Un argumento de `--' desactiva opciones posteriores"
#~ msgid "not given, it is assumed to be 1."
#~ msgstr "establece N, se asume que es 1."
#~ msgstr "Lee y ejecuta órdenes del FICHERO y regresa. Los nombres de ruta"
#~ msgid "in $PATH are used to find the directory containing FILENAME."
-#~ msgstr ""
-#~ "en $PATH se utilizan para encontrar al directorio que contiene el FICHERO."
+#~ msgstr "en $PATH se utilizan para encontrar al directorio que contiene el FICHERO."
#~ msgid "Suspend the execution of this shell until it receives a SIGCONT"
#~ msgstr "Suspende la ejecución de este shell hasta que recive una señal"
#~ msgstr "Termina con un estado de 0 (verdad) ó 1 (falsedad) dependiendo de"
#~ msgid "the evaluation of EXPR. Expressions may be unary or binary. Unary"
-#~ msgstr ""
-#~ "la evaluación de EXPR. Las expresiones pueden ser unarias o binarias. "
-#~ "Las expresiones"
+#~ msgstr "la evaluación de EXPR. Las expresiones pueden ser unarias o binarias. Las expresiones"
#~ msgid "expressions are often used to examine the status of a file. There"
-#~ msgstr ""
-#~ "unarias se utilizan con frecuencia para examinar el estado de un fichero."
+#~ msgstr "unarias se utilizan con frecuencia para examinar el estado de un fichero."
#~ msgid "are string operators as well, and numeric comparison operators."
-#~ msgstr ""
-#~ "Hay operadores de cadenas también, y operadores de comparación numérica."
+#~ msgstr "Hay operadores de cadenas también, y operadores de comparación numérica."
#~ msgid "File operators:"
#~ msgstr "Operadores de fichero:"
#~ msgstr " -b FICHERO Verdadero si el fichero es especial de bloques."
#~ msgid " -c FILE True if file is character special."
-#~ msgstr ""
-#~ " -c FICHERO Verdadero si el fichero es especial de caracteres."
+#~ msgstr " -c FICHERO Verdadero si el fichero es especial de caracteres."
#~ msgid " -d FILE True if file is a directory."
#~ msgstr " -d FICHERO Verdadero si el fichero es un directorio."
#~ msgstr " -e FICHERO Verdadero si el fichero existe."
#~ msgid " -f FILE True if file exists and is a regular file."
-#~ msgstr ""
-#~ " -f FICHERO Verdadero si el fichero existe y es un fichero regular."
+#~ msgstr " -f FICHERO Verdadero si el fichero existe y es un fichero regular."
#~ msgid " -g FILE True if file is set-group-id."
-#~ msgstr ""
-#~ " -g FICHERO Verdadero si el fichero tiene activado el set-group-id."
+#~ msgstr " -g FICHERO Verdadero si el fichero tiene activado el set-group-id."
#~ msgid " -h FILE True if file is a symbolic link. Use \"-L\"."
-#~ msgstr ""
-#~ " -h FICHERO Verdadero si el fichero es un enlace simbólico. Use "
-#~ "\"-L\"."
+#~ msgstr " -h FICHERO Verdadero si el fichero es un enlace simbólico. Use \"-L\"."
#~ msgid " -L FILE True if file is a symbolic link."
#~ msgstr " -L FICHERO Verdadero si el fichero es un enlace simbólico."
#~ msgid " -k FILE True if file has its \"sticky\" bit set."
-#~ msgstr ""
-#~ " -k FICHERO Verdadero si el fichero tiene el bit \"sticky\" "
-#~ "activado."
+#~ msgstr " -k FICHERO Verdadero si el fichero tiene el bit \"sticky\" activado."
#~ msgid " -p FILE True if file is a named pipe."
#~ msgstr " -p FICHERO Verdadero si el fichero es una tubería nombrada."
#~ msgstr " -t DF Verdadero si DF está abierto en una terminal."
#~ msgid " -u FILE True if the file is set-user-id."
-#~ msgstr ""
-#~ " -u FICHERO Verdadero si el fichero tiene activado el set-user-id."
+#~ msgstr " -u FICHERO Verdadero si el fichero tiene activado el set-user-id."
#~ msgid " -w FILE True if the file is writable by you."
#~ msgstr " -w FICHERO Verdadero si usted puede modificar el fichero."
#~ msgstr " -x FICHERO Verdadero si usted puede ejecutar el fichero."
#~ msgid " -O FILE True if the file is effectively owned by you."
-#~ msgstr ""
-#~ " -O FICHERO Verdadero si usted efectivamente posee el fichero."
+#~ msgstr " -O FICHERO Verdadero si usted efectivamente posee el fichero."
-#~ msgid ""
-#~ " -G FILE True if the file is effectively owned by your group."
-#~ msgstr ""
-#~ " -G FICHERO Verdadero si su grupo efectivamente posee el fichero."
+#~ msgid " -G FILE True if the file is effectively owned by your group."
+#~ msgstr " -G FICHERO Verdadero si su grupo efectivamente posee el fichero."
#~ msgid " FILE1 -nt FILE2 True if file1 is newer than (according to"
-#~ msgstr ""
-#~ " FICH1 -nt FICH2 Verdadero si fich1 es más nuevo que (de acuerdo a"
+#~ msgstr " FICH1 -nt FICH2 Verdadero si fich1 es más nuevo que (de acuerdo a"
#~ msgid " modification date) file2."
#~ msgstr " la fecha de modificación) el fich2."
#~ msgid " STRING1 < STRING2"
#~ msgstr " CADENA1 < CADENA2"
-#~ msgid ""
-#~ " True if STRING1 sorts before STRING2 lexicographically"
-#~ msgstr ""
-#~ " Verdadero si la CADENA1 se ordena antes que la CADENA2 "
-#~ "lexicográficamente"
+#~ msgid " True if STRING1 sorts before STRING2 lexicographically"
+#~ msgstr " Verdadero si la CADENA1 se ordena antes que la CADENA2 lexicográficamente"
#~ msgid " STRING1 > STRING2"
#~ msgstr " CADENA1 > CADENA2"
-#~ msgid ""
-#~ " True if STRING1 sorts after STRING2 lexicographically"
-#~ msgstr ""
-#~ " Verdadero si la CADENA1 se ordena después que la "
-#~ "CADENA2 lexicográficamente"
+#~ msgid " True if STRING1 sorts after STRING2 lexicographically"
+#~ msgstr " Verdadero si la CADENA1 se ordena después que la CADENA2 lexicográficamente"
#~ msgid "Other operators:"
#~ msgstr "Otros operadores:"
#~ msgstr " EXPR1 -a EXPR2 Verdadero si ambas expr1 Y expr2 son verdaderas."
#~ msgid " EXPR1 -o EXPR2 True if either expr1 OR expr2 is true."
-#~ msgstr ""
-#~ " EXPR1 -o EXPR2 Verdadero si cualquiera de expr1 O expr2 es verdadera."
+#~ msgstr " EXPR1 -o EXPR2 Verdadero si cualquiera de expr1 O expr2 es verdadera."
#~ msgid " arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,"
#~ msgstr " arg1 OP arg2 Pruebas aritméticas. OP es uno de -eq, -ne,"
#~ msgstr " -lt, -le, -gt, ó -ge."
#~ msgid "Arithmetic binary operators return true if ARG1 is equal, not-equal,"
-#~ msgstr ""
-#~ "Los operadores binarios aritméticos devuelven verdadero si ARG1 es igual, "
-#~ "no igual,"
+#~ msgstr "Los operadores binarios aritméticos devuelven verdadero si ARG1 es igual, no igual,"
-#~ msgid ""
-#~ "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
+#~ msgid "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
#~ msgstr "menor, menor o igual, mayor, ó mayor o igual"
#~ msgid "than ARG2."
#~ msgstr "La orden ARG se lee y ejecuta cuando el shell recibe la(s)"
#~ msgid "signal(s) SIGNAL_SPEC. If ARG is absent all specified signals are"
-#~ msgstr ""
-#~ "señal(es) ID_SEÑAL. Si ARG no está, todas las señales especificadas son"
+#~ msgstr "señal(es) ID_SEÑAL. Si ARG no está, todas las señales especificadas son"
#~ msgid "reset to their original values. If ARG is the null string each"
-#~ msgstr ""
-#~ "establecidas a sus valores originales. Si ARG es la cadena nula cada"
+#~ msgstr "establecidas a sus valores originales. Si ARG es la cadena nula cada"
#~ msgid "SIGNAL_SPEC is ignored by the shell and by the commands it invokes."
#~ msgstr "ID_SEÑAL es ignorada por el shell y por las órdenes que invoque."
#~ msgstr "asociadas con cada ID_SEÑAL. Si no se proporcionan argumentos o si"
#~ msgid "only `-p' is given, trap prints the list of commands associated with"
-#~ msgstr ""
-#~ "sólo se proporciona `-p', trap muestra la lista de órdenes asociadas"
+#~ msgstr "sólo se proporciona `-p', trap muestra la lista de órdenes asociadas"
-#~ msgid ""
-#~ "each signal number. SIGNAL_SPEC is either a signal name in <signal.h>"
-#~ msgstr ""
-#~ "con cada número de señal. ID_SEÑAL es un nombre de señal en <signal.h>"
+#~ msgid "each signal number. SIGNAL_SPEC is either a signal name in <signal.h>"
+#~ msgstr "con cada número de señal. ID_SEÑAL es un nombre de señal en <signal.h>"
-#~ msgid ""
-#~ "or a signal number. `trap -l' prints a list of signal names and their"
-#~ msgstr ""
-#~ "o un número de señal. `trap -l' muestra una lista de nombres de señal y "
-#~ "sus"
+#~ msgid "or a signal number. `trap -l' prints a list of signal names and their"
+#~ msgstr "o un número de señal. `trap -l' muestra una lista de nombres de señal y sus"
#~ msgid "corresponding numbers. Note that a signal can be sent to the shell"
-#~ msgstr ""
-#~ "números correspondientes. Note que una señal se puede enviar al shell"
+#~ msgstr "números correspondientes. Note que una señal se puede enviar al shell"
#~ msgid "with \"kill -signal $$\"."
#~ msgstr "con \"kill -signal $$\"."
#~ msgid "If the -t option is used, returns a single word which is one of"
#~ msgstr "Si se usa la opción -t, regresa una sola palabra que es una de"
-#~ msgid ""
-#~ "`alias', `keyword', `function', `builtin', `file' or `', if NAME is an"
-#~ msgstr ""
-#~ "`alias', `keyword', `function', `builtin', `file' ó `', si el NOMBRE es un"
+#~ msgid "`alias', `keyword', `function', `builtin', `file' or `', if NAME is an"
+#~ msgstr "`alias', `keyword', `function', `builtin', `file' ó `', si el NOMBRE es un"
-#~ msgid ""
-#~ "alias, shell reserved word, shell function, shell builtin, disk file,"
-#~ msgstr ""
-#~ "alias, palabra reservada del shell, función del shell, orden interna del "
-#~ "shell, fichero del disco,"
+#~ msgid "alias, shell reserved word, shell function, shell builtin, disk file,"
+#~ msgstr "alias, palabra reservada del shell, función del shell, orden interna del shell, fichero del disco,"
#~ msgid "or unfound, respectively."
#~ msgstr "o no encontrada, respectivamente."
#~ msgid "If the -p flag is used, either returns the name of the disk file"
-#~ msgstr ""
-#~ "Si se usa el indicador -p, regresa el nombre del fichero del sistema"
+#~ msgstr "Si se usa el indicador -p, regresa el nombre del fichero del sistema"
#~ msgid "that would be executed, or nothing if -t would not return `file'."
#~ msgstr "que sería ejecutado, o nada si -t no regresa algún `fichero'."
#~ msgid "If the -a flag is used, displays all of the places that contain an"
-#~ msgstr ""
-#~ "Si se usa el indicador -a, muestra todos los lugares que contienen un"
+#~ msgstr "Si se usa el indicador -a, muestra todos los lugares que contienen un"
-#~ msgid ""
-#~ "executable named `file'. This includes aliases and functions, if and"
-#~ msgstr ""
-#~ "ejecutable llamado `fichero' Esto incluye a aliases y funciones, si y"
+#~ msgid "executable named `file'. This includes aliases and functions, if and"
+#~ msgstr "ejecutable llamado `fichero' Esto incluye a aliases y funciones, si y"
#~ msgid "only if the -p flag is not also used."
#~ msgstr "sólo si el indicador -p no se especifica también."
#~ msgstr "respectivamente."
#~ msgid "Ulimit provides control over the resources available to processes"
-#~ msgstr ""
-#~ "ulimit provee control sobre los recursos disponibles para los procesos"
+#~ msgstr "ulimit provee control sobre los recursos disponibles para los procesos"
#~ msgid "started by the shell, on systems that allow such control. If an"
-#~ msgstr ""
-#~ "iniciados por el shell, en sistemas que permiten dicho control. Si se"
+#~ msgstr "iniciados por el shell, en sistemas que permiten dicho control. Si se"
#~ msgid "option is given, it is interpreted as follows:"
#~ msgstr "establece una opción, se interpreta como sigue:"
#~ msgstr " -v\tel tamaño de la memoria virtual"
#~ msgid "If LIMIT is given, it is the new value of the specified resource."
-#~ msgstr ""
-#~ "Si se establece el LÍMITE, este es el nuevo valor del recurso "
-#~ "especificado."
+#~ msgstr "Si se establece el LÍMITE, este es el nuevo valor del recurso especificado."
#~ msgid "Otherwise, the current value of the specified resource is printed."
-#~ msgstr ""
-#~ "De otra forma, se muestra la lista actual de los recursos especificados."
+#~ msgstr "De otra forma, se muestra la lista actual de los recursos especificados."
#~ msgid "If no option is given, then -f is assumed. Values are in 1k"
-#~ msgstr ""
-#~ "Si no se establece una opción, entonces se asume -f. Los valores son en "
-#~ "incrementos"
+#~ msgstr "Si no se establece una opción, entonces se asume -f. Los valores son en incrementos"
#~ msgid "increments, except for -t, which is in seconds, -p, which is in"
#~ msgstr "de 1k, excepto para -t, que es en segundos, -p, que es en"
#~ msgid "processes."
#~ msgstr "procesos."
-#~ msgid ""
-#~ "The user file-creation mask is set to MODE. If MODE is omitted, or if"
-#~ msgstr ""
-#~ "La máscara de creación de ficheros del usuario se establece a MODO. Si "
-#~ "se omite el MODO, o si"
+#~ msgid "The user file-creation mask is set to MODE. If MODE is omitted, or if"
+#~ msgstr "La máscara de creación de ficheros del usuario se establece a MODO. Si se omite el MODO, o si"
-#~ msgid ""
-#~ "`-S' is supplied, the current value of the mask is printed. The `-S'"
-#~ msgstr ""
-#~ "se proporciona `-S', se muestra el valor actual de la máscara. La opción"
+#~ msgid "`-S' is supplied, the current value of the mask is printed. The `-S'"
+#~ msgstr "se proporciona `-S', se muestra el valor actual de la máscara. La opción"
-#~ msgid ""
-#~ "option makes the output symbolic; otherwise an octal number is output."
-#~ msgstr ""
-#~ "`-S' logra una salida simbólica; de otra forma la salida es un número "
-#~ "octal."
+#~ msgid "option makes the output symbolic; otherwise an octal number is output."
+#~ msgstr "`-S' logra una salida simbólica; de otra forma la salida es un número octal."
#~ msgid "If MODE begins with a digit, it is interpreted as an octal number,"
-#~ msgstr ""
-#~ "Si el MODO comienza con un dígito, se interpreta como un número octal,"
+#~ msgstr "Si el MODO comienza con un dígito, se interpreta como un número octal,"
-#~ msgid ""
-#~ "otherwise it is a symbolic mode string like that accepted by chmod(1)."
-#~ msgstr ""
-#~ "de otra forma es una cadena de modo simbólico como la aceptada por chmod"
-#~ "(1)."
+#~ msgid "otherwise it is a symbolic mode string like that accepted by chmod(1)."
+#~ msgstr "de otra forma es una cadena de modo simbólico como la aceptada por chmod(1)."
-#~ msgid ""
-#~ "Wait for the specified process and report its termination status. If"
+#~ msgid "Wait for the specified process and report its termination status. If"
#~ msgstr "Espera al proceso especificado y reporta su estado final. Si no se"
#~ msgid "N is not given, all currently active child processes are waited for,"
-#~ msgstr ""
-#~ "proporciona N, espera a todos los procesos hijo activos actualmente,"
+#~ msgstr "proporciona N, espera a todos los procesos hijo activos actualmente,"
#~ msgid "and the return code is zero. N may be a process ID or a job"
-#~ msgstr ""
-#~ "y el código de regreso es cero. N puede ser un ID de proceso o una "
-#~ "especificación"
+#~ msgstr "y el código de regreso es cero. N puede ser un ID de proceso o una especificación"
#~ msgid "specification; if a job spec is given, all processes in the job's"
-#~ msgstr ""
-#~ "de trabajo; si se proporciona una especificación de trabajo, se espera a "
-#~ "todos los procesos en la"
+#~ msgstr "de trabajo; si se proporciona una especificación de trabajo, se espera a todos los procesos en la"
#~ msgid "pipeline are waited for."
#~ msgstr "línea de ejecución del trabajo."
#~ msgid "and the return code is zero. N is a process ID; if it is not given,"
-#~ msgstr ""
-#~ "y el código de regreso es cero. N es un ID de proceso; si no se "
-#~ "proporcioan,"
+#~ msgstr "y el código de regreso es cero. N es un ID de proceso; si no se proporcioan,"
#~ msgid "all child processes of the shell are waited for."
#~ msgstr "espera a todos los procesos hijos del shell."
#~ msgid "The `for' loop executes a sequence of commands for each member in a"
-#~ msgstr ""
-#~ "El ciclo `for' ejecuta una secuencia de órdenes para cada miembro en una"
+#~ msgstr "El ciclo `for' ejecuta una secuencia de órdenes para cada miembro en una"
-#~ msgid ""
-#~ "list of items. If `in WORDS ...;' is not present, then `in \"$@\"' is"
-#~ msgstr ""
-#~ "lista de elementos. Si `in PALABRAS ...;' no se encuentra, entonces se "
-#~ "asume"
+#~ msgid "list of items. If `in WORDS ...;' is not present, then `in \"$@\"' is"
+#~ msgstr "lista de elementos. Si `in PALABRAS ...;' no se encuentra, entonces se asume"
-#~ msgid ""
-#~ "assumed. For each element in WORDS, NAME is set to that element, and"
-#~ msgstr ""
-#~ "`in \"$@\"'. Para cada elemento en PALABRAS, se establece NOMBRE a ese "
-#~ "elemento y"
+#~ msgid "assumed. For each element in WORDS, NAME is set to that element, and"
+#~ msgstr "`in \"$@\"'. Para cada elemento en PALABRAS, se establece NOMBRE a ese elemento y"
#~ msgid "the COMMANDS are executed."
#~ msgstr "se ejecutan las ÓRDENES."
#~ msgstr "Las PALABRAS se expanden, generando una lista de palabras. El"
#~ msgid "set of expanded words is printed on the standard error, each"
-#~ msgstr ""
-#~ "conjunto de palabras expandidas se muestra en la salida de error estándard"
+#~ msgstr "conjunto de palabras expandidas se muestra en la salida de error estándar"
#~ msgid "preceded by a number. If `in WORDS' is not present, `in \"$@\"'"
-#~ msgstr ""
-#~ "cada una precedida por un número. Si `in PALABRAS' no se encuentra, se "
-#~ "asume"
+#~ msgstr "cada una precedida por un número. Si `in PALABRAS' no se encuentra, se asume"
#~ msgid "is assumed. The PS3 prompt is then displayed and a line read"
#~ msgstr "`in \"$@\"'. El prompt PS3 se muestra y se lee una línea de"
#~ msgid "from the standard input. If the line consists of the number"
-#~ msgstr "la entrada estándard. Si la línea consiste del número"
+#~ msgstr "la entrada estándar. Si la línea consiste del número"
#~ msgid "corresponding to one of the displayed words, then NAME is set"
-#~ msgstr ""
-#~ "correspondiente a una de las palabras mostradas, entonces se establece "
-#~ "NOMBRE"
+#~ msgstr "correspondiente a una de las palabras mostradas, entonces se establece NOMBRE"
#~ msgid "to that word. If the line is empty, WORDS and the prompt are"
#~ msgstr "a esa palabra. Si la línea está vacía, se muestran de nuevo"
#~ msgid "redisplayed. If EOF is read, the command completes. Any other"
-#~ msgstr ""
-#~ "las PALABRAS y el prompt. Si se lee EOF, la orden se completa. Cualquier "
-#~ "otro"
+#~ msgstr "las PALABRAS y el prompt. Si se lee EOF, la orden se completa. Cualquier otro"
#~ msgid "value read causes NAME to be set to null. The line read is saved"
#~ msgstr "valor leído causa que NOMBRE sea nulo. La línea leída se salva en"
#~ msgid "in the variable REPLY. COMMANDS are executed after each selection"
-#~ msgstr ""
-#~ "la variable REPLY. Las ÓRDENES se ejecutan después de cada selección"
+#~ msgstr "la variable REPLY. Las ÓRDENES se ejecutan después de cada selección"
#~ msgid "until a break or return command is executed."
#~ msgstr "hasta que se ejecute una orden break ó return."
#~ msgid "`|' is used to separate multiple patterns."
#~ msgstr "`|' se usa para separar plantillas múltiples."
-#~ msgid ""
-#~ "The if COMMANDS are executed. If the exit status is zero, then the then"
-#~ msgstr ""
-#~ "Las ÓRDENES if se ejecutan. Si el código de regreso es cero, entonces "
-#~ "las ÓRDENES"
+#~ msgid "The if COMMANDS are executed. If the exit status is zero, then the then"
+#~ msgstr "Las ÓRDENES if se ejecutan. Si el código de regreso es cero, entonces las ÓRDENES"
-#~ msgid ""
-#~ "COMMANDS are executed. Otherwise, each of the elif COMMANDS are executed"
-#~ msgstr ""
-#~ "then se ejecutan. De otra forma, cada uno de las ÓRDENES elif se ejecutan"
+#~ msgid "COMMANDS are executed. Otherwise, each of the elif COMMANDS are executed"
+#~ msgstr "then se ejecutan. De otra forma, cada uno de las ÓRDENES elif se ejecutan"
-#~ msgid ""
-#~ "in turn, and if the exit status is zero, the corresponding then COMMANDS"
-#~ msgstr ""
-#~ "en turno, y si el código de regreso es cero, las ÓRDENES then "
-#~ "correspondientes"
+#~ msgid "in turn, and if the exit status is zero, the corresponding then COMMANDS"
+#~ msgstr "en turno, y si el código de regreso es cero, las ÓRDENES then correspondientes"
-#~ msgid ""
-#~ "are executed and the if command completes. Otherwise, the else COMMANDS"
-#~ msgstr ""
-#~ "se ejecutan y la orden if se completa. De otra forma, las ÓRDENES else"
+#~ msgid "are executed and the if command completes. Otherwise, the else COMMANDS"
+#~ msgstr "se ejecutan y la orden if se completa. De otra forma, las ÓRDENES else"
-#~ msgid ""
-#~ "are executed, if present. The exit status is the exit status of the last"
-#~ msgstr ""
-#~ "se ejecutan, si se encuentran. El código de salida es el código de "
-#~ "salida de la última"
+#~ msgid "are executed, if present. The exit status is the exit status of the last"
+#~ msgstr "se ejecutan, si se encuentran. El código de salida es el código de salida de la última"
#~ msgid "command executed, or zero if no condition tested true."
#~ msgstr "orden ejecutada, o cero si ninguna condición probada fue verdadera."
#~ msgstr "`until' tenga un código de salida que no sea cero."
#~ msgid "Create a simple command invoked by NAME which runs COMMANDS."
-#~ msgstr ""
-#~ "Crea un comando simple invocado por el NOMBRE que ejecuta las ÓRDENES."
+#~ msgstr "Crea un comando simple invocado por el NOMBRE que ejecuta las ÓRDENES."
#~ msgid "Arguments on the command line along with NAME are passed to the"
-#~ msgstr ""
-#~ "Los argumentos en la línea de comando junto con el NOMBRE se pasan a la"
+#~ msgstr "Los argumentos en la línea de comando junto con el NOMBRE se pasan a la"
#~ msgid "function as $0 .. $n."
#~ msgstr "función como $0 .. $n."
#~ msgstr "conjunto completo de órdenes"
#~ msgid "This is similar to the `fg' command. Resume a stopped or background"
-#~ msgstr ""
-#~ "Esto es similar a la orden `fg'. Reinicia un trabajo detenido o en el"
+#~ msgstr "Esto es similar a la orden `fg'. Reinicia un trabajo detenido o en el"
#~ msgid "job. If you specifiy DIGITS, then that job is used. If you specify"
-#~ msgstr ""
-#~ "background. Si especifica DÍGITOS, entonces se usa ese trabajo. Si "
-#~ "proporciona"
+#~ msgstr "background. Si especifica DÍGITOS, entonces se usa ese trabajo. Si proporciona"
-#~ msgid ""
-#~ "WORD, then the job whose name begins with WORD is used. Following the"
-#~ msgstr ""
-#~ "una PALABRA, entonces se usa el trabajo cuyo nombre comience con PALABRA."
+#~ msgid "WORD, then the job whose name begins with WORD is used. Following the"
+#~ msgstr "una PALABRA, entonces se usa el trabajo cuyo nombre comience con PALABRA."
#~ msgid "job specification with a `&' places the job in the background."
-#~ msgstr ""
-#~ "Al colocar una especificación de trabajo seguido de un `&', se coloca al "
-#~ "trabajo en el background. "
+#~ msgstr "Al colocar una especificación de trabajo seguido de un `&', se coloca al trabajo en el background. "
#~ msgid "BASH_VERSION The version numbers of this Bash."
#~ msgstr "BASH_VERSION Los números de versión de este Bash."
#~ msgid "\t\tdirectory."
#~ msgstr "\t\tactual."
-#~ msgid ""
-#~ "HISTFILE The name of the file where your command history is stored."
-#~ msgstr ""
-#~ "HISTFILE El nombre del fichero donde se guarda la historia de "
-#~ "órdenes."
+#~ msgid "HISTFILE The name of the file where your command history is stored."
+#~ msgstr "HISTFILE El nombre del fichero donde se guarda la historia de órdenes."
#~ msgid "HISTFILESIZE The maximum number of lines this file can contain."
-#~ msgstr ""
-#~ "HISTFILESIZE El número máximo de líneas que este fichero puede "
-#~ "contener."
+#~ msgstr "HISTFILESIZE El número máximo de líneas que este fichero puede contener."
#~ msgid "HISTSIZE The maximum number of history lines that a running"
#~ msgstr "HISTSIZE El número máximo de líneas de historia que un shell"
#~ msgstr "\t\ten ejecución puede acceder."
#~ msgid "HOME The complete pathname to your login directory."
-#~ msgstr ""
-#~ "HOME La ruta completa a su directorio de entrada (login)."
+#~ msgstr "HOME La ruta completa a su directorio de entrada (login)."
-#~ msgid ""
-#~ "HOSTTYPE The type of CPU this version of Bash is running under."
-#~ msgstr ""
-#~ "HOSTTYPE El tipo de CPU bajo el cual esta versión de Bash corre."
+#~ msgid "HOSTTYPE The type of CPU this version of Bash is running under."
+#~ msgstr "HOSTTYPE El tipo de CPU bajo el cual esta versión de Bash corre."
-#~ msgid ""
-#~ "IGNOREEOF Controls the action of the shell on receipt of an EOF"
-#~ msgstr ""
-#~ "IGNOREEOF Controla la acción del shell al recibir un carácter EOF"
+#~ msgid "IGNOREEOF Controls the action of the shell on receipt of an EOF"
+#~ msgstr "IGNOREEOF Controla la acción del shell al recibir un carácter EOF"
#~ msgid "\t\tcharacter as the sole input. If set, then the value"
#~ msgstr "\t\tcomo la única entrada. Si se establece, entonces el valor"
#~ msgid "\t\tof it is the number of EOF characters that can be seen"
-#~ msgstr ""
-#~ "\t\tde esta variable es el número de caracteres EOF que se pueden recibir"
+#~ msgstr "\t\tde esta variable es el número de caracteres EOF que se pueden recibir"
#~ msgid "\t\tin a row on an empty line before the shell will exit"
-#~ msgstr ""
-#~ "\t\ten forma seguida en una línea vacía antes de que el shell termine"
+#~ msgstr "\t\ten forma seguida en una línea vacía antes de que el shell termine"
#~ msgid "\t\t(default 10). When unset, EOF signifies the end of input."
-#~ msgstr ""
-#~ "\t\t(10 por omisión). Cuando se desactiva, EOF significa el fin de la "
-#~ "entrada."
+#~ msgstr "\t\t(10 por omisión). Cuando se desactiva, EOF significa el fin de la entrada."
#~ msgid "MAILCHECK\tHow often, in seconds, Bash checks for new mail."
-#~ msgstr ""
-#~ "MAILCHECK\tQue tan seguido, en segundos, Bash revisa si hay correo nuevo."
+#~ msgstr "MAILCHECK\tQue tan seguido, en segundos, Bash revisa si hay correo nuevo."
#~ msgid "MAILPATH\tA colon-separated list of filenames which Bash checks"
-#~ msgstr ""
-#~ "MAILPATH\tUna lista de nombres de fichero separados por dos puntos que "
-#~ "Bash revisa"
+#~ msgstr "MAILPATH\tUna lista de nombres de fichero separados por dos puntos que Bash revisa"
#~ msgid "\t\tfor new mail."
#~ msgstr "\t\tpor correo nuevo."
#~ msgid "OSTYPE\t\tThe version of Unix this version of Bash is running on."
-#~ msgstr ""
-#~ "OSTYPE\t\tLa versión de Unix bajo la cual esta versión de Bash se ejecuta."
+#~ msgstr "OSTYPE\t\tLa versión de Unix bajo la cual esta versión de Bash se ejecuta."
#~ msgid "PATH A colon-separated list of directories to search when"
-#~ msgstr ""
-#~ "PATH Una lista de directorios separada por dos puntos para "
-#~ "buscar"
+#~ msgstr "PATH Una lista de directorios separada por dos puntos para buscar"
#~ msgid "\t\tlooking for commands."
#~ msgstr "\t\tcuando se requieren órdenes."
#~ msgstr "TERM El nombre del tipo de terminal actual."
#~ msgid "auto_resume Non-null means a command word appearing on a line by"
-#~ msgstr ""
-#~ "auto_resume Si no es nulo significa que una palabra de orden que "
-#~ "aparece en una línea"
+#~ msgstr "auto_resume Si no es nulo significa que una palabra de orden que aparece en una línea"
#~ msgid "\t\titself is first looked for in the list of currently"
#~ msgstr "\t\tpor sí mismo se busca primero en la lista de trabajos detenidos"
#~ msgid "\t\tstopped jobs. If found there, that job is foregrounded."
-#~ msgstr ""
-#~ "\t\tactualmente. Si se encuentra ahí, ese trabajo se trae a primer plano."
+#~ msgstr "\t\tactualmente. Si se encuentra ahí, ese trabajo se trae a primer plano."
#~ msgid "\t\tA value of `exact' means that the command word must"
#~ msgstr "\t\tEl valor `exact' significa que la palabra de la orden debe"
#~ msgid "\t\texactly match a command in the list of stopped jobs. A"
-#~ msgstr ""
-#~ "\t\tcoincidir exactamente con una orden en la lista de trabajos "
-#~ "detenidos. El"
+#~ msgstr "\t\tcoincidir exactamente con una orden en la lista de trabajos detenidos. El"
#~ msgid "\t\tvalue of `substring' means that the command word must"
#~ msgstr "\t\tvalor `substring' significa que la palabra de la orden debe"
#~ msgid "\t\tmatch a substring of the job. Any other value means that"
-#~ msgstr ""
-#~ "\t\tcoincidir con una subcadena del trabajo. Cualquier otro valor "
-#~ "significa que"
+#~ msgstr "\t\tcoincidir con una subcadena del trabajo. Cualquier otro valor significa que"
#~ msgid "\t\tthe command must be a prefix of a stopped job."
#~ msgstr "\t\tla orden debe ser un prefijo de un trabajo detenido."
#~ msgid "command_oriented_history"
#~ msgstr "command_oriented_history"
-#~ msgid ""
-#~ " Non-null means to save multiple-line commands together on"
-#~ msgstr ""
-#~ " Si no es nulo significa que debe guardar órdenes de "
-#~ "varias líneas juntas en"
+#~ msgid " Non-null means to save multiple-line commands together on"
+#~ msgstr " Si no es nulo significa que debe guardar órdenes de varias líneas juntas en"
#~ msgid " a single history line."
#~ msgstr " una sola línea de historia."
#~ msgid "histchars Characters controlling history expansion and quick"
-#~ msgstr ""
-#~ "histchars Caracteres que controlan la expansión de la historia y la"
+#~ msgstr "histchars Caracteres que controlan la expansión de la historia y la"
#~ msgid "\t\tsubstitution. The first character is the history"
#~ msgstr "\t\tsustitución rápida. El primer carácter es el carácter de"
#~ msgstr "\t\tel carácter de `sustitución rápida', generalmente `^'. El"
#~ msgid "\t\tthird is the `history comment' character, usually `#'."
-#~ msgstr ""
-#~ "\t\ttercero es el carácter de `comentario de historia', generalmente `#'."
+#~ msgstr "\t\ttercero es el carácter de `comentario de historia', generalmente `#'."
#~ msgid "HISTCONTROL\tSet to a value of `ignorespace', it means don't enter"
-#~ msgstr ""
-#~ "HISTCONTROL\tEstablecido con el valor `ignorespace', significa que no "
-#~ "agrega"
+#~ msgstr "HISTCONTROL\tEstablecido con el valor `ignorespace', significa que no agrega"
#~ msgid "\t\tlines which begin with a space or tab on the history"
#~ msgstr "\t\tlíneas que inicien con un espacio o tabulador a la lista de"
#~ msgstr "\t\tlíneas que coincidan con la última línea introducida. Con"
#~ msgid "\t\t`ignoreboth' means to combine the two options. Unset,"
-#~ msgstr ""
-#~ "\t\t`ignoreboth' significa que combina las dos opciones. Sin establecer,"
+#~ msgstr "\t\t`ignoreboth' significa que combina las dos opciones. Sin establecer,"
#~ msgid "\t\tor set to any other value than those above means to save"
-#~ msgstr ""
-#~ "\t\to con cualquier otro valor diferente a los arriba mencionados "
-#~ "significa"
+#~ msgstr "\t\to con cualquier otro valor diferente a los arriba mencionados significa"
#~ msgid "\t\tall lines on the history list."
#~ msgstr "\t\tguardar todas las líneas en la lista de la historia."
#~ msgid "Toggle the values of variables controlling optional behavior."
-#~ msgstr ""
-#~ "Cambia los valores de las variables que controlan conductas opcionales."
+#~ msgstr "Cambia los valores de las variables que controlan conductas opcionales."
#~ msgid "The -s flag means to enable (set) each OPTNAME; the -u flag"
-#~ msgstr ""
-#~ "El indicador -s significa establecer cada NOMBRE_OPCIÓN; el indicador -u"
+#~ msgstr "El indicador -s significa establecer cada NOMBRE_OPCIÓN; el indicador -u"
#~ msgid "unsets each OPTNAME. The -q flag suppresses output; the exit"
-#~ msgstr ""
-#~ "borra cada NOMBRE_OPCIÓN. El indicador -q suprime la salida; el estado"
+#~ msgstr "borra cada NOMBRE_OPCIÓN. El indicador -q suprime la salida; el estado"
#~ msgid "status indicates whether each OPTNAME is set or unset. The -o"
#~ msgstr "de salida indica cuál NOMBRE_OPCIÓN está activado o no. La opción"
#~ msgid "option restricts the OPTNAMEs to those defined for use with"
-#~ msgstr ""
-#~ "-o restringe a los NOMBRE_OPCIONes a aquéllos definidos para su uso con"
+#~ msgstr "-o restringe a los NOMBRE_OPCIONes a aquéllos definidos para su uso con"
#~ msgid "`set -o'. With no options, or with the -p option, a list of all"
-#~ msgstr ""
-#~ "`set -o'. Sin opciones, o con la opción -p, se muestra una lista de"
+#~ msgstr "`set -o'. Sin opciones, o con la opción -p, se muestra una lista de"
#~ msgid "settable options is displayed, with an indication of whether or"
#~ msgstr "todas las opciones activables, con una indicación de si se puede"
}
/* Not exactly right yet; should handle shell metacharacters and
- multibyte characters, too. */
+ multibyte characters, too. See COMMENT_BEGIN define in parse.y */
if ((flags & SX_COMMAND) && c == '#' && (i == 0 || string[i - 1] == '\n' || shellblank (string[i - 1])))
{
in_comment = 1;
esac
done
-case "${host_os}-${SHOBJ_CC}" in
+case "${host_os}-${SHOBJ_CC}-${host_vendor}" in
sunos4*-*gcc*)
SHOBJ_CFLAGS=-fpic
SHOBJ_LD=/usr/bin/ld
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
;;
-# All versions of Linux or the semi-mythical GNU Hurd.
-linux*-*|gnu*-*|k*bsd*-gnu-*)
+# All versions of Linux (including Gentoo/FreeBSD) or the semi-mythical GNU Hurd.
+linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
SHOBJ_CFLAGS=-fPIC
SHOBJ_LD='${CC}'
SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
;;
# FreeBSD-3.x ELF
-freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*|dragonfly*)
+freebsd[3-6]*|freebsdelf[3-6]*|freebsdaout[3-6]*|dragonfly*)
SHOBJ_CFLAGS=-fPIC
SHOBJ_LD='${CC}'
fi
;;
+# FreeBSD-7.x and later have only ELF
+freebsd[7-9]*|freebsdelf[7-9]*)
+ SHOBJ_CFLAGS=-fPIC
+ SHOBJ_LD='${CC}'
+
+ SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
+ SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir)'
+
+ SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
+ ;;
+
# Darwin/MacOS X
darwin[89]*|darwin10*)
SHOBJ_STATUS=supported
-BUILD_DIR=/usr/local/build/chet/bash/bash-current
+BUILD_DIR=/usr/local/build/bash/bash-current
THIS_SH=$BUILD_DIR/bash
PATH=$PATH:$BUILD_DIR
--- /dev/null
+BUILD_DIR=/usr/local/build/chet/bash/bash-current
+THIS_SH=$BUILD_DIR/bash
+PATH=$PATH:$BUILD_DIR
+
+export THIS_SH PATH
+
+rm -f /tmp/xx
+
+/bin/sh "$@"
10 8 6 4 2
1 3 5 7 9 11 13 15 17 19
1
-0100 0095 0090 0085 0080 0075 0070 0065 0060 0055 0050 0045 0040 0035 0030 0025 0020 0015 0010 0005 0000
-00100 00095 00090 00085 00080 00075 00070 00065 00060 00055 00050 00045 00040 00035 00030 00025 00020 00015 00010 00005 00000
+100 95 90 85 80 75 70 65 60 55 50 45 40 35 30 25 20 15 10 5 0
+100 95 90 85 80 75 70 65 60 55 50 45 40 35 30 25 20 15 10 5 0
a b c d e f g h i j k l m n o p q r s t u v w x y z
a c e g i k m o q s u w y
z x v t r p n l j h f d b
+10 8 6 4 2 0
+10 8 6 4 2 0
+-50 -45 -40 -35 -30 -25 -20 -15 -10 -5 0
{1..10.f}
{1..ff}
{1..10..ff}
echo {a..z..2}
echo {z..a..-2}
+# unwanted zero-padding -- fixed post-bash-4.0
+echo {10..0..2}
+echo {10..0..-2}
+echo {-50..-0..5}
+
# bad
echo {1..10.f}
echo {1..ff}
: $(echo foo)"
"
+# fixed after bash-4.0 released
+: $(case a in a) echo ;; # comment
+esac)
argv[1] = <foo\^Jbar>
argv[1] = <foobar>
argv[1] = <foo\^Jbar>
+#esac
+a
+ok 1
+ok 2
+ok 3
+ok 4
+ok 5
+ok 6
echo $(recho 'foo\
bar')
+
+${THIS_SH} ./comsub1.sub
--- /dev/null
+# command substution parsing tests
+
+TABSIZE=`grep -v '^[ #]' $CAPS </dev/null | grep -v "^$" | grep -v "^capalias"| grep -v "^infoalias" | wc -l`
+
+recho `echo ab cd #efg
+hijkl`
+
+recho ab$(echo mn; echo op)yz
+
+a=`echo 'a b c' | sed 's/ /\\
+/g' | grep 'b'`
+recho $a
+
+recho `echo 'a\' b`
+
+recho `echo '\$' bab`
+
+recho `echo '\`' ab`
+
+recho `echo '\\' ab`
+
+# old-style command substitution parsing compatibility tests -- post bash-3.1
+recho 'foo \\
+bar'
+
+recho 'foo \
+bar'
+
+echo `recho sed -e 's/[ :]/\\
+/g'`
+
+echo `recho sed -e 's/[ :]/\
+/g'`
+
+echo `recho 'foo\\
+bar'`
+
+echo `recho 'foo\
+bar'`
+
+echo $(recho 'foo\
+bar')
--- /dev/null
+: $(echo \;)
+
+: $(case a in a) echo ;;# comment
+esac)
+
+: $(case a in a) echo ;; # comment
+esac)
+
+: $(: \;# not a comment )
+
+: $(: \ # not a comment)
+
+echo $(case a in a) echo \#esac ;;
+esac)
+
+: $(case a in a) : ;#esac ;;
+esac)
+
+: $(case a in a) : ;#esac comment )
+esac)
+
+: $(case a in a) : ;
+esac)
+
+echo $(#comment )
+echo a)
+
+echo $(case a in (a) echo ok 1;; # comment
+esac)
+
+echo $(case a in (a) echo ok 2;; # comment
+(b) echo moo;;
+esac)
+
+echo $(case a in (a) echo ok 3 # comment
+;;
+esac)
+
+echo $(case a in a) echo ok 4;; # comment
+esac)
+
+echo $(case a in a) echo ok 5;; # comment
+b) echo moo;;
+esac)
+
+echo $(case a in (a) echo ok 6 # comment
+;;
+esac)
--- /dev/null
+: $(echo \;)
+
+: $(case a in a) echo ;;# comment
+esac)
+
+: $(case a in a) echo ;; # comment
+esac)
+
+: $(: \;# not a comment )
+
+: $(: \ # not a comment)
+
+echo $(case a in a) echo \#esac ;;
+esac)
+
+: $(case a in a) : ;#esac ;;
+esac)
+
+: $(case a in a) : ;#esac comment )
+esac)
+
+: $(case a in a) : ;
+esac)
+
+echo $(#comment )
+echo a)